diff --git a/.github/workflows/reusable-verify-proofs.yml b/.github/workflows/reusable-verify-proofs.yml index 62eb00d..b3fc1b5 100644 --- a/.github/workflows/reusable-verify-proofs.yml +++ b/.github/workflows/reusable-verify-proofs.yml @@ -40,8 +40,7 @@ jobs: uses: actions/setup-node@v3.6.0 - name: Install node dependencies - run: | - npm install + run: npm install - name: Download artifact uses: actions/download-artifact@v3 diff --git a/.github/workflows/verify-proof.yml b/.github/workflows/verify-proof.yml new file mode 100644 index 0000000..223d6fc --- /dev/null +++ b/.github/workflows/verify-proof.yml @@ -0,0 +1,37 @@ +name: Verify Proofs from crypto3-transpiler + +on: + workflow_call: + inputs: + evm-placeholder-verification-ref: + type: string + description: "Reference to evm-placeholder-verification repository to checkout at" + +jobs: + verify-proofs: + runs-on: [self-hosted, Linux, X64, aws_autoscaling] + steps: + - name: Clean up after previous checkout + run: chmod +w -R ${GITHUB_WORKSPACE}; rm -rf ${GITHUB_WORKSPACE}/*; + - name: Checkout code + uses: actions/checkout@v4 + with: + repository: 'NilFoundation/evm-placeholder-verification' + ref: ${{ inputs.evm-placeholder-verification-ref }} + - name: Setup Node.js environment + uses: actions/setup-node@v4 + with: + node-version: 18 + - name: Install node dependencies + run: npm install + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: proofs + path: ./contracts/zkllvm + - name: Verify all proofs + run: | + ls -l -a ./contracts/zkllvm + npx hardhat deploy + npx hardhat verify-circuit-proof-all + diff --git a/contracts/zkllvm/circuit2/commitment.sol b/contracts/zkllvm/circuit2/commitment.sol deleted file mode 100644 index 84993fb..0000000 --- a/contracts/zkllvm/circuit2/commitment.sol +++ /dev/null @@ -1,470 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_commitment.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../containers/merkle_verifier.sol"; -import "../../algebra/polynomial.sol"; -import "hardhat/console.sol"; - -library modular_commitment_scheme_circuit2 { - uint256 constant modulus = 52435875175126190479447740508185965837690552500527637822603658699938581184513; - uint64 constant batches_num = 4; - uint256 constant r = 2; - uint256 constant lambda = 1; - uint256 constant D0_size = 128; - uint256 constant max_degree = 7; - uint256 constant D0_omega = 47309214877430199588914062438791732591241783999377560080318349803002842391998; - uint256 constant unique_points = 4; - uint256 constant omega = 23674694431658770659612952115660802947967373701506253797663184111817857449850; - uint256 constant _eta = 27196814957186231338315288704275743153706579586329446624112426523140186557978; - bytes constant point_ids = hex"000100010001000100010001000100010002010002010001000103000000000002000000000000"; // 1 byte -- point id - bytes constant poly_points_num = hex"0017000c00030001"; // 2 byte lengths - bytes constant poly_ids = hex"00000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058000000040008000c001000140018001c002000240028002c00200024004000300"; // 2 byte poly_id 2 byte - - struct commitment_state{ - bytes leaf_data; - uint256 roots_offset; - uint256 query_proof_offset; - uint256 initial_data_offset; - uint256 initial_proof_offset; - uint256 round_proof_offset; - uint256 round_data_offset; - uint256[r] alphas; - uint64[batches_num] batch_sizes; - uint64 poly_num; - uint256 points_num; - uint256 theta; - uint256 x_index; - uint256 x; - uint256 max_batch; - uint256 domain_size; - uint256[] final_polynomial; - uint256 leaf_length; - uint256[2][unique_points] denominators; - uint256[unique_points] U; - uint256[unique_points] unique_eval_points; - uint256[unique_points] theta_factors; - uint256[2] y; - uint256[2] Q; - uint256 j; - uint256 offset; - uint16[][unique_points] poly_inds; - } - - - function prepare_eval_points(uint256[unique_points] memory result, uint256 xi, uint256 eta) internal view { - uint256 inversed_omega = field.inverse_static(omega, modulus); - result[0] = xi; - result[1] = eta; - result[2] = mulmod(xi, omega, modulus); - result[3] = mulmod(xi, inversed_omega, modulus); - - } - - function prepare_Y(bytes calldata blob, uint256 offset, commitment_state memory state) internal pure { - unchecked{ - state.y[0] = 0; - state.y[1] = 0; - for(uint256 cur_point = unique_points; cur_point > 0; ){ - cur_point--; - for(uint256 cur_poly = state.poly_inds[cur_point].length; cur_poly > 0;){ - cur_poly--; - uint256 cur_offset = state.poly_inds[cur_point][cur_poly]; - cur_offset = state.query_proof_offset + cur_offset; - state.Q[0] = mulmod(state.Q[0], state.theta, modulus); - state.Q[1] = mulmod(state.Q[1], state.theta, modulus); - state.Q[0] = addmod(state.Q[0], basic_marshalling.get_uint256_be(blob, cur_offset), modulus); - state.Q[1] = addmod(state.Q[1], basic_marshalling.get_uint256_be(blob, cur_offset + 0x20), modulus); - } - state.Q[0] = addmod(state.Q[0], modulus - state.U[cur_point], modulus); - state.Q[1] = addmod(state.Q[1], modulus - state.U[cur_point], modulus); - state.Q[0] = mulmod(state.Q[0], state.denominators[cur_point][0], modulus); - state.Q[1] = mulmod(state.Q[1], state.denominators[cur_point][1], modulus); - state.Q[0] = mulmod(state.Q[0], state.theta_factors[cur_point], modulus); - state.Q[1] = mulmod(state.Q[1], state.theta_factors[cur_point], modulus); - state.y[0] = addmod(state.y[0], state.Q[0], modulus); - state.y[1] = addmod(state.y[1], state.Q[1], modulus); - state.Q[0] = 0; - state.Q[1] = 0; - } - } - } - - function initialize( - bytes32 tr_state_before - ) internal returns(bytes32 tr_state_after){ - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - uint256 eta = transcript.get_field_challenge(tr_state, modulus); - require(eta == _eta, "Wrong eta"); - tr_state_after = tr_state.current_challenge; - } - - function copy_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - c - ) - mstore( - add(leaf, 0x40), - d - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_reverted_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - d - ) - mstore( - add(leaf, 0x40), - c - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool b){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, offset)) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function copy_reverted_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, offset)) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function colinear_check(uint256 x, uint256[2] memory y, uint256 alpha, uint256 colinear_value) internal pure returns(bool){ - unchecked { - uint256 tmp; - tmp = addmod(y[0], y[1], modulus); - tmp = mulmod(tmp, x, modulus); - tmp = addmod( - tmp, - mulmod( - alpha, - addmod(y[0], modulus-y[1], modulus), - modulus - ), - modulus - ); - uint256 tmp1 = mulmod(colinear_value , 2, modulus); - tmp1 = mulmod(tmp1 , x, modulus); - if( tmp != tmp1 ){ - return false; - } - return true; - } - } - - function verify_eval( - bytes calldata blob, - uint256[5] memory commitments, - uint256 challenge, - bytes32 transcript_state - ) internal view returns (bool){ - -unchecked { - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - commitment_state memory state; - - { - uint256 offset; - - if (challenge!= transcript.get_field_challenge(tr_state, modulus)) { - console.log("Wrong challenge"); - return false; - } - - for(uint8 i = 0; i < batches_num;){ - transcript.update_transcript_b32(tr_state, bytes32(commitments[i])); - i++; - } - state.theta = transcript.get_field_challenge(tr_state, modulus); - - state.points_num = basic_marshalling.get_length(blob, 0x0); - offset = 0x10 + state.points_num * 0x20; - for(uint8 i = 0; i < batches_num;){ - state.batch_sizes[i] = uint64(uint8(blob[offset + 0x1])); - if( state.batch_sizes[i] > state.max_batch ) state.max_batch = state.batch_sizes[i]; - state.poly_num += state.batch_sizes[i]; - i++; offset +=2; - } - - offset += 0x8; - offset += state.poly_num; - state.roots_offset = offset + 0x8; - offset += 0x8; - - for( uint8 i = 0; i < r;){ - transcript.update_transcript_b32(tr_state, bytes32(basic_marshalling.get_uint256_be(blob, offset + 0x8))); - state.alphas[i] = transcript.get_field_challenge(tr_state, modulus); - i++; offset +=40; - } - - - - offset += 0x8 + r; - state.initial_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - - state.round_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - offset += 0x8; - - state.initial_proof_offset = offset; - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < batches_num;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != commitments[j] ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - offset += 0x8; - state.round_proof_offset = offset; - - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < r;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != basic_marshalling.get_uint256_be(blob, state.roots_offset + j * 40 + 0x8) ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - - state.final_polynomial = new uint256[](basic_marshalling.get_length(blob, offset)); - offset += 0x8; - for (uint256 i = 0; i < state.final_polynomial.length;) { - state.final_polynomial[i] = basic_marshalling.get_uint256_be(blob, offset); - i++; offset+=0x20; - } - } - if( state.final_polynomial.length > (( 1 << (field.log2(max_degree + 1) - r + 1) ) ) ){ - console.log("Wrong final poly degree"); - return false; - } - - prepare_eval_points(state.unique_eval_points, challenge, _eta); - { - uint256 sum; - - for(uint256 i = 0; i < state.unique_eval_points.length;){ - state.theta_factors[i] = field.pow_small(state.theta, sum, modulus); - sum += (uint256(uint8(poly_points_num[2*i])) << 8) + uint256(uint8(poly_points_num[2*i + 1])); - i++; - } - uint256 off = point_ids.length * 0x20 - 0x18; - for(uint256 i = 0; i < point_ids.length;){ - uint256 p = uint256(uint8(point_ids[point_ids.length - i - 1])); - state.U[p] = mulmod(state.U[p], state.theta, modulus); - state.U[p] = addmod(state.U[p], basic_marshalling.get_uint256_be(blob, off), modulus); - off -= 0x20; - i++; - } - for(uint256 i = 0; i < state.unique_eval_points.length;){ - i++; - } - } - ///* 1 - 2*permutation_size */ - ///* eta points check */ - { - uint256[12] memory points; - points[0] = basic_marshalling.get_uint256_be(blob,0x28); - points[0x1] = basic_marshalling.get_uint256_be(blob,0x68); - points[0x2] = basic_marshalling.get_uint256_be(blob,0xa8); - points[0x3] = basic_marshalling.get_uint256_be(blob,0xe8); - points[0x4] = basic_marshalling.get_uint256_be(blob,0x128); - points[0x5] = basic_marshalling.get_uint256_be(blob,0x168); - points[0x6] = basic_marshalling.get_uint256_be(blob,0x1a8); - points[0x7] = basic_marshalling.get_uint256_be(blob,0x1e8); - points[0x8] = basic_marshalling.get_uint256_be(blob,0x248); - points[0x9] = basic_marshalling.get_uint256_be(blob,0x2a8); - points[0xa] = basic_marshalling.get_uint256_be(blob,0x2e8); - points[0xb] = basic_marshalling.get_uint256_be(blob,0x328); - // Check keccak(points) - if ( bytes32(0x51988e675e0e30f2ab57136bad7c7c62f5551539866effc75463a41ece4d55c8) != keccak256(abi.encode(points))) { - return false; - } - } - - - uint64 cur = 0; - for(uint64 p = 0; p < unique_points; p++){ - state.poly_inds[p] = new uint16[]((uint16(uint8(poly_points_num[2*p])) << 8) + uint16(uint8(poly_points_num[2*p + 1]))); - for(uint64 i = 0; i < state.poly_inds[p].length; i++){ - state.poly_inds[p][i] = (uint16(uint8(poly_ids[cur])) << 8) + uint16(uint8(poly_ids[cur + 1])); - cur+=2; - } - } - - state.leaf_data = new bytes(state.max_batch * 0x40 + 0x40); - for(uint64 i = 0; i < lambda;){ - // Initial proofs - state.query_proof_offset = state.initial_data_offset; - state.x_index = uint256(transcript.get_integral_challenge_be(tr_state, 8)) % D0_size; - state.x = field.pow_small(D0_omega, state.x_index, modulus); - state.domain_size = D0_size >> 1; - for(uint64 j = 0; j < batches_num;){ - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } - state.leaf_length = state.batch_sizes[j] * 0x40; - state.initial_data_offset += state.batch_sizes[j] * 0x40; - state.initial_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.initial_proof_offset); - j++; - } - - for( uint64 p = 0; p < unique_points; p++){ - state.denominators[p][0] = addmod(state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][1] = addmod(modulus - state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][0] = field.inverse_static(state.denominators[p][0], modulus); - state.denominators[p][1] = field.inverse_static(state.denominators[p][1], modulus); - } - prepare_Y(blob, state.query_proof_offset, state); - if( state.x_index < state.domain_size ){ - if( !copy_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - }else{ - if( !copy_reverted_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - } - if( !colinear_check(state.x, state.y, state.alphas[0], basic_marshalling.get_uint256_be(blob,state.round_data_offset)) ){ - console.log("Colinear check failed"); - return false; - } - - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - for(state.j = 1; state.j < r;){ - state.x_index %= state.domain_size; - state.x = mulmod(state.x, state.x, modulus); - state.domain_size >>= 1; - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } - state.y[0] = basic_marshalling.get_uint256_be(blob, state.round_data_offset); - state.y[1] = basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20); - if( !colinear_check(state.x, state.y, state.alphas[state.j], basic_marshalling.get_uint256_be(blob,state.round_data_offset + 0x40)) ){ - console.log("Round colinear check failed"); - return false; - } - state.j++; state.round_data_offset += 0x40; - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - } - - state.x = mulmod(state.x, state.x, modulus); - if(polynomial.evaluate(state.final_polynomial, state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset)) { - console.log("Wrong final poly check"); - return false; - } - if(polynomial.evaluate(state.final_polynomial, modulus - state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20)){ - console.log("Wrong final poly check"); - return false; - } - state.round_data_offset += 0x40; - i++; - } - return true; -} - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit2/gate_argument.sol b/contracts/zkllvm/circuit2/gate_argument.sol deleted file mode 100644 index ba4ed47..0000000 --- a/contracts/zkllvm/circuit2/gate_argument.sol +++ /dev/null @@ -1,76 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_gate_argument.sol"; -import "hardhat/console.sol"; - - -contract modular_gate_argument_circuit2 is IGateArgument{ - uint256 constant modulus = 52435875175126190479447740508185965837690552500527637822603658699938581184513; - - // Append commitments - function verify( - bytes calldata blob, - uint256 theta - ) external view returns (uint256 F){ - uint256 theta_acc = 1; - uint256 eval; - uint256 x; - - uint256 prod; - uint256 sum; - uint256 gate; -// gate === 0 === - gate = 0; -// constraint 0 - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 192); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 224); - prod = mulmod(prod, 52435875175126190479447740508185965837690552500527637822603658699938581184512, modulus); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 160); - sum = addmod(sum, prod, modulus); - sum = mulmod(sum, theta_acc, modulus); - theta_acc = mulmod(theta, theta_acc, modulus); - gate = addmod(gate, sum, modulus); - gate = mulmod(gate, basic_marshalling.get_uint256_be(blob, 0), modulus); - F = addmod(F, gate, modulus); -// gate === 1 === - gate = 0; -// constraint 0 - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 128); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 224); - prod = mulmod(prod, 52435875175126190479447740508185965837690552500527637822603658699938581184512, modulus); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 160); - prod = mulmod(prod, basic_marshalling.get_uint256_be(blob, 192), modulus); - sum = addmod(sum, prod, modulus); - sum = mulmod(sum, theta_acc, modulus); - theta_acc = mulmod(theta, theta_acc, modulus); - gate = addmod(gate, sum, modulus); - gate = mulmod(gate, basic_marshalling.get_uint256_be(blob, 64), modulus); - F = addmod(F, gate, modulus); - - } -} \ No newline at end of file diff --git a/contracts/zkllvm/circuit2/lookup_argument.sol b/contracts/zkllvm/circuit2/lookup_argument.sol deleted file mode 100644 index e4233b1..0000000 --- a/contracts/zkllvm/circuit2/lookup_argument.sol +++ /dev/null @@ -1,22 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the -// License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -library modular_lookup_argument_circuit2{ -} diff --git a/contracts/zkllvm/circuit2/modular_verifier.sol b/contracts/zkllvm/circuit2/modular_verifier.sol deleted file mode 100644 index 5d7741e..0000000 --- a/contracts/zkllvm/circuit2/modular_verifier.sol +++ /dev/null @@ -1,243 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_verifier.sol"; -import "./commitment.sol"; -import "./gate_argument.sol"; -import "./lookup_argument.sol"; -import "./permutation_argument.sol"; -import "hardhat/console.sol"; -import "../../algebra/field.sol"; - -contract modular_verifier_circuit2 is IModularVerifier{ - uint256 constant modulus = 52435875175126190479447740508185965837690552500527637822603658699938581184513; - bool constant use_lookups = false; - bytes32 constant vk1 = bytes32(0x707d48912e67a59b2c4db4028104d342ea53c43ef5628377715db5038602d017); - bytes32 constant vk2 = bytes32(0x467bea5db0ea69781be8939df7bee6936d3f96b624bb189c423b6021ba43c9d6); - bytes32 transcript_state; - address _gate_argument_address; - address _permutation_argument_address; - address _lookup_argument_address; - address _commitment_contract_address; - uint64 constant sorted_columns = 0; - uint64 constant f_parts = 8; // Individually on parts - uint64 constant z_offset = 0xa1; - uint64 constant table_offset = z_offset + 0x80 * 4 + 0xc0; - uint64 constant table_end_offset = table_offset + 288; - uint64 constant quotient_offset = 352; - uint64 constant rows_amount = 8; - uint256 constant omega = 23674694431658770659612952115660802947967373701506253797663184111817857449850; - uint256 constant special_selectors_offset = z_offset + 4 * 0x80; - - function initialize( -// address permutation_argument_address, - address lookup_argument_address, - address gate_argument_address, - address commitment_contract_address - ) public{ - types.transcript_data memory tr_state; - transcript.init_transcript(tr_state, hex""); - transcript.update_transcript_b32(tr_state, vk1); - transcript.update_transcript_b32(tr_state, vk2); - -// _permutation_argument_address = permutation_argument_address; - _lookup_argument_address = lookup_argument_address; - _gate_argument_address = gate_argument_address; - _commitment_contract_address = commitment_contract_address; - -// ICommitmentScheme commitment_scheme = ICommitmentScheme(commitment_contract_address); -// tr_state.current_challenge = commitment_scheme.initialize(tr_state.current_challenge); - tr_state.current_challenge = modular_commitment_scheme_circuit2.initialize(tr_state.current_challenge); - transcript_state = tr_state.current_challenge; - } - - struct verifier_state{ - uint256 xi; - uint256 Z_at_xi; - uint256 l0; - uint256[f_parts] F; - bool b; - } - - // Public input columns - function public_input_direct(bytes calldata blob, uint256[] calldata public_input, verifier_state memory state) internal view - returns (bool check){ - check = true; - - uint256 result = 0; - uint256 Omega = 1; - - for(uint256 i = 0; i < public_input.length;){ - if( public_input[i] != 0){ - uint256 L = mulmod( - Omega, - field.inverse_static( - addmod(state.xi, modulus - Omega, modulus), - modulus - ), - modulus - ); - - result = addmod( - result, - mulmod( - public_input[i], L, modulus - ), - modulus - ); - } - Omega = mulmod(Omega, omega, modulus); - unchecked{i++;} - } - result = mulmod( - result, addmod(field.pow_small(state.xi, rows_amount, modulus), modulus - 1, modulus), modulus - ); - result = mulmod(result, field.inverse_static(rows_amount, modulus), modulus); - - // Input is proof_map.eval_proof_combined_value_offset - if( result != basic_marshalling.get_uint256_be( - blob, 256 - )) check = false; - } - - function verify( - bytes calldata blob, - uint256[] calldata public_input - ) public returns (bool result) { - verifier_state memory state; - state.b = true; - state.xi = basic_marshalling.get_uint256_be(blob, 0x79); - state.Z_at_xi = addmod(field.pow_small(state.xi, rows_amount, modulus), modulus-1, modulus); - state.l0 = mulmod( - state.Z_at_xi, - field.inverse_static(mulmod(addmod(state.xi, modulus - 1, modulus), rows_amount, modulus), modulus), - modulus - ); - - //0. Direct public input check - if(public_input.length > 0) { - if (!public_input_direct(blob[865:865+352], public_input, state)) { - emit WrongPublicInput(); - state.b = false; - } - } - - //1. Init transcript - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - - { - //2. Push variable_values commitment to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x9); - - //3. Permutation argument - uint256[3] memory permutation_argument = modular_permutation_argument_circuit2.verify( - blob[0xa1:865+352], - transcript.get_field_challenge(tr_state, modulus), - transcript.get_field_challenge(tr_state, modulus), - state.l0 - ); - state.F[0] = permutation_argument[0]; - state.F[1] = permutation_argument[1]; - state.F[2] = permutation_argument[2]; - } - - //4. Lookup library call - //No lookups - - //5. Push permutation batch to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x31); - - { - //6. Gate argument - IGateArgument modular_gate_argument = IGateArgument(_gate_argument_address); - state.F[7] = modular_gate_argument.verify(blob[table_offset:table_end_offset], transcript.get_field_challenge(tr_state, modulus)); - state.F[7] = mulmod( - state.F[7], - addmod( - 1, - modulus - addmod( - basic_marshalling.get_uint256_be(blob, special_selectors_offset), - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), - modulus - ), - modulus - ), - modulus - ); - } - - // No public input gate - - uint256 F_consolidated; - { - //7. Push quotient to transcript - for( uint8 i = 0; i < f_parts;){ - F_consolidated = addmod(F_consolidated, mulmod(state.F[i],transcript.get_field_challenge(tr_state, modulus), modulus), modulus); - unchecked{i++;} - } - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x59); - } - - //8. Commitment scheme verify_eval - { -// ICommitmentScheme commitment_scheme = ICommitmentScheme(_commitment_contract_address); - uint256[5] memory commitments; - commitments[0] = uint256(vk2); - for(uint16 i = 1; i < 4;){ - commitments[i] = basic_marshalling.get_uint256_be(blob, 0x9 + (i-1)*(0x28)); - unchecked{i++;} - } - if(!modular_commitment_scheme_circuit2.verify_eval( - blob[z_offset - 0x8:], commitments, state.xi, tr_state.current_challenge - )) { - emit WrongCommitment(); - state.b = false; - } - } - - //9. Final check - { - uint256 T_consolidated; - uint256 factor = 1; - for(uint64 i = 0; i < uint64(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf]));){ - T_consolidated = addmod( - T_consolidated, - mulmod(basic_marshalling.get_uint256_be(blob, table_offset + quotient_offset + i *0x20), factor, modulus), - modulus - ); - factor = mulmod(factor, state.Z_at_xi + 1, modulus); - unchecked{i++;} - } - if( F_consolidated != mulmod(T_consolidated, state.Z_at_xi, modulus) ) { - emit ConstraintSystemNotSatisfied(); - state.b = false; - } - } - - emit VerificationResult(state.b); - - result = state.b; - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit2/params.json b/contracts/zkllvm/circuit2/params.json deleted file mode 100644 index 8b96ca5..0000000 --- a/contracts/zkllvm/circuit2/params.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "test_name": "circuit2", - "modulus": "52435875175126190479447740508185965837690552500527637822603658699938581184513", - "rows_amount": "8", - "usable_rows_amount": "5", - "omega": "23674694431658770659612952115660802947967373701506253797663184111817857449850", - "verification_key": "707d48912e67a59b2c4db4028104d342ea53c43ef5628377715db5038602d017 467bea5db0ea69781be8939df7bee6936d3f96b624bb189c423b6021ba43c9d6", - "ar_params": [ - "3", - "1", - "0", - "3" - ], - "columns_rotations_node": [ - [ - "-1", - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0" - ] - ], - "commitment_params_node": { - "type": "LPC", - "r": "2", - "m": "2", - "lambda": "1", - "max_degree": "7", - "step_list": [ - "1", - "1" - ], - "D_omegas": [ - "47309214877430199588914062438791732591241783999377560080318349803002842391998", - "31519469946562159605140591558550197856588417350474800936898404023113662197331" - ] - } -} diff --git a/contracts/zkllvm/circuit2/permutation_argument.sol b/contracts/zkllvm/circuit2/permutation_argument.sol deleted file mode 100644 index 81afedf..0000000 --- a/contracts/zkllvm/circuit2/permutation_argument.sol +++ /dev/null @@ -1,93 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "hardhat/console.sol"; - -library modular_permutation_argument_circuit2{ - uint256 constant modulus = 52435875175126190479447740508185965837690552500527637822603658699938581184513; - uint256 constant permutation_size = 4; - uint256 constant special_selectors_offset = 4 * 0x80; - uint256 constant table_values_offset = 4 * 0x80 + 0xc0; - bytes constant zero_indices = hex"00a000c000e0010000000040"; - - function uint16_from_two_bytes(bytes1 b1, bytes1 b2) internal pure returns( uint256 result){ - unchecked{ - result = uint8(b1); - result = result << 8; - result += uint8(b2); - } - } - - // Append commitments - function verify( - bytes calldata blob, - uint256 beta, - uint256 gamma, - uint256 l0 - ) internal view returns (uint256[3] memory F){ - uint256 V_P_value = basic_marshalling.get_uint256_be(blob, table_values_offset + 288); - uint256 h = 1; - uint256 g = 1; - - for(uint256 i = 0; i < permutation_size;){ - uint256 tmp = addmod( - gamma, - basic_marshalling.get_uint256_be( - blob, table_values_offset + uint16_from_two_bytes(zero_indices[i<<1], zero_indices[(i<<1)+1]) - ), - modulus - ); - - g = mulmod(g, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, (i *0x40 )), modulus), - tmp, - modulus - ), modulus); - h = mulmod(h, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, permutation_size * 0x40 + (i *0x40 )), modulus), - tmp, - modulus - ), - modulus - ); - unchecked{i++;} - } - - F[0] = mulmod(l0, addmod(1, modulus - V_P_value, modulus), modulus); - F[1] = mulmod( - addmod(addmod(1, modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset), modulus), modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), modulus), - addmod( - mulmod(basic_marshalling.get_uint256_be(blob, table_values_offset + 288 + 0x20), h, modulus), - modulus - mulmod(V_P_value, g, modulus), - modulus - ), - modulus - ); - F[2] = mulmod( - mulmod(basic_marshalling.get_uint256_be(blob, permutation_size * 0x80), V_P_value, modulus), - addmod(V_P_value, modulus-1, modulus), - modulus - ); - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit2/proof.bin b/contracts/zkllvm/circuit2/proof.bin deleted file mode 100644 index 4c6cd30..0000000 --- a/contracts/zkllvm/circuit2/proof.bin +++ /dev/null @@ -1 +0,0 @@ -0x030000000000000020e0398220941dc0d2087e93d3b3534254d6e49f94aa2df5843d44f77cdc088af50000000000000020922606c4746f3b7e99df870e7cc5d5f130d95f63f1093c793a97b51a672601a700000000000000200171a70b4794e55d2c5a6e11cc35816ffb8e3c496a6ad41c88ed2b565be51cde0433a0d62b86defd7d7999ceeca393902ccdc49fd0b615138b3df56ba82aa49a00000000000000270433a0d62b86defd7d7999ceeca393902ccdc49fd0b615138b3df56ba82aa49a3c20da0d2edaf10577398dbc11cfdc33376134758b58c49e5c3e202a4b0dce1a1d6965db30b018ee6e5334a8787908f139a0605eb4fa9388ceb1b5f1992a8036491d0062cb241f4da8e5580c5fc97d56886f832dcf724c5785b2e12b0d60a2b359f421ab2b33313cd10c989341ad66933fa4fe93f2dbacbea6dbf99c3029817930146566e786e5fed15e083677fb0d486c160634ac26a668a7e428315da472e13208a70e5e52e640b736f3de9b9495ec1acec1fca409ed3b9003d34a51228a4a68b3772a01754f67531e896d3499acf04d1ee36ab511d4de973d195b8f7f24250433a0d62b86defd7d7999ceeca393902ccdc49fd0b615138b3df56ba82aa49a3c20da0d2edaf10577398dbc11cfdc33376134758b58c49e5c3e202a4b0dce1a134a70cf5d2b1914299be8ed750b0fa02ee73f16834ea0616f23f6923e66d6321c53a2781c251db39abfeb9f4d2919a248603ebd1663cccda37d29ba8eabbc754fcb8d86dfbcdb7ed85541aacebd3018b434fa9c329ac46e95c649d2fdfeb5641b5557521559d0d607f2a7925c4d2b6c004559efcb66fe61f5cdaef5a6ec76ec4c9ae3d0767ba677357b353b0de4022e458eff26564b1758e7b98fde21a3e93f399f74d5bcb1da1c203e9e8b68074ce4e1fbdd6ae14b87b786933ad716a14c8a60c425cbef2706fa46758f017ddce0617e1a57930b4ce3c4651f3aae2931f5d718232c729529ff54551417faac55cc2b949b22aeee531d56614a2133beb9dd195b9f2be01db2409840843ebb28bb42a85ba4bf363a86bb83cbfd16fec70c3bd32a0823240bd0a9e80bc0cd1a609d39d18e16bd3d0660e6bd057ce67c9dbcac8647c3b8475f7d17e744cdf9b85982c72b5b27e73c4fe1d0d112234c1d2c80fff6058343cfa28e06f125597fa64ff4cc0b88358ed98a1eacb40a399374b3c70c831e5f268099767e9de9b55788d15e683837f16b98498d301a9ce74a6648a2ba0c2c19612fbf07473bec9114e47beb80fb2be5bbf87e800a81d02d5e51a013413831c089dcebbd190ef8ab91c352d30668f4c58759519d8b943e2dac4ca679edf410ccc18f6207a146159690f195894f9d23db10cf22bfe41b4e82a9227d399872709b4437a5ce598c8311e2bd7d294a6b97809fd2da62fdcd90e2243c570dcb48183f6cde171a7b5974d5ee8702171f136466d0c1115d729f64fffda58c9aa5046e3c0e26e63abebbe7e91bb77000f4a3fd4c50fac52ef34b792202dfe086a4744b41a3b1e332d17cf946db641dc2a5d79aa4540c3c0016d1f64320eec98286685379f72487791a74d5a9162c9f15861a69a45cc86ad4ebc2975c28a4e7ac72b23904e22a998cee3a795bb75b2f1c88ec95973475f7c607a8e0465fe12793db3030c3d72e5c98fd156518b558b9a77647a2b15e04eb90eb98d1b3e6203b1be08e5929f9ddbbb2059f84d3cb9d428ffc91da892eed70937f4281e150218964147e1a760b0a1e5c321cf75103e4bf54f710585ead3705f6e3dee14b995caec46ed810a1a1ac2caac1412d05266e852dbd90d3a5e2522b70f2fbbbfadce19871bcdf12f64a2f53331674c5af7339cdb42c2dc6e5e124945388a9f03d136fcd930d463058dcf0cb95ded730718faf38ad7a5275081e0d5b2489e77de5b42e71dbaaeb00000000000000000000000000000000000000000000000000000000000000000000000000000008000c01040201030600000000000000170202020202020202030302020201010102010101010101000000000000000200000000000000206711d515dbb20fb1dde5aa5c71986ff8c0130a1a18689e846c12157bb8924c960000000000000020efc0247912db2b4d7a8950b0fe6d5f95c5f7d2f008a98b00ebb0777072615bdb00000000000000020101000000000000002e18780c47d9f8e63309b97ddd04dcc90920b2b183f7ec0b194222925245f4e2fb5b759b0b4fa4971529805a2b04c50efc330af27f081250e5bddd6dacba0b1d06375aaea3cc30ce1d10d899031867a73a91253698c775f1b1cef20040e9b234dc3c92f8af5d6caf2b22613f04f13a30cac2986d6a38886a4d310dffbe164dcb2527b1d081187d2af2dc3ea6fd8df00a89fccb9224743e87dfa89e01c963df72014c3bd6d21120525556fb310a7bb1cd7b56f211de8bbfd41f5761fe359c208e002e0164e1583132139f42e0dece4c99bb4215b6f92db8ff1f9c520c83bb1c1e0545ec4271d16c4b3493f6f7293b553e4a11a7ed09d2455cdf63adf37b44e3e1fc18780c47d9f8e63309b97ddd04dcc90920b2b183f7ec0b194222925245f4e2fb5b759b0b4fa4971529805a2b04c50efc330af27f081250e5bddd6dacba0b1d06317e20c044d61a06c7192a6ba1c39efba4f6e27c1f03b4f7d821beeb00bfc8f04b0da7207ddcbd53800cd608390bcfd21a5d2e7b497998a7fc8f6d990aeb1af858e002315a2637d23d5f9cd46feeb567ad2149fc041a874c007536731adcab821ce79d228496c89444b907ce1078a71fde74976afb733c29216689cbe1d142e33b5b881ba1ed155761a0a298c9c613541400053f3ce2de906df1898968a1e2c4645bd615fb450148693fe2b3e149d59b218a3d877250dfd0c07d02a582073c7b649ec74e7c6c8c666f0bb2f8bd192d1c3a51489aac85abaa90fe070b66651c4151f04fdad99c3bce49b617147d7e54af710cd936f999f9b3d3a978a3bacdc8c74efec703794cf955d88ebf7029376344adc19a4228bb287ec35ed8a7be13732360f481960390cde670391163557e404e51e59ff48ffaf93d4a35f2a7a2dbc8da7301b9cc3fa20e7638a0659c42afb67a5a4f2b1a37f1af2767c094f9ca7e565914a12c6ad52dbe3c3f42558bf9a51a3c7df79ed3d4b03ca8dae8033bb5822f9e3372741f72f3280a76d275c0cc05101e914ca8c1f3bb6aea28fd8cf365b2da3b5249b0ca0d823e4b97b67c70c7e3957d33dc1be35014ffe5bed19d0a93ef4ce53f770bd15bdf0c0ca0d500ac537d001b69d3f316c7cb5f9839a6ecc23db39da1443996745a5c8decd9bd069c12914a6cf62da2280314787d9bf486de04d386e3567ddcab90b86a9866364e45aa257cddaab5e70accf752166613e390892eb901495322eb9d7c56c6cd9dd9483305efbeaf5001ae3ec85e6a797395c7aa8e092108d14cee1dcc3ae9ab17e127efddb80f77ab31d81ee3760b7f27491890fc7a6c0ceefa2bc70df66310d2044a0a26b18c5893223a68bf0b0aa6422763c516e5340ef418c4dc92535b91c5221e17f6fefdafe08bc5cea0b3c3cf10f10462ffddfc64d058e76d2f22690741a4d6039fcf132363cc08821d26a171997441b37eea066bbe0e1df83579412d117cc5dff6431d9e13d315013757ee0b6061bc000f348c1ac690d7184c9926e20657577ac9cb1f2967a1d57e269839bb5b80e1561393ab475e9d3442da1e4254e1d61a938ee732d136a8cfe7558c0d8ecf9f1ae208ed4129b5c22c26f48da6622d1dd74e34e984f1bfed5741c8290439e8b134ebe8d7d80c30a82cf70cd339bac6a843569d280f31c8278c74b8a227b48f27995dbe07bf53790dc2948c519597e50e67c5d00f0c49703e1eb95f667a6484bd6694c0875221c0262760b0d4f4e26ce2ab58f051d9b998f0257b969d938f4d131b45a2ebb45b19c9528f6aad2c1d0aa83a55981ffe46f463f432778082081f786ae794f65356bf04cc6a7c10a603dc6d4a23bed923272b93f41b46a7d1d038549019adbce64ccf76ded575f20c5b813fce89d61607488fc730f5ec7520bf9b6762ff2acd1e3cc0fcf9bd24791d4b57d2b9e50109cae72188412e8ea1ee3a9a635fa689a29f2f54690355d31163f84c7c1c2f0a8659c655558c7912ff7fde3cb89d314fddce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004639188162a872ded75da5c0349e51f31cd115c7aaecfbb757314946ecf09cfe72cd781f77a0e6dbc3d8800f3b20b46f9baf62884b5bf14dc4b155e59f2770934622c10b6599beb603ba2a95c57a9f6060739b4a63fc0e560a92d4fb97e9f2efb59439c9f3855ccb797d6b02cf2ac8a532c64b4fc36c5897d879de6665e4146be000000000000000400000000000000350000000000000020467bea5db0ea69781be8939df7bee6936d3f96b624bb189c423b6021ba43c9d60000000000000006000000000000000100000000000000000000000000000020f38158a4bfca19d760d9396cd699713b7ce912ca97979caa856da880bf88b5c3000000000000000100000000000000010000000000000020df2057bc1e1d0dd3607173396132b593697c20e1841808dc2ddcef18471f64b600000000000000010000000000000000000000000000002075c6175cee3a910a9c5f5506091bce866583a0b9ac8024f965310b06e97ef03c0000000000000001000000000000000100000000000000202690fa090dfdb9804c5397c777bd75fd25d04e38b7238fd070631915d3996f4c0000000000000001000000000000000000000000000000203732d3a952ed7f465d959d6881f152a5edfbe3f98b21cfe621a155b5f850764700000000000000010000000000000000000000000000002034188ac97e8d6c59d1c3d0eac4ab25074fc3495bd2fa918a94da2ba16f3765fe00000000000000350000000000000020e0398220941dc0d2087e93d3b3534254d6e49f94aa2df5843d44f77cdc088af50000000000000006000000000000000100000000000000000000000000000020b8dee30901e9be5b7def8a0b0af384fa02a2f2f7acf692920882e15a6997dda6000000000000000100000000000000010000000000000020d5a17be6d4c35cf7ad710fef731883a4344cdf1341ce1b7c0cae8d8e728be40000000000000000010000000000000000000000000000002045c23f2cce29e5e493c759e733c13c93c60fc3fac9359722d5d7d84e50185a22000000000000000100000000000000010000000000000020b0198837ce87ee415d4adb79ac7ee313fb2cecb959283c90ab6373fc413ad1a3000000000000000100000000000000000000000000000020562c93c61717f43333e6a4587b138051b49f19d296005a760bd092a6691b288d0000000000000001000000000000000000000000000000200176a8ae91c0d6fb1b7c8a19e7ef176ca47f9920ce1c0790874a2327d6566b3100000000000000350000000000000020922606c4746f3b7e99df870e7cc5d5f130d95f63f1093c793a97b51a672601a70000000000000006000000000000000100000000000000000000000000000020b270a54c485cf53cfc9e4c08bb40e6c906f1d7c2d62b3cc3978c3721aa8306d800000000000000010000000000000001000000000000002079a9dedb0327b093b225f08fa58586cd2a416c20a4e9efbf94a44750438c3ebd000000000000000100000000000000000000000000000020c4c84d24d0a0548723a92ec1991525815f1616a00e32e847e9ab899401eaa6d9000000000000000100000000000000010000000000000020dd68481475711b2d1d552a425a3558519776399a6905799f84bc8057bd0cf8670000000000000001000000000000000000000000000000206a777106a9845b87c9d572264585c39b5c7e963594192e991da6df8d47589ef90000000000000001000000000000000000000000000000205f6d2056b39072a7fb80d1f7ea2ff11e07bb6de60d806948e4af24344eb7f6d8000000000000003500000000000000200171a70b4794e55d2c5a6e11cc35816ffb8e3c496a6ad41c88ed2b565be51cde0000000000000006000000000000000100000000000000000000000000000020e506994a75587239aab20fd3eb4812ac84328fc26b0f36bd15b4f93e5b7843db00000000000000010000000000000001000000000000002017ad36b7e09b785d9e5642a6b1764af2fa9e6c0bddabf63f3578ca1e8d89d306000000000000000100000000000000000000000000000020a1ebb457eba203a250282284680bd21ed6b219edc72f2cda9918d63f9539cc6100000000000000010000000000000001000000000000002031bf75e4cea1b2bfc7614607a5b1bb85dced49db4b1d75b06e27f7e718706150000000000000000100000000000000000000000000000020d17dada76cc0cf09c879f624fb9d41893113072ef95e9c22b2fb68f7e92540df00000000000000010000000000000000000000000000002070fc2a8d3eb90a38560adf563d30cb4173179dd3a85aab969b6106afc5163d660000000000000002000000000000003500000000000000206711d515dbb20fb1dde5aa5c71986ff8c0130a1a18689e846c12157bb8924c960000000000000006000000000000000100000000000000000000000000000020bf45e5191d86b7350e1163703ad66b15c5504bc5aaa965db89b8e1c6730a777300000000000000010000000000000001000000000000002055e2606a92bd20c4f6cf8b5860586c55caffdffbdbd163e1ef83e18e04f71039000000000000000100000000000000000000000000000020432ec385572777b617d27e6e93b94c546f9495d5b299661ef11d62b5cdb95b980000000000000001000000000000000100000000000000200de8d18d31ed21801a5c213180a1e9cf60b21851c31b6ab08ca33d5c4a898e82000000000000000100000000000000000000000000000020fa7dbf53f41cc71339a6721c6dddf1bdf6ff8c9df31f11bf22bb31ccdb5e8038000000000000000100000000000000000000000000000020ea52c5a14574fce42812d3df7cd980b79b5e472a8d067e3e034776f6b86dc1be00000000000000150000000000000020efc0247912db2b4d7a8950b0fe6d5f95c5f7d2f008a98b00ebb0777072615bdb00000000000000050000000000000001000000000000000000000000000000204ac0d3b8926a14c46291ccd2e3c9a78add5fc17c4a099057ed08cde470f195df000000000000000100000000000000010000000000000020ce2f32392270cdb6e5bc4e85f5d33e1b29f35c9281700d409c95bd423ea78d39000000000000000100000000000000000000000000000020fd9c7bdb5151cc01c36ba47f9182485fc80ec69227494000542840fd7b00457a000000000000000100000000000000010000000000000020eb35ddca38467a51ea825dee9fd478859493f49261e42beadeb168c34711b4db000000000000000100000000000000000000000000000020a4895dd08a46a88a5c7e3413a160ef88f56445cb0c6c832c69ba855e69f194f9000000000000000223c10301342a1d67d01fc0c0a05a5429eff062cfbb44096f98659b106e703adc42b0c78439de3529362b5f8465a1abaf18de138b27a5369b3e45fe68bb6477ed \ No newline at end of file diff --git a/contracts/zkllvm/circuit2/public_input.inp b/contracts/zkllvm/circuit2/public_input.inp deleted file mode 100644 index c892eee..0000000 --- a/contracts/zkllvm/circuit2/public_input.inp +++ /dev/null @@ -1,3 +0,0 @@ -49052524384703870792430850605823211740010368752655030397570455698676404652716 -0 -1 diff --git a/contracts/zkllvm/circuit3/commitment.sol b/contracts/zkllvm/circuit3/commitment.sol deleted file mode 100644 index c672a7d..0000000 --- a/contracts/zkllvm/circuit3/commitment.sol +++ /dev/null @@ -1,478 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_commitment.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../containers/merkle_verifier.sol"; -import "../../algebra/polynomial.sol"; -import "hardhat/console.sol"; - -library modular_commitment_scheme_circuit3 { - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint64 constant batches_num = 5; - uint256 constant r = 2; - uint256 constant lambda = 40; - uint256 constant D0_size = 128; - uint256 constant max_degree = 7; - uint256 constant D0_omega = 7356716530956153652314774863381845254278968224778478050456563329565810467774; - uint256 constant unique_points = 4; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant _eta = 8972772771817886002685251418091638955194508121967960232665254454580893723987; - bytes constant point_ids = hex"00010001000100010001000100010001000201000201000201000201000201000100020100000000020002000000000000000203000203"; // 1 byte -- point id - bytes constant poly_points_num = hex"001c000f000a0002"; // 2 byte lengths - bytes constant poly_ids = hex"00000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058005c006000640068006c000000040008000c001000140018001c002000240028002c003000340038002000240028002c003000380048004c0068006c0068006c0"; // 2 byte poly_id 2 byte - - struct commitment_state{ - bytes leaf_data; - uint256 roots_offset; - uint256 query_proof_offset; - uint256 initial_data_offset; - uint256 initial_proof_offset; - uint256 round_proof_offset; - uint256 round_data_offset; - uint256[r] alphas; - uint64[batches_num] batch_sizes; - uint64 poly_num; - uint256 points_num; - uint256 theta; - uint256 x_index; - uint256 x; - uint256 max_batch; - uint256 domain_size; - uint256[] final_polynomial; - uint256 leaf_length; - uint256[2][unique_points] denominators; - uint256[unique_points] U; - uint256[unique_points] unique_eval_points; - uint256[unique_points] theta_factors; - uint256[2] y; - uint256[2] Q; - uint256 j; - uint256 offset; - uint16[][unique_points] poly_inds; - } - - - function prepare_eval_points(uint256[unique_points] memory result, uint256 xi, uint256 eta) internal view { - uint256 inversed_omega = field.inverse_static(omega, modulus); - result[0] = xi; - result[1] = eta; - result[2] = mulmod(xi, omega, modulus); - result[3] = mulmod(xi, field.pow_small(omega, 4, modulus), modulus); - - } - - function prepare_Y(bytes calldata blob, uint256 offset, commitment_state memory state) internal pure { - unchecked{ - state.y[0] = 0; - state.y[1] = 0; - for(uint256 cur_point = unique_points; cur_point > 0; ){ - cur_point--; - for(uint256 cur_poly = state.poly_inds[cur_point].length; cur_poly > 0;){ - cur_poly--; - uint256 cur_offset = state.poly_inds[cur_point][cur_poly]; - cur_offset = state.query_proof_offset + cur_offset; - state.Q[0] = mulmod(state.Q[0], state.theta, modulus); - state.Q[1] = mulmod(state.Q[1], state.theta, modulus); - state.Q[0] = addmod(state.Q[0], basic_marshalling.get_uint256_be(blob, cur_offset), modulus); - state.Q[1] = addmod(state.Q[1], basic_marshalling.get_uint256_be(blob, cur_offset + 0x20), modulus); - } - state.Q[0] = addmod(state.Q[0], modulus - state.U[cur_point], modulus); - state.Q[1] = addmod(state.Q[1], modulus - state.U[cur_point], modulus); - state.Q[0] = mulmod(state.Q[0], state.denominators[cur_point][0], modulus); - state.Q[1] = mulmod(state.Q[1], state.denominators[cur_point][1], modulus); - state.Q[0] = mulmod(state.Q[0], state.theta_factors[cur_point], modulus); - state.Q[1] = mulmod(state.Q[1], state.theta_factors[cur_point], modulus); - state.y[0] = addmod(state.y[0], state.Q[0], modulus); - state.y[1] = addmod(state.y[1], state.Q[1], modulus); - state.Q[0] = 0; - state.Q[1] = 0; - } - } - } - - function initialize( - bytes32 tr_state_before - ) internal returns(bytes32 tr_state_after){ - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - uint256 eta = transcript.get_field_challenge(tr_state, modulus); - require(eta == _eta, "Wrong eta"); - tr_state_after = tr_state.current_challenge; - } - - function copy_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - c - ) - mstore( - add(leaf, 0x40), - d - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_reverted_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - d - ) - mstore( - add(leaf, 0x40), - c - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool b){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, offset)) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function copy_reverted_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, offset)) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function colinear_check(uint256 x, uint256[2] memory y, uint256 alpha, uint256 colinear_value) internal pure returns(bool){ - unchecked { - uint256 tmp; - tmp = addmod(y[0], y[1], modulus); - tmp = mulmod(tmp, x, modulus); - tmp = addmod( - tmp, - mulmod( - alpha, - addmod(y[0], modulus-y[1], modulus), - modulus - ), - modulus - ); - uint256 tmp1 = mulmod(colinear_value , 2, modulus); - tmp1 = mulmod(tmp1 , x, modulus); - if( tmp != tmp1 ){ - return false; - } - return true; - } - } - - function verify_eval( - bytes calldata blob, - uint256[5] memory commitments, - uint256 challenge, - bytes32 transcript_state - ) internal view returns (bool){ - -unchecked { - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - commitment_state memory state; - - { - uint256 offset; - - if (challenge!= transcript.get_field_challenge(tr_state, modulus)) { - console.log("Wrong challenge"); - return false; - } - - for(uint8 i = 0; i < batches_num;){ - transcript.update_transcript_b32(tr_state, bytes32(commitments[i])); - i++; - } - state.theta = transcript.get_field_challenge(tr_state, modulus); - - state.points_num = basic_marshalling.get_length(blob, 0x0); - offset = 0x10 + state.points_num * 0x20; - for(uint8 i = 0; i < batches_num;){ - state.batch_sizes[i] = uint64(uint8(blob[offset + 0x1])); - if( state.batch_sizes[i] > state.max_batch ) state.max_batch = state.batch_sizes[i]; - state.poly_num += state.batch_sizes[i]; - i++; offset +=2; - } - - offset += 0x8; - offset += state.poly_num; - state.roots_offset = offset + 0x8; - offset += 0x8; - - for( uint8 i = 0; i < r;){ - transcript.update_transcript_b32(tr_state, bytes32(basic_marshalling.get_uint256_be(blob, offset + 0x8))); - state.alphas[i] = transcript.get_field_challenge(tr_state, modulus); - i++; offset +=40; - } - - - bytes calldata proof_of_work = blob[blob.length - 4:]; - transcript.update_transcript(tr_state, proof_of_work); - uint256 p_o_w = transcript.get_integral_challenge_be(tr_state, 4); - if (p_o_w & 0xffff0000 != 0) return false; - - - offset += 0x8 + r; - state.initial_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - - state.round_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - offset += 0x8; - - state.initial_proof_offset = offset; - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < batches_num;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != commitments[j] ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - offset += 0x8; - state.round_proof_offset = offset; - - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < r;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != basic_marshalling.get_uint256_be(blob, state.roots_offset + j * 40 + 0x8) ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - - state.final_polynomial = new uint256[](basic_marshalling.get_length(blob, offset)); - offset += 0x8; - for (uint256 i = 0; i < state.final_polynomial.length;) { - state.final_polynomial[i] = basic_marshalling.get_uint256_be(blob, offset); - i++; offset+=0x20; - } - } - if( state.final_polynomial.length > (( 1 << (field.log2(max_degree + 1) - r + 1) ) ) ){ - console.log("Wrong final poly degree"); - return false; - } - - prepare_eval_points(state.unique_eval_points, challenge, _eta); - { - uint256 sum; - - for(uint256 i = 0; i < state.unique_eval_points.length;){ - state.theta_factors[i] = field.pow_small(state.theta, sum, modulus); - sum += (uint256(uint8(poly_points_num[2*i])) << 8) + uint256(uint8(poly_points_num[2*i + 1])); - i++; - } - uint256 off = point_ids.length * 0x20 - 0x18; - for(uint256 i = 0; i < point_ids.length;){ - uint256 p = uint256(uint8(point_ids[point_ids.length - i - 1])); - state.U[p] = mulmod(state.U[p], state.theta, modulus); - state.U[p] = addmod(state.U[p], basic_marshalling.get_uint256_be(blob, off), modulus); - off -= 0x20; - i++; - } - for(uint256 i = 0; i < state.unique_eval_points.length;){ - i++; - } - } - ///* 1 - 2*permutation_size */ - ///* eta points check */ - { - uint256[15] memory points; - points[0] = basic_marshalling.get_uint256_be(blob,0x28); - points[0x1] = basic_marshalling.get_uint256_be(blob,0x68); - points[0x2] = basic_marshalling.get_uint256_be(blob,0xa8); - points[0x3] = basic_marshalling.get_uint256_be(blob,0xe8); - points[0x4] = basic_marshalling.get_uint256_be(blob,0x128); - points[0x5] = basic_marshalling.get_uint256_be(blob,0x168); - points[0x6] = basic_marshalling.get_uint256_be(blob,0x1a8); - points[0x7] = basic_marshalling.get_uint256_be(blob,0x1e8); - points[0x8] = basic_marshalling.get_uint256_be(blob,0x248); - points[0x9] = basic_marshalling.get_uint256_be(blob,0x2a8); - points[0xa] = basic_marshalling.get_uint256_be(blob,0x308); - points[0xb] = basic_marshalling.get_uint256_be(blob,0x368); - points[0xc] = basic_marshalling.get_uint256_be(blob,0x3c8); - points[0xd] = basic_marshalling.get_uint256_be(blob,0x408); - points[0xe] = basic_marshalling.get_uint256_be(blob,0x468); - // Check keccak(points) - if ( bytes32(0xa196983aeec08493366b2aa77c3305497c25fecdf78f886b7577b5f782bbc5e0) != keccak256(abi.encode(points))) { - return false; - } - } - - - uint64 cur = 0; - for(uint64 p = 0; p < unique_points; p++){ - state.poly_inds[p] = new uint16[]((uint16(uint8(poly_points_num[2*p])) << 8) + uint16(uint8(poly_points_num[2*p + 1]))); - for(uint64 i = 0; i < state.poly_inds[p].length; i++){ - state.poly_inds[p][i] = (uint16(uint8(poly_ids[cur])) << 8) + uint16(uint8(poly_ids[cur + 1])); - cur+=2; - } - } - - state.leaf_data = new bytes(state.max_batch * 0x40 + 0x40); - for(uint64 i = 0; i < lambda;){ - // Initial proofs - state.query_proof_offset = state.initial_data_offset; - state.x_index = uint256(transcript.get_integral_challenge_be(tr_state, 8)) % D0_size; - state.x = field.pow_small(D0_omega, state.x_index, modulus); - state.domain_size = D0_size >> 1; - for(uint64 j = 0; j < batches_num;){ - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } - state.leaf_length = state.batch_sizes[j] * 0x40; - state.initial_data_offset += state.batch_sizes[j] * 0x40; - state.initial_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.initial_proof_offset); - j++; - } - - for( uint64 p = 0; p < unique_points; p++){ - state.denominators[p][0] = addmod(state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][1] = addmod(modulus - state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][0] = field.inverse_static(state.denominators[p][0], modulus); - state.denominators[p][1] = field.inverse_static(state.denominators[p][1], modulus); - } - prepare_Y(blob, state.query_proof_offset, state); - if( state.x_index < state.domain_size ){ - if( !copy_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - }else{ - if( !copy_reverted_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - } - if( !colinear_check(state.x, state.y, state.alphas[0], basic_marshalling.get_uint256_be(blob,state.round_data_offset)) ){ - console.log("Colinear check failed"); - return false; - } - - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - for(state.j = 1; state.j < r;){ - state.x_index %= state.domain_size; - state.x = mulmod(state.x, state.x, modulus); - state.domain_size >>= 1; - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } - state.y[0] = basic_marshalling.get_uint256_be(blob, state.round_data_offset); - state.y[1] = basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20); - if( !colinear_check(state.x, state.y, state.alphas[state.j], basic_marshalling.get_uint256_be(blob,state.round_data_offset + 0x40)) ){ - console.log("Round colinear check failed"); - return false; - } - state.j++; state.round_data_offset += 0x40; - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - } - - state.x = mulmod(state.x, state.x, modulus); - if(polynomial.evaluate(state.final_polynomial, state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset)) { - console.log("Wrong final poly check"); - return false; - } - if(polynomial.evaluate(state.final_polynomial, modulus - state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20)){ - console.log("Wrong final poly check"); - return false; - } - state.round_data_offset += 0x40; - i++; - } - return true; -} - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/gate_argument.sol b/contracts/zkllvm/circuit3/gate_argument.sol deleted file mode 100644 index 25e357d..0000000 --- a/contracts/zkllvm/circuit3/gate_argument.sol +++ /dev/null @@ -1,40 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_gate_argument.sol"; -import "hardhat/console.sol"; - - -contract modular_gate_argument_circuit3 is IGateArgument{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - // Append commitments - function verify( - bytes calldata blob, - uint256 theta - ) external view returns (uint256 F){ - uint256 theta_acc = 1; - uint256 eval; - uint256 x; - - - } -} \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/lookup_0.sol b/contracts/zkllvm/circuit3/lookup_0.sol deleted file mode 100644 index 7abb16b..0000000 --- a/contracts/zkllvm/circuit3/lookup_0.sol +++ /dev/null @@ -1,72 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 -- Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../../contracts/basic_marshalling.sol"; - -library lookup_circuit3_0{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - - function evaluate_lookup_0_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 288); - l = mulmod( 1,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 448); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 480); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 512); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/lookup_argument.sol b/contracts/zkllvm/circuit3/lookup_argument.sol deleted file mode 100644 index ae1ae4e..0000000 --- a/contracts/zkllvm/circuit3/lookup_argument.sol +++ /dev/null @@ -1,182 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_lookup_argument.sol"; -import "./lookup_0.sol"; - -import "hardhat/console.sol"; - -contract modular_lookup_argument_circuit3 is ILookupArgument{ -//library modular_lookup_argument_circuit3{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint8 constant tables = 1; - uint8 constant sorted_columns = 2; - uint8 constant lookup_options_num = 1; - uint8 constant lookup_constraints_num = 1; - - - struct lookup_state{ - uint256 theta; - uint256 beta; - uint256 gamma; - uint256 factor; - uint256 V_L_value; - uint256 V_L_shifted_value; - uint256 q_last; - uint256 q_blind; - uint256 mask; - uint256 shifted_mask; - uint256 selector_value; - uint256 shifted_selector_value; - uint256 theta_acc; - uint256 g; - uint256 h; - uint256 l_shifted; - } - - function verify( - bytes calldata zvalues, // Table values and permutations' values - bytes calldata sorted, // Sorted batch values - uint256 lookup_commitment, - uint256 l0, - bytes32 tr_state_before // It's better than transfer all random values - ) external view returns (uint256[4] memory F, bytes32 tr_state_after){ - bytes calldata blob = zvalues[0xc0:]; - lookup_state memory state; - state.V_L_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 544 + 0x40); - state.V_L_shifted_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 544 + 0x60); - state.q_last = basic_marshalling.get_uint256_be(zvalues, 0x0); - state.q_blind = basic_marshalling.get_uint256_be(zvalues, 0x60); - state.mask = addmod(1, modulus - addmod(state.q_last , state.q_blind, modulus), modulus); - F[2] = state.mask; - - state.shifted_mask = addmod( - 1, - modulus - addmod(basic_marshalling.get_uint256_be(zvalues, 0x20) , basic_marshalling.get_uint256_be(zvalues, 0x80), modulus), - modulus - ); - - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - { - state.theta = transcript.get_field_challenge(tr_state, modulus); //theta - uint256 l; - state.g = 1; - state.h = 1; - - transcript.update_transcript_b32(tr_state, bytes32(lookup_commitment)); - state.beta = transcript.get_field_challenge(tr_state, modulus); //beta - state.gamma = transcript.get_field_challenge(tr_state, modulus); //gamma - state.factor = mulmod(addmod(1, state.beta, modulus), state.gamma, modulus); - (l, state.theta_acc) = lookup_circuit3_0.evaluate_lookup_0_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 352); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 384); - l = mulmod( 1, state.selector_value, modulus); - state.l_shifted = mulmod( 1, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 96), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 128), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 192), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 224), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - - - } - { - for(uint64 k = 0; k < 2;){ - state.mask = basic_marshalling.get_uint256_be(sorted, k*0x60); - state.shifted_mask = basic_marshalling.get_uint256_be(sorted, k*0x60 + 0x20); - state.h = mulmod( - state.h, - addmod( - addmod( - state.factor, - state.mask, - modulus - ), - mulmod(state.beta, state.shifted_mask , modulus), - modulus - ), - modulus - ); - unchecked{k++;} - } - } - - F[0] = mulmod( - l0, - addmod(1, modulus - state.V_L_value, modulus), - modulus - ); - F[1] = mulmod( - mulmod(state.q_last, state.V_L_value, modulus), - addmod(state.V_L_value, modulus-1, modulus), - modulus - ); - { - F[2] = mulmod( - F[2], - addmod( - mulmod(state.h, state.V_L_shifted_value, modulus), - modulus - mulmod(state.V_L_value, state.g, modulus), - modulus - ), - modulus - ); - } - { - for(uint64 i = 0; i < sorted_columns - 1;){ - state.beta = basic_marshalling.get_uint256_be(sorted, (i+1)*0x60); - state.gamma = modulus - basic_marshalling.get_uint256_be(sorted, (i)*0x60 + 0x40); - F[3] = addmod( - F[3], - mulmod( - mulmod( - transcript.get_field_challenge(tr_state, modulus), //alpha - l0, - modulus - ), - addmod( - state.beta, - state.gamma, - modulus - ), - modulus - ), - modulus - ); - unchecked{i++;} - } - } - tr_state_after = tr_state.current_challenge; - } -} diff --git a/contracts/zkllvm/circuit3/lookup_libs_list.json b/contracts/zkllvm/circuit3/lookup_libs_list.json deleted file mode 100644 index f09760f..0000000 --- a/contracts/zkllvm/circuit3/lookup_libs_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ -"lookup_circuit3_0" -] diff --git a/contracts/zkllvm/circuit3/modular_verifier.sol b/contracts/zkllvm/circuit3/modular_verifier.sol deleted file mode 100644 index 63de447..0000000 --- a/contracts/zkllvm/circuit3/modular_verifier.sol +++ /dev/null @@ -1,261 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_verifier.sol"; -import "./commitment.sol"; -import "./gate_argument.sol"; -import "./lookup_argument.sol"; -import "./permutation_argument.sol"; -import "hardhat/console.sol"; -import "../../algebra/field.sol"; - -contract modular_verifier_circuit3 is IModularVerifier{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - bool constant use_lookups = false; - bytes32 constant vk1 = bytes32(0xba4a3b56642f16371094729538068721e2b042c7fbbedb4550e3d5ed5ffbd86e); - bytes32 constant vk2 = bytes32(0x6bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814); - bytes32 transcript_state; - address _gate_argument_address; - address _permutation_argument_address; - address _lookup_argument_address; - address _commitment_contract_address; - uint64 constant sorted_columns = 2; - uint64 constant f_parts = 8; // Individually on parts - uint64 constant z_offset = 0xc9; - uint64 constant table_offset = z_offset + 0x80 * 4 + 0xc0; - uint64 constant table_end_offset = table_offset + 544; - uint64 constant quotient_offset = 672; - uint64 constant rows_amount = 8; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant special_selectors_offset = z_offset + 4 * 0x80; - - function initialize( -// address permutation_argument_address, - address lookup_argument_address, - address gate_argument_address, - address commitment_contract_address - ) public{ - types.transcript_data memory tr_state; - transcript.init_transcript(tr_state, hex""); - transcript.update_transcript_b32(tr_state, vk1); - transcript.update_transcript_b32(tr_state, vk2); - -// _permutation_argument_address = permutation_argument_address; - _lookup_argument_address = lookup_argument_address; - _gate_argument_address = gate_argument_address; - _commitment_contract_address = commitment_contract_address; - -// ICommitmentScheme commitment_scheme = ICommitmentScheme(commitment_contract_address); -// tr_state.current_challenge = commitment_scheme.initialize(tr_state.current_challenge); - tr_state.current_challenge = modular_commitment_scheme_circuit3.initialize(tr_state.current_challenge); - transcript_state = tr_state.current_challenge; - } - - struct verifier_state{ - uint256 xi; - uint256 Z_at_xi; - uint256 l0; - uint256[f_parts] F; - bool b; - } - - // Public input columns - function public_input_direct(bytes calldata blob, uint256[] calldata public_input, verifier_state memory state) internal view - returns (bool check){ - check = true; - - uint256 result = 0; - uint256 Omega = 1; - - for(uint256 i = 0; i < public_input.length;){ - if( public_input[i] != 0){ - uint256 L = mulmod( - Omega, - field.inverse_static( - addmod(state.xi, modulus - Omega, modulus), - modulus - ), - modulus - ); - - result = addmod( - result, - mulmod( - public_input[i], L, modulus - ), - modulus - ); - } - Omega = mulmod(Omega, omega, modulus); - unchecked{i++;} - } - result = mulmod( - result, addmod(field.pow_small(state.xi, rows_amount, modulus), modulus - 1, modulus), modulus - ); - result = mulmod(result, field.inverse_static(rows_amount, modulus), modulus); - - // Input is proof_map.eval_proof_combined_value_offset - if( result != basic_marshalling.get_uint256_be( - blob, 448 - )) check = false; - } - - function verify( - bytes calldata blob, - uint256[] calldata public_input - ) public returns (bool result) { - verifier_state memory state; - state.b = true; - state.xi = basic_marshalling.get_uint256_be(blob, 0xa1); - state.Z_at_xi = addmod(field.pow_small(state.xi, rows_amount, modulus), modulus-1, modulus); - state.l0 = mulmod( - state.Z_at_xi, - field.inverse_static(mulmod(addmod(state.xi, modulus - 1, modulus), rows_amount, modulus), modulus), - modulus - ); - - //0. Direct public input check - if(public_input.length > 0) { - if (!public_input_direct(blob[905:905+672], public_input, state)) { - emit WrongPublicInput(); - state.b = false; - } - } - - //1. Init transcript - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - - { - //2. Push variable_values commitment to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x9); - - //3. Permutation argument - uint256[3] memory permutation_argument = modular_permutation_argument_circuit3.verify( - blob[0xc9:905+672], - transcript.get_field_challenge(tr_state, modulus), - transcript.get_field_challenge(tr_state, modulus), - state.l0 - ); - state.F[0] = permutation_argument[0]; - state.F[1] = permutation_argument[1]; - state.F[2] = permutation_argument[2]; - } - - //4. Lookup library call - - { - uint256 lookup_offset = table_offset + quotient_offset + uint256(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf])) * 0x20; - uint256[4] memory lookup_argument; - uint256 lookup_commitment = basic_marshalling.get_uint256_be(blob, 0x81); - ILookupArgument lookup_contract = ILookupArgument(_lookup_argument_address); - (lookup_argument, tr_state.current_challenge) = lookup_contract.verify( - blob[special_selectors_offset: table_offset + quotient_offset], - blob[lookup_offset:lookup_offset + sorted_columns * 0x60], - lookup_commitment, - state.l0, - tr_state.current_challenge - ); - state.F[3] = lookup_argument[0]; - state.F[4] = lookup_argument[1]; - state.F[5] = lookup_argument[2]; - state.F[6] = lookup_argument[3]; - } - - - //5. Push permutation batch to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x31); - - { - //6. Gate argument - IGateArgument modular_gate_argument = IGateArgument(_gate_argument_address); - state.F[7] = modular_gate_argument.verify(blob[table_offset:table_end_offset], transcript.get_field_challenge(tr_state, modulus)); - state.F[7] = mulmod( - state.F[7], - addmod( - 1, - modulus - addmod( - basic_marshalling.get_uint256_be(blob, special_selectors_offset), - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), - modulus - ), - modulus - ), - modulus - ); - } - - // No public input gate - - uint256 F_consolidated; - { - //7. Push quotient to transcript - for( uint8 i = 0; i < f_parts;){ - F_consolidated = addmod(F_consolidated, mulmod(state.F[i],transcript.get_field_challenge(tr_state, modulus), modulus), modulus); - unchecked{i++;} - } - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x59); - } - - //8. Commitment scheme verify_eval - { -// ICommitmentScheme commitment_scheme = ICommitmentScheme(_commitment_contract_address); - uint256[5] memory commitments; - commitments[0] = uint256(vk2); - for(uint16 i = 1; i < 5;){ - commitments[i] = basic_marshalling.get_uint256_be(blob, 0x9 + (i-1)*(0x28)); - unchecked{i++;} - } - if(!modular_commitment_scheme_circuit3.verify_eval( - blob[z_offset - 0x8:], commitments, state.xi, tr_state.current_challenge - )) { - emit WrongCommitment(); - state.b = false; - } - } - - //9. Final check - { - uint256 T_consolidated; - uint256 factor = 1; - for(uint64 i = 0; i < uint64(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf]));){ - T_consolidated = addmod( - T_consolidated, - mulmod(basic_marshalling.get_uint256_be(blob, table_offset + quotient_offset + i *0x20), factor, modulus), - modulus - ); - factor = mulmod(factor, state.Z_at_xi + 1, modulus); - unchecked{i++;} - } - if( F_consolidated != mulmod(T_consolidated, state.Z_at_xi, modulus) ) { - emit ConstraintSystemNotSatisfied(); - state.b = false; - } - } - - emit VerificationResult(state.b); - - result = state.b; - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/params.json b/contracts/zkllvm/circuit3/params.json deleted file mode 100644 index b396ea9..0000000 --- a/contracts/zkllvm/circuit3/params.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "test_name": "circuit3", - "modulus": "28948022309329048855892746252171976963363056481941560715954676764349967630337", - "rows_amount": "8", - "usable_rows_amount": "4", - "omega": "199455130043951077247265858823823987229570523056509026484192158816218200659", - "verification_key": "ba4a3b56642f16371094729538068721e2b042c7fbbedb4550e3d5ed5ffbd86e 6bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814", - "ar_params": [ - "3", - "0", - "3", - "3" - ], - "columns_rotations_node": [ - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0" - ], - [ - "0", - "1" - ] - ], - "commitment_params_node": { - "type": "LPC", - "r": "2", - "m": "2", - "lambda": "40", - "max_degree": "7", - "step_list": [ - "1", - "1" - ], - "D_omegas": [ - "7356716530956153652314774863381845254278968224778478050456563329565810467774", - "17166126583027276163107155648953851600645935739886150467584901586847365754678" - ], - "grinding_params": { - "mask": "4294901760" - } - } -} diff --git a/contracts/zkllvm/circuit3/permutation_argument.sol b/contracts/zkllvm/circuit3/permutation_argument.sol deleted file mode 100644 index d882f4f..0000000 --- a/contracts/zkllvm/circuit3/permutation_argument.sol +++ /dev/null @@ -1,93 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "hardhat/console.sol"; - -library modular_permutation_argument_circuit3{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint256 constant permutation_size = 4; - uint256 constant special_selectors_offset = 4 * 0x80; - uint256 constant table_values_offset = 4 * 0x80 + 0xc0; - bytes constant zero_indices = hex"01c001e002000000006000c001200160"; - - function uint16_from_two_bytes(bytes1 b1, bytes1 b2) internal pure returns( uint256 result){ - unchecked{ - result = uint8(b1); - result = result << 8; - result += uint8(b2); - } - } - - // Append commitments - function verify( - bytes calldata blob, - uint256 beta, - uint256 gamma, - uint256 l0 - ) internal view returns (uint256[3] memory F){ - uint256 V_P_value = basic_marshalling.get_uint256_be(blob, table_values_offset + 544); - uint256 h = 1; - uint256 g = 1; - - for(uint256 i = 0; i < permutation_size;){ - uint256 tmp = addmod( - gamma, - basic_marshalling.get_uint256_be( - blob, table_values_offset + uint16_from_two_bytes(zero_indices[i<<1], zero_indices[(i<<1)+1]) - ), - modulus - ); - - g = mulmod(g, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, (i *0x40 )), modulus), - tmp, - modulus - ), modulus); - h = mulmod(h, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, permutation_size * 0x40 + (i *0x40 )), modulus), - tmp, - modulus - ), - modulus - ); - unchecked{i++;} - } - - F[0] = mulmod(l0, addmod(1, modulus - V_P_value, modulus), modulus); - F[1] = mulmod( - addmod(addmod(1, modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset), modulus), modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), modulus), - addmod( - mulmod(basic_marshalling.get_uint256_be(blob, table_values_offset + 544 + 0x20), h, modulus), - modulus - mulmod(V_P_value, g, modulus), - modulus - ), - modulus - ); - F[2] = mulmod( - mulmod(basic_marshalling.get_uint256_be(blob, permutation_size * 0x80), V_P_value, modulus), - addmod(V_P_value, modulus-1, modulus), - modulus - ); - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/proof.bin b/contracts/zkllvm/circuit3/proof.bin deleted file mode 100644 index 7aaebf1..0000000 --- a/contracts/zkllvm/circuit3/proof.bin +++ /dev/null @@ -1 +0,0 @@ -0x040000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399091c6c12bd3da189f5359423dd4288ed4198113adffb72edcedffee15c15d0a78200000000000000371c6c12bd3da189f5359423dd4288ed4198113adffb72edcedffee15c15d0a78213d668cf8a1b0cda16bbb39ba7ca0049860c91a4439b7535c8996373c5682d530e1c5db23427b1ca0be4b3524caca247b3c8f467d6a4b2d32da004f26d13458823300c0db287404271aa820a46f2016f7bf83f3948bc50f151d1c055db08e29e068dd47b04c678f23b77809b7f5f2b6660a62d0b27ea85044af2e7cf21605ba72ff03c447ca4414c38548a3362ba072d274c0a265913a27f66be5fd3472c6d1420c5266717e05cbb295583097cdbd8ffe33ee137c794991576be870ba6e1ca432fb12d566f35467d19a6b300eda223e15da867cba17b412a36304c5963de216110a3e53fdff3a7c158db65540443e33ac142d3f9e6735a55939abe0813c912af39e362a536e432c4b27ae22502478ac6c03b9b1e8428187c1899210103dbd3b80e1c5db23427b1ca0be4b3524caca247b3c8f467d6a4b2d32da004f26d13458823300c0db287404271aa820a46f2016f7bf83f3948bc50f151d1c055db08e29e00a2d2fbf1e652e74567ccd5161d3d6617381223441996785807ce5e29d6d26c0209f6b1b800a734974d31db73b0178cf5b753f84fe682ff428671b8a71aae5a20c5266717e05cbb295583097cdbd8ffe33ee137c794991576be870ba6e1ca432fb12d566f35467d19a6b300eda223e15da867cba17b412a36304c5963de21611860f4a58418d9d138d17e0ab831d4b65b3cd5c626589f0343e16402b5c533cc2e1ed19a48cfe8f6ee724672b7e8043920af8ed382165301088243d848a2ad601e2b9be82044c35300611b1d9530220ee6da26b37df951928a9c6bf280b0f6c822f321f56a8f6599404e763c0b59ebfb0edead9c68aeaecf9bff5f26fdc7a2d5289e83102bb00f89ced00db73c4110ebf245c0cafbe3fed2d302caad382ac7f1216c1417c3e5e09b634e96a1eaaaebbd8542c2c35d44ed06d159f648f0a4c47a306f6ffef025bc576fd1fae20a80124eed8d9439bfff9c953d17b0e50c62a2d31a1d9b529e7efad26c59d6295b510fac1fed02f79346d209696395d529fa6d3f1f6c1ea19c99af18b6285f3bb0d44986d66e02588c1f4769d35f9387466e71a33dad42badbec76154aeb0401a56b9254891d1da136125c18892333c1f891a00624d4d50d7a375392dab15cbbfef284392bf1f74d841b95ea39a8c5404944896f3f80d80a7ce1c8ded98cafb03d7e4a420c692a3f5440a2d9475c68aac0a6f36b0a2779434a3cfae30bb896c6cd3317cb39e215ac307df5065e531695e21377ad02797d61a3a298ec17cd08ca76db7747c863e3c2847fa62ed8778e20b7aca2e4353d70adbe5175f0a983343119397d9540ac5ea57c3030ec11d9fa521aef22e60ad5473e495fd34e6e79ecdc9be86678715d85a52c8debbe662492b114643989363bbc5e646fbf3d56d8f708ee1fdfa7925bcad7a2d58a3d357d7f0fd60ae3ce3365a75cd78f2d0169c9cf8c09f7ee5ba7f25d3d34c36e3e6b47d131cc57d9423c67a1ab4b239d977ee31c51e7ce81aadf52d87697cec86a7c5fe66ab18216431c1667cb1a10dd185766f727b549791b25881cb13a3864cbd22d67217a7c1bb023bdb0f3fc6497e560c9a4c2ff2b21b23dc7eb298cf957c810bf900dd47747673cc5f82395dec4410d5daed701e04e2ae2254528e5ef35a8810c66764e2c23cd1002237f7d3edc5f31fd93f37a34b308ec31a937abb34b85a5303ff452b85ad41f2e8153320b39350b34c40dc4babdf6693a71e91c4a545f3f82a3475d08e2652258e3bf5320c4cdeabf23c340d2bd747accd8d8cecec085b7b309e3836777ee010b54d15c6079e67f86223de413ef5d434946bfc78f87b68a0382730bf816ff3b10f13a628cc94ff1998a84ef356b36a3c829c97a475526234840389ca878043d222bbb79e1c6beedc7f14d80bb51f099510c96262029e5443a373f895a406011a1bca1cb6eb5067831d5af25298f9a7d6e1edbdaf83941d2971feb8716cfca2b2bc49e8caf77f3e55531bbc4d1b8617b0f775b4b50fdc58e3f6331e2cc08b402215b65d34ffe2c3f9b89af741555b84c36aba592186b70a6b869b6390f74f22cdd0e83c23f7a34a39cb9aba5e1816984a63aa9d9a1c2955916aed2970225c2014d0f0e64fa997d85affc4c5f40167c34baeeaed8e045ac0071e80c48447728032257eb760fa992cee510c2181f75c0032927d10f3f22adfc3439fe9595bb3615424b530802e6c4c1186dfa3d3c3a42b16e4b042afe15b9ab446979894653c629cce99b0792dba8c39ca46acc2db2ea163dc80f39aeb83e30b383ffa6b9919502d45c7ddef4bbd7e423d59f624c7881066a917a6b880c28e98656b4f6995b023b30f7506acbd9355beca1606096b433aca6f9270ff585cdd1f0d8cf7c7e5caf060af8ee7d46553db8f859d604788b5e643164b845a495dce0aa5c1d5ce9290e000000000000000a000f0103020203060402000000000000001c02020202020202020303030303020301010102020101010101010303000000000000000200000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000002010100000000000008c03f89350493448494ad087f0540faba6b5030e1451bb10882a8ab298bc2b299810076cafb6cbb7b6b52f780fabf054594d215b7b6ed9bf098f08207613d4d66803dae0916e05696e7612a7b1a44e5a41807da02696541461ee6a30c06cd7cff810251f6e91fa969189ed584e5bb1a5be81a6c9692a40bb2fcb28a24e63283008034662d7261b0f284e5d46783587c34779e27a81ed5127a2c1c7a786e0370fd810b99d28d9e4f0d7b1a2b987ca783cb88841ef0dd343a7eef7cb2b87efc8f028005fee33be874bc987d260590ba6d06558dabe4aa04287e6e29af96721134f3813a011cc4178b436782d9fa6f4592f9aa949ab45205247aad6f7d9a7aeecb0c80342038f6648600460159232523bc0aaf1b22ff423944e89b42624a1f7b46a13b118e95b6afabdd9e3918b29ce5a2ff40ec52e25c636b19de5696ef3ee8eb6faa3dae0916e05696e7612a7b1a44e5a41807da02696541461ee6a30c06cd7cff810251f6e91fa969189ed584e5bb1a5be81a6c9692a40bb2fcb28a24e63283008014e7c4cd9a096d75d882d563b0186c221027740eba49c6e0adbb01ec23104f140b96c00fc7445cccc172aa3e2212be2408a395a3e4719996ffdcf2fc59733ada05fee33be874bc987d260590ba6d06558dabe4aa04287e6e29af96721134f3813a011cc4178b436782d9fa6f4592f9aa949ab45205247aad6f7d9a7aeecb0c80068b7cb70c4e968fe90a321a45ecb6c221e359af3f511fa60b4bca61ced1e0ae063701d30cbb53d7978d008cd3615854317feab4f9fde2db6584c6b4ea9b95e5144e7b59ea424eb450941cdc0218fba23b73e51c1fb8270839705dd1ed2417511eef061bfcb3c6e42ed4b07ce498f547936f6f7bb045cf91eeec4204596e721e323b8e4435559bfbd644a79b33884a3c7fad408d86ad1fe85e397d943c6a702b25d3cddcf8e3a3e23d6def3a6bbf654e42d5fcd46217aca03796cac2e45e46f523807fdd54902c10e6c9edd95f5da67bf33dfc6e60875bceee7d3ecda1427e1c27e00b34b4a5eee596288de0745789f39c141aa4a1154b453b77891ba7250d0d2096dfdddc59192b58631e518378cbd59220268f40c709aecdf808417b39d1ad10994d2751195c56bc5eae6d247e000628e73592a596b62df2e5c916bd0f35871a0a228f94642cd9f6b9763185b205d6e987590fd525c93848a0ed7f3ae6eb491cb58937adec8f46ec01a2dc4f8e7a23c51048a941cf4b7d5841eb9ab774b2a92fbc23f25f439c03fc326046d9f57a3abc645b28d4e27b308909391c34b7aa9309cf5fc917b30347e3eb9ca2bf8bb1744455810f4cdf87363e1035d2dc2e89bd0cd3bdb207f447d8940039e73a5e5c97543a2c798d421ede35a155a33cd75d5920f01b2f22d4cb26b3778f073cb971624a973953bd969fe2dafc15581858946014e4aa4ab884f699e5a5fd8073a0100fac6aeefcbc17f6f90b631330b84b0d113bde3ff01e8d3a0a80fb0a1ce2e0b776579d3ab4a61216fafd65bde06e3551ea0d9b8adf3de544b9e3da6b9ef2a05344e145f2d576c1ef8693ef3b2fe8e8e599318dbc60c6b527c26437d508d9f32ffc7a2f2e839bd1a99346587a059f3360ee079a4686e2d35936ffd0ef500fd821ebacdbdbebda372394aed67659a619c977302c193b8ef00dfb91238c5f1c5cccbe0764907a947730c77011a459ebf74d022548ba35311d5289da70168044d6148821a84349684e402bd9b750f5134999c422d6a75bf6b546df4673267ca887050d5b6de097a321ac16aea429e070a4349230590034da339867ab9be5b05cc9a9b31e938426b7a690de9511ed41185175fb25064fd3819db9b6ff73e22cb64ebf2dcab5a7537d3998f8a52f8dd1d09ad8c230726a9bd670e2cbca189712fe30743c5ca6eb166621285502d4f527bb2db2de16edbcc62131c42d39befcf59f26de66ba7bad276c7e403957046463b257ec1e066c79c281f6b13e7c7343bf11173f912a32935323a45c01ba061b7437ef6e1f3c032176e035f2216dd1fb5893be9bc69d38865755ca8e2446d688eed4e4c5a82a9f98974b18bcbbd5103723a699fb19a0e60fa8a533334227778b7afb53ddff2d0695645aba4f3c6151bf702ea9a967116243abff84379cbda5f6297566fc3a0ca73691eaace33d6b99d619dcd765f2e01826d9f949997ee4c6a2e3815b7bb33b266ee858a02bf174d611401a935b96edb807524373e2b6866db71a2d12c5941e8336f6f1d9848c58927adc2e9759abf841c2003153463e0a5c3a0e3303a8fe36d35168139062b37b67ef39021fa29b1987f652c8a7c8eae990ec178e8437d911bc1972c58af42a58cd2942fcef8fdeae065ec0f88c2d64f9032e416bc32ad30409a65db8b89658e828023cdccf3d4701a6e1745fe15f7329b0ad51477aa71114a1f56a6af5e218fbac9f7f6a81b27e86a2a7241d6ebeabe67f3dc4d8bfd52923b3f4eaea0ecd9dc6a75beadeb39ca696b9e16bd2e6fcb232a199460b3e7a841109ad4c5183f69681888cf1ac9c73233ae4e3bd5ca9ad8e34b81c1a117946272ef652b3ae7c09697e77730e53638cdce761b53eaca34b8d647514d2ee86b9da1530627d9793d0f087aac0b85f0e3fb00431d9b6c6036aab6e6b5b95575e5ec22acf9d82686c2f0f78553f47a0f1c0501e14bf4543498e702ac1d557a8a1a13f29f1ec73f5e314b2a655c399db473e6ff2b2a795d4c41c3d8eeb98fdb4d7d9c9160e138c0a1ceb4d59aa3c6624b8c1902f93f1663488dcde0a4197ef4b28263811b99e43cd6f677d3facd2014864382f56a97af90beda1e0ff126a2d883740ea2e4661bc32909882c0532dfeb79bc7d0cb9d1e02fd5f573a9a1ac6bf77c8bf17308815f1192b7ba58eda1f1155003b78c8e517cd777260d9a377929bf1d9f4942ef965318586ba17d730614cd8d49a4162dd1077fc6c30e5e14ada5591a281801530627d9793d0f087aac0b85f0e3fb00431d9b6c6036aab6e6b5b95575e5ec22acf9d82686c2f0f78553f47a0f1c0501e14bf4543498e702ac1d557a8a1a13f18da21b8b2f2b27fc03491f7b4a984c3d8757cf05ef4f2f828d6b1200939d09f21770f9a38db6f9c0559984641f7714c64a1d36916f4fcc5708a775b92941e7e11b99e43cd6f677d3facd2014864382f56a97af90beda1e0ff126a2d883740ea2e4661bc32909882c0532dfeb79bc7d0cb9d1e02fd5f573a9a1ac6bf77c8bf1721658174cef8b7ca01d1325c91a7d18b8dc8db38e6a8a2490f75e8322349c5891292d7ad405fa37806d82528bc3fe8435a85e151b1fdf1f84a5868f532008b70071a715497a8c6c1715b47a79026614600c3ab4bb151e25310135931ddf23f9d04ed358958feddfc85fb60d321f1e4eb39343125bf5482872f4b8693ccc36f6c3aa19da83e45e507db1a63f24dcc65d15c38bfaae482a2380aac871af6f839713bed9e5002993c44e8f1bdf7d44d91f3c9a9e5361136d729514c2f2e219309eb154111818e2f781c728233e6cdf3eb254d84047387848416c33cbb0bce9f87b404f97f85efeef8363e8234699ff6614f1cad3bb13ce3459f02f59be820a6566e142f469c8210a086364b4c6b16c6da4b41dacf005a245a89f74548be3f9443090428c9b8efbc91ed39e80b1d116e2a2ee7b9f879d62a6d657501c9ea5f2822070090697543d7c9d11757917bcea86104802222fc4f5e65593519dbb11d2aff9217bcb16e5886c1d9639a3f8019a0327efcd409b9d7663c481a52aa74908eeeac14592d3ee845e9521279cdf8dd5b0c0af7a6f0948a1c7ae1818a07624d8f9ae3085ee43a9cc1e132a2a758b17b98a1c9f4be7d4e222f6f871e50b6134d208134028c24a38b76c38283cf07c8f2de20bc586890a78685d7ecdfa6eb50983ffd6b07c5edda18d2be57d7ac64d0ef7fe38935b0f8d66d5f22f8455f460b8d3474f61191ba84edd660416de5be1a0a69732961252e9e427adafe7760199d79ce51b6031185bc0a618e7dbec0c643c1b513563f8872a329a0030cc98ffc5c038b79db236660c482a26705f818434a7e650719614452a220d5cf3bc81d6105a65076d8296d904208c42d54167e0929ac0c8c930acad3c0057f4f501ef7fd8ee468faab2be0ff27780a730ad266267bd40d9ef5d71b22486b2fb1a2f7dbd17a7365b55f129103b7c08e6d01e478a24948c9d0a97b141bebf6a3cce2de52b7b73f9fe4f2022a756803f12b5811280dbc0a9343dc71ba661f919850059fd1d768d0ad146607f002ccec7763d0fe92c315bd4ddc87dd3bdb4e5e40e794ad2f15eef6e61a6306d1f2d380bed2d800ebccc532387b27b96dcd1ca98c6e5c884ade321b5104773a8727d34c4df6d55d5f84ed4984248c7e57a363f5d6acb7d600c6fd449ec3841aecdc6ef96693347b3f24a2cccc79ce80308dfda03469a2987bfe6e3b04f23a306832ca8a96a49a8b84abe3177c96fc2012ac7658689fc1343de5cf2f4f944021b2a9f1d02bb410eb00a020d16be52d2f35014e8570b683e7513f6f352932af0d3edd0d25856cdbd286fa412a4db828fd7fc24f5d124e558c87d31038ee8c1e0c6973b1cb0993a22f01be1921be6838a18dbb8807b24d6463073688352dbf481c38cd8ec63941430be9640ff6ea3a459c96b0ec260cebe4d17a8220a6d1b12a2982ee93e5ca3789425146eff0f6ab1c98271d931a97e8619b60d7fb1b08787622a31f292ef0d4f3abdd1559c19134e9047fe25634d4c970bdfb1256600b15ba24d6979ba66fbc5f80a5fd68a9ef8cf01c6179c96ed8e0c3b5498bf4fcb63f8b307ff0c35efa2ae053546cac86c76f56f5683e898b222e653ea39a30c4d1a14c169c44cf46ee46a7f23386b91f03410f142ac35ee109ceccd9415e8d49351b7a09b11881aa4ed5e40ad87bd65833b59b8728f84488c032ca25e1e1d525f5a8c31d55a056af03a5d9986c75318c26a9a22b0dc80d31b0bcd38ea128a20b9862940fb105044c7aa620de3f8e468a2df7fe51313238258862899b97fd162f86ee890f4c08e18da8243ea2b72e5e22649aa4b3bbd3e0d3091f0570b8fe357b793b9130b3f71e7257dbc15d48d1a1dd9b655b6e8ac51b3643da16287432b78486c4700c7c2c67c448b5392d93e7d6abf7053760648a6815e0a1ff9a6fc61e695e29d43383d3983bb74ac6d26c18295408fac8c1e20e93f36c571bfebd6ace96a1d62d3e6cde06d56b8a1de3e387315bd31a14e1f6b4086d6329fe042ede980ed6d124019321f92a9475e21c1c78cea42ce5eb404fe4f39be9cf1d94fe5254f1292edd382056222b19b2957371a3f6cb1f8267e0b72039fdbbed87b03595444a3215b007dfa9ddd4e64d6a8c8e5c0934e07d98418f78c20b910b93e8f79ba8b5cdea513f6c90670a5b6139b55e9b09d00af5b5ac716cbba28d34452f06229acb22046a23c77650d4648545d1406247e765dfcd285785f2c7fe356baaac1bf44d22d5680c7c2c67c448b5392d93e7d6abf7053760648a6815e0a1ff9a6fc61e695e29d43383d3983bb74ac6d26c18295408fac8c1e20e93f36c571bfebd6ace96a1d62d382cc77c9f63850040048ea87a9fc8c5a6977d9cbd3b0dcfa3d9e16b16415a6d2a1a7a0267413f500aa46f23609ffc2b3d7ef2721e6837c165ec243959bbffbf382056222b19b2957371a3f6cb1f8267e0b72039fdbbed87b03595444a3215b007dfa9ddd4e64d6a8c8e5c0934e07d98418f78c20b910b93e8f79ba8b5cdea511663e01a2fa1ae50abd4ba011e76fec176614b25d586cd93f115fdae36218ac53a2cada481af7056ec887be3f01208ede13af2c20603e481f26b4b71ef0f216215c2cc7bb9079c35dc3675ffc84e346d32d21711a05fa73c0540ed70611939db19aca5c595a745228b6c541b2928c3e3ba1edcfe96af98e549982b4979b61a0131f8120e88e49263ecd8875f769634268f48e4f6614ee151df572fa9422a55a0063f5f6cd0ef4fbf8ea3114a232093040207c493427e0fefdf5bb0143f5b819b37e828b34054ac5563dafaf48cdcada59f253472dbe9fe18483177b5923d53322a3a85a918a8d4a85bc7c00b88aa5eee7fa4c77ce997876cd6a75cc2e675d9750df8dd3641ee12717ef5c0407798c78a7582df3a8958ad02762537b87b5160840e152660e195421bc6d85451564dc625ac3df3aff7ae2ba45d043e94a7c271111148c9559ab9ef0c324ad0dcf8fbfaff4409ac896d9274e57243e5d640290e80281f505a78986320fbb052b5b30e217dd59e273003cf396311a9eb22da6330f82e5c15ecb2790a0e9d985360a25e98d1172a5890c31e4759f3bff1c85661ab641e824766e46225f77c02b1252ccef9327a3c2342386e73bc1e05d86b7118e8d62f08255355deae2ace17def8c75d73af0646de07cf8ecca37476171d829353e41cb553cf3da06dec5ba93f637ddd2e749c0e25fc750198d57db5dfd5dd78376e3868cc6cbebbc1b49713f4267c6b7df0c552057ec6744944061ff66bf319c65236f235a24772ba609dbb52f1c242cf5152e773cbefc16b4266130b1b1a0df78329c6f667dff096ad7c348325ead26fa3b9b4746508c3ed8f2af8da385b39ac6c3cf0c38b20c630a775d9c5b80c382dc5ba5ee7d78c9fe669d21c1d43ca34b34e3e25a30912c869e64c8615e88594bd5b787a208ec54880c0893fba6ae148c9af2a63fe01ee10713ab433333c21ac3e726e8d8e0da1275908592fe53bd76252e21859d3ced83f07d98e29fec8aed44a1d57fb96b08e744bdb13b977284b89976c06ae0f236303e14902359c712dd9853ec36ab5c2df2ab2132f25177d63e8ab0e18d3a0f8bc213dce56bd646d3aa75b08554b6331461821caf7365ea78cc625652625fd175c43699271c5d97d1a411bfd38a1f794c2d27dd8988717b7dad529af1dacbdfbdcaa38eb619c23025d9a277edb33dc517bc04da09824b404a7911f4438bb1d13d142c9bfc4b71d63fc0b2ae419b80086dea6117e3bb7f5e69acf692f0e8512eae2a942d79ddd11dbf2fd318bd675782abecb5e5195863e24d06ddeb4025987d7c046e92e0571db1c2456f4d0f7bad4f895c2be36428fa5e073c4509c208964140151014bfa8926c66c8c8a5536ee3891e533f94f4f1bbba663f57af1184a1852f5db6fbae57adc1b386b3c2519edaf647ae7d56894689812284fcc901cb9d487ac15aeb1f5431269d373c0ff16725b6b30b976435345712ff93e52850c14cc24463743aa6035689caeeb88d4b79da17902249fa6d11d82aac4551efa01f1f2cc2859737458ab53fce423d2123a66469009437b4e00460f5d259ac32313649592dd1073cb7b4f16184c932a34b51cd8c6e76a9abf5a79e5db9bed1db301fcbc6c524942a11f85cd1d41c57e1e2beb5a5a55f56824a939d31362457f41394c6e8a2370eedc84612090eea2e640936634e8c09f5f39c4d5f301e10dc53a18fb387a72a5e111882049672305096c8d277558d5b3366fb4496ffaf9a7b24b1ea86036916fb2c89eebcf860262e044488d273204bc5a4d71783fb6d95533723188e3736946f3bf517c077eb5300c2b271757a63931e99ac339705544006eeb0e771c8c96b90c40ae83f8814acff3d4fb2f4155d01b0f80d5f3c097bbff911637ac71410e62c2bc976c257989f03cd75ca0eb4b0212a4b304979ee354022a9408538ebef19d3d436893da86760fc328c5a5adb1073a546894959209abfdd56d165e364547edcdaef51cbb5fb1b13034460a3486e5295310b24156bca40ad4e029a1c9bab81232510ae344a04e4ecfcbdc3c64752423a60ae6ebda305bf52b212fd70f5a67a5046ac98fa8de7875f1053bec6da67081a637e21980c23436285f1028f0a5985afb9536705721878a0efae65a2b5598cb52e3b713b02acbc9d7a23fbbdd420e0842be8af0dcfa484e2292d6b7b1d882dedd8e533274908f509abe18c6f46a835e3e83aac4aced59dd1e8987b9a0a3609f9bf5ba289d40a408cb9c37ac71410e62c2bc976c257989f03cd75ca0eb4b0212a4b304979ee354022a9408538ebef19d3d436893da86760fc328c5a5adb1073a546894959209abfdd56d35fe730c01e2601afff403f734b2328e61d8250e897ddcee62d84e06a7a8c1181df513f0d722fee431a1811ab447050936512b04dc072891b6c6a6c560f429192fd70f5a67a5046ac98fa8de7875f1053bec6da67081a637e21980c23436285f1028f0a5985afb9536705721878a0efae65a2b5598cb52e3b713b02acbc9d7a2305a3308fad8167a9a6df2ede78645ec437fe1487d563d95a098a17834fbbd8e093276f657340a7e3410a5c94539eae8676db17fe7eb0ba3209a8521a40c74fe2ae365370673405b45f215f38dce27567140ad8f6ba49ea88e18629f6325aa0d1b8ff0c9a7809eabeb8f51554571a7d5285ef1a041b40a55e30ed8a0c3d2236a100f3b7f25beedad29d0589d9ea691731d3977d311ce9be7c40cce8381179cf73a0c957bf9c2c91a9b23280b0573bd5361542fab49ff38d072d404f26d834c190b955dd984efdc5f36f422e8eb9be6816e9595bdb7116d5b71ab1c858249be1839fb8d064af32601bf2e6e974077b5b2026d4f3ec8ece009049efa1410945296316a313793ba09c0a891a9b856cdfe258836bef67fd40abfff2b633031f7e0ce2899dc25e99138c4f29f43b24cce8542f04008bb15ae279c82e614e8f3939e420493ae70ede0968fe8443f41361485e07875991622467f27706513ca6aae29820372841c51c399e9ebb7c8a485235e916ae7448c450cd4cab08f3d69e26f1d2a3e5cdacbae85c67e40424d043348989d84f008bfac5293c55c66ca36cb83a84b22bb824876025ad61fe0e53053ffb2a7651899174fab87374c63924860671157028d9fd07cb18b0cc229a043a69fb39815fde03b24ba4296accbc66231bb8a2434f50afe4efa5ce7ed3230a0a712c76d2f9cad30334db2037d0f26d3285b8c1c29d9328cc98e2bba42be0647fd2f94fff817c32367af3e592d39076e3ec46da50600551cef4344266675707573b1c97ca94579e05123feb754662a6091cd077836db3788e6ddf46220005e4233ebfea59e886a094c0bb2957dd3b8778337197230551d63a2a634429ff483f4c1ad199d8082f744033d25ed840c0afa4be2164f2a0139798e979370ac2f8eba0dc01cb4c12d9246d18f35ad23de00747b6bef193c4bae85eacbbd96f315c72e6f221bfb32c3138fe97595102525fdd5d6deb2fa24a2fc259e01ed18417531328a1cf4c00f6e3ca431d08cff80af6da5a21ee7a10cb45c40b869a666731918daa2f73396ef4982839b1789542b1d144e721ce9e43432d2806549e088dd0cdc2dd310ef1028ff0ef6d3951e3ddeed9191c6c3eb8d1a5f9fb7f0baf5e10fe61c174f4f3d90271cad03c91ac1146ebe295df66749d01009b5f0f56af35429d9ea1ae4acdd2d5fac2358ba1eca853720366d8bf4660c06e7efb55b5a82ec9473057a16e7cc7ef2ea4371ee99b825fd86db0b5f04b718356237b9308e5115ffbe41246df7d9bf9be294720b2892ad9e8e8f7e192e3aca3a78479b124bd2e0b7f82480c9e76fa5f0af2912030ab6dc614e47e43e05a8ee154f05d8f3255c70ad4fe0bd1aa747ef2afe757963796b914c2766c6e64c48300503c5a349ac5bff16d8f4cc09308c8cf99e44bcc5fc6f417f5d521fcbf30f7f0c413808f016542d40595abcfae87044f0a3238dec5c3a8924419abbf09a60542d7a3d7a3ba988eb8b371ba719dce8f4958096e7cf0b285695012496c76f3cf41a23375446476c77177c0e8aba36d09bb6d6571222290f4ffa6d20e04d98b8633b33510abf227ac8bc7e5b8a76802bab5af36140d7d1ffd8f980054573ef28742a95620cbd5735c61231616705ed129801f5f9d4af5000793945f1a0f15c7258263bceae7b9cf3fe0c707724f56d55b3fe36382bcb6a160857e4c560e1b23a642f49de367f88d5c4fcfaa9eaac492f0a9420fdabb879cc8611795fdb413db748201df0d72de63d6b82ca65dcc0ce4bfe2d98089364b967a056fe0a8e85b81c202042ad6d44b85d8c2e6cf1da18bbb0083196e509bf2b27e7fb20497e0a4cbfab1fbd5292bb47a273d1930e25e7444ff7f0afb3f24a21d1339e0ce76ef5b34056214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe551eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac2682efabb60122b088a39e4c6a5430cb3c6d32233b9b385c5808e233017eb7a7197d105449fedd4f775c61b395abcf34e5d966d8cdb1c0bf41244eb9fe81485a008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996403f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c127a55df9a702ee5aeb4acc5a9fcc05cfd54a6dc664d74a22736a95b50f07acde21a80a4a0dbe903cb4f9a6ac98d3de06e60a1c9802149db3d6f6dd5827995aa8214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe551eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac229a0758dc04fd191bc831de5339e9171576c70d77299b66230de6d29d1a375b033cc0d09c0096f70883c1ac672118eae00127a1d0fe4748c9412599b59bb6e4008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996403f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c12ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c6372453900d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed10a61e1a906fb75935288448600b05e632f51f9dccc726b835f60f277e4b716c904c8ea7e466c7b478140af5cdcc76c1e6a2d7253d50d4ebebc1b8e6228b7452f156d6bbf7b485ef64c728946422b981d83992d85f147f72992f8a28db04e0c783cf8ae4c87b954a8b83f9406fdc083f0ab2b75eb1823c9cc234a9e42437645c123da1c50cebd567eac43831dbed0ebf73d654dc7badb7854a0b7078e6dc8c23c15fecfa452376e952ad8ba218184a0028ebfac4bfac551cff9d6f216e39c23d20587e2909991811d0868db79e713bad21d73ea9831c074b39c0d1f92494dac1b3a7e8e4e06688eb72d2cd9d9a0f6009f4cf246d0d3a541f7bd0b09909bf7e74837ef0a5ce9d9bfc1c25ebe88c84611a008c94afd042a80bdbf0fc4b199a2514b12a3c245a41c0860b7c1fd47d99120970ad72ea1285ae343a15fedf0bbfceaa0276452d416f3c51330633475d0b768eb4fd7694dfd1fd48bb572f64bf5100f353829fdd4108788fe28e8ac030347f0a9a63dbd9ab453f225fe561cb9a4353f5c267737cad578e59ddd8ca28d4343b28d35f60fdb2fc96042dfe10592e3b948b83fa311aeb49b14999a6fb121ac28c1631869bd0ee4a27490072e7ea6a847246416466dae94efd33fee91219a817f7d27ba8f5e51fcaec25f1975be8ce53283223e868bee0349f1878022aabcfa7f9f9fee76506c5e73b0ee3b68e5ff7ae8bd3602d5add6a548a34d0d7a47baa9b8c03f4ed5d349f642cdb70845cc00091a9df7271d1b0c0c92d80ab7c2e3b70121bb100dc043e25a59cb4192e926e50c28e320317dface66063a46b66cf5696885bdb33f27d47b66e945b871cc311ea4e106a33d04a91bf977a62bea9a66f09fafbdb630b9b1a26867c7796ef4cc81fb3e370f09ad554750b5dd011e649dd4b71b979df7a530ab3fe9c8dba5346aabdaafc75d20fe7bc86766220b3a573c65c96ce1ccbff3cf567a12caad3858d4e7214f1abf056843c28927a983a7b299cb44f0954407bb094cf4a53aec5448ee5b165236111e2bf557a9014b32798823f2888fe64015bc88dac07e1291b39b2df4ab54cd2a39799f76802f4240fe6a2b598fce273b9697758c444effb00437357a25b795830f0edf19dd204e892e6b7918a1edd0c0009d69ad70aba0e0429481f481092b5d2aa0d9fc40d408e6882aa21fceb30bfe11dbb6a4ae8f11f34bd12b36a0463c1b2990da90bbc17c6bae8e3c11fcc9a637deef3c58d42ab7558883e0c10784eaac340fe14cd169fb1e6bb19061256f61c4b17c7093c5ca1e3e4ca77b9cbb173186116a9b75877efe540545a11d5173a81234d88c0c7bec77e778654c91e0f573d90e18aa61fda51e68093eed51e73487bb90970c165c52fd4cadae111ef0a6f4390fc17d6bc38ea459da1fd01fff9890479fe946543224d7be814e38f58a46536e26dee3f1482ef1715c1fe7ea20bd766ff3e1586814471bb1202323c43986df8b2e77a46dbd3af5ce77da822b0ff985d71de85feae5b3f377d3ca02618801014c0f7b87dc10037e947121f68243895949603534b7cf9555006202b5cc44ea714b1d6f7ab72330cf8af5a1262dba9bbb174bae23eeb9aee495cfb314cc1c10f2ab37a2a7028df07e6ad5b65a2fb5b591a09f46b533a1de3a7301281e6b5be1ed86311560e91cc9d7d01ce3315fab8bcfa4306a359c6acb8e793c5ff99d6a8a3ff01043c1060e0b904d84046899e774702473f9eb889953e9ca842ac3dcb8fba3be2fbc3ef9f1f46fb27bfb9766188b8fdbae4cad736ff90f5115026d1047045c431152c51e4639d18394160b01854630b6219b00aef55697d8fba8a2629cea32b52ead3ae1b9c62e7c6be9f4fe7ab9cf4a00ab984d13f661429d848e8a6315cd4c169dd9975f211791e46e37079a5ef38e85c06a6ec163fe21511dfb001092fd8829622668a0dee86e1b91c8f865a10c719c862e8d47e8fafa480f35ecef6d027931153ff4dba575d97627132603dac1c87a7b7b2dbda6fd8afc68b61352def3a70eeac00b245a8a2689d8ecd9fc253e37a7cb1dce4ba5fb909cc47ad9ad210c5a1432c22dad3a586499ba7a5dffa64d139803817775b2b7d3f26bee9be90da63006a847f94174352b7725b038ddf93bbf78f42aee2c3e6ec91fc40f3bfe84509d1152c51e4639d18394160b01854630b6219b00aef55697d8fba8a2629cea32b52ead3ae1b9c62e7c6be9f4fe7ab9cf4a00ab984d13f661429d848e8a6315cd4c1d483fa4f6e9bc081070e3a6f84fbd45ebed8d5b75a60208d47841da41c3381936e0cea24053f22ddb7a8ec541bbfdba0071d77e37639e90d0182cd22814389431153ff4dba575d97627132603dac1c87a7b7b2dbda6fd8afc68b61352def3a70eeac00b245a8a2689d8ecd9fc253e37a7cb1dce4ba5fb909cc47ad9ad210c5a291273ec8c376366733bf3821141216e0ba77ca42d0f24024091ff50cb578fa126c0eb7dfe18461fa0793ef46a60d39272437f52618c85fa1d2dc5e42dae395b3bede82a1ef51d40115086dd2213afb9fe7882b2741bc04a7341075fab56bcb4343eb86b56bb3939dafa46ac624a5b45ea704c4b192f810bfa86c6325ba37a5424307cd7b36395cad58c9738cd6516b617bae2177aad37a54df9ac48f312ae240ebc419ce047eee6bcdf4390ef973b99544105022914ae61b711e71f02538fef0d58c3045c94127984a063df97ab9f6c0ea462cb5d45472c2c189f41ecd92f3312aa4e65200da1ede35e17671998680f67721ba7687dad78da6b85ce2d57cd5e04125c8820a567e75f2a94ced3c6e717412e51465b12a0c5edaad58253ee0cc030f6466a506c355358fe6c8d90191597e535dfcfbc0d834211f325e9b4879ca93a15e895be2c1edfdb2a5de148d08d358ef007c516488982304547e9108d3a333f3b9f468a75e154e32cda28ea486b3dbe2062a4afeab625043815d86737f7e20d9c9414551c6fcae127c51d492a4e043111b8dfa6443c11b24b2a74a8804113120a026eb7c61d2e5ef7e19e0d7e2d56b948bf5412c2d0fb630b8ff925627f2a3ecb66a004409dadb1128b4b8d92126e196afc47f049b6cec6fc7ac2731dcd9b03611ff1223a09bdbd711035f32800855017d69b0120a6b78ebaea96763816bb3a846a394e8949e4307ed22ef54477562a9a79f372bfbf7f346652eb0aafaea0083a56997265e06f2a685fea2cc9f52c820a9ed1a855c159ecfd49f47c0a6ea03e01a24d50d121374fea792107b28ae35b081b2ad8a738c2cb8ddc1a04c836971bb6759a410e97ca31f7fab6b866983b359865e25491c88e69b71d221ab5dcd5167ec02d92aae2eb209c87b00e04b21677d8834911cb117b3074f33269d931b83679898ffa15d68c580269b43522a8a25444b8860e4e5385379de39e0c4e2255336cdf73debbf09378ca42d9492b029bc889b3a87eecfe3b88335caa28382f5407338f2c67a071b024e796e2dd8611fcd7c2f9f26d6dd0b42b8d5c689f0dcfd92d7ed068c80543db5250913f37693cadea5d9082c34903119c29376e86b26d013c43f26a3b3ad0a83c7a07c4df1ed039f8dbf5943a3f97add4a2a8cdc38576de0d12876bd55bfdff2de745710274bc281003f5bb308420cfd855d682c8d3d59f18277b1261e604b6cd300d490148eacfc3083d5919bb47a81f86e2fe76e62092237661b1d1faaa8a5c56e4ecb7ec664a10c1fd5ecdd965ba63a79fc24319e6522b4ae0fcc7d469038f75edb3fc4f8ab6da70b441d29a8a28a1fc498541ad558102412da6004b288e885b82322ac90b2792264200243437567b03fe74bb26252b2135aaa82cb52d43a9c255800c0c3a978586e9b6933bd8b732e124b64791f0d01bb88a8cbd07b547de3a56f26e8667fb9c02f58815f3e16dd6e1dd919a381d88225d933ee8393a3204da2e455897f1e0c28c29f9d8e41b27d2a062863c801b7d1f573d0e944c3a788eaff3a722675913fac5e50d3c03d4fb4bb1266b17573f7835ff4b50711dacc7454a766e0e4fa3331703d345bdf73a2da83bffbaaa30a15f0c4ff66b4e7aa316d44eeca42e030c549f33d9e6e46bb2a47104d2934a3adee908367186fdd362a26b12c858cd7b118d00cdf2931cb444291375e8fb3ce177621486b896baa7c29f16ccb86e55fab9373ae5cf7c6431e614a1780a6ca2d0d3d2048687ee4a4f939adb45d1df0e69f65679085f2125865b3bb66ce3d48d3eaa710c6a5a22c9f1ec21e26f9d72cef81074d6f17160818e39ed3c7ec8fb8159456e3395a5dd360e13de1d90628d3107ef8b4b55279b87bebf2e5cae67f17ea6ba933e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b2601ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db3662cd65b8a00f4f1ce6603636399b687479ae7c81afc3bc83acdcdba1b7c7ba099d329a475ff0b0e3199fc9c9c66497adccea7f879d355f158054115e4838470fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d7691963197ffe4c2ade3c94103e78d0a93bdab418f21098f9736b15789d3dc5934b198d154945d1a4a5444279483939dc69bd0651ff319612d239847fff318503bb81fc3e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b2601ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db2b5ea21095896d4f1c065fd836c655f34f8bfd2727913554bfcf109f6bc1c35e275e867480e2b7af5372125dca70ad75c03e3b134e93092087e2a778066d77e70fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d76919632e26f67ab7b96cbd66298cf342505f2dedb559fa4be2273dd01899d6c3abb17105f957432b4d66c307dd8d7a9f77a65b49b53376dadd9b2290ea826fd6568a5401500e0256630d8b13bbebcda82c92d57bbdd4a7e00b35f369002bede500fbbb0a8fa43fc6961ef47e3cf9c4760b67a16f1e36e3028200c7cf29e8b880fcc8822563b100518abf5c0baf351a8f498bcf42a7b257eebdc8aef5aa807f01f5035e3a1ada421658fa7ba307573937e9a03ab701d1393bc984b9cd55b67e1528b88b1c4a0939b10b8aede40267d947f383e37f7c0e041080c623e1ecc3d8af1526f7257454a9e9e7a7dec8306758a1b4356726c4dcb5a8d47cb8d6853a7a3cd05d20359629f01c786deef8fa51ef5b99c234311e9ef1ac1c6f53f5ef77acee81c2e02ef35fcb64c45bcdf3deffa21165a0c825d546347d48ae0badaa2babac22ad7a31bd5d74557897fee8a89e4050998b04e6b5f3d671757e6e9a5055acac56b0163848936eac849a4c3c73f33853dd6a7b9d46d818da67bae8daf2e09513bd438b1955fd0e5f0228d314227cb49d22c8b2d5155caff0605f9623b5da9fbf89dffb32978cec7888277d2a814f53465e028dd9233c5de3bc64e46bd4cb472097546a2cbadd84bdc4e2cce0ed768e0d8e12105dceb1752c4182fe4b09e422c92471391abdc5ef1406c7e4b76068da9f02d44f63d064059ede0e09be377ec9b3a8fd150ef0deff7979a18d2cd0a642b01a07ab2b0c93f1ba599917f4ad884f015788f3150a38a60e295cdb630ea4d5b973f50350eeebf978e5ec8eb136bee9376a567602ca9d80ad74424de13d667ee1becf9ea812c9d87fe7a85841b2bccf57d52bad18a44685761c886b3f1d9e90b768a37613f86f4166fe79db84075849626772da0c5a291c356f8c607606f725a4da0b7240da677158a0d2cf94a68c90307e932a38c56a5c2a738eb710d578935655c064d40aa16fc55995c667392da2b16623fc32ec802193b174df5a9324a7e0f0c7f50c3ae27542af74ec8a744ee444699a9f1846fdce877d3431c35dcabad8ae1d12db5a344d603ac0289ac2823db68c75a62a316dfb5ca3a8b99bd25e952c2fa287d19437020c84355fd0e53abfacf2f657130561af7c74e098a5e2fe14cb3290cd7463a2b4f80c79aef4982bc20ea672282ecc0c5fbc670a6f8a641c90bb8735a9b0db2f8dd9ea298c4209f2d47d323c2b05171f9eace105526cb02277cb3ce191661ddef7a4087d9ec0c85b36df74b08e1eb38b8ae0daa51d7fcb5144d69e70cd08f2d3a09496235b28658e4dc2d24112049dab269edd8332eb55b5606356e0e732f88f2bc94a2e380fe5914e49567100204132aa2017c57f12ab1d157ed92809d9e4c5aec09360a7f4f6e53997a829f11d96d4c3745ee7d260d8ad828e0627d98dd037ed17efe1f0adae2a200994990d36da3a753f80075db0ba64cb46b4ed1635ad2975bd28274feb7c53eb48a5eb4a343f4f25ccc3d436d3fc54db435794298bde4cc1a830deb3148f391c479c95bd00bc3e0b9ed147dbc33ffd0a2c8bab353e7eae6aeff241e8033962aa8affce8d149a4a5366989f6410ba6d0b042b5111b10470ec00bbd4255786928e3688124905b8488d10da41fdc9a14924fced0bb0fa1c4df97bfb64b0b915141087fd061a05e3a8b26415f814b5ac3d9060f6a20d625173cbc16f863021e5df94e33553410602f511fae8d3b1925e5bac915dbae134b4ca99a14f6179bffbf3b3fc1067901de5102f90d36c702c797a171d86368909d1871c65211952032de1d2d7662fd10c904640edf19166641db2c1117917b8ef2bca0f0943cdd57cd144a5eb855867336fb9bf120e6e999be24d3eee86e847331aceed00092b461c5bec47147aa79a3ed15f44a5b7d6fff4947dc5575d769cabdaf24b2e53052b7016573d999aba03012ea0bb5a4829000b6b823aa8a28963766ba6b0daf9f3f02916d9af666545fe3a16dc573c9732ffc6e674dab4d3510ed22c5787c26b356acbbaf0800005a20b05e923a8c368cd0039198b254b2caef1501a417446e1c3b0cd72406cfffa5df622724db42ef3fefee28048458820954991c351b6a6e426a795f1eecc001c2a331d8db24bd10c01011d7fb7ba77df6ab6908347456268d274033b4220ffe3d5ce27aab155e4727e3b92d14650c3818dea1952b6b320f7da891abfb1d13dda532f200519b1f2eceac48c13cbdee62b04f155eafda4e1b993c04dfb6f3c5b4302df3ed15f44a5b7d6fff4947dc5575d769cabdaf24b2e53052b7016573d999aba03012ea0bb5a4829000b6b823aa8a28963766ba6b0daf9f3f02916d9af666545fe13400b4987d49b3d9321a1b3b5b2909c39cd94a199781be4e9f93857baddbb083726732e884e8b61e4324663513f54a06d8dd65c7c93b712ce137f6edb0a1c9122724db42ef3fefee28048458820954991c351b6a6e426a795f1eecc001c2a331d8db24bd10c01011d7fb7ba77df6ab6908347456268d274033b4220ffe3d5ce29bff991443d9d41caaa0f3fa3618c10150330b147641f92448dce69bed7723c0a129e2bed69e0b98da8b9fdc63663f130321e9cc946ec2294d51698ce77aac6120d8f2f9cabf36cf829e0210d653a2833c4df016bdce7f4bb8826eb6390d7203a1fd91331ac8e97af8356a18902d5d6cb9303a89611fe8d9d6f55ec0f200be103bf5e970c1b50e6fccfeed2970edc3b0988245aa641de406ef73d3c03c1f217148f4e3407f2e540295679595c8a9850a83bbab7947ad8a09694f676e2f803ac0b8496654b8cf29026544623aed450a9d3571c6b93fda26f5ffc1b260227b2e52579eb8b1437ed933d66e01015b72bb205af69e81d1ee3ddb49af276f2cc1dff1b9c34a8ae94464bdaebd8929b920873b8bc6c1014571a27b01c53bc0adefd542316c957d261fe03cff28670d836d1836b3c13c7c401071e7d57a6846eed0dfe33113eedcedf0c647f5b191197fe033b541a7f5ac2ec73a5be54dc67728df594095e09fb05f71e95f2f8587810beb457b0365dc6f208f804285b39ef1afcf8130406106d2b980e26964411bb4734b2bf83c70d5f5df79e2c918b41b5265fe15c3756b5b12db9813bee7ddedd4ca8e300a4051ebef03a38ce886c81c5d073f6b62f5a3ebe81d2118523d61cca2fe02738b6794ba907b6a9c867a05a0a28c5d7361d41a42800c830fe32dd66d62ea3423a34cb04c50bf4de5e2002b57942e6e87720c7d888565e04e50f9a98e863e03ca5ac4eef59e4de5c20c435c04f698a4f693c35e7449ecb12b7a43ea6792b0445e0d87fbf820758b36ab3e4a563889f3ae014fd42951763f9b0affd5b06c861aeac89e6c625889ecdef31c650bb0b94a15911c44713ee3dda61f3612413cf0d1314fa69222db2fc80e3fc122247ce90fd64133b04699a7cb3f396f48c4315792fe47422943369032324cb17767834050e3f2fa2d1f835681efb7b67497da4f96da2dc2880f49218880bf82b2bf04bd3819a2179ef627d798961c31ed39b02a05c378929dd04c89dc1caddd6729dc2ca37e22c8a491c796a642839bea7c2ce9eee6e15487d4b25a7a4453c3efad8429bac4932bc059cf7a4737d3d3e3ba960fe671e70ead7f8eb2d78c7b277cf5d7417df0e373adf40f796b34ea3f1982bd26ffae443000ba284c56a878e68df9d6bbbb00b3c1602c0a8d51599d257f9f97a5b1a2dcd0bd5053e399cf46c6cd52e3fb24fce07a36b21c4a748164b422b9c4c6ee90831a226f0d88899e12d097ffc713953721e520d621b10b454004a0138590f0a2ef93dc02b45e21037549334fd5bdf236f038b9d34b90938b0890f0c1e280bd81799469f64abf71b8dc86ee426a3b125ff084e76b5b5616874a78235f4236ebe2f18e12f78df72bb4a7d13a725bd0247a61110bf4b3a80fb11caf5299b13c37aa974dc32bbf64db89ca9c3b16d22bbb529354115fd4c7b9a2e6b6e23ca19bd8ad2863c2eaaa52f3f199075f10735290df91306bf15d825229831b2bd9d60e9d062611ce9da95363ff43a7673a2e14c4a4110109b2a37f7c5857ed5a4d80d771e239f98fa280765db78e3a7f0213ecf0ce50545ed34cd7221ba5524c53d233fde234fea252ee9483a947718051782b8d3f13b2c36f13917e6b2637046684c46c87732c4b33a05061fb222a7f38866fd869e1613a40104e711a86949a6018c971200fe3f05984197a9364e5f7b9698cd7fcd3af9e795520c67c27679e9838fdf93a0752cd8d73031f9e5b27a4819879515460430c2c86d385513b361ca90bf8025cdcdd2c88320d15ed5bc0e53b03f1f7ad92d30c4b65ccaff430a6ae8691b1502ed1df45381b89288e2a79f83e093ee643012cf3b49a33500bcf5951796e4eafd130452457a50ba7038f18dad0c6c119bd121f3d78fcff6fc4f34168a0d87690ea12ef1d6947ef5c11a7a96009be3a7f4ed1e0c2870300903b0cbe975f27896f15ef354c2678a5738011e9730511c580b1429c335cf0fd2ed8c0470b243a50d4925a62bfeee6832d34d3293a1317247c89f163cca30f02d1273fb8f4dbc5af2b6da7c1a9a0da11a25ce66998fbb8db8376210d00d0b4f1ea3bc16337b5239426dbbd8082fb3ed17352f315a93303b66eb182f2ff2f4b0e15c43e9cc84adc6bd92444a3e69481c35c3ec67d29dbcc49914e920ddbb63a1ef7d5da3877e4f4554fcb9b64771acdd7af1e73b6ca3a3db80be71210d160a2accb0188093be8108e1d7c75d401fa2bafa6cc591b7ac5895bdcb9021f3d78fcff6fc4f34168a0d87690ea12ef1d6947ef5c11a7a96009be3a7f4ed1e0c2870300903b0cbe975f27896f15ef354c2678a5738011e9730511c580b141ea70ead7cecf89705b4c9893188a1e36fcfc52c42a839a1a71786948be6f2513ff1666d779831429479e14d59eb591a3e95db53e9041a23044191ce9bfa701010d00d0b4f1ea3bc16337b5239426dbbd8082fb3ed17352f315a93303b66eb182f2ff2f4b0e15c43e9cc84adc6bd92444a3e69481c35c3ec67d29dbcc49914e92e1ce4971c1e0b0f5cf880c34677be686064dfb780006722ceac044d1b699bd630724526f7075051f9dcf819d0dd085d38ff955432016255920a1f29f6b253f61a92f6a61fce846b25c83d8fbcb76aa39feca1dc39a5ea305ae3ae246a618d0506dddf9bcd0c2033836249932bf3ce970b3c1b1026f23e8e76c0903e838283320c8910d635c2d8dc224aae30853b000198c997fea2ab5d1baf3f3623ee0d4fca2aafa51ed76b8aed4aba36c4904fd93b14098b1db3dfe68c1bdd1af681088c9407f239b19bbe7b244bbda03c4f49ab16ee0c9d28e52a9f362f515c4fce0a49751b24a57ea4e6e23427a8a5e51661637cb2589215e094cc08d5d3353daaef679e0c2c3b9f6c07f2ddee10acaa3df234cb296e455f22713715e471dd104e655a7e008f0e95253f1f7c2132e860b6aac1fdb6cc4a70466985693551a3284f62884910c536555c2bafc7afa6216121330bc903b7a63aefa0e1d1ba830ff38b8af78f0477f4af3a372b1664ff73b7f8451874a47e1121f4a43ee5ba0bd6e14a9fd6311681f9cf0537fc5cd49f80e288b3f53a93d1112c1daac4b4cad1e83b12369c2c31649242be344637b23d3e76d613d9bb5ddeb4fd183876c3ab91019cf4faa4ca24d002aec7fd0e0be04e5cc120666a1c339d3ef93806c74e21de12083897ec911c756d9f0e7b37be850201964c176c93d9694f18cb44730451de733c969469983cc7df2d4e410d5a96e9ce938b91ce2d013b4361bd43d8f66da10b55dc68e25526f27c544eebfc092036ba3b2657a8dde24c4a0b3e9ac21fb15a8e05289c6aa829d334c7e19d1da3849051edee801dd3b1cca45203c0793f1c69020d011402b63635d57938327fe470011de944b86fa84fe313639b97e6ee07b28871738615fb2cb5c6ae2e2434b7e7e3ec4f7fe9df3da681b341c9e39d938f3161f605efb9a90206eff64847d0869e06c0e1f8b77bf20e83d26b4b13a62c8709fd54e55d5f453cbf29fa1955b58af49480d4f66f43fcdf998c242b5c130b6e77d2b57c60473e0b0cd82aea74d5a3c78e08949793effbee61f61fe25b3ce3e11b6a019dd859d8289a1b2c0f32b805f08899d403da413f9d3cc3fb7ae97b0f00d166705f423e891fea0400df65ed1297e067ebe3ac0fb354bbd42266c4d5fbaf0cb76524269f223cd45f233671ee890c79a43d040e1b34b69eb1d5ff2de54f5302ab1be62d35f329457976046a04cb55c21ef4157504309cb9923dd3e5709761482c024635b44c19acf95209f987eb90347190b22b9036a68dcd44828e0d9e1d460b68e0ac7fb73d49da60929b85c6bb4caa196543e94d128afd211973d300a2ba95d7cd08cfac2d676504d1c96e074e53c4edf0e22a37877954f554701fb81856f1f2576b08fb0cdcf9c4efcf5072938b609c37550d2b2d4d7c393b48e8d1a370c2a6c5ff3aa304808b6b5434ce2bede15fb47caa4ad5359093c0fd9981030f68ae1ba08469ae199218a5f65631fb90c428b3c6fe54723d2b1b890eaf6033e1e730e480c56fd320ce782b05c11dea8a7acf79471847dfe478aac58c7d094b2c08ed077ecb08cf34881033ffa8c955497f9a9be99eb4672d510d8d6d7e05ddc7e4391e42bcd8083da95f3bc3918577103caaa96579d48f10301c29d73faf412b2cad7d5724da9d14427d671dce5adb71bbb4a8417fff7862dc9482e0f68b2cf0cefc0fc6472da417e3c9a2016670591f18049567c527dd3fa3ed4a6a237b224faf9e8e05eacd520ef46f33d0d05121d319a64eb8f0304084dc9b7aa7161dfc74bdf74a0f2731c92d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e16128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b1cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db9963041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b31aff9af2baaf310fcd71afd476afcd819ffe126380619ffe8a6ba4bcf1c272b390040c4786eff0a1b4365b2749e25abbf0f85997307b23334c18e38104500af234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b1cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db9961b408cd9e034671fef6c287d23623b683a4f6e453d78c985b1e6395f78582970283a6b314b335451456fb8611b6849c9da81181abdd8c3541e924886502e8be93146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b3fa1f2a2d0b4cce733cb9590433d6813522b16e9db2173a58e4bcaea7364b2a414cda1b9433fb43ff84e3aab6e2756c437f9c72677fb7a3897b566ae006fdb5515e8f6b956e151fcc9931e0243300282429f88b5c0d39259bd0c7b405d80fe3615a774ea952a2cdc0a5311c20b6b3ea677c8cb31fea971ff4f4cb5012eaa73d40982e24bf781d121e4a94bcb8dc86a8280f39f6a3bf3c5e9f6f4a85089749baa29d38d7b84f39f23142bf97aa72e7b39c6d6f99eecf6d84cec5b9394f78b32cc2b4154b76f4d104195a543208a8312cad75bfa9564081eedf5cf365a289464031710b10b930760b1df7007a4a3686d3eed714aa9bfffaf926b9aea1d9bb3bfaf1be97490b58ef52a948103dd14c075e0b228fd74aaa69126f56a01b5be5d78410a9fb3ee2ddc266fe9561c1af1e1d46e45c5e2f3fd596d94f1a0616fd38bc425136a4a102e7b69777d19efca0b11a2b6addbb39525e80b5c4a5a41b2d0042ca9304a24b06e454f15e37eb9dc401cc7060fae098aa575e2a9471d716283ce404203b8e5f91207ad73a2ffa5f27fa177638c8f6144617a72a81f5bb654f3a1bfec17d6e9bb594d95c91df51f32e3ce0e959c138122ff04ddd5659bd883012e56122c376cd4e28fad59b453ef3b8cbef9ba03077cdbf371e4c2bbfa22738a2543320d365caab92821389231b4673754ac0893d6a42147a39c5c71fa79b66123af4b26195daab57966239f328ee8cfd7f7e622a10e522fc4908fef79fa031a3a046c05ab8627b5c1c79c3b2cb8718febfad9e44c04522de67be78bcade455373b60c3a8ad6455486635bbba89cd5df6db93c9fa6cb6a3ffa00f0a389110da4d3dce10708eda2341eda58d1037f16d8130938862ae8971620c6696d5009683dfab5d4110b4ebdbf0f487245c1f28f59d3a1142ef8e77e5593815758f8d5cecf7ae6d42b0ddd099a5741732422d86c007af94c1e3c3d2559d46aa1741e6a70db6ddc3021f7f6ff9fd1df40ba5205ae789390b4647d1e3defdf76fb4c7d43a225ac144c16ec784e424b1558b442f43fb675915422abfa0e81b4a486eac585cccf94963d1080ef8a057258a9d9f751890c075441c0a8cfe93479bfefdf86e7a6e3d42fc43591588b9d14d19185dde4bc725f0c596b779f271240fb2d7fe5fb8d711c04722e88470f8bd3d647d53eee8ad8184e530c15cf47463bddce3790564215a5a3c13be308dfd703b84a4428f6d2e89fbc10e7fc134ccabdbd2f28b9555ee36ce79509c193a48b5fc5ecf091f06708e76479eec855cca220c50c55cfbc1a622abaa6356f1eae9d2b65b1ad442c08429bd9e2a345719f2942014489c074e267be8568260d44cc922ad08a779d60d31bfa0fa89e8dbf50d45669025951c7763a8a820c30ab579f7c5e53cd6f880d262d4d353c482668b076b73ffd6e9a2af47d7cf5a43687e02431108eb9efdfb4f38aab5fda5aa4b5d210db601e55defd7b6c329fdf32b256e6a2786ccb11e8a7fc01d7f7bba3aa59784cbe2a6aed0eecbc075316b0126cc2471c6d59dc3a0d113d746be0d3547b6e79b6074366321498dc4fde2a7c02e9c617e8fc8d6399ed58d7bc4b1b739b07b0dd3aa6d2a728ab5c5c71a9b65a0a71656dc6509aba4f7ba0db2c844da8757d182ea392491f78660cb388253aef2578942870fb6f2f63e3245c83b9048206d9c3b54db788f326052600c3b60b9c3578f7eb1e3fdc16b384f5e550107b29f93975e8b0209fb603d05f3ac8b87a3f3d4ed81914099177ed21615f462b08cbd517d3d801b60d6f965d71c10eb7590a2bd0405ab456f0bea331cde047bb2c125949cbc4a98bfd60a8e0118e69765e7a142fbfa54ba90f415cce321fb844d3edc8fccd375fc0fbbaf04d1f5e9689a1871b1141c585b2b3b92ff9056166a7dc5b579d2fe333d5079080d8c5010f4fd85f24eebe3a7a4d4c46d006fa9e995823a4caa96918d577f18b18546bebf0b027a2075648db9c7d829defdd1ae701474dc87184bd77f08f339b51e1772b4c8f39d938a9b72463827d621022e518feb8b237b0c1db8418bdc580474bb9c1b370c62824af6c4a0e738d15af518683066484ea3797b357b2cc0208996753d87ecc213d1b5093b5f18c72ea50ae797cf99b7b15eaaee5a45680f712ffc5dd148133dec423fb2e76a256dedc5509f0425ee012213cf84315225411743883e728fe26b63c1305733414894492a1a3f0176203d1d04c24d0d56137175791a1ed6efe0fa5d81b1141c585b2b3b92ff9056166a7dc5b579d2fe333d5079080d8c5010f4fd85f24eebe3a7a4d4c46d006fa9e995823a4caa96918d577f18b18546bebf0b027a23bcc38de259794d1d1cab6b7fefd013589aed9248941ed46dcc3933d1afcfaa82f01bbdd13d630049ddb187f3fc03732d9bbc1385e477990c41d0481f40a9c2424af6c4a0e738d15af518683066484ea3797b357b2cc0208996753d87ecc213d1b5093b5f18c72ea50ae797cf99b7b15eaaee5a45680f712ffc5dd148133dec411d68caa2862c78883eaee78094d9fb69b4c1aed67ae908a1a76c75ec489012536bc066bad4f192cbdf19e4a06169f22f64d1f342a06c9e1b7b20cb69f53d5790075332f5d01670eef8ba333ceae68014c23709bed761a2417d533887d929c3836f839bacd4cb83bce97d00a21ed592566d0873a936e7da7485c5a3c1e908d2d39954678b1a5732c0fddfaacbe0b8bdbc6f69fb051ea77e62f725f4b80104efe3f8058432788d19c1939ac22f665d90cdad538508b2308a357f968198b89875b1bf79ff0dfa439b6d93d9763387c476f5b04e7a6f29df9b002bbbb4f5869715d061e7470e83326db84ca3fdd1819f7ac0997356d915392c85d83aaff157b75fb0c4c51836c04ec1611574cb4cd72ac360ce60f3afae6ec236ca2fff35a9b79bf3ecf0ffc66589848a4a6df2983fe8757b0a0177245937f90c675ca014f9ecceb3e0510e87609ee0b7641bdfc6408f6dd1862fd8cfaa604591f0b31c117bb45a216a0df8e383f15abc5af0d87e2519bb700a076155a652a988a0d9036600b97c82e3acda5fa51380086b5fef1f34cb4ff6b45431556eac7e6465554a174068030362f5560cbc3219cd895dfff8adba4bf383e5d9f86ddf5349a47c3f5234f0a80343b8d3a499009443a6f0499c5fda2a4937237cd0357430cae3010c256bbcef923d0dc3bdded84331bdfa547155f735c88ff8537edf8bbefeadf102061413bfb322bbdc20c3487333276f3542a8545eba3b33a7d7abe26b2d9af60dbe0bc08b81516381e0ad8a8f952cb4579b8bc1a7f6c356ea82a86c8c00632dc429b03c9950dcd3ca1194ee0ed6bb4e52df8451228d26861877be3877eb947b41ed4d7bdaf1142b42a3042047016cf7e9932f79e3ccab1eefd1c252d15dc77d1942b5141890fcfaa07f8f13f5388567a36a944f7a0f25539f32cc581c97d59fd057691c98824833e161f08ee66d2dfb2e80b55e9221b6c0e0950aff5bfc1b4047ddddc48d106557b0429bf4f70d3d9a612f4a270761e29202fb6cda6c4d9414d60776f8de237e514353ed044bca662e92ff3fd4711ed61e7fcb4ce180961bcd1dca4541026299a1708b374cb6fd3537218eca3e787272548560cf9ecec1881aa30f78061ff38aa96130d3b5496a77fb24b94d68c65b484ff1ce56116fad0366847efa7fb4e01442c85d1b86a1cd704d517f4e8e88beb69fb6da7252598ab0d7c4bd83cd00f2e468ff70b4ea8098f672b9cdd1b35ccb182e69746d15eab258b93b922ec2cdb254a4ce9b4291d376038f9daa27b490bdac640c35851102b05c2ea00f7b0637d2659281dea6d5c2a5e49459887ea7cb491044ec873722a56da56669b6073ddf904f2e9442b20e64f2c0514bd42cb2a4537b6c8d73f96e9700970267e8861276a3d57eb0d685f107339bfca45a14c51011895ee52d5ba6bb1755c5e0745b750e02b44b93726a50ec3b44b0fcae91514fd100bcf32b7cd239b4bd0e6956e7482023cd1b51e68483a1b667760569233b34802f096394c10b7822150c107c469fa9f01e7be04f48f1e5a4331fa9e1a776c5b414eb5cec167a0a6fb939ef4509ee942136eca5a10dac8e590c86f77163f8febae3469882f4675665f2c564470e8f794320efccd18226f7a66878549707fba6c508e3a3678dbd282999db3b526c57ae43372ba1efc5b768c7616d73bb48de149d491392ad32c9ad57f4e4d2fa5f525b8294466cc27aab29e2f7209ed78504fe2574a110414d5e9f2d80695d1d3a0690f1ab0b2919b27856c524f4284b0c68d2f6df120fd4d01decc00f8c199037e8bdd0087ae544ea93498c65afeaf9509667beb82df3516b3d44d414281f416174e503f7851abb156cb6739a501506af6998436c3b9c6f29924ce57eaaef8e9e8b1b102a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e7487903d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b78710d40063bae8622eb5ee2df258deb0219ffc7cc2f378fbb8b5f7eb0d62846a5d032bff9c45179dd14a11d20da7214fde6227eccccd1bd3d9039ae8016d7b95a3102401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f3dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f22dda7993bb63b920d19663ce7699c1663913de649c1ce24a0541cae4019fe4e7097998dd755a75aeec7f1b4e1157920db4e06fac5683ad42514a0e9056d7033602a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e7487903d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b78712c7c05dbaaa276e307c1b631d0854a7b2233757913a4b1c04107cba8d65d88df2ccae3c23c21dfc70adbff9bf23e5a82809a36c245d603a943f18ea16c2722db02401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f3dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f22dbe6d83ddfab2bb8ed281dd777263c51dec4d6493a42f57b175e1d9c275616918016098aa02665e1acfd881bf89573a1e3d6325e54235c9d8ace9a6067e91ef3fe631bb11f160007477a032a2a9938bfc7b64d56575786aa2fbc300c12e98b33a5a0028661186e5e1e6056e265ab1752e2eb5943d8b0dc69e69044675dd73f91b9951eef69a298c3bdad115e3de6e8773d1d5257c1ae6bda4b52d225e16ea172216432aa0f7717132a656c846091a389aeb06c1798cec562ce4b8b8dff91d46052596b4709f870c3916cc070d1ec5ce40f86edbde6459fa52cdc1dda0a4c29c33aee89d1bc43408d3a017d89796fc1f28505bf50ec33c95b6b31c02b1bcff7f34ba3f325b76b7d1dd5d0bdb71ddf4f8fada025f9c2e8957d37cb87437dca05218d8ad91ad1762e5fc0ddf5339a00dd8fdcfbe876819f2530f70e4cabdf7f1a704d9ab3d96519734fcfe9ffd1fcb9b01f6dd7e509e04010dd25a36a04e4e293f0d7f519ae6079b59e0fcdedd94d530d49b5cca230a5f799ef2f42c5c2de37ba63e5927439cb22c5d528c3771020e65b7a544a845bea602c864cc53a87c3ac6e125dc32b7aa425ed1ec44619cc8c0dc2913cb4228b0f2489ca52e40e2d7b11882071d7964297a8ea44de32551f1f3ae579ae7470d04e382dd244513f2ffac75b8351d9e143788b08a945c2f423ea3ef0ede93efdf638fcf61a57be8f036ea41592e5ca37839b7bb7a851eb9afa14a38f3a123c4453236ac4d7949c7202d20d443231d853b38bb385fb5cd277a1c1a6b1b6dcf4414d85831f3469b338bc023f04734aadbf7c6727be78bc67a04539b5d7370f3803f380a3b2482f46aa5e2ada09b3bf31c5c7fc9473dc9721d81cd32492c038f774d6e70b1f53b9281f144a5c97806f340ac5771f843ef1ba9dd45d5913c6c8f98b407419b1fc07895cfa3986fbc34063b6997fdb9ff070e47b3f0d1946aa508649c8e60a26a3858edaa836d13d431030474197ddbfee5e55bd5ab9900fa946fb7966698ec309e5dcf03fdd25fe910e1d928cf9271f9a307a6c8f1a971296e1ade765e158786da5672fea52ab9812f87a235df58e74674ebfcfbf40dbac50c3f3659a45123198f143c76dbcdb52c2c138031fd8bab5812a084c41ad365f002cc54d443444d6e07a68ce3e951e879376993f8457acb22abb8e3893191bdef905e1ae8a76e4d222ae1c722d11fdbdb05f5c325e9ced44dff01e788504bfa3ccec3e014cbcd6eb880cb80fdc88f9eaf258d6711426090eeda49eacef0b044fef8e1ad78652e2d64f0bf5cae13ad523e26037e4766b7f124395fd66fc5ecc338a4a315ce112a56a904dcc629ea56a2e81f0c9b4c87486f5433c40b4ff8dc3f50716d5893dc890db9e229ccc07d375af238e7bf00adfd4df280b332607d757b9da7ac92cc2fec43945fac3b3cbfbbea7810928e4b74784d2a0f8f48b050a1873f4ded2c2ce14ebef899d1db378c8d1df7090f26cc424395ba391ca14a37e6bf8cfd4e46ac5418eefdb9b0640f10e7a1aa0bfa49408d911e7bf5988627cbfb16799de1db4accdcc46a035296ad8ff8efe0095c3f1e77d8c8c3de61e3ed64bbe5cd51a1440c23d151a3576d5e8b318ef0f60f07226ae833c3884bb4919b9766b533ce3161d83d1e4ef05506236eaa89a0c21992144baa0cc995c401dc4a6d3ef9c415b2e8caa1ddae9c787832f7fd2c33c804e993a118c36274b7f0711efa4eef3f989f201fa1ac2f5be8d49a1bca0f25d0018fcfb51eff88f46a4796ebff30f7ea9845809f5fc8ba51d747a35cafb5c0853d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e15004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b5470093d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e150070e339f39258d62d9cfeedc219a1265b0a9daaed5ad56f7c18299e8f753a533fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b547009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011f76ec95f31716a3325338a9c741a645235ff53151342230a8053755acbc917500000000000000000000000000000000000000000000000000000000000000002359b68be166de3e51675862b04c19791e64f0827b1bd6bb4bcfd8175c048d7f00000000000000000000000000000000000000000000000000000000000000001f8e94c42a3989bc0525c4b88d85b5739625b62a65d794ae2ee5a11343c55b2600000000000000000000000000000000000000000000000000000000000000001550e205ace9934b6581666d696d0b79d0550dcdc45baa564c24d3fc1dbf688b000000000000000000000000000000000000000000000000000000000000000108c7159a22ae6db6e0e23e286dc3c912bfc998299e36424f622a94984a4286b800000000000000000000000000000000000000000000000000000000000000001f6c5bf0052d0873a5ee9794164e1b09565f9848122f6b4dd6094219ecf3e6a50000000000000000000000000000000000000000000000000000000000000000127a9d5e74c644b7bca6ab72c6342dcb2fb379fe43b9eaa3793de0976a2748f4000000000000000000000000000000000000000000000000000000000000000333de437650bfe98ec02cf7802101505b5bafdc5235dba1ae2bc0bb0babaeec77363862a1aa5c473f47d34474490c5e48e429119ec734d9c65be972f84516b0c60000000000000000000000000000000000000000000000000000000000000001399c38f4e40b3fc28c282ed6e8649a8c3de7b0c3afc74b5acb30ca2ecdcd30110000000000000000000000000000000000000000000000000000000000000000351a0bab70e756c7ce558c1c651bd617c8356facfa5e2ce10502faf83edea6673446243530b33a7812aabdbf91a12105409fbe30e243fbf3fe1a345985f2fc1c13b12b4449cff24c47affcd8a95ac7d3ccd92a00f2b856f561e162e800befe40183912dc94955d0d0db696c6d9f457cdef3d0b0a7e0fe5edb040fc30c95787c117c497e0c286ff578e73a290163cdcf6b1bad92ca7df62a4c5fda677b175ddbf14589939996f2117ad0a7b3274d551afcf1a6cdb0e70d36f58abfa6e9261611118463951e228070edf6c56f6f5f4129482f76dd1527ba36e2c334db3c538e25213a07ed591f7a5528c5dcd097fa8ba2092f36f2b2d7b361b031d8031f6042c2a1966beb8cfc622bf6248ed4cce9131703943c9277b2b82b76f98fd0700689c8636a4c01c5886c6d7c4563029fb0aa834299797d52c6ab3c0189fdcf5084036eb37f55f97ff8dff7c0d02f835fa8989e960e09ba20573daf2a9b60733b37e96bf1d6128c705dbe7c3c6f771df362d725db0e91cb0f48734364a371ef20e094a180fab86d3f35b502d6c3a3c2be53ca2aa5f32f5f5b4c6882dfd9ca59d37a413660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f7851abb156cb6739a501506af6998436c3b9c6f29924ce57eaaef8e9e8b1b10087ae544ea93498c65afeaf9509667beb82df3516b3d44d414281f416174e503d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b787102a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e74879032bff9c45179dd14a11d20da7214fde6227eccccd1bd3d9039ae8016d7b95a310d40063bae8622eb5ee2df258deb0219ffc7cc2f378fbb8b5f7eb0d62846a5d03dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f202401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f097998dd755a75aeec7f1b4e1157920db4e06fac5683ad42514a0e9056d703362dda7993bb63b920d19663ce7699c1663913de649c1ce24a0541cae4019fe4e73d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b787102a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e7487902ccae3c23c21dfc70adbff9bf23e5a82809a36c245d603a943f18ea16c2722db2c7c05dbaaa276e307c1b631d0854a7b2233757913a4b1c04107cba8d65d88df3dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f202401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f18016098aa02665e1acfd881bf89573a1e3d6325e54235c9d8ace9a6067e91ef2dbe6d83ddfab2bb8ed281dd777263c51dec4d6493a42f57b175e1d9c27561693a5a0028661186e5e1e6056e265ab1752e2eb5943d8b0dc69e69044675dd73f93fe631bb11f160007477a032a2a9938bfc7b64d56575786aa2fbc300c12e98b32216432aa0f7717132a656c846091a389aeb06c1798cec562ce4b8b8dff91d461b9951eef69a298c3bdad115e3de6e8773d1d5257c1ae6bda4b52d225e16ea1733aee89d1bc43408d3a017d89796fc1f28505bf50ec33c95b6b31c02b1bcff7f052596b4709f870c3916cc070d1ec5ce40f86edbde6459fa52cdc1dda0a4c29c18d8ad91ad1762e5fc0ddf5339a00dd8fdcfbe876819f2530f70e4cabdf7f1a734ba3f325b76b7d1dd5d0bdb71ddf4f8fada025f9c2e8957d37cb87437dca0520d7f519ae6079b59e0fcdedd94d530d49b5cca230a5f799ef2f42c5c2de37ba604d9ab3d96519734fcfe9ffd1fcb9b01f6dd7e509e04010dd25a36a04e4e293f25dc32b7aa425ed1ec44619cc8c0dc2913cb4228b0f2489ca52e40e2d7b118823e5927439cb22c5d528c3771020e65b7a544a845bea602c864cc53a87c3ac6e1351d9e143788b08a945c2f423ea3ef0ede93efdf638fcf61a57be8f036ea4159071d7964297a8ea44de32551f1f3ae579ae7470d04e382dd244513f2ffac75b8231d853b38bb385fb5cd277a1c1a6b1b6dcf4414d85831f3469b338bc023f0472e5ca37839b7bb7a851eb9afa14a38f3a123c4453236ac4d7949c7202d20d4433bf31c5c7fc9473dc9721d81cd32492c038f774d6e70b1f53b9281f144a5c97834aadbf7c6727be78bc67a04539b5d7370f3803f380a3b2482f46aa5e2ada09b34063b6997fdb9ff070e47b3f0d1946aa508649c8e60a26a3858edaa836d13d406f340ac5771f843ef1ba9dd45d5913c6c8f98b407419b1fc07895cfa3986fbc10e1d928cf9271f9a307a6c8f1a971296e1ade765e158786da5672fea52ab98131030474197ddbfee5e55bd5ab9900fa946fb7966698ec309e5dcf03fdd25fe92c138031fd8bab5812a084c41ad365f002cc54d443444d6e07a68ce3e951e8792f87a235df58e74674ebfcfbf40dbac50c3f3659a45123198f143c76dbcdb52c05f5c325e9ced44dff01e788504bfa3ccec3e014cbcd6eb880cb80fdc88f9eaf376993f8457acb22abb8e3893191bdef905e1ae8a76e4d222ae1c722d11fdbdb26037e4766b7f124395fd66fc5ecc338a4a315ce112a56a904dcc629ea56a2e8258d6711426090eeda49eacef0b044fef8e1ad78652e2d64f0bf5cae13ad523e38e7bf00adfd4df280b332607d757b9da7ac92cc2fec43945fac3b3cbfbbea781f0c9b4c87486f5433c40b4ff8dc3f50716d5893dc890db9e229ccc07d375af2090f26cc424395ba391ca14a37e6bf8cfd4e46ac5418eefdb9b0640f10e7a1aa10928e4b74784d2a0f8f48b050a1873f4ded2c2ce14ebef899d1db378c8d1df7095c3f1e77d8c8c3de61e3ed64bbe5cd51a1440c23d151a3576d5e8b318ef0f60bfa49408d911e7bf5988627cbfb16799de1db4accdcc46a035296ad8ff8efe01992144baa0cc995c401dc4a6d3ef9c415b2e8caa1ddae9c787832f7fd2c33c80f07226ae833c3884bb4919b9766b533ce3161d83d1e4ef05506236eaa89a0c2018fcfb51eff88f46a4796ebff30f7ea9845809f5fc8ba51d747a35cafb5c08504e993a118c36274b7f0711efa4eef3f989f201fa1ac2f5be8d49a1bca0f25d010af26a590440962b4cea4ae015489f620f21bbd6dcaa8855c78e49560062fcd2f50d95a6fbbf69d4b315b51feab760a01547d3e9b8250963cb44c579ff9d034136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef002c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe11101211ac62b16a4eaa3a82e14fe2141790869fd1f9780fc9e6070bf2d08609aaaff1ee539d4e95b155c57d1eb01debe86f7b849796488505abb286e03e49f6555022585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f91a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa90814980ef86a402efa21aa111c186ed1aa47e886d3323c457b9173dff5c46ab019059128de1dba3cf5ba09fb592d362c53e4e623798ee8d0f11b6a448ae8df61a9136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef002c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe111011f300e73c42dfcdac4c77c776fb1eaf974a2b6f1c909d1e037d5371f2eb490ad178289488710848d9af4108157ae31301495f0a7e2a43880b023b7ad9aaa67cf2585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f91a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa9081dd1813b075f0736229619f2c71ab50e881ae94dbc753232ddfefc2a94aee1970af7aee562fd7033c3b98c876b58fb7c84b07dc44a49a8bec2426b6aaf71bdfb0b0b59e3d76049a3cbcc543bafb2590ac18882a0454dfa958b5471d33d0dec0c0c2b75fbbe433ef24de4054a1dd9f66a53f2af49bd4023946d9757847ed1746427624e22757db72313e5321ebabb7cd64173de31b252ebcaa41653bf9a5de3cd34647f4cbcf889cce1ee88a8111c2445268954bf379c14e554c7adeb9c3cc6d2387a1cc9d8ea660225712227c72701b038c71778865377a18c22043c9761592f2f9e34654d2a6e4d9b8f93a300d22c3b82a27106a7f0d66a2b69e200f02da5b208e53b5f52f8cbbd2b69fe9da891b3c524c079a273563c3ffe400ac150430fe8261518be2ed2a3ba05a42ca60284c648a536996ad18431901b54e91c3c38a09424ca5e05ae2e545bb357a5d3b8ee98cb75438416ce23938b96a34a5c2a5e61381e017e6cb4b417e5f0772e28ead544ccfed564e25e8904b6f855d5aad1c0c8813ae74bdb7fd11cb08562ddc1a3e94b20cff7cc601776b37e4c75ba7e04ab53e115570f23058ea593d22fa677b9f8e251e89e9afed8e75f85982e841b02e12fa82b80266714c670f20871f8085cdd99b27c5a85991596ed64a913d56a35486a441be66aa7f12d165502b51acd430ce024ba4d12d179b298e8b28d205330c4cb9a18cca8e8087b15c91a5e6aed360936023af3b7e12784b6ffc11a7a85bd187ca52af8ba37f2caef110da30bf8a5e2be5dfb272a7c4054114049abcb0cd2cb4ecf3e0fee8b17f10c99397c8e9e3455d7f7fc8955e06f3615e72550f592f9bc32733ba5ababda7ad0df34f1dcfa08f411c518f4db21a4e749ed52ca7459876685370f8f45ad1ed30420a33160f0b52f1599c3f2f73724e130daaa1d31165a6ab83c3826790a2c0b62ac039a87298ba7cd45f4e1c641e59c8df10365a61b4a8cbadd16f09b0282b2ae67cac9cdfbb10dbdbd23edc992278c0fb499d22e85e91facfc181fe214e5eec1dbfddc1f8f144d5de71144f03cd501436af97844ddf63d45e228c36f62465ee041e1861bf41de64ba1961e42094b54687c2b017ff28700b59d2cbdd3395dcb52fc82aa290d6fba47455a44dce34b97d424363ab322cc586810383d6fac6e9a2040cf425b12cfa33c9e3874ad726b60f438af345d5be5e2356c0abdf6ace23d0b9aa5c40b4b7c0fd9230c58d26ad79adc8d17304d6b46b8a49c339bd15362b9ddfb0ccad8b6c3325d9b7e8961b851c3eca0d5c34a018831a8cd097c1df93c305c4054f7af46d99ae4984129a1e3f920f2f268298aa7d6e5f28e04de753891e46af01f07adf6699c90f2097857a26ccf6256fd75e4d76bf03aad2b7f82b9b07d4f9a7233755644174025f7859f492711c4b2ebc54f21dd2eb59331c13af40dbc415dba1bc7d756a7f486b45451d893d9fe24be8a858ed9ffbe803c1cceff425c54132b9e9dfe1b5b3567c1729af7d7bf6187e0914283d054be432a99b089d5bb3a45d4d4d006cfeb0947ab7ff806018468eab7fb3d57d1388d052abcd7d52faeacf9ff259a0e60cbf2ff6649c04cf876a63e3bf1e8cdf04f53d20c8d17866cc39d08970f040881ef6dbc99e2966bad85b603442a716c4094eea530ea2a71450b1ead005082fd08ba22c437491e95e7cb134660ecc17d4d5b58dd1dba4bccde81624c13bbebdc887bbc99868a468a323c3e5afba1ac1917c1e8431dc55138579055204a8b536b0382af07063fb138ca44aa3b54f5bc9d4b506b3d03ef5f8f7ebe290e27042e3444a34da933f7ab21213fb3c9a65b93152f15687d3c10a0708141d6f1d8fbd1cbbb5cb256ee4eeddae80d4551f2d19dd7d0ea978413acddcd79b6cd46c314e7055730844e03d657a5a63e82f03fc9df69eb6b0a712c532232864932b93ceb18faa8cf7bb21e704156630e762b596351831494f5902260550360920261cf68831ab3f29585f0e91d4035eb9595a5c42c24991734341d9faafc9f6dfd9e30977ce54c0d6a7a315d7bbbd3616385f36904c866e8cbcd2be1a910e2da0be90d0a8f8583bceb9d70006048fafff9b50a7a7adcfd740502141e56ef1d25f416f2f5707a7c431462b24638b30e4cff668eb2b610028bfaff15ac51f2643f1946107f40035c85b54a5f0e0296edc4d441d4ec1c1594ad6eb62dd6891f708eaf06e298cd935ead07443734c74a580465a9e9c91618118bded213acddcd79b6cd46c314e7055730844e03d657a5a63e82f03fc9df69eb6b0a712c532232864932b93ceb18faa8cf7bb21e704156630e762b596351831494f5903dd860c14226e0e506bd54e457ad2a239f1e3d826ec572fe13b083ac73078e332d035ade8b6e23ac95e4ff214b399a155181e0af4e212b69c96177795bc582912be1a910e2da0be90d0a8f8583bceb9d70006048fafff9b50a7a7adcfd740502141e56ef1d25f416f2f5707a7c431462b24638b30e4cff668eb2b610028bfaff04ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf573150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada0080e66a6916ffed1789799c76492a261b0eb50e70d1406718dac2de714105ff2587dd02bc866c753c84ee16bff698a922cf0e10e5ffaec1eb2b335f7c5c59b63c60d8c26c78a499c2b308323c76f4b4090bbb8726eb100fd710f7a7c4f9305000823cc9f6a79c713620f55a44e380f418ff7f723604ce7d95b91c983bb3cafd25703c27ebe0b3a2a7558c2da593ce360835b163dd11f34aa374fb16367a2b233c7d3e2da09f452a3e9516545d3bcee61ff2709bd217e1642888e3acb35d7c0928a51911ddd55c747119269c3e891f6d17a00f7a5de724a19dc964fea72125a8336cd096550111ab54cf3f360699be1dde67f05620eed0b3fb4c9dc6a9dc98ca3fc82e390b2dc0b771b27875821c0b00ddf2ea262c7d9508f51b739f90c8027303826d67453486b7b6543e90eaeb14f4b91629af09587efc9b0f40d692e039b82f3eb2a11ce2b8a2d18b495c907cb8ec04c8a3968638c734ef0b5c5a5c2dd8a13c7e860f04e375ad554b023baf13deaeae3382ac69c5e9cfa87b28e04bf975af24a8afb3c8ab4bcfae659da76a71da3b66db13d83922a234023495a1fefb54332864929e724de725460112368ed22cee99cac5fd2fe13eb9514ef4f1d05e23850327324fc249d2f45f463295601da0b4ea86af5a2d2e3205266f058290dc9d602b0b358b0905911be86829adf3ae0cf39e5fb7f72c4d2afb7c740038167c9a73117d3b1b74763d737be191d0ba2491d1f970a0fe8f4f5ea9cba8ef14ed69acdf27c25b124fb6470595a3c865df2be376968a627ce6a810b9c934542b7da5530d1d02a05a400e084c98de63438b1b3132c6dde42af6f3a1d28a5fd3180b5084d33cf3730802e4365ade5210da74280d92709334a88aee3a223b3a431153e5c72e362006a3c9c5f4037d5c846500a8c18d6a0897298a7eb250b349e73561a5e3d804e73379151ff9033785a92f19d9348e536b5ed7872cb8ff7a0c834c351c0665272cd32c55c6fc76b36226ee7233759afcbfae9ef16edcec2f6a3a7993f31a213ff53d80a466e4b4fdc3326d2f9530f42df3075226e5854e7c13e7b0161b9ea328268c6a8f3d407074385d3325c8ca5c734d098b69738486fe930c7a0232022e138975bc07e081b1ee9cdebbdbad6da7dae65be4b052548077a9c727142360f92961fcf55bd50b1ab4e1da97ccaf1b6147ae7b1ac5bc3b68407e5edda6e7970925dcc2fdce04cbf9bf8a766b4e2adcb2265600390f5c0eeedaa722af787f74d707888089b0d07458fcfb3c112d0f8ca1fbb88d856210571d663c093d59389b740f212a7e03f550a4459605a8d1b10a8a6c547807991aa7f43e39c84a00a2c7d5388a14df55a90ed99d7be3f423fbf8a38e1a7546b92160a2248cc9c7123098f91fdb41d4dbe73193d0cb7f1444516175c25f35a13ae942dcd5b9dc78bc4027983e62465a0d33fc775309d470632ad134bbb6b19406a5388c06139ffdaf26122a16f44204f835eac880f095a4cd8c2b12561306bef355d69cedd986281261cead339826c17d39ec3f575644efd63d81745cb05bdc6b71e3cb2997f1a237f9bb380fa3ecc6caced1d06e1ca3ac7f4b208a40f6d2ea8efd2339f8a67167ae5347ba0d59162ca284ba8b520789d96f8f0d92e7cddcd9a1295f4a057323cc981c8c9e34a1b3392ee474aa43fbf6247ef334841f1de73148cafa5fa8b5d1c258658c382077dea666d302e9680c24a43d9ce3ab1eae47ce663b20eb61b77c8bd965303b1f882159992cfd1697f3db5bc2631c550398512da311d8303775b461269acfc622575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f1251da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc2bb4be400a9b48cb292f940a04523bb463b5d7578c2a89b15cccde8c3ae1b5b7144b41bff564b734d6d06bf5fbadc44bbe90c1a47d226f6a3c605260c51e4a4a1a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c90257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773712b03bf8a4a67f7f38df90939f23b500a3afc9df37f0b22bb28b9304adf5b40f1210da468ee45a2c26a9b70bc37a8f18126d84a4cd40d519d3a989cfd007e01db22575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f1251da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc367aa4cd631ca1fd75bfba7c792041c0f69bdd5917acf71a3241ad994958d8971303a9db1ce240b3f0b1902fbdf417c1c939c831ef723db2b32b8b4fab6f39651a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c90257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773711dff3c5197fd00d1d0a0de7643244f7892ab4a9b26b3f4238af227929b22c07334ab22fea15d89c74a4ca0d1cbdd19b18c8dc4699b5e6d44a70b9e363033d8120f8754407db8e589f2df6fcd835c20166f375ddbc3fa7d6b8b38ce4ead63de951dce4c6f48ec8fdcf23310ea6da276bfb61cc5178c8d13637523cdc2874588e9332d4a77f3bcfa18dc322759cfeded4c08f510b36f27c4bfc90afabafd1318c41875f63445a0e1f7fc26f838de870cdd21b323528aaff0b1d950c6e4ea47faa018246d6a11276adec73122f6f4fad16e967ca607ede02d2cc64d7b99560b738a10b008fc113aa9a859cd89f3d596ae51cc05331dcf962b56a8ee3bd4e26cba3928d65beab5c373dc1be9bdcb796f89e0a74774d7d5216b3f8c7f5a13bb63a96d21ac0fe6b5b62b3cc2317b18b20505b83e2dd9f9446dd9682916f2d9fceb820d1df586816a3a616e1b929e5be9939b51bd4b70806679dd70eaede79e9f5c4a1f2882064bb8cf34e998b5cf823f11ea2c41c37c9ad9ca8fa9b2345da82043676a2115b402266304808c7e080a7486c9618780c638a0948808787cf89e0b416e923a3fa35b253f5a03dd51217a90777c19fafc9d23fe558ee3ac28bf78f6788e4b22c63064a6c8f49ee4ecf3dae19b5d295bc8f571fcc3dbea64d25a9f6339271c027092074f07f6c626cf51b41ab5babbe6c7bb587737197441176fee07035aff34cc589b48158e14c48c119fff9bb4fee4786f53af1d157bcd5139a2feb197332e9f69f631dc00e6bf8fe1b27c22feece04db5bee23add2b22b0d5d0bdb7050e2b106a3e52c572b2681f7bae46d30bd45c60dee79cce0353d0b3ea301865cf59351d95d5e3d465ea157e30e813d7a93f71cd1e4eff53fb69ab82e3218d60592e2891eccf3cd59a49714415ac8bbe16ea07bccef4a3de6c77da8704bee0aff69909ab7e79f5e387a4f030eb12168b2b1884b7e34f902795e0c8b2e203563c58fd24207a33cff7fb46677ad571a0b286ac6aad4c5d8971b46cdb3acde219fc656b24cd04da95bf734253e4968ae3f95afefb1d2b67cea5c785ff361e78c08d97df18986313f1910d389bba39cc75d5bd86409ab697a6cf1b65329935f405ca1d831475df68c6eb78e89b89e573377c18a883f9e5b790bab41838bc8b97e1505ac41669a108afbbf8414398168a531c4b6422a3484f04a50d7ef74090303322980534ee063521df0bb98164e39fe182d27d59499b965f0ff733a89dc0ba426b55a303f2ee3ef6c05c62131a89ddbab907261c76727842802897620e40890e7b57190747d4b6652f649ccfea171d7080fecd6c6377b56f42d9fbc1a75d77283c785b3c0ab0ed20570710369414b56a1de38e5489cdecfc7c047cb89289c57090695c1b652fa8b45ce9aa20be95047b5ab36fe3848145c6339933d830305a5456558f099a3679b4872439066e3d215b82140cb586cabe7efdd6c8eeaaa52074915fcc24159f225d8263d52cd4d22e52954d2a3f00ae9f802809defba071f1b29316dc04a5ab95754af27588b40932bacd8973484e17c7f4d7d42c12784f74c010c00c10b0dcc9901ef4ca4b4660e275e972d3a735078efbd641e14847a5c4017720ca3264fd20c69e19d05b457b0abf104c2b7a9942fe04c0139a4cb8ca7b13ee980a21795a87e9636b1a99e2de5dd42c62f2d589c7b1f781047f56a34927c80669b61a48d4b93bc7ab25684e8edcb3e09203e458f745acd1ced0ca63d161666961ef0a9bca104a822501db7fdcf6c320c181ce78006b3b786b33305e473eb0c0067a142fbfa54ba90f415cce321fb844d3edc8fccd375fc0fbbaf04d1f5e9689a1872bd0405ab456f0bea331cde047bb2c125949cbc4a98bfd60a8e0118e69765e7a24eebe3a7a4d4c46d006fa9e995823a4caa96918d577f18b18546bebf0b027a21b1141c585b2b3b92ff9056166a7dc5b579d2fe333d5079080d8c5010f4fd85f38a9b72463827d621022e518feb8b237b0c1db8418bdc580474bb9c1b370c628075648db9c7d829defdd1ae701474dc87184bd77f08f339b51e1772b4c8f39d91b5093b5f18c72ea50ae797cf99b7b15eaaee5a45680f712ffc5dd148133dec424af6c4a0e738d15af518683066484ea3797b357b2cc0208996753d87ecc213d1305733414894492a1a3f0176203d1d04c24d0d56137175791a1ed6efe0fa5d823fb2e76a256dedc5509f0425ee012213cf84315225411743883e728fe26b63c24eebe3a7a4d4c46d006fa9e995823a4caa96918d577f18b18546bebf0b027a21b1141c585b2b3b92ff9056166a7dc5b579d2fe333d5079080d8c5010f4fd85f2f01bbdd13d630049ddb187f3fc03732d9bbc1385e477990c41d0481f40a9c243bcc38de259794d1d1cab6b7fefd013589aed9248941ed46dcc3933d1afcfaa81b5093b5f18c72ea50ae797cf99b7b15eaaee5a45680f712ffc5dd148133dec424af6c4a0e738d15af518683066484ea3797b357b2cc0208996753d87ecc213d36bc066bad4f192cbdf19e4a06169f22f64d1f342a06c9e1b7b20cb69f53d57911d68caa2862c78883eaee78094d9fb69b4c1aed67ae908a1a76c75ec489012536f839bacd4cb83bce97d00a21ed592566d0873a936e7da7485c5a3c1e908d2d0075332f5d01670eef8ba333ceae68014c23709bed761a2417d533887d929c383f8058432788d19c1939ac22f665d90cdad538508b2308a357f968198b89875b39954678b1a5732c0fddfaacbe0b8bdbc6f69fb051ea77e62f725f4b80104efe061e7470e83326db84ca3fdd1819f7ac0997356d915392c85d83aaff157b75fb1bf79ff0dfa439b6d93d9763387c476f5b04e7a6f29df9b002bbbb4f5869715d3ecf0ffc66589848a4a6df2983fe8757b0a0177245937f90c675ca014f9ecceb0c4c51836c04ec1611574cb4cd72ac360ce60f3afae6ec236ca2fff35a9b79bf16a0df8e383f15abc5af0d87e2519bb700a076155a652a988a0d9036600b97c83e0510e87609ee0b7641bdfc6408f6dd1862fd8cfaa604591f0b31c117bb45a2362f5560cbc3219cd895dfff8adba4bf383e5d9f86ddf5349a47c3f5234f0a802e3acda5fa51380086b5fef1f34cb4ff6b45431556eac7e6465554a17406803023d0dc3bdded84331bdfa547155f735c88ff8537edf8bbefeadf102061413bfb343b8d3a499009443a6f0499c5fda2a4937237cd0357430cae3010c256bbcef91516381e0ad8a8f952cb4579b8bc1a7f6c356ea82a86c8c00632dc429b03c995322bbdc20c3487333276f3542a8545eba3b33a7d7abe26b2d9af60dbe0bc08b81142b42a3042047016cf7e9932f79e3ccab1eefd1c252d15dc77d1942b5141890dcd3ca1194ee0ed6bb4e52df8451228d26861877be3877eb947b41ed4d7bdaf24833e161f08ee66d2dfb2e80b55e9221b6c0e0950aff5bfc1b4047ddddc48d10fcfaa07f8f13f5388567a36a944f7a0f25539f32cc581c97d59fd057691c98837e514353ed044bca662e92ff3fd4711ed61e7fcb4ce180961bcd1dca454102606557b0429bf4f70d3d9a612f4a270761e29202fb6cda6c4d9414d60776f8de238aa96130d3b5496a77fb24b94d68c65b484ff1ce56116fad0366847efa7fb4e299a1708b374cb6fd3537218eca3e787272548560cf9ecec1881aa30f78061ff2e468ff70b4ea8098f672b9cdd1b35ccb182e69746d15eab258b93b922ec2cdb01442c85d1b86a1cd704d517f4e8e88beb69fb6da7252598ab0d7c4bd83cd00f2659281dea6d5c2a5e49459887ea7cb491044ec873722a56da56669b6073ddf9254a4ce9b4291d376038f9daa27b490bdac640c35851102b05c2ea00f7b0637d3d57eb0d685f107339bfca45a14c51011895ee52d5ba6bb1755c5e0745b750e004f2e9442b20e64f2c0514bd42cb2a4537b6c8d73f96e9700970267e8861276a3cd1b51e68483a1b667760569233b34802f096394c10b7822150c107c469fa9f2b44b93726a50ec3b44b0fcae91514fd100bcf32b7cd239b4bd0e6956e748202136eca5a10dac8e590c86f77163f8febae3469882f4675665f2c564470e8f79401e7be04f48f1e5a4331fa9e1a776c5b414eb5cec167a0a6fb939ef4509ee9423372ba1efc5b768c7616d73bb48de149d491392ad32c9ad57f4e4d2fa5f525b8320efccd18226f7a66878549707fba6c508e3a3678dbd282999db3b526c57ae41ab0b2919b27856c524f4284b0c68d2f6df120fd4d01decc00f8c199037e8bdd294466cc27aab29e2f7209ed78504fe2574a110414d5e9f2d80695d1d3a0690f244de44548e8f18f3946613a8e70c802855020c7b23227b00643ff829a367b8d1bb21bbab7170e70c6b99ec5718f37fd9cf67834571ad16b92e9316a65c984743585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef96420b9b4ac41ebf96fc97df7eb7e903883d24f6d5b7e4b040ae3c2b46cb0f5210b73464b53be14069036820814816fc77c2fd4fc344249cb86d5d01ea21f0adef4a3a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a539305f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e0bd2349648fb7711cbc8a0a9e6b0479b8097298586f820862c067ccf6fec8f9030b2d35e8b9ccd7cff5b7e77da853332af258212905044d735db6324c78cbb193585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef9642075e9142f011d8a5b11d6e4be4a65023beee949aa3419f4fddcaa7cf865ff7a20df134496bd4353f36c811045f508d58ac8f369dc44a86b4372771869a3ee0863a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a539305f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e0c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f227ea8b5156af97e52eaeb67eaa8b728e221ace9ceaffad0ac9ba0bd3668025812e4f255e9588058403f743ce01e556d04825967b61e1c3e30c177a28526aea26019d7383b60cefbad58dab6f65c951aa9ea993ef479bcb26ccee015e545c91701a561700e550958827a77e3c6b1e3c3547d162bb09f30e40f99dfa4af18095c60394b376b77ede2f9603d41d8e733939d804c684a6dff2b62570af789efcbff73d1bc5f5150e1dbe363d95a221faad4424277c422176282da5130e05e79076e02d74df4f6746703a9c24a8e0d93b3eb3fa53838df3f277c38fed223a05ed32a62af5b88685b7ffd1eb14893b0579f38f0f60095d8898f62ba600f208e1c122de1507e790774b1832981aeb94ecc89cf0539702e24d57d41fb3155e53ebcd290507ab566e6495cfbacc458c8686ca92db18bcf1536f816f05dd5e662e52ef00f32e79681a77b08b01ddf272f4a9f9ebe999a4fba3c2b7d409d3d2b85f0648ce73190bbc5aabe2f6367b6ed69c2c3e87b6afc704cecd80771ab7c4ea8929bcf1d7261a4788202ee2dd6573ad29c6b42ce1f2a6a5c998e249e5ebd707ef2854ebc01df7c5c3c4bc0caa35dbf7ba736675705287e808a14487ebc19bc3868d066af037f0e0144d99a6af86dafacde30f3ed80eb7763bbd6cd08abfba69a882e8988b22a70b939bf2c23d02b8b89a9b7639e25a9ef17bf41cfaddac56527acac5d34a228e1fd22cb4941788470a412e2a45dad70cdcf4d5e2d84bc18ab786eb9f512e3706bc5bd6a1dfd07ff6ff8be16f55d3215d93eff9edee95ae55d26b6c726b163c6b9de108154bcb2d90458e120095e9e73c5e207828c50ade1f7260ba9a74023db398f948e0718eb05e33eadcbd2dfef444c0d2b23e1af9e30d2231df9379c5187cc0c73618778fa99f5678fcc5a9eedf2986e942c9ca0dee17d3a6c1feba7a1510ec4bb90cd61603fad81686ad5ea93799d198227a8bd950c0db3f9d2e00d313a09c4cf194d0f62b9cef3ee65bbb65fac53f162831b83507b87c3ab90a2d74065ed6876ab7826a0f9307041743af79775e6a27f2c5af83da21db89822cc93c3f81ef1342e2e145dbb6a5f9eaf01dfe439dacc84ba7f8eb4c91a9681e438bf903035d3fd55e5348a37897252eb223ae1ae2d286015c038c202070a13ba8252c0273ccd889b96271acd6c2464d615610a144600b9950ed2dfb7bd9402761edd12f5e27601e78c0dd51d588660c4c1c3f7c0c65213bc7cd87c133cb78f63f699523efdbe6f6be0299d509ed1fc3f8a0aa314e6e852388c9f908ae7a61ab7c09f502b029bdeab497e7c58c7498fbb3d90529ae5d3cf43c82893f456cbf86cef1ba07f9e5555ab238334c621ddb4db7999bc4536f4df282a005ee97691d9b9dab08285c7e2bd549797702dfa7a8b5ac0a9fd0225cd7f2e068e21ec72e459e2c33d2053199a8e7c6dec21d2488b8a89bdcd436324b1f5aecf26e46286dada0fe13b61024eeb61da3087db6d5e15c881b1f72b950d43795c1239f1497878b2089cd203cd378782dd78ac37649918987784516caede36b6c0a5f0986d7e6ef6e01a162163f840a903be8eaf5cf2b34d9b0583591e3ea4226b3786a9d7ce26ec887ba0d16b050a707888f67135f8799199dfb6f2640a73527bf045597b97772b2b3e7421b0f08855125b99782ff262b620f2d6218868db9ddc457ff948f44967082355436bdcc7b0f28b5df31744fb72326829dff98203a45f8ebf0e047f48898cdb6db09423384f0d74a20ce8bb048dcd97d6222ae78c1c3540d2ab8e53c646732492611b4fe674bcb8d5bf7458e93afc08d1574de3d3338a8b745fcb302f6fc0492432e4b0198b43472a408ba716c503f72eaad685bc8d0a441d59c7a2df603fb6dbe1888f8047af9c2cbd45bc8e26ec2c16b2610990411fe9b425651dde5ec16db4e277707fb85063d342ba4371d913d3e94fc35fff7f74e5dd942db530713e924b33aacd81666e0cdfb25caec6c29cdc7179c0c641850ac0f30166c24909c724885055327e9991f3204da351393d63238e8863a34e3b8a0e9eb82c10c5c638db77c36bdcc7b0f28b5df31744fb72326829dff98203a45f8ebf0e047f48898cdb6db09423384f0d74a20ce8bb048dcd97d6222ae78c1c3540d2ab8e53c646732492611b4fe674bcb8d5bf7458e93afc08d1574de3d3338a8b745fcb302f6fc0492432e4b0198b43472a408ba716c503f72eaad685bc8d0a441d59c7a2df603fb6dbe1888f8047af9c2cbd45bc8e26ec2c16b2610990411fe9b425651dde5ec16db4e277707fb85063d342ba4371d913d3e94fc35fff7f74e5dd942db530713e924b33aacd81666e0cdfb25caec6c29cdc7179c0c641850ac0f30166c24909c724885055327e9991f3204da351393d63238e8863a34e3b8a0e9eb82c10c5c638db77c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000096b2e845687aacf28b23b179f9e5bba3e92ace37985c6947760248f6a140f4e00000000000000000000000000000000000000000000000000000000000000010a41bbe8fac6322b486609727113f78a0a083600051de97fbd4060c9737f2b95000000000000000000000000000000000000000000000000000000000000000018b22c2ab7613820a5ad345021bd8133d7a3bb02aadb680b02653368518dbc2b00000000000000000000000000000000000000000000000000000000000000003bb05ba472fe9f607276cf0eae181f3df3e75bece43ce943391be0b4a39054f800000000000000000000000000000000000000000000000000000000000000011893426da901220db750a91f4d3401d5785a954604e9d8797990eafb9b3c95fb0000000000000000000000000000000000000000000000000000000000000000218483c5916b5e587adfc8ae8765a857cfea4a27caae7de67a4842c16229393a0000000000000000000000000000000000000000000000000000000000000000090996438597da1fc234a220f1d5d27f89914ab924b2cd0994ff3fc1a3d1dd20000000000000000000000000000000000000000000000000000000000000000037bc0fccaab13923f84568390f6aefa9196a6fe7b297f541e70051016fe15378363862a1aa5c473f47d34474490c5e48e429119ec734d9c65be972f84516b0c60000000000000000000000000000000000000000000000000000000000000001399c38f4e40b3fc28c282ed6e8649a8c3de7b0c3afc74b5acb30ca2ecdcd3011000000000000000000000000000000000000000000000000000000000000000002396091d5e28bb266bbd3a30cfd473b78980568932aebb16478f5d0b7e9574f3700ad51618fba64b2994783aa1f4cf8e66c832279b4b418615de5a171e4f094019807c1875c4147c8d1ec6fcfc765e0d267907f27740144dbf9adaa2da9cc74398c42049bcb4b8900c445f2fba1dd6e32820c108617645cbfffb585cead428e07d7540fe97b8fd290c836212ab3d893f97959206c4f00b073b0b684e1f9f9d93e691a6bd7741b7d8a501a2e6abc4e585a456f2e1b8eccb6aa1800ffc7139a590b864cba50c7f77319ffeab0f6623a5ff38cc7f4a694941c657ed9c6cc95ff3418e086bcf144336c936d61029ffd61335f26d2ed5b2abd4bb68ef79679d35d4415f272a775f591b249cd33471bb0269c3494c483b8ad167920247628aa56faa53aa4e0cd4819131209e78f04dc03e15de9d36d7b68b02922f20ef1fa8dddf117122e88ccdecbf2e34f83d8143ce3ba1eb29f8ece934396e3a38945180c72f91b0327ff92269df45c84769200f3d342283ce390885d6a7f29b736b020b514e7bb2acf58b93d4b5d1bbdb91974518439a5ef7b29b03e7a8065f29c73f0284b4bec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ff2863fd35bfc59e51f3693bf37e2d841d1b5fbed4138f755a638bec8750abd200d79c02ca403a61ae0c96c40c81d27e074e3001c0bc0244386f82e378af5441fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca521eaf1c3ba3fba4c7600c546dac75271cd22b99c9bbc2e2dc2f1d3f85936e0c692150e3c45c045b389ff3ab92538ad8e3501aff324d8a163f6a0ff1676c91f398196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f6183c37f1f8c918875432b44e9b2714985a78d967e78e8ff6ef9dd7ba3d87276c3dab0c940f201bd18a6ff6db6278fd150f48cd0e09f70b62080efcc344f940c91fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca5234eae6131937bea68a0f376fa9a68d18661ab9b102813488e6fbfcf730c29bb13cd137a6a3f049561a3629b321ae033f18a87aee4f35627cbb9512130f2f453d196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f63ccafc6418112053d1c539dc198ca765b3a8d0cc38d47492143067a7a046f720305d9e4e7bb0cfb3b7ab6f2a16664d9d00ffe6e15a8f452fe648d4b20ee2b07906138aba397e4b359850d5fb9c7b448092c3e7d23790979247670115db6275520cc3da9332bfc4c2de3e80fe3391c67cfd20927847a5a0e2f07a246a7573e31811f4870e00967d2aa94b66ead6e5b4fdeaf445c337a5b94553f2130f6d53b08724159724b2e5eb480569bc87c7b6ec5f72c64bf602b92f9b89b5cfddb9780a1506b3226f5fc2f78fce4ef2292ef5c12a14db3cbbe18639ded8ca7c871370237f1ea1e97aec8ba848a9335bd2e61c7a2f74c229d8ad38b08d541bcbb63193717008a0fd6dec7a90a4cc71b26a104d2e388d1d867a58fa4198f55558aaaa1be851057f778f91e162774f846ec9331e9dc6d12ade9849b5ca5cbcb8fb1639cd9b6208b822f40825a5a509321353cf7003ab244be9202a01bd31315325963dd98a9f08e8f07d6bd843d8b2e7e211f4cf6f5fcc775fb38471461612e1daca7851e01012eaee988d5651af48181df2ab92be3251a0767984549fd590832640e0a80ea22faa4e6e67c06baf41b5bce6877fada6f82f85efe06a0f513a292ff8dc1549c51561438d141c883ba6d0faef75c2ef01a61fa9fe622f01dc7c46efff00e3ff9a2983d2b6c0a1c5b94bb964474783245462558f43df6583a29b76f55e9c89ff213b3533ad7a0e0657c5fdc5b9be9fa8c098b9f41acc1e97d709f8c6868a532cc728dce36de8a0348e1117a72aa7f95b86ef3a0976a099ab89c3e43c60b888b21a0aad176f564b062c47d9290fffad9b3e77cb9374e3633473cf7933e083efd37a2026bce61eb33f151039b3dd0adf1493388a541342295f31ab940692b336483c30872e11bceb273643e19c1c7f39234a57035eed93111da2b339248d5b6112a20a95033f1842fc696008061da54d0bda2c34765fd52fcbce47522d65472a45c3301c58614a50b5e1fe7eb65a9a4a4d97ca00aa2285dd652be21e37f7dc83e7b50a23f2f5f18009866b34908739b6b6cc8ec62503d8d6fc5b8258845c499cebbe342baa7358501f6e500ddc53ed9e1cf83c9a771f644f0cec06a1a380d6e4127c04f181a85509309ffc690745c4b69eb9a1a89219e455dcf3a1a5968142a0162e2d603b73d4e78dfb9d9dc6b9d2d0b1c4047a3c85247f970997735ae2560ca2a618c22807a32725c6d75d985d42d9b847318cb774708c7da964e123edd5db0a262b8c07e42c2be22e07f49b9b3aafdd56a89566193a53c3475ddb0070b2ae9f0c2d01574a609fb3cb2df2a097aef5fc617135823f5b999a36f29fb8cfe64e7aff3785b42c08ffac8ede3bd8688d275763d36c444e88259113fb51d6558e17d0792b17dcdfeafa8202b8c5823f6b577cd02eaca9308dfb43328a5ec0774b60764610be3565bc8517230563ebf06079a28f6ea3a4a64303b84f938be811bda36ad01dc7e8f6d1a9b224ab5c8afcdaa7ebdf4a295470ba2ed8baa8824d16c3750293336aaec1e537111d90ffb26c6ffc30f3fb6fdf64781319882f6d36ca041d8fcd21ebd99d2032d62242fab7a8c0bacb531659d8ee81e7f5a0c47fef5bbd6a510a01c9231204148c08fade153d5532b17f273fe99237b5b8e9c492b2c1e7c778cc3f6539e31f0b5a8f8a18506820d94b799d4ee6ec406c89babdeafeccd615058434e4b30e19fc078c140717eb3f2c4f01ee1ff2330cbe5683163bd108bfc665c5323bb77dcb50d20820385e84b4cd56a3005d347a2485fd52516d7bc15b8036e73f8f1cc60c6da729d26301123de65ed9c73bfb511bf223ac1d15074e708ac5ae0070e339f39258d62d9cfeedc219a1265b0a9daaed5ad56f7c18299e8f753a533dcb8fde3e2443d11bef055b357fda405b1184a56686cdee2cb460d432b5dc6202347021c1dbbc2ee410faa4ca8025bfc7351456a2c62b2d6c78d018cd4a239f34f9cf5736b553158bab1ac80b7f43413e3d334adb6e21387ad12070fd8d4de60b0630a8c94aacea7454e537f480bcbee40965b12dded7e31e5c107c0272b21b08e10cb4118a9f6bba5785e8397c5045ae179c8623f2c1ac0160de80f3c2857a371ef34bee75609445a87a17c683afba742efc75e55a376f97cc526c0c3d7a873f8f1cc60c6da729d26301123de65ed9c73bfb511bf223ac1d15074e708ac5ae004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983dcb8fde3e2443d11bef055b357fda405b1184a56686cdee2cb460d432b5dc6202347021c1dbbc2ee410faa4ca8025bfc7351456a2c62b2d6c78d018cd4a239f34f9cf5736b553158bab1ac80b7f43413e3d334adb6e21387ad12070fd8d4de60b0630a8c94aacea7454e537f480bcbee40965b12dded7e31e5c107c0272b21b08e10cb4118a9f6bba5785e8397c5045ae179c8623f2c1ac0160de80f3c2857a371ef34bee75609445a87a17c683afba742efc75e55a376f97cc526c0c3d7a870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000159d3d4d94f424b4a7321b64fecbf3cc294b9483a29337f43578f27fa71d442f0000000000000000000000000000000000000000000000000000000000000001339d0d4d0e435170fa0d03cd8276be2a77f98662e0d14983f9f93f5df8d16330000000000000000000000000000000000000000000000000000000000000000017b2dac71546dc2493713ac1ebd0fc3a180c7c29eaae5b0e85f3959b824bca32000000000000000000000000000000000000000000000000000000000000000130d5089697900f486566b25f937f0c13c19035483fae49286eebf770f651fd0d000000000000000000000000000000000000000000000000000000000000000034ce144c6c81c3a065162768a4dc8aa13b043653f4c1e5bd888034758056cb760000000000000000000000000000000000000000000000000000000000000001174444840e84bdd8e44b3c464c2b3a577005b7246266d6f2a55951159fa1ded300000000000000000000000000000000000000000000000000000000000000033d7e75e21e473b8eadcb0c93c7d0c293853e031d762382f3cd087cb1cc95a7d800000000000000000000000000000000000000000000000000000000000000003450935f5c08b5ba732fec2aae8bc669e710b184f199794f62f0f1119def62f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000399c38f4e40b3fc28c282ed6e8649a8c3de7b0c3afc74b5acb30ca2ecdcd30113a216a22aad1b971eaaf110a73fcc23bd7e02195bda62980beeaecd88513ef9134f1242f5dc86948ed9d2b74e5fce35b62629bc6d9af7c0adabee5609fcd2ea532fb97ea7c68d9737f717c690dd48a1ae3061618d117519c7617ee865d8620fe119310dc0ea3e268653d746ce2d62f0e68b58a44ba2280a8f430119f5b10cefc12a6e88de9c61e0ec8546dc9c0815cc7960fcf8f0c88dff2b0542aaa15b2fdfd36e9b8a22ccd4c967b2c4d2646cfab20589161be7c644043407a9bd33608d0241e1a96900d384c2991ce78718b9171050b316314cdbf77d58db12eed197c484e19a20facc67688f250091cc174caaf34943f93d26a634c98520228d9bed5bb6e0f7523f6b1c4f0e1deefea6a592785fca96cb3f0cd81045ca63298548345dbf424ca9e34924e0fc7df2c93e10411f8cb5e88ce9042425f02e2d476e71208feb53cf7a6536ba2d90987a4a69cf9f611d4ad6f008dceeb077ff90496a4f039d4a8185ee20b99c70e364c55c37836c0ea72645ab7c52b1007a8fae88f80d14e0c2f00000000000000000000000000000000000000000000000000000000000000002773de11be11d680c2c148365c89758652c99ef9e352173637938d74d1a4cf4a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e15004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b5470093d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e150070e339f39258d62d9cfeedc219a1265b0a9daaed5ad56f7c18299e8f753a533fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b547009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011f76ec95f31716a3325338a9c741a645235ff53151342230a8053755acbc917500000000000000000000000000000000000000000000000000000000000000002359b68be166de3e51675862b04c19791e64f0827b1bd6bb4bcfd8175c048d7f00000000000000000000000000000000000000000000000000000000000000001f8e94c42a3989bc0525c4b88d85b5739625b62a65d794ae2ee5a11343c55b2600000000000000000000000000000000000000000000000000000000000000001550e205ace9934b6581666d696d0b79d0550dcdc45baa564c24d3fc1dbf688b000000000000000000000000000000000000000000000000000000000000000108c7159a22ae6db6e0e23e286dc3c912bfc998299e36424f622a94984a4286b800000000000000000000000000000000000000000000000000000000000000001f6c5bf0052d0873a5ee9794164e1b09565f9848122f6b4dd6094219ecf3e6a50000000000000000000000000000000000000000000000000000000000000000127a9d5e74c644b7bca6ab72c6342dcb2fb379fe43b9eaa3793de0976a2748f4000000000000000000000000000000000000000000000000000000000000000333de437650bfe98ec02cf7802101505b5bafdc5235dba1ae2bc0bb0babaeec77363862a1aa5c473f47d34474490c5e48e429119ec734d9c65be972f84516b0c60000000000000000000000000000000000000000000000000000000000000001399c38f4e40b3fc28c282ed6e8649a8c3de7b0c3afc74b5acb30ca2ecdcd30110000000000000000000000000000000000000000000000000000000000000000351a0bab70e756c7ce558c1c651bd617c8356facfa5e2ce10502faf83edea6673446243530b33a7812aabdbf91a12105409fbe30e243fbf3fe1a345985f2fc1c13b12b4449cff24c47affcd8a95ac7d3ccd92a00f2b856f561e162e800befe40183912dc94955d0d0db696c6d9f457cdef3d0b0a7e0fe5edb040fc30c95787c117c497e0c286ff578e73a290163cdcf6b1bad92ca7df62a4c5fda677b175ddbf14589939996f2117ad0a7b3274d551afcf1a6cdb0e70d36f58abfa6e9261611118463951e228070edf6c56f6f5f4129482f76dd1527ba36e2c334db3c538e25213a07ed591f7a5528c5dcd097fa8ba2092f36f2b2d7b361b031d8031f6042c2a1966beb8cfc622bf6248ed4cce9131703943c9277b2b82b76f98fd0700689c8636a4c01c5886c6d7c4563029fb0aa834299797d52c6ab3c0189fdcf5084036eb37f55f97ff8dff7c0d02f835fa8989e960e09ba20573daf2a9b60733b37e96bf1d6128c705dbe7c3c6f771df362d725db0e91cb0f48734364a371ef20e094a180fab86d3f35b502d6c3a3c2be53ca2aa5f32f5f5b4c6882dfd9ca59d37a4136600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017e6c570737897f385e789dcbc7a09bd4f82ab3e1182aecd80ec9d0beefa6c6d28193a8f8c87680c7a1876234385f642d2c3edbdf7ca4a4e184093e1110593943781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e20087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e1158947fb46c6d6c8139c768e67eaf37b8f475833620e501934849dd55674969c2a76b804b9392937ec63897198150c8492ff40c8a73ea90264a89317a98b69652bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef601aafb98fe3c7e145be4a6dabf48a3c1bb938b56cac45d20c90ddf9a51a5dd250c98e6ad449b79eeffd5f8027562cbe70a367201f61efe10c6bb73356e6841ef3781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e20087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e137ebb527644abe9ca40d491f463a138e82ba07217d6ffdf70929ca2d49064b18322d065293cc0d0a7d500bb6bc25dac47a581d5cacf15202cab0f41c34794cb62bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef6288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc73502405abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b31a541dc9aede8050ad6648812a33cfcce3efbd5a696c6d22401470b7af361c4e377596ab5d4f14c7435038a9742be3e6d0ecea3606fad6a74a40d15db38cafde3cff4add3b5b39a946420fae887c5d80f9be807c2cae874fe2eecb217c4a33a133155bfffa4eaaf5265763d96834c0d47be4b49ad2565616276ac6fe0002bca6225f38958a22f587864d484e087353529bb565a7c3f8cc927bf29623920b60612ed8323aebca6617510998eac8055eb3ddb4bb9ce3516dc3254e76a0b5e3cd763476b458fde3256e6e0c704c961263a48999411cfc436d3f174aa162a446d2ec0882a2d456da5d39bb60addb823433d2a70580be2a42e46b1f834b3ff178d76a13e1704721fe7224ee6bea0f9e62e4bf99bd9e0e3b172efd46fddc66f519a9fc344a3d27cdc78d0141634f3788a220031093e287ff439310ed4c39807eeee18d338349b11db91866ff9b9e6d78f94f5b62e397516608b61efb4ae66679bae9e52811f38458bfac0795a8c2bfcaab17257bfa2273aa8754fe0d857cb8498edee719e4a2072d9a79abcb16c5a00a5afee32523bd094229c57932650bd2771be1c80f23cdfb493a0b67153844f23ca197c6cb239df8ae7e67368cd64a9ca8b67d883c93849dc1d98a68c1a0b1ad9299f3c19b1eeba23968590b4bcf97ef7e0a368b0f8ff0d7b4423811c80eb7c9c00a468058599df0d70b741956b3351579e8f5a429982d544eeb6c4f77263f0b09bd4a6d53c145ff5b1de5240e04e50d8e377cd63d0ab68b2d6adf958cb1333545d2311a93d57eb478a9fbd0b4ae0528be54a3083d8e18a86a9711cfd1f4d11d1243179252bf3724b8c6f14649dc416fd145ac333d8e18a86a9711cfd1f4d11d1243179252bf3724b8c6f14649dc416fd145ac333bf87ac49de45d125e50261315131b4c7e356c9baad96dfa2071b74e9de23df51c8a418ef746a5eb03e9f48aa9a35bf4228703c6ea182ea08fc8b6cf4ff43ab51a2f944a3da7b1ae65416fb1f04108a23be068cb6b06fa0cc9c02e322a01c2952785ba6dec6cf516af18f54a31d86104fad649d70433c803ae1a06680106b2be05ecc0238bdadda888f578522ae0ecb4b9e4c5df78e4b69d96b416c020af920221f4e4ab393a0f0b82e49c793461b60d32c86110798405d467fe8766425b1247360479272cd776f197c8a4de116a24d87cb2894903992175f368739c63dca9ba1e1c6a9a91481d8ed28655584df4ed3e72bb123db30f3708df39d737990d9c19338a87854b98f357f5a02e00a397ae9765a45a59bde9de7db592ce35c39ef53a0ba2609f5c4828afc052b9b94f58d1570b8a8f5897e9beef8bac2bc4ee42db36313b573ec0a6c7081f31545b01a875b6fb49160bd5dd600935fd031cfe2bcc6e2146989394bd4857720734d906dfcb6ca4218ffb27f69dc01e3b39bb45b9a1db05ea5350844eb1de35bbed7a0241610b178690dc27e45b31faeec3c571ad70670f6c350e811b35619e3e7c9b2e759b3bd7fc8e7ac8c9badb5fd131734fda706f24222d8067bb59906f5f2284bbae9aaed0fdc9a644bdf8561c6db2567032df05085612dd7206ebadcd34d323565a4907b4653df811ce54c29e7e5f1571353d892994e0aafb19061a5cbc9fb1c11ca1057500fb98eb3e20aa3d2cadd8de1ab97035f566cbf7e6de416ea68f60e83859040ecc3a41f38e6f0d68f3b9eb2252f7a52ea29935b680ddc9d09db5bb767c308cf109041774f53222cd326a318f5b4ed8115d66ca497f22362f624a448983cf73313d94e49457c6f8cbfac6bb70a4b129292cfe0c908454f113148ca9506cf2c04e5949812ce30f5b36748030ccc88a3516d301f36f7bab0eeceb7356af930d3fd3ed4f7adc69e9c062b8b0bc333775cc0de0f63ed295a8b55f66bf4e9220bdc120eaa491c488617544beee2cffeab306321f09c12d6a574aa09940b16ddf423f015bf46a44c497a6546e42c000154cfb0564cf3a1cec4b8add01bc88daa3b4c5824e9ddccd5cee2ebe8d75f3ff957f1d3a9b30c5e313b47522fe4377255c4b3a9ff7fb1f3bf00aecda9fbaf9006a80e404edfcf92f15befb37b3222a77838e4d2e8dc2d12d0b3dce2f8a681e8119162a1c798debdc65172b2e1e32fefd0876b56799cea6b9e260a45776e15857058777292cfe0c908454f113148ca9506cf2c04e5949812ce30f5b36748030ccc88a3516d301f36f7bab0eeceb7356af930d3fd3ed4f7adc69e9c062b8b0bc333775cc1a33ff918d712a9ac64a296867e0c3f4889786669f9ff870b0f1ce69b85858c523e12f00a5d2a7ef159a99c749e8678aa86e1a41da849b19b4444373d6691d3c0564cf3a1cec4b8add01bc88daa3b4c5824e9ddccd5cee2ebe8d75f3ff957f1d3a9b30c5e313b47522fe4377255c4b3a9ff7fb1f3bf00aecda9fbaf9006a80e425edd8763b0e9f24ec8bee196162f82280e8709816f727bdb7fdac9abcdb63e01de7898ca0b76c5ccf8ea31d9866d81454a22428dfdbb89c3b361d9f92cb08570619740bd4eed98e73d3e9250829e5d95b25063ac7f1311918d1049e100bd160361129f14f4b1aefd01185a3fe0c49f013dd96fc53d5e0c426559301a04dc26c38f85adb83131f92a32be540812de1358d283876f6a7edaf37d8cfed24dea6901d6e6734ae27dc53718e9e1712a733618887a356078ec6b3728edb0460e7e42b16ae7dcb7f1c7e7db769e0bb41a49efe92c4daebb425999dae428f79065b871f097a41365cefcdbb0f283cb6a7e25ad7f2e973ac618590c5e34f9ee8f7e2791a27c25661d61bb5ae7e18524930937ade751ab4f1bf94266e4a7460cb34e292213dec4b4acab37e58463e47a6835f6b1116611d2a92de527a56866cb91f3acf2f2a4f7bbd77d7c42c725a8627c03c5d3d4b3085ef3e737cc5f626418e167ea4642c77c9ffee6a627ddef8db6a648c05e8685efa3b9f612e3d08acfa784a4b89240a1689f98cbfed49a6f4deea7a11066009ad075d06cc67a37979ff952fee8d271f5293866d11618d300c9e8897d3f1cddf49702e3ee54945261bbe099a4db4c10756ae64b26c6a11133850c29c86153ac163949b9c4950780fd1f8f14089cf48237d0bca97e32384097bb1c20c8b1088e22540d6050bee3e1f649cf423ca931f34334998fdcd6e1f4e85579911c7e2e27e1fe793fb43c3b7e47b53fdcfc54896096785215b03c042d5974c61ffe2f733c41e1d5840d7ae53c821a081a95fdf3e11c6e5e5423c937744cfd4cb3f449ecfdc7b9849e367a4a6f0809971612dfc6933851c0b145a9b2a104bff251c16489fd08b6a56236a48a88229fd3277a1b0d1218d39b95a0f03a7ddb5e117e8409601acfe6c670d4f87b39b37b8d83161ac6c25ee7243d9e13e58e432b62ae82a6d17a46bb886ae3b076e43a38bc22867eb7019b1b3e0ec83e1d90edd5bb93ee53f71cd8a4b61c722e0ce54632986d07dfa760362c138b53de8f3951676056b54cf68b2a225166ca4db60cc8e2b7772d4fed20afb7243fe0b835d05efa98a78bbc7f8732cfd5b63d62d74ebc0005ca9534e832646e7aca5e2f3a6babf9b8c4f54361713d16a090966af8cfaadd9d57b56dc580d242b138c3a9d81c9e759520d497189a4b55a7eb7af75ad605e04ca57c39d871c25c6e1fd0de924b6af2e73082e73d0918b8c0928ca7c03da973ac40642e53c074a9b1e9b45cacc131efba91ace05759bab2056612512755bd79340b76150470b00d5e394d4dafe975042c2360553b9916f55af4081827064d577ca6eeef2ae171a76f14e37169ff5593c25d67053f43cf2e189326bac0aeff18b952ddfa73b0cc6b08f2d35dc70d54b4e5cd4c524a8a807fed323f6e2e7f6857bda9149c1e80718b6b2f604b1e46fc8f0b5ac85a4edd952b3b83ccea2a74643752697b90a953a8f1c739b27d0402162014dcafde9a214fbe35c5c28d1efada667c3e37ec24d16a42fbe647f5230607652d9f0902c47971db4e159027edaf2299c117d3db6483eb258a0a0ea950f7384173b4026cfff7aac0371a0f8904e01c38a14444a2a8f253bcb258d851b34ca967fcb93a9b4bf8df2a67a38bc3cb2018ef51adbc154a83e6530d2e565be1055fb8cf3bfc4a21cabc142ed4b324366906fb72ba76feb4d061500a544e443b7d79190eef45ba716b0db5e80911794bdf5c19d53e81b36a810ccf1fe76a52f0b2ad3d3d911adb74ae1d8fb62e5c7fa1553963fc4025c177226d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a19282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89702371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af20b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b637615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de77089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a30138333ec0cd3a2f003b2ba55e05e2fa774ead4fcf7199fb0b105e77950113c06e5c55ffcba77d2b8e09351df4b65bb3b2f8c0c5560bbd48a1c6c85fe6e750002371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af22ef6927e54e42ccefad20e7d319e79319002b8059d2e0733d0528eb6613c6dcf26337d0e5df1fc671fd5a77b33306388562d6d9e1efdc6a1a6a796283e2da58c37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de77089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a1709b395ecdd7145b01f3db15cfa8cf1b8327eec8beea5431732cb0848e630a222fcff711ca6bb32171257895548f0d889e96121e743e2acc701e0bb637c5d8c00dddebdcf165518df283b0305385dd4403fb012b57c0fd5cb48b0b17ec6f9ff051b6e3b27657e6f59a62fc2488424619feb08dae09e6155efafd477d4d677d529879b24cf7e1cb2812df2b26bff07da4df80b3ffc98eb7b3125587bc9190ea63f7b75c3fd780239b511850ad18437a38b4b184b35ead7ad2c004de5297a181706508b9b4af39a1d892af2c102ec89e3180f9bf5fa5bdd1de9fdbb06d4f67c451db19cab01309c925c544303a282b323ffd468ed769668dcde63b891d8ccc83f39917e23cb927784319f39ca48ccb359b1f0570224f3321057f84c6e7b5add0e173bcb2f630c45d11df83ccf90cfa368ca02e3e5d36ad21669224a6e21ab677f2ba74a798e17ded77d23299c3186396d18942e8595f874eb87a2a908dc8d9a6712ecdd576e391bf5d9b77e861f428819aae6716644337a029a657a99909cd77732a6c3244765395bbe4eb47231867bb6368339483fba4bb826bf54f4be882f9b21402ea06825c733157c0b536692abfc76fbcff1476067a695ba6ba9bb2c27b02fe9b862fbb2091ce302daf405d56cb7f245cf6a8c601311db1613a75322ca020e666fba4aa2a868a8c6f76cf9a6704dbaf4696bbc45e4f2fdf559a46c7a12f71f0804a4d6415055895010cad17618533e41abf6509b801eb9482cc81b07305b2ac979c1a7ac4a62d7a5edb46dc11c82c3f6d0bbaa8769b449cf88c0110e2c050ef3c575ed19861d1fb29dfcfda6a62b89e2c4ed942ac3ac9a51be7f9e9c8c7a17bfc3b139f2466c46f5c308d612304d9500bfd48eabd3c41622e0492ad11a531e843e6a9e143bad55713d92129a4a87a0f28e5c152b5584c0a667bc93fb2b0627d1b5900326774dc7164f9c3ac17d89e4f92da6e6fab7ccf7026f11568fbef521534ce07594d1b84a2b70ee30d4e615cf9baf9e2bac71b9265ef64520e163f6122621cf58bc127e9265420d619d03422a362adfe285b3d0912e72eea1c5ad8b00d829d5afd542e94b761c6947fc09428c7051fa8654006eddf2a3f227010fcf246ece789a6b84f3a52eeba057d40b00172bd06fabf90bbefb658811a61301a236fe209ebe2ce8b7a8fb8c14eb6252051aec452ad88e2cede44aea1097af5a9506ee48a323b66966af8e0302642881b9d02e8137845d12ceb98e5e3e1407945f3c5f221a5d7213beffd562ed5d1c2c351f9ca24a521a5a3918f90922352527a725c434da685e002f2cc9fc69df24f88ca78aaaa5fb64190fb25c314aceebd25b29c49887e65e3cd74b870f78a99dc5e443efe5b6832ffe5c7b76b679590b082a3af5053b9cfe1d845312a29a885de18c3dbdeb6f7ba62b401fd0a0b417119c031d60c791660f9c384aa51e8af1779f181246c4ce39130688bfbfb4c63d418854064b4279f45a330c03ca76336b02de227f4970108ac76e7a488c8c85a20554a807ed57379edd6b62ef4f9ed30d85e47755c5fbffdf610c61b49258a73c6132570d693127668c7bdce4aacb42233117cf99bd2357114d09aba62d9c918526ae7f1111a6438f800dd6ad9d0dcd1cc6dc19687df59afa8ef5e751b923685c4a7bcb0f67bdf776f1ad40f6a83fc84fec02efdfa1ab4df9df0fdabacc3dc974b78bf30f214ee86b63c997f0ca1d5e2726800e6372c6e3687afc770daa241eb1dde2db1ba8afdbef16ab17a92dc1a74690676308164209f260875191c1a1b5c27e7e5f04447ebb2e0c0cc392d2aa3da6a1046d81222366fa0810d7c39a23789e0c14c33bbb8144d1f3f33c6d2d55c2595efb92a12475950f44e843d5930d7461f3eb3e155679a7e63c3fd1de1d53344125162385aab102e2285436d202b15b163c67cf2aa9865819c3c02e21e2accbbedae9dc9c9be7f92724a4e4c72a7f91e9c398322ab060477f2d3f195692a00545b96eb17a0edc12617cabf680e045da6f2e070a154f9fb880d2c0e6a96d5ffaba46914ea837bce9a7d04d25184ceb1290d1f8f71571e1657be23b7eb0dd201a5c9f2976fb768167cb88707db8d9ca7d2be6232f2a8e1e9a841dc4814f22dfe5a360d68926d017943dc4889de053666fd419dcd23df66d8591708927cc0acc68cd351ad6d63a4e423d142bd75fd749e82e0d87623f383bc0b456558469052bcaff4e36aaf904c80d21d6bff8ba887f79043a1a2a155679a7e63c3fd1de1d53344125162385aab102e2285436d202b15b163c67cf2aa9865819c3c02e21e2accbbedae9dc9c9be7f92724a4e4c72a7f91e9c3983205bd6da6c2982d29a2bd1b0baf0d62c9da1252679be0e59293f997e59086389b075d8ec145e69afb49d624b8d5d2ab475ded67471b03d0de3be3ae5838ce31d31571e1657be23b7eb0dd201a5c9f2976fb768167cb88707db8d9ca7d2be6232f2a8e1e9a841dc4814f22dfe5a360d68926d017943dc4889de053666fd419dcd20ce7e97ae590c12eda640bdea2f2501459f94dfc3a5ad39eeacb0ce72bdfce160409ae2f87c7368549686786a98175ac8c817825a11200d132276a2842980b55234e8c23594a001297414a5d4a419eda18b61eed3dc55018baad1537c916575f0bbfdc32395e083944f2423d694a9b652315b3ecf01ad492c18da4a5c871cf383d2cd73feea383d1dd1fca4a8a14e3d2b38e65cd9d2a434bb372226bf93af12237d528f593f583b4e8d25d21635dea812750391632728614c313f31c088a25a53c7b54c35625f037036088446ba31773013a9ac0a485bc2585eaedab78bfdbd1202a65a160303acd421200ab99bd2250a930c0ba17d313ea867abe1f1b6e826822eba485b13669b439af50d4de79a12482a43802bcbda4840836ef74cfb8ffcc2328481a2fe9aa3070ed0e87f2a27f9c17bcf10486c9459ddeba518b75079b2101ffb752c411d02549c1a5f4656a479c461e6552cfccb9e04d7d5a7c435ac0a206d089e2e2fb7455e2a6b96bf23d2a2e6c33e9d8333df4277e7a183fb25749491d95246593643881e53883a41cf7bf612c97f8bca3ee4c2b63da3746d2b43a970a7bdc10a80e7ddd8fadf5365658a5094b81aed84b1d3345d766fbbf9153360c224bf38d55a969f037342be5f8c193d7bd7672a6c1abaf4eff7c26663551b64f1a9c946eee531ad68dabca0ebe1f17c9c116ec3ce19f2557d6f468680cfc76f410db81f7c2356f1fc4b27552726309034bc9e0d54cb009e8d171d33f14dba1f11b4065992a82fa81c59e156f7dd119fc35f590e9b5a2d2fd80cc4672fafb1ce92c32c6148063a22b9b2915110381e2c38bd09112871a9a55d5888e9c48207fa925bd2f75c93922cdfd9c0f31519a30b34b837c3c0c88cd25e240782f0011cc432b127b4a1ca009450616b31f81f7d9e0b05dd14f0d6782c23f7ba0600d09e8041be4f770335e0c4dc49562de7488b156a9e485d15850bb1ac9d6a263d2ecfd9f39a8a76cf0d6ab58c6635735ee6f20e8690574cab669562c6aa8487cb79e6d2d0590af5a07d453b2ba95cd288530ace85b93c1f3c18811226ef31000f8ed8f4432e6b67706524c821c068b7e2c1dbce4208570616c1309cfe47d7e63406cf6b525623ae5cbaa637969eb50affe98d429a2e32eb6eb9e63241e75e1ce8b583483347890cb3890c3c7bb038419b9af8ff22fbb99423338a2e3bb3e7280b70834e53266831656cd25d1ce7f412503259e5ff1dddde77ec9c482b0791e6e29a928320afa4d03ab4e73b9e0b784127a4142d2ab51162ba19807c193c378ec8a0015dd33247db8cfeada9ddbd7e02ae009236ee36416dfbe2355d4c70927715c0e8b8f3ef14a093745c0a21f4e3e321f1924a2eed006a93c319b8d640dc37e888b0f761dcabdd2d17d215d4b66beefd7431ed4917ea932a01a4d1918ab15c4de93900338e54e27e280821159d8a4fab686e3d173c2ffed171c776796e2a2b6588531912a865f77e8e00e5bf0730ad3fa8caaa4d9e3b987f030e982e4f1febd37df38b02f5304ee49d79fdf9023e827969b504d3d505556980a3b7695e157010457150226038370bb92476043d681ed9a1babf9d47962fc61f0d3b25e0bcf24bd30cbd5182021f17f46f7362f2a58c0c80b44e3d1e5b05c60ba40042ba2fc77aa34a1c4293c2b91a5cc9d545b3be20f7f2d82b755cf11751ac5078eb125617f9ba5b7f328d3271c93c1ff14a70537d5a4861b9e6e6a70d0ba5f2a7719e427ad1db850d138dfdd2d93bacf1b11e5a9e4fa08228986c211105c42852333aecf5ab8611072233b71d5b1b9b94b37ea516b6d81d75713c2f380d31841dd7aeea14e31a9f1291cc48e2a4e4646b4c815ae94927e28a90e83a57b3634b73e1e3e8f9ece560ed83029392c78a09e7817939719238934b31e418f8c0cdf571c344ec4acf851b5cb0fd6c6d3875f6187e86c68e6dc76cb4d0405096ffc6da1ff64de6c4007ae4a3630ce1dde5b23185875e1f37db1ae077f307402c82475c83a3a024499d9988cf40f31e221a4dce7a78a1e0c824e51f880f1d29633e4d730e15f2aec532667730d34069557c7af79ba4d69c1747866257b8b7042f49a65fdd05683c43a3ffac0c10bf96aa838508645b2963e8b8799da8496d656076ee6fb4b42a96cb2c0053f402e3f9d2ad4d05b4b38ca51c96cf51ccc38b0a4d62d36d0453ecc6d8a679ff5853f033a5014c37fb657bd3c0091d3dfcb1e58ede3788bdc9845096d252630cf393029392c78a09e7817939719238934b31e418f8c0cdf571c344ec4acf851b5cb0fd6c6d3875f6187e86c68e6dc76cb4d0405096ffc6da1ff64de6c4007ae4a360f1a7de9ec8be7f41a2a1cd1064c3a0407835fd1901554c87d844a195483c58a021c3df843f097355c4f3124740e2e41afd1f6fb6cf1ffb9230c778914759eee34069557c7af79ba4d69c1747866257b8b7042f49a65fdd05683c43a3ffac0c10bf96aa838508645b2963e8b8799da8496d656076ee6fb4b42a96cb2c0053f4031870947f95bdea9c3c192cb3bbf7effe29d0fb7bf7284c1d7e0d66acf118ab01040c9277dc8c6351fd039b70656118046072e337c872d37814fdf794ba768ca00e3c192c9b9ffa47915dedf1d40f8c146c6c218512b4bf3ae19e331fa2bc00b3d546bfdbf215b7ca358549ea0a976bed52231f48574f44a2b0fc8c3eb1b4c7e2d16f40b878975ccb1d87018447be5cc61b111147e32325b219ff4b921c504ce3254b1d51a409320d71596c7698e7b9d00a0bcd5d0ed70aa336d49fd11d1b8d63726ae01d1f34cfd0748b58fe055d7f33e78abc2ed06a73039ab6480d1dadd8a19fa69b6c871e79730134f36eb061bec983b34f5430b57727d4b82aa251a475034cd0201b88e7ff6a1673f8bfed7a377bf74caf3eecd3aaf40926d08e044ae2324155fc4367c1effad8e0aed41a3fffc45887366f182b1d9d156c2bb39a2e7a20f7d9a94915f0adc7bfa2e8a4a43dd2331a0ae0bb962d256e734256a20b9af922fd1dcee385051212c7fd19bf6a368925d375ceb3d30f0dae7033dffb6b33b5634e66d02127dc6107aaf6cbcb9e362e081c004fe1c56cafada31db304098b26e0c3f7d0eed3d22be7c5d1268fd19111b917ffa0a7a7b173f115ddfee4c00ff1a1926573393b5da781ec411f9df75550cd5741eb3cc4d3471bb9412730230eb2f225c920a7a12e06021740c02b57df4de3316da761644de150f9d7be1c3a9427f00bdbcb96338924a7d9f3e86783ef8fbf88cf59f1a2a5f5284e08eb9861822d0355f6079767cca13b9d819be5da871e113ebc79afacbb068fed09ecc57f070e3311ddcbc36ce0b0e48357c8cc832090499f59256c6c35872f4391a56a3aa35b931a88c59142a4c678c476e03c2c80cca2b7215a15029a29ed22f744c02d7aadb3ad36498d894ecda024f90ffd3fbddfcd07180194bc18488c692de6d4088b49b36456a9071e43f4dbea743bb79e0b475435fba9c7012dedecbd13c3222a9450a028247e0028f8216a57b9ebe5bf9d0f25e0f444c9a5b90cfa7975e83412fa6b6201a2f469d76ae1e2eeb4e953b0aa210f4e97e111e0a7b10d7e9495307a1f4a41efbd5a8d3e94a2dffa70f6a84d46de725bc21745ab5158d5517ca59bbaff4142e9e7da908ad89663b2b8aed16a35e16b1001911ae75c7e93e2f8b17c16053f304027f0bd97478bf187734d4e290787dbd0469cf1db45e9fac49bfdea0a67900330374db549a412215fc059c62090050b0f99d37a778b3697dff772f031ef4623ac20819c15218961b4e74e21d7d8a04b22daee45d758264eee88be0eb3070b81b85aac94aa22d7b805f71298f8c918ec0e50a7f76abf0b51633bfa008aa4a8134e7b39f5fd53da4fa6655983f291073afe88d6cd3cb35d88de9b69838e001ee3659a62747c981804c9594e85bb5eb822399f1d0516910236c2d8d2a642c71f110bb619f6b8a1ca2da2d3e44d3e1fc3e76b13e257bb901a3d39cc21cdcf6b98222de4807a0a9361a3a31a6c6365b3568d3850a46d6896df47da87f8731da783c00a7fa3d6137cf26a140ecd8e1374c916e25e6045455440805ea3dceb96a96a714ae8e21a432181932b97d3c4f7fafb5815d39529c58d20554d5b76a081d4a2f109bb5bb67e0b918623c233c57505d45dcc3d4e6065dd97ef59ed4f1fe4b54363920e2ef1a521257301c54878077610e65d398d6e7cf9e152d7a402673cfb2f5329c412bf4933f4f0181b73f6673b22a6ccc697e20626841bfae3fb8c06623a42b39836efd82eeb584640fb15b7ccfc7280da9cb5b6dd92bd3324066647e423e09c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545430dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a034537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e20bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d3663a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b31e7ea644e79fecb7f65505a25d8ad8eefb2d4d17f14ec5542afe58ff6e60cbe0bdf5b8846f4749e7659f98e036898bf873352092fd597813ea04abda46c810830dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a004deb52c37668950c0d4107233a6a7737370b2410e56ba3e5b41168e5f6681f31e3c78b5910103559bb336339743e8dd65f8277a5c9c97a149b02fa23553e38405a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d3663a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b39ffdb297410b52868e48d482393c5ba8c24af7bda65e9571f6067293ec2265e2e871c3c42aa04a61ab6490eb7ffc1a8227ee1e893720b35255b20970aaae9682c52dbd4b3e6e09e1ee805e79005f0bc5d1ef5ded4e43494b88e3889b14b0e982b262cc5955e65935d7d23c1946687e15b1143b0d92ac231ce3dd27d0547e1a6285942f81d089ddc05b4365589c26b8c4c3bfa9a92533b9d0d1e3e41b12628f22a4890aab1ebb8c814e282f21eb5fb13ec96fa144ea5af44cc46d513a7819cef0d9da92609278ab433082b6fef3cd8c09494afe79a179cdfe01aa5abd9ec5fef32f18fd89c303134e9de48e4c111e76e81a56e6403bf8fcbb3c9e929cb0b2b74085262651156f8955a6e51ecb1658a68439b14a6e5712a091531ffb0ca8ea52d33172291166697fff61891ae7b4b0ad9cb35f0c94f194ba9d710b2126723261331962e19670e059a5990253f6bc3c418cfc1e572258fa71d5ba36f0c07f8fcb4175a8ef90620a00316ce1e48f3b518b74db6172f841a28d5d6ae767ceb6c685c1f9c2137e4909065cc6f79fcabc9d61bf033ec2e575fb713e04e39aadaa2bdae19257408ad2c1fd09118c458fed46406a1598a431b62736d3b7409f24342a61c13babc6be5f62de7a5959872b3828c8fdd0abb0601af59acfd2b1df6b34086431440a7d3879845b98c0dfc74b0d40a4f79c7f1e93fea798e025ac741233501c6221ab2136671f83e0dd68c28b64a1b5725519f802c00a42b00ae905d6dd6b59916399f3caef32cc428970dfbac3b5a959cc54e720119860526edb3a0ef4d049f2e4412ab359a0142ee6ebdc41d127d134531ba6f808fc092eff235f910fcb0f02d84356deaa831e84864a66f5fe8f607420a8e80e09c6b2ca26dc345a017c070349131bb220dce2511c992282d2bc17e19bffa2a736547f905dd27031b3edd1912749f251452477def934b43ed84faeacd4abade6027783eaa51d923bd4ccc1624e1d9a66ed22099bdb2bf976f6498667808281758b49489d661e92535231f2e1064b98abacd62de87af8d296600c07f8d5fb7ee896d2dcea746ff8cc32c77e12fd0a3af35078b29d9341bc5044e8352a7598f2fdd72c9458c017502ae5e646206a970b5fad990139783208833cea0a9d0704dfbe87b21e1162a6d95234314b019307ab945c2b1352d3b393e0f75e0d1e5ab46b2cae9118adc377737042958ee229696ace7baf7f4c5d2b516c0e8eb561c00292a72b1a7ae7bc3830276c6f53928e16100187030442d2f260f7be193d8a4312367265ccf8337eb264492ef2f0b340bb0d7c90442fbb989481604c596e0aecf8dbf151fbaf9a70ea4d11147b23f04fe3199357318d6871af30be526027ac97c864d7e1f8d6bf3e526b4c3e5891b17ec071572fb88a736d85ab616e432c337fcc22f82af9d1a7982c10e5cadb88d3bfc51f02af12ce112a68b928655935b2cf0f901de215d960100b32d90abadee3839ca244d156dc41f104da34b90448cf83a8f1bc5c35182ac143c695fb059992f08449647bc62671ab258d52c7352497f80224d1b407b4233b1da0fd1e71020264e43c8bdad84d8b94811400443a9fd92499605deba93e6c03b4c15efa0d0b70426c603286841cd342874b91f734725a8243d501b6cbfbdd2361a7550d0a0d23bd1114319a98e47869d042ffc119ab0eeb01f0c2624be652660c5f285c20b8c168d881b18f50d5886037a0b33662ef00e857f9f1ddeeca05da0dc9238f10e051adf16a67f05cfeffca2348df25ca5ee038623b1f19ea84bdd6be3058299248526d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a19282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89702371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af20b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b637615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de77089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a30138333ec0cd3a2f003b2ba55e05e2fa774ead4fcf7199fb0b105e77950113c06e5c55ffcba77d2b8e09351df4b65bb3b2f8c0c5560bbd48a1c6c85fe6e750002371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af22ef6927e54e42ccefad20e7d319e79319002b8059d2e0733d0528eb6613c6dcf26337d0e5df1fc671fd5a77b33306388562d6d9e1efdc6a1a6a796283e2da58c37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de77089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a1709b395ecdd7145b01f3db15cfa8cf1b8327eec8beea5431732cb0848e630a222fcff711ca6bb32171257895548f0d889e96121e743e2acc701e0bb637c5d8c00dddebdcf165518df283b0305385dd4403fb012b57c0fd5cb48b0b17ec6f9ff051b6e3b27657e6f59a62fc2488424619feb08dae09e6155efafd477d4d677d529879b24cf7e1cb2812df2b26bff07da4df80b3ffc98eb7b3125587bc9190ea63f7b75c3fd780239b511850ad18437a38b4b184b35ead7ad2c004de5297a181706508b9b4af39a1d892af2c102ec89e3180f9bf5fa5bdd1de9fdbb06d4f67c451db19cab01309c925c544303a282b323ffd468ed769668dcde63b891d8ccc83f39917e23cb927784319f39ca48ccb359b1f0570224f3321057f84c6e7b5add0e173bcb2f630c45d11df83ccf90cfa368ca02e3e5d36ad21669224a6e21ab677f2ba74a798e17ded77d23299c3186396d18942e8595f874eb87a2a908dc8d9a6712ecdd576e391bf5d9b77e861f428819aae6716644337a029a657a99909cd77732a6c3244765395bbe4eb47231867bb6368339483fba4bb826bf54f4be882f9b21402ea06825c733157c0b536692abfc76fbcff1476067a695ba6ba9bb2c27b02fe9b862fbb2091ce302daf405d56cb7f245cf6a8c601311db1613a75322ca020e666fba4aa2a868a8c6f76cf9a6704dbaf4696bbc45e4f2fdf559a46c7a12f71f0804a4d6415055895010cad17618533e41abf6509b801eb9482cc81b07305b2ac979c1a7ac4a62d7a5edb46dc11c82c3f6d0bbaa8769b449cf88c0110e2c050ef3c575ed19861d1fb29dfcfda6a62b89e2c4ed942ac3ac9a51be7f9e9c8c7a17bfc3b139f2466c46f5c308d612304d9500bfd48eabd3c41622e0492ad11a531e843e6a9e143bad55713d92129a4a87a0f28e5c152b5584c0a667bc93fb2b0627d1b5900326774dc7164f9c3ac17d89e4f92da6e6fab7ccf7026f11568fbef521534ce07594d1b84a2b70ee30d4e615cf9baf9e2bac71b9265ef64520e163f6122621cf58bc127e9265420d619d03422a362adfe285b3d0912e72eea1c5ad8b00d829d5afd542e94b761c6947fc09428c7051fa8654006eddf2a3f227010fcf246ece789a6b84f3a52eeba057d40b00172bd06fabf90bbefb658811a61301a236fe209ebe2ce8b7a8fb8c14eb6252051aec452ad88e2cede44aea1097af5a9506ee48a323b66966af8e0302642881b9d02e8137845d12ceb98e5e3e1407945f3c5f221a5d7213beffd562ed5d1c2c351f9ca24a521a5a3918f90922352527a725c434da685e002f2cc9fc69df24f88ca78aaaa5fb64190fb25c314aceebd25b29c49887e65e3cd74b870f78a99dc5e443efe5b6832ffe5c7b76b679590b082a3af5053b9cfe1d845312a29a885de18c3dbdeb6f7ba62b401fd0a0b417119c031d60c791660f9c384aa51e8af1779f181246c4ce39130688bfbfb4c63d418854064b4279f45a330c03ca76336b02de227f4970108ac76e7a488c8c85a20554a807ed57379edd6b62ef4f9ed30d85e47755c5fbffdf610c61b49258a73c6132570d693127668c7bdce4aacb42233117cf99bd2357114d09aba62d9c918526ae7f1111a6438f800dd6ad9d0dcd1cc6dc19687df59afa8ef5e751b923685c4a7bcb0f67bdf776f1ad40f6a83fc84fec02efdfa1ab4df9df0fdabacc3dc974b78bf30f214ee86b63c997f0ca1d5e2726800e6372c6e3687afc770daa241eb1dde2db1ba8afdbef16ab17a92dc1a74690676308164209f260875191c1a1b5c27e7e5f3b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480104c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b80028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d1979800085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080237a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff29cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a16307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f70d906e20dfa7d8a7b8fdd4c16174978492dc5505c40db033900cb8c46a9ea84d3c767e46586470320539acc5ebb0a1a20e034901fdfc90a70e80ebe18a04472328128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d19798000229d20340cf0f2dd4ae0eba0572775df0801e6391139f7f7c82a84e0f23cce92c2bdf55c2136ba2ea326371e473ad77317c656b9826cad14893c42539c6fa8929cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a16307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f72a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd35abe23651217faf5299b77ed5cc303346e881e0a233ca403f640c7090c9e3b4188a6954a2b0eb38bcafc7568bd41c1959eb550504a560bb3537abca8c7350242a8afc8681ec6fbf446b9e028b577ec90067849ee5d8f24ad1f69ac03ecc044401899d8dbcd8d62a35661a657f7665116c41a288d797775939673daa38e0aad22b89a7653680a0b73d636707989cc79064b7b0d846b64fa88855bd7b3bc0c033297517aa1c8b75622423b8ce0e310335bf5f10e40755cbce615508b5ea29e01a25e380f5eed0a8e47b8aecd87fe7d41244dd7c2bbea4ff46612fb41d3bc6ecb411eb5f4cd410f4447c3707fb911cb7b58a46c37fa4d76ed320a602805040598b1929e7bbc47ec2650156dcbe9ea1ea4a21a5140541e4f7f74929ea50d99478a83d670e0eeca1af13ad0718bfc431c08679033a0ec2377e9a44d370acd1a0b1bb36065b95dcae3c1947dba3f35ba86fe72921b3f519682ba9abb60b20cd622eda20e0e5c8309c10be11139e8ef18bf8eceacc2afec8f9f362f2cf903446beaf12052fa2f5ca55c284be2f84d7c80e122d35a0bf9aca39da4769d2ba9fc61375e902a75d307fe12e8d483bc40889a1437dedc90c2e1bc28993ae53ecd62dff65eb360b0f792cc6b67e2202dd7bae99229da3772d58cba25aaeeccd79ca141a9be91122d3efe391d3189e26879530bebd0759b1849bf8d8d9e3b511be282e60b2761365ecc731feffe9af7567a8d97cfb1b54fb049c5ae2685f1ead708a7c9724b434e14e600b551174fcca4fb1c827db52b3b4fdfbcf3bb529b5e412ffcda113193f5d368b7bb9e436aa4cb0aa6b6c95d321372e5f75ffa97220d2c040e94a16782d3b0dee1cef7b04db778d3c5f2083c27874fb86c3fcc477a570005345a2040b1f3caff30d2412bf8acdfd0e1938589cc9ed4ab41ff5c55eaad4c5063c77a6193eaae928b3c1c9e6e5342e9684a817f5259bb388e0b704b83b7dc5858a65a95930c244e56470d06fc0fd230bf736f8b2856636ffb04641493e4911fc2dcfb1ff048d4b7ca3eab391b65c25c3ac36bb6ea0d981a80ea8f299b3ef99c4a1e2800a2ff09888fb7c705bf434f3f633c61d1c49bd84294bcf3875bb2a4ad91095c4330a1473f3d47873d201e231256082345fbc091c64a2ec51482744fb4af78d28ae2bd0bc58a27dc709a9617eb981b01525f0999efe5e25e727b7b50f6ee9c2421e1079aa596fe92c4850546e194d9e1b5daaf4bfe34e2f44e670ce7e591c5e03e526df42e543e427324db42161521b2b94b2592198fac3201d149a5a9072562c7921e917429c6c709b67a952c03f0f00d9978021c44ed1136b292050400280179c3ec35e1117ca7dc47a0e4c49a0dea956e80518fb3e077cc388373c65b88964133c6552ee68bcfb58c146bc3e38e43efba96521f6ba150db2152c8968841f6ce0180c88c6a46c85ea9242753440dac9b3d19af9e50ed660db3ebae495672139b43d49ff9860fd615541b7f4e0efdc3293402ebe6deb24ae4db53241905a66a723249c13aa09a68dfbdd758d79e5d08c9ec47a41b0d59c57ce955b9023d00b0cd7208d63fc60f05bb9ee14dd629350655ae0a3c3403770bddf7e5b2064d7a81e622df57ae904eff5c9ec67ffaa1116cfa6bc6a68b58796a8a77c3738dfab960d363a56010a01bdcdf0fe51ef59383287a55635a75e8fe6f70aa7fe44f1efce4b6b039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c980f1e48a5276c26502b2ab850f86261a0ca538b5f6423458f6debbda1bbbf428d0613c29f9f2614d9652f7877c8e065f716cf0c3bc6ed45d0238e0c79353926a911e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a1aa3d4d1743b4f94028a79595e9b10751ff1c2f4bd9e84581c2e7c6616df4f912e5b8983d4e48cfd06c7a64ce0810b999b7e5b18d17045134c0610dbecea545d3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c981b3b6514a5e576d3bf2166ce9c7de55051cce16420aa35ea7603aa0f35bf89c41aebe5602a8f012b625ab7294163b3f936535be6d1710961e568ba8e30957638135672252cde886c154c0ac9c824e2a99474ae60826609dbb647e2f0d39df2213682436602acff94c937d73e59f9840d27f8464c9e18a90f20a61a4bc60d0de608dbb930cbdfdc3772aec2296948d936f975885f4e551ec775447a7f85fa55992a5c4aa5bf8a22d2b230d0e7aff2f68226af8de34899c853beaf8a8cdcc52c053960769588c934c61195f33a4923702200d2ae402f425425cb694cf569dedbec3ecaaac6b5588f7ae5a7e9a6d90468f717bae2dddffcb0ccd45c5537fbc4345b16b82e9de6c73e8b5779d04fb42c8d6033657f6e2eaa66995ab89731bfe00a0b250079abc801664895aa586a6ec48d4a1500f689d0862d480cc0379dbd3c923400f38101e106ad29006201d4a45da126ddbde52289b94bec1bf58d5caeec6f0d38a75148427a1d66e6b8399fb868d43d754f2cfc2d7bcad05b36449685604d9b3004922f98623a5d067382852cef25d68e85d284460be29c95ce6696f48dcf521d7479f339cf6c09ed7b1992730e587effe2c2ae22712f794ea6c73ba15bff4e09e4e347560e5effbbc4c0099612c5ebb5f4a5c7a026de930ef55f9805a496d62908276bc30df2c0f479076a3b600a200d4487b01d52042874dc956c7ad7a29c0f51ec0895dc2a38e23370017c15b3fdb6fb6ca18d3ea720e5091cad9975aa871374960ed5894853e326a7295aefe3ebf25b710e57d481a2906edc7c5c0269fe2f348220457637b32294b37905d271695f596222c91a8ea78cdaab898555fa6f33073829519adc0f6008588f76cd52fd180a4d788572105044c462848fbafe721aab9ca2c356a2080f4a79cc2af4ad751d49fd22c0e3918aae27e60df8541e822739dde0cf0b777cdd529d89697cd010db64657b9228c9ce07e0bc53f8547fef24b2c5aff42b6960af754fbcb3d45ad20ea97ea00541fa540df800fe1a38d455385812c5ebd67a195a433f3aac657cf25b82ad4a2b898eb44839015450e74e753639afda39de765a7887137b2ce539ca5ade4b65efa8eafc5d7519deaca7c13f015f2a1538269ed607ed7253da3d5b513e703c4d5220a7cb2440edb2da9ce6cb1d4639cdd9675b7a8d26ec3914c5f167d96ac57a7305be16c487cc03275deadb1542180a948b0d336e17493eca3fd4c9a349d27affd73099c767c28b189b878c0f41ead3b9d472b5935035db0bd1eeb81d0b3c6f67db3752a5e0bd524f13a25e1219af80d5edbaeb0f39e145e9e7d69839608650fa41ac569202d94af91c10442fcf7a3727cd801a3e6a3d0a8b8aeeb31f232680012098b35e6559e79d372021209b9599a43effe712b88871c486a8495bf47eed61619a9e727945109dcb4d5b13b3340fc9c366a475803f11860813322a337291a1735d6cda30a4c7de82f48304f3596842a2b2a2487ffd9647862dd80179b5032d8cc79e8e0646b3dfbacf201409c8b746745f1b5e166c8767ea3794c599e5bbc33bd8cd33bf1a6dde1badeb014cbfa7bef5882475e3fd8dc8ccc4b229e9399b2d723d402700dacae36c32eb3186c8a62c24edb669372f86634c3047c49ec1407237a12df65ab1f9432a58e4243a2679efa28a3043df77861cf5ff6e07fae48b4e8dd72579f5878be41642b93bf173c274598b8090ba56ed9a624d15452a83782cb88bd9b05851df922b6e102ae0e6b4b56e2a25118eecd950ebcbc2a93e8905160cb88639b317717dfe9cef0bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f8612502134016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe03bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a50407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d3351423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200624b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb237739f3e37704125efcae6d905e9edbf151f862dc446cb7ecc05e581d7f7f403a41848d15e4379d565a53c694619c33916b628263ff3909d5012eca728326973bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a50407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c3bbbba32a6cbd48c7f4caa4dd2d454a5922b3e966d1781b106c43797c8210a5d21103f157a7444f3fa14586075bad5d7ffdf99af4443fff0eb111ca01f9a1bd41b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200624b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb274d3dc3a846fc8924f1055fbf4f5ad5848b4b6ec07c76e6079ee428f532d63220e6a6375b0b5eaeeb6fc87a8cbfa390fbf15474932bbe08a8d6ecbb879cb51f385c9418e78f11f2f0e90f63a03c1180b7effa2343e1cdfaacc5d75e100257663f6f87ec151e92d4feb622c213b4f0192e6730ed845ce8696e4bea84732e1d4d37f658974e4c1b26250a95d4e2ac986c9cfc8682606a019863ce79b31e66c2973ee45e8272b3fd38ef0f641d887b5397d18865d16eacb0c7bb16cfc72919d64f0a4b668d1cb1dd588884c495d584ba07541363cb30836050d3a8e5349e1e75f31bf6147bb89473626b3c4777e11e3f7f24e937f2c5009a3d313f3dd1fd4782970d194a7cab3f8fd75afd7f8c74880846c238061d8a6b6b8f9403013ba991de9d1095b4b048d39de7596bf2deff3fad71494df3047d7e3f43da1be1afd8b7de1d191e260deab0d47564647d697be9e731d77f370a4242d9f605b656807ffb8ef42547fb94c853e01f8e5cfc9b8b7ccaadab981e9786b0878b2c06c3cb24af6f4019dcded6b2a04e987247f3cf72a8c189bd76e4d1387e39544384360df5c93ef03297ab69196bd8c7e2ddb583beda53be38f2cdd8b7548af74c5b529a35329df925f82b4d2254223371b2be605cc54a052a7c30caf94b08b67e1823e0f0c31ae83d6f4be17390283e0cc16b51dc6335ed4bac81a15e615f83e8dbe91a1ebfc2471ce0876176e2c18dbf00308ab8868802361e8bb2816b6ebb148a29d9915f631b3a975236b5eeabd34f56f797fdd9904c77019a83005cabb8b5dd31a5c582248a00d75884e8dbae28959e15c59f8eedd0927d7fb4c6eabef682b7730314486cf11adca2f7a6bcd47019c4927de5f876ab8cf76381133273dcb74b6d69e1f6d9441417ed32db035e8c766e94677859ebfe96991de7f03eb026b89789c84c45e5753996d463ce800d91d0ab66e82971767cab1577128320420df33cab634025aec532ce3d0bb301366c3ae242351c2e0318c61b6f6719e932bb37958622a4f88fa839424eee218275116e428239aed86881fbfa57d4feb92bcf95a2e4c55b01f9ad120cb4cf1685b3ee5354043287fd659996431f7fc7cde63c2f5800001894c0ac2ba8296f82c2a4cd43f99c2374b2e33bd21d5808f39f98525e7936140b92101c048bb655b4ed8b196347f7d903f7e2fdc3f607bfe6680034986e32969f461e2f3b86ceb8ba73d8d30f2c1b719f44aaf52adf1f6f14aa6159bb1f481196dd95a4331677c884f07a716a827b2036ab32eef7827d123e1ab1c12f1a932bb3f8e6a80506dd90216064db7ff93780686b441a2e582723c2524ac74f312f4dea3804f11407b3214b313c6b5f47faa0e33ed6a52387fa0392479da4261e67833a3327763bf21e3ddada9edc0586c9b4d35817db2f4034bc086f32ce4f109d95f1477ff30860c9f0aa50a8fe6497e0b19e6c9474cd819867df809fbacbe23d91f03eed4c298c81153eb59ad61f9336809866b28805e424fb1d0cf91217039e0312c91194083ff3b95d6c431d55af4c049f04540b1958cc5bbd263c3a3c0dd1508fbe154e0d1694a5a7fda4227e4b1e1091b2a83bd62a52fb3387d9d31eb223e831c9cb880ae4d2b4b38bef7a90b791b1ef8ef3244612311c7a8bdce6caac5f6626656fa417e866123d2e977ac86649ce8e9a993f8ef67805e005ad48585c95d340b3b7d30142fd3bb0765b35e71e151299edb8102f6fe997d62c0feabed21cc81ca108612595a6619cc9acd6a62c3438f3afa7a39c7e09bac4177aa9ed09501865a996ff2077dea666d302e9680c24a43d9ce3ab1eae47ce663b20eb61b77c8bd965303b1f882159992cfd1697f3db5bc2631c550398512da311d8303775b461269acfc622575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f1251da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc2bb4be400a9b48cb292f940a04523bb463b5d7578c2a89b15cccde8c3ae1b5b7144b41bff564b734d6d06bf5fbadc44bbe90c1a47d226f6a3c605260c51e4a4a1a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c90257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773712b03bf8a4a67f7f38df90939f23b500a3afc9df37f0b22bb28b9304adf5b40f1210da468ee45a2c26a9b70bc37a8f18126d84a4cd40d519d3a989cfd007e01db22575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f1251da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc367aa4cd631ca1fd75bfba7c792041c0f69bdd5917acf71a3241ad994958d8971303a9db1ce240b3f0b1902fbdf417c1c939c831ef723db2b32b8b4fab6f39651a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c90257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773711dff3c5197fd00d1d0a0de7643244f7892ab4a9b26b3f4238af227929b22c07334ab22fea15d89c74a4ca0d1cbdd19b18c8dc4699b5e6d44a70b9e363033d8120f8754407db8e589f2df6fcd835c20166f375ddbc3fa7d6b8b38ce4ead63de951dce4c6f48ec8fdcf23310ea6da276bfb61cc5178c8d13637523cdc2874588e9332d4a77f3bcfa18dc322759cfeded4c08f510b36f27c4bfc90afabafd1318c41875f63445a0e1f7fc26f838de870cdd21b323528aaff0b1d950c6e4ea47faa018246d6a11276adec73122f6f4fad16e967ca607ede02d2cc64d7b99560b738a10b008fc113aa9a859cd89f3d596ae51cc05331dcf962b56a8ee3bd4e26cba3928d65beab5c373dc1be9bdcb796f89e0a74774d7d5216b3f8c7f5a13bb63a96d21ac0fe6b5b62b3cc2317b18b20505b83e2dd9f9446dd9682916f2d9fceb820d1df586816a3a616e1b929e5be9939b51bd4b70806679dd70eaede79e9f5c4a1f2882064bb8cf34e998b5cf823f11ea2c41c37c9ad9ca8fa9b2345da82043676a2115b402266304808c7e080a7486c9618780c638a0948808787cf89e0b416e923a3fa35b253f5a03dd51217a90777c19fafc9d23fe558ee3ac28bf78f6788e4b22c63064a6c8f49ee4ecf3dae19b5d295bc8f571fcc3dbea64d25a9f6339271c027092074f07f6c626cf51b41ab5babbe6c7bb587737197441176fee07035aff34cc589b48158e14c48c119fff9bb4fee4786f53af1d157bcd5139a2feb197332e9f69f631dc00e6bf8fe1b27c22feece04db5bee23add2b22b0d5d0bdb7050e2b106a3e52c572b2681f7bae46d30bd45c60dee79cce0353d0b3ea301865cf59351d95d5e3d465ea157e30e813d7a93f71cd1e4eff53fb69ab82e3218d60592e2891eccf3cd59a49714415ac8bbe16ea07bccef4a3de6c77da8704bee0aff69909ab7e79f5e387a4f030eb12168b2b1884b7e34f902795e0c8b2e203563c58fd24207a33cff7fb46677ad571a0b286ac6aad4c5d8971b46cdb3acde219fc656b24cd04da95bf734253e4968ae3f95afefb1d2b67cea5c785ff361e78c08d97df18986313f1910d389bba39cc75d5bd86409ab697a6cf1b65329935f405ca1d831475df68c6eb78e89b89e573377c18a883f9e5b790bab41838bc8b97e1505ac41669a108afbbf8414398168a531c4b6422a3484f04a50d7ef74090303322980534ee063521df0bb98164e39fe182d27d59499b965f0ff733a89dc0ba426b55a303f2ee3ef6c05c62131a89ddbab907261c76727842802897620e40890e7b57190747d4b6652f649ccfea171d7080fecd6c6377b56f42d9fbc1a75d77283c785b3c0ab0ed20570710369414b56a1de38e5489cdecfc7c047cb89289c57090695c1b652fa8b45ce9aa20be95047b5ab36fe3848145c6339933d830305a5456558f099a3679b4872439066e3d215b82140cb586cabe7efdd6c8eeaaa52074915fcc24159f225d8263d52cd4d22e52954d2a3f00ae9f802809defba071f1b29316dc04a5ab95754af27588b40932bacd8973484e17c7f4d7d42c12784f74c010c00c10b0dcc9901ef4ca4b4660e275e972d3a735078efbd641e14847a5c4017720ca3264fd20c69e19d05b457b0abf104c2b7a9942fe04c0139a4cb8ca7b13ee980a21795a87e9636b1a99e2de5dd42c62f2d589c7b1f781047f56a34927c80669b61a48d4b93bc7ab25684e8edcb3e09203e458f745acd1ced0ca63d161666961ef0a9bca104a822501db7fdcf6c320c181ce78006b3b786b33305e473eb0c0067a363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d3660bdf5b8846f4749e7659f98e036898bf873352092fd597813ea04abda46c810831e7ea644e79fecb7f65505a25d8ad8eefb2d4d17f14ec5542afe58ff6e60cbe0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a611e3c78b5910103559bb336339743e8dd65f8277a5c9c97a149b02fa23553e38404deb52c37668950c0d4107233a6a7737370b2410e56ba3e5b41168e5f6681f33a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d3662e871c3c42aa04a61ab6490eb7ffc1a8227ee1e893720b35255b20970aaae96839ffdb297410b52868e48d482393c5ba8c24af7bda65e9571f6067293ec2265e2b262cc5955e65935d7d23c1946687e15b1143b0d92ac231ce3dd27d0547e1a62c52dbd4b3e6e09e1ee805e79005f0bc5d1ef5ded4e43494b88e3889b14b0e982a4890aab1ebb8c814e282f21eb5fb13ec96fa144ea5af44cc46d513a7819cef285942f81d089ddc05b4365589c26b8c4c3bfa9a92533b9d0d1e3e41b12628f232f18fd89c303134e9de48e4c111e76e81a56e6403bf8fcbb3c9e929cb0b2b740d9da92609278ab433082b6fef3cd8c09494afe79a179cdfe01aa5abd9ec5fef33172291166697fff61891ae7b4b0ad9cb35f0c94f194ba9d710b21267232613085262651156f8955a6e51ecb1658a68439b14a6e5712a091531ffb0ca8ea52d175a8ef90620a00316ce1e48f3b518b74db6172f841a28d5d6ae767ceb6c685c31962e19670e059a5990253f6bc3c418cfc1e572258fa71d5ba36f0c07f8fcb419257408ad2c1fd09118c458fed46406a1598a431b62736d3b7409f24342a61c1f9c2137e4909065cc6f79fcabc9d61bf033ec2e575fb713e04e39aadaa2bdae1440a7d3879845b98c0dfc74b0d40a4f79c7f1e93fea798e025ac741233501c613babc6be5f62de7a5959872b3828c8fdd0abb0601af59acfd2b1df6b340864316399f3caef32cc428970dfbac3b5a959cc54e720119860526edb3a0ef4d049f221ab2136671f83e0dd68c28b64a1b5725519f802c00a42b00ae905d6dd6b5992d84356deaa831e84864a66f5fe8f607420a8e80e09c6b2ca26dc345a017c0702e4412ab359a0142ee6ebdc41d127d134531ba6f808fc092eff235f910fcb0f012749f251452477def934b43ed84faeacd4abade6027783eaa51d923bd4ccc16349131bb220dce2511c992282d2bc17e19bffa2a736547f905dd27031b3edd191064b98abacd62de87af8d296600c07f8d5fb7ee896d2dcea746ff8cc32c77e124e1d9a66ed22099bdb2bf976f6498667808281758b49489d661e92535231f2e06a970b5fad990139783208833cea0a9d0704dfbe87b21e1162a6d95234314b02fd0a3af35078b29d9341bc5044e8352a7598f2fdd72c9458c017502ae5e6462229696ace7baf7f4c5d2b516c0e8eb561c00292a72b1a7ae7bc3830276c6f53919307ab945c2b1352d3b393e0f75e0d1e5ab46b2cae9118adc377737042958ee340bb0d7c90442fbb989481604c596e0aecf8dbf151fbaf9a70ea4d11147b23f28e16100187030442d2f260f7be193d8a4312367265ccf8337eb264492ef2f0b17ec071572fb88a736d85ab616e432c337fcc22f82af9d1a7982c10e5cadb88d04fe3199357318d6871af30be526027ac97c864d7e1f8d6bf3e526b4c3e5891b3839ca244d156dc41f104da34b90448cf83a8f1bc5c35182ac143c695fb059993bfc51f02af12ce112a68b928655935b2cf0f901de215d960100b32d90abadee264e43c8bdad84d8b94811400443a9fd92499605deba93e6c03b4c15efa0d0b72f08449647bc62671ab258d52c7352497f80224d1b407b4233b1da0fd1e710203bd1114319a98e47869d042ffc119ab0eeb01f0c2624be652660c5f285c20b8c0426c603286841cd342874b91f734725a8243d501b6cbfbdd2361a7550d0a0d21adf16a67f05cfeffca2348df25ca5ee038623b1f19ea84bdd6be30582992485168d881b18f50d5886037a0b33662ef00e857f9f1ddeeca05da0dc9238f10e050fab3b030e399a910420f77a6d3e1cbec6da7633b99b0a852ac771612a40b90f3054c4fcf1c6656efbdf088592c1e3415b6c22c84fb1ee966e65bf8bd5bf46f20e58270f472004d514a4d56422368fb9bffdb60696ba3b7e3cb805f8d3439d4a31a7d8f0b8dffb2aeb5b2a9bddc970466248e2f57292bd9d5c752af42cbc62b707b8c34c63a0182967382af4ab10cea09dadf524e856305b966aecef2052127138473cb39c5fe7d698c7d50b54ef315f8498a3d720f6c8c002c243fddfaded90269bd07df22078cf0418d6c7575409231465c9b889aef1c9f016a0aba19a5c3519642f820ddf8730fbe72938a8abf6dd0de0cf437f9e0751a91690415e65a3cc129ee04a81f3ab8e05b5b38ec8ba15c31346049f494bdf1b19cf93296fd76bd020d551e54cc018e2f4585d567e87aa55a92cb432f5578dc73a3f70db80e981710e58270f472004d514a4d56422368fb9bffdb60696ba3b7e3cb805f8d3439d4a31a7d8f0b8dffb2aeb5b2a9bddc970466248e2f57292bd9d5c752af42cbc62b71a20cc39c58f04435f1ec97ae6039fc4b63adf4d973915163e11f2598123dfa525a9b10b06ac2460e842ff2a4dda3635e44f5fff141a37fea9dc81cb6e8523a0269bd07df22078cf0418d6c7575409231465c9b889aef1c9f016a0aba19a5c3519642f820ddf8730fbe72938a8abf6dd0de0cf437f9e0751a91690415e65a3cc2ecffa2fbf06aae9090ebc0f4a5f396099e7dcc5407bed4486367ca93de06b20376f5c90f6932be4e21e8bf4ba81788af616dcd0b4e8918429722fe8516960ec19fecc3536a8d4db49740272e0dbbf7b6834c562baa120ecdc9ca4f1a53923323fc1dd0a13bd5456cb5eb5891a438e996ea04bfb6be14b9d3f424143cb7d10c62bb9e66876c0646acc75c5179a28dd5adb3ebf880f0eca785a3f66879a79897515bf4f307de5be21b4515987e955095f4404b73a99e03a7dbcf12745411dc1643552a18384da804f39145e8818b36516472948880db77dd3484ef5147463e4421a4cfa390eb5c231d893a841863902cdc0fe05658ab9b70ff01765ff67ad4b1f3238e296f21f504a73bc098a94a10d9b034f21c836d64057d075985946fa006801ebe1e3512ddbff19f29a145f6f6a7648b12d841925eed7d24f812e32e926e539b3f47f4818e3b02e0c649447083cc242200bca31e2d67d464503a1142f30c32e1b11662e53facd899f547ec7b300bb52b425c66f76c16640a7cacd74cdf8da02ecc7565f127c015683e0eb1f06c10b6bd65e9170c504e387199623ec7c38f706f015a95dbd387ab0511ac05bdc237298ac8231d0ac17d755bb53e2e182458e0fb69472a38b553b52fd0685af33283cac46ebba880669b3036f06a621a926822305a845502bb2227b1389c91e6e9d8059da11b4c6d4d548a2b89e0c492450160940d8f4e331e7dda950cf475d3aa975bf0fa686560a1f9560cb244e903bdd87398d9a719a0621e8665b4953ff3f4b5d9327642818eef381e2ba33e6fd4b920608c8cb177582a746f0a4b6916995079f6498e3656d040fd42d8fe2c37cd72ebb309a96a58242db04c0801c7072e98a542d3cddc4fafa3615441dbf465f9885c207208fd40f0f07e8a423e682a70c47805b37fdc16d1870e1d4c542623e5e5bdd314e80c8c91eb250c9f692d3e22203401f3441f1f6a245ba56744ae8b79458a20bbfce94ce4201613881c9a923599d101a10c483053d229d9e134f538da496020ca4e29b9be623a0030dd4dda8dc89b1e7b9ad71585fa63e1ba16585dfe0fe2a3d53994f37968a874134f80e8e641cf825b7c1925956b3097aa53d85d143cc710307e937e55ea12694529cfc53ef757d589ab5754cb04316d1f474869a1cffbb1c3a43e125e15aded7c91cd654a91197591a02dea320586d689311610fa35ea53a7f49ca247dc20c257657e93a55820c22e8708aae09cd00547305cdeb6cd0d93fa761de37250691504b8ca85f607ce40a18d95bf03370e44dcf5449694c734f2a57f8112b9f671d05750eef31a6186aca8a49c3d86ea34a64a2ae6f5fa1a2e33bbafcaaf7f8aee8b4c193b82a247ede26fd3d6aab88e02d429f04463639ce42223449e935b62cef0d2c3b73a9e6dffae72682a162dea59d7c68d6e9566ba5e80c2ee6f642db8010d4d9f23064939b6ecc552c475786f31f89277113ae58d7a3220f459ce83f779e1848d6bbe72a90b6844755172994c440c95d40a2422796d2184d3ad852dd499d19e0cf5ca7a7f1686421169a980f7ed89e92e059def2b9983d094d86b28c9da2ba199ab8890f0adeada8a1b861eb9050555a45cbe295273f3a32833c20ad451fbe585dfaeb5a26aa795d85ec450cbd1328347fd610c4b5592bcd36fc76932b311ecb05a9e462f3be4d81996ab7c17fd821eef9b3c1219cd72a1b630f63ceaf9a4384288bb71fbf5b8034d5f63210b12d835f26b995a801000d00b37c187417153b82e147bc2921b34648b5f415454df085c5d0712e7c286c2759def81fb4a064e60e51e087dc59e52077c2b7f76d095e5f0fbc787521049918a62107e04b5f9b19f1ae1f7823a61b01ced64411dfefbd3a1d74748adefb6804c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa3b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae90717c6c63b18a3a9da7765feed4484c75e298f0d329e2351994ee389e0703972e2283939c4e75c5625889a0112bb7b38a1f8b78bc96b29a7824a49a70c8fc68d1f36e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e69091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c198361c8f725acee2033af596a281c9b436254ac6cbcb080f17f79bae639a1145ff3f7cf215950df75d4db681467744668d9a2d992a3ad309431bdf2c9cd006e26b04c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa3b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae9073cac5b262222bd0548b26b5d927c512d21aeb98a8fbc3e014a224da21de4781b3ba3d9d2067dd9fa98688272c3d71bf7d5e75d1189793f0818aa241748fe31da36e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e69091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c1983ebbdef2711d9803441a84e31a9d5ceddb174d378971a5aeaf3f8ea84a27c794154726d1e457b749e5a32d9cb269c17087add08c554ac6163f1ba6dfbda977f43d32489c05f2625a56dc841f8715cf00bafcb8f4d2a0ba91dd13c518f9cfe9072ecab19fa4984e587f65c960abe312a14911f43b6a89c4fc00189825fe5ed7750c74f6cfd55d06c87f154c4da311aa31b7d13b6b52c5f96e4c404063475ed5ea2d2f91b9bfdef3a75e8be44fa69fe5768cc0686622e5f1b3f784953ebf8f59c81e840ad5c5ba9e368a3a21b9f4f55be8697a9bbda2a1a1ee9a696924fe392029270cbcb27557639c18fa5e936bc785b37e95f65f845b727f4a5c8113b10e4a4c258e0554319a298999d179fc32ff4e083e5e54ed11d7d263ebd7ccb9ffb93fd709db878fe055e92f6e7d41ac73821f8312768529d8d875ee8b678b7a522f26c02dbae1a8a8a344ff4fef6fe9e5ccc71a23f701ac61eb847aa72ff159683663f51db3f302555eff092a0ec1d51ec5183773c1cbd165c9152decc00d6e3efb29b9310bf86bcdaf92bb10de2aba93dc87b079c35f3b94fa4719e0941f52c7747cf73dc150710c95d600f1010970c246c2041ff2f7d1ec0c07c4c24993ff5deb03ea25e32a6a2f05e789f5bf9649f79a8a034547458a77aec1ba4028b2687511861336eb7b9b27ebe4d8a40ea56493eb319dc6ac5fe978b3b2e459e26b50764703c31d947a20cd8d5b060715ecdfe8a28c50337606ac6c2ad947ae1d37e4c95755151f5b300d766d2d2b202a4f8b6c29db26d6defc734ccf371430f18bad40a87e42238d81ac5d488725e5dcb92430079ec2e025ece53220f6187b8371f0c07c291529f71c3f786fe2e28c85f12c6cd47d5df4fce964cf331af41e1b482d8e8ed031151266a6a174b7e5e7d0118bc210da1bc0ae95f73ee2fbfcebbfdf9652e56e901e4825993902bc6a4da75d27cc88e6a5f575ff7b96832bb4461421e67258b26126e622a5459000561107aeecac25b1ae0515367559a5d2b6942b0417f5d0fe2f14df9db924f11134fc9282af21a37c9a4e65aef7c7b4e07feca897510d6c57993f2ccbd36e62ce41a23fd3188ced1a428988dd80c97206755bcbbde1ca729a3020e74a4d03f1760da7fda51eb42d57ad168dc051b1c5f2d0f4c6787e02783e6a33bfb39813a1b868686bb5817dd837633f859f99223504ef86a3a1f602a7121a08613969ca9c17fac586cac2033da961d5d46b016a14ff7efaad24aa0bb266f608ede3d7260be7681471d2c7403df3234d543dec34eaca9b08e6ae1d525d40a230f247fc83aa785cff9e384d53963a227d281b63e63eb93251f05e35c0f9cb86297ab92dec8c4d5d485fae65964223aa95a0b53a00db7667f0423acf3b0696a313058a6562118a71379400a0476ee975f1a37d3a8875d6f42bfcc0f8b447d9c220139d0bd3498f55cf559c2026c8c982678ce4d7c5e5ceb1fcf9c4d3fca204e426767aad27543ef0a0c6232af9835e70e8b0a8fcd97639616da48a866dbedf041ff3e2d34db6cd8eaab185dfafc8df37ba71373853769acf37ab85c783a54acf3562a58bb7b319b12948e43580ee1d0f5758811aa6847459bc41a05e3de29608153e815b8b5bc0c1aa32ce7d77c6b8451e34ffe7f445c4e0aa25e2216a084bdd3f128fd19735ec53e13fb3b80f962aea18e93506f9adb37988c2c1c1c208c1a927ac13c278f2fc4af2abbd4fc319104d818133d10c123186bbc3c264160a471104d6a0711b76ee716248398a14f40b527e076bde0ceb9d11da56ae15ee31b750365cb0e4459850ff6dbbfe940ca53ef4f3dca42b3c7b243f67089001e48b575109a34f1bba67af009244016bf35ac10b2e69f4d0ccd1d4dc3224a0eb1b74a8b00fcf74755bf994fd24abf8e43f3a3ac83a34d0e80933d0ce9e760c5576b8b49130308b8aa4066b02db54071bc0c5c537e811c8140019284cfab7249789474b700f0d464acbdfe8f1b75bdc753c2325e900c17b8c24b61aed7f210cbe519b86d430f2b9b53420170e48a4238ac3dcda1721851d6fe496de2e1a0c242eae64792d0b425f75fb5f8cb894cb4e4a2cafbd8ce180d0c0ae418d87e2780eca9809a22334bda08a04a073476b34b1b5d350427340c5c83b5b0b6b93b6b5222267f65dde29971662b9419250131d0a9c21d5d54fd85be3518f6007b9d12722333ec9cb33086a42e2254afc0d58257150b8f4776af05101bc88010e1dd09ca6f80de784410fcf74755bf994fd24abf8e43f3a3ac83a34d0e80933d0ce9e760c5576b8b49130308b8aa4066b02db54071bc0c5c537e811c8140019284cfab7249789474b703e7ad677a9a08b15a32434a4ad10122cd256fc2a5a9334f8759f3d2ca9b5d91038396ba26d622b259289f2bb5161ae6b7502f8390b7573218a7adc4adf7143490b425f75fb5f8cb894cb4e4a2cafbd8ce180d0c0ae418d87e2780eca9809a22334bda08a04a073476b34b1b5d350427340c5c83b5b0b6b93b6b5222267f65dde04c09948cca559d1731975a2d65c2fb3ad8ef33c857994f58189ceda422efc6c022cb81543f289dc158df769a1ccf461d4b1a742f415f2e8c3e17fe87eafe17a2295afaabac21f4e0a11ffb4e8de9e5bbb1afbdd358923103fc7ddd9e92eb6ee167cfef734a5fd046d46933e9ef83d8ee4eb029f5a344e2d13fa045055f26b2e2843ad77831cfdb51215394ecbaddedb38af7b32903102ea88096edf92237a1405b1be8c9d7158610e716d0794046b23b17fcb19a6a4e6109e23d2848bcc31be2e9052629722b554021764db7d0cbec2e3aa6df82c08f611ac83518ef2f13cf1093d3ec9c8971f3157d94c40425e86fd78c2fdb1c430c79df18e4811ed3b012b038659fca91850af0e90d3fe9ccb083718d85661405dea1d92315c3e89d455812aed86f199d3b479ef2f67e20eb0ba6593fe9496d9385b13cb6b2bda9ac34b563f959ab7ce167975bc4e0151e580f2e705e39874155e21cb43645630066990b5301798604f815758f94faebd50982cf9b464854c50a6183e2b354dce433e20633d9b2d8941f0615119dc5b05b8d85e7ea13ec40e92f1530e862955f1ca1a242d33738b0936c05527d3fbfd7faf0517ea343c224c88bd5209857c5ad5e8eeaf9c3c36d04d8577bc04a503cb82bea8379f937f74938df6cbde0fef36066bbbecf60a08a98b050a98c16da6d7f6647a40a385418668d53d10f8064ffbf574e045a8052efe7e9a761faece5cda1972cac2555d36a1c718c23610f8da1d20e842c8141e47311a96833ad7f1d46bd7ea0218a89674f8042352b9b8c370289332da8c8020d10909fc57f9a0df27388fc60a4eb670eb15c7e5819acb28d69c1785bce7ed11221e3debf6f63613f6a976d15a0129423285478f3b7d7b669e74b49e7ea71f2e973a96aed9603530f2c43c0f3eb01d36de971d4be9a61aa7923e73fe3a1c9f0b62935ce6fb4d4e6e590c866b6af6e9731a4deb6db9f2f15c92ea16aa4d611d24af1aa15b5739c7bc69b20a0fd631c18dbcaf0d5100755e2bcc3792c4ba7e201719080a9e8f2a4001fc867d1b85c9dd831559733edfafab2ef283707826825312dd4344a08e9b38191ab57bd6e457cfb65e18bf3a999688e7be5fbcdde021360b188b7604d2238fb8fb195e62e923b6d9a15c46d3bf161dbef4ca326ff406a1294e076797ff3096b3f2b9bcafe5014b676c3d0811fe8a6c7d1c425044fac46c203ea2c08647f155124dec29c4fddfd12ef1ea1c858570abdf53ee21d8490b020fb6cfbcb43bdec216965a6cdffb5a0a10f4b38f46183ad03aa9908e222fd4cc043a0f0266e82b71ded9466018c731b8be4ed8d1caecf6210f217f17a65b88d00830b2a5e185bf54842d89e6e03d199a42666cc08bf3eb0879cad97c65182484368e3923ce86b435fc098229978228d6198ed8ef76cf848b42803fff880fbebc20e765b1e2860533819085791bae6a60949f2633906b3c9bccf2b3bee3cad39e12c654beb4a81d1189518803106d224935b479ac0bd59ed145fbda7d5a91770a286da209747513eeef0d6ee7b4ab47fc5fc0fa378d572c87a60eaae5c8a3cd622ce8e65590f4d350e4ecfb2d7c0bb44ab208be1b6ca3e2a14dde7b3ff8e4137516ae416ddc47290b65b28e5043fae96ed236d3ea9447b4c25b0c2365c5ece0d63ed445e83f6f1329a231eb17cba620c0999c95d881325c3f9eb2934401c66096192c31e42a752b29a5b09c7768d23551ba25ae3e2f23636074eea065ee11e1b135bde0898a84b5bc64176ff00faff3cf8cbe686d048e026b09bfc6b6c74b4f503c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca6039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b2e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a11e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e200a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c983f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa3690613c29f9f2614d9652f7877c8e065f716cf0c3bc6ed45d0238e0c79353926a90f1e48a5276c26502b2ab850f86261a0ca538b5f6423458f6debbda1bbbf428d2e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a11e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e5b8983d4e48cfd06c7a64ce0810b999b7e5b18d17045134c0610dbecea545d1aa3d4d1743b4f94028a79595e9b10751ff1c2f4bd9e84581c2e7c6616df4f9100a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c983f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa3691aebe5602a8f012b625ab7294163b3f936535be6d1710961e568ba8e309576381b3b6514a5e576d3bf2166ce9c7de55051cce16420aa35ea7603aa0f35bf89c43682436602acff94c937d73e59f9840d27f8464c9e18a90f20a61a4bc60d0de6135672252cde886c154c0ac9c824e2a99474ae60826609dbb647e2f0d39df2212a5c4aa5bf8a22d2b230d0e7aff2f68226af8de34899c853beaf8a8cdcc52c0508dbb930cbdfdc3772aec2296948d936f975885f4e551ec775447a7f85fa55993ecaaac6b5588f7ae5a7e9a6d90468f717bae2dddffcb0ccd45c5537fbc4345b3960769588c934c61195f33a4923702200d2ae402f425425cb694cf569dedbec250079abc801664895aa586a6ec48d4a1500f689d0862d480cc0379dbd3c923416b82e9de6c73e8b5779d04fb42c8d6033657f6e2eaa66995ab89731bfe00a0b38a75148427a1d66e6b8399fb868d43d754f2cfc2d7bcad05b36449685604d9b00f38101e106ad29006201d4a45da126ddbde52289b94bec1bf58d5caeec6f0d1d7479f339cf6c09ed7b1992730e587effe2c2ae22712f794ea6c73ba15bff4e3004922f98623a5d067382852cef25d68e85d284460be29c95ce6696f48dcf522908276bc30df2c0f479076a3b600a200d4487b01d52042874dc956c7ad7a29c09e4e347560e5effbbc4c0099612c5ebb5f4a5c7a026de930ef55f9805a496d61374960ed5894853e326a7295aefe3ebf25b710e57d481a2906edc7c5c0269fe0f51ec0895dc2a38e23370017c15b3fdb6fb6ca18d3ea720e5091cad9975aa8733073829519adc0f6008588f76cd52fd180a4d788572105044c462848fbafe722f348220457637b32294b37905d271695f596222c91a8ea78cdaab898555fa6f2739dde0cf0b777cdd529d89697cd010db64657b9228c9ce07e0bc53f8547fef1aab9ca2c356a2080f4a79cc2af4ad751d49fd22c0e3918aae27e60df8541e82385812c5ebd67a195a433f3aac657cf25b82ad4a2b898eb44839015450e74e7524b2c5aff42b6960af754fbcb3d45ad20ea97ea00541fa540df800fe1a38d455015f2a1538269ed607ed7253da3d5b513e703c4d5220a7cb2440edb2da9ce6cb3639afda39de765a7887137b2ce539ca5ade4b65efa8eafc5d7519deaca7c13f1542180a948b0d336e17493eca3fd4c9a349d27affd73099c767c28b189b878c1d4639cdd9675b7a8d26ec3914c5f167d96ac57a7305be16c487cc03275deadb1219af80d5edbaeb0f39e145e9e7d69839608650fa41ac569202d94af91c10440f41ead3b9d472b5935035db0bd1eeb81d0b3c6f67db3752a5e0bd524f13a25e209b9599a43effe712b88871c486a8495bf47eed61619a9e727945109dcb4d5b2fcf7a3727cd801a3e6a3d0a8b8aeeb31f232680012098b35e6559e79d37202104f3596842a2b2a2487ffd9647862dd80179b5032d8cc79e8e0646b3dfbacf2013b3340fc9c366a475803f11860813322a337291a1735d6cda30a4c7de82f483014cbfa7bef5882475e3fd8dc8ccc4b229e9399b2d723d402700dacae36c32eb1409c8b746745f1b5e166c8767ea3794c599e5bbc33bd8cd33bf1a6dde1badeb243a2679efa28a3043df77861cf5ff6e07fae48b4e8dd72579f5878be41642b93186c8a62c24edb669372f86634c3047c49ec1407237a12df65ab1f9432a58e42ae0e6b4b56e2a25118eecd950ebcbc2a93e8905160cb88639b317717dfe9cef3bf173c274598b8090ba56ed9a624d15452a83782cb88bd9b05851df922b6e10269e6cd37938f2d8bce4aeaeb0f5b1713b751300ab9a20ad6c26c541de8510591961932c86c70d27431b51514f0a4e8ee6d185fb5db2d86e2d066bab217aefa8011820215e1cbe3bb077696974cc7735c275940f3e1bb810513a4782589951ba3ee7dfdea1e341c44f8896968b3388ca5fd104eccb31410b47f2e96aa766ae470578a0a6d68fb72a72550f0f47fe540ccc4be44c368a98519623658bbafe98a23a875f59297048d58daaf0f0b801abf355fab4afd2c260ca0309cb614501675f1b5b234230ce93d43ba94b4c67f7a43ffd7b757d10b4f997eeb0fbbaa6f8fb2a24a4dcbdcf316c2bc456b4b398085bc024cb237ef897ff83aa7c3532590704d71bd8864620b799a67054883c3c27ab64a88f0cff2017b34496b1f634d00ded791aa92b115f4983a8293a2d178cc3fb18dc287f6deb630a25b63b32bc3b2a008d011820215e1cbe3bb077696974cc7735c275940f3e1bb810513a4782589951ba3ee7dfdea1e341c44f8896968b3388ca5fd104eccb31410b47f2e96aa766ae4703f31d978177117e9fad79aed2b87ee0a90beb2d058f1ee493007cefe11b668d2ffb7e7545db53cb67be0c5b03633f9439ac5e8ab9f25efa3c0817a23f0b56a91b5b234230ce93d43ba94b4c67f7a43ffd7b757d10b4f997eeb0fbbaa6f8fb2a24a4dcbdcf316c2bc456b4b398085bc024cb237ef897ff83aa7c3532590704d706b8d7221f316ccd211c30eca2885f3786348b037a8ee4b5e05159fa94c46c3c1ec72c0c20573b5141e5d40e17d7293f3bb25cd5f92b26d68aa789660ac49eba1d26fb8256b8bf0c591134f489dc02af381b105a599a404e687e996e393311e03d59014f69be98d543ecc610bbc474da4a8b39c44545a65c5ee2e50b2743e32d18beef9d81b15f09f7c465f83abb8d92c6b955de26c5b2f973d6e03d84ac9d0210df26b6773f8bb9d0b2399daf789a2ff1ea9b7340d972fb7aeb5098c15a35503d3a48a53ed92cf05f23ddeaba78fa6f6a30bdcfa83efbf37b4ef2413de1cd720ccdc4749ad33391e34bc2fe98f6ce777005d077394f7b2323a8d559575b421831ed0eb3b1cf4de8f29899617576426584d5125d48ade4926405aa45626e2b263c0d1be82429b68b4b7011bc708f510fbed7d7802984580ad4e2abb21c3e93dc22db83051338bcf1facf900a3e924eebd302b5de0965a9bf8ced679aecb08e572942f5fe6a932c8a561d6708db9d0980ee110664e2121549a7548113d7c8b87c12d52b2870b4a367959e08003fd72004578ea5dd9170569a524a2b7a5c1ecd0f361e87fc01ed9d170de05e37e247d0af359326c095efc10e4c2d000f809811e83abe7eef1f9d18bf6cd712dd4c5d46a26c9faa9a2c9493adb62f4977c2e57cb132fc3b4b41a0885e77a6d7c951762d612edce0026da4cc1ddb2fd1a5f716c11621e289ef528564f6df56a0967b58547c2ab05918e36eaa957da4ce55f8bd98db2231132a0d9181f8ccd8543283cbee284aaa69f1a7b4b0ced7054788fe65ce2624fc5a164d664b2d9aaeb94ad654e9b1db247ff1646ae921647c1d0af54ba9943973143094d1c4ae23e5d41d17cae5fbf0eddb95b3fa2338227feffb86c21bec2b9a293230b3ce16749ac858f307d90b434100d897056d83d4880f99bc56b62d1860ce2646ef573a71c37b5cb3bb433b36b9f77e057663057d54ad8951d3ab0719d6b64fa9c094aa7e163cfe437640fe96e9e716996e048fc809aaf88d5b9bb700467ca33b44bcff608b36905203340ced5c0cae177d4162bd5bef46f8debd422fc2da2e48bec74f7e652dbd996b785a28ae5c4b23d5eece701bae5feaf7fa0e0eba0b02a7021cb92bbd2b6ccbf3fd54e59a351592002f7c4b7eb679892becc11918c0bed752d4d34dc16d6cbc7628c72b5a4261a936512050684c4b54fd6b6533ede68f036909b6db0c5596c90185fc319b1b42266f4e30296c62a93068c3d10169526574913c9b513b7673caeecb5b5831e6c54c0aaf6994dc36ca053d0b4e2a6c6482d7876a490495e15be89a5b951dc98bd51a0217926d2bb79930f9ab3416f40f934fcc7e5634bbcb015160a2e98886362504ec8190b84421a68de9a29d29deb9761c04639b9f16c060b51b3fba21b84d311a3e4736b7652ca77e6ed6dd1f1c8379c8fd8f218c4a61ae2d1c5ed968d15c65cda7c7d0f2d29bf269497e282026d1ecd5855b7b729f9942b2c1ab55b50cdcdbdf860923e6c2c35aed64bbe300f2aa39631b1481f43e70c36588aa8b0579a07ffb99f0e840f5b0e3d16f39621463de25a24ed2bddfbbf951cb2e51bbea097ed6f514252519ca4454f018a77416ba0f469663d5dd04c8f0d83918c1d7b1707b2ade7ce07a3f06373dcc5ffcc42170f1643b1dd3bf06d121224bf6c5e3fdc90bed97f159746a9e818395072f903a8f9c4c450cdd8f33d4943c712ef00d628ab149315e4674b5e39de6cbd7a9a50489ed2cd455fae475c7912dd59f8a096e22d6e64d03cbb413db759989b272db00000000000000a01ec48bd9f48f42e790230fc932821f46c2a94703a7dfef57418dc7de81f9b99b25e30193300dcab82d45af1c3f7a9bda1fcd61cb5a5458795e807c34fa1d13b22a3b79cb15ebaa7845fc4165a2c32050b260b45c563646d038b4c205b79dce80031aa819cc5ed9243aab52fe34c40d9138e102f9903dbf7d4ca3ccd91550412025e30193300dcab82d45af1c3f7a9bda1fcd61cb5a5458795e807c34fa1d13b21ec48bd9f48f42e790230fc932821f46c2a94703a7dfef57418dc7de81f9b99b2a3b79cb15ebaa7845fc4165a2c32050b260b45c563646d038b4c205b79dce80031aa819cc5ed9243aab52fe34c40d9138e102f9903dbf7d4ca3ccd9155041200012cc01f8c1de13ff498c3e2ed42b63bdb5f94d452f14eadf666080ca64e12c1e87683257bb4e6f0f7299193d1bc12e25ea7d6e8545018a60b4fb582c5267683f52262553e72c59c18efd8a65154a4f03aa020ffcf998dd6e6f06ff2c983cf92e03fbbf8e635742bf1896d97271e39309de4e41f2c7668bb016b8cca055d2a80ecb9a52401d5fd9df7d7c39ef85bffaf9e589f21bdae728922fbc9e831b770d14ed57ad97221b6bd1f124755321b7843143c77e58d27d7efb3658142b14c58c2078a8fb5a7eed3f4fa4accf4fb99eca6f6130e6650a45bcbf2ce0a999d6ba070cdd78e987cb965d3102e79487cd8f177be0866f8169c090c62bae353317559933e8e5f87a5f3508b9e96b456199bbdf7cbd2fcf061e801d4b8d79808bd1d43f2b0e40ce9d3e7c2681cb95e96477aa0a40e23ba2c060a6e4e6f8727bba2c064d206da537c0fb462e32e9cf5e5e9ec6de3071e10b948922ad76c082d0e870f6910ce87cad214f3d6e4dbdc50578e86703bacfd64a51eae3a00e980c0de47d190f2afbc96c710cbfcf05297254c3629617e2825863c0d935b1a6fc35839f63213e01f61df83fcf0e9c80597b2332ca9ba0c8126318eadf7fccbfb6ebc5450c920b231d47dae861a88e4afdc15e1adb2718a6ef286e98e69bdca7c16fba6c8ea1440a38da09f9e8db0e35a9d305bcac06c944528ee74d8d6a70dd971f24605f6e5c10b49b4452ca960581d825365879e7489ac380d58244a91a5db0fccdbdcd87253a7719bd906be718f1d1bc9d56fc28b098d926f043a9f57873745f638d07d6af1121543b629971775fc412c8655941483223d4b26a61a146e8946317e1135a211c34cda97fb1122520e3819b722dec99b91de2a37c1265069cc42bc6ebdab57f193da3ce9c298b868671ebf786e6165d84ae8dde52bb120b7511c59c6e859a5437da7c67e9ade2d2fdbc28f4ac6312bedc702532e907d4d263a6ef51f28ddc47213a0327c8bae3fa30000090532d3ca39516c58d99b5a6128adfe162b833dda70c1c1ebd198f9fa250a793d38459f13e562af1c84cbe603afa78ad7c14ba31f91eee660a6cd23c77d73659f392974b3b5ba72180797cac21fe5ed34e1da154361c0c59ddad0475c2751c6c4d04d8a689257ecb710a85958a83a5c6e903448cbe3f518d69ba996ef7e1e764c7493a4c66a541b21e3ee6957c7e7aa04e78c010572e04947b27b114a49ec02f9c8e4ce17b68469e33b0da69eca00b1f7d542dff4a3fbe90205df27f06aa00742724d0bec48293398a2c1a79ae02fe35722eca36e7292d92560dd9b12d65019149bf03802ffd6230648754e1b4cd3b75d5f3bf2012343f99961ff6627b1724aaef087df435dc588771877569138d010a16f1256bad3916884ec25421216982e974cf0939ac312fc8e0684b96559184b5b4dbc8a3f416793a104ad8b6a3acda05f71d22d6005107838b9bd5954fd2447e23f8d82c113ff12aa92f8d813d25f68ae7edad14a24d71c512c585c322b5078dc45f0756d335b9397e0921747c82a0680516ba64b9a8064f9f743ef10ea94f214d97e7e732379ce866d9290f1ffe072c5ec0ccc928658200b27b820e5a75369e7e3506286f2c24ec0773d86e12e3fd37c28b54a60c008f5bd1f6e7bbdfd5dd460b4663fe7739cab79c54761b070ec55530f4af7bfaea286a809f4a491c555c09cdab223c21203409240b862288003c61d74a6572ce6f31105e0db2b0f51521a10c1836ee760d2218c0d6c46114806b328c8d21bb137c10a6f7d8c155587036edd2b4b7212a0c41b37e537f8928bcb3132f247553d07ba796bcd3b92816c06071152c38c006155a9a0da4194c141c52fac520dadf27b13ee9aee4e25822e955963a94b2fce52704e1509e03f26c50e4a213e1a76a8a85b27d591c7ed76ad50334490877b39706514094444691302fc2f24ff5dfc357658f39fcc9f52ee2b0555a95c4765c092c24ec0773d86e12e3fd37c28b54a60c008f5bd1f6e7bbdfd5dd460b4663fe7739cab79c54761b070ec55530f4af7bfaea286a809f4a491c555c09cdab223c21203409240b862288003c61d74a6572ce6f31105e0db2b0f51521a10c1836ee760d2218c0d6c46114806b328c8d21bb137c10a6f7d8c155587036edd2b4b7212a2b0e40ce9d3e7c2681cb95e96477aa0a40e23ba2c060a6e4e6f8727bba2c064d33e8e5f87a5f3508b9e96b456199bbdf7cbd2fcf061e801d4b8d79808bd1d43f206da537c0fb462e32e9cf5e5e9ec6de3071e10b948922ad76c082d0e870f6910ce87cad214f3d6e4dbdc50578e86703bacfd64a51eae3a00e980c0de47d190f3eb56d45f3238c3c1eb3f838ff203594a413e21b5534c965e6ee6bfdfa390a790f9a85448a72fe07d47920deb14d76b6016f12525951c3cbe086f9cbf1a1bb673916884ec25421216982e974cf0939ac312fc8e0684b96559184b5b4dbc8a3f4343f99961ff6627b1724aaef087df435dc588771877569138d010a16f1256bad30b4bafa3f24798ce4df145b53c2a1d41246cec30ce4a32888c18b1f2854d281356f39d02466d2919921f5410d36204eb212dc88194e5e8e3634d10484fbd3bd0c1c1ebd198f9fa250a793d38459f13e562af1c84cbe603afa78ad7c14ba31f9213a0327c8bae3fa30000090532d3ca39516c58d99b5a6128adfe162b833dda716793a104ad8b6a3acda05f71d22d6005107838b9bd5954fd2447e23f8d82c113ff12aa92f8d813d25f68ae7edad14a24d71c512c585c322b5078dc45f0756d335b9397e0921747c82a0680516ba64b9a8064f9f743ef10ea94f214d97e7e732379ce866d9290f1ffe072c5ec0ccc928658200b27b820e5a75369e7e3506286f292d92560dd9b12d65019149bf03802ffd6230648754e1b4cd3b75d5f3bf20123fbe90205df27f06aa00742724d0bec48293398a2c1a79ae02fe35722eca36e7343f99961ff6627b1724aaef087df435dc588771877569138d010a16f1256bad3916884ec25421216982e974cf0939ac312fc8e0684b96559184b5b4dbc8a3f41a6b4a148ce67ab7afd51e5440e4ce744a14565aaf105197c6bdb38a3facc62e3b347d6064e36a837953f2400e0ce9d28c36ee99f0fd1da78e0e254b0dcb99bf06514094444691302fc2f24ff5dfc357658f39fcc9f52ee2b0555a95c4765c092704e1509e03f26c50e4a213e1a76a8a85b27d591c7ed76ad50334490877b39715e7a0ecfb3c275d00eb19486760d8fd0ad5e5ee57b84f43919dbd7347cf56563fc59ed14f8518be9842abd0bb2236e57459c005a1ade28f11b685aebaadfdeb1420a1d61cb0260aaac83707c42789442a0fec9531da105c10c975a08be4c7811935800ec59a5d91d5df5d5c135fa49dc131cac0b499f5f1748f193e4109481f155a9a0da4194c141c52fac520dadf27b13ee9aee4e25822e955963a94b2fce50c41b37e537f8928bcb3132f247553d07ba796bcd3b92816c06071152c38c0062704e1509e03f26c50e4a213e1a76a8a85b27d591c7ed76ad50334490877b39706514094444691302fc2f24ff5dfc357658f39fcc9f52ee2b0555a95c4765c090c41b37e537f8928bcb3132f247553d07ba796bcd3b92816c06071152c38c006155a9a0da4194c141c52fac520dadf27b13ee9aee4e25822e955963a94b2fce52704e1509e03f26c50e4a213e1a76a8a85b27d591c7ed76ad50334490877b39706514094444691302fc2f24ff5dfc357658f39fcc9f52ee2b0555a95c4765c093fc59ed14f8518be9842abd0bb2236e57459c005a1ade28f11b685aebaadfdeb15e7a0ecfb3c275d00eb19486760d8fd0ad5e5ee57b84f43919dbd7347cf56561420a1d61cb0260aaac83707c42789442a0fec9531da105c10c975a08be4c7811935800ec59a5d91d5df5d5c135fa49dc131cac0b499f5f1748f193e4109481f1c0c59ddad0475c2751c6c4d04d8a689257ecb710a85958a83a5c6e903448cbe1eee660a6cd23c77d73659f392974b3b5ba72180797cac21fe5ed34e1da154363f518d69ba996ef7e1e764c7493a4c66a541b21e3ee6957c7e7aa04e78c010572e04947b27b114a49ec02f9c8e4ce17b68469e33b0da69eca00b1f7d542dff4a0787b6f280dd77bf667e5b43cdd1ec20a0153e917332adabe5bcbd042f057edc09c4ba6aa036b99ea8ee3651466bdd177864c07c4f443cd0ed8bd347edd863640d2218c0d6c46114806b328c8d21bb137c10a6f7d8c155587036edd2b4b7212a203409240b862288003c61d74a6572ce6f31105e0db2b0f51521a10c1836ee76011614516a8fb498b23f850ea076c87758bb2f4beee37b538ac9487a0da12884012fe6a44fdc51a52039a0d531f5319fb2b3b50598bfed13ce79989fb5cbbd2f0c80161f3e280631cb55fd89c9d09096afa0d46fb6cd85c33126915ee45732e720d60bc5a4227d6ab55196da0db69d4b3ba0e2e62fa6808a5431fd7fe896dcb93a7719bd906be718f1d1bc9d56fc28b098d926f043a9f57873745f638d07d6af10b49b4452ca960581d825365879e7489ac380d58244a91a5db0fccdbdcd87251121543b629971775fc412c8655941483223d4b26a61a146e8946317e1135a211c34cda97fb1122520e3819b722dec99b91de2a37c1265069cc42bc6ebdab57f07fd4e278588dd72c3091e553e97f11e8e9efeedb551464bb71f1597591da0782a97396c3f3ccf6581bd414de3ad3eff921c1da3a123615ca754867a392faf13031aa819cc5ed9243aab52fe34c40d9138e102f9903dbf7d4ca3ccd9155041202a3b79cb15ebaa7845fc4165a2c32050b260b45c563646d038b4c205b79dce800787b6f280dd77bf667e5b43cdd1ec20a0153e917332adabe5bcbd042f057edc09c4ba6aa036b99ea8ee3651466bdd177864c07c4f443cd0ed8bd347edd863640d2218c0d6c46114806b328c8d21bb137c10a6f7d8c155587036edd2b4b7212a203409240b862288003c61d74a6572ce6f31105e0db2b0f51521a10c1836ee7634f2fa4163fd009f5773844ba7ece5c949bfc0b7ab59bb7b9bf091416c50dd3b2c9bdb013aa479bd118dd523c9d1f5935c88f7b0bd35fb46586a3cae9f95eb5d1935800ec59a5d91d5df5d5c135fa49dc131cac0b499f5f1748f193e4109481f1420a1d61cb0260aaac83707c42789442a0fec9531da105c10c975a08be4c7813ff12aa92f8d813d25f68ae7edad14a24d71c512c585c322b5078dc45f0756d316793a104ad8b6a3acda05f71d22d6005107838b9bd5954fd2447e23f8d82c1135b9397e0921747c82a0680516ba64b9a8064f9f743ef10ea94f214d97e7e732379ce866d9290f1ffe072c5ec0ccc928658200b27b820e5a75369e7e3506286f1e87683257bb4e6f0f7299193d1bc12e25ea7d6e8545018a60b4fb582c5267680012cc01f8c1de13ff498c3e2ed42b63bdb5f94d452f14eadf666080ca64e12c3f52262553e72c59c18efd8a65154a4f03aa020ffcf998dd6e6f06ff2c983cf92e03fbbf8e635742bf1896d97271e39309de4e41f2c7668bb016b8cca055d2a830b4bafa3f24798ce4df145b53c2a1d41246cec30ce4a32888c18b1f2854d281356f39d02466d2919921f5410d36204eb212dc88194e5e8e3634d10484fbd3bd0c1c1ebd198f9fa250a793d38459f13e562af1c84cbe603afa78ad7c14ba31f9213a0327c8bae3fa30000090532d3ca39516c58d99b5a6128adfe162b833dda707fd4e278588dd72c3091e553e97f11e8e9efeedb551464bb71f1597591da0782a97396c3f3ccf6581bd414de3ad3eff921c1da3a123615ca754867a392faf13031aa819cc5ed9243aab52fe34c40d9138e102f9903dbf7d4ca3ccd9155041202a3b79cb15ebaa7845fc4165a2c32050b260b45c563646d038b4c205b79dce8026daa6c9138b182d1c6acf9185cb78860338f0b4c6457a3fd5ba0b735cc8c73339f7097e5b716a6a12f3be1803a6881683c625093a5515e23aa8f9b659bbd2c2379ce866d9290f1ffe072c5ec0ccc928658200b27b820e5a75369e7e3506286f35b9397e0921747c82a0680516ba64b9a8064f9f743ef10ea94f214d97e7e73237da7c67e9ade2d2fdbc28f4ac6312bedc702532e907d4d263a6ef51f28ddc47193da3ce9c298b868671ebf786e6165d84ae8dde52bb120b7511c59c6e859a54213a0327c8bae3fa30000090532d3ca39516c58d99b5a6128adfe162b833dda70c1c1ebd198f9fa250a793d38459f13e562af1c84cbe603afa78ad7c14ba31f9267e622c810e0c95ca550d387eb92dcb7502aba3e18a5e55d7ad0bf5c6a21ed72d04c0d49115329c866b70a0d2e145f46305c84c02712c7b996ebf7c9991c1680cdd78e987cb965d3102e79487cd8f177be0866f8169c090c62bae35331755992078a8fb5a7eed3f4fa4accf4fb99eca6f6130e6650a45bcbf2ce0a999d6ba073ff12aa92f8d813d25f68ae7edad14a24d71c512c585c322b5078dc45f0756d316793a104ad8b6a3acda05f71d22d6005107838b9bd5954fd2447e23f8d82c1135b9397e0921747c82a0680516ba64b9a8064f9f743ef10ea94f214d97e7e732379ce866d9290f1ffe072c5ec0ccc928658200b27b820e5a75369e7e3506286f356f39d02466d2919921f5410d36204eb212dc88194e5e8e3634d10484fbd3bd30b4bafa3f24798ce4df145b53c2a1d41246cec30ce4a32888c18b1f2854d2810c1c1ebd198f9fa250a793d38459f13e562af1c84cbe603afa78ad7c14ba31f9213a0327c8bae3fa30000090532d3ca39516c58d99b5a6128adfe162b833dda700000000000000c8000000000000000e00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020f54395039767e232aa60f7016a535e76603ec340d06f5bb4ce39318156b5eb0d000000000000000100000000000000000000000000000020afe760a4118e845e80ec70b23496169241f6fc3f25efde9e92db13b6e17cf9a5000000000000000100000000000000000000000000000020783f91dc8003c7907061e88dd821c9155060e17bd14ca453d81ce9832563808400000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000e0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020803115a7663bafcb7a7e1778285258aa86f3b654e102ff553a077d72bd2b8b1a000000000000000100000000000000000000000000000020913b7d5073e4621500260f8cf4be0c3d915ca8fd656d9333caab5d09449500d00000000000000001000000000000000000000000000000207548fa964fe54f97f16680a453ebd2b8aab5c6579aeef1df63418e778cbe20c4000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000e00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000203b9bd964b54b994cd211d020f0c7988dcbb35807d235c297f0a42fef5206c8590000000000000001000000000000000000000000000000208cf310a4aad74acf076142d7039ddb389ad47dfdb5d2cacbfc7cb4308512dc190000000000000001000000000000000000000000000000201f79c4136d400f2dcf4855adc1524494e856891a1b3c9a21dfd2275449934948000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000e0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000001000000000000002048f787bb95b1e02f94dd9c7123bcf27cb72e6483315ff34140567ab986a321dd000000000000000100000000000000000000000000000020b25e2e4fd82ea6b1d10f5b90ef1da7631e96685ad997e8a55d94bcbc4df74be90000000000000001000000000000000000000000000000208d5675368970ec2e80ccfba7eaf475d4550813d561aab9aa763a9d4d23783232000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000e00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000205075de2334ace6dbad4ce4baba71d7f142a0a7052b5e53c798fc30ef4c20f27000000000000000010000000000000000000000000000002059410814d8365be57380c912a7cb68bdd3babe65d5d5b3dcfdca27480a8899750000000000000001000000000000000000000000000000208ae674214f4c9c497c67a8c5f939e4e6ffbd04adcca61c29f50eacb25a17de030000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002e00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000203a5dc7596a4df0e40129081910356ba2525363d646dd397a47e5cbace0c8884200000000000000010000000000000000000000000000002011d4a21fca865e92f099edb85b670d66dcc062ed80600200586008f4427bf9b7000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002e0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000204ddcd47b514adee60b17d8de85f61591f0e854d8a39f058b856ba39d2f8eaacf000000000000000100000000000000000000000000000020bf13e1a74bb299e2bc1fd3f793326340e2edb3ab51a9c83181905a03d005f302000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002e00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000200ebb9e5bcf51e445db424730d933dcf382279ff3cfaa1f8138fcd616f4564aa8000000000000000100000000000000000000000000000020402d184c653e610cb595468a7acf34af635087d405ffba15601e32c0b333ad3e0000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002e0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020d493137870fed9994f481ee42a8fdb6886769c82d4fb7886bb1ae81ee725ea09000000000000000100000000000000000000000000000020f5b48524102e8ae5cdb903c37fac7c3178cdf88dd1e57b4b08b9926449cccfe7000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002e00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020ea0860e565ae186666bcabe904371b1301716e8efa00a2334ac975057641a6b0000000000000000100000000000000000000000000000020ca663df9b111bae75c827ecb50899227697c45a1aaf9e6f684b308958ee98e4b00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000003500000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000000000000000000204b1aaf5d476857ff7995cd25f332cb594b4d5476db2d8114645460130f545a4a000000000000000100000000000000010000000000000020849f9f44fd54dc4477b220faf2a97230a765b0068d8a7c76e4bacf2e75a0a1a100000000000000010000000000000000000000000000002054b5adbd3455aa1199c8a5cb9a3c501990d69a82ee78ab14b8ed78233f0adba30000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000350000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000202329cfe61465156a59a71816d37471c89050d0f843c3ca2a21925e33961289d5000000000000000100000000000000010000000000000020ec2b0569c5fc56fec651352124ca0270b8ca8686ad746d16ffc9d31cc1b11fc700000000000000010000000000000000000000000000002099ed7f9f785d49ffd15752f60476922d39565ca2632976f35b2be73245132dbb000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003500000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac19000000000000000600000000000000010000000000000000000000000000002004cfa160487510934c35e2104821841f018e1046c5d72124a6d790ab67b682fb000000000000000100000000000000010000000000000020589d73247c06abc6545a71732f8e9b33a06a990b28955b2e76ce82a2401f4fd3000000000000000100000000000000000000000000000020c74064ed8cb8e2726f4b2421cf0848c902ab6711360749b807a470d72d9d746000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000350000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020351915733b5a3e3fdede6a39b83e3cf2283f251350c0df39bda554808d34438200000000000000010000000000000001000000000000002061c06e68b16350890a3536ae301ab4b5d2b88fe47154751aa228c5558841aaba000000000000000100000000000000000000000000000020ec8048582ad080b6d513715cbe9c1bc35f4cffe8480e0ff87d41aa7ca213a1bc0000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003500000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020edfbdc24b15173b43de63c26dbb0f33dcbbce2a03587afafe2113dde01964b77000000000000000100000000000000010000000000000020b85266efa10f0ca8b2585314bcaf7663462b038aa681be7dbf7235fc0d3769890000000000000001000000000000000000000000000000205a8496ed7f9e83936385e0b8061879912df834107f3aa2b59428863f3d60a5e0000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001400000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000001000000000000002042d71b975350fef69d92e3f6d6085e22d83eb2ab923334ec1933402f740900a4000000000000000100000000000000010000000000000020719afaf90dad00afac4963e378a5be9f39c3cec37349b5793acbf6bc2888cbf70000000000000001000000000000000000000000000000200af1936a8656e25d8f065c9c3d870d36c0e638eac589321f5340941938ba5f5000000000000000010000000000000001000000000000002072475365eb04f109d74434c89f451282e5465d5c086f8cff9a833ad2442d367a0000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000140000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020ddcfd63725056f58fd5da041aa48b29b33a8a2d7c371ad0dc8bec4858bff8c180000000000000001000000000000000100000000000000204d7ab434506c2e44cae60fab8cc3fa4e1dad9e9cf1b7dbcd048d69415f0a942a000000000000000100000000000000000000000000000020c16ee2a5262e24e2c8f25c1f256e6524a1fa44bf7e024b11070207ee3d2f1f9a000000000000000100000000000000010000000000000020c81066bb758ed8cdf88ddc21040f35b8d5358b56b1e6b636d4170bb5a8d0a8b800000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001400000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020ab160290eda8ccd064d85742ae9d0a531076a7d2872e19c4de3d0245f05ea44b000000000000000100000000000000010000000000000020744602224bb293fbe44e60330a51e1c14a2bffdc90741eeb99b986a8e05d05d5000000000000000100000000000000000000000000000020763d39b6b2566769b2359dc78b773950f38f1fc8fb05c866f53964a728e1ec9e000000000000000100000000000000010000000000000020131276ede1680d9d6dc9bb45e7d298ecb5eddc7a0cef19f8a071063ac5d75ac000000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000140000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000001000000000000002044824d8b631ba7a6736f20e91ef6cf22a80ca21c8d263e2b93253018320d7f0b00000000000000010000000000000001000000000000002082410f68cce65f0e5d029d3eab88e3b42f55a00ca0a44ecccebe4785e1453064000000000000000100000000000000000000000000000020cf120a1d249edc6809872413d1e4e8b6867e74be8c20596119d3cbcdeb136125000000000000000100000000000000010000000000000020029c7bda342fc207b95a01415ee0feb092efe407e3aa6c2c399236f1b385e3450000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001400000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020db38868a785f0fee9170f15321289c514928ed613894f5697c5d47093662890c000000000000000100000000000000010000000000000020bfabb6e3485009941c2d14a7ca97a6ec641ca340985bea894cb2d8653df109a7000000000000000100000000000000000000000000000020e3c2a496e91b1c79d50c130f0293abfebeae56639db558f89672d4f1cdba570200000000000000010000000000000001000000000000002072588d4c2026305f56e6e15b1e541d743598e20b830302483486bed811f81d82000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000000d00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020942a5b15c570990567e29cec09b637c175fa2bb937fa39e350fe509323af27530000000000000001000000000000000100000000000000205a35d2fb81c7e305a5175ce0223440379b3cb0d6b189b8bb78957d1f726583d2000000000000000100000000000000000000000000000020783f91dc8003c7907061e88dd821c9155060e17bd14ca453d81ce9832563808400000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000d0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000205b631e05b96cdf3821390cc15f9ef072acb20dee729207418302156b6da0e8c2000000000000000100000000000000010000000000000020e03b254476f25497c9903c479007f96464feda22c912aea4f83ce5abda30d8540000000000000001000000000000000000000000000000207548fa964fe54f97f16680a453ebd2b8aab5c6579aeef1df63418e778cbe20c4000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000d00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000209503a91aa5603c8c98884b408f02997db604faa5ffceb37a5aaf21fb973e3120000000000000000100000000000000010000000000000020ea07b2ec5737eb7f46a231bcd6a952765d977924ce2155173f4702cc328f6a4d0000000000000001000000000000000000000000000000201f79c4136d400f2dcf4855adc1524494e856891a1b3c9a21dfd2275449934948000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000d0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000000000000000000002019779e4d9c8363af04e9c51830db6ccfdec6866f6aaeb3697b0c1d986c73e77100000000000000010000000000000001000000000000002026f6519d829968dabb92789a6482ca75ab39b73e52547b09be0d4daccce5b9f20000000000000001000000000000000000000000000000208d5675368970ec2e80ccfba7eaf475d4550813d561aab9aa763a9d4d23783232000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000d00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000201f01c539eaa24050ee9f992f9fab7237656c6708a6b45d77f35744eb42ea973a00000000000000010000000000000001000000000000002094fb756886d6c5821838ee1eac8b02db40d33a3ab21f7d1d6a29fd30dd4bd8a20000000000000001000000000000000000000000000000208ae674214f4c9c497c67a8c5f939e4e6ffbd04adcca61c29f50eacb25a17de030000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000000100000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002009506cd29bca5da181ff6f74606bf890a393f41e90df086289507a67a99406310000000000000001000000000000000100000000000000209099beee25f8629eb540a57bbafc30bac793cd063f6f48606f9432b6eef4b39a00000000000000010000000000000001000000000000002044978dbfc25cc3797c50ea7605536274fe7eddc1ee5306c0a0ed71e82ea3ccef000000000000000100000000000000010000000000000020b7e97faae0a4f5a004426233f4a4cd4ebda027ed27fb8593f1effd51dab0d1e9000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000010000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000000000000000000002016de6f3b52315fd1efa8a3995933f578830f1043412e21e8eaeee0bf0d80df15000000000000000100000000000000010000000000000020005ca4cd768f34d7f32d3b32a20de83694cb446afbb76634528474e825264a8f000000000000000100000000000000010000000000000020d2bf4d0d96f246c17bdcda41acbc260b94383fff8cc9fc4ac5b952d739ebf8ce00000000000000010000000000000001000000000000002004920907605ffdef0092db81c0e7a7ab334478dcc92780f58e9dd0f3fc554f730000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000100000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000206a21cf8dad19b95d6976b80a0ea46f71e5acaeb0d7ce0c952c612cb0e1b39b5000000000000000010000000000000001000000000000002082ea43beabb6bebf2e6d512a8df27b0f5b5f2c5c0dc6a4d8d18101a1174c6dcd0000000000000001000000000000000100000000000000208e8c57256013954a88218491a065fe5da7ba2661972f7d8760edd6d9baaa43e10000000000000001000000000000000100000000000000201074cbd976b7dd66d96e3bd56e863db7f36420b724a9e6dd9fa11dfbb506788b000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000010000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000000000000000000207a07c351209849b09a6acb859ca39da5dcc15bed6a0058e87368ab133faf40f6000000000000000100000000000000010000000000000020daac8bddb961844d8c36dd7c5b99d26290530ceec3ec54caa76b1b9ed4704a760000000000000001000000000000000100000000000000203b923424a5da47e73cfa371cfa2141a2da5102a475c701a570cc4f98fbabcd40000000000000000100000000000000010000000000000020b45ebd60f3c2d044bf8dce2c2b96240b9e2cbd2960bb543f257ed36b1eee986200000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000100000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020f4b2ec4c5005b3b85d5edf51604f76251077feb74eb4184f6606a7ee40509bff0000000000000001000000000000000100000000000000207f1de5861e33eec549e18f94552a66d55f8459a23ca3a2fa145436d3fc2e6a8b000000000000000100000000000000010000000000000020a25099eb0d41f50c240cf69ea1c8828f6563d054c1501072d7d0e92b8fa7daae0000000000000001000000000000000100000000000000206db96e671c8aef7eabf908e78553a8eb72f79044eec4014a7a535db63518a20600000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003300000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020eb665e182c3ebf538135bd366871294b6a04013022a2fc3314772080562e3821000000000000000100000000000000000000000000000020ace8fd201f880bdb4d15c87ba3532cdc228949ebcd8706e9aac78db513fc65520000000000000001000000000000000100000000000000205de391ce8d879846a7e3445cc9e1d2945c05537b5cb56e6fdf8645cea0eda3c00000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000330000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000000000000000000002031ce9c650ffcfa6c00c020518e951c954b72f9a070048bd98617861b82db111100000000000000010000000000000000000000000000002053c0a027ca17d33eb19c2bada05fc84097fa6cbea55267ed7552f39baa2a04e4000000000000000100000000000000010000000000000020a0e7abfe5647a887636964ab861eeac442f0fe3fc6690628685a689f26b53ab8000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003300000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000202f998c9152cd9929060634b8d6d6a938961f7ea7cd493b52af583675f0086f05000000000000000100000000000000000000000000000020aff31c2388633637734e07dc68d7f61d63344bf513ee33d4017fe0420dfecb240000000000000001000000000000000100000000000000200c860b992e06b75bbd824afe48e1074cdf2835d6ea07b0479f0ae5f405ddca9000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000330000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020732610d433be37408dbfd11abcf62b5c7b3fae204c2b3fc39a0a9b5f0c90c1d6000000000000000100000000000000000000000000000020fac19ff71d222b38036da2fb3cb2b3c365f77619051d4babe0a96bf736a6c6f500000000000000010000000000000001000000000000002082bb21a3cb3006d94609db16e280fcc9dce21e372f4eed9a19fafd01dc7a24d70000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003300000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000208308983c6511ee247db135573245d2c4a00b7cb0dfd382cad7f3dd3661aae79f000000000000000100000000000000000000000000000020f335f3e2cfab4c9edf048cae2aaaee5df2c3b6d98ad0508ee7b91804e2ccf2f8000000000000000100000000000000010000000000000020d3fb5a594605f9b106a4923d7c51b5a45e6b89d27c21cda50b531fc5b013d22d000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001f00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000000000000000000206f86fc4fb0f20322a6225c006fd5d545b57ac1a305b3c0dee61e071701ccf36200000000000000010000000000000000000000000000002069676eba0bcc997f6904b14970a95608bd1ec04a64556fb185ee837a4b104c5c000000000000000100000000000000000000000000000020a0b720bb113bb73f0301d782f64efd7cb6f1f9804ecc80c8d4572574cbd3b1dc0000000000000001000000000000000000000000000000209d35889dcbf30a695293c396d9bdaa7131050f2cc5766c02b1d9dc8f02e9d4080000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000001f0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000000000000000000020550a9394e7ad0d6c6ff0e24f7646ade2efbbc3457f957f51e10a0e3490077f4c0000000000000001000000000000000000000000000000205dfe61ab0858d4220a2a83acfc41c0508f71b53a56755d9a9ec6910100f405eb000000000000000100000000000000000000000000000020d6d9bff9079752a3826a2602e24e8c0b364c37ba38ddbb5d553e8b467d2e4c680000000000000001000000000000000000000000000000200e47d29f00044649cf961d72cd62b438a4cbd4fb41f704dc94d710d4a4c7f76900000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001f00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000207e89b3cb8a627cac408c7136c938f88085e42041459a5c232e59e9f06da8603f000000000000000100000000000000000000000000000020a0fe4638389e584a34141f34a205dc8ab4d22e84611317f2db77d2968c9b9c000000000000000001000000000000000000000000000000208a279a4ccf51539831212ccb3b31a2a5fc84928a5e7cc5a8bccc3c6ca02ee1ff000000000000000100000000000000000000000000000020cb7b2320d2dc25ad893bee8062cc3cb5fd44139dbe1295fa912e267f870a395500000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000001f0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020d6bfec194b0ba87ec0a790ca100b4928a3150b8b757f3dedf4ac18ecd78f5eb10000000000000001000000000000000000000000000000208760c3825f59d4480d8f114226a46ccd253f7ae92104781eacf0646d3fc5b33c0000000000000001000000000000000000000000000000200cb64bdd5a977e3f3eb6b737e9bb8a8cf577ab5f1347852b09cfa9bf8f4f77e50000000000000001000000000000000000000000000000200ef58e2b0cc6fe3fece1fc2a45ae0c597d3dc56f63784c4e71be080e974076dd0000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001f00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000000000000000000002024e4a816ab6d0c3d74a93b15ddc211b5434221c7ddd0cef5b40b82b594c632390000000000000001000000000000000000000000000000208c55e642c64c0819a233ddaa085a634fcb4d4722da5ba4f48feb8cd57de67ce2000000000000000100000000000000000000000000000020209c9c43bcf967e9eef31e850acad947405f38234b4a59a8a915b8a01c4c0bb4000000000000000100000000000000000000000000000020d426c6194801dc23ad47a0ae8944ef7718fccaa7be1ca6077d0e3451b5e833b6000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002600000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020c82a7381da320174352b5d1122ed914a8504e49e9bdd0e5f8de307d44e3c394b000000000000000100000000000000000000000000000020b1339cb101becd5a2bdb8211751d5ec488f133e4cb7fe050f02a7dbab3d420d20000000000000001000000000000000000000000000000207abc7804b42df151ccb03b8d4a03224f66fe573a381e0b88dbba519b2d001296000000000000000100000000000000010000000000000020e5fb1a2f597c79337c58cedcb93b7f158b34f1034e20a781642c3375bc2bf1a1000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000260000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000203232ca705d43a481dca5a0fc9a5d5846ee883852ad66902f403725e7fbcfce18000000000000000100000000000000000000000000000020070885eb2e86df3192571b6b02112f22cb5186fa36cf4a7bd86ee7c14f066b6c000000000000000100000000000000000000000000000020b50050b78fa250d8ba999bbc9f6e0ac3937b615e7c39aa3d674acc0fdd3ea35a0000000000000001000000000000000100000000000000206d75b1e3cd36b392823ca321fd25d7aa9e999eaf328ef7c9b9203d8365aa65bc000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002600000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000208660b70011ddec4399f8d9189537dcaed39ae916f9a13ef071269aa431a12309000000000000000100000000000000000000000000000020c09db46d4533b6c19dc558968f9580398f4d951873fa519f08d4f11d5388354d0000000000000001000000000000000000000000000000209064f96d107347cba987261c4d5a3fa19425504098002d2588ee04bb2a64d779000000000000000100000000000000010000000000000020899ac6d58471917cbaed08d94442b9b3657bd0fe97d53bd1f43d9bbb49403f2900000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000260000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020c63001479a914983906cc491a1834150fc4cb34ed336315dda4979ee4a43c0050000000000000001000000000000000000000000000000209d298a1b4a07144f7fe23e82fd9f33058f8a0cfbef0e92257ebe5f6e28aad15f00000000000000010000000000000000000000000000002013c31f7e9d6bc567b9ceda4a2f4c1e955b0f95d0690755bff0ccc9cdfa7dbd290000000000000001000000000000000100000000000000202761c23c69e95bfa72a9c33dd077a354ae61f5d3bc1eacbec71766dea72dd6ea0000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002600000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020d0f3a251a364ac5ee384a80220ea2939716ee7fb7c1ad1556e299fc03ee6bb14000000000000000100000000000000000000000000000020bba00831ea46c942ac9b68fde33f41886e7d429ee8f54691d89f4508c56dbe6a000000000000000100000000000000000000000000000020020a0478e50c5145eacef46d75735ebd7e072f92247c7694a01aa22bea23e2ca00000000000000010000000000000001000000000000002002e83a966b4e95ba87a92c452efd4f7d5ebc6f186900580cf66db9dd49992a55000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000003b00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020da5ee43ac25b1cd92234ede15853403811cef6936d1dbda0d1c02aa0895ee00400000000000000010000000000000000000000000000002018532b34d53572e74d1f5457070b7ec3361ab70fa3b89c57be2a110395e8861a0000000000000001000000000000000100000000000000203a56fc91f7a9abe26af4e0d52265b8e18762ec8a3a030b331b58590c94b1a7c5000000000000000100000000000000000000000000000020b618c9bb9b88cb86388813024854e7e97aa7e43d598c721b4ed67851703aa186000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000003b0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000000000000000000020bad5ad866aae0b30b3939ff18a80a2e1f9e82739daee843b8c87bde8e37f63e0000000000000000100000000000000000000000000000020c7a9bcad97e0a26be0d69f438488f67352ac97ed5067f77612a50615448c016d0000000000000001000000000000000100000000000000201b03465a00d0b91248083fc87a57bd5d29fb1feb6c8d5c72b1faab6349adcf87000000000000000100000000000000000000000000000020dbece79817435131123680b4f1484db106162675ecafa5834fb6ca26b03810eb000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003b00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000200442b019fb3196e5cfd17567f9609ddbfe252df43a61352ca6828c97ba8b0c4a00000000000000010000000000000000000000000000002057680c510810c296fbe98e85914aae0b8138e649471990ffa6aa54325491f886000000000000000100000000000000010000000000000020d9c079fec70c0a96f8403f97e6a3c8b0c3f42bdb4972abea86842c95d5074b820000000000000001000000000000000000000000000000201019fd91accf22b754f20d4803c6809334a2c3915824be0106f7e811f25319fb00000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000003b0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020bc0773064a68ef111fdeef5193694dad63c7834038accb7ce7ccd0a85c4fe96300000000000000010000000000000000000000000000002027aaef13b6203a101e72022123cfd7406199211e3e4a5dbae5d3b371c3448021000000000000000100000000000000010000000000000020ca9f66beff1351ae260fd9c68687d5fe86081f8bd1633e53d360239549971a8a0000000000000001000000000000000000000000000000203d0843ddc070a23d3f2fd5991768ed5d96cded57cda2b5c9cb003298be61db3f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003b00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000206df1dda35873168d54fa50938ee002b808367cf2f5e92a175f61a9014ee0538c000000000000000100000000000000000000000000000020dfb1714b7a66a0536b594eb1a1b30571131b327cf3c44e3aa9500579a8fe097a0000000000000001000000000000000100000000000000201e10f71a19df83b0cca8b4060990259056f0d9b51dc91860c47e9556212e77bd000000000000000100000000000000000000000000000020c695589d4fce218d95322e8090b50d52efd329fcb5daae011a009f1fe48074c3000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000c00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000001000000000000002017f949e2956f923202e45d21b08d1187f5da6164504538542b892b89503540890000000000000001000000000000000100000000000000205a35d2fb81c7e305a5175ce0223440379b3cb0d6b189b8bb78957d1f726583d2000000000000000100000000000000000000000000000020783f91dc8003c7907061e88dd821c9155060e17bd14ca453d81ce9832563808400000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000c0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020a82a60dbfc936f49ef6e54078bde49ff40e337b2bbca933d7f3773dc83c24b3e000000000000000100000000000000010000000000000020e03b254476f25497c9903c479007f96464feda22c912aea4f83ce5abda30d8540000000000000001000000000000000000000000000000207548fa964fe54f97f16680a453ebd2b8aab5c6579aeef1df63418e778cbe20c4000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000c00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020a2465accfaa758f0b23c617ecf0e7922242c6c5248d33a8b884c0d25ad1843e0000000000000000100000000000000010000000000000020ea07b2ec5737eb7f46a231bcd6a952765d977924ce2155173f4702cc328f6a4d0000000000000001000000000000000000000000000000201f79c4136d400f2dcf4855adc1524494e856891a1b3c9a21dfd2275449934948000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000c0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020502c7ad8c06aa2b4ced3df7b341fbf578de6110fff21ffe852af30a9d83f5a3500000000000000010000000000000001000000000000002026f6519d829968dabb92789a6482ca75ab39b73e52547b09be0d4daccce5b9f20000000000000001000000000000000000000000000000208d5675368970ec2e80ccfba7eaf475d4550813d561aab9aa763a9d4d23783232000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000c00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000202a76248675f41051d39d797967ccb05466768813bd3151080f40a84d28cf549a00000000000000010000000000000001000000000000002094fb756886d6c5821838ee1eac8b02db40d33a3ab21f7d1d6a29fd30dd4bd8a20000000000000001000000000000000000000000000000208ae674214f4c9c497c67a8c5f939e4e6ffbd04adcca61c29f50eacb25a17de030000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000000700000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020a9362ea4557d31bcadc6d4f7dc8bd7accb98192821f2782736254e3a6ca2e9580000000000000001000000000000000000000000000000204ea32fe47505a5e76de8d23c50df25a1a4fb4a1842d6b5e3a46ba340dc686863000000000000000100000000000000000000000000000020d2a8faf8bb23301e26db88d4f5d437243f4bbfabfad3c2ee5442e19590cefee3000000000000000100000000000000010000000000000020b7e97faae0a4f5a004426233f4a4cd4ebda027ed27fb8593f1effd51dab0d1e9000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000070000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000000000000000000020040e20af277ace3a893a273d1762b19b94950bd042e7a3b07c1f33ad11ba2a680000000000000001000000000000000000000000000000201ca17bacd9329d254deb607412f97f1c336e53f44f45dbdf3419d75f5049110c000000000000000100000000000000000000000000000020be85af743138534c67c2e9f382a416f87f8f9271f4cafed68b4a1f7ef9fc1b1800000000000000010000000000000001000000000000002004920907605ffdef0092db81c0e7a7ab334478dcc92780f58e9dd0f3fc554f730000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000700000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000000000000000000020071dfc301c462eddb031314efa3352ad6778c5fc087f17351b1537a3eeb6123d00000000000000010000000000000000000000000000002090362c1e2123e497af48a1de0cc6455e64599c40dc24f605835a5c3e63f27047000000000000000100000000000000000000000000000020a74fbd34d83d5c307c919cffb4c952312c068a66aeb29e66a1d8e9ff3163e95b0000000000000001000000000000000100000000000000201074cbd976b7dd66d96e3bd56e863db7f36420b724a9e6dd9fa11dfbb506788b000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000070000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000000000000000000208990b722390eb92a8b1e9193e19ffa0b9e44ce9962ca136e8dfb167dcd803af8000000000000000100000000000000000000000000000020ff42ee17bd511263f94829db6723c597baf2a3d5490b1823f4ab982a43196dbd0000000000000001000000000000000000000000000000208d436cdab6b12649f2d8b515e692407dd3f3bb7ecae49ea16bda0a9747708deb000000000000000100000000000000010000000000000020b45ebd60f3c2d044bf8dce2c2b96240b9e2cbd2960bb543f257ed36b1eee986200000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000700000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000202ccd8854e78cafb265f39ec1b4d718a2ae83673d6b714650293affcd9a2727c2000000000000000100000000000000000000000000000020ccbe6a2895967c448d6e3564794d62d46ba78c3f8a490c4b9bdfa8924fc60453000000000000000100000000000000000000000000000020fce1bd71523f9f8c11773e3b424afe906465378141030fcdcc34a3a30134dce10000000000000001000000000000000100000000000000206db96e671c8aef7eabf908e78553a8eb72f79044eec4014a7a535db63518a20600000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003000000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020e1fd17ce82238ebccca436c59445d2f307ac27608ba507465917ceea4989de0d000000000000000100000000000000010000000000000020c52cf4f9162c5f33e07213ae8a9b938009173c99bf4c7d0b4ad3ea04d7ee59950000000000000001000000000000000100000000000000205de391ce8d879846a7e3445cc9e1d2945c05537b5cb56e6fdf8645cea0eda3c00000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000300000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020ad7c656686537efdef7ea4b871505ce0a763936262c64e3e869a9b5334b71b95000000000000000100000000000000010000000000000020db62003d9a313452781e08744077982834cbb5f54d7905dc96cf1a08b4cb8bc0000000000000000100000000000000010000000000000020a0e7abfe5647a887636964ab861eeac442f0fe3fc6690628685a689f26b53ab8000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003000000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020103368daba58f64f05392a987e6d8bb9515b5ae39d25378512304e9d75af5aa7000000000000000100000000000000010000000000000020ecd562129d4baaa1ce8d6705952595039044e092b45e5f5a70de287a527c1c230000000000000001000000000000000100000000000000200c860b992e06b75bbd824afe48e1074cdf2835d6ea07b0479f0ae5f405ddca9000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000300000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000202bd22fecfc2cafc20063de177b1ae409a1ed4519dbdfb27d642eaeb9930c9d1a0000000000000001000000000000000100000000000000203a8b818d6e4bc5aeaefb9cbf3bae04267a66c14b12428429d25244b0edf353e500000000000000010000000000000001000000000000002082bb21a3cb3006d94609db16e280fcc9dce21e372f4eed9a19fafd01dc7a24d70000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003000000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000001000000000000002021bd751dba98f9aec09c22a3742cfe552903ea27c18c22697b82654cf0ae1c28000000000000000100000000000000010000000000000020046e0c65dc34582570d5d9aa8af09fc5846e6b8fd2b386e5e949f05875c7ca96000000000000000100000000000000010000000000000020d3fb5a594605f9b106a4923d7c51b5a45e6b89d27c21cda50b531fc5b013d22d000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000700000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020a9362ea4557d31bcadc6d4f7dc8bd7accb98192821f2782736254e3a6ca2e9580000000000000001000000000000000000000000000000204ea32fe47505a5e76de8d23c50df25a1a4fb4a1842d6b5e3a46ba340dc686863000000000000000100000000000000000000000000000020d2a8faf8bb23301e26db88d4f5d437243f4bbfabfad3c2ee5442e19590cefee3000000000000000100000000000000010000000000000020b7e97faae0a4f5a004426233f4a4cd4ebda027ed27fb8593f1effd51dab0d1e9000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000070000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000000000000000000020040e20af277ace3a893a273d1762b19b94950bd042e7a3b07c1f33ad11ba2a680000000000000001000000000000000000000000000000201ca17bacd9329d254deb607412f97f1c336e53f44f45dbdf3419d75f5049110c000000000000000100000000000000000000000000000020be85af743138534c67c2e9f382a416f87f8f9271f4cafed68b4a1f7ef9fc1b1800000000000000010000000000000001000000000000002004920907605ffdef0092db81c0e7a7ab334478dcc92780f58e9dd0f3fc554f730000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000700000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000000000000000000020071dfc301c462eddb031314efa3352ad6778c5fc087f17351b1537a3eeb6123d00000000000000010000000000000000000000000000002090362c1e2123e497af48a1de0cc6455e64599c40dc24f605835a5c3e63f27047000000000000000100000000000000000000000000000020a74fbd34d83d5c307c919cffb4c952312c068a66aeb29e66a1d8e9ff3163e95b0000000000000001000000000000000100000000000000201074cbd976b7dd66d96e3bd56e863db7f36420b724a9e6dd9fa11dfbb506788b000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000070000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000000000000000000208990b722390eb92a8b1e9193e19ffa0b9e44ce9962ca136e8dfb167dcd803af8000000000000000100000000000000000000000000000020ff42ee17bd511263f94829db6723c597baf2a3d5490b1823f4ab982a43196dbd0000000000000001000000000000000000000000000000208d436cdab6b12649f2d8b515e692407dd3f3bb7ecae49ea16bda0a9747708deb000000000000000100000000000000010000000000000020b45ebd60f3c2d044bf8dce2c2b96240b9e2cbd2960bb543f257ed36b1eee986200000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000700000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000202ccd8854e78cafb265f39ec1b4d718a2ae83673d6b714650293affcd9a2727c2000000000000000100000000000000000000000000000020ccbe6a2895967c448d6e3564794d62d46ba78c3f8a490c4b9bdfa8924fc60453000000000000000100000000000000000000000000000020fce1bd71523f9f8c11773e3b424afe906465378141030fcdcc34a3a30134dce10000000000000001000000000000000100000000000000206db96e671c8aef7eabf908e78553a8eb72f79044eec4014a7a535db63518a20600000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002d00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020845451ed57403832fd468cbf81bb67ac7c3f151eab53460affe793c1dd51f53c000000000000000100000000000000010000000000000020ddf9c40ce034978b4816ec3b1c8254cba1dca59eb28ccc368bf1dbbb8d05204d000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002d0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000000000000000000002045d166a132683fd6677b628074b8b19fb75564ba685d43a4c6f1d904c47084b00000000000000001000000000000000100000000000000202901c5846936fb350c787d0b62a5881064efd11009e56c80e1e34509ab579690000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002d00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000203ba28cc0ba126ba98a8432958eef9e2323c391f1258264a32e5c6d7b625ed3a20000000000000001000000000000000100000000000000200071f7b5f24524a87a09e376581e38eb4e54c6c21eb2846c845cc3b60b3ac8640000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002d0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020f16b194a6173f5261bd04a39d0e07bf6bc12557fb67d9e04c9d27a2547d4844e000000000000000100000000000000010000000000000020a0da4248a2e166650d5d4a6a31e5cda0ea8966f201ea35abb65c8f4bd28ef6b4000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002d00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020aad6fad2e05149af328b6322306f1b5e1ba1882599df075945ee821e271dcc57000000000000000100000000000000010000000000000020111c808edeae6ea33abc12ec903be2373a2f1803b847ee90dc5c8c400536190a00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000b00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000000000000000000200546a90bead2651f6818a53867ef5dd1019f26f5ac2c60ca2464c50920120d980000000000000001000000000000000000000000000000208ca0bb8606727e05e40151c33a7362eb09871bf05353e443969bb7dcb08b7a63000000000000000100000000000000010000000000000020033c531302dc19b104c02cbabf2f75c2c4b723a2dde6de24c3b8fef26ba0a66000000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000b0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000000000000000000002096e660c610723d538ba03abef997da8d6bfc74bebbde87738ca56d1698763b8b000000000000000100000000000000000000000000000020b8b04ccd189e7edb68cede29309c250f57250c680ac14805062d3d5251b14e9a000000000000000100000000000000010000000000000020a82751cf2f0d5acc3ea15e64200a8d07fd159cb15e53cbff557dd634611a5104000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000b00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000205317d7cd2124f126683602d06574a75d07d442e5ac8cba5a422225a460afa3c1000000000000000100000000000000000000000000000020369a8d5822adc9d503a67674d2c2c067f989e4c436422a996c3938fee840e599000000000000000100000000000000010000000000000020c7ccea40b010f1660924361285be987dfedd5cf78a200777d448bff0950b51f2000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000b0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000000000000000000203fbc4885870534e07cf6ba21c32ed2236f94a23bf39773a920dad4ad0e77e9180000000000000001000000000000000000000000000000200d9ba1e77f50deaea5bece3430539f4e2b48e19b803d4e3a5280cf441fdfcc240000000000000001000000000000000100000000000000204f8542538b5e9d1a8965ba68aee3a7ddcfb437f326f8ea50b51fe2c3959ebef3000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000b00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020836f3f36c9cf0babffd6d44a30e381c868969fa4b512398cdc7cac901f2fe30c000000000000000100000000000000000000000000000020219d1ea195f945eff8e28578c6e54e4163ac4349b52faa627897e347a38f49fe000000000000000100000000000000010000000000000020617492a9cc69052b6c3e950a2404bcea527a5258636388e5e2fbdd628b34728e0000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002f00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020d024c5582a9891b542c5fe1892bada01b7599406f78aa1c8b2707df974ece76200000000000000010000000000000000000000000000002011d4a21fca865e92f099edb85b670d66dcc062ed80600200586008f4427bf9b7000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002f0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000209f04796070f0706cb2968fcc793807eb01c8d49421b100455d1e311a18ef198e000000000000000100000000000000000000000000000020bf13e1a74bb299e2bc1fd3f793326340e2edb3ab51a9c83181905a03d005f302000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002f00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac19000000000000000600000000000000010000000000000000000000000000002013dc04ee364da286229bdfcfdd22009e6ad7c6c4dfe750498386f067ef7ad768000000000000000100000000000000000000000000000020402d184c653e610cb595468a7acf34af635087d405ffba15601e32c0b333ad3e0000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002f0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000000000000000000002023b06af4659d5a09d9a2e53d898d20d85118b8de5e94551cd03771c5b90e20ff000000000000000100000000000000000000000000000020f5b48524102e8ae5cdb903c37fac7c3178cdf88dd1e57b4b08b9926449cccfe7000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002f00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000207efcb2f655280b53439294a0a808fe8e3258944d7962ab622a835fbfad74c487000000000000000100000000000000000000000000000020ca663df9b111bae75c827ecb50899227697c45a1aaf9e6f684b308958ee98e4b00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000c00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000001000000000000002017f949e2956f923202e45d21b08d1187f5da6164504538542b892b89503540890000000000000001000000000000000100000000000000205a35d2fb81c7e305a5175ce0223440379b3cb0d6b189b8bb78957d1f726583d2000000000000000100000000000000000000000000000020783f91dc8003c7907061e88dd821c9155060e17bd14ca453d81ce9832563808400000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000c0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020a82a60dbfc936f49ef6e54078bde49ff40e337b2bbca933d7f3773dc83c24b3e000000000000000100000000000000010000000000000020e03b254476f25497c9903c479007f96464feda22c912aea4f83ce5abda30d8540000000000000001000000000000000000000000000000207548fa964fe54f97f16680a453ebd2b8aab5c6579aeef1df63418e778cbe20c4000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000c00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020a2465accfaa758f0b23c617ecf0e7922242c6c5248d33a8b884c0d25ad1843e0000000000000000100000000000000010000000000000020ea07b2ec5737eb7f46a231bcd6a952765d977924ce2155173f4702cc328f6a4d0000000000000001000000000000000000000000000000201f79c4136d400f2dcf4855adc1524494e856891a1b3c9a21dfd2275449934948000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000c0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020502c7ad8c06aa2b4ced3df7b341fbf578de6110fff21ffe852af30a9d83f5a3500000000000000010000000000000001000000000000002026f6519d829968dabb92789a6482ca75ab39b73e52547b09be0d4daccce5b9f20000000000000001000000000000000000000000000000208d5675368970ec2e80ccfba7eaf475d4550813d561aab9aa763a9d4d23783232000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000c00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000202a76248675f41051d39d797967ccb05466768813bd3151080f40a84d28cf549a00000000000000010000000000000001000000000000002094fb756886d6c5821838ee1eac8b02db40d33a3ab21f7d1d6a29fd30dd4bd8a20000000000000001000000000000000000000000000000208ae674214f4c9c497c67a8c5f939e4e6ffbd04adcca61c29f50eacb25a17de030000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000001b00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002032cb3dfc10059021cea6881a25e57bcf667ac307e7b45cdf70518cf31969a97500000000000000010000000000000000000000000000002005341fdc1c78c28eff448e6b8638d5c351fb51a910cfb906d5b1eac3f210779a000000000000000100000000000000010000000000000020cdcc2d25826889b0cfe907b1f23ab9a99d935d21b0791bfa02a1cfc8e55cedbb0000000000000001000000000000000000000000000000209d35889dcbf30a695293c396d9bdaa7131050f2cc5766c02b1d9dc8f02e9d4080000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000001b0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000000000000000000020dc2ce122e1ca00666cd51c64fa15397ac886e8e8460e98321ae8f77b3891676d000000000000000100000000000000000000000000000020f64ff5313dee042933f3098c0b91720bbf96b91ea5815b8034110c7e9e0ed4a70000000000000001000000000000000100000000000000207c0f0272b09d36727089c3a8c7d3b4e102041e205dd0f8505ee653ed8927fe7c0000000000000001000000000000000000000000000000200e47d29f00044649cf961d72cd62b438a4cbd4fb41f704dc94d710d4a4c7f76900000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001b00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000200cd2e77678a3b6a7b88bdf780a8deddceb2b051ddcd5bf4e7af23dc5bf6e3ce10000000000000001000000000000000000000000000000201a9935065bf16a518950f859f7495ce8fad89ebf80ed98dd4e3eacb33ec07b4300000000000000010000000000000001000000000000002050b76b90086bd51cbafc4efc56a8220d8d37c4074e77c9f74e66b36c069e5bec000000000000000100000000000000000000000000000020cb7b2320d2dc25ad893bee8062cc3cb5fd44139dbe1295fa912e267f870a395500000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000001b0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020e41ece98fa25c16c3340150322d67f7c3a584bdc8087fb75c5053bfcce987a96000000000000000100000000000000000000000000000020e176cf46a33f4a7a136ca2db8e76f74366957bbeb116ef11f798f4d76bfa101100000000000000010000000000000001000000000000002099bc692a8e1be3044f1e0811cc91f777004b69e254d6e31702e7f12c4e8cf79f0000000000000001000000000000000000000000000000200ef58e2b0cc6fe3fece1fc2a45ae0c597d3dc56f63784c4e71be080e974076dd0000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001b00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020641fe9416a35d4b90671ba19342ebf3582e8d4e1c1cdac3b62a8c4878b4f7825000000000000000100000000000000000000000000000020b7fb632f294d945f32767fb918e6be3c8150b110f5b2e72bf4db415ed0c4dcd4000000000000000100000000000000010000000000000020bb9af173860b35071e6f0d75221914053b622ecaf9ecd519fc10c1ef11e5a0b2000000000000000100000000000000000000000000000020d426c6194801dc23ad47a0ae8944ef7718fccaa7be1ca6077d0e3451b5e833b6000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002000000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020da07cc5165fb332e9711f64acf502ab5a2d2ec36bd675cc21faac90d7ab3a65f000000000000000100000000000000010000000000000020099b7bd5a9c6b9784baac9768c11370b5314fc0fd03701a2ac5ecb63dffb7cfd000000000000000100000000000000010000000000000020fc19fa0dfeb320a6f96174903f1153df9bf39f9554e968514d90da778402f2e9000000000000000100000000000000010000000000000020e5fb1a2f597c79337c58cedcb93b7f158b34f1034e20a781642c3375bc2bf1a1000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000200000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002090fbd2865af123fa595dc5d4e61c1224fe7027cd98b8b97363bc2bf45ec7dc89000000000000000100000000000000010000000000000020e95e6c23084c63f222a7650199b48b8ef9dbab75dda068f44fd2ff820d96a9e600000000000000010000000000000001000000000000002025e1ac645c383fc3266d5a17fe2567e5606ae9c534efe4194dfc08c24c53a7b90000000000000001000000000000000100000000000000206d75b1e3cd36b392823ca321fd25d7aa9e999eaf328ef7c9b9203d8365aa65bc000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002000000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000202fbffd29b4876eb2b575571e7e0fe1db98cc49a2956148243f5f8812533cb72200000000000000010000000000000001000000000000002098386f989fe4d8a06d45ad7b6ddbf83416116127e2acb3cbe8e72e8046851c1d000000000000000100000000000000010000000000000020c8948eadb70ca78326c93a93f683f4753a2fdf7b065616aee9d56e2f7388ed63000000000000000100000000000000010000000000000020899ac6d58471917cbaed08d94442b9b3657bd0fe97d53bd1f43d9bbb49403f2900000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000200000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020bee72ef7ee2a0af1a746a4cef71d8a54d221887630bcb6ab6cb885279a8748c40000000000000001000000000000000100000000000000205c823c02966011888fc565d478d0bc66f6270687adca4d54f7134ec898b24fd500000000000000010000000000000001000000000000002065837656dd6f429c393e928a775f03397fa2ac9638678d8e5327b7c0b1004b4d0000000000000001000000000000000100000000000000202761c23c69e95bfa72a9c33dd077a354ae61f5d3bc1eacbec71766dea72dd6ea0000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002000000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000207b8a6a08fc3999b2b3d96aae901ec29892f42d2e3b0997f6fd7314936ce98575000000000000000100000000000000010000000000000020d83ff889973bf1f7ae828806fd716c37951b4914c33581b5b2da7d67c7b52f69000000000000000100000000000000010000000000000020026fba9823f39876ac7197827c2ba9aa7309769282773af388a68f3357cd46e000000000000000010000000000000001000000000000002002e83a966b4e95ba87a92c452efd4f7d5ebc6f186900580cf66db9dd49992a55000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000800000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020d101ad6fb2696fafa6ea336e7ebf6b7416a6b776a8f2a7c72d22a46f7e47b383000000000000000100000000000000010000000000000020d0a832b87c04acf99b61d5606b5e30e082a72c407dd0f2dc19ac4ba0d8d31a63000000000000000100000000000000010000000000000020033c531302dc19b104c02cbabf2f75c2c4b723a2dde6de24c3b8fef26ba0a66000000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000080000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000205daeee96305656042a38a762165c2a60306da607d73245e4ae650c3970d1df85000000000000000100000000000000010000000000000020c438b137d84240807f255361ddf07007f980fbd31a11dc3f888cc924f348f077000000000000000100000000000000010000000000000020a82751cf2f0d5acc3ea15e64200a8d07fd159cb15e53cbff557dd634611a5104000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000800000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020cc519b94be34f3811c981720789fc086f9731dcfe14f4b4249fc5ed9c3b4c921000000000000000100000000000000010000000000000020e2e87cb9472d7df79e84c37c301d5631b15668e863c29173e53bfc07851e51e8000000000000000100000000000000010000000000000020c7ccea40b010f1660924361285be987dfedd5cf78a200777d448bff0950b51f2000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000080000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000200750fc80ee0f02ac1b11e6bae7de1f5abb4bf300e622b2f37a091aa187aaaec7000000000000000100000000000000010000000000000020ee60707f2d4d20c4843c9ae9a310f3fd94fd76c73f0605a11503d1081a5827bb0000000000000001000000000000000100000000000000204f8542538b5e9d1a8965ba68aee3a7ddcfb437f326f8ea50b51fe2c3959ebef3000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000800000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020562ad2bebe7b48cb8c5d1dc2bc8653fdb3d5207ba646695b0a02ad0add3c4f3400000000000000010000000000000001000000000000002037ace1670a3c6ded15062dba38e07dbf078aae92c060b2de2fce7a9d82e4927e000000000000000100000000000000010000000000000020617492a9cc69052b6c3e950a2404bcea527a5258636388e5e2fbdd628b34728e0000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000001000000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020638bd61aa4a3049853b80e1623184977bfc92172ad04cb9b182d5369447d2d0300000000000000010000000000000001000000000000002095b428bf52bb38aeee02da359be1d8afe548b04ccfc68540ffbc51b7e3bd0c4900000000000000010000000000000001000000000000002013e9ca70aa2a6bea352505491de35e46bde7dfe99f037fabe3f8b78d0678bd4300000000000000010000000000000001000000000000002072475365eb04f109d74434c89f451282e5465d5c086f8cff9a833ad2442d367a0000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000100000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020f3c5b6dc0590fdf8f49323c082e2a4dd4b8bdacdcdf5ba9e0a92af94995351f000000000000000010000000000000001000000000000002072bff3a788f28e640d9bc336f9a86167a46ce246fad5596985fb934d553087f8000000000000000100000000000000010000000000000020ad66f0523b5aedf07b4da3ef7be3ae29823f80d2a8146918e4630cc621fe66e5000000000000000100000000000000010000000000000020c81066bb758ed8cdf88ddc21040f35b8d5358b56b1e6b636d4170bb5a8d0a8b800000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001000000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac19000000000000000600000000000000010000000000000001000000000000002010ebacc8d7d66edb86d8e0e32c9d317e72f7c559554eea8bac76675407f801b7000000000000000100000000000000010000000000000020f95f48d5655a8ef9ece8ade7fc9cdfd3a957d18d3b260b508a93a105efad817b000000000000000100000000000000010000000000000020f405aa0aa076c741408cd70483f4e754825afd022bf3c32c1a5151a13089719d000000000000000100000000000000010000000000000020131276ede1680d9d6dc9bb45e7d298ecb5eddc7a0cef19f8a071063ac5d75ac000000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000100000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000001000000000000002008b1b9edd0f66103f259f131b39f735d990dfdfad2ebb8ea41765e1832d956b40000000000000001000000000000000100000000000000205d529e0b2f7c9eeb0add0b0f4f2dda5325d253775457621961d0d3fd3df6702f000000000000000100000000000000010000000000000020aa74002e935f789cad2eb32db3e919e339716826d480fcc9e89c537d0bee51b4000000000000000100000000000000010000000000000020029c7bda342fc207b95a01415ee0feb092efe407e3aa6c2c399236f1b385e3450000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001000000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020bbaf5c5a62e253cf3b1b0eaac7996f4341d7e023c5470eee5f579f5ca3aa0bf8000000000000000100000000000000010000000000000020f3227bfd6da3b355734cc380a513f865140f763f2bdd0a69c9711b6b764cc1c8000000000000000100000000000000010000000000000020dbd0418eaaf56d28064391c54e8968ab899a8141fa2c4d85e9128a59eb4102dd00000000000000010000000000000001000000000000002072588d4c2026305f56e6e15b1e541d743598e20b830302483486bed811f81d82000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003000000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020e1fd17ce82238ebccca436c59445d2f307ac27608ba507465917ceea4989de0d000000000000000100000000000000010000000000000020c52cf4f9162c5f33e07213ae8a9b938009173c99bf4c7d0b4ad3ea04d7ee59950000000000000001000000000000000100000000000000205de391ce8d879846a7e3445cc9e1d2945c05537b5cb56e6fdf8645cea0eda3c00000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000300000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020ad7c656686537efdef7ea4b871505ce0a763936262c64e3e869a9b5334b71b95000000000000000100000000000000010000000000000020db62003d9a313452781e08744077982834cbb5f54d7905dc96cf1a08b4cb8bc0000000000000000100000000000000010000000000000020a0e7abfe5647a887636964ab861eeac442f0fe3fc6690628685a689f26b53ab8000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003000000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020103368daba58f64f05392a987e6d8bb9515b5ae39d25378512304e9d75af5aa7000000000000000100000000000000010000000000000020ecd562129d4baaa1ce8d6705952595039044e092b45e5f5a70de287a527c1c230000000000000001000000000000000100000000000000200c860b992e06b75bbd824afe48e1074cdf2835d6ea07b0479f0ae5f405ddca9000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000300000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000202bd22fecfc2cafc20063de177b1ae409a1ed4519dbdfb27d642eaeb9930c9d1a0000000000000001000000000000000100000000000000203a8b818d6e4bc5aeaefb9cbf3bae04267a66c14b12428429d25244b0edf353e500000000000000010000000000000001000000000000002082bb21a3cb3006d94609db16e280fcc9dce21e372f4eed9a19fafd01dc7a24d70000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003000000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000001000000000000002021bd751dba98f9aec09c22a3742cfe552903ea27c18c22697b82654cf0ae1c28000000000000000100000000000000010000000000000020046e0c65dc34582570d5d9aa8af09fc5846e6b8fd2b386e5e949f05875c7ca96000000000000000100000000000000010000000000000020d3fb5a594605f9b106a4923d7c51b5a45e6b89d27c21cda50b531fc5b013d22d000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000002800000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020aaed5810a3b6b0e0561eec32f79946b737e4cd02dd15706d0cac1bccae306af40000000000000001000000000000000100000000000000205d38167bd2c9481781b0e2fd34f72023f7b3d1ca7b209408b95f4ad7ef049921000000000000000100000000000000010000000000000020c9ac4aeaf74979cf50ef8ae377d7f621dcb1baf97928c698d614318d10c6c476000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000280000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002082554cb599b32b993d3faeb21c5fd88f4880cbcef322ea3ab10df53ee6435ea50000000000000001000000000000000100000000000000207df32831326dc8ac2d246bd400e8a93bf5b000d2afb72e1006f53754c8be77e00000000000000001000000000000000100000000000000208c7cb48c99a9c69e40f04a68d5b98248bc7595aa7e69d38d458f35ce2d2885e50000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002800000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020cc5ab77376035df04c32637c51b518ce4f9d94f731094775232d1b4397b8bf42000000000000000100000000000000010000000000000020644efadceaf10a1ba1e5a59c615e07a6a92e63bcd777444222f7ab2ee0db11050000000000000001000000000000000100000000000000202acdc0dc6d03dadb7fde03468abbd19af24c7f7b0e78232a36b90147e7d9f24d000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000280000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000001000000000000002070878d711b365b8c318a7124ce575e5c52db00b9b4777b3845c2a3f592a11814000000000000000100000000000000010000000000000020f1515bc10ee0aad56cf1decb78297487732553f3ccdcd26461b62273850b02660000000000000001000000000000000100000000000000201239c0daa615d4f59d619aab408da008b6275df4d2f4bf7adfed0c08ea2f2f8000000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002800000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000001000000000000002048972a05ddd398f8457a6e2c8d35648244f85b8e95af48965119a48dd2b5ba46000000000000000100000000000000010000000000000020b5dec760824f34f8f530759884feaed419380ee817908de797d9fe3b20b85b44000000000000000100000000000000010000000000000020ae02e1fe7621c34f38acdf566646deddf5a25ad593359428d5900a1e56b6bf40000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000600000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020f700e00ecb10cc0cb64ba63ffb1e4fccb3240ed2068a883b96b3cc0cf2bc3dfd0000000000000001000000000000000000000000000000204ea32fe47505a5e76de8d23c50df25a1a4fb4a1842d6b5e3a46ba340dc686863000000000000000100000000000000000000000000000020d2a8faf8bb23301e26db88d4f5d437243f4bbfabfad3c2ee5442e19590cefee3000000000000000100000000000000010000000000000020b7e97faae0a4f5a004426233f4a4cd4ebda027ed27fb8593f1effd51dab0d1e9000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000060000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002096e223a61b01cf2ebf8e23147b31504a98ce5b5854fed16a9ba19cc90ad2e2e70000000000000001000000000000000000000000000000201ca17bacd9329d254deb607412f97f1c336e53f44f45dbdf3419d75f5049110c000000000000000100000000000000000000000000000020be85af743138534c67c2e9f382a416f87f8f9271f4cafed68b4a1f7ef9fc1b1800000000000000010000000000000001000000000000002004920907605ffdef0092db81c0e7a7ab334478dcc92780f58e9dd0f3fc554f730000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000600000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000208a321de59bb1ef9ec1336f63a8ec3a71e03d3657e7b4518ae08257f6d46ec6ec00000000000000010000000000000000000000000000002090362c1e2123e497af48a1de0cc6455e64599c40dc24f605835a5c3e63f27047000000000000000100000000000000000000000000000020a74fbd34d83d5c307c919cffb4c952312c068a66aeb29e66a1d8e9ff3163e95b0000000000000001000000000000000100000000000000201074cbd976b7dd66d96e3bd56e863db7f36420b724a9e6dd9fa11dfbb506788b000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000060000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000204a780b58c359e9f55d571d71f060feff2a13ca9d42f39c730289c6c1003c96f0000000000000000100000000000000000000000000000020ff42ee17bd511263f94829db6723c597baf2a3d5490b1823f4ab982a43196dbd0000000000000001000000000000000000000000000000208d436cdab6b12649f2d8b515e692407dd3f3bb7ecae49ea16bda0a9747708deb000000000000000100000000000000010000000000000020b45ebd60f3c2d044bf8dce2c2b96240b9e2cbd2960bb543f257ed36b1eee986200000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000600000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000208eff81f0de7a421e20c35c71e0b70aca20daa6734f2365a37453271e7d5a5f13000000000000000100000000000000000000000000000020ccbe6a2895967c448d6e3564794d62d46ba78c3f8a490c4b9bdfa8924fc60453000000000000000100000000000000000000000000000020fce1bd71523f9f8c11773e3b424afe906465378141030fcdcc34a3a30134dce10000000000000001000000000000000100000000000000206db96e671c8aef7eabf908e78553a8eb72f79044eec4014a7a535db63518a20600000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003700000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002075561bad091b75cc96a297cd2f57bae261d9c3fa46475c12dabf56770a4516490000000000000001000000000000000000000000000000204a5dc3d0ce41ba55558b085dd5f3c9253ab43fe82555910e0d8de318a3cadc5300000000000000010000000000000000000000000000002054b5adbd3455aa1199c8a5cb9a3c501990d69a82ee78ab14b8ed78233f0adba30000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000370000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000201e5e5e7cf01488f00692d9e8b65f9db884dc4c2d4e0a27c7ee2b2955ec15fed800000000000000010000000000000000000000000000002098ff640f995ce3a7a8bf51a214f7c52edc38b0791bb88471766d820810ef801200000000000000010000000000000000000000000000002099ed7f9f785d49ffd15752f60476922d39565ca2632976f35b2be73245132dbb000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003700000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000203d095503fba0bbeba08428a7ac5a252e98234cf648dd720565f87c56fe292419000000000000000100000000000000000000000000000020a70cd6417cf59544b13ec7bd5edb28eff4627318c3a062d6a68ddb325f91cf2b000000000000000100000000000000000000000000000020c74064ed8cb8e2726f4b2421cf0848c902ab6711360749b807a470d72d9d746000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000370000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020200574a6830aab249b5cda4ac6f9e78a1af8830d028a51f3f8fea410924d092c000000000000000100000000000000000000000000000020492712377a1a2477ff0de0ba247a7fd696dac8399eb8dd0a8d6e1d47ef687570000000000000000100000000000000000000000000000020ec8048582ad080b6d513715cbe9c1bc35f4cffe8480e0ff87d41aa7ca213a1bc0000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003700000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020fb1e8dfa8d92e9f3b00df801a560095382a4d6b6e6c9443f385bae5f687900b2000000000000000100000000000000000000000000000020fa6a7db1c0878ba67722a5bcb43a74379479fa24257463ab100d2ea380979d890000000000000001000000000000000000000000000000205a8496ed7f9e83936385e0b8061879912df834107f3aa2b59428863f3d60a5e0000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000002200000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000200c8145eba54660a9930ab51391c53fa8662656306e80438504d254af297c59ab00000000000000010000000000000000000000000000002032ea205d1902b6d976b9bf2c41144152f00c82288b7ca09cf836a3ca646ef7cc000000000000000100000000000000010000000000000020fc19fa0dfeb320a6f96174903f1153df9bf39f9554e968514d90da778402f2e9000000000000000100000000000000010000000000000020e5fb1a2f597c79337c58cedcb93b7f158b34f1034e20a781642c3375bc2bf1a1000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000220000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000203aab96d3e9fd47f01576c82f6a63ff636f3ee83b2ef5cdb63aafe5a822bb4dc50000000000000001000000000000000000000000000000205c93512efc0aa75742bec8b486eb422862e155a1336499c6ea7488e33b55028c00000000000000010000000000000001000000000000002025e1ac645c383fc3266d5a17fe2567e5606ae9c534efe4194dfc08c24c53a7b90000000000000001000000000000000100000000000000206d75b1e3cd36b392823ca321fd25d7aa9e999eaf328ef7c9b9203d8365aa65bc000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002200000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000207878300b7c9c9f6bfdc054afc199ce8d24452d04d66417cb10115e368552f105000000000000000100000000000000000000000000000020b4c762a803c6314a691a2ea40315fd12894a98b16d8d94f3088ffe10e1274b30000000000000000100000000000000010000000000000020c8948eadb70ca78326c93a93f683f4753a2fdf7b065616aee9d56e2f7388ed63000000000000000100000000000000010000000000000020899ac6d58471917cbaed08d94442b9b3657bd0fe97d53bd1f43d9bbb49403f2900000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000220000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000001000000000000002031e3bdb728411e018ce2142c2dcc1cc06ce0435d195d39aae51febe04d8666e3000000000000000100000000000000000000000000000020034e70dccd71e89ec05f73d993c4f15770a42ed2ce69805adc30e7539f52d9cd00000000000000010000000000000001000000000000002065837656dd6f429c393e928a775f03397fa2ac9638678d8e5327b7c0b1004b4d0000000000000001000000000000000100000000000000202761c23c69e95bfa72a9c33dd077a354ae61f5d3bc1eacbec71766dea72dd6ea0000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002200000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000200064bda39b2fcce678592e1fc82180fc9a9cb26423e358a7faa59d27a7116a2b0000000000000001000000000000000000000000000000207aed04bfeebec43e713b6ad72c606661a899d4586a517fd22deaccfc4aa9e1c6000000000000000100000000000000010000000000000020026fba9823f39876ac7197827c2ba9aa7309769282773af388a68f3357cd46e000000000000000010000000000000001000000000000002002e83a966b4e95ba87a92c452efd4f7d5ebc6f186900580cf66db9dd49992a55000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001300000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002033ff600bdec87da92251b040b3ec8334d455cb0f8e32a09ab0e682c108e4acf6000000000000000100000000000000000000000000000020b1b92dd1bf9ea56869ce7f8d0f5da27de4532819b1d26d2b0f7e9cf4e1d96b3200000000000000010000000000000001000000000000002013e9ca70aa2a6bea352505491de35e46bde7dfe99f037fabe3f8b78d0678bd4300000000000000010000000000000001000000000000002072475365eb04f109d74434c89f451282e5465d5c086f8cff9a833ad2442d367a0000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000130000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000206e97639001ec83ab4ce407952019c7d5e597823e47ce52af476f2465b87bd9ed000000000000000100000000000000000000000000000020ce2e06d5b35be8f9489f729bcde185fcacc8b1eef20634d7591d29206edc056d000000000000000100000000000000010000000000000020ad66f0523b5aedf07b4da3ef7be3ae29823f80d2a8146918e4630cc621fe66e5000000000000000100000000000000010000000000000020c81066bb758ed8cdf88ddc21040f35b8d5358b56b1e6b636d4170bb5a8d0a8b800000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001300000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac19000000000000000600000000000000010000000000000000000000000000002004c1021dd91a944018fe60e656821fba0eb982d93bbc485e95f265c1ed1fdff60000000000000001000000000000000000000000000000207d34a67e4d3d5f4a281b939f4bf66c861d3e1cc0e622107339741d448125e7db000000000000000100000000000000010000000000000020f405aa0aa076c741408cd70483f4e754825afd022bf3c32c1a5151a13089719d000000000000000100000000000000010000000000000020131276ede1680d9d6dc9bb45e7d298ecb5eddc7a0cef19f8a071063ac5d75ac000000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000130000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000000000000000000002005e3e1b8d54b37b22ceabd914c4d2cdf5c86796bec176d7c1584facfa6b884bc0000000000000001000000000000000000000000000000200a09a6bda97ac38e33d615bf301df6d2149ba8273012381aa6882cd59694c948000000000000000100000000000000010000000000000020aa74002e935f789cad2eb32db3e919e339716826d480fcc9e89c537d0bee51b4000000000000000100000000000000010000000000000020029c7bda342fc207b95a01415ee0feb092efe407e3aa6c2c399236f1b385e3450000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001300000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020468675cbfb5ba52900aa42fc6167e8af45675ebf9ca0c9ad2ec2ae5625f1095c00000000000000010000000000000000000000000000002080f77617ff6156dbd9c9afbfd8654ce05e3bc5c04cda62cfb8f4a3d4a2b9402b000000000000000100000000000000010000000000000020dbd0418eaaf56d28064391c54e8968ab899a8141fa2c4d85e9128a59eb4102dd00000000000000010000000000000001000000000000002072588d4c2026305f56e6e15b1e541d743598e20b830302483486bed811f81d82000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000001e00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000204854dbdb83e3b85c786c5a2eeff33ec86fd2f65ffdf4bc4354710f5f0247fef800000000000000010000000000000000000000000000002069676eba0bcc997f6904b14970a95608bd1ec04a64556fb185ee837a4b104c5c000000000000000100000000000000000000000000000020a0b720bb113bb73f0301d782f64efd7cb6f1f9804ecc80c8d4572574cbd3b1dc0000000000000001000000000000000000000000000000209d35889dcbf30a695293c396d9bdaa7131050f2cc5766c02b1d9dc8f02e9d4080000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000001e0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000208170d7ed34b01d12d247d60fdcb9cb96facd384d27dc448ac50f667e15c73f860000000000000001000000000000000000000000000000205dfe61ab0858d4220a2a83acfc41c0508f71b53a56755d9a9ec6910100f405eb000000000000000100000000000000000000000000000020d6d9bff9079752a3826a2602e24e8c0b364c37ba38ddbb5d553e8b467d2e4c680000000000000001000000000000000000000000000000200e47d29f00044649cf961d72cd62b438a4cbd4fb41f704dc94d710d4a4c7f76900000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001e00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000204d0b79433ce49bd371542c113023b955d39adbcb14b38209981230ebad73f5ce000000000000000100000000000000000000000000000020a0fe4638389e584a34141f34a205dc8ab4d22e84611317f2db77d2968c9b9c000000000000000001000000000000000000000000000000208a279a4ccf51539831212ccb3b31a2a5fc84928a5e7cc5a8bccc3c6ca02ee1ff000000000000000100000000000000000000000000000020cb7b2320d2dc25ad893bee8062cc3cb5fd44139dbe1295fa912e267f870a395500000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000001e0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020299178819ccbea20d0fd576b9153b412958081011e6cbb38a5cf19edb83de3f20000000000000001000000000000000000000000000000208760c3825f59d4480d8f114226a46ccd253f7ae92104781eacf0646d3fc5b33c0000000000000001000000000000000000000000000000200cb64bdd5a977e3f3eb6b737e9bb8a8cf577ab5f1347852b09cfa9bf8f4f77e50000000000000001000000000000000000000000000000200ef58e2b0cc6fe3fece1fc2a45ae0c597d3dc56f63784c4e71be080e974076dd0000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001e00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000208feb824676fa281d845fae635a5c6a13d704baaeffd02f160784a6567faee85d0000000000000001000000000000000000000000000000208c55e642c64c0819a233ddaa085a634fcb4d4722da5ba4f48feb8cd57de67ce2000000000000000100000000000000000000000000000020209c9c43bcf967e9eef31e850acad947405f38234b4a59a8a915b8a01c4c0bb4000000000000000100000000000000000000000000000020d426c6194801dc23ad47a0ae8944ef7718fccaa7be1ca6077d0e3451b5e833b6000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003700000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002075561bad091b75cc96a297cd2f57bae261d9c3fa46475c12dabf56770a4516490000000000000001000000000000000000000000000000204a5dc3d0ce41ba55558b085dd5f3c9253ab43fe82555910e0d8de318a3cadc5300000000000000010000000000000000000000000000002054b5adbd3455aa1199c8a5cb9a3c501990d69a82ee78ab14b8ed78233f0adba30000000000000001000000000000000100000000000000206baf07ebe90af16aea7acf00f956a76587e351a65a3a084aaad1ec543e928d60000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000370000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000201e5e5e7cf01488f00692d9e8b65f9db884dc4c2d4e0a27c7ee2b2955ec15fed800000000000000010000000000000000000000000000002098ff640f995ce3a7a8bf51a214f7c52edc38b0791bb88471766d820810ef801200000000000000010000000000000000000000000000002099ed7f9f785d49ffd15752f60476922d39565ca2632976f35b2be73245132dbb000000000000000100000000000000010000000000000020bd8447153d37d1e6acdad651839a3841a9d191208173f5d542c857ce70d35418000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003700000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000203d095503fba0bbeba08428a7ac5a252e98234cf648dd720565f87c56fe292419000000000000000100000000000000000000000000000020a70cd6417cf59544b13ec7bd5edb28eff4627318c3a062d6a68ddb325f91cf2b000000000000000100000000000000000000000000000020c74064ed8cb8e2726f4b2421cf0848c902ab6711360749b807a470d72d9d746000000000000000010000000000000001000000000000002086911efeadb66c15216073b6df251d28966bd6a56854de50b53515b29b35b54200000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000370000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020200574a6830aab249b5cda4ac6f9e78a1af8830d028a51f3f8fea410924d092c000000000000000100000000000000000000000000000020492712377a1a2477ff0de0ba247a7fd696dac8399eb8dd0a8d6e1d47ef687570000000000000000100000000000000000000000000000020ec8048582ad080b6d513715cbe9c1bc35f4cffe8480e0ff87d41aa7ca213a1bc0000000000000001000000000000000100000000000000209c8603f3dd385e4903aa919f7da48a7f8099b318fbd2ab7b773a5fd737890f5f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003700000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020fb1e8dfa8d92e9f3b00df801a560095382a4d6b6e6c9443f385bae5f687900b2000000000000000100000000000000000000000000000020fa6a7db1c0878ba67722a5bcb43a74379479fa24257463ab100d2ea380979d890000000000000001000000000000000000000000000000205a8496ed7f9e83936385e0b8061879912df834107f3aa2b59428863f3d60a5e0000000000000000100000000000000010000000000000020e0fab32e515bbb2835745ccc543c9a1407d8f90fbb0637c93228a14b34235144000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001800000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000010000000000000020b257e5150f98081aa7f3eaad04845d69702de4576f124b6f78d40edd9715e869000000000000000100000000000000010000000000000020c0b974afef1293a11a1739600338f78bd35dfee3ac035dc33ba19e4d89cfe45c000000000000000100000000000000010000000000000020cdcc2d25826889b0cfe907b1f23ab9a99d935d21b0791bfa02a1cfc8e55cedbb0000000000000001000000000000000000000000000000209d35889dcbf30a695293c396d9bdaa7131050f2cc5766c02b1d9dc8f02e9d4080000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000180000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002049d8e66f7f1bf64f5f8ca799cc35688e2742789e95015de4fb8708cc78e975240000000000000001000000000000000100000000000000208a8bc8d1b9a6c712bf1dfa28ed4b94ff5652d43fdda2a736f1dee4f652d1f3a50000000000000001000000000000000100000000000000207c0f0272b09d36727089c3a8c7d3b4e102041e205dd0f8505ee653ed8927fe7c0000000000000001000000000000000000000000000000200e47d29f00044649cf961d72cd62b438a4cbd4fb41f704dc94d710d4a4c7f76900000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001800000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000202529ba6269fe314ac58b78895d56e1bb87674bd3a615dab5ae95bf2cf74e78cc00000000000000010000000000000001000000000000002046b3e3bd8c27b7835b8a086a551946c29ddc3845c6e5f8c18b13c4c11ee1883000000000000000010000000000000001000000000000002050b76b90086bd51cbafc4efc56a8220d8d37c4074e77c9f74e66b36c069e5bec000000000000000100000000000000000000000000000020cb7b2320d2dc25ad893bee8062cc3cb5fd44139dbe1295fa912e267f870a395500000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000180000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000201d869476fded66588af761c73f05a2bef31c816b1944424dbee1df1a477c0ee8000000000000000100000000000000010000000000000020ece0741d3d1b9ea4e571f80bc294839d2ec64d738609195a0399ed9dc47588f500000000000000010000000000000001000000000000002099bc692a8e1be3044f1e0811cc91f777004b69e254d6e31702e7f12c4e8cf79f0000000000000001000000000000000000000000000000200ef58e2b0cc6fe3fece1fc2a45ae0c597d3dc56f63784c4e71be080e974076dd0000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001800000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000010000000000000020b0e9d7ad2321e2a25c48791e0666b4be7fa7e95bbef8450248098ed06e26bd4d000000000000000100000000000000010000000000000020e4c1b7511c0f409f1305a9a89aff5c0e0aa107edd58028f190e222cc746cb44a000000000000000100000000000000010000000000000020bb9af173860b35071e6f0d75221914053b622ecaf9ecd519fc10c1ef11e5a0b2000000000000000100000000000000000000000000000020d426c6194801dc23ad47a0ae8944ef7718fccaa7be1ca6077d0e3451b5e833b6000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002c00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000209182d32da37d1e47dd14624696e55c13e2dd886c7b2a415396d5035b63eb549a000000000000000100000000000000010000000000000020ddf9c40ce034978b4816ec3b1c8254cba1dca59eb28ccc368bf1dbbb8d05204d000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002c0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002003a3694f175104919376ca60b32ae4cc873250394e5df8ff0d7606e85875b06b0000000000000001000000000000000100000000000000202901c5846936fb350c787d0b62a5881064efd11009e56c80e1e34509ab579690000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002c00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020b197633e6b800c6595867a640f6975e5fd25044cdf3e84b63674591fc0626b4d0000000000000001000000000000000100000000000000200071f7b5f24524a87a09e376581e38eb4e54c6c21eb2846c845cc3b60b3ac8640000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002c0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020f4d08119c8f3cd5f0b483becd2fac9611398bbe23e870f9aa180cfa901217db9000000000000000100000000000000010000000000000020a0da4248a2e166650d5d4a6a31e5cda0ea8966f201ea35abb65c8f4bd28ef6b4000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002c00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000001000000000000002042815ace3625d63844efbb2ff8237af3350b3734d37ae2eb2a6079cee566eea4000000000000000100000000000000010000000000000020111c808edeae6ea33abc12ec903be2373a2f1803b847ee90dc5c8c400536190a00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001500000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002063de7a8541e598f5f04b9af4fe70e2b27fdccea1c667f6461d930d100b2584bb000000000000000100000000000000010000000000000020719afaf90dad00afac4963e378a5be9f39c3cec37349b5793acbf6bc2888cbf70000000000000001000000000000000000000000000000200af1936a8656e25d8f065c9c3d870d36c0e638eac589321f5340941938ba5f5000000000000000010000000000000001000000000000002072475365eb04f109d74434c89f451282e5465d5c086f8cff9a833ad2442d367a0000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b00000000000000150000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000000000000000000002015b229a8de494748fdc506a414d5804eb82bc5bd4a44912c964798251c4638bd0000000000000001000000000000000100000000000000204d7ab434506c2e44cae60fab8cc3fa4e1dad9e9cf1b7dbcd048d69415f0a942a000000000000000100000000000000000000000000000020c16ee2a5262e24e2c8f25c1f256e6524a1fa44bf7e024b11070207ee3d2f1f9a000000000000000100000000000000010000000000000020c81066bb758ed8cdf88ddc21040f35b8d5358b56b1e6b636d4170bb5a8d0a8b800000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001500000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000200c40222ceca6da9063b465973c684c6b8a33ad739db3eab75de0ea7f6cf098b3000000000000000100000000000000010000000000000020744602224bb293fbe44e60330a51e1c14a2bffdc90741eeb99b986a8e05d05d5000000000000000100000000000000000000000000000020763d39b6b2566769b2359dc78b773950f38f1fc8fb05c866f53964a728e1ec9e000000000000000100000000000000010000000000000020131276ede1680d9d6dc9bb45e7d298ecb5eddc7a0cef19f8a071063ac5d75ac000000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c00000000000000150000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000000000000000000002003051da460a6b5d3f99e6c69221d399643893a5b501631c9f7eda2d3dc46523a00000000000000010000000000000001000000000000002082410f68cce65f0e5d029d3eab88e3b42f55a00ca0a44ecccebe4785e1453064000000000000000100000000000000000000000000000020cf120a1d249edc6809872413d1e4e8b6867e74be8c20596119d3cbcdeb136125000000000000000100000000000000010000000000000020029c7bda342fc207b95a01415ee0feb092efe407e3aa6c2c399236f1b385e3450000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001500000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c399090000000000000006000000000000000100000000000000000000000000000020a116193c84fa468390674950ff529029f6a67cc321583968e8bb1fedee0f2e5a000000000000000100000000000000010000000000000020bfabb6e3485009941c2d14a7ca97a6ec641ca340985bea894cb2d8653df109a7000000000000000100000000000000000000000000000020e3c2a496e91b1c79d50c130f0293abfebeae56639db558f89672d4f1cdba570200000000000000010000000000000001000000000000002072588d4c2026305f56e6e15b1e541d743598e20b830302483486bed811f81d82000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000002f00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de28140000000000000006000000000000000100000000000000000000000000000020d024c5582a9891b542c5fe1892bada01b7599406f78aa1c8b2707df974ece76200000000000000010000000000000000000000000000002011d4a21fca865e92f099edb85b670d66dcc062ed80600200586008f4427bf9b7000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002f0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000209f04796070f0706cb2968fcc793807eb01c8d49421b100455d1e311a18ef198e000000000000000100000000000000000000000000000020bf13e1a74bb299e2bc1fd3f793326340e2edb3ab51a9c83181905a03d005f302000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002f00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac19000000000000000600000000000000010000000000000000000000000000002013dc04ee364da286229bdfcfdd22009e6ad7c6c4dfe750498386f067ef7ad768000000000000000100000000000000000000000000000020402d184c653e610cb595468a7acf34af635087d405ffba15601e32c0b333ad3e0000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002f0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e05000000000000000600000000000000010000000000000000000000000000002023b06af4659d5a09d9a2e53d898d20d85118b8de5e94551cd03771c5b90e20ff000000000000000100000000000000000000000000000020f5b48524102e8ae5cdb903c37fac7c3178cdf88dd1e57b4b08b9926449cccfe7000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002f00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000207efcb2f655280b53439294a0a808fe8e3258944d7962ab622a835fbfad74c487000000000000000100000000000000000000000000000020ca663df9b111bae75c827ecb50899227697c45a1aaf9e6f684b308958ee98e4b00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000001e00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000204854dbdb83e3b85c786c5a2eeff33ec86fd2f65ffdf4bc4354710f5f0247fef800000000000000010000000000000000000000000000002069676eba0bcc997f6904b14970a95608bd1ec04a64556fb185ee837a4b104c5c000000000000000100000000000000000000000000000020a0b720bb113bb73f0301d782f64efd7cb6f1f9804ecc80c8d4572574cbd3b1dc0000000000000001000000000000000000000000000000209d35889dcbf30a695293c396d9bdaa7131050f2cc5766c02b1d9dc8f02e9d4080000000000000001000000000000000000000000000000209844e2c9e04caade5768648c9d698cc9a36881283ad7252a639deebc02e9778c0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000001e0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000100000000000000208170d7ed34b01d12d247d60fdcb9cb96facd384d27dc448ac50f667e15c73f860000000000000001000000000000000000000000000000205dfe61ab0858d4220a2a83acfc41c0508f71b53a56755d9a9ec6910100f405eb000000000000000100000000000000000000000000000020d6d9bff9079752a3826a2602e24e8c0b364c37ba38ddbb5d553e8b467d2e4c680000000000000001000000000000000000000000000000200e47d29f00044649cf961d72cd62b438a4cbd4fb41f704dc94d710d4a4c7f76900000000000000010000000000000000000000000000002052c6e4b46f74d6f2c04ab5e7779ed886a470843188303bbda721da398b3801b400000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000001e00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000204d0b79433ce49bd371542c113023b955d39adbcb14b38209981230ebad73f5ce000000000000000100000000000000000000000000000020a0fe4638389e584a34141f34a205dc8ab4d22e84611317f2db77d2968c9b9c000000000000000001000000000000000000000000000000208a279a4ccf51539831212ccb3b31a2a5fc84928a5e7cc5a8bccc3c6ca02ee1ff000000000000000100000000000000000000000000000020cb7b2320d2dc25ad893bee8062cc3cb5fd44139dbe1295fa912e267f870a395500000000000000010000000000000000000000000000002042957a41b119a4f509cedf9999681f53a58b95fd815ffd724d77a481a338b36a000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000001e0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020299178819ccbea20d0fd576b9153b412958081011e6cbb38a5cf19edb83de3f20000000000000001000000000000000000000000000000208760c3825f59d4480d8f114226a46ccd253f7ae92104781eacf0646d3fc5b33c0000000000000001000000000000000000000000000000200cb64bdd5a977e3f3eb6b737e9bb8a8cf577ab5f1347852b09cfa9bf8f4f77e50000000000000001000000000000000000000000000000200ef58e2b0cc6fe3fece1fc2a45ae0c597d3dc56f63784c4e71be080e974076dd0000000000000001000000000000000000000000000000204e1465798f1bd287d076e2fa561c9f1f61055c5a2f20567d809192153e32a6450000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000001e00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000208feb824676fa281d845fae635a5c6a13d704baaeffd02f160784a6567faee85d0000000000000001000000000000000000000000000000208c55e642c64c0819a233ddaa085a634fcb4d4722da5ba4f48feb8cd57de67ce2000000000000000100000000000000000000000000000020209c9c43bcf967e9eef31e850acad947405f38234b4a59a8a915b8a01c4c0bb4000000000000000100000000000000000000000000000020d426c6194801dc23ad47a0ae8944ef7718fccaa7be1ca6077d0e3451b5e833b6000000000000000100000000000000000000000000000020ae4082ff1fec6f896e2190286416b52c66f389e1b03361d0f3033376a90260c700000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b000000000000003c00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000001000000000000002086e9043973e0168a51e1b1e4bce50531daf9d3695d0435a7f00271401676021d00000000000000010000000000000001000000000000002074e2bc530f1254b71153f987d0e1183cda5c792b90c332f0d937490200acaa1200000000000000010000000000000000000000000000002075a85e527c1e64d8d649118ebc3f6ed9e058faacd1664f91332e9f2b162773bd000000000000000100000000000000000000000000000020b618c9bb9b88cb86388813024854e7e97aa7e43d598c721b4ed67851703aa186000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000003c0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002065f7904f6ae2ed830acd350dbdf31509503184a0c33f567bf1d86dec6558592f00000000000000010000000000000001000000000000002090c39dbd7d99d52d9e172f4161b526b0533a95c960521261acf614c4250b49f100000000000000010000000000000000000000000000002087c88b5e2da650c8ff8530188a83589a0e71274f64b8c6dfb102c8a4064fab17000000000000000100000000000000000000000000000020dbece79817435131123680b4f1484db106162675ecafa5834fb6ca26b03810eb000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003c00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000100000000000000205eeb4a79c313e929bb675d771a20b763f6bfd20aa3f14cc1a9946717c7118f9c0000000000000001000000000000000100000000000000205aa3105934d4fa407c2ddcd8935c7841810670db633c7dd747dd8a97eb60371d000000000000000100000000000000000000000000000020460e3b55209db3b51a5e1cc315bcfc68f1b974ec1347a250c59a7997115c2b4a0000000000000001000000000000000000000000000000201019fd91accf22b754f20d4803c6809334a2c3915824be0106f7e811f25319fb00000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000003c0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020204d4edc44c4eda91d93af9f0f241580e0f6135f6956004ab987bbd2785c04a0000000000000000100000000000000010000000000000020e51585a11d63ae62f2d62bb20edc459561d9cef313ee060fe6ea598b082557fd000000000000000100000000000000000000000000000020bdd1ab348f28d80a2c30e51769e1db7a9b67a399b197043a2fc848ca38f20e6c0000000000000001000000000000000000000000000000203d0843ddc070a23d3f2fd5991768ed5d96cded57cda2b5c9cb003298be61db3f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003c00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000209b2d37746698cf3492e136d126813f4228641565616aa7f40b9776ace0926ccd0000000000000001000000000000000100000000000000200c7066423ea99f2cf6450682c3842a5430caf98d3c20d29749fc40b2ea625a0d0000000000000001000000000000000000000000000000207cde6d6de79c2637276c0c587fdfa23b0e05a43556abac1d16ccb9ae695265f9000000000000000100000000000000000000000000000020c695589d4fce218d95322e8090b50d52efd329fcb5daae011a009f1fe48074c3000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000003f00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000000000000000000203801079145c0cf9cfe2484dd65b6e2e3e35e45941a2a26a3f1f3f9b42d201ab600000000000000010000000000000000000000000000002080121b92eba5d0ea2c24d6084aaf42af8d6b97b78868b10cc7151567731cd12300000000000000010000000000000000000000000000002075a85e527c1e64d8d649118ebc3f6ed9e058faacd1664f91332e9f2b162773bd000000000000000100000000000000000000000000000020b618c9bb9b88cb86388813024854e7e97aa7e43d598c721b4ed67851703aa186000000000000000100000000000000000000000000000020ecdd90ce2dd9564fb4bbe4831b4a6a63c51b3a6875ec0d66c12034e4e9356bbf00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000003f0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000207135c54be0552e3d402c1b09542c0b357070536bf62b4a6d7e0e262727d5934200000000000000010000000000000000000000000000002091a11d8bbfd9c339144785123afe1ba7da98351878f272f577268b4f26de5d5300000000000000010000000000000000000000000000002087c88b5e2da650c8ff8530188a83589a0e71274f64b8c6dfb102c8a4064fab17000000000000000100000000000000000000000000000020dbece79817435131123680b4f1484db106162675ecafa5834fb6ca26b03810eb000000000000000100000000000000000000000000000020c61c24b2fc28b8e6ff07878bd7da8b08d52da5a3cf34b4614ecca5bf5f6161400000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000003f00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac1900000000000000060000000000000001000000000000000000000000000000202acef31a7ac183272b09bff7744c6a844bc1d121644a22a0d460b102a3c6f773000000000000000100000000000000000000000000000020e25909dd3cd9de82e94857f8b177953918eb65e2cac2d7ede1d0824ad77dc624000000000000000100000000000000000000000000000020460e3b55209db3b51a5e1cc315bcfc68f1b974ec1347a250c59a7997115c2b4a0000000000000001000000000000000000000000000000201019fd91accf22b754f20d4803c6809334a2c3915824be0106f7e811f25319fb00000000000000010000000000000000000000000000002084ebb76ff82c38cdf14e6adfe894775297f362b8ff91eccf0a1e6737a07d44080000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000003f0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000000000000000000020e3a5cb7ce2edc483273a2c499eba279e37fe62d382487094619f5696b2226a600000000000000001000000000000000000000000000000208492c9891dc4ac192e5a4e53d190ba259fef53881d6de1bfc509ff919c7651f1000000000000000100000000000000000000000000000020bdd1ab348f28d80a2c30e51769e1db7a9b67a399b197043a2fc848ca38f20e6c0000000000000001000000000000000000000000000000203d0843ddc070a23d3f2fd5991768ed5d96cded57cda2b5c9cb003298be61db3f00000000000000010000000000000000000000000000002027fd315becf01c1b7bf224e5699f56adcf7caccf77f774c7aa7b72cbeccbd8510000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000003f00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000000000000000000209ea6c9b51df83d85939a4927476cd4b892779bab38e4954a38dca9fc1d96a36400000000000000010000000000000000000000000000002097a9985442f87230c438a65b16c3566f1693aa22dde9aa31ef5e6ad572180f8f0000000000000001000000000000000000000000000000207cde6d6de79c2637276c0c587fdfa23b0e05a43556abac1d16ccb9ae695265f9000000000000000100000000000000000000000000000020c695589d4fce218d95322e8090b50d52efd329fcb5daae011a009f1fe48074c3000000000000000100000000000000000000000000000020cab989d44ffecade0a91849addcf29612cce28b2cb373b3f337d798315d71fe9000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000002400000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000001000000000000002080e189265cc3a41504786c6b6ca9720d56bfc485cbe551ea4154f5dfe123a70100000000000000010000000000000001000000000000002026bb5996f6f3d974809ddd61fab2f6f732d8b9f0b948d0dd4b103f9e13bed2920000000000000001000000000000000000000000000000207abc7804b42df151ccb03b8d4a03224f66fe573a381e0b88dbba519b2d001296000000000000000100000000000000010000000000000020e5fb1a2f597c79337c58cedcb93b7f158b34f1034e20a781642c3375bc2bf1a1000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a866000000000000000240000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a80000000000000006000000000000000100000000000000010000000000000020c4b8bd1fd388bbb682d5df099aa4ead5eb2a33b98c66d8d6b3b8571ab2fccfa1000000000000000100000000000000010000000000000020516b33895c22b967adc354549bea4934c45e6640e619b1336dc14f56ddcda67a000000000000000100000000000000000000000000000020b50050b78fa250d8ba999bbc9f6e0ac3937b615e7c39aa3d674acc0fdd3ea35a0000000000000001000000000000000100000000000000206d75b1e3cd36b392823ca321fd25d7aa9e999eaf328ef7c9b9203d8365aa65bc000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002400000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020314302a840cd3347e3562bc042b1f6a550ec8c168e4517c27c75a68359676284000000000000000100000000000000010000000000000020858b4407b1dfe9361d886e1cf26ddc616033ba55bd6e659ed42414a52b05a9af0000000000000001000000000000000000000000000000209064f96d107347cba987261c4d5a3fa19425504098002d2588ee04bb2a64d779000000000000000100000000000000010000000000000020899ac6d58471917cbaed08d94442b9b3657bd0fe97d53bd1f43d9bbb49403f2900000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c950200000000000000240000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000100000000000000200a0a75dd05dbc3da34a277d8087d21a19cc4a203304c05237c307e75070eb7a60000000000000001000000000000000100000000000000204ce24eec30598b21a12f36af5c6377fa77f71f8b31470542f03b8218f6897fe400000000000000010000000000000000000000000000002013c31f7e9d6bc567b9ceda4a2f4c1e955b0f95d0690755bff0ccc9cdfa7dbd290000000000000001000000000000000100000000000000202761c23c69e95bfa72a9c33dd077a354ae61f5d3bc1eacbec71766dea72dd6ea0000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002400000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c3990900000000000000060000000000000001000000000000000100000000000000204c0abf559d72c1dfcdb79c384579afe284153fbfcff83ee46d2ace30f94bd7f0000000000000000100000000000000010000000000000020e08dd453aad57c670c33e1172b5ca9c24ddf2c96f40d02aa576ee461c77f3fea000000000000000100000000000000000000000000000020020a0478e50c5145eacef46d75735ebd7e072f92247c7694a01aa22bea23e2ca00000000000000010000000000000001000000000000002002e83a966b4e95ba87a92c452efd4f7d5ebc6f186900580cf66db9dd49992a55000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000002c00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de281400000000000000060000000000000001000000000000000100000000000000209182d32da37d1e47dd14624696e55c13e2dd886c7b2a415396d5035b63eb549a000000000000000100000000000000010000000000000020ddf9c40ce034978b4816ec3b1c8254cba1dca59eb28ccc368bf1dbbb8d05204d000000000000000100000000000000000000000000000020e9993a149fa8050bbd37f262f73032b4139838d02733698eb15b2a8953ff08c5000000000000000100000000000000000000000000000020ae208b99f209f76509b56fa50ef474ae5a9d393df9395e5a08cf3a01e9a262b2000000000000000100000000000000010000000000000020646d9cd8be57df3060bd61627158b6ec6aaf6f1e1f3222fe027e36ad4baf1a7a00000000000000010000000000000000000000000000002066b05d554c9cab1e8f634ea801524eadb538632e1c081b5aedc4be5d8b2a8660000000000000002c0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a8000000000000000600000000000000010000000000000001000000000000002003a3694f175104919376ca60b32ae4cc873250394e5df8ff0d7606e85875b06b0000000000000001000000000000000100000000000000202901c5846936fb350c787d0b62a5881064efd11009e56c80e1e34509ab579690000000000000000100000000000000000000000000000020bac9cdd57ec1fe1996a2febac7e23c1973e1ab4f99306950b268aa3b962c1a950000000000000001000000000000000000000000000000200a02395f0c40cf14b0254290de0fbd8dc9e403bd27fd30bd652ecf618da365fe000000000000000100000000000000010000000000000020533695b66fb87bb1e1337e37ef21f83dc7672830673264c848178ae11439944b0000000000000001000000000000000000000000000000204c4ee292fcf85500528ac1c548ba7cca7bf924866ee57f8f415a521949f79de9000000000000002c00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000010000000000000020b197633e6b800c6595867a640f6975e5fd25044cdf3e84b63674591fc0626b4d0000000000000001000000000000000100000000000000200071f7b5f24524a87a09e376581e38eb4e54c6c21eb2846c845cc3b60b3ac8640000000000000001000000000000000000000000000000201f223ab82830d96db1bdde24594db41199c0283170f9c96743a1d99466171e38000000000000000100000000000000000000000000000020e6b8bf2aca75347ae550dfa92f33e03a8e5514d7d1ddaff3aea62e3a7ca4904800000000000000010000000000000001000000000000002041ece3bc0324a6ecee8a3173dedf39e8a7f9db5bc1804550417a237ca0034c5a0000000000000001000000000000000000000000000000206aac934f22d89a3c2b2d60f4b29f24a1df171e6f0178e8154d190cb5f51c9502000000000000002c0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e050000000000000006000000000000000100000000000000010000000000000020f4d08119c8f3cd5f0b483becd2fac9611398bbe23e870f9aa180cfa901217db9000000000000000100000000000000010000000000000020a0da4248a2e166650d5d4a6a31e5cda0ea8966f201ea35abb65c8f4bd28ef6b4000000000000000100000000000000000000000000000020293779596665ed7f1d928d7edc3206cd31c9decfa97f38eed5b020ce9b93cf1e00000000000000010000000000000000000000000000002069a7c6d83ba145f8b65eb9e617634e70fd271b69c2e58237240e018f879d2b050000000000000001000000000000000100000000000000203b4f4150ff8f24a24052c605deadfc353267b4e9b9d65d9dd2999257734324920000000000000001000000000000000000000000000000206b6d64b6f06ae687166347a10b688ee3696cdbf402bafb1ecb7bddd58017ddfa000000000000002c00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000001000000000000002042815ace3625d63844efbb2ff8237af3350b3734d37ae2eb2a6079cee566eea4000000000000000100000000000000010000000000000020111c808edeae6ea33abc12ec903be2373a2f1803b847ee90dc5c8c400536190a00000000000000010000000000000000000000000000002018594c70abd3094e48fd28576e9a695a72bb8b3caf32b6804bf547005fe3aabc000000000000000100000000000000000000000000000020111ddf714f2433dea3556088f5a0908ba82b7208d4020b48a64813d164c97d1e000000000000000100000000000000010000000000000020000a8cfa09aaaca54d9d60ce60c896ba128f43b55da091ad1b9cb5994060d252000000000000000100000000000000000000000000000020ca8b157bbf1dc6cfcefe7e160f21a5f5157b935adfe8523dc991c0c1b85aa1dd000000000000000f00000000000000206bfdb6e98d14a09f3f9308e42565f3533f47a51047fc94b8cc3484d5d5de2814000000000000000600000000000000010000000000000000000000000000002005d9e7d822418e11c83b7cd3933019d2cec26f91fc8d4c822f25fd658a370ce3000000000000000100000000000000000000000000000020afe760a4118e845e80ec70b23496169241f6fc3f25efde9e92db13b6e17cf9a5000000000000000100000000000000000000000000000020783f91dc8003c7907061e88dd821c9155060e17bd14ca453d81ce9832563808400000000000000010000000000000000000000000000002028c31c1a6db0f287673952423bc58d5da235d26b6660d8cde133f40493ec5162000000000000000100000000000000010000000000000020f85c87d27c2c877b8970d6582b5d85a48b8f87eaad9546f5dc001706612e654d0000000000000001000000000000000100000000000000207c6051f692cc5d9555210b0ff211b50b3482a64a9b089b074af58a9fc1210a1b000000000000000f0000000000000020354c7f0a52eeace535e40efac68e1b28d754bd7ba65de46b269dc197f90ed4a800000000000000060000000000000001000000000000000000000000000000200df695492701f0ba03401c97cb402cbcf042f39830caf70f86f325bdebf8a741000000000000000100000000000000000000000000000020913b7d5073e4621500260f8cf4be0c3d915ca8fd656d9333caab5d09449500d00000000000000001000000000000000000000000000000207548fa964fe54f97f16680a453ebd2b8aab5c6579aeef1df63418e778cbe20c4000000000000000100000000000000000000000000000020c03c1d800a7931a24c5c6a8e72c037793a78043e20a0952325daedf5e80b1b720000000000000001000000000000000100000000000000202d72013106ce8e9db2ab038fd2a0ac84332c8851ef309025de0d40235ac178ef00000000000000010000000000000001000000000000002068b0eacc1266416a8a036d82186d4e64047d16faeb15c68657e84f242314e3ab000000000000000f00000000000000203db0509c098df614599d0f5e86e53dd809f840a24f843d36ff23ca3c53e7ac190000000000000006000000000000000100000000000000000000000000000020ef2eb7b7633ffc39ec5aa05adaa581003e9af01ed54ae21495848d5efd61b36b0000000000000001000000000000000000000000000000208cf310a4aad74acf076142d7039ddb389ad47dfdb5d2cacbfc7cb4308512dc190000000000000001000000000000000000000000000000201f79c4136d400f2dcf4855adc1524494e856891a1b3c9a21dfd2275449934948000000000000000100000000000000000000000000000020c8dc83ea5f49dbc5b99c64f1aa654e10b675898c1ef23331324e086978dedca5000000000000000100000000000000010000000000000020cf975e35a87991f78c58d73267ca546bb33d266f031af8af2a58d1fdba68930d000000000000000100000000000000010000000000000020dc1bfb11f46ef91a7491dd35d709ffcec1a0c2da9dc1d67437b1d9a1e872d29c000000000000000f0000000000000020571c199437bcdd01dce2c4a9b764ac16c6415649022b7c12fd6db1ef28f21e0500000000000000060000000000000001000000000000000000000000000000203ce99d67c6dbd1169fdbfc8246eba19d7b299cf01955ac2ba7b720f0353b69ea000000000000000100000000000000000000000000000020b25e2e4fd82ea6b1d10f5b90ef1da7631e96685ad997e8a55d94bcbc4df74be90000000000000001000000000000000000000000000000208d5675368970ec2e80ccfba7eaf475d4550813d561aab9aa763a9d4d23783232000000000000000100000000000000000000000000000020b56f0653ba7e4e1ef7c81aa5ba3b1b003595e69934013e1782cd5d4a0cef74aa00000000000000010000000000000001000000000000002018e80482157f5490914589c527ad2cc71f8282636b65afcfc0531114edfbf94a0000000000000001000000000000000100000000000000201bb7a66e5e4053857d9c7930b84884ce925f23245f5fa57ecfe097b67df8d4ff000000000000000f00000000000000209a8810e9d6963ec75f342a5d03d62476b928ef26e2d5061814c762c2c9c39909000000000000000600000000000000010000000000000000000000000000002079a782e681aaae397dd93ef732778b37d2c66bf8ade1e34dccb3f258c9a12c3500000000000000010000000000000000000000000000002059410814d8365be57380c912a7cb68bdd3babe65d5d5b3dcfdca27480a8899750000000000000001000000000000000000000000000000208ae674214f4c9c497c67a8c5f939e4e6ffbd04adcca61c29f50eacb25a17de030000000000000001000000000000000000000000000000205a2df81206b2c61833cf5d6a07163b533a595c7c93709667b676478e6906b76a00000000000000010000000000000001000000000000002009790a350e1279be73835e4f00616a18ad369d543035968c5a7f43bccd755e0800000000000000010000000000000001000000000000002066f6a6dff2969c406471f197cd0562bbf9bd131219ba6ff949f46bfc774e178b0000000000000050000000000000000e00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020ef445501b8081b350fb0bd2453ceab94bc9e2b9876e0498f0be1eae7dc33a245000000000000000100000000000000000000000000000020b5a8a704414342c1956b117dd5bdeae05110c4741eb6b30826d26c220e0a4c36000000000000000100000000000000000000000000000020d2b19a88fe1e9b7d0f862abd1cd4b7ba7320d838e54ebaf611dc80951a49f3e80000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000e000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e7adf359d5464618cd5b9d5386bf7e7513e5edbdc2dda7d17df91a76a1ee1993000000000000000100000000000000000000000000000020e33169b209672af96f9e0dfe56104bb6fe79b92d4a6f70ddc232bb3ac0fd888200000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000002e00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020bd39c12ca7b87852c998d1d881810066e3b9381b1bcd9f0a35b20e617186ef8800000000000000010000000000000000000000000000002033c788194376ff084b770dbadadaa1c33757b2214c519b65e4b19901aafdda9c000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000e000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e7adf359d5464618cd5b9d5386bf7e7513e5edbdc2dda7d17df91a76a1ee1993000000000000000100000000000000000000000000000020e33169b209672af96f9e0dfe56104bb6fe79b92d4a6f70ddc232bb3ac0fd888200000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000003500000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002072393c5f35c710d4830eb2d2b39ee216b3d8b2f98203429b00611b62db9324bd0000000000000001000000000000000100000000000000208903bf3a11bebfe4560b58e1822cb43cef7b754531bfd9f1d2636556adc38946000000000000000100000000000000000000000000000020e272e9174c6b0b786f0d225cda3dc02ca786765e6e91c5889be3309e93e4d2b6000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000015000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000000000000000000203dc13d61d54f1d7372f7d62a26303b500992433a2703258eb6d7a0fc9ae9257d0000000000000001000000000000000100000000000000206487ce5483faa30fe6e439b394ed81e2f944c82b0b410e218b046b8a8ce4a717000000000000000100000000000000000000000000000020ec0d26b52e928632b751893cb96af5cbb03f1e11d3fcc809881af9d93e0d7d78000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000001400000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020a0b316da1b0ed88ec4653aa9095935a8bf1798975198fbbde9602170a33df43800000000000000010000000000000001000000000000002048d90d17ae89f01100e143ba3dd6dedac72416092987a3fd1ab8ebceffcbb984000000000000000100000000000000000000000000000020619e6741b6f34a396eaffffb4ce24dcd54bb8046e1bde4ac7168db4cf50bbfae00000000000000010000000000000001000000000000002033bef7b222b9f6300642185bc163139fa739917e09c648510f4eb21b6e2eeaee000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000014000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000206fd9cf110dc5a0d433914c0c151acde6982867f4931347e1f6aad340455313640000000000000001000000000000000100000000000000206487ce5483faa30fe6e439b394ed81e2f944c82b0b410e218b046b8a8ce4a717000000000000000100000000000000000000000000000020ec0d26b52e928632b751893cb96af5cbb03f1e11d3fcc809881af9d93e0d7d78000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000000d00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002070d470c52521e75e497d838cd249a1185b903b27139c3995630a4613a56316eb0000000000000001000000000000000100000000000000202d0a9f7402ee274530c771fd6f48e99e03ad8e1fb4a3d3d2ee062c6fec5518db000000000000000100000000000000000000000000000020d2b19a88fe1e9b7d0f862abd1cd4b7ba7320d838e54ebaf611dc80951a49f3e80000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000d000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020e479a5eabfaeead31674517ded09aa5b6f82a9f8839ef0b608f9392cf3012e76000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000100000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000209931a39e908ff7ccf2f72d994a0bd099fb3f42c0f4987863f3a7df9d47db20f3000000000000000100000000000000010000000000000020b6d9d77ceacc7e7543f8b9b32caa8ee89fc16bf873560f69ee3d79acce1bac0e000000000000000100000000000000010000000000000020fd0cc7af3245d90bfd0674bc49eea02de81470b4098f22d0cc6fd85b60a669d0000000000000000100000000000000010000000000000020135fdcbfa5791a650d271a8f120531c24dfb440dcbc0a9c19a345e6fa4bc39f90000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000001000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020e8086f9fd890eaca922e7d4eaef922796c3210c6bcb5f2f515d86413708f85a80000000000000001000000000000000100000000000000201c149094e50f4c93f3380e1a05e2dd0ca4ee2045aa3697a3abb55cfed11fe628000000000000000100000000000000010000000000000020da0f05b17097669c36d84abdb1192642913cdaae826e202fd4dc96416b421ee9000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000003300000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020b71545cd963932d03e27b69271497134ed086af686f48422f085feb92031121e0000000000000001000000000000000000000000000000205eaaedf148266c42c679a92f0262478f35c473b190ac3bebfb69e6e6b1391ede0000000000000001000000000000000100000000000000206f3e1f6fb05c42fc12d6eb772735d12f88f4fb7d008b568278689a8094d38474000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000013000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020a9f3a244809a0707d26412b2522c76e79880b4ce7cb76b3e1acb312143bfe49000000000000000010000000000000000000000000000002097c84acef4427dcc430970e303b7588908e3a2cb94b7fe22bfe4501c9d2dfa47000000000000000100000000000000010000000000000020532b8f77d7a6fa3ddec8159b4bc57be0404bdf0c616e96ed4c7c8ce72f720b5b000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000001f00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020f8310ef7afe689dab19e808e1253d3ca39045e128a7c4953be9cd68d06bfb9a8000000000000000100000000000000000000000000000020494aa8f8e8fcc4ff659c3b36abcca9e9f05d5571db8e315c6c8162364fc53eca0000000000000001000000000000000000000000000000202e06f1afd2c801d9de087ae80f8974941a8ef1028987c82ce1b484d39e0fd8e1000000000000000100000000000000000000000000000020a2142830a442dce925d43cd1ebb6f40ba3c32f12176e5a9e66cbacf95ede7bd2000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000001f000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002012a63500686ae9ac3287c4cc9c6f1e1b6c3af024e3b3dd42b2067f9c7fa10337000000000000000100000000000000000000000000000020c3373f8a4cb4cca5c85450ccd05e1c6f9e5604296027daa5e508459270e028f6000000000000000100000000000000000000000000000020ae228ee58a597030fe1faec42a092fff5921fcea6a47703ee387922398a313b00000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002600000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000201d1d1423b1b75a3f6ea65acd981b869a72b48236f67cd2e906562c91ca40efef000000000000000100000000000000000000000000000020fd3241746ab2aecf61fc6275589ba1ac41f5a5d270397b0640be21a64e6b20ff0000000000000001000000000000000000000000000000203aeba0bbe12d873091cff2545b5173559aaa2bb4ffd0e41b0e2272f1af7c5e85000000000000000100000000000000010000000000000020a54206c87490fe6bc1ccff2b1498c73628cd7bace95671a84888b567fac99a49000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000006000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000001000000000000002042e08fed9131eb6f24813fc20308aaeaee04e12f0338d7e380b3a3173ebc6cfc0000000000000001000000000000000000000000000000209c35019aa189d9b07651a7be274af0832b0c78cf1109f6f9429a747cfe322063000000000000000100000000000000000000000000000020b5ef014cfa13898638ea4ca051038b8eaa8a815ab79103015d5d56ebc0275dee000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000003b00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000207f45425678201d6c13b394a9295cf28af9291a42bf11c7a7cae8c6e40087be3d0000000000000001000000000000000000000000000000209d8cac4f47d8dfb95f12dd456bc441b0357192d85bd10f40653175b41c123511000000000000000100000000000000010000000000000020b25a2e8f683fdbb7c2fa35ed9e16c98a7947bdf0bc50ae83275c6c301ebb0b59000000000000000100000000000000000000000000000020e2bfffe406e270759767be825b518aa1bac0d09d4925c04a3fbf4b8d7825a61f0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000001b000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000000000000000000200121031178641329fa4af4cad17553a7b47587841d03426d9722b4eb24056fe00000000000000001000000000000000000000000000000208071fe795ffc2cdd45603fb89b91dbdcf33d4316563d7de63c2c94b2f8bc0e19000000000000000100000000000000010000000000000020d945a4a47172121293ec752b4545819110a31dd53f3b7ba9d79c70f872038eb70000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000000c00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000201077481cdf399aa78ed71a7367fb001e9f27942427ad7d8409026d479afa59c90000000000000001000000000000000100000000000000202d0a9f7402ee274530c771fd6f48e99e03ad8e1fb4a3d3d2ee062c6fec5518db000000000000000100000000000000000000000000000020d2b19a88fe1e9b7d0f862abd1cd4b7ba7320d838e54ebaf611dc80951a49f3e80000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000c000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e9512ee9e4b52142273dcaa258cf72c4934891dcb35cfa87b19881a7439f4b66000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000700000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020243a920552905a7b117f10fe34106b8979429f2d931177f79286c147c6a545d7000000000000000100000000000000000000000000000020b173fd19e55f0c2123e4cbeba5e5bc0c012fb008678c5cf23869059aef573088000000000000000100000000000000000000000000000020f8371fe2234e76938e07e17c0c21716c452e8dd32860dc912eebf387848abc4b000000000000000100000000000000010000000000000020135fdcbfa5791a650d271a8f120531c24dfb440dcbc0a9c19a345e6fa4bc39f90000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000007000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002057e86a99d3bfa227181d27970f8a2234bb1ec285ea3637cbc4ba0fd0a553a9950000000000000001000000000000000000000000000000209c35019aa189d9b07651a7be274af0832b0c78cf1109f6f9429a747cfe322063000000000000000100000000000000000000000000000020b5ef014cfa13898638ea4ca051038b8eaa8a815ab79103015d5d56ebc0275dee000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000003000000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002049e743479298896a2c18b93c63cbebfcb8f7f1d7bb68bdbe51eba7a22029fb760000000000000001000000000000000100000000000000205ebbf8c7101cc54a950b12b245ca2ee5ab83b38bd9f3a7e8a2647b3cd22d48080000000000000001000000000000000100000000000000206f3e1f6fb05c42fc12d6eb772735d12f88f4fb7d008b568278689a8094d38474000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000010000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000203c9f6720678e256c48de360c58fae9291de92720aca6a5daa3977e2d78527c26000000000000000100000000000000010000000000000020112721a2d8f6f7147704ffea19e134b676f63a08299fcd78cc200359d699c1ce000000000000000100000000000000010000000000000020532b8f77d7a6fa3ddec8159b4bc57be0404bdf0c616e96ed4c7c8ce72f720b5b000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000000700000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020243a920552905a7b117f10fe34106b8979429f2d931177f79286c147c6a545d7000000000000000100000000000000000000000000000020b173fd19e55f0c2123e4cbeba5e5bc0c012fb008678c5cf23869059aef573088000000000000000100000000000000000000000000000020f8371fe2234e76938e07e17c0c21716c452e8dd32860dc912eebf387848abc4b000000000000000100000000000000010000000000000020135fdcbfa5791a650d271a8f120531c24dfb440dcbc0a9c19a345e6fa4bc39f90000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000007000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002057e86a99d3bfa227181d27970f8a2234bb1ec285ea3637cbc4ba0fd0a553a9950000000000000001000000000000000000000000000000209c35019aa189d9b07651a7be274af0832b0c78cf1109f6f9429a747cfe322063000000000000000100000000000000000000000000000020b5ef014cfa13898638ea4ca051038b8eaa8a815ab79103015d5d56ebc0275dee000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000002d00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002005943d4184d83f4409d88e2ef8333177bf8b729154401a9fb77a8ce190f24f5b0000000000000001000000000000000100000000000000208874b70a540ff9d8596175535c632c57e85838d80183c245a267baeb54be90c1000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000d000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020e479a5eabfaeead31674517ded09aa5b6f82a9f8839ef0b608f9392cf3012e76000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000b00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000202bd3b85ce6fddb936553dfbe012e429adceca1d930b86e68ca5bd56745049751000000000000000100000000000000000000000000000020fbc535bbfb4aaaa935359ab5c3447fc47c413e3779b797ca68235a8672672a5f00000000000000010000000000000001000000000000002067fe7c8aa43df46bc8fc85aa20cdd334f6e2f9f4f40bcf50134a9eb683c597f20000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000b000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002093464cdf4a2f77d619249fa0b1c73b7bd3683ac0d66ea5c4c1e3a1c5fe58a8e2000000000000000100000000000000000000000000000020c44d529e9a2f0fa439272607c76cbcdf99279fdba0bf751f8e240c79391a78a6000000000000000100000000000000010000000000000020eefdd7426199a6aad5b49618ab51b5f452095b4e5428304aa22b79971ea0bf5b000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000002f00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002003b0904a2c7224ebc1aa57d2b31331a6709cf793d0c2da9d75112ba00be5a70000000000000000010000000000000000000000000000002033c788194376ff084b770dbadadaa1c33757b2214c519b65e4b19901aafdda9c000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000f000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002085889e67ab671cfa47b0e33e20ff28f9322f1495eabd2bd0351654c29fcf6371000000000000000100000000000000000000000000000020e33169b209672af96f9e0dfe56104bb6fe79b92d4a6f70ddc232bb3ac0fd888200000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000c00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000201077481cdf399aa78ed71a7367fb001e9f27942427ad7d8409026d479afa59c90000000000000001000000000000000100000000000000202d0a9f7402ee274530c771fd6f48e99e03ad8e1fb4a3d3d2ee062c6fec5518db000000000000000100000000000000000000000000000020d2b19a88fe1e9b7d0f862abd1cd4b7ba7320d838e54ebaf611dc80951a49f3e80000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000c000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e9512ee9e4b52142273dcaa258cf72c4934891dcb35cfa87b19881a7439f4b66000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000001b00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020279cd3b8708d8a764dd1e5f67d5ff232b121dccfc086a6a12d4c3c33ff0a964f00000000000000010000000000000000000000000000002060d674ce392887dd7a96c2a85c2febd58b9f9ed1b76b9170c553389cdfe540530000000000000001000000000000000100000000000000200d567254cffb1d187ddfe4e538e9bc38ec8fc52096dd82217ced9aef5cb28cb8000000000000000100000000000000000000000000000020a2142830a442dce925d43cd1ebb6f40ba3c32f12176e5a9e66cbacf95ede7bd2000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000001b000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000000000000000000200121031178641329fa4af4cad17553a7b47587841d03426d9722b4eb24056fe00000000000000001000000000000000000000000000000208071fe795ffc2cdd45603fb89b91dbdcf33d4316563d7de63c2c94b2f8bc0e19000000000000000100000000000000010000000000000020d945a4a47172121293ec752b4545819110a31dd53f3b7ba9d79c70f872038eb70000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002000000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000204221111091ca27925289060f597fd81c85973d5fd8b36cbd9bb60242ebd573df00000000000000010000000000000001000000000000002076ba5644bcf7227c6cae86ca3c5adb85900f0a1a2b9add2020cf7cc46b18478b000000000000000100000000000000010000000000000020c7f41d19648f577a1a6bf23ee564420fc488ec850302a402b83b81bfe2499234000000000000000100000000000000010000000000000020a54206c87490fe6bc1ccff2b1498c73628cd7bace95671a84888b567fac99a49000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000000000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020dd56c3795ae0c8a2b35956bc31cb5f79109a59879221ee600c6bfd4b6ebfbdee0000000000000001000000000000000100000000000000201c149094e50f4c93f3380e1a05e2dd0ca4ee2045aa3697a3abb55cfed11fe628000000000000000100000000000000010000000000000020da0f05b17097669c36d84abdb1192642913cdaae826e202fd4dc96416b421ee9000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000800000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000203b22780df0089793561eed8737a662dd6bb93483acb472909406c86b6ca3547b00000000000000010000000000000001000000000000002035d1416acad8b1324389506720578ef02408c83c958e9d719dabc691dc29720c00000000000000010000000000000001000000000000002067fe7c8aa43df46bc8fc85aa20cdd334f6e2f9f4f40bcf50134a9eb683c597f20000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000008000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000203ae3187804ead70ab3fcf9ac5708d6241394ed77225bf58ee9565664a811a9550000000000000001000000000000000100000000000000206658a10575a3f232b80f4b3840ab3c34750b6291888aee440012afa4d2e57528000000000000000100000000000000010000000000000020eefdd7426199a6aad5b49618ab51b5f452095b4e5428304aa22b79971ea0bf5b000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000001000000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002038bbf11a65b32833eacb2e395d4341e6585110d9be805c5b332c6ae78d2cfc3500000000000000010000000000000001000000000000002017d6047a35017e3c2af5cb14f95724b69726ea6c1978bb293e12d2005dcf34e600000000000000010000000000000001000000000000002089225b1dbbbc09b109fb066921da297fefc34294aa5415428283503d9c350bf800000000000000010000000000000001000000000000002033bef7b222b9f6300642185bc163139fa739917e09c648510f4eb21b6e2eeaee000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000010000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000203c9f6720678e256c48de360c58fae9291de92720aca6a5daa3977e2d78527c26000000000000000100000000000000010000000000000020112721a2d8f6f7147704ffea19e134b676f63a08299fcd78cc200359d699c1ce000000000000000100000000000000010000000000000020532b8f77d7a6fa3ddec8159b4bc57be0404bdf0c616e96ed4c7c8ce72f720b5b000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000003000000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002049e743479298896a2c18b93c63cbebfcb8f7f1d7bb68bdbe51eba7a22029fb760000000000000001000000000000000100000000000000205ebbf8c7101cc54a950b12b245ca2ee5ab83b38bd9f3a7e8a2647b3cd22d48080000000000000001000000000000000100000000000000206f3e1f6fb05c42fc12d6eb772735d12f88f4fb7d008b568278689a8094d38474000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000010000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000203c9f6720678e256c48de360c58fae9291de92720aca6a5daa3977e2d78527c26000000000000000100000000000000010000000000000020112721a2d8f6f7147704ffea19e134b676f63a08299fcd78cc200359d699c1ce000000000000000100000000000000010000000000000020532b8f77d7a6fa3ddec8159b4bc57be0404bdf0c616e96ed4c7c8ce72f720b5b000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002800000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000205f286f1545ae026397240b4d49891f81aa1fb6b64acfb8d1d7398b0d2cb5681e000000000000000100000000000000010000000000000020f1b178501088334fbe9ede2f1228fae60c0f0ee6917b389969f2a2d774bb34570000000000000001000000000000000100000000000000204c9a2a456a3deda0a7c539caf07419182ba9a40d9675b31e119e4f78a201a95a0000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000008000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000203ae3187804ead70ab3fcf9ac5708d6241394ed77225bf58ee9565664a811a9550000000000000001000000000000000100000000000000206658a10575a3f232b80f4b3840ab3c34750b6291888aee440012afa4d2e57528000000000000000100000000000000010000000000000020eefdd7426199a6aad5b49618ab51b5f452095b4e5428304aa22b79971ea0bf5b000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000600000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020da6f91289e5de9e4414359ef4448cc671bc45a427b8b54e1d2b4963582932c1a000000000000000100000000000000000000000000000020b173fd19e55f0c2123e4cbeba5e5bc0c012fb008678c5cf23869059aef573088000000000000000100000000000000000000000000000020f8371fe2234e76938e07e17c0c21716c452e8dd32860dc912eebf387848abc4b000000000000000100000000000000010000000000000020135fdcbfa5791a650d271a8f120531c24dfb440dcbc0a9c19a345e6fa4bc39f90000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000006000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000001000000000000002042e08fed9131eb6f24813fc20308aaeaee04e12f0338d7e380b3a3173ebc6cfc0000000000000001000000000000000000000000000000209c35019aa189d9b07651a7be274af0832b0c78cf1109f6f9429a747cfe322063000000000000000100000000000000000000000000000020b5ef014cfa13898638ea4ca051038b8eaa8a815ab79103015d5d56ebc0275dee000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000003700000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002026225b280728eb1a1ab4c370576047519c290dc31d8d187a6151905d9296442d0000000000000001000000000000000000000000000000208d6d6563fbd9180c15ba68573857e5d9213bfec3191e2dc9eb379c0ca2b5261c000000000000000100000000000000000000000000000020e272e9174c6b0b786f0d225cda3dc02ca786765e6e91c5889be3309e93e4d2b6000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000017000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020e38996e64478a2ff95b763b62463a01c0d21f19016501c906521a18604c4c7d1000000000000000100000000000000000000000000000020d1b592646e19c9f069c33c4e47b1aebfea280719044a2bd677618ba491c497ab000000000000000100000000000000000000000000000020ec0d26b52e928632b751893cb96af5cbb03f1e11d3fcc809881af9d93e0d7d78000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002200000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020d5d9f77227451fb5d94f369d46549d454cbc6c30283bf3f1991ec0be3b0e7f9300000000000000010000000000000000000000000000002036f03369c884caf9fa96582d919deb6e1295024774aee3d13607119049294404000000000000000100000000000000010000000000000020c7f41d19648f577a1a6bf23ee564420fc488ec850302a402b83b81bfe2499234000000000000000100000000000000010000000000000020a54206c87490fe6bc1ccff2b1498c73628cd7bace95671a84888b567fac99a49000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000002000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000208e4cc37b00834f0697e2e93971dbdf03cf8327780873b10f113319437a94d8600000000000000001000000000000000000000000000000209c0b8f83901d305338162c81c3f0633001e0681164b2f97d2fb2528dc9eb100b000000000000000100000000000000010000000000000020da0f05b17097669c36d84abdb1192642913cdaae826e202fd4dc96416b421ee9000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000001300000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000206a0be5f531bec086989803846ce4a465d7152f6cefd2ada9e3ae7c6d03f8d0f000000000000000010000000000000000000000000000002083772df9c2ac24ca095edd72d17e8d21a6da9fc78ad1123202ee3b5a822321bf00000000000000010000000000000001000000000000002089225b1dbbbc09b109fb066921da297fefc34294aa5415428283503d9c350bf800000000000000010000000000000001000000000000002033bef7b222b9f6300642185bc163139fa739917e09c648510f4eb21b6e2eeaee000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000013000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020a9f3a244809a0707d26412b2522c76e79880b4ce7cb76b3e1acb312143bfe49000000000000000010000000000000000000000000000002097c84acef4427dcc430970e303b7588908e3a2cb94b7fe22bfe4501c9d2dfa47000000000000000100000000000000010000000000000020532b8f77d7a6fa3ddec8159b4bc57be0404bdf0c616e96ed4c7c8ce72f720b5b000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000001e00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002023302ad92bf53c460fe7f3f1c57d149a9f2c4255bc1b52f506978a947c9337f0000000000000000100000000000000000000000000000020494aa8f8e8fcc4ff659c3b36abcca9e9f05d5571db8e315c6c8162364fc53eca0000000000000001000000000000000000000000000000202e06f1afd2c801d9de087ae80f8974941a8ef1028987c82ce1b484d39e0fd8e1000000000000000100000000000000000000000000000020a2142830a442dce925d43cd1ebb6f40ba3c32f12176e5a9e66cbacf95ede7bd2000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000001e000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e303ac3e8aa213d3ab91dfbda76027aa411a5acd49e592d7dbe1867ec7c7ae39000000000000000100000000000000000000000000000020c3373f8a4cb4cca5c85450ccd05e1c6f9e5604296027daa5e508459270e028f6000000000000000100000000000000000000000000000020ae228ee58a597030fe1faec42a092fff5921fcea6a47703ee387922398a313b00000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000003700000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002026225b280728eb1a1ab4c370576047519c290dc31d8d187a6151905d9296442d0000000000000001000000000000000000000000000000208d6d6563fbd9180c15ba68573857e5d9213bfec3191e2dc9eb379c0ca2b5261c000000000000000100000000000000000000000000000020e272e9174c6b0b786f0d225cda3dc02ca786765e6e91c5889be3309e93e4d2b6000000000000000100000000000000010000000000000020926f3399f80e2d8f3e6e02caf7cb31aa0543e3f0163a061660212540a7a41c7d0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000017000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000000000000000000020e38996e64478a2ff95b763b62463a01c0d21f19016501c906521a18604c4c7d1000000000000000100000000000000000000000000000020d1b592646e19c9f069c33c4e47b1aebfea280719044a2bd677618ba491c497ab000000000000000100000000000000000000000000000020ec0d26b52e928632b751893cb96af5cbb03f1e11d3fcc809881af9d93e0d7d78000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000001800000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002086c18203b1cf3d59979d23e7ff0692e03ddb32f36c669e77a8d933b186e5f68d0000000000000001000000000000000100000000000000203886413dda530df8d5b2a9ad87d0d0052007bfe4397684e8b52640e2550cf1950000000000000001000000000000000100000000000000200d567254cffb1d187ddfe4e538e9bc38ec8fc52096dd82217ced9aef5cb28cb8000000000000000100000000000000000000000000000020a2142830a442dce925d43cd1ebb6f40ba3c32f12176e5a9e66cbacf95ede7bd2000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000018000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000001000000000000002004b2a62a32f7adf61e3e0900e131a365f3913934897d887aca549ee2179b8f9400000000000000010000000000000001000000000000002030e86b27db050bc4f5bb354f316d67ede366c74608564e942aca9167ef05a7ed000000000000000100000000000000010000000000000020d945a4a47172121293ec752b4545819110a31dd53f3b7ba9d79c70f872038eb70000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002c00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000209f629f876ca2de0ad010243aad7a69b58f2af4028bc3b79baea99b15e5a907b90000000000000001000000000000000100000000000000208874b70a540ff9d8596175535c632c57e85838d80183c245a267baeb54be90c1000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000c000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e9512ee9e4b52142273dcaa258cf72c4934891dcb35cfa87b19881a7439f4b66000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000001500000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000000000000000000020cd3d32d8a91d1fdce6b54d72ecc0693417417ee819051e3f3ca23498d5681b3f00000000000000010000000000000001000000000000002048d90d17ae89f01100e143ba3dd6dedac72416092987a3fd1ab8ebceffcbb984000000000000000100000000000000000000000000000020619e6741b6f34a396eaffffb4ce24dcd54bb8046e1bde4ac7168db4cf50bbfae00000000000000010000000000000001000000000000002033bef7b222b9f6300642185bc163139fa739917e09c648510f4eb21b6e2eeaee000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a0000000000000015000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000000000000000000203dc13d61d54f1d7372f7d62a26303b500992433a2703258eb6d7a0fc9ae9257d0000000000000001000000000000000100000000000000206487ce5483faa30fe6e439b394ed81e2f944c82b0b410e218b046b8a8ce4a717000000000000000100000000000000000000000000000020ec0d26b52e928632b751893cb96af5cbb03f1e11d3fcc809881af9d93e0d7d78000000000000000100000000000000010000000000000020392f015122d08edc6b56eb355b4eb6c05faead5bede569c99c1379a02a5ec0f800000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002f00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000000000000000000002003b0904a2c7224ebc1aa57d2b31331a6709cf793d0c2da9d75112ba00be5a70000000000000000010000000000000000000000000000002033c788194376ff084b770dbadadaa1c33757b2214c519b65e4b19901aafdda9c000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000f000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002085889e67ab671cfa47b0e33e20ff28f9322f1495eabd2bd0351654c29fcf6371000000000000000100000000000000000000000000000020e33169b209672af96f9e0dfe56104bb6fe79b92d4a6f70ddc232bb3ac0fd888200000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000001e00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf000000000000000600000000000000010000000000000001000000000000002023302ad92bf53c460fe7f3f1c57d149a9f2c4255bc1b52f506978a947c9337f0000000000000000100000000000000000000000000000020494aa8f8e8fcc4ff659c3b36abcca9e9f05d5571db8e315c6c8162364fc53eca0000000000000001000000000000000000000000000000202e06f1afd2c801d9de087ae80f8974941a8ef1028987c82ce1b484d39e0fd8e1000000000000000100000000000000000000000000000020a2142830a442dce925d43cd1ebb6f40ba3c32f12176e5a9e66cbacf95ede7bd2000000000000000100000000000000000000000000000020e9d6ad210457019fadcb39b680250de016207289b3b4f14eb02238053c198d89000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000001e000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e303ac3e8aa213d3ab91dfbda76027aa411a5acd49e592d7dbe1867ec7c7ae39000000000000000100000000000000000000000000000020c3373f8a4cb4cca5c85450ccd05e1c6f9e5604296027daa5e508459270e028f6000000000000000100000000000000000000000000000020ae228ee58a597030fe1faec42a092fff5921fcea6a47703ee387922398a313b00000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000003c00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000209703d14ad5fda3e18026712295feea7a1c2d2e25daa83fc85bc141e75a101b28000000000000000100000000000000010000000000000020e737e77a8f4f42e3145605652b8e425b1a1fb1f5c1c7c848bdfc7ba049a9fdcf0000000000000001000000000000000000000000000000204f916381e8b074ef3986eee6ef05eb5e4d61670c8da4e22079610e1e815da39b000000000000000100000000000000000000000000000020e2bfffe406e270759767be825b518aa1bac0d09d4925c04a3fbf4b8d7825a61f0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000001c000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000204e4826cfcc60d0e95282e89aba0cf5f9590d75001a21b531174e3ed107d90f36000000000000000100000000000000010000000000000020782ceb123b85867af36e604b6bf557e776b1c08b1434a0de4829bdc31713c149000000000000000100000000000000000000000000000020ae228ee58a597030fe1faec42a092fff5921fcea6a47703ee387922398a313b00000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000003f00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000205c15a07fb0d0aa64d8588ffecece579817d6066fd1808b1034c5bf6a3e0732030000000000000001000000000000000000000000000000201728e93e3c4e9e6048853d60652cc63ea79a6547ff7d9601f81ba20a641750ce0000000000000001000000000000000000000000000000204f916381e8b074ef3986eee6ef05eb5e4d61670c8da4e22079610e1e815da39b000000000000000100000000000000000000000000000020e2bfffe406e270759767be825b518aa1bac0d09d4925c04a3fbf4b8d7825a61f0000000000000001000000000000000000000000000000208021bd2695027fddd6279f8edfab55d839f2bbc56b9e2b43e16f49bf70c69b93000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000001f000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002012a63500686ae9ac3287c4cc9c6f1e1b6c3af024e3b3dd42b2067f9c7fa10337000000000000000100000000000000000000000000000020c3373f8a4cb4cca5c85450ccd05e1c6f9e5604296027daa5e508459270e028f6000000000000000100000000000000000000000000000020ae228ee58a597030fe1faec42a092fff5921fcea6a47703ee387922398a313b00000000000000001000000000000000000000000000000202592f93e2f14a0eef0bfafb9026fa4cc116708157d88ebac541e843a9bd2d35e00000000000000010000000000000000000000000000002018e4e35a7972f2be85d25aa8848f3d8aab60f7a0ec3425d57429b3dd7230bb38000000000000002400000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf0000000000000006000000000000000100000000000000010000000000000020295f4f6d29f940879c97f1408012b960ffacb27006fd7ab6d148767f66009681000000000000000100000000000000010000000000000020e6092a122a198abe24c1a128f4e431f7a516e3cef0cd315dac63bfdf8f84b2320000000000000001000000000000000000000000000000203aeba0bbe12d873091cff2545b5173559aaa2bb4ffd0e41b0e2272f1af7c5e85000000000000000100000000000000010000000000000020a54206c87490fe6bc1ccff2b1498c73628cd7bace95671a84888b567fac99a49000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca860000000000000004000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f00000000000000050000000000000001000000000000000100000000000000201d2f2916a91fb780ed5e5b3e62dacbf8faba113e1a12ce38d7b615266ee398d30000000000000001000000000000000100000000000000200c12864a1707a7dd870f506b453e770083d30775b2c181b06a998b6693cc786f000000000000000100000000000000000000000000000020b5ef014cfa13898638ea4ca051038b8eaa8a815ab79103015d5d56ebc0275dee000000000000000100000000000000010000000000000020d449683dddb67b1acbdf33bf4ebdc1712cd937e5d9d055d85a38ffc8ccd7b35b0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000002c00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000100000000000000209f629f876ca2de0ad010243aad7a69b58f2af4028bc3b79baea99b15e5a907b90000000000000001000000000000000100000000000000208874b70a540ff9d8596175535c632c57e85838d80183c245a267baeb54be90c1000000000000000100000000000000000000000000000020f60df6eaaae763b155cb4ecc8cf3bc779d1dccb02c9ca2ceb2112b935644b3f60000000000000001000000000000000000000000000000200e781718a062029293f4f42364cde5649998a5cac84a9a99464beef9c083d4ea000000000000000100000000000000010000000000000020571525aedaf286013f782d9f8b4a97902d8af712d8e4fa9982706ddc07163adf000000000000000100000000000000000000000000000020f3104a965f154fe4f7f30947f6a766c221a5cb740d45e9f0f9dadfb7aaa2ca86000000000000000c000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f0000000000000005000000000000000100000000000000010000000000000020e9512ee9e4b52142273dcaa258cf72c4934891dcb35cfa87b19881a7439f4b66000000000000000100000000000000010000000000000020c7efdaf52ea2aad6f4325b290360538232741b378a3c20018592edbb5647d06800000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000f00000000000000208a0e19800cca5848542aea1630659882f2d25c0826aa9568cafed82464ce02cf00000000000000060000000000000001000000000000000000000000000000208a7c1ba60e516668a0b4ff622812e561b0c169af39b1a32130fe2594b1f52b63000000000000000100000000000000000000000000000020b5a8a704414342c1956b117dd5bdeae05110c4741eb6b30826d26c220e0a4c36000000000000000100000000000000000000000000000020d2b19a88fe1e9b7d0f862abd1cd4b7ba7320d838e54ebaf611dc80951a49f3e80000000000000001000000000000000000000000000000203bc9599cf9d2668c285b6df1fa22cffefdbe0b7ea37d02c4222369868c6840340000000000000001000000000000000100000000000000207ebdfdc2ca8b482fa556a803ab428a28005e54cf6a947c874aa8021928684701000000000000000100000000000000010000000000000020a0813f95890c8b718825678c8d4d34a6f0286ce18cccb39c02f04c438b9e375a000000000000000f000000000000002091f6f983af75a6f3df8236f2dd3694c2880b1e1055530e484d4ba7c78d57220f000000000000000500000000000000010000000000000000000000000000002085889e67ab671cfa47b0e33e20ff28f9322f1495eabd2bd0351654c29fcf6371000000000000000100000000000000000000000000000020e33169b209672af96f9e0dfe56104bb6fe79b92d4a6f70ddc232bb3ac0fd888200000000000000010000000000000000000000000000002050616203612eb13d28955701cf1dc08d240d13337753a95c405ff3f453d6edb2000000000000000100000000000000000000000000000020b1540041ba21e617f76b3e28f45e2f3095f55759dac45c9fc6a68ac59b6ae0ef0000000000000001000000000000000100000000000000209be08742611d6195ca317f3fe1dca65b496e17781b9e1f874be22a3968b54913000000000000000216ab10f2712541ce4053ca31ebc396f0f5a0dbaaf33a0326c2ac476f667707d02fa62fa1d3214f61ef6f281e0a1c2c669234f74de00824d786d644135dff543a6b8b5b18 \ No newline at end of file diff --git a/contracts/zkllvm/circuit3/public_input.inp b/contracts/zkllvm/circuit3/public_input.inp deleted file mode 100644 index e69de29..0000000 diff --git a/contracts/zkllvm/circuit4/commitment.sol b/contracts/zkllvm/circuit4/commitment.sol deleted file mode 100644 index 3d47b9e..0000000 --- a/contracts/zkllvm/circuit4/commitment.sol +++ /dev/null @@ -1,479 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_commitment.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../containers/merkle_verifier.sol"; -import "../../algebra/polynomial.sol"; -import "hardhat/console.sol"; - -library modular_commitment_scheme_circuit4 { - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint64 constant batches_num = 5; - uint256 constant r = 2; - uint256 constant lambda = 40; - uint256 constant D0_size = 128; - uint256 constant max_degree = 7; - uint256 constant D0_omega = 7356716530956153652314774863381845254278968224778478050456563329565810467774; - uint256 constant unique_points = 4; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant _eta = 850133242367294717247047710337156064369915212762097839080979253061321047676; - bytes constant point_ids = hex"000100010001000100010001000100010002010002010002010002010002010001000100020100000000020002000000000000000203000203"; // 1 byte -- point id - bytes constant poly_points_num = hex"001d0010000a0002"; // 2 byte lengths - bytes constant poly_ids = hex"00000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058005c006000640068006c0070000000040008000c001000140018001c002000240028002c003000340038003c002000240028002c0030003c004c0050006c0070006c00700"; // 2 byte poly_id 2 byte - - struct commitment_state{ - bytes leaf_data; - uint256 roots_offset; - uint256 query_proof_offset; - uint256 initial_data_offset; - uint256 initial_proof_offset; - uint256 round_proof_offset; - uint256 round_data_offset; - uint256[r] alphas; - uint64[batches_num] batch_sizes; - uint64 poly_num; - uint256 points_num; - uint256 theta; - uint256 x_index; - uint256 x; - uint256 max_batch; - uint256 domain_size; - uint256[] final_polynomial; - uint256 leaf_length; - uint256[2][unique_points] denominators; - uint256[unique_points] U; - uint256[unique_points] unique_eval_points; - uint256[unique_points] theta_factors; - uint256[2] y; - uint256[2] Q; - uint256 j; - uint256 offset; - uint16[][unique_points] poly_inds; - } - - - function prepare_eval_points(uint256[unique_points] memory result, uint256 xi, uint256 eta) internal view { - uint256 inversed_omega = field.inverse_static(omega, modulus); - result[0] = xi; - result[1] = eta; - result[2] = mulmod(xi, omega, modulus); - result[3] = mulmod(xi, field.pow_small(inversed_omega, 3, modulus), modulus); - - } - - function prepare_Y(bytes calldata blob, uint256 offset, commitment_state memory state) internal pure { - unchecked{ - state.y[0] = 0; - state.y[1] = 0; - for(uint256 cur_point = unique_points; cur_point > 0; ){ - cur_point--; - for(uint256 cur_poly = state.poly_inds[cur_point].length; cur_poly > 0;){ - cur_poly--; - uint256 cur_offset = state.poly_inds[cur_point][cur_poly]; - cur_offset = state.query_proof_offset + cur_offset; - state.Q[0] = mulmod(state.Q[0], state.theta, modulus); - state.Q[1] = mulmod(state.Q[1], state.theta, modulus); - state.Q[0] = addmod(state.Q[0], basic_marshalling.get_uint256_be(blob, cur_offset), modulus); - state.Q[1] = addmod(state.Q[1], basic_marshalling.get_uint256_be(blob, cur_offset + 0x20), modulus); - } - state.Q[0] = addmod(state.Q[0], modulus - state.U[cur_point], modulus); - state.Q[1] = addmod(state.Q[1], modulus - state.U[cur_point], modulus); - state.Q[0] = mulmod(state.Q[0], state.denominators[cur_point][0], modulus); - state.Q[1] = mulmod(state.Q[1], state.denominators[cur_point][1], modulus); - state.Q[0] = mulmod(state.Q[0], state.theta_factors[cur_point], modulus); - state.Q[1] = mulmod(state.Q[1], state.theta_factors[cur_point], modulus); - state.y[0] = addmod(state.y[0], state.Q[0], modulus); - state.y[1] = addmod(state.y[1], state.Q[1], modulus); - state.Q[0] = 0; - state.Q[1] = 0; - } - } - } - - function initialize( - bytes32 tr_state_before - ) internal returns(bytes32 tr_state_after){ - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - uint256 eta = transcript.get_field_challenge(tr_state, modulus); - require(eta == _eta, "Wrong eta"); - tr_state_after = tr_state.current_challenge; - } - - function copy_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - c - ) - mstore( - add(leaf, 0x40), - d - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_reverted_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - d - ) - mstore( - add(leaf, 0x40), - c - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool b){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, offset)) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function copy_reverted_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, offset)) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function colinear_check(uint256 x, uint256[2] memory y, uint256 alpha, uint256 colinear_value) internal pure returns(bool){ - unchecked { - uint256 tmp; - tmp = addmod(y[0], y[1], modulus); - tmp = mulmod(tmp, x, modulus); - tmp = addmod( - tmp, - mulmod( - alpha, - addmod(y[0], modulus-y[1], modulus), - modulus - ), - modulus - ); - uint256 tmp1 = mulmod(colinear_value , 2, modulus); - tmp1 = mulmod(tmp1 , x, modulus); - if( tmp != tmp1 ){ - return false; - } - return true; - } - } - - function verify_eval( - bytes calldata blob, - uint256[5] memory commitments, - uint256 challenge, - bytes32 transcript_state - ) internal view returns (bool){ - -unchecked { - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - commitment_state memory state; - - { - uint256 offset; - - if (challenge!= transcript.get_field_challenge(tr_state, modulus)) { - console.log("Wrong challenge"); - return false; - } - - for(uint8 i = 0; i < batches_num;){ - transcript.update_transcript_b32(tr_state, bytes32(commitments[i])); - i++; - } - state.theta = transcript.get_field_challenge(tr_state, modulus); - - state.points_num = basic_marshalling.get_length(blob, 0x0); - offset = 0x10 + state.points_num * 0x20; - for(uint8 i = 0; i < batches_num;){ - state.batch_sizes[i] = uint64(uint8(blob[offset + 0x1])); - if( state.batch_sizes[i] > state.max_batch ) state.max_batch = state.batch_sizes[i]; - state.poly_num += state.batch_sizes[i]; - i++; offset +=2; - } - - offset += 0x8; - offset += state.poly_num; - state.roots_offset = offset + 0x8; - offset += 0x8; - - for( uint8 i = 0; i < r;){ - transcript.update_transcript_b32(tr_state, bytes32(basic_marshalling.get_uint256_be(blob, offset + 0x8))); - state.alphas[i] = transcript.get_field_challenge(tr_state, modulus); - i++; offset +=40; - } - - - bytes calldata proof_of_work = blob[blob.length - 4:]; - transcript.update_transcript(tr_state, proof_of_work); - uint256 p_o_w = transcript.get_integral_challenge_be(tr_state, 4); - if (p_o_w & 0xffff0000 != 0) return false; - - - offset += 0x8 + r; - state.initial_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - - state.round_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - offset += 0x8; - - state.initial_proof_offset = offset; - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < batches_num;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != commitments[j] ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - offset += 0x8; - state.round_proof_offset = offset; - - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < r;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != basic_marshalling.get_uint256_be(blob, state.roots_offset + j * 40 + 0x8) ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - - state.final_polynomial = new uint256[](basic_marshalling.get_length(blob, offset)); - offset += 0x8; - for (uint256 i = 0; i < state.final_polynomial.length;) { - state.final_polynomial[i] = basic_marshalling.get_uint256_be(blob, offset); - i++; offset+=0x20; - } - } - if( state.final_polynomial.length > (( 1 << (field.log2(max_degree + 1) - r + 1) ) ) ){ - console.log("Wrong final poly degree"); - return false; - } - - prepare_eval_points(state.unique_eval_points, challenge, _eta); - { - uint256 sum; - - for(uint256 i = 0; i < state.unique_eval_points.length;){ - state.theta_factors[i] = field.pow_small(state.theta, sum, modulus); - sum += (uint256(uint8(poly_points_num[2*i])) << 8) + uint256(uint8(poly_points_num[2*i + 1])); - i++; - } - uint256 off = point_ids.length * 0x20 - 0x18; - for(uint256 i = 0; i < point_ids.length;){ - uint256 p = uint256(uint8(point_ids[point_ids.length - i - 1])); - state.U[p] = mulmod(state.U[p], state.theta, modulus); - state.U[p] = addmod(state.U[p], basic_marshalling.get_uint256_be(blob, off), modulus); - off -= 0x20; - i++; - } - for(uint256 i = 0; i < state.unique_eval_points.length;){ - i++; - } - } - ///* 1 - 2*permutation_size */ - ///* eta points check */ - { - uint256[16] memory points; - points[0] = basic_marshalling.get_uint256_be(blob,0x28); - points[0x1] = basic_marshalling.get_uint256_be(blob,0x68); - points[0x2] = basic_marshalling.get_uint256_be(blob,0xa8); - points[0x3] = basic_marshalling.get_uint256_be(blob,0xe8); - points[0x4] = basic_marshalling.get_uint256_be(blob,0x128); - points[0x5] = basic_marshalling.get_uint256_be(blob,0x168); - points[0x6] = basic_marshalling.get_uint256_be(blob,0x1a8); - points[0x7] = basic_marshalling.get_uint256_be(blob,0x1e8); - points[0x8] = basic_marshalling.get_uint256_be(blob,0x248); - points[0x9] = basic_marshalling.get_uint256_be(blob,0x2a8); - points[0xa] = basic_marshalling.get_uint256_be(blob,0x308); - points[0xb] = basic_marshalling.get_uint256_be(blob,0x368); - points[0xc] = basic_marshalling.get_uint256_be(blob,0x3c8); - points[0xd] = basic_marshalling.get_uint256_be(blob,0x408); - points[0xe] = basic_marshalling.get_uint256_be(blob,0x448); - points[0xf] = basic_marshalling.get_uint256_be(blob,0x4a8); - // Check keccak(points) - if ( bytes32(0x4b402a6a2a392ead02fb32e389da6ecd5108c68d8f270f0ad1084b1fc443bb4c) != keccak256(abi.encode(points))) { - return false; - } - } - - - uint64 cur = 0; - for(uint64 p = 0; p < unique_points; p++){ - state.poly_inds[p] = new uint16[]((uint16(uint8(poly_points_num[2*p])) << 8) + uint16(uint8(poly_points_num[2*p + 1]))); - for(uint64 i = 0; i < state.poly_inds[p].length; i++){ - state.poly_inds[p][i] = (uint16(uint8(poly_ids[cur])) << 8) + uint16(uint8(poly_ids[cur + 1])); - cur+=2; - } - } - - state.leaf_data = new bytes(state.max_batch * 0x40 + 0x40); - for(uint64 i = 0; i < lambda;){ - // Initial proofs - state.query_proof_offset = state.initial_data_offset; - state.x_index = uint256(transcript.get_integral_challenge_be(tr_state, 8)) % D0_size; - state.x = field.pow_small(D0_omega, state.x_index, modulus); - state.domain_size = D0_size >> 1; - for(uint64 j = 0; j < batches_num;){ - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } - state.leaf_length = state.batch_sizes[j] * 0x40; - state.initial_data_offset += state.batch_sizes[j] * 0x40; - state.initial_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.initial_proof_offset); - j++; - } - - for( uint64 p = 0; p < unique_points; p++){ - state.denominators[p][0] = addmod(state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][1] = addmod(modulus - state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][0] = field.inverse_static(state.denominators[p][0], modulus); - state.denominators[p][1] = field.inverse_static(state.denominators[p][1], modulus); - } - prepare_Y(blob, state.query_proof_offset, state); - if( state.x_index < state.domain_size ){ - if( !copy_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - }else{ - if( !copy_reverted_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - } - if( !colinear_check(state.x, state.y, state.alphas[0], basic_marshalling.get_uint256_be(blob,state.round_data_offset)) ){ - console.log("Colinear check failed"); - return false; - } - - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - for(state.j = 1; state.j < r;){ - state.x_index %= state.domain_size; - state.x = mulmod(state.x, state.x, modulus); - state.domain_size >>= 1; - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } - state.y[0] = basic_marshalling.get_uint256_be(blob, state.round_data_offset); - state.y[1] = basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20); - if( !colinear_check(state.x, state.y, state.alphas[state.j], basic_marshalling.get_uint256_be(blob,state.round_data_offset + 0x40)) ){ - console.log("Round colinear check failed"); - return false; - } - state.j++; state.round_data_offset += 0x40; - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - } - - state.x = mulmod(state.x, state.x, modulus); - if(polynomial.evaluate(state.final_polynomial, state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset)) { - console.log("Wrong final poly check"); - return false; - } - if(polynomial.evaluate(state.final_polynomial, modulus - state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20)){ - console.log("Wrong final poly check"); - return false; - } - state.round_data_offset += 0x40; - i++; - } - return true; -} - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/gate_argument.sol b/contracts/zkllvm/circuit4/gate_argument.sol deleted file mode 100644 index 531a6a5..0000000 --- a/contracts/zkllvm/circuit4/gate_argument.sol +++ /dev/null @@ -1,58 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_gate_argument.sol"; -import "hardhat/console.sol"; - - -contract modular_gate_argument_circuit4 is IGateArgument{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - // Append commitments - function verify( - bytes calldata blob, - uint256 theta - ) external view returns (uint256 F){ - uint256 theta_acc = 1; - uint256 eval; - uint256 x; - - uint256 prod; - uint256 sum; - uint256 gate; -// gate === 0 === - gate = 0; -// constraint 0 - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 576); - prod = mulmod(prod, 28948022309329048855892746252171976963363056481941560715954676764349967630336, modulus); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 512); - prod = mulmod(prod, basic_marshalling.get_uint256_be(blob, 544), modulus); - sum = addmod(sum, prod, modulus); - sum = mulmod(sum, theta_acc, modulus); - theta_acc = mulmod(theta, theta_acc, modulus); - gate = addmod(gate, sum, modulus); - gate = mulmod(gate, basic_marshalling.get_uint256_be(blob, 352), modulus); - F = addmod(F, gate, modulus); - - } -} \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/lookup_0.sol b/contracts/zkllvm/circuit4/lookup_0.sol deleted file mode 100644 index bb11b2e..0000000 --- a/contracts/zkllvm/circuit4/lookup_0.sol +++ /dev/null @@ -1,72 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 -- Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../../contracts/basic_marshalling.sol"; - -library lookup_circuit4_0{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - - function evaluate_lookup_0_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 288); - l = mulmod( 1,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 512); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 544); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 576); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/lookup_argument.sol b/contracts/zkllvm/circuit4/lookup_argument.sol deleted file mode 100644 index 82f2953..0000000 --- a/contracts/zkllvm/circuit4/lookup_argument.sol +++ /dev/null @@ -1,182 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_lookup_argument.sol"; -import "./lookup_0.sol"; - -import "hardhat/console.sol"; - -contract modular_lookup_argument_circuit4 is ILookupArgument{ -//library modular_lookup_argument_circuit4{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint8 constant tables = 1; - uint8 constant sorted_columns = 2; - uint8 constant lookup_options_num = 1; - uint8 constant lookup_constraints_num = 1; - - - struct lookup_state{ - uint256 theta; - uint256 beta; - uint256 gamma; - uint256 factor; - uint256 V_L_value; - uint256 V_L_shifted_value; - uint256 q_last; - uint256 q_blind; - uint256 mask; - uint256 shifted_mask; - uint256 selector_value; - uint256 shifted_selector_value; - uint256 theta_acc; - uint256 g; - uint256 h; - uint256 l_shifted; - } - - function verify( - bytes calldata zvalues, // Table values and permutations' values - bytes calldata sorted, // Sorted batch values - uint256 lookup_commitment, - uint256 l0, - bytes32 tr_state_before // It's better than transfer all random values - ) external view returns (uint256[4] memory F, bytes32 tr_state_after){ - bytes calldata blob = zvalues[0xc0:]; - lookup_state memory state; - state.V_L_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 608 + 0x40); - state.V_L_shifted_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 608 + 0x60); - state.q_last = basic_marshalling.get_uint256_be(zvalues, 0x0); - state.q_blind = basic_marshalling.get_uint256_be(zvalues, 0x60); - state.mask = addmod(1, modulus - addmod(state.q_last , state.q_blind, modulus), modulus); - F[2] = state.mask; - - state.shifted_mask = addmod( - 1, - modulus - addmod(basic_marshalling.get_uint256_be(zvalues, 0x20) , basic_marshalling.get_uint256_be(zvalues, 0x80), modulus), - modulus - ); - - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - { - state.theta = transcript.get_field_challenge(tr_state, modulus); //theta - uint256 l; - state.g = 1; - state.h = 1; - - transcript.update_transcript_b32(tr_state, bytes32(lookup_commitment)); - state.beta = transcript.get_field_challenge(tr_state, modulus); //beta - state.gamma = transcript.get_field_challenge(tr_state, modulus); //gamma - state.factor = mulmod(addmod(1, state.beta, modulus), state.gamma, modulus); - (l, state.theta_acc) = lookup_circuit4_0.evaluate_lookup_0_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 416); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 448); - l = mulmod( 1, state.selector_value, modulus); - state.l_shifted = mulmod( 1, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 96), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 128), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 192), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 224), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - - - } - { - for(uint64 k = 0; k < 2;){ - state.mask = basic_marshalling.get_uint256_be(sorted, k*0x60); - state.shifted_mask = basic_marshalling.get_uint256_be(sorted, k*0x60 + 0x20); - state.h = mulmod( - state.h, - addmod( - addmod( - state.factor, - state.mask, - modulus - ), - mulmod(state.beta, state.shifted_mask , modulus), - modulus - ), - modulus - ); - unchecked{k++;} - } - } - - F[0] = mulmod( - l0, - addmod(1, modulus - state.V_L_value, modulus), - modulus - ); - F[1] = mulmod( - mulmod(state.q_last, state.V_L_value, modulus), - addmod(state.V_L_value, modulus-1, modulus), - modulus - ); - { - F[2] = mulmod( - F[2], - addmod( - mulmod(state.h, state.V_L_shifted_value, modulus), - modulus - mulmod(state.V_L_value, state.g, modulus), - modulus - ), - modulus - ); - } - { - for(uint64 i = 0; i < sorted_columns - 1;){ - state.beta = basic_marshalling.get_uint256_be(sorted, (i+1)*0x60); - state.gamma = modulus - basic_marshalling.get_uint256_be(sorted, (i)*0x60 + 0x40); - F[3] = addmod( - F[3], - mulmod( - mulmod( - transcript.get_field_challenge(tr_state, modulus), //alpha - l0, - modulus - ), - addmod( - state.beta, - state.gamma, - modulus - ), - modulus - ), - modulus - ); - unchecked{i++;} - } - } - tr_state_after = tr_state.current_challenge; - } -} diff --git a/contracts/zkllvm/circuit4/lookup_libs_list.json b/contracts/zkllvm/circuit4/lookup_libs_list.json deleted file mode 100644 index e25da30..0000000 --- a/contracts/zkllvm/circuit4/lookup_libs_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ -"lookup_circuit4_0" -] diff --git a/contracts/zkllvm/circuit4/modular_verifier.sol b/contracts/zkllvm/circuit4/modular_verifier.sol deleted file mode 100644 index 3fa4d7c..0000000 --- a/contracts/zkllvm/circuit4/modular_verifier.sol +++ /dev/null @@ -1,261 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_verifier.sol"; -import "./commitment.sol"; -import "./gate_argument.sol"; -import "./lookup_argument.sol"; -import "./permutation_argument.sol"; -import "hardhat/console.sol"; -import "../../algebra/field.sol"; - -contract modular_verifier_circuit4 is IModularVerifier{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - bool constant use_lookups = false; - bytes32 constant vk1 = bytes32(0x66e2e28111beacc81d039789ffd629de09f0af2bc4a7d04b5da9ef15449c82eb); - bytes32 constant vk2 = bytes32(0x716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff1); - bytes32 transcript_state; - address _gate_argument_address; - address _permutation_argument_address; - address _lookup_argument_address; - address _commitment_contract_address; - uint64 constant sorted_columns = 2; - uint64 constant f_parts = 8; // Individually on parts - uint64 constant z_offset = 0xc9; - uint64 constant table_offset = z_offset + 0x80 * 4 + 0xc0; - uint64 constant table_end_offset = table_offset + 608; - uint64 constant quotient_offset = 736; - uint64 constant rows_amount = 8; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant special_selectors_offset = z_offset + 4 * 0x80; - - function initialize( -// address permutation_argument_address, - address lookup_argument_address, - address gate_argument_address, - address commitment_contract_address - ) public{ - types.transcript_data memory tr_state; - transcript.init_transcript(tr_state, hex""); - transcript.update_transcript_b32(tr_state, vk1); - transcript.update_transcript_b32(tr_state, vk2); - -// _permutation_argument_address = permutation_argument_address; - _lookup_argument_address = lookup_argument_address; - _gate_argument_address = gate_argument_address; - _commitment_contract_address = commitment_contract_address; - -// ICommitmentScheme commitment_scheme = ICommitmentScheme(commitment_contract_address); -// tr_state.current_challenge = commitment_scheme.initialize(tr_state.current_challenge); - tr_state.current_challenge = modular_commitment_scheme_circuit4.initialize(tr_state.current_challenge); - transcript_state = tr_state.current_challenge; - } - - struct verifier_state{ - uint256 xi; - uint256 Z_at_xi; - uint256 l0; - uint256[f_parts] F; - bool b; - } - - // Public input columns - function public_input_direct(bytes calldata blob, uint256[] calldata public_input, verifier_state memory state) internal view - returns (bool check){ - check = true; - - uint256 result = 0; - uint256 Omega = 1; - - for(uint256 i = 0; i < public_input.length;){ - if( public_input[i] != 0){ - uint256 L = mulmod( - Omega, - field.inverse_static( - addmod(state.xi, modulus - Omega, modulus), - modulus - ), - modulus - ); - - result = addmod( - result, - mulmod( - public_input[i], L, modulus - ), - modulus - ); - } - Omega = mulmod(Omega, omega, modulus); - unchecked{i++;} - } - result = mulmod( - result, addmod(field.pow_small(state.xi, rows_amount, modulus), modulus - 1, modulus), modulus - ); - result = mulmod(result, field.inverse_static(rows_amount, modulus), modulus); - - // Input is proof_map.eval_proof_combined_value_offset - if( result != basic_marshalling.get_uint256_be( - blob, 512 - )) check = false; - } - - function verify( - bytes calldata blob, - uint256[] calldata public_input - ) public returns (bool result) { - verifier_state memory state; - state.b = true; - state.xi = basic_marshalling.get_uint256_be(blob, 0xa1); - state.Z_at_xi = addmod(field.pow_small(state.xi, rows_amount, modulus), modulus-1, modulus); - state.l0 = mulmod( - state.Z_at_xi, - field.inverse_static(mulmod(addmod(state.xi, modulus - 1, modulus), rows_amount, modulus), modulus), - modulus - ); - - //0. Direct public input check - if(public_input.length > 0) { - if (!public_input_direct(blob[905:905+736], public_input, state)) { - emit WrongPublicInput(); - state.b = false; - } - } - - //1. Init transcript - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - - { - //2. Push variable_values commitment to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x9); - - //3. Permutation argument - uint256[3] memory permutation_argument = modular_permutation_argument_circuit4.verify( - blob[0xc9:905+736], - transcript.get_field_challenge(tr_state, modulus), - transcript.get_field_challenge(tr_state, modulus), - state.l0 - ); - state.F[0] = permutation_argument[0]; - state.F[1] = permutation_argument[1]; - state.F[2] = permutation_argument[2]; - } - - //4. Lookup library call - - { - uint256 lookup_offset = table_offset + quotient_offset + uint256(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf])) * 0x20; - uint256[4] memory lookup_argument; - uint256 lookup_commitment = basic_marshalling.get_uint256_be(blob, 0x81); - ILookupArgument lookup_contract = ILookupArgument(_lookup_argument_address); - (lookup_argument, tr_state.current_challenge) = lookup_contract.verify( - blob[special_selectors_offset: table_offset + quotient_offset], - blob[lookup_offset:lookup_offset + sorted_columns * 0x60], - lookup_commitment, - state.l0, - tr_state.current_challenge - ); - state.F[3] = lookup_argument[0]; - state.F[4] = lookup_argument[1]; - state.F[5] = lookup_argument[2]; - state.F[6] = lookup_argument[3]; - } - - - //5. Push permutation batch to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x31); - - { - //6. Gate argument - IGateArgument modular_gate_argument = IGateArgument(_gate_argument_address); - state.F[7] = modular_gate_argument.verify(blob[table_offset:table_end_offset], transcript.get_field_challenge(tr_state, modulus)); - state.F[7] = mulmod( - state.F[7], - addmod( - 1, - modulus - addmod( - basic_marshalling.get_uint256_be(blob, special_selectors_offset), - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), - modulus - ), - modulus - ), - modulus - ); - } - - // No public input gate - - uint256 F_consolidated; - { - //7. Push quotient to transcript - for( uint8 i = 0; i < f_parts;){ - F_consolidated = addmod(F_consolidated, mulmod(state.F[i],transcript.get_field_challenge(tr_state, modulus), modulus), modulus); - unchecked{i++;} - } - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x59); - } - - //8. Commitment scheme verify_eval - { -// ICommitmentScheme commitment_scheme = ICommitmentScheme(_commitment_contract_address); - uint256[5] memory commitments; - commitments[0] = uint256(vk2); - for(uint16 i = 1; i < 5;){ - commitments[i] = basic_marshalling.get_uint256_be(blob, 0x9 + (i-1)*(0x28)); - unchecked{i++;} - } - if(!modular_commitment_scheme_circuit4.verify_eval( - blob[z_offset - 0x8:], commitments, state.xi, tr_state.current_challenge - )) { - emit WrongCommitment(); - state.b = false; - } - } - - //9. Final check - { - uint256 T_consolidated; - uint256 factor = 1; - for(uint64 i = 0; i < uint64(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf]));){ - T_consolidated = addmod( - T_consolidated, - mulmod(basic_marshalling.get_uint256_be(blob, table_offset + quotient_offset + i *0x20), factor, modulus), - modulus - ); - factor = mulmod(factor, state.Z_at_xi + 1, modulus); - unchecked{i++;} - } - if( F_consolidated != mulmod(T_consolidated, state.Z_at_xi, modulus) ) { - emit ConstraintSystemNotSatisfied(); - state.b = false; - } - } - - emit VerificationResult(state.b); - - result = state.b; - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/params.json b/contracts/zkllvm/circuit4/params.json deleted file mode 100644 index c7a1f88..0000000 --- a/contracts/zkllvm/circuit4/params.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "test_name": "circuit4", - "modulus": "28948022309329048855892746252171976963363056481941560715954676764349967630337", - "rows_amount": "8", - "usable_rows_amount": "5", - "omega": "199455130043951077247265858823823987229570523056509026484192158816218200659", - "verification_key": "66e2e28111beacc81d039789ffd629de09f0af2bc4a7d04b5da9ef15449c82eb 716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff1", - "ar_params": [ - "3", - "0", - "3", - "3" - ], - "columns_rotations_node": [ - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0", - "1" - ] - ], - "commitment_params_node": { - "type": "LPC", - "r": "2", - "m": "2", - "lambda": "40", - "max_degree": "7", - "step_list": [ - "1", - "1" - ], - "D_omegas": [ - "7356716530956153652314774863381845254278968224778478050456563329565810467774", - "17166126583027276163107155648953851600645935739886150467584901586847365754678" - ], - "grinding_params": { - "mask": "4294901760" - } - } -} diff --git a/contracts/zkllvm/circuit4/permutation_argument.sol b/contracts/zkllvm/circuit4/permutation_argument.sol deleted file mode 100644 index 63aced9..0000000 --- a/contracts/zkllvm/circuit4/permutation_argument.sol +++ /dev/null @@ -1,93 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "hardhat/console.sol"; - -library modular_permutation_argument_circuit4{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint256 constant permutation_size = 4; - uint256 constant special_selectors_offset = 4 * 0x80; - uint256 constant table_values_offset = 4 * 0x80 + 0xc0; - bytes constant zero_indices = hex"0200022002400000006000c00120016001a0"; - - function uint16_from_two_bytes(bytes1 b1, bytes1 b2) internal pure returns( uint256 result){ - unchecked{ - result = uint8(b1); - result = result << 8; - result += uint8(b2); - } - } - - // Append commitments - function verify( - bytes calldata blob, - uint256 beta, - uint256 gamma, - uint256 l0 - ) internal view returns (uint256[3] memory F){ - uint256 V_P_value = basic_marshalling.get_uint256_be(blob, table_values_offset + 608); - uint256 h = 1; - uint256 g = 1; - - for(uint256 i = 0; i < permutation_size;){ - uint256 tmp = addmod( - gamma, - basic_marshalling.get_uint256_be( - blob, table_values_offset + uint16_from_two_bytes(zero_indices[i<<1], zero_indices[(i<<1)+1]) - ), - modulus - ); - - g = mulmod(g, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, (i *0x40 )), modulus), - tmp, - modulus - ), modulus); - h = mulmod(h, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, permutation_size * 0x40 + (i *0x40 )), modulus), - tmp, - modulus - ), - modulus - ); - unchecked{i++;} - } - - F[0] = mulmod(l0, addmod(1, modulus - V_P_value, modulus), modulus); - F[1] = mulmod( - addmod(addmod(1, modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset), modulus), modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), modulus), - addmod( - mulmod(basic_marshalling.get_uint256_be(blob, table_values_offset + 608 + 0x20), h, modulus), - modulus - mulmod(V_P_value, g, modulus), - modulus - ), - modulus - ); - F[2] = mulmod( - mulmod(basic_marshalling.get_uint256_be(blob, permutation_size * 0x80), V_P_value, modulus), - addmod(V_P_value, modulus-1, modulus), - modulus - ); - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/proof.bin b/contracts/zkllvm/circuit4/proof.bin deleted file mode 100644 index ceea89e..0000000 --- a/contracts/zkllvm/circuit4/proof.bin +++ /dev/null @@ -1 +0,0 @@ -0x040000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0724e188e417eba98ce127b0e74af9cce12c9f87992af976e54c5af8369cedbe00000000000000390724e188e417eba98ce127b0e74af9cce12c9f87992af976e54c5af8369cedbe01e1288a83d23262df750b800635e894c58c3719cfa61ead17fed9390fe13e7c23b867ac74779a4fc065c6748476e10065df1da5fdd6df527a7dc6d91110a4b60965cab4931afbee5d4939801f0d8ae7dbbd13810e3e996177fa3e1d4f66386c329a065e4656038ec1fce04696526501b8ce6245e2986a65321a80635553378c2efcf586df86eba7d26e1f809b43b6874ab161854738fee757e336928cff1a1c3d021fd75fae11c9c9f06160ef9bf90835342069511328a72efcef29aaa015b92af0cba25da29a471c269d83085290a40ea31ca648360f31ebe87e15c0fb82890724e188e417eba98ce127b0e74af9cce12c9f87992af976e54c5af8369cedbe01e1288a83d23262df750b800635e894c58c3719cfa61ead17fed9390fe13e7c23b867ac74779a4fc065c6748476e10065df1da5fdd6df527a7dc6d91110a4b60965cab4931afbee5d4939801f0d8ae7dbbd13810e3e996177fa3e1d4f66386c329a065e4656038ec1fce04696526501b8ce6245e2986a65321a80635553378c2efcf586df86eba7d26e1f809b43b6874ab161854738fee757e336928cff1a1c3d021fd75fae11c9c9f06160ef9bf90835342069511328a72efcef29aaa015b92af0cba25da29a471c269d83085290a40ea31ca648360f31ebe87e15c0fb82893afe6bc138dfdd2d76e1e4390a599a4c7e71704a62fa802e9283441effb7b125098c2c956631570b861db57e472ac2dbc5713cf1f3196fe997fa921c03631ff81c39a4f9c5a7e04000c87eed54259de99e35674c44dae67e144e4660d8e5878810f1a6e48b3ac738b0f78b5a7e5135d11e2d20ae2e1328010358a38a7c14da9c30298d565124dfbb78745be10f5d61b3842bdf99ecd346c3b36296baf9f51bd116f2e0f3059cf5d2d39c4080b5995add0ec94b0c1b12885d0bdc8159bb089afd3876a6f35fdd8a5892d0b8d61d969608d22449bf1614d415fa0a653e857512522ba084a80539468069e485f07301ea89596d7c4f595533fd45ecdb19ed37fe0818943b0e3ca565e3e20e9de38287225cc4b6649c37677a33b11d0361b2aed7a2064236df71be6a3ee34f3816e3c0da38122bac7429733fba7bd79a136e892ba617add26f19ae6eb8591a22c63ba9e9e1e335ac6db5b9016dae5c72930ea99d9f0dd62831f717916b5bee672d22fc74d72e22465f66e987087c6da6e12169d20b098c2c956631570b861db57e472ac2dbc5713cf1f3196fe997fa921c03631ff82eea7a5df9ac334d0cb30357d66bd32d0cb30ccd22fb642c620fd3228211f25a38467bfcad7872002ef7f3955ad8fefc95d37d778e51bef92a35a57ec3aa1ee63759e310305848667af50dd3dabf18865b34317d4b327a36b8a17239190d68943743cdddeb1c0a81fea4ccfa2e1d915edcf91dbbd0c7c23126ca67d00e522a58340fed5a3be55b99d826906c77552fe2a7eea0ff818c4a079c7e7a30843374420cd37a1334bb29ed2b9b4091f64107397547e6a3a95f8a40790269326c11dd7d1df0094e8b6cd8f73c695add1f6ac419f56158e1df2c41282a340ca67d32c9452a83c0c4d5b4048e5208daee302a6d06e27d640d8e72da1e0483e81480d0544a001ad120e0da14c4676ec6316bed2156ff523eddbc2852c587f9158f12091c732f7fff7302c2c82ecde4184bd7b1695a801d5cb9791aaa7832c7d44656232d1824d196ba9accb8130e2d2f0e73c93037921d4df54156e89baccd30801de02f3f3118a73b5df3bcb8196cce4b318e5e3586bcddca3dd821b9e6a183e4c86444dc000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010178ca0150be7b70f943a23d1ec080e76b1fc98c79d63aab84e7860aac01d18f3decc6d298c5cb84d9d4341e9f8dd5392c983b4de9be6fa2aeceb37eb1a79df20fb949a48e6641fe7f13412d8d63cd4e28c80b958a989be2857f670636471b941896e2c463108374f3be9dbdd848d1e3a1ccf32a5c359e0f42565fef2ecf2102330d3cf24338d607369ba262db22275ef54e1f8032a4425f3f591b1d96a34f8a2167f79b760b70b80695f39ec4086598d9bb29aa7eba30c2ff925f9e893dceb80cd8e5dc04d079a98326e136b1b263bbf8d5681daf57d95724889b94a0efd33904f86e8f3c8c0bda640c7a4210b5de566e0972771eb86b0a528642987045217f07fef5df3e5d9c3b879741d455ccd3522c3837c775c4e5428146f111fbbf13153eb0ddde038dc95cbc61654b2260e51612f460c138d86507c4e385a09435f0fa1ca4f8a2b98d0b79bbb572ad73d5939a8d0850a4884af6b836f495d3ebd257a70436af8550df156d4be76dfac4f2d1cad066a2b66f1f46228d9f34365ae767782270c54c8aeff3dd2924faafe812f3bd707194520d8539bd0e6dbbd1e410e86c1ecb3272176b16060fec90767aef2a1bf4b4d5f7884c9ce486058710ec6397cd000000000000000a00100103020203060402000000000000001d020202020202020203030303030202030101010202010101010101030300000000000000020000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000002010100000000000009103b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480104c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b80028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d1979800085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080237a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff29cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a16307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f73b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480104c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b80028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d1979800085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080237a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff29cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a16307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f7305d9e4e7bb0cfb3b7ab6f2a16664d9d00ffe6e15a8f452fe648d4b20ee2b0793ccafc6418112053d1c539dc198ca765b3a8d0cc38d47492143067a7a046f720054e43e7d570affb9aee4854bf65e29645e89aff47a48510591b37be81e7333b1bbf6cf08a9fcae4eaea8d7a724774b3c8891d34d51de544ba34750fec2c590512de871e518f6b896a160fd7b607ebe62cb7c5e1696b514fa8b5840bbba96c710d2178e1ae70947695e9f02849f81419e46b869c9b3b2b3e23e1146ac45693901d89216596cd5ffcdba10ea510a72867528d858a39e4f1abc51139fd0eef252f0717f85ce19e45138ba4c97f5dc59649cfed0354ac6b917763f7fcaba4a9ff652a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd171f1a2dc6efa0a47f2b825d43c077327551f52a98f3e898bb17a7724f7d136d27d334f9d8ffe47afafba7d38a923183afa6381b583d22bb975c7522c26f60560a541dc9aede8050ad6648812a33cfccdb5e171b67192edb59c9247c6f361c4e277596ab5d4f14c7435038a9742be3e6c85b43f704a7986063f58522738cafde02de871e518f6b896a160fd7b607ebe624261fa267181308c26a37d07ba96c713d2178e1ae70947695e9f02849f81419fe207959a234e612d6c2f91c84569391369bd3485442205a052f8fd12e3a1147b4bca43713915b53655a904f6001973839a611258b63c7bc40df37841c2f3763097f2a1d99f0e58978f5903187c8865a29519c4944f6f78719b50aa3b4e6301700e82e2c7d7e4bd543f49d2fdc936f7e126101c2f3d4d9c19fea87eb6a46f59765b844ff8e4451400423137d96894da4363e5be09d464c6579380353fc426d2017815c463ffa37f41b7962ca3470a67916be65c7e8820d0313e2bfc76810399fdb45dd78b2b51d3daeddb6da38ea8eeb000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012ae562147afe76052cc83398e80d7746d380b704f0442d32cdff942c43ea46063c925b12f08d47415acf97b8c5380a0c04d1015eaa8b82245e3d03cbff98c3d8250e3af7df51db6628123a2671302ee40d4e9f5b9ac8f0386f4bd9a92655c8d0038fee86e2a0d36770ef0b94d72a31129c3ce0b3aaf2a326c869fc4f94a881ea1edd440c04958cf1bbe65dfa9fd91316db0d5ea9f3f244e60073c6d3f18c07ad3e038c734929d50b398bb20e6e58687cf97c279e3291c6017907c988fb944be31e487bae116ab659eed34095d2ee631c8a8be0401972fec9b94904497fad19151210cbb33eadd753c48df0599abbfa610592086c84bb1cf4fcf8b4f1e0efe5340ddffdbe3b6f8371b88f7d5d5bb2a99df166ba68afd8f3ee3f7041020449c27403d8071abed91addf35eb55a3f000bb8ef0e3e2668c3d7df376a54116b1bbcfa272026ed96e7f539835091c93e52dfad97e63d0a32b1cbed6ddddaf74c83dfa213aa493076eb6c062a4a0bcd13b6339a9275272e429308eb83a845d7a0f63d75291d3e02badf53445e7bf5b5bd645a96c0929e548b97537ba641cd76f5bca97e2acf7af355521b255b4edf0cd4a320d5f34e5ffda6924cb8cd9305a1b2518e60174dc9ca09455feacb31944e2825e74a2eba6b682550b9593b17dfd61537bc6b30ae3d68dfe163cbb9916ee46cc153d7b74c881b59a23a5287f3eaf0b478c4340caa0deef1428ed8c0deff68487ed5f477e6f61eae1c390d03998008e8bc18361ad7c5e79b0077c732773e3e56c4a7c6e1873bbd363a83dd4b8519f3754d4e8219282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89726d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af202371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b60b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de7719282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89726d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af202371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b60b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de772c9c5447ae1258463f3aab447a9f9906b7afbc722f2eeaa83dc7e2d2b05d15550da9914a1efea3e5e652d1bebf32fb2c4a8339fdf7e114fbb9026c3948d1e57b187f19f3795326291a6b847dcde48b5b0a81e564babc6fc94b1522922479628133344d73b017b132f8d56944460562a818030f10c6e7f3f5ab73756535f514853afe6009c6a9219031e2300b14d24812a826c447cc8618769faeca6169faef7b04c82119cad824013ef1bf8ed46cf0b6b3d833551645db7f2f7b7bf50b5b920a3e2fec4c22bc0606f517e84bdbc4fc4683af0d0cc8e9a0d899c86c7a92f2e02201ca60058835e4b33bb84051b36cb487a4c816ecb306e5b4b0d20bc0aaea31ba22fcff711ca6bb32171257895548f0d889e96121e743e2acc701e0bb637c5d8c1709b395ecdd7145b01f3db15cfa8cf1b8327eec8beea5431732cb0848e630a21fb1a4e9d28536bbc8543f7b30ffd0308895e4364708d999d6b6d0b5fbb30597146174d295913779953ec25ca4557a95d32ab7ed236bafb89b180e961f3504ea3ae491c4d89a8190a659d03db77bdb9e825b902128ae97c5a97d5c752b29882d3f22214230e9aae720d7c4fcfac7a22be206e8e953d0e945cde4803b8139060323dade2eebbd104af63a928c5a814eacca2911349cbff282924a916ce243578b1c2521d11442efb509c56d73a57eb153581d87c76c8d069906e29f801dbca8771696203b82415c73e98a4576c941c3e0a478de4b1caf46b11829e40a2c95c5481524f7d184061e2ddbd35caca29bd6effd95190b1eee9322ca6a686c50701ce60dcb681566950e1eee4509757ec62119aa70c83b95317e1e18e44cb719fed99921869790761f1665ecbf451506f90b65ee638e78ab90729b722e7d68b004fb381eaed243c29c53f110ce94732d6c3a2f5eb7538e1183cb94f746b29fb05b2bff149a55f07440e999e9a5897d8fecb0b6556fb31688a2b5c054d1160d303c64a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001362f46fd360b7d1a139d2af97cd58de9189ff339b372f242f8cbfae8dc61b78a190461cc3f8159e6e1a7e25a6fe43d888e0f208ff9f481ef592e1e76b5d5879f33cb954bffbbe578a79ee554c8f77ece6aae3261febc0f052738303ebcf0b8f00b06b6aa270ba78d9936461ebf63612b0b22d5f4ff41b39f664e05d4be98e3143ceb183fcb9314ae8e50505b971b0180515e6c0b0c8cdd87e42a41215f8a3b8c33ff3985a95a51bd6c0fb844aedb07f25bd91447d932875da7195fa001084b960cf7282cc1292979a5a55f1719489e7b85b8fbce43a08536eba86e3f62a5935c1a97dcaa0e2e4f43b3085a305d485186b6d07f078fc9e6de19bf1aafbd659d100da7c21b3e57e30d5c7104679bcb955fffc378e297dbcc4c61c29ceddf06dc933673fe048761ffd1340a5237e7dfc8caaad1397499205dab0e74bb4a83446fa224c03a973e4285612492157bf13be79e26ca8a744e9caccae755c6fe101c6b3136fc7a18dc130e4a46d5257f1e327ea5d2346336b78a3db1757aa696e0ba63281888077655d7f02de66cdeb00539f8f11289667f3fa27ccf5279b6f65f9fbf703b64b17fba597e3bd35df6128ccd827ba15797d2f2872365215b1c22486e786e3edee02416a71fec339614a8d895baff0f2c18baec605aeb61378116a692e5b032421308f8de1f2b4402b08d0de2341ef254b9658e6ef87a8dd47404f91056453b86ae9ec80dbe3a1a0b353bc94c8b56c89743f6c2a61b376e1a3e032f42024c39aaad524a8c8d3e821d45d17c81703f916a2eb8715f1b320bbec85a0d634e140175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f153e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb6938b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d1b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f436769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c20175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f153e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb6938b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d1b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f436769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c205abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b3288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc7350240440930f7560351b151572858db88b4c489a2f492f8897491262236693d3a6fc1ab1bc182a8f50046511b7ab409a1d69cb3ab17ebd01f77d737b60b7fe18ccc63000000000000000000000000000000019b4f2bd06f9bad4b2e1e4b1c00000013000000000000000000000000000000019b4f2bd06f9bad4b2e1e4b1c000000129f67f7b332db09cf5bad95713cd823005366f75182a210df2f8ccf2a0536bd63aaa9a47453df473718afecd5a9f3c813f8ab265d7735b30cf3d9aa31345b8bf3fa261b1844f304c485490d5e999b2633afba4d7b5b76ec065c640ecb11d4f893335039be7eedfac2e3ac623e673589a8852baecd7723f5e37deadf71fb908e20bbf6cf08a9fcae4eaea8d7a724774b3bff776f5d2caa6fdd3e928d4ac2c5905354e43e7d570affb9aee4854bf65e2965f9d8dbc4e9e3fe50bfd1c7041e7333c36138aba397e4b359850d5fb9c7b4480ac78da8f3e8a5266fa48e5c79b6275533cc3da9332bfc4c2de3e80fe3391c67d16d585354e9f5bb7a35c091c3573e31902de871e518f6b896a160fd7b607ebe624261fa267181308c26a37d07ba96c713d2178e1ae70947695e9f02849f81419fe207959a234e612d6c2f91c845693912031cbe0480a10a20622ae694ebc490d53f0bbbc0ed5648b9a630acc5ef6e77c1ab11ae211eab58d1a4268f08006dbf98434d7a4c8755389ff3231ef472433271997fc6544ea13622afb391fa25b0146d47b944c08be01418469a2f6bbe6e1ae39a535051151506b5379b027ba6db369fc9070a8e3c7ba8ae2b106182685f9e53f15eba801d67514d55000295c0022953b2d64fdeda04fdd016e4b122ad52af80b4e8372a117ad61a73a4f0df1c052699b5c2c6271b5e00ff594cd2e004f0e5800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001230a2689ca3b38852e2c9d50e0fe12bb480d5da2c740962035f156b6a85e2182040a6df96224db668e7ca5a846076c43094b6325be741a9aee1b89aef1bf7735020ad6b09ff4594feb19c80979b0d946ef8dba64db94108c80e1433fd0d338553db4b16557d3d9a8aee2c33fcdb8a47d5dc2b8ccf528082ed57380079994367d1ddf5c436412df20d7c9ce6f68acfa41e227338c595e8fdf34ae0066e30106261cb2667c8b53fbc9f2188ce2f58375e423eec4e20b9e516977edb9da0bbf1cbf09035b34e93a0b16f87657b7ebe5323eb586f708da31c9f7054bc02875fcf16e14a54aa648e86399197ac94ac0f6b886a81c71cc998d2f6b5d08e9a1128b7fc41704b62783c7c64665528e588f546ca12986e445d110686ea94bd0ed637b2aa81b78e3c7c45f34adbc73f5b32a1169a20066021a421ccc2ea262fedce827402a12c91746682d44ddaa8276438297e40cc583963463408e0f72cc08c91d284a0a04b0bfdcf35562121c6f634c6bb63894f096c14fc8419f6c7a2c6b8c6f955a9f160d2419672a68f8e0dc44e68d12b16195d8e2e68616bd4189c701c53f1f1cbd3ddf94dca9070570d8ee8fdc04f4ca0b1e081b6bac12e2f2ea0dd15368ef1b2112aaf86fcf244c64a0b38678574da34b0656bfe07441305e06d764b8ae501d8e0a04328bade9c236e3751c6881d7a3cc759cefcfe633b9612b01b64bdc7803df282f8cee1b4cda0d434546d5c2d795ac5eb35f2dd8d56b52cdf1b7b602e3f9de2edd58bd140c0f6447e992c8883e2905a66eba74ae09bf5f29782648a184ccea11e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b1968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd2697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38243f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75000f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c04c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b7511e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b1968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd2697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38243f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75000f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c04c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b750ce7e97ae590c12eda640bdea2f2501459f94dfc3a5ad39eeacb0ce72bdfce160409ae2f87c7368549686786a98175ac8c817825a11200d132276a2842980b5503f684053292e56a23cc9aa6cf6b481f2ec93b24a323cd8de4386d69771a4f5c1fc6a3ef7a30a81709d7aa355992354fd93d1e3d53a2b055a2af3bfc2322aee723500dfb71972b65effbfc64e970bf0af2f850e628644348aaf32e368c725bc32708dddaf0a355dd8d56733e344629709d81d66a333624a6716db87e609b78861469067986f43cf59010dde08f92426f9c3c91b26d7baea2cea61005e14e93c71b9db6668f5dc4dd7d5f86d590d1cc2465212c4ba530adfd1fb40487ba76e6dc2bf93842bf2d60223b1a98080fb866156c1f2eaba5c51d58b80b9996a54f20521f58081e26b71aa87374afb67ad656bae9ece3c89aa1828ad674a7ce51fc080306b1c44920157c93acd913a20dc88b72472013d85acacd891a620f4021066f1a1fe9ff989561772ea2d51724e6f0df9a4153ba160a091c827b172e0f31ca66ed2f21927fe7dc596701cf597a8da267cc99840fdb2bce57eeca29b69c5d05e2901c2fade0fe082163acbfee43fcec5503bc880299149847f4c4568ac89a4545c60fc98a61c1253ebe8e5aa9c412cc1111af972c12912cd563f3b50ece0b09da8d3036759e3edac14171a5563bed33eeee72af6ce9782023b7a578221ef4f6257517a3747acf162f38a350354b39b09b18f6969dcddaf1d26e479160ab64a296a73b9199cadd3d03ff6c78305d3da09035ed9eb38046286aca90940c7d19bf964820cd90831b33111a1207e29516e0656e61c6ac921f597591eff35fe8041867c3292500858dc4cbf6cb392ae7c2afbcb026857c51d3784ac80aa2f9f4c9b1fad0003b2eb2f19bfe5599844db38336b74f919697253931b2425d1bb448e236d72621e8a79e1070bde4bc84e52025781872e9e57793af63dbdb77f231a6510597200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000109b1140adfabd99a10ad9caeb85e7f02c1e0c14da55c3e247f4e2f34f432006033f96d55f1d1f28df2fa37787f8563e96d0b36eaafe088c74c4dcae35d13a5ba3b52ae968f50f158341eb3cefdb400b00caaa4d3d7b6ea991cb6908d77a3052c0e82b2a5f28c8db029361f62ea238ff899e6c5d62e31f6960426f55e653498ba2adb0148cddbd9b50c3eea87bbc11ddd1d27394c0ed2e3633c636ddf7aaed9cb103c96920935e1b671869a12cf2e4e9134f3e27de99fbe0a6f2048a175b5a96014c24a13f64d4ea86788f7e921e35ef3a92a6cbb5e2cb2f9b6b8be36ce35d82308e0a1359cc53e6d7c658174e548676af8921bdacf33931cba62deaaa966b2e30dc88c935cbc08c477b10e9faeb67c66da1deac2228c021c6b067b1351c749652e507ae223068e9ac2b0a65317f91089c91f029bfe1f9d9d51846d8266c23a18023634f4eeedbbc2cd32056a9990e65c2c33eb0f958b41ae96f9db53cf8b35a70783f10ca52633bffdad9f51fc17596c4c01694549e8c7fe8738ed2328cc6144301c12a72fd336663bbe02c906745f91c74a5227e8c7247a00ed4e49bdc508ab23d0a64ee05e38037e0cd1f98b931bdaec96ac2a49627bba72e784ceea492f331a20b5572f72bfa835742da6bcb5fb32add4c90a6d2a2b6d569d5bc3c05d8f962b89fb40e5e798a200bee515d6ad7f92ece710ad7b8ea705295f70f841781caa188ad492198fe6b7e6a93633021f47639d1c7b240d95199e40dc89f8eb435a990e6e469e483b4aef87575aa6f95a486afccee45da39e5743c729886f692d27281ac928516cd83fe2cea612c51c7b6e783d48ab8fcdb13bd24eb21b3e871ae2032536d7ae9327c01d3159ed3ae3849187e4fded6c3b9bbd494a7b15ae78e51dfe05edc99720393f6e093e5dd98e692858edde27d6f1dc38e45720265ea3866a0d3a123668dfc6c091f6c1a2267196d7a7346871251770c037420d0a8e5c7995f41da4eff3a11e3d262e37d53fc80dc9bca556c732b94d1c75b3a0bfd931a01241225b100c5ee1c2d9d1c82ac037f236437cefd1c94fffdca5e58c7113ce5fedc01438afc2259731bee7172a3ee844f0aef624b2058be79c154fc95d63f8205b432bc7503dda68ce4118e8d5c117bb0f512c21e6f67d655d064963d38907dfa4be1ac928516cd83fe2cea612c51c7b6e783d48ab8fcdb13bd24eb21b3e871ae2032536d7ae9327c01d3159ed3ae3849187e4fded6c3b9bbd494a7b15ae78e51dfe05edc99720393f6e093e5dd98e692858edde27d6f1dc38e45720265ea3866a0d3a123668dfc6c091f6c1a2267196d7a7346871251770c037420d0a8e5c7995f41da4eff3a11e3d262e37d53fc80dc9bca556c732b94d1c75b3a0bfd931a01241225b100c5ee1c2d9d1c82ac037f236437cefd1c94fffdca5e58c7113ce5fedc01438afc2259731bee7172a3ee844f0aef624b2058be79c154fc95d63f8205b432bc7503dda68ce4118e8d5c117bb0f512c21e6f67d655d064963d38907dfa4be0c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f2048f2c43ec98418df9e7f3e6fcd964d4bcd802356279b7fff0f5824d2622a81629d7a4ab01bed336de2374a17e4b97338f6f18bb99d246b53105b90d6014862f1945226cd708e68d1e2209d7f1c11660f0b044e6400af76672c727c8f2c63f4c22fd51b03acc233e68925827f0ef75cc95274a555a5a6f94cde32383b3c2300e198183a5524851440ba9092293be000c102bcf54e9e649aa7462137a51fb0ed1284898ae85facafdfae320ee674e0a7af23650af192b3280d49b71d5f31b72de047780b393c9324d25d3cf2c8399bf9cb8b67dbfc80f7d2ddb11c11af25663f7235b5f0d6a17565734c6c297adb20db96542cc678885f50ad8c48986405d7d6b1a2416346f6b199301dfede424ccd873dbda7c06df07bd43968350a9f0a292a833b78cf9b412db73acc90b9342beb7b17ffc913fc85ea41e2158f0352faeae6f2f2e19262dea3889e7b527da34f118e3334fcd9c00de89c02fd3a30950473d8238a4c69acff6501a72e569e9fc5ab4730cf015875903e1941d2fd884e26ca3e20bd2ba18c3d2e232b2ee6542873f0b29ce0d0134785894b5570f19830fe9c017342d45e73c2d1dcd4d119abd78c0f4d6543997c790f46466421e1769f0163feb3aaa0bc91b50f1a5fbfba8ff7a77ebcbbf8980375da512d27db7eb7a941fd43f310023df2f8c547f4cfd73353ae424c178bdfaaf5b8603db3df7d60ee7ba75383e03b4973c05198832b87e7c40d59330c8ef04d69a6e5a88de571e8ff23b9d4c3b1955aa3aa0dda9dbeda17afc46d5000de2114961f0105c8425ee297669b090315dea9c405d30508123e005725128dcd8d0afea1dce0691ed318cfc89ac12c01f6fa38efe1be20a6c320608b2c28cf397c06ed7fae85e181a485b699b97d3b300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001083f6dd722d3b817f948bb7802e447e816cb6bb86ce7072620dd6d6ccacf0d7329aef9bb8f7fe1648862fa7b6f53cb26ba22948691f91b0c2e670c941f3d86d0118bdf87c6aa8ca3efae052d78f725e430cd3274f122c4d8c5ed8de9b22b02a83ee4e10ef0c0c7764998f7b7ec889082ccd535d7773cf1eba27f56856b4791bf1dd4275754cfffc2aa2303ed44e85d8a0997bd33aab2e454327ca010e31262ec3bae743d1deef188c0e22ad3645afb95a32cf417e6a07769f64c1d88f127b0bc18c031e58795fa08d3c174a539660b8e2beb73fd74ea0ff8cdcc3cca7383cce2162bc5f70823d0df698403fab5a47f6a3a09b9be786fbdc6ac957da1bc2dd92e0bf6a73738557c99e3b43694a0169bbdd89a47a2bb19d4699385105d6e51926f27f313c031884804bfb171aa90bd56ecb5533a83b6815f0b4d686b55272a648f294a1f51b3ae28d28a01089d14312f119274567d5db5013e4f4e939d906d7c851e85ff79a071c936d0d8e275b8269008b60a15a9e8fc7c4c093d50c0ff5e315f13225ce6f0d02327a25c08681f6dd6fb25a3187c9ac92876af26b4d7a59ec80400ca5c0f1f614b42176ecc5a7299a4716bf74cd98e137ea22b80ed54026f6fd9231d7f8bf275bd1c8c0a34070f64c4ca12cfe7d288ce415b2a1396ee9a2ba99c3e3588510e8f9a98ab3ed6ee5730744a1ac3f302e7751aed5654522f155733353fb2dd7f4e086c862faa4fd9ff5ceb815da5d1ccaf1ec6779eb5e40b514a943808b84223a497911b2002c0e09190a8a987aa01e4251e1cd47caa66815da3590f363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366063701d30cbb53d7978d008cd3615854317feab4f9fde2db6584c6b4ea9b95e5068b7cb70c4e968fe90a321a45ecb6c221e359af3f511fa60b4bca61ced1e0ae24ef2af288a311bbc5f02334c1052f8d299158fbdf2cdf5668b90bc81aac4bc125c75f1da7984a0e35ddd3cd4a1939fa3b3b9c2f959314eead426e27e2792dea0fec9db111a2bc701c877b6b49a793338e01242570cdb4629ba3d7dc2df4aef00c92b2d6b47058a06fbcb270dfd3adfdc463f7d18316e233d08b9f3170c2b1cd32e8f9e51b4996ea4ec2ea7f70712a16cff1a2df425c7ddac327a68cc9da51c90c5c2e6ebc54236c27fc8b5428590d0438e98e29fe47dd99a493d90f276de6ae2e871c3c42aa04a61ab6490eb7ffc1a8227ee1e893720b35255b20970aaae96839ffdb297410b52868e48d482393c5ba8c24af7bda65e9571f6067293ec2265e1077f591920208286e763acdb3280fb019c294548137c4442d22d87a3b88b5fb0150d0e603d5b11e21fffc0c6b34c7f9f61c2b730739d728c23e55906609311914d9d33a6aa19a6ca282dc3e6b99781ec735554b302236e9caef5e6ffab81e5c13ad242b4c191f61e117fa186ffa0f43c527a31d3468c486e09ef8634eb4f16a1ad9f810f690e544399e4ef64805b2645d573ecb5f0946ae44bc2833bbf5f7ff252607ef096f1abbc661b109b7fa4d9bc4ef5a30aa43b26d547108b9440a08032f88dc5e4ea5642eccf818c32f8b161f1a364cc57f3341c184caf16b339352972f54001cc08bdb63de0cfbbfc22b6423fdda3d8bf2383bc5295d4325287444e61a3b76ed4926cd668e66a7960f9359e61a128be2217824f476fa8e2df022948f2ed1dee3ca3fec857296b3b29fb017abb43f17f590e377b90a1a029653dba3c2189a1cb4646ee806fc9574f1f069b105345baeec8b6242a578800966a654500a1ff6e78263c71a516be36315a67937c01b5d236621c075307328cc3a2b06b312000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012b05423369860fb403ffeb69fe971ec6ee6dc356ed6601cfdb32becdfbb2d0fd2ccd2a3abcc5f675d0fb0abd4fd31914e5784e21234392cfb138d4a630a991ab117ac097042f411804e2ac2f4ff437bf8db40b0ebe6f2b87d296de1ca72a12c7224fe0ede353526f6b942380c63cf96c93e76265643f482b859e38dd75896879270f9178f4436792e42259bf9ac28838caf9a76b1fbc25f800a3561566b283cf32ff5a553efde849c423ee809976bdd875748f67a11b53a453bf75216349363d25150229d41359bff43234625613a0e5f55dc6d462b69519e5a027c0b1a26ba40fdec4b0cd52cb7f7f8d89f1cae36decc781d8410b91c5fa5cabce9e614e55292f29aacb276479b126c66595e67c766bb1d18aba821837c951d308ea301eed1e0a8bc5141b7c54ca6b4b8bfd313e3e9f018e0e36411602fa6d0cfb32ef08847a32b9d5ff6bfd0499b7949f5a0682d098a6c646ca12213cd99f69642816f058ce274130ba6e9c20e2633553dfe05d390dddf7265ce1904e532e4d77df4fa8008914538e9348fd3cd441f83d713f59a58d28585a6464f9582a25d22918106eda803f992a62c734319577d2975152add5df8b88a3edcd30480a4e02aa00979f5d5e0c6c68cc26b59ded914dee242e5fbda9751b619e4d4b125fff9b22e5473ab63210cb8e2d76715d2432a76bb802e331020c2bf477d6bb74b26aa5849c02353d380c19cf88cc73a756d30cd43b176dcd6405d9b4df8610cc841f071c56927a17e512c1e460f8ad95281157078c873113dbb4d14180daeb91a44ef8e04fe5af717e28193a8f8c87680c7a1876234385f642d2c3edbdf7ca4a4e184093e11105939417e6c570737897f385e789dcbc7a09bd4f82ab3e1182aecd80ec9d0beefa6c6d087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e13781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e202a76b804b9392937ec63897198150c8492ff40c8a73ea90264a89317a98b6965158947fb46c6d6c8139c768e67eaf37b8f475833620e501934849dd55674969c145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef62bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b28193a8f8c87680c7a1876234385f642d2c3edbdf7ca4a4e184093e11105939417e6c570737897f385e789dcbc7a09bd4f82ab3e1182aecd80ec9d0beefa6c6d087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e13781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e202a76b804b9392937ec63897198150c8492ff40c8a73ea90264a89317a98b6965158947fb46c6d6c8139c768e67eaf37b8f475833620e501934849dd55674969c145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef62bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd2a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e3000000000000000000000000000000019b4f2bd06f9bad4b2e1e4b1c00000013000000000000000000000000000000019b4f2bd06f9bad4b2e1e4b1c0000001054e43e7d570affb9aee4854bf65e29645e89aff47a48510591b37be81e7333b1bbf6cf08a9fcae4eaea8d7a724774b3c8891d34d51de544ba34750fec2c590536098084ccd24f630a4526a8ec327dd02e337604f5c9549b72cafc70dfac942c255565b8bac20b8c8e750132a560c37ef3df331436801a7896862ec06cba474305abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b3288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc735024182ccb0627001b850504582c756dce7c72a060e0b10fd66001d0bbca3d909fac28e0e5d239105f5b80d47da2bc3f88cdacf4a3d170591082de15897ab082ec95088a6954a2b0eb38bcafc7568bd41c195159aec6025222744eec5f8f4c73502425abe23651217faf5299b77ed5cc30333e56dba19fe08bf95918c03550c9e3b42000000000000000000000000000000011234c7e04a67c8dcc969876800000012000000000000000000000000000000011234c7e04a67c8dcc9698768000000123ea3210f0baf3d18e488ffeda72d1ed08283fff93761e18561d394428b76d9b0ac638a8cf8ea937a5cfd2dca9768e1e91fe046bbe2c220883ca8c33eee65e122850ba5536ba7642c5272fbfd65327d276a5b8fd336422cb3beee5b1199c3bba3aeef6c630693d93fb6067e1d8d25b357b1be696bffdc11d34314f9a694cf41723f35650420d4301512ef7e3d889e3ca011820840ef356cdbc03611a0c5635d92e02372ed819e8b59bdd6f3191761e2c6482b87cfd81d4fe877ba8c5a68af8820000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000111785b39cd3a35d651200e41c061d4e5031684bd08288dc9305389b20d87bd9433a528de3c270c2f5b137117c1cb41b0548ef73002f555402e40ce0840fdeab600a745d2330d477edbce54629c0b016f28440450bcc3c970808046b53e7a46180ed379f8d887badb1e8105a875ca83289701a797ae1f406838f0ceafa61cc98b2bd3ecf7e6fcf7c16b041d2e69e7ea3828c7bcfe0dcb0c1803135e0240fb878505d475f8f5d04062c386cb9d47ac883af77928cd61f8f68f435211dbeca86f792d51c466eef5aab103b761fc119f3b92e194be28b601ebe3254411903cced13e205eff6d4bcc3c0224c81902858a968f0a98a444057097f2a10bc9006ffd6e8034bef946a1459ded3f7db6c06e08a30551c84c77c02497d78c337daaa15204f734da0576a829844441f07ba20457be1abc59249f10eabc96da9dd4acf78233733c4b07b28b5830957d037bb763c83a2bf8387202fc47449aa81f44836f7ed3133b15a53468882414fb62a1419536160f6d7b315347d69c25d7cda2bb1f04c61127c582234dcd87da74a36381cde3f1e1b664a09a006d92ec0b8777dfb460f48b2c2736d2c263e68f45277140c423898afd7c5db831bc0d48684d5b38f3ad43530b28607de340f137e002c520b2f3a42220bb8c0aa8103cbcd29225802aa0f42b18b51aeb83653807cbd0c22225485b616d43c2ac1c4c7f16cfdd17f70ba87f6017d8c78f681639cc120b3e2d9e4e1c861dad4a443e406fbca7a286f777e65a1f276e953175b7be3cad374d74d6de81b0919adb7af75a84117ba1b5060952bca10fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be743036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b843311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e3557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b33549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe860ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be743036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b843311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e3557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b33549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe860ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c83614840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d312609d0f28df34f89daacb5b062f76ba5e1e124926c9ceb5a5f7656919f3a5e969e350c1986d63d0d76252cd4dcc0096252448ef72e67695958363393bbcb800d682b13cd6d52b7a32dda0c03c427c28bba72b3b40b5a8595a3c029cfe2dfe9b15a21d8509a7454e82c6c01ee7f9d53e927b541a171fea9969f871cfc034c9763950cf4d744869d6bb7ca44679edfd6ace4ee3f7c43864249b03768ed6a74a65a6a17dcd04956966bc87edd991719d6b3a0ba18caa2e4cd1d4bae3ffb819913f9ef017e4595818c00b7bf91cb4323c7eb268e321c903caf42fde0af94c8c487ff2e17f2172aebcde50d1f14eb99dfdf7b73471aecd42345acc5df8332f2d5a663731789f475753530cb37be57062b43ebef7ca00989dac207ebd71aec10afdd45f236851d7d884ac33e3c6d15fde25d80bea7e85b54836569bb5cceeb6776c52af9230086247a469bcb4270f361e752adaddcad693d24550e9e2dd444b25ffba12e366fd69bf31349f99c35c37b1c54b8ec1ae6392344ecda412b8bb3f63a32c1750b0e6ef98e78b6be235c07c80773323a95927c69010f61d84e5111bf8a553dbb34f1910671874941dca3f837f88ccdc58cb41c93083d97434adc1f2d75aac2470e994204c31d5f373bd9181cc0343b4e845c2fd879814d14cadf7f06b8d5a2f317af240798a5008543bfe0b9679e54225743718e9bb9930fea943816910cef970fe999ea78989dbb38d7cb5bb19f2520bcc75b371ca868d817301801e58dc1e019bac5d70ad5f06ea847e72e97e2f7f92decd8ccea10fe0953aacb5a049ed02f2fbf036e6b1dc06dcd150c7524c199a86531ae64a74c947e8a2383fba9dd9b873135cb9b5ec77506e1a03afc26ac2031ab00af04290a74ee96b1feaac8230b6500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001233c8510fdefd1051be373145a63f3d0b3c8391854e2feeb2373712e9522160e07ba79839eac401c638ed54a102943ba2abf08720f5afcf283ae566db2826cf529d8780fce55acbc958bb8c65908acb8e783f91f876063ef2c9d0edbdeedaac1047d5937585d72ba222e61c7be8a9496a09521b2fbe810516a60713582c4e0dc1dc61a63d5b641cbe14b29525e34acc7d4da458e798639d20ce4856a923f04c70a108c30300e22408bafccace2b678bfd0bcdecd6cdf0b527583f7c68a5e03802d9b0d158092864cdc80bd7f81e6e108b236879d62260ad5779ef405c0cef6011a2abd8f754f5f1e11b71cdccf462469bd8158e05494e0eb11f116eb57bea5d23c62f296d3ad78bbb1777d5ef1816930cb0dceb601c1d0d5c6ce64f1e7ae143427919989b43163f6d03dc38174fa24c0c2166ad0d4ef6a7bbc96b8e85f9bab6f09ed8607b0e7c07946d5b38c42f04038dc15dbc76d7a89c4d1827b6ad25aaa6619d3fe5a794c541bdb9797a36050ac920571b0232bc6fff677329b325837ce5c11d11001a334306f467ff4775f29b8b2483a4315439864583c245b2f17b39497021ba8f46cfd3dfa734ae04b32ddc2ba49602240e54442c09e8346fc905aa346353820b448a47136811dbbd7085d1d7b5eab48451621851d360cfc9122925795215d5788668a9b163c9d976cc762523acfa0c36ed0b748c88b56d5b2f75d84640928f3f17bff9e864fc1d35d7c404d5e30d1b07c1f82273502e29ad7b1c093033635e73fd9ab0d544cadf42bbd29e6d56fb14aecea89e82c90700369dd012a971bb21bbab7170e70c6b99ec5718f37fd9cf67834571ad16b92e9316a65c98474244de44548e8f18f3946613a8e70c802855020c7b23227b00643ff829a367b8d0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef96423585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf3464b53be14069036820814816fc77c2fd4fc344249cb86d5d01ea21f0adef4a0b9b4ac41ebf96fc97df7eb7e903883d24f6d5b7e4b040ae3c2b46cb0f5210b705f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e3a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a53931bb21bbab7170e70c6b99ec5718f37fd9cf67834571ad16b92e9316a65c98474244de44548e8f18f3946613a8e70c802855020c7b23227b00643ff829a367b8d0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef96423585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf3464b53be14069036820814816fc77c2fd4fc344249cb86d5d01ea21f0adef4a0b9b4ac41ebf96fc97df7eb7e903883d24f6d5b7e4b040ae3c2b46cb0f5210b705f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e3a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a5393150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada04ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf5731945226cd708e68d1e2209d7f1c11660f0b044e6400af76672c727c8f2c63f4c22fd51b03acc233e68925827f0ef75cc95274a555a5a6f94cde32383b3c2300e00def3c798623305e3bde40c330bc212eb2a37209efcc5dd23bc28e0fddc535c10ba3b497946b8354436b36b51cf41e4ead546ea6e0434895375ccb17bec7e611d25875cfeffa995e2c2b704c8971c6cd81281a2f1984477d9436a4530e3889521105c4f28bd3a2816b11eea3c5cd90c6a1890511df03194101972448a05f5bf1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f20c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a120ee7fe99c32d94c83d26a1badd411caa3c8492d596baae97f71cc73a3063390347d2f56610b3dad9030ed5e74d36adc8320338a651d1d837bdbe6b990fff2c11b0daa16a77fa7bfc08bc31fe1aa92fda210280a76b35388d15b6c4ad9515dc181574aea950681ad151498155748d72002bca5f1e4d4c10cf732519997fda81056e200b84fa7493dda5d7f32fe526e7a802395601767ddd14b1ab2e23fefb723a91dff47b058b6c225a280cd01ad9187a445fa607d67b3e847b85bedc0104900d248107c9fb8c2a1eee2abe5c1b515511a3e7a387f2ed571bc9848c2edfcc3e3c779427326f2ef815d48ddb652447000bf5524cf0cb0413d1fbeb02a52d6981109c3e194d986b1e28f4c42cc7db98353f783cf8c9f396974d0359a97f91d7ef2e256dcdd6c3644b698f1281e7f32e389a13328ce195ff15db2f02634394653f13563bde9841b7ec501f58b8626bf49f2160b1dc4af9817c1c23f1e879b9d348081dea67f697903e02c8e2649527f939a049fbb9e622674e26eb61ff6d9a1df6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010543668a88165cd22eee939a44a47fc74dc58d7d253376df391570c0c70a13681e7d364cb6ed8af783a0569abee9efd119dc2af6dc2363d833d1d977138f6add3e6b8da0682e0d04eb725a7f7a4a52e39907ab615b7650242ec8d9b3dc07224c275e66373477c3ef6b5025e2227aabeb10af68478ed81f8b3a8864cce0d7e2ff0a5016fffa6ce7702d88532903aedf715519be2ac487c1f7a66f9486ce709e8b19a6dc0a3dc493e847e738d2e985e2b1b5cdc51c3b2a2b0c89320c5c37783196390b522bb85a6ed692d8ede8748951bce39fff1d5ef46c9fa889b3c7fe3cdbff0198b9a0cfd0be2cefa88fcb8471bce8637d0dbbd561c4dd8b685ce3ebaa2b2a0615a18783347051220aa1d345f315d0faf1b3e56702330559d3b5e621a170681665a69bdcbe62d343bab0f556b5936be5140a456ce43eced6c1cb680bebdd5a03ec6925e0ed96c5d71d45b2d28388d6421823c03d75d88059b6da170c0d577c181ace8e181f5dc12bd292f04f35c393a72687c8b63753939ee5f7ddf852a91b0bcacb64693888c465a0676320ac28d4682090ade0276ea97980c2286aca55eb0821ed91a6f8e5a5542a6d5f715b52982979d4a848b5386f6126e0033d43e1f21f4c83b43af41f564b20da4e188b454ed5882f4ce9590e453a2e5cbf2463985b3c3d6e8f0de2617f28b4c343aef1f95b27e3f7a8a5bf098467fed870d6419633044b1b35dee008623aeaef48ff24f96be03fb5ab32100763bf05a106d6079bf313938cda15e83f3bb8a1060497b65632be7b29965539ad44b02fa864ad0388de0f4c08e18da8243ea2b72e5e22649aa4b3bbd3e0d3091f0570b8fe357b793b9130b3f71e7257dbc15d48d1a1dd9b655b6e8ac51b3643da16287432b78486c4700c7c2c67c448b5392d93e7d6abf7053760648a6815e0a1ff9a6fc61e695e29d43383d3983bb74ac6d26c18295408fac8c1e20e93f36c571bfebd6ace96a1d62d3e6cde06d56b8a1de3e387315bd31a14e1f6b4086d6329fe042ede980ed6d124019321f92a9475e21c1c78cea42ce5eb404fe4f39be9cf1d94fe5254f1292edd382056222b19b2957371a3f6cb1f8267e0b72039fdbbed87b03595444a3215b007dfa9ddd4e64d6a8c8e5c0934e07d98418f78c20b910b93e8f79ba8b5cdea510f4c08e18da8243ea2b72e5e22649aa4b3bbd3e0d3091f0570b8fe357b793b9130b3f71e7257dbc15d48d1a1dd9b655b6e8ac51b3643da16287432b78486c4700c7c2c67c448b5392d93e7d6abf7053760648a6815e0a1ff9a6fc61e695e29d43383d3983bb74ac6d26c18295408fac8c1e20e93f36c571bfebd6ace96a1d62d3e6cde06d56b8a1de3e387315bd31a14e1f6b4086d6329fe042ede980ed6d124019321f92a9475e21c1c78cea42ce5eb404fe4f39be9cf1d94fe5254f1292edd382056222b19b2957371a3f6cb1f8267e0b72039fdbbed87b03595444a3215b007dfa9ddd4e64d6a8c8e5c0934e07d98418f78c20b910b93e8f79ba8b5cdea5111fa42639b21ecaf1ed4e983217b62a6709fcf49a5422b064a6309c8e2c557662260f666d094d1a6403be2dc098fb8f586eb4ad8166745ba69d9a8268d67ce9503c88a181de5af86bd618c7ca6d2d1c6c23247c7fb1d7c35badde3a77e53e275374baf5ec512737c4b30713f1f990aee557a2b2289954c4678ebb40fec4e4b6d266251b54c6d2543d21425e07ec0aeda47502ad99e9fa2f46262cd952d3d00001d0e91854489c12ebe7a3fe60a253723a77be6156df5a2af0472425de5c64eb83db11dddd7e8aad9d0c5bf60ddc65996faec969496034479f8b4e1d72b5460f71b1353dbdcbacf05d7f8445e7cd1ac7ebae5ae3a8fe2a96f0215074076abd6801663e01a2fa1ae50abd4ba011e76fec176614b25d586cd93f115fdae36218ac53a2cada481af7056ec887be3f01208ede13af2c20603e481f26b4b71ef0f216202eff5c09eb16740fed884a0786270bd6ae9367ba870daf98c4d5f53a9b3eff5056cb4030f4d5c2e8923e36a4a17988b6c366788df71a22da6be18e7fead30e22a3d338446f863ca23c98a0037b1cb92ef7481ea68ed51df93ec437c9ee6c62726535a3a6a58badd7493abe4d6d73c1c6827bbfd729d60364f9505a38649e601301085dfc548f37337410e1c479fc2a5308028246c3666793aae28f7afd7a4c60fef7a203ab70c8cc8bef1e3b8603d5af1c670d79d1692a25e7f07f550285b3c0b3ebf5fb6480b30894371dba3a5fdbdd1b1b0fc6efc5b410a4aa2017f7ce63f15c2fa3e41c489be4b82f6e4b3a7ce9cd1f313bf76ee9b065bf8679620a7f95100ceec7a2d04b43381f9bb53c95bc2ea0549de63bc0de1e33beed1f50f610ebf25bc48f8eee95bee234994c721d6a872a35dbd73a770be9d5ced0c0702aa2e9137dd43dc8a7697b1af2f9152ecdd753738a0c0deb79359e5b4c03d65a4cf912a11856441a508a00582af0b0fd3035a2973748c851d8c298709e55cb2b32d70ce000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012cfc197d0dd506bb58e4bc3d3d00fc27d94a54f1c7684f1418ffdc944792ac880ccbcddd26731d80405faa61ebd59c9b87f11058d4fa7f2c50cd8e2348e85d9b0b02a62d19e44abd72029d5f3a8927d8e85d87bafecd7a9480833e9a62b0e9f90ab9cdf9143cb1edb864af81c2cc8d61f8d62c7f67dd93ac4573ac2f33ce70c00c18997a9925a3e3481b5ac16f545defddad3d89a97d9c5d4eaf43182574666a11246a7928478f1d8aa9ede023fe6c7234474a8cf9bdcd4f8184eed44c3dc3831ad020d2795c725e1e100fa30accade6e8d6f2603d16fb4bc33253eb6df46e2510d496007f1b39d055416fbe0fa182095576fe0b5999363b482ecda2355b5f93360cec967dabdb1db764d85853fa74f7f9d5479a8c12480026cb90451bd4aefc0f5018f36948ddcc516cc132ae5f080c9a23922a9a5f777f192c54348a1ce80f1e00601b3b2f47d636cb2dc6fcc7a4b640159cd7447b0049c20a6eb856480ea50a4839d1909c5a4b0aa86cff3a0394a4398a6bd53abd1979776e73e6222a85ce016a1434472b8bbd2729103d116dc05d848897ab474d2d48cd625bb074af87ed1282a4c1c905e2ac92a1c4858099bb0f0d11cdaae18f79d00d45467b335eaff019eb59d0a9a49d7dbeae05e4a34053b0d5a7ec64b724c3cbdd1c6cf567ae9528146a9a418b71df932054d1fe288493cc8de02aee8d15b0088b3b51706eb0842b353b628ad12193ea1f92517ad74e876c71510057b985bc223a807ed49c9eab9317ee59711e9914ac155bc13839407fcc92607d070af29e5c6a3141169bc8a53d3fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb83fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb80b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c3feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d2b13cd6d52b7a32dda0c03c427c28bba72b3b40b5a8595a3c029cfe2dfe9b15a21d8509a7454e82c6c01ee7f9d53e927b541a171fea9969f871cfc034c9763952c762708227d8d9d5db25342038160352c32ee7a89896b63b01e4d1acff3949914accce313f5db11d06b277e45099796f2a6b9e284bbd31bd5b1ef642a2dc7641e6a494cbf36abaf8b8a6a8de1165276533eb64441a7a8777834e338713e31483cc40f2563957cd02b5394bc253c4d0448f634cd65e2e2c3d47c95b581077a6214840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d3126132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c8363f8f67741fafeeb2ce545cfa5eba44d303a5699b931d6c0773dd7044f906f34b34a76e6f4fb6eea219bb2b8224ba3e1737cc1b3c3492986bfd06622dd49953c60975a0e3a836f1d21b415fe01c2eb2874f85853d65345cc5824a08686ff7f36c1e3cf64720e291183435640328b4deaafa0719bb491bf1f643536c5aeffb05f13647199615cd17780a6803a4faed06170d5780e72674c5c32674deba0a522b3709b8e669ea32e887f597fc5b0512f9e914ef1814e2d8335872b85232f5add4cb285e555ab6d8ba93203502102492bd86d49972fc501592cb843a378f3aa52e542bc3108ffd0d085b814b44b3f0faf2047e4804348f99908d3cd663004bc9825b1f3163f13d85737fb86ee16339926dd220b1bd2cdd108e5400ea0618b9b872220e59681b126b5f69214be5e4f3ded147e020a5ac1cd868938d2e1cbdc2eefc9534bc4cad822d4f93dcf65f1272607b7fc1e2598364447fe8bc3209a1e85a280a35bff9de5fcaa2264c0038dc5840593451ea5f384bf256ea8cbfc33330ea528900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001044c1cffb4a21faa2b72d3ef2a41f50d4136b0c65cd79c6f156c5344ab90451c38a0b2f72a48c2fbf421fd62a46e79785c4267c5637405caf54751d5e3b5f1193ec6da13a01fda1d4306aef47a3a4dc6d1d40ba782db6119aabe4e5c70899952221d8490375639faf48211959769ad2d0288ed6cee7562741637494ce6d9884600059813d31a6e99171f46c5fd60a740c4f040e97d3a8356ad90194f57b7a0790bed32894ddb29460d6dc29adffc73c72e93bcbdb6bb0ebfb98e5e6074e3af330ec580b42c2ccc586e00bf5f98502512a78c0d334efc6ecae2dbc64a97c6a3142f199a5274801f3480971aff6c696f5c1bb1abee6cd5c951dc253157717999c51f1f6de1fd35919dbba05f69865df81ae6103b905a5237cbe106f7e71c9b47e60b901357f45ca4bab22a36ec9d0279495ffafd62ac2b3d91eb33d2a6750ec0ac091cf32fc0d961b7f005d181751d3964b11615fb06794c7426a1cefe162cff26356bb147a5abacab46e1f6a850482e3230f668f3a9383ba75696cc3de77ea0e433f43e39389adb70d6c8db2c09ea42c0bdee3a30032348544f6eaf1f224d53531ff87abcd79692f8e301f996881d38abf5f2c4222f0657e0246623f985c0e48b1bc3e4f8000927ff6a281b46f0a8841a7598e413a5e85bdc64fbc6271483dc5e3c2a4c519e091eb4f619ddb9fd17fbc10e957f2c957669306fbe1c38fd9220721aedd76b84e9281baacd12c90f656be257365b49bf5edf710700889a302e39313c9402814bb69ed1ac472966c532d2ce0e636fdc36e8abce0fa067c17f3eb58c3395a5dd360e13de1d90628d3107ef8b4b55279b87bebf2e5cae67f17ea6ba930c6a5a22c9f1ec21e26f9d72cef81074d6f17160818e39ed3c7ec8fb8159456e01ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db3e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b26099d329a475ff0b0e3199fc9c9c66497adccea7f879d355f158054115e4838473662cd65b8a00f4f1ce6603636399b687479ae7c81afc3bc83acdcdba1b7c7ba3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d76919630fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e3395a5dd360e13de1d90628d3107ef8b4b55279b87bebf2e5cae67f17ea6ba930c6a5a22c9f1ec21e26f9d72cef81074d6f17160818e39ed3c7ec8fb8159456e01ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db3e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b26099d329a475ff0b0e3199fc9c9c66497adccea7f879d355f158054115e4838473662cd65b8a00f4f1ce6603636399b687479ae7c81afc3bc83acdcdba1b7c7ba3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d76919630fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e1daa6752bf51b20fb23e4f23815f9c81f3ae94b116bb42dfb669e6eb5956049f328901bd7dec480f910056c170035df1b20463fbca533c5bc3870c994b703ff42ce53ced07446ce4cbfeaaa0f4abcb1f9db63b2df513b703b1ed32ba27a6c3e40ec70c44d876c57b82bb950c382934e3ec0009a81f04f2b33ea650419990bbc823395a400a684d94c6d78fbb9be15c3f755ec66343bd022f90dd2d33a0d5bb6d0acb6a404135136d1257fddd30a618cd231dcdf8bb21b7ee6788bc2a9fab0c8a3780608b24a9456ccb9f2045db37255b2c52432e9a501fe468cb58daa56815043e67bfa2358232f285f9c6aa48a670ae33bc882dc8695475516879500f531a3b05f957432b4d66c307dd8d7a9f77a65b49b53376dadd9b2290ea826fd6568a542e26f67ab7b96cbd66298cf342505f2dedb559fa4be2273dd01899d6c3abb17103e95278400e0261be0173704e35195ed08b526147587391f22271c9aff1acd02e6f28d62bd42c3fcc73da7b517d5baa60819620acba95f0aedd2585cf579b7d35705bc03969e10b81c3063b89f4985eb328621906caf853ca0348347f0337803eaff1fda99cf274ec44143257d36d2aa688c4542941c328302d04ff1aff04470749654581b0744e1b99794847a43930c573081ebae8d115f9eaae5dbb57860f38b69aba7e4f8bb1e46686b7b85bc6cf5cd390dd4e6428059f42828f44a879f32ae97dec5beded385fc5a0fbc4dbad157d00b9605a7af6d457ef6729bf577f581692321285153bfbd269c62de2a8b229adf2e7765fb13f6dfb9efe3f1b2d1a6613c2edca043bfbefe137a27b08a8997d6151e2cc09bc0d9dbeeab485e46e2284379704caf1a3956679f4fed0cc79f4a409c31f28f7570b1a33dbf528767a0e062f244c42c07aa2adb178d863c82e44f801963c1abefa4604560d9922872b221021670fa21cf311d03323710021d3b9af58b09f0e76a3999c34f7c17e93b32d27000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012b4576d8ef39a231c9c53eefea6038aa2b7c2988cd9da315fd1f2e3964a8fbb72232b9d998f7551be5c2cd67c1a4ab60951e160bfc9f2559eaed8bd9bdd171162636070e2596c8ded985401f48aa30627e58637f70e6765d875f00cb6538197a25c7093c25bd8317fbff54752485ecb7ce94df140ad3415d1a7bbbbff92b0c39349b03d643b4d8ba53ca0b337e40b01255d22a9b2c8debfb3e491c0a391db6510eae58c036c6184755bf4c6f3d62745c3a7f219ec1bc6fd2a9ee1e91ff65a8772a6287ee8fbfffebb10731bc33e4976c577a261b1d7c7c2a0bebb8ddc681487417aff1afbf38cb5d929fdd8f167bbfd97ec188cde6ac76c366b5df322615734b3035147674a994a8527993e6a0d905835b22320fa975c911a83e5761bbe763c22ba8d292e5765aadac19fa8a70b69677aeba26ecdee57e87cf2a19807b587ffd25c7d10c7f1ab705f6c34b84af7303ca0cd031dc85dcb691e9f3a821a70d63ab1cbd541087160d298b60e2d5660fe728c32018c6a099566e55f0a7b41009aff80ac380ff2da60e7dfd324dfc72a440557c1c1f1f7f7eaf6674b4f839e8c0fb0e092937f6e28b5febbc9886c61f633b17157e4636a95df7b265f2a9f1bf4d3ccf10474cde2ebe93ead47370cf8b5bf5c15fcdd739ea90514a1cb47831aa86d8a42426ddd5a586b57595b0b47888b4346fbf5dd20a0b2931fb68c057bc9859bcb52f6ed68d278ef40109f6d245669d9b233656cbf644cc81f87404c2c01aeca8e0020cc26c24584edf81a66e0348524dd7fe2a0697f3515b6e4657267fb1186d0f363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366063701d30cbb53d7978d008cd3615854317feab4f9fde2db6584c6b4ea9b95e5068b7cb70c4e968fe90a321a45ecb6c221e359af3f511fa60b4bca61ced1e0ae24ef2af288a311bbc5f02334c1052f8d299158fbdf2cdf5668b90bc81aac4bc125c75f1da7984a0e35ddd3cd4a1939fa3b3b9c2f959314eead426e27e2792dea0fec9db111a2bc701c877b6b49a793338e01242570cdb4629ba3d7dc2df4aef00c92b2d6b47058a06fbcb270dfd3adfdc463f7d18316e233d08b9f3170c2b1cd32e8f9e51b4996ea4ec2ea7f70712a16cff1a2df425c7ddac327a68cc9da51c90c5c2e6ebc54236c27fc8b5428590d0438e98e29fe47dd99a493d90f276de6ae2e871c3c42aa04a61ab6490eb7ffc1a8227ee1e893720b35255b20970aaae96839ffdb297410b52868e48d482393c5ba8c24af7bda65e9571f6067293ec2265e1077f591920208286e763acdb3280fb019c294548137c4442d22d87a3b88b5fb0150d0e603d5b11e21fffc0c6b34c7f9f61c2b730739d728c23e55906609311914d9d33a6aa19a6ca282dc3e6b99781ec735554b302236e9caef5e6ffab81e5c13ad242b4c191f61e117fa186ffa0f43c527a31d3468c486e09ef8634eb4f16a1ad9f810f690e544399e4ef64805b2645d573ecb5f0946ae44bc2833bbf5f7ff252607ef096f1abbc661b109b7fa4d9bc4ef5a30aa43b26d547108b9440a08032f88dc5e4ea5642eccf818c32f8b161f1a364cc57f3341c184caf16b339352972f54001cc08bdb63de0cfbbfc22b6423fdda3d8bf2383bc5295d4325287444e61a3b76ed4926cd668e66a7960f9359e61a128be2217824f476fa8e2df022948f2ed1dee3ca3fec857296b3b29fb017abb43f17f590e377b90a1a029653dba3c2189a1cb4646ee806fc9574f1f069b105345baeec8b6242a578800966a654500a1ff6e78263c71a516be36315a67937c01b5d236621c075307328cc3a2b06b312000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012b05423369860fb403ffeb69fe971ec6ee6dc356ed6601cfdb32becdfbb2d0fd2ccd2a3abcc5f675d0fb0abd4fd31914e5784e21234392cfb138d4a630a991ab117ac097042f411804e2ac2f4ff437bf8db40b0ebe6f2b87d296de1ca72a12c7224fe0ede353526f6b942380c63cf96c93e76265643f482b859e38dd75896879270f9178f4436792e42259bf9ac28838caf9a76b1fbc25f800a3561566b283cf32ff5a553efde849c423ee809976bdd875748f67a11b53a453bf75216349363d25150229d41359bff43234625613a0e5f55dc6d462b69519e5a027c0b1a26ba40fdec4b0cd52cb7f7f8d89f1cae36decc781d8410b91c5fa5cabce9e614e55292f29aacb276479b126c66595e67c766bb1d18aba821837c951d308ea301eed1e0a8bc5141b7c54ca6b4b8bfd313e3e9f018e0e36411602fa6d0cfb32ef08847a32b9d5ff6bfd0499b7949f5a0682d098a6c646ca12213cd99f69642816f058ce274130ba6e9c20e2633553dfe05d390dddf7265ce1904e532e4d77df4fa8008914538e9348fd3cd441f83d713f59a58d28585a6464f9582a25d22918106eda803f992a62c734319577d2975152add5df8b88a3edcd30480a4e02aa00979f5d5e0c6c68cc26b59ded914dee242e5fbda9751b619e4d4b125fff9b22e5473ab63210cb8e2d76715d2432a76bb802e331020c2bf477d6bb74b26aa5849c02353d380c19cf88cc73a756d30cd43b176dcd6405d9b4df8610cc841f071c56927a17e512c1e460f8ad95281157078c873113dbb4d14180daeb91a44ef8e04fe5af717e1bb21bbab7170e70c6b99ec5718f37fd9cf67834571ad16b92e9316a65c98474244de44548e8f18f3946613a8e70c802855020c7b23227b00643ff829a367b8d0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef96423585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf3464b53be14069036820814816fc77c2fd4fc344249cb86d5d01ea21f0adef4a0b9b4ac41ebf96fc97df7eb7e903883d24f6d5b7e4b040ae3c2b46cb0f5210b705f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e3a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a53931bb21bbab7170e70c6b99ec5718f37fd9cf67834571ad16b92e9316a65c98474244de44548e8f18f3946613a8e70c802855020c7b23227b00643ff829a367b8d0a7a8aa593734833e1a019db37cc17f3cc43270da0ec24e2ac339539fcef96423585755a6c8cb7cc1e5fe624c833e80c560371ee6860d438ecf99bb3031069bf3464b53be14069036820814816fc77c2fd4fc344249cb86d5d01ea21f0adef4a0b9b4ac41ebf96fc97df7eb7e903883d24f6d5b7e4b040ae3c2b46cb0f5210b705f78a2b66420d1108a2866872ee56ce69746c6491dbb5b46c54cef5b365ac6e3a0875d499bdf2eef75d79978d11a931b8d22c97777143672cd861f74c9a5393150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada04ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf5731945226cd708e68d1e2209d7f1c11660f0b044e6400af76672c727c8f2c63f4c22fd51b03acc233e68925827f0ef75cc95274a555a5a6f94cde32383b3c2300e00def3c798623305e3bde40c330bc212eb2a37209efcc5dd23bc28e0fddc535c10ba3b497946b8354436b36b51cf41e4ead546ea6e0434895375ccb17bec7e611d25875cfeffa995e2c2b704c8971c6cd81281a2f1984477d9436a4530e3889521105c4f28bd3a2816b11eea3c5cd90c6a1890511df03194101972448a05f5bf1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f20c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a120ee7fe99c32d94c83d26a1badd411caa3c8492d596baae97f71cc73a3063390347d2f56610b3dad9030ed5e74d36adc8320338a651d1d837bdbe6b990fff2c11b0daa16a77fa7bfc08bc31fe1aa92fda210280a76b35388d15b6c4ad9515dc181574aea950681ad151498155748d72002bca5f1e4d4c10cf732519997fda81056e200b84fa7493dda5d7f32fe526e7a802395601767ddd14b1ab2e23fefb723a91dff47b058b6c225a280cd01ad9187a445fa607d67b3e847b85bedc0104900d248107c9fb8c2a1eee2abe5c1b515511a3e7a387f2ed571bc9848c2edfcc3e3c779427326f2ef815d48ddb652447000bf5524cf0cb0413d1fbeb02a52d6981109c3e194d986b1e28f4c42cc7db98353f783cf8c9f396974d0359a97f91d7ef2e256dcdd6c3644b698f1281e7f32e389a13328ce195ff15db2f02634394653f13563bde9841b7ec501f58b8626bf49f2160b1dc4af9817c1c23f1e879b9d348081dea67f697903e02c8e2649527f939a049fbb9e622674e26eb61ff6d9a1df6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010543668a88165cd22eee939a44a47fc74dc58d7d253376df391570c0c70a13681e7d364cb6ed8af783a0569abee9efd119dc2af6dc2363d833d1d977138f6add3e6b8da0682e0d04eb725a7f7a4a52e39907ab615b7650242ec8d9b3dc07224c275e66373477c3ef6b5025e2227aabeb10af68478ed81f8b3a8864cce0d7e2ff0a5016fffa6ce7702d88532903aedf715519be2ac487c1f7a66f9486ce709e8b19a6dc0a3dc493e847e738d2e985e2b1b5cdc51c3b2a2b0c89320c5c37783196390b522bb85a6ed692d8ede8748951bce39fff1d5ef46c9fa889b3c7fe3cdbff0198b9a0cfd0be2cefa88fcb8471bce8637d0dbbd561c4dd8b685ce3ebaa2b2a0615a18783347051220aa1d345f315d0faf1b3e56702330559d3b5e621a170681665a69bdcbe62d343bab0f556b5936be5140a456ce43eced6c1cb680bebdd5a03ec6925e0ed96c5d71d45b2d28388d6421823c03d75d88059b6da170c0d577c181ace8e181f5dc12bd292f04f35c393a72687c8b63753939ee5f7ddf852a91b0bcacb64693888c465a0676320ac28d4682090ade0276ea97980c2286aca55eb0821ed91a6f8e5a5542a6d5f715b52982979d4a848b5386f6126e0033d43e1f21f4c83b43af41f564b20da4e188b454ed5882f4ce9590e453a2e5cbf2463985b3c3d6e8f0de2617f28b4c343aef1f95b27e3f7a8a5bf098467fed870d6419633044b1b35dee008623aeaef48ff24f96be03fb5ab32100763bf05a106d6079bf313938cda15e83f3bb8a1060497b65632be7b29965539ad44b02fa864ad0388de00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf3cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da71320fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf236305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf3cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da71320fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf236305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb00d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed12ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c6372453916333d62a0235abdc8aff9d607499a1e81a3e021fbd93c3fb572b8bbc389927d0b6a22da128b55bb8dfa6731f74ce472dd044fad974689e3e68088fc4ae05e101cc94009fbcf270de723f746d07e2efeda68937cf1a113d256df65a62e859a50398d5c01094690bd7c4a420e40d6cd7c8f80a8f22ccab459621871fe149f70ae2c90606dff9c6e5d2ff22a933995a954c97da98b194a326c1a8f273a5008353339d13b98e36f0b13bd8722d5716e70a207c38d8b94109f1b930653e4794587353ef7becef4701fd7c48ddd54096379f07494432b3e78dabb120d9a6899d6b8ba2e95ad1ba6492089b890b586d57dd2000ad02b2de2810b9a9fd60693652db2b33b5c1466aee6177ac9a3af51be25f604d971dc66d40fdfb5bbf53058f725923b395d2767a380efd7432028fb549887e55415c934c0891b6dfa3c96803d95883828f4b605ba1266003507fc90ee5825692e5b42c6aee13766c476bd2aad570eb40498b5e4e0a6da6148169649f08926872ec2929668cbb5d3543fb2e451ad5cb93a5f08ea13c945767c77470a18da536945d1b094d5ad24e7bdcde78448295c0205a0f715ec36ba898388b8f5e725ac96dc74e867339fd433db5f4968b7d6a40003b95939f5eca67061dc7426f0275fd0df0b349ae7491187b1824f9546ffcc150278af4fb0c09b9bc0eb1e009df4b459e060e0ee115ec2b73c5a990dee811871089ba4369b421a55ddc7ba1ae7085af661e27efe87c2fb52f5030aeb227c090919a45305944254278b46eccd473ad4f6cb49d4e19b1b8dcd4e0286ff65033c350d291d9de58546a4373abb740353db34837ec7a9cf68b610bf6122dff562e1073f6d58f62d0ac08fe9eb8ca3270d63a720d67e2507c4792e77866f651bd02b670000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000136b834818264de18c05c65648a43e824633e7bba4a560d18d4c1b2935a1356b13fa89b6f1e884c75242585d441cf1b49ee2818d2b5c78eb72e48c5b1e062ad090c9b1ff3ba666597be389a3e9de7e9caa8ccbd5f58f5bae592513248c45cb4bb3ffb2b8b9043b3912aae7d74ca812c50e9582aac427f68a0949283a5945b9d903e1f379c5f490578afe11f5479f2e10da217db213ec9deb5af8ae2e49f2cd5bd142f3e23df72acb02a21d8b12175a5437f06f54b7c0f53d933d936d04c52ef911c2afd8145717719a4bfc2be335aa36421d87f05507a064a01ab60c4e47ee5b23fdc50080051e0aa6114c590eb2a8e83e055e451168616a936da84751dd898963ff972147e8c2a177e70ee980a816164ff993f58aad7fff38db78aa83197f8850f08912645b07628734702fefbd2e6d8fe081b7e412a107216867d746190dd79056c307a0b5104a0a06eda3fdf8eb7218f1a3cbaa6f5d7d019a98c63f2d4538f28a192090d553297b6ddb7ae23353ba542be8315221b8a8bc8d493ac046f38a2387587f37e1ae60519a988741c67fc2136a95849558c830af38734ecfa32fa081b77310292168864a0214c4e759f7f4b7d37a608dc9d1d29804d9e2baddb3dd63648d89f220ddc35821a8567bcdd950bd5ff8a7d8ce0bc48abfaef4c74a00e9e2a5bc78bf0b369c8448134139beb58ea65e12c6a58e6cfab645c463d0615bf1506e4c7e189b2793e5cdf88f9feced2d41b0305e5f58cc3db607e507cb7bf6d2a3dac8f664293727daed746120d3e430606ae19df278ee0cf43a5b76d5ff0b66b18a62107e04b5f9b19f1ae1f7823a61b01ced64411dfefbd3a1d74748adefb682759def81fb4a064e60e51e087dc59e52077c2b7f76d095e5f0fbc78752104993b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae90704c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa283939c4e75c5625889a0112bb7b38a1f8b78bc96b29a7824a49a70c8fc68d1f17c6c63b18a3a9da7765feed4484c75e298f0d329e2351994ee389e0703972e2091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c19836e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e6918a62107e04b5f9b19f1ae1f7823a61b01ced64411dfefbd3a1d74748adefb682759def81fb4a064e60e51e087dc59e52077c2b7f76d095e5f0fbc78752104993b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae90704c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa283939c4e75c5625889a0112bb7b38a1f8b78bc96b29a7824a49a70c8fc68d1f17c6c63b18a3a9da7765feed4484c75e298f0d329e2351994ee389e0703972e2091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c19836e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e691dff3c5197fd00d1d0a0de7643244f7892ab4a9b26b3f4238af227929b22c07334ab22fea15d89c74a4ca0d1cbdd19b18c8dc4699b5e6d44a70b9e363033d81210cb754e0c9b4d86aec4eaea68bec328b666a9a043d5d0d875267093633c17020887259d6494d8930c8fe34dbb38b54f2e6ef48b37424d4d360826e2c99c10f5340e52de04aef29b278901aaca40eaafc3602d624e75ececc9c33045c86e16ae0574b614904f04d06536b5cfbd25bc253f053f3efab39148f663b7b5deec33cf3f0720632895548bb04d3cdc55cb4d809cb1013d9caee5a883a975497c80ea3008ce7d1e5e8778bcd1c33ee0e0d3c0dee902d2d8496b98b5aae77454189f7259154726d1e457b749e5a32d9cb269c17087add08c554ac6163f1ba6dfbda977f43ebbdef2711d9803441a84e31a9d5ceddb174d378971a5aeaf3f8ea84a27c794277554cf172a1465b5f0275fb0bb614ee6780d0b60ac0da8edb3fb4a42c9b65238bb19380ca3bcec1b7ac1e2b2b3cd0e595e5a6676b24b82c071862837b86c3611354e605b67b1a7809a369f541ced5ed934a4c09ec3341f991498c701a1288d02cdb763fa0d9da5a9237be078ea30ff6749e00736ac3e89bc196bd4063016fb12796f6dea4a19a43c7fb1bc397f90712063f0851e9e878c83023b0bb77960fa2d86909215b5e65bc3804e43c6806f8f01e2a876eaae718f162af5e148869f0827f3ad76d6fe5567cd5ff9f5a3152bf77d49c9ffc17416e6a828d1f05bc7cdcd020e374c6f0233b15766cc7ec727f49c8e2eb587852cb8d3d03033d6e7395c943ec38fbc0bd3eaa5293a811bda27f8e45fffc232211a8c618b67b2789a6b5a1e2069ed1fb636691fead243b864219818a5f1cb94479bfa0f76a8a63375ac6e2d3c1d73d3be3dd577aa4d76c5a7cf8ce2effdfd40d0b03e02f3c52b66a13020371f84c731bba07333a6189c23730e48ffd1a705d588a2213e1e958371e6294a40000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010b2c5a5fef90f6ef702d0e5962b4055c2240d6ed90bbe518a08e064ed43659f83935a17d94e85338d466a26e8cec263cd4bd76a9acf36b8bd73bd9eb067d28ca030d2723cc61da55c76e4b419ce10f98ad3955d1436149cfe9e33dc74e94a1b327abaadc4cf4387883c16778d0dbd1a9fa72b02d175fa7f39e1aba6122456ee73ca74402fdebf38719074d477f4c8f4639a735df9b862d8f5d3b70957fd6d8e0032124967604896b96f7387fc30032add2330e3f42be40bec69a07da25d6a1d43410a15421460873001c2c5a444886012874a01fce97a9cd52fa626aa265ac190a18b67722a5e865f2b1e8c3dc3f15936a41414249259122a3a36e2742ae4ec60cf9e517e27ff8901da6d2a9d892eab338316526d609ddf980f9b2f4d3eb4bb335e9d361bf71f277f3f434a3970912102ba63073987ceda3d0e2e42ec24abf193b13aec8dacbdad8b119f7798bbf189644b7fa4c41026e02a314ff09ea73cc563c6e9263c90f40500921d7579c328a31d7764000b667533b2d0fd1e941b7844b21652cbacbb7c8c152cb2489a312012cf661aff1c2255e8e6a83efe29ca854a532878c3b4479a5a866ffb038eef57a3fbd7f4e60700441a60950e3360b65e33921383de4bdb4e5f06b940e481e393737a545e86b94714bf7736ce4a00cdc2cbb0254f3bc7ac8d3b25224411240b192161221fbf63de216401caac6d7061256d731c4f71b4256123e68977b870c35111d993b48c95d6a2310de685eed552dcf61030bd0eeabc2371614a6f2be15ecb5bbb22e55845106515c0b05216221774da436bdcc7b0f28b5df31744fb72326829dff98203a45f8ebf0e047f48898cdb6db09423384f0d74a20ce8bb048dcd97d6222ae78c1c3540d2ab8e53c646732492611b4fe674bcb8d5bf7458e93afc08d1574de3d3338a8b745fcb302f6fc0492432e4b0198b43472a408ba716c503f72eaad685bc8d0a441d59c7a2df603fb6dbe1888f8047af9c2cbd45bc8e26ec2c16b2610990411fe9b425651dde5ec16db4e277707fb85063d342ba4371d913d3e94fc35fff7f74e5dd942db530713e924b33aacd81666e0cdfb25caec6c29cdc7179c0c641850ac0f30166c24909c724885055327e9991f3204da351393d63238e8863a34e3b8a0e9eb82c10c5c638db77c36bdcc7b0f28b5df31744fb72326829dff98203a45f8ebf0e047f48898cdb6db09423384f0d74a20ce8bb048dcd97d6222ae78c1c3540d2ab8e53c646732492611b4fe674bcb8d5bf7458e93afc08d1574de3d3338a8b745fcb302f6fc0492432e4b0198b43472a408ba716c503f72eaad685bc8d0a441d59c7a2df603fb6dbe1888f8047af9c2cbd45bc8e26ec2c16b2610990411fe9b425651dde5ec16db4e277707fb85063d342ba4371d913d3e94fc35fff7f74e5dd942db530713e924b33aacd81666e0cdfb25caec6c29cdc7179c0c641850ac0f30166c24909c724885055327e9991f3204da351393d63238e8863a34e3b8a0e9eb82c10c5c638db77c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000daf6eaf5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c832f25e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab3c7b171c9fdff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001191207948088f386917bf54ef1b3cd2a515fe3ac32432eae826e8f9415fe5f7f000000000000000000000000000000000000000000000000000000000000000034160ab27e4cf82ab306b8f1b7e7e2afa7c5e4ebfc923855f8b1e2f8dc687c993ed0489c424dfedab099d60637e7e66cf8a0674b4eecca459d534f0cc25a924b1c07db108d3541b0a69fb2b8508ef0502b72d151ac201780af010e8ad88bec17307b8974a42107de9e30d55ad770ec4535006cf4e4f2f31f49a337afb8b1e16232199840b60b2061449b7fe981c775f82be5fb391f8baa00b283fda8ec9c45a91b35545eec64aea9394f68988ce66c7c18adebea0e9080565dbfa688d516246b1514149622e7424c2a3ade42216692414fa54d3354cd572adbcd1c46ef040536370a9a2cde12a8e78d25e5a73d2a6aef2b39c7a710dc911353e7ed888a207b893e133cb9814a33c3b5f7d6ba0c4ef941c68de09117a87b6f91b3a1c65e5373432d6db675e6d8750c10f475772b635d26589218d3c07434bd0cce6f665306f39f1c41b886d720b748d779f19d8e9596f84239bef94244025d3b4c9e12f30ce82237ab006f3910b720e250e3250371e47471a73f58efe59dd738883505b5014fbc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000083d9bdda6947ed4fad74cc2e358fb2ffdd70d640e5da0d605f3b5860444fd9d00000000000000000000000000000000000000000000000000000000000000002982f9e5f6e341904acdc642c4b2f7fc806edc7e533c1eb962fe3f669dc37571167d061a091cbe6fb53239bd3b4d0803a1d7bc7db610da62362ef186623c8a900f8ee17dd27047d17604df4dd77ed7ee1b5683838445ae4c236faa3a14d14b3230711e822d8fb82e89fb20b22881281206f0157885074acf75bd86b2eb2eb4cf0dca67751c3167174e185c85357a37a66669f8958c0f6e6118012235681677f93235988ae3ce98e8b1e7a37aca85c859bbdca0667d3d8aba812c0eb797e9880804f405498cf703748679ce9a0b63163fddcb41efb3002ec9ded87a1e087057dc3b0bfab67308fc8b79863165f49ce9c0447b570c564cca51ba54b6cef78fa8252982f9e5f6e341904acdc642c4b2f7fc806edc7e533c1eb962fe3f669dc37571167d061a091cbe6fb53239bd3b4d0803a1d7bc7db610da62362ef186623c8a900f8ee17dd27047d17604df4dd77ed7ee1b5683838445ae4c236faa3a14d14b3230711e822d8fb82e89fb20b22881281206f0157885074acf75bd86b2eb2eb4cf0dca67751c3167174e185c85357a37a66669f8958c0f6e6118012235681677f93235988ae3ce98e8b1e7a37aca85c859bbdca0667d3d8aba812c0eb797e9880804f405498cf703748679ce9a0b63163fddcb41efb3002ec9ded87a1e087057dc3b0bfab67308fc8b79863165f49ce9c0447b570c564cca51ba54b6cef78fa8250cf4744978dfa55935648e4fcab96ebd33e91eef20a37884bc15fd66c82c3f0325d748e65cffce8e1cf09924474a2e4fe7a8905061b1795b5a6792092ffcf4f91223dc277bc3bc099279c7ae8696045e665e40faa556cf48884b19d8df5eaf5510bd10672d5ad277e743b3964de956c989de2c98edf5232c2bb60ef008a66dce0c0a4154e40c2e2e1c318c762a15901802af7f7c0c739541a6229a3d1de7a7f33770ba7500d2a77b885a6e4b3ba0df84e485d504803ed74304deff67013e092d35a2d47907377ed6757fb66a488bc3e870c5f37d2b41fa1a6f352361f6a885da3e69c8cebf0c352fc78c84a7593737392c05e8dbde96a0b602aeeff211da43f2387802b35ef46d465536c7a5125bfe9b85eeefae2986b2a5c1676fce05f4e00031db538e220d9050deb695a20721092fd516be72dcbf54583fa16ac019dccee523bcddc963198d0d17d8bb3c7880c7979d283543419769d9a6fe661967c16bd03cdd3171d8a6ba1b12f5c44018b64cdd7c174aa5c11c0951e92f3baecf5f282f20e7af8f0b5c9e9d3821aa01aeb08ce487ff39124352b14e54cc19ad587511aa096ba6b275a55ef9fbcbb3456acc7ae6b0bfdc12b9a65c94130f8ff3c75c9d3b2f0c5c00e94f0e4c596b145fa78f83b4d52f139b6fe05611ae57dfda3e9842c610f3a3ff16b0f1b3a694eba058707c4b4d178560996ca309ead55112c167bd3c2aa4d7d371480cb9ed5ab4f5edac4d6635a4fcda921daeb3e707530de88dd4c632b7726c1ab587e622d7b798dda4bf50ff0d62fe57a03eb289e7ca203238556439ec6b5b9399c8c79e489a3ff704e833ac86e479f2decd52c3447487222c60c2356030f62fab83d1c710b6292adeb53f755b780845f55d01147b4f064d2656871cb1fe07c87c1353fb6cd6feb039bbe516d6a73c7609eb18526807adc8555e0018272805373e5941625585177b3b2657c98bf8f154a011fbf54377601b907b29000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013d88d9b3643a5e26f24a686056de5710ed73be26f781b57b947714cea83595061714c28f36e6a0bb7fce38b4a4188786f4c3e17aac19a4295bdaa940007ae9a70fec20c3787d4f80f01f2368b17404fc601c4d0c0e431bb537bce702654e94d607b902d45bdb3966edb2af4059fa89c202d902326a290ab0e418019ae03276b40000528667b0b3cbb6450233256e4385c73f8e88a8d8df4a2a72e5d35c32a7d934bdec6e73043c31c39ee58d71b82008748c0320976647ea7eb39c919a5f70633b9aef0d4f5031ff3b36423f0b6bf6feea72e29c28de836cdeeda813944b8ae00f688cfe9109837d761a078c4abaaa49f4596776dc4bb4eff5a1ad1a8670cb7b2a6f3638a6468426a688e01638ab771ead20f0f8fce4e79297167ddb6f4660fe01a58777608b51a8c029fe43451ff82b2304c3ef795b256e1be216f1a86c444a0b68edf7166318f0cf1e17d84dada03414fdea4efbd8676d8b292cc095fedfe213ca1ae9e846b72658c173ca5abfcb908de7cb780d00546ffc1082bdcbe963b3049c0190edec37fc28deb782239729ac3a27b92ff51732d03805fff2690c2c6d0f50b7652245366d90ec1d406e7051c05772ac2633c57448a2a1a2393f020b70303910ee7828304de778aba398627d83ba30125a40c7144975967585b082ea2e26fe4283a6bb72a5849828a578ece638d29a40c983d148d45de706b95681f4f810eb41ecc53c0e45918513c5b098382d59af80daa287388b485575db17306bbb0005e894755d80b8b0b0f28e21868833df551b4b814a485dd2dd706f9260733e0f827f3653af7ec51f2eb5ca1c0f114f056470c71e2427c467ca25bc5379036b307d80c9ac50813ae0d14a35e3f0eeb11ce22834eb28d15731630b30ac86fc960d8c7c0fa26d79d99be98cf28c4b568af8af9ae78d67cdba6dc58bc0a15d1116327383f05d9286266416730d73b4a9752996fe147be52b612b67a52c5ea2eeeb03be6c4e2c2361400b8fc0bcbd78b0b6b9276d89b9ba0b888bae89d626d1556d3c4193b1d3dc9ebff4703f4342874f49691f2b724f92ed930d7ea716d92eaa9412b81d86dcb0e64039cec3afb35b73919dc523b0a0a239aaba68b12ec216ab212d47e279234f19bfc6313c504ca48c6e8481754b68aabf70dec47fbe3de954e00f827f3653af7ec51f2eb5ca1c0f114f056470c71e2427c467ca25bc5379036b307d80c9ac50813ae0d14a35e3f0eeb11ce22834eb28d15731630b30ac86fc960d8c7c0fa26d79d99be98cf28c4b568af8af9ae78d67cdba6dc58bc0a15d1116327383f05d9286266416730d73b4a9752996fe147be52b612b67a52c5ea2eeeb03be6c4e2c2361400b8fc0bcbd78b0b6b9276d89b9ba0b888bae89d626d1556d3c4193b1d3dc9ebff4703f4342874f49691f2b724f92ed930d7ea716d92eaa9412b81d86dcb0e64039cec3afb35b73919dc523b0a0a239aaba68b12ec216ab212d47e279234f19bfc6313c504ca48c6e8481754b68aabf70dec47fbe3de954e02e26f67ab7b96cbd66298cf342505f2dedb559fa4be2273dd01899d6c3abb17105f957432b4d66c307dd8d7a9f77a65b49b53376dadd9b2290ea826fd6568a5424100b05774826b954c1e98cabc2dcf1725adab78078c802023ab2171a81caa32deb307a3d1a7844d20e88da87b5ae0239b5c2e49342701737b9c664a4fd6d692ce53ced07446ce4cbfeaaa0f4abcb1f9db63b2df513b703b1ed32ba27a6c3e40ec70c44d876c57b82bb950c382934e3ec0009a81f04f2b33ea650419990bbc83a4edb1848cd58bf5e6cc00d6fb556214b5da1ab8f47ccabe7073a2c35555fb90fc904ba5d072ee14ffa59026c6d13d5bb675dec29e5aa4d2a4c867015ef710c1ca473c5897ba6afac2e70e9ee55b99f57af0cfa788c89cc309d5340dbff5b1a1d4002fcdf1ae6d1befa0240fc69b5e42ba992ec68df670cfff2aac3ca7f3119101e972d11acba7992d63a5c908d275ef0ce68952f83c017a99d2f00c87c7f501992768519abd8e8951392e968cf4db10f1dd7a0da26aaa1a62f0c6c393bc8522dc8fe7fd0fe6c894514898011ecc3e0e47cfd46463f02f7600715ec21d283ef0c1b7842979820f82613e9aad8d2aba29edba2a09b2cede1d088e81884ac08451088fb82f1e385b7861a873f15830dfcb8d36a59dd5f9bea60146b28575352d62f77047d0e1c7a4879e578c0ea7cf20369732ea22bed5d313918c5c4a8acad2c0a2f4974493866cb99197e1ed23cea20adf3be785b8a16c65b5bf5b831ac99c02cd3801e3ea3e5113e3c569c78708d04a316b949a519756a8befdf7cfc1fa2fc13d8b191aff11d04939023c28ddb3f1fb250fb2eb481b3415dd06977b68c6a5b217deb8a8ced2f5f0796c5eaa9793e68cac29744c57f86eb3050f48112eb752f19ad682ab4850ec4a1450404d5e2c23b89c1ed9adcc433fcf9c5dc59b5f005fb0524eafdbcf2907225592563011429666a348a0ec94980212de254e0f48257c5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011fe076ab6645a78c589b47d2f65c34ab4990b78560a2eff704a299f55044989b16bf6ab8aab36ab68a79d0fad0124c92d9948d7f0a96a5048cbf0153d7f318991b15ce22c7d4d587205c49515e2a9195693e97b5fc819d20a4a8d91fbacf6a5c04e7dabf7f7917bb6ac526a75c9aff9eba55caa98c701365edbf7ea336f50b2e25d1939e98e7205ab9aa68c0b863a3056faf7ea9bcc4d9f9708f0137275a04091a4b6eef30235aa80aa9f38a9f72bc410e485fad1fdfe6f14698732a3026cd2c0cc7c0f33e7736bc16cf636854945685b9ff5100582566e804da7b44034ed97536eec3b0150752412fb82f1c9b10ec83d954575ca130366985b658af3abb1b761bb05b574aca673a9e25e52511fb2304461c2930f01a68e3a0b7f2e0eb521cf63c7164b15170838dfa186a5dd42c4cab6a15ae4390ed3920f86205325164c92015e7745beda583edb83b38e94a73a17cb95a6bcd5870296f7f68b1fdb0e0735c321ff981b6cdeaad6430208f72ec72875892aea934cfd4d88c8a8f6f8f9549be3813422bb487d4163ab51e26abc8b7b0b589ff720ba5d7e5f57e43378fde12f31bd976ca5ba99a537f15b69be63ec3bbfe56fee02683c84e7e568fe1183024eb17b2fc87bee2be55d1f3061612bcf7a72b6b07c00fbbe16327dcf0da81a547d62a7c5210db79d050a0354030deb372acfdcc90eb0ff6ac4fe7b26c5dd66e87650f24e31ffc0bb6351d30985b0b453c2e1154a8c07806ba75ca16d82a2e097acc2f66a924eb3cc94f8352790af83ea4583c6d713cdf1b2013573cbeb473b83cad34016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe00bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f861250210407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c3bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a51423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d33524b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200634016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe00bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f861250210407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c3bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a51423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d33524b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200622e1e3e0c2da50d7d1f1c4021a132e35e8878c4f713eb748ab3427d8f6b72d570ffe719b1ccb76f3263f6bdf6049b018d0eedfb3c918d560714ccfe6f71b753b1c8da40b524441fd2cc45ebff9a1c1e345dfa49e131e3120c317c2ab7c76eff6285e227dcac39affcaa9a3843ff26167e7011a6f7ac8f89a3b79077718e6e22b32e0e89af62d4b5e0a44b1fdae3b06376c9123be386de90ef339f6846a620c8509ae342a78dbce2f652ce83bc8df13cae92ffd4acd96c384d84b5b62829aa4c6374a86518aad0cff9744827bab36a25272529f9a68b28b9c99ecea69bdbe3fe42179eb6829f66ce011798143af6163c3437fa534bd33624c60dcfeade441f79320e6a6375b0b5eaeeb6fc87a8cbfa390fbf15474932bbe08a8d6ecbb879cb51f274d3dc3a846fc8924f1055fbf4f5ad5848b4b6ec07c76e6079ee428f532d6322a2c97f9bb3fbeda5575233ccdd411259fc4b5e4b8b63c39d2f879a756b057f10d76be4296c17db6228e74b86fb1e591ab624512c8b43fba93293f0a00ee873b00907813eae16d2b0149dd3dec4b0fe6f3df680e84f010b22ae146688cd1e2b507a36be71870ee0d0f16f09c5fc3ee7f6a569ed8c56b2b20ec67598eeffda89c19433a50429a70a1dc58d7de2cfbb511919ab59bcdc092e7bc6f932c979f0c8426bcc5afbd658f5e23a72821d3044aee90abe3603b8c6633dcbd9dc06860f37e15728bc657fc4890e0d015738ecca3e0c89c6236a5a01c3b1e2d932131f3968439c71b52906f2b9304b68400effb66067e06ad7c0828691772cf10cadd75c87a2cd71a0282f17bde8a35b159e9b29c6b9a05a96aea3adf56bf4f789a490ab46e2ae18ce8133c8fcdf73fb524cb31fef60d556f4290bef56a9efe61bb6afe257b159ea8a7ccff1b6a09354fd0534b67bf51f4be73a4a8dd2768be13ead72846bc228a3f609ab9c8c0061db17bfbb14afd12986d67a518942178403fcc1caddbfb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001058cf673e5f311860cdd06e0424d9eb5326072ff2483b035bcc29e35e9d09480342d8b5b6b17033da3da7fc2890c403a4c4b2b679a994423dbc506c02a54922a2f4d20ad1dc1552b8f34618ba385203a5e271d86c563e841ac1e96bb490d06402cc70520f75ffef86b3b0ee8a50cacdc84d3ae0751441fdcd1f0651c90d4385c2184426ef9677bcaef60757da350582b886d2fc9ab6599274d2714baaebba032216fa90daf5d676c9c5d797a481a0ea95d41b8da027456e18e44beb95e64c46f033d055df3909367c6a38ec29074638f80d603cca301808ed2849eb3ba29588933e0ec2052087dd8d0f6b5281a8fcf363708a935ba6898bbf5b40692a4e0d0b62aec6f880d2e8c26cf6fd36230827ebe4ff05813bfe7d908683d8e0da2f7b78606b95ab23526baf4c436f0ed0fe21e5c898447f72a93e8d7a5936e4db0dba83a1b1704549f30f0930a123bc3abe3b1beb6b47bafb0d169ebff4d34645ffe70b00d96c46ac3c3419d277558dd901363e4d8fd7f3975874fa9bb3beecba47dc0fb161f760934185151aeb7ab1f131b9c6700093c4302a1308be18d192b12139cc03dcd42ecdc191d180b1329a37eebdf05b3d7c20f2f886fa89247b9ed95fa9b1e048b4010402a4f92fdbbe53ca15490609913fa101bf8a93302ce8b6dce7575701a337811cedad2dc2ea811f8e101ce6913eaebf50f6c1dbc3996d0a2aa1fb4612b901d22ab3a45736840d6073e5868dc00d63a2fd874ad3fa4b5d8344e647c9005d4e06320a70207e1562e8a9b71cc585a0893efce48dfddfd20dfdb7ba6602018c9a65e9ae5bab13ad4f62d3fbee56ad22fa0754377246afce74eef4d0133c5273659a1651a454ec52b09d2c0411a955016f886c5d5d4b09c45e1fdb2fecc3c3bf03fd9067ca5762628cee23eba7b15f8a7894e4806bcfb575759bf810602d8040fc026f9835a89d9d7311dc14584ea299f0fadc1463c2041d5d72d7ef9fd292bb13f3d206f3b4ebecc0a6b39a4676d522b4a9742edcc7a4ffffd09851e0e34144ec0c2df90c4b14133f594c65b9892d01b4e64c65f2ca1492d33e37ae1f1cd1a763c31a22c2889b9fc3418203605223404aa0032be1310c4785e68999647012589c3ce5dd3d7764603cbe7dfc9faddee41eefbd68ee60ad4b4d2846669b90018c9a65e9ae5bab13ad4f62d3fbee56ad22fa0754377246afce74eef4d0133c5273659a1651a454ec52b09d2c0411a955016f886c5d5d4b09c45e1fdb2fecc3c3bf03fd9067ca5762628cee23eba7b15f8a7894e4806bcfb575759bf810602d8040fc026f9835a89d9d7311dc14584ea299f0fadc1463c2041d5d72d7ef9fd292bb13f3d206f3b4ebecc0a6b39a4676d522b4a9742edcc7a4ffffd09851e0e34144ec0c2df90c4b14133f594c65b9892d01b4e64c65f2ca1492d33e37ae1f1cd1a763c31a22c2889b9fc3418203605223404aa0032be1310c4785e68999647012589c3ce5dd3d7764603cbe7dfc9faddee41eefbd68ee60ad4b4d2846669b9001292d7ad405fa37806d82528bc3fe8435a85e151b1fdf1f84a5868f532008b7021658174cef8b7ca01d1325c91a7d18b8dc8db38e6a8a2490f75e8322349c589008b57e0805f4bb851eebf6269807c7c8bc1702f106a0fe1917f009e0d94070b34be1e0f4f65587db243499b8b6119fc53fecc9d8d6fee108adfe74bf5467f4d1893551854fec21b56a4fe98d8269f9e008b625f272cd03983e56987d34756360aed5a5fe4ee28d41d16d38afe5e1f30cf561aa5ee3b924ba91850578e01490f00e36f818aed72e9d9ce471abcc508f1cf43c096b753ff77aa8e927cf356a9b83e61b8d24cb0476c9cf12eb8dc052e293997707289505bfcbd2ced1efdf18ebf125c534548436e43bf17fe0c04c54749cf0b77aa2d2eed5e1e60a2d2e8abc0510461dda8d89f9244340ca170b871686ead72c0f6aeea72a59dcc85f5bf2f68613e5ab435fc970c298c82d266223fd9983bc6fe8ebcbfe5283127d7afb5c084202fdc85526d913a8fe306f6bfbf634ebdf8e773a1cd6871a211d15c1fa8ad94d02ce1d0723f4110cfa7391b74da3f9b403bff477b46e4f741bd55c759c06b6d8729dc607be1a1efb84beb8407e2f7147862c58a219e8161dd9804925be76fbb2d287ff2c966a17e8b732c7a0421ce32d18e8c868497fa849c1f894164013c052617800d36995e81748cd385fbde31cd2e93ba12777152747f79a3ef88fec3fadc1f91510ec6eb76d121edcdc0588234cb766490562efdd97194f39b898c23e4202bcb9008605ecd38436d5024a2365771ae9dd1bcbb0650dfe9ca8ad9c571a8d2078caf70af1b12b5e66faef300ef19583b8a20b6e5538ad9079e8b51e37487bb2c7839689d99667a8c349c9dc10e489663e4637e25da3ecb9bbcce1cfe7dc58b21d360d1f65200e87eb191af8efd34220d593361bbfde567ee157126aa31970c3ddd68c5cee4775c9e11cae233b6b0ed6600279df1b42be3a57c592bd84e97a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000117e705b62166359eca4af2691e094d7f2990884723ea69107e203f09cb3dc3a000a859fe06c1005b18841a46eef000e4fb2608fc3a64ae669bf09003b78d27eb011661f47675ce74f40a7e41e56f7949f83d2a2768e680d90cdb5cf44196fc4a24b7d08c7f72cec46010f8013b0d6d3ef9d143faa79a80dd9a96d4eb32d63b0a32aee6ee6bc3ee2c15c8a6372b18dcc8cb49487e0605994c24af0d1c10bb3de818e4066dd108c6507dbf3ae809355d10a3d9f81faed0a4e81cd1703796e1c22c128fc2f5b66ad0e61deb57a4d705212674eec912b3f42c52e37df4e904d11d0a0c4410ebcf167656c2129eda4fb4e6ccfe526ff98f6d8b71bbe8638ee671505e38761188ce6b679c55f31f55cf1a11a2ead1a0c7d7ee8bb921c936879178fb9e0a755a6a94e50c9ce7898d542db5374190eaa941fe50c014ef58753c60b5ef151bfae37f15ac007d3a06a15e0dca3345139470df6e5cec0f408af496a5cee4312af65363af6d8744a5754edf559185fd8e556347465c316b045463841813658c3346a5cdb0b74c416f5ef2630d06f9fcd78f8885796a5896d556521a906807f220a613285f7a22284a6be25f8500816fdc5175ccb8bf479d9e7e80fe17a62fec2e5903ebdd04877e3043c9ccd016f97689be293ec06f2bbc75925eb18e6eaf6c14d095adce808102a7a615ac066628c5f24dbc88a3454197cfb8e95c9f7daac80f5f60555b6f7a46769b1139bcb2b8de9a35f56cc3fd8b2aa30891f99c7e04261053a5429b0b394c23862a438f07a24ee768c6b53cef052d9c52b86dedca9ff63803980f2dacf1b806e0c9212adc081921162fc2e03314840e70c2dd87f3fc7507fc67f0d2530e47f91f36ded523f7e7013069392919e4978abc6e0f780c038c1811f84be460b8982263eda5d64c287d1c548ade3bcb8225e37f0a9fa7c3ee4527ee07b41b9f4767dd9c125a29b3d78305f20e1dcd8176f5b5ae264d583c11bc3859d97b75e39af8abf3a43d2f7cca716b601d5b21ac91a1d84e043146d3a75807a626848a1c6507540c5bc2d083358eb6e67ba0e7a06779c0df2cbbb92c58a919c13f694d7206db5bc23531ed6ff4368fc62ed7832af3bad4d15142622244b4263ec096b28df924a43dcace12900bc992806a2486220560c45bdfaa9dddbb4d3803980f2dacf1b806e0c9212adc081921162fc2e03314840e70c2dd87f3fc7507fc67f0d2530e47f91f36ded523f7e7013069392919e4978abc6e0f780c038c1811f84be460b8982263eda5d64c287d1c548ade3bcb8225e37f0a9fa7c3ee4527ee07b41b9f4767dd9c125a29b3d78305f20e1dcd8176f5b5ae264d583c11bc3859d97b75e39af8abf3a43d2f7cca716b601d5b21ac91a1d84e043146d3a75807a626848a1c6507540c5bc2d083358eb6e67ba0e7a06779c0df2cbbb92c58a919c13f694d7206db5bc23531ed6ff4368fc62ed7832af3bad4d15142622244b4263ec096b28df924a43dcace12900bc992806a2486220560c45bdfaa9dddbb4d0427665ed95b17a0576af512ebc575a225cca770747fc11a85e3405b33ad6bb002137e04dacf9afbc347f2bf066d88f624070fedb8de8410940ab528ab8fc49c0df3103f23d9644fa72a1b6c1b961a9c14fca4bc6d64a098a22453fbe63b716a3286eb1e3ecaa056affbea5789533a4e1831888b716c307e647a2160b3ab9f08125598985b4ae56415db9e2bb332c7ecbf1e5b2ee5b48d128e16c3f52244ff7e208231a5dff2845246ca0cf5e27115659713ebef7caa9effabbd28b13d9ef25224281da4a46558c590fba2a76d7976627296ba2565c13b814a8cd3526bf9236b1c1053f85563d3a585d2dccf73935a30dd352dac1a3928520cac7269dbc179c021fb658f6072cee97b6dab3dcbac82009de512e271ab489886ab5369ed4941f1174fbaaf88be79d412b9672c9d372a7d2fa63a6f94bf935c8b22a38f99927d542bb8d14cbed8fa33ebdcf81756d77b6012cba58c3352a47fad441cad6767416e06a4fd9419c06adc19a2ad4699e30d08387f0d465988af971f1e8b895e959ff22de5896202cb8410016aef80f8a46fc1e77d4ccf2768976871259c95e61722e80b6596dce665c4ad8cbc22e9703f3cbbe60e0082df02448ca0a85a63a0c49c5e1695ceb27a0d0a3beeb188545b6d4544b7d7125f92a9040be602f9064c84a594296a314d85f2f5c4114e77aba492babb6a6f869c76a3f50fb32a37e6b37b5a6e0ebea9a00086cb3fee4fb2f6f84ea714ef83cefcb503f4d4c5c5f442cf59d8ca08cb7f09e36e97d5f4c18a4cf78d11226b8d0788536d4eef64cfe4dfe22e991d25bff121f2036530ba545f705710eace5ddb7e1a9491437b339ea2f4c65068fa23dfa70579ce7036dd3df8c67568dde38ecaacb516b8117599503d7f89c68bde2b0ca606cf7a83fcfe94aa78a0e8e5e3c589ca2605228d2e9a792b8be071f4a60f55fcc72552bfedbd7b0582d62f81b5a1c13638df79aef238742e393cd146d300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001147515e990c23c32dd9ee95caf7c88b0108068d8d38ade4b8da7a62f46c964e8047610a66908858ed7764cd015b8d902d64d60d84efca2349cf22ce3d9e8c79e2c521edcdf103d886c61b805e155bdaa09747cdc1bc637db20411193c39b1fa92eb07571dd93b2c9a02a7d23812607ec8f617661c7690ed9e5ad059cd25103a218c380273e865aab4244aac983888993a1a84af71b758ee9e80d51909ecc404e356c50764186ee70704d69cbbc368428a585956a51d21313c41d78a9e212df893475d7ecc8202ba723b15d4f29c9f739d0ae3ed82d8d835a0c84ed67db96bd652b28606b0d4b1d9f00a73c5d8e64c31554ced39b8af6d5daa001b8cca94a0db62cddd68be1393e79cd69d32b47248226a5e2892627fbc1a6361c825911ff84510392681b2ea9551e8d932f12a1906bad67c94d3c2821a4eb1b9af94be4b1d1f83f67bf4dd357b084b377b209cbded25485adc5f4607479f9a6d34e707d8db6062c7c69b4e4ffc2b1e3b43e2ec69438fe3ecf5c171e7a66d4af8c2c8d5b3aba830bedeec1ba84f00b6923d21d3bc132b4fec67b7d458854cb0fd2db854f4c4c7d07feca3455ac7e5e50a702a5564648b792d3e9d8e354524dcad4c6a658c1eb600bbd6a515f9e07b34c48097f33f8fee56702477db5a0e89d5b0f952d904bf95a0e6b16347e5278afda460e914fee1ec201f30cc58ce97178b88f4ca55d623ff01868d0b70bb8e9ef2c3842c5867bf3ac2b2c45b10ee21246b1866da3b57f4c7f167d2e1e1e7a9ab759588ae2764b772936b41277e7c3d64ef5328c2b604d9a93039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c98039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c982dca7189c088c4564e4bb07077af0a2648cce45f2a7d44ecaab9bb6af669b18a2d3c5a2ae3b70c27632e5cd1962a6bcbb8dbe78a8ace801c75ea53f1b01aabd6258c009b6c55c415c7005a595075d8836dee62fd6135be0aa4bb5872dd3440980945e93b1ef5f36d66097a6cc3cf18416f1c5ec2134a28f2aabbc65a15f2621012aac1a59c78a2b8a13ff2c356ff5ddb259d2538cc45ce530648a90a8728eaaf09bbdf8fe995ac146b6973388bc2ed59adf49fb0089ffd8ad272064a6e75e1572d11f1bece483e5c430c5546a5cb8506ed18fc518858c674907a716dfa488ae911a7ebcbd7de1a58204c5573477a531c0a59e21ef22ada2803ed9657cfe94bb01b3b6514a5e576d3bf2166ce9c7de55051cce16420aa35ea7603aa0f35bf89c41aebe5602a8f012b625ab7294163b3f936535be6d1710961e568ba8e309576381ad30130aabeb00b66c906be2e8d7d9ff285cfae1f385eb5c86e869d67d90cbc12c1b62e5003e73e78d68a779fefdcd02647cc774a7a7f465a023ad79a9f1ca42ca98ddad3217793eab3f53637db1d568dd1ea9b86e6ef3fe2e54dfc2c620de1097dbc99fd53006b36c828c1a6067bf2fa4e52af6b34500c788716a139f2f21c11bda87aa892766888593e0cf677695d577e8eb4b575e5ddfd7c936dfbcc97a92e425785576d899777a6c1f3098896a2cac80a4753d7133d9bb09d7f0433685908f75423fcb69e61229e0ff5a461159015399b25044d7721a2a50d4191606b2925e44d87dae27f93d4aa5ae82d8cebe2561871b32f8a610516f1c065b987809233c5ea00b854ab2c4395dba0352ae790e88662aa436f21f63cfba75b46eb66ad25543c0608822b2d33dca61e64c056c89bbee4ee30db33758f50cfc345694fbb3ae4ff0867b276608e16c9c309d777d0db604be0024bf69a2caf81ab5ae236e830765f806c36a858b39a54780bc7d6392b50b6a995947f3c61a4eae711ae2c260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000134bddc08177336a1b4287c99f02d8108e24f8415302a1ace434c77c0d071a5b711d61344518f3a04578a5edaf95d32947305f44672813495d2532c2bd390df0d06b3ecd58420572f482953a8df85d4ecdc68bba5ebcae5a242cc50e9a70a68bd14799e19fa2f21726f2eb57e934ad3af6d8b3978609520f1d39beadd5f0cd7491262432cc5a7f69ed3b125cc582e04bd50081e3692de76187981e7c75f86223a1bfe019acadde7a25602f8734b37cf115d71ccc835748c3f1f427397a9e41b303500fe9ac6940270afc1af5d5f77e949fd1423e8084de786433c3ea0f1ac564619474c571816fc60e8fd422d8218edf7a7f4e3eb9fcfb755585198446947901a3773be80f0afd8a3cfc2bd00e69c0f719fa078f467dff900542e085346ca6db613f3b6ade437a51b3b7a0674aedafbd57fe7edad99c573ca7ce8d918bb6038e724a485fba6543a6ce8aa79d21976ab0dc06cdb44e18d56ae6784d7f22c3eb32f132c5031efdf30de686fea29ed907be4a03dfeb414393d9cf0bed96280f718ff0e62bf12c8cc87a4effde4ef4670debeefdaefc6855080703f0416935ad9fe4d0589f9e34764e6c4c9ccefd34b969cada1bf758fa38c26a89ba38b984d34399028b4f4ece5f8625e4f5a7dfebd6e7ad593c510716c9024a31c4f88b4d1e218ae0e924bb03e55fc5f87d40bed3fe5584726a8ab0146d7c7af3b82a54e7ccd23b41892e0cad57e52f497e75d3cd6b4dfe3d90154de247f4a5854ee82537deee0d104800d8c4c2226551f144eb2abf91b0ddea7e9aabda07abed59890828b2237923036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe863036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe8614840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d3126132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c836350c1986d63d0d76252cd4dcc0096252448ef72e67695958363393bbcb800d6809d0f28df34f89daacb5b062f76ba5e1e124926c9ceb5a5f7656919f3a5e969e21d8509a7454e82c6c01ee7f9d53e927b541a171fea9969f871cfc034c9763952b13cd6d52b7a32dda0c03c427c28bba72b3b40b5a8595a3c029cfe2dfe9b15a17dcd04956966bc87edd991719d6b3a0ba18caa2e4cd1d4bae3ffb819913f9ef0cf4d744869d6bb7ca44679edfd6ace4ee3f7c43864249b03768ed6a74a65a6a17f2172aebcde50d1f14eb99dfdf7b73471aecd42345acc5df8332f2d5a66373017e4595818c00b7bf91cb4323c7eb268e321c903caf42fde0af94c8c487ff2e36851d7d884ac33e3c6d15fde25d80bea7e85b54836569bb5cceeb6776c52af91789f475753530cb37be57062b43ebef7ca00989dac207ebd71aec10afdd45f2366fd69bf31349f99c35c37b1c54b8ec1ae6392344ecda412b8bb3f63a32c175230086247a469bcb4270f361e752adaddcad693d24550e9e2dd444b25ffba12e34f1910671874941dca3f837f88ccdc58cb41c93083d97434adc1f2d75aac2470b0e6ef98e78b6be235c07c80773323a95927c69010f61d84e5111bf8a553dbb17af240798a5008543bfe0b9679e54225743718e9bb9930fea943816910cef970e994204c31d5f373bd9181cc0343b4e845c2fd879814d14cadf7f06b8d5a2f319bac5d70ad5f06ea847e72e97e2f7f92decd8ccea10fe0953aacb5a049ed02f0fe999ea78989dbb38d7cb5bb19f2520bcc75b371ca868d817301801e58dc1e03135cb9b5ec77506e1a03afc26ac2031ab00af04290a74ee96b1feaac8230b652fbf036e6b1dc06dcd150c7524c199a86531ae64a74c947e8a2383fba9dd9b870000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000107ba79839eac401c638ed54a102943ba2abf08720f5afcf283ae566db2826cf5233c8510fdefd1051be373145a63f3d0b3c8391854e2feeb2373712e9522160e047d5937585d72ba222e61c7be8a9496a09521b2fbe810516a60713582c4e0dc29d8780fce55acbc958bb8c65908acb8e783f91f876063ef2c9d0edbdeedaac10a108c30300e22408bafccace2b678bfd0bcdecd6cdf0b527583f7c68a5e03801dc61a63d5b641cbe14b29525e34acc7d4da458e798639d20ce4856a923f04c71a2abd8f754f5f1e11b71cdccf462469bd8158e05494e0eb11f116eb57bea5d22d9b0d158092864cdc80bd7f81e6e108b236879d62260ad5779ef405c0cef60127919989b43163f6d03dc38174fa24c0c2166ad0d4ef6a7bbc96b8e85f9bab6f3c62f296d3ad78bbb1777d5ef1816930cb0dceb601c1d0d5c6ce64f1e7ae143419d3fe5a794c541bdb9797a36050ac920571b0232bc6fff677329b325837ce5c09ed8607b0e7c07946d5b38c42f04038dc15dbc76d7a89c4d1827b6ad25aaa66021ba8f46cfd3dfa734ae04b32ddc2ba49602240e54442c09e8346fc905aa34611d11001a334306f467ff4775f29b8b2483a4315439864583c245b2f17b39497215d5788668a9b163c9d976cc762523acfa0c36ed0b748c88b56d5b2f75d8464353820b448a47136811dbbd7085d1d7b5eab48451621851d360cfc91229257953635e73fd9ab0d544cadf42bbd29e6d56fb14aecea89e82c90700369dd012a970928f3f17bff9e864fc1d35d7c404d5e30d1b07c1f82273502e29ad7b1c093031961932c86c70d27431b51514f0a4e8ee6d185fb5db2d86e2d066bab217aefa8269e6cd37938f2d8bce4aeaeb0f5b1713b751300ab9a20ad6c26c541de8510593ee7dfdea1e341c44f8896968b3388ca5fd104eccb31410b47f2e96aa766ae47011820215e1cbe3bb077696974cc7735c275940f3e1bb810513a4782589951ba3a875f59297048d58daaf0f0b801abf355fab4afd2c260ca0309cb614501675f0578a0a6d68fb72a72550f0f47fe540ccc4be44c368a98519623658bbafe98a224a4dcbdcf316c2bc456b4b398085bc024cb237ef897ff83aa7c3532590704d71b5b234230ce93d43ba94b4c67f7a43ffd7b757d10b4f997eeb0fbbaa6f8fb2a1961932c86c70d27431b51514f0a4e8ee6d185fb5db2d86e2d066bab217aefa8269e6cd37938f2d8bce4aeaeb0f5b1713b751300ab9a20ad6c26c541de8510593ee7dfdea1e341c44f8896968b3388ca5fd104eccb31410b47f2e96aa766ae47011820215e1cbe3bb077696974cc7735c275940f3e1bb810513a4782589951ba3a875f59297048d58daaf0f0b801abf355fab4afd2c260ca0309cb614501675f0578a0a6d68fb72a72550f0f47fe540ccc4be44c368a98519623658bbafe98a224a4dcbdcf316c2bc456b4b398085bc024cb237ef897ff83aa7c3532590704d71b5b234230ce93d43ba94b4c67f7a43ffd7b757d10b4f997eeb0fbbaa6f8fb2a154726d1e457b749e5a32d9cb269c17087add08c554ac6163f1ba6dfbda977f43ebbdef2711d9803441a84e31a9d5ceddb174d378971a5aeaf3f8ea84a27c7942811da7d8566e18b5e499874095ab369c2dd6937effae0461fc73e2b699a6b391e6b1c8fe59b270914f6b0116f3ea5c17f4a5c1ed97593bb526c3bb2ef0b4a4d0887259d6494d8930c8fe34dbb38b54f2e6ef48b37424d4d360826e2c99c10f510cb754e0c9b4d86aec4eaea68bec328b666a9a043d5d0d875267093633c170213724f0ac1b4c5188c3274dfe3b442f0a5f988438b3c9aff9885f6af3af876cb24b81373b72e6d9ef1bd0f62e5acaeb018dfd59ea142d8d96b43818d2fe72caf1ec72c0c20573b5141e5d40e17d7293f3bb25cd5f92b26d68aa789660ac49eba06b8d7221f316ccd211c30eca2885f3786348b037a8ee4b5e05159fa94c46c3c0dfbdbb1f4e3dd6371c6991d785e71746d7433ca31f5de962c6bde98a88844c404d9c82c114a4021d64dec9532ffadd857803e0688fec4a9a5bc6fec2baa2daf02a6feb09641672abc1339ef443b8b25d7bb5f37c40752bf3a4a4be1d8bc1cd522d9047da94740f3a6eecb0b7623fd50ea2b88a1afb2b8cd30ae977ec6ccee223bee278e770ffa5d9af70902a1b32bee73cd6d3052c56724f32622d443f7b09a0411d87188f005a26508f6fd5e4cd411ae792bcbb68791f6a6070e18bc084f681152aa7a998ab109bcc09147bb690d1218497922c90773f8c809e158a5244eac284b21b331d7fc2157a772c939aa498cd46f9ad063e07861ce3362fa7a7a4217207404e4b8acf4084c8271e49c83d0332e4914a597d009e9e6b75ed89e3567ac26b1c682f1fcc8c46a8e23af587126fbc4d65cde9e386ad694c439eb9ef95aaf1e687d58ad6bd6345644c9acecdc594983faf5ea07a4e101a0d5e874de3180a3300b7f3df6373e5e36bb90cc78361a58ca1d86713d9878eca0119ec34678013200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001090ce9b48932881ddfac99f51c7112998a5833a2af0163be9bb6b3e8d8f21c402a99dadc27a4eeefcbf4aa208f8dd8f01376c6e8a82d81d60549b9fb34729add16e2719e7475cfd6df28ab9a0ef6505a646d3cd9517732c4598dd8d59beceb8c0c24e9e0e46ec2a514ab12a3629415b2d08db5720f8f6935f69f7c0f5979d9cc1fa8fd27e02135febd647aee2843f50f04614cac1fb4a101f9d3562922a2ad6305a978292371a1c0fc26798c63ca2f77484a4c1191b2b82a8bde2aeddf372dc91bfcdc5aefb5d28447959bbe625bf57ce16616a7f8c30899395e0643370c7230317421e66dfce2a6e4cc6d950ad25b1a9b68ca147d1209c4bb90099e7d3db18e0526e357e97d121384273be85ef65e2662dbd2bd35e4927f056fc243cbf215c1319e25463a06af9d59ca0181f87438a150ee6984a5f06e8b1f02a46275db23c832336e063ac6d0ee8758725e665f844eda5f72113c1edded55679f1c71edd60d0c24b726868f841bfbd1077161a07fdcdc420e71d614325f4758e8ffb6cba4df0b61c351a9fc7506f28561da1fddb46a88027475cb23d8f7f1427cb05942b78b088af5a46634f962c74572e87229c7020997f0e05db8ce20e965257b4ecb80523d80471e43776202cb43068e6db2f50515fb69aa9c5e196b34383b03dd520c0025443d6a6623bd8463dd35475d76f0d0643e0e13c6307ead0c7126fe34d4d73d08ac4c637bf5df44bad0286494b3815703b3a883c75d3874ad15e5a187e151c104d4df4c5e519fdf8b667978dcea0b647332c5b58c86da0e0c2ae966a813bb163fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb83fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb80b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c3feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d2b13cd6d52b7a32dda0c03c427c28bba72b3b40b5a8595a3c029cfe2dfe9b15a21d8509a7454e82c6c01ee7f9d53e927b541a171fea9969f871cfc034c9763952c762708227d8d9d5db25342038160352c32ee7a89896b63b01e4d1acff3949914accce313f5db11d06b277e45099796f2a6b9e284bbd31bd5b1ef642a2dc7641e6a494cbf36abaf8b8a6a8de1165276533eb64441a7a8777834e338713e31483cc40f2563957cd02b5394bc253c4d0448f634cd65e2e2c3d47c95b581077a6214840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d3126132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c8363f8f67741fafeeb2ce545cfa5eba44d303a5699b931d6c0773dd7044f906f34b34a76e6f4fb6eea219bb2b8224ba3e1737cc1b3c3492986bfd06622dd49953c60975a0e3a836f1d21b415fe01c2eb2874f85853d65345cc5824a08686ff7f36c1e3cf64720e291183435640328b4deaafa0719bb491bf1f643536c5aeffb05f13647199615cd17780a6803a4faed06170d5780e72674c5c32674deba0a522b3709b8e669ea32e887f597fc5b0512f9e914ef1814e2d8335872b85232f5add4cb285e555ab6d8ba93203502102492bd86d49972fc501592cb843a378f3aa52e542bc3108ffd0d085b814b44b3f0faf2047e4804348f99908d3cd663004bc9825b1f3163f13d85737fb86ee16339926dd220b1bd2cdd108e5400ea0618b9b872220e59681b126b5f69214be5e4f3ded147e020a5ac1cd868938d2e1cbdc2eefc9534bc4cad822d4f93dcf65f1272607b7fc1e2598364447fe8bc3209a1e85a280a35bff9de5fcaa2264c0038dc5840593451ea5f384bf256ea8cbfc33330ea528900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001044c1cffb4a21faa2b72d3ef2a41f50d4136b0c65cd79c6f156c5344ab90451c38a0b2f72a48c2fbf421fd62a46e79785c4267c5637405caf54751d5e3b5f1193ec6da13a01fda1d4306aef47a3a4dc6d1d40ba782db6119aabe4e5c70899952221d8490375639faf48211959769ad2d0288ed6cee7562741637494ce6d9884600059813d31a6e99171f46c5fd60a740c4f040e97d3a8356ad90194f57b7a0790bed32894ddb29460d6dc29adffc73c72e93bcbdb6bb0ebfb98e5e6074e3af330ec580b42c2ccc586e00bf5f98502512a78c0d334efc6ecae2dbc64a97c6a3142f199a5274801f3480971aff6c696f5c1bb1abee6cd5c951dc253157717999c51f1f6de1fd35919dbba05f69865df81ae6103b905a5237cbe106f7e71c9b47e60b901357f45ca4bab22a36ec9d0279495ffafd62ac2b3d91eb33d2a6750ec0ac091cf32fc0d961b7f005d181751d3964b11615fb06794c7426a1cefe162cff26356bb147a5abacab46e1f6a850482e3230f668f3a9383ba75696cc3de77ea0e433f43e39389adb70d6c8db2c09ea42c0bdee3a30032348544f6eaf1f224d53531ff87abcd79692f8e301f996881d38abf5f2c4222f0657e0246623f985c0e48b1bc3e4f8000927ff6a281b46f0a8841a7598e413a5e85bdc64fbc6271483dc5e3c2a4c519e091eb4f619ddb9fd17fbc10e957f2c957669306fbe1c38fd9220721aedd76b84e9281baacd12c90f656be257365b49bf5edf710700889a302e39313c9402814bb69ed1ac472966c532d2ce0e636fdc36e8abce0fa067c17f3eb58c0204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c0204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c07b0d5bcc9ec3b3519e1c387b96fd2b5b394f2a19894a21b9af910b00e9f70833756d5b8b269cb43b4e1645cd9b858f5a91fbb368bec1f0b8c14c58ce7233b722361b64dae7e512dbcdd173d2457cc67766e5bee3bb3835c089c11f69494135838e121bda4be2151157ea3e6b2aab629c6187ca7e01ff0f7a2d6a67dd12eee68092d97c34e376b63e44ee2fdb8edc57dd52d967f44e9ff11340a69a0945aacef2c797c664f8e13589e5ead5f295b5206dee5742872158b36e1ef11847e977ecb283ee68b27d40a5745056f2725b3db7ee753772eb05448cb014af6500dc9ff2b07c7d654ee7df77bc86af58efab033151a0a46cf625813d4ed0f1e3d8dfb7b783c45ae4868a6aa3509ead71f15fb75699d7ae17f13dc248de26c8da6687adeda286fce36c7c6dcd354f645d87fd9dc5a5263fc02d1038a65afc7a75c3bff737628f43bb2c868137aee268d33127ffacdae6ab4bc988caf66d6b9a59cb77d5bd63070006b8220f8c2c22b4805f8c69a260daeaf4d153958c4c6277eedf5b1ce2714ed73f58795739d2941253b223860e2f8434a6c3504d3a3f5980e465ccc7c270fc80889a8d8136b359ff7bc739cf0e0d554fa19a68de234036ef5cf47add6292c7da5bebfce96c9d44adf62a25e8488c825e7656d4e4259defd97d720cd08b213825a41403169362bb5209d5da17b775a20b1969bfeb6c1ba2f9915df32f75029a6d80771b663e4de64aa6b34df3c2033e1020db0fd93ba8e4f3209f7c1025e3492f8eaae5db1eb890a2064be48010597bbbbbabc1338a8f04d89852245ef24166d60eb4ecfc5ac8a37f7f38a2acad7abb940418b00036fed80e5ba3d34cc8225d2edfee774f844ae703a465c427b1afe0a66eb5ab1d97dce6d6e62ef472ac62ef771597d4eff7928b363d047d0af484a03786872e005a385fca36dca85dfca252d4e66fc137aecf09b82a21fe778001bd22a058f5eb691501577ce02af8c5400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001087fd642a90598f37f4150f721d74cd31ea7aa69b2ee872e97b8bba55d9f70ab2e559426ba174427f806cb22c0c3dc38b14760c7918f7ae67d831a2b020ac72d3781d7ea4a85ff1243a37f1d8c2d8992692b28eec07739197cf62e396b7b15751ed41a8de22a0d1d9dd703398b3209cbbd76eccf28a8280b3692d801124b02d3090a77bd7b3920c55414fef667ec7d724bd70ab8c0595edf732414f0f5ac7b7c160a3deb8b6470742b06396a25c426f2f311694af7d615edd85beb9a5b938bd536d84b1931bcb85da7387ece8585d1cd114b7cd79e10b4e90b605c6d8ed13ebf2cdaec1e77bff97d4e6fc4d633e7df60eb631f42c0dbe94b92483e2ee490ac6b2df045132f577e34d1fac8d896cffa407b6a92346f4006e6d6d1a1e2f4e958f5308846a76bfda068f893ee6ad5b76bfa2953ad242b43af659cfef9014cbc65a008f0096630a123e758951252a39de92175c6f1c93bc537d8243003f50d2b3c250b89fe68e08591e107787731fe3a870c8582fcdf84aedc3a57b084d432484ab11f0e603e06c32d9788422429fbd4fbf4e617dbe03c28261407cac42a20a4310234de58b8096e40d23188b09896327f77cdc92271f6017a206c0a0eee876a06dc26e86189625de4368e7cc8b1521274fd8024a4099c5d46a3fcfa3f9c7a8da52d06470162272367d7940550039474e18975a68b5d609ab51f4c20fce21259325e0ee2d850c024f2c90c72da4c3dfb1837bc90bc2d686bb0b6f8966d4d2b124e0f08b2c60099abcba10411ac1eb0e49466e5cd96d34849cce7acbec75882ef5daf37330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e8808ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817913ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a42c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b331c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce33ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd0c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa8380437330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e8808ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817913ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a42c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b331c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce33ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd0c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa838041b32ecdb06154ad4de0590c2867c0b6df9c5abeae1a5be2bd2c68bbf2f7682962ac0ac6f9b58736d8b9902a0567227960edc30fc3065398d32cc71a5620401193afe6009c6a9219031e2300b14d24812a826c447cc8618769faeca6169faef7b04c82119cad824013ef1bf8ed46cf0b6b3d833551645db7f2f7b7bf50b5b920a24b344e00bdc152b96720f701c2d881e02b5b8ea83cfba3ed035374191b8161d0f9953b8cab91378564d02cdcfe889df1f5284980d25d4396b9c92a113d972e03b67fecdfcf956a17525539c36a55ef1686f87628b8544536a784e130b4746e4049db4e05814bea45a0a83c63a28f040b3a6869c0b2427567d479b8bb6dba7430da9914a1efea3e5e652d1bebf32fb2c4a8339fdf7e114fbb9026c3948d1e57b2c9c5447ae1258463f3aab447a9f9906b7afbc722f2eeaa83dc7e2d2b05d15553c1045975546e0df6145bd54ed3f48baa6fb0d5cda16e558a79c5acca4192c8a3875d1ddefcd02331aa5654f15979079639b6a80e6aca760f7658a998c21daf129ceb31b3341939af0183f3264b1ac7fa2a0c1c5646e1b94bfe50bb9668e8df21077327699cf689135753dd0d520e7b35f9234aac2a1e40f36e5435292a06cdf3d325ed3852f3b54b0dd93edea1213790d379e4f3e8c2a081b4a59d3b631789e02cda12c7ad0c4ab4f226c1215edec87150efaaccac0cf137de2d71949ce8764367523ed5991ca9f478696e856af15610f624aa94d6bc08e5c213b06e02628fd37f2e5208c34ad64f2f232026274e3ad5f3c2468bb21c0d577f8fa4dd05739582360c14b8a91bbe15e3abf25bd7affe61e9f7cc3dd44196c2782bffb3e9d876a1ba7ca113b0f7478d7fc6c6f164b0f787c96f727edbb3acef9f8c1af257a9c7f041454542a0ecac2b8a2e92e155ea002c05248c440844188ea37f0eefac8c35318721e0209fd7186c65a02ba3696ebc901cfcdfc4d1f91b0485dca66af6874330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000126846ed7db3223b21fd937cbd34c92dccf9d08c2af38daa46f13700ffebbf0cf367b85b2a0b9cc05a348f977b0faa48053af4e735d76ba67c288df9f634390e02137d4841163fcfc377c39ec4df76762a8793f240180c0adeb62a4a28be688ff099127ea6d11b098ee51f20bd92f9812044dfb53b1c555d4594c3d81a1ea757e20a44d24d5354645df4fd139e2e3b8db0dacb9a11662c67cc39d8676d85590f136e53a43f2572850b26c0b082b2cc594b28a28dec086e5f6baf5ce9bdc21de7f373ff9eeb6a21475fe7290f5f536fc25398017103f3cddfad24c8b2fe88d7da32de8605875b8aa67450d18536916d46c0d1900ccafa0aa1e3ef78f6029a097d92fbfc0b35830f9fd9f926698187325213a398429724fa573c12a31cf7c57d4271b8aac58e5e7f5f2eb2b8ee980c8bb2343bcaf69f6120a5e5b40753bbf72f2cd2f727f88d49a5688a800a810c520d0d691b465c77f9353d6382770ed3a7ae762278abed85660cdb8506f477dd44b7567bc24c80db503ba74cf7f2380d623fceb3de210c7847fd081a733a262ae9caba0c395f4ccf9b4f7fa0689d54bb9d363dc160aa82e8bb19de81297325fe36acfcbf04b09853874a83a6d4afdccee3ad4022508843e81ea73b81b940dbe22138c954c866fe88b3f83ec156c85e69e4f07ea07a4b3ab1b3eacb804a19b6d26c943445b8904e947519842e2f8ddcb4878a67826b7e9e026071b4da9243df17a196e0d7fa3d9f3f213e88ee029c84dbf9c7e592c59a263c426c8db1758a5f1fa454f417e399308035393f4f135e5b974bee7ef2759def81fb4a064e60e51e087dc59e52077c2b7f76d095e5f0fbc787521049918a62107e04b5f9b19f1ae1f7823a61b01ced64411dfefbd3a1d74748adefb6804c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa3b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae90717c6c63b18a3a9da7765feed4484c75e298f0d329e2351994ee389e0703972e2283939c4e75c5625889a0112bb7b38a1f8b78bc96b29a7824a49a70c8fc68d1f36e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e69091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c1982759def81fb4a064e60e51e087dc59e52077c2b7f76d095e5f0fbc787521049918a62107e04b5f9b19f1ae1f7823a61b01ced64411dfefbd3a1d74748adefb6804c15ad89e8721f87e479962a74dc1793b8302a3b93a43850fc71b9349a516fa3b3ea5276178de0781b8669d58b23e86e6c396585012b59689661559b65ae90717c6c63b18a3a9da7765feed4484c75e298f0d329e2351994ee389e0703972e2283939c4e75c5625889a0112bb7b38a1f8b78bc96b29a7824a49a70c8fc68d1f36e1df277b32514454fdfaa25697e4d6ad84a9010d639ee2f1448075311f3e69091e20d884cdaebbab02055da9681b2974c1effafbe95a38a7e8b077cee0c19834ab22fea15d89c74a4ca0d1cbdd19b18c8dc4699b5e6d44a70b9e363033d8121dff3c5197fd00d1d0a0de7643244f7892ab4a9b26b3f4238af227929b22c0730887259d6494d8930c8fe34dbb38b54f2e6ef48b37424d4d360826e2c99c10f510cb754e0c9b4d86aec4eaea68bec328b666a9a043d5d0d875267093633c17020574b614904f04d06536b5cfbd25bc253f053f3efab39148f663b7b5deec33cf340e52de04aef29b278901aaca40eaafc3602d624e75ececc9c33045c86e16ae08ce7d1e5e8778bcd1c33ee0e0d3c0dee902d2d8496b98b5aae77454189f72593f0720632895548bb04d3cdc55cb4d809cb1013d9caee5a883a975497c80ea303ebbdef2711d9803441a84e31a9d5ceddb174d378971a5aeaf3f8ea84a27c794154726d1e457b749e5a32d9cb269c17087add08c554ac6163f1ba6dfbda977f438bb19380ca3bcec1b7ac1e2b2b3cd0e595e5a6676b24b82c071862837b86c36277554cf172a1465b5f0275fb0bb614ee6780d0b60ac0da8edb3fb4a42c9b65202cdb763fa0d9da5a9237be078ea30ff6749e00736ac3e89bc196bd4063016fb11354e605b67b1a7809a369f541ced5ed934a4c09ec3341f991498c701a1288d2d86909215b5e65bc3804e43c6806f8f01e2a876eaae718f162af5e148869f0812796f6dea4a19a43c7fb1bc397f90712063f0851e9e878c83023b0bb77960fa020e374c6f0233b15766cc7ec727f49c8e2eb587852cb8d3d03033d6e7395c9427f3ad76d6fe5567cd5ff9f5a3152bf77d49c9ffc17416e6a828d1f05bc7cdcd2069ed1fb636691fead243b864219818a5f1cb94479bfa0f76a8a63375ac6e2d3ec38fbc0bd3eaa5293a811bda27f8e45fffc232211a8c618b67b2789a6b5a1e1f84c731bba07333a6189c23730e48ffd1a705d588a2213e1e958371e6294a403c1d73d3be3dd577aa4d76c5a7cf8ce2effdfd40d0b03e02f3c52b66a1302037000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013935a17d94e85338d466a26e8cec263cd4bd76a9acf36b8bd73bd9eb067d28ca0b2c5a5fef90f6ef702d0e5962b4055c2240d6ed90bbe518a08e064ed43659f827abaadc4cf4387883c16778d0dbd1a9fa72b02d175fa7f39e1aba6122456ee7030d2723cc61da55c76e4b419ce10f98ad3955d1436149cfe9e33dc74e94a1b3032124967604896b96f7387fc30032add2330e3f42be40bec69a07da25d6a1d43ca74402fdebf38719074d477f4c8f4639a735df9b862d8f5d3b70957fd6d8e00a18b67722a5e865f2b1e8c3dc3f15936a41414249259122a3a36e2742ae4ec63410a15421460873001c2c5a444886012874a01fce97a9cd52fa626aa265ac1935e9d361bf71f277f3f434a3970912102ba63073987ceda3d0e2e42ec24abf190cf9e517e27ff8901da6d2a9d892eab338316526d609ddf980f9b2f4d3eb4bb33c6e9263c90f40500921d7579c328a31d7764000b667533b2d0fd1e941b7844b3b13aec8dacbdad8b119f7798bbf189644b7fa4c41026e02a314ff09ea73cc5632878c3b4479a5a866ffb038eef57a3fbd7f4e60700441a60950e3360b65e33921652cbacbb7c8c152cb2489a312012cf661aff1c2255e8e6a83efe29ca854a50254f3bc7ac8d3b25224411240b192161221fbf63de216401caac6d7061256d721383de4bdb4e5f06b940e481e393737a545e86b94714bf7736ce4a00cdc2cbb030bd0eeabc2371614a6f2be15ecb5bbb22e55845106515c0b05216221774da431c4f71b4256123e68977b870c35111d993b48c95d6a2310de685eed552dcf612e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b11e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38241968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd00f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75004c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b753b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c2e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b11e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38241968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd00f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75004c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b753b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c0409ae2f87c7368549686786a98175ac8c817825a11200d132276a2842980b550ce7e97ae590c12eda640bdea2f2501459f94dfc3a5ad39eeacb0ce72bdfce161fc6a3ef7a30a81709d7aa355992354fd93d1e3d53a2b055a2af3bfc2322aee703f684053292e56a23cc9aa6cf6b481f2ec93b24a323cd8de4386d69771a4f5c2708dddaf0a355dd8d56733e344629709d81d66a333624a6716db87e609b788623500dfb71972b65effbfc64e970bf0af2f850e628644348aaf32e368c725bc31b9db6668f5dc4dd7d5f86d590d1cc2465212c4ba530adfd1fb40487ba76e6dc1469067986f43cf59010dde08f92426f9c3c91b26d7baea2cea61005e14e93c71f58081e26b71aa87374afb67ad656bae9ece3c89aa1828ad674a7ce51fc08032bf93842bf2d60223b1a98080fb866156c1f2eaba5c51d58b80b9996a54f20521fe9ff989561772ea2d51724e6f0df9a4153ba160a091c827b172e0f31ca66ed06b1c44920157c93acd913a20dc88b72472013d85acacd891a620f4021066f1a1c2fade0fe082163acbfee43fcec5503bc880299149847f4c4568ac89a4545c62f21927fe7dc596701cf597a8da267cc99840fdb2bce57eeca29b69c5d05e2903036759e3edac14171a5563bed33eeee72af6ce9782023b7a578221ef4f625750fc98a61c1253ebe8e5aa9c412cc1111af972c12912cd563f3b50ece0b09da8d3b9199cadd3d03ff6c78305d3da09035ed9eb38046286aca90940c7d19bf964817a3747acf162f38a350354b39b09b18f6969dcddaf1d26e479160ab64a296a7292500858dc4cbf6cb392ae7c2afbcb026857c51d3784ac80aa2f9f4c9b1fad020cd90831b33111a1207e29516e0656e61c6ac921f597591eff35fe8041867c321e8a79e1070bde4bc84e52025781872e9e57793af63dbdb77f231a651059720003b2eb2f19bfe5599844db38336b74f919697253931b2425d1bb448e236d7260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000133f96d55f1d1f28df2fa37787f8563e96d0b36eaafe088c74c4dcae35d13a5ba09b1140adfabd99a10ad9caeb85e7f02c1e0c14da55c3e247f4e2f34f43200600e82b2a5f28c8db029361f62ea238ff899e6c5d62e31f6960426f55e653498ba3b52ae968f50f158341eb3cefdb400b00caaa4d3d7b6ea991cb6908d77a3052c103c96920935e1b671869a12cf2e4e9134f3e27de99fbe0a6f2048a175b5a9602adb0148cddbd9b50c3eea87bbc11ddd1d27394c0ed2e3633c636ddf7aaed9cb08e0a1359cc53e6d7c658174e548676af8921bdacf33931cba62deaaa966b2e314c24a13f64d4ea86788f7e921e35ef3a92a6cbb5e2cb2f9b6b8be36ce35d8232e507ae223068e9ac2b0a65317f91089c91f029bfe1f9d9d51846d8266c23a180dc88c935cbc08c477b10e9faeb67c66da1deac2228c021c6b067b1351c749650783f10ca52633bffdad9f51fc17596c4c01694549e8c7fe8738ed2328cc6144023634f4eeedbbc2cd32056a9990e65c2c33eb0f958b41ae96f9db53cf8b35a723d0a64ee05e38037e0cd1f98b931bdaec96ac2a49627bba72e784ceea492f33301c12a72fd336663bbe02c906745f91c74a5227e8c7247a00ed4e49bdc508ab2b89fb40e5e798a200bee515d6ad7f92ece710ad7b8ea705295f70f841781caa1a20b5572f72bfa835742da6bcb5fb32add4c90a6d2a2b6d569d5bc3c05d8f960e6e469e483b4aef87575aa6f95a486afccee45da39e5743c729886f692d2728188ad492198fe6b7e6a93633021f47639d1c7b240d95199e40dc89f8eb435a9922349581c8414f9f69c009613dbf362475871029f1b3b8225760cc5a952f3c8b1dcb6a7e37beb060963ff69ec240c9dbacbf88d2179940f941cc64926ad0c3762b06eb88e9468e1d10c02ee634bc0eb607161ed9a5e8a67482899beae9ec2eb514f9147716b971e2ef3fd119cb43f14a1b307a22636452a716a395021613d14c172299ac8e60c69153c0ea7f07ac498dbc9acf4c21a454f3c12878cf919ce98628dd6653719f396eac3f1580f853b67265abc9afe7a8a427d804b81d6e63167b33ad005ec7e3e0d6a2c4947b265d6fc48cbf73809ee8afa72c9d2b20d8108f9d0c52ffa1381c1f295d3b6b84d9a2903b9587257b6a6449746c9005cc27ef706422349581c8414f9f69c009613dbf362475871029f1b3b8225760cc5a952f3c8b1dcb6a7e37beb060963ff69ec240c9dbacbf88d2179940f941cc64926ad0c3762b06eb88e9468e1d10c02ee634bc0eb607161ed9a5e8a67482899beae9ec2eb514f9147716b971e2ef3fd119cb43f14a1b307a22636452a716a395021613d14c172299ac8e60c69153c0ea7f07ac498dbc9acf4c21a454f3c12878cf919ce98628dd6653719f396eac3f1580f853b67265abc9afe7a8a427d804b81d6e63167b33ad005ec7e3e0d6a2c4947b265d6fc48cbf73809ee8afa72c9d2b20d8108f9d0c52ffa1381c1f295d3b6b84d9a2903b9587257b6a6449746c9005cc27ef70643ba6fdac0b77d30417b290295f5091155d781ed0d0a66a28e5a091ccf9031fab1883d6e1d3620a99d127d8cf8f9f75ddfae5984b4c8b4ceb80eeda5649fd192231e58121b4e86da8dee5935258eb584177732ffc36cb6ca749c9dad8b2f3761711b3b2cdd522bbab58a1c1e190509f255ef725a55de7262c784576be6a96be271e34c8c6e8e486192e6d95d7e579bb63a7782fdbfb459376a1965feef865efee19da8e2638861c7ac4e5de71bdfc3b42ec37f154f40bbed4c5e50965a0156c061dc393bba5987af7a09770b5534817ad1166f535085b6aba31e508f8cc4d8ed43e3e384bf13dfde462d8f3db4225ec5fa16abba8710b18a36e808962f7ac6f68352254da5cad22b2bb31a255d43899f5be174c33d783688ffa31918b2d0e604e3319a2a83a6dd65b246c9f7d539b67b09c3b0afe9bcc31f641e4746e726732ac29d24250f6b4670e24020e24c8b498f21c523a29da50193ccb3c7dc6b4ca3bbb0aa3e0aca0ab123197ca10f0f185664dc33a2a61899b9f56735ccae3c626ebfd127381323f9fbf530967dc8447c416a96fa1e32b0b281b6702eff53454096a4115c87650577b39bad636654ee00feafcc869db0b5eda86039ff8dfd84b6c28b91f59de8a0531e8f7e4fb3d06f428aef8f5ad712878a8e28c5a38b1b2e1a2379620a62175face17081b04c2f90bd751072c9927d390a4168f3ef47f3a1e5dc86c15fd0f1d73477625309d8dc69bc838b21105d3035d7021c7219153fd051b39de00931aff7e887b0fa513fa87a0e10381ee92686636c363ca6f5d301a4960dca63a21ff7623e9ebdd338ad13aacd522b27b84ee2004a7f0bc0ad0d1388c71905e09570624e2d8e77d47ef24dc892c481f7a58c51f579ad77c8ff65e41f5b5f24b211156d4f1dd0aab5ebf46c68e4d14836411655861e50b7a49e98cc191139ffe086530e9c79f21ee1767f6e3db4116d933ec56a48af4276216dd8ec9968f7203000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011417d258839936aeb465865ffc8c04baf6a596cc232b0de2216a597859495a613a03bb7e284f18a25620ace4744b9c7e7f5703220207e2e1196ac78ba1e29cea2bb158fdd41326d1ea8bff5c146bfa92f68b1056983bc2b2a1342a6e46a3b43e10b0f66aef1671cbf4847763b3b3fc3333d8de5f1a0b0572d7b026abb6bf08d339801235470bece304d97add8eb57b323143a540f09d20b40f34948947556d7b3d3727799e79a93b6aa9690e7bffbe2f75cf86a6273d5637412938ebeaf363b715dc73e112a501dda84568806e8176a9db279db5773982c570f3099fd014bc13126d6ff7711806486fbc3c8a899e595be00a5ddf2273092fe7527c990966bf2b36fc0542911a5bf86b346d71a54f01e9d40a2ff49c0766bc2fd401c42af967290f759e2a68fc693bec640793946c9b4b929c596665cb4a725b60dff88dce85be1d832ae1b081768f63264535666418c980c101afe7c0762695593a2f6ef99a9b0e16c3c3a7a926272bd9ff7f2a16225a6ddbed6ae80e6da5dbc8bfd789b84c2330d625fa88cd1bab9b839f03caab42c4792b6ec8485949acfebd45424f9d1b43231692fb876452be1e4735bec75c38a83ab58f89e9d0568775178dd658711c9b1baed148f17fafb635e5c52c1c9bba4c2652b38737410bc290d50df4518c46df36a0d694c9755b4e9b22e741a051c4e8bcb0f4679135c69c3bcbc51c82ce1eaf3fc9b688f9a9b3a4dce884afd488ba278a1ce2f8248c2d920015c046632dc6b8255e320eb85345ee99fa83ac082a5dc7fdc3ea86b180efafe2aa43a74675dfc13f7851abb156cb6739a501506af6998436c3b9c6f29924ce57eaaef8e9e8b1b10087ae544ea93498c65afeaf9509667beb82df3516b3d44d414281f416174e503d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b787102a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e74879032bff9c45179dd14a11d20da7214fde6227eccccd1bd3d9039ae8016d7b95a310d40063bae8622eb5ee2df258deb0219ffc7cc2f378fbb8b5f7eb0d62846a5d03dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f202401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f3f7851abb156cb6739a501506af6998436c3b9c6f29924ce57eaaef8e9e8b1b10087ae544ea93498c65afeaf9509667beb82df3516b3d44d414281f416174e503d59985a76b1f9042039069216d0ff9488b83cf297c9d39952e0a728918b787102a667a5894e06fbdfc6f96de92f006b998e5c0971832582464c89c46e74879032bff9c45179dd14a11d20da7214fde6227eccccd1bd3d9039ae8016d7b95a310d40063bae8622eb5ee2df258deb0219ffc7cc2f378fbb8b5f7eb0d62846a5d03dbfe0d5976151672591a4443a68f57e45a6350bfccb487e54e0edab369ec2f202401f2a689eae98da6e5bbbc5970a81dca063f00c81b09d444c4341c9613d0f22fcff711ca6bb32171257895548f0d889e96121e743e2acc701e0bb637c5d8c1709b395ecdd7145b01f3db15cfa8cf1b8327eec8beea5431732cb0848e630a2175d00b7496acbb3cad3ade4d111c09ca445547256472b19d767238b1261166d28dc7e252513eebac458628145af069a4448e5e8d986d3278bc8f7f87848681133344d73b017b132f8d56944460562a818030f10c6e7f3f5ab73756535f51485187f19f3795326291a6b847dcde48b5b0a81e564babc6fc94b1522922479628125aaf1e2c9010a440122aa407ebc526668c09d23dd234ac591af55df4f50776a1a5ac1cb8c0d0b01ce0d2d21f211fccbb35570dab98620e4561093bf72d276bd18016098aa02665e1acfd881bf89573a1e3d6325e54235c9d8ace9a6067e91ef2dbe6d83ddfab2bb8ed281dd777263c51dec4d6493a42f57b175e1d9c275616937fc6e8d7aefd53437c728d31a72535ecbdb4265dd2dcf74daeef15a4150a68f137d79fd3ffc47b94c4db488e2b6d36d906210b07df58f245196bc068e7451fb05a5ffd799ee791a1e19fa91d9a54e8af417e367cbc1eb54fac42ca68a228c090019ce44ee0e9fff8b885fcd5d566c7425cb3426a3d780b0f6316dec3ed1674f17e79253bbf3c65e8f4778b46232eac5f8722eff416ab518e27b7bb9c7ad2aa128186dac440c39a170b8874b9dcd153a29d469fcc7e24402b6b1b5333852d561127c8da17b68fdc05c09fac1778efd85eb3d0fbd36e58e72ac1c731dab7251ee18c1728cc8408acf39ce6e5701e09cefd32585e7f9bde68ce47d3102919d70152f561be1a424a374896fbea96646dd18446caf39d768c13c57a3bbc8302ff38e020e08dc7df3bc05b7b099524aad916d752bef3772df07704def43312ae2824f225378b985f2abee66514f27d19959cb8a256b977ac12ffbbbf75edd024f72572ef23cd8a03d12a3cebc7c9b57e58afa805b90accc78527e3ed945ca67e6d181000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011bfd040e28657375dc7d5d2e7895f9e3d6004c325d4a7d0dcb2628aea83af1361f5545f9aa060e87927189f48f38d5b6674692802c4fed36e470b68816401e092d11c9ecac1d64831750fd2a226b721410d6dd20efda0de80ffdaeb9c751453722bf1d466bf0600a1fe36a3035a5f58ceba3df5712e4d80ffe4787239722032b118dd14b3c8a5e9eab16718ac5b57def7204075ba85864214c9c0527a630d8e31e53d2ca903cef1b217f5a425472524a4e0b22c829996a6ed8d076dfcd2e6c9a1c7da50311529e037f938695c3034bc0ceafe0a254f2e2bfb5413e90f59a987a3dd8b0f81eff7fb0d0e334a0381e38d570aed6e7922f25e6d82717a0163e0858119f515e1dcc4499aa6d66e0f54f1144b4de791cece5bdeb952b7c29da602509290115cce3c9b3d8235625d2b4afe193a6080901a820fa094ad14d1bd5cabbd133dcdc85e60049be54abddf4b757ffb09fcc99170ef0c6f69093d7b8d7bc6d9733980bbe69a6590308c58e298370afde9e4c5d056b066d4736279dba2bdcbda518b10ebeb8507178c2777c1495ea90ad74331c95984679e0f9c55148ee8964043b3baa3757e0fcf0f75358adfc1ceabf3fade1bc99e326537a0f81cfb984d3da34e87b4e0a97a3cff842bca5a836a564325e7c14dcb89b8c0d5a6447298f6cef23bb9553e63eaa72a917db8aace5445112f264d37c42010e77e623f97957cabb3874f16bfb3e18c9983eb7326a02fa5fe698df01f06f4a051e4141175a8a264433083bd1d62ff31f25c97c2f0bf784be9c60987c8eac1a2ef014b9c9738ca0f537330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e8808ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817913ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a42c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b331c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce33ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd0c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa8380437330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e8808ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817913ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a42c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b331c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce33ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd0c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa838041b32ecdb06154ad4de0590c2867c0b6df9c5abeae1a5be2bd2c68bbf2f7682962ac0ac6f9b58736d8b9902a0567227960edc30fc3065398d32cc71a5620401193afe6009c6a9219031e2300b14d24812a826c447cc8618769faeca6169faef7b04c82119cad824013ef1bf8ed46cf0b6b3d833551645db7f2f7b7bf50b5b920a24b344e00bdc152b96720f701c2d881e02b5b8ea83cfba3ed035374191b8161d0f9953b8cab91378564d02cdcfe889df1f5284980d25d4396b9c92a113d972e03b67fecdfcf956a17525539c36a55ef1686f87628b8544536a784e130b4746e4049db4e05814bea45a0a83c63a28f040b3a6869c0b2427567d479b8bb6dba7430da9914a1efea3e5e652d1bebf32fb2c4a8339fdf7e114fbb9026c3948d1e57b2c9c5447ae1258463f3aab447a9f9906b7afbc722f2eeaa83dc7e2d2b05d15553c1045975546e0df6145bd54ed3f48baa6fb0d5cda16e558a79c5acca4192c8a3875d1ddefcd02331aa5654f15979079639b6a80e6aca760f7658a998c21daf129ceb31b3341939af0183f3264b1ac7fa2a0c1c5646e1b94bfe50bb9668e8df21077327699cf689135753dd0d520e7b35f9234aac2a1e40f36e5435292a06cdf3d325ed3852f3b54b0dd93edea1213790d379e4f3e8c2a081b4a59d3b631789e02cda12c7ad0c4ab4f226c1215edec87150efaaccac0cf137de2d71949ce8764367523ed5991ca9f478696e856af15610f624aa94d6bc08e5c213b06e02628fd37f2e5208c34ad64f2f232026274e3ad5f3c2468bb21c0d577f8fa4dd05739582360c14b8a91bbe15e3abf25bd7affe61e9f7cc3dd44196c2782bffb3e9d876a1ba7ca113b0f7478d7fc6c6f164b0f787c96f727edbb3acef9f8c1af257a9c7f041454542a0ecac2b8a2e92e155ea002c05248c440844188ea37f0eefac8c35318721e0209fd7186c65a02ba3696ebc901cfcdfc4d1f91b0485dca66af6874330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000126846ed7db3223b21fd937cbd34c92dccf9d08c2af38daa46f13700ffebbf0cf367b85b2a0b9cc05a348f977b0faa48053af4e735d76ba67c288df9f634390e02137d4841163fcfc377c39ec4df76762a8793f240180c0adeb62a4a28be688ff099127ea6d11b098ee51f20bd92f9812044dfb53b1c555d4594c3d81a1ea757e20a44d24d5354645df4fd139e2e3b8db0dacb9a11662c67cc39d8676d85590f136e53a43f2572850b26c0b082b2cc594b28a28dec086e5f6baf5ce9bdc21de7f373ff9eeb6a21475fe7290f5f536fc25398017103f3cddfad24c8b2fe88d7da32de8605875b8aa67450d18536916d46c0d1900ccafa0aa1e3ef78f6029a097d92fbfc0b35830f9fd9f926698187325213a398429724fa573c12a31cf7c57d4271b8aac58e5e7f5f2eb2b8ee980c8bb2343bcaf69f6120a5e5b40753bbf72f2cd2f727f88d49a5688a800a810c520d0d691b465c77f9353d6382770ed3a7ae762278abed85660cdb8506f477dd44b7567bc24c80db503ba74cf7f2380d623fceb3de210c7847fd081a733a262ae9caba0c395f4ccf9b4f7fa0689d54bb9d363dc160aa82e8bb19de81297325fe36acfcbf04b09853874a83a6d4afdccee3ad4022508843e81ea73b81b940dbe22138c954c866fe88b3f83ec156c85e69e4f07ea07a4b3ab1b3eacb804a19b6d26c943445b8904e947519842e2f8ddcb4878a67826b7e9e026071b4da9243df17a196e0d7fa3d9f3f213e88ee029c84dbf9c7e592c59a263c426c8db1758a5f1fa454f417e399308035393f4f135e5b974bee7ef00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf3cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da71320fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf236305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf3cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da71320fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf236305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb00d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed12ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c6372453916333d62a0235abdc8aff9d607499a1e81a3e021fbd93c3fb572b8bbc389927d0b6a22da128b55bb8dfa6731f74ce472dd044fad974689e3e68088fc4ae05e101cc94009fbcf270de723f746d07e2efeda68937cf1a113d256df65a62e859a50398d5c01094690bd7c4a420e40d6cd7c8f80a8f22ccab459621871fe149f70ae2c90606dff9c6e5d2ff22a933995a954c97da98b194a326c1a8f273a5008353339d13b98e36f0b13bd8722d5716e70a207c38d8b94109f1b930653e4794587353ef7becef4701fd7c48ddd54096379f07494432b3e78dabb120d9a6899d6b8ba2e95ad1ba6492089b890b586d57dd2000ad02b2de2810b9a9fd60693652db2b33b5c1466aee6177ac9a3af51be25f604d971dc66d40fdfb5bbf53058f725923b395d2767a380efd7432028fb549887e55415c934c0891b6dfa3c96803d95883828f4b605ba1266003507fc90ee5825692e5b42c6aee13766c476bd2aad570eb40498b5e4e0a6da6148169649f08926872ec2929668cbb5d3543fb2e451ad5cb93a5f08ea13c945767c77470a18da536945d1b094d5ad24e7bdcde78448295c0205a0f715ec36ba898388b8f5e725ac96dc74e867339fd433db5f4968b7d6a40003b95939f5eca67061dc7426f0275fd0df0b349ae7491187b1824f9546ffcc150278af4fb0c09b9bc0eb1e009df4b459e060e0ee115ec2b73c5a990dee811871089ba4369b421a55ddc7ba1ae7085af661e27efe87c2fb52f5030aeb227c090919a45305944254278b46eccd473ad4f6cb49d4e19b1b8dcd4e0286ff65033c350d291d9de58546a4373abb740353db34837ec7a9cf68b610bf6122dff562e1073f6d58f62d0ac08fe9eb8ca3270d63a720d67e2507c4792e77866f651bd02b670000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000136b834818264de18c05c65648a43e824633e7bba4a560d18d4c1b2935a1356b13fa89b6f1e884c75242585d441cf1b49ee2818d2b5c78eb72e48c5b1e062ad090c9b1ff3ba666597be389a3e9de7e9caa8ccbd5f58f5bae592513248c45cb4bb3ffb2b8b9043b3912aae7d74ca812c50e9582aac427f68a0949283a5945b9d903e1f379c5f490578afe11f5479f2e10da217db213ec9deb5af8ae2e49f2cd5bd142f3e23df72acb02a21d8b12175a5437f06f54b7c0f53d933d936d04c52ef911c2afd8145717719a4bfc2be335aa36421d87f05507a064a01ab60c4e47ee5b23fdc50080051e0aa6114c590eb2a8e83e055e451168616a936da84751dd898963ff972147e8c2a177e70ee980a816164ff993f58aad7fff38db78aa83197f8850f08912645b07628734702fefbd2e6d8fe081b7e412a107216867d746190dd79056c307a0b5104a0a06eda3fdf8eb7218f1a3cbaa6f5d7d019a98c63f2d4538f28a192090d553297b6ddb7ae23353ba542be8315221b8a8bc8d493ac046f38a2387587f37e1ae60519a988741c67fc2136a95849558c830af38734ecfa32fa081b77310292168864a0214c4e759f7f4b7d37a608dc9d1d29804d9e2baddb3dd63648d89f220ddc35821a8567bcdd950bd5ff8a7d8ce0bc48abfaef4c74a00e9e2a5bc78bf0b369c8448134139beb58ea65e12c6a58e6cfab645c463d0615bf1506e4c7e189b2793e5cdf88f9feced2d41b0305e5f58cc3db607e507cb7bf6d2a3dac8f664293727daed746120d3e430606ae19df278ee0cf43a5b76d5ff0b66b004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be90189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac4783e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b8907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb8198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d049004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be90189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac4783e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b8907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb8198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d0493feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d0b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c21d8509a7454e82c6c01ee7f9d53e927b541a171fea9969f871cfc034c9763952b13cd6d52b7a32dda0c03c427c28bba72b3b40b5a8595a3c029cfe2dfe9b15a14accce313f5db11d06b277e45099796f2a6b9e284bbd31bd5b1ef642a2dc7642c762708227d8d9d5db25342038160352c32ee7a89896b63b01e4d1acff394993cc40f2563957cd02b5394bc253c4d0448f634cd65e2e2c3d47c95b581077a621e6a494cbf36abaf8b8a6a8de1165276533eb64441a7a8777834e338713e3148132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c83614840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d312634a76e6f4fb6eea219bb2b8224ba3e1737cc1b3c3492986bfd06622dd49953c63f8f67741fafeeb2ce545cfa5eba44d303a5699b931d6c0773dd7044f906f34b1e3cf64720e291183435640328b4deaafa0719bb491bf1f643536c5aeffb05f10975a0e3a836f1d21b415fe01c2eb2874f85853d65345cc5824a08686ff7f36c09b8e669ea32e887f597fc5b0512f9e914ef1814e2d8335872b85232f5add4cb3647199615cd17780a6803a4faed06170d5780e72674c5c32674deba0a522b372bc3108ffd0d085b814b44b3f0faf2047e4804348f99908d3cd663004bc9825b285e555ab6d8ba93203502102492bd86d49972fc501592cb843a378f3aa52e540e59681b126b5f69214be5e4f3ded147e020a5ac1cd868938d2e1cbdc2eefc951f3163f13d85737fb86ee16339926dd220b1bd2cdd108e5400ea0618b9b8722235bff9de5fcaa2264c0038dc5840593451ea5f384bf256ea8cbfc33330ea528934bc4cad822d4f93dcf65f1272607b7fc1e2598364447fe8bc3209a1e85a280a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000138a0b2f72a48c2fbf421fd62a46e79785c4267c5637405caf54751d5e3b5f119044c1cffb4a21faa2b72d3ef2a41f50d4136b0c65cd79c6f156c5344ab90451c221d8490375639faf48211959769ad2d0288ed6cee7562741637494ce6d988463ec6da13a01fda1d4306aef47a3a4dc6d1d40ba782db6119aabe4e5c708999520bed32894ddb29460d6dc29adffc73c72e93bcbdb6bb0ebfb98e5e6074e3af3300059813d31a6e99171f46c5fd60a740c4f040e97d3a8356ad90194f57b7a0792f199a5274801f3480971aff6c696f5c1bb1abee6cd5c951dc253157717999c50ec580b42c2ccc586e00bf5f98502512a78c0d334efc6ecae2dbc64a97c6a3140b901357f45ca4bab22a36ec9d0279495ffafd62ac2b3d91eb33d2a6750ec0ac1f1f6de1fd35919dbba05f69865df81ae6103b905a5237cbe106f7e71c9b47e6356bb147a5abacab46e1f6a850482e3230f668f3a9383ba75696cc3de77ea0e4091cf32fc0d961b7f005d181751d3964b11615fb06794c7426a1cefe162cff261ff87abcd79692f8e301f996881d38abf5f2c4222f0657e0246623f985c0e48b33f43e39389adb70d6c8db2c09ea42c0bdee3a30032348544f6eaf1f224d53533c2a4c519e091eb4f619ddb9fd17fbc10e957f2c957669306fbe1c38fd9220721bc3e4f8000927ff6a281b46f0a8841a7598e413a5e85bdc64fbc6271483dc5e3c9402814bb69ed1ac472966c532d2ce0e636fdc36e8abce0fa067c17f3eb58c1aedd76b84e9281baacd12c90f656be257365b49bf5edf710700889a302e3931039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c98039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c982dca7189c088c4564e4bb07077af0a2648cce45f2a7d44ecaab9bb6af669b18a2d3c5a2ae3b70c27632e5cd1962a6bcbb8dbe78a8ace801c75ea53f1b01aabd6258c009b6c55c415c7005a595075d8836dee62fd6135be0aa4bb5872dd3440980945e93b1ef5f36d66097a6cc3cf18416f1c5ec2134a28f2aabbc65a15f2621012aac1a59c78a2b8a13ff2c356ff5ddb259d2538cc45ce530648a90a8728eaaf09bbdf8fe995ac146b6973388bc2ed59adf49fb0089ffd8ad272064a6e75e1572d11f1bece483e5c430c5546a5cb8506ed18fc518858c674907a716dfa488ae911a7ebcbd7de1a58204c5573477a531c0a59e21ef22ada2803ed9657cfe94bb01b3b6514a5e576d3bf2166ce9c7de55051cce16420aa35ea7603aa0f35bf89c41aebe5602a8f012b625ab7294163b3f936535be6d1710961e568ba8e309576381ad30130aabeb00b66c906be2e8d7d9ff285cfae1f385eb5c86e869d67d90cbc12c1b62e5003e73e78d68a779fefdcd02647cc774a7a7f465a023ad79a9f1ca42ca98ddad3217793eab3f53637db1d568dd1ea9b86e6ef3fe2e54dfc2c620de1097dbc99fd53006b36c828c1a6067bf2fa4e52af6b34500c788716a139f2f21c11bda87aa892766888593e0cf677695d577e8eb4b575e5ddfd7c936dfbcc97a92e425785576d899777a6c1f3098896a2cac80a4753d7133d9bb09d7f0433685908f75423fcb69e61229e0ff5a461159015399b25044d7721a2a50d4191606b2925e44d87dae27f93d4aa5ae82d8cebe2561871b32f8a610516f1c065b987809233c5ea00b854ab2c4395dba0352ae790e88662aa436f21f63cfba75b46eb66ad25543c0608822b2d33dca61e64c056c89bbee4ee30db33758f50cfc345694fbb3ae4ff0867b276608e16c9c309d777d0db604be0024bf69a2caf81ab5ae236e830765f806c36a858b39a54780bc7d6392b50b6a995947f3c61a4eae711ae2c260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000134bddc08177336a1b4287c99f02d8108e24f8415302a1ace434c77c0d071a5b711d61344518f3a04578a5edaf95d32947305f44672813495d2532c2bd390df0d06b3ecd58420572f482953a8df85d4ecdc68bba5ebcae5a242cc50e9a70a68bd14799e19fa2f21726f2eb57e934ad3af6d8b3978609520f1d39beadd5f0cd7491262432cc5a7f69ed3b125cc582e04bd50081e3692de76187981e7c75f86223a1bfe019acadde7a25602f8734b37cf115d71ccc835748c3f1f427397a9e41b303500fe9ac6940270afc1af5d5f77e949fd1423e8084de786433c3ea0f1ac564619474c571816fc60e8fd422d8218edf7a7f4e3eb9fcfb755585198446947901a3773be80f0afd8a3cfc2bd00e69c0f719fa078f467dff900542e085346ca6db613f3b6ade437a51b3b7a0674aedafbd57fe7edad99c573ca7ce8d918bb6038e724a485fba6543a6ce8aa79d21976ab0dc06cdb44e18d56ae6784d7f22c3eb32f132c5031efdf30de686fea29ed907be4a03dfeb414393d9cf0bed96280f718ff0e62bf12c8cc87a4effde4ef4670debeefdaefc6855080703f0416935ad9fe4d0589f9e34764e6c4c9ccefd34b969cada1bf758fa38c26a89ba38b984d34399028b4f4ece5f8625e4f5a7dfebd6e7ad593c510716c9024a31c4f88b4d1e218ae0e924bb03e55fc5f87d40bed3fe5584726a8ab0146d7c7af3b82a54e7ccd23b41892e0cad57e52f497e75d3cd6b4dfe3d90154de247f4a5854ee82537deee0d104800d8c4c2226551f144eb2abf91b0ddea7e9aabda07abed59890828b2237921fbd5292bb47a273d1930e25e7444ff7f0afb3f24a21d1339e0ce76ef5b340562042ad6d44b85d8c2e6cf1da18bbb0083196e509bf2b27e7fb20497e0a4cbfab1eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe55197d105449fedd4f775c61b395abcf34e5d966d8cdb1c0bf41244eb9fe81485a2682efabb60122b088a39e4c6a5430cb3c6d32233b9b385c5808e233017eb7a73f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c1008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996401fbd5292bb47a273d1930e25e7444ff7f0afb3f24a21d1339e0ce76ef5b340562042ad6d44b85d8c2e6cf1da18bbb0083196e509bf2b27e7fb20497e0a4cbfab1eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe55197d105449fedd4f775c61b395abcf34e5d966d8cdb1c0bf41244eb9fe81485a2682efabb60122b088a39e4c6a5430cb3c6d32233b9b385c5808e233017eb7a73f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c1008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996400b3b8e7d3d25ea8a04f66d4e9bf09ea1fcf3625db18f9380f3304d511417d4822d98a19f0b2c4e856b644d3f30322f64772fff5be41e50cca1aebdbeb6317c7a398d5c01094690bd7c4a420e40d6cd7c8f80a8f22ccab459621871fe149f70ae1cc94009fbcf270de723f746d07e2efeda68937cf1a113d256df65a62e859a503fcfcb669a3a5f19c6d5e6ed13c1ba68e6dbb93e9d0b60303151556f28f6178b1e92d45cb316f06ce27fb80aeda7c705ff0948e9e26ecbe36515cab2c89ff7eb1ea98dd2ad29467824de238bd178f586fa625f611b07b7a7fd42b73123ce40683af4d6266fcb4016eda88f0b8382f0829b30347c5384622320af607712e4033400d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed12ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c637245391d659446b2347d825c2936b05c1dded32ffe3d5a77ca7829ff12a6604299d93c2aa66f7196071a38e9be2ef293f6a6206e44215af290e4d97789d30a6bd72b3e3b371581b99384b87ebf50a3233893e1b81926a8343faa5cdd11a28ad748bad3359e1e56f9048a6cad77bb79ff4fa19cf2f49f1f3cda8d9839cc3e751b48e9390b39ee40acc5b4d554d04e1f0b0e9edba1996ff02b04f0f87ea4ad7e73d6759a34c611bf533a4b2aab2fb1e0f4f1612480ad290bde4808231a88836e8c298a681a366c9009fc8f2a8f8a20f28c9fa75191a18b3b225dda6f8112eca3364b024317b49a2e2e75f2364dd0aa4a65f706b8259e4eab94342715393ec88eaa65768107f99075487a26aec001154635d6eefaa35d9e50768517b43ed3c6ca49e09f7a13a5f373854b3c988840865c85bc8d4d2cae67cdbf61af8ce536151c162a1f1638c03b91c806c668e5d3de963b25e7945d50f1b3b59b36284ad13f114582f378177067df9b9df8f9523d7288df8ec00ac7402be97d9925b5f1aa7ed45d319c66000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010e687b0d844dd463008753199f8f4fe1a44779cd5b5b30030293f5490970041f26cc577332336699ac824c61aad3d495ae5d5adaeebd81ef396c364aeb48b48b02852ce0d5489ca7c3e04f856e8af2fd2b53f1be263121d8bee46d9e381e31be0127986b6c5ad2a55b8d7d65549e68bafce1a3f54cedac0c62026c399e81cfc039b80bc14f8a0dae3b9c22b3201fded41899c467911d9d70325c4078f277dd5d28aa53082be929357a89ce18c087e37329dd1cf31d33321cb64b856a749a85623734ef6b44ce3be58728adbb5af6efcd620232a612c594c8d211737e88de27a92019441944e5f6164c0e3b242c07863ab6c1cf37cc5610d62e83e81183b590670c0b0d4a7ed13ce41592a2b2f3ce1976abc0adc34ddc5646db0ef68278654ee41fe257de21858874b9ed0787b908a315fddb05f1c9e3ae74506184d1d25a6db2214d7e9d0abf1bc98e73610175ec739ce7e13343a1627746bf8adc42d53e63e929388c548dca7cba71a6efd65105d015287054bfc6f5d26f0c214ccd4aeeab293acf58de5211a66c285e0ab343ad4c192fe58067c45699eaf9a1236bfa8ff34c191d6017be1fc7fd916cca0f4e5a2f5383fb7dea6dd306497a33afacad7e449203d598a04ec1329e4c44eec2ff33e9ffde445d745ad003d78f236f73705229bc18bf0b0cd51c02eb881eb1e94b2039e3d0c7e1824f53c664ceb8ba95273a175d06bfc4369991b13c2e3e5d8cf9b7133510cd3e9014a725ac93bfa57f186e186d15e4c167e1a3643c8aabbab6329889cb0b1562a45eff036cfb0de2efa09e7a730c6a5a22c9f1ec21e26f9d72cef81074d6f17160818e39ed3c7ec8fb8159456e3395a5dd360e13de1d90628d3107ef8b4b55279b87bebf2e5cae67f17ea6ba933e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b2601ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db3662cd65b8a00f4f1ce6603636399b687479ae7c81afc3bc83acdcdba1b7c7ba099d329a475ff0b0e3199fc9c9c66497adccea7f879d355f158054115e4838470fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d76919630c6a5a22c9f1ec21e26f9d72cef81074d6f17160818e39ed3c7ec8fb8159456e3395a5dd360e13de1d90628d3107ef8b4b55279b87bebf2e5cae67f17ea6ba933e13c2adf1b99ca96c2e133e0ad8524832b736e287c721a22e79ece986be5b2601ec3d520e46635693d1ecc1f527adb7ef8f62198185d7796ab344037941a4db3662cd65b8a00f4f1ce6603636399b687479ae7c81afc3bc83acdcdba1b7c7ba099d329a475ff0b0e3199fc9c9c66497adccea7f879d355f158054115e4838470fee02fc9b204c8b907fe10f0f200909bd46047e633aee402dab8c962896e69e3011fd0364dfb3746f801ef0f0dff6f66500947da6120adb6b81a456d7691963328901bd7dec480f910056c170035df1b20463fbca533c5bc3870c994b703ff41daa6752bf51b20fb23e4f23815f9c81f3ae94b116bb42dfb669e6eb5956049f0ec70c44d876c57b82bb950c382934e3ec0009a81f04f2b33ea650419990bbc82ce53ced07446ce4cbfeaaa0f4abcb1f9db63b2df513b703b1ed32ba27a6c3e40acb6a404135136d1257fddd30a618cd231dcdf8bb21b7ee6788bc2a9fab0c8a23395a400a684d94c6d78fbb9be15c3f755ec66343bd022f90dd2d33a0d5bb6d3e67bfa2358232f285f9c6aa48a670ae33bc882dc8695475516879500f531a3b3780608b24a9456ccb9f2045db37255b2c52432e9a501fe468cb58daa56815042e26f67ab7b96cbd66298cf342505f2dedb559fa4be2273dd01899d6c3abb17105f957432b4d66c307dd8d7a9f77a65b49b53376dadd9b2290ea826fd6568a542e6f28d62bd42c3fcc73da7b517d5baa60819620acba95f0aedd2585cf579b7d03e95278400e0261be0173704e35195ed08b526147587391f22271c9aff1acd03eaff1fda99cf274ec44143257d36d2aa688c4542941c328302d04ff1aff044735705bc03969e10b81c3063b89f4985eb328621906caf853ca0348347f03378038b69aba7e4f8bb1e46686b7b85bc6cf5cd390dd4e6428059f42828f44a879f30749654581b0744e1b99794847a43930c573081ebae8d115f9eaae5dbb57860f1692321285153bfbd269c62de2a8b229adf2e7765fb13f6dfb9efe3f1b2d1a662ae97dec5beded385fc5a0fbc4dbad157d00b9605a7af6d457ef6729bf577f58379704caf1a3956679f4fed0cc79f4a409c31f28f7570b1a33dbf528767a0e0613c2edca043bfbefe137a27b08a8997d6151e2cc09bc0d9dbeeab485e46e228421670fa21cf311d03323710021d3b9af58b09f0e76a3999c34f7c17e93b32d272f244c42c07aa2adb178d863c82e44f801963c1abefa4604560d9922872b2210000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012232b9d998f7551be5c2cd67c1a4ab60951e160bfc9f2559eaed8bd9bdd171162b4576d8ef39a231c9c53eefea6038aa2b7c2988cd9da315fd1f2e3964a8fbb725c7093c25bd8317fbff54752485ecb7ce94df140ad3415d1a7bbbbff92b0c392636070e2596c8ded985401f48aa30627e58637f70e6765d875f00cb6538197a0eae58c036c6184755bf4c6f3d62745c3a7f219ec1bc6fd2a9ee1e91ff65a877349b03d643b4d8ba53ca0b337e40b01255d22a9b2c8debfb3e491c0a391db65117aff1afbf38cb5d929fdd8f167bbfd97ec188cde6ac76c366b5df322615734b2a6287ee8fbfffebb10731bc33e4976c577a261b1d7c7c2a0bebb8ddc68148742ba8d292e5765aadac19fa8a70b69677aeba26ecdee57e87cf2a19807b587ffd3035147674a994a8527993e6a0d905835b22320fa975c911a83e5761bbe763c21cbd541087160d298b60e2d5660fe728c32018c6a099566e55f0a7b41009aff825c7d10c7f1ab705f6c34b84af7303ca0cd031dc85dcb691e9f3a821a70d63ab092937f6e28b5febbc9886c61f633b17157e4636a95df7b265f2a9f1bf4d3ccf0ac380ff2da60e7dfd324dfc72a440557c1c1f1f7f7eaf6674b4f839e8c0fb0e2426ddd5a586b57595b0b47888b4346fbf5dd20a0b2931fb68c057bc9859bcb510474cde2ebe93ead47370cf8b5bf5c15fcdd739ea90514a1cb47831aa86d8a4020cc26c24584edf81a66e0348524dd7fe2a0697f3515b6e4657267fb1186d0f2f6ed68d278ef40109f6d245669d9b233656cbf644cc81f87404c2c01aeca8e0259ebd15452653edce544ddc801f91dea739caf30047210f7dd049638c0e39e81a6142eabad9ac1231abb2237fe06e217b0cce090905d80c1b5ce78973f1c6193c19b16a59bfa3a507a5854e809dd958ff93c4c6eec9b31642b70d17bc47218603e64e95a6405c5af85a7ab17f6226a722b2d4351a834605567623d543b8de7b2c807713c0be3239263b9a8883153ebc74c873f284bc9b00e8de7dc2ad63a79a137f88ec3f41cdc6d9c465777ceac143ad7e250984905e1ab04eb32a529c58671e825362c3b6fb1dbf2a04aa8f6a39ade11678c87bc81bb1c0d0e20662f245ff217dac9d3c4904e240d5fb557095c652413020338d84dd69d85c4ee69d0dba02259ebd15452653edce544ddc801f91dea739caf30047210f7dd049638c0e39e81a6142eabad9ac1231abb2237fe06e217b0cce090905d80c1b5ce78973f1c6193c19b16a59bfa3a507a5854e809dd958ff93c4c6eec9b31642b70d17bc47218603e64e95a6405c5af85a7ab17f6226a722b2d4351a834605567623d543b8de7b2c807713c0be3239263b9a8883153ebc74c873f284bc9b00e8de7dc2ad63a79a137f88ec3f41cdc6d9c465777ceac143ad7e250984905e1ab04eb32a529c58671e825362c3b6fb1dbf2a04aa8f6a39ade11678c87bc81bb1c0d0e20662f245ff217dac9d3c4904e240d5fb557095c652413020338d84dd69d85c4ee69d0dba020af7aee562fd7033c3b98c876b58fb7c84b07dc44a49a8bec2426b6aaf71bdfb1dd1813b075f0736229619f2c71ab50e881ae94dbc753232ddfefc2a94aee1971e92d45cb316f06ce27fb80aeda7c705ff0948e9e26ecbe36515cab2c89ff7eb3fcfcb669a3a5f19c6d5e6ed13c1ba68e6dbb93e9d0b60303151556f28f6178b0c139b14e2f029cc073e76e7a64edf1a6f3ad871102218f612740857a33733531d95c8e017fa1e6895534fc3485c246a6b691d17e40c111566ee81de19a3c1b20a334d4c31960a61c9844aa2a55418924f410c8ce6bb75206c10b6ccadee8d3b1c2e4ebab1756f0f23f502c605b001645fb9918dbd52634ba85793651b5f2f2c0b3b8e7d3d25ea8a04f66d4e9bf09ea1fcf3625db18f9380f3304d511417d4822d98a19f0b2c4e856b644d3f30322f64772fff5be41e50cca1aebdbeb6317c7a177dbdeef57b7f879538de199d9bc38d4c3f281ea768a2d9f8f49153ee17916333c90642b81d79265e0349994fa5be88ed0cfd39dfe54d551c613a99dd2d542f16757cbde9eb9f5f59c6bb6da6ff3d7d9e8cd24ddc94847971d4facf87ee4a1c225eb35e5e6699b01693ff2025239088d5968f6bb9195fd4230a1040425b06e128dcdb1edebf50d9ee626e2e76cd0e1949a36bee01c32cc869536dfdd1bccda3172324e12140af26119d91d18932f1e6d8a32d0e0789cc532fd9c2ef2e43325f19f34934d5acb7b094cdc4a1b47488f34b4db22fc0f71af71046928bd9865ab11fd93ed2275ff6e2f2793ec11a905dcde2ce60ced0d5d03ec84b2523e43da5cf228c8b119057e8dd4ba65c5fd492162e49aece836d8b6cdfe009a4abab82359a0ce0fdf185b0ad531f95a87db902249037e2f030c9b75615dd4beda73663bf65009b9410cb6b15e9fe1ff40c2652e425db6d9b2780de8f730ca42e8cd06baca72cb76783dec14e807bc01fc49c705097911dc230859cb4639a6a3769a3a9e760000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012c9cc02b704a4e7fb06f320a153927abdb381f9b529405265c2ffdc2afc316281d25fd6556cc22b0cfb548dfa0ee00f6d5a673a7407dc16e1997ff6cffec5fd83c93b5671e4eeb34bdfcf7fcf203b4334c6ebcf8457d6eaad5a4e475aee8afb71870cd1e25ffe322557ca011724b6c44fdc456aa954416779d0ea223d81a23fa1c0d8461399e1fc6f3d8b962f797c9319d7de0e23bdce8d623df36ba35555fb0331145e7e72730c012b47a36e8f1555d9c9962a42b69ea3895b18cbafe847c711fc2697803d02d6056a5a3c44f926446472584976caccac8ebb6f6ef3450fe9d04804328a9127a0c6af2edeefa6a8baf898ea77baca7db745f8777499fc945b42d20da7691e8199880b13342c80df9066bf7bd330433ff24edb3abcada67f35d34b1af994729228035d19dd161070c6af716f0420b66d41bdb346227a767e3a0238b0d2f3115e4fdab1eb794e1d12ff3f548b69a5ac08162bb7981d7dbb3598c3846d5543a61a20c8211886d8647c0214c23cf7c9a92b7cee2e0eca42dd1d07a0a1656e1cc993dd50b6f6464e3c95051c7dbfb0c55bf86b7f0c5e114475f123009d6621443983094ae5b705dae3e2b1ac9be6a49d31d2060e9e1c11760af25ad024da5df7fe6d091d787df0dec57d447e767f456254620aef1c8ff95c12d9a7124605b3052053250e85d9ee5c736dad65d0d1acdbc1687fe2f0ddf47116dee5e3089eb8da0433efc84b31518771873a3ed4a1e466b49a4d16b8fd898edd9719b097376ac4f12c558ee1b33206733b2ef4f950d72e2d09e2036d49777fce898503d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e15004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b5470093d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad30028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec0cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e15004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff83e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b5470090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010e65808cb63d667b08f91116dcb196f0a63ee41ca2ab8f338ac122b47ee398ac000000000000000000000000000000000000000000000000000000000000000015057f8039e195f05107fa0d30df44a7a175915fa79b2d77380feda2bdb4d7d93f3e673f96a5fe941c9ccf306d2dcacef596a1d104447ed771e2c57644af372a0a4fe23ec51eb8a7f451a9aa828534256fb435e0f82be49ee6da366820a6b79d2b8b8224d75ccbde0d22ba3b9b89383f7a4c8d303f22755e90a242d59eef8f8137fa1adab699c74b4c3beabba8a37bdbce5a3235e3402d9ae7b6f54e6ecda2f037350c6fc984da69dad020807287174b2ac9820d8b706c19fce8431e0288449e3ef3af5ec01b00de2044da0c0e8bf75c7bea33a7286e639ce7d864b774c135bc316e3ddea4bc0ceac0089b5d7467bfc921a214736af92c8cd5103a46510a90402e908af4e8e2ed5d956f953137018dd683f05fb426ab29e7149f375484b6e43c1c5ba6c33fe7816f78c95cb813d99caebf86d45f9117ad5dc87cfe4475b3865c03db126c5af27cc84c305128897bdbd3ad301b7a16daaf4a33841cc3a7bed8421011a689b53ef1a16d9a839a088b9f98e46a49dc1201f7cea7238568004f5f9b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000083d9bdda6947ed4fad74cc2e358fb2ffdd70d640e5da0d605f3b5860444fd9d000000000000000000000000000000000000000000000000000000000000000000000000000000a01c18c92c309b9309c0ab9ef6585cccb41115818b8bacc30fc23492da39ca04c5196bf9db81a7bbf451dfa919d954e03abd46894838d885a0542656141ce2305615cd7a81f7e8fc4d40b2f77be63ca2fe021ccec16775b25203134854c5727fa21fb42c169f96c8614036abd97ef19b66aa4ec7d89b7fc808f55803f0feaac0200d4ddc9edc523366d234baa39862a448e2a27670018d33684f127c0ec2e442c01399d653faefd3fe146bfca9ee5903a0c5e0607eeef3b428d06093dcf67380c10fb8167c1da6a1b41b8c8313731631adb64050afeae46c671bf3a8197434889525c9901c79d922fa655d2041f2180cb6f62b45ea18110df3dc77a42c4fe8b72d196bf9db81a7bbf451dfa919d954e03abd46894838d885a0542656141ce230561c18c92c309b9309c0ab9ef6585cccb41115818b8bacc30fc23492da39ca04c515cd7a81f7e8fc4d40b2f77be63ca2fe021ccec16775b25203134854c5727fa21fb42c169f96c8614036abd97ef19b66aa4ec7d89b7fc808f55803f0feaac02023885b2d18b296898ca16334734157dedd3e1c75afb8091a0958abb7ae4d6e2b277ef37739c8fe0d3af84f732b966f0ee25d39cd26c2498824e51c44af0b4b6c092c3a952222831b60a85b1ed9e8bcf78504aae485d107b068b21da1c668159a2c556c03755d4193204148368b45816d2766ebb57d2472aa8fb92ea3fdb52a2814e73a33301b63680fc567d54b368ec56345b08a85ff223ab049dcc9273425b50eded96633aa5bca86926451f673059c84a77255ded29eab2d60ed6d2db7e1690480f8bbfa6166a660edb94e2c38afa8b4645ba78ed90a2a28cd36cce33c1e063100addc9d1e5e081ffbea0738f58ebbf8073af2741c7030cf9e1578e0e121bc1e2a15431955dfe09c606d3747960055020407ac4a34b6a4b6fe4d5017194de52be3d7bf28177331777e710dd6c56b30b2110c2589241ca14fce7852460fc6662aefbc4e39041650ba9d5f505197d9672f84a69d1aef298d016001ed1d81e54b0a91ea4a5e7bae5dc64c4405139664fd7ce6effce80650cdf70b4a58a69b5a7739316b9368d29f65e5169db77cd2a94dac7a697f8911da96585519315e475a60050148f00313493ad8ec36a3e77501d21d20f38a9d8b9d902c47cf72c88de5451fb42c169f96c8614036abd97ef19b66aa4ec7d89b7fc808f55803f0feaac02015cd7a81f7e8fc4d40b2f77be63ca2fe021ccec16775b25203134854c5727fa23c92a88d15a87855c1239d767102f4d9fa0c5a27f65fac4fe950592b5063c0c9044b638ea266a2aa8dc5ee851089afe4ab51b8ea15f58989dc5e9904dd3e0dde3491ca286e90d37168f8e9813e3dbe3cffcd640ad99614e2db90a99c3c5e084500efdc7028eef13d17f0b9d426f08027ac9e328f295f65781cdaa2a987bf377d367d5a36ff0061d56563e0c1908b707fe7536f95376bc14b929977ef6456c1fc197409babb631696d4d26f82c3c4532cc8b6d5684ee53ea52ab38f6cc43eaba63100addc9d1e5e081ffbea0738f58ebbf8073af2741c7030cf9e1578e0e121bc0480f8bbfa6166a660edb94e2c38afa8b4645ba78ed90a2a28cd36cce33c1e061f0d71a7aac38e5e7f74a13cc75eeae52d47c7d86dc472e5e90c58bbfa3456b62cf3fc6d3a33c15bab1e7cf198953fb163a041802883a6b30dc46e24325aaa120bb4a3f69d02a98085fb77e91d3eeb5156cb5d303aa6cb52daf2069fc606c9ec29cd02a1fa7d1b2dfaee2b6c47ef531355a03969c84eaf081d7945a5fe1675d6316304a43c7bb70e708bef04570457d83d387a2e369d163abd203df4f4a50bf2017666cb299e65901118a16bbd685b77b560da9da83074c21828a16d5b3a9a2700efdc7028eef13d17f0b9d426f08027ac9e328f295f65781cdaa2a987bf377d3491ca286e90d37168f8e9813e3dbe3cffcd640ad99614e2db90a99c3c5e08453731b71f028c173e8165e46e618314f5144759424b8e214781a3e0eac15df02b07a30a54c033b73751835974e6ead31a3206f2aa794767d23e7050477623ceb63bbf1c9fd9f4e881a448909b10404f9d5b897fdc2caa59c0efc1889e5677354f39c289f8bd8adc2cdca112ba54edeec77328afb9df9819b5a1d6f4946da60a741e2a15431955dfe09c606d3747960055020407ac4a34b6a4b6fe4d5017194de52be3d7bf28177331777e710dd6c56b30b2110c2589241ca14fce7852460fc6662aefbc4e39041650ba9d5f505197d9672f84a69d1aef298d016001ed1d81e54b0a91ea4a5e7bae5dc64c4405139664fd7ce6effce80650cdf70b4a58a69b5a77367d5a36ff0061d56563e0c1908b707fe7536f95376bc14b929977ef6456c1fc197409babb631696d4d26f82c3c4532cc8b6d5684ee53ea52ab38f6cc43eaba63100addc9d1e5e081ffbea0738f58ebbf8073af2741c7030cf9e1578e0e121bc0480f8bbfa6166a660edb94e2c38afa8b4645ba78ed90a2a28cd36cce33c1e060604b140c69a26bd5ffc6388e1047ac622e928c86f8e4239b7bce8d1d4ae835e02ffe4ad41e5419a9af89057070abf9f8908de8f24c7f74babc1acb2a136894925bdaf49ac10214b715d4a3b762fb703866d42f8c52bd2a1efef657d9ea207210fc3f74eeb6fa3630f8c5919eefe876125fe53a13dc9a7b9087be6c8257b38a1066774d8e0fd4b3e2501b343059594bd9859e184255e7eea62b568caf59d8f3511e5a38872cb0ed6f959a93ea007a970471a3941d1c825b0cc583672a629049b3d5baf23b3e877885fabe7ff44bd7ab02ae9f164ec7e3b26fa5f7c79fe440ffc3825f774e3974d26213dbb562070c3b4a3c83e311fc4384f973900b8c5d92fc71854c6f35e7c4c45e5cd86c4f8f33954895a51aa908cb7a2fcfce2210e4ffde62f15da7ea932946c2fc96706b2ec3a76fba938d1761d94e23771dd9e8eb382ed186329cd7055c863daa1da8dac97074a670862437e78c64bdf04309fcf377a9c1d1e7ccb2729fc4aa647c8c7b897371a45633456847cb40f19671ba5f4e5c526062a7e9a9dabc2a4c68475b518fd99b7dcd41b0190f568c5e0113444a27580c90aa8cdc8cf4aa09345bad51a944fb5f4322328eb85a1f20a98e106d8b77387e20bef18501eb25074b536497b9b08db8b2b8c6f63ead271cde592e787e42833f629928e4878cd7439cbb359d9ca2562d980df27361823088d12d864bddff50bcc072f261da2dce6fc53b7363abe1428e64b77868679297d8a3aedd2a87df6e59c2db38ff9b88c822ca9eda84d8f7747190631956aad23ba329ff5cdb7c808d04339c289f8bd8adc2cdca112ba54edeec77328afb9df9819b5a1d6f4946da60a743bbf1c9fd9f4e881a448909b10404f9d5b897fdc2caa59c0efc1889e5677354f2cf3fc6d3a33c15bab1e7cf198953fb163a041802883a6b30dc46e24325aaa121f0d71a7aac38e5e7f74a13cc75eeae52d47c7d86dc472e5e90c58bbfa3456b60bb4a3f69d02a98085fb77e91d3eeb5156cb5d303aa6cb52daf2069fc606c9ec29cd02a1fa7d1b2dfaee2b6c47ef531355a03969c84eaf081d7945a5fe1675d62be3d7bf28177331777e710dd6c56b30b2110c2589241ca14fce7852460fc6661e2a15431955dfe09c606d3747960055020407ac4a34b6a4b6fe4d5017194de52aefbc4e39041650ba9d5f505197d9672f84a69d1aef298d016001ed1d81e54b0a91ea4a5e7bae5dc64c4405139664fd7ce6effce80650cdf70b4a58a69b5a7702aeca79228483cfe997ae73c2b3dd2894a0ce04655bcd19e9ec0810e3c4ef2c00bf4943663b6dfb598fdde8bb57c8cbecec8bb76ac6d15d7912857ae5a6766d17841dad5db26c8ab42ef395d1e95e99c999f89c934840d5c3f145cf8141b3361dfd88eb39cd5823ccbaafbf9344dfcae2d19dfd6fad3985347a067642db8c8c2c28e1e924227bea2b16f4497d272c069e503ae319cfa3e343e30db45aa864eb1970ab02d65940923c1815a35e2160f8c957f3d2e4a1f007dc05b6f17631f2ac236a0031a00074953d139359df3991a01899039b4c769de6f4136ecdc28cfce31217a666f77f501943d60ffb85f4acc493d292feb67edc740457dd78019042df3c92a88d15a87855c1239d767102f4d9fa0c5a27f65fac4fe950592b5063c0c9044b638ea266a2aa8dc5ee851089afe4ab51b8ea15f58989dc5e9904dd3e0dde3491ca286e90d37168f8e9813e3dbe3cffcd640ad99614e2db90a99c3c5e084500efdc7028eef13d17f0b9d426f08027ac9e328f295f65781cdaa2a987bf377d3caa186247f430cfc3f19d8a2f47dd81f062eb5463914ec09c4e6239a54a83a01ec046c7826cacb9ee41225fc1143c5ec82061c3906acd7acf9bd01b3c705d503825f774e3974d26213dbb562070c3b4a3c83e311fc4384f973900b8c5d92fc73d5baf23b3e877885fabe7ff44bd7ab02ae9f164ec7e3b26fa5f7c79fe440ffc316304a43c7bb70e708bef04570457d83d387a2e369d163abd203df4f4a50bf2017666cb299e65901118a16bbd685b77b560da9da83074c21828a16d5b3a9a2700efdc7028eef13d17f0b9d426f08027ac9e328f295f65781cdaa2a987bf377d3491ca286e90d37168f8e9813e3dbe3cffcd640ad99614e2db90a99c3c5e0845277ef37739c8fe0d3af84f732b966f0ee25d39cd26c2498824e51c44af0b4b6c23885b2d18b296898ca16334734157dedd3e1c75afb8091a0958abb7ae4d6e2b092c3a952222831b60a85b1ed9e8bcf78504aae485d107b068b21da1c668159a2c556c03755d4193204148368b45816d2766ebb57d2472aa8fb92ea3fdb52a282885cc06a0d4b5303c1dff67f27a12a2ce5daae75a48ae376154a8a08363265a2a49f891a6127b09adcf65b61cc39d822116e607a0592b0e1a30190640c68ae525c9901c79d922fa655d2041f2180cb6f62b45ea18110df3dc77a42c4fe8b72d0fb8167c1da6a1b41b8c8313731631adb64050afeae46c671bf3a81974348895066774d8e0fd4b3e2501b343059594bd9859e184255e7eea62b568caf59d8f3511e5a38872cb0ed6f959a93ea007a970471a3941d1c825b0cc583672a629049b3d5baf23b3e877885fabe7ff44bd7ab02ae9f164ec7e3b26fa5f7c79fe440ffc3825f774e3974d26213dbb562070c3b4a3c83e311fc4384f973900b8c5d92fc723885b2d18b296898ca16334734157dedd3e1c75afb8091a0958abb7ae4d6e2b277ef37739c8fe0d3af84f732b966f0ee25d39cd26c2498824e51c44af0b4b6c092c3a952222831b60a85b1ed9e8bcf78504aae485d107b068b21da1c668159a2c556c03755d4193204148368b45816d2766ebb57d2472aa8fb92ea3fdb52a2812486fb7e5a59758871df7cdfe7993e15c03726dbb625034761de89c6b0991e319b40a5fbcc58430c11b2ac82ae92fa2d451f01229b4cb81c998dc05877eb28b05cad124b4de87857beb9f67cb4905836e07457e3fe421cfdd5ee0eca89e6f0a2fb6d573e2a13d2904fe03ed99e538e13e64511bc311588b1b0c6b591b7ed0b82a49f891a6127b09adcf65b61cc39d822116e607a0592b0e1a30190640c68ae52885cc06a0d4b5303c1dff67f27a12a2ce5daae75a48ae376154a8a08363265a25c9901c79d922fa655d2041f2180cb6f62b45ea18110df3dc77a42c4fe8b72d0fb8167c1da6a1b41b8c8313731631adb64050afeae46c671bf3a819743488952885cc06a0d4b5303c1dff67f27a12a2ce5daae75a48ae376154a8a08363265a2a49f891a6127b09adcf65b61cc39d822116e607a0592b0e1a30190640c68ae525c9901c79d922fa655d2041f2180cb6f62b45ea18110df3dc77a42c4fe8b72d0fb8167c1da6a1b41b8c8313731631adb64050afeae46c671bf3a819743488950604b140c69a26bd5ffc6388e1047ac622e928c86f8e4239b7bce8d1d4ae835e02ffe4ad41e5419a9af89057070abf9f8908de8f24c7f74babc1acb2a136894925bdaf49ac10214b715d4a3b762fb703866d42f8c52bd2a1efef657d9ea207210fc3f74eeb6fa3630f8c5919eefe876125fe53a13dc9a7b9087be6c8257b38a1316304a43c7bb70e708bef04570457d83d387a2e369d163abd203df4f4a50bf2017666cb299e65901118a16bbd685b77b560da9da83074c21828a16d5b3a9a2700efdc7028eef13d17f0b9d426f08027ac9e328f295f65781cdaa2a987bf377d3491ca286e90d37168f8e9813e3dbe3cffcd640ad99614e2db90a99c3c5e08452c28e1e924227bea2b16f4497d272c069e503ae319cfa3e343e30db45aa864eb1970ab02d65940923c1815a35e2160f8c957f3d2e4a1f007dc05b6f17631f2ac236a0031a00074953d139359df3991a01899039b4c769de6f4136ecdc28cfce31217a666f77f501943d60ffb85f4acc493d292feb67edc740457dd78019042df0fb12c7a472afe5376af54d1b8e1b0d827e78bb73351fcd627c2c1efcf9a4fc21b01b522ce7ed0f35ee9d3b9f5086cd0a1d73bd31a2d915f76894931380218560fc3f74eeb6fa3630f8c5919eefe876125fe53a13dc9a7b9087be6c8257b38a125bdaf49ac10214b715d4a3b762fb703866d42f8c52bd2a1efef657d9ea207213731b71f028c173e8165e46e618314f5144759424b8e214781a3e0eac15df02b07a30a54c033b73751835974e6ead31a3206f2aa794767d23e7050477623ceb63bbf1c9fd9f4e881a448909b10404f9d5b897fdc2caa59c0efc1889e5677354f39c289f8bd8adc2cdca112ba54edeec77328afb9df9819b5a1d6f4946da60a7402ffe4ad41e5419a9af89057070abf9f8908de8f24c7f74babc1acb2a13689490604b140c69a26bd5ffc6388e1047ac622e928c86f8e4239b7bce8d1d4ae835e25bdaf49ac10214b715d4a3b762fb703866d42f8c52bd2a1efef657d9ea207210fc3f74eeb6fa3630f8c5919eefe876125fe53a13dc9a7b9087be6c8257b38a12eb031e5c53a797aed51084dad51f7b859f415847e0afcc9a535ed873f9d2bc33d9ca433513fdd71cda626523cc7ec8adb4660d96fba70a35a805538a0e0c82b1d1e7ccb2729fc4aa647c8c7b897371a45633456847cb40f19671ba5f4e5c526186329cd7055c863daa1da8dac97074a670862437e78c64bdf04309fcf377a9c00000000000000c800000000000000180000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000010000000000000020c3db3abb62313d17c64fa4711e4a65c5b715ec7e37a83ed63ed7b5e4888ebd030000000000000001000000000000000100000000000000204536f7493e46af7ae74c52f21d137b781ab41b8d1503fa4f2492f216257d0e4700000000000000010000000000000001000000000000002041b447898ab19c91b1dbde93ea50c40354c2647926dd2df1d267edeeb4fa5b900000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000180000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e000000000000000600000000000000010000000000000001000000000000002026b9889aac565aed929d1e1000f7179a2cadfd6a0ec3a698630eb39ea9117f7b0000000000000001000000000000000100000000000000202aede3564ebfa30e74b8e2011d40a14f2a016492169b85c1f9415a281dbc49f7000000000000000100000000000000010000000000000020376d244ad38898e5a2d4a5d1596faa89190bb6be0021523a316dc31147bdabe8000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001800000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020b76aad33581906763492ca7f657fdb8e8f72f27241783c2a2320b4d4650695b90000000000000001000000000000000100000000000000205a64356ff836f1b5bb7a29fd6c463768ddd13ed2a696b53f78ed78ee0bb4cafc000000000000000100000000000000010000000000000020d2265cc4b0e0ec253daf019c42c18e9892f1d3d42f780a38ddc970c5ea601ec0000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000180000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020e1bddbb854c6a447633a125f0e17c2b526e7dc298ceaa92db5eaebf12be3344d0000000000000001000000000000000100000000000000200e0ca5abf4e62df7b042dfc3b847445e62b548dd77607f2099440116fd2191730000000000000001000000000000000100000000000000202bd5bc2aae11708a83ed6c70400c35fb925d34b3bb0af3e56f41c60dc6b64d5b0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001800000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000207d66155fd41151b66c684061d92b8fed6c73ec3172022bd1dd45ebdc5676e4e9000000000000000100000000000000010000000000000020dcfb0ea8eaab733dea9d66f7cbe860cc2dc7d69ea2faa9da4de7681cfa63e4b000000000000000010000000000000001000000000000002076125010b4e1447f228f19fca245759034b4dfd27b4eb574566a4c504efe059000000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000370000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020a3411521e529ad15ced4ccfabf5f741fb45fc258e068df94eac3a6bc8050f566000000000000000100000000000000000000000000000020af10c5c4dbfe0ae7d40ae80cbb399ff0ef8a3020aceee74eebf5f5da0a49f123000000000000000100000000000000000000000000000020cacc7d788bbdb1c4d5dbf47f8afd9ed9b975d2203ba1769a80caa833f3fbb946000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000370000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000207bdf15c093ae042559fa8276bde2e2de91aeb06916b9f64bb243a360484a7639000000000000000100000000000000000000000000000020ccbcc62e2e45f858be8e923e16326816135ae07a8d494cad2676102933a0113100000000000000010000000000000000000000000000002073a7127e76a6c5c3b45234b5814ccbf96b9d757a279114bbd33a663bd26d006e0000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003700000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020fc87ec639907776f54dae359199fbfa904cead6d26a95ba80d2f77a49e69571e0000000000000001000000000000000000000000000000202889fb3f563efffa22e57f1cc6a78e61698267dee73d63defdf24bfae1a231020000000000000001000000000000000000000000000000200619222d3c3ae397cc2a01fd316510e6f6ffa02f283b721e1b6f9f046789ebc4000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000370000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020cbd31358053cbc15031570ca89e88e867e2fdc0b58d2745c1b553e2c4487df5b0000000000000001000000000000000000000000000000203f4e860a011383e0ff8580afdac1c08c124f1072dd309c262195e0873b7fbec20000000000000001000000000000000000000000000000203b58202162ceed9f98116d11f9aaa721ab4d1fda624eb2924cfd643d60c77ad7000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003700000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020517e34a3ab3a474e4e17e8620476d5b4a8887ce8796bc5874a046dca63343fb2000000000000000100000000000000000000000000000020be7db9b3ea254771d45a37baabf1bb9f407b9df69d0178691ad12422e82a13db0000000000000001000000000000000000000000000000202ddc579aad7161d43bbc5ce4ab23509e47e0060f89d0725af7fc4598c99ce4dc0000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000380000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff1000000000000000600000000000000010000000000000001000000000000002047d5bdc22d4cc9d2e30712eb6b535668edccd3c54e642dffa49675ed2e49beba000000000000000100000000000000010000000000000020314e9a848ea1d25911258d74b19f092dd444faf4da08b8c00a4f09adb9d4c623000000000000000100000000000000010000000000000020f8aa5e6a5b89d4a39d02bfe4f6c3c38deda3ec6df5ade3707863ea2453f03b73000000000000000100000000000000000000000000000020228ad46578c60a8ae293c5203eb65e05045bb3651cc7f9dca5fdd52a9c021f9f000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000380000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000203b312fb894342a3d1ab0f8d554c0b9119e28d879678de6f0ad8437f5e1b8064a000000000000000100000000000000010000000000000020d409436a38cce955294f3fbb27f4d65e7100e98f4d77022a741a6e99195a3afd0000000000000001000000000000000100000000000000206d13fd38b84ca4e30cf7ae1f472014bbebd3d7449bae674ad6a36fae582015a8000000000000000100000000000000000000000000000020d3fe0ac3f0592a168395476738f2d379d0581dd02807271399e479432d094ace000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003800000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000100000000000000200817dabd255911dc8b52c70988342af65f356710f619ffcd5feeba0165e66258000000000000000100000000000000010000000000000020a41ad284f30824ca6603f5026d657d3a99087a8d0b2ece65ff70b147f2813f510000000000000001000000000000000100000000000000205a3c99c6b716290be592010936ba64a1b21ebd8603df724fad064a7a823c47600000000000000001000000000000000000000000000000203ba5f02812810d6739f0146771cd3e86ccd0bbcc336d4aee700bec1afa6b11260000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000380000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000100000000000000206d33daf15b97b5c64a64eb8a2bd30723e0907a2ee8fdcdde1102803d42f50ec90000000000000001000000000000000100000000000000207e2763aa457bdf1f73f5a929e299dff23822b6852dbcc87c933510f6ae071328000000000000000100000000000000010000000000000020c7891b8ad5aeee087a22f905e4345a1c20b9e00031b846d413299a635f85f5f3000000000000000100000000000000000000000000000020b36f4ccbb0d7f10b29e0bfa83340e722c8b6763ed3a495cd1aa2d8bd04d57dc5000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003800000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000001000000000000002035faf580fd02bf2cba973ca64152d3b1713946aed0c645a52679f2020c62b6db00000000000000010000000000000001000000000000002081d4ee5b536d53befa4c662d5953e15ce1a1e2f88f8f3f15314bcb0b4fc9f14f0000000000000001000000000000000100000000000000207a5068101d4d91cf8599b48187a825f61d6103896eb6a7b51be4b360ae46f9b00000000000000001000000000000000000000000000000208b8cde5cdcc546e0fc0446ebafeef03e9d0067324f0189814fd6404c1bfd349f0000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000320000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000010000000000000020cead2a72fa7974c8cd84b21e2362159483af9bb8274514838dfb974484a1575000000000000000010000000000000000000000000000002005bd0da2469f2c21b3a29c3fb9805e1c169b17d94f8f17fb27b467cf42de28db0000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000320000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000205171129cc905c8d4a2a5e72692fa2146a126401361ba92ac1f21e9fc301a8f5600000000000000010000000000000000000000000000002065f01400d8c5267b0c9e1b41ef2836adc1616da98100daa5b32b8ba39b374ee10000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003200000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020e7a91d327889a824de3b63b40ae0c04d3b0eb6fb50fa0d9df6eb6ab3cfaa2668000000000000000100000000000000000000000000000020fb1c512b5fd40b13b13e27176dd54a24bece81a3719811d1c1525960ea61728a00000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000320000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020c83e2ce6b553a01227a24d87e7ce1be2ea2b53013a90fefdb997c31feb019f160000000000000001000000000000000000000000000000207c4943346d19abc52fa6dabeedee92d2744b5b29f2a77392fda371186409c51d000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003200000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000203b57471ba77c63e7d6a90e66906bfe168efc799b33afa1952c6f94a0d500501d0000000000000001000000000000000000000000000000201d97da85ccf54c8fbf4a2da8f7344e745fa6c763b9f666be12fefd53ef575409000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000002b0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000202cc0a05107243620d3b647e265e82b8acebe905524da6da10e8bac593830a70900000000000000010000000000000000000000000000002064f12c9571923baec5fcc14481a7dfea3e02c1bfc8c062111edc34018395b7160000000000000001000000000000000100000000000000200ebe305ff48b2729427a6d3d9c605f9d8749d8a7f371875c0845a2841f05d610000000000000000100000000000000000000000000000020c5955793ab286002e2bc4ea091ab49e689f85a1a02effe9360301649450f713e0000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000002b0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020449a30f4fedf230c522be5fd070605f8c9841aa6e05ecc8c29e9c0fdcb6e0734000000000000000100000000000000000000000000000020372b730b0fbf5e9e53c6d82f9ea174dfa93e2b45f3d0604b1487c24ff8cbe32c0000000000000001000000000000000100000000000000201cef524c4bbd4352e55a822f72b50f13a0d37a3b4bd840b09474319d06e88b350000000000000001000000000000000000000000000000204c549c0a06011a5b940afdd9c949f7c54668b0449c63f74f64a3a00d1cc2a37800000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002b00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000207829f28958d356f78324d08e4d2e4f31133176d9649dd00b5433eda2cad61172000000000000000100000000000000000000000000000020d3f3a1276e86b7cb651cfe0b9e52a3672a7a8542d123753360b4a6e824c1779800000000000000010000000000000001000000000000002020b69175d321b24a4a00d8d18a6963347c3123f556d358b88582f8d36b44b8c1000000000000000100000000000000000000000000000020e6729a3cfc74955cf085843ef3c6fbd390113d9cff9812bd238abfc2c9d4f20f0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000002b0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020215a3c99e7d3477578adb166bd9344a61c6336edc201fa8051b5394cd60d8ac90000000000000001000000000000000000000000000000209a45b35b42c6061884c4afd3351a06b419b331b077141f9cbd7826bc76d3757b0000000000000001000000000000000100000000000000201c9bd00c01d9dc7de0346e64a7859e5112e5d31bf1a05465dfd40850df5b874c000000000000000100000000000000000000000000000020775408d12a472a8fc9c7742b042f9e3ba4c74f4d0346c73dc9d199e1683cb5270000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002b00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000000000000000000208f6b14970fd6fc18a954d3f8787deda9d2214042f0149b88f908c556983c903d00000000000000010000000000000000000000000000002068fe7593610859428cee7cf473e82e87fdcdfddb9fa101728dd3c3668165a8390000000000000001000000000000000100000000000000202a23312debd1c6fb4163c27803b60164fc5b80c19fc3765831e06fa8f7e3daf7000000000000000100000000000000000000000000000020665a859141cdcf17279cb2dd5f1f7158a6bb6542a0eeaa6409aa65515b91986b000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000001e0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000205b22e826fa41eab497f0d44485ed30b89e70dc3b8991721ecacea7676a1160ba000000000000000100000000000000000000000000000020a99b7e2901520fe9aa438e0b1d9ff1d42abd1e4774fe50a7af9abfdd5aeb49f0000000000000000100000000000000000000000000000020cd05d024922075f0d2191dff6b6b8977913542096c687b1aa6a6880a30f4f1780000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001e0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000204770899cd3e2cc4095956d615386c336d78390d82891791393ec7efd021b50d20000000000000001000000000000000000000000000000202a2de0868c528815ae4a83f77bed5e4618dd7631755e6f37a518ff031e998dfa000000000000000100000000000000000000000000000020e216681d6f38da8409d5c77334f0f51de756720aaa028880c59d6a832095ad4f000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001e00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000001000000000000002040c82880fb4bb924142e098f23b0680999ce81ac0714e28d4a68120160e2c54f000000000000000100000000000000000000000000000020fe74716e5471b900485bece655be49887891033d2dc85bf2187722bbaf7db16d00000000000000010000000000000000000000000000002067eb9dfba8d9c97ad33ffbd80286355623eaffe46594cb686cbf92caffddbeb7000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001e0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020f15ea7dd3a19528d375817954de1042824b4d94b0efa6f7b71681ceef344f6f9000000000000000100000000000000000000000000000020476e421de35963ff5c0a99264edfdfbb6bcc96c26d9d78041d41df623cf040130000000000000001000000000000000000000000000000206667eeb55e8272a8973a7ebb6f13d6368a351834bbe692ce44dcea336157217f0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001e00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000010000000000000020374bad040d9fbda81e9d1d7295578c8220dbdb5d350c6c3e04b039dbbcf915d300000000000000010000000000000000000000000000002092d652c2833033649c0554290477d2db54551f9c25f81b1a53295149016843e50000000000000001000000000000000000000000000000204475c5b2e2f68e38991dfad8ec227a4be23b75f3ee62d3a56dfae71a582f72d200000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000280000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000203fc4f8175b9c92350566386ba4636deeb2ec6d4187f6d0d3208c3db577ee4c1a000000000000000100000000000000010000000000000020c600a084e5647679dce1e61667cd049aa01cd0b29e54cfef6b28350be80914810000000000000001000000000000000100000000000000200ebe305ff48b2729427a6d3d9c605f9d8749d8a7f371875c0845a2841f05d610000000000000000100000000000000000000000000000020c5955793ab286002e2bc4ea091ab49e689f85a1a02effe9360301649450f713e0000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000280000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000010000000000000020c6f1cc07680dcd75a8f53c63f310a6d897c61d167e7cf74e0c15cd99fc146e0f0000000000000001000000000000000100000000000000209fb59ccf252a0568bd152caf34d3269d3a2b9a39857511b0bd86c4af33ce8dee0000000000000001000000000000000100000000000000201cef524c4bbd4352e55a822f72b50f13a0d37a3b4bd840b09474319d06e88b350000000000000001000000000000000000000000000000204c549c0a06011a5b940afdd9c949f7c54668b0449c63f74f64a3a00d1cc2a37800000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002800000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020d9bbc04a20d15af5ea622687a44223b3a7e30ffa36c2a913a048c42442517480000000000000000100000000000000010000000000000020eb43baa88a6569acfc259221701fe8fd581ceb9f31a59b8bfc6fcb342e08607800000000000000010000000000000001000000000000002020b69175d321b24a4a00d8d18a6963347c3123f556d358b88582f8d36b44b8c1000000000000000100000000000000000000000000000020e6729a3cfc74955cf085843ef3c6fbd390113d9cff9812bd238abfc2c9d4f20f0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000280000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020ccf6f6e12b650bb5296ef21fb7fa7d6d065e661a56267a6c1e6a1fdf4523d428000000000000000100000000000000010000000000000020374ec6ff44381b5792fb49a4ee1db0b4a7688d9aa06240a97c415f7026604b8b0000000000000001000000000000000100000000000000201c9bd00c01d9dc7de0346e64a7859e5112e5d31bf1a05465dfd40850df5b874c000000000000000100000000000000000000000000000020775408d12a472a8fc9c7742b042f9e3ba4c74f4d0346c73dc9d199e1683cb5270000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002800000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000200964e7b80222a102c277951292caa2811b7dbf86998fae772daaf838a56b3a9a000000000000000100000000000000010000000000000020960d201b95efd82d98ac717f2e2c87f77de43e2851b874431d6b2587c5f644d50000000000000001000000000000000100000000000000202a23312debd1c6fb4163c27803b60164fc5b80c19fc3765831e06fa8f7e3daf7000000000000000100000000000000000000000000000020665a859141cdcf17279cb2dd5f1f7158a6bb6542a0eeaa6409aa65515b91986b000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000190000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020f878c3196a2404bcd842121562576c7d651583fe9d63c1aaa1b869d205e345230000000000000001000000000000000100000000000000204536f7493e46af7ae74c52f21d137b781ab41b8d1503fa4f2492f216257d0e4700000000000000010000000000000001000000000000002041b447898ab19c91b1dbde93ea50c40354c2647926dd2df1d267edeeb4fa5b900000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000190000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020c4c0ee0f8712b96d147ac05da64c1b99a740846e9a50722ac61b17649b751bff0000000000000001000000000000000100000000000000202aede3564ebfa30e74b8e2011d40a14f2a016492169b85c1f9415a281dbc49f7000000000000000100000000000000010000000000000020376d244ad38898e5a2d4a5d1596faa89190bb6be0021523a316dc31147bdabe8000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001900000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020e3a0d667c662cdb4652e27a19abc1d27a11efb833f6faa7f47c39880e6a00d030000000000000001000000000000000100000000000000205a64356ff836f1b5bb7a29fd6c463768ddd13ed2a696b53f78ed78ee0bb4cafc000000000000000100000000000000010000000000000020d2265cc4b0e0ec253daf019c42c18e9892f1d3d42f780a38ddc970c5ea601ec0000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000190000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020bb05dfdb343524b601c665ccb7b1bdcb52065480b29c3822d5a333c1bf78b7c80000000000000001000000000000000100000000000000200e0ca5abf4e62df7b042dfc3b847445e62b548dd77607f2099440116fd2191730000000000000001000000000000000100000000000000202bd5bc2aae11708a83ed6c70400c35fb925d34b3bb0af3e56f41c60dc6b64d5b0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001900000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000000000000000000002032577a4f9867122af27f76f72670cf6aae4a9cb6b605ad5463a23d1523ed4714000000000000000100000000000000010000000000000020dcfb0ea8eaab733dea9d66f7cbe860cc2dc7d69ea2faa9da4de7681cfa63e4b000000000000000010000000000000001000000000000002076125010b4e1447f228f19fca245759034b4dfd27b4eb574566a4c504efe059000000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000001b0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020e097336d0e54d4b51bef6341212b3daee6914bfccc3d4748234515ed2eacb31000000000000000010000000000000000000000000000002025869b3bfc83d2ac9e22b0435bc7b9eecebd9af67bb1ab70c73af73bbfb82aaa00000000000000010000000000000001000000000000002041b447898ab19c91b1dbde93ea50c40354c2647926dd2df1d267edeeb4fa5b900000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001b0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000207fd9dd34dbbbf455462d2540c34603f622c7e2c1049fa123dc896741e092828300000000000000010000000000000000000000000000002041147c76c450b91332ff9d973d13a33037d91aaaca22c1d66385e4ed40e50191000000000000000100000000000000010000000000000020376d244ad38898e5a2d4a5d1596faa89190bb6be0021523a316dc31147bdabe8000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001b00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000205127c48570af1c42d138af0dfc06d40b8bdf6407a81a641585bb56d930739db6000000000000000100000000000000000000000000000020ba98e88d8cd7e7bcb974ed4ae565e15f9d8a401dba8e05cfc4e55e1c3684a748000000000000000100000000000000010000000000000020d2265cc4b0e0ec253daf019c42c18e9892f1d3d42f780a38ddc970c5ea601ec0000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001b0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020a221ac60d1e9f076a6f9cc2671671512dc85e16cdc070e4c063b58b5a15957f70000000000000001000000000000000000000000000000205e156f018a95f96a97b66062b8992b869ff509ad70836c9e257cb31c027f084d0000000000000001000000000000000100000000000000202bd5bc2aae11708a83ed6c70400c35fb925d34b3bb0af3e56f41c60dc6b64d5b0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001b00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000000000000000000002017dc1a8a04684ec51512fd314154ccca1a646ab6807a6f4b47e07a3bdbf324cc0000000000000001000000000000000000000000000000204d2d58f2d9328a2e508dc93697cd00b4e566f99b54d47f6215398a53c0cc8b2a00000000000000010000000000000001000000000000002076125010b4e1447f228f19fca245759034b4dfd27b4eb574566a4c504efe059000000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000350000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000207c94017f1fb6147ba3e921f88be16fe2b5cefa8f7a8b23bc85945becaf18382a000000000000000100000000000000010000000000000020c362cab2e6c4dc6ea82bb6f4ded48e2f8eb7e24ef0fa0baea7e88c5951f51ecf000000000000000100000000000000000000000000000020cacc7d788bbdb1c4d5dbf47f8afd9ed9b975d2203ba1769a80caa833f3fbb946000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000350000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000203e110ccc27f78d2053b055f013cd3746e7bb8e9db6260646682e83a67cf2080f0000000000000001000000000000000100000000000000204f8481d122e0655a5260d7d5ac27ab8f58be0e674599e596783b978e063f1e4d00000000000000010000000000000000000000000000002073a7127e76a6c5c3b45234b5814ccbf96b9d757a279114bbd33a663bd26d006e0000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003500000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020098082b93c4b8b7aa0706447df59f980b203fbe6d53b1b9920dd40ff6d6d4057000000000000000100000000000000010000000000000020cff81214ee45808bbe6c966b81889cc60bbc895b69cf7b8f49901c21548118e70000000000000001000000000000000000000000000000200619222d3c3ae397cc2a01fd316510e6f6ffa02f283b721e1b6f9f046789ebc4000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000350000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020ce52d4978f5aee4b95aeb2fe00b5f58da1e49b079c673c3f023e2164ee5cc6b4000000000000000100000000000000010000000000000020548034983525eaaabc282765c2b3e48c5d8cbd51ec2260de8a88a635e6fd28a50000000000000001000000000000000000000000000000203b58202162ceed9f98116d11f9aaa721ab4d1fda624eb2924cfd643d60c77ad7000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003500000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020a174e94c3cfbd5e2eacf91c56b4acfb6285568e25ccf449af124c08c5d08eda50000000000000001000000000000000100000000000000207c1c9b50633c5ed75f801a73eded6e38f1f71e0a41a52423d09cffea61ef76a10000000000000001000000000000000000000000000000202ddc579aad7161d43bbc5ce4ab23509e47e0060f89d0725af7fc4598c99ce4dc0000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000090000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000208e04b4c723612b4d1e333accc4e24a04d69c173578faf07c8d2b973c0be9fb4100000000000000010000000000000001000000000000002014aa8e29f77d6a5fb881904df608256632c6604fbfb5192158e0932c0baf514500000000000000010000000000000001000000000000002093c99af014a3514bdcc84cdf0e72d42f20038a64dcba4071efdcce4cf6a76949000000000000000100000000000000000000000000000020a07353c5029eac2f5fb14b7aaa839b9ff2b01dd6feeb51c341820462ab766306000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000090000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000201e1426bc22e09b48e2f3902ae15397de929e0b50905519518b2ffd6ff87b0f8d000000000000000100000000000000010000000000000020ff5c9eed6e4075d1dc3dad1312c9f0e4bcc23270345f8eea8c11a5b3619b24aa000000000000000100000000000000010000000000000020e23783733f2d245e0738ed8503ab8c6aef3aa526888e6b8dc670bfe0e224b8ff000000000000000100000000000000000000000000000020a45ee5473875579efd498bb9c2b6715752587f3d8b2592b454ecfaa7a4333af7000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000900000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002090259637a3c7b6f20b290a76270095fb089607c21cdf4ed39484811960008919000000000000000100000000000000010000000000000020c889db6dac504943b1318bf84cfb6161210a7bbf617bd1bf82ab2e6ced97160100000000000000010000000000000001000000000000002007d39646b95a092ed5be38ad4474ad567990da4b66916cee90277a4683cecfe2000000000000000100000000000000000000000000000020cb2225a536a9a8509dad5337de8367dfda433645ebe75afeb88dfb64402946580000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000090000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020d1003b2e0b187f648ec76687af72d962a72afad5ac9eef8a65af7e534be416120000000000000001000000000000000100000000000000200ab693b6366c8573076e7521cd4638cc1f6356137793dca71188f64773666fd800000000000000010000000000000001000000000000002062cf2958fbe0482b505bd906f7e195c3cd89bd9bd1e7d56ae0a1892edf97b6f70000000000000001000000000000000000000000000000205703aa589706527fd7b043fe791c15b2a64fb4907ff101521eb03d6c1a6ab7c400000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000900000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020b2fd2de80747c7ce529604c6e7bce35d886f56115b4684e53e310d816220dbf400000000000000010000000000000001000000000000002027654f6212b3887526cc2b00c77b11134cf26743032966b1c25f08fb46524933000000000000000100000000000000010000000000000020c8ef28dfc9de5c5d1e4b74e0069effc812426b9083bf6c22359078f15c246636000000000000000100000000000000000000000000000020e8e156ddb580d513fc7e8887f92b8a2d9520aac92258afe450abfeba164c3d0a000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000330000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000207344f3e7f6af9883c597d6e1f3a288c3ffc6aceb35435477812a31e3317c741900000000000000010000000000000000000000000000002005bd0da2469f2c21b3a29c3fb9805e1c169b17d94f8f17fb27b467cf42de28db0000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000330000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020e531ed69121bdf5b18ac52087e7e317b94e4f8c8b4269cef4cc727a80b662a5500000000000000010000000000000000000000000000002065f01400d8c5267b0c9e1b41ef2836adc1616da98100daa5b32b8ba39b374ee10000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003300000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002085674136c1c7052278bb5b81cec697fa887a824d5a77f3aab249dc3cac37c5c6000000000000000100000000000000000000000000000020fb1c512b5fd40b13b13e27176dd54a24bece81a3719811d1c1525960ea61728a00000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000330000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020af3d5222fc0999ef23147d2521755beb3f7682fabec9fc91af16b66d6368c6ab0000000000000001000000000000000000000000000000207c4943346d19abc52fa6dabeedee92d2744b5b29f2a77392fda371186409c51d000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003300000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020396c867cdcd84b0aa2c80470ea16ec6e2d2ef6330a89547450ec9de4f5454d3c0000000000000001000000000000000000000000000000201d97da85ccf54c8fbf4a2da8f7344e745fa6c763b9f666be12fefd53ef575409000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000001e0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000205b22e826fa41eab497f0d44485ed30b89e70dc3b8991721ecacea7676a1160ba000000000000000100000000000000000000000000000020a99b7e2901520fe9aa438e0b1d9ff1d42abd1e4774fe50a7af9abfdd5aeb49f0000000000000000100000000000000000000000000000020cd05d024922075f0d2191dff6b6b8977913542096c687b1aa6a6880a30f4f1780000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001e0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000204770899cd3e2cc4095956d615386c336d78390d82891791393ec7efd021b50d20000000000000001000000000000000000000000000000202a2de0868c528815ae4a83f77bed5e4618dd7631755e6f37a518ff031e998dfa000000000000000100000000000000000000000000000020e216681d6f38da8409d5c77334f0f51de756720aaa028880c59d6a832095ad4f000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001e00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000001000000000000002040c82880fb4bb924142e098f23b0680999ce81ac0714e28d4a68120160e2c54f000000000000000100000000000000000000000000000020fe74716e5471b900485bece655be49887891033d2dc85bf2187722bbaf7db16d00000000000000010000000000000000000000000000002067eb9dfba8d9c97ad33ffbd80286355623eaffe46594cb686cbf92caffddbeb7000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001e0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020f15ea7dd3a19528d375817954de1042824b4d94b0efa6f7b71681ceef344f6f9000000000000000100000000000000000000000000000020476e421de35963ff5c0a99264edfdfbb6bcc96c26d9d78041d41df623cf040130000000000000001000000000000000000000000000000206667eeb55e8272a8973a7ebb6f13d6368a351834bbe692ce44dcea336157217f0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001e00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000010000000000000020374bad040d9fbda81e9d1d7295578c8220dbdb5d350c6c3e04b039dbbcf915d300000000000000010000000000000000000000000000002092d652c2833033649c0554290477d2db54551f9c25f81b1a53295149016843e50000000000000001000000000000000000000000000000204475c5b2e2f68e38991dfad8ec227a4be23b75f3ee62d3a56dfae71a582f72d200000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000001b0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020e097336d0e54d4b51bef6341212b3daee6914bfccc3d4748234515ed2eacb31000000000000000010000000000000000000000000000002025869b3bfc83d2ac9e22b0435bc7b9eecebd9af67bb1ab70c73af73bbfb82aaa00000000000000010000000000000001000000000000002041b447898ab19c91b1dbde93ea50c40354c2647926dd2df1d267edeeb4fa5b900000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001b0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000207fd9dd34dbbbf455462d2540c34603f622c7e2c1049fa123dc896741e092828300000000000000010000000000000000000000000000002041147c76c450b91332ff9d973d13a33037d91aaaca22c1d66385e4ed40e50191000000000000000100000000000000010000000000000020376d244ad38898e5a2d4a5d1596faa89190bb6be0021523a316dc31147bdabe8000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001b00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000205127c48570af1c42d138af0dfc06d40b8bdf6407a81a641585bb56d930739db6000000000000000100000000000000000000000000000020ba98e88d8cd7e7bcb974ed4ae565e15f9d8a401dba8e05cfc4e55e1c3684a748000000000000000100000000000000010000000000000020d2265cc4b0e0ec253daf019c42c18e9892f1d3d42f780a38ddc970c5ea601ec0000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001b0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020a221ac60d1e9f076a6f9cc2671671512dc85e16cdc070e4c063b58b5a15957f70000000000000001000000000000000000000000000000205e156f018a95f96a97b66062b8992b869ff509ad70836c9e257cb31c027f084d0000000000000001000000000000000100000000000000202bd5bc2aae11708a83ed6c70400c35fb925d34b3bb0af3e56f41c60dc6b64d5b0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001b00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000000000000000000002017dc1a8a04684ec51512fd314154ccca1a646ab6807a6f4b47e07a3bdbf324cc0000000000000001000000000000000000000000000000204d2d58f2d9328a2e508dc93697cd00b4e566f99b54d47f6215398a53c0cc8b2a00000000000000010000000000000001000000000000002076125010b4e1447f228f19fca245759034b4dfd27b4eb574566a4c504efe059000000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000001d0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020c4ad1c6b77c38ccc45ff77c9a8d5af9c4401f987cecb2e061e9eddea1ae5abbc000000000000000100000000000000010000000000000020f09e0551c369e8794e51f609fb64bc262c407f13317ebef64c17a4fb128e2b29000000000000000100000000000000000000000000000020cd05d024922075f0d2191dff6b6b8977913542096c687b1aa6a6880a30f4f1780000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001d0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020e11de5b7f53111e778a56c72b01943849250cec0287b81018024c2d4c11d4d440000000000000001000000000000000100000000000000206f5361d60e69e71d110471fa559e5f9e4f0cacff5c4d21eefb041e57495d1c6b000000000000000100000000000000000000000000000020e216681d6f38da8409d5c77334f0f51de756720aaa028880c59d6a832095ad4f000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001d00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020db9fe11bc17bb754032831b2adc6de203b199f831837c03a77b8a36bfaddaab3000000000000000100000000000000010000000000000020c9111d1bc6cf1719eadf1178c1686af1167555a94799b7e5fbdd2ad21e060ae700000000000000010000000000000000000000000000002067eb9dfba8d9c97ad33ffbd80286355623eaffe46594cb686cbf92caffddbeb7000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001d0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020d8db75399662177579baa314b92cbd0e4c5e61cc4819ae3e4da85e90c1c0d646000000000000000100000000000000010000000000000020e0704135c4f5944c342f6195da3a147bae284b49bccada9939d6d85d3553f6da0000000000000001000000000000000000000000000000206667eeb55e8272a8973a7ebb6f13d6368a351834bbe692ce44dcea336157217f0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001d00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020283e3a7e34493ad3984793f23fc257c5b5a0c32ef8200ae7fd272c369dad32e300000000000000010000000000000001000000000000002034508166b082e7da2607312b43230f4b77f90bb39f9b4c2fd8838d2226200df30000000000000001000000000000000000000000000000204475c5b2e2f68e38991dfad8ec227a4be23b75f3ee62d3a56dfae71a582f72d200000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000003f0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020ae475446506dfaa59968c26931bee5eb87090ae33a057924eaef7eefd03110ad00000000000000010000000000000000000000000000002069a16d2b56ba3538a063eb8027cc1a4e3053ce82d49b49dbcb4419a7943fcccd0000000000000001000000000000000000000000000000206d638b48c620681d9ca1f3ca0b9269a4c587a473d6a7f7a9b87cd38c6b341a88000000000000000100000000000000000000000000000020228ad46578c60a8ae293c5203eb65e05045bb3651cc7f9dca5fdd52a9c021f9f000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000003f0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020c4446bba8c1b7fb429c7566fe2eb83cf8fc01f9962ea02859504fffbc0ccdb49000000000000000100000000000000000000000000000020eef65a3f592189d4459cd38a7fdc20e3c6e4585e0d3713da14da36b4b547a0a200000000000000010000000000000000000000000000002066f2ddc800c59423dc3e6cb06ec895471d3ffafc6e3140cc34d397e66f29e633000000000000000100000000000000000000000000000020d3fe0ac3f0592a168395476738f2d379d0581dd02807271399e479432d094ace000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003f00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002005a761484022a25db3666d87f56dddc610e6f166f40c8d53cec776d4fe4e80a0000000000000000100000000000000000000000000000020bf48b0fd3067f30cec2d8eb072f256c86b8be95b5f9486329f3433afc7402540000000000000000100000000000000000000000000000020c371c57ff5dde460d309d11ac19c7ad32518310d12e6bb111c0bb8e8a09de1c90000000000000001000000000000000000000000000000203ba5f02812810d6739f0146771cd3e86ccd0bbcc336d4aee700bec1afa6b11260000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000003f0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000203781cbb3b25b9e484ea44765aaa006e75d61a79f390ee77af5b20fbac9d4dd3200000000000000010000000000000000000000000000002017d3f160f5dde0107eaddbd9a42fa2ecc8a99ac84a8e77c42c98d4c191c71734000000000000000100000000000000000000000000000020fa6e29d4e9ff5e8c22e3f5cc15e4bc816d53bc1cf53d10d81048ce9ca3db8c8d000000000000000100000000000000000000000000000020b36f4ccbb0d7f10b29e0bfa83340e722c8b6763ed3a495cd1aa2d8bd04d57dc5000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003f00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020b1a9fa05d2de12aa015b40f617369d9e3995fc56c1ef08d5ca43cdf4282a2cc400000000000000010000000000000000000000000000002057af84d4d4e5d9ceb59a1de42dd4be16686cd3960b9dc1d986e086b1ac3eb9aa00000000000000010000000000000000000000000000002053c1cf998121a223e60d8cae3913012bbbe81a0c35c838cd67e72f1f6d97deb90000000000000001000000000000000000000000000000208b8cde5cdcc546e0fc0446ebafeef03e9d0067324f0189814fd6404c1bfd349f0000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000200000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff1000000000000000600000000000000010000000000000001000000000000002099c439552bc012b331f78711afcc02ab45f65be8ef9aef37b56c34fe5ec62561000000000000000100000000000000010000000000000020d3a8480b820bd6c782f5a7d8bc820d929996e9b8ab64d37789aa88140ba71654000000000000000100000000000000010000000000000020d80cc5cdbb0ec297cddfda4fd988de76b705f83576117fb5ed10b48a9b959bb0000000000000000100000000000000010000000000000020de4e1fd1df8638226f88eb85cf1887650f7a999dde645ee6368965b2368898950000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000200000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000010000000000000020c5aada7333905262bd985fbc023814f24628710fde74d7d1291fa54ca5cb94ba0000000000000001000000000000000100000000000000200c04f15905ef31c5e7f95badee6ef48214fcec9a48dff3643ba924349c73daaf00000000000000010000000000000001000000000000002072ecff12c730f10ff239ae5d5ec6e0ecd7a93d7c6f58e48faaf9efc69af68a03000000000000000100000000000000010000000000000020ffa6fd6b2bb776f0017bd053d81f3be0123b5193aa2e9b7587911a48528b1f8900000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002000000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020a3935e11b34b4c600caed3bb5c7d6d75e0ca2d9e24e11644e74da87a981779190000000000000001000000000000000100000000000000200ac46dd08f9aa3d63136e2d3bc0c3cf3603cce6de698745e1025a65cb335c2960000000000000001000000000000000100000000000000207d6e6faff90bb4e913c2857ae3937ca1618f5995aef3afb75612bdba14f0ddd20000000000000001000000000000000100000000000000204c45c798d8e4e8edb41abf87d37d02933287d14a89c5cde7c45ba102e383348d0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000200000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020987439fb8dd9927529b4eaec723fcc8f0c0863d0e07a0ed7090a0ad597c6303a0000000000000001000000000000000100000000000000208ecaec6417dc71f1a04791af2811ae15146ca7f8d07ef954f27e529c4d298ef400000000000000010000000000000001000000000000002074a0354ef95be9408ecc912636cbed1a66a4a59478d5e5ec81f4b23688144a690000000000000001000000000000000100000000000000208b7cd8edcb47e6fd7c2dd2dface0440349bca1d918a719dfc70da2bf060901600000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002000000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000204820e6a1f9d59a8e1cc54e58c50d33f084a97df834a6cdbd9dca5824a798395d0000000000000001000000000000000100000000000000200b830135facdfbab4d04fccbd9e432ee6096ddef48a060d137218c9cc8bad1f60000000000000001000000000000000100000000000000205baec37e8251b3201cd995c707238ab147b0e185c3433930e828c1898f08ecca0000000000000001000000000000000100000000000000207da6b1396327c236444c6c4bc8dcbe51748729c9f98cba9a950cff810fbbb064000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000002a0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000203da14c802e0b1caa6a7fdb57b49c71543b810414a29c1963edc1c2674d7504e500000000000000010000000000000000000000000000002064f12c9571923baec5fcc14481a7dfea3e02c1bfc8c062111edc34018395b7160000000000000001000000000000000100000000000000200ebe305ff48b2729427a6d3d9c605f9d8749d8a7f371875c0845a2841f05d610000000000000000100000000000000000000000000000020c5955793ab286002e2bc4ea091ab49e689f85a1a02effe9360301649450f713e0000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000002a0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000204effdd1c1b9fdb557b5e9669f69a5e62c7a414a05d5be0861dac7d232fc4d081000000000000000100000000000000000000000000000020372b730b0fbf5e9e53c6d82f9ea174dfa93e2b45f3d0604b1487c24ff8cbe32c0000000000000001000000000000000100000000000000201cef524c4bbd4352e55a822f72b50f13a0d37a3b4bd840b09474319d06e88b350000000000000001000000000000000000000000000000204c549c0a06011a5b940afdd9c949f7c54668b0449c63f74f64a3a00d1cc2a37800000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002a00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020249ab711ada2474fce7768967e57e47add2707d69f23a4d7b29aa071a3fa5cd0000000000000000100000000000000000000000000000020d3f3a1276e86b7cb651cfe0b9e52a3672a7a8542d123753360b4a6e824c1779800000000000000010000000000000001000000000000002020b69175d321b24a4a00d8d18a6963347c3123f556d358b88582f8d36b44b8c1000000000000000100000000000000000000000000000020e6729a3cfc74955cf085843ef3c6fbd390113d9cff9812bd238abfc2c9d4f20f0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000002a0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020227e15cd2eb8925a9b068fea9df9f92e93a1a5339b56a0601e63f187abbcac6e0000000000000001000000000000000000000000000000209a45b35b42c6061884c4afd3351a06b419b331b077141f9cbd7826bc76d3757b0000000000000001000000000000000100000000000000201c9bd00c01d9dc7de0346e64a7859e5112e5d31bf1a05465dfd40850df5b874c000000000000000100000000000000000000000000000020775408d12a472a8fc9c7742b042f9e3ba4c74f4d0346c73dc9d199e1683cb5270000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002a00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000001000000000000002071dee50a6e5618eb34e4d23ef0b62d5166000f53feeca762ef0711fc2491ea4600000000000000010000000000000000000000000000002068fe7593610859428cee7cf473e82e87fdcdfddb9fa101728dd3c3668165a8390000000000000001000000000000000100000000000000202a23312debd1c6fb4163c27803b60164fc5b80c19fc3765831e06fa8f7e3daf7000000000000000100000000000000000000000000000020665a859141cdcf17279cb2dd5f1f7158a6bb6542a0eeaa6409aa65515b91986b000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000030000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000206ff0195a134c259fe7543028850c1e5cad27da7360a4eaae4414e0bfdccdba62000000000000000100000000000000000000000000000020bc0e1e4d069a85667d831c6131bf23b47a10f808276f2d639351a2b29c6601f100000000000000010000000000000001000000000000002049b18f4c7c36a3e31f7aea5854ff3a4295357e9b4683efeb0cc263602c4cd838000000000000000100000000000000010000000000000020a901868ca86673679ffebd60291109f11d3ce9b29c0651f0236ea581bf3b3e75000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000030000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e000000000000000600000000000000010000000000000000000000000000002086459a0212426dc2ac2a376c2d40c3d2b8ccb49ccb264ff41e000e8323be00dc000000000000000100000000000000000000000000000020dd758e7e903cea5d2b8d56cb7ec81903a5d208516bc65446aaab10a4c88881f6000000000000000100000000000000010000000000000020c8ae564fce614307d01ae4e7ca514b4d438c025236d2f7c225df0916122c407a000000000000000100000000000000010000000000000020a5ba1e43e43faaed55a5a360b6818e780f5c7442a5977ec37c50292584a00e03000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000300000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000200dbdbfb31291dc04af2693d09aa7eb1d78e20d1a74db2a4fe3354f975350a1bd000000000000000100000000000000000000000000000020eea4985ec9d4768dc670a544e41b6e4860f58ba82c828f4e8679cd8b3af80fb1000000000000000100000000000000010000000000000020f986d500a473d744f6d14c7906f5f6ad2bf1ed635b387d1255d90489aa53d12800000000000000010000000000000001000000000000002029977ef21bbded76d1fa6e38666858005e15da11fb5e5b2c1fc887bb5618e3790000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000030000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a000000000000000600000000000000010000000000000000000000000000002077bc52c18c63055874cd00bd50aa27bb98085f701ed882dc36f526bd9e716f7000000000000000010000000000000000000000000000002066c2441d85ece4c0248f0e4fc4dd2ed1964260f83a5e2e28a1ffd81ec149ed820000000000000001000000000000000100000000000000207cb73919b94b0701a154548e298056cb5ad14cce5c7f187182ea0cec99bf78e4000000000000000100000000000000010000000000000020cc7c313ca812fda6dc6af2eda4aba08e8ac4a03bb077779f99eb6acb9c207f8e00000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000300000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000000000000000000002026fb3e33bd8bd516f86ed1ca41cabcc5b3384c2bdf9b7559bed14e7342a37ea40000000000000001000000000000000000000000000000208948b91f9c6abd1ba5107c4f91c26d65bf7c4b8335e43feaef76402c40becc5e000000000000000100000000000000010000000000000020f36e52abf6c0e886cffc68ef87e17486781e2d63f012306a94fd180534b7caaf0000000000000001000000000000000100000000000000202fdd9c69030451a91e84624b353dadfe2b9857dfbfbada85470f66400feb03cf000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000150000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020dffef2b6289ca42b6b10811bf557d0f0473b5148078520d4dd2c3c9e071683cf000000000000000100000000000000010000000000000020934ab4c6e53dcf48d451f6ed7e4af86b758dd8dba6533f4175725e2e5845afc500000000000000010000000000000000000000000000002026fce9aa21f1ef53b559859e81595b7ea9f4a7505a8a6c162b86994251034ce3000000000000000100000000000000010000000000000020f158609c6b12d3609bdf1c7797edb538f985fe8ac4171f066b1d7b9c43c7bc3b0000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000150000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020cec16a9d3b3f1de59cee51ed94138ed96cba68c2758159ba8a01bc52b516f72b0000000000000001000000000000000100000000000000202fdbde1dac25caf98829f59666c2f0534d2832bdb689d8ad96cbb9a3dbd4d45f0000000000000001000000000000000000000000000000205194f6462193600d656db86b96325bf516174c3105f29544d28f3b649cc7fa4c0000000000000001000000000000000100000000000000204dffb3cd723081a5601c700b71267e003c6301f69868c0143c1c7fb7f95e7282000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001500000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020dfd27d6018488b73adc1bd41a724795ef1718da088bda21a824c2b2d38251d33000000000000000100000000000000010000000000000020623356e3dec3b724bc10e0a98279a4c3d266c0e21116f6862808d59f7091e32d000000000000000100000000000000000000000000000020092c7757c2024f3808f701ac4777131de3ca1f52d66f0634ec3c81cde1ac00c0000000000000000100000000000000010000000000000020484f2ae546565ed80b1f874b636c4c06e0280235a8f07c9c2a2a069d2d2ca4820000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000150000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000202e3c714cb0429de0a5f7d36da79e2b86029628f62ad3672f865e4c874891cf1c000000000000000100000000000000010000000000000020f85fa5c2b0e882fd34d09f09a81c53e3526c0185fd127a8874407f5a355e24a50000000000000001000000000000000000000000000000206080e4bfcaf7383087cda0e0f22b972141c9aaa3d207600f4fd4fbbb2ef885b4000000000000000100000000000000010000000000000020d5781f0d230f038a4d2423756a22964f7aaf82688329a6859db40c8007f6e04400000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001500000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020aa4d2f0c3a1e9c5bae58ef2ca5689cdeb2b3c26a08f877fa875b66d7e67ea441000000000000000100000000000000010000000000000020f161a3fea958f72b4bbc098a443e12854454e484da9ef4f319fc4fd4a4108ed8000000000000000100000000000000000000000000000020acb259ce09cb78cfe7d6ef1821925c2744aecbe8e303ee7bd85c795150c78ba2000000000000000100000000000000010000000000000020448b20827dac58e5f42a98a1e32a8b760e82b8521ee594565effdb351e860259000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000003e0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000208910319c4704675fb2e689fe85e65059409a009e9dc7f46029baed30c3f6050100000000000000010000000000000000000000000000002069a16d2b56ba3538a063eb8027cc1a4e3053ce82d49b49dbcb4419a7943fcccd0000000000000001000000000000000000000000000000206d638b48c620681d9ca1f3ca0b9269a4c587a473d6a7f7a9b87cd38c6b341a88000000000000000100000000000000000000000000000020228ad46578c60a8ae293c5203eb65e05045bb3651cc7f9dca5fdd52a9c021f9f000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000003e0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000010000000000000020191e3e906b69de629398f388037428d655068fb4f7201589352159a5d83ed8a5000000000000000100000000000000000000000000000020eef65a3f592189d4459cd38a7fdc20e3c6e4585e0d3713da14da36b4b547a0a200000000000000010000000000000000000000000000002066f2ddc800c59423dc3e6cb06ec895471d3ffafc6e3140cc34d397e66f29e633000000000000000100000000000000000000000000000020d3fe0ac3f0592a168395476738f2d379d0581dd02807271399e479432d094ace000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003e00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000001000000000000002012d75de2f147a4d778dfa895bd0b6aae773617895da79067263939e99f6e448e000000000000000100000000000000000000000000000020bf48b0fd3067f30cec2d8eb072f256c86b8be95b5f9486329f3433afc7402540000000000000000100000000000000000000000000000020c371c57ff5dde460d309d11ac19c7ad32518310d12e6bb111c0bb8e8a09de1c90000000000000001000000000000000000000000000000203ba5f02812810d6739f0146771cd3e86ccd0bbcc336d4aee700bec1afa6b11260000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000003e0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020ae1a682a0d53f81838499e55cc0e00fbfd1883bfe59455334b4e8bcc0d05f3c300000000000000010000000000000000000000000000002017d3f160f5dde0107eaddbd9a42fa2ecc8a99ac84a8e77c42c98d4c191c71734000000000000000100000000000000000000000000000020fa6e29d4e9ff5e8c22e3f5cc15e4bc816d53bc1cf53d10d81048ce9ca3db8c8d000000000000000100000000000000000000000000000020b36f4ccbb0d7f10b29e0bfa83340e722c8b6763ed3a495cd1aa2d8bd04d57dc5000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003e00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000200ec965c2cd19cbb8dbba1ccea9878afe4253ada1b414b8add1c6a24eaee4df7600000000000000010000000000000000000000000000002057af84d4d4e5d9ceb59a1de42dd4be16686cd3960b9dc1d986e086b1ac3eb9aa00000000000000010000000000000000000000000000002053c1cf998121a223e60d8cae3913012bbbe81a0c35c838cd67e72f1f6d97deb90000000000000001000000000000000000000000000000208b8cde5cdcc546e0fc0446ebafeef03e9d0067324f0189814fd6404c1bfd349f0000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000040000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000205825f928f03cd4d9f2cc8a75322b12c7865a1397104c644c6e89be16cfebaa6a000000000000000100000000000000010000000000000020358c6702aa7ce3c8bdcd46a395295b533449972ac93e65796c809d3843af3e0a0000000000000001000000000000000000000000000000205653a7aef6c658c2fe00a9e102931ec0732cfb210b3c0f9786685131d83170b8000000000000000100000000000000010000000000000020a901868ca86673679ffebd60291109f11d3ce9b29c0651f0236ea581bf3b3e75000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000040000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000202288e579127e8d12c9b43d75f387921ffcd1e5d2d0279d05c76d0c914f33cd5b000000000000000100000000000000010000000000000020d8a894c95f18b89fc6b1966cca0468fb346cb33bd7ed5949846cd49fadfb28c5000000000000000100000000000000000000000000000020dbb74f6060a2f8daea889924e7610165d94588183449ef4022cf18b3bdaaf8d4000000000000000100000000000000010000000000000020a5ba1e43e43faaed55a5a360b6818e780f5c7442a5977ec37c50292584a00e03000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000400000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020cbce61bb4e8d53d492c128b92d2b967843d147238ea6ace5f6371c2ffff533aa0000000000000001000000000000000100000000000000200018486ce4621f70cc9dba1429dc3744c3e999dce791f210d69938d27287229700000000000000010000000000000000000000000000002074e7831721f7fc5373c843ab001df74a56a932301c7d22998c60d0f4727ae0ed00000000000000010000000000000001000000000000002029977ef21bbded76d1fa6e38666858005e15da11fb5e5b2c1fc887bb5618e3790000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000040000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a000000000000000600000000000000010000000000000001000000000000002026fc7fd9d250cf0eea66a614a3d3a705ee3fd6fd93f44cf9c9f90135e9e0f4c7000000000000000100000000000000010000000000000020f353621f9f399eb9153120349a1d67a60db61d8731d0a79c9d8d88620e3147950000000000000001000000000000000000000000000000206b6df852b81b1e5980166b8ccfdeb9ee87043a7da290c994b8e3534a77987c80000000000000000100000000000000010000000000000020cc7c313ca812fda6dc6af2eda4aba08e8ac4a03bb077779f99eb6acb9c207f8e00000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000400000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000010000000000000020a8163ca0e39a1dadebdccf6c690fbac1d624bff3b25597634f49cbb1c532821d000000000000000100000000000000010000000000000020d62bb01321e75c53e7d8b31a26c8cf0fa5524fdc0825864db45f0b4fafbe94b80000000000000001000000000000000000000000000000201ef5ada9b5d65b2468797baf893103b5e178697d46a9c11ab751247a0c8e17950000000000000001000000000000000100000000000000202fdd9c69030451a91e84624b353dadfe2b9857dfbfbada85470f66400feb03cf000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000002c0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000201a8f717f191695bf4ab76675b7a3219d2f27fb20740f7fd1c8b4de4c3b8d3ad1000000000000000100000000000000010000000000000020953ad815a2963d664f0f467b59bd24c8e0fa06059f422523c2c9cc30e63622ef0000000000000001000000000000000000000000000000200ae4da6dd0ba3dba590cdc5b458241d43b05d834be20f06226ed69dfe3f4feff000000000000000100000000000000000000000000000020c5955793ab286002e2bc4ea091ab49e689f85a1a02effe9360301649450f713e0000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000002c0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000203339dbf171cef49d7978b44819e11c800293110002342a85ab135c22da55bb710000000000000001000000000000000100000000000000207bfd1e8b05c7d4db1ddb4abbc4ee4e2047ab1cea71eb4125c60d95dface639b80000000000000001000000000000000000000000000000202d5491c2b0a236a306dd587e3689fdac906752af96e9c92a11015dee02b355260000000000000001000000000000000000000000000000204c549c0a06011a5b940afdd9c949f7c54668b0449c63f74f64a3a00d1cc2a37800000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002c00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020f261b9a08872bbae2ee1b5242a58a98e6dbc344a16222dd6d29532131750cef9000000000000000100000000000000010000000000000020bfdccf99758b04d8a92da681fc6e6da5f18f33ceaac0b2bb02f9b8547d2691080000000000000001000000000000000000000000000000204d27c12f42a76bf3b63a492e3cf1303219ba56c08ee672b356ffac4c23e319c4000000000000000100000000000000000000000000000020e6729a3cfc74955cf085843ef3c6fbd390113d9cff9812bd238abfc2c9d4f20f0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000002c0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000100000000000000206ccc0473bfcb31c0fe4605e06736faa8457d1fa1ca4e7bb87ec9ab3166d3c4cc000000000000000100000000000000010000000000000020308f6fcc0fd108cf14e6afb6ef196ab0bd1c0a77607c51e711541f89a231ec1a00000000000000010000000000000000000000000000002026f7118c3312dbfe043e50912d70fb44b7c2ecf6f52563a7e99533406b8f07bf000000000000000100000000000000000000000000000020775408d12a472a8fc9c7742b042f9e3ba4c74f4d0346c73dc9d199e1683cb5270000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002c00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000201250ecace6ddefc3f48c503fc803e8c0ef15962eb6cc7a1dd63af785d265ca0b000000000000000100000000000000010000000000000020020bb248e961e68fce159cbef542c094c686b13d95d831ad01c5a12bebc4e6790000000000000001000000000000000000000000000000201a498756be16c8b44ad9abb3dbb3a7bf349cedc913a299ee6af9cf8576630fc9000000000000000100000000000000000000000000000020665a859141cdcf17279cb2dd5f1f7158a6bb6542a0eeaa6409aa65515b91986b000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000190000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020f878c3196a2404bcd842121562576c7d651583fe9d63c1aaa1b869d205e345230000000000000001000000000000000100000000000000204536f7493e46af7ae74c52f21d137b781ab41b8d1503fa4f2492f216257d0e4700000000000000010000000000000001000000000000002041b447898ab19c91b1dbde93ea50c40354c2647926dd2df1d267edeeb4fa5b900000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000190000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020c4c0ee0f8712b96d147ac05da64c1b99a740846e9a50722ac61b17649b751bff0000000000000001000000000000000100000000000000202aede3564ebfa30e74b8e2011d40a14f2a016492169b85c1f9415a281dbc49f7000000000000000100000000000000010000000000000020376d244ad38898e5a2d4a5d1596faa89190bb6be0021523a316dc31147bdabe8000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001900000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020e3a0d667c662cdb4652e27a19abc1d27a11efb833f6faa7f47c39880e6a00d030000000000000001000000000000000100000000000000205a64356ff836f1b5bb7a29fd6c463768ddd13ed2a696b53f78ed78ee0bb4cafc000000000000000100000000000000010000000000000020d2265cc4b0e0ec253daf019c42c18e9892f1d3d42f780a38ddc970c5ea601ec0000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000190000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020bb05dfdb343524b601c665ccb7b1bdcb52065480b29c3822d5a333c1bf78b7c80000000000000001000000000000000100000000000000200e0ca5abf4e62df7b042dfc3b847445e62b548dd77607f2099440116fd2191730000000000000001000000000000000100000000000000202bd5bc2aae11708a83ed6c70400c35fb925d34b3bb0af3e56f41c60dc6b64d5b0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001900000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e000000000000000600000000000000010000000000000000000000000000002032577a4f9867122af27f76f72670cf6aae4a9cb6b605ad5463a23d1523ed4714000000000000000100000000000000010000000000000020dcfb0ea8eaab733dea9d66f7cbe860cc2dc7d69ea2faa9da4de7681cfa63e4b000000000000000010000000000000001000000000000002076125010b4e1447f228f19fca245759034b4dfd27b4eb574566a4c504efe059000000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000000f0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000209c582254bc38500951591dd249dc1333b27277b5c820ad0c401b7ceb1a299208000000000000000100000000000000000000000000000020b173e65d659cc1f471d2922de643652b703159ad657dfddbb87c03928e9ae2e9000000000000000100000000000000000000000000000020266533c386eaecf62505c82a33fc748ed3dfb0dd1f1c3b6ef1c350f30907840f000000000000000100000000000000000000000000000020a07353c5029eac2f5fb14b7aaa839b9ff2b01dd6feeb51c341820462ab766306000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000000f0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020591ea4747567d0b1f0b4e49e5c8df791e4cfab5aa15e02699e5bee9b591b4f340000000000000001000000000000000000000000000000200ec2f1acb3815310ab25abd524869226b606f750b7f8740504796e125d37e5a70000000000000001000000000000000000000000000000203e730a9762014a0bc462be90ae606e5d47c72eb18f70e7e52e6fdbf0e6f0ca51000000000000000100000000000000000000000000000020a45ee5473875579efd498bb9c2b6715752587f3d8b2592b454ecfaa7a4333af7000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000f00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000209658a7d3d0affde912887460e1da8d73930e3a89b8c4e6e5217a069886a6a018000000000000000100000000000000000000000000000020a266dafa2106bd73268c59376a2bf1fef9f0317d1d2e371948668cdc510fb89600000000000000010000000000000000000000000000002039c7a366da4d1fa697e88e597ac3bbcc32ffc45eead306e4cbfd2edbb9eb4b0d000000000000000100000000000000000000000000000020cb2225a536a9a8509dad5337de8367dfda433645ebe75afeb88dfb64402946580000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000000f0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000203ad8cf20d2d266dddb3a67029995b7e26a3fc4ae02f89f71f32b5f90ef86c90c000000000000000100000000000000000000000000000020fed58e8c544766c7bc6f80f01dd00e1391a169164969fc6fcf721ec5fd4dbd040000000000000001000000000000000000000000000000204f05c8d8f818049484d7d3faa5e9b694d14c7ac4080d0055efe432b30c89b6b70000000000000001000000000000000000000000000000205703aa589706527fd7b043fe791c15b2a64fb4907ff101521eb03d6c1a6ab7c400000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000f00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000000000000000000201a885f4b9973cdaa2712656539de781994ae7f362c63dd671c7ad553049105d00000000000000001000000000000000000000000000000202e21acd5ae597e53a094aa052271877f15884d80d3b01f70becc5cc995e460de0000000000000001000000000000000000000000000000203289fd37a4bd52060275bcfbd94df5d5a8849168e2d9b61b464557c618ac4629000000000000000100000000000000000000000000000020e8e156ddb580d513fc7e8887f92b8a2d9520aac92258afe450abfeba164c3d0a000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000090000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000208e04b4c723612b4d1e333accc4e24a04d69c173578faf07c8d2b973c0be9fb4100000000000000010000000000000001000000000000002014aa8e29f77d6a5fb881904df608256632c6604fbfb5192158e0932c0baf514500000000000000010000000000000001000000000000002093c99af014a3514bdcc84cdf0e72d42f20038a64dcba4071efdcce4cf6a76949000000000000000100000000000000000000000000000020a07353c5029eac2f5fb14b7aaa839b9ff2b01dd6feeb51c341820462ab766306000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000090000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000201e1426bc22e09b48e2f3902ae15397de929e0b50905519518b2ffd6ff87b0f8d000000000000000100000000000000010000000000000020ff5c9eed6e4075d1dc3dad1312c9f0e4bcc23270345f8eea8c11a5b3619b24aa000000000000000100000000000000010000000000000020e23783733f2d245e0738ed8503ab8c6aef3aa526888e6b8dc670bfe0e224b8ff000000000000000100000000000000000000000000000020a45ee5473875579efd498bb9c2b6715752587f3d8b2592b454ecfaa7a4333af7000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000900000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002090259637a3c7b6f20b290a76270095fb089607c21cdf4ed39484811960008919000000000000000100000000000000010000000000000020c889db6dac504943b1318bf84cfb6161210a7bbf617bd1bf82ab2e6ced97160100000000000000010000000000000001000000000000002007d39646b95a092ed5be38ad4474ad567990da4b66916cee90277a4683cecfe2000000000000000100000000000000000000000000000020cb2225a536a9a8509dad5337de8367dfda433645ebe75afeb88dfb64402946580000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000090000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020d1003b2e0b187f648ec76687af72d962a72afad5ac9eef8a65af7e534be416120000000000000001000000000000000100000000000000200ab693b6366c8573076e7521cd4638cc1f6356137793dca71188f64773666fd800000000000000010000000000000001000000000000002062cf2958fbe0482b505bd906f7e195c3cd89bd9bd1e7d56ae0a1892edf97b6f70000000000000001000000000000000000000000000000205703aa589706527fd7b043fe791c15b2a64fb4907ff101521eb03d6c1a6ab7c400000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000900000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020b2fd2de80747c7ce529604c6e7bce35d886f56115b4684e53e310d816220dbf400000000000000010000000000000001000000000000002027654f6212b3887526cc2b00c77b11134cf26743032966b1c25f08fb46524933000000000000000100000000000000010000000000000020c8ef28dfc9de5c5d1e4b74e0069effc812426b9083bf6c22359078f15c246636000000000000000100000000000000000000000000000020e8e156ddb580d513fc7e8887f92b8a2d9520aac92258afe450abfeba164c3d0a000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000120000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000010000000000000020ab63dfd21d91db64c30c6ff03a0ac64ef7387ace22e915709bee4b1cce4734ac00000000000000010000000000000000000000000000002077c77d7b993f04ae31fa6b6da7dff3c353004c11a049302a478e5dac04d508cf00000000000000010000000000000001000000000000002038c257c4acc7ae148c5c9b4409c82130df8554a30c1e722962697197980c56fb000000000000000100000000000000010000000000000020f158609c6b12d3609bdf1c7797edb538f985fe8ac4171f066b1d7b9c43c7bc3b0000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000120000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e000000000000000600000000000000010000000000000001000000000000002046817fed75d4f02d731e97cf463418460dc149d4119eb395174cdc29bc56e05c000000000000000100000000000000000000000000000020410a9806148029c00be1c6575ce39cab980947f62d7b8c905215b520e160aa17000000000000000100000000000000010000000000000020d42e2ebd255e4349a7739a43dd3c719944636248abdb0bced6a610501e96e1b50000000000000001000000000000000100000000000000204dffb3cd723081a5601c700b71267e003c6301f69868c0143c1c7fb7f95e7282000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001200000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000100000000000000205bdaa1c2f59d2ab0a3250dff26c3ec776b4baae0af8c7a644b3acfc8eec4865e000000000000000100000000000000000000000000000020f1567637f428f87846f8c9bb74529a200ad9d84a9a4b345750fc3e5aa659ba8c000000000000000100000000000000010000000000000020bd32214b9cd650ca580505a6a8a3871b0cdf7d2a89aaefa8358aeac6f78747ac000000000000000100000000000000010000000000000020484f2ae546565ed80b1f874b636c4c06e0280235a8f07c9c2a2a069d2d2ca4820000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000120000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000100000000000000200e67b21daab8248970d940372b5b46752f59382f402a19713f239a5473eca1b8000000000000000100000000000000000000000000000020a0e816dde14a2a295831a61e9ce3e71cb2ec3b4b7a6ad47f870b606824628dea0000000000000001000000000000000100000000000000206b5c5c4f9ba4318f5d94f0b1170d0d667158515eb2fc29b7c968ead3263817b6000000000000000100000000000000010000000000000020d5781f0d230f038a4d2423756a22964f7aaf82688329a6859db40c8007f6e04400000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001200000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000209bd83265f1b3a4677ddd59932997350738ffedb9f89df6844f855773b35558a0000000000000000100000000000000000000000000000020697955387c429d74f6b05a15f5e69c8a5c0e05c941c6568f91d90a080fb34eea000000000000000100000000000000010000000000000020a5332eaed9d91c34e71eafe999911d416993150f0ee3907e81ef51e2dbe439b0000000000000000100000000000000010000000000000020448b20827dac58e5f42a98a1e32a8b760e82b8521ee594565effdb351e860259000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000270000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020d2177cff3370731150de6ddcf6c893f5aec7252d0b7bd68caa69cf0af92a8edb000000000000000100000000000000000000000000000020ea0130bd476a2e99ed6edb948b6cb09cfecc8dd59caba4fc389609df359d15860000000000000001000000000000000000000000000000204cb7b4fa816710180675ddbc955531f8a709d427faf5200cdc6737874e060a55000000000000000100000000000000010000000000000020de4e1fd1df8638226f88eb85cf1887650f7a999dde645ee6368965b2368898950000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000270000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020b48dc2c77a67d852a5a1c89e57e8fa3cd275bd8e13e6fad63330fc34b32b72980000000000000001000000000000000000000000000000201e9235801c669c50c2b370f79c4c01eedac2bd811e7882f3c3ae07b72c66516100000000000000010000000000000000000000000000002037a9c624bdb25b1ee261b13411e9d6acc0d0e8c738496cff14dc43abe65c9d1f000000000000000100000000000000010000000000000020ffa6fd6b2bb776f0017bd053d81f3be0123b5193aa2e9b7587911a48528b1f8900000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002700000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000203e5f63217ccf317c87c27681a0bad8cf5ae3e5c4b181bdf62ab3dede6cb368c6000000000000000100000000000000000000000000000020f323089c96e3b446eeb003fa0fb80b72852d5a639d113307d0f854c416e00bf10000000000000001000000000000000000000000000000208af46b94aaaaccad5e6a4023d702789b42cd1dbe483f56197059d5fd7dececfa0000000000000001000000000000000100000000000000204c45c798d8e4e8edb41abf87d37d02933287d14a89c5cde7c45ba102e383348d0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000270000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a000000000000000600000000000000010000000000000000000000000000002078cbd36adca4166804f0d0e3bab34fc4aa029317287c39505f027db664b15aa6000000000000000100000000000000000000000000000020ccdeb1343b68f69c90d92c04ddff970e1b8a4f0f15bf93655e9e27a0f0f06f04000000000000000100000000000000000000000000000020e4d2d67b8633ad579243e315d04b8b6579b37fe627f301c7465de1ed7bb7880b0000000000000001000000000000000100000000000000208b7cd8edcb47e6fd7c2dd2dface0440349bca1d918a719dfc70da2bf060901600000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002700000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020004b50952eebf487c8f5308caa485473179987b6f4e2f53d6e7bcdc0d6039d8b000000000000000100000000000000000000000000000020427c87277b013c85bd40e421464183280cc3a5a4dc6140e85d0b81bd3fef625800000000000000010000000000000000000000000000002061bd9ea057de335c6199d1e1e7bcca7a2b51666221943c0985b956914257a60a0000000000000001000000000000000100000000000000207da6b1396327c236444c6c4bc8dcbe51748729c9f98cba9a950cff810fbbb064000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000003f0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020ae475446506dfaa59968c26931bee5eb87090ae33a057924eaef7eefd03110ad00000000000000010000000000000000000000000000002069a16d2b56ba3538a063eb8027cc1a4e3053ce82d49b49dbcb4419a7943fcccd0000000000000001000000000000000000000000000000206d638b48c620681d9ca1f3ca0b9269a4c587a473d6a7f7a9b87cd38c6b341a88000000000000000100000000000000000000000000000020228ad46578c60a8ae293c5203eb65e05045bb3651cc7f9dca5fdd52a9c021f9f000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000003f0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020c4446bba8c1b7fb429c7566fe2eb83cf8fc01f9962ea02859504fffbc0ccdb49000000000000000100000000000000000000000000000020eef65a3f592189d4459cd38a7fdc20e3c6e4585e0d3713da14da36b4b547a0a200000000000000010000000000000000000000000000002066f2ddc800c59423dc3e6cb06ec895471d3ffafc6e3140cc34d397e66f29e633000000000000000100000000000000000000000000000020d3fe0ac3f0592a168395476738f2d379d0581dd02807271399e479432d094ace000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003f00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002005a761484022a25db3666d87f56dddc610e6f166f40c8d53cec776d4fe4e80a0000000000000000100000000000000000000000000000020bf48b0fd3067f30cec2d8eb072f256c86b8be95b5f9486329f3433afc7402540000000000000000100000000000000000000000000000020c371c57ff5dde460d309d11ac19c7ad32518310d12e6bb111c0bb8e8a09de1c90000000000000001000000000000000000000000000000203ba5f02812810d6739f0146771cd3e86ccd0bbcc336d4aee700bec1afa6b11260000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000003f0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000203781cbb3b25b9e484ea44765aaa006e75d61a79f390ee77af5b20fbac9d4dd3200000000000000010000000000000000000000000000002017d3f160f5dde0107eaddbd9a42fa2ecc8a99ac84a8e77c42c98d4c191c71734000000000000000100000000000000000000000000000020fa6e29d4e9ff5e8c22e3f5cc15e4bc816d53bc1cf53d10d81048ce9ca3db8c8d000000000000000100000000000000000000000000000020b36f4ccbb0d7f10b29e0bfa83340e722c8b6763ed3a495cd1aa2d8bd04d57dc5000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003f00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020b1a9fa05d2de12aa015b40f617369d9e3995fc56c1ef08d5ca43cdf4282a2cc400000000000000010000000000000000000000000000002057af84d4d4e5d9ceb59a1de42dd4be16686cd3960b9dc1d986e086b1ac3eb9aa00000000000000010000000000000000000000000000002053c1cf998121a223e60d8cae3913012bbbe81a0c35c838cd67e72f1f6d97deb90000000000000001000000000000000000000000000000208b8cde5cdcc546e0fc0446ebafeef03e9d0067324f0189814fd6404c1bfd349f0000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000320000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000010000000000000020cead2a72fa7974c8cd84b21e2362159483af9bb8274514838dfb974484a1575000000000000000010000000000000000000000000000002005bd0da2469f2c21b3a29c3fb9805e1c169b17d94f8f17fb27b467cf42de28db0000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000320000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000205171129cc905c8d4a2a5e72692fa2146a126401361ba92ac1f21e9fc301a8f5600000000000000010000000000000000000000000000002065f01400d8c5267b0c9e1b41ef2836adc1616da98100daa5b32b8ba39b374ee10000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003200000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020e7a91d327889a824de3b63b40ae0c04d3b0eb6fb50fa0d9df6eb6ab3cfaa2668000000000000000100000000000000000000000000000020fb1c512b5fd40b13b13e27176dd54a24bece81a3719811d1c1525960ea61728a00000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000320000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020c83e2ce6b553a01227a24d87e7ce1be2ea2b53013a90fefdb997c31feb019f160000000000000001000000000000000000000000000000207c4943346d19abc52fa6dabeedee92d2744b5b29f2a77392fda371186409c51d000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003200000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000203b57471ba77c63e7d6a90e66906bfe168efc799b33afa1952c6f94a0d500501d0000000000000001000000000000000000000000000000201d97da85ccf54c8fbf4a2da8f7344e745fa6c763b9f666be12fefd53ef575409000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000310000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020de0239826f84300a4b930455833368a3b5ed681fe8962cfb4af828dc999da678000000000000000100000000000000010000000000000020b07fc62d561ac62b44d2a42d32b92ea5c1cc6bd1a2aaec7fc3bc3511de391ed20000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000310000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000201e990e27f0d7976bf2adbd60e20384da0125b76e2885a96aa707bcb054108b0d000000000000000100000000000000010000000000000020f4dd72267aad53529f4348fc166c5360db899801c1df5ddfd7c1626279eafdbe0000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003100000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020b6da1f3c7bd084b7ae28ef8b463d550a474be123e92fe611937182ceacd4404f0000000000000001000000000000000100000000000000209fa49fa8f73a5cc057d203f3a9c7f130cfbb7c4e730bc2b128e3e68fc37b1c3700000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000310000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000209fddfbbd040397755d2f901c68f3b0826308119a1af760dc73a29cde30443ce60000000000000001000000000000000100000000000000205386188d9764a1c502d826fd5702f83b8bad404606a67f5e9b0cc3cf27a710ed000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003100000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020e361294c17e5b3cb85fecb815293af1a105bd4e95ea335b4a1aa41f932a9536b000000000000000100000000000000010000000000000020803b08555caa0af78ea6c725a165b9eb6b0e39f920d5bbeb88e760b2a06d892b000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000070000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020456e1d938e6648c4c29adf636e5183251a0ac349a008beb793b036853b4408e700000000000000010000000000000000000000000000002089f5f06a3eaa9feb6107ff18a664d8234f172a437fa0bd092c38efcfada850fb0000000000000001000000000000000000000000000000205653a7aef6c658c2fe00a9e102931ec0732cfb210b3c0f9786685131d83170b8000000000000000100000000000000010000000000000020a901868ca86673679ffebd60291109f11d3ce9b29c0651f0236ea581bf3b3e75000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000070000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020c969695602dcfd384104f908bcbce257dfd864710642f1523d9a81168955aa47000000000000000100000000000000000000000000000020cbbebb2d2ee01e244f99abd05209a18acdd9373999809a8cb24cf1b63e6ab391000000000000000100000000000000000000000000000020dbb74f6060a2f8daea889924e7610165d94588183449ef4022cf18b3bdaaf8d4000000000000000100000000000000010000000000000020a5ba1e43e43faaed55a5a360b6818e780f5c7442a5977ec37c50292584a00e03000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000700000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002016cfb169e05c0ea72f2d5de5291b5bdb0e34848f432ee838c548fce1e6a3d44d000000000000000100000000000000000000000000000020058d7f537a48bbe7c10032ccb6848e8711e732f043080e60a61fb1be59098ca000000000000000010000000000000000000000000000002074e7831721f7fc5373c843ab001df74a56a932301c7d22998c60d0f4727ae0ed00000000000000010000000000000001000000000000002029977ef21bbded76d1fa6e38666858005e15da11fb5e5b2c1fc887bb5618e3790000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000070000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000000000000000000202c185e9fad923f821d6153ca9c89e2d61336fa8cf1ad6cd4deea232b8c960845000000000000000100000000000000000000000000000020d3ae29200e753862fd1e7fdd18970e75743c0d3a924df9d8056b10d9f55401d90000000000000001000000000000000000000000000000206b6df852b81b1e5980166b8ccfdeb9ee87043a7da290c994b8e3534a77987c80000000000000000100000000000000010000000000000020cc7c313ca812fda6dc6af2eda4aba08e8ac4a03bb077779f99eb6acb9c207f8e00000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000700000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020c0cc3d183d81af81918700cae783a831f71c2522c6293860922230bd7045fade000000000000000100000000000000000000000000000020076c16c6962ce14838333ed86f4d83fc48972f30f41b81d83773f0ad2f6df3800000000000000001000000000000000000000000000000201ef5ada9b5d65b2468797baf893103b5e178697d46a9c11ab751247a0c8e17950000000000000001000000000000000100000000000000202fdd9c69030451a91e84624b353dadfe2b9857dfbfbada85470f66400feb03cf000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000270000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020d2177cff3370731150de6ddcf6c893f5aec7252d0b7bd68caa69cf0af92a8edb000000000000000100000000000000000000000000000020ea0130bd476a2e99ed6edb948b6cb09cfecc8dd59caba4fc389609df359d15860000000000000001000000000000000000000000000000204cb7b4fa816710180675ddbc955531f8a709d427faf5200cdc6737874e060a55000000000000000100000000000000010000000000000020de4e1fd1df8638226f88eb85cf1887650f7a999dde645ee6368965b2368898950000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000270000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020b48dc2c77a67d852a5a1c89e57e8fa3cd275bd8e13e6fad63330fc34b32b72980000000000000001000000000000000000000000000000201e9235801c669c50c2b370f79c4c01eedac2bd811e7882f3c3ae07b72c66516100000000000000010000000000000000000000000000002037a9c624bdb25b1ee261b13411e9d6acc0d0e8c738496cff14dc43abe65c9d1f000000000000000100000000000000010000000000000020ffa6fd6b2bb776f0017bd053d81f3be0123b5193aa2e9b7587911a48528b1f8900000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002700000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000203e5f63217ccf317c87c27681a0bad8cf5ae3e5c4b181bdf62ab3dede6cb368c6000000000000000100000000000000000000000000000020f323089c96e3b446eeb003fa0fb80b72852d5a639d113307d0f854c416e00bf10000000000000001000000000000000000000000000000208af46b94aaaaccad5e6a4023d702789b42cd1dbe483f56197059d5fd7dececfa0000000000000001000000000000000100000000000000204c45c798d8e4e8edb41abf87d37d02933287d14a89c5cde7c45ba102e383348d0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000270000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a000000000000000600000000000000010000000000000000000000000000002078cbd36adca4166804f0d0e3bab34fc4aa029317287c39505f027db664b15aa6000000000000000100000000000000000000000000000020ccdeb1343b68f69c90d92c04ddff970e1b8a4f0f15bf93655e9e27a0f0f06f04000000000000000100000000000000000000000000000020e4d2d67b8633ad579243e315d04b8b6579b37fe627f301c7465de1ed7bb7880b0000000000000001000000000000000100000000000000208b7cd8edcb47e6fd7c2dd2dface0440349bca1d918a719dfc70da2bf060901600000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002700000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020004b50952eebf487c8f5308caa485473179987b6f4e2f53d6e7bcdc0d6039d8b000000000000000100000000000000000000000000000020427c87277b013c85bd40e421464183280cc3a5a4dc6140e85d0b81bd3fef625800000000000000010000000000000000000000000000002061bd9ea057de335c6199d1e1e7bcca7a2b51666221943c0985b956914257a60a0000000000000001000000000000000100000000000000207da6b1396327c236444c6c4bc8dcbe51748729c9f98cba9a950cff810fbbb064000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000001d0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020c4ad1c6b77c38ccc45ff77c9a8d5af9c4401f987cecb2e061e9eddea1ae5abbc000000000000000100000000000000010000000000000020f09e0551c369e8794e51f609fb64bc262c407f13317ebef64c17a4fb128e2b29000000000000000100000000000000000000000000000020cd05d024922075f0d2191dff6b6b8977913542096c687b1aa6a6880a30f4f1780000000000000001000000000000000000000000000000207a1424d413417eb28a018fd1d76958181366ee57c4d59ae0034a29ddbb1d2b590000000000000001000000000000000000000000000000205eab89a1beca51a5d8087eb08c31f8fffc3e667b4613214fd092e2afc25668d2000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000001d0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020e11de5b7f53111e778a56c72b01943849250cec0287b81018024c2d4c11d4d440000000000000001000000000000000100000000000000206f5361d60e69e71d110471fa559e5f9e4f0cacff5c4d21eefb041e57495d1c6b000000000000000100000000000000000000000000000020e216681d6f38da8409d5c77334f0f51de756720aaa028880c59d6a832095ad4f000000000000000100000000000000000000000000000020938375cf40ac56222ab4d00edc1add4f0c4d45658ef352f9c39d534a9202dcf7000000000000000100000000000000000000000000000020df7a9e00f83416684b535d78323d0e42e5d14e9a640c91bb70630cefeae3ec5900000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000001d00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000000000000000000020db9fe11bc17bb754032831b2adc6de203b199f831837c03a77b8a36bfaddaab3000000000000000100000000000000010000000000000020c9111d1bc6cf1719eadf1178c1686af1167555a94799b7e5fbdd2ad21e060ae700000000000000010000000000000000000000000000002067eb9dfba8d9c97ad33ffbd80286355623eaffe46594cb686cbf92caffddbeb7000000000000000100000000000000000000000000000020dce0a6a557c9aac32451216e7ef16b0475dfcdd046a872b7226460fb36577a0c0000000000000001000000000000000000000000000000208b59d99ae476d2634cf58c5f67719e1c4c718a3a817e4dd43a641dd5bf75e43e000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000001d0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020d8db75399662177579baa314b92cbd0e4c5e61cc4819ae3e4da85e90c1c0d646000000000000000100000000000000010000000000000020e0704135c4f5944c342f6195da3a147bae284b49bccada9939d6d85d3553f6da0000000000000001000000000000000000000000000000206667eeb55e8272a8973a7ebb6f13d6368a351834bbe692ce44dcea336157217f0000000000000001000000000000000000000000000000202af01a6a55fc2e86f82a1d4dde46bf93a4fc7f19ea89c7a5db7ff987d63ff08e00000000000000010000000000000000000000000000002011b5b59f0d25bebe43d56b76f87bc0cc19aa6778db0878eed1328489e15350e5000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000001d00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020283e3a7e34493ad3984793f23fc257c5b5a0c32ef8200ae7fd272c369dad32e300000000000000010000000000000001000000000000002034508166b082e7da2607312b43230f4b77f90bb39f9b4c2fd8838d2226200df30000000000000001000000000000000000000000000000204475c5b2e2f68e38991dfad8ec227a4be23b75f3ee62d3a56dfae71a582f72d200000000000000010000000000000000000000000000002057ba9a31b84202cd60c11fe3a2d7c1e65ac8534e7f826384d3d6d6dd2d9a44c6000000000000000100000000000000000000000000000020f3c01e85abe25473920439b1a5e135ac68b33a98c90bce052e7d21e60b2ea53300000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000090000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000208e04b4c723612b4d1e333accc4e24a04d69c173578faf07c8d2b973c0be9fb4100000000000000010000000000000001000000000000002014aa8e29f77d6a5fb881904df608256632c6604fbfb5192158e0932c0baf514500000000000000010000000000000001000000000000002093c99af014a3514bdcc84cdf0e72d42f20038a64dcba4071efdcce4cf6a76949000000000000000100000000000000000000000000000020a07353c5029eac2f5fb14b7aaa839b9ff2b01dd6feeb51c341820462ab766306000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a00000000000000090000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000201e1426bc22e09b48e2f3902ae15397de929e0b50905519518b2ffd6ff87b0f8d000000000000000100000000000000010000000000000020ff5c9eed6e4075d1dc3dad1312c9f0e4bcc23270345f8eea8c11a5b3619b24aa000000000000000100000000000000010000000000000020e23783733f2d245e0738ed8503ab8c6aef3aa526888e6b8dc670bfe0e224b8ff000000000000000100000000000000000000000000000020a45ee5473875579efd498bb9c2b6715752587f3d8b2592b454ecfaa7a4333af7000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000900000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002090259637a3c7b6f20b290a76270095fb089607c21cdf4ed39484811960008919000000000000000100000000000000010000000000000020c889db6dac504943b1318bf84cfb6161210a7bbf617bd1bf82ab2e6ced97160100000000000000010000000000000001000000000000002007d39646b95a092ed5be38ad4474ad567990da4b66916cee90277a4683cecfe2000000000000000100000000000000000000000000000020cb2225a536a9a8509dad5337de8367dfda433645ebe75afeb88dfb64402946580000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea900000000000000090000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020d1003b2e0b187f648ec76687af72d962a72afad5ac9eef8a65af7e534be416120000000000000001000000000000000100000000000000200ab693b6366c8573076e7521cd4638cc1f6356137793dca71188f64773666fd800000000000000010000000000000001000000000000002062cf2958fbe0482b505bd906f7e195c3cd89bd9bd1e7d56ae0a1892edf97b6f70000000000000001000000000000000000000000000000205703aa589706527fd7b043fe791c15b2a64fb4907ff101521eb03d6c1a6ab7c400000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000900000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020b2fd2de80747c7ce529604c6e7bce35d886f56115b4684e53e310d816220dbf400000000000000010000000000000001000000000000002027654f6212b3887526cc2b00c77b11134cf26743032966b1c25f08fb46524933000000000000000100000000000000010000000000000020c8ef28dfc9de5c5d1e4b74e0069effc812426b9083bf6c22359078f15c246636000000000000000100000000000000000000000000000020e8e156ddb580d513fc7e8887f92b8a2d9520aac92258afe450abfeba164c3d0a000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef62000000000000002c0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000201a8f717f191695bf4ab76675b7a3219d2f27fb20740f7fd1c8b4de4c3b8d3ad1000000000000000100000000000000010000000000000020953ad815a2963d664f0f467b59bd24c8e0fa06059f422523c2c9cc30e63622ef0000000000000001000000000000000000000000000000200ae4da6dd0ba3dba590cdc5b458241d43b05d834be20f06226ed69dfe3f4feff000000000000000100000000000000000000000000000020c5955793ab286002e2bc4ea091ab49e689f85a1a02effe9360301649450f713e0000000000000001000000000000000100000000000000204f867a0948b81531d95731b53c192de3de5683271c9a1cc0ac14df220b41408c00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000002c0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000203339dbf171cef49d7978b44819e11c800293110002342a85ab135c22da55bb710000000000000001000000000000000100000000000000207bfd1e8b05c7d4db1ddb4abbc4ee4e2047ab1cea71eb4125c60d95dface639b80000000000000001000000000000000000000000000000202d5491c2b0a236a306dd587e3689fdac906752af96e9c92a11015dee02b355260000000000000001000000000000000000000000000000204c549c0a06011a5b940afdd9c949f7c54668b0449c63f74f64a3a00d1cc2a37800000000000000010000000000000001000000000000002076b338eb5ef4ecedf088a240d844ad8aa568c3fc1e06595dfc1bcf5c1d7eb5060000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000002c00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020f261b9a08872bbae2ee1b5242a58a98e6dbc344a16222dd6d29532131750cef9000000000000000100000000000000010000000000000020bfdccf99758b04d8a92da681fc6e6da5f18f33ceaac0b2bb02f9b8547d2691080000000000000001000000000000000000000000000000204d27c12f42a76bf3b63a492e3cf1303219ba56c08ee672b356ffac4c23e319c4000000000000000100000000000000000000000000000020e6729a3cfc74955cf085843ef3c6fbd390113d9cff9812bd238abfc2c9d4f20f0000000000000001000000000000000100000000000000203a2c35d688594f05f79955677461114166bc50b58bd4ae020f5d43839759d575000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000002c0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a00000000000000060000000000000001000000000000000100000000000000206ccc0473bfcb31c0fe4605e06736faa8457d1fa1ca4e7bb87ec9ab3166d3c4cc000000000000000100000000000000010000000000000020308f6fcc0fd108cf14e6afb6ef196ab0bd1c0a77607c51e711541f89a231ec1a00000000000000010000000000000000000000000000002026f7118c3312dbfe043e50912d70fb44b7c2ecf6f52563a7e99533406b8f07bf000000000000000100000000000000000000000000000020775408d12a472a8fc9c7742b042f9e3ba4c74f4d0346c73dc9d199e1683cb5270000000000000001000000000000000100000000000000207146d287901ce18233654be4b1eb5464f0e5fa7e0d305c817e04a80616b304710000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000002c00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000201250ecace6ddefc3f48c503fc803e8c0ef15962eb6cc7a1dd63af785d265ca0b000000000000000100000000000000010000000000000020020bb248e961e68fce159cbef542c094c686b13d95d831ad01c5a12bebc4e6790000000000000001000000000000000000000000000000201a498756be16c8b44ad9abb3dbb3a7bf349cedc913a299ee6af9cf8576630fc9000000000000000100000000000000000000000000000020665a859141cdcf17279cb2dd5f1f7158a6bb6542a0eeaa6409aa65515b91986b000000000000000100000000000000010000000000000020ddddfda384fe654140aabe9a7c95996efe16d64817803016b1603f3e36def97a00000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000000d0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff1000000000000000600000000000000010000000000000000000000000000002058583a652c24c6d0785c925f6118129504dfc2edb5d95da5813d486bd64eb8800000000000000001000000000000000100000000000000207632194eaa79882c73a99557dd547ccd6fd120c5b43667fce4768d60ee466a6d000000000000000100000000000000000000000000000020266533c386eaecf62505c82a33fc748ed3dfb0dd1f1c3b6ef1c350f30907840f000000000000000100000000000000000000000000000020a07353c5029eac2f5fb14b7aaa839b9ff2b01dd6feeb51c341820462ab766306000000000000000100000000000000010000000000000020c83fb7977aaee24d0d89212e2f1147bf9b405849963f175fe61a4d8858b02981000000000000000100000000000000010000000000000020b5bce503fbe3c862f5dee2b2178880e5138877654a6074060e791faca56b5b7a000000000000000d0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000000000000000000201828317c05c28e25ed8b7eb1b2f97a233f73561f79f4467ae1d6779dc3659a6500000000000000010000000000000001000000000000002048f8483f7e54318f5880730aa74c25c4d947a419c1457363fa11f33292ddacb10000000000000001000000000000000000000000000000203e730a9762014a0bc462be90ae606e5d47c72eb18f70e7e52e6fdbf0e6f0ca51000000000000000100000000000000000000000000000020a45ee5473875579efd498bb9c2b6715752587f3d8b2592b454ecfaa7a4333af7000000000000000100000000000000010000000000000020cf504b73a6895274c71dacf49d762356ec2bd03ce8fe5803674473ffb2f75dab00000000000000010000000000000001000000000000002020cfc65f4dd53a0e075d2b171d58f028ea93f9f06598ea66ab6576597c5e3adc000000000000000d00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000204174af1902219d088e057fda4fe76a97c4630044aa0957c23262ec6424530305000000000000000100000000000000010000000000000020a1446d1959a5532fcdb701f6b3c6e291eaacee60b80061495cc41d0e035d612100000000000000010000000000000000000000000000002039c7a366da4d1fa697e88e597ac3bbcc32ffc45eead306e4cbfd2edbb9eb4b0d000000000000000100000000000000000000000000000020cb2225a536a9a8509dad5337de8367dfda433645ebe75afeb88dfb64402946580000000000000001000000000000000100000000000000204f65b6c3d7678352449bd3821262f7011184310bfb2bf1ae6f441b4bc50448ee000000000000000100000000000000010000000000000020b7e0e6613ce4ade3e79df30cb5597ab9d482ec23d5e22d1aff8b15529a31bea9000000000000000d0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020f897e776e09d3aa5b0ef02b8fa9d94c833dbe8e3a4acca161d39eae4c388efeb00000000000000010000000000000001000000000000002087025230e71441aeb34ce29145d3efce81a7a83e00ca71256a28454e0c5615120000000000000001000000000000000000000000000000204f05c8d8f818049484d7d3faa5e9b694d14c7ac4080d0055efe432b30c89b6b70000000000000001000000000000000000000000000000205703aa589706527fd7b043fe791c15b2a64fb4907ff101521eb03d6c1a6ab7c400000000000000010000000000000001000000000000002029be4596695815625cb3f1ab320d8247274b10fe63ff25c3c83d69e86d7c51a1000000000000000100000000000000010000000000000020c866d704c8bff082062ac41a00e8d0210e309835e29004b6e00408e2a69ccd96000000000000000d00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000000000000000000201693df45c9e451ae8bfcb39aab7ecc2df29084d12e0e9cd48583ca5a074717720000000000000001000000000000000100000000000000205280a41a03ed7121d7805d68f7263d00f02964303efc403f89add9557a81dd090000000000000001000000000000000000000000000000203289fd37a4bd52060275bcfbd94df5d5a8849168e2d9b61b464557c618ac4629000000000000000100000000000000000000000000000020e8e156ddb580d513fc7e8887f92b8a2d9520aac92258afe450abfeba164c3d0a000000000000000100000000000000010000000000000020f78fc4017761ca2fb3bd3fde9dbd002091dbdeefbd698cfe64ca7fb46a5aa2a500000000000000010000000000000001000000000000002056ca9fb1a5cbdb5ef6cf4409a35c4abdb12930ad6b818d907f9ff749b174ef6200000000000000330000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000000000000000000207344f3e7f6af9883c597d6e1f3a288c3ffc6aceb35435477812a31e3317c741900000000000000010000000000000000000000000000002005bd0da2469f2c21b3a29c3fb9805e1c169b17d94f8f17fb27b467cf42de28db0000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000330000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e0000000000000006000000000000000100000000000000000000000000000020e531ed69121bdf5b18ac52087e7e317b94e4f8c8b4269cef4cc727a80b662a5500000000000000010000000000000000000000000000002065f01400d8c5267b0c9e1b41ef2836adc1616da98100daa5b32b8ba39b374ee10000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003300000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c35000000000000000600000000000000010000000000000000000000000000002085674136c1c7052278bb5b81cec697fa887a824d5a77f3aab249dc3cac37c5c6000000000000000100000000000000000000000000000020fb1c512b5fd40b13b13e27176dd54a24bece81a3719811d1c1525960ea61728a00000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000330000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020af3d5222fc0999ef23147d2521755beb3f7682fabec9fc91af16b66d6368c6ab0000000000000001000000000000000000000000000000207c4943346d19abc52fa6dabeedee92d2744b5b29f2a77392fda371186409c51d000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003300000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e0000000000000006000000000000000100000000000000000000000000000020396c867cdcd84b0aa2c80470ea16ec6e2d2ef6330a89547450ec9de4f5454d3c0000000000000001000000000000000000000000000000201d97da85ccf54c8fbf4a2da8f7344e745fa6c763b9f666be12fefd53ef575409000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000003d0000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff10000000000000006000000000000000100000000000000000000000000000020c04f1fa9f3f965d8bece2549a2d58325a1b2514fb4e532926bff9d2574b86fb5000000000000000100000000000000010000000000000020fa95b871dc336a316326fbcb301108e4f714f2bd6e602d361ed24b034855b7490000000000000001000000000000000000000000000000206d638b48c620681d9ca1f3ca0b9269a4c587a473d6a7f7a9b87cd38c6b341a88000000000000000100000000000000000000000000000020228ad46578c60a8ae293c5203eb65e05045bb3651cc7f9dca5fdd52a9c021f9f000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c7000000000000003d0000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e000000000000000600000000000000010000000000000000000000000000002066ff1ec38e93c279868838ceb073cc1099f22a587203cee6c2d30bd5308ac995000000000000000100000000000000010000000000000020be85ed65a5a68087be9d2be76ba091a1b670d33ace117026a041765c69a90fda00000000000000010000000000000000000000000000002066f2ddc800c59423dc3e6cb06ec895471d3ffafc6e3140cc34d397e66f29e633000000000000000100000000000000000000000000000020d3fe0ac3f0592a168395476738f2d379d0581dd02807271399e479432d094ace000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003d00000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c3500000000000000060000000000000001000000000000000000000000000000207b85e7e8bde77e505c353ab7d2864134ee2d701e02e9ae6dcff7efa0bc5b59970000000000000001000000000000000100000000000000204bf9fc5479ccf1c58765e339c2134a2ac1ee1ed390585478a1ea790b1929ae77000000000000000100000000000000000000000000000020c371c57ff5dde460d309d11ac19c7ad32518310d12e6bb111c0bb8e8a09de1c90000000000000001000000000000000000000000000000203ba5f02812810d6739f0146771cd3e86ccd0bbcc336d4aee700bec1afa6b11260000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd000000000000003d0000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000000000000000000020be3264156a567ba4ef73f1938cdc6d6c8e26999a65eac9050cee299736474855000000000000000100000000000000010000000000000020f8678a0b79518897fb7cfbf4d7dd6ed3e2689f9c093e0c951a2ea9afa5134fe8000000000000000100000000000000000000000000000020fa6e29d4e9ff5e8c22e3f5cc15e4bc816d53bc1cf53d10d81048ce9ca3db8c8d000000000000000100000000000000000000000000000020b36f4ccbb0d7f10b29e0bfa83340e722c8b6763ed3a495cd1aa2d8bd04d57dc5000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003d00000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000000000000000000203e05f90fc59953734776b51de81a691620432558b227688407ac8ffc06741a1f0000000000000001000000000000000100000000000000207cb1186957f660b14c0cd0609cabbcae215164729d750d2f74f694e5acc257a200000000000000010000000000000000000000000000002053c1cf998121a223e60d8cae3913012bbbe81a0c35c838cd67e72f1f6d97deb90000000000000001000000000000000000000000000000208b8cde5cdcc546e0fc0446ebafeef03e9d0067324f0189814fd6404c1bfd349f0000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f800000000000000300000000000000020716cec0d47c884efe528c1932a8df60ddcb8c021da2c78b261cc7a8c86c0aff100000000000000060000000000000001000000000000000100000000000000209399208c484a329698fbd5fc3a1e5211545fe0819f858a740bdd001dd7359521000000000000000100000000000000010000000000000020b07fc62d561ac62b44d2a42d32b92ea5c1cc6bd1a2aaec7fc3bc3511de391ed20000000000000001000000000000000100000000000000205f3c867463c166fd9c0125885c51251e20c9b8d44030db7f8c699a0f747c2522000000000000000100000000000000010000000000000020f006cf8352bbf180ccb81999dec2d0377abf32ec1a119242758d07bf00181499000000000000000100000000000000000000000000000020e4a44c1e8331fb3764b3cb5e00b57b569a11545f1703737d2ec96bee3fe173ba00000000000000010000000000000000000000000000002010a4f3067afce9cadb49d5512675f4089fa47b1c6145520156a6296f4b6d44c700000000000000300000000000000020a096243b698e32dced2e8714c5b6dc3ca8323689d1f26d03beafb556fe77347e00000000000000060000000000000001000000000000000100000000000000208a1cb832169c6172d08634e929dc75a3eb3fd45dd468f05da4b03fd04b87a012000000000000000100000000000000010000000000000020f4dd72267aad53529f4348fc166c5360db899801c1df5ddfd7c1626279eafdbe0000000000000001000000000000000100000000000000201005d0456ea86f38d81d86687e8f11923a23456f3c2f3ff55d7c8acb9de64d690000000000000001000000000000000100000000000000208d5b321bbfd951f9cb7659d22f534c96ff102f4c76a497617e5abb9dfa82d388000000000000000100000000000000000000000000000020ed7f9b4d8c800daec29810e1d30c95a2ac4193892cdf48f11b9cece5a834b7870000000000000001000000000000000000000000000000208c7585be4baceec61dda46547d6059e9b46cb44423033513d943d1ef68e3248e000000000000003000000000000000203106e6f110f10003d4611fae81b664cfbea6391ef8f00a60a816eb699df55c350000000000000006000000000000000100000000000000010000000000000020b553f81505c1be7725d93c9ba1a36a616b906067477984aa867fa70fa986aa2e0000000000000001000000000000000100000000000000209fa49fa8f73a5cc057d203f3a9c7f130cfbb7c4e730bc2b128e3e68fc37b1c3700000000000000010000000000000001000000000000002037f323f28b325c94cd047b0aa66e4122b638ebda5e4cb494704426a26e33dc09000000000000000100000000000000010000000000000020a326eb11077686833a6684bb86f17f90920982d7b673ffb985fabf549cc9d1290000000000000001000000000000000000000000000000203a67dafb57c72c2793ba583de91e2bca554d504345745001ba69acac935cfc2f000000000000000100000000000000000000000000000020f8ab5ab44ec670bd51215c527dbcbadaa1472eeff50adfe9facc556f67aa99fd00000000000000300000000000000020b628debff7802f2a2c23f2ba1851f83d98969c7161a5c90a74c30231f92bb04a0000000000000006000000000000000100000000000000010000000000000020fb481d3c1800d6c8a814257bdb3cea7cd3ce0aa19a732e7e3e312ef31ae0bddd0000000000000001000000000000000100000000000000205386188d9764a1c502d826fd5702f83b8bad404606a67f5e9b0cc3cf27a710ed000000000000000100000000000000010000000000000020a82a5e02e3ed601654f87ef2c897f33b6cf288dd1a8acad8e78089c8e060cbd6000000000000000100000000000000010000000000000020a4d2e8f1f707e221c229f22410b0714bde0a36cd1d20b46ae328d3b89889feef000000000000000100000000000000000000000000000020233c2fc15d7dfb4db291dfb7d576994b4fca088a1f587f6e25dc06dfe3ddb28e0000000000000001000000000000000000000000000000204d9be08abe94a0be9dc2c8b20110e12bf5fc9a892c3fd04fe7e3922c3be0aeae000000000000003000000000000000203eedb55ed496b183a644f0ec4ca633f28cb5ebefc12825f88908a0bbbcf3900e00000000000000060000000000000001000000000000000100000000000000202ec4fb9e1ab05a2468cfcec36728629e5c6704813d6fbc4a5ddb447f407d76c2000000000000000100000000000000010000000000000020803b08555caa0af78ea6c725a165b9eb6b0e39f920d5bbeb88e760b2a06d892b000000000000000100000000000000010000000000000020c551654c11ba6e47d5a62e10cd186d35c08daacd145cb38e22dab63691e994d00000000000000001000000000000000100000000000000205ff873231541ecfe6f02973f4fb0447376f2403c2ab2118e93eac2287bef50480000000000000001000000000000000000000000000000205bbb4383543e91ebd2f1998dd5def2b5e33cb799ceec950e62be16a64fa7e49900000000000000010000000000000000000000000000002033405c7fccda3e83930e6aba0930d4cf7d97c0fde88a0ba333dd2825365b39f8000000000000005000000000000000180000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020fcd9a300689d89610b695beab501613de396049d6de582765465216e6d87ad94000000000000000100000000000000010000000000000020356f0eb22e7c6303797d346f9d4a29e5743ca03bf38874262b5905df19cd0a80000000000000000100000000000000010000000000000020617124d5ad5e046fa636ce0878eafa4775cfcd361fc3073b1f363a9793ac396f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000180000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000100000000000000206f84561348b260ac8dfdd01dff1f5f376911ae296d1244f2f8f83b5682644baa0000000000000001000000000000000100000000000000201dede27ed622ceaa04ccfebddb5d158b0e527e660c4038b642ed38cca6ed97740000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000370000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201bf0d7c5f6ca1b109e3944adbd551943891f5918f414c3567d432fc862524aa900000000000000010000000000000000000000000000002042d210042c57aedfb91574b91ef98e221a986c88e64906fe010acf61f164c1d70000000000000001000000000000000000000000000000202c2cc0741f5c8075573f82844c0f23f14acb0cf750873104ab284e415387ff8900000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000170000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020f4f6f986ff21b96e0018f95f311f0609e53e8f0b345b9ff5a9b7008a8875037500000000000000010000000000000000000000000000002033e385415433e38c58ab4b8e6f7ca73059a5d4147b71296f36c6a18b1929612a000000000000000100000000000000000000000000000020360f535e532b05c462070a888d171152afb8e65471331e63f3c5c5f561159bab00000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000380000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020d33ca0e22dccb00e98505112a06eb621fa5b36861f55eaf05f2da5bdb87d9eec0000000000000001000000000000000100000000000000202fa3dbda7098e526019e057eefa124516cb5a62c52bbdc81d6ca698cd312aa08000000000000000100000000000000010000000000000020e5ab785eb3a34f03b72408635edcebfa5d1ef206a75ad24bf9aafaf6e2c5d795000000000000000100000000000000000000000000000020c2136f8cb49acbc29267509d02ecdf2bf9fb97c8bae1abb94272f75368ef9ddb0000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000180000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000100000000000000206f84561348b260ac8dfdd01dff1f5f376911ae296d1244f2f8f83b5682644baa0000000000000001000000000000000100000000000000201dede27ed622ceaa04ccfebddb5d158b0e527e660c4038b642ed38cca6ed97740000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000320000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000001000000000000002080912df0a47b276a13f8f002ef5d12f79692479e474c8c8ffc7e1a0d0fd65a780000000000000001000000000000000000000000000000202034a17bdd3f64a9832abb0bd5322b345de8209513866662fd24658af4bb57a90000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000120000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f456abd58b96235568f47c0e085e571d71d8b235d72892ed46ff8578efbd9b3b0000000000000001000000000000000000000000000000205f31e4e3bd9a2713b4e54d630979e5d8d576df0805678a1528a3d254c482a9590000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000002b0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000000000000000000002035c2f8b51a3075b71ec9729742aa9a5b684cf754cf9f8c97775e1b2c284911c40000000000000001000000000000000000000000000000208a5e16a6dbbdd9f5fe5573b876a4067251acdf76f71ffc31f6220b6a1cdb78260000000000000001000000000000000100000000000000201de678fc6901945aaa153741ee1684f358e0c87809edce554f8a00a76d0b3d02000000000000000100000000000000000000000000000020e19e79eabc13eaee81a98116c997255e962cdd59b6a70b1f4d8121265bf059530000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000000b0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020228967a9c58b31847c221e0247ba0cf5a7e6bc1754a11213d08ee3bd47355ace000000000000000100000000000000000000000000000020ea03a5e966dc21be7f293714d905d92cffb1f41ed422e178e5f5163ac86cffd400000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000001e0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000001000000000000002033bdee0b9c3ae0adbe4cdbe7c0ef3c3681763e0b7402d15ef2a72d3afa4530ba000000000000000100000000000000000000000000000020bc95b68cdd4a4256beec9ade7b0b979241b8ca8e6b3a64e26efb60acbefab65e0000000000000001000000000000000000000000000000206bcd0acd4a4ca22cb2ba8dede57e7399d059ade06bd4e9d47ca0ada668941f1f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001e0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f37ddcde1001c3a835f5d77cba672dbcb037507abed7f81312709c21ffbf6a390000000000000001000000000000000000000000000000205f68221ac3dd6eec991d0971103445bd5770f64fa871fbdd14b9613b03beb8fc000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000280000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000001000000000000002063dbe01031c316326dac46de25770b25eabd1b62b8ab6ef5381a5b7784ee4bff000000000000000100000000000000010000000000000020fed1cd42a79121b1a9086513f6a8f14964fd5a6707301cb7851689e1e7873df50000000000000001000000000000000100000000000000201de678fc6901945aaa153741ee1684f358e0c87809edce554f8a00a76d0b3d02000000000000000100000000000000000000000000000020e19e79eabc13eaee81a98116c997255e962cdd59b6a70b1f4d8121265bf059530000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000080000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020379ef1baf02fa657d22201c59759ee8b6364a00a5fa88c26acd7b2ca38a853e500000000000000010000000000000001000000000000002066c21254ab17ef5a4fbcab79f1eaaaa009093e060e43b46e0beff12c91679c6900000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000190000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020e1cca3ea00eaf6c57a5174a490e319cd4aaa7338427a50448615c7c92ebc74d9000000000000000100000000000000010000000000000020356f0eb22e7c6303797d346f9d4a29e5743ca03bf38874262b5905df19cd0a80000000000000000100000000000000010000000000000020617124d5ad5e046fa636ce0878eafa4775cfcd361fc3073b1f363a9793ac396f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000190000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d397b68d329bd985e697a363c4803845c7627039f4e57099b05cf5e844195ff80000000000000001000000000000000100000000000000201dede27ed622ceaa04ccfebddb5d158b0e527e660c4038b642ed38cca6ed97740000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000001b0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000207f1ec888df617212990db068cee8da544c97a995e667879d895334305207483f000000000000000100000000000000000000000000000020c6cdfc8eaccbaf7eccd165915e9fc1b99a453db4686e729ea9ba9bcc70411eb1000000000000000100000000000000010000000000000020617124d5ad5e046fa636ce0878eafa4775cfcd361fc3073b1f363a9793ac396f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001b0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c000000000000000500000000000000010000000000000000000000000000002090d9efeb3d75d723661e6136d9fb3d5ea3abb425c90ae0b0b365d15fa3438d900000000000000001000000000000000000000000000000200bc5aff4cfd295a669978d24cf4ae689624f7271f6ac45d7005b9e14541d85f60000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000350000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020cba686eb032ed92ba6279a4ae22c69f0a71058baf14621e2e465c8a943d60f960000000000000001000000000000000100000000000000201565beafdbdd1221544e28f50ecd8d5937cc976b7d9222bd8f470b5196bfe60f0000000000000001000000000000000000000000000000202c2cc0741f5c8075573f82844c0f23f14acb0cf750873104ab284e415387ff8900000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000150000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d8117a6e04e54fda8aeb8f23dc54f425b72b906ae9e44b6f73de25983aaa89b0000000000000000100000000000000010000000000000020fa6011c003151947490e0fb68079d7e9f7ebeee3e0b4464d7f1a4b5c19dde12d000000000000000100000000000000000000000000000020360f535e532b05c462070a888d171152afb8e65471331e63f3c5c5f561159bab00000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000090000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201bcf49554ee5712b6f2397182ca4981507e088973910f1943110f7b27adf765800000000000000010000000000000001000000000000002023d5ee54a37584b0f34b7bc67c8a113a0eb65b4c798266f16b2b4d24adff07a00000000000000001000000000000000100000000000000202d0456a28a065cf7b5db8ffba8b784326b9fe2dd10759cab439e6347d62373610000000000000001000000000000000000000000000000204e5342dd7982f3ef5c01fda09bf22324ace8b796396fd9a185604a7de10d544c0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000090000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000201ca1ee5f1ea2ba6879e941bd253fe0c509331d81c531ba721f7b5f357fcc094200000000000000010000000000000001000000000000002066c21254ab17ef5a4fbcab79f1eaaaa009093e060e43b46e0beff12c91679c6900000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000330000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000208fd5de1b7e55e288e3718a13f87fe3fb4a97150018e36a8d095a52c9023f23fa0000000000000001000000000000000000000000000000202034a17bdd3f64a9832abb0bd5322b345de8209513866662fd24658af4bb57a90000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000130000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020bd5b8959734ce1c42a21f252fdb55101c0655d51c2af488fc2fa5703bc3f28750000000000000001000000000000000000000000000000205f31e4e3bd9a2713b4e54d630979e5d8d576df0805678a1528a3d254c482a9590000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000001e0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000001000000000000002033bdee0b9c3ae0adbe4cdbe7c0ef3c3681763e0b7402d15ef2a72d3afa4530ba000000000000000100000000000000000000000000000020bc95b68cdd4a4256beec9ade7b0b979241b8ca8e6b3a64e26efb60acbefab65e0000000000000001000000000000000000000000000000206bcd0acd4a4ca22cb2ba8dede57e7399d059ade06bd4e9d47ca0ada668941f1f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001e0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f37ddcde1001c3a835f5d77cba672dbcb037507abed7f81312709c21ffbf6a390000000000000001000000000000000000000000000000205f68221ac3dd6eec991d0971103445bd5770f64fa871fbdd14b9613b03beb8fc000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000001b0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000207f1ec888df617212990db068cee8da544c97a995e667879d895334305207483f000000000000000100000000000000000000000000000020c6cdfc8eaccbaf7eccd165915e9fc1b99a453db4686e729ea9ba9bcc70411eb1000000000000000100000000000000010000000000000020617124d5ad5e046fa636ce0878eafa4775cfcd361fc3073b1f363a9793ac396f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001b0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c000000000000000500000000000000010000000000000000000000000000002090d9efeb3d75d723661e6136d9fb3d5ea3abb425c90ae0b0b365d15fa3438d900000000000000001000000000000000000000000000000200bc5aff4cfd295a669978d24cf4ae689624f7271f6ac45d7005b9e14541d85f60000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000001d0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000208b87f77512037584ee463d18e62a0a1b401703b5f312909c15fecfb0b3c0f5a1000000000000000100000000000000010000000000000020cad130f947cd6ce77ec40ed610b384dec97c1442dbe36d2d0349b30989291f860000000000000001000000000000000000000000000000206bcd0acd4a4ca22cb2ba8dede57e7399d059ade06bd4e9d47ca0ada668941f1f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001d0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d62c18d15de6b377046f5643f49c2ae56fdb6ea6c2f19131e728eb60faafdfc100000000000000010000000000000001000000000000002089c2fc1031b499ab0982ca5a9c5dc21b76be1c544799df75a17613221f807548000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000003f0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000207c30c8150c38dce6f1156098cccf810d4f33d3bf433c16cf5c21b6e9b2b2b93b00000000000000010000000000000000000000000000002061b2f19f9d2d8dc3d7cb519bf2bbcd480091187e90462fe598ba3ab2d8225419000000000000000100000000000000000000000000000020f7ae3533ffbb8ed72b1f32be28457d4b779e18b8026705f4627427411135da41000000000000000100000000000000000000000000000020c2136f8cb49acbc29267509d02ecdf2bf9fb97c8bae1abb94272f75368ef9ddb0000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000001f0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000204be140f330f5e9e895973b9131f57ef14714637a07da78228b7c7ffa53c0f26b0000000000000001000000000000000000000000000000205f68221ac3dd6eec991d0971103445bd5770f64fa871fbdd14b9613b03beb8fc000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000200000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000100000000000000209c9a1c27cb9e1921db1562d835f9e08b581308786dac864aefae87e32a9f432f000000000000000100000000000000010000000000000020650bc695dff6d42902b7dbaf7e52b794a4281143c80f3b73de6fb64a7b4daf110000000000000001000000000000000100000000000000204be3cd7f6809cb1da0145fd57f8555c424f5bcad758e32877a357926c16a467e000000000000000100000000000000010000000000000020f36c3d29a21190610f6b0a0c81fa9d59173525b348d44ed69d45a146c69595c20000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000000000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020c8e733f57fcdcfeb2e92a7b4a9b6504731a54778809d6f8c6d0fed76cc8993d8000000000000000100000000000000010000000000000020b27e8883dacb874b793404cda7908be4e16a754739a77740befc3e1258408fe300000000000000010000000000000001000000000000002071c77bdf6e020b4e78d7356d7c8188a96fb977369a1b2cb248838258eb10e4d6000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000002a0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000100000000000000203b817176ea2798bebbc269332f468999670311d019c83befcd86109307ad8c2c0000000000000001000000000000000000000000000000208a5e16a6dbbdd9f5fe5573b876a4067251acdf76f71ffc31f6220b6a1cdb78260000000000000001000000000000000100000000000000201de678fc6901945aaa153741ee1684f358e0c87809edce554f8a00a76d0b3d02000000000000000100000000000000000000000000000020e19e79eabc13eaee81a98116c997255e962cdd59b6a70b1f4d8121265bf059530000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000000a0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f6c2a956dbdf74471db230248255d15c9263832b639df9b71a7e29856f80ad8b000000000000000100000000000000000000000000000020ea03a5e966dc21be7f293714d905d92cffb1f41ed422e178e5f5163ac86cffd400000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000030000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201eb0f62f852cd58e3bf4c0f55ddf85550a0f670f0e1ec28144429eb6686e71db000000000000000100000000000000000000000000000020f37fabb7b6f8cdc80d261afbacda92c9ae81257df10e79fa130cbe037baa49e0000000000000000100000000000000010000000000000020510911e14db2d850abb921c7d3fc88895d5bc10282a2f9e856ede137fa8387ae00000000000000010000000000000001000000000000002090023cf8946f6a94211d0baca3381eec3384b6474f46f650ab4faaad367b7e0a0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000030000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000206d452006faf20482a0799644c43c56dec045495d0c0f56f327d189c7aaabca8f0000000000000001000000000000000000000000000000203dfeb9d8ebb2ee48054eecfca4e63cf1648c2d4e9ee14d3ecc8482437f9d5c9700000000000000010000000000000001000000000000002071c77bdf6e020b4e78d7356d7c8188a96fb977369a1b2cb248838258eb10e4d6000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000150000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020d242083fa64f1930b63a52abe505fe8f6791bae5bc060221eb4a88df25a214fc0000000000000001000000000000000100000000000000206057cb60c42fa5441ba3cdd4610ca12e7895e4d8da721725a247a0611e5a7fbb000000000000000100000000000000000000000000000020468f78cab5f2f8a431c98b40cf71c7111497e896d12f97d7e8011382b0a03b8c000000000000000100000000000000010000000000000020a7b2e19f0a0a5641ccfdbe7c6a437370e637b8e3dea3b9bce42f68fd69b8083200000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000150000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d8117a6e04e54fda8aeb8f23dc54f425b72b906ae9e44b6f73de25983aaa89b0000000000000000100000000000000010000000000000020fa6011c003151947490e0fb68079d7e9f7ebeee3e0b4464d7f1a4b5c19dde12d000000000000000100000000000000000000000000000020360f535e532b05c462070a888d171152afb8e65471331e63f3c5c5f561159bab00000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000003e0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020dc3eeda3220124423410d3d27152b197f253909ec9f3a6c37b48cf11e9ef169500000000000000010000000000000000000000000000002061b2f19f9d2d8dc3d7cb519bf2bbcd480091187e90462fe598ba3ab2d8225419000000000000000100000000000000000000000000000020f7ae3533ffbb8ed72b1f32be28457d4b779e18b8026705f4627427411135da41000000000000000100000000000000000000000000000020c2136f8cb49acbc29267509d02ecdf2bf9fb97c8bae1abb94272f75368ef9ddb0000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000001e0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f37ddcde1001c3a835f5d77cba672dbcb037507abed7f81312709c21ffbf6a390000000000000001000000000000000000000000000000205f68221ac3dd6eec991d0971103445bd5770f64fa871fbdd14b9613b03beb8fc000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000040000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020a05ed8e0428aeea312cf49ae18dcc09d0807278f862800785cb6109f6563e527000000000000000100000000000000010000000000000020169cd51329abb5477017ac7cb5cd33002cf3102495e258018d53615836864ccb00000000000000010000000000000000000000000000002073c9932c74eb369c9e05f6d87cb109374d0936d77f996b7e28482d45deeebc8200000000000000010000000000000001000000000000002090023cf8946f6a94211d0baca3381eec3384b6474f46f650ab4faaad367b7e0a0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000040000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000100000000000000201e1184a410040470d0e6f236922c56bab67350743869d7ed3e46d2818c9307260000000000000001000000000000000100000000000000205a73c9344ab74352490609863f09bb538a1157186b48fb7bc703acd711f7ff10000000000000000100000000000000000000000000000020c2403cc6d8693cf1c0301904424512fb27032729c60bc1bbd2654fb47e6d2292000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000002c0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020bef44a5dcf022ec2792881cb4bac4bc229a674def5582c9b42c4e15ca5b9229300000000000000010000000000000001000000000000002073c7e38710157b840d8035028e978fc65d34ae2e77494556a2dc753cdba7a1a1000000000000000100000000000000000000000000000020520093ad686c256cbcf175f2413afdcea0806cbd1a5d3cda6f6fb50a8c00750b000000000000000100000000000000000000000000000020e19e79eabc13eaee81a98116c997255e962cdd59b6a70b1f4d8121265bf059530000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000000c0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f2302bfe3b26491a8accdc752ca6ceae8f003fb76b5dbaee1846abc05fbe2443000000000000000100000000000000010000000000000020dc1534597174cda8c8fe90a4c274873bd6114938cd289346c303b7ed872f4907000000000000000100000000000000000000000000000020852e5a6b1c617224862de58ba207457caa7f9b44126124458cefb10f4a8e75d0000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000190000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020e1cca3ea00eaf6c57a5174a490e319cd4aaa7338427a50448615c7c92ebc74d9000000000000000100000000000000010000000000000020356f0eb22e7c6303797d346f9d4a29e5743ca03bf38874262b5905df19cd0a80000000000000000100000000000000010000000000000020617124d5ad5e046fa636ce0878eafa4775cfcd361fc3073b1f363a9793ac396f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000190000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d397b68d329bd985e697a363c4803845c7627039f4e57099b05cf5e844195ff80000000000000001000000000000000100000000000000201dede27ed622ceaa04ccfebddb5d158b0e527e660c4038b642ed38cca6ed97740000000000000001000000000000000100000000000000207929ddc527f5e2dcf0bc7407fe718eb00814035b56d0c7dce73079d3a259e520000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000000f0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000000000000000000002085b2d541632e93d7c836b22af9f3d3a50d338e7ecbe8c86dc60d35f69f7d75c90000000000000001000000000000000000000000000000200fb93a79cf923d8f7e6a7d1eeb44fa581349b48cc66ce2577c575376864841ad0000000000000001000000000000000000000000000000200854e3c972ecee2d132045469fc4fbe5290c0876150d56ca7b18586e7dc74a180000000000000001000000000000000000000000000000204e5342dd7982f3ef5c01fda09bf22324ace8b796396fd9a185604a7de10d544c0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000000f0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020f89c7a59291feca05af751b9af8e565c6a276fbe8195d31fb6d1a3458a03afbc00000000000000010000000000000000000000000000002067a3c701bd2d0007f577d7e4240f8d647ee51ffed01339748b40aca377f155f1000000000000000100000000000000000000000000000020852e5a6b1c617224862de58ba207457caa7f9b44126124458cefb10f4a8e75d0000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000090000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201bcf49554ee5712b6f2397182ca4981507e088973910f1943110f7b27adf765800000000000000010000000000000001000000000000002023d5ee54a37584b0f34b7bc67c8a113a0eb65b4c798266f16b2b4d24adff07a00000000000000001000000000000000100000000000000202d0456a28a065cf7b5db8ffba8b784326b9fe2dd10759cab439e6347d62373610000000000000001000000000000000000000000000000204e5342dd7982f3ef5c01fda09bf22324ace8b796396fd9a185604a7de10d544c0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000090000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000201ca1ee5f1ea2ba6879e941bd253fe0c509331d81c531ba721f7b5f357fcc094200000000000000010000000000000001000000000000002066c21254ab17ef5a4fbcab79f1eaaaa009093e060e43b46e0beff12c91679c6900000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000120000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000100000000000000209e65b75b6d7e671974717512d6bb7c781750d22fb3c6477ebe4d85c75b703768000000000000000100000000000000000000000000000020b8376f932b9ac597fcc4db0922dbadcd6752ea8057d77e1fee316930401c7b7e000000000000000100000000000000010000000000000020f4be8605dc4b8141a76f86c9ba4009f16f17c19d5cba2c79b19d8c48a5b6b8d3000000000000000100000000000000010000000000000020a7b2e19f0a0a5641ccfdbe7c6a437370e637b8e3dea3b9bce42f68fd69b8083200000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000120000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f456abd58b96235568f47c0e085e571d71d8b235d72892ed46ff8578efbd9b3b0000000000000001000000000000000000000000000000205f31e4e3bd9a2713b4e54d630979e5d8d576df0805678a1528a3d254c482a9590000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000270000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020e0a0e2fec224bfb6b92a7a50db9d188cc5ed6f34cb41d8aa23c49c6bf8c67be30000000000000001000000000000000000000000000000204ef461a647ffc1b499eb5d41db90f1569722258d45ef096a6939f74c3e7c8565000000000000000100000000000000000000000000000020e70671a84f1daa0ea8b5954b3c52a130f5f5898db1f16e0fb58f0c11141ba4b7000000000000000100000000000000010000000000000020f36c3d29a21190610f6b0a0c81fa9d59173525b348d44ed69d45a146c69595c20000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000070000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000209a163b7f999f5c9f14622af5462d109bf8d69b0c95fb3bb97f39361e24901e43000000000000000100000000000000000000000000000020cb32cafc4293eae63e38106a1a671e87fbae7c2b829ee3bc57b51218f6dec991000000000000000100000000000000000000000000000020c2403cc6d8693cf1c0301904424512fb27032729c60bc1bbd2654fb47e6d2292000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000003f0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000207c30c8150c38dce6f1156098cccf810d4f33d3bf433c16cf5c21b6e9b2b2b93b00000000000000010000000000000000000000000000002061b2f19f9d2d8dc3d7cb519bf2bbcd480091187e90462fe598ba3ab2d8225419000000000000000100000000000000000000000000000020f7ae3533ffbb8ed72b1f32be28457d4b779e18b8026705f4627427411135da41000000000000000100000000000000000000000000000020c2136f8cb49acbc29267509d02ecdf2bf9fb97c8bae1abb94272f75368ef9ddb0000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000001f0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000204be140f330f5e9e895973b9131f57ef14714637a07da78228b7c7ffa53c0f26b0000000000000001000000000000000000000000000000205f68221ac3dd6eec991d0971103445bd5770f64fa871fbdd14b9613b03beb8fc000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000320000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000001000000000000002080912df0a47b276a13f8f002ef5d12f79692479e474c8c8ffc7e1a0d0fd65a780000000000000001000000000000000000000000000000202034a17bdd3f64a9832abb0bd5322b345de8209513866662fd24658af4bb57a90000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000120000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f456abd58b96235568f47c0e085e571d71d8b235d72892ed46ff8578efbd9b3b0000000000000001000000000000000000000000000000205f31e4e3bd9a2713b4e54d630979e5d8d576df0805678a1528a3d254c482a9590000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000310000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201b87ba1a8432a7231e57821d59485cf05d70724f4873f4584d5d8518a078217d00000000000000010000000000000001000000000000002083e32cb95194dab8c9992ee511a79a33a7767ed80d44276ac225168ced7cc68d0000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000110000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c000000000000000500000000000000010000000000000000000000000000002029d1aee9b22811fdb9e2e931eb7294c359404f0efc1b12aefa67af9545ad3174000000000000000100000000000000010000000000000020c1857f09e84feac04c3a136ae98f6da9dc6541158c538efeccd69fd85b258b180000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000070000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020266013cfafc13b16150b8bafaedcb71e82b6cf773b3888f94f8566b48470026b00000000000000010000000000000000000000000000002030db168db6ef70365a218027a43074a037905ed64bb04f2183c405a345c6fae400000000000000010000000000000000000000000000002073c9932c74eb369c9e05f6d87cb109374d0936d77f996b7e28482d45deeebc8200000000000000010000000000000001000000000000002090023cf8946f6a94211d0baca3381eec3384b6474f46f650ab4faaad367b7e0a0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000070000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000209a163b7f999f5c9f14622af5462d109bf8d69b0c95fb3bb97f39361e24901e43000000000000000100000000000000000000000000000020cb32cafc4293eae63e38106a1a671e87fbae7c2b829ee3bc57b51218f6dec991000000000000000100000000000000000000000000000020c2403cc6d8693cf1c0301904424512fb27032729c60bc1bbd2654fb47e6d2292000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000270000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000000000000000000020e0a0e2fec224bfb6b92a7a50db9d188cc5ed6f34cb41d8aa23c49c6bf8c67be30000000000000001000000000000000000000000000000204ef461a647ffc1b499eb5d41db90f1569722258d45ef096a6939f74c3e7c8565000000000000000100000000000000000000000000000020e70671a84f1daa0ea8b5954b3c52a130f5f5898db1f16e0fb58f0c11141ba4b7000000000000000100000000000000010000000000000020f36c3d29a21190610f6b0a0c81fa9d59173525b348d44ed69d45a146c69595c20000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000070000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000209a163b7f999f5c9f14622af5462d109bf8d69b0c95fb3bb97f39361e24901e43000000000000000100000000000000000000000000000020cb32cafc4293eae63e38106a1a671e87fbae7c2b829ee3bc57b51218f6dec991000000000000000100000000000000000000000000000020c2403cc6d8693cf1c0301904424512fb27032729c60bc1bbd2654fb47e6d2292000000000000000100000000000000010000000000000020d1b0bd055ca716366806915ee135b173b3f3c8dd6e203665a581da8b65e6b3760000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000001d0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000208b87f77512037584ee463d18e62a0a1b401703b5f312909c15fecfb0b3c0f5a1000000000000000100000000000000010000000000000020cad130f947cd6ce77ec40ed610b384dec97c1442dbe36d2d0349b30989291f860000000000000001000000000000000000000000000000206bcd0acd4a4ca22cb2ba8dede57e7399d059ade06bd4e9d47ca0ada668941f1f00000000000000010000000000000000000000000000002029180a2885990e6cb931dc303da7d0975c70f52ee2dfc48dbedb5e94ee6608a700000000000000010000000000000000000000000000002073061a3a0ba6858dd344ec485878d7ef3fa081304321cc35971062597c1292be00000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000001d0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d62c18d15de6b377046f5643f49c2ae56fdb6ea6c2f19131e728eb60faafdfc100000000000000010000000000000001000000000000002089c2fc1031b499ab0982ca5a9c5dc21b76be1c544799df75a17613221f807548000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000090000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000201bcf49554ee5712b6f2397182ca4981507e088973910f1943110f7b27adf765800000000000000010000000000000001000000000000002023d5ee54a37584b0f34b7bc67c8a113a0eb65b4c798266f16b2b4d24adff07a00000000000000001000000000000000100000000000000202d0456a28a065cf7b5db8ffba8b784326b9fe2dd10759cab439e6347d62373610000000000000001000000000000000000000000000000204e5342dd7982f3ef5c01fda09bf22324ace8b796396fd9a185604a7de10d544c0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b43100000000000000090000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000201ca1ee5f1ea2ba6879e941bd253fe0c509331d81c531ba721f7b5f357fcc094200000000000000010000000000000001000000000000002066c21254ab17ef5a4fbcab79f1eaaaa009093e060e43b46e0beff12c91679c6900000000000000010000000000000001000000000000002035eab9eaea87009145cf55f6c08113ad56df1a2bcd1dbe67499a97fd59ab42e9000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000002c0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020bef44a5dcf022ec2792881cb4bac4bc229a674def5582c9b42c4e15ca5b9229300000000000000010000000000000001000000000000002073c7e38710157b840d8035028e978fc65d34ae2e77494556a2dc753cdba7a1a1000000000000000100000000000000000000000000000020520093ad686c256cbcf175f2413afdcea0806cbd1a5d3cda6f6fb50a8c00750b000000000000000100000000000000000000000000000020e19e79eabc13eaee81a98116c997255e962cdd59b6a70b1f4d8121265bf059530000000000000001000000000000000100000000000000209d285f1cdbdb3c895c60ea0e17ac2c5c05dd796b60e6cecdee97e7980ed1784e00000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000000c0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000010000000000000020f2302bfe3b26491a8accdc752ca6ceae8f003fb76b5dbaee1846abc05fbe2443000000000000000100000000000000010000000000000020dc1534597174cda8c8fe90a4c274873bd6114938cd289346c303b7ed872f4907000000000000000100000000000000000000000000000020852e5a6b1c617224862de58ba207457caa7f9b44126124458cefb10f4a8e75d0000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c9000000000000000d0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000200b61c9310f4e88290504bd6a93f3b09a75fc7ed636dea8cfcf38a17d7c96acbd000000000000000100000000000000010000000000000020f6442bd3b59524ddb97947c083930599c917d3745c01b143ea5402477dbcd8300000000000000001000000000000000000000000000000200854e3c972ecee2d132045469fc4fbe5290c0876150d56ca7b18586e7dc74a180000000000000001000000000000000000000000000000204e5342dd7982f3ef5c01fda09bf22324ace8b796396fd9a185604a7de10d544c0000000000000001000000000000000100000000000000206f227f3a43fe0ce06a53e09f782c5925e4a7405e779a2107c2ce5e46a092a3b900000000000000010000000000000001000000000000002022a75c433deb3ff55ef317aa54707be495ba87091c8aad66aa432f56b766b431000000000000000d0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c00000000000000050000000000000001000000000000000000000000000000200cceaf7914bc596e169b932cc74f13cfc7a09b46694b1a5c71012f91190e49fb000000000000000100000000000000010000000000000020dc1534597174cda8c8fe90a4c274873bd6114938cd289346c303b7ed872f4907000000000000000100000000000000000000000000000020852e5a6b1c617224862de58ba207457caa7f9b44126124458cefb10f4a8e75d0000000000000000100000000000000000000000000000020171b8092b609b2535e6e3227c2dbe4abbb8c0f4a584adb954e89bca6b400a0680000000000000001000000000000000100000000000000206955704878374468f161c07f880655946193d3a69ac0991d64dc9e675755b0c900000000000000330000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf7950800000000000000060000000000000001000000000000000000000000000000208fd5de1b7e55e288e3718a13f87fe3fb4a97150018e36a8d095a52c9023f23fa0000000000000001000000000000000000000000000000202034a17bdd3f64a9832abb0bd5322b345de8209513866662fd24658af4bb57a90000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000130000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020bd5b8959734ce1c42a21f252fdb55101c0655d51c2af488fc2fa5703bc3f28750000000000000001000000000000000000000000000000205f31e4e3bd9a2713b4e54d630979e5d8d576df0805678a1528a3d254c482a9590000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f9000000000000003d0000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf79508000000000000000600000000000000010000000000000000000000000000002023b05e1618b2e5bc9f6c997dc9422a94815dfa0f47d840676d964575002dc4be00000000000000010000000000000001000000000000002011323bf03effe50816f924f5eb8bc22c171be280e8f4bff0296c3aa1b18f350d000000000000000100000000000000000000000000000020f7ae3533ffbb8ed72b1f32be28457d4b779e18b8026705f4627427411135da41000000000000000100000000000000000000000000000020c2136f8cb49acbc29267509d02ecdf2bf9fb97c8bae1abb94272f75368ef9ddb0000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf5000000000000001d0000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c0000000000000005000000000000000100000000000000000000000000000020d62c18d15de6b377046f5643f49c2ae56fdb6ea6c2f19131e728eb60faafdfc100000000000000010000000000000001000000000000002089c2fc1031b499ab0982ca5a9c5dc21b76be1c544799df75a17613221f807548000000000000000100000000000000000000000000000020f0d3c2d2a2c303ecdfaa10ede8f9acdb16428c1774ffd70a40bf8d1169e74d7d000000000000000100000000000000000000000000000020ee8ac32f74a01315c0787bd6d5b864915b5db343321026175973735edcebb8340000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000300000000000000020948650e4cc459a75c958c208c1c025026b1a47c2d4d6162dc105534bbcf795080000000000000006000000000000000100000000000000010000000000000020358a8f06e7a298bf0012764a4421b57ad40faf103ae72581e08aed224f23180e00000000000000010000000000000001000000000000002083e32cb95194dab8c9992ee511a79a33a7767ed80d44276ac225168ced7cc68d0000000000000001000000000000000100000000000000206bcf6e1e95925559e858c819f1def11975379e50344eeb4666e8aee4e5dc1de000000000000000010000000000000001000000000000002057126ad4c4c3835dfdbb97fdb24146026d168f818b542cee4583bddc80d947a50000000000000001000000000000000000000000000000202b3930e0bb6737b29ad975da41bd1836cf9f10ed80670133acf3b17fe2ef989900000000000000010000000000000000000000000000002015220b45b4bd1587d24d70d990357f06b598d6a97f23e3986664017f9b5d9bf500000000000000100000000000000020d1953a751a179e36554a14ba3db95acdbcba48a367775f68b9443827ad33a64c000000000000000500000000000000010000000000000001000000000000002028d1af28da432df575a66ebb9391de2a1833304fb252012beecb5d7919aac1b6000000000000000100000000000000010000000000000020c1857f09e84feac04c3a136ae98f6da9dc6541158c538efeccd69fd85b258b180000000000000001000000000000000100000000000000202b8e714ceb0fac6313480010fc39f71b6818ab77718905751133d39da579d23300000000000000010000000000000001000000000000002010031c8b73c97baad39c1d46dab801fd34d5de68148550a261f2ef016ef54eac0000000000000001000000000000000000000000000000208c10663ec79b926b276665eaf180aa51102c649080fac2a104e084dc2cd107f900000000000000021ac0d34c4bbfe2574074d1aab2971f325635cb4d017abd2d7c35a622e20e9fe13da256812495e60c9a2d08e2f9ffe81833192ff2864b0239fbfbbb69ed28dabc6b8cfee1 \ No newline at end of file diff --git a/contracts/zkllvm/circuit4/public_input.inp b/contracts/zkllvm/circuit4/public_input.inp deleted file mode 100644 index e69de29..0000000 diff --git a/contracts/zkllvm/circuit6/commitment.sol b/contracts/zkllvm/circuit6/commitment.sol deleted file mode 100644 index 0224f5b..0000000 --- a/contracts/zkllvm/circuit6/commitment.sol +++ /dev/null @@ -1,480 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_commitment.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../containers/merkle_verifier.sol"; -import "../../algebra/polynomial.sol"; -import "hardhat/console.sol"; - -library modular_commitment_scheme_circuit6 { - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint64 constant batches_num = 5; - uint256 constant r = 2; - uint256 constant lambda = 40; - uint256 constant D0_size = 128; - uint256 constant max_degree = 7; - uint256 constant D0_omega = 7356716530956153652314774863381845254278968224778478050456563329565810467774; - uint256 constant unique_points = 5; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant _eta = 803366558203218085262587658290616888718514568376672218431510937671123454021; - bytes constant point_ids = hex"0001000100010001000100010001000100020100020100020100020100020100020100010001030000000200020000000000000000000000000000000000000204000204000204000204000204000204000204"; // 1 byte -- point id - bytes constant poly_points_num = hex"002c0010000f00010007"; // 2 byte lengths - bytes constant poly_ids = hex"00000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058005c006000640068006c007000740078007c008000840088008c009000940098009c00a000a400a800ac000000040008000c001000140018001c002000240028002c003000340038003c002000240028002c003000340048004c00940098009c00a000a400a800ac004000940098009c00a000a400a800ac0"; // 2 byte poly_id 2 byte - - struct commitment_state{ - bytes leaf_data; - uint256 roots_offset; - uint256 query_proof_offset; - uint256 initial_data_offset; - uint256 initial_proof_offset; - uint256 round_proof_offset; - uint256 round_data_offset; - uint256[r] alphas; - uint64[batches_num] batch_sizes; - uint64 poly_num; - uint256 points_num; - uint256 theta; - uint256 x_index; - uint256 x; - uint256 max_batch; - uint256 domain_size; - uint256[] final_polynomial; - uint256 leaf_length; - uint256[2][unique_points] denominators; - uint256[unique_points] U; - uint256[unique_points] unique_eval_points; - uint256[unique_points] theta_factors; - uint256[2] y; - uint256[2] Q; - uint256 j; - uint256 offset; - uint16[][unique_points] poly_inds; - } - - - function prepare_eval_points(uint256[unique_points] memory result, uint256 xi, uint256 eta) internal view { - uint256 inversed_omega = field.inverse_static(omega, modulus); - result[0] = xi; - result[1] = eta; - result[2] = mulmod(xi, omega, modulus); - result[3] = mulmod(xi, inversed_omega, modulus); - result[4] = mulmod(xi, field.pow_small(inversed_omega, 2, modulus), modulus); - - } - - function prepare_Y(bytes calldata blob, uint256 offset, commitment_state memory state) internal pure { - unchecked{ - state.y[0] = 0; - state.y[1] = 0; - for(uint256 cur_point = unique_points; cur_point > 0; ){ - cur_point--; - for(uint256 cur_poly = state.poly_inds[cur_point].length; cur_poly > 0;){ - cur_poly--; - uint256 cur_offset = state.poly_inds[cur_point][cur_poly]; - cur_offset = state.query_proof_offset + cur_offset; - state.Q[0] = mulmod(state.Q[0], state.theta, modulus); - state.Q[1] = mulmod(state.Q[1], state.theta, modulus); - state.Q[0] = addmod(state.Q[0], basic_marshalling.get_uint256_be(blob, cur_offset), modulus); - state.Q[1] = addmod(state.Q[1], basic_marshalling.get_uint256_be(blob, cur_offset + 0x20), modulus); - } - state.Q[0] = addmod(state.Q[0], modulus - state.U[cur_point], modulus); - state.Q[1] = addmod(state.Q[1], modulus - state.U[cur_point], modulus); - state.Q[0] = mulmod(state.Q[0], state.denominators[cur_point][0], modulus); - state.Q[1] = mulmod(state.Q[1], state.denominators[cur_point][1], modulus); - state.Q[0] = mulmod(state.Q[0], state.theta_factors[cur_point], modulus); - state.Q[1] = mulmod(state.Q[1], state.theta_factors[cur_point], modulus); - state.y[0] = addmod(state.y[0], state.Q[0], modulus); - state.y[1] = addmod(state.y[1], state.Q[1], modulus); - state.Q[0] = 0; - state.Q[1] = 0; - } - } - } - - function initialize( - bytes32 tr_state_before - ) internal returns(bytes32 tr_state_after){ - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - uint256 eta = transcript.get_field_challenge(tr_state, modulus); - require(eta == _eta, "Wrong eta"); - tr_state_after = tr_state.current_challenge; - } - - function copy_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - c - ) - mstore( - add(leaf, 0x40), - d - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_reverted_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - d - ) - mstore( - add(leaf, 0x40), - c - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool b){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, offset)) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function copy_reverted_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, offset)) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function colinear_check(uint256 x, uint256[2] memory y, uint256 alpha, uint256 colinear_value) internal pure returns(bool){ - unchecked { - uint256 tmp; - tmp = addmod(y[0], y[1], modulus); - tmp = mulmod(tmp, x, modulus); - tmp = addmod( - tmp, - mulmod( - alpha, - addmod(y[0], modulus-y[1], modulus), - modulus - ), - modulus - ); - uint256 tmp1 = mulmod(colinear_value , 2, modulus); - tmp1 = mulmod(tmp1 , x, modulus); - if( tmp != tmp1 ){ - return false; - } - return true; - } - } - - function verify_eval( - bytes calldata blob, - uint256[5] memory commitments, - uint256 challenge, - bytes32 transcript_state - ) internal view returns (bool){ - -unchecked { - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - commitment_state memory state; - - { - uint256 offset; - - if (challenge!= transcript.get_field_challenge(tr_state, modulus)) { - console.log("Wrong challenge"); - return false; - } - - for(uint8 i = 0; i < batches_num;){ - transcript.update_transcript_b32(tr_state, bytes32(commitments[i])); - i++; - } - state.theta = transcript.get_field_challenge(tr_state, modulus); - - state.points_num = basic_marshalling.get_length(blob, 0x0); - offset = 0x10 + state.points_num * 0x20; - for(uint8 i = 0; i < batches_num;){ - state.batch_sizes[i] = uint64(uint8(blob[offset + 0x1])); - if( state.batch_sizes[i] > state.max_batch ) state.max_batch = state.batch_sizes[i]; - state.poly_num += state.batch_sizes[i]; - i++; offset +=2; - } - - offset += 0x8; - offset += state.poly_num; - state.roots_offset = offset + 0x8; - offset += 0x8; - - for( uint8 i = 0; i < r;){ - transcript.update_transcript_b32(tr_state, bytes32(basic_marshalling.get_uint256_be(blob, offset + 0x8))); - state.alphas[i] = transcript.get_field_challenge(tr_state, modulus); - i++; offset +=40; - } - - - bytes calldata proof_of_work = blob[blob.length - 4:]; - transcript.update_transcript(tr_state, proof_of_work); - uint256 p_o_w = transcript.get_integral_challenge_be(tr_state, 4); - if (p_o_w & 0xffff0000 != 0) return false; - - - offset += 0x8 + r; - state.initial_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - - state.round_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - offset += 0x8; - - state.initial_proof_offset = offset; - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < batches_num;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != commitments[j] ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - offset += 0x8; - state.round_proof_offset = offset; - - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < r;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != basic_marshalling.get_uint256_be(blob, state.roots_offset + j * 40 + 0x8) ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - - state.final_polynomial = new uint256[](basic_marshalling.get_length(blob, offset)); - offset += 0x8; - for (uint256 i = 0; i < state.final_polynomial.length;) { - state.final_polynomial[i] = basic_marshalling.get_uint256_be(blob, offset); - i++; offset+=0x20; - } - } - if( state.final_polynomial.length > (( 1 << (field.log2(max_degree + 1) - r + 1) ) ) ){ - console.log("Wrong final poly degree"); - return false; - } - - prepare_eval_points(state.unique_eval_points, challenge, _eta); - { - uint256 sum; - - for(uint256 i = 0; i < state.unique_eval_points.length;){ - state.theta_factors[i] = field.pow_small(state.theta, sum, modulus); - sum += (uint256(uint8(poly_points_num[2*i])) << 8) + uint256(uint8(poly_points_num[2*i + 1])); - i++; - } - uint256 off = point_ids.length * 0x20 - 0x18; - for(uint256 i = 0; i < point_ids.length;){ - uint256 p = uint256(uint8(point_ids[point_ids.length - i - 1])); - state.U[p] = mulmod(state.U[p], state.theta, modulus); - state.U[p] = addmod(state.U[p], basic_marshalling.get_uint256_be(blob, off), modulus); - off -= 0x20; - i++; - } - for(uint256 i = 0; i < state.unique_eval_points.length;){ - i++; - } - } - ///* 1 - 2*permutation_size */ - ///* eta points check */ - { - uint256[16] memory points; - points[0] = basic_marshalling.get_uint256_be(blob,0x28); - points[0x1] = basic_marshalling.get_uint256_be(blob,0x68); - points[0x2] = basic_marshalling.get_uint256_be(blob,0xa8); - points[0x3] = basic_marshalling.get_uint256_be(blob,0xe8); - points[0x4] = basic_marshalling.get_uint256_be(blob,0x128); - points[0x5] = basic_marshalling.get_uint256_be(blob,0x168); - points[0x6] = basic_marshalling.get_uint256_be(blob,0x1a8); - points[0x7] = basic_marshalling.get_uint256_be(blob,0x1e8); - points[0x8] = basic_marshalling.get_uint256_be(blob,0x248); - points[0x9] = basic_marshalling.get_uint256_be(blob,0x2a8); - points[0xa] = basic_marshalling.get_uint256_be(blob,0x308); - points[0xb] = basic_marshalling.get_uint256_be(blob,0x368); - points[0xc] = basic_marshalling.get_uint256_be(blob,0x3c8); - points[0xd] = basic_marshalling.get_uint256_be(blob,0x428); - points[0xe] = basic_marshalling.get_uint256_be(blob,0x468); - points[0xf] = basic_marshalling.get_uint256_be(blob,0x4a8); - // Check keccak(points) - if ( bytes32(0xc1a65c073a0bbd973cc775a5ac2a7b908038a41edb6796c6bc1efeae16cf0b8c) != keccak256(abi.encode(points))) { - return false; - } - } - - - uint64 cur = 0; - for(uint64 p = 0; p < unique_points; p++){ - state.poly_inds[p] = new uint16[]((uint16(uint8(poly_points_num[2*p])) << 8) + uint16(uint8(poly_points_num[2*p + 1]))); - for(uint64 i = 0; i < state.poly_inds[p].length; i++){ - state.poly_inds[p][i] = (uint16(uint8(poly_ids[cur])) << 8) + uint16(uint8(poly_ids[cur + 1])); - cur+=2; - } - } - - state.leaf_data = new bytes(state.max_batch * 0x40 + 0x40); - for(uint64 i = 0; i < lambda;){ - // Initial proofs - state.query_proof_offset = state.initial_data_offset; - state.x_index = uint256(transcript.get_integral_challenge_be(tr_state, 8)) % D0_size; - state.x = field.pow_small(D0_omega, state.x_index, modulus); - state.domain_size = D0_size >> 1; - for(uint64 j = 0; j < batches_num;){ - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } - state.leaf_length = state.batch_sizes[j] * 0x40; - state.initial_data_offset += state.batch_sizes[j] * 0x40; - state.initial_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.initial_proof_offset); - j++; - } - - for( uint64 p = 0; p < unique_points; p++){ - state.denominators[p][0] = addmod(state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][1] = addmod(modulus - state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][0] = field.inverse_static(state.denominators[p][0], modulus); - state.denominators[p][1] = field.inverse_static(state.denominators[p][1], modulus); - } - prepare_Y(blob, state.query_proof_offset, state); - if( state.x_index < state.domain_size ){ - if( !copy_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - }else{ - if( !copy_reverted_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - } - if( !colinear_check(state.x, state.y, state.alphas[0], basic_marshalling.get_uint256_be(blob,state.round_data_offset)) ){ - console.log("Colinear check failed"); - return false; - } - - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - for(state.j = 1; state.j < r;){ - state.x_index %= state.domain_size; - state.x = mulmod(state.x, state.x, modulus); - state.domain_size >>= 1; - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } - state.y[0] = basic_marshalling.get_uint256_be(blob, state.round_data_offset); - state.y[1] = basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20); - if( !colinear_check(state.x, state.y, state.alphas[state.j], basic_marshalling.get_uint256_be(blob,state.round_data_offset + 0x40)) ){ - console.log("Round colinear check failed"); - return false; - } - state.j++; state.round_data_offset += 0x40; - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - } - - state.x = mulmod(state.x, state.x, modulus); - if(polynomial.evaluate(state.final_polynomial, state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset)) { - console.log("Wrong final poly check"); - return false; - } - if(polynomial.evaluate(state.final_polynomial, modulus - state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20)){ - console.log("Wrong final poly check"); - return false; - } - state.round_data_offset += 0x40; - i++; - } - return true; -} - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/gate_argument.sol b/contracts/zkllvm/circuit6/gate_argument.sol deleted file mode 100644 index 6da383c..0000000 --- a/contracts/zkllvm/circuit6/gate_argument.sol +++ /dev/null @@ -1,40 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_gate_argument.sol"; -import "hardhat/console.sol"; - - -contract modular_gate_argument_circuit6 is IGateArgument{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - // Append commitments - function verify( - bytes calldata blob, - uint256 theta - ) external view returns (uint256 F){ - uint256 theta_acc = 1; - uint256 eval; - uint256 x; - - - } -} \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/lookup_0.sol b/contracts/zkllvm/circuit6/lookup_0.sol deleted file mode 100644 index a392032..0000000 --- a/contracts/zkllvm/circuit6/lookup_0.sol +++ /dev/null @@ -1,100 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 -- Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../../contracts/basic_marshalling.sol"; - -library lookup_circuit6_0{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - - function evaluate_lookup_0_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 384); - l = mulmod( 1,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 544); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - l = mulmod( 2,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 576); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - function evaluate_lookup_1_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 448); - l = mulmod( 2,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 544); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 512); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/lookup_argument.sol b/contracts/zkllvm/circuit6/lookup_argument.sol deleted file mode 100644 index a4adf9f..0000000 --- a/contracts/zkllvm/circuit6/lookup_argument.sol +++ /dev/null @@ -1,207 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_lookup_argument.sol"; -import "./lookup_0.sol"; - -import "hardhat/console.sol"; - -contract modular_lookup_argument_circuit6 is ILookupArgument{ -//library modular_lookup_argument_circuit6{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint8 constant tables = 1; - uint8 constant sorted_columns = 7; - uint8 constant lookup_options_num = 4; - uint8 constant lookup_constraints_num = 3; - - - struct lookup_state{ - uint256 theta; - uint256 beta; - uint256 gamma; - uint256 factor; - uint256 V_L_value; - uint256 V_L_shifted_value; - uint256 q_last; - uint256 q_blind; - uint256 mask; - uint256 shifted_mask; - uint256 selector_value; - uint256 shifted_selector_value; - uint256 theta_acc; - uint256 g; - uint256 h; - uint256 l_shifted; - } - - function verify( - bytes calldata zvalues, // Table values and permutations' values - bytes calldata sorted, // Sorted batch values - uint256 lookup_commitment, - uint256 l0, - bytes32 tr_state_before // It's better than transfer all random values - ) external view returns (uint256[4] memory F, bytes32 tr_state_after){ - bytes calldata blob = zvalues[0xc0:]; - lookup_state memory state; - state.V_L_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 608 + 0x40); - state.V_L_shifted_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 608 + 0x60); - state.q_last = basic_marshalling.get_uint256_be(zvalues, 0x0); - state.q_blind = basic_marshalling.get_uint256_be(zvalues, 0x60); - state.mask = addmod(1, modulus - addmod(state.q_last , state.q_blind, modulus), modulus); - F[2] = state.mask; - - state.shifted_mask = addmod( - 1, - modulus - addmod(basic_marshalling.get_uint256_be(zvalues, 0x20) , basic_marshalling.get_uint256_be(zvalues, 0x80), modulus), - modulus - ); - - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - { - state.theta = transcript.get_field_challenge(tr_state, modulus); //theta - uint256 l; - state.g = 1; - state.h = 1; - - transcript.update_transcript_b32(tr_state, bytes32(lookup_commitment)); - state.beta = transcript.get_field_challenge(tr_state, modulus); //beta - state.gamma = transcript.get_field_challenge(tr_state, modulus); //gamma - state.factor = mulmod(addmod(1, state.beta, modulus), state.gamma, modulus); - (l, state.theta_acc) = lookup_circuit6_0.evaluate_lookup_0_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); - (l, state.theta_acc) = lookup_circuit6_0.evaluate_lookup_1_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 288); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 320); - l = mulmod( 1, state.selector_value, modulus); - state.l_shifted = mulmod( 1, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 288); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 320); - l = mulmod( 2, state.selector_value, modulus); - state.l_shifted = mulmod( 2, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - l = mulmod( 2, state.selector_value, modulus); - state.l_shifted = mulmod( 2, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 96), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 128), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - l = mulmod( 2, state.selector_value, modulus); - state.l_shifted = mulmod( 2, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 192), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 224), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - - - } - { - for(uint64 k = 0; k < 7;){ - state.mask = basic_marshalling.get_uint256_be(sorted, k*0x60); - state.shifted_mask = basic_marshalling.get_uint256_be(sorted, k*0x60 + 0x20); - state.h = mulmod( - state.h, - addmod( - addmod( - state.factor, - state.mask, - modulus - ), - mulmod(state.beta, state.shifted_mask , modulus), - modulus - ), - modulus - ); - unchecked{k++;} - } - } - - F[0] = mulmod( - l0, - addmod(1, modulus - state.V_L_value, modulus), - modulus - ); - F[1] = mulmod( - mulmod(state.q_last, state.V_L_value, modulus), - addmod(state.V_L_value, modulus-1, modulus), - modulus - ); - { - F[2] = mulmod( - F[2], - addmod( - mulmod(state.h, state.V_L_shifted_value, modulus), - modulus - mulmod(state.V_L_value, state.g, modulus), - modulus - ), - modulus - ); - } - { - for(uint64 i = 0; i < sorted_columns - 1;){ - state.beta = basic_marshalling.get_uint256_be(sorted, (i+1)*0x60); - state.gamma = modulus - basic_marshalling.get_uint256_be(sorted, (i)*0x60 + 0x40); - F[3] = addmod( - F[3], - mulmod( - mulmod( - transcript.get_field_challenge(tr_state, modulus), //alpha - l0, - modulus - ), - addmod( - state.beta, - state.gamma, - modulus - ), - modulus - ), - modulus - ); - unchecked{i++;} - } - } - tr_state_after = tr_state.current_challenge; - } -} diff --git a/contracts/zkllvm/circuit6/lookup_libs_list.json b/contracts/zkllvm/circuit6/lookup_libs_list.json deleted file mode 100644 index 2b3e69d..0000000 --- a/contracts/zkllvm/circuit6/lookup_libs_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ -"lookup_circuit6_0" -] diff --git a/contracts/zkllvm/circuit6/modular_verifier.sol b/contracts/zkllvm/circuit6/modular_verifier.sol deleted file mode 100644 index 45f3168..0000000 --- a/contracts/zkllvm/circuit6/modular_verifier.sol +++ /dev/null @@ -1,261 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_verifier.sol"; -import "./commitment.sol"; -import "./gate_argument.sol"; -import "./lookup_argument.sol"; -import "./permutation_argument.sol"; -import "hardhat/console.sol"; -import "../../algebra/field.sol"; - -contract modular_verifier_circuit6 is IModularVerifier{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - bool constant use_lookups = false; - bytes32 constant vk1 = bytes32(0xbee303c6f769f507379997f38b590b17a62922c71773d1de78264133b7578906); - bytes32 constant vk2 = bytes32(0x160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4); - bytes32 transcript_state; - address _gate_argument_address; - address _permutation_argument_address; - address _lookup_argument_address; - address _commitment_contract_address; - uint64 constant sorted_columns = 7; - uint64 constant f_parts = 8; // Individually on parts - uint64 constant z_offset = 0xc9; - uint64 constant table_offset = z_offset + 0x80 * 4 + 0xc0; - uint64 constant table_end_offset = table_offset + 608; - uint64 constant quotient_offset = 736; - uint64 constant rows_amount = 8; - uint256 constant omega = 199455130043951077247265858823823987229570523056509026484192158816218200659; - uint256 constant special_selectors_offset = z_offset + 4 * 0x80; - - function initialize( -// address permutation_argument_address, - address lookup_argument_address, - address gate_argument_address, - address commitment_contract_address - ) public{ - types.transcript_data memory tr_state; - transcript.init_transcript(tr_state, hex""); - transcript.update_transcript_b32(tr_state, vk1); - transcript.update_transcript_b32(tr_state, vk2); - -// _permutation_argument_address = permutation_argument_address; - _lookup_argument_address = lookup_argument_address; - _gate_argument_address = gate_argument_address; - _commitment_contract_address = commitment_contract_address; - -// ICommitmentScheme commitment_scheme = ICommitmentScheme(commitment_contract_address); -// tr_state.current_challenge = commitment_scheme.initialize(tr_state.current_challenge); - tr_state.current_challenge = modular_commitment_scheme_circuit6.initialize(tr_state.current_challenge); - transcript_state = tr_state.current_challenge; - } - - struct verifier_state{ - uint256 xi; - uint256 Z_at_xi; - uint256 l0; - uint256[f_parts] F; - bool b; - } - - // Public input columns - function public_input_direct(bytes calldata blob, uint256[] calldata public_input, verifier_state memory state) internal view - returns (bool check){ - check = true; - - uint256 result = 0; - uint256 Omega = 1; - - for(uint256 i = 0; i < public_input.length;){ - if( public_input[i] != 0){ - uint256 L = mulmod( - Omega, - field.inverse_static( - addmod(state.xi, modulus - Omega, modulus), - modulus - ), - modulus - ); - - result = addmod( - result, - mulmod( - public_input[i], L, modulus - ), - modulus - ); - } - Omega = mulmod(Omega, omega, modulus); - unchecked{i++;} - } - result = mulmod( - result, addmod(field.pow_small(state.xi, rows_amount, modulus), modulus - 1, modulus), modulus - ); - result = mulmod(result, field.inverse_static(rows_amount, modulus), modulus); - - // Input is proof_map.eval_proof_combined_value_offset - if( result != basic_marshalling.get_uint256_be( - blob, 512 - )) check = false; - } - - function verify( - bytes calldata blob, - uint256[] calldata public_input - ) public returns (bool result) { - verifier_state memory state; - state.b = true; - state.xi = basic_marshalling.get_uint256_be(blob, 0xa1); - state.Z_at_xi = addmod(field.pow_small(state.xi, rows_amount, modulus), modulus-1, modulus); - state.l0 = mulmod( - state.Z_at_xi, - field.inverse_static(mulmod(addmod(state.xi, modulus - 1, modulus), rows_amount, modulus), modulus), - modulus - ); - - //0. Direct public input check - if(public_input.length > 0) { - if (!public_input_direct(blob[905:905+736], public_input, state)) { - emit WrongPublicInput(); - state.b = false; - } - } - - //1. Init transcript - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - - { - //2. Push variable_values commitment to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x9); - - //3. Permutation argument - uint256[3] memory permutation_argument = modular_permutation_argument_circuit6.verify( - blob[0xc9:905+736], - transcript.get_field_challenge(tr_state, modulus), - transcript.get_field_challenge(tr_state, modulus), - state.l0 - ); - state.F[0] = permutation_argument[0]; - state.F[1] = permutation_argument[1]; - state.F[2] = permutation_argument[2]; - } - - //4. Lookup library call - - { - uint256 lookup_offset = table_offset + quotient_offset + uint256(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf])) * 0x20; - uint256[4] memory lookup_argument; - uint256 lookup_commitment = basic_marshalling.get_uint256_be(blob, 0x81); - ILookupArgument lookup_contract = ILookupArgument(_lookup_argument_address); - (lookup_argument, tr_state.current_challenge) = lookup_contract.verify( - blob[special_selectors_offset: table_offset + quotient_offset], - blob[lookup_offset:lookup_offset + sorted_columns * 0x60], - lookup_commitment, - state.l0, - tr_state.current_challenge - ); - state.F[3] = lookup_argument[0]; - state.F[4] = lookup_argument[1]; - state.F[5] = lookup_argument[2]; - state.F[6] = lookup_argument[3]; - } - - - //5. Push permutation batch to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x31); - - { - //6. Gate argument - IGateArgument modular_gate_argument = IGateArgument(_gate_argument_address); - state.F[7] = modular_gate_argument.verify(blob[table_offset:table_end_offset], transcript.get_field_challenge(tr_state, modulus)); - state.F[7] = mulmod( - state.F[7], - addmod( - 1, - modulus - addmod( - basic_marshalling.get_uint256_be(blob, special_selectors_offset), - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), - modulus - ), - modulus - ), - modulus - ); - } - - // No public input gate - - uint256 F_consolidated; - { - //7. Push quotient to transcript - for( uint8 i = 0; i < f_parts;){ - F_consolidated = addmod(F_consolidated, mulmod(state.F[i],transcript.get_field_challenge(tr_state, modulus), modulus), modulus); - unchecked{i++;} - } - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x59); - } - - //8. Commitment scheme verify_eval - { -// ICommitmentScheme commitment_scheme = ICommitmentScheme(_commitment_contract_address); - uint256[5] memory commitments; - commitments[0] = uint256(vk2); - for(uint16 i = 1; i < 5;){ - commitments[i] = basic_marshalling.get_uint256_be(blob, 0x9 + (i-1)*(0x28)); - unchecked{i++;} - } - if(!modular_commitment_scheme_circuit6.verify_eval( - blob[z_offset - 0x8:], commitments, state.xi, tr_state.current_challenge - )) { - emit WrongCommitment(); - state.b = false; - } - } - - //9. Final check - { - uint256 T_consolidated; - uint256 factor = 1; - for(uint64 i = 0; i < uint64(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf]));){ - T_consolidated = addmod( - T_consolidated, - mulmod(basic_marshalling.get_uint256_be(blob, table_offset + quotient_offset + i *0x20), factor, modulus), - modulus - ); - factor = mulmod(factor, state.Z_at_xi + 1, modulus); - unchecked{i++;} - } - if( F_consolidated != mulmod(T_consolidated, state.Z_at_xi, modulus) ) { - emit ConstraintSystemNotSatisfied(); - state.b = false; - } - } - - emit VerificationResult(state.b); - - result = state.b; - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/params.json b/contracts/zkllvm/circuit6/params.json deleted file mode 100644 index 6e58ee3..0000000 --- a/contracts/zkllvm/circuit6/params.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "test_name": "circuit6", - "modulus": "28948022309329048855892746252171976963363056481941560715954676764349967630337", - "rows_amount": "8", - "usable_rows_amount": "6", - "omega": "199455130043951077247265858823823987229570523056509026484192158816218200659", - "verification_key": "bee303c6f769f507379997f38b590b17a62922c71773d1de78264133b7578906 160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4", - "ar_params": [ - "2", - "0", - "3", - "2" - ], - "columns_rotations_node": [ - [ - "-1", - "0" - ], - [ - "0" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0" - ], - [ - "0" - ] - ], - "commitment_params_node": { - "type": "LPC", - "r": "2", - "m": "2", - "lambda": "40", - "max_degree": "7", - "step_list": [ - "1", - "1" - ], - "D_omegas": [ - "7356716530956153652314774863381845254278968224778478050456563329565810467774", - "17166126583027276163107155648953851600645935739886150467584901586847365754678" - ], - "grinding_params": { - "mask": "4294901760" - } - } -} diff --git a/contracts/zkllvm/circuit6/permutation_argument.sol b/contracts/zkllvm/circuit6/permutation_argument.sol deleted file mode 100644 index 7294835..0000000 --- a/contracts/zkllvm/circuit6/permutation_argument.sol +++ /dev/null @@ -1,93 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "hardhat/console.sol"; - -library modular_permutation_argument_circuit6{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint256 constant permutation_size = 4; - uint256 constant special_selectors_offset = 4 * 0x80; - uint256 constant table_values_offset = 4 * 0x80 + 0xc0; - bytes constant zero_indices = hex"022002400000006000c00120018001c0"; - - function uint16_from_two_bytes(bytes1 b1, bytes1 b2) internal pure returns( uint256 result){ - unchecked{ - result = uint8(b1); - result = result << 8; - result += uint8(b2); - } - } - - // Append commitments - function verify( - bytes calldata blob, - uint256 beta, - uint256 gamma, - uint256 l0 - ) internal view returns (uint256[3] memory F){ - uint256 V_P_value = basic_marshalling.get_uint256_be(blob, table_values_offset + 608); - uint256 h = 1; - uint256 g = 1; - - for(uint256 i = 0; i < permutation_size;){ - uint256 tmp = addmod( - gamma, - basic_marshalling.get_uint256_be( - blob, table_values_offset + uint16_from_two_bytes(zero_indices[i<<1], zero_indices[(i<<1)+1]) - ), - modulus - ); - - g = mulmod(g, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, (i *0x40 )), modulus), - tmp, - modulus - ), modulus); - h = mulmod(h, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, permutation_size * 0x40 + (i *0x40 )), modulus), - tmp, - modulus - ), - modulus - ); - unchecked{i++;} - } - - F[0] = mulmod(l0, addmod(1, modulus - V_P_value, modulus), modulus); - F[1] = mulmod( - addmod(addmod(1, modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset), modulus), modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), modulus), - addmod( - mulmod(basic_marshalling.get_uint256_be(blob, table_values_offset + 608 + 0x20), h, modulus), - modulus - mulmod(V_P_value, g, modulus), - modulus - ), - modulus - ); - F[2] = mulmod( - mulmod(basic_marshalling.get_uint256_be(blob, permutation_size * 0x80), V_P_value, modulus), - addmod(V_P_value, modulus-1, modulus), - modulus - ); - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/proof.bin b/contracts/zkllvm/circuit6/proof.bin deleted file mode 100644 index 0d1b7fd..0000000 --- a/contracts/zkllvm/circuit6/proof.bin +++ /dev/null @@ -1 +0,0 @@ -0x0400000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5234af28c817a32137a618067384cb80547165a5e657d72cbb056da00272689dc0000000000000053234af28c817a32137a618067384cb80547165a5e657d72cbb056da00272689dc01c6b079ca18b6d392863bf70583ae2c1d437c544dba733c8993c7fe9b49c8453076bcbe8762fa6163e78204197f981a1ee291dfe8d94bc33f57e026c3c0b14a08e17260f27b9221dc9f2bd31b9266dc92516da584a4402eafe2e7f90870e9593251afb8a4eee3e6f3858a147f7df88233990e6b70578f7d712fcdfad2c3766f2c673be4bc69daa94f1bdb1f89dc024edb97243b973540e96f6e87dd2a348ebd3b986e9b38aa7382c19bb2667d75da8a9b297d2515cee2206a67731f1dd150281e042b77ae11454e8b8b479db14c0b89e31fea35d823593c61a1148ad306c9ae234af28c817a32137a618067384cb80547165a5e657d72cbb056da00272689dc01c6b079ca18b6d392863bf70583ae2c1d437c544dba733c8993c7fe9b49c8453076bcbe8762fa6163e78204197f981a1ee291dfe8d94bc33f57e026c3c0b14a08e17260f27b9221dc9f2bd31b9266dc92516da584a4402eafe2e7f90870e9593251afb8a4eee3e6f3858a147f7df88233990e6b70578f7d712fcdfad2c3766f2c673be4bc69daa94f1bdb1f89dc024edb97243b973540e96f6e87dd2a348ebd3b986e9b38aa7382c19bb2667d75da8a9b297d2515cee2206a67731f1dd150281e042b77ae11454e8b8b479db14c0b89e31fea35d823593c61a1148ad306c9ae16a62689c32cf72827ba99b7c8f432298ba17b98282edfd20cec10fe2c2df9de248240e06c2d2d2c4f1a4dacd58806011cc5c03a6aafebee1fa4e198c99fea912e2eaf83c37eaf9ed457cf20efab9870899c23a603e7f72103aea0a99b24777b1bb0935d62519131c13ea7092319881eb108ff99d8f8e5c09f3e1a8a0c03a6f816a62689c32cf72827ba99b7c8f432298ba17b98282edfd20cec10fe2c2df9de00c3095272906d4e8b5abf5ee15c7d883ae0e696e34e6e7ae44b25cf354a0cf62136da297bd80e963f549350d9fdfba78ae47707a15598720e3c52a9fdc98bd81a165077d9350dca26083ce1162a4e6535a691ee05ea9f202a421b0dcf381e6232fe8aec6f7cc6c53cf4541a156499be5d9d2e09853b08ac62a47cd5bf9ce7160b09888fa0fb1362a50b5b86197c7cca0daafaa6a7c21b1705b1b129198609b30f948b751f686da2ddbafc67fe85d1d62a1f995d7813c4bd5cc178f7b70167573046b89c577c9d58c02add0ea20ed1288311f8b9ed8fe862bbe2db1228e21af037b4962e948efeb55383fd7fd7e750638420f3f46ec1d364b6f9a252b69f357932c17d287715d3f0a9885b4487502506992dcb69d1dc0f7f9b818cfa3590bb38047c55e5f06678a117f0f4e2fb4b15f0a8582d300ef4e965128d3cc40a533bce1936d906e60de7a60b65f7828c8561a72cfc48063b4137ccaf8a8b38df89be8a077bf4f29e41c42938695c47bdc3734cec973ce2c4f2acb94b3b73c07530ad95094c689394829727c18c0a50006c16fa276b120b7296f2822342ffb6c403c0c80b7c3d2fd6ed777391f72cffb5f10efe8375615012299ec57f4eb80633be2ade04b4cad9450ed361815659c748e42899eaf1a66abaea8991e48f722471dd6669131403cf613a2ad51d90a63bb76e85c331184c59020a7da5f3b59150a9819a3b2cef048e8ae0f359d06bb7a35ab21f3c4c502989251f2461969107a92e4982640508905b4c18b7d0d2e349cc77c137620e2dd20e3bbacddc8fdea19f39ecd0f33ae3973896666748b7815020fb9bc257a4892afe099a14fa4dbf97c5e1b643000a28a4de6942f30c6b34320a9a84d8d336da65770429a21df228b810df27e3c20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000113e76eb96992e90c5cfee282a3aacf6bc38e4c75ec4d74740f01b45c52baaeb323c156fac3d28debcdb73b73f2cb07256c96dbdd6dd29253809e0cbbe140c67e142bf86983cce2dd65d3397d0cd534b516451f5ecc801d51e17b29269c4777c00d44d20e4eef9df5736e176dad4457d5b23d7ef18a61a100425b2137ad26dcba3dce2d69a0be3d1cafbd438541a04a3a66bca1173b1bf7fd26e8a5278cc277603473ea98d187a032913991a5ff94ecbbb848cf64f351e2d60675b4575de3b80a03157bc2c621d13e2353aab1ebb1567045089e5e8f9eef72731efee38856b79d101796815c9a1bdc3139783f5aeafb6767916bb0ce934187d2db6cdddf57725f1cf89467dab7a05039aa96afa477ca63630ae99c990efda13eb73e524c07e5f8088ff6912f58ee16a60a7bbf15ab7ab3e0699a4ad9e08d6729a49ef98b880c3516941693824c30ffb83d1d858d82e0dde20d7560bcc6940531f16f478e850af323d07e698fc799e3c0f5c168b2a61484d1e8f55c3d14ffeb835a371ab485d7c704cd4aeeee50e61b2e8240b849649e147a3962395176ea35a1515502db3535e10947366150e0b779d85e93058b2f971b3f88baf7732093bf0c0999b1924ad2dc2433bfadce22335695e6ca9c4b97a257ff77a7bbfe6d2d3e05ea4967736d03ca3691fe9a4b1720617c657a437c0eec1292726084ced6f008cdcd0b4500a6f07f2bb027463cdc6226a2dea14b404b64304f5684eab06d3e9fc7c2a65ae124211d0cff6e56674fb27318c63e0ffdddadd033fcfdb9204fac3881f10c6fa5d0481835c300198b8c1935cd59f4fbaa5b0ba2b1404906c9406161c07728d08f5cc475196d03755ef901cd716606eb14ac6c69f19b98d5a1f15ce1867d08f9eed0a4fc13f040ce80aae8702752451b4a86ede5a4e9f29189cdfed43dc23831df97d12235655f00fbb60e9e68492f32d7f9ff48bff0dfd2e14a4c359c62c06c787c5f872673b2897a5ef67169fc624d55dc4b118b43c0dfa7db0974e069033a7a502e14347b5cb48210e085579859708952ecf8294e006aa8c4d8f78b87e5aad291a6a20ca000564488e448ab1ed308cf5ab9278210f458b6cef5daec4c041d6a89a1691e6fdca7591d8df371b57abdda5999ab77b0f1121653e1a4009219c5c4a69e023187891324d21a712c872cc4ecf0bec3801dd702597b8b4574cd137f7f604fef3b32ebd6484f0a7146158ed4fa45011ee3119450b6dc5657c08eac485847e3790e5ae6c0c54247c76197bb7a42551df91cc24b55203733a53b8ac6bfad15966714134deb5a0edc2665f070f71cbe9425cf609626338a7dc635df9c3e6a809cd73d51dbc74e4fa1f5e675303a5b76e9a6cdb5a69bd7482aa3ed1e842db49725803d46ef0cb688e5d92f23e54b003244a5743cb71d5043601ecd25dd4c7c122dbb136417ea023e3147292d1d5ed22c56aecaded1d7ca1f657ac2ea17b30106961b3d94de92d216f9875e77108a585e9291fe0c43e984b2cc8247ea0ddbc35e04af18e5e3d6a02d52b8678855f5d58181d199247873070edd3b52b366918d0cf3693f45985f8d5486ca4cf681fb3ee7557bba9064dc9076ffeee971621b55e42f873888dfffc1a069af92e87aea2f798edf17935515a2cd5b4144b894797d549f400d72832dbb7bb1b4b0228832da2a7ab068bb0650f49dee248c27ff45acd545db30f965e6a1e44ea7b71ad9986dd26448fd503b1db960497ca2689d72cd5e561b0374131cf5fff77ce700e6ad3a912c5ff0e1def027dd6fc7f99efc24429a73fa000000000000000a00100102020203110407000000000000002c020202020202020203030303030302020201020201010101010101010101010101010101010303030303030300000000000000020000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000201010000000000000dc0259ebd15452653edce544ddc801f91dea739caf30047210f7dd049638c0e39e81a6142eabad9ac1231abb2237fe06e217b0cce090905d80c1b5ce78973f1c6193c19b16a59bfa3a507a5854e809dd958ff93c4c6eec9b31642b70d17bc47218603e64e95a6405c5af85a7ab17f6226a722b2d4351a834605567623d543b8de7b2c807713c0be3239263b9a8883153ebc74c873f284bc9b00e8de7dc2ad63a79a137f88ec3f41cdc6d9c465777ceac143ad7e250984905e1ab04eb32a529c58671e825362c3b6fb1dbf2a04aa8f6a39ade11678c87bc81bb1c0d0e20662f245ff217dac9d3c4904e240d5fb557095c652413020338d84dd69d85c4ee69d0dba02259ebd15452653edce544ddc801f91dea739caf30047210f7dd049638c0e39e81a6142eabad9ac1231abb2237fe06e217b0cce090905d80c1b5ce78973f1c6193c19b16a59bfa3a507a5854e809dd958ff93c4c6eec9b31642b70d17bc47218603e64e95a6405c5af85a7ab17f6226a722b2d4351a834605567623d543b8de7b2c807713c0be3239263b9a8883153ebc74c873f284bc9b00e8de7dc2ad63a79a137f88ec3f41cdc6d9c465777ceac143ad7e250984905e1ab04eb32a529c58671e825362c3b6fb1dbf2a04aa8f6a39ade11678c87bc81bb1c0d0e20662f245ff217dac9d3c4904e240d5fb557095c652413020338d84dd69d85c4ee69d0dba022e95ad1ba6492089b890b586d57dd2000ad02b2de2810b9a9fd60693652db2b33ef7becef4701fd7c48ddd54096379f07494432b3e78dabb120d9a6899d6b8ba2ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c6372453900d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed1255408a7a5759eadf7977e80ecbde82fab924b37d541200720a612a8c24a41dd0d201218a2cf25018106da1ce1deb55de9422266db52f21b47773db1d43e6d6519ad03b93f9fd05b51b78ee7ace47e8c8039043eeaddbeab57efaab9d535dd4c0829a2971eb5e51cbc9653d31762973b082a48181ff78f2c9537caebb0609077000f00e165760dac02921cf0997f332e9bcdff71a510e669611ca9205e2ebd582de7ee6612124d4393bf61ffff008c917070fd6c68da6076b59dd6db7e1419d70fc109068375dd30e7213d457699942d99907eb77bf428ba0bb053206b02ed7c3b0cf51797270147b63a517e35d437b4e17c09239b843b61205a506155ff577d35626be179167ee9d69d0c0d5fa51809735e156a90580eac3938ae92d1966f72101301929464437690b3f11df911dfe5bb0a947d8a53ec1aaabec98d8ee2da663604f0c652b960d9ffce2a6f8c12124d65f18fea8525bdf94c135e42f30d69561ba26c2ff8789a8db5e221868f917ed225c53ff552708ff7639bf0d90c6a16840bf7c46641ccbe9ecfa1bb0f75a957c0f6a56726e4f747aaba7f9f02ba04720305f8361b176cd9764bc1cdcbc3368ae6e2309f860b66690717b5e12d40dd94fa2b06675ae5885054b90a99399cd64fb4bb33eac2275b78e90c0d62545207397c3fed318b434efe5e3665b632a58488861667e645601b96f7d7fd5aea4ba0072d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000121485787da7b0cb945a1da77e05cf14b3ceb25be016e6da517e03a4846d28e4f0151bf01df130292508702b4d4457f36031d428caa71bb6a472003f6b7791c2d04cf7ba6f674ed493502d0011f8593d7d3b765e8b5c134e55e52d03ca9b096090896a629e63aedb0f581f617a45821833346fdc1ead301cc7c79ed19eae5af7628b0ad17237206fdb071b83cf688128d371bf4dde3fec31dc7985c23546e947c181ed388ad349e422ac8148164baa08152b404d1e44951a20447ec97c0584488250a1a45513202b047292011ed5a35a5e13a9badfc030093964073cddb2b4b681d909fb52a1727cdea1b20cb80477c563067e48af2f7a121fc6321f44e41335d049816d09914c6efc96075beb83e571417e0c42835851cb9c31f22e6883730c13047c2eb26980079d61ea54aaf817abc2a81ab568aaa180b74d8db92718d263132cd1f241bf6b4f9e96c958780f84ec75a06628481079b2245a910a0d88d336a0cf2496babbee3d1a67864f9b8013790c3ba4de69bedce4fa93c0d3f0a7152951a7748b247d955039b85960dd53d361077fc86a8652e53787118e2ffc880fe653f3ccdc0950c6dd4fcb2566606c7085de2f1c1d594eef8927afcfb8cab6343d831a50372912531d71bd37efa7f74483f51db1d5f3ab80a132947306ff6bacaea39bf690e133b75988e4e311ba3d0bd202b138d0b3f9db30e14005821ce1a1f702e7c5b8b58e79c0326ebbb9fa48d0f143179ce06d6936eaf29b5919b6abcccf0277966404f6e3b7695ac5bf17f2ea6907c869580a2d9dd4ab8f42bae7009b6e3356c864b50c4608e9b72315c83c189ad864af43e77568ed4b2d2a3b5d7bf082827542ba843b3a166e6847aa43c220daf538db74bdeb79a0ab5ad6df39cb3f6f91f15640f7a42dbc7eb996b42feeda42982df722b11a1065558a1e4fe1a75794d0d94fcce62a73d24cd21d28f09f3b396314a53ba8aa93b9834706d4f10668cfb00e105dd1d4f0dd262ed142ce7fbd3ae50a08234f521f6c4d5a88c454fb94ee83b9911941132103e24593bffde6d2c347268250f496168a8d76bc5b86851119b389683490693eda96df42c90abd97c5954ef8d348ea82e8263cffa42d0d91d640763845b01c6f455aed5e777324efa933c56b27b2444cc99881ebb312b1adf63357e394eb180725e2949e42247e7bee8fb3b82701fa4efc806fadd5ea9858037282db7cc18cd80d514dca18f4b8e63e6208a4b77a9d9fb7b91f356d6eb07a1820999b49229f3175daac2901714bfc8dc1a2a8d43c9b2bc19c3bb4f947bbf5f4c23023c0dbdb1e17d614e5e007522cb68789cd320469bd284a4ac7e6c4c010fd92a9b1a1d3215efcb1858bd8101b929b2a9e48291fcf9cde2d4aeace8d9feb5d9188e9eed0ed5235730068032478285f3cf1402298d95b73b73872bec407bf9621abbd5c3e391112901df790fa82c78827d711b3ef37f48b882d8da5605db56792e3e0242efeab6d23c1c30ee63f56feaf3387fa05279caab22207895135ae69a23b5ec8ac2d1db6d1f80624b5baa98032482e73bde002851d141ad04716aba410fd78304942048af56934c2ee701d73b2746c7e4ef86ebccbed57d3c9289383c233105d4f28a15dd74a3662546bf325300bdbee36c59a6e3c94a9305812001de223bf523b068ffeb2486ca8f1a82ee5a75ab504d589a25f53f912431fc955ca928cd5cbcc29f2fe7251bd261fe92b276fed5075be4974e2fffe9487336ce361f288d8c21a78a358ce6fd0c5767607e78861672edea3b1107f5fdba81de535acb0f9832db75e4ff8667844d4e9ea60d70f4e61eec895a78de6f24e833f947b7e01cdab13469535d6b558c96c45712a676b709c951f3696b60479d21d1b124b0740ee49fbbf750a5a098acdbd66e55ff90f97e206c45c818fd066ed4be7f54fffe21ea92e2d74020f302ec011655241cce7625ae4f9ef6c60028b19a35770ee5d7016328e20ea7ce2bbf29f5b399be40cf2454d35bda633ca12e3516233c658f5812c7b4321ee0d2eb76a5a44e1674e6109c440fb2eee7017249ae5592da5b8c8013b53831677e2ec7b189bc840e81395e22a44857316ae558c137b2c3fd3ecce630a0ff4e57df3cbbf0e184b2931b72a19c3d12c07c44dc17ee2b74b75d5b470e018cc6821151cff4239497ee4980e42aecdac57a44009d1bdb0e1a34c501617d26fe37abbd10881096ec8c5a2596b3db214edd84ea2afb77eead3c1d3a95cfb30204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c0204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c1f58081e26b71aa87374afb67ad656bae9ece3c89aa1828ad674a7ce51fc08032bf93842bf2d60223b1a98080fb866156c1f2eaba5c51d58b80b9996a54f20520409ae2f87c7368549686786a98175ac8c817825a11200d132276a2842980b550ce7e97ae590c12eda640bdea2f2501459f94dfc3a5ad39eeacb0ce72bdfce1625eb4db485a941622fd41c25f86430e018603aa205b5c06aef16ba729d8844580e730ddc8b92a5dc32f4dd1f679222bab50fbbd13f54d099e75e841ab4d470451a7cf7a778726830b6cf60984d7ec39ea76f051a70c9179de1ab0b1b108bf9770389cd4f1886ff4e242f3014b3bc055069b13f9c839bcb547e533b790a87c4681d3781e4e905f0093d85769b345cfdb0e9f54e799e62a27a5bc1fdbd6ee1b488197789001f25b5760b0e338afa9c45dc859188ab22e74eeb46a294812948394322d911495307bdd70fcbd0132b93e4504bbd90b866c555b5a6c3d0a5a24393f93b1364dc252b7682ed3b78450f9c1125898fac40fe95fb487f0daa057e079d910cb846b5dc47286390a1ce09da80d51580fbb4425aad25a6937d4a2ecbabc99a3a2f91936626ed39c13071a90589a6fd8f831856de8f47a23e60f5ababa9ef463c2eb01312cf0eaae892c2f05903506136accfea53a414ad5550a02a036c18a735ae62bfef618c40b0893a69104d6aab1e08008b750c167329cb3fc0c10c489a09ec9df71056398dd0cec093db7d3263a238d68a8ecd0327c8c651ce4280fb5410f00a7fb6ed0008be56f9fae088b9ebf904220543703dc1f8905304177e10831fa03d74ac5e107f42063a8f0ca11d1376bdabf78df5a7607d4f4f6df586f6250650269c0054e8a71c754e6ac61a1edfd30901b16d4f33f41eeb72b6428399090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000108da8b25cbdaa90428be24e8239c715f1f57204c1e808d5d7242466884c56c8505268f8b4ac5cc78d1c3f52dc577747d64545e90b11c56f4f503767ccf238a292217abfa8edcdeed6ea42aa6213134b800b675723b54b898e419e9f17e551eb82a4a7924149f4774fabd34153bb8e1ed471e4172095e97f4c430a02fc17e95763ad3e0103762d94337d554b874c44a7a3cbc425ab65765efba4f0d3b45b2a31b2431b47bac57254b17ce74cdb141fd97ea2b97dfafeec1b1a56e14b0d8c17eac2ab483e3866931d213be151e66aef8ec878885f8702f3ee498c621c78aaaab743e972ebeabe1e05826e41ec74020086839f85194e7278e23f349ab55f9569f1d3a559779c4afafe96a58e268461da9edbbcdafbb23def27da55c1e677511669110c3054d1d75a98203ced6741ede31003b7126f6e5b94c8b860692405f961bfa387f25a830d57ac6723e95716841bc2db862dd16abcb63c4f88ca4cc9915f2fa2dc562dadedd2ae452c2d6bbdbd8c01d9f40159c84f1b8376753e4caac6103af150bf4f6ea76c6ff23ce853758bed3b85f7d3a6048c1472d380ac95717238dd33b603e80ec6aac62d3fcb344ca742eba46f0542ced18ba35d2df934cb448da2c2fa2458666407edbb123425f90acfd17d985371627920667f5de2ce43e1231b404edeca14454a21d25af4c53028eb83be7ddde6377a1434404031a1d5a9295d304802c88de5fb4dc6f691319f4854946640c0f2d694e129ec54041a2e1bda9dc001d52482e2d9c4c23bedff257827bb458a6fcf8e73465ab74758258634a19fd064c288adca356bb4009be598b04287a59967ac4c39909f0daa2ee8da736349731b87850afe57fdedf782cd88098941e143e9bd81abab16d7eb9ff5687732e2a237a445134674827c0bcc1c89640a812b3448f3481b4fb93eb93c8ac0dee348337529486cfd9af763f0fcb72f64fcc51173e30bbdfc2c1f400585c719977bd581523acb1446b5b788880f60641ef2b796156b793fc8081392a0e8fbf89afc66d093b5e0afbc837be9813708c438c5f3e220069bf03bb5ade4d63207da8affbcd30ffab900942982907b5f40251600f25484a350dd98b1d1caa879bf65a39f5c9121c09b54dac1be1c5a3535bef0133ab13878ca9265e0d98f17b7bcb454009b602019fca3deea9d90c8c4ed693d3e2a0cef29398d38ecc0062f9fd3245f97f742f2ab44020f8b3c23464802b04bdc5c0cfb15754e4401a50bf4d4422f83eb34a1943ac165714323f4263020d59bb976ee6cee1dfdddcf9890cdeee951c3ebb1913147f508f7a56abee20a4e1fcda761ed6c91c4ec5a633886f8f04e56754328717f46554ed2205d9ed0d60a53279968ea901e1b320ae77c570f0c1b165f0657e3516b15e57ee8c2a4fcd4c46ccf1ec5079802691f4fa57d0bd8a89f4440339133f2ee83ef1fb3061f7fd13f67a0f9122c7463d4f18ace9fec59425d4a371df15259b7cf0d5c6379bc7d46d761a69ccf0bab7ec9da2ac972383988d36fb5519ef30ac54f9336ee80ed429ec116ca71864feb5a85d35d066d2b1cc68f3d51a73600f525334b1a0e12ab269e68bbfb48490be0adcfbe50bbfcb5fb7a0157f04f51b3b7d0d7ccd14b00bc34f482f382207ed23c7f0d2f1897cc952be8bb3a2406c19335a9cea5c50fb6f6b7a443c2f3bc89c2813a067d137054628c8b00e392935102672f4e16ca6c068a8c5b0121fdcc6a57857d0e426f759af775776534f6e885a2c02901eb7882a3907b292ab3234fd1068767e1bd4e43614c7178ff194cce3ee039d6a9a5be40ba1b3d9eaa876b8d949c12ae0db99d47d8fbaa84e7ca8eb21941b6a4cea46e92c84679fc710ade4878d522ce6f69d9712386a8beea75b7ee73a064e741bf89ba4baf077e43ae61d81df603c49b807060505dd42568f8d0d816e2478e7eb9b49915154f36742e77c90d610ccbc815f5c01b1e7aaa1c160ad67710e8516f1747a7ac7b500be7fbb68a77055a9422e86ebc756a712e0966e200d590665b06ec4a4a9e025b6f181f63e495b5c9f692d8ef531af81c2905d42e380c80f35737d034b65506e5c15f161330b6cb29fb429f38ef7e89a4fbd33c9490f9f28085df4cb450d22e81902cb813f5e46e7583cf065380990e4d37fa30f8bf4bf018f57b99347c3b56210b9a9e1d86f167ec76e5a99e6b4cec1c203004988fc453278e6ff376d287a13c47d66afb3a679a1b779628c6fc7ca12deb826a2c1e7a72e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b11e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38241968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd00f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75004c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b753b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c2e1e44accb70a379e0aa7bbfa5861300e6c5a66e7b2e4f6ae1e8e0476d7f0b3b11e1bb53348f5c861f5584405a79ecff3b80f28d8e1ea9b0b74450a59280f4c62697575ff933316163546abe3b9e5f041b0875344c00a1c39e04ce9e237b38241968a8a006ccce9e9cab9541c461a0fc073e23c7bd4c5757fb28624edc84c7dd00f4b4dfddfff6e6f0a615b72a17db1420567f11601c3d7f4a90764fb16818b13f0b4b20220009190f59ea48d5e824ec01f019eaa930bb9c4e9cba9d4e97e75004c7885f55ffd282b33e6c93d2774764a1b07b56e08d337c74d24f8e77087b753b3877a0aa002d7d4cc1936c2d88b89b80961da528bfc59f245ae15e88f7848c286fce36c7c6dcd354f645d87fd9dc5a5263fc02d1038a65afc7a75c3bff73763c45ae4868a6aa3509ead71f15fb75699d7ae17f13dc248de26c8da6687adeda3756d5b8b269cb43b4e1645cd9b858f5a91fbb368bec1f0b8c14c58ce7233b7207b0d5bcc9ec3b3519e1c387b96fd2b5b394f2a19894a21b9af910b00e9f70830ebb99e3e6f37464ac0c26df606060afd112b0cd12e7352fdbc10159503362ea31bf2aabb1a93e5d12bf5a35cd9cec2edef637b2e57da84725e3bebce6f0ae2e1911868f244bd7dca492f18a1cf3479c4897fb11959d1117094f2f64aa24b25200f4cb0fce46f47c1f6c2c999d901e3f7bd53f1ffb01b8ceff627a441bf2b0dc066d5eb52fb89a68e875f61ff65cd40032502f0ebb2ddeda2b24c8df9af01c933c67ec0c589a81758d2f78904dafd7746765f825dc4e23aecd8497a60ab932d1105a13a27d5cd073dd7873be2981a028457d3f2b20a34a122d2ed700e33b263413fde99ba4eb62c8301389bf7fdeba2d3f0a0c5fa85248a3c4a112ef7c7a5eaf23052a41c1818f8d0323740aec8bdde132d25e392f30819ea9ed1e7ee316642918df3e9b52d6639cfc20590858d0493a973b54a5c1800349f19aab72ac1f454c1059c760f2327ef653c4f2dad68793a67a1222d7e9564cfa3495e344c57fc643238f2e6cd5b176631d1cbeaf068107eaf04185069075fb971040823ca30fd6130f6b574db27ddd6f73bf544497b80b27d9af4f3a9353393cb0f15728466719363b25dc6308285c3c6ecd09a75f279aae2225bb84d9b29e795e38a55244bdf4ee12609332e957b79db27108d0d5a5afc95108a0955bf1929ffd41e75d8097e349043f19a375fdb7f2702c387367a60633f301787f2498a845cc1cd0f4771e68390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000114ace0e2cfa8171e5fd2b605128a1aa4ee482f1e4fbc0e13a526c838a673ebe30216f806442014fbfbb00a282c6bd84f758df256874455184ada987d16a182103d34f64ce4f61229ec2baa1191c0a8dd2c9f58d1f4be51ed47d13266318b4238147609bdc38ff0ed64bdc03f0a8b7d42ac6795d0e883e8443c72f6ee7a242dbe0ee421a8392240b6ecbbc9fdb4fbb5e807eab8e5dc1fd2218c7d331494f7350f294650bc377b37fcda295c27c6faaffd72982f166d18eb0a6ad750c75ef62e7130e43abf864c31c16cc58397a48f5dcc1d5abbe6245cea2e54bc4e7dcd67ba9431612867a7b12bc9238c6eb5e110ffd517fe4746e3d9f5a40fe77cc37f2fe50c0b298da8e2a8acf24b02d054231c5d0f9e0ef7df9d52dcd92873fec958542b4024bb91eaffe4d2f9648c3e74252aec205d38bbdcfcbd926f614a6e2a3a81b99438545ed26c741b3053b94af5d4f35df1c7003659f9ab2554d432ac7d50248c3710ca62ec83c9d6e77a2bda46844a2612a2e3ea6787c52efc3b20a9349ff18dc62fc3604570402d6931fc2ab055f497857367ea86032322fb2c392b5a20ea6f053d317426eeb8eeba68efcf765baafc5f5b0310170d8b85c8ad6235dd665982500d3983ec548844e559adfbfd6c5569df1cee946ae590ca69a263080ffe20f54030300e4c1a6d95d890d7ae7933d74331564de6ba0bf4994677c8f985018bf07c1133658e85c72cdb621faf55644f6729f7ac318f3a917180696a66167389d4e70c7a01e2f891e8f056a1a42e899bba4d638b92f7c6f2443a06f9e0b988e4ab6c17068388bee07316c730a383eb56903140953f9d60c8ab94c8ee84c6daa532891cdf52549607b6604c25952c08d0f9ad36196c785fe088846fb23bcd0344c83435971432c2fe255f12878568aa015f6ad95f9be70f2e58533316a0c3e0e2f8a312d4d175db7ad646cf86b3475ed10a2ac09bb891a2ec9f0177a8b33e1f0a9ee9271c6f81865cea0d76ce68e0e1ec084095107dba27e04c5edd8fec4b5b186bc411dd51b18d26e58a1ef32345db911d4a1dd3acc981643dc63a25699625684ecd08646cc1504697219a218075421668b27186355f32291e894fcae03433cd2452319c7bd3c408c17075ef5f141f5f214eca626c2246d120843353b3a7ca9ea306386ddc29a189175348d79dc2badd71a0384d9807aa42546e4db43c9d837a6be9068252609c96da262778b1fbcba2ab1626929fb002b7a8164b49a07c338301233bac7bf834e9e9150c0814390928d32531d045865dbf4e0a3ab6c7e8be1c79b70dc4818e434d6c7a533bf2127f6c1be70efc269bd154385e32c3d6b72231a21320b4fefe843c8c70d6f31fadc209512579b542aae31d42fe51f7b387ddd99c5116d728441bf4535d01b920b448e163c5314979262cfc3b438ae5f625fe2c453126cd82a2d3d5ac3d97f849d244d4d32db2f72e40fbaa93c752e03ceb6a5621a43307b476c13772615739bbe230ae83042604b714e162b2b9a05a186a0c3793963d453c77a65980fe47788f4a52f283e49278566bc90188eb880e85051398c9f016b31b66db1cf58b3ce455d37b901245a4d15172eb4baa50a077aa5c767a8a1e3ff04337dda8f4346ed4c7cd595ac64edf9740778e693e080bbd2366edba293008dc0d10048a0732502d3a41266a22942c3212891d281c53fd1f828f13cac13a0564558e5592051976226fd33b918efd363cc473ba45e173f72e471b829a2a3a008a90291a1ed3bddc2d397d6c9add330a293c637dea8a6bf7bab19b1ce403053d844902a1dd1fcf7b32466414664a40177a66f5b6e7fde04b5edeaf1262f84d0ba8668fc9b3d68c0ecf735509220114f74b4f18035dbdb73bf84b3ae8c3ac7a16e8cebce5e1511a971e9960f889d0ae3c7b9e10e61eeb0d50ac6bd7ae3148692caa02e5f409f599a7b20f0621d015d5cc5034d29088fd6d6a204f03367d2e3f2aef3182d545f8fb14a96df46e1897d37e6a68d25942586c60233d279ee43017192b65788b8cda60a0af84c28de59f55ebc259296a390d0a86be875a67a6930724352cdaf7d5e8cee6c30f0952e0fd3de64d78cf2f048bd160a762e185894e9f06efc1cb4b491d124cb8ff7fe7806eac94486850eec7fabd99f79b9c4e8f60730a943d0d568610fbbd727b4969b44c7b261c6e348f14bfd1ae53f897285d3db53f40da3423c54e2529954e8b01b091e48309434ab02e802639fe516a85f952091f882159992cfd1697f3db5bc2631c550398512da311d8303775b461269acfc62077dea666d302e9680c24a43d9ce3ab1eae47ce663b20eb61b77c8bd965303b1da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc22575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f125144b41bff564b734d6d06bf5fbadc44bbe90c1a47d226f6a3c605260c51e4a4a2bb4be400a9b48cb292f940a04523bb463b5d7578c2a89b15cccde8c3ae1b5b7257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773711a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c901f882159992cfd1697f3db5bc2631c550398512da311d8303775b461269acfc62077dea666d302e9680c24a43d9ce3ab1eae47ce663b20eb61b77c8bd965303b1da8a6bffde0f170f7c348cacbef8da8cd6c63ec1cbf46b9e2f2240bc1060edc22575940021f0e8f083cb7353410725754da350fec8db261b63b0ce13ef9f125144b41bff564b734d6d06bf5fbadc44bbe90c1a47d226f6a3c605260c51e4a4a2bb4be400a9b48cb292f940a04523bb463b5d7578c2a89b15cccde8c3ae1b5b7257848bfcaf7940832121bcdea64d57a968d2f3a685f33f794b46af6d99773711a87b74035086bf7cdede432159b2a858bb969c1a0edc5240478c5f626688c901ec72c0c20573b5141e5d40e17d7293f3bb25cd5f92b26d68aa789660ac49eba06b8d7221f316ccd211c30eca2885f3786348b037a8ee4b5e05159fa94c46c3c154726d1e457b749e5a32d9cb269c17087add08c554ac6163f1ba6dfbda977f43ebbdef2711d9803441a84e31a9d5ceddb174d378971a5aeaf3f8ea84a27c79410e1cd25e0ac324c251185a87e221a578da18ec1bfe76e4474e1feb3b85eebb23b646781eb780da092c268e5f3668859a8bb1819e9dd508447094e08e61581c51482194e45e7072437d2fd8fa907b11c8f05bc99a15ea9133ba9c2de5b5c660424b4a8357128a1701901a264960be8166e5c475a540bbed77b79895d61d41b4118071ea1f9b35eb19ee66ea478db7f52b6231593aa1757987db343eebf15b905018f588c37d7677bf7bf58a717a9ea9e59d1e2e1ea36339560b9e44a6eb625033c7c3dc8a5768f9556bbb892dd90505d9e8f899ca8b9f4993f7addb15bc7e1021cb1b6bba668b69f98eb28a3952675ce5d34b2b9913798754743a1c61a6952f92803a12764085b3ab83162fa76b63be12a7e4459361789f50383bbdfe697d69424d43efd3d7df1985cd533d9c335869bc74eec5e18513828dcb3c4a2dc3055bb04bcb0687a469c5f0ebdd7fab33b7bec4278140ff6e3a29ea9c385361df594fc211e6d0858e1b26829f511f640313f7c867bb7dc4c97d7919d48dddfdeab3ed22f2c87448e9bd875f3e12167355662a9c38c434f7332e9e6448f047c57be38ea106bb2ca412122514852730e684881f53e8c4a85593c355a2a53796d79a7d6c407f83aee916fd07c97a3e5e31212ccfc0d1d6729498dbade8ff14ca2c4713c0808b541f787e40b2d455e426b3d37f36cd89db2ad20daaea901e10ae5601a761d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000114585f673f1653a94023b81b9a0a2aac1118bb36dc35b37ca42f8ad3f01395b33e33d39e0103f54bd98e1645804cb143bf1ea9ff6cf54e16bb9dc2d0f17628cb13aee633e5ff47d1a24fe8f407c83e506392cfd1145851709cf563253847c74810ac5599696c755a56098aa1a4518c4deeaac9186579ff8abd4363739775f94b189be1e964a7613f9371c24b6ab4c7d70329c8ee00eeae8f77ff7a9da2ac841a19ac8ad9d58df5a8419886316728eddf26cd7b4dbbed5d7c03db6f81d39f3555234d2a11fabcc55d474875ea409bb8a930640ee9ef723ef5554b95734d5d6f802d4e23d92fcbe8657bb4e46ec23296e743b40fd498a23174d75a39642320fe2726ff64bc64ef4b39b2584f35f177a652edbe65cac31a29564868190c1c1a3493125ace72e00538ef05345e96f72feeed5481ee7c398723976a8db5894dfbbc6c3800e1748dfd42a4da72011628fe4df7bf30ef847602018980e9fb3f5174a6b411e832c711beca05ea21b0c287071f6848135493373be3c5bd405592020f00f733fcfe99e45f4d6dfd2ef83327ef50f02e97e7e41d1691699dd74ec9da978816112d403e0918e737b05e601fb290db9b46c422873e86d43f25a0e81ca3fc9f1938df47b45751eb2e9699aab206653d82150e378d90b1daa689b96b55f887e9f80d4fa8e300bfefed4ef6caf85013cae5c14d4ee60ba09c914b147c81586fdffe36d81d581acbe81949a4c6f60bbe6e29ab0f11ef2de968593f30b956c02359291e44ef16a659a27c5647216d216a87e1ab8ff0a2aa3a91a20f1836172bd2f78733137028a60f571c95337c76e9d4519470268b33136fa146bc6424c39041481d25a26ba14935c4f5a43615bde8d7e176123c52d6c667b6dce53406072c881d000cec10d0d7535ae82eb923326257fbd0c88c0b0381ccb802fbc69a9dda7643c833913abae39b916408f37a588fbb5347e43538ab0153cd4dcaf4b465836a8da11db481cd99495967e216d09d7c9a6652cb055387940a8217255f5dd288c63a7e3d08f4cc689ee21c605a60c287da31052157dcaf22dca21d569c256c3fdca1a40e103eae184f8590e5d10334e546b7180867b8603862314dacbafb8fd89e2e700a012dcc38bf8d5a736317004bae23223612e91a42c1edb6aa78347d6c23e4711ab51c0e0fc01bba352c67a3103fc73f030b5fdcf0bf694803f23545b93fe27726799fbc7e9860c1a7deb58d5ff7ae1286335e40fa63d8087102a3f4a942e88a287bc243da0218ece20aa50bda292737ae95badf9c2b94c8f0547789e245af192f0764335a0a6923cc4b92b3cb41ee6f71299596c67c6e3a8dd5f21133ccbcb83551ee94b44912b64ba8b88357b98d175a6d7cedf883876e5079f591dd213fee05f575f89f03816e647460e03ee91dcb6010f1ddb7e7cc69b1cc796f16232f2d019bda8ddfba8765bf79b7127d39ab417e1ea44983dab175b9f7e853c13a7ece1f2d3d3d82cf8d1960756ca110a13d5e7fd658135254bb6325ae8a13b844694b3efd371d7e7ff625c06cb5d13d82a260894eeda96c2e9145eedda20cffa0281704fcb41ef0aa3e247706d74bb035a54ed79051004c663659ea4e22b4a0d6e9bb2afdb655aafdf5dd119916b124dd6353f124767067d1103bce8b768e61e8eb5a228ffe9e61fa40789f043bb4b7f657dfec7cdc9461b44cd6ef01258c32a2b6463d3e7d1a4e184a8b25ea605cdce8fd376f0645edb77fcf19839a034a8d0a0aa80af0a7bcf9e25add151cc365e9cb65b59c68eba967a8f76c9cd1f653c6a3eb9f211852a88f8a85ef207c023662cf41f460a453aa8614a9253b293f204c168c8809f72ef87779b2fd6e0ff5eb1f902bb2ffaf1365a44784d48c4718d43a50c27d1d6a936aecf20d77c42af657738a3a2dcd7d412ccb945152084da043cdc8f562255cfc33b4f735a0462dae3d14b8216c5e98d840572b192a9df8e9d7baa8835a3898e9c98d46702949b76cdb4925200e2b121c3c196f8437a5565c95ca84d7641fac63c7856f2861c6e8f887111e2862a2e6e6ceb7306b607cec7b5bcc466b0a0ace82c14701ff1d8ccfea4e5cbc9bbadae8f0470cc3c179cb98348c85afb1c62eddc84c366bda87404d3ed7558a3eaef18d9258b4d43663b41a0d75fcae67ed22ead1d89e05079ddc6f6ae4640fdf0039cecf94184f2ab1aedf6a8cede9cb8b0f382b7cce9d08f39ccb7c6d52f500f19dd409e3c055f1c40cb0f6f434a8f0b42d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e16128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b1cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db9963041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b2d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e16128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b1cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db9963041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f20c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada04ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf57323d68946ce7db09838488799cc26708ec25b07035bd4125434df12e54c4316140d74e2f03775b875912b96ac3283964f743ad231615ce45dd019a92de7215f263e09a008b12333de5ebf7bd7491a6057d805fa133c9e7aca1af72429de942b2136cfa05d1f8a964f8487725e17b706796511f163a90c2b8ed8bee1a01942b2ef3080109b8e11cb95b617db32df8bfa5d6c66aa07a44be7986908b40791720e3e129cf07917e0f6f74dfa0ea45306aa838998cb7993c6a79e3d670c4e0bc53b2432d58f72831e2e497ee3d17064aeb6ddeeac838f81c839d8efe9df705821b0c7224aeda5e80d9f0b4b9f28a46ebada91a7caadd1333cb8555df5ae78469b7ac216cba1400ff2a8417eb0331e26616363d79e0b48a9e1fdb2dd0cac34482810933076fe23b03888b5aaa918edcd4f32c321823cc0adb33632f1e9db16cda9b5e802c507b31e40838df275347256088c2be6c44f5a2d9c3c262c5e29e6d38b057d35ec228b923f1cd1a42a6f3beb9b3272c56c34668370cda6d49536568613313a261118efaecf65b4fa1b74b0351e7ecdae775860bc9e355ff25a28cadbecce0727aa49214bad7908e314ae8987072953dee3f3a87ea3cd2203ae53aaf82756e918a0a7978fa80185618502dc0b14c3ab2f4f1031bfe3c32a72df13e78b24bef32c01252eefe448a5fb8656317b3dfb34be0739786282e5eb259d24126d9d259c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013abc707a2bb38e76ac38c14d8568ba4e6c574bc16a17fbb3aa75fbb82f390a6933ab4737265adba2306d44075cfad0c9e6acb6ea9dda72da9dc9fc43c8b92ade3cdc2c4b7683675d564275b9a69041c6c23621786f57974dc300fadd44fd72400a92657726b115a8a0266e2fdf36d09c0ec9b9ff6a68625964db53ee843607c829e5c2de14a6c8c6c9a6205fd3e553e24821228f1f1708cf768e325bda43199f2b09b89313eeebda045c4209c273d55f213a5bd32b1b312fc0f5bfd5bcb3228333eeef865e81a2f207d8ef670d6739015802122751df8377d9419254bf8e31570204a7f6b57fffbab1020e0801623a9ce18eadf6f14f440f10fbab87b043936225ca94980be2e1981ba2a000072a48c707b92085f6a9ecee873d25f9a16d07042cdce1ca4b43078d0b591b515f334c8085168c2c12aeb8fcd5e21233d45d4ea022e21d79194f16318fdf75602c430a7d97784a56ee3e6777937d26cb4afa61833a5cc72520370d6d4e50f5ae790f5d8dcf73eaca32452bb95f541d25c05dfd2327ce30aa6140ca81b5457b4a8682c328bdea1d1a7c05c5168c2436ed0de470093dc5a9fb054abea890bd41706b9085d536c1e6cd3716804b358d1cb307acd45a3f3c766c106b9cfde0f9ad2d389963e7f87359454cc0806bf85452d34a3663f935e0a176287c59e6af79b1e8f2f54d17d41f8e920f1670f5dbe790d3cf32db412b106f66f9e41386c3973b22a7bdeb2b3eb022a7631e75ed17610075da30ce19126ff9b8fcb1dd8706c56729ec5272957a0d79ecf260b3651b5e65deb222d0ce2049e565abc0b567ac73f4ea1926d775146e82f7d9a4945c1610b35c2ad09f8c109ae5bbb117792194d4a7569779fe5a41ea138c7bf4c299cbb378ddc66b2c572a111966b5f682cb764765f49a234f08aa6a4eecf3c414a0686d30619e7e2d9435474fe225c4eac76d4a41f6276c55a43827222930ea9464e28c73086e748d8e3d83d8e5a6c6e20c62a9231f440bcbd84e80c7e44d8424d9955768d266d992a70d9a2ee7bfb327c2a71c62a2be19a19aedab05417e7032de81662903c1b476483daff3ff7a417f47eae077b94c59f47e433e3fc55e02c9898168a57fa097d60a0f2a77b71264d93b8b37170d42a188d9a76d22df7ec87ba9c3528457bbdf3e7d0178409704e6b87ab9e5cab94a9115d2374f13c9490533c51e4e6b65f08b2ced1b74cb99950a3b81e25d05a4d0c298997210ca99386bb1eab016f397f7c65bf110a3e812c80c66f1c6562ad82f70d12647be0e53faaa66e329534de3ab8faa56335d29958c3d97c940f9584af49991fe3476e1820a0825bfde54daccc74b472f278da89c44ce89db97e6a7a71afce099f83c12955cb270ff63fa11985ec09b1a392aba6196d9d39ab419d3898328734539e9ab56bce334e42b650d9c50c62c3203b31884245e6782ba37f379e69898e0221eb40b0744b5e620a24bd825f600b21f29ecf0870e7cf5a64a6f665fb9dd0dfcf9bf117de22cea896f6bf2674c60f218ce1c44440170a4a3b0fd546ea62fbdf12b1604aa9c95bd19f8913384f12449111ccff1d7319461e14fc608c4126399f460fcf9d1e8e700d29a1d1f9015700713027dfc3f8e4e837b73d9226bf5b6d332d7e4fdec7b4fb8d32c9c6697cdbff30864f906582c780d01891eb05406504a33ab8dfbc9bdb66abbe8fa7e265bc1611f0fd150ee48774683daf01d25ee7fc962da7b2603ed65d283e22decb9f25da82addec8dd54f4354c0fb23c29fcc53ddace374576a61e3e3636f64088b7c0c17191e187089d84abe964fcdc2a42213982b1022f92ddf6750ab22ddfd0ae574b4270101fd86f4fa57c7965654a15bd56f792d1edb4fce35d66dd2479a3450c6c638a608cdf25274a7388b409f445024eab056844f0cdcd521562d00c5179f2d15025b6f90bddf32998a774d88e059b950a3e19408726320459ef8af5a62f272603fae5ee1f425ec484ff804a6e875d9b1cfbc20984032e073f5186436527b23b006d2575509e70aef9f264610ed2cfa23bed1967d8dbf21c0edbaa257e56f450627e7be6046e1b29f7e40ea67cecfa2a517be67ad5fad4666f809da03a8eb878c04435ad2ebf87c1c5970c74c92b504e30b9367e97cc6caf5c23bcc526dea8346305d6d0b1282e6713d10a8edda1a7c58d0344b3584686bc0b069a52c358ad7110c5fa0cca1edc47138c4196d57ee81d835946f80e647bec96a189f35758933713036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe863036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe860b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c3feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d299587d7d12ba2761a7a388103faa093e481977b1dd652a5df7a3b1a1b61b22c09e6396f8887031f4ced02e5bd746db46e26b49ddb63e9d9a799c91076f10022381b109831626078897dfcf0e8d5865fe7a8b4dec2bd95b0aa0e02aaadf6ff95087e167cdcc7cebcf2b1569026ff3bff54b86d4efa75fabfd87de9d99d9fb39936b9ff75c51f5c00afecd5bc4f0e73cec91c75d36f174a4357e88a0e179bdcf40bf8160a60724df007f60244cfcd2cb83641eeebe201bed6d232c0b09102e9f139691dbc6dc7992b335c1f651cb4679c3dc5c2940598053c1007aa61fadd484b322b4a0332217a1cfefb3f8245934df716b5a73feaf1f494547156883831bb0716820533cc72d6ac3a3c0ca44018a97d0b6ba699c4875ff06d2c718ce538e51f35bafeb9bf96cbcb69fcdd623a07ac4adea7763c22235cf3696f74605261a1e839892b3510f4b84cb8b7c5c6a5aa34bb51d3b66fa2c150e5870e8844a8a2b24319f3f51b74f4114709a5b745d6a6b6d72f34824ecc40ff8b12e92608e1636dfb22622fba627c8fa3e2d3c856ad7495b10a05db81bde06a9066e8e40eff5ec76023536d18f628d163d50b605b72aa9302d78f3c314d99203dc942cdd0340d93cb036d0c6ed83d6a857b803d020fe8835d60efed4d5de343cace18b7543f13b8a03331a1fcf8fb98603d568f268d6631d15dd9ab2b735c55d3274a302795ecc0661754f4d7040eb85c43d286770df4eb42a1f7208f01b5f239acd59297e9e9c8f42e0a1912b281914ea17146936023cb4188fe59eccfc348ebbadb3f3bca99142d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011e4cdd9a1ea9d76c5bb1802bcd8d8f7e84f60861484e0e9fe30c5ece66c7ead907ac044bb4df44b0d584117a8850efd2532ad2ea9764a8f01252d8dc72aa81de2fc7e76dc93e4b2d7a9d1848f4fe7eb2a6963308e10917a28110d8c6427a8c8909410abdc1ef4a0058259058f665ad14575a9bbd59223bdd1366fa6613a5e8b617d844899778cf0f6bd73db8be309acabb2441e0ec3b9204c07690b33f594e60268da4b57ea461ccac367545ee7db16b5a7049805d7ea42ec872f55239d6bb853940035f0f05672dd2f17604d11b099b3791082a1c3c4fb4f7fb78acecf5bec811eb8fd8521bec7a8a0baaf9ab96bb288c243b9d73a8dccef4c1645c9b5c617e13754df0f239cd96762902a436751800746747a5a467467ccb04a28c6f3a251e25469dfff7f8409a9acc9037418fe19d3608db0afe23060c41ffc05e5ce4230b2195bfa45105e2ce6c3410010a42156b04595a5a8973f6f245ef1e9adb23683706085c8cd46701fe1a1cef4948c203e6b6aaade36af3fb1b928d5a4ae89f77c20a002bf267751cb9ac8f9fee1d1ffa7c6efe27a2deda5702b168b44d2a22e842374944c4632d580475dcea50daf8d21932c35aec96f8293102ee1efb305fd7a73e6413d816c65747bf8a5203fe452aec506fc5f45cd9ebcfe3390539d39825430a2e9c8bf9405edb386896108638e619a0552b8ec803c4b3baacfd0cfd30d77037928ff79fe7d035168106eb14584a9c3980768de911972993ee668bc62028ea25a75fef45eb0379dc09868053fd73017d5f38d9e2682420b58b8395de5faade3b798e88f6daf1f98dbc7c3225e62f06f47bb77b74a91a48d43e44e20740a2f5130b50e407fcab6c9df4edfb4808042c10fcbdfa4399cdf7a6761b0683a161c537d7df889b673687930eed929acde25ea6eaebf512cef2341744ccb5be82444c320266b0d6f9fdc7e2724a07b69d6ceddeb183bb47645b95a5d5d3ee2c207cdc262ed5407cc616322451c0c0e0bc6a6e2ed1407dae604fa79b068fe7d100abbd30539d9941ae7af1b74a1a4d5a52550378859566d34b7b3e57bec46b34cb3d752f5f925e90171d19702a9ede34c69614727f753fc805b90cdabcd9371d1934bc39bcb79bc246595ebec0ed7402f42e1785caa799be029964c4fef9868167e1b8390cc14fb4b00d119aebdc3833214d529f0f6c22194c83acc450f9110150fa6900232441fd0d653a8ea98c2bedab8ac116eeaa6e979ba01478813543929aa34a1cd0bed6a005c1f698d80daefed9fb7922b8e28dedbe7e4716b6a21e919666892984597ff5f2621834d9d86fe0c77c27638ef9d364bd9822a51f845af2a816d73edab27189174686cbfb2487d26540703d84dee26db950c1d323ab591362d70a0c9c0f93ee49ed70877116f9dbb6f7583843500c6e4cd9a8cd6dd3311fe02f393b28ebe1f00baf05f4400bfb9f5a90f2109c850b06f28209aa3928231c086d232091114172b6874e667ddb5ad4c1207fe852d71c099e34562867332fcadf83aa3e5db19df559739136811eb1a910053a44c8537acf8b310709db9a860c937dbb3af5e541aeaee46b6e3c52f7f8f613fdb55088087b75289dd4addeb9dbc668ab17c335a2bf67338a2ee691ac0ef06e4e0e9a6d90f40e60d6b7626f047a133125064aae0225ec24764d2eb7046d7320d121de431285d3ffc7cc420c664cabdba513df08357bac45006ec8df01b90058b6ecb7b7499cca023837f2047402a93b4f1d88aa817fddbaad93dabf7a47e22e1fedf0d3e751f268f1603eceadf66fef3d3a252cb6b4c6a5d7ba30fe0bfb72cbcfe02e615130cc849fa772b32c151f186a25e0bc8fa3671db96aa5bb253d5200e2e56c79ad3786aba99c6ed7e09e60c33821f01176247601c8de99b343d32d9e2fca303c7c5d34ada4a2635733c97fb77b14177e1633b175af06f7c57d7713a5ad9f114c4206732c5cbc19e35951dccf9b3fbb71474bed41f91aa150c006112c22a77b4fff36f8235705f1f33811a974ad275ba651ab43f183ffe4f09810743cb94a94396e175fad61c8408eb0da30467103293563ed852e38ef9644e8bb5bb118a5745890a4cb4d70fcbe8ecb70d772f3343663a3b0f4090e34ac84a0835abb759040a208543505065e4925a5d68eac530cde5c4a7356c04ed57e14e574a139ab48a487bc695a528c52939f3520a2e50a3972568f8bb13233e1395c524dd72ac33b50db1e0e95e27f471c06dd400a5afd108ed26bfd32aae1dec64c409f2e4f7bca0d4329afb8b868ab60985c9a2f6f702f712d9402cd551e2139b3bf60d1b084583955d2599440b2edcc989065d0909112ca1c1bf1fd566959df7d431be78d6acffbb6d4654ea0efbfb5c8e202ed2d2f2d35e3e40e02a996a62082bce4187295524ae227a3fe582bd977680afd12d2d21df28c8bb9f2b00ec15d724f8b85c315eda3f929f13c2b93255fbb7d0ea1e1ea220d7374460d4ff13ea28db0747a3cea34a29fd21810cd8873cd756ff15e1e1715bcbebaa1bd7049c6d33b8db99ccf6d5fa6abd9a392e7a888844797492969902a4341455e428fb6392cc47246633092c29fed2265ba117310a8e955b6d69671108ed26bfd32aae1dec64c409f2e4f7bca0d4329afb8b868ab60985c9a2f6f702f712d9402cd551e2139b3bf60d1b084583955d2599440b2edcc989065d0909112ca1c1bf1fd566959df7d431be78d6acffbb6d4654ea0efbfb5c8e202ed2d2f2d35e3e40e02a996a62082bce4187295524ae227a3fe582bd977680afd12d2d21df28c8bb9f2b00ec15d724f8b85c315eda3f929f13c2b93255fbb7d0ea1e1ea220d7374460d4ff13ea28db0747a3cea34a29fd21810cd8873cd756ff15e1e1715bcbebaa1bd7049c6d33b8db99ccf6d5fa6abd9a392e7a888844797492969902a4341455e428fb6392cc47246633092c29fed2265ba117310a8e955b6d6967113923ea18517c0e7c6fac4d117b9917c9f0728c9ec39dbb77de85b5c17f2c7f4059566e6dec5172aa9a3d8a9347fd6550f6f1691a37f82eac53d94a6e7613a48387802b35ef46d465536c7a5125bfe9b85eeefae2986b2a5c1676fce05f4e00031db538e220d9050deb695a20721092fd516be72dcbf54583fa16ac019dccee535eb989bc070a78df637def13b76542525e6130ad8ea35fd85cb35f3567cb322326469ee27fd3e575951055156d71ace33c5d40c1b5e1d810203bd9c3c5b2e1413e10796dfe23abcacd643c9e3ef187ee8cd5f8b19e1816e32ee699b7b754d981528ff65824e22bc58f9d5fc19fcb4c59ad29796a519d51070fe83768c5fc6db1f5e2ee4c1a8662cbaa7794a25392d7915b0b5f1e8eff079f7ad04252be493d83f081737d669e7013cf0a8baa891bb05df644f13b377ac0afb836d68646adedf12603d4067d1c43a520171896e3f8d97c1bc04e3b870324712a6a80e6c58546c2ff389098eaa7e860fc01db3ed5f96f2da48ff244ecc570de7fa4c47ae76dca007edc27e8d146138ee20e8ad63d4f1fc965b26b5ecb7441500c5f8db74e93312189db68cbb120e68140a714cce62839507c9881fb4d823f299afa387b41a6b58187d8b84e579f46061482b788c32704f180ddf4e4f98bdcfe3f06af348fdaafc10b8455db3fe0463235e1883418927dde187015623056ce32aabae7395ef33c606f37272945c1b5d714ad2c1476ab687602721d9dc47d4f7737bd695b9e730a711cee2736b6da2ea510189a8604bc4e35e2f0a7c37d9014f8b61c2a4fa9cb1830717cfeed4dd0c5ba41230f4b7594a22eee3935baeebd92f0613e0a34f770d2f1635a715fcfbe95e6dd93e8c5f7cdcd6d58804ee5fa8c6a88e8cc1a5a1cda2a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000135c52cb04c5c051b0f051ef416aa61a91af0c7fd324c3f3483b72562d40631002dbad102ed61c4b28b53c41d0f743bdbeabb5e65c5e5e29e04b097d339fc3ed53659b300aa8a2da3edc1f4dccc36c4035b38288f1b83c4657e736696fbf8a6690ad0b84e7362e40ac44e2e01393a87cb114c1a3d51bea464d1c769b6337c494c2e9605d037d0f6935768a4353475e283c7bbad1d6bbd088bbdc98354b63cb588318a792d7dcfaf33c3644d0af8accc88d33b3575014a3d39999a931511d299cc3ffc51b253de13ff39bcff8c0f8d25a34a7997230f3d30be2f044abade61c15c200f0ea924b45ce1e70ba4dca31a35c013ac2bf77df63dc01be1020b4685186518d1c560f313b9685ba35c80e182006cd0413b5d60561aa4c9d64c5c6890dd7e3eb7178f9b24c64787bba6579166f0c3bbf0415bf17e93f402f2e67bd03670c73c49a3cb1a9c63ed5156a87bf90d0856553d9a07bacb26e6f4af656fc972f2923cacf3da47cf072f9be55ce87c6837531c582ec12a3b592b01b2b05f430fb457230cd65b7d5071751b014195c8d3efd77251492dcd8e8b925c3866460553c6ed339914dd8d5fed58dcb50f9b963b1dbcdab85b288e1d1c453c141f79527e280f333818f01d4b6fe09d49f20c81bfbaa02e33e4bd0c4499ad798ba1dc0465c95403b70def5a1791b824e607c4ade3ce43c17cb235ee73e00d0f6b810cbdc1fb193637272c6098276e8342aeacccdfb63708e1f15692f6c5f8dfff32e44d132945279233380fe6c32fac8b71a55e07dc3ca2a80d601aad739e783e2f8f514b32352d0215577a6d35701d904e87778fd6e3da29f5d3e2fa39b9adbf6be88870f10f00fcda71118450678dfc7280103c6e328ee1853b0aa044fefa65a8ea7e919d0236528812f229a2f89e54641a2d6a5839a4c8c0f0732eb7b0fa169b854cf2e70225cd89bbdb9616463b5a31926b248dd28ee649635ef1373d552e3f8de9d334f82377eec783f9bbed252eb66e499974fcc21d2e533d2efe2dddd3c85ac221bddb2d7233b6095ac2f8c7d1e373c93168b11a79d7e0760cc2f1c4644ef983dd9f1d2de54d3c97fadca2963f5da2625be6a7e8ced5d7edcd211dcf3e6e6c0e4f78cc226e2e8ebf3ce686e8b905177c2103d33cd2caa72a6dc3efd2961753f49868982aa0d415f36737322febd4a9bb76dbae8284648a8770bc8d112d13af35051fa3050a627ea44310a0b3eeb1424ea2cc3902a18f69310a686c4a1e0ad6ae22da103e559308dfd8350cf946a7c697e2c8364c209d17ab8ec43fd3ce626b4c5d4c602879502a24a6ec5ff886b5ab8d035bc6eb98cc421b586e88b30ee5f77c1cbcf930c78b2660fdaa59724bcbb72045c3859ec8e67afe1b9038d971cb56e6d892bf284ca8ca681f14ae7f8d6151862dec9a1b1006f42fa54a96b133e2748ef132b60148d7b013c71f504a0b3db8512b7f8fb2e141de5385a5f79b531a6a72f4100907a7eea39b172650ec439f8b2e896976cd7bff4a0d5d1557f866399b446515d716d4d8532e56e361722507ee18526e6c78a7dadc0ce937015a7815bfd637f55d147f0bf94713178595f8f56aa1b929f8e8083af703238f14bd6fbeebb261695f2c781cf3819a8e014f1d41793ec29a2a3930d207a82b5e2ab27cc386b96b235907e58892c1d0f5b224aa70e48db9c2c3f63926d7edba37f7fe226f42eddcdb7c06ebd6b0f941063b9e4e02015bbe9a0be4879288201db8cf6195d17275864a5c1713e6ec4f806668e1af9cf02e8625f5cfe36e6553a807201875d4d051c58fb52a8d7e0d00c98f22da72bbec577083e8e87e773300d51f7f99a9cad42fecb53e086caa2f3d229acfc36ff56098246a4be8d2c89c71e80e9300ed8e41c36086cb1a31700d9adafea08d6f9f2cf8fe141bb7408f256e10a28f8be03fb6ddb96fec3ff68b051e212b8504d3aba5d8f5caa15d903ec8eb39fd1cc587bac842b5e5e90bc62ef9885a09a023cef75f848dc6ef836f740a5182b6deca904f160763e9d8084d010cd6931be82487ba91542ddb34e091a94db107d89f04bbe25e56b9711f119341ff50be07532e53dd513ea6f0ec59faa3d8671c25d1f08c16bcc6e784f80659d041b4125aa929e4300a71d1bf3c6a84f26f5b171dda69a4a0c482ba8bba386027520ec620315f6460831106166e0d0ed10dea89731d66a22774b851f2b313423f7afe0ef321ef172ac96f7e16996bb49787b8a263b3acc25984314ad43b04447ebb2e0c0cc392d2aa3da6a1046d81222366fa0810d7c39a23789e0c14c33bbb8144d1f3f33c6d2d55c2595efb92a12475950f44e843d5930d7461f3eb3e155679a7e63c3fd1de1d53344125162385aab102e2285436d202b15b163c67cf2aa9865819c3c02e21e2accbbedae9dc9c9be7f92724a4e4c72a7f91e9c398322ab060477f2d3f195692a00545b96eb17a0edc12617cabf680e045da6f2e070a154f9fb880d2c0e6a96d5ffaba46914ea837bce9a7d04d25184ceb1290d1f8f71571e1657be23b7eb0dd201a5c9f2976fb768167cb88707db8d9ca7d2be6232f2a8e1e9a841dc4814f22dfe5a360d68926d017943dc4889de053666fd419dcd204447ebb2e0c0cc392d2aa3da6a1046d81222366fa0810d7c39a23789e0c14c33bbb8144d1f3f33c6d2d55c2595efb92a12475950f44e843d5930d7461f3eb3e155679a7e63c3fd1de1d53344125162385aab102e2285436d202b15b163c67cf2aa9865819c3c02e21e2accbbedae9dc9c9be7f92724a4e4c72a7f91e9c398322ab060477f2d3f195692a00545b96eb17a0edc12617cabf680e045da6f2e070a154f9fb880d2c0e6a96d5ffaba46914ea837bce9a7d04d25184ceb1290d1f8f71571e1657be23b7eb0dd201a5c9f2976fb768167cb88707db8d9ca7d2be6232f2a8e1e9a841dc4814f22dfe5a360d68926d017943dc4889de053666fd419dcd207b0d5bcc9ec3b3519e1c387b96fd2b5b394f2a19894a21b9af910b00e9f70833756d5b8b269cb43b4e1645cd9b858f5a91fbb368bec1f0b8c14c58ce7233b721f58081e26b71aa87374afb67ad656bae9ece3c89aa1828ad674a7ce51fc08032bf93842bf2d60223b1a98080fb866156c1f2eaba5c51d58b80b9996a54f2052328793e8c18dba96d5a7272f1aca0b29be56ec9e7a2734b1d1942327a32285f925c699a27e950960f23c38302f1fa4657d019c6aa31e571e6ac1622be7f45e0f30ccb70dfb2d29eace4e15f5d6e3b7f1b080d8e117efa485ec385297ab7fb0a91a344a270e24514329185bdfb95eadf5fa66161e5b3397b01eb3bfc17cac032c309a471c385d80e67763ab6e9b6662eb565f6e37682d47fcc94c778312a6d473238b3127f40adf56dd13a460abd4f15c972980b6d0e45e413581438c904556352fa7021621db2f85302ad0621f60d4f27b5a1c0e16b531dc4c216b96067694d7333a3e9931638b5763b45b80182d54442f236b2ebea29c6db4328410492595e605eaf1a0f02aefdcbc9fa2f76ef376b1b4449ef6b12061534555a84d1a2d92f512071d6aa4d1a0ce9808db8e70741877557101fe2934d6022b900e2d616ebdd5153e7dfd7f3951c2cadf7433515d5ba67aef580430b65921e3d9aefc41f863f31b370ca4d97e1fb626028238c4f7ac8fe4a9dd066de9d410aaa1fb4f337da77c2e80b3c6b8a79f548e968a4088dd8130c64f4c5faeab9388435708b6c447f99c260d5941a980a7f28652c1321b1247b1389da3d599ac7fe35e5da25ee9cc8f351aaabf2b0ba845c6da9b06c2044305f8711dca252715df3e9535f0476abe27f61675a04e202943a933a0543b05422a99a8864411856b4300c0c3d8025199ea4900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001056974bc478dfc0015388627ee0a2e02edcc3992f49c49ef6f6fcea06482775826077a25fb6c02574586d878b63683ef952c91b0d441ce7727b2d8b90966e454384b9aebe357d82d6691fda95ed2ea217c8a596768e70471f3f78a8b94d1e9f316abdcc83b90fe655046e67626daec50d61274ec8fe52a2eb775f4403a953e940308407eb7afb9c0a8a69ec6b554a647fb944f337c3a58850f71eb09aaa1b047368f1ea456ac66ae7442a86b79950bea9f20ba66a9a5ebfd34bd33021c83801522855e12461d45faded648b46604d1acd7ec91a21fef21aa05b83a6bb0759b660283d59a0cadcd75b0cde28cb10f318b8ae173fe047363826ff353cf7bc08ae71814462e8b6754d0d036bdd62aab27a8006d13decf7b8afad80e60ae5afa2a8916bcdcacf81b3976fae74c27389ebc7eb273f46fda8b80e8c77fd046b1d99ef403e69361e6595568591c9c3ececc4b86e6e139809e5af7bafcdbcb807437049f260d611bde85cffcaf8ffa926e01181ebb5834800173d3abaa5e700365b8d28633e0043cedd5b85020d10b84ff2d48b616e937365e0eb9c157710b78d1a072c91224c7e78a08190d71845e7b50054427c7fcac20891fd5a7fb711262595331361bd23aacbb0101d2f2cad404e1dec32952d2aa369472d15ea268eefe86bcd64b20cf81e88bc04ae415e45688a9ada1364b5e752acd02d66317f3cb586ff85e881eb57ebc48698465f44ef80321963dec1a819f0f4b9daa4cc23e88d00ac938d80e7187adf163b40b1c6599ab073eca72ddf1150f96e055fdd3b1ba41b67116e036fd3293f8b6b9d75b15c42c679b56d25f34d54030dbbd79534aefb3703376b0029c71ceffcd00cdabcdce9d5f80d14e5115c0c9533544280c7ca08d4e47a14c0ade51b53c6206abbb080665dce00d16f299370a6b408ac4d845314eeba670e4014c20244885b32be6c03b39c8da4f4f4c0d12927a441d9d87cf86821a5dfe782020142691c016b146cc4b2c5ccc1106576bb3b1083bc2d39c7609d0572177291cc0c6301812dd6934acea023f25cb0dbeeabe1af5d5484dfde542cf8ad133953aa341dd2637bb5216a649e78462bfc2499cbfab42d2a25e08db50367321ad95084ffecc67a4e567a72854b7da04e5170b03d14346db63f1196edff672df855a0da954c123e810108ef7e73dad1a6ffa0dd3519a9331beeff86bec3dece7cbc6302453e6397f09246da1de5f72c3df977d3f6dd5982e977ff32287213ad6848521ef61eaedacc9c79c616fa0b1250abd2a8dc2462b20ec7acf5c94a440234dee290713aa9c5777d5fbdf7578754700ef69349b40b9f916e016fff7fe40c673021573adb0929a48e93f8fafa220aac2ef71fc17679b65a56eed1fbffc6b50fbf4288608a950e206cbf49b5a289fcc3679f96aff5346810d3e521eeaa54276df010f35eaf75eb91fc8d4397004af5c51a376c47d115b89710d785fbf0fcf4625c62f7ae349ef45ea71a53cd0e7852a0e1847f884c35ab0099af237403d3e49cb36193b234dcc025eff8b8e9732b0203fd8e25486ee2875ff8582eca823af6b40b80c815792f17d852fbc6029fd15c516072655315be45ef482549084bbe5f140b21a87ce8ae60eed445f3b87b755f0e66a7c34c73692a66cbfc4e45b5c0d8d5ecd1b8ec3c93cb5a7994b6a4a9fa09a0264981fe41e72ce72e45a634590f3f0ec6409f42f147adbad12cd4d689e91f0c8f6860bd2d4df2180249a2febdc3bde212b03b5964ca11cc6d3d4edf5d58574fbe14f9cd9537fe361fc578337753a8f5eaa033a0d1efb27ab955785223d68a5b952a6fb4b2feab2462b0cfb656c29961540021cd1d47d8c003ac989a4528e19fc9ea0cdf98520257be42ab128d16b489c7f22e1c80f9446fc0041b491002d48a92d783c6acb9fc48c220003f9b3c5978cfd1056f26c2ca35687e9f2c13aeaa31b2f3e9af99d4122ea80fc820ba0f1ee854e057ab794162e575f718e0321578f85fac5116b4017a7102e189041cc238ec1f32c202c4682857e4767164a13b882034f56ef26c3c0418b9023d4f1b67584c930014e8db271ca88d6c79e64d8e3b126b125af1e4bc5c09535f8b9be89647977bb05c648406880447d74ee17f93a0d1249b04e909e4c6461eb11a563d810f14ce4093c3a6a4af6ceb86a3a5f2f302d08a593fcefe4710c414d85f32e35491ef4ed2f79433d470b6911fe57648dacf6a2dcdbfe3d1f62cfdf544f8ef085d158de1612cf3b49a33500bcf5951796e4eafd130452457a50ba7038f18dad0c6c119bd12d30c4b65ccaff430a6ae8691b1502ed1df45381b89288e2a79f83e093ee64301e0c2870300903b0cbe975f27896f15ef354c2678a5738011e9730511c580b1421f3d78fcff6fc4f34168a0d87690ea12ef1d6947ef5c11a7a96009be3a7f4ed163cca30f02d1273fb8f4dbc5af2b6da7c1a9a0da11a25ce66998fbb8db8376229c335cf0fd2ed8c0470b243a50d4925a62bfeee6832d34d3293a1317247c89f2f2ff2f4b0e15c43e9cc84adc6bd92444a3e69481c35c3ec67d29dbcc49914e910d00d0b4f1ea3bc16337b5239426dbbd8082fb3ed17352f315a93303b66eb1812cf3b49a33500bcf5951796e4eafd130452457a50ba7038f18dad0c6c119bd12d30c4b65ccaff430a6ae8691b1502ed1df45381b89288e2a79f83e093ee64301e0c2870300903b0cbe975f27896f15ef354c2678a5738011e9730511c580b1421f3d78fcff6fc4f34168a0d87690ea12ef1d6947ef5c11a7a96009be3a7f4ed163cca30f02d1273fb8f4dbc5af2b6da7c1a9a0da11a25ce66998fbb8db8376229c335cf0fd2ed8c0470b243a50d4925a62bfeee6832d34d3293a1317247c89f2f2ff2f4b0e15c43e9cc84adc6bd92444a3e69481c35c3ec67d29dbcc49914e910d00d0b4f1ea3bc16337b5239426dbbd8082fb3ed17352f315a93303b66eb1825edd8763b0e9f24ec8bee196162f82280e8709816f727bdb7fdac9abcdb63e01de7898ca0b76c5ccf8ea31d9866d81454a22428dfdbb89c3b361d9f92cb08571b9d5a2a50c6d8a61acdf312b101a31352f3356636139aeb9593bce4d5ce2092004c37cf170d22355a2c252313a00e318136f39a3ea0096dd1ef1c2bb8c26fb52347897242af329bcbf7711cc372ae41b11195d99cfe1bc4e862a043047818883006dfddc1cc2d34e1c10f12f6c6755f72a64f018b7eda3aebbbaf7bd35f4a982b4bd1e652d53aefddd3e81cfa8e5c71cd173d4467aee2f9a607b3654459f08306cd3d2649041fe25aaa7fec502f09c0ac90cff8d894ddcecf0bae8840213fac14d20e246876c3d4e93e25633d1c01aea305d3413be59d3cc86fbe0f34d369001cb8e5fb4566dfb2a1f188d4c6121c068d0a617d647684cdca91e2142a4527b00a8e966a09aa773d2df9a29d1a36cca8e2375610d0813365b0446fb2de6085700d645a24948345d53332abae014b8ca12111d82af1559d70c47765c72edbb6d8153d0b393aaa6b80a4071d3d40cc971291998a313c8140e9de5c0a777e8399c91afaad0f25749de2194382f1f9f475ab4326042f62acd94c3f1bb1aa0de5b105331ccb737f062aed6ec7ab48667863802cf0a98412088b4d9f62460e4d30b29e204334fbd55087b8322bf98c463198a9b823591090932582f8db8f360708be1b27e3e6fe1377d023e8173db02850a025100bf7eb6f9e3a124a157ffb69502bd520d9ca1b7a0db92f701c475bd24b17fae507f5f51cdb949ceae0911d2440501639c8fb7fb3d02b25c71f8bb2c8003eb0561a0726721a9984aae1c2217b4ad4660f20698281423ee4308435ed697f9de3e6972e8656e068cbdf37efdae63e9132000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011b4d4cd135f3954429c0b48abe880c85e7685609e5cb71a088db4fa49693f3d632508641ecbe47125f2c25c796c4dcf4fc9cf795cf14c175d3a90541e3c376de0ca3c5df656563952b4132af56a2dc6f3c973ba90666f757ccdc1a662493595b3eed3e1bf342d7361e552bf6afbdc326c972bf30bb4cb262ce4a5280987d30fc02009aeebb6c81fa4127d9f84c264aed8532e84a09b615e1eb38b86bb69d699327c256a0e450501cdccbd8fc9a605f5124b8f7285446250facb820bc8c80ef3f14e6a6267b9672c3b4be9e1794aa86c79628fc6702e679a968e1c066623d15e11fff7800881843d8a5677c2330f0c366791e77e0b0b6d1ec7817a2b175992feb0e34b355213019899eb74f1effddc6a8d95168ea4e41a2b0bf273179a6f97e3e2c69586b5f966513d4bb52da0317da4439612df7f19a7c67069d12b930c39ae20c7c2a810b075f602d66dc4c7285f8aab67a8d2b7b6e9f110f47f256ba460b67045204056b2f308692b65e1c6c0dd6c2524c4a742068fa606112ff337b80346416f15e4601e4829479951e9170acfb197c8b385ea268ae194c94abe0ae3839f507e998aaf91be07927335df773cc7c9e3873328c21e6fe36ae237e4ac5223ac3107482b090c6c4145e925ee47d64b6655a160b1ce8f7031d3c02b9fd0ca0e3323e8929d30e06ee9c44ee11023b7da0f2425ad41b93814a1acf9c42ca00cbce2f21d72bd37e5e0ef2b86a80a424eae49a7ba75365913cb21002efd063841b5dbe17e41f4b320af1d7b6ffa6f6591c64ecb6de173adc1ab060e5cb3d12374b2ff72c9a3edf7aa5fab64a73707c8a71015c667cd6d92f15a3cce026e819ccc55596139d473e1bd70e306638a5d46252e88ce15344ab9a2afdbdd24ada03d8ac8cb421e9db9c15097ca99a3cefa2f228a2b7482310d874fbd466030669a2e896499b27485c1c91764d06dc43f14aa18403d6a78a2c01745054416410b1196de6a4a90324d2569a975d9a0213771ce8272343f54c089d37375c03074567550124b2872e6ee6ad94424b7d11850ee3fc5c66587d693d0855f8d4913ca571cc05573b650537a4540a633d3b8cbb084256a9c102a383a2c07796a56e2353e731351d616a359c863ff1287b64fa69baf220b3fe3d17befe6e94e012f81af2dd460ea42c692bcc7aedb5982b1e3dbce5af2dc89d3e0e18880482cf7d5105cb129708f0985e1cebdec5ec8edca21b835be34b6a55d6451159c776eec6cf0d83175d0f3dbd291265d96c7dd7a728b0c0c4fca25eb0185ad18f29f87c6bea7bd42ee85c875f1f07ba81b33a083d4480476211588bf6c4d5cc91e2e35d577eac831dd6d037ba8d3c46f71be77706771c4859e2c97b1c9af3ec6bf9c1930b1a7fd3d92a82a38dfb27cd395de15ceed7c0aaa69791f8e5ac7beb032913be9e350177c6cb2f6e9ace165d5e9059a3ae38cb1e4a2ad4b30d47164836f53cfdb2e901f501815e9fa63304ec5383e9dcda13a9d13a79f0704ad2e55b24ec30469d1ae15a213256f63ade0822155a3a1d7afdd65401d131599e104e4dee29f73a21fd4a9b5c409105938d2e3c4a60f6af2b7623c585efa6b5f877fc05b579d10f0638de2995224db0329b0f7655f1187ebda5de3d2b5f8fc9ba684b97f5de2f5444c1c6f0abdbce71cdc63778980bb44cdb69fa16b566417f6bce21ec06db8b7675224aa95d7bcb8a620f36193b8af4aced5b6f3ce3bb4f57278e7e90bb4354fbfe2271009211049999a6028ffebfc5c2f7565d7c69d5e86796b0c763945cad057c9eb464471e83612c600cd0cbd25c2f948426c9c9ff7d4c19ccaf18401802ad08acc33946d934ac44f506a6055962b12e3e3fcf79a5af67032b228b4df0ec5166b4b9622e8548ca2825311db29f30fcccddf74fd174288b4dfaf58659439a6b5aa6446751d6a63e4d06337b299f7f3cdb5e9cbee9c3ef6dacd0a1c20ae2468fc1bbf7211327de10af8a096ab2464f886ff7308d8c70ea517b452e2366351db7de650d75cb3f133e9626122d017f99ccb3471a0c32f1179c29d08abdcc76a15134462fcb6c837514a7d13944975ab4982ff3da3a06ffff70206387f5dcddceabebe8d66e5437fea0e9cb2a58dd67a725499bfaeb10613081769b1f743731c7fce820ec35171d8daae11b33d1909851c6beb51c7478af9da1614d447cbccd7cf5e1518a2d2721cff8ca2a23e730c12f7eb484d686c952cd0bd4b548cc6f563c3e351fffca87f1321dc32708ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817937330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e882c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d13ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a41c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b330c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa8380433ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd08ccf4d3a5e93ecf17c6dce5a8ee2a604a4de7693506ce6caa2463287a5d817937330b2c5a16c130e839231a5711d59fd7f8b192d4462aaeef08cdc485a27e882c00c8223d8e3a0b76e2507c4ca6d3e17385850e0922081f52b5efca63d3875d13ff37ddc271c5f4891daf83b3592c1eaec113ee002af0fc467741229c2c78a41c03e8ab33c72239526b926d7f422366dac7ce5211c33d49d2061c2cf321a4ce23fc1754cc38ddc6ad946d9280bddc99477ecaa9f789bbd1c72714c00cde5b330c138b5802e3ab1e9c19dc237c4ab1020159d5a246364039e7c42b06bfa8380433ec74a7fd1c54e163e623dc83b54efe20ecc359c316b8e1b16905e64057c7fd2dbe6d83ddfab2bb8ed281dd777263c51dec4d6493a42f57b175e1d9c275616918016098aa02665e1acfd881bf89573a1e3d6325e54235c9d8ace9a6067e91ef1709b395ecdd7145b01f3db15cfa8cf1b8327eec8beea5431732cb0848e630a222fcff711ca6bb32171257895548f0d889e96121e743e2acc701e0bb637c5d8c1add7f4a540a684dd77a3c510ecda506c12ec4206d4d60d0bdfd0da9bdef46a101f2038147be5d63719e9c8ee8000c100cbf573f93d051dbe98bb4faeef5db1b33f96fb87143488b9355d2134042573b0ae5ef822fe333a1c784f014a9259ed43cd64a467ecf9758c43e7509c3813cbcb33fbaefdcc541668b10662061f0ce0202fb89f14c4b8b1f2462a197ab1e0190779db750cccbef134f19921fcbb8410d087bdd0f22cc2a514a9ab3d3e6bac6fcdb0c7a0f42709d3156fa77d5c55641150265dbd4f199a8c624e430a467e0be7f0c935d3286e9ba6aed03b791259063f528529401c40acfcd26514032bcf9370c9bacda6166ddd86c54e40a5f15ca1dd534aaf7d731ae7be7fbad3c7d60f1217e07055d4fcf9ac85f5fc5f6b46daf67d00332ae0f52168b37d70bbd6ae9e431ffd6efe6aa72fab9fda8bfadc3c46c870e1f10e36bf25dfc6b7718962b94ec0ad5fa3a549d1c6c47fd65afcae6bdf7b4f720ab20eba6d69664dcefa37ce415156f69f928eccd80267d7d1b01b28aee3a06056170029826e05cffc224cc6330e4d299de4b21a4a9d993a0cb91187ef7eda83a0ac0ecff3fb9261e7948343eb73ecf8cb56725ac0b6bdb2051ef5e841d74191ea1ccf419a4ef18e3a7df3af3ea069d941c26eb73f18ce136422a7471c01d650d37cd5e0c5a6d9f54b53966787e163b309d16bce37300c114a9f854bd10a38b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001374407d26507f933c49d93f3ca59938d561bf8ff07b6ad7f415b8fc262576bba110758a7d09f85ce9e4b6f1abb0e67751322f0bebdc98e9a790902ba559f363c07f5c1cf0cdc17dcfa535798cc9a5c087548a34f238cb4be47595156f853e69118b50a70d59c213737aee8b46dbf642669905ee3d9b03cc97e48df0c09567db53ff329a874ec0da4cc342a1148fcd149e7c0ff21c7aae1d1142e5e979079406109cd3b1bb7e981ce6fac52da677ed6d638a7ab9ac00ad18cdfff507e68087c600945d89b48235c12769faeef02e534b4ee1c8366aab36d4b292bb974b53eef451b9c3cb60d78f7f58df15dc0eb816cab0051b67ac35ab08374419efedff197df045b7ee48efa735e578fa7ac990b0ffa6581c8f9a597f7bc10c5e70b82fa783726d087bb265861fb3031f7afd48f19193300537f95817e2969c24160e3b3d8fc2d085f37e65fe85968abe2b4e42fef8307e43cc44a811aefeec941f1db1fb2e02582c7747c03d167c861b18308da1778ed391173178a24a57fc06358f3c7566924221adeb42fe66957bc8b26cb60b898969b0d84a8085e43b988e5c5175c07713a3b666bad01874efb64dafde7180a3c608e1094ba3187b109b05946f5a562243875ca4e56c38478fd40cbea4916f70b75080ea9f429b5ea3aa366168dc4b10238975bd87df81d5d1617e172203e5fbcd36a8a32b5cbb3f3a318662b46747d6138e88be6fdcc6f25e0940af75ae9df546dd2bd442fabb6391e4d23810323671901a92a676999e7c2e3d41aad6b59f27ba868bcee8b1270406c1f2b8d57a12ea701c5b05004d854b2af82d99c53c7215991aaddd7ae8cd2682a641dbf6e46f6120de470cbd48960f8de561662fd2e21f560ac8c5e1217ee8551bd67472028035b15c332adb43aaf0947c5e85a726caa313375c106d19bf9dfba2565bf422c24ea0c467cb747ddc9dddc19c3d82500d393b53b5005cc57762be6cf576962f1aef72ed7a568af5fdcb76a21e1f3c5aba9aaa41188d82ed44b65f01cead17389ad88392daba36da871e94b98bb0b413d77d1345e40eb1b3f657bd4edce14d9db426c3972092aee69b52a3e2f96f8c998b05b2d89a1e03cb3b262748835550ded31271cad2b681e6401d095f539caa79b72da29958397d912c145705d6c84a8b339af05303ffb6509d8a8457196e21820c9d96a5c94973948b1e5ebd682c4b0a9a0d41735b315b39bbf1a78f076a74b0c18ca7af22a89a706c6fe3fce549c8bc837e931977d57b900ef81907f9a1920fa227ecafacbef688ee1fdd30fd33ef4f57c9535ade9ecb2e066660c89520426dab007a9d3197260b2429aaf7ffc38a2d23f541840737d76c10859705c68e481a215d0d7bf5e1f01e1c4185f90beedecb37f6e2c500cd20d20bb1edf1668afcf34c20b7c634a9349927a2d69c5a5ce243fbb8224333475dd2491b7ba9f59902fcaff13b2035c76e0b9f6ee9f6162b8f66c35fb01e8d890946576231d65b999de0036f9e376225f4ec63135a5e07e86fa0f758c18a08dd7c7af150dc12c93dddc3749666713db6c87e0ce400268dda627a2c1c213c0f01d8c3d138b6bcd139ddfbb76d570235dea3d8e10c1ce13480b9523dc030ce0f7fe502ac964fbcfed3300de49beb693846e95f3f68ef093f82d3f80801a17f4ec946ed9727a3a7c9be07e39509107839ede193e8a3f80d55421553c88bf1cd96acb9a8b50ae783bc78e57bf920d81419c12fa446d1894c29e6db7e798f2109cd6ca69c3ed96e8c948c396cea5c8001170961272b0e2495e242eb42f68c6104d1adffec592a82e5fbf3ec2e68251db2ddbd2a2dbb31d5644e541d619e49f26903bdf8dbf4ab7ee15287d91c505a65332ed2888aedfd72aab5609d6c25907189b49d701810f9585cd4b64942589fba2fa9d4b857d589e8fd1ae54365200563a5f1b660270b0029f2ace41c96a5db16f8121fe1aebeaed7e098344ee0b4ee800c0c0baee64151ff0622f002014914ad62d94f960c373c4c91d44d57556635b08373c177c05de7fa58fd635e90b90a4e8c24b724d03339488bf4556baf6a4a9053da43217d53e1304634913c6f1351a666205b1acc47114d7f2aa9f407367fc1a8b422c97092ed66b6fd31c05fd983d5d817f5bfc2b6d082cc82d47c06639d73b1572a91914a30627a5297856c05291395945f3f8266d2d7c6c957aab47d786248c7f66e1046c3eb11ee5203d9546d3f47b87f7c77a243b9c89fc7d256b8d9c2042ad6d44b85d8c2e6cf1da18bbb0083196e509bf2b27e7fb20497e0a4cbfab1fbd5292bb47a273d1930e25e7444ff7f0afb3f24a21d1339e0ce76ef5b34056214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe551eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac2682efabb60122b088a39e4c6a5430cb3c6d32233b9b385c5808e233017eb7a7197d105449fedd4f775c61b395abcf34e5d966d8cdb1c0bf41244eb9fe81485a008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996403f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c12042ad6d44b85d8c2e6cf1da18bbb0083196e509bf2b27e7fb20497e0a4cbfab1fbd5292bb47a273d1930e25e7444ff7f0afb3f24a21d1339e0ce76ef5b34056214d63225799d3bce820b9427baa7028b3654738a93dd550b5470d9c337fbe551eb29cdda8662c4317df46bd84558fd76ee151c3600f23cae3e62350cc8041ac2682efabb60122b088a39e4c6a5430cb3c6d32233b9b385c5808e233017eb7a7197d105449fedd4f775c61b395abcf34e5d966d8cdb1c0bf41244eb9fe81485a008eae5a8e05ad72ab32177e13a4f3f7c74e2fbc0e212e7aeca4d838077996403f7151a571fa528d54cde881ec5b0c085af8693ffb2bcaa0ac8858b4f88669c11dd1813b075f0736229619f2c71ab50e881ae94dbc753232ddfefc2a94aee1970af7aee562fd7033c3b98c876b58fb7c84b07dc44a49a8bec2426b6aaf71bdfb3ef7becef4701fd7c48ddd54096379f07494432b3e78dabb120d9a6899d6b8ba2e95ad1ba6492089b890b586d57dd2000ad02b2de2810b9a9fd60693652db2b327b15e36c2cac91135a16fa4617bfe382a9becd3adf7a7bbd19d8c1f4ceb08402a016c35acd8feb71c710c11efac0b1cb20bc0c1a44963a8f0957d514e7c1b392954e5b1f1db307d51ba89275d475dfe4e3dc47d43a1013fe04c13fe08d6fca221936777c9a3e0cfe5468b4d959e1fbbaa73ffa8a5c4448904b3c7842e3e63f417642b1447766069cf3968e079f0d04836d39c3876976899cf23c6a07c2aed913c184da6785ed5572ed3f2eac5a6c7d24a306d808f96fe3266d7c999f930d25e112a28c329df0603d5628ac0b5c74e2c845e59e35d2fffb92c1e266badd019ea1d3ec522a4ab11ff1dbfc3d6ae5f4e421b6a0b095f2085612c28234fb32b0e2a26f20a697f953e80d7cb1642fcc677c9e3139c6df5277dfc2376e1bbf84a82da0a639c25f0fba75bf135ae092cc6912cf3103f0d764b911fdc3ddb7ebacf7a020ff2f94422a3b53b64f1165522421ecf9888b4416d4656d4456fdb970a66019600bdde90f0127f7740a410bd954de7ec394ab2952ae162fc5b6a25535ce385b51461c4e1b11c24a59305104759ff6f2e2769e75e1cf70b94ce5618dc7da26ff713a73fb39ad33b8255301b741923ee476697e8690d06bb6db1635a87359016ae0e6eb4fc93ded99302d92ed944ad57f2e45d5abef95508c7493e029a2ad3db9b158185879dd3a129e3e8f5690cf793d028db05f4df89129c6ffbd0b3c860fc4e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011cc6a7358610bddafade57217cbff308907d3049efc36e243da8ef21f914bcc821201e7d1859ca961981980f60a0be45ac447538af4878ec208d3d040bd939642952f4205609c348054a666fcde7c9c5a8cfd8b68556471769a0e4ef267cd5a6125df33f9df6858263b6ab1c909d4f88e5891c7890ff7d52cdb305ed278177411f8d311e4cec96d35ed9afafcaf047fc306f942eb618c7f7da0984fe558891731595da8974e3d08dbe3dd87a2633734dd79a2fa6bcb246be135050a14e5c529613574c739504b45a5edde0618b0cb147583bba7b6bce4f81a19357b00b00730b1cb2ecd7359fbbad7f42d1ddd80bf75e9b5fa7bd1e0dbf25a8bd4b405784a136355b9b4c03cd4dea0a6ed37d138f69f8198f59dc8b78f2c70d2b5c4fa6ab202a0a462a05dfaca0158cf677772427ccb0bbd114c808077d839efb890ce8a8a75104277ba668b63bf5390e082d73e95cb6e0498dcf6c0e3b35207d351d1e3d73b03fe5b8e96368f550da4739d13b2247fab2de8789bd9956c551e7b1ca9443167420d06c4d6ae309b96f75aa02fe30ee2dd2c3b32c89e5b87df36277c4ba026a100131de378a395252c787929bf2f3ea073fcea51b511cc02fbe0006de15ee708d225e14f4c79925b4fea88a3dda978cdce13b0930176507c14749262f579625a61439c49ed366c4a5553cd2df61533e4ad528e897a1aa2a7eb2e8d02b8ce283df2afba8ad5c5ea7bffdacc668c24273e8c787cb8d910bcaecc365736fe3d9065108aceddb6801fc0b14c7fd8f0599f2f428c45f447199aec8eb67e86733c58ca73108b77e2962ce91903c64a46e9bea4150ecb2991ddd28118c8eb1707a0d8ff12632c5093b27b6e7b2697bf0e045905280e55a39800b762b8e7172d9f07fb1820ce3e0023280bad85efaafceffda11a83bd36894c2d69d83ba7fca085a64f009258677a0712cd4d6773eb86ad712ce1106940c1d1750cc2c3023e531fcf79ea22d387e7d101b2da07f9b8e614dae67a7ee744a583a9f6467414223816b5d66e1187c00dc7fb0d4e7939cfd5d6d1578255e28e79b5b3f55025cb47a04452bb5b91905185d5c03beb8ae67b755a0e3c0df4244076cccbe57c89888fc6f0c8812de008116667ac3d34c5d196004489f96b62686f4c8fb2b5deb09761b3e8378f5c03e43a6e2da6c8b12b397cbd3f7ba3a8ccc9ab2ae2776cf1f8ea3736d6f4439e30876ff99e7f745a4b059cfba2e0b7628ebf55ca49bcdc2eb850366c1cc475d6e2be1994cf6ec89724489fa21bc9305aba41c6b91a9026fa9b989112ef127bc6c04d4221250a7f67dd70f6c82addeec7b357abe49942a451665e50fd9a071302b175ce575e0c833062d368e18c0febaafa976c783db6c2236cdefcf22d0f261f30874a5cbb74a2098eafc4cf933aadefc139fa47ab48f4c0373ecdc7643890f20130472a023ce4b760fea87e030567ee2028265df86761d6a70f183c44bfbccfe1908b6e041a8d150f09a3d6d71209a43e34c23820f68abc314ca2f5ba946c4c72b40db8ee9dbe12bf89f596ef833d04d559db837c0c396c6b616d23fe49c8d1a1a8e7ff7908550ed10523fb87a4d42ab3547e0ac87ebb7bb29e584c2681cfab016d6cb4ae89dcac4bc3bb2944e4b548c425d05dec787ddcf02a7acd2da406e6617e968d8f760cc9cbd85fd05981285e0e66849e9471266d41fa98a528eccc2071eeee87904c04a73a69014f7d4d5bf8d31b022d668c3cff72da2ac21b79ddaa603d87045b86ca819448f8c9d2fd2f30e4a38b6b57f6ae1c241b6d86853e4190d324900a803b55fbd2d5c7e5ff594dc60dbc865057111c5cfc5a3d908fb9f9c2c35dfe53f9ccbf408fe2d0679edd34199f82dcccd1122f01bafdd333431e2ff870ffeb5e48e014aab26ded9fe0482c827cd20476d6126c8baa13fc73cc946ef1812d06b63ea7757688507731ffbccda44fc87ffe360fa2c26060369d563d2e951344007c5f61a6097991872a3e04ff94626fe1be0de0b555c181adf995175c25f1daebb4331fa0a884992bd8b26860596f1e5228ed7eec6ff915e21c6860d014303bb571e2022e62dbd18b40783fd07aacc68adb1e6bd0fd4ae385db559501ea727fb83af587c65ef3656320adec5c1c6f31dfe6fb7d1ba8298a1779d22789ad417c09c549466ce369e7f232f93566173ed5f772bea86dfe65733f7d3561d55962a184001596ec198a81bb5956becaf0736c56207426ecec0c187ecfdd40da818200d79c02ca403a61ae0c96c40c81d27e074e3001c0bc0244386f82e378af5441ff2863fd35bfc59e51f3693bf37e2d841d1b5fbed4138f755a638bec8750abd204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca521fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af2150e3c45c045b389ff3ab92538ad8e3501aff324d8a163f6a0ff1676c91f3981eaf1c3ba3fba4c7600c546dac75271cd22b99c9bbc2e2dc2f1d3f85936e0c69269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f6196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b200d79c02ca403a61ae0c96c40c81d27e074e3001c0bc0244386f82e378af5441ff2863fd35bfc59e51f3693bf37e2d841d1b5fbed4138f755a638bec8750abd204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca521fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af2150e3c45c045b389ff3ab92538ad8e3501aff324d8a163f6a0ff1676c91f3981eaf1c3ba3fba4c7600c546dac75271cd22b99c9bbc2e2dc2f1d3f85936e0c69269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f6196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b05abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b3288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc735024077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd2a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e0a19c0bb6587edb755e1769556e46b6574b379fb4e7e683115ea3c17a82025e20f661f5014cf61f222431a309c3eb3be744f5af96da666ee58f4402210207e7536b33ca436d5f7e5bbbbd4b2845b19bab0195de00da326e8061f7991fb197aea140f44dfd8b0aecd104fe63f87cadcdcffc3b9efaa98d9c1f99bd33b97bfd9181f7c2e6e95f52d01800be435147acd93b7d2dfb108114ef8d6f160ef1fbc71c21cb5b28309aa26195e6bdeff5661781e2737e533d24018a8f4dbfc48f73f4e142d0b5871e55a380f78bb810d177aeac4c2644da54edc9fd928d7978e41dda1ae0ba95db3ae77945dfc60ddbe12d3fc9c949bc10e143a0c32e66e68831e48a9032a5c3944b26d9e293cb92d6d7bcff6a5f886fc8b1fa0c59b9433063b50d088041d43ed8c33a9ac84a945ba0ee9553bb12c3e6b71c3da451edab2bb0ad02f2c8e1718adae84f24675b25173767f218dea6b642f5d1f47a8d3fdd04920fcf20d1c166974ae0440c522b1a2b8cda04190d2b8a8558ce1b655609bca1a7ed5a56dcb2405a5c30ddd703d035de02ba68cf0677799952defb3573c039395e77ab83ffb3bcd1697ed6b22a679ad564c024238ef543e7adb4445e0518015bd69d572a2d506fcb8900c7aff343ca1e24616b5c7e89cec69fd9c43b7e74de6af4d18ccf4442f7809076ed0249947c1fa34ac0616b4e06e120db4c8d96230d59ca641bc1624000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010b1f55d6594af37d8feb388de192c1f3713805290934dcc8c99a8429f0928a0b172a2cc446bdb8c1f4f4904bca0805970159de0beb14843efb73ff57484452e31e6c787be67b125c69d78e23288e59fca392e6d43620b96234abb17657e5445a0b64e0dd580722cdce3e021110b676aced4b733deae92d836a081921eeba72d7332967458018d7a4d981e7146962e0baaa35b1f09906f7231b3a704e24abc96a01c459b58e37dfb70a312d2fb1bc0f0d58be51854feafe9832894b09c6af73662e7e80f263187e2e686c44b18332fbf3413fc5487aae41ab06d4d711946f8774167697bbd8b9ad5d1f4986e9043d8c55bc15a6d5146bb639838fc1f0932babec291b492cd1c197abcf8d7761e7e85c6ad4af4210ecb1afbf29e3ca6c1596fded01151ec8529326fdd87a5a9f27ece0d670bf56988ab36334e95440413cdd3d790f1471ddeeac97f0f22b97b013e0ef62150cb5de2be794afb22183038eed76e733f0154438ff4c76d63e60799683ef684d5f78453b166b2830932f3952d30e5a1cc6e2038ed43acd84cebd653bb8ec3824a65d24c6965629f5f6a3e90521f51a09b0b2821692e7e0eccec3a63d27869e7caf87233fe7463d7df37bbd3f6bb9500cc8b125bfb986bbe2bb6321156f050015783fb3330fb13b756c8dffa16861bc2d2f2a9d1add7afb5fae675b2d636cd4b823b664c68fbc3453a5a8b247fda5b40da5cfa8df8ba9639eede4cb67882e521b586a73548ebc1810ff48116d353eab3ebf3ef7fe1f4a2896cbc9cb1d00b5ccc9d31c4d499e5445fd6a02f46698b5950d7606768afe0310ae213b41f298f191c9a93a09bade29341192a679947f26662c05f5d2532c2080ded050fc2cf96f62985be8b12c191a59bbbacf53a5c2eef716edf6a687acd64b3c5aad25df22de39cbe3ce239a4540dd8dfee7e45ff3657b15081b4888fc912566597b88f7321af3a0350ba13e063ae83492ead977288c7c0b2211e59831c909530f5e5ed01f6ae21b064818528852bbbf1bc020011ef5833bcbf51fca55ffe07d733932fcf7cd9d38c4784881a9f56b5769992dd677f32525792f89c848a6d36d84c9e164f101db19982fb5360cb7af1908f30069dbedfa2779408c9498b3657e717605b27ff531338afc0f10cf42c59ce5390cbd091ea110225fd59721e2cbf9cd7e3a23177292f33a12138949295bb07db84b735da3162f8968479a82cfaf9be584bb5c9d0a8666c539d6b842de4dcb2968c99ba7ddd7164493fd5efc071f5e6aebdc78a081d4c6c2aaf822ccea1d46582503b34c9b052502c1dfbd794f853a8c5bd8d189032365515026e7922439ff2a67bd0d620dbc28ca3772ca1ae489c24afa0557a264c95dcc41fa0306421dabc62ce5ed3a7707212b8bbefd13dfe717e1d0499422ccdf4ca0a5bee412f191d6bde26632b838cb19658fc76c476935c9c29b3eab66d5e2c359e7ec65e9ae9786fab18cc59dbe833dee5175afa3348d56fb202031777a63c2cf5965ffcee16403eeabe3731ef56f2b33e53f1e18d98c8eeb9bdae79fbdf1db303c080010017bec440012a07b90773d6cd346970dfb1966550e495cdc6ba891a6129d02f62ba5b638064cb95e044a086feb1c8be1d3f89d13040ebd4e71fad4c34352752ceed12f86a4a5331698162c0809939f83a43bdc1262365e1130ae9f36c4953023314ec4dc4c73272219c435848bad71587742560c74b38f64c278c88e15f04115fdb6e34a5ef24fe2c7fb36463e7f2c7e1eed541c61809bbaf4e2d8ddda219b6aa72a4c5d6edfa731fdb720bade56434c4c524d24a89a185603f629f0fe05344840265a41a9deb2b380ae2de1d3c4a1bf01ac3c27c19c0637308c71c3fd1261c5226f8e7e145b3c79dc9218edc2978febff0b0f2da0a5987a1b1a0131ce8282d4679ee6767edfc2b4b2101768afc45eb16c27e0e72fc57d2767a1e803a3a11bbeabff2dd74061d2922071050ee7b2a1ad940e5f12f35225929f6188a1585418001163f1f1637d8dec32641ef267ffc9eb7ba2dd688dfdb6227d9306b1e3e07e1f747336d9fa58175f667523d6c24c6de42b93df3aac34e69a1b06dfea8fd3533ae8bc83d518c73fbc1b8c1e47e6320a87dff55cba35c3e1b2bc102abb97aa48e096728e67a091979531480b46b4fa550acd0cab3406e88183233cb6426607860d3dba919dc1311e37a302046a5abcd9b419e5add5bfde3bebfea16ef123c182bba8d690d5ef927c4fc0f43036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe863036b4f581afee8fdf581f5a12018200388315cef6b547c023c21149500f418d0fc94b0a7e50117020a7e0a5edfe7dffe9c3832d1297b15b756b1fa3aff0be74311188cb886fa8cf5cb89cc25a078a00b3bba216b5a37b6de742c3a7904c47be0eee773477905730a347633da5f875ff6e8af6e553a97dadb1ea6d456fb3b8433557abf9aa2e4c0ccf9b0fcbc225b2031bd65f7d704a7dd2b8c63f7ed17d66b30aa8540655d1b3f33064f0343dda4dfd0670397e99027b48e066f16e2e82994e0ab65be052e77c400e074efacabc7a0f021579830c4090af372a79c61773017b3549a41fad1883bff1f8b105354385f120311f78fd0c686c6202b726e88cfe860b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c3feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d299587d7d12ba2761a7a388103faa093e481977b1dd652a5df7a3b1a1b61b22c09e6396f8887031f4ced02e5bd746db46e26b49ddb63e9d9a799c91076f10022381b109831626078897dfcf0e8d5865fe7a8b4dec2bd95b0aa0e02aaadf6ff95087e167cdcc7cebcf2b1569026ff3bff54b86d4efa75fabfd87de9d99d9fb39936b9ff75c51f5c00afecd5bc4f0e73cec91c75d36f174a4357e88a0e179bdcf40bf8160a60724df007f60244cfcd2cb83641eeebe201bed6d232c0b09102e9f139691dbc6dc7992b335c1f651cb4679c3dc5c2940598053c1007aa61fadd484b322b4a0332217a1cfefb3f8245934df716b5a73feaf1f494547156883831bb0716820533cc72d6ac3a3c0ca44018a97d0b6ba699c4875ff06d2c718ce538e51f35bafeb9bf96cbcb69fcdd623a07ac4adea7763c22235cf3696f74605261a1e839892b3510f4b84cb8b7c5c6a5aa34bb51d3b66fa2c150e5870e8844a8a2b24319f3f51b74f4114709a5b745d6a6b6d72f34824ecc40ff8b12e92608e1636dfb22622fba627c8fa3e2d3c856ad7495b10a05db81bde06a9066e8e40eff5ec76023536d18f628d163d50b605b72aa9302d78f3c314d99203dc942cdd0340d93cb036d0c6ed83d6a857b803d020fe8835d60efed4d5de343cace18b7543f13b8a03331a1fcf8fb98603d568f268d6631d15dd9ab2b735c55d3274a302795ecc0661754f4d7040eb85c43d286770df4eb42a1f7208f01b5f239acd59297e9e9c8f42e0a1912b281914ea17146936023cb4188fe59eccfc348ebbadb3f3bca99142d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011e4cdd9a1ea9d76c5bb1802bcd8d8f7e84f60861484e0e9fe30c5ece66c7ead907ac044bb4df44b0d584117a8850efd2532ad2ea9764a8f01252d8dc72aa81de2fc7e76dc93e4b2d7a9d1848f4fe7eb2a6963308e10917a28110d8c6427a8c8909410abdc1ef4a0058259058f665ad14575a9bbd59223bdd1366fa6613a5e8b617d844899778cf0f6bd73db8be309acabb2441e0ec3b9204c07690b33f594e60268da4b57ea461ccac367545ee7db16b5a7049805d7ea42ec872f55239d6bb853940035f0f05672dd2f17604d11b099b3791082a1c3c4fb4f7fb78acecf5bec811eb8fd8521bec7a8a0baaf9ab96bb288c243b9d73a8dccef4c1645c9b5c617e13754df0f239cd96762902a436751800746747a5a467467ccb04a28c6f3a251e25469dfff7f8409a9acc9037418fe19d3608db0afe23060c41ffc05e5ce4230b2195bfa45105e2ce6c3410010a42156b04595a5a8973f6f245ef1e9adb23683706085c8cd46701fe1a1cef4948c203e6b6aaade36af3fb1b928d5a4ae89f77c20a002bf267751cb9ac8f9fee1d1ffa7c6efe27a2deda5702b168b44d2a22e842374944c4632d580475dcea50daf8d21932c35aec96f8293102ee1efb305fd7a73e6413d816c65747bf8a5203fe452aec506fc5f45cd9ebcfe3390539d39825430a2e9c8bf9405edb386896108638e619a0552b8ec803c4b3baacfd0cfd30d77037928ff79fe7d035168106eb14584a9c3980768de911972993ee668bc62028ea25a75fef45eb0379dc09868053fd73017d5f38d9e2682420b58b8395de5faade3b798e88f6daf1f98dbc7c3225e62f06f47bb77b74a91a48d43e44e20740a2f5130b50e407fcab6c9df4edfb4808042c10fcbdfa4399cdf7a6761b0683a161c537d7df889b673687930eed929acde25ea6eaebf512cef2341744ccb5be82444c320266b0d6f9fdc7e2724a07b69d6ceddeb183bb47645b95a5d5d3ee2c207cdc262ed5407cc616322451c0c0e0bc6a6e2ed1407dae604fa79b068fe7d100abbd30539d9941ae7af1b74a1a4d5a52550378859566d34b7b3e57bec46b34cb3d752f5f925e90171d19702a9ede34c69614727f753fc805b90cdabcd9371d1934bc39bcb79bc246595ebec0ed7402f42e1785caa799be029964c4fef9868167e1b8390cc14fb4b00d119aebdc3833214d529f0f6c22194c83acc450f9110150fa6900232441fd0d653a8ea98c2bedab8ac116eeaa6e979ba01478813543929aa34a1cd0bed6a005c1f698d80daefed9fb7922b8e28dedbe7e4716b6a21e919666892984597ff5f2621834d9d86fe0c77c27638ef9d364bd9822a51f845af2a816d73edab27189174686cbfb2487d26540703d84dee26db950c1d323ab591362d70a0c9c0f93ee49ed70877116f9dbb6f7583843500c6e4cd9a8cd6dd3311fe02f393b28ebe1f00baf05f4400bfb9f5a90f2109c850b06f28209aa3928231c086d232091114172b6874e667ddb5ad4c1207fe852d71c099e34562867332fcadf83aa3e5db19df559739136811eb1a910053a44c8537acf8b310709db9a860c937dbb3af5e541aeaee46b6e3c52f7f8f613fdb55088087b75289dd4addeb9dbc668ab17c335a2bf67338a2ee691ac0ef06e4e0e9a6d90f40e60d6b7626f047a133125064aae0225ec24764d2eb7046d7320d121de431285d3ffc7cc420c664cabdba513df08357bac45006ec8df01b90058b6ecb7b7499cca023837f2047402a93b4f1d88aa817fddbaad93dabf7a47e22e1fedf0d3e751f268f1603eceadf66fef3d3a252cb6b4c6a5d7ba30fe0bfb72cbcfe02e615130cc849fa772b32c151f186a25e0bc8fa3671db96aa5bb253d5200e2e56c79ad3786aba99c6ed7e09e60c33821f01176247601c8de99b343d32d9e2fca303c7c5d34ada4a2635733c97fb77b14177e1633b175af06f7c57d7713a5ad9f114c4206732c5cbc19e35951dccf9b3fbb71474bed41f91aa150c006112c22a77b4fff36f8235705f1f33811a974ad275ba651ab43f183ffe4f09810743cb94a94396e175fad61c8408eb0da30467103293563ed852e38ef9644e8bb5bb118a5745890a4cb4d70fcbe8ecb70d772f3343663a3b0f4090e34ac84a0835abb759040a208543505065e4925a5d68eac530cde5c4a7356c04ed57e14e574a139ab48a487bc695a528c52939f3520a2e50a3972568f8bb13233e1395c524dd72ac33b50db1e0e95e27f471c06dd400a5afd200d79c02ca403a61ae0c96c40c81d27e074e3001c0bc0244386f82e378af5441ff2863fd35bfc59e51f3693bf37e2d841d1b5fbed4138f755a638bec8750abd204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca521fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af2150e3c45c045b389ff3ab92538ad8e3501aff324d8a163f6a0ff1676c91f3981eaf1c3ba3fba4c7600c546dac75271cd22b99c9bbc2e2dc2f1d3f85936e0c69269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f6196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b200d79c02ca403a61ae0c96c40c81d27e074e3001c0bc0244386f82e378af5441ff2863fd35bfc59e51f3693bf37e2d841d1b5fbed4138f755a638bec8750abd204360c0df34123e8663ef1d43e891c71dbb3d0879a0ce7e1f48770d15b6ca521fbc9f3f20cbedc1799c10e2bc176e39048b5bf38fac2a9d79e4b9dfea4935af2150e3c45c045b389ff3ab92538ad8e3501aff324d8a163f6a0ff1676c91f3981eaf1c3ba3fba4c7600c546dac75271cd22b99c9bbc2e2dc2f1d3f85936e0c69269472d5cc15c81b1fc259dba1b63c704bf9ca0371187d05dff5552b1ed9c1f6196b8d2a33ea37e4e03da6245e49c38fd64ccef898347c15b937dbc1e1263e0b05abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b3288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc735024077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd2a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e0a19c0bb6587edb755e1769556e46b6574b379fb4e7e683115ea3c17a82025e20f661f5014cf61f222431a309c3eb3be744f5af96da666ee58f4402210207e7536b33ca436d5f7e5bbbbd4b2845b19bab0195de00da326e8061f7991fb197aea140f44dfd8b0aecd104fe63f87cadcdcffc3b9efaa98d9c1f99bd33b97bfd9181f7c2e6e95f52d01800be435147acd93b7d2dfb108114ef8d6f160ef1fbc71c21cb5b28309aa26195e6bdeff5661781e2737e533d24018a8f4dbfc48f73f4e142d0b5871e55a380f78bb810d177aeac4c2644da54edc9fd928d7978e41dda1ae0ba95db3ae77945dfc60ddbe12d3fc9c949bc10e143a0c32e66e68831e48a9032a5c3944b26d9e293cb92d6d7bcff6a5f886fc8b1fa0c59b9433063b50d088041d43ed8c33a9ac84a945ba0ee9553bb12c3e6b71c3da451edab2bb0ad02f2c8e1718adae84f24675b25173767f218dea6b642f5d1f47a8d3fdd04920fcf20d1c166974ae0440c522b1a2b8cda04190d2b8a8558ce1b655609bca1a7ed5a56dcb2405a5c30ddd703d035de02ba68cf0677799952defb3573c039395e77ab83ffb3bcd1697ed6b22a679ad564c024238ef543e7adb4445e0518015bd69d572a2d506fcb8900c7aff343ca1e24616b5c7e89cec69fd9c43b7e74de6af4d18ccf4442f7809076ed0249947c1fa34ac0616b4e06e120db4c8d96230d59ca641bc1624000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010b1f55d6594af37d8feb388de192c1f3713805290934dcc8c99a8429f0928a0b172a2cc446bdb8c1f4f4904bca0805970159de0beb14843efb73ff57484452e31e6c787be67b125c69d78e23288e59fca392e6d43620b96234abb17657e5445a0b64e0dd580722cdce3e021110b676aced4b733deae92d836a081921eeba72d7332967458018d7a4d981e7146962e0baaa35b1f09906f7231b3a704e24abc96a01c459b58e37dfb70a312d2fb1bc0f0d58be51854feafe9832894b09c6af73662e7e80f263187e2e686c44b18332fbf3413fc5487aae41ab06d4d711946f8774167697bbd8b9ad5d1f4986e9043d8c55bc15a6d5146bb639838fc1f0932babec291b492cd1c197abcf8d7761e7e85c6ad4af4210ecb1afbf29e3ca6c1596fded01151ec8529326fdd87a5a9f27ece0d670bf56988ab36334e95440413cdd3d790f1471ddeeac97f0f22b97b013e0ef62150cb5de2be794afb22183038eed76e733f0154438ff4c76d63e60799683ef684d5f78453b166b2830932f3952d30e5a1cc6e2038ed43acd84cebd653bb8ec3824a65d24c6965629f5f6a3e90521f51a09b0b2821692e7e0eccec3a63d27869e7caf87233fe7463d7df37bbd3f6bb9500cc8b125bfb986bbe2bb6321156f050015783fb3330fb13b756c8dffa16861bc2d2f2a9d1add7afb5fae675b2d636cd4b823b664c68fbc3453a5a8b247fda5b40da5cfa8df8ba9639eede4cb67882e521b586a73548ebc1810ff48116d353eab3ebf3ef7fe1f4a2896cbc9cb1d00b5ccc9d31c4d499e5445fd6a02f46698b5950d7606768afe0310ae213b41f298f191c9a93a09bade29341192a679947f26662c05f5d2532c2080ded050fc2cf96f62985be8b12c191a59bbbacf53a5c2eef716edf6a687acd64b3c5aad25df22de39cbe3ce239a4540dd8dfee7e45ff3657b15081b4888fc912566597b88f7321af3a0350ba13e063ae83492ead977288c7c0b2211e59831c909530f5e5ed01f6ae21b064818528852bbbf1bc020011ef5833bcbf51fca55ffe07d733932fcf7cd9d38c4784881a9f56b5769992dd677f32525792f89c848a6d36d84c9e164f101db19982fb5360cb7af1908f30069dbedfa2779408c9498b3657e717605b27ff531338afc0f10cf42c59ce5390cbd091ea110225fd59721e2cbf9cd7e3a23177292f33a12138949295bb07db84b735da3162f8968479a82cfaf9be584bb5c9d0a8666c539d6b842de4dcb2968c99ba7ddd7164493fd5efc071f5e6aebdc78a081d4c6c2aaf822ccea1d46582503b34c9b052502c1dfbd794f853a8c5bd8d189032365515026e7922439ff2a67bd0d620dbc28ca3772ca1ae489c24afa0557a264c95dcc41fa0306421dabc62ce5ed3a7707212b8bbefd13dfe717e1d0499422ccdf4ca0a5bee412f191d6bde26632b838cb19658fc76c476935c9c29b3eab66d5e2c359e7ec65e9ae9786fab18cc59dbe833dee5175afa3348d56fb202031777a63c2cf5965ffcee16403eeabe3731ef56f2b33e53f1e18d98c8eeb9bdae79fbdf1db303c080010017bec440012a07b90773d6cd346970dfb1966550e495cdc6ba891a6129d02f62ba5b638064cb95e044a086feb1c8be1d3f89d13040ebd4e71fad4c34352752ceed12f86a4a5331698162c0809939f83a43bdc1262365e1130ae9f36c4953023314ec4dc4c73272219c435848bad71587742560c74b38f64c278c88e15f04115fdb6e34a5ef24fe2c7fb36463e7f2c7e1eed541c61809bbaf4e2d8ddda219b6aa72a4c5d6edfa731fdb720bade56434c4c524d24a89a185603f629f0fe05344840265a41a9deb2b380ae2de1d3c4a1bf01ac3c27c19c0637308c71c3fd1261c5226f8e7e145b3c79dc9218edc2978febff0b0f2da0a5987a1b1a0131ce8282d4679ee6767edfc2b4b2101768afc45eb16c27e0e72fc57d2767a1e803a3a11bbeabff2dd74061d2922071050ee7b2a1ad940e5f12f35225929f6188a1585418001163f1f1637d8dec32641ef267ffc9eb7ba2dd688dfdb6227d9306b1e3e07e1f747336d9fa58175f667523d6c24c6de42b93df3aac34e69a1b06dfea8fd3533ae8bc83d518c73fbc1b8c1e47e6320a87dff55cba35c3e1b2bc102abb97aa48e096728e67a091979531480b46b4fa550acd0cab3406e88183233cb6426607860d3dba919dc1311e37a302046a5abcd9b419e5add5bfde3bebfea16ef123c182bba8d690d5ef927c4fc0f41ac928516cd83fe2cea612c51c7b6e783d48ab8fcdb13bd24eb21b3e871ae2032536d7ae9327c01d3159ed3ae3849187e4fded6c3b9bbd494a7b15ae78e51dfe05edc99720393f6e093e5dd98e692858edde27d6f1dc38e45720265ea3866a0d3a123668dfc6c091f6c1a2267196d7a7346871251770c037420d0a8e5c7995f41da4eff3a11e3d262e37d53fc80dc9bca556c732b94d1c75b3a0bfd931a01241225b100c5ee1c2d9d1c82ac037f236437cefd1c94fffdca5e58c7113ce5fedc01438afc2259731bee7172a3ee844f0aef624b2058be79c154fc95d63f8205b432bc7503dda68ce4118e8d5c117bb0f512c21e6f67d655d064963d38907dfa4be1ac928516cd83fe2cea612c51c7b6e783d48ab8fcdb13bd24eb21b3e871ae2032536d7ae9327c01d3159ed3ae3849187e4fded6c3b9bbd494a7b15ae78e51dfe05edc99720393f6e093e5dd98e692858edde27d6f1dc38e45720265ea3866a0d3a123668dfc6c091f6c1a2267196d7a7346871251770c037420d0a8e5c7995f41da4eff3a11e3d262e37d53fc80dc9bca556c732b94d1c75b3a0bfd931a01241225b100c5ee1c2d9d1c82ac037f236437cefd1c94fffdca5e58c7113ce5fedc01438afc2259731bee7172a3ee844f0aef624b2058be79c154fc95d63f8205b432bc7503dda68ce4118e8d5c117bb0f512c21e6f67d655d064963d38907dfa4be04ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf573150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada3fa1f2a2d0b4cce733cb9590433d6813522b16e9db2173a58e4bcaea7364b2a414cda1b9433fb43ff84e3aab6e2756c437f9c72677fb7a3897b566ae006fdb550439ecd1dca38ac8877adc86c49b6fb99859fef2e4bcc15abf0d36fd47e0cb8404d142411ad607082f107a5b413ac2bcec1ea11b7729689ba915d22fba93c484394f75e96b63ab95798d91624c990d2280d3aa4becab40adff4ecba61c4f941b36e5b06f5f2a6f1d988b28cdd515b32058fc1a5a0114983898e1b0ee9b902e4108aab44ae259b38d99e4ab80b23685f499a1a8d33dec304d8ccc877b15aa60f51ed9ca930b15c00543fb4d2a74bf522511f87cb7e966d5787bb1cdbdabbb5be90254eabab61cb4cde6b613a34d6dc0b5846246cdc6983a0eec8d8ebf04c210451f28807e18c084758fc314c3995b3a252a4cd5533a52e189947c1df44546c0360684e5bfb52e7e56e0aa084661385b24ccafb55cd2df7f1fd2ccc625134b1f2a038a7653c8bc0779d3e7f284bf9eec6c64b3bd97cbd710322874e0351a6730f406a908852bcce3053cf1bbbf790ee90449b28c84cecf7e3b797fde8ddd4080c525c0cf9f9b1524bbe8a1d1f28bc2a85f4cc2bde60adef73b2d84516336636e0624b16a697dc2246ea1cdd869eb974ce0f204123235b30f267831845e78573cdd106eb9de8d8d8b5130dbfac9d20412708f7f7231395b36f10785fa219ac9991222bf61d12f697ae2151a2858b84502764a01f867c825ff3258eac37b66c75c3819278b06f10902c67d7579ff0d09f02713d31669a0dd38288b906f3172654cb1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013151d7ac60cf1371eacb5067b2fc78f4bd3133fa018f93fb2336b3963eaddd8e38e96c3e7921a07472264e95ee7cb15dd515b78534e4fa961aed91e261e5c62d2b24c961ad8575343c64b366fa48e1e8aefc3646f2f6034286ce67451fcce77f2b2635e3da099f4ef1c5e036c9ba350276259e4676b9a81a4706e8d59c7f164c24b24a4f6ce40d926bb43e216344060ae57fbb6ba02b6c881d5843a089ee939a2aa279c5a3d840a2e26f434ab76fe117000ae5d418e6c3455981c2c13400dbb60485af45eeafd559c7cfc3ced9882e4cdbcd00940bbd6b1e1d259e5fcad6105913a51c5f340ff2f3ed2fee93abcf974f9d8431b725d87e4adb745425bccb1b093c85992ad2d91ca64126a681cfef2c77fb79abe875146f5b3cfa5e2a6342e2030c163e435a85460108c2f985100ee7702f27de8271bf64aaacf17caf889bc66c3185928ea854e3903b6c463bf0f2af67b16181038ae81f8c2a1c4a16be604f8f1bf3a916adaf8f036bbf75880e815d9cb1fdb1e86ac41bd642adaca0e5227d082a65092d9b276fdb38ed6653d8d9676ac4ec2ab69b29212feb1162840dc530d0038db9b25a80511599a050d10d0beb70cf99aad6fe4db4f4cf8cfde7a1c3b9fe2462caf55a0e29d399d65b1f1c5a4bdc9aaadf6774ad80602773a54cee1088451ee27fe3fcd329b2c143ee927c355bfdd4be1f288b7d3031ca9a651730b1068633aaeecd9658997afb5662fc594bda55fc41d8b03da98e102b42187176271813194c003942ead0f6ef8977088004a36e43a935a0e9f46c31b190054963a775a635dabd222fa2b3335858bab24f88e36337cf4370c5628fcaaee9eb63424d7efe2c789b62f994308f165c59192b9ad23f24d0eb57b90523b17788a2331b94959b0b7826ade5d6e80404ca00c87378656df6d10d92b66871f6dca6aa68fd4890bd391b9c51a4ed0d9c0de8e26b1c2ac4040142a3a1c0e4f0ca8412f6a972292f721622213bc85d4d51641605425f6bb0a080a6e627afbf2ef9997e4adb40b8301f3c273f77a98553c2241a1ddfe5658f9af030f81f75aff0db4fd563c02e8d8e601c60504aced70d35806e93a695fd00b93f1f61ade86af426125776a7bd7cbe2a12fac7167a2a10b9e56ba395bac163b78bd883d093c9181827d46a0c8b7ad6863e6ab17e0ee0cce0a3764012863cd81027ec1dccad82a623275114b50df12ece2f86d7792d916d71ce643848c8595c21e4980385517e386ec547fec857baa99711d184ba4cf9ceac8be2c9dd23666561d2f7ae19041de570cab1ebdaf7bb2fae306cf409c8c2cf8f57ba19919771bc209ba03266ae48f7141bd2b70f64c47f44335c5e743af544e415c483a6e123b98132563efe6e30de2b279ad4ba82973b340c6e1c08040608f2ccc598f060624241ad3ca44112c8b19565e7c4dd4670b2251053944ef92925093523dc2717d4f2c6e7df1eb92064e132a7d9ea0a23b28db526d12f446140795743c2f7391dc756ce2a76f876e8618cc428cd60874f303a9f1ab100f6128718aa3bf458dc0fbf1e58c34b2fee3bb511699920db8ba53c38d926a84e63cb08d0ada957141f8a3bc37c80540771a9d3f1cdd7916b852f39294c244f13e4e608bb26f59a910108f2a2615e5c7b3182b132717c90d1623a463c112d4f9f137f4b2ac6d75611de39a98470422beca21aed8878dbb82ff2babe75481ce13da2909b04cec4fed5458e274f84b7e35ecafbc1498d9156076a37b93cff0cc5ab847fb4b382c03ac0e81bda1cfa735f5a116f78280b42c146bd66ca59482763b6bab90cac0cda46ae957f6afc8ba971436264814eb45e9625904c38641421d17114de10ba2193dfa0d6c457833e5038e54f580c3afc45585fbdb3862e020fb3230c0de376823c66d0d95b5a6c2f3365c6a21693c1a388c8206edb0782b919186cf4e332cb9a7b61f4e91c9e41676b694ed3f8ee61bf91511b337fa4a2773a093bcf8eda3b9929d0fc5e774d08bd457ba7a4b77108bc85b0f2efc78e43ea3bd7b14b04373bdf90937dbce32671447735e2532109972bac7e5407cad5529305090bc1910a9e11746772def60424905183929bb758e9b1e7395f7db3fb0df23e0ac81daf9fa150b3070bb5906bb336e1b268ebb4995a5b862798cdf6e4e81a09c225e32bd5864181e509a0b1a8e186e4908fc7b8006b35714e14250d5a38d40deba679a498f2ed660331bc1d359ee76b5734bf92a37872238f68e5c0bbab97128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb2d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e161cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db996234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b0fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e066128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb2d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e161cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db996234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b0fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f204ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf573150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada0d74e2f03775b875912b96ac3283964f743ad231615ce45dd019a92de7215f2623d68946ce7db09838488799cc26708ec25b07035bd4125434df12e54c43161436cfa05d1f8a964f8487725e17b706796511f163a90c2b8ed8bee1a01942b2ef3e09a008b12333de5ebf7bd7491a6057d805fa133c9e7aca1af72429de942b21129cf07917e0f6f74dfa0ea45306aa838998cb7993c6a79e3d670c4e0bc53b243080109b8e11cb95b617db32df8bfa5d6c66aa07a44be7986908b40791720e3e224aeda5e80d9f0b4b9f28a46ebada91a7caadd1333cb8555df5ae78469b7ac232d58f72831e2e497ee3d17064aeb6ddeeac838f81c839d8efe9df705821b0c73076fe23b03888b5aaa918edcd4f32c321823cc0adb33632f1e9db16cda9b5e816cba1400ff2a8417eb0331e26616363d79e0b48a9e1fdb2dd0cac344828109335ec228b923f1cd1a42a6f3beb9b3272c56c34668370cda6d49536568613313a02c507b31e40838df275347256088c2be6c44f5a2d9c3c262c5e29e6d38b057d27aa49214bad7908e314ae8987072953dee3f3a87ea3cd2203ae53aaf82756e9261118efaecf65b4fa1b74b0351e7ecdae775860bc9e355ff25a28cadbecce072c01252eefe448a5fb8656317b3dfb34be0739786282e5eb259d24126d9d259c18a0a7978fa80185618502dc0b14c3ab2f4f1031bfe3c32a72df13e78b24bef30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000133ab4737265adba2306d44075cfad0c9e6acb6ea9dda72da9dc9fc43c8b92ade3abc707a2bb38e76ac38c14d8568ba4e6c574bc16a17fbb3aa75fbb82f390a690a92657726b115a8a0266e2fdf36d09c0ec9b9ff6a68625964db53ee843607c83cdc2c4b7683675d564275b9a69041c6c23621786f57974dc300fadd44fd72402b09b89313eeebda045c4209c273d55f213a5bd32b1b312fc0f5bfd5bcb3228329e5c2de14a6c8c6c9a6205fd3e553e24821228f1f1708cf768e325bda43199f0204a7f6b57fffbab1020e0801623a9ce18eadf6f14f440f10fbab87b043936233eeef865e81a2f207d8ef670d6739015802122751df8377d9419254bf8e31572cdce1ca4b43078d0b591b515f334c8085168c2c12aeb8fcd5e21233d45d4ea025ca94980be2e1981ba2a000072a48c707b92085f6a9ecee873d25f9a16d07043a5cc72520370d6d4e50f5ae790f5d8dcf73eaca32452bb95f541d25c05dfd2322e21d79194f16318fdf75602c430a7d97784a56ee3e6777937d26cb4afa61833dc5a9fb054abea890bd41706b9085d536c1e6cd3716804b358d1cb307acd45a27ce30aa6140ca81b5457b4a8682c328bdea1d1a7c05c5168c2436ed0de4700935e0a176287c59e6af79b1e8f2f54d17d41f8e920f1670f5dbe790d3cf32db413f3c766c106b9cfde0f9ad2d389963e7f87359454cc0806bf85452d34a3663f9126ff9b8fcb1dd8706c56729ec5272957a0d79ecf260b3651b5e65deb222d0ce2b106f66f9e41386c3973b22a7bdeb2b3eb022a7631e75ed17610075da30ce19109ae5bbb117792194d4a7569779fe5a41ea138c7bf4c299cbb378ddc66b2c572049e565abc0b567ac73f4ea1926d775146e82f7d9a4945c1610b35c2ad09f8c35474fe225c4eac76d4a41f6276c55a43827222930ea9464e28c73086e748d8e2a111966b5f682cb764765f49a234f08aa6a4eecf3c414a0686d30619e7e2d940d9a2ee7bfb327c2a71c62a2be19a19aedab05417e7032de81662903c1b476483d83d8e5a6c6e20c62a9231f440bcbd84e80c7e44d8424d9955768d266d992a70f2a77b71264d93b8b37170d42a188d9a76d22df7ec87ba9c3528457bbdf3e7d3daff3ff7a417f47eae077b94c59f47e433e3fc55e02c9898168a57fa097d60a1b74cb99950a3b81e25d05a4d0c298997210ca99386bb1eab016f397f7c65bf10178409704e6b87ab9e5cab94a9115d2374f13c9490533c51e4e6b65f08b2ced335d29958c3d97c940f9584af49991fe3476e1820a0825bfde54daccc74b472f10a3e812c80c66f1c6562ad82f70d12647be0e53faaa66e329534de3ab8faa56392aba6196d9d39ab419d3898328734539e9ab56bce334e42b650d9c50c62c32278da89c44ce89db97e6a7a71afce099f83c12955cb270ff63fa11985ec09b1a1f29ecf0870e7cf5a64a6f665fb9dd0dfcf9bf117de22cea896f6bf2674c60f203b31884245e6782ba37f379e69898e0221eb40b0744b5e620a24bd825f600b2111ccff1d7319461e14fc608c4126399f460fcf9d1e8e700d29a1d1f9015700718ce1c44440170a4a3b0fd546ea62fbdf12b1604aa9c95bd19f8913384f124490864f906582c780d01891eb05406504a33ab8dfbc9bdb66abbe8fa7e265bc16113027dfc3f8e4e837b73d9226bf5b6d332d7e4fdec7b4fb8d32c9c6697cdbff32addec8dd54f4354c0fb23c29fcc53ddace374576a61e3e3636f64088b7c0c171f0fd150ee48774683daf01d25ee7fc962da7b2603ed65d283e22decb9f25da8270101fd86f4fa57c7965654a15bd56f792d1edb4fce35d66dd2479a3450c6c6191e187089d84abe964fcdc2a42213982b1022f92ddf6750ab22ddfd0ae574b4025b6f90bddf32998a774d88e059b950a3e19408726320459ef8af5a62f2726038a608cdf25274a7388b409f445024eab056844f0cdcd521562d00c5179f2d1506d2575509e70aef9f264610ed2cfa23bed1967d8dbf21c0edbaa257e56f45063fae5ee1f425ec484ff804a6e875d9b1cfbc20984032e073f5186436527b23b004435ad2ebf87c1c5970c74c92b504e30b9367e97cc6caf5c23bcc526dea834627e7be6046e1b29f7e40ea67cecfa2a517be67ad5fad4666f809da03a8eb878c0c5fa0cca1edc47138c4196d57ee81d835946f80e647bec96a189f3575893371305d6d0b1282e6713d10a8edda1a7c58d0344b3584686bc0b069a52c358ad711333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487350cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc00ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe804ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d3b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb84333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487350cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc00ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe804ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d3b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb84093276f657340a7e3410a5c94539eae8676db17fe7eb0ba3209a8521a40c74fe305a3308fad8167a9a6df2ede78645ec437fe1487d563d95a098a17834fbbd8e174fbaaf88be79d412b9672c9d372a7d2fa63a6f94bf935c8b22a38f99927d5421fb658f6072cee97b6dab3dcbac82009de512e271ab489886ab5369ed4941f1285a00ce11a94b36dc154576c2e18da65c1e0cd8522c55c5d80ad3299bc9caa932d4a80202f6396407fdbdff990a9c05c7de86deec5d0ac04fb742816f557de733ef93863762d6ff5ffc667d1bd08561d83edd7024b8dad32c210d4d928e80a71ea01fa1f3b534bb1b0b483b4eb197ea25dd1a73d6a6a00f959c8579a08ae29f3ebb03439c3372a11688f7c653af39209360c00f09fb32800d56892db26622e520aaf6b5051f3d326d1a69b9992a8db052883382d8010c1df4f5c5341dbded90086462a492e4c1fa2abc83741aab3166a1af888942ac90644a2bcdb18e2019f70d4ff5171d0778074d73f07cc46d5da5c3134d881e8732814200b167a7845f4c06d1084bbfca5b3d39869a3ea3404add0530ce569c58a507ba5a55e701b1ea9d080ec99fe943870f90b4dd6001823b41b18ce2833d0b9b42610b6338290f255c07b8bc0f2ba37c652f693c55a0f87eb13f0add0e00c0469f4241fb279673479b117baeddfdd24751c3bcdb32cd26bef45dee5b04c8c75582659c20c58c84406e3abedc2d4ed6909334365c964587bc518f106d1973a246ee23d7ad07ab5cfad4186d0222dc840f8cc337f626ed278544eadf4eb28d1017b9c36ef109c02b34a119f610d632ec3a3204d0ce1abee0ac3eee253bc7ef6cb31df90008c8240a8c461ee33e2a698e1de707996f202b828496dce852a7b2b817bb9a47d543dc3158560000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000118123406929f5c5aa0ff5fa5986536ed904506078965bf6948917a882032b4e2235b04256131544921972a448b0a427c63dbaed46d2136dc4d0c034bcc5dc8a526938ba153f2f77f7335e474a2c6b4299598ac248607dc0f8997440d0d2d92801fa6165b51c0999fc205e408ebfd6d6373b58f3e0303647156ae5374515462c93f577888abc56f9d4ab2533379d27bf5bb5a9467d6c587d52361aafdca86bb5b2f05bdbe8c166ec8b6e1beacfbe4cc44ca1c515e23e3f9ad428e0ba8f65237da354c3697945f70960fc87f871de2007cee62eb0563969a384d44c212d8a77ee03b9887407ef6e07f1c792800b3831b9c04fb09c33ae3a52129fdcf61642509792a3be61ddc045023f1e159b5d2536c3548a55c2fd57776e891a2d5357cc783d82c10bfe138e7a270bef62afead1034c9cf9e5f9177064b6b8a76ef3594d0a4652093695dca6c8b2aa6e27c1feb6356b1b25e386402bcccd652aa9809730aaa8f208ce75ccc4c70703f1950fd74079c9d478715ea071429aefb7265358493cf332013eb9b22c0b0b706c79ce6e0ae9deeb00bc19a26e25ae6ed1d2db64072aef61450ac54e76e970bf329bb26687d25bf1fb5427f815814256362616510dd25f61bcb059db9bd78bc3c1074fd9671cd50048d3e307e2648de22bd8ce9266c26aa21407d943d5e426f6abd85571bd6aa1afa1302982d935db7b3b0526c457a28972c3040f5ba887558b972adb14bbad958417cc4ebbf8e355390e7e05f61373ee2356db70ecc07a6d2b96bc881d97de828e26cd07e9ad2ee66eac9c319097ee4613c4ed6ef9b3099b9cca1722760b3aac2a39f30a54e12e310493f246e74eb7e4509a4c8664022c3ab4ce7ab10c646c064f7d677eda983e9357ac4e990dd859476381001651b3637a4648f56d33c2da4d9efc96a5a569b113723fd219e497d7b49249c45d2f95c551991c1e89d791429a3f677b8c2b2d98250039e76e360991c04053d50557b36240466724aa2b82dc55f05173d7b7dfc21f72820e2c12cd017ba2d334e31d47887efb7872616abe803ba281e38ec2f145a930bfd969fdb00d426280aaedc899061fdc7c67cd7569000cbfefc01b277ac664e0d7e190728ba3f6a1dce933e40c35c8da2c9e1fb55f74adc5a6d2c37f2896c7344f96e96cf84a3610c3b2aa99480051d812dbabd641db48990d1d2737f2a2142f4dae535755330020769b81543aa103b6ba9fa2a3a6b7036b62736857f6405ead320a04bd5ab2fe02c710043aed481d1e1838cde3e9ac151da3058dbcab29c40b9b467f86a1cfa11286f303d88152ca9a1019f41aa1a11075be80eb34b8c135f53d4c43242cb94fb1ddcc80d4846cc7559c6604170a18b230f8bb51676424ced61ced6c076271d0831149c4f2245a848382bf76e94147dcee958447f0eafd457bbc37bc09dba6622367b7b4a3482611ed63969f3a466cb3c69f599544e61855f205ad009a113e3963e45206c6a2e8a7838176475a6826f2b64ce41ec90f08722604e4d3a8c2f12d81472056651dd7595b719266fa2da4ae654e8c790aae415199de11720e8b2bd27325a032de5c955bdd4f56bc5e7443f3c532db4dfc03293d149fd27bab06ef2bf04b9b7a6470bee90c53730056a6dade7a04c368d80bd6022d6ba3fc5cdf05ee035be777d59d5ca962af1c692b38f1bc08158f0ca5b6232a9cf07718a9de981a138907ff1188c9799c259ecaa25a6832bc029a16dba35f93494f3de343eb59feb24874e54bc689a74446e10aa3de9257ddd5e47840202786a432020b63bfeff1b375a3869384b6e280f4f2dae8fada9601a1a6947fbcdd6a150bad06837ce123702fb92b96d510c4c6146f54865f3c9be8539e6198707e6f4289a53493e8e34ae038808f7e4f480eb32f153e3b97fdebc56c5a8242d4751d93c04d6b18f9cfd751b002e451aeefe90e26767f79126ffc711fe0eaaad66ad6347520094758615d63a09e96f1cfa044b6d5a397e8981129a78fde955fe6c7b7c4341dbc8f86cec7631986abda36ec3e2d7ca42a38872d7c4e61fe7bedecb5c40d364b8e368645fb718eb17b857b06dd633a6d829c614160fd2e0f1fcce4593727d740fd343b6217c02f75f56cfb15d6a256c56f00fb9c37fc2400b94feda7abe505c3f95684413d40d02b2cee2abb54732d1fdd2e269701193685e64da56c34ef89bd81d43659a8136cf209a0152316e8c8b792d96824deca9901dfce788061be0869418fad92f8404c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a04c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a3335039be7eedfac2e3ac623e673589a8852baecd7723f5e37deadf71fb908e23fa261b1844f304c485490d5e999b2633afba4d7b5b76ec065c640ecb11d4f89288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc73502405abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b320c2be7435eee615842ab384dcf49f74539f3d32437f5c2f8f4d893579b27a6808c47fcb148abf54c12e78ac491f6a12eea19bfe00af59e17e0c03f9571727aa094c384af9aa492a128ae44ff63667a3fa5c544c32b30ba23308303d6b39e800144fc8fc15d8d2d1e99cd955b641ce194bd79aa40498a9572a899348ee91fce8139d1b710d138bf6ca676cda6e13d573b1286cf0ef4ec55fd71eb8605a4da62e38e64fe9627f99fe45f550c3be3a2dc7cfc7aacd155df2ae50b48e10754f551b05ebf72ee6507c6e489003060e00f15f90f99663f1d18f1f846fbfcf1d685da735e66bc74ea782f39bf9af98be62d3ccd4b4ef86da0abac790cdd746baf420162b682e4bc6e395814eb5b2babdecc43598bcb24c9ccfcadbf643f45dd52089d92a0ef3ab6d83ffb1d3be10394abf023d5e82602f6b597ab5aa295047fc2978ec1207c54cb01b8c7c9700cecac2f2f788e6cbb559a3b6cd52d8ff945a2c43750102675903a1883b0f724b7cdaf77e9ae5500c12280b0eb3de44d7a544fbc152f803e4ed77cae6f7eaf72958b92d3673be44d848d2e38dd427584978e692236f6522a47ac9b2504d8d21fe1e996ce7f27b46f1ca5124bba342f262e527f92428e805aa6a807df52fb3d981c41dd3df7fe1e18b1d19b97b396a63f3e029e69156e914803839a4221463eb7c5037a320552cbcdf067c1e656952fe85d18c11a47ea4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012e42fd06578f7174b0f2110e7525583efbd28f7e508372df042018aba46855a109113216335763c3421b6350f986a667059d7ca2c7e5a897af0787490d5b663b366aa669c6231022d2b334a581a95240ac5d144d6ef279d1fbabce062daf247a170410836f34dec40e85de5ae51bbc20ff29d5a0424d118fc370223604a301832adea970e0fde014c67edf551233990013703e37a5a2f44d2518c26e99e511f1320adddc00d1d8bae592d99b9773817da963e2fd5cd2ba203afad39adaea25ee0ffbc0ac2cd933b9e53879f7d15b2482acfd047e2c099ded15c55a7d4a19cb21178f9be8b43273ba2862c42cbe524bfd4b1a2fa01d788bfe58779ab278494e6e193c69e05b05e905eb46f84a8566e0e6c733963b0e66cd32c488be3703425b010c2d221a9c47f3b654c651e310dff70fd2bcbdf55ade32c9873af59ebbbd2c7e2428ef15d3fd4acc578ecc299113403ee5308eaf503f375e7853272735decad8100eb879885d3795a160bb44b6c5e94ac06554f57f8926c854b642099594effd0d97b13b70c2d45209ce887b6754dad1400e0cdc8e4a386045bfeaa9821f2e493254c410091ec176484af339cf083af17d433a55abb450b831eb18ee513e5dc93844dffeda37a8485e206dfc9430ebb552dae7df7989672ae61f888c56dbb0b32f174a3e8ebd2b1638a965faa8a22025c48902b5934df6034dcf2fa3d777efc80f4c8ca9aa3f1adb7afb79ce215fc22d6f4a07fc94d07a5b925403f8877e4e1f1ba63abbed8aaf376a483ee3e2dc5f3fade47bfe8edb711685f6dd90ec67eb71082f9f24fa5de806c4af754443c0a8322855579e2de0cafdc74ecc3e5aa35b25359a8ef0d787bc5769a2f9f1e2a4e0cc73edb55a08a6eaba372552b1f9f5e4731d2ea82311de5ca1c5d92aa0c3c4252106782576b8467a288fab4ff65d936e3e0258b0c5689fd7dfb79a8b8f7b1572e8bc037be246ec6006055ec2eea543f08e233cfda75ba68f8b93689c48f4d692957ffe050cd5484e7027a17544b5ef4b1314d92c5ade38a89c25a56b0024644825fdb5defce80b04ff00fe0ebb104048c2333bed68fc87a39a10a0d08560099a8d141b5dec28b998373fde68a0b4c3ec5611ca3914ae9b8cea9d3cafc2fcf19188bd5dead59ddbccb7061f0ad6b92ffe793f092e0894bad85f9766ce58670c10a4ed5b87dffeece7b3634730f0fc9196123c7131e9c548fa27ecb5e40558e334978629ffc20e4c1879a3d5b6ae778d354e1026686665411966a3125ab55bc6a692f023ceec6a9accdd247dcd5787cffd0412add285ff5ccf1730f263f2db9d651012fbc57bdf3e80d212d9adc855de80d3191ce709fd8ba04f5ca38394e3b3c36b9e3be110227275311b849101d2aa79a33c31ae5b45ce619c92b76c482e02df0133d4f42b35e3fd91336757bd2b3bcca11c4181af782f5032808c5a4793e9ba5b0e642d4f84bd406b5f4a4cb6990c60c83f9a9ff2304c476277942a71ace49d4ec353a17caa4a21cbff5b056b8e89491b2470dd8f5582255b17304b796813a3a33468f12b80aa967aa0de8083051bc22607cec3fa01f227e3bdea9230767bd34e8beece7f883035c51977deef6aee282707df62923b6d9319021b829aebe2c5dc50a34156273bc298ff4c3942ab1d90a833f29ac54a5ec057f4ca44a207ae96d9ca0be4498b46af0ef64f1f22c359b521304652a27bba39ca0a02b0e72881023bb57e9d8de3d6a5f73761b97e4f72f69e0638d5aae3518aaf5a843d4b82d2ae4f865db27daaa43932d2027fcbb3fb118b2bd418ef9dae0648e5f68c60b6057018a80f188328b407c01b7b994db6653c8b1b0d25dc5588917cd2ac00e724d0c5cc21a1e57e96aebc033e8f20cac7f1564a2b968b6a9b741f30210efcf939fcfe4e6706dc863995ba138639b906349a57e22b968b6a9b741f30210efcf939fcfe4e6706dc863995ba138639b906349a57e21b025a04c99cf90a80587445dd0b2eeabf2529b15dd4e4480a287a62559be36e3890e7b46ffa8384b6d90fb7870f4e74684d255c8531bec1fc182b902c76733b00389b15f4764a46265d37fbed7594997e785203e54a4ba57be60dd3e0a0cf4230986754e96a21605c931e0e0a75ce89cfe258afb3c2e3fdeb2abdcbea293d6410c5d5afd370bcf8ade49a4c9ecf3510ebd4ccb8ee7dcf10fb4910ff1cf28808232f37d94e344063bf15feab6a56ff3f74133a5edf1688cfcb4d3c315617f8183b9e758ae3cf4a360111446f6309d4e0b97c76a054c3cef3055e7cbfbf7586fc04618a751c30b5c9feeebb909cf62b1f68ca225bb4892a2893ceb42d408a79052a184bb6730c730e0556562cef3128631653ed31829f2650b623ac0abd4ba2e815e7b4498cf38cf1faa9a9d310ced79d0bf2abca86add2cae30984e242b45d1912797a903f3e3f461aafaee0abf5c9ef08cfd7037134d440c32ac96eb27a2e852d86856fc0c1c0b9e550511f540a36111976c1f8981824dad602677e4d85d17c1c5f64d13c373c5e856e6a635bccf1ab09c89a152cbb2c2836a8be3c7c62e89823a09b2ec3c8c3a17a91959ca4330e55187dfee6dc91ccf3628472b0839d17693b9e758ae3cf4a360111446f6309d4e0b97c76a054c3cef3055e7cbfbf7586fc04618a751c30b5c9feeebb909cf62b1f68ca225bb4892a2893ceb42d408a79052a184bb6730c730e0556562cef3128631653ed31829f2650b623ac0abd4ba2e815e7b4498cf38cf1faa9a9d310ced79d0bf2abca86add2cae30984e242b45d1912797a903f3e3f461aafaee0abf5c9ef08cfd7037134d440c32ac96eb27a2e852d86856fc0c1c0b9e550511f540a36111976c1f8981824dad602677e4d85d17c1c5f64d13c373c5e856e6a635bccf1ab09c89a152cbb2c2836a8be3c7c62e89823a09b2ec3c8c3a17a91959ca4330e55187dfee6dc91ccf3628472b0839d1769352254da5cad22b2bb31a255d43899f5be174c33d783688ffa31918b2d0e604e3319a2a83a6dd65b246c9f7d539b67b09c3b0afe9bcc31f641e4746e726732ac3ba6fdac0b77d30417b290295f5091155d781ed0d0a66a28e5a091ccf9031fab1883d6e1d3620a99d127d8cf8f9f75ddfae5984b4c8b4ceb80eeda5649fd192200dc7170684ba2417e38eb8aedca1cd2e56a6aff581380c86bdf811f0f28633338ab21f8add9597cea5fa6e14aff79a0ca78778056771ad9dd6b0863fc948dc5013099c7421bbca98a447b7632fbea1063c21a782ba0c0874458ad52fdf9ef0606594bb5e9627e59f114a6190d0657280e0c3b7ae2cfa8856e9ffdc9874bc6dc2ea7970f90aba06a74c4e53d22866798d1e8ecb9546ee44bcefb153d0bd95bef1a568a25308ef4fb6566cd011d95d453eb241dd16fa3cb0b464cec1ba61f613c2697f7657067cbb4039df2b06fb42b1d9532a9020219962fb7e93f79fa99d9060c950ba820ed439f876d0715f7d7f440fb03a44dcb2efe54b7f3774215ec66d327dbac7a8f3f9b31d2571653c6164042a011c72455326c8347e1e836bb3c9c8309fdb75d8ba0c6d937b69c12d84720dc8602500ec10a4895a61ce74b990c6acd31fd5a90c6d219fb30f0dbf19149fcdaf9d1555d6b218b209b5a77fe343804ab3b169c7771d3981b941c6d0ab6fd329f494aa4cb1542a0c7ccad6a7eba3abce536f433566e8cd7b33978da1b2359a629da9d457a42e5842e9781a291780307063b4c9cebd2907acfead61109bc838ebcecb021895baa4ac5c5ded23f6e38ff45072c09f5e12e621f69ecc13fdc681b9d24e1003188180b6c3cb6c1770c4c5312381903dc8e52f50e1cc14b6cccab079bef044cc498769de6cbc94bdf15f679550000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000134d38a837c3ccb31d0008d1359b0a9a64be93ea3051d85315ccf286f1ea4c7553bb2bd642be089e974de366abef5f20a7d32210d8732e6aa3f9d2aa28888fbb8185d3ce819146e8a91c944a62663d5324d0ec8e3b5093bb966e3acbb25a54c1535a7ddf9dfafe62e9e2505e791a1415c7db1443d5f9b82b905c7a2f99c6270522a21f540a3a403b2be542a17ae47fc974909a6ba1e230e11725f0b34c50847912e0b961d054bf385bed4f1fed8e442e61a3aea16db3de6181921651d36a03e5f28404ea09267885de57d0f1cb73a212c42bd65cfac9e2bdc952d14ae9af07a652e32ff778388875a2fba74cc9fe067c0c6354ab58904b02f1796ffe8b60c722c2a6941dd429a3d9ef29b1d939b787bc9da273f032da283cd84e33448ff3b358b00761a5ffb2fcbf460d6ba7e6845667cd5bc08de2b6613827a101869b67bc3f422e2fca7fbae501a8f450fbeeb1e676eeb9527e03df8281e89db671bd2ccdaf01f3c657f4035741966b23b66458c72b1313727158e5593f2a17f6f038ecfe3f6143d44c98bde1126e7530c7d02e80aa735894351014e1a599f1dca56d411c1700a3468065c072d4ff4196dfd364477eb35dd37dbce642295a134560028515d8c3b87964f2dd52e15c3d51c9708767ab61265cfab20c2f3672a5842c3148e842f03c57084ec03a87889169b64b86b368382c21203cfbaf0bc8be14fd4ef98e292037f93d6af1806b31f0e236d4fc203fb68e3f84739fc5cfbc3649917196fdd4925a01c870ce082f84cc9b11e455ad59283430c468d937a71b27798aaa5e943841d8cca9069d9e814fa5ca8d1df1fff333617183a7bf08b3afa4efea32a680b7c04717f522f0f8fe94e88b4e8325cdfb8de917bfb5ce885d35440c47e56f9fdc920d8fac8e94bcc6f5e871b425763265f2df5ef84f9ecf023b00d5b7c152d58e01485243595ad2d87b783580dfb27a164dc80f10ff585d8156de97ac8f24329a519cd712aad411508542327b7c509b61d5bd7b0c98f2dadc49674b712ab771fcb224ee261cb0ee963c25bf266004f2fef038fddda2795d5d63e43e7010ca0ea85220e1db3a77a9a770dfdfb52434e5358fb8ba0efcdbf288ab0749ab4e5b13d442e48677c538c2a5d2a567eb9ae081e21b69a70ff273089c7fe0e00305df37b991ede4f954c6e4a2485f43cd2a4549195a96b3ac967a69fd9162f12c3eb7570f705b7e0c04bd8d313bca50de0d8293e1cdf547f03e4ed83170342157c46ec8f4c1c2365c9a390809fad29237f7549e74527212b7863ddea62398edae56e68c8a200365d2af802cff3e572da37f9d076118bf5e90d64e973a4d135edf4ff0cd927164f1f5b1b50c4e7419fcbee4fd2d13ac4d8c63679327a978d0666904b9b8c283d9ac2a0424639d3f9352e1e2a532dccd01db72f9cb9c90732a2e853a1ae02273b51a03ea92f860b21c79a2bc9147d68364ec12a90f71209098e0e992ca90520285fc89fd105ed58cdcbd89aca5ec53971254cdee4e992834883bd03b350de993f31700ef652ca69839d786bfd0e60956c032b5a6044032aa3801688d2ff308d226a8aca2af901bf68fa6d4546eca7caa71a7721fd4fa19bd90720990606ca9e05e0cdf348e2d4b44646be08c3fd9d1defaa55ed0fc33c51f0f0c357396269ba074c627681d12f0e1d653b1e2f245a59e7b916dd179be5138feeb57e34b2092326d39060804f4f81cdbba75c35192719c7f2dae81b6b8936496b0435999d8bb71086f93e6ca145c240fa1c92caa1f56effb84d000076f02666c60a75c7b74d001622a96a56dce4570d7ab4797cfc7f2e9000623e4dfe44252503e942eb78211f01e1540e30d178b09b46eef10c1aed0ef59170575ec6d7f42f6814baa99effa607023fd99e5207810d3b551be7f812273fbe385b09a82eb5fecf046a08aa7ba21b4fdbd72e39f16be19547dfff2c015792b678d4dfef915d0d79a4a0022529560c98847befc09d3da2413beca2988a11e345cde9bd55b1b6213c0a36b5ef716210f5cc06410726389d7ca8900d2abbba6c823433be0a80bcf986514704504e561d628d23df3fe824caa0e6642fc923272d8cdb57d0b6b8cee1613a58c5090a0e08965a50132a399ea93bcdbb7234d07a4ed3636142e33ea1bb464111c863f1631f65c6eed6ebbeebf6c87d9a240f9cb8af287d211895f6583bf8ee5efbb1d0533ed2b0faca6b9cffa7a37345e12a136751445f3895dd0d5e8c098f5e23aa4f812668f72cd19bb61bafadc0b19db3eb2763baec2ffdc90835dbcf92ed0874b005199708d32e6449e450523f4e624c14d8be8baccc0b83f0e5bd5d9dfff78b4ffc000cd3e0180a8e8a6e64c378148397c48bd2d1fbd9063dba7f864bda2a4770163ff32c1fe7f57175919b3c87eb7c683b9673c7003046bb6119a6e512d5b88feb004023607834c8b427f7d1586691f6d6bb1e19eb3d1f34a47d9f7b42d365306e3fbfdc9f87cb374bd8082ea7996e092967287f10cc2dc4771b8db5aa2c9acf930140b0e25907eb84c7d716ba00d9d231a7968198319c0736741d684e20f9f2263ebf4f1da6f8147b3828e945ff262dce7ab01763d7b0f1e5250fc89edf060ddb2668f72cd19bb61bafadc0b19db3eb2763baec2ffdc90835dbcf92ed0874b005199708d32e6449e450523f4e624c14d8be8baccc0b83f0e5bd5d9dfff78b4ffc000cd3e0180a8e8a6e64c378148397c48bd2d1fbd9063dba7f864bda2a4770163ff32c1fe7f57175919b3c87eb7c683b9673c7003046bb6119a6e512d5b88feb004023607834c8b427f7d1586691f6d6bb1e19eb3d1f34a47d9f7b42d365306e3fbfdc9f87cb374bd8082ea7996e092967287f10cc2dc4771b8db5aa2c9acf930140b0e25907eb84c7d716ba00d9d231a7968198319c0736741d684e20f9f2263ebf4f1da6f8147b3828e945ff262dce7ab01763d7b0f1e5250fc89edf060ddb3c5f354a6809f5d8fc0d754f10b0845dec5a231524772141e6eba5461ed414fa0552acfb4136a8687c086867198f336159a70e0de3347500c25c57abf0d8fec11de7898ca0b76c5ccf8ea31d9866d81454a22428dfdbb89c3b361d9f92cb085725edd8763b0e9f24ec8bee196162f82280e8709816f727bdb7fdac9abcdb63e008c7b555318919d5dc5af54032db14c42d3b03e5c6da0acdeff1c4049a8c0e8818bc055d9c1822aa97c996a7fcd1e10b89d1b592cd61a5382a14555a6f8e4d0f294a577e9503b60ce89e9d24627ace98b28e46d4b5a68e61e5f5528b080e8d953eacd683df75054ab0096eae89c20b4d486c615bd8af5e3dac4db69d58afd4d104bcfd0fa8cf3ac0b020ffceba3cdf25b0c45c6c39ebd3a2146c224b8e6addc51a137ce5d66ea47c277f41a0ef9843a543ffa6635ce1ee6a09025f8ac86a77b23e55bf2d574ac1491c1e40441375a8282becb6ed86fd8e6765fdfcad661454f027cbe839d76ad37702a583ccff14a5c749ffa2b834e0662e336e11fc0e66ecef34bf712bfc809a59b8ae35444e2b5e24c383a5cfd3d1ef69806c0c3b0af6edba16b5d6899fd3da95897f819fa5f2c35b47bffe20922c883fe318d2ce5ff1feb124458b8c4b01df74168255ac692a22dcd20586d60d1f97143daee489da2f40e92da5e628dd35fd14a78b640b240e982aea9dcb59c1edbe6d0ea5bacb36b14f1b0a50ad0e893ed8ebef4c59386c71e4881e404411d9753de2b204b17754624d391471350ed6f4881faf1898d7160f59887e1850014881c758eebbfa5a4c76b7821f5948943a4e59bbac53d92b59e935ac5b1f276828fe926851904c6d6751cae117af5e9c37fdff4c56039604e42ad73a6bc2c436d042b7dde5660228408095b8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010edeab38f1971996ff1f14f390be962751a03dc78e7caf27ae4fd2aed14813b318e64e98c93f296ccbeeb12ced015add05c4ebbe52dcb64a410b44993a02e16e1fc2f211a97311549d166c3740dbb5044d0b8b4504dae697725ba86ae4efc10d27b543ab324999e1dafa0b2c810f9c0cce680bcb7994d7beca20912a7be854003b31b6e3545e992c5c634a50a57a8ebc1304bc47352741b2a3eea30f61173875298e47288ea5fab5828d61208a1896012768bf172ec42193764e3586feef1f2c16f5cd032bc97910eab6e5383a09ad34695e5c6ccd882fdb70d8906b4a3e61a830340db92238d8543181a49243750b91e31a24ba60b6a1ce801c0986b725f2811c1fcb2347f08dc4f8a7073c63847592647662b7d10b650be809889fae90c1112e87c98b1622d3bf0a6415f7fba67191cd216913956ca2f8fe7f5198c0ae69b329c690dd8eb25e8c2b3109649439fe12399afe6cce9d0dbb84efc6eac81b597b03ccad192e22f4eaa500692f290530914a1dbe700f5114a4c21a7ebae6f7d1b7032cd19e66865654af37c23141d8f2863f0a08ba6a380fcf7085c9e9dd5d074028c7ba62ce135c6dbe8a44123d15de23d28c38f51c6d7d075b857602e530fcec15cda3a0f81702c6398099e1b5850dd5a811208f34f222759a0d7b3a1cfda507118b1a0b17cc2667e827294ae4415aed0b8a3148acb590f99b01f402c6358c0e305cf55d605551233bd005e727de7f97ee7f5c2d6f7c2a937c4460ecb15b800339543795347b130094fba50093ba818a12b5b6a6cacaa5314fc5e13251efd5ca1c11034dd25eaa7196c4444425034b11e44ae9c3723e66bddc7db7774d877a9c1f73c95345fa6e787f7c2b44e5ffd5a513cd6393ece62298ff5a041b7e5afd09265e8b0c58506a023123eb603933fdba86194eedee2517c2747babf2fd3cb9d130fb4deaebab4c1d2656e7629f7821c8cead661b68c4ae05ea11a88541d3e94e310c4c5b8851e7cd7bd87e4aadb5e0cc2a588b71444393ad5daf1b27603380883d32a11bf90425f8531b6be4debc0bf4f577b7b7fd05066353fb8e4fafb7205b1c4236dc7cd3c5528ef721296c4dce6168b1b824cfd2c35b45ec84df6ddf707a1e0c815b188de296dc20d62e92e2a900823d7a9a94a5dd69b5211563e4ef124e0a835e5c5de53c46d557b95150200905c1c8423fca19a9b3f97662fbfcef20262e248bb8543966adea21a5715dcdcdfd0a3c37937bac0000f8b1870784aa342005af040c716ab5d5847d6e58b226f2600df65a278dd68733728fd5ebe7f81d302837e09a707c89a85cd5769b4cc2a47e456f6ed7bf6a81ab0d9cef30205699f809cb628dbd1550d14612ec013d86c70d93b8372b3d9432e781f1ced7c26de41718ad8ca830b80a200a5375d5a4fe75c40565ca8dc6e6a9d7716ae5e781192ff824d1ad2d1f2aa16d992041e461925c49114de7715482a86c7958286bf8a8a0492d231df430370e88a0a280936cad91a7369b3f8026517f9d61b03ff8e193fc74328230564c30e6fc6b954bddd79ee4ddaeb34148f36dbf323d2a0df967be0ac40daa9ce1408bfe75a0b163334e0e86b52f045a8944f772815368a4ca9405b273254bd7b417603b5801429ff28ac6aeb3d25a91b114e7d731107bf7c7bba544161ba2902993266165b67bdcf8ef166de28d8e0a067f78a72cb9b84ee8aaa68bb62c7d3d1cd6f83d7bb20d8819e2e13296e52433b790f9a1234150ba3283a73a591a5dc5710d414ebae2053298f677e16aaaa736da361b16432769d52591cb538e0ffcd8352caff30075aee5befca84eb288b9d53093fbcc2317f9b6315295b11f29f5e196e06f2de5393258ceed9a22c41285b012b0e4d956baf85351f4488150128df2c9dba3590459b507bb8014706b3106c94c9539ce4ec847eb77a5d328fa3b211898722ae7d8babed29d1764cc6605391866090f202552d24041cfb91cfa1701a62ac88e615cddd00e7129c8e094b9b1dd6693b545c50f53b6bacd62734e066f3a1bd54470ab397778807b88f73cdddb580cde7f5cfb96fe659ed9b0b2c80a27ce46ec5bffa6aa28634da8beaedf704beb35344ab12508bff28884b212d023d356730bd2f49f0ad1a8eb1490d647b748e3a8991ad41b87831197701fd7f617d6a10e137c52fa7464abf6a9d789471be108c44fc8907483265359b726a350132dfc867ff5f8723e99b9febf22ea08edb70b1431a14feee03a9e5937c6a2ec3f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da7132032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb0fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf2363f5ce32610798686b21149a90294fe36acf6845db3e882688508e135f72bb03e00a31cd9ef8679794deeb656fd6b01c97550149e556476b314244fb708d44fc33cd06fbe525fa0a17a56704d0ce8f710d7b631e45e56a79c3477a259d3da7132032f9041ada05f5e85a98fb2f31708ef4a906717aaf6517f64b58e932c258ecf30122eb79bde232763b03181408cd353ad749585b27d619ea1a1680d234435f60fedd1486421dcd89c4fce7ebf732cac74d2037656cf977cf78bc8dfdcbbca0b305ae9960b56afc4f270f78642c020a1fc7320a8608bfcc65c9f757ab0550dcb0fa51669f4a9503b0d8f0879bd3fdf5e25d37853a8c0fc553c8dbb724faaf2362d98a19f0b2c4e856b644d3f30322f64772fff5be41e50cca1aebdbeb6317c7a0b3b8e7d3d25ea8a04f66d4e9bf09ea1fcf3625db18f9380f3304d511417d4821dd1813b075f0736229619f2c71ab50e881ae94dbc753232ddfefc2a94aee1970af7aee562fd7033c3b98c876b58fb7c84b07dc44a49a8bec2426b6aaf71bdfb0ec503d40f3d93f6360aff7348490ec82cd6416b19d7e6c87facd7c295dbbcd2136c9fe77f2420e86c6fb0430ca41d906c1f2a0b7cb98ac737a1c8319845450337409cdc252ee657f923e824fe5d13a97e685e7c553507fc6877eeba39a3877d08287ee79dec0cfd42fb5f2671458a88e509459a4d35243e8742d2ab02e01db316e5c8dd5c3ce1af89b4bb422da0f1485b8bfc92fa58022baf4bfe36683994f320993b74c8f9b1aed2e4ac985e2e81230eba629c3c9da4b935f19eb9ffe2a9720eda38d698eaae9eb161b55e851a03a13ab0245dfb79ab64db02c1ffc80d8307104cf003212b93f495e29b5b90f0f8466f80c8c00d79d06d188398c30a2613da3689ee4df5ce4d3986541b806b931d2aa739093ce8ff31a3d5414efda74bcbaa067efc91c3784a2c4d7f6a83c66d4032a6ba05d1729e693e7ecbd5ec78beed8e1b621749a1e8ffa089b5c1c8f0204b3e0f8815e35116e917aad9db6ba7c5494a0fe1744cd550277f1d003c57deb9514341139c2e3f82b2d178afceb69237fe8d120454d4c5d4b0428ae3c8324630bfcdb3af8de40e7ca75755e4785d1df23805039a5f06dbb8c46e03a51c6167d361fe5661efc5d3836d19206cb60d0a7399aa278612e40daf0e423ef6871cae8dbaaacd3925ec3e3af5de2e9df3494c03c57314d2d0e26f45b02f854545081d0a2bdbf0c7e9a5dfca250954446abb7c3d87c30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000116d2b49825dd3ab20d73123b0a0d5456ef83c81bab853d644884cde8004f69680413309c33ba3f33d2021d9a8b15c93518d31440feb9dd0906804a09e6edd5ee36d573712bd057fa9f234dacd88d21cfe4abcee6c63aa5414deac5deb8bc49483284be77707e6c770fe9a2fc4d64db76d257a358a91bf9c0d66c1585fdd291a122b368bb93c2714afd79eeb4013fa34998cf8f2fca4bd051feaa9880fde161920ad686faa971f66331da7d0c1971b399dfa51518d9d5daa8729a7b3769d9254130638b5a712bc8d2b1093ddebf941e16110de2d879043e43e31518b79ee85a9936a96f584f5d467dd369c7df1884b6d853c64818b16795f8d704789391e14897118de77713c0234fda7a528aa97e7f717504374b2e94fe80becc84af5e7b61ae1cd46f4d978834e134b989738a0425dc59248d4b2e4d2dd283d654dfbd154b582fc0177f5bf0d3d41007f58fdd59d2b4804cd3c7f5ff1c50df55c69fec61b2cf07b29d544d3816f75b5f10d5697d026e51ece29c68da2ea76da3438a982f33873924e606ae6be1c0f0a1dc7c96dc447f04c16693bb9e6ee00fc4f44cae29367e1995d4eb89a3b5a32b1a597cb07b052e572305f0908b58a8620830adad3f748909337768aee711b75701f511b82927c213fb0247432e86969140b7523e2f6c8817cda2f2d828ad5170bc7fa2eb46b578d9565fbd859c78d9dd5d3aa61446f95a2ba168ddd19aa47cb74fd3556462544e3ff5f65c3b4006ba6a9eb639acd3208f14d31de8e9f8663b75cc1734c5096c60f334b2c1d52f1c056467f9198b38493c1f00c19c4208f588c010516971c3b45e94a85a5c7939009b04f49b521632d9b71512ad16ee89254058ec8b77ba0f97c4cdf3e4f412a93544ce2ac643aeedc06e001e808dc4780fd8511ac902c53ab3e323633a39a97c347263555895a27aa0f00664d79e9a24198c26c47ff96e15a21568c1db477a6fe2555f350efa258f5a901df50b61c414708c179a859eeb823a63484fa79214e607e1bf32c9e34fe026fa3d954893d1d2895bc98173df2681ae407b623287c03ecb2b72b397a109f5caef2f849f9e859f4bae3591401d4cc7362511b1e9dc4f0dbd36ae3b438121e5b86e2c326840f5628298bf9b28e6e7d84704d9752e4f0f40456f565f77dc1b8e9d080ca7e8955fe335b5e0786243877d73e25c411fa86fb7a199647391a5004e9c0525bf2ca9b4c72bdb2a060a5c7dbeaf0d2051e14df92b4164bd54669fa9aa74ae31ea0654054ffe7c924fda01d15419f92611e31aa0ab49bec27788ccdcd1daff14792caae5beef6929961214002d08305f8a715585197ac4b7d318ef9b230b152ea6ea86796159b2574d60df3f83c27bd3825493a7d3ea602dcd945d8ab67e42238c39c20c66c9441e31d9bdfd9d684b0f6b1ebf0758ed3dcc9a3f3dce9f9def0a0203512d1fda6ab509309b430f8dea32b2dbbfd6c9fcae7be33582181fa5890b683b94f3c55961458ce5433c0a1e28f34e4be16637f257bc8355f3bf7fe05e053cb935284ae420fd984be2faea45d81903d796951de0eae9b37c9d1893b35e32fce16fad27d74a1b381dda757246ebae41185556450479b688d59d06495b8002f6eee0163f2f4265bfdaa8545084f6204b64ec553f557f0118e580b606ba212f4010d6526661d6eee1831d319013c89ea9d7224ad1c0f7e1421412a93272ea10a2444a8eb6517b99a76af2f866e22af7510b04f5264773b705e4fb8f39f7cc246c473dc28e447f8d5926dfba629740b9dc09c769b5ee3a68533645f5d0279809f863ed87196da1604e766b3078d8dc543e79f836f8f2d6b056262544daec6215bf0bbb58eff402277907f7def72a7e1a6d362753fc3ae20ed02959e3652b521b63913a6696829c7770304a807223138585824b275c9e731492f654cfd91310222769d138a933907132e6ada407b9c684ab8815d0ee71c23c064de30c2c66a20b423d16a03ff3637fafc1d41034fa5b5bc33b4804d0313af3b6bc54f801f5613625b505292a93131816f4570e8949d781d8ab2a98bdf35d4807a468504b0d5c3e61ffe70bab91ead06932e84888e7d1974f4e494875be1da1f2f7993473642d04a7303f13538a35703ef31abe4fe949efe3629ef01756d5feb28379e6334d563fdc6402e01b99e4b582c0ad55838226b328a065f4e848f7fd7db90677cd238c19ef3de1554aa9186918b76adfa8330c9d547ff9055e657ec58ba2a870f4912b0175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f153e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb6938b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d1b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f436769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c20175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f153e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb6938b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d1b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f436769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c2077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd2a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e3ccafc6418112053d1c539dc198ca765b3a8d0cc38d47492143067a7a046f720305d9e4e7bb0cfb3b7ab6f2a16664d9d00ffe6e15a8f452fe648d4b20ee2b079238f873bb34cf0931974a0a3cdb84d2285db86706741a6261c4319536e4a332a1548f9594ea398ebbca8f3549b332b0d60d3199435d0970ad13488a817d0ea051f98ea39d9df66b47bdabe6dbba12fe63dc6564dda2de55d3718a0cb2cc3c6e1157443dfe71e04e9d89a577612b80babf2ea290fea16efe84febac0678ab0f733e5b15cb986cd16bfc59a8422a386608b64a6aa6e6b8048d5e6e24a8f7e056b71b2b04fa9616f2c0de627b00499e4eebbea678747d9adaf01350cb93b04bdd8700d3ea5cdfd0513a9ce2cfaad0533a3b008089190fe557b9a14f31780b648ebd107208ae9bc3e80a80c93fa595de0cc896db3770f5566d91d2ab177867cca0d82f2439f2910c79f9e6b9dc70a61d1febc0719206e99818c6c62dea3cbdba855b1b58a71ec853145c005ae74b7a4c3c7e16679467a8ef84af2bd0728562c3ba2e06cc4ed99724271844b6a2615bf0863328ea7701fe280a32e12b4624e53982dc0a8770d4f44f3d3d99032464759be9a03f7124d389c7be11bc62fe152c83f7bf19a34deee20ef0023224483ae72a380778b52431165331bdf0dd06c73ae43e6732fb5ea4e600421789701680c1d7f14b4265fdc5eda01741e3daa40452e53bb2119ba4eb1a2b43cd5657479a405d347911bb0901c675417dcbf4fcc91b1f83e2358022d1637ec8ea1dd153bd856d6de8e57e3b523572fb1b342b1fc191973fa40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000130bf29a6634f560fde5e40ffede0417c2a83c6ed2e5af1ea999b805ffeeb3d523f1edd077cd62d3d8f0ffd89a2aec4fc5546d46d5589db03b011b249dd9367e9233c727b7fbc9ff2d62fcfa168f9681902164258895d562f5c6e31a41064cc1c11fcc9dba663bddd540f79652443cc2c35d16769499903b960247f8f293b47343622de465ec1f567f0e06648e56cb95c1d8d90dd3be96c5d60654dbf23d4c43c3c22132b90884316fa9323e0198b1abacc3f83cbd2bd0bc11e36544d8198c950282119a3c3f90c63fb15f9f89851adfb2f073feef74cb32d7a58979b355a58281ff0eb33e257b3447f7dabb5eb32d53d2f6518ae5c1bd0ff929c71fc549ca6b3214ad88745e9e16c1f48023461ed3146631b553537e0dbd2d6b949839a2126fe2bc49c01240d453320929b570fd266c6f3ecad8dba4ef35c41c6c5aad76a278e0e9bbc9d3eef31cdf3322a72e6bd85e3cfe27a3c80cc6a40a827bcdec9e34f361b638c7359463385bc877c178fa8207bd7ef3d5aa1b3fff376edce8eedea992c21bdb12a2a72364fe66f080488f9102b7dca1ff78b95293c2215e96e6a97e1391693451e54377e80b81bb465da663dd2d59e60f7f24783b3bdd1d5bebdd463e41f964ace2d615cfc3caf0d58dc640e0343305f1f192cdff2046a08aa455618aa37d5c6292901514b82e4dc52515820882d7035fbcf3d5da82a0c8b01ee13a1b21637ddc1e0924a016756d59de646d7a3a4b6e4ee5c47334dfa51b4cdb3116c9a3e52caca6df550afdfc2705ce43f89660ae8481b38ad61967e3988ea19dc1a281fd2fea0bffbda97edc8fafed604020158773c3c7a7e7dcf0928bea7bde0a9b31e2a55b9f74b931e694915e8518c8bac6ed2407d71cb7cfd1aad76741577dbb5324d62735b355839dfe317b5263060a88750e7b6be8c8b023f0357c1f0a1acd30e7c5ceeb7e85297077b95343baf385ac060bf95cccd0e6748a88c42fd688f141039d5e295c08df736d6cf71d4c2b148583f40389983d0645f0ef41c4174d1d01fdeca1f88aa16defb3e6424f774c2a1536d93ec6425a8ea3f41b8d34785689f09dde656804572b1db881a569beac2a23f019c4273603902ff4746c1c133af5c396c73158121210bfa3a901dbc42476f8faf030027d5b1b5b8e293aaf6fbb5ac2b4ef01b78b85f39654e7ccc4c59feb23cd1de1d2afef05152dcf9a9b2e938221741b8d8896013f13aa58f935adee3a587e00a47f0cca925d43403038474440511ca2c1a66dae9f50c9089ea9515c77fe3f05dc0c69e3f33f6a881c75eba410e3351da91beab35987a0f7a040d831092a201eec7590bbae3c8ad4aadb38744240781ff9f6e59bcbc53e45537d4bedbe579f40704baa101da847403cefd0273f700f820b15b6360bbd5c2a607df24e83b10ba629d24c0ef8e8d7d4bb06ba138be2b8e1911b94f68a8cd0c936a8bd5c3d09f1f504deb578cc126e3e408ff0963c32b13e2ed16d30a309c0c5b52b25f6b391b1b3d85cba5d21566f201d56545ddb52740573f2c0c05188ec27dca1ca0b91d12565119fbf46f9caf53f27f47661660359fcb4d0173c7def35f67bc7dc05b1a49c12134ad66e2ec1d0b65632cb08caa0676f0aef44ab7a9c69cad813f34b09ff7425816506b77d8908bfca0d6eddf07355b0ca891819bc7304919bbb45cac16236ccd896216f9cf650f5bc4978966c21ddd415a5e1d8f6b807d333dd7e8e02c563a862e76805fd08d56aa265074d1651140f5cf6aaeef0f37def30ebd3e3f5fe79e87096d2d1b23df6ead70314883ef0d4a2e2aa81a9663148dc71ebf5f46c261b10267b455537aa28efc05dddef75a399710a14b1c0162a414c6291b76ef2267fffb9a0b0d7048b77bbe12a0779b7b3474f14bdaadebb11a07d65ef0d06dc75e727b78aeef75bb8672f0968addb04422b825895c3a52af2816239383298ed56f9b3d93c43bfe6b86008175de56ff8020449ce862a4be2a4b36537d1f8415aa870c0b1e59f5d76cb6d80fcb60899cf5249a9382222507ebf07a6e909432f39b52fc087f6eac288d4cf7c78cf90b91d61ed71f699458c0beac0e4a8d0e3b0631f3bfa01b0e5c1609fc22859b81d843a5023f09567081e45083f2daac459a68806730888df5cb9b6fbd2add789fd333ca0da6f1bc399fa6e833d2d842454de11288e3fd88b5f2658b1a852c7573e87cfa06ca977ebe48f3c136749137ffb6bc774192bb42b2a0d0a719bd5ad6d2009aec0cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487353fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe800ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb8404ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d0cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487353fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe800ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb8404ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d305a3308fad8167a9a6df2ede78645ec437fe1487d563d95a098a17834fbbd8e093276f657340a7e3410a5c94539eae8676db17fe7eb0ba3209a8521a40c74fe21fb658f6072cee97b6dab3dcbac82009de512e271ab489886ab5369ed4941f1174fbaaf88be79d412b9672c9d372a7d2fa63a6f94bf935c8b22a38f99927d5432d4a80202f6396407fdbdff990a9c05c7de86deec5d0ac04fb742816f557de7285a00ce11a94b36dc154576c2e18da65c1e0cd8522c55c5d80ad3299bc9caa91ea01fa1f3b534bb1b0b483b4eb197ea25dd1a73d6a6a00f959c8579a08ae29f33ef93863762d6ff5ffc667d1bd08561d83edd7024b8dad32c210d4d928e80a720aaf6b5051f3d326d1a69b9992a8db052883382d8010c1df4f5c5341dbded903ebb03439c3372a11688f7c653af39209360c00f09fb32800d56892db26622e50d4ff5171d0778074d73f07cc46d5da5c3134d881e8732814200b167a7845f4c086462a492e4c1fa2abc83741aab3166a1af888942ac90644a2bcdb18e2019f7080ec99fe943870f90b4dd6001823b41b18ce2833d0b9b42610b6338290f255c06d1084bbfca5b3d39869a3ea3404add0530ce569c58a507ba5a55e701b1ea9d117baeddfdd24751c3bcdb32cd26bef45dee5b04c8c75582659c20c58c84406e07b8bc0f2ba37c652f693c55a0f87eb13f0add0e00c0469f4241fb279673479b186d0222dc840f8cc337f626ed278544eadf4eb28d1017b9c36ef109c02b34a13abedc2d4ed6909334365c964587bc518f106d1973a246ee23d7ad07ab5cfad41ee33e2a698e1de707996f202b828496dce852a7b2b817bb9a47d543dc31585619f610d632ec3a3204d0ce1abee0ac3eee253bc7ef6cb31df90008c8240a8c4600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001235b04256131544921972a448b0a427c63dbaed46d2136dc4d0c034bcc5dc8a518123406929f5c5aa0ff5fa5986536ed904506078965bf6948917a882032b4e21fa6165b51c0999fc205e408ebfd6d6373b58f3e0303647156ae5374515462c926938ba153f2f77f7335e474a2c6b4299598ac248607dc0f8997440d0d2d92802f05bdbe8c166ec8b6e1beacfbe4cc44ca1c515e23e3f9ad428e0ba8f65237da3f577888abc56f9d4ab2533379d27bf5bb5a9467d6c587d52361aafdca86bb5b3b9887407ef6e07f1c792800b3831b9c04fb09c33ae3a52129fdcf6164250979354c3697945f70960fc87f871de2007cee62eb0563969a384d44c212d8a77ee02c10bfe138e7a270bef62afead1034c9cf9e5f9177064b6b8a76ef3594d0a4652a3be61ddc045023f1e159b5d2536c3548a55c2fd57776e891a2d5357cc783d8208ce75ccc4c70703f1950fd74079c9d478715ea071429aefb7265358493cf332093695dca6c8b2aa6e27c1feb6356b1b25e386402bcccd652aa9809730aaa8f1450ac54e76e970bf329bb26687d25bf1fb5427f815814256362616510dd25f62013eb9b22c0b0b706c79ce6e0ae9deeb00bc19a26e25ae6ed1d2db64072aef621407d943d5e426f6abd85571bd6aa1afa1302982d935db7b3b0526c457a28971bcb059db9bd78bc3c1074fd9671cd50048d3e307e2648de22bd8ce9266c26aa356db70ecc07a6d2b96bc881d97de828e26cd07e9ad2ee66eac9c319097ee4612c3040f5ba887558b972adb14bbad958417cc4ebbf8e355390e7e05f61373ee209a4c8664022c3ab4ce7ab10c646c064f7d677eda983e9357ac4e990dd8594763c4ed6ef9b3099b9cca1722760b3aac2a39f30a54e12e310493f246e74eb7e45249c45d2f95c551991c1e89d791429a3f677b8c2b2d98250039e76e360991c04381001651b3637a4648f56d33c2da4d9efc96a5a569b113723fd219e497d7b492d334e31d47887efb7872616abe803ba281e38ec2f145a930bfd969fdb00d426053d50557b36240466724aa2b82dc55f05173d7b7dfc21f72820e2c12cd017ba1dce933e40c35c8da2c9e1fb55f74adc5a6d2c37f2896c7344f96e96cf84a361280aaedc899061fdc7c67cd7569000cbfefc01b277ac664e0d7e190728ba3f6a0769b81543aa103b6ba9fa2a3a6b7036b62736857f6405ead320a04bd5ab2fe00c3b2aa99480051d812dbabd641db48990d1d2737f2a2142f4dae53575533002286f303d88152ca9a1019f41aa1a11075be80eb34b8c135f53d4c43242cb94fb2c710043aed481d1e1838cde3e9ac151da3058dbcab29c40b9b467f86a1cfa1131149c4f2245a848382bf76e94147dcee958447f0eafd457bbc37bc09dba66221ddcc80d4846cc7559c6604170a18b230f8bb51676424ced61ced6c076271d083e45206c6a2e8a7838176475a6826f2b64ce41ec90f08722604e4d3a8c2f12d8367b7b4a3482611ed63969f3a466cb3c69f599544e61855f205ad009a113e396325a032de5c955bdd4f56bc5e7443f3c532db4dfc03293d149fd27bab06ef2bf1472056651dd7595b719266fa2da4ae654e8c790aae415199de11720e8b2bd2735be777d59d5ca962af1c692b38f1bc08158f0ca5b6232a9cf07718a9de981a104b9b7a6470bee90c53730056a6dade7a04c368d80bd6022d6ba3fc5cdf05ee024874e54bc689a74446e10aa3de9257ddd5e47840202786a432020b63bfeff1b38907ff1188c9799c259ecaa25a6832bc029a16dba35f93494f3de343eb59feb02fb92b96d510c4c6146f54865f3c9be8539e6198707e6f4289a53493e8e34ae375a3869384b6e280f4f2dae8fada9601a1a6947fbcdd6a150bad06837ce12371b002e451aeefe90e26767f79126ffc711fe0eaaad66ad6347520094758615d6038808f7e4f480eb32f153e3b97fdebc56c5a8242d4751d93c04d6b18f9cfd7531986abda36ec3e2d7ca42a38872d7c4e61fe7bedecb5c40d364b8e368645fb73a09e96f1cfa044b6d5a397e8981129a78fde955fe6c7b7c4341dbc8f86cec7602f75f56cfb15d6a256c56f00fb9c37fc2400b94feda7abe505c3f95684413d418eb17b857b06dd633a6d829c614160fd2e0f1fcce4593727d740fd343b6217c36cf209a0152316e8c8b792d96824deca9901dfce788061be0869418fad92f840d02b2cee2abb54732d1fdd2e269701193685e64da56c34ef89bd81d43659a8135c3976d398f747336feaa383f3713a35943f3c4edb6b1b51af8347c453c12f50a3c6892c6708b8cc90155c7c0c8ec5cc902a5371b9647667e34fc70bac3ed0c0cd1f5221fcd464012f953193c13623035395ee87f5d941b222442b95a2c5ec5332e0adde032b9bfed06ace6c3ec9dcfed0d3a1389ef65007708ee33a5d3a13c0019c9aa9f025f405ede9f7e2c60eaf0e7d8418e7386eb6c11881cb1c2ddd9d83fe6365560fda0bfa1216081d39f150f3a6e576d95c60daf87a5143b3d2226290080f0551b0bdc41da591d76dde496b4873947c841a2991c57a88f78ce5541383f7f0faae4f423be25a6e289221b694b9b0d5133c7aa5fff4184a17431aabec935c3976d398f747336feaa383f3713a35943f3c4edb6b1b51af8347c453c12f50a3c6892c6708b8cc90155c7c0c8ec5cc902a5371b9647667e34fc70bac3ed0c0cd1f5221fcd464012f953193c13623035395ee87f5d941b222442b95a2c5ec5332e0adde032b9bfed06ace6c3ec9dcfed0d3a1389ef65007708ee33a5d3a13c0019c9aa9f025f405ede9f7e2c60eaf0e7d8418e7386eb6c11881cb1c2ddd9d83fe6365560fda0bfa1216081d39f150f3a6e576d95c60daf87a5143b3d2226290080f0551b0bdc41da591d76dde496b4873947c841a2991c57a88f78ce5541383f7f0faae4f423be25a6e289221b694b9b0d5133c7aa5fff4184a17431aabec91b9d5a2a50c6d8a61acdf312b101a31352f3356636139aeb9593bce4d5ce2092004c37cf170d22355a2c252313a00e318136f39a3ea0096dd1ef1c2bb8c26fb52e1ce4971c1e0b0f5cf880c34677be686064dfb780006722ceac044d1b699bd630724526f7075051f9dcf819d0dd085d38ff955432016255920a1f29f6b253f6124fa4222dd72f1915236539fcae7c6c437b740532a9d5c4c9c0def701469d4a2e3e451184f1012aca3957feca04fec217eede73f36d418395fb4f3976a1cf61156d4f271bb775c24e7b1c68d1e806aeb4a7386b15566f14fa5046f4859a11a53fbc97262e88799cebb348c6c507e8a75cfd14119e2db324804f4e5fc00e5be632a9a16c0b34a150487ef5b28fcd4137e0749f865de0ab3d46d50d8764c521c43f46156ef5148f5dc5ec452fe433798b8d145e53ac482e9a5b719ded9aa13bbf2b733934353e66b96618916303f2454d59b5984cff01e0fc0b4c03285a1892b70326eddbf57c53e45abeb2a4656162c6540c0dc2b1d9ecc1538a8adcaa62d0b0219b7c2345a7a8a51e7a2e531602f88cb898206dd2aa0307a3663f71910fe692195bdd90bb41525ca3738d72c787500c6410971acdd985a809c1b026115474c419a313438028eb37b39a6a05e3f82234112acbcde9d40f4fa927d58bdaba31b32535622c68a5f9279a244f29d89c59fb801cbbf68cb34d08a1e6f419cb833ea21c11894e62e96156704fb764c955e154a1ed41bfd5a011f8b6d33148228f66d31f3cf207eb9413841c6d6d7723749d75ee2d258dc6a2e43621a7dd154bbc0dfa3c12b87df39dec1ccb82d8846847b8734595dc447c2ae8b8eb2c7b6a0dc34d3f03171df2fb37acfe65bb300858f73253ebcb0a8139fbaa7d1aa5738e83032994000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011c00500ea5a96f61412b6d8175484b0a43f8a800c168b6ed692f9d6d34f885aa15972e607999d7f83a626ad2093d1218e1fe57bab846ba3a002dddf38f52beb41e29785d1c3335a16ad0a73acca92ef481af757d7f189f5d2b40341b6b408c9233f732e06215906584905dc948bb671393cabd39947ce26f2fe1da8b1289cedd104fe24be11d745816e11b209ed89ad071c2f89a78da8d0cf298821ecc83c41a2f3a6d72a12064dd333278d40d3d6a3220581ae731694fcd6b88c0d2b252bedb14b0043072775aa0ec94e8eae55176c0baeb416bb4181ba1d6073f3978f2085b3e184ac546edda1f40a0cbb83170ad078f73b1d01e75a33d929935b6a8807a5616a180ae9f85d13d9666979655b2aaf30fc857bb2c2dfc55361893fb212cc1421275adb31056403ba72194558ed37d9d63e8f3a64968495e0490d7edc09f03df0a73379a853ddb91e05f34a5a11732596652898e810ef08836d310220b2dbc3002ef86f5196035f687509ae5fafc3df3f1bac10e6600b3f220b8a85741615f442457a8ecba127b57c1d0f618e485fa601244b22713e44440b3c88defcb21ebaa0a85fcc03fdd5e576c9dd823147690e253cb6df53dceafe493e6848ddfe4309a34f0edc1863b866424160d14984340fb0e78921dec0d94b891b9837dfeb93ae307a8efe64240b05b9bea5ec71a486ff9775baf9eeb4915b212ad4bacb68e0aa40b4c3b73de1f6c07a0a5addb61f70b339623199a644cd1825a7d6ca5b1dc3bcf1e541fab1838f3e50265ef97bcdacf58de91662ce1ce9474eaabe1f3e1de061f209d89220cb335e5d6d87aea6afb5d88fc26927e1d6b5eda88c2b7abef8ac0050dce297eb162a43e0a877dd52d25ae6769af254b6ee7b309bda6ba2523b4ed8c0c532eb6540f39bf96c57d97f2bc2f47fac0a8b83f1a22ca7abce261045f3f73157e49d188327eb87876836ec7c5844850c179ddc8aed70242f3536337f02dfc3d25471a2f3cbad36656b977b7d6b48a6908155af87019724786f79fdc38d58b1c6ea9ca10d85075ea443c726db8550bd5dc218da00d1c94ca1fca6eb13748e305f091759cf1a04ffc6902a84c1df7b16167a5556f7fda6e645f8ca3e9bd728b0877c8df4ed8d7345bc37b9cae67c94c112e4c574220baeec20ea26a5b32c4fb05c5c9ecba32f2c66ddb2653044b88cb7bd16c03415b5781312a671aa27373413de2e4ab9b731be396d3cf2f3e672ddbcf5fde429e74cbf54800ca0a7a4d477b08af811f6c830b0173cf8bb273dc97d671b1dc83da169533f704749049ff0067347f692d26b1e9e6fab038775a5e8c4ed075970c4c073c8e38484873f864c732048ee4b3c4b5c002885bfda5d14819da8d5a19207a5b8286d09341630bbd45482e86b63fc39c9047733ab7b1acd0b1290220964aff443971fc6fc9e2aeb191121b00ca831ada0e534e504de741fdf133c48980e081efabcb84af86c95f7759f13f325d2b4cfd493afa7013dc89bbf3d38ecb25ceb2eafb0853a920a154168cf11295d7370d4bb116df4fdb27edb4169d01acc41f3f101511aefb028f2aaf07bd29e7701964dd92bf1486d5bdaa39152be103ec63f6b65740168160626073e6d01fed872672b45d06f8b4c87bcc62f4df0707a419742182ae52bd83a38b53f38e16c80baaee5dad1d3d584912a0e2a7f6ce6e0b6e5c82e243ce44e676eb4ec8380db06cc173c9b97150ad6fe583a0b9536c21f64fb1c4987f9ea87b7f2322ac120fa70b32647e26ff224cb9ebb2dcc60958e74f675f7d870f3afa28193a5a939b326fb23e23f339a40085658ff0879dda5cb247d725e6189776842be373d210e72435db788c08819bed8ad6683c2ad5eae53188de47a1cfc7d237faaa667402260224681a0edebe1f17db52a86b86f3ee86ce261ab8e39261a5da65e16e9de6221e86ba2e11237dc457ecc6e3e4f3c879bcc6d14f85dd6e5cbec52190ee3f3371387880256cd1ac2e6f18a9ed21a672fd47f5eabac032a0b13de85499d5b97d6a3fd4ee5c3fc55ef0a6c7d094d6e47644f3d11ae36150f5966161d8b1c60060161b42769e0768f595a68b636e961f6a2aaf9c331d42e7a19a1c0c123350ee994b0bc2a6dc7f3d61ac4efca2502841c3b85311900cf7eff94221f0e4b5e2655bbe1d159e25f17c33e9db4fe1ca167c5ac2e6231e1b627e842593fce03413eb390a0343cb83ce030c655a9236081750311aa0001a3fa194cc330e3846b0662ed6861b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac24fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a60215507121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a7235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec21ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f30c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c80f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f046391b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac24fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a60215507121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a7235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec21ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f30c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c80f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f04639132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c83614840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d31263feab91e6ac886bb5fc8ad7d39f7382d954476cacad469a167e9f97bc36d967d0b7691af05116b000ab29c5bbc0ec1be600d5fb3499306b256b958a1b01e5b3c162c506b04e505840af4a4ad02e5a48a70ce93282549530c0705acbdab671bcb248e17589409a5ba5f79747065a766681483d2ea724c2750302762e91be065071c308bec84faf5e5a1c130f5158f60da609de58d6f76750ec341b57539765f2c193ee19b5f756d9d81992e9e60c96cbb3b73912e301ecf06ac24f69f2c324a2b27fe8fb5bd159e0295e57dc32bb355cf04b7856f92d7b2d4857c9af4daffc9df15bb058e8af7ef61866641dd8db25139f6fc21424f3d92b65c3f400e14b7c25e34e2ccd66b088dc5e9540c584f3c6d7cc0d5c82b9177001236d2c992e1ec3f3b187fe4ec9c3747505e230abd5768d11aedef3cad22c69e0022a16b2aa0f042cf24421891379d149dec04f71ed33e5cbd1e9b363728c974e7dce061a49ff4f98d0e453ac5591b885892b81b06fbb8f3833a01ba585c45d49a3b712c4545de78740fc94467dc80f78f1b3c8be7c92492bf13b1792db8fa4baf197f0315090138a71b68ea92a8a051528b5f1d8d20dcd65d7ee57b5b43b7a5ee9c40ee9d06a58b601954b3704f96f850ca029207691958014c096ff5757092bb35c208688213c2a823debba2a56ac563f7082c923ffa44c42aed7d0fc88bae83abac0b8f1dfbe5ef1e0a5c3e75b99e70bb56f9658e85b07d82dbe96d2ad4f1753dc02f6d1c5ef1151116600e62796673fa662937ba4e02e3b735cef30cf05d03d7d90dd3275ee19b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013daf8cbd951ab4eb0a7307ad1f60e2c20a9aba8504b95a73d14884442f9ede792a0e2fcdc6a0ada70ffadc0a40f66d4d872145c51085d1f482ea505e97639a1c2f8fb2f2136c2552970fa94e2ebe07ae8a3938d062394f5820a3c181035d05641480939efbfeb47804a610c3b967e9ff6655e26b63a469bc95991062ff6737db3216a9b7794b152d19ef6df076325a12a9599ff45e99f50db317c459ea9b30390f917770e42171650b2e416d5677d886cc92fb62e3ce270a7e1d35a346d364040261e580db32ec54aad0b16a3d9c5bca966f1dcd2e52995dadd5400d0ba162a604b36afdc5641d0092e255522c113f9cd0646957ea20095d84393f6197520d7223452df4580cd1d6b48a0b857c3ff0c4524cebe6531193abab07ee9d383587691cb3619fafd581847244a95970a86d26fbbc201bc674d9e37dab4768f79cedc33880ce640d34bca5c9794c200b0671894cd524ea2ca8274a91a5a7a6fd64ac93138c9f0a4aa8db6548c27bea21e93fb673479e20a91cd461e95ae29021b4d5301eb8540cca82971fab7c6b05acb0a00eeda4b1bcf0100140ff017d66273c5170138b8eb61aacfad5160994ded6a27c57268dd18162533f7b4bb813bcfc96c5da37932de9a54f6349a3bb10a850db7ad1d186b745a55e9dd1833ec377cdfbb84b2ea5b8c0e1b68e9017b8506c250346c7cf99934281737a4cbb08d6c0665685e11928fd9c9073e575bff0c39d477605b1dad9bf7de5fecf6a0c3d4bfb19b898c839eab4cad749a03ca14ae734bd48194170c7eee66e283b073199b32f676a4e163ffdba8f54ec3f8a6f60aa08cb50be8fa0f3e8c0cb5408e56f673b83823b4f183a5b7a02af2367cc00b2a18f699aaf623d96a8f89f530c8afa89a38ad933f3620093c3786d47f6fa98779aee9fa8813f6649f3a889620baeb8cac43bb78a2fc52b7ad65737f23078e5889dd1cf391464267148f1d4aa8d4d6696cbfb6dbdf94007190b24ea5a5758a015e019f31780cbf37453d31a57c0ace0714f69d27502bd04dda5e8ac645404afda2c3531ee34de9a280a86f747117a2fa7c3750acd44ba00b3e79e6dfd9faa356dd0ecfdaff7c84698a44b6e1c229ea26ca34b83c929713e0a97461efd737160a9b436d4a08510dda4fb37a676765bc9581da9d5792acf23d004cc5fe4e556fd2e8f2a1a4f2ac49bdf63ee46a55d75ba740ee3f13046972031536e91c271136f06ca0e2b7eba5911ab67d571eb51bbb0be03cce717f70b3a8954c2c990af14eb1f04ccd9417b55b6a6550108cfe2acb07c22c74e8d623102aceff3a54ddcd6fc11c62470d9b30435b32bb400d452a5d5d535b61dbd96f42de8111c8246c785ad4c60d94b36023559fc4af816127ad4dccf2ee4661ec02c244b156e57bf850f7efd71580b8599ae9de3494bcec0b2cb2700f90483105bc323b2fb1960d93e4bd08c431c7d251c4577ccc8ebd706608e3716aa8f50eea9da2be2533c2b0ef84c48388ef9a5a66f88ba0fd12b819d10229fbf0c9a6c3e934f2a02f629ec8ab91c0baca25c9dbe9cf0f72f5bbcf753147fe061d115a74ba99f1a9df75a5dd8ac2965d98ec8e71c40da420c7baebafa2583a5f729c93e9f1e302147167c9c5eb41b0fec0ad6f304625446dc5900eca526b53d65f4d3378f8b73386e20aecf8e90195ee1b59c97912b6f4056e00b0bd72fab4690459fe02af3b12dad58a595df5e2ba70b76c3cb4be9ee30370bae2530472990c6c2a99c723ebb0872a2c2d66a2d22e6fe6fc2c778fe986df9fa364dc063012b0789b90f5a85201c690ecfde778a772ab4a56158a26fb47f39fdd5bb04758776e6537e85e5abe11a769d38d6949a1e2cfd34e193e11d19a84e0a9668cf751fff5e127290de5580117ac5e839e179035e71fbca917db4c24dde3256412096c48b0f352998a4f80d15b8dbe2592d2995416a1abc800267b59506966f17f2133d3b2f1974dd76c98b08e02b8baf558e8903bcf03f129909e9258f73d647894cd2988cb0ed4d019a7610ee6f17d6114a7e004fe17108e4d5962030a9da644d31820fb2c4350fdc484b258eff16bae3b79ebd09b119edfce1097f7a5ee00a2ea6e8bcf19a7484ee17e03b0b9158e84c21a3bcd2845e78b4bd0e8fa86a02608d47231f7fd2732fd91fbd0a93b1c090d1a1eb7fe95fe74f6af1bf8c2ef334a4a62781953909dff91bc8b730765f128a98c43aebd674cc431ab5d17d02477397819e0c9375c615cc862d3f04c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a04c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a3335039be7eedfac2e3ac623e673589a8852baecd7723f5e37deadf71fb908e23fa261b1844f304c485490d5e999b2633afba4d7b5b76ec065c640ecb11d4f89288a6954a2b0eb38bcafc7568bd41c19627cfb4406f89f021b82f805cc73502405abe23651217faf5299b77ed5cc30332d338f239b3a0f6b8c8227bed0c9e3b320c2be7435eee615842ab384dcf49f74539f3d32437f5c2f8f4d893579b27a6808c47fcb148abf54c12e78ac491f6a12eea19bfe00af59e17e0c03f9571727aa094c384af9aa492a128ae44ff63667a3fa5c544c32b30ba23308303d6b39e800144fc8fc15d8d2d1e99cd955b641ce194bd79aa40498a9572a899348ee91fce8139d1b710d138bf6ca676cda6e13d573b1286cf0ef4ec55fd71eb8605a4da62e38e64fe9627f99fe45f550c3be3a2dc7cfc7aacd155df2ae50b48e10754f551b05ebf72ee6507c6e489003060e00f15f90f99663f1d18f1f846fbfcf1d685da735e66bc74ea782f39bf9af98be62d3ccd4b4ef86da0abac790cdd746baf420162b682e4bc6e395814eb5b2babdecc43598bcb24c9ccfcadbf643f45dd52089d92a0ef3ab6d83ffb1d3be10394abf023d5e82602f6b597ab5aa295047fc2978ec1207c54cb01b8c7c9700cecac2f2f788e6cbb559a3b6cd52d8ff945a2c43750102675903a1883b0f724b7cdaf77e9ae5500c12280b0eb3de44d7a544fbc152f803e4ed77cae6f7eaf72958b92d3673be44d848d2e38dd427584978e692236f6522a47ac9b2504d8d21fe1e996ce7f27b46f1ca5124bba342f262e527f92428e805aa6a807df52fb3d981c41dd3df7fe1e18b1d19b97b396a63f3e029e69156e914803839a4221463eb7c5037a320552cbcdf067c1e656952fe85d18c11a47ea4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012e42fd06578f7174b0f2110e7525583efbd28f7e508372df042018aba46855a109113216335763c3421b6350f986a667059d7ca2c7e5a897af0787490d5b663b366aa669c6231022d2b334a581a95240ac5d144d6ef279d1fbabce062daf247a170410836f34dec40e85de5ae51bbc20ff29d5a0424d118fc370223604a301832adea970e0fde014c67edf551233990013703e37a5a2f44d2518c26e99e511f1320adddc00d1d8bae592d99b9773817da963e2fd5cd2ba203afad39adaea25ee0ffbc0ac2cd933b9e53879f7d15b2482acfd047e2c099ded15c55a7d4a19cb21178f9be8b43273ba2862c42cbe524bfd4b1a2fa01d788bfe58779ab278494e6e193c69e05b05e905eb46f84a8566e0e6c733963b0e66cd32c488be3703425b010c2d221a9c47f3b654c651e310dff70fd2bcbdf55ade32c9873af59ebbbd2c7e2428ef15d3fd4acc578ecc299113403ee5308eaf503f375e7853272735decad8100eb879885d3795a160bb44b6c5e94ac06554f57f8926c854b642099594effd0d97b13b70c2d45209ce887b6754dad1400e0cdc8e4a386045bfeaa9821f2e493254c410091ec176484af339cf083af17d433a55abb450b831eb18ee513e5dc93844dffeda37a8485e206dfc9430ebb552dae7df7989672ae61f888c56dbb0b32f174a3e8ebd2b1638a965faa8a22025c48902b5934df6034dcf2fa3d777efc80f4c8ca9aa3f1adb7afb79ce215fc22d6f4a07fc94d07a5b925403f8877e4e1f1ba63abbed8aaf376a483ee3e2dc5f3fade47bfe8edb711685f6dd90ec67eb71082f9f24fa5de806c4af754443c0a8322855579e2de0cafdc74ecc3e5aa35b25359a8ef0d787bc5769a2f9f1e2a4e0cc73edb55a08a6eaba372552b1f9f5e4731d2ea82311de5ca1c5d92aa0c3c4252106782576b8467a288fab4ff65d936e3e0258b0c5689fd7dfb79a8b8f7b1572e8bc037be246ec6006055ec2eea543f08e233cfda75ba68f8b93689c48f4d692957ffe050cd5484e7027a17544b5ef4b1314d92c5ade38a89c25a56b0024644825fdb5defce80b04ff00fe0ebb104048c2333bed68fc87a39a10a0d08560099a8d141b5dec28b998373fde68a0b4c3ec5611ca3914ae9b8cea9d3cafc2fcf19188bd5dead59ddbccb7061f0ad6b92ffe793f092e0894bad85f9766ce58670c10a4ed5b87dffeece7b3634730f0fc9196123c7131e9c548fa27ecb5e40558e334978629ffc20e4c1879a3d5b6ae778d354e1026686665411966a3125ab55bc6a692f023ceec6a9accdd247dcd5787cffd0412add285ff5ccf1730f263f2db9d651012fbc57bdf3e80d212d9adc855de80d3191ce709fd8ba04f5ca38394e3b3c36b9e3be110227275311b849101d2aa79a33c31ae5b45ce619c92b76c482e02df0133d4f42b35e3fd91336757bd2b3bcca11c4181af782f5032808c5a4793e9ba5b0e642d4f84bd406b5f4a4cb6990c60c83f9a9ff2304c476277942a71ace49d4ec353a17caa4a21cbff5b056b8e89491b2470dd8f5582255b17304b796813a3a33468f12b80aa967aa0de8083051bc22607cec3fa01f227e3bdea9230767bd34e8beece7f883035c51977deef6aee282707df62923b6d9319021b829aebe2c5dc50a34156273bc298ff4c3942ab1d90a833f29ac54a5ec057f4ca44a207ae96d9ca0be4498b46af0ef64f1f22c359b521304652a27bba39ca0a02b0e72881023bb57e9d8de3d6a5f73761b97e4f72f69e0638d5aae3518aaf5a843d4b82d2ae4f865db27daaa43932d2027fcbb3fb118b2bd418ef9dae0648e5f68c60b6057018a80f188328b407c01b7b994db6653c8b1b0d25dc5588917cd2ac00e724d0c5cc21a1e57e96aebc033e8f20cac7f1564a2b968b6a9b741f30210efcf939fcfe4e6706dc863995ba138639b906349a57e22b968b6a9b741f30210efcf939fcfe4e6706dc863995ba138639b906349a57e21b025a04c99cf90a80587445dd0b2eeabf2529b15dd4e4480a287a62559be36e3890e7b46ffa8384b6d90fb7870f4e74684d255c8531bec1fc182b902c76733b00389b15f4764a46265d37fbed7594997e785203e54a4ba57be60dd3e0a0cf4230986754e96a21605c931e0e0a75ce89cfe258afb3c2e3fdeb2abdcbea293d6410c5d5afd370bcf8ade49a4c9ecf3510ebd4ccb8ee7dcf10fb4910ff1cf28808232f37d94e344063bf15feab6a56ff3f74133a5edf1688cfcb4d3c315617f818028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad300cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e153342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec3fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b547009018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff8028c44eab3b34e97394eaa8c25744fba55a775171d92b0fe098a524e6b9c52d13d73bb154c4cb168c6b15573da8bb045cc9f23e4ebba481d8fa2de9e9463ad300cbd5895828088f41e8954bcbb458ea3ac45497393dd74f62fb39b881a0d9e153342a76a7d7f770be176ab4344ba715c76014f88756f842569799564e5f261ec3fb2baeb8c82acc498aea7afa85bc9325d5a6f41e35348ceee8209a882441669004d4514737d533b6751585057a436cdc4ec29ba25f9b04caaab27447dbbe9983e7da699be8d5fd6fb69466e49caedfb49a9c8594b6c879c43d56c968b547009018259664172a0290496b991b6351204d89cd0a2bde0717f5557c45674ab8ff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000003d7e75e21e473b8eadcb0c93c7d0c293853e031d762382f3cd087cb1cc95a7d80000000000000000000000000000000000000000000000000000000000000004127a9d5e74c644b7bca6ab72c6342dcb2fb379fe43b9eaa3793de0976a2748f400000000000000000000000000000000000000000000000000000000000000093450935f5c08b5ba732fec2aae8bc669e710b184f199794f62f0f1119def62f4000000000000000000000000000000000000000000000000000000000000000c33de437650bfe98ec02cf7802101505b5bafdc5235dba1ae2bc0bb0babaeec770000000000000000000000000000000000000000000000000000000000000001159d3d4d94f424b4a7321b64fecbf3cc294b9483a29337f43578f27fa71d442f00000000000000000000000000000000000000000000000000000000000000011f76ec95f31716a3325338a9c741a645235ff53151342230a8053755acbc91750000000000000000000000000000000000000000000000000000000000000001174444840e84bdd8e44b3c464c2b3a577005b7246266d6f2a55951159fa1ded300000000000000000000000000000000000000000000000000000000000000021f6c5bf0052d0873a5ee9794164e1b09565f9848122f6b4dd6094219ecf3e6a5000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000025716873d4985c9f1af238ed64a948015f6b247b5427859615be443ef04ff5a21915840c94f85cd3c240c751dee95017769ad5d6293599e0a8ebb12238c85012030c9e3ee040a732587b2894bc5b4672e501b898bc14877eda52b9fbd08d1e4a0ddb2953eff4328b292853efd2d395bf665ec5bb07b5335d84b484e0f4b543a41ad79f03da4945dbff4d73979b8dfe5059cd9235f92a22def676824e5885656b1769cbe67516f982867d091c884b753312f5393b4c73440682aeb3bb95e9d6943ad99f4620fd677069ed768c77ebd86225080dbec6e527ffa9ad83203e0fbf7711ee93d421a4de7cb813834beab864f4358ff06113539b59685c15df30df5d49305997d63a5c17d6f58e53f2e194229a4f5a4dd78bbbf7a009c1ff76b4ba164c359e12068171a405d398e823b1237ede2b4eb77b9270c90ecebde10353656a7c1cdcff2ebb1957b8036cb62717ae3ccc5453727d38f6b548a08f6edc388a52d13834ca5d42e6eb16f7943d864a2fd8dc1cd3d773efa26b9f24bbaa5714ce01c72a55b29e3ffafcc951d09c84b93a21d82848b740be41894f4af762fb1167acca3b9e660165fd87b2dc54dc3ecd3a3732776819e44039acb49e7fa5a994ff98593d8c758732a7e2355e62ea2a74dec05a044ec04f5a628f7bfaed2d8656cd8e3b314e80243d6c8f40f15a2f2d9c6252a831604c882f30c8fa61fb0f549b0340330c3845522f6dc41178e99b05b0410f0da8b987e8945de88d2faa2632e2b985e92d2e3ddb8f3b8f7f2e4d51a7be195c6c9b82478a55ce3b2e34001be81d200bdc2fe91e18d10d49552ba01319005c5022e2f4b95a114c966f04fb2869a45bf6e40cc57a36cd04d993e7e7f6beed610223a1df82527ffbd8133a7c17847bf4f88a174b3c6b802f39308613cf4becf012c2e6306c15b5bf6967c390e0068119a2d701d65705551516d38c9fa02db6a928ab96bcaf1cad77c15b51281feb81641e53140991529f1e418a4af7e6ab56ec63bffc6ac6bbbe72e5155207922978c6f80009a1131770d632339986e8e23fe52de51fee50625cf804843d22f1415f6331be30c7d3a5d92f7f9b229fcff3dcaac6714c453dff96835282ae9ff492c9e45ad33e4a86acdae55f43bf11a21f14c4b06eaff460403b4c03cecafacfc128f4bd273dd307f05dd9fa088ad0cc1b98afc32878981b6e69e4608cb51523ad15c11d091627a58d40fa97a059f3618dfdda592c7ae04f0ecf20636fa3101e5eb90b28a43963e46c342db43acf0144864bdf400fa299e9b781d0520b192f58dcad30fec4128173857a82b4ddb9f56c5780a6c66cc62fdc17fce0124021599ca638ebc8072d87f28dce3fdffcae678b9f2be173538b556af2900aed65c8e5335a9c307a0c3e93abb719069532c64fe1d6f3b84cb5ec216958f44ee07287f46adee2fdedda06db460ba1c26525b836e1fe1bfa39fa503c455808b9e4827ed9cb4f225bd26f01239b0ac865158e3d5be6ad69a6d1e10056b7379d7032ba5acfb7eb36f9e507360026b501b6478f446a4f57af2ff1faf7a6e02c46b65fefe60af9510f97c4bb00000000000000000000000000000000000000000000000000000000000000003d36a8e503dd8cf5f9ee84d34d0b93241d36f6be7a1b49792c214b3d49a4d93100000000000000000000000000000000000000000000000000000000000000003b5b197db11beaef4b3832b580689fe6c481dfeac54f7f0ce36eb21d7abd69fb00000000000000000000000000000000000000000000000000000000000000003c48e1315a7cbbf2a2935bc466ba198570dc6b549fb5644307c7fead6231219700000000000000000000000000000000000000000000000000000000000000003a6d51ca07bb19ebf3dd09a69a17264818275480eae999d6bf15658d9349b2610000000000000000000000000000000000000000000000000000000000000000397f8a165e5a48e89c81e097b3c5aca96bccc9171083b4a09abc18fdabd5fac6000000000000000000000000000000000000000000000000000000000000000036b632fb6237d5de9670656b00d13fcd66bd26d9815204fe2db0334df57ad3f5000000000000000000000000000000000000000000000000000000000000000034daa3940f7633d7e7ba134d342e4c900e081005cc863a91e4fd9a2e269364bf2982f9e5f6e341904acdc642c4b2f7fc806edc7e533c1eb962fe3f669dc37571167d061a091cbe6fb53239bd3b4d0803a1d7bc7db610da62362ef186623c8a900f8ee17dd27047d17604df4dd77ed7ee1b5683838445ae4c236faa3a14d14b3230711e822d8fb82e89fb20b22881281206f0157885074acf75bd86b2eb2eb4cf0dca67751c3167174e185c85357a37a66669f8958c0f6e6118012235681677f93235988ae3ce98e8b1e7a37aca85c859bbdca0667d3d8aba812c0eb797e9880804f405498cf703748679ce9a0b63163fddcb41efb3002ec9ded87a1e087057dc3b0bfab67308fc8b79863165f49ce9c0447b570c564cca51ba54b6cef78fa8252982f9e5f6e341904acdc642c4b2f7fc806edc7e533c1eb962fe3f669dc37571167d061a091cbe6fb53239bd3b4d0803a1d7bc7db610da62362ef186623c8a900f8ee17dd27047d17604df4dd77ed7ee1b5683838445ae4c236faa3a14d14b3230711e822d8fb82e89fb20b22881281206f0157885074acf75bd86b2eb2eb4cf0dca67751c3167174e185c85357a37a66669f8958c0f6e6118012235681677f93235988ae3ce98e8b1e7a37aca85c859bbdca0667d3d8aba812c0eb797e9880804f405498cf703748679ce9a0b63163fddcb41efb3002ec9ded87a1e087057dc3b0bfab67308fc8b79863165f49ce9c0447b570c564cca51ba54b6cef78fa8250c8e75409cfea4dee8d5ef0552162e0956ef2a6901d74c5dc30d8531f7fd750d3d2ad1c5a84311902048eec5362fc54d0d1d9ccb0b08409046fae480f0b3a5db059566e6dec5172aa9a3d8a9347fd6550f6f1691a37f82eac53d94a6e7613a4813923ea18517c0e7c6fac4d117b9917c9f0728c9ec39dbb77de85b5c17f2c7f4177197154c2c495d88f19728d9f5dda4693d9d770067a419520054f1c984fa5e38e53ebc4831697831919f96163a42501de40f9c22738b6b0c44a86b45281bc8002f96fbf18a774e1ffa99b540c326b13130166a6d4abe887c5ade8e88e3a5b127fd0b717cea56d03d39f9543d4080df5e0e24d43759326689000109788978d3394cfb4de156d94666491e1579947831a300bbe670c62c1a925fa53f84ec314a2d31f760a2796b4b15f35f9b6d48e067f27269022993fabb597ebc41eaf1856e3f999e4c0311ff9b19f1e71c8781001915a8200c304b1b27605895c0fa7436d738ae34c939cd4ccdef6a2ac2de65e936bf71fc326179dd2e327e7e1d8e3601bf1b85476131dba3615fd3bff523e7f44d4e17cb00279621eac1903ad4b0fc293d0ecabe6ac2322ba79d993c94157feb1c1ea71e1a562f8fd5ec6afd353d14a6e535cccb75b39b7f3be0523ce9a6005c16bb72442e1303963231ae486f65b109901bfb99656b57ba4f5859cec217208a4079f8eb6542c7658acb07f6f6a808c59e17f0d40dfec68502028dce1f30ff88f727c8d2e407dc5cbf19dd9d4ddf18d5f62a615740f15c41e37fdb0d147e902addb89b2b86b1eb3b7eb51ce86a9d3cc6f7314914cae70982182c505bae0f501da21ff6268d94aedf7a1dc9cb7bb6221d3621d2bd9d62f8e89e1a04cda5c176e99b1006390ece3ffbae086763fafe5b11740000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000121445fafceaa442c2039c73bb9e708a92912d02ec0b3c3ef86bb7dc76d39e60a26e893e1fdefc37fa1addf733fba3556c0f538de54aacb6a570656821271e3b3087c0911118be299ef81f297d4034fd44f9529fb063720448544fdb77bcb249d0f41b7966bf3f69e4c4926614e75f1c07936510a44a15ec4dc456c5f9db5767a3ee4b20f8cfaf66cab3effd63af874291716773da36d9580595048faa551f7d1247f2d91eac947ad00ad6a3b746ae8e2200604b3d34fac8ba4962aa3d6c4bafb16cc666df478f015f8924a66683763421f958984fedd09ef7482a8745d131cc01bddf4e0a48f75cbe5605f3479f60c9511226c3e8c5d62c4af6f997c0a30856311cd81b1746f4d96a7ff322e1d4ea9110875394dde0684ff6cc8eac2f53441be0c2a217926e441a0a2a75582efbc7489c9c23d15de641d2dfe34265d05572b30322478dd453d52cab157e608139b5cda42ec8ca3d7822018525eda5004a358f012dc5dfaa4144ff6574fb444b64d9e8a7f4c201374da5e1bd25923175fbaf9d805bde1a92aca1a0d86c367b6168b2e87d2a0983b0ecb5487d04b7c3902e7178a11216a2667baec0a1e9cb5165155b245b21f5a4b10bf3f08e06b750656abd7691e0a2f4dceaac05bd3d51efcf059aa5da8b82222d29a386173a052db2d82208f0efa21f5338ef1e21615888c7399626f51d15f340a0a699499b4f948307a9ea71668556ec6a6172e5580f96b9f63b5fc35f5718fff2f7911b5838bc452e216fa0e41c160c44d39533bc5243b50a71e8207112293ce6e96d5bd79d651959d155f255c06d9d8d86dfbbc5f5071b6715f2d3732206cf8aed490b8206d06f8f74e0b0f9046781f4e13507777487b018e62c16a9e40290a634f0b1c999cdb975ab5db02b1a0be2809d804912556e018b5c7ad0164cd080aa4a648aaaeef8eab79e5ce00abdb74591475a5b46023ec16ec4ce9071590cee99ba2a6f24e0a691a5cf58f21e24dd2d898858f71fcc43554b82a4bb14bb8b9224e27c98e4166b0d44bf2ba03f6c248720c3285888d880b748da82fe4ef200a59ec69fe88599a6a6d6fb4260493776c52007875024b01f35a9eb244d92c3ef646328545df40a6e28155299d0e5ab69014874b771bfbfd7c2796a77946cb5562278e9875d9250f5ac98307eb34fdecca20a98d281a13b3def3337b75ca15caf59c7254b8e55eb3767d8a023b0405fda0c6401eb89412c19cb763b87fd1249389bde6f5bb1a34ead34101806c1c24e06fbd8ce608dda0d28a808874efe2309b396f99ba366326f43b9fdb390135a7872d8fb17508ff51753b56e33e50e127d56bb35f18aeb16bd1f6c3f4fe1f334de5f728e7556366b984d5ef57099a5637bc513fd2666652a1725c187906a931b4d588973656215cb899c481dc8084009e72e9fd6cf060d6d034cf58ed05321602b32683ebc29b80c04a289e74deb47a6a954ca436354011501164f23003683f7955cb3577842af0b4aef727c447267f88110405500acccf990501f53edd6a37244288958e3d6f070eeba7023ce036f6ea42114e399d702576299141cc0c04329e9df9eae6a296b1fba6e0669665cdff4165ea114b0ffc542cfcca1f5a72680eca84e2715132e33b3bc7894f0ff9f0ad7551ccd17786c291a9740e8cd2ee6b3619533993139674643fb573e38f4ad17f9f2dbc380abc7067f88a308fe840c53648d2313d3ffbe3fa5c47c1bf124cecc02045b4effb02099f3e6559736f514a2178fbd8fb75970a6ef76bb92545b773fdfe9c21268fb9e916bbc80f817a3f2c345c0fbacb6cc1fa3e5d18c068126333a667f42f9a6301798be86bf4e6b3a52223ac9db0da867a591edfa1b4b55ca99607eef1d9f16abba548d2e4897479ec9a0c074dce2ff96b4bb3fe174cca7e1a83c921030e6694a0e22b899409fe14b27a017870bf7a9cd811f90133a6b3d924be93698b7b4ac4c25835270fd7e175ae4324a74aeb2e20053f779ed27ada8090603b66e1b43a0fc518c04d4282077e1c3b2d67fe7736f3cf8f92227bcfd763ebf19b4a100fc74e48886250486c33f9da311fb7f916bd8f92d287152478f756f42b0a7b8ed35cfd6f17f4f52c5640494c380f56eda6c891d24a396bca9acc9a64d5aeef6ed3b67749e88110aefcfa43cf4a2684cd2a0a42aa903500d70bf291362da922310eeebe2805ae32d0d4d4cd7f22158e9d5d6b501fb13fc817eed4b111a25b523717787d70eb1111ce430ecd8be10f827f3653af7ec51f2eb5ca1c0f114f056470c71e2427c467ca25bc5379036b307d80c9ac50813ae0d14a35e3f0eeb11ce22834eb28d15731630b30ac86fc960d8c7c0fa26d79d99be98cf28c4b568af8af9ae78d67cdba6dc58bc0a15d1116327383f05d9286266416730d73b4a9752996fe147be52b612b67a52c5ea2eeeb03be6c4e2c2361400b8fc0bcbd78b0b6b9276d89b9ba0b888bae89d626d1556d3c4193b1d3dc9ebff4703f4342874f49691f2b724f92ed930d7ea716d92eaa9412b81d86dcb0e64039cec3afb35b73919dc523b0a0a239aaba68b12ec216ab212d47e279234f19bfc6313c504ca48c6e8481754b68aabf70dec47fbe3de954e00f827f3653af7ec51f2eb5ca1c0f114f056470c71e2427c467ca25bc5379036b307d80c9ac50813ae0d14a35e3f0eeb11ce22834eb28d15731630b30ac86fc960d8c7c0fa26d79d99be98cf28c4b568af8af9ae78d67cdba6dc58bc0a15d1116327383f05d9286266416730d73b4a9752996fe147be52b612b67a52c5ea2eeeb03be6c4e2c2361400b8fc0bcbd78b0b6b9276d89b9ba0b888bae89d626d1556d3c4193b1d3dc9ebff4703f4342874f49691f2b724f92ed930d7ea716d92eaa9412b81d86dcb0e64039cec3afb35b73919dc523b0a0a239aaba68b12ec216ab212d47e279234f19bfc6313c504ca48c6e8481754b68aabf70dec47fbe3de954e0328901bd7dec480f910056c170035df1b20463fbca533c5bc3870c994b703ff41daa6752bf51b20fb23e4f23815f9c81f3ae94b116bb42dfb669e6eb5956049f31870947f95bdea9c3c192cb3bbf7effe29d0fb7bf7284c1d7e0d66acf118ab01040c9277dc8c6351fd039b70656118046072e337c872d37814fdf794ba768ca1fa44572311e2d61686e5ecacf057a000c49182014588967e9dd5952f710944d3b386bcca8c28b7e61a30b9d14b7692874ece79649491631c95dd2d52e76924531460d8135ac1e56e7815e04a4691a5cb5e2a90f1aae15409415e2567ceb63303e6ae0d745f3af4ef28fe7dd2b6c0a36fc0dce534a0b2f535d666205143aaf2e05624dcbe5c0ae755d685c2d8508dcfe4322d933c1e6d2777af957e6e1ca501b1f5033bc6ec154e83f297353ca23d95ef5c0efa30fcf42b45a167f7685485151367492b2b2c7b6f122738808230fb580e113b860aedb624f5773ad4c79bff1f80bcd41993837e23948412fcd35dc85f65d8687d6f2b95f2a1c974e17c8144e34059c3d4037f463f31a3b47672878e39c2c6b09456246e7b5ccc8804567beaf071cb9754c418158096b6342af1f8a50867bf8bd45f24542d556e17f5baee59319302737f63a19c2f8b76e2b21b32d11bbd299ad17e1dcda79604980210a1e1bcd1af1cbe5621e4af3e477ced5201c95c9d6fd08840632ab315742410db7847adf2c48a76f08c44c83f9ccf09b9db1a6093867b7567643338fa77fac107374c09d2d2d11e88b386bf6d1ccd838467d640212be641e95d8ecf1deaeda04e155fb1d08d5357080b3f2c94c385c8fab6628c5dab3c18a857bf73e9471ebafb30318ad1003adc9bb5eaea55fb3a2b61b144b82e80e5c92fbe5dcfeacbc4fde0409732c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013970d6001aad6572495850b08690934c66b061a57281ba4af049ea58072f8ff90aeebafd2401258bb3ddf25568afa9b86d4972998959b8e61a4d1f2dfe101b4b1d8c84e01502cbf0f493d26ec575e0b857aba38523fa57b1ad9c553639c236c82008b10ff71642b997148abc853325b2f8880383a7e666c4aa13df628aae33263c8f581ee131e25293ea559107b4e1296679292758165a8a0152b779e7d9b88c0aa246b67783eb36fb3309238212cc5e48d87bd475ebad3336525838a60040923f51a974cd54a75e1eaf0a475068847c87326eb8b6f1d22a6c705dbfe766d9fe2a353b477d141b0a7bb0345fc25a9cd03d73349fb4342fe69da75957d4b5b9c406008ba19c5174df6d9bce78b3d4b0fc6a70b7537967a977484ae740a286c5b40341242c02d82edadbd9deee9bc7d4ac2b96332f37227b141c685f910194b3ad061efc90ca2857788fafb31e4bcf9621c2ffec0032a4375addf63cc3dd126bf1199cdf928c559c57a09a0ef3ddd237afe966ef9fccb216d39ede6a6414168f4513593859d759ed99d2cfe38167b0bdc95519f4330df21846412b2d75f0e5182d111f11e1cf1c621a466cc1063b41b5c501dd558ffd12f36e5cd8bf21e1b75b5e258516b19de4eb6426914741590cfefd3b027a876fc8faed4bf8153a1896e05103bfd0dc9658c15af81fc917941a8f4ad3a248074144f56c040b778eb98420611cf3c6e04b36051f4b1b7a588e7811e30a45a0ee0094c273771843c6ae5e2ffd3b1009224fd0594a3ffd64f40c61558f239f7a1d7b092b4b1702ab46a04b755a1a3b603a3eda7e91aa437d437fbe472f76441bfcdaa9f05813871041921ab86c312cd1fc41ededf15ea257ab3705d6bc824af461af4c2100d3b34285d886d9de24efb6200ea6762d3240af1fabbba8bdfd4eb520b019918ffb25212595690d413dfd089be8331e6516477941de9d9afd53656e10c20f474bf4f198d6cca57a6c023d3b80d2f89ae3c78a558453de8f71503515074bb22f96128d99394c3d217930e6365cd6221c758a3175ac350aee9ff626152661c27ccb9bcfc37cfc38efab1c4ec47f1d9e8ec94d62608171f1094a5e8b1e0b0d347941eda53d8b6b18237a24e65592000182bb6e524931531bfcf469402347ae639eb3a704e2e186b412d00f5ea53cc421efac696f346a3a7b2bba85f8b7fd877ea0590ab916683afbd29637e0c50669aa4ba3c169299fae4ab3194ddd7c9842e69abc6f1740ca260c566213a6edc7b7a07c4b5bc44fec62f3b8111cf14a24a85e050ec7f66564bad572bb175c86fd34e8d6ba12957b228291c575dc3f7ee15322e41ae502eda0a8d7cecf305738c5fb75cc88c0acae601e098fda02414b064f26aba8673c56d0c700869409e711ab573b7f5bfad4cbc7de638c5b086665082d48f3b959dce35e77b640b904e6ab47e3f878bc39a12eef6804a1045f616115122b6ed980d6e58df4f19ac9080b829c4ef8c2cab5f8ce2d7b646ce620c60ffd9080da534db40e32830d368c16cd33e81da95fbba5a7169749e37411094185088672b01e0b79ee6c59e21f6410b9ad3f198174fbd0b2e959223279527d430ee7b14a1fbae1e9400a6fb05e362b7b75e9cfb40a770de8065c50a167842dc762271c5f58f2d1673305764093301bf20b30e839e523e7d3ddcfbd00b5271ec4ba7ae427eb3870aad7e91fb0619f0c1bf19bd545e748168c138c0a3bc836082bdb44c9fe8e46a4a8d919bfae82870c93184a5d15d567860def4604e4c3115f9e2093242d9324b98e62c80f59ee483cb538d234ee0b53c03611beecbd354bf0a52fca80385c3c563d4bb87e9f35501b8e2a3df42581c294d15c50ef83a21ad157e56b087cc53840144cb0380b8b0e1c9e2154b2978ccd99035c1b46d0f60addd9864230de0d9910f6bf2a0ee4fe371eddec0343dd8414c0a1a13ece41c679bfccd79b9edc67b2760e1b61cc28c9d30e935334d3dcb4131052cf48f7aa9753a3f69b86ff516f0f848dbac203b9a9333e7b7cee560ff5421766afb38eddaf12e4aa2bb8fde87e59f1d92e3c435148e00db4cfdcaa3d9182bc4de49391f5bbdccd7768d3e31dc72620eae1dc26c29f862bcc1c09bf0ffacadf73a5ca268500b761fee05ecb19ae1f45f0973d363ff33f069d10a863741a2a598fb85a78fae3298416311ec044196ab7a0d314d66e11370495d4aea0028fd8f7f6e4bfd1b828a5c1bac1fe87c30d02ece259d0173ff8c53dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde1835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9890a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb56780d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b05803b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c3c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b53dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde1835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9890a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb56780d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b05803b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c3c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b52bf93842bf2d60223b1a98080fb866156c1f2eaba5c51d58b80b9996a54f20521f58081e26b71aa87374afb67ad656bae9ece3c89aa1828ad674a7ce51fc08030ce7e97ae590c12eda640bdea2f2501459f94dfc3a5ad39eeacb0ce72bdfce160409ae2f87c7368549686786a98175ac8c817825a11200d132276a2842980b550e730ddc8b92a5dc32f4dd1f679222bab50fbbd13f54d099e75e841ab4d4704525eb4db485a941622fd41c25f86430e018603aa205b5c06aef16ba729d8844580389cd4f1886ff4e242f3014b3bc055069b13f9c839bcb547e533b790a87c4681a7cf7a778726830b6cf60984d7ec39ea76f051a70c9179de1ab0b1b108bf977197789001f25b5760b0e338afa9c45dc859188ab22e74eeb46a29481294839431d3781e4e905f0093d85769b345cfdb0e9f54e799e62a27a5bc1fdbd6ee1b4883b1364dc252b7682ed3b78450f9c1125898fac40fe95fb487f0daa057e079d9122d911495307bdd70fcbd0132b93e4504bbd90b866c555b5a6c3d0a5a24393f93a2f91936626ed39c13071a90589a6fd8f831856de8f47a23e60f5ababa9ef460cb846b5dc47286390a1ce09da80d51580fbb4425aad25a6937d4a2ecbabc99a35ae62bfef618c40b0893a69104d6aab1e08008b750c167329cb3fc0c10c489a3c2eb01312cf0eaae892c2f05903506136accfea53a414ad5550a02a036c18a710f00a7fb6ed0008be56f9fae088b9ebf904220543703dc1f8905304177e108309ec9df71056398dd0cec093db7d3263a238d68a8ecd0327c8c651ce4280fb540650269c0054e8a71c754e6ac61a1edfd30901b16d4f33f41eeb72b6428399091fa03d74ac5e107f42063a8f0ca11d1376bdabf78df5a7607d4f4f6df586f6250000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000105268f8b4ac5cc78d1c3f52dc577747d64545e90b11c56f4f503767ccf238a2908da8b25cbdaa90428be24e8239c715f1f57204c1e808d5d7242466884c56c852a4a7924149f4774fabd34153bb8e1ed471e4172095e97f4c430a02fc17e95762217abfa8edcdeed6ea42aa6213134b800b675723b54b898e419e9f17e551eb82431b47bac57254b17ce74cdb141fd97ea2b97dfafeec1b1a56e14b0d8c17eac3ad3e0103762d94337d554b874c44a7a3cbc425ab65765efba4f0d3b45b2a31b3e972ebeabe1e05826e41ec74020086839f85194e7278e23f349ab55f9569f1d2ab483e3866931d213be151e66aef8ec878885f8702f3ee498c621c78aaaab7410c3054d1d75a98203ced6741ede31003b7126f6e5b94c8b860692405f961bfa3a559779c4afafe96a58e268461da9edbbcdafbb23def27da55c1e67751166912dc562dadedd2ae452c2d6bbdbd8c01d9f40159c84f1b8376753e4caac6103af387f25a830d57ac6723e95716841bc2db862dd16abcb63c4f88ca4cc9915f2fa3b603e80ec6aac62d3fcb344ca742eba46f0542ced18ba35d2df934cb448da2c150bf4f6ea76c6ff23ce853758bed3b85f7d3a6048c1472d380ac95717238dd304edeca14454a21d25af4c53028eb83be7ddde6377a1434404031a1d5a9295d32fa2458666407edbb123425f90acfd17d985371627920667f5de2ce43e1231b4001d52482e2d9c4c23bedff257827bb458a6fcf8e73465ab74758258634a19fd04802c88de5fb4dc6f691319f4854946640c0f2d694e129ec54041a2e1bda9dc31b87850afe57fdedf782cd88098941e143e9bd81abab16d7eb9ff5687732e2a064c288adca356bb4009be598b04287a59967ac4c39909f0daa2ee8da736349737529486cfd9af763f0fcb72f64fcc51173e30bbdfc2c1f400585c719977bd58237a445134674827c0bcc1c89640a812b3448f3481b4fb93eb93c8ac0dee3483093b5e0afbc837be9813708c438c5f3e220069bf03bb5ade4d63207da8affbcd1523acb1446b5b788880f60641ef2b796156b793fc8081392a0e8fbf89afc66d121c09b54dac1be1c5a3535bef0133ab13878ca9265e0d98f17b7bcb454009b630ffab900942982907b5f40251600f25484a350dd98b1d1caa879bf65a39f5c92f2ab44020f8b3c23464802b04bdc5c0cfb15754e4401a50bf4d4422f83eb34a02019fca3deea9d90c8c4ed693d3e2a0cef29398d38ecc0062f9fd3245f97f7413147f508f7a56abee20a4e1fcda761ed6c91c4ec5a633886f8f04e5675432871943ac165714323f4263020d59bb976ee6cee1dfdddcf9890cdeee951c3ebb193516b15e57ee8c2a4fcd4c46ccf1ec5079802691f4fa57d0bd8a89f44403391317f46554ed2205d9ed0d60a53279968ea901e1b320ae77c570f0c1b165f0657e259b7cf0d5c6379bc7d46d761a69ccf0bab7ec9da2ac972383988d36fb5519ef3f2ee83ef1fb3061f7fd13f67a0f9122c7463d4f18ace9fec59425d4a371df150f525334b1a0e12ab269e68bbfb48490be0adcfbe50bbfcb5fb7a0157f04f51b30ac54f9336ee80ed429ec116ca71864feb5a85d35d066d2b1cc68f3d51a7360335a9cea5c50fb6f6b7a443c2f3bc89c2813a067d137054628c8b00e392935103b7d0d7ccd14b00bc34f482f382207ed23c7f0d2f1897cc952be8bb3a2406c192c02901eb7882a3907b292ab3234fd1068767e1bd4e43614c7178ff194cce3ee2672f4e16ca6c068a8c5b0121fdcc6a57857d0e426f759af775776534f6e885a1b6a4cea46e92c84679fc710ade4878d522ce6f69d9712386a8beea75b7ee73a039d6a9a5be40ba1b3d9eaa876b8d949c12ae0db99d47d8fbaa84e7ca8eb21942478e7eb9b49915154f36742e77c90d610ccbc815f5c01b1e7aaa1c160ad6771064e741bf89ba4baf077e43ae61d81df603c49b807060505dd42568f8d0d816e0665b06ec4a4a9e025b6f181f63e495b5c9f692d8ef531af81c2905d42e380c80e8516f1747a7ac7b500be7fbb68a77055a9422e86ebc756a712e0966e200d5928085df4cb450d22e81902cb813f5e46e7583cf065380990e4d37fa30f8bf4bf0f35737d034b65506e5c15f161330b6cb29fb429f38ef7e89a4fbd33c9490f9f3278e6ff376d287a13c47d66afb3a679a1b779628c6fc7ca12deb826a2c1e7a7018f57b99347c3b56210b9a9e1d86f167ec76e5a99e6b4cec1c203004988fc450cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487353fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe800ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb8404ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d0cc3380dc616f2e1daf29ad1560833ed3baea3393eceb7bc8fa36376929b78cc333cc7f239e90d1e250d652ea9f7cc12e697f5c2ca7e415f0989cd766d6487353fd01844de72be6946bd0616ae2903a22a69301e3a0996aece30f150dd095bfc002fe7bb218d4196b942f9e951d6fc5df7dd68ddcf43626ccafc3f9c22f6a4053f107958583db80e61b11e7166cd122a4af38ca6fcfc0cfba23ff2e0512ecbe800ef86a7a7c247f19e4ee18e9932edd5d7530c550c50ec1ff6ed3e0caed134193b525eb9b9349847e875983702015ad2eda75b52cbb85c7bc68afaad95e9fb8404ada14646cb67b8178a67c8fdfea52d349f3da93d949c9fd2a2363f6a16047d305a3308fad8167a9a6df2ede78645ec437fe1487d563d95a098a17834fbbd8e093276f657340a7e3410a5c94539eae8676db17fe7eb0ba3209a8521a40c74fe21fb658f6072cee97b6dab3dcbac82009de512e271ab489886ab5369ed4941f1174fbaaf88be79d412b9672c9d372a7d2fa63a6f94bf935c8b22a38f99927d5432d4a80202f6396407fdbdff990a9c05c7de86deec5d0ac04fb742816f557de7285a00ce11a94b36dc154576c2e18da65c1e0cd8522c55c5d80ad3299bc9caa91ea01fa1f3b534bb1b0b483b4eb197ea25dd1a73d6a6a00f959c8579a08ae29f33ef93863762d6ff5ffc667d1bd08561d83edd7024b8dad32c210d4d928e80a720aaf6b5051f3d326d1a69b9992a8db052883382d8010c1df4f5c5341dbded903ebb03439c3372a11688f7c653af39209360c00f09fb32800d56892db26622e50d4ff5171d0778074d73f07cc46d5da5c3134d881e8732814200b167a7845f4c086462a492e4c1fa2abc83741aab3166a1af888942ac90644a2bcdb18e2019f7080ec99fe943870f90b4dd6001823b41b18ce2833d0b9b42610b6338290f255c06d1084bbfca5b3d39869a3ea3404add0530ce569c58a507ba5a55e701b1ea9d117baeddfdd24751c3bcdb32cd26bef45dee5b04c8c75582659c20c58c84406e07b8bc0f2ba37c652f693c55a0f87eb13f0add0e00c0469f4241fb279673479b186d0222dc840f8cc337f626ed278544eadf4eb28d1017b9c36ef109c02b34a13abedc2d4ed6909334365c964587bc518f106d1973a246ee23d7ad07ab5cfad41ee33e2a698e1de707996f202b828496dce852a7b2b817bb9a47d543dc31585619f610d632ec3a3204d0ce1abee0ac3eee253bc7ef6cb31df90008c8240a8c4600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001235b04256131544921972a448b0a427c63dbaed46d2136dc4d0c034bcc5dc8a518123406929f5c5aa0ff5fa5986536ed904506078965bf6948917a882032b4e21fa6165b51c0999fc205e408ebfd6d6373b58f3e0303647156ae5374515462c926938ba153f2f77f7335e474a2c6b4299598ac248607dc0f8997440d0d2d92802f05bdbe8c166ec8b6e1beacfbe4cc44ca1c515e23e3f9ad428e0ba8f65237da3f577888abc56f9d4ab2533379d27bf5bb5a9467d6c587d52361aafdca86bb5b3b9887407ef6e07f1c792800b3831b9c04fb09c33ae3a52129fdcf6164250979354c3697945f70960fc87f871de2007cee62eb0563969a384d44c212d8a77ee02c10bfe138e7a270bef62afead1034c9cf9e5f9177064b6b8a76ef3594d0a4652a3be61ddc045023f1e159b5d2536c3548a55c2fd57776e891a2d5357cc783d8208ce75ccc4c70703f1950fd74079c9d478715ea071429aefb7265358493cf332093695dca6c8b2aa6e27c1feb6356b1b25e386402bcccd652aa9809730aaa8f1450ac54e76e970bf329bb26687d25bf1fb5427f815814256362616510dd25f62013eb9b22c0b0b706c79ce6e0ae9deeb00bc19a26e25ae6ed1d2db64072aef621407d943d5e426f6abd85571bd6aa1afa1302982d935db7b3b0526c457a28971bcb059db9bd78bc3c1074fd9671cd50048d3e307e2648de22bd8ce9266c26aa356db70ecc07a6d2b96bc881d97de828e26cd07e9ad2ee66eac9c319097ee4612c3040f5ba887558b972adb14bbad958417cc4ebbf8e355390e7e05f61373ee209a4c8664022c3ab4ce7ab10c646c064f7d677eda983e9357ac4e990dd8594763c4ed6ef9b3099b9cca1722760b3aac2a39f30a54e12e310493f246e74eb7e45249c45d2f95c551991c1e89d791429a3f677b8c2b2d98250039e76e360991c04381001651b3637a4648f56d33c2da4d9efc96a5a569b113723fd219e497d7b492d334e31d47887efb7872616abe803ba281e38ec2f145a930bfd969fdb00d426053d50557b36240466724aa2b82dc55f05173d7b7dfc21f72820e2c12cd017ba1dce933e40c35c8da2c9e1fb55f74adc5a6d2c37f2896c7344f96e96cf84a361280aaedc899061fdc7c67cd7569000cbfefc01b277ac664e0d7e190728ba3f6a0769b81543aa103b6ba9fa2a3a6b7036b62736857f6405ead320a04bd5ab2fe00c3b2aa99480051d812dbabd641db48990d1d2737f2a2142f4dae53575533002286f303d88152ca9a1019f41aa1a11075be80eb34b8c135f53d4c43242cb94fb2c710043aed481d1e1838cde3e9ac151da3058dbcab29c40b9b467f86a1cfa1131149c4f2245a848382bf76e94147dcee958447f0eafd457bbc37bc09dba66221ddcc80d4846cc7559c6604170a18b230f8bb51676424ced61ced6c076271d083e45206c6a2e8a7838176475a6826f2b64ce41ec90f08722604e4d3a8c2f12d8367b7b4a3482611ed63969f3a466cb3c69f599544e61855f205ad009a113e396325a032de5c955bdd4f56bc5e7443f3c532db4dfc03293d149fd27bab06ef2bf1472056651dd7595b719266fa2da4ae654e8c790aae415199de11720e8b2bd2735be777d59d5ca962af1c692b38f1bc08158f0ca5b6232a9cf07718a9de981a104b9b7a6470bee90c53730056a6dade7a04c368d80bd6022d6ba3fc5cdf05ee024874e54bc689a74446e10aa3de9257ddd5e47840202786a432020b63bfeff1b38907ff1188c9799c259ecaa25a6832bc029a16dba35f93494f3de343eb59feb02fb92b96d510c4c6146f54865f3c9be8539e6198707e6f4289a53493e8e34ae375a3869384b6e280f4f2dae8fada9601a1a6947fbcdd6a150bad06837ce12371b002e451aeefe90e26767f79126ffc711fe0eaaad66ad6347520094758615d6038808f7e4f480eb32f153e3b97fdebc56c5a8242d4751d93c04d6b18f9cfd7531986abda36ec3e2d7ca42a38872d7c4e61fe7bedecb5c40d364b8e368645fb73a09e96f1cfa044b6d5a397e8981129a78fde955fe6c7b7c4341dbc8f86cec7602f75f56cfb15d6a256c56f00fb9c37fc2400b94feda7abe505c3f95684413d418eb17b857b06dd633a6d829c614160fd2e0f1fcce4593727d740fd343b6217c36cf209a0152316e8c8b792d96824deca9901dfce788061be0869418fad92f840d02b2cee2abb54732d1fdd2e269701193685e64da56c34ef89bd81d43659a8110af26a590440962b4cea4ae015489f620f21bbd6dcaa8855c78e49560062fcd2f50d95a6fbbf69d4b315b51feab760a01547d3e9b8250963cb44c579ff9d034136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef002c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe11101211ac62b16a4eaa3a82e14fe2141790869fd1f9780fc9e6070bf2d08609aaaff1ee539d4e95b155c57d1eb01debe86f7b849796488505abb286e03e49f6555022585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f91a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa90810af26a590440962b4cea4ae015489f620f21bbd6dcaa8855c78e49560062fcd2f50d95a6fbbf69d4b315b51feab760a01547d3e9b8250963cb44c579ff9d034136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef002c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe11101211ac62b16a4eaa3a82e14fe2141790869fd1f9780fc9e6070bf2d08609aaaff1ee539d4e95b155c57d1eb01debe86f7b849796488505abb286e03e49f6555022585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f91a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa90800d80c97a5ca3f42024809990a5e4078724776135e9285751f43bb068f1f5ed12ffd27410ccdcfe329ef02841829f506167fb6b8093ab9645e6cf50c637245390b3b8e7d3d25ea8a04f66d4e9bf09ea1fcf3625db18f9380f3304d511417d4822d98a19f0b2c4e856b644d3f30322f64772fff5be41e50cca1aebdbeb6317c7a37cc41b3f475e916ba703f5c2eb7b8c1421f1204b862fd912ca12d871a3304c007c3cb67de0dcd7464ed52ee03205446a128a3b5fe293081e62ad60b2778619123889a5e26aca70f600775c8b644f5969ed7d65cbf6161855e63b6d8246b93ce0bd38a05f6c1bdad9d65994fdaf5d9009cba04bb2e4d819eb97ee9baf05e1eed0ee51e7f2d5fcde622801a1d09b8fd67b40c66092070f56fda1c188a337ca54f3f71b7d96ec711eb8608a6fcdf095af1f549984da6cf8321450666a8423ccb832346fd0bd5d75ae06c0e3012d5d16554e62eba7b79d492b5dc2e8143249830af2ff54159825c8ec374a2019133fb76770e72e9d0a47c9169f115a4a402c70b591a0c50f69f05dc679a319d3c2f8d5112d7b513a7a06a9fe70cb2442c7b41a1a310722160bba219eeab3aff788b4274ca6fc0f708ce4b49140fcb32615559c8de306d6afa02b6488566091e5fd61efa1274dff87bc6662732df0c67100585a62d2ad8efbe71c721b2f300e437eeb3d390a5c08bc51fe3093a97cd8d73708caba20439fd03653bfe3d0938f316344a742420c7c60e7c49818840296edfb214b73e279975e6ee0fc972249303015828178dd8bd02b4aa2568d6cde19b54a391d3081cfee1af416934e8d91c1020874088d8fee9f0a8611600c088006674b8a5deec18b546d57db0aa01ad44104eb6db9003f15e7b6e19548d9a73b1c29c3d59db590000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000133b41b2a9a497a0b2208fbf2658ef7200b4a1c87b523a74c55f75abc8240ce73314648ae512fa46c4ab3027d48e370d6339ce658a4eaaa40dab6440a4c32cfa2375589d4eac2799fae771b47a09a7332bc039b337694c78e2e6ec9444572f423277087a312e869153aec065b7d09cf562dc0368b8c01ba6391efd3ad232316c90d17119cd2c4554be2002fa4243aa0ae1c75a27c70fc85f74de647d12a20563a2706dd8e18508bc7ca28b3f68de3c5d21d023bc2034037f7f0460b5677a4499820d721d865e96980c6abc7947dde08e280e7d990890ad05ad75a6d04696e263e37587ed0d1edd243c32d4af955eb9cb3bfa986cd95908426f1dbc359f64f07273773a7126d7f4f60d0d65aeba7656909347aea409c04cbfb8216a0a448794ff82d3b139b223d421a539752873ffdf095ff5b4f1255335b763a3c59bf130b083d191f5b74e8db3909960339718b93192e70f5a18602f00d0b6f462c8cda5972b834ed6e9a66fb61f06de4ab0bcadf97a3e3f63bc55507a96a6b65303c7acb853c0cd55bfcceb986e0be81733ba45f8d9c68239d73dc2557b32e160f0841079f7c2cb964b2dddf753bf1988b9c933a1466e5bc3bf53c1e996456f841e9f396f0771059aded9e2be3e57a13f5a388e4e628b6f037eae8ed04579350443d0bbf5cfd25361e5645a7c67a048048c5744cb470941f1628ce3043d166ae4fb4181b657f026d1c579320382567523bf2c0e4a96023d81ed17a1c01af06efd6a92ffdb40a083f04e210219d0b8f0fff0fbe910f5f1068db2ef7032c76995f921ae9f29c1b235fccc00ece0b8db63afac9c8cb7f0587f7a87b292a5f1f954ddec931b278820debcbd18d42d158bc12385bfbab2451c25dab587b05a0d4a33641bc7811fa0a23be9713e2ddd23aaa3136e408764613ab72aa7f563d5e76f2b581c63ac6d8f631a1dc2ce5d8e74f43504b03a248265833230b181e53dd29bfe6cf370c02370117211c81788f668bfb781ac8e743ba0c29973c6e1ddbf1e02a0a39f889357f080f24b62aebde6c4f30b778cfca10fe1110e77a557789a094cbf317c56ccc197624508c34891a40d0bcf4e91f9d20f3f85217b62aacbd5ca93be75134e05e0a2139b003aae8d46117bc87d4e5f822af0609503df86a114dc00cca74790456c33b1718dd865236923a6a5488966168bcb06b91a1c423d01039e3d55a7166d9cfce2e364b38bd5f2b2383ba8699bca3b716cc88cc36a8b4eccc4da9beb0517701600bbce60a9d853a04387c2e897b7020af39894790006f94226964964097e518ed01e45f33e6c3bd06bb03b4eddbae19d22d78383d43e282a305ae204d2923a5b0084eb4837e48907b650a3c703ee8d9d2fbe071a395c35911bd75c6f96bd9b4e034ac608f04e72adf2671b1273d40d451102cb3527ca677fbefa0f0772a2bca7d30c8cb249f90e721211d2bf7e51ca153a8058ac71f4fdb7f04bd35d984f8724c1b9a957d07eae06d1035fb26fdd393fd3b150f1cb9d3f42e31b34d8b0046d44636adbf27d00679f681554b61c16bed76e1847cc36ac769ebe6acd442bf39f5401b518253f167be9477cc18a5bdcff566568fe32dec705187be2cbf07d874a5311b1409f609b638b857e62ce05e3d8778657935b5ba7a5f506115bb7c48e5d9372dcfbc9521e3d6c81c23b1ffa2875786a71fc5c19bf03f5c67cfbe292afb81ee31de768ba14d48d6616d62c6ff90dcaf7c5f88b3c83d8b9adb45ecd1c3da55150a011cf4b6201bcc9b05e467cbceff60d477a79c898e1b11e6b787d45e5c3a6525667536535d154127ed152a8c261d702782bfe85c7cbf04933509167c8aedd60e2008ea190a9e0c886ed8022702b335f1d3b1171070160735048e3e018550c12851c340ebb6458f1c14c12668c2a137e6a0e686d53077a5f057bf78f0000c142339492109a1951dbc40e5a07ee1b594c98bab4545b882abe81ec2a0b54f7b0a2ede59412d7423ace00864145af15760d56df04a62e944177ae4bf12dd89ba22395384074bd9d4f7b131c48906ba8a751c76b33052128b6bc3beda7fe864183e2de5e341e983654e2e3675a28e39f5e5b57f633f37ef1e5fddee5e8ba60d2b5f256d7cc7ba0e2821d3334b759ed24f2032591de88d189b51bb70935a5ae2de3632d1aa09e06e8edd459338fda5655152a375faf1865e7e263a26da58afc26cf711440b727b4249892157b25ebbfbcfc91fe6b89a22d8b101994c91bbfe9aa72f363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366363a1a28098ee5ec6eef57a5f5ea8e1553f626cb25a1fee84fb135664294545409c5e5d7f6711a139110a85a0a1571eace507230e3aafa33497bfb86bd6babad0f2282c82fca7d9e2aacb63dcd94c66a1ab45e0796f6161b29c1474b4ce5a5a030dd7d37d0358261d55349c2326b399607923af47256e3006f6be9a1b31a5a610bac8de8eef47416d55f8f3503e7e012633f3d29e981756c3799338b807c3c1f34537217110b8be92aa070cafc181fedbf075bd21fcb83af6193fd617f83c3e23a5ec58caac644722addcc091387605bf03c31d18f874b1d15fe01b9826d2c9b05a13a735539bb8dd52233f6ec789fa4320a672a79c5adfe832f2f337d92d366125c534548436e43bf17fe0c04c54749cf0b77aa2d2eed5e1e60a2d2e8abc0510461dda8d89f9244340ca170b871686ead72c0f6aeea72a59dcc85f5bf2f68611292d7ad405fa37806d82528bc3fe8435a85e151b1fdf1f84a5868f532008b7021658174cef8b7ca01d1325c91a7d18b8dc8db38e6a8a2490f75e8322349c5892a24fed72cfea69407088765005aac294a279e1ff9912d2ae61a2f8aad89968a3156ef079a2f721b87458605ec55fa3e8b9d6e89e36fd68c290e951075e69872154538246d747ea26853ad6e93fa23f85373f804ffcc78f1d4ffe993340e9cc32cee2067a9482a451dff1f476c32fe8071f7232fce294eaaeca161990513b5ca239aef2e23fc04fabbb5b07e58dd0a4d7fef3e5bce8e7d68ce6191acd20d5b811698d016eadd50831766added1df4c8a104c5b122fac1ca2b4b7b4c0ef29ed541f5a56f0ccdd80b870450ef87918b1a9f33b5ea57f5a08ea034aa26cb11f033b0c1deb53ef82caad2168d4a6cca158623524e6e8609518bf374b06ac4d0af1fc11da47e8bc7adf106daf4eac76b7e6b8b7ff8bf372286feaf88f35baf48c29ae2c73711ab1f2c50c5e83c1bea3643f20e20f86a27f7338c1ab7ea4c4c045b687315e9d5bfcd9f09fa2ef44560ff4d23675196403dd6b0569c3d323c0f347417e2fedbd98484fd8e49fd9e515c5278e6fff220bf41cdc36d7757447a2f84d614e2f64e1882274bd71a65beb4fe430388dc67b02cab130564d0eec6b78214c21df2b719138f8e3373de185b7f7befad4198ac592409da15ba311e002d18a2bfd1f016ee86457f5f6f6dec09e583f29813fdd3054a3d285577105d500c9437ae11b1e07484d52ffc8bd71ffd7bb5c600a94db8739fd2a1efcdb908d347d12f51dff0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120a53fa26fd67ecdd824b50ca2e7614b9273ea72478898429672ef846cc53c8906e3c2e6ce88e0aad152eb964a0578d4eefb22478a52c89020d529e8443e648739e33b2a311db91b2a60a8158ae737f27281a9ecce292dfa4a7b1fa346358c733183d8f0f05f116dd29fb87212dd5d63d46000322e1e5d3b85206d647b079562055ed66f79edde9ca8855456b1a75c1169d9b80dbd9ae733dcb603e4ad87c04e21b43710e89b7d9ad56c241f912c43bd316ccffe0a1448595c581ed0f482e5313b53a8ae4f38ce29846eb662b11264c0d526f0d0cb4714f2011b75278e248340384445a02e79a442cc04bb3ca7b2747facc39329b331c152fb79913844c1964c2a2e79f0c8defc1639cc35fb0627f7bbd6972d6eaa1315b90e9a8678025525362dd7525be5dddbfe45fa989eb9fbf4e38ee50c1c010ed346938094841c8f05db2da9c7c803e48e2758f996ec19452430815bb04ab6fbff9522cb6c4df87fcb4707a1c137ba8214c9de6fc799d53b60397ae1473cf4d16b4f3cbc78e4f0beae3d0f0f374c1a8d3848c607f57937aabf95582817f7b13fcf71adeeb5ed937964041ca954ca874c87a6522a9d05b347b2d91005c0aba3548a7067139f9a17744c122cfb3cd96477f34f0ad03b7dc328c21f6e6f29aedaa9036836ff61a997068a54010c7ae8573ab65a1809b43e79f642e57649c8e92e35ca9e079e56112bff64da1aae46e201c25580be91a9517ebaef5fb4020031fb71f481b0eb5d9b017cfa7303f0ef2c8cd0dec333f5845ba045d8a189ac0cdd7f7e2d1c1c01f7c8e47b7a6b1d87dc227ee6da8fa9bd05b35452d45d254b303000c78e9545211afdf6334c9a39cb3384fdbe0a73da0f605262b9d3f4d9abdae40c9093463fdad92b9bc67a0630c727916157099bcc6784ab855cc77cac3808989b33a469ef7d5f288187f05e2f5bffc396c31362bf1811151994cada56eea67193b39f87f4c9eb93f15887d23f981ea203fb85e8d022ccef96890f2dfe6db30cda979b565275320b367be79d0e34027113a00ed49d58aec983cd6cf0a9a8bf6a2cc7fd40da2a54b6f10bcade094a7a081dcc1a64009ac10771f56b52eb79f02a89ba0b491a79fc9971ef6e7328fbd55282b5e8e6892db9d40cde4814d8525471f3072efc79caf299668c5be11617624892c977b86f6512467fc13a48ad2ebc7b7ccd9ae9dc748d9ccc8c4c482bc3fe95d0991c4cd961c6dfc2e6bc14d346840c0655591673d09847561e818336a3c3e466a0b8b1fd563126413be2ed18b8b118fdda3e8c27127c005c7e485b0ae40dd0033f35e3d086fd9acae604626bd2da6cbd6a987fcd4e046c3b400816344d093e59a4f18f2e77d4625e9214d86ee120a2873f23ced2f8a9dec4728877135dd12377d49566fe9d79392497c79551562e7282d3f26f19bd320cddf92a2323254918f2994d6314aee46e8044c1a4ad56c100ed5584dc040b09462026843e29272b2d1584df365c0e4b4e49078cb4df92efe1fcdd78b0aa92fff234fac08d37538109695276e85c2e53b5b04c29b6701fc2e7490e3f64312d0f3989706ce8326186b0d9310cb2a140b1d1adae126bdd8e04a53e635b720011662983c93bae370672a84d229ee5d195d92facab45f394fc57de7f49d0292aa8bfb027dc487f36fdb24be3d8875aa49d84a8abf106fa243469c10fa1f3cbe7a681e6346b3cf40cc1dbd85b506f92f1815ec22732e0802740a51722025a8734e4fb82ed456d370b191ac0c89adc1ccc8d663df7cb2f6d780dca2c1b468c81e0c16471fc17da451f1548299a283c32b2619ef1426df28dfdb94cf5f1dc38026d5072384033f1012226b4c8e706ccfb45f6193ae3a61858303185f1a802963dcd61c8861107e51621991533f4277b9bce8f1619211012a4aa39165913bcb33f58b5032bc76e24e2143378e6bedf0b037605528d4c81dadf5b744439f11aef08c68111b181943fab244952adc82584dd1ee147082ecba5c2ed473803a86bb0d60a625e88cf80f9cb2c4549d9b17e4f25caeaeef6e20a903aeebe2d6de486fac053c273b6c53cd75831128785763b83306faacc0a03a7e69d1abb1e1248853b10029f4a1216e104360e0c64c3095cd967876edaf7680ac6b27e01e0b3101de36da45f41825f7e6f3925d26af37ab771afcca7da83ab115ae04f5ac77f48653edac74c3d303348dfa6141015a287f5f956417b166d2a98758ac46512f4cd91d5af1b4d49b0d08fdbfd166befb5171f47394b6710b5cbf1e0a257d568300d169b1ede64dfad66ceb1702994104ae8e0b8c6b498ef4a340e1f5dca7130cbfc365dfcbac8513f99314e91301bae89739c641e7903538cfbb9632b94e46ff438240e7ebecb2d760209772f0fe451768c639be186fcac7304469cd48d622907d128ea9cda620376fdf688d2308a68af420df4985d10a1c0ea9eefd981a264d0fccd5d26ee7050870a2f53e80f759750bdf20b67a2ef5e3f15611026a0a4342b0c7f9bf4aabce065f5d0ac1932b40b6c4a45c6f9d15328c4951aaf3f21582d20d41be66fdca9ffdc32eca3850d4bf493b5ba39062eacd73b6ae550c100ee6bdb353112abbc833110cd135c7c166befb5171f47394b6710b5cbf1e0a257d568300d169b1ede64dfad66ceb1702994104ae8e0b8c6b498ef4a340e1f5dca7130cbfc365dfcbac8513f99314e91301bae89739c641e7903538cfbb9632b94e46ff438240e7ebecb2d760209772f0fe451768c639be186fcac7304469cd48d622907d128ea9cda620376fdf688d2308a68af420df4985d10a1c0ea9eefd981a264d0fccd5d26ee7050870a2f53e80f759750bdf20b67a2ef5e3f15611026a0a4342b0c7f9bf4aabce065f5d0ac1932b40b6c4a45c6f9d15328c4951aaf3f21582d20d41be66fdca9ffdc32eca3850d4bf493b5ba39062eacd73b6ae550c100ee6bdb353112abbc833110cd135c7c11fa42639b21ecaf1ed4e983217b62a6709fcf49a5422b064a6309c8e2c557662260f666d094d1a6403be2dc098fb8f586eb4ad8166745ba69d9a8268d67ce9520e6a6375b0b5eaeeb6fc87a8cbfa390fbf15474932bbe08a8d6ecbb879cb51f274d3dc3a846fc8924f1055fbf4f5ad5848b4b6ec07c76e6079ee428f532d6323179609ccb771b0e9ef67c8f9975b42d6639df37ad3882c7224ef076e65adfdd10a339e5b26e4d85b5da115d5bd3422297e7ded2ace4b0e09ca6b90dce501112049592c4027f4464ea3afa918e15832336057e1ab7232914ecfa8f31455173383770372cff8240d7ee6b1e84d2b6f38aa123cb85c33b7bac9bcf23e7368f164a18d115a62a4e381107f91a82cdbb049453fbcc7b5a4707dd34de91167cf4262129ec456214c658f99c0de69c80f636d923b5b564b5034b3f1cacad10505e15d31f43bf42225b110674dd5d5a5ee8e10020e87af8af8508288927814c589b104f2482c595aa3c98e4e5ecb8342c115dbe132cb37c029ec95faa8992e17e3b482c12131a6ab29cd0617c38684428cf453b5e96636b55a774815004eaae82d2d32804114a47da15e453f470b81cb4a1a3d855e6146d935a9d76423273ee4688029b2944f310697f77584283fcafe779341d58acec309a8dd966814f511f2c832bf812a68e0372f3774ab16d4709c8fd46569afc3fbffca684a75a9e5d868533f3d21e1e2dc6875a8f0053c8b328f3fed4d65dd85a6e5d8758c4f19995ddf2f22e8c2aa38142c24e1d5c8dc732c5634b9f160c0d3f0ad9ebb560692067d29f061f793f84a06094f54e7c2857f8199d37239a9b43e6c13d3e868c49c594d6f829c26b18287fc0c8bfe072199c0cc00384652edb283b55b197e405d599633ffa0fba85000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011ca5d818996ed8682dbea4a308ab0a8c6c4b8316843814c2007b94a8528eb8a70bba847d95d77209624acaa9ede963fa46d50c94d2327c2db03faecef5fa308f128a1da843506c200a20543d014ab71896df2f86fafa01c8baa7af9a767a888a1971fcc7fa086dfff64010ce4513cd23ae3a506cd40badd459239e5b5262613506afde33bcb30bf6c6d9d309c1d6adb1ba4f5d6f5856f8b4da99cdff1d7e543b12a5cf645de0d42aa97c78c76a7dc18d2f0893bcd64a0b46f30f174b5fb54f9612634ef4640d3b4317db6664af902dd94502dd15d33888e795a152ebad4c28b91e6c18c66add9f66534f28b00cf0fb870f1b1db0a029b4991a4414996c18fa6f1edbbbdd7a920a98e4e1d7f3c5ef4974f53b952bdea8a3c8e2d9f01600c3ee613117ea80ed45385eff59173cc396f2980db47578323b60d4cc7821a566abd806385ffd1a50e6021eab5f05adc852792f129f67995bfa030c282956a176b5114112e9bc310bf97a7b42158331b356ef0fe599d536a80947470109dd40aef038bb392156d2530a10b044f1c0d483e8ded40a0335677b49799c5955465a27341b0a205f4ae1d7c8d62eb266453cbe5ad3e7e4607ae1084f9db622cc6a2f1934f0902057f6621ab7e40aec2890951b7cd7593ae6180632950369edce166c1ae50b432c47f5da3388a0dbc82a79ed0274eee522b257fba39deb5f5500ed4a6e814a192d12b74ca1c55d691fb696a6b0602ad5da6c6e82d76f82a9118d06b1cf6861092b1bc8ab33c628acc1349b6a9ef7028a8b1fed7cd87a66d595a252ecafc0704a2bd9afea86b59073675e759a3d3d50d27d6599ef8340fd0f16275dc6d6f66a511fa695ba908854f36985c0319279ef5afa7175ac3b53cca9cff64654f035d5e306bf74af2d9afa931e004690c4c53e570ceb0ea622e9092fe7661c291845e79f17d6ccae19255c731be60379eea918e2ef3ed16a4bc8e625ad921808c512a23812bd191ac3e642b3f207560b9818125a76f0c92303d0a0274b7a5a6748f402000465ff0134e2dd3f1baafcda2260f5fcd68c99cff86be3889bfafb654b211e452a1a16b6c9f57898fbb354cff2d0224810d3e1a88dd139d71488782741413c260240c780dccfe74ccb6120ed3d04cde29ca68cfe77b37ea4d3dd0506c88ff4bb12ce51476f721293dbc5b9ee3c9f9accb9d6feff6fe763b52c4d9026233981a41d7d871feec85a3088d6665242466d6a857ecd7e97912b7552931b644331500d34f1c7eab5b156c39045372799336abb95b8f938f1fe936a878757c3f45323442dbf806a98562235da67a08733f6056c025a96f307ff1d40104afca3e37781121879f088cb282ce401f55f37696e6f5d857d805b7e23bbd5c62eebbfa42d35fa0c64dfc9550bbe3521edb73ae6f7e2488f4c2f35f5913802dca7b88dc2a32e492b38bcae2369a303a88e1020322a95392cd1e9730dae1f6b8f30b420565e00a72b363f020dd5ab295eb5ac73bfc047b110aa2e3ad21d1c6e0390ca343893d55b0bae7cf16d2df596e767946a45fc0803730576971a121c797f23f97c5b3af24b13fb36968385969aac7a316f4c5a56e7eb3e38d6afb32f88d3e9e009a102b59d1c4252cd615040cbce0970bb4c657b4c4878a97f08d507adbda234cd6fadef761a0c4715b4777858003b1aa103b56fa82620ccf82288a2746cd65d6431d35b5d1b9a605dd55ae6b000d5dfc9fde76094c9b8f040abaff4ee199f0a80a954b2c9187d86378864fb1587fd9e8150359b2f6116baf5e9a56b8a6d4e1e1ded966db81e9e47e67f9bac57df8ce4b28d22d457cc40a3ffe66912b7be1cad1a93cb28bd1a1b9eeb8521da2f2052623cbcd788aca7e7ab6207929e66293a60b67ca0c4c6358d12fee4495b39cf961008a09aefca2405fa6b963d917926b3f5ea8d031c681dc9844398e6dc1e1695b2c6ed6ea24b1aad8811219c2a6fd8d4ad694c29ae691b62a492e653de9a918031fed37cfde219cf963034cc6e71c00badba1064fae33f251fc0b26b8db9175cec423aafd81c5bd4c2c1d29c13ccc496d9c81889e2ad2402d2ae21fb800a935a5f4c6f2c2ea650cc62cd7312b6d0638d9ab8e099ed1d319e7da69d00a499884d1e7b422cda1073d6b565c0dc7ac6a7e759dc9f67078536b31dda41579e724a410732ed05e06d51d5cd2f9ddc0ec9d53b1cdd82dd771d2bca2818a2158efabe1ff09cd21e99ce05cae3ffefaae49f6458f333b47b2ce03e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec0175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f1538b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb691b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f4247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c236769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f3e8a50a7af3b74aced7eeba731946e35ef6fc91677fbbdcd3649ce4ae29070ec0175af5850c48b5312811458ce6b91ca32d6cfe591513b4e62e362a21d6f8f1538b393466c294760a37a9a43f7e6270d2414898032b6d093aabc43c26cd23498074c6cb993d6b89f5c8565bc0819d8f2fe320f7bd6962887ee70ed2a932dcb691b81e0601cce64e331650353d77ec3412b4c4b90d85e2e73f0f88f18201b06f4247e1f9fe3319b1cce9afcac28813cbef6fa4d6b30eecaa7a834a1d4dfe4f90d098961e09007f86ff6f910a33579d04593f047dc273cf60c8280699ea08722c236769e1f6ff807900906ef5cca862fba8e56511fe210030f16acc74e5f78dd3f2a541dc9aede8050ad6648812a33cfccec8163996bbfab69265fbcf2ef361c4e077596ab5d4f14c7435038a9742be3e6b737f77900011bd2975eecabf38cafdd305d9e4e7bb0cfb3b7ab6f2a16664d9d00ffe6e15a8f452fe648d4b20ee2b0793ccafc6418112053d1c539dc198ca765b3a8d0cc38d47492143067a7a046f7201548f9594ea398ebbca8f3549b332b0d60d3199435d0970ad13488a817d0ea05238f873bb34cf0931974a0a3cdb84d2285db86706741a6261c4319536e4a332a157443dfe71e04e9d89a577612b80babf2ea290fea16efe84febac0678ab0f731f98ea39d9df66b47bdabe6dbba12fe63dc6564dda2de55d3718a0cb2cc3c6e11b2b04fa9616f2c0de627b00499e4eebbea678747d9adaf01350cb93b04bdd873e5b15cb986cd16bfc59a8422a386608b64a6aa6e6b8048d5e6e24a8f7e056b7107208ae9bc3e80a80c93fa595de0cc896db3770f5566d91d2ab177867cca0d800d3ea5cdfd0513a9ce2cfaad0533a3b008089190fe557b9a14f31780b648ebd1b58a71ec853145c005ae74b7a4c3c7e16679467a8ef84af2bd0728562c3ba2e2f2439f2910c79f9e6b9dc70a61d1febc0719206e99818c6c62dea3cbdba855b0a8770d4f44f3d3d99032464759be9a03f7124d389c7be11bc62fe152c83f7bf06cc4ed99724271844b6a2615bf0863328ea7701fe280a32e12b4624e53982dc32fb5ea4e600421789701680c1d7f14b4265fdc5eda01741e3daa40452e53bb219a34deee20ef0023224483ae72a380778b52431165331bdf0dd06c73ae43e67358022d1637ec8ea1dd153bd856d6de8e57e3b523572fb1b342b1fc191973fa4119ba4eb1a2b43cd5657479a405d347911bb0901c675417dcbf4fcc91b1f83e2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013f1edd077cd62d3d8f0ffd89a2aec4fc5546d46d5589db03b011b249dd9367e930bf29a6634f560fde5e40ffede0417c2a83c6ed2e5af1ea999b805ffeeb3d5211fcc9dba663bddd540f79652443cc2c35d16769499903b960247f8f293b4734233c727b7fbc9ff2d62fcfa168f9681902164258895d562f5c6e31a41064cc1c3c22132b90884316fa9323e0198b1abacc3f83cbd2bd0bc11e36544d8198c9503622de465ec1f567f0e06648e56cb95c1d8d90dd3be96c5d60654dbf23d4c43c1ff0eb33e257b3447f7dabb5eb32d53d2f6518ae5c1bd0ff929c71fc549ca6b3282119a3c3f90c63fb15f9f89851adfb2f073feef74cb32d7a58979b355a58282bc49c01240d453320929b570fd266c6f3ecad8dba4ef35c41c6c5aad76a278e214ad88745e9e16c1f48023461ed3146631b553537e0dbd2d6b949839a2126fe1b638c7359463385bc877c178fa8207bd7ef3d5aa1b3fff376edce8eedea992c0e9bbc9d3eef31cdf3322a72e6bd85e3cfe27a3c80cc6a40a827bcdec9e34f361693451e54377e80b81bb465da663dd2d59e60f7f24783b3bdd1d5bebdd463e421bdb12a2a72364fe66f080488f9102b7dca1ff78b95293c2215e96e6a97e13937d5c6292901514b82e4dc52515820882d7035fbcf3d5da82a0c8b01ee13a1b21f964ace2d615cfc3caf0d58dc640e0343305f1f192cdff2046a08aa455618aa3e52caca6df550afdfc2705ce43f89660ae8481b38ad61967e3988ea19dc1a281637ddc1e0924a016756d59de646d7a3a4b6e4ee5c47334dfa51b4cdb3116c9a1e2a55b9f74b931e694915e8518c8bac6ed2407d71cb7cfd1aad76741577dbb51fd2fea0bffbda97edc8fafed604020158773c3c7a7e7dcf0928bea7bde0a9b30e7c5ceeb7e85297077b95343baf385ac060bf95cccd0e6748a88c42fd688f14324d62735b355839dfe317b5263060a88750e7b6be8c8b023f0357c1f0a1acd31fdeca1f88aa16defb3e6424f774c2a1536d93ec6425a8ea3f41b8d34785689f1039d5e295c08df736d6cf71d4c2b148583f40389983d0645f0ef41c4174d1d0396c73158121210bfa3a901dbc42476f8faf030027d5b1b5b8e293aaf6fbb5ac09dde656804572b1db881a569beac2a23f019c4273603902ff4746c1c133af5c1741b8d8896013f13aa58f935adee3a587e00a47f0cca925d4340303847444052b4ef01b78b85f39654e7ccc4c59feb23cd1de1d2afef05152dcf9a9b2e938223351da91beab35987a0f7a040d831092a201eec7590bbae3c8ad4aadb387442411ca2c1a66dae9f50c9089ea9515c77fe3f05dc0c69e3f33f6a881c75eba410e00f820b15b6360bbd5c2a607df24e83b10ba629d24c0ef8e8d7d4bb06ba138be0781ff9f6e59bcbc53e45537d4bedbe579f40704baa101da847403cefd0273f72b13e2ed16d30a309c0c5b52b25f6b391b1b3d85cba5d21566f201d56545ddb52b8e1911b94f68a8cd0c936a8bd5c3d09f1f504deb578cc126e3e408ff0963c3359fcb4d0173c7def35f67bc7dc05b1a49c12134ad66e2ec1d0b65632cb08caa2740573f2c0c05188ec27dca1ca0b91d12565119fbf46f9caf53f27f47661660355b0ca891819bc7304919bbb45cac16236ccd896216f9cf650f5bc4978966c20676f0aef44ab7a9c69cad813f34b09ff7425816506b77d8908bfca0d6eddf071140f5cf6aaeef0f37def30ebd3e3f5fe79e87096d2d1b23df6ead70314883ef1ddd415a5e1d8f6b807d333dd7e8e02c563a862e76805fd08d56aa265074d165399710a14b1c0162a414c6291b76ef2267fffb9a0b0d7048b77bbe12a0779b7b0d4a2e2aa81a9663148dc71ebf5f46c261b10267b455537aa28efc05dddef75a22b825895c3a52af2816239383298ed56f9b3d93c43bfe6b86008175de56ff803474f14bdaadebb11a07d65ef0d06dc75e727b78aeef75bb8672f0968addb044249a9382222507ebf07a6e909432f39b52fc087f6eac288d4cf7c78cf90b91d620449ce862a4be2a4b36537d1f8415aa870c0b1e59f5d76cb6d80fcb60899cf5023f09567081e45083f2daac459a68806730888df5cb9b6fbd2add789fd333ca1ed71f699458c0beac0e4a8d0e3b0631f3bfa01b0e5c1609fc22859b81d843a506ca977ebe48f3c136749137ffb6bc774192bb42b2a0d0a719bd5ad6d2009aec0da6f1bc399fa6e833d2d842454de11288e3fd88b5f2658b1a852c7573e87cfa09a34f1bba67af009244016bf35ac10b2e69f4d0ccd1d4dc3224a0eb1b74a8b0365cb0e4459850ff6dbbfe940ca53ef4f3dca42b3c7b243f67089001e48b575130308b8aa4066b02db54071bc0c5c537e811c8140019284cfab7249789474b700fcf74755bf994fd24abf8e43f3a3ac83a34d0e80933d0ce9e760c5576b8b49130f2b9b53420170e48a4238ac3dcda1721851d6fe496de2e1a0c242eae64792d0f0d464acbdfe8f1b75bdc753c2325e900c17b8c24b61aed7f210cbe519b86d434bda08a04a073476b34b1b5d350427340c5c83b5b0b6b93b6b5222267f65dde0b425f75fb5f8cb894cb4e4a2cafbd8ce180d0c0ae418d87e2780eca9809a22309a34f1bba67af009244016bf35ac10b2e69f4d0ccd1d4dc3224a0eb1b74a8b0365cb0e4459850ff6dbbfe940ca53ef4f3dca42b3c7b243f67089001e48b575130308b8aa4066b02db54071bc0c5c537e811c8140019284cfab7249789474b700fcf74755bf994fd24abf8e43f3a3ac83a34d0e80933d0ce9e760c5576b8b49130f2b9b53420170e48a4238ac3dcda1721851d6fe496de2e1a0c242eae64792d0f0d464acbdfe8f1b75bdc753c2325e900c17b8c24b61aed7f210cbe519b86d434bda08a04a073476b34b1b5d350427340c5c83b5b0b6b93b6b5222267f65dde0b425f75fb5f8cb894cb4e4a2cafbd8ce180d0c0ae418d87e2780eca9809a22321fb658f6072cee97b6dab3dcbac82009de512e271ab489886ab5369ed4941f1174fbaaf88be79d412b9672c9d372a7d2fa63a6f94bf935c8b22a38f99927d540427665ed95b17a0576af512ebc575a225cca770747fc11a85e3405b33ad6bb002137e04dacf9afbc347f2bf066d88f624070fedb8de8410940ab528ab8fc49c1000348a4593f63f807baac644f188851307e75faa6d1a7114a37d226f13315b17d1d41e616d5d5955ca49fe0c4e81ac591a26273a2eaf95c9b94abe4d3572253dc6812e8a77efcec0b3d65d200c92af20e215c63ef4f31a0e63ed26f244aff21f6e9fea91f7c6063bdcdbc1458bed5e2a95afcb0f904795cb6c2e639b82d26a2e5a00de1463eb6c5baf58ea71b6550c171b04b4536da7c370ef69aef12c8c7d2daa982b3a239e0bd0e2b3ca8cfdd3c0d41b84cf86680151938a3585c302469810dceb9e8e49179c7852d3c5015c5da82d4231e485afd70bf288c3d61610aa352eff165aa3880c2a8a418ac345f22ca463af254c5aeee1a6c9ec8f4e29aaf56a15b5213ac2c47fbff46fd76024292712217360a321f92300cce78121d8da08123a2a0e59521693ea8ba8e5a36738d31c20d157f1c5cac9dc07a622bbda6a8f2a3ec3780dc2409f4d50ebbb1cad06510336962a8d6e04df231cbbd5c3a303f9d8111189a82ec33dbb11336fba17fb75f8d5d0fb9a0ecad864a0525ef23ed6fb543a95f0d0c5d6c23d42d1919a3541d1fa9f9ddad4cf44848e76a8be18172976131cf7488179689e009592e3f00a3f90818769c1fd7bf721d4024ca4f6760bac4e236a8560afff9002abdbda238ad8d0c46f2b7b5bd4ebb18b49c6ae1532fe03c8347b1ee18be49833b18722368a0e0cc3b19b5b00a9fd326288d49fc9ddc8012c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012628cdd1914a9af0ff7958b6eabe7588a08ee8222c41cacf7a646c5255db591e1d7d6c4721c24f34b02ceabb8adefeaefd3906992ab8a1807e3795a34b64515f1087bf59937b6cc5c7751ee12497aed4da932954c257bab77084b99318a4d50e208812f3a427cecc5175200ca82e968903437feb29ab7efdadc90cbe9d9394e300bd13e822b9e4433521a4622012d4c7de56380aca0be38d7ac967caca97879100e67c0b755afdfa908f54082fe4322b1e61eadbc926cc637268282724c980110f02ded6ea749ce8617271e5425ae4570c571aa65262e095f21b09edd2e54b710cc9cf639a96a7191703771604b63f09b016de46c120d0d5c8569306998d6e2521596112a938b1fe1589d0f19cd57951a54f5ef94078da8fcd29712ade20de013a2b2aaaa51cf5d6e3ece823af4f0d93c3073b414ecc6ac791ab26dc080e23bc3b08e2a6469fb51f08242652dda78d8894cb098c806bb85d5929bb6911bdff7632816d468e648b0d9e2d71cc15a78f144f29a1e901b16bd7c6d6f48593af4c731b561b9f454511a0c684ea8cd8eba73c42d5d7fb98114509ba91d2f97c1df26430b18f9aa4eb0df17f1522e29fac77fc4a77c27f2f8e5928334195375e6a85a03db2364de1f66839e9dca262d75ec679427937eb1cdcbcdbb86fd3fc34f93d93320d65e521d85550a5c8f19918a48b64e5c9082e5fa5ffe4a75b7f31442b12720ed810108ba490bcd05d0e4061f7fdd3cb96ef0920764870f7fc9989099711e0317f8a0841c09a4cf4f87d27bb564ac5506ae441d19557b0d2fde6f0da1e0c732ca18c77828d93b934ecd028bdf91819006df7e096f1272da449f401ff7cd35310cc5b13a716d907aa0a8da5b4aae0e63edbca47239ff78f7f835f7e8bcca1e428a16788379a9fab1cb7e498aa53b4b6652eecc5959933a6f0b335531d6ae9692478cdd43bc8b69d060034df7845e5ec1c535c701b1a222996d209ebd3d42725293309dbf389b9e4845e2b22ded0322ade8b5aaf0f1e655b60a85270833292581f4ff8ea8822cab7cdce679f3b795f8a4e9a776e8f8f3b72874b26e709d2da8009c958d6792464dafb1b1cc27068e927d12cf37503512225f8bdb94b44a2ad900b4b763cb2c1becfdc0f3d5dc340fd25e566d741c93f39d2ccce5a7c008a4c2a0bb92a3e2e6bff213c760805071d16da1c9162300d721f62484a0376120a7db32d8551b653bbdfd9c1cfeb0a050ebf399ff4a0c2f10b25315014afcca2f9cbce10225652314cd43ca5f26bc5dc3f00bbfe1f82d7e825ba3f81f9052d8aed70730a4d5a965fcb56cd3893efa9f32aa9c2677cccddcc213d1223ebfd5e1b7e31120f41d6a4a97c71b5f81f7dcb6c923bbd6ae9593fe81ef2befa00b9d99a16133c23d9571459d80510bdc8a1b687305dd02314d9d8b1d47cde69ff20254fd6da652137748a07cad87a70def0ea62b8ae6cd13809ed5f7d5ed51dd2e2758ffd4d211aee565e0fddbd0ee3a2713bb1ad861cd9917838a52c7f9a03b05986d5b3bd5a220c616e3336c62b4db618214e3d709450a059c7d99304e206ad2bfbe595a8f52104fd784bc99d0ca2c11a1b9c16e0e13d3e19e330f78628064e14f1540835fe28ce3236526dbaf55052f341e17832e8e53306dc4761ccbdba1ba0c25f38da600a9b5988a817fbc472cf0e7a912dbde00394a1d31913c328cc9039415eed82613ebaf08895038645305fa50e370e2207d0577faaf690eb5659f83038f789568b2d21ca5f108c6536d507b6281f5703f632a54d2fec4bae3a18a06785f1eedef4337f826557a55d21ae3dc08c4ccc9da268d10e0e262daf545f2602c8415d522f1b4b125a3c7d8b7a9b675f2214778fb48348ae2441c18e1af27846d73f5a57d5348747d0f4d2cf667ff85cc668e9784f928d932c5e62ca82765223f08ff82981336a2d363eb188bc2a7aec9fac5f3eb31c38bf773c4b06722a51811b488915ec3ec7ad22ac0199ee3462057b745867e02ba3655c7b7eefd50e5470d18d22cd321204166ee1dec0b9fae02ce3b43b620d2db623c2b126e9df00406fbb6d3f95fe2f8a017967f68fe689e8d3df4e20f6ee3ff5d7d42b09f5c8ba5e4a918630bdd41af2db7c1440fbd328b3b9223e7e99cbf74808b4360474348e4cb10b66ae9490370d75f07d26bc4963804defc757d7c31c13020bc2f9b362f11ca5ed72d568443094aa77691824e628cdd795f12594000aa14624f9757f1fbbdcf8bfb067d1520fab3b030e399a910420f77a6d3e1cbec6da7633b99b0a852ac771612a40b90f3054c4fcf1c6656efbdf088592c1e3415b6c22c84fb1ee966e65bf8bd5bf46f20e58270f472004d514a4d56422368fb9bffdb60696ba3b7e3cb805f8d3439d4a31a7d8f0b8dffb2aeb5b2a9bddc970466248e2f57292bd9d5c752af42cbc62b707b8c34c63a0182967382af4ab10cea09dadf524e856305b966aecef2052127138473cb39c5fe7d698c7d50b54ef315f8498a3d720f6c8c002c243fddfaded90269bd07df22078cf0418d6c7575409231465c9b889aef1c9f016a0aba19a5c3519642f820ddf8730fbe72938a8abf6dd0de0cf437f9e0751a91690415e65a3cc0fab3b030e399a910420f77a6d3e1cbec6da7633b99b0a852ac771612a40b90f3054c4fcf1c6656efbdf088592c1e3415b6c22c84fb1ee966e65bf8bd5bf46f20e58270f472004d514a4d56422368fb9bffdb60696ba3b7e3cb805f8d3439d4a31a7d8f0b8dffb2aeb5b2a9bddc970466248e2f57292bd9d5c752af42cbc62b707b8c34c63a0182967382af4ab10cea09dadf524e856305b966aecef2052127138473cb39c5fe7d698c7d50b54ef315f8498a3d720f6c8c002c243fddfaded90269bd07df22078cf0418d6c7575409231465c9b889aef1c9f016a0aba19a5c3519642f820ddf8730fbe72938a8abf6dd0de0cf437f9e0751a91690415e65a3cc2d3c5a2ae3b70c27632e5cd1962a6bcbb8dbe78a8ace801c75ea53f1b01aabd62dca7189c088c4564e4bb07077af0a2648cce45f2a7d44ecaab9bb6af669b18a11d68caa2862c78883eaee78094d9fb69b4c1aed67ae908a1a76c75ec489012536bc066bad4f192cbdf19e4a06169f22f64d1f342a06c9e1b7b20cb69f53d5791e4db0e31518b87a42f0538e399d6b2f691956a132ea16068ad7ecff64e9c2952e6cd9197d9b3e822ab85d4b71b56949c6ad5a7080462e5fad320ee3937f8b783ffc58e97097d0a4097954b1ae81d4c5837169638a65b39effcb2951f6304ee723232865f3a9095a056366ad1b1c6884e50783e399e0082035000b57bf1f47990574656427d2de567f045a9120f3111440b216208fce1b718f06d4d48e9bae8f35707a03b5d0650000e41844aac61433b16a03f1c65e6535376a8e37e27f5a883cf1b614ef39c5b4cdd498988da3e3d11b0c7562a586d16a9fe2c81feaed0e693d0f2062aa4398e3775e169102b29dc558b50c84ab7d89fbcce78d4cdc614ffd22af933e31ff67d47ea6b31de5d966743c679281197f46793611f1571eb391cc3dd2f75860a1d9fb605a3650255a71fda0898268c6dd57ac2fd26b13a12a21fe170ecb146ac077cb22bf1fcba116f05797b9c7cc38e937f2b98480aa265cbd072dc7273ecb3464ad95e7391de832b7acfaddfffc4c44cb3078b97e4375d950d033d8c408ae926739babd19d6378e1fa91b1d2b72c525beb40cbeb47947918ade1ef84ecb0d2fa79ad1af5dc7ff86934df1e4090c2b6530faa12258b9ad6c0279131181a72c42b055794da54d7d21bfa7d871d2a0d02f13a023729e9140d0bf1d133a5ed6370eb03b05d39e112cc66c15af5b9f90307f84664ea73e4d6c87da6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012b1b0dea63836f0dcf730a134c9f1a46db74e5811d7591872e70a47075332efc1b4018b0795aee8f38d4ba1ba0a754442a840cf365aaecf0d22e3da74ce2f71712f19f15716cbe73ecf5e8b9651022c30fad0da080c6e2de6336999024e63fc637a92a15725e12031d79f0e414de40b4140d31a67fc90204ef01e3bb2567efc12808488533f2396af23e79b426cbfc3452672000cd0722e5e0bbb1a39b19020f15153ab142a70523c028bfbc639f8e054a351d22567fff30af5aeffbce35efec3320d2c453cd39a3ca7fe215583a6669fe751b4a2a07bfc5bcde1b3d4c7fa3b00746890086db76b1e1e6f271d91573870b5e8ce83065aacaf6a1eb24581fce8000ed306ef944109607ad68285115c1373aabdadc04efbd4e0be96674af6df6081f94d05fb55ae796488a1a2ac08d3858d7fc018f85e72523cb8d4a4a94043f681e74dce91a61f830000261fd4da47da1dadf1f08b933581dc53b78d82df14a69103957735d0ef3bcc5e6acd7fd1d40bf3352027119c4eefd8263082e08e789b301fe27dd4d1254b6f6b40e43b01894cc7d4876e1b20d2d2b7b73398b2afd0ea0253cc0ad680bd70e972d8b529a4fb3da4e1ec855522892f2b7f236bd427d97f61662d4d61f4ecb309a788d51b754aa223f0e5ea7593a13fc2559c1ba9147048511d106fd759ed39c535d9479a47da1dd06dd946bfe966b7633fbf21a880348e92606b1feea8b5ac193245d3196f1e34502a8d131dd098e2f0be6910c16a3a69102ce500feef5b45fcd641a304e0b4f41f5af9d6ed9088eadb1225e7168abec54387c667434d089c312fbaa54a93c17f19b62ca47b6b46df41dbe5c73132899fc2cc86c42b978473252a50ea489b29ca09c79a9f9e60bc9bef20871b6e6ee609b21734500ffb43c4a035d1cb4e8a7843ab7cd486d30dafdd385a1d3e3e823d841279df563456e9a59e29e068074e2a50198a361b9a30a216e60bbc02f3bb897af233aa1033b853915b0672d5ae41a2d6ab0aabcd35b64008d10c0f46daace0fc117bc330820e642c6109bb1e3fcb9572c46b857edbf398657972c87904f77b9713210725d0ccacbb7cc9c9c6eae58f99d454f5717bb600bbf86a333790ba48adf2c99599dfab99af51c3d8dcbc6d8dbb814e057bfceeebee0a46d4e7bf4881cb001c3fe033cbd85c36d6c6cc16793d930e739173f5362709c015c0d93341519c8279304a974e87fcd1a54251db9ae5cb770bcdf2a9210bd75b844f5b00ac267f204bf065109df5faaf7ed446de62f872cc083bf95ba450a900e7a12f2144298ab3465c848536df3a44650d8b5df4f2c360146c2c0c2d36e3f78daa7ad211e1af6019f8d474014d9dc5eb88a8614b2591b528891a5b7c9c582f70e0fe4c42adbbe1e39fa839960c78eadfb2d56cec8b108e4370787d483d477929448a9c836bf7f2f6c3a34d7e073d08d3771f7573ca11519d3df32d7028d248a518c6e693dd24a198013e8dd735d491e1ddc21e8e574b8e1ffbeea8b22ce72181a9df18a74e90911449cebc8d073d3760375ad653aaca808a73cf68240764be8daa53bffadca3c10ef0648089587048fe7e1380e9709ad6ad5d6d2aab0c22169a41c2c31f9f3682bae4b4d14dda58f4c6bca0c22403ee3137f9b2440c478d6c006889e5fc916110b0bfe2cd7cf3fbc5417c5c297e5597196f52c01076190f1380c638c4327d55c38b1346c54218198234588f9aa7f52e23950bcd65bde129c9bb5b6b52b7c3ba40041455adcdfaf7d122d20ac1bba6d7ffb4cf26b18a440717da2b4a96e16149e28e68540f39210eef4aa38066a225daa609a288d884f912d4261743e411917172666abea20ec8d951f2a3d8e373bca9001d876dad77e7b6576c642fe388a38ca39d6bee3583a1534815617f198b9735acd78a7a73d86264427cfe924a817b0c72bba5789a7d36555b0e5fcec5c06b9f59f718f06bb2fd2069e69c9750c9b0d092978f1dac0b2a106455a283e0dd20e307c0d0c827b1e65bb1f71a1636030e9b009bf4991a0ce1ef9bcfbde3119bf7957bd9a97b1acb1d8c41ff01138e77ecdca30e8e6eba4b2c6852dc074a4d34da2fb6203f2accb57afd8b21e9cfaac0c629f37a15ec2e0567bcc2792e53a7ea9a8e77402807c95b3fa9eb655977744a8c2e4283f5334d83504175ddcbaa5152c8af7f8961237e7c042b34f3d9835d2312a5b0ca149cd28b92b99130136aa83e810dc54cc608d80fc82e737e32b97c8168773128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb2d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e161cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db996234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b0fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e066128cbfd20302cb45e9eaf56ebcf23b416e4ef8f312b5807a0ee7159cb9d5f1eb2d73402dfcfd34ba16150a91430dc4beb3f7a008f69778a18a461b50462a0e161cbfbf1a0f0df85d9196cb29b0bb2847054443c3543e8946b1563b22a12db996234040e5f0f207a26e6934d64f44d7b91d025538b50e6fd4e7d6f5ca5ed2466b0fbebb824b45d9d3d7f1f7d073a7c962d5c820d8929ebc2a4454c5d325e49fec3041447db4ba262c280e082f8c58369d4c7e782376ae3cf154d86b19da1b60150eb9a98b785d412337b9d7124246eeee0aa20b3ed3ccb3b7bc7aac32bd771f9b3146567487a2bedcc84628edbdb9111217a48dbd35804563dcb284ba4288e0660c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f204ed39a11be374a6c61c5e56b99bfcc18cf3844790a53d75fbd6e84fb2bdf573150a02f1be7f1ef6e5d539f61024406f5775519521d6cc7c9950525f5fa4aada0d74e2f03775b875912b96ac3283964f743ad231615ce45dd019a92de7215f2623d68946ce7db09838488799cc26708ec25b07035bd4125434df12e54c43161436cfa05d1f8a964f8487725e17b706796511f163a90c2b8ed8bee1a01942b2ef3e09a008b12333de5ebf7bd7491a6057d805fa133c9e7aca1af72429de942b21129cf07917e0f6f74dfa0ea45306aa838998cb7993c6a79e3d670c4e0bc53b243080109b8e11cb95b617db32df8bfa5d6c66aa07a44be7986908b40791720e3e224aeda5e80d9f0b4b9f28a46ebada91a7caadd1333cb8555df5ae78469b7ac232d58f72831e2e497ee3d17064aeb6ddeeac838f81c839d8efe9df705821b0c73076fe23b03888b5aaa918edcd4f32c321823cc0adb33632f1e9db16cda9b5e816cba1400ff2a8417eb0331e26616363d79e0b48a9e1fdb2dd0cac344828109335ec228b923f1cd1a42a6f3beb9b3272c56c34668370cda6d49536568613313a02c507b31e40838df275347256088c2be6c44f5a2d9c3c262c5e29e6d38b057d27aa49214bad7908e314ae8987072953dee3f3a87ea3cd2203ae53aaf82756e9261118efaecf65b4fa1b74b0351e7ecdae775860bc9e355ff25a28cadbecce072c01252eefe448a5fb8656317b3dfb34be0739786282e5eb259d24126d9d259c18a0a7978fa80185618502dc0b14c3ab2f4f1031bfe3c32a72df13e78b24bef30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000133ab4737265adba2306d44075cfad0c9e6acb6ea9dda72da9dc9fc43c8b92ade3abc707a2bb38e76ac38c14d8568ba4e6c574bc16a17fbb3aa75fbb82f390a690a92657726b115a8a0266e2fdf36d09c0ec9b9ff6a68625964db53ee843607c83cdc2c4b7683675d564275b9a69041c6c23621786f57974dc300fadd44fd72402b09b89313eeebda045c4209c273d55f213a5bd32b1b312fc0f5bfd5bcb3228329e5c2de14a6c8c6c9a6205fd3e553e24821228f1f1708cf768e325bda43199f0204a7f6b57fffbab1020e0801623a9ce18eadf6f14f440f10fbab87b043936233eeef865e81a2f207d8ef670d6739015802122751df8377d9419254bf8e31572cdce1ca4b43078d0b591b515f334c8085168c2c12aeb8fcd5e21233d45d4ea025ca94980be2e1981ba2a000072a48c707b92085f6a9ecee873d25f9a16d07043a5cc72520370d6d4e50f5ae790f5d8dcf73eaca32452bb95f541d25c05dfd2322e21d79194f16318fdf75602c430a7d97784a56ee3e6777937d26cb4afa61833dc5a9fb054abea890bd41706b9085d536c1e6cd3716804b358d1cb307acd45a27ce30aa6140ca81b5457b4a8682c328bdea1d1a7c05c5168c2436ed0de4700935e0a176287c59e6af79b1e8f2f54d17d41f8e920f1670f5dbe790d3cf32db413f3c766c106b9cfde0f9ad2d389963e7f87359454cc0806bf85452d34a3663f9126ff9b8fcb1dd8706c56729ec5272957a0d79ecf260b3651b5e65deb222d0ce2b106f66f9e41386c3973b22a7bdeb2b3eb022a7631e75ed17610075da30ce19109ae5bbb117792194d4a7569779fe5a41ea138c7bf4c299cbb378ddc66b2c572049e565abc0b567ac73f4ea1926d775146e82f7d9a4945c1610b35c2ad09f8c35474fe225c4eac76d4a41f6276c55a43827222930ea9464e28c73086e748d8e2a111966b5f682cb764765f49a234f08aa6a4eecf3c414a0686d30619e7e2d940d9a2ee7bfb327c2a71c62a2be19a19aedab05417e7032de81662903c1b476483d83d8e5a6c6e20c62a9231f440bcbd84e80c7e44d8424d9955768d266d992a70f2a77b71264d93b8b37170d42a188d9a76d22df7ec87ba9c3528457bbdf3e7d3daff3ff7a417f47eae077b94c59f47e433e3fc55e02c9898168a57fa097d60a1b74cb99950a3b81e25d05a4d0c298997210ca99386bb1eab016f397f7c65bf10178409704e6b87ab9e5cab94a9115d2374f13c9490533c51e4e6b65f08b2ced335d29958c3d97c940f9584af49991fe3476e1820a0825bfde54daccc74b472f10a3e812c80c66f1c6562ad82f70d12647be0e53faaa66e329534de3ab8faa56392aba6196d9d39ab419d3898328734539e9ab56bce334e42b650d9c50c62c32278da89c44ce89db97e6a7a71afce099f83c12955cb270ff63fa11985ec09b1a1f29ecf0870e7cf5a64a6f665fb9dd0dfcf9bf117de22cea896f6bf2674c60f203b31884245e6782ba37f379e69898e0221eb40b0744b5e620a24bd825f600b2111ccff1d7319461e14fc608c4126399f460fcf9d1e8e700d29a1d1f9015700718ce1c44440170a4a3b0fd546ea62fbdf12b1604aa9c95bd19f8913384f124490864f906582c780d01891eb05406504a33ab8dfbc9bdb66abbe8fa7e265bc16113027dfc3f8e4e837b73d9226bf5b6d332d7e4fdec7b4fb8d32c9c6697cdbff32addec8dd54f4354c0fb23c29fcc53ddace374576a61e3e3636f64088b7c0c171f0fd150ee48774683daf01d25ee7fc962da7b2603ed65d283e22decb9f25da8270101fd86f4fa57c7965654a15bd56f792d1edb4fce35d66dd2479a3450c6c6191e187089d84abe964fcdc2a42213982b1022f92ddf6750ab22ddfd0ae574b4025b6f90bddf32998a774d88e059b950a3e19408726320459ef8af5a62f2726038a608cdf25274a7388b409f445024eab056844f0cdcd521562d00c5179f2d1506d2575509e70aef9f264610ed2cfa23bed1967d8dbf21c0edbaa257e56f45063fae5ee1f425ec484ff804a6e875d9b1cfbc20984032e073f5186436527b23b004435ad2ebf87c1c5970c74c92b504e30b9367e97cc6caf5c23bcc526dea834627e7be6046e1b29f7e40ea67cecfa2a517be67ad5fad4666f809da03a8eb878c0c5fa0cca1edc47138c4196d57ee81d835946f80e647bec96a189f3575893371305d6d0b1282e6713d10a8edda1a7c58d0344b3584686bc0b069a52c358ad7113c10a0708141d6f1d8fbd1cbbb5cb256ee4eeddae80d4551f2d19dd7d0ea978403ef5f8f7ebe290e27042e3444a34da933f7ab21213fb3c9a65b93152f15687d2c532232864932b93ceb18faa8cf7bb21e704156630e762b596351831494f59013acddcd79b6cd46c314e7055730844e03d657a5a63e82f03fc9df69eb6b0a711d9faafc9f6dfd9e30977ce54c0d6a7a315d7bbbd3616385f36904c866e8cbcd2260550360920261cf68831ab3f29585f0e91d4035eb9595a5c42c2499173434141e56ef1d25f416f2f5707a7c431462b24638b30e4cff668eb2b610028bfaff2be1a910e2da0be90d0a8f8583bceb9d70006048fafff9b50a7a7adcfd7405023c10a0708141d6f1d8fbd1cbbb5cb256ee4eeddae80d4551f2d19dd7d0ea978403ef5f8f7ebe290e27042e3444a34da933f7ab21213fb3c9a65b93152f15687d2c532232864932b93ceb18faa8cf7bb21e704156630e762b596351831494f59013acddcd79b6cd46c314e7055730844e03d657a5a63e82f03fc9df69eb6b0a711d9faafc9f6dfd9e30977ce54c0d6a7a315d7bbbd3616385f36904c866e8cbcd2260550360920261cf68831ab3f29585f0e91d4035eb9595a5c42c2499173434141e56ef1d25f416f2f5707a7c431462b24638b30e4cff668eb2b610028bfaff2be1a910e2da0be90d0a8f8583bceb9d70006048fafff9b50a7a7adcfd740502047780b393c9324d25d3cf2c8399bf9cb8b67dbfc80f7d2ddb11c11af25663f7235b5f0d6a17565734c6c297adb20db96542cc678885f50ad8c48986405d7d6b0c42ba95e57d85e81e62e43ece358248321ec92aa5f4b75b78640b9689961a6a1d8394ba2e4adcaeaef721748559b459a82e03b51fc3c9ede424d047bd7ed5f2181e8bf8f9ab9e732ce7381e0cace63d742a607207f9c9b063a5864bb31260fb0e40fb4030b8ddc009548ed0b3bf07f7de5eac9e3ce4255859aa1894311c8a8d07101d5672e006d61675a0895ebd404eab80d0f02ff948d0f82b38e39d0d98cf3d1c8fee63afe0253cfdcdbe79ffcafcbd8f9a9c4e4cacabaa4a448936a3ce2c1d906ff497689c52990b2efe573e8e0e0212fa95c7128fb2c922bb7fb590818001200b0c051f07def641e3e06ebcf2838cbcaee8c669f9be562ed5ceff09d3472f009cf7223581e80ad8d773b83423dc2b84947f6f05f103559ec0e08dc007ca2f22d8857a8787728d108da15b9423da220cc576ee6a1b670681f4020f7a3c802f00b1fb1fb30e5d9881103970e74d0ae30aeb635fbe51c83ef7798021ccc40c39942eef54733e57a395e5d4a2c29b9e16801698bcd2630d0c217227307207ab205325839802eb4e96ffc56d32f6a241198e8e41f2b3b3564608c5e961aa17753a5373b64b13589007dccf185ed8592bf51283ea1c1b0e1ddf55f29da404751e202ae208448e95b90855fcda075d1eef3fd2874c476e236db864c3ce146c4e8f27564ca521a68233978eef6544ea542930ea90919091bdaf045e1fcb977022d433086ca0b177e4e889abc6116e9be13b33f1a8e0c8727438764efd8d33a92d2a134b82586c88b311701c7f214831c2a59777c7822dcf25527f7849e10ec6a2f3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011f3f04856050481b7c38d4e9bb24796f82ba591ec00866e5103393a7bf1372683186f0a7d0788bdd7396b4957bc25fe71f6eea9486aebde24ea29040d6ba0625328c678a6fd2e69a7761a71ee1e8a565cdc5f56e78cae4e31b4b06ba202c82981db191c80adade4576d2c90e99c6c2476ef74684ece2f329f0a44f92d3a086dd0e798964ebcaf8016e03669d5ab4dfba99343b40e8e394c653137b0b00c0136d3dbda7d40e138105c7ff739549f99e5d792af1bb75035ad05fa077379d3cecf302c94f868159dea7c894cb6cb8f1e87bebcc451a9059e802e5ec14156eec9942122b566ebe3b9630df54d9990a4a1d3efd32164c89e9bf3c2ede9ae985d0218938a6c26d99adce15091278df1fd6fd4b242c36837c21989b83e420411c44637b007ceb473cd4f6503977fd24e41daf00f37f4a6416740daba96987d59281c21510498eb0a31b153406261d0527c254d1fb2cb7500d9131b334c9712024506afd0907115448afa93d25b37f34e411de1872138a247ae456cd9a7dac0975a3b234382b6dba12eca5e934c0ed589f01de106419315a8c03dfb2606ecde073e966530c7b28d4fa1f8678c6c63e22aac5547b29775abb8e4cf241abd849e4bcb7d3fa3ee278477e3d0d5e5b6e9f361ff48ada6756dff66726ad23e4520c171a7066dc15a0cabc94442806a0a4965bd9682da3ab95a14844b71481fe373e6187b05a650ff534718756d6e2d825fa74e0399d4e515efed1393428758f7d9d3e60689f3526ec21e580437391ee7f7a33b40bf0cc17b82585fbd0baffe6a35a7f8175c24834121cbd589f1687696fa55d38733036983094f30c8c9e0cb0420323bdd176a31a753909b654acfb873c245b76d570932bcab3cbfb5415dfc5c589b78e17aa7935ea52e4f908770f2f7b50eb5c9dd57f8278a63915da191285c204ed8e620a2a37a0e4dbbedb545789626bfd642ec3660f107131d4dd133504ba3160b16307d331ae39623166a21c7b1bf21ee707ce46063c72821686f5fd1ae40974bca281bf2ed5deeade8e547edaf7497522c7d7192aff22f6668996b939866833c94b372a2680870935c1ee6045eebe2f6f0325b1cc9e2389100b6da5d6fdef765edd009d33834c16ab9c03ff5d50dde11af80e430b2f59d54dc1ce13b87fc6a24cbd2afd113b3147ae49da94a7daa39569b5a400d898f5b840bb1c3a6c0bd9a1164bfb3216215a636ebbaf83802c43cd8fb43d0eb510f7058ac32ac81455844c58a7b8d126e420610f0c6360e0a7377119acff3d8654ce8482c25eedd63e2eb0d3685c8c3b0a08df022d8a9a2f967e7c0e745a3d78b8702ab9f0a644274687a648252e4c1c9b17a249a0595cdcd64823d35ef53e96119975b60a7a5795d7ee67d4f032233fcffc5a4ac8d02a1dcf568924df5005827b848b4804c4b8b25a738e0e0979a32a9e3cad9ac1a8367255bf7f52eec12cbc4643f2d813c3d00722cb45a2f452c00ed7b187f05e1bbf9f2cb9dc0e5a55a860d077c0920a1f138b949dbf36b0a11a120761ddf5fca596fa56580e9887ccf8d84bd7ade8744b0d8b07eac5619d79222ba7582a3797d3d6c97b8a93847aa07d1d90fd090f6a71fa96f3af9b1692ed381a5fa89d84c8d3df2b15ce8dc944250fa1dd678e678c2f83eefa8aeb8fedb63b0ba59f19217bed14f5c51d0cdb426d8af2f87bdd5fd9f8e1a3f3248a57fc23fe0794cd7a6dcc3f7b923fdfb934c7af5e131875e24b45c59ea023c4dcfac140ba119d0f3fcea6e43268d16aa1cb08c50603db7448e346d1a1881c5163aee021bf1f5b1d0fedbc6c9b02b33c37ad5e9947a99af2682dc1381ea5cf97d87bdc64cb2abb6be417be2aab399bf6d8f1dd31203cd3bc653bee6f26c4ce7f0dfb1ef84238b359839e2c05e1a4467ea2f37d30013848dbcce734265b6f2b3b75d806004a0cdb4425de8e34c2282caf7f7c7e1ba1a2bce7d9e653a573f6753c139fb73a0d0206ba34d665d3873be535f5bbf2131b6680686cdcd8bb27022155cc8a2629c431019ca5ed441dad9fe6d987cff20ad4aeac7383c468e6a6e657ecf6ca4ba54c2cebbfe5a444962b63d177a6d23d3c14d8da58819a033cefbe92975ab3cce3221370d48c5100f0f419df43eb18157bcc2427184029cd99d225002ff8124ac7840198720ebd700486af7e1f3d819401aeae1ee16b38e3fd1d91ac53d4dbe85b8e0aa99081905edc2ad58abb4026e21dda73e33b28c655a5c300a82f270e3ccb1705583c619af5427e182af24565bc94f9fa8c155ab5d144db47a1f6e6ecfe6ee83aa7c39e650abd81e7d50dba9a436b0627ba83a1537bb440518b3a06130191191ab92de806ca4c7678d6bb5afcaee8e1e4bc6ac58d1658486629d282a0f82a882546d217f935b389872944a50351171e3d8a2e367c36a0d333035e6a5f07d579059de58821f37e505c31a8c6ef6a8c693320e3e3aed5c732cc76bab324d8d4a63a621a77de0c81afa3ce573910957396ef25b5185a7731e8ccb67639db272b5b1c157ba8a9c17791ccf84be2ad14be0dffa473726a2ce3fdfe51a57fb83c273e23ea8457563e886e3307b41d52eb41f222a225899f20151d9adb8b6d47c3d8c305583c619af5427e182af24565bc94f9fa8c155ab5d144db47a1f6e6ecfe6ee83aa7c39e650abd81e7d50dba9a436b0627ba83a1537bb440518b3a06130191191ab92de806ca4c7678d6bb5afcaee8e1e4bc6ac58d1658486629d282a0f82a882546d217f935b389872944a50351171e3d8a2e367c36a0d333035e6a5f07d579059de58821f37e505c31a8c6ef6a8c693320e3e3aed5c732cc76bab324d8d4a63a621a77de0c81afa3ce573910957396ef25b5185a7731e8ccb67639db272b5b1c157ba8a9c17791ccf84be2ad14be0dffa473726a2ce3fdfe51a57fb83c273e23ea8457563e886e3307b41d52eb41f222a225899f20151d9adb8b6d47c3d8c3017e4595818c00b7bf91cb4323c7eb268e321c903caf42fde0af94c8c487ff2e17f2172aebcde50d1f14eb99dfdf7b73471aecd42345acc5df8332f2d5a66373132e874d9269da5a10d95c3b2141ac7064749d52480c901df5025a9b65a5c83614840fdd36afa8903e9d67a823a1e4c1e51801a66643be9dd09b1a27fa4d31260a152a924e8b7dd9595f6445f3e70fb785ccb19145a0c9294af337ba155b21b02dc2af09d100727667954a81687fc25d6926f601025a0d44b56689a9ff532c9239b92df17d3897351f99b52b9931a71d512b63a2e7d1ee26df4bfff65a67f3932d7dcf1cc8d0b76a50c594bdb7f183552cf9ddaf757f967998f2d158e96a49c00710342c1018c473716f45cdcd53be5a62b671418c72045b3df7768c1ad0a5e5031f5fce872b2927d2dfde3b252dcc9eb691a5f9baf5352bca52a376299a63f30694346b72586c476bd4113481bed8a029d0ac24c2e11bba068f69cb747ed16206871a64e95b0cb807606c3fe3ebba5ea23990839aca0296bb43f4fa7debc16c39deaa95cf1556591a0b7bd4339518d3303c3e0961af26e9451b1540056f71542a91922011a76da20d26602c82ba9d96d742faa19d19434a920fb66e90677f6a3d9dc50a7d13dfd19b4f170ba24d48df7adbe6c7585c901285136622e3db42352539c3d8df2cfa11fa68c76a0c5c1864e031b517027563cc30a532eca32cffc301e390b729b2961e7395168a7a97cc563d78f26dc4078fc1568842ef3ae4ae560a404f85c46c29b12b44f3729034c481d4b404f189c06384ac724fe68ffcf0f4086c0750b865a3ff5343a2f673833d7fc59e50f0957b811661321b5c99925c720468556064a71d08e8ff0f1bf04e3f1577e7a28c56c4d92fa9142c00401d5e67000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010baa49baa97b7908cdafeb68527bbc6f821c00c75a9d0dedaa33cde09aadf55a3060fe0a92a9c55e3a258a53e3654b369ed8f4b16032b5f8e038698705154c7c3721cdf60eb2434c85b95f520e97730c211977bc46b23794c0db1a12a2b170fe1b74f83904bbe2403aa781a71b7fd803031fd94ff0b5680c70111b2cdbfc7fe713e697165fc3f314c34c60b89065656cb64f110e77e079b4a86783dbb498249b0b2c8fce415ea629814b9f60bb0c6d998f576695490a95f4e4538685166e71d03c6d2dc6d1903d437157aac057b695cf42f7e224178ec1f5857c61090fff782132cd885a48f02bb5c398dd57e3e06cd55b4470dcc244d30af15c95cbe4d0db99143ad05a73cc3858c962d49da8e8bffcb94bb34d42c3aa258744f387329204a00adf17a076f48cacea59dea6327967484069744b7dc309c6fd2345a97fcd9ee505709ec9bfc1b32fff32283d73c3d38219a847b82735e872caea09b412898e9d1653607f5eff0317eaf80803aa4766f477ae7e1ad62cd91d753d37d1f547fa813b2a800e9b77bb3752959df9ae649ceb751570d1a4ec46c2899d09a8d47547e41c62a7604a15266841c6bc4ffda431041e0abf103ab7f34d58b4764e9144a49a0cdf964854712d4c0317a0707eb72bb7a1f9a269c3144c0175f8a4f042702fdd2df39d45ffc89b3b83c08740e6f6a6bfaaf9b68e48a6898f10d629d7860209ca1815a886f7cf3602cb6ba5f8c561640466123ef3c8fe8710ff7396135a2e18380e97d0ae065b649d23acabb32ca9aeba225ad2d295f177bbbc9b1259c4892028259e4e1b046d399ace4fa4b60e0ce9536368100056d61e5586eb0764deb0165900afb602c4ff302031a59603276b9c1bc4eb7383ba7301e1b978274912f810e02c904d501cfb68b3609fac3cf441a0681437c93f3abd778cdc224798299f36ab10c6c477507d7174115ad70591b7153fda597b33c152540ca8ba66926af722c215041b23b3d24f15953f63010a2ad10a795db47db4ed3ceaa4336592348e969f085bdd8e325bd2a014720bdf29a665b9540efeab3096cd18284917c282c76e80380cbccc942b90ddc55bd1eed70fb37818188570ceca2a36812ac526a7e731203bae35ca76636e8d3c2a17fdfe131d8428c515b297cf43c5bb62719e9228be6714a00c895ed97331f9931bf6e2d99d16312f212813d1d62ca04e032ad9ebbeeb134613d13fbaee9aebcd441c4b3be1754c07316c8acaa650a2f4eb925a2e98a81971adaf9fc45ab51c8397f786a354871e302b9ca9a149bb4253fca75f94f1df3b23fa4eefe534dad26b613e2893fd4eea627afdf9eb745f3754e761e920b7362a8dc68b588daef191b0ecd82a2c58751dd8ef3c8abca35a65bc90519ee6a577163f5e8fc1355e88d04311f443e926aab2dd423197a8be01ec8392d38aa4a42d2b2d3a5aa62f670a467ee0be5042a018226846e8290532212b5f652ee583ec7e185f721c7d8a08fd9fff2a9fa4d9f77348de3b75783ce3f970f889eb2e6dedc13da9695e40e2f450efb7f12268c0c427c5ec90677b320be3044cf29f7a1ea4e33850cc3edfcd8c85b318d08fab5db35fbd7d73fafc0ee99ef98f071082c54ff62c97fe87d36ea06b907bb6cc9fb95dcf3db32db746a2e81a1a3fb603839b51bb2cfe188252d6ae75e13a8efccb05cc7dc7326ce4a47f9a974d527f5c92942d0d30613261e4d6b256771e76d101ffd114471b710f89bed60c1bbf242c17be569f3a624445dd2c0e520f22de60680881540f2cf1ad37ea65c8540d9c83ec898eea0e2ba8284bc34a78e75cc97416d05ef757c3b5b8a7408f34f082dbfdc2a7c8e13275585a171326bc8d0dd98e11372dd04c197bf0055120808e63691d961a1bf913027ed51a9e22bd347dbb5f7b6ad2f5de71c8fe2ae07c7754cdd1dfac91bb0025501f48fb0ae28b6a2cbfc42247e266322187604e8198b9cc6ea6bf0a7b1d7124f2659b975bf74da2ee2ea9d2b3ffa0cc45e7bac6ec9d4a09cd9bb8c346c1d9185bc1494bc091a719172dbaf199189484f21724ef1265774cec031f1f1bd34e1491bad2a24b608fa090b680af1a645860e16a204e9d5918e1d49a4247cdd12b1688b49757947c292d656f87e551bed9f64a52d4c004a6c5ac2309e47128f9bb1075b98661128856bf28c26cef3f2ba42ca9b0d0c1070db9340f65ebde7adc66235bcf1f7e8da16f1503a9c6b5b4179567b8f320821d2cb4655a23e28b897c0e00000000000000a0152599a1f50e7cca47d8e10ccad937c08d286667fb1e160fceb62ad73a7b846d3433fb436d6aef20187b7558d7857700cead098d0a96ebe9be65d62b0191837d1090a87017a510b991c8c31ab69e1c6476f28486c5f6ec227203e6640ca1e50522f58ef65f01edc5e1e12d7e7dfb8e2b874e0555085ae8abf652c4484ae25edb13e2c08f18055e934998f6699165d5cd13175805a5c3746c9be8eab8045f670a101fe79c7649de1ba5403a1bf91ba14c3e9cfd2e608262a0d9fdb93556ba969216e0e30e7140a8def0dd8b0eb7928fdca2a058057dc42856fed2807af988db091ca55458056655a082cc658a7d071ab35ba031d6508dac7769842a315dfb68d7101fe79c7649de1ba5403a1bf91ba14c3e9cfd2e608262a0d9fdb93556ba969213e2c08f18055e934998f6699165d5cd13175805a5c3746c9be8eab8045f670a16e0e30e7140a8def0dd8b0eb7928fdca2a058057dc42856fed2807af988db091ca55458056655a082cc658a7d071ab35ba031d6508dac7769842a315dfb68d72c99450dc927c3638c2737366f74cafbbc583845b372f261784229c7c77e8ecd3dc0a141caf91310df3d854d4d84de4c916ebdf68237090b442e3b203163b0f900fbc829b78564d62f07fe93f9657bec31f88624920df1236a03148ae8728523328a6f3cbf2199a944a1f2053b342ea3cc4803b73c43e3aafe5396216f11bebd3c43494d85de77c420d346b4edc758d008e258cd8b5eb549740184997f6e1f942af948fb3b6311e698d85838f4fd3baf5a1ce244750fdda0b2d78b083e82deec3e613f92a722d6cf6dc28f7219aa1339f0c62f19745b9fed45e843d7a2c604553524f7d3cf8427b005e761271aef97562fc0f3be63432dfcbb9b97c1b4be3f8c0a6204ee816d6ee444b7d649b9c110a7438dbe50aaefff0815e326976dd2988f1cfd2f8b0bb42e63dcf2ad2fffb2dbb9d9606c89f998b5a007888a568e9d48012c9fbc35a1af8bb78fae80e65884eea32dc8a5c57a3b26fe526b6cd732d71c3606e67b30d4f772c7e3fb6fb2dc14bbecd077e4165416add015eb3dd524ad27aa365dc09f36097bc629acf60208be528dcf1b8404299593716bb82d6f0505daed3c628212af2b4991741df2f054208ba8001420c06faacf6672ec5d475701b8db228e893f92f529ca49a56db47c43c99b93835d4aeb08849d39ec0cb5c1e3075f10f7ae26e3b1d4b52a0482e4b855e0f46abd2c90e34950312e6a9df695a13c810eb7182710fab140f2545f3cc6c1bb5237891a25afe0b70e5734ab097b598d822c0de20f38c0b1440c86a63413cfa2ca493b736aa6ed57efbcca3ebef4b391a11ca55458056655a082cc658a7d071ab35ba031d6508dac7769842a315dfb68d716e0e30e7140a8def0dd8b0eb7928fdca2a058057dc42856fed2807af988db092dfacdaf78a6c5dbd3970c658cbda496cf4e69aa8a48ab3edd7064d44c12347412da865e5ffff6a366a352c0b2a3e51f991ecfb99a070aafb3c36a2ab756f6a13e3249fed1e59e2381281402e8b75197468f4cff96f40d7533111f4c989517093553ed67a4c1605bf281dc964be258f8d9f7d5d840aac074ce72bc4cbeef2cd80ca9e0f17dd79ec6e4755bd53f1ea73ee086d97cad40fd365bbdcabf8c97a40e3cbe40fe0e0aa34ddac1ef6a9318635162e4ccb1b719136f85a5e48513c20417304d3f0496ca4fb042dc74d2031f886fa7da90d1284a3bd692a644ffcea8f4af0338f861dfdcaecf30cd7bc7317a22205665f90aa60798f7d5b065ac88db4f3107531adb5de0e14d3dab6bb7504f6ceef7e29de9315cf6e45b2eaec37d33f4be0e1af2a117b051fc4fb473d97264b9857ec0d4e62601ed2da19addf011e6201722f58ef65f01edc5e1e12d7e7dfb8e2b874e0555085ae8abf652c4484ae25edb1090a87017a510b991c8c31ab69e1c6476f28486c5f6ec227203e6640ca1e5053ac19b0464ce0939321db8dec7e3b139e0cf4343944b98b4888b5ae2da9d69790a785fa004259816f16960d6ba59357c842e4f68f8288b0986c69f702133310724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c90e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c12170a6204ee816d6ee444b7d649b9c110a7438dbe50aaefff0815e326976dd2988f1cfd2f8b0bb42e63dcf2ad2fffb2dbb9d9606c89f998b5a007888a568e9d48012c9fbc35a1af8bb78fae80e65884eea32dc8a5c57a3b26fe526b6cd732d71c3606e67b30d4f772c7e3fb6fb2dc14bbecd077e4165416add015eb3dd524ad27aa3ac19b0464ce0939321db8dec7e3b139e0cf4343944b98b4888b5ae2da9d69790a785fa004259816f16960d6ba59357c842e4f68f8288b0986c69f702133310724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c90e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c12173c1ec59ed1cb5922777cd0c145025d13b36d20f561c929c84cf4f7e9ee2c9a563b6c4a7a44fdbc66bc8bc6473d4be3a30099b8b50d761b904871e8041f0983eb3524f7d3cf8427b005e761271aef97562fc0f3be63432dfcbb9b97c1b4be3f8c3e613f92a722d6cf6dc28f7219aa1339f0c62f19745b9fed45e843d7a2c604553c43494d85de77c420d346b4edc758d008e258cd8b5eb549740184997f6e1f942af948fb3b6311e698d85838f4fd3baf5a1ce244750fdda0b2d78b083e82deec3e613f92a722d6cf6dc28f7219aa1339f0c62f19745b9fed45e843d7a2c604553524f7d3cf8427b005e761271aef97562fc0f3be63432dfcbb9b97c1b4be3f8c2ca3e53c734aa66d29510c881fdb654f7f508de4285ce19b7adc8804b279269a18300b494cb158e6bb9dcfb1d90ff41a43a41b324a099f63a7a0d6ea58ca16a90873b0df6a70f5a39d22f145d49e3063eeabdfea23f9359119849202ad38b8322b1286870c3608dbd686ff535ffb7a2c0f94a9f1aa589f3d4ed218a9aa4b8bae22fd812e5a4e3fc06fd68151465c089d15c6348c30fae5f911e4d5a302b45e7b3690268f14c8be235a569aef9c79e5e279fbb487a8f1d57001dbeeaccca223c50e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c121724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c90781abe1b843c528cc247a08b16ea27a53a5ecf10d96370eeddb735cd056b3d50bf14c9dd64a4d558af3d1430e4bcb5719e940ef66b4a6973bb5dbf573a0c7a43a73b0782789829bfa1584510712b955fffd8f4a914f705f607e4b81708faa64391286ee4f1d7be379946c482d86f13a2089938d464f5d8aa1059017e6f4997d37de557dc6a928c920ce0183fcd2efb92ce360a62863ec6782c4c19add29cd2c2613f8d638bab9eb92abd54c28de5bc65f6ee1b619ad3cd10f1a2e08ea94247f3553ed67a4c1605bf281dc964be258f8d9f7d5d840aac074ce72bc4cbeef2cd83e3249fed1e59e2381281402e8b75197468f4cff96f40d7533111f4c989517093433fb436d6aef20187b7558d7857700cead098d0a96ebe9be65d62b0191837d152599a1f50e7cca47d8e10ccad937c08d286667fb1e160fceb62ad73a7b846d1090a87017a510b991c8c31ab69e1c6476f28486c5f6ec227203e6640ca1e50522f58ef65f01edc5e1e12d7e7dfb8e2b874e0555085ae8abf652c4484ae25edb3690268f14c8be235a569aef9c79e5e279fbb487a8f1d57001dbeeaccca223c522fd812e5a4e3fc06fd68151465c089d15c6348c30fae5f911e4d5a302b45e7b0e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c121724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c92ca3e53c734aa66d29510c881fdb654f7f508de4285ce19b7adc8804b279269a18300b494cb158e6bb9dcfb1d90ff41a43a41b324a099f63a7a0d6ea58ca16a90873b0df6a70f5a39d22f145d49e3063eeabdfea23f9359119849202ad38b8322b1286870c3608dbd686ff535ffb7a2c0f94a9f1aa589f3d4ed218a9aa4b8bae2613f8d638bab9eb92abd54c28de5bc65f6ee1b619ad3cd10f1a2e08ea94247f37de557dc6a928c920ce0183fcd2efb92ce360a62863ec6782c4c19add29cd2c3553ed67a4c1605bf281dc964be258f8d9f7d5d840aac074ce72bc4cbeef2cd83e3249fed1e59e2381281402e8b75197468f4cff96f40d7533111f4c989517093be1591a9fc8d7d83bd2d4e4e8b86059a8c7a81e9727c6fa919ac351a56eee733b8714cdab202a139036dd97c2e6887b2f09a8c72ab06384740c4a6329484dbd06e67b30d4f772c7e3fb6fb2dc14bbecd077e4165416add015eb3dd524ad27aa2c9fbc35a1af8bb78fae80e65884eea32dc8a5c57a3b26fe526b6cd732d71c3622fd812e5a4e3fc06fd68151465c089d15c6348c30fae5f911e4d5a302b45e7b3690268f14c8be235a569aef9c79e5e279fbb487a8f1d57001dbeeaccca223c50e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c121724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c91f40d4d1e7919a47f42906df5049363d930fe34c2b4008d8bd6798fa3195606e231ab30bb3021f3ad3e48d4411857ae34322f8d9f0dc482646e341eb9b0a297d19405750d2cfee23e7223796080213bf80364cea634497868bbcf9ecb42537651a45e015a3d7105b8c87b9032c9796d07e0a3cf16b0d3d47dc99b0bfa35f0c7b238b7c951e0d292aab859a5403f860a9eb53bcc4ca956bdc9085a7cb0f38810f087be31ad4c8b0b1a463b2b0043b96563a3c1a37028b1072b3e88c215fe707e910f7ae26e3b1d4b52a0482e4b855e0f46abd2c90e34950312e6a9df695a13c81228e893f92f529ca49a56db47c43c99b93835d4aeb08849d39ec0cb5c1e3075f13514c5415749b14ac4a6ceda107504f31a3a56284f0ac8ca7a6579e91dde83130c51f9ce8371df5ade6f422743066ce589355702a22b13062bbe19843d27a9a24dcb72ffd73f8b4525369af62fa0380d4d01ca58690aa836aa7177a08c5605d0ea98036793305cb215686e9d19fa70f29706d3647c12a4afdaf93324ebee38313e2c08f18055e934998f6699165d5cd13175805a5c3746c9be8eab8045f670a101fe79c7649de1ba5403a1bf91ba14c3e9cfd2e608262a0d9fdb93556ba969216e0e30e7140a8def0dd8b0eb7928fdca2a058057dc42856fed2807af988db091ca55458056655a082cc658a7d071ab35ba031d6508dac7769842a315dfb68d72ca3e53c734aa66d29510c881fdb654f7f508de4285ce19b7adc8804b279269a18300b494cb158e6bb9dcfb1d90ff41a43a41b324a099f63a7a0d6ea58ca16a90873b0df6a70f5a39d22f145d49e3063eeabdfea23f9359119849202ad38b8322b1286870c3608dbd686ff535ffb7a2c0f94a9f1aa589f3d4ed218a9aa4b8bae0e1af2a117b051fc4fb473d97264b9857ec0d4e62601ed2da19addf011e6201707531adb5de0e14d3dab6bb7504f6ceef7e29de9315cf6e45b2eaec37d33f4be22f58ef65f01edc5e1e12d7e7dfb8e2b874e0555085ae8abf652c4484ae25edb1090a87017a510b991c8c31ab69e1c6476f28486c5f6ec227203e6640ca1e5053a8d04677f52f6fb03e0bd39a4e27ecbb6119d0fe7780389d36e7356c98a64d53e296342ddd1a707b2501548567e8ab4b11ca53f695cd5cbb7ccdf755814e8dc1d5150869ec713909116a0470c0a8b80aae2360b120034d5db436c4b82f3a5641634e6dfd7dfeaeee2935052288f1f0f535e53d0bc519ff88d133e60d4909e7c09f49c8d8828625cc8cf77eb644d2c83b92463d3ae2f0bf77924f6995b439067141ae093a5df67f50f601ca9e3e908b53ce1747248ab62374126113816e5db5b0d938551f6e99b3a7f7e1592aab95dc3fa5d1f7499dbb77d731fa079a495645325f2b2147fbd6344f42bdb0689e04ccc03e36a6734761d50f5370a32b2eedf8d3690268f14c8be235a569aef9c79e5e279fbb487a8f1d57001dbeeaccca223c522fd812e5a4e3fc06fd68151465c089d15c6348c30fae5f911e4d5a302b45e7b0e94cd35123aafd87937aaefb8bb66784fefbcfc875f796493256486ca0c121724f16a31646c4ea6fa7245a97bde4417ae50ccdf46f25b69d53146258d7831c910a0993a3577994ca01e825a4532bcf00bb4936df485efa5f76b2992e6d837b5095318a1e297069368a6d76226f4bedc03cfa63ff62775666ffd0533d90ba7c72b1286870c3608dbd686ff535ffb7a2c0f94a9f1aa589f3d4ed218a9aa4b8bae0873b0df6a70f5a39d22f145d49e3063eeabdfea23f9359119849202ad38b8323536ed5ea5871d0c876d6a5c9668c552807bf81a21838ee969573b218de6902c2a539fcff3597d36bf39ac0bd046a8f562d87d334d1ffccd5b7ffac47dd0837f1f0e3ec5950518f2d7f1834da1bcbe25bad829b0a826b3b84f06d31662b80eb31477f8a0e1a1e58c9bb86d4b92dcec6a4368602b262b2116194fd795f4cc352d3c43494d85de77c420d346b4edc758d008e258cd8b5eb549740184997f6e1f942af948fb3b6311e698d85838f4fd3baf5a1ce244750fdda0b2d78b083e82deec3e613f92a722d6cf6dc28f7219aa1339f0c62f19745b9fed45e843d7a2c604553524f7d3cf8427b005e761271aef97562fc0f3be63432dfcbb9b97c1b4be3f8c3b6c4a7a44fdbc66bc8bc6473d4be3a30099b8b50d761b904871e8041f0983eb3c1ec59ed1cb5922777cd0c145025d13b36d20f561c929c84cf4f7e9ee2c9a563524f7d3cf8427b005e761271aef97562fc0f3be63432dfcbb9b97c1b4be3f8c3e613f92a722d6cf6dc28f7219aa1339f0c62f19745b9fed45e843d7a2c604551cfd2f8b0bb42e63dcf2ad2fffb2dbb9d9606c89f998b5a007888a568e9d48010a6204ee816d6ee444b7d649b9c110a7438dbe50aaefff0815e326976dd2988f2c9fbc35a1af8bb78fae80e65884eea32dc8a5c57a3b26fe526b6cd732d71c3606e67b30d4f772c7e3fb6fb2dc14bbecd077e4165416add015eb3dd524ad27aa00000000000000c8000000000000003d0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000000000000000000002096d009ecb1bbab71b31c450eaacc0f4021d7e3ce763cbec11c00af252325f470000000000000000100000000000000010000000000000020f48062c85c395a02807f291cc270e876ba32af06423f9141e3df3f672b818ce7000000000000000100000000000000000000000000000020858285dce403a198bbc4824b12dba30f06d55ca9ee5cf7a5e93413180d79fc7f000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003d00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020edef524456f3348ba3eda6682835c8f8438b09876facffd9e60fa87eb72c117a000000000000000100000000000000010000000000000020c0b16e92d1b0433c07ee0df9e4f156ad6daa5f690466d5c6776fcadad814a1af000000000000000100000000000000000000000000000020f11aedf6eea6687a3151cef35058ccf96da4b05a9b962d273a04033be7e36c3e000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003d00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020a3c6266c1cfc18085a3858c1dab0f7942c79f5cf36606aac8d4fa75a9e60321b000000000000000100000000000000010000000000000020189deea80857c47ff243c871bf09f2a788abab847c96395d246f7dc0346dbb8f00000000000000010000000000000000000000000000002083214aeabdf64df82c42d5bf06f61ed77bd00c4ba031b9db7fa3d55182172ee9000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003d00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020c9c849cdb5ff0208970359efdf5625f9339df248e6bf70e72d8245f4804b96f3000000000000000100000000000000010000000000000020051d3b9d8fa7bb7bb2e3644d4aae0dd0c71be06efefb38c0dd4c3849e4b645850000000000000001000000000000000000000000000000208af1e9603bc057a2917ce78cc20d66c07759c4dbcaf8ddfea5ca0f8569aff9c0000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003d00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020f82cf4f493adf2b7b98ac7b1912a85073b4a60cac3c4d8df7dfa935199dd9e970000000000000001000000000000000100000000000000207157144761d0f16de8be6583a5c236cf6623519d17d1591ff7f8776bd62f0b9f00000000000000010000000000000000000000000000002004288910a319f907c6d7cbc657dd8a8cac80a529e1fedc395215e72abe2f0a480000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000120000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000201e0323b68c6351d73e28c873e0a090446f2880a63f271578040f55d145d40400000000000000000100000000000000000000000000000020b51fb463141e43b1375e58b1d26431f22a626320ccb14e849b185bb19b76d218000000000000000100000000000000010000000000000020efc859106f3335419e87675042f925fe75cc709ed9593b65aa1c4d8abcedc65400000000000000010000000000000001000000000000002084a3e905806be3610064aede8f1044bf84e51c25f337cd4422685e6e2acc9041000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001200000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000209c8e6d95c532a8fc5643e96c606d6bb3e51425addc244f52440126dda5f736b10000000000000001000000000000000000000000000000208fcbfbbbba02886f14edbe5817907fd99cd1ce7b36663a44395d99418916781600000000000000010000000000000001000000000000002077e509e64b5193d916c8daed2fcd708bb7b5496fe6a0fab8166c709159efbe9a000000000000000100000000000000010000000000000020a75b4e70eaca46934e09be319c42b74a5dcfceb2718a0896dde3f072bec9a1cf0000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001200000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000207a672261cbb62646ffea79e27b4856da14d557a1abe54675b8cf890937930afb000000000000000100000000000000000000000000000020104368eeca4c3033d1a012d14554be6f433307ec032049569543215aac117da2000000000000000100000000000000010000000000000020f4b0bd0882a4b52cccde9594a852e2872f0380fa0c3635093b7f2b31af7463c2000000000000000100000000000000010000000000000020e8ee2f805f2ec34b0224d585a49f48a5f3b4382a857d077f477c31c3d554cd8000000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001200000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000208779d66e6e2d89eb2e92bf5f479a296ce522382d57c2fe4b426da132d1a81efb0000000000000001000000000000000000000000000000203842383526bd6f7443ccd0dd11d247517f91babf2466964f36ab2a41231cfc22000000000000000100000000000000010000000000000020063524aa4bf289c804bbd16fb1178f12780072cadc2c4e958ba4f8c3db791526000000000000000100000000000000010000000000000020c7466445b7a892c4e1cebb35620aa6d1eeb612bfbbad520b89e7e51f9f2ace000000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001200000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020c90768951c2adc4501af42385eed7f2a09585b1dd349b8c7da2563df15e99e1a0000000000000001000000000000000000000000000000209357f188f3073014edef45d405f77979cf6529ece7fcde2af164f849f98161b800000000000000010000000000000001000000000000002027d73c8d06e570b0181213829d55a4dba5c1541197146a5d34cce38db358fa2100000000000000010000000000000001000000000000002074324dde1cc0d89f3c2fb16e87cc99ffd14e8b3b6a0545b1ab109989eccb9f0f000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000320000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000208075b16a64e9de7794ab6c3391f7316a01917f2be5ab238827f88854eebe922c000000000000000100000000000000000000000000000020956e834e417a7923c3eff2d9034ff10d5f28f17bdf6236ce036050f466d8d969000000000000000100000000000000010000000000000020fb9441e18414ed808d43172a6b1dcef34cfcc1962541aeacc32cf2cbb35eb2a5000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003200000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020680429e18241b021edc79934f1c27cee18a846844a73a85997cae34ab267c94300000000000000010000000000000000000000000000002035765ddc7d8bed9481a63e62c6e57928ed52f4a5d3fa3eda1e0cf687b18a65f3000000000000000100000000000000010000000000000020e1846dcc42eb7313116a918fe7b2b8f7e8adfe98f06f5ba2179dff2bd9f0af8b000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003200000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000202e4eff8a809630f5768b7defe9063630933d90a454003a7d2641fe4782f575bd0000000000000001000000000000000000000000000000208eaeebf7196c6f23354c1e228b1e42302abb5dd90ba72b79720f6935ade8c48a0000000000000001000000000000000100000000000000204f30aff2d780be88752f6da6a1669d6af6d81677e276b478152c34797616aaf1000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003200000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020e545c302e95531c943f3965fbbdf1f32127af81d50e3d453f2007663b9a90683000000000000000100000000000000000000000000000020b39d10df7111b099034d33b3aebba2114a45d7258f3db74e2c0d47a1920dba0a000000000000000100000000000000010000000000000020556f2969343aaed621831cc8bf0cd8fb65f2b3d9a181a1fda982ec115d6d630e000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003200000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020a0274bf41a2be45ffa0c67f7497819249751039eeb0410dc0a1a40e265e366a7000000000000000100000000000000000000000000000020da53cd0b85568400be4babf63ef95d5eedd3d07b6d781b98166c0fb7ca731e59000000000000000100000000000000010000000000000020aa27c493395159e8640300f6a1de4d3d6ad68de497c1005f722eb35caf92da9600000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000002f0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020c3dfa7e16cc586ad75a34b34eba874ff1ff3b2133d844a2c99a8a13ed7f2f639000000000000000100000000000000000000000000000020d75b1ad0c8b1fa7913ab9badf5e5d30db5bf7c15a1710fc59d8bd4e7f4e2a645000000000000000100000000000000000000000000000020f93f6049ccfb9f2cc7e1fb1a8864830ad6a3857e064a04daff50b577b06e01870000000000000001000000000000000000000000000000207c447811a685b007e7d108dd56e442e8409c77ebe4a49a6faa1a3001826b8f4b00000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002f00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020e7a18eca3860738dd78b48bf636a435d9b6144365acfcd6afa889b07901108c500000000000000010000000000000000000000000000002033cd0e0877983618b8c30bfbbdf210312086f71984fdaa70cb0870fa21da0f58000000000000000100000000000000000000000000000020bd60e91ac59206f01982fcc3c917d279b55b40e0db24f1dc53f544752561f95f00000000000000010000000000000000000000000000002008acff0ec576895e956adc81b742b80f4b2a9ebffd9840523df1512ab8a072ad00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002f00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000205607f0a8b8af18fd362b670c8618eb24967670e5759e99f44ac895d427a84812000000000000000100000000000000000000000000000020195234c76f0a4376d81c37205e9ecb5a1fecf9b7cc845a460b69ee2e2ba43425000000000000000100000000000000000000000000000020d9d49a102b2ece39b41f780f2eabadca6c8bcff6810eab469b0c92c73292fb7500000000000000010000000000000000000000000000002007857a7b274e7b33cb2b215bcacbea231fd4723ba0892ccdbca9573ddc0ad8ce000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002f00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000209eef50a4ff3262fa10f8f5793afd8e88cdf9128054692a5c549b517dc4171184000000000000000100000000000000000000000000000020ef4f76dc86c9fafff035aae7c19294f58771b49200165eded9e23a382883915d00000000000000010000000000000000000000000000002029ededb334108a5dfcbb83f3edf0a3042021f976bf2e443325c6f7e64555c69c00000000000000010000000000000000000000000000002044f993ce593231d09dda0f6d600f10bac12f9b2b41782145925ad9ad36198ddb000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002f00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020b5eb1bb6a5442d53cf1867e73fb6c4c0337d299f2b63150c20121444a413bbdd000000000000000100000000000000000000000000000020487de19d96fee5a04c09681d062b253cd27182fe7d8b7aa2f2ce056845f75cfa000000000000000100000000000000000000000000000020d8a36462c56542a791b8bfbb1f627222b342c3854211bb852ba31d766abe69c70000000000000001000000000000000000000000000000203218fdc4b3394c312d94ad9d8abb10b850af7407bf3807ee640aec69c29e0037000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000003b0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000209a3041d20c25c4c2f9dd4f23b19794a2630737b33c52b7c007c836df77b54c93000000000000000100000000000000000000000000000020c44652d17bac6aff163491793d63cc443cc345e4e12fa5872961f4b0278dd3c1000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003b00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000205e3a9b1910e80af1b084b68636160bd21335a11ead5237f12683380cc49af6340000000000000001000000000000000000000000000000206313db44512f4645b1f1a382dd4d6102e23ffd6732f6b2ec2c22283a86b2c057000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003b00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e64000000000000000600000000000000010000000000000000000000000000002078974fe72e2b44d76698ec81cad943e4e2dd030d06358215f8042336d5ff9f6a0000000000000001000000000000000000000000000000208d25d126b598f6a2cabe593cb170d8b394e15489f9305c050f3d960a10816686000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003b00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000202e61e0b57177d37b82270a0e3b70bb726a2ac8d7be66fbd5a7c39e6239e324e5000000000000000100000000000000000000000000000020810a0b566dfba1e2d7b61a3cb0e1a3adf0fbc443470b3024c2d3e2d5a9cf2ff7000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003b00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000000000000000000002028259250da84dcf3c20cee14b8d7fe68ea3c7ce8c632373269233adbd8b3eb7d000000000000000100000000000000000000000000000020349fac642d11ad63e3e330178b2e4edaf745f49868b097837aacb038bdff63d300000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000190000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020d24ad6d9b901369c22356e6b29d2eb4fd621dc6236df400e18ef41ec86f3b8a000000000000000010000000000000001000000000000002010cffb092d26306d66a09725b7f2d89636687f3cddc68d86de6c96012b5bd6d4000000000000000100000000000000010000000000000020d4498403026468fe949fb76b3ae1a7e3e1bd622e2e25ac8661b77435ec2754b000000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001900000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000202f77f5489f1e0d57953c0912f4dd3261a335bbd3acb387253a596e16fb61309c0000000000000001000000000000000100000000000000206ebd6c23b17c35e1f998ff37cf8769b70c884cfa511e02e4a2c48216e8ef29ed000000000000000100000000000000010000000000000020888d7490f027e16c48ec88a086acbfe25f9f7ae3630d4e03a7b9e4d4f3bfab2200000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001900000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000205ca908e3313220ab91ab5fff66f0b07ce7772576a2d61d0b44fef2f86cbd92080000000000000001000000000000000100000000000000202b48da28441d90034ce076f01fa42cc622f2463803b5bf64cbb650463ccda30a0000000000000001000000000000000100000000000000202e8dfef98babcc600a1f2c4195966fef618497afa807414375a4d6f3c602ed95000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001900000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020abec9f7706e281717c49b3fe46e791568e5ea8a21e7dbc332447c1626dc1093900000000000000010000000000000001000000000000002039d1f110d46c5b14c2628e7dd8f5d8c1f3342cecb1c2d6ab04f89292a1bbad31000000000000000100000000000000010000000000000020d2326c740524354eeb77eab562b4e65669d64e3ad13b078f0340d140ae3ba239000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001900000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020f6a1dd037feb850070adc4c5438a8cf8381f3d8fc74c2d7d043dcb8e999bf43a0000000000000001000000000000000100000000000000202a689f8091254fce917cdcd74c5ea3cc78511179cb315de250ab51efc3f75b2700000000000000010000000000000001000000000000002089b1954e8763cb1332376f42841456e21283233b17c5e37ae9db6af0f31695ac000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d3000000000000001a0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000202f4c5dbf26b647c60c280417a60fe24296a529209391071b2615a994d60d252200000000000000010000000000000000000000000000002098de7df0a66aab7fea0df24c6f7db7dee2332d6cf32a08d847f418afad3dd571000000000000000100000000000000010000000000000020d4498403026468fe949fb76b3ae1a7e3e1bd622e2e25ac8661b77435ec2754b000000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001a00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020aa89757940012a9e5c0c473ad8bdf8fdf807acaa02f22423e9fd6689b3e519db0000000000000001000000000000000000000000000000208f7c1e0638ca2dc102493c8d98820c8346c4e342fc77635b01240b9cf7d9b8d5000000000000000100000000000000010000000000000020888d7490f027e16c48ec88a086acbfe25f9f7ae3630d4e03a7b9e4d4f3bfab2200000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001a00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000208e0bfd54734810a4b81ae043d662f36d8fa5f059b46dfb9c6f0423e09128205c0000000000000001000000000000000000000000000000204195b95b0ed85652733049014239cd174098bdce2f7b5fddbc40489ed4f035cb0000000000000001000000000000000100000000000000202e8dfef98babcc600a1f2c4195966fef618497afa807414375a4d6f3c602ed95000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001a00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000207560224952f52fd4201f9c0064a5f32d8fb49b6091cbbcdaa3ba265d25c924e7000000000000000100000000000000000000000000000020947dd896829f3df249382c4544c09dab782dbf5da823594dd8046dd84e816d32000000000000000100000000000000010000000000000020d2326c740524354eeb77eab562b4e65669d64e3ad13b078f0340d140ae3ba239000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001a00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020f2bb4a1a57127e660fe5c2376f0ac37801c68c329c1980fd75a8ae3e9ec24c71000000000000000100000000000000000000000000000020ef99ab5abf434bfbacf40ee22d00e544006384e04505915fd04a4b4d65978c0c00000000000000010000000000000001000000000000002089b1954e8763cb1332376f42841456e21283233b17c5e37ae9db6af0f31695ac000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000220000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000209f141eaf5ba4fc0a910a8da1c95371ac27bba80cd73e251085766c2f5fe4f6290000000000000001000000000000000000000000000000209282f84f9ed766d38b5df2f0a1c972da8e2779b5a44d00ef1118f8ca0f612c9c000000000000000100000000000000010000000000000020c3e63b2395ff89250abe29b24e02421f4b63a950df2567210ab4e7df9fcd561f00000000000000010000000000000001000000000000002076ff42857f134d6e63ba3c2d2604266f3a9f6a2df509087886e557f5f9551e5200000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002200000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000001000000000000002028cf28b187553bbabc3d8950adc8c599a2512b1aa1ab484d50583dd1beefed720000000000000001000000000000000000000000000000205c29496e7aa9d16d3f51f0b9622a42e70e21c6ad5191b201eaee67f45c4647cb000000000000000100000000000000010000000000000020dff73c571487f258ed622b9767c862b97686987844d5d2bccc5913d1c3cfe88900000000000000010000000000000001000000000000002052ec1bde1f2e5ed6a51cf42a4bc08677412e0dc06cebff8d176139f93ac6b7fe00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002200000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000202206f2857201f1db00889ac3c51f3e5c5f51c8cf45e7544510b9612a1c7baa960000000000000001000000000000000000000000000000204980aeaa9a6ffced9b17985a2a4d40bcffc39676f2b9b674ee82e6e05eeec76000000000000000010000000000000001000000000000002094dd1d48cb454ed44e8f51ab77691fd52b5ba42e95df51fe231e18a9cef74aae000000000000000100000000000000010000000000000020ff7144ffea1ed84ae181c5c467fdb212339c7eb04d5b4a537b7b52393f4cde1b000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002200000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000204cfa966dd503f4c6f0ab1789bd6882a36e9869aa22f632af6a192573c85665800000000000000001000000000000000000000000000000205a7a6d86c8f914234e1cfe430cf140490f538d6d398ec7d67f5e0d1e7c0df15f000000000000000100000000000000010000000000000020eb94248ba030406e960c2f8d531ca0fb297a589aea810115540ffc77d0c9276d0000000000000001000000000000000100000000000000201dc72d7213c61bbe8b8ceff3485370bd3dd5b6b31ad1cc48d14815ce5689630f000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002200000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020bc37e1e1fe14a3d9cd0e2d67a32d309db1e3deaf993389809a4179f7dcdc60400000000000000001000000000000000000000000000000200cd8f22b53c4bb980b5fc5ab0b3e962d7298c3ec47528a6602f11e9039bc39c60000000000000001000000000000000100000000000000206649f97ff8d245b052d170a636c9c0c552d55a295db53461772b2df1c5be23ff000000000000000100000000000000010000000000000020fff2e95c8f7945449bfdb99b8999e66773970b8b6c8d18b78c83e61e3b8167e7000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000260000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020a61b2b2ae8b03af577c0dba108287d5eb7f543a6573a7189fab2e31f403ed4b800000000000000010000000000000000000000000000002090c8ab623b34fa82d468c25889e77b1c5c29a0bf2f01630a0385a9cb55558d3a000000000000000100000000000000000000000000000020b1beb0d77ce56aa3ea99c95deda5a44248792f3c3e7c0d9ba0ebad972efcd1f700000000000000010000000000000001000000000000002076ff42857f134d6e63ba3c2d2604266f3a9f6a2df509087886e557f5f9551e5200000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002600000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000204707dd902efe39b550481269664ac6fbaeafa08f16717381c7c790ee3594c1490000000000000001000000000000000000000000000000204a711a3c92bd7e04d9b67ead38f4434a9e8889e81d72f7ef661d54ff9ea1c600000000000000000100000000000000000000000000000020c6481a771c57c58c04575421d0505adad0f3350f4a11fcf18dbe3620d22a0fd000000000000000010000000000000001000000000000002052ec1bde1f2e5ed6a51cf42a4bc08677412e0dc06cebff8d176139f93ac6b7fe00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002600000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020692b54a58a5e198c001728916d823af8a64dca841e7bdb5fd48b68d8ecbf6c8f00000000000000010000000000000000000000000000002048d9ca1419c3d7bd2d38f7174ac23acd58d9014d13924872d3d0e45f5166cfd6000000000000000100000000000000000000000000000020aa34460fbf1267f73893423a8046c4ed096d812219708b98b5498bc7ac4ab093000000000000000100000000000000010000000000000020ff7144ffea1ed84ae181c5c467fdb212339c7eb04d5b4a537b7b52393f4cde1b000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002600000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000206de8b2eb448253fce1ed1c4a5f1b7f47133f2442ff8f8579303a10dbe4adf54c000000000000000100000000000000000000000000000020097b99e66a78e05decffd368ccb0da824635108bcc046bc9d459d0bced21502e000000000000000100000000000000000000000000000020fc2be9a3593e39cb9e83f448ad62ebaa1339fa74d7ede469bf59cc4258ff123c0000000000000001000000000000000100000000000000201dc72d7213c61bbe8b8ceff3485370bd3dd5b6b31ad1cc48d14815ce5689630f000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002600000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020fa3b7eebd8a7c15b7473147b7a86cb3a529c9a54b0efd3e66a3276e48bf9ddda000000000000000100000000000000000000000000000020601e35ed089de9ee49c6afab6df32c1b89b5ffa2d8f14291de598edc5bcfeb660000000000000001000000000000000000000000000000206fb2e2af10059660c6e985e4448b12c4169af15bda8358b19fdef7ba1970fe4d000000000000000100000000000000010000000000000020fff2e95c8f7945449bfdb99b8999e66773970b8b6c8d18b78c83e61e3b8167e7000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000270000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000208c6e843779ae529e38bd12c85cf77f164f893aae716d8fef9d3a08dfa0bc4c8700000000000000010000000000000000000000000000002090c8ab623b34fa82d468c25889e77b1c5c29a0bf2f01630a0385a9cb55558d3a000000000000000100000000000000000000000000000020b1beb0d77ce56aa3ea99c95deda5a44248792f3c3e7c0d9ba0ebad972efcd1f700000000000000010000000000000001000000000000002076ff42857f134d6e63ba3c2d2604266f3a9f6a2df509087886e557f5f9551e5200000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002700000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000204b23c5a8886d53626bc7b97da3c78f759a140a7e59308d86840cbed03446e5930000000000000001000000000000000000000000000000204a711a3c92bd7e04d9b67ead38f4434a9e8889e81d72f7ef661d54ff9ea1c600000000000000000100000000000000000000000000000020c6481a771c57c58c04575421d0505adad0f3350f4a11fcf18dbe3620d22a0fd000000000000000010000000000000001000000000000002052ec1bde1f2e5ed6a51cf42a4bc08677412e0dc06cebff8d176139f93ac6b7fe00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002700000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020aec54b794acafbf6e0334862e1e1d7671e09f7c885a9b2997b0cf5302ee0960700000000000000010000000000000000000000000000002048d9ca1419c3d7bd2d38f7174ac23acd58d9014d13924872d3d0e45f5166cfd6000000000000000100000000000000000000000000000020aa34460fbf1267f73893423a8046c4ed096d812219708b98b5498bc7ac4ab093000000000000000100000000000000010000000000000020ff7144ffea1ed84ae181c5c467fdb212339c7eb04d5b4a537b7b52393f4cde1b000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002700000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020fd9161b31221c2a48da4f283ed0a89d00cd8cc84bcca0bba3eb1c139507862d2000000000000000100000000000000000000000000000020097b99e66a78e05decffd368ccb0da824635108bcc046bc9d459d0bced21502e000000000000000100000000000000000000000000000020fc2be9a3593e39cb9e83f448ad62ebaa1339fa74d7ede469bf59cc4258ff123c0000000000000001000000000000000100000000000000201dc72d7213c61bbe8b8ceff3485370bd3dd5b6b31ad1cc48d14815ce5689630f000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002700000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020cfb8403b2dd4be0e06c290f58d2d64b58e6a001294ced8faa834ad991b4e756d000000000000000100000000000000000000000000000020601e35ed089de9ee49c6afab6df32c1b89b5ffa2d8f14291de598edc5bcfeb660000000000000001000000000000000000000000000000206fb2e2af10059660c6e985e4448b12c4169af15bda8358b19fdef7ba1970fe4d000000000000000100000000000000010000000000000020fff2e95c8f7945449bfdb99b8999e66773970b8b6c8d18b78c83e61e3b8167e7000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000000d0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000000000000000000002087e27c82630a03a23ca868b70f28f082369f156be7256d40a57ba566adb19d490000000000000001000000000000000100000000000000204bcfda6e7f2658fa52a1d2ed6b79efe21ffdf29921943fc3a51d1b260225507e000000000000000100000000000000000000000000000020f749540a9879fe43153d5355ef5926b15220ef95b8d2a60ebdf3ab0b051f1ada000000000000000100000000000000000000000000000020f6fabdcdd6de689e05ec88512e4bc9a3479e95519d339f4ce3f8c809cc51a283000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000d00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020f2fb589a5410553d4ee4ee6b3517a02a9e0fc4a785d40f71333b66f77b8c375c000000000000000100000000000000010000000000000020684c805da2566bf52f61f55c884b91d5eaf3c4428b7692a9d10033da2aee5b6f000000000000000100000000000000000000000000000020d828673ffbd85e7010106c82018b054b231120bafa120760e7fbda911ea1e40700000000000000010000000000000000000000000000002028ad4ada488a55d63dbe183b3db7e67c74f864ccbf18679b802a4bcb8e06bedd000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000d00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000202fe36b6184df7052669686c3b7f62b7c3de936d2ab33250db52665c504f7354100000000000000010000000000000001000000000000002070e4c2bfb26af87340b46cda38932dc208c26c745110d100590ce396ad885120000000000000000100000000000000000000000000000020b3234bfc85923f320394ba339da1a0c0ca44c2556ec33d56d96bdf1f1db9f454000000000000000100000000000000000000000000000020cacced1aa91bb552cce40cf865b7228c2b21b90bebd41003a4c95d1f5a7c26ef00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000d00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000203b8d22bce785d0f71a42b8a7bb0c8e6a0b2e79b855d5f39ef2b39820439c6f4b0000000000000001000000000000000100000000000000202e25914ec98c123b383d8cbd9f0a4943542eb53771e531b365b253e8410e6b9d0000000000000001000000000000000000000000000000200888c26efc253afca4009593325f6b8476cf07ba43bcdd676069720e8d7933ad000000000000000100000000000000000000000000000020d6cedd6a507c257043f4df27a3bd8152e7679b8bd8500dd351235194ee157240000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000d00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020c5ec85c86d4818776f0c5021ba9bac6afc394d2b003f58cd5d23cf7bdfc89f9c00000000000000010000000000000001000000000000002016d32d09016a84aaa031066255f29f6d9511ad8c93bbeef6dd279997b0a8decb0000000000000001000000000000000000000000000000203ca29aa5aa2cc9daaa13d266dcd88b8004b7366f41b6214d8142574413ef885f000000000000000100000000000000000000000000000020b19870ef6ded0ec09f0998faa101fd6534741078cc71c30999cfdf07f1691f950000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000080000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020dfa440f28452c6894cb577b08bf0b75903bea2775b97e383017a1ad06d7a06eb000000000000000100000000000000010000000000000020f63170671c19a2b2a701219a4296674f2be4b70217ca8f666261eb359fe57d3f000000000000000100000000000000010000000000000020d01b35bf7ff95e449c8c19e24f00a32f8f5cc753e0252320950609a2e735d52b000000000000000100000000000000000000000000000020f6fabdcdd6de689e05ec88512e4bc9a3479e95519d339f4ce3f8c809cc51a283000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020e9960e7b9a52e0bebf08caa00d4c8beb4428d5ecf6d8ab8276ebe86a36b0a2a2000000000000000100000000000000010000000000000020e9981d6d4a70aebce6e002d98c9ad63522fe3c4bab9892e45c882243328298aa0000000000000001000000000000000100000000000000201eb71500d777d0e83cc7145f498717e8836c9e209fd51de1d97a89f8224930c900000000000000010000000000000000000000000000002028ad4ada488a55d63dbe183b3db7e67c74f864ccbf18679b802a4bcb8e06bedd000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020006b43a6290905a29da6cfd56858ec8bb547a150062cc07dedd93f394db850e8000000000000000100000000000000010000000000000020e90703b2096e4a1e1a085c138d93f452d28a0368373f2339c4632f5ebc8b0ae9000000000000000100000000000000010000000000000020983fc29007c17ccead7098b57841299d9d7ca671c14bb487474694ed0159d2bc000000000000000100000000000000000000000000000020cacced1aa91bb552cce40cf865b7228c2b21b90bebd41003a4c95d1f5a7c26ef00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f564699000000000000000600000000000000010000000000000001000000000000002084973b701010d3be9cef30bec1dafd4857c945ddf57af5e0df017468ee03cdfd000000000000000100000000000000010000000000000020e7a8951e74320f9a6a16e65fc83fd8edfb6aee996dc86699a04d686b058e5e0c000000000000000100000000000000010000000000000020d4d31081a439dbd092e10527b6992cbc2aa6c422dac42e2fada0681540d18720000000000000000100000000000000000000000000000020d6cedd6a507c257043f4df27a3bd8152e7679b8bd8500dd351235194ee157240000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020247a8d4ea9f681be16ab7209915c37294881e2a6bb47054813cc81ad07d902c50000000000000001000000000000000100000000000000201a40109f6f94ca9e1f2d7f5b9566251d83825f84bf1e63e1a13f7adced03d5a0000000000000000100000000000000010000000000000020e49eda48d3340f13b94b5cc1e1c695ab126bd4866d64765198033cf48984eaa0000000000000000100000000000000000000000000000020b19870ef6ded0ec09f0998faa101fd6534741078cc71c30999cfdf07f1691f950000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000190000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020d24ad6d9b901369c22356e6b29d2eb4fd621dc6236df400e18ef41ec86f3b8a000000000000000010000000000000001000000000000002010cffb092d26306d66a09725b7f2d89636687f3cddc68d86de6c96012b5bd6d4000000000000000100000000000000010000000000000020d4498403026468fe949fb76b3ae1a7e3e1bd622e2e25ac8661b77435ec2754b000000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001900000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000202f77f5489f1e0d57953c0912f4dd3261a335bbd3acb387253a596e16fb61309c0000000000000001000000000000000100000000000000206ebd6c23b17c35e1f998ff37cf8769b70c884cfa511e02e4a2c48216e8ef29ed000000000000000100000000000000010000000000000020888d7490f027e16c48ec88a086acbfe25f9f7ae3630d4e03a7b9e4d4f3bfab2200000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001900000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000205ca908e3313220ab91ab5fff66f0b07ce7772576a2d61d0b44fef2f86cbd92080000000000000001000000000000000100000000000000202b48da28441d90034ce076f01fa42cc622f2463803b5bf64cbb650463ccda30a0000000000000001000000000000000100000000000000202e8dfef98babcc600a1f2c4195966fef618497afa807414375a4d6f3c602ed95000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001900000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020abec9f7706e281717c49b3fe46e791568e5ea8a21e7dbc332447c1626dc1093900000000000000010000000000000001000000000000002039d1f110d46c5b14c2628e7dd8f5d8c1f3342cecb1c2d6ab04f89292a1bbad31000000000000000100000000000000010000000000000020d2326c740524354eeb77eab562b4e65669d64e3ad13b078f0340d140ae3ba239000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001900000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020f6a1dd037feb850070adc4c5438a8cf8381f3d8fc74c2d7d043dcb8e999bf43a0000000000000001000000000000000100000000000000202a689f8091254fce917cdcd74c5ea3cc78511179cb315de250ab51efc3f75b2700000000000000010000000000000001000000000000002089b1954e8763cb1332376f42841456e21283233b17c5e37ae9db6af0f31695ac000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000080000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020dfa440f28452c6894cb577b08bf0b75903bea2775b97e383017a1ad06d7a06eb000000000000000100000000000000010000000000000020f63170671c19a2b2a701219a4296674f2be4b70217ca8f666261eb359fe57d3f000000000000000100000000000000010000000000000020d01b35bf7ff95e449c8c19e24f00a32f8f5cc753e0252320950609a2e735d52b000000000000000100000000000000000000000000000020f6fabdcdd6de689e05ec88512e4bc9a3479e95519d339f4ce3f8c809cc51a283000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020e9960e7b9a52e0bebf08caa00d4c8beb4428d5ecf6d8ab8276ebe86a36b0a2a2000000000000000100000000000000010000000000000020e9981d6d4a70aebce6e002d98c9ad63522fe3c4bab9892e45c882243328298aa0000000000000001000000000000000100000000000000201eb71500d777d0e83cc7145f498717e8836c9e209fd51de1d97a89f8224930c900000000000000010000000000000000000000000000002028ad4ada488a55d63dbe183b3db7e67c74f864ccbf18679b802a4bcb8e06bedd000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020006b43a6290905a29da6cfd56858ec8bb547a150062cc07dedd93f394db850e8000000000000000100000000000000010000000000000020e90703b2096e4a1e1a085c138d93f452d28a0368373f2339c4632f5ebc8b0ae9000000000000000100000000000000010000000000000020983fc29007c17ccead7098b57841299d9d7ca671c14bb487474694ed0159d2bc000000000000000100000000000000000000000000000020cacced1aa91bb552cce40cf865b7228c2b21b90bebd41003a4c95d1f5a7c26ef00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f564699000000000000000600000000000000010000000000000001000000000000002084973b701010d3be9cef30bec1dafd4857c945ddf57af5e0df017468ee03cdfd000000000000000100000000000000010000000000000020e7a8951e74320f9a6a16e65fc83fd8edfb6aee996dc86699a04d686b058e5e0c000000000000000100000000000000010000000000000020d4d31081a439dbd092e10527b6992cbc2aa6c422dac42e2fada0681540d18720000000000000000100000000000000000000000000000020d6cedd6a507c257043f4df27a3bd8152e7679b8bd8500dd351235194ee157240000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020247a8d4ea9f681be16ab7209915c37294881e2a6bb47054813cc81ad07d902c50000000000000001000000000000000100000000000000201a40109f6f94ca9e1f2d7f5b9566251d83825f84bf1e63e1a13f7adced03d5a0000000000000000100000000000000010000000000000020e49eda48d3340f13b94b5cc1e1c695ab126bd4866d64765198033cf48984eaa0000000000000000100000000000000000000000000000020b19870ef6ded0ec09f0998faa101fd6534741078cc71c30999cfdf07f1691f950000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d3000000000000002b0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000208af23229f0b2caef0ba8ff3cf336a0adb90e6b9a601d5bbb3a8530a0eed7689b000000000000000100000000000000000000000000000020e6a065014ee70491112ad08bd0d5051a51a2458deaf4336063357a68774447fb00000000000000010000000000000001000000000000002027302f9de77da556fbdd9cbe015a3505ae001f3ad93c4bcd8cb331df699c35bb0000000000000001000000000000000000000000000000207c447811a685b007e7d108dd56e442e8409c77ebe4a49a6faa1a3001826b8f4b00000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002b00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000205920e4f2453a56e2f583a3b063ad7d64f39f7bad8149c6d4b19d2f50f6d0a36b000000000000000100000000000000000000000000000020b8fd589467918402bf4bb2cd7b98a7da7f70abc736b2741a1217d00b382662ae00000000000000010000000000000001000000000000002091b6fd8ecd7ca38652031d42f5e3ecddb3218eb48d31e5bd954c167ff2d1f7a000000000000000010000000000000000000000000000002008acff0ec576895e956adc81b742b80f4b2a9ebffd9840523df1512ab8a072ad00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002b00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000200698955a678285971b7db7ed68e318b78a8381efce66d1cf93644c80e5ff7e900000000000000001000000000000000000000000000000201deb393c12be4886cd184838daf58d48d8efbd11c73aa52d0c35b501d70ec41c0000000000000001000000000000000100000000000000205a7c3165aaee97de03f8f523da4128650b3832f686ba4393934095f668870c2900000000000000010000000000000000000000000000002007857a7b274e7b33cb2b215bcacbea231fd4723ba0892ccdbca9573ddc0ad8ce000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002b00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020111c36a0932d8a837d44fe74ce61683a32125db748575b72fd76d74a8a0bba8d0000000000000001000000000000000000000000000000206eb34ceff610ec3e11de8ec872b7959c9e0e76ce921f981399147cde723fe3fe0000000000000001000000000000000100000000000000209cc3a78802fe8d50ae49bea188f4bea9e95fdbb57ad98ef98bfb03dd9d90ba1200000000000000010000000000000000000000000000002044f993ce593231d09dda0f6d600f10bac12f9b2b41782145925ad9ad36198ddb000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002b00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000000000000000000207bc44098f467795bb294fcfbc7b12ab1be5a28a18729cc97fdd1d056fe912c350000000000000001000000000000000000000000000000202667410b1951f0d5e07727a2416b5928b94b07cd2061a881419246446715e32400000000000000010000000000000001000000000000002083db7e6e8f3e84f53173c989acdc413a1d3de825b53e639f5e592410ac0a3b8e0000000000000001000000000000000000000000000000203218fdc4b3394c312d94ad9d8abb10b850af7407bf3807ee640aec69c29e0037000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000003b0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000209a3041d20c25c4c2f9dd4f23b19794a2630737b33c52b7c007c836df77b54c93000000000000000100000000000000000000000000000020c44652d17bac6aff163491793d63cc443cc345e4e12fa5872961f4b0278dd3c1000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003b00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000205e3a9b1910e80af1b084b68636160bd21335a11ead5237f12683380cc49af6340000000000000001000000000000000000000000000000206313db44512f4645b1f1a382dd4d6102e23ffd6732f6b2ec2c22283a86b2c057000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003b00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e64000000000000000600000000000000010000000000000000000000000000002078974fe72e2b44d76698ec81cad943e4e2dd030d06358215f8042336d5ff9f6a0000000000000001000000000000000000000000000000208d25d126b598f6a2cabe593cb170d8b394e15489f9305c050f3d960a10816686000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003b00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000202e61e0b57177d37b82270a0e3b70bb726a2ac8d7be66fbd5a7c39e6239e324e5000000000000000100000000000000000000000000000020810a0b566dfba1e2d7b61a3cb0e1a3adf0fbc443470b3024c2d3e2d5a9cf2ff7000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003b00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000000000000000000002028259250da84dcf3c20cee14b8d7fe68ea3c7ce8c632373269233adbd8b3eb7d000000000000000100000000000000000000000000000020349fac642d11ad63e3e330178b2e4edaf745f49868b097837aacb038bdff63d300000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000340000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000205ecb8279a52c1a006357de2a6a5b513ed510c8d79c64ba05d33844887cd9a9410000000000000001000000000000000100000000000000207d9dc7ad5ae6bb6db2bde8ac753059e8f5a7d99f4fe4c872aa89a9874f2dd7cf000000000000000100000000000000000000000000000020537c3513c05e7b7104634157db0b7e809bc254c8c8bd0a21bea256818054e988000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003400000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000204caba6dd2989c3846708fbe17e49ac61dc1c58a102026e1494dcd49f1fae0db6000000000000000100000000000000010000000000000020216543de1bc5931e4e853947a60eb4b5fde2e23ce7d26fdcee351e032ad282c7000000000000000100000000000000000000000000000020abc4fafc9baa98d653b1560819a787f157d3934a7007752e26f6ec8d60f172fd000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003400000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000209c10dab6a3a11db0d20d7fd3b058eed5df346059024a483658411af29e82ba6e00000000000000010000000000000001000000000000002060a87d49d50de92e03f6ea02c126187b33f0bf2d81e6ae1596cb35b335124a15000000000000000100000000000000000000000000000020acd166c4f5ae8e1afcd73e1863c2a0732ea49aef35c6bacf7da8c841511fdcc9000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003400000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000205d73b70b4b33f0abc350b1c9866255dd422bda49e3b0ca9d07de63427b2639580000000000000001000000000000000100000000000000207064d518f6cdeb50990579e12508e2bd1268c857ff7baa09b24a45bd113def59000000000000000100000000000000000000000000000020c695c573431d6b3f7487031ac0b1a1208f82e51db3e622318360072ffccd94cb000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003400000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000200a89b9779a57719eba976954e6d44c364ac672c83711b86fde8bd9eefb782471000000000000000100000000000000010000000000000020fbaa69aa4c2075d387f498daef4c28d51a91459584cce7a939044f552035ca740000000000000001000000000000000000000000000000208462638cdbf177a402d018248caad8e735e07ef9dec63272dd8b905bfd99e72c00000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000180000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000001000000000000002037695fcbf2b8601e6e5962e5d9cbd70c8363ea32549d74f0309b63bd06c8bce100000000000000010000000000000001000000000000002010cffb092d26306d66a09725b7f2d89636687f3cddc68d86de6c96012b5bd6d4000000000000000100000000000000010000000000000020d4498403026468fe949fb76b3ae1a7e3e1bd622e2e25ac8661b77435ec2754b000000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000001000000000000002046d1578f193b8da2adc64dc7e1ddd99194b6a95fb0def6901c55a41f23c3c4360000000000000001000000000000000100000000000000206ebd6c23b17c35e1f998ff37cf8769b70c884cfa511e02e4a2c48216e8ef29ed000000000000000100000000000000010000000000000020888d7490f027e16c48ec88a086acbfe25f9f7ae3630d4e03a7b9e4d4f3bfab2200000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000208886b8508b2022d2fe620fafc836cb707a1462e57d561316443500c9124158460000000000000001000000000000000100000000000000202b48da28441d90034ce076f01fa42cc622f2463803b5bf64cbb650463ccda30a0000000000000001000000000000000100000000000000202e8dfef98babcc600a1f2c4195966fef618497afa807414375a4d6f3c602ed95000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020a224717e29ab784b02ba089c9ad3d5c0181b8628d2746341bd95791937cd997b00000000000000010000000000000001000000000000002039d1f110d46c5b14c2628e7dd8f5d8c1f3342cecb1c2d6ab04f89292a1bbad31000000000000000100000000000000010000000000000020d2326c740524354eeb77eab562b4e65669d64e3ad13b078f0340d140ae3ba239000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020bd643d9abffcc0440932d608ea82f6654982a53369889045bd0a4ba45e38aec30000000000000001000000000000000100000000000000202a689f8091254fce917cdcd74c5ea3cc78511179cb315de250ab51efc3f75b2700000000000000010000000000000001000000000000002089b1954e8763cb1332376f42841456e21283233b17c5e37ae9db6af0f31695ac000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000110000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020aa280aedc2e8dfab0553724983ca17476bb280a4ebce83a2eb4b9b64f74ac88c000000000000000100000000000000010000000000000020b4759aebaec34d325268f4eb84a26d6a0abcdccee6c50ad5fc97aa901edfe492000000000000000100000000000000010000000000000020efc859106f3335419e87675042f925fe75cc709ed9593b65aa1c4d8abcedc65400000000000000010000000000000001000000000000002084a3e905806be3610064aede8f1044bf84e51c25f337cd4422685e6e2acc9041000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001100000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000205a9874caea8e9e7872541b46232a9d4ca3ec860a14af4e58996c80c5e6de67160000000000000001000000000000000100000000000000209af5d2f0a16357663b6db8ddfacf7d17ed49066af11ae27d4111a7ed7349e3b900000000000000010000000000000001000000000000002077e509e64b5193d916c8daed2fcd708bb7b5496fe6a0fab8166c709159efbe9a000000000000000100000000000000010000000000000020a75b4e70eaca46934e09be319c42b74a5dcfceb2718a0896dde3f072bec9a1cf0000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001100000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020e9c2d9e6707d51bbdf135b19e8e8f595832ce299ddb427346c976e91871efacd00000000000000010000000000000001000000000000002071bb67c6fff801f41f570f06052004477cb94e4f6dc997f18949b46659d865c7000000000000000100000000000000010000000000000020f4b0bd0882a4b52cccde9594a852e2872f0380fa0c3635093b7f2b31af7463c2000000000000000100000000000000010000000000000020e8ee2f805f2ec34b0224d585a49f48a5f3b4382a857d077f477c31c3d554cd8000000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001100000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020777fbaf050b00538e6e10c0578794f826e228459e25be8bcc4618d41defbfb0d000000000000000100000000000000010000000000000020b007b22cf83c4118be2c91e0f496c2983c41462184eafe7bf8c5d8e776fecee6000000000000000100000000000000010000000000000020063524aa4bf289c804bbd16fb1178f12780072cadc2c4e958ba4f8c3db791526000000000000000100000000000000010000000000000020c7466445b7a892c4e1cebb35620aa6d1eeb612bfbbad520b89e7e51f9f2ace000000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001100000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020422000dfcdf62d1de064d17792c2a9cb3e78da66ddddf1d557e5455d52fca75e000000000000000100000000000000010000000000000020da4494f8eba80518e24c9819a9be703fc728d39985db62c7158454ca7f9ad40f00000000000000010000000000000001000000000000002027d73c8d06e570b0181213829d55a4dba5c1541197146a5d34cce38db358fa2100000000000000010000000000000001000000000000002074324dde1cc0d89f3c2fb16e87cc99ffd14e8b3b6a0545b1ab109989eccb9f0f000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000360000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000202c4373ddb19c1e420dfc0efc01c4518d2c94ff071ad6a20202a26a742faeb7360000000000000001000000000000000000000000000000203db2d587477ed7277a20dc50ca21be2954bd6f7ad3f982c9d41f4e48483ceca3000000000000000100000000000000000000000000000020537c3513c05e7b7104634157db0b7e809bc254c8c8bd0a21bea256818054e988000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003600000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000205c90c4fdfe5cbc0d5f64d770844d63413750c89895352007e5ad8a4421ce130e0000000000000001000000000000000000000000000000203bc2ac2b704ae1515063a5dffa4e42670d0c3727534d975e77ce3fa5a679f0d1000000000000000100000000000000000000000000000020abc4fafc9baa98d653b1560819a787f157d3934a7007752e26f6ec8d60f172fd000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003600000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000207d226da3880e186207b9618aca58564743075de00ace63a6837b9ea05fe55ea20000000000000001000000000000000000000000000000206ff9ebf3a0399e04f4039f20ee516c02676db239e48b5691a4d0f321ad09f427000000000000000100000000000000000000000000000020acd166c4f5ae8e1afcd73e1863c2a0732ea49aef35c6bacf7da8c841511fdcc9000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003600000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020f233ac1346f0ec9e9557e889963641b5ebc1fadd4b612788bde4250e7858d6df000000000000000100000000000000000000000000000020b606f9bfdbe14d3c4ba6347ab9d930add8292aa60416a6327ab72ff759b75fa4000000000000000100000000000000000000000000000020c695c573431d6b3f7487031ac0b1a1208f82e51db3e622318360072ffccd94cb000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003600000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020ed25f1899cdda9aa015c4bfb08302b12a86a3e5fb954e7f6598d00b4fc9a696d00000000000000010000000000000000000000000000002098ec2bda8397eac2dce46bfa04377dc55ffbbedffcf1a151b129a0867542777a0000000000000001000000000000000000000000000000208462638cdbf177a402d018248caad8e735e07ef9dec63272dd8b905bfd99e72c00000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000001d0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000204e9600e61d5eba264308d5b9a8f04a428fb9599ba876020932f2b8dc8d72ddce000000000000000100000000000000010000000000000020d538bd2097e65bd246603517510a58db14b126a1e7af133ec0bbc30a9699ec3100000000000000010000000000000000000000000000002094c83c4189246233dcac475d84c2c58a3412ced45f6ece188886fe4a9332485700000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001d00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000209f434fc42106c803428b60bd2ef8be32eb6188b3f5bb3b79f2f46d9e3448d60f00000000000000010000000000000001000000000000002060496d911e619cc1a511e3a3adf74c57db2bcfdf6954c5f59370bdf047ad3aac0000000000000001000000000000000000000000000000206d04a7a6fb246a3640086e83fbcdd3138c3470d32b9b1d88d251e34c2e21c33300000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001d00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020310d6fca5e2f590268cc403e099cd0407dfbde0a20369bb5ae2d0da0e987bed1000000000000000100000000000000010000000000000020bb764917993baf11cffad10aeedea6dee0760c9919ed042a1b5220b6c0a434ac00000000000000010000000000000000000000000000002051f36c935051812b8fb25b006da15f2001678fe6f8da2c6c3d28484630992628000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001d00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020472d5f0ea2fb35854d360e3dc4b480bc82746088c16ccd97ec36f1371a69202200000000000000010000000000000001000000000000002039c4074ce60c25bbd97c8af9b779c2f2c46523ac3800438802ab13ea83464076000000000000000100000000000000000000000000000020efeae40eff13fefa1508e7c57311001a1b404a259e7e8e15cd08496ec60c6f9a000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001d00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000000000000000000200f1aaf0ebe786dd7f284a6944b69b28e68debeaf436bd7c81ca1a804cd366d0100000000000000010000000000000001000000000000002061792604b90b413b125b68f463d5980e9938d649a5e7f76219ab5fb67cfb463a000000000000000100000000000000000000000000000020f9324d07ab7a678bd3bf2e1cbd8639e944885e2f6d05c3095caedc7383443544000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000380000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000001000000000000002066d296efaacac2244e12bc47bbe88399c19b170d58f744a1bc6f34d9731d71bb000000000000000100000000000000010000000000000020429f0ef0db7b7eb57ff3618650e68467753368e570e50df6671090b87a3e8d44000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020c9801137aea5c37cc7ba1dfaa12000c3fa40afecd1c2f4a7f65bb70e98fcdb8a0000000000000001000000000000000100000000000000201e33d6b9eb89088a30390d49e5e2a73918afb338c8ddb997034b943c46a3cb6f000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020a108a595905e9b5f9100c401571433f9296a92219c806882896eb62a893ad7d50000000000000001000000000000000100000000000000205eee8681535d716812abfcef57198a5b94ab2b5a505ef25756ff4996c1dd8276000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020a17292e9c0348c49079cbc77c6760501a73da148acd786cf50d29abeee76b763000000000000000100000000000000010000000000000020be51bc308da36f56b3cb3598e6646cfc419ca06e1fad0854824c4bec53352c40000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000201c2550f45c76075ce37ae1efdff328c794c42befb16031c06fe39649f9afdac200000000000000010000000000000001000000000000002045fd174efb0bf531a81be8ccc93dbaacf190eea455f8346b3b87de1b2898597800000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000340000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000205ecb8279a52c1a006357de2a6a5b513ed510c8d79c64ba05d33844887cd9a9410000000000000001000000000000000100000000000000207d9dc7ad5ae6bb6db2bde8ac753059e8f5a7d99f4fe4c872aa89a9874f2dd7cf000000000000000100000000000000000000000000000020537c3513c05e7b7104634157db0b7e809bc254c8c8bd0a21bea256818054e988000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003400000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000204caba6dd2989c3846708fbe17e49ac61dc1c58a102026e1494dcd49f1fae0db6000000000000000100000000000000010000000000000020216543de1bc5931e4e853947a60eb4b5fde2e23ce7d26fdcee351e032ad282c7000000000000000100000000000000000000000000000020abc4fafc9baa98d653b1560819a787f157d3934a7007752e26f6ec8d60f172fd000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003400000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000209c10dab6a3a11db0d20d7fd3b058eed5df346059024a483658411af29e82ba6e00000000000000010000000000000001000000000000002060a87d49d50de92e03f6ea02c126187b33f0bf2d81e6ae1596cb35b335124a15000000000000000100000000000000000000000000000020acd166c4f5ae8e1afcd73e1863c2a0732ea49aef35c6bacf7da8c841511fdcc9000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003400000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000205d73b70b4b33f0abc350b1c9866255dd422bda49e3b0ca9d07de63427b2639580000000000000001000000000000000100000000000000207064d518f6cdeb50990579e12508e2bd1268c857ff7baa09b24a45bd113def59000000000000000100000000000000000000000000000020c695c573431d6b3f7487031ac0b1a1208f82e51db3e622318360072ffccd94cb000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003400000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000200a89b9779a57719eba976954e6d44c364ac672c83711b86fde8bd9eefb782471000000000000000100000000000000010000000000000020fbaa69aa4c2075d387f498daef4c28d51a91459584cce7a939044f552035ca740000000000000001000000000000000000000000000000208462638cdbf177a402d018248caad8e735e07ef9dec63272dd8b905bfd99e72c00000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000160000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000001000000000000002069e077cf58f3b8606c680a57eb9ca3cdfa3452d18fd8f0fb2d3df4833414e948000000000000000100000000000000000000000000000020967b84a0719839a1f0579691bc5429b8bf6cdf79b6f30fdcf08022838aec1c74000000000000000100000000000000000000000000000020a202abadfdfd33b1478a1ad1b9307233c78b06bf21d64de910f52b8b4b7c3e9100000000000000010000000000000001000000000000002084a3e905806be3610064aede8f1044bf84e51c25f337cd4422685e6e2acc9041000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001600000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020073ce95e3b5c39db5f518ebc7a15de2b8488bd1f60d2d748d5ee21508478b0710000000000000001000000000000000000000000000000203700c6806fe8ca05fc39b04f33bd6a6ed078d1346883296a1c85353569a65718000000000000000100000000000000000000000000000020db9ddaa566fbdb1de83e4bf09f5d5aa1eac1005dfc79349d5e3cfc4dbf533bfb000000000000000100000000000000010000000000000020a75b4e70eaca46934e09be319c42b74a5dcfceb2718a0896dde3f072bec9a1cf0000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001600000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020ffe6c1d2eb1295497dc02fb82c20f38cc001e553e69e10dc8621f6535c5d4aaf000000000000000100000000000000000000000000000020e9217b1257e04efc53a1be510f4fac7cd60e8aae68a0059ab27b2b54a30f55df000000000000000100000000000000000000000000000020c3491293b972235299bfc0ce8d155d5b15e3f0561e8aad4ee4588a0d3ec0118f000000000000000100000000000000010000000000000020e8ee2f805f2ec34b0224d585a49f48a5f3b4382a857d077f477c31c3d554cd8000000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001600000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020ac608262d0b1db502b9b548162674f8e59ca589d51f1c76f9f88c3780ff5818e0000000000000001000000000000000000000000000000205daaf7f322bcfaed9771b978a7a731fff17709a62838f696f250d49f38ecbd9c000000000000000100000000000000000000000000000020671e72d4952bd537aef5f7d224ff3141a814ad8f6bf5e19b1a5f9a05d7d51e3c000000000000000100000000000000010000000000000020c7466445b7a892c4e1cebb35620aa6d1eeb612bfbbad520b89e7e51f9f2ace000000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001600000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020761ad48cd1927c076b66a98a316cf1c9124d0dc738f6eb5c0f9ea11263609e94000000000000000100000000000000000000000000000020a1960bffe8ed5958ff6f4cb4d3b6ee8c3a058cdd517c7ed682df18f02f98ead4000000000000000100000000000000000000000000000020aed46564d60413bca73a76d82ae3ca02a6755835ce2a3c2ac251a22d3b05b8bc00000000000000010000000000000001000000000000002074324dde1cc0d89f3c2fb16e87cc99ffd14e8b3b6a0545b1ab109989eccb9f0f000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000290000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020698805130ea845631817cea9c0a0751c4819bd8df2d1bbe4048f85ceb12334990000000000000001000000000000000100000000000000204389d9427484da4d8a05a4b5cb728f44518a8e606639f5c50d68553f21faeaca00000000000000010000000000000001000000000000002027302f9de77da556fbdd9cbe015a3505ae001f3ad93c4bcd8cb331df699c35bb0000000000000001000000000000000000000000000000207c447811a685b007e7d108dd56e442e8409c77ebe4a49a6faa1a3001826b8f4b00000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002900000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020e38aeb6337af383e0d13c2e989519f36a7f909f4d277ab32383b529a0a91b76b000000000000000100000000000000010000000000000020523993d77be6a9d369b94cbc7a27b1011c7cb6918f6d47a795c634b42246dfef00000000000000010000000000000001000000000000002091b6fd8ecd7ca38652031d42f5e3ecddb3218eb48d31e5bd954c167ff2d1f7a000000000000000010000000000000000000000000000002008acff0ec576895e956adc81b742b80f4b2a9ebffd9840523df1512ab8a072ad00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002900000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e64000000000000000600000000000000010000000000000000000000000000002044c0c520ba3862aa6e07304cebbd566a4b4e20f3755a11a97e632f27281447f9000000000000000100000000000000010000000000000020789228cd13793d5e670f8d9036b1a75f8f7d6395f9f148aa56b0ea9b7fab11f60000000000000001000000000000000100000000000000205a7c3165aaee97de03f8f523da4128650b3832f686ba4393934095f668870c2900000000000000010000000000000000000000000000002007857a7b274e7b33cb2b215bcacbea231fd4723ba0892ccdbca9573ddc0ad8ce000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002900000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020430a46ba67e841bb4adc314f9287416e3f4bb2d95d0ffba634cd58b151aff831000000000000000100000000000000010000000000000020678d12574e5621cce3b0a9b8e701db12d1478d777a7128aa8a14188618dd0fa10000000000000001000000000000000100000000000000209cc3a78802fe8d50ae49bea188f4bea9e95fdbb57ad98ef98bfb03dd9d90ba1200000000000000010000000000000000000000000000002044f993ce593231d09dda0f6d600f10bac12f9b2b41782145925ad9ad36198ddb000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002900000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000000000000000000002086ca9258f37dfdecde46cbb30ce710fd2c2c3ed7deaa1b944dfdd8bcb58d7634000000000000000100000000000000010000000000000020d943befb8972a276ddfea6284aebe30c2a195fc3803c4c57fc53ae6cd65dd17e00000000000000010000000000000001000000000000002083db7e6e8f3e84f53173c989acdc413a1d3de825b53e639f5e592410ac0a3b8e0000000000000001000000000000000000000000000000203218fdc4b3394c312d94ad9d8abb10b850af7407bf3807ee640aec69c29e0037000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000180000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000001000000000000002037695fcbf2b8601e6e5962e5d9cbd70c8363ea32549d74f0309b63bd06c8bce100000000000000010000000000000001000000000000002010cffb092d26306d66a09725b7f2d89636687f3cddc68d86de6c96012b5bd6d4000000000000000100000000000000010000000000000020d4498403026468fe949fb76b3ae1a7e3e1bd622e2e25ac8661b77435ec2754b000000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000001000000000000002046d1578f193b8da2adc64dc7e1ddd99194b6a95fb0def6901c55a41f23c3c4360000000000000001000000000000000100000000000000206ebd6c23b17c35e1f998ff37cf8769b70c884cfa511e02e4a2c48216e8ef29ed000000000000000100000000000000010000000000000020888d7490f027e16c48ec88a086acbfe25f9f7ae3630d4e03a7b9e4d4f3bfab2200000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000208886b8508b2022d2fe620fafc836cb707a1462e57d561316443500c9124158460000000000000001000000000000000100000000000000202b48da28441d90034ce076f01fa42cc622f2463803b5bf64cbb650463ccda30a0000000000000001000000000000000100000000000000202e8dfef98babcc600a1f2c4195966fef618497afa807414375a4d6f3c602ed95000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020a224717e29ab784b02ba089c9ad3d5c0181b8628d2746341bd95791937cd997b00000000000000010000000000000001000000000000002039d1f110d46c5b14c2628e7dd8f5d8c1f3342cecb1c2d6ab04f89292a1bbad31000000000000000100000000000000010000000000000020d2326c740524354eeb77eab562b4e65669d64e3ad13b078f0340d140ae3ba239000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020bd643d9abffcc0440932d608ea82f6654982a53369889045bd0a4ba45e38aec30000000000000001000000000000000100000000000000202a689f8091254fce917cdcd74c5ea3cc78511179cb315de250ab51efc3f75b2700000000000000010000000000000001000000000000002089b1954e8763cb1332376f42841456e21283233b17c5e37ae9db6af0f31695ac000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000300000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020ce39d2ab4b29cf163b81d517fd6cadea0751d9da491beaa05fa36828c2a180fa000000000000000100000000000000010000000000000020486003bb374f6f8cacb35c8a833f92cc613dc12990d43c3a08873d488a0d3667000000000000000100000000000000010000000000000020fb9441e18414ed808d43172a6b1dcef34cfcc1962541aeacc32cf2cbb35eb2a5000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003000000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000001000000000000002065b775843b4e46284524a7d28a35770903e384892ca6230e12b7d0500fd06cf400000000000000010000000000000001000000000000002026d6f0f8e3d3e2ff6f5feba063901cf4bde3e63bd98e4a387a8e0b147151726c000000000000000100000000000000010000000000000020e1846dcc42eb7313116a918fe7b2b8f7e8adfe98f06f5ba2179dff2bd9f0af8b000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003000000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020edcf9820b0e98f940f0f08e35a3fffc64ecb27f24048cb83c62575707780bd26000000000000000100000000000000010000000000000020b4259ec27b0c37a6a6d1cae0cd29e3937f76ff821ec74f8438d6208b18487ba00000000000000001000000000000000100000000000000204f30aff2d780be88752f6da6a1669d6af6d81677e276b478152c34797616aaf1000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003000000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f564699000000000000000600000000000000010000000000000001000000000000002003e00fddef105ccc60cd6a93dfa96a0481288d3229a757464d60375dd3d9c5ba000000000000000100000000000000010000000000000020bc4394a26de63f03de9a7539413af7911c1f0ffefef82619fb80bc67ecc5576f000000000000000100000000000000010000000000000020556f2969343aaed621831cc8bf0cd8fb65f2b3d9a181a1fda982ec115d6d630e000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003000000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020a5bcde0b6f28c287e6d1ef67570cecddf1675978a0ccd190fa3e4fa250c4ddee000000000000000100000000000000010000000000000020d3916d430a441046f3b9bbdc1cf447c728e143db1f86dc55640fbb101fd346ae000000000000000100000000000000010000000000000020aa27c493395159e8640300f6a1de4d3d6ad68de497c1005f722eb35caf92da9600000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000002a0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000203e80c1c06c743b26529fd41f80fbe1164d3be1d09a68eb18881de681efe1b7ea000000000000000100000000000000000000000000000020e6a065014ee70491112ad08bd0d5051a51a2458deaf4336063357a68774447fb00000000000000010000000000000001000000000000002027302f9de77da556fbdd9cbe015a3505ae001f3ad93c4bcd8cb331df699c35bb0000000000000001000000000000000000000000000000207c447811a685b007e7d108dd56e442e8409c77ebe4a49a6faa1a3001826b8f4b00000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002a00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000201a50de82bb771985d472cdd5154daa53d47ef84e45a5c6d4c5eb6de80883a7cb000000000000000100000000000000000000000000000020b8fd589467918402bf4bb2cd7b98a7da7f70abc736b2741a1217d00b382662ae00000000000000010000000000000001000000000000002091b6fd8ecd7ca38652031d42f5e3ecddb3218eb48d31e5bd954c167ff2d1f7a000000000000000010000000000000000000000000000002008acff0ec576895e956adc81b742b80f4b2a9ebffd9840523df1512ab8a072ad00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002a00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020a1cd22dfaf507602c134c7642d4650aca0c0505db189b6f34abcdcd2ae4bcd160000000000000001000000000000000000000000000000201deb393c12be4886cd184838daf58d48d8efbd11c73aa52d0c35b501d70ec41c0000000000000001000000000000000100000000000000205a7c3165aaee97de03f8f523da4128650b3832f686ba4393934095f668870c2900000000000000010000000000000000000000000000002007857a7b274e7b33cb2b215bcacbea231fd4723ba0892ccdbca9573ddc0ad8ce000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002a00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020b9c8892fdb3dab92d764b4ac1e4845d4585515fea47ba001614b773485a090ff0000000000000001000000000000000000000000000000206eb34ceff610ec3e11de8ec872b7959c9e0e76ce921f981399147cde723fe3fe0000000000000001000000000000000100000000000000209cc3a78802fe8d50ae49bea188f4bea9e95fdbb57ad98ef98bfb03dd9d90ba1200000000000000010000000000000000000000000000002044f993ce593231d09dda0f6d600f10bac12f9b2b41782145925ad9ad36198ddb000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002a00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000001000000000000002098083c2e820b4f841fd88b9f3310f6e36b2e5f408f04c98b1e396887a2e89b6d0000000000000001000000000000000000000000000000202667410b1951f0d5e07727a2416b5928b94b07cd2061a881419246446715e32400000000000000010000000000000001000000000000002083db7e6e8f3e84f53173c989acdc413a1d3de825b53e639f5e592410ac0a3b8e0000000000000001000000000000000000000000000000203218fdc4b3394c312d94ad9d8abb10b850af7407bf3807ee640aec69c29e0037000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000030000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000000000000000000002040c117b11b7eb2e37d3a31ccb5025b5fd5ba7e93d59d4e83ae3ea059e86259ea000000000000000100000000000000000000000000000020a16974ac4792716c2cc2cbbc493d0b99726c3ae4de9eac88e8e65e9c47ccf8010000000000000001000000000000000100000000000000208f9cce52c8a9d0d6bd8282118af0c91a8188550d2b56e00f9aadb2b81200c7ad0000000000000001000000000000000100000000000000200d3b9fe7ff7c4b5832daea2be95b25c0723ffa231afb63aaed6dad4d56b11f1c000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000300000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000000000000000000002001a3a897284a2a8811a84fbb72b8ee887034e4207ff9c07de4b45be7a1d69d80000000000000000100000000000000000000000000000020fa2a8c2c04680ca5b19bf66255031e2415240b1b363dc953a149aaa312283860000000000000000100000000000000010000000000000020763dc9e280179317b417916c3bf02a52682f7ec09f07e43296578685ae9af7a70000000000000001000000000000000100000000000000200c6d15d3945adde400680d28256762be3dc92dbae6931b5297ece52f56f69552000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000300000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020e125605f574bf1959944acf5d7eed7579a8415fc2f8773cb951f67b79f05a6db00000000000000010000000000000000000000000000002071a262c67600ffcac083573b26899243248e95c2eea2532257687f1a7331c10500000000000000010000000000000001000000000000002083dd46f9d639644417aa19b28a872de72d2bca22555f6d65cb168bd66521c8ea00000000000000010000000000000001000000000000002090a7dce70aded36b1fa78854d1d019ab295e3fd492d255085e24016a906568ea00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000300000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020597734abbb9a62c3327a25b553e913aa94371e5db8b99ddb467d4405c0c0ffed000000000000000100000000000000000000000000000020e2197ec71b4990e4bbc8a21b0a39877106e03684f228a8516d0d84cc83d01dfc000000000000000100000000000000010000000000000020be10be1b845111e93d20379d756eaac494be97148f5f65e1d37838b1b11ac6bd00000000000000010000000000000001000000000000002077424b147f90c5f826a9098478b39a3f8e5d65953cdf58816a5b06a2a7e3758d000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000300000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020be8cbe8f9c32dd32db981c6c250e76292d29ba0b0fb58d5b56a8537d61b5544d000000000000000100000000000000000000000000000020cdb5b3c5c838a7867c4973d634a6ce2eba7e004fb022ee7a43b057b146c0bd66000000000000000100000000000000010000000000000020d890228e4963f2f219655aaf0f4fa776ec2569d67b59b7c280e59a499bd7059500000000000000010000000000000001000000000000002057ae0598530ea6bd692b0c1a786439bbd94dab3ed9bd59ce0fc29b5bea7740c60000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000120000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000201e0323b68c6351d73e28c873e0a090446f2880a63f271578040f55d145d40400000000000000000100000000000000000000000000000020b51fb463141e43b1375e58b1d26431f22a626320ccb14e849b185bb19b76d218000000000000000100000000000000010000000000000020efc859106f3335419e87675042f925fe75cc709ed9593b65aa1c4d8abcedc65400000000000000010000000000000001000000000000002084a3e905806be3610064aede8f1044bf84e51c25f337cd4422685e6e2acc9041000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001200000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000209c8e6d95c532a8fc5643e96c606d6bb3e51425addc244f52440126dda5f736b10000000000000001000000000000000000000000000000208fcbfbbbba02886f14edbe5817907fd99cd1ce7b36663a44395d99418916781600000000000000010000000000000001000000000000002077e509e64b5193d916c8daed2fcd708bb7b5496fe6a0fab8166c709159efbe9a000000000000000100000000000000010000000000000020a75b4e70eaca46934e09be319c42b74a5dcfceb2718a0896dde3f072bec9a1cf0000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001200000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000207a672261cbb62646ffea79e27b4856da14d557a1abe54675b8cf890937930afb000000000000000100000000000000000000000000000020104368eeca4c3033d1a012d14554be6f433307ec032049569543215aac117da2000000000000000100000000000000010000000000000020f4b0bd0882a4b52cccde9594a852e2872f0380fa0c3635093b7f2b31af7463c2000000000000000100000000000000010000000000000020e8ee2f805f2ec34b0224d585a49f48a5f3b4382a857d077f477c31c3d554cd8000000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001200000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000208779d66e6e2d89eb2e92bf5f479a296ce522382d57c2fe4b426da132d1a81efb0000000000000001000000000000000000000000000000203842383526bd6f7443ccd0dd11d247517f91babf2466964f36ab2a41231cfc22000000000000000100000000000000010000000000000020063524aa4bf289c804bbd16fb1178f12780072cadc2c4e958ba4f8c3db791526000000000000000100000000000000010000000000000020c7466445b7a892c4e1cebb35620aa6d1eeb612bfbbad520b89e7e51f9f2ace000000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001200000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000010000000000000020c90768951c2adc4501af42385eed7f2a09585b1dd349b8c7da2563df15e99e1a0000000000000001000000000000000000000000000000209357f188f3073014edef45d405f77979cf6529ece7fcde2af164f849f98161b800000000000000010000000000000001000000000000002027d73c8d06e570b0181213829d55a4dba5c1541197146a5d34cce38db358fa2100000000000000010000000000000001000000000000002074324dde1cc0d89f3c2fb16e87cc99ffd14e8b3b6a0545b1ab109989eccb9f0f000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000340000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000205ecb8279a52c1a006357de2a6a5b513ed510c8d79c64ba05d33844887cd9a9410000000000000001000000000000000100000000000000207d9dc7ad5ae6bb6db2bde8ac753059e8f5a7d99f4fe4c872aa89a9874f2dd7cf000000000000000100000000000000000000000000000020537c3513c05e7b7104634157db0b7e809bc254c8c8bd0a21bea256818054e988000000000000000100000000000000010000000000000020470688775bbf83125743fe746404374dec3b5ec4ff89d60b81f04d7aa771a3840000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003400000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000204caba6dd2989c3846708fbe17e49ac61dc1c58a102026e1494dcd49f1fae0db6000000000000000100000000000000010000000000000020216543de1bc5931e4e853947a60eb4b5fde2e23ce7d26fdcee351e032ad282c7000000000000000100000000000000000000000000000020abc4fafc9baa98d653b1560819a787f157d3934a7007752e26f6ec8d60f172fd000000000000000100000000000000010000000000000020876943562f3e641173729aa9ec05663241aee4d687c9ec22b19b7cb5faf6349c000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003400000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000100000000000000209c10dab6a3a11db0d20d7fd3b058eed5df346059024a483658411af29e82ba6e00000000000000010000000000000001000000000000002060a87d49d50de92e03f6ea02c126187b33f0bf2d81e6ae1596cb35b335124a15000000000000000100000000000000000000000000000020acd166c4f5ae8e1afcd73e1863c2a0732ea49aef35c6bacf7da8c841511fdcc9000000000000000100000000000000010000000000000020c68008542d591aaab8256722420c8418b435ffebf401ec801aa5acb4a58409ea000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003400000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000205d73b70b4b33f0abc350b1c9866255dd422bda49e3b0ca9d07de63427b2639580000000000000001000000000000000100000000000000207064d518f6cdeb50990579e12508e2bd1268c857ff7baa09b24a45bd113def59000000000000000100000000000000000000000000000020c695c573431d6b3f7487031ac0b1a1208f82e51db3e622318360072ffccd94cb000000000000000100000000000000010000000000000020facd0ad1846467ba975625fed915926bf24a77e2f403a93076c8cea8dec4ab7f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003400000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000200a89b9779a57719eba976954e6d44c364ac672c83711b86fde8bd9eefb782471000000000000000100000000000000010000000000000020fbaa69aa4c2075d387f498daef4c28d51a91459584cce7a939044f552035ca740000000000000001000000000000000000000000000000208462638cdbf177a402d018248caad8e735e07ef9dec63272dd8b905bfd99e72c00000000000000010000000000000001000000000000002005fb67de217ae2c429cfb02407db04f47e1a3e4d751eead3b8d72e8fda519e3f0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000002d0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020579767c0fd85fa6e1d80bb8697211eea2159065ccd865041974d4367a9e01dd800000000000000010000000000000001000000000000002062673eeb8dfcf37707bb9c970689ae814284d2caec935483c893316bcb12e733000000000000000100000000000000000000000000000020f93f6049ccfb9f2cc7e1fb1a8864830ad6a3857e064a04daff50b577b06e01870000000000000001000000000000000000000000000000207c447811a685b007e7d108dd56e442e8409c77ebe4a49a6faa1a3001826b8f4b00000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002d00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000203eb51a1907dd53df149eac8f2cfb1c13236a08cfd298f67c894afc2695084dcf000000000000000100000000000000010000000000000020f46ef11405e2e08365b4bdb22fbe2c4f939f8a572900fc1024385b8038788d7f000000000000000100000000000000000000000000000020bd60e91ac59206f01982fcc3c917d279b55b40e0db24f1dc53f544752561f95f00000000000000010000000000000000000000000000002008acff0ec576895e956adc81b742b80f4b2a9ebffd9840523df1512ab8a072ad00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002d00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000200457b53b79971e11537755644017ffbe9da28d45a39c830e9f7b36f0c06b3d75000000000000000100000000000000010000000000000020dcfda106e55599ae6126fae279553f19b1e534360286fa4cb3a9ea8551eb04f8000000000000000100000000000000000000000000000020d9d49a102b2ece39b41f780f2eabadca6c8bcff6810eab469b0c92c73292fb7500000000000000010000000000000000000000000000002007857a7b274e7b33cb2b215bcacbea231fd4723ba0892ccdbca9573ddc0ad8ce000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002d00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020d346f9334bcc0ced9f4bbb15632b1428c99136e442948218769f5667de2e67b30000000000000001000000000000000100000000000000202fa1d5e25a8f38a486b1b086481cd82ee8806e85229b5648a7af64d16bef44c700000000000000010000000000000000000000000000002029ededb334108a5dfcbb83f3edf0a3042021f976bf2e443325c6f7e64555c69c00000000000000010000000000000000000000000000002044f993ce593231d09dda0f6d600f10bac12f9b2b41782145925ad9ad36198ddb000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002d00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020ab66dc9d884405649ef5a1c0707174008690d9dbce2ea83be12e456c38107002000000000000000100000000000000010000000000000020ea5f03f03fad00f64020d63b358a95a515aefb43403f13dd29d23d49366c697c000000000000000100000000000000000000000000000020d8a36462c56542a791b8bfbb1f627222b342c3854211bb852ba31d766abe69c70000000000000001000000000000000000000000000000203218fdc4b3394c312d94ad9d8abb10b850af7407bf3807ee640aec69c29e0037000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000001e0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020b6c6fd2fb80b407701ead247fc4d988f52fd9ae9e61a3d5a63b300517788c628000000000000000100000000000000000000000000000020448142439386d079eeec19ee1e42c819a757d7762ef2c976be901811dd181fdc00000000000000010000000000000000000000000000002094c83c4189246233dcac475d84c2c58a3412ced45f6ece188886fe4a9332485700000000000000010000000000000000000000000000002087883941de283a03c43a6ca562704eae2ef642bc07677e91d02b27da4ff7cb74000000000000000100000000000000000000000000000020d1dea4659b82e17d52e9c18926134aa54abc9dd07fd2e172c88b8bcefaddfe450000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000001e00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d000000000000000600000000000000010000000000000001000000000000002019ad0dc6800240e9f9f320195087118fe4931cdefa5dbeecb7521c0575e3ae7800000000000000010000000000000000000000000000002080d2843df2c6b70a8e57fcb101388daa566cd37c065aba3e71ae4cd0b0879c2e0000000000000001000000000000000000000000000000206d04a7a6fb246a3640086e83fbcdd3138c3470d32b9b1d88d251e34c2e21c33300000000000000010000000000000000000000000000002097c18332e3997973b398574b9933da5ed45eca6d07c9bdae4dbede68c27051a50000000000000001000000000000000000000000000000205639bebc2f1e863c83a791c1135c8303a794188509bb02dd44dd01759e0bfd1500000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000001e00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e64000000000000000600000000000000010000000000000001000000000000002008e78cee50a23a104b1a98a825f2bb3ea16faa8db0243e230cba3f4843428e020000000000000001000000000000000000000000000000209ff263f5ae89772988ee36a4dfbe29bcc7ab905f46137cb669b042ec31588df800000000000000010000000000000000000000000000002051f36c935051812b8fb25b006da15f2001678fe6f8da2c6c3d28484630992628000000000000000100000000000000000000000000000020db8a68c5001763a89f065055c9e5e626b0841e5898d4c7b48da995f51563c2e100000000000000010000000000000000000000000000002061ad6b7421973e8cb070ac9f4e22006fbc0a4b6e6ad182c67e101eec016383ad000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000001e00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020b9516c4acfa8bf19dd4f72992ec3b2c4a2764e39a0f6a6de074e8f47feee587700000000000000010000000000000000000000000000002096f811580fe07c7dce10eeebbd925112b4953928084ac9a46574c3bbc046d6fb000000000000000100000000000000000000000000000020efeae40eff13fefa1508e7c57311001a1b404a259e7e8e15cd08496ec60c6f9a000000000000000100000000000000000000000000000020a3b76fe09167c87a3bd49871a58194ad11c3c22d41435ed59f22a09297abf9280000000000000001000000000000000000000000000000202b61e9d813eb142e23bcbc901eeb496e0f0034bf3eb4f699b99acc6e3e20d1e1000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000001e00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000205cc316b81fefad7a5871bad69dca21c49969d2a36de019cdd164449f8c1c6e83000000000000000100000000000000000000000000000020b4ae326eb9e1a8c6fd6d1f5b56d71549165f6c2bc42dbe1c0188f961f73c2a9d000000000000000100000000000000000000000000000020f9324d07ab7a678bd3bf2e1cbd8639e944885e2f6d05c3095caedc7383443544000000000000000100000000000000000000000000000020f15d9609115f6175c55cc29fdc2809acba493fd0f189619d79e21e7258be92c2000000000000000100000000000000000000000000000020f2059be0c96b65ac958dc03f95c1b0d8d37ee4f341441b8f174579d3558467a50000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000050000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000208f290895df0c54fb7e4ea8b38403dc518dcf4708cc41f541e1223ca2161d5e9c000000000000000100000000000000010000000000000020b90bada64d07b964fdbcf7ebe2c27995fd2f807a4b7f0ea99701fd373fed9f44000000000000000100000000000000000000000000000020d5404909e02c0cb4834ce199a8d8871f389175a3ba72ebfeeb23eaff0fc0e6180000000000000001000000000000000100000000000000200d3b9fe7ff7c4b5832daea2be95b25c0723ffa231afb63aaed6dad4d56b11f1c000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000500000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020e749315ff424b43590916222664947ce21da4fe7ef73c2fb2c68a1b0ddb970640000000000000001000000000000000100000000000000203cb3a64ad481482a0e6664e5317d81481d73c8e2f55738eba34a31630f7ef820000000000000000100000000000000000000000000000020b8e963e1d81cb2be7e28dafa4ab8c63edfe1816b563dd105d8a51341473162a10000000000000001000000000000000100000000000000200c6d15d3945adde400680d28256762be3dc92dbae6931b5297ece52f56f69552000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000500000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000205d08e65ec6540663b6956deea1db6bcb347aa77c1e8239d7a379852d189ee931000000000000000100000000000000010000000000000020b373db076437bda82516c3386f62470ddb311a01fed199522ff37499c48fce85000000000000000100000000000000000000000000000020c32269ce6e8165fc379fb43000c1f09a1815f57adedbc814d1abee0c1bc28b1600000000000000010000000000000001000000000000002090a7dce70aded36b1fa78854d1d019ab295e3fd492d255085e24016a906568ea00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000500000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000000000000000000020922af153a62c1443993ccdb4025db040ef6f85362378ad88d5eb5613f0dc47b9000000000000000100000000000000010000000000000020dfed932a3235850e577f171a8a2ffaccd5e5265b6329149b4cde74f27ae65a7c0000000000000001000000000000000000000000000000205bb95a0ae4a0d8ff2b251c73e6bb5e70eed64b5add68f0fd48203c9e747aa2b300000000000000010000000000000001000000000000002077424b147f90c5f826a9098478b39a3f8e5d65953cdf58816a5b06a2a7e3758d000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000500000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020331cf6f0206a7173ad79984b2cee2275234d647ed81beb5152a3437701f0af74000000000000000100000000000000010000000000000020c212718e67c1f524745b5499b29277d7c08d0ebc03d78f731c75a24f9069c4910000000000000001000000000000000000000000000000209f58109913c6114740c8cb8cee571418e59ef94c59e5737f2840e879f092c9dc00000000000000010000000000000001000000000000002057ae0598530ea6bd692b0c1a786439bbd94dab3ed9bd59ce0fc29b5bea7740c60000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000380000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db4000000000000000600000000000000010000000000000001000000000000002066d296efaacac2244e12bc47bbe88399c19b170d58f744a1bc6f34d9731d71bb000000000000000100000000000000010000000000000020429f0ef0db7b7eb57ff3618650e68467753368e570e50df6671090b87a3e8d44000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003800000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000010000000000000020c9801137aea5c37cc7ba1dfaa12000c3fa40afecd1c2f4a7f65bb70e98fcdb8a0000000000000001000000000000000100000000000000201e33d6b9eb89088a30390d49e5e2a73918afb338c8ddb997034b943c46a3cb6f000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003800000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020a108a595905e9b5f9100c401571433f9296a92219c806882896eb62a893ad7d50000000000000001000000000000000100000000000000205eee8681535d716812abfcef57198a5b94ab2b5a505ef25756ff4996c1dd8276000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003800000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020a17292e9c0348c49079cbc77c6760501a73da148acd786cf50d29abeee76b763000000000000000100000000000000010000000000000020be51bc308da36f56b3cb3598e6646cfc419ca06e1fad0854824c4bec53352c40000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003800000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000201c2550f45c76075ce37ae1efdff328c794c42befb16031c06fe39649f9afdac200000000000000010000000000000001000000000000002045fd174efb0bf531a81be8ccc93dbaacf190eea455f8346b3b87de1b2898597800000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e8500000000000000240000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000100000000000000206f857b24983f0b378668c74c240885de7e2743ef43b4437a9090eb03d7ed429e0000000000000001000000000000000100000000000000206873c9330478295f51d23b205f4f30e3db110470362057af4609366bee7021ad000000000000000100000000000000000000000000000020b1beb0d77ce56aa3ea99c95deda5a44248792f3c3e7c0d9ba0ebad972efcd1f700000000000000010000000000000001000000000000002076ff42857f134d6e63ba3c2d2604266f3a9f6a2df509087886e557f5f9551e5200000000000000010000000000000001000000000000002070db276094cf3544dd16faf60914d356fded75d350ead2191b73c6d388c58402000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000002400000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000200621b721b8bdacef3b75079998c6b60b85c7ec0cd788817e46a6efdc37c158a10000000000000001000000000000000100000000000000207382d8f0d464fe3782073530a177becd6eedfa46a28d46cfa73e50a4ef9d1513000000000000000100000000000000000000000000000020c6481a771c57c58c04575421d0505adad0f3350f4a11fcf18dbe3620d22a0fd000000000000000010000000000000001000000000000002052ec1bde1f2e5ed6a51cf42a4bc08677412e0dc06cebff8d176139f93ac6b7fe00000000000000010000000000000001000000000000002057e6dc120addc5cb2c52644aa4f760fbb9a2eda7dd3d3fa33f69289142aa00d900000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000002400000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020230f9c7a9ffec16a8533aa92104e98d82881f942c05cac1997911c217bba5b9900000000000000010000000000000001000000000000002014a29d1e169cd9ff03570114344246384f5609e1419f0481aea930438099c0b7000000000000000100000000000000000000000000000020aa34460fbf1267f73893423a8046c4ed096d812219708b98b5498bc7ac4ab093000000000000000100000000000000010000000000000020ff7144ffea1ed84ae181c5c467fdb212339c7eb04d5b4a537b7b52393f4cde1b000000000000000100000000000000010000000000000020ee92cea30fe8a17345d5fd18527ac139afaa43aeba539f0bb7297d8a3cb47f6a00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000002400000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000100000000000000204694dffa4c41ae6e99f92c2ad23abfec3ec7fab3cc81828bf0ae2dd247bbd99d000000000000000100000000000000010000000000000020dffa5435349087257d23168106364317354e2b139211a8343b972274b88b93d2000000000000000100000000000000000000000000000020fc2be9a3593e39cb9e83f448ad62ebaa1339fa74d7ede469bf59cc4258ff123c0000000000000001000000000000000100000000000000201dc72d7213c61bbe8b8ceff3485370bd3dd5b6b31ad1cc48d14815ce5689630f000000000000000100000000000000010000000000000020fa5035a13c8cf61071def497d06a6fbc7a1045f23bd82706ef1a005214febae200000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000002400000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000100000000000000201cde83f0d122f8b3d96b890b320422e375fd214a02b269c5e1bc684d5ffd331f000000000000000100000000000000010000000000000020fd022d3efb1d4be350327a472690a16fb40eb7f81de2d68324ab0e5395aa36110000000000000001000000000000000000000000000000206fb2e2af10059660c6e985e4448b12c4169af15bda8358b19fdef7ba1970fe4d000000000000000100000000000000010000000000000020fff2e95c8f7945449bfdb99b8999e66773970b8b6c8d18b78c83e61e3b8167e7000000000000000100000000000000010000000000000020267ad2f01e6c8bf5dc444386c5f5ca1e729260e955bbe4e0493df699d4d3d3ac000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000003c0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000010000000000000020f7afe9b8eb2e531762e49ddd809d22d1c8c41e6dafabe40dfcc5dbb2e7a10d75000000000000000100000000000000010000000000000020f48062c85c395a02807f291cc270e876ba32af06423f9141e3df3f672b818ce7000000000000000100000000000000000000000000000020858285dce403a198bbc4824b12dba30f06d55ca9ee5cf7a5e93413180d79fc7f000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003c00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000100000000000000202bd6dd80d23d9bde45fefdafe2ef3d73df31de37dd881cc2ec21fd9d22ea5997000000000000000100000000000000010000000000000020c0b16e92d1b0433c07ee0df9e4f156ad6daa5f690466d5c6776fcadad814a1af000000000000000100000000000000000000000000000020f11aedf6eea6687a3151cef35058ccf96da4b05a9b962d273a04033be7e36c3e000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003c00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000010000000000000020390f134edf4e90803e466a73cb09984595cfe53a2204feca3f84277690e4cce2000000000000000100000000000000010000000000000020189deea80857c47ff243c871bf09f2a788abab847c96395d246f7dc0346dbb8f00000000000000010000000000000000000000000000002083214aeabdf64df82c42d5bf06f61ed77bd00c4ba031b9db7fa3d55182172ee9000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003c00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f5646990000000000000006000000000000000100000000000000010000000000000020a7aedbf22e5f13971a6d25c5f712d33af954ec9695efb7c6314653993d35f93c000000000000000100000000000000010000000000000020051d3b9d8fa7bb7bb2e3644d4aae0dd0c71be06efefb38c0dd4c3849e4b645850000000000000001000000000000000000000000000000208af1e9603bc057a2917ce78cc20d66c07759c4dbcaf8ddfea5ca0f8569aff9c0000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003c00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000001000000000000002005e2d6044b56f0541b5f90282fceecac1c470d21d3aa41bad76e069470abc3750000000000000001000000000000000100000000000000207157144761d0f16de8be6583a5c236cf6623519d17d1591ff7f8776bd62f0b9f00000000000000010000000000000000000000000000002004288910a319f907c6d7cbc657dd8a8cac80a529e1fedc395215e72abe2f0a480000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000003b0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db400000000000000060000000000000001000000000000000000000000000000209a3041d20c25c4c2f9dd4f23b19794a2630737b33c52b7c007c836df77b54c93000000000000000100000000000000000000000000000020c44652d17bac6aff163491793d63cc443cc345e4e12fa5872961f4b0278dd3c1000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003b00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000205e3a9b1910e80af1b084b68636160bd21335a11ead5237f12683380cc49af6340000000000000001000000000000000000000000000000206313db44512f4645b1f1a382dd4d6102e23ffd6732f6b2ec2c22283a86b2c057000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003b00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e64000000000000000600000000000000010000000000000000000000000000002078974fe72e2b44d76698ec81cad943e4e2dd030d06358215f8042336d5ff9f6a0000000000000001000000000000000000000000000000208d25d126b598f6a2cabe593cb170d8b394e15489f9305c050f3d960a10816686000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003b00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000202e61e0b57177d37b82270a0e3b70bb726a2ac8d7be66fbd5a7c39e6239e324e5000000000000000100000000000000000000000000000020810a0b566dfba1e2d7b61a3cb0e1a3adf0fbc443470b3024c2d3e2d5a9cf2ff7000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003b00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea5000000000000000600000000000000010000000000000000000000000000002028259250da84dcf3c20cee14b8d7fe68ea3c7ce8c632373269233adbd8b3eb7d000000000000000100000000000000000000000000000020349fac642d11ad63e3e330178b2e4edaf745f49868b097837aacb038bdff63d300000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e85000000000000000b0000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020e8cdbf7819b170d490cf96734e4509b486c5c48e7964346a1af4ef7075bcb5910000000000000001000000000000000000000000000000200ee98b4c4e2cba2547d954f85fbe0d4f11abae72196809823c3ee2ba0000c20f000000000000000100000000000000010000000000000020d01b35bf7ff95e449c8c19e24f00a32f8f5cc753e0252320950609a2e735d52b000000000000000100000000000000000000000000000020f6fabdcdd6de689e05ec88512e4bc9a3479e95519d339f4ce3f8c809cc51a283000000000000000100000000000000010000000000000020efcf7f4039b20b849b2dc05583bf8fcdad07d45315fc303d064fc164806515e80000000000000001000000000000000100000000000000200f8c16e0e7c10a7060d6ca52741306e20e328e731fae18fe17ba7ffeb22cdaa5000000000000000b00000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d0000000000000006000000000000000100000000000000000000000000000020abbe8e955b486a20548207022b9d4641036c6d597c2a14a78bc927d76a0f85860000000000000001000000000000000000000000000000204baa074ddd7d02a6705f8d7a3602222596c6304db1272b7f950d0fd61aeb34810000000000000001000000000000000100000000000000201eb71500d777d0e83cc7145f498717e8836c9e209fd51de1d97a89f8224930c900000000000000010000000000000000000000000000002028ad4ada488a55d63dbe183b3db7e67c74f864ccbf18679b802a4bcb8e06bedd000000000000000100000000000000010000000000000020a5abef4a8d5630410ffc45f201eca9755826b6dd071e9cdb380f0e61457730ce00000000000000010000000000000001000000000000002048373f8e74b962606295b7a8ed7befc7ea4555e1c36d490d8a126e32aabcc82e000000000000000b00000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e640000000000000006000000000000000100000000000000000000000000000020364d0e58fdc9a69a78532ea4553abfe26ca30995401462f78e1bec430d7e06e7000000000000000100000000000000000000000000000020c065e1f143919411b212e119aa6f870a6e76ba3768da73e376d1d7bb07fef943000000000000000100000000000000010000000000000020983fc29007c17ccead7098b57841299d9d7ca671c14bb487474694ed0159d2bc000000000000000100000000000000000000000000000020cacced1aa91bb552cce40cf865b7228c2b21b90bebd41003a4c95d1f5a7c26ef00000000000000010000000000000001000000000000002028f024d54e36dd4ad978ec5282163bc61bc48d6705f587c848da77f19487522c000000000000000100000000000000010000000000000020e41e1c9fd5128087fc947766d76fcf273688eeebe88e80915089a1d021df2b31000000000000000b00000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f56469900000000000000060000000000000001000000000000000000000000000000204af2e62d36f041b4ee4c829d5f140c0e1e4070778870ff3c6dbd31c5cbe0ff130000000000000001000000000000000000000000000000200a1fd3f9e4258e7df83a036a5af0838a90bd3b509e209a7bc40cde21a511c1d0000000000000000100000000000000010000000000000020d4d31081a439dbd092e10527b6992cbc2aa6c422dac42e2fada0681540d18720000000000000000100000000000000000000000000000020d6cedd6a507c257043f4df27a3bd8152e7679b8bd8500dd351235194ee157240000000000000000100000000000000010000000000000020825a2b1c0e9b297f88af8371e1f1bce4e660572cd0730b8868420cff4747cb25000000000000000100000000000000010000000000000020cbf46ac903c5a5cfcb761d44de5ce2e85361afafcd7fdeb4bd339ac01e5057d2000000000000000b00000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea500000000000000060000000000000001000000000000000000000000000000207353bc941914fcbb09c59660a168bde40238b9c0bf7563891e87d23476663119000000000000000100000000000000000000000000000020a8d42f952188a8a3390ad9908c59878ea5b9cacbdaef95fb59cc38a22c3de11d000000000000000100000000000000010000000000000020e49eda48d3340f13b94b5cc1e1c695ab126bd4866d64765198033cf48984eaa0000000000000000100000000000000000000000000000020b19870ef6ded0ec09f0998faa101fd6534741078cc71c30999cfdf07f1691f950000000000000001000000000000000100000000000000207b545cc5dd4a3735597d5458b5cf2867a9a3b9db09c34e0cad5c07af8c9cc1350000000000000001000000000000000100000000000000201a9ff56c94601ddf18a954d812abf957289a0d1b3439c57d82621269d99370d300000000000000390000000000000020160ed7c06a00a49da8eeb27a545fa9ba2619ac3c2c7d024c59dc80a405a12db40000000000000006000000000000000100000000000000000000000000000020b69a19bff0a481b4b96631acf85c38a83d0cfb23fbe79724ecda69dbd40d27e8000000000000000100000000000000010000000000000020429f0ef0db7b7eb57ff3618650e68467753368e570e50df6671090b87a3e8d44000000000000000100000000000000010000000000000020fa96812ec2cee838f6a7ad1e5ea7be23fd4e1e05e62b0a64a14badf04d4b9ced000000000000000100000000000000000000000000000020f21679c54eda27a1140510647c2412991365b89c35a8b12b44527f362aabf8240000000000000001000000000000000000000000000000202531abc67351f2417d54325fe2272f22f0f96fd064ce67906a3758824c444480000000000000000100000000000000000000000000000020e5e939ab6b06445f422f0840199a9b8087f3f8813567a3561572b3a8b338af50000000000000003900000000000000203909ac84702ef76f03184ad2e9ea1bb323b7de7597bd5880a39fb3239606e97d00000000000000060000000000000001000000000000000000000000000000207d54ebeff66307daad7cf9352c603ac42247fa21d36300a8379334c74d2548240000000000000001000000000000000100000000000000201e33d6b9eb89088a30390d49e5e2a73918afb338c8ddb997034b943c46a3cb6f000000000000000100000000000000010000000000000020b0e45e260174dfe171707b735cf9723c6145d0eeabcccc0e0d4d5b579b13f2aa000000000000000100000000000000000000000000000020e036e773c9e29eb3a83eff7bf00c9124b30d215674a10eb40efb87d9a4a4d3d9000000000000000100000000000000000000000000000020293a05838ade2908e613834e70766239f9e9c1e041cc17c78b14329e626f28e800000000000000010000000000000000000000000000002001722c0deaa8ef9cf350111685986bea07fc10fa358aeae4940efa57a8cc6d3f000000000000003900000000000000208b16e968eb6834a40729b627e512db9f3960716334ba5b1c8c2bd84fdb628e6400000000000000060000000000000001000000000000000000000000000000205455827ae7007d1678bc3c394013cf79072b96d4ddbe538cdc86c8ce9ec07ff70000000000000001000000000000000100000000000000205eee8681535d716812abfcef57198a5b94ab2b5a505ef25756ff4996c1dd8276000000000000000100000000000000010000000000000020e9a50b6846d02d592fbda5d1049a600778a5880415cd0f872e3ce37789fa7d32000000000000000100000000000000000000000000000020d55848c978751b539991a1ecb932a1d3e6a76d738b3824a01867ba20c3f054c5000000000000000100000000000000000000000000000020593c2dc94b12cae5ace59a8f13e76a75d8270815194d765fefb2b6ea5ac9822f00000000000000010000000000000000000000000000002026be89461a2020ef9a5d81c23d033e0cd8ddacbd115c281b8a4535e9aa950d8e000000000000003900000000000000209efa6ecafcdf8bcb561d78bc3e6294523b810c0868a9183d749cc8530f564699000000000000000600000000000000010000000000000000000000000000002054c92683593d758450ca598d31abf0a79c179de61ef50491b6bd2dfdb76b70fd000000000000000100000000000000010000000000000020be51bc308da36f56b3cb3598e6646cfc419ca06e1fad0854824c4bec53352c40000000000000000100000000000000010000000000000020fbe31e9c4fc4d8a2d5f8588f63b3727dcac3d9ca6bbd6a2ac6a7871c9de29640000000000000000100000000000000000000000000000020ba6c78097a571f27ab73f818c4f9b4e338007223c86d9c36dc130e8984bfa62f00000000000000010000000000000000000000000000002076f69db983e043f7059eebe0da5a0ffdba22be37a25602e443e671d48c81f07f00000000000000010000000000000000000000000000002043caf540b93c6d4aa860b141ef3115e2cc0e185ca1bd2d3f1575bc724fedff9d000000000000003900000000000000205ea457a90ba40cf9ce55168c46b39a643bf1c0dfa5c6c96533436c1c54637ea50000000000000006000000000000000100000000000000000000000000000020b1208b90ed0a315731b4a8d8c6c8329cf57e387ff5a606c852e353661e2d893200000000000000010000000000000001000000000000002045fd174efb0bf531a81be8ccc93dbaacf190eea455f8346b3b87de1b2898597800000000000000010000000000000001000000000000002008efc2588a5d808b24e18d5959ac8c83a02b934dbac46e3ccbb4819e21d56c460000000000000001000000000000000000000000000000206786858660e082e54f827e431770da7015b78b212957c66c8351fd49cdf6a30a0000000000000001000000000000000000000000000000203eb27093c6c2b352beca20aef9f6c20d5b2496945f8f04def9bfff496bd13856000000000000000100000000000000000000000000000020665e3bc9c890d34f1f5b2e6c4d5281f94ab85dcd4736b9430a846386db547e850000000000000050000000000000003d0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020cb80d36974bff81efb2c9a6c38318fe41092a8bc74a35e503843bdf1cffa3bad000000000000000100000000000000010000000000000020a2a4a4b6c9380a06291f542e001199843049f78123d3e1b288b6619a03b71997000000000000000100000000000000000000000000000020a4f8ee32337b20faeb0e099e78a4254734aa0042f46d25cfcc2aa1e551cc9e320000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000001d0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020ee9e829472d2e8b8770174c526d025e8b79fb12212bc41ffff9d507a772adeb1000000000000000100000000000000010000000000000020f91e50f14bce7d79b04f63ef0a8aef07c63dedebbfba9adbe77a76b8b25509e5000000000000000100000000000000000000000000000020d62be22d4474867ccb43670741bd4a8065477027e46a82abf9a2400d294961350000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000120000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000208ca96f3667ccd40cb831f81b5f01b575ccb7cad7c52aacae5762cdacf4a05edd00000000000000010000000000000000000000000000002058108b6fe35de9fe61798a8c5a90e424c727dbd4cb0bef3bb4860c5be28ac72f0000000000000001000000000000000100000000000000205fc9ef1583817bd7f32240246813ae21a1059d9decd1b3e11dde1c024943662a000000000000000100000000000000010000000000000020bc7935d81fd970e9b0fd5bec1ce785c92b7b9df7d2b60cb58e0bd7d99d544b99000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000120000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000201c0b91ffcc224ec1d0f9c884b93cabb439596d2a4047c68da4b9a5fe4202339f000000000000000100000000000000000000000000000020b3b445e2088e68469f7a70b97e23f9ee1297783595bb5e5c59ccfcc419fb4fd20000000000000001000000000000000100000000000000208868e1ba7b7b392213706047aa359f3bc25595918fcdff2e4fbefc0a2510e8f300000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000320000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000201c8b009dc8cc78c9afa56525ef071f5162f5e7d986b7a14c1e640b5a52ac4ce9000000000000000100000000000000000000000000000020c13447f7e7cb1aa6fa503a9967e92f67debaec16ef18618937818d1eca0119ff000000000000000100000000000000010000000000000020a0f233ba32a5ed31d6b650825efc73f3ddb897484ab5f619d0dc61bdd12886c700000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000120000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000201c0b91ffcc224ec1d0f9c884b93cabb439596d2a4047c68da4b9a5fe4202339f000000000000000100000000000000000000000000000020b3b445e2088e68469f7a70b97e23f9ee1297783595bb5e5c59ccfcc419fb4fd20000000000000001000000000000000100000000000000208868e1ba7b7b392213706047aa359f3bc25595918fcdff2e4fbefc0a2510e8f300000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000002f0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020a976de5a7a21a09f0dc898cd34b28d24519adb2b0f9d6cffd63c438cb1a111e1000000000000000100000000000000000000000000000020752c542e668219c2006a97ad4a5e93039b9a8a757f84057351ff1ce2ebb43d6600000000000000010000000000000000000000000000002074ecb4f25b4cf943ebbf82b92acb575772ac0d7bf3cd9cae6a491a03d0eff97d000000000000000100000000000000000000000000000020bd73e813b9891a7824545f1fd079e18261d59bc9c8776065929a7a83f02d58180000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000000f0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020b63c3a3dce470d86726c1e3ce677e71fe28f880d1c8f8025df310f59896e7d31000000000000000100000000000000000000000000000020d6bda78b783acc6b46e82b1c069efb71aea59a63180dd46434944b655b1122d7000000000000000100000000000000000000000000000020c57324ddaf9a30be08b7a36461008b7ca3144d3b6c375a3d3e37ec536860977a000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000003b0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020f7a6f2ca78e84813ee62770652143773b1c3caab814a335d9b076b158aa519260000000000000001000000000000000000000000000000201ed0f3b8c744bed37ba3826bccf9d7935f068e992727860bd92794de78f11d5300000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000001b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000000000000000000002054a8bde38d8ce9aa2c964a8b57c8913edd16aed3985646030d965a0a41efea0d000000000000000100000000000000000000000000000020bc81b7585f18f13b0d740bb20b45656691928ae69001525c2073ce6e2a10de0000000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000190000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020720f2ca96fa611c6ca9e70de0dcceb5959b471b5fceeead94f472bc38277bab6000000000000000100000000000000010000000000000020a16dbbc90541bab7f1d764dd233741252b19d5397157b0ba3eda773b027418e100000000000000010000000000000001000000000000002005005509dccc4c51e43fb312875b09f6f2af8bf8b55b05bee9fe8afb8b17e9ed000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000190000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020f47d06aefb96fb2c0afd15c84fe3c715349bbfb5f3ec869373cdd594e66a3641000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000001a0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b000000000000000600000000000000010000000000000001000000000000002097924a6df413f5860681be918247da5fd6dc1bb3e0aeac40ccf63b4a49036d05000000000000000100000000000000000000000000000020d6fb128e87d6fd4eac9fb27df49d1176266cb6bab10089c13dd27a77b49fd66700000000000000010000000000000001000000000000002005005509dccc4c51e43fb312875b09f6f2af8bf8b55b05bee9fe8afb8b17e9ed000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f59000000000000001a0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000207fa4d93ceff999f6c09660f4ed8eafb3f2b61c7c5128546de4b0f0d5d4f1371c000000000000000100000000000000000000000000000020bc81b7585f18f13b0d740bb20b45656691928ae69001525c2073ce6e2a10de0000000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000220000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000200b81cd0f42c44fe9dd335d45025df053857b902e893e84e655d493afa4cf66ac0000000000000001000000000000000000000000000000202bce15ca39c00807f28bed5af838ed48b62b967ab400abe791ebc68af5b5f1ed000000000000000100000000000000010000000000000020a2a5a7bbad077401a78f601cadeaca391ab69c4013feebe5d2f808ecd069f2050000000000000001000000000000000100000000000000204f4048811181c71ff7a1e7f988e99306748e1459bc633dc16d4c8e8d2a6366dc0000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000020000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000204de415797a005984f679f1b1d4d5db870ef0c70e9d8bb9223367e5016408e624000000000000000100000000000000000000000000000020c0debedaf885d46009abd53e58bec4e372724aef0f9859156e2e9bac53d637bc000000000000000100000000000000010000000000000020a3e416405d92e15e76cbbc4478c320f5178d4435dab1f7fad3e6c98ffd6eda1d0000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000260000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000203262c70cdddcfbef287734046befd477d25cd5fcf34722585055386aa4d53296000000000000000100000000000000000000000000000020928775db8801592695e3bcdfecc559d6d6d52ac1551c64c7a994254699dddfa1000000000000000100000000000000000000000000000020896e3a22985e6b65943d7072b9a4d1fdbbf9d3f28bcb637a7b66fab4c59d711c0000000000000001000000000000000100000000000000204f4048811181c71ff7a1e7f988e99306748e1459bc633dc16d4c8e8d2a6366dc0000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000060000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000209fc8ff063be4a6f3d7f376769c35e19b43df16a7bb130b2e70cec03b7d4fe1c20000000000000001000000000000000000000000000000202357b8f58de4ed75cbb4664e78073c6ce5ead72c6029777b23e03f2a51d0124a0000000000000001000000000000000000000000000000203b8fdf83bb3f8c125c0053efd76e2a79455ae5f95e095f940d0a0a460348a9080000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000270000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b000000000000000600000000000000010000000000000000000000000000002056ef1de747008117fe1891d08d4bab2e3d8b895117d09922146045f1bc9631f7000000000000000100000000000000000000000000000020928775db8801592695e3bcdfecc559d6d6d52ac1551c64c7a994254699dddfa1000000000000000100000000000000000000000000000020896e3a22985e6b65943d7072b9a4d1fdbbf9d3f28bcb637a7b66fab4c59d711c0000000000000001000000000000000100000000000000204f4048811181c71ff7a1e7f988e99306748e1459bc633dc16d4c8e8d2a6366dc0000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000070000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000000000000000000002063bce3ba9df43880d6c07f6a17e04bd59a6fbc8d6a650f0fe21ad97a0cb4778d0000000000000001000000000000000000000000000000202357b8f58de4ed75cbb4664e78073c6ce5ead72c6029777b23e03f2a51d0124a0000000000000001000000000000000000000000000000203b8fdf83bb3f8c125c0053efd76e2a79455ae5f95e095f940d0a0a460348a9080000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000000d0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000000000000000000205b21c5bdc777f933715da1e6a6e8a70e0f9f20c1810e9ece7494df7b74a4cee50000000000000001000000000000000100000000000000208ddd825a29ff81b2b7d3ad53e0e8dc715de3d7190f085505de5b8edf05d2698a000000000000000100000000000000000000000000000020e2682f2d45be7160c27b40888efe88ef3f116ece53559aded93bbe95d3ae2559000000000000000100000000000000000000000000000020bab0c4209c3bfdc1552247427f4479464492f122397066203f485c3884d58e2300000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f59000000000000000d0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020644306740b75155730fef464bd071484ed3256a7de9d9319e7ce778a7d707812000000000000000100000000000000010000000000000020cdd9768b5bffe8ba2bac947b7c186bc2a40491c67b4e1b3029aca5d7a84e9df7000000000000000100000000000000000000000000000020c57324ddaf9a30be08b7a36461008b7ca3144d3b6c375a3d3e37ec536860977a000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000080000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000204749d4664a33a774fb49512f175a92d521bfc9c8dd56cbf94c47ec8e8433192c00000000000000010000000000000001000000000000002049ff4dfc57247ee295b18b0e43bee51e1b94b966f5cd7bb4f2828f1fee66b2b800000000000000010000000000000001000000000000002001e5a8a4ec38c47c1d0e5cebced54acff838237b0a0e75bb91901f57e84780f3000000000000000100000000000000000000000000000020bab0c4209c3bfdc1552247427f4479464492f122397066203f485c3884d58e2300000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000080000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020b0bdd3ccd9c43163266b4bb9b0e9641e79f3c4af40ece28f38c8b6e8042684fd00000000000000010000000000000001000000000000002081f219a594b889c95122c09d65a7425a12fdbae21d5ed000f51f2e21bc716664000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000190000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020720f2ca96fa611c6ca9e70de0dcceb5959b471b5fceeead94f472bc38277bab6000000000000000100000000000000010000000000000020a16dbbc90541bab7f1d764dd233741252b19d5397157b0ba3eda773b027418e100000000000000010000000000000001000000000000002005005509dccc4c51e43fb312875b09f6f2af8bf8b55b05bee9fe8afb8b17e9ed000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000190000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020f47d06aefb96fb2c0afd15c84fe3c715349bbfb5f3ec869373cdd594e66a3641000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000080000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000204749d4664a33a774fb49512f175a92d521bfc9c8dd56cbf94c47ec8e8433192c00000000000000010000000000000001000000000000002049ff4dfc57247ee295b18b0e43bee51e1b94b966f5cd7bb4f2828f1fee66b2b800000000000000010000000000000001000000000000002001e5a8a4ec38c47c1d0e5cebced54acff838237b0a0e75bb91901f57e84780f3000000000000000100000000000000000000000000000020bab0c4209c3bfdc1552247427f4479464492f122397066203f485c3884d58e2300000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000080000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020b0bdd3ccd9c43163266b4bb9b0e9641e79f3c4af40ece28f38c8b6e8042684fd00000000000000010000000000000001000000000000002081f219a594b889c95122c09d65a7425a12fdbae21d5ed000f51f2e21bc716664000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000002b0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020b7fc6874bf980f14bb0d6c88f09da5b82b5146ac60b0cce74c81e5b3f71aba4e0000000000000001000000000000000000000000000000208d143adf0c7aa4e0352d6c7c80cac2ae3c5fd5e5e1b470168fd24a3446613eb8000000000000000100000000000000010000000000000020d6af1da67d410a37a112129956fcd0b00e703883d772ccf75559171127c49bf7000000000000000100000000000000000000000000000020bd73e813b9891a7824545f1fd079e18261d59bc9c8776065929a7a83f02d58180000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000000b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020db00037c821ef4239d388cac0460e255498e89e6048dcaf65270180f8d7f1a5d000000000000000100000000000000000000000000000020242304f8b1ba427984e0e6053e248a2e4141f5ffcf33a1ccf0f32f3fd89c2194000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000003b0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020f7a6f2ca78e84813ee62770652143773b1c3caab814a335d9b076b158aa519260000000000000001000000000000000000000000000000201ed0f3b8c744bed37ba3826bccf9d7935f068e992727860bd92794de78f11d5300000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000001b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000000000000000000002054a8bde38d8ce9aa2c964a8b57c8913edd16aed3985646030d965a0a41efea0d000000000000000100000000000000000000000000000020bc81b7585f18f13b0d740bb20b45656691928ae69001525c2073ce6e2a10de0000000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000340000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000200b339c20a7b52bdb021b18d3cd662720f267fb470313ac67910ebb8d4a511293000000000000000100000000000000010000000000000020d9a6213fac3c8d8da64851dcd795fc9880e058fc508182a931ee4ac9d1802cb9000000000000000100000000000000000000000000000020e68b33ec1bdf20a9aebc1878f58d5d588509e9daf2da4d8bb3d69ccf1cb748bc00000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000140000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000001000000000000002002ac7b0b1c6b0d41f3d8b7c03229a667758d1e3fd5b715850d5a282e5a7fddc8000000000000000100000000000000010000000000000020605d400e4f8dcf8eaaf8eb86fb5958fe5af5fa848799c1cd55081feebdf94f8400000000000000010000000000000000000000000000002028385a951551e5da022054f57df81e849e6d9208434cf4c7d9978e810bacd22d00000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000180000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020ba420a1c587f0c19592d58113e926c31d1565a8c394accd0b69cd82a99106fd9000000000000000100000000000000010000000000000020a16dbbc90541bab7f1d764dd233741252b19d5397157b0ba3eda773b027418e100000000000000010000000000000001000000000000002005005509dccc4c51e43fb312875b09f6f2af8bf8b55b05bee9fe8afb8b17e9ed000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000180000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020cf9d6643643b05199dfa3734635c8a5dad0e964c0adc819119c99cc90d4dbd59000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000110000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020977a3b61aba87ba23103492005843c2d3ee2fc6d0b6badfc8b77f95b7ba83aef000000000000000100000000000000010000000000000020915e2962b047a46689cf17a87931981d66a1744941c859c22e33b4652414d3f30000000000000001000000000000000100000000000000205fc9ef1583817bd7f32240246813ae21a1059d9decd1b3e11dde1c024943662a000000000000000100000000000000010000000000000020bc7935d81fd970e9b0fd5bec1ce785c92b7b9df7d2b60cb58e0bd7d99d544b99000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000110000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020011e578ff64ece7a6bb86e50db50ba87149ad361b126c7d1290f99fed9e2070e0000000000000001000000000000000100000000000000206971a27c15be6cc71202ec7ba347e9c18a04209286710b1514502669ff7a7c8d0000000000000001000000000000000100000000000000208868e1ba7b7b392213706047aa359f3bc25595918fcdff2e4fbefc0a2510e8f300000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000360000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020e412a4b0c402ab17604a45fcd40125d677af478b7950f8705cb8a3b9db2d346b00000000000000010000000000000000000000000000002047215f88e35d173db96cb2dd5793570ac8211bd671d80a891371fca42eb1eb1e000000000000000100000000000000000000000000000020e68b33ec1bdf20a9aebc1878f58d5d588509e9daf2da4d8bb3d69ccf1cb748bc00000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000160000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020e5b5c4be32ee956d9bde234ec102362cc4576fe4ee642751ba5f3e3dde4957ae0000000000000001000000000000000000000000000000207ca196ed7bebbd3926fc4ae9de85732a551620b738e175d2d49b3cda9012056c00000000000000010000000000000000000000000000002028385a951551e5da022054f57df81e849e6d9208434cf4c7d9978e810bacd22d00000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000001d0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b000000000000000600000000000000010000000000000000000000000000002001dab4417e3ffadf0c50ceb302c6bb0e7537c145db5e96be4a8a4b502bb8736d000000000000000100000000000000010000000000000020a6a26c7778f44736b930a80545b50c9303d861674fe107dbc7c660bde447d8a5000000000000000100000000000000000000000000000020755f00440740bac7ebf3fd7f15d69ccb1ec7693a2cd1905f1350dd6b5f726b83000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f59000000000000001d0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020ee9e829472d2e8b8770174c526d025e8b79fb12212bc41ffff9d507a772adeb1000000000000000100000000000000010000000000000020f91e50f14bce7d79b04f63ef0a8aef07c63dedebbfba9adbe77a76b8b25509e5000000000000000100000000000000000000000000000020d62be22d4474867ccb43670741bd4a8065477027e46a82abf9a2400d294961350000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000380000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000202bbb8eee65955f88f1ac08b1594692978996df451fc3096f9cbf01ba40f6899f000000000000000100000000000000010000000000000020d7996d61eae80ec7d946e5a6347c8930a3fd362e1f38223732cbd9c92b513d9900000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000180000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020cf9d6643643b05199dfa3734635c8a5dad0e964c0adc819119c99cc90d4dbd59000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000340000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000200b339c20a7b52bdb021b18d3cd662720f267fb470313ac67910ebb8d4a511293000000000000000100000000000000010000000000000020d9a6213fac3c8d8da64851dcd795fc9880e058fc508182a931ee4ac9d1802cb9000000000000000100000000000000000000000000000020e68b33ec1bdf20a9aebc1878f58d5d588509e9daf2da4d8bb3d69ccf1cb748bc00000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000140000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000001000000000000002002ac7b0b1c6b0d41f3d8b7c03229a667758d1e3fd5b715850d5a282e5a7fddc8000000000000000100000000000000010000000000000020605d400e4f8dcf8eaaf8eb86fb5958fe5af5fa848799c1cd55081feebdf94f8400000000000000010000000000000000000000000000002028385a951551e5da022054f57df81e849e6d9208434cf4c7d9978e810bacd22d00000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000160000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020a395356d92ad21d86637a84093f81d583482d6f8cc89c6eccc9c3850b3cba7f8000000000000000100000000000000000000000000000020cbedc9fe6099d16324dfd151630aace6c10798cce72c063006af7a373be769c9000000000000000100000000000000000000000000000020b732f79e932b232d9c6a5d729b4f026ec2c664a95b3fbbe043fe4b26732cdff5000000000000000100000000000000010000000000000020bc7935d81fd970e9b0fd5bec1ce785c92b7b9df7d2b60cb58e0bd7d99d544b99000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000160000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020e5b5c4be32ee956d9bde234ec102362cc4576fe4ee642751ba5f3e3dde4957ae0000000000000001000000000000000000000000000000207ca196ed7bebbd3926fc4ae9de85732a551620b738e175d2d49b3cda9012056c00000000000000010000000000000000000000000000002028385a951551e5da022054f57df81e849e6d9208434cf4c7d9978e810bacd22d00000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000290000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020da822399790db30f7d3c4808503a4187258a46f9c37b4c6855365e1698dd42850000000000000001000000000000000100000000000000202e6d60adcf9d73a785820422d033afec120a3477b5f9dc29083ca73b615d32ab000000000000000100000000000000010000000000000020d6af1da67d410a37a112129956fcd0b00e703883d772ccf75559171127c49bf7000000000000000100000000000000000000000000000020bd73e813b9891a7824545f1fd079e18261d59bc9c8776065929a7a83f02d58180000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000090000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000000000000000000204de38cfb59c8b3a74f61eeb02ef94d609234e3d4c3d136de7310749ac2ff55c100000000000000010000000000000001000000000000002081f219a594b889c95122c09d65a7425a12fdbae21d5ed000f51f2e21bc716664000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000180000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020ba420a1c587f0c19592d58113e926c31d1565a8c394accd0b69cd82a99106fd9000000000000000100000000000000010000000000000020a16dbbc90541bab7f1d764dd233741252b19d5397157b0ba3eda773b027418e100000000000000010000000000000001000000000000002005005509dccc4c51e43fb312875b09f6f2af8bf8b55b05bee9fe8afb8b17e9ed000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000180000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020cf9d6643643b05199dfa3734635c8a5dad0e964c0adc819119c99cc90d4dbd59000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000300000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020d8e9e118ac084c26407776e44caff6e39d845d96824e75eecac49f946374aabd000000000000000100000000000000010000000000000020b3cc2af9355a855209ec3412d7478674a60d1ef1443482f4b6ae1dcb0fe321f6000000000000000100000000000000010000000000000020a0f233ba32a5ed31d6b650825efc73f3ddb897484ab5f619d0dc61bdd12886c700000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000100000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000001000000000000002047ae7b922e340a6b76feb576fa2125395a1fe5d942b8fb71256cfb872cb9fcb60000000000000001000000000000000100000000000000206971a27c15be6cc71202ec7ba347e9c18a04209286710b1514502669ff7a7c8d0000000000000001000000000000000100000000000000208868e1ba7b7b392213706047aa359f3bc25595918fcdff2e4fbefc0a2510e8f300000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000002a0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020eb951e155bdf8489a96be40a0edebeb200212b98175a2d0cb81c3918f44a8b010000000000000001000000000000000000000000000000208d143adf0c7aa4e0352d6c7c80cac2ae3c5fd5e5e1b470168fd24a3446613eb8000000000000000100000000000000010000000000000020d6af1da67d410a37a112129956fcd0b00e703883d772ccf75559171127c49bf7000000000000000100000000000000000000000000000020bd73e813b9891a7824545f1fd079e18261d59bc9c8776065929a7a83f02d58180000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000000a0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000001000000000000002053e2c00ba4e40aae56e3dd644ebc333c8b3627535dbf3385dc54034999a4bcef000000000000000100000000000000000000000000000020242304f8b1ba427984e0e6053e248a2e4141f5ffcf33a1ccf0f32f3fd89c2194000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000030000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020e5ad2b52ae544329960929d4f83bbd49fd1d45fc75ec04f44c66cfe4470de0560000000000000001000000000000000000000000000000202cf7fa6237b6acf159db2fecdabb706316b7df5782e57beccd86cbf566e5e2de00000000000000010000000000000001000000000000002045847159af3c59822013b960a7be361fb7bc82cb10cd6f5d0cfc34613be22a7d00000000000000010000000000000001000000000000002023cd9e59e805ea6a1762fe053e000932b8b84e41927ba2b6b2228fe6d1c5d7da00000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000030000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000000000000000000002088610e235a59623a8d64d1f6224e19e2a989a6501dbee0488d7e949ea60ac9b8000000000000000100000000000000000000000000000020c0debedaf885d46009abd53e58bec4e372724aef0f9859156e2e9bac53d637bc000000000000000100000000000000010000000000000020a3e416405d92e15e76cbbc4478c320f5178d4435dab1f7fad3e6c98ffd6eda1d0000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000120000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000208ca96f3667ccd40cb831f81b5f01b575ccb7cad7c52aacae5762cdacf4a05edd00000000000000010000000000000000000000000000002058108b6fe35de9fe61798a8c5a90e424c727dbd4cb0bef3bb4860c5be28ac72f0000000000000001000000000000000100000000000000205fc9ef1583817bd7f32240246813ae21a1059d9decd1b3e11dde1c024943662a000000000000000100000000000000010000000000000020bc7935d81fd970e9b0fd5bec1ce785c92b7b9df7d2b60cb58e0bd7d99d544b99000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000120000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000201c0b91ffcc224ec1d0f9c884b93cabb439596d2a4047c68da4b9a5fe4202339f000000000000000100000000000000000000000000000020b3b445e2088e68469f7a70b97e23f9ee1297783595bb5e5c59ccfcc419fb4fd20000000000000001000000000000000100000000000000208868e1ba7b7b392213706047aa359f3bc25595918fcdff2e4fbefc0a2510e8f300000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000340000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000200b339c20a7b52bdb021b18d3cd662720f267fb470313ac67910ebb8d4a511293000000000000000100000000000000010000000000000020d9a6213fac3c8d8da64851dcd795fc9880e058fc508182a931ee4ac9d1802cb9000000000000000100000000000000000000000000000020e68b33ec1bdf20a9aebc1878f58d5d588509e9daf2da4d8bb3d69ccf1cb748bc00000000000000010000000000000001000000000000002005c41e82904f281b6b15f2a656d17774fc09923e9c2e621318b419db44abeb0400000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000140000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000001000000000000002002ac7b0b1c6b0d41f3d8b7c03229a667758d1e3fd5b715850d5a282e5a7fddc8000000000000000100000000000000010000000000000020605d400e4f8dcf8eaaf8eb86fb5958fe5af5fa848799c1cd55081feebdf94f8400000000000000010000000000000000000000000000002028385a951551e5da022054f57df81e849e6d9208434cf4c7d9978e810bacd22d00000000000000010000000000000001000000000000002027bb36cba8030c1359361009ea4eab7d8eb8364313c1a5aa7b11e7c3b25ce6f7000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000002d0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b000000000000000600000000000000010000000000000000000000000000002008a74af5f4d507694fe935195207958099292b4e996e6f5eb78e9d88dedc69b5000000000000000100000000000000010000000000000020857267e56e942163c20d68b14dca04027147c8850d649e54328c658ed9190c5100000000000000010000000000000000000000000000002074ecb4f25b4cf943ebbf82b92acb575772ac0d7bf3cd9cae6a491a03d0eff97d000000000000000100000000000000000000000000000020bd73e813b9891a7824545f1fd079e18261d59bc9c8776065929a7a83f02d58180000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000000d0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020644306740b75155730fef464bd071484ed3256a7de9d9319e7ce778a7d707812000000000000000100000000000000010000000000000020cdd9768b5bffe8ba2bac947b7c186bc2a40491c67b4e1b3029aca5d7a84e9df7000000000000000100000000000000000000000000000020c57324ddaf9a30be08b7a36461008b7ca3144d3b6c375a3d3e37ec536860977a000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000001e0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b000000000000000600000000000000010000000000000001000000000000002090626975ff2d291003024eec76862c8dfcc48999474b0e320e96c7acc88949b40000000000000001000000000000000000000000000000200f1e70ab7648961571a6c1b607a5216f9b67196a2d608adae40565caccf1c0d1000000000000000100000000000000000000000000000020755f00440740bac7ebf3fd7f15d69ccb1ec7693a2cd1905f1350dd6b5f726b83000000000000000100000000000000000000000000000020b5ee5eb879be422630aa0e2da500bc91cc60b299d455dc24642f4cc4b3c41e71000000000000000100000000000000000000000000000020352f6e0fcd92a6cf21505a753426d2d7f5b7c06794ffde6861cff28f4b874519000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f59000000000000001e0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000203e1f67267c93c655934061fae1db1d3eaba527e0b2491b4b241ff0a3297c91d5000000000000000100000000000000000000000000000020bd65399b9f6ce8bd9d57ffa68928a2fd8d183b658f3d05ae55cf1ca35f3e710f000000000000000100000000000000000000000000000020d62be22d4474867ccb43670741bd4a8065477027e46a82abf9a2400d294961350000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000050000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020ad44fe2b8f2334cedbf83b3c0ce494c2d46e31378cca79dced59406ad0c4f1e900000000000000010000000000000001000000000000002018da1931304b2c741b59e90aa88466bced94c7d14954a6ad1a525b7d4130cf0f000000000000000100000000000000000000000000000020b58c7b0b4f6870f99ed1864a51a1f208ae99ffb78344f267321c0b57717a805d00000000000000010000000000000001000000000000002023cd9e59e805ea6a1762fe053e000932b8b84e41927ba2b6b2228fe6d1c5d7da00000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f5900000000000000050000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020fc6ca1a2b22d29ee91fa91a45c230251ae4e1375121aa3ee32c4a8251dc65990000000000000000100000000000000010000000000000020ca3343ef08ab29509ad5798fb44b6a945bbb4d96e6735471c7c0b5267d61c5fb0000000000000001000000000000000000000000000000203b8fdf83bb3f8c125c0053efd76e2a79455ae5f95e095f940d0a0a460348a9080000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000380000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000202bbb8eee65955f88f1ac08b1594692978996df451fc3096f9cbf01ba40f6899f000000000000000100000000000000010000000000000020d7996d61eae80ec7d946e5a6347c8930a3fd362e1f38223732cbd9c92b513d9900000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000180000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000010000000000000020cf9d6643643b05199dfa3734635c8a5dad0e964c0adc819119c99cc90d4dbd59000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e00000000000000240000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000010000000000000020e9ce9adf8e80b7a304950dd818c10d6af45b80b123201836241ac48a535fc4750000000000000001000000000000000100000000000000208f1d6e85c80879fe38aab449854c8f505f6b087837155482218137cd567edebf000000000000000100000000000000000000000000000020896e3a22985e6b65943d7072b9a4d1fdbbf9d3f28bcb637a7b66fab4c59d711c0000000000000001000000000000000100000000000000204f4048811181c71ff7a1e7f988e99306748e1459bc633dc16d4c8e8d2a6366dc0000000000000001000000000000000100000000000000204395c4dbabeaef6b3209884ca55769af9aad5ab00905fced89a66736d53d9bab0000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000040000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000201b77fe5e4470e1027dd53ed27b7a1b44e7bec6350dfe47ec13dce555b6dd80f1000000000000000100000000000000010000000000000020ca3343ef08ab29509ad5798fb44b6a945bbb4d96e6735471c7c0b5267d61c5fb0000000000000001000000000000000000000000000000203b8fdf83bb3f8c125c0053efd76e2a79455ae5f95e095f940d0a0a460348a9080000000000000001000000000000000100000000000000202bd331a03efbfb6200e9073c186d134d6d75e4871a756a48caa08570c3db2a4100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d53000000000000003c0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000100000000000000208a50121f2de353d579d4a20f2e6f40646fded8a8a1ea0c67b1e5e2bfc5cf95c0000000000000000100000000000000010000000000000020a2a4a4b6c9380a06291f542e001199843049f78123d3e1b288b6619a03b71997000000000000000100000000000000000000000000000020a4f8ee32337b20faeb0e099e78a4254734aa0042f46d25cfcc2aa1e551cc9e320000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000001c0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae00000000000000050000000000000001000000000000000100000000000000203ec9dd88b7ea19512787a64bb9a421c75c8c2c1a0f57703dd2aded069fcbb0bb000000000000000100000000000000010000000000000020f91e50f14bce7d79b04f63ef0a8aef07c63dedebbfba9adbe77a76b8b25509e5000000000000000100000000000000000000000000000020d62be22d4474867ccb43670741bd4a8065477027e46a82abf9a2400d294961350000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000003b0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020f7a6f2ca78e84813ee62770652143773b1c3caab814a335d9b076b158aa519260000000000000001000000000000000000000000000000201ed0f3b8c744bed37ba3826bccf9d7935f068e992727860bd92794de78f11d5300000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a000000000000001b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae000000000000000500000000000000010000000000000000000000000000002054a8bde38d8ce9aa2c964a8b57c8913edd16aed3985646030d965a0a41efea0d000000000000000100000000000000000000000000000020bc81b7585f18f13b0d740bb20b45656691928ae69001525c2073ce6e2a10de0000000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000000b0000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b00000000000000060000000000000001000000000000000000000000000000205b92476e3053b23b4929d5cf75569a36e9718f1413dcd5d1da2b91688d3e55d7000000000000000100000000000000000000000000000020cdaabbcd003499deea9cdc2440789544ac6312424ca7651e9df6c1b65ebfff7400000000000000010000000000000001000000000000002001e5a8a4ec38c47c1d0e5cebced54acff838237b0a0e75bb91901f57e84780f3000000000000000100000000000000000000000000000020bab0c4209c3bfdc1552247427f4479464492f122397066203f485c3884d58e2300000000000000010000000000000001000000000000002016806d5734078a7f9df5cb262b0cd0aafb4381036ca6291fd843fc1551b51059000000000000000100000000000000010000000000000020a2427f6eb159bd327d69e68d928e0bbe2752bd630ad627f03f097370b10e6f59000000000000000b0000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020db00037c821ef4239d388cac0460e255498e89e6048dcaf65270180f8d7f1a5d000000000000000100000000000000000000000000000020242304f8b1ba427984e0e6053e248a2e4141f5ffcf33a1ccf0f32f3fd89c2194000000000000000100000000000000010000000000000020464620a017b77e5f91cda3c4534c9e1aa86db1ab7538efd09224301ab9a849ff000000000000000100000000000000000000000000000020e4508d60ce51cbeb8fa144c365450c1bffd5457e11929052cb456ac33e6ea43100000000000000010000000000000001000000000000002088a3ac916289d40e9cce5fbc8a7f99b2f8788c07e695d662d0ee4ad656f41d5300000000000000390000000000000020de57342bcfbcbc33bbb53464e6632d8e912407c412c8ea62888ed934b3d55c2b0000000000000006000000000000000100000000000000000000000000000020e98503531766b8b2ba631d0ad9ee10ec673208c000f9ddae9c15f72894d3cbb5000000000000000100000000000000010000000000000020d7996d61eae80ec7d946e5a6347c8930a3fd362e1f38223732cbd9c92b513d9900000000000000010000000000000001000000000000002074ee4ec51f48728397e0c4f0d40d92e9ab9542dc27bfc6980bc19257635164c20000000000000001000000000000000000000000000000203e263bc1aadd8c388a5c56826b617e338c53f875f41e3499f9a20913ba56db4a00000000000000010000000000000000000000000000002099a6e996d2736922278c1a5eeaf1fd856b3117501db892b29ad555b221911dd80000000000000001000000000000000000000000000000202e8509a944f4cde9abab72a6134afa3fc57c116882affdea5e3b1d69cd8bbc3a00000000000000190000000000000020f22ddad95b6fdf7ab4b02ee898432c8bdc2636a260e3ae7dedef92dd3a3524ae0000000000000005000000000000000100000000000000000000000000000020f47d06aefb96fb2c0afd15c84fe3c715349bbfb5f3ec869373cdd594e66a3641000000000000000100000000000000010000000000000020d3848b7554c140a163c87f32006871501200eebc7efa7b21005e8a1d18fed64800000000000000010000000000000001000000000000002092e381548848c43391174cb6b7522a42d4b201af01cbe9d9147a259a479d9b610000000000000001000000000000000000000000000000206e6d004bfc8c496bfaa40d1dc3b0f52f666af91cee86c921ca2bbcdbe44f3e52000000000000000100000000000000000000000000000020649ca8c3e6f3cab4cf83d8b1add18cc0d11725047e2f25603fe77359b4f5e26e000000000000000219c31bb33b537f3fb9d4f84c9a4cd547ff2044ede728ea67342b55562bc221f00082c4626883911bd2b2c0b6924ac1887ee9f80383e452e0a86e5b69779cea8b6b8d4d9b \ No newline at end of file diff --git a/contracts/zkllvm/circuit6/public_input.inp b/contracts/zkllvm/circuit6/public_input.inp deleted file mode 100644 index e69de29..0000000 diff --git a/contracts/zkllvm/circuit7/commitment.sol b/contracts/zkllvm/circuit7/commitment.sol deleted file mode 100644 index 63078bf..0000000 --- a/contracts/zkllvm/circuit7/commitment.sol +++ /dev/null @@ -1,491 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_commitment.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../containers/merkle_verifier.sol"; -import "../../algebra/polynomial.sol"; -import "hardhat/console.sol"; - -library modular_commitment_scheme_circuit7 { - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint64 constant batches_num = 5; - uint256 constant r = 3; - uint256 constant lambda = 40; - uint256 constant D0_size = 256; - uint256 constant max_degree = 15; - uint256 constant D0_omega = 23692685744005816481424929253249866475360293751445976741406164118468705843520; - uint256 constant unique_points = 9; - uint256 constant omega = 14450201850503471296781915119640920297985789873634237091629829669980153907901; - uint256 constant _eta = 3220364210532353783132791604212137439743112382567031206832408370394102550017; - bytes constant point_ids = hex"000100010001000100010001000100010002010002010002010002010002010002010002010002010002010001000100010001000201000201030405060002070806000002000200000000000000000000000000000000000000000000000000000205000205000205000205000205000205000205000205000205"; // 1 byte -- point id - bytes constant poly_points_num = hex"003d0017001700010001000a000200010001"; // 2 byte lengths - bytes constant poly_ids = hex"00000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058005c006000640068006c007000740078007c008000840088008c009000940098009c00a000a400a800ac00b000b400b800bc00c000c400c800cc00d000d400d800dc00e000e400e800ec00f0000000040008000c001000140018001c002000240028002c003000340038003c004000440048004c005000540058002000240028002c003000340038003c004000540058005c0064006800d000d400d800dc00e000e400e800ec00f0005c005c005c00d000d400d800dc00e000e400e800ec00f0005c0060005c005c0"; // 2 byte poly_id 2 byte - - struct commitment_state{ - bytes leaf_data; - uint256 roots_offset; - uint256 query_proof_offset; - uint256 initial_data_offset; - uint256 initial_proof_offset; - uint256 round_proof_offset; - uint256 round_data_offset; - uint256[r] alphas; - uint64[batches_num] batch_sizes; - uint64 poly_num; - uint256 points_num; - uint256 theta; - uint256 x_index; - uint256 x; - uint256 max_batch; - uint256 domain_size; - uint256[] final_polynomial; - uint256 leaf_length; - uint256[2][unique_points] denominators; - uint256[unique_points] U; - uint256[unique_points] unique_eval_points; - uint256[unique_points] theta_factors; - uint256[2] y; - uint256[2] Q; - uint256 j; - uint256 offset; - uint16[][unique_points] poly_inds; - } - - - function prepare_eval_points(uint256[unique_points] memory result, uint256 xi, uint256 eta) internal view { - uint256 inversed_omega = field.inverse_static(omega, modulus); - result[0] = xi; - result[1] = eta; - result[2] = mulmod(xi, omega, modulus); - result[3] = mulmod(xi, field.pow_small(inversed_omega, 7, modulus), modulus); - result[4] = mulmod(xi, field.pow_small(inversed_omega, 3, modulus), modulus); - result[5] = mulmod(xi, field.pow_small(inversed_omega, 2, modulus), modulus); - result[6] = mulmod(xi, inversed_omega, modulus); - result[7] = mulmod(xi, field.pow_small(omega, 2, modulus), modulus); - result[8] = mulmod(xi, field.pow_small(omega, 3, modulus), modulus); - - } - - function prepare_Y(bytes calldata blob, uint256 offset, commitment_state memory state) internal pure { - unchecked{ - state.y[0] = 0; - state.y[1] = 0; - for(uint256 cur_point = unique_points; cur_point > 0; ){ - cur_point--; - for(uint256 cur_poly = state.poly_inds[cur_point].length; cur_poly > 0;){ - cur_poly--; - uint256 cur_offset = state.poly_inds[cur_point][cur_poly]; - cur_offset = state.query_proof_offset + cur_offset; - state.Q[0] = mulmod(state.Q[0], state.theta, modulus); - state.Q[1] = mulmod(state.Q[1], state.theta, modulus); - state.Q[0] = addmod(state.Q[0], basic_marshalling.get_uint256_be(blob, cur_offset), modulus); - state.Q[1] = addmod(state.Q[1], basic_marshalling.get_uint256_be(blob, cur_offset + 0x20), modulus); - } - state.Q[0] = addmod(state.Q[0], modulus - state.U[cur_point], modulus); - state.Q[1] = addmod(state.Q[1], modulus - state.U[cur_point], modulus); - state.Q[0] = mulmod(state.Q[0], state.denominators[cur_point][0], modulus); - state.Q[1] = mulmod(state.Q[1], state.denominators[cur_point][1], modulus); - state.Q[0] = mulmod(state.Q[0], state.theta_factors[cur_point], modulus); - state.Q[1] = mulmod(state.Q[1], state.theta_factors[cur_point], modulus); - state.y[0] = addmod(state.y[0], state.Q[0], modulus); - state.y[1] = addmod(state.y[1], state.Q[1], modulus); - state.Q[0] = 0; - state.Q[1] = 0; - } - } - } - - function initialize( - bytes32 tr_state_before - ) internal returns(bytes32 tr_state_after){ - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - uint256 eta = transcript.get_field_challenge(tr_state, modulus); - require(eta == _eta, "Wrong eta"); - tr_state_after = tr_state.current_challenge; - } - - function copy_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - c - ) - mstore( - add(leaf, 0x40), - d - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_reverted_memory_pair_and_check(bytes calldata blob, uint256 proof_offset, bytes memory leaf, uint256[2] memory pair) - internal pure returns(bool b){ - uint256 c = pair[0]; - uint256 d = pair[1]; - assembly{ - mstore( - add(leaf, 0x20), - d - ) - mstore( - add(leaf, 0x40), - c - ) - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, 0x40 )){ - return false; - } else { - return true; - } - } - - function copy_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool b){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, offset)) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function copy_reverted_pairs_and_check(bytes calldata blob, uint256 offset, bytes memory leaf, uint256 size, uint256 proof_offset) - internal pure returns(bool){ - unchecked { - uint256 offset2 = 0x20; - for(uint256 k = 0; k < size;){ - assembly{ - mstore( - add(leaf, offset2), - calldataload(add(blob.offset, add(offset, 0x20))) - ) - mstore( - add(leaf, add(offset2, 0x20)), - calldataload(add(blob.offset, offset)) - ) - } - k++; offset2 += 0x40; offset += 0x40; - } - if( !merkle_verifier.parse_verify_merkle_proof_bytes_be(blob, proof_offset, leaf, offset2 - 0x20 )){ - return false; - } else { - return true; - } - } - } - - function colinear_check(uint256 x, uint256[2] memory y, uint256 alpha, uint256 colinear_value) internal pure returns(bool){ - unchecked { - uint256 tmp; - tmp = addmod(y[0], y[1], modulus); - tmp = mulmod(tmp, x, modulus); - tmp = addmod( - tmp, - mulmod( - alpha, - addmod(y[0], modulus-y[1], modulus), - modulus - ), - modulus - ); - uint256 tmp1 = mulmod(colinear_value , 2, modulus); - tmp1 = mulmod(tmp1 , x, modulus); - if( tmp != tmp1 ){ - return false; - } - return true; - } - } - - function verify_eval( - bytes calldata blob, - uint256[5] memory commitments, - uint256 challenge, - bytes32 transcript_state - ) internal view returns (bool){ - -unchecked { - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - commitment_state memory state; - - { - uint256 offset; - - if (challenge!= transcript.get_field_challenge(tr_state, modulus)) { - console.log("Wrong challenge"); - return false; - } - - for(uint8 i = 0; i < batches_num;){ - transcript.update_transcript_b32(tr_state, bytes32(commitments[i])); - i++; - } - state.theta = transcript.get_field_challenge(tr_state, modulus); - - state.points_num = basic_marshalling.get_length(blob, 0x0); - offset = 0x10 + state.points_num * 0x20; - for(uint8 i = 0; i < batches_num;){ - state.batch_sizes[i] = uint64(uint8(blob[offset + 0x1])); - if( state.batch_sizes[i] > state.max_batch ) state.max_batch = state.batch_sizes[i]; - state.poly_num += state.batch_sizes[i]; - i++; offset +=2; - } - - offset += 0x8; - offset += state.poly_num; - state.roots_offset = offset + 0x8; - offset += 0x8; - - for( uint8 i = 0; i < r;){ - transcript.update_transcript_b32(tr_state, bytes32(basic_marshalling.get_uint256_be(blob, offset + 0x8))); - state.alphas[i] = transcript.get_field_challenge(tr_state, modulus); - i++; offset +=40; - } - - - bytes calldata proof_of_work = blob[blob.length - 4:]; - transcript.update_transcript(tr_state, proof_of_work); - uint256 p_o_w = transcript.get_integral_challenge_be(tr_state, 4); - if (p_o_w & 0xffff0000 != 0) return false; - - - offset += 0x8 + r; - state.initial_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - - state.round_data_offset = offset + 0x8; - offset += 0x8 + 0x20*basic_marshalling.get_length(blob, offset); - offset += 0x8; - - state.initial_proof_offset = offset; - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < batches_num;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != commitments[j] ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - offset += 0x8; - state.round_proof_offset = offset; - - for(uint256 i = 0; i < lambda;){ - for(uint256 j = 0; j < r;){ - if(basic_marshalling.get_uint256_be(blob, offset + 0x10) != basic_marshalling.get_uint256_be(blob, state.roots_offset + j * 40 + 0x8) ) return false; - offset = merkle_verifier.skip_merkle_proof_be(blob, offset); - j++; - } - i++; - } - - state.final_polynomial = new uint256[](basic_marshalling.get_length(blob, offset)); - offset += 0x8; - for (uint256 i = 0; i < state.final_polynomial.length;) { - state.final_polynomial[i] = basic_marshalling.get_uint256_be(blob, offset); - i++; offset+=0x20; - } - } - if( state.final_polynomial.length > (( 1 << (field.log2(max_degree + 1) - r + 1) ) ) ){ - console.log("Wrong final poly degree"); - return false; - } - - prepare_eval_points(state.unique_eval_points, challenge, _eta); - { - uint256 sum; - - for(uint256 i = 0; i < state.unique_eval_points.length;){ - state.theta_factors[i] = field.pow_small(state.theta, sum, modulus); - sum += (uint256(uint8(poly_points_num[2*i])) << 8) + uint256(uint8(poly_points_num[2*i + 1])); - i++; - } - uint256 off = point_ids.length * 0x20 - 0x18; - for(uint256 i = 0; i < point_ids.length;){ - uint256 p = uint256(uint8(point_ids[point_ids.length - i - 1])); - state.U[p] = mulmod(state.U[p], state.theta, modulus); - state.U[p] = addmod(state.U[p], basic_marshalling.get_uint256_be(blob, off), modulus); - off -= 0x20; - i++; - } - for(uint256 i = 0; i < state.unique_eval_points.length;){ - i++; - } - } - ///* 1 - 2*permutation_size */ - ///* eta points check */ - { - uint256[23] memory points; - points[0] = basic_marshalling.get_uint256_be(blob,0x28); - points[0x1] = basic_marshalling.get_uint256_be(blob,0x68); - points[0x2] = basic_marshalling.get_uint256_be(blob,0xa8); - points[0x3] = basic_marshalling.get_uint256_be(blob,0xe8); - points[0x4] = basic_marshalling.get_uint256_be(blob,0x128); - points[0x5] = basic_marshalling.get_uint256_be(blob,0x168); - points[0x6] = basic_marshalling.get_uint256_be(blob,0x1a8); - points[0x7] = basic_marshalling.get_uint256_be(blob,0x1e8); - points[0x8] = basic_marshalling.get_uint256_be(blob,0x248); - points[0x9] = basic_marshalling.get_uint256_be(blob,0x2a8); - points[0xa] = basic_marshalling.get_uint256_be(blob,0x308); - points[0xb] = basic_marshalling.get_uint256_be(blob,0x368); - points[0xc] = basic_marshalling.get_uint256_be(blob,0x3c8); - points[0xd] = basic_marshalling.get_uint256_be(blob,0x428); - points[0xe] = basic_marshalling.get_uint256_be(blob,0x488); - points[0xf] = basic_marshalling.get_uint256_be(blob,0x4e8); - points[0x10] = basic_marshalling.get_uint256_be(blob,0x548); - points[0x11] = basic_marshalling.get_uint256_be(blob,0x588); - points[0x12] = basic_marshalling.get_uint256_be(blob,0x5c8); - points[0x13] = basic_marshalling.get_uint256_be(blob,0x608); - points[0x14] = basic_marshalling.get_uint256_be(blob,0x648); - points[0x15] = basic_marshalling.get_uint256_be(blob,0x6a8); - points[0x16] = basic_marshalling.get_uint256_be(blob,0x708); - // Check keccak(points) - if ( bytes32(0x913002db2afc1e6c2dd64efded0538c8acc9abda2906f020502ba40deeea53b8) != keccak256(abi.encode(points))) { - return false; - } - } - - - uint64 cur = 0; - for(uint64 p = 0; p < unique_points; p++){ - state.poly_inds[p] = new uint16[]((uint16(uint8(poly_points_num[2*p])) << 8) + uint16(uint8(poly_points_num[2*p + 1]))); - for(uint64 i = 0; i < state.poly_inds[p].length; i++){ - state.poly_inds[p][i] = (uint16(uint8(poly_ids[cur])) << 8) + uint16(uint8(poly_ids[cur + 1])); - cur+=2; - } - } - - state.leaf_data = new bytes(state.max_batch * 0x40 + 0x40); - for(uint64 i = 0; i < lambda;){ - // Initial proofs - state.query_proof_offset = state.initial_data_offset; - state.x_index = uint256(transcript.get_integral_challenge_be(tr_state, 8)) % D0_size; - state.x = field.pow_small(D0_omega, state.x_index, modulus); - state.domain_size = D0_size >> 1; - for(uint64 j = 0; j < batches_num;){ - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.initial_data_offset, state.leaf_data, state.batch_sizes[j], state.initial_proof_offset)){ - console.log("Error in initial mekle proof"); - return false; - } - } - state.leaf_length = state.batch_sizes[j] * 0x40; - state.initial_data_offset += state.batch_sizes[j] * 0x40; - state.initial_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.initial_proof_offset); - j++; - } - - for( uint64 p = 0; p < unique_points; p++){ - state.denominators[p][0] = addmod(state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][1] = addmod(modulus - state.x, modulus - state.unique_eval_points[p], modulus); - state.denominators[p][0] = field.inverse_static(state.denominators[p][0], modulus); - state.denominators[p][1] = field.inverse_static(state.denominators[p][1], modulus); - } - prepare_Y(blob, state.query_proof_offset, state); - if( state.x_index < state.domain_size ){ - if( !copy_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - }else{ - if( !copy_reverted_memory_pair_and_check(blob, state.round_proof_offset, state.leaf_data, state.y) ){ - console.log("Not validated!"); - return false; - } - } - if( !colinear_check(state.x, state.y, state.alphas[0], basic_marshalling.get_uint256_be(blob,state.round_data_offset)) ){ - console.log("Colinear check failed"); - return false; - } - - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - for(state.j = 1; state.j < r;){ - state.x_index %= state.domain_size; - state.x = mulmod(state.x, state.x, modulus); - state.domain_size >>= 1; - if( state.x_index < state.domain_size ){ - if(!copy_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } else { - if(!copy_reverted_pairs_and_check(blob, state.round_data_offset, state.leaf_data, 1, state.round_proof_offset)) { - console.log("Error in round mekle proof"); - return false; - } - } - state.y[0] = basic_marshalling.get_uint256_be(blob, state.round_data_offset); - state.y[1] = basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20); - if( !colinear_check(state.x, state.y, state.alphas[state.j], basic_marshalling.get_uint256_be(blob,state.round_data_offset + 0x40)) ){ - console.log("Round colinear check failed"); - return false; - } - state.j++; state.round_data_offset += 0x40; - state.round_proof_offset = merkle_verifier.skip_merkle_proof_be(blob, state.round_proof_offset); - } - - state.x = mulmod(state.x, state.x, modulus); - if(polynomial.evaluate(state.final_polynomial, state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset)) { - console.log("Wrong final poly check"); - return false; - } - if(polynomial.evaluate(state.final_polynomial, modulus - state.x, modulus) != basic_marshalling.get_uint256_be(blob, state.round_data_offset + 0x20)){ - console.log("Wrong final poly check"); - return false; - } - state.round_data_offset += 0x40; - i++; - } - return true; -} - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/gate_argument.sol b/contracts/zkllvm/circuit7/gate_argument.sol deleted file mode 100644 index 1288d6f..0000000 --- a/contracts/zkllvm/circuit7/gate_argument.sol +++ /dev/null @@ -1,57 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_gate_argument.sol"; -import "hardhat/console.sol"; - - -contract modular_gate_argument_circuit7 is IGateArgument{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - // Append commitments - function verify( - bytes calldata blob, - uint256 theta - ) external view returns (uint256 F){ - uint256 theta_acc = 1; - uint256 eval; - uint256 x; - - uint256 prod; - uint256 sum; - uint256 gate; -// gate === 0 === - gate = 0; -// constraint 0 - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1120); - prod = mulmod(prod, 28948022309329048855892746252171976963363056481941560715954676764349967630336, modulus); - sum = addmod(sum, prod, modulus); - prod = basic_marshalling.get_uint256_be(blob, 1248); - sum = addmod(sum, prod, modulus); - sum = mulmod(sum, theta_acc, modulus); - theta_acc = mulmod(theta, theta_acc, modulus); - gate = addmod(gate, sum, modulus); - gate = mulmod(gate, basic_marshalling.get_uint256_be(blob, 672), modulus); - F = addmod(F, gate, modulus); - - } -} \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/lookup_0.sol b/contracts/zkllvm/circuit7/lookup_0.sol deleted file mode 100644 index d4db413..0000000 --- a/contracts/zkllvm/circuit7/lookup_0.sol +++ /dev/null @@ -1,100 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 -- Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../../contracts/basic_marshalling.sol"; - -library lookup_circuit7_0{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - - function evaluate_lookup_0_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 736); - l = mulmod( 1,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1152); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1184); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1216); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1248); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1280); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1312); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1344); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/lookup_1.sol b/contracts/zkllvm/circuit7/lookup_1.sol deleted file mode 100644 index 4f8becc..0000000 --- a/contracts/zkllvm/circuit7/lookup_1.sol +++ /dev/null @@ -1,65 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 -- Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../../contracts/basic_marshalling.sol"; - -library lookup_circuit7_1{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - - - function evaluate_lookup_1_be( - bytes calldata blob, - uint256 theta, - uint256 theta_acc, - uint256 beta, - uint256 gamma - ) external pure returns (uint256 g, uint256) { - uint256 l; - uint256 selector_value; - uint256 sum; - uint256 prod; - - g = 1; - - selector_value=basic_marshalling.get_uint256_be(blob, 800); - l = mulmod( 2,selector_value, modulus); - theta_acc=theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1248); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1408); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(theta_acc, selector_value, modulus), sum, modulus), modulus); - theta_acc = mulmod(theta_acc, theta, modulus); - g = mulmod(g, mulmod(addmod(1, beta, modulus), addmod(l, gamma, modulus), modulus), modulus); - - - return( g, theta_acc ); - } - - -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/lookup_argument.sol b/contracts/zkllvm/circuit7/lookup_argument.sol deleted file mode 100644 index 0d02b83..0000000 --- a/contracts/zkllvm/circuit7/lookup_argument.sol +++ /dev/null @@ -1,269 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../cryptography/transcript.sol"; -import "../../interfaces/modular_lookup_argument.sol"; -import "./lookup_1.sol"; -import "./lookup_0.sol"; - -import "hardhat/console.sol"; - -contract modular_lookup_argument_circuit7 is ILookupArgument{ -//library modular_lookup_argument_circuit7{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint8 constant tables = 1; - uint8 constant sorted_columns = 9; - uint8 constant lookup_options_num = 6; - uint8 constant lookup_constraints_num = 3; - - - struct lookup_state{ - uint256 theta; - uint256 beta; - uint256 gamma; - uint256 factor; - uint256 V_L_value; - uint256 V_L_shifted_value; - uint256 q_last; - uint256 q_blind; - uint256 mask; - uint256 shifted_mask; - uint256 selector_value; - uint256 shifted_selector_value; - uint256 theta_acc; - uint256 g; - uint256 h; - uint256 l_shifted; - } - - function verify( - bytes calldata zvalues, // Table values and permutations' values - bytes calldata sorted, // Sorted batch values - uint256 lookup_commitment, - uint256 l0, - bytes32 tr_state_before // It's better than transfer all random values - ) external view returns (uint256[4] memory F, bytes32 tr_state_after){ - bytes calldata blob = zvalues[0xc0:]; - lookup_state memory state; - state.V_L_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 1440 + 0x40); - state.V_L_shifted_value = basic_marshalling.get_uint256_be(zvalues, 0xc0 + 1440 + 0x60); - state.q_last = basic_marshalling.get_uint256_be(zvalues, 0x0); - state.q_blind = basic_marshalling.get_uint256_be(zvalues, 0x60); - state.mask = addmod(1, modulus - addmod(state.q_last , state.q_blind, modulus), modulus); - F[2] = state.mask; - - state.shifted_mask = addmod( - 1, - modulus - addmod(basic_marshalling.get_uint256_be(zvalues, 0x20) , basic_marshalling.get_uint256_be(zvalues, 0x80), modulus), - modulus - ); - - types.transcript_data memory tr_state; - tr_state.current_challenge = tr_state_before; - { - state.theta = transcript.get_field_challenge(tr_state, modulus); //theta - uint256 l; - state.g = 1; - state.h = 1; - - transcript.update_transcript_b32(tr_state, bytes32(lookup_commitment)); - state.beta = transcript.get_field_challenge(tr_state, modulus); //beta - state.gamma = transcript.get_field_challenge(tr_state, modulus); //gamma - state.factor = mulmod(addmod(1, state.beta, modulus), state.gamma, modulus); - uint256 sum; - uint256 prod; - (l, state.theta_acc) = lookup_circuit7_0.evaluate_lookup_0_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); - (l, state.theta_acc) = lookup_circuit7_1.evaluate_lookup_1_be( blob, state.theta, state.theta_acc, state.beta, state.gamma ); - state.g = mulmod(state.g, l, modulus); -/* -- lookup 2 is inlined -- */ - state.selector_value=basic_marshalling.get_uint256_be(blob, 864); - l = mulmod( 3,state.selector_value, modulus); - state.theta_acc=state.theta; - sum = 0; - prod = basic_marshalling.get_uint256_be(blob, 1376); - prod = mulmod(prod, basic_marshalling.get_uint256_be(blob, 1408), modulus); - sum = addmod(sum, prod, modulus); - - - l = addmod( l, mulmod( mulmod(state.theta_acc, state.selector_value, modulus), sum, modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - state.g = mulmod(state.g, mulmod(addmod(1, state.beta, modulus), addmod(l, state.gamma, modulus), modulus), modulus); - -/* -- /lookup 2 is inlined -- */ - state.selector_value = basic_marshalling.get_uint256_be(blob, 1024); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 1056); - l = mulmod( 1, state.selector_value, modulus); - state.l_shifted = mulmod( 1, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 96), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 128), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 192), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 224), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 288), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 320), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 384), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 416), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 480), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 512), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 576), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 608), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 928); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 960); - l = mulmod( 2, state.selector_value, modulus); - state.l_shifted = mulmod( 2, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 0), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 32), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 96), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 128), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - l = mulmod( 2, state.selector_value, modulus); - state.l_shifted = mulmod( 2, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 192), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 224), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 288), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 320), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - state.selector_value = basic_marshalling.get_uint256_be(blob, 928); - state.shifted_selector_value = basic_marshalling.get_uint256_be(blob, 960); - l = mulmod( 3, state.selector_value, modulus); - state.l_shifted = mulmod( 3, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 384), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 416), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - l = mulmod( 3, state.selector_value, modulus); - state.l_shifted = mulmod( 3, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 480), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 512), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - l = mulmod( 3, state.selector_value, modulus); - state.l_shifted = mulmod( 3, state.shifted_selector_value, modulus); - state.theta_acc=state.theta; - l = addmod( l, mulmod(state.selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 576), modulus), modulus), modulus); - state.l_shifted = addmod( state.l_shifted, mulmod(state.shifted_selector_value, mulmod( state.theta_acc, basic_marshalling.get_uint256_be(blob, 608), modulus), modulus), modulus); - state.theta_acc = mulmod(state.theta_acc, state.theta, modulus); - l = mulmod( l, state.mask, modulus); - state.l_shifted = mulmod( state.l_shifted, state.shifted_mask, modulus); - state.g = mulmod(state.g, addmod( state.factor, addmod(l, mulmod(state.beta, state.l_shifted, modulus), modulus), modulus), modulus); - - - } - { - for(uint64 k = 0; k < 9;){ - state.mask = basic_marshalling.get_uint256_be(sorted, k*0x60); - state.shifted_mask = basic_marshalling.get_uint256_be(sorted, k*0x60 + 0x20); - state.h = mulmod( - state.h, - addmod( - addmod( - state.factor, - state.mask, - modulus - ), - mulmod(state.beta, state.shifted_mask , modulus), - modulus - ), - modulus - ); - unchecked{k++;} - } - } - - F[0] = mulmod( - l0, - addmod(1, modulus - state.V_L_value, modulus), - modulus - ); - F[1] = mulmod( - mulmod(state.q_last, state.V_L_value, modulus), - addmod(state.V_L_value, modulus-1, modulus), - modulus - ); - { - F[2] = mulmod( - F[2], - addmod( - mulmod(state.h, state.V_L_shifted_value, modulus), - modulus - mulmod(state.V_L_value, state.g, modulus), - modulus - ), - modulus - ); - } - { - for(uint64 i = 0; i < sorted_columns - 1;){ - state.beta = basic_marshalling.get_uint256_be(sorted, (i+1)*0x60); - state.gamma = modulus - basic_marshalling.get_uint256_be(sorted, (i)*0x60 + 0x40); - F[3] = addmod( - F[3], - mulmod( - mulmod( - transcript.get_field_challenge(tr_state, modulus), //alpha - l0, - modulus - ), - addmod( - state.beta, - state.gamma, - modulus - ), - modulus - ), - modulus - ); - unchecked{i++;} - } - } - tr_state_after = tr_state.current_challenge; - } -} diff --git a/contracts/zkllvm/circuit7/lookup_libs_list.json b/contracts/zkllvm/circuit7/lookup_libs_list.json deleted file mode 100644 index 2b4bcea..0000000 --- a/contracts/zkllvm/circuit7/lookup_libs_list.json +++ /dev/null @@ -1,4 +0,0 @@ -[ -"lookup_circuit7_0", -"lookup_circuit7_1" -] diff --git a/contracts/zkllvm/circuit7/modular_verifier.sol b/contracts/zkllvm/circuit7/modular_verifier.sol deleted file mode 100644 index 32cee7a..0000000 --- a/contracts/zkllvm/circuit7/modular_verifier.sol +++ /dev/null @@ -1,261 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) Generated by zkllvm-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "../../interfaces/modular_verifier.sol"; -import "./commitment.sol"; -import "./gate_argument.sol"; -import "./lookup_argument.sol"; -import "./permutation_argument.sol"; -import "hardhat/console.sol"; -import "../../algebra/field.sol"; - -contract modular_verifier_circuit7 is IModularVerifier{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - bool constant use_lookups = false; - bytes32 constant vk1 = bytes32(0x6b17eec11b25e37049ac0545df61610db3cfb77038a6c6d51f911bc8cb7d2337); - bytes32 constant vk2 = bytes32(0x03e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f); - bytes32 transcript_state; - address _gate_argument_address; - address _permutation_argument_address; - address _lookup_argument_address; - address _commitment_contract_address; - uint64 constant sorted_columns = 9; - uint64 constant f_parts = 8; // Individually on parts - uint64 constant z_offset = 0xc9; - uint64 constant table_offset = z_offset + 0x80 * 4 + 0xc0; - uint64 constant table_end_offset = table_offset + 1440; - uint64 constant quotient_offset = 1568; - uint64 constant rows_amount = 16; - uint256 constant omega = 14450201850503471296781915119640920297985789873634237091629829669980153907901; - uint256 constant special_selectors_offset = z_offset + 4 * 0x80; - - function initialize( -// address permutation_argument_address, - address lookup_argument_address, - address gate_argument_address, - address commitment_contract_address - ) public{ - types.transcript_data memory tr_state; - transcript.init_transcript(tr_state, hex""); - transcript.update_transcript_b32(tr_state, vk1); - transcript.update_transcript_b32(tr_state, vk2); - -// _permutation_argument_address = permutation_argument_address; - _lookup_argument_address = lookup_argument_address; - _gate_argument_address = gate_argument_address; - _commitment_contract_address = commitment_contract_address; - -// ICommitmentScheme commitment_scheme = ICommitmentScheme(commitment_contract_address); -// tr_state.current_challenge = commitment_scheme.initialize(tr_state.current_challenge); - tr_state.current_challenge = modular_commitment_scheme_circuit7.initialize(tr_state.current_challenge); - transcript_state = tr_state.current_challenge; - } - - struct verifier_state{ - uint256 xi; - uint256 Z_at_xi; - uint256 l0; - uint256[f_parts] F; - bool b; - } - - // Public input columns - function public_input_direct(bytes calldata blob, uint256[] calldata public_input, verifier_state memory state) internal view - returns (bool check){ - check = true; - - uint256 result = 0; - uint256 Omega = 1; - - for(uint256 i = 0; i < public_input.length;){ - if( public_input[i] != 0){ - uint256 L = mulmod( - Omega, - field.inverse_static( - addmod(state.xi, modulus - Omega, modulus), - modulus - ), - modulus - ); - - result = addmod( - result, - mulmod( - public_input[i], L, modulus - ), - modulus - ); - } - Omega = mulmod(Omega, omega, modulus); - unchecked{i++;} - } - result = mulmod( - result, addmod(field.pow_small(state.xi, rows_amount, modulus), modulus - 1, modulus), modulus - ); - result = mulmod(result, field.inverse_static(rows_amount, modulus), modulus); - - // Input is proof_map.eval_proof_combined_value_offset - if( result != basic_marshalling.get_uint256_be( - blob, 1120 - )) check = false; - } - - function verify( - bytes calldata blob, - uint256[] calldata public_input - ) public returns (bool result) { - verifier_state memory state; - state.b = true; - state.xi = basic_marshalling.get_uint256_be(blob, 0xa1); - state.Z_at_xi = addmod(field.pow_small(state.xi, rows_amount, modulus), modulus-1, modulus); - state.l0 = mulmod( - state.Z_at_xi, - field.inverse_static(mulmod(addmod(state.xi, modulus - 1, modulus), rows_amount, modulus), modulus), - modulus - ); - - //0. Direct public input check - if(public_input.length > 0) { - if (!public_input_direct(blob[905:905+1568], public_input, state)) { - emit WrongPublicInput(); - state.b = false; - } - } - - //1. Init transcript - types.transcript_data memory tr_state; - tr_state.current_challenge = transcript_state; - - { - //2. Push variable_values commitment to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x9); - - //3. Permutation argument - uint256[3] memory permutation_argument = modular_permutation_argument_circuit7.verify( - blob[0xc9:905+1568], - transcript.get_field_challenge(tr_state, modulus), - transcript.get_field_challenge(tr_state, modulus), - state.l0 - ); - state.F[0] = permutation_argument[0]; - state.F[1] = permutation_argument[1]; - state.F[2] = permutation_argument[2]; - } - - //4. Lookup library call - - { - uint256 lookup_offset = table_offset + quotient_offset + uint256(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf])) * 0x20; - uint256[4] memory lookup_argument; - uint256 lookup_commitment = basic_marshalling.get_uint256_be(blob, 0x81); - ILookupArgument lookup_contract = ILookupArgument(_lookup_argument_address); - (lookup_argument, tr_state.current_challenge) = lookup_contract.verify( - blob[special_selectors_offset: table_offset + quotient_offset], - blob[lookup_offset:lookup_offset + sorted_columns * 0x60], - lookup_commitment, - state.l0, - tr_state.current_challenge - ); - state.F[3] = lookup_argument[0]; - state.F[4] = lookup_argument[1]; - state.F[5] = lookup_argument[2]; - state.F[6] = lookup_argument[3]; - } - - - //5. Push permutation batch to transcript - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x31); - - { - //6. Gate argument - IGateArgument modular_gate_argument = IGateArgument(_gate_argument_address); - state.F[7] = modular_gate_argument.verify(blob[table_offset:table_end_offset], transcript.get_field_challenge(tr_state, modulus)); - state.F[7] = mulmod( - state.F[7], - addmod( - 1, - modulus - addmod( - basic_marshalling.get_uint256_be(blob, special_selectors_offset), - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), - modulus - ), - modulus - ), - modulus - ); - } - - // No public input gate - - uint256 F_consolidated; - { - //7. Push quotient to transcript - for( uint8 i = 0; i < f_parts;){ - F_consolidated = addmod(F_consolidated, mulmod(state.F[i],transcript.get_field_challenge(tr_state, modulus), modulus), modulus); - unchecked{i++;} - } - transcript.update_transcript_b32_by_offset_calldata(tr_state, blob, 0x59); - } - - //8. Commitment scheme verify_eval - { -// ICommitmentScheme commitment_scheme = ICommitmentScheme(_commitment_contract_address); - uint256[5] memory commitments; - commitments[0] = uint256(vk2); - for(uint16 i = 1; i < 5;){ - commitments[i] = basic_marshalling.get_uint256_be(blob, 0x9 + (i-1)*(0x28)); - unchecked{i++;} - } - if(!modular_commitment_scheme_circuit7.verify_eval( - blob[z_offset - 0x8:], commitments, state.xi, tr_state.current_challenge - )) { - emit WrongCommitment(); - state.b = false; - } - } - - //9. Final check - { - uint256 T_consolidated; - uint256 factor = 1; - for(uint64 i = 0; i < uint64(uint8(blob[z_offset + basic_marshalling.get_length(blob, z_offset - 0x8) *0x20 + 0xf]));){ - T_consolidated = addmod( - T_consolidated, - mulmod(basic_marshalling.get_uint256_be(blob, table_offset + quotient_offset + i *0x20), factor, modulus), - modulus - ); - factor = mulmod(factor, state.Z_at_xi + 1, modulus); - unchecked{i++;} - } - if( F_consolidated != mulmod(T_consolidated, state.Z_at_xi, modulus) ) { - emit ConstraintSystemNotSatisfied(); - state.b = false; - } - } - - emit VerificationResult(state.b); - - result = state.b; - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/params.json b/contracts/zkllvm/circuit7/params.json deleted file mode 100644 index ef29669..0000000 --- a/contracts/zkllvm/circuit7/params.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "test_name": "circuit7", - "modulus": "28948022309329048855892746252171976963363056481941560715954676764349967630337", - "rows_amount": "16", - "usable_rows_amount": "14", - "omega": "14450201850503471296781915119640920297985789873634237091629829669980153907901", - "verification_key": "6b17eec11b25e37049ac0545df61610db3cfb77038a6c6d51f911bc8cb7d2337 03e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f", - "ar_params": [ - "2", - "0", - "7", - "2" - ], - "columns_rotations_node": [ - [ - "-7", - "-3", - "-2", - "-1", - "0", - "1", - "2", - "3" - ], - [ - "-1", - "0" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0" - ], - [ - "0", - "1" - ], - [ - "0", - "1" - ] - ], - "commitment_params_node": { - "type": "LPC", - "r": "3", - "m": "2", - "lambda": "40", - "max_degree": "15", - "step_list": [ - "1", - "1", - "1" - ], - "D_omegas": [ - "23692685744005816481424929253249866475360293751445976741406164118468705843520", - "7356716530956153652314774863381845254278968224778478050456563329565810467774", - "17166126583027276163107155648953851600645935739886150467584901586847365754678" - ], - "grinding_params": { - "mask": "4294901760" - } - } -} diff --git a/contracts/zkllvm/circuit7/permutation_argument.sol b/contracts/zkllvm/circuit7/permutation_argument.sol deleted file mode 100644 index c94e28c..0000000 --- a/contracts/zkllvm/circuit7/permutation_argument.sol +++ /dev/null @@ -1,93 +0,0 @@ - -// SPDX-License-Identifier: Apache-2.0. -//---------------------------------------------------------------------------// -// Copyright (c) 2023 Generated by ZKLLVM-transpiler -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -//---------------------------------------------------------------------------// -pragma solidity >=0.8.4; - -import "../../cryptography/transcript.sol"; -// Move away unused structures from types.sol -import "../../types.sol"; -import "../../basic_marshalling.sol"; -import "hardhat/console.sol"; - -library modular_permutation_argument_circuit7{ - uint256 constant modulus = 28948022309329048855892746252171976963363056481941560715954676764349967630337; - uint256 constant permutation_size = 4; - uint256 constant special_selectors_offset = 4 * 0x80; - uint256 constant table_values_offset = 4 * 0x80 + 0xc0; - bytes constant zero_indices = hex"04e005800000006000c00120018001e0024002a002e00320036003a00400"; - - function uint16_from_two_bytes(bytes1 b1, bytes1 b2) internal pure returns( uint256 result){ - unchecked{ - result = uint8(b1); - result = result << 8; - result += uint8(b2); - } - } - - // Append commitments - function verify( - bytes calldata blob, - uint256 beta, - uint256 gamma, - uint256 l0 - ) internal view returns (uint256[3] memory F){ - uint256 V_P_value = basic_marshalling.get_uint256_be(blob, table_values_offset + 1440); - uint256 h = 1; - uint256 g = 1; - - for(uint256 i = 0; i < permutation_size;){ - uint256 tmp = addmod( - gamma, - basic_marshalling.get_uint256_be( - blob, table_values_offset + uint16_from_two_bytes(zero_indices[i<<1], zero_indices[(i<<1)+1]) - ), - modulus - ); - - g = mulmod(g, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, (i *0x40 )), modulus), - tmp, - modulus - ), modulus); - h = mulmod(h, addmod( - mulmod(beta, basic_marshalling.get_uint256_be(blob, permutation_size * 0x40 + (i *0x40 )), modulus), - tmp, - modulus - ), - modulus - ); - unchecked{i++;} - } - - F[0] = mulmod(l0, addmod(1, modulus - V_P_value, modulus), modulus); - F[1] = mulmod( - addmod(addmod(1, modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset), modulus), modulus - basic_marshalling.get_uint256_be(blob, special_selectors_offset + 0x60), modulus), - addmod( - mulmod(basic_marshalling.get_uint256_be(blob, table_values_offset + 1440 + 0x20), h, modulus), - modulus - mulmod(V_P_value, g, modulus), - modulus - ), - modulus - ); - F[2] = mulmod( - mulmod(basic_marshalling.get_uint256_be(blob, permutation_size * 0x80), V_P_value, modulus), - addmod(V_P_value, modulus-1, modulus), - modulus - ); - } -} - \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/proof.bin b/contracts/zkllvm/circuit7/proof.bin deleted file mode 100644 index 14ff99a..0000000 --- a/contracts/zkllvm/circuit7/proof.bin +++ /dev/null @@ -1 +0,0 @@ -0x040000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e812e6f6b256d6121628d6349bd4a17fb3f212757bdbbb65570dcd2779520a92713000000000000007b2e6f6b256d6121628d6349bd4a17fb3f212757bdbbb65570dcd2779520a92713071ea95b5f21572ed31bbf9d117f7b6adbb0f4e7de1add104feda056b604ce01282d17bb22e5a6ecc2f070b27277e83b3ef0ebc08ea8bfe18494c322a34dc35c23994ec8dba6b3ea1f8abe11577d69164a74c887568651518fa421b18e18060508e176a7ae7c429fceb2337c3c578927d3e0cfcead64d414cb603ce63084d0c931fe89ec4a4183929db5b656b5730d6f2fbab8ac9e05a4609bda469dc6781e172c675146686d4d1f097b016d2db5adc723640f0962f82467f8e1307ef29813ed39f8b19d734791dd148c8fb18b3f432b87d1d06afa354a903fbbce4de05896702e6f6b256d6121628d6349bd4a17fb3f212757bdbbb65570dcd2779520a92713071ea95b5f21572ed31bbf9d117f7b6adbb0f4e7de1add104feda056b604ce01282d17bb22e5a6ecc2f070b27277e83b3ef0ebc08ea8bfe18494c322a34dc35c23994ec8dba6b3ea1f8abe11577d69164a74c887568651518fa421b18e18060508e176a7ae7c429fceb2337c3c578927d3e0cfcead64d414cb603ce63084d0c931fe89ec4a4183929db5b656b5730d6f2fbab8ac9e05a4609bda469dc6781e172c675146686d4d1f097b016d2db5adc723640f0962f82467f8e1307ef29813ed39f8b19d734791dd148c8fb18b3f432b87d1d06afa354a903fbbce4de058967020bfb6a20f6abedbf821dc5e335d1b6649de04759b4ab12d51d43eee6e1241582f3e6d4e291097959f5d8702422a895d4a64739cb7f1fb8ce225bc7e4d4cb66a3367032f41bd5e8d5c3a251d090f7e1663b2a5ae61075054c866dcab11437eeb2905ae4b4fd66eb9d544c150335bd76e2baa85cfae2f7e45b71ff7abbc29877920bfb6a20f6abedbf821dc5e335d1b6649de04759b4ab12d51d43eee6e1241582a55b83ede13218e14577532837757238fc6561ade4ece1668588fcfdb643ecf148256abd0cb1dded5ae62cea43ef7c1d1920f04f96834be480bae152f0909461954d3f78bfbf93cdf6012e1e355f633f80c5972efe444cd9149ee79e3490d952c3943a3848cb73ff45b72456c3e0772866efb01df1df1173789829484e7bce834bde88cb5384bb2e1266bf8617d7e8713ac081b66d6f91773976d029ddbd7470b47cbe3e937451b6323b2d08f8180cb07802c6bdd882850ec66d4c5f2b93b7126b8c7277515fc9c7ebb79d62a53be5d6305023b9593d35b678bfac14bc7fbd93b02521dfcd6c009c514b249c400970e64f2e986ea14fd33cd8c82d80dfca72304ecc331289d34b66d04aa3d2537b36e0106dd729ebadfb1c345ebb74c84b1d20db2cd7bfef3a30260ae62693cef2531f8787eb5507c1a4019ada49f57107960129697481e7d727ee6ebcf844c7d4b24773a39807d3d8bde40e6b2c4ea4bb37f1374930560812415e21bd40e63adfd587db237cb3e9c10955b4295132516aedb354893b94946a37af74bc426b32c24b344648b7801b2c514772bfbae27a3fc3701eb2dd8b8ad0b8f24ebe56b4e089960976d70c07b78ee6795dad12ad0f16ae2203880146a64a8b1c6952901855f736d525ceb49830f71de68701211b00f20181729eac0d0e36c044e4f649f2061451342463e729b1b9a4d8b20a66182d12dc20222401eea12e6fe890897ee74147c33ba89c25e7919e1eb741156e8d2397a032916d1dc5a412926a25a783e6998bb74872e1f5a68019bcf63cfcca82d72fffe218ab06a8e4ac76f6919430f68ee6c353ff0852c052fa286cb8def4b30fb9748274259d581bf1cef7de006c4cf00c2f245ff7d228f678b685a82b01552e489b70d30fa065ff8e6a712ab44c43cdd7c6c896c8670eb34dc6735ae60fa5df724d41eb670db1478e43dd4c72e836fa018bec4d665609a1c0fda4dbaac123031b54b3918f266c93d85360f839b9fb5cc8a74061747869adae3334d536c8e952ece37158f1d9662c2b3c52322f424b26d574156db1b80654629991e2d5a600667458e06d10b9ec66e8a4fae02588c7e5a547733181e9e86916ac470db569930f37dbd115d6854c8bb6c509f9834a525e12388f9b63f6e080eaeff7d5a61aa351097071f48a94a2ef76f66b7e2e70512070967dd47d06f10b2760bed23d5e616dc67591c93c68390f43d55f34366862f091dcb4ac4d4ea029d8ef4134071d380777c9037c431499ad9b82907dbca4e1fe21d38d00d4462844c539f5ce54a070d04337632cee65d5ba4486c6a8ac3e6b91c88b7fad0811253e301023f5c535f7e51d0e10ccf129138d71dae6e407d53edd81ef7d8debb3ccea2d2730c9b992069ed5bf938ea3a1f6a06b5ee070efc383408c8958404e3cb01f4df2e60c420693ab00f9b320c02df21b232757c814613ef522aac32f529fc04ae5b362b0dfef69a897b892349160e6a6b7720bd84fd0a19d765e096c501c4c0064f6eeb053ece80cfdebd37b11b22ea05d27a7ada6f9bb41f44a79b5535b61e74483ded9002f88febbfac00a56b6529712bddc7e24b08fe2e87455ed67f7b4551963a5dd7a61741a8b4410848fb1970c8032f54cd446b063dd0096b2d0f21b9859fcb66143326ffefe1d11db0d572ddc6d7abc8739244de20a47da22cc04025e933f58dac670d188dd38e00d2b621e71063e7ce83ba538e6df855ae4a6800d04ce4016dc6175b7b7e12f91482aed72fdde6cd01b3fb3f67f4ebf4a91f804cb9cfc3939a8fc97478e7ddfb2a2dbe27e038373cd51e79b806c8bd6290e002ded6f5674fe669ee76d2e16fe6243fb31df6045fd34f328cf5e465c9bc596ee343029188b0ebc6be20b120d4ee19435d2a6ad51df7008394b80bab3421cfd091e1d20b0847cd57bcd68069c28938fc0e58f980d868dcaa1e0feb3890d889dbfd5efc06366131cb128dd2dfc574351e43030fa8fef0ba54b89c7a2cd3bd87120b8455bd1ae622fb6dea38a139a31303e2421d747c3a9c9eab33a024e5a44bd04f5ac3aae4e032afb6cd31df0b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012208434489efb7a06e3f40f73233093970b15210cf15e2fea4320d47fa1ac5100db4717f037d7bd7e786d3630958a92ecf04af9bf3f5a25394fd3ec06c1057a006f84b82459f78b352c96a54dcb8c96e5f85db27e5102ddeb4d5d5db117c39b00217a4313ec17a2ac667efce07d198de0d18256dbd2d6995b086b14e18ea9a831988172621227de8f88ad6805cdd99b7c793b122f73c43307db85cd96acee27a2e0328c6c5dbbfba57680fe7ac6fc26219213fdc773d3fa4d33a1141d60d57801e8206a9f5d2902e36f4bc9d56cabd667388bd72e39f6b332fdd496fb78d1c501238649576ca8e8c329e7bda876de15e85054907e109a3770ba62310633408de0920ca2b90e07fc811022c2e95f213ff209285553a972582b362d9edbefa09e0336cf66dfe9cafb400dfbc832f4bdaaf93df2b5deebfba600b23277a1ebe324b2b22cbaceabb22a269760916ba301174624049cd317891384d02607ee0009d8d23a4c0b91ee382101010f9905956dfc877984bd2f7f8dd5dfac49ca3d5a0d1f618dc6e76f8d908505b15586cb5cb49a85e1cbff21299607e1efdc9e614b486d72a33e86dd3b4b3fd7c7b0a6e6c6e8d347f12fc364f9cf2de0bd20d0a6d382aac17a216f5f79b140fbcd27d88d0a7a79fa730c170365e1e6e26e8a9acbd00117529c1723deb93f0d5f0e9b9348e5e68c1d5985a0e1aa13838e3a02953427bf1602caff0053a27d8d06cc37d7aea8e33f95987ae0933858fd46abc374191577573350f748fb0ebecf461dd9450de2541ad841c5f3d0fb1b21144542ac6a5f6624e0ef9c04de4eb2123c9b4e3e5b6d04bc0d467aa33de695eb214530fff67ceb33003d597681c4b158daf1425a45578ca7c50dbef0f8c9533d8ebe3dcfd3a359577342ce11c50c33d45855432845d98d886cf7bca68dada81a35e4433218425fbc20d34bbe21fb2e744d5e29893421112e02229bf1252c6e919ce9f6e14257671fd3804a85058ca4ca23af54dd68352410e1b8a0b07b3bb7691c947fbacfb10507b201556f9124e9c53fe226053169e7547911aac54ca685823a211d76611232298067049ee4d594c54cd2d392f87dbcd8ffcb1462aaa4c62ea8c8c3099ef9323fb2d25b64a62d20f3568177258bee03fed07f77857a3ace92dbcd988683d60cc322bce13f6dd69ec8dc8bc116cd49719e8211bab771bb02f9d896cf68d94edc6d11b402c33831f675d77598234a884ce07b3b06894a471f3ef8092a0e0da904ea922566d9cd46e43f81ef1548b762c28402e7fb145a98050330913c893c369ab430189a462e9270c21789412a3363204805ad238d5e4553f3ece89db2f157a6baf3fb306e02e05009898804c861dbd6495598b89274b0d830b783082397ddb13031636596b7b72d5daee837ef1c10f9202a8d5b764e7742bbda28ccbbb9b0989e5073b09a78c499f79776df1b251dd9e28c169f7469b059c0891232bc0bf4eb5d1039a1f1e8e08ffd1af0835cdc493b9e220d66fee81d36223ef51271b587d21850a37c43437dd033ffef5bde26ec6d91541e4f499bbff15052e3a6bfb99afcb2d2d182634ba176c4d86f029e3507986d887192926ec5018392732bcbd472534c311c0b21388c6e12d477770b4658ed52ff65fe95e5abf37e0624a1170e6a3ae6c3430cda94408c9493803668e40cee28c2dd4475f3266aa507cdc2f271933d1783dc1f0eed542cfd3ba90fd6063a12803482653cf5e890a53111f6808d49c1514031725afee7ba058dd4a6ca974c68559ec4d370de8d7055feddb34496e92164a2b80264ca8a102d00cb57ca221810c6dff8dac12d185b01090e461af37c447783fe9c29496cd21612210cd39e706ecdcf44016f7592d25db86701025bcc150a41c9561bb134eb4bcd027de62fe2fa1118199ffd6a93e1315f7408e3ffa3d75b631dab425a1f3038213cd24d2f0a395a4a96903c00522afde4a4b59c44068737b24523c8819eb4defad67fde0962e85861ab455a5a3fd7ede442f5b34fbfc8248000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00170102020203190409000000000000003d0202020202020202030303030303030303020202020303080202020101010101010101010101010101010101010101010101010103030303030303030300000000000000030000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000301010100000000000013100bee33451a3bbde6fabf70a9c61a50daa96e2505d0abd0e21285fb1a1e34c8143411ccbae5c4421905408f5639e5af2578d873f638a1283986a735d2e1cb37ed3ba70059832ab582e5bd3350de8394454f26b91d135b146a5c9de7829707e8640458ffa67cd54a7d1a42ccaf217c6bbad31fdfdef5f1e4b13c8f496a68f8179d2a4301bf8fd58b8e7cb200945891e55a02a739a13b9381a56a60c1d8f32789f015bcfe40702a7471834dff6ba76e1aa61f9f5f5acdb977762ecc6f140cd87611134f08bdcf2bb9c86f7a02e5bad97ac1a67055320dfa9ce8485c3675bfc5b1ad2cb0f74230d446379085fd1a4526853e7bd643c9fb525c3350d0fa77403a4e540bee33451a3bbde6fabf70a9c61a50daa96e2505d0abd0e21285fb1a1e34c8143411ccbae5c4421905408f5639e5af2578d873f638a1283986a735d2e1cb37ed3ba70059832ab582e5bd3350de8394454f26b91d135b146a5c9de7829707e8640458ffa67cd54a7d1a42ccaf217c6bbad31fdfdef5f1e4b13c8f496a68f8179d2a4301bf8fd58b8e7cb200945891e55a02a739a13b9381a56a60c1d8f32789f015bcfe40702a7471834dff6ba76e1aa61f9f5f5acdb977762ecc6f140cd87611134f08bdcf2bb9c86f7a02e5bad97ac1a67055320dfa9ce8485c3675bfc5b1ad2cb0f74230d446379085fd1a4526853e7bd643c9fb525c3350d0fa77403a4e542f9100e7d9729cc8a4849ff8a3f726e058f54d2932408faf7a9e60e588d42726155c38b94270d7de2197be5e15a4d5e15644d01a67b1a6e21a65b85729e9ce4e26797c040ad4fa905fb5ed80aa56f2797e9986922ef98691af241796838bb7d01928769ec5dfd256d415a80f98e67599d3919057ac27ed13df27b353efd8fad436f897d77260734f261592bcf2002432dc1b7f1c401246ca4f93766e01b2cc1512af7505ef3d8c0d3f0b21bd0280726e86875228af6df1891d589caa6a2cfae12fc27eb5c0dc92d5c7dc026e71ebe19973b3b7cd0ac85c20f93146fd41b703be1bd94c3dbca1beb9ad1ab4c626b06fa87c9501c6c976dd9f7b562ecbbc95df2e34d7177d2204604aa44d3baafdb5ba7f4113a0df0035eb4d29bd6b4b8b95de6130310aff4a2a53ff3f36a0c3c3a78aae245b622781e1ad7ace0c121da99e8fde23da1560dddb2988509c16853361f31cd0a3c995924414cbdb620bc514413c9209b8184ae287a58db3b837ae698a4972e01930894b96082981e24e307d1edbfa0dc7ede04f7cece15e7156bd41bbe3b10b71c54f1ad56cde64e67f25b2f7084530bb1ca51a27f127906c21e9257fa3f134f7e5d7088ad1fd51110c8eb416dfd80da0e02a98c8ba9c1e24163fe361f4928b7136304cb310386f10ec103c0346613eec88ea5736c6e162578c7a8a2af39129bcf6e0ddeb491a855fb2d277b6bd602dacf817912aa92c3a0fd5a66e4fd604d1269d1599b9788f5da04812a6c952ff3959b7d8f32e8ae7ff0c2be2e926ae383511eef7573bc41975dd2104aca453f02a39cf7371da1cd899b17ddd888367e08801a4545411b629bb12cc976c479d920b83bbf8a7215761194450e1c835a505a22525b04f5c2b46c4328bf7377c7b50043a30d51409a1ce6ead1b32d7d36ef5289610f32c1818b5951303eef846a2620be01b0ab7c2130ec4a58d1566b22d528d1cb191c0cdc1d66a68c2c354b533482db389534612dbe32504d17e211cb41dbd05b8da8f6f877f9e02a97e70a40ef30706ce45b025c84f9f599366fa8f8055064494245b2bff563ae38c427b0f838f18d71768aa9a9c5f0071b34d14f8932da6b812de41410dbbe7b1a4c6e6ad97ee2250c7c6474f47a33304e3d861f8c39732fdaabb464a95f451a57aa04f221b2e0d80e9bdbe3f97b20d2f225e5260eb61bf1ac1cce1ed831ee75ef549e5581807202c9f05d7366dc6670e94ac82f790867d63556e558e367d7d9701a742c255ed0507a068214674d0a0f50cc33b6c8b845e439b7b52df206472513b1d8794c9d215a6f373968e97c04a2f2565dc26dd3abfc08b03280e4dc6f5570090bb40e1bb055dc17c28764e4db70b9ffdeb7e8b9ce6be7c050025d625a1e8537fc06024d6088930237ee938cd2a817b8f6a4d2ee0cf9f709bf8f783f26af63720ffe01f95209a75ffa217dc76788f0af1f8f766a229d588a1d0080ef33199d8b1f1a09f071225327149f98fd7abe25e6c56caf7aae86175cf2d741b538b3b4108795df2aa000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012f2d019ca30450fd06d47832efca7517be65c917e8fb9cc3999a9c8a03aa8f7412f290e3dbb14b6e127bb18396fefe613f1adab81c12134cf767cddd02427c042f97fe270743ae3642a259c70cc813855d381f1f9711724a8e154af0f7b7522d06c8c96f74fd21759007761f8131a04b9a80b7cc3a768c31f9206bdeae3a84db301eba7088b4abb05a37a9379aa49c0093bf148b843b022e2aa62543cb29bd431ab099f76375f874455fb20b7789924b602cfb731b91715e21198a70e02d0ddc2f9e813b56958187a132cb7f3263ad6c1dc795346fc7802d3eb695bfb0ee9e8025e7722dd649b98b7be81db3428c686467411329961cfe5f9bb07d7c268790101ccc329d130b0ef6fe33a35497396eccdb2030403b819bc9317971d3e99eb3232f3e7186e194ba79002642b8f5091908d1780ffedc975c9d0d008f69cad742682c357e2a86a1691997a8605d319396647b8a0a79adc9be5b59e2883897673e60347db34ac38174879612151fc95208efb859e6e1b2ad1ef0c7672d6f00328d991b2b1cb8c73d15f1a7006e3d76223c385998b01a9392b8fe1fd28de096fd2dc715aa46f858d11d2a262ec5fef684aca0c39a126936f807a6e145f465fd6449cd0c574ce64345515d1c592935adf0cf2d3aeaac1fa3c7b94793f516a6bee2789e126ebfc66eb63bfa83059b0913f20f3883e48f47e348a0f9cee6acbbc01fd98039518e0dbe1b806b3a0d7427f7bcb16bd6d8c2ca4bd760c5b9a35434d185dc1c3279d0e3d2b5310c4e5d87641c92952881995d74d634aef83b8b3a4b11db713c0db92363f698b82513e0e374fdf5b18ed7a028fa9061640af322507776d4055f398f4c95db42dffd31866b4d5b99f165bcb30764f1f1e09def9f1dd034c316b11192264a0dc508bbcb270a5d20f9b54d06671dc98f0508a94096d342518c23b813049eeebd87563ad7ae2dcd01992d74513b7d885275e0efb50ef1eed23e7f6718070d7095d6782ce812569acd34593b5237dc959af13da7bca9adf813644e3e3f70ce689ea455c27955771025c31469c2c64078aab2be2023fb2421ff14109826331e8780fafa8bf8aca1249fc76f43fb442103835ef355a8fe6264650c5f7a2048432850908a850fa632cdade4cd3b08df5fdab48bd930c2b48e61d343506a2a589400c785931064292761605b5eb1569a1f2555d8b5ae435d534201e2796a03baa45ede9dc03611ba435bb43009e80707941bff33cda95d7f778a004e53c723363cb37bdd67308a501c94313bd2da86fc263281cc21bebf950307cc41a0481e63b3648ba47f859762e32f8540618e2b625d5b21a9b26625d44a1618fcc9002d12ada519dc0887c089dc0e0a030718e1e886e2ebc4fc0dfbdcc32bb592cde030b330f10f2e90a88c6c01b71364991a594dfc124b7c01c63364dd0f688bcc771d31cd2cc7bd1348657ab80ffc11c8beb5dab95e8512bf2aad72308a9e61368336a2cb2e9e285004781b39552e0bac9d2d69b7cc0855c3bb253861c573cc6b8f14f11f75ead4c7b8a59e7372d67e47f87aaf300bdace8029421cd907e56785d239f795aa913e85bb101ecc231505ceb2435022cf69c0f57d92ae93195b58346d051445fc686816e199de01399d4d2168f41a0cabba4f76284aee20095ec0f3221f49fe7e953358443517f1351669dde5b71d6f8abbfda85cb66a0aa2125d12f519c581f89954146677fe15445f7d22173dbc4bb97b3954ad387120bb3829617f241897770ea5f5d99d6d6953a5eec8620c6ee6ce1eba7f6165488e90e548988422f0b40858d612a16c9782fa459cf7f9558579bb95b297eeb753900019e87e4427dbbc0758b739dfe737464e19358fc7d74d35d025cedd0c505e9ccced5593ea2bcb4d1172274781666301d882c8bcb9a3f74b9c644b748fe377de0ab085873d21c9f35ed81f3b773e7105d8546e3fe62556ebc645ad893c8a48fa8fe8153df61f2f53a7924aa9037d1a88d696a0c9a19b65bbc5c0c4efe724dd70738ffa422a3a580173483f3d80e5b037a85db2aaa46859693a0a88a8f9804e486df864687e2c90f137bc2dabb17a40024c88b316b62a9076a5367e96d2375af8163a0626d03bf979028233059acb6336373905f6f241391491785899fdc46bfeb6ca2e8ce72db1f4bb47a1751b4862962c464e8d181282f3fbfaa350bc7340d5d9a43d78a5008ff4517b16540cda844030a91e82168ceb29bc12936a695c12b8745f01f33912d914b0d16d6c45c53252fa16f3dedcac9802375c6af700e4e85646734e4df93ba7f1733838cc6524cc785483843f712d160458239bfb114a6ae809dd15fbfc0e573e42d22efc94ecb721390bb079783ca73491ef0fd1857ca0daa71561d025155fdb88f71a7dd83111d3b1e5df58b4cca0421173749a072e01b293332f54513b60a49a31f5f9ee6e320933cd2ce11adde5a36be669623654842a7c9609277d342e2cf8d28b373c204594658d3597f4d3e48b5ee2c9e4a127d6406652b88c7f0707eccfe9fb095cb7553a6c9b463abed53cbd2c3dbc264eec3ee7377a3acb7203bc8964ef91fa64d2a0ff1972a3a24ee3ce3676e68ba83c72987d318f551b3029d62dacbf9cce7a4b46c7766917e1fe7b4ab6afb0dd97b3f310f9002561823500bcbcc64f9d7586f90b86691b767eb50cadeb515ade695f9670b3f5ff07da383e0b16ef9938e5cbf0d7bd6506542ccb3a3dbd157f0b19d70a15896c4557c2e23b6035190b349830e24c826300cf596d421334e618de06df7dc44e1da9d532b81f02919044e56d91f131c30b38d52a29a81fedede48cf09891de0ddb0846b16c38d1eb53ec687a8fb2dad774152f6c52bc62a022d1c01736552f96a113f530c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002139d83514c75399e90bbaf3c551fc5c4affff0fb0fdee6b5e6ae1e4c82f06fe1ec627caeb38ac6616f4450c3aae03a3d74699ec584f0ab03ac24f0837d0f9032621390967e4a2018d3aa6c2da99edcd3272c956625bb5e1a5bc079de8eb22f419dec6f6981b5dfe72c5593d25661232efd3cfa5a6f14339f371294f1714dd0d3ea61d2f07772a07c22541ce4501a501b7b0bcb7d9309b310a51c43b8c97aec20159e2d0f888d5f83ddabe31bafe5afe6a95dc44301c5dea8edb6cb17368513f393e91eb2553d226caba4907590839080d594ba718bf2386cee41175bef669c606c16e14daac2dd93545b6f8a6f7c6f814ed4d54f08dd594ca491f774109963b2139d83514c75399e90bbaf3c551fc5c4affff0fb0fdee6b5e6ae1e4c82f06fe1ec627caeb38ac6616f4450c3aae03a3d74699ec584f0ab03ac24f0837d0f9032621390967e4a2018d3aa6c2da99edcd3272c956625bb5e1a5bc079de8eb22f419dec6f6981b5dfe72c5593d25661232efd3cfa5a6f14339f371294f1714dd0d3ea61d2f07772a07c22541ce4501a501b7b0bcb7d9309b310a51c43b8c97aec20159e2d0f888d5f83ddabe31bafe5afe6a95dc44301c5dea8edb6cb17368513f393e91eb2553d226caba4907590839080d594ba718bf2386cee41175bef669c606c16e14daac2dd93545b6f8a6f7c6f814ed4d54f08dd594ca491f774109963b23f40ed62d3a0789fbf5202366d1b01b9ec27ff4e1fdf6913c15d652d17e8c0303592eed7b0cf4ff28fbe53c587daab9e5c8cb79de7e8054cb890dd623b44a2f2a074850e056cd31994580831088442f5719372c2157fc0ecc4df7edc1ee1cb825f7294a3c74a9c18cf9eb5c4fc16be99c1c4183b10dd26d3e2c08e6352d58842719e6ec789afb2e1d0c0afd5d8e6a59abb1e06b41be42af1bb09f3d4b99def11135a8aafa729451bcb73cea00075260d5ddc75f3fc648bb7a418a1af33dd5b222dba2015a20cf48e39099022762c68c5adcd367b80452bc940fe6b694b0fdc6284ea625ec31a5946639d8de9f5190afd2bf6800a595db36e6a148e4cb3a129c32b962c35537cb927a27ae8badb029e04d43a5893e3058c8fdcf9261ec76ab2d33ab7caf10f446b6502aa50af2675a0b18d7d18d66b702e7358eb5a25941cc10345e323d461d8168fcb42422d204f469fa8d590ff310a98a6ec7c69dced8cc12257517e08a1e1a5480378cc3bd31cca898a6e5e3bf46b3f2a1386e8c3e53b0c103ae5b1e0eaf0b00517ef3a49fdc255fb4736f958df872dcfa71f6c904562ded1f880bfa4e5dc75821f261337d8d7da38ec63acf90950cbf54c556d663af60542e65847efbe4812994f284df4c37324589f0279d2980f0f1a55fe8ab5408d0021044e65ce25e733d2b28db6eaeb626824565420a7af670aad51d1b1be117da301371c08cae979f91ee09416bbd6e7fd107467858468059674e9c009b8c78aaf52a11bead00a65dc3267eff9a8687f8d7d5a61f41a8b91bb9f3ef84148674fba314d6b84a82d49d3a4d422f46a6766e07499a5def5aea0220b5bad3aa93366c1e242e1a4b86b2c716de9bb0919626b6582211e1381a773923d588a4bcf4f7d83c1027da0ab3c6bff166ab5c20060f30a1995176adb1ce5691096767fdde13d63d0189e8f6f9bab21f5f98d87fc31cfb70e9be81303eb62c88372775776a622959145b98fc5db1c6ccf877c35b9421a39d17a11b5b4f181c9269f2181412be6518202cafe0d5c6e7bb05cce88959ec0ce4af45f372dfe46e9c0414f78fc60dbe021d459fe4c40ad9baf560e1baabd2b848c2dffe34fb33b91913f0e7fdc8aca5b4074aba9f973f7e9ba9b218b8a56400f6ab8a83c0c74c94eea68dbd8ffd330d96306439aca97f6eddfa1e5897a7053ea6823999cdedd7d7c8e9f9d6323db459e90306f2cab2737a201abaef81e701e05d144657abe024e9ae66538fbd5d54cf0c3f060c445087893c715b9e8b677f1993f7140c18bb0f77b8e5e8cbc9e1e04c1c3a95df94fc4653a6276cad4af89fa9ae7470f86b0a1b51cd3cc85f4c65b457c92ff199d442d9743454b44ba6d04a8fe39744ec55d4f62eb609c0435be81f97e51c50e595387cbf398d956eea6098b5073ba9650353277b1298a24751ee53a2740d6b62f80fc52662e4f228cd72d322e509dd3e99b15906134e9f4b1a5a1d3e6037e0fe669fec24a1050ad0feafdfe64420fa6d5a24d0d5f0d8436166945d604d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000131b5030e4d98d5f61550c7b307c00dd846dc8724b4a4a757d0d7bddb5564db800ca37f05542b643dc489eb412d21bb244a3c78ebe2b64a02cf0305d524910d712ef41b7a7153459e87981381f083d30c08a3ba74a5c4c4e75dbc858227941fda1e7b2bacc649eb7041cfa27ffccaf3e55f41a5f577c79cb52205a05c6aa442252a8481a56829b0261de3176208873cb260b148025ee4f3b5d6b2eff55e9926042992772b8dadce7fb6a07f3f83940898184b88e7a7462893acb99698af9f01923b387fa00d3fd17e33b1d34fea209037d5e2439be0d79bf93f35f8a18996a5903a9bc45da17ca5d7dac298609dbdb950e3ceaf850a2296d0aa077b8246f9d9b218a23a61881e643c45b139971fd825aa2583f0dad1f7595e3ecb660749857b571646ea4a5d5e605abf6101000c4e5f95b5acdf5b9db6cd03c53ce6ab49d115e93475305c625cc4f98d2d6ae5f96730b43d30b93e36dc6cffe6e2710473dd801a21bc76cf677670245c399431f96e71a7755b729ddd6df9f86a5d57f625a9143816edeb92c7eedb04b67868162b4b5bc9eced167ce90e0a8f044decaf9cb3ea110e38ac5ea4c0acf33dfd974f4c0cce6a3708374f5d31c64d06fe332c5e04b51727c70fa47787632ca0ebf16a611ff6ede3a991eac25128fc1e3c7a4c0cc578e007a48d7b558e0a758f1288b8e8c0454185cd31adbc14ed56182c4c413cf352cb24b781a32d4e105b6cc45c1d024a87a9eaa7e8e0bdec94d7c776220291327a8e2e4a02e457b7b7494909509348647682460247b137bf5ca5138ea97084a2277d1e6b2aaca90136e5345030a58a12784e5d7ea329719759a58181cbe99c2a876717838b1342bc4250035b9c732eb993f8d19688bea1a901a239d2cdbc70b30ddb29096b76430176ffbf9e5ef3d0938be78f08b6339348167aeb3f4f77b9c88a8025d9d2dd14d42b590a65bb236f85a2d7ebf19a9a907d2ef2beff8f08ac2eecac3a81469ec9c6e29caa1dd46b1b32cf5fa6319f7728e3ae86ad7c0ea0ecb149aa08fe6ef77d51cbf498974094e656bd4315508dc193a48dfface880fd3b9f89fc0e4daf0d8ffc6e1d0d57d6edd80be4c53b4ccd3928394141818ee643c4a58a7f2c638aa724ba1ad9f544b4e886bf433d28096e71833b5f6f784b17f67040e86b244ec1933fd8caadd37a3f8cea22340c7b4d63a7db14691e9354163f9a45692332c04663aa33c08ebbac6cf2c41caa7f9e4f6291c14398810b64d8b7cd9d2cfc31fc6cb90c5421bfcc93cbf52ad9531c98fcc8bd9fb88cb62810edd2fc8a9c221118259d62135eab565a9b9ba98fb8192809ee092a85dae59f44c9bfdd4655cc2487fca69764c6a1e9d10bc17cad40d13e17d0668bed0b18d331226b78fd2d671d0db6d15a7d4ea849d8b45e6545da60f2de8e7ed17d5362e13d559940e14388098e54a36f1d8482b5ac1349391b891794b958561e78d21a4b112bba971695263e299fef5a6e967ef3959dcad9a59ecda639d5e4ff02462df0a045060af043fc0a7ae3575bbee9841a935721d516ab978abd7e82d10cce34fa8e284fdedeee6520671129690ffab64cc3709d7eb541edd70759bf0f3701c7a6a64d47d890c5743aaeeff93cfae50221a4d089a2bb7f1ecb10e25ed758b0eaa0a71ae543033a171d2fb381f6d56fb6750626c5c47b100f247ac1d58cc0efe653d40be4f30cb61b1313b224c997c07bda7288a95470f685a34a951fb1899eb908f56e7aae60b4df3d4c336aef20d762e75b5bf27f36c30cd227a4fa973046692367eaccd25253b1207bc144a281979785cfcb644ddc1c9baf98421fafb4f7d1d101f1a40bffdb79028452053fa8227bfa64dbf82b3772f0b6094c312f6da94925e74240ccb51b4126ba46dabf48585916c83aa2c7da0f88ac23cdf6688ff9b5703c847f226ccf3b1ce8d78a74f454399c8c365cd8a907c4355b182ae4f8ba113eac265b3535f8d033210a50ac1aa7473ecb9079537b25a6ff83099113b87d71072484ab0979887c24644fbb70c146a5aca53851176e7065457f8102a3e9210642c56b88e093f3ca2ebbffd3449e0bfcbccfbdf9d64de536b4002633ab27b821042a249dc024ff8833bdc118529676f562b489dc31b45566fb853e0e4c9fce74d62c5d283dabbdfe3d25a2310c473300bdc99653258f62fae4476da86abdbec9947fbf19f3bf49c0230ebe0a503038b616d3a61087c80181fd26637f7534b9ec618269e9fe99ca6f2f294c8730258b2b5a577be02f25a466525853b22e755475fd63a78f540fe9d10d53d904e90909dd2e7f51a42646dcf7fe0e659cc39e25584721e874432978830041d1143790bb4289982fb6cc2a24d2f5371cb1aa57d2c647c1675524f47ecf2c31f39b01f4ec32c52afbd0638d0f2f33cf6ffefae65d010bf45dfe80f4129500cb8f7ca972d1fbcfe7b7f1f71b03189f47b27ca5c82093f1fb46fe360d35ec3ccbb40532535593b0c40439f2a37e280cbfe3b8a8251ea369b837084b2c549d07ca3e9604ed0342eb2241e718395f9999179abb56def04400c3d251c0a7b8ea07be73e650c248a63744132b48945af096cf0bd934310c37d631647a3f82eb2d36ee17bf9e51b51ba4dc1f50cafd806413cef663c8956f2a79d1b05f8974083a01531e8e981b08b70efba5eab2157fe99b1b3b1dfe17a5294256c219673de55c06e5e4e267de30523a2dbff6381c4739f01c976f931751f73f2a2088104b87fa3ece9cfac47befac6bab51dbd3a5d7a31059832686b446843399f16e4ef555d43bc053da6d3a061debaee17842546aaeb2b5de19c5f6f60ad50ccfe27a8d40dd35473853fa5fea7b8d460c39ab592771756903c1676031cba0b3892fac828fc900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013b9dfabae093c4415b454534119f6133142fe6bcd0a39255f3f6b32ccca9ccf2c46205451f6c3bbea4babacbee609ecf1039a903c42bff639edc5ba3335633222a15e5a662e2d546c85a5a04581ce5fd4085f1ef7e6249f430fe710fff5100a1d5ea1a599d1d2ab937a5a5fba7e31a04e3e39dd1166d47c561d49dc000aeff72d26d7c3fee6e2a61e9c3c215b8907dedf9ca9a2c4e4c4e51cf5217affc9503012d9283c01191d59e163c3dea476f82142a9ef59446834367c380f720036afd121c236d3fa826d3e990d2ca6c9ad2759f73b8539bc90ed26c542149ffeee90ed1e3dc92c057d92c166f2d3593652d8a62b0b13c24cbc0bf4d3eb1c4d01116f1413b9dfabae093c4415b454534119f6133142fe6bcd0a39255f3f6b32ccca9ccf2c46205451f6c3bbea4babacbee609ecf1039a903c42bff639edc5ba3335633222a15e5a662e2d546c85a5a04581ce5fd4085f1ef7e6249f430fe710fff5100a1d5ea1a599d1d2ab937a5a5fba7e31a04e3e39dd1166d47c561d49dc000aeff72d26d7c3fee6e2a61e9c3c215b8907dedf9ca9a2c4e4c4e51cf5217affc9503012d9283c01191d59e163c3dea476f82142a9ef59446834367c380f720036afd121c236d3fa826d3e990d2ca6c9ad2759f73b8539bc90ed26c542149ffeee90ed1e3dc92c057d92c166f2d3593652d8a62b0b13c24cbc0bf4d3eb1c4d01116f143889e26b1f2f60dac82c81667d2a4f16443adc2ed971f1d68e0c88f558ed965c1aa4a4e2733a797f48acdad4a4175d5a42805a1f77e79763002302930cb831db0295f14214f0d366d4d98f3e8dfebf8d56fdcd08e42efea22d1db2513e1fdf0e3d54c7dc55d7b3548aef1e3eabf878a03e46a9c1e6a56aff3acc472a854db76f0d362d0e2231ae99aa7d2302afe5deb3582cb37c5880dd760683dc627b8cd2a43de7b463543aa02c3d1b79e24b8c939ca555fc3ed5060cd94b5def88a5850b6d3410e9d6f4ca3ff186caa16940af6c37570b45ed9f306ce9763ab455d115b4ba18316875bf5a9ae62deb0d5835b3a472c0b0d3646aea881d1886f462363349c6326e212d046ba6e2381a59c002636f353bd1a24f04ba98cb421c709779268c1226136e479ef3f142adaf5e4e5a145afa02eb278c2bb9dca635d3feb9ddc5084829b884053c8e9907aad3db86161c6352b318ec54fdc0f1b50bc41febce5630e625cac50c5867981d0be1c740e36d19e581af31aee99bf3cedf343dd7a44badf505922d9666f442fbd122ca955d0a15e9b5a3bd9f62fe230e1fa947fa78f472161de130accdacc7da0f3f6a1967c695f101de2fed75861ea0832b26bfa7cbf4c31c4e4bf0dfa38ab3642726331d41d30eb1dd52af43bcf87745ac5bd83825741201439880ce65acb686e0b69c4ffb30841c5a2837e17f1eabc799820ac3e80876147d6fd9891235f2a947f30c0ba6e0e82000fce9b35619035e31dd12345b2f57051827a6de4b6baf371eaf45a4dd06ffd6b89ff05d97438fa4f644d15f85cbc83de7da50dd9bf6e67bbbc94f6472bd5a31039eec8e6977a9eeb3a2ffde6eb62515d5fd610070c8d5dacfce071ec7155cfd01ddfb6b6c37aa9c5acd5134c187a62cc56e05b8500e0625390c94c07381659e16f81c652600e2c07f39dc0d7a2182395675bdd31e129508290b186f6e5de6a0442eb79e90214c313dcee2a90abb8c33279ea0b18d80eca02fce22d3de1cc6997fe154e36063406d4643d25a2b66ad1c87e639392b9a1dc0d5ea188175207f0e18ab03937c92e5f64f1a58532ba340225ac61e26f1909d490acffa27b4cc89b71a4baeb7e674ae239e029d0b2e88af322736001206fe66bf97d0da85a62ca2d5b69c77189fdb7cae3932a1e54ae14a017b94c260f9811816d33511b7641e8405aa7ae0ceb156dda603cce9ec8a6085345e64e1f99d2f150bee66a8fc1d88f7d5c96065ae96a1c8c2923f46a27804fe30379d6590269e5c92b166250426927748e2c8e70714f400cc36749139c0d1c802539edcd8aa97e5a07ace8e6f7d93b26cc4e78c8e21e8764db4d0df7100cbed36033c62473d47669a14953a0995070cdc0a852cbf0fc89b8158e35aff0e0cfa32b5375f438854647d89a9e991efa6ba824478ce24a5f13981dc3d90ca8de92121bb086a17a9f02dfafdfc49957cf040fb693d574c0d8031bdb21fe58a1851bd2e72a5ef2e822df8a9f11aa67e0706c42a067725f2e40fb4078b04496b1c715c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000106e83f6675fb6b069c22b25fa5599deb5f0cf6888cb3e2b5e9000770657bfae93cdd04b7cb6ea9fe8cebdb1bf50778d2d79c733b1e88bceb2a34c376343386f5274861718d3dfdf39ceca7b540654f8862742f79065c24e329976cad2f99ddd51e34278d54a4cbc3cfded3c2c6bb4f831e19c6cb3a5bf9425d2af08d7ad7ff7307a6323c85416dcc1741e0dca9841ecb04502decfb37584cf8ebe0f5810d91a10ed8d21c45a5a726af458b0902877ce5fbf8e23250e1393b416d654aa06ca8f0145b78b67d1f17cc142b746614171aa5b49fc542795eec8876dbb1d611ae1fa41b491e3012c6e8722fa00ca3d5e86a4751ebefcd43e1903fa68a89ec87abbce71854076a47b823c1dd0500563bf39c773d59d917ea894dfcf2b527105ca5d71c37c33990bb6ea562f754efef16c2c909c39c77df83c2d3dad9be90102a017d4e027101391e3a339e819eedeedfc7f0788d30c9130d82ba2ce0eaaf21f924d62b1284ea0d0c54b4c894b0184c61870766a40abdae23cc0c5a9925fe23633c4faf26f681a2f172c8021e140b051f06e3a52e17514a6278fb78f481c98fb215bfc20a91a885188b51a0a062dbf12166fda6d4af66b76204aa406c0db97221b254383f10760377fc380a035f60c7ccfbe2361b5d3dd2b99dc5a9458494b37eeb28230aa1e1909b31997d97d5833d9da8eba646028db840c19a7db23c091db6523b09220284d74b0204f5931043141b2ba5ddaeaa9808f9355411ef1058dfdf0863403b6caf4ed02f64de093585b58729ed90c2e08864494739fcbabbf9460893dea7058cd96b9d9e2e59b42fc9108620beeb680aa37c46cf02bc8cb4b4cd43e57c960e2f6a0605b73d6ade941438ef08fb2c2237c2aa3eddb2e54242d39c3a7afcd5330d10a74711283abc7d4b6f326381c3c022c83637cae9f9d3d9adda77b2926f217cc4b7f846dd1a8bfe2b4a55c0eccf26cbb11ee610788e8e197d9da17acb5329c0fa183eb62a1a780e9a5faf3204b5be3ecbd137aafb8222b8f4225cd7d0783ae9c9dc18927e7f864144dfbb89860dafac035fee721d28bd959f3179f049c92b9fdb12770d5f15283f0f5379a8a3f3b277cd4c1157dd59a6281faf8c4586ca2fef14774e3c45d7c91c02dc6272b8f4e74010bcf2fb7a534e7867bb1a0419d824aa858b21e99e6d8ddf242cafaa8546cfe544256d98c47e8ab37d9602d645fd0feae7208a68e2854e416c4c75756f57284d91895207f750c1dd6b0160362a2022d1176c979ee6996a3d2c688922410f0f8c840ecd45b52d24bd68f66cc49dff0b1090443851936fdbdd9e6c0c6c8c74d9ac949df4b81a36f858a72740ed5b0831015310fc3a39f52a977daa4c825ee19c1440c09e834bfa8e15dfd169ae216d0816cedc09806136a0c0476fa52bafb9a6b2cd34f1295cf5e735c7cef0d045ca3143d54e5c54f734334a4a064b1a32160118c0bfea184b742267d75be57c06261e5a8cac019c16d5dcc2878af0ad205c779bd826133ad2952232eb95cb70efd627b0a2bce20258c0c62b744e8f9fa7eec0e1b45389fd44c48956d43d42f1d7d702062954f4457bd8e409f14940f9443dc0d1affbad375d0ca7910254b2fd81eb2000cc4dbc562fb53514a0f50c6a72918e59b8c927f1bacdb79067587962a7de333a5aa9b979d0e62847bfa799db42bcb52f565cef71e0e95cdec624ca04b92000e4cc18d14c1a9e6fc899fe49b64d0ddd5ba2c0cf5964690ed651f1d04fed200152fea7dcb6121317891df7e5662d6618780af0f45f2ec3b9b07550e2c1194927b8c2e675fbf1ef47c6aab3fca43eacf2985cc7fa3c04e35634e695a7ed21002cca976ed2afec9d008d69c408ea5d01068fb0c8c7914bb428f80f39d747d6b500c5d0c05d8c5f2902e009ea67cd70ba7b8b856a2adf9b1bf881d6eac78222220c61ba360af4aa1d1c458113869566bf51911917637358ec49f709117f215f003425b631888537cba42cabbf4bb5eced585e76d1e4222ae1c4dbb99b71b8a259382dafc6b86454859a24c872ff1d4a4f6b19a2fbe97f0a761f5c387a2e2a93660821a564b0e6a0f3a009abf9879165b7c860316712619030d66d766a7e189b7b2aed96798f49e5a764c2fdd62e44726d8a0d8dd3ec87fda79c9b1666901825aa15cb771e895dce1b4490ddab9e7195a74d2428a4bc09098387ae0b556cbc331900fd748f3a23aea03d5b1bb4781b9aa69fa5a15b50a7e9af06a66e7caa8198972f02f206e41a7f09b5bbf003ec382b3f5057938ddf25b50208982423756bc9051cd3dc329513d2bf64321aa2b38ff780e29fe8b168eba2a27745a2582b8aaa99093e800f31d4fd5448f6e8c974e520bd900c37d639b959b88fd730d3ded634ec25681cf3ed580b0b0e7d2f2ec9b0503b6ed902d261bda6620885abe8f2da7d01152780d6a99de62b5a77a2d75587b5576c42f3429dbefbf9d57075a919e63eb821a46364e16021fde5eff254f4be1cd328905e7758fb76d9bade745204bdacac3f26aac84e8614e067cd40fafe3d82b36b7264fd11e906d70b6dba26f1479a981e0170f210c6fa14f9a3b093d0f6329ed4087345bb3a9c315ef755346d8f81e930c8894a4515e65da054ddefc674a047cf9a561ede7571c4bf89408dddc0bc7328d61c891c07fa0019b532a11466b7352f5ef327d444231a8f360ff88f189ccf0ef25db51c4eb95ad94abfdbbacf8ce7e2f9f33b1c2c002c2beda70ee2afa95c232fe86623ad0ee7b12868f815ccc1c42345759d3fd855342e0fa45e028c01b738af7ae8892dc8454b985e259e0c7155c7ffa8567a6e8cf168b4c6dc50d6b4012b7d3d56bcbec09c1876da1304735f10c5da6bb900efb6ed4af5c25f40451f8c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c722a49084ca970a19737aab94d39e78e67598f0c5dead56e848cff549e4b59238dd5b6f7b3568f5e68c85546b2c61893df3f6cfcef0e462aa8a3edab61b4a80e3ad36d297f4f3327f416559e82218583778dd32b3ba3f3f63c5f22a71778bb31c52c92d680b0ccd80be9aa617dde7a9ecf0b28de115527a2f0d1ca58e8874607262121cf7c8bffc7c46fac188aa79b6f0f2c23cedd3aa83600aac043755ba638d9dede30837400383b9053e7755864b3376cd83a6fbe73632c862cbc8aa45b23bea5a90d6ebbfee6d62e5c7ab546092b4bdcb30a5225490e0355c1514aca3e1c415a56f29144011929d1a3854ab9f6f6fabc48fefad3d28b29db2baeb535c31c722a49084ca970a19737aab94d39e78e67598f0c5dead56e848cff549e4b59238dd5b6f7b3568f5e68c85546b2c61893df3f6cfcef0e462aa8a3edab61b4a80e3ad36d297f4f3327f416559e82218583778dd32b3ba3f3f63c5f22a71778bb31c52c92d680b0ccd80be9aa617dde7a9ecf0b28de115527a2f0d1ca58e8874607262121cf7c8bffc7c46fac188aa79b6f0f2c23cedd3aa83600aac043755ba638d9dede30837400383b9053e7755864b3376cd83a6fbe73632c862cbc8aa45b23bea5a90d6ebbfee6d62e5c7ab546092b4bdcb30a5225490e0355c1514aca3e1c415a56f29144011929d1a3854ab9f6f6fabc48fefad3d28b29db2baeb535c300126952516235da51347f21aa9d5468e367e06052894a617632e8b655470bf722cf7a8e71781afd80bd44e06f75d9cd051fabef1eb56ce735013f22a1702160008be8cfe697c87a7610eeddd822d823b36b39f2ce5b4aaef248af23681a0a6d39a0c4d49b17a7dc76778d0617ef30ca2dcfb8cf37a899d300229c4e86f516f517615894c1c355425b734d40a27acf067ec64a0bf419bdd16c93575ed40bcd6f0e2de2a81a54403bd0437609ef29c96e4daaab1c1312d83954b6e372afd96c3137b0f73820357d0c90fe818dfd95679c4423145f40b348514b4e4af2e2b81d101c9eb6e82205dd8f0ee6d973f7d4408f125fdf8d8a5d17372f3ce324355fae832fd72e3fbbc466eb844b916949a0f5cdef69906e19dd6effb9f94feedd09867a3292b7605449f679183379c1d3117ba35ebe06eaca49640b31b97d19fae91a8e00ed60e28e0e2ecd131b9a4211b2be8a1e8986888e7c4600583655453e7938631493cab2f6320b264418ea28ba4425152a50b9ae899830d92a40652487bf820c17c11ea002427640f4c53ce8ec3f675a2a2881198d159706117f00bebf304231124d0ddb4d3a74389e6cbde4d089b10817741dbac60221d383120591d5b25e7d295286f25007dbbd1bccbed974bb10309342cf69460edeb3c14b7c57a65ebfcc2180a220ee02f9cb147c89b120e6cd97195645852db6082c2e0863ab509416460b7fa70c18f1ddf80b2665512ef0a74130e9ac18d721d74e63ef501b163757751804b8f4b3259fadc64ec4cc4f32e5850f2ba8580bbcbfc6794071378de861c2204813e9d8a6b479f73eb7c45638456c080c3cf7ae95ddf514a26230bd8fa19734fc254e40fa2197cfcec82fa649c4529da0cdbc68e3fac3c4a7ce008af284c82da1817b09ef10d2b8001e77d0dc6f12b3ab5c6ac7a8a6cb3755f7cfe3bb674c2e959082d0123a2a0a0c8e4cd16f650fd0a547d59ab8f5363f4c9fb101ddce6a13a2866515729db9444cec2f290a2a6767153ab734946c3211e335f029ed849c1555eb2b6154ba6fd75f142a7453370946d35e048befafd9a1cbffdc08b9f5c425d055392edaeaf7123a572dbd774df97d4c01b2c3761e4a43161350dd543fca1d3045764787a276c9bcfd6e4e148132734d9b3a4aa3dda3c9471eb471371285359263d11dbc05b2156c288233788aa64ba0a1006ca7d5d5fdc1db7abfed380f3b11d003873f301bdf7837d00760cd98100bd427eefdaea7ffff86feb79fb2382c2f22c553993a460b7e6694ccc121d926806de8fdd31b4178e01c080ca17362355f6c5010369aaf00f40c03189ba53415937e7ecb9a679a81d61a8ffb60710837ef8c04250e1fd8e3ddce10260654dcf953a9cec09402c71a777b256a7b1af40facecef3389a7dbdb953e39c1f93d6314374eda3fb2d2117e5fb820883890ec28339388d6beeef2789d9d8a0fca857c7a1ec911e32687aa9b68982533b4b9c33b2e69492b3e627bd79505acf9f516cae991a178e477877c0e4d53045d34941a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012410d6bfb1221a5b2c84fa2e572dbdee364749e36e7e5ece706d7958a80c678f1c0ace3b60d3142f0d31057904f55e82f2d1036c0000bed98e8293085f81d96c287c85df05685ab195fb328ae405dcc7fe9d3aac4413f8bc15ae1dfdc5e526e512e4772df160606dc01fb74a9514304c77b9bc9186dcc96ec0dc5ff74898358334a3f51654deb4a8c33fe0ecd294d8ce6244bdef63d3d9dc6e0825af35caf0c7065a946e5fcddc3bc3b1d91647dd4fb77802a0ff403c6fd3e27330d110d06cf13a42bbb3139dab0387eb1973d3f791758635202599727725143d905ca41916d52c9779420a0e491c795365362dce82f20f9bd46f401e9c0d40cc5642e07c8b8e0e40cff851eda8b07d1fcef475d15bf26406c9de13634ec18fe5227f569b19192334710441f274ec2b12d0e8074ddb11163041886029070852539576bd76bd3e252c72c7cfe50923be51443bf748ab95c72327314030f7955168bc3d7183130904adeccc5ba24a9a5f86dae6c6028bef1539e856dbc89b3647370d7a22f646da27a79f04a0142246ca1f6b68cc03fc85c1714fc1ff285295477735869f8d785523b31003a87235a27489ad0326d02c0a319c03785944f184cc1b232e43458af039756deafffde981bb25df7e8a63d5348875e2a111c2730a53ca1df3818e8fbe3ad27f6266c77cefab5ffa84513cc2d2cd726595ad7054f52aa006744558c07a2c1b9211e8eb257036c80aa704d796f44d3fa3e7ed74386abc5884f21afcfa0d3fd71c023f1d3194673618a2a5627c31b0370ddeb5a126c27428703d05021cd629958372287dea2b92d3b4fda90c052e9e2a7c0115dc736f8039e4409c99782d380859d3ebd59007b2dfa2f23b8d725a068583b001c4fb24dda99ed9e6a7cfea05d53cf0ad151a65c3b3e9cd6202f6996fb7d5a013abf8b7514f82af857e1a22381412414c285c992d1f1cc7021151edd27f5d885c2abfd643a4244ca1a110dd069a580e3b8070557342931931c5a39fed9dd6f30b43b2090bf44c09d9ca71a20f7668a609ad8463ddda30ec3e248f2ee28cb4fb84f734c90de32d463d4625f03715586198a813cd1c0e7ec0f566870002b7fd88d220ce024727eceeffb2c2d005bb96fab09fd49671b80645b4afb06428ab42b744283caf1392cd89faf7c5a6016db990426f604ee7d93b830ab9a5a728a188d09f7c631484ec5756035171100cf7a0a3c92f3ac8008ba8e8e939b009e3c771c88964c1ce09c1fd9f394491d435831d5712d2f36bc8199a495ed00a377f1953ec3d2301f1e9d50fdb8b40d2863062919064dcfcfeb4bf58ccc31fae7454dbe999561e279f2f6dc51e338be186183904685b683df68ae2fa697faa0080413f3b286dc20f849a831bc2b9f6724e19d2b92d30829b0bf10365452662ace3f43fcfed42fa5e36501a6c9e1f1a8c2312ea9c09043fa9c57af13e591513012159bcc9f0da4dccd8dd126b195bc7d37e1a5c3d21dbd0775b84faba92f587670bd160c2dc5e418047a52f4fa242829868055bd28dfb8efd331816a5500fc144a73318e35f1da4ff3e1db2a51fd6de328a1ce38da4fe9ebc92c01fe9be3cf3d1ded619d1307fd697889ec069d7b0ee2a4c16a16f9a0d6ac6c000e15680b0ff72966c276617ebd73b05e5817d8bc7fc94e30c9f2b7ba5a540e3a83d3f4416fa04462907a367df909f9e6e95345d1d0f5dde3f60f42d0cf487d4dc1f8849cc9e0a8f87665b98a911d260c6480f9f0e012f061c9860dd0b951f0480460642217b4d1e626997f128b7fd4a387ae8a92fdbd15727a8e25984a45c580b6e8d5b35aa7600dc20d21c912cfca174a3b3076765234f28cc7d8f46c755e3b7f3456ef3b3af4af499b887312b673dd422d1b70efaf50539a971b315fcdfd355f3419868aeae49357e44dd51a6aea7356dea0d358f7c210492ef66175065debfac43af18542e51d6a9cfbc69b05ae5974c33e3dc844a9a1e96ea7645fd10c34e082d0557b0c9726abeaf51675ae7d09a306b7477e723ac13c0003258e8deb4622a4024813c67dee550e709d3f23fd69c8d4fc79a6a0d4910d28542ce81b23fb7caf122afdcbd0afc64e0979e72a108651f85a800e64f631ce86c653e18b1e2c5a5241eb9720a57db39336ff2d1f5fd63421524f669f51e14028c925b63804084d19cee8befd4fbbe918b2879d5315195228de395fe06130ad3e9b14b7acb948c664d3b26148e978186f6cb695ae1ee89ea78353438e50a38146ccc6a9242d2404e3ad34b638e8a7a57e9ea7d628f3c0a98daa41d7aaeb13558d0e477d9e295cd8fd772ccd0e99003a8ed07ce5ff5cb4a8021e433957fc011ff237df87d43926181ba71e46c497bb7429eff378baca1e5e53552f6ce7b2f00cb25f75edb8751378061b860d0b1daa45c96a1e8b7ae95ad9e2a55a856f3922e7b709a8dc2363459a87c60f2ca408ca61c1544579186e204a2a202b77ac39f3dd8d405663e656cfe089581fd2328ebbfd7bcc004a6d7f530cb8432afea82903b982d8c3d3d90986e3ebcfa3ba519d87da6360c0374a212490654cddaacac292ff632a60cf6fbccdc541bc59b6e44e6546a923c8f33ddb84a881b4dab4d401a25d42a95697864b242d8e2c6bc238784fa1909290700387fddd75871e827eed31a5818663e5df533e973f694077d138cc8b31154f5ac6faf0b5b1ea88006208735a82c88322bf69c08bf603fc6fbb1626df4813d85f469c0f30a0c0d2537ce041f6ee097a42aa06f2eab61bc3346c8ab1f64f13b899cb99ca4ec24fe2fe0f7af10c528a722344da3ee2031162ad93d130bbe53ebf1b44c63e116a6d8d67f25ac24909fbe5ef1a6d52d2c5447fb05a94e28ce318e1d8ce0ac9dd1d1727d3e77e3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000199708d32e6449e450523f4e624c14d8be8baccc0b83f0e5bd5d9dfff78b4ffc2668f72cd19bb61bafadc0b19db3eb2763baec2ffdc90835dbcf92ed0874b0053ff32c1fe7f57175919b3c87eb7c683b9673c7003046bb6119a6e512d5b88feb000cd3e0180a8e8a6e64c378148397c48bd2d1fbd9063dba7f864bda2a4770163fbfdc9f87cb374bd8082ea7996e092967287f10cc2dc4771b8db5aa2c9acf93004023607834c8b427f7d1586691f6d6bb1e19eb3d1f34a47d9f7b42d365306e3ebf4f1da6f8147b3828e945ff262dce7ab01763d7b0f1e5250fc89edf060ddb0140b0e25907eb84c7d716ba00d9d231a7968198319c0736741d684e20f9f226199708d32e6449e450523f4e624c14d8be8baccc0b83f0e5bd5d9dfff78b4ffc2668f72cd19bb61bafadc0b19db3eb2763baec2ffdc90835dbcf92ed0874b0053ff32c1fe7f57175919b3c87eb7c683b9673c7003046bb6119a6e512d5b88feb000cd3e0180a8e8a6e64c378148397c48bd2d1fbd9063dba7f864bda2a4770163fbfdc9f87cb374bd8082ea7996e092967287f10cc2dc4771b8db5aa2c9acf93004023607834c8b427f7d1586691f6d6bb1e19eb3d1f34a47d9f7b42d365306e3ebf4f1da6f8147b3828e945ff262dce7ab01763d7b0f1e5250fc89edf060ddb0140b0e25907eb84c7d716ba00d9d231a7968198319c0736741d684e20f9f2261de3d4bce06b42198eae94a6f1dfdc75dc24f6997510e65a24910425e021ae2333f2b7ed47f7856ef53c59d1176dc340e16dbd4ffbeaa34b8f12f425e46753033aa95173e10922e1c10ce93e2f91cc66b0542ee6c45df3aa86ee440163fa95e03cc60b1d158a09032111a2b68aefac24680946e5f9d796f53bb11cd3ed6ecb0d265be755e2d45c392c4eef3f96dfeb0528739fe45218b2d0c104e3e23145c36a385a0efa8e307df58e983a4c846aaf4a19d0db5ce33232ecf1322976663a64f904c5e93837cf30ad0a46b436462a81a17d336fc2b2ffa7bf8942034fcfe10805248f2332dfdfde8be6404b5b595762fa8e1dc9c0decdb3b4ce8e6e039555684c00c4eb1958d6990242da6c0dab7947a88961a871d369eb6abb7d31ae3e63c51b020ce44ea3af15f5bd13b9ecfe5b92b3f43557fc1097afbffacccd489e11dc31128d1b9355cd1832930b98c347f20d91098d7236c865646b70ea470d015c56fd062e6dfdef08a04fec7272c78aac28a7472d2faa77ea63e00ecde95b940a406b3c69c4c1327e0fb946896a9ed75f139ca15e8a93ff6b7816aa67bac2ee6cad583ebaf67ea232e8feb03d4402652457d9f357c527862bf149c73a57e79f7814da1f8ae6b100a0762ad0053e20c684e00e5a7ddce465b6accb66c3df1fc7470ff13467f211b08be99dfb2d7e5dacdc7ec8ef6be945eed7a1ccff53f27c65f6a651219a584e7b1695003b26c9904600ee09798d45db14cb06618e56207315e67abf1ec72c786ad3c94e0caeda0ed3ebeabac38168d7369b8d08e2765367d88cd6b13ebb0e50bc8bd56b400b89d19ad1b6b5b3e7c55e027561effc796a0870e7bc292cab1644188295536d6030927241b81d07fde530d5d52c49af4a97e2db8f89b8345e180eb0741b7436a5ca3919c8c76404207953835de5dca20c60e1677d1b343f7eee6e78919664c381e553e464045f84af723033e8bbc692f836eaffbe83ff28b2049cbc08407f1152070b97f250a069b131e5dc034cd6106eb616202b8c5227097e4bf7211e2e2036e30a6a4201fb0d0fa90fef7fcdecd940d92351c11b900318cfb5fedd00ed01c7dd983ec2b9460f137eac5ad14c5f9d92537ca59f306a19cd4c15446a1908d3171ed084708a8d72a5ee4faf9fc955abaae70a74cce34d161784a1c3cc45a433c18a4713281afc219eae0781b87fa176883eae949fa0ae180b774757bccf9577f61130ca5b48d2d0fc1550d9f5236553d0cfc5fbdae9da1ceca922f4545d4d0ffe264a608bb132d4a1f77fb24bf4e1f72879932d1efae636f6565fa0322a3773aa6f525c8e8cd7c4de060129f9e7d4ccd59255a0e14ec70766e601e9714e29d9d7c6ee87403902a3f345dfa27900ea44c06e62f49f90802281d8c7d1cb26a7a5f82aaf1da37a9d4e9d91966a96e1a7b00899315b59403b1b4fae65f30516d2e3e838b6dff20ffa06bb7eda826f0ba343dbbb3181711ad01a2d13285b9712c6337f489e857d7500be8ff92bba97931cd113ad136e4457c800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001217b553710a0c8216e65e646071c3e03c7593ec2fdc07d139e80bef94db978340dd09527f1ffe8f9e2204ed68a10d35fae52f4e3e98da40ad349f62966c918813a3628585581b29f5b970e9c05c545f8edfb303b87cfae100e731f156e5972a51656dfa5d66e9567e7a95d9f2c893f06f9fc7ccf96ef314f847a6493ff68426a2c3b44da4fd735d61bad4c57bc08e566f06ca68c257b82cf1037963792757892068a8a54b7bbf8f75498b8f78682f020734998f676d11bcc834c04214dcff7e7258b9a17740c4258fa86aa04a6af4b2503be9461578f39249696df6fefc9639c2df704396a4622d526f81f9c81892a3bb92629cfcea5b8b2d2ecd27284ba286f2756ad0aea1d458fad0ba0e4078be3ab1d582ab7b8389c93ec8ef5f491544d4f0cda31dab80fcc8fb73df64676dfc789eaed1003d0b9e3c8e90a6321783aef01231728a3e40a59009d460f3de639515558a0384be6ee380753674f095d51acf1347f0cc58b8ed5668e738905c16dbfccbc915bf751ba9e32ee695d055bdaa5c6009f882fddccdd63767059b858880ef9f2418924eda9341755f386c7b93eba6c1d8322ad0419286e23727dac6c05f9e7b6735335272c872f0c42360c3108b081071c77aff18fd06984a1d017ec144a6a0e1db76776b6ef4009518603adf9c9ed3537173ad1c188065d1a53e4a21f3aff805fd227feda192776ae97c357f9acf327136a173eab11bb57c4dc5aabce42d46938bd8f8399b58c79d8a58be385da730facd5ac775ced004145d2f8b29c4ab3356b857c67109ca4f6a1677a5bdee6380d1192b44b438327223e73d46f229a3c9b5c8ce6865570bd0a43389aaa39b90109383e80aa0bc06ff678791e47044d1ac03e4aef503de2b858fac4f4e43a437f01ce6e27504b2ecfb7786e1ec5b9aa6846568fd4adece08a6b7043888d1687060a0b2cf5ee94e4285d615fe41d8b199b0dfa6fbbfbb2b7d23da1c079eef77b272bfe9bbb899a1ba5f180dddbeb86cb198396ce4d58ab241843b284cde68644132d931076badef45ba89499c4a517a95d2c6619bbc154ab2b4e04a02605e190e43625f36b40d0c2ad39196af0fae2938cb9fa2c13de1c2f3bc9848094e33537111883247e4cc29806c9fa0e44d80b12e381b7ba32a5e10bb872be783664c94a4a25dae5a9305a02cfe42f5d1768b451cefc7984a9368a10699a39e2c73ec0a2de3d7d16566edcf4349b6a327eaeeb7f1bf2fbc06b61cd0e8c7ac43cf9f961355c1d349505a1bdba141bef31e3b8d09be2d0259f55731d899fd2756c2ef8c718d81a6040bebe2437d67c5057e657a5fb1dc965fe21b926ea456164977081c3e6ef2766e07be61278986357f7618234406cce3fab7da1d6d6e3416f3bb6d19ad0e60a1ee04b2049ad3a67e18f55b1a64ebf3f6986771148084ab9deea18fcf357042e753fd4fae7a47e27f6afeacb04fdb754c2b9aea272170080121fe1c3b31d68170c881232be4506bdb12e3f63aea65b3a8803274a56c3c2d3b20d4b075904f8390da950a1989cf0394b7e3d9cc07efcb3d8c662e3fb1dfb30813531f51faa9e12d8c44dabb38120325c4eb650446cb65ddeb0be143cd01b81e375de8047a2e135e99ecb19c08734e9e9b51def9696e9de445e04c664fa59f49e869ddd4d37df0fab68e9d674e42ab729b9f80a4eb4b01978dc10f8f4d86111367df6238eea5b26bd34a6759fba3cc50856096661c03a71390f744de9a4aaf7109307731591660ea9d653238c241a96da38fbe9152062ac2f27f82e7cc7010a5d0128ff0fd951009c8b7918b0fce4b38135fed74f5fc9c433e27e2ddd41a439ad000890f0e1952096bac02270ff6d4dae05d0b52de72af1372b8e4bc52ed266a190a0cfcfb65e2bb7dc86c6799e944ac18016b981d8570de9883548c6afe6760c53187f4fc983321d21e56625ea1c3c1daf8f8cd2e9b8c9f896a34f835c9f1e8e2e2ef6e1afaf20aee3e33335f1680fc403c88f39e233d7c1faa3698c5a0fa0c40213cd48cb753c817a591e867d94f7dad54be50a1a454a6d9e7369b73535e3df5389c2a350303d49ab86f264de2d419f38b93481ce03474965d36c1490b1acb8300f5656641302f7be42ffdd857f955270881768191f48bc9294a1d02a8e6e22b328a229b0400e18addb6ce8f5bc86957a3ac7054c032ae926f6059cbafd0a452f7e24557f082f7390815aac81d524eb848526a064c9acd9aa4b4ffba2d9cbcbbbfe2c3061b92477853c734402e43c19bfc945889de3a05288ad2c6efbb7190ad8c19195a13722c0373629f98309bb00685a47089d4e5a1ceb4f1b1252536d978f0aa6d095b92a9a3b3919507d427af8248eb17259129bfe3cb33366ca798f084de704bd56c11c170f2ed5986cc70c98717daf8747310d5bd6d298658ec0cc17cc5969c35c7c1dbe17b7726a0309ac60167853f8c4282092fe67c56f816584201e26f0745e520141a7fa6132d74598fb17ed40124987e39889acfa1cc62860da3610efe2833f3af04a65662e2263712d7bcde4bfdb4e18a12c8d931e66a3beb72601bfbd145f2c027bd6d2315245614a409a1eaa6afd87367d73f70c8ffa1f8b985f68c68711194c0ddc8d0804b6ae1ba52792d402957f506cfa1a8f96be6810ac9efcf57a8711043f633b39d9981c9d82e9ce1f3fac99393be9511f3a822910bb61fce0bed316f9e99623296a56563764a186d319ef8bb718e0b9e5141765a2a4f94b84e13d1422b07f51697bc4a8561f83edd592ed8174951758157f3e5d6f870d031b579d13bf8fd219733644126f841a9da826859b8c606641a2fc1f4b1cedd489736f4e0af191c030c0c03acd71369ee2648f33b4bdc7f63e63d2552798c39127dc2c4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c48822e8930de8507ffa9beda6ef4709ceaf014f57f337e3749a7b3bfbe80b2b3b77dd176cf217af800564125910b91877e9fab9f505e3b5b89671c40417f627d6a8ae8adf4589927fe50ba442ac630ec2d20a836ac6fbd819d37b2beb8836182957517520ba766d801af45bbd539d1383c6f185e2321fc1135d71d41477cb07314b68b65c5bafdc7f793a354d5deee2fa4f40752ef7986cf98ea0db99a90b38ceb49749a3a450238086c5cab2a2113f4c49bb941e01832c33a24c246656f623f6790b8fcdca6f4e7d5e230a82d5aa6ee38c4249ead5fa20dfc9244a004d371c0986f470323590b182a1dcf57d2a55b3630cb9bf622321784d67c8b5ffb2ca14c48822e8930de8507ffa9beda6ef4709ceaf014f57f337e3749a7b3bfbe80b2b3b77dd176cf217af800564125910b91877e9fab9f505e3b5b89671c40417f627d6a8ae8adf4589927fe50ba442ac630ec2d20a836ac6fbd819d37b2beb8836182957517520ba766d801af45bbd539d1383c6f185e2321fc1135d71d41477cb07314b68b65c5bafdc7f793a354d5deee2fa4f40752ef7986cf98ea0db99a90b38ceb49749a3a450238086c5cab2a2113f4c49bb941e01832c33a24c246656f623f6790b8fcdca6f4e7d5e230a82d5aa6ee38c4249ead5fa20dfc9244a004d371c0986f470323590b182a1dcf57d2a55b3630cb9bf622321784d67c8b5ffb2ca2056047dccfa458fe390a5c3f9492976fa73fbb1191df0d7398961f82831bc983c4e6f47bc81611fc89dcb25f50c90287f81aa4568bb921090412235b3cd9e8314a4a91425c128c7b6f1eb9fc031fdaa27cea5ad9eefea1057322a881fd8341d19824d6691f843f5af37a153821e6183c5e6b44cacf23d2d78e66f4ea3d37d54341991ca179c1add1593794a9fba6a5aa511b240f158f6d448353d66a0523b6900fb6fca4cdf915bda516e00c8dfb8ac4c0823369ea85717cce87342b8984edd26be1b33759735fe114ed55722c4e087435c238205c6761b2605758e86aa269134d7f03ec7f96b4634fc524446b64d9fe0da3ab377380d5496f00975a4fdb99c0c5e984c095c81d9ebdb575e0dc506d744d8435553e10782d665a246d81e2eb50678293b329d3aea3b6f9e65dbd1bfb9f741c244ea0bff9849182649a78bdd2226694114a0b1933f6b347fafee90dcfd97abc2f0cc5ec7f6c76b63bcbe630a252f93548cbca658961aa9ab1b008ae6599980eebb00ed49fd9138c786b4db34b21547926c51d43476b261e42940de72291d940751e6a57548dd0826a2f6bee4e6215a8977307150a685deca4687cded1fe406e9a00d8265694449926f68e439d33aa1ef3140a53d7ccb2f182ce8df2642f52c5ff19868c4f0647109a74f51ecac0726c5a9b6957917f1077d15c831fe03e27a6492e19a8e34a1d808e00d8c63e630a4ea0afc18a6026ff564b62260c047a4221e406022291177fbbfe057eed69e3285b3db7eec857e285ed57b6a698d619acaca7a07930b09341bf4a8ea785773132d13a4466390b8a27b60e1d64f95de8aa87f8673279ff062973ecdfe3893f41b44a81856a8994e142b4afb828f8405fdb425f8608f34cc5a6a3c755c0644620068c14306d86fff683d198a8bb52805cde42d4033f1f9f60ba8a56b54ada02e2d5972c099048d80828d1fa7658e98fb99c1c4ad61f7c1291a6f3f8ac7ab9e9e120657e8f2964d9c3543636225ccc4454141cfab5ee20e1cae8a444b47a43e9600c7cd279dd5bf78df32b84bf677b8c0ba9f03fdd50bd1549d0909320754765c216b654fbdfc05da59f9aff15818cee6d99be6bf7b6991aa58f317694425ca6223f611bf54d5516a159b5d9cb57d2c4b7c6bd8c364ba73493c99d7788c7d2fc41f42d51e48c20fad97eb7ff8eebc242afe706ce3dd5952b81d8de547eb039bff074393d660b3f7285f640a79ab9299137ab9e8c4ac9e2d287685bf532b8dff0a0d451da2d465aa3a346011626b527cd2fed08c6b0016bf129012f2f9e8e772bb21a264f3ab31b814f295fcb3c1ec8c8713578aa946c471a3d33d5816c114373e2fb3a12cffdf3414f5aa3781c68aa0647256dda8a1bd4658972a59d8ca0611fe02a9e99f12219332c754c7d1e3bb8cb97faae1a1b9d401230eed163d9b4ea6620ac72a452154eaede5abfb35cf16f425094d6369fe7fae65af42386f61956b7b2b2d265850d719713a54f389010d4acb6b113fc35bc31552629b9deeb2f3c94500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001070be6203981448a8ffa4d4114e08a9b717d1ebb9cbe86ab198612b6bc4d81191755b0f4369f136dd6432f101c77e920d42978bab040e1e1bb829a4e33e07d1a3f4def67575409f68b29caf4b0f73d9d24875d7ab7566cf0f4ea55d7ff45305d2ffb927cf2c3e136a1a3b50a77dc2e9fe48ba5bed267394c8c5dedc8def479812ba8dcc5f173952919fa41bd8901d3bfad64138eb5da4a6f61f39e5d1f128708057baa76dca5b83a30710016c4badd40405ef0dd2bc07234164573715f177432269188ce076b390aa0081dff33ca82c172e939586bb512ed95a4ecceab15966c0fa84bff1c952eda7ffa2ba01dfb3e9ae9c45997f281f928e5030de4219e960019586b65159acdc9829cda5e7cbbabcd5ae2f7ee8a9617257a6a7994680152933dbdd87be842899e3d2c3b7573c2c5f26865bc894fdfc5c5e138400dcb7ddff83f4c51dd780a84ec66564a1883a25011f159b8ae8782f7e807816ac9513813452eae48f2f2c168e31a5305ef632c5c018c9b237c445c3bea53f4178af58f7f4916f15ea3c21e9736b4b0759f917621927a7708f7d2daf47989ffa0beddee67b73eff78e0ae74f43b07b1195b87130509c190b530b7e10febe59fa4ea6564c316239442fa154f036ab06fa02c1ecf1f1992e00ad5aacb8cfd0a24ee990fd65b10142de2c96fc07602bb3042586db86985ce3f0eceb1427a5e35de0ab786baf61c39f1732cce017d0a6aa0779adf0b073549d0d80acbe604f20e421186aeda10f4076dff419da0c89584d0bc4413f7c4f012fdaedb9160b6fb9dbd61b85b21bf512af8da21c855f862d884ea3e2c7bf68893f204a16497a61d084e908ed680d219306622aa04cb120bf5615d3bea96ac39381f704bd9b73a746a215dbb0078d9692796454902635262125177a559aa036f8046b6c67cfcc74a794a8795c1aedb2f2c4268415b6a35e90ad8b7a0fb5b80fd45dab3f907d149d1b12f5e212eaf14182368e722c4a141db093dd8fa872436fa4ad87a821fd402ea75af12e3901a1b031c8b25ec3e198a480ba07af0af9ab8f90926fabbd801ed9e6af645249361d3e30dee82bbd621340b862eeeff3e7e1207f90602d98cb136d9d3e3155d3b97c564256228a14b81cb1c9d8b1cd295055ffddc677e6fef2ad7f01bda87a0a98c56ed087fc8ed5a1976fb6faf209b6b0d8234ee7fe90583e51db4147651bfc81892fd2632d29bce8cdb1050cf735695732cb4c08240c7492958c37d9986e7743842da00028f726d2445ae4a905ed879f8ac34b3a4db44cea7879c5a9bf579695bb8770b872d7b6358bc2942c3886218f60807d98b1238025f85eace0a2b4128def9762344337e3ea5616c291d5ac78bb993a69227a5a2efbe9d96d06be55eff15326c160665f73bc3c7c1663bb2cb5c409b2444315d06ea8648ea730ce3df9baeb04a367854e5d6c9338bdfc99b07cc33a39731f4bf1f162996a7dc64520cb099004a370008d0fff7bd85c9ddb4210c025e90ef3b48889a1b6b8d117d96ff1bae00123e4ad272b4126cdb6bddf726d7286480781a4a28ce0237f81134e3e23aac12f816b7adac002a873e879f575a4cc77a7936eaf53769f3ecd51c4fa5c7ffb9a7a303d42734b10a6d7cf89722673deacbd12fea9b4438fd52ea230dae907d88f76533594cc3f51ec1f5da9df50cd329409a11a89dfc777b61146c7279b3b8852c5f2863d9b512bd30db5638be974640729c916e2f5b6e3a4e2c41f7c8319390af762b3803cd6c1525f190e1c10dde8837a02fb9b07ff72667f8e952cc0a1d3f33c4262b1a0b4d403b8bf398fd2c653ea5fd0573bda944b6d9041ac404f1c3f08e3a3ad39ad895fe197f250611954bb219f6b4098717e5370cf9b65456e32e81aaa91a9e90f13b59adfb9ea50d7a12e8054872b556419a5eb287ed384dd9ae715a662979e82a04027aa76d31e522697ea936820fc5d9895b80599297e20a723ed311034fa3bf1dd5ba335c6dc331fb2996a1053c81fd7ce05395bb9631e9e98804093e2431140aaa50fa5481761d5e6881706d2f693314b681a3ce27b13da6fb263834813d79e5493f06f2a0cefec7656a20d0160672773658f95738ed148f4b183808448bcf671ac684a5d726d00697661dc09b527874e8205f1a644c46e70cff791303f5c24e9b45958e287ec8861f9def12ddbd9b4a5ff84ef7860f63fea599ad2758bee28409ef76879c3be5946cf330dcec80737d34b80067ca1bc7cbeb7a4123be86b796aa97d9469d94b3d2a3270810b0a0528bfba78e05a38a9db0a338121c57643d56fdd223e47cb6210b67f4698565715a7c673bccab89a1a47422d58c3c9ab9f9b5f853b73c017cedbac55a2d0e9bdee0a89509f2a937f181f5502c213d20123789f952cbb40ce93182267ecfd81f63d9778b47c8d5b18294bb18ea1337302c7f2840a185d53e5b278bc0c631a12f208b7cb76864eeeb2648e1844da6083701ce3cafa81e281404506d3c5946b9abb9dec88907b73ee76cd602adcfb4002b121652d6714f761563961b02470ba5bf32c52aaeb2c1b099ec55163f93c03b3c63395b53e90a97a969ffb33694390c81836b9b510fa3903e1690e4447bd62ac6380e9f3294e0b1077fe9796e57978f3a2f917ba014b242198671468687fb0c4b6d8a040c4d704e1464cd27fbabcab3df54471c783fc39e9dc2f90a6ffc5a1c8fc36f73339c29e36486b14a7dc8624facb6b567cf3273920372ee7e1a11ce3f4778e40e627483acf1212f098cc91581a2523c681c74073d6c1a1a6b58ec6414d3ba05c610e4d0a57964037ee39649967b2abae6b7bd98f88b5f87e34041c02a9ccaec641f3504a0b28fd3e61271efb101d6e78eee238cc9a13740ccdd2c9e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c904640edf19166641db2c1117917b8ef2bca0f0943cdd57cd144a5eb855867336fb9bf120e6e999be24d3eee86e847331aceed00092b461c5bec47147aa79a3ed15f44a5b7d6fff4947dc5575d769cabdaf24b2e53052b7016573d999aba03012ea0bb5a4829000b6b823aa8a28963766ba6b0daf9f3f02916d9af666545fe3a16dc573c9732ffc6e674dab4d3510ed22c5787c26b356acbbaf0800005a20b05e923a8c368cd0039198b254b2caef1501a417446e1c3b0cd72406cfffa5df622724db42ef3fefee28048458820954991c351b6a6e426a795f1eecc001c2a331d8db24bd10c01011d7fb7ba77df6ab6908347456268d274033b4220ffe3d5ce0c904640edf19166641db2c1117917b8ef2bca0f0943cdd57cd144a5eb855867336fb9bf120e6e999be24d3eee86e847331aceed00092b461c5bec47147aa79a3ed15f44a5b7d6fff4947dc5575d769cabdaf24b2e53052b7016573d999aba03012ea0bb5a4829000b6b823aa8a28963766ba6b0daf9f3f02916d9af666545fe3a16dc573c9732ffc6e674dab4d3510ed22c5787c26b356acbbaf0800005a20b05e923a8c368cd0039198b254b2caef1501a417446e1c3b0cd72406cfffa5df622724db42ef3fefee28048458820954991c351b6a6e426a795f1eecc001c2a331d8db24bd10c01011d7fb7ba77df6ab6908347456268d274033b4220ffe3d5ce2094e452eca6427b095af7a868bef31e068b2dbfb1a9ff44b42700a19e20cbdd0df237e95603c22b115b51664f40ce8a1bf3b428e1c80bf071341ff56c8a1d8b23e05acac8a61cb993ec659c0d776d653174f6fb40fe18fe66557cc5aef96e892256a7084415371e03a09af0c5e9eaef22518cb5c24cc2f8985c7adc3ba2275d20c4e57cfda738808e71c335a80db14fb2bf33c77cb6c71336a9f331c2923402188f6d28c78fb98043e72a38ccc4bbdd875c5bedb6662b52119d874352029f202c47a8abd2e40662d37f9c8879decd269b88061a887801a4d084a31623b817b703d16c024c05298f4962c3e85f8ccbc77ee5e1a75f5ea452d7b875afd1917b4b06a2cca0d34912abff8bfa6398b65b4ce83f401445475518586dee540fe2d65e2f3deab49d12e936dff33ca6fc5258238b6ea1b0683bd00140941e45ec6dfa9e32a801a719f27aa00902bbf0cfcd55efc8669c0a620035d0a909b792a3eba72526b5cab7498ad3bd64d8745fc6313e8a07e120233f792737123ff6ee928c61a52c69ef6234e5ffde708463bc2ae3adce8aad7e64dbf45952feb7abd0c5e780443bbf9f6054448f13ad9ff7027b7f1c323591cadd614991866e9454e63c9b2f333b809c815bd0efbf0cbe50f6f064e38ac89b2d1ab8fbe790a6c730e00138c09d26b010e29d32a8cf6c8da241bd9c7314b49e8a5dd480e408dfe770f49fd1bdb2204ccb5a05a8c81a3475d8ac4ce69c870d71425819c27dd059051a7d6e091217356b221884abddee89928025fc50274330b38021f06c0a9174561c2bf0eb5c663c21b088484983f906f6b133c4b3d9aa7da5154f7b222a77250b0e574d0d0c521838cb12b2c68231ecf19e3bdcfe8bd31849c1624bec60b6a346a6af87a641bc03a4f6625d6268b3e925d2e57e2aa762bc32966b579e8a823f358daff0883e2c0d5438d39787ce49304393f0d750c19b79ccafd85214b4366bc7c1a4db3c47d41cbd5f479eb76bebc90879b2975899e45bf3b32e3f54919634a9fead183ba3352093a2ca4d97cb1f60fd053ecacf846d5603ac1fe0e2a7ecf628a6e48aeddfb33c6a9a5144916f730cc193df42886bbc5299e6da61d55685f742167dbdb99cec1ef599e14dd4d80eb698f4aaac7f2f3f92c26c20c0f651146489065dd4ea71a22a37ba82c310f03d3d8eec53cb5fc27128efa92231cb2b727015bbf3e63d008237a30dc468ca845c2ef01aa1350df846d37cf6b126e0858209d78378698e431d20c79fab7841e4fba0f76c8365a731db68c38d075dcd7bc3d9fd14502cb4da1304e5fad57470334aa094c60d2bfba98e3f4dd787360692d11e41d2d8f24781ad3fd472c4796242697d713e58c0d5a4736e73e512f749d89ff75631a53a2f7d450e92750d4a09f7ddd5e58a0c83849f3d310ec47f9ca60bf3d0e921ae5a8af05a06e749e8b4283c1fe48d4c182b944b1a5024daab8bebc7fc6c6c7ddb549252151d9d72a31a21f75e7a2bc5ccb18990315622a688f2e599ae28455ccf05674fa0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011b9fb2095fb5b55ab3e159ae7e5230826034dd2f3390c9b7df59083254ce708d3c9c9ea8d6c4136178784f17f49c757e46d73ad423d791326f93e47aa04c01bf17551f5e46465382850c5d81a020a8b61a035c49f9a415ac6f3ef36bfe144d9e32f853b57262fa685375698a36a0bba78b902cfa7f1f79364e4ab95e946ccc2007e951c803053cb5e97fc786846f0d460261c162a63eb9c43e75a0c97232182c1bff9247ebbbe23eacc8dea198a6f977acb44a823b7d8141b2db0c8c762e8ef1043354bea28a2019beebf962eb9290d631d42a038767a16974136e09aa583ee41fbd4e477aee173060062aabd5afa6e491b29c8138fe1da3b817499e283f40913de85ffeee8b0d1ac0f99b4254e8413a7165a7419b59268fd2e51648624c3bb721a179280c0ff69f6afe4151a9c2918c1d90942c309bc51168bcabbf0c9a091e10ac15afb463713f74170684737e4ef164a294e96dbdf220f69d6cc3590cada316639c0a0fe3d4456538ee21f11eec0c4ef925056f252dc4355414ccfda9fdc30f289255ec9dcc31aa574b162a8b2930faafc7823c9da6d546a3848f21f1338b012c5adbf25e182cc5c1a71b3c6e922a696e5e94b83863724ffee402f94a9ede12724815de71991b837a0ce07fb7af9c9a7b26ca8d3689d05119a59327f345b9052934a3455c0620e90cc00df67f5e1b954b3c1aef5db5084de73b5cf156c7f32c7f35002ada16887fb1ac98e31cd9552d7f24689a0d2a56d8c7a6f2b9bbe3f80e815ba0f8aef78c42af1205c8e9cb37bc3a0899d897b1d699ad548f49a26aca080902ded5572ef99445efd66267fbae2e41ced5f82b7561de996f99fd238ae4318313b9f0d7b8c06dd00bb3744463ff5b3f8dfd7916bfd743804ecbd308ff2e1467d055ab82ec0efad135a8d7e4c73f6860c85af748c0a9bfc6dfbf79f35bcd02a0c7464f943d546e5c25417b08dd4132e1c06651de23b45e547ba634e86ce415b38ca9b561e0a7b91bc06b6ce2acfbac619d1414ed163051a6ab32969a287a0d0b7280d8228ab5740493ec96369660395ee1fa340adf5e37451f2882df95ed2bd898f34b02fdde8e302fc2cf17400f8009933d41675ad93cda61998ff1760b389723b6cf495aa6c5a1bf9a7c0c3294265fcea2b6a9201edf56680641d53568346e13cf2a5d478bedef6509ca97b05b4d4ba91d7b3bc87665a31f3c44da24262a2f432aae19853f96407c17857e3a6e5997c760b25c3cf8a65973549861c57a2433fb3539de46d05ea2ed01cc748fb8fd8728b2af895066e1eeebdfc48d1bb1347c3ab1ce2f95f79681e704519e7b9e5ff29dbc66a9f543d37ca093bcaac4170ebc2c6ba09406c3a9139a576c4daee05d69bfbdd1d0d2043000893345bd81991d1513bd95c3ea94333ba26f79b4fd1ebafd5256531fd4ca2c8c983ef4db3cf32919ecd959ba75ead0904349a5f249cae21715b50818f7f35aaa16fe53ac5218398727a811ff2c943778f0be93f7e6e58818fcd8473b7dabd7d9747dee53bbcc0433fb87ddad587108522d021b3fb1ddfb3942233550b0a00851530549d69d1c36966f45d94b361a24b7ec2fd35d3d2b05fe9d6ce494c927bf5d5d385d8dcff21bd260fc6e3f6644da8b6fcd2d30bad80034cd95c27d0184ce378e2c7137c1093a96a4a0708b5773525431a4453251d3f2fdb02b589c0ea2e2386ad0a86b007a367f41133339c5e1821c8a31c591ce9d3a8d25152f1e3e500aecf856ca2fae53182a3f64f122480004badd02cfeac1e26433eafb792a759a0efcd7e45a925bca225b14f65711f2ab87f9da3706e551be0d747898c854b09ad985cae52f909be01fe1fc988e497f617876b64db535d3c16a5b27eaebc3fd45ceaeeea91fa5fbf926827982735ecf8d8e23e093648d833615e25eea2045df4435e0ada39e4c529b33e1738ea5d69b887a12ce2b0937d86fa5c07c638a6290cf36aeba3a74f8064015a3e6c885f6fd81eae74720912ec0b9ef55a59e0335c682f871bfd631fb50e90dbe4b79b9c3d189aa8697bc2ae5506f855d9904cf50fabfd3703cb089cfa8563948a1e6436641c4d44e0572628ef7431cec8d217ad6b4954b57dcb34ef768533f6b01516640d535d25e1e843e5beeb5f422f1ba5940f142ea73fab1668b761d0ccc635c38350c0c7d33d902fb719bc5689084b3513a076f857470eae093f11e01c817bb8bed40120ff403c42ab8a9c91165f7c6d94778a0f4eb7919b394576c0ec92193d3f423948aa95bf04ff1bc1c93ce0eb860e07ef4add667743deea25a09ca83f0f04f5ee3df32c9b3150a6d4fe5f6dfc415b685af5c0deb2ac3c17922349ed2843bdca7ef80744e297f729fc82494f38c73fd7063221c947570005f652d3b85cc8a2a0e8e3e8d8f689a3605af6065b2e62fd2bc2fb61f91401cc10a8d19e186535c06472105251dc85ec0e697a1bdf57ce1c4437be404620671ace88732f873e1b56f9316a5fc3017a6d19fac97e624338753266e1e069f592f9fd9dd321527ac44e357eef425d1acd8f6a269fc7804c00240fd778400dfb53223268705e93d1d2d9cbc5a9e20ef93a0343e7b7d98b21942fffc1a44ef18f74d28d50d15ab4fe8a9310f302016dc7e3a3c778e314b6026e2649f9b72ff957f26e337ce2abf4be21b17d0a86e13084b6966d3d46a961126860ae0f57260713768c3ebed155d895a70f7c845cf20ffa0bd98dc36ea45579902a328d92f169a2d3e925de31cc77403754ecc6ab6b78a641c6881fd6dbc52acda6e914425f49e06de64e3032c733d7eef23a229658f08469ba3d94faf65ea2c0e367f441ef71c48f53475e900f99f26273fae50f8a76b32ba1237e2aaea4df8747567f2cae474f2813a200c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006cdcb2bc891bc8e7dc2721c141e22aebd1cc68bee2eb0d440d969f2d240b1df393234d4376e4371823d8de3ebe1dd516529d2701b1e48475853c6fa2dbf4e222204f7daead8aec874cc3a8c6496ad69b18fe0bba6e97425443f11be1b43795b1dfb0825152751378b33c5739b69529670b6b840626384f654ee1f2ee4bc86a62a18d746963b69ea47fd24bdf6f16310334231b22ff5528322e0f6dc88515ec515e728b969c49615b802db42090e9cefef046749d957a698764c3a1077aea13c127c3460ef29119367f1b7b5d2b6ef5099772d86d3e3b13ce2dd3f87a996d9d62d83cb9f10d6ee6c980e484a2d4910af88cf6b75356947deb64ff1655669262b06cdcb2bc891bc8e7dc2721c141e22aebd1cc68bee2eb0d440d969f2d240b1df393234d4376e4371823d8de3ebe1dd516529d2701b1e48475853c6fa2dbf4e222204f7daead8aec874cc3a8c6496ad69b18fe0bba6e97425443f11be1b43795b1dfb0825152751378b33c5739b69529670b6b840626384f654ee1f2ee4bc86a62a18d746963b69ea47fd24bdf6f16310334231b22ff5528322e0f6dc88515ec515e728b969c49615b802db42090e9cefef046749d957a698764c3a1077aea13c127c3460ef29119367f1b7b5d2b6ef5099772d86d3e3b13ce2dd3f87a996d9d62d83cb9f10d6ee6c980e484a2d4910af88cf6b75356947deb64ff1655669262b3dd898eb4f27ac1aa915e41241e9cb9e7dfa6aa40ec670c9db6d876cbba205a0230e0d4c0be3b2944259e4684ad5d7f2a03d82cc8db2465a6696963bcbfaaf8000126952516235da51347f21aa9d5468e367e06052894a617632e8b655470bf722cf7a8e71781afd80bd44e06f75d9cd051fabef1eb56ce735013f22a170216027ed6d89535bfdc75e6a3c80bcbca7ffeee7449aed06adeb5847d1b3883774e7191e48173ad7bd9baf3f42a98a847dfef3c97d7504754228329c866da60d2c8417163e928dac9a6c52d6971414dfa78bf47fac1f4c37041bd58aac0f1c20a61f0e6b97a6008b4a4ba1bf90ec3b867c42ab64e36a0759c36b55ae1bebc1e9867c3d07e831652d31d15ecea7eeeaaa5102f8858fc858c3d582dbf183706f650c7e176f8c404044654a83c925096c7a5d1498eabe7297bbc035b5043c60fa5bd2443448f0d5d9e0fd38745ec2924fe6751b2793f7547cb8ff0a1da967cd802be71f10b2c2de87787e9c5045c96978dbdbcf348e1959701d4231c6b8e58490ed95232f5934de733e44f0b535c0dd1b963cd2e615c467f03089cf4141b830f6d5952800cdeefb1170aa71e9d8d35c05e625473310be6b993d0eccd0b5bce0ea7472bc1aa3444342e6604c4899aedaf997ba45b59790f3fef020ae2d0ee09c4ae5e59724e2eda2fc149613d8420c94817c05605e88e20278f73b32e2ea37c395d338c80ce6caefd9ef8fb2b950ba9327bbb73aedc50b952b408258098f62b46463ee0b0a3688fd41dce88f5fc612f42c82d5f3a1203b5105105eb6077d7fdb0af8211d07aabc345cbc7996292851e3ef110ba8c44520079d0d3a28bf9a597596cf2c5c371707eb589dd6e3e85c390cc7f3fdc5ce52586ca5b1ede5c3c18fe73367f82a1a7b56ae111245bb216118e85c63881ac59794ea475fb874e7d57205f4ce9a1433ac9eecf169158fae3e4d35efffc2948f0eea1f86caac923b9d15cd1c993393046914ba81c5fd9a17238e718ee8487f89aea34b49dc9ff101e4c9ec800824ff34a8646843eb38b3da2f014ab5caaa11df9af49502cb0fc0d8346358459a467f37c237ef7c127060e3e64a2d5974cc20bf1c43899348553ecf6a0c7b337d7db6066d264d2451aa0d71a98da1187d26a732ea1e2cdd364bfa4974d932938d8c0b1e1fa6b25540fe8563586eef337a9accb7da8a297ec7496a392f23dfe58bc4fb01d83b74f201b41192e935141640ea04df96948462ff3d43bc42f4f5f027b635276d7b26e291d81e3fa7de4f48e43605ff43903471d31a6cb30f4ba311b93fb11ecf2ef9b9f459390798be0281fbf9dae1f6ee5c727f2e2e787abc6a879777183637927b616f3f9be6a3ba61b0b631d5741e9c06386dcc2483b40fcd7598c9f42c5b4250d9b43a606f4229d01bf6ff756e6804f1d1478b53a5e0946fd0d75c4605fbeaf2d29e6eaa6be87cb369a3fd8fe8f18cb08eb22b7555736d2166355af334537d5c03818a18ec52a8a5acdc5c4edb71a1ba52b53e48b8e29545592ad9b600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001203dc2674e79d5c1adaf012d8ce866823eee9729e716a45c6feb0c0d77bba8d507d7c8a83c53b7cbac1a5c277773db16756680f9cb08c88dc6a0d05827716ecf0d6f5630acef688307a2fb197394f5029c10640ce2b61b06b4258b8292e0fdb809b21ea99ebd29842034021fe98da2822a188657ae1d615018c1beac3569c28530e5de513bab2ca1fc0c8230e91c6112cebd4970920d1e541a9a894499271ac611ffcb003711309f97875b54a2ffd20047f6526fd7c48b131feb0882bc2b08d6014b94d0b03c0e037fd54d49b757154c6e1e2574f3d667d92ef2297962f206af305ed94a7d29d613d20f4d05ffceba2933f2ee375ca70eba844337641d13294f14c8d35dd8646f99aa07c358579538dd493cacca879e345965aea1371b9bc3d81e2c3a8fe74b1e7ae40b82f8f681449e251016aa2922175635fc8c8bbb54e12320c2d16d28dbd9037a6d998960d9970b4810f1e0296d679b08f1f288368e5cc92072e4132b277589dca9c2214185ac7105b7bfb5636485b89bc216442c5465861811ffdb83f1ea07c769e91cf6cec621787cbaa503378fbefe9f22f750f16d4f07daf605b85c3465f605de3fc560dd9f74b8d2b79e739661a78f8f49701889dd37c2fa037f9824b3c67dbd8fbcad8c636077c5b4c6dce5ed13992801d0d6a0fb37718dffe3cad3d6ac5b49309f7207a73bca8b41de3877906bb23a2e659c057734595c2223115918ca6fc711c3b5412ae92d95ac24ecdc3638f3c48749a47bb403eb67115640023b7b811586e0d4eb309da3f483dcf5770355065667a7f5ce553be054494c290f52b6e1504703ec1ce887fb3fa9c11d328a0e80a189baa22eea281344600d34c201b2f8df2d0a9ad5f99168476cea9df9e455c7f509c3fb161125030ee59afe36ef1138b88401bb668eddaa9cfbc127055a22f6743adbab0c4717fcbad796dbb9359f2be2623e8bd62fe4b50f2a2b772a16431f8468e3373dc32c78ffd87fdb230a918127f68d586ec1943f033d12a811da98be0e2aa03e4de10521c9b96b8bfdea498264ae4c3ce05ea391e181866187f58325053b88d38141351dfdd69767585239d07980b8ee5dcd950a3920a99a1196ca605ffc34370d973000c8ed1367462eda1c10a9ff1ae056696f73a0841c19f7658013ac85c700080eece13d34b747fdf4045f36dc8454b2bb0e0483bccd27d07816b11c8a78c0c71ad9aa5b5c56464869dd19e72ff7b1cf2d7fe4c7f7dce4a1215a3e60d67d4bf30d9877d8a95b64081d930aef17b3aa642a02ab44076c4cab61c1cae4bfbff75b02fbe8a142f360754baac15cbde6d4de357af32a57b6d97b926e3998295704ee101920297e22fdd4a6d67538ae64974f104da1fd2d6ac8fc12d41445e872818a2618a596e059870ada137d720299e6b41d42bf33e6044bf1658abf3d1984cbd53a3b7f59ba893daf10a91d49eb8eba147106ef63600f1ced6d20451f244090b3108d1ad379adadb283dda6017c2d35caf3faed87293156f2d3f68c4980fdad08269732e6bb3c6b11c1b3e0d485bc2a52751344ab1013b532f8ced8180b954ca70f0653a0500864e22de758e59ad05db50a9624f002ab272ec09bff77d50d4bec1e283b031b0a2dc5271d5b1e3da2b9d908775c2a66aec2b8ea3ef0e5c50c52f6289086ff54a4f806b4ad4b46afb870c505f49a62a3d36ba31ee5d7e4caa7e4461fecfdd89e2d344c47a0872e82957bc176145d694f556d778c95349d470af50708915927061f8af0a4ee4b92e47cf1f1d34b7228d54f124f503d01521f0af7820d707a6fe3ccd0402eb915972c8a94203bc071f0b7b0ecc1f59d30cd169eb9b50cdfda6e7e02b90b52ca5fb0311c536733b2d6a5cb627300fc3c5a11def7ae43248fc740c38515ed4f4d8a31f9dc8b7d69a02af4c4fcac9c55d2701e4c3d79011efc9f426aa0dd70c7b6b87bda00e737271e5438dccca53e66415a66f76be9942af60f171212e5e1066ca18ab24e24ed777780b2350d892560e89aee784f45933a7af4bf073f2da2e7c18f73a11afb6e334b7aa2050447ac0e7acd416cfa2db638019ed67f5a7cfe473697dd83f3cf7aec5bc3ec27b36f60ff10ce8d5e1c63f52052cebdb1dbe86d881df61b562fca6883bd70db0f1c597a914ba473ed8e008639dd33e62f7b68af1ae1162a904a2577561b22080b9a81d685525aaad8078bfb30a65f5cf9d23d3545f470998dec5cca2d8a083f4586a9f4c6869fde0c9fc5033d51e70ecf9397e57f455de7dd90f7d5d4a4b7e88d49099333c77437bbfad4241ecf2164b68de192378e052c030d7ad7187ed1c9ef83f195f70b99e50129479d2a9ffbd015461e9bc2cdc22524b8ca5a1435314b022c0ecdbadd847f8bd5589c21cc0d7abd3314e39e75f1f245345b7b597484c2e44f69531ad02eeec64a7eb03925e2bd19bde8e9d035d0120eada2c15b3e2fc1a62a1e6886cdcdb0eba037462cf166106740b4d710616fe0ba289db45e2e6c589fa09ffa3d16dda3a94539291a12014ffb6dca1da73804ee7ff5086ffdf372bcdf4607f6b58d36a71789af3e1cc8ad8cee85de986a182bea4d1e7cd10a266b7792ca8329ff1e5d9a98149354133b7f5c92ed17927f4705ea8a9299f56c28e178a27a04efd5e82ca970bc9379115ddd63c0dfde101f59f97a31cacc687175712393e612d9655562e3dad1b4422d87a763d08fc90505956c1ef851ba1cfe430fef3e71b6a808d5c8f2f5d583280f89a25e7c8138319073e8bd8d22503d7295890326decb5b464e318945b716b835d209f441aa421bb69755cd2741593a41c70ce28145f072fa595d9a59dabff334c7d936e9f72053d2a39109127964ef79f51f41c7df8c0dd98f221c5c9eb42a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f8612502134016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe03bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a50407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d3351423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200624b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb0bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f8612502134016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe03bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a50407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d3351423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200624b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb364dd1d7f616c318475ba546e39a93b592fb9adb0bdc5703588701952d70c6c806dcffedb22c4e77d8ed497e529531977a2201efff2be98cee73e2ebc342df132f859287782a5823a729fb670fd96cd73301197eb36886861b68a090d7048201240cac1a0ced68c41fd0c96a07e024a58e4ca847421e4e4cfbacebb840ee45f4239a02c7435118984afa548faffe35048df5d477a399c424c4139eac219c9a242b74c3590a0f35f758765491913ad16db15ddd5eadac1c81583754f6fa530e73278b8902951a4d855eb69aee9c32f904eff60bf118c6aec24c379e50e985ae0c272bdadabbddc1ac3ccf91334f41701f87705dde97878f7f2cabe63f29e6270923bb7ed01a12947280d6d2083d8053a8f609e0619ae52fe0908f249bb40877a038783353b6682c0be03a6a4eabe2a540c8f1d3ca1c7a486051eb2f7f3f5001202a8e3a1ab2453c3c22c0044aee640fabf079955a77ebcd900f19cd3daea32a690257c93fa3266ca7c08981f8e5f8a3ce5e56630b1000bdd1f54e29ffcd485c3d2b97b5a258ee74d7cc34a888554b08209943c4b918f9c5ce2458577442151af412bf48750a27700b6145921f53e58dcc112dd364f02772165dadfda42befbdc21ec4d93bc2680a07594f1f334dc7fbc2aef7047a8130c856dbd145dce6bc0c0c191ccfcd60e38646f1facb5682e5511ff1d81efbc9c17a3987c1d31a425c716c2c062993c14526a66c6816af00e13d676dbacdbf9bf4cd249d2299995e64f9341c7220106ca698ff83272c93903b14c5ebbf2eae8c2402a5cd2dcf1f29ba32d931560bc71313f41485d2ad8b5a9e40c7ce84990381abc22d1db36935bb7cf8f220753d53f57ab73e2135d8ca1b2f6caaad1f65428a625af52dad707ad24f72eb2eaa59bd12986c37dbb198ed536e68dc5219142f61d1ccb2cc8d43764993e2102a58a43da0c7a8023d2dc0d85ade6aafe77451869f6c20a5093264c99e6e216103608f300e243cef2bd4208a280162051b125d8405d716b1493bb825700a1ae1393f755fb83127e426147cd3f3d050fea1636b722b10c99b2897e50301f6c60f33f8e70b1cbbf55911d71a2587207b410e10f470adfb8e24772b5caf2e6c05150ae230bfa9e2b58934602d2f76d38c44c09fccb83369eba70f89ee833fb0522c087d49841dfaa84b771a17b36bafc533b7211efc1cbb2513f6d2aabff02a482200b58ab7042e1a043bb6a5f35be67bedf524df28e98b05b8e264088c443fc58839a44e54c2032c59d32e55bf72699eaf7cfebfe80ed2ad364399b903660b523b3e1913c1bf3796167960a3895e2e29f3e18676e00c661b06eab203754283add112e70f348b7264cd53b76912e549013e7205facb8afbffe8cb86f384460d4abe0052fe5aada094356536e68e161b4fca5197ce9d9d531c08bd9f0b9522d2424b3f398ad84b1b54473bb3314fb43a0f2e12c35a69349885faebfd55f5f3e2992f18a7df0a65b284a4c68040a721235129fe5f7ebb44bfc1238aecb6a15f87d48900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001279ac51fe6977e79246cbd491cb6decbf3c71673ff4ff0a44c7dc54a4c61681a11a035c6d26ecec11861e42f464146f77c60d77e0b0549b591351c059a7a5668115f69628c211df986ca975cd5d1f39f0716e78f2c422b4f0548b6774dd10a2b1908e5e9047a07e7b0258a2ee932f3b2e3e8eedd3e4484d3d1de8753f340cb3939bf62ffdab41afe8ed2ebea9c42a9e6b777bd5fde33595c5a7f4c002a9daa1c1b8b1fdd7624bd4aacb89a8c38fba1dcc09bfc1e38e0f31ec9e5eea419b69d962929446112b4f8bc8c7e567fc53cfb405617469c1c7d1b5019d8c597284ac7ff234f87e757cd305c61823f784bbc5b9462dbff432dbd816a52c14670b89111ca352897dc1648d148cf27367e3db50bba2eb303980a148e00dce97ce4e41cc9e71cf64059ca985e9eabf4fbb499ca0b52adbc24d65c211587b11bbc4a355345121b5160a6cd8bfdf9930aa6f295e2fa46ff5f9d314b31a009520caea6545b408a03bc994fd1d377a1bf167daba05df6225cf736f2e9216a0d5671305fa59219230a92b9a572369462c904f2874fc0928e61bc3a40b8f80468074c3d437ee27b9d30c0c7ee9c71cb1b81b48f40966d4d08749c1264d51bcdcc6f8bded7d4eb092727d8eb366a14cb3dcadd58b1a42022acb2a616a992a6dd85dd503a70aee954e827905dd5530ce68b867d905a16197bd12f5892c72b36271edd77068dd818b3112c5b8817feba91494b9b8cf98f97d3284601b29ab32c4924633196238b4e7441220bc896e41a349b968e2d2b43590c4bf889ba1d0fa21f4b6a4e76416fedc26139fc6695b2d7241d016fba45339c01bd6dcbbbbd0e4f7d1c8c2f562e44596ab02a9e7c372771ab8264717cc6aef0011400488810919af8356fe717d9ba63d0681298100d8890ae189e715f6b48328e46184ac1dae5562236cdc28fc6cf2e3ee21619ea4fda564946bcd252d693ad06c46ca52f65dbfff55347f910c6e2d60d9017ca4bb739e8f994f773a8d8fb7acd2f3d500891cac27c73f45cf6203a8db48a245a4bef4cf29ccc0d4f345887103f41dd73d792ad013f2c5d88cfcd9a2ff53c3dc6d4b0a24481b18b72f3457e58f603fa632af6d8c88c1819e66664d05b898607b5c8d94e5a5beb4834b1284ca7c43305191f930b4371df5d38c956e73bd9bf096e513f8a2398df51c95f60d4217f2ed220abc49abb97abbbef9402238de38b08f783167b9909bd0710c126c3b53b4151ccbe58a71feafbd5fbde3a149b710037c1bcd8f36a2af2b612f411835c1ab62ae489a301a49b0d3ec33604075b5b8f0e93771db14bb712a372af95202e4b7c789bdd12fc7e1626f54732b6a22cdd87125744be3f284e935e9346d0434a24f4e40725324e92415774799a0ab67a22431b572037ef811c8351dc41242b5bf341418f309bf6bd926a7492085b854440632a4750394c8a576efd1d345d8a6545ff6f7e650974a18e5b4ec7307aca4b79a13f388c1855da921ba0b4ddef18d16af37fc1b763feda6ed92c6a876c7a1ebc053733fb15bb3c5f2fb68e41995efc03f957af31f6ba21250906afaa0456cb88ad097c2160539b5147d754a2ee5b0f00acf82a0a0f84d72da972dd428dc0f2b9413f0585355f3c07000dcf2c8928908d58664beb8b20b9ab7fcb5280be60843bff3b9992e3149c2d2d22ccf6dc88801828c29eada97c4dcdf00df035b6a4403c463c9ddaadcd83ea28634dabea44633a92db225307af1ad1bce7c43dc3f8b7ef4639c959c1de6c3825923d1890c9cb5773bae98198213e444a6d78eb9c4256e17b0d8f11d0d4b9720d42378776b03228123b907aa567195605b8182a3beb51413a0b55f76181b2e623b6130d49c9daefb4fb10632e13e93f704add9dd194f3322305a451362d63cb894a653aea5db7cf2ece3d95ccea94f418dcce8eea6b96a87b00f43199c03370baeba22df2989dbfaf8404057734f135143cbbff3e2445e94f3e43a8a7a4b3dec1c2b5cfbca32d133962c53f874e81c1a8cced3d77dcc6022c374953ef80914a10ec44f60b4da9646497344ba6354bd93e84e9e65a9cf8220410d1b4c0224ef136dc0525cb569543108102d2cede474319ff677fd071af285d31f8c4d12a6528a1828cf806d11f7c2aa1792ffbe3173230a4e26f47ddea8b4028a3c98a48a72e2c2d15ccaefc78ae1475543c52b24034101558fce82b87483f1fa895be62a808db314f794e4f328c207adeed199e703ff421a01562f3318614125b98f6509c8dffdfa721a5e64a76a5ed548b397711274a1cb36b2878aac99c18a4ceb65226bc92d30447cc9570114d2ef34d9a01fb4af1059ca284653d7afd2295a31c67f075a822d42e50a3d27b564b6644c4579cbeb7eb295aa6fe9c03741078b1e3994cc1005a18e593c076ffc29a3f080e529bfd80c779904b081100b22d64612a2724eacdbfbdddf27dbffd0a78811d8fabaefe0d337f4d655f32e33935e11c67a57248fc56828fc95b6959198e0220d5cd286bd44c785d2dc1650bf90eff2dfbe7c420d76a69bef435d12d141bf7ddf8f71e4dd647967c5ccc3b630f05c34c1edae5230d6029f3d2da17273dc5cf314b4aad2e71dbc7db141326a79a04d99dbfe68ebc5a55908f4744dd341bc302e4b7977e26332d596104d9af772638ffeb85936e1a87bbb90fb3ad069afb7368db4672109608a59a2535b5ed26f9303febc302aa4f0d59010d66773057583af994c370512e53c17a8b44d9961f452cf722fffb7a73cb0481406abfad35b37c14252274c9396e60bc19e265bebf841ca43b0a8f678877e5e0b53ca555524afecbe5879bea85e955c2eee7043f631e22191bf604d8f59a16fd2818b9b4c280cd33e7ea3f4263d499947fbca66491c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029398a923f6b9622c46dd7a893ed2decd088dc5f3e3aba22bb4ed203fb7ff6b916c6756dc09469dd3b9228576c12d21351bdbc9ccb123ef8ddde5ee9048009480e1fb4db3d19eeadd625364ae3a1e59fabd882e81b3eb75add02874ce97fd19a31e04b24c2e6115229dac9b51c5e1a60766e1613ee0e41c0bc2aa9a016802e67069e88483181a9652eba0f7672297c1e38f3f58c7eec9baab7df73938f7f1801396177b7ce7e569ad145f0898dd683e1e952a36f8a605d70e14dbd597080e8002118a968f7884ef9e9a24d503acf6c971cc3cbbe7a9f0a55975d41e1cd7b78051ee756970877b106165db2afc53093690582cd3d8eadeec601cfef0b328487fc29398a923f6b9622c46dd7a893ed2decd088dc5f3e3aba22bb4ed203fb7ff6b916c6756dc09469dd3b9228576c12d21351bdbc9ccb123ef8ddde5ee9048009480e1fb4db3d19eeadd625364ae3a1e59fabd882e81b3eb75add02874ce97fd19a31e04b24c2e6115229dac9b51c5e1a60766e1613ee0e41c0bc2aa9a016802e67069e88483181a9652eba0f7672297c1e38f3f58c7eec9baab7df73938f7f1801396177b7ce7e569ad145f0898dd683e1e952a36f8a605d70e14dbd597080e8002118a968f7884ef9e9a24d503acf6c971cc3cbbe7a9f0a55975d41e1cd7b78051ee756970877b106165db2afc53093690582cd3d8eadeec601cfef0b328487fc252752664382dd865b1ae55faa2227a51a985f35abf0520c8cf85284f7ad4b3b24bee70945042598f1d21d861352460f75d4ee6438c090e8b3cea7787f43b4e82b7c15a5c8a5dccaf33e75bd7716ebd06f3bdb7c105e2ab83a46622e41f92b3b2c760185232808422bd675dc68c88fa2fa25aa541c347b293e6a01b193ad38392455588ab47add784ef27242d91471188be09cc4d356b64cfafd8d928c21861f20c5f2e30ccda4c7f5b6b6795379fe03b5dc79535ef1b06c8275ff4fbb414c6c0872fd22a660ab90e0a109ae9b139aae8cb880781eb76d8c451d85b8678bba731a1429e53c83201aebd92a0b256f237b4dec521173c3f712331b3aa88da6222114880ce347ba22588330d12a50eeb1929550112b4ac37c63fedfa80be66e25fe1d321e9e20ea5337a0560ae3023fab95e028512fdc8905d45e52a543cfdaad25061cae4bd45ee1105c92beb7acdfe1f41b190518005d055d7ead62ff84c951eb25dfb6fa2fe701d72b1fa28d43d85e6f3b656d6528d694b9275d282da3dd10b737a5100b48c9d27f6b5686cf51c5671c660627b0e6724df3c5453a0b9c9f105e1fb09c035d86c696efc3d03849372ce30a03b172d833c18f03e35b04caee17b50954b83d558f26aa23b7c4d677d30b2b5d3964169b51cff278cd208dfc4ebffd16ab0126dfddee30bcc97c066e2d6991dbf5d8fbfcebbe6b116a351225bb25f4090fc84cbec8466a529843d453a07d40ffbd6f5428d097922e6c928edab9cc8e258d45cfe16fa4142d299991e85d52b826ceb0f868b80e25914155c9118078ee256b4f475b72060bc66d3b790dd319e0c8a8e86bfe2d67c8f89025aedf66020b13ae8dcec521ad97f89b3785b5cbc7f3c40e99466640e995a1e4a9d340a78435215ec42182b9d814392d3e6ffd1c8db7378f937280f571a5f1d33e76554b50e137b5f544bbfea51b535ff6f7415f18c8d9d0840b8bd8f565593c503d24f51b363c4f7507c2b642805261ec3d880f4a459f76a35546452b5158c8ca9aa167be8c3927e6596a483742a3cf2aa67a3bd5ca5004182e8c501a384c108589ba5ce4ff187f4aaf2fd2baa8b81e5bf0fc3bf652999a5b6876b313a8a3b872083b73e66011d6e6d4e72ac0101d8fec30c4e52ef4505430e49a795dc8337800cd22231835037927cf0a115c4ad5a09d5784509e0514d552ec3127593616e63a86554297353d2c8dad703dbd9f2316eb0b83db8734061b356d2951fb35c41d46ec279427e11be450cb0ec6654cad148266d2f3a17332fde592be851495ed4ba44d183f347a227f9ba27536ab2a11ce5eaa8ea67eb16fa34a407f490f0d3a22246cb3e4911f0f99a98713a2e33a2f6ee24eaf5bd609a34ab3f97c7e046eb7620b1173664d612e038b641eaa412eed4f3fe7c0f9b71472ea03d607d8ae8595c1789a22f00792090ae7e31e8c906c8b2bbff72e41f6021e983011ede3b95da1f3c7a7b793969c26e9245f0f63222d0ba582111cc65abc2d6d600ac0c8834de3c51f98197535a100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001153194c7c73e09a18867564fc7b033cd3f1a67f725c595e82a9f5174185d62d41dfc5455a4f0334cb71286820264e11b36ea75414524b7efdc9ea413146a3ce91521e50c2ad4a2a2b1257b18e0c46155406868102065ac4c67683e8d1d61fbf0226bc7eb4caf9feb75fe186756e171f51c6de5f1127939cebebf043b4021755801593c6d94ae538217b74474a6d878b8933df28e2e4dc7fb4dea14db526bb305026cfcb29612ad8a1fdfd448d19033d8863e26a2a9a7267cf177210da7056b5331504e4bce0cb1c22c7d94d7364ce140d531047d9c2f8e3f8ac7aba99d9f7007073c97eb65595ffe07e72a99bded1db1d45421b9a3397869704f232cf792684e1c37c29b43bf1d60b2c5d5742d95c746e8d1dfe8f8cbed0ccaf6f7b0157d587411335c366bd8bca46e28cf53ce9aac8c67da6daea1c42cc626f9e4adacb71ff8367438242ce032f0166010b886425cb1983c34a22adec592cad21e845d6c913e332a12777687ba875bb784ad239f12f963fc1d887f220c1b03024d6d2519c5ed00876fc4dbe4796f054132cc32666f479c5bc7b42ed4da0eb668c1da0e1f694306492b7b4c0b6f9bd849b849069c340368fc5eefe96eb3770167373b00a87da233060dc249aca781c2c393eb98958deca6d4f9c50f3707916f5c32fad70e7bd73011e08ab5edc0880e46795f6d38f9db034e47fdef62a886e5cc0dfd610e0cc4289fb7237c8c3ebfeecef7a6571747888667e291450ef8dc52c7a2bf9d526d891653170306bd56f1b1f949e87532fab332ee233350d8cc96c4fee49322fca4ed31440af53c0ac52ad6b372c38088e44af70a764f42dcaf55293dcd05167987503d585644d8634d2523409e89a737e1c78051788bb9cb4061a865dd66744c221c0e608f5aa18b05528d74e956617f6f02759fe02d7ae8fbfe0d6a5a023bd63e21236c7f3dc749cb3f136145ad9bb7c887f415bd1de8e573814bc5a5cdd2d3f69e3836c105bfa16ab31aea62871264e31346410b224098f9c8ea7618698b897bfd090b5d380bc9e7c4ccec383cdfb3f8a509eecc5aae9d01b34136a9b8c5860b5b008c6faf1e3c1ce67974734b3595c9e41031b13eace5ca20140b5f4472b3feb338755376b8752ccec9655e9ccfa5e3773d4953e41500d7c74fc8d51bdf90e0f61fc57cfd9a6c6c5750918d06a08dced7a1097651f38d7142fe0de8bcfb2c1fc839d46e81fee22d7734b8bfe458a4bdb949cc661817d16760d0ca187524bf37e532258a994b2699251bcd05731b336a21cafab4a337cd92cb18e5a007695e3c293ae150c1cda8ca8ed9e3b1365f27f992416fd1c9741316e75dacbbb6fd415ff42738876e59cc891d038cd68059ac9a0195183f6d436b38695ae80e7ab8360a3315dbe2942e0a53883888bb6460a8ec2fe8fe307345e3e4eb841c388445481b883816f24f7b60904a5276a43449bcaf8514db2bde08da31c45763c829abcd3cdd10b6f11d666b5b60801c7c2e1a6a22cb4a19428f5ed0e710c0e59cbd81f7b40a3759b19f730efe705cee707c5c869fa76b4a41a888038467839b30802c8a13691c16aba0c68c0d66615fa4359856c5f522acec0cd54a6cf7b614b0327d525644133f48a0b7b38170e20918c7f889aafa768aeeedec66e4d7e0e52fb6235d95a529d1bfcc0c357c155a61248ad5f315c4deca359e0dc8cd5fb733d110f8b3109e19ec560a3e40e6c7abcb0adcaeb2b117b4856f24cd197b884f77a375e31746e93a8cbca469b19d295d205e88aea7827e51fadcad434530b958174e038cb58018224f030bb3d529154652587e21da3207ff4bf366e374170b6b4abc8462557560203123e6dfb6a6ed4ac109d4801ff114f3b3775b8b7a77ba49b4bb3091e78eb504e32bd44b75281c23e9314d47609975032910abbc70f72580bf395842a7a9cf1238c5960fa6113a1872f6f179ef40a267ca65928cba37fbabe8b6531d98add8016d0835675ef0b279d34918430e33c21112f749c8d8103a16d931e56521f331113d25e004b17cdb737aff495f17751a61abb6f10c6820da9ef63b8b1874def91b8f68897d043305e01ec95972f28bfd97202305decf7ce275f8f3c4603efb3a3e90c560d6f4289a0d1ca7123d0e28d8087e310b8e44d29e582ef0696d3b09802a446bca55dc28919d4f08db67e6b8b1ce96969035e2dbe1a8e02caec59a4e032af1807179125ed8209970015995a0dc68f0bc19f9d51c95a0142d4203d9ca0b05328f98bffc0c46102172e277dc862e928a4772681e6ef8954f5f0d541ee243312de0101fa75feb9feb45c7d5601dd1af9359c0da645f16fd583ebc97526b483459ed9f40a0d340c6f5b083b49d7f38a2e2cc1e53b2981dd284117b8e8e2a5701fac178b97c5b6c8cd0388ee2690c3bdf95d0e41d5d7a6b3b0e7552b08de9c434bc625b3fb64869adcb57dcab0e8d1546d0a88e611575acd722b4070d134bfb373c3b95cea70a3e141404707fc3eacc496864a3fbc3fe4d2ad78cc2d54924d917916dc09522964b401865b43072966795b6d4004d9ca85f9e8a6575a62e21150015086b3e97f533fe6c86104c346fc970c69ad033839f289832938e19d9762f3202cde72556e3821e7bbc0b1ecc10ed1576fc03c4ca5003f67691aaba2cc4e63d130b5fd9e04b842c0e6c58501702ce55d29943ae90f8ded52a5a26ac83775333bf3e4eb463e1314f47a2c3dfc62a3476bc8f596875740c4a40168a062ab13a224709f040386cadc69b7d56c2a8f6786a96f611b73a5dc3b9cabfeee758f85416282d4522bc2abcd700b0996ca1cf20ba6aa91664ecf6d3447deff2ee5bfc25053010ee6d36b7f6a25bf81e075abe956b2a550890ada77fbafc9e4e675bd45500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014dd5cd9af085b595f0bf8fc0ae9005a913016acd4e3b90fa90e1e94044e87c22b22a32650f7a4a6a0f40703f516ffa59116824f3469400bf01f1258fbb1783f2852d0406b29c8bedb3bdcec368d01c4b3a9d8641f25a432b41967f71588a6c917ad2fbf94d6374124c42313c972fe3b6e9cc097ea2754e8e513c8f5ea775938099e114217d0ebba482b509d10c108d71b7d6f007fd549aab8f7750c6bab41ea3661eebde82f1445b7d4af62ef3ef72906c929fb8977af70e035bbe09454be173016564a77149aa368d8931153c52c3389732b027f2a70559cd5493e1a5849920fe9a9b588eb655c97276ceeac3ad3cc98d36df98a2288c5fc57e7aee5a7b66f14dd5cd9af085b595f0bf8fc0ae9005a913016acd4e3b90fa90e1e94044e87c22b22a32650f7a4a6a0f40703f516ffa59116824f3469400bf01f1258fbb1783f2852d0406b29c8bedb3bdcec368d01c4b3a9d8641f25a432b41967f71588a6c917ad2fbf94d6374124c42313c972fe3b6e9cc097ea2754e8e513c8f5ea775938099e114217d0ebba482b509d10c108d71b7d6f007fd549aab8f7750c6bab41ea3661eebde82f1445b7d4af62ef3ef72906c929fb8977af70e035bbe09454be173016564a77149aa368d8931153c52c3389732b027f2a70559cd5493e1a5849920fe9a9b588eb655c97276ceeac3ad3cc98d36df98a2288c5fc57e7aee5a7b66f01d897ca49c170227ba0dfa932440598cdeb86e669185a8a6fc3c7d2681abf5304e03f57d56ffcaaa57b51437044599eb849041d11768a2b708d92282ca9ace90c9fee924a3f838a2a5424c9a6caf8c2b20c19023a1f92fe9b50e6ae207ea8cc321bf06026de147919c6601973d2642b290b34354f5212b013eea7fa29a91ec81294c350579394b89de4552c4fcb8ff4f28051dcaecb11ed822e1e97473cf7230caf76d609cea4c16f0b799acfff5a4b5243c89f05ee6a7f747df1ed6cd008bc089404e6c13bdee3c25e2c68008ad1694e915752082a735ee2784f188e09f16f0b0675976336586b034307cde35bb8dab08c56bc45f3b809ec8523aa8d1691af030d7709e611e529741f7261d32884dcf7802947bd36034aa642f40c2e56f43d119bf74c188702430c962b9e8ea67078324fdac2caf928a8158c5d0dd414555117292805dd6d58ca189aa9773c2fb096a1d6f857404801d0818aa53627840bb93850bd9d789405c0e53ec667a504953837eb9e9af34e9f485dd170e010c2290a23f91e047a329785f6c33e82bba411195ba16264d6bd2d01d65954fecc55c2fb094bf9779777395bc60974ca0a9c4d0abe8a57f6fa7f8f3266e25e956639b15d13f481294c73a3249c5bc379b10cd107d14704d22bf96efc9b4bb5eb941633993eacf206c4afd6a118df3e4fcd714d15256bdc904ff6f3d3cd73e3c2c6ebfad5071095387239b8a9d6b16ba79bd4fd7a61babf37173bea323bf4073e3ecbc55f2ae50d6d2ac1ecbb38ff200943efecc8931f4f56ef971e61b0a2c80ca52cc89511a0d81808ffc52166425216fb99a1286489edda1326b1fb2902c2279daf90b10f79ee9dac1689c5bb57d960e2cb76a486c580f5eef8fe1ed07066f694e679cd21890c3b75ea3f4fef50d04375d4b2a7e8a29ed0ab56f12a93ab84e86ba60250102d008ad0f5ccb852ff0e4d903056f27578af81967e2b3e9b9fbd44bb8341790fdc2cd1445b9bc6d8ce4d094992a5b0f2dcbe38748d6ab8b885e56054aea3e4259d3bed06d1d2f426a50059e7d8fd69bcbb4722f083f1941cfa402ebc15b77d2f704fda3ea8e568da0bd67cc2e9cbaafb6e3b337d4ee518dded174831375ca527067b42c1f9715d51c821bf92c14cb37112fa095990af1de5d75e5cd33ebb770f5b3e693b3aba9f1b76bfda6e3d25f198d8b7c9ef156fcea37afa30af2babdc3d66048a3d184131daf6f94112500aca07c65c96c6e7da60af2c8f9a6abb7873310c96cfba528e14a0c2fe587f16b9023910bf0abe1c6b0c191015b09a0c49da27eec22c96ad8e9530a4df5f3bc79329157802868cbb8e92be40212f422fcd2f1a6ebe8e7311e92eda46c93e950b998f94cd511642a4848b25fb5451d1f3f8c43206ce72e93539dfd6303064336dba4b8557ca684721a6a3e11021cc50dbbf1815370dad23880e9e616e518fccf1bee1fd3c28b9c6fc996da309345838f4b35214fa61b7f78659b1d63a09f3fcf30ce02216a70723ab26f1f4df22cd50f1a422000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010259c3dbf5f37ba98eed791b0502345c92598ebe13d9f8635f5e3ba90e5b8d5708580e14d31d0ee4239b2545ec5401ad874b488ced974c10c15bf12999b0d2fd1e4d4980f75a5db3ea34cd896a1e77e26dcc3b8728afb43ea382133b23c8b8810dd3617af0a9ecb8de4bbbba6d86fe5662e29e49631313608f2fd037b4b1e2f4335a79a9be627f81e5d77299c6a0d05957601a83d041203e0e4df2f774b100620e577a1063b4ed2a8f3fa1c21d4eba617612619b12ad96bf37c37c5f5ab0153909801fac665236947e2cbf1570d8d421645d7b56710ac1f8348ca6ea582e16493a44f38ceca8194a40f407f593566dd3769e0b2680cf1a6c79db14277a98178c0cd2bd49507231a7c37e64ed4917b21b3fce93a72fae94911d53f51a88449ec60fd31425c1f3c42c6cb950b72ce8805c729fdec242c387d8ecea6d12459fc11d304bc171cf44c9fdf20aa8b1cbe60bfffa164461a88416e3a6f572f92f28d2423ff26a37283b4ed4ade5626d68a04a9f94629a9f2cddbff8cfb0a42ed8105c691b0b72f71d900f3a2da3fb3ed1ab18b143c4544b6abcedcfd2b49b09d6fa35be267de9c0f53bdb92a7a68f9787a3660f5030b0617e0c6aa9a115c033d21eafad29b665a8ddaa7c6684bd483e832007e36b4c9b6b12676f0e8c627ca14b088c592e13d24eb9c6f27b11d83ffda7438f1636aa2b252753b7f1e5b75cd07527b2931d34b2ce955523c78f20eaae106c4a4c93503920e9b7d1665fccc8820755dfd8389e154a6031eab78d43885bbc30dece89186b00a51f782eeb9120d23a451d1b12122517d4bcae79cb130dd6b8f46fb46aeec11be9cf2e1edf342c5270526a56256c46f2174f547996edc606fb116068b4e221857e5e2469828c721ff614ead5035ef1207906545d45e1624d4cb80363374fe005b70e66822f0aa6793dfce47d3da209d48f43505a8f591a03de60263837dc308a358c46b802bb710de825c4e91bd2cc16292e11a2261d0e8cee9f720e79912adc429803d2936d2f6ddee654f50cbbd66be1b75a9a78435f422ea1e47739e3b6ebb237742fa3bc95cc6ace4d512cec4e66f0dcf19144cefae29a3bd3627b6c11d59fb86bc0e1a170c03ba61f0d125157ee5dacb208bc2911f90f9475689f3093ce50ca68357631ad4baacbdcc61e363f68eca44bf98aa81543dfa7d69ef46cf7533d89a24dd0d0277b1e266293208676a6e4bd34bf32cd6bf38f68733ee3d980779a7764fc39d71e3b3ff6236131e57afa20ec75815357339935c704c8ea2c04c06f1dd72786a92eff6b55ed6d2714d886d46b905a342706467ddf9e25444b2e6304f7ba4fce4bfc97b815e472334d6d4ff6c5c9e8e63f6fc2b294f214d63c54e03cb358aa7990254e7f800fbe0db9d6e9e1226298cbfdf7ebfc53e115f1b176c7702c2c9a5fab815a1371764325885362127c85f9f727a6d974e77062127b8e8cb3f86042eaa739b79f831679392dbd17740444ad8a091681ab86864c1b949c6f2c09f714d57a12b4179fcd4d0ed97c2d7e765e2970df57c2723fb313a81eb2649e275052ab86f270508b134613a29f1c6b96831942c4dde20e5b7d0957a1a6382699dae137e8973e8c1573052d15333e53b1ee1855dcbab8b30e56d7dda784642317432e8eded5aa263a2fdd27fdefcca0952c2d4ece088b4daf98be09cfef514ef99a403fc08b74e05bba3a2311f90494fe9244c1aaada12c9ba191d0e73ae34db77ebee9785d0bef9373783d41af2302c1000cc29019778ea717fde95a80f739f722a4c5833336f0b9cc010e7e21e5af0e8f8c8a754787c5a46fca83f68cfde4eeca41653e6e89a7d7222c0a0579f3f9c7976c4bf6e163953223490c6f149802c687fda2a009d82e77522c1a2f3ae34fd2b8c0e86aad01e6bc469b13e033744fbaac2120ec93c546c0c0f23f89c071ab2ec19025035a92f6b45f770092be3f7472c275e38183d2a05581c71da37298746cb0e9b3adab8fcc28c286a6817e4d36f313799f8b63be34678dcb0f1d6933642d877ef5498e425721a44e0746594d7a96690497968b3d9f7c722117e23819e9a9dca9eea73198fa5507ce2624835004719aa84d84a4f3a98709200c25249563e6a0d40761638a0cfc6a9c22bb55c3cd337e7126b9c37c59af023c11f92cf32f23b00fc452d2a563277799d6328df862a826fb7854a171356e434f23fef2000b383e6fb8e6772f1d07d8878893807f340bf11e45d4aeda3678ade715066e1bdbe5d2dd70b4c06dde61cc8725aabaad64f7fbfccfa6d35b52cd13920213f8cd2d5a799ed40af9d9de733a4a40ef88c21c5b984e7855914bc28065b9183564269d7105b9bec427e8106dd022a64e7418b19cb9dcffafbe37dbdaefcf1d7cde3c4fc1f4448cb4e84a7b9284256010a8de78442411702648960bad78e534eacc163f1f544e2f5846aadd7ff9b45863fd6b68ae08395fb9e5ad2eb7c31f0b0a66baee6ff941d341aeeb04ae0174e5e9e8b4d2c060d43c0b75939552ad180a4bb332168bfd5fccdcda37df908a48d6292b326ff75392a81dace6cc0072b11a3406939063a7930bbaf7644a772c01c4d841ae842ae540ddb23ff092989cb91b4a5e523794db59fa932d1df93a912ed1535de789c49c3f6e1de616b599ac0b3d4e4678f8040bf1faf172ffaa036c3b43855d6615befc3725db006adb4644ef22620937a827eb59f0d943fca61d13275e102ff568f04ff734f6e5930ea6f79d1b6d6be62e438ca6eb2d03d62583a835c1da2f6863b7fdb9b3702fc5d724bb500d814c7103904cae83a57a81667daf73756fe3b75d440566f43a964cf09ea5d513d4fbb3192fa27759106743e5ef718ccd043f3dc9de6c9758006ef562caa4db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000269cebc0ab93f0bdd0b87b03839a953e2d8554d16cfc71c07e529a62a2426f961963143f546c0f422f4784fc7c656ac1f4c1442a9c50875b1ada968a5dbd906b01109ac359e3b3b5139a67119204ea367cc6dd2305074d6fac1571262b4c2deb3eef653ca61c4c4aec6598ee6dfb15c9a57fbbd90445ababed17bfc6d4b3d216055305d0c172828962040357da1893106fe251af1924832e5c6b35bed87ce5973aacfa2f3e8d7d769dfbfca825e76cefb264474cf02875ed3cc1fb2e27831a6a1a9f1d13c73c8caeea1410b7427adf522f6b986b7db68fe7ce180cba3a707bf32560e2ec38c3735115ebef48bd8520adf2db00908b966933cb152432c58f840e269cebc0ab93f0bdd0b87b03839a953e2d8554d16cfc71c07e529a62a2426f961963143f546c0f422f4784fc7c656ac1f4c1442a9c50875b1ada968a5dbd906b01109ac359e3b3b5139a67119204ea367cc6dd2305074d6fac1571262b4c2deb3eef653ca61c4c4aec6598ee6dfb15c9a57fbbd90445ababed17bfc6d4b3d216055305d0c172828962040357da1893106fe251af1924832e5c6b35bed87ce5973aacfa2f3e8d7d769dfbfca825e76cefb264474cf02875ed3cc1fb2e27831a6a1a9f1d13c73c8caeea1410b7427adf522f6b986b7db68fe7ce180cba3a707bf32560e2ec38c3735115ebef48bd8520adf2db00908b966933cb152432c58f840e3e056b62482ec164317a082597b95eb3036ebca89c47b4f62b61531643d003980378da33395d3f538e17c31d8c0e8c73ad09f8e3a9b487234e7b729f80b7fb971aa4a4e2733a797f48acdad4a4175d5a42805a1f77e79763002302930cb831db3889e26b1f2f60dac82c81667d2a4f16443adc2ed971f1d68e0c88f558ed965c2e4ca0de8458c0269f05177cc73e914d3dcdaa4aa1dd60f9c3616928a72e9b223a464924d178229f377b24aa691dbbe33e10ec91ceb78ec66cc78081d2b8e4901c9a62042063b45603dcf26fae475c9a70ba5c6af9af8b46048fb0587993f72007371f9f879c545ab862d96aedbff32baec9531e639c3fed6343e940e98961643f5de546367fc547852098633df156ae4adb21e0b6165e7eeb67f807addfd72c24af31dea97793d80713e270b3392521581cc72e976a163d82371dbc659492c0159023d50c2e14c07a871255d2f960e7f39d8496b87f76bd526a9b16a9328cb43699a43ea795e91e8fb99f74fa4b57cba7bf4409781d29099ae19bf773587ebc3d1c5307bcccde9eea2429208d25655de7ec83338133f39a0572b88df19c3ccc3ee6d77353743a85b64e640f1648f0639168355da93666e989e72e028b1deb0111c5625db9684648d54511060730a598bdc9039fc65ee42a4604e65c83e014d61c4869fff4e615b0fb4da13b0865e9e339901e17b94911009416933d6f08f424267e5c4284b6e402e1564a1a67889b42656c1deb1b616ab9587f5852a8c0c8ed0194c562661db9b2b3d722c6cc29212854ac9443148dbad4b684232b9739a37f1355f6cc2f635fa7adf3fc6b388040f4550b50dd3e211b8eb2fef593548e4d321a84a05434ee3c4ab6333006b4f42fa71cf5aa1a339d2571645140a03bcbb5e021dde47e8d8436f3107139d9926e67b1c818cf4a50a9410aaf4ff257a0bdf1f92395f173f764a1c44dc358d94982fc31adcd993b3b26addff0ec61a4353a1da537634a1f2bc23ba6218d190efa9da85a57b831201a26b2aa88d8756f085913850fe27a8207c6770100118a41ffd02b78b269ad368d8fc1a2cffcff4deb59808333fa533434e267a67172796190f0d6cca0e844971f89e63d4bb85608254b822b12f75790c186f3950145c9c76e7a4408184c24c529e107ba3bd9e6c009afbc5b21b7a76cd47487bf15e321ca07f28a85d14a8c526fee11a077de4255145197dd3542b2b8d94f5812f8cebf177e4f0e2c70c85e4f630761899ac6da0b2ba831a90dd71877a69072cb1e1da8c03a6d65f931d3a321f00af080a0c3f20c7823d23429cf64cde80c90dab86166c5683e52c4b7936aa11c970d6d665b668002f0e02a0688dde5c699c9eb06afc355f209bd64ffa9e47b4e5835273c85b13ec1af2da438e3be9edfa8014e83395868ce8dbce967c61c1175c31662f7dce939a28e3440234ec98c7f6d3aa8fe849eaba5fe4783577b6f36f87028355fbecb3651d9573d1ad10458cd24e8d2d200659c55b1f9f15bec9d595f5310d89e8192a4b8f4e53100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001008353fe56a4510fad79fd1eb29de4909bcb194fa71f4abb95f1f964f8a2d99534e8e4a548454da965db620e4636282ad363b0df6a550de9b230521d654901c509133715427b98e7965ed4979365829e69355b273c6bdba7aed8f94a28197ca91f2595ca9924a1b3289b0aac384f713ba0df74f8705cae28133622632441d1dd3968cd7259e2e6dd0f38400c4086eecb36d914072963354d6e25426e34d762493e87f9c62f2a728179edb3efe8f82f6042feb1008d8e8097a377e77ce1d2b7030e246a47e6f9ace14d925a75cdb8a4391e6541e9bea1eb7c0247986758f9f87d3d9621b80392730cb02c26e38311d7e807dc1a52ea2b0191239f3b591ce3338e2f11f1b7a941dac41bcf66089558453ebf4af66760dbda9686631a6d1c6b207629fe6d49f3dd525ffd3d7ae487490d9de82377bf815a007344b0d54e12ad83d41348e49563287ab2d349ae873735e4f492b791a1d060e54c653a3dca6a0d6a02132873eb0d6f1d93e367295e4554a07c7ec2571626cdc2720b4625cb8267a6780f69a9c3be82e185a62ed94c47b47e771730b4419c54e39116ecd8b32befedad23e24d7b5c8048eccface7c9c6e3300002c4516f16c161380a80d23a0de1d14809daa58df5c899883993e2eeb1bf19ac4fc334ff85103d4593631db1d5bf8e623363c9ab383cb034928b4953440d805aae9f9feaef146a6180cdd9fe806353b5154ab0e82e1c087f645ae203e6dd1f8626264a0644015163b7637bdb9c6b114927cb30796f7ee7e08c4dd6d6c163c44e4cfc1ca4ad3c64d06651934e226554102c526456026bbf507e005eba86b66685fcbbe3f186ae5b175f7c1436f1bab9c1086993608cba24086b72e2a373188be357e1d961de2a9a7bcb97a134292f12c728c3933a92bcee945cbbac034d0f5a4bc62ecf04763a522fc92a9ba5a3bc9acc245a739c341bc8bd86d8780cb8efe6a25facb6dcbfdead2b2c72aa09e937191e13983a780fcdf4beca5578b8113669102d2ad65a33e571a854a52613b966ba8d2bfcafc0ea394338e2eaaa5f6deb8a210adfb97e37d748e8f7abf77ffe31c47521882f2aa98725b611a659cc49a9ac3dbd9bb60437edb56fb33912cfb358d4d5118b30c61f0b7d555f45f9a3b2dc7945a7b9536ab2d0d697a23553334e2a4d2a37a9b245a9621bee1561bd537aac0cf1f718e053b0d520ca0f7dad9d3d01d2dd0bdee463577ecec36ab515bcb984f9a9d9b8ded3f59d0d5e6cca284452d0e55e1bfa777f9662e8da7113a109fcdadc5d2a47687b346a5f3e45b929f976fa87bf2457fe2e7e979dc8ef5a2872ecca6e47f39a2f1e322370f09626990d7faac69a340cf6dcc722b31ca0f2ad3d418478463aebf568011dd9402b86fd05328e21a005b174c85b9533773ff1fc57961ca0a4649f33ba5f7d87ac583880420a367ae630a1fada999c82ed8d2234af08a5a04808d59c1c5a38f7fbc0fc187c1d59b0d0286834d66e6d3d0833cd8b3c3399d080290f1c9a417c953b6de18be08cc0572b00b5f4c92c472e61bd1c8070da3676a64aa5f9c2ba868d46544e4b010dfd05ea29f3596e1c431d5b30f80094a972f73cc061eac66471f586778252dc37107d34054e33837419c313e782b1b8682736d5900c17c00a1f695b36501759e7a9aa5d11b1c136fc75a1a4c1ba55a944193d0fef0825417a8e18106246cc4442695eba07298dba4d91550222fc119a5830772cb644290e3b40d25d7f2e652e822143f7368107912361a55ad3cb54d54740b0c43b85e586fe7c29770477298d899e91f6122e7ad59141bf24578cfdf9c409d13e2e9638f2c1a02327188eb6fecdfc020a3165a1ec8e2473e4ae51be8401fbb8c46b55026033c7daed5d2abcbf032f0028057dd7ad5113bb4b69382d10bfb085170b4b2bb68cb9fe37a2e45188bbac10013fbb624605b442aea6d9016895c7b1b0235f6a835ea04cc4c32dc37309d17556148c92b52c1a3eb834b8cb487b47245367c88da13266097f6caad8a115761a8908052e895152097a17f214fb19ff6c39b8aa9b4d7e9074548ea8c310d9ee183f171c79aaf6e1febaae82d6ad0827fe563951f91181c74faa5f21252cacaa74361bf7bec1e22033e66ca55f88b8a61d00e1fc3761955c7fdf8e7c0fd6821c86eb2f832cdff356d056191b9daddcc4049f9b5b57346b1874c834ed9ed3377d759d3a72c41b71d8115e0413fdcb6ff456730f1e245b429b288f68cc2b4ec6865c923fdca4d3f5c8314d5481c6bc6840d7f1a441e837b96227a98203771fac9f32a73d9360f5e7b4687fd99cbdd10e554824d7315c72edf41e38bea1c3bf817f142131f06fc435a618c953d01866c0f78d3214ad030a006516f5ea46b0258f3d72463016ae7993e79ea74acd77c3ded54ded897ab2ae9dd192ed71be8665e3d726492dea60a9a638d03601270906c2bb94e5c7fbc85f70481f7a262f717a6508a89834ea13872996ae9d02ae20ce5d0df2dba08571c3c9fba59a7d5c49d91c9cdc8a3ce2528d5a3b2ebe5f262163d33f8548ede3e062393a12a5a55d7801c0a4cb740fa18394d07cabc902aed35e1e7b123a5dc6eeb085dbb00445b5555f7c3be1d8265a95ed6f7c7c2382ddf4986e86de6fe4a72a136c4c97cc2d4690ca7aa0beca0b2c558bd74e8b71f851fb8eb433fb0324250e9975dcc33bfa08b4756d6d69b401eae1da10ebcd0b02c467971c8d94c344212125b85c7f40f7a7f3ca79064f7c260d575ca833b0d212dbc68e96b7199937cac9dab831e9d1a41cf6037d12c6f010300aedd08a341b25b4dec560e746d36bc176a4c0e2ead8b99958e8eff39bf52bec7893af6eb92d9a1118bb842714346f37305bb76bcf78451c24593d039147000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130fd59198d0dfb69fac6505b7a8f20f4e3974cc74e37ee54583e48a34a8714c2cf02a6e672f204960539afa48570df0d40d242f94697a3653a94c62cb578eb51f4f2bd7fc145e911e5df91c964cba4c64d8af023f24815ec26645c6074a367b20b0d42803eba16ee1a206e369b345b3bd6de9f9ca2877bcd6c6eb26f8b5c9861c8bdb37ec65d8d597d5dd8eef7fa37db3ae3913291c94a299a4fb0424731065237424c8139a272a682a227110805c826e985fe8e0306478ff8835e8db8cef9c0ebb48179dfd3c2bf72d53caad7e31743dd9eb67baf4f4f5cdde853ab63f51f73144b7e86202c3d408d2ac355281ce8be46cad944e580425cb4eabb249c0ae0a130fd59198d0dfb69fac6505b7a8f20f4e3974cc74e37ee54583e48a34a8714c2cf02a6e672f204960539afa48570df0d40d242f94697a3653a94c62cb578eb51f4f2bd7fc145e911e5df91c964cba4c64d8af023f24815ec26645c6074a367b20b0d42803eba16ee1a206e369b345b3bd6de9f9ca2877bcd6c6eb26f8b5c9861c8bdb37ec65d8d597d5dd8eef7fa37db3ae3913291c94a299a4fb0424731065237424c8139a272a682a227110805c826e985fe8e0306478ff8835e8db8cef9c0ebb48179dfd3c2bf72d53caad7e31743dd9eb67baf4f4f5cdde853ab63f51f73144b7e86202c3d408d2ac355281ce8be46cad944e580425cb4eabb249c0ae0a1d763af3cdbb5bd24300924a36f9fdc11899615f61b1ee7f430d03231ebd938e0f261953e056fc73fc3a18fa43a59b459f165b12cd7cfc28fabadfaf919f81c70df00364588ef0654354ea72e2ecf161f4f2e11d050216e20449a23d47aab44e1cd0a90b42c983084844182d7385363419e94fdf2b6322ab2e82cf681a594ccb29cb6d3146755d6ff35db1777c7a120bd2733b6e661e72651ca660c35549576e3caf30b59c04b456ec919f1c3728e03747611484dc5466deb4b554caa403d545310a7877675b652a3bfc74fa5ed2ea11af936ed89cf99487cfc86f9f4302864015402c54946ad88b4f88e600e7d6c87df119258c8126bafab21ba340e001f51506f670918010672eb1314289cd033f6a131a039393fbc334a30f513e0e51896937bd197d122c4c41fcc7737fa9c134a7c190e4dd51a655f1e6166ff124422f1921180ec4aa1c7a6ba2535461d105bf7c08618ef82fd5f163612fadee45b188be1616835215c83157b971a49f5f0993251b68cf87322d6f0a35e12f282183b4cb0a38132999c6824ebc1e6f86f4ebf43fec27216788ad4ffcabb27c17aa62d47b06f8030e88a7df613d8d8b78b5cfd54c968a5387658690f54dfea8af49ac65e522025395292562938193596f5444721fbe3d51702f443f585dc474e94c9ebf3003cd1b2af2f8ecaa29c9191ede4c35a2a17d07f58f42945004b232b4a86151c83f205f33061e5b19913510f42f0cf57bd5b31c75099add1c85f1c02a42ebafad115ac013f53a10695c9f0dd439f30525a96927f783e8c8596ea63dcddb4f2a113ede469d191d6c8800974aecb3699ce0f24938f6c0846c49c92d6e9803f64b3c3532333e1e0b28d8c625c8adea89f1347d4b69677c14812128aa39afc15cfd090a1310287cc5edb82b25018e974e93b6bb47d1abea881cd1047c67b63081591e1fd35f27eaf01f82e98091af717669a2eee48fb51880d5046a9661dc12377654192ac929dd277f85c4ca393f5fa47048fe6e3859236c31ad6d553c236f5060f1056c106706436f47bf90f8d74240e49796ca9a7cf4bae8ba769ad734a6db238e1c0b540979e131b3a56af90f72975e6641cd1fdda71ace54eab814067a0a9f00398ab6a0bada50868a218b2f413c656611ccd7f997ab1011c8ef27c03c1ac8df1fd233a2172178101f6f07e7c23bbe6e70d0bd3ac9e88f5f58e1023837a555290c565b923553292c9c3a19f19c463f2308e699223592d785bee93336888cba85208e8a330c6141a87cfa225aab2e734f012edf4cda551f1f97325528e2cd344a225e3b0970fac29350cbf034c0b42501b0e6c36ef45a0f47a85156338b3ac21504a7472473814a57ae911aefd853cf84364a04e68f42e463dbd34623e6938ea515cf83a96d1b90b8b2c2cb95cd8a6a656490601c0f2df117ff3cf04b4cdcfde6078c266f6c0ef2a46a8771f27f76186e8e05d6a5e3118424308a339ee1d1166927b353ac3d94acc0662e1925c744825f704be60797a79ad2f38324e627b3e76e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000136232874440d71841c2f54f91ec54238ba0fdbdd775e72530454072e7828f1730f85bae008817605f16dd61d7e1b83db11954590786b014a1a44ddf4c41221870176df2a0348b3d24944340cd036ef446bd82969c0be4ea77cb81ae7bbae78810a592b456dda1863448fc0e0b6ea32ca02b4e6d34075072d0ecc9e8c25d3556e139954a812ddee191523cfefa3307ec2d5cc065af1591a7c823c8ef9426e971525ea6642572c253e197dc00aad113e810b16d7968f3326da9e2173530bfccee30403ac752f5f321e4fe14c41440cd3ea38a9b0f565eacb199ea0828431fce605124fd5032a2bb50cdad3791c4499dad8efe5fcc18548e3c0779fddd9ae391ab83ae765f8a5b740b13e8a26d4d66bf4e0f75eec5226331a032b6737373ef5cd1b0de4b683ced3f8a0f2ff542a5fce33ae638e3b6262511073e618dad9e01b5e9610d921bd1aa92b8e2ba478dddcb99adcb928e2e59af8b45b8bfc3d645b8de2250ce58d730aca34cd93706d21bd68c87d6cf86a6ce55f10fdba0b093f746022c2172b80951b65ba3f8ae00738aee03f5498ec3984559b9cf7217bcff02bf1361e321637672271e1874a48d5845127340e8aedb50662210b5b78eb1dcd4d8f575138627b93fb7ba258b6ebc4d89b76424a5f1abeb9ec5cfe4069674353db4d4cba37972582dc4e155df9388690538c7a2dad9e86b773cab90def03e111bfc160b31617e4aead385e241a3e118ac18fccdcd798d11d6d9ab1db5592eeae51c5f9da2c712f83b914637c510dbe10f5fc92824040c8e13642c84024269f49badca065190f9e9b3c24950bc73cccec3a4904004ff6fb8e7794bcf2d48b3057c091929736de71edae81c07c5623d858a2dddbb01c25784876b806024aae095c5192b873246c755b52145b6baa92f24ad9616464d8f95f511acc119d18eb4b1336955ed01f41e20e812e35fa2bc45b59078574272ec096d692907d2528779f1ede56328e3b826baf8a5ffeee87c396f0f2cd5ef9a2229e48481402aea8a0becb8fc92a4a1b2f592325ec076f99aeb10447a79a1076a1ea7d52000d839555337f12fda6972d94212e4496c6af9fc82e47837d11afe60d162cf179ab44c147fd47d8620ca831fb52ee84ba1b2791c10c1541f59f4cad2e60da5657cd0c185134c3e743964917cd308f2c3056e67567e7a5b9fe99555fb8fe1e18d034f4383351dbc751e1a01bd26c52a484f36c7de62465ffff5bd12acbd03a918d21fd3a1092d66994d8a719d144043391afa54e13ed62c022fe1a7a7170fb1531c905474fd74b0fbce73b353961080087d55327b6e94fdf7275633251865e3363d744b33ee2d941353d96108981ff9f4bf9d381189720ccbad98fecfc18f4a372420681b163e9aa871cbc2794731763c5759b829abd27b53dbe8d8710be1db38f4c1d874d2b5f41c068c118ddcf2eb85b4a6f2b23e3a9a615da996792bd573d8ae3d9c7e6fd268326ad0d2b373f545cf41c9a6dd18ca1b4128714ec0a4e6a1a124d77ec642c630a7548583305d44556b59ef044cf72eaca4591a564be6cb941d5c27d82985d10e852e4060d11e7b4f59e1c5bc4a24aeb97ff3aa85bea5787cb81bb2517bf4de2cd943a16109a06f050c4cf939c19dfe22c83276783dcd44af6e97256528857273ed900a815bb1c676c5d94e4359d8ded1fa1dfe22220922c2c613a0f38a260c20589f0331d13a011589463f67ac02a1ae5c9bf1886c78d9a97606e1aed13fa5da49643130be02d0738fb08a41ca0e6008e96396792780e527693a40bf0435221a9212cb733a25c886885c76ff3c5e70fd0f019223c05d29198ef0f2273e8a600ef1555ab09e261262ee5b0d1fb6e3956d171810278eacbc6129940ac6520bb72f784144d36380d1a5bf926ab514acc4e28c82573ec352f301ab575708bcb0888d1c6a15b2b6ee0da15ef8a16466fc28ab1a462831dd043c68fad95140896e19103a62d6d2ec5afc158baee81258df7538b1af72b490bad18583a6c853c592c70ef2c02fd0dcf74b550e2b721c524823257aa2960694fc24c938da2ae56848b42a56e2fbb293735dfa75c7f5c4099b501d15ae4ea31607e2a8dce1244cff5082a2f4a55a503b02200c0279f694d63381e4faddac8544c6c011993f63c4712e9eafeafd3ac019f7d6286d664c19a9583f232f1d764557725cdbed0f31e6c7741adccb628323b4f6e396a2d87e074297e4afdc56fb489ec259408cfa882727fda6854a904ff156de0b21e8ba5ec28476acf3d2fb1248fe0fc8eda0a4ac3a6cca9a8ccadd87b0ec1d5928268217e26fdb603534eb637ac48434acf2df81119bbd83b64f48c21319c0f5c4722cb696e925a80d1a2f93ef6a558998bb00d183457e05f901dd4251f459d3a469fa075ff2bd13b4413f698d32ec942c6e920ec49dec4108ae057ed2905c5a4a4e4a457e8c2bbc6a1d0f14ede92855ab62457f74b1c28875cede02f2c313f87e46b2db3ff041e4e332afd06c3a13a702d02f0db4a0e6f47e64ca2da0b70ce2046549f8c13acb92d6b1af73e546bb50fa6a0a67f56c696fbeaf760fd3a513dec097338deedeeaa0f86deef5d35b5764e5bdd0a03eda0596593b0442d290d1374e44a9d4e2acc6de6efc54617ecc96adcfb4b7c22e2011b576801584a31ab46ba40f8d405da8acb9250839d2775fe366594c171350484e59f97380dcf1376169085176fcbcde7efa953614d868783e6203381f7e548aac251bfaa64cc2e7138600bc7ca3cbdc55f882976b3fc7664a7ae16bd832040ad6a276fb2569d19db8c449277359e8775e4fb0e77f17f474437d4a137732165837ffb541b4a9c0a4eec593bd4bf1889f0597fe0d4c76e09db8a633ac38e8236aaa2187ba2b5e9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000273659a1651a454ec52b09d2c0411a955016f886c5d5d4b09c45e1fdb2fecc3c18c9a65e9ae5bab13ad4f62d3fbee56ad22fa0754377246afce74eef4d0133c5040fc026f9835a89d9d7311dc14584ea299f0fadc1463c2041d5d72d7ef9fd293bf03fd9067ca5762628cee23eba7b15f8a7894e4806bcfb575759bf810602d8144ec0c2df90c4b14133f594c65b9892d01b4e64c65f2ca1492d33e37ae1f1cd2bb13f3d206f3b4ebecc0a6b39a4676d522b4a9742edcc7a4ffffd09851e0e342589c3ce5dd3d7764603cbe7dfc9faddee41eefbd68ee60ad4b4d2846669b9001a763c31a22c2889b9fc3418203605223404aa0032be1310c4785e6899964701273659a1651a454ec52b09d2c0411a955016f886c5d5d4b09c45e1fdb2fecc3c18c9a65e9ae5bab13ad4f62d3fbee56ad22fa0754377246afce74eef4d0133c5040fc026f9835a89d9d7311dc14584ea299f0fadc1463c2041d5d72d7ef9fd293bf03fd9067ca5762628cee23eba7b15f8a7894e4806bcfb575759bf810602d8144ec0c2df90c4b14133f594c65b9892d01b4e64c65f2ca1492d33e37ae1f1cd2bb13f3d206f3b4ebecc0a6b39a4676d522b4a9742edcc7a4ffffd09851e0e342589c3ce5dd3d7764603cbe7dfc9faddee41eefbd68ee60ad4b4d2846669b9001a763c31a22c2889b9fc3418203605223404aa0032be1310c4785e689996470129ad42a69c2e93f392aa66d7ed3b9df457f55990ffdac14b3659ebb609322be7038f178447887833d083f5f9a8eecdd760e68df98af3bed13f90683ba6e87fef33f2b7ed47f7856ef53c59d1176dc340e16dbd4ffbeaa34b8f12f425e46753031de3d4bce06b42198eae94a6f1dfdc75dc24f6997510e65a24910425e021ae2301a51a421e4a247df428998889f141e3cc18a340bcb12b7d107917fe7289d7d82e663f1b9f610a64d720f812a62392a8f47f42152baed06777db686eee2c82652154cef84c70c7ff51a603090a598a57a0ef4549edc350709167dcf52694cf963fd84897958ae12b5a427590e076134ac8abc0e5d7407ea30bea1761e591a37b106f901234a4323633c9348a6b7c245e8d0b273873a6a19bb24f0971d230fd74230f759dee99adf28d2b3f9a7b9ff1bbb04745c527be8ff29b97c85aabce8b042b4f2e2c345cbbfadda62edbf58fd9fc78838211730911e6d20193b67338041b2b1dfe11fadfb3b3d32f6cb6cac8086bb53d1ef48246523490b0a318a6b4ba0e24d0b0e71be9c6701c2468651d562b7bdbc994048e6db853128b4620b40e0b860e1e82c2367a8e345d4942b1f9545a4a218f02ccff2ff3bcbd1591ce557a00f212e87d99b81c5f1cfef27a6aa2054e828acb9e9dd9074d1bd0641d565749187b3751a8cd16ad5b76744f36a046d334e71e7a251e0c8fa610d641148f60f73baa1470e76cfe84fc5c6110f44daba0e33541c85aafc21d9c49a3a852537e1c49f029c2d4630740772af67c5a3c34f8add88d7aa9624dc4819ee170672dad322d0e14d2f1257f3fcbc9d43c680896fcb7a05fc8f00ee40b50e51bce6fa0241bedf02094ace9cda442dbdd2fbba90263b189614b7cc6faa7493ca8a1ec9f81c88c0e1851986b4f5dda42c56e1fd944870bf5a48b1febc6d3288b741ab4a53b5e8cfe2f184a4d9f5332526d9a234f6e0b6391909f644e392688341ea7af6d8ac6f9fa33147904b5ee2bf0b52804f3f3d9a4480746ba785b9f32480e864b48ad85306b2323e38b6c619654ce5a096310b7aad16ae3afe62005fda3c66a2c7d16e1d56514aa534d0700cd244fd511ca08f727fff5cd40c5e9efb8521fe6428e4baa6a8c3cc24f2a72cce288b55c20098bf7285109851fefbac2a9ea9c15857ce60bb8b117581cf8f3da8f9b6064673772fafbbf7caf3f8eae82885c21954dbcc4a48fda040505a20ac93e7aeb2008239a40b57ce5f60f07056d5e7db80eacea39f8c75c292f8083a3b3f2cecb874ba2813fee01e895e352f6e64f2d00be9290081aec123e5d90206dd76f98d35c44f8e2b9d64bd43bd621512a8704382f27e2396a93f9125ea5fdc8289017dccd0b2bc8bd964b883fe503f03e306b19c1f3238c88205e16aeac78de0495fbabedcffa46c5fe0254f972edd30ea425378d5ee6e4df5d4f377a39367ca1709f718d2ece6dce7ef9650b8e25483d81c0875d6d12e1992a5a3995ec04d346f9071a6679b05d48bd719b0a561716e5c2f84cf96a42a7f8314f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012bbd7aec00cd4734c7ce59e6e650e0889c0e7a1c86ef2fa32b020036976b4bd01b7ac508a38276aa9fc3226e5b1d02d265dd68a3afc59c419d64879927ead4a33badf86d0a1025ed47c75ba0937f61baecf29c23c89f7a8d411a458557c0462d32e18b4fa3105e160762cb9132898c7b6251883aa99ee1d55d9aad54b74e3707053b5384b83c709922e7622fbff1708ec0443bef7321b1399941aa707d61464b1c6842028f212b20098c2e84f04a365aa51617fa81ae6b59510cc20d204d24210dc0db20850eeee68c8bf12c44423a5c99f07ea9cb974236bb3371009ecd7caa16892d6750d3d21efd833ea72bc6de50d498ba484647d3daf294a4dad51e8de21639d90ff9bed9dd92442ed964699fa7fcb3aaca341f3f93a74bc70d1918327b3079dbee2199388976b69a44d1ae2ba646ba645757936a8a584ce3a41cc820d739e98526d825418bd099724d15feda247e011a34a5011e930c189718f4adbbb40e970f56f1cc91b99e22089267f732833c7771fda1311e12ac4386a893ff83d23af32dae427525ba9e6c7b6941828173accc89e8864c8e38290fd7ef186a26441eb0c7cb597d0e5cb7c4757c4e42f85e1c4620648ba46916ea5b7daa3ca2ddd020b71616c229542f9fd19f556db0b0d2dfa8c25e8dafcd341892665a5ac023d733f449c1db3214dbe42316ec6a144422305dca558ebb863e5a499e2d58e8119a0fcd596f784a220a7c67b6ff44005d5a32b07b97ec562fd9461f03b917e89a2105e1e4106b9b1fbdd42feb16b53ad9820e5a2e15b6b524883614a2b9b581234c1b39a21b0d9acc1c3b4bfcc7400449b719d26eab2f9b16e8458ecdad1493966b3ec31f8aff6513b42e2a5fc901d9c6f0cc04cf4c8a431f1b9b9a74bf02763a083bc547095e67ce17bcb48ec2d1e658565e8fedc2a5e9ace2c6c7eb7af8b9b6261bd5971b5a28464f3f74e4ba194f8a8f293a92e59b354724390dd2ff00339de721d8a2450a671dd527fcde5e2f325a10d10528d774e69b6e13f19419631f18683992227f9660e9669e21cf4cd1c2e5661abc6a7a0efcea2378ade78d9dee297430828ecb71c6883fea854786fd9804ac63886346b1a6c1b2f6bd4bd4f02e4bf6074e414c10533e37fdd41a2a30dc0321228f39d4f74e449a0bd8119d5d82c6e93471704150dedbd6ed198180d007c9b3969f5dc3827cd46399f47725cee0effd09da7b51d5d9c9909627499cb17336a33bec2c0037cd7c1ebdadc7442e63e8c33261b2ce8032883dd2887e254ddf51dd24f41e83f717366e6abaf3ffd76fea5a039f2738e5e1c125ba6a1d8c5f6506c6f2cefb0c3f2317761440cd57746ac9ed1d7c93c63ae74a191c7efff1435e59799429798cc27111b8a8ede8f7f8c4f306351ccbbb5c3288eddffa22b2bf9fa428392867e5e34eced0d2b222da561f7955130bed77a93eb12f4c9692197f93b36509701db0a3c0aa8e5859c6ce717fa13305d97de3af3cd2f8ce96863d03531c8cdf48c8706d11a5675c4a59b6fa2c41bb15da9a71f3b265c987890be4b93184ac712f848fd2349f3fa2eb2cd4f0fe1a8d13b50bfc87704fd5e8946cdc65ca4ee2a5586dd4772b7c8b5c4f66d8774823a0093a8726e11b6522efc9460e72ee9b27741c1fc56293e90d066cc3cc788f623f07e7640af97fe14458d07b3900aa2a9ff436376f384b8fae1a964f33259be50d0d3ca6abf16ebf0cc80057150322a64edce3905a8499a5f4d1e984bda6ff74a50ac83afdfc1b0ba557389e08c5c6297035cbe6298d44f8d0a4126c93e68aad9e2d9da51b5b3d1d5e47d77b4132e39d573199204f9830c16566341a02479720422bbe088d496d0f384b57ddd8588d6879c6d2e2003ca2ae1eb4217df731cd844a2b704be29e0b2c4bc7e6768c01e3a361c08d9d8b9c2e4f9fad920a834233abcf299a322924a3e95d9da0bba007fb5d2d783b3065ea6041eb0f80119e83c7690a347842849591ef4a77b16d386b6c454cff59d784d8b56cb35a30e8b9f32d5a76244ad1a244a9efe13cd8a0e5efb3df94865b863a11bda6c37f274310d78b9db7238acd2938106ec09c41e7b4ab3cd4a2d40ab5c2ae729c2d77fe0ba2ea64897c36a3f41eb58168771d561477dccc7a3f280043b2558bccc42a3d6771892ae5713357e6db8b07126069d6a50a3bd6c37936235ea50114f7d2bfd0f0d0f16a2555098cbb114d3c59a6a41cb0a986a756c9328b5dfb60a9f808439c7519fe0cb2c41c5c62be6156823aa978350d3fc19fed886fd2ee4fffadf2e0c88eca825ad3e5162436bbc3aad7ec5953dc2c6da3ea13538f272923ff0fd2f739d384f0c65cac2f8e1bac42cca72d3ea543e2945c8a5da25f37ddae7cac055ffeb7caa3b2a381286f96fc9a619ad024a26bd52d28d1bb32d1148055c92fd54cd62cd89a10b4e426df280a21ed6674f4c7285a6b6caf3c0c3da0d911988647e26987b758ba59080fa5ed652577f107485b1ac4b528873061c4437bca607c1bb8e0748ac2a3e3aa23ca5e60a785acd54fd6ff1684e07dd501e76ff570a06a4f9f963f2f4d7a2d1d01885f48d3c1091d2743d45f7717fb90f6c704f70fd9fc0b5295a067e33da877226435d1244c54bdffebae2e540d2f5ef5bf0330a84e5a2b64316d3f2b867ab20a4585c0ea93b364daabb70af8b3ac4661267d6d2eee06cb0fb7bba3ff3ba6c0004877720fb4bf303087f81f36d9f15ef70a420d9ead1f912b2c8c7065ee240237f48fbb632b3bbf5fac27599ba81767f7e3375d9fe42b4cd681d9dbbcf834dc070a1bbce8745a44807b1ab735215ce304f92a94eeebf123e88186e48f9a80a109cc6da7dc5410b96c7b76f022e843c5507e115f27a4203f1ed2d1cf26385cf400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a6021551b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a707121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a1ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec20f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f0463930c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c824fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a6021551b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a707121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a1ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec20f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f0463930c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c83bd0694f2b7a3ad746f17d50e5fe37e91abe551ae86d56809a63c9ce35b4e64f3028cef393b3254af4291ab729ba2e2c73a7728cc6a4bff3b6d500b56f9a3a040cbe3279c1e64a1d566b5c1eaac3940ff8145136fe969a8b76b7ecf32aa063480029b70123aa771183f8afbff82ebc0461e4fcc53bc4391374131ff4013f6ace325be5d1dfee6db6662c3ee29eb432ffc482a3eb8d50d1976111cf9fd23cf16c18eecdcd82f53ee10613dcca4af3ee03e56ecfb23547bd880d5bc8622ae0bc9c17b8b101cae6b50068bf823ae7e09ccbf443c4e36ab13bfa0a2b9ce2c84e859427ba5c3f7b59b07c846507c1a7521a129f867588f55ecbc290c579642d0fee76275b7ae6c3d50aae85cbaf4b75f22d4bfb5b8aa11db0dd3b8d04f852bfed6fb218076363b94dd99d20bc229da59e67335e6fe48c73f2ee93b9e97e1acecacb0e23b372afdfdf5cd85a38b2b221893d9113a3a878926f5ad60019addfcf8a5910293ba0add03319fa865920b9fe2fab2f5e7b4f9e1529a9a3c68ee9ecd7ba833616987fae9634f9c78eb12539dbe35d3743c1e7f7c1630a0ec8e7bc93968eca91116730b463ed1580433e5b34b0a606309ec1ea86a797871768522979917daa862883ed63272def07611cd550e95c0d3f665b253be6b7d5184c07f3b6bb25962116e8d49d4b3cf022ee4161c2030256e54f3d508d1be93d31f75cf77753077b371c7cd8753e971929387dddb43e3737c3e873eb1ce18833fed1199c090ada60d22755a7a145078be754172203f7b8c7bfa750529980d4fc97e47103b86bdfbf7e01074511f2587951615d80b1df8c10d67df75d6ade2915bd8618acde7d96fb181a9be9c825245b517cf7440290c43c752e3f94f63355e6cb40a950169b1df1ee2024f307b86441abf65df53ecc691e855b4df5409cd8bfe02c786bf42b9f7df72847850b77cca2f7b6c6b8462b8a14ae0cd90cccea37fbb9a73c9bde9cba5f2b260719cc06bc07df03571d39b70dcd7386da5626d75655dbf0f3bbab344596d634fe82cb8709650a1ffd2ccac61ceaf971e112f70a19e644737c6b72d3323fb6038888496085a629a314e92ca6bfea2bd7f7f0c62ddc6c99e11a068d04253c5c39c77dbf45c8f413402f1fed2cc48c024444bc5e179ac3e7de37e7f1dd79e72a3b87dcce725bfd0030ba277b71d169d241a81d13691f915c934658008413ebe707ad3bdc6fedfc4c3ee0c1a259b6e3be43eabbfcfb47664c45923ed2df383a1e2fe8b631103e5fb6d05a81f22aecde7382e1e1dbadd201f7680f1d7280c906ef1f0ddfcc0c52539f8a8867ce9f3f167224512b919c5ec9999fa1f90547c1d7f022ac089920c10e9dbf3cf69e2b1732d4d6fcc5cf0e70c2f054530483f7296d3526a5cff5f1aadf52acbd81c8ecc04bcc0cd94cc83034e114ed018db8d82110a231ef64e09165009227fb160805210ed87d1fc2c0935595d5f996f9fd2249208a3536ab9ccfc54732797cf8c0f6872e80bf9186002d20a41d5a95c70dc4b8a11900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001376b3e326781227e125403750574e18577d873df8bb58a392978b15263e4d6ba2ea2dd2cef234b4210c0ad37e85de9c980195fc57aad1e2f6becd9d8eb1de1480995d1cfebf6b8e9d98bce2ebb71f98c2f0f47b3bcc5119ce35894845fdacbda34fdfcfcd113e4a314b8b2ee84a329171323bb2645edfbe4ab8a80abd5f4b02232ad21ff766ba69317b166a96a598ad98433295d7c433bc98c965ef6ea39ce0221f1d53a158edf6c077d9a91415da24fb16f84c276ed12da560aff10a1f47f372357acea88e27a08aff70e434e4d2a876a98a09eec553bce1470a7a49962b51b0a0fc7e1f3677abb2f7afbe4c4ae36e7babc155df29c2815f03174362438c70a26b7ef0d9784a2b56bc30ce9db4bbb584792b23163b78c23bb332fec7e75efec354a52ba2796880c842a454bad93e1efea1e85291aad7f7e69df1e4f34d38d213e050c882c7c708f6a404b48fc3b9000cf30dada5b86f89179e75bf5b5649cf200c263c23fcbc468c0714a9959cc2ff6316106065e7a61e73e1ac11a9f2b9cb629102edbf05442d206450b092e867f620cedd66efbf7bbfafbe3ee4d2e74a3af0bc6d0631855d65f582a7f96e7a378351bdba517a676292fe27c58416562e5842d5713a4d1d244f2782243c995edd92053848365d7a705e3a03f6a554d90546312a2053fe86e186b6d913f03802b3b73742a7101e3284cb15d7297815c948ac02961b81674497276ec8f92ee04cf422179fd4cd443bda98f62f7d415a33cab3c314adfd878c903eb544d37170e52d56fe620230a598f2af6b9f8ab71b7f562b33312fc4206b102f2912792825eae355095220cc908e9a6a4b4dce09ab459a6d5105a3dd2c861ef273369efa0530abe349010dfa91d84d2dcd764adaa90149431087e6376b54f8042a26d762fbcaa00032c26cb8da76ee3f87f6850ce6ceeff863b1654b2463edbd9bd045f619928b178f1e1b1673689100c918f6f6b13083cb62f7a22b97c42876ed833ba6f92e3218d304884b2aef92e787be7b49e323346a30b683185c54262e4ab1b25361f82e1629bf72e408da9f10f1fe543f08d07142013444fb4601c6e4d0c5f97351d523f1edc0e6c4a550fb6d03eb2955a7e58f8fb0c9f3d6d149c5f983dc9b03ca20eea848222ad23374987cc3107532cbe4660ea0f47ff239554e5a56b59e67c5ccef57b6ccac9d4a81c5597fa5f13c7e4370ee723f10cdd7800e950bb63fc37e1d57303f7e01bfc729f2412b92090d0d2b1d284018f938df8f612b19c6a908462da4efced7ff0fd79e5b3fc7e2944f444e5bd2f081558fb87e57a90b7fc8f886c820ff6f8655aef30fa0618b242272058ea86f91df3749e7d5ac97ad6279dbf74f66f3ad0da80e89d7bd95903cbe26863465e9113088ebbfe25bce47c143e7e30fbd2bef87701c208a39d32943e5ed7a94f8aa20639f2b6dffc13acb096d1f027ff8ecc4d02eb59235fc750a49476ed44f813663f3c7187146f9a718ea233e99108f1f199d0bff1072458b8e94674e580994088269f967f432c915527b7c0b8fe0cdc30ccdb12405083410e1045f0b7bdbea5512267a45913ee5a856b31027ec65b422f548d506b292ea44fce39f0d698b779be0b9522c5325f612be5dcbc113dc7cd77a19efd93389cb4d5aae38c3a29ab3d10025ba239b98d2df6dbfee83562c358424ac3992d164b8b83e232d5ae27ff6c08361fe06c74dfb976179c2b98dd4fe9c8f173b93d9f441bfb0b5ee3c63c2e1d3f008e0472699bd5b782c02bd6dd4fe64579c0cff1af8aa93e2b36d33d782b320e25720caccf1258f178666bc411ea33951a06d2b2bbf3ea944b12a02ad7f0d40d1a0b98f8d27f7d309931d9f43ebeaa595ba73078df2f330e3d0a8aabe466fe56222de67eedd7c75fcfd5609df0369b4612461cda94cc9b4a070514aebb4222a1056c5f6b5c8259255d1ae243e1602ebc39e8b82ec27a92574bd906d55718d9a12c0ef523905547764070657c947c129c8d3428053c9ccc3d600e6defb7d804e4325ddde4b54987c71074fccddc23cd46b301a3265405ae0e064d720561d1ba53329f9220650442731d25099d9d59cce778df9a3710be31d2be40731625715489332336d3e4fab92540b7753b073ce9df5a84a417885f1bca8c61186e472d4e4b2f3cf08938cac4de0d3c1a1b67ce0c61963c26c9f377055ad7dd2b91a8b41a5e2e20ba781417e6aa740f37a7a636fa616018b5a39b7eb263f3dddb4169b465f92f0f6d87cd8398a16289173b86b7bac060b64e469f05bd746bd7a8aa9befde5323ed7ea2f5b61811548ebf86d40cfe8a8aa664a77d90fac61d30c3cea76df30136f6a7172c265c29c5c3d5e09083e9769a2527d550cc50130228caad7fbfce910e25cb362aba4fe12fe85bbd8075f2faffc4126cde6df9f99daa7adb764fd14234dd27eb92ebd94bf75d52a0458745836f572be344ad57f016a78bcff06f258e303ef30a7bd03074fa48a6c977d96d013a4c577e505b61357229c798c17add601e97306171a946fab6a458639e87906434315be9e77cd4d2c7e244741a660a9c05b50db566f4831d12c3e6c4d4c817b387bffb080fe474a79eb7485255c0700a01b74a64b29a0300ee5d6362c81ee7458abe1fa158f6d649b7d8ed19e9b4fa96252fe4a2f90405d4485f66f21fbb75cdd646cbe5ea1d774721708fbdbdef40160c7d4e501c559a9f45908745b0c267f4a4c708ffb2343f97c4700805e58297be1ca3e5527009bb58430f3b7e183c091d3e9f709e009edde913e5b76eaaadaa2c3b00e761231addded1eefb319de59f43ea689d3206637290cd1ad568a8258547116518b7e96342643e5ba4da96b725cfe274c53d622d77eabe2a22619c0097ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011f949260a7860af3a48fc447836cebe94e941f2a38afe4f78eb82219e7494112e06b6d9f5879f50c5b703bb87c931418d5d570965c1facc2041aecb618b6bf019de6dbe3459e36c236ced56591209b8c647b0c12869fe71c36c59bb1846e45426219241cba61c93dc9312a9a6edf6475bfee83ae0e2faa9d5c0d731e7b91bad015824b705c1711cb120a2afbd5a309b9ad941cdb77806019ec35ecd796275a23ea7db48fa3e8ee34edf5d5042a5cf64876d572e51d4f319fa69d21f869d8a5f06b8b7931cc7358f75a32d6eb2c2f30a063e490495581e0819d0da035eec4c2a3947486ce338ca708a5cd2914d3d0cf61c084ff773f4db137f5c56e9a113b3d711f949260a7860af3a48fc447836cebe94e941f2a38afe4f78eb82219e7494112e06b6d9f5879f50c5b703bb87c931418d5d570965c1facc2041aecb618b6bf019de6dbe3459e36c236ced56591209b8c647b0c12869fe71c36c59bb1846e45426219241cba61c93dc9312a9a6edf6475bfee83ae0e2faa9d5c0d731e7b91bad015824b705c1711cb120a2afbd5a309b9ad941cdb77806019ec35ecd796275a23ea7db48fa3e8ee34edf5d5042a5cf64876d572e51d4f319fa69d21f869d8a5f06b8b7931cc7358f75a32d6eb2c2f30a063e490495581e0819d0da035eec4c2a3947486ce338ca708a5cd2914d3d0cf61c084ff773f4db137f5c56e9a113b3d7231516b38a193b111b6a1271f51d313f1864623dbd1d06c0b7c51541a8364ab93a2aec495501abc0a38fefcf074c84a5358bc9aab50f5967e15ac66f2248e66136b38b4633fc1cc631e7ffdb4d658e2e7eb004ba55106eb0dff7887fcfe2a9a70f45cbfcf75149fcd5f58d9f5212182ced4bc7b88f1a258d4a202add0673e0ae1c6846d4c2002f5ade14d9c1586138841f091cdc0147ac1852e4a49b8f4c8c621928ff3d02887be78af54d68c0016f51c08b7ad6dda6255767a27d21d0038a072298e6872243ca51dfd758fd866280dc4dc944e543382be43bfaf7214efe24c80e671ba7a3c7e1b646433f7a36acb8fedfcc93737ba867c22d5978fff24e5b840811016b008506e4d52e598008c658e87dce4f8a1aea1150b2aee4b11e67610e1c421cc6957e2e730810b90d3f8ebee22cbf333f974e4ea1191647dbd7d4bf60312a09864cd5b3bc8488e2984a0ed560a0fa4f436bd0372731d069eae315d8bd108f4313669ea3f0ba01cb6f8371c71514529845fa33ec28edfe5eb37229e69a23b16cb74b4b6d669c25fb55e5274475da186741fea5346710f9498b1f1f20e42d0ea50081300ba7a541f3b8de8b0cfdbfb5fc0cc46852486891625b033f297029db7a74c4a52eace929e7836e8bbd013bce83d1a10545f4fd9991469f68753d046530539d3d18a3cb166c33658f398d0035b596021519fc2d1f22e0d54ed6263a551738818fd787c6f298700a368747e96e2149c50ad94294f3278d3859a9bb2c28bd3c94b8acb19aa4714b348582be23951f5d38fa32863e182d6ed2a4ed2f20bc8be920fef5d400f55ed1d2d553137f0cb378835a1bca873af1ee43187c1a35954374d97cb0ec87888d759ff27325b6afeaab14eaf0c4f426d69556300fc51e63bcb0cc45f0dd299f1a75f8d18dee618810bf70073d7679fa7530ef90d33814c5d4d40ba5e844bf2094d8ff6b6c45368ab2e2548d3b1aefe19fd358641e283c2d596646022330a6705a6b3f13bc04abf8e47bb2081da459ce2e5a45d36f6f3ffb68a546f621e69240b0c0e86a4b75e6d0801734fa16ed527355b3c229672c1af768220eedd4bc5dcc98b97d361d2099bb66e50e31bc9c61d22d426309696d178ee0b49c4fa255f13245525454b0f99235eaf097f97c9556377b029a6641780d7f5fbaa324004052f9c45ef17599616e35adc5218a5e89c71cf65610363f443d1e7823d6000198cf4ea72f1b5ad979ea0522c90157166ecd3a68a34aca303403c8f27ea6721ccf4e4cd39176db2eef3e6fb3563c379a6eeba99e36b707c069369fc1c54b2bf430fc49021abb64d0eef997260c013fcf6ec5d060810ef0caa331b2fe3931905f271db571995e8fa8302fdeea496efcdac75f75d75b779c4b6a37d093fe3d84c7d47c8845a2b32ec25e26190a9088bf58dce36495ef9c69888e110effb88a12d0dc86b0d4b9507dbffc6cde4f29ee0c16a55559cc4ad77f0bbc3f2bad85a9e1540d9cf0d6bec5380226942a39e9a59acd9c96e4e12ef77912e4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013cabb6d0a3e2d14905db89739c3989da28f554eed8963e8f2cc8cae11563716231fb050974a57c76d17f8f7347ba0103ad3445e3fd9c10bf25a51ff30a3e1d213673b258f14f6451b4c392ae9c59aae3adb38737955e451aa52b7b6e4b05b0131ffbed54b1a13087212d213bebdb0318b58dfb503dbdb011c3c7307f9c2e686c2fc610a414db1ca53060e697bafeb7b6e7423002155f2e90a77d6f0c2741dd230438a17da0a00facd116038b0244be999ae8eaede3fd880510604dfe88e0c9ca2d18bd36847bc19ba16566ef03a73defeac05e749d75f7a527e29c5448814dd011549328ef1803ccfd15e974776f6646cc4103c3f09e30c875ce9968a8b2c1f7299e02d385b972059fa386045dad96df6fa972f2fec1d6c38b467cba7090e07614e2797fd4b64c118c478cc3faf4dca21952d24a06fc150f1329af23dc702dd406d462291fcc100b6262e7e420595a59d5021dcd3df5d43c3356c8d085bf60d620799f43dd8850f574c6e6501cb7a402f245a8d0c093d24b5fc1b7ee67dfb2352611d549bf7525b0d09379af9909f4e419c04c9a5c9e62043835873a2e5bad9a0b5e0133ee14efeff10f3ff0a3676b1e2226f9e9ffba1b95b5c466fdb6e890c52e5c09e8cfb2a53455df83a7a763f27e145ed792f6da47fb8c4ec0317f4221b211169754e8f443ffde803671431db3089600d38bec2328aada7432d630c55b5027d864a4d7018e4a6547dc2dc97719f35c90d5b016b1be6297e6a7096d4b16992300c90855f45fd7ebc9c56993338197f9b9c0ad930e420db4fe89b946f062d2053f551568fff55b2b03aa9ac506f4142bfdaca44b40e3db7320a379e65e1ea93bbf0968b9de6dc934fc33bfc0f8827616b2798e7b57e750c5ea92502c40aa91255bb820b3b9c0a9e30f960881d47a157fccd04e97f36411f913878ec2abaf821ca9b8c552943147651a5e1c057643a144f5559296cf1ec104869947ffd0c15e1358763f511bfba01bd729b37154b36d07e32728bb587833fa81d90c313823721258cf8cf31bcb009589dd9c43bbe633b22bb373f77c6ce19e12978c059cf9ff02ac615c39c5a29145e2410284c68ae93a8a58c90dd1840ebf6c0e45981522f11d8fc2c2a4bebef6e98b64545404e4e13a77f69e6ce191cfc1b63f60d7a12edf085498641aca9d727bddec2428f0953146d8eab12aefd156a7304b4c44f90ea30e2bcd5918c66d2c90104aacbb25c8750fa6a4a5ec20029f9c7e632443fb8d01253cd630e41764642b60f9f0022226f32897627f033fb4bd0e8047d5efdfc188362038740d28b0cc09b72390b38f687740316341ec177f242086f13510dbfb35298ec76381d286ff4c7b0efa52c0f0a1b1c79d9ace6977470203b963d16d843a2655726d3ba04363137a2345cde7e538aab31b1b1a351618239c6293f5b8240932b47cbe6a7fc0391fff33ee2e7e1171f8587f116c3213d6a61fc6678e9c558d24f8d146034101de35525ca3ecd0c6402ac0507c1c73459d85ef24cc5b2dd58918c61fdba8b8f9f2af1103d344fa19289f506dfa7e77176c2eec84899b6269613e2db2fbc21ecf37dcff0a19227ff5222541f76fc76fb1c9a78a8a1b28a949b917223636c6c353436c584949ec6eebffc8e370f636f904023b7e86409ecc45e313b7d9b81eb6a3eba239ad923cce6c0c5ea48305e98d212cfba192989d16ee5c3cf940d109a7217ba400f90f84bf02ffa6f3c5a8ffd65641d453624f7106aa500cfbc2fcd63655507942f9ccc98a6052d95ffe11be7d4e4aeb969419b6a1ff8d1e2812d151c144422e8bed03c77ca88efab897b2586fb7c1f4bd3e8fed3e985c19835fc60601da1bda2589a74fad55ee0a53d2c51ce4e14bcb9e613111063071110256fa1e37486a3fc985dc1696616542b0639bf757990ad184d0f443f64f8a068fcfd316df6e43a09ea5a88a44f5da534a8f52196190ff0c79535ada3274e8353d43657a12d2e7f6770ed0615d81cb032512ebecfb6bef9b3a4434e7a62e950844ded68b6f7286d05f77f8b08eba9a080edc15c5df5f2d2f90834a66938cb23a8dacbb0975395fa2e3c0d4df8a37055d4281cd0ec1ed13f7d5f59f52b3037c10ce04f3f5c214c4b01983573ae5aa1c568fb048ba67d60ab826bcb4b7d96c5a07e45181b9350fa5649d067753eeb4026d11a489f8d9873d46d46c42c5d266021f790de79d0d7af920072296f2e619ffa4652028fd2af79adfd6a0575fbb51210e5fddf15ba03203aadd9c60ec8caa16c4bf540705371baa21b982c00d1f7ff5208d209042f026793ffa251d779b904ba6f5a8818edf834514d4100e1b13fb161a4e2c655b719c8985ced12b7fc7946ac5f3ab218bf94de6ec74d72401f9470d097000dbe1804e9bcdb885a303dca99bb439d9b1d170370bf709b9a25b38603338250174ea013aa8170b4dc2df35bfa9191089e058ad3541c96a0f4e804d926707a056ce3ce7ff6ca7621e964aa7c2a3849ca7dca6ca9258a6ec7692fb5952c41b98ad50aa4ee196a211929acfe59c25fdb63c0450a07c14c0f63c0b5e4108bd14be397798f5a14f66010bcd79e2e9b3726897ce925aa979969580b51b5aa49b3d255c0b9a0c43c1beaa3fe5baed68ed68ce39fd3e8e8b5007fa02e0cba7f0a51a4492bb3904645d9007b38649fbc53b8b351a32c34334864804226fc3731a761639d0ea46f82ff9001685e96ceaeb8b6ea851a00c006fa6276ff72233874d2f18b5f936b9954e09fe56b7cbda9d853a906487f68d7f9914403782d776cbc1430059096d40879b564ec0016dcdfe09f3e341ee04b086a5669736759fc4fe29b630c81e983f026cd08970cbeaa2208c3faa024a8c81b901d0f572ac0957b3b2ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c98039438a7b08638840d185421f618150dc0370e0ff389061f5fa0a8c68a2d035b3c6bc7584f79c77bf2e7abde09e7eaf2620f8aec15c3f2fc398c882675d2fca611e51b46729f1a944179a4a9ce786944c113464fc1ad1e9cde234be0b2e110c72e1ae4b98d60e56bbe865b56318796bb613352ac479fda7ebb09e50c4d1eef3a197988603d1b84e547603751085a0e57a319c692bf149ff4bd834a767e6553e22686779fc2e47b1ab89fc8aef7a5f1a87f2cd2694a385926dba9e676819aac1f3f5fa9e13189987a64e1149529c247b60d3a47e1b21a26ac1a63436377faa36900a0561ece7667859b1eeb6ad63db84a150c511a5732d26f7ec9ed8988055c98305442f86a318d2c88136575e4619f47ea936ec4b74eb9e62f41abd8689a1b790f4e1eb91a1da31fc0412b600538131b50683612fe68b4da36849514488334101917989447b2cc4575c26f35f25ddd13908b6d1d72c526ab2f12b8334faad3002c9449a2096eb369dcd74848e36e531fbeeebb0231c1e1dbf69ca078811f10b4309d4443267f5b4abc8fbcfe83fa7e6b0e6b63e14221864c895c98fd3f5766dd21b6127f38dc4920b4a276881243598a90ff9b613f07e909f959f70e2d7a9b04296627bd5357d0ba6d5b8179c8de31fb82b47c6ace4847143e6b7d64ae6c08782b3aeab04677022d0f4228241b9e154b03c1c9424a5236f774570a8b6748d0dc32e59b646262e23b5c8b2cff0d1c918da86afdf77d42f8166cdad560638a00c43c34bd6715c8cde70a9352b80f7a285f2d84231bf9b3f5f08fc29c51b7aed36318502dcdcd3b9d98473d5cf50f5dbe4be310319759bf71a1da8df7cfde1bdfae12503ce6e1b0a7b387ede4c07e30d76193eeed7403e5b0b802dddc1a1c89ec2e1528f0efa9d2a7a65bdc76e0ac813208bcbb39258911015261b1b3428d0a43cc32c2a05597dc198e7866eb04691c8303655c7b025e237497aa412e6493b0dc6c2b0a111181c9c152fce74dd698d67382d03f2b3fdac6479f75ed61c979bf608c3bd774f47f0c9bf8b2c2e34ef1effa513bc79ac77843ab1a6b3b76ac05a578a720c3957f518b3cb0d707d73e42a7a6723e3ef892b71b0bb0884e64867c22d618083bbe29197a60564e9be50f00b1defdf7a6bf9a22c6611cd2d6f27a158254d3018769a7f6b6bf758d8d8eb195cb2106688dc46406c501a288a450925f060eaf31901371314c0d76fa6fe44dd7e20e0a1c319eafea928c007046f644accf94ae28d5e0cfd7384599d08faaaed11275bfb7385a39a9660f5d7265f0839d910bbd3fde43ea6e9966f0cb4eb13a63996dceeb61f12e235bb990081be064befac0b42e589b98704e24bb615b2e0fe1c73d6c785ce80c00c635c3cd14277502bf3d2f036e98e3ec301ff0ac778018ba828b812d8c2ab043e1fd1922b0510fd9dd05a61ee8be740ff60a534077d1f043207cb02a740275c026671d2878e5f10bfbf4dd142dc48793621ab3cfaa66df10a796997e3e7c35649fe4e4125624168a70c68c39de82666ec264feedb9b7c1b6d8ca058f30949e867480f54f0311c663a809fd24790b11bfd753d462383eb06ab0341571ddc331318c137a99c3ee1e5ac71d523c83adc9c01d215bf8b77a14e461f5344d73563cbaec833025298d20de4c34c03d708c68448c560a95addc56e2f9ef0dc2d3dd43e97d10ad11a09c461ce720ce2b20c04a9276607fbcc974aba275bd702c8e28ceb2f175fffcf32589dc568a411ba2af8912b65ed1de53fb1f350cadd6e0257565e906e4a956caab4ee33b97ea2e7bb9cd912bb02c4f8ca4ebbb38c412ad082562ab83b3a8f889cf5578e8d77626c75dd3e0774fc91174fa9807eb13670973834cfeddacdec4ce141a5f339a3a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001201c1b38c3a39f6789d9a15512af90f84fd27063524bcc58050994c8822493313c750fec4569bd65237016938496cdd19bcb398f9f97d644f3c4296122646a8824f454abe7169e40ed9c8cd2986928f537c077d91c5823721e138705593fd0ab316a26311aa60765266c5b182a3c280467c91645d7727646753c679a8975f81f3a6bf7838775eb67a0a0e07c63d59c45a3d5a5057656b052a7b1dc02bf1d625c2bacba8062003fe55be132dcb1593b0ce5e40158f20180e43233d1db273247f61cf6fe5f6b1c4e6aa4a491c7dbf1d16eabdde63c0ef229c44b475e0c44f91259163b8c70c3a788f06bc2a807b6dcd9873eb941a4e6e388a01b01c45732b5539721be24dea8f2c718eee078841717d3fa2c0710257cc9d8353f04e0c42395a69f3e618bc74e91d2371c0e013199bdb07260b7fe0b297e809d94561e26e8436e73130f861f40db0cae9d0b8ac303a4c7eab0991d0596dce5ec9e6cfaee4fdf41752fefe959fb38a9e1f8fc54d38648f75c58105a919cfaa4047f2c2288fb160386181223cb310ec859471fc2df05993700eaecd02977bbea8b621408401e9acdff100d227d6aa59f69df32fcbb0a1ad1fcb702c36b78f70ed538c547ca8506504a3b4288df072e1151d35bb0d05f44e2b31bd618c178990951ad1bce689622bb7f03999e00d08d54fb02a5627eb67052578555312fce4fd8df7cd872d228b259ed0e51f156cc4ef55ae94a642bfc3fd1e2d14663f51c34a594eea2fc2e0b1544ac2766b435e4b338ae96ffd85f10f08f0a110c922f033f35a7898cdd713bbea0fe155e8be9d97658d849709ae8f54a119e664c13b636bf8c0937dba5d68196f8a638a292a2c3b7a61f1f46af0e339e32bf4678af2b2a437332cb81eee43e8cec1c34563eef745be86a8c438071b97d1fc8ae2d6ecc5b369a195fbba3ee5fb8ee2f1742c97af759260fe727ffe31d3b099f18c143ee53bed50c19c9572a9e4e071b3c3e9ecbeccec8603ba8e71c0605d8098f776d3167e69e853fd57e7c5a0bd0142288b44b95979c3b7507a0c850aaa3790341f4d77af610172e30f2530d312643030f998305e65b2cb8cc8aa27e867857917c7877027e499fdfa119fc8803933c082a7cfb607df80854f0553a7c7586734aeb2285528a1b8f2b8893e76a668422122aacf07b53b0cdae8c483ae51acbede3a661e0016419382a9aef589211fd662fb622aace915445c0960bbff4c5cabdc5df47f4adfa26c6912d7b659b56462d22b0caf2fa19e256dfc9f43197b9ce83cb549550fb71b4f0f3880d09ee9f2f973b904c82d1e72d2f89079df1d6e995e1bb4ef28fe389e45b9840febe8a811a08077f0313db9a66c0687ac485cb2ddaf0b08fb8c100755529d3fb5d95ecf5fdb0393258d7e47d0f24f76ba1624cc19dc8b2afe6eaf0ac5c924879353c87557cd03b0a0b5321e4ce8792480d3af904be67509c23cf4396dabaf56bcf7a6e6f064322a5f6117c9636bb4b74b814570354ccbaf5c137fac30ed4c9e2a7b51e865ae90674156e020c9fdb8e1e0b490bd234aa6dc3892f1275da84c1dbc824de25925b09b916307400614e183b94e7985675deb0d074a5de113d68acbb86b897a85ea713064d03edaeece634fbaa89baff6df00cd334e2f5aa01426e90a6dac661809422fd721b5538ee01dc5b9156fa7052a79569a46e268dd79e6c058a7f9131579a28f15b0bde1806725e5b2cf6da631b9d2b0fe93a36edf72e4f04bcc4316b9c110cdbcebbcb1fd63a8117a6d23010fa0d0a2d8101bdafa8149326a47b843e84480b05eda6ad9c3965e27258f214dfd951175c87c601748941871e7cdd97bf332d2f732989cf9fa507fdcf94aae7985d13ee97b9547e87fce0a65e01b7cdc1ba2b2bc9b1c25364310ccd58240acf1c9284d0f6c3485a72e073fb72e6614afff60e02973ea86b605f5072c683dd27f90519f0cbbfd8d2693725d15bf50ec95e979831cb80311d388666a95670a542902639d34ce746a804655a5eccf8edb443a4d0104f9a7306ff7a85c635b71199dcc54c131f614c4d796046b76c146bb0bece0c385dcfdf858178130279f5bc0ca885b84100bd3fcf259a57428168b5cc4395d62a17d490a8ef9bd4ebb9c981d1685d408f6a9ce99c100c2d20423241d37fa71e265aaa155627b0e66eab7317c7ed194b3da36cdf310f85dfc86150dc3f5fcfd9038d9ed4e6089afcfef25d4188baab15a672805eead4ef0c50ed7b4328ed9d3b3493efd39d1ca1d62d16136a8a4c40b8e787275b045c42cfc3d9449ca434e7a13d0981a70f5b413b7ec1b117411ca653d429b2dc49ace7c9348e44d3b87b6a2934910349aac2e195a2353e5c2e761a25ccaa8f64efd006abbb9056d54ddb914818962aada1690c4604505230879f674fe746076b67f7dd997a53d8f4a9535b46223f57e22b9ee8e4577f08a5ca99487e3dec28b1ef47c99c38fd759c0637a8d938378718a4791959eb00ec60853c210a79bd408c5b7a1c1fb460ad3870dc21210d2d6b631f4ff5af0c89e4b2dc47a5971f00ed781ae9804e0126dd77395e7df92f750495e310c36b03c637e692bc7a21330d559067313a8bb0ffb3407d5ab55c37124d156f52afdcac5eaf41d4e3d2e0703e1068e33d21aac3b73a7c219b976f154ffb416c15ef5902fa20bfa76860f8649e5f4dc6519b01c581e62a95fff7260f565b221a6f0d081f824cbf7263aea5e8016fb9f0bb40a35d1055e37fc1372807202f8072b72665cf1dd31441b56b79cdc1173a46c48d63035d1e041528f8e01e4596ad6546d71ea4be4c865dbe0585cc78e831839f6333df226f5427122c2630fb2b1bffd2a6621ba27d8f5ddb68bf6a6d7d6f4a647edcdf3f7abc655ea96d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89726d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af202371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b60b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de7719282e61422653826d02ea408953f371935dabaffebe18f10316a0331ff1b89726d7d19ebdd9ac7d92fd15bf76ac0c8e8ee8ed4c0a8ee02a961690b9e00e476a3dc8e7e64abfa18c210e9342aea3c137be8dc173f06983997643f0129fb89af202371819b5405e73def16cbd515c3ec863b8d78818e3758222e940da6047650f34ec877f75be27bca548e04d6932c6162faa63538cdbad90ea9eeca91e9b06b60b1378808a41d8435ab71fb296cd39e9f29c35a87c714b8aae8e4443e164f94b089ea57d4cb6c6af3a6c61830dfdde6e65398cb19b167f663065db999907218a37615a82b3493950c5939e7cf2022191bd0d0c4a6e3679b568c7555366f8de773491d060b480d2277ac482a18116c2b0acd1df1c0e9efbef30eee71afcca7eb711f9ac5657cdc4686e45af78c4d5f4119758138f39ff1cd2738a1433d20761f83641f03a41a5f0889985e7dadbe91c39fc56de37b66b0cf9a4262f5a6b9647ca0e1fed6e96f9a1bb9a86b995dc884c34d3627bbb01cc5ec792d38788539920980b96b725e309b91ae2fddb766371e40279c76948d613794679759e0c0ff776d210a55c7017a98fea1b7c44b7adc48ee0cbb65f1d11d4ab6e8bfa6ad30f8117ef13b8cedf3ffc865a0ef17a51926b7d33233ab4ba1dd3276d99055810a125b5543223d7e6e9772430ddad95f20a93eb68f878ec53b9f03e8cdf476b0fa832da1a04d4c25b7b11baa09952f8bcf370825d7e49fb8370deb91a5f86c02d6ddff37203b83abb57d7f1d6b5b4e22f7f4b2e4798d8f0fe7418b93259dd3bdb5a9cd1741b8dbce7ff5ff71112a0446abdc670b929d390c02d05eed9834d3aba1c57e8583da9ad4f5433495a5544dbc799c1ddb5352e1a98cc41fac07d3e3375285290cc0ddbcf8603a638796ab48909278844ae8be894dba57ec2474adb648f6ab5e7ab095a5e9c53ea2c6659b374370f34a709b1179d0a9371c297f3a7133a9c84e7f7253d96dd20c1ec05caa1adabaf41ce947b35a34b2e248a904d604c5730dcfe7b089267aab0ab55b055e83d12e164281fc22fb4f980599ca07f0d193306a41a9f24a0f49a3e150f705ba3d2345ad727d0372c2c554214f4f19af9cea2e8df88d8226059c350fac971834d11ca77222eb7a8886df36d9749ea776a201e3c163a9b1fc4fc9a4a4f979c83decb89f4ad77a3c68593aee56668697bc8704d05022a0e34dcabd7f45ba6beadfa65649e5fe2a694f979a531f17c124be442891aa556070c8cce5022598854f53509d4092784d6b2ef137721e0f789b598b1d2e68e507c129b4a57d14854a628bd16d613dbb68c612053a5cf9e3f826373b645883e3d3403887d2323ddc921789f9088283c3487e9c22703b4d375d4c27e2a69b2ecd51e2f2569574743f2ce62868902f8024fc4ec9af297fa189ae6d3daefd1e8a13142160b7a09249fbb579c86428a41a5b2b1f6021267831c715ba4460a11faa9fdc70248328f1da0d04f969c86cc4c08aac58d0c61aff77a1e930f4105cc77422abf02cab2f1ca9293e7c7f034d8d1254680314fe79d6fd3be9d2c203c915fdd0c3a35835f58ca276d3863bd9f2020095f47bc3a0079188c5a65a68471e22ab99d661212f2188c631cd1bfb3184895b74e3ee0cfcd1be1505ee2fb55617813ae09f02f58ea95e62f0144fd5a9c1e701d85c758f77ee075f3370f47f4b620ee9d339c03e49918452d93606282088e482bf916311bc8b9b4e0d28d5c8e17c08f990d3c15f883ec983b32cd53ba9531849c5247b96e85924a956364fff004dc26080a742a8e2ec756fd9c7f0ce281e0b00f20d22390ffa06d146792cf7f68f228115d3306746d8f64d4bcc4b252f34694cf9bc5115382b311095c4690be7d878b727b15000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013624840cbb007303699c6813b09eb7e6609e367d1dcf0b9d42bb51a0383de4222c17d53c69bd957cc792c1d00a8f89b8b41341faa444cc43820eae666ab78d071fd1d2ff3ce9fa57e1149d236a2a92a1872a1c1b82f82dd5abe4ed44b8e73c2405979ece9f5a3a7e3300d906c2de4a4a8240bdbd7f79ef84b836c3645eacc9563e6c4d9d625189229e1a876863fffa3f5759468090d991bd81f2374d8bc1ba6530b401847a5560fef11566f7408bca42b2417d5abc4fb1efc365889c495d893a3bb66f06fe882c16c942bbbfb035941b08db797ab2153a21cef3dd63663a76ea3d58beb12a583ab5fde834daf85835ef271d445f497d40c2359fe38ae8c7180d24658a9b885efea2238fc8e9c2aa738893310c865e8791c4fc1ae96fb3c6a9f020f1b050a7919929bb85e45c0f8033a880dd19e9f06824ebd3efb79086b6e37f0c9d54a42b56e53265473d086085abcb1e5ba498170699462d3f5ca11a0072671e0bc781e8ac7b6ef30b83977e944237e3b06040b7c007dd4c0813fc28c056352165bf5b34491689adad8246634d31d18167b2e05948ed84c86c0e372cbf4c091cdec04be7fb49826d3a6daf6aa2c2d7c3adc1fcaedf6e44aa24e74c5a1ea9c3263a28908de10316f9ceda48c7e79c80652be226a1db2a3240435d3b44974a7601f2fae01155767b1889ecbc7f2916d6cdcf7e628c5761942591cb49f2c2bd5823144217709c8e4529b60698c2b7db8e5e56962caa397a67ba0983682d49228015f07639bb85fcdf0290680d632d69a693e518b11773b915c04cd3b6c4d445563ba2ce915305c7498e46683d51e4725b679655548de4df21fc856fcb990746aa17d32230897227ba4bed759257b1ee4b8334f6230e7193d5912cc8bdf367b52a14b3f3ef818588408fbc40db6053315c56fd7ce623dc97b353d9016700b238f518c52d956be0dd0a461f06a6494f871f5b89872aee9d35492ff47be049ef6f0d11392a44df8b9b595f65285c9dc9f25f46f9eb08165a52d40d4aac359864d6b3253da4132681dd4ecccde7cb9ff6aaf102d7a259cbfbaaceea9110f416ffe1ac3ef73f82a856f732526ed180e4de56dba17a60dcb151c83627a0803c3975188b1de05a64296c70fb2632fff15cb915ab27b7b7c5ae08068bfd9033850fecb06516cf3565b8fd6ed2b7a59912e2f1fd251c2cd2e43d9bf72eedcf81bedc853c7c301f38c0c8612c220ef2a29484ff3470f8f3dd7021af5e0f4ca94b1fe0510d881490e85182024e81e4c804095efbee32cc9eb74ae6dd28396238b52e5aa7d91a3aa1e70414e6000967aa8a1c948af84326594a46182b3f5aad867b48c57d83d63f0097bf8dc8e64ad5c904d44cb9bf7dddbe4d1cb1842ce40cec8494caa379f2369d8d1c1badf27b6f823040c1f55394b21c2918d3d06e0cb42140f791899c8d38c02404b38932e1da8d059481c4bbff42830d44b02225d630fc2ecf8cfcbc9f15ba0f4030949aeb2e6824c55eb848efa48b7241df4577892837a299700a286b22b42c4ade8f7256e66e52845ee9d44a487888e4f6b008ea8ea846832bd5cc432c55a5825f5349bac970a6c7be1583a3e0172e12c50372568028d9c00f05e7353c166996eb1c23596dd64c6b7bf87c32fcf74c184440e27fa2976889c6be6ada2306f7876c4d5b2dbe7c702f6abc31402b155bd7b3de75f2c3c833164a253edf0d0966f0e8dca8387a81f781c6acd077a25676d2332fd6b2f46891fcabf9776500e3b500067a6c567cc9ff517a15be028c5c376ad9c52d0830c185d50b1253e22275464b2070120fdbe93987c6249534bb15a568731949f0d7d9caef2c6201a92f605db1fc6026c9c1b61d5bede8c7fe6bfc919cd73c05643810bdf88facf039298fcb3c14fe47fd85bd0594cf1c5e6b9953fd2206bf984a4ba7c67076e302b4180116826028879e1a37487bc67ed7edaea14458575b2118d2a18584e590b3892ed08c753e8b092fffc85bf49dcc113c568cd73db9f2f98cc2460d731e1ea8953c4f8c474c490cf121b446c75bf3a9a2a241e74de285aa7c5783265564bec23b0964f42d55e0a97e10c68ff1dd56fe926d0b27da7784df2761b1bbc0e9a54a62000c4b0af5b8b8ded2e01645038b64fb8a7065f891435768fe6584ec3742c32418178defe2b52b73dd8d05461208948541d924844dcbd02c473007c578890aeb0d6fe469dc0f09b12c0979b42c6898ae0885b9fc0ddc27efd0c8cf6584a2b8b73d27f09076502756a680432ffb9f0e70da441d66f62f1c2178a04f16398a08720c3c64924792c899c3d55442d5d26fc6ea353566934a30001d12adafd2702fc82b39cd8b4c9774effa0a6722a74ee8c53a8aa50e4ca307cf2059f127be23155e3e322c3aca4e80ede915224862b3638549dd67535cb18790e869820e0f8525991bb927bc38efe42aae65295f102f9f02058cf1d6dcf00f57d776e845f1203fcd2ca6e479126317c4ae2e0ab74134f4a850be4b0831dfcccd968dc298bfe25f993e87307f0cebd5c04c85438318bd449393f3aaa583522cc107e7a893ccb54d0b093642ecc019f46aa40fc9dfb20c288151ac6503efad4c45a78b35e1b83873d7297e046c1d8505fdee5a0c7df150d7c816d8b282204980bfc72bff30909f61c2024a9448b780787a983e1b180cd9d8c72aac5806a247aaf559dfddd6919fad140f5f0a68d725044854decb38515636c2b7c6eae7b67bac313b3d432a2d3bedcd0767ce7efae236fc767f48867f2596beccae11d264aa6e0cd346ecfee78d897a00e71d664dc01015509d6cf9ca05f93b55d25d91f73233841d20f6e0b9b214162c7fcc5667df1673690025d3fbc533ff9f14c5f3b682c4e02ae52f9e80ec0f3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c0204b49a0d32048e2071504769351aacac54528b75b0155e3a707f3192cbde183dfb4b65f2cdfb71df8eafb896cae55375f24670939ce3bd5ebcb1bb6d3421e90a17870241fa16c6a23691650e09855f5da59cb94c706ad724327bf7ddfb567835e878fdbe05e9395dc96e9af1f67aa0c4a0fc42bcdc8e4474fab4f52204a9893275a30b49e271e12b10d6f9462f9adcd43c0f9e7e321633b4fc6bd755e8b0580d8a5cf4b61d8e1ed4ef2906b9d065234e0a895d8b1ae2e7e430c515aa174fa93c4c2f38716c3965d75432de5eee064fbe5883245b1383afbd66886dad8b71b503b3d0c78e93c69a28abcd21a111f9b063ee15d7ae39756bdbc6a87f52748e4c1b3b01d241ff11d2394588569795b5a3e33b9236aea7b57681fbb40ae567f46e3c14b8dd46bf6801d973ded605a174d96eb14134ef64d701a2542071b42a88e709c2663f182bb782f44bd828c1c15843eef1631836cdbde9d9da374ec7b6be9e385117c5c2a3e378cefc1a9644ac30b2575c45d18b5dbf42535daec6e3d905ff0bd5bf1fe860d9df6b1aa2cc900db6f579e1c1d831d66d20cc3ed15d69a8366617e638d11b6538a070aceb74a938b87828d09e3bbe159144e7f4c28cdc5b1cb528dd71b8f4487500310540af94880a49776b4de6f01d216560c47b0d9e555a7328b624eaaac06a01cf6233e1780933067795718b9a53f94fb6a219962fd4d39d2050a7cfbba2a2b829bf4add6f41a1a9cd755c28410ecc4faf0d152d26cc05033659839808743924046e707c9f208856c3a54e7ba5cf904844ecfd94c002e3b8012ce7ce868b4bdc3a9edce79e7147bcafa158802d28cbaccabd73b08f2d0dca214f2fd33644394b76bd519b37494ac1e419d24d82005392ba3ee1913d48786c3b02db50b9bd9bd04eacffc02152c46a3e1655ba45e15ec63d946456c360995432a9f5517bb9e325785a56fd279cd65d4f17b1b3162f47980edb2bb87d50b6c9137944dc80d61fc6fa5507e27dcd63b5bccf29c183f4107165f9d1ea09175631229f13deaa55fc6586e38476bc47dbf3c953ad85c76b0b9ae55d0f1f436ccf1c0e6b83673e42f66a23851c3cff95ea9a2ceed34e274c87378d85cc1dc7954bb718e2eee7175a528d7ea697975692dfad7cc29abbc8c2ed1ec4a8c05f8e9d13010d1a7076e7975c3ca988dd09769fb1c1994fbf6f07f561ca36dbad9dba82982a383ab784e543cb690300f23700acff11d84bffa4fe8140cf1cc072475012cc330aaa37808dbba490c2691e8d0513f96b54a45ce6341fd086605ebffb6e995f392e19f6900143e85cfa9298a005dc98559ee95afc56fa504085b8ce5d6e97ec0c2f3c526f089a83c0261a8d7c66f0d064b24f4ce89d385a8899e93b0701951def0919df916017aa8be669824befe5031d73f1c67a35d0348437477878c273177725531d410bc43b1bfd781163674d434ef612dcdb28f278f1cd28b4b1d0f77da91f2031c83507e6c670dfa5ed0509e98b25a278c5b5bd507dbad8c10a8833bf5b0a126d0deeb3401957bdbb746f03fa1da75f085e131612430b28ef81c508779c0c9ca01e40606ce791347d6c939a022c21feaf7f0986644d77d26376c18b3c753b23c6b76255632295c2da983ac7360186ee65d11bd3c74f1578860a5a21de5d0286465884f2cdd1c81d22b093e2e3644d74ef2f9c94cc8d04b7af0512f750c43d271f45146fa6694e3ac6d18c1559bfca3fc2775febf9ab25bbdf144fc4a1263f28253a03abb03276aed30eb01f78bcdad179d93c67af9f1fb5b0976d29639a33c154ed576d7d480625f353197df7af1cdc56d4fb7c2444ab9adac0ff5ed33a0f6ef6f0e3c8cd8af19e06f13d967229f1cb5914f78698203137f96990084769000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012cfade5803233039bffb386fe66ca294109a0b41966f50d7bc785d7fc3bd23472d402678b18df294371e72721f7a956de36851a0188183427e71d6ae31e11509084b3d6510881d7ae29ed8332ed64a5f4225c3a774df488a1d4cf7b8b034706b11d17a58dc17ff78f3f09d6ff02ba2951be3b137d17324850aaf77c89c98794b091b6b95b3f306a19bbe44af32a8c3643b5d1b57177d5afff9299ab0d3cc6b1122fb0e25ff921eceb135f26822fcbed09521719a168fba1a1ce39bfe4a74666b33fbf603f6b4e94ca160966af6f33b4cdfe57fb2580e897b62fab3f485e27e940f687d40583e3e52f8adcff7b7daf4e227758e8dfe93757855cfbba98540a7eb12f51d74065c5300c2db183b771af3cd3902feb5f44983daa6370ac96a105c152841d83a4640652baf144f52e18c5c0c2c76e0486f3fe70036f518d20bbab4920540f1c3bcafba22582db2f8c96e533a26a12af21c123732f4425e9aecd537d10de920cd30f8c20ec0bba1e930b7c1f9d87279cad6f6d35c7cf42a1d931382f133daa0ca44f471267bfba531be82304e351c9e9b8ed3cf33cfa15e9b683ecdf60a025ec4c68aeb4f0476a908e0cc8d62d4684d81252e2c8ea2de230d904f9cb50eb3841b67e5f4f10d129814fc0d072bcff6f397d0629d508f8b2d9c259fc9e011cd3c5ef7e3aded381dbc8477828f57971cf56d83fe445f1aa18c8eee87d1ad067dac9158dbdea3809777c320a0aa5282c0a4f21b4cd892335a6b224b58a89d0775f153919e18ea62f211ea171eae5477e140c27f163d744d39e0bb5344667e32ee83f3f79a312081fb91088da26859e6940c3674d213fcce83cb1982dbe3200480ce680aad69b11d9d58e9323a1af35eab183b0eaec6ed067c035758699dc9275359c472d207421f1973b387f59a74934bc7e01bb70badb34238f0f942b50e2d1b1b0b2a32d8899a618c0d7bd38550b92df6813afefb584b437f50850442d3254d997c64a2713f2fde4c3509377e614e78700699e0b57cae5d8c74d63af2c91cd5e674e5a84feb7e974e52434d25f5b0958cb3fd0a2b4f4a2182ce8bf0cc5f3c3e79608684e7c506546769bfa9d1a457a21388e1919a15938badb95195d8150aa80305eff71ed78a2b89c7a8ba51a44fb7fbeb790d7cdc197891d9acd03bf2371cb7439c03ac400d22965cedc5651803ce0c27ee149a38182c27035c50f747226d39a8511b1343112747509849e384081fa6270ab16291a49f0b1d18bacb013d24683e5d1c9f7641fa517548b53a261154361ec989c65f879b22fdec0aea47288cd058a0446db93e2b64241460de1b7092f3ce387d719d89d848595847ea230d7a4d0fc91fc7dd885776f8f7230d349f26e45ba18126428a0ef5d1dadb18dc165edbb9b9b3c94b520e6d62eae9f9d935fa4cc2686f26b5a5b67f4f4db280e1314436a7ae9a23fa528a7d79decebfa96e7e5e51b07b1a776e393cc502d0172f0e2f7ba2feafa31158258395ea5906e2efa01d2934a4f742744a8d5cd4e62486014c503666b1f8b87e17ee4aa0eb2278a94ccc79cad47d427a7b08cb7d5e392f0eac58a4ae8cae244363d9a78dbb98837153d0a36251aca8b05282d3d11fe1da22c1afb460b14fff99ec808f3bff8d10639344bd4a09df4cf537bc2f35a9740c365d1864567b8152faa3f28d639a429ddf16c97a5fa64206a6f92c1ca3300bb32bb1f671838d6456f1a5f21316c551916f7cb5c90467c4e4c76b25bbe7610644162ad429c7b9290cf5217a0c6318559f06415d5a05bab8f383933a88a488649c23ac869ff24d169c740b11729da6a98cf3bc4880c6a50e21cb9413caf5ada485010e3bf35e46921c0eeef3c248c8e2e10833e1d8384778f0a5bcc8066770c31e2f100fb309ede81240d56230feb5f3e6fa453df1b06f76129f83bcc2685b0fe23bcd2f95e7c3567f2c24c40f8c6d8c903c10eca26b4c20591d80d7d4ea7ba61039f367b8e0d40eae54ed40238355cd05aae841c16b196e2f13e4da6d3b1b9ea629c70d9e65ec2f040a0c810e33e0dda6e39c56f65566f69dba5baf2ed64554660dd1fe4ea84c4fecb5dc069c1204257c0ddc90a6bf614e6b3f0adf4e2c27da942f2b8e571a0ab9edd72c3f6fe8a849dd9b625a3b944d5aa45ec7183e789e34862986dce766e0b107b3059a32117a9ed0df012c67cb8224b51a2d06dc76b7ff040f26039d3177fb38f2b6596c30e0f28554b5e861208bfafe33574c010d0666000ae1c5721b1339708b9e6971a2eb6ad900c90d79cc675129ee2b081e03d7751507df5cd9bf9b62c5c88e46d9b013a6fc4eeb714206dcb66526db548c6ffd233e20b5350772f9172f3ba9b9ab99e4e5cec2bf3f81a28910896304c7eda7e5e61b3ef0a850efd24e5da7de6de4d73e08c819bd642e92394194402eaa2d3718a1d026854d9941d7841880bdc8d6353402f1f0fe1deca57a98b2f02797bee4134c6c3d41d2e93adcd955532974af46591b37eb8da1c048417b158bd47766491877d139e96b7928969ed427bdc609266ecd6fb7defa0256383291114b2de83b900f2624344124f9c9a0bca5964cf9dadb6cf05162ad209dcd2f511cdd4390acee0b6123be6a8ff1306fbf86b798100a3fa34c95166f3b2c6fb809cdda4970431a424d2882269a94935790d352ab8130dbc5dfc0d77542beb15706ee74de5bf4e2fb0b38d84db0e0700fecb9c1ac78316642a376db9e277b84b8650d711918f86046161b03e6de661a86dbb35596760f1c22c5230a01c074ba50c252612985fc1bc5641c2ddcbae0439115ed73013ef50e09e092996cf921fedd50dd8f0d5772ba67a23df0f7b06e2e79673c0195928a83116046fc84717a18ae41b4c35683e691e5dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac24fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a60215507121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a7235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec21ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f30c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c80f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f046391b039f6083a3eb391590f50b21b260f1dcae2b9149806d955ecfb02b959fdeac24fc609f7c5c14c6ea6f0af4de4d9f0e45986d6abfcc8b863a5d80c16a60215507121ce29233981d6bd4c937a87be4b90ad9a7de5ce831b3a7b40effec1f595a38ede31d6dcc67e2942b36c857841b47176cf11dac64c767f17921ed13e0a6a7235a906cdb01f8931b27ee164a6b779d36404757d088f88246844aff9c9cbec21ca56f9324fe076ce4d811e9b5948862ec0651a438c4009952a8e5ed6363413f30c4d2204709dadf87c7a66f74195611cab432bf0012e8542e3b15240f0fb9c80f3b2ddfb8f62520783859908be6a9ee5792663d093a10c76af21bc8f0f046393028cef393b3254af4291ab729ba2e2c73a7728cc6a4bff3b6d500b56f9a3a043bd0694f2b7a3ad746f17d50e5fe37e91abe551ae86d56809a63c9ce35b4e64f0029b70123aa771183f8afbff82ebc0461e4fcc53bc4391374131ff4013f6ace0cbe3279c1e64a1d566b5c1eaac3940ff8145136fe969a8b76b7ecf32aa0634818eecdcd82f53ee10613dcca4af3ee03e56ecfb23547bd880d5bc8622ae0bc9c325be5d1dfee6db6662c3ee29eb432ffc482a3eb8d50d1976111cf9fd23cf16c27ba5c3f7b59b07c846507c1a7521a129f867588f55ecbc290c579642d0fee7617b8b101cae6b50068bf823ae7e09ccbf443c4e36ab13bfa0a2b9ce2c84e859418076363b94dd99d20bc229da59e67335e6fe48c73f2ee93b9e97e1acecacb0e275b7ae6c3d50aae85cbaf4b75f22d4bfb5b8aa11db0dd3b8d04f852bfed6fb2293ba0add03319fa865920b9fe2fab2f5e7b4f9e1529a9a3c68ee9ecd7ba833623b372afdfdf5cd85a38b2b221893d9113a3a878926f5ad60019addfcf8a5910116730b463ed1580433e5b34b0a606309ec1ea86a797871768522979917daa8616987fae9634f9c78eb12539dbe35d3743c1e7f7c1630a0ec8e7bc93968eca9116e8d49d4b3cf022ee4161c2030256e54f3d508d1be93d31f75cf77753077b372883ed63272def07611cd550e95c0d3f665b253be6b7d5184c07f3b6bb2596212755a7a145078be754172203f7b8c7bfa750529980d4fc97e47103b86bdfbf7e1c7cd8753e971929387dddb43e3737c3e873eb1ce18833fed1199c090ada60d21a9be9c825245b517cf7440290c43c752e3f94f63355e6cb40a950169b1df1ee01074511f2587951615d80b1df8c10d67df75d6ade2915bd8618acde7d96fb182847850b77cca2f7b6c6b8462b8a14ae0cd90cccea37fbb9a73c9bde9cba5f2b2024f307b86441abf65df53ecc691e855b4df5409cd8bfe02c786bf42b9f7df734fe82cb8709650a1ffd2ccac61ceaf971e112f70a19e644737c6b72d3323fb6260719cc06bc07df03571d39b70dcd7386da5626d75655dbf0f3bbab344596d639c77dbf45c8f413402f1fed2cc48c024444bc5e179ac3e7de37e7f1dd79e72a038888496085a629a314e92ca6bfea2bd7f7f0c62ddc6c99e11a068d04253c5c07ad3bdc6fedfc4c3ee0c1a259b6e3be43eabbfcfb47664c45923ed2df383a1e3b87dcce725bfd0030ba277b71d169d241a81d13691f915c934658008413ebe71f0ddfcc0c52539f8a8867ce9f3f167224512b919c5ec9999fa1f90547c1d7f02fe8b631103e5fb6d05a81f22aecde7382e1e1dbadd201f7680f1d7280c906ef26a5cff5f1aadf52acbd81c8ecc04bcc0cd94cc83034e114ed018db8d82110a222ac089920c10e9dbf3cf69e2b1732d4d6fcc5cf0e70c2f054530483f7296d353536ab9ccfc54732797cf8c0f6872e80bf9186002d20a41d5a95c70dc4b8a11931ef64e09165009227fb160805210ed87d1fc2c0935595d5f996f9fd2249208a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012ea2dd2cef234b4210c0ad37e85de9c980195fc57aad1e2f6becd9d8eb1de148376b3e326781227e125403750574e18577d873df8bb58a392978b15263e4d6ba34fdfcfcd113e4a314b8b2ee84a329171323bb2645edfbe4ab8a80abd5f4b0220995d1cfebf6b8e9d98bce2ebb71f98c2f0f47b3bcc5119ce35894845fdacbda21f1d53a158edf6c077d9a91415da24fb16f84c276ed12da560aff10a1f47f3732ad21ff766ba69317b166a96a598ad98433295d7c433bc98c965ef6ea39ce020a0fc7e1f3677abb2f7afbe4c4ae36e7babc155df29c2815f03174362438c70a2357acea88e27a08aff70e434e4d2a876a98a09eec553bce1470a7a49962b51b354a52ba2796880c842a454bad93e1efea1e85291aad7f7e69df1e4f34d38d2126b7ef0d9784a2b56bc30ce9db4bbb584792b23163b78c23bb332fec7e75efec00c263c23fcbc468c0714a9959cc2ff6316106065e7a61e73e1ac11a9f2b9cb63e050c882c7c708f6a404b48fc3b9000cf30dada5b86f89179e75bf5b5649cf20bc6d0631855d65f582a7f96e7a378351bdba517a676292fe27c58416562e58429102edbf05442d206450b092e867f620cedd66efbf7bbfafbe3ee4d2e74a3af12a2053fe86e186b6d913f03802b3b73742a7101e3284cb15d7297815c948ac02d5713a4d1d244f2782243c995edd92053848365d7a705e3a03f6a554d905463314adfd878c903eb544d37170e52d56fe620230a598f2af6b9f8ab71b7f562b32961b81674497276ec8f92ee04cf422179fd4cd443bda98f62f7d415a33cab3c105a3dd2c861ef273369efa0530abe349010dfa91d84d2dcd764adaa901494313312fc4206b102f2912792825eae355095220cc908e9a6a4b4dce09ab459a6d53b1654b2463edbd9bd045f619928b178f1e1b1673689100c918f6f6b13083cb6087e6376b54f8042a26d762fbcaa00032c26cb8da76ee3f87f6850ce6ceeff860b683185c54262e4ab1b25361f82e1629bf72e408da9f10f1fe543f08d0714202f7a22b97c42876ed833ba6f92e3218d304884b2aef92e787be7b49e323346a30c9f3d6d149c5f983dc9b03ca20eea848222ad23374987cc3107532cbe4660ea13444fb4601c6e4d0c5f97351d523f1edc0e6c4a550fb6d03eb2955a7e58f8fb23f10cdd7800e950bb63fc37e1d57303f7e01bfc729f2412b92090d0d2b1d2840f47ff239554e5a56b59e67c5ccef57b6ccac9d4a81c5597fa5f13c7e4370ee7081558fb87e57a90b7fc8f886c820ff6f8655aef30fa0618b242272058ea86f9018f938df8f612b19c6a908462da4efced7ff0fd79e5b3fc7e2944f444e5bd2f13088ebbfe25bce47c143e7e30fbd2bef87701c208a39d32943e5ed7a94f8aa21df3749e7d5ac97ad6279dbf74f66f3ad0da80e89d7bd95903cbe26863465e913f3c7187146f9a718ea233e99108f1f199d0bff1072458b8e94674e5809940880639f2b6dffc13acb096d1f027ff8ecc4d02eb59235fc750a49476ed44f813662267a45913ee5a856b31027ec65b422f548d506b292ea44fce39f0d698b779be269f967f432c915527b7c0b8fe0cdc30ccdb12405083410e1045f0b7bdbea551025ba239b98d2df6dbfee83562c358424ac3992d164b8b83e232d5ae27ff6c080b9522c5325f612be5dcbc113dc7cd77a19efd93389cb4d5aae38c3a29ab3d10008e0472699bd5b782c02bd6dd4fe64579c0cff1af8aa93e2b36d33d782b320e361fe06c74dfb976179c2b98dd4fe9c8f173b93d9f441bfb0b5ee3c63c2e1d3f1a0b98f8d27f7d309931d9f43ebeaa595ba73078df2f330e3d0a8aabe466fe5625720caccf1258f178666bc411ea33951a06d2b2bbf3ea944b12a02ad7f0d40d056c5f6b5c8259255d1ae243e1602ebc39e8b82ec27a92574bd906d55718d9a1222de67eedd7c75fcfd5609df0369b4612461cda94cc9b4a070514aebb4222a1325ddde4b54987c71074fccddc23cd46b301a3265405ae0e064d720561d1ba532c0ef523905547764070657c947c129c8d3428053c9ccc3d600e6defb7d804e4332336d3e4fab92540b7753b073ce9df5a84a417885f1bca8c61186e472d4e4b329f9220650442731d25099d9d59cce778df9a3710be31d2be407316257154892e20ba781417e6aa740f37a7a636fa616018b5a39b7eb263f3dddb4169b465f92f3cf08938cac4de0d3c1a1b67ce0c61963c26c9f377055ad7dd2b91a8b41a5e23ed7ea2f5b61811548ebf86d40cfe8a8aa664a77d90fac61d30c3cea76df3012f0f6d87cd8398a16289173b86b7bac060b64e469f05bd746bd7a8aa9befde530e25cb362aba4fe12fe85bbd8075f2faffc4126cde6df9f99daa7adb764fd14236f6a7172c265c29c5c3d5e09083e9769a2527d550cc50130228caad7fbfce91303ef30a7bd03074fa48a6c977d96d013a4c577e505b61357229c798c17add6034dd27eb92ebd94bf75d52a0458745836f572be344ad57f016a78bcff06f258e05b50db566f4831d12c3e6c4d4c817b387bffb080fe474a79eb7485255c0700a1e97306171a946fab6a458639e87906434315be9e77cd4d2c7e244741a660a9c252fe4a2f90405d4485f66f21fbb75cdd646cbe5ea1d774721708fbdbdef401601b74a64b29a0300ee5d6362c81ee7458abe1fa158f6d649b7d8ed19e9b4fa961ca3e5527009bb58430f3b7e183c091d3e9f709e009edde913e5b76eaaadaa2c0c7d4e501c559a9f45908745b0c267f4a4c708ffb2343f97c4700805e58297be116518b7e96342643e5ba4da96b725cfe274c53d622d77eabe2a22619c0097ae3b00e761231addded1eefb319de59f43ea689d3206637290cd1ad568a825854700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c0158abd2440de6ecef8fe623dd9fb3ca1cbfb1b833284d6c2d1298dccdd012f3fea7542dbbf21913107019dc22604e5a4cd00edc9c696c26a5fc37233230013c06bb5b1b544582a0adcf7eb3541e80ce262eb8043037c98a0e4e2c50051042c3f944a4e4abba7d5f5230814cabe18156436108909f59f008c4c0a3affaefd22c21a8c788a55b8d23650d7980a49881e25559d7802185361f74780d90195131d3de5738775aa472dc9af2867f5b6780421435e914ae0c83735e96c26fe6aee2dca84be5ab3ac9c1b0f9435f8336fa8522d7a1b45708769b77a03aa3d07e95d12357b41a54c5363e4f06bca07cc9057d0191ee0c3dc71b1e1b32d42c2f816a410c0158abd2440de6ecef8fe623dd9fb3ca1cbfb1b833284d6c2d1298dccdd012f3fea7542dbbf21913107019dc22604e5a4cd00edc9c696c26a5fc37233230013c06bb5b1b544582a0adcf7eb3541e80ce262eb8043037c98a0e4e2c50051042c3f944a4e4abba7d5f5230814cabe18156436108909f59f008c4c0a3affaefd22c21a8c788a55b8d23650d7980a49881e25559d7802185361f74780d90195131d3de5738775aa472dc9af2867f5b6780421435e914ae0c83735e96c26fe6aee2dca84be5ab3ac9c1b0f9435f8336fa8522d7a1b45708769b77a03aa3d07e95d12357b41a54c5363e4f06bca07cc9057d0191ee0c3dc71b1e1b32d42c2f816a434f1d6a76617217fd47de125b89fcae31a188d88d44b7b546abf76f17403ac2521720972c98a8cd0d756d8db65d733de7e8f56990a884b5b1f83b7a9c21ddea123757004944dfb2e14d56440900c32175e390e0d87c7d012d7e0af0ffc6e7ac82e84d25f06d3f18109ff8542916f308f34ad5a3826c7540f0baf8ba5e656dc9f1da5035ac2fce6f855f81ea1854302c9c85d5dabc392b143b0336972dda766a414ce1b249943c861207bf9a4a8cf7f06f72f218811deb050ea2bb9cd3955bcb8200c60167513ac9b0756e02ccb8d139d42788265f32f0c01aca2f36b712308713ab26dcd50d240b488eeb69673673e9f180e729a5a7c9ab6baa278454add837b2d82a712626292a6820975f7554d223022f1088d3587c3cf3a0ce1c453e8d5111b8ff2681ffc2677134df16a6339d0d9e0fdc3c7fe76c329c600175333dd78a212a3370f969c8fdf10321968010e9f0056d8b038f8d3fe5d5d7543887f7b0cf80b7fc5b1c894479cf55f1d64751f53c2968cc3bc1fe2bb9852eec7d1665a7e781f3fcd94d729a1a42627f6065b787f6f85cc56c90d484be895af522fa7a1727c126756a4dabd545082d019c8ae0226d9e03219d08c41361576683de94abcbdc22a8b90f15c357e3e88e1da38e6e99b992227a2351d4beee87897a2a55ef5555c2bf5ea7e282de46f58182eb422d59b40a59d40f82ab52ef38dd65de6fe2ec58228f13b38d8760d943399135ea454b3aae10864135a21586737efb077cd00c4721d6ccdbddf46a3390755c5ce1f6a9e2c544e2b5cfd5f299e6df247b7c8c20d9a2f4947d89898b411ea79107a1028e7ff91459e82f03cfab9e12da955c15dd9f40209e36daafa3236a1f4c55c9ec6bb9c3e1fa235032a89c208eb80dda1eb1efe2117c42aafe9ec8270ce19cc12e3e3063b8eadd4ade7ba931132c0e823be23562a33c375301cb0714bfc061f6941291a11f9dd7ba2fca4255b93e24302ac10a0124bc624e475e70555f77f060064ddeb390443b685d4719df399486b0ed53b9221a4450fa98ffa705f87f0dcf7c440723d5a9d8a35c235626665f18cc0fc766c27c4a0c4fde97fc3d5bf917ffab6c2bd5cf5f0a0b7cb9f47aa37220e3cd1b308025245f79029a325064626fa50f2d3c33016bec0e0d122e80c891a6d1fbd452d2f52caa4c30bda9f860b342c974dd05e7480c104769c60e2fea455c85500d50b2e46a8b6b1d786039227b78a88a34eebcee072d3c1493efc62f678eda227992a15a55db3559bac0b42976f7c4678dd26cab57c6febc003d57defa97dc831fa7a023346926a7e3152f0e387013634304a3fc9e7da49da034ceaa6e677662863f7064d8ca784d3809c1c99ff7e431c8a33ec6f1f627ab3a392a14552ad7df1f3490bf9fd9f7c1717298402a4f9308119c8a308714d37598c7d82d51d54fd9f200b04325bd1757b293f36038634989e24d905394cfd2564daf0e67321f73b23cfb51af8f2904df76f2d1d14723b9baad71c6e46fff3cf479ac51a3211cc1f41829c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012d6699af4de02e0cdfb434557500cb7f0b102f751ccac509ab95e4573c4753923c72dc7e21d60d5311dc758e6a4a4817bd509eb0a4742ca6e743048041bda7f314e06a9aafd47a0a4da092470191504bda2b1f5889d6c7d93d2a8b5d0aab2fc23ff87b0c3bc97f0bbe9e6642b6ba51ae7b7bb65df7c235b4043d51685949c51000f2972a8ae2467dc0551e8dc3bee0b219a5f2629ce3734ac36d29acacfed1e61484c20927986de60d0bacc93b09f51805c8a41a2b3042b8c9319a6f8e3f7ce408a40744906f7e944119514385a687659e9e494f9e6d934dcc9ff36600a5eb530b314df55d5036ad832e26e3dc2ab7025af86327a2eec8a86503643209d4049d15cad2e7da9882bb561456213334b8c7fae7aba2c687d8b9f52c7ab747ae386434d0254eef66b85a884f2eaae50c25fa5070a3f9209f9957b5d0e281f55f584011d3072606ce3539decc3a185643e995687713135a1e15b8ca3f649f2399ed3e37c4bb0ba9b4d539a14bc0192881d9710ec3eed913f159e450122c4389bd06c12d9f2e161533ea49a48a50fb94db3ed6c8f456bfc1ccf70afcc6e71445d27c1a0983c11c793457556b28436bf86b194d3876addf2b4ffdfc528b06b00299991a2345c76622a689a26fa687436133b2f2bca5171e3288d2c22b95618f1fe633e009bd846dcd9f550f9b51a4b3ec924112d8c3312741666caaa7c27ecdac60c804002000e360578cde0821ae74af410bcf28619444866ce2f3c997a6d9be026c4e06f6ac1f4733d773654dcce0612731b914c7cec600cfabd534fd9834beb9d4e0313dd180798fa0b0d3692cb1299fae496329fb6671dd75c4321ccdc149b446e036ad0da47b1c36adf85ff396dd189a60e1e389d1e21e62ec68ae31a2a6be0f0c3507034966a951e627d07632003bff7ca07ead70075a417d52f71dfa2cc8dd970127813529ee48909448f5355b99a081f818bfd5a1c13bf83294fdc6d85c78ea05daf2ea5e60ee69ac326ecec82963127d3789b4e77fed46977583f8942576ca0340ecf8a09f4bbd4a3717048f75e4cfd4dc28b21d49f24a2382054c4d2be6952ad247c00d7835cbb152a2be9d0e4804f0aeb5b25a2c7866fa3271fd4b9326c615d81570487b76a2de1a87e64f0662d0164870a056b034877fb351836e1ef6102c0ae12a7af09d73b281dd02a3e3d5c7507c02a63e3c2dd9d6adf7db5dced8fa2ba9a23f2261e7aea425cfdcdfb52c864f82e8606db1d868a75525e25e4bc67b027ee7ea8b3500ffe4f5c1dcdd4afd1e09d6c7702128842de7a081970b9965911d9053fac47acdcd67533d6d042bf0fe16ec72f76118e2aa6df6a750e0a6ac4201c0a57185990697dc17d7ee5360217deb506a990ae6ad096fbff6e99bea5ffc395d7637246a29eac39f27fa0917483179c1ede7d3b46dadcb8fc38619a888d50b97459b9b6756f2dc8f7ee22afbfef6c44dd73c1388efb39f30f317928072f71e6aee6a68de906640b58b00c89fc6f22cb95409108703aea45c07b9323594b737e28f02226b239f4c50b4cf999c7947dee139413bfe876830e7991b95e509483c4b2058fd1304142a93389bda884e4812d29fcfff938398938bfef639e633e0385f26ba500fe17843e2a1de58fac066475e877514a0ae65ce3e874d5d423c890752ca71cc91c7a1bc3e079b8f09931856997e76a289c6c2a811916a5103ce6c3a77c452040f70028093756fad15844b2c2ee9dbb05d46d2d014f5e86085388b361fac7379838c5cc0eacec1ff8964e8ed2d4761e78456507e51a6afe075def1156a01a6470d7b644e6cf0bfd72ee21b1ff0d76c31028c99ab3dd5e8bf0267c336dbc4a9baac69b91834663345bae1b46ba93de42d377fdb894e91fae51ff351348202131ddd0918c9f21bb4c16ed2fd9789fa263d7488a910e50fc871b327e6064c39b82c20d961113b7044f5bbe7e93e5b0b35b1b8f42b4bad5d38257bad81208e3a781718688baba5691893325b8623d5b5792eb3ca77ab47d183d82925b1346f1bb4e8564ff124f8799429c8ddb22ca55e996431ea0345a83bd3a402f2f81cf268f3bb3c2ad08acbd5a3ef8ba6e26142366cd253c65a4a479407d412f0fc125e92ae2b01a24d0918ab1f5ce66f939ea5095f98c7b45f1e653050210c224b3c86ad3f48c30e2a739eab1c6c4c526e3c57cc295f30abaca66dd70a198ab2c3045913052708e7331b4a94a3da06e50c3c5e09745ab3acdb0018ed70be4a8dbb08ba3786d59df67165ea6a632e8b4ec23523e6462b6c247a76360364ea90a9b8330329e961b9687cc30dc738e132bed053d403d3b6fc1badfc9d36fdefdadcd60243e52e52791172ca63fa36859eb6eb7a92a991946e3fd5e6a8833d56c475ea38d4c06713b87dc439d2383a7ec23388b4564644814d37518b444fd2d7b887643ee72c274926fe908e73f848675ff0d948be2e4e2d423e713f6f06d1f12c18242bf04ec99b50d73c047d31c3b172cd9eba40d5670dfbe9b879c6b9b5a70743ff1c085c502be590e4447eeaa90a706fdd89f0d3c58c320e7d8c0c59ae8412a7e637e394bf654c5b537fe69a63ff9f68419c8cedfee9c8f7a3769929a3cc09ec3113c586e92f70353dad44368c716e8a7bb5724b03dd61c3a2d0fe1754d0baa079318309f2650b2c69cead42533c6e8a7bb5ec1caab78c532cdeb665d2c529ba1601a12ccedd8be7a1613383b82cb19d8d63d13ebc6a77b00471600edf975dd60a002e4bfa63e2f8759ec11638a2f33cf10b913754990d13ae86d7479b37a558bb206ae3fa499e1ae72ed8bd49248624c41998f554783e1ef93abdb38d1cf276681a1bb4e8b6e7548b6dc7d5ec6df1307348f9eb1bcf0eeb18eed3f7687d09e2b700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017e6c570737897f385e789dcbc7a09bd4f82ab3e1182aecd80ec9d0beefa6c6d28193a8f8c87680c7a1876234385f642d2c3edbdf7ca4a4e184093e1110593943781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e20087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e1158947fb46c6d6c8139c768e67eaf37b8f475833620e501934849dd55674969c2a76b804b9392937ec63897198150c8492ff40c8a73ea90264a89317a98b69652bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef617e6c570737897f385e789dcbc7a09bd4f82ab3e1182aecd80ec9d0beefa6c6d28193a8f8c87680c7a1876234385f642d2c3edbdf7ca4a4e184093e1110593943781db32415af7c19d85b14fae6230b26b46bf3a4e4070e7eb71e04eaae41e20087e24cdbea5083e627a4eb0519dcf4db6ffd9c1bb0c8833adbb509e551be1e1158947fb46c6d6c8139c768e67eaf37b8f475833620e501934849dd55674969c2a76b804b9392937ec63897198150c8492ff40c8a73ea90264a89317a98b69652bae67e861e231e8620e50c80796c169aa1e2004e0fa97626d69e43db046f10b145198179e1dce179df1af37f8693e96782878f7285261b92bc34caf4fb90ef600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000105fbdf096557a03b25bf35acc74d9ce90119a95190356193faa88439a618ce732a46235f29ebfa7b42e6ad41faa1c742a58a763e5d4f1b21c6c630044fd1e25f0d9b4516f66fd73fdad092a70a21f4a92092572b3bfb231c277e05e7dc52cc7b1d9bdc97579352b0ca561c21471bfc7656cd31625476814b06fb5267d1d0a1a239f83f8e01e4b3f1aaa13a910949508a8aba7655978b6cc3b6bc97ad3d362540285a3126cc49e5eab02558b372b5c739400b8c856bfe24a65d710cfa51ec33cd324035882f30c9bae6ed4d74d6317772b0921a00a173e9d1766675eac657df6d3b87f85ee5a5232950b2bbc4dfec51e675228f9a299804634c8476b040c84a0b24511502b821c6bb6aebe3ec2ea378f0cac9b1ec1f11b00fa3bd7b0a203c438d3476f1a6291e10aebab0f2f9445c5ecf5c811641f125b5cf606eb9fb9f7f16fe394fcde7f50b30aaf3aaa82958221ebcb832884572b215f282a305b00c8f474d148f4026d89d8a8821636522ef57ad5c0a37c9d7bf6126447153fb95abd2c8ec063aa65dc728490afa5623ca99aef39333db909302a877fafc7ee84d4ac44207091f66d43a11d11d329144c33b6677ac2270cb24a4468df2477c621a61c6e01e29594c98ea233103837d251059aeecced1e9086bf9da67d692dc56520564ed42264d6b44e7b08a9d990c1da94851661588f1382305936992979505a5984a715a3e40b31658dcd810ecbfc7a728c8f10868b8eb3aaacb8f04f05941715d00b1303b1246ca4cb2d5aedccb378f5c0c813d03c74f91fd8060dde0d5791e84c09046277f8e1c2a764289050205e57cb4fab84f4b4ef87049fad26971e1b2fb5bfa9e3387e50d85792e2b2e9acb3ab8359ad57a3f1bc45b65f8f3f0c71ed6c6b64758272f31fb455c7733d0b1fadcb0b40f9143c262f5b88e271b3a11484bd1edf146316654f09ba28b4b5f32913db4f7401480169e961eb8c0f8a1cc5bed3e7d4b2523f4f399b0b2042e1a382f5975de4f33aceda5a9302271271583304137b52049184bd7b6b5dc3e58450e67fc757c0473d8c2396c4425c6cad3e59d9857531c1927e263cddfb8fbc17ca35dc9a9f7011000a51c0d73931761470b7d46d076e58f30fe0ecb6f75dbd338219089221d51b1ac5a53c7b58bafd5ad379cce7249e12111fd1436e5a2db5754262aa0652259f06c26e759d0526cf91c06290884f6be910a42c8996eda8b21c37c9aba45cb515ba4c39650295671eb5bafbc8ce443475406a50fc59690305ee1b65e66cd00a53200643e52449054ecb0b9da9524d033690b0f69aa954539017d1592d154c36bb27100ecae56c234b42e162cc28e77efd83cfa0c81e543d856b28e8c3587f1a7dca0e27236914247d8baa996d5248c0ebc2cbb2f5f50cb33dc43eae1dcad6dc5ad64dff3d522c1b87093b13ce7de3003591b906550fac502e2588bc8f52d9a004d3aeb65dc31b763c7896a620cbb35660c3037ec92ed1caf60c7107e97645ba4e2f35bd315ea5c5c36522fdaa06a0805c827c726aa13e76c573210dc11189065d42901979ba91d085f6758d083175532471dc2f9e4ba742247c602b32df00f1b2574d496bb5a2c26e5ec5367635c9bb8571b79ec942a85c87c60ad8bd2b1be0e1153689c8b0d8c69d641c5265a2f740154337b89c580a20d742731239269b35f2af756447f9d695a4cdb236b4af30d14b22800b703f64e023a987db8258f3f95288f9ff7994a30630a366570021ca1f947064d7973399e8d87f8bc993afc4b46f5c799670f700190268b4b847d9a8c9045365b6c116d1ab99726ca4b43f6d48107c9cdf866c1fbbac00b19ea5c6a260ced05529456cca77c588742426a9752552786b5f2a36716bddcc2ae4c48a817f6e33ae4acb690a46b7f118d6b5e9ee8c1c9f53827b9a673e81c24317fa4f8fc3b9e22ea0ca7a1702d36ad796780b06ff97c6dbc884fb71ecbd41df2364b8b89fbd80da73d7a41d1e4fdad7bc8f7b6fbeab26790edd11fb30fed715200cdd96864820fa6aabd389ae90f501e999867db1544f163a9c940a8393b8dc7b259973e4e6b0003a2151e68ba2f3e502cd64b1a644f0dde589d9fc666161c65c0326749e6382df61ec33fbb57230f2122c198f5d2e213ec620f2fce21110167038f410e440a0ce4cd76a810d89ce67020716553a37eb63b49ffa7945a84e441baad2ba1380523232b5be120a39eb92ae0d9e80b1e166d0557ccdf5303416bec7ca46498f1261720a824faa58415c92e7aa38d32d9f5326641493d56c33afc046ac65033dfe81b48a37e5c09401a8db50b13665a6075fb18dcada7eade69e6ecbc0269f59ed508d12f750e3952276a29633b3ecdc196dfc8111305ffa87500057690990c940d0acd28b98c98613d611f0be763fef2950e61cc8319237a9bbc31b99f348c7a310000000000000000000000000000000000000000000000000000000000000000143d9847413bef319161be2cca782a0b3c327f2c0440535606ae86dd1b71562330f8da730856a693e8bc313fcf4123afdf58d3dbf58eaa9d9fc5dd87b73f05f913feb719b9d85abac34449febc44c854c43b7b542144197fba67fd2387a69a4b3c6d39842b5349f45e189fe7a091d7e2afa9f67b412aeb5ad8cf3a0e9f82faa207c6d39842b5349f45e189fe7a091d7e2d1f08f774a77e47671fc6afb9f82fad1b4e610ad4d27d178627f9e82475f8a3e1f1c3be1cb0743e4d370c1be0bea7872369cc215a9a4fa2f0c4ff3d048ebf148d6184f5c83c8b15963d79f9fc17d4f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000130fd59198d0dfb69fac6505b7a8f20f4e3974cc74e37ee54583e48a34a8714c2cf02a6e672f204960539afa48570df0d40d242f94697a3653a94c62cb578eb51f4f2bd7fc145e911e5df91c964cba4c64d8af023f24815ec26645c6074a367b20b0d42803eba16ee1a206e369b345b3bd6de9f9ca2877bcd6c6eb26f8b5c9861c8bdb37ec65d8d597d5dd8eef7fa37db3ae3913291c94a299a4fb0424731065237424c8139a272a682a227110805c826e985fe8e0306478ff8835e8db8cef9c0ebb48179dfd3c2bf72d53caad7e31743dd9eb67baf4f4f5cdde853ab63f51f73144b7e86202c3d408d2ac355281ce8be46cad944e580425cb4eabb249c0ae0a130fd59198d0dfb69fac6505b7a8f20f4e3974cc74e37ee54583e48a34a8714c2cf02a6e672f204960539afa48570df0d40d242f94697a3653a94c62cb578eb51f4f2bd7fc145e911e5df91c964cba4c64d8af023f24815ec26645c6074a367b20b0d42803eba16ee1a206e369b345b3bd6de9f9ca2877bcd6c6eb26f8b5c9861c8bdb37ec65d8d597d5dd8eef7fa37db3ae3913291c94a299a4fb0424731065237424c8139a272a682a227110805c826e985fe8e0306478ff8835e8db8cef9c0ebb48179dfd3c2bf72d53caad7e31743dd9eb67baf4f4f5cdde853ab63f51f73144b7e86202c3d408d2ac355281ce8be46cad944e580425cb4eabb249c0ae0a1d763af3cdbb5bd24300924a36f9fdc11899615f61b1ee7f430d03231ebd938e0f261953e056fc73fc3a18fa43a59b459f165b12cd7cfc28fabadfaf919f81c70df00364588ef0654354ea72e2ecf161f4f2e11d050216e20449a23d47aab44e1cd0a90b42c983084844182d7385363419e94fdf2b6322ab2e82cf681a594ccb29cb6d3146755d6ff35db1777c7a120bd2733b6e661e72651ca660c35549576e3caf30b59c04b456ec919f1c3728e03747611484dc5466deb4b554caa403d545310a7877675b652a3bfc74fa5ed2ea11af936ed89cf99487cfc86f9f4302864015402c54946ad88b4f88e600e7d6c87df119258c8126bafab21ba340e001f51506f670918010672eb1314289cd033f6a131a039393fbc334a30f513e0e51896937bd197d122c4c41fcc7737fa9c134a7c190e4dd51a655f1e6166ff124422f1921180ec4aa1c7a6ba2535461d105bf7c08618ef82fd5f163612fadee45b188be1616835215c83157b971a49f5f0993251b68cf87322d6f0a35e12f282183b4cb0a38132999c6824ebc1e6f86f4ebf43fec27216788ad4ffcabb27c17aa62d47b06f8030e88a7df613d8d8b78b5cfd54c968a5387658690f54dfea8af49ac65e522025395292562938193596f5444721fbe3d51702f443f585dc474e94c9ebf3003cd1b2af2f8ecaa29c9191ede4c35a2a17d07f58f42945004b232b4a86151c83f205f33061e5b19913510f42f0cf57bd5b31c75099add1c85f1c02a42ebafad115ac013f53a10695c9f0dd439f30525a96927f783e8c8596ea63dcddb4f2a113ede469d191d6c8800974aecb3699ce0f24938f6c0846c49c92d6e9803f64b3c3532333e1e0b28d8c625c8adea89f1347d4b69677c14812128aa39afc15cfd090a1310287cc5edb82b25018e974e93b6bb47d1abea881cd1047c67b63081591e1fd35f27eaf01f82e98091af717669a2eee48fb51880d5046a9661dc12377654192ac929dd277f85c4ca393f5fa47048fe6e3859236c31ad6d553c236f5060f1056c106706436f47bf90f8d74240e49796ca9a7cf4bae8ba769ad734a6db238e1c0b540979e131b3a56af90f72975e6641cd1fdda71ace54eab814067a0a9f00398ab6a0bada50868a218b2f413c656611ccd7f997ab1011c8ef27c03c1ac8df1fd233a2172178101f6f07e7c23bbe6e70d0bd3ac9e88f5f58e1023837a555290c565b923553292c9c3a19f19c463f2308e699223592d785bee93336888cba85208e8a330c6141a87cfa225aab2e734f012edf4cda551f1f97325528e2cd344a225e3b0970fac29350cbf034c0b42501b0e6c36ef45a0f47a85156338b3ac21504a7472473814a57ae911aefd853cf84364a04e68f42e463dbd34623e6938ea515cf83a96d1b90b8b2c2cb95cd8a6a656490601c0f2df117ff3cf04b4cdcfde6078c266f6c0ef2a46a8771f27f76186e8e05d6a5e3118424308a339ee1d1166927b353ac3d94acc0662e1925c744825f704be60797a79ad2f38324e627b3e76e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000136232874440d71841c2f54f91ec54238ba0fdbdd775e72530454072e7828f1730f85bae008817605f16dd61d7e1b83db11954590786b014a1a44ddf4c41221870176df2a0348b3d24944340cd036ef446bd82969c0be4ea77cb81ae7bbae78810a592b456dda1863448fc0e0b6ea32ca02b4e6d34075072d0ecc9e8c25d3556e139954a812ddee191523cfefa3307ec2d5cc065af1591a7c823c8ef9426e971525ea6642572c253e197dc00aad113e810b16d7968f3326da9e2173530bfccee30403ac752f5f321e4fe14c41440cd3ea38a9b0f565eacb199ea0828431fce605124fd5032a2bb50cdad3791c4499dad8efe5fcc18548e3c0779fddd9ae391ab83ae765f8a5b740b13e8a26d4d66bf4e0f75eec5226331a032b6737373ef5cd1b0de4b683ced3f8a0f2ff542a5fce33ae638e3b6262511073e618dad9e01b5e9610d921bd1aa92b8e2ba478dddcb99adcb928e2e59af8b45b8bfc3d645b8de2250ce58d730aca34cd93706d21bd68c87d6cf86a6ce55f10fdba0b093f746022c2172b80951b65ba3f8ae00738aee03f5498ec3984559b9cf7217bcff02bf1361e321637672271e1874a48d5845127340e8aedb50662210b5b78eb1dcd4d8f575138627b93fb7ba258b6ebc4d89b76424a5f1abeb9ec5cfe4069674353db4d4cba37972582dc4e155df9388690538c7a2dad9e86b773cab90def03e111bfc160b31617e4aead385e241a3e118ac18fccdcd798d11d6d9ab1db5592eeae51c5f9da2c712f83b914637c510dbe10f5fc92824040c8e13642c84024269f49badca065190f9e9b3c24950bc73cccec3a4904004ff6fb8e7794bcf2d48b3057c091929736de71edae81c07c5623d858a2dddbb01c25784876b806024aae095c5192b873246c755b52145b6baa92f24ad9616464d8f95f511acc119d18eb4b1336955ed01f41e20e812e35fa2bc45b59078574272ec096d692907d2528779f1ede56328e3b826baf8a5ffeee87c396f0f2cd5ef9a2229e48481402aea8a0becb8fc92a4a1b2f592325ec076f99aeb10447a79a1076a1ea7d52000d839555337f12fda6972d94212e4496c6af9fc82e47837d11afe60d162cf179ab44c147fd47d8620ca831fb52ee84ba1b2791c10c1541f59f4cad2e60da5657cd0c185134c3e743964917cd308f2c3056e67567e7a5b9fe99555fb8fe1e18d034f4383351dbc751e1a01bd26c52a484f36c7de62465ffff5bd12acbd03a918d21fd3a1092d66994d8a719d144043391afa54e13ed62c022fe1a7a7170fb1531c905474fd74b0fbce73b353961080087d55327b6e94fdf7275633251865e3363d744b33ee2d941353d96108981ff9f4bf9d381189720ccbad98fecfc18f4a372420681b163e9aa871cbc2794731763c5759b829abd27b53dbe8d8710be1db38f4c1d874d2b5f41c068c118ddcf2eb85b4a6f2b23e3a9a615da996792bd573d8ae3d9c7e6fd268326ad0d2b373f545cf41c9a6dd18ca1b4128714ec0a4e6a1a124d77ec642c630a7548583305d44556b59ef044cf72eaca4591a564be6cb941d5c27d82985d10e852e4060d11e7b4f59e1c5bc4a24aeb97ff3aa85bea5787cb81bb2517bf4de2cd943a16109a06f050c4cf939c19dfe22c83276783dcd44af6e97256528857273ed900a815bb1c676c5d94e4359d8ded1fa1dfe22220922c2c613a0f38a260c20589f0331d13a011589463f67ac02a1ae5c9bf1886c78d9a97606e1aed13fa5da49643130be02d0738fb08a41ca0e6008e96396792780e527693a40bf0435221a9212cb733a25c886885c76ff3c5e70fd0f019223c05d29198ef0f2273e8a600ef1555ab09e261262ee5b0d1fb6e3956d171810278eacbc6129940ac6520bb72f784144d36380d1a5bf926ab514acc4e28c82573ec352f301ab575708bcb0888d1c6a15b2b6ee0da15ef8a16466fc28ab1a462831dd043c68fad95140896e19103a62d6d2ec5afc158baee81258df7538b1af72b490bad18583a6c853c592c70ef2c02fd0dcf74b550e2b721c524823257aa2960694fc24c938da2ae56848b42a56e2fbb293735dfa75c7f5c4099b501d15ae4ea31607e2a8dce1244cff5082a2f4a55a503b02200c0279f694d63381e4faddac8544c6c011993f63c4712e9eafeafd3ac019f7d6286d664c19a9583f232f1d764557725cdbed0f31e6c7741adccb628323b4f6e396a2d87e074297e4afdc56fb489ec259408cfa882727fda6854a904ff156de0b21e8ba5ec28476acf3d2fb1248fe0fc8eda0a4ac3a6cca9a8ccadd87b0ec1d5928268217e26fdb603534eb637ac48434acf2df81119bbd83b64f48c21319c0f5c4722cb696e925a80d1a2f93ef6a558998bb00d183457e05f901dd4251f459d3a469fa075ff2bd13b4413f698d32ec942c6e920ec49dec4108ae057ed2905c5a4a4e4a457e8c2bbc6a1d0f14ede92855ab62457f74b1c28875cede02f2c313f87e46b2db3ff041e4e332afd06c3a13a702d02f0db4a0e6f47e64ca2da0b70ce2046549f8c13acb92d6b1af73e546bb50fa6a0a67f56c696fbeaf760fd3a513dec097338deedeeaa0f86deef5d35b5764e5bdd0a03eda0596593b0442d290d1374e44a9d4e2acc6de6efc54617ecc96adcfb4b7c22e2011b576801584a31ab46ba40f8d405da8acb9250839d2775fe366594c171350484e59f97380dcf1376169085176fcbcde7efa953614d868783e6203381f7e548aac251bfaa64cc2e7138600bc7ca3cbdc55f882976b3fc7664a7ae16bd832040ad6a276fb2569d19db8c449277359e8775e4fb0e77f17f474437d4a137732165837ffb541b4a9c0a4eec593bd4bf1889f0597fe0d4c76e09db8a633ac38e8236aaa2187ba2b5e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003803980f2dacf1b806e0c9212adc081921162fc2e03314840e70c2dd87f3fc7507fc67f0d2530e47f91f36ded523f7e7013069392919e4978abc6e0f780c038c1811f84be460b8982263eda5d64c287d1c548ade3bcb8225e37f0a9fa7c3ee4527ee07b41b9f4767dd9c125a29b3d78305f20e1dcd8176f5b5ae264d583c11bc3859d97b75e39af8abf3a43d2f7cca716b601d5b21ac91a1d84e043146d3a75807a626848a1c6507540c5bc2d083358eb6e67ba0e7a06779c0df2cbbb92c58a919c13f694d7206db5bc23531ed6ff4368fc62ed7832af3bad4d15142622244b4263ec096b28df924a43dcace12900bc992806a2486220560c45bdfaa9dddbb4d3803980f2dacf1b806e0c9212adc081921162fc2e03314840e70c2dd87f3fc7507fc67f0d2530e47f91f36ded523f7e7013069392919e4978abc6e0f780c038c1811f84be460b8982263eda5d64c287d1c548ade3bcb8225e37f0a9fa7c3ee4527ee07b41b9f4767dd9c125a29b3d78305f20e1dcd8176f5b5ae264d583c11bc3859d97b75e39af8abf3a43d2f7cca716b601d5b21ac91a1d84e043146d3a75807a626848a1c6507540c5bc2d083358eb6e67ba0e7a06779c0df2cbbb92c58a919c13f694d7206db5bc23531ed6ff4368fc62ed7832af3bad4d15142622244b4263ec096b28df924a43dcace12900bc992806a2486220560c45bdfaa9dddbb4d0a8f2592c74510075bf23c4b741d83a18118530f31efce2691e8b0cd83485ad11dfb43c1db6bdb3160bd8b0b17b69877e164a834d508d0db899a4738492af5531ee8676bb84d33ba8a3d90ca0da222ec8d7258bf155e334cf6f4d29c10552d010b6bb65df6914c962328b7b71c91ace05f0f0ada5661781c2f6aea56dee0ef4d0a579d34416377d9f07613a9e0e47eda37c7d8e41e6ac552628a7d4db96ac7e007ed093a24fb55a19be3165e716220ca60ada1b7b653b4a4b8d3faa4d25f23052fb353bb08f71f1d3409d667c891dab33d919eb1a95d2dc4280de6cac37294402d74633304c855c035480974a403f529b57ef475bbec0a38dff5f84c05c530f80964cc8e0665eadf1ed4091cccaffc5e14a76e17d942269f7a75920b5d116a4031b7f4e2270866fda54b8e921503983fe6123d07345dcf4d059215bd3fe9195718296c89cc874343d3b8dc53a26f6090bb1eba83f545f7c1b4549c04a58959622886efdad30550afdd873767a935004fbf1fb6892369a569344ca1619efbdf7127a93280ab8e8979fad3de4b54965e6868c228307d45a00edfeb161230473a7d39157d274fe2e48ea902464c6e1e75448dde6cbebc3fd2ac69fd6cbaa1b56b0f108d77250665fb5421cd0b0f2d2173b998d00061f9071275dbcb847bfb0155c61048b861c50ba828f091e014e6bbb82c5d5de9d3aabba7fbec8cba576b64ca5f3bdf4dceb874f003cceb03e8317f938bfe267c07bf849e0dda56c3c13546ecd50ec0cc1df1ff3d9b78d95909b3759d95c60c4ee79708d7bc40436adac0eff4bf0d80a1a391b95ceb893ce6e80c680d7e0d0ce1b0f265f4aedf74003e8baa9a6a152487d77bedbecf1576d0f62bdee141fbef3ed804e9086c57a88176f50df2df28c832e3fac9eb61fa37a5beb8b49c63d8d9ae9a3a4160aafdba892eb688ee0f3666c657ae7d2d221d9b010218b4b1d64240e318275c0980ef298cc5c44f8a3131d9990ceea21e064986a4445ac6a60294fad7392df3534eb6ed65a76f573cd3226630bca6fa1fac6a6ba4369ee798f0bdabba9fc8c100c5b3d09ad82ca1bd423cfde7dd6915e947dbdd286896849520853b5d9c22b99a8c4d66a005342f50521a4a9ed22d084e39fba74fe9d10b1a86008cb48f2c216b388f8f85841f310e7c0f2c1d6ee93c2a58055809d810e2df7f96b909324ef0f3f3a96e33d50e5f995513228b8273da77c598056e9ba7f96aedfa5040df91aee8d611728f95ffdd3e5e3c6b962c5220dc9dfe9693d3966c5807c64f79e8ace6dfc3ec179edf4ed8764129a930f3a2186c4633f4084c5bf07fde455fe120892d0f8aab470b1b1b49af671fa7cc12ff97ad21c913507b4daba217b1750144a7264d5ce866b8c6d63babbe366434061d0405c82ecb27501cfc0e674fe161afdb265100fcc9d05af422ad180c92a9b021d807351cfa6379f281c1fb67a14c92de80d3b9447e6591ac36d1d61b67cd6da8bf1170e3260f284698f647a6e9777134b78b042431271f478ffc390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000127536f464314722f8381924ae70a59736660437621308b3bc0f9b70025941c1a2f2fba2cf7e8140f58b89042fa41193a749b4d9ca586665eecee1f4ae09a8b5633a530e600b59ac628c0c920907737907b97494a3f3eb10237b5995e2b36be0916f2f17ef526cfd660d2e04114604792e59c2db1c96cee356eec1bc2c2f3420e15d1d61f0009ae0c62a830325fe18e91822c60839835e82eb066a86a4264cd7f31c23e5f86acb20cbf74e45d1358d33acc662ebcc0325e4ca786c220fcd372df0b2bb32a664881052a41ebf328b04d27373f19079a7488ca2a47c6e6807b2da005dd588e9f271f9aa5b21404ee9d556cf05acb8ec3abd15eca67d5e0fa531e63216c4f6323ea638b7dcd52ba10ec10d96484781def50d12ad0b2b4cbfc5ab3dc23a0f40b489659591c0d5de4582640977cfda091165eafcc6114a27155efa5ed04ca677cbdc7a19fe40952be53c756d7f01e0b4424b7cda500a7d2e0f75f1cc7158c8a1a71f863013da50c1bb94139d37a7171b0e70d1971c587e6fdf61c215f1fcf8569c3a97ad9cfc129203193f263a8741cf4890f313b468d65ea0ad3697a1c4b33cc9498c0b850a31b2e4726e3eb00a677915812e20b109550bb427467780531ee1bbf846897db9d5093e0d5841ec119df687e4a3600c919519e8ac1ddf11b8688da16dc4d09b6a6e5d090e34c653fab88cfb31f5f7645962adf166c7dd5043bf1c0b95362616ff0fa0b8431d6bc03be5910355595ae18c57d4b762411f32812a94c4d9c6de119ea4446b60b90561d5d8e68bfdcc5b92f3535f9ea4cddf00e0ec35a2fdfb34bcdedda6e82c465617fe6afa754a9e029b2a1973a5c749b401898217d2e1dc2a70eddbbc9165c3aa8ace24b4f402f05c02019d3021b0c88270229d2761df6e21105256ac9469453abf5624e2c7f3b8cc4e64b85ed8e4a53a0010f6f8f06564dd357f73ac9f1572a420ab7d3c9b40473c62bfdc93d97652899330ed23497b2bc9f1ca38f8bd0e7c50aa218680c537ed767e599dd72363646520a326a0cab1bfef48747f94661544c9e514ba1cbd6e3a37363b6ee2e91bfb3e13d6406be2b1be055ea9b049750d2a83db6a735f37bfc3e21ff79f5661856093e0261495b024eaa25b1575a8a9e588fa96e730b21344dac88ed5be20d3a0444c739649dadae7b3ab7fd3e4d147717e3beb4a876e800d7e3608f1fbe3367c1e6353a80ea58de99d3f2b501e4badd8b2b1b108b5b2583fc4f7c36ddac93c2a639d422d6ec3d21528168ee7ff5bbe1ea74bbfce9c4684c705cf0f76f814d95f014c01cd6b840f0a818781b83be4cb63c6956d5e7468c5c2a4b7c7442667a955817332062418c984d2aadea3e57160b302fdc879e148c575a484b18a50f3ebd160179010ddc878bc6f614f27d150704901bf6b51236d5a391370849f44b138dd6f51c3e93c1b794376fe95d1cd54141d8c3ca59199370387a75414aa825878ecf2d340c4fbb0641727d3b988ec38a012774340f43fd156f3422df000b0d668a44b56b1b9a3bd64a0e32b6633ecb6a2c44864e306979dd181a619a4fcce027fe829808248420950172de7c0301fb3759e51add7444bd2f55c3895dfe83e989fb47030f310451dfa7620463263d10693334ab35474d8b4c4bea943ab2eb579a5900b95109324c98ffc7c7abf81ca58892148f45b8638d0c96406b3df5e44471be43253e1afd2568a6f5678c8e6a0ec642c40777ecc49569e5df0df1ac853e555b66f6d60c66fa739ac5c702905d80ce91564be618cdd248c0e527f2a1c34cbe1896fe500546ce133ef2142a0814174f0c59f471cfab16800cc535b3434969477ec57bf51db4308f0a1b597a486d22f5d1d42b9025dc32a01e16ef0a91a0cac163bc857f017efa57402538f92aac8d2fe02459859aaa1f17b45cd086e563a26da43a509020a3a6b4db4243427244a819ae41637ad94ddc22dae159bab6dfa959e0df86d83137880cc75a52102372c7d7c093da7f78124b47a7447dcd789f465f2bda1eed089ba8e4f740cda076fcf1bc1749a1bede719975125505acd397345139cff27d04f3e94bee89899f449f05f8bd0fe9113c1026ac8192b75527b406258412fd72369338d3465e7f7fccfed182d9684802628986945caca61ac78a46260e02c8f53957eaa0ee753d9e2b71ea12a04001ee5d676ac83dd9fa1ff88531dd0feb2d3c0092c66f74171c34369696ba294ff66143f07b48fa8e72488e534cc55b47890929e696e30d110eee9cc332fad0e7fd9814b9152b2515d6e859a095c5664fd0861ac8932f556335c05bb626f9827ef787e8d610baa41f41e0fff05345de2cdc6223aeb0a3b17512c149844dc58e643b1126b51c5831c3aeb0ae74b3e98c42840d0d7b71a3d5d24b090397d9e262822689756cf1d881d249fe81a1b49858c72a4328c47dfcc636f4e5d8da166469e1e14be3b6ecc9d4306d2a74986d47a53c9532224d9d0ae6f4785929e45f43f3d0f7da05e14ff51117dcb41a6401871802e8be11ce72d69937094547e01f4a0aef8c66aa67346dafbd3c39220aa519a0673c4f209e980d30ce310ae95bcfb42a50aadd02338218f1c8e90c4f9817c353c01d050e75f8ec75e4d25b4086c5fd1687adcf4fa7780817cd43d74315289d2e9072ea09f1b402560729d8d3a5009f45f0ad4a5c9c0304fe14dc2e0f9cc068674c45c61eaf40bda390425a3d1f815817979cc7444e6c8c08b2e9ddf33c439c66d03f56243274a8e241bb8cc87fa96f0ec9e784df9286ccde576f1d0c5befe07c38e5900b69cc215a9a4fa2f0c4ff3d048ebf1480870b9744bfadab3ccc87a11c17d4f10b69cc215a9a4fa2f0c4ff3d048ebf1480870b9744bfadab3ccc87a11c17d4f100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a04c91781ddd6cdc625e01428223d2df8327d16ad2328761aa9f1e6c1c384b8003b36e87e22293239da1febd7ddc2d207efc9824ee6248300ef3b4a2b3c7b480117ed7589553204debd6064c8ab31e5d8fc717161afca4e8551b981c8d197980028128a76aacdfb21429f9b3754ce1a2725d5279a5982aa964773af242e68680137a34baea9fa1859b2e1f7eb57f97d3ccbf09dec65a68f7eff7257ff17f5f7ff085cb4515605e7a64d1e0814a80682c35655fb0fa3a6699c99bad8ede80a080216307a6951e279c07e69d798b7df722f7298b1add70ce90c9886f44777cdd7f729cf8596ae1d863f8196286748208dd0afade74e3240100f00a63ca58832280a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013ec3ee03894b473d921baf799b0cd4f0414e7814368b3dab2e8fe2163f0eade81ee472decffb0e87646fe26a8d753d7fdaa313b951f2cb6f482caa81785075b32396d81bf9d1210d8c17273c04b3863904e824b37d4cf08ff71f2530ed34d8fc21199c491a3ce6cb0ff849dc47e23467eafe0c64566d3a521009d2b98f78141b180cb2692540609612ef13e1eaa6fb4ee2828a8e72e6ff80ac7e506a292dbf1b18ecd9f01d976076842e54f69b47e3d8604df0ac5e0c5ad9d530abf4a18d543f12ac08833ca5979052673d6a53842592b48115860bf739013e52d405d38815d92c89c08e8ef2f8663ace852768815f1d44edba69e7ee3c3e4e2fd641d8639ef330327a726761a61dadfda0fff595f3e002facf15daee149feb7c4c7f074b57922d9cc4a93737876f0a7650630747cc06e811d6f7b53d69e5d30d40df804e03e610c2925554422fc4b570107d07928c4935e13975078e303e52dfcc446fc4a010255c760d39ef8b50121c1397e794fce8329822f5d36f7432a5762c8efe74eaaa2f02e1ebfb80e557066a4fcfa0a3dd7110019f852a221712fe8f5413cf1d80a52ed701aeb8504ad60dbfe92c72acafc00a53e7db22590b36feb679cb62455f9a37e6d99db830be9566f9ef01bc67361b930c3c6772982380e103ecaf975970b13d84c23324d15c61938f3d1fb93938ac34c63b9733cdfefcb3a59bb5b788081d0c4911944d1d7e2c9b85f3508b587a7805beb8e6f7e55d60f4fb820fbc27264918115e9152e5ba79e9e6fbc987685ec53c10e3d586a6d979b7c3584160f8b8593a8abedfdb2b46b89daf38f40aec13c6a594cbc943cb4c5db6188534d367bdc105f8adfc28e9eb84289d0e560a3e109e77050500611365f178f3fab517acfed815157a2362bba8a757230947ea4df0b1c0993f86a7e1cf5490d52f989f6a81ae1d9644c20f19e125ce5b8dce568a3d24a7716c4afb3b2bc2559e636c1380e66920e0fa83a8fa0f38b191dc59804e46a7c6fac3e0f0f3e949e75068d97c5f799927cf18c1677f7069b721433be0185113a860755ccdef41abad38cbbdef085a521760bd52e6462f48d2e0f33ae016f562504b866fd113d62b640e12feb71c4de52d2c24ee77f3c757d3d1f270da32b65d245d6fff44c4dfc5f7ef8d89f638ae84033284b97710d37a4161ef16b94126a3b3f4479639dd4f5e27e8385e4eb5751a3534d3d3458ca4ec0052030ca740b303445b85bdbe5b156296437c7946865548183bb13236df92174b5da4ee4d08590b2aafba2d2882dfd8f26f2ee650257234013bc9b7dbad690ddd9d684832db86590f1409aae388370b3e6225e6916f68fb027d685920e002274057416304d980da2b407086e4b1577f1eef0e98285e0a153b79271e66dffddf6715bd7faa33f184d7afaa90e964116eb8eea9152543210430da06fae733c5275b819366f70835e4351a4233f3b0cd2b65968016a354b40a2bf08e1365e38ba569023fc049fa1715f3765ad2449d140c8822bcbc7957a4590d2711e7fbba49c058922947dde01de0bf25bc09cbb939bdf5e303c11b876ab71d0a5b739ba60e07605d5f70091bb4fa9570c811457556fb81fa8574cd607c230f0acefee5a817140fcbd49d2998ef9657a3054cf8437b77b126b08145f9380f2cb0c7f3e7e92ead7f302c08e44034f25c07d9ecc313f28bacadf9a052f35b5e31951d33d527f817d99ddc6d5fb3d3742a8a93bddc175fb6d30de641c8c8fc842cd1c2f25634fd5394b4d18f6e2d103d6b4268f89ea9b5df918b34fca40c2e583db82b9928add46a9ad534993a798d21c6958b572a9f153488cb53a4f888a9410750db4d1c9c6ebe80647920b82a71f5f4a4d07f3bd069ca6f3a95574b0cd4ee255033a470a0c47fa5c077725e5c8eb471d55f0bff232d2e267e1a915b080de73d6c8370bb957ff19b56a9bba8d00c4dbc0be9b7d530f07589f6d8049835230b1e3425e8dd561d329ca575072f76641cb0804a80450df91b3909e7b0bf8d8a6b1ff248c833fb23fb54d129706d9c1354885ed8008795a11849d174744c3fb49b3bae1bbbe0a6f2c777c9a662e2422e970414e3be4fd58f4b0a7062b871d3b63636f4889539edfdd86fb0fd7b3aec27342669c1fde4ff5e369edb21a9b35e9c461f62b6f9760007c8a664284cb7f0ebcd3d4eae130709d0d330de820e61bc40a612adddf778ed7f17ef2e56e8a0f3062438beb9cdc598d4ee553714d5aec08f1802b84c1b4ed6180ef4bf67011ec10687fee61679a2eafa64a9c707e3cf5c49c00c4537e5ebe09692b1512bae4194eb2d4d0872fb2b35add76ced75407ddfae46043cc2a23d6e84b0894f04bca59ce3d282458184eec2105f804f0f8f54e34bfd08d12f750e3952276a29633b3ecdc196dfc8111305ffa87500057690990c940d143d9847413bef319161be2cca782a0b3c327f2c0440535606ae86dd1b715623149410c15c02e55f0b02e2875fdb0c12d9b89e1e6e0be284790e56586bb0104313feb719b9d85abac34449febc44c854c43b7b542144197fba67fd2387a69a4b187c6d39842b5349f45e189fe7a091d7efac69edfac7554ecfe2eec3db9f82fe03e369cc215a9a4fa2f0c4ff3d048ebf168f847bba53bf23b38fe357dcfc17d83e369cc215a9a4fa2f0c4ff3d048ebf168f847bba53bf23b38fe357dcfc17d5331b4e610ad4d27d178627f9e82475f8a57d40ef8e8c4c21897b555737e0bea7c0da730856a693e8bc313fcf4123afc51f0f8e1df0e583a1f269b860df05f53c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ea29935b680ddc9d09db5bb767c308cf109041774f53222cd326a318f5b4ed8115d66ca497f22362f624a448983cf73313d94e49457c6f8cbfac6bb70a4b129292cfe0c908454f113148ca9506cf2c04e5949812ce30f5b36748030ccc88a3516d301f36f7bab0eeceb7356af930d3fd3ed4f7adc69e9c062b8b0bc333775cc0de0f63ed295a8b55f66bf4e9220bdc120eaa491c488617544beee2cffeab306321f09c12d6a574aa09940b16ddf423f015bf46a44c497a6546e42c000154cfb0564cf3a1cec4b8add01bc88daa3b4c5824e9ddccd5cee2ebe8d75f3ff957f1d3a9b30c5e313b47522fe4377255c4b3a9ff7fb1f3bf00aecda9fbaf9006a80e42ea29935b680ddc9d09db5bb767c308cf109041774f53222cd326a318f5b4ed8115d66ca497f22362f624a448983cf73313d94e49457c6f8cbfac6bb70a4b129292cfe0c908454f113148ca9506cf2c04e5949812ce30f5b36748030ccc88a3516d301f36f7bab0eeceb7356af930d3fd3ed4f7adc69e9c062b8b0bc333775cc0de0f63ed295a8b55f66bf4e9220bdc120eaa491c488617544beee2cffeab306321f09c12d6a574aa09940b16ddf423f015bf46a44c497a6546e42c000154cfb0564cf3a1cec4b8add01bc88daa3b4c5824e9ddccd5cee2ebe8d75f3ff957f1d3a9b30c5e313b47522fe4377255c4b3a9ff7fb1f3bf00aecda9fbaf9006a80e432766736e429404ebb603d3277e6f096a35fe3fd6a63c767ea224998ab5e001228757e294665c0dca6fa79f6c97cc362b53a10e5705a3b159473a1e28537762729ad42a69c2e93f392aa66d7ed3b9df457f55990ffdac14b3659ebb609322be7038f178447887833d083f5f9a8eecdd760e68df98af3bed13f90683ba6e87fef0a40cedc33b728ddf9ac184d56ea138c13b0dc1366551bbc39bfa1bbdae74bb33b6870e2313917bebfeec19bb9c71f861bc61d82578d5c577ad3dfd6bbb57c8420ef6355715b54f5ef3d3f13ace38085c29b1e04bb4e77a1e5628b702797fe3e3bef5cb797d74a636423d6d69e70d0167c78b415aa6ea98572e684bc7457758c1c440285d196022a069cf81270ee998f9ad955e5521fcef1ec6355c32394a01e2e31d374ef6f8d5328f810324f0ef37be6ab5c3f9fe345229e45e275222682c61102b54e6486b3d9687bc92900864c7fc046cd83e8b70506ade1c7f185a131562788892f06ff1ceecfa603dd0f98a3135c70ee3323950324468e63b87c3b7a0c2621c0746e08d2a4fdbb9b7dccc8faf9bb15abfb7ca365f4fc88c63814e8a5431baa4be6e45e6e176ee96d2a4b83648d63c22ff3aeab315ab9876e0fa2a1973f00324b0768f1d09be0f353964296bf4020bebe99919008c83b309733b31e11dc04ea382e0a10e1bfbed7732e26cef507915a666a6087333e58e6a7891d869cf53a4628bac14f081642b460f9fd031fbf0bd982a0a2fde52721672d3d363db8831dd927c3c05ae0d2f50aed4c3975750b169fe2f6d2903a6901be14fdd09c18a4318ce9ad963b5812503b702c8f290369631dac833c435cb1f2d5515bad23fe6416e285836c44bb528161f60eccf8565d57cf823a83c8fbedd7c14e8d12f9067f0b52e697c319133ddcee6667de79235cb43ec28b66d73b9046fc60d75ceff6c11be78c04d8ae77c3e04af44e66c5e460eef874a6b4d8dd0840895c2f0e2d1b482aa66eaa3e113c6f280cad990d9e4893c8bf267a798f0687beebf149a073c00c3a1df93958b57aacccb2d9947d36797e5c4e5688002dd8a0491d64595f7fd4962e95cd54108c87cbc4b417c21d86cd887258c870c55b6f3a277e9e9994eaddac1d6e6d861ae0414507ada2b77c35e5d92bcacda230772afc9e5ce4076f0fd6662a73bb3269e5de31147b6d88a6026a52500c8fdcd659778ad0e272a710e2f0de122bdc5673cb6658aee8e2d44765e954e405e0ffacf039734843c3d7f967c86f2d12e89c6c6a99749cbc7c45ecff0c9b15222948bb9d7a7942a05d21b8cb328a2a0ced09b324a261ed9e0c5837801045446d6da01db200eed80dd2633574e7cb0af684d1b449e1999f2cb10952c6f7b88c5907a3a1414b1621b173cb83eacc990d47fe6e93cd69870262f47b01ccc2128062f04239081257c6fbc57d3a9aeb7a248ef84288f9a52fa5711cc2b99ab98cc98832f93cf179d45947874884c41990036d02fc941794a69b581223d8a55e395f69fbc9cad3ba4cd46f94a5821aed0c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013aff71a57e3876acf041c6b461747f706e59e092ff81029c80702129246e24d108825b6c30bd09d635df84b1661db1ff1732947eac0de1a9f6cf52ce13ff9a2e05600f1e5b5bb1a34511ffeb74e6f40731e4d981c114e4765ebd834befef432503a69e872730fa182739a5715655af826978094694865c7bbcbb82cab245aa55261aa50f04e77d45f8799748e0f2c0528b57d6e78b9d41ae78d67a703fde80870a104ae15ebb2a47c76eca04460d183567d43fb8a22b4da2cd8c7841932aa3b21861141aabf44d1658213d465887770f5f6079d01d774b5cf9e835f4d08f7eed0045bccec10b61873668997e8edf4357929fa0b91d3adc1712b2113f07da76630835eb411abdc49a888d99b6ec0933d6c56fd4c47d30ea91b5db024f51dfab991e15014d95b530f9d984c075884794ae73df74d1a74149d18471bc57260dbda029fc9c8c76231dc17fdeddec64eb4947b539ea561fde3dddc1dd91ab56ede80a1c7b7deb76ecc38500c1ff316590a5e20c58881a58f8a0572d9ccf1fedb65bd414f8c69f18fade6fc913d86327058056fa4f941516d4fa7258b3e256b411107c274bf4aad67610afcae75d4ad28210f4f434afb398be3d7ca857057a5f35e8d0076bd0b43ebc41f17611483c07bbd7e1b2785eb21336f45af26f5b66df897ba227a98bf1a99016109eda0d1a9d19c0479e7908d0f5ab076da8fdbeed0c1aa92b1a5f8fcf0e1b664e6d430e1194cfebaae82bf74a348c959dedad84c64be7045b24896e5b8f12e733cbe629048db7b2866b29982f34bc33c1db8450a9735dc75e067f3ddd141d43575d3510e8786ad534e037a7ccf96ad94a4ca07461bfaf9b373321d372ad7970fa5e706f7b09fe03c7670886c5873ad6c0cce2a2c8e1b7ac500575627fd70ac5f3019ab347770ee1e5fdaca9dd790a267bc00cbc91741e08ef0d65c66c98df90e4a685ec9030ed7b1b7d155167129f416cbb1476a0cc4696832bcca31d0e525fd6e39bc8625b769c030e479d19ac240abbced323ba6837856b1d3f0a919f63d1e36c8c08cb6a7c9e97d6cb9787b72ac621deedf2eebb8766ae008c2cf84b895ef9493434c3606c1c811aa1e183f52b48dcec415d15a0ab9d4e14f4a049d7c7003f9a909048f7a24e916409a2468503802a5b78a612d91816132c8831e4a33532283749b27cde7e60a23aec5ebc2473d0303b826686a822aab00250fc41d78f73887c12c31e18990168751ff98544d71379aa4ca158ca00c0243b3f0ed96a2616a56f92301e30b1409b71a49de13800fc8ea9a3ff92c750756835b9c3f4d90e700d985c84083a379868d4dba72df839bcf4d72ddde98c2e29001836665263b39bc4757cabf0d04ecee9eabc0273d1dc50fabe8e89dd2efad0df2cfe44491c2b233f5702749d86c31012bd5ed1b7a472267b922ea662f28d437c3ca9c0c10796c88f6d264c1e0f0887f58d90941c504dc4247583e558cbe8030e34063b414f5e31d392e4459ebb74e83759885d07cb5251c772f2e07151c6ef591d81947b291e4676a0d91abb40287253c4d3babb95c2b17d4f81e6e957e837ac3ca6d2982cd023feaee403c17345f94ca2d0ac97da2d7d8338eb8e98ee4747011f3bdd1e54273983c7eab9c8c4fab4bdd9a7ea792665eae68d97b1fc647574b405075fbc02e49e12077b0dddc02de2ce06bdcb445c0ce0d0187db580de57fc9330a69020715fd9f463f945af3fa0daef1fea72306ba8b7ea94abf0f79f131e36342de732b9fe68f68d8cbbd816a85e9911c87257ac46698b94ac5b27e51bcb992622deea4db01190565ed555746ae70121639b1ce23fc488cfb680e5d290ba370e92cb43cb6ca75c2635f15cc0b01fe95fc152d815e27dccb95ccd88352e80f23af5ff23f1cb36d63eac4dd0aae68312c78bc4dc93602d47b1e3a5cd585171312ef93f394c2591b7eee8cfca05a4b1d0d31ef7dde637f756eba5e91b75dafd7c14912bbdaf28089aa0a2caefd0e1a8a6da465d5f2c32f1538f1b479a84b9e79e2e6bf79ba2234a845c0330db999ed2fbedb894f049fe8defee377876acd16e04324b41b29642fbabeda5ba1b1e8f5a220f97231233a117d9cc28bd0883e2454f0f2c1bdc42f4f76fa4d5c103782dd5b8c5424257feaa4c46c3eed25fef08f0ab05c69663bc9b3ca68a6ae2937646a6ddcd9e58ce9f7aed72efecf3a7588f34981bd75ea532fc2af23edf919ca85b8fa1244cf469ed67d4e9f6bcd7b7fb4528c91dba774e6a4a12da17203b979e5699fa9bb1da1de9247ee6375507c2a8803bdf2f3ce2c719bebdb3aa129c80ff3357cdda0ed34e3239246158deef314be4219a2b074f5554a25dac0c25b57ec92201d3a0044b2bd74dd852ac7a55d49b8d2868303c228371035080a169d4cccba838b314fc2799d73dc8735c291eb237252bc43d86c093ed1a2f1563d444538205b0d6c2700796cd02ba3c98d7097f1e3952a91bdb721fd887a7f83b12c1b6e143fc10eebe72b08c6eb70a42bdd8223317cc231ae8cb4fa895059eff5e8abf48d6c967272762eb55f3630416ae77e8e2afa0f23e904f9594608393b5e3cacf7f4c20c869fbac0eba41c1f7dc488ba1254afa7e345d5b5483e7d7d13f6147dcfddf4cae5e7867be6b194302feac6d5426f1a7c31e82f475d8b9d694768fd9083655e8c2c8fdbc254752a1bd096db962d954a18230567e44b3e8b68d9660e20f9734a17229efe922ca4f454d75e9bbd4a80d71463f48081da963a32956a317d325b79214ca8264d9c28825371df4e065aac18b1215a554e975206fa4b507e838c9b68db593f2587f4ff8db6f4a5e211fa0873068223a807da34e23ffe4b4d33e4765162dc3f8821ad50f6b574c29beb50ecb106b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f45e59cf6ad4d4472e3ff6cbf6ad555a509cccd39fd249770300fbb3db6e942f0ba1a630952b2bb8d1c009340952aac7f5fc2f35ad26d2222a2ff14c24916d14c5d7c10d16282563e73fd1fbd162aaa14c770418d22253b9e1d3fd834928e32b3a283ef2e9d7da9c18c02e042e9d5580fa21f7f07ad6c7df4b5cef7cb6d71e27dd36c5416ec8baf3843f19eb16ed550437ba1872cdb287083bf306906dcc6e1822c93abe9137450c7bc0e614e912ab1e0edee3967f469490f13de66f923393075211da4729eba6c1953b819772a2a8ae42d786221d91505da42c59d224fe2338adee25b8d614593e6ac47e688d5d577403c175e72f67cb3b8904932ddb01de10f45e59cf6ad4d4472e3ff6cbf6ad555a509cccd39fd249770300fbb3db6e942f0ba1a630952b2bb8d1c009340952aac7f5fc2f35ad26d2222a2ff14c24916d14c5d7c10d16282563e73fd1fbd162aaa14c770418d22253b9e1d3fd834928e32b3a283ef2e9d7da9c18c02e042e9d5580fa21f7f07ad6c7df4b5cef7cb6d71e27dd36c5416ec8baf3843f19eb16ed550437ba1872cdb287083bf306906dcc6e1822c93abe9137450c7bc0e614e912ab1e0edee3967f469490f13de66f923393075211da4729eba6c1953b819772a2a8ae42d786221d91505da42c59d224fe2338adee25b8d614593e6ac47e688d5d577403c175e72f67cb3b8904932ddb01de0f45cbfcf75149fcd5f58d9f5212182ced4bc7b88f1a258d4a202add0673e0ae36b38b4633fc1cc631e7ffdb4d658e2e7eb004ba55106eb0dff7887fcfe2a9a724306a70163d0e4700825d86cebb891aea41251967520f4ce8e8bb01c70197993979fce2a914a3c8b1bbf19cb2a413672bb40893b8b62cae66ae5cd692546d07228ae31908f0beba2f77cdf9e3f2f18411dd39c2ac61330ff3556e54e05216491ecff5821095bd4f7f427d1a5ac0f002be406457b05ccb6a502ae1075a04e5b81fe070157e132ff87ef5cd8fbce37745d066a47e17c63f99c367de9a7e9a8831282808596e3d7e79f140d1ec4734cb6dbe59376cc879ebd4b44c6c552f0be5ef02110f2d04019681006e02c74f77060d5f38a68a18d388560c5e1cc42770820906d251de471ebc125181a8c93677472597073ce7a6648e5c8fee57814bc3453622e8aa8897003ee40f4c2c6437c3c518b5857196ab3cce7ddf0eda3baa6f4d9625e770c7c89e1148772082c42e921203d60c56c4864d1f72d0c6a3e5be3fc94d0c5762cc2a3bfd8f4f3eb5f4dff8219cb4b1eafc5d5249ed25c1ca75e0e9a828018eb671cdd1d064f543fbb747fccf543963812cb1e2ac1880d743a8f40a40d8073478a9cb935d5df00d348799facd1984e326ab7fa4c7be705e83114a582ab704cd38becbe7b21901dbff5d03cf523d33955a2fabb1dd46113dcedbc8dd8c99252078426d9276048bcb2e24c3a275e3928713145793046a8985b9a9ce5441ce11c3823ce61ef6d9b9b68c7f159d67d0ed9abc56e4d50c19aaef9372ab9030c007784ccd99702ac488f07662bf9e7aedd46ca872383710599fd4b052c4838af93ada7bdc04a04c35afe1369d38d29b3aacf5e3ae21f280e4fd6ff2e67f1d2e602a1c74aac17c2b57aecd2eec4bc747209e1f8a09b899aaa74c9ea387deb6fc2b25191800f0f6c4bb09f3b568bfb2d2ee3f16ceb1c6f06e272d09ff3c5f4dfe40232bf2de71c7edf7038474d5e53ae7e71b03ae5b597fdb0a816e38808349bb8b2037a8f58907c760e1567f2e4c837e470e87131f9192246e670bfb4a94df94180a33ea4b6326931ee4e19d49e8043e9f8ba98b7e9385a6378d79c983823b215709b9f01ecb966e834d0f32bc70c1d294bf115a045be7b4f7b76207a7d83c428937ea9cadebd21c455fc1035ca3476477936f671be84ec1ed7f084dbb7f5314e033b0f9f38713668e877c82bb0bba463b8852f6cc3057351e4147c32b89ba17a22153b6d0c99c487422af25e312aaed05b1eff8ab3ad8dc8a04ed7507e755646007967478c78da291c82657f4728104b464fa959e1c61ae57ed8aedd88c6ae9ac37198c9848a7cafe496cfdbec43318e87f2e8957cf3cce2363409caab02d6c163a329bfbd1bb03a57e866fc147e301fca0494c0352b220b2d029de3e0f59461c0a3499731e19ca341c47f908385cb7fa0fab5c53cdd0d83144a112b96696b4420cd1cff45ffb4723bbb370ab622bcff76be35a2e3706254826f27b7e3fa5e482000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012fe27f87ae1a1c46dbd5ced5aa0e40fbf03766ae25aee7a3742d186ee6c37adc29b3d60b6d7ac43e40b2ca0508373d0b2d6d4bd614cd54c136b24aa9c1875204338a0d56be2eb6fc37c493751852f569e9b012e3355e51b9d36afc1d946f85a61e9143ad5354a27f509aaf67b28375f8189a37b08ff6cb73fc30063839ba21161d03a031804481a4168f811111252c33cb66cac66a1aa6bae6ef53205ab3ecea38b215ab83218728268dfb84be05259b0389e85bcb9f55f245a035ebbc1a6cea084afdbf06e6e042194df496e3352f82af9e5f4468f3bc88eeb414d6dedd68a63452ca3662968284f978d101d78292b01013da5dfc6fff570fc9dd16b9259f003e6ea2cfc9b1a7613c9bbb647e1513d70a4c6ecd990447b344b00f5ced84e71a36eb35954a2338215d778b9345246cbbafd3f9a562ec1694b47b884ae32452972b3c726aa2c84a00474524c3a4ea2a0b5dc1e8f4e0f62dfe40fe178ffa4fd155213359fe8b845235ba44aba962e9f6ad2cd6136260019183eb61b709de3f125d3c9fb4fcb992b0c43fcda81a0af2c88eb9aead2e9e2d2887ca2c08aa41de1054237875bc4471fe5c117b118c71aef7511273ae987f565185029fb5f0e9116a8b16140de8962eb8b55f03135c418ad8f320b1af09eb5fdaead375026a10d2ff572aad34e7c2bb540a5a1b82c61d3c260a977d5c046f0429d7d7291097110247181e949583c910742f82987bf1dd4409a2668154b75754775c768f61ba0d2239033defd8c8a0d4dd8f50438fbf6e66c59eb42dd34944e65c032c2570593185348f3609668acc901f218b7e4441d1ec96011f158cd326ce4f08d292ec9fff3a0e841c4757e164434b4e6256603a67f7c0720c0fdd79ee4d9a562c826148e5892eb63d42b2c489992c93616d17c74e50f0fdc6d4bdd96768258b9281b1766a33f5501b3eee7b17a9c2c4d4ddc5f4d1c060814d1f6578d52ba515c20c2d8c5a67e9681014a64611a7f4aa00510ae7f8897a0c1d7996cb13f69159bfbb67610b3ae96f3bf7d2fb5805bd40517d5d0dc72f84d45f070884227ea9564847db3103fbddc9247cfbfb96ef9000b52fe86137e2eefd7ba0f140fba3eedd1eb271ba5429384a060ec801390846235c1d1cce76dcc18f8612dcd6a2f61377dec2e0a491f5f8a63e449a7c46b1256da6db11731cdf4cb091a6e157bfe900c2203a7e2707bc5a8c0fa4c445076292663d75e3869bbef1e80cc82772dd898b7fdeb4b8402700e891269e9e963b781cac7225dbaf72af3b1fe8b0f149a92b62c19113d3bf0864347119c76fc263bae4ee1564eb5d135c0fea633fdb20a81834c30635aa63a34d1cf50082a04ef72c9faba4a8be4466d0e255e88c3611e5d5e387a84d5ae8c3b18cf738374f67fb6775c86b309d871e528643a9d17ed85a9aeaca3eda5da81e3509fa307a6529166e642602342d13cd860459491cdcbc0c738312330511aecb15d031258778745e0d67d632b4aced26443f24239402ba9e9d50b94545d2afa80bf0902b93afcea0d4a92a617336128050d16a4df8b641fd65813480f64781e6782f870cd5fa8ba32d7daf3d2fd6201dcbfc77f8fdbd11a7aa8ab1c6ed697ecc3c32f337402b276f71ee39a2e296f99b41aba7cecd3070690636e9a1ea4ac16258733e1d6fa0e77af0d16168200a70b4bb829e18db93722774e935e90bd51fd09b7a6b2e68393c2b8c10582cbfee904299be6b3ce37f1dc127e8d48ac51794ed61eb072aa08f15e7d964f2e85c746571505d39fe9df39407f4940a809088859d22578c147de6d11010ead4aecec96bf348d7d7f856a472f0bef69cd77760b93d330a59288d4f1eca5df0bdffcf3de62a4125c8b6e548d9517585774e849728e634f35720a1d5838a562bd43b1b25720efa353bb65e8ae295b1c50a6a3ff2a1e156ec241074283c459359bfeb16f9938e6bcfde0fad1a0bfccf74e977ecc2e20f91bed8366ac9aa84845b429e7d145e0962bf47e916817d2cc51e3f59d1ad479eb9e5e4380a6d988716967bc9622b93590ace3a048abbcd02f638196f49daaadcbc74242634094a1a2580fe7c736d98bbb30d5ef3dae0c5a32f645a6e54ff3c197acff93b6ae1a6311a1e02f71916bf739ca5944336b90023855e379a205d007eec33740e7d66ce507c2e66a08bba693d8ca00956fadb480d08fe1a7f1aaf87a343dcf610ef5a8c94642775795c3447781382cde148205f3705007571ff5f0a4e0e025b29dbd10b7ae049b8d542f23372060aeab8017753daa61de5c2626c46fa5948de3d274779af0a33bd22d2fc148b64530d5038a4f906eede053b33ca76804928f8370a50fdf15464a41bbca5c61d3448290b482db2ec480419d14075f3c302609828fde7908f1f19dbfb007ed8c4d71106f965a3493ed5fae5c070c6307d6c5025015da630615ae387e2548240eca824efd9eb8864f77051c3376553d083059fd312fc11f854ef16b1e3560838b613ca247cb5a6f641a89ca39afb33452c7502f00e7127841794e69f2aa1f054130f3f43f9cca13971c13946b7b385f8545efc16171f469d7225559b9e02dd8c7b3306a1fd0b4299570316cf7f823af0ca67db3e3a7dbdf1a089a4192389558c86babb3f08f5c688499925d828fca3f98ef2c0f81f4ec392ecfbf02967ebde02aa200546141c1cd5fd1ace1a59223fdb1a865ed4376b60b4c236322b94563594dce5f520b3549f710cbec0940588407f8f39218925b7a56649852fafd414b915ef4087217cf606090eb10f2f8bf0ef72b1ef74de014015d4667998770b02f217af5fca58c56b97055e969b46de1a21a7631ec4ab17d9f4fed84df69068eaf8583a7e980b6294a1f94af05d00ef43c2012ca6861000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035fe374963f87f68a0fa64ff49b6b426ef09cad00c00b9d210a5ef3785cc785b0a01c8b69c0780975f059b00b6494bd9333cce2bfd4c3f49888741b57a3387a60df7146ef3da7d0b24e3f8fc709184c22216922016cfbcabee88e8619cfe59c33208eb910c2582f4db1c07038f6e7b3e003006dbf27d3c6faaa4488b6301a63e05d3662ac3447137b873dcee32d797ca882a41a468c1b6400f7f58fb10f7c0ce3a2c99d53cbb8ec8478c2311cd2868359a1c5757a08b42db89add7f1ef083f331d20fed5d05636169a4350a6fe35f6f4a8d348360bc88f404d7cbce754d6c40622df012a2fa9c9e965bcaf5901ca090b797350c5fd8469db4bb07405ab293bfb35fe374963f87f68a0fa64ff49b6b426ef09cad00c00b9d210a5ef3785cc785b0a01c8b69c0780975f059b00b6494bd9333cce2bfd4c3f49888741b57a3387a60df7146ef3da7d0b24e3f8fc709184c22216922016cfbcabee88e8619cfe59c33208eb910c2582f4db1c07038f6e7b3e003006dbf27d3c6faaa4488b6301a63e05d3662ac3447137b873dcee32d797ca882a41a468c1b6400f7f58fb10f7c0ce3a2c99d53cbb8ec8478c2311cd2868359a1c5757a08b42db89add7f1ef083f331d20fed5d05636169a4350a6fe35f6f4a8d348360bc88f404d7cbce754d6c40622df012a2fa9c9e965bcaf5901ca090b797350c5fd8469db4bb07405ab293bfb12a18245ea99d4688a94b128491732700ce7b87e0cb8a632efa8a882d64f69080fbf7420e5fafd3db5a731b3c07886857a03925a09ae9f877a30ffa3b718658d03592eed7b0cf4ff28fbe53c587daab9e5c8cb79de7e8054cb890dd623b44a2f23f40ed62d3a0789fbf5202366d1b01b9ec27ff4e1fdf6913c15d652d17e8c0338c36a7c33235d955da889ed0e61c1a994974080157d2e275a69cad75e947dd907f055494493e3638f72958c9511431e33d0c677039de9327ceb172e1f9337fe2c437f825673a2a3bcbe50cc523b2c775c5705b718198244c2767f088e1f1f5931bd5fa2f298dc658d48226f635bd14d7f3caff84728114d14ac21e70485dd8e25d384899bb662e14f802faeb8b0d1994b0e5cd6499f89d074b55cddab7cade40db68cd5fe51254054c276f1e3e9fe0e18d5334a69f5e59f5cbe98bc826156230a2d90e9612edf268a578fbf0ffc4c2c1317165c99cbca12831021a2ad2ae71a1976b632d0371011d5ff533689300cb5cc8b95564e0d811e8bce1d59e87f2ee708fc442e8df75c16daca0811d5b70976eec8c3301727634ad44d3af593bfc8842ab52dc6e0a9c9a05f501b102a107fb7c2704d637f0b4271da6366a457ef82cf0e4d4b934b21d419e473dcad2c069fff76f825af4c516f121f329a50dac1b9783cd9ee1889922ad88799ca66eaab635bb6dc64955a6a5f00ca1692d19075750f2312633f79d0550f0d5259473157be2d519cee55a3ac6675bcafb5f17da168ad10ad779742f0ed7871fcecdc0d1448886d86d7f6c05549df621ac118fff22bca08f26153397f371ce63013eaee72077d862c468646a9c09b05e1be343c4ac50e1a6ee5f628d186b6843644f684674ddd6ede8c2316b589b2f0aafe2651b94dcf1fdc440929f498495847387f875c7114e0173d895464352629a8a6081115a86f1e476c50258f1b8f2e5108cc4b6af1d71d1230cb1a3f8bc1e50fcf2b9f6d9c6611cfc36578e174c8235ddaa198ee1d716a04e21ea80ac66b69b5cfee02f26a42093f2f083029329191edac64162851b341acecf9b3161f93180e3ffbf23c36513a97a4ceb42d8d27e9b2cac1d1573c147c733aa2e7ad265f5edf0ca957b6843f27b24c9106ad1803b8596f1f703085c43191cbc6de3af63f280610a1a325848e23d73977071a06dfd80739db4663c083ffde6b01f8fd341d3ab9070cde7589922ecb733863d79892a345541440b59d312f94ded1fb6051642f62a1f5ea9aa919036006209f0d8036c0573b4404beb10e7a4b02cd0ba8b0afe10a6d14b7b4767b076a25ccfd98e1da249b354e64285c8e6e659496690a8fda9a4ff75ccd1474353f4ed838378367d687755ea5238661e749c2ee483bff3ee7a9cf8bfb4218c83a01a91bf87bd1c4a63846d230c50efbd70266fc10d4e11e6ea660793218b16744381bf7e9da4b0db9d035806f2c1ff9d2834277693fbbf6633f6662e925dd31f210318698c265ef8770a452c46137f1f66a9586ede51ca33b26130983dfa01be70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000131f9d1d997c5e5329ff64a748fe5f290f83511b5ac2d5babf02776416b726fd11a0b7c3a9a90d32d9961737f2fd1865249c314cd68a81ec3bfd4ce9dbc2ac2a72f7fff6afff70cda4891821086a7a940a149dc6a4046a819ca043ef4caa50100212d20859f09079e855ddb2fde1a0f2c1c82cd1eb3498568fc26dddf0091040107bd49daf56396f1e0ff38d9048844fcf25d7fed92f6424fb6f101a88a28df222c74befb41a6925d53e69fc979f7694833139c26b75fe53377597a1d8a8e40c4271df44ecb67f72cb4183236f299096cb1f0626c0307e5d58a38f9a0cd747b8f0f75f5cb86320fe07737ed6d3b5297af43384fa09459945a5890660673d322d53208072de81623c6911039c1e71ed005f1c127c30470e74fe2a98908ec6993391bd3c7a7bc7ef598dcfd7ec5b8a585855a19f6ea0b81fc9ef946d30fda12fe4d3b73cd3885bbb124a585f1b942bedb00ffda2ccd70ec624ca87dbb5728c66fb410f89e5c0180d358524e105923575f1a27307211a39c5ad610d15f91c2d6d96f2eaec10c322330f013e873a868763c330d2039d7e10e5f24514dd89e90e9ee142c67f6c2ac92e65bf526c33467609f8ecc0924160c71dd93ef12a9e1e38088ee06ff3b5f29e6d538781734102e2933ed5fdf2d9c94d181d4380a8b3e67b6cefc3fe1146d90945d35d5d65467a476366ab1141610b337d544f3cdb569ba1eea3825bcd3eb3ec8fe09057d67e4c93a26b615cfb3e570985941c6d6291f6325d94b02170d74af4990565bbdfe7e19d01a714f676b004386fc52ca43e282eecb5b453f8e08977b42a76a71ed900ae5591228f0f866b5e9bb1d17ae27fc1d33e36ea81d07569b7baf514b934d75798c2deabd938b863ecbca38ae2e4250e3da5ea80b21b8e89e1e42ea2e3f1ab97cf121e61a7cb1167f978002c78ec704cc93724b3d1e5ff60dd9d8dd94ffc296454f93c0d61e224ab46d7d44289ba0b5eec9235b46342163bfecff1edd8d902aae46b607fb294ce84d04c6c65df9494f7d1c80b83826bec641b05784c06224720b9d68322c9f772f8c3d8ac7804f2f41b4bd81f6a03616e8717521c3b8ce2228bd76c04f04412a037f9f5488399b663fff93c2339d2d67303576d5129baa2e12253580e066309a01c272cd85e7f5163971a32bfacf39d8b095acaa4b2efd6c31325de5481520e67c7bf78249c5065e5ff19281f74428f66d47e3479ae716bcd5a62ca95a63e04341962d8b0948495c6f5bd8173cb205b57e3e37c6ac2628eb4cd2b985a795e8aec1b4e775a5e112f67454971b670c39b4beba6379b28659ed99b743cc938d366f9aacb57ca70ff6ce093473e41999205aba9afc79c1ea77583c7893e011e45fc1d5ceb7c3db239bbdab9a8e13c2ca378e2c74dddc0474186256895426d092b2522a08e8ed22074577096ae54d7b433562e40b1817d29659086c5d19598b7cb50b11cb80448e2594735fd8915c0a4f39db3755518eab85d26f490b88cf5ec4b66a3a7f369bde2bbc6c9ae3810f0d6b17d71dd98cf199626da025876af96eaab96cc04ca56bf5dad93f67f4aea2c5ef3126d948790b9645d51f4c5d52f5a097156e1ec90d929fc45d7f06d41d78b7dd2f9f2af38535b3f8dd6293228c1156ce158ded7227b0b092c1e855c6e950daa42b8310ac102f00000815216835f233e03ecb243728998f85f6ee5f84c69d971931f94600a78331267f15c6bdd7d4926e3d584511ddd4cdc132bfdd4dd561b4c104b704a52c0bf6db7c40be3bb2a52e5b65a9b5365a63a308fb74f766ddd7ced93dd7e57e3512be7f78ed7eb84f83b74be3f1c95310eef03c6ebeadc357b2f446307625e917f727dfd285096736fd8b1c3899503bcc2aae0834615fff8cd0e94f14631533db15dc7eb8c0c1887a0a99f95e6b19a90b45d0066969254c60b14e0c1be8e42ed1917190911ae80b150fd374cce335a8d6245f1f97f208e17dce2dc51246ed34d6aecb67f432b5235c9bfde694aed4eeb7dbac782b0b4031135dff911719e80d38c27845715058e2abbf7636c954d28b9d9cabf5c572d5c84657f3880ee57fe6a4e4cfbb2405fdc8992c595e773669217a4cc3c512a8f54177bc62ec0ed0aac11410e5f77366f0f0eebdb613491e71956677733327a19900b7e0b6980eb74a4f5d7986339ab9694ea89b67ea63a0e1a32b154ebdd3ffe2e3a7fd3b0a1611ae565082c7510a9b8de649379b116afda7717c46a2f755b124c75887333c23c034b3e1b7dc9773b1c45935d6acb13a74ab0811ef5267326e7d85afffbf3517bbcbde5e5e80d8844f18246b11a468baf8be6cca1ded189e00ee314a4bd0950f4cbddced75b567470e08967f0d25c962cea6e36c3e88eeb2cb0d7a52023407089e1d612d826c590b941ff16f57c3aeb3b140fdfc6902dbe10569f8b31f398217e24fa5e26f0a7c15716580999a66f9509639a006a017aa878b3256228c7aa3379ff1535dfdf6b6e47f2aba6c2f341b3d7a89bc0d9d74cf986508dfce4acd9c302b4f693a22d50bcdcae3e0057049ebcc38764021995bfd475b1e70bac6fcbf267aae434e7932363e89b9ea440ae700f5498dcf831672a2379d07ea0996a28b14df9fc660f918e6acf017cf7a67e5536dd2d0f974badfc5beb3109ba561170435fa78bf2a67da154d2d7a475b3fc0109664b349c71bf59b2cd2230e54da1ac20e131eb0580d5400cc52542c6bacee20283c605b89b620aa9bd0119fed3e8c040ea049b6a07a6d06176947c7a8e2b057fd2ddfd454c36e9ff00b17bf610f50bf0e32e20ab7fb1667764a6da46e3a8f42b435fd7fb7512208f370ef5de5a97b0f1255c6514d7652ec51d00570baac547a2b923b0d60d5a324f32b3560672baebc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013b9dfabae093c4415b454534119f6133142fe6bcd0a39255f3f6b32ccca9ccf2c46205451f6c3bbea4babacbee609ecf1039a903c42bff639edc5ba3335633222a15e5a662e2d546c85a5a04581ce5fd4085f1ef7e6249f430fe710fff5100a1d5ea1a599d1d2ab937a5a5fba7e31a04e3e39dd1166d47c561d49dc000aeff72d26d7c3fee6e2a61e9c3c215b8907dedf9ca9a2c4e4c4e51cf5217affc9503012d9283c01191d59e163c3dea476f82142a9ef59446834367c380f720036afd121c236d3fa826d3e990d2ca6c9ad2759f73b8539bc90ed26c542149ffeee90ed1e3dc92c057d92c166f2d3593652d8a62b0b13c24cbc0bf4d3eb1c4d01116f1413b9dfabae093c4415b454534119f6133142fe6bcd0a39255f3f6b32ccca9ccf2c46205451f6c3bbea4babacbee609ecf1039a903c42bff639edc5ba3335633222a15e5a662e2d546c85a5a04581ce5fd4085f1ef7e6249f430fe710fff5100a1d5ea1a599d1d2ab937a5a5fba7e31a04e3e39dd1166d47c561d49dc000aeff72d26d7c3fee6e2a61e9c3c215b8907dedf9ca9a2c4e4c4e51cf5217affc9503012d9283c01191d59e163c3dea476f82142a9ef59446834367c380f720036afd121c236d3fa826d3e990d2ca6c9ad2759f73b8539bc90ed26c542149ffeee90ed1e3dc92c057d92c166f2d3593652d8a62b0b13c24cbc0bf4d3eb1c4d01116f143889e26b1f2f60dac82c81667d2a4f16443adc2ed971f1d68e0c88f558ed965c1aa4a4e2733a797f48acdad4a4175d5a42805a1f77e79763002302930cb831db0295f14214f0d366d4d98f3e8dfebf8d56fdcd08e42efea22d1db2513e1fdf0e3d54c7dc55d7b3548aef1e3eabf878a03e46a9c1e6a56aff3acc472a854db76f0d362d0e2231ae99aa7d2302afe5deb3582cb37c5880dd760683dc627b8cd2a43de7b463543aa02c3d1b79e24b8c939ca555fc3ed5060cd94b5def88a5850b6d3410e9d6f4ca3ff186caa16940af6c37570b45ed9f306ce9763ab455d115b4ba18316875bf5a9ae62deb0d5835b3a472c0b0d3646aea881d1886f462363349c6326e212d046ba6e2381a59c002636f353bd1a24f04ba98cb421c709779268c1226136e479ef3f142adaf5e4e5a145afa02eb278c2bb9dca635d3feb9ddc5084829b884053c8e9907aad3db86161c6352b318ec54fdc0f1b50bc41febce5630e625cac50c5867981d0be1c740e36d19e581af31aee99bf3cedf343dd7a44badf505922d9666f442fbd122ca955d0a15e9b5a3bd9f62fe230e1fa947fa78f472161de130accdacc7da0f3f6a1967c695f101de2fed75861ea0832b26bfa7cbf4c31c4e4bf0dfa38ab3642726331d41d30eb1dd52af43bcf87745ac5bd83825741201439880ce65acb686e0b69c4ffb30841c5a2837e17f1eabc799820ac3e80876147d6fd9891235f2a947f30c0ba6e0e82000fce9b35619035e31dd12345b2f57051827a6de4b6baf371eaf45a4dd06ffd6b89ff05d97438fa4f644d15f85cbc83de7da50dd9bf6e67bbbc94f6472bd5a31039eec8e6977a9eeb3a2ffde6eb62515d5fd610070c8d5dacfce071ec7155cfd01ddfb6b6c37aa9c5acd5134c187a62cc56e05b8500e0625390c94c07381659e16f81c652600e2c07f39dc0d7a2182395675bdd31e129508290b186f6e5de6a0442eb79e90214c313dcee2a90abb8c33279ea0b18d80eca02fce22d3de1cc6997fe154e36063406d4643d25a2b66ad1c87e639392b9a1dc0d5ea188175207f0e18ab03937c92e5f64f1a58532ba340225ac61e26f1909d490acffa27b4cc89b71a4baeb7e674ae239e029d0b2e88af322736001206fe66bf97d0da85a62ca2d5b69c77189fdb7cae3932a1e54ae14a017b94c260f9811816d33511b7641e8405aa7ae0ceb156dda603cce9ec8a6085345e64e1f99d2f150bee66a8fc1d88f7d5c96065ae96a1c8c2923f46a27804fe30379d6590269e5c92b166250426927748e2c8e70714f400cc36749139c0d1c802539edcd8aa97e5a07ace8e6f7d93b26cc4e78c8e21e8764db4d0df7100cbed36033c62473d47669a14953a0995070cdc0a852cbf0fc89b8158e35aff0e0cfa32b5375f438854647d89a9e991efa6ba824478ce24a5f13981dc3d90ca8de92121bb086a17a9f02dfafdfc49957cf040fb693d574c0d8031bdb21fe58a1851bd2e72a5ef2e822df8a9f11aa67e0706c42a067725f2e40fb4078b04496b1c715c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000106e83f6675fb6b069c22b25fa5599deb5f0cf6888cb3e2b5e9000770657bfae93cdd04b7cb6ea9fe8cebdb1bf50778d2d79c733b1e88bceb2a34c376343386f5274861718d3dfdf39ceca7b540654f8862742f79065c24e329976cad2f99ddd51e34278d54a4cbc3cfded3c2c6bb4f831e19c6cb3a5bf9425d2af08d7ad7ff7307a6323c85416dcc1741e0dca9841ecb04502decfb37584cf8ebe0f5810d91a10ed8d21c45a5a726af458b0902877ce5fbf8e23250e1393b416d654aa06ca8f0145b78b67d1f17cc142b746614171aa5b49fc542795eec8876dbb1d611ae1fa41b491e3012c6e8722fa00ca3d5e86a4751ebefcd43e1903fa68a89ec87abbce71854076a47b823c1dd0500563bf39c773d59d917ea894dfcf2b527105ca5d71c37c33990bb6ea562f754efef16c2c909c39c77df83c2d3dad9be90102a017d4e027101391e3a339e819eedeedfc7f0788d30c9130d82ba2ce0eaaf21f924d62b1284ea0d0c54b4c894b0184c61870766a40abdae23cc0c5a9925fe23633c4faf26f681a2f172c8021e140b051f06e3a52e17514a6278fb78f481c98fb215bfc20a91a885188b51a0a062dbf12166fda6d4af66b76204aa406c0db97221b254383f10760377fc380a035f60c7ccfbe2361b5d3dd2b99dc5a9458494b37eeb28230aa1e1909b31997d97d5833d9da8eba646028db840c19a7db23c091db6523b09220284d74b0204f5931043141b2ba5ddaeaa9808f9355411ef1058dfdf0863403b6caf4ed02f64de093585b58729ed90c2e08864494739fcbabbf9460893dea7058cd96b9d9e2e59b42fc9108620beeb680aa37c46cf02bc8cb4b4cd43e57c960e2f6a0605b73d6ade941438ef08fb2c2237c2aa3eddb2e54242d39c3a7afcd5330d10a74711283abc7d4b6f326381c3c022c83637cae9f9d3d9adda77b2926f217cc4b7f846dd1a8bfe2b4a55c0eccf26cbb11ee610788e8e197d9da17acb5329c0fa183eb62a1a780e9a5faf3204b5be3ecbd137aafb8222b8f4225cd7d0783ae9c9dc18927e7f864144dfbb89860dafac035fee721d28bd959f3179f049c92b9fdb12770d5f15283f0f5379a8a3f3b277cd4c1157dd59a6281faf8c4586ca2fef14774e3c45d7c91c02dc6272b8f4e74010bcf2fb7a534e7867bb1a0419d824aa858b21e99e6d8ddf242cafaa8546cfe544256d98c47e8ab37d9602d645fd0feae7208a68e2854e416c4c75756f57284d91895207f750c1dd6b0160362a2022d1176c979ee6996a3d2c688922410f0f8c840ecd45b52d24bd68f66cc49dff0b1090443851936fdbdd9e6c0c6c8c74d9ac949df4b81a36f858a72740ed5b0831015310fc3a39f52a977daa4c825ee19c1440c09e834bfa8e15dfd169ae216d0816cedc09806136a0c0476fa52bafb9a6b2cd34f1295cf5e735c7cef0d045ca3143d54e5c54f734334a4a064b1a32160118c0bfea184b742267d75be57c06261e5a8cac019c16d5dcc2878af0ad205c779bd826133ad2952232eb95cb70efd627b0a2bce20258c0c62b744e8f9fa7eec0e1b45389fd44c48956d43d42f1d7d702062954f4457bd8e409f14940f9443dc0d1affbad375d0ca7910254b2fd81eb2000cc4dbc562fb53514a0f50c6a72918e59b8c927f1bacdb79067587962a7de333a5aa9b979d0e62847bfa799db42bcb52f565cef71e0e95cdec624ca04b92000e4cc18d14c1a9e6fc899fe49b64d0ddd5ba2c0cf5964690ed651f1d04fed200152fea7dcb6121317891df7e5662d6618780af0f45f2ec3b9b07550e2c1194927b8c2e675fbf1ef47c6aab3fca43eacf2985cc7fa3c04e35634e695a7ed21002cca976ed2afec9d008d69c408ea5d01068fb0c8c7914bb428f80f39d747d6b500c5d0c05d8c5f2902e009ea67cd70ba7b8b856a2adf9b1bf881d6eac78222220c61ba360af4aa1d1c458113869566bf51911917637358ec49f709117f215f003425b631888537cba42cabbf4bb5eced585e76d1e4222ae1c4dbb99b71b8a259382dafc6b86454859a24c872ff1d4a4f6b19a2fbe97f0a761f5c387a2e2a93660821a564b0e6a0f3a009abf9879165b7c860316712619030d66d766a7e189b7b2aed96798f49e5a764c2fdd62e44726d8a0d8dd3ec87fda79c9b1666901825aa15cb771e895dce1b4490ddab9e7195a74d2428a4bc09098387ae0b556cbc331900fd748f3a23aea03d5b1bb4781b9aa69fa5a15b50a7e9af06a66e7caa8198972f02f206e41a7f09b5bbf003ec382b3f5057938ddf25b50208982423756bc9051cd3dc329513d2bf64321aa2b38ff780e29fe8b168eba2a27745a2582b8aaa99093e800f31d4fd5448f6e8c974e520bd900c37d639b959b88fd730d3ded634ec25681cf3ed580b0b0e7d2f2ec9b0503b6ed902d261bda6620885abe8f2da7d01152780d6a99de62b5a77a2d75587b5576c42f3429dbefbf9d57075a919e63eb821a46364e16021fde5eff254f4be1cd328905e7758fb76d9bade745204bdacac3f26aac84e8614e067cd40fafe3d82b36b7264fd11e906d70b6dba26f1479a981e0170f210c6fa14f9a3b093d0f6329ed4087345bb3a9c315ef755346d8f81e930c8894a4515e65da054ddefc674a047cf9a561ede7571c4bf89408dddc0bc7328d61c891c07fa0019b532a11466b7352f5ef327d444231a8f360ff88f189ccf0ef25db51c4eb95ad94abfdbbacf8ce7e2f9f33b1c2c002c2beda70ee2afa95c232fe86623ad0ee7b12868f815ccc1c42345759d3fd855342e0fa45e028c01b738af7ae8892dc8454b985e259e0c7155c7ffa8567a6e8cf168b4c6dc50d6b4012b7d3d56bcbec09c1876da1304735f10c5da6bb900efb6ed4af5c25f40451f8c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe00bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f861250210407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c3bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a51423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d33524b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200634016e02dfdc327fb27b5b3db32e4ae4560c2c16b3d71cdb74ac319d79edafe00bfe91fd2023cd804d84a4c24cd1b51bcc3a6ce55575dc402480ff4f861250210407260e5f4cfc7e7c68c8347fe77675252278815dffabdae2a8345f61a46f5c3bf8d9f1a0b30381839737cb8018898afd24207aab4d4d40b684fc8d9e5b90a51423be47dc80ee786e0be9067f855049b9ac5a86d5fe5b466d4905dce8362ccc2bdc41b8237f118791f416f9807aafb6689a3e75334e9dd52be42b1017c9d33524b2b7674e84a85a263b8d207d9a91707e172ba624aacf44893fec63890edffb1b4d4898b17b57a5d9c472df82656e8fa42f6d55e4a229d70fed448976f1200606dcffedb22c4e77d8ed497e529531977a2201efff2be98cee73e2ebc342df13364dd1d7f616c318475ba546e39a93b592fb9adb0bdc5703588701952d70c6c8240cac1a0ced68c41fd0c96a07e024a58e4ca847421e4e4cfbacebb840ee45f42f859287782a5823a729fb670fd96cd73301197eb36886861b68a090d70482012b74c3590a0f35f758765491913ad16db15ddd5eadac1c81583754f6fa530e73239a02c7435118984afa548faffe35048df5d477a399c424c4139eac219c9a24272bdadabbddc1ac3ccf91334f41701f87705dde97878f7f2cabe63f29e62709278b8902951a4d855eb69aee9c32f904eff60bf118c6aec24c379e50e985ae0c38783353b6682c0be03a6a4eabe2a540c8f1d3ca1c7a486051eb2f7f3f50012023bb7ed01a12947280d6d2083d8053a8f609e0619ae52fe0908f249bb40877a00257c93fa3266ca7c08981f8e5f8a3ce5e56630b1000bdd1f54e29ffcd485c3d2a8e3a1ab2453c3c22c0044aee640fabf079955a77ebcd900f19cd3daea32a6912bf48750a27700b6145921f53e58dcc112dd364f02772165dadfda42befbdc22b97b5a258ee74d7cc34a888554b08209943c4b918f9c5ce2458577442151af4191ccfcd60e38646f1facb5682e5511ff1d81efbc9c17a3987c1d31a425c716c1ec4d93bc2680a07594f1f334dc7fbc2aef7047a8130c856dbd145dce6bc0c0c1c7220106ca698ff83272c93903b14c5ebbf2eae8c2402a5cd2dcf1f29ba32d92c062993c14526a66c6816af00e13d676dbacdbf9bf4cd249d2299995e64f93420753d53f57ab73e2135d8ca1b2f6caaad1f65428a625af52dad707ad24f72eb31560bc71313f41485d2ad8b5a9e40c7ce84990381abc22d1db36935bb7cf8f22a58a43da0c7a8023d2dc0d85ade6aafe77451869f6c20a5093264c99e6e21612eaa59bd12986c37dbb198ed536e68dc5219142f61d1ccb2cc8d43764993e210393f755fb83127e426147cd3f3d050fea1636b722b10c99b2897e50301f6c60f03608f300e243cef2bd4208a280162051b125d8405d716b1493bb825700a1ae10ae230bfa9e2b58934602d2f76d38c44c09fccb83369eba70f89ee833fb0522c33f8e70b1cbbf55911d71a2587207b410e10f470adfb8e24772b5caf2e6c051500b58ab7042e1a043bb6a5f35be67bedf524df28e98b05b8e264088c443fc588087d49841dfaa84b771a17b36bafc533b7211efc1cbb2513f6d2aabff02a48223e1913c1bf3796167960a3895e2e29f3e18676e00c661b06eab203754283add139a44e54c2032c59d32e55bf72699eaf7cfebfe80ed2ad364399b903660b523b0052fe5aada094356536e68e161b4fca5197ce9d9d531c08bd9f0b9522d2424b12e70f348b7264cd53b76912e549013e7205facb8afbffe8cb86f384460d4abe18a7df0a65b284a4c68040a721235129fe5f7ebb44bfc1238aecb6a15f87d4893f398ad84b1b54473bb3314fb43a0f2e12c35a69349885faebfd55f5f3e2992f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000111a035c6d26ecec11861e42f464146f77c60d77e0b0549b591351c059a7a5668279ac51fe6977e79246cbd491cb6decbf3c71673ff4ff0a44c7dc54a4c61681a1908e5e9047a07e7b0258a2ee932f3b2e3e8eedd3e4484d3d1de8753f340cb39115f69628c211df986ca975cd5d1f39f0716e78f2c422b4f0548b6774dd10a2b1b8b1fdd7624bd4aacb89a8c38fba1dcc09bfc1e38e0f31ec9e5eea419b69d9639bf62ffdab41afe8ed2ebea9c42a9e6b777bd5fde33595c5a7f4c002a9daa1c234f87e757cd305c61823f784bbc5b9462dbff432dbd816a52c14670b89111ca2929446112b4f8bc8c7e567fc53cfb405617469c1c7d1b5019d8c597284ac7ff1cf64059ca985e9eabf4fbb499ca0b52adbc24d65c211587b11bbc4a35534512352897dc1648d148cf27367e3db50bba2eb303980a148e00dce97ce4e41cc9e703bc994fd1d377a1bf167daba05df6225cf736f2e9216a0d5671305fa59219231b5160a6cd8bfdf9930aa6f295e2fa46ff5f9d314b31a009520caea6545b408a30c0c7ee9c71cb1b81b48f40966d4d08749c1264d51bcdcc6f8bded7d4eb09270a92b9a572369462c904f2874fc0928e61bc3a40b8f80468074c3d437ee27b9d27905dd5530ce68b867d905a16197bd12f5892c72b36271edd77068dd818b31127d8eb366a14cb3dcadd58b1a42022acb2a616a992a6dd85dd503a70aee954e8220bc896e41a349b968e2d2b43590c4bf889ba1d0fa21f4b6a4e76416fedc2612c5b8817feba91494b9b8cf98f97d3284601b29ab32c4924633196238b4e74412a9e7c372771ab8264717cc6aef0011400488810919af8356fe717d9ba63d06839fc6695b2d7241d016fba45339c01bd6dcbbbbd0e4f7d1c8c2f562e44596ab01619ea4fda564946bcd252d693ad06c46ca52f65dbfff55347f910c6e2d60d901298100d8890ae189e715f6b48328e46184ac1dae5562236cdc28fc6cf2e3ee2245a4bef4cf29ccc0d4f345887103f41dd73d792ad013f2c5d88cfcd9a2ff53c17ca4bb739e8f994f773a8d8fb7acd2f3d500891cac27c73f45cf6203a8db48a07b5c8d94e5a5beb4834b1284ca7c43305191f930b4371df5d38c956e73bd9bf3dc6d4b0a24481b18b72f3457e58f603fa632af6d8c88c1819e66664d05b898608f783167b9909bd0710c126c3b53b4151ccbe58a71feafbd5fbde3a149b7100096e513f8a2398df51c95f60d4217f2ed220abc49abb97abbbef9402238de38b0e93771db14bb712a372af95202e4b7c789bdd12fc7e1626f54732b6a22cdd8737c1bcd8f36a2af2b612f411835c1ab62ae489a301a49b0d3ec33604075b5b8f1b572037ef811c8351dc41242b5bf341418f309bf6bd926a7492085b85444063125744be3f284e935e9346d0434a24f4e40725324e92415774799a0ab67a22433f388c1855da921ba0b4ddef18d16af37fc1b763feda6ed92c6a876c7a1ebc052a4750394c8a576efd1d345d8a6545ff6f7e650974a18e5b4ec7307aca4b79a1097c2160539b5147d754a2ee5b0f00acf82a0a0f84d72da972dd428dc0f2b9413733fb15bb3c5f2fb68e41995efc03f957af31f6ba21250906afaa0456cb88ad3b9992e3149c2d2d22ccf6dc88801828c29eada97c4dcdf00df035b6a4403c463f0585355f3c07000dcf2c8928908d58664beb8b20b9ab7fcb5280be60843bff39c959c1de6c3825923d1890c9cb5773bae98198213e444a6d78eb9c4256e17b3c9ddaadcd83ea28634dabea44633a92db225307af1ad1bce7c43dc3f8b7ef460b55f76181b2e623b6130d49c9daefb4fb10632e13e93f704add9dd194f332230d8f11d0d4b9720d42378776b03228123b907aa567195605b8182a3beb51413a00f43199c03370baeba22df2989dbfaf8404057734f135143cbbff3e2445e94f05a451362d63cb894a653aea5db7cf2ece3d95ccea94f418dcce8eea6b96a87b374953ef80914a10ec44f60b4da9646497344ba6354bd93e84e9e65a9cf822043e43a8a7a4b3dec1c2b5cfbca32d133962c53f874e81c1a8cced3d77dcc6022c31f8c4d12a6528a1828cf806d11f7c2aa1792ffbe3173230a4e26f47ddea8b4010d1b4c0224ef136dc0525cb569543108102d2cede474319ff677fd071af285d1fa895be62a808db314f794e4f328c207adeed199e703ff421a01562f331861428a3c98a48a72e2c2d15ccaefc78ae1475543c52b24034101558fce82b87483f18a4ceb65226bc92d30447cc9570114d2ef34d9a01fb4af1059ca284653d7afd125b98f6509c8dffdfa721a5e64a76a5ed548b397711274a1cb36b2878aac99c1078b1e3994cc1005a18e593c076ffc29a3f080e529bfd80c779904b081100b22295a31c67f075a822d42e50a3d27b564b6644c4579cbeb7eb295aa6fe9c037435e11c67a57248fc56828fc95b6959198e0220d5cd286bd44c785d2dc1650bf92d64612a2724eacdbfbdddf27dbffd0a78811d8fabaefe0d337f4d655f32e33905c34c1edae5230d6029f3d2da17273dc5cf314b4aad2e71dbc7db141326a79a0eff2dfbe7c420d76a69bef435d12d141bf7ddf8f71e4dd647967c5ccc3b630f38ffeb85936e1a87bbb90fb3ad069afb7368db4672109608a59a2535b5ed26f904d99dbfe68ebc5a55908f4744dd341bc302e4b7977e26332d596104d9af77262cf722fffb7a73cb0481406abfad35b37c14252274c9396e60bc19e265bebf84303febc302aa4f0d59010d66773057583af994c370512e53c17a8b44d9961f4522191bf604d8f59a16fd2818b9b4c280cd33e7ea3f4263d499947fbca66491c61ca43b0a8f678877e5e0b53ca555524afecbe5879bea85e955c2eee7043f631e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000276035943c5849004e8352ddcda7555696ae0e13fe5077b5a3771ce89dfb27d0189fca6bc3a7b6ffb17cad223258aaa98b988ae80afc8165f5b614046204d83104e10be52db96d0188909e550444aab08a927b6fdbab6b3965cbfdc415e7c70d3b1ef41ad24692fe776f61aafbbb554f97b41d8c2da18de233613328ea1838f418653b79e49f2107aad317a915575572b4dc692f4a59181efcfbf4d46d86e341279ac4861b60def8552ce856eaa8aa8d6d6a2fccbef3e0fc9c313c1892791cc039fa2961771ba526561f764d6ab4ab3d660774f06a707f7f57be973923a270440605d69e88e45ad9a9e089b2954b54c2bc3f240b9edc799c416e99b3dc5d8fbd276035943c5849004e8352ddcda7555696ae0e13fe5077b5a3771ce89dfb27d0189fca6bc3a7b6ffb17cad223258aaa98b988ae80afc8165f5b614046204d83104e10be52db96d0188909e550444aab08a927b6fdbab6b3965cbfdc415e7c70d3b1ef41ad24692fe776f61aafbbb554f97b41d8c2da18de233613328ea1838f418653b79e49f2107aad317a915575572b4dc692f4a59181efcfbf4d46d86e341279ac4861b60def8552ce856eaa8aa8d6d6a2fccbef3e0fc9c313c1892791cc039fa2961771ba526561f764d6ab4ab3d660774f06a707f7f57be973923a270440605d69e88e45ad9a9e089b2954b54c2bc3f240b9edc799c416e99b3dc5d8fbd00907c67b25f66ca540e553f4c2f50e9425c1bbbab18d99db7ae7bd65e4bc2bb0ae6154752b20435b6a4471c6fdf70d51db143f79e7a2d149f0adccb51d2988134b842841cedb97b5483ac511c81d71d3affc77e3c75b7668ff28be66ea98da034dd4553b43de8fac5f68c2fe778c976cbc868f8eaad945ae8b4e020acb8248d36360449f32dd70d5028babb4d5bcdde1599ac7512c8203fb43eec1388df75250b9df2b8286771f32eed3e90a08cb26ae6fe207e92cda8c9688768ca1ac55f3a2c51cd0b6529e46e26e02156b51e1495e84d83b0484c942dca04284ad4b5f1683289889050a9a8fcb6c73e81d5143fd50d87af8adcb41a06cf9ad516755063e83fbbc168812c3923a7f6673fbce2bf76f925eadd042d54d6f13830b30279fdf82d59c8132f720e00bef5126f7ab52a6d57ac787fe866d01a1aa1bfef7aafe4c622330ae6fbdb5a16c44fce11a04298b7963cd23f63d28584677b71f75929a1d635b1f0e393bce8db7dbc35f81a3077d8a98ce51059abf8018595ebe5622396093db0ba5eec4878a3b383a5e7d8fb7cfc3c9c03c9d6cdada8879a59baac62e5b43abc8766c57d883fd426270dc5c701cdb0847085a942dda8be122fcc1eb6172614d7f385c7b281e8242e6ccb7130b65aac4950dc33021f03cdf65862c504eae2286611023b7280883e3edf4245637d232954b2e048db3e062cdce7125b61d9d3234464593ea4d1c7cbc9dceb009e5d0e538ec82134208f46ac266308a78cca2e1f249242afa92e91e61ca2b58e3781ff6d4190f6aa6a9b57769e5abfad0653543914dbfb92a8274872986afd0b13725459f44e10e72c6164b4d02c5b590e04a226626a2bfe9b1952113d06c4c7d9d820e41c90562e24e33012af772857ebd5472e3265a2043cb875ca02182658560673a3aed2ba96509a620801b2a1eac04ca00f9314ad4f78e56b64cc0538ed3468e9a9ad0cf8c84825f9de42d48aeb98fefa134bffc4bbc25b24a49a66145599452e9d325027686f37bc25531a8a2cab401b1d2537a5cee99c57cbd63b57b6049a403e06c348ee37f9b8cfeac9aa91e9dd0b337a3f8d27fbffeeeadb5102391af9339775e6ae8c1d06c730dac44e4ee5991d0aab935adbabd26b2a741fca3faaf1fcf1a69253f29bd296b4156c33e70f52d23b35fff436d69d22346794b1fbeb9641697fa3e7b2da96c2ad425806351c53852bc85592b74440b84182049341aec9dede1174f4a510b84599aace19f26e641b38ad7e4f02ab6cc05d08c77de9d23ceaefe9917c939f154648b14713eb3e78c20b60a18d9d707e607b8f5f6f63d2fa8892deb9b72dced80dbe4f52849b23414237511a424d2427b7a55b3ef69f078dc40aa6f19b0fe6831b520e14898bdf8bf1143b32b7aca030464c3e98d4e49792179cd7df48a8b285a9a580579aad8bebd8241c4fde68e3ac968d3fa230260f501550ac5405b67d7c8c302374329894eeef1e9fa5e2f60c08d80890900d5331a41f33a7333c7f541da1bbf18a528398f61c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001307dc85cd10d16664cf45042d484f73c15fff6fa7ac1fca5986167cc2409c5502a4fb02618b6fd9a77c625997c5df992928b1d6beb7a8cad9e6e666aff1f42d81ea6de82d5bfd227c59aae83d9c3af1862dbee1bc6493a3288fc2e1f6ea6066f2ed35b5b0e32c16bf087c7298bcbc965ed5c28565ad7d1a2da41bdfcb92b4d6222d07e337a8c26466a181605310effe5b4237535d5dd6362d0d18f772608bdc51ed4b4b51452fde6ee1a3739021adf3acc85ae782a99d6f9aafb324e3f33960f0fad65e48d891a9f345943878307bcb0e53dedeb2b1a247361081c8cb1dc86913fb9abd667489c6ee79f42560ebe2240e3fe0eedfd5d28236c4a994ee8610d8f3699da0a35d604bdad3875173b4daade3c59295f0aa6a2ef15ddd58e585033523e81e9fe49554374e866387bab9dac70a28363c03a1079e70a6f979a773696212893b3687315fe755511eb8bb8a6a855c47c5df21a2920d0eded889b84aa373f1057cf06fe82f2d13f4989653ee7f2a11ee82cfaeebfa09f10bcd963917a862136fb3791e8076d26a7cb262acd1a2b7c706ecccb396003a67faf6944dba37065127f2fa93c2c3cf10b32430525cabd6572ad41e4d3e7ac3821d60862065a384b3e3e3cd2eabbdaa041ccd7fb45b930493e0bfcf7e5e94894addbcdf114438b1c147dba94e132cec5e7a7620a4b1af62587b7b1ebd98f11e8f3dc615fceaa85600bafbcf5f98e61f05eee951ac2ad8e2cb1879a50de5697293d819f918df54fda27152967f3f349b2807053ff1f0eb541397d7e9b4e3597f2b0d1c1b0da10d29b34738f2e00a0b5d06d5f4b4ea3f53b791056aca782baceff78c886ee1333c40825a66696ab5c2f9982e114da5143e2e82dac7f67112b69a33af0189499a00ce03f5f0286d1f1b025b3b31f1e5f66808ed5d6d5aede6ced468b0215bba67368ed350b619b51fecd62be30005ae70af2dcad084300ff7802afd020ce353785f8792a091593e4440c57086b3f3bd46c53557ef8b91fd9cd2f8ad9e98d803e22cb5912d938c92c2754d4f426d6943822fa10505e5974d2b09703d23d20b912bc66c21c0d3eb2b69e11ac02d36964e99b3a53854b0337a8b8a73ee35923e4e6ae800d3966d774d8ef11f3243261c376bcfc1fcc43647a3d9f846d4998c7dd43ef7aa4070f98185dfc6aa6d93b8f636f4474c63bccb718ead4ec5e80d24cb9b9bf2914259277708a0dccfeb8d3867fabdfd13891e8d7807bbbf7aa2a96e159405e9c1c0b338be1f3972c6751d65fe17237438c6a64e0f01724c1d042ec2229e663adf6188736a663683c90895a566b2d491e78ae656f1692624d74fbf8f666ad41e5183410a4b3ba11c2e64d9bdca3a65376b2a0ad82d1a948e37c5e3ae4472add6386023a5297b91da813b2a2c5ea8d22a58b39c2c49c1e70be880833bdf6b00325c41d88515fdd8e3b65b161f14283b6be733cb201350efb26c7893abe697615025006302f80806099c3df133d0872f802408672598c1d64407bbb5e877e0f180bbc1613385da7bb878bc80018c021cb17bf2ce99f6ce67f857c8064ca9a39bbe2ed308276931bf54c9628e8ee386c97c1529af8c7261b7e151104fce9508340bb3b3bd2206ceb3c65b4dc45e687eac12a0e39dd84e36dd8547315214328bf24df702dfd4b920cae2e15d7da8e306761b57d0f6f635067099da4d54f517ca6b4873807781d4470fbf85a244507f8ebb2a5043193b91a6a8b17237076ef52319608712544937cb6b04aeec30c36e289fbb645660f26d2b97655b78049dc3714856f220c3a856313e87a6a481768a19c7a7f07d85d808d1856842a6d6c0eb1014383090ab517d2fc4f18032d845b8a0e7a143521b50cd189ec4ecc16e13057d6e5780b05b26b746c5a1a705efb94908f0db34d69e10c03b9e61f80e4ebbda8d70b5f7923b8884cba82c823c2dc3146f18269f4e62146487b5cc4b0935ac3e71671438b00ad15417907fa07ce875d8fc6d14ecf518243193bfbb747e96004078c47bea80320574103a210ec9aaf79bab14c9e4e1f4276e95c6affac98586b1d6baf338730c14266e90929c11e8cb30a979db1d3b7c635cfd1fda6a3d117f803e6f9efb701cd42aed7d3958db9add08c645f5b16360b51f2c95fb3c22a83e76ad65e283723ce273e90243a94e13cab1243d6453bf1c39dca250c9afeaaf9e1229b4b75ca3b2b3eb2cc3eb829bcab88d0434ed9a08a3746044c0e6472ed38a17db7872d9a230e00824ed74c76121d228fa205fe3e3c2db4f22ef52fdfbe3806253b28f41d3d57993b720a436c17c10ec24607c06e9665ce70cc3c50a45593422aea000771139c7a2cc5f8cc6522c7edd55e38cb8669ca2653f27ce6fc2ccebe4066eb4199001a43c6f392eb0abe18cbe87874f6cc0c16c129b2813e5a55f270d8a55dcd321595f9c9b67bda645a520ab7536c3b323abc4a6364cfe0d97f337d7a6812e4af022e488fad345ea5c27abefd9c9692817bfe67c40b268ef552f57f1ae0a29fc5001cf504124aeef196554223321de5b893c141b1855d3c8ad54c87d5212cbff51ace7109327341ba81ce218be47ef684dcc4eb3bafad678dd6188a9b0f1d68622a2a12a80d8d24d75247c8af477d78cf5b436c07b7d7f56471201a3f2e894a39110bb83110cb55e5dd4bf7a7d4b642c7ddc72509fe0af2bdf2b7373fb62f43633db589d5b4263665d738530abf8799ed589f584ff05189b5efa9123f8674f74a1544d0cadb6e4453f60b09f7acb443908ed2b99ea013aa637b76721e1b50060820b9b9d32b6213c4e8172d6bd11d49d440b9c9d7471b7d01d17ec3ea839f5328161c2d88733aefe7a65b44d5f6566bd52751469c8473966965cf865be7e4ba8a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001dc6002afc4fa21af61cd54efd8b89c1acf8379388f85b56adbc974410da73342239ffd503b05de509e32ab10274763e754e616880549dc4eb7099a8ef258ccd14de00d6ed8e2a86ce902a8af3b9b0c81c4be3e99a3fd67a3254927a544440022b21ff291271d579316fd5750c464f3805fab5126f0d22a166d89e72abbbbfff28560432a3c6d4a208d0d4b6c2a073e86b34da93f9f237476279ab76a555400917a9fbcd5c392b5df72f2b493d5f8c17b711be680f5ac1d436b385765aaabff809ae14fd32e2272a2c142791cd224389b13479efc5d4291220d8c68a3aaa402a3651eb02cd1dd8d5d3ebd86e32ddbc7671121f0c4378d00978546a62c555bfd71dc6002afc4fa21af61cd54efd8b89c1acf8379388f85b56adbc974410da73342239ffd503b05de509e32ab10274763e754e616880549dc4eb7099a8ef258ccd14de00d6ed8e2a86ce902a8af3b9b0c81c4be3e99a3fd67a3254927a544440022b21ff291271d579316fd5750c464f3805fab5126f0d22a166d89e72abbbbfff28560432a3c6d4a208d0d4b6c2a073e86b34da93f9f237476279ab76a555400917a9fbcd5c392b5df72f2b493d5f8c17b711be680f5ac1d436b385765aaabff809ae14fd32e2272a2c142791cd224389b13479efc5d4291220d8c68a3aaa402a3651eb02cd1dd8d5d3ebd86e32ddbc7671121f0c4378d00978546a62c555bfd7384e4c6e144577cefa927a883b68e6d5a5b6c788e357003204233371fa4aa4651fb3142a95bcee8f203d5df9842070649acd34990b382eb36db6e7210c33ed8b1f12d72f3b71a0f53b1940d6f15ef91030803b9c21896dea52ac343f5ca3e80e03ea2841e1351a3cdbf916b263e9f7c859692585c5ba74c27455ac7c06d8757e1958d2ca1ba6f8fe2d25089073d41fbe1dae7ed467460893450720a7de161aca3af491783c2b51a9412f71ee5a0ff5013b7cf1254f578cd91b9a823f8d3bc638056cc2fef18f2cbeee0a462edc284c674cd8925dbe75221921222340851e2e7a3948af1bd2c80e44e79f2b7d4d9d6ccaa9e876d3393e3fc3159e171a5e205d7315782efc83d8bce3ddb6a36284f6ad27137caaf8fdfe9ce89dc1f980533055ef1b0352520516c72569e9c840445afbbacf2b15fdcc131b60d1003f1024b1eb9f2dfc61e1721a8855dc4d128d499076ff13631fe5443f83c85de3192b72bd455d3309319f687d1a26ee8bc46c6c039e9fa1eacc36ac8e790574d291494dc2044c3ec89b72c086714beb9f17e81290f6895b18d3b236d2af8ef17ba5384ab931da17b81d1ea1618dc3e7d726ef22083dab277ad9a98702596d969ba92b493cb7262340218ee3ee0e58cb8d4fad2724a9c78ed26774a729e3dd08c45e459abe588d0d4ab4ac91da82d9140344a70c1b9b2856039f21cecc1d7bdb62e5c2db902d55237ca6a4e4cfa4ede5d6ac51a2757eb3a2968911839575b511c0a0215d22ff5d2c37bedca8dba9db9a708508ff558cdc81cfe9a1dc08d7b1e5f371a6138b099e18c9251bd1447be29af91d45e06f64643a14c5d7b272611d846c425785d813bb117bbc3fce943641e49c0bc99f57c3c4fe67a56c48a4c472b4d1cb9562c2bc8e34a5a9d45353cec4eb6659cf0eba67e7cf3b1133fe85697104cdae00a94f85251bfd96f90ae88c5b504b27662f60f43935496c6b98176bd399ef12adae9133020e1c8d244aea1e933f5bb752955fd18f1532717c73e133a7e3b8103821cd9a4e1fb954cab740688d6cd89f2255beade6daf5fa107ee8448e9e40087ed3f157812cd82ca8b6839f16fa0ae4f82f2f1361e1c525be6a0d4ad3d08ebc0c52a23a7e07c8733146ee62c06085ccfa2f2e1a66a6f28f66e06a4ec408fc4bfc2be0b4db3bf16abbcd16be3948c35f9f1c97f59fec645e609c9b53304f5686a235aec6b13a1438a74151c8106c194cf7019c5dbd403ae53a1fbc2245b44726fb04b3a790349950cde7f7af5f128f9d5d116902a4e0453a4dc2c358237fe3b2db48c9e329160ca4503c0f92368eec62bcaa84f22857d17b2ef2dd1027d61dcfd6f53d82bc06617dece52d8b94776e12f9e06967042e317eb755cf416b9dc9c75c8423dcb730a6217aef7af6cbf1f484168cb83faaf9df64e3a748ca9d2b224377e989449a24e56948a6d29e77bb7cd3c2a812fcc821a3e91a1ae7fb0d2859333e958796472ce2305d8a785ffe8696ad0dcf75ba00346bc1b06aa07271db0e209dd49b7c0900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001103c31df01a10d81c301dede2c8e8c075dcf4cb49ff52ec718d7de0b1a6da2173dc30ef1b9cbe03f027e3d049a72ea0ba7e470f1b1e514cb467ab73d48309d52306d381d2d44e8449c7cf23d65a88009bb184d6c027a390e0c3b83620878eb4412d8f08ed44fa6435cbf69d52b7e47d6fd461d9e68acfbdd55c704e1416c2f143fa5310ce3ff602a8de46bc596e7933d619de43371322dac73bf63b4f645309e0fcf664bf7bc5be511add1b69496a278c891f97beecb439a8ad3c9cdd342339e300b416d85716d9b2baaa74d03deb51336c07fe54c87e3e6cb94a5b07373f5890fdc7979e90d6231e78cd45082f312667a160224acc3f93f183edd569b0ce1223baeaa79c97a942dba84f9d293d011bdb67645393d230a57741d529c1b0ca0821ad5e9f33a23241cbb96a5958f92665e85c91f5b3dbae86236eb485686408e1b3945352f3cd72eaac6e0ec846f0bd92a75090ea383875772c7564983be834b9f126544be89bc426088f63004e26418eec121e630253b686026d217d5a90866160ab5587ee630dd6bf320580df25d637e061765b9d67be37b33946ba10b4f396d06b79913c0520bf7902b286634f54fab4a39f9eb8c4a4160e6337da42b1a05651a4860c7ee306fb05f8569acdfc081c6589a945f6209ce8a0e9ad7d0258fdb2729150d0ad80ac289ae447610c1c3a60a71473ba1c79bc64413779869e66226e3070118e7cdb913ecd55ce8c402bdbd9257a185121bfa78aba15f7300a77b331f1a07e56e3210b070b403f6aee07500985d61c8a6cdc7807aacf984dc9c30eeff336b2f1fa6059808a08399d0315534914ddfc7df7a48ba513216b40578cee5f13854a2db702e76afe4f8a9f59a8f99b62dbb384201f8285f95e4460ba1aebfb629f42c82b75b92d95ac3d727ce984606ea6c7e38d13c071f91240a5e855016e723b059aa5ea90e572d3554861cbecf33ff672edd3bf0cd57842095901a06452718325b9b832ab435020fe8c7aeee9d64d7bdb0415a373177e259d4c183dbc51a033090143e38dcd3cb2c204bdfeea9db25896d39c9aa41b65ca03a77e214b70d24fb7a82b7af2983721b8454099eb0b0938c5c73dc54698c0f88d39663812a8c1f6ff76c2feb9b4da1526af158a69f36c1ff11c154fc410cac0dbf0fb7d772e9213200ed42607d64bcf0ae2296b2508e6a93ab9da1fe02c680b259126a156ec80e5cc87da4ccd6b884f0aa78bdbf66eb8376fdc94e937d69b8d934cdce79c23d227b733ea8245251324367e6d9eca3f1988c90679ec5cc9a55d5d3a97d216ea518a02b38f7b994daf1b56e96ab4b04421b56cc90e50e35e527ba606453b293c43400f037cc6fc513a650cef4436cec5c5e576cf285d6d36d80bf27155ad31e3b2461a2eec7c7a8336e92a5fdab695fedb0a4d7f5f948131fadaa37cbe98135951cbea0bd6d29c99af2477b237980b7630cfa48fc8440f6ab97a8af08e6e389be2b2cbec2a434305e601c22940414bcf549d76b5f8f32b8337764c3cb33eee94c174ed970fa930f977f8d136fc7656c9f3f11a894b6eebac73a6f87f2a6a1372e388abe7ee8a895300a29fdd62c86605cc61c548c992c9209757fe4f8a10dd9ea09e16a252a203e8ad8945e2b7a25dbdb9615353a2ddce37e270c0893df4a74222356cdc940a4504e4aab9900e2b05a3e799cd9a022cf1eed05a0ad6e0442b7873ac4ce167fa039e1119118c010f670b6c10cd79094d4ae3791d07298845811560b2266ff284ee129823fa52b41f22d5738c58dd1fe219fbb1fabdb339a0861a30f048990bd0feb2035c1dc2d6b4b18a100ef3e23b94f47ba798aaf4ef78f5e81032a3529bfca5e512eff6e0c47e87c4eb58bd0eea6d06223d2f5af3bee6f63a80bd31d6b66dde235b8aa3c5f710f6759213078e6b18de90deb74983f4caa72eb1953c46299e3fbee4cf2b942f0d5ae331587b49574714f60cbc2a02fee383a1028fb74f372ca58ffb8d02965c2cf0e1b66418fc0b23c69a4c5133e66792df2371e8e75b3d2021ac37f75136357fb153297153bda0938c15fb4068c3986ca0f562a0ed7a0c6856e1ea167e3c5e32c3f25dee3f0be502fa4c16d7ee98c28c84d91277ee8a7981250cbbfbb3a6842c6f8a0e32d6da6ba2fcda4a5519b590f76ee12371834d453d1dafca32ef893f25f826c2639af1f945344868a8133168b2675d60fd5a6a14b2a282fd24556990ba6362a1fc5dede7f9f3058f42d408f6a544b5d3aa18f5717b208b9c56c12980cd71960335439caa8413b82f2b07216013750dc3835d41aebc766cdc2b64033e406a1ee88b663d4a1cf539bfc07f73be25ed6fe0592b056a6e7bab87193cf3f2443bfc15c0c276845a4af4f80e783f3717c932f2ea9ff6907bbebe836d208f421c96af375b101361b32f835f1f4578dec3c44592f73ca131aa1a3c040815bb99806b8483b0d0100759025fb2aad475d85ebf7bc35c897de87389bc0236eff6f8ca427078200da0307c39ea70a86180e1b5bd2572b050a3cdca477d82f5902cf35255c68396a0250bad11775b060ab6d9aa9d0d014b3587fc57b37d906eefcecd3675f2066677d36d550a3a20d060d8f835278202bcef5c3ac2a2ab453fac7861cdb755a17710fe9fc404549134a7d919018109e06784dea1462bbc4c9e327ca4c27b7366e99a6c2c80bba6cc5d99bcd77fc093735606bb94f44aee3377b5386e6422dac4537f04efd4b565016f4335be83a0f950648476587e9a550223367ba1ef4c3bc85055d6867f420c297ec198516a882340deb88950945b4b5199bc2dbfdd0d5e3a99cb862c57512b2154abe674ea4759329bf111e4896cece314e205c7eebd64664bf43b5e32c4ce7bdef70bdd997b2130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f50d95a6fbbf69d4b315b51feab760a01547d3e9b8250963cb44c579ff9d03410af26a590440962b4cea4ae015489f620f21bbd6dcaa8855c78e49560062fcd2c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe11101136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef001ee539d4e95b155c57d1eb01debe86f7b849796488505abb286e03e49f655502211ac62b16a4eaa3a82e14fe2141790869fd1f9780fc9e6070bf2d08609aaaff1a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa9082585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f92f50d95a6fbbf69d4b315b51feab760a01547d3e9b8250963cb44c579ff9d03410af26a590440962b4cea4ae015489f620f21bbd6dcaa8855c78e49560062fcd2c943ec42eabd11277f6c899f9594e319fd2a744eda4a79c63fdeaef1fe11101136bc13bd1542eed8809376606a6b1ce8273f1b71ba8517f352f45fde01eef001ee539d4e95b155c57d1eb01debe86f7b849796488505abb286e03e49f655502211ac62b16a4eaa3a82e14fe2141790869fd1f9780fc9e6070bf2d08609aaaff1a7a21288ec76acdb719970959b8a2d654e22cfe96f7d37097cbb19d1cfaa9082585ded77138953248e668f6a6475d29cd646bfd725525ab01617f4fe30556f910c1f9dc8ad3ad4bab71fd1616a81829cb8068f75e24a216131ca46cc424b1c134d36d0a53f169defe31db931dd7be2b663546964ea7d9f04b4e2127233c88880a5ab178fa7fd79e0afd3d43dde18d89bbfd887e876d2598b852fd41d00ee27c2780a215278db8b2d3b9585e293f7ba6191935f455522ebf874e6d7e49cdec692c2422754c77e19db9e5fe0085b883c0519d2d4c1aea513e8583e06314646e5220b31c99e19ae45364fefd858a396a2f76e776e7dad26b39f066f15049e563c033602383cad1268e684fd4fabaadd02eaa635b218126e510395dee1da9e5e17a0f592e38de566c501f472122a9317b84d4502c70fd68b7dbe2618fe1dab22a3e08c4a7772c0f63bff94fa5f1241a02ed8bc54ac5a4f3597be8e705d2d989d2e1293db73d7fc54b682e5507c3907d0be385edc9aab028ecb6b0c7eb7a4f97246014c931ec7e68631100af38d9afac330de4a6550882aab414b4b9013c54a710b92ee69311b2fca9a0660bbbb872c35493f24f751295d2e177b140b5bc3399a44929aaefa84996418f5ca9732e52efb003fda0533ce168d4d2e92bb1971439f2b7050a43a287d41502bad88d2baacc8cb6071d612606db780dcec89b9cd338a206306e640630b83752962626e7274944a05d94ddc9e6cf79b15eea4820ca87ae893ba52b3866e01799b0cbfd34dd74ff0825c02a076ae297bb840f87b19514855e2844a10dfec75363b7316e5231c051461f9d2ddedb19244412de4dcfa86d5da020f70cf84d266b4c8b7e05afdf04285c22ab107f884fd7fd8c874b9411aa8f6f2605e34ae0e37c2628f8522bebc265b70f48bbcfd65bf679b21f20d2c3fbc1bb3033b22946cc306b9e599bc5a66b2ef1c9d76cd39d5d05eac8d98b31389222122a8bf17d7601441c1516378e0c43f23628b8290fa22f2323707a9d4a8817d4a63188b10fa09c859dba61606b235564b8d185e38e1e6f205000670f7aed5013511cf4b9bfabd53a5f51bb369843b31396a6dabfc074227da4642197079d86f85a0e9e2e82ca33d1137da20e51c0f04b514c86f8a33cf64e62714648cfca9ba75e2822db13cc019a2a4bb1c53d1918d0c4eaeb7631e1ea4f8531e47b5db20f6301055ec67d6ce68885f364ec4871a19206047769232e7cc21fde9622be732ee63c31e4329659d270889d306788a234f138ed28ccc2eb3dd86af91981040015fa34152b1ea385d1c10158a9ecf64be9e697a74168eb000a5ba1e0eb763172f255ce204163e37b4cdf59a68c034ccf3086a5f27009284f656bf3777f10ea38a22916335a07d29bd76de1ca451547f4dbc6355db7246d069406cfb60f04cc15cdc7da38e0f3fc3ce0968f25ea02999758de924069ae3298a1241473784c7c9bf799f0337ed7056ae3c9202dcf14bbdc379a5b9667fb2f9e0331fbfcc2d1a9bd126cf128a5f2e3ea8a0f173ebac9cd401bf6707113b949b5678f80d3282fa9b534c4b112ec6335ecc0c549aee0c12deb8e6d83957c53018e8dc1a033253751e5ab9c61000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000011e1d460982ceda75115bf012a504eee1003ce06db0407a99168e76c77178067138a2291dea5ccacf4752a6967c7c78ceae0f41621c96af0c218ad11cb568dfbc1821c2cbe211d084f747d0b367f5ee201ef691da1dd4831ba74ed3c965f199432aed5ef0af9a79e61ddf45b5ff1ef43908bd3927404f72af23aab81499bfd6b42079986504366b43daf33236df8c70c3e9493a0040490164bfc22e1ffed0f5c910a5fe5c0b4b7f7ce231aca6b66414a1698f6b9e2bb30be7570786eaf8bebf8526159608e33ea2c0cda188114fc8c48f760f2018a7071a499e1ba0343d4427cb0a1eecce028edb540e2f94867aae6f6383ad47db6705e650345a4f6ed248526f2d07278f5dafe52dc319236d38b635769a93ed097c84476e0923ea963f66052911a53b42d378fb51495bc83104a34e0929985d6168fc0724953235a04f9c53df26d507103b492dc38f0e523c0e2147ed9fcba33eb5fa1227ed54657973c958050751208a0aa01aee91f6ed1930d14043976697d7ee479dfdf83a9f436988c88b0bb269e0c47cbfb1b99ac4a690c670a27e340e822e3116372a1a014110d66aea2c86f1124bb8acab14bef857df3fb45084eefc9c0c996f928887b7c1492c699e0a0364b0a51658878708500257decb6b4ef63518dbf7d4e3559020142cf9c043074d5e01bfc1a8d98535a4aeca0e3090d4959cb1b0a16dc8a2884690f1672845109241e4bf51a6b13f8f8c072f2751378c9c08fa1a4402ee55231ce14b6be4b704755a5bce9ce2323bca73d6a66886a20e69ce1df164e2e9caa09fdc75cf3d93288ac705002b64057495a36a515dd4cff3bb860bbba5fe9bcacc320293671b0a1db129977810f01eacc280b885699030f709c4effa17c9253ffef023c9e02a17131701d454df93c2e1ae47a14d5c688a14868e132e37db9150a81ac52c893cd036c1f7af79ee6040f256c12c025afdabd16c6ba7e1fc6e245172d7aaa587f87a03484ac09e99e4ff63adbe4bf771ed60d1b27c059ddadbd0e2bb48dbca1f590a1c3f57106f61bb1c20925daef9c6ca2f3a2ecc1dd6b9a7c728c3c9645e38657a0e3832af99633a5162d13ae0b8efd065df845208444f3c13f324534fcac757200f8c5fda4099ffdc84bec5fe7f9efedb3282ef6672f06dd8b214e84dd18025d621537ceaaae89faa61684de43435fc87b2f758eb436230862b636ab685a2430f1906c9aebd558d106c77fe932a88fd314183eb8ff5bd136031e92a6db824aaab14f5a9c8285fc8474cd0d53d3f5285b09ee67475e822a65304fd11f1ea8d3b722f5b864ce3fc7a47305e7515e9b65652e189bb5f7f21586641f8a7a00ff0a7ca3138cdb8b3eb2a0adfa462383b5b02d2fa87091a9a1930616a687e15062fde870c3bd7811788c5a0e3efc81943f312b9a051ab34640c8ed5a01a09859e12dba520914c605ee69a5d8be53ceb4096dd9a0d8c33ba9849348e82a8ed42fa5daa391962e26a8942541f27018c9b0214eb3ff350e99340b72793fc465671aa27c229142ae5991474f5e421e87a90a6782447ae81716f54594f8a0cfb9aee227352d13a9ef845ed065024ffe4eccbbf0e79978050f9d337f74ef0bec58fd6e98e30c537ddc3fce34e53867a42d0d29889b9a9b4a2cea7ced4834d79f0e575cff836022f65dc83e7202f759ce26f4f070a9aaae89fe42f5e228391c7b78f40c4cbc8d0325d96598cb2639df4be15967291aaada85cd32d45851ba2fd97153569c0cf21204f79f5c2769c86555b45916e72eb5b9df4903fb87ecda10c5dfc5b2588cf70201b76d70106b92579cdfb67a1946a9cbb211a7a1b386b59c2f2ac596e700ce11f8665e8d9f2b325d3ae93e5a0878d7d76fb5cc9d702fb2f96dcec7a2000b6692f7401f1021752a3a6d9f598bed5ce2ef5477d943b3489518b686b5f889c30601a55fc260ecb65c4aef1f4b961f7887242d851f38fe5108a9b2f564c2b95e9b51a63047200b7e5e429bff491029bfe1eac4cac3a6a5914985c57f5af380817cd241960e043e66d2513b459fc6ed3f980493b69a16aad91f9717557d634812a3208d6bbcec12bd89b89a7e718278c3897024da7dc33816e392e84acc80b8b4170278387fe861301323377e6d7230c06e00eac4edaa8839d07c755d10bab7e265d236ba5a831f4ebbb73d380bff851a8a9a89ece28e2ed87653c85bb02cd38bb8b2383716f41d21ded32f09c0e22f639acfccf29272bb999686a1086da8b8549ca3f3ee1ed5169a9c1c14db145ebff34f3d2f85e52c23e5f0602629ea212921d2711dae2a1cd007a7fa04170ca74926401491b86cc67ec0b0789937d49238c361b0e614301f8b8445919b7c28689d80c3dee5e476b1715b11d9fb5a9c9549f1a5427686ed822e678d44ed845dde88157905dca9e8c98b91260aeea0e1cb1cd6f363f77b962d33e151b0ea583bed364b3e452044599a1d2943aec7d9d8fc5ed9a0b30cefc2f84ab626ee7de63c378ab76aeb33f0738a1f2dbf66bcc985b93027b573049313a9806547af105acc64badd7ae77d380969ad0a6378c317b05dc13b6ad1e593fcc8080ee2a73aeae8bc7ba8ea32cd00f5b34909782e54713386a621f8e06eb68d1488aaf8e51fb350ccbb9c31146ba37bc4eb4502fc67755687e22ee2f00d2e0c545b0abe8180f6203b8bd9078b23d72518fd8b841168085f0db46a37c1a6589b756f096c0c08895263be448b36c6b2610efcacb92b0b6fb3c7626359a2dbe63b222731e298283c6daab1f8f70732c004faec370bd00949e0a5a82bd2e1da705bab58fb76efc8ac58c01bbaa715deed8e2a448c97c58487af6dbda6d231a0347ceb3cbb23a5ea54c076e1401c508be35c27e4a06bda5bbecce5768174f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f5f87903d20c9b326898a30145eb17724635b3ed121de44c1a9b89f499933e390a0786fc2df364cd97675cfeba14e8b00063481c3adb374d1295630b666cc322cdda5d131a3f07fc0afb2f065d97753b5f0c83a15a95757c8509b1c6ffe0361d3225a2ece5c0f803f504d0f9a2688ae6e78c7867f263a61ca8273b39001fcb2e0543d15f833b27ec36e7eb1fd3f549e44e0c9a142af9143c3ece9ee2ff610c11fabc2ea07cc4d813c91814e02c0ab63df88c61f52200075cee624e1d009ef5261a5316dd9027c79d1287979f23ca710eb2740e48eff21261b276536efce53919e5ace9226fd83862ed786860dc358f139424edc05d0709377aba9991031ac806f5f87903d20c9b326898a30145eb17724635b3ed121de44c1a9b89f499933e390a0786fc2df364cd97675cfeba14e8b00063481c3adb374d1295630b666cc322cdda5d131a3f07fc0afb2f065d97753b5f0c83a15a95757c8509b1c6ffe0361d3225a2ece5c0f803f504d0f9a2688ae6e78c7867f263a61ca8273b39001fcb2e0543d15f833b27ec36e7eb1fd3f549e44e0c9a142af9143c3ece9ee2ff610c11fabc2ea07cc4d813c91814e02c0ab63df88c61f52200075cee624e1d009ef5261a5316dd9027c79d1287979f23ca710eb2740e48eff21261b276536efce53919e5ace9226fd83862ed786860dc358f139424edc05d0709377aba9991031ac825f7294a3c74a9c18cf9eb5c4fc16be99c1c4183b10dd26d3e2c08e6352d58842a074850e056cd31994580831088442f5719372c2157fc0ecc4df7edc1ee1cb821720972c98a8cd0d756d8db65d733de7e8f56990a884b5b1f83b7a9c21ddea134f1d6a76617217fd47de125b89fcae31a188d88d44b7b546abf76f17403ac252f0c251d18898006a4b5e628718046a6b18b7534b914b1033d081997a6d6c9e4227a06b6c5f1b913981b3f8da070ba3ec7e9d11be2bd98c5c2cec12def4345693a9644968dcca9e90fa24ec9bcc5f4bce145661c02c5c2641b483be14790eebb14d9e0697075aa60e43f9bc5e9050ead30c843695e649445e3024686d7a9ff261b9273e098b6d8529b581b6885260043b61e1a8bdb6c6ea6ab6d5ba93d1ca40539d114de69847c6988f5fd08d5932c750c7d16340b5543292ab0a52f66074edc10bdc277eb9710f1cd1751281886890ce51c5dbc4f4d4f89ca9e8f69a68b7a2b031cedaf67617575f659b9b756cb3c51c49e0e80844e12a3ae297f1d7d8791001df0029c63514f03b6da500679acb9b31ee53283321dc248beaeafe5b1048cc420d185170b4505d969c66d0e20e2447124738f0b2b9497930fea985bb979b9df04bf837e2b60172701b630f6150c8cd41648818da9e83149edb1663d89da3b103b68c4e813e8432eadddb7d5e3891166ea4954a241dffc09d0278915002ef9062d6ea8660264de753120b221a37fa4fb8068aae8210d7e684564e6cd2ea6fdf4252ced5fca9f151f06ac6df8908fc63250939a4d4b0bdd8e90254b25c1e43a1532f2c8b8812f411db00894c85d5248c13584ff189fcaf32185dde02c60de6d6906a032add37aa6e26cb209e4cbc5d6fe87e7c7ef100cc58446d631ec729bcd1209f10a8684279e1b5a1b54c5a438860d0935df1b91def6c2edd299362b0712b4206ada16a1a30225489bc4afb1b69e9d3024b9607e1512fe0257bf7e4e2712c61d1d8a0fb4d42e0fdb5f849f5016c07463e23e94e64e1cda11e181244af3776c207fbd680921023c1564ff4359d26b8a8a3e84845d2e66b84d6ad4a46f19917d335cd0184895ca8461ba49aef22edfc2801ee394399e34b3442b780482c64949113eeab8a9aa3873cce6d0b633f082ffa8431a779001c71c540d5046b6f591f93873c3a450966ce267fb17e14721bf48d800acb11a264d096e7505f0c51a3d7538f7d1b03becd47bdca13e19ac72fd48b05dd009d35afec0d6457de597e2a31717ee511613f36b1d4164b8841845604651f4f1cb1337672b5569fdf22a4833470ae3ebf762655617bd74a1ac3290b19084fcb4897905d8d58618f0820a2bcd7d11163b4e86b2b1fb333d8a5b6e9d7c28e459e0412e93d020b3d08c00dc8cc0801c276572e00eaf45e39b60c312c35293ae05e59d0783f90e7bbaea36fcaa71f5314f415faf64ed51a462e961c97f136c33731d0f8e86ee6f34e6a4d5daf4ddbf1d181783ead2e6b7ec26d34c573dcbbdd20cc54c6a7d9d62ecb0cbc704eb5532000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010dcb1d2cb082968726ea77060900f0f4a7f39f6d3473ad0f9e053189cdd5ca3336913bad7d9a8b6389f03ca61e0161e7177e2cdda7324c858dc1acf0d863fdc40f2c3f4b551074181d2400b4a5df1c52dde81cdf21544ecb30c77e836a1ca17c358a0c50326d57413c211e03c3937d82c6bc170e06264a4cc3765162a6f3029b323c7a498ab3dd2e95358218f1ab27c0b8e0d9ec6b287e7eba7a200674137bf0328ffb70cc956048a3d79a59451d9bf08be8603c036a5d8843ffc69d7a20196b387ae69b88704efd70dc6152c0241c828869ebbd285c1dd30c0f1265de5c021407c8e3f91851f252e68f5a6558b36a0726f743a87107e122d514e242bf45188e218af8e76dd4760156bdb327250afaefa7616faeebc29123ecb66ba53d6e3d5e34351daaeee2c961165d4982c6a34bd1f9a4bf94453d2f13e89d1039da901fcf21a1ff14bc8288ea9a766b6ab6fd3a1ed0f7c62f9feb89fcc58d4e882bfff2631081dd705b121cbd9e1ba5348d0cddda6110ead6c7bbbd354485faf2ca13601715f5b79d686be2885b423b6bfeff1de91a89bf690f63be4bf79c05c70e5e76340ac2ed4f6c6a9ff6745b0d4202847bf0f146dab8a5dc588879b3a543919b6b343090ccbc75d77e2cebe240de950acc237249054fefb14134fb03874f7428f8b4037033c4b2ca8c50a749740b81c98acea6b62f54a79e24ddd7c849a3d6da84bd36b9c56e45bcbf8a9a385615dd30f66f3a6018b283e1745fc57808d67eaaf75735527505850a00e05224b5d48f543c8a556aaa4f4b06d856b859394058aaadf51bae87a5444bee9e31c207d47341be163a2839ba75a271bba7353a38fceace3511b53a93754387dc16d8a4a0c2be7b40ad3e50c81c5ea525d2df7142806cecf711fad6a2acedb542bed569fb373d92ae9b5209493143874764006bfd8e2580fe047f210a1b02c4889f2c53b9799efb551fe38574a814ffbbad7144a6b1d2def012ea1890c58f608754e3851043878ec08737ee9ecae65c436a16220acaaed1cf125e5a5b036e7262302021a90859d1196490b853593eaaadd70aae21353efd6e1ba557d6d6665285b5568e2fa9edaccd5356e3b88ad53be7ee715068341b2c6b121b15703621b8de16103aa4de6e30ea05c1a8e11efe3e1f48ed78207d4042e7220cde5848abb8d51fc4e2a66522865695186640535852a67de3ba6e8ee6eea72a0269101f73b33da8864cf4daebeea5af33f8a19e92148c50b61a1be88dfece05b7ac48c29a333b8b025f2e286fe5433fc832d50c736011c7d5f892eef9b3031e009c9a48b0b4c8fd14bcfad8baefb0c664515975c9067d37d4e3f8c622ae9b1aba14cbe318837ed5c12e824b7f96b7715f091d7a0c656a79221a3bc4e0e3df1e2387f2dd64660fdf6735655b86eceb61a4dbfa4e06838b1d24ffb56658dbf116f4d3171cd34646faae8fd4b18231c2be209d044ddcd911ddef4292a8ec7641071bb0077e74767ec18538291420640ae83c0e92217d2438e097d22da73b42dd1b96650fb4d59922f189eab4867a1eb03c1089c260ebb0fc8a43d93df7f7377001a0ede5cfebbcf051daeec0fa4383afb94ede9a63b119d560ea43c2583d9b6b1bb344648f3d76f1c89d4fccc3e042745b71e05a40134bac5ec4898a165a6128151377e048b0774fefa66303c05c18e27dbcc31891ec6b476178283b64cdde830a58de3f26d842abfa2afc93dbddebc4a34dc52d8810026ba33f1737dae7824108393e35616611ee39dbe1fee99a4255081e601eda99c00a047cd29942554072295c36d38da523ee96d6292cffde13006258377cdb1fbce09ed23ddadf17e5583312960c1c22026621b6d1f5105491df5c72457b6fbe538e369dc9ba2dc937e2153454942e40b3d710d7f2bc39212a21e3bc33c46238ff38eff9edab0191bf3b2bc3f3119f93e5eee838d3daf84ffb0ea9d70ff60970b70e399cff76f37b997833d080c9ee0274c1f46dc96d271020973a1856c73d35f2649fc13d3252743ad02c80ea802a5423f6340b8eb8168d0981f4b1956072505d9ee699c9f66f25b7420e3f27398c218b610cf288247f54a3e2ebfad6d277726012dcaf6c6f20972b783cd54fc0ab88a51ed0b0586094b2f6eaa5e4832546d2d96ac3a5ee8b54b338811a3e2f182494dc46641875fc03337edbaa86366859c63d53fb049ff92e49d26d2079e6bdc0f9633825c0f37105082917fba2b5f8795ff3f488537f45c1ff49e80434e5b5a12a640c9ebab9c6a645d90117396d154f63be40b56f35670a98be872942fe914ed251f879aed0a403d5d242437bc89c874af2a46526a7138734fe2627085eca9f26d6d61579c76597d6095313a2fdcdbcfac10da05a720f7bd6f63f24f09ef1ef13b2a5fbe9d8b316db3e9c163f633b95f057d76ad796bb40b0897d31596cf79d6341ba8a3e2a255d16295c6920bbcbaed69d1c35bb31d9dd0d13ab0703e2dee850592114c30bafbcaa32347e00bc12ebf3dd62d57c8984b9ae95a51959eb10e0f62374f1f5555e52235d6f598ccb477f1093b8dc73dcdc6602ce162acea8d4c18b1a4f2e7565cc27c47e3d776b3cfebb62873c0a514c712a3976c20f999d98cad0682abb6b5906273eb868c5343d7ea31562e2d43cc5840f5bca1019d267fc2fb8bd8e8a56ae2af9bed8701f4c4a8df190c526d12f452fc543a00b313676aa66f7b7e4faa2dbd4e48b170834c7e5a12fd1ed46658641c3a4eb74393887ccfd33296a25cd0d61160b7dc6853487777337ff9dce1aa0b74d5a28e1c71f202769e9b2efab69935e6c0f73719fffca8de0d3c41a05b4cd33b0bc07e4612206157ee835c2867c547e41b9bc12171cebf699a62702692bfcfe9322dbde4200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035fdacfe5d9d523654e968cee4801bda3a702c8d324eb684cb8f198e119c1ed40a025301a262adc9ab1697311b7fe425e7d66c6ed6fe4296cd9e175eee63e12d0df460f7d4129b0fa88f0c0a76808b429b167ad1d655ac299516bc12580c9a20320b9f082bed64f05770f3f5897f74bd87301e2a32f74cf2041674daa7f365e105c5e4d7245d074e4acb3c345082b84ce529cd1d265f63b450447b6eb83f029f3a3a1b28dba2f8b1b534c3cbaf7d47b33d1ccbdee2ed956748e8b57e47c0fd621cdd7833b5d1248775f82d05928d998079d10191bfdcf28591566929993b0d1b232287cc4a2edb788a07d2fa6d72667fa875976a4970069607d6c7c366c4f2e635fdacfe5d9d523654e968cee4801bda3a702c8d324eb684cb8f198e119c1ed40a025301a262adc9ab1697311b7fe425e7d66c6ed6fe4296cd9e175eee63e12d0df460f7d4129b0fa88f0c0a76808b429b167ad1d655ac299516bc12580c9a20320b9f082bed64f05770f3f5897f74bd87301e2a32f74cf2041674daa7f365e105c5e4d7245d074e4acb3c345082b84ce529cd1d265f63b450447b6eb83f029f3a3a1b28dba2f8b1b534c3cbaf7d47b33d1ccbdee2ed956748e8b57e47c0fd621cdd7833b5d1248775f82d05928d998079d10191bfdcf28591566929993b0d1b232287cc4a2edb788a07d2fa6d72667fa875976a4970069607d6c7c366c4f2e60a5ab178fa7fd79e0afd3d43dde18d89bbfd887e876d2598b852fd41d00ee27c2780a215278db8b2d3b9585e293f7ba6191935f455522ebf874e6d7e49cdec693d02f7a85a011ab3d193efa523c5d182e55a5787410c926429866125060f3aa428d4513e02feb3da4b5ca97f23845ccd2494d1c529f1e012ca0e61d129edba561308960c4e8d5b0a6a09c2c8bcfd9564ef211bd749bd92772f512f1d9a09b22d386a6e035c883e36a21738ff4ad075e80f2cb6b23358be6adcfe14b581adaa6f275e828c60cc58c175b422c3481078b04242d1fc5d3b33b79964122f8ead497b206d818dad1ccc64b86add2d6abc5215b64e705a9f89ec7730fb0735d6d4c7572a903c724277229fd2b65e215eb6562c2c8e0f2910e6e05565a56ec444a67ea02e5a7e2221b9c366888b3264be50c00afe6ff7cfbe05b9911d75af01769550472387c0cf2cae30c256cbfb605d99a2d7b197500b0643948f17e37fd1796f844e1b381e076cde0ad36ce2db7d1182542ce8ed998164c1b8bf860aefebc224950c3c7de4e3173563a1dc660973bcbb169242e35088bea5cbd3a11b7ca6aeddae370cff9c7a14c35181dc5aeb723d2f6de04c415ce9a7af768581e2191435867dcf2bd39ed31f67221e5926df8e3c2b21349aa1fbcb63c1effaff9c152683ca2bd7305276445235f5353f7902d42f56cea8946235c36faf310b94ba9d6de16693df3308acb26492292b9e4b9b953f211f4e254bb478f60fa2ee8ba1a402bec99a5a0f307d434e77cec654504a961f170e6ffc267144aa3bfd93c1e14a3f98e83e253f094fa78970cbf7b45465c0e6cd4ddd821aa836312bc57fe472e77776b3de041fa2a5d9a581f77adf3c8fa390d6cc26ec104666d4f366ce04ae00c794715fc40b7c879e0b6f9e9f0712786610c05902fc05dc4dd1db2f18844efc66fec92e513a8d8b54baa948a568db50d8acb0443b675a02084a4d2c6f851e92335c03b8e10a85a1e5731cbb517efa9fdb6bdd8c72bf34b999c32d04770074deca2755b55f372f8a16245751637dde68a3426a7dc5502d2289a9e43e54dd3bb7b13aa4044d359502568752618f83fa5403359cf612cf00f27a8514a7d9b2dcfe7926c60af418c8249c5f840a19d3c1c287d8c80c9acf6d0ef8a00d06ffe7ffcf1bc3ede6ed0d66642512f7ca8d8570d6f8a366fed322563bdb9982c42c4ec227fbc6da37f822c5f3e67041a43c4103209a1feeb7b1585bfbcc729bfc53b0163940ca78ac502f6ff8f3281bf19f0e2fe01241b5d5e49373cddeee5b1ff4d0e34b43f905c23306c1f0b49e6646844a434e7d49c32545e4c46e20256921fa74a586b54f69b07208b5833087dc2bc11cb747a3f1d3d427e956490abc6638eaed5b905c6d6fef481c4d3582fe41b38efd8b1791c47a63ef6be4ae8491f3c8a4f5b6d1193636677823196c44312f8dd7d1fb5ca8a106fdf83070f82d6b2463d29dae982b62f0632a3225df64b802dc9357b0268ede870f8471946af591d28c7f7025068d680d240e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000105cb88cc4c5e72164ff0cd26d99bfb35d27dac0f7042b8cb89227239495c8adb029815edfb93daa9d1a66e5e52f009b5666f18bbabc67ba0e82f8034737495622562ce21819f155b0fb270c292faee35bbd66fc5f15814151b98ac90aeae33d40962fdbe95230c714d63d10812f7ab2d4ea08777944f2f1d0eacf87b562c74b010b436d2e1acf991b37c220a6778bc7ed0674dc96999cd8db3b76ca23a70238f045c4a5a0c46e55aa41115503b4c4c15558aaeb84297b8f4c815448e0461459d03de702db6348ab003206363093610b7e62dbf5f6c654833c64e6ede772cf9da2b86bfaad3717c6051ff9ba1107995f5564c3d17aa80fa2bb480bf183dc5aa28320c8881f89078b6e9441899dca623c24b42afebf1e675537e83b854048cadce07a928653bc7a1e81ca124243ee97d7320b0f4d1117a07541b5342b5371acf82354c2eb3a2c3f7524e6926a5da50b3c5a536c545a7405529172f6791ea37d94124ad88ef7afe61f8bffbdbaa62eea96e6794ef757ac9e11aa80a6ce40e631c6f385dd4b0d67fd884640f0f7f2d76da6bc0b0ba28d3bfd3d689cf9db8c803894d30e3eb676bed762d847dc335c8652c3aa1eb6ccaaf9cd5cb0673dd0b6792de0134fc9e96fed91c90b64ff914b3ce5c4a38132a35fd926bc3b79ce7894ecd7ef3239a39a672aca5a7a3f01fa0cb3a002d51eb5f6c94f26f58ae7af6ae7d7ca05b1aec112232402b62cdf665bfdb20aad49d349e32c078d945803b0e7d4aa49916381fbecbdc338dae647aa5292d4cb9938be05d953258b9d5758c211dfbeb3c4b38855869936f5978169a0200e15483c24c59d25aad8bb14812af2e8815f0fb9932ff0e75d7f5ef9ae5349a0f5c3e2439f99d9c5d7fef83e27aab93c7a7a637291923a70e7230ec91c7e2545e6d41a7d3289e49240eb7b77c879b3bab984453390d16f10596e1164219c588804632054425c0e3ddf222f8cfcbb1b0486b23ed4533fe9a9926ee5efdd6561f4ba72d74aa4eb23811fe723994e18e4797e5ef856c1147eaae3238eb5b41dd9ea1ca1a9676df999354e48b237cb1dae4a3b90739670fe858dee3073b0ca8bdbd42706b798bb9e2ea95d0509b877e4aeb34ea9b6c7413c2cbad34dbc79010bcd9881b7748b39bf78fd1c93338d2238aff69d8fcca7a1511578e6c7b4ec4b5d08419e297379995043f14587348af48c6d8cb4f773a231178485873a9da88a288144894057431c94dce9bad0c304ffd3fbfe61b445d4e22f6c16fb1def50087f83945186e0e562ebe27acd40589a1e5384e318640f3c11e585acf35ac5071803d0ff9c09fc6836fe10576678f7eeb9ed41441b1b754ad2ad8ad4b05a8850a9ca44397d2c395d37149a3fe69e60cc028b59b60189727da3d49e0f2cd288adbc2ef0a681cd20cca7013eec2e6a237f16a7d97bd3b51a64d287f1f1e52e6b4a883d95f3f8fb489afaf94b4c76092fb585db4f4161fdf7e79256fe3c2fa370f2cc201a083c4c323fe75c93407d8d3dac22436c0108ee9c3201b10769d52c424e68a0f21f097f6dd8ca604ad7604b0af43274a93670ef68263046e4e80680958aa758d0af5588347307482bb6f32d578c33fbd3b7df1c5618304b961f5d8182c240e4a0493043b8fc5b397ad14489fd70bd9c07e7353455da716eb73dcbdf93b80660edd8b711e2935a193e213cec9027d43917ca96ab8d9aa297fe67d3f77a63a191922873db78e8807c6eed112c2329c9575f6997ad60f330ecddd8e25a2ab12d1ffbac9d1f1d14450dbe38283b42d78017128976a916a8b24b55019d6d6c552d223e7f34bb7b2a3fe22bbfc993a70383079919823adecfc3398ad5e13a258487be37fae84ae2bbae36aaa0caf8cc7ef2e779d814e0572eb13ac6e23318c2bd53f7b1a0e7cda358ffec004e0ef7b67df294053a10d0dc0ea35dd659699c81b257b9f2b164e25ab403855abe4e4d2bcecdbacca8051994d1100152a27a577b4ce3cf0ac68eeda8acab8cabd40f1e143d7909101378090199326150e18737548af5abbb2e42f4da21576b8c7b2193e84997d1286e8c25bec6e020f0b6d64e298489613bf3b72abbf8e30a775eb4d25003a6057c9db5f963f5310dbf23a903499ae3c89d841923d3981036c1a108d3e5d482d485805894e834b06fe2d8e9761be5c8b6b47821e488c8b44b191d39c46070638adfdff3fd4549f0a3e58d11d3caef7ee6f64958ddc182b0846b2f9c4f8f755447cd4c714f4f5b03d67c662a885864f57ed1735530b2fff03e3eefed1c901be8863649fb0fb78552506873b1c89603802e7e6b9d4680a80d232510a6b4f6e9e40e701c655829f8b0871eb1da38a4a96131288862169d2bb0eee3d53d61f1a409c4e9ae64fc051ef1263ad29e04ef8cfc9d6fc19da64687fb00eea8e9962b68caf3d9a2581c685662d39d059b5c1e502f246a84a1da224e6df26cbf9886183763597e70da40bb53b3923d97e46fa3e0e5fbdeb17de7159be47e02e59e184b74a7a0c92ed614717f11a6e6477be4f0ce197cd71e30d5260c09ad0ad0a8714d698e755cc495d6d02b832025222db69dbfd4e895234372876c4b231c2ff70203cbd14785e4691ed42a60c24206c4da785a016195b9e4830fa6177e5738233d79b5859e08765419d645f260a13b96159e72ce16c73e8b445d22c40b469e079e453e5941413b0dcf7be752631070a6d918aa80a7f1cb3381ebb3926d83e773d3c2b8105a116dd47c34a9c26333fbc2834b105eba417d8040455a2df25a87c416b67d37e9aa00ce36cf451202aa4d11e16dc85cfa422b953022e744e22d3807aed2a85b210389c2cfa77a70d487c4240619022c0ef790afe2467b2790ad3ce2fdf07e93d0eeea740beba6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a960b2c54515ed02ee7bcb56faee17d9561d49044216e5796fb85e94e884e6e1569f4d3abaea12fd118434a90511e828ce4c46bc52b8ac40231ab03b177b19314ee37dda596da10ea86af8b2e6a677384155bdd38c03c6327620ac788a988232b11c8225a6925ef15795074d195988c9e313d1ed08cbcb871cb2625775677de28a717543bf2425494a16db7e814054172243256127434d42bbd04f8ab4fa8ae1758e8abc40dbdab6b5e924817ebfabeb02266a5f6d8c4476d702bf454b057530b4374a52bbb4ba6e727249788641a46d3e130ba405e1cd20f298614588e4b6334bc8b5ad444b45918d8db68779be5b94e656841c8eedc498a03aad8a771b49e2a960b2c54515ed02ee7bcb56faee17d9561d49044216e5796fb85e94e884e6e1569f4d3abaea12fd118434a90511e828ce4c46bc52b8ac40231ab03b177b19314ee37dda596da10ea86af8b2e6a677384155bdd38c03c6327620ac788a988232b11c8225a6925ef15795074d195988c9e313d1ed08cbcb871cb2625775677de28a717543bf2425494a16db7e814054172243256127434d42bbd04f8ab4fa8ae1758e8abc40dbdab6b5e924817ebfabeb02266a5f6d8c4476d702bf454b057530b4374a52bbb4ba6e727249788641a46d3e130ba405e1cd20f298614588e4b6334bc8b5ad444b45918d8db68779be5b94e656841c8eedc498a03aad8a771b49e10e979751f94570177d2475e520792419b7df3443089c648cd1663390d9f36e003e4284423ab5d3e807bf34d1c1fc4829c7bd3e24771b3efca9f0374f2d0a47539492c28df8980e9e622cbca7c106fa4a36ba8727e675886340b9965a9b211ed0b2e548ab43fb1633fb1036207894ff837916e4952f51dc3403358a248a4520b34dfda9f1d1fe4f4140e6dc7927b5f4a5d13eeb91cccb6f896ed5340201f01790e8e152007c96c5dbe91488dbfb581abf1a734567a3ce5011b81301c7506741f1045ef47b2e0cfb220a2b68ef09616c1ba68dca9cb6251f0859bbdd93ae6e2ea238aae885ebfcc694e502bdede17c6541f400014324d76e03fbd62777bcb381c1cfd71ac27582d3ac43ebbff4f1ffecc69150c36fea70213148ba42e432c02860a0f0936dc1ea208f7f2d945c25fd67f2241fc2cdd9fd7e50081f8f20bde90bc22c38f28863ecc334bedf869c82e42058dad594ffe163db132da67b7020cb6af0ed06316344428841b1d0aaa5c38433a21be2bec76a0cfbdfe07818e738948ee3ec30f605909346b712859ceaff62d0e9a189096720fc41d4eaa1de8c5ae96033e53e605b1e68c5fdffb3e9fa002220f0e9af174a945f8bcd2cce3ee456d32f425242a8efba5b64e58e1f35ca34c97813e3de7b907d42662cfc37f77f378b4fb33eee4f9cb38ef896a993008d180ce26b055b74247ee0d0373363b217ea3397d1ad9cca525742733b0f0fbe1975aac16f93050ad50f4ba7bc533e231d77a56790c9eb97d7ac955117cd1e53d84d91438debfe0ccb28340388c7cfa8d274e1b771484c001a35409a783dbead735356d7e4f11cb41d153a60e604310cd4b4af7793fc6501bbf79bf025663a0c706d54ef4f1b5b431f39df1aca7c1a91ba43976c235f54c151c421fadc057913fcb4369012143737db0b000cf317a3df93dacb641364a467a83661ea07ec58c49d5f00b92bba9c54f5ceb273231527bd3bbb7943404e74d1059c8ec4eac8608a1bb8ad8484a328fd0feb3aa15fbf432ca812a92e73caa1c4aa49b6f6aaf1f1f3a58e3aa6e8c79bc385eae444c066ebcbf731c32080080a62c49f36d16942257e463594f73c47b400168e30d4b80b0cb11042157193ed9d2305888abc225d4dc227aa8c3d146717cbb165df52ec63e6959c0f1fc6b186625e9681bae9cbd1854a95d202a90e154ddaf6cdceac1381478b67ce26e3e27cf30f2d69f932c6b7bf165150d98e6fd5d13af67e6ff20db79fdb0ea366f8d3ef81afcde363a25a5ec5359d0e0ecdc4e12e8342fad00c86af1f3e022cab87634f140c6c2ebd9f463ca0672ad3f6f7b8c45623983e1f1c3ddcee68f503c480c07d3408185aa05974e86c297f9982c91bf87a5a2eb35f565ec774a559916c90e19c27c383d35a2fa46f2393e0573eac336f13115cbd68ca36b168f7792e93d8613cd6ac9d4089e9bc6179562044c465d3f93cf8c9b12a2ee2b289f44e30b58e5177fef40578d93fca3c8b1ac981d054e5873090b2db94c53f8df7da2b888e6d4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012045c925bfa932eda3d0ad7dcc8e93559fe6d16ec8853e16c76644d29b4c82ac1c3c098c94b50e7a9a83ba8f6dfe1b85b3a2a8d8d7db6ccbd5e088c1699742971f2b2d16b2629e3889369d302ed09e2b210686c1f7f0d2b24f44ab08091640f73a5a4c87e0314dbac6e7330fe77bc332cc22fd8760903c13b396f13a4330d79c01bc67177cf89930d70b96cb9a5e141ede38040f4d62dcfc244810aac14d1a2d188382408c45f69a184b6aacab8c00b261b3e94d2fa415d80637400d2f9c432331bc3527d3f79507d4d04c4f8cc86a1715b93c25c9b89bf3332830f0b1eb6c1e2c507aaae3a8dbc5ba7eb3f463d81ba92e85d141fdd1d05b755b04f4842668d625a92ebcd9c2f7fe15cb1d8c07de749f1a731a9752846295025a9300d8c321663d75b12926974b286ded05879fc8e70fa6c9d15940eb1ee809cdfe14ada47d2936a5f98127e20a41b3b76f8c948aa03b88ce005d75bf42ae61371296297fc3390458c4ba1c7d44e64bb76b45f5f6acb4dcc24d997ceb48dd40b71aeea836e8c50d08b0cbf986e1582dd76f8fc2a631eaff31e6214ffe29cce6c2bfdcd4f5a168139d116718ca0dd5784097be8f9e1038382cb2f00f2e7fa621bdb49923c7127f1500fd18adf370c06137130345e9c3bf963318efa4b3cf71b7afb202f1f4f09037a7f304be74c7dcfd986d462312e237946c205ccfc380bc3e22366ce5c30c2c09df9a4e174d39c1c0817e13748c551232046271507b729538f6e7af086b92630ebc8aaee88b76764ab861002ecf95bf4484ce544826e51db76c8c087c86b13b0972f6bc7cdb855c09dae9d7ae49aefdc5768bb30e8c49c96dafba0f9bc519ce3ff007f7abeb3e6a0f6addc15b4cd567294eb5eb48734439a485abf59e04776f262f0de32937fc147cf2f4f93995e7ed247fd74142563cfde4d0d49e9c5184531d208500376e47cfe1dc6a7487e22676e98a9f02ea8a70d83e23d8b934b49dc41b818db67ad2031ca21d6a527211a7ede2b1c674c1f5e66606d93393666d033c02e9789873dddb18d4f312efe205c20ef2295c6f89569e3ff779ffafdbc5a3792f85c80a177f0c5fb66ad50c0b2060828aa9cd03418ab72e1e0da23985c9aa09086ec3bebdeafa5ba335f65368477e5780fbb69368e49947006ebc72d65c42fb2860cab359bab9986417e920414c519688705255a8852158c8de72592fc493553d33142a39d8040aa4e2fe0e185cb8c44c8d13c2e1081f6618948ef20a847e35359351f0fdbae3c94e0726ccc88436a5cf602bb0c0bcd124b5628b275e98e6b821caabe3dff82a3012915c047162c4562eb96d0e697ccedc154ece9c8388a9af345a3edebb77977b95790a3bd335ebd5f0a5ee51ca14a015a461de0b9add7c1c3de140a1dbe0e810b16a33da120c9f253f35acc4d98f932b1b0c51cacd9c80fc020bfea3928badda2914684290171fa25542c879e2f677b02f04d3702b2a79d416b46b8126af09f8c98d71d8d90f7218d231c25d0a18c19243f56698585e7406390e35e2a8779ce6e06c67eb72030f76c27b15296eccb69afd7ea0155df48e603ef8b0e6b05f15878fb2f65cab297b480d3cadde4bf6fd40a1ba78d37cce734422d03d26fd5fff7589a956660da9441509f3ee43529c3b4808b23b504b7064aa2c7beb03ab4a7bd3c93c7597f8a8569a53f79a5a14e49abff80ff3de7838951719ad06a78ec52152f929a6f9055e5982277978e326b4262699702453d08795811925337de968255ee8eaa7986b4bdf02e4d2f0458f8488af3d957a19c2bd1ff72d07a12ae8cf1a93133373f0857d75ca353849c4b17c10dd49ef9c202636cc831f3c9c6f7617a84767d0206506e88205ba0b547c503837bb07dfa826c24e1afb35d3b850fa0bb02465d4980c0d11c3ac44aa3dbe7113670c443275e10614bc763cf408ee81f59cfd715331f2bdb1fbd390a7eccb6f52ccfc1d194d37c2f17a173c30f5c00203d1c2599b261d9ea7bbe34f084d512d449b12c720269eea8db92a38826bdb9349cc5380d376b8456c345e85853f2c3eef3095175d89ffddaa4e0a1cab763ebe4b04fe06cd1f665e79707343ee40d98d2f8de3bd8cf5aaed7eaf650a0057622d33a40e5f37dfe5a32c7c8a068861979766a32de789b6ed489d7ee8252b75dae479bd44e67e5733d25a721a377a103791157e4665a82b36682b70482c1826fdc921dc5308a655826ffb2c0da99a6375603b722db20d9cbc4de83e98348e9f8f82cb6cb7bb3d1005d664d2841a63e24bda9dd4607d4724c1d880b55b2879d1bdbeb2b27092009408c5111e7266900873195c5872892538e035bf37b3177492873736d8f7473f6ba50eb3b340f9e67006fed21dff0d45ccec33f166830aa5b625df420da3fc20e2e544aa7110c93b4f402cf127c85ebe21e48efc2b892924e2fcaef20d0e933a0f8c32a331f641a26c39cac928e408237f4f416f773e1841f4911612f4b57117b0f68e43d13f4278738e4ce58e26c7237524474ade6f3138f908dc95c05f860b5a05a10f5314fde0f9a26531ec6f3a6a1ffaf65f5b330ccf559fa4f2fa113ef16829e9825d37eec90579a4d1d9f116fe0ccdb2cf12922348e3e8f77ab1176e143057373bbaaa62a12ed05b45554a8535c9d594f3d56a21508cdcef447b19afb310580935e76853c547e1395ae1b018edd7b66ef3106d1260f20a5f5af3bfeabd1d754f9f36c8e3ed2d091851ee943733b8edff43a0cb1473ec53969efa1e827b9007bd4d7ad290047670a5d3a8a7fca634178686d6251a7eda5c8a33ea803e90e619ab519b393a7e7190c5bd069d9dccd81037ace582081467bdc537f0ecde2454662a1b9a17d92fe1ff0ad5621dab78e2dd36d40f2c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb83fb14129968f3e95de69c3dee18686c8bd29d8e55de8afaebb1c8c41fe110be9004ebed66970c16a21963c211e797937651cc016ab64496cde10a4ab01eef4183e7645cff0cc38ed5810d35a67a0a1eb28b6d88ab05789fb42d9f995f6553b890189ba300f33c712a7ef2ca5985f5e14f98fc07158f56f205653375709aac478384f5d0fb3fd1ca2b85420c4062329974277d6c54c81cd79e98d1c39cfaa29a907b0a2f04c02e35d47abdf3bf9dcd668dfcec236bccb2ba1afa014b33055d658198cd14e83f18f2d99a4a3d41eafcff3c33ccdea59551ef32b0cc96d0e52d04926732eb17c0e70d2665b5c2be150300c5f09cb11aff7da286e20677ff1ad2fb83bdd1e906052166b41a9e2c56f18ebb896d4b8e93b11840610e4b6427550d24e237ae98dc665043d31caccf10bbd6b02755ec3db68dcf7a05ebd2278dcab35b63324cc91bdb2b0a03184c9d7ad2a1f6ad781260fb608c498f05cf42411a40a0810e4e19dca1485e517e39daefc575641d746eb11f4563553daf7a6f130f4014e3a95ce6b85426387a99784527e7feb9f51c72a24034acc754ab4a11a58ab926a2e7dd9862915d71f4cf15945f7ce46f816448aa991c127a74fad674afc93742c247c6c392754da419487bb3d38391b7a003ea0f11665914cb0d854afa7f5e74c12f5407768a657e41e1454cd9659cb5a8be69b93e7c913d9c031150a563169311c20f2af75b5e6674d188fa599b5942d31822d00a1fa46c30acc6faa3c7041380e25561d38ed4f8967c6d8075b6a35d40695073f8f141f05dd2e4ceaeda30cfb04de86825f40ef03f3aa4aa869fc393f4b145b5491245e3e719bc078e0ee5d0b102b95dca1a63170573fdba7663cf90ba6e4de27ca5763e8e7d7cfabb4d0e37d29d7025ad0eb6a296623955a5b5b95f0b0a4480e02fcad6dedc094acc3d203f401697ff342417567dad88c05175445ecb18963a2191ec30591572cc935f95e9825c4be32e847944e32be96a484ec009524a48abebe7a4a42c76e674e1c5338df19639d73dc5e187acae5a2cdabc17b83de0ca96b5f917c83f705ac05944e349c31572e25b978a2d53a050d535cfcf3644c6495ec4f882ca98cd45ea1611a8a2f285ce084c6a4a194da51ad91754292306d3580886457f93495ff319965cd5cf601d044493c268c304d201aab881c0da751c0f694a550570e4a018dfab522335624f2e26f8769d5314e191ba7da96f655a899411c71859dc2a202145619c778a52f0b11e09e163f95dd4061821395b51e9933bd0f3d98089e3c54a207673be445143dfa2f5b605074d9a2176b521e9978a8cf82e98b2aab51bec2cfa96a56038e2eb1d9b13ed48c4ee221f40c5cc5b455902900ae82132af28af4099ed64ec79935b94ff78bc3d694891ad5eecd6387c10a1f94904aa5c2f53be258003d4a98fc2a74db57797b34342b0918a6675d0ae168e945ac026b080283c0f20f10a099ed0465a6f0308fb0d595f506a86db0bf3ac1861be26d94995742451a6c59e8195e2e8d195aa7990c059835171aeda75bd9d02d6eaf4533af1246e3d490dce0e08b16367bc23daba626573d5b9bcc9ab0fb2d7211fb514a7a5737f3f158089043ca14397b9d36042ed15db8a55f129f3bb2887287aee81bcb214018c98090504396298b719f731dc56c4296f5ce9b7c86bf0adcf6a9c40bc277c0822a94deea54e730801a22cc0971b4376b080c96631624937d332b85a75805a317f8235c530c68098cc109234e3a6e2c3b72b16168dbdf897fa32005525c39a802c1e82f88db5d2b7192f3e0e4fce7217565c558deea563f043cfcfb4cbec566ac5a4b5c5555810d11bc6994dfe198d36aea2a0754a2239119b3a9817522905dbf7e49baf56d04000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013fda0ead317bfb50690d4c94dd0fa3447b784380a8189e58d69e60e515049fa805b73260c2176af242a10058874e01e99e5b7a5e13c3d2e0c6b5ee28ce9721d631b7175d5d1927cd7bdc4d2b191ba0ca4006c0b19903d40bfbc5d71e2ca73d3011c83d220a06bbd751b992eb5eab7d836952bb5a1a16fe7d5e2bcc5be7689b0328646f461105250213239ea6151d926e0ed4da4fe958a21e673dd99d770dfa640284a1868cfbf2eb179503e52e3cdb913a290ebc9f5f6932b0a1fc854cf57d733262fa23038f4b596ba8733c14fbb582e715caf3f843d9b905a17f3e434c93d3007c3e2fa3925f6e4b9be4f58618fa1a520926eed379b60df998925f9beacf2c0237ced4b113790bf49cdbf1f77c3f0583678dc0c86ff323a129b6d4ab6be0ec2470d0a57ceb19450d801da6f058b0b5e67c59a1c46035b7796e45d12540ed1e2f7e26c6d5fed3f2d603a438516c9d3158f01b835c3731ffda49911294da6a2d1bce101eb9d030dffbfea4a8eda5c4c849bd270f36b586f02eaed6c90ec07bb728e2f4e411ce5e8efcde24694d67d0e6d6b64c77e1e99f59c64d71be3efad983014a783721061cfb02d52d75df9ef89bcaf3b51e641a97715cbcbd15ac68368308a62f69be317fdb13f9b3f36e07c9403b0e2d62c5634d037619470aa5c38fcd31b06a163ee5f022a7d846517e22dce0d6628124400a7bc12ea20d4ed2be4e7b10bcbab5a0ba8e385cfa594b8fd532bafe625e352e54efbe4ae75f38b27970182fd6f2e365007559c492c514507e6e370f4d8695b0205e73866866c10c24b4e30cca4a82d41a78a4dc9afb7785be0a5281d7dc4371dad79ce6cec8b2e3a4338c3b06052ffa7ab2f6f801abca3d3fc7a7e17b78a44f789f0a7bdadb405f6ea81322d18031497abefc51c8d96a325b4586e36de2d987ccaa2cf7e2ae7b062d16af063bd833c2c80a57ef6f10bd3c4f465b433b9590f9d4cfe29ac3cb2a8e7ebea92e5116b9407b2259412fd1e072003b4d6d78b8106b24540c6675ae9d378f56fd065ef1a8fc44528d3d647d0449cb7d36b710dc5db4db35c4c57d64caee18b03d0bcf3ace3edb30964b07f06fc03331153c6620c2992f2564bd2f502c8bebf3de35595e60756d0a250b342b101a5cec8fc0e882e9576537ab4db7bdb1a76a53d22e4f6596a200384c4e8d68d730fe980a810d6d33201d64fba3041d483c88071c1956eadaf7589d1b6094ae275aa20a5cf72b4176d986e54167fb6abb78eb7fb70f668b4609290f3984e8aca891e7c26f825c3149afcec3c9b9f3ba7a1788bfec3847825825f97de892eb353c1f022ad972bf881c5aeb41b89cafa176299ac3eb2747acb82ceb709e1b275b12d1217a04601a20cbc6fedba43148f9e4f7ae67cb0ecc9d55af24036a7bd5e320c8707d23efacc689da6143928efcaf31f8428cc822a441140e9884134afe7e626c5fa03f44047b134ee83065ae8a0411220324392d392831311cfedb258dcafd7268344b5f44aa787e7f74648d07ea8eda9848252527fbce6d36fd1bfd14734fd3fc2fc28c68e602c2864722f97e5845395601380ab55b5e34e0f6e8990c96e0712930d218322984c3adde6cc6fa57d5090579cd0679227424db823c7b591c58b19d8ea16d88689f1c3a19ca70937a3c47edc5a024635b7c1bdf7769734fccb24de90c2f24922ee625dc4a43ced9348b98da0ee93a88c874eb9f45c0c0cf12bb1ad53757675f7ed6c2f904726646aca14629e13a2ac5adf950a0edf51230de0ffbe54319d0cef91d1a325cd59132ef63375a797f14dbf95ff7df7ec1e46e4bca724b107d6f0c07c2c109560a3120e9616f17262b14940c6d778eb2258098dc02502d3260d1fd0c09c603910f375a8bccbb4dbaf6117a766d0093f1dcd43e3dfea56ae3d3aab09e16006b63bf6514e78db862d6f33b34a5c8a99b001430848d5c7d77820265c8c91ffdae30db05c7fce603fe31e434bfd6fc2bc002fd4a3843cc6dd72ca6b5716c8d03da7fe430d141e26fb4612817c384623a1562f93580042ce5f3f8f683244b0020e7579c8fb83437d05b71b1117bf8455216871fc7693d4e81d3df0b6cf0b986ec492a41adc6c5f515416c450c883d63025b8a566b7c1c1b0b2e3e9ed864851573e5cd65ccd6eb180e7fe2ed1df6d2518b3c1a5733b9c98454cb9d23092237024a6d34c4aadc5a2ce572453e3ba33276328cc2197285ae4ef0b258d37b97c505b1c6e055d1053c908454619901d0cd6e5412d57e59835b41cf7166b51c9eb831c9aaed54bfc944006e537a73002300db0d32696272066edf937be6d9c7c2a3eb6bce259b9efde3889ed933bf0fc2dc7ee534fed3d229b1e3e83e7bc73ff06499441c728782cc2477f70199f91f1cd59a788bf0754d90320dd349e3d649f7d8a5d58718fcfe3bded80a20d21d15a5a483a7c94695dbea5ccbea189501f578131fcaac5853a6590aa05e7d66c518cec0b1a154b2ab7fc8929503055f883f401175264480618b49aceed76f9d9d05d263985ccbe2efbb3c3d6705f60ec5391b091f1c7bdc9baa0dcefc24676d260c9888fdb22288ed3281e20f7404059acf4447a9c2f3a9f1205a5a3e9dc37b291168653e1c05db9d212b1d7d53818ffa6fd1d42fb1a0161f04013689480a7d7934ceafe887256caf8c73d9ca09d4e7d1ff02b4a1e9718237d07ad96ba16afc1132ab7673be957eb8885fc2f8c4e242f083c84debfecefac7a53e1617de6c5d4b2a829dcdafc4c44c44411a18ff5fea50bf12cab0f54f6ca5a99ecf90459ee4103e2069a60d0761295cb53becfb63a6ad7e80f7fd94ee9aca7d4991441ca70520292a733db2436ad1fc0d951859cf30219c559d99a7a0cf1a30684f5a0bec81e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d8b61d7a11876c0b10df40bbdbf6d510442f1c1d50581c29229b652d128da6d12749e285ee7893f4ef20bf4424092af1e03a73a3447775907037a9a2ed7259423b8e936257a51c37545c43ab4bd2294ae7aedd50d349d7a0f48fcd715cc441e1c4716c9da85ae3c8aba3bc54b42dd6b73cbab26fc185ba189e43415ea33bbe3329c8e0ebb6398d14a5cd52587b1ace723d973312f6d212b1a128e596cfd54940d6371f1449c672eb5a32ada784e5318fe6d25cad9dfd7f07f1aa2939302ab6d3d0ec649a8f1fc1673d029bba67860834c6b7501d13aba84b6d534f820f2a6e102f139b6570e03e98c2fd64459879f7cd5db23fa38123e96e257fbf4df0d59202d8b61d7a11876c0b10df40bbdbf6d510442f1c1d50581c29229b652d128da6d12749e285ee7893f4ef20bf4424092af1e03a73a3447775907037a9a2ed7259423b8e936257a51c37545c43ab4bd2294ae7aedd50d349d7a0f48fcd715cc441e1c4716c9da85ae3c8aba3bc54b42dd6b73cbab26fc185ba189e43415ea33bbe3329c8e0ebb6398d14a5cd52587b1ace723d973312f6d212b1a128e596cfd54940d6371f1449c672eb5a32ada784e5318fe6d25cad9dfd7f07f1aa2939302ab6d3d0ec649a8f1fc1673d029bba67860834c6b7501d13aba84b6d534f820f2a6e102f139b6570e03e98c2fd64459879f7cd5db23fa38123e96e257fbf4df0d592039492c28df8980e9e622cbca7c106fa4a36ba8727e675886340b9965a9b211ed0b2e548ab43fb1633fb1036207894ff837916e4952f51dc3403358a248a4520b23f825b5dc071b7fa3f6a8f4fdbffcf3856679114713ebf0319a63f5ec5981ef284a94e009766a687a6c3b49d0758554cefee915682dc486dff6d88d9d3c987c0e5fb8ae204dced7ea90bd640acc453e69e0a08cc6d659767d775c28efaf615e1f083ad83f3cc95e8075220c508947b8b1f7090511a15cc32a9979216572261317bb5e88650f0dee2774d710d4d576b8b562e43f68f7cf0310d1e88bc1fba54c1c51983d59a1689f93f135d05895ec77352b35cc3135e1821720b07bd5f0d9d41b2d7002180535384528439dbb1d1ba90054b5812c66ce6dc0e5f577e4aad41902de157641db19eeb77d372231f2c8d162f9d14334c73f496a985150f672cc5134654f821c2487b8f21492f26bee6e2ade2501f8da11e0eb6d47e7b63084d6ea3e99f1d4d2eda3a72bafa37a62aa45d5220e9ecfb3a627a49b8bf1ea9ed4e89d1256f12aedd9f05b44d17be5962ce8e9ac11baca38dc4ac47d61d3c421aecdb82c1747dcce519b7554c450eb2389fa6de032dc1201b7c9733bacd91411a2433913b489893276de48dd73c8165530b30dfa01883590c3467c51cf29a4c8f9a2a73c5dc91268552548e977070bf835441d5d90d7ac700932dee0a59959dbd7156437b45db9e61ff2909a528b763f6567e1309bd8c9bdb6c62b726a83e97630ab692f3463c4c1730269c58795282896bc57bde3e5cc010cc645e8d76cf34c935a1e36f6175090eaf1b75440c41ab2cd2a9548cafcde75d317c3644171a56f52f800356839f464b274eb7ef6c599e21806f7029c6eed7d2a9ace6bd9e58922401f852e6c1ef24f16baf605bb3464b369fddac2ac853ebad7485c1538554413c4f9572996af7cbb5600622307b2a8d102058390d1783d9579e3ba25d29717f6cb342b0b7a385964fd339fe161dcfb078fb9eb257d313cbcdd9123a59a5f664bad4e701bfb03f562d0ce911f7ceca240e14788ff2fe5b8c58c17b02f193586fbc0c22a05db82824200103684a7515418dfa0a770a2b3d3c87e9194d3b3bd390919685b384e5bf7341d83bbd6459292df0de8125b211d554fc5d93a5723775ab2b731a521952591499f87efbf6c54d17388f11ea1cd2618a4957d63e3a8050daa543fe31262d58b862b9ec75cddf94fca443c7ba036762b2b3e1a24e2aeb026620da71c121e7b8e8cd92847a4aa3786d07fd7bbf86f7cd0bf238913e28608917bddf58309c9021f3d760bc6e29f15fa3c5f05e4a01762129265651d520d4731d8b617fe2e60bc0b9d5ce0802f9b5a5ebdf95e0dfd5a2134f21e5d867c89038b759716dc3c7c4de1827a3355d477d1782aad3433e637e182f58b0f74c21c9c0876ba92d025d06d65bc1fc96a786f5fc607833f0b910c43928d051e5dada4ab327b25031614d47760429ec7d48481471487f9376e7921a5fcaaa7e501e4ca1a3479e82e48000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012ca09bfb0f3fd3f4bcc97ae33fb42da12b50d2042b8c5a1f5be19e4f39ba152a22a6d5d30f1fa4b6dee1546178e528642a710faea7a83d8a6b43375f6f968b263b91a91bb745f47cf288e434dcbf0dedfa8bb94d2c35549af2ad47b70544ae52055e8d25ce39142fbbe8dbe90f94bc2b7d5a4091735ee7b4f27f41cffcc74bd1281880d46821f4ae9928c62c98c9cbb1b8628541153b6073fe33c94f48842abf2d1ef6aee2a7d5c0999980f5b65cd73525d68ea6b4ec508af6c863a0510e64a90ece2d53b0c9fde273457583978835af7cfe74218447ded983bcee80d4ba16860dccbfb2d3089cf3b1ea5c240a5c7c2326def20a95c51381e6df04e622c01f5d11e99be923d53c007ea7404751250db09066e7ab18841b6cba8ce5c8d1f1a6f83e027e3235cfe5083dc8de5a9b27ff7cc4242fb0196c1e996e8c34aa5b1627d20b1f7b8e374e261d4018fb07b5720cb50bd949adaa51b391caad02f268cb94070379342ecebfe1532da3444ed760a4d30c653a59ac92272b8953fa5fc62036e22e5b177044d056fa568042af8d775dc97c00e3deb281db70473d09ebb3cc478b18cddf087103ece81dfbbda9b643fefb34571ade9874b60d648dcfb3f12e05cf33b6679a25e7599feeb6d3f7c20119707e7106c7ebaa87e5bb842a1db47f15e620da769b9afd5d7cf03a7586cde1368c985e979dfa469963e96d23a86cf6ce6f0a70fa36777ee5474047d9f7a960051d4379e3019645dde28cbbda56f6e8b8bf07210f6aeacfe2fce2309842095850ce331fcf2fb8e90798a6cf75f810abb6f2089f74f898e9743ad7238ae87c76f9bfaee886e13dfd52641d9baafb9f3fdb910ca012853e6c3315b5541e44561ad28a48a5898a76593f463eab77c8ddfa40f60873e3984fbd1a6e5d338b77841de72b93a8a386df4079616200c827fc94780b0874077e2d458caf468b096d4496f80c76eddececd206512968f2caa486283cb17b953806df9d02932eb1f899e40a72bde1d734690b136593aca6e77f25c87c4100a8693b9e2395ec14a5bb4bfaf1479943ef2a591e97e7793fe988a07cc17711f2ce27548466bd43aaf66f37abe4ca2c933f0c5835ad2cc7fecd6b36938ef230ce5e869b3157e64ebd598899e0ff99e7bc7809e71226431f23b7cfafe0d7c4728ed26f36e45efb87910f67ec2a9d9eda8ae45f1c07de5e73a03283dac9a22cf00233b534b259ae76ea5a2d96edf4ee0f9587fe80a809142bea942e48ffb28a5324db72e26d21463cac144780972519edc83d6855ee78707f25e9724615d3a7115ae3fa859fafed8b18cad4a24859ad0cdc3f41e1b4cd467d58458d0dbeadadb0b398a63578f9bba71a2a71a474dc4600139e485d3ee1bcf15ae9038afe74f54094484c63dabeeb323022ae4b577b9e1665ef566de8bc87cf745ac329cf0655c21781c31f79563b6d498b57a31fccc07c2342ceff68911943c6d866a982aadf12b029b4838e9ccb8b2613b677f06692aaead171a5976230a6aeadff374fad1943a96f3ede4e89dd1393f6dafd5221e93399f65174bd033f0f7423539f6592536378c421271e7d73dd8fddc82a684c400ba2908395305f87642089fee52a3d92e1930bc9737608e9ff77aabfe8734fc1fe23a708b9dc3ce506208409cd74797d606292e0e9d351d7dbaed0ab43d45fe8d4d2762ace4d819d5a01ee11307616eb1241bb570192b698ab7acab0fd1314a0a0c098ab091831062d26af6ab2325db4721d48257f0f2165fac1dd20dacbafec3a36b52ee5b1b95e4f3ffb1ca11a958f132a18a0a7e06c3e9abe9a83ed9079d47ab39832f31dbd493691cb66cbec3b00323cf2af1216b1459bf77259043b795a7773272e75d3796494040a1c3345f9aba34f4455030cbb015d80946acc295415a577b2240bda77e2b422217111920334d2abdde9f969e04c9444fa2a00a0e21975174a8973faf8b9ab1b8f5851e83aaf33b9af060ab8eb64d5685d2c75ef85b358e35482263e65755db30581cb14d8b652f42f6bfb21b719b4d923327a9028acf04335832a286886ff609ffb0738fb2e21418f8aa9dad81e273e22ca53a7c1be311dd8f1068f57d45878094a85e9ff7c630e07e963d55c3bb0112781477ef0e902920945407394d60cd4290239029795e2e67e6a61c95755aa07dd961aad6277f04e60c249628df1aace63ccd84dbebfb0a7713f357538eb069c078e4bdbac667884e20a8d17415057022932aea987c93081089d1620c13abeb7a6f811e6e33bfa7fba3c7e2e4ea2789775195b753e33b280902c0b83122d7cf56e26b719dd3389ab776f98126b86e640deeb5854ed1420dddc324e31353fb8841082a4d47891b4beea11751f58019e15cd31c76edae562d3ccd445c790a44ca16e79340e558eb6c46a454d5568c34db799a223f193dcf184f7dafd9a54bf0c4d22914a08ee199bf5ec60277e7545e283a2d773b25fcb6244321db598fb5674d89c062578af9b50a2b314ec378e624c72ec15f78f1c0d0171955c15e6be6b8782d42c4ccdd8dd6dbc0d3741215ca58f2d5a40495e0b0561746f6f89ac8bf83ca668c7b23580703fa5d70ecfec3a3ff1eaef90ec9398c6c175e2d0622621466563be52800d6cb03d75d0c3714f08daa0762f531d6003c0034fa1f2c918bd9eb877f5dc666101a37ef0a9e81c85075e7d8f38280006a17910d0f49962e9bfcd21662da8bff889544c76cc6284872c12f54bac9cb42bba3c50f20e2fc0397115c2912ce4d6e92849b20b20d9559651f324191c2f7da29e6f0119b8e06cf01f874e45e6cbe6a239b08a81a09d5ea0beed60989ccb5f88f59f42ef8a0fa0e0739bbc95227c7fb50c2ca28476653f63c541017a2a65c1bbb6aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038afc850c648b1f541a1bc830aefb411f140dfea895b31f190bb1785672451db075037af39b74e0abe5e437cf5104bee3105b9117ff1c72a0872196798dbae261b6ee993df6b79ca4828ae8f36ae84592d29fba4899415496ef2b1e703b599432491166c20948635b7d75170c9517ba6f51c9d577fb8e3d22a3a7f05fc4a66be092a8fe35d1960f368cb68cc116895bd9d44b83e9d4a7837f86317a9128bfe4d36d5701ca2e69f0c97349733ee976a428501e0bd6c0280e3a0ca1943ed7401b42dd4cf70d17ee4c10bf90bfc570aecb41257993912745917d9ef764d5cbbf781122b308f2e811b3ef406f403a8f5134c0feeffc2f6d8a003bf3dba9fa344088038afc850c648b1f541a1bc830aefb411f140dfea895b31f190bb1785672451db075037af39b74e0abe5e437cf5104bee3105b9117ff1c72a0872196798dbae261b6ee993df6b79ca4828ae8f36ae84592d29fba4899415496ef2b1e703b599432491166c20948635b7d75170c9517ba6f51c9d577fb8e3d22a3a7f05fc4a66be092a8fe35d1960f368cb68cc116895bd9d44b83e9d4a7837f86317a9128bfe4d36d5701ca2e69f0c97349733ee976a428501e0bd6c0280e3a0ca1943ed7401b42dd4cf70d17ee4c10bf90bfc570aecb41257993912745917d9ef764d5cbbf781122b308f2e811b3ef406f403a8f5134c0feeffc2f6d8a003bf3dba9fa3440880216856e307f292621acd7b9bcdd9f1f234dd023a65742fa4b403e12a7f1d05f60c5616a0d608205974050641a99871d2e90f4b2a2e2fffb2fd7200af43585b733211d8035f65f813c9cf1863754ffdd754a7033a3fb07cd47d62a7f8dcc36ff224f7db928d777931e650254de7aa8f1a85d214ae558b218a32fd53fc6c22c0b125deb6063b92453b0cecf1ae670e5241ba7865eb9c27e6c111c5a3c6fbfa2d6022a36883086435cecdd76cb2c1db4a15fed77772c0f228b6677bddd04599135b3d627c4addbd4df5d9fd40c7b6afb0c5e16696f102500f46d717caf91cdcd67d2c423d9c33326a97c8ada7f4d2d857ac04192fe6a12340a591464efc83f941a41a29fa23ffa28e4bda52a2412f53db2abeebab09bf7b5370db169f97ef7855f111e19dce2693e053ad99dda2f604020615a0bc1cc5dc8d47896fefae3ddc48ac3fc8a471ee05ee39865d9261cabffb2eb95ccf428d17e0a2c238faaee9cfcfe7206af7a7df8461545260ef4c05de83cc53140e89b867af8f5d34f5cb1d047f612f92f8ae30bfbe1ed3249096e064c7069f78bb7fc2dcc2bc4896766bec48de921e9fe4106a9228f9d5e5ad14b163eb773952d8945dd5fcaaecccb1fe393aa4e808889fe18ae15c984a336aec621843ba4cd1d964c0649f1b18ba289c57e349d035e5b11cd1a5ca9c7ae00e5e23e57a4878b541a1d6a7ece5664855f5b7d6141128bedab302ae778f12d0bdd0e5aba42968eeba24f9c329b5c03c050045d3561f2f7877e654f205e773d01cd7ee98dc26b8851aec56f04bd438903cdc48a9317a06c2f9b5552dc68567bd599017503bad64b60e9bada6246cb3813284ccf6589f0382c3d03211d1181ec9daa3c569d112d6563df15351945c8d61e337ba76077b30ef2159b76e60fd34140b0706353b6213cbc8d729f44847a21ee3d047f32fec2b650d93ee3481888b7f1be5dc66dc1eea065dcb85a17b8f4977a77ae877e6f106e3137af57145978cd05b8a1f346ccd8fb53b9d5f1a7ebbaf80bae46fb4dfe8324b5a0971056da14e5fdcf3f15155c0ac4b4b05509e56b5f6cd975441c3c3083094832816b060e5b1b5cfac3831da0349eab3df8954e4cb5519d42c038f245a1eb1a3170476bd37dfa4bc90485acd99dcce79ac00046c58c239196c87e9120033064005875156fc8875b12a8ae35ac9208506024721d964af7d35cd7d29170421e55310886347eaf1237e96518c1f618b4f1014d0dbd2526d245991b5b586a00a993ea90e72577394df8f7949ac1317955d59e3b8e3afc33642b99f0ab17137138ea946f015a194f02c04afbf5ee4b12cec313673ba61dbb5b8579e7e10e84d08f113ce9723f9268c18c52a429ea45918dedb1a8ce502dcaa9ca814feb121e11c21693cd4615bab0b5c4e7ab2a791ff79a50a524ca1fafc16a8a8563d1214d73851d6f444e48a43de97d3444ee4a6f705c9a24f6cc02de995ed8b23a969e482143b425c35b65b084617cfd5811eb964f74bb4883f35148a850da8d24f960e1800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001228a7cf3fad21cdd9e62294f87ac1b9069fc432b4bc943d0e8c45c29a68fcc0013479cae73a8fa53369cfb0ffea2fa7cf13132b0aeb52d70b094778a5474304b059b03fda281fb1aa9c9a41e86e9277b2c12dc4455ee9816a26fb118916be6b83a5732c5a7c9b2e6e8cff9ac0ccd52273d9b3f52f63295a2d56c86cf43797fe43ba075030d4af3c0e2dfbc252a0be54802be0ad36a2bf2859b0dd884cb07c20834082fa262ea18ec7bb358c0b6e4d9d8c282a87ccf374755e960c0d3c3193eac14857a5992f1cd6153022faae9e737ef7f26d77b372d3d0c779375d2410cda482a23a96bcbc0acc195a74ac1cd0645bc06a40d58647779a789acefe768949cf822f5585b81624f18de9e43162b4e1e96363baec1aacf94dc362d5341210932ec3fda54b256aaa501e4bc89348b9a4814c92df4553b6fc1d55a2824a52824b7e82d33ab0fd35dc107ddeed3e438e7cffff86b1e397ff7bdff6fd979c28d8e1f4a2391c41b3a4a4aec5a3f577c263b124635d365bce7f5a95eea20fcd5d0dd452b28cb982d6225fed716bbd7790f05eaf9a287f12fe437771c22e68c0b27d10dec3c89f4fa04778b67e0f1d9795cf61edbb41388f242e44a9db944cd4dc80104441092da314f806a37d00cb789b5bfdbcaa1bc73911fa209f33d977fae63c42b61311467eab152d9d54b8cb610d18b2bf8ca9a6f242a5603011338ab01b2bc9bd3351499e33b08dec96b0a506a559f87e4bb65ce9542751ecfd18cd3e30df320bb1b24be0e5b9b5bc710f2c66fa0ab7cf8788d8b5169ab1076922b6eaffab8f2f62886e33fc12ce34f53497cb1454085212aed5c77ac8d7b7099648a5c6c7050f107455a759330634249408fad348007dfc3048b3e14cf6ecb2ef8264396d861ee1619c3b821e9dc38dcb00779f67fab8a74323764622afa3ca3d572c363f38af525c204282b6550c9b32762a7ce2c45ed7368de32db5fcdcc4278bb41724b0afe18f52edd245e6dd121f43a4353745b91cc728307b67896e072ee4b3dee5f64992dd811c6acaee8c176cab5e98a9f624d5e9950c066b6a2888efe98b194d11c253e712967b50b77763d61205eba4562d5627cb8b01bfa1122a81c6f5641b7e0393599b770471d76e68b03ec15181cfff56e17be3d509e6583396109e3d8d33a22300c371c51b2763fc7142fa8b09c1a63c98f01d2ef79c6f75b953fd159fe080d357e20dabe55971af4ada71d33e8a506e5376b7a327ea78b4af4383eaa60f48c2d8b75ab13155b271a9534dc143769f68465cf3221774ee0a70ce10531b8ef2e3d17b7f6fc7116de08bd69717791c09e6cbaf385cddd7a28b976b3f017e75b210d93f9f65433441ad19595c4b3853faed9b4d1e762f4c0184d2c867d19faedc43f3b02fe745ca0ebed3a4e331ff690a27d068676fb5bbf231d0a3eca675efe35084119c968a307c4ea64e8d33123735fd3fd408282df537d9071cc12d022fdcf00f2947f665695c75765bbc66138c1fdeeb47c74c561e7dcab78c8c1ab90135913538ca078383e00467792934c774cf75992c223d9c20fa76aa5e2d224de9ee321305fa1a9a8f17cbe202b04d606f4bd76f44f484a19d8be556399744b7f5396070a829c1032f7918164690fb094825ea5abdd8e818cd5eee4df6cc0ed13ee8e26216b88f5033b20695d7e66da934a0b05d07c6eb572f3890bf15c556290e105185e3bcb08c62fa0c9c2265bcb9d58627afedfd9de26ec8825196747a0be65ad0ac27535f9ca64e021a8cf14f92dfb7fcf9f5a425fc9257524a3186b2304ed543e554845609c8bbcd538e45a5250d69d1cff95a32886fabce8368996ef2c5ee0009c8603eeaf606721c66cb5096e328c5bf46190d11f4f65d4e3f60fcdfb21ea22d94065f438181a67af3f8aa2aa42d0394786edb93686ee9e0ac198a1348cf43abdc40180a9c83604accf417712a5406c8a3dc63ad2e01d9557e10a02771d0326e69bbf6eb441f862da90f6b1449e549cae7d27e99932fd91a8c7d96615b3e7223a0a8f0e726f8611023d9ed8843cb3fecbe3bf60416bd824eae20d38108fc627d22dd7964a0cf6fec6725d7f4b40bc3d504a76fbdf95ffdfcc31d244d4ef2b05ce1b8ee5aee74c1a853e88e7b308aad2df20f5f32041cfe0f85973e938c54618a50e9a5faf998f7f1d087b2561306a55ccf642c75188efa3624a12bd6342aa32160a251d26e6e0ee8f481951fdf97a7f6ff73147fe31ce323671330ce508c61b60ab93f3b1e9e1222a52f8d9f74eb2a63bc100d75ea05aec875dff4d4d4d350741631bb65e6495e50afc2d913bd91b8b3d2352ba945b3699fb5643a1d072f625bfb1a8466f8edbb2fe869da1c7232ac23cd7989fabc9b8ef6a3f933b326b2f3b4b50c0d975815df281e64aaaba0ebbdcef5cd41b52e054484ad34eda8c62dd00ddadb0e7b1778a9a024a2cb9bb5a9b4978691d698948e54e9601247b4d82813780ff83471375b0a65af8e7202bfc4a978c808fb7c2e46676cad4b23149609b3252436f296c232c113d98158c5ad9a33d661c1774d57acb3c288d185c23ee2710e48cb79937d852167987dddffdd11a7c4c3a82065b35bdd21795f0af1f16101a3c6f753dbfbac9ce379bb33e920403c31070c9c91c891f2efc3f0fed99df7e1aa4331f8392fbec730e32e7c9cfcea6adaffe60caa45ca648f2efc6428737873fd1d423e75f21767de9101faf010fcdaa322e3257ef74cb08ea30155d73478e2656987a5aa195a9c602db1560393e09d4475b873e93a1f6c6a794e89e0e0d9517de0401137af83d04ab279ea43fb8508100ce9f3037bfa8bcbb50f7150650ad0e5bacb9d29aec43c9abccf18fd4ba71d33cf3607c09ed07d44a0177908ef1aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109e58252cd6fc6a397a91728f315f07459455120b0fcb4114bd4036042dbd5b2f61a7dad3290395c6856e8d70cea0f8dcb243e9fe3d2dda846ff0b6fbd242a61317b8b9e032ee131f64d73ccbf6db24399f105e2e01ff29ce85102114e4b2c62ce847461fcd11ece09b28c3340924dbe8a7889ddb4af9f1caa820cbeb1b4d3b1f769ba160fea65f9cf8342ffbd247b4fdd4b8dadcbd02b56f6c1fb868777ddd2089645e9f0159a06307cbd0042db84b2471e0212c8ff66629c11134978882241d510a26e4f93fde10d904efeb1b6688b09a6a4e3d171b53fac23cc00a55754f22aef5d91b06c021ef26fb1014e4997771ac2eadcc35ddc79e6af42cf5aa8ab2109e58252cd6fc6a397a91728f315f07459455120b0fcb4114bd4036042dbd5b2f61a7dad3290395c6856e8d70cea0f8dcb243e9fe3d2dda846ff0b6fbd242a61317b8b9e032ee131f64d73ccbf6db24399f105e2e01ff29ce85102114e4b2c62ce847461fcd11ece09b28c3340924dbe8a7889ddb4af9f1caa820cbeb1b4d3b1f769ba160fea65f9cf8342ffbd247b4fdd4b8dadcbd02b56f6c1fb868777ddd2089645e9f0159a06307cbd0042db84b2471e0212c8ff66629c11134978882241d510a26e4f93fde10d904efeb1b6688b09a6a4e3d171b53fac23cc00a55754f22aef5d91b06c021ef26fb1014e4997771ac2eadcc35ddc79e6af42cf5aa8ab22c8dec332a0eb07be2e85bf95e4ac03890d7fb75912b77ba0427fc136619570030f5a887043c2c32cc0ec57b270ef421399ca13b97e54b4f792a052157657ef3365b4dec169784e5ff693bdcd0c7a2a1cd2567a3d664142dbb5234aef9f1df191eaeb505a7e79a10e66bfe193f5c9dcdac9682ed54bfb16a772b4e9d65b2cbc204e9be8c2d3537cb18673386bee5c798ef2b55fc6dee0be5bfd88f837484d1d72abf84d3651b5affd2cfb955947fb41fa13cb23b663e9b23cc159ce4e7a804533c7dd31b7fac3370611c18435bc4feba7bc6c6bcf9ba0dca3f596646efdeab0f2a42dca6ae1d136cd02293a18dbd70376d291ac8611952cb9566a915d1e3251535c005cc35c267099b49e412fd3241bd9fa749d71d1fd2147384d6a30eaac6a308662598eaa8d1e3c7dee1fdb89ccc184a92a74bc496f3d3dd3e854c4711f55e0dfdd39316151b93f761c612baaa42eac5bc4a5bba064f522e44620736e5d1dc08df335f0447bcd5f014389d690c4c6fc38f29b2831b73b0128c42a931d7953f2d43d14184f11477841170988d82323f139f01e0ca27f1f535e9592a4aaef2da1d400dbb68de7d94e50da5dbd7437cd7e58d72463cd1a579fd333c41dea9651624511ff7811de063d1beecff237638745a8c2587960805acec4f2e7c7b19d526030ceaa3020abd49f3a86f67db66b835d9e069d7075ff8852f340332eba4bd8b21d8be5313ac3f0a640ee4f1a415470c76fa4e2df496c06f780ae795287bf9753c94ccd01ce29ea6c5f15fac77f7f339afa25073538314692986abb9b2db3655174a2ca803fde214fe39d2103cd7256eadc6a0e9ef8a8d7a9db987ae4e21f8ef15d6448579e2bc4752d3189c1b3849f8a75bfe6c4a29f26d7e04d67352b211bc14b429bd2960977fcf3ddbc02b3ecb8e554a80bd62c567f53e37d7362965754407adbd976c67abf3c0726005a2411131471e59d737a858e5043040035ae4c3cc38a32648bfce5a2e3cb750ba492ad08b6d9cff84013b7863a4f8ae3f71ef1af226c4392dabfdea578237812c20fdf8c78b36fbfea4f9d6c5a5384e1a91ffae363617b26d4f0d7c87b88817a4c82c47b622c8bcb005d6dc1bee915586c24abea7247b36bcea3cf50f2189aaa688d4a37745f07cb31a84ce113f9da13f8f9baeb108c70e02899b7b4af33a57636d40fce9f70e0d784299369ab2016bf77b2c486e3f3f866aa24fb0ada3d1e0fcfd52c2f93163cbcb10bbb4ead0f1ecf2a52f2ff50db4c29bd96577477d5f7bbaabfb765a78ebd9435236f9e1f032a803f9178ada123d4f25037f8f05cee7d1e91f0faa0f862ef8e38e14534230ed9b695f1b5e2d313bb2e70b5b749fbd1f48e10952d333ef841b8b26c78f27f4dbe0081bbc64c734f4d65947891030a0602bf0cd04bc333599a40d8d58106c512f0b15ce05ec341729c6d375f689252db34990e07b5746029400a8b43ce4e75ba829ee991f48ed30d1080663af46cf54b8f1a1b7dc2cddaef6baf977db4e45b81479c1c0a6db920000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000121904a2c553c24cd06b7365020c9066f2a94a30693cdfad7cfa7dd547d7356ba0f1eb58162c122de85e4015273f4b3511cd2e9b29ce91dcf415f074c2516527c088efa0a3d9b156a7d7bcd6b320697cac1a890fc9e32b9f2e811c65870e455050d5bf2a27da8ba7cde952e21c20464d721a1f4960b73e47be23541530dbcc3da280387e50b08fbeda7991e392fe0156f3fb14f446bcc971503335b6143c8897e234f5abd665b5d945dd66fe4d8da01ca2e759c9ec73b670ebd89d7437b55895f2007ac58da1514b9ad05569b042bf2a341685217a1ebe50b071babdc8a9e7cec392d421eca3b87026e91a0ad4db7cef33a63732a170ab2ed1f6daa64c0df98761491f999aa75332f27204eca4041a943c5fc8c7cd3c2ea8f9606be25cbe9e951298bb69670d154a2b8f6aa466acab9626c28f3ee3b24d2382a3bced71f33757806d34a1ca094eb94bd71b05e9679cd28745252b2476dc0a89a9f51fa50fa14130a6d6a9a47a37bba7bb58c4c6921dde4ee06e5b4d9d13a2e03756ed0bcd7ad49247562542db973869e85e1255f7c69c7be37cf7db29f2629fc421bee46a0007f2a9b60f6f347ad2f0918fd571011325bc812bcf145d7c86ad10086268dc2e3080c6de9db61a135f8060f337963ba3a5d1ce849f3254c7381e17d0e997279a9130c9920a307b9744fd43c1e8eced5db33c5ab540220a55c98ad2df7bb2ee5eb361d04c5adcf4436734bc7601102eb648bf01ea9dd0c2911b393f4cfb520c2e81a19f312dc12a1ba9d30baa12b611dce1f6918bbe38ada0ce9693798fc254e38ca3207e4a9fd0edf5a4b826e9567bc2f6707fdab18280c29aa2e20d4ade80bc68f07283c5a94223f52d8bfee683950b6fe57fa8f16519ec12d4fb8f88fe2f9d19e023ee50f1ac5f48ded658604555b185318f2e2e118c45700697103c4fede23eb24c981bed339e1a5b7123fff5ffe13024b63f515b5866d3a7e1d5b41b70ffb5638da936c7c61d8e71d2e8145350d3d61fbe4d23ebee6c1a48da06da64e47349124d50d4f3a91a735c94df03780deff86981571653807225093a5760c81472b3b16423002ea5e43802737a7ce6af6ca743e64a0f94cbb2d5457f83ba888776529316eb8f76155c352456e03c5b5996e68a0fc9b2ade81815d5fe35b9d73a652d103b61ad205253deba447316eaa472160bca717517726a9f4acabfa332af6014018b3addeb3e2c1e3a5510c4404ca39cb2663d8877416a35f718a1bfd5ec3a387275849633ab1694c7f8217543b97ca05199d9e86be964a232ef987a82b3213bd125f7e7a53898f9085fb6abe83649dcbe859498f7545cd1dfe2a13ec2671e811051803a488931e512c24ff6e45b3b7b20dfefb6920ce6a3f5fcbfb285caee7a31e39f82db798554fb95bec61e7d0407978b255f26ca5f8c6edcf3835f5e18e821cf5487b33d83b50a72eac994d3cc83581b54ef8b375e53df442644ce7bcce401e4200aff58405971a05706248e265d5be5e3168dbcbff3c84fef6ccc9ce1116270df78de25fa813805a3aeb7f6f764207c1daf1e159102d8093f8774cb1dc051e00beeb5651648954cb8e8f793abcd589f9d151ff26b2018a195104117e500105afac0536fdccd100fe4df82910983300c570f6c5576b0d4ca20ce8494544a81667ae620e7659d687b6c77cdfee1cd8a4e5492e4bd7cba577331967c9cd87a6273aa3dddf30dc4ecdcca55ea06dd3fdf69c2ef3bd2e8e500edd70dcfcb71ec63b319ec3a67d18a49ad0d424faa8bd9292f67ed7c8bcaa43feb226f30a1b8e370bdb8d2b3d0a44952767efd67b3cbed1a8a6cc578e3867f7f7b59bdcb27031271a3a0113a491c616227599b1415af0286db93ad5370a36d551831e35ea18a22f2d47a2abe0e4c75207100bd5b1bb98a539eeb3875559941f013bd9ecc35bbf0d375e90b88615dcf801ac60e46c19eca230c855a6e37183e54c8b7435ccf4925314f84f1cece8991f1978ad072413dbe5072397ee63b4733f4c8aa85dd4bb39a609f5adff471ae94c06a453f45a973e0ea20de856b13baf91b271164180ff18f639d2fc123082e80fa506d93103e37a32cab1cbd4060ae9bd0c36f8c31d8ce7fb07009004e4fb84fdd0114fa368faaa5d17a2ab8cf8dc447971ce7962bf1514b82906fc3df09d395d24107fa910e46632e923e6a5343589c6f199b38dd7657d2839da2b1d7a4793962676199aa1b478d63393f137d46b9ba17a3ef0af5ee3a9da110a139cb8d8b4b5cf4bdba58cd07306b4c6510a6e05081586a70f903bcc0c402232948399efbb48f70fafb6ab677c0b55a401efd8234c94cd958a240cc1009128d98ee35b1bbf1ba5ff2c3e0421a5a38a3f13aa9c5cd68d21178e9ac307799d189167acd73681418ff3e456d56116e80cfd74b81483bf362aeade8d75e7354738fa7df1deaaf07ea5cb41152a3e5cff2ada815b3acd5e7195d38d9b222593eb23ca1b5a80f6bef2c0f47841ca6646751c2ab8fc65ff71d1f737c337c05843041e1e4cebde657a19c85778aed8429d8fa1c418fdfe1a85a0e65850fadc88f3343c4f68c1eb5f106dbfa7f0707634adb2030d217cd4954571385b9e61f6193bda3aa8290dc96387ced9720d51413665c34e74a086f1f681f15112c56f3fd9e7550a17039ec96881e4199c815fff59a0ca2c185b02cce6e6020e2dc25d8c119df207982a6e8a5835c2ce51c9c8b10869f347bb1d6a65c510672e66f06b552158e4235efa59d06c76471c237d051d963f7183abec07aa3ae5a8e19cf838493b58c11815edd5861e2c5efb556b469e3ece527a2f8ae63e8dd8ec903f856d955f40a91ef2a0226ff30e0de1d33318d773cccc60dafdccb9129249c3a65dc9f50d180100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f01dbae5e98fcab96fcdaff850ba5d3ee385a33ce5cb0213584409db027c3e979722b47c74f1ad7c1564f7854d84a877395b43a7ebd5932a8502eebe5f2a293802011f64f4e8271a52786be8a240bb3dd139722db2804e65c36857fa31c1e0c9701f17aea67a845e27a54122a226b2f71ba38cf07fc423a762923b4234c08214e03f28d181c7357b5e44bb36c8f3bfd83bdf92f5f04e99a1e6dd5ec5ddf7e7434e1aa395830032a6166aa9b6df82eeb437022b66bca9661fe0e8b0b8fe92e7b83f3edffe10f4b26c4c3f8ffbf958f11f954800875a4bfed133129fce83c655d3ee21b8dfdde60e7bf368ad4da64b747e31cc935378c07fc75852f96197eae947ca3a649e76ea2869010aeb2f2728cbbbc26395004ba1850c85cf89313890996dba193a7af23e492cb0f46c8dc5c020e0cb814190507da01e87216248bfaa1cf440050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb214bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda1ffa98ba3f5d89d100e9ba4844e8d104bacac98da6bbe4ddf0acdb7c8fa46e1127eafa879466a7379d79b88ee2e000c4193d9f32bc833f5e7d4bfdc8e1c759f52045addf587bdedf0f8fe75e44b18b792152803f9050a6253d6c045e7097611c3f19ae3895bf79212af9069e5b77b219bf78cef0a229f3543131d956bfb8e5f41ecbe2947ce84751a93e00e647e6af3bcc0060f159e75ff18b347dfc613c39083b0084704a7fda230626ecc22ec7dd3715bdfbbb9e1861d63adb00e02992c28521d434c6565eac9137794b377e97076dbc5ef4b585b25cd102017602cdb3c2dc00518d8e567200163bebd86b9bf4099c4b97eaf420db14c947e7f0ae2efbe53a05451238531bdb182ad99202b8515c40f4a6568103c97027ca34bf3018b73ebc2f91de45da9ca1b6c9dd29e716524ad4e15ea1606eeaef91c9e63b10347c980e14bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb2248f14f35fcecfd5c2269022ecdc1240e18aedc9372761fd6127cc17342d9ff73b6f46c141420a87fe8e8681ef8c6e45147549b5651d4b7790f5a116563f4e0d22865361180cdad336476c7f3c8babe3cd69e44d81670424c74163a176b8274123f5f50fcc07b5a3680d479224f88c02cba9fd0ca88c125707152e4cef7b87b72e7bbb08bd31dcb1dfb76831d240dba5fec1bbde3048976687c186f45214866d2b50abfc0a3644c2cfad8576a46db0cce2fca0cec7b72a613e4df7e838ba7520182973be7d86bdcb3e1408e453a5b1d33aec314840605b2d8430947c457b29070e2fa2a63d6085713c64140ab1d06342b3a9f1f759ab358fe8e24b8d90ca61771450d120cebfbbf04915f0ca5f7f1c6a2c7b508dd7fd85faeac25f12f374af320620cf16b303e61a0387230454d0632d69f7ac8bc0eec58cf5538eead7ed268032b00f4c66a10b8194bd0e276191c687c4493a2e6afe04b07e02d370a0c6050a271c57b860c715f31aa7df81151cc5eb1d75227e8d01bd17480cab6bea08f6831daa3b65bab9bc335b0270677abeb23a1dbf582ed217bb923b3fb365954344770bee4279ada4ab01582f398806538f2a61705a5d1cfb9dd3ebfddaf0fbf0d4b410e16b005078f34d1afe04324a348484c37b68de8e9849e86baff2beb9a6d1f00ebc71161a10bfbf68b2a63800597821f70d6fccf0ca54a4c383abda24a68c6824423ef5cb1b0b88f979d33745a3db3c3b10de502821a73f1a22e2ca371accc0358a280efc4d15ebb5eb1a71310ab136a6ad7e5ccfde1a88abec9c1253b42ecd21b8dfdde60e7bf368ad4da64b747e31cc935378c07fc75852f96197eae947ca3edffe10f4b26c4c3f8ffbf958f11f954800875a4bfed133129fce83c655d3ee3a649e76ea2869010aeb2f2728cbbbc26395004ba1850c85cf89313890996dba193a7af23e492cb0f46c8dc5c020e0cb814190507da01e87216248bfaa1cf440050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb214bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda205d601e9ff00163d70e3705b8f5877e7c943d1185b22b94ad4e82f4c8d5f2810f1946b03274414b00cb5c0c16c2d29c0d530810c076f3b36be94a5a3b9d6f23360dd40b5489ab15c1307723fd432850bc7308ee44c8d81df68e19fdd6740a242ed6033c9650cd1e3b020c1a4d6ed1f5bd05a17e9c73ed5df1746508c37c89c82252b5d389c5a0337470de59c7e7afd920bed8c398814fe6643c00ed2c8782b83779b1313da281413af40f4eaec6dc99c0ff83e95f7e71e161d37def5e4778d50bed7444756d97f53d5db55faaa6d991ebc45aa265fd397beab8c42d13577b351db9f844e3d9865c06ae9afb62622554a36b372c429fce0b98a97a4e01f5d5673f19ae3895bf79212af9069e5b77b219bf78cef0a229f3543131d956bfb8e5f42045addf587bdedf0f8fe75e44b18b792152803f9050a6253d6c045e7097611c1ecbe2947ce84751a93e00e647e6af3bcc0060f159e75ff18b347dfc613c39083b0084704a7fda230626ecc22ec7dd3715bdfbbb9e1861d63adb00e02992c28500d895188d6c246e66e10ed4882f75d54a6cc72d9d268e97e3777902622771cb204da5463500d0411411b1e5eb964113cbdb72737eb342628e399e83b64c9cf5229c82c82312e665b39d657c003a2f141d92c96993ddc68b4f0f556f62fecacc3599d2f2abea316b24923147c0c8e5e314c67bb9e058fc8002c85f13a05dd5b71d47df41c4e4ae6594b11c60ba538633db4e44053edcd7d3f586b9c1fb269f463c8487c30283730f1ab3d147bc5b063f067018a7b922e9f3d088c51a8fa85c47261dfd27e27d99d77f132f7803eff063720fe1070fbc6a36badfd2b1ba62e0100359486bdf6c564695f7aa1429db6661a55740da15af3044efeebebd9504fc8a24df46225d93e548a554320e3bd612a2a825db1e436fc095d67f45233a92d845043767ad0a5ad538143158cbdb90f36e31ea5e2f1bef30b73fe951601d07196f3b0084704a7fda230626ecc22ec7dd3715bdfbbb9e1861d63adb00e02992c2851ecbe2947ce84751a93e00e647e6af3bcc0060f159e75ff18b347dfc613c3908256d9608db45d934ffaecd9b53895efefcc506a71d57f080ebda1eafbb17a5aa3550c1be335ddb68ff880fe19a396092a2799b19694199a3972e375061a823b9032104889e9b212492baaf36059dd6f5fd9febe2ecdb97aada578c78caf328b32ec2385d1fb36eab285ec8337b9ba1c5ab52888c1096e895db70498b56c55545113273b81120cd430e924c7213a2ea1f9894639285f71e5beb9a54eb445718870899f34cb6475431a0d2a136630ba25326e3601e68bbaa504147f9044677e3051c79ab53d3882bd7d855e6e62e8e8ba440e3f2f3cd946bb980763d6c192081d03a942fde33bda835547d54fc8f21cf8c43bfc847457cab00de17187334f2f51b102c8cd9d4aad1c9c02ca307762d08898664f3281caaf8232fe3e5441b56b85231cd349c9d6ab040958d21bddfdf03339b62b3fb4b3b7c2786cbfd06065fd17a2b50abfc0a3644c2cfad8576a46db0cce2fca0cec7b72a613e4df7e838ba75202e7bbb08bd31dcb1dfb76831d240dba5fec1bbde3048976687c186f45214866d13b95ce755dae54bbb5c3574c48dadcd549de4cc0288e6f06001b5826528a0ca204114e02a493b65c4090808f46ef23fa2a614e6c4887519d9678318d46587dd06a5d904e2ab184d170097750a7f9d48b79c9d40a69de62f3f683f844106123a0debf4167b1bf2e7a7647ee14be52246f7e911b522cca59a49053960483532a621f1e2389633ade4c8845eafa4a73f5fdd435a3d5a2cdd7e56210d81473268a437da84cc3134738fe6e08ef8d2074d13047b026f9dd2e4496fee715b439c92e90e2fa2a63d6085713c64140ab1d06342b3a9f1f759ab358fe8e24b8d90ca6177182973be7d86bdcb3e1408e453a5b1d33aec314840605b2d8430947c457b29071450d120cebfbbf04915f0ca5f7f1c6a2c7b508dd7fd85faeac25f12f374af320620cf16b303e61a0387230454d0632d69f7ac8bc0eec58cf5538eead7ed268032b00f4c66a10b8194bd0e276191c687c4493a2e6afe04b07e02d370a0c6050a271c57b860c715f31aa7df81151cc5eb1d75227e8d01bd17480cab6bea08f68332b9294cc2a53579ade76d604911e8371240b11236b7225394df9b6b9e56c25a2c59fd912250dae1642a622669ca830c85073184ce006b41681071079dbf4f212aa83dbd5fbb4035047e477710df226cd6464913309e6c39722a0c2e7a5775aa1b66247c6f2411f233dc29219a1d145412870575b7f0f8f7c715ca26716a7c403d2072b2f7dfdbb387167776e37789cfae7b7005c759760e6eca725d7da9220b1cabf451cf8845c1284e7631933702a33342eca730a64bb957450c7f0d25d9823585246a2417b686370059113c3d1111d2a68e8a221f3bb02da5b3df44ae40041ae9e0df0f53858abe804ff2f8b87bfdce8bbcbd124412be1f710e3825da333c2ca295cfc20d7ccf3e7667f5903ee711163514d21efcbc0099bc2d459970929f3c3598012992e2a531e76676dcc35febea1d9afff37a3038bc16a85a102c47cd358a280efc4d15ebb5eb1a71310ab136a6ad7e5ccfde1a88abec9c1253b42ecd24423ef5cb1b0b88f979d33745a3db3c3b10de502821a73f1a22e2ca371accc0015afada2619cdec2c5309118755d5cd423da8d7c0215bec9209226c39b3c48e39550091d906dee5cb28fc4f1ca7baf0be5f861bd70aee5c6dfe1444a04877fa298001f32ebefcd14ee48b20aae1b2ad0dd3b31734485ebfdd3873d621ee887a3a56a4e754ab573189c19f92c99bb09854629da10be18e2c40e45f11a4e7ccd2277265a541100cc5a7c87f2bedbf9db2e36180b2d7530c511b3d2aef81be464c325a015f865814af079c6e7c88eeeebffe5cdbfa20acb576aad253ed0910b54113b95ce755dae54bbb5c3574c48dadcd549de4cc0288e6f06001b5826528a0ca204114e02a493b65c4090808f46ef23fa2a614e6c4887519d9678318d46587dd06a5d904e2ab184d170097750a7f9d48b79c9d40a69de62f3f683f844106123a0debf4167b1bf2e7a7647ee14be52246f7e911b522cca59a49053960483532a621f1e2389633ade4c8845eafa4a73f5fdd435a3d5a2cdd7e56210d81473268a437da84cc3134738fe6e08ef8d2074d13047b026f9dd2e4496fee715b439c92e900e9e479e8e6ef04f9c1ecde95ff8d6d77b8445f7ed1269526af351cf88c04a1078f28abe9c95e26129af7a4862148f4cc31e2b4dd4e62820360746645a117ed193a7af23e492cb0f46c8dc5c020e0cb814190507da01e87216248bfaa1cf4403a649e76ea2869010aeb2f2728cbbbc26395004ba1850c85cf89313890996dba050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb214bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda2ed26a7d02671caae3cac4d4e558587b47d88a79e4421b4283b78504e651ca0836b039bb9e26c6f3dd2d0d855f8ef1479e83083126c77e000905e7d1bba57f9500cd579bc7fba51ab37586218071f2b1a862b5ec1613ff239262383969307e2b2ea427f59d05273952bb9f73c6b6ad80d26ce77706734cd6013ce0972a1f01611102b3583d4c87fefa485aab20d15ee5bbf6c6128f113fecc1fb4302fc0816c608c9b3ac8a1b9975b51c92fd55dd2d8d0380fd9e5fa188bf6ae70aec8ec6e4c6256d9608db45d934ffaecd9b53895efefcc506a71d57f080ebda1eafbb17a5aa3550c1be335ddb68ff880fe19a396092a2799b19694199a3972e375061a823b9032104889e9b212492baaf36059dd6f5fd9febe2ecdb97aada578c78caf328b32ec2385d1fb36eab285ec8337b9ba1c5ab52888c1096e895db70498b56c55545113273b81120cd430e924c7213a2ea1f9894639285f71e5beb9a54eb445718870899f34cb6475431a0d2a136630ba25326e3601e68bbaa504147f9044677e30517529e25fd89c39d7967232775bacb60311c888c30c133ac14979eb00c3a34881bcc0569b3d10bf6ae5dd959cf56e219d29bfa470930748730dee5d2a782996f0bdb6cbbc18f3d4963df3879702e7c09a36154ee64b94fe4050bdc32ebe92ffe368c3af1c5bb831057d4cfc49c6590d92eace5064490d5b146bac1b0b03f16dc1cabf451cf8845c1284e7631933702a33342eca730a64bb957450c7f0d25d9823d2072b2f7dfdbb387167776e37789cfae7b7005c759760e6eca725d7da9220b187e6d60e1c82b0bab6eff8a0916f645a1250a64a5be1b3a84b763cc4d1fc0b6137cec6dcebe9450f90f79217f1716a62a3d58ddcd66be646c05efa33f6017632ea427f59d05273952bb9f73c6b6ad80d26ce77706734cd6013ce0972a1f016100cd579bc7fba51ab37586218071f2b1a862b5ec1613ff239262383969307e2b1102b3583d4c87fefa485aab20d15ee5bbf6c6128f113fecc1fb4302fc0816c608c9b3ac8a1b9975b51c92fd55dd2d8d0380fd9e5fa188bf6ae70aec8ec6e4c612102b0d67092a0c9148a8d8992f188ecf1a73971dbf2b2289c6b212e059c8052443a43f95d34197e2edafc9214711ef8f61ddece9b44158c5f7dd5c948c0cf123f5f50fcc07b5a3680d479224f88c02cba9fd0ca88c125707152e4cef7b87b722865361180cdad336476c7f3c8babe3cd69e44d81670424c74163a176b827412e7bbb08bd31dcb1dfb76831d240dba5fec1bbde3048976687c186f45214866d2b50abfc0a3644c2cfad8576a46db0cce2fca0cec7b72a613e4df7e838ba752007c593d742227fbab7b07728288a62b6043988c4ea1a720da3137135cd3c43cf1c4e35a17dd4aebbfed448f2d47a8216e1c3f147a1e36de5c255351462c5716b265b2f84565840b80c23f87e15022f1afd9ec7ebc8c60bfca3b09341d0be90b207a93a2b7e0e2fbe9b4d6c89ee3e94f104832a7c26da3a266812c20bebc9d25f271c57b860c715f31aa7df81151cc5eb1d75227e8d01bd17480cab6bea08f68332b00f4c66a10b8194bd0e276191c687c4493a2e6afe04b07e02d370a0c6050a358a148a7aa8ad5dabc68cd225ba1946e8cd3333ec88b0f735bd9aecd67568c62ccaad81b510016784c0c88a71d3f90c93560d8e778ec44be36ed001e8a3b2842f91de45da9ca1b6c9dd29e716524ad4e15ea1606eeaef91c9e63b10347c980e05451238531bdb182ad99202b8515c40f4a6568103c97027ca34bf3018b73ebc14bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb21ffa98ba3f5d89d100e9ba4844e8d104bacac98da6bbe4ddf0acdb7c8fa46e1127eafa879466a7379d79b88ee2e000c4193d9f32bc833f5e7d4bfdc8e1c759f52045addf587bdedf0f8fe75e44b18b792152803f9050a6253d6c045e7097611c3f19ae3895bf79212af9069e5b77b219bf78cef0a229f3543131d956bfb8e5f41ecbe2947ce84751a93e00e647e6af3bcc0060f159e75ff18b347dfc613c39083b0084704a7fda230626ecc22ec7dd3715bdfbbb9e1861d63adb00e02992c285205d601e9ff00163d70e3705b8f5877e7c943d1185b22b94ad4e82f4c8d5f2810f1946b03274414b00cb5c0c16c2d29c0d530810c076f3b36be94a5a3b9d6f23360dd40b5489ab15c1307723fd432850bc7308ee44c8d81df68e19fdd6740a242ed6033c9650cd1e3b020c1a4d6ed1f5bd05a17e9c73ed5df1746508c37c89c82252b5d389c5a0337470de59c7e7afd920bed8c398814fe6643c00ed2c8782b83779b1313da281413af40f4eaec6dc99c0ff83e95f7e71e161d37def5e4778d514fa5f1027e87dfc1487e8023854b2e1c62608f085bc921cc572972e00d6d0bc3d8dcb06731cd3634c842261d7adbd309bd2fcf2bc3eb02391226ae0d43d35ae043767ad0a5ad538143158cbdb90f36e31ea5e2f1bef30b73fe951601d07196f24df46225d93e548a554320e3bd612a2a825db1e436fc095d67f45233a92d8453b0084704a7fda230626ecc22ec7dd3715bdfbbb9e1861d63adb00e02992c2851ecbe2947ce84751a93e00e647e6af3bcc0060f159e75ff18b347dfc613c390826629ddd681dff2c7618911111faf00fcf7f8c6521c1e9dd7cf11f9b6d3071f232f10dc27e9e56bb611f78132779f43585ac6bc3d49bc88aaa266d4e35eb11d02ec2385d1fb36eab285ec8337b9ba1c5ab52888c1096e895db70498b56c55545032104889e9b212492baaf36059dd6f5fd9febe2ecdb97aada578c78caf328b3113273b81120cd430e924c7213a2ea1f9894639285f71e5beb9a54eb445718870899f34cb6475431a0d2a136630ba25326e3601e68bbaa504147f9044677e3052415946c47dcc665bde65636902b41ae71f3eb266fe691d6cac7afaeb841b41f3a8ab482b4550275b2b44e55a488cdbe964d0599449630aac10ffaa36e9ef37c090a11e165a2dc67adb3428ae367a750d29b6a1383c51c2114679d67ed0182081a8820be05acbde54a28b30d8976a20c6ec773fd2cd7a929889c57ca00f822d03779b1313da281413af40f4eaec6dc99c0ff83e95f7e71e161d37def5e4778d52252b5d389c5a0337470de59c7e7afd920bed8c398814fe6643c00ed2c8782b800518d8e567200163bebd86b9bf4099c4b97eaf420db14c947e7f0ae2efbe53a21d434c6565eac9137794b377e97076dbc5ef4b585b25cd102017602cdb3c2dc05451238531bdb182ad99202b8515c40f4a6568103c97027ca34bf3018b73ebc2f91de45da9ca1b6c9dd29e716524ad4e15ea1606eeaef91c9e63b10347c980e14bd217a414396fc5672c2de17ab28903296d1dea479877bd8fcab486cb3ffda050f458a86248a7858f22aca5f0363e28ce0f1d24a39413053e5a2a71e1afbb21d6e97047cbec58684caeef2edd0398f2c627b1a038639e8e180a8c6ba2b574a2959e22fb355aaa04eb275e724ffff516abc96d667c57dc17bb5e881ede92d172ed6033c9650cd1e3b020c1a4d6ed1f5bd05a17e9c73ed5df1746508c37c89c8360dd40b5489ab15c1307723fd432850bc7308ee44c8d81df68e19fdd6740a242252b5d389c5a0337470de59c7e7afd920bed8c398814fe6643c00ed2c8782b83779b1313da281413af40f4eaec6dc99c0ff83e95f7e71e161d37def5e4778d51a243caa0f1f6ee042d7c8fe54bc3b00883634c398a0dc63d79e8c008afb80ee2be93c497f251cd04bfb9393c99ce1338d72505b126de7d6c35a35dbc03dce270c3923a1d1f22db10ca37fc6261c26dd872950ccfc5fabcd66c553e28494abb51c05d2aa218c6c55c9bdedcc2a05e7d9346c808247bad8b78a80b30280f2aebe1aa395830032a6166aa9b6df82eeb437022b66bca9661fe0e8b0b8fe92e7b83f3f28d181c7357b5e44bb36c8f3bfd83bdf92f5f04e99a1e6dd5ec5ddf7e7434e204114e02a493b65c4090808f46ef23fa2a614e6c4887519d9678318d46587dd13b95ce755dae54bbb5c3574c48dadcd549de4cc0288e6f06001b5826528a0ca06a5d904e2ab184d170097750a7f9d48b79c9d40a69de62f3f683f844106123a0debf4167b1bf2e7a7647ee14be52246f7e911b522cca59a49053960483532a621f1e2389633ade4c8845eafa4a73f5fdd435a3d5a2cdd7e56210d81473268a437da84cc3134738fe6e08ef8d2074d13047b026f9dd2e4496fee715b439c92e93452a867f8b03655694c8992fb2be4b6155e4a740e705f95059a29faf22278f206da77ae1607a9de62dfe4839635ec5e3c020beff36debb05c4f748ebfd552161f17aea67a845e27a54122a226b2f71ba38cf07fc423a762923b4234c08214e0011f64f4e8271a52786be8a240bb3dd139722db2804e65c36857fa31c1e0c9703f28d181c7357b5e44bb36c8f3bfd83bdf92f5f04e99a1e6dd5ec5ddf7e7434e1aa395830032a6166aa9b6df82eeb437022b66bca9661fe0e8b0b8fe92e7b83f32f10dc27e9e56bb611f78132779f43585ac6bc3d49bc88aaa266d4e35eb11d026629ddd681dff2c7618911111faf00fcf7f8c6521c1e9dd7cf11f9b6d3071f22ec2385d1fb36eab285ec8337b9ba1c5ab52888c1096e895db70498b56c55545032104889e9b212492baaf36059dd6f5fd9febe2ecdb97aada578c78caf328b3113273b81120cd430e924c7213a2ea1f9894639285f71e5beb9a54eb445718870899f34cb6475431a0d2a136630ba25326e3601e68bbaa504147f9044677e305365e90c5a0ccf49cccd965e660fbed4e0abdc2116c37e15fa87f5e340c4bd97b3583e347cab8fad0fe05f8f522e306d3ac3138e9c2d5d2de9f91842ffb5038761c05d2aa218c6c55c9bdedcc2a05e7d9346c808247bad8b78a80b30280f2aebe0c3923a1d1f22db10ca37fc6261c26dd872950ccfc5fabcd66c553e28494abb51aa395830032a6166aa9b6df82eeb437022b66bca9661fe0e8b0b8fe92e7b83f3f28d181c7357b5e44bb36c8f3bfd83bdf92f5f04e99a1e6dd5ec5ddf7e7434e00000000000000c8000000000000006b000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020c9000b305dfdf063fa9f550f415d178bc9018b5ea039f18a3caf95b8c769bf440000000000000001000000000000000000000000000000207f0fac7d1292ba810a60a6f3d3e36dc22adb1104b597663ace427ff45b2660ea000000000000000100000000000000010000000000000020de6a7276812a6dc3a7236ba1b45769dadd63e5a0b624f4ae0241466c6a65651b00000000000000010000000000000000000000000000002043128ca3aee29ea120d8208679f216d5ee850c4d9061ca659375769a7e07da8f0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000006b0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002077b873159ffccca418798196fefc04f897b7a1e7422247ac04b408d60a5ee4c400000000000000010000000000000000000000000000002061c137f326e68bced9ebef9ef7fad7c53a6d93a9c42c158a3b85faad1ddc4312000000000000000100000000000000010000000000000020449226a49f2ec8653f33d8cd469ba48e7b7757c12c6894cc57849a10f2e1ece300000000000000010000000000000000000000000000002078f2b1b945f766d21c585c26cbd4d56f79491ea6b015d4752df39baa4d0702430000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000006b0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002096f452b18b22b4e15f3b8b6b7ed4406f979b6a1f6bce6d05d9adec62649a3397000000000000000100000000000000000000000000000020e845d6724774d29d1a82c8d380eaffb453c2e222af9663691c83713a5853d187000000000000000100000000000000010000000000000020125ca0a767eacca825546f9d5677e5686fd3d024e85b96d9a5db885f550d55a4000000000000000100000000000000000000000000000020a1d1b50baf97848f46f2d642a796a3b0010da1b26f7fe06280ef72f21dbd00d5000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006b00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000000000000000000207cabc4a817011a09edba431c8a739b854ec947c02d7fca1812bd661694ec830900000000000000010000000000000000000000000000002004206e98c9962cf522a177b4e84e3e51db6bbbd4b366ee13bdebafdce116a90d000000000000000100000000000000010000000000000020583d7cc91d9c77b6da27103b331cc4939be663c5b4f1d1dea9c7737ab3d9f7cf00000000000000010000000000000000000000000000002012d62ab01b893c8249afbef30fbe7802131ec5410e8dbddee3d69c485ef017e9000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000006b000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020e4e30a3b77a6a1425d45fc5426404b5f406cfa0c1ddd2fca913f502794819cbe00000000000000010000000000000000000000000000002023d37e1901bebc1885d9da8d29d9c7424d01aaaa0ffcb2fe1ef2063900161a2b0000000000000001000000000000000100000000000000207df19a15df9150d35533556883c43f3d9a3f4d81fba5f9920c803fa2a5b3cdde000000000000000100000000000000000000000000000020ddcb96147512211a845f6ed1c1e9be9188080ed11199fc3eba89109017347b280000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000035000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020a8d57814c234659a2357c78e6eac3a4c6e04fbfd9bb98ea91324fdf5b0d2b7060000000000000001000000000000000100000000000000202780e549b19589c4a583b90c26bb350b890d45e4b9f3606dd8dd5a1244c07f920000000000000001000000000000000000000000000000204c8f6336d04db04eb953373a9df2adfed842005efcd3296c4ca476bc2fd431b3000000000000000100000000000000010000000000000020c08bd8b921546da38a4772c3d442ce20316325fe170370c321d0bb71dba0ead500000000000000010000000000000000000000000000002090bdcbbd07a028b728fbc941b6ddf645102d2d62bad4a3bf5d8dece26d6fd7eb0000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000350000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020decf1167ec49352f18fccda8601d3b4b5d60266a5268b86aad40028d0171426000000000000000010000000000000001000000000000002036a26dad8bb2029cdc7ce1ab980e04cd4dc520a383d03208f0b945ce629e4e23000000000000000100000000000000000000000000000020ff1b8d21156fb1bdc811f30da3c591245e0029c871eacaf79ab72b63c1f89bb70000000000000001000000000000000100000000000000209237f83028e1a064d6b01e3b0efc700cd9432624e089ba6d3583d2876fce6ae900000000000000010000000000000000000000000000002005348bd4319248e7888740fde5f40fba4d42debcc9ddaa8f1736262ed75f62ce000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000350000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000000000000000000204f8ec98c513a2101bc892746c64adcf07b693e94b7aedad46a1569c4c57ec2f7000000000000000100000000000000010000000000000020c4bf96e8a853653a32dd26eebc558c37bcb455122660cec909bb061d1d2051d00000000000000001000000000000000000000000000000205b07e9918ed51d32b27309759d54dad5c2906f1d67bb7283798a02893b64c28f000000000000000100000000000000010000000000000020ddb571b44057371ae0158b5451aa425dc249cfa9490f30432cbc6b8293e4d41f0000000000000001000000000000000000000000000000208c0d6516d92b17f85e9fdb133f3581422859645e9e4fee4d9537239a51565d06000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000003500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020e719b2ef38d00d359b4e051a87713acb72bc9fd674554c3c7dc7662d63a648940000000000000001000000000000000100000000000000203ef9976056cfd416d1831fc93e63991672736c646eec72f397ade447cbef422e000000000000000100000000000000000000000000000020f3e043812c62e06a41b2b18bd61a49d9579308783bb5629a5db9f3ef575f5be700000000000000010000000000000001000000000000002096702755fe8fe59a1576f4d72f2cd21a502b632878fd28e85dce486d12b603dc000000000000000100000000000000000000000000000020c7d64a1481d6a0cc0d0f6fe6d66393133350e6a1c8ca3a0eea8ff232f6157bb0000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000035000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020241e53a5a0b6634c1388a215079cd8c9e18c5099fc2c4fc6558503dcdbe9953f00000000000000010000000000000001000000000000002059decf5cdc5abc000c82e23aa28a0109ef433d0f21d6f99815c49c7548555e450000000000000001000000000000000000000000000000204f301487073274743f8364e3ac268df08108835ae856d05789cda107db93090d00000000000000010000000000000001000000000000002028645e0d58a9ad991a353a37330240f8e8c6f27a95cd3b86fd70b0eb1537b71200000000000000010000000000000000000000000000002005725bea0f7b5c20531943dc33972ca14647158c934546655952e1b5dce54060000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000029000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000202364529653cb34132c45dc10288ab5ad53f2367bc2dcb92f72974b3a29e1ffef000000000000000100000000000000010000000000000020910ccf874533563554c63ae005c6697bbd05184a9b755f65fb0532481c26aaf700000000000000010000000000000001000000000000002067bc8c70eff0a639685ce812c27653212c839814678951e9a4d82d4c270efde8000000000000000100000000000000000000000000000020acf9637062858d5ccee27368fd75ef6adff46c6a7f4e37ceda6d06b9a328d5ed000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000290000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000208011491095a12331a81f5805fc9ba5c757d2da18923f17af9b469086eaee10e700000000000000010000000000000001000000000000002019a9de690872f19f18a9bc57e740ce255fa752b6b20c228feb608428b5b751d7000000000000000100000000000000010000000000000020867b430dade3dfc4e6a7f6e3fbe4b46121819fbe0ffabdf40ce0e5bc50ebec2c000000000000000100000000000000000000000000000020281aeb39d73a03ce74aebcb7c8315a8c780e6ef4bcb754d2afa1e1f3b045dfdf000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000290000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002040c02ba1fe6ee99beb60ed4445498c6c212ff7f5cc8c6b6ad68c36e6a09c5e41000000000000000100000000000000010000000000000020d23b25170375a70da69c0c0687624c9f9ccfdf8a25a446670521fec5444cc7480000000000000001000000000000000100000000000000205723b3597a93daa0a645bcc179d93c7aaaff1f483f612e917b9e44382a507458000000000000000100000000000000000000000000000020a8814fe3c3d5b3204d754c158a239e5c782bf86cebc84c3145fd324d3ad3113a000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002900000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020c7e8a25d781c85dc775936331782d3b69331b930dd860f3dd9efcb4c71cc40230000000000000001000000000000000100000000000000205b078c300b95b65f5bcbba94fd0ef94a0148f3803ec38ad83826041f3f04fd0100000000000000010000000000000001000000000000002007f02c87b07af012fafa7401fd3b960a912b1b3261748f16b09be882023a5f48000000000000000100000000000000000000000000000020634cece15ba7005c5bc546597a7af1d983151a419974d78f91a6d4c7c2e675490000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000029000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000203430864413d2eb05741489793d4189b376deff00ec1530fd04d139ee7bbc97f100000000000000010000000000000001000000000000002089a45fe9f3bd74ed1c283363d171013b2b6f147f8de67c77d3e8c77fe4cb3d08000000000000000100000000000000010000000000000020128db9d3f69cf38255a3015e2ad0b37e736dde1e5125a31ed7646688f205a4080000000000000001000000000000000000000000000000208dec0dfe396ddf0fef112318ad998976ccf92f2cbd18b38654b7410cca68dfd20000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000065000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020056313ab21e02ff74f65799b02b2ad56f7d6e17d5535c0467b821876e0cc13a400000000000000010000000000000001000000000000002039b2cf57c082fec0f7d58e97f34de57172afa262a00672da5cc15d8aae062b74000000000000000100000000000000000000000000000020017b30adbe8120573411a31d0989033cc79187500a5be264d52ba353827365370000000000000001000000000000000100000000000000209c44d53e0e6c003926c2cfcaab752a01a02d5daeb27f8ee0e96b08c733495b5a0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000650000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002055fce8352496b10c026a3d7357a0dbcb1583ac7418197eb899de4292d5871cc5000000000000000100000000000000010000000000000020a599372b7f4685b233f7c9f61b45413f0f9b9c61dde589c7239d62080a60b77800000000000000010000000000000000000000000000002050b07b6ef2dbc0a57e1bbd17c7e24c6ebbd58ac3294bad89b13e227cacdf993200000000000000010000000000000001000000000000002010e2d2235045d5fa5449ab4c7f944014c8252fb169b3cbc6bcd969863a5c628e0000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000650000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020a88ab6620ee00510e73cbb116f3ccd0c3bbab678728007acc65d21a9bbfe379b00000000000000010000000000000001000000000000002093452e8d8a7a744f3eafaef9589b652c9e2f63bd189e1c0960cfa048aff5c532000000000000000100000000000000000000000000000020e34dbb64474cc7025218b3afd41c4c6ad5fd53d507ce58cb120cb9f2b810085100000000000000010000000000000001000000000000002003b7f87006d60d7178e5aa895e42ba03c1debbb68b5dce90758933379c74114b000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020c52c4c60d101ea50635c8a403fcab616457c753c5fa2dcbf443b6cd4f8673117000000000000000100000000000000010000000000000020ac8ffa42086ce2f3ed1141fcb54e32aba7cb6e4c78d30914f61788fa0f1dbb87000000000000000100000000000000000000000000000020e7db05fb21034d0ff7b26b9c050276750e18e1ef3be6ffa82b9a66f2463453ef00000000000000010000000000000001000000000000002045ba9677ca02739f329b4fed0da220de7b919336569ef3601e89b8012e1a1bb2000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000065000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020bf2d74c430be0e1cdc2708f09f230814f462e0f01b0379e0be1d495ea0ac3bd9000000000000000100000000000000010000000000000020352269498892e82c951b49135476ea80d70d545ade47e2deb639fb95db9dc735000000000000000100000000000000000000000000000020125489139c3b1bfc6b8bc07d1a518ac39c162fa097e210dad71c6a66e89be231000000000000000100000000000000010000000000000020e4a5c02a9eb8d00459ad5ec707ff889fe7cb9842ff9b1cebe26c850ceefa5e180000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000006c000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020ea539cbde125e0ecf935f4f6b2eaed7ae6c5e0280faa6642512b890a460b44a0000000000000000100000000000000010000000000000020569a3111757964688df29e1c645e3831b0788df76485322a50956d5dcdc9d96e0000000000000001000000000000000000000000000000201d6bfd811a381e91f761b1885eeda0f9a51478e7c468a7093aa217060edf0b3400000000000000010000000000000000000000000000002043128ca3aee29ea120d8208679f216d5ee850c4d9061ca659375769a7e07da8f0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000006c0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020f2a00f650bd1bc77c9f2584c1b8da3c540a0519f1870b1f67fa2a950fd6136c80000000000000001000000000000000100000000000000202d0c2eed00c0f117225f727b6962e52099c4ef30142e1222087951e38b9bdfe70000000000000001000000000000000000000000000000203d1bc51eb3a0ee5d023f152616ae1968e8d99e5546cc11b93ce6c5a52daa0eda00000000000000010000000000000000000000000000002078f2b1b945f766d21c585c26cbd4d56f79491ea6b015d4752df39baa4d0702430000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000006c0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000001000000000000002034d7814df11a5e781a1a835dfee978fc74d0678331aef26dea4036e9498f7f9f000000000000000100000000000000010000000000000020b8f9411d240016b6c94e00c54a7a8a1ef8d090a1479d79d31936dde49cfc6ee4000000000000000100000000000000000000000000000020d146cf111923d4dbaeaabef6ae3118521be1765f9347e0faee30bc2dabf84e72000000000000000100000000000000000000000000000020a1d1b50baf97848f46f2d642a796a3b0010da1b26f7fe06280ef72f21dbd00d5000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006c00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000001000000000000002078866e0709d8c5966322217f7a5500ef2dba3ae585a3c438ae71a393254eb0680000000000000001000000000000000100000000000000201f29339744714f41cd1967d21d51f4e2deae7ee082f63921090629f159b42e30000000000000000100000000000000000000000000000020ea0d34b7e11e34a06a373196837a01b36e12dc178ff71af1cab09e7a46c4985f00000000000000010000000000000000000000000000002012d62ab01b893c8249afbef30fbe7802131ec5410e8dbddee3d69c485ef017e9000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000006c000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000209ceca020cf14f5fe9f153905068d8ee821f3c17f0c1ee9e92043883e15643d5c000000000000000100000000000000010000000000000020e774ae2bdc2a5e35a5ff5c282939688ec23a30f6c58cc68e347f6c4679b1bee8000000000000000100000000000000000000000000000020ee72cf0b1bd55dcafa9bd2922147807a7420a7efc922ba2d9c08c993b69e326c000000000000000100000000000000000000000000000020ddcb96147512211a845f6ed1c1e9be9188080ed11199fc3eba89109017347b280000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000023000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020e4c457c35f65fd9daf43291d7f0e4c0484978d5eaffe037cde5cae069aaa56340000000000000001000000000000000000000000000000201f0b3015ae7710ced1719ef3cb8076689d585159bf164ecc234dfbda04578173000000000000000100000000000000010000000000000020c031a2f34e869288a8bc67bcc3086841c73f36ab2d338453889506f875d57350000000000000000100000000000000010000000000000020acbdd65b5c254807ba3ecf353116b298afbc921e72826c0e8f26b5c9c3261354000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000230000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020a3e0df95e2f7076683cd210dc3a0e6ff2daec527465b36e521a25361813a8987000000000000000100000000000000000000000000000020ff736670a4b4a9e0b39861d16c4e972ca78d9bf4c051d399bdd46005084b03fd0000000000000001000000000000000100000000000000201136cc529240e31980af4ae2d0aaba10d97a6e8a49079f9f21f5bd92b01300e1000000000000000100000000000000010000000000000020afa89b59e5a5236e32a73ae694b51d7d4bdb15539e920e21c9a63d44bc6116b3000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000230000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002010e92854def2331addcc43b7ab6e6bca627cc9312c38200ecf1ef0dac00508de0000000000000001000000000000000000000000000000206558788cb96c2d6c7943e45fae1e7afbbc2c72114207f779676dc5abbcf0a4000000000000000001000000000000000100000000000000201cddb7aaa4161483839c17f041ca2a5e6b5b1463a023a2af8b89c6602c5acb3500000000000000010000000000000001000000000000002032f9eb13a5183fbbfdc76446bbc197096269582f310b0681a46c7f4d6c4e28b0000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002300000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020623875d7fc85fa1bbc9a30f387a56964ea09cc2312363fd2a1420d167b5f134d00000000000000010000000000000000000000000000002045dcc23f46d8b836b1d21cc5cbf8a845f866b595af87caaddfcacd723e48e899000000000000000100000000000000010000000000000020d3b7a26a5ba4917ac47ddbc18f87b7e7b80994eab2ce86bdd555b2c1ba4b2dc10000000000000001000000000000000100000000000000200647f5c1277fe43e7aeba33fbcc66f8bd6e5fab0f2fac9ec870984850f3cff6d0000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000023000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000204e8af26238c63bf6468f7f62ae3da901c241b622f8041c32562e78d3e1ba960c000000000000000100000000000000000000000000000020c78f59d10ab03b902cb06560c71a3c42afa8a51fab1170bb0dbe87d187371dab0000000000000001000000000000000100000000000000206ad8a86dded6b9cab34d099c4538df6d876a821bcdf7b58ecfc08ceada7434580000000000000001000000000000000100000000000000200fd833d049118db9d7c66460e628930aecbea375ddbc44788cf634aaa0374e410000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000003e000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000100000000000000200e501d2a1d6512bd4cbbf80a8752fcbac9abb9f072ed812bc01c18ed8a7eae440000000000000001000000000000000000000000000000206ffbdc7fa8dc48fe2859a016ca878b984826cbdc0863649471a259cc9d9bed1c000000000000000100000000000000000000000000000020e98c247a2464fbd1f3a0a3eddd9e5ec474dffc572dc32040e4e8eb8ca521ee13000000000000000100000000000000000000000000000020e2677b46d990f652790047f3424000d917af14e90bc68e7c25b3f2470b23641d00000000000000010000000000000000000000000000002090bdcbbd07a028b728fbc941b6ddf645102d2d62bad4a3bf5d8dece26d6fd7eb0000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000003e0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020a01d7b74c306d0eedfadadb91e66ecaabab1dda2042e032052ecfb13e3aa7e90000000000000000100000000000000000000000000000020af2ec8e373a9bd2b73ec70253caf817612927c17ce45f803fa37ab562910f11f000000000000000100000000000000000000000000000020743be7233670a7b208d06a1d9700e0f9f8fa617b8112b86cbc9df7954582badb0000000000000001000000000000000000000000000000206a39ab6e3e0cd01623f0ab04ab853ad182e5d30e70684bff3761478639fdae4f00000000000000010000000000000000000000000000002005348bd4319248e7888740fde5f40fba4d42debcc9ddaa8f1736262ed75f62ce000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000003e0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020de2fc678e1c06bb24a83823ef94008647c8105fc14a20f0a6d52857f77ea8b720000000000000001000000000000000000000000000000204c0aeb9efda81bd7c9fa5213dd596b45c245aaf58f3e85ad23becfba1140890200000000000000010000000000000000000000000000002093edc6e07aa246d6f4b5946b3cd5acf838e1a0bd9e5715906d92eb44dd79595b000000000000000100000000000000000000000000000020e1221004077d2ff1278418042ae914ec2713af70f27dd9ae111944589c5858570000000000000001000000000000000000000000000000208c0d6516d92b17f85e9fdb133f3581422859645e9e4fee4d9537239a51565d06000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000003e00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020b3bf6ff179d9d4ba256544549685dc00a715c0f44130e323128413aff220dd570000000000000001000000000000000000000000000000205c166ffb51517d62e7319de8e07d19a903ba17012973eae11bdc5bda39404b0400000000000000010000000000000000000000000000002045bff50b4b5c8f57446f0bf85dde7ab371b45e98f9c50a2eca8b9c001fe089f600000000000000010000000000000000000000000000002099898f5de45a582199b698e2d4d750accfa47cf4cfa58b462ce2d4a27e5d4256000000000000000100000000000000000000000000000020c7d64a1481d6a0cc0d0f6fe6d66393133350e6a1c8ca3a0eea8ff232f6157bb0000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000003e000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000206d163507d1e4871d0ade62841c47031be46e4bd0ef8ee9adc1467fd6d490f742000000000000000100000000000000000000000000000020b04537cf8dbeb8298ec1e303f5db0790c4dfd59c1cb196f1ecb16431556d348c000000000000000100000000000000000000000000000020c60b6b46da75e151f03b8fd8ed054510ad806d92acba9483bbd720399d0c0b19000000000000000100000000000000000000000000000020ba48f08ae93b2d2367f81e08031b447f8f9a13e307dcd301215cd0af502df56900000000000000010000000000000000000000000000002005725bea0f7b5c20531943dc33972ca14647158c934546655952e1b5dce54060000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000075000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000203c4ec5d8558113de21c7c33382ac5aabf5a216b427052dc057c3f99ad132539e0000000000000001000000000000000100000000000000201a69d23964434905309d4920d23a6a8e09ef6ec2c3e1b33d613d1b3a82547ac0000000000000000100000000000000000000000000000020eba54c3c13b25980a0ef550feabccb87f5271c4ffa96f32799a672078f2d64f4000000000000000100000000000000010000000000000020910bc72ba05755b0e4d05614ae2134fc5c610952ef87725c43b79305ee4e7f3e000000000000000100000000000000000000000000000020c00c202b8b08cb68467cbb319f46c74d3233b6a94a9ef6bba1f563a7471a45c00000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000750000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002026d06cd8ac8618231d068b52668a2666bf0702ac54c5b79e28581e63ded73fc7000000000000000100000000000000010000000000000020c923acc9ccb55309e2058e74046738a9cd545d17b1a1b9dc6ec9074d0350948900000000000000010000000000000000000000000000002032d97113a4208c8d337f451e4be58bc47cc21b2519ac203b858c69b0d625ba8b00000000000000010000000000000001000000000000002070396d46454aaea1ab897b097f0b304014ad5f2527d9c138853c6218caaa5e12000000000000000100000000000000000000000000000020e3640b550b2962456840a9712ef907f928d7235cfdd5702daf06ffef27ff10260000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000750000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020210e7a605d71f252d8f6c1f07f96254aa7fd1fb0da2b48f63786336cd83424d5000000000000000100000000000000010000000000000020a54df2a462cd5a78839d493809e6d3c1fc8673a0bd3a935c94a069ebab6cc1e0000000000000000100000000000000000000000000000020cafaa409d8ae9fbd39866c22859ff16c7a302c5a69f99ab17f4eb57e85e78a75000000000000000100000000000000010000000000000020454cc7ca55bd38a07d199d43e2ab39489819d97ec79f5b17685c670fb4e7c0e30000000000000001000000000000000000000000000000209d19cfe613445f74a397d34f8b3577ae481661c789da1637d9626e44b32d24660000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000007500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020b3c9fcec23292075c8180e74e0cf092b2db187cba435e9ae0a1a99eb957a1029000000000000000100000000000000010000000000000020ee59e8f8aaf48f9dc3890949bb578cf2104709fb83fdd7235f041de639ed2bf9000000000000000100000000000000000000000000000020e988b9abb80619e44d82e51d43bdfb14627f23d972c839ed2e4ad7c19740200d0000000000000001000000000000000100000000000000204739f5ef60846842d5a4100bb8d979765d47c8506bcf499fcc84ec2d86d93ec5000000000000000100000000000000000000000000000020e837032646c99672f8fe519f0f309859e089edb27a7e21e690ec68a79ca134a3000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000075000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000205ffc8f5c6d158652793701755493ca2f61261f990817500db7134d96a7c5f90b000000000000000100000000000000010000000000000020f7901752b774522a20cf124f1e6603e975235a7489c3f29a1c9fa2bde4038595000000000000000100000000000000000000000000000020685ae9211fd12dce62c5527a6bc0502293db45c0f59e435d779d9613f32095080000000000000001000000000000000100000000000000207e7cb1abe88d632222ef15b427d195446f4f37201e85d585dbba6d8b16327d8d000000000000000100000000000000000000000000000020fc01af8dc5452a0878d6a3acf292c5b2f872b2a627fb1ae8aa292f7feca061e6000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000002a000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020ed3eb788bf401f4b0a43fcf63df1908a3898d219c793479beda352c12a1be2d800000000000000010000000000000000000000000000002091daa6f4b8e1342f2a7ad3084fc9265dfd4930aa3208d9ebf5f41800ed24070100000000000000010000000000000001000000000000002067bc8c70eff0a639685ce812c27653212c839814678951e9a4d82d4c270efde8000000000000000100000000000000000000000000000020acf9637062858d5ccee27368fd75ef6adff46c6a7f4e37ceda6d06b9a328d5ed000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000002a0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002004574eb10f224b8cf7a381bc6dcbb6c278cd6f2070fe9cd36ee83524a4705475000000000000000100000000000000000000000000000020dae1bf31d597494e6cb42c6168bd5e9a613004ad508e236d8c35a38c86c5dcdd000000000000000100000000000000010000000000000020867b430dade3dfc4e6a7f6e3fbe4b46121819fbe0ffabdf40ce0e5bc50ebec2c000000000000000100000000000000000000000000000020281aeb39d73a03ce74aebcb7c8315a8c780e6ef4bcb754d2afa1e1f3b045dfdf000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000002a0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020aa3894c4c9e55d54860877a76addb703946051c4c6a9267a517dc64085af30dd0000000000000001000000000000000000000000000000205276717ad424d82d3f5f08774d4e651dddf59ebec8dcec8e94b6d065ff9926310000000000000001000000000000000100000000000000205723b3597a93daa0a645bcc179d93c7aaaff1f483f612e917b9e44382a507458000000000000000100000000000000000000000000000020a8814fe3c3d5b3204d754c158a239e5c782bf86cebc84c3145fd324d3ad3113a000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002a00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020120c4971d3c4c378ef0bf903548764d33963a398efa1e93c30b3c867e28dace5000000000000000100000000000000000000000000000020b7781b92f2fd73adbf9c5762945a482fc8a75e6e7ff9b7547de5603d5459cbc000000000000000010000000000000001000000000000002007f02c87b07af012fafa7401fd3b960a912b1b3261748f16b09be882023a5f48000000000000000100000000000000000000000000000020634cece15ba7005c5bc546597a7af1d983151a419974d78f91a6d4c7c2e675490000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000002a000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000209538917b15eccb1a2acd8ba1e4a61ab1d6640e72a4319a67be295492a0bcd91d000000000000000100000000000000000000000000000020c4fad6a066de841653cc21f7207c75370523e383740a529bf6af8efbc3da5e8d000000000000000100000000000000010000000000000020128db9d3f69cf38255a3015e2ad0b37e736dde1e5125a31ed7646688f205a4080000000000000001000000000000000000000000000000208dec0dfe396ddf0fef112318ad998976ccf92f2cbd18b38654b7410cca68dfd20000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000009000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000206cde06321115b4405f8ea90968c8979dbdae5de3b7f21dc6772472fee1f24f7700000000000000010000000000000001000000000000002000df224ce13e8dad71ad05bdb665bad934ae655f3aa9fa2ae2d50a504b46b5d800000000000000010000000000000001000000000000002010f63b33b62d838133c999f88d8a02b7a2564da250fc631fd0729c1c09d5dbb00000000000000001000000000000000000000000000000201c99dec03dcd54df40a2eaa3f193c07f170dcf24b7cc6afe454b850d6fb34ed0000000000000000100000000000000010000000000000020e1477594b304cda388664944fcd85e0b922128c8576c59caedcdfbac5ac8f7af000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000090000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000202150557481fb7003536c396988fe7b20d3d230abf4ca6d79f4e494e7d0a4cff1000000000000000100000000000000010000000000000020fa1c084af7b3710aa8537c24b70b342e4347b876251f394133c9aeb663a8a0230000000000000001000000000000000100000000000000205fcb0f1f7fbd57bc171b7e39170a2a86395975f21202ddc75006abddcb4bada5000000000000000100000000000000000000000000000020eac9ebc434f692f44d22342cdd0ebc01296b0b96889df80b70692b45d8f2f4bf0000000000000001000000000000000100000000000000204f55ee0b2c76e45813d3303671a08614e3d0a71431a15244031f1e7b89001e2f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000090000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002088495811192acb2973ca49970b6c537069e39fb115e7adb5bb8de5db2e909de8000000000000000100000000000000010000000000000020fc63483092f766c6c36e992fe8bb8b75dd196211b93b79ecfa97a35f42b3faa00000000000000001000000000000000100000000000000201915627972fa40cccf4da8b6e04032312b499781c7340a896e4e35a025633aaf000000000000000100000000000000000000000000000020af6419dc6d95b5da71404ac0db69c78a6a9d2050a800e293e3315fafb59308aa00000000000000010000000000000001000000000000002065b53842f60456f8d31d5e121b9122b277f52f2aef8d35d0aa25cbc8e308f34b0000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000000900000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020c43f83d1793fbf8736469b796e57cba1990d02a57d28337289af8484896b2990000000000000000100000000000000010000000000000020a248de44a89376747ec35871c664fa41b79d721983aafba2800f384289dceaf60000000000000001000000000000000100000000000000209262d71b95ec9eb64ba8a382ee6759ade8843951c2cd0baf0674b609187409ea00000000000000010000000000000000000000000000002007278684710c2a5bf3fc2c6c980cc9f53d40e48b6d5f670027643cbac7e81428000000000000000100000000000000010000000000000020d88e32ca57779291f3f1884a09fede95396ed13167ccf7d16321670a7bebfca0000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000009000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020369a42f9e1362ca7ecd732a36e92cbe6006dcf0b2a633a661a7f6246368bff36000000000000000100000000000000010000000000000020597409bd8dd6e1bad5fdfa9b0fdfa8cd424376bf63117db68de0e7de2aa64548000000000000000100000000000000010000000000000020825ee3c02460fef58dbc51e2ca6682fbc056f46b4d1391e553beff472e4e2e8c0000000000000001000000000000000000000000000000205cb09de0a6a839d84c4ea10afa16be4ad8b1d971e73f5789199dcc09ecd4c3aa0000000000000001000000000000000100000000000000205da4cb72d2b6f0628aa86052f19a29cb6788d00b56a5b9c5bc649141547f60540000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000002f000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f000000000000000700000000000000010000000000000000000000000000002033eda9b97e05b20591ae3ae91d8af0bc3fb17ac3c8a2e2052f0177ecb7f7092a000000000000000100000000000000000000000000000020860bfa0d91d924524fef676be9d4d206302b46f679d997966ea52d11ef471998000000000000000100000000000000000000000000000020866f498ff8e903a4549b6b68d585b7c135ec2383d7a482a82c284ca08abf38d9000000000000000100000000000000000000000000000020acf9637062858d5ccee27368fd75ef6adff46c6a7f4e37ceda6d06b9a328d5ed000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000002f0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020ce033175304e1b7abb7216a233db4c14fd21c19bf22b4f67878e92e666089ffd000000000000000100000000000000000000000000000020b562213ba247625533b3881fa3e846ca150d5f3741a950f55e873328488842ea000000000000000100000000000000000000000000000020cf65a505decd5085d9d017365128fcc5c9d430bf2433d4dc41ad35642f4ac747000000000000000100000000000000000000000000000020281aeb39d73a03ce74aebcb7c8315a8c780e6ef4bcb754d2afa1e1f3b045dfdf000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000002f0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020e184317d51fbde150c08e0cb1efa3b548b47a170de28645aa76b01f7c06a4d410000000000000001000000000000000000000000000000201598c5fe5e13fe6eed4dd10e2c9cea2d0762be6ef280aa34fc942cd5fdb5983f000000000000000100000000000000000000000000000020f5ac3ee74e314f0bb876e71e6823bfaee56e041c24903591154a29f98aae0b52000000000000000100000000000000000000000000000020a8814fe3c3d5b3204d754c158a239e5c782bf86cebc84c3145fd324d3ad3113a000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002f00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020789c12dbd79ac046df8398a5597d9ffc70698e6e3a3604ee14acb08d3741a0ac000000000000000100000000000000000000000000000020fc964c8943abf17c3ef904c8f1c978c0811f3702b81f08c424653f90c6a53dc6000000000000000100000000000000000000000000000020a41e45a99e396ca87b483317e45219401918a8f342b206eaf0f84a5931413154000000000000000100000000000000000000000000000020634cece15ba7005c5bc546597a7af1d983151a419974d78f91a6d4c7c2e675490000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000002f000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020c15a14799e96ae58ccaac5563f00011f4a73a1d25f02b7db67518d1721250c60000000000000000100000000000000000000000000000020f7f006fbc820e8b8ec4f4b6e37094c05a621550f1a80679f48772209e541fcd6000000000000000100000000000000000000000000000020f8eae5306c72779de61259cad6656aae60d263a833e77314f248b32d07575c9b0000000000000001000000000000000000000000000000208dec0dfe396ddf0fef112318ad998976ccf92f2cbd18b38654b7410cca68dfd20000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000039000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000209c2df9af71ba95c7e6968ab4378e3e0d91c756c7b4bdc78d57eed014164d9c040000000000000001000000000000000100000000000000209ec1e2ae6161647c2799b2aa610ff2799846f4c1ad92a2f6830d6171753fab5400000000000000010000000000000001000000000000002002fa759a5feadf9addec2bd768a4edd7a19bc4690518b2c0b2b08ae6b5520ab8000000000000000100000000000000000000000000000020e2677b46d990f652790047f3424000d917af14e90bc68e7c25b3f2470b23641d00000000000000010000000000000000000000000000002090bdcbbd07a028b728fbc941b6ddf645102d2d62bad4a3bf5d8dece26d6fd7eb0000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000390000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002089881cb4d6e82e8354ce01bfa9fcd92cd67e08efea08a67ccdf94a825ea967ce0000000000000001000000000000000100000000000000206a35feaf157a687c818872058a13d8a7fbe2ad03de687b68b4d8dd6f89bb413e000000000000000100000000000000010000000000000020553281b59449e050dccb99cafbb03a06f701606e3af691f8390b9a1abe9fdd6c0000000000000001000000000000000000000000000000206a39ab6e3e0cd01623f0ab04ab853ad182e5d30e70684bff3761478639fdae4f00000000000000010000000000000000000000000000002005348bd4319248e7888740fde5f40fba4d42debcc9ddaa8f1736262ed75f62ce000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000390000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020a5f1550822350a7d48bf0df5885f72a321904612cd9dd1261a4903761757ad0b0000000000000001000000000000000100000000000000206f6f93c62d35cabbb990224e9ce882c7695762e1dce865cc7c994258dfb360c40000000000000001000000000000000100000000000000200a7aeab348d1244e7753ffd8167f71260e33efe64335038234c67d8e327ce204000000000000000100000000000000000000000000000020e1221004077d2ff1278418042ae914ec2713af70f27dd9ae111944589c5858570000000000000001000000000000000000000000000000208c0d6516d92b17f85e9fdb133f3581422859645e9e4fee4d9537239a51565d06000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000003900000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002009c6490a6b084cd22d46158b120b973865679e763c5cf89ff7f771c556e23b3a000000000000000100000000000000010000000000000020a3885bab7cc9e8c11319b6cb2779daaa22a611ef17ed98a29ddc266e2a185e5a000000000000000100000000000000010000000000000020bc6c1efce9e02e710ac2cf5efbdc9ff8918a7c8c2493d45d713ab9c8390d9aaa00000000000000010000000000000000000000000000002099898f5de45a582199b698e2d4d750accfa47cf4cfa58b462ce2d4a27e5d4256000000000000000100000000000000000000000000000020c7d64a1481d6a0cc0d0f6fe6d66393133350e6a1c8ca3a0eea8ff232f6157bb0000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000039000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020cc6314f9244dffc3c747e1c7cdd82e3c6f7b4b2691a95accffb3090b37bb395a000000000000000100000000000000010000000000000020e2b555b76dcb3616947f80ebe1c2d7fbfcd627cae6ca6685aceda97d82a0aca0000000000000000100000000000000010000000000000020ff48eef9d4188a823aa066e4b7449bf84ece3885e48828d8e9799c6a9197e2d0000000000000000100000000000000000000000000000020ba48f08ae93b2d2367f81e08031b447f8f9a13e307dcd301215cd0af502df56900000000000000010000000000000000000000000000002005725bea0f7b5c20531943dc33972ca14647158c934546655952e1b5dce54060000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000047000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000205314e0a58ef94d7a8ccf94e146acbb76813a00748dec5590460a70ee4d2d5ea6000000000000000100000000000000000000000000000020bc7f2b849a4800d3362db34f92b4f6aa20ddbebd3c5f048a8e4385a5954b758c00000000000000010000000000000000000000000000002012d4f93dde6999aa2ee8052c32ae77b61625b2cbf4cf39e7b8de85b85265ea8e00000000000000010000000000000001000000000000002030aba41bbddf80a52bc7abcfd1f0b6c0c70dd26bb8ea651a9b081f0c0c6e163a000000000000000100000000000000010000000000000020fb96add01cfebcfd0e7ef25249da564a72e1401f09d33bb2ec016bf10a73787f0000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000470000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000202ef6cb9a71198d21ab8efd13488eb0cb84c73f04e5b2eb67c5258ff4d8f92e1e000000000000000100000000000000000000000000000020956c7ee23bd3c15ca6ee3028f11b782e0a4fa671be2f2727c4912507ac11163d00000000000000010000000000000000000000000000002030a5c45d39e091078fd83f137c3c3fe13de6f6641ed17dfed238d163d04a730f00000000000000010000000000000001000000000000002041633f9bb9b93e4a305a571570c5dc8e551a86fae9ff475c5176796bf135941b00000000000000010000000000000001000000000000002087b7fa3ebb92e746135dc65b5c95536c7cb226a69119c7af40e71737238c0981000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000470000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020254fec521a942f5d6bb7b20a3c5087fd0fa50eac35e78bcf768d15e964c46c3b000000000000000100000000000000000000000000000020eaade1c7d353507dbe8c09cf58123bdd967ab275116e0f1267fdbc922e5e659300000000000000010000000000000000000000000000002089d982debbc661435e12dd27a8f9d3c0e1a707c0c46f01538206fa260ed2b8bc000000000000000100000000000000010000000000000020eed6a67249ead77fd513308f8afb1213eff062318df1a887f2b79caf28f873110000000000000001000000000000000100000000000000202d305ddf3ca85ed7aa47d24842fd3026db9e0cd83217a1827f4b2e62491624ad00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000004700000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000000000000000000206f8831a12da20c3feae035dd11caf7926637b19a9ae8865a6f50623ea0a4508d000000000000000100000000000000000000000000000020a1c7b30f5b55837c029d283e2f34deec73acd0139ee3afc981253139b6b7359700000000000000010000000000000000000000000000002088ac6ea5eea2749380ed0a560cb9e0b05c78aa7150f3123e483489e1b175dacf00000000000000010000000000000001000000000000002048ffa0a08dbe818ac595474bd56b213a88ab026b130c22888d3d819b826d367f000000000000000100000000000000010000000000000020d0825bfb7ae5032c7de17c17634dd8f71066c0cc7218da902e7f25288bce83c60000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000047000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000209cd3e42b70d51ca82c8ab609f98a5c856d12665bec4609bb06956a63c1ea9394000000000000000100000000000000000000000000000020931e4ff108cc0d1f38c9207992d0a393696c8545aba710293db684384e7464b10000000000000001000000000000000000000000000000208ea75c352296498f585e4d422fe2cdf2b73ca7d47ca0e01417e83757e5ce304d000000000000000100000000000000010000000000000020df8c406f1e13711086cf2335b6577f4a091af6fc97da3b46136089ef5a8b0e1f00000000000000010000000000000001000000000000002055dc25e0ac9e3a606fefc5bb06f01ea69af921b8a7bedc7a9090b53803d189760000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000007c000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020c3355ce1d55b302a6a59aef335cd48c6f8a7df1074aa3b7863ddeb55d55be470000000000000000100000000000000010000000000000020129782e1d4fd9767a9eda21585e945c5889764a140177b8716c56326a373be8b00000000000000010000000000000000000000000000002046374dfebe5ef0d0b38752dbc5bd01b216448965d333ac3eaabccc8e68b0d73f00000000000000010000000000000000000000000000002093e9c53572d0ee803448ed446bce63a54bb02b77ef8579433573183963a84164000000000000000100000000000000000000000000000020c00c202b8b08cb68467cbb319f46c74d3233b6a94a9ef6bba1f563a7471a45c00000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000007c0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000100000000000000205c38a3db4c98c576e8d8d724cb449f384378be5ad6e3d012359f698b7bb212bd000000000000000100000000000000010000000000000020f3f1d4673ee11ff653f2c66b24f69c57ca657846343663dea6315195fa930bb900000000000000010000000000000000000000000000002052971bccd6ca6e098eedd9439fc8a932af647016ec1b9aa41d6e38658a5b19900000000000000001000000000000000000000000000000205f88084a6dd9be1e196d16402dbd42cbc1150138b55c2aa3dc5a2752eb9198f7000000000000000100000000000000000000000000000020e3640b550b2962456840a9712ef907f928d7235cfdd5702daf06ffef27ff10260000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000007c0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020859f6f979569f9068d97ea92b8caf29dc99b95f182049a8aaee345c227a762de000000000000000100000000000000010000000000000020891856049bdd5714858da37df4c867a8a80e17bc95056a87bca95818a2e8f777000000000000000100000000000000000000000000000020d89e7f51e5c9becf9e5ba60a9b7c7d5398da07620b142fdfbbd1545f37d165400000000000000001000000000000000000000000000000200d6eff5321a830ef681b4c4259a5caa203f1d78510f7ab48afe3b4c9c5ee0a190000000000000001000000000000000000000000000000209d19cfe613445f74a397d34f8b3577ae481661c789da1637d9626e44b32d24660000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000007c00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000100000000000000208bd7f7d60fa0e49915014187cd0b5e685ee21f717962278cb88ad297a749c01a000000000000000100000000000000010000000000000020ccebf0688c75980806ca37372e482b39cd9a9b7a0a7e3a7a3b4511a6d40587ec000000000000000100000000000000000000000000000020d8e2f1dde6aef31130d389cf690087f82b929819f4601d334be02d9fc688523f0000000000000001000000000000000000000000000000206a1efe382ce2a2be0cd882871b32e649e3be11fc6f1d36cd86ba31a8e4bfc143000000000000000100000000000000000000000000000020e837032646c99672f8fe519f0f309859e089edb27a7e21e690ec68a79ca134a3000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000007c000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000200130e10da1ee0125bebdbde060e8539558b0b8502115d188c4fba8412825ffcb0000000000000001000000000000000100000000000000204c04f4b74151b5212fbe50a6938438c91460eaff9c5e282be164d8f31b483c380000000000000001000000000000000000000000000000208d74a790a46b4746ed6c28931d8962ad905c066b69ca1b35306bad193e09cca70000000000000001000000000000000000000000000000203b5ebf250820a7ed2296c86856480aa406e32af37f5d7d56a76741e9ebc2cda0000000000000000100000000000000000000000000000020fc01af8dc5452a0878d6a3acf292c5b2f872b2a627fb1ae8aa292f7feca061e6000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000052000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020a811aaddaf359c95a166339ccf2985daaa509db87c9bd5076c52f83c7aefa4f100000000000000010000000000000000000000000000002078ae951dac39bc55a9ba94ac6c8b018ab270633b1272b2d473fb5dc91950e7ab000000000000000100000000000000010000000000000020baac1f996f7d752966bcd5fa8c9fce2af6e22b6cb7892c878155e766b1357c69000000000000000100000000000000010000000000000020fd1d25f9e49d0d7c861bed3edacf6ce082dfab2bb23e73e39b2d3436646d7267000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000520000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002024ce7be3525242e22753c2508f62a4dbea9fb2c9fef9c0c6873f7124d1215b7d000000000000000100000000000000000000000000000020c259cc30fa2357595771e7637059d69d866ea391221506f9556d865dfc531288000000000000000100000000000000010000000000000020b40ac779b3fe1a3147638c12779a0f25cb11fae4b55562fd6da54196a56eb99a000000000000000100000000000000010000000000000020896a3a539e4e3a17e9b2a1ac5488080dc76bc1a8a8318bde04d1a4ac0e137a24000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000520000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020090c5a8807c670f035df1f10ef9ecde1cb6ebbc889e5e6b52ad513a4ee5d89c8000000000000000100000000000000000000000000000020f37f264cd1ffd3376ebfe92817db106d2e8f2b8393dbe8d5627b7c6594045fe50000000000000001000000000000000100000000000000209babc2c535a1c1d783129bb3b233726e22a9efc413b7f10ae0411ed4845e72e6000000000000000100000000000000010000000000000020d2b5fe9a290c8c7db716091daa081181396ba1482e52c73e790b14df40de9def000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005200000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020d36ef1bb8f175f184733c9abaebdede109e00e31d5762c88d619d30afe22710a000000000000000100000000000000000000000000000020643f012cac58d46b9aea608fef77d6fb0dabfa1686fc7e9b1bd3509c5e6627ec000000000000000100000000000000010000000000000020538584dcba2adbb2d01b405097f0a67b02d37e168cfe16ef727b2d61744ebccc000000000000000100000000000000010000000000000020e9ca00acf193dd60c56983bce3bd229fab3c4377af4de3319b352f58003d2de1000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000052000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020f417f507b477391cf6d7be6c6d42ca717fa64ac78c71a288b4cb978c6688a9f10000000000000001000000000000000000000000000000201ec8226acdcb8d45fa9fe13fbbc1c362a039a299c47c22531eeb09609cfa74d6000000000000000100000000000000010000000000000020e45ab6dd2d17246b2c5b27cd60aae7505f9eea9806f692bb86323ee2450bd0fb000000000000000100000000000000010000000000000020b6de04b15120ce82f13e14d5feaa79d947ead1a5a3d567f06c1e3f9f93c53b4a0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000063000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020c50cac15da0d5e77fc3359f885e296ead8d1b8f5019bdf954859f951da23fa17000000000000000100000000000000000000000000000020df8e305ada09121a9074b7f90bf852920932a56afa62062b0f09240569b0cdcb000000000000000100000000000000010000000000000020172fff4a6568c7b42f6538fc24ca8ad1ec2ecdde3a82dacbb7e46893145089680000000000000001000000000000000100000000000000209c44d53e0e6c003926c2cfcaab752a01a02d5daeb27f8ee0e96b08c733495b5a0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000630000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020053d0d4f0994153ecdd13931d36701e181140c26774424446ea328bae6ab5345000000000000000100000000000000000000000000000020f3d91a2dc9ac0c004d854fbc8ef6ab3764bb142e1873233a957f24db96a4ee6a0000000000000001000000000000000100000000000000207516a67652670a7986b857b4521170853cc3c411309abf7888bbbc7ec0065d1b00000000000000010000000000000001000000000000002010e2d2235045d5fa5449ab4c7f944014c8252fb169b3cbc6bcd969863a5c628e0000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000630000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000000000000000000204fa51dfe164552448d4c2adf0f2f8846013c983032be17b34843434e3585003800000000000000010000000000000000000000000000002012beda28b3da60d2a8ae4e64acfbaee4327f3e34c1625a9e12859256f433cd5b000000000000000100000000000000010000000000000020be547eb647f906f978ede0d885e532c851fba04906f93b7491eee3d9bbcbb06d00000000000000010000000000000001000000000000002003b7f87006d60d7178e5aa895e42ba03c1debbb68b5dce90758933379c74114b000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006300000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020fbfbe0f58c0ddeaed9cc9efcc419110c5f356f1bb17ab045e49ceb8b8eafb6860000000000000001000000000000000000000000000000201cbe2d838d8cd712054a13170ecd98cb72e9ac5cb14519992c26d4d18827c06000000000000000010000000000000001000000000000002093e7ded5667cb92dc016287a288661311ac210f0871f3575bfb6be25f3bfa42400000000000000010000000000000001000000000000002045ba9677ca02739f329b4fed0da220de7b919336569ef3601e89b8012e1a1bb2000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000063000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000000000000000000002009f0a01f12468b9db5b3a0c0410bde8a028fdd8188e528b4d9189dd3e055ac3f0000000000000001000000000000000000000000000000202601f4dadf3de944512a1da37f8bd17888794df2b62239be15f02e5707a3e38b0000000000000001000000000000000100000000000000206fa6d1b72308171a01bffc189cbe9410f0a76cc7e4274f5563e4b75e6cfde57a000000000000000100000000000000010000000000000020e4a5c02a9eb8d00459ad5ec707ff889fe7cb9842ff9b1cebe26c850ceefa5e180000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000058000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020781609f4242d5c8bb1eeaf290b4a29111fd09cbf05926e7e413c8b2b49f5aca000000000000000010000000000000001000000000000002097d33355eeccdb1892f15796ad4eef95803d3af68175c6a356b27777718c966300000000000000010000000000000001000000000000002078808487f863c691e7034d7a3f7005845123ea7ed820d51fab8ef8cca3f5de2e0000000000000001000000000000000000000000000000207c2b245f61e52e75dc4388455fd8c8160f2d5355f6b05b282cddda655f6901d1000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000580000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000100000000000000207fdd7d506c88ed483edf564d8bcd9966c01bd7d8246078cf4c2aab1002287b580000000000000001000000000000000100000000000000204a516ab2bf46c3e9ac1e323b4f9d7420d9ce7f4fb6f42af352d37bdc9bf43087000000000000000100000000000000010000000000000020ecd3513b6eb8ba4a6c0dd17f2c9fe9ab921304503576d15cb5db6e3e3607e3bb0000000000000001000000000000000000000000000000207bfc351ea4b4ecf93f5e4d3ea107bfe02c40edb706d73642edd2d1b00fc33115000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000580000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000208d9ede9f9c7594bda54aa5f9d731a39427d29073192e88781ad018a7050f3c2c0000000000000001000000000000000100000000000000205656a85ad12c026d41f49d279787b0b07a235c96cf4eaf7006f8eb7ee55ac3eb0000000000000001000000000000000100000000000000202f2d66d81c280ea6fc0b542ac7ca231e7d3db6c96c964c8bc0f8feb010b3977a0000000000000001000000000000000000000000000000207780a7f00c216d21bc68115c92fa611de1fe2d24f7fd44ab2a7f9819fd2be6ac000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005800000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020d86b1b791beb72170b8ababbc14d41f44328b6345c5026a5a7b034cc53b6c5d60000000000000001000000000000000100000000000000205f08e78ba48fe0bc643ec292d55dc774280e38889672f66e4cfa08d750c8e715000000000000000100000000000000010000000000000020874f3585334fc7621deddceb149bef26e55472ec812bd0cb437c8e6755a8586f000000000000000100000000000000000000000000000020ff386f23ec8a19be7dcbc8bdc4b7d7aa07d83bc5d86d7a7bcc8ce73227385a69000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000058000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020be3fb76ccfb313c5ca9e964e9217fe1940d5954b103fc879f1ad58dcb41bfaaf000000000000000100000000000000010000000000000020224439b6f384dc5e996e41f0f6f66d4a070a0fee2feed44b0e62c5c335eb1de5000000000000000100000000000000010000000000000020af82f92e5df1ce551f39500f4c3aa59594c071c465c6251c0b01d84162cc7ea4000000000000000100000000000000000000000000000020cdfa7fbffd9a828017b8bea6915ca66e4ef7df5402ad22f55cba8fe5fa11ec4e0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000006e000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000100000000000000201ad249106007b4290462f90dc177bf4ab10c6e60e55ca18c872e483bd576bf1a000000000000000100000000000000000000000000000020a980cf397d8a49a93ba280aea21a580ba4052617dd3e9fa0a76f62e7f5063e800000000000000001000000000000000000000000000000201d6bfd811a381e91f761b1885eeda0f9a51478e7c468a7093aa217060edf0b3400000000000000010000000000000000000000000000002043128ca3aee29ea120d8208679f216d5ee850c4d9061ca659375769a7e07da8f0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000006e0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020f0154dad0fcff317ce0e5999838545bd16f6ef6fd3dbacaf4d2c83f752a54db0000000000000000100000000000000000000000000000020e4a9766afff403325281c2286ea217464433760d7b9b5d380da94706a46be81e0000000000000001000000000000000000000000000000203d1bc51eb3a0ee5d023f152616ae1968e8d99e5546cc11b93ce6c5a52daa0eda00000000000000010000000000000000000000000000002078f2b1b945f766d21c585c26cbd4d56f79491ea6b015d4752df39baa4d0702430000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000006e0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000203a61ff4c6f23e2989af1e978325e2e0ea334875dcabce7d7e1781932927baadb000000000000000100000000000000000000000000000020fd1abb71565759e111302638ffa82b827c75eb8af503d15a15a560f4127303da000000000000000100000000000000000000000000000020d146cf111923d4dbaeaabef6ae3118521be1765f9347e0faee30bc2dabf84e72000000000000000100000000000000000000000000000020a1d1b50baf97848f46f2d642a796a3b0010da1b26f7fe06280ef72f21dbd00d5000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006e00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000001000000000000002043d8317e52a94af849d94923134250cc1bb23be5199c8f21b9c16080f0c135cd000000000000000100000000000000000000000000000020df94835998382e1f4f9e09f7e222e1fa7ac3d679cd07108034ad75b8b37a922b000000000000000100000000000000000000000000000020ea0d34b7e11e34a06a373196837a01b36e12dc178ff71af1cab09e7a46c4985f00000000000000010000000000000000000000000000002012d62ab01b893c8249afbef30fbe7802131ec5410e8dbddee3d69c485ef017e9000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000006e000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000207a8247fb078884627b6ac853a34d2a66773a185049fb3cb87c86fa3aeee7ee7d0000000000000001000000000000000000000000000000206cef03cee8254bda9a1b127fc66e170e08ec7bb8cae888b54e8dccf87b48ac0e000000000000000100000000000000000000000000000020ee72cf0b1bd55dcafa9bd2922147807a7420a7efc922ba2d9c08c993b69e326c000000000000000100000000000000000000000000000020ddcb96147512211a845f6ed1c1e9be9188080ed11199fc3eba89109017347b280000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000024000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f000000000000000700000000000000010000000000000001000000000000002020302374ac24667031c7d60a174cec4de18a5e53d005935e32c4e46a92ee9796000000000000000100000000000000010000000000000020a2db7f2f1d529f40c2f855603551afba77fa232089d07d5b66297b88a692377200000000000000010000000000000000000000000000002051d1a840c4bf016d6e20369a007ddc569ea146739ff71237f58f95a4bbffd8c2000000000000000100000000000000010000000000000020acbdd65b5c254807ba3ecf353116b298afbc921e72826c0e8f26b5c9c3261354000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000240000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020032213bb701d25785300de6e2484048851a52de066e6d19a2fce0194e4d4f509000000000000000100000000000000010000000000000020fc72f7ca97f724c8f9788560a569161aa4bb42d3c316021b1cc224fc885ebb00000000000000000100000000000000000000000000000020ec4d667f48de5bd98912360f2e56ea1edec9c059d2354892a6acce1b5a558183000000000000000100000000000000010000000000000020afa89b59e5a5236e32a73ae694b51d7d4bdb15539e920e21c9a63d44bc6116b3000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000240000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000206f5598d28b34cc88be5e7bb32ff761f2ac4f10fac00c10176873e60d4013ffea0000000000000001000000000000000100000000000000200099a17411c28db7615c238353d0a91889187b38acc1b839d5fe138ae93328d70000000000000001000000000000000000000000000000207932e921a98cedb43c51d4bfd85fd3dc9b4a7b158b737c80401d4c84ecf1040100000000000000010000000000000001000000000000002032f9eb13a5183fbbfdc76446bbc197096269582f310b0681a46c7f4d6c4e28b0000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002400000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020cdb0bfbd01fb2ba6def144cac4eeaef1c519fb88d1a98508d168bb1e28493b06000000000000000100000000000000010000000000000020e01573eb80ad9c2f19c7b81ddfd9b6d3923e221f2c3a6a8949f5c385543dc32700000000000000010000000000000000000000000000002028217401bec2708c56770ee3808f8119608f27e35c7544f6e2d928a12278bcd00000000000000001000000000000000100000000000000200647f5c1277fe43e7aeba33fbcc66f8bd6e5fab0f2fac9ec870984850f3cff6d0000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000024000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020ca400049bc48d18a2c0d05d278ddc0d23e961a1cc40c67d5f1d4c6cfae2496d700000000000000010000000000000001000000000000002073739a6af7deacce2b6442148a5641927aa9419b7d91ad447aef4dcd49512dad000000000000000100000000000000000000000000000020765bf16c15f21f473e13797fc495c85685337871b1292c50056f684998c7fe240000000000000001000000000000000100000000000000200fd833d049118db9d7c66460e628930aecbea375ddbc44788cf634aaa0374e410000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000052000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020a811aaddaf359c95a166339ccf2985daaa509db87c9bd5076c52f83c7aefa4f100000000000000010000000000000000000000000000002078ae951dac39bc55a9ba94ac6c8b018ab270633b1272b2d473fb5dc91950e7ab000000000000000100000000000000010000000000000020baac1f996f7d752966bcd5fa8c9fce2af6e22b6cb7892c878155e766b1357c69000000000000000100000000000000010000000000000020fd1d25f9e49d0d7c861bed3edacf6ce082dfab2bb23e73e39b2d3436646d7267000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000520000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002024ce7be3525242e22753c2508f62a4dbea9fb2c9fef9c0c6873f7124d1215b7d000000000000000100000000000000000000000000000020c259cc30fa2357595771e7637059d69d866ea391221506f9556d865dfc531288000000000000000100000000000000010000000000000020b40ac779b3fe1a3147638c12779a0f25cb11fae4b55562fd6da54196a56eb99a000000000000000100000000000000010000000000000020896a3a539e4e3a17e9b2a1ac5488080dc76bc1a8a8318bde04d1a4ac0e137a24000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000520000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020090c5a8807c670f035df1f10ef9ecde1cb6ebbc889e5e6b52ad513a4ee5d89c8000000000000000100000000000000000000000000000020f37f264cd1ffd3376ebfe92817db106d2e8f2b8393dbe8d5627b7c6594045fe50000000000000001000000000000000100000000000000209babc2c535a1c1d783129bb3b233726e22a9efc413b7f10ae0411ed4845e72e6000000000000000100000000000000010000000000000020d2b5fe9a290c8c7db716091daa081181396ba1482e52c73e790b14df40de9def000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005200000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020d36ef1bb8f175f184733c9abaebdede109e00e31d5762c88d619d30afe22710a000000000000000100000000000000000000000000000020643f012cac58d46b9aea608fef77d6fb0dabfa1686fc7e9b1bd3509c5e6627ec000000000000000100000000000000010000000000000020538584dcba2adbb2d01b405097f0a67b02d37e168cfe16ef727b2d61744ebccc000000000000000100000000000000010000000000000020e9ca00acf193dd60c56983bce3bd229fab3c4377af4de3319b352f58003d2de1000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000052000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020f417f507b477391cf6d7be6c6d42ca717fa64ac78c71a288b4cb978c6688a9f10000000000000001000000000000000000000000000000201ec8226acdcb8d45fa9fe13fbbc1c362a039a299c47c22531eeb09609cfa74d6000000000000000100000000000000010000000000000020e45ab6dd2d17246b2c5b27cd60aae7505f9eea9806f692bb86323ee2450bd0fb000000000000000100000000000000010000000000000020b6de04b15120ce82f13e14d5feaa79d947ead1a5a3d567f06c1e3f9f93c53b4a0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000015000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020f628f4162c4ab13c15e67f21548f384884ad47a6885094115b555cf566a91ef6000000000000000100000000000000010000000000000020d649083800acfb2bf3a7d3032f08fdce4cb9475b95f2c5ea3196c3665e6a13df0000000000000001000000000000000000000000000000204d87c950e42571ddc4111b87fc04c8e7d87199e57fa45ffafed78573d18af69b0000000000000001000000000000000100000000000000209a418cd2009d3c658c7f2fda6fe709d6c27dd479cc82d615d1106c7a8212b1890000000000000001000000000000000000000000000000207849e8898a770c89764f4cb8b71ff1bef84075b62770b0c16b661e70cc4a11ce000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000150000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002097c532c62d2f96149877e12a3a321056c175f519960186f22067ff25c23ea69b00000000000000010000000000000001000000000000002055f639d0cc8a851a97792005da91f2bcc96b68a53484c311bacef9d70b5257570000000000000001000000000000000000000000000000208f675d6107f141d7b70d3425683740ffad39ce6f2935a05e30a288ef99e7e6fe00000000000000010000000000000001000000000000002036d576b2ce54680ae398b6e51b49b9ddea72bdd5b02fdfff8ff6cb7545101ee1000000000000000100000000000000000000000000000020c2eb2a252c792bc8d88a40699dcd8d16340acdedfc61c8f4fdf09de00ce6c27f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000150000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020bd067b21dc38d2bfa7088f3c3e1f09f777d75f2b29f03f88051454faccf870b90000000000000001000000000000000100000000000000203192f115390141c3cf9a9d31e39bedf0bf816d21e654e3bd6c0b63cca2925b35000000000000000100000000000000000000000000000020791bf2fbb9f57e098c9b38f07a92db7e51783f8b04825acda81747690a40b4b4000000000000000100000000000000010000000000000020354a59e0edf0f6d61cfe51db05dc38af13a9494e49571603502b62a1b3e37acb00000000000000010000000000000000000000000000002022a3dfdaf2ccd0677cb41506afb5d1f4c9044ec0bfea337e90f74e5a9fe47f270000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000001500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000000000000000000205267e62a3876646246199e843446a82069e36419150ef428c7e1fe69b21b38160000000000000001000000000000000100000000000000207bf3c590f9fd41ccbaefba79cec7a82115a7db33a43e7826cb924cad0abb3af5000000000000000100000000000000000000000000000020eda07852984308ee5ba6a5d7f82dfc63a88fa5223ec856f85f438bb3cf511669000000000000000100000000000000010000000000000020e582b0157c013c8f2cd072c5db84cdf73cd3c593e2e186e72818cb4d253e9c8c000000000000000100000000000000000000000000000020d76e12b34552d3e0f5f4ba4dda1b055b7a6814729d02472083548fcdc3a1cea7000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000015000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020d1732201883c7e9f3f73c9aff4081e5c2ef740af252cca65a280608833b1d2430000000000000001000000000000000100000000000000209653964d4cb2a2c8f9099b09f2a51678a16e6db0316461ea505d49c14176b7b9000000000000000100000000000000000000000000000020a2388dfead483052a985483e435da0c522963cf1d657b44e73ccc047c9c261ed000000000000000100000000000000010000000000000020881699487144623fc95fa5cc1c0c096f4fecc50e2ff818d4e72e6fbaacb629f700000000000000010000000000000000000000000000002062d2a454027eb686202aa9256a367d3b0232c8c0502dbf7186c3e2dea86b40fb0000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000050000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020d9ad5f4e45f6b21e8d81fa4de86321a317e72328cd95353b09a244e7c1343116000000000000000100000000000000010000000000000020dc34afbe218ed6d885998678d037a628724178849acbfd4fc77bb2217d50d749000000000000000100000000000000010000000000000020baac1f996f7d752966bcd5fa8c9fce2af6e22b6cb7892c878155e766b1357c69000000000000000100000000000000010000000000000020fd1d25f9e49d0d7c861bed3edacf6ce082dfab2bb23e73e39b2d3436646d7267000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000500000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000100000000000000205c63d70aac97271b7731b9c08b8be01219420dd293db621dfaee772b11aaea3600000000000000010000000000000001000000000000002032a9db0ec95c4f64f70c82d5098dbc4e24b0a7fbad91fb46377838a06fc8975c000000000000000100000000000000010000000000000020b40ac779b3fe1a3147638c12779a0f25cb11fae4b55562fd6da54196a56eb99a000000000000000100000000000000010000000000000020896a3a539e4e3a17e9b2a1ac5488080dc76bc1a8a8318bde04d1a4ac0e137a24000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000500000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000207a5b3863192e42eefeb95b38b4dd7ff6038e49a976767a5dc93fd6dc190f868500000000000000010000000000000001000000000000002094543cfe851b31c76ad03d605f3234dccdc2a0b0ebc806a71d293a1d70baed930000000000000001000000000000000100000000000000209babc2c535a1c1d783129bb3b233726e22a9efc413b7f10ae0411ed4845e72e6000000000000000100000000000000010000000000000020d2b5fe9a290c8c7db716091daa081181396ba1482e52c73e790b14df40de9def000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005000000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000100000000000000208670bfcd9924241617253b987033cc71eaa109396619687f51976c7249da3071000000000000000100000000000000010000000000000020ef34041231145ccdaa85711e1bf815a98d184f184f3d73bdadad87302780d249000000000000000100000000000000010000000000000020538584dcba2adbb2d01b405097f0a67b02d37e168cfe16ef727b2d61744ebccc000000000000000100000000000000010000000000000020e9ca00acf193dd60c56983bce3bd229fab3c4377af4de3319b352f58003d2de1000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000050000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000001000000000000002093a4304263ea2bb0c1175db04571ed74d0a6c2ee91ba623b538757de40b3e26d000000000000000100000000000000010000000000000020ce9783665f4e7b9b841133680822f80a58ccaffb857a0054279f67e19b7caabb000000000000000100000000000000010000000000000020e45ab6dd2d17246b2c5b27cd60aae7505f9eea9806f692bb86323ee2450bd0fb000000000000000100000000000000010000000000000020b6de04b15120ce82f13e14d5feaa79d947ead1a5a3d567f06c1e3f9f93c53b4a0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000047000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000205314e0a58ef94d7a8ccf94e146acbb76813a00748dec5590460a70ee4d2d5ea6000000000000000100000000000000000000000000000020bc7f2b849a4800d3362db34f92b4f6aa20ddbebd3c5f048a8e4385a5954b758c00000000000000010000000000000000000000000000002012d4f93dde6999aa2ee8052c32ae77b61625b2cbf4cf39e7b8de85b85265ea8e00000000000000010000000000000001000000000000002030aba41bbddf80a52bc7abcfd1f0b6c0c70dd26bb8ea651a9b081f0c0c6e163a000000000000000100000000000000010000000000000020fb96add01cfebcfd0e7ef25249da564a72e1401f09d33bb2ec016bf10a73787f0000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000470000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000202ef6cb9a71198d21ab8efd13488eb0cb84c73f04e5b2eb67c5258ff4d8f92e1e000000000000000100000000000000000000000000000020956c7ee23bd3c15ca6ee3028f11b782e0a4fa671be2f2727c4912507ac11163d00000000000000010000000000000000000000000000002030a5c45d39e091078fd83f137c3c3fe13de6f6641ed17dfed238d163d04a730f00000000000000010000000000000001000000000000002041633f9bb9b93e4a305a571570c5dc8e551a86fae9ff475c5176796bf135941b00000000000000010000000000000001000000000000002087b7fa3ebb92e746135dc65b5c95536c7cb226a69119c7af40e71737238c0981000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000470000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020254fec521a942f5d6bb7b20a3c5087fd0fa50eac35e78bcf768d15e964c46c3b000000000000000100000000000000000000000000000020eaade1c7d353507dbe8c09cf58123bdd967ab275116e0f1267fdbc922e5e659300000000000000010000000000000000000000000000002089d982debbc661435e12dd27a8f9d3c0e1a707c0c46f01538206fa260ed2b8bc000000000000000100000000000000010000000000000020eed6a67249ead77fd513308f8afb1213eff062318df1a887f2b79caf28f873110000000000000001000000000000000100000000000000202d305ddf3ca85ed7aa47d24842fd3026db9e0cd83217a1827f4b2e62491624ad00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000004700000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000000000000000000206f8831a12da20c3feae035dd11caf7926637b19a9ae8865a6f50623ea0a4508d000000000000000100000000000000000000000000000020a1c7b30f5b55837c029d283e2f34deec73acd0139ee3afc981253139b6b7359700000000000000010000000000000000000000000000002088ac6ea5eea2749380ed0a560cb9e0b05c78aa7150f3123e483489e1b175dacf00000000000000010000000000000001000000000000002048ffa0a08dbe818ac595474bd56b213a88ab026b130c22888d3d819b826d367f000000000000000100000000000000010000000000000020d0825bfb7ae5032c7de17c17634dd8f71066c0cc7218da902e7f25288bce83c60000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000047000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000209cd3e42b70d51ca82c8ab609f98a5c856d12665bec4609bb06956a63c1ea9394000000000000000100000000000000000000000000000020931e4ff108cc0d1f38c9207992d0a393696c8545aba710293db684384e7464b10000000000000001000000000000000000000000000000208ea75c352296498f585e4d422fe2cdf2b73ca7d47ca0e01417e83757e5ce304d000000000000000100000000000000010000000000000020df8c406f1e13711086cf2335b6577f4a091af6fc97da3b46136089ef5a8b0e1f00000000000000010000000000000001000000000000002055dc25e0ac9e3a606fefc5bb06f01ea69af921b8a7bedc7a9090b53803d189760000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000008000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000100000000000000204568b231fbc4ffc0f917925c7b3918bc1e3701d3149bae9c38f62927f19f090500000000000000010000000000000001000000000000002000df224ce13e8dad71ad05bdb665bad934ae655f3aa9fa2ae2d50a504b46b5d800000000000000010000000000000001000000000000002010f63b33b62d838133c999f88d8a02b7a2564da250fc631fd0729c1c09d5dbb00000000000000001000000000000000000000000000000201c99dec03dcd54df40a2eaa3f193c07f170dcf24b7cc6afe454b850d6fb34ed0000000000000000100000000000000010000000000000020e1477594b304cda388664944fcd85e0b922128c8576c59caedcdfbac5ac8f7af000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000080000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002005a3299f50f791cee12cedce8e69f611093aea409b8362afeac09e32c8cca4aa000000000000000100000000000000010000000000000020fa1c084af7b3710aa8537c24b70b342e4347b876251f394133c9aeb663a8a0230000000000000001000000000000000100000000000000205fcb0f1f7fbd57bc171b7e39170a2a86395975f21202ddc75006abddcb4bada5000000000000000100000000000000000000000000000020eac9ebc434f692f44d22342cdd0ebc01296b0b96889df80b70692b45d8f2f4bf0000000000000001000000000000000100000000000000204f55ee0b2c76e45813d3303671a08614e3d0a71431a15244031f1e7b89001e2f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000080000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000205c54f56dd1f4a28c5b012dd9dfb3337c6a2121122b894d8919047d90e4a3ad7b000000000000000100000000000000010000000000000020fc63483092f766c6c36e992fe8bb8b75dd196211b93b79ecfa97a35f42b3faa00000000000000001000000000000000100000000000000201915627972fa40cccf4da8b6e04032312b499781c7340a896e4e35a025633aaf000000000000000100000000000000000000000000000020af6419dc6d95b5da71404ac0db69c78a6a9d2050a800e293e3315fafb59308aa00000000000000010000000000000001000000000000002065b53842f60456f8d31d5e121b9122b277f52f2aef8d35d0aa25cbc8e308f34b0000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000000800000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020147ab9e55ba5a8f2f53b81f325262de527c968826d5ef31e87da99bf9ab45807000000000000000100000000000000010000000000000020a248de44a89376747ec35871c664fa41b79d721983aafba2800f384289dceaf60000000000000001000000000000000100000000000000209262d71b95ec9eb64ba8a382ee6759ade8843951c2cd0baf0674b609187409ea00000000000000010000000000000000000000000000002007278684710c2a5bf3fc2c6c980cc9f53d40e48b6d5f670027643cbac7e81428000000000000000100000000000000010000000000000020d88e32ca57779291f3f1884a09fede95396ed13167ccf7d16321670a7bebfca0000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000008000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000001000000000000002029fb07f728b12eeb9a2eac952fc7491053e6353649e012c7611140d59343b4fa000000000000000100000000000000010000000000000020597409bd8dd6e1bad5fdfa9b0fdfa8cd424376bf63117db68de0e7de2aa64548000000000000000100000000000000010000000000000020825ee3c02460fef58dbc51e2ca6682fbc056f46b4d1391e553beff472e4e2e8c0000000000000001000000000000000000000000000000205cb09de0a6a839d84c4ea10afa16be4ad8b1d971e73f5789199dcc09ecd4c3aa0000000000000001000000000000000100000000000000205da4cb72d2b6f0628aa86052f19a29cb6788d00b56a5b9c5bc649141547f60540000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000030000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020039e7d0ac8c3bf3916fc5f72b9c7f5acf2fd157247cc5cf025e4080a09b919970000000000000001000000000000000100000000000000203b558d40c60658fdf81f4a1181e2af83575ff1ea3ea8ca9a89e9beb061b72baa000000000000000100000000000000010000000000000020ea392aeb3c4e56f888d82a5204f0446e81d2a667e20cd71f6eb4cecbddf6fa3d000000000000000100000000000000010000000000000020c08bd8b921546da38a4772c3d442ce20316325fe170370c321d0bb71dba0ead500000000000000010000000000000000000000000000002090bdcbbd07a028b728fbc941b6ddf645102d2d62bad4a3bf5d8dece26d6fd7eb0000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000300000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002030699162bc9c66fe786c6a967e516408ba0555d6a8c3a4fc851af4fd374ec4360000000000000001000000000000000100000000000000207e02bf8ae6c400c5e470d965326269305eba4d2a85dd435fa203e112b891df6f00000000000000010000000000000001000000000000002084aa92ff9a355ae8a75f33407885d65faaaa539af0a7a2d8382e67054ab1fa360000000000000001000000000000000100000000000000209237f83028e1a064d6b01e3b0efc700cd9432624e089ba6d3583d2876fce6ae900000000000000010000000000000000000000000000002005348bd4319248e7888740fde5f40fba4d42debcc9ddaa8f1736262ed75f62ce000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000300000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000204d85200023551e41594563daeac73a6405796239e90c3a1814a3277340c09f6b000000000000000100000000000000010000000000000020cefbacd22230b9203f78624521ec38b1db59a09d32cb742237958e750185492a0000000000000001000000000000000100000000000000203d73c2a9faf3331af4e090558afe5811d3e14ff127d73c2b751f8f117d5c0d69000000000000000100000000000000010000000000000020ddb571b44057371ae0158b5451aa425dc249cfa9490f30432cbc6b8293e4d41f0000000000000001000000000000000000000000000000208c0d6516d92b17f85e9fdb133f3581422859645e9e4fee4d9537239a51565d06000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000003000000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020cf36178aa6141f26adbced13eac0e37a365da3bcf56ff5c7ac5a0f87366b0b870000000000000001000000000000000100000000000000207469d8614dd659e0104fbf68e4c2c3c341979ff712fba90add53520170fb7c740000000000000001000000000000000100000000000000203acdd1507deb2bb555816857a54596621e6844c1be767de7ec69cbf45dd1ff3400000000000000010000000000000001000000000000002096702755fe8fe59a1576f4d72f2cd21a502b632878fd28e85dce486d12b603dc000000000000000100000000000000000000000000000020c7d64a1481d6a0cc0d0f6fe6d66393133350e6a1c8ca3a0eea8ff232f6157bb0000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000030000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000200e74c9a240245a4d9df1addd1b7c14e19b7640732c864f43dfc954891c5f7aa60000000000000001000000000000000100000000000000207b11a15823329fd0c91ef973b164c66335de8d0d9c1780bad6c6c45d612574d30000000000000001000000000000000100000000000000209ef910174b060e0ec67fbd5ffff187a2be5a8c92f533c8ccf19a587f1a8c7d6000000000000000010000000000000001000000000000002028645e0d58a9ad991a353a37330240f8e8c6f27a95cd3b86fd70b0eb1537b71200000000000000010000000000000000000000000000002005725bea0f7b5c20531943dc33972ca14647158c934546655952e1b5dce54060000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000000c000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020abfe493b5d8f32e003fde97aa44ea564260672c98193c58b7cc6a70167f13ef20000000000000001000000000000000100000000000000205d528e365437c7dbccfbdb93d3bde847a96dabe89a408ddda6c8093dc9d7eb7f000000000000000100000000000000000000000000000020caf3dbdbe5478f897e9783068256e2c99cef3906fb38360a2e86f8740030fb3c0000000000000001000000000000000000000000000000201c99dec03dcd54df40a2eaa3f193c07f170dcf24b7cc6afe454b850d6fb34ed0000000000000000100000000000000010000000000000020e1477594b304cda388664944fcd85e0b922128c8576c59caedcdfbac5ac8f7af000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000000c0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020cb48bebc8a2d961c7b054e52dfef9d32e7291afcb54b4adfce54a069df5529f30000000000000001000000000000000100000000000000205811e00c8bf11f92906eda4eda32e052f2d8d1ec5a1fb2e53c94a1cdbf941f510000000000000001000000000000000000000000000000200222150799671f9badc6cb99dac32e3b9e196bf146a932e934d81fe432838a0b000000000000000100000000000000000000000000000020eac9ebc434f692f44d22342cdd0ebc01296b0b96889df80b70692b45d8f2f4bf0000000000000001000000000000000100000000000000204f55ee0b2c76e45813d3303671a08614e3d0a71431a15244031f1e7b89001e2f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000000c0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000100000000000000204ebf777525ec1813ed6830b1e8a0222eacf5fb48c2bc6fd1d62b8f709f49e379000000000000000100000000000000010000000000000020b265e1cad708913768e7116e712352c9eb76d4550767e8cc3f7c877bc4ef40a50000000000000001000000000000000000000000000000209ed85585b02e5bf60fcc1c73f6f6cd212c10399e0fdc4daeb7b726bddb82e938000000000000000100000000000000000000000000000020af6419dc6d95b5da71404ac0db69c78a6a9d2050a800e293e3315fafb59308aa00000000000000010000000000000001000000000000002065b53842f60456f8d31d5e121b9122b277f52f2aef8d35d0aa25cbc8e308f34b0000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000000c00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000100000000000000201a5a17af7e7532b397394187384a2addb50509552f0e3de26ee7a34ca3a4116200000000000000010000000000000001000000000000002077d39eeac7399e2fc5b5b34bd3f59b180ecab22cfa10cc1f229d95a7b57ffe780000000000000001000000000000000000000000000000206031a5017f9a67a8f4a836eebf174d2804514bedfa116790bb1ea596588c7e0700000000000000010000000000000000000000000000002007278684710c2a5bf3fc2c6c980cc9f53d40e48b6d5f670027643cbac7e81428000000000000000100000000000000010000000000000020d88e32ca57779291f3f1884a09fede95396ed13167ccf7d16321670a7bebfca0000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000000c000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020fd00a620a26b45fb4b50ab48f5a6ba1268fe63238d39e48f6bd03decd02ee013000000000000000100000000000000010000000000000020ce5054ec55680f3fc0edca6aad81ba1100c343b1a8c64cbd98dbfd2dff9499d900000000000000010000000000000000000000000000002014451efe08d6f0369ce7b1fac2928b593aa9d62a8ca99955e43ca7e45c8610410000000000000001000000000000000000000000000000205cb09de0a6a839d84c4ea10afa16be4ad8b1d971e73f5789199dcc09ecd4c3aa0000000000000001000000000000000100000000000000205da4cb72d2b6f0628aa86052f19a29cb6788d00b56a5b9c5bc649141547f60540000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000053000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020afc3c6e382b1ba365ad721d0433ca8c2534aed484dc33723c86216acca83c55900000000000000010000000000000000000000000000002078ae951dac39bc55a9ba94ac6c8b018ab270633b1272b2d473fb5dc91950e7ab000000000000000100000000000000010000000000000020baac1f996f7d752966bcd5fa8c9fce2af6e22b6cb7892c878155e766b1357c69000000000000000100000000000000010000000000000020fd1d25f9e49d0d7c861bed3edacf6ce082dfab2bb23e73e39b2d3436646d7267000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000530000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020ebd8facf813026db19e65dfaf8d3051337b70bdfc3102b5a606dfcb13406118b000000000000000100000000000000000000000000000020c259cc30fa2357595771e7637059d69d866ea391221506f9556d865dfc531288000000000000000100000000000000010000000000000020b40ac779b3fe1a3147638c12779a0f25cb11fae4b55562fd6da54196a56eb99a000000000000000100000000000000010000000000000020896a3a539e4e3a17e9b2a1ac5488080dc76bc1a8a8318bde04d1a4ac0e137a24000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000530000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020c77a177e233ab707ebb038cce6e398b11e9a9eda22dec1e85048a624782047ba000000000000000100000000000000000000000000000020f37f264cd1ffd3376ebfe92817db106d2e8f2b8393dbe8d5627b7c6594045fe50000000000000001000000000000000100000000000000209babc2c535a1c1d783129bb3b233726e22a9efc413b7f10ae0411ed4845e72e6000000000000000100000000000000010000000000000020d2b5fe9a290c8c7db716091daa081181396ba1482e52c73e790b14df40de9def000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005300000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020629fdc3c560ea24a026b6c8a09be25b6dd1278c90d126fae32b3a9d9e006498f000000000000000100000000000000000000000000000020643f012cac58d46b9aea608fef77d6fb0dabfa1686fc7e9b1bd3509c5e6627ec000000000000000100000000000000010000000000000020538584dcba2adbb2d01b405097f0a67b02d37e168cfe16ef727b2d61744ebccc000000000000000100000000000000010000000000000020e9ca00acf193dd60c56983bce3bd229fab3c4377af4de3319b352f58003d2de1000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000053000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000000000000000000002055a7d80252a6abed057ddb97d8d4487668661a6c741ba814e9c667a7c759a62b0000000000000001000000000000000000000000000000201ec8226acdcb8d45fa9fe13fbbc1c362a039a299c47c22531eeb09609cfa74d6000000000000000100000000000000010000000000000020e45ab6dd2d17246b2c5b27cd60aae7505f9eea9806f692bb86323ee2450bd0fb000000000000000100000000000000010000000000000020b6de04b15120ce82f13e14d5feaa79d947ead1a5a3d567f06c1e3f9f93c53b4a0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000045000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000200e43e9c04d207bb28b3e8cdd34562d156883a04fd00ee51e13dd0b0955cfea11000000000000000100000000000000010000000000000020d9c55f06b25621b3ad620ed243a39cf544b104d8b228edffca7c69dbcee0eb2300000000000000010000000000000000000000000000002012d4f93dde6999aa2ee8052c32ae77b61625b2cbf4cf39e7b8de85b85265ea8e00000000000000010000000000000001000000000000002030aba41bbddf80a52bc7abcfd1f0b6c0c70dd26bb8ea651a9b081f0c0c6e163a000000000000000100000000000000010000000000000020fb96add01cfebcfd0e7ef25249da564a72e1401f09d33bb2ec016bf10a73787f0000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000450000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000205e4b13099d6b778e88b0521b41c82c6544d61da537a1abe648f1eee613926d760000000000000001000000000000000100000000000000207079cfee35fef5189b649680bd998b678b96d52cd1db98835850c8a7bb68782900000000000000010000000000000000000000000000002030a5c45d39e091078fd83f137c3c3fe13de6f6641ed17dfed238d163d04a730f00000000000000010000000000000001000000000000002041633f9bb9b93e4a305a571570c5dc8e551a86fae9ff475c5176796bf135941b00000000000000010000000000000001000000000000002087b7fa3ebb92e746135dc65b5c95536c7cb226a69119c7af40e71737238c0981000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000450000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020e9a79c8131e6e2738b32cf9744ec0b60af057504ef34c9b095e2b0f1eff5d335000000000000000100000000000000010000000000000020ddd26f4f7647ec71bae6a8f920bb39cac5658036e88d5a3eb468de9d37b01fbd00000000000000010000000000000000000000000000002089d982debbc661435e12dd27a8f9d3c0e1a707c0c46f01538206fa260ed2b8bc000000000000000100000000000000010000000000000020eed6a67249ead77fd513308f8afb1213eff062318df1a887f2b79caf28f873110000000000000001000000000000000100000000000000202d305ddf3ca85ed7aa47d24842fd3026db9e0cd83217a1827f4b2e62491624ad00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000004500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e00000000000000070000000000000001000000000000000000000000000000208d2b8003886e7ac17d0e48a2e8ac156b8a9320db4b8e7bc268f8cc8d33f12160000000000000000100000000000000010000000000000020619f91250f52f640b47f6e99721521722750a87ac21be63d4f181b7000afc3ab00000000000000010000000000000000000000000000002088ac6ea5eea2749380ed0a560cb9e0b05c78aa7150f3123e483489e1b175dacf00000000000000010000000000000001000000000000002048ffa0a08dbe818ac595474bd56b213a88ab026b130c22888d3d819b826d367f000000000000000100000000000000010000000000000020d0825bfb7ae5032c7de17c17634dd8f71066c0cc7218da902e7f25288bce83c60000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000045000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000203709c471f6eae28f638ed6d83ab5b0dba7f687465a1a49298d984ea85dc4e31a0000000000000001000000000000000100000000000000207ff3e7c9bec8cfeb937bf5f1d2e0049990c540f177ef1533dc6fefa7709322850000000000000001000000000000000000000000000000208ea75c352296498f585e4d422fe2cdf2b73ca7d47ca0e01417e83757e5ce304d000000000000000100000000000000010000000000000020df8c406f1e13711086cf2335b6577f4a091af6fc97da3b46136089ef5a8b0e1f00000000000000010000000000000001000000000000002055dc25e0ac9e3a606fefc5bb06f01ea69af921b8a7bedc7a9090b53803d189760000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000029000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000202364529653cb34132c45dc10288ab5ad53f2367bc2dcb92f72974b3a29e1ffef000000000000000100000000000000010000000000000020910ccf874533563554c63ae005c6697bbd05184a9b755f65fb0532481c26aaf700000000000000010000000000000001000000000000002067bc8c70eff0a639685ce812c27653212c839814678951e9a4d82d4c270efde8000000000000000100000000000000000000000000000020acf9637062858d5ccee27368fd75ef6adff46c6a7f4e37ceda6d06b9a328d5ed000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000290000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000208011491095a12331a81f5805fc9ba5c757d2da18923f17af9b469086eaee10e700000000000000010000000000000001000000000000002019a9de690872f19f18a9bc57e740ce255fa752b6b20c228feb608428b5b751d7000000000000000100000000000000010000000000000020867b430dade3dfc4e6a7f6e3fbe4b46121819fbe0ffabdf40ce0e5bc50ebec2c000000000000000100000000000000000000000000000020281aeb39d73a03ce74aebcb7c8315a8c780e6ef4bcb754d2afa1e1f3b045dfdf000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000290000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002040c02ba1fe6ee99beb60ed4445498c6c212ff7f5cc8c6b6ad68c36e6a09c5e41000000000000000100000000000000010000000000000020d23b25170375a70da69c0c0687624c9f9ccfdf8a25a446670521fec5444cc7480000000000000001000000000000000100000000000000205723b3597a93daa0a645bcc179d93c7aaaff1f483f612e917b9e44382a507458000000000000000100000000000000000000000000000020a8814fe3c3d5b3204d754c158a239e5c782bf86cebc84c3145fd324d3ad3113a000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002900000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020c7e8a25d781c85dc775936331782d3b69331b930dd860f3dd9efcb4c71cc40230000000000000001000000000000000100000000000000205b078c300b95b65f5bcbba94fd0ef94a0148f3803ec38ad83826041f3f04fd0100000000000000010000000000000001000000000000002007f02c87b07af012fafa7401fd3b960a912b1b3261748f16b09be882023a5f48000000000000000100000000000000000000000000000020634cece15ba7005c5bc546597a7af1d983151a419974d78f91a6d4c7c2e675490000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000029000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000203430864413d2eb05741489793d4189b376deff00ec1530fd04d139ee7bbc97f100000000000000010000000000000001000000000000002089a45fe9f3bd74ed1c283363d171013b2b6f147f8de67c77d3e8c77fe4cb3d08000000000000000100000000000000010000000000000020128db9d3f69cf38255a3015e2ad0b37e736dde1e5125a31ed7646688f205a4080000000000000001000000000000000000000000000000208dec0dfe396ddf0fef112318ad998976ccf92f2cbd18b38654b7410cca68dfd20000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000002a000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020ed3eb788bf401f4b0a43fcf63df1908a3898d219c793479beda352c12a1be2d800000000000000010000000000000000000000000000002091daa6f4b8e1342f2a7ad3084fc9265dfd4930aa3208d9ebf5f41800ed24070100000000000000010000000000000001000000000000002067bc8c70eff0a639685ce812c27653212c839814678951e9a4d82d4c270efde8000000000000000100000000000000000000000000000020acf9637062858d5ccee27368fd75ef6adff46c6a7f4e37ceda6d06b9a328d5ed000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000002a0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000001000000000000002004574eb10f224b8cf7a381bc6dcbb6c278cd6f2070fe9cd36ee83524a4705475000000000000000100000000000000000000000000000020dae1bf31d597494e6cb42c6168bd5e9a613004ad508e236d8c35a38c86c5dcdd000000000000000100000000000000010000000000000020867b430dade3dfc4e6a7f6e3fbe4b46121819fbe0ffabdf40ce0e5bc50ebec2c000000000000000100000000000000000000000000000020281aeb39d73a03ce74aebcb7c8315a8c780e6ef4bcb754d2afa1e1f3b045dfdf000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000002a0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020aa3894c4c9e55d54860877a76addb703946051c4c6a9267a517dc64085af30dd0000000000000001000000000000000000000000000000205276717ad424d82d3f5f08774d4e651dddf59ebec8dcec8e94b6d065ff9926310000000000000001000000000000000100000000000000205723b3597a93daa0a645bcc179d93c7aaaff1f483f612e917b9e44382a507458000000000000000100000000000000000000000000000020a8814fe3c3d5b3204d754c158a239e5c782bf86cebc84c3145fd324d3ad3113a000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002a00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020120c4971d3c4c378ef0bf903548764d33963a398efa1e93c30b3c867e28dace5000000000000000100000000000000000000000000000020b7781b92f2fd73adbf9c5762945a482fc8a75e6e7ff9b7547de5603d5459cbc000000000000000010000000000000001000000000000002007f02c87b07af012fafa7401fd3b960a912b1b3261748f16b09be882023a5f48000000000000000100000000000000000000000000000020634cece15ba7005c5bc546597a7af1d983151a419974d78f91a6d4c7c2e675490000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000002a000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000209538917b15eccb1a2acd8ba1e4a61ab1d6640e72a4319a67be295492a0bcd91d000000000000000100000000000000000000000000000020c4fad6a066de841653cc21f7207c75370523e383740a529bf6af8efbc3da5e8d000000000000000100000000000000010000000000000020128db9d3f69cf38255a3015e2ad0b37e736dde1e5125a31ed7646688f205a4080000000000000001000000000000000000000000000000208dec0dfe396ddf0fef112318ad998976ccf92f2cbd18b38654b7410cca68dfd20000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000059000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000204da78ab2c3c5f41e1f7887af8b0df1f67d455beecadcd6eefb777d94e223eaa800000000000000010000000000000001000000000000002097d33355eeccdb1892f15796ad4eef95803d3af68175c6a356b27777718c966300000000000000010000000000000001000000000000002078808487f863c691e7034d7a3f7005845123ea7ed820d51fab8ef8cca3f5de2e0000000000000001000000000000000000000000000000207c2b245f61e52e75dc4388455fd8c8160f2d5355f6b05b282cddda655f6901d1000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000590000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002025af3b1399bbba0316d7df46d5cae4161c6e0300d88135d2eedfba9f3d7afb660000000000000001000000000000000100000000000000204a516ab2bf46c3e9ac1e323b4f9d7420d9ce7f4fb6f42af352d37bdc9bf43087000000000000000100000000000000010000000000000020ecd3513b6eb8ba4a6c0dd17f2c9fe9ab921304503576d15cb5db6e3e3607e3bb0000000000000001000000000000000000000000000000207bfc351ea4b4ecf93f5e4d3ea107bfe02c40edb706d73642edd2d1b00fc33115000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000590000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002088b28b0b17911201c6d0c0a7b665ee900fe95a641c3ccadcc1c285871192de6b0000000000000001000000000000000100000000000000205656a85ad12c026d41f49d279787b0b07a235c96cf4eaf7006f8eb7ee55ac3eb0000000000000001000000000000000100000000000000202f2d66d81c280ea6fc0b542ac7ca231e7d3db6c96c964c8bc0f8feb010b3977a0000000000000001000000000000000000000000000000207780a7f00c216d21bc68115c92fa611de1fe2d24f7fd44ab2a7f9819fd2be6ac000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005900000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002001eaae47dd755baaefa29f5e6f80803ae04e1c6561de6528d0e157333a23ac870000000000000001000000000000000100000000000000205f08e78ba48fe0bc643ec292d55dc774280e38889672f66e4cfa08d750c8e715000000000000000100000000000000010000000000000020874f3585334fc7621deddceb149bef26e55472ec812bd0cb437c8e6755a8586f000000000000000100000000000000000000000000000020ff386f23ec8a19be7dcbc8bdc4b7d7aa07d83bc5d86d7a7bcc8ce73227385a69000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000059000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000209bc84d919dd4c1ce563f1560dec9531aa31b1aa132218d0ee22d1c3055dfddec000000000000000100000000000000010000000000000020224439b6f384dc5e996e41f0f6f66d4a070a0fee2feed44b0e62c5c335eb1de5000000000000000100000000000000010000000000000020af82f92e5df1ce551f39500f4c3aa59594c071c465c6251c0b01d84162cc7ea4000000000000000100000000000000000000000000000020cdfa7fbffd9a828017b8bea6915ca66e4ef7df5402ad22f55cba8fe5fa11ec4e0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000067000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020cad7cc2c7ddfb8cd9ba0e96d93cdf23cb96c036a0bca8b0a2c32ce5b2fe14723000000000000000100000000000000000000000000000020a4496497b387e370fc3904fea02581e56cf0445723071ea9c4bc5ca505cd4fa9000000000000000100000000000000000000000000000020017b30adbe8120573411a31d0989033cc79187500a5be264d52ba353827365370000000000000001000000000000000100000000000000209c44d53e0e6c003926c2cfcaab752a01a02d5daeb27f8ee0e96b08c733495b5a0000000000000001000000000000000100000000000000207ea60215e8ec5d4d4438091786a54f9dec2a6cf9285067a013095b1b272cc7fb0000000000000001000000000000000000000000000000201f299bc891a68480421c50caba5be302c1d5ca886fa6af7076dce2e79c78f5220000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d0000000000000000670000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002040846ecba13353f33ff4fc691822ff2ed89083b4550d332dc9fcd3b0a45c86370000000000000001000000000000000000000000000000204eb24a42e009aaf36693ea0024669d28becf325a30e9368385d8efe28561d43800000000000000010000000000000000000000000000002050b07b6ef2dbc0a57e1bbd17c7e24c6ebbd58ac3294bad89b13e227cacdf993200000000000000010000000000000001000000000000002010e2d2235045d5fa5449ab4c7f944014c8252fb169b3cbc6bcd969863a5c628e0000000000000001000000000000000100000000000000204bd77825fbf41b8fed65ff092d16bb8830aa17f14d93bbf9e8eee2fd188900950000000000000001000000000000000000000000000000200363fe5d9833051677e71a515dd9c2850d89c51971b61a7e00e33b9539e09afa0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda1255800000000000000670000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000000000000000000208fce1fecbc288a51f3648555d9009083d42c61f3dfdc5f01af81c79f9016fc3100000000000000010000000000000000000000000000002059690821dbf70a7ed839a9a87be7c67a6b867e88ea700a5723fad52f2383da3e000000000000000100000000000000000000000000000020e34dbb64474cc7025218b3afd41c4c6ad5fd53d507ce58cb120cb9f2b810085100000000000000010000000000000001000000000000002003b7f87006d60d7178e5aa895e42ba03c1debbb68b5dce90758933379c74114b000000000000000100000000000000010000000000000020faf244613d132c972527665b57bcb02c5bef1a2b9bcd9cac891f28df87334dea0000000000000001000000000000000000000000000000205ae42a347da9fd56bd2f8085c22c47ab6cb546d830b3427bcc0ba6ec77df6da40000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000006700000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002017a4472b588ffad728ce4ca73ee6bf39b1af6d6e3f841c17426d0cacfcbb65dc000000000000000100000000000000000000000000000020223336e6728a79cb066f3462ac0ba44641c8bf2bde443ae7d671f1db9ed7262b000000000000000100000000000000000000000000000020e7db05fb21034d0ff7b26b9c050276750e18e1ef3be6ffa82b9a66f2463453ef00000000000000010000000000000001000000000000002045ba9677ca02739f329b4fed0da220de7b919336569ef3601e89b8012e1a1bb2000000000000000100000000000000010000000000000020b48aaa7d827ac7ca3afc75618ab36aaef4483f6cd82ce08bb7eceed75f9ed97b000000000000000100000000000000000000000000000020df5bc2508c3873cfe4eda5c6061b6be61c1d4717c69a2b8cc327ed67b1569d4800000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d40000000000000067000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000203aa8c0184d240fa9f49ad0ff5672ce16aaecce39a1f8a6876be4c2af462bd37a000000000000000100000000000000000000000000000020946ac2a2666b2c9c5de7135e8bf1469e71447f56b192886aa7751e3cb083a41d000000000000000100000000000000000000000000000020125489139c3b1bfc6b8bc07d1a518ac39c162fa097e210dad71c6a66e89be231000000000000000100000000000000010000000000000020e4a5c02a9eb8d00459ad5ec707ff889fe7cb9842ff9b1cebe26c850ceefa5e180000000000000001000000000000000100000000000000205527db2272209dadf7c7c2484c9343e6ade7e307b3512e690480aa5d58d137bd000000000000000100000000000000000000000000000020e151730a135b95ae868694e9cc33449deff1a10d5420a1deec2ef9840f1bd9c9000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000005a000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f000000000000000700000000000000010000000000000001000000000000002025fb9532f21442cb2e70c2dbc230772271b85ca12321e920563f38fae321b26f00000000000000010000000000000000000000000000002007ca1cd63356c15d3cc4344260f8346defe5dacfc8afe23ef7290a6024167ae800000000000000010000000000000001000000000000002078808487f863c691e7034d7a3f7005845123ea7ed820d51fab8ef8cca3f5de2e0000000000000001000000000000000000000000000000207c2b245f61e52e75dc4388455fd8c8160f2d5355f6b05b282cddda655f6901d1000000000000000100000000000000000000000000000020b1cec62bd3a65fba47a825b7fbde1c85bb1776ceaaafcb3da4f3d1fd892cf1440000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000005a0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020e09ff0588e5944b8dcf29820c0e19d5e7b8269ef92383ae529bccee2aedfc6d800000000000000010000000000000000000000000000002019871ff7502d3e8a0ef3997a34f18c2b80d5227518613590ce156e8f434c7038000000000000000100000000000000010000000000000020ecd3513b6eb8ba4a6c0dd17f2c9fe9ab921304503576d15cb5db6e3e3607e3bb0000000000000001000000000000000000000000000000207bfc351ea4b4ecf93f5e4d3ea107bfe02c40edb706d73642edd2d1b00fc33115000000000000000100000000000000000000000000000020c468763dc5e8847cf80cbb7250c883b32908e6b1f7213e6361daa1d6d1b10684000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000005a0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020305aab7f9f2a87a6f4958b4c58e3898e3e31c59b53b972119eb2c86704cf4a590000000000000001000000000000000000000000000000204b65a091b1c8084030570ef56c9ab58a322b372a0f4c24d141260be904c15b2f0000000000000001000000000000000100000000000000202f2d66d81c280ea6fc0b542ac7ca231e7d3db6c96c964c8bc0f8feb010b3977a0000000000000001000000000000000000000000000000207780a7f00c216d21bc68115c92fa611de1fe2d24f7fd44ab2a7f9819fd2be6ac000000000000000100000000000000000000000000000020f30ea4d5bf7158bc8a1048dfbe8264bfa7d5e26d48cd40684ab9a0f667f3ddbb00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000005a00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020226a5f67d116e72fde27dad25d6b0805e6d77486d1db47a7c9e99d657beb05b5000000000000000100000000000000000000000000000020e53a80e83b5e427caeca8a56fa40d24a07d065ef99547cd3c7e521e3533a145f000000000000000100000000000000010000000000000020874f3585334fc7621deddceb149bef26e55472ec812bd0cb437c8e6755a8586f000000000000000100000000000000000000000000000020ff386f23ec8a19be7dcbc8bdc4b7d7aa07d83bc5d86d7a7bcc8ce73227385a69000000000000000100000000000000000000000000000020fb297640a0a53c6922dcd02722c374fef8f9a9d8901eb2c907e1110931b3b9bc0000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000005a000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000100000000000000206c580b7f1ea99a92dc726a00bb451efa35bd313929f994cf13cf321c5b63bc660000000000000001000000000000000000000000000000208939e42e1d2f8ae15836b7f908215178dc72740472ad0c36779ac1e3eb9fceb3000000000000000100000000000000010000000000000020af82f92e5df1ce551f39500f4c3aa59594c071c465c6251c0b01d84162cc7ea4000000000000000100000000000000000000000000000020cdfa7fbffd9a828017b8bea6915ca66e4ef7df5402ad22f55cba8fe5fa11ec4e0000000000000001000000000000000000000000000000200a83b61d8539e81a2ac75b1ccb2acb8461987b97172d0d35a1fdf43f0ed9d3fa0000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b60000000000000025000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000209c15f8f54052686d5abda30605b9acbb562003b75321b4a8f528128ce55d94f8000000000000000100000000000000010000000000000020a2db7f2f1d529f40c2f855603551afba77fa232089d07d5b66297b88a692377200000000000000010000000000000000000000000000002051d1a840c4bf016d6e20369a007ddc569ea146739ff71237f58f95a4bbffd8c2000000000000000100000000000000010000000000000020acbdd65b5c254807ba3ecf353116b298afbc921e72826c0e8f26b5c9c3261354000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000250000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020ee30f67435fdc77f3821be18976dca8f839de952494f8d88b2f5c48036e3dae3000000000000000100000000000000010000000000000020fc72f7ca97f724c8f9788560a569161aa4bb42d3c316021b1cc224fc885ebb00000000000000000100000000000000000000000000000020ec4d667f48de5bd98912360f2e56ea1edec9c059d2354892a6acce1b5a558183000000000000000100000000000000010000000000000020afa89b59e5a5236e32a73ae694b51d7d4bdb15539e920e21c9a63d44bc6116b3000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000250000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020f86eb707eda7cb6639bb951d9d7fb082efc18f7bac3a2aa210d20cdd121a77810000000000000001000000000000000100000000000000200099a17411c28db7615c238353d0a91889187b38acc1b839d5fe138ae93328d70000000000000001000000000000000000000000000000207932e921a98cedb43c51d4bfd85fd3dc9b4a7b158b737c80401d4c84ecf1040100000000000000010000000000000001000000000000002032f9eb13a5183fbbfdc76446bbc197096269582f310b0681a46c7f4d6c4e28b0000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002500000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002059a3b63f53a054a780dfb08e8859719d0fd248e524613487da72539fa65aa4f6000000000000000100000000000000010000000000000020e01573eb80ad9c2f19c7b81ddfd9b6d3923e221f2c3a6a8949f5c385543dc32700000000000000010000000000000000000000000000002028217401bec2708c56770ee3808f8119608f27e35c7544f6e2d928a12278bcd00000000000000001000000000000000100000000000000200647f5c1277fe43e7aeba33fbcc66f8bd6e5fab0f2fac9ec870984850f3cff6d0000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000025000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020d92e297893bd60b336483da591847d6b8a1f0dd777f1c5fa11b989a725e8b5c300000000000000010000000000000001000000000000002073739a6af7deacce2b6442148a5641927aa9419b7d91ad447aef4dcd49512dad000000000000000100000000000000000000000000000020765bf16c15f21f473e13797fc495c85685337871b1292c50056f684998c7fe240000000000000001000000000000000100000000000000200fd833d049118db9d7c66460e628930aecbea375ddbc44788cf634aaa0374e410000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000004a000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f000000000000000700000000000000010000000000000001000000000000002025c9160c5498c15aa021ff19177bad3f4cbe864b6d6995d7e193706f40daacef000000000000000100000000000000000000000000000020e3c19b375a39a274c3a4c2ef846fe2f1411bb6f87e3312a00affce6c63e5cafb0000000000000001000000000000000100000000000000208cd627fcd8913173bd2e56cf7c00ea038379c306225267b13ee4c63011d5fa04000000000000000100000000000000000000000000000020ded30fd38ae8b13fed00a0ea9c73557ced47b1ebbc9fc61c266048c5f66aa33c000000000000000100000000000000010000000000000020fb96add01cfebcfd0e7ef25249da564a72e1401f09d33bb2ec016bf10a73787f0000000000000001000000000000000100000000000000200c83dd76ed907b2a42aee12e9bba29e9152a4c1b046a9f59661f43576d36d59c0000000000000001000000000000000000000000000000202c038aadb42b2c9d147235e2c3cfa4871fe86ac883aae3ec57b657297f212d00000000000000004a0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000100000000000000202f3fbc4d4444d2ecb05e89008610e219d35613a518089b91764e45857a1f2035000000000000000100000000000000000000000000000020e3bd4c58b48733f4da9c1673ef2f3f4b4c72adf3c4accb8d785695b757b164e3000000000000000100000000000000010000000000000020ddad4840f8e30df88abc03886c858fd0efaf6c6f504e9de2ee1d05bf7665a820000000000000000100000000000000000000000000000020feba64c9cd542fe7d05aa8edf696308992b084f4de417a91838faebd8976e03100000000000000010000000000000001000000000000002087b7fa3ebb92e746135dc65b5c95536c7cb226a69119c7af40e71737238c0981000000000000000100000000000000010000000000000020a288f1508b58b170ab460fe13de30e1fae84a2cc2850c01f6775713f7fbda83e0000000000000001000000000000000000000000000000204e9510494c67b453f48e56682d54f19d4c510a8e8925a5d963b70dcadda12558000000000000004a0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020cc7925f1760aa0efd2fde3d8f85988edc82d92ed5775846ea9aa0b694f806d150000000000000001000000000000000000000000000000205b7db7e1340277f1a77935f869b4e42e77554253375996b4795951c2bfe6b0d2000000000000000100000000000000010000000000000020a63b1ae4686babc7070b75a28e862d07d7b02974e9c92c8869e6a564550499f9000000000000000100000000000000000000000000000020e498db8026b921e09bd99173410c810743e7347eb81c950015a89fdc1cd20d4c0000000000000001000000000000000100000000000000202d305ddf3ca85ed7aa47d24842fd3026db9e0cd83217a1827f4b2e62491624ad00000000000000010000000000000001000000000000002075563d0ca994a5b815b9492164b3382dc6ed37ebe3479fd824d12c822c8b981f0000000000000001000000000000000000000000000000209ab45f43a40f2c351babcc1104191ca0bd8477adbe7c330250b0fe7913d71223000000000000004a00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000001000000000000002084b9518ddcd0d04d5d5d48ef5441ea2d9a3d9c22dae6670ee96e99641ce0e61e000000000000000100000000000000000000000000000020b92ca100f9204b5b1040ccd03ab8c85ccaee0642981abe7a3abd529a11421f5f000000000000000100000000000000010000000000000020ca22a4150f72e7238ee8b1f81ff7fe837ba2dc22d6ff13c7b5ace743d4570a9c000000000000000100000000000000000000000000000020c98bbc27af4405ca1d8088191d3b07dcae9177c02afdbbe43335a64b4f245f5f000000000000000100000000000000010000000000000020d0825bfb7ae5032c7de17c17634dd8f71066c0cc7218da902e7f25288bce83c60000000000000001000000000000000100000000000000202fdb247db744baf45be3fd1c8d44638524a661afca5954fdd6fea6d0250ee38300000000000000010000000000000000000000000000002018f0fb9fea42957f9c89d92d72e5071b9a0a65ce7ca2d13f4e3d91f69a4881d4000000000000004a000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020215185a0cef74abf6c486ee2064ad012389410684bf3936dada458b711037c8a00000000000000010000000000000000000000000000002000816ed301d3664771220754cd9825a6bb5e1a3346268a44d8a139c9ec661f4b0000000000000001000000000000000100000000000000205ab5d3af0a0578bfd648811bf095f7f25db4dbde37046bfe9dc3d231a7912aa50000000000000001000000000000000000000000000000205ff758825b563521a34237c915fc40c427e4be295a591f68a62f9bc6848013bd00000000000000010000000000000001000000000000002055dc25e0ac9e3a606fefc5bb06f01ea69af921b8a7bedc7a9090b53803d189760000000000000001000000000000000100000000000000204cf16010c3bcd764137d678f38d3c591415eeb3139575843c83e727e51a10a48000000000000000100000000000000000000000000000020796cb5d3112d73ebc8ffda9c0b0af95d319233e3d75cb9bae32a44a5ba5f83b6000000000000001b000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000205fac427ca7e75576db1399e30863bb852d1f28001f5fe778f4f2057d1b1ac932000000000000000100000000000000000000000000000020521b3852336c39a89ac95db51d89448e4144dbd018d5046ebc3136222ce75b1b00000000000000010000000000000001000000000000002047620faf7876984206b9d9e86a55b284f0c8a2059fad6b6fd801de424312325f0000000000000001000000000000000000000000000000205b298ba4e4b5f4b3bf2c978e0536d1d3a1cbf8c7456b617b9b73b703811bfd2f0000000000000001000000000000000000000000000000207849e8898a770c89764f4cb8b71ff1bef84075b62770b0c16b661e70cc4a11ce000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000001b0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020ad4dc3f884975463d664c0f832a2692c8647b0905dbfe5d0b156773364296f860000000000000001000000000000000000000000000000209c3a204bab1148da99ab4dd129467b73f0dd3ddcab6e7c3a83b59a5ad696aa0f000000000000000100000000000000010000000000000020ab314ecd77299d3b82c7eec440ab820d5d4c01a9710274721d81759cc4c8b2a9000000000000000100000000000000000000000000000020ac6959e9e319ad06b6b1d41e74cba08547c70d0d937a0ad3df6c33a5ec45cbee000000000000000100000000000000000000000000000020c2eb2a252c792bc8d88a40699dcd8d16340acdedfc61c8f4fdf09de00ce6c27f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000001b0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000000000000000000204a2b3a1ee62577402616469eb63ad08ecd929be8812fc1dfcb96da9555b44d8f00000000000000010000000000000000000000000000002070f87155fb48c2b6d8b91df20c67fd9370e2f608f7ba3e306787f0926e470192000000000000000100000000000000010000000000000020fb9cf78a6707d1b7162df5edb3aa13d06894f8dd336d3588bbd4891140dccb27000000000000000100000000000000000000000000000020bf2b5cd40699569e17a796e5e540acd3559077414134ff41cdb120a22b96b46800000000000000010000000000000000000000000000002022a3dfdaf2ccd0677cb41506afb5d1f4c9044ec0bfea337e90f74e5a9fe47f270000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000001b00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020fbcd4487339964c5a80812e147b53f978d925bcd4646e5d389b0cccace8fcd030000000000000001000000000000000000000000000000208b2a0fd81bba1b758705ce92e3daf6a6761b7d8e73181fc3d890edc4e06bcd3a00000000000000010000000000000001000000000000002049a804e826fe741570075f3255eb65a1820855d4bd54b9d3ec98da140e41a3f4000000000000000100000000000000000000000000000020d27f840b3435588a1f6310967cd2bccae057e84d0d68e124f766afdf02c8b007000000000000000100000000000000000000000000000020d76e12b34552d3e0f5f4ba4dda1b055b7a6814729d02472083548fcdc3a1cea7000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000001b000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000000000000000000002041a3bd4c9c820a5ce88719dd1ec6828b05d2d902395e3cc260132e85ee08293800000000000000010000000000000000000000000000002099d2c9f6f73e45426ab5af564a18c6d1188ed443f0c816a7926414c43941aa0e0000000000000001000000000000000100000000000000202a74d82c93e3b4f128752cbe8f72fab8571561df9f46d0a30defd29af4e969ee0000000000000001000000000000000000000000000000207d95a95f0b639815c612cfb9b28cc6f012f18c22ab789c11d07eb6eee643942300000000000000010000000000000000000000000000002062d2a454027eb686202aa9256a367d3b0232c8c0502dbf7186c3e2dea86b40fb0000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000012000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000010000000000000020c29fac73aebbdcd88f90f9aa9d9c3d797a4fa7b760df4c353a265fe5f0031662000000000000000100000000000000000000000000000020bc23aff6ac6a85a97ea63899fd9ef000c2593e4aaab1b5bea50265cec6a5545300000000000000010000000000000001000000000000002064510bfbd8440a07f0e59c56da4450298df4337b3b8e67d8136a6982add215cf0000000000000001000000000000000100000000000000209a418cd2009d3c658c7f2fda6fe709d6c27dd479cc82d615d1106c7a8212b1890000000000000001000000000000000000000000000000207849e8898a770c89764f4cb8b71ff1bef84075b62770b0c16b661e70cc4a11ce000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000120000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000010000000000000020f108fb20fb6cfcd3973f291e856d670cf09921ec875af1efa8374e359d967779000000000000000100000000000000000000000000000020aab335978a68b429553b662047bb2ae6960fa762ea32e78c0528ecd02dda6425000000000000000100000000000000010000000000000020b9c40a2d71a15db5e94dcce5f2b667598b78dfe1c138d308d1b12016834fbff500000000000000010000000000000001000000000000002036d576b2ce54680ae398b6e51b49b9ddea72bdd5b02fdfff8ff6cb7545101ee1000000000000000100000000000000000000000000000020c2eb2a252c792bc8d88a40699dcd8d16340acdedfc61c8f4fdf09de00ce6c27f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000120000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000010000000000000020b6a424376777e131923a68e1439889901cb37187d1867962fd1171251cf2854b000000000000000100000000000000000000000000000020755bb0d822f06e21379b52fc09b7f21de97d4036cd722901458ab301cadbde810000000000000001000000000000000100000000000000207bb695ab88cf8755a0c89c0d1353da31e472e32b1e5c7540a22131d431366f0a000000000000000100000000000000010000000000000020354a59e0edf0f6d61cfe51db05dc38af13a9494e49571603502b62a1b3e37acb00000000000000010000000000000000000000000000002022a3dfdaf2ccd0677cb41506afb5d1f4c9044ec0bfea337e90f74e5a9fe47f270000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000001200000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000010000000000000020146b9e61f877e7e961463be29e4452529d3693db2cbf4d23bc3470694f46cfff000000000000000100000000000000000000000000000020c48fb9c8e15db5d9f99c05b3294f8e0b102df889ef6e9522f3d1d1ae9d36223e0000000000000001000000000000000100000000000000206c4cf3851f1deca21b80307c06d12fdd5d1300c448a692b6fdd31165670dc107000000000000000100000000000000010000000000000020e582b0157c013c8f2cd072c5db84cdf73cd3c593e2e186e72818cb4d253e9c8c000000000000000100000000000000000000000000000020d76e12b34552d3e0f5f4ba4dda1b055b7a6814729d02472083548fcdc3a1cea7000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000012000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000010000000000000020e7efa64ad60774ba252d5ecaa82d7a5291a3d4856295136a11b4b22b70c70bca000000000000000100000000000000000000000000000020250dc8c31ee8b39201d7cc59f8cb2d49e8d32f14aeef2460f2a4126829b58893000000000000000100000000000000010000000000000020f93a72c6c8e65f40f932ee04db6c3cad2bf46e4a595f44ff9b6aa87852cac83f000000000000000100000000000000010000000000000020881699487144623fc95fa5cc1c0c096f4fecc50e2ff818d4e72e6fbaacb629f700000000000000010000000000000000000000000000002062d2a454027eb686202aa9256a367d3b0232c8c0502dbf7186c3e2dea86b40fb0000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000000b000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020c7185cb499fcf45d18a836b3ec86719285da8caea2e36a0fee62e92673e5a02200000000000000010000000000000000000000000000002076288dce6e6799578b2b7a213fd3c694aa39b450373ef4b3b2f4a864762e463a00000000000000010000000000000001000000000000002010f63b33b62d838133c999f88d8a02b7a2564da250fc631fd0729c1c09d5dbb00000000000000001000000000000000000000000000000201c99dec03dcd54df40a2eaa3f193c07f170dcf24b7cc6afe454b850d6fb34ed0000000000000000100000000000000010000000000000020e1477594b304cda388664944fcd85e0b922128c8576c59caedcdfbac5ac8f7af000000000000000100000000000000010000000000000020bc5594d23c40f941f50adf5241000fce7e7defcc4d88464b187cb90d5b37c118000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000000b0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e4900000000000000070000000000000001000000000000000000000000000000207142820f9f024f35d01da19da9e19afef9e62b3b1315357625f22e05fce738f50000000000000001000000000000000000000000000000200372e337f7d357354fda85751e15ef7a1ed3006edb7b7902b9aa3cb649526e240000000000000001000000000000000100000000000000205fcb0f1f7fbd57bc171b7e39170a2a86395975f21202ddc75006abddcb4bada5000000000000000100000000000000000000000000000020eac9ebc434f692f44d22342cdd0ebc01296b0b96889df80b70692b45d8f2f4bf0000000000000001000000000000000100000000000000204f55ee0b2c76e45813d3303671a08614e3d0a71431a15244031f1e7b89001e2f00000000000000010000000000000001000000000000002070d543404494ae0e4f4b8cea9d86346e2144d8e40b74fa13340859d3b0f3718d0000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000000b0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b24000000000000000700000000000000010000000000000000000000000000002077ef0e0e5302d8c48d31bb0952c35500e5024e13b54166569f768356fb44775f000000000000000100000000000000000000000000000020022dffba8823bb5f0e39ba43d6b13c5f97f68ae47e31ff5f2f5c5d3e0e150e340000000000000001000000000000000100000000000000201915627972fa40cccf4da8b6e04032312b499781c7340a896e4e35a025633aaf000000000000000100000000000000000000000000000020af6419dc6d95b5da71404ac0db69c78a6a9d2050a800e293e3315fafb59308aa00000000000000010000000000000001000000000000002065b53842f60456f8d31d5e121b9122b277f52f2aef8d35d0aa25cbc8e308f34b0000000000000001000000000000000100000000000000209785b23c2c42df1ef304d988ae6df106ec1cca1fe14c1f57628fe572ebd224b0000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000000b00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e0000000000000007000000000000000100000000000000000000000000000020b45ce33b86e0011ff110f28104fdb7c20ee781bae7cb8a1bf8844c1df420ff500000000000000001000000000000000000000000000000200984cb63823eb1c12f9a50a1b6e5875a60a87f4d7c316a60309b80159a37339b0000000000000001000000000000000100000000000000209262d71b95ec9eb64ba8a382ee6759ade8843951c2cd0baf0674b609187409ea00000000000000010000000000000000000000000000002007278684710c2a5bf3fc2c6c980cc9f53d40e48b6d5f670027643cbac7e81428000000000000000100000000000000010000000000000020d88e32ca57779291f3f1884a09fede95396ed13167ccf7d16321670a7bebfca0000000000000000100000000000000010000000000000020a561cc5a9f83c255584627fa774e46f3fc6d38215c734efe0986b56b3c4f52f1000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000000b000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e81000000000000000700000000000000010000000000000000000000000000002060486cf0c6135834ec24cc8be82d906322a7e617bb0e15034d3e8022bc4631320000000000000001000000000000000000000000000000201ccdcf5d362cc8cf6dbb6b27ce42ce84e5779663ba052488158c82c2b2ef65e7000000000000000100000000000000010000000000000020825ee3c02460fef58dbc51e2ca6682fbc056f46b4d1391e553beff472e4e2e8c0000000000000001000000000000000000000000000000205cb09de0a6a839d84c4ea10afa16be4ad8b1d971e73f5789199dcc09ecd4c3aa0000000000000001000000000000000100000000000000205da4cb72d2b6f0628aa86052f19a29cb6788d00b56a5b9c5bc649141547f60540000000000000001000000000000000100000000000000201934146ed47d2948379e62720a3f106df41d7b1629f708a2eb17e4897203b66e0000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000027000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f00000000000000070000000000000001000000000000000000000000000000205ad520fd7d650bc2159ec7a22d04170a005e738d16c106f8cf131f916ae89b86000000000000000100000000000000000000000000000020d44bf5b04c317fa710cb3deeeb294206cc683eb38a27a51e9360d31cf4efa6c600000000000000010000000000000000000000000000002051d1a840c4bf016d6e20369a007ddc569ea146739ff71237f58f95a4bbffd8c2000000000000000100000000000000010000000000000020acbdd65b5c254807ba3ecf353116b298afbc921e72826c0e8f26b5c9c3261354000000000000000100000000000000010000000000000020d246948e148c28e1a318598b09a9c189b0b05c0b6bb4a36eaa4074724f06f4930000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc700000000000000270000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e49000000000000000700000000000000010000000000000000000000000000002073fcb272db0357d47ad2294713c7ff088c5de314ccc40bf3bdd750661fd36f5e0000000000000001000000000000000000000000000000208c6078be230f5275516a7784a9d8ab3178b98f6e429970d3a1f171fe87c74b54000000000000000100000000000000000000000000000020ec4d667f48de5bd98912360f2e56ea1edec9c059d2354892a6acce1b5a558183000000000000000100000000000000010000000000000020afa89b59e5a5236e32a73ae694b51d7d4bdb15539e920e21c9a63d44bc6116b3000000000000000100000000000000010000000000000020c773692c23fa66a0db8dd98727d10be5c585c04a963d45b2ad20e8b8165330ae000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d4500000000000000270000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b2400000000000000070000000000000001000000000000000000000000000000209a443fd10cc02c47af94e735246bfce70359ec366b6cb00dbc398a6e07291f0f00000000000000010000000000000000000000000000002022ddff1dc7e0bdd5ca70956ddcfd798ef0ba7df3b13d66acbcf7267b7d7ffd5d0000000000000001000000000000000000000000000000207932e921a98cedb43c51d4bfd85fd3dc9b4a7b158b737c80401d4c84ecf1040100000000000000010000000000000001000000000000002032f9eb13a5183fbbfdc76446bbc197096269582f310b0681a46c7f4d6c4e28b0000000000000000100000000000000010000000000000020daad75b73efa0317a19726ae40e56c0fbfe671d5c35b7bbdd480f965584fdd17000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000002700000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002067a218ff6c646e016ba6157229c21fb4eea9a8d62d0c8a6ef0af82fb65ed397800000000000000010000000000000000000000000000002058269ac84af1102cd4912bdd32f9502a398e078825ef7e0a2f1632e7c1a1f95600000000000000010000000000000000000000000000002028217401bec2708c56770ee3808f8119608f27e35c7544f6e2d928a12278bcd00000000000000001000000000000000100000000000000200647f5c1277fe43e7aeba33fbcc66f8bd6e5fab0f2fac9ec870984850f3cff6d0000000000000001000000000000000100000000000000208e7fdaf9c9b2be49d1c752bccd65793460b009d13eb56e204cb85aac7cd69fd3000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db0000000000000027000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e8100000000000000070000000000000001000000000000000000000000000000200f640275e4255fdabff1041a8d1e1b21b574c5abce8f52ceed9e3eaf329e3ea0000000000000000100000000000000000000000000000020eae4340353fe0a6165e4537c51cb4bfdfec561b80a03f95f5d0cf2d66dbefb7f000000000000000100000000000000000000000000000020765bf16c15f21f473e13797fc495c85685337871b1292c50056f684998c7fe240000000000000001000000000000000100000000000000200fd833d049118db9d7c66460e628930aecbea375ddbc44788cf634aaa0374e410000000000000001000000000000000100000000000000200ef173c9247d39786de55ec56480214f9e384f60caa1b301738b45441353c384000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b252000000000000003b000000000000002003e109082f5cde1f21a28b5973da21f7aed64de275d4195d8029ae3a121ac08f0000000000000007000000000000000100000000000000000000000000000020ae8ff7baf3001b31b8d7a929b8318d97008a59ac7caa6b20ba5b661a2d07c6de000000000000000100000000000000000000000000000020c5d98993fd161b7ca2d1e6451b3d49333fd9b313ab8a53bfac1fae40ac950d2900000000000000010000000000000001000000000000002002fa759a5feadf9addec2bd768a4edd7a19bc4690518b2c0b2b08ae6b5520ab8000000000000000100000000000000000000000000000020e2677b46d990f652790047f3424000d917af14e90bc68e7c25b3f2470b23641d00000000000000010000000000000000000000000000002090bdcbbd07a028b728fbc941b6ddf645102d2d62bad4a3bf5d8dece26d6fd7eb0000000000000001000000000000000000000000000000207fe4a275d885a52f5b91b2d54386aec5bc56bb363851157c7c740e55d35a1b33000000000000000100000000000000010000000000000020bf1dbb028d2ff28586c3983afe32f35af56fd5137c40407eed81b8cdbbe35fc7000000000000003b0000000000000020783f3df36656ee1336896a6137a629ec85f0a999c56ffb9a3c7a8a6076078e490000000000000007000000000000000100000000000000000000000000000020c78ae9e49b481fc20d53fa7f6e69f82567a6ad1f5fd861d492c90f2f72eb52800000000000000001000000000000000000000000000000206f030ac5ee00de698565c3c320150c06bbbe8a94b2b329a5d7af295ed1ba166e000000000000000100000000000000010000000000000020553281b59449e050dccb99cafbb03a06f701606e3af691f8390b9a1abe9fdd6c0000000000000001000000000000000000000000000000206a39ab6e3e0cd01623f0ab04ab853ad182e5d30e70684bff3761478639fdae4f00000000000000010000000000000000000000000000002005348bd4319248e7888740fde5f40fba4d42debcc9ddaa8f1736262ed75f62ce000000000000000100000000000000000000000000000020657129fc51ffb99777d509b896a31ddc9516657b8d4233c61faab56bb58346210000000000000001000000000000000100000000000000206617b8fdff9eaa65bc43288f66a21aad0c4fe368683124d2e3ec9914a0f49d45000000000000003b0000000000000020717cbbd3900a1c783ed4aedae26fa458fa46fd3899f72dc2897f20a12b4d6b240000000000000007000000000000000100000000000000000000000000000020dabf34fcab22ed94999b6bfc402c6953551b9210f26d79e3303320a4c1f8141100000000000000010000000000000000000000000000002015f510a0418d87bd959c8a7ed9b4911af15b4fccb3fb22e4f9c1a12c4c0aef670000000000000001000000000000000100000000000000200a7aeab348d1244e7753ffd8167f71260e33efe64335038234c67d8e327ce204000000000000000100000000000000000000000000000020e1221004077d2ff1278418042ae914ec2713af70f27dd9ae111944589c5858570000000000000001000000000000000000000000000000208c0d6516d92b17f85e9fdb133f3581422859645e9e4fee4d9537239a51565d06000000000000000100000000000000000000000000000020d372e488c3cafea8e5f955eda0befe421147bfde813c34d87a778634598e8db3000000000000000100000000000000010000000000000020995fa1eb1aeb7dc644b5805127b8d48814d1a6625459d256c0d385b9c5fa8ecd000000000000003b00000000000000209578489508806c26520ae17b7beabba1bcf55ef8fc999513ea439bf4d647c58e000000000000000700000000000000010000000000000000000000000000002067473019a33f0b4b98f4542ab8a661bd1ec3c8d00dc72ec310a6f9bb33d32ef2000000000000000100000000000000000000000000000020d3dbe474afa1719b413ad136d571e1d7b63297340280250fe54c60e2474f777e000000000000000100000000000000010000000000000020bc6c1efce9e02e710ac2cf5efbdc9ff8918a7c8c2493d45d713ab9c8390d9aaa00000000000000010000000000000000000000000000002099898f5de45a582199b698e2d4d750accfa47cf4cfa58b462ce2d4a27e5d4256000000000000000100000000000000000000000000000020c7d64a1481d6a0cc0d0f6fe6d66393133350e6a1c8ca3a0eea8ff232f6157bb0000000000000000100000000000000000000000000000020bd225dd3d8a45c4cf67c3e36a9a76688683eb34b80ac92fe306bfcff11bda320000000000000000100000000000000010000000000000020cf6de3f385cf7900eb223ea0363b77d60133d89893d75a2c7b77fe4ec4f068db000000000000003b000000000000002041553a8cb133c42f60a33a94ca821147e33cdff4c63271bcd03e3c3bc0bb6e810000000000000007000000000000000100000000000000000000000000000020a35826f7e3d01ba9c94cb9c6fb536540955712904b5628e4c5cba2a4cbf170ed00000000000000010000000000000000000000000000002074e83636612a886efee2f57a4cda74d0a38b7b059d557a378c087a0094cb5de7000000000000000100000000000000010000000000000020ff48eef9d4188a823aa066e4b7449bf84ece3885e48828d8e9799c6a9197e2d0000000000000000100000000000000000000000000000020ba48f08ae93b2d2367f81e08031b447f8f9a13e307dcd301215cd0af502df56900000000000000010000000000000000000000000000002005725bea0f7b5c20531943dc33972ca14647158c934546655952e1b5dce54060000000000000000100000000000000000000000000000020a8d23a8c0e519c9b6c4c5c3897ee0e71e568a72d291f4e0edbd1b8b07622d3070000000000000001000000000000000100000000000000208561b3dadec7bd7f77ca629d64237a446dfc464fed34fe3b2adcd359de42b2520000000000000078000000000000006b0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020f05480ee0de37ee038e5cccffb4c98d302f7168ed19191c495481704c54def8d000000000000000100000000000000000000000000000020d12f576d66114d6470ba70b12f6a6b3ad5994c1c565b1e4b3c9a2c60b93d8d4000000000000000010000000000000001000000000000002033b783188a768c9900f3534a0e63336fd8617cf00f1882d2116e913edca69462000000000000000100000000000000000000000000000020ac2540339187e086bb56c24e9bc8803eb73ab9a8cd7742217c77ed4ec38375cb00000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000002b0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000207a99c987269c4f7bc69ac58243569b8ab44d14dc578889ba6f8c96cd9498483500000000000000010000000000000000000000000000002036b1ba89b477c700d1f5a5911291fb7744e47bd13c456d8007cce12fd12942e2000000000000000100000000000000010000000000000020edecaa4fba9d071c269c1bc59d7e4d5c4b6f9d2d5fa90eb203870f4e2453368a000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000b0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020296c07c16302e67ee79eb4e32a8b88a5127a02942235dfc05c02848af3bababb000000000000000100000000000000000000000000000020aded90753d63160875ee716623b42dcd0e17b2e51d96246a2b04d7e0a9b159bc000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000350000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020e95e27b3a554f6708fff3160e8ffa02897a0c46766be4df42ee21a671bf73f650000000000000001000000000000000100000000000000203a71a97310873a6e2109821ec2d68ca9cac59a4e8f1fa1acc283c1426bc4ad660000000000000001000000000000000000000000000000201f7f6f4a5ba7e2b558aa234f32b625aff1b709426c9d7660aa3d1501fb399c3e00000000000000010000000000000001000000000000002000a339b2017e4ff00af2587d466b951ae73986c73cea2f8de05cc736127241b7000000000000000100000000000000000000000000000020062aa2291a340487e10924237753adc6d9f407bc12ce5cd333ea56049e1b0688000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000350000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020adc836d80414337b1defd845d535edf2a36cf6f4ef09b203189003582b1f12ad0000000000000001000000000000000100000000000000206749ee06016863994678bc938828b81cd515071878c4ae50737cf788e7d6de21000000000000000100000000000000000000000000000020fec076d105c2d8735f66138ea6dfdff16be57758f52d0e3c2a41034af1ebdcfd000000000000000100000000000000010000000000000020e8478e3851ec58ed15110c1288efba3d2bba96c7c31c11b07ee3110164c62ddf000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000150000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000205bd752c34dd1ffb1f4511f2a3b2fd6e99a14f198ffd6870e509f3690bc251e45000000000000000100000000000000010000000000000020d4339f4a4b8f88fbf9b35edd4f32d2d234cdcc11f21ae92c9eda6132e54512dd000000000000000100000000000000000000000000000020c2b25a992d72a16057cbf26a07dee3e883988768c1373a38e6fa04bd6dea58f6000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000290000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020e7515e81676506a8f5cf624b5dd866fdab7697e0c2dbca85ac9164efc9c17ce7000000000000000100000000000000010000000000000020df470f2db5b531ac3e3a9c261f22ae6aaaba8acf030244e1ba92f4880c6a6404000000000000000100000000000000010000000000000020c910536b1a2bc87fe67c2304ffaa58008f573b62f8c452f6c99cd6adf9e5c90000000000000000010000000000000000000000000000002075ff0965ec48ac2ea61d366948dd410c433897fb688c2d747b9b3ebc19bfd8b100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000290000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020dfa7e98b1a1863248b2ee6be8c2a86f2d393386a88ec54d26cf66ab48f123d6e0000000000000001000000000000000100000000000000209c6d689743e37c5497d0d37cbafee48803cd1c491f2490b27529e78b3a8e3798000000000000000100000000000000010000000000000020edecaa4fba9d071c269c1bc59d7e4d5c4b6f9d2d5fa90eb203870f4e2453368a000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000090000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020197f5a8ddfb431862daacb066a4e175651ce2e6c8b3af161f392cc32d04d2192000000000000000100000000000000010000000000000020df961a122574ba64260c12bf87541dd2b71af4830a8a5e4891b4ce465082650e000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000650000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000000000000000000002060e61c289048fe68e41dcafa09371c5f4f08b338cae3b06e75045507e6f0b8fa0000000000000001000000000000000100000000000000209c8b86534c7bbb64495bde72cfb4ad506572ebc4b52d179f13052a830a26c8470000000000000001000000000000000000000000000000205f0f4ef0b0336a8ca7ab6f93f89037ffb2ef3ab4eefb124de4ceaba14bc202bc00000000000000010000000000000001000000000000002034bc718ada48b1c3e40098db69a5812de5543e6a5b5833d5e0a54e55359f63e000000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000250000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020397d6af2c2c23783c65300a433f1bf01bf505daad2becc7ee49662e624e44a370000000000000001000000000000000100000000000000204d146118f85f76826a25cf7dee07c32864c72bb1bfc24bf355c820fad3e50d38000000000000000100000000000000000000000000000020a473a88f156d55a0a8ed02dbffcdea59e456736b904a51f731410fd32824c85d00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000050000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000207ec3750fbf0cb26a7e7afbd4d0955857a30b3ae5dc16a2c9422231d1b815643a0000000000000001000000000000000100000000000000206053a6c7f870a6e2e507c968c77f14ff1890236c4a9494b51e4504330bbbe24a000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000006c0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000100000000000000206224c20fc8705fc7c8745f754e44beccbc39b4b65fd77dbb6d7327305fc65eb80000000000000001000000000000000100000000000000207957873d64a7832817fdd8392d7d93a52c1bdb051c6ba68393292ff825ed5fc0000000000000000100000000000000000000000000000020a3cd7991cef557ed590ab17a798559fd01ecfdb5e78c00819bcf300d145c75dc000000000000000100000000000000000000000000000020ac2540339187e086bb56c24e9bc8803eb73ab9a8cd7742217c77ed4ec38375cb00000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000002c0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000204bf24ed40ffe8dee65f25b0dbc2f57e0c732455f613da29a7fd4cab31a58614100000000000000010000000000000001000000000000002074d50ad28c89f9f285a39f173c28cb7c489e3be2fc937f5ca07a39a4821ace4200000000000000010000000000000000000000000000002023c8e30657dab31eb4087cc667371110f11afe95196d16cd8739d0cb35aa756e000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000c0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000100000000000000204f8bb021bc92c89559816b614c02e1dc1a4d1e61e7cc86fa492e1ec44eded80c000000000000000100000000000000010000000000000020d829442a0c6955769fa29b8d24eeae2df434a9ec3e4e0414c0ecd99a792a3a81000000000000000100000000000000000000000000000020b24200e4b9cc675519b86d98fe1a7ac5ae0496753e547f381dec4ad14a957b3e0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000230000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000205cf48c0c36b10525b56dcc220e91c9848140c92fdeca52c56ec6d9cd02d1aa290000000000000001000000000000000000000000000000203c2c2c5b23d45c38cc4f2546a01a5a81022d7ff665da0d44b8d4c0456ad957330000000000000001000000000000000100000000000000204af55efcb972b9f757c502db229f4a5f526cb90019dc60dd34311181a44f302d00000000000000010000000000000001000000000000002069a7d22a734b99f64804828fbdef949b95628e75582d0aabe468003eeeab312100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000230000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000202785386e62f95cc8023ab2058717021e31f0c760cb877f92113d16c9a8c9b0c2000000000000000100000000000000000000000000000020578607a807d4f73deeb5d22b9cec5f150b8843bfd45d96b0bcadaa949be736ef000000000000000100000000000000010000000000000020aab712e6ce1ff19db41afbc609ca5be6be2abd724e3830dc141685ef68e06c8b00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000030000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000208feb4ba07f89fe793926a61c64b58100cf18f37127c348106c1c079f886e3269000000000000000100000000000000000000000000000020dcd503f703fa70091172331bbcbc9e65042332ee3843c882039467340ab22e36000000000000000100000000000000010000000000000020decdb4c147a8c02f779aac66d3a659d8e1abd835fe18309809782824ab84732c000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000003e0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000100000000000000207037e6ee8a471eda7381cbc150e84fc3050b9fb72237dcea2f7cc2c1e1a04e50000000000000000100000000000000000000000000000020a2242cfae2f7797eb6c839cfba67065552246c77682296f4f794c82da4a588b3000000000000000100000000000000000000000000000020fcd69a984c945aeebb6039f85ba167283b3e2c5d36bf443cea198e69bef2eed9000000000000000100000000000000000000000000000020cffe4831e2a26ab76149fb20a23cf45b16d397490a45c5d329ea78d0b5ddbee8000000000000000100000000000000000000000000000020062aa2291a340487e10924237753adc6d9f407bc12ce5cd333ea56049e1b0688000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000003e0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020d0ec56c3a973262d57767d2dd82aa096adc3de6c6f2e0507cbc6b582af7df14500000000000000010000000000000000000000000000002096b43586709e2685f97e3f578da7a9f97b43ab143b381e4d988185c671db7c9f000000000000000100000000000000000000000000000020b39586bb0cd8a40e72ce31db73202345877391aed798e636c946ae3bdd22458c000000000000000100000000000000000000000000000020c0cbba2ff376b0c33287e6c8038d53d1cb4d1114993344443c2510cf68f7cd19000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000001e0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000001000000000000002052262eb9df753bf806f5a73f6bd564de13ef6abcb7b2e007286352e7bdc33c7b000000000000000100000000000000000000000000000020477fe822b9a6b23859119970ba363ee10767b6918bb297cc786cbe9c36b3286c00000000000000010000000000000000000000000000002093c7397390a32cd8251e7c575b8580e66c26397c88cb3af66abd327e5ff6bb5000000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000750000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020a872c061c23968f9422a21acb8c6eb65d16ef11222052b06877b55f70111ea4a000000000000000100000000000000010000000000000020a56bcb959c92582bb06568cfa66d6e08efc70058564cd1ef2b4c39ea1537c82e000000000000000100000000000000000000000000000020dbf2ad8a15d6aa34f0e0151e7673b34fb9202adfe08f5c0c3a8249cb6042355d000000000000000100000000000000010000000000000020d748ef929a7d8e1731251ed9ee3a530a269c2b1bb187ad9d6e0dbbf5a9e2ba38000000000000000100000000000000000000000000000020722fd7abda1329ebacd9ae911c0af9e0fbdf9e0e318921c11f8a17b5daf8b4dc00000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000350000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020adc836d80414337b1defd845d535edf2a36cf6f4ef09b203189003582b1f12ad0000000000000001000000000000000100000000000000206749ee06016863994678bc938828b81cd515071878c4ae50737cf788e7d6de21000000000000000100000000000000000000000000000020fec076d105c2d8735f66138ea6dfdff16be57758f52d0e3c2a41034af1ebdcfd000000000000000100000000000000010000000000000020e8478e3851ec58ed15110c1288efba3d2bba96c7c31c11b07ee3110164c62ddf000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000150000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000205bd752c34dd1ffb1f4511f2a3b2fd6e99a14f198ffd6870e509f3690bc251e45000000000000000100000000000000010000000000000020d4339f4a4b8f88fbf9b35edd4f32d2d234cdcc11f21ae92c9eda6132e54512dd000000000000000100000000000000000000000000000020c2b25a992d72a16057cbf26a07dee3e883988768c1373a38e6fa04bd6dea58f6000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f3000000000000002a0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000010000000000000020251e7769fb02bc3de47a870c585fa19105884f4b2e3fea4ed72833df03e98a8c00000000000000010000000000000000000000000000002032f68c9c99de0339e363c8e1fdd3f2be9b9b9cea1b041518e36762453738b34e000000000000000100000000000000010000000000000020c910536b1a2bc87fe67c2304ffaa58008f573b62f8c452f6c99cd6adf9e5c90000000000000000010000000000000000000000000000002075ff0965ec48ac2ea61d366948dd410c433897fb688c2d747b9b3ebc19bfd8b100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000002a0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020a8224916437f8b6f1ff033c7f475df1e0626722b5f647820c4d05b8543274cd400000000000000010000000000000000000000000000002036b1ba89b477c700d1f5a5911291fb7744e47bd13c456d8007cce12fd12942e2000000000000000100000000000000010000000000000020edecaa4fba9d071c269c1bc59d7e4d5c4b6f9d2d5fa90eb203870f4e2453368a000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000a0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020b9cdd6baf80054f6f9b2537c8f84666704f696053df24dade4002f55204bb54d000000000000000100000000000000000000000000000020aded90753d63160875ee716623b42dcd0e17b2e51d96246a2b04d7e0a9b159bc000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000090000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000000000000000000002076d29834516fce143b0c53b9c3ff78b41930ca6ac3588c8f98acb71d27fcafe6000000000000000100000000000000010000000000000020b3e2b6b003719bacbd1ba90fd379a5413e835bc689b2f6dc493c04bebfd5f0fe000000000000000100000000000000010000000000000020f957a8311ccb00a44c0ca4e6baa904ba33a6b9a8a6d7e38e31293ac448840de10000000000000001000000000000000000000000000000207e487e460e84bad2d0785a3cdc2c5f8da7b9ca8c6f28840c1f015c58a9acb122000000000000000100000000000000010000000000000020429627b81c0fb400a31ba6aa55877710934f2b6e146c914cdf921cd6173ae6ea0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000090000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000000000000000000002050dd71f2a5f70c3c224747e65d08e2912feed18efb2514bd9967bc60e5bdabfc0000000000000001000000000000000100000000000000202db8d9e2f8724b6eb04644893596151639920b2d09bf320950c9eaa730edab10000000000000000100000000000000010000000000000020d28cb380af9daec92f7325fa457d5463b981c1952e1a8f8816b31023c01dfeb00000000000000001000000000000000000000000000000208fe0e4692931f39e6063c88d563370e6ce1b0a859b72f28333bd4911be1ee8100000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000090000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020197f5a8ddfb431862daacb066a4e175651ce2e6c8b3af161f392cc32d04d2192000000000000000100000000000000010000000000000020df961a122574ba64260c12bf87541dd2b71af4830a8a5e4891b4ce465082650e000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000002f0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000209a03a0d3d2fc74164ab3767d00df92cbe3ff07208f29772dda2056f2d0cdc4ed00000000000000010000000000000000000000000000002014a3350626bba70b03a34e53486a3434cc0e62f537934f28d62a4064bf6ead07000000000000000100000000000000000000000000000020f50d472e16da581ccd1794e4dd19676566c5ae596afc317bbd92eb24ec0f582800000000000000010000000000000000000000000000002075ff0965ec48ac2ea61d366948dd410c433897fb688c2d747b9b3ebc19bfd8b100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000002f0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000209b9ac64757a10443ba428b64239d3457e345c8e1e2ae0fffde82ea2c56928a5700000000000000010000000000000000000000000000002088b9583bd7630c7e905ad33efedc25d7244e592a9df7500faab7d7beb1e4fc7f00000000000000010000000000000000000000000000002023c8e30657dab31eb4087cc667371110f11afe95196d16cd8739d0cb35aa756e000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000f0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020e0aa88f7a6564d6277674bda5d37353a0f2c944b4342b644bc51bb5ff548d6310000000000000001000000000000000000000000000000205c0ce192f21c46cb409023abf0ce64d0212b423b3af3a736ddf17eb0ba53063a000000000000000100000000000000000000000000000020b24200e4b9cc675519b86d98fe1a7ac5ae0496753e547f381dec4ad14a957b3e0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000390000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000203ecd9aa772641b0404251c013947386a826e3e2ddc734ded5487b5a2b22e019e00000000000000010000000000000001000000000000002015d5e9a2e95da62d8f8f25f6b373b3aaa09b8efaa03ee8c896995205c43bee890000000000000001000000000000000100000000000000207fbdc3e72e0f44f1dd3484a76f8bac376ec61309a2a7abcdb97f242d524510dc000000000000000100000000000000000000000000000020cffe4831e2a26ab76149fb20a23cf45b16d397490a45c5d329ea78d0b5ddbee8000000000000000100000000000000000000000000000020062aa2291a340487e10924237753adc6d9f407bc12ce5cd333ea56049e1b0688000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000390000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000000000000000000002040054aa9992396cac808a29956863cf070505c94f0c2616a86734a141e1640ce00000000000000010000000000000001000000000000002005f62a18899c139d3c88741bb3a1a997e3d7cdb61957b60aefe6ab23bb128cf7000000000000000100000000000000010000000000000020b5b33f390231c5731f65c780fbe0456bbaf1930998e9bb50624dfbda3eea0173000000000000000100000000000000000000000000000020c0cbba2ff376b0c33287e6c8038d53d1cb4d1114993344443c2510cf68f7cd19000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000190000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000000000000000000002048c7708b569eef5c04a59be1149952df4910602a7300b6952fbfb2e0c44127dd00000000000000010000000000000001000000000000002031880b9f70718f89f51fe8ef9833aa0fc31c32cbdeafebefd6c6a9f52b58b6f8000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000470000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000204c137959bdb39be52872a5a5f4d847cd62790c3b23f30d128bb9b1a3bf85816f0000000000000001000000000000000000000000000000205c5b51d6284a58e6c8ee9c2cb730247854b570f0576a06839466494fbe4c22700000000000000001000000000000000000000000000000209b9560d87489a83eb9886ed6322d449da56f30d420cf71a263e4d158447e9bae0000000000000001000000000000000100000000000000202617b64dc5c12374479e248d2532b312913632b0bd3173281ee46c71984cf64a0000000000000001000000000000000100000000000000202e5d3b9f437c1607c3005d662c2d92172cf877a0cbb3dc5f190a9d14530872b7000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000070000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020c0f7ee64fb71fbd26ffd8a6a0af02171a6a31a22cf7cd8d155594626f7f4511000000000000000010000000000000000000000000000002098aa563cc59eb2e9e97a534f8d0fae233082cf4de5bbed17facb81a073824f7f0000000000000001000000000000000000000000000000203f65ebdac9f79d3f4c422467679fe1c02af3acb91aa61676aa1d23b5aa7856fd0000000000000001000000000000000100000000000000206c319a647884d434616eacf36caec4ac2a5bc526223a400a3bd8dd2964ae38dd0000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000070000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ec44515c3d7b3b9a11e3da608762ab204b0fa5c0956391c68c1697668a9273710000000000000001000000000000000000000000000000208fbbc5bcf18a6f2192270c95ced0d6a188cad37df66c92362cd1176d5e55a250000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000007c0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002063bf3b23315015e1adc1762b3c1850ff03a51196567978f86d5024c7a0de73c9000000000000000100000000000000010000000000000020ff30befcdc13f17b00a61618c39eeef68709abcc8b1de72f8ead0befdaaa52970000000000000001000000000000000000000000000000203a36f8e997b3b2c72b6ec889392c99bfc77765a3ef1fb3a93def7c5e8f57809200000000000000010000000000000000000000000000002033c565bb3752f64f447f6ebe0173140781b5ed36db1f9bbc5e893234b9469444000000000000000100000000000000000000000000000020722fd7abda1329ebacd9ae911c0af9e0fbdf9e0e318921c11f8a17b5daf8b4dc00000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000003c0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000200e54a9422a0cf6c324a00a8cddc17b3539aaf3c751946afacfad0561264b15c200000000000000010000000000000001000000000000002018af88b395325dc04c81a1d726bfd18736ae2fd2f630de7b182051a9c09f02cf000000000000000100000000000000000000000000000020b39586bb0cd8a40e72ce31db73202345877391aed798e636c946ae3bdd22458c000000000000000100000000000000000000000000000020c0cbba2ff376b0c33287e6c8038d53d1cb4d1114993344443c2510cf68f7cd19000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000001c0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000001000000000000002095f4ac6b3e2e183bb93aebb79803012190eacf35832971494df03e0d17fba592000000000000000100000000000000010000000000000020013360ef6490f2c8a960ce2350fe9ef2cbc756a5eed8f12d7831efbd5193e6ec00000000000000010000000000000000000000000000002093c7397390a32cd8251e7c575b8580e66c26397c88cb3af66abd327e5ff6bb5000000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000520000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002058fd1386abf8fba7d73b0cd85787de342e52d4932018bcaf265467ca581b17aa0000000000000001000000000000000000000000000000201c14c9509d43f0e5593c27891f7eb1f1c45d5108803c34538eb78936777a470a0000000000000001000000000000000100000000000000201757e8b824ba08877e6797711cc600ba844fa683ae5af0ff6346dcaf7ff4bfe90000000000000001000000000000000100000000000000204a72e7f6542ab8ea188d0da041d15e0f832a3a90c8e2b609e1862bf16cf2d6d20000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000120000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000209c6e52cb4970ef20ed9e6ca51b008c84f21c65b838aa98715b90d9a4b095238600000000000000010000000000000000000000000000002006f24b1f3d61331779ef24aa9e7ee7f5ae1003e32757b097403852df9d9ebad1000000000000000100000000000000010000000000000020a1de388ee959866ac96dae7322f125f97b0cc78ba10354c40e12d332f0b8c1260000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000120000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020121206d56db9de789d2044312c404adb1d63ef44270c2b9b8d488534326fc0df00000000000000010000000000000000000000000000002058d37629e57c4b8a2f35676902ca656040de3c44f1f760421e2d99231d094657000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000630000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020d8bba2cb23ca982bdaebfffef73aa19e97cb11ad2da60d991ead80c519df994c0000000000000001000000000000000000000000000000206a277ffcea07aae6241f405907300e9fe726fb42eeffcf3c1ab1d02d39527f5f00000000000000010000000000000001000000000000002058c422cbbcdb44c2e50564f1a4d673250c1a8079d08abbb6fbcfb9d9196f2a5e00000000000000010000000000000001000000000000002034bc718ada48b1c3e40098db69a5812de5543e6a5b5833d5e0a54e55359f63e000000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000230000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000202785386e62f95cc8023ab2058717021e31f0c760cb877f92113d16c9a8c9b0c2000000000000000100000000000000000000000000000020578607a807d4f73deeb5d22b9cec5f150b8843bfd45d96b0bcadaa949be736ef000000000000000100000000000000010000000000000020aab712e6ce1ff19db41afbc609ca5be6be2abd724e3830dc141685ef68e06c8b00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000030000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000208feb4ba07f89fe793926a61c64b58100cf18f37127c348106c1c079f886e3269000000000000000100000000000000000000000000000020dcd503f703fa70091172331bbcbc9e65042332ee3843c882039467340ab22e36000000000000000100000000000000010000000000000020decdb4c147a8c02f779aac66d3a659d8e1abd835fe18309809782824ab84732c000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000580000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002041905fef066dedad83c4778021c73c0adefe416625f23930d9c3a5256666539a000000000000000100000000000000010000000000000020685ba534b323adb5c080389de802005e0d62a135c4def202cab0ce0f762dd506000000000000000100000000000000010000000000000020bed1591bf31cb76667bbac884876a30b05cde44aabdde9b62e31aca8fdcb8d6c0000000000000001000000000000000000000000000000200695c368ac41670f905aca58a152ecec2739bba8897d30c916ebeb2266a13f3c0000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000180000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000207ad4f9c61b787d857bf257f4b4ef512fc787af3bbc3b3ae9a33f70104eba1052000000000000000100000000000000010000000000000020f2fd747c60e6a755e0c9927f2ac14b8a9a6a9e7bd2382aea0424a8bf8bb364b700000000000000010000000000000001000000000000002051a26213d703ef3b43c259e3dde639aeb69c384d5a0750bab0bfaf9441c44b30000000000000000100000000000000000000000000000020ca41411edb735901d3d469c4de1749cc4c65ad69fd090cc2ffecac54d48cfc6700000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000180000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000001000000000000002002f7c11a64454846016ff07a86166e246792e46ead456388c56f7c8661982a0300000000000000010000000000000001000000000000002031880b9f70718f89f51fe8ef9833aa0fc31c32cbdeafebefd6c6a9f52b58b6f8000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f3000000000000006e0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002031a8756643c54f4dd7ebeb2b50b4f1a8a9cb25a188f008b482e6d4f4316d90e70000000000000001000000000000000000000000000000200853e82f56c831edd27b4315d8441300dd885c5e7c7f5d616ffed1376ccddb77000000000000000100000000000000000000000000000020a3cd7991cef557ed590ab17a798559fd01ecfdb5e78c00819bcf300d145c75dc000000000000000100000000000000000000000000000020ac2540339187e086bb56c24e9bc8803eb73ab9a8cd7742217c77ed4ec38375cb00000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000002e0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020b45c46b6bfc73d19765fde88cbcb9c9ed00241d91213c7dbf48a4701ffa671e300000000000000010000000000000000000000000000002088b9583bd7630c7e905ad33efedc25d7244e592a9df7500faab7d7beb1e4fc7f00000000000000010000000000000000000000000000002023c8e30657dab31eb4087cc667371110f11afe95196d16cd8739d0cb35aa756e000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000e0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000100000000000000205d576d283949d2d9ea5232c280327eea51dfc287b7cd8fa2f92ede50082f65f30000000000000001000000000000000000000000000000205c0ce192f21c46cb409023abf0ce64d0212b423b3af3a736ddf17eb0ba53063a000000000000000100000000000000000000000000000020b24200e4b9cc675519b86d98fe1a7ac5ae0496753e547f381dec4ad14a957b3e0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000240000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000010000000000000020e7cf472a91a374041562dfd4230e83c661670117558f91eacb6dd4be459d987e000000000000000100000000000000010000000000000020f50732d5a42f1b0d87afd6365d5647fda4fae69fd77da14b8b592c062543449e000000000000000100000000000000000000000000000020189f8f49b3fcf5dd2db426dda3eb5c5a49902e5ec418e5920b46078c9561587300000000000000010000000000000001000000000000002069a7d22a734b99f64804828fbdef949b95628e75582d0aabe468003eeeab312100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000240000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000001000000000000002071eb40a58357c704da2fc3ef4a01fd731dcdc638837edb572698fb0285d3e3290000000000000001000000000000000100000000000000204d146118f85f76826a25cf7dee07c32864c72bb1bfc24bf355c820fad3e50d38000000000000000100000000000000000000000000000020a473a88f156d55a0a8ed02dbffcdea59e456736b904a51f731410fd32824c85d00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000040000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000100000000000000202ab10faffda32dbc444943cb375d23d9bbc522d04d7e9e035d60514f0de4e1c00000000000000001000000000000000100000000000000206053a6c7f870a6e2e507c968c77f14ff1890236c4a9494b51e4504330bbbe24a000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000520000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002058fd1386abf8fba7d73b0cd85787de342e52d4932018bcaf265467ca581b17aa0000000000000001000000000000000000000000000000201c14c9509d43f0e5593c27891f7eb1f1c45d5108803c34538eb78936777a470a0000000000000001000000000000000100000000000000201757e8b824ba08877e6797711cc600ba844fa683ae5af0ff6346dcaf7ff4bfe90000000000000001000000000000000100000000000000204a72e7f6542ab8ea188d0da041d15e0f832a3a90c8e2b609e1862bf16cf2d6d20000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000120000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000209c6e52cb4970ef20ed9e6ca51b008c84f21c65b838aa98715b90d9a4b095238600000000000000010000000000000000000000000000002006f24b1f3d61331779ef24aa9e7ee7f5ae1003e32757b097403852df9d9ebad1000000000000000100000000000000010000000000000020a1de388ee959866ac96dae7322f125f97b0cc78ba10354c40e12d332f0b8c1260000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000120000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020121206d56db9de789d2044312c404adb1d63ef44270c2b9b8d488534326fc0df00000000000000010000000000000000000000000000002058d37629e57c4b8a2f35676902ca656040de3c44f1f760421e2d99231d094657000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000150000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000202dfb705cf0773325d865b2823b5c3b20634e92cbddbfb7e98f840d6f7f0cd1e1000000000000000100000000000000010000000000000020e59a6b53635deb999b58e09b035326f591d1ea01e564985f6a7f793c6bf3966a000000000000000100000000000000000000000000000020ef222ba951ff4be9f98d12d9cf3900134a6aba4c747e7650da993540006a873e000000000000000100000000000000010000000000000020f47b51ea9ec831ba2f9f37449b77f0d6e9d5ff943cbe2c6e1cf9c64362cdffbc000000000000000100000000000000000000000000000020087a45e04cacdbbfd7bf5f4467aa4ef994dbbe07bb0c00eb8a41fc68513b5fcd0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000150000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020bdb5391a5a1274c68f03bcd596525fb579f7f84f21b80bc9e7441460e7747fc40000000000000001000000000000000100000000000000200809eb6900e43e75e87bee49691ff66cb5fd6ae642941bf31153e002d623dfcb00000000000000010000000000000000000000000000002034e16f28dd459f2a298413b61e0cbc2c89a4408622ac4eea524539e28afb26db0000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000150000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000205bd752c34dd1ffb1f4511f2a3b2fd6e99a14f198ffd6870e509f3690bc251e45000000000000000100000000000000010000000000000020d4339f4a4b8f88fbf9b35edd4f32d2d234cdcc11f21ae92c9eda6132e54512dd000000000000000100000000000000000000000000000020c2b25a992d72a16057cbf26a07dee3e883988768c1373a38e6fa04bd6dea58f6000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000500000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000010000000000000020115e86e3ef77f81c0c6d978f02544c1cbfb0ee5b0d7a87aab596082b8f062141000000000000000100000000000000010000000000000020776510077360aac3daf4e6d9804fb4e675e3dd448780d16fac79c91e6aad65510000000000000001000000000000000100000000000000201757e8b824ba08877e6797711cc600ba844fa683ae5af0ff6346dcaf7ff4bfe90000000000000001000000000000000100000000000000204a72e7f6542ab8ea188d0da041d15e0f832a3a90c8e2b609e1862bf16cf2d6d20000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000100000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000204900fae21c97e623f07f79fe3ef9bc7a7675d3e26031fcdeaf2a992145fe656d000000000000000100000000000000010000000000000020fa3eb6db6caec2d36117549803d60c3152287b7340ce206ed687c6eed0a5a703000000000000000100000000000000010000000000000020a1de388ee959866ac96dae7322f125f97b0cc78ba10354c40e12d332f0b8c1260000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000100000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020fae01b47ed693639d79d867e70f9bc0c94fb4801ebb949835d8fc397e65cce20000000000000000100000000000000010000000000000020a2941a749a13f35d92e40e700a6202cc6abbe985df3f454213a1e49c912dc303000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000470000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000204c137959bdb39be52872a5a5f4d847cd62790c3b23f30d128bb9b1a3bf85816f0000000000000001000000000000000000000000000000205c5b51d6284a58e6c8ee9c2cb730247854b570f0576a06839466494fbe4c22700000000000000001000000000000000000000000000000209b9560d87489a83eb9886ed6322d449da56f30d420cf71a263e4d158447e9bae0000000000000001000000000000000100000000000000202617b64dc5c12374479e248d2532b312913632b0bd3173281ee46c71984cf64a0000000000000001000000000000000100000000000000202e5d3b9f437c1607c3005d662c2d92172cf877a0cbb3dc5f190a9d14530872b7000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000070000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020c0f7ee64fb71fbd26ffd8a6a0af02171a6a31a22cf7cd8d155594626f7f4511000000000000000010000000000000000000000000000002098aa563cc59eb2e9e97a534f8d0fae233082cf4de5bbed17facb81a073824f7f0000000000000001000000000000000000000000000000203f65ebdac9f79d3f4c422467679fe1c02af3acb91aa61676aa1d23b5aa7856fd0000000000000001000000000000000100000000000000206c319a647884d434616eacf36caec4ac2a5bc526223a400a3bd8dd2964ae38dd0000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000070000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ec44515c3d7b3b9a11e3da608762ab204b0fa5c0956391c68c1697668a9273710000000000000001000000000000000000000000000000208fbbc5bcf18a6f2192270c95ced0d6a188cad37df66c92362cd1176d5e55a250000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000080000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000100000000000000200d5876fdad00b4c0303c60fc7a12e99e700e6d7820b577230905de0e50041e2b000000000000000100000000000000010000000000000020b3e2b6b003719bacbd1ba90fd379a5413e835bc689b2f6dc493c04bebfd5f0fe000000000000000100000000000000010000000000000020f957a8311ccb00a44c0ca4e6baa904ba33a6b9a8a6d7e38e31293ac448840de10000000000000001000000000000000000000000000000207e487e460e84bad2d0785a3cdc2c5f8da7b9ca8c6f28840c1f015c58a9acb122000000000000000100000000000000010000000000000020429627b81c0fb400a31ba6aa55877710934f2b6e146c914cdf921cd6173ae6ea0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000080000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020840c3d19f2fe67cc954314d2ce77b54a580b2c608e4449784be79ddf4a59df240000000000000001000000000000000100000000000000202db8d9e2f8724b6eb04644893596151639920b2d09bf320950c9eaa730edab10000000000000000100000000000000010000000000000020d28cb380af9daec92f7325fa457d5463b981c1952e1a8f8816b31023c01dfeb00000000000000001000000000000000000000000000000208fe0e4692931f39e6063c88d563370e6ce1b0a859b72f28333bd4911be1ee8100000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000080000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000100000000000000202fac5f02ce8691357585ea182875f72eebebe6e1361d291dc1afc5a4b56d4448000000000000000100000000000000010000000000000020df961a122574ba64260c12bf87541dd2b71af4830a8a5e4891b4ce465082650e000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000300000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002084930badad1a4c12e93a543a16ebb1bf7e13b40447be684c6a523ac6d3e724bd000000000000000100000000000000010000000000000020baef0c7dacdb68f7f28f9492df14e61e019c96320c8bfb146edcb48f2917fb3f00000000000000010000000000000001000000000000002061b4eb540ee5cc428f06f637319ff68249b6dbd56d32039b10915b5e4091414400000000000000010000000000000001000000000000002000a339b2017e4ff00af2587d466b951ae73986c73cea2f8de05cc736127241b7000000000000000100000000000000000000000000000020062aa2291a340487e10924237753adc6d9f407bc12ce5cd333ea56049e1b0688000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000300000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020370b155db51b4e0a516c4d9190d766e2f2d67494d126eb292dd01baa68b071be000000000000000100000000000000010000000000000020259a6f712ffc78d9d3d63c248f1243271c985c8bdc333d4c8a4002ec2ce670bd00000000000000010000000000000001000000000000002056e24e7aeb03d0de22b5a7f5cb2acb386d8bb5c87b9837b1e2a642c59818853c000000000000000100000000000000010000000000000020e8478e3851ec58ed15110c1288efba3d2bba96c7c31c11b07ee3110164c62ddf000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000100000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020fae01b47ed693639d79d867e70f9bc0c94fb4801ebb949835d8fc397e65cce20000000000000000100000000000000010000000000000020a2941a749a13f35d92e40e700a6202cc6abbe985df3f454213a1e49c912dc303000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f3000000000000000c0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000001000000000000002071deb818617a3b9a2099f4339927df9c52b033ccfef22f6d762d72815c971c060000000000000001000000000000000100000000000000202ea84ec56db7749fcc1e638c9bf3c21030c58be2418df1fd1cb2e9332c3e29da0000000000000001000000000000000000000000000000205e513f0498f2737ae414236db14b320203848d241a833a404410bafc8308bed80000000000000001000000000000000000000000000000207e487e460e84bad2d0785a3cdc2c5f8da7b9ca8c6f28840c1f015c58a9acb122000000000000000100000000000000010000000000000020429627b81c0fb400a31ba6aa55877710934f2b6e146c914cdf921cd6173ae6ea0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000000c0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020ee562b03f987a8a59e26eb3756f946716af565fbdfc860a7efe24040ab27f7c7000000000000000100000000000000010000000000000020c7af57ed64b93b749058783bf3e2550c7661bb0f7f61a80eba033e06fac8c0b500000000000000010000000000000000000000000000002016c9b629002882c572efda5600f9ea95b3ab30f46aa76435ce0cbbdf544745f50000000000000001000000000000000000000000000000208fe0e4692931f39e6063c88d563370e6ce1b0a859b72f28333bd4911be1ee8100000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c000000000000000c0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000100000000000000204f8bb021bc92c89559816b614c02e1dc1a4d1e61e7cc86fa492e1ec44eded80c000000000000000100000000000000010000000000000020d829442a0c6955769fa29b8d24eeae2df434a9ec3e4e0414c0ecd99a792a3a81000000000000000100000000000000000000000000000020b24200e4b9cc675519b86d98fe1a7ac5ae0496753e547f381dec4ad14a957b3e0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000530000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020540e480b8bcbaf580c86653298d93576ebc6ef27e27644438ebcafc0112ff3520000000000000001000000000000000000000000000000201c14c9509d43f0e5593c27891f7eb1f1c45d5108803c34538eb78936777a470a0000000000000001000000000000000100000000000000201757e8b824ba08877e6797711cc600ba844fa683ae5af0ff6346dcaf7ff4bfe90000000000000001000000000000000100000000000000204a72e7f6542ab8ea188d0da041d15e0f832a3a90c8e2b609e1862bf16cf2d6d20000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000130000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000000000000000000002036ffd1520e3ef39982efaafb4efad5e15be2ae530fced2f0f27af6c7da56a7f200000000000000010000000000000000000000000000002006f24b1f3d61331779ef24aa9e7ee7f5ae1003e32757b097403852df9d9ebad1000000000000000100000000000000010000000000000020a1de388ee959866ac96dae7322f125f97b0cc78ba10354c40e12d332f0b8c1260000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000130000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020fa192fefa0b8755c51bed3b7311290e36fe6d80001f8ea6dbf6213cb6531e55e00000000000000010000000000000000000000000000002058d37629e57c4b8a2f35676902ca656040de3c44f1f760421e2d99231d094657000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000450000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020b0927efcaf8012ab54f803b021b3844fea191217448fbb47a2cc9f582617e07c0000000000000001000000000000000100000000000000201bef037b54e19ea88c2ed3642051afda43f873f94c31edd3c0a6fbbae02f3a1f0000000000000001000000000000000000000000000000209b9560d87489a83eb9886ed6322d449da56f30d420cf71a263e4d158447e9bae0000000000000001000000000000000100000000000000202617b64dc5c12374479e248d2532b312913632b0bd3173281ee46c71984cf64a0000000000000001000000000000000100000000000000202e5d3b9f437c1607c3005d662c2d92172cf877a0cbb3dc5f190a9d14530872b7000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000050000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000202ae3952ca5065b66c6e658aa3aed832a1a5388ac22f00325a25d1e3dc248a24a0000000000000001000000000000000100000000000000203b2127de9285dca2e6999d013e10b0d0dd99b3b67e3aba6052d682affbead9ca0000000000000001000000000000000000000000000000203f65ebdac9f79d3f4c422467679fe1c02af3acb91aa61676aa1d23b5aa7856fd0000000000000001000000000000000100000000000000206c319a647884d434616eacf36caec4ac2a5bc526223a400a3bd8dd2964ae38dd0000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000050000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000207ec3750fbf0cb26a7e7afbd4d0955857a30b3ae5dc16a2c9422231d1b815643a0000000000000001000000000000000100000000000000206053a6c7f870a6e2e507c968c77f14ff1890236c4a9494b51e4504330bbbe24a000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000290000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020e7515e81676506a8f5cf624b5dd866fdab7697e0c2dbca85ac9164efc9c17ce7000000000000000100000000000000010000000000000020df470f2db5b531ac3e3a9c261f22ae6aaaba8acf030244e1ba92f4880c6a6404000000000000000100000000000000010000000000000020c910536b1a2bc87fe67c2304ffaa58008f573b62f8c452f6c99cd6adf9e5c90000000000000000010000000000000000000000000000002075ff0965ec48ac2ea61d366948dd410c433897fb688c2d747b9b3ebc19bfd8b100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000290000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020dfa7e98b1a1863248b2ee6be8c2a86f2d393386a88ec54d26cf66ab48f123d6e0000000000000001000000000000000100000000000000209c6d689743e37c5497d0d37cbafee48803cd1c491f2490b27529e78b3a8e3798000000000000000100000000000000010000000000000020edecaa4fba9d071c269c1bc59d7e4d5c4b6f9d2d5fa90eb203870f4e2453368a000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000090000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020197f5a8ddfb431862daacb066a4e175651ce2e6c8b3af161f392cc32d04d2192000000000000000100000000000000010000000000000020df961a122574ba64260c12bf87541dd2b71af4830a8a5e4891b4ce465082650e000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000002a0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000010000000000000020251e7769fb02bc3de47a870c585fa19105884f4b2e3fea4ed72833df03e98a8c00000000000000010000000000000000000000000000002032f68c9c99de0339e363c8e1fdd3f2be9b9b9cea1b041518e36762453738b34e000000000000000100000000000000010000000000000020c910536b1a2bc87fe67c2304ffaa58008f573b62f8c452f6c99cd6adf9e5c90000000000000000010000000000000000000000000000002075ff0965ec48ac2ea61d366948dd410c433897fb688c2d747b9b3ebc19bfd8b100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000002a0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020a8224916437f8b6f1ff033c7f475df1e0626722b5f647820c4d05b8543274cd400000000000000010000000000000000000000000000002036b1ba89b477c700d1f5a5911291fb7744e47bd13c456d8007cce12fd12942e2000000000000000100000000000000010000000000000020edecaa4fba9d071c269c1bc59d7e4d5c4b6f9d2d5fa90eb203870f4e2453368a000000000000000100000000000000000000000000000020cc75e01e4056e13b412d7371e8c78d98c79f3f3379126ee7d45574d2f50d4b0800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000000a0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020b9cdd6baf80054f6f9b2537c8f84666704f696053df24dade4002f55204bb54d000000000000000100000000000000000000000000000020aded90753d63160875ee716623b42dcd0e17b2e51d96246a2b04d7e0a9b159bc000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000590000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000000000000000000002048d9d9618f9eaa58e1484f959f8a5148f85791cc85ba2af619399369cbc50cb3000000000000000100000000000000010000000000000020685ba534b323adb5c080389de802005e0d62a135c4def202cab0ce0f762dd506000000000000000100000000000000010000000000000020bed1591bf31cb76667bbac884876a30b05cde44aabdde9b62e31aca8fdcb8d6c0000000000000001000000000000000000000000000000200695c368ac41670f905aca58a152ecec2739bba8897d30c916ebeb2266a13f3c0000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000190000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000000000000000000002003dc8114fc0f30c6c621f310a7ec185bbbda863cd5a678018986fb2fe1c23bda000000000000000100000000000000010000000000000020f2fd747c60e6a755e0c9927f2ac14b8a9a6a9e7bd2382aea0424a8bf8bb364b700000000000000010000000000000001000000000000002051a26213d703ef3b43c259e3dde639aeb69c384d5a0750bab0bfaf9441c44b30000000000000000100000000000000000000000000000020ca41411edb735901d3d469c4de1749cc4c65ad69fd090cc2ffecac54d48cfc6700000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000190000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000000000000000000002048c7708b569eef5c04a59be1149952df4910602a7300b6952fbfb2e0c44127dd00000000000000010000000000000001000000000000002031880b9f70718f89f51fe8ef9833aa0fc31c32cbdeafebefd6c6a9f52b58b6f8000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000670000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde0000000000000000700000000000000010000000000000000000000000000002066ea85f4f95b650023472c67984af05120547fdc9874b59221a4e4eff8ee50110000000000000001000000000000000000000000000000202ef0ae9c4c56bb8126356422070f0bcf4e085336f4e04f03d37890d27140ff520000000000000001000000000000000000000000000000205f0f4ef0b0336a8ca7ab6f93f89037ffb2ef3ab4eefb124de4ceaba14bc202bc00000000000000010000000000000001000000000000002034bc718ada48b1c3e40098db69a5812de5543e6a5b5833d5e0a54e55359f63e000000000000000010000000000000001000000000000002024216a05ee70da634949b8eba2cb53ec7e755365404f497a40e221526b6bb86900000000000000010000000000000000000000000000002094bbec63c061eb91d37e7e0aeaa77379fa047d1ab3e725ab64b5aa6248128eee000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb98900000000000000270000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020b367160bae1858f86bbd2d9d20c8957c876c1e5dd45fcdb51b6d99fa7b16b7f8000000000000000100000000000000000000000000000020d17240f26585b674eeb75538f8da9b37885f8170a13395cab4556cf69af7a346000000000000000100000000000000000000000000000020a473a88f156d55a0a8ed02dbffcdea59e456736b904a51f731410fd32824c85d00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000070000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ec44515c3d7b3b9a11e3da608762ab204b0fa5c0956391c68c1697668a9273710000000000000001000000000000000000000000000000208fbbc5bcf18a6f2192270c95ced0d6a188cad37df66c92362cd1176d5e55a250000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000005a0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000010000000000000020c6531cac784f3c5dcd5f18bc0ebc3b81bed1cb7d774d5ebbd19b3cc2d6f7a4230000000000000001000000000000000000000000000000205c25bff302bdba92e040ad64f96687966837a39b3cc81cdf4f98067b40099354000000000000000100000000000000010000000000000020bed1591bf31cb76667bbac884876a30b05cde44aabdde9b62e31aca8fdcb8d6c0000000000000001000000000000000000000000000000200695c368ac41670f905aca58a152ecec2739bba8897d30c916ebeb2266a13f3c0000000000000001000000000000000000000000000000205c79d06c475778beeefcc256ed74acb1ec891168bc4374c1e056e02bd97d55ee000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000001a0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c000000000000000600000000000000010000000000000001000000000000002085f7f8c66ab28a5c2d55f4c445b191cdeda53e367e00f891d3833194c6ca43b3000000000000000100000000000000000000000000000020881d95086058e3ef6b43a1d5bf4427b713b7201e8773fc5acc649fb238d11a9700000000000000010000000000000001000000000000002051a26213d703ef3b43c259e3dde639aeb69c384d5a0750bab0bfaf9441c44b30000000000000000100000000000000000000000000000020ca41411edb735901d3d469c4de1749cc4c65ad69fd090cc2ffecac54d48cfc6700000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c000000000000001a0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f9000000000000000500000000000000010000000000000001000000000000002025d51d3a4806479ff83d5287f1310032ba4daca1977794630e046b8bd7f07cf30000000000000001000000000000000000000000000000201d40b9df8f9ad20e006a9afba4b528df3e9adec1ab48d831beab628257f04b45000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000250000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000203c582d5508c8400f143e93e822d1ae941db22dcde74447c7d221848ed8a9581d000000000000000100000000000000010000000000000020f50732d5a42f1b0d87afd6365d5647fda4fae69fd77da14b8b592c062543449e000000000000000100000000000000000000000000000020189f8f49b3fcf5dd2db426dda3eb5c5a49902e5ec418e5920b46078c9561587300000000000000010000000000000001000000000000002069a7d22a734b99f64804828fbdef949b95628e75582d0aabe468003eeeab312100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000250000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020397d6af2c2c23783c65300a433f1bf01bf505daad2becc7ee49662e624e44a370000000000000001000000000000000100000000000000204d146118f85f76826a25cf7dee07c32864c72bb1bfc24bf355c820fad3e50d38000000000000000100000000000000000000000000000020a473a88f156d55a0a8ed02dbffcdea59e456736b904a51f731410fd32824c85d00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000050000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f900000000000000050000000000000001000000000000000000000000000000207ec3750fbf0cb26a7e7afbd4d0955857a30b3ae5dc16a2c9422231d1b815643a0000000000000001000000000000000100000000000000206053a6c7f870a6e2e507c968c77f14ff1890236c4a9494b51e4504330bbbe24a000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000004a0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000100000000000000203bdbbb7a53ede6c5f3b807f6db4a6e4a877a8d4872f47947601a757aea66a29c0000000000000001000000000000000000000000000000200e9fd08a50d5ce7d891b1869bcec8c5d814ddeead2a0309db24686c93ddf96c700000000000000010000000000000001000000000000002084b8787e10e53c9e9407e9aae957f65ad3a5a1f5627fea8da5f3e5b4923d20c9000000000000000100000000000000000000000000000020dddfd422ed289b82ee5409c70f6e0327d5da0df25707896c0b1150dd6cc0e3fc0000000000000001000000000000000100000000000000202e5d3b9f437c1607c3005d662c2d92172cf877a0cbb3dc5f190a9d14530872b7000000000000000100000000000000010000000000000020c36aaeb10a696038c5289de9fa21ef46a007facf3a91e9c18a4089f377b43525000000000000000100000000000000000000000000000020bd1a188012998d5212ca96a3d1eedfe958de12c2814bc3aaa506e8a28fecb989000000000000000a0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000010000000000000020be9857c0ec00e0984ff792f4d0a70189426bcf6102be634ad967a730cfd184a600000000000000010000000000000000000000000000002003a632394c761fac9254791aa4f0b50bec0efa30fd2e32c06960d418db1140cc000000000000000100000000000000010000000000000020d28cb380af9daec92f7325fa457d5463b981c1952e1a8f8816b31023c01dfeb00000000000000001000000000000000000000000000000208fe0e4692931f39e6063c88d563370e6ce1b0a859b72f28333bd4911be1ee8100000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c000000000000000a0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020b9cdd6baf80054f6f9b2537c8f84666704f696053df24dade4002f55204bb54d000000000000000100000000000000000000000000000020aded90753d63160875ee716623b42dcd0e17b2e51d96246a2b04d7e0a9b159bc000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000001b0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000201e8e33de9d9e7e6c30bd2a223f6f1effe887362ebda4fdd529f0e77c31a90cdf0000000000000001000000000000000000000000000000208e052e0b38d03ec57a5abdb571ad023cfbf2bc8aff55b08b36604ba7ce0a0cfb000000000000000100000000000000010000000000000020aadb4ff3481d349ed85540f77d42c01a6c2263c1de01decd2f26aaa55354db7700000000000000010000000000000000000000000000002014f38e41c1f29a5e1b55cc0f2e576bceaaf7ec0009bd4724dc0c08da0c9fbab8000000000000000100000000000000000000000000000020087a45e04cacdbbfd7bf5f4467aa4ef994dbbe07bb0c00eb8a41fc68513b5fcd0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000001b0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020afd82fc70be537f73bd65af4304cd4f19e18e3a042f85c35d9bf1531cde3d81c000000000000000100000000000000000000000000000020881d95086058e3ef6b43a1d5bf4427b713b7201e8773fc5acc649fb238d11a9700000000000000010000000000000001000000000000002051a26213d703ef3b43c259e3dde639aeb69c384d5a0750bab0bfaf9441c44b30000000000000000100000000000000000000000000000020ca41411edb735901d3d469c4de1749cc4c65ad69fd090cc2ffecac54d48cfc6700000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c000000000000001b0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ae24a2597d7bac81f6fc57883d80c5c98d0a7b80ff09749c80976b3facbd512e0000000000000001000000000000000000000000000000201d40b9df8f9ad20e006a9afba4b528df3e9adec1ab48d831beab628257f04b45000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000120000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000100000000000000206eeec64ce6daf0f3505e8068b1a7c24b10395d40841a0b1ad57071a86010993b00000000000000010000000000000000000000000000002037f8915c582d2612b7724528b5827fcece10bc673141aceb9d0421a6ff43d1800000000000000001000000000000000100000000000000205eaed6e88e0f102f7b30c88d5abedc094b2bf9269cb5b885f4a521f0d266aaf2000000000000000100000000000000010000000000000020f47b51ea9ec831ba2f9f37449b77f0d6e9d5ff943cbe2c6e1cf9c64362cdffbc000000000000000100000000000000000000000000000020087a45e04cacdbbfd7bf5f4467aa4ef994dbbe07bb0c00eb8a41fc68513b5fcd0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000120000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000100000000000000209c6e52cb4970ef20ed9e6ca51b008c84f21c65b838aa98715b90d9a4b095238600000000000000010000000000000000000000000000002006f24b1f3d61331779ef24aa9e7ee7f5ae1003e32757b097403852df9d9ebad1000000000000000100000000000000010000000000000020a1de388ee959866ac96dae7322f125f97b0cc78ba10354c40e12d332f0b8c1260000000000000001000000000000000100000000000000203561baa040af1905e2f5cc241f22eec8b13269be42960286edcc1b4616cbf47100000000000000010000000000000000000000000000002007d1f4b124eb8cbc746b57b85de7f96cbdc28de0ae8c2460d7011688b74754590000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c00000000000000120000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000010000000000000020121206d56db9de789d2044312c404adb1d63ef44270c2b9b8d488534326fc0df00000000000000010000000000000000000000000000002058d37629e57c4b8a2f35676902ca656040de3c44f1f760421e2d99231d094657000000000000000100000000000000010000000000000020abe202d963ab10602779de452fee9d36a920e1355d5a0501073f02c5d6e85564000000000000000100000000000000010000000000000020196996a3932985c74bf4f89a1f6879d9f44daf3668bd5457fb3817a29091e320000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f3000000000000000b0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020656006e7638800f735e9116d478f4c84deb5befe5e34a4a5b26c207169a94d1e000000000000000100000000000000000000000000000020b0e5c9feccd69201a38f2263daf10f212909e2fa64ec87c6764f66753a901e70000000000000000100000000000000010000000000000020f957a8311ccb00a44c0ca4e6baa904ba33a6b9a8a6d7e38e31293ac448840de10000000000000001000000000000000000000000000000207e487e460e84bad2d0785a3cdc2c5f8da7b9ca8c6f28840c1f015c58a9acb122000000000000000100000000000000010000000000000020429627b81c0fb400a31ba6aa55877710934f2b6e146c914cdf921cd6173ae6ea0000000000000001000000000000000100000000000000200eee3fa997e805ba8b973f5a024092b3a38cb2322df1ac6df17202dddceee668000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000000b0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c00000000000000060000000000000001000000000000000000000000000000205e2943e747288dd97528c80fa4ad97f9537ee89e6863c33355e3bd1be1a3523b00000000000000010000000000000000000000000000002003a632394c761fac9254791aa4f0b50bec0efa30fd2e32c06960d418db1140cc000000000000000100000000000000010000000000000020d28cb380af9daec92f7325fa457d5463b981c1952e1a8f8816b31023c01dfeb00000000000000001000000000000000000000000000000208fe0e4692931f39e6063c88d563370e6ce1b0a859b72f28333bd4911be1ee8100000000000000001000000000000000100000000000000209d69ce984dc9e68e85cfbf8ac78e3f0f04203435d9081eb1d54abdbe7de408100000000000000001000000000000000100000000000000201285aa4373f733d0f0bf0fe4e6ed14075b8913447105cc5b6befc360d8ec573c000000000000000b0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020296c07c16302e67ee79eb4e32a8b88a5127a02942235dfc05c02848af3bababb000000000000000100000000000000000000000000000020aded90753d63160875ee716623b42dcd0e17b2e51d96246a2b04d7e0a9b159bc000000000000000100000000000000010000000000000020726ba0406cbd50e76d6808a693efc9856954b7d37cd309ff99f1dfc1742959cf0000000000000001000000000000000000000000000000201e0c8c4df933b4ba61e849f34416d11068ac62b184c3bccb94569823cb40b449000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c600000000000000270000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde000000000000000070000000000000001000000000000000000000000000000209076a454d42514f6f4d95546996cfae36ff969cd50ca2a05129edd84940c9cc4000000000000000100000000000000000000000000000020eb6e993908fcda79ffdf4433d4d851cd7709ef191e5410f092eedd650286b019000000000000000100000000000000000000000000000020189f8f49b3fcf5dd2db426dda3eb5c5a49902e5ec418e5920b46078c9561587300000000000000010000000000000001000000000000002069a7d22a734b99f64804828fbdef949b95628e75582d0aabe468003eeeab312100000000000000010000000000000001000000000000002064efc7725db7b0748e44478e06684bf37b1522d0d2bbfbf2054f77d8e2085d33000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f00000000000000270000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020b367160bae1858f86bbd2d9d20c8957c876c1e5dd45fcdb51b6d99fa7b16b7f8000000000000000100000000000000000000000000000020d17240f26585b674eeb75538f8da9b37885f8170a13395cab4556cf69af7a346000000000000000100000000000000000000000000000020a473a88f156d55a0a8ed02dbffcdea59e456736b904a51f731410fd32824c85d00000000000000010000000000000001000000000000002054a0173d4864ca949574b148be7a57ac50629c20e0daa501136a72f36816d69800000000000000010000000000000001000000000000002040b880dea164cb45e0dee325bcb778ccd280ff7fe9c4d13021403e29df906d610000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e00000000000000070000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ec44515c3d7b3b9a11e3da608762ab204b0fa5c0956391c68c1697668a9273710000000000000001000000000000000000000000000000208fbbc5bcf18a6f2192270c95ced0d6a188cad37df66c92362cd1176d5e55a250000000000000000100000000000000000000000000000020ddda267d22287ab92ea1214652fe26e2466bd88bc136542456a5fa7c4c4c5644000000000000000100000000000000010000000000000020acf672d9d4a09e3e4bb2c4eb60740c784c7b92412f8dc850afc5b1570a23443e000000000000000100000000000000010000000000000020cad3bebefb38a7b3d3571e05fdcdcbc8813043fb7e41279a6400a5fb4f40a8c6000000000000003b0000000000000020e51bf6cc459c83f890a16d53ad2e3aa330597200791be23f05e3b7a6afedbde00000000000000007000000000000000100000000000000000000000000000020ddbe343994630a0bec83d3e2ccca55d3d11261db4ef1b6a277e7368009e6dafa0000000000000001000000000000000000000000000000204d99f06b6bf3311f8374e5ebbb5697dff371b25a3eb8f3a08e25a3f9bd26c7ce0000000000000001000000000000000100000000000000207fbdc3e72e0f44f1dd3484a76f8bac376ec61309a2a7abcdb97f242d524510dc000000000000000100000000000000000000000000000020cffe4831e2a26ab76149fb20a23cf45b16d397490a45c5d329ea78d0b5ddbee8000000000000000100000000000000000000000000000020062aa2291a340487e10924237753adc6d9f407bc12ce5cd333ea56049e1b0688000000000000000100000000000000000000000000000020f1e575e8c45d2c1e97be0a9b023f343e0681d21f47c6dfc6b857bac13d54ee19000000000000000100000000000000010000000000000020a75c0d0024bff7acf5d21a6e33d138c5ecb656121a0b359d44dc581ba3337e1f000000000000003b0000000000000020f01c66a01cdd0847ac24ab0b9f55e0827224f15de7fe22c69b52704cad805c0c0000000000000006000000000000000100000000000000000000000000000020b0f095b36c07199858b9c8df426f0bbb2e91b4fa9072f23317b8effef1bdcd9f000000000000000100000000000000000000000000000020fcc45780585d187e4da530f5be32153ac47cbea300f0889529e63f4970c0193e000000000000000100000000000000010000000000000020b5b33f390231c5731f65c780fbe0456bbaf1930998e9bb50624dfbda3eea0173000000000000000100000000000000000000000000000020c0cbba2ff376b0c33287e6c8038d53d1cb4d1114993344443c2510cf68f7cd19000000000000000100000000000000000000000000000020f968a8fc8ace595ae064e199eabaad505a9fb7f7e1e58028dec7776773bfd0d10000000000000001000000000000000000000000000000209af778151dcae7b9fb339c22b5185a46f02b7618a4d56926ccfa158fe48afb7e000000000000001b0000000000000020221b8776d73fa5a02f19d30ec49a8f6c0559d42293eca99bd4908d2f3988e4f90000000000000005000000000000000100000000000000000000000000000020ae24a2597d7bac81f6fc57883d80c5c98d0a7b80ff09749c80976b3facbd512e0000000000000001000000000000000000000000000000201d40b9df8f9ad20e006a9afba4b528df3e9adec1ab48d831beab628257f04b45000000000000000100000000000000010000000000000020846b4553cd7aed7181d4c08617720dbc21fc81efb49a9ba833f21faac5f1cd3400000000000000010000000000000000000000000000002076c872f5f9d7741e65a6108979f4d60e9d50cc6b9eb61287a8003a23c9dee837000000000000000100000000000000000000000000000020bf78848cb20216a25974ac12b6d88f40dedbab265f85000cface230162bd44f300000000000000020ce6338263b410ba57b276d43b5746395fbbe1d877596456167126f7c5677dc63be3802a266788bb5d6a1c291a85e753c60bb4c1f1951d84eda314e1c95f67016b8ec18b \ No newline at end of file diff --git a/contracts/zkllvm/circuit7/public_input.inp b/contracts/zkllvm/circuit7/public_input.inp deleted file mode 100644 index e69de29..0000000