From c1fbdf981ca561d7e6a19a135793efca37de394d Mon Sep 17 00:00:00 2001 From: c-node Date: Sun, 16 Jun 2024 19:08:24 -0400 Subject: [PATCH 01/30] forge install: forge-std v1.8.2 --- .gitmodules | 3 +++ lib/forge-std | 1 + 2 files changed, 4 insertions(+) create mode 160000 lib/forge-std diff --git a/.gitmodules b/.gitmodules index 15e9a83f..814fe710 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "lib/openzeppelin-contracts-upgradeable"] path = lib/openzeppelin-contracts-upgradeable url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable +[submodule "lib/forge-std"] + path = lib/forge-std + url = https://github.com/foundry-rs/forge-std diff --git a/lib/forge-std b/lib/forge-std new file mode 160000 index 00000000..978ac6fa --- /dev/null +++ b/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 978ac6fadb62f5f0b723c996f64be52eddba6801 From 1e2fcd0b30a76d125027c4336e0fa2522f0dc3fa Mon Sep 17 00:00:00 2001 From: c-node Date: Wed, 31 Jul 2024 20:58:11 -0400 Subject: [PATCH 02/30] blob to shares --- src/lib/commitment/Commitment.sol | 79 +++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/lib/commitment/Commitment.sol diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol new file mode 100644 index 00000000..fa6a1a80 --- /dev/null +++ b/src/lib/commitment/Commitment.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.22; + +import {Namespace} from "../tree/Types.sol"; +import "openzeppelin-contracts/contracts/utils/math/Math.sol"; + +// Turn little-endian into big-endian +// Source: https://ethereum.stackexchange.com/a/83627 +function reverse(uint32 input) pure returns (uint32 v) { + v = input; + + // swap bytes + v = ((v & 0xFF00FF00) >> 8) | + ((v & 0x00FF00FF) << 8); + + // swap 2-byte long pairs + v = (v >> 16) | (v << 16); +} + +function div_ceil(uint256 x, uint256 y) pure returns (uint256 z) { + z = x / y + (x % y == 0 ? 0 : 1); +} + +function num_shares(uint256 blobSize) pure returns (uint256) { + return div_ceil((Math.max(blobSize, 478) - 478), 478) + 1; +} + +function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { + for (uint256 i = 0; i < namespaceBytes.length; i++) { + share[i] = namespaceBytes[i]; + } +} + +function writeInfoByteV0(bytes memory share, bool startingSequence) pure { + share[29] = bytes1(0 | (startingSequence ? 1 : 0)); +} + +function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { + bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(reverse(sequenceLength))); + share[30] = sequenceLengthBigEndianBytes[0]; + share[31] = sequenceLengthBigEndianBytes[1]; + share[32] = sequenceLengthBigEndianBytes[2]; + share[33] = sequenceLengthBigEndianBytes[3]; +} + +function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure { + while (cursor < length) { + buffer[cursor] = data[cursor]; + cursor++; + } +} + +// Share Version 0 +function bytesToShares(bytes calldata blobData, Namespace calldata namespace) returns (bytes[] memory shares) { + + // Allocate memory for the shares + bytes[] memory _shares = new bytes[](num_shares(blobData.length)); + // Get the namespace bytes + bytes29 namespaceBytes = namespace.toBytes(); + + // The first share is special, because it has startingSequence set to true and the 4-byte sequence length + copyNamespace(_shares[0], namespaceBytes); + writeInfoByteV0(_shares[0], true); + writeSequenceLength(_shares[0], uint32(blobData.length)); + uint32 cursor = 0; + copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length + + // The remaining shares are all the same + for (uint256 i = 1; i < _shares.length; i++) { + // Copy the namespace + copyNamespace(_shares[i], namespaceBytes); + // Write the info byte + writeInfoByteV0(_shares[i], false); + // Copy the data + copyBytes(_shares[i], cursor, blobData, uint32(482)); + } + + shares = _shares; +} \ No newline at end of file From 3c492742696713fbe138043f5b9741252e95dafa Mon Sep 17 00:00:00 2001 From: c-node Date: Thu, 1 Aug 2024 00:15:14 -0400 Subject: [PATCH 03/30] typo --- src/lib/commitment/Commitment.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index fa6a1a80..6cdf94c6 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -22,7 +22,7 @@ function div_ceil(uint256 x, uint256 y) pure returns (uint256 z) { } function num_shares(uint256 blobSize) pure returns (uint256) { - return div_ceil((Math.max(blobSize, 478) - 478), 478) + 1; + return div_ceil((Math.max(blobSize, 478) - 478), 482) + 1; } function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { From b7b79e8d744a2251259ef5cb808f28e9b7990eb8 Mon Sep 17 00:00:00 2001 From: c-node Date: Sun, 4 Aug 2024 03:06:23 -0400 Subject: [PATCH 04/30] this is annoying, but accelerate --- foundry.toml | 1 + src/lib/commitment/Commitment.sol | 26 +++++---- src/lib/commitment/test/Commitment.t.sol | 69 ++++++++++++++++++++++++ src/lib/commitment/test/testVectors.json | 1 + 4 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 src/lib/commitment/test/Commitment.t.sol create mode 100644 src/lib/commitment/test/testVectors.json diff --git a/foundry.toml b/foundry.toml index 405fe645..ec611a3b 100644 --- a/foundry.toml +++ b/foundry.toml @@ -2,3 +2,4 @@ solc_version = "0.8.22" via_ir = true gas_reports = ["*"] +fs_permissions = [{ access = "read", path = "./"}] \ No newline at end of file diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 6cdf94c6..9c5a7bf0 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -3,6 +3,7 @@ pragma solidity ^0.8.22; import {Namespace} from "../tree/Types.sol"; import "openzeppelin-contracts/contracts/utils/math/Math.sol"; +import "forge-std/console.sol"; // Turn little-endian into big-endian // Source: https://ethereum.stackexchange.com/a/83627 @@ -25,7 +26,7 @@ function num_shares(uint256 blobSize) pure returns (uint256) { return div_ceil((Math.max(blobSize, 478) - 478), 482) + 1; } -function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { +function copyNamespace(bytes memory share, bytes29 namespaceBytes) { for (uint256 i = 0; i < namespaceBytes.length; i++) { share[i] = namespaceBytes[i]; } @@ -51,10 +52,13 @@ function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 } // Share Version 0 -function bytesToShares(bytes calldata blobData, Namespace calldata namespace) returns (bytes[] memory shares) { +function bytesToShares(bytes memory blobData, Namespace memory namespace) returns (bytes[] memory shares) { // Allocate memory for the shares bytes[] memory _shares = new bytes[](num_shares(blobData.length)); + for (uint256 i = 0; i < _shares.length; i++) { + _shares[i] = new bytes(512); + } // Get the namespace bytes bytes29 namespaceBytes = namespace.toBytes(); @@ -65,14 +69,16 @@ function bytesToShares(bytes calldata blobData, Namespace calldata namespace) re uint32 cursor = 0; copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length - // The remaining shares are all the same - for (uint256 i = 1; i < _shares.length; i++) { - // Copy the namespace - copyNamespace(_shares[i], namespaceBytes); - // Write the info byte - writeInfoByteV0(_shares[i], false); - // Copy the data - copyBytes(_shares[i], cursor, blobData, uint32(482)); + if (shares.length != 1) { + // The remaining shares are all the same + for (uint256 i = 1; i < _shares.length; i++) { + // Copy the namespace + copyNamespace(_shares[i], namespaceBytes); + // Write the info byte + writeInfoByteV0(_shares[i], false); + // Copy the data + copyBytes(_shares[i], cursor, blobData, uint32(482)); // copy the full 482 bytes + } } shares = _shares; diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol new file mode 100644 index 00000000..aca859e6 --- /dev/null +++ b/src/lib/commitment/test/Commitment.t.sol @@ -0,0 +1,69 @@ +pragma solidity ^0.8.22; + +import "ds-test/test.sol"; +import "forge-std/Vm.sol"; +import "forge-std/console.sol"; +import {bytesToShares} from "../Commitment.sol"; +import {toNamespace, Namespace} from "../../tree/Types.sol"; + +contract CommitmentTest is DSTest { + Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code"))))); + + struct TestVector { + string data; + string namespace; + string shares; + } + + function fromHexChar(uint8 c) public pure returns (uint8) { + if (bytes1(c) >= bytes1('0') && bytes1(c) <= bytes1('9')) { + return c - uint8(bytes1('0')); + } + if (bytes1(c) >= bytes1('a') && bytes1(c) <= bytes1('f')) { + return 10 + c - uint8(bytes1('a')); + } + if (bytes1(c) >= bytes1('A') && bytes1(c) <= bytes1('F')) { + return 10 + c - uint8(bytes1('A')); + } + revert("fail"); + } + + function fromHex(string memory s) public pure returns (bytes memory) { + bytes memory ss = bytes(s); + require(ss.length%2 == 0); // length must be even + bytes memory r = new bytes(ss.length/2); + for (uint i=0; i Date: Sun, 4 Aug 2024 11:45:52 -0400 Subject: [PATCH 05/30] somewhat functioning test setup. Now to make it work. --- src/lib/commitment/Commitment.sol | 20 ++++++++++++-- src/lib/commitment/test/Commitment.t.sol | 33 ++++++++++-------------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 9c5a7bf0..7d05e82a 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -51,11 +51,27 @@ function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 } } +function bytesToHexString(bytes memory buffer) pure returns (string memory) { + + // Fixed buffer size for hexadecimal convertion + bytes memory converted = new bytes(buffer.length * 2); + + bytes memory _base = "0123456789abcdef"; + + for (uint256 i = 0; i < buffer.length; i++) { + converted[i * 2] = _base[uint8(buffer[i]) / _base.length]; + converted[i * 2 + 1] = _base[uint8(buffer[i]) % _base.length]; + } + + return string(abi.encodePacked(converted)); +} + // Share Version 0 function bytesToShares(bytes memory blobData, Namespace memory namespace) returns (bytes[] memory shares) { // Allocate memory for the shares - bytes[] memory _shares = new bytes[](num_shares(blobData.length)); + uint256 numShares = num_shares(blobData.length); + bytes[] memory _shares = new bytes[](numShares); for (uint256 i = 0; i < _shares.length; i++) { _shares[i] = new bytes(512); } @@ -66,7 +82,7 @@ function bytesToShares(bytes memory blobData, Namespace memory namespace) return copyNamespace(_shares[0], namespaceBytes); writeInfoByteV0(_shares[0], true); writeSequenceLength(_shares[0], uint32(blobData.length)); - uint32 cursor = 0; + uint32 cursor = 34; copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length if (shares.length != 1) { diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index aca859e6..c09c1abf 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.22; import "ds-test/test.sol"; import "forge-std/Vm.sol"; import "forge-std/console.sol"; -import {bytesToShares} from "../Commitment.sol"; +import {bytesToShares, bytesToHexString} from "../Commitment.sol"; import {toNamespace, Namespace} from "../../tree/Types.sol"; contract CommitmentTest is DSTest { @@ -15,7 +15,7 @@ contract CommitmentTest is DSTest { string shares; } - function fromHexChar(uint8 c) public pure returns (uint8) { + /*function fromHexChar(uint8 c) public pure returns (uint8) { if (bytes1(c) >= bytes1('0') && bytes1(c) <= bytes1('9')) { return c - uint8(bytes1('0')); } @@ -36,26 +36,21 @@ contract CommitmentTest is DSTest { r[i] = bytes1(fromHexChar(uint8(ss[2*i])) * 16 + fromHexChar(uint8(ss[2*i+1]))); } return r; - } - - function bytesToHexString(bytes memory buffer) public pure returns (string memory) { - - // Fixed buffer size for hexadecimal convertion - bytes memory converted = new bytes(buffer.length * 2); - - bytes memory _base = "0123456789abcdef"; + }*/ - for (uint256 i = 0; i < buffer.length; i++) { - converted[i * 2] = _base[uint8(buffer[i]) / _base.length]; - converted[i * 2 + 1] = _base[uint8(buffer[i]) % _base.length]; - } - - return string(abi.encodePacked(converted)); - } function testFirstVec() external { - string memory path = "./src/lib/commitment/test/testVectors.json"; + bytes29 nsString = hex"0000000000000000000000000000000000000090e3af22120ec6299e05"; + Namespace memory ns = toNamespace(nsString); + bytes memory data = hex"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + bytes[] memory shares = bytesToShares(data, ns); + console.log("Got:"); + console.log(bytesToHexString(shares[0])); + bytes memory expected = hex"0000000000000000000000000000000000000090e3af22120ec6299e0501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + console.log("Expected:"); + console.log(bytesToHexString(expected)); + /*string memory path = "./src/lib/commitment/test/testVectors.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); @@ -64,6 +59,6 @@ contract CommitmentTest is DSTest { console.log(bytesToHexString(abi.encodePacked(namespace.toBytes()))); bytes memory data = fromHex(vecs[0].data); bytes memory shares = bytesToShares(data, namespace)[0]; - console.log(bytesToHexString(shares)); + console.log(bytesToHexString(shares));*/ } } \ No newline at end of file From e3bfc120fcccf0184673aa4f30c304b60aabeab5 Mon Sep 17 00:00:00 2001 From: c-node Date: Sun, 4 Aug 2024 12:31:42 -0400 Subject: [PATCH 06/30] test setup works. now to fix the implementation --- src/lib/commitment/Commitment.sol | 10 ++++-- src/lib/commitment/test/Commitment.t.sol | 45 ++++++++++++++---------- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 7d05e82a..6bf53bfb 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -37,7 +37,9 @@ function writeInfoByteV0(bytes memory share, bool startingSequence) pure { } function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { - bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(reverse(sequenceLength))); + // Removed the "reverse", because it didn't work- apparently it's already big-endian? + //bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(reverse(sequenceLength))); + bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(sequenceLength)); share[30] = sequenceLengthBigEndianBytes[0]; share[31] = sequenceLengthBigEndianBytes[1]; share[32] = sequenceLengthBigEndianBytes[2]; @@ -46,7 +48,11 @@ function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure { while (cursor < length) { - buffer[cursor] = data[cursor]; + if (cursor < data.length) { + buffer[cursor] = data[cursor]; + } else { + buffer[cursor] = 0; + } cursor++; } } diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index c09c1abf..604c507f 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -15,7 +15,7 @@ contract CommitmentTest is DSTest { string shares; } - /*function fromHexChar(uint8 c) public pure returns (uint8) { + function fromHexChar(uint8 c) public pure returns (uint8) { if (bytes1(c) >= bytes1('0') && bytes1(c) <= bytes1('9')) { return c - uint8(bytes1('0')); } @@ -36,29 +36,36 @@ contract CommitmentTest is DSTest { r[i] = bytes1(fromHexChar(uint8(ss[2*i])) * 16 + fromHexChar(uint8(ss[2*i+1]))); } return r; - }*/ - + } + function compareStrings(string memory a, string memory b) public pure returns (bool) { + return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b)))); + } function testFirstVec() external { - bytes29 nsString = hex"0000000000000000000000000000000000000090e3af22120ec6299e05"; - Namespace memory ns = toNamespace(nsString); - bytes memory data = hex"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - bytes[] memory shares = bytesToShares(data, ns); - console.log("Got:"); - console.log(bytesToHexString(shares[0])); - bytes memory expected = hex"0000000000000000000000000000000000000090e3af22120ec6299e0501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - console.log("Expected:"); - console.log(bytesToHexString(expected)); - /*string memory path = "./src/lib/commitment/test/testVectors.json"; + + // test vectors were generated here: https://github.com/S1nus/share-test-vec-gen + string memory path = "./src/lib/commitment/test/testVectors.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); - console.log(vecs[0].namespace); - Namespace memory namespace = toNamespace(bytes29(fromHex(vecs[0].namespace))); - console.log(bytesToHexString(abi.encodePacked(namespace.toBytes()))); - bytes memory data = fromHex(vecs[0].data); - bytes memory shares = bytesToShares(data, namespace)[0]; - console.log(bytesToHexString(shares));*/ + + for (uint i = 0; i < vecs.length; i++) { + bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); + Namespace memory ns = toNamespace(nsString); + bytes memory data = fromHex(vecs[i].data); + bytes[] memory shares = bytesToShares(data, ns); + string memory out = ""; + for (uint j = 0; j < shares.length; j++) { + out = string.concat(out, bytesToHexString(shares[j])); + } + //assertEq(out, vecs[i].shares); + if (compareStrings(out, vecs[i].shares) == false) { + console.log("Failed on test vector ", i); + console.log("Expected: ", vecs[i].shares); + console.log("Got: ", out); + return; + } + } } } \ No newline at end of file From 650595b119f8847a2bce6b8cde54a7b374a7549d Mon Sep 17 00:00:00 2001 From: c-node Date: Sun, 4 Aug 2024 16:18:14 -0400 Subject: [PATCH 07/30] so close --- src/lib/commitment/Commitment.sol | 25 +++++++++++++----------- src/lib/commitment/test/Commitment.t.sol | 4 ++-- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 6bf53bfb..88de132d 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -33,7 +33,7 @@ function copyNamespace(bytes memory share, bytes29 namespaceBytes) { } function writeInfoByteV0(bytes memory share, bool startingSequence) pure { - share[29] = bytes1(0 | (startingSequence ? 1 : 0)); + share[29] = bytes1(startingSequence ? 1 : 0); } function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { @@ -46,15 +46,19 @@ function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { share[33] = sequenceLengthBigEndianBytes[3]; } -function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure { - while (cursor < length) { +function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) returns (uint32) { + + uint256 start = buffer.length - length; + for (uint256 i = start; i < buffer.length; i++) { if (cursor < data.length) { - buffer[cursor] = data[cursor]; - } else { - buffer[cursor] = 0; + buffer[i] = data[cursor]; + cursor++; + } + else { + buffer[i] = 0; } - cursor++; } + return cursor; } function bytesToHexString(bytes memory buffer) pure returns (string memory) { @@ -74,7 +78,6 @@ function bytesToHexString(bytes memory buffer) pure returns (string memory) { // Share Version 0 function bytesToShares(bytes memory blobData, Namespace memory namespace) returns (bytes[] memory shares) { - // Allocate memory for the shares uint256 numShares = num_shares(blobData.length); bytes[] memory _shares = new bytes[](numShares); @@ -88,8 +91,8 @@ function bytesToShares(bytes memory blobData, Namespace memory namespace) return copyNamespace(_shares[0], namespaceBytes); writeInfoByteV0(_shares[0], true); writeSequenceLength(_shares[0], uint32(blobData.length)); - uint32 cursor = 34; - copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length + uint32 cursor = 0; + cursor = copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length if (shares.length != 1) { // The remaining shares are all the same @@ -99,7 +102,7 @@ function bytesToShares(bytes memory blobData, Namespace memory namespace) return // Write the info byte writeInfoByteV0(_shares[i], false); // Copy the data - copyBytes(_shares[i], cursor, blobData, uint32(482)); // copy the full 482 bytes + cursor = copyBytes(_shares[i], cursor, blobData, uint32(482)); // copy the full 482 bytes } } diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 604c507f..a7d60fa1 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -62,8 +62,8 @@ contract CommitmentTest is DSTest { //assertEq(out, vecs[i].shares); if (compareStrings(out, vecs[i].shares) == false) { console.log("Failed on test vector ", i); - console.log("Expected: ", vecs[i].shares); - console.log("Got: ", out); + console.log(vecs[i].shares); + console.log(out); return; } } From c13cba6bf4f540eef311386469edd0066a5a40f0 Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 5 Aug 2024 16:44:13 -0400 Subject: [PATCH 08/30] blob to shares --- src/lib/commitment/Commitment.sol | 15 +++-- src/lib/commitment/test/Commitment.t.sol | 16 ++--- src/lib/commitment/test/testVectors.json | 83 +++++++++++++++++++++++- src/lib/tree/Types.sol | 6 ++ 4 files changed, 105 insertions(+), 15 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 88de132d..ba46fcb1 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.22; -import {Namespace} from "../tree/Types.sol"; +import {Namespace, isReservedNamespace} from "../tree/Types.sol"; import "openzeppelin-contracts/contracts/utils/math/Math.sol"; import "forge-std/console.sol"; @@ -26,7 +26,7 @@ function num_shares(uint256 blobSize) pure returns (uint256) { return div_ceil((Math.max(blobSize, 478) - 478), 482) + 1; } -function copyNamespace(bytes memory share, bytes29 namespaceBytes) { +function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { for (uint256 i = 0; i < namespaceBytes.length; i++) { share[i] = namespaceBytes[i]; } @@ -46,7 +46,7 @@ function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { share[33] = sequenceLengthBigEndianBytes[3]; } -function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) returns (uint32) { +function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure returns (uint32) { uint256 start = buffer.length - length; for (uint256 i = start; i < buffer.length; i++) { @@ -77,7 +77,13 @@ function bytesToHexString(bytes memory buffer) pure returns (string memory) { } // Share Version 0 -function bytesToShares(bytes memory blobData, Namespace memory namespace) returns (bytes[] memory shares) { +function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure returns (bytes[] memory shares, bool err) { + if (namespace.version != 0) { + return (new bytes[](0), true); + } + if (isReservedNamespace(namespace)) { + return (new bytes[](0), true); + } // Allocate memory for the shares uint256 numShares = num_shares(blobData.length); bytes[] memory _shares = new bytes[](numShares); @@ -107,4 +113,5 @@ function bytesToShares(bytes memory blobData, Namespace memory namespace) return } shares = _shares; + err = false; } \ No newline at end of file diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index a7d60fa1..088a161c 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.22; import "ds-test/test.sol"; import "forge-std/Vm.sol"; import "forge-std/console.sol"; -import {bytesToShares, bytesToHexString} from "../Commitment.sol"; +import {bytesToSharesV0, bytesToHexString} from "../Commitment.sol"; import {toNamespace, Namespace} from "../../tree/Types.sol"; contract CommitmentTest is DSTest { @@ -42,7 +42,7 @@ contract CommitmentTest is DSTest { return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b)))); } - function testFirstVec() external { + function testBytesToSharesV0() view external { // test vectors were generated here: https://github.com/S1nus/share-test-vec-gen string memory path = "./src/lib/commitment/test/testVectors.json"; @@ -54,18 +54,14 @@ contract CommitmentTest is DSTest { bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); Namespace memory ns = toNamespace(nsString); bytes memory data = fromHex(vecs[i].data); - bytes[] memory shares = bytesToShares(data, ns); + (bytes[] memory shares, bool err) = bytesToSharesV0(data, ns); string memory out = ""; for (uint j = 0; j < shares.length; j++) { out = string.concat(out, bytesToHexString(shares[j])); } - //assertEq(out, vecs[i].shares); - if (compareStrings(out, vecs[i].shares) == false) { - console.log("Failed on test vector ", i); - console.log(vecs[i].shares); - console.log(out); - return; - } + // none of the test vectors should cause an error + assert(!err); + assert(compareStrings(out, vecs[i].shares)); } } } \ No newline at end of file diff --git a/src/lib/commitment/test/testVectors.json b/src/lib/commitment/test/testVectors.json index 4bd201e6..532dda78 100644 --- a/src/lib/commitment/test/testVectors.json +++ b/src/lib/commitment/test/testVectors.json @@ -1 +1,82 @@ -[{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090e3af22120ec6299e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090e3af22120ec6299e05000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090e3af22120ec6299e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"2a8887c8c6df57955c92f73d666e6fe4022546edf5f80139a19a5c1986cd8ececb36542a73f0cef2981891efeae2cbcbf23a39fa0d0c5ef4045f83dbdb8bef239f9da95bd9d2596f2fdbeac888abe78b934a0e6369e358edb6e96cbc74c5b8105fab0b147ea13961cd045ef9667a70bf9ee81c12262e00c70f1f203f776a3c8ffa07bd1ad2f61f7474f428ccd04f4a225840fbcd0b99365112bdbfebb3ba388702e8ba04b4a82414d3af32cdd766f3df7b977019f36418fd473bf655370ea7f6cd956f75b7d3dd780e15f39d377e871527a982268b1ff8a6d303ab40fc06b9966fca3e0280dc3e25dec6f5ff8108909497176a5c52e84c59accb1fb1c3785f641218a9eef76895c015c4405bf5f9fe00813f8a09c389313ed3ead1eb94ce4379f2cf939842751bf52ebb62b16521e6cb1ec0eb1cb46283a17c93ed8753bfaec9b8bccef1a9b2a4c746693e3ba7fc84850673aed9b5786e959781c9e5f0a786cbf9d649c64a735b114b9e276846650ce70c43828a92eaa5e22502bc9bf729a5ca4deca2ac4925f572e3557d9d6d5dd02def2258b1bd7640cb0a637361712390d84489bf1235145df8297682ac2b16fceef3f30b39fc7910723774357ef04512f5ed945489379d2884b635f0d62b118d77cbc0ae71d9d3f918be2e0dc69a6dcc073ab3d806b97729108fca9df33b2d89ced7d5d8b7b45a45bda56ff8b71bdfff64a2f16642324b189b3a7118998a5594e8fa81732b394227df967b4d1e1e7e39cfa948f9953895ecaad5c9b46d4e3201b8ca498711b634c853f5fadebe4b61eb4468104b80ae290da616538eced3af91fa38046b33827c68539dd9b5d9f3d25fcf52986957a5b0408c06e09c6b4a40ecb9c51a03aed6d143ef163a64a1ff741b8717a977057e3057682c7ca1d8c49a263cbb9392386eab0aca3a96974792f5d4b2a56b8f2b25bd79e7671276993874e008ff30e47816bf904eefd78c223dbfb13b987b84ef6e0b6023d4778e638b82158c3667757eeecb213039456308054a3e4f42a2ef4ca1f5da584b1879b532b6d1947962c4a690e645ad5d66c5785f7bd8056f3fe55cb9ac38dca0df7b23cf3aa81c522f3f62a9b7a54645ae93d44820a26d0eba400178532f85e713f2c0f10c40f32b13c155f1ce031fb09b859fee37428cd9ff32d1419272d57279865e4a2185e7911a292743ad70be3f3aa56ab5760d41d226ffe1415df15b05b7f6796abec78670b69556ac29a53f7d6428cacfe9b2c02da55166eae5fd58357a4012087f9393ba87fee586cc4e635fdcd83ac4d52ebd86111ce77cc48ada9948e0456946a8aa2380081de99652dd9b2462e2e7c8e2cad07a167c6f7ec65fc2f9bc26e3e06f3547c7fc926abdb7087c8db635bb68e9acfe24b707bc27f2c4680acbf3ed07dd702ccc4fb80182d2f030f9d5ce0c9c5606","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000004002a8887c8c6df57955c92f73d666e6fe4022546edf5f80139a19a5c1986cd8ececb36542a73f0cef2981891efeae2cbcbf23a39fa0d0c5ef4045f83dbdb8bef239f9da95bd9d2596f2fdbeac888abe78b934a0e6369e358edb6e96cbc74c5b8105fab0b147ea13961cd045ef9667a70bf9ee81c12262e00c70f1f203f776a3c8ffa07bd1ad2f61f7474f428ccd04f4a225840fbcd0b99365112bdbfebb3ba388702e8ba04b4a82414d3af32cdd766f3df7b977019f36418fd473bf655370ea7f6cd956f75b7d3dd780e15f39d377e871527a982268b1ff8a6d303ab40fc06b9966fca3e0280dc3e25dec6f5ff8108909497176a5c52e84c59accb1fb1c3785f641218a9eef76895c015c4405bf5f9fe00813f8a09c389313ed3ead1eb94ce4379f2cf939842751bf52ebb62b16521e6cb1ec0eb1cb46283a17c93ed8753bfaec9b8bccef1a9b2a4c746693e3ba7fc84850673aed9b5786e959781c9e5f0a786cbf9d649c64a735b114b9e276846650ce70c43828a92eaa5e22502bc9bf729a5ca4deca2ac4925f572e3557d9d6d5dd02def2258b1bd7640cb0a637361712390d84489bf1235145df8297682ac2b16fceef3f30b39fc7910723774357ef04512f5ed945489379d2884b635f0d62b118d77cbc0ae71d9d3f918be2e0dc69a6d0000000000000000000000000000000000000090e3af22120ec6299e0500cc073ab3d806b97729108fca9df33b2d89ced7d5d8b7b45a45bda56ff8b71bdfff64a2f16642324b189b3a7118998a5594e8fa81732b394227df967b4d1e1e7e39cfa948f9953895ecaad5c9b46d4e3201b8ca498711b634c853f5fadebe4b61eb4468104b80ae290da616538eced3af91fa38046b33827c68539dd9b5d9f3d25fcf52986957a5b0408c06e09c6b4a40ecb9c51a03aed6d143ef163a64a1ff741b8717a977057e3057682c7ca1d8c49a263cbb9392386eab0aca3a96974792f5d4b2a56b8f2b25bd79e7671276993874e008ff30e47816bf904eefd78c223dbfb13b987b84ef6e0b6023d4778e638b82158c3667757eeecb213039456308054a3e4f42a2ef4ca1f5da584b1879b532b6d1947962c4a690e645ad5d66c5785f7bd8056f3fe55cb9ac38dca0df7b23cf3aa81c522f3f62a9b7a54645ae93d44820a26d0eba400178532f85e713f2c0f10c40f32b13c155f1ce031fb09b859fee37428cd9ff32d1419272d57279865e4a2185e7911a292743ad70be3f3aa56ab5760d41d226ffe1415df15b05b7f6796abec78670b69556ac29a53f7d6428cacfe9b2c02da55166eae5fd58357a4012087f9393ba87fee586cc4e635fdcd83ac4d52ebd86111ce77cc48ada9948e0456946a8aa2380081de99652dd9b2462e2e7c8e2ca0000000000000000000000000000000000000090e3af22120ec6299e0500d07a167c6f7ec65fc2f9bc26e3e06f3547c7fc926abdb7087c8db635bb68e9acfe24b707bc27f2c4680acbf3ed07dd702ccc4fb80182d2f030f9d5ce0c9c560600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000090e3af22120ec6299e05","data":"3b81c21ac24fdeb68edf3fbfd9b0108171dd4d231e64615923ab5a96177b399534c3d02f14b0b9d1e7cb6b0d3011eb75dca4cbcf8df51f5fc4c0395e870aa0b79d3e6f6e878dc2bcd10b5d7fb878a4f85bf2fcda6fa8d2f9b907cc4641d031c4041912283d1e6fb1f7ad366d14ddae00a5ab4d8d1236f0ccffe851dc93afc5a05f51747cfcef90dce61b75a5a669327c8d3f9985726775dacbd6609c537ea503bf70bfe4fd9e4fc9a689e367b375d2ae42f70efc3ffd6f7a3b3c98994642b405852e1bb8c1a231f44e7bb6575450055e806f9a8b9cca9bec7b65b86f14f682f4f97f8433790a4ec63db3dd3e9d7cff6a5577b1f3fb8b170318ef679d5a5c4e2fedbb8b42ab7a2609f1db528c157d3767d1cfdff0ca4b0d50c5d4bc195994ec451c15052b96e957592f59443dc126fcc5e2c3564e84e4b705eedc42698ef4baa8d79b88df340d4ac9b979928264267c2c84d7acae3fc593fe3449f504e5f141414114d8b13d667f79445cd7d34d0f246545813f856c7bcef2411cf9c267a612d36c06c532430c10859de71d308a8a05f08021bf1541eedcd68c0f788331bb6bcb2f715c759976223c951c92a43ecc9ca7efdb765cc82800ec122306b11bb762a7ce83d385440b5c7282ace18462c6c92710e186a245f9333d35e365665f6e766c20291f71e3ac0423b509a9cdfc284592550c753610b7e17eddde4cacf66bc07c733b1fa8a55605675ecb8c62f522ae7f3a39121e1d141cda7a6fb265b9d3cf203d4d328ec3fab72f54d4d1423929d1646058c96fbaf0d8195305a11b26ec95d9f07a6055731a0e5abfc01fd98879b96c2919e1dc9af0078ea93ce96d013903247c941405615aeef8010d891b3ccec54e200a2dd73e5943b0fe8f9743f3894b3608c5cead3318a83905736b366700b9cae32f9970bbe7d5e7ecabd46cc5d5ceb952121f3f26535d5318d5c225d0948f9cb32fa3904ab0feae3dff049b679a7f7f018fe649a853efef5095a366e29cadfd1c981db2b4a162deaeba973cb24bbb438abea361be0ddb47f32df475a2c79040264b44bcf33f08f48cc098e0bc34f114fe6f88c810da450c7b0192eabff2598c7f93e6c9712fea20c886c7384fa7183878463acbfa80b1fd363f20f0dff276b575491f15e203d24ad7a4b746b8c3e8a8ee0882abbc3d71a0c9ec0db289524bf52abc14587cf1a06b7f193faf0cd96f444c5d69bcdbdc631b20ae638f81d01c9c2a1fb4b5fa5eab0b3ac3ae631085e329ae286802608b1297cfbdcab6a16592cdf8d2b3e60435856f0f556cf99ba6e6b1e8e3a59b4bc8777e063624bb09fbc8ed73e2d7b9d4bc7dcd334dce7654e5bf0893f1cff7c7c1a0aa541cec06f02f79accf92d24c5b435aed788d3621c45a14ef8e02fdf882f13ec9119f3895e98b99aab6a098ee6a74471ad0801ccdaf2ffd529d1cadddbfa428dd5bf2e3e144e8963fb9a9863bd416bc85a27f27732a61bc52f3886a48e454f771a4f85419ecbf02da16f0f37bbf4b06b4cbf42fe006ea0df40ddae3e96ab170b558a25976856a9108e6b2b6733e0ec8cdee3da241fdc6c8d85dac2a1df089c43d3430b0ad96e313c5341dedca5f19a695b84ff0e110dd8e4b8e99a0ff463e75f51feca9d064e6a119a427d7e988739d8569446a9de35c555095c335eaef2b83bcf1dae7daf7da2ca8a680016db9610bfb0a4f65236f3dae8ed7c53d25ff943881496d9280a33344e1927703181db93ba82e9f040afcf2181a3adcf536fe1955f6daa0f94afab6788569dbf3a065dc42b85e88b3be0b9699157ac0a59826f616a5cc2bc76310edcbb18ef2a22e602e266e297204d374b12bdbb4534700f9eda0957af1f3e97aff9a30f32c1492281a79922c421957da66b9ff04c11ef1cfd584d5a4460106d81ddd52362387178799a68be59839b0037a2dfa0f14a682c5d8aeb541c85fcebf519283798fbb4d61482c3fc78d779bf662f565686e0efd98086d50624a494840c7697fd0f037058659efd6b93f307034aad45e7c076a22b8997ff45f3fb0f01bf172fd822470c42429fecc233dafcbf5b4f58c5a8e2dd8ad2749686b265a6ba4afe8876b95e2cd38e0be61c6bd8aece22d9a9644ef30af44f84fee0534c677534cdc63cacdd6af07c4564561feb103c6d13e24da4342777e5b3ddd5e6bc874bd78a6d94a98928d255fc9185c1b2ef1139cec9565e61c9c85cef4bfa01d13f51fa9557c0bad24ef010a27f56b93c29f987fe99e7319fb92df6da1975245ff8c8cf212b2a4ffc17f002a62c34d617c7bf8b1cf799af28706bc862f91acdf6ba8400d4008cd088f0e5faba61cf8c428be1b057a1c2ba6eded92325a6f12438a58bbbd2dc93fe4f36d0735470e471099f270b559d64b8feaeea22da63af7be97670a0b17e150c9ba4d59c2a59f23cf1c4c43de6ea4058fe88b01d420fc4a03ff5401fe9341ed1167206c6008a894d67bb277712b46c2a4e10b44d5ea3f31811224aa8047c607dfa6a6b39a5a5ddda1afc48439b05ef9db7821448502c5137b0f9e3d1bc88125dc38523756fdb5ff16c59572d972e9550b341957433bacff6371787d0b121b5bc4266e3cca14430ad77fe337e9b931eb2f6b2acc723a813ce649e9c4803bf4a288b51febdfb49db3674ae7e9628c937e6c70eb68bf181f5d956ea94addcbd70374726fc169d3d4d54e845dfe49e269c03bcda88a1d4ae99ede3b785c2860099844b8294a1f642e4d5c6587c7cea8aa581f07d1b99534e3a58451fb05cafbde3dce80b4137bc48b27168a10beb27349a16b45432f54bd532509f403f147ca132f17662d3540cf1967c339125e87ac1138bec0757aec4dd7a54fc751ca475cacc4226b4bbd62207b2ab54d8e320fa946014b5486466b595bfe2ea0933c08c23916c7436950826f402c7ad4004a7d71e1f9ac61cc95f9925bca7a0473961fb922014970c495b1b3ef5476977e1dccc96804a1e81c15f3629ebb2dd5936eb561038bb0c6948afb25be6991d441dc3c4fa63f329a7c17b2ee48ad927957ef9fea8e8815e83364e65732723c0a5e502aa4ff1c8d0608322c383d8aaddf6eb48e73aea39e6df5086235f4dd90c6cdf5dce69ed58852bb5f51443afba198d3d370771b6096c3e887bae10547056a2d1b7d52d3790a00109fc4980c67261dbbcc59bf5f3c0a83e013796ea414efa2f944acedfef4c7a9ad69bfb73e644f98f62a5c6ae5cb30a247143574d19c540a68cef6c581c68c99252a719fe539f22bb0d7ca2c8c0b75281e96a6084b0f4923f4d83c6679ee5943eefdbd6f2b6d130523893a65ffb1fc3453308efffd4a44eeea5adba1ef67a67556f5f432dc228970106a8f58e65f67916e1b195608b191ed9af590fd12482ce42898a6da5fc3d7afcd84f7675f23294731d30ab79b82e9cb4e71a793793724810b30918162183cfd057b6bf97c5acb0e51975e153308cb34553902fe165e0b449d62894f30d802d1cd783a283a83617dcba1ee412a9e67aed79500ca0f60c673ec2b34e02789dc66091ba655288cc85c72e6befa1ff1e0d01ba46669e2752e45cd428e044251e6a9d0686510a520bf9141eee2ae24b4fa2b5b539fbb97eac9ea4e138de1c51c2b99fe34deccdb3614db7338b15515081959755c34fe0b4db4b6f750173df46ea13812acbde11d5aed48a40bc8a11884a20771c6db6175947e5412475fafc5bf3576ac9a9b2a551288f041f7c34d57ed6f917cfa1097bf4263c70809823fab983e5537f1136be5f6348b2fe23f20d6851caf3e123bd84bf57089510ecc08083eb5707c715f96a2aa2020b83711abb3db675901b0924885b8174b019bdc0470ecc858fedb700dcf014cc6a4bb504e9d36f588dd9866752735ec2e605230a9b16fa9ff9268a07cb31f9d7f8dd19807b15189c7d136576fba9c06aed2d2b2b68d755225dce8b92c8bf6751b5400046c255c82fc852450770f26cf2e48599e581b7c35e39ee53cd0a65cdd647cf08ab3a8e50a5479465e4bc841a92dd6885f00f9fc9553a547b3f6baec0a22f9d35d96cc8730e0d808476e34587e46816a57736a7c306b150a9ab0759f350efe801eaadf39e1c3bf5412eb031f65c4b283ebe3af232d525eaefdc27ff9b5846a40f6fa9033478809c6082736cc30e081f6e45cc849ecfae6e284df05c850cbb98ca01420c77b3262b563798d0a44476166a6777360330a3871323480574b9a6569cdd1e435b46aa88d67bd8943ec35750a9896265269d64bb2bb869f0c7271e412f436e9cec16f137a437dd91493adb0a7dcf557aca9d0f0798b1055c804ab15e1d5f6f6c5b1f82b33711e10906a0395caa5b40f1d903f8f6803db4d6780d6e7c03cdd3cb16273aa064912e74f076f47691ee8d1f5ee88254ec9e1a156bf290fee9b888da07705d54b2d842b75101cedf7b01bd6ebf6b06981a28e0c1327c3b1ab5312efede8fb111b2e53577a466c8b4c77fbbd5362010a9f632edb11ea6b32eeb55a5f14282151c03eda10983d35992af203ae53d4cb74d16840d284c9ba5b71effa7e69d56c92ef68e82fa0dd23ccd73649487ead6d35e41d83c096ec79181ac717e3a13fc3d5ed4507227ba0aaef41acc7dea8b1bc6afe6a12b152093b5c1b4f67d25346031631abbe931e95d6b0aab168d69fba25119e85ffbef69957778c62729ca8012adb2f18ba000e08bfa8107d1fce0ab3ef4e8ac1f01c81fbf64967f04cfe56469d860644501e0a5cff4bab655a5978c25c7be9381e4a8915aefdc26b7f924787642d02d40e058a60cc478a5d73c42965b19661054cb2a3de08cac0d1d9273d4d5e998316b3a3edca0cadbf3acb141254e99ddc19576a290a30f58f06a61d7bef86fcfa3f59505f9b0ebc6b8873875e14ce167ce573eed685d88e3e8e4b9bdc55d900f5a90c4bca9c0b83ce19df2d38f70404c0302c673964a5648d24b5f07e395c7e295c9e5d601d8b92439a8a1966809d3d12ef21cbb823366a96bd3c3f422ac403ebddc2ddd6b4ff20040018f7dff70b39429b0233e4cef45c9d38abfb2ec623d7c03295fc8038572db1017530281ad71d071bea08703de5abfed4aefe6e125d6890c95c18bfafa3bd02e3686c6303500b44623c6d54dfeb66ba5e0be98d72e4db664ff3eb4b25c75426bf6d60f7eeb808bfc85bd65879eb25bba30dcb5e119454d999d43116be619e871c6d6735b3541193bfae2881e9f528cbc03267d3e6b13152e234eb99a0f60ab074651b0accd1571caf02d691a17c56edf6d31b539d9b4241727255af698e484254d41749eb3f6c3b5518263ad62e0c4588f5dc05eec05e6880be218298aca67b1e9a5f9249ae21a58e1a6362ba41ba03a1f2a78859b2c1c867bc6240a8cbea0f8f2c7b6599357d0e7bd972602254fe2d2bb6663051b3b182af2150fc2eeec41b1c61b85bfd3efc70c9e4846942551366ed7e5e58d95828f078df8e6e129e40ddb43bb688e5cac0b9b2d4d65d75ae20dc96e7c196e9c02e65e96c40277413891a28132406774612568fef7aabfbccc2e52d983983194feff189e30dd203edf74247fcf8fbd3b248acabda0c55543000707a5406e55e56c66c0f18a96f3ba6edef141775d1168433659983c4b23ff5ba26be1eade45e6cfc66eb1a57469dbdec36c73a80c1b01f68ea2a6f94e02088a91e2c05ad219879c04eaf979405dc65d1397151c28ce946872d0467c8755bfb4585b80fea5e1b35127d43485cc17a2d899aa71752aee8b4ff073f38dfbede76876412050a49f179f2d773921778b2bfb7bdaad14a7bb30ccbaf85675ace6cb1215a4dd3b2e32685f50bfde0b1d1d319bd8f56425cf77f0c787ca33ad7ac0c5b62985f9d3717aa288d0227bd2d9260928793b11dde7f6789541109b8197cc75f91274fd80131fb4c9a284997a9db6ee0c1f077cb392170493d38c36fa051a05a50ea4d1a286f040a40116c2273b061b2fd6d2a93c2d001e2f243ab4342d913e5c051ff47a615422d98f0ddab4c04a86719095a80d10246644c15301014bd27641646c4d22d0271977ca076b3134b1a89ea86070306697792c9bac8281fdcf0b96e88813b634e9b2553ed76814ca032ccd915726e11f74d1a3e10c3af7da78bc6cc1fc56d23d4111a2faf6043ebbd40ebefcd0e2b33817a277aebb47c465429bf36adabf269b5e2e9d419a9784cd9e5b09300494b755934370494589cf2a0f7e04661168f99b36161b3bb0d0e65a7da4be73f2b6cb0943c6cbe6ee5196aae7e1fa6effd841f2ec2bc4d66dc1840257f261918889df331038774c8a67d4385c4a433a9f1e8e4007f1cf95caca6ea7b027798598c1c98f9cb1a02b5d1c11f0dec2c0aa8eac72c603c2fec36f6d0e3fbcff8cdaa2a35085e71a9d2b972232641815cbb45a35f5977b3d6cbf7a21d9af11dfb6cde59002bd415f9043a091048363efa54be38a4d5c30d478ee88fb624e408ecc1a34dc164a0f159e80018d1b8e50976b6c86fb0d8cf70a3daeda52bb414eacf9e548e1ecd9340dc7ecb096e084fdabddd996ef71e4321f86ae08e34709c32a77498e1c7ff1e96b53e6fb48e739b7b5e26c1b52deecfcbdfbc0555d5387e6baa57cc62152141b9f7167c327da5e256896f821c5470e04232de7ec4b6c919b99ddf650b42f1c101048e64c7a4052401f2c9c93739b853a9232bc2044060be5ef00cc3439663aa5cc8b9e9e2bdf20eeed2b7e0c350f0815a2cbfd99cddee70a151e40e3a59a66eb40023ff922d10cb416d4627d0d4f6f770ec03b9f00a14cc1f96dad671cb57267d8c757e2e60c2e65df5433ddefcd65805d5566b0b3388c7fff8a6e79721e6d8fc5794b46300459348e36ce3e09163016dfe99024408c25b5291ba440e935520e75a8311678cdc1fc82c732a4ebf6d80d0104fc17033e4209899e93816c67d9f599ab16dc926473b14172102bcd990ec577b4be6076fa95662382ea706ee3389b8b410185f41f6600cef62e618c662b4102fb9c36affb02ff816dc7ec94eec2eb86a469909a84fd11032ff1f32f0ac2723a6ce3e5e355d50a599f0aff73c45f6698fd2ddb8450c7ba4fd85e94115866f9c2a56eff861822b3f65c0362b63569bbb032e9dc60415472afe27952878462e39deffc2ffa94e3f3a5516e4c6d047f0f16b7395aec144ee380b6936d756c30dd90dd3f9daa48930572d007ccf0599b59c492fe56e70b323f6df2c1c941e7a21cd998d926c4d09028eb101ba9e024cab909fe1c67832fafa881b4fc11f8fbb490a87ddf74bdb93d9c1b9ace4f6e78b5caca7ea536d66285dc26b2789821b9333362b7fa17f32f8f893943096cc984cc955d903a4d5c97b4160035517c218a1c9c8178c905ae1a00dce1600311621d5cd06fb7b790a01c4a94c2d22e34cd046de6272b77ae0c2e926d2c7ce37bdaef585f93279f3ba08b7b8237287df8fd77160f064ce78e2ec366fc2700fff2755a776fc0a524f932e6f1c2f922c705f59f3af522bc049557e84535f2fe478a4dd785ae16857deb0374843a4bb6e3b4cbf7dc4c2e41321809fe7dc0bd4c9b106940621265f4483b5e166967df3b4642cef273b7d39552e02a09884b071eb4a55ef2ab53074e9b882ca73f7f204647a7817bfe8d674c56be59cd8359777a909db8ca9f746b979b1a21683328ad2c031b68d8f8a723b5ca8bca19e6f76639402c68140b7e3d0ccbe86fac49dc417eebc7b2f97f0f96c82430f7ed4e5101f6b28dda1b2e2397b7a2b72ff17d4a6d83cd76f2fe3eb688d3a9e29358073efef00573bfa8d89da5665c0188445dcd9c749aa794687f2fe3fea0899c0a2546308b18bf3c7e52f1388aabd04eb933be34fe5241717904b253a154e09a7664f4bc3913afc08e8b5e0ce08ca00d6ee29349fcedb2f979e2576a07addc3f9a5765a0e4cc01f611ad9db46ad825fdc7e3d1ac31f596d92edf2aabf0cb4d4a48a082c33d6326f65a6718321dbe890ba100e758569a9f73e0b8a18d0b74908dbd8468efaca0a5e8cab513441ab8ae5372987ca4775df373efcc572eb2cc86c5faa7306300041509487ef314db283c16fa5f95fa8fe81b57789e3f422843ddc67a8f8b666e689d081e0fb1f55b608c222820979680aa86735aa8e72192206e2994e264c39a4d75d7bedc2ae72cca9067030a6fd0105dca3db224911d5cc6d543ed17029069145b4d8feb673344cb231e598ca79f5085ce4284ee420391cdef114b224385f36c7f83b41c14dde28db124ca666053ed7a970d292e8920f6a936b62f91f470f8c0586abc599f948f924178ef65efc058cebe4c3dd7f3210df38010db0f1574f50563f1d269235b584b4e2913261fa15e02619977fe4b243da8fb4aae8c6f732bb88f1358121a363d71ac2966a1f7b5e76691df78ccc6d51dd678505e811ec8b33e964ebe2bfa520be3b619ab0b2ab14265b9f0e3d3e58b33ee9d047653797004e9bf0d55787f9ce539fa935127a4bfc21e0ea54b4e0e10bf0ce8109ba0b5aa21581721c6638aa8bee8d4cfd42809915e0388b7bf4d37d85aa0effddf9dfc954fd514ec5f55d22c5ae8746f3d581678761e6ab45a04d94b7613cd3f9965d65d9a0b9f7fb0418e2234c30e0b82768e9c40b92fe85a4a1ad5ebf6f21909de4e5d6693e0cddaa09d58b9aabafc134366993a592643bf800550cea9236e4293fc86587ecbfcda300dc5e1337b74d1e7440a97cd2ed009f92af169504a8ae75e9f6f8af84671d60250aa96d014b2600f4179f285f554d33d11fd7f0dce2b59e45ad67c5712fe7fd762f5acb3a50f07d78c7356142581cc426b48571924f95f919965703ee2b51b3d7d0e2d799317dedd180568bcdc9e137b20642f5e139ef72a5b6697df7e893becd613d2573b4ba9e294634781ad83acf76b4a3476002a291730fa641f8ce44d2705da59d2a49f5df331557538d33b0d352ac5953207e8b168a32992634764bf789aa872afb2bb3b3570b80854c6a442f1fb2716f164d291101068ab62d9aa70f0a56b07e8f693cdc184142230e01c7c88fec4cc62ef3b90c5a4b17c96181754c642846d022b11e4c5149d07b1174ad82fa73035663a1820e9f7e522cce8315119c82c838655c776b32f0c72885b03592b762f3bc0137a61336c4bacbacb701b4baa120f883f55a150e1d02eea58b65759701e0d011d0fc9ae29b4808eeca6a625d2c3a340812b2981fe57a3d1b24dc1bf324671976d8c1f32aa508d50b2060799cc8b1cac3063a9f106081865202b7c9aec880d4313626a3d25db3c8efdef233f3201603d9c3c5010d565a8d5021c1897e77f6015644c5f08d88eb917e2b9998697cbafa97ac32d1be8595a93ecfeebb287d6eae14ea55be95392ebf69890acfbde46312152b29016abaf22cac808cbc397395342f4c1509a0a1b07e757e1c08a383ca04131bfa77d21e7c963b0981ab23f74065a42a280d5856cb5c314392598ce0355916924006015ade793761bc625bec5e64723af1418441d30411d59966688ab0bc4274a8026bad39bf60ad6b2867d8477bc91162359b514943a8e67066f71a79286829a8fe433ea93a834cfc2ba61d410dfa56e8dc782ed8f8a68a5bc9b7490d0936a2f9b479bf074de1011e4a6a24510c1bc1ee3c660e08aac78bec5f458d1029caaae622ff84c883009ceace4133e6206e3f04f8313b39af0302c61512eff1bde025a60246ff9faaffc87ca58f690d113bc4638f9dd2996191a0e6cae69a7d0a360db630239679ac013cd2d6caed9f74dd518c9b898eaae8ae187d39451e83e78ad4d91a4dcf4ffb965a3a816d5c63fa7607170a9fd493ea047fdb7695dc4eb29d4b2d6f60d031b10328c52ea0ead2c3e67467f9cc1bc27d0f47de93fd972bf4554928d0dc7937dc8570c81121ab4fb567ac3cca2700d2d577062eec2ff4d7ea5384caf3ee993befb2dc9f12e98fd5f7ae9e5505cdd758b94460b1ca065e773eaa1f4355a6bc6cf1cd87816973b8e124913c942b28d4478d6b355b2151fd1538dc220b9d00d85f611741e469b45b79fd5dfa0a1d4c9afdbdd6981022f855256afce9a17811ec4b3a9d6eafdd23d77eae0f3bf00a93ddf3984cd1c3592d497066b152bab46002215549388eae35642408b3aab8083543bfe34e7e788d5dc0d0c2d3b2ef11f03b9ca0cbb9990050ab13dfacac722775b819a66234e201f936dfb94066fa1d48d869abd06ca68bc429a26a5a3f96fd683e47b65ddb417e91481130376328aca0842af48b808bdf4b6e814507858bcd1abc2f26d5facef931615767e72235c8288927ed647aa51f514bb9c57f0aacaeddcab4cce09a274bfc0d1157df9ab4c3aa037a4f30b817eb4063a6237d12a42090f33921383682f6643bfbc9a82cc7d53f644d3ceb59309baa4060c0ea280ae752e440bb3166b600566d019252c4f2765cdae664fa7d1cf6c64e98d334583ef7018d73f92bb03028abecfe66c096dfb5c2faa3e8fea492cbe597ea3255f8e5d7abc5fa073008048733ac6103dbb1969c2719d893941583950bab1d9f7a66e45bdbe64aa7663e8938609aa49af6b74fdaf8c86f923f6dcd72e015a56bf3e0347359c1234c7fc4ccede22b4201816ab34baf30a7d57299b5a993cd55ec2cd16b35f4edd2672c024863ea073301b4142cf6e3e433ec24a5e4bd6b4b2cd44e93f7b6d1cde98df1d3dcd6132b582324630e27a71c4cb7dbe917ef3cfe0402db6f8fc33675a0565987cd0a79374b09e9462057a8a4d28c54ff6e01294349ef5e0f33ecda36d17f9e0b1c57889eb2ce2f9a9dafeb8dddc48a1f9e37f04ac3258b2acf04828b71c2dae586d89d787f6a1f420aee2d8e5568a12461d068487932aac000234ddd95a53a54c1e4950c2c02c149cabb1d557445c19084aad270c8fc99e7073cd508dbcc55a3824dd2d7553ae9d2c9233835f7618e016c708997f21b8ebc2f27cd5425051ad0056589443437512ec08b583f00f742ce6a47d83358a5e19bd445331a80c26660ff9de88f4d6fcaa9b199ff80c71f0deaa618b588cbfc9df66ab6cf0cfc6a265fc9c16141c0def6bc9501ff1720477aed491e4e1f4477da7b9590142952e5f3bba1323afc1d5b26069ddefb9e51722d1dc4257274e9c31a7ac98c5a770fa75de60388312df3ada8054f08412ab12d451c66a70e30dd1f585bdf87a0628c0b75dde7b32c614db2176c8a561e714d5272fdb2d64c712fe39e7d04347e2da00c20d43822dc340cf835eca2bb0d5a910218667e6daaee04f1c2decf3bcd17d729de5b8611b5d3064b611aba9ef6a11ff101df6db24e30b4086c9cdb5bcb9de8fca7233f23c46a8086df90607160732375e2eab5846a63a7780e36bb92a5e4040d11cfd693978ed48b5c9b464fecf7e059f1774a0ad176b183bc49bf2e2b1a5e36bf2bfe443af4e7667e4137c5dbd7cfab496dee8c83f90416b967bc9b49580d883725bd2161c42f2063d57d1cd35744fd807c7be013ae6304fc360504a54423d9035485329f342e059a135d2c6c23423ba05a1158174af81fbfd14eb0881c1b353bf0edde888316bf52f617e4998334773e2199d148c1064eae3198cde97e57f9a488d3bd0766eeeb0a53084ffb288c45ddeeca62c5bb54669cb20ff5f080b044131474b102781e02f7932209b469ca53c43145630723de66439de286227bec5e7c5721e4c1eb7e4a5d37c4d7b7fb17c11a0a7125054d8ff93e8802e36227e699d92c8b0afcec3f70bffd912a81ee00168b1dcf3079b07a5a480271c47300bfb70cb783402d778932e882cd9260247ec45a3f82c12ed6b612d0a5c53c0957ac588ef34dcf4e4c91be7a27ab1e74c8e9dfd3749802c9117cf1d71d55f0aea7b3dff0fc2b30fa3dd8c104becc0bf4b2e8f4ac777129313819ab0490af89f9bfb9363a3ad18f6046f72d3e5a9957749439a32be8ba2dd750fcb81e218c036566bc22a4271f3a6276ae129781d9c05c453b269df62c69c1467bc23f91eeddda034c00678285aaaef4efa8128ab758db3d4bfaccbde0a1e985d243da423e5fa5f1268c24fe76c421cab257662cf719edf30e8cbc72e2797994350e8ce2eda1bdd0acb86ed97ce3b31c7f9b41f783e50077afce202ab75350f85b5888d2f80e3c76fe27b2896a6deab86283137b6ef0503ede8e92590e2b2b300d7136d3e8295e97a4699c84afaad84612f8540efdd2b23bb04a3eebb194127826aaaf60425b888c74d3e9febd699d05e5d5e9eca203a1fb51da9adc1815f2fe7c03455638f5659a1e86516726a3cc454363f038f576070790c99f1a019e23ea939a0aa714bc71bdcd258b05d1a048d8cbd0a801a1fb44e184790ea3b0c9a02dc722dffa6340d0ad407fcd6beba10f0c3c8a0a01e80386474017e7ed467f5ae2bd7df575fb0cc315a23e99d446d2721ea8989cac9a31b3e38100defb17cc93e76bcc17bf0d91043c32f6915f3a7e912490ab80423bbea123c1c85c33651a560086f136634b9bfb7444ea9bc920061b5b74228f20d0efd9e33ebdd612c1a26c06795a3154ca3813654d484defb6aed092f99118377369121621b7ec51ec9251689d4fdd790360aaed1ef53e63f53f26b081fe91098892525001d7979fae73de3b2e43566a87d545c314ad86d169cd8f54cf8a74f4239bbeaa3127d76a6ac7b0f9733df8028143a48983ef3279763e912ce7593daebedb4c3237531482141e1aabaa3af04313cf26afb1eadfa64ab779bd4e2465ce3b996c13bbe0087155f389dc6b2c2ae3e96f8b3d0733366895f0c59da313269200d27e76b19c26b16d24cf2fe59c46902b6e8e0cf1508f1bc9a340d66c14fde111c21612a5faed75ab73857164c45ba50d52bfc4e691a2fb6ee97bff9e02dda3499c760662a4d15e82b5e27cc358e8f128064e65d3dcbad464ca5cd7e9e772d35428561b3b13b1a33f32510f151d737cc06a237e37d115ada40276bb49d3560b1b24046f68378a13ad6c8998837200791b5151845a4d401b6f7bf213e3bebfe4d9c272af2cec0a84cd0ce11d5a10ca2a3a44d48018a80911678894eca564b64de1e9a16078e75daf4ccff9bc7543c914d0811be837b803d3231200e36ce42ccb4a0fedc9ce9076648bd76282b3d7b45c8ce5d248f33e82416dd9cd87ca00e9d905649cec4453e0a023c7ea8840fd5ad5c845de8dbf4842b625044c6971ecbd27b4ca50cd57e1a46d84fff9d38b6a1f33ccc9eb606735c0efb92bf09761521a691dc445e295313df755577a26879ee8e16ddbb838e0c1c3032015d63dd9211e481d84bb8e4fd889e88df58515643d26ac99495b1c4ba1c567cdb114fc57cc6288e20571aceb013bf311646869414c9dded36ce9fa969945fba8dd9d75d135fd6ba409bb8e72c6afe562fda87e5b6fdafa97d4803d2afd13d587c52635ee16ac935d07e10f3164ff8f63407c19974042f39365dacab723ef18cbef171333dbfc70521befbdb812cb1acd3eb16817244dce02ac6d8cd7e5a98c13546a06d6c9f331e3001720eb9d87846fb5a04bb5c51dfc81d16c9d1fdaa1d3c0eca3e8f7d5c22c72d571b74681ff2d7bd6e8b8c463066f6317be3092b717f82a3a1232f16d63cc610bdd501d6dbbf2fa9694fce29197b8374cdd69ec9749723f40756b0b631c16caed87c22fd6d02255a4558fe2c04cb1c38316faf252015f7fd7494a8ec619dfb6c2eee8676c3c43935312662848ea6ce2d796b2c6f233216acb3773e28e92f3046205ae684dfd86f58f317b4ee4ad4395ea017fbebf81d74c35f83b541ab92a93a6175fc146881595a09e674ede1d6ed244d43d5895ebb16f65763b0ecbe339d5adae0aa356b4462850b9c45f0353fc50ff5ebec34f8f7383dd7a1f09b74d79cbb9aa110edc6b137e8396657fea7266c4b011bbc73cb2afa54eee5c0313a07953df2b3c3af7d158b0a3b6e7edab5203222c87041f1870d023ae81400bfdc4c1e0b2b4312670f7905c4685b9e1f133c08e7ab497f4a9092711d2debb6c4d61385125026018e136f47c493bf35263407a2b386fa6911a88e05099499028359a4d2d72948bb7da4901669a0bf1b2de590ba0f496180985fd9dd1518e8d8a9feae08cc7d420019d42dd35d9f86f0959c79869fc4eaed5a27e0d4913962fb7470466d5d1e9be2d8fb1875eb11cd7bec20104e8b1f47e9856bc7c1e49e736dc9623cfc078cae44bf379983de20f838c8d078b8e104b7738d4effd1f8716d0fb90cad91e4699da739c9b2459a32eedbde7725ffaf91e10e14a7b4ab346351e3e1fcc9d6bd6165dca605a8786843e6e14361924736bfac4fd5b2c52416971e8d9e1a8a15b95f57e97ace3b0715e2a16bb233bb4c89d0b71b4f7430566788ba52d7b12446e8d8c9b03775bfa83e3263392fbf4c9dcb7263109b83e3e1b001c6f0baf923fe876420128ecf10b6fa80422f36b24f2b0a3e502dd19c042b41779075de07a9956a828c0c3f0b3fde4cf727021ed836d3830","shares":"0000000000000000000000000000000000000090e3af22120ec6299e0501000028003b81c21ac24fdeb68edf3fbfd9b0108171dd4d231e64615923ab5a96177b399534c3d02f14b0b9d1e7cb6b0d3011eb75dca4cbcf8df51f5fc4c0395e870aa0b79d3e6f6e878dc2bcd10b5d7fb878a4f85bf2fcda6fa8d2f9b907cc4641d031c4041912283d1e6fb1f7ad366d14ddae00a5ab4d8d1236f0ccffe851dc93afc5a05f51747cfcef90dce61b75a5a669327c8d3f9985726775dacbd6609c537ea503bf70bfe4fd9e4fc9a689e367b375d2ae42f70efc3ffd6f7a3b3c98994642b405852e1bb8c1a231f44e7bb6575450055e806f9a8b9cca9bec7b65b86f14f682f4f97f8433790a4ec63db3dd3e9d7cff6a5577b1f3fb8b170318ef679d5a5c4e2fedbb8b42ab7a2609f1db528c157d3767d1cfdff0ca4b0d50c5d4bc195994ec451c15052b96e957592f59443dc126fcc5e2c3564e84e4b705eedc42698ef4baa8d79b88df340d4ac9b979928264267c2c84d7acae3fc593fe3449f504e5f141414114d8b13d667f79445cd7d34d0f246545813f856c7bcef2411cf9c267a612d36c06c532430c10859de71d308a8a05f08021bf1541eedcd68c0f788331bb6bcb2f715c759976223c951c92a43ecc9ca7efdb765cc82800ec122306b11bb762a7ce83d385440b5c7282ace18462c6c92710e186a245f9333d35e365665f6e0000000000000000000000000000000000000090e3af22120ec6299e0500766c20291f71e3ac0423b509a9cdfc284592550c753610b7e17eddde4cacf66bc07c733b1fa8a55605675ecb8c62f522ae7f3a39121e1d141cda7a6fb265b9d3cf203d4d328ec3fab72f54d4d1423929d1646058c96fbaf0d8195305a11b26ec95d9f07a6055731a0e5abfc01fd98879b96c2919e1dc9af0078ea93ce96d013903247c941405615aeef8010d891b3ccec54e200a2dd73e5943b0fe8f9743f3894b3608c5cead3318a83905736b366700b9cae32f9970bbe7d5e7ecabd46cc5d5ceb952121f3f26535d5318d5c225d0948f9cb32fa3904ab0feae3dff049b679a7f7f018fe649a853efef5095a366e29cadfd1c981db2b4a162deaeba973cb24bbb438abea361be0ddb47f32df475a2c79040264b44bcf33f08f48cc098e0bc34f114fe6f88c810da450c7b0192eabff2598c7f93e6c9712fea20c886c7384fa7183878463acbfa80b1fd363f20f0dff276b575491f15e203d24ad7a4b746b8c3e8a8ee0882abbc3d71a0c9ec0db289524bf52abc14587cf1a06b7f193faf0cd96f444c5d69bcdbdc631b20ae638f81d01c9c2a1fb4b5fa5eab0b3ac3ae631085e329ae286802608b1297cfbdcab6a16592cdf8d2b3e60435856f0f556cf99ba6e6b1e8e3a59b4bc8777e063624bb09fbc8ed73e2d7b9d4bc7dcd334dce7654e5bf080000000000000000000000000000000000000090e3af22120ec6299e050093f1cff7c7c1a0aa541cec06f02f79accf92d24c5b435aed788d3621c45a14ef8e02fdf882f13ec9119f3895e98b99aab6a098ee6a74471ad0801ccdaf2ffd529d1cadddbfa428dd5bf2e3e144e8963fb9a9863bd416bc85a27f27732a61bc52f3886a48e454f771a4f85419ecbf02da16f0f37bbf4b06b4cbf42fe006ea0df40ddae3e96ab170b558a25976856a9108e6b2b6733e0ec8cdee3da241fdc6c8d85dac2a1df089c43d3430b0ad96e313c5341dedca5f19a695b84ff0e110dd8e4b8e99a0ff463e75f51feca9d064e6a119a427d7e988739d8569446a9de35c555095c335eaef2b83bcf1dae7daf7da2ca8a680016db9610bfb0a4f65236f3dae8ed7c53d25ff943881496d9280a33344e1927703181db93ba82e9f040afcf2181a3adcf536fe1955f6daa0f94afab6788569dbf3a065dc42b85e88b3be0b9699157ac0a59826f616a5cc2bc76310edcbb18ef2a22e602e266e297204d374b12bdbb4534700f9eda0957af1f3e97aff9a30f32c1492281a79922c421957da66b9ff04c11ef1cfd584d5a4460106d81ddd52362387178799a68be59839b0037a2dfa0f14a682c5d8aeb541c85fcebf519283798fbb4d61482c3fc78d779bf662f565686e0efd98086d50624a494840c7697fd0f037058659efd6b93f307034aad45e7c070000000000000000000000000000000000000090e3af22120ec6299e05006a22b8997ff45f3fb0f01bf172fd822470c42429fecc233dafcbf5b4f58c5a8e2dd8ad2749686b265a6ba4afe8876b95e2cd38e0be61c6bd8aece22d9a9644ef30af44f84fee0534c677534cdc63cacdd6af07c4564561feb103c6d13e24da4342777e5b3ddd5e6bc874bd78a6d94a98928d255fc9185c1b2ef1139cec9565e61c9c85cef4bfa01d13f51fa9557c0bad24ef010a27f56b93c29f987fe99e7319fb92df6da1975245ff8c8cf212b2a4ffc17f002a62c34d617c7bf8b1cf799af28706bc862f91acdf6ba8400d4008cd088f0e5faba61cf8c428be1b057a1c2ba6eded92325a6f12438a58bbbd2dc93fe4f36d0735470e471099f270b559d64b8feaeea22da63af7be97670a0b17e150c9ba4d59c2a59f23cf1c4c43de6ea4058fe88b01d420fc4a03ff5401fe9341ed1167206c6008a894d67bb277712b46c2a4e10b44d5ea3f31811224aa8047c607dfa6a6b39a5a5ddda1afc48439b05ef9db7821448502c5137b0f9e3d1bc88125dc38523756fdb5ff16c59572d972e9550b341957433bacff6371787d0b121b5bc4266e3cca14430ad77fe337e9b931eb2f6b2acc723a813ce649e9c4803bf4a288b51febdfb49db3674ae7e9628c937e6c70eb68bf181f5d956ea94addcbd70374726fc169d3d4d54e845dfe49e269c03bcda80000000000000000000000000000000000000090e3af22120ec6299e05008a1d4ae99ede3b785c2860099844b8294a1f642e4d5c6587c7cea8aa581f07d1b99534e3a58451fb05cafbde3dce80b4137bc48b27168a10beb27349a16b45432f54bd532509f403f147ca132f17662d3540cf1967c339125e87ac1138bec0757aec4dd7a54fc751ca475cacc4226b4bbd62207b2ab54d8e320fa946014b5486466b595bfe2ea0933c08c23916c7436950826f402c7ad4004a7d71e1f9ac61cc95f9925bca7a0473961fb922014970c495b1b3ef5476977e1dccc96804a1e81c15f3629ebb2dd5936eb561038bb0c6948afb25be6991d441dc3c4fa63f329a7c17b2ee48ad927957ef9fea8e8815e83364e65732723c0a5e502aa4ff1c8d0608322c383d8aaddf6eb48e73aea39e6df5086235f4dd90c6cdf5dce69ed58852bb5f51443afba198d3d370771b6096c3e887bae10547056a2d1b7d52d3790a00109fc4980c67261dbbcc59bf5f3c0a83e013796ea414efa2f944acedfef4c7a9ad69bfb73e644f98f62a5c6ae5cb30a247143574d19c540a68cef6c581c68c99252a719fe539f22bb0d7ca2c8c0b75281e96a6084b0f4923f4d83c6679ee5943eefdbd6f2b6d130523893a65ffb1fc3453308efffd4a44eeea5adba1ef67a67556f5f432dc228970106a8f58e65f67916e1b195608b191ed9af590fd12482ce42898a60000000000000000000000000000000000000090e3af22120ec6299e0500da5fc3d7afcd84f7675f23294731d30ab79b82e9cb4e71a793793724810b30918162183cfd057b6bf97c5acb0e51975e153308cb34553902fe165e0b449d62894f30d802d1cd783a283a83617dcba1ee412a9e67aed79500ca0f60c673ec2b34e02789dc66091ba655288cc85c72e6befa1ff1e0d01ba46669e2752e45cd428e044251e6a9d0686510a520bf9141eee2ae24b4fa2b5b539fbb97eac9ea4e138de1c51c2b99fe34deccdb3614db7338b15515081959755c34fe0b4db4b6f750173df46ea13812acbde11d5aed48a40bc8a11884a20771c6db6175947e5412475fafc5bf3576ac9a9b2a551288f041f7c34d57ed6f917cfa1097bf4263c70809823fab983e5537f1136be5f6348b2fe23f20d6851caf3e123bd84bf57089510ecc08083eb5707c715f96a2aa2020b83711abb3db675901b0924885b8174b019bdc0470ecc858fedb700dcf014cc6a4bb504e9d36f588dd9866752735ec2e605230a9b16fa9ff9268a07cb31f9d7f8dd19807b15189c7d136576fba9c06aed2d2b2b68d755225dce8b92c8bf6751b5400046c255c82fc852450770f26cf2e48599e581b7c35e39ee53cd0a65cdd647cf08ab3a8e50a5479465e4bc841a92dd6885f00f9fc9553a547b3f6baec0a22f9d35d96cc8730e0d808476e34587e46816a57736a0000000000000000000000000000000000000090e3af22120ec6299e05007c306b150a9ab0759f350efe801eaadf39e1c3bf5412eb031f65c4b283ebe3af232d525eaefdc27ff9b5846a40f6fa9033478809c6082736cc30e081f6e45cc849ecfae6e284df05c850cbb98ca01420c77b3262b563798d0a44476166a6777360330a3871323480574b9a6569cdd1e435b46aa88d67bd8943ec35750a9896265269d64bb2bb869f0c7271e412f436e9cec16f137a437dd91493adb0a7dcf557aca9d0f0798b1055c804ab15e1d5f6f6c5b1f82b33711e10906a0395caa5b40f1d903f8f6803db4d6780d6e7c03cdd3cb16273aa064912e74f076f47691ee8d1f5ee88254ec9e1a156bf290fee9b888da07705d54b2d842b75101cedf7b01bd6ebf6b06981a28e0c1327c3b1ab5312efede8fb111b2e53577a466c8b4c77fbbd5362010a9f632edb11ea6b32eeb55a5f14282151c03eda10983d35992af203ae53d4cb74d16840d284c9ba5b71effa7e69d56c92ef68e82fa0dd23ccd73649487ead6d35e41d83c096ec79181ac717e3a13fc3d5ed4507227ba0aaef41acc7dea8b1bc6afe6a12b152093b5c1b4f67d25346031631abbe931e95d6b0aab168d69fba25119e85ffbef69957778c62729ca8012adb2f18ba000e08bfa8107d1fce0ab3ef4e8ac1f01c81fbf64967f04cfe56469d860644501e0a5cff4bab655a5978c20000000000000000000000000000000000000090e3af22120ec6299e05005c7be9381e4a8915aefdc26b7f924787642d02d40e058a60cc478a5d73c42965b19661054cb2a3de08cac0d1d9273d4d5e998316b3a3edca0cadbf3acb141254e99ddc19576a290a30f58f06a61d7bef86fcfa3f59505f9b0ebc6b8873875e14ce167ce573eed685d88e3e8e4b9bdc55d900f5a90c4bca9c0b83ce19df2d38f70404c0302c673964a5648d24b5f07e395c7e295c9e5d601d8b92439a8a1966809d3d12ef21cbb823366a96bd3c3f422ac403ebddc2ddd6b4ff20040018f7dff70b39429b0233e4cef45c9d38abfb2ec623d7c03295fc8038572db1017530281ad71d071bea08703de5abfed4aefe6e125d6890c95c18bfafa3bd02e3686c6303500b44623c6d54dfeb66ba5e0be98d72e4db664ff3eb4b25c75426bf6d60f7eeb808bfc85bd65879eb25bba30dcb5e119454d999d43116be619e871c6d6735b3541193bfae2881e9f528cbc03267d3e6b13152e234eb99a0f60ab074651b0accd1571caf02d691a17c56edf6d31b539d9b4241727255af698e484254d41749eb3f6c3b5518263ad62e0c4588f5dc05eec05e6880be218298aca67b1e9a5f9249ae21a58e1a6362ba41ba03a1f2a78859b2c1c867bc6240a8cbea0f8f2c7b6599357d0e7bd972602254fe2d2bb6663051b3b182af2150fc2eeec41b1c61b85bfd3efc0000000000000000000000000000000000000090e3af22120ec6299e050070c9e4846942551366ed7e5e58d95828f078df8e6e129e40ddb43bb688e5cac0b9b2d4d65d75ae20dc96e7c196e9c02e65e96c40277413891a28132406774612568fef7aabfbccc2e52d983983194feff189e30dd203edf74247fcf8fbd3b248acabda0c55543000707a5406e55e56c66c0f18a96f3ba6edef141775d1168433659983c4b23ff5ba26be1eade45e6cfc66eb1a57469dbdec36c73a80c1b01f68ea2a6f94e02088a91e2c05ad219879c04eaf979405dc65d1397151c28ce946872d0467c8755bfb4585b80fea5e1b35127d43485cc17a2d899aa71752aee8b4ff073f38dfbede76876412050a49f179f2d773921778b2bfb7bdaad14a7bb30ccbaf85675ace6cb1215a4dd3b2e32685f50bfde0b1d1d319bd8f56425cf77f0c787ca33ad7ac0c5b62985f9d3717aa288d0227bd2d9260928793b11dde7f6789541109b8197cc75f91274fd80131fb4c9a284997a9db6ee0c1f077cb392170493d38c36fa051a05a50ea4d1a286f040a40116c2273b061b2fd6d2a93c2d001e2f243ab4342d913e5c051ff47a615422d98f0ddab4c04a86719095a80d10246644c15301014bd27641646c4d22d0271977ca076b3134b1a89ea86070306697792c9bac8281fdcf0b96e88813b634e9b2553ed76814ca032ccd915726e11f74d1a3e10c30000000000000000000000000000000000000090e3af22120ec6299e0500af7da78bc6cc1fc56d23d4111a2faf6043ebbd40ebefcd0e2b33817a277aebb47c465429bf36adabf269b5e2e9d419a9784cd9e5b09300494b755934370494589cf2a0f7e04661168f99b36161b3bb0d0e65a7da4be73f2b6cb0943c6cbe6ee5196aae7e1fa6effd841f2ec2bc4d66dc1840257f261918889df331038774c8a67d4385c4a433a9f1e8e4007f1cf95caca6ea7b027798598c1c98f9cb1a02b5d1c11f0dec2c0aa8eac72c603c2fec36f6d0e3fbcff8cdaa2a35085e71a9d2b972232641815cbb45a35f5977b3d6cbf7a21d9af11dfb6cde59002bd415f9043a091048363efa54be38a4d5c30d478ee88fb624e408ecc1a34dc164a0f159e80018d1b8e50976b6c86fb0d8cf70a3daeda52bb414eacf9e548e1ecd9340dc7ecb096e084fdabddd996ef71e4321f86ae08e34709c32a77498e1c7ff1e96b53e6fb48e739b7b5e26c1b52deecfcbdfbc0555d5387e6baa57cc62152141b9f7167c327da5e256896f821c5470e04232de7ec4b6c919b99ddf650b42f1c101048e64c7a4052401f2c9c93739b853a9232bc2044060be5ef00cc3439663aa5cc8b9e9e2bdf20eeed2b7e0c350f0815a2cbfd99cddee70a151e40e3a59a66eb40023ff922d10cb416d4627d0d4f6f770ec03b9f00a14cc1f96dad671cb57267d8c757e2e60c20000000000000000000000000000000000000090e3af22120ec6299e0500e65df5433ddefcd65805d5566b0b3388c7fff8a6e79721e6d8fc5794b46300459348e36ce3e09163016dfe99024408c25b5291ba440e935520e75a8311678cdc1fc82c732a4ebf6d80d0104fc17033e4209899e93816c67d9f599ab16dc926473b14172102bcd990ec577b4be6076fa95662382ea706ee3389b8b410185f41f6600cef62e618c662b4102fb9c36affb02ff816dc7ec94eec2eb86a469909a84fd11032ff1f32f0ac2723a6ce3e5e355d50a599f0aff73c45f6698fd2ddb8450c7ba4fd85e94115866f9c2a56eff861822b3f65c0362b63569bbb032e9dc60415472afe27952878462e39deffc2ffa94e3f3a5516e4c6d047f0f16b7395aec144ee380b6936d756c30dd90dd3f9daa48930572d007ccf0599b59c492fe56e70b323f6df2c1c941e7a21cd998d926c4d09028eb101ba9e024cab909fe1c67832fafa881b4fc11f8fbb490a87ddf74bdb93d9c1b9ace4f6e78b5caca7ea536d66285dc26b2789821b9333362b7fa17f32f8f893943096cc984cc955d903a4d5c97b4160035517c218a1c9c8178c905ae1a00dce1600311621d5cd06fb7b790a01c4a94c2d22e34cd046de6272b77ae0c2e926d2c7ce37bdaef585f93279f3ba08b7b8237287df8fd77160f064ce78e2ec366fc2700fff2755a776fc0a524f932e6f1c2f0000000000000000000000000000000000000090e3af22120ec6299e0500922c705f59f3af522bc049557e84535f2fe478a4dd785ae16857deb0374843a4bb6e3b4cbf7dc4c2e41321809fe7dc0bd4c9b106940621265f4483b5e166967df3b4642cef273b7d39552e02a09884b071eb4a55ef2ab53074e9b882ca73f7f204647a7817bfe8d674c56be59cd8359777a909db8ca9f746b979b1a21683328ad2c031b68d8f8a723b5ca8bca19e6f76639402c68140b7e3d0ccbe86fac49dc417eebc7b2f97f0f96c82430f7ed4e5101f6b28dda1b2e2397b7a2b72ff17d4a6d83cd76f2fe3eb688d3a9e29358073efef00573bfa8d89da5665c0188445dcd9c749aa794687f2fe3fea0899c0a2546308b18bf3c7e52f1388aabd04eb933be34fe5241717904b253a154e09a7664f4bc3913afc08e8b5e0ce08ca00d6ee29349fcedb2f979e2576a07addc3f9a5765a0e4cc01f611ad9db46ad825fdc7e3d1ac31f596d92edf2aabf0cb4d4a48a082c33d6326f65a6718321dbe890ba100e758569a9f73e0b8a18d0b74908dbd8468efaca0a5e8cab513441ab8ae5372987ca4775df373efcc572eb2cc86c5faa7306300041509487ef314db283c16fa5f95fa8fe81b57789e3f422843ddc67a8f8b666e689d081e0fb1f55b608c222820979680aa86735aa8e72192206e2994e264c39a4d75d7bedc2ae72cca9067030a6fd01050000000000000000000000000000000000000090e3af22120ec6299e0500dca3db224911d5cc6d543ed17029069145b4d8feb673344cb231e598ca79f5085ce4284ee420391cdef114b224385f36c7f83b41c14dde28db124ca666053ed7a970d292e8920f6a936b62f91f470f8c0586abc599f948f924178ef65efc058cebe4c3dd7f3210df38010db0f1574f50563f1d269235b584b4e2913261fa15e02619977fe4b243da8fb4aae8c6f732bb88f1358121a363d71ac2966a1f7b5e76691df78ccc6d51dd678505e811ec8b33e964ebe2bfa520be3b619ab0b2ab14265b9f0e3d3e58b33ee9d047653797004e9bf0d55787f9ce539fa935127a4bfc21e0ea54b4e0e10bf0ce8109ba0b5aa21581721c6638aa8bee8d4cfd42809915e0388b7bf4d37d85aa0effddf9dfc954fd514ec5f55d22c5ae8746f3d581678761e6ab45a04d94b7613cd3f9965d65d9a0b9f7fb0418e2234c30e0b82768e9c40b92fe85a4a1ad5ebf6f21909de4e5d6693e0cddaa09d58b9aabafc134366993a592643bf800550cea9236e4293fc86587ecbfcda300dc5e1337b74d1e7440a97cd2ed009f92af169504a8ae75e9f6f8af84671d60250aa96d014b2600f4179f285f554d33d11fd7f0dce2b59e45ad67c5712fe7fd762f5acb3a50f07d78c7356142581cc426b48571924f95f919965703ee2b51b3d7d0e2d799317dedd180568bcdc90000000000000000000000000000000000000090e3af22120ec6299e0500e137b20642f5e139ef72a5b6697df7e893becd613d2573b4ba9e294634781ad83acf76b4a3476002a291730fa641f8ce44d2705da59d2a49f5df331557538d33b0d352ac5953207e8b168a32992634764bf789aa872afb2bb3b3570b80854c6a442f1fb2716f164d291101068ab62d9aa70f0a56b07e8f693cdc184142230e01c7c88fec4cc62ef3b90c5a4b17c96181754c642846d022b11e4c5149d07b1174ad82fa73035663a1820e9f7e522cce8315119c82c838655c776b32f0c72885b03592b762f3bc0137a61336c4bacbacb701b4baa120f883f55a150e1d02eea58b65759701e0d011d0fc9ae29b4808eeca6a625d2c3a340812b2981fe57a3d1b24dc1bf324671976d8c1f32aa508d50b2060799cc8b1cac3063a9f106081865202b7c9aec880d4313626a3d25db3c8efdef233f3201603d9c3c5010d565a8d5021c1897e77f6015644c5f08d88eb917e2b9998697cbafa97ac32d1be8595a93ecfeebb287d6eae14ea55be95392ebf69890acfbde46312152b29016abaf22cac808cbc397395342f4c1509a0a1b07e757e1c08a383ca04131bfa77d21e7c963b0981ab23f74065a42a280d5856cb5c314392598ce0355916924006015ade793761bc625bec5e64723af1418441d30411d59966688ab0bc4274a8026bad39bf60ad6b280000000000000000000000000000000000000090e3af22120ec6299e050067d8477bc91162359b514943a8e67066f71a79286829a8fe433ea93a834cfc2ba61d410dfa56e8dc782ed8f8a68a5bc9b7490d0936a2f9b479bf074de1011e4a6a24510c1bc1ee3c660e08aac78bec5f458d1029caaae622ff84c883009ceace4133e6206e3f04f8313b39af0302c61512eff1bde025a60246ff9faaffc87ca58f690d113bc4638f9dd2996191a0e6cae69a7d0a360db630239679ac013cd2d6caed9f74dd518c9b898eaae8ae187d39451e83e78ad4d91a4dcf4ffb965a3a816d5c63fa7607170a9fd493ea047fdb7695dc4eb29d4b2d6f60d031b10328c52ea0ead2c3e67467f9cc1bc27d0f47de93fd972bf4554928d0dc7937dc8570c81121ab4fb567ac3cca2700d2d577062eec2ff4d7ea5384caf3ee993befb2dc9f12e98fd5f7ae9e5505cdd758b94460b1ca065e773eaa1f4355a6bc6cf1cd87816973b8e124913c942b28d4478d6b355b2151fd1538dc220b9d00d85f611741e469b45b79fd5dfa0a1d4c9afdbdd6981022f855256afce9a17811ec4b3a9d6eafdd23d77eae0f3bf00a93ddf3984cd1c3592d497066b152bab46002215549388eae35642408b3aab8083543bfe34e7e788d5dc0d0c2d3b2ef11f03b9ca0cbb9990050ab13dfacac722775b819a66234e201f936dfb94066fa1d48d869abd06ca68bc4290000000000000000000000000000000000000090e3af22120ec6299e0500a26a5a3f96fd683e47b65ddb417e91481130376328aca0842af48b808bdf4b6e814507858bcd1abc2f26d5facef931615767e72235c8288927ed647aa51f514bb9c57f0aacaeddcab4cce09a274bfc0d1157df9ab4c3aa037a4f30b817eb4063a6237d12a42090f33921383682f6643bfbc9a82cc7d53f644d3ceb59309baa4060c0ea280ae752e440bb3166b600566d019252c4f2765cdae664fa7d1cf6c64e98d334583ef7018d73f92bb03028abecfe66c096dfb5c2faa3e8fea492cbe597ea3255f8e5d7abc5fa073008048733ac6103dbb1969c2719d893941583950bab1d9f7a66e45bdbe64aa7663e8938609aa49af6b74fdaf8c86f923f6dcd72e015a56bf3e0347359c1234c7fc4ccede22b4201816ab34baf30a7d57299b5a993cd55ec2cd16b35f4edd2672c024863ea073301b4142cf6e3e433ec24a5e4bd6b4b2cd44e93f7b6d1cde98df1d3dcd6132b582324630e27a71c4cb7dbe917ef3cfe0402db6f8fc33675a0565987cd0a79374b09e9462057a8a4d28c54ff6e01294349ef5e0f33ecda36d17f9e0b1c57889eb2ce2f9a9dafeb8dddc48a1f9e37f04ac3258b2acf04828b71c2dae586d89d787f6a1f420aee2d8e5568a12461d068487932aac000234ddd95a53a54c1e4950c2c02c149cabb1d557445c19084aad270c8fc0000000000000000000000000000000000000090e3af22120ec6299e050099e7073cd508dbcc55a3824dd2d7553ae9d2c9233835f7618e016c708997f21b8ebc2f27cd5425051ad0056589443437512ec08b583f00f742ce6a47d83358a5e19bd445331a80c26660ff9de88f4d6fcaa9b199ff80c71f0deaa618b588cbfc9df66ab6cf0cfc6a265fc9c16141c0def6bc9501ff1720477aed491e4e1f4477da7b9590142952e5f3bba1323afc1d5b26069ddefb9e51722d1dc4257274e9c31a7ac98c5a770fa75de60388312df3ada8054f08412ab12d451c66a70e30dd1f585bdf87a0628c0b75dde7b32c614db2176c8a561e714d5272fdb2d64c712fe39e7d04347e2da00c20d43822dc340cf835eca2bb0d5a910218667e6daaee04f1c2decf3bcd17d729de5b8611b5d3064b611aba9ef6a11ff101df6db24e30b4086c9cdb5bcb9de8fca7233f23c46a8086df90607160732375e2eab5846a63a7780e36bb92a5e4040d11cfd693978ed48b5c9b464fecf7e059f1774a0ad176b183bc49bf2e2b1a5e36bf2bfe443af4e7667e4137c5dbd7cfab496dee8c83f90416b967bc9b49580d883725bd2161c42f2063d57d1cd35744fd807c7be013ae6304fc360504a54423d9035485329f342e059a135d2c6c23423ba05a1158174af81fbfd14eb0881c1b353bf0edde888316bf52f617e4998334773e2199d148c1064eae310000000000000000000000000000000000000090e3af22120ec6299e050098cde97e57f9a488d3bd0766eeeb0a53084ffb288c45ddeeca62c5bb54669cb20ff5f080b044131474b102781e02f7932209b469ca53c43145630723de66439de286227bec5e7c5721e4c1eb7e4a5d37c4d7b7fb17c11a0a7125054d8ff93e8802e36227e699d92c8b0afcec3f70bffd912a81ee00168b1dcf3079b07a5a480271c47300bfb70cb783402d778932e882cd9260247ec45a3f82c12ed6b612d0a5c53c0957ac588ef34dcf4e4c91be7a27ab1e74c8e9dfd3749802c9117cf1d71d55f0aea7b3dff0fc2b30fa3dd8c104becc0bf4b2e8f4ac777129313819ab0490af89f9bfb9363a3ad18f6046f72d3e5a9957749439a32be8ba2dd750fcb81e218c036566bc22a4271f3a6276ae129781d9c05c453b269df62c69c1467bc23f91eeddda034c00678285aaaef4efa8128ab758db3d4bfaccbde0a1e985d243da423e5fa5f1268c24fe76c421cab257662cf719edf30e8cbc72e2797994350e8ce2eda1bdd0acb86ed97ce3b31c7f9b41f783e50077afce202ab75350f85b5888d2f80e3c76fe27b2896a6deab86283137b6ef0503ede8e92590e2b2b300d7136d3e8295e97a4699c84afaad84612f8540efdd2b23bb04a3eebb194127826aaaf60425b888c74d3e9febd699d05e5d5e9eca203a1fb51da9adc1815f2fe7c03455638f50000000000000000000000000000000000000090e3af22120ec6299e0500659a1e86516726a3cc454363f038f576070790c99f1a019e23ea939a0aa714bc71bdcd258b05d1a048d8cbd0a801a1fb44e184790ea3b0c9a02dc722dffa6340d0ad407fcd6beba10f0c3c8a0a01e80386474017e7ed467f5ae2bd7df575fb0cc315a23e99d446d2721ea8989cac9a31b3e38100defb17cc93e76bcc17bf0d91043c32f6915f3a7e912490ab80423bbea123c1c85c33651a560086f136634b9bfb7444ea9bc920061b5b74228f20d0efd9e33ebdd612c1a26c06795a3154ca3813654d484defb6aed092f99118377369121621b7ec51ec9251689d4fdd790360aaed1ef53e63f53f26b081fe91098892525001d7979fae73de3b2e43566a87d545c314ad86d169cd8f54cf8a74f4239bbeaa3127d76a6ac7b0f9733df8028143a48983ef3279763e912ce7593daebedb4c3237531482141e1aabaa3af04313cf26afb1eadfa64ab779bd4e2465ce3b996c13bbe0087155f389dc6b2c2ae3e96f8b3d0733366895f0c59da313269200d27e76b19c26b16d24cf2fe59c46902b6e8e0cf1508f1bc9a340d66c14fde111c21612a5faed75ab73857164c45ba50d52bfc4e691a2fb6ee97bff9e02dda3499c760662a4d15e82b5e27cc358e8f128064e65d3dcbad464ca5cd7e9e772d35428561b3b13b1a33f32510f151d737cc06a237e0000000000000000000000000000000000000090e3af22120ec6299e050037d115ada40276bb49d3560b1b24046f68378a13ad6c8998837200791b5151845a4d401b6f7bf213e3bebfe4d9c272af2cec0a84cd0ce11d5a10ca2a3a44d48018a80911678894eca564b64de1e9a16078e75daf4ccff9bc7543c914d0811be837b803d3231200e36ce42ccb4a0fedc9ce9076648bd76282b3d7b45c8ce5d248f33e82416dd9cd87ca00e9d905649cec4453e0a023c7ea8840fd5ad5c845de8dbf4842b625044c6971ecbd27b4ca50cd57e1a46d84fff9d38b6a1f33ccc9eb606735c0efb92bf09761521a691dc445e295313df755577a26879ee8e16ddbb838e0c1c3032015d63dd9211e481d84bb8e4fd889e88df58515643d26ac99495b1c4ba1c567cdb114fc57cc6288e20571aceb013bf311646869414c9dded36ce9fa969945fba8dd9d75d135fd6ba409bb8e72c6afe562fda87e5b6fdafa97d4803d2afd13d587c52635ee16ac935d07e10f3164ff8f63407c19974042f39365dacab723ef18cbef171333dbfc70521befbdb812cb1acd3eb16817244dce02ac6d8cd7e5a98c13546a06d6c9f331e3001720eb9d87846fb5a04bb5c51dfc81d16c9d1fdaa1d3c0eca3e8f7d5c22c72d571b74681ff2d7bd6e8b8c463066f6317be3092b717f82a3a1232f16d63cc610bdd501d6dbbf2fa9694fce29197b8374cdd69ec970000000000000000000000000000000000000090e3af22120ec6299e050049723f40756b0b631c16caed87c22fd6d02255a4558fe2c04cb1c38316faf252015f7fd7494a8ec619dfb6c2eee8676c3c43935312662848ea6ce2d796b2c6f233216acb3773e28e92f3046205ae684dfd86f58f317b4ee4ad4395ea017fbebf81d74c35f83b541ab92a93a6175fc146881595a09e674ede1d6ed244d43d5895ebb16f65763b0ecbe339d5adae0aa356b4462850b9c45f0353fc50ff5ebec34f8f7383dd7a1f09b74d79cbb9aa110edc6b137e8396657fea7266c4b011bbc73cb2afa54eee5c0313a07953df2b3c3af7d158b0a3b6e7edab5203222c87041f1870d023ae81400bfdc4c1e0b2b4312670f7905c4685b9e1f133c08e7ab497f4a9092711d2debb6c4d61385125026018e136f47c493bf35263407a2b386fa6911a88e05099499028359a4d2d72948bb7da4901669a0bf1b2de590ba0f496180985fd9dd1518e8d8a9feae08cc7d420019d42dd35d9f86f0959c79869fc4eaed5a27e0d4913962fb7470466d5d1e9be2d8fb1875eb11cd7bec20104e8b1f47e9856bc7c1e49e736dc9623cfc078cae44bf379983de20f838c8d078b8e104b7738d4effd1f8716d0fb90cad91e4699da739c9b2459a32eedbde7725ffaf91e10e14a7b4ab346351e3e1fcc9d6bd6165dca605a8786843e6e14361924736bfac4fd5b2c520000000000000000000000000000000000000090e3af22120ec6299e0500416971e8d9e1a8a15b95f57e97ace3b0715e2a16bb233bb4c89d0b71b4f7430566788ba52d7b12446e8d8c9b03775bfa83e3263392fbf4c9dcb7263109b83e3e1b001c6f0baf923fe876420128ecf10b6fa80422f36b24f2b0a3e502dd19c042b41779075de07a9956a828c0c3f0b3fde4cf727021ed836d3830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"9173c10589b771652fb9a709d9dc26d57a44edcb16587736a88ea4cf657a389447919257380cee5ad7937cd0cd49dcca295cf413528792b1e4b6f15d73e7c6299a0756fc77131148beba62a30169fb37f9d7b836be21b1fa392b6b00027cd0ce071cf49f31eb16eecb89c548e6bc4eef5a086f0992f829a87ffd95536e56fad0af13a90f0f51bcd37daad499fc387d1ad3b3be3933c15183539126fee2df90dbeb1c87c39d5a0c73908501bf1f17d6b49810e8f3ebbfdb82c4380cbfe79fa2ae24e1495054fb932212ecec1ca15e41fe8f24241a78d291387c84f2b9d3620539dbbf2e7dea41e16818e6562e61a19a3ed7b570af7dd52ebb04685dfcbf8072342ba36263e83c17d9cdf50d16b03872fad88987d26c1a5da1c337db57fe4f2eb9e824ab2b4345fa14c1390b3a81d19fae1bdd43b136bbc3e6c2b00b40086d13283efff1c35d5b2d4fd5b86e3fb057956822869424b6de6cf591cf6822eb7e5bdd8398562207730b0625e5aecf0e353a4ab3a0d64f6526ae32f172dbe71380cca26fd37f5159f7a763f9d40624f698f2817654f8788c991e562a4413c0d1222b67c0450e2d4de4685d1fa554e3751335cf639d98eda50fa6042e607032bad84473e6223dc9cf752baaae30474674b294026882416e4943a8fb07f5aabcad746eabcd180c9a0d35ba5bde4d3fa7b78aa9917fdf721115bcf2692a62758ab85005d7120208a65b7609c81e1833374b1fe948efac71cdde028f740ac458d7fe4e7b9a2f438942eef216103e4843c4c9e5c87a7c0c23b8270fff825a8b3d07670bcb3f1be7b1d5c5a95d63847eaf27f32dbac5b9d5f31b8de941ba94440ff75ad04649219df052bf9522b374bf63a253f473fba8f579ecace5431c5dbf190a6439e627de027de4be25489a116c00544f26e62e4a758a5501982c74c09334c38072580272c1f1256d0722326eb79fc6342ca14a996f4b80455461979b34f075c2d27778420910c8233fcd8addefb425bb17b1300d8528bc712e9cffa54e8ad9163b5b7cb18128186bf91d41d128cb1908f6cd0ea2fc756c8dfb958644cbc2cfa88d191f34fb34cce1fe6b4d402ef58c20d304a9ca7e68c27cd710672a6ba7ba1a4d2b5a731759ffe02831045c9d0158956cb89751e6a5c04ea8611f3a2ba23256ed32228a2ae0c25bef1824ae020756dcf10e62733bec31da932f5f03400af93231b89b8c37ee2ce103e5d7b45e273d053d36f0fb5b27f515c8184564b3aaf2e1bf21d443337385f4fc5b1f16170081b5a5ce3100fe2af8dbc91c1e6773fa8de3aa310fd72dbe651f77a7cf82f3e856881cb06bb190fba9d96f7f79b814961e4875f30837b65e766ea2129c1e3d415114c34d521cb83f7caff4b21d5e4a73a30cbd27c4781d52444f907859bfec445f80acf29810fad173881fd697880fc2b75c329d59","shares":"000000000000000000000000000000000000000000000000000000000001000004009173c10589b771652fb9a709d9dc26d57a44edcb16587736a88ea4cf657a389447919257380cee5ad7937cd0cd49dcca295cf413528792b1e4b6f15d73e7c6299a0756fc77131148beba62a30169fb37f9d7b836be21b1fa392b6b00027cd0ce071cf49f31eb16eecb89c548e6bc4eef5a086f0992f829a87ffd95536e56fad0af13a90f0f51bcd37daad499fc387d1ad3b3be3933c15183539126fee2df90dbeb1c87c39d5a0c73908501bf1f17d6b49810e8f3ebbfdb82c4380cbfe79fa2ae24e1495054fb932212ecec1ca15e41fe8f24241a78d291387c84f2b9d3620539dbbf2e7dea41e16818e6562e61a19a3ed7b570af7dd52ebb04685dfcbf8072342ba36263e83c17d9cdf50d16b03872fad88987d26c1a5da1c337db57fe4f2eb9e824ab2b4345fa14c1390b3a81d19fae1bdd43b136bbc3e6c2b00b40086d13283efff1c35d5b2d4fd5b86e3fb057956822869424b6de6cf591cf6822eb7e5bdd8398562207730b0625e5aecf0e353a4ab3a0d64f6526ae32f172dbe71380cca26fd37f5159f7a763f9d40624f698f2817654f8788c991e562a4413c0d1222b67c0450e2d4de4685d1fa554e3751335cf639d98eda50fa6042e607032bad84473e6223dc9cf752baaae30474674b294026882416e4943a8fb07f5aabcad740000000000000000000000000000000000000000000000000000000000006eabcd180c9a0d35ba5bde4d3fa7b78aa9917fdf721115bcf2692a62758ab85005d7120208a65b7609c81e1833374b1fe948efac71cdde028f740ac458d7fe4e7b9a2f438942eef216103e4843c4c9e5c87a7c0c23b8270fff825a8b3d07670bcb3f1be7b1d5c5a95d63847eaf27f32dbac5b9d5f31b8de941ba94440ff75ad04649219df052bf9522b374bf63a253f473fba8f579ecace5431c5dbf190a6439e627de027de4be25489a116c00544f26e62e4a758a5501982c74c09334c38072580272c1f1256d0722326eb79fc6342ca14a996f4b80455461979b34f075c2d27778420910c8233fcd8addefb425bb17b1300d8528bc712e9cffa54e8ad9163b5b7cb18128186bf91d41d128cb1908f6cd0ea2fc756c8dfb958644cbc2cfa88d191f34fb34cce1fe6b4d402ef58c20d304a9ca7e68c27cd710672a6ba7ba1a4d2b5a731759ffe02831045c9d0158956cb89751e6a5c04ea8611f3a2ba23256ed32228a2ae0c25bef1824ae020756dcf10e62733bec31da932f5f03400af93231b89b8c37ee2ce103e5d7b45e273d053d36f0fb5b27f515c8184564b3aaf2e1bf21d443337385f4fc5b1f16170081b5a5ce3100fe2af8dbc91c1e6773fa8de3aa310fd72dbe651f77a7cf82f3e856881cb06bb190fba9d96f7f79b814961e4875f30800000000000000000000000000000000000000000000000000000000000037b65e766ea2129c1e3d415114c34d521cb83f7caff4b21d5e4a73a30cbd27c4781d52444f907859bfec445f80acf29810fad173881fd697880fc2b75c329d5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000000","data":"e23aff47b29e6316b24e0f019423c252b9809b88e8b6c47e06e6481a403847c755cfbfdbb59b9d66fca5662efdb5fd6e4e57d9d54d0b00138179a50939fbcd82ec2550af6046da161168575abca2c18534bafc3538344b512cbfdc8d66993e4a536b04b0e0caf3171a0e960662af01c6b53a96d5570d106b181f13adb29333d11f53f5bbb7f8793eafbac1ea1225ad3273784224ee1bf14ee68ec76f0be38b317daf977297f966cc89427281ae718f197202761b51ca4e1c2376163580e503300070a2358d55221a5becff74e38f47cf6bdd871caf7021dbf5c03e85ff08c3887583fd314060f69749542ddaec2d1a56e858c136a0edfa9e31479583c8937291988d75dd9977ffdeabc564bf15cdd066262469a37d31703f0fea73ada5a78558ed81db21876a1e220a6f9b64564efddf085511d2814a07543f9b2234c38c4e501cd02dbf752499e708c467d98e7ef2984a62fdb354cee9b1a91ad260d52deb526e3b564cf177c3935f6d0e02084a1a78843eacd6dcbbdafef23261f79f82502a9f08e0e9f1e60d8dbd3a947cd88119a8247be28f6417b4c61370c4bbb9afc43dad4c8c730e41f2cda9a8adc4d575bc805ebccb166ac44f1de1073cc80f83e8d5728f44ab458c479ddb422719334cadcc8a1e7db7981654eb58be3bb59fb57ca112405cfc9cbf5112610bd956c51e4aa730ddf49077d5119e303a9227cc96878095b69e4fa3605ddb7853c11b8a1f70fbb15ebe8c7e73b3565337c5c1fb186b0918d8e14d8064c027336d619405bd5049775d944f5457f22e46c812adf87b0c24941d4c8442e7a84a17d24c5078405517905dde2913f701caeb71a64074359ed6024105540304d5f156d39de6006e9d1be0583fa1426eaeaabb382d20734078d6f047394549401d42806de42262af7ce06add81bdd692194cc1cca522dbad0e76bf3ac021cd7714a663a1bca851b80e432c27651cda1e5659a4e36588a183a5f0045591d4964ae0adc68bed87f442952d6b52aa76ed7c99e2021587cea13450cffbc644f5aafa856276593b3e8c776cb15f6ad7c3f1a91ddcbf7b10d23fcb7735adcf267fb8e288b6939db9aac219c73a55b976a2a383b4d05d36368c62619263baccf1426bfadf12103cefb153e7213eba053628e708ec01ccc78d3cf32173ec915c9858720a35f96d248484061f398aba42e7db99dd21ced0136d4ff8bc3e7f4361f5e1a699273e60e01b02100fbdd6392f87919aa80d877f634561dd7c985ba1ce74f62fe1c720811a5a95b5b9c29fac091b08bf711ced3f54c25df6c18d6972524448a78ab3a8840421a95addc1fcc6e9e69ecccb09b100ce11490806321a1f027edaf833e48983e45ab8553565f911b8f0bc08b387ce5a0ed6e9cb87bd0c83126e33bb36fc7e1949b440f3e2db68bd973a770e4b85fc5bf3b75c45995ab4d4b191859287caabdbbdac460cd3382f0288743373abe60fc3e2220d5f45ab2eca39d3b69a166f694217a3082d916544dd18cef33cbf92a7512bba7c43315ad9251727b02267fb30a33b7e1191be7a7489beff7f7fb4f66a55ecdc83147dd828405f32a7eb06587fa8d66810ff6b94d512760dbadd6dd9f68b76f1eef83811846e226cbb9280785df8695534b657b6292663fd7f690e54e0b3a205d0ce7e4a03b8426f52c1050415507bd4779966c8546a2698e175da831640b6c899e4860002fac0897e43a1045b563e67ff991538a08efdba5aeacf3160380b977dfcdd0dfcc48c225c878d47243ea184927377277bbb3ca282384f080cfe22cac9d49ed22495ec5e1aab4085b1c462cb11b3f4da9898b431136bae088a989973e87e8c8ad32f644e5ce998883e90effa14fe227df2dd114a58657ab3b5ebcebecf620ba210f9b41de0d06eab63b001075ba3c1a879f5d3d1cd218875f5ea4fb64635e028f13870e0e7c15dfb43b8023fd9c977659e4a920149b059d34af3b649ff2793af745d4da9dfbc3616cfd717778330a795744fb3d3cac3dadac91983097a4a5e848815558a79758c98f9cdabb9dcf7d043f86bafb69ab6eca8f76b4999adc32dbc9f3bba835882f6a86656b89c5c1adc2f3f40068ed6a4f639fd9b969a159bc86e7aa8c6593bd73e56c6a0c8aa1f53de871a84b42b6be897272d433c5842bf8129405498c7aff145fcae477f0d943430b21b96c157f6ebca57861716d653205e2a13b8a18baa2d945d87f77a5321ccd606713e5046bdf9ca8d3f7584409201edeadf51504a71c352085479877605ee4a6c11361a9717913fa39ff4b97f3fcbaf0803a187f900a04c49f6f4d9d39b8f99f77319e6134a3ade23983a2b1f7fa38b8c0e13c40e71c603e6a9a9d30a2372e3f6dfd10c8e3cbb8af4c0e5390b35d126723b51e08476c0cd786cde539135e2c31b0b62ce6672ab6fd5bae767a6fec7c2c109813c0b43d194bc33b81a0a71d77c7beecbd1986f57d1d6bf82cb34db55c931fb831f9b7d5b5c5f9a7babefa477a08607fd7d79f1a8799ad3a9ab85e92ce5cbd575c86e4de586b5b561d286fbb5dac1a2ee20d39419583a008a55995e6ace61876739a4e693ff958e65413418e0997596f73774cdba4d1804c6c5c8b90fbf505683d4fbbbc8ab1127bfdb9f1f73948eb001bff3a7c9ee3f016364f8ac2493b6acc7d82d4f97eccbc421d3a94f26b2f669f985cc7f14264aaa0be20325a07fe250c7456617cea4d9928fd913c8aed2d22b98b90bb92cdeed1a7e0661f320263690903419d1a21ca4e8348de93ddf40b20a72acc7d3bcd4fa31db538db7e03bd6e8cdee6527345e4ced1c0c7f4d74bd01368144c4a67ec42d948990da1afc00c0b22673c6eac3b4307ab1c500f03cd0c9c67a0eaf187d76688fc7f6e6b4b2094983bfe2721a5f1947246ea0da38354f047f85e4621b832ef0ef92846804239aa3abca81b8afe49c2be0dabd9643789016ef5832a273d9ca57d7528bed6d1aa90bc95dfa8f8d14f8d25c4b6961dea68eadf01a95a8255cd02e3e93f61c120b8afbbdcf6fa3019e9ca3a88ae2488d2ff89785c7d0df14a390fe924ceebd25ba3daf0fccad09c1aeb22187776506fec1f1f87d402c495d70e55a0ef8c795e33f253c90ea8b184f4a0b29baaaf3faafe65d04a2c0d5a1f903f6485c7757fd7a001e902e4921af86cb0d35831e3e1eab1eaeec2b65f3d53bab02d2bb3b822de6c1ea5409fd72f08e282b26cb0a7068eb751e87409ebb79fff1c220b51bef1852a9dda492977afa4df12af23ae222880223d0041af28af27185c98dd958ac66c77ef699f421a0b9b8916440dd43735c9f44e29c2dd0a8b72b80c7ea26d501b9fb44dd2e5a2feb67a9f5be47889650e0a2ae8414bf896388d1d83e047a2fb6743c55f79da6190acd46217d6a9ac52b9634c647ca51a5fc9f172e0c3759885de7a9b5793899a9a192fd91aa827a2c12ab366e3dc89ea69f75eac46491e48540987542ddd1ee0224168bbc63e787dbed20cf2c2f3f80aa35d1376eac543e51fd317290532a944cf8856a7abc5f23ddd46fe11c20220ba19296a78f83ccbbf3c8447dde15dff96b100230a2fdfd3da7ca22b43226e429dc3302ec5aa5262e244d74fd014575f744b228b58c6467b5aaa19d57a4d59c5d987aa066a6c663e3fa69e7474823e771f0a4e7eee74b9c12e2dd3b310784daf6d380773cb6408571393532207e15230f888d73118c4fed78aff356a9e0f7daa1035ad1cdfd0a1920749b36b530fd7243152f4fc7b28aaa79f94181aedb3a76d0f36978bab5ff8866641616756661af182a1992c3cc528469af6be22d270fe9bab00a19e5564cd41ac790476f2b55b63c7059023a7f404619234d05f130e2dc8646453e7fcd569e233d6e09d1ba8f3002c6dfc33af437a33c00af3ba96fd70f5b7103b60a6ca75d048c517371ac83db617f8abb0934139f51a85f7e9ce95eb3554e58055976fec44ab3b388282f94c67861fade73858df8dad99e503fe2846ff91f52da1cf1decc4c2bdb592d360d8b70ff995667cb27f0e9bf211b284ec38d0e7be75e516838138609f3e3f2aa83bf8b2490983c06d8bd5314dfc758a33bcce25dccb2ef7518888175957e2901e08c70bbd67f0acabdb94866b5ae41e8c6cf5a0b3dfb82a2a88ef924a405fff314a7c6bb332ddb30d5b40ac015c29a76e1ec0a992c2bbbc57c9e735530f06cc512cc1652ca117b52a1027ea23ccedc527d73df09e0aa11a263c22fd42f6c6680d87274fe869d23d8687b0a2cb08669448a828203f1c71f201cd3add63cbdeb9db8514f59a6392b5788161cdb7c16c6454a797a66b67f1ee13a703b8354416e69ab31fe32a96eb6fa386828113cba5189c80af4e7be95019ab73e188da90263d74aa31da6449d8a82f0677b6621f913f7d89b90af7a07c6ef4deb12a3bec38949c979e60341cd41ae7d833bbcf7971dad2a208936191d04aa2bf56fb46d5b9ad3b592cbe101cf4620272695012caddb2b5b46895583b2114ed2cb52c0564e83166b4a98b57b806478ea0a68b95d9fe6c9d4a35578a55631d176da91ea172507fac0d0af80012fbaff5d7b220050592c10a9f4d2fdd634dfd62bb7ccb176a4d1d0c5c6120a7a92bc6fa441e76b2270a19542a9e5f5e7d436e9c87c2529ba0a5b47f62e95a54ee0f03f809a2bb574124c9fdfad685f3eace06277aaafe151942d751a9ac87de202fb943bc397d3467b70100da10be3780f316d5001dddcd0f8d00555d9656e8713ed0ebfa0f9e7fac3e9e0f8050a4aa66e6a2883be96ea8d0ccedce093032a703c30df367ddb110a5452b5f10d61b2220e6076426c1bb5f2b46b3e20c32134a12bb314668e3e531ff134b8a0a1414a34a03f2dce9378444136b1e4a7ad92730488583cd528a11570774650b5c876262434dfc3d4a9a1d72d8f36216aff160522062b321145c1cd4101f45f4ef768f667c04b61a7f7a3a4de0640f735ad05c24324ae07ee2cbe7a84ba6ecd8e60f26b76c07a7dcf0ff7c6aef2ec4e82001625075b6bd89ba3b9a1f44505dcce6002dbfe335558cf45e42ea7fffa1dd39dcb2935af97b6646a409f1e47f8372657963b5f926fdf344ea4c50db73ebb5af97fed71ebb1ba4804526d27f5b3b62f2fd0296b3817197759f729f340d4dc4a06ae32b82164a83fe7397c8289dd99e46a785649d0370df899fe39f5e7ff27b4846e8222e53d755923bb173efde64886fec68d9b594068a67f9e4a1af919e6fc6daf4c064c3aac6119eee8ab7ce366d3c76a66c4206d6a5e538524838266ff6ddcfc5b5a8788cbffe96eea5830d4142b292215a267e6f41b79bb20f63376d29030a644ea72e0559744cb733ebbf600378c92ac401e8fae755f7cca10c16d2361d69172a40fd09e12cd2fc206a7037f8d5cb51edd295014eda086fbc5491b0ac6233788730ac190e61c7a2d1abdfc594adbf0049f591c010a78ce958937fc66c7f766cc3cf1de18ae939dea9905bac71136eef321ee9e772676a8333b24c3e4525201e4d1121b3816aaf48a4bf8e50789f1d7d1ab4cb82185dd7789fd02ec34ebcf7b9fb8b30df8b16e6b0f6bc49fc24891c493e9c96bfb9051cdefd9303dd8482bbf99c9767983392590da343d6165a32c918bddab0628100e0afd3bb8853d33f7f3d2a6d9b553464d6f68804441667f3bfb6a9bcf3a5332182d631ec16b213046c57558de02cc49f192d14f4f815e52a3f4dae66a5bd830f3c258f876b0be4caeb7325572dcbf680e83cb5dc99307b70c320a289d2a9b97d34493a5f17784dd9f9254d5253ab632a7cf341bceaec92faf7efab4e4d6ca88eed44ea82a4a0ad328085a130aa34a042da56307ff8b0a6605daa3fd24d902dd3337a0f90ef1922d6faac71e6cabd20829d7133faf118fcac1149a3e6544c52b344148a83c6dec6d2067dc86a236ce5bcf54563bc5c63e4009d4d7193d61fcce00dc2f88bd703d10ae05e955606efdc26ec3bd0386f7e2485f7c1cf8650a8dd1e03c050f6c9e4629d7ff342f335f217195052bd5fd735a823add104f2593acbb98b1d423f1e2be5bc2d79af20a7ebf1d09dd321e408fc568e681df9d68e77358817744e5a1f9376367e589b5bcaf7ccc3e9c10427fcaaee1ed350df90f88f7e660283855fd687a9d27e9e54a9485a7c31851849600b8828d30d298722083f384403423f36a69755e5836af79a8f2050fce473c06fd8e6a934dba8ca7d006fd9322c28f4f24b164b405ce2cb5608db0149bff483de852f0d1fcf7d43711678a4ba5b8038565c1ac5108d4476e1e12cf97b722f4841327fffd9fe5a9842a54f12106796865434d943664cf45c0e2e5b38ac3f88d81539d3bedaad8702fa093a8574858ddebf1585479179b787f3e075826ba430737b8bfd229bee4690c34d69b76cde86240f8297c7187ebac2a40e6f2acdcb323a0d8c3fc5be26f15f4e6a7ddce1319911821cecf2fb6c5eb3bcc672ceca42bd72ce0a7e67b4f4abfd99228e85cf7db3192b6be9103a36970f5a00ee61d337878d08211ca0c526acea0b4462dd50ebaa70313a3e29fba720e52bf3e1a18c8f1b167cdff0cf6cfa8112728971664888ad22381c1d657c3252f11fb39f2133c787e95c349372effe93ad6141f59327c596c42bb457d3df25aa3dc6cf21ade6c09f8dba925a8072948deb38fa18f6792df2a15c260c516733316739db70e28d7a0a67236736a2494d8d1fbe4d91e591dc1ef7b1c2b2d133003404fdbc288ecdc30f35ff7f5279ada15a0c46f2e30f136f132144016372620cf9b5ef73f151d475058135e7173b166c1f03857a85c1d3fcd9893fa4fd44353c8913b2bb9ba72c56524e2978806034c22f07b7c2ce8a9549059530e2a1a3bf42390359c41ab8d968fb84d6651f3a44d78f409754f290f07d69a177870dd1dd584a20ddee8147c24602cbc827bbe28613561f0b25b03076911b1358210dc27260aaf59f08ed7cd06f985d6529d4d6e3d598fba69c09451abe9dd8efe86222db68831f18e5d24fb50fcaacd2347f226e4806e8b4272f26ca004fd8ac17bd0cb1cae0f9343899794b684cb122b5e765d7db8a4d2dc43db69e54762089a21cd31142929a1d9a6c68b999373033282780365f44f34c4ce13632ce993cfb8b9fed453be48f4b0fe2aacb301d7a2f45bf6c5a7337b78ab96e5ec6cc20b4caae5e163d36eef3bfcbe69f9ebf40a43d0b39c6fab7e3ccd493e6bf5c96782d1ea2c0420937d7afd7b29a00ee6758ff0db436a7c64a00b9680ae015f5de45b50375442644765024e3f0d4c51045f1379c67f2740dca9cd3d3a3ce05ab1da77295890defbc240d8ee5013f5298066752749b6d1ee3dc61ee52fc99317de7e7cc08f801763412c0ae1a4618d99aeeb9bf2bf544da0fa3abce9f9fe888b1a390e7efd6e099c0bd7bb6ee5bf15cbb6aa5fb0398348538e4d7a2c58189195eb8aa1ed5f6bfc55e755395a094d943e14176037c83a6c98100a8870bdb8787df198c24f9fa20d845a47a142e15c6e61a9fdc2b7c1a64ea3ce89acf6291ad05bef8185ea7ff8da4a5818d1ede2cb9e1ed83487f7614bfa2d596b23cc8bd470940304fa90b17eb0becbf12eac79d6242a83d9096a6cd5fd56f26ccb21e33a866b262b57e0081ff93f907b7c7a63cfe9f3a7b3354f4cfee6110ae341da1206a7ff0b987596b41771799fbc77a085baafe32e3da95877e7d7bea15bb9aef411064be22dd02a5a03722566f8344e839840ee8591d8a475b1f699d1c1434610751fecf389b75ac428182f5aa210e4b45700d7dc49b2403e0361effcbe8455b32d03c1c4e980e913f8a2c3ce01b6da3e1402cfb4ef47fa66154281c7383701062fddba6b8e83ed4c580853de88920c20c0e555f586e1f6499da054f7d3fb4c0f1e5ef49079ffe4a20470cafcf260cf1394ead5febc84b7fc1477b32e598e2744caaef5ca84f1dd746b1725883c41bfd622a5df6de91b57ccca7262f00a4d73285f5e516c43e83419c6b80d250d2691edde0cb6261f49190cad22282fcc1722cbfaf89595352a69efb179470728231718a35f427be8307685a2c9a427a57d883d8d64439479f08cf4171c81181710bd8e17bf34c26943315f5bbde5cb8870cb53abd055e5cb434bbbc37e69372b9249a8d6c81941a4e78d7a1bf0654f67114cd0f3b50a8c4c2ca51f6ecf89376cefd7307c7ba11bee91456c267fd518686c398aab6fd85ed4dfa3a7496f829814a07520799436690ce311a687ee0793a3aba4d2c499718ca4f6b2ea25647239f4e5c7ae10f37ca8f1be0374f9637a3facc6f0f116cab6676a203898263a5202f9fde16eb12f27fa2e0f830b4ca8579563447e5b171b85549ce215fc4b2ae7d1e65a97fb2290f1764471c5b1f53a49fe50d055f726921734192e9688104378d9e72050d275a290bedbc710f6a00f07141e80fffba50e72a09e1002d2588a1413d705ab0c22df10c7f78e3eecd87a9f6fcaf0ae0a79a186bfffab568a1cba2404d40a6ae3f62935df98fff6c662d7fa8ee024f9155c42cdc81c82989e8812871fd304ca63fefc148d78a5d2f29f6d9aab318e6efe4f7cb5f8e01230b01f8959ec75f3607a4abf0bf66f282001929f22e12e2d06ef42f121d38927bf7720696fe044eeccade996e41252e96b2dd6f2ac54a2b972ebd7c152434fc25df6ea064e4a332b539f0ff3bd8ed0a2e208149ddaa5f61c097ca40ae466c4d54be05752651414263d2d4f46a9d39166e266141bcde0ac542662a8a83955f9091e2680f87bdcf404a471c11769d85f84e3c1f8ad641425d4715b55c7fe7ac9a4eb857f0119f2c944726f3f1306dcfab4c4ea93c5ebab5ae7f8c5306f1347ead044b008417e616fcedb91011b0d4bb4dae2dd6d7194167c2cf19a3c556b0d699ea1efd148aab314d46b9530d34da8a11aa140f07030832f2771e3c2c8cfd9f8d40f6fe3b90ecd0ed138006e8cc79a2e7440020372e52fea26c6892f1f05159a9338d6232f156759886b1177d618b97c1b0686ab6e7bb3459e97ef01c602c8e2f0b5a622ad9d8c4f987fa1bfe0afccf5ad190ab59a83e49cdcbd6c95118bb668c87cd0419faa579db70158fcc6f782792a02f093d7d44533a54ea2f9416b91b2e23f1d4bd81ff88226779c327828e053183702ec78f665d6eec1fecdb959ac5ab9a334fcbf5f53a92905b896a655289f33fe277dd822d041a246e892b94b946d669b17a4b8dc5511730d578d5575180a139f517910d51e233583b07264ba06496b784f7d8ba3ab246b757642c06248d8703c6ca1a4319168f7da6e2f49abaf16f199707b0f047ce2e297b61edca41788aa06fa04ad97cb97822e48e36f52ccccd889a3c6838cd38066983e63437d5ed4ce867948d560b7b551be0dd522ea27e96dceeb4b2faa0a0817a01cebf6228b3d8d75f5d62520fa3ef1e66440d438a6e45205474a2e8877e65251b26c5c3ec462dc0b28850d8dbac4e324d27a7523472521806d12a55bb56d262f3387c4a2e92fd6f7b7d4a68b85139d2463be758c0f53ae8c6412e42c2ea151eaf4786849c4c1f009d7ef58f56d20ce62b952cd0d6ce65dd1f1a014e30a04ec13ffa68d9c991976153f127bebbdcba8720bee88c1f5318c214801cc5da667a74f9292dd13c1c01b15d4f3ae1443ad9b61e65b64a838474a853632a035700e82dbd2cc480db4cf083c10509ab6fb9f34d65a3414bbecfe6a0a661e8e69206e600a726c12b4ab2e560a3462cbc83f01ebc8168b35cf71b7933ec73dd0f99c3303233b5cd4fcc8c4eb4e06dd943bc4a2f66ce1d31e463e2a6ef02eb3a70ed2b81a6fe9af5798d26fc72166b462be80ca80ccb08a8a6fcdaa74470861f94e90f75ee4850da71ab6dfc03cee3f0454738f68ca673965bd1443b68e989e3ce364693aa7809e9dfa2d1896525922371fdec7485b819406bac594e75970175f01fd45485ff0c5ffd9f42007dd25343140eec2ca6f6337604fd968ad8b044096b42b94a6c5080eaf67291671c67a62892788a5fed81d3df2472982820c3ad8a4ff530235f65563fc56e3aa56569ecfc0cd5cd208f48e14cbeca837022685b222470683a0477c1847c4f1d9d3c676beeef2127843441a511867862270deaa038c127782af51c84748e3b1c41f60cf881e8242422a6326ea7397459d4b16e58c696a314c000fdb94006386371a9024c6b1b5ec5ff3e0da5499729b3919fa957bd57d001026c4b2aafe4a4aa800999b35a0eaa2dae7d81b965814e929c16ee6db76dbf3eae682b94cccac3b1bd76b3204b649114b09df784beebce32b5f620c7811a6ea263272c8d2b0e4f3ffce62e1fa19dc6baed6372f3d6548b9adb827ef84be1fb507b7c81c5705dccf7f02972e025d7dbd8a2342a969c5401e4ce502d23508ea0de916656f59954f74ff3625bcee20df745e91439c24981b9829844ffca17c3bf5929a02c2efab832e0acae2fa4e38eb9ee2e7c00eac5e78e9e7ca6c2135716b2f0a5273f7d535ead7cd43e23fc250cf987ecb52c4e71620bac416af2c58480e9d95fc61efff1d51667e7f1eed99b79f015f158e44434cda7bb76af6bdf768b1a5c9797155a5d0d7559e8932ca527806cff55114a86a4ccb4d3c14d5d005423fe32efe4a7e80680448795c1d9d2528034d07924ca453518816160472dc3658c79d315121aeb8488eb490ab781983bc19784d5736ff647333efa1640cf4fbc5a234a82ebf4d81b7de384b9dbac5a038d08514793de98038abd88b9c1afffb70f3ea33c54a76d10797ccc87414f724f06293be5e17108d6a705945741329b7a4a77fa1eaa3f253535db6e487fe686e440535aeb64073cf00f483e9a74acd68c65535215903bf6a098bf24c657205025ccf150774841a3c6821ae09d41216edbba28fb13959b94c88752e4cb9601376feff56a294055bf519e76ad2d6d7d2208c6271a7f14c7bbc52bdb3271ac596d9e76a75ff161358674d9ca549c3a6580aa9785accfe20b9ef676913bad590333bfc598823cf3a65dac996bde90731680318b7931c61de425893fce51635f9556c067412c0a5bc429d03dd8ded8dc58621ba2e0f41d46b2b19b6be0d42bcca7b0140b710f01a877e09bd8c3e28b88a7602b4b84f0fa5c87aadcf9ad49065588be9c54ba3ff7a049840ec8b753ee817e79030b5a30d03577ac0966ebb376220cc304582e423a3326ac410b1a2040590170f92b161814966931d07ac840c5517137e9fe6e359aa24863675535d47116f933cb3619d76cac7c8c89dab79a3400d5bc7b027230fe65866579297da3e917c3b4525ed107e20d40f5688d780929d93be4d48adbdbb72d131310cdfaf6b2502f0ff2ec3817cd59edd2d06f0ec1f44f660702793ab2ef1f47bde51af3b3236cd20ea97c84f73eb5c95332af4015bfd5fd32d72f88a16c4767fc29cff4f8f489792798a3c50695a21b5392e7ce9d05c202a758e6f61174d74d051ee1d83f2115db1db711269193f26d464ba83378824aa80d5314b5897cea4905f3167e6ad23c11373bab78f8348a776e8e210686a68cb05c44f385765c1d05f5504b7061f6560233a06d786b349eb557de84c8685ef2ff513b95da032fd4650e306ec426b9a80dc009aaa2666068e1b6daaf4253c15acfbbac13f54ad48088d34e7b05b4419b90afd43ff7b37490b9a28c5fe01fcc9869847f53885b21d18e3b2e699901df88a29eba19280c9d9d2ad64e1d72f5468c263684578aed8c84cc68b3a3ba745e71012da4f191210e3f6e992823cc3936ddf5ca73ac0816decc053f9e8689a5716ab612e0711bfc625f25ec0522202a55740e6ee89472cd833664d0642f68eb4e7dc462f9391b40343bb4c0b2b771c8020c8953327660775f63ebc24166c7a64120476503d6107170fda04e375d188dfc0dcb023003aeea02bb29fc540b70b1040ff224090fde1d5e0e6557feda53672eb0b8913912af3cebca43b32d9919bef3d189f1cfb1d604a2763516dcb19e48bcbb9a13fca08a3f7dfa90393e1bf13b850e622679dbcdfbb6de1c6ea75667264a0d7473b656529aa1cb39bda5cb2a4e9942cf190d98b79cd6bbf464a589177026cb6dcbd87fe8a1a081ee814e83cf90a6b0dd24b4593e768abdfb2c4b9825f622aacfe484aee754ceb1a8f470b0d1f12cbd3f5fadb7a54e451ffbcfce5c5de9cd4ca19529520d7dd9c32647933a6db9554dd1ebe26d61163d35615e3a52409cd730e2eb04a6ca9253e977c62c05b86f9be3edc0110cecfda6bfa644cb12214a1c9184504f81da079dd86b5dba20995e1a927c8e931b0b1bd71ff6e5cdb20b3abed802d1d5b6b1724ec5f6222575016dc64bf2ca5591c3272ff5e4556d1569917785addfc5b4b64c7cfde0a64494f589d9ea02fc33f0ca41398b0cfe40b53b36e6bd8ca1ec8a89e40c84cb312bea5638aa1605ad9a4255bcddd80560a931d8acc394326c5c662e6d33c6a9e63ae468e460b1adb322e016d00819934770de0cee0de7bd610e49be354a60ada36426b9bd774944b10b2008e610c347b5cd02c581ac4c821fd98b557a4dfae80eae64a25aed1383fa4b97742e94b98ee719c52c692c45b23fe24725e779b77c47fa9906c83f65639c545c84a48f9dd6f4c0649330344ebf1638f2818719643e249d57319a7d18762660d63a226dc858d205f090436e325646b67fbc329c5bc71fdce6a245ad7a8d06dab4cae4e45033ab17924d3675436fbd5d5c98cb624679b4b56cc802a236d7e821d0019d18f043cf2a9f6b294b61082585dd6fe291659ab5783c4670b4789a1fa96b1c4301a978f33b96ed67a423aa7963f27fd2d10f368fad7016f64cc2f934bbb3c4db115bb2afd8761ecb7b192ddc408d9abac9a6431af2ad7f3d32b46c1ea1a95690f749a7b2011cf2a7600ff27fc8223173dbada31c9862e2cbb11bcce8f2f2f654843598e115af1f4b67ced6219e7e05b6b5c51d6678f60f8e90608c6fac47b70cf49c09bc133416bed59f4a84d7217bcb40066774745fcbc960b7687ee72eb5715d5c9e3187017d41b52a77e5c7a21d63d3ea2a8da3ca22d0a55b44304f4c93af67068ec29ce75a135224d56f06d218ea4b924afb8089506e2d5186c4b1d67e0f174a947f4f2b503e16625098f5aece24d82067a36d76908d7dddfc1233482522eaf9a6dcfbf0d92340ba65a8c61bb284beb7e21d2c6e6b5723cede2af66b7fd71acb34e7eeceaefb2ee1ca420b70efe9210c16f8f3cc61ad5eb73ac6c630964827090ae7ce4948a9414f3e0ff094bf78c8427ebce6fd2f7cb2ba9657dc055a670d46c3d7119e2257067aa1acb4a3eb3d26355a1be0d04a6997fedd98bda21f88182be551499972a5c6b4a342e33e3ea8f0f0f695c38665096ffd8b3e0029f4f7efb0e4ece56e80fba9e833f3015e06d31b2d91a7f5d90976ef370656621d903f87638f8b75185aeed8256e40f55930788c87d172c4279f6abbdde5ddd83b4d0b7b27925cf4806e8ce2be8ba98111129d99cb1f182e4ba714c696808a24ddec4e419a67b659831594a1f064554e3db92f44aa683445c9bca7e7f2b6273f7a6723db1d662bd39ef720808628e02e47e4f92815bad55aac7c1791d02ddeab2bec04d87ac9af4de77f356033a283449228cd3579b97c98f7da0ac3326a08380a9bf8172691325a2d8c066f95cc7c48be0ade89bb1b9d831471e13216e36be3d763c8e999444ddd653f0d74076e5da8ec265ed6398846ff5735546e2318c1ea24e3cf0132e3ba3bab8fe3f41fa019ed97ee4a00d4979f05f2845d65a7682746f093c9e11388762d1868d9e3ecef74ef8facb2c7a76ef944eb336bc1f2fd106f57ac9cf0799dde029af349c09277bfcad30e88cd88b5f2bea01fe50b746ef8c5489536f7927c63f9d7682fdc0df71c9c5770c4422a99e14e2d7ca14c64ac2767bffd5e46210fdd330e3226ea495fb25dec36adfb135a7f730e86e5dd0c46048fc2e01e3ae649825701999acb7d39fc5791462520aabd6886580c3e2e1665dd890403e9141f276886defadf9c57f516150bf6a6e7e13a309a8bcf1be1c9017622e3d0af093ec3b06234d7c17762c02e012f0a7e20da47c1ba535a1f790884c2fddb0387be0c70d5d27600b0bf73d6b9d1b9a0e9971765b9a40c71bebeecc430e1752c1a7e7bce6134f4f6194a962ce3eca434ee0604183dd81c0af6c8af20401fed5cb9558bdb7263bf52f3c2c964ca7dbc59a098246d79db5e630ba369a93dde7cc00308ee63602d7261b12ee6cdb7d74c01a09bc5875894a8ff0d94bba06e9e03ab96535a991b6009743dcef1336a80c82bbbe351a906d4c479769575f1e3ea8c29e5c314086e63ec42c2c96858af15ec94c8150ad41cca1d0ef170c7a3727a9f619b61f88a03ed67680c0e1ea66a7b82cf2c670bcded66b807336aa9c76fc627f0483bee1938d90a018ac8b695beb490cb0715c780d285216700a0ceff3320eb11e6d","shares":"00000000000000000000000000000000000000000000000000000000000100002800e23aff47b29e6316b24e0f019423c252b9809b88e8b6c47e06e6481a403847c755cfbfdbb59b9d66fca5662efdb5fd6e4e57d9d54d0b00138179a50939fbcd82ec2550af6046da161168575abca2c18534bafc3538344b512cbfdc8d66993e4a536b04b0e0caf3171a0e960662af01c6b53a96d5570d106b181f13adb29333d11f53f5bbb7f8793eafbac1ea1225ad3273784224ee1bf14ee68ec76f0be38b317daf977297f966cc89427281ae718f197202761b51ca4e1c2376163580e503300070a2358d55221a5becff74e38f47cf6bdd871caf7021dbf5c03e85ff08c3887583fd314060f69749542ddaec2d1a56e858c136a0edfa9e31479583c8937291988d75dd9977ffdeabc564bf15cdd066262469a37d31703f0fea73ada5a78558ed81db21876a1e220a6f9b64564efddf085511d2814a07543f9b2234c38c4e501cd02dbf752499e708c467d98e7ef2984a62fdb354cee9b1a91ad260d52deb526e3b564cf177c3935f6d0e02084a1a78843eacd6dcbbdafef23261f79f82502a9f08e0e9f1e60d8dbd3a947cd88119a8247be28f6417b4c61370c4bbb9afc43dad4c8c730e41f2cda9a8adc4d575bc805ebccb166ac44f1de1073cc80f83e8d5728f44ab458c479ddb422719334cadcc8a1e7db7981654eb58be3bb59fb50000000000000000000000000000000000000000000000000000000000007ca112405cfc9cbf5112610bd956c51e4aa730ddf49077d5119e303a9227cc96878095b69e4fa3605ddb7853c11b8a1f70fbb15ebe8c7e73b3565337c5c1fb186b0918d8e14d8064c027336d619405bd5049775d944f5457f22e46c812adf87b0c24941d4c8442e7a84a17d24c5078405517905dde2913f701caeb71a64074359ed6024105540304d5f156d39de6006e9d1be0583fa1426eaeaabb382d20734078d6f047394549401d42806de42262af7ce06add81bdd692194cc1cca522dbad0e76bf3ac021cd7714a663a1bca851b80e432c27651cda1e5659a4e36588a183a5f0045591d4964ae0adc68bed87f442952d6b52aa76ed7c99e2021587cea13450cffbc644f5aafa856276593b3e8c776cb15f6ad7c3f1a91ddcbf7b10d23fcb7735adcf267fb8e288b6939db9aac219c73a55b976a2a383b4d05d36368c62619263baccf1426bfadf12103cefb153e7213eba053628e708ec01ccc78d3cf32173ec915c9858720a35f96d248484061f398aba42e7db99dd21ced0136d4ff8bc3e7f4361f5e1a699273e60e01b02100fbdd6392f87919aa80d877f634561dd7c985ba1ce74f62fe1c720811a5a95b5b9c29fac091b08bf711ced3f54c25df6c18d6972524448a78ab3a8840421a95addc1fcc6e9e69ecccb09b100ce11490806321a0000000000000000000000000000000000000000000000000000000000001f027edaf833e48983e45ab8553565f911b8f0bc08b387ce5a0ed6e9cb87bd0c83126e33bb36fc7e1949b440f3e2db68bd973a770e4b85fc5bf3b75c45995ab4d4b191859287caabdbbdac460cd3382f0288743373abe60fc3e2220d5f45ab2eca39d3b69a166f694217a3082d916544dd18cef33cbf92a7512bba7c43315ad9251727b02267fb30a33b7e1191be7a7489beff7f7fb4f66a55ecdc83147dd828405f32a7eb06587fa8d66810ff6b94d512760dbadd6dd9f68b76f1eef83811846e226cbb9280785df8695534b657b6292663fd7f690e54e0b3a205d0ce7e4a03b8426f52c1050415507bd4779966c8546a2698e175da831640b6c899e4860002fac0897e43a1045b563e67ff991538a08efdba5aeacf3160380b977dfcdd0dfcc48c225c878d47243ea184927377277bbb3ca282384f080cfe22cac9d49ed22495ec5e1aab4085b1c462cb11b3f4da9898b431136bae088a989973e87e8c8ad32f644e5ce998883e90effa14fe227df2dd114a58657ab3b5ebcebecf620ba210f9b41de0d06eab63b001075ba3c1a879f5d3d1cd218875f5ea4fb64635e028f13870e0e7c15dfb43b8023fd9c977659e4a920149b059d34af3b649ff2793af745d4da9dfbc3616cfd717778330a795744fb3d3cac3dadac91983097a4a5e848815550000000000000000000000000000000000000000000000000000000000008a79758c98f9cdabb9dcf7d043f86bafb69ab6eca8f76b4999adc32dbc9f3bba835882f6a86656b89c5c1adc2f3f40068ed6a4f639fd9b969a159bc86e7aa8c6593bd73e56c6a0c8aa1f53de871a84b42b6be897272d433c5842bf8129405498c7aff145fcae477f0d943430b21b96c157f6ebca57861716d653205e2a13b8a18baa2d945d87f77a5321ccd606713e5046bdf9ca8d3f7584409201edeadf51504a71c352085479877605ee4a6c11361a9717913fa39ff4b97f3fcbaf0803a187f900a04c49f6f4d9d39b8f99f77319e6134a3ade23983a2b1f7fa38b8c0e13c40e71c603e6a9a9d30a2372e3f6dfd10c8e3cbb8af4c0e5390b35d126723b51e08476c0cd786cde539135e2c31b0b62ce6672ab6fd5bae767a6fec7c2c109813c0b43d194bc33b81a0a71d77c7beecbd1986f57d1d6bf82cb34db55c931fb831f9b7d5b5c5f9a7babefa477a08607fd7d79f1a8799ad3a9ab85e92ce5cbd575c86e4de586b5b561d286fbb5dac1a2ee20d39419583a008a55995e6ace61876739a4e693ff958e65413418e0997596f73774cdba4d1804c6c5c8b90fbf505683d4fbbbc8ab1127bfdb9f1f73948eb001bff3a7c9ee3f016364f8ac2493b6acc7d82d4f97eccbc421d3a94f26b2f669f985cc7f14264aaa0be20325a07fe250c7456617000000000000000000000000000000000000000000000000000000000000cea4d9928fd913c8aed2d22b98b90bb92cdeed1a7e0661f320263690903419d1a21ca4e8348de93ddf40b20a72acc7d3bcd4fa31db538db7e03bd6e8cdee6527345e4ced1c0c7f4d74bd01368144c4a67ec42d948990da1afc00c0b22673c6eac3b4307ab1c500f03cd0c9c67a0eaf187d76688fc7f6e6b4b2094983bfe2721a5f1947246ea0da38354f047f85e4621b832ef0ef92846804239aa3abca81b8afe49c2be0dabd9643789016ef5832a273d9ca57d7528bed6d1aa90bc95dfa8f8d14f8d25c4b6961dea68eadf01a95a8255cd02e3e93f61c120b8afbbdcf6fa3019e9ca3a88ae2488d2ff89785c7d0df14a390fe924ceebd25ba3daf0fccad09c1aeb22187776506fec1f1f87d402c495d70e55a0ef8c795e33f253c90ea8b184f4a0b29baaaf3faafe65d04a2c0d5a1f903f6485c7757fd7a001e902e4921af86cb0d35831e3e1eab1eaeec2b65f3d53bab02d2bb3b822de6c1ea5409fd72f08e282b26cb0a7068eb751e87409ebb79fff1c220b51bef1852a9dda492977afa4df12af23ae222880223d0041af28af27185c98dd958ac66c77ef699f421a0b9b8916440dd43735c9f44e29c2dd0a8b72b80c7ea26d501b9fb44dd2e5a2feb67a9f5be47889650e0a2ae8414bf896388d1d83e047a2fb6743c55f79da6190acd46217d0000000000000000000000000000000000000000000000000000000000006a9ac52b9634c647ca51a5fc9f172e0c3759885de7a9b5793899a9a192fd91aa827a2c12ab366e3dc89ea69f75eac46491e48540987542ddd1ee0224168bbc63e787dbed20cf2c2f3f80aa35d1376eac543e51fd317290532a944cf8856a7abc5f23ddd46fe11c20220ba19296a78f83ccbbf3c8447dde15dff96b100230a2fdfd3da7ca22b43226e429dc3302ec5aa5262e244d74fd014575f744b228b58c6467b5aaa19d57a4d59c5d987aa066a6c663e3fa69e7474823e771f0a4e7eee74b9c12e2dd3b310784daf6d380773cb6408571393532207e15230f888d73118c4fed78aff356a9e0f7daa1035ad1cdfd0a1920749b36b530fd7243152f4fc7b28aaa79f94181aedb3a76d0f36978bab5ff8866641616756661af182a1992c3cc528469af6be22d270fe9bab00a19e5564cd41ac790476f2b55b63c7059023a7f404619234d05f130e2dc8646453e7fcd569e233d6e09d1ba8f3002c6dfc33af437a33c00af3ba96fd70f5b7103b60a6ca75d048c517371ac83db617f8abb0934139f51a85f7e9ce95eb3554e58055976fec44ab3b388282f94c67861fade73858df8dad99e503fe2846ff91f52da1cf1decc4c2bdb592d360d8b70ff995667cb27f0e9bf211b284ec38d0e7be75e516838138609f3e3f2aa83bf8b2490983c06d8bd5300000000000000000000000000000000000000000000000000000000000014dfc758a33bcce25dccb2ef7518888175957e2901e08c70bbd67f0acabdb94866b5ae41e8c6cf5a0b3dfb82a2a88ef924a405fff314a7c6bb332ddb30d5b40ac015c29a76e1ec0a992c2bbbc57c9e735530f06cc512cc1652ca117b52a1027ea23ccedc527d73df09e0aa11a263c22fd42f6c6680d87274fe869d23d8687b0a2cb08669448a828203f1c71f201cd3add63cbdeb9db8514f59a6392b5788161cdb7c16c6454a797a66b67f1ee13a703b8354416e69ab31fe32a96eb6fa386828113cba5189c80af4e7be95019ab73e188da90263d74aa31da6449d8a82f0677b6621f913f7d89b90af7a07c6ef4deb12a3bec38949c979e60341cd41ae7d833bbcf7971dad2a208936191d04aa2bf56fb46d5b9ad3b592cbe101cf4620272695012caddb2b5b46895583b2114ed2cb52c0564e83166b4a98b57b806478ea0a68b95d9fe6c9d4a35578a55631d176da91ea172507fac0d0af80012fbaff5d7b220050592c10a9f4d2fdd634dfd62bb7ccb176a4d1d0c5c6120a7a92bc6fa441e76b2270a19542a9e5f5e7d436e9c87c2529ba0a5b47f62e95a54ee0f03f809a2bb574124c9fdfad685f3eace06277aaafe151942d751a9ac87de202fb943bc397d3467b70100da10be3780f316d5001dddcd0f8d00555d9656e8713ed0ebfa0f9e7fa000000000000000000000000000000000000000000000000000000000000c3e9e0f8050a4aa66e6a2883be96ea8d0ccedce093032a703c30df367ddb110a5452b5f10d61b2220e6076426c1bb5f2b46b3e20c32134a12bb314668e3e531ff134b8a0a1414a34a03f2dce9378444136b1e4a7ad92730488583cd528a11570774650b5c876262434dfc3d4a9a1d72d8f36216aff160522062b321145c1cd4101f45f4ef768f667c04b61a7f7a3a4de0640f735ad05c24324ae07ee2cbe7a84ba6ecd8e60f26b76c07a7dcf0ff7c6aef2ec4e82001625075b6bd89ba3b9a1f44505dcce6002dbfe335558cf45e42ea7fffa1dd39dcb2935af97b6646a409f1e47f8372657963b5f926fdf344ea4c50db73ebb5af97fed71ebb1ba4804526d27f5b3b62f2fd0296b3817197759f729f340d4dc4a06ae32b82164a83fe7397c8289dd99e46a785649d0370df899fe39f5e7ff27b4846e8222e53d755923bb173efde64886fec68d9b594068a67f9e4a1af919e6fc6daf4c064c3aac6119eee8ab7ce366d3c76a66c4206d6a5e538524838266ff6ddcfc5b5a8788cbffe96eea5830d4142b292215a267e6f41b79bb20f63376d29030a644ea72e0559744cb733ebbf600378c92ac401e8fae755f7cca10c16d2361d69172a40fd09e12cd2fc206a7037f8d5cb51edd295014eda086fbc5491b0ac6233788730ac190e61c7a2d1abdfc000000000000000000000000000000000000000000000000000000000000594adbf0049f591c010a78ce958937fc66c7f766cc3cf1de18ae939dea9905bac71136eef321ee9e772676a8333b24c3e4525201e4d1121b3816aaf48a4bf8e50789f1d7d1ab4cb82185dd7789fd02ec34ebcf7b9fb8b30df8b16e6b0f6bc49fc24891c493e9c96bfb9051cdefd9303dd8482bbf99c9767983392590da343d6165a32c918bddab0628100e0afd3bb8853d33f7f3d2a6d9b553464d6f68804441667f3bfb6a9bcf3a5332182d631ec16b213046c57558de02cc49f192d14f4f815e52a3f4dae66a5bd830f3c258f876b0be4caeb7325572dcbf680e83cb5dc99307b70c320a289d2a9b97d34493a5f17784dd9f9254d5253ab632a7cf341bceaec92faf7efab4e4d6ca88eed44ea82a4a0ad328085a130aa34a042da56307ff8b0a6605daa3fd24d902dd3337a0f90ef1922d6faac71e6cabd20829d7133faf118fcac1149a3e6544c52b344148a83c6dec6d2067dc86a236ce5bcf54563bc5c63e4009d4d7193d61fcce00dc2f88bd703d10ae05e955606efdc26ec3bd0386f7e2485f7c1cf8650a8dd1e03c050f6c9e4629d7ff342f335f217195052bd5fd735a823add104f2593acbb98b1d423f1e2be5bc2d79af20a7ebf1d09dd321e408fc568e681df9d68e77358817744e5a1f9376367e589b5bcaf7ccc3e9c10427fcaaee1000000000000000000000000000000000000000000000000000000000000ed350df90f88f7e660283855fd687a9d27e9e54a9485a7c31851849600b8828d30d298722083f384403423f36a69755e5836af79a8f2050fce473c06fd8e6a934dba8ca7d006fd9322c28f4f24b164b405ce2cb5608db0149bff483de852f0d1fcf7d43711678a4ba5b8038565c1ac5108d4476e1e12cf97b722f4841327fffd9fe5a9842a54f12106796865434d943664cf45c0e2e5b38ac3f88d81539d3bedaad8702fa093a8574858ddebf1585479179b787f3e075826ba430737b8bfd229bee4690c34d69b76cde86240f8297c7187ebac2a40e6f2acdcb323a0d8c3fc5be26f15f4e6a7ddce1319911821cecf2fb6c5eb3bcc672ceca42bd72ce0a7e67b4f4abfd99228e85cf7db3192b6be9103a36970f5a00ee61d337878d08211ca0c526acea0b4462dd50ebaa70313a3e29fba720e52bf3e1a18c8f1b167cdff0cf6cfa8112728971664888ad22381c1d657c3252f11fb39f2133c787e95c349372effe93ad6141f59327c596c42bb457d3df25aa3dc6cf21ade6c09f8dba925a8072948deb38fa18f6792df2a15c260c516733316739db70e28d7a0a67236736a2494d8d1fbe4d91e591dc1ef7b1c2b2d133003404fdbc288ecdc30f35ff7f5279ada15a0c46f2e30f136f132144016372620cf9b5ef73f151d475058135e7173b166c1000000000000000000000000000000000000000000000000000000000000f03857a85c1d3fcd9893fa4fd44353c8913b2bb9ba72c56524e2978806034c22f07b7c2ce8a9549059530e2a1a3bf42390359c41ab8d968fb84d6651f3a44d78f409754f290f07d69a177870dd1dd584a20ddee8147c24602cbc827bbe28613561f0b25b03076911b1358210dc27260aaf59f08ed7cd06f985d6529d4d6e3d598fba69c09451abe9dd8efe86222db68831f18e5d24fb50fcaacd2347f226e4806e8b4272f26ca004fd8ac17bd0cb1cae0f9343899794b684cb122b5e765d7db8a4d2dc43db69e54762089a21cd31142929a1d9a6c68b999373033282780365f44f34c4ce13632ce993cfb8b9fed453be48f4b0fe2aacb301d7a2f45bf6c5a7337b78ab96e5ec6cc20b4caae5e163d36eef3bfcbe69f9ebf40a43d0b39c6fab7e3ccd493e6bf5c96782d1ea2c0420937d7afd7b29a00ee6758ff0db436a7c64a00b9680ae015f5de45b50375442644765024e3f0d4c51045f1379c67f2740dca9cd3d3a3ce05ab1da77295890defbc240d8ee5013f5298066752749b6d1ee3dc61ee52fc99317de7e7cc08f801763412c0ae1a4618d99aeeb9bf2bf544da0fa3abce9f9fe888b1a390e7efd6e099c0bd7bb6ee5bf15cbb6aa5fb0398348538e4d7a2c58189195eb8aa1ed5f6bfc55e755395a094d943e14176037c83a6c98100a8870000000000000000000000000000000000000000000000000000000000000bdb8787df198c24f9fa20d845a47a142e15c6e61a9fdc2b7c1a64ea3ce89acf6291ad05bef8185ea7ff8da4a5818d1ede2cb9e1ed83487f7614bfa2d596b23cc8bd470940304fa90b17eb0becbf12eac79d6242a83d9096a6cd5fd56f26ccb21e33a866b262b57e0081ff93f907b7c7a63cfe9f3a7b3354f4cfee6110ae341da1206a7ff0b987596b41771799fbc77a085baafe32e3da95877e7d7bea15bb9aef411064be22dd02a5a03722566f8344e839840ee8591d8a475b1f699d1c1434610751fecf389b75ac428182f5aa210e4b45700d7dc49b2403e0361effcbe8455b32d03c1c4e980e913f8a2c3ce01b6da3e1402cfb4ef47fa66154281c7383701062fddba6b8e83ed4c580853de88920c20c0e555f586e1f6499da054f7d3fb4c0f1e5ef49079ffe4a20470cafcf260cf1394ead5febc84b7fc1477b32e598e2744caaef5ca84f1dd746b1725883c41bfd622a5df6de91b57ccca7262f00a4d73285f5e516c43e83419c6b80d250d2691edde0cb6261f49190cad22282fcc1722cbfaf89595352a69efb179470728231718a35f427be8307685a2c9a427a57d883d8d64439479f08cf4171c81181710bd8e17bf34c26943315f5bbde5cb8870cb53abd055e5cb434bbbc37e69372b9249a8d6c81941a4e78d7a1bf0654f67114cd0f3000000000000000000000000000000000000000000000000000000000000b50a8c4c2ca51f6ecf89376cefd7307c7ba11bee91456c267fd518686c398aab6fd85ed4dfa3a7496f829814a07520799436690ce311a687ee0793a3aba4d2c499718ca4f6b2ea25647239f4e5c7ae10f37ca8f1be0374f9637a3facc6f0f116cab6676a203898263a5202f9fde16eb12f27fa2e0f830b4ca8579563447e5b171b85549ce215fc4b2ae7d1e65a97fb2290f1764471c5b1f53a49fe50d055f726921734192e9688104378d9e72050d275a290bedbc710f6a00f07141e80fffba50e72a09e1002d2588a1413d705ab0c22df10c7f78e3eecd87a9f6fcaf0ae0a79a186bfffab568a1cba2404d40a6ae3f62935df98fff6c662d7fa8ee024f9155c42cdc81c82989e8812871fd304ca63fefc148d78a5d2f29f6d9aab318e6efe4f7cb5f8e01230b01f8959ec75f3607a4abf0bf66f282001929f22e12e2d06ef42f121d38927bf7720696fe044eeccade996e41252e96b2dd6f2ac54a2b972ebd7c152434fc25df6ea064e4a332b539f0ff3bd8ed0a2e208149ddaa5f61c097ca40ae466c4d54be05752651414263d2d4f46a9d39166e266141bcde0ac542662a8a83955f9091e2680f87bdcf404a471c11769d85f84e3c1f8ad641425d4715b55c7fe7ac9a4eb857f0119f2c944726f3f1306dcfab4c4ea93c5ebab5ae7f8c5306f1300000000000000000000000000000000000000000000000000000000000047ead044b008417e616fcedb91011b0d4bb4dae2dd6d7194167c2cf19a3c556b0d699ea1efd148aab314d46b9530d34da8a11aa140f07030832f2771e3c2c8cfd9f8d40f6fe3b90ecd0ed138006e8cc79a2e7440020372e52fea26c6892f1f05159a9338d6232f156759886b1177d618b97c1b0686ab6e7bb3459e97ef01c602c8e2f0b5a622ad9d8c4f987fa1bfe0afccf5ad190ab59a83e49cdcbd6c95118bb668c87cd0419faa579db70158fcc6f782792a02f093d7d44533a54ea2f9416b91b2e23f1d4bd81ff88226779c327828e053183702ec78f665d6eec1fecdb959ac5ab9a334fcbf5f53a92905b896a655289f33fe277dd822d041a246e892b94b946d669b17a4b8dc5511730d578d5575180a139f517910d51e233583b07264ba06496b784f7d8ba3ab246b757642c06248d8703c6ca1a4319168f7da6e2f49abaf16f199707b0f047ce2e297b61edca41788aa06fa04ad97cb97822e48e36f52ccccd889a3c6838cd38066983e63437d5ed4ce867948d560b7b551be0dd522ea27e96dceeb4b2faa0a0817a01cebf6228b3d8d75f5d62520fa3ef1e66440d438a6e45205474a2e8877e65251b26c5c3ec462dc0b28850d8dbac4e324d27a7523472521806d12a55bb56d262f3387c4a2e92fd6f7b7d4a68b85139d2463be758c0f53000000000000000000000000000000000000000000000000000000000000ae8c6412e42c2ea151eaf4786849c4c1f009d7ef58f56d20ce62b952cd0d6ce65dd1f1a014e30a04ec13ffa68d9c991976153f127bebbdcba8720bee88c1f5318c214801cc5da667a74f9292dd13c1c01b15d4f3ae1443ad9b61e65b64a838474a853632a035700e82dbd2cc480db4cf083c10509ab6fb9f34d65a3414bbecfe6a0a661e8e69206e600a726c12b4ab2e560a3462cbc83f01ebc8168b35cf71b7933ec73dd0f99c3303233b5cd4fcc8c4eb4e06dd943bc4a2f66ce1d31e463e2a6ef02eb3a70ed2b81a6fe9af5798d26fc72166b462be80ca80ccb08a8a6fcdaa74470861f94e90f75ee4850da71ab6dfc03cee3f0454738f68ca673965bd1443b68e989e3ce364693aa7809e9dfa2d1896525922371fdec7485b819406bac594e75970175f01fd45485ff0c5ffd9f42007dd25343140eec2ca6f6337604fd968ad8b044096b42b94a6c5080eaf67291671c67a62892788a5fed81d3df2472982820c3ad8a4ff530235f65563fc56e3aa56569ecfc0cd5cd208f48e14cbeca837022685b222470683a0477c1847c4f1d9d3c676beeef2127843441a511867862270deaa038c127782af51c84748e3b1c41f60cf881e8242422a6326ea7397459d4b16e58c696a314c000fdb94006386371a9024c6b1b5ec5ff3e0da5499729b3919fa000000000000000000000000000000000000000000000000000000000000957bd57d001026c4b2aafe4a4aa800999b35a0eaa2dae7d81b965814e929c16ee6db76dbf3eae682b94cccac3b1bd76b3204b649114b09df784beebce32b5f620c7811a6ea263272c8d2b0e4f3ffce62e1fa19dc6baed6372f3d6548b9adb827ef84be1fb507b7c81c5705dccf7f02972e025d7dbd8a2342a969c5401e4ce502d23508ea0de916656f59954f74ff3625bcee20df745e91439c24981b9829844ffca17c3bf5929a02c2efab832e0acae2fa4e38eb9ee2e7c00eac5e78e9e7ca6c2135716b2f0a5273f7d535ead7cd43e23fc250cf987ecb52c4e71620bac416af2c58480e9d95fc61efff1d51667e7f1eed99b79f015f158e44434cda7bb76af6bdf768b1a5c9797155a5d0d7559e8932ca527806cff55114a86a4ccb4d3c14d5d005423fe32efe4a7e80680448795c1d9d2528034d07924ca453518816160472dc3658c79d315121aeb8488eb490ab781983bc19784d5736ff647333efa1640cf4fbc5a234a82ebf4d81b7de384b9dbac5a038d08514793de98038abd88b9c1afffb70f3ea33c54a76d10797ccc87414f724f06293be5e17108d6a705945741329b7a4a77fa1eaa3f253535db6e487fe686e440535aeb64073cf00f483e9a74acd68c65535215903bf6a098bf24c657205025ccf150774841a3c6821ae09d41216ed000000000000000000000000000000000000000000000000000000000000bba28fb13959b94c88752e4cb9601376feff56a294055bf519e76ad2d6d7d2208c6271a7f14c7bbc52bdb3271ac596d9e76a75ff161358674d9ca549c3a6580aa9785accfe20b9ef676913bad590333bfc598823cf3a65dac996bde90731680318b7931c61de425893fce51635f9556c067412c0a5bc429d03dd8ded8dc58621ba2e0f41d46b2b19b6be0d42bcca7b0140b710f01a877e09bd8c3e28b88a7602b4b84f0fa5c87aadcf9ad49065588be9c54ba3ff7a049840ec8b753ee817e79030b5a30d03577ac0966ebb376220cc304582e423a3326ac410b1a2040590170f92b161814966931d07ac840c5517137e9fe6e359aa24863675535d47116f933cb3619d76cac7c8c89dab79a3400d5bc7b027230fe65866579297da3e917c3b4525ed107e20d40f5688d780929d93be4d48adbdbb72d131310cdfaf6b2502f0ff2ec3817cd59edd2d06f0ec1f44f660702793ab2ef1f47bde51af3b3236cd20ea97c84f73eb5c95332af4015bfd5fd32d72f88a16c4767fc29cff4f8f489792798a3c50695a21b5392e7ce9d05c202a758e6f61174d74d051ee1d83f2115db1db711269193f26d464ba83378824aa80d5314b5897cea4905f3167e6ad23c11373bab78f8348a776e8e210686a68cb05c44f385765c1d05f5504b7061f6560233a06d700000000000000000000000000000000000000000000000000000000000086b349eb557de84c8685ef2ff513b95da032fd4650e306ec426b9a80dc009aaa2666068e1b6daaf4253c15acfbbac13f54ad48088d34e7b05b4419b90afd43ff7b37490b9a28c5fe01fcc9869847f53885b21d18e3b2e699901df88a29eba19280c9d9d2ad64e1d72f5468c263684578aed8c84cc68b3a3ba745e71012da4f191210e3f6e992823cc3936ddf5ca73ac0816decc053f9e8689a5716ab612e0711bfc625f25ec0522202a55740e6ee89472cd833664d0642f68eb4e7dc462f9391b40343bb4c0b2b771c8020c8953327660775f63ebc24166c7a64120476503d6107170fda04e375d188dfc0dcb023003aeea02bb29fc540b70b1040ff224090fde1d5e0e6557feda53672eb0b8913912af3cebca43b32d9919bef3d189f1cfb1d604a2763516dcb19e48bcbb9a13fca08a3f7dfa90393e1bf13b850e622679dbcdfbb6de1c6ea75667264a0d7473b656529aa1cb39bda5cb2a4e9942cf190d98b79cd6bbf464a589177026cb6dcbd87fe8a1a081ee814e83cf90a6b0dd24b4593e768abdfb2c4b9825f622aacfe484aee754ceb1a8f470b0d1f12cbd3f5fadb7a54e451ffbcfce5c5de9cd4ca19529520d7dd9c32647933a6db9554dd1ebe26d61163d35615e3a52409cd730e2eb04a6ca9253e977c62c05b86f9be3edc0110cecfda0000000000000000000000000000000000000000000000000000000000006bfa644cb12214a1c9184504f81da079dd86b5dba20995e1a927c8e931b0b1bd71ff6e5cdb20b3abed802d1d5b6b1724ec5f6222575016dc64bf2ca5591c3272ff5e4556d1569917785addfc5b4b64c7cfde0a64494f589d9ea02fc33f0ca41398b0cfe40b53b36e6bd8ca1ec8a89e40c84cb312bea5638aa1605ad9a4255bcddd80560a931d8acc394326c5c662e6d33c6a9e63ae468e460b1adb322e016d00819934770de0cee0de7bd610e49be354a60ada36426b9bd774944b10b2008e610c347b5cd02c581ac4c821fd98b557a4dfae80eae64a25aed1383fa4b97742e94b98ee719c52c692c45b23fe24725e779b77c47fa9906c83f65639c545c84a48f9dd6f4c0649330344ebf1638f2818719643e249d57319a7d18762660d63a226dc858d205f090436e325646b67fbc329c5bc71fdce6a245ad7a8d06dab4cae4e45033ab17924d3675436fbd5d5c98cb624679b4b56cc802a236d7e821d0019d18f043cf2a9f6b294b61082585dd6fe291659ab5783c4670b4789a1fa96b1c4301a978f33b96ed67a423aa7963f27fd2d10f368fad7016f64cc2f934bbb3c4db115bb2afd8761ecb7b192ddc408d9abac9a6431af2ad7f3d32b46c1ea1a95690f749a7b2011cf2a7600ff27fc8223173dbada31c9862e2cbb11bcce8f2f2f654843590000000000000000000000000000000000000000000000000000000000008e115af1f4b67ced6219e7e05b6b5c51d6678f60f8e90608c6fac47b70cf49c09bc133416bed59f4a84d7217bcb40066774745fcbc960b7687ee72eb5715d5c9e3187017d41b52a77e5c7a21d63d3ea2a8da3ca22d0a55b44304f4c93af67068ec29ce75a135224d56f06d218ea4b924afb8089506e2d5186c4b1d67e0f174a947f4f2b503e16625098f5aece24d82067a36d76908d7dddfc1233482522eaf9a6dcfbf0d92340ba65a8c61bb284beb7e21d2c6e6b5723cede2af66b7fd71acb34e7eeceaefb2ee1ca420b70efe9210c16f8f3cc61ad5eb73ac6c630964827090ae7ce4948a9414f3e0ff094bf78c8427ebce6fd2f7cb2ba9657dc055a670d46c3d7119e2257067aa1acb4a3eb3d26355a1be0d04a6997fedd98bda21f88182be551499972a5c6b4a342e33e3ea8f0f0f695c38665096ffd8b3e0029f4f7efb0e4ece56e80fba9e833f3015e06d31b2d91a7f5d90976ef370656621d903f87638f8b75185aeed8256e40f55930788c87d172c4279f6abbdde5ddd83b4d0b7b27925cf4806e8ce2be8ba98111129d99cb1f182e4ba714c696808a24ddec4e419a67b659831594a1f064554e3db92f44aa683445c9bca7e7f2b6273f7a6723db1d662bd39ef720808628e02e47e4f92815bad55aac7c1791d02ddeab2bec04d87ac9af4000000000000000000000000000000000000000000000000000000000000de77f356033a283449228cd3579b97c98f7da0ac3326a08380a9bf8172691325a2d8c066f95cc7c48be0ade89bb1b9d831471e13216e36be3d763c8e999444ddd653f0d74076e5da8ec265ed6398846ff5735546e2318c1ea24e3cf0132e3ba3bab8fe3f41fa019ed97ee4a00d4979f05f2845d65a7682746f093c9e11388762d1868d9e3ecef74ef8facb2c7a76ef944eb336bc1f2fd106f57ac9cf0799dde029af349c09277bfcad30e88cd88b5f2bea01fe50b746ef8c5489536f7927c63f9d7682fdc0df71c9c5770c4422a99e14e2d7ca14c64ac2767bffd5e46210fdd330e3226ea495fb25dec36adfb135a7f730e86e5dd0c46048fc2e01e3ae649825701999acb7d39fc5791462520aabd6886580c3e2e1665dd890403e9141f276886defadf9c57f516150bf6a6e7e13a309a8bcf1be1c9017622e3d0af093ec3b06234d7c17762c02e012f0a7e20da47c1ba535a1f790884c2fddb0387be0c70d5d27600b0bf73d6b9d1b9a0e9971765b9a40c71bebeecc430e1752c1a7e7bce6134f4f6194a962ce3eca434ee0604183dd81c0af6c8af20401fed5cb9558bdb7263bf52f3c2c964ca7dbc59a098246d79db5e630ba369a93dde7cc00308ee63602d7261b12ee6cdb7d74c01a09bc5875894a8ff0d94bba06e9e03ab96535a991b6009700000000000000000000000000000000000000000000000000000000000043dcef1336a80c82bbbe351a906d4c479769575f1e3ea8c29e5c314086e63ec42c2c96858af15ec94c8150ad41cca1d0ef170c7a3727a9f619b61f88a03ed67680c0e1ea66a7b82cf2c670bcded66b807336aa9c76fc627f0483bee1938d90a018ac8b695beb490cb0715c780d285216700a0ceff3320eb11e6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000100000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000100000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000100000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000100000000000000000001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000100000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000100000000000000000001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"f4b05bdc5cc3de9c31f2d7b628c29c6b9965ebe9712f8e774dd4674dee16d1e417ad6ea43d53c8906fba357eb226bdc0bff3d790b190ce52d688f6ed99c6cb9be99159779149459e126dacc4833b708213f17aa87110d1c2eeca5801d0fa7e2cc747dcb85a4e129a88db215245e7fe94f80a10b487c3129d5b14d584eac303c799239f1e9a0db2e5618b48ac0c37ddbc15e38ba30f7a961405db98c6b40c0267c3c99112dd97675dd4e757d1592ff2b654abe6cd58e6fd5c153479909e5dd7d7d64797c2074d1ce8d7e31d716f9d028493e36261f0d77ec1ebae1d9d7ef7e2ee2339c4885348bf931626aa1a1b01a529a99e15095e6cfe7cb16fb551f17af0d3f6ffff66e568d2ad4ed0e636fb238383aa93621e84b9f3bb633e36a9d043d2a315ceb651d787b6c16d77effbc9f6dbecf137d9918397287f3c72508ef278e18ab804169017cd00446070b05ea915405f8e2167c1330821131b202dd79608edc41328edac8331b6e4c529afa96241d2ae17d2180ef3dca84a624c02223fd7144ecc123acd9bdd178e7fa0394fe951c2fbe1c2faf5c1669a75084864b7c4d8bec6b191d9155c2567ed92c923eceb29bce7e6daaaa0d72362f40db6731d2836d14e4c4cbfbe31dace6b3873d95baf7e8df1bb37db2cc9502a77ac7a2fa7d5ab19daad86e5c3f77d11238f37033d77aca393d3acba5c8cd865c7a285d4376f755045db449b6e3c4c3c9955feef063a66525a10d8abca65299cdbeda3db1d1b0b0651734adf6fc5e8f80f0a905498507bd42e6fb937f1d8bb9dad8dbaeb4c3292c84a1ce76711a7f2c70eeec965cefb2f4d7b70187d96c2f2c57844e05bfd5d78c5b6b3ef4e4f842a260c37258dd5ffa08502c1167727a493c9dfd2c235fd20e8e6fe6d55eed42bbc84676b1e12d5669f441b415b97eea9ce39297fdd6ce8ed87d588724bbe3ddaad93ac6aa6801ce701c465e45f19a2769e39d22e68a53ddf28be060d03dd0432826f7cd7f8666747913152b5820bcd39faf2d7a69f89b9a8e93e5ac478dac336d347fd1a1929a7ef26bfc6306a204080a7e6cb953dd567e6e7644ba097b8f80edb1905057befcdddf65dc9de57b5e65a870a437ce85e577eb3fa9a7cb38b14e237d2aac07f4a57c31007f86646cc379a015f2511c089ebb4a89425c4d74849fea60d919f37df349bf5b9c0ab59a9cbd72d39479c25a70b9eaac21b85bde4943971757bcf07baa1e7c9021bf8024c5efbdc99c87d27ca1b7c7a1e860b1363c33b7bcd99d5ef6750d49526681a779d9f73ce7b7b05a7fad3d018edcec62b90379ad9036e9d8778cac02c96ae4352a50d6fd6381a0fbe28a00c782cf8784ce044d0a0539f498bdb2e1ae335d128386e288925fff998a3f67ea890f571d26203ffb599af12fff963d7d6fb49df1fb42617054bf1755761be196caf1e30","shares":"00000000000000000000000000000000000000010000000000000000000100000400f4b05bdc5cc3de9c31f2d7b628c29c6b9965ebe9712f8e774dd4674dee16d1e417ad6ea43d53c8906fba357eb226bdc0bff3d790b190ce52d688f6ed99c6cb9be99159779149459e126dacc4833b708213f17aa87110d1c2eeca5801d0fa7e2cc747dcb85a4e129a88db215245e7fe94f80a10b487c3129d5b14d584eac303c799239f1e9a0db2e5618b48ac0c37ddbc15e38ba30f7a961405db98c6b40c0267c3c99112dd97675dd4e757d1592ff2b654abe6cd58e6fd5c153479909e5dd7d7d64797c2074d1ce8d7e31d716f9d028493e36261f0d77ec1ebae1d9d7ef7e2ee2339c4885348bf931626aa1a1b01a529a99e15095e6cfe7cb16fb551f17af0d3f6ffff66e568d2ad4ed0e636fb238383aa93621e84b9f3bb633e36a9d043d2a315ceb651d787b6c16d77effbc9f6dbecf137d9918397287f3c72508ef278e18ab804169017cd00446070b05ea915405f8e2167c1330821131b202dd79608edc41328edac8331b6e4c529afa96241d2ae17d2180ef3dca84a624c02223fd7144ecc123acd9bdd178e7fa0394fe951c2fbe1c2faf5c1669a75084864b7c4d8bec6b191d9155c2567ed92c923eceb29bce7e6daaaa0d72362f40db6731d2836d14e4c4cbfbe31dace6b3873d95baf7e8df1bb37db2cc9502a77ac7a2fa7d5ab00000000000000000000000000000000000000010000000000000000000019daad86e5c3f77d11238f37033d77aca393d3acba5c8cd865c7a285d4376f755045db449b6e3c4c3c9955feef063a66525a10d8abca65299cdbeda3db1d1b0b0651734adf6fc5e8f80f0a905498507bd42e6fb937f1d8bb9dad8dbaeb4c3292c84a1ce76711a7f2c70eeec965cefb2f4d7b70187d96c2f2c57844e05bfd5d78c5b6b3ef4e4f842a260c37258dd5ffa08502c1167727a493c9dfd2c235fd20e8e6fe6d55eed42bbc84676b1e12d5669f441b415b97eea9ce39297fdd6ce8ed87d588724bbe3ddaad93ac6aa6801ce701c465e45f19a2769e39d22e68a53ddf28be060d03dd0432826f7cd7f8666747913152b5820bcd39faf2d7a69f89b9a8e93e5ac478dac336d347fd1a1929a7ef26bfc6306a204080a7e6cb953dd567e6e7644ba097b8f80edb1905057befcdddf65dc9de57b5e65a870a437ce85e577eb3fa9a7cb38b14e237d2aac07f4a57c31007f86646cc379a015f2511c089ebb4a89425c4d74849fea60d919f37df349bf5b9c0ab59a9cbd72d39479c25a70b9eaac21b85bde4943971757bcf07baa1e7c9021bf8024c5efbdc99c87d27ca1b7c7a1e860b1363c33b7bcd99d5ef6750d49526681a779d9f73ce7b7b05a7fad3d018edcec62b90379ad9036e9d8778cac02c96ae4352a50d6fd6381a0fbe28a00c782cf8000000000000000000000000000000000000000100000000000000000000784ce044d0a0539f498bdb2e1ae335d128386e288925fff998a3f67ea890f571d26203ffb599af12fff963d7d6fb49df1fb42617054bf1755761be196caf1e3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000001000000000000000000","data":"a44cfdb952f09201e0f1ce78f732b9508f87429fb431c7fbb0c08defb2e3bbd9667c218fe9c9539edc5a5d60f0cb4c31bd619816135ed4dd7be26fb6197acf130cfb0ddbd8056a48d09614cc9fceac982fc5666eb61a5595e1122312cf080c8ae25f4f42c41b2c733d952b12319d59fa05a9dbde7745974cb4d130257fa43a404cca7cbc6caefb39961648358c31d5e25bb876a098d661bb51ca039240a08e240d6632846988ece89efc8eedcacbea75cd18f64036e6675f85a43eb4565d7ea25257972042d71a76dbb36de9f527a1b160c8f81c83cc1cb8575873eccec834719cc157e4320d1c001856edbb77575a7e4e20a2e2b33e589a8e1a10d633391ee17210489fc2c87a2aee9ff4cc6babb36e0a404a55a7de75d054a6ed6eb4c7ae1279f512ab9ef279e9983f10dbde109c3a97d07ee1d7a21f8af9da2d77e37044044694ab8c692e245a4bbdf9dc5583d8bb3e9703a21c19043efbc48dfdfb87595596eeb42b95e0448f0a59beace0d9dff9a1ae21321eb748cac3c03d04b54bb89f212ad226d3c01a3fcd11f3c2fd49d4794ca0976cdf12b0ed2f5de3223ef675608f923f11a16b533d2f0118b78375d69c504ce47eeec8cc970cfaba9ab1b2e49c69a6cb0ead7435e87447a574fba260bfeced3318d7457f096dc118597764ff2449d57c5e65767c3a22da9422e6055760f7b04c5342f3b5020636d46035c9c7a8e25edd760cd2ba372f42d99acd2d927092187dd9ae3a08614be6aa32f8bb33c7a7d908cbcb1f152cb68ff898102c7c0a536526c3ef1fbc99970b1111d1c5a57292319493c97fe272350f8a64e87ff47635e5957f192b5032b5a5f689a361277ae4b7227e506cbc1e9a01532326ac05c3c5e5da5463d4ba1bfbe923ff3d4a8d353f3fe967f99b513713d8ac350df15c2995d81507299a58c4c251ee603726ec8c0179ec2b2584f618590c7476ba1937ae167ed94bf18b4a04553d04c0a1e0afcd87c1dee3c630d082963ca7e40d06b505c6c9ac5d4a420500160c98e5c5dbf8de1a3e3011ee094928bc0ed4f2590eeb96b0d6cc6cbadb735a31679a77d78d4eadac4e4d597dc5380c1e770f9303d0ed1278b3eef8f0d6024c714827384ce810dc54f4f0d8d68a012150738e38aaa42f324519fb959962e24148a4e2023f9dff95a035277fbaf928df9be281a645f7171a22cbbfeabfd0d9b2b500c1853267ce373bf7b7a599dea17dac3a0d2c6c3cd0921e5a28a394f388b0e7bd685ecc664058c9a56c36e7e1eec2378ad91b35f1020fe2506fd18f84f871b4f43b42906e2ffb5b4530ad94f9a3f408eb00d142a0d328248a720954f2be0c7e3e381e155e0553516f1b00184fef027801152b99361a4b6b17ac165d4c25a3e75d094db78e9dfae7adacb5b2885585de5aa49199bbd41634846cb8481f2ec9a70ded2890eb76e48362f0d022ef062a41864c8003ded66647405f6ab32fb6fbf8aca29c55de273e357f96579de07508c64e9df868c255500d3c9443b31f1df8ddb0eefd75af5f516803a376fc3c81643db08df5ff348ab711306ab15159c22081626b2ac66c8a10cd3cf4f9641683c550d76cf4f528d661c1b225149610f740f53b604e0e17ba63c97d79d834157f309ebd097d1e689f307fc863cfca1ad9ebf30f0f334d7d2bdc3c1a4faf710af006808d48b91b9b3e793b71a044039d068699ec035ebff64a3f56b77c72473e3fa08c4fd5abe82eb849385d5f21432f37669a4f4703f8cb3c78ef7d2de35dcec0f27e7c16faa04a0bcdd03f0dcd3068b5acdc5d65440b315ac3a20911024219b06889cea155c1fb5d1c82130cdc9c35c51c437fbcfa4b56d85ac20dbeb22c2eef703f573ac98344b736941b229d9455e07cf603aa7f9d4f7f5395ab5afd20344b8192f53ad0189a0dc7c4e73760e772835823787cf0808c11cc2341cf1822777232b3a12fadef10b7977cb766525fa2d59eec85d9569006c3d6881747256e5360f36ac85bea1de22684d4b83882a7abae65bfd1e1eebd465ec316f01fbd2462fc4a7649d5d847af75f0da82e6c8834c18b8e05550e20dcc2627aa649f441db344c5bc11160cf5723aec4c227476c9a2f6bb1ac4f986b36712e91b21415e1d5a77c38ac0e512f9f2fed9d7e8e38afb32309a2f2b65366a4715b0df31a164e1602f6840ba0d748dfd4fc1cc0ac3a6ccafc47072bbd0eec7b38f5c7508e5733c2801f0e4dbad79021a84ad6d3816cdc1e9e4eb7dfa67ca0593300f0e5325849327f4109868747ec7d34fb5ddc7957a3d73a58e0dda8a461ef46a4955b7c4adcc57f9fe1a7d0251f40c5249cd73bf14b8db1c6d29d616f0e645d401485f0efef0097132be858fa7858aaade0f9bd8eb1af8a9275ed2a8f62ac20a0812a5c4340bc5cc8ee2873ed61af00024d7749a8f432a2654706a6296dc33953a94ee5e1090da7cdd3964cb59b5e44a9fe672419509b072bb8179d7f4e1687042497eedb1c4ddae5a639f11f84eb382cca582d6d012e69203aa13f7ce5c0decbfbc828cfc889bba19162e962cd8ed01f91f216a511843523e94b2cfe3ef206b9df4c20007ce485faa3f14407b8e7a2fa203c0615c62a77dd8125a78af165fa31eb6e5777029347f9ac60b5ff64da31ee3ca76aa49b27f236aab31037b22612a4d861b1d06bbec22072ff6379db913cf6790392ce1cd016968c67fb789f6c4e359e8649ef764ad5a137822dc19f6270e1f6057d230f30d44a4d00e5553d758df4000ca4c1e8c70780640cec39a14d0d8ad4403aafccb039ac510d13819a94a5434b81de2f9d2e0021955f6369c8087340a051d400abfc4f40d121aeb37098222a84e460499add359af584f9984f8123f48caa9712227482a9a63a7f5b2f7b51beb78ca0e13ee4fd44da9c8089d919ee3f36c9f00dd2e1969b61ac335e343d3b05ac85094ad7edcd54ce815df2a29c8dc44647f9890c1cb3c7d6d9511cd1befbb93a76d0d8a46c7c7d22f2ee8884bade8e4a6517b12ef2fd7fb84e3dcd6cd3fcbf0ba41dfc69a37149a5ff3752b3fd2555211fbef1ef8af754846269b48cea1d4a23bb81fc576bc9365c8d87a86be79b60c87ed9b3a2c15c30926b947edc0e14b1bd7836d3d7f2994e28d0ca1346667d35cf38bf879c60e13938ea26bb581ddd7e046b4cfe2f14bd8d4fac6820be43d0fae427916cc65d2da929fbc93c0556a81a1692ae17843a0d10e0aaedbb58542d058ee0e1e581b80dc2859ce66e5edc5b0eba542868c21c51c417ad39baa93e8460a49417a95f103fb9daa6afc5e1ef148855a2d5ee6a88f481acb570b9aa2470b4d6d8443fa4e665b9f5bddfbb6a784329f59920048a6e55fc6fbab6a9586bd26fd91203ff3a4cf456a4fee6f9832f04ea6a6b783017f4baac86ad5fba82f98b165b9a92d68ef460e251df6e9dbaf552a059df0e3f3a1200eb635bde7a43365256e3b0db422d42bc664063d71f9931590a7aa1a975b197e5f955fb23164377f746b69d43abe4bb6cc8c701f79b4931ac0e9f5382477b3b312ec1334b4bae25b67537feb9ca2dbc734c397ecd512051d34493792d9fc79558dd831cb65b5f309c0ba793a147b091beb6c22fd4fd46f1e8c944b07fcf022d2459981fe504b9ef87b42e9c45fa652b83937a0f67528ab20ff03e7bcbde70337477a947ecbcd89d3a03e1afb9550eb7881eda8144a071f99a27018eedbaff0a4c632720a64a977e5f28ecf30a6f764c9947717f402eeae5dc5f0215d8028f99bf2e58437e2fcb40757a6b6cdbf6852b6981ee48dc3b806b881e294dbc6b9166ac2e0b378bd63fd20d69aed90681bb14a2f035ed241dda9f37f4e62cbd5858b3bd8cb4b213e47548fc0aa7ee50e6e211e058a38f828039d6092386e47d02879bda356196ca8f255b52d4acec34a71177a080f7896594ba3bc841c0953fa38ad0ab8d8604fb09c58f6d562af9599f9344463fd2b2a2287804a01416d8dfc5a5454d9ddf765ab2807de81acd743aa326e87a97a13705576f0f0ffbf7c1c62cf24bdcb96fd2c9f5ee40714b88fc5470408d67ac6f83e8ca7129e2b5cf2b60170296fddadb54027b0c0a79aa2ef9b0ba3f32bebe6d663c8d7db2328e3053ec9889814d0db35fe52523519d683ac26b372223425d4ca96b2e2cfefdadec46f2ef19c2791a96ac135f9732d9c8c09ed46eee271c59405a7586c2ba2eba3a1833ecdb97f45c42c15f0f13af1d3f0ef143a640f67d78897bef368fbca285f8214ce6202179c82e0413ec6e7a3e2a40c84c531882929ddd789110fb8fd2fba3f3d6ed6916162acf3412d524474978d5f9e8abc878fe3a0d2c1dc534dca557b0485b5f4b4f8b2adc807fee6c027f4b4df3b2da5ea958557321004ff490edc3f32e88223dcd9d7021e7764122c29204b54eac58e10b471a23ed6cb7389663d803ef940a072ec74a6e15e89e3d76c7f4fe8b94cd4ccbbc9b928f3aca878496c8d5a7e0d99dbc400dc8a46a926e4be06c10aefcf6e5b7576a755db031994dd4f32ef2a177a2c66ba05e870764539fde845df378c9de8e4ce5a9674ecb1df1facd7c45f6b3e717ec8b6f451ba85dd59f61b4ad8a6d7e10385fdaa883b43c2baff7f381fd3b5e4177bd3a5c292f78d380fcf2e336a0a11589e57216fd760785588b2e404da412e97cacdd082df91ce76ed5f3b1fb31d6730a6a6f2509fe418b6b3fb186a4a3ec3887c6e3595ebdfd08c77124ac798f8cdec1cde91526e783c05b091822cfc7620499c74937709eae376b43d1fc4b4329553b637b48f6748917eb972c0b0333f60777de1ed262e9cee256053629733e5ca27a72bbac13b52ba94346afe1e593f7e54ffb0fb2b1a5b84166a6911990d726e4d3cd8cdb9ba3ddabdf9625955e5b2d2e36cb1f535435cbf609a157f6662949835eac5b48e500e880c26e76be5e463f27020f5643e7909a06eb0d64f92551d8c0175b72e2cf2f5ea41a74085fbe99dc11cfd750e814abf2dca0891e1d0cc0fabca3af7b80865d9eb7a1a3a91dde888d142b0cae9edafb99547b632a34d0cc39be5cad063e35959a4b8f9a7bde8448f6c3056f354468149ffda2ab011d80d20cf7b3881fc85fa1f9c36098f988c2468475ff6d6315ae1efbb3a016c347f16ef23332d7a1337ee9737a34b6c00a532aac2841cdefc232cd3fd5560a3023575de0188f12e6ed032a3890c2e9efddb38feb718b1be3b4bae0b58b8352b8920683b0c8625bf74f43f1876aa171b3a52e9cc6084eef85c2995433fa2db315cb02bc8e2acc6ccf3914c5a14f5c2bd0205f03aad5cf9b2260016e51aa47fa3c46b68565a0b942e81cc704acfd1e85cef0b3c7b65dd67f20db0f7aba188cfbe20198875845fb1da8d71fae14f9347c78bd76843fa565da7122a7e79d21492c2f57b1ea6b797c0711039ed5c14cf015aa8744577bd3b24fdaa3b0d6eeb3cb5aeb560f71cd0119982ac9c05ea1cd56e18303fa613bb50080985e2e1493127ffb5a2f5d89a6196d75e41aa5c8f638afab90a846022304f02d6fc9fe6ca5d05dcfd6e68828ca6a6e54807ae5b7c2a65019f5f79793be5fcba15eea4b6d8c6728976a0148b42876bdd5cf5a5567bcf1612f41d696ae24a9c4b98c01a6d2046b467b85ba3758a18ca59a62e7827bf6f564ccca4b0693781cc1b7f900c0927a602dadaf854c49072c1d28881a6c8b8864c565f29a2b6ecfc3c891ec350ee6394c5c37c0decc6edb4812b240ca1d4f7ab533f5260c509c3ad7d14bbe423c68bab0bc3a828bd65f6666d155a0939ddf5878bb2457401c2b9a9c4c29fb61d95d032050c0a2b64654ecaf997e1a3de3735f13247992e5543d89cfdb76f4b8a830ebece1100383071324a14ac7871d508565147651cc65e08c307f6795062a055ec20dfefb8885c86de2318562fab2c1d585b4974bc683f455d0ab5081e98d323ca4254062398aff5ff2516df1ebb3b1b062c2f218fc8b1564f5c9d6689d5c0fa6c200bd50ceeb5e5a0f651bcbf5ef563ded4e6616cc45f23b0554a823b2e4b603a45e2fa5a53007831919585504bca9a755463eac2f66a92620719dd88f24d9736e068b450040e56968fc18d0c6d1f14c64952fa87a658934f560b6b0b6efb819e27ae70f876627af3a7f440ff885abf6c22f9f6dc0e79a2aafd3d464ad5f125b20b16ce887758ddb9125d064bbeb46f248fbe240b01f802f1f300f30554916ce95ac2b6d618b84680e57747740c8df42d57431afbaa9ced465472c24d4e35bd2c09ffa312bf69f86adc4c430fa6dc9707b1bae2c6dc2259197b3f387ef5c5cfb385556754579bddfb0a827f07c1ce1ac42e24b4a7558dc653045e03f719b03dc47eb17206aed7def1e4fe9d7afdeebe0a486b848c0bb80d7065dbf29a52b4bfb31a235ad328ea6270987d9da456918274aaa2e39f31e4194d9edf1b3b3a7cac0c0f7252015819b7746c9f6fbbc8f8943acfd73701938bdd762872ff0ea5d6d508ab3b0e237d6b87efa6ab7b5c63c92da996d918a9f35a916c2a088f017a878605aa0bca21335af5c8ba03bbcbcb82833a3b1c0467786d8571d58abf96c09a25850e4af62daee8ec49855fe50792d600f8655b750652c65b886f46a8ec825081d4962a415b767f2a01f362af364b6d234d41fb4bfc33cd7860b401a6eafc69ba35dd6accfa6f6d82fc4b74d9979c64f7e8818283954093da61c3f4ec6246bdd346948eac6b5c136dc8a9701b7bc8bfbc439ddab32151818fca86824098bf326799c4a3ff5b3740cf85cdfd6c098a3455d35d7e5e88feddc9e8a30dd4b88407446a8d4fa41b4183b3a8558b3da815f38ae69a6e04b01d6744750595d90fb4fe6880207b609565e470ea128dcd3a5ca3962a7d160b52c189210ee07223506add86ee77a9acd047be607d2f1e2a627b9417283c520e0fe2864c8546d9fd372965a00547cbb1c770c7e4717bef15a9aefbcd0a23cc99c52121e99fb0af5525c99f376dae828b748393e7f11888400d982cf7d49a6286d0721b6c66be5c9febbc807905cb7c885efd016284b5ac3b1d3e5e7fc6c99ea2e83bdfee620b1aac28fc7dab054a269ca9019320d0a318e209f6dead1838502c3053ba3d528b2e4b8d3a3af0256986aede64c6402fe1989488cc28f8e2f5f8d9c7147288f202326feecd4be241e61b611f9507ea1cae7fdbf4bea46cb7f448c9081db5afa4642453825e77d33973d3a96b7268f323a429c6bbcb124b860afcf1a741c61745e33b1a0b845195a7420f451f5c4af96cab37b4c714fe574515b335965e273c97156361eb91627b247f9511051d0f4195b411ae452af48373cf01365ebc7acd4482c4d7c0d97819ef9b8ba27f734f83f47c596e31bcfdc6f146636f41fdea62411ce7f93ae99a46258ff09ec7ce8fe3921821020beaa56a4b67c7323b006e4c70f87f4ebad980400dcbb15ab601fa9bfaaa0c0b056ef0432276eeaea0447fe00e240694f5de0da71b84981b8183b4fd8fd65a4b53ccd29582579c3ad9c2db663078c8b95399b97c8c1e9f7aff00ba84215483a61f04fa7e0adbc498b1204bb7a8d206a497285fb3d9322047cfab914dca7fb74232c4c699d1f49185162299ebe7d1e87ce2156f505b1ef62fdc2c5c611856c13de4bef3661506fd984db7efb39381f338a3ed47c9a6d31046d1df169428d80adfbb2766c6cfcb7db6fcfe9017e491dc09f38702d2b2027f8a522560d27e199360eda74d0515c68e846d173a537fa568dc1267d3bdfc1f77d508b6f1fb12c5a26648b8c74b38327a317455f60655593eb6e331091e98d1d6c79634cc6da469620fc2704f2d611c78c3e2e4d6c41f9c833672ced40f6252a29f19a76764ed15b581e9b34bc067b7338d2369c1af260b8b400a5a67ecf41b72de6c30288e8359a6911fdc982c71db45ffe8359dccda34f8692f7b56016457f824ff697ab3fe15a5073fe670288a3b09ae3ebbdb514c62aed4d5c99c9c47e8cc0adf9ca8e61600e0a6817e8f7d004b03d351053af3de1f718f3fc47e387ddb62ebb70b6f231d12e345eb6305fea1c960ccdd144d4271a159cbe841ed88c415cc0d163a43b1256787c7ad52a367471af693677cee986380a78804ef8e7dc8e8eff46e5a47b2954237a3687d22e788c5f38114cd64e0ff8e5f3b921a9068a55cf5ef84a42b3868f281c7a9348ca056f332d80c893940a8a2c4b6eaf16218c89602214e8b92a6d6b3a09ccb3dff683c8cae630c28fd8f282a1217a9f182fab6d5639882dc1a9f2345b2e5dd881073e2a8b1fd644f1e5e97ee9eefcf5bd98680c70bf2708cb628669fc117c438d62fe41bb623e644e3b084ad4173499d38e32ebc71c29908f846fbebbc89589794c62912343f53cb2fd32c38c0f957ad9ae558ce7df6755494e95d408f27b28a4f9511fdb1e91a84f0177c4f86bf0c54ea2809229b8e6d62a80b2a14113c8c5ff5f4b33a4fa95a7b56450ed6f4bf78a6ffbc2f278d20e7408dbc12e978255406d0d90a36975e4a41af82219ff20be5e85d59b8fc7ad588635da615def280a7ff11762c0dd88f644da90c3ca6a404a9b549ae3ce30f88125db29833ef5276695364790cc8d64de080a80a4810311d4b46a7311eb329e0dc8493f63a1dab63b5bfc797df4d26a4c892403293721f4c76a055fb3093e1d3f471a266ca3680a484f7af52d9493b65dc3a32f26c6c52281ac1b644730fed35a6d96a093af312f581be3b18a635ecb128f2025f14f769b14f7402ea97b9edaf3985f890eb5c816628b380b5d34986e63fb05a4d395d8af75e5203b73f0adb55940ede119a6773748d00c4990d7679ecf52e79e1451f162200a1788618a080168c6b331df4bf91512bd3a4c0b634a4312b3edb0449bea4c7422de1d519d9ab2642f228737262b54485cca94e0adcf2738460cbd8541432201ecdecf6a658294168224666a05edb7fac3a6dfab88c8a47cc607ee9790801f9a0abfafc5c3fe90651491de7bf55f3a0fd614a186be223cbfe2d585a1d4b6779a26a7706e9643116cbbea7bddc7d6cb23873f0933b57ec38f893e2896b5b7ef9f0fe4092d5a1d30a75400f86839cdb7d257448788f1711edeaab5325d78476429b45e94b2028312f55f6281037d85fd47046a5af5e4a26bb107c55383460513a66e3283be818cdfc8d217ab660dceffdfda0449ff8a400c770eaabc772852de87551bc23245cc81c7c10ff386c03e37602c2180cf9ab94a54675276cbc2c4511628cf59eb244c894dddaf6c1c6fafbdd0d469424b742fc6d4f7bfffd6412885d4ec01498d5e6cf7177ae13a28269792d3504b2c1504fe034c633b4f0db7ae3b7b02d9c8b05cac932a55b8f451e5157341e9f8c31820b7b69b053b62d72bf1aba995ca9a1140177a51f538829bcd90f572927becb2f7af841ece4973f8afaef99168d7264c3d5951607d258bba4ed2135d959fed24fd7f3b9db6bb6290c8094ce40f156a060c109419fc852a3e90ade0bb957bc8374a6e56a265ec84a30b4702d19b1acd73e5a2986187cfd99cde4c028f3a235ca3b07f33b70c95f129e86a49ae30e197bca185c54865768633fa4198afa582f7717a8a40d6e3dfa1a171bdea1e7dc7dbbaa733dd53471e5308bad1b8486312a5cbfa3f7045d2795033ba5b4ecbc2893f8f691e77ed5337c3fb2efc81e13889e4bdf9c8c567d604ec1dbfb21c89417fd0447c351ad7039a167c395f74c9b77bde9d8a65a23eafb97864e8b1afae73096e7c5edb575c887b72371e5b5eb2fd9a67341c56406b23e89733290f9bdae74b9fb5625a9cf0adc2c68b8db25ccde0338f77512b8add8723ac2f767f48e0c9a9f7f939a7def96125718c4670fb501619701f55d8e95d7caadf29a082a96e9b1166cb1ab907240e339f2691bf320f0f724c0543f2f2100cbe6ab9adfb7d1937a99346c0cb89c9c5f1dd495217a9dacedb0d2ba593710ffbb6abd7da0afe28551f2f80979686f3bdc01195301c6dc3de75cb019f9542d5a65bdfb541c653c5fd04988469bfaf2548cded128faa869cd77d8513456626c506ecda823e592a3a2d5f77bf93e34d12c74d1e3bcd684f4c619a61139122a28c5c43d3612627e55d45b307b111db6db48c865016334173d7aca11fc3b5612cb770cd97e8e3af95b11d2223985ec8aa0c24c9762dc7468e2fb4db6568114ce09302fd22161e2254cc89ff89972efdc59003811c8db57e35b9ee742183e2a4d8ca77b2c4f8c6377b87b7a9703b432bc699809d376641f5bde3185a045a81dab80027894d9fa32bcedb4ef646fd2e68f67280403c3e75cabef7498adc96e8b39e51975eba23cc026f8e01a4cdd51dbc795694290a0edf868da419a575327e6979ac636e33a6096e047984565201ccf86ba4f3d711c7fc3a97efb0b1cfb46921c456a4ff14fcba58a31ef1d1b0da86bef72284a1098f9df35b82032dbe5a492b78e0626ff3cc3812f397026ff4e841995ce56032dcf4187cc0333203695ce054511461a8583c1f0021c8c71d3b01de2dc0083f0e375b0656977395d50d24641a6b2098fb38bf15935b90afd0429530fc898268166a1b6f1f151ded1d4048a96870bd67afcfa61b09416cc2ea033b6c6fb1e7d678a871abc93dae62c77025d3bcc58670b14825301f5ef68175eef0a655dc72ec62baaaa197dfacdaf54480f5f077a857d4631774e5f69f485d0605954ab074be04798974773da878159c1dac43e5dc97bde3525ab8df7a5ba13164a136dd4a676666c75142605542ebbccb59180c9592a38ae8d0b06e025a0543d4aa9505a17fd44086d8dedad05848b57ec19072a7841a704fdf91c97ce609aae7893817e984e7129d3e2f5508d041791ab05ad4130fba7713e697566b1b41c4d9935e18a1e75ebfacfc52d61a89e5fe4130809a5ecac7494d4891856f4ad381f3ccdbdb797022a226c75e16869d7d88619f962a7525bf46fa6c721b1cbe0809e418901096b386d453015df3eed8dd2d4d16a5c84117215650bb9ced7dbb8cb5de563a9f09e054a3057db325bd6cb7b402eb0a53cc0091f7f98ee06c5ba397f55fff09041d55c2e1dd088aadd7011e55327958395635c65f22c388a7e65f99e30f662df76cddb0f590f6927c5f4aea70070f57ffe8d5865f1c65768a187e0450a7c7de277dd53ddc46e1ee292a685c76b11e30813351ea252dddd0c932ea20946ed7ae157b173132dad3c0c6a09c70ce344e09043d4c01e85f1a4ed41c909831c7e057347bb3edc3cbc2d953a1c3bc4ecc3b699278df43bff3ad3f7c7100e54a2732c9d2941d80cd6fc10f453bb57af43b7ef2a9760037625b01e9b1f4ae69043601aec2932bdcf4bb32adeada18a8e9e47f85ef77c4c79c4b0eedee5177763601bfea6cfa0a9616a5ec03022cc4471fb8e1c92cff75f3528c4c5b1cd3d28292659d4b843d1538e327648c32069f7361e0c7ed1d3c8f6f209338998570cdd30d0219f9765b5569e8e862e5518e1d303ef3a19b1ede816e28362c3cf4199c8966852abc7ee6d0008bf9a29b82947ce97dbf2e77bdec820218842be5638ecaa3dd74aa8c4a01a19309254716df6aae6ce388308b2b2a62ad2ceb3be607a88afd37127cc143817e1134c414081e621fc9e47273a146863fe5370e621123663aaa4515e87bc755ade0596911e04ef887e0048badefdbe51f1aea0dfe6b8dfc99aa37c01e8660be2cf0e639b5dc14e2e8ca2e45ef85f587fe1e1cf2058c5f091925bac1d8f0bd86f32ec1464b55a64be3d4581913635388acfb3e21fda0af462805f7677afb22f35c750e3b290e2ccebac1fe821e3e40510b4808494583eebfca974bd64c5ffa07580fa07d6053621f2770389d18ae6a71ce92197023c44b5854f01dd13cefef0d964741bec65414a0172e78ef8596d57f4dc750c33b77592e17ad25c82f30c3ecef92e11c2e5650aede37dbbd59fd1a07b040258f406d1df369c388818f3a6a0435d12e31c1d189c1150653404380323472644c7a06d058e7b19c6d6d12be427646667a6c5b656882344af6466c3751ac5f34ebed016a7809810c648258012f2c7cb88af32e740522ee0070c710188b12523151395e8df2db5345e04626b5f1afa1e08f45d1faf5fe9dd8aec5eef1f65a8b92a793e8c6958594206ae24c403d63e7945ef1417420093376c33cfc43ab746352d3bb7c45eb57512dd0ef60b2da1ebfcca6a9c4e5da72913224b3f2253a920bb9680a48eac15894f782488a46d6fade39daede308f11e0508c365fa24d1cec6a39975f0bfef49c4d3c9b5622b106caadfe7f3ba490ffe244bb9cd083482249b8fa2e22ae235dea27efe0326e6b23a8f222d5a3212f8f6047ad708656466f0c7e5b7dd2692dbb03eb7013f3a0055a2f8d7dd16fd139cf028aed75f2ec1d7de0235a1a0959b4fae7a425b4bb8325998b911d6e706397c91abcd117e7d126bca7f888d66e0b9179b074644dabe9bd17cb0768060aceab27a7eafb8b85985dfd749979783c33468420ba2c55beeef9f65f3ce18a3362c45490257e48835a3501feb1d76aa8b27bc7240ee29e73ba8217c1fbfbc2e59ec5dd2d123938d402bc8af61914eb22e8a1f582a1be1cdc29e6d73fd32d027917f43aec37173a10a69dc1c2fc4fe56f98c084b4021912489aae618eeda0f6b132b68ea282f5ef38fdfcb4f221b3794ca839a7b8216d97647a116479ed4024a1c3d31095341447005b14b2cd417ad863fbdab1df5a7923d2d31a0fe4f969755b956c57788fddb1bc204827eaecc3f2e9f7d42d32e46cbe9925691546da7d7e00e053e0a183f3229213446f5a9876aa25d4f8ecb2eb289d641ff63b22eb91744e08092cf0c3d4d37acf4e28dc9aa1c7b72bcf3656b06218bd00066148e1f6544f4e94bea0dd72de29a8c156d33ddb0b81a2d27b7a05f5bd9189038420a2d1ad717d55dd8fe41284a51d522094823ae9f9e5131402a525a6180c6cebbda87ea51c3f71648f5c3b2f2cba02b9c24668c4728941a39f330bcba306070b44df0736b9f14f54a62d29b804809a40c7afae1af01e06c38b3bd8040498d80f6fd5ac86c05d45f66e76afb2dfebc70f440ecc18d4338d741097de9402470ba34bf224532ab4965fa481f4b3ae32bb2932e8ca428c5cc51e3373c5919f2768e452cc98a5506bb9a2e44d9900b8132d97f4b522e2b58820db70dfdeb985b890aae953586b283a570f3f98b7d762595265746bf5b13c35e7462c82a479005c35d472f0ffbeb0c2f4471ca8dc4e12a70df9cea3e1d332fa4d49c5b11b27169f423c04dfd6d50d5ac0b537980d9670c2b827453007424149252ebcc223b99445a2e8d0db6ffc65e668f9ff7707c3c902d78b5490dc18d85db6dd87088456f78b7020260f4ab80f0011b66a8231eff13c86bc12bd98581ac5c00c2954e410ab403dc895fc67da550d2b79c21fecad45720cb5fa0795798869da3f244cfd32fc98ec3ce05c01e27b1191c6cfe67555e3607f796b35cd8897ad158b7693b469ec1265b5540c50fbf29afb655e53eeb99fe81ea1ada824c3475d74e0b54c5ed5e681ece16850c86dbbbceba503df07b3ee403e88375a66a919843ee12d8f69721f731896a7850d1b22c2a6b458a54207b8c293c8b5122be2395e2d8240c5b89d5c6610e227374ebc6db4e600f20a13f9a421116a4ee190c2599532d14918efa78da1a72ef436d78e9954981a681efdb07c09d60e43b302a2334ce0abc19f191eb92a2d9e6f5e950f91f3d78fd42f91f9e243856d788adedb31280d3149c934a20d062c7a2c6d9f0e89c758ff5a382de5f02b6a298f94f54f3badc5dd4d8e9e2f8013ab2525c361571f65fe57d13995176fb2cd40b8a1f5795423b24d12acfb62551c4b0a6454d1b87318943eae55ac3b4f8664a6840c4d47d36f23ca91e3bfc0be45f4d28af697873272b47ebc0c9bff591c271b3fbbd9059a7105f70c56f283aed10232e7cdece1840bcd2820a047ef848cf6bdfc15aafb5a3b2bb78f38db2914472dec2b184ff2aceeb0b83ff456fb10b2959486275c04ecf525735d4efd270654865fa23557ef8cf26ad06d998b40bd784c626e89cb2332d3f41ff34c37297adbd2b2014f2b318c7d0ed5fa045dfabfaebac484f9e2b7059fe059aca48cd5db0666f58af24f9f6cde406cfa2d17dbf1c7754b4966ff708da18e684b250ce1783a30c9ff374b4d28a0d6eacd5d99e5fa7ea735fe36460e0a153f50e196ac909a0bc351162bd6f6462aa479c7b61c6b68e864eefa35c535ff9b4b1a86d55d067a4511ff1ffaf672de2a035d2c9d699adc1bdd1e29ffd53288ec410e19e22623fd1909ead6d6e4889b329b57810dc48ef88f1ac0439ead9d43ab83390495600fdf6b6981825847f91cd15dac9748eb292081231748c9365289750d272adfdea4d35c46a360b6ef6b356648df7592d245f70b65c5bec629d3865e49eab7b83fb239b0e6cde509000b8a75a28c0a2411af417fa82df1","shares":"00000000000000000000000000000000000000010000000000000000000100002800a44cfdb952f09201e0f1ce78f732b9508f87429fb431c7fbb0c08defb2e3bbd9667c218fe9c9539edc5a5d60f0cb4c31bd619816135ed4dd7be26fb6197acf130cfb0ddbd8056a48d09614cc9fceac982fc5666eb61a5595e1122312cf080c8ae25f4f42c41b2c733d952b12319d59fa05a9dbde7745974cb4d130257fa43a404cca7cbc6caefb39961648358c31d5e25bb876a098d661bb51ca039240a08e240d6632846988ece89efc8eedcacbea75cd18f64036e6675f85a43eb4565d7ea25257972042d71a76dbb36de9f527a1b160c8f81c83cc1cb8575873eccec834719cc157e4320d1c001856edbb77575a7e4e20a2e2b33e589a8e1a10d633391ee17210489fc2c87a2aee9ff4cc6babb36e0a404a55a7de75d054a6ed6eb4c7ae1279f512ab9ef279e9983f10dbde109c3a97d07ee1d7a21f8af9da2d77e37044044694ab8c692e245a4bbdf9dc5583d8bb3e9703a21c19043efbc48dfdfb87595596eeb42b95e0448f0a59beace0d9dff9a1ae21321eb748cac3c03d04b54bb89f212ad226d3c01a3fcd11f3c2fd49d4794ca0976cdf12b0ed2f5de3223ef675608f923f11a16b533d2f0118b78375d69c504ce47eeec8cc970cfaba9ab1b2e49c69a6cb0ead7435e87447a574fba260bfeced3318d7457f096dc118597764000000000000000000000000000000000000000100000000000000000000ff2449d57c5e65767c3a22da9422e6055760f7b04c5342f3b5020636d46035c9c7a8e25edd760cd2ba372f42d99acd2d927092187dd9ae3a08614be6aa32f8bb33c7a7d908cbcb1f152cb68ff898102c7c0a536526c3ef1fbc99970b1111d1c5a57292319493c97fe272350f8a64e87ff47635e5957f192b5032b5a5f689a361277ae4b7227e506cbc1e9a01532326ac05c3c5e5da5463d4ba1bfbe923ff3d4a8d353f3fe967f99b513713d8ac350df15c2995d81507299a58c4c251ee603726ec8c0179ec2b2584f618590c7476ba1937ae167ed94bf18b4a04553d04c0a1e0afcd87c1dee3c630d082963ca7e40d06b505c6c9ac5d4a420500160c98e5c5dbf8de1a3e3011ee094928bc0ed4f2590eeb96b0d6cc6cbadb735a31679a77d78d4eadac4e4d597dc5380c1e770f9303d0ed1278b3eef8f0d6024c714827384ce810dc54f4f0d8d68a012150738e38aaa42f324519fb959962e24148a4e2023f9dff95a035277fbaf928df9be281a645f7171a22cbbfeabfd0d9b2b500c1853267ce373bf7b7a599dea17dac3a0d2c6c3cd0921e5a28a394f388b0e7bd685ecc664058c9a56c36e7e1eec2378ad91b35f1020fe2506fd18f84f871b4f43b42906e2ffb5b4530ad94f9a3f408eb00d142a0d328248a720954f2be0c7e3e381e155e0553000000000000000000000000000000000000000100000000000000000000516f1b00184fef027801152b99361a4b6b17ac165d4c25a3e75d094db78e9dfae7adacb5b2885585de5aa49199bbd41634846cb8481f2ec9a70ded2890eb76e48362f0d022ef062a41864c8003ded66647405f6ab32fb6fbf8aca29c55de273e357f96579de07508c64e9df868c255500d3c9443b31f1df8ddb0eefd75af5f516803a376fc3c81643db08df5ff348ab711306ab15159c22081626b2ac66c8a10cd3cf4f9641683c550d76cf4f528d661c1b225149610f740f53b604e0e17ba63c97d79d834157f309ebd097d1e689f307fc863cfca1ad9ebf30f0f334d7d2bdc3c1a4faf710af006808d48b91b9b3e793b71a044039d068699ec035ebff64a3f56b77c72473e3fa08c4fd5abe82eb849385d5f21432f37669a4f4703f8cb3c78ef7d2de35dcec0f27e7c16faa04a0bcdd03f0dcd3068b5acdc5d65440b315ac3a20911024219b06889cea155c1fb5d1c82130cdc9c35c51c437fbcfa4b56d85ac20dbeb22c2eef703f573ac98344b736941b229d9455e07cf603aa7f9d4f7f5395ab5afd20344b8192f53ad0189a0dc7c4e73760e772835823787cf0808c11cc2341cf1822777232b3a12fadef10b7977cb766525fa2d59eec85d9569006c3d6881747256e5360f36ac85bea1de22684d4b83882a7abae65bfd1e1eebd465ec316f00000000000000000000000000000000000000001000000000000000000001fbd2462fc4a7649d5d847af75f0da82e6c8834c18b8e05550e20dcc2627aa649f441db344c5bc11160cf5723aec4c227476c9a2f6bb1ac4f986b36712e91b21415e1d5a77c38ac0e512f9f2fed9d7e8e38afb32309a2f2b65366a4715b0df31a164e1602f6840ba0d748dfd4fc1cc0ac3a6ccafc47072bbd0eec7b38f5c7508e5733c2801f0e4dbad79021a84ad6d3816cdc1e9e4eb7dfa67ca0593300f0e5325849327f4109868747ec7d34fb5ddc7957a3d73a58e0dda8a461ef46a4955b7c4adcc57f9fe1a7d0251f40c5249cd73bf14b8db1c6d29d616f0e645d401485f0efef0097132be858fa7858aaade0f9bd8eb1af8a9275ed2a8f62ac20a0812a5c4340bc5cc8ee2873ed61af00024d7749a8f432a2654706a6296dc33953a94ee5e1090da7cdd3964cb59b5e44a9fe672419509b072bb8179d7f4e1687042497eedb1c4ddae5a639f11f84eb382cca582d6d012e69203aa13f7ce5c0decbfbc828cfc889bba19162e962cd8ed01f91f216a511843523e94b2cfe3ef206b9df4c20007ce485faa3f14407b8e7a2fa203c0615c62a77dd8125a78af165fa31eb6e5777029347f9ac60b5ff64da31ee3ca76aa49b27f236aab31037b22612a4d861b1d06bbec22072ff6379db913cf6790392ce1cd016968c67fb789f6c4e359e8649ef700000000000000000000000000000000000000010000000000000000000064ad5a137822dc19f6270e1f6057d230f30d44a4d00e5553d758df4000ca4c1e8c70780640cec39a14d0d8ad4403aafccb039ac510d13819a94a5434b81de2f9d2e0021955f6369c8087340a051d400abfc4f40d121aeb37098222a84e460499add359af584f9984f8123f48caa9712227482a9a63a7f5b2f7b51beb78ca0e13ee4fd44da9c8089d919ee3f36c9f00dd2e1969b61ac335e343d3b05ac85094ad7edcd54ce815df2a29c8dc44647f9890c1cb3c7d6d9511cd1befbb93a76d0d8a46c7c7d22f2ee8884bade8e4a6517b12ef2fd7fb84e3dcd6cd3fcbf0ba41dfc69a37149a5ff3752b3fd2555211fbef1ef8af754846269b48cea1d4a23bb81fc576bc9365c8d87a86be79b60c87ed9b3a2c15c30926b947edc0e14b1bd7836d3d7f2994e28d0ca1346667d35cf38bf879c60e13938ea26bb581ddd7e046b4cfe2f14bd8d4fac6820be43d0fae427916cc65d2da929fbc93c0556a81a1692ae17843a0d10e0aaedbb58542d058ee0e1e581b80dc2859ce66e5edc5b0eba542868c21c51c417ad39baa93e8460a49417a95f103fb9daa6afc5e1ef148855a2d5ee6a88f481acb570b9aa2470b4d6d8443fa4e665b9f5bddfbb6a784329f59920048a6e55fc6fbab6a9586bd26fd91203ff3a4cf456a4fee6f9832f04ea6a6b783017f4b000000000000000000000000000000000000000100000000000000000000aac86ad5fba82f98b165b9a92d68ef460e251df6e9dbaf552a059df0e3f3a1200eb635bde7a43365256e3b0db422d42bc664063d71f9931590a7aa1a975b197e5f955fb23164377f746b69d43abe4bb6cc8c701f79b4931ac0e9f5382477b3b312ec1334b4bae25b67537feb9ca2dbc734c397ecd512051d34493792d9fc79558dd831cb65b5f309c0ba793a147b091beb6c22fd4fd46f1e8c944b07fcf022d2459981fe504b9ef87b42e9c45fa652b83937a0f67528ab20ff03e7bcbde70337477a947ecbcd89d3a03e1afb9550eb7881eda8144a071f99a27018eedbaff0a4c632720a64a977e5f28ecf30a6f764c9947717f402eeae5dc5f0215d8028f99bf2e58437e2fcb40757a6b6cdbf6852b6981ee48dc3b806b881e294dbc6b9166ac2e0b378bd63fd20d69aed90681bb14a2f035ed241dda9f37f4e62cbd5858b3bd8cb4b213e47548fc0aa7ee50e6e211e058a38f828039d6092386e47d02879bda356196ca8f255b52d4acec34a71177a080f7896594ba3bc841c0953fa38ad0ab8d8604fb09c58f6d562af9599f9344463fd2b2a2287804a01416d8dfc5a5454d9ddf765ab2807de81acd743aa326e87a97a13705576f0f0ffbf7c1c62cf24bdcb96fd2c9f5ee40714b88fc5470408d67ac6f83e8ca7129e2b5cf2b60170296fddad000000000000000000000000000000000000000100000000000000000000b54027b0c0a79aa2ef9b0ba3f32bebe6d663c8d7db2328e3053ec9889814d0db35fe52523519d683ac26b372223425d4ca96b2e2cfefdadec46f2ef19c2791a96ac135f9732d9c8c09ed46eee271c59405a7586c2ba2eba3a1833ecdb97f45c42c15f0f13af1d3f0ef143a640f67d78897bef368fbca285f8214ce6202179c82e0413ec6e7a3e2a40c84c531882929ddd789110fb8fd2fba3f3d6ed6916162acf3412d524474978d5f9e8abc878fe3a0d2c1dc534dca557b0485b5f4b4f8b2adc807fee6c027f4b4df3b2da5ea958557321004ff490edc3f32e88223dcd9d7021e7764122c29204b54eac58e10b471a23ed6cb7389663d803ef940a072ec74a6e15e89e3d76c7f4fe8b94cd4ccbbc9b928f3aca878496c8d5a7e0d99dbc400dc8a46a926e4be06c10aefcf6e5b7576a755db031994dd4f32ef2a177a2c66ba05e870764539fde845df378c9de8e4ce5a9674ecb1df1facd7c45f6b3e717ec8b6f451ba85dd59f61b4ad8a6d7e10385fdaa883b43c2baff7f381fd3b5e4177bd3a5c292f78d380fcf2e336a0a11589e57216fd760785588b2e404da412e97cacdd082df91ce76ed5f3b1fb31d6730a6a6f2509fe418b6b3fb186a4a3ec3887c6e3595ebdfd08c77124ac798f8cdec1cde91526e783c05b091822cfc7620499c74937700000000000000000000000000000000000000010000000000000000000009eae376b43d1fc4b4329553b637b48f6748917eb972c0b0333f60777de1ed262e9cee256053629733e5ca27a72bbac13b52ba94346afe1e593f7e54ffb0fb2b1a5b84166a6911990d726e4d3cd8cdb9ba3ddabdf9625955e5b2d2e36cb1f535435cbf609a157f6662949835eac5b48e500e880c26e76be5e463f27020f5643e7909a06eb0d64f92551d8c0175b72e2cf2f5ea41a74085fbe99dc11cfd750e814abf2dca0891e1d0cc0fabca3af7b80865d9eb7a1a3a91dde888d142b0cae9edafb99547b632a34d0cc39be5cad063e35959a4b8f9a7bde8448f6c3056f354468149ffda2ab011d80d20cf7b3881fc85fa1f9c36098f988c2468475ff6d6315ae1efbb3a016c347f16ef23332d7a1337ee9737a34b6c00a532aac2841cdefc232cd3fd5560a3023575de0188f12e6ed032a3890c2e9efddb38feb718b1be3b4bae0b58b8352b8920683b0c8625bf74f43f1876aa171b3a52e9cc6084eef85c2995433fa2db315cb02bc8e2acc6ccf3914c5a14f5c2bd0205f03aad5cf9b2260016e51aa47fa3c46b68565a0b942e81cc704acfd1e85cef0b3c7b65dd67f20db0f7aba188cfbe20198875845fb1da8d71fae14f9347c78bd76843fa565da7122a7e79d21492c2f57b1ea6b797c0711039ed5c14cf015aa8744577bd3b24fdaa3b0d6e000000000000000000000000000000000000000100000000000000000000eb3cb5aeb560f71cd0119982ac9c05ea1cd56e18303fa613bb50080985e2e1493127ffb5a2f5d89a6196d75e41aa5c8f638afab90a846022304f02d6fc9fe6ca5d05dcfd6e68828ca6a6e54807ae5b7c2a65019f5f79793be5fcba15eea4b6d8c6728976a0148b42876bdd5cf5a5567bcf1612f41d696ae24a9c4b98c01a6d2046b467b85ba3758a18ca59a62e7827bf6f564ccca4b0693781cc1b7f900c0927a602dadaf854c49072c1d28881a6c8b8864c565f29a2b6ecfc3c891ec350ee6394c5c37c0decc6edb4812b240ca1d4f7ab533f5260c509c3ad7d14bbe423c68bab0bc3a828bd65f6666d155a0939ddf5878bb2457401c2b9a9c4c29fb61d95d032050c0a2b64654ecaf997e1a3de3735f13247992e5543d89cfdb76f4b8a830ebece1100383071324a14ac7871d508565147651cc65e08c307f6795062a055ec20dfefb8885c86de2318562fab2c1d585b4974bc683f455d0ab5081e98d323ca4254062398aff5ff2516df1ebb3b1b062c2f218fc8b1564f5c9d6689d5c0fa6c200bd50ceeb5e5a0f651bcbf5ef563ded4e6616cc45f23b0554a823b2e4b603a45e2fa5a53007831919585504bca9a755463eac2f66a92620719dd88f24d9736e068b450040e56968fc18d0c6d1f14c64952fa87a658934f560b6b0b6efb819e27ae00000000000000000000000000000000000000010000000000000000000070f876627af3a7f440ff885abf6c22f9f6dc0e79a2aafd3d464ad5f125b20b16ce887758ddb9125d064bbeb46f248fbe240b01f802f1f300f30554916ce95ac2b6d618b84680e57747740c8df42d57431afbaa9ced465472c24d4e35bd2c09ffa312bf69f86adc4c430fa6dc9707b1bae2c6dc2259197b3f387ef5c5cfb385556754579bddfb0a827f07c1ce1ac42e24b4a7558dc653045e03f719b03dc47eb17206aed7def1e4fe9d7afdeebe0a486b848c0bb80d7065dbf29a52b4bfb31a235ad328ea6270987d9da456918274aaa2e39f31e4194d9edf1b3b3a7cac0c0f7252015819b7746c9f6fbbc8f8943acfd73701938bdd762872ff0ea5d6d508ab3b0e237d6b87efa6ab7b5c63c92da996d918a9f35a916c2a088f017a878605aa0bca21335af5c8ba03bbcbcb82833a3b1c0467786d8571d58abf96c09a25850e4af62daee8ec49855fe50792d600f8655b750652c65b886f46a8ec825081d4962a415b767f2a01f362af364b6d234d41fb4bfc33cd7860b401a6eafc69ba35dd6accfa6f6d82fc4b74d9979c64f7e8818283954093da61c3f4ec6246bdd346948eac6b5c136dc8a9701b7bc8bfbc439ddab32151818fca86824098bf326799c4a3ff5b3740cf85cdfd6c098a3455d35d7e5e88feddc9e8a30dd4b88407446a8d4fa41b0000000000000000000000000000000000000001000000000000000000004183b3a8558b3da815f38ae69a6e04b01d6744750595d90fb4fe6880207b609565e470ea128dcd3a5ca3962a7d160b52c189210ee07223506add86ee77a9acd047be607d2f1e2a627b9417283c520e0fe2864c8546d9fd372965a00547cbb1c770c7e4717bef15a9aefbcd0a23cc99c52121e99fb0af5525c99f376dae828b748393e7f11888400d982cf7d49a6286d0721b6c66be5c9febbc807905cb7c885efd016284b5ac3b1d3e5e7fc6c99ea2e83bdfee620b1aac28fc7dab054a269ca9019320d0a318e209f6dead1838502c3053ba3d528b2e4b8d3a3af0256986aede64c6402fe1989488cc28f8e2f5f8d9c7147288f202326feecd4be241e61b611f9507ea1cae7fdbf4bea46cb7f448c9081db5afa4642453825e77d33973d3a96b7268f323a429c6bbcb124b860afcf1a741c61745e33b1a0b845195a7420f451f5c4af96cab37b4c714fe574515b335965e273c97156361eb91627b247f9511051d0f4195b411ae452af48373cf01365ebc7acd4482c4d7c0d97819ef9b8ba27f734f83f47c596e31bcfdc6f146636f41fdea62411ce7f93ae99a46258ff09ec7ce8fe3921821020beaa56a4b67c7323b006e4c70f87f4ebad980400dcbb15ab601fa9bfaaa0c0b056ef0432276eeaea0447fe00e240694f5de0da71b84981b8183b4000000000000000000000000000000000000000100000000000000000000fd8fd65a4b53ccd29582579c3ad9c2db663078c8b95399b97c8c1e9f7aff00ba84215483a61f04fa7e0adbc498b1204bb7a8d206a497285fb3d9322047cfab914dca7fb74232c4c699d1f49185162299ebe7d1e87ce2156f505b1ef62fdc2c5c611856c13de4bef3661506fd984db7efb39381f338a3ed47c9a6d31046d1df169428d80adfbb2766c6cfcb7db6fcfe9017e491dc09f38702d2b2027f8a522560d27e199360eda74d0515c68e846d173a537fa568dc1267d3bdfc1f77d508b6f1fb12c5a26648b8c74b38327a317455f60655593eb6e331091e98d1d6c79634cc6da469620fc2704f2d611c78c3e2e4d6c41f9c833672ced40f6252a29f19a76764ed15b581e9b34bc067b7338d2369c1af260b8b400a5a67ecf41b72de6c30288e8359a6911fdc982c71db45ffe8359dccda34f8692f7b56016457f824ff697ab3fe15a5073fe670288a3b09ae3ebbdb514c62aed4d5c99c9c47e8cc0adf9ca8e61600e0a6817e8f7d004b03d351053af3de1f718f3fc47e387ddb62ebb70b6f231d12e345eb6305fea1c960ccdd144d4271a159cbe841ed88c415cc0d163a43b1256787c7ad52a367471af693677cee986380a78804ef8e7dc8e8eff46e5a47b2954237a3687d22e788c5f38114cd64e0ff8e5f3b921a9068a55cf5ef84a42b3868000000000000000000000000000000000000000100000000000000000000f281c7a9348ca056f332d80c893940a8a2c4b6eaf16218c89602214e8b92a6d6b3a09ccb3dff683c8cae630c28fd8f282a1217a9f182fab6d5639882dc1a9f2345b2e5dd881073e2a8b1fd644f1e5e97ee9eefcf5bd98680c70bf2708cb628669fc117c438d62fe41bb623e644e3b084ad4173499d38e32ebc71c29908f846fbebbc89589794c62912343f53cb2fd32c38c0f957ad9ae558ce7df6755494e95d408f27b28a4f9511fdb1e91a84f0177c4f86bf0c54ea2809229b8e6d62a80b2a14113c8c5ff5f4b33a4fa95a7b56450ed6f4bf78a6ffbc2f278d20e7408dbc12e978255406d0d90a36975e4a41af82219ff20be5e85d59b8fc7ad588635da615def280a7ff11762c0dd88f644da90c3ca6a404a9b549ae3ce30f88125db29833ef5276695364790cc8d64de080a80a4810311d4b46a7311eb329e0dc8493f63a1dab63b5bfc797df4d26a4c892403293721f4c76a055fb3093e1d3f471a266ca3680a484f7af52d9493b65dc3a32f26c6c52281ac1b644730fed35a6d96a093af312f581be3b18a635ecb128f2025f14f769b14f7402ea97b9edaf3985f890eb5c816628b380b5d34986e63fb05a4d395d8af75e5203b73f0adb55940ede119a6773748d00c4990d7679ecf52e79e1451f162200a1788618a080168c6b331df4bf91000000000000000000000000000000000000000100000000000000000000512bd3a4c0b634a4312b3edb0449bea4c7422de1d519d9ab2642f228737262b54485cca94e0adcf2738460cbd8541432201ecdecf6a658294168224666a05edb7fac3a6dfab88c8a47cc607ee9790801f9a0abfafc5c3fe90651491de7bf55f3a0fd614a186be223cbfe2d585a1d4b6779a26a7706e9643116cbbea7bddc7d6cb23873f0933b57ec38f893e2896b5b7ef9f0fe4092d5a1d30a75400f86839cdb7d257448788f1711edeaab5325d78476429b45e94b2028312f55f6281037d85fd47046a5af5e4a26bb107c55383460513a66e3283be818cdfc8d217ab660dceffdfda0449ff8a400c770eaabc772852de87551bc23245cc81c7c10ff386c03e37602c2180cf9ab94a54675276cbc2c4511628cf59eb244c894dddaf6c1c6fafbdd0d469424b742fc6d4f7bfffd6412885d4ec01498d5e6cf7177ae13a28269792d3504b2c1504fe034c633b4f0db7ae3b7b02d9c8b05cac932a55b8f451e5157341e9f8c31820b7b69b053b62d72bf1aba995ca9a1140177a51f538829bcd90f572927becb2f7af841ece4973f8afaef99168d7264c3d5951607d258bba4ed2135d959fed24fd7f3b9db6bb6290c8094ce40f156a060c109419fc852a3e90ade0bb957bc8374a6e56a265ec84a30b4702d19b1acd73e5a2986187cfd99cde4c028f3000000000000000000000000000000000000000100000000000000000000a235ca3b07f33b70c95f129e86a49ae30e197bca185c54865768633fa4198afa582f7717a8a40d6e3dfa1a171bdea1e7dc7dbbaa733dd53471e5308bad1b8486312a5cbfa3f7045d2795033ba5b4ecbc2893f8f691e77ed5337c3fb2efc81e13889e4bdf9c8c567d604ec1dbfb21c89417fd0447c351ad7039a167c395f74c9b77bde9d8a65a23eafb97864e8b1afae73096e7c5edb575c887b72371e5b5eb2fd9a67341c56406b23e89733290f9bdae74b9fb5625a9cf0adc2c68b8db25ccde0338f77512b8add8723ac2f767f48e0c9a9f7f939a7def96125718c4670fb501619701f55d8e95d7caadf29a082a96e9b1166cb1ab907240e339f2691bf320f0f724c0543f2f2100cbe6ab9adfb7d1937a99346c0cb89c9c5f1dd495217a9dacedb0d2ba593710ffbb6abd7da0afe28551f2f80979686f3bdc01195301c6dc3de75cb019f9542d5a65bdfb541c653c5fd04988469bfaf2548cded128faa869cd77d8513456626c506ecda823e592a3a2d5f77bf93e34d12c74d1e3bcd684f4c619a61139122a28c5c43d3612627e55d45b307b111db6db48c865016334173d7aca11fc3b5612cb770cd97e8e3af95b11d2223985ec8aa0c24c9762dc7468e2fb4db6568114ce09302fd22161e2254cc89ff89972efdc59003811c8db57e35b9ee742000000000000000000000000000000000000000100000000000000000000183e2a4d8ca77b2c4f8c6377b87b7a9703b432bc699809d376641f5bde3185a045a81dab80027894d9fa32bcedb4ef646fd2e68f67280403c3e75cabef7498adc96e8b39e51975eba23cc026f8e01a4cdd51dbc795694290a0edf868da419a575327e6979ac636e33a6096e047984565201ccf86ba4f3d711c7fc3a97efb0b1cfb46921c456a4ff14fcba58a31ef1d1b0da86bef72284a1098f9df35b82032dbe5a492b78e0626ff3cc3812f397026ff4e841995ce56032dcf4187cc0333203695ce054511461a8583c1f0021c8c71d3b01de2dc0083f0e375b0656977395d50d24641a6b2098fb38bf15935b90afd0429530fc898268166a1b6f1f151ded1d4048a96870bd67afcfa61b09416cc2ea033b6c6fb1e7d678a871abc93dae62c77025d3bcc58670b14825301f5ef68175eef0a655dc72ec62baaaa197dfacdaf54480f5f077a857d4631774e5f69f485d0605954ab074be04798974773da878159c1dac43e5dc97bde3525ab8df7a5ba13164a136dd4a676666c75142605542ebbccb59180c9592a38ae8d0b06e025a0543d4aa9505a17fd44086d8dedad05848b57ec19072a7841a704fdf91c97ce609aae7893817e984e7129d3e2f5508d041791ab05ad4130fba7713e697566b1b41c4d9935e18a1e75ebfacfc52d61a89e5fe4130000000000000000000000000000000000000001000000000000000000000809a5ecac7494d4891856f4ad381f3ccdbdb797022a226c75e16869d7d88619f962a7525bf46fa6c721b1cbe0809e418901096b386d453015df3eed8dd2d4d16a5c84117215650bb9ced7dbb8cb5de563a9f09e054a3057db325bd6cb7b402eb0a53cc0091f7f98ee06c5ba397f55fff09041d55c2e1dd088aadd7011e55327958395635c65f22c388a7e65f99e30f662df76cddb0f590f6927c5f4aea70070f57ffe8d5865f1c65768a187e0450a7c7de277dd53ddc46e1ee292a685c76b11e30813351ea252dddd0c932ea20946ed7ae157b173132dad3c0c6a09c70ce344e09043d4c01e85f1a4ed41c909831c7e057347bb3edc3cbc2d953a1c3bc4ecc3b699278df43bff3ad3f7c7100e54a2732c9d2941d80cd6fc10f453bb57af43b7ef2a9760037625b01e9b1f4ae69043601aec2932bdcf4bb32adeada18a8e9e47f85ef77c4c79c4b0eedee5177763601bfea6cfa0a9616a5ec03022cc4471fb8e1c92cff75f3528c4c5b1cd3d28292659d4b843d1538e327648c32069f7361e0c7ed1d3c8f6f209338998570cdd30d0219f9765b5569e8e862e5518e1d303ef3a19b1ede816e28362c3cf4199c8966852abc7ee6d0008bf9a29b82947ce97dbf2e77bdec820218842be5638ecaa3dd74aa8c4a01a19309254716df6aae6ce388308b2000000000000000000000000000000000000000100000000000000000000b2a62ad2ceb3be607a88afd37127cc143817e1134c414081e621fc9e47273a146863fe5370e621123663aaa4515e87bc755ade0596911e04ef887e0048badefdbe51f1aea0dfe6b8dfc99aa37c01e8660be2cf0e639b5dc14e2e8ca2e45ef85f587fe1e1cf2058c5f091925bac1d8f0bd86f32ec1464b55a64be3d4581913635388acfb3e21fda0af462805f7677afb22f35c750e3b290e2ccebac1fe821e3e40510b4808494583eebfca974bd64c5ffa07580fa07d6053621f2770389d18ae6a71ce92197023c44b5854f01dd13cefef0d964741bec65414a0172e78ef8596d57f4dc750c33b77592e17ad25c82f30c3ecef92e11c2e5650aede37dbbd59fd1a07b040258f406d1df369c388818f3a6a0435d12e31c1d189c1150653404380323472644c7a06d058e7b19c6d6d12be427646667a6c5b656882344af6466c3751ac5f34ebed016a7809810c648258012f2c7cb88af32e740522ee0070c710188b12523151395e8df2db5345e04626b5f1afa1e08f45d1faf5fe9dd8aec5eef1f65a8b92a793e8c6958594206ae24c403d63e7945ef1417420093376c33cfc43ab746352d3bb7c45eb57512dd0ef60b2da1ebfcca6a9c4e5da72913224b3f2253a920bb9680a48eac15894f782488a46d6fade39daede308f11e0508c365fa24d1cec0000000000000000000000000000000000000001000000000000000000006a39975f0bfef49c4d3c9b5622b106caadfe7f3ba490ffe244bb9cd083482249b8fa2e22ae235dea27efe0326e6b23a8f222d5a3212f8f6047ad708656466f0c7e5b7dd2692dbb03eb7013f3a0055a2f8d7dd16fd139cf028aed75f2ec1d7de0235a1a0959b4fae7a425b4bb8325998b911d6e706397c91abcd117e7d126bca7f888d66e0b9179b074644dabe9bd17cb0768060aceab27a7eafb8b85985dfd749979783c33468420ba2c55beeef9f65f3ce18a3362c45490257e48835a3501feb1d76aa8b27bc7240ee29e73ba8217c1fbfbc2e59ec5dd2d123938d402bc8af61914eb22e8a1f582a1be1cdc29e6d73fd32d027917f43aec37173a10a69dc1c2fc4fe56f98c084b4021912489aae618eeda0f6b132b68ea282f5ef38fdfcb4f221b3794ca839a7b8216d97647a116479ed4024a1c3d31095341447005b14b2cd417ad863fbdab1df5a7923d2d31a0fe4f969755b956c57788fddb1bc204827eaecc3f2e9f7d42d32e46cbe9925691546da7d7e00e053e0a183f3229213446f5a9876aa25d4f8ecb2eb289d641ff63b22eb91744e08092cf0c3d4d37acf4e28dc9aa1c7b72bcf3656b06218bd00066148e1f6544f4e94bea0dd72de29a8c156d33ddb0b81a2d27b7a05f5bd9189038420a2d1ad717d55dd8fe41284a51d522094823a000000000000000000000000000000000000000100000000000000000000e9f9e5131402a525a6180c6cebbda87ea51c3f71648f5c3b2f2cba02b9c24668c4728941a39f330bcba306070b44df0736b9f14f54a62d29b804809a40c7afae1af01e06c38b3bd8040498d80f6fd5ac86c05d45f66e76afb2dfebc70f440ecc18d4338d741097de9402470ba34bf224532ab4965fa481f4b3ae32bb2932e8ca428c5cc51e3373c5919f2768e452cc98a5506bb9a2e44d9900b8132d97f4b522e2b58820db70dfdeb985b890aae953586b283a570f3f98b7d762595265746bf5b13c35e7462c82a479005c35d472f0ffbeb0c2f4471ca8dc4e12a70df9cea3e1d332fa4d49c5b11b27169f423c04dfd6d50d5ac0b537980d9670c2b827453007424149252ebcc223b99445a2e8d0db6ffc65e668f9ff7707c3c902d78b5490dc18d85db6dd87088456f78b7020260f4ab80f0011b66a8231eff13c86bc12bd98581ac5c00c2954e410ab403dc895fc67da550d2b79c21fecad45720cb5fa0795798869da3f244cfd32fc98ec3ce05c01e27b1191c6cfe67555e3607f796b35cd8897ad158b7693b469ec1265b5540c50fbf29afb655e53eeb99fe81ea1ada824c3475d74e0b54c5ed5e681ece16850c86dbbbceba503df07b3ee403e88375a66a919843ee12d8f69721f731896a7850d1b22c2a6b458a54207b8c293c8b5122be2390000000000000000000000000000000000000001000000000000000000005e2d8240c5b89d5c6610e227374ebc6db4e600f20a13f9a421116a4ee190c2599532d14918efa78da1a72ef436d78e9954981a681efdb07c09d60e43b302a2334ce0abc19f191eb92a2d9e6f5e950f91f3d78fd42f91f9e243856d788adedb31280d3149c934a20d062c7a2c6d9f0e89c758ff5a382de5f02b6a298f94f54f3badc5dd4d8e9e2f8013ab2525c361571f65fe57d13995176fb2cd40b8a1f5795423b24d12acfb62551c4b0a6454d1b87318943eae55ac3b4f8664a6840c4d47d36f23ca91e3bfc0be45f4d28af697873272b47ebc0c9bff591c271b3fbbd9059a7105f70c56f283aed10232e7cdece1840bcd2820a047ef848cf6bdfc15aafb5a3b2bb78f38db2914472dec2b184ff2aceeb0b83ff456fb10b2959486275c04ecf525735d4efd270654865fa23557ef8cf26ad06d998b40bd784c626e89cb2332d3f41ff34c37297adbd2b2014f2b318c7d0ed5fa045dfabfaebac484f9e2b7059fe059aca48cd5db0666f58af24f9f6cde406cfa2d17dbf1c7754b4966ff708da18e684b250ce1783a30c9ff374b4d28a0d6eacd5d99e5fa7ea735fe36460e0a153f50e196ac909a0bc351162bd6f6462aa479c7b61c6b68e864eefa35c535ff9b4b1a86d55d067a4511ff1ffaf672de2a035d2c9d699adc1bdd1e29ffd53288ec410000000000000000000000000000000000000001000000000000000000000e19e22623fd1909ead6d6e4889b329b57810dc48ef88f1ac0439ead9d43ab83390495600fdf6b6981825847f91cd15dac9748eb292081231748c9365289750d272adfdea4d35c46a360b6ef6b356648df7592d245f70b65c5bec629d3865e49eab7b83fb239b0e6cde509000b8a75a28c0a2411af417fa82df1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000101000001de000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000101000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000101000001de000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000000101000001de000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000000101000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000000101000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"fd7b4876de270440de01b6b6b7b5dabd6680dc73ef2f4d070528fd48d3cdaa360722990dab517b00a6902dfce9ba06690dcc79ac1de41dc605f92068471bee6e99fe9f80f40813e2f0ab32a4eb2d27820f36646b201952614f5db530c6564d45bc3c2b14101b24d5b96b87d5cfa16200917630882cf277c63659867ca0b35571aca958bf2bb52272cec0566ceba2c4e5e58e6cc0870b8fabe74811ded4b5bca5b1d80151260a93234783954d2479dc624d6ac410ec5c0dc2a0c55196e2decde2c2af77a6ad3ee0798329591e66fbd811ec861e99855654917f1d55c923ad7895817ce5fb745594e8a49d61d5ae0d826cab1399d75c6880e39e008884e3baeb7b1df8960af44da35ec395b69141c8f9c50ee6daad3b040ad27605cb3d8dac98c3a0e4cea7bb4dcb910f5f93da9ced61a7997c62727c48b8367f2b8f8dd28576f09599c30c08b7fde5b098308eaf7e4f051c30716c8ada645fdde0b40e07fc52e5836c638a51a3df8ded6088d76585676bd54a7ad78e97ee392ef75fce1c4b596a717a7a0586953021cf1d56c805b9c4ceafe5185ad8513c759cfe1c28938ac70fafb7ee361902f8213a9c86efc992a51db9f5b06ebba0a71b5f5fb1cadfb14a10c636acc8662ad93d4773448a76e972a47ebf59428f29950a64f1beee5d36cc9eea0285bdf56d2be7667a05075ebc7e0f0a1cd62c31c0067b567a01d2a55facd5fd37fc2ebd5ba0389e08396a035f64e4aa698b8f242d88cc3e749b1807722d2883cf67ec1ba27ca624d6ddcb6db831154e2f49e7fb8bece86cee3b8ea0182d05202a0dd52b7b7b45e81b479e5f393ab42279d795b0a839e7395379fcaf7f8a962eaa93cce69568d40858e6bab58e80b7c449df3f041464354b4dc08f5b3b3bc28ac26b8e44be997ba20d20b9036f0e4ada177277642065867a9ba76f1205608888af6e60a9554328b217bd6f7cb464f584b7e257fbdb23d3173b15cc3fda1226bf823e7e25e792d6d2b1a16b650585c42391b243b36e18d3b46ef041fbc7e10ee90df80cc8d89d6dbc679f6af223e860d9a159ca499f1a667906c51bb86b734418e8d448ae3d1e534fb7c9225997a9da7307252d33593be46b7664221cbbaff2ba98da8a7ed9429c5a89814713112b1a9f1a9b144c37dd4287cc8282627ff964fd45eaa3c5366edab6265722d53520295d6b8d66730995cf724a070f7036f2cf70699840ca8d3a17db8ba8d726608cd578d5e243627b20a4697da720f68b2362697dd885dddaa05c2470f961b800cc169ff69863361d20492b368ad915fd715989c0f952b921a03b4a2a7d2e57d2c24d85258022722c19fc2c2007c39ab31f642520a597ffa4f8960ef167c33869f082404eed02ef4dcd1d5c130522beb2ad979e91e3bc4d83120ecb349ff4ef62a1cf2c3cf8f42b45c7d95d4fdc87f9d6caa4","shares":"0000000000000000000000000000000000000000000000000000000001010000040000000000fd7b4876de270440de01b6b6b7b5dabd6680dc73ef2f4d070528fd48d3cdaa360722990dab517b00a6902dfce9ba06690dcc79ac1de41dc605f92068471bee6e99fe9f80f40813e2f0ab32a4eb2d27820f36646b201952614f5db530c6564d45bc3c2b14101b24d5b96b87d5cfa16200917630882cf277c63659867ca0b35571aca958bf2bb52272cec0566ceba2c4e5e58e6cc0870b8fabe74811ded4b5bca5b1d80151260a93234783954d2479dc624d6ac410ec5c0dc2a0c55196e2decde2c2af77a6ad3ee0798329591e66fbd811ec861e99855654917f1d55c923ad7895817ce5fb745594e8a49d61d5ae0d826cab1399d75c6880e39e008884e3baeb7b1df8960af44da35ec395b69141c8f9c50ee6daad3b040ad27605cb3d8dac98c3a0e4cea7bb4dcb910f5f93da9ced61a7997c62727c48b8367f2b8f8dd28576f09599c30c08b7fde5b098308eaf7e4f051c30716c8ada645fdde0b40e07fc52e5836c638a51a3df8ded6088d76585676bd54a7ad78e97ee392ef75fce1c4b596a717a7a0586953021cf1d56c805b9c4ceafe5185ad8513c759cfe1c28938ac70fafb7ee361902f8213a9c86efc992a51db9f5b06ebba0a71b5f5fb1cadfb14a10c636acc8662ad93d4773448a76e972a47ebf59428f29950a64f100000000000000000000000000000000000000000000000000000000010000000000beee5d36cc9eea0285bdf56d2be7667a05075ebc7e0f0a1cd62c31c0067b567a01d2a55facd5fd37fc2ebd5ba0389e08396a035f64e4aa698b8f242d88cc3e749b1807722d2883cf67ec1ba27ca624d6ddcb6db831154e2f49e7fb8bece86cee3b8ea0182d05202a0dd52b7b7b45e81b479e5f393ab42279d795b0a839e7395379fcaf7f8a962eaa93cce69568d40858e6bab58e80b7c449df3f041464354b4dc08f5b3b3bc28ac26b8e44be997ba20d20b9036f0e4ada177277642065867a9ba76f1205608888af6e60a9554328b217bd6f7cb464f584b7e257fbdb23d3173b15cc3fda1226bf823e7e25e792d6d2b1a16b650585c42391b243b36e18d3b46ef041fbc7e10ee90df80cc8d89d6dbc679f6af223e860d9a159ca499f1a667906c51bb86b734418e8d448ae3d1e534fb7c9225997a9da7307252d33593be46b7664221cbbaff2ba98da8a7ed9429c5a89814713112b1a9f1a9b144c37dd4287cc8282627ff964fd45eaa3c5366edab6265722d53520295d6b8d66730995cf724a070f7036f2cf70699840ca8d3a17db8ba8d726608cd578d5e243627b20a4697da720f68b2362697dd885dddaa05c2470f961b800cc169ff69863361d20492b368ad915fd715989c0f952b921a03b4a2a7d2e57d2c24d85258022722c19fc000000000000000000000000000000000000000000000000000000000100000000002c2007c39ab31f642520a597ffa4f8960ef167c33869f082404eed02ef4dcd1d5c130522beb2ad979e91e3bc4d83120ecb349ff4ef62a1cf2c3cf8f42b45c7d95d4fdc87f9d6caa400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},{"namespace":"0000000000000000000000000000000000000000000000000000000001","data":"72f1d83b7c49fad589923ac918c90c7d2b7824be6f96e2e71c3dd1f7e8136e46f14443655b91d8472a2512696d3c8e7b7af4d8c5fae887d75bfb3fc65f63fd6d82a53b7025ed7dfd80063ac667222b971b60e1abfd186896a53f39ea2156cd051ada609bc6fb9822a9f93bd4583d851d454e1761b63228fa2337d7c3eb03b3011ca032f9fce59887291e61791074860235bbaaf8319cac7db96a7792230ec0f348f20c8726b8ceb37e7ae0bf6c410d21c0510abcbf3522760cd8badf7419fe5d0e2560207afb77d2a90c4db4a0b7219617999f4b8f01f1072a378efec0a691db1f878e8901e1f161b5d5862fcd868af44b51888dc61cb33a6c79af26392cef96b3ffe9dd53d4840fb1f05626fb62e3d4fcb9680bd3c424ce1430df0f5a81c9f731f1fde40ead490e63d52be2b51a38ef940f15fba00c1381502fd1fd8344f2dcdf2e7597825e21a8626380598f7967c18ae0917725a591c791522bd86d202fad161b17377b550dd67df6124285c94010280aeab94fc9fe1f70b26211eb3efabf5b3d0d7ac0d5665e23c13da9cc068249a4d7473a1ec4eb2af775f4a0ee9caa84c43683580ac5d968678d6def9adf835f113b5567ddbfc962ce258295e757fd363ab251258c47471fc2aaab18d3f9e9fe93070263268c7eabdffe607b2c37afd6e6765429defb1bd92cbe93213b8ceb61ca484a19a1754c6c6ac7b75ab3adadeb995d8c9a1fe22ae074220398798380c55d986f020effc65f8c913192e53e8d8997d4149a6bddc71fb0687a597c58f2129030a3f7f10b5d2bc4d284ce24dc4279aca59417c11a26b829cceb61e4937440e33deb75a397f6fb09320e423745af4df74538f4383e6a76b25257154bd33abf2cc69763ac3f37f3a1cc90750232d6287639b6f15a61d1795be0c278c3fecb57256d56e2de1497c71f0e5f50a9283df5b370f2d94d99daac579ae49f211a9254af7a0b4b1faff85c9acd69ddbf2694cf4f32c4cc59a5bf7d03ad7f8ccaef4d27ef7f60a4b351d5989af132062c28bfb313ac1d4fe35cd54400f84883183760d88cb9884926c27c6a83feaf50a68be96dab1f21f6387809281eca42926d2443c585d740c56be74e6d9110ee368280a3f16dfad7cf17fc4fb95e2a5fe39ba82326fd93541bce3f1702c2d4f5c34fe86d00215bda727f1d3f506026ff2aa48d455f0054b0c5fd37cccf7cf955c34be7084d197074fe000ee622b9a96cdbe262484e176e4e965a5191d4951eaa7a2a80f89b4266d59cb42bd729db4a3c88080fa11c1ee535b1721fd2d09e8afbbd04a60a4761e88e7d88a8f40e485905eba94fc7fb35c3b2c4ace76399a25ca815d15f1624a5c1324d499a0196f397cbffc0a9aa738ca74191a75e74d1460915860fb363f21f2b5a351b80913ef9c977e107967d9e3013706c2799e1527031642df897570ab61a3d6d4c01be5b59df53977fc6aa98976444155fd02904b5d5372cb3e2598a8306f320627c6f55c43eb3deb251bfe178b6f2b7c6dd9b969aef8edaf01910d2d06614bc7b8eaef177a09c2d7b4e09c458b9eb84c6273d94d7bfe04ba8e688d8e76de062602763a017c4b4b002b1424803e9b31b122c90bf478a243c154a5f610094b5157c4c005f7dd273b2b7d22bce9d9d3bc64552e67c6b76bd47fd3305b3cd48b29cd24cbdbf8fe45c52d97438e45257d070b54e8e9c9e96e63dd18116410b853c03e728c3bf8c282830a0a84f22f50cabc8476e8abe477445d8faf6a34078e7cb4e537a05abe732cb5feabe39e8c8f5db2705662eab3d3ae3597d857b674fb2757c158a60a1abdce2ddcc6a8f8f9c83a66439e26d65bb0275b754fca20c79789da4c61b8a6b0dbd085ad703b4c6a8a5e0da96206a93c24de421f01716a90d6db9d12356bdf191cdf4c4f8cc904f0a5d250cedd8f4064e2605aba9d866ae4b09a935b5379af52ad7178c5fbefbba0e6d9e29859be517dbfd9f68718a3da1758a971c55c992550e50e9aca6e528cbbb7c529a9bdd7cf75c3bdc20c427978d96eb1e4d6b3018c3f4b19dad4a40d05d66696ceb856bd9771040cc1a8000cfe7d4adde4312a202b435b6dd37205cb860a3d555b3ef982e4ecf0f724fafcff500757b14395befd1fafda053875eda717d95214b08d378950eeb6495d47c33a5afa134b5dca7eee02cf681f9700502596d5ab85fb188754d0ad9e9840b9c7c7f219bbda7b1752ac90486b708bcc05925a92b7f06f924dd2a26c97ddaa3912a14648dfd555287f3efebb8d03fd38aded0380c0899709ff03a25ed335a50af478ef0ac943be2c326136ee23af3cbe931d102a953dd84dadb4c71d2879a6acc0b2dc78da4dcb58449b994dbc2f799160aa655e9134c2af4ded28189a5538ffe583377314bdd75ad60f4906dbf3de979992b582504e8354af2937ad58d7defc684c2b49feff840ce14136500ba453e181a981584d3be19279bda48048f721e1ea03a7ae1028f7ec5df1e7335661c9a91ed645668bd6bc729197daf5120097d3e7ec3a11841e27de4da8eb8f3b22efd150b9d03798c6e59f37298158734ba8643b66d4adaf3cd64d1ee817d311bf52a2054cfb0583361e596c9c6eb106d795486ac9ddc5432d988a8435d7cfd4470eec0fa95858acfa077043ce1df6a231c8cbd716abc086cf60dbb6ca7366be04de8cc19b382b0489a682b88e4196eba587620fb8d84d83152cee859f921acf964052aacd2748d97a1869cfa1dba6b438ebc220aff8d47c7c0215beedf94be3d8fd9bf239f8f71e506b195e6a0dc7da67bd8da80f9b9a42f55f9a0ce76a844f92b3fe70825c0de67a11b63f9e2ad35176172e1d741793585bdfb23e5727f269a368c685918ca001a567d62a8c15708485a67241490b234a6655bb08791b356c9177e2300cb3cbb52c5ee015e0beceb54619a359a749489d3dc1ea4391a2a38516c5235709d1d9a82f973c91f780b40cbeea34b5101590c263c3eff02ba3223cd471a6d60b6185746d1b43ff7154fea47549412c15a855ed55bc52388507615a15458351bd44b67402e509d5ec637c27b948bec2f373abd762680ff15080352362a99cf6b975fd7b25fd9652a534a84535d41373033ba0c60f6d4808811b345dbe88d3efcd81f078dea0ed8acf04cf6fceba94b45b5270442127ae3e30f38fd10154402f2a67a986416845b13a1c0c080895744545bdf067a52f13d5056427882686cc219086fc030480845e91bb47d8760c6bee1c088b505f287a93029efcb562fd14f91d0cf2d87c588a354a1bc942f06450cde34a9e886b83e25743046b744bb6000c29ad21e97e27f717358d4d43339eec5c69b6238301449d21bc2aec20787c25a31acc703cd0292f296650f1c522888b7349c260b30849417a22b62b76a38cad5edcca942a86a3e457df5ab2836878b03722e2f1561abb92cf6365cf4b4825ca749189f8dd96bc2e4c60c5c312959bbbd2979c04b656a481455e37bf884c518165d485a430bf9780d0c59a2bc9503de0e7f5b8f314f41fc9377db5e430acae4cead99ae23abf917a7bf22b038f80be9b8b6c3d4a3c830f12ff3bc039ed8d2a167a4d3e35844928eae2b61835f80e4b97a9a366030cf4d951dba5511c402bcf2cf2d373ff073c2e9410b8516e65b0b4df97e75757c7dc98e09b870da2a98f3b84906e56b6732cd147ca89e46411d8886b4ee6989fd24359108b8bd262c4b49859b4d63680f1be31d12fd4713c9e40d29d3f197177e6b15be66df8b673eb7486c35514c05faf279852d95fead474ae67d8d2d5e52cb1b41186725c5fc195e6bcb324120daf3b18cba162f4e78d3831e6cdd1d432e4fab398a365b44517350766a512ec651a62c38a235ef5900c79bee7d3f107a948dbbbcc2e9d30088e97c96b5bb50bb582f06524df5f127ecde8e18b5dbc19cbb371ec500ce684ee6487d53f396fd64a0cbe9ae2f3bbb8039e6dd1e8d23195b69ab9afcd7d9eeecffa9b6b3ad6bfc95a644e32f94bc9809d0ee2e92a376b15f0326c4ce1f3b2f5827971a56acb890ba9d5c49d1749a27e6db8b33856987dd640192c293b62a4afdc84a36fb389c9a935cae3fb3223e7794f07e44d0f09f96ecd2f53e765ec93d6d5bd9a8b8b751afafbac854b6586fd58aecde77bafd88187ecb18b2a37b1e7a168cf6440d197c8f837c171612e0bbb1b889d8bcd017a045a646e17ebaf8198b5b46338fce985d32bbabedcb2aa98312d50ac90d3419a991a7ca3b25f1aef28ca447762bfcbe34e376cdf945f1412f4d5d7666a4eea65368fcf4c10c2cdb3ec4d91bdf10ba94de4b5d663648a4f6a2442cebce2514c75fedd397ce6b243aeefd309017a3b211013252533cea0cdd2d0ce4bf24e1cf3c866bf2cc464dac14ea3c0e3e59d79b16087e15e74b5c11dff12cd9f73cb344d010e962022ef2c4d9ec1c52b08d51892e0b769f01ab9639d714142a203e23a8e38d276ecfd90e4b8345ad877bcd0259f157fe2f40f0a30835df932d82079c5943d8833f26f0429299a3d7a1b3cc65c34081ba03948a200f00419cf33df3b992cf972fd97b2c507d1e5caec54fa70054b3ce3bfd01cd36e0b7ebf4c117e26ecbc610e76a0d8e2cecb606d92f2ee192f5ed5bd4d8b733cd14e1474ee85494aeb608134d757702c8f31dda66063c8d905550750210f8c54f5f49008899e041fb77d9bcd4779d49aefa2229651be42fb004bc43c146655f6cece3fe436e258e2f403e68dbe6e9b729ba10d5e660a095dc1fcc6a082c3928c659ced84319c9611ef6c9cb6215472b4d16659094266ac1fd84c526ea293bec9ab9f2f45cda1e1767586a258a4e53308d8fe5b9a26b9d5cf93214c0f3da91eda1b30f2dd3c980922abcb489836fe46270d09ff93d09445c9c73ae53905bbe54048f661bbcb7d3d86d8d47c0de416bfc481eea8d3400f4205512b9821b530105b9a0b2bbd9f83ccbc3df51bd75e5edf671c1c8d4654577afc7b8cbd2c56cd8ab99ad8cd03c0a551acf7b4b61cfd65de9bc06a317a379a416e2ca63daf4ec9c3c5aa3c336d197f45b1b74d9faf31ccf144470741450806ceb34559aa2aafc4975c55a2d1755fc61618398bb384423a2ce36f5ff53920f27b77984a34141a619027a4b80e7dc6e311ea0497a22f30e6c719b8b9863dda88fd36ff0d3b85ed8eb0b461325ed4012edcb40fac2055c76f9b366e3c7220166097aed9f4ff9a5c376c610f16183d67c9835aed02ec65aab2d2da465376468d529ced63415ad7c71f07e76824d5342c6c57498b4bf00ba2a08f95794aa3d9734fae44f5257bc21ec424a3b29f31f63e3b397b49f978923c79935848060dd57e07c0d1cc67ed74682e0e4cd406ae5fa6e9b04417fec2521663b68d44250c7034b8dda2c93ba951468f5028eec05a432c9196bebd426cd4d4e3710596ef748767951766476c7b081fa759d570335b8cb134e3a10eebfe3d3cc2d6fd4cc11ec42d0bf9b619ca3bc7c8e99f1a167a762d01c7681a332ca1c4da78db76aad54be199f6f4db9ac709dc2d789646b119c11c9ca5be828b8babe512c5675a5de3f7e38f539b8631ba3cfa22dc637b425e029da2291a83577470f2b7b6301ed3a5dd8411831655302809b4ad23f4b4d7d5a5f4a8b9188f6f144fe0e99086a380a524436217feadc5fb9e2a12f1700797f015b69499e766cf043ea1af6d611d0cfcd50a261ea0e57694561a800996cfd2ee62903e7b5ce3c17d01b0f47859f93f132203989306e764bbf436e80d4fc330517f56dd4015b88fcf388dbb61e168733e33239847c9f13e4996e7c2a7dac9a8d0875b4f71213a05477583be535520a84d2be0ebbc1301ad2ca2a8272d7052fcfda864efff0c73494f1f1fdb3a50d417deb6bfad744c5e43f519f55b52935d48191d1e7fb00810680eb4c7c88ae7f2e8e0c6322812f4ad41e4d2eb9ca6902cc669b70e3ec83f9745a1c0cda2e0f586cf63a7969ff41b02c150dc908a54fa9de691f20d114dfef56c7bac9dd54d83001642053d8d4d9d0eae8b1ec116b3369bf04f0336171e04f7fb17458b1614f334a199802f4bcb94a366940f3398003e0b0596ca08670cdc9b552dc039ae607c7a26d1222540bda9b96e236a1af072714f4cb2deadcf5de1b2562361ce20c98f2c689223fcb329a8032aaf532af6794f42c17ccb2fca8b999baca653f944b8345773d3bf3ba0b63e4cc7da1800f0b5138ef1783368693eb15c715da7cb8cb954e40f3d599808f161511280edbcb6ec5eae2938da78c4e33804b904bbe41a61d1dcd763bb0f2b2b676bcc4a526ec6c8373f2c24d3425f519314929134a835ea18bff4bfbcc47dfa95ac3346226d1bd25739479541424e636a22de24d2bb35e3a38c4d368e9903b9000ac281c1d6277ae775f47cf3fda812004aa753aa207439cfb62d2eec71ab1b4e3e8aa63f9f315ef657cd777d51a9a0beee335a42ce2ef3b873f2a562335625d4a1245ec15300cdd54a77df02dcaf6c9aa3dfe0f56f9a938fda3738cacbb6027de3133aa434f7e76c3843c4d513e708c61861650179478ed78ba978667420006b08fbd9d674a0e66766224ca6f8b5abec922b510d0416e139e083f94669b814e508b11c1b210ab7453cdff9406f1c24632027d6df5c83b56d9cebbeba6667b005829ec7957b75249e162f5b3445b718b664f7312a2a53fc647c1f86f492f93aa6d5860d68eed80bf168139d2c792f8799fb5fde964822a64f81f0cbdf19fea7035c196da6f7b8ad81b1ecbc31088ddacc267cebb944ec5a033e993bb1617f68d85200ab0f09900741caad981caa0ce56b6c28fcce782644cc3b8d7c5b8e6857c46f1b364d01975f4028f3ef9c8397c7da59c3b71d23b9f4e0d8bd07b4fcc7befc5073a15def918e169b1ed5c3c1afad3961cb0df8cddaaad4257737d7d63e68700dfd4e054d10526d437d6da405daecaa763983bfb13cf193aae54c94d88d9e3581e23743cc15f4a59da0376e9e11f3a09f4d637c1a8ed678f6a9cce69181898a21439bde8bf82e377d8e9f50ffbd9f5c30b3e21176bd3f81df2e7673db344cd9e9e895a0816883829ea05bfeaa17c5e3f747366e5c4964634b1881f2af702c56f10b1bb51040312902023ee3aec03744dd3738bfca6162d2f1a5d47e27bfc6c3d88df74dcce0ae324272f8bf71a2099abe5d80665ab17f23c3e7c1289679fef4990e915c7e827d6c446d47976e3d0f54c9cef9909c9f7c4fa3ac9a1be3792760a50206c19ad5459db7938a69c883ffb988a2c2bbecde0a95d736df68d7cd6be7ddca0568e72a57d6de048b4610b5f441cbb346384a4c4eabf6c5ccc61191800c3b8670c69571ee6b11fb53af56b50fce18481723a79c1610a5c3fbdce724d6e4cd5886b8305b238c233440c343f72847f82887df325a4508fb555ccc3a863d603234f24c560cd69878e5ded0e6fc10caf3c80593bd572f5582971c9e3f5ef5743d028ae9f33d3d1dc540a2fe6e10b9f9e1ed518cdd901edf5bf5b1fea6316771ddce2aa2cf5c15a507e8aaa531f997f53c211882312202829ebe1dc62474691df443bdb1c613591c0feff1135b645a2c9e58b54d07c5cc1533266ab651052a5845f44f687c5404dff8c0aa0e273627001497465acf11831b9d3f67f868c30e3542da6d74ce7064b1a138f6e820c4457b8251c4770f9b9a18c4ee46f01e6aefff2e14796ca0c1202c5645a3b4e5685fc53d75fef4a951daaea1236c96a6630b4e7997152cf99897760886659b3be18b0f338e3c96ab2ddc0b7f583026dacd624e08dce713cb5e54de8b4416661dc52e48f2a028d277b84fec4870013fb023d61636475cab0b72091f9c9ebc111a2b6afc1818a6ec2f7e5a9f67a852c9f3d28ef5d49b7b234ab41092f0377a82e6b5b68bb26ef253130a9e1efb01733d5563f86166d9dacdac900b2986b8435911c1d62425d42a03253608cd04675efcd7605f96eb853e288a796bd778db181add103babc40f774389c3f7560652f0f9007f8eb7400f038ca54afa57867f6dfdafdceb10dc4a99913f811c34e21c6a71eafd73dd34cd0a0e052db8b4e9cc8300bb9b751ab609e054cf27f8325411c824ce3057dc6162fe488277196de463c98b78dd64b6d0413737aa5eadf09753d981fe7a17510725ac42ed36a239f1a6ec3733e418557e1d7b51757540c5477bd583353126dc7fdb3a1c1e8981117389c53bfaf1322b2d4afa7c4594a134637adf646059ed5df31c51c043c264e91acfe8111d6ec082878968848633775a93ebb389d04ca93623de2fa8f102471c30bb3fa31f445ad1b5d0f495e96c5ad67aae1fe1098099b95a947d9a4a25936cb3e4af3d4acaddc64f5421b8313a4c183687782eda2910958a8fb12a4a38bf393a71c242d50dfeba4e771afbe4781d380f511ce525f6425956faec35f0024bc43f75c0ae819ef7b1d4a9c9de0d3ab40f1b299e2ed46184d7fdcf4c8ab3e7312422fea42f0b76872ee9fab7760c50379103fad33d4778d212daa5aa0c5704e2ff07be6a8bc2464ff95afb796498e879dace8f38a2773593a5830b83662d71140130d6fc277b42b6660c48fb372e98411409ca850134c715a3c67e7a272b8d9b34924734bc02afa42bcb967df5bdaa4371d9d8fd9b2e4bba101f8fd5f425b9fc280a87641eb71cee007eb4de71e3a3d0534a657cdc5ea9b6bd730195010fe2286e98957ea6adcd40a33d436b5dfa6378f9e2930dd2feeb3d72fb0ec47c55af1717792e96ca9f8e3c35614d1c69b6da2fed44ebeb63b81893a7c03524668fbaa66afcb4d56863261aab4190c556a74be6439669730d022ba3c8290b48a2d5336beaaa57275b2179e594d5d490eef18ddd88affd199a7dd4abfb3108d293f0070071742c5a1cb90a933465ebeb9fe0b0dcd1315de3d8246df4cafca025fda93a3e646632f78cce80f35e87c3a6a9ac32dc1afb2c500d2d05afdd515d15dae30d223f2ecda6137b09bc873f84822e308449093f15b38e6419c68ac37521074d9fb80ff56c069d95f3a33a50f5219f0a6a9404f31327582f049dbd5ecbdebe9c69f28e823fb73fb6ee5023a759775c28f3d34614769627d78fadc51fab2cc93c7283b7eb6d001911e7c792b843a09138c053ca48d916c2eaa798703f3259e810be1c8e2764dc6e680088ab234f3340ccab9492a1b585ca402da2e0ba4082551d8de4f696d7ba26266468ea2b139834a246e9690de55c041b37c2df49e9b165cff9b5506a4a21f3052e6fb1170af0bbbd3929ba86be41c4c7b30f2d7e1aab5f42c9376ef4446cac773abea2071c13973c93d3810f45a4b4e77f6fcb8a54f39acc46e98595988dc12b37ae1a8e74505a0f3e65c9691915d8da051defcb86b50ea0a9d1e4dbe19c5a9ca2d2f232e9bb17c01c77ddab271466e4bae5a75b72afa0f38e16ba71b1ca41fde775e11703e78181267d18033ae91f73705598ff9b944373bb9f79916d70e9809e0ec5191a647062da4591aa9a9f3a6a9f1d541e1716db8ea3e690aedfe7cb300af3b83b1320422fc8bf4255ed0b04dfcc870cf5718b2269860c428059c68991a6c602a91024884a67086466b6446ac4faddd1d838f3cf2621e1611c71099bd32a46053ae7695e3ae4974688f32af65dd71ba83a87578d68d435af76e1fd20f54019ab72a3304789995ace28c491d83b89e7c772f9ff2ea5f2f617a1e99a752309a8c285986a26b4cbc7a35cf962565635ae3c4042eb041a3eaadb97f6f6f157006e411420562fd84c09573f0eee2cd2f7198ff61a785ad598eb37917c0c034406b81db6d33a7a8eb52cdf51a0278cfd37ec254da2344ded5df1150eff8b40ea38b262b58e25d314c51e53171b1d94ac5c39cd7d7bcbd1068e0a3910517f4f07de8b1a8c82cbe84aa3d69e5e96ce027d093c85df868b4973f5896114e38b1f743d99bc9e15fab054451ab7eac035c17f649a2cf1e68a34d45f19a0621c32ca18ed9c487ba779378163d39e21f1f19bf65b317ec38ac03e5e472aa689ecd9d2b8dbb724b689301a3411934842333f587fd6d63621a8a59b1a1e3c972ad36eb271873e649d7193c25c3109d8696ad52cb6e8f833c9c25876a6cf4dd1c29e39b77757a2ea5250f911c9325cc178e89cc54a0bcc22409e5ba683634561e7f5c6c70483654f93cee87c467f9ef5e5b382f38dbef65cb27dbf42cb926dd3c61c026d189470f9402b5910933d766c102c98d10d5bdcc222ca62e73945f52dee463bdf79ee74e425f2cf58449dc7521bf478bbb0d86acc3d8fe0c0bd097ba6fa72442ffcd08672a5d71c1a6fe0a969340769521551d8f757f80d84994ba8400fe3932c394aaf619ff2852a0662d4a4bf6958bc47b3db65ddb5fd012010e9fd143e7ffc3a2fdd1bcfafb0279870bb0f8b472c9c161d8d38ec31a297893be87db60b70366605c944528179401eb848ec3709265bd2b010d5b407c7ca91b7c09da64d5d6511bf31f72ef5a2eda43048838d409488e4479c61ba9ae67a135fda5edbfe068054252619abab8b0019a09f18319288a77d6013f3deb0292b0319cb2501d6d8fd142b1c332f39c124736f9d69255e8b9db5012f637ccc175ce54f762b67cf8461a3c797d489c170627006fe7443564f4222a5a501874d91f48b29956c34be84445994f6a95e76717c892d485fa19144d254f52fbf3395371986d52825ed82308396c038a931c255fe02268a4bac3a4dd036bdf8acbb277c1e0d49e055bc6c631b2bc6f800d0f820d7d35893c8a01925052af7e577476565abcef7cf686d2006140563fea70eb23064c12e5963b3c56e54556e7fe906b132c11f91b2b89578148eb78c3a263f02db323383e1fe9a814f91b1f7c602c33312059df625e399e941de48f3291cfb049f1116a0d1c3a74a21ccb4358e48e92128e6b8dba7aba96b1a1c34bc45b2bb5550d82d79d7d15e239094a8a277e1787326c56e71f7e8019ba5516519db9f9fc9a4f41cf21b42268c77f751e49d06e7290a2222f21e14be4f11007039e04b574a5351f208b6b5042fe77cb6c86432f15c6f82f024180310b482789b7e73e9d34daff78a33a19caeb41014c64b17b1fd9e5829d6523ab7dd61764ea4ccb55de416dba46d8a6b084766abd5c96e3cd3a68cb4582bb1364ec907af4af24f4c4edc5caf73a62e3bee3387d587c76d18165b321dafb26bd6ca3d2909dc30ec077b67ff9a4a5b02ab08e9e9a128b5f02d91b7b0ad865a89c8c8e9db94a954deade4900f8433934947fded4f3ab64f3d0039d261552c32b4d80c794903ffff58aec9ee564a4fa0b27dc7a08cd4afd9b852b1754dba3b698e8fddd122b577c0a0885a11c619c3e10b17164888b18e8b0effcf5738e5454ef3e660b3434ce238b0a9163c06029a86ff69164c14fd30cb6870453f6f32e10fe4ac267ce82e7299990e3a8901bee62b8d5be3828f7d5a3538ba7f25ea00ed9ebe448740515a569242917bfce584c65326b812a1bfba25c957974548d2264868468a00f788e6d7e0be566a5959e4fa4d827cc6319fb4671a9ef20725454afc52a083c49a79f30d263204806ddfcd170b2db5bc9c0cfee0f755a7bb04f262d7610c68806a8a3587d16d615505ad771f87c770218095e8a4a2863a4159afdc57bae8892f8bcfb8d1641b97b796ce91e4bd5f8b64616308ed97a7a8fa365705f79f02057b13fb1567a5978ec28f25b0203055aeb07d12bff89191edf72899460980b8b3e393381a8ac47a8733730b135bef0e8856da2a3ba69b3fc7bcd0e8839f0592d362456cbe05930784e7406666f71dc236113c232f127117740c4a268e94a199acbab50bec874e4b598b9642d0885f9fb69c38cec922ede4ea39b2354865aae742a884aff199729a0ec0d5176b67d6747cf45b1ade29037ce81b319c87031dc065339c05bd7d98c48c052bc30a4c44152865992004803f7ee216a45795a698fd7d04ce5bdfbd80eefa3a109735498d6969fc900ba9f83e0212f7bde42e625c8c23251d5f7ee1ffa91518b37d52807bdfa1a2a51652a102f418ac6175940c66ce5b8788623c2e0a53db178f2d9e26ded856d29880b416020a099a29a6bea8b289e99886b0340c5ae854bc86cec74cc3c6c58e9d46f421f681b21995a01c497066edfb57af68a8bb572112987b974355cd52a1f2ee5f27e645fc382e2389d9c9aa9e169251fe603a37ccf876e6046d6414bcbabacad6e8860014c14858bb2cda7c71b52a695764721c5d06fa1bd554387cce1ce28780199b2d7e70e399be3ce33e02690f6ae1bdbdf005025372c9c8dd2de2a02c5c1bba3739c0d2a14ab88c36af4d00ce6da5beab3f8e4c10fc13bad9d0098816b8f3c6f68962a174e0932bf6febf8763a6a766ebfbdf427fbb9bbbf2fcb60d4fab9b7f363b896f46a230db33e132d8d267f31c8ff1c3cb9429865c7e42fd39a9cb0c20dc5889cea5eca095a406e6959821db87cd8b13a883307571ec90ee848d08c75539c310946cd35a858b5254a40226a953d8691708d84fe82a6fb2cf4896cc4f9e5fe359d8f68434e00fab66fae7e52f6c76b5a6213224eea083a7096dc3866d2476ba1033f7298be2b14cb29c7434fbf8e6075004129a0bfa80e5e88bd9c1af5a6efe2535b74ce07d14482013e16f54d01045b109f2f94d955e33608637282863f1bd631e405dbadc8db57f5f2d83678b13409cd4fedc47f11a5699f9c164118a592817af2277d67cd9f63789239f34b07edd790453d6f0e9acecad85da2fa9d688a1fe386181bc6989baa983c3ef5e3a8c9204110ebc57693ebe31c856301bea29fc0af80fd807fb337b269ac975f76b748aeba027073d99986c1c13493fd33f7676a96e48792bd576cfdfc38738da5c8f28dfa30a6e9adb448a5c7e5f7443b87a560b0db969dda1e9b6fd2d4fda29ef5ed5f53c3fbbcfda4d9a8afc74950bccf5f59c1f17684774b4f979913848b76df8dcdcdbbe079be2293da0b8f641f3df22d9b3a1559d5c37472e5e98bacb1deb2a92b8cdae4446454a05d2659804891ef780b76b166b609cf9a8350978645fd4149abfac1769e5aedbe7eb822d1ce16ec3eccdf4860e3f18b5a60c6fa6edc9b15094d27d156e23234ee9042b514c7f756342133a633ad494061e3e3852c82eb7c2be45b6a21f6a4ba6d2a8561656faa20337a9a3873ea424255021b1a8f5a6ae4c118e4e073a53b98b9a6e7dd3620bd4909feb0d04c282ba3d51f3a9b19d1d94331bf728e9d1aa7bfa020e6d2bc0634a7b085874226c3b230ca57293e3f4b862ef688fb356044a31996ef985fc564ac35c9b6ec29b2e4c2b80c6a89909959e55ffd0a793341d7157c23d40d214ecfeeb6e034394de950319f3118cdb3049a8e5670eef2c8ea4a7aa4fd0ba7df0d35ed7f46acf61c0c403a98cfe76d5705fbb83667ceaa2148520673e3a95be5afde8da91a9ea70aa198896dce9ea52879d8f7b67ad15e395b1d2856bc948f3b7fb17847628e45aacb1437fa70e61dffbf2d99874f4dcb3312314ccf0dfb5f4f8c5f9f30fc9131f01754056fca501342c9d14de103f505fb05efac47ff8abb39c8eb65222658ae7ca3c4103aef591015759872bfbc230c6eacdc6304ef5331a7652fda77c67f5e13fea049f0dd6d3c1b1055e64df50d9d2bbeeef44f2c8f75c1d90aa6bfe654695c9b098356df52c1ae49605676125fc80098794d655479f4466d8755e267a436ee4fe806cefabd03702e1fe72ce39241f76fa4bd2160ce380b30d5f0d9bafb83069d86cbfa93508459c686856590033022bd6bb6c8286f7b6fb564fe3555af8ab6aec258386de87c0f096a785ec583f4ac951474fb54e16a2119e07525e7629385d45d8fe76c2ab7b176c00a3e96f434b032a7a2491e5ff6b4ff8469d7171ed59516e56af610187193c87d06a85100cc8db154c27cb6eacc5781591779819fefd70248bd54ccf1a768364572f648b7387fdb349230cded491c507d8607b44da06d9871d1be5d7ae659574a77ed4e6d6f7e36831bc833965272f3bdc623788d4768420f8706e6366eca89a323c3945454cd5eb46c73ea9206ba6fa60c69d364868b66b238b74fd018dc529fa5a5725aa509c0abcaf8f5b01120ae810eb824e732755c410c62ed89e2730f336ccf7576b5fbdbcd9e3a2bbd6f9cd4202041c2f6a85be44058aaa48ddf2da3dafb6258a55c692e39e6742dd6d1125482ea5288a199f30d4c986e00031c81e445906fbe1d0cec3ff1289495cf1fd8b027c862194128d3562862d4e99d09b08f2d7d87caf9eae1783f7f92260799ed1576ec1fe9c2c20460751613a4a37c1f8af0f662956ed2b4f650c83396d5ee45f2055de539b837abaacbd13be445232911759c6e7ab4590caeaf19191713035eb2a807b43b8703395feaf98fe306ccde3888a45faef9bf060e2635e75d9ec42a8649516dd304ca3cc513457a95573c78ebf4b74cec1e8cedec8f735a6ce9c1","shares":"000000000000000000000000000000000000000000000000000000000101000028000000000072f1d83b7c49fad589923ac918c90c7d2b7824be6f96e2e71c3dd1f7e8136e46f14443655b91d8472a2512696d3c8e7b7af4d8c5fae887d75bfb3fc65f63fd6d82a53b7025ed7dfd80063ac667222b971b60e1abfd186896a53f39ea2156cd051ada609bc6fb9822a9f93bd4583d851d454e1761b63228fa2337d7c3eb03b3011ca032f9fce59887291e61791074860235bbaaf8319cac7db96a7792230ec0f348f20c8726b8ceb37e7ae0bf6c410d21c0510abcbf3522760cd8badf7419fe5d0e2560207afb77d2a90c4db4a0b7219617999f4b8f01f1072a378efec0a691db1f878e8901e1f161b5d5862fcd868af44b51888dc61cb33a6c79af26392cef96b3ffe9dd53d4840fb1f05626fb62e3d4fcb9680bd3c424ce1430df0f5a81c9f731f1fde40ead490e63d52be2b51a38ef940f15fba00c1381502fd1fd8344f2dcdf2e7597825e21a8626380598f7967c18ae0917725a591c791522bd86d202fad161b17377b550dd67df6124285c94010280aeab94fc9fe1f70b26211eb3efabf5b3d0d7ac0d5665e23c13da9cc068249a4d7473a1ec4eb2af775f4a0ee9caa84c43683580ac5d968678d6def9adf835f113b5567ddbfc962ce258295e757fd363ab251258c47471fc2aaab18d3f9e9fe93070263268c7eabdffe00000000000000000000000000000000000000000000000000000000010000000000607b2c37afd6e6765429defb1bd92cbe93213b8ceb61ca484a19a1754c6c6ac7b75ab3adadeb995d8c9a1fe22ae074220398798380c55d986f020effc65f8c913192e53e8d8997d4149a6bddc71fb0687a597c58f2129030a3f7f10b5d2bc4d284ce24dc4279aca59417c11a26b829cceb61e4937440e33deb75a397f6fb09320e423745af4df74538f4383e6a76b25257154bd33abf2cc69763ac3f37f3a1cc90750232d6287639b6f15a61d1795be0c278c3fecb57256d56e2de1497c71f0e5f50a9283df5b370f2d94d99daac579ae49f211a9254af7a0b4b1faff85c9acd69ddbf2694cf4f32c4cc59a5bf7d03ad7f8ccaef4d27ef7f60a4b351d5989af132062c28bfb313ac1d4fe35cd54400f84883183760d88cb9884926c27c6a83feaf50a68be96dab1f21f6387809281eca42926d2443c585d740c56be74e6d9110ee368280a3f16dfad7cf17fc4fb95e2a5fe39ba82326fd93541bce3f1702c2d4f5c34fe86d00215bda727f1d3f506026ff2aa48d455f0054b0c5fd37cccf7cf955c34be7084d197074fe000ee622b9a96cdbe262484e176e4e965a5191d4951eaa7a2a80f89b4266d59cb42bd729db4a3c88080fa11c1ee535b1721fd2d09e8afbbd04a60a4761e88e7d88a8f40e485905eba94fc7fb35c3b2c4ace7639900000000000000000000000000000000000000000000000000000000010000000000a25ca815d15f1624a5c1324d499a0196f397cbffc0a9aa738ca74191a75e74d1460915860fb363f21f2b5a351b80913ef9c977e107967d9e3013706c2799e1527031642df897570ab61a3d6d4c01be5b59df53977fc6aa98976444155fd02904b5d5372cb3e2598a8306f320627c6f55c43eb3deb251bfe178b6f2b7c6dd9b969aef8edaf01910d2d06614bc7b8eaef177a09c2d7b4e09c458b9eb84c6273d94d7bfe04ba8e688d8e76de062602763a017c4b4b002b1424803e9b31b122c90bf478a243c154a5f610094b5157c4c005f7dd273b2b7d22bce9d9d3bc64552e67c6b76bd47fd3305b3cd48b29cd24cbdbf8fe45c52d97438e45257d070b54e8e9c9e96e63dd18116410b853c03e728c3bf8c282830a0a84f22f50cabc8476e8abe477445d8faf6a34078e7cb4e537a05abe732cb5feabe39e8c8f5db2705662eab3d3ae3597d857b674fb2757c158a60a1abdce2ddcc6a8f8f9c83a66439e26d65bb0275b754fca20c79789da4c61b8a6b0dbd085ad703b4c6a8a5e0da96206a93c24de421f01716a90d6db9d12356bdf191cdf4c4f8cc904f0a5d250cedd8f4064e2605aba9d866ae4b09a935b5379af52ad7178c5fbefbba0e6d9e29859be517dbfd9f68718a3da1758a971c55c992550e50e9aca6e528cbbb7c529a9bdd000000000000000000000000000000000000000000000000000000000100000000007cf75c3bdc20c427978d96eb1e4d6b3018c3f4b19dad4a40d05d66696ceb856bd9771040cc1a8000cfe7d4adde4312a202b435b6dd37205cb860a3d555b3ef982e4ecf0f724fafcff500757b14395befd1fafda053875eda717d95214b08d378950eeb6495d47c33a5afa134b5dca7eee02cf681f9700502596d5ab85fb188754d0ad9e9840b9c7c7f219bbda7b1752ac90486b708bcc05925a92b7f06f924dd2a26c97ddaa3912a14648dfd555287f3efebb8d03fd38aded0380c0899709ff03a25ed335a50af478ef0ac943be2c326136ee23af3cbe931d102a953dd84dadb4c71d2879a6acc0b2dc78da4dcb58449b994dbc2f799160aa655e9134c2af4ded28189a5538ffe583377314bdd75ad60f4906dbf3de979992b582504e8354af2937ad58d7defc684c2b49feff840ce14136500ba453e181a981584d3be19279bda48048f721e1ea03a7ae1028f7ec5df1e7335661c9a91ed645668bd6bc729197daf5120097d3e7ec3a11841e27de4da8eb8f3b22efd150b9d03798c6e59f37298158734ba8643b66d4adaf3cd64d1ee817d311bf52a2054cfb0583361e596c9c6eb106d795486ac9ddc5432d988a8435d7cfd4470eec0fa95858acfa077043ce1df6a231c8cbd716abc086cf60dbb6ca7366be04de8cc19b382b0489a68000000000000000000000000000000000000000000000000000000000100000000002b88e4196eba587620fb8d84d83152cee859f921acf964052aacd2748d97a1869cfa1dba6b438ebc220aff8d47c7c0215beedf94be3d8fd9bf239f8f71e506b195e6a0dc7da67bd8da80f9b9a42f55f9a0ce76a844f92b3fe70825c0de67a11b63f9e2ad35176172e1d741793585bdfb23e5727f269a368c685918ca001a567d62a8c15708485a67241490b234a6655bb08791b356c9177e2300cb3cbb52c5ee015e0beceb54619a359a749489d3dc1ea4391a2a38516c5235709d1d9a82f973c91f780b40cbeea34b5101590c263c3eff02ba3223cd471a6d60b6185746d1b43ff7154fea47549412c15a855ed55bc52388507615a15458351bd44b67402e509d5ec637c27b948bec2f373abd762680ff15080352362a99cf6b975fd7b25fd9652a534a84535d41373033ba0c60f6d4808811b345dbe88d3efcd81f078dea0ed8acf04cf6fceba94b45b5270442127ae3e30f38fd10154402f2a67a986416845b13a1c0c080895744545bdf067a52f13d5056427882686cc219086fc030480845e91bb47d8760c6bee1c088b505f287a93029efcb562fd14f91d0cf2d87c588a354a1bc942f06450cde34a9e886b83e25743046b744bb6000c29ad21e97e27f717358d4d43339eec5c69b6238301449d21bc2aec20787c25a31acc703cd000000000000000000000000000000000000000000000000000000000100000000000292f296650f1c522888b7349c260b30849417a22b62b76a38cad5edcca942a86a3e457df5ab2836878b03722e2f1561abb92cf6365cf4b4825ca749189f8dd96bc2e4c60c5c312959bbbd2979c04b656a481455e37bf884c518165d485a430bf9780d0c59a2bc9503de0e7f5b8f314f41fc9377db5e430acae4cead99ae23abf917a7bf22b038f80be9b8b6c3d4a3c830f12ff3bc039ed8d2a167a4d3e35844928eae2b61835f80e4b97a9a366030cf4d951dba5511c402bcf2cf2d373ff073c2e9410b8516e65b0b4df97e75757c7dc98e09b870da2a98f3b84906e56b6732cd147ca89e46411d8886b4ee6989fd24359108b8bd262c4b49859b4d63680f1be31d12fd4713c9e40d29d3f197177e6b15be66df8b673eb7486c35514c05faf279852d95fead474ae67d8d2d5e52cb1b41186725c5fc195e6bcb324120daf3b18cba162f4e78d3831e6cdd1d432e4fab398a365b44517350766a512ec651a62c38a235ef5900c79bee7d3f107a948dbbbcc2e9d30088e97c96b5bb50bb582f06524df5f127ecde8e18b5dbc19cbb371ec500ce684ee6487d53f396fd64a0cbe9ae2f3bbb8039e6dd1e8d23195b69ab9afcd7d9eeecffa9b6b3ad6bfc95a644e32f94bc9809d0ee2e92a376b15f0326c4ce1f3b2f5827971a56acb890ba9d000000000000000000000000000000000000000000000000000000000100000000005c49d1749a27e6db8b33856987dd640192c293b62a4afdc84a36fb389c9a935cae3fb3223e7794f07e44d0f09f96ecd2f53e765ec93d6d5bd9a8b8b751afafbac854b6586fd58aecde77bafd88187ecb18b2a37b1e7a168cf6440d197c8f837c171612e0bbb1b889d8bcd017a045a646e17ebaf8198b5b46338fce985d32bbabedcb2aa98312d50ac90d3419a991a7ca3b25f1aef28ca447762bfcbe34e376cdf945f1412f4d5d7666a4eea65368fcf4c10c2cdb3ec4d91bdf10ba94de4b5d663648a4f6a2442cebce2514c75fedd397ce6b243aeefd309017a3b211013252533cea0cdd2d0ce4bf24e1cf3c866bf2cc464dac14ea3c0e3e59d79b16087e15e74b5c11dff12cd9f73cb344d010e962022ef2c4d9ec1c52b08d51892e0b769f01ab9639d714142a203e23a8e38d276ecfd90e4b8345ad877bcd0259f157fe2f40f0a30835df932d82079c5943d8833f26f0429299a3d7a1b3cc65c34081ba03948a200f00419cf33df3b992cf972fd97b2c507d1e5caec54fa70054b3ce3bfd01cd36e0b7ebf4c117e26ecbc610e76a0d8e2cecb606d92f2ee192f5ed5bd4d8b733cd14e1474ee85494aeb608134d757702c8f31dda66063c8d905550750210f8c54f5f49008899e041fb77d9bcd4779d49aefa2229651be42fb004bc43c10000000000000000000000000000000000000000000000000000000001000000000046655f6cece3fe436e258e2f403e68dbe6e9b729ba10d5e660a095dc1fcc6a082c3928c659ced84319c9611ef6c9cb6215472b4d16659094266ac1fd84c526ea293bec9ab9f2f45cda1e1767586a258a4e53308d8fe5b9a26b9d5cf93214c0f3da91eda1b30f2dd3c980922abcb489836fe46270d09ff93d09445c9c73ae53905bbe54048f661bbcb7d3d86d8d47c0de416bfc481eea8d3400f4205512b9821b530105b9a0b2bbd9f83ccbc3df51bd75e5edf671c1c8d4654577afc7b8cbd2c56cd8ab99ad8cd03c0a551acf7b4b61cfd65de9bc06a317a379a416e2ca63daf4ec9c3c5aa3c336d197f45b1b74d9faf31ccf144470741450806ceb34559aa2aafc4975c55a2d1755fc61618398bb384423a2ce36f5ff53920f27b77984a34141a619027a4b80e7dc6e311ea0497a22f30e6c719b8b9863dda88fd36ff0d3b85ed8eb0b461325ed4012edcb40fac2055c76f9b366e3c7220166097aed9f4ff9a5c376c610f16183d67c9835aed02ec65aab2d2da465376468d529ced63415ad7c71f07e76824d5342c6c57498b4bf00ba2a08f95794aa3d9734fae44f5257bc21ec424a3b29f31f63e3b397b49f978923c79935848060dd57e07c0d1cc67ed74682e0e4cd406ae5fa6e9b04417fec2521663b68d44250c7034b8dda2c93ba00000000000000000000000000000000000000000000000000000000010000000000951468f5028eec05a432c9196bebd426cd4d4e3710596ef748767951766476c7b081fa759d570335b8cb134e3a10eebfe3d3cc2d6fd4cc11ec42d0bf9b619ca3bc7c8e99f1a167a762d01c7681a332ca1c4da78db76aad54be199f6f4db9ac709dc2d789646b119c11c9ca5be828b8babe512c5675a5de3f7e38f539b8631ba3cfa22dc637b425e029da2291a83577470f2b7b6301ed3a5dd8411831655302809b4ad23f4b4d7d5a5f4a8b9188f6f144fe0e99086a380a524436217feadc5fb9e2a12f1700797f015b69499e766cf043ea1af6d611d0cfcd50a261ea0e57694561a800996cfd2ee62903e7b5ce3c17d01b0f47859f93f132203989306e764bbf436e80d4fc330517f56dd4015b88fcf388dbb61e168733e33239847c9f13e4996e7c2a7dac9a8d0875b4f71213a05477583be535520a84d2be0ebbc1301ad2ca2a8272d7052fcfda864efff0c73494f1f1fdb3a50d417deb6bfad744c5e43f519f55b52935d48191d1e7fb00810680eb4c7c88ae7f2e8e0c6322812f4ad41e4d2eb9ca6902cc669b70e3ec83f9745a1c0cda2e0f586cf63a7969ff41b02c150dc908a54fa9de691f20d114dfef56c7bac9dd54d83001642053d8d4d9d0eae8b1ec116b3369bf04f0336171e04f7fb17458b1614f334a199802f4bcb94a36000000000000000000000000000000000000000000000000000000000100000000006940f3398003e0b0596ca08670cdc9b552dc039ae607c7a26d1222540bda9b96e236a1af072714f4cb2deadcf5de1b2562361ce20c98f2c689223fcb329a8032aaf532af6794f42c17ccb2fca8b999baca653f944b8345773d3bf3ba0b63e4cc7da1800f0b5138ef1783368693eb15c715da7cb8cb954e40f3d599808f161511280edbcb6ec5eae2938da78c4e33804b904bbe41a61d1dcd763bb0f2b2b676bcc4a526ec6c8373f2c24d3425f519314929134a835ea18bff4bfbcc47dfa95ac3346226d1bd25739479541424e636a22de24d2bb35e3a38c4d368e9903b9000ac281c1d6277ae775f47cf3fda812004aa753aa207439cfb62d2eec71ab1b4e3e8aa63f9f315ef657cd777d51a9a0beee335a42ce2ef3b873f2a562335625d4a1245ec15300cdd54a77df02dcaf6c9aa3dfe0f56f9a938fda3738cacbb6027de3133aa434f7e76c3843c4d513e708c61861650179478ed78ba978667420006b08fbd9d674a0e66766224ca6f8b5abec922b510d0416e139e083f94669b814e508b11c1b210ab7453cdff9406f1c24632027d6df5c83b56d9cebbeba6667b005829ec7957b75249e162f5b3445b718b664f7312a2a53fc647c1f86f492f93aa6d5860d68eed80bf168139d2c792f8799fb5fde964822a64f81f0cbdf19fea700000000000000000000000000000000000000000000000000000000001000000000035c196da6f7b8ad81b1ecbc31088ddacc267cebb944ec5a033e993bb1617f68d85200ab0f09900741caad981caa0ce56b6c28fcce782644cc3b8d7c5b8e6857c46f1b364d01975f4028f3ef9c8397c7da59c3b71d23b9f4e0d8bd07b4fcc7befc5073a15def918e169b1ed5c3c1afad3961cb0df8cddaaad4257737d7d63e68700dfd4e054d10526d437d6da405daecaa763983bfb13cf193aae54c94d88d9e3581e23743cc15f4a59da0376e9e11f3a09f4d637c1a8ed678f6a9cce69181898a21439bde8bf82e377d8e9f50ffbd9f5c30b3e21176bd3f81df2e7673db344cd9e9e895a0816883829ea05bfeaa17c5e3f747366e5c4964634b1881f2af702c56f10b1bb51040312902023ee3aec03744dd3738bfca6162d2f1a5d47e27bfc6c3d88df74dcce0ae324272f8bf71a2099abe5d80665ab17f23c3e7c1289679fef4990e915c7e827d6c446d47976e3d0f54c9cef9909c9f7c4fa3ac9a1be3792760a50206c19ad5459db7938a69c883ffb988a2c2bbecde0a95d736df68d7cd6be7ddca0568e72a57d6de048b4610b5f441cbb346384a4c4eabf6c5ccc61191800c3b8670c69571ee6b11fb53af56b50fce18481723a79c1610a5c3fbdce724d6e4cd5886b8305b238c233440c343f72847f82887df325a4508fb555ccc3a80000000000000000000000000000000000000000000000000000000001000000000063d603234f24c560cd69878e5ded0e6fc10caf3c80593bd572f5582971c9e3f5ef5743d028ae9f33d3d1dc540a2fe6e10b9f9e1ed518cdd901edf5bf5b1fea6316771ddce2aa2cf5c15a507e8aaa531f997f53c211882312202829ebe1dc62474691df443bdb1c613591c0feff1135b645a2c9e58b54d07c5cc1533266ab651052a5845f44f687c5404dff8c0aa0e273627001497465acf11831b9d3f67f868c30e3542da6d74ce7064b1a138f6e820c4457b8251c4770f9b9a18c4ee46f01e6aefff2e14796ca0c1202c5645a3b4e5685fc53d75fef4a951daaea1236c96a6630b4e7997152cf99897760886659b3be18b0f338e3c96ab2ddc0b7f583026dacd624e08dce713cb5e54de8b4416661dc52e48f2a028d277b84fec4870013fb023d61636475cab0b72091f9c9ebc111a2b6afc1818a6ec2f7e5a9f67a852c9f3d28ef5d49b7b234ab41092f0377a82e6b5b68bb26ef253130a9e1efb01733d5563f86166d9dacdac900b2986b8435911c1d62425d42a03253608cd04675efcd7605f96eb853e288a796bd778db181add103babc40f774389c3f7560652f0f9007f8eb7400f038ca54afa57867f6dfdafdceb10dc4a99913f811c34e21c6a71eafd73dd34cd0a0e052db8b4e9cc8300bb9b751ab609e054cf27f8325411c82000000000000000000000000000000000000000000000000000000000100000000004ce3057dc6162fe488277196de463c98b78dd64b6d0413737aa5eadf09753d981fe7a17510725ac42ed36a239f1a6ec3733e418557e1d7b51757540c5477bd583353126dc7fdb3a1c1e8981117389c53bfaf1322b2d4afa7c4594a134637adf646059ed5df31c51c043c264e91acfe8111d6ec082878968848633775a93ebb389d04ca93623de2fa8f102471c30bb3fa31f445ad1b5d0f495e96c5ad67aae1fe1098099b95a947d9a4a25936cb3e4af3d4acaddc64f5421b8313a4c183687782eda2910958a8fb12a4a38bf393a71c242d50dfeba4e771afbe4781d380f511ce525f6425956faec35f0024bc43f75c0ae819ef7b1d4a9c9de0d3ab40f1b299e2ed46184d7fdcf4c8ab3e7312422fea42f0b76872ee9fab7760c50379103fad33d4778d212daa5aa0c5704e2ff07be6a8bc2464ff95afb796498e879dace8f38a2773593a5830b83662d71140130d6fc277b42b6660c48fb372e98411409ca850134c715a3c67e7a272b8d9b34924734bc02afa42bcb967df5bdaa4371d9d8fd9b2e4bba101f8fd5f425b9fc280a87641eb71cee007eb4de71e3a3d0534a657cdc5ea9b6bd730195010fe2286e98957ea6adcd40a33d436b5dfa6378f9e2930dd2feeb3d72fb0ec47c55af1717792e96ca9f8e3c35614d1c69b6da2fed44e00000000000000000000000000000000000000000000000000000000010000000000beb63b81893a7c03524668fbaa66afcb4d56863261aab4190c556a74be6439669730d022ba3c8290b48a2d5336beaaa57275b2179e594d5d490eef18ddd88affd199a7dd4abfb3108d293f0070071742c5a1cb90a933465ebeb9fe0b0dcd1315de3d8246df4cafca025fda93a3e646632f78cce80f35e87c3a6a9ac32dc1afb2c500d2d05afdd515d15dae30d223f2ecda6137b09bc873f84822e308449093f15b38e6419c68ac37521074d9fb80ff56c069d95f3a33a50f5219f0a6a9404f31327582f049dbd5ecbdebe9c69f28e823fb73fb6ee5023a759775c28f3d34614769627d78fadc51fab2cc93c7283b7eb6d001911e7c792b843a09138c053ca48d916c2eaa798703f3259e810be1c8e2764dc6e680088ab234f3340ccab9492a1b585ca402da2e0ba4082551d8de4f696d7ba26266468ea2b139834a246e9690de55c041b37c2df49e9b165cff9b5506a4a21f3052e6fb1170af0bbbd3929ba86be41c4c7b30f2d7e1aab5f42c9376ef4446cac773abea2071c13973c93d3810f45a4b4e77f6fcb8a54f39acc46e98595988dc12b37ae1a8e74505a0f3e65c9691915d8da051defcb86b50ea0a9d1e4dbe19c5a9ca2d2f232e9bb17c01c77ddab271466e4bae5a75b72afa0f38e16ba71b1ca41fde775e11703e78181267d1000000000000000000000000000000000000000000000000000000000100000000008033ae91f73705598ff9b944373bb9f79916d70e9809e0ec5191a647062da4591aa9a9f3a6a9f1d541e1716db8ea3e690aedfe7cb300af3b83b1320422fc8bf4255ed0b04dfcc870cf5718b2269860c428059c68991a6c602a91024884a67086466b6446ac4faddd1d838f3cf2621e1611c71099bd32a46053ae7695e3ae4974688f32af65dd71ba83a87578d68d435af76e1fd20f54019ab72a3304789995ace28c491d83b89e7c772f9ff2ea5f2f617a1e99a752309a8c285986a26b4cbc7a35cf962565635ae3c4042eb041a3eaadb97f6f6f157006e411420562fd84c09573f0eee2cd2f7198ff61a785ad598eb37917c0c034406b81db6d33a7a8eb52cdf51a0278cfd37ec254da2344ded5df1150eff8b40ea38b262b58e25d314c51e53171b1d94ac5c39cd7d7bcbd1068e0a3910517f4f07de8b1a8c82cbe84aa3d69e5e96ce027d093c85df868b4973f5896114e38b1f743d99bc9e15fab054451ab7eac035c17f649a2cf1e68a34d45f19a0621c32ca18ed9c487ba779378163d39e21f1f19bf65b317ec38ac03e5e472aa689ecd9d2b8dbb724b689301a3411934842333f587fd6d63621a8a59b1a1e3c972ad36eb271873e649d7193c25c3109d8696ad52cb6e8f833c9c25876a6cf4dd1c29e39b77757a2ea5250f911c930000000000000000000000000000000000000000000000000000000001000000000025cc178e89cc54a0bcc22409e5ba683634561e7f5c6c70483654f93cee87c467f9ef5e5b382f38dbef65cb27dbf42cb926dd3c61c026d189470f9402b5910933d766c102c98d10d5bdcc222ca62e73945f52dee463bdf79ee74e425f2cf58449dc7521bf478bbb0d86acc3d8fe0c0bd097ba6fa72442ffcd08672a5d71c1a6fe0a969340769521551d8f757f80d84994ba8400fe3932c394aaf619ff2852a0662d4a4bf6958bc47b3db65ddb5fd012010e9fd143e7ffc3a2fdd1bcfafb0279870bb0f8b472c9c161d8d38ec31a297893be87db60b70366605c944528179401eb848ec3709265bd2b010d5b407c7ca91b7c09da64d5d6511bf31f72ef5a2eda43048838d409488e4479c61ba9ae67a135fda5edbfe068054252619abab8b0019a09f18319288a77d6013f3deb0292b0319cb2501d6d8fd142b1c332f39c124736f9d69255e8b9db5012f637ccc175ce54f762b67cf8461a3c797d489c170627006fe7443564f4222a5a501874d91f48b29956c34be84445994f6a95e76717c892d485fa19144d254f52fbf3395371986d52825ed82308396c038a931c255fe02268a4bac3a4dd036bdf8acbb277c1e0d49e055bc6c631b2bc6f800d0f820d7d35893c8a01925052af7e577476565abcef7cf686d2006140563fea70eb2306000000000000000000000000000000000000000000000000000000000100000000004c12e5963b3c56e54556e7fe906b132c11f91b2b89578148eb78c3a263f02db323383e1fe9a814f91b1f7c602c33312059df625e399e941de48f3291cfb049f1116a0d1c3a74a21ccb4358e48e92128e6b8dba7aba96b1a1c34bc45b2bb5550d82d79d7d15e239094a8a277e1787326c56e71f7e8019ba5516519db9f9fc9a4f41cf21b42268c77f751e49d06e7290a2222f21e14be4f11007039e04b574a5351f208b6b5042fe77cb6c86432f15c6f82f024180310b482789b7e73e9d34daff78a33a19caeb41014c64b17b1fd9e5829d6523ab7dd61764ea4ccb55de416dba46d8a6b084766abd5c96e3cd3a68cb4582bb1364ec907af4af24f4c4edc5caf73a62e3bee3387d587c76d18165b321dafb26bd6ca3d2909dc30ec077b67ff9a4a5b02ab08e9e9a128b5f02d91b7b0ad865a89c8c8e9db94a954deade4900f8433934947fded4f3ab64f3d0039d261552c32b4d80c794903ffff58aec9ee564a4fa0b27dc7a08cd4afd9b852b1754dba3b698e8fddd122b577c0a0885a11c619c3e10b17164888b18e8b0effcf5738e5454ef3e660b3434ce238b0a9163c06029a86ff69164c14fd30cb6870453f6f32e10fe4ac267ce82e7299990e3a8901bee62b8d5be3828f7d5a3538ba7f25ea00ed9ebe448740515a569242917bfce00000000000000000000000000000000000000000000000000000000010000000000584c65326b812a1bfba25c957974548d2264868468a00f788e6d7e0be566a5959e4fa4d827cc6319fb4671a9ef20725454afc52a083c49a79f30d263204806ddfcd170b2db5bc9c0cfee0f755a7bb04f262d7610c68806a8a3587d16d615505ad771f87c770218095e8a4a2863a4159afdc57bae8892f8bcfb8d1641b97b796ce91e4bd5f8b64616308ed97a7a8fa365705f79f02057b13fb1567a5978ec28f25b0203055aeb07d12bff89191edf72899460980b8b3e393381a8ac47a8733730b135bef0e8856da2a3ba69b3fc7bcd0e8839f0592d362456cbe05930784e7406666f71dc236113c232f127117740c4a268e94a199acbab50bec874e4b598b9642d0885f9fb69c38cec922ede4ea39b2354865aae742a884aff199729a0ec0d5176b67d6747cf45b1ade29037ce81b319c87031dc065339c05bd7d98c48c052bc30a4c44152865992004803f7ee216a45795a698fd7d04ce5bdfbd80eefa3a109735498d6969fc900ba9f83e0212f7bde42e625c8c23251d5f7ee1ffa91518b37d52807bdfa1a2a51652a102f418ac6175940c66ce5b8788623c2e0a53db178f2d9e26ded856d29880b416020a099a29a6bea8b289e99886b0340c5ae854bc86cec74cc3c6c58e9d46f421f681b21995a01c497066edfb57af68a8bb57211000000000000000000000000000000000000000000000000000000000100000000002987b974355cd52a1f2ee5f27e645fc382e2389d9c9aa9e169251fe603a37ccf876e6046d6414bcbabacad6e8860014c14858bb2cda7c71b52a695764721c5d06fa1bd554387cce1ce28780199b2d7e70e399be3ce33e02690f6ae1bdbdf005025372c9c8dd2de2a02c5c1bba3739c0d2a14ab88c36af4d00ce6da5beab3f8e4c10fc13bad9d0098816b8f3c6f68962a174e0932bf6febf8763a6a766ebfbdf427fbb9bbbf2fcb60d4fab9b7f363b896f46a230db33e132d8d267f31c8ff1c3cb9429865c7e42fd39a9cb0c20dc5889cea5eca095a406e6959821db87cd8b13a883307571ec90ee848d08c75539c310946cd35a858b5254a40226a953d8691708d84fe82a6fb2cf4896cc4f9e5fe359d8f68434e00fab66fae7e52f6c76b5a6213224eea083a7096dc3866d2476ba1033f7298be2b14cb29c7434fbf8e6075004129a0bfa80e5e88bd9c1af5a6efe2535b74ce07d14482013e16f54d01045b109f2f94d955e33608637282863f1bd631e405dbadc8db57f5f2d83678b13409cd4fedc47f11a5699f9c164118a592817af2277d67cd9f63789239f34b07edd790453d6f0e9acecad85da2fa9d688a1fe386181bc6989baa983c3ef5e3a8c9204110ebc57693ebe31c856301bea29fc0af80fd807fb337b269ac975f76b74800000000000000000000000000000000000000000000000000000000010000000000aeba027073d99986c1c13493fd33f7676a96e48792bd576cfdfc38738da5c8f28dfa30a6e9adb448a5c7e5f7443b87a560b0db969dda1e9b6fd2d4fda29ef5ed5f53c3fbbcfda4d9a8afc74950bccf5f59c1f17684774b4f979913848b76df8dcdcdbbe079be2293da0b8f641f3df22d9b3a1559d5c37472e5e98bacb1deb2a92b8cdae4446454a05d2659804891ef780b76b166b609cf9a8350978645fd4149abfac1769e5aedbe7eb822d1ce16ec3eccdf4860e3f18b5a60c6fa6edc9b15094d27d156e23234ee9042b514c7f756342133a633ad494061e3e3852c82eb7c2be45b6a21f6a4ba6d2a8561656faa20337a9a3873ea424255021b1a8f5a6ae4c118e4e073a53b98b9a6e7dd3620bd4909feb0d04c282ba3d51f3a9b19d1d94331bf728e9d1aa7bfa020e6d2bc0634a7b085874226c3b230ca57293e3f4b862ef688fb356044a31996ef985fc564ac35c9b6ec29b2e4c2b80c6a89909959e55ffd0a793341d7157c23d40d214ecfeeb6e034394de950319f3118cdb3049a8e5670eef2c8ea4a7aa4fd0ba7df0d35ed7f46acf61c0c403a98cfe76d5705fbb83667ceaa2148520673e3a95be5afde8da91a9ea70aa198896dce9ea52879d8f7b67ad15e395b1d2856bc948f3b7fb17847628e45aacb1437fa70e61dffbf2d9900000000000000000000000000000000000000000000000000000000010000000000874f4dcb3312314ccf0dfb5f4f8c5f9f30fc9131f01754056fca501342c9d14de103f505fb05efac47ff8abb39c8eb65222658ae7ca3c4103aef591015759872bfbc230c6eacdc6304ef5331a7652fda77c67f5e13fea049f0dd6d3c1b1055e64df50d9d2bbeeef44f2c8f75c1d90aa6bfe654695c9b098356df52c1ae49605676125fc80098794d655479f4466d8755e267a436ee4fe806cefabd03702e1fe72ce39241f76fa4bd2160ce380b30d5f0d9bafb83069d86cbfa93508459c686856590033022bd6bb6c8286f7b6fb564fe3555af8ab6aec258386de87c0f096a785ec583f4ac951474fb54e16a2119e07525e7629385d45d8fe76c2ab7b176c00a3e96f434b032a7a2491e5ff6b4ff8469d7171ed59516e56af610187193c87d06a85100cc8db154c27cb6eacc5781591779819fefd70248bd54ccf1a768364572f648b7387fdb349230cded491c507d8607b44da06d9871d1be5d7ae659574a77ed4e6d6f7e36831bc833965272f3bdc623788d4768420f8706e6366eca89a323c3945454cd5eb46c73ea9206ba6fa60c69d364868b66b238b74fd018dc529fa5a5725aa509c0abcaf8f5b01120ae810eb824e732755c410c62ed89e2730f336ccf7576b5fbdbcd9e3a2bbd6f9cd4202041c2f6a85be44058aaa48ddf2da300000000000000000000000000000000000000000000000000000000010000000000dafb6258a55c692e39e6742dd6d1125482ea5288a199f30d4c986e00031c81e445906fbe1d0cec3ff1289495cf1fd8b027c862194128d3562862d4e99d09b08f2d7d87caf9eae1783f7f92260799ed1576ec1fe9c2c20460751613a4a37c1f8af0f662956ed2b4f650c83396d5ee45f2055de539b837abaacbd13be445232911759c6e7ab4590caeaf19191713035eb2a807b43b8703395feaf98fe306ccde3888a45faef9bf060e2635e75d9ec42a8649516dd304ca3cc513457a95573c78ebf4b74cec1e8cedec8f735a6ce9c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}] \ No newline at end of file +[ + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "5f3a5c53aca9b6532f6d4b83c36dbfe987642dc9beed106faa6fbea87adacdb447f47c842f71b664a9d004c458f3e6232dd48ef27bb7a3571be6d306fdf5b126f805c4b6bea5627e88d1dee0bdbdd4d9fd020b5f73c0b2ddf85108e47a95ee44b078659b8da4835cd8413ef2add897aab98430cb89813de1efe29ef7a3de53938704c0e192b5e156c67201126ffd90f607227fb110378d5aba8c8403c7b07247c132226a8f59b12a47abb8dfc2144396f0ce60483b8f88f078b8afe75ac273a6133e0ac5b504bca50ad4dc057d58e9c123f4a6f38a1f8e55911752b9dac3bc8b54c9070cfbec36a8ea81c037010ea982a3bdb3b32b8eb64d1ecc8e5e08fa9f61b73ac2b0c753665796fc8482d8eea22a68201cd83678e3dd4e86290f4c87851356ffdd048a7b0a6e0f613998a2586779c27f5b641941b46c87e6cf2917ab76be6cbdfb040c14ba73e190da267c9b99107dbe1f43e1e0a1cc88bf7ed8e37770a53f69d719d4622fd8a63e91c5a12df3d30440f38d81b5e73bf173f780a18c3a4f53b0eee9834fd348571d7f7f08ba3c1e39bb1c5372aafb6c5c415b4d366dd9d18cdd3eee5d994d003fd96500d442ce708e8b3e17246243c282dc7924a71f6d4c0b75b574c729b337ea5f87a88971173d1ab9268c33276ef0b340a2022361d9ee7e47e689ebd157ccad4bdb95f97f7557615f8d584d98f61c53aa9d1ca52d076ffac8d80b94cc75108f4a44c4cc9d5da76e76b64a54306f5e4a5bb2445ad139f38fb27a2ebea8484ceedc050164e6bc32bb056e083649a72a57ca70061c4d1fc45d63457582d0da8e06b964c160345ccddc62613db2bff86cae46ce2550888598ad2837a24992e9143c2729bccdd8eb97a7623bc03183b70e30cca92c1a14bf273a2f3a2db9cee501461aaa0b71175cd8671d38a4157b9dfba9d3cabac3ef451145d507016867d0d43bb00fb8f815f528834fa1a8000b92fdcb0f6aa9fd9baa5803a9d639b9d5d3302f6043138976d9d3752b5c8315131d7fb4cac4ba4009597785df756f5d353cbf3b8ed4149bcdc35296c6d6a3f7231e979dbacf7bf0103b7b51885a7216ba044bc5459adf656dc6ee48e4a7718c8a3331fbe8a23fd705f9661279c8da278aca624b4e95709e37304197c0a171e86bd4918ec4016e6b7fe1c85bf3a52ab8b2e79cb355018016dc1d8a7147c3145fdf473b0fcd56ea1db65b268d002bdaad1fd039c5701e33cd56b0debc6c0a66875ebc0ba9f92d6bb01ef8ceca108d44c3f68092afbff2ec1ea2f4c9115ed0985303d441f852ca311bb3dddd81e796fa7388869b7e538d0bcdb0265f9571199fd69cf060c0e336410369e659fe23aead971682b3f87471b92be14ad1e3dd7581c07a555b52bb62b3681c46fcac84319e5bbf04f3876b8300f5b85b9ff4c74b766760fea032844d45bb0bd034", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000004005f3a5c53aca9b6532f6d4b83c36dbfe987642dc9beed106faa6fbea87adacdb447f47c842f71b664a9d004c458f3e6232dd48ef27bb7a3571be6d306fdf5b126f805c4b6bea5627e88d1dee0bdbdd4d9fd020b5f73c0b2ddf85108e47a95ee44b078659b8da4835cd8413ef2add897aab98430cb89813de1efe29ef7a3de53938704c0e192b5e156c67201126ffd90f607227fb110378d5aba8c8403c7b07247c132226a8f59b12a47abb8dfc2144396f0ce60483b8f88f078b8afe75ac273a6133e0ac5b504bca50ad4dc057d58e9c123f4a6f38a1f8e55911752b9dac3bc8b54c9070cfbec36a8ea81c037010ea982a3bdb3b32b8eb64d1ecc8e5e08fa9f61b73ac2b0c753665796fc8482d8eea22a68201cd83678e3dd4e86290f4c87851356ffdd048a7b0a6e0f613998a2586779c27f5b641941b46c87e6cf2917ab76be6cbdfb040c14ba73e190da267c9b99107dbe1f43e1e0a1cc88bf7ed8e37770a53f69d719d4622fd8a63e91c5a12df3d30440f38d81b5e73bf173f780a18c3a4f53b0eee9834fd348571d7f7f08ba3c1e39bb1c5372aafb6c5c415b4d366dd9d18cdd3eee5d994d003fd96500d442ce708e8b3e17246243c282dc7924a71f6d4c0b75b574c729b337ea5f87a88971173d1ab9268c33276ef0b340a2022361000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00d9ee7e47e689ebd157ccad4bdb95f97f7557615f8d584d98f61c53aa9d1ca52d076ffac8d80b94cc75108f4a44c4cc9d5da76e76b64a54306f5e4a5bb2445ad139f38fb27a2ebea8484ceedc050164e6bc32bb056e083649a72a57ca70061c4d1fc45d63457582d0da8e06b964c160345ccddc62613db2bff86cae46ce2550888598ad2837a24992e9143c2729bccdd8eb97a7623bc03183b70e30cca92c1a14bf273a2f3a2db9cee501461aaa0b71175cd8671d38a4157b9dfba9d3cabac3ef451145d507016867d0d43bb00fb8f815f528834fa1a8000b92fdcb0f6aa9fd9baa5803a9d639b9d5d3302f6043138976d9d3752b5c8315131d7fb4cac4ba4009597785df756f5d353cbf3b8ed4149bcdc35296c6d6a3f7231e979dbacf7bf0103b7b51885a7216ba044bc5459adf656dc6ee48e4a7718c8a3331fbe8a23fd705f9661279c8da278aca624b4e95709e37304197c0a171e86bd4918ec4016e6b7fe1c85bf3a52ab8b2e79cb355018016dc1d8a7147c3145fdf473b0fcd56ea1db65b268d002bdaad1fd039c5701e33cd56b0debc6c0a66875ebc0ba9f92d6bb01ef8ceca108d44c3f68092afbff2ec1ea2f4c9115ed0985303d441f852ca311bb3dddd81e796fa7388869b7e538d0bcdb0265f9571199fd69cf060c0e336410369e659000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00fe23aead971682b3f87471b92be14ad1e3dd7581c07a555b52bb62b3681c46fcac84319e5bbf04f3876b8300f5b85b9ff4c74b766760fea032844d45bb0bd03400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", + "data": "5c4e95bfd08e0d122e5cedf6dadaeeda6025facd50f21a5b75899b8652683baee7b10f389d0d6c21a82f5e2ea24dca9ed8790cf9f0420bf9d76173b130702c63e36625c2a7019b0a889b260ab3833b463dc539ea2f968839d12313b21bfb07815e103fb0bf89d4bb77aed1de044f1da78d4b6735a4ddc4e3628ce5370d0a1dde26a54520b249c717fbc53b868c0d8af6ce5efcc64fac811bfd312408f912ac1bf164743868c2bca08b7389da53aa9f39151461307acc0abec699ba394307a4c5452d8849b4c7ae1d48de5d46d5ca0b970e2763dc849f5560b9901977541161879eae7d57e13601514e4e7b26844f998c1412e61e132b06a4f1add6ffc250bbf24ead216882a9366fa4d732d1285186521479e658edf0a66789f5ee29703a19326525015d2517f6d92f05ac5e587503bd0b9024675e9ee3d08563fa85b86eb4e44ac5fcae39994ef5a065e733f7d912ec6dad597d0c70569046c4f341750af88f2117df74903ff65008e617557ce42694f81ccccdac4dcbb07d297a585678b655bda63f18d687b364474e86ad954de8aedfd268a0fc9f6dbf9197a46c478577911c547254da9266a09f3fd614e1664fe5ef805d0c2e235aa46758c7fd2875743edf080d076d558d7a23d5b30b8f68b04872810eadcd44cd8ca85f0f65f1ec619b0de5fdf221e4be9627b542679b19612f73fbf11d8d5b1ee857282832265c0575e56f0f2a7d71acc20c0bc4ef495dc2def61baf5787eb2c4b90f7d70842bdf6cc5bfd4bcfe8e556d98434057a34aa67fbade56cc90fed3042b9b64f915f7fd8766dfe6acdddf5ce4abe209e14aed8466e7865221c19d134e6e94df98ab25e79679e20d2775fa74fbec493ba32dcb76bb0e3e2075a2b44d361c536dd7d327add5382526cbbc03c3bac2c135fac76817021955d210d52d771f08daf182a6b6abf1543f68fff60fb419331c416465317b4efe8e452b54b65e81710af5bf07e81cabd7b67a69933297c94f5c06d6e48ac7b6e788a731792242371af89c68dd8502172e19e205ed88a15f1a211234daf928e48005160a707804e7000e91415192c90be95e7737cdb08f0f4f8c3e3ca57f72f0f408a23bea5669a061877c91fa824671437c393ce13312fb653fb2fd25b7c632bfe3e7a6f4782d5f5b44df42cf7697fb63836334513499259422b4177f18c782fb65239559f9be6e4154e59875dcc46847a3ce7ef4727793c55a034953c0534644aa9f35967b8b8c41ca8882d5be76f6170669b710981727ecfb588d30e697a83e86789af46807bbe35bda100ea036f83e8acaa6da06c863753f755919c29c9a6e051c151f4ba5a81fec36675736c8ed2154111f9797760aec122ed71bc66c7846d2e0594f22ea5b337f926ec652b142c6b61ca66db4290ee2aca14d94676b06278c89f3f5f53426a7c55f5728d6dc550cfd9b4bb76889816a07a2fcaf836fce77acae29d44bdac8f1e09bb29c2ead09673bc67e2e8ce788bf47cb86681e0777dca8cffcf9a1d44b34354baf4244cc60e4f7d6914017d1077f1fbfd3f4e7e47250de0a9faf202bff7e6b40a1ee0a455a9c536ca52eddc18ac6c13c77578ee93278c64e2750fbdd82c8c4c9c45100b99829b286c8afc0535201e2d0630866667a928d2f550de20bef7457f7fd779c2105f03cd6320cc09caf8fe3f18abbe61f0f67f7c08e3c4104e6a1bf7df1670460fcb073d25aae3663841079156ca1f8cbb786e55b5202dff674ce171cd4b88dedd55703e26c6bf2c45c40974b450d30aaf5104fb2ba35a34f1c869f3f186b35cd7da48080b9a39850d563d296710e1694b70a813b4478c382a54bafd79b89341d92f64f86ac76b47c946a3e1cb641c02463396d1fe497b1068d843ac555771c7c46f4f73bf97eca21fa6ebdc01b529aabf4ef6f1109cdd237b5bb114417ec9e9e394c457516dd57c6ce638fa45c71eb4c468a757af8ede1c79d34b18b317029908e1cb6172a68e378d439380cda33554859bc9c41543661cf9725ede9f686f3b13fd8db49c0749654d530a6db0b1947e020b16b6d496c45a5a2dc3301f5cecd845941a7cf077097d2f99833a021423f7fb734a30eebce5f4b218f27482d9a3bdac232d2fea83dec67341cc2222ef824cdbe0a82b0e4e6f1b7714abf3111ff2a11680e20439fc725dd6e2f1ac820a73fc9ede2964f49eea362e73cb6dec95c6db88db79fb6c9ddaf73340aad50e448b9a8bab7fa31b606323fc27ec1150b208261de1427098f6d52cadd91a66ebe83bed60ba0fd6fc2802341c0e4417ec40513626c4d676314966e25a795be7ea99ccb92d271fc693f2fdd9dfd43afe8c08d3ac0342162a9fa60fd65257ec278ad3e38e602c300b7e4b5e9c1710915eb29d67a15dc7add86b8c3afc45d19ab94bbc15aba4304225a67adfc45e04fa1143c0fa2596e83d2bc1f52673ec8a9af7cfb4a4d6e44aece705cb866709686bcdcd88c3ffd7b7f2d14b4af71a7696789a68a819c7a23205a708d609d3edf0e8a6ef69f680b9e5a6f93a934e1549ddfcde964518ffca696f886022eb515a245cb6d01ddc14e8d541805f3273d73516b8abdd901dcc930f6db51fea28390578b3b8fcca402aabc896242e4e7a3e28ad952e3d6b8479671f2cd5575f47c1a5e9b86ae76089c7d9757deff922e8b6cbef4f15a9da4d0418d9480d154ec58a422cbd65be29d4cb694bc6aa740c207be4b63190fdcfb2dad16f70c87c362e60db1787c70394590269ad74a07566752dfa61825f75220ee78648b5da24600dbf30c647eb95ccafcc2c8c2e363bb18bd4cfaf9c8d791b7288d2f00950844be3b97a4190dcc897e3c2b718036781afe6b703b83e1271ab1a33ca6e5a8be5177cc1fa9c1db52b8284f159ef88573e2e18c5d3ff5314aac94581b46b873e0bb09956dbd66e84b52343594b4f5496d94b69ea63b6f8738112a5d2bf37921522ea9f39d3f8f26d1e409c7dc3119e4b93fa75e5415be59aae4137afec4e9dd5eebb9c214410edda1e18b0868cb9a505751cf6c38f3b97692cd751662835687a9e3e18b20001535d36bcca11ab005c5ed0b5086fe2a851bcb20444a3735ff341b97598b149e3603b7e1f7aabd7d046c72a3f7c00a3181ff3b9a2d7d5ea9b9b88b415713244dca45137c64104e1455cd7010d1b9f409af114c99829826edb8a13acb74ba81c11cff97d3ddcd6b74160ce365ec2ad1e01d9f4e40c81adf2c78c320dfe8a1897022423c63fcebd30db8aebc18e4b523507a62a713da208d389b779e5e8172e77e8f72fb003209e687fdd30fc625d83cfc8a9af0b79b8ed8b5a808231ca363f2bc77b24a000ceb253ac73bd0ac3a9e47ffef2b648abb113f92e15d21eaad3ecdc17d9caf2ec7c56d14f0895cd4e98dac405ac7de967220ede2b9ecaaab60dfeb9ff22026023564c5bcbb3fdc65d2af54b8effb0ec9b8bcffd922baa58b85da3f52262ca1c6d1df1522cbed36f728a716940b3f58d905e69a140886a915ae7c3ac3aa35af4d52b3b42be7cc7b3673f5ef59ddc4f96f1b5d277cd909673c55e448c6d1d7ef3535b08e375d265a584e46ca73cf9d6ab26ff7c50df42282bbe7b9c31f34bdb9d44482aa20e63628ba6d687ef7fcf55813d94e6e08e896eae543462f0a7966774851bbdc0af73b0c85e42fc23649e24d33b9dab81936ee9ea08bf168d2ea687599ec352e5a2d65084e5c131330b8600384c63402f23d79b28305e4942da0a9574d3f940001e502e98fa3274dca0802d4135dd59895803b3111374c329310653290c6ed062314bc0ac56d406ee4ae1e506c8007f0f6dec49c692c2042cae0bbf911a7e0ef3093197319c380905a508147e1f93368138d6cd37ed2689cef6e2b68acefc6a518c11c1a704f8f025d01687e918de8a77a9302e3d8de4cf0a86d3837e9603ef902aeb0ce87c27608a1f41fb0429a0e09648bbdc73d6d3171a6d94d37661dd03f524c94a11cc212bb1dd7c056d240d74038820e8a7a2b87934692cd7d839911c2bc879a0893309a32c8e3a95b5099395f205628da7cc6d318c3d8d77c74a750c7cca4ab18f82d7c126a67cd43d583d2645abb03d42d9aacc09abd6fd230e9438bcc93833a4e6e2d7bf0293aa37010727c6f057867ea29711bbf671c341244f793c3fdc9553001e8e5cfe4103e3f424010fd248e831047d9b6c4f66b618056ab25814091c52da342571af66f5dc79b0c72f391f2f7fb41fa05d62fc2b1d95d210887481e0a25d144ca41f781102b6c4ffc1b7926905301737f566b9b12eac7f518c22e30eabce01209c42d5dd7711ab6e8abaa59c2ed94735519a405f01dc08cf81681109a9b5d64e2341824a1f810501c18a24642eb926c6538a05e92f1082d9ca6816c571a95b4463b015784b030acf4416be9bc111e449678b025ba6a463f4ef7b359c75e065ffd89f9672221b776309200358a486dd1cd7031b1105c1124e9c9e1db22d9d3db13deb295c80bfd2413f4c85414a0cc990ff5b97a43bb9d1768b89e0b45fb68bb1eefce2e3fac9529a861f0ef911705746c5799ec95c75f5ef4869184b760c249832a25623c07d3d6835a6b1f6c8cfd13deccd42d503ab291358e77016f55f1306d1416e2caca4d2282f9668110fdfcd8a355393c911c1f9c53abba7ca762c2e928b2aaf1f1b8603ec10f5f818e399f1a98f1e3f93f1146a071e7f44185f9d6250ebfe0064ea5e4ca9c70ce6ac1acaf4e887cf8b50e4f78f26adf236ceed44aa8bdcdb2ce599cf9d2299fb2a4ede42bdbab66eb66c3e6f8119de6e398fc52851aa063cad6d7cc8b27f53d73b8eeda5aaf7e62892922a1d027a1b2f8ff726cf354393d807c2dc5f98c4d17c0b6b56ed3a988e0c166a63285643e722985acb271203ced9d0a3eb5e2e4b4f3d2ab183d6931cf819ef95dbed39df8ef7764167a3b81b079d58203f14ef912c2078c25fe788f0ef0c228a156c263c0d4a9cd5bfccb8a4b6c89250247b7c1b902777fa6c2fd9a2be5678fb4ce5fd0c54e766e0576d3b310f29e7312e049c64cac8c2bd65028d25ce6c791a345096c57c000498d0fc7419439d7f1ebcc787e16e5a26f8b967dc3fcbdd486f1235cf17e75999bd72467d67198e3d1949fc99612e422bef049326c9e0406d616499e3842a6e7951f8b183b5f72a8e30b3572fb63ff8e67693e8a1d9ceb71f9660ba77e742354f45133c19fbc82fe8639e43775fd71d1db5acf8bbfd01a0183708dada03656ed4d000d7109e4d578d3571f0d53ed825b6050fdc115c639d30daad3f3fd67c504802a8e11eecc1ceb34607e91327243fcbc36b21167e43c5af9788884fc458ffbe1e513ec8e4a669a762c2cbf55efe538e2148dda3fc649f6318694fe89ace6f7b17571d43c7f67d7ab0dc14fb64de98dec3d9daebc7bb3d671f0053ee15c42b46446d7c565628b098b131d05abf7d9ac771a2a1cb5c3f9160a75458615e3ef7b258d77a9083abfb3d0eb9b8311887bef661e43122a6862aabe2b30354c3c4c0fe361d80e2b16bfbb2da134871e3e350411cbbe6899da217845f8632b76e2ee0c746b887f43d97f78211241e01e0a2e491e2aa117f3cb91d0de8517ede13ec92a16168e7ea3721114246d7fde86af953b1008d2e17c297d263b9e984e3d05b0813687bc678157e6e569a2817402a4a7b168121d77bbec962a4931244c4870a8ea37666137629bd4d4845d7ae0a8aba94efb032cd46a2996bb82a010eb75ea3e4b05c556e612091f580c8ce46657bd18564340c54f29ebec254f5224cc57b7fe290a151f4273dd07d828fe02b15d34591eef25ebcedb372c74706877f0d3488dfa5146b9bbf48026a3d93ce2642c0e44d2b6233b59d0de3c105dd2bed486302fbec21a18185be60ab56aab3281b71d1ac98ad72e61f0f19a7fbec927691158b081d6be0cb054219919e62ff88d9dc2bf615416dcf27872a99e21ce3e02df1cc4206a0a5779bcc955c19d4a3265ccb89c684cca868ec733f2ef444c202761e118d3fb427de4c27f1e2354e3cafe78ed14fa580628fa2020b244000eb13dd4f387ba1a26184ded15de90f29bb5a01a877de659e4696cae3c4a392cf33495217c186dfde0f9e7071abeb8258b3bfb5a3213f9d174c46ada83fef05a9a20d620cbba4054f7343224f4aae7ddef089e9830aa5ae3c3fb947fc87230efe37ed653ce273e526068c10a55f82a2b72d5af1a51165251ae5f65eb38244bd997d4578e97488f6303fc053e4acb9602d2af6e5e519f7a6bd271c9acbb7daf934ff8e9dd947d499c77e65ee995efa30cc16dedd6dc79bccf8b03e09967646075f7e6a2d47bf368292d6e5649b919c117fe809e43983cf2556ba125d7b301ce86f79583e201b5d579396874106ec8e66cef809459c0085d306a1d00e1d4c317c839f3fa95de38912e56b3cb1448bfe63af07ccf7d44651bb21e6464cdb7b9f96c3b2a9ea598ad79c5e62314032d675e724186417559893a9e665121a825210ce2edc845f1caf179dc170148d89c8575ee4b74a789bb5754f2e3a75da045afa531b799363a99206f31fa5fac166ac45663b475cd572ab877565e8d20bc392b494cd783063e3873762c78bb82fdcd147dff0fec9c21b7a171077cfb375518efc91513d65d8a474e88f14ff2632f316c2b11ca66ffaec290d6650c88e1ef247d64047bb62abc4af664231f5710ee9e9c8bc105caf2ccf2b80550854558379f31a7568f6715324065dfe248ca8cc8dcec74e45878d2e6c1c9a65b4fee02316d27c6e652086e0979579ef3c7bec9d36a9612bfe9b625713e8bd0e4f32161b7f9955759eeed6da0401a5ffb3415ba3d88c535a22e620306a2c6b02eb26147279394c5dceb4f0f0e5881d955e9f31e8c9011b96137911e7d8ee04299fe8a274b8942427c9a5bbe0880464b91ae50c73ee4a2a0b3e5d546666ade23af65221edb43780a0ce1db4d8d164333dcd2f08d318167df4325d074f630ce90fb212ca4e5ebfb4b6d0a101f61a7ea40a543e3782d9dbb2bb9b05c1f826fc5ef3952995d65eaad7d589e2039328b8e163eed57eb8f25fef3545e0b419b51a75129d2ccffc778fdf29afe544f5472b43ba452f83c7215ec6c15dd8880e92cdb99c51e9ad6c30cd9889c9dec7e9be6d961a4802d75a130e4d158916bb783a8ff0b02bcfb37a0039856165616ce219e4a233e48802c3fc5f11c3496e247f3a530a17ffd00841092054b4a5b3c3ad7cb0d363b884543fc590c08aa4d0bfe0a5345fa7fe5129b891bbc4edde6d8e1072cf9ad40ea02f83989f0fa5805dd0427870d134328dcd6136106c6a93aea4b0a05091456f79b434db72edf6fa3fd932826d1de38a48194c152a1f8e4ef79e38772e5a1df4a8bc9c5a8d5f7f64ca4293562bb19db8320d3549530ce05588efea836a58f33168448ac515f473c9e38afb05424915feb6caab15e48f07269f873dd2b1233f03479722c6ea239f6df39fda06a90df107839599fc5fe0b6647d4d4762369358d33c27e7b0e0a0e5927ff64c03f1c3f0b68fb94558d5935b27d64a688623172942c552f6cddffda2f76e5441d7c0e51798071fcdeca802d86a0dac21536ffd1ef68c0592e01e3eeec4b694f8b538027b3222b2c624325938c14176785ad8300f209473d562ef09f2e2ba5b0f56e983c321c88524f1384b2db93b0b3a45a07e651d72a22379fbd19268ebaedb9b0471cb1d7b1a428af9ceb25655e2ab9b81ceca351ec2a58ede168c602069ff35b82ea8e7171ab1c9d43275f2d90d4b7da6c2866f106eb5af255dca7db36194d7a68a880dbf1b3283cc162102baaf9502d6c3e276af4d26f58b21fb07e187b827b620fee8157b79ef00be2f22cb6786e9a8ae0ba240cae998c6f1806bd3bd3023d1d50db06ce5de364b622a0f504f228f5a2cfe5775d7e3e3b80a00791655f2948c16f382da4a0e94be92e89f2aabd4fd510fb5f6707c16d6fe5ee3f6bb08921d16a59d4da5e78953b40277b2abb1b12d9ea5c12ec6bf77f5ed8e60b36d0a3c2fa4b1126ab37e6d1b4bef0e0b46d71751e21117fa6b9a3de9f320ac5bcec176869c56f57669a52cfcc93924e128785e490cb3244709db0793f5b561a3ccfa2ce372c911068486d8cb43e57eecc89354508cfce8cd55c460c0a69ef1fcc9a8f28a5ac5878d3791e82806a18796dedd01fb6de69a807092eacc646752a3bd40f85e10331b0ac45ce69a689065c6e94191eadd0fb462c550377baf3ea9832fe43044d98ca13ede6e808233d3f6f07a0f30333cf3e7a7ff2ba44f7cd6f94b21cbbf77355597c501db56b9109defc318cd5f7c5307e0196861e9c3a02a42af1b4353577f2cc7273c8d53fd3bf4e6cb9f4ef401c2fcf133ee234cdc36f700ecdc7294f141d1c737401c1610e215ce0fb60222d2db853d3a7fd68a69e6a98089aeebb2191033a90ab9c3e9c8d74b3780b212fcca9f77d0ae39b0f1926f76a35866e8d65634d41109594371c71b215d1c37aaad8170a54077fb79df3c517262afb0d8969222a8270db23a3fdc54a0848b10f9029521b70aae57ea36ee8b05871ccd24d8d9d0c838f5d9074916823e75d1a368da6c209fd2bcb80afd9e3e5cb31750ee39ed938eb43eee9e438f374e441302b9c475cd138c7760c660ca64d5f1e09ce3477ddf43580c4f0b352e41bd92e4455946b29e64054cf0be5c2332174232bfe07713963594bd3ed8767b0c88b91f8e78b0bf3db062ff56a70cab77cedff4b729349a07c56dae3737cfdbd8bfae3b99a000aedd0e33d9dd8a1ff73808327c722e1c60fa69d5beffaa0a2046f087acbfade2be3d3baf46e8d63c7f123f8b807cd6fba41276378a78400277b5ad3961fcda032077cb1c74f17eec2d8e99023afabf9a972b65b4fd00ebbaaef4b5ea947ef86c2181f6b43a6ea7664983e07227d2f8786a7a5d488ecc7676c9e1a7621d7c49c9007bb9efc05921ce00243057624c92de5406c5a83458eb73923f7ee8426c8ae997ddc0abb5751a8005d52128a95077ed3bfd76364d3e43b4d80d80ee1301e0dad23d87c69dbebb36777b7a6389afd93662c2b5e9ae166db60dd9035522bc4072a1406b0978ac28f6967679fb2f267bfcebc7458ce018ff5f68bf9de529e1e33cd43208958a842222a13762aca41391a5dbce9f82fc9715c2cea004f5789f3e2b99fe08bdc64fe2955aaaad5d898791c931099d0e161e268c53620e23ab81cce74823c8abee30dc2652c758516713e5ea1522089ba67dc2a6fe479f72749986d59a5c97d2f5efb5df28b950a05a70abacf48369b4d261b18c83a2845753e2e8488d3c69f4e37bad1e08ec16155d69d7cbeff7401b737527f404ae74ddfb5e3b051c98afb5d74f3eb6132f489159fcbde2edb85188c632cd3a8b9e314df378af089cce70bf1725b0716ebd2867234b8c3db514033953a3ef5e70a9fb9f8a85d9dca4023f7d04a118dcacd78ac3a635d0f506ce34f4969f294b9731ebb366cc204701158a2a5624bbeefaaf56a76d339471102161830508b9f60d82b1189697c76af326dc3c772ab468e26962ee3fa4362ff6a84dae45b60bac92faeadd6970ff2c38ff9deb8d6c129c26082678013f73e61deeb391eddfb642863df5fc091a72396a55f3cbf5799e321ac699dbefd065ea297f7ee0412b0a920f8baff6af86b367ceaa950e0f0cd05bd8fbcf55dd80ef06790cc1d90209b73ebce04f2c0ae6b9aab450d281b92ca58dddcff022b6f2d9f156da0c9c3e4b3ad6c7205bc39d13e02bbecc70298a09c63a5fb89b38925f15f3f9a4ce06b8a5c5121302694aa50ff4da708a36b92cdec80ae92b629290b3c662835f94e3978975dcba0a2b5c6396b5e83fe30ca92cd3c93ae9c8b8b794bcbaa71aada86f2531ac339b76651b6164ec4d8eb62f51dd07e5695b6c7a6f7a612a134a70e865df68726d1a1ed1161aa1bd2333cbcfdbdda612b3595fcd0841f7b290952fe39176abc8223fce3b4c7efb26633365bc0edc9e9828ccfdedd50806322f15e70f5ef565732495d8fe7bbfc24fe6f803a449c86cbaf890125297e231364191831582e40c6d749c3ecd49aa525d049ca3c9db19ac634f76c09b1cf18d93fcb4aa6d9e595e2510da6eb47d1600a9e72b915d2bb7e62fcb36443918a02be715f497d1c698a3ee793e3f5ce57ece76039a3298a11ed4ce612a5daa0b64bee1fc2d7bb957875c7dade927f7e94ca606666cd1496e781cafc7934953fd6fdebdd21aff6456b9c1c781a396fa310c56e24950dbe1a1350f2cbe0362e8c4a72ec7d5918e40833eb4ef9fe034496a0886ccb91c13560eb652b85ad046df0cb989575bb8608e001cc0348ba5260f7377b91033435668078bacf2f128afccfdbe43836aac1c3319f8a776231fd10fb2e12a7fd20d45a37d3646aa6d343280b97ed42da68298fb4abd7835f1d254c9a9f35b8e8d1bafd5b8a5ebf0fe81842b23a9b60c55f1e6bc7da9a906f942d949a1365614bc284bbe6a4332a48dda2a9e7cd4ec0f04a2fea6615c4016d0ca3635e4c91754902e8d472a93c7d14767cdbdb8b322fa67442a8c92f9af0d84234956549fcf70b2977076476cf378d5a4ac60abbd184e09641e82056afec5b0d716c8b1baec1b2e9e048b800e0055a292e7bac1ee659a93accff0aaa38104256221bb96ace970f213ba725e07332b27f0296cf11c00286568a9d9c1ff6dc37b13e692fcb27164128afa0400e3b77cc5e0fa9dbb19405747ce92990e0dff62f54a93bb9ed2a3447120c492532dddd9fe351f49b30a5748dfeef8ee60cfcf17db558b337427a2c3f3c6ddc14e48507aeff8f47ec88b97ecf6b0107be1d110501e0f4c0c8f30159353ed6e2c46d65f6fdc67b510661a7e62a688c2a6a10d8ea71a1eb5865a0a1e8e124c6f7f31d1600e727172e9658337915fe437c86ace16c087d99ee1213326b3324ee77c39334065fed3659d70903acd51064c2ef6741f76b2728ef5c0f57a829969f4c5f6226126ba458341f9a577c08edda63a0c91d08300f2d3dc960b35541cff828c1699e39d45b7d5b72590ad1ae32708c6575d8ecf6bec971af63bcc4815e3162992f735c34e5189048d1502027bec41985779b801e17e2590893cf26e4293faeb6c159a8edd23cb8696b84b2f1f33f57f662e3921724e0ab411b63245d8f2531b9d3eb1d95a9860960ceed33d28cda800400991386cf0372d56f0adf1452e52b3b9eec1454149abe0204947145236afd5cdb90d5d0eabdbf65c25a8e81320df1470e4d21b9d550ec15d78757fd8fe90fc06d7589ef923c04c0ae83d058508fc19e3afc7546eaa435b4ce3e945e3e643fb1e7bfebfe4554b57f23a24e0047b5bbebac08ca505fec7d664992bc84d96de51513be55ebdfaa0228265518515cd0532ea7a0074a8d522d5029e2487bfab6305247c46de901554d4f5fceb27c06157663fde71ec0b899bb05ef54e3e47026fff54c8b062d96d03549ca65c0ac012a1575e38ef5b28dc6d15d5e1ca9ac7fe463e5a1f1191e2823960c8fce14885b976cfd5f67a4f0379b4424f28c0860ad0ec24ae1d296fe85d0bee5bd034052fd71b20d6f3e3bdfb5bdfc0ade2576fdcf8e1fa9bc66caf695571f7e3a1d3b23d3fa860ef3e05810835c9c4de4ed8efb34bc630688096a7d500af9139534bf884dd81f75060b50ccf7ac0246cda1f82ec50161105cc14fa2098d52813a4027d0d466e3cce49eafbe198360890e7ea6f72dad56f17c9fdf3c9030212937e869351fa9a497e62c4def8287055f4e4cb5e5a5abfcb02c742b5758397f4b604108c471505515b36a4d966b7c4cc438a04cc51c477224a0759d86cfaaa8dbe8a45c7a4a833fadfc44d98c69d2c961b1892bb0bacc4b430bf3c1319a5fdcdd1758376c4aa6876b50a424ceb9e9ad4233daa8578863990b38ee9d3167c004d8fd1e524c07087b0bdbaa3a6bfac8ec5091e0abf14b1b6e3f8d9626b5fd97678047b6f08409fc9397f9a6ae0eed50efb338ec22a6272999deb22f4afaf0a89c78a761d0556593c4792cbaa688bfcf3f3a7d2683d8cb14c78610b3f88706e978281251d568d2abe3e5d43859e43de363c299a3ce672612208244bf191f5b869915d7a4ee4539baaa07f25b0f55b39c1b24660647a061cebaa7db4eb7567ae00cc4cd9c80e3cb3b526588e780ea147de668ba5e5c8ea3299b09d69b047727892993aae7b9a1f46bc442db194ca467467a01792c8bd0f973f81282c22ad8c43444be98a735c82457c5e0901ec2477f7d4f217393fbdd76140b34a52848d058123542c718bfd57741cdef9994a8e0d1354491ddf87dffd28c5b2cdfdb89167c3d87be04df3e685aeacbe8fbbc18a49adb280804edda7549c5637d33820658eaefe86bc12ed4ace90e06d919d1f315733f99415ebcf57e132342f99a2f3ef49ec819a6540dbd3b49d2666342636bf55d3736cb45c8047d297ccf7da6e83ccaad84c294d264972faab3de7859d5acb76215a2db45385bec29240ddc0cb3ca865789ce9fc324214c65c8f7158b61d1bbbaf3857d8d948882e3ba2a28d270016b29db61f7a693a32074bf72886731dd69382c19ee4f1b955d68ae1e778bbc5953b210e3e633dcbc4a88d388b3279d0cf56853b8227c17afb76b74c734b879d36cbf6b11d1af9045e60d51fc9b9ea1b57ab7b77c2f90f0cff73eb02cadd5a92e455128c036a712431db39103cdd4a41ac997aff4d3e98a72f4a28cecedab640a307ca6a05c2c77bfb8d06cff2fa92edf98ccf4c43b34535cb22ff16d0e99fdf16138fb106ad05d579ef0a4410de6de877578fe5d79f4f407d13edb86e6986aea78f0b435f1b1b380e1e42368e4bfdf0d0f105270b0c1b5529a2e581b74c5b0ad7bdfc23658bb735a3b6b5b1eea479f417ab8d0785aff70a22daff0a726797c8813c7b6c2070486e980254855fb2763f55d0d6399130b54e506ab4a447fc192249f15b3746324c8333e9715dac39309b10a94df96d4d9d694800dacf6037598eac64042bafa2fd5355241281c83c250df8cfce9ed1a1500a18a9c323e5dd23209a76c61f858163a6858d9979790d0509ee37a712e89541ad9809328555f09e04702be7cccbe29e6c1193f7e137deeecdbe1487f13cd1e5668abbf50ca25c9b0d07903d9d1deb449ea0b0243c7b7dff9a959be3f352da495cf1bdfb8c8fe3d9a950f63eef912f5439b51037ea80efd9f1696fc2c496d96d58c8933422ee554e1f2165794a5326dc503ab4fabcb95cdb31be3710a7db0a9a29744d928af053080a03f5bee706b3bb5341e7fe7658e7f88f84442d66bb632e9b03bcdaa4bdcdacfbb784452c4cac79ab88a52df791b6118e7ed493e93770f6467f66e5c6f3026c3e4bf922b45b2436032e4091de6b95d32fbf802a6c0a5ce2bb8e0c06475537403a1fd420745876b7c4dc71e9395c25d4222bb6a881e26e3479de31cc5fb9d4d3ac7688fb8cb0ddfa527437e479e30642a57be852843cad539c87f240e4d291025e4e1af88632277da8c1d0b746026dbc1c8e29e2453b905b8bc6f1d95e7782f1b88bc5ae0159068c69e16c70d3da7410e60649d2e368631abe4f3784469bd5eefa8f6c6f353649bb9e97a70b5c0813867109278593962a4d09bbed5aac3165337356e5f3d56c8b4a7b9ca5ebe9f4a6d173092f20e9a61a7a1dcd43bbef334f886f1cf6639837553c1aedead22036ca2b968c1df4d6f3391d7a98e69a7b8dc97a484f5721eaed75db274fd75347ce71e0191e26963b9421341b8da384871bec8d7c013713156747e25b6704e123c5d9619b29448fc0d130372e493c60521e8519a43b852cf4601fb600b8734d3e45b5e56ee9f6653ef03060fc8e1bbfa9cd118af8b29c2eca904d37f3972ceef92f3024ac58a10883097fe41c3fdcc518b9253f80d840e7c91a7782b367c9569be0cea9705a5fb83282bf6ac08a6b85b3ddc1364e5bb9354b3101624d1f8c265d7d5bb800401be6ffc34a82b88c54f905880ef20872adbfb9ff75c4d309bf8693dec7db25d45ab7e6457a960ffc28e85b61c191ad26673ad4cecc90b9719150c91c09a5e52713651b34f7654caa8420b68fffba435e69b7b62e0a11270988078e253fe4ebdf67a0f5c277ab74ceb666251615ba00a35a75b19436aff8d4ef0e6012ebed4a90d390fa333d6badeda9e7ce9d065305c9145349b9a7bf296717a26384f1589bbab954c76e497dbc85cadce3fa773f74d19df18d7e260d5046f36ee45f0822711d3f2fb1d0cdf4005f361e765727b22c11b101121a5034cdf9e6f33847cef2a98fbb7ae5f56cf3cb141747fb3ea895ae907be2d68cb4f14cc63fe7cd9211ed6d9112e93bc0fbcfa2c3c6e3e70476a6d577bcd99591f7c07f7971ca5ec5abd3f94182b85122f18586f772e076abd09464e62d3755df089ddef23b264d84011bd209bb604775912883a8e35ec71da3a2c60312927bb37903cca2d2cd222a", + "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000028005c4e95bfd08e0d122e5cedf6dadaeeda6025facd50f21a5b75899b8652683baee7b10f389d0d6c21a82f5e2ea24dca9ed8790cf9f0420bf9d76173b130702c63e36625c2a7019b0a889b260ab3833b463dc539ea2f968839d12313b21bfb07815e103fb0bf89d4bb77aed1de044f1da78d4b6735a4ddc4e3628ce5370d0a1dde26a54520b249c717fbc53b868c0d8af6ce5efcc64fac811bfd312408f912ac1bf164743868c2bca08b7389da53aa9f39151461307acc0abec699ba394307a4c5452d8849b4c7ae1d48de5d46d5ca0b970e2763dc849f5560b9901977541161879eae7d57e13601514e4e7b26844f998c1412e61e132b06a4f1add6ffc250bbf24ead216882a9366fa4d732d1285186521479e658edf0a66789f5ee29703a19326525015d2517f6d92f05ac5e587503bd0b9024675e9ee3d08563fa85b86eb4e44ac5fcae39994ef5a065e733f7d912ec6dad597d0c70569046c4f341750af88f2117df74903ff65008e617557ce42694f81ccccdac4dcbb07d297a585678b655bda63f18d687b364474e86ad954de8aedfd268a0fc9f6dbf9197a46c478577911c547254da9266a09f3fd614e1664fe5ef805d0c2e235aa46758c7fd2875743edf080d076d558d7a23d5b30b8f68b04872810eadcd44cd8ca85f0f65f1ec000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00619b0de5fdf221e4be9627b542679b19612f73fbf11d8d5b1ee857282832265c0575e56f0f2a7d71acc20c0bc4ef495dc2def61baf5787eb2c4b90f7d70842bdf6cc5bfd4bcfe8e556d98434057a34aa67fbade56cc90fed3042b9b64f915f7fd8766dfe6acdddf5ce4abe209e14aed8466e7865221c19d134e6e94df98ab25e79679e20d2775fa74fbec493ba32dcb76bb0e3e2075a2b44d361c536dd7d327add5382526cbbc03c3bac2c135fac76817021955d210d52d771f08daf182a6b6abf1543f68fff60fb419331c416465317b4efe8e452b54b65e81710af5bf07e81cabd7b67a69933297c94f5c06d6e48ac7b6e788a731792242371af89c68dd8502172e19e205ed88a15f1a211234daf928e48005160a707804e7000e91415192c90be95e7737cdb08f0f4f8c3e3ca57f72f0f408a23bea5669a061877c91fa824671437c393ce13312fb653fb2fd25b7c632bfe3e7a6f4782d5f5b44df42cf7697fb63836334513499259422b4177f18c782fb65239559f9be6e4154e59875dcc46847a3ce7ef4727793c55a034953c0534644aa9f35967b8b8c41ca8882d5be76f6170669b710981727ecfb588d30e697a83e86789af46807bbe35bda100ea036f83e8acaa6da06c863753f755919c29c9a6e051c151f4ba5a81fec36675736c8ed2000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00154111f9797760aec122ed71bc66c7846d2e0594f22ea5b337f926ec652b142c6b61ca66db4290ee2aca14d94676b06278c89f3f5f53426a7c55f5728d6dc550cfd9b4bb76889816a07a2fcaf836fce77acae29d44bdac8f1e09bb29c2ead09673bc67e2e8ce788bf47cb86681e0777dca8cffcf9a1d44b34354baf4244cc60e4f7d6914017d1077f1fbfd3f4e7e47250de0a9faf202bff7e6b40a1ee0a455a9c536ca52eddc18ac6c13c77578ee93278c64e2750fbdd82c8c4c9c45100b99829b286c8afc0535201e2d0630866667a928d2f550de20bef7457f7fd779c2105f03cd6320cc09caf8fe3f18abbe61f0f67f7c08e3c4104e6a1bf7df1670460fcb073d25aae3663841079156ca1f8cbb786e55b5202dff674ce171cd4b88dedd55703e26c6bf2c45c40974b450d30aaf5104fb2ba35a34f1c869f3f186b35cd7da48080b9a39850d563d296710e1694b70a813b4478c382a54bafd79b89341d92f64f86ac76b47c946a3e1cb641c02463396d1fe497b1068d843ac555771c7c46f4f73bf97eca21fa6ebdc01b529aabf4ef6f1109cdd237b5bb114417ec9e9e394c457516dd57c6ce638fa45c71eb4c468a757af8ede1c79d34b18b317029908e1cb6172a68e378d439380cda33554859bc9c41543661cf9725ede9f686f3b13fd8db4000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e009c0749654d530a6db0b1947e020b16b6d496c45a5a2dc3301f5cecd845941a7cf077097d2f99833a021423f7fb734a30eebce5f4b218f27482d9a3bdac232d2fea83dec67341cc2222ef824cdbe0a82b0e4e6f1b7714abf3111ff2a11680e20439fc725dd6e2f1ac820a73fc9ede2964f49eea362e73cb6dec95c6db88db79fb6c9ddaf73340aad50e448b9a8bab7fa31b606323fc27ec1150b208261de1427098f6d52cadd91a66ebe83bed60ba0fd6fc2802341c0e4417ec40513626c4d676314966e25a795be7ea99ccb92d271fc693f2fdd9dfd43afe8c08d3ac0342162a9fa60fd65257ec278ad3e38e602c300b7e4b5e9c1710915eb29d67a15dc7add86b8c3afc45d19ab94bbc15aba4304225a67adfc45e04fa1143c0fa2596e83d2bc1f52673ec8a9af7cfb4a4d6e44aece705cb866709686bcdcd88c3ffd7b7f2d14b4af71a7696789a68a819c7a23205a708d609d3edf0e8a6ef69f680b9e5a6f93a934e1549ddfcde964518ffca696f886022eb515a245cb6d01ddc14e8d541805f3273d73516b8abdd901dcc930f6db51fea28390578b3b8fcca402aabc896242e4e7a3e28ad952e3d6b8479671f2cd5575f47c1a5e9b86ae76089c7d9757deff922e8b6cbef4f15a9da4d0418d9480d154ec58a422cbd65be29d4cb694bc6aa740c000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00207be4b63190fdcfb2dad16f70c87c362e60db1787c70394590269ad74a07566752dfa61825f75220ee78648b5da24600dbf30c647eb95ccafcc2c8c2e363bb18bd4cfaf9c8d791b7288d2f00950844be3b97a4190dcc897e3c2b718036781afe6b703b83e1271ab1a33ca6e5a8be5177cc1fa9c1db52b8284f159ef88573e2e18c5d3ff5314aac94581b46b873e0bb09956dbd66e84b52343594b4f5496d94b69ea63b6f8738112a5d2bf37921522ea9f39d3f8f26d1e409c7dc3119e4b93fa75e5415be59aae4137afec4e9dd5eebb9c214410edda1e18b0868cb9a505751cf6c38f3b97692cd751662835687a9e3e18b20001535d36bcca11ab005c5ed0b5086fe2a851bcb20444a3735ff341b97598b149e3603b7e1f7aabd7d046c72a3f7c00a3181ff3b9a2d7d5ea9b9b88b415713244dca45137c64104e1455cd7010d1b9f409af114c99829826edb8a13acb74ba81c11cff97d3ddcd6b74160ce365ec2ad1e01d9f4e40c81adf2c78c320dfe8a1897022423c63fcebd30db8aebc18e4b523507a62a713da208d389b779e5e8172e77e8f72fb003209e687fdd30fc625d83cfc8a9af0b79b8ed8b5a808231ca363f2bc77b24a000ceb253ac73bd0ac3a9e47ffef2b648abb113f92e15d21eaad3ecdc17d9caf2ec7c56d14f0895cd4e98da000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00c405ac7de967220ede2b9ecaaab60dfeb9ff22026023564c5bcbb3fdc65d2af54b8effb0ec9b8bcffd922baa58b85da3f52262ca1c6d1df1522cbed36f728a716940b3f58d905e69a140886a915ae7c3ac3aa35af4d52b3b42be7cc7b3673f5ef59ddc4f96f1b5d277cd909673c55e448c6d1d7ef3535b08e375d265a584e46ca73cf9d6ab26ff7c50df42282bbe7b9c31f34bdb9d44482aa20e63628ba6d687ef7fcf55813d94e6e08e896eae543462f0a7966774851bbdc0af73b0c85e42fc23649e24d33b9dab81936ee9ea08bf168d2ea687599ec352e5a2d65084e5c131330b8600384c63402f23d79b28305e4942da0a9574d3f940001e502e98fa3274dca0802d4135dd59895803b3111374c329310653290c6ed062314bc0ac56d406ee4ae1e506c8007f0f6dec49c692c2042cae0bbf911a7e0ef3093197319c380905a508147e1f93368138d6cd37ed2689cef6e2b68acefc6a518c11c1a704f8f025d01687e918de8a77a9302e3d8de4cf0a86d3837e9603ef902aeb0ce87c27608a1f41fb0429a0e09648bbdc73d6d3171a6d94d37661dd03f524c94a11cc212bb1dd7c056d240d74038820e8a7a2b87934692cd7d839911c2bc879a0893309a32c8e3a95b5099395f205628da7cc6d318c3d8d77c74a750c7cca4ab18f82d7c126a6000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e007cd43d583d2645abb03d42d9aacc09abd6fd230e9438bcc93833a4e6e2d7bf0293aa37010727c6f057867ea29711bbf671c341244f793c3fdc9553001e8e5cfe4103e3f424010fd248e831047d9b6c4f66b618056ab25814091c52da342571af66f5dc79b0c72f391f2f7fb41fa05d62fc2b1d95d210887481e0a25d144ca41f781102b6c4ffc1b7926905301737f566b9b12eac7f518c22e30eabce01209c42d5dd7711ab6e8abaa59c2ed94735519a405f01dc08cf81681109a9b5d64e2341824a1f810501c18a24642eb926c6538a05e92f1082d9ca6816c571a95b4463b015784b030acf4416be9bc111e449678b025ba6a463f4ef7b359c75e065ffd89f9672221b776309200358a486dd1cd7031b1105c1124e9c9e1db22d9d3db13deb295c80bfd2413f4c85414a0cc990ff5b97a43bb9d1768b89e0b45fb68bb1eefce2e3fac9529a861f0ef911705746c5799ec95c75f5ef4869184b760c249832a25623c07d3d6835a6b1f6c8cfd13deccd42d503ab291358e77016f55f1306d1416e2caca4d2282f9668110fdfcd8a355393c911c1f9c53abba7ca762c2e928b2aaf1f1b8603ec10f5f818e399f1a98f1e3f93f1146a071e7f44185f9d6250ebfe0064ea5e4ca9c70ce6ac1acaf4e887cf8b50e4f78f26adf236ceed44aa8bdcdb2ce5000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e0099cf9d2299fb2a4ede42bdbab66eb66c3e6f8119de6e398fc52851aa063cad6d7cc8b27f53d73b8eeda5aaf7e62892922a1d027a1b2f8ff726cf354393d807c2dc5f98c4d17c0b6b56ed3a988e0c166a63285643e722985acb271203ced9d0a3eb5e2e4b4f3d2ab183d6931cf819ef95dbed39df8ef7764167a3b81b079d58203f14ef912c2078c25fe788f0ef0c228a156c263c0d4a9cd5bfccb8a4b6c89250247b7c1b902777fa6c2fd9a2be5678fb4ce5fd0c54e766e0576d3b310f29e7312e049c64cac8c2bd65028d25ce6c791a345096c57c000498d0fc7419439d7f1ebcc787e16e5a26f8b967dc3fcbdd486f1235cf17e75999bd72467d67198e3d1949fc99612e422bef049326c9e0406d616499e3842a6e7951f8b183b5f72a8e30b3572fb63ff8e67693e8a1d9ceb71f9660ba77e742354f45133c19fbc82fe8639e43775fd71d1db5acf8bbfd01a0183708dada03656ed4d000d7109e4d578d3571f0d53ed825b6050fdc115c639d30daad3f3fd67c504802a8e11eecc1ceb34607e91327243fcbc36b21167e43c5af9788884fc458ffbe1e513ec8e4a669a762c2cbf55efe538e2148dda3fc649f6318694fe89ace6f7b17571d43c7f67d7ab0dc14fb64de98dec3d9daebc7bb3d671f0053ee15c42b46446d7c565628b098b131d0000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e005abf7d9ac771a2a1cb5c3f9160a75458615e3ef7b258d77a9083abfb3d0eb9b8311887bef661e43122a6862aabe2b30354c3c4c0fe361d80e2b16bfbb2da134871e3e350411cbbe6899da217845f8632b76e2ee0c746b887f43d97f78211241e01e0a2e491e2aa117f3cb91d0de8517ede13ec92a16168e7ea3721114246d7fde86af953b1008d2e17c297d263b9e984e3d05b0813687bc678157e6e569a2817402a4a7b168121d77bbec962a4931244c4870a8ea37666137629bd4d4845d7ae0a8aba94efb032cd46a2996bb82a010eb75ea3e4b05c556e612091f580c8ce46657bd18564340c54f29ebec254f5224cc57b7fe290a151f4273dd07d828fe02b15d34591eef25ebcedb372c74706877f0d3488dfa5146b9bbf48026a3d93ce2642c0e44d2b6233b59d0de3c105dd2bed486302fbec21a18185be60ab56aab3281b71d1ac98ad72e61f0f19a7fbec927691158b081d6be0cb054219919e62ff88d9dc2bf615416dcf27872a99e21ce3e02df1cc4206a0a5779bcc955c19d4a3265ccb89c684cca868ec733f2ef444c202761e118d3fb427de4c27f1e2354e3cafe78ed14fa580628fa2020b244000eb13dd4f387ba1a26184ded15de90f29bb5a01a877de659e4696cae3c4a392cf33495217c186dfde0f9e7071abeb8258b3bfb5a3000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00213f9d174c46ada83fef05a9a20d620cbba4054f7343224f4aae7ddef089e9830aa5ae3c3fb947fc87230efe37ed653ce273e526068c10a55f82a2b72d5af1a51165251ae5f65eb38244bd997d4578e97488f6303fc053e4acb9602d2af6e5e519f7a6bd271c9acbb7daf934ff8e9dd947d499c77e65ee995efa30cc16dedd6dc79bccf8b03e09967646075f7e6a2d47bf368292d6e5649b919c117fe809e43983cf2556ba125d7b301ce86f79583e201b5d579396874106ec8e66cef809459c0085d306a1d00e1d4c317c839f3fa95de38912e56b3cb1448bfe63af07ccf7d44651bb21e6464cdb7b9f96c3b2a9ea598ad79c5e62314032d675e724186417559893a9e665121a825210ce2edc845f1caf179dc170148d89c8575ee4b74a789bb5754f2e3a75da045afa531b799363a99206f31fa5fac166ac45663b475cd572ab877565e8d20bc392b494cd783063e3873762c78bb82fdcd147dff0fec9c21b7a171077cfb375518efc91513d65d8a474e88f14ff2632f316c2b11ca66ffaec290d6650c88e1ef247d64047bb62abc4af664231f5710ee9e9c8bc105caf2ccf2b80550854558379f31a7568f6715324065dfe248ca8cc8dcec74e45878d2e6c1c9a65b4fee02316d27c6e652086e0979579ef3c7bec9d36a9612bfe9b625713e8bd000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000e4f32161b7f9955759eeed6da0401a5ffb3415ba3d88c535a22e620306a2c6b02eb26147279394c5dceb4f0f0e5881d955e9f31e8c9011b96137911e7d8ee04299fe8a274b8942427c9a5bbe0880464b91ae50c73ee4a2a0b3e5d546666ade23af65221edb43780a0ce1db4d8d164333dcd2f08d318167df4325d074f630ce90fb212ca4e5ebfb4b6d0a101f61a7ea40a543e3782d9dbb2bb9b05c1f826fc5ef3952995d65eaad7d589e2039328b8e163eed57eb8f25fef3545e0b419b51a75129d2ccffc778fdf29afe544f5472b43ba452f83c7215ec6c15dd8880e92cdb99c51e9ad6c30cd9889c9dec7e9be6d961a4802d75a130e4d158916bb783a8ff0b02bcfb37a0039856165616ce219e4a233e48802c3fc5f11c3496e247f3a530a17ffd00841092054b4a5b3c3ad7cb0d363b884543fc590c08aa4d0bfe0a5345fa7fe5129b891bbc4edde6d8e1072cf9ad40ea02f83989f0fa5805dd0427870d134328dcd6136106c6a93aea4b0a05091456f79b434db72edf6fa3fd932826d1de38a48194c152a1f8e4ef79e38772e5a1df4a8bc9c5a8d5f7f64ca4293562bb19db8320d3549530ce05588efea836a58f33168448ac515f473c9e38afb05424915feb6caab15e48f07269f873dd2b1233f03479722c6ea239f6df39fda06a90df107000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00839599fc5fe0b6647d4d4762369358d33c27e7b0e0a0e5927ff64c03f1c3f0b68fb94558d5935b27d64a688623172942c552f6cddffda2f76e5441d7c0e51798071fcdeca802d86a0dac21536ffd1ef68c0592e01e3eeec4b694f8b538027b3222b2c624325938c14176785ad8300f209473d562ef09f2e2ba5b0f56e983c321c88524f1384b2db93b0b3a45a07e651d72a22379fbd19268ebaedb9b0471cb1d7b1a428af9ceb25655e2ab9b81ceca351ec2a58ede168c602069ff35b82ea8e7171ab1c9d43275f2d90d4b7da6c2866f106eb5af255dca7db36194d7a68a880dbf1b3283cc162102baaf9502d6c3e276af4d26f58b21fb07e187b827b620fee8157b79ef00be2f22cb6786e9a8ae0ba240cae998c6f1806bd3bd3023d1d50db06ce5de364b622a0f504f228f5a2cfe5775d7e3e3b80a00791655f2948c16f382da4a0e94be92e89f2aabd4fd510fb5f6707c16d6fe5ee3f6bb08921d16a59d4da5e78953b40277b2abb1b12d9ea5c12ec6bf77f5ed8e60b36d0a3c2fa4b1126ab37e6d1b4bef0e0b46d71751e21117fa6b9a3de9f320ac5bcec176869c56f57669a52cfcc93924e128785e490cb3244709db0793f5b561a3ccfa2ce372c911068486d8cb43e57eecc89354508cfce8cd55c460c0a69ef1fcc9a8f28a5ac5878d3791000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00e82806a18796dedd01fb6de69a807092eacc646752a3bd40f85e10331b0ac45ce69a689065c6e94191eadd0fb462c550377baf3ea9832fe43044d98ca13ede6e808233d3f6f07a0f30333cf3e7a7ff2ba44f7cd6f94b21cbbf77355597c501db56b9109defc318cd5f7c5307e0196861e9c3a02a42af1b4353577f2cc7273c8d53fd3bf4e6cb9f4ef401c2fcf133ee234cdc36f700ecdc7294f141d1c737401c1610e215ce0fb60222d2db853d3a7fd68a69e6a98089aeebb2191033a90ab9c3e9c8d74b3780b212fcca9f77d0ae39b0f1926f76a35866e8d65634d41109594371c71b215d1c37aaad8170a54077fb79df3c517262afb0d8969222a8270db23a3fdc54a0848b10f9029521b70aae57ea36ee8b05871ccd24d8d9d0c838f5d9074916823e75d1a368da6c209fd2bcb80afd9e3e5cb31750ee39ed938eb43eee9e438f374e441302b9c475cd138c7760c660ca64d5f1e09ce3477ddf43580c4f0b352e41bd92e4455946b29e64054cf0be5c2332174232bfe07713963594bd3ed8767b0c88b91f8e78b0bf3db062ff56a70cab77cedff4b729349a07c56dae3737cfdbd8bfae3b99a000aedd0e33d9dd8a1ff73808327c722e1c60fa69d5beffaa0a2046f087acbfade2be3d3baf46e8d63c7f123f8b807cd6fba41276378a78400277000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00b5ad3961fcda032077cb1c74f17eec2d8e99023afabf9a972b65b4fd00ebbaaef4b5ea947ef86c2181f6b43a6ea7664983e07227d2f8786a7a5d488ecc7676c9e1a7621d7c49c9007bb9efc05921ce00243057624c92de5406c5a83458eb73923f7ee8426c8ae997ddc0abb5751a8005d52128a95077ed3bfd76364d3e43b4d80d80ee1301e0dad23d87c69dbebb36777b7a6389afd93662c2b5e9ae166db60dd9035522bc4072a1406b0978ac28f6967679fb2f267bfcebc7458ce018ff5f68bf9de529e1e33cd43208958a842222a13762aca41391a5dbce9f82fc9715c2cea004f5789f3e2b99fe08bdc64fe2955aaaad5d898791c931099d0e161e268c53620e23ab81cce74823c8abee30dc2652c758516713e5ea1522089ba67dc2a6fe479f72749986d59a5c97d2f5efb5df28b950a05a70abacf48369b4d261b18c83a2845753e2e8488d3c69f4e37bad1e08ec16155d69d7cbeff7401b737527f404ae74ddfb5e3b051c98afb5d74f3eb6132f489159fcbde2edb85188c632cd3a8b9e314df378af089cce70bf1725b0716ebd2867234b8c3db514033953a3ef5e70a9fb9f8a85d9dca4023f7d04a118dcacd78ac3a635d0f506ce34f4969f294b9731ebb366cc204701158a2a5624bbeefaaf56a76d339471102161830508b9f60d82b1000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00189697c76af326dc3c772ab468e26962ee3fa4362ff6a84dae45b60bac92faeadd6970ff2c38ff9deb8d6c129c26082678013f73e61deeb391eddfb642863df5fc091a72396a55f3cbf5799e321ac699dbefd065ea297f7ee0412b0a920f8baff6af86b367ceaa950e0f0cd05bd8fbcf55dd80ef06790cc1d90209b73ebce04f2c0ae6b9aab450d281b92ca58dddcff022b6f2d9f156da0c9c3e4b3ad6c7205bc39d13e02bbecc70298a09c63a5fb89b38925f15f3f9a4ce06b8a5c5121302694aa50ff4da708a36b92cdec80ae92b629290b3c662835f94e3978975dcba0a2b5c6396b5e83fe30ca92cd3c93ae9c8b8b794bcbaa71aada86f2531ac339b76651b6164ec4d8eb62f51dd07e5695b6c7a6f7a612a134a70e865df68726d1a1ed1161aa1bd2333cbcfdbdda612b3595fcd0841f7b290952fe39176abc8223fce3b4c7efb26633365bc0edc9e9828ccfdedd50806322f15e70f5ef565732495d8fe7bbfc24fe6f803a449c86cbaf890125297e231364191831582e40c6d749c3ecd49aa525d049ca3c9db19ac634f76c09b1cf18d93fcb4aa6d9e595e2510da6eb47d1600a9e72b915d2bb7e62fcb36443918a02be715f497d1c698a3ee793e3f5ce57ece76039a3298a11ed4ce612a5daa0b64bee1fc2d7bb957875c7dade927f7e94c000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00a606666cd1496e781cafc7934953fd6fdebdd21aff6456b9c1c781a396fa310c56e24950dbe1a1350f2cbe0362e8c4a72ec7d5918e40833eb4ef9fe034496a0886ccb91c13560eb652b85ad046df0cb989575bb8608e001cc0348ba5260f7377b91033435668078bacf2f128afccfdbe43836aac1c3319f8a776231fd10fb2e12a7fd20d45a37d3646aa6d343280b97ed42da68298fb4abd7835f1d254c9a9f35b8e8d1bafd5b8a5ebf0fe81842b23a9b60c55f1e6bc7da9a906f942d949a1365614bc284bbe6a4332a48dda2a9e7cd4ec0f04a2fea6615c4016d0ca3635e4c91754902e8d472a93c7d14767cdbdb8b322fa67442a8c92f9af0d84234956549fcf70b2977076476cf378d5a4ac60abbd184e09641e82056afec5b0d716c8b1baec1b2e9e048b800e0055a292e7bac1ee659a93accff0aaa38104256221bb96ace970f213ba725e07332b27f0296cf11c00286568a9d9c1ff6dc37b13e692fcb27164128afa0400e3b77cc5e0fa9dbb19405747ce92990e0dff62f54a93bb9ed2a3447120c492532dddd9fe351f49b30a5748dfeef8ee60cfcf17db558b337427a2c3f3c6ddc14e48507aeff8f47ec88b97ecf6b0107be1d110501e0f4c0c8f30159353ed6e2c46d65f6fdc67b510661a7e62a688c2a6a10d8ea71a1eb5865a0a1e8e000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00124c6f7f31d1600e727172e9658337915fe437c86ace16c087d99ee1213326b3324ee77c39334065fed3659d70903acd51064c2ef6741f76b2728ef5c0f57a829969f4c5f6226126ba458341f9a577c08edda63a0c91d08300f2d3dc960b35541cff828c1699e39d45b7d5b72590ad1ae32708c6575d8ecf6bec971af63bcc4815e3162992f735c34e5189048d1502027bec41985779b801e17e2590893cf26e4293faeb6c159a8edd23cb8696b84b2f1f33f57f662e3921724e0ab411b63245d8f2531b9d3eb1d95a9860960ceed33d28cda800400991386cf0372d56f0adf1452e52b3b9eec1454149abe0204947145236afd5cdb90d5d0eabdbf65c25a8e81320df1470e4d21b9d550ec15d78757fd8fe90fc06d7589ef923c04c0ae83d058508fc19e3afc7546eaa435b4ce3e945e3e643fb1e7bfebfe4554b57f23a24e0047b5bbebac08ca505fec7d664992bc84d96de51513be55ebdfaa0228265518515cd0532ea7a0074a8d522d5029e2487bfab6305247c46de901554d4f5fceb27c06157663fde71ec0b899bb05ef54e3e47026fff54c8b062d96d03549ca65c0ac012a1575e38ef5b28dc6d15d5e1ca9ac7fe463e5a1f1191e2823960c8fce14885b976cfd5f67a4f0379b4424f28c0860ad0ec24ae1d296fe85d0bee5bd034052fd7000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e001b20d6f3e3bdfb5bdfc0ade2576fdcf8e1fa9bc66caf695571f7e3a1d3b23d3fa860ef3e05810835c9c4de4ed8efb34bc630688096a7d500af9139534bf884dd81f75060b50ccf7ac0246cda1f82ec50161105cc14fa2098d52813a4027d0d466e3cce49eafbe198360890e7ea6f72dad56f17c9fdf3c9030212937e869351fa9a497e62c4def8287055f4e4cb5e5a5abfcb02c742b5758397f4b604108c471505515b36a4d966b7c4cc438a04cc51c477224a0759d86cfaaa8dbe8a45c7a4a833fadfc44d98c69d2c961b1892bb0bacc4b430bf3c1319a5fdcdd1758376c4aa6876b50a424ceb9e9ad4233daa8578863990b38ee9d3167c004d8fd1e524c07087b0bdbaa3a6bfac8ec5091e0abf14b1b6e3f8d9626b5fd97678047b6f08409fc9397f9a6ae0eed50efb338ec22a6272999deb22f4afaf0a89c78a761d0556593c4792cbaa688bfcf3f3a7d2683d8cb14c78610b3f88706e978281251d568d2abe3e5d43859e43de363c299a3ce672612208244bf191f5b869915d7a4ee4539baaa07f25b0f55b39c1b24660647a061cebaa7db4eb7567ae00cc4cd9c80e3cb3b526588e780ea147de668ba5e5c8ea3299b09d69b047727892993aae7b9a1f46bc442db194ca467467a01792c8bd0f973f81282c22ad8c43444be98a735c82457c5e000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000901ec2477f7d4f217393fbdd76140b34a52848d058123542c718bfd57741cdef9994a8e0d1354491ddf87dffd28c5b2cdfdb89167c3d87be04df3e685aeacbe8fbbc18a49adb280804edda7549c5637d33820658eaefe86bc12ed4ace90e06d919d1f315733f99415ebcf57e132342f99a2f3ef49ec819a6540dbd3b49d2666342636bf55d3736cb45c8047d297ccf7da6e83ccaad84c294d264972faab3de7859d5acb76215a2db45385bec29240ddc0cb3ca865789ce9fc324214c65c8f7158b61d1bbbaf3857d8d948882e3ba2a28d270016b29db61f7a693a32074bf72886731dd69382c19ee4f1b955d68ae1e778bbc5953b210e3e633dcbc4a88d388b3279d0cf56853b8227c17afb76b74c734b879d36cbf6b11d1af9045e60d51fc9b9ea1b57ab7b77c2f90f0cff73eb02cadd5a92e455128c036a712431db39103cdd4a41ac997aff4d3e98a72f4a28cecedab640a307ca6a05c2c77bfb8d06cff2fa92edf98ccf4c43b34535cb22ff16d0e99fdf16138fb106ad05d579ef0a4410de6de877578fe5d79f4f407d13edb86e6986aea78f0b435f1b1b380e1e42368e4bfdf0d0f105270b0c1b5529a2e581b74c5b0ad7bdfc23658bb735a3b6b5b1eea479f417ab8d0785aff70a22daff0a726797c8813c7b6c2070486e980254855fb276000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e003f55d0d6399130b54e506ab4a447fc192249f15b3746324c8333e9715dac39309b10a94df96d4d9d694800dacf6037598eac64042bafa2fd5355241281c83c250df8cfce9ed1a1500a18a9c323e5dd23209a76c61f858163a6858d9979790d0509ee37a712e89541ad9809328555f09e04702be7cccbe29e6c1193f7e137deeecdbe1487f13cd1e5668abbf50ca25c9b0d07903d9d1deb449ea0b0243c7b7dff9a959be3f352da495cf1bdfb8c8fe3d9a950f63eef912f5439b51037ea80efd9f1696fc2c496d96d58c8933422ee554e1f2165794a5326dc503ab4fabcb95cdb31be3710a7db0a9a29744d928af053080a03f5bee706b3bb5341e7fe7658e7f88f84442d66bb632e9b03bcdaa4bdcdacfbb784452c4cac79ab88a52df791b6118e7ed493e93770f6467f66e5c6f3026c3e4bf922b45b2436032e4091de6b95d32fbf802a6c0a5ce2bb8e0c06475537403a1fd420745876b7c4dc71e9395c25d4222bb6a881e26e3479de31cc5fb9d4d3ac7688fb8cb0ddfa527437e479e30642a57be852843cad539c87f240e4d291025e4e1af88632277da8c1d0b746026dbc1c8e29e2453b905b8bc6f1d95e7782f1b88bc5ae0159068c69e16c70d3da7410e60649d2e368631abe4f3784469bd5eefa8f6c6f353649bb9e97a70b5c0813867109000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00278593962a4d09bbed5aac3165337356e5f3d56c8b4a7b9ca5ebe9f4a6d173092f20e9a61a7a1dcd43bbef334f886f1cf6639837553c1aedead22036ca2b968c1df4d6f3391d7a98e69a7b8dc97a484f5721eaed75db274fd75347ce71e0191e26963b9421341b8da384871bec8d7c013713156747e25b6704e123c5d9619b29448fc0d130372e493c60521e8519a43b852cf4601fb600b8734d3e45b5e56ee9f6653ef03060fc8e1bbfa9cd118af8b29c2eca904d37f3972ceef92f3024ac58a10883097fe41c3fdcc518b9253f80d840e7c91a7782b367c9569be0cea9705a5fb83282bf6ac08a6b85b3ddc1364e5bb9354b3101624d1f8c265d7d5bb800401be6ffc34a82b88c54f905880ef20872adbfb9ff75c4d309bf8693dec7db25d45ab7e6457a960ffc28e85b61c191ad26673ad4cecc90b9719150c91c09a5e52713651b34f7654caa8420b68fffba435e69b7b62e0a11270988078e253fe4ebdf67a0f5c277ab74ceb666251615ba00a35a75b19436aff8d4ef0e6012ebed4a90d390fa333d6badeda9e7ce9d065305c9145349b9a7bf296717a26384f1589bbab954c76e497dbc85cadce3fa773f74d19df18d7e260d5046f36ee45f0822711d3f2fb1d0cdf4005f361e765727b22c11b101121a5034cdf9e6f33847cef2a98fbb7a000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00e5f56cf3cb141747fb3ea895ae907be2d68cb4f14cc63fe7cd9211ed6d9112e93bc0fbcfa2c3c6e3e70476a6d577bcd99591f7c07f7971ca5ec5abd3f94182b85122f18586f772e076abd09464e62d3755df089ddef23b264d84011bd209bb604775912883a8e35ec71da3a2c60312927bb37903cca2d2cd222a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "bf7e219a1a7258d5fdb4f50282d2dfde68f5980e1afc9b91f96582fafeb16ac776ef1c06cfae2b150c33d2d9d7ffb45b8b61d6767b6b4c518d2faa25a15abb1371688fef0e12847a12f7fb5e3f8bf0c634bd2a94ff00234f6d5192eeb7a7e55f9c1905d8a7c1a17402c02aff3249f974bd9503ad59d9d35fcdf0a1d443565308dfe88ac9565c1a96ae7f38f2e6f6d5cf4b70143d017a1eb1ee5c8bd07a03b5fcf188fc8081e05dbd32bd299493818eaa44f944460d50767f159839644caeea1f04aded72c6104d12db5e0ef68553c6044009282bd388be49edbfff22820d0baa3f3513361f2e2645a51c4ac2ffb84886292459001985e9bbf22441d9e7ed6fd087ed6b97d6121022e8e6c2d44ed7bf3bb713c2e947ac39a7a9306e716b05b08ab565cd0d25ee2e7f8a270beb0bbe29618489fddc6e29b7e867ee28b1a2e594e2ef801fc190cc12d4006c597cc9203c4fc538dbefadd3b8cd229fac86e21b744db2e5c12c403b7b7a309eb1988f9aa4765c4a9913d1cdd642ba854efd2ae91415ba14fc46a2c8319760fb540c97124e661980766cb86e616a835f4ce5a441fa8b6dc95556804361c613ffe3d478d1bdcbb84a1a6de1bd3b5dd46c95ebdb7f0cd742ff8a80475aeb1332099e74ed786a0c55efe07a599f8a4962eb8343a0540c2dd563446af8a69d82a851a141e08f9d98bcd7072813147ba2e0fc8cee6199e928fd655928c488efe6fe6bdb6c0e09fe26b07c67b41c17231a4f238380c4c7c853ac487873d7ce7121a4cb88d71226832591fdccc482df0cd15ddbb337b2df643656df3db607b762cc172bc530750f2d374dc1cd778abcb9011003e3a7b6bad8103376864aaba3bfe7817978184ba3860a5fab267bf36f1293977a1a0a646b4ceabf7b14706d1f3b95bc0aef6d60ae8606abf935a6f33303d2ca6fcd71e6e7a2f204fc4b00024155e5ef74f04b9cb9b862a3fdf39c5ae63e070590d381d476b9f669c336665fd0d9d254529ad531503f290460ada6586c7044964f522154724ebd35e4d4a8f4184f3685a33db9aebe88290257bd9431e84d70e4969be009fb42afb3c33a01b5c8e3a8b1a06dcca75ec2f3dda526015a0b65adba6686363bd186715107278a7018b3b4b9fb6b6a4c34ce50db697d522c265ab1660f85cda2bc7188fab5386d44887eeeb4b3e14ebaeb439c8cc9abea43f255effb323cc6211e713177b2eebbb1a69abb75dc0bbd5aa1dea8d4fd09cb9f47c35e36b1abd34761823072e3896c422135ca298f550a7b4988f834f134edb030c0682e463b367428cf12068a9ce2e7b8bf372a587a41838cee1719a034c7334d290dd223ea8f6843d401a56614afd82933ea0a9d95686fcf75d9c10f4c5a77581c17841dd8a56efa529a67de45678707331e5deb136265190a32c7cc3b4659ea5f006f5d8bb564c85f5a", + "shares": "00000000000000000000000000000000000000000000000000000001000100000400bf7e219a1a7258d5fdb4f50282d2dfde68f5980e1afc9b91f96582fafeb16ac776ef1c06cfae2b150c33d2d9d7ffb45b8b61d6767b6b4c518d2faa25a15abb1371688fef0e12847a12f7fb5e3f8bf0c634bd2a94ff00234f6d5192eeb7a7e55f9c1905d8a7c1a17402c02aff3249f974bd9503ad59d9d35fcdf0a1d443565308dfe88ac9565c1a96ae7f38f2e6f6d5cf4b70143d017a1eb1ee5c8bd07a03b5fcf188fc8081e05dbd32bd299493818eaa44f944460d50767f159839644caeea1f04aded72c6104d12db5e0ef68553c6044009282bd388be49edbfff22820d0baa3f3513361f2e2645a51c4ac2ffb84886292459001985e9bbf22441d9e7ed6fd087ed6b97d6121022e8e6c2d44ed7bf3bb713c2e947ac39a7a9306e716b05b08ab565cd0d25ee2e7f8a270beb0bbe29618489fddc6e29b7e867ee28b1a2e594e2ef801fc190cc12d4006c597cc9203c4fc538dbefadd3b8cd229fac86e21b744db2e5c12c403b7b7a309eb1988f9aa4765c4a9913d1cdd642ba854efd2ae91415ba14fc46a2c8319760fb540c97124e661980766cb86e616a835f4ce5a441fa8b6dc95556804361c613ffe3d478d1bdcbb84a1a6de1bd3b5dd46c95ebdb7f0cd742ff8a80475aeb1332099e74ed786a0c55efe07a599f8a4962eb8343a0540000000000000000000000000000000000000000000000000000000100000c2dd563446af8a69d82a851a141e08f9d98bcd7072813147ba2e0fc8cee6199e928fd655928c488efe6fe6bdb6c0e09fe26b07c67b41c17231a4f238380c4c7c853ac487873d7ce7121a4cb88d71226832591fdccc482df0cd15ddbb337b2df643656df3db607b762cc172bc530750f2d374dc1cd778abcb9011003e3a7b6bad8103376864aaba3bfe7817978184ba3860a5fab267bf36f1293977a1a0a646b4ceabf7b14706d1f3b95bc0aef6d60ae8606abf935a6f33303d2ca6fcd71e6e7a2f204fc4b00024155e5ef74f04b9cb9b862a3fdf39c5ae63e070590d381d476b9f669c336665fd0d9d254529ad531503f290460ada6586c7044964f522154724ebd35e4d4a8f4184f3685a33db9aebe88290257bd9431e84d70e4969be009fb42afb3c33a01b5c8e3a8b1a06dcca75ec2f3dda526015a0b65adba6686363bd186715107278a7018b3b4b9fb6b6a4c34ce50db697d522c265ab1660f85cda2bc7188fab5386d44887eeeb4b3e14ebaeb439c8cc9abea43f255effb323cc6211e713177b2eebbb1a69abb75dc0bbd5aa1dea8d4fd09cb9f47c35e36b1abd34761823072e3896c422135ca298f550a7b4988f834f134edb030c0682e463b367428cf12068a9ce2e7b8bf372a587a41838cee1719a034c7334d290dd223ea8f6843d401000000000000000000000000000000000000000000000000000000010000a56614afd82933ea0a9d95686fcf75d9c10f4c5a77581c17841dd8a56efa529a67de45678707331e5deb136265190a32c7cc3b4659ea5f006f5d8bb564c85f5a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "namespace": "0000000000000000000000000000000000000000000000000000000100", + "data": "f268deb0c65666b58e7e59430c652483780635f79d2545e271893a8874ee92a3533b077208c05123c730766af2ca2c627bd7ef549790e285a7aa13a623478ae1905cce4bd29ec7c9511c08f009251d0175889c95e9fd8a0881526ac314f3c8519f8f2dc5dffa919d5a4ce85dd21bf2f84150a16224b68d09a00a44d17eed2721c8422bb7f90e56ab5f768d3bbc3ff09485f18713e47ef1d302a19e1abd564167926fc5ab41c9c076a92955de1408b2deb64fb2cf5f5db134f4696b2dc1e025917973bf8ca449005c118dc637dbd158c633db843e02b2889ae0e2bcde083728c7ebb93001baa214ca77031d83939a69b96295f0bcb6fb4abd12ab85a4268477f5288c1fca8855dde1f9473b4a66aa56c575df466471250430cd4b8b1f0d75683a8af2381a6466be26db1a11fb9fd0f7beb89ea72d281c974ff5f107ee8ad5a2bde3cdd87f96c3dc7c69edd6224c93b4ea1e75813717acb4226dcb427f1e37de17ba74ba544bc399b3292c27928ee0f3afad731e1ad582387ed78c24a020dd4f5dbd469df009a4300d24db4d46085b44d809e3dcaa4cbc1f2d7835e5590b434a5ef74ac66341711ab8b20fd02debbe32df0fc0aaff5320516981e8d943f5438c9cb58dde5f82160c6678947098d80eb82a3a841f69981bb7558f7ca68d3bfdb0a9c64917e6c8330c4ab7bb7d2607a30b1d2d4614b0fb3d13fd28e9b51b4ebf5be5476a2861989e009816d32a63f159bd79a9a601ba1b809da7e6882f97cf92b898a6085f82a401949a3bfc847d2de105d244b15a7bc29e7f76bbc8f59ba8e48bee8a24b1ca12c7383c7daef67ca6562b65bbb01abd604261eff16720ea9e33c243d97a850aad90bec095052f7c506bc75d2319f47777dc941a0f24042b663a7b3127436db478bb483f3b16fe3230a7b369202276b9fe8c3f32244d8a0e029a57d38a599cb118537a924c9336f37d35ac2b43a4fc800755a5667e47f827b07b31d7d31a83df2325cbb4b2835a979f2f2e0ddb5fcb50252352c3d3e78f2c2104577d58ce5d2cc35c3e3afe03023a62a99eca25acab3592475bc6d729ec34a28694994da1ecc59d0039b0f317e29be0e44f71b16b787f61c9f7236f228ee5a5d1ade5e92735bc5aa79ce76f49c3c2f4b15845afa2bc32ab8078d728f39bcf93251665529034444115427df28552872f5e7c265b9af8f37010064fdd83e79ad512cdf9faf1ece1bea97c4051caf678c22add6ed44fd968de6c89d4170cfa0ccb03ca2ec57e7ba6e8d2eeaab3bd7514655c3e47089d560dbf3b32a2deaa569c85f8da13700dbd6608e2e976964713b46d25bbd73961e88ad7a6684bd55662cdc3f507ce495a3e886d3259a08a6c031bf70ac626eb9ab13cb5aceafef283ecf9ff45ea7dc44194c617a5bdd4686d0de751d27904bc5715101be90880d36df0efee551f9a787f480b04377de271280c985d327ad077b0d72541777163d8abf33c0b7d6b261f5b1adfa9d6f5fd81d9b664cd60fdda726aeb1cc4344e0ce4934ab162c3390247fca4948f7a4f9cca08142fca867d482afdf06ba6da90ad8b34ff9bb8ce98eab05a7b7b1e2585a43aff76d6f98a5217f4456b48f6651017d5ad230577ffaddb1087e40275c745938071f8e38ca0028d3f890342bc1914345b5053c9f61e3f36722e96e44a1f5dbf7316f18b3abc35533c9abe519ca8420b0b19f9ed2feb67ece2e2c3706f966f6c7a6e4cfa55e53f2d8202e5fe99961fc8093cdede7fd54e20f74c17e20fee6fad0ab6d3d69a6a42d7ec0d5619220f993abb0272435491a322cf7734e4aa0a4d2d746188a57578a3998894dc7eb6e9bb9371d7f45db2ab64be8c5f259a4424c8b5fc8153c9a2c669fa7db84bd7358202fdf7731a649d6e0db082974e57228b485358e977273c7fdcafe10e59ff8d1926e30c5db1acdfaae411b6838a82df1a9b2cfdeea8a6eeb32d17470d972ce235921c1c05b5517c7e01a50bf21af71b2d452f9ed1cbea110ee61c540822888c5b6c4a458c6c1e837804455356aa73d6baaf7e480955fb43c817bfb5b600634b1e1b5cb6cc62b70bf91d4953fe0348ccc1c1df621b75d0f3fd4d2f744b1388eca424b969fe929062e958f26f45dac6b36912647f844f3a3751364f9f64fa508f385eef32fd8d152a05a098c2de6e3a74a813a0f398c68c0b204b1d8be44e6b05ad50032d6c172978a285931fd3da56de3f79e37ed2a5212b4f7164a37f8d8fc1c802672c3c44293ddab11c6e0090312e9b83dc9a08495202deada9a7705a00adbf9835420c9a0a26c46aa76bf7bb2aec21535543fd8b09d9767944c79b7a8281d7105b6353d621e7891ec79275c447987415fa52be83fdc8a034e3a57caaaa9cadadf2718c3ce83197693d238ec37864ae85cd9a033a2838f689949dcaa17623f85ff03803852ef336d7afc02211af59233cbf82b179f8092bc7aa28c438f1ac4189994e6c53c7993216f39430db64ab76521e17d65292d60bba3324019dea184b8e4638905d1b6780c9fd2cc5fda26b2a29d30beaf68a2a63ef25206534cac0dfac29b40c71a98c9d9e9b729e1c15617155314b849d4bf804da4bb248ed3244c4c9cd74c2299d4175ebc4fea3acd9f97b471160f252cd4c1f8a11596c08f79629ada961cb40e4601eeee05608116b5df24fb20e0c74165c9290498d68ab49885cf377167f5663f8e388c95245a4f351b3a791e5de632ed75abed6b4541fb9ba4d97c77d3a7834dd9a952ae112ef8b6728a0d5285203929628cb80daf78a172395b516341d78748b53266d04acd383bc89b07792ff2d33ba3ef7c63169148115263f9e33a85da5bde85ad94654aea20dd6082633ddd6e16232a71e33b942ce0dc28076ca2c4ca3579abf1d0b7523bee1e1d146f86989463bb9d5599ea01d3e3c685b6f36ded4526ccfd96d2737b2dc9748b8d3e85f7d6f4f3ac040de518c9ae29488727bf32d209abb09f7dfa8c90f0ceb99c5ee80eb832357f260c6be15172d97df21773114fb4fabdf826077e6029631b7e8a592707daa81a368dca4b5b29a9fb384fe806d73862ef851260786c52217c1e84c072d3f9b28eaa6185595c8c1276bcd114417fd907de925a07813f13f248b7a65a047c753ce4fdd349eb41de21f61c623bec585d5f72a3259215e37caf05c2090a6f28e7c00faf45a8a4833f914bb576c34c8c731fe391b61b2a27a0486b1972f06043b116ed1dce94d847461818d155da95c3a4ef5a2ca9c38ff3532b861a44f4e6d02aac73768ab43b8b1d79aaa7bf8827257ea0e37033a30788c66ce4d6a77cbf5e8a5ec14f1838e615b783a4c5b515bc35df18335e93dc9f52bf27a6ce9c0927a6de42b27ec73016fb436b24d12a93fcefb8f2b58bf4e497eeab2f8c0dd35cf07237c6b77ed8bd1d43a7e8caeaae20aadcd576a24d398ed22131648bbeeebc15f76272c16fa831e3bc55d3c3ce5853e1aea0f9e9e59d039a1736b7982bda33dbf79bb171d83010853e84ffd74d40b22c43671a94e9dadb33afdc913ce109c2912d9bd2c366769ffcefdb42dcf48d241c8fa5773ed24c1b83a8b3efbab783a9415109e085e4ae1cc171034e8e6fb5f138f65dd8b5d69c7b028b34a249c8c53a7a281a5610a7bc39bc67c14384d1371b7d3669290c5415b60b2ee294c2505eb6d3c8f18f370cbeded88014e4edc12a26e31af6ab18738a83e6bc8398b3b4b16c463a971e51b9de43e93f4ecfb0b5d18d1578c9f682cdf58736b7eaf5a103972497dcb1af7013b232608dbb54564a3382415e2827c76a5bef8d95a7fa4908384f279e5ecf57bb4f1ac60c3257633d2914753889604b121a2a71a07efd2652a49d32c8c24b997f3bacbe5755ace80c5b356d9b7ea2fe8b83e40a0a6bd625bcade215e90f165c734802e6d33cc15ef136aab9d542a26ad45668b1e136e4e4935a65612b0ed718249be07f8d28db03f037efc78f0e3ed9c07e653d8b3b7e07e09da19337ed037fbc924c9691a6382a5b0176775fa48849a0abd866fce5798bd23a14e345ea27fdbab0d0b5214c1bce317475cf4ba3306b5b18fab18fd01745ba6202fe65f897df056c5cbcf922c6bc9e6072748f9954ab20df686d2f11867d4d4a5cad493bf67abbaab108e753eb1ad162e68c8bdcee376ea1805be8486ed62a5f6c99836a98bdd5c70e3e6c9df71a3307be403be0d66257a8f9ccb720dd69426d930792bed7cabc0db397c6cadd2c1ff19dcbf486874c9bd313d774975f25f16152ebc37e780e213b73a5a9aa462295919946db6a6a06e6da46ac0f6a400e651cc18544f8bc6f9e5ba1f1fa9a417797d1267e76e25d6e4eb775cd0666a9dbfc2aa48c8d04fd521db65957e20cb25a5ac85b56c8fdc6f3a11b88feef5cc512b7ee809e899b2f0975fd0201111158daeae614ff7f6ffa3bf07763f66997e031c197e48f2f56790a078beacb7bc3a985ae12ec27bb9b27f2dad433961771165f66ac39286852694c3a65d924f7ab29db60a02e1fedf24a4a572a1a72e2c5f14aeb7cd7775502cf2cde15ab0e8bad2032bb8b6f9e78a45d19965654a17485d92972e36cf8cf70d9b0ad4fa56b81fc1f03c7944fa33f7b80e10d50c3c903c0ff57a6d1f8880e72347ad159dc30263d229305087af19815f267eaa3f01a84dbaf0f02bd734a77f16f4b99c52774bb664a6707f49421d13f57a672d79f65524c164f38bd65a9d13452a9b2d7e2fb3361e1ac44c4475c87eb1ba8f67228602e42b53e2f68435b5a222e0c1bc332f923b2540ff4c3007196f63e09eb42f7b3226455cd9286ebcdbdaf5ee82d095d36de02777012627f304e2176c6610774ddfae0fcdb8ab34efe3f4bd88583bb5dbbc7d745994df3197c05da3f7a88cac332a55ab1bc400379d8ce6926af4c9d3ae09d4c6673f7daf385861d0d4769389f48632d3f73c6e835985724f6719f6f45f149c53ffc0ef49b6fdc7e77ec2911b410cf75599ebde255a3079c72eb0ca85ed3e12c78dd145cfc4fc6d3920eb4ae323036c7a11c505fbf8946a32c922234e5cff1e3280fc3891fd2a1136f555e93ee163730253e5fc1b91e76a8480bb6686a690abebbc74d4c61a16b8ae79e8b5073dee88bdf34342f9f4c0cadb49d6154f5d4948d0569b836b4a8e765919286f3fe7737615a7956f8e4e4db1a956363d1eff66c73c4d07345f62be159850e3863c3919351b7b1ded58ad4716ffecc006bf26d3b03aa3370caeb0351a271489cdc3b4b7da099717fbcef5ac2020d1df48e99acdb9b757c37781f3bcc1d4d45aa0345a9ed699897d4d07d83ba53121de979ecce3fef6f0befc8a1e88ad35786efde8a83e122fbd3fc6ed621156d6b30da2459d54b8951596138f1704ef3e0b6c1cea412f39e82a5c4e49a1f10b7b98552c03d380c38babaf1a1ef86d2c04ecf7c9d99a097b2cbfab4b39021012d76715a4157296bc256ff4b14201895b9c376cff9f000e9b9b5b8668a6231c278c8a1be4c20ffe7f844332e9d66f5a5c363edd7a65591c9a79b3249358006e84d33e85a0d71a4ef3f481c5b5c0ad5fa0a38ad00d50e5fb5dbd8610cd37cc375c08f10b6f030b6ae87bd59dea7e2118893c4f7a45fa48891940ebea6aca21d769c1b0bc7747859879242e6aad7fcf62b8cb8820d4aacc8be626d447bdbc42086b492b27bb75df98bf4603f99b9cd7b7a3a50bd1ddefb7e28091362aac30b2d3b1032ed25a955db0bbfabdfdc5febddd7ba4c22a8ef522323cf35006723f2f56a17ecb6fd83a07af214f364d1ad251e41f5a6e2b74163e6862cbf62807212e4b0d6d80d79453a211e9df4ada3ff698175f48a0779cf7b8afd3ed52fccd92d9e0368a9ce5574738d968b79daffb48883d44183c56edf62fac8af0460a86e6cbcfa1e44bb11baa8b962497f3780066a86effa57596faad8f641d7f2084ad80d83afb4a2857029a1306c8130c47c3ee0f8c46eff9b6ce69261c2d53d3ce1f422b50385b4849e33736422b5dadee782b2fb63090ec4bbb2cf842e7aa1a7a8fb351b83267be74c25cf4e8b5cdc351c4d0e7b03863e2c7aab2143cf799a3f45ba708a695a890a4b745a33ee211fc807b7f6db08a85c582d32feb4cd1cb8892b1cff0faf34997d62d58c168ded66f31a28559f28071d38428e0890ac3c6105616c6b1868ef64c99bc3c32a61846511a9741fe264a27c647d8758e0a016114dddb390c706d3b562b5e50f3082894b6dd9afbd4cfac3d693643947aab1da28ab918310e39bb9fa3bf06a38c233ead405e41552a094c59e3a337daf5fba776ab60dea4a33cb1bc68c2a43e3909406a097b0dad3a7ba31bacfad06d79f515a7c62c3b0d9d0f2c5154c99f3d417d610339a4b822bc0c89fb1faf9245c7d98677d7594cf9464ea7b9b19d7ee11d4b5fd03c23574ead1bceee7c14127e2416e91abb382985501253bf9bad98d76e6eb34a6036fdf99a18600e22525b9079da9d7960c8ed38a40f87f8b301b9968cd659715c9a8a4a73123a8835505a86296ce1270c7095c575676719276d794b1574d1031ca536b7e558cedf0410e1b5153faaf301e64ca739809d0bf45b578536d46509ab2c03deb39471848ad94903c4b3d36549e45b2ddad96a481ab84205b3a0657a32f5d1cefbfd5eb7374cba227c6f993372db5c0a3d4803770109923bb9e82a789f190912a698804bb221291838602d782cdab159f70b5f6dff991cfbe4400f2b8643226dc3976a774623df52604d8e3253236c161be5b4c56c6f52a2d67b377e94ca821133a082f1d57b50c397eb2361342aeb9f7399045d3cb389a0d77315d250fd0a278b02a98bca158cf15d779bb7b7d61f7a33c048789d946c6bf14f3103e585e88d033e470db787832c35dd7479e52d629ebbc74abfc4f097aa0f482be06e3b3e7fce89b66bc7278c2cd8cd0022c807d5da7cd84e10bf337c33362d46911ef5ba15df45c4db9eee3e50f237dfc2d3ff5e76b05d857b4ddd161f88162fc28d6f239175d8fc6fe80f38f2d586dbad7f07caf267ca71ef22f61eb1c26746f80dec60bebf19319e8d9f7cb5758533d2c63b1298527d3aed3874e00ede428dd7bf42c42f659395b5280a655ace80839ad47b93ed8992396de91357ef0a3fcc1dd93a94b25a20983f2090dba743c302ab2784852a5477da6262454b5f0f467b57751303cd91032b7a3544849e58a91308074da9c5d12e2be42339f6c870ecc201032761a2957688453054d43a13763dd31af48fe871fcb5f4238060286fc4f687dd7230b9e69cb3e5871d019406901c73710cc4a51a6a19725eeddcc42bb2acdd34d1d4b5f00bbb69d112aa464a065b68aee1aaab978d75bab367c8c47fdeaa7981e1a1c49e4bb2188b8ad727012ea87845cbb40f1d604e14fdf132be32a44fe096abbdb961f81330493d9bfadd176940951fbda5e9424f19f54249e4a0dc49732f9f693b67dce6bd79c996bcdd6fc0a38f22859e0030774ec485aaa3f58e22fb652e66d003796617c7ed56b9685cc69daa54ccd9fccbd3d3498d9728473b5739817252d6ce0d3cf268318ac428207eff11ae007f32cab9aa52f050c935652e21f8eef54fb0c64e16f8f10cd94c154bf3d33556a1b5fa4e2b4ab54c6a8f2e0935bd7ad4d4651adf59ed0d81c4079bac3c4d44048d83ec5fc1e9ed964c95cc3e7e70bb7ed0ff9a1ce7ad473d7bea8048955fbdb21e112a3aaf71cb67b56ad9ef57eb11d56e9970c7f6d9b6eded403efd12e3a8160670e4c9a1c472c5b30ebd64d151f8cad19227918713f5e1301311ce7e93e1552bee2c9159dd2b2d905f71f5ae63442316fae0c52154c7f6adf80c50eca52c9ad5ed7632d8a9a62c68ca7fd0391a9683113243f1a704a15b4dcbc9bdee6e7a1af2263bdf2bbbb813cd4738423318a5777d7b055a36eb3a7d9e13e1a784242b41f337bdbc11c7d878c99a6e38a1236080cb8662b95bb8cb613b20124a9388aa91ac243f85099a076545a9491738cb5503ccf3893f432cba698e3183043d7fef26aca5be9429fd39eefff9252c1927346378dd1ad093de0534389c8a98ab341ba70c0976df4d10bc537e048262dcf6b4f67a9e5b1827e45815a6a326a5ca9ca2b9b59085dc840741941e5d363f98a680a7220f49ff942bc9e769a7f93b5e2dfd1f6f98711c7a851737954d1836bcf0660f522842fca1e48968125e468cf7301071cd53d1a2b7f7838978cc23550cfa3a55da41440e05744efa22deb326a54e7a323151932f1ad1f277c42cdf8d6a0a0711126da5fa90482da223f590fc17bc7542481554e14f1aac8a45dbb908d92d5820d8a9ea5e36ec4aeeb858495c1f526c45f2ef689f5f00aca7e18abd9b6f4daeac14473ed71ce03b24c2cb2af35dda9340d40eb127628141bd4607dfb53429e2ac62b71b5e6dc1fcff29ddc9992e703d2c86a418f7aea0b9fe4a3d811c71e29b48e0f69631e0c8d25c6db67ee38496cf56d10a3d2cf5a02114456b4252e92ff20cd7d4445bf0cfd20767df1f27be45c4a629fb58146a75d8c6518574eda30456da2c313ec62b3c5933f7a4f8a8ccb48a183cace585eecdcea79ba3a795c3198f69ba4b7227ca4fd03981fbbe26f1b0a9b110ce99b90d5b33dea7499f7c6eafcd36341d4d762e5db4b45b6d459cb9302d8af6487dedead4d1887e96e54391af7c13e80747fe8db86f076fe7b4c22eec5dbcf5d2632cb9edbcc5534a2f394253666a3c30a43b4ce6fba85af0f0ce928b345a6d77ac24e5e833cc360c844f07764c864a19bf596636f1bad782df116cb59d673982520459c684911d9dad298e416eab19e9e966a0193bf06e3fcbcbfa87e784cbffe7a4b85b79b7dccf5bf7efec886ab7289a8ce01d0c90216c992fec15bef0a671898f958d7c41256da53f071d9f66a6e88655493775a9de196483d61c09971269456ec0604920c81bdb37aef90116ebc2484165a8e6564e1b4ba8c6db019c2ba317b7336b8ce8f04245295f7f6c79baa3a1531f39b5c5663efd721722cf06075a640ca850ad474bbacb47ec22ed4de46fc571dca6ff85d76be1190a9d472137561ea66ec6b91a27e073af6317c75246a90636d74c07ec116095359e8e4e51c97b7991e789fbeed07bf1c5117e39b385b129f888a2d752c4eeddcc785231c42a156414eded7a6dad2f91dcf9c67dbc48ea544a0fb6f4336f846d533113313fbe95de5e29e1abe7051c4c2cf2dafaaafd62f9519f8118ea8747d2d9b7ead07f24e20b538817548e5740e1dd5fb320c169b0751090a8695969a3747d076b450f08b407d7c8f87ac0affa71cc8ff7502f45cd4bd0c8a09ff73b2402b242ceb079f7c5c4fd8eda511b1a91d109e36e9e7a238c0fdaf8ddab2ce3003125ced34310c3a06f63fa07168d7b4ca23e544dcf683907b0f44f9ede7e2913ebea3f984ee95d68070a313085b48698a77fc7732a2d91e52473be83f5d5d24d8e84f32250fe34c10d7a8d30073b4f89225f64073972851d36d5ce2b79d6fdffc3d956d82b2b74147d4d2efcac0ad7367ae8f082bac990316a4599e18ce1f1fc95f45e293525e56e206bff0b0fc03a3ea565c139eed3873f29208cd352cd2911b6ce1539c5e6726c2187c8b8b7532c2191f333cabc915cd5733e60ff3a87b99c14be2c30408f1827fb1a2081aeea433a91cba5f69ecfad70a85b98ff09e894d201683677b7b3b283f2de07b0c538c031c15f47b4c52f74faeac06d68efe5f087f8282eb3c63f4d5b91adf3ba4c081bb8510a0553046538283eaf1dd5cbeb2d2d79ee8009bc194b6daff4ac1e2ae6b2d2058bc4412c012a0fc44afcd6c29cd850299979a77fed9ec59e9c5fdd1e562c8f1d4395ffae60d24312b296e325e35dc85b216120f31fe25f7ed68fb8918e91874519180e584a6c12a8e3ef4ecd76e5fb9fcc8eb2856afe1712433bf0ddfa01292c99cf7a36028b844f67fb7143f74e8e09e95b531b166355f254f1673e64e2e4577ea9f38099792926caf83cb0c8e621475a9676980ce8ec8fa679a5a5318271c825bae0d1d5b43948d49fbc7c41ec326ef399cdbbbeda19d002b27ccb38471356ca3a8bb59aea257769fd8dc57c911c7a77249b77081bdcbf687ee7dbb392eac86dc386314db69a455d22268acc33f4cb9ef06fa80ea635c49a0c5b54fb06abdf78d8bc2fc57203758b13fc14317ef96a2d7419e5d816e517fab570ec0963ee9a4f680e11e2bf3c8967ff9bd3eb384e23cb3cafae0498f4b5f17d6ca50d6ff9593acfdf66490ff36504bb59c3d6f14a0912924266959ce4d512df75071c774deeb3bd1e23993102ebfdf7e895e78314d75f0cd231ae90a00a452cc3b4c88bb065162b2ae6016e0fede6c85a5cfca7a53e55d4bb26c170b9a29eb64512cd05c64a57713bca0d39f64d9e1bc8e4940c36ee1fdac12db0fc57cb20f30f6a7636915449fbfe6c45db838ded0619d8d149f1f11441f321ce9bd666e5bf2540ed5131c316a808c164fa37ca9a232d2990d286f1189782efeb828e07e4baa16b9b641c3a5108a9770873cbb8edaff929fae3e2a031c485cdd8c3778f2c908cf9fbc9d9a224eb28cb9325016f80fc1e56ed69a4d68c857e90c07738296a7175548e8c46b7dab4095632ab66e62b15ea0c147e5614b6da292a208fcff8c1a28632323655202bf0a2a84b6ffc39f833fcec2dd9c538c17198184bb85be6020ad5e929d72eea7ba3ca6f482a38e4e696493dbd86e8f7eeefa007c5fac34e2c40a40796fec247b9b51891a6502ee91f9839db0e828331ee1b634301cfbaa9f9bb0679f24e30d297547b7dc9b52205f5c704e5558db9721524c177b7937b1815ff1cfe84249652c3ec19bd39834607af0c1dea37f5b9b1d29d2bb86a124d18b6074e91ab98515183d6094c4969d628d32ef09f8d33469af1bf2f230e81b4b053a7ebff095aa9866e144420c4d3373ae96c9198a3851c032f295709b2a6da8fc67ed54796a00136bc2f3a98d82dadc64151b19c05ec8600ef8b79f21f41a92a7cf44de605af794757d9c4d4db757c45f238025f02c42809365f1022c27734190d37232932b16f8c01e34850f36e6d5c2e2d824eb1fc4322d34b3cff285dc053c3ccddd0427e9186a545078e04b52df5da468f30de42139b014a7d90f8054184a8df57fe26296223a8b24e40d63265c7cb04d6d0a43628f3f1f6b739399ca39aacef8c2d852439ab0b6038f4a137773a5046944b1f7a00792192428008c3ce22eaab299a169b79479e7d18daf1cad42c8e1d56268bd5a2242938585a9885b887fe8c2e9e3b634cac083a315558a0ce320b7e165a03f30e15eaa1b9d8b74e3dc79e771518dd94b1051c110df0b5dec9938a63e693b61a31f54bd2aa93daa21df38a2f89f37346f9b2a582c5541c9f952a56bf5e11863d920d4633cbe0fda84e6a061ead1addc9f1fa1c366319741170adcb903c43a293dc68b35c2289ff1e5283f17188e130a529ec47ad33e93ebdee11312181679ac2c0f0084f1de44e1b41b7f27973f05e1eb567d08a6d9e501dbcf7d9c6b36541bfa485e507834ef721488364d92237186695688df4ab432f5d6a5c79775343eb77304bc0fc6538a1e2d278961833577d5aeeec281c9734ba7b02765c11e859fde29112fbe8dd179e4b41143639caca2ccf1031a02822cb32157a3399f691e44e19afc34ef8a0622ed8e037f39d27f94c9f38a1042b688e67047bc11fc9143ff044c22b4a4d75737523ace92f12eeb3fd8952f75675253873be33511b0a7605305c111a84b0b9b9d23ac4338ffc148765ef0d7e32bc01bcaff703c738a83a66dd452c54deaab8ffe5995df06906c7877bb56be6d550217ac9ffb2e9774f30031bc890b5c975cdf08f9c097967b3f4d39a711d63b04e8a5d1bfea8ca0186d8d3e2f5ff2e3c0f8c157dae757c892190311a734373dde0cf290d6a5858df2b706b6d659be86aa8729c3ea414ccb8fd7f9ee1b8717e4b8c69fb9cca6d2c2cc9fe3ea409c1fae5e3f1fd173fffbc28d14682ef6a1c7041d0917bbaad6b07303f2c301093b404f06c2927672693c17f9b17394498555dae14fec87cf3411a310ea6399e9baa6ad60e7558db93b5a5bdb44935dc014c1a238816085718ef1d3d1de8689b0d855c4e61f0229e0dc867ce14ac16ae500ad2a647736ca9196adaca0faeb58d32beb854950a14d29e8a0e46b38f33b2ce8f6048174b3c2ae7a90d15f44fe480aed12b09c86cf1f9f335e7923f08f4fce5a055abda6ddd090c2ae751d89eb5d1d081c51477ca600a6b518cabddea45b015a5561b817880b78fa0661fd0f7f3e50775d6563864e1f1004036f8617ce866d7aed4f6275d85ff5a62c880c885c930dcbd990533cd3eaf33d31b92a65b11475c8602a68532b97bafb5d442530d89777ceab50f1f6d52bb107362744f4499bc1ed7dea0c8481ead3e81f54ea82b63b03d2d919a7f410f41f46d84fcbdb1dfe2cba8d2a310729ce1e8a1183b39a5ebf473f86a31e664ab914db7224a3742e49b87118c23dfa00ed3a2d6d05acffbc037865d6f28b724d47b1c5180ea2eeb2ddb1c19f6a33284521831fc94e70341ef2042a2b9808fa0c2ce04841de69548dac3ba097f0742d7cc7b28b90dc944c01f71983d17aca1c8aaeab6fabb912bfde484a7c5cc7a37c7c7221b22497ba89e00f3b5380c526abc59afcf3969042423cba05b43fe64527291ab577e0c46aef1275c7021f78e8f6a336dc59020518a183fe62c30640160f498d73dfb4b2f443d9af2416dce3ff25a95d6caa43e6132c024141281602f7b007348dc4445ef385f88ce911e17d228cee6b11fbb6625facd187f40b283a2a3a24efde1493db9eed5f8a7661333f18838875f682f2cdecc3c7029e4c240f49cb9c028591ad965fff1672241e6ab6f253e173bdbb9e143bfda2c7faef784c3aaf40cd70501464ae8d47f72eed325d9637aeb53ae89debfc6af708c25d60cd7421aeb1139c8b43cc9eb9dbb4f4418f269553407decacbe1e0059700374caaa0b21db7f2e91d875e61d278e5842c3010538afa8017d76638bf272d404488887b45c650b4d5162a6bf2c11012e70cf6b3ba2c5afe2aaed0c21ba02f940a875e91973ef7b50037be38ac62af0d0278961822e2bd28d6629a946e504d131e0f92dd29a61dba3cabe968fa0b23e2e82fb0abb06fda131e4f41e695d9e0755f2b4e98d2b92de4fee106fa29450f33d2da811e9d685260ff5596abe20ddbd1e55b7c7250673e4fae47e3eb4ce1c55d7058723e6f975c6cd4a507d0c75e914a7d60be808c23b6b7a89ca9868b998b72a5a01a6090456f41a275988e2e64fb9a46388ae37f54d8b73ab207d5f1d6f5cd05e0f710df1e609b026a6e221c38f24c652744b34037638575f5ec48ec4ee82969ab018f3ed46a10feaf6e0b5b953df36c8973dd08598f4e8be4eb828930a9acebb8bf4edd2b2cc5c42cb96e2656010d0c728fe12c8d359543e6f8a2daf1b547caa5822a96c07f28fa0a8dbb078849f795287046c97fee3c22df1fdcfcf6f8e074d64aa5e8c129ccb569c55bacc9cfee5193fe0f3fdfa1bbef8a70384ede93f845512fb9a0915ddc82ce68123f52470d722dd60a1df14aff8c4a4061e86982a1acb4f0496a8f17176d18aec4cd33a79d7e0179e4901ab54b7ac729378151cbeeddaf19ec27ad281386723e336764e26bc322f78f2aff015d9b841ab86c5b7eae54649c9f6e562286e296ffd6097b8de9e77a94b2e7c835f4cae63aea7fe9b666f4d50be1025a84b4bb8d6ce2256961c89f5c3ba001f7e75734ebdbdaec8fb756fa435595edd247c188ddafd342cb79fd991d5e7754f5b8439e8ce9e86712600b3ef0289993f5a00568ad069cbf9f0c0800b6687285b0c0170047460a33378e68edbd2bb7f3838791a2faf4aa7b5aef332bba24ca7fcde2528ce2fe5f7a2c1990f5d532f9ab72c6c398c6ed691cce84381da792d4c1584e9c50c09a4416165492bb1ba36a6613b014d89484b86f37092299381233c7039cb5685ce51b859ad9a66431ef399d15a45cc32aa4d9d720aa6985353fa728dab93d25175a65d2d6e347937104245cfba992379c2b79371b4a6dbca61b8f3225ae498fbe362a272aa5619754bdf00a13eecacd73023f07c2a8f5ecae5113f5dddbe6b005e2e896291acbeee9a8c9bb47c1cbd3798428c83845696fa4838d61aecdc56a1a8f46fd1287fd9d0bfc8168b49294dcba8ca02d049c58ca1f94fbf974bb3e481bc90324d80cfb44a742ba82b0029ebaf61981ac685f350972f87d769be098a054c860a53573af40fd269f8a1cbe9eaef30e169f34481e7d67f8e921f417ad50a421dd0770eccf169fae7649c8cb3444247e3006ae8fd7c8a130f356f1c4527dc3cf304823db0adc8bc729f8bb7ebdf2c80c4b8b70ca0cf8ab28f9f5cebea9f0cb1ee5a2309091120ac63843e67452ea14180c027d4487523987cd8c6d3478b12d850e3d237c53", + "shares": "00000000000000000000000000000000000000000000000000000001000100002800f268deb0c65666b58e7e59430c652483780635f79d2545e271893a8874ee92a3533b077208c05123c730766af2ca2c627bd7ef549790e285a7aa13a623478ae1905cce4bd29ec7c9511c08f009251d0175889c95e9fd8a0881526ac314f3c8519f8f2dc5dffa919d5a4ce85dd21bf2f84150a16224b68d09a00a44d17eed2721c8422bb7f90e56ab5f768d3bbc3ff09485f18713e47ef1d302a19e1abd564167926fc5ab41c9c076a92955de1408b2deb64fb2cf5f5db134f4696b2dc1e025917973bf8ca449005c118dc637dbd158c633db843e02b2889ae0e2bcde083728c7ebb93001baa214ca77031d83939a69b96295f0bcb6fb4abd12ab85a4268477f5288c1fca8855dde1f9473b4a66aa56c575df466471250430cd4b8b1f0d75683a8af2381a6466be26db1a11fb9fd0f7beb89ea72d281c974ff5f107ee8ad5a2bde3cdd87f96c3dc7c69edd6224c93b4ea1e75813717acb4226dcb427f1e37de17ba74ba544bc399b3292c27928ee0f3afad731e1ad582387ed78c24a020dd4f5dbd469df009a4300d24db4d46085b44d809e3dcaa4cbc1f2d7835e5590b434a5ef74ac66341711ab8b20fd02debbe32df0fc0aaff5320516981e8d943f5438c9cb58dde5f82160c6678947098d80eb82a3a841f69981bb7558f7ca68d3bfd000000000000000000000000000000000000000000000000000000010000b0a9c64917e6c8330c4ab7bb7d2607a30b1d2d4614b0fb3d13fd28e9b51b4ebf5be5476a2861989e009816d32a63f159bd79a9a601ba1b809da7e6882f97cf92b898a6085f82a401949a3bfc847d2de105d244b15a7bc29e7f76bbc8f59ba8e48bee8a24b1ca12c7383c7daef67ca6562b65bbb01abd604261eff16720ea9e33c243d97a850aad90bec095052f7c506bc75d2319f47777dc941a0f24042b663a7b3127436db478bb483f3b16fe3230a7b369202276b9fe8c3f32244d8a0e029a57d38a599cb118537a924c9336f37d35ac2b43a4fc800755a5667e47f827b07b31d7d31a83df2325cbb4b2835a979f2f2e0ddb5fcb50252352c3d3e78f2c2104577d58ce5d2cc35c3e3afe03023a62a99eca25acab3592475bc6d729ec34a28694994da1ecc59d0039b0f317e29be0e44f71b16b787f61c9f7236f228ee5a5d1ade5e92735bc5aa79ce76f49c3c2f4b15845afa2bc32ab8078d728f39bcf93251665529034444115427df28552872f5e7c265b9af8f37010064fdd83e79ad512cdf9faf1ece1bea97c4051caf678c22add6ed44fd968de6c89d4170cfa0ccb03ca2ec57e7ba6e8d2eeaab3bd7514655c3e47089d560dbf3b32a2deaa569c85f8da13700dbd6608e2e976964713b46d25bbd73961e88ad7a6684bd55662cdc3f507ce000000000000000000000000000000000000000000000000000000010000495a3e886d3259a08a6c031bf70ac626eb9ab13cb5aceafef283ecf9ff45ea7dc44194c617a5bdd4686d0de751d27904bc5715101be90880d36df0efee551f9a787f480b04377de271280c985d327ad077b0d72541777163d8abf33c0b7d6b261f5b1adfa9d6f5fd81d9b664cd60fdda726aeb1cc4344e0ce4934ab162c3390247fca4948f7a4f9cca08142fca867d482afdf06ba6da90ad8b34ff9bb8ce98eab05a7b7b1e2585a43aff76d6f98a5217f4456b48f6651017d5ad230577ffaddb1087e40275c745938071f8e38ca0028d3f890342bc1914345b5053c9f61e3f36722e96e44a1f5dbf7316f18b3abc35533c9abe519ca8420b0b19f9ed2feb67ece2e2c3706f966f6c7a6e4cfa55e53f2d8202e5fe99961fc8093cdede7fd54e20f74c17e20fee6fad0ab6d3d69a6a42d7ec0d5619220f993abb0272435491a322cf7734e4aa0a4d2d746188a57578a3998894dc7eb6e9bb9371d7f45db2ab64be8c5f259a4424c8b5fc8153c9a2c669fa7db84bd7358202fdf7731a649d6e0db082974e57228b485358e977273c7fdcafe10e59ff8d1926e30c5db1acdfaae411b6838a82df1a9b2cfdeea8a6eeb32d17470d972ce235921c1c05b5517c7e01a50bf21af71b2d452f9ed1cbea110ee61c540822888c5b6c4a458c6c1e837804455356000000000000000000000000000000000000000000000000000000010000aa73d6baaf7e480955fb43c817bfb5b600634b1e1b5cb6cc62b70bf91d4953fe0348ccc1c1df621b75d0f3fd4d2f744b1388eca424b969fe929062e958f26f45dac6b36912647f844f3a3751364f9f64fa508f385eef32fd8d152a05a098c2de6e3a74a813a0f398c68c0b204b1d8be44e6b05ad50032d6c172978a285931fd3da56de3f79e37ed2a5212b4f7164a37f8d8fc1c802672c3c44293ddab11c6e0090312e9b83dc9a08495202deada9a7705a00adbf9835420c9a0a26c46aa76bf7bb2aec21535543fd8b09d9767944c79b7a8281d7105b6353d621e7891ec79275c447987415fa52be83fdc8a034e3a57caaaa9cadadf2718c3ce83197693d238ec37864ae85cd9a033a2838f689949dcaa17623f85ff03803852ef336d7afc02211af59233cbf82b179f8092bc7aa28c438f1ac4189994e6c53c7993216f39430db64ab76521e17d65292d60bba3324019dea184b8e4638905d1b6780c9fd2cc5fda26b2a29d30beaf68a2a63ef25206534cac0dfac29b40c71a98c9d9e9b729e1c15617155314b849d4bf804da4bb248ed3244c4c9cd74c2299d4175ebc4fea3acd9f97b471160f252cd4c1f8a11596c08f79629ada961cb40e4601eeee05608116b5df24fb20e0c74165c9290498d68ab49885cf377167f5663f8e388c95245a4f300000000000000000000000000000000000000000000000000000001000051b3a791e5de632ed75abed6b4541fb9ba4d97c77d3a7834dd9a952ae112ef8b6728a0d5285203929628cb80daf78a172395b516341d78748b53266d04acd383bc89b07792ff2d33ba3ef7c63169148115263f9e33a85da5bde85ad94654aea20dd6082633ddd6e16232a71e33b942ce0dc28076ca2c4ca3579abf1d0b7523bee1e1d146f86989463bb9d5599ea01d3e3c685b6f36ded4526ccfd96d2737b2dc9748b8d3e85f7d6f4f3ac040de518c9ae29488727bf32d209abb09f7dfa8c90f0ceb99c5ee80eb832357f260c6be15172d97df21773114fb4fabdf826077e6029631b7e8a592707daa81a368dca4b5b29a9fb384fe806d73862ef851260786c52217c1e84c072d3f9b28eaa6185595c8c1276bcd114417fd907de925a07813f13f248b7a65a047c753ce4fdd349eb41de21f61c623bec585d5f72a3259215e37caf05c2090a6f28e7c00faf45a8a4833f914bb576c34c8c731fe391b61b2a27a0486b1972f06043b116ed1dce94d847461818d155da95c3a4ef5a2ca9c38ff3532b861a44f4e6d02aac73768ab43b8b1d79aaa7bf8827257ea0e37033a30788c66ce4d6a77cbf5e8a5ec14f1838e615b783a4c5b515bc35df18335e93dc9f52bf27a6ce9c0927a6de42b27ec73016fb436b24d12a93fcefb8f2b58bf4e497eeab2f8000000000000000000000000000000000000000000000000000000010000c0dd35cf07237c6b77ed8bd1d43a7e8caeaae20aadcd576a24d398ed22131648bbeeebc15f76272c16fa831e3bc55d3c3ce5853e1aea0f9e9e59d039a1736b7982bda33dbf79bb171d83010853e84ffd74d40b22c43671a94e9dadb33afdc913ce109c2912d9bd2c366769ffcefdb42dcf48d241c8fa5773ed24c1b83a8b3efbab783a9415109e085e4ae1cc171034e8e6fb5f138f65dd8b5d69c7b028b34a249c8c53a7a281a5610a7bc39bc67c14384d1371b7d3669290c5415b60b2ee294c2505eb6d3c8f18f370cbeded88014e4edc12a26e31af6ab18738a83e6bc8398b3b4b16c463a971e51b9de43e93f4ecfb0b5d18d1578c9f682cdf58736b7eaf5a103972497dcb1af7013b232608dbb54564a3382415e2827c76a5bef8d95a7fa4908384f279e5ecf57bb4f1ac60c3257633d2914753889604b121a2a71a07efd2652a49d32c8c24b997f3bacbe5755ace80c5b356d9b7ea2fe8b83e40a0a6bd625bcade215e90f165c734802e6d33cc15ef136aab9d542a26ad45668b1e136e4e4935a65612b0ed718249be07f8d28db03f037efc78f0e3ed9c07e653d8b3b7e07e09da19337ed037fbc924c9691a6382a5b0176775fa48849a0abd866fce5798bd23a14e345ea27fdbab0d0b5214c1bce317475cf4ba3306b5b18fab18fd01745ba6000000000000000000000000000000000000000000000000000000010000202fe65f897df056c5cbcf922c6bc9e6072748f9954ab20df686d2f11867d4d4a5cad493bf67abbaab108e753eb1ad162e68c8bdcee376ea1805be8486ed62a5f6c99836a98bdd5c70e3e6c9df71a3307be403be0d66257a8f9ccb720dd69426d930792bed7cabc0db397c6cadd2c1ff19dcbf486874c9bd313d774975f25f16152ebc37e780e213b73a5a9aa462295919946db6a6a06e6da46ac0f6a400e651cc18544f8bc6f9e5ba1f1fa9a417797d1267e76e25d6e4eb775cd0666a9dbfc2aa48c8d04fd521db65957e20cb25a5ac85b56c8fdc6f3a11b88feef5cc512b7ee809e899b2f0975fd0201111158daeae614ff7f6ffa3bf07763f66997e031c197e48f2f56790a078beacb7bc3a985ae12ec27bb9b27f2dad433961771165f66ac39286852694c3a65d924f7ab29db60a02e1fedf24a4a572a1a72e2c5f14aeb7cd7775502cf2cde15ab0e8bad2032bb8b6f9e78a45d19965654a17485d92972e36cf8cf70d9b0ad4fa56b81fc1f03c7944fa33f7b80e10d50c3c903c0ff57a6d1f8880e72347ad159dc30263d229305087af19815f267eaa3f01a84dbaf0f02bd734a77f16f4b99c52774bb664a6707f49421d13f57a672d79f65524c164f38bd65a9d13452a9b2d7e2fb3361e1ac44c4475c87eb1ba8f67228602e42b53e2f68435000000000000000000000000000000000000000000000000000000010000b5a222e0c1bc332f923b2540ff4c3007196f63e09eb42f7b3226455cd9286ebcdbdaf5ee82d095d36de02777012627f304e2176c6610774ddfae0fcdb8ab34efe3f4bd88583bb5dbbc7d745994df3197c05da3f7a88cac332a55ab1bc400379d8ce6926af4c9d3ae09d4c6673f7daf385861d0d4769389f48632d3f73c6e835985724f6719f6f45f149c53ffc0ef49b6fdc7e77ec2911b410cf75599ebde255a3079c72eb0ca85ed3e12c78dd145cfc4fc6d3920eb4ae323036c7a11c505fbf8946a32c922234e5cff1e3280fc3891fd2a1136f555e93ee163730253e5fc1b91e76a8480bb6686a690abebbc74d4c61a16b8ae79e8b5073dee88bdf34342f9f4c0cadb49d6154f5d4948d0569b836b4a8e765919286f3fe7737615a7956f8e4e4db1a956363d1eff66c73c4d07345f62be159850e3863c3919351b7b1ded58ad4716ffecc006bf26d3b03aa3370caeb0351a271489cdc3b4b7da099717fbcef5ac2020d1df48e99acdb9b757c37781f3bcc1d4d45aa0345a9ed699897d4d07d83ba53121de979ecce3fef6f0befc8a1e88ad35786efde8a83e122fbd3fc6ed621156d6b30da2459d54b8951596138f1704ef3e0b6c1cea412f39e82a5c4e49a1f10b7b98552c03d380c38babaf1a1ef86d2c04ecf7c9d99a097b2cbfab4b39021012000000000000000000000000000000000000000000000000000000010000d76715a4157296bc256ff4b14201895b9c376cff9f000e9b9b5b8668a6231c278c8a1be4c20ffe7f844332e9d66f5a5c363edd7a65591c9a79b3249358006e84d33e85a0d71a4ef3f481c5b5c0ad5fa0a38ad00d50e5fb5dbd8610cd37cc375c08f10b6f030b6ae87bd59dea7e2118893c4f7a45fa48891940ebea6aca21d769c1b0bc7747859879242e6aad7fcf62b8cb8820d4aacc8be626d447bdbc42086b492b27bb75df98bf4603f99b9cd7b7a3a50bd1ddefb7e28091362aac30b2d3b1032ed25a955db0bbfabdfdc5febddd7ba4c22a8ef522323cf35006723f2f56a17ecb6fd83a07af214f364d1ad251e41f5a6e2b74163e6862cbf62807212e4b0d6d80d79453a211e9df4ada3ff698175f48a0779cf7b8afd3ed52fccd92d9e0368a9ce5574738d968b79daffb48883d44183c56edf62fac8af0460a86e6cbcfa1e44bb11baa8b962497f3780066a86effa57596faad8f641d7f2084ad80d83afb4a2857029a1306c8130c47c3ee0f8c46eff9b6ce69261c2d53d3ce1f422b50385b4849e33736422b5dadee782b2fb63090ec4bbb2cf842e7aa1a7a8fb351b83267be74c25cf4e8b5cdc351c4d0e7b03863e2c7aab2143cf799a3f45ba708a695a890a4b745a33ee211fc807b7f6db08a85c582d32feb4cd1cb8892b1cff0faf34997000000000000000000000000000000000000000000000000000000010000d62d58c168ded66f31a28559f28071d38428e0890ac3c6105616c6b1868ef64c99bc3c32a61846511a9741fe264a27c647d8758e0a016114dddb390c706d3b562b5e50f3082894b6dd9afbd4cfac3d693643947aab1da28ab918310e39bb9fa3bf06a38c233ead405e41552a094c59e3a337daf5fba776ab60dea4a33cb1bc68c2a43e3909406a097b0dad3a7ba31bacfad06d79f515a7c62c3b0d9d0f2c5154c99f3d417d610339a4b822bc0c89fb1faf9245c7d98677d7594cf9464ea7b9b19d7ee11d4b5fd03c23574ead1bceee7c14127e2416e91abb382985501253bf9bad98d76e6eb34a6036fdf99a18600e22525b9079da9d7960c8ed38a40f87f8b301b9968cd659715c9a8a4a73123a8835505a86296ce1270c7095c575676719276d794b1574d1031ca536b7e558cedf0410e1b5153faaf301e64ca739809d0bf45b578536d46509ab2c03deb39471848ad94903c4b3d36549e45b2ddad96a481ab84205b3a0657a32f5d1cefbfd5eb7374cba227c6f993372db5c0a3d4803770109923bb9e82a789f190912a698804bb221291838602d782cdab159f70b5f6dff991cfbe4400f2b8643226dc3976a774623df52604d8e3253236c161be5b4c56c6f52a2d67b377e94ca821133a082f1d57b50c397eb2361342aeb9f7399045d3cb389000000000000000000000000000000000000000000000000000000010000a0d77315d250fd0a278b02a98bca158cf15d779bb7b7d61f7a33c048789d946c6bf14f3103e585e88d033e470db787832c35dd7479e52d629ebbc74abfc4f097aa0f482be06e3b3e7fce89b66bc7278c2cd8cd0022c807d5da7cd84e10bf337c33362d46911ef5ba15df45c4db9eee3e50f237dfc2d3ff5e76b05d857b4ddd161f88162fc28d6f239175d8fc6fe80f38f2d586dbad7f07caf267ca71ef22f61eb1c26746f80dec60bebf19319e8d9f7cb5758533d2c63b1298527d3aed3874e00ede428dd7bf42c42f659395b5280a655ace80839ad47b93ed8992396de91357ef0a3fcc1dd93a94b25a20983f2090dba743c302ab2784852a5477da6262454b5f0f467b57751303cd91032b7a3544849e58a91308074da9c5d12e2be42339f6c870ecc201032761a2957688453054d43a13763dd31af48fe871fcb5f4238060286fc4f687dd7230b9e69cb3e5871d019406901c73710cc4a51a6a19725eeddcc42bb2acdd34d1d4b5f00bbb69d112aa464a065b68aee1aaab978d75bab367c8c47fdeaa7981e1a1c49e4bb2188b8ad727012ea87845cbb40f1d604e14fdf132be32a44fe096abbdb961f81330493d9bfadd176940951fbda5e9424f19f54249e4a0dc49732f9f693b67dce6bd79c996bcdd6fc0a38f22859e0030774ec485aaa3f50000000000000000000000000000000000000000000000000000000100008e22fb652e66d003796617c7ed56b9685cc69daa54ccd9fccbd3d3498d9728473b5739817252d6ce0d3cf268318ac428207eff11ae007f32cab9aa52f050c935652e21f8eef54fb0c64e16f8f10cd94c154bf3d33556a1b5fa4e2b4ab54c6a8f2e0935bd7ad4d4651adf59ed0d81c4079bac3c4d44048d83ec5fc1e9ed964c95cc3e7e70bb7ed0ff9a1ce7ad473d7bea8048955fbdb21e112a3aaf71cb67b56ad9ef57eb11d56e9970c7f6d9b6eded403efd12e3a8160670e4c9a1c472c5b30ebd64d151f8cad19227918713f5e1301311ce7e93e1552bee2c9159dd2b2d905f71f5ae63442316fae0c52154c7f6adf80c50eca52c9ad5ed7632d8a9a62c68ca7fd0391a9683113243f1a704a15b4dcbc9bdee6e7a1af2263bdf2bbbb813cd4738423318a5777d7b055a36eb3a7d9e13e1a784242b41f337bdbc11c7d878c99a6e38a1236080cb8662b95bb8cb613b20124a9388aa91ac243f85099a076545a9491738cb5503ccf3893f432cba698e3183043d7fef26aca5be9429fd39eefff9252c1927346378dd1ad093de0534389c8a98ab341ba70c0976df4d10bc537e048262dcf6b4f67a9e5b1827e45815a6a326a5ca9ca2b9b59085dc840741941e5d363f98a680a7220f49ff942bc9e769a7f93b5e2dfd1f6f98711c7a851737954d1836000000000000000000000000000000000000000000000000000000010000bcf0660f522842fca1e48968125e468cf7301071cd53d1a2b7f7838978cc23550cfa3a55da41440e05744efa22deb326a54e7a323151932f1ad1f277c42cdf8d6a0a0711126da5fa90482da223f590fc17bc7542481554e14f1aac8a45dbb908d92d5820d8a9ea5e36ec4aeeb858495c1f526c45f2ef689f5f00aca7e18abd9b6f4daeac14473ed71ce03b24c2cb2af35dda9340d40eb127628141bd4607dfb53429e2ac62b71b5e6dc1fcff29ddc9992e703d2c86a418f7aea0b9fe4a3d811c71e29b48e0f69631e0c8d25c6db67ee38496cf56d10a3d2cf5a02114456b4252e92ff20cd7d4445bf0cfd20767df1f27be45c4a629fb58146a75d8c6518574eda30456da2c313ec62b3c5933f7a4f8a8ccb48a183cace585eecdcea79ba3a795c3198f69ba4b7227ca4fd03981fbbe26f1b0a9b110ce99b90d5b33dea7499f7c6eafcd36341d4d762e5db4b45b6d459cb9302d8af6487dedead4d1887e96e54391af7c13e80747fe8db86f076fe7b4c22eec5dbcf5d2632cb9edbcc5534a2f394253666a3c30a43b4ce6fba85af0f0ce928b345a6d77ac24e5e833cc360c844f07764c864a19bf596636f1bad782df116cb59d673982520459c684911d9dad298e416eab19e9e966a0193bf06e3fcbcbfa87e784cbffe7a4b85b79b7dccf5bf7efec000000000000000000000000000000000000000000000000000000010000886ab7289a8ce01d0c90216c992fec15bef0a671898f958d7c41256da53f071d9f66a6e88655493775a9de196483d61c09971269456ec0604920c81bdb37aef90116ebc2484165a8e6564e1b4ba8c6db019c2ba317b7336b8ce8f04245295f7f6c79baa3a1531f39b5c5663efd721722cf06075a640ca850ad474bbacb47ec22ed4de46fc571dca6ff85d76be1190a9d472137561ea66ec6b91a27e073af6317c75246a90636d74c07ec116095359e8e4e51c97b7991e789fbeed07bf1c5117e39b385b129f888a2d752c4eeddcc785231c42a156414eded7a6dad2f91dcf9c67dbc48ea544a0fb6f4336f846d533113313fbe95de5e29e1abe7051c4c2cf2dafaaafd62f9519f8118ea8747d2d9b7ead07f24e20b538817548e5740e1dd5fb320c169b0751090a8695969a3747d076b450f08b407d7c8f87ac0affa71cc8ff7502f45cd4bd0c8a09ff73b2402b242ceb079f7c5c4fd8eda511b1a91d109e36e9e7a238c0fdaf8ddab2ce3003125ced34310c3a06f63fa07168d7b4ca23e544dcf683907b0f44f9ede7e2913ebea3f984ee95d68070a313085b48698a77fc7732a2d91e52473be83f5d5d24d8e84f32250fe34c10d7a8d30073b4f89225f64073972851d36d5ce2b79d6fdffc3d956d82b2b74147d4d2efcac0ad7367ae8f082bac900000000000000000000000000000000000000000000000000000001000090316a4599e18ce1f1fc95f45e293525e56e206bff0b0fc03a3ea565c139eed3873f29208cd352cd2911b6ce1539c5e6726c2187c8b8b7532c2191f333cabc915cd5733e60ff3a87b99c14be2c30408f1827fb1a2081aeea433a91cba5f69ecfad70a85b98ff09e894d201683677b7b3b283f2de07b0c538c031c15f47b4c52f74faeac06d68efe5f087f8282eb3c63f4d5b91adf3ba4c081bb8510a0553046538283eaf1dd5cbeb2d2d79ee8009bc194b6daff4ac1e2ae6b2d2058bc4412c012a0fc44afcd6c29cd850299979a77fed9ec59e9c5fdd1e562c8f1d4395ffae60d24312b296e325e35dc85b216120f31fe25f7ed68fb8918e91874519180e584a6c12a8e3ef4ecd76e5fb9fcc8eb2856afe1712433bf0ddfa01292c99cf7a36028b844f67fb7143f74e8e09e95b531b166355f254f1673e64e2e4577ea9f38099792926caf83cb0c8e621475a9676980ce8ec8fa679a5a5318271c825bae0d1d5b43948d49fbc7c41ec326ef399cdbbbeda19d002b27ccb38471356ca3a8bb59aea257769fd8dc57c911c7a77249b77081bdcbf687ee7dbb392eac86dc386314db69a455d22268acc33f4cb9ef06fa80ea635c49a0c5b54fb06abdf78d8bc2fc57203758b13fc14317ef96a2d7419e5d816e517fab570ec0963ee9a4f680e11e2bf3c0000000000000000000000000000000000000000000000000000000100008967ff9bd3eb384e23cb3cafae0498f4b5f17d6ca50d6ff9593acfdf66490ff36504bb59c3d6f14a0912924266959ce4d512df75071c774deeb3bd1e23993102ebfdf7e895e78314d75f0cd231ae90a00a452cc3b4c88bb065162b2ae6016e0fede6c85a5cfca7a53e55d4bb26c170b9a29eb64512cd05c64a57713bca0d39f64d9e1bc8e4940c36ee1fdac12db0fc57cb20f30f6a7636915449fbfe6c45db838ded0619d8d149f1f11441f321ce9bd666e5bf2540ed5131c316a808c164fa37ca9a232d2990d286f1189782efeb828e07e4baa16b9b641c3a5108a9770873cbb8edaff929fae3e2a031c485cdd8c3778f2c908cf9fbc9d9a224eb28cb9325016f80fc1e56ed69a4d68c857e90c07738296a7175548e8c46b7dab4095632ab66e62b15ea0c147e5614b6da292a208fcff8c1a28632323655202bf0a2a84b6ffc39f833fcec2dd9c538c17198184bb85be6020ad5e929d72eea7ba3ca6f482a38e4e696493dbd86e8f7eeefa007c5fac34e2c40a40796fec247b9b51891a6502ee91f9839db0e828331ee1b634301cfbaa9f9bb0679f24e30d297547b7dc9b52205f5c704e5558db9721524c177b7937b1815ff1cfe84249652c3ec19bd39834607af0c1dea37f5b9b1d29d2bb86a124d18b6074e91ab98515183d6094c4969d628d30000000000000000000000000000000000000000000000000000000100002ef09f8d33469af1bf2f230e81b4b053a7ebff095aa9866e144420c4d3373ae96c9198a3851c032f295709b2a6da8fc67ed54796a00136bc2f3a98d82dadc64151b19c05ec8600ef8b79f21f41a92a7cf44de605af794757d9c4d4db757c45f238025f02c42809365f1022c27734190d37232932b16f8c01e34850f36e6d5c2e2d824eb1fc4322d34b3cff285dc053c3ccddd0427e9186a545078e04b52df5da468f30de42139b014a7d90f8054184a8df57fe26296223a8b24e40d63265c7cb04d6d0a43628f3f1f6b739399ca39aacef8c2d852439ab0b6038f4a137773a5046944b1f7a00792192428008c3ce22eaab299a169b79479e7d18daf1cad42c8e1d56268bd5a2242938585a9885b887fe8c2e9e3b634cac083a315558a0ce320b7e165a03f30e15eaa1b9d8b74e3dc79e771518dd94b1051c110df0b5dec9938a63e693b61a31f54bd2aa93daa21df38a2f89f37346f9b2a582c5541c9f952a56bf5e11863d920d4633cbe0fda84e6a061ead1addc9f1fa1c366319741170adcb903c43a293dc68b35c2289ff1e5283f17188e130a529ec47ad33e93ebdee11312181679ac2c0f0084f1de44e1b41b7f27973f05e1eb567d08a6d9e501dbcf7d9c6b36541bfa485e507834ef721488364d92237186695688df4ab432f5d6a5c79775300000000000000000000000000000000000000000000000000000001000043eb77304bc0fc6538a1e2d278961833577d5aeeec281c9734ba7b02765c11e859fde29112fbe8dd179e4b41143639caca2ccf1031a02822cb32157a3399f691e44e19afc34ef8a0622ed8e037f39d27f94c9f38a1042b688e67047bc11fc9143ff044c22b4a4d75737523ace92f12eeb3fd8952f75675253873be33511b0a7605305c111a84b0b9b9d23ac4338ffc148765ef0d7e32bc01bcaff703c738a83a66dd452c54deaab8ffe5995df06906c7877bb56be6d550217ac9ffb2e9774f30031bc890b5c975cdf08f9c097967b3f4d39a711d63b04e8a5d1bfea8ca0186d8d3e2f5ff2e3c0f8c157dae757c892190311a734373dde0cf290d6a5858df2b706b6d659be86aa8729c3ea414ccb8fd7f9ee1b8717e4b8c69fb9cca6d2c2cc9fe3ea409c1fae5e3f1fd173fffbc28d14682ef6a1c7041d0917bbaad6b07303f2c301093b404f06c2927672693c17f9b17394498555dae14fec87cf3411a310ea6399e9baa6ad60e7558db93b5a5bdb44935dc014c1a238816085718ef1d3d1de8689b0d855c4e61f0229e0dc867ce14ac16ae500ad2a647736ca9196adaca0faeb58d32beb854950a14d29e8a0e46b38f33b2ce8f6048174b3c2ae7a90d15f44fe480aed12b09c86cf1f9f335e7923f08f4fce5a055abda6ddd090c2ae751d89eb5d1000000000000000000000000000000000000000000000000000000010000d081c51477ca600a6b518cabddea45b015a5561b817880b78fa0661fd0f7f3e50775d6563864e1f1004036f8617ce866d7aed4f6275d85ff5a62c880c885c930dcbd990533cd3eaf33d31b92a65b11475c8602a68532b97bafb5d442530d89777ceab50f1f6d52bb107362744f4499bc1ed7dea0c8481ead3e81f54ea82b63b03d2d919a7f410f41f46d84fcbdb1dfe2cba8d2a310729ce1e8a1183b39a5ebf473f86a31e664ab914db7224a3742e49b87118c23dfa00ed3a2d6d05acffbc037865d6f28b724d47b1c5180ea2eeb2ddb1c19f6a33284521831fc94e70341ef2042a2b9808fa0c2ce04841de69548dac3ba097f0742d7cc7b28b90dc944c01f71983d17aca1c8aaeab6fabb912bfde484a7c5cc7a37c7c7221b22497ba89e00f3b5380c526abc59afcf3969042423cba05b43fe64527291ab577e0c46aef1275c7021f78e8f6a336dc59020518a183fe62c30640160f498d73dfb4b2f443d9af2416dce3ff25a95d6caa43e6132c024141281602f7b007348dc4445ef385f88ce911e17d228cee6b11fbb6625facd187f40b283a2a3a24efde1493db9eed5f8a7661333f18838875f682f2cdecc3c7029e4c240f49cb9c028591ad965fff1672241e6ab6f253e173bdbb9e143bfda2c7faef784c3aaf40cd70501464ae8d47f72eed300000000000000000000000000000000000000000000000000000001000025d9637aeb53ae89debfc6af708c25d60cd7421aeb1139c8b43cc9eb9dbb4f4418f269553407decacbe1e0059700374caaa0b21db7f2e91d875e61d278e5842c3010538afa8017d76638bf272d404488887b45c650b4d5162a6bf2c11012e70cf6b3ba2c5afe2aaed0c21ba02f940a875e91973ef7b50037be38ac62af0d0278961822e2bd28d6629a946e504d131e0f92dd29a61dba3cabe968fa0b23e2e82fb0abb06fda131e4f41e695d9e0755f2b4e98d2b92de4fee106fa29450f33d2da811e9d685260ff5596abe20ddbd1e55b7c7250673e4fae47e3eb4ce1c55d7058723e6f975c6cd4a507d0c75e914a7d60be808c23b6b7a89ca9868b998b72a5a01a6090456f41a275988e2e64fb9a46388ae37f54d8b73ab207d5f1d6f5cd05e0f710df1e609b026a6e221c38f24c652744b34037638575f5ec48ec4ee82969ab018f3ed46a10feaf6e0b5b953df36c8973dd08598f4e8be4eb828930a9acebb8bf4edd2b2cc5c42cb96e2656010d0c728fe12c8d359543e6f8a2daf1b547caa5822a96c07f28fa0a8dbb078849f795287046c97fee3c22df1fdcfcf6f8e074d64aa5e8c129ccb569c55bacc9cfee5193fe0f3fdfa1bbef8a70384ede93f845512fb9a0915ddc82ce68123f52470d722dd60a1df14aff8c4a4061e86982a1acb4f0490000000000000000000000000000000000000000000000000000000100006a8f17176d18aec4cd33a79d7e0179e4901ab54b7ac729378151cbeeddaf19ec27ad281386723e336764e26bc322f78f2aff015d9b841ab86c5b7eae54649c9f6e562286e296ffd6097b8de9e77a94b2e7c835f4cae63aea7fe9b666f4d50be1025a84b4bb8d6ce2256961c89f5c3ba001f7e75734ebdbdaec8fb756fa435595edd247c188ddafd342cb79fd991d5e7754f5b8439e8ce9e86712600b3ef0289993f5a00568ad069cbf9f0c0800b6687285b0c0170047460a33378e68edbd2bb7f3838791a2faf4aa7b5aef332bba24ca7fcde2528ce2fe5f7a2c1990f5d532f9ab72c6c398c6ed691cce84381da792d4c1584e9c50c09a4416165492bb1ba36a6613b014d89484b86f37092299381233c7039cb5685ce51b859ad9a66431ef399d15a45cc32aa4d9d720aa6985353fa728dab93d25175a65d2d6e347937104245cfba992379c2b79371b4a6dbca61b8f3225ae498fbe362a272aa5619754bdf00a13eecacd73023f07c2a8f5ecae5113f5dddbe6b005e2e896291acbeee9a8c9bb47c1cbd3798428c83845696fa4838d61aecdc56a1a8f46fd1287fd9d0bfc8168b49294dcba8ca02d049c58ca1f94fbf974bb3e481bc90324d80cfb44a742ba82b0029ebaf61981ac685f350972f87d769be098a054c860a53573af40fd269f8a1c000000000000000000000000000000000000000000000000000000010000be9eaef30e169f34481e7d67f8e921f417ad50a421dd0770eccf169fae7649c8cb3444247e3006ae8fd7c8a130f356f1c4527dc3cf304823db0adc8bc729f8bb7ebdf2c80c4b8b70ca0cf8ab28f9f5cebea9f0cb1ee5a2309091120ac63843e67452ea14180c027d4487523987cd8c6d3478b12d850e3d237c53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } +] \ No newline at end of file diff --git a/src/lib/tree/Types.sol b/src/lib/tree/Types.sol index bff9eb8f..b2a48943 100644 --- a/src/lib/tree/Types.sol +++ b/src/lib/tree/Types.sol @@ -28,6 +28,12 @@ function toBytes(Namespace memory n) pure returns (bytes29) { return bytes29(abi.encodePacked(n.version, n.id)); } +function isReservedNamespace(Namespace memory n) pure returns (bool) { + bytes29 upper = hex"00000000000000000000000000000000000000000000000000000000FF"; + bytes29 lower = hex"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"; + return n.toBytes() < upper || n.toBytes() > lower; +} + function toNamespace(bytes29 n) pure returns (Namespace memory) { bytes memory id = new bytes(28); for (uint256 i = 1; i < 29; i++) { From 396eca4e48a711c1d2e55b367494689191d453b5 Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 5 Aug 2024 17:04:30 -0400 Subject: [PATCH 09/30] cleanups --- src/lib/commitment/Commitment.sol | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index ba46fcb1..0da3c49a 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -5,25 +5,12 @@ import {Namespace, isReservedNamespace} from "../tree/Types.sol"; import "openzeppelin-contracts/contracts/utils/math/Math.sol"; import "forge-std/console.sol"; -// Turn little-endian into big-endian -// Source: https://ethereum.stackexchange.com/a/83627 -function reverse(uint32 input) pure returns (uint32 v) { - v = input; - - // swap bytes - v = ((v & 0xFF00FF00) >> 8) | - ((v & 0x00FF00FF) << 8); - - // swap 2-byte long pairs - v = (v >> 16) | (v << 16); -} - -function div_ceil(uint256 x, uint256 y) pure returns (uint256 z) { +function divCeil(uint256 x, uint256 y) pure returns (uint256 z) { z = x / y + (x % y == 0 ? 0 : 1); } function num_shares(uint256 blobSize) pure returns (uint256) { - return div_ceil((Math.max(blobSize, 478) - 478), 482) + 1; + return divCeil((Math.max(blobSize, 478) - 478), 482) + 1; } function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { @@ -37,7 +24,7 @@ function writeInfoByteV0(bytes memory share, bool startingSequence) pure { } function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { - // Removed the "reverse", because it didn't work- apparently it's already big-endian? + // Removed the "reverse", because it didn't work- maybe it's already big-endian? //bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(reverse(sequenceLength))); bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(sequenceLength)); share[30] = sequenceLengthBigEndianBytes[0]; From 95d16ce3fb3976205f45633e4a8dae3202525419 Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 5 Aug 2024 17:07:13 -0400 Subject: [PATCH 10/30] comment --- src/lib/tree/Types.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/tree/Types.sol b/src/lib/tree/Types.sol index b2a48943..3ca565fa 100644 --- a/src/lib/tree/Types.sol +++ b/src/lib/tree/Types.sol @@ -30,6 +30,7 @@ function toBytes(Namespace memory n) pure returns (bytes29) { function isReservedNamespace(Namespace memory n) pure returns (bool) { bytes29 upper = hex"00000000000000000000000000000000000000000000000000000000FF"; + // we already restrict the version to 0, so this check might be unnecessary bytes29 lower = hex"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"; return n.toBytes() < upper || n.toBytes() > lower; } From 9fde02892871dae46c50a17f7cb4dd2762b985c5 Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 6 Aug 2024 21:38:37 -0400 Subject: [PATCH 11/30] start createCommitment --- src/lib/commitment/Commitment.sol | 25 +++++++++++++++++++++++++ src/lib/tree/Types.sol | 1 - 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 0da3c49a..0f47415e 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -5,6 +5,8 @@ import {Namespace, isReservedNamespace} from "../tree/Types.sol"; import "openzeppelin-contracts/contracts/utils/math/Math.sol"; import "forge-std/console.sol"; +uint256 constant SUBTREE_ROOT_THRESHOLD = 64; + function divCeil(uint256 x, uint256 y) pure returns (uint256 z) { z = x / y + (x % y == 0 ? 0 : 1); } @@ -101,4 +103,27 @@ function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure shares = _shares; err = false; +} + +function roundUpPowerOfTwo(uint256 x) pure returns (uint256) { + uint256 result = 1; + while (result < x) { + result *= 2; + } + return result; +} + +function subtreeWidth(uint256 shareCount, uint256 subtreeRootThreshold) pure returns (uint256) { + uint256 s = shareCount / SUBTREE_ROOT_THRESHOLD; + if (s != 0) { + s++; + } + s = roundUpPowerOfTwo(s); + return Math.min(s, blobMinSquareSize(shareCount)); +} + +function createCommitment(bytes[] memory shares) pure returns (bytes32 commitment) { + + // this is not it lol + return keccak256(abi.encode(shares)); } \ No newline at end of file diff --git a/src/lib/tree/Types.sol b/src/lib/tree/Types.sol index 3ca565fa..b2a48943 100644 --- a/src/lib/tree/Types.sol +++ b/src/lib/tree/Types.sol @@ -30,7 +30,6 @@ function toBytes(Namespace memory n) pure returns (bytes29) { function isReservedNamespace(Namespace memory n) pure returns (bool) { bytes29 upper = hex"00000000000000000000000000000000000000000000000000000000FF"; - // we already restrict the version to 0, so this check might be unnecessary bytes29 lower = hex"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"; return n.toBytes() < upper || n.toBytes() > lower; } From bdf6d18c9d7905d4cb97c493cd75969c3f9762ec Mon Sep 17 00:00:00 2001 From: c-node Date: Wed, 7 Aug 2024 14:46:08 -0400 Subject: [PATCH 12/30] update libs --- lib/ds-test | 2 +- src/lib/commitment/Commitment.sol | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ds-test b/lib/ds-test index 0a5da56b..e282159d 160000 --- a/lib/ds-test +++ b/lib/ds-test @@ -1 +1 @@ -Subproject commit 0a5da56b0d65960e6a994d2ec8245e6edd38c248 +Subproject commit e282159d5170298eb2455a6c05280ab5a73a4ef0 diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 0f47415e..096cb0c4 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -3,6 +3,7 @@ pragma solidity ^0.8.22; import {Namespace, isReservedNamespace} from "../tree/Types.sol"; import "openzeppelin-contracts/contracts/utils/math/Math.sol"; +import "../../../lib/openzeppelin-contracts/contracts/utils/math/Math.sol"; import "forge-std/console.sol"; uint256 constant SUBTREE_ROOT_THRESHOLD = 64; @@ -113,6 +114,10 @@ function roundUpPowerOfTwo(uint256 x) pure returns (uint256) { return result; } +function blobMinSquareSize(uint256 shareCount) pure returns (uint256) { + return roundUpPowerOfTwo(Math.sqrt(shareCount, Math.Rounding.Ceil)); +} + function subtreeWidth(uint256 shareCount, uint256 subtreeRootThreshold) pure returns (uint256) { uint256 s = shareCount / SUBTREE_ROOT_THRESHOLD; if (s != 0) { From 9ecf545f0e9ebe2c25f20abdce99c707b5f9857b Mon Sep 17 00:00:00 2001 From: c-node Date: Wed, 7 Aug 2024 18:19:48 -0400 Subject: [PATCH 13/30] cooking on createCommitment --- src/lib/commitment/Commitment.sol | 86 ++++++++++++++++-------- src/lib/commitment/test/Commitment.t.sol | 6 +- 2 files changed, 60 insertions(+), 32 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 096cb0c4..ecbffff1 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -2,31 +2,30 @@ pragma solidity ^0.8.22; import {Namespace, isReservedNamespace} from "../tree/Types.sol"; -import "openzeppelin-contracts/contracts/utils/math/Math.sol"; -import "../../../lib/openzeppelin-contracts/contracts/utils/math/Math.sol"; +import "../../../lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol"; import "forge-std/console.sol"; uint256 constant SUBTREE_ROOT_THRESHOLD = 64; -function divCeil(uint256 x, uint256 y) pure returns (uint256 z) { +function _divCeil(uint256 x, uint256 y) pure returns (uint256 z) { z = x / y + (x % y == 0 ? 0 : 1); } -function num_shares(uint256 blobSize) pure returns (uint256) { - return divCeil((Math.max(blobSize, 478) - 478), 482) + 1; +function _numShares(uint256 blobSize) pure returns (uint256) { + return _divCeil((MathUpgradeable.max(blobSize, 478) - 478), 482) + 1; } -function copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { +function _copyNamespace(bytes memory share, bytes29 namespaceBytes) pure { for (uint256 i = 0; i < namespaceBytes.length; i++) { share[i] = namespaceBytes[i]; } } -function writeInfoByteV0(bytes memory share, bool startingSequence) pure { +function _writeInfoByteV0(bytes memory share, bool startingSequence) pure { share[29] = bytes1(startingSequence ? 1 : 0); } -function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { +function _writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { // Removed the "reverse", because it didn't work- maybe it's already big-endian? //bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(reverse(sequenceLength))); bytes4 sequenceLengthBigEndianBytes = bytes4(abi.encodePacked(sequenceLength)); @@ -36,7 +35,7 @@ function writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { share[33] = sequenceLengthBigEndianBytes[3]; } -function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure returns (uint32) { +function _copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure returns (uint32) { uint256 start = buffer.length - length; for (uint256 i = start; i < buffer.length; i++) { @@ -51,7 +50,7 @@ function copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 return cursor; } -function bytesToHexString(bytes memory buffer) pure returns (string memory) { +function _bytesToHexString(bytes memory buffer) pure returns (string memory) { // Fixed buffer size for hexadecimal convertion bytes memory converted = new bytes(buffer.length * 2); @@ -67,7 +66,7 @@ function bytesToHexString(bytes memory buffer) pure returns (string memory) { } // Share Version 0 -function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure returns (bytes[] memory shares, bool err) { +function _bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure returns (bytes[] memory shares, bool err) { if (namespace.version != 0) { return (new bytes[](0), true); } @@ -75,7 +74,7 @@ function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure return (new bytes[](0), true); } // Allocate memory for the shares - uint256 numShares = num_shares(blobData.length); + uint256 numShares = _numShares(blobData.length); bytes[] memory _shares = new bytes[](numShares); for (uint256 i = 0; i < _shares.length; i++) { _shares[i] = new bytes(512); @@ -84,21 +83,21 @@ function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure bytes29 namespaceBytes = namespace.toBytes(); // The first share is special, because it has startingSequence set to true and the 4-byte sequence length - copyNamespace(_shares[0], namespaceBytes); - writeInfoByteV0(_shares[0], true); - writeSequenceLength(_shares[0], uint32(blobData.length)); + _copyNamespace(_shares[0], namespaceBytes); + _writeInfoByteV0(_shares[0], true); + _writeSequenceLength(_shares[0], uint32(blobData.length)); uint32 cursor = 0; - cursor = copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length + cursor = _copyBytes(_shares[0], cursor, blobData, uint32(478)); //only 478 bytes, because 4 bytes are used for the sequence length if (shares.length != 1) { // The remaining shares are all the same for (uint256 i = 1; i < _shares.length; i++) { // Copy the namespace - copyNamespace(_shares[i], namespaceBytes); + _copyNamespace(_shares[i], namespaceBytes); // Write the info byte - writeInfoByteV0(_shares[i], false); + _writeInfoByteV0(_shares[i], false); // Copy the data - cursor = copyBytes(_shares[i], cursor, blobData, uint32(482)); // copy the full 482 bytes + cursor = _copyBytes(_shares[i], cursor, blobData, uint32(482)); // copy the full 482 bytes } } @@ -106,7 +105,15 @@ function bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure err = false; } -function roundUpPowerOfTwo(uint256 x) pure returns (uint256) { +function _roundDownPowerOfTwo(uint256 x) pure returns (uint256) { + uint256 result = 1; + while (result * 2 <= x) { + result *= 2; + } + return result; +} + +function _roundUpPowerOfTwo(uint256 x) pure returns (uint256) { uint256 result = 1; while (result < x) { result *= 2; @@ -114,21 +121,42 @@ function roundUpPowerOfTwo(uint256 x) pure returns (uint256) { return result; } -function blobMinSquareSize(uint256 shareCount) pure returns (uint256) { - return roundUpPowerOfTwo(Math.sqrt(shareCount, Math.Rounding.Ceil)); +function _blobMinSquareSize(uint256 shareCount) pure returns (uint256) { + return _roundUpPowerOfTwo(MathUpgradeable.sqrt(shareCount, MathUpgradeable.Rounding.Ceil)); } -function subtreeWidth(uint256 shareCount, uint256 subtreeRootThreshold) pure returns (uint256) { - uint256 s = shareCount / SUBTREE_ROOT_THRESHOLD; +function _subtreeWidth(uint256 shareCount, uint256 subtreeRootThreshold) pure returns (uint256) { + uint256 s = shareCount / subtreeRootThreshold; if (s != 0) { s++; } - s = roundUpPowerOfTwo(s); - return Math.min(s, blobMinSquareSize(shareCount)); + s = _roundUpPowerOfTwo(s); + return MathUpgradeable.min(s, _blobMinSquareSize(shareCount)); } -function createCommitment(bytes[] memory shares) pure returns (bytes32 commitment) { +function _merkleMountainRangeSizes(uint256 totalSize, maxTreeSize) pure returns (uint256[] memory) { + uint256[] treeSizes = new uint256[](0); + while (totalSize != 0) { + if (totalSize >= maxTreeSize) { + treeSizes.push(maxTreeSize); + totalSize -= maxTreeSize; + } + else { + uint256 treeSize = _roundDownPowerOfTwo(totalSize); + treeSizes.push(treeSize); + totalSize -= treeSize; + } + } + return treeSizes; +} + +function _createCommitment(bytes[] memory shares) pure returns (bytes32 commitment) { + uint256 subtreeWidth = _subtreeWidth(shares.length, SUBTREE_ROOT_THRESHOLD); + uint256[] treeSizes = _merkleMountainRangeSizes(shares.length, subtreeWidth); + bytes[][][] leafSets = new bytes[][][](treeSizes.length); + uint256 cursor = 0; + for (uint256 i = 0; i < treeSizes.length; i++) { + leafSets[i] = new bytes[][](treeSizes[i]); - // this is not it lol - return keccak256(abi.encode(shares)); + } } \ No newline at end of file diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 088a161c..8a07e705 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.22; import "ds-test/test.sol"; import "forge-std/Vm.sol"; import "forge-std/console.sol"; -import {bytesToSharesV0, bytesToHexString} from "../Commitment.sol"; +import {_bytesToSharesV0, _bytesToHexString} from "../Commitment.sol"; import {toNamespace, Namespace} from "../../tree/Types.sol"; contract CommitmentTest is DSTest { @@ -54,10 +54,10 @@ contract CommitmentTest is DSTest { bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); Namespace memory ns = toNamespace(nsString); bytes memory data = fromHex(vecs[i].data); - (bytes[] memory shares, bool err) = bytesToSharesV0(data, ns); + (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); string memory out = ""; for (uint j = 0; j < shares.length; j++) { - out = string.concat(out, bytesToHexString(shares[j])); + out = string.concat(out, _bytesToHexString(shares[j])); } // none of the test vectors should cause an error assert(!err); From 902471ca5c75dea3e8e7399c4af3c4bfa116c36a Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 13 Aug 2024 20:00:29 -0400 Subject: [PATCH 14/30] subtree roots --- src/lib/commitment/Commitment.sol | 54 ++++++++++++++++--- .../namespace/NamespaceMerkleMultiproof.sol | 2 +- .../tree/namespace/NamespaceMerkleTree.sol | 3 +- 3 files changed, 49 insertions(+), 10 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index ecbffff1..89ff6b80 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -2,6 +2,9 @@ pragma solidity ^0.8.22; import {Namespace, isReservedNamespace} from "../tree/Types.sol"; +import "../tree/namespace/NamespaceMerkleTree.sol"; +import "../tree/namespace/NamespaceNode.sol"; +import "../tree/namespace/NamespaceMerkleMultiproof.sol"; import "../../../lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol"; import "forge-std/console.sol"; @@ -134,29 +137,64 @@ function _subtreeWidth(uint256 shareCount, uint256 subtreeRootThreshold) pure re return MathUpgradeable.min(s, _blobMinSquareSize(shareCount)); } -function _merkleMountainRangeSizes(uint256 totalSize, maxTreeSize) pure returns (uint256[] memory) { - uint256[] treeSizes = new uint256[](0); +function _merkleMountainRangeSizes(uint256 totalSize, uint256 maxTreeSize) pure returns (uint256[] memory) { + // Overestimate size of array + // This is a workaround because Solidity doesn't support dynamic memory arrays like Go or Rust + uint256 bigTrees = totalSize / maxTreeSize; + uint256 leftovers = totalSize % maxTreeSize; + uint256 numTrees; + if (leftovers == 0) { + numTrees = bigTrees; + } + else { + numTrees = bigTrees + MathUpgradeable.log2(leftovers) + (leftovers%2); + } + uint256[] memory treeSizes = new uint256[](numTrees); + uint256 count = 0; while (totalSize != 0) { if (totalSize >= maxTreeSize) { - treeSizes.push(maxTreeSize); + treeSizes[count] = maxTreeSize; totalSize -= maxTreeSize; } else { uint256 treeSize = _roundDownPowerOfTwo(totalSize); - treeSizes.push(treeSize); + treeSizes[count] = treeSize; totalSize -= treeSize; } + count++; } return treeSizes; } -function _createCommitment(bytes[] memory shares) pure returns (bytes32 commitment) { +function _createCommitment(bytes[] memory shares, Namespace memory namespace) pure returns (bytes32 commitment) { uint256 subtreeWidth = _subtreeWidth(shares.length, SUBTREE_ROOT_THRESHOLD); - uint256[] treeSizes = _merkleMountainRangeSizes(shares.length, subtreeWidth); - bytes[][][] leafSets = new bytes[][][](treeSizes.length); + uint256[] memory treeSizes = _merkleMountainRangeSizes(shares.length, subtreeWidth); + bytes[][] memory leafSets = new bytes[][](treeSizes.length); uint256 cursor = 0; + // So much copying... + // This could likely be optimized, but I'm not an EVM expert + // Let's see if the gas is too high, optimize later. + // Stop when we hit 0, the delimeter indicating the end of the array for (uint256 i = 0; i < treeSizes.length; i++) { - leafSets[i] = new bytes[][](treeSizes[i]); + leafSets[i] = new bytes[](treeSizes[i]); + for (uint256 j = 0; j < treeSizes[i]; j++) { + leafSets[i][j] = new bytes(512); + // copy the share + for (uint256 k = 0; k < 512; k++) { + leafSets[i][j][k] = shares[cursor][k]; + cursor++; + } + } + } + NamespaceNode[] memory subtreeRoots = new NamespaceNode[](leafSets.length); + // Fore each leafSet, compute the root using _computeRoot. Pass a null value for the "proof" parameter + for (uint256 i = 0; i < leafSets.length; i++) { + NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); + NamespaceNode[] memory leafNamespaceNodes = new NamespaceNode[](leafSets[i].length); + for (uint256 j = 0; j < leafSets[i].length; j++) { + leafNamespaceNodes[j] = NamespaceNode(namespace, namespace, bytes32(leafSets[i][j])); + } + (subtreeRoots[i],,,) = NamespaceMerkleTree._computeRoot(nullproof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); } } \ No newline at end of file diff --git a/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol b/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol index 5ce86d0c..ca8b220b 100644 --- a/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol +++ b/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Apache-2.0 +https://x.com/colludingnode/status/1823495509384028614// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.22; import "./NamespaceNode.sol"; diff --git a/src/lib/tree/namespace/NamespaceMerkleTree.sol b/src/lib/tree/namespace/NamespaceMerkleTree.sol index 9e77bd4a..4868e062 100644 --- a/src/lib/tree/namespace/NamespaceMerkleTree.sol +++ b/src/lib/tree/namespace/NamespaceMerkleTree.sol @@ -193,6 +193,7 @@ library NamespaceMerkleTree { return namespaceNodeEquals(rootHash, root); } + /// @notice Computes the NMT root recursively. /// @param proof Namespace Merkle multiproof for the leaves. /// @param leafNodes Leaf nodes for which inclusion is proven. @@ -211,7 +212,7 @@ library NamespaceMerkleTree { uint256 end, uint256 headProof, uint256 headLeaves - ) private pure returns (NamespaceNode memory, uint256, uint256, bool) { + ) public pure returns (NamespaceNode memory, uint256, uint256, bool) { // reached a leaf if (end - begin == 1) { // if current range overlaps with proof range, pop and return a leaf From c1bb1a441e1e011409e534fc727116d72000a63f Mon Sep 17 00:00:00 2001 From: c-node Date: Thu, 15 Aug 2024 23:07:07 -0400 Subject: [PATCH 15/30] trying to debug a seg fault --- src/lib/commitment/Commitment.sol | 34 +++++++++++++++---- src/lib/commitment/test/Commitment.t.sol | 15 +++++++- src/lib/tree/binary/BinaryMerkleTree.sol | 2 +- .../namespace/NamespaceMerkleMultiproof.sol | 2 +- 4 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 89ff6b80..6bd71cdf 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -3,6 +3,8 @@ pragma solidity ^0.8.22; import {Namespace, isReservedNamespace} from "../tree/Types.sol"; import "../tree/namespace/NamespaceMerkleTree.sol"; +import "../tree/binary/BinaryMerkleTree.sol"; +import "../tree/binary/BinaryMerkleMultiproof.sol"; import "../tree/namespace/NamespaceNode.sol"; import "../tree/namespace/NamespaceMerkleMultiproof.sol"; import "../../../lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol"; @@ -166,7 +168,7 @@ function _merkleMountainRangeSizes(uint256 totalSize, uint256 maxTreeSize) pure return treeSizes; } -function _createCommitment(bytes[] memory shares, Namespace memory namespace) pure returns (bytes32 commitment) { +function _createCommitment(bytes[] memory shares, Namespace memory namespace) view returns (bytes32 commitment) { uint256 subtreeWidth = _subtreeWidth(shares.length, SUBTREE_ROOT_THRESHOLD); uint256[] memory treeSizes = _merkleMountainRangeSizes(shares.length, subtreeWidth); bytes[][] memory leafSets = new bytes[][](treeSizes.length); @@ -180,21 +182,39 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) pu for (uint256 j = 0; j < treeSizes[i]; j++) { leafSets[i][j] = new bytes(512); // copy the share - for (uint256 k = 0; k < 512; k++) { - leafSets[i][j][k] = shares[cursor][k]; - cursor++; + console.log("share length ", shares.length); + while (cursor < shares.length) { + console.log("cursor: ", cursor); + console.log("shares[",cursor,"] length", shares[cursor].length); + for (uint256 k = 0; k < 512; k++) { + if (shares[cursor].length > k) { + console.log("all clear"); + leafSets[i][j][k] = shares[cursor][k]; + cursor++; + } else { + console.log("kiling myself"); + } + } } } } - NamespaceNode[] memory subtreeRoots = new NamespaceNode[](leafSets.length); + // set commitment to a zero array + commitment = bytes32(0); + + //NamespaceNode[] memory subtreeRoots = new NamespaceNode[](leafSets.length); + /*bytes32[] memory subtreeRoots = new bytes32[](leafSets.length); // Fore each leafSet, compute the root using _computeRoot. Pass a null value for the "proof" parameter + NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); for (uint256 i = 0; i < leafSets.length; i++) { - NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); NamespaceNode[] memory leafNamespaceNodes = new NamespaceNode[](leafSets[i].length); for (uint256 j = 0; j < leafSets[i].length; j++) { leafNamespaceNodes[j] = NamespaceNode(namespace, namespace, bytes32(leafSets[i][j])); } - (subtreeRoots[i],,,) = NamespaceMerkleTree._computeRoot(nullproof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); + (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(nullproof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); + subtreeRoots[i] = root.digest; } + BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); + (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(nullBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); + commitment = binaryTreeRoot;*/ } \ No newline at end of file diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 8a07e705..e7350a70 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.22; import "ds-test/test.sol"; import "forge-std/Vm.sol"; import "forge-std/console.sol"; -import {_bytesToSharesV0, _bytesToHexString} from "../Commitment.sol"; +import {_bytesToSharesV0, _createCommitment, _bytesToHexString} from "../Commitment.sol"; import {toNamespace, Namespace} from "../../tree/Types.sol"; contract CommitmentTest is DSTest { @@ -64,4 +64,17 @@ contract CommitmentTest is DSTest { assert(compareStrings(out, vecs[i].shares)); } } + + function testCreateCommitmentV0() view external { + string memory path = "./src/lib/commitment/test/testVectors.json"; + string memory jsonData = vm.readFile(path); + bytes memory vecsData = vm.parseJson(jsonData); + TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); + + bytes29 nsString = bytes29(fromHex(vecs[0].namespace)); + Namespace memory ns = toNamespace(nsString); + bytes memory data = fromHex(vecs[0].data); + (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); + bytes32 commitment = _createCommitment(shares, ns); + } } \ No newline at end of file diff --git a/src/lib/tree/binary/BinaryMerkleTree.sol b/src/lib/tree/binary/BinaryMerkleTree.sol index d1fe7d3c..48336103 100644 --- a/src/lib/tree/binary/BinaryMerkleTree.sol +++ b/src/lib/tree/binary/BinaryMerkleTree.sol @@ -126,7 +126,7 @@ library BinaryMerkleTree { uint256 end, uint256 headProof, uint256 headLeaves - ) private pure returns (bytes32, uint256, uint256, bool) { + ) public pure returns (bytes32, uint256, uint256, bool) { // reached a leaf if (end - begin == 1) { // if current range overlaps with proof range, pop and return a leaf diff --git a/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol b/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol index ca8b220b..5ce86d0c 100644 --- a/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol +++ b/src/lib/tree/namespace/NamespaceMerkleMultiproof.sol @@ -1,4 +1,4 @@ -https://x.com/colludingnode/status/1823495509384028614// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.22; import "./NamespaceNode.sol"; From fab008083597168f7c76d98b0f5035bd577cae79 Mon Sep 17 00:00:00 2001 From: c-node Date: Fri, 16 Aug 2024 14:59:00 -0400 Subject: [PATCH 16/30] cleanup --- src/lib/commitment/Commitment.sol | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 6bd71cdf..49fb039d 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -182,18 +182,11 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 j = 0; j < treeSizes[i]; j++) { leafSets[i][j] = new bytes(512); // copy the share - console.log("share length ", shares.length); while (cursor < shares.length) { - console.log("cursor: ", cursor); - console.log("shares[",cursor,"] length", shares[cursor].length); for (uint256 k = 0; k < 512; k++) { - if (shares[cursor].length > k) { - console.log("all clear"); - leafSets[i][j][k] = shares[cursor][k]; - cursor++; - } else { - console.log("kiling myself"); - } + console.log("all clear"); + leafSets[i][j][k] = shares[cursor][k]; + cursor++; } } } From 267a2de0b8d6dd252dcb4e9a76cbba4d6fdd0122 Mon Sep 17 00:00:00 2001 From: c-node Date: Fri, 16 Aug 2024 21:55:11 -0400 Subject: [PATCH 17/30] trying to make it work --- src/lib/commitment/Commitment.sol | 18 +++++++----------- src/lib/commitment/test/Commitment.t.sol | 15 ++++++++++++++- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 49fb039d..05622a25 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -182,21 +182,15 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 j = 0; j < treeSizes[i]; j++) { leafSets[i][j] = new bytes(512); // copy the share - while (cursor < shares.length) { - for (uint256 k = 0; k < 512; k++) { - console.log("all clear"); - leafSets[i][j][k] = shares[cursor][k]; - cursor++; - } + for (uint256 k = 0; k < 512; k++) { + leafSets[i][j][k] = shares[cursor][k]; } + cursor += treeSizes[i]; } } - // set commitment to a zero array - commitment = bytes32(0); - //NamespaceNode[] memory subtreeRoots = new NamespaceNode[](leafSets.length); - /*bytes32[] memory subtreeRoots = new bytes32[](leafSets.length); + bytes32[] memory subtreeRoots = new bytes32[](leafSets.length); // Fore each leafSet, compute the root using _computeRoot. Pass a null value for the "proof" parameter NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); for (uint256 i = 0; i < leafSets.length; i++) { @@ -204,10 +198,12 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 j = 0; j < leafSets[i].length; j++) { leafNamespaceNodes[j] = NamespaceNode(namespace, namespace, bytes32(leafSets[i][j])); } + console.log("first node: %s", _bytesToHexString(abi.encodePacked(leafNamespaceNodes[0].digest))); (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(nullproof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); subtreeRoots[i] = root.digest; + console.log(_bytesToHexString(abi.encodePacked(root.digest))); } BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(nullBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); - commitment = binaryTreeRoot;*/ + commitment = binaryTreeRoot; } \ No newline at end of file diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index e7350a70..fa3e5c07 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -5,6 +5,8 @@ import "forge-std/Vm.sol"; import "forge-std/console.sol"; import {_bytesToSharesV0, _createCommitment, _bytesToHexString} from "../Commitment.sol"; import {toNamespace, Namespace} from "../../tree/Types.sol"; +import "../../tree/namespace/NamespaceMerkleTree.sol"; +import "../../tree/namespace/NamespaceMerkleMultiproof.sol"; contract CommitmentTest is DSTest { Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code"))))); @@ -75,6 +77,17 @@ contract CommitmentTest is DSTest { Namespace memory ns = toNamespace(nsString); bytes memory data = fromHex(vecs[0].data); (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); - bytes32 commitment = _createCommitment(shares, ns); + /*bytes32 commitment = _createCommitment(shares, ns); + console.log(_bytesToHexString(abi.encodePacked(commitment)));*/ + + bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; + NamespaceNode memory node = NamespaceNode(ns, ns, dummy); + NamespaceNode[] memory nodes = new NamespaceNode[](1); + nodes[0] = node; + NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); + (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(nullproof, nodes, 0, 1, 0, 0); + console.log(_bytesToHexString(abi.encodePacked(root.digest))); + //for (uint i = 0; i < vecs.length; i++) { + //} } } \ No newline at end of file From 53ba9663a082ff78f5c05ca329f3fe76dab2fb80 Mon Sep 17 00:00:00 2001 From: c-node Date: Fri, 16 Aug 2024 23:15:54 -0400 Subject: [PATCH 18/30] ok now it actually returns something --- src/lib/commitment/Commitment.sol | 10 ++++++---- src/lib/commitment/test/Commitment.t.sol | 12 +++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 05622a25..534648cd 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -192,18 +192,20 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi //NamespaceNode[] memory subtreeRoots = new NamespaceNode[](leafSets.length); bytes32[] memory subtreeRoots = new bytes32[](leafSets.length); // Fore each leafSet, compute the root using _computeRoot. Pass a null value for the "proof" parameter - NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); + //NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); for (uint256 i = 0; i < leafSets.length; i++) { NamespaceNode[] memory leafNamespaceNodes = new NamespaceNode[](leafSets[i].length); for (uint256 j = 0; j < leafSets[i].length; j++) { leafNamespaceNodes[j] = NamespaceNode(namespace, namespace, bytes32(leafSets[i][j])); } console.log("first node: %s", _bytesToHexString(abi.encodePacked(leafNamespaceNodes[0].digest))); - (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(nullproof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); + NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); + (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); subtreeRoots[i] = root.digest; - console.log(_bytesToHexString(abi.encodePacked(root.digest))); + console.log("subtree root ", _bytesToHexString(abi.encodePacked(root.digest))); } BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); - (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(nullBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); + BinaryMerkleMultiproof memory populatedBinaryProof = BinaryMerkleMultiproof(subtreeRoots, 0, subtreeRoots.length); + (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(populatedBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); commitment = binaryTreeRoot; } \ No newline at end of file diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index fa3e5c07..7bfb4cf2 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -77,16 +77,18 @@ contract CommitmentTest is DSTest { Namespace memory ns = toNamespace(nsString); bytes memory data = fromHex(vecs[0].data); (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); - /*bytes32 commitment = _createCommitment(shares, ns); - console.log(_bytesToHexString(abi.encodePacked(commitment)));*/ + bytes32 commitment = _createCommitment(shares, ns); + console.log(_bytesToHexString(abi.encodePacked(commitment))); - bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; + /*bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; NamespaceNode memory node = NamespaceNode(ns, ns, dummy); NamespaceNode[] memory nodes = new NamespaceNode[](1); nodes[0] = node; NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); - (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(nullproof, nodes, 0, 1, 0, 0); - console.log(_bytesToHexString(abi.encodePacked(root.digest))); + NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, 1, nodes); + (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, nodes, 0, 1, 0, 0); + console.log(_bytesToHexString(abi.encodePacked(node.digest))); + console.log(_bytesToHexString(abi.encodePacked(root.digest)));*/ //for (uint i = 0; i < vecs.length; i++) { //} } From d4fa30b3d9e1d62cbb2d806d5ab20facd1320317 Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 15:10:20 -0400 Subject: [PATCH 19/30] regenerate test vectors, now blobToShares broke --- src/lib/commitment/test/Commitment.t.sol | 8 ++- src/lib/commitment/test/testVectors.json | 83 +----------------------- 2 files changed, 7 insertions(+), 84 deletions(-) diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 7bfb4cf2..229b67e9 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -62,8 +62,12 @@ contract CommitmentTest is DSTest { out = string.concat(out, _bytesToHexString(shares[j])); } // none of the test vectors should cause an error - assert(!err); - assert(compareStrings(out, vecs[i].shares)); + //assert(!err); + //assert(compareStrings(out, vecs[i].shares)); + if (!compareStrings(out, vecs[i].shares)) { + console.log("expected: ", vecs[i].shares); + console.log("got: ", out); + } } } diff --git a/src/lib/commitment/test/testVectors.json b/src/lib/commitment/test/testVectors.json index 532dda78..24b4a96a 100644 --- a/src/lib/commitment/test/testVectors.json +++ b/src/lib/commitment/test/testVectors.json @@ -1,82 +1 @@ -[ - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "5f3a5c53aca9b6532f6d4b83c36dbfe987642dc9beed106faa6fbea87adacdb447f47c842f71b664a9d004c458f3e6232dd48ef27bb7a3571be6d306fdf5b126f805c4b6bea5627e88d1dee0bdbdd4d9fd020b5f73c0b2ddf85108e47a95ee44b078659b8da4835cd8413ef2add897aab98430cb89813de1efe29ef7a3de53938704c0e192b5e156c67201126ffd90f607227fb110378d5aba8c8403c7b07247c132226a8f59b12a47abb8dfc2144396f0ce60483b8f88f078b8afe75ac273a6133e0ac5b504bca50ad4dc057d58e9c123f4a6f38a1f8e55911752b9dac3bc8b54c9070cfbec36a8ea81c037010ea982a3bdb3b32b8eb64d1ecc8e5e08fa9f61b73ac2b0c753665796fc8482d8eea22a68201cd83678e3dd4e86290f4c87851356ffdd048a7b0a6e0f613998a2586779c27f5b641941b46c87e6cf2917ab76be6cbdfb040c14ba73e190da267c9b99107dbe1f43e1e0a1cc88bf7ed8e37770a53f69d719d4622fd8a63e91c5a12df3d30440f38d81b5e73bf173f780a18c3a4f53b0eee9834fd348571d7f7f08ba3c1e39bb1c5372aafb6c5c415b4d366dd9d18cdd3eee5d994d003fd96500d442ce708e8b3e17246243c282dc7924a71f6d4c0b75b574c729b337ea5f87a88971173d1ab9268c33276ef0b340a2022361d9ee7e47e689ebd157ccad4bdb95f97f7557615f8d584d98f61c53aa9d1ca52d076ffac8d80b94cc75108f4a44c4cc9d5da76e76b64a54306f5e4a5bb2445ad139f38fb27a2ebea8484ceedc050164e6bc32bb056e083649a72a57ca70061c4d1fc45d63457582d0da8e06b964c160345ccddc62613db2bff86cae46ce2550888598ad2837a24992e9143c2729bccdd8eb97a7623bc03183b70e30cca92c1a14bf273a2f3a2db9cee501461aaa0b71175cd8671d38a4157b9dfba9d3cabac3ef451145d507016867d0d43bb00fb8f815f528834fa1a8000b92fdcb0f6aa9fd9baa5803a9d639b9d5d3302f6043138976d9d3752b5c8315131d7fb4cac4ba4009597785df756f5d353cbf3b8ed4149bcdc35296c6d6a3f7231e979dbacf7bf0103b7b51885a7216ba044bc5459adf656dc6ee48e4a7718c8a3331fbe8a23fd705f9661279c8da278aca624b4e95709e37304197c0a171e86bd4918ec4016e6b7fe1c85bf3a52ab8b2e79cb355018016dc1d8a7147c3145fdf473b0fcd56ea1db65b268d002bdaad1fd039c5701e33cd56b0debc6c0a66875ebc0ba9f92d6bb01ef8ceca108d44c3f68092afbff2ec1ea2f4c9115ed0985303d441f852ca311bb3dddd81e796fa7388869b7e538d0bcdb0265f9571199fd69cf060c0e336410369e659fe23aead971682b3f87471b92be14ad1e3dd7581c07a555b52bb62b3681c46fcac84319e5bbf04f3876b8300f5b85b9ff4c74b766760fea032844d45bb0bd034", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000004005f3a5c53aca9b6532f6d4b83c36dbfe987642dc9beed106faa6fbea87adacdb447f47c842f71b664a9d004c458f3e6232dd48ef27bb7a3571be6d306fdf5b126f805c4b6bea5627e88d1dee0bdbdd4d9fd020b5f73c0b2ddf85108e47a95ee44b078659b8da4835cd8413ef2add897aab98430cb89813de1efe29ef7a3de53938704c0e192b5e156c67201126ffd90f607227fb110378d5aba8c8403c7b07247c132226a8f59b12a47abb8dfc2144396f0ce60483b8f88f078b8afe75ac273a6133e0ac5b504bca50ad4dc057d58e9c123f4a6f38a1f8e55911752b9dac3bc8b54c9070cfbec36a8ea81c037010ea982a3bdb3b32b8eb64d1ecc8e5e08fa9f61b73ac2b0c753665796fc8482d8eea22a68201cd83678e3dd4e86290f4c87851356ffdd048a7b0a6e0f613998a2586779c27f5b641941b46c87e6cf2917ab76be6cbdfb040c14ba73e190da267c9b99107dbe1f43e1e0a1cc88bf7ed8e37770a53f69d719d4622fd8a63e91c5a12df3d30440f38d81b5e73bf173f780a18c3a4f53b0eee9834fd348571d7f7f08ba3c1e39bb1c5372aafb6c5c415b4d366dd9d18cdd3eee5d994d003fd96500d442ce708e8b3e17246243c282dc7924a71f6d4c0b75b574c729b337ea5f87a88971173d1ab9268c33276ef0b340a2022361000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00d9ee7e47e689ebd157ccad4bdb95f97f7557615f8d584d98f61c53aa9d1ca52d076ffac8d80b94cc75108f4a44c4cc9d5da76e76b64a54306f5e4a5bb2445ad139f38fb27a2ebea8484ceedc050164e6bc32bb056e083649a72a57ca70061c4d1fc45d63457582d0da8e06b964c160345ccddc62613db2bff86cae46ce2550888598ad2837a24992e9143c2729bccdd8eb97a7623bc03183b70e30cca92c1a14bf273a2f3a2db9cee501461aaa0b71175cd8671d38a4157b9dfba9d3cabac3ef451145d507016867d0d43bb00fb8f815f528834fa1a8000b92fdcb0f6aa9fd9baa5803a9d639b9d5d3302f6043138976d9d3752b5c8315131d7fb4cac4ba4009597785df756f5d353cbf3b8ed4149bcdc35296c6d6a3f7231e979dbacf7bf0103b7b51885a7216ba044bc5459adf656dc6ee48e4a7718c8a3331fbe8a23fd705f9661279c8da278aca624b4e95709e37304197c0a171e86bd4918ec4016e6b7fe1c85bf3a52ab8b2e79cb355018016dc1d8a7147c3145fdf473b0fcd56ea1db65b268d002bdaad1fd039c5701e33cd56b0debc6c0a66875ebc0ba9f92d6bb01ef8ceca108d44c3f68092afbff2ec1ea2f4c9115ed0985303d441f852ca311bb3dddd81e796fa7388869b7e538d0bcdb0265f9571199fd69cf060c0e336410369e659000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00fe23aead971682b3f87471b92be14ad1e3dd7581c07a555b52bb62b3681c46fcac84319e5bbf04f3876b8300f5b85b9ff4c74b766760fea032844d45bb0bd03400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e", - "data": "5c4e95bfd08e0d122e5cedf6dadaeeda6025facd50f21a5b75899b8652683baee7b10f389d0d6c21a82f5e2ea24dca9ed8790cf9f0420bf9d76173b130702c63e36625c2a7019b0a889b260ab3833b463dc539ea2f968839d12313b21bfb07815e103fb0bf89d4bb77aed1de044f1da78d4b6735a4ddc4e3628ce5370d0a1dde26a54520b249c717fbc53b868c0d8af6ce5efcc64fac811bfd312408f912ac1bf164743868c2bca08b7389da53aa9f39151461307acc0abec699ba394307a4c5452d8849b4c7ae1d48de5d46d5ca0b970e2763dc849f5560b9901977541161879eae7d57e13601514e4e7b26844f998c1412e61e132b06a4f1add6ffc250bbf24ead216882a9366fa4d732d1285186521479e658edf0a66789f5ee29703a19326525015d2517f6d92f05ac5e587503bd0b9024675e9ee3d08563fa85b86eb4e44ac5fcae39994ef5a065e733f7d912ec6dad597d0c70569046c4f341750af88f2117df74903ff65008e617557ce42694f81ccccdac4dcbb07d297a585678b655bda63f18d687b364474e86ad954de8aedfd268a0fc9f6dbf9197a46c478577911c547254da9266a09f3fd614e1664fe5ef805d0c2e235aa46758c7fd2875743edf080d076d558d7a23d5b30b8f68b04872810eadcd44cd8ca85f0f65f1ec619b0de5fdf221e4be9627b542679b19612f73fbf11d8d5b1ee857282832265c0575e56f0f2a7d71acc20c0bc4ef495dc2def61baf5787eb2c4b90f7d70842bdf6cc5bfd4bcfe8e556d98434057a34aa67fbade56cc90fed3042b9b64f915f7fd8766dfe6acdddf5ce4abe209e14aed8466e7865221c19d134e6e94df98ab25e79679e20d2775fa74fbec493ba32dcb76bb0e3e2075a2b44d361c536dd7d327add5382526cbbc03c3bac2c135fac76817021955d210d52d771f08daf182a6b6abf1543f68fff60fb419331c416465317b4efe8e452b54b65e81710af5bf07e81cabd7b67a69933297c94f5c06d6e48ac7b6e788a731792242371af89c68dd8502172e19e205ed88a15f1a211234daf928e48005160a707804e7000e91415192c90be95e7737cdb08f0f4f8c3e3ca57f72f0f408a23bea5669a061877c91fa824671437c393ce13312fb653fb2fd25b7c632bfe3e7a6f4782d5f5b44df42cf7697fb63836334513499259422b4177f18c782fb65239559f9be6e4154e59875dcc46847a3ce7ef4727793c55a034953c0534644aa9f35967b8b8c41ca8882d5be76f6170669b710981727ecfb588d30e697a83e86789af46807bbe35bda100ea036f83e8acaa6da06c863753f755919c29c9a6e051c151f4ba5a81fec36675736c8ed2154111f9797760aec122ed71bc66c7846d2e0594f22ea5b337f926ec652b142c6b61ca66db4290ee2aca14d94676b06278c89f3f5f53426a7c55f5728d6dc550cfd9b4bb76889816a07a2fcaf836fce77acae29d44bdac8f1e09bb29c2ead09673bc67e2e8ce788bf47cb86681e0777dca8cffcf9a1d44b34354baf4244cc60e4f7d6914017d1077f1fbfd3f4e7e47250de0a9faf202bff7e6b40a1ee0a455a9c536ca52eddc18ac6c13c77578ee93278c64e2750fbdd82c8c4c9c45100b99829b286c8afc0535201e2d0630866667a928d2f550de20bef7457f7fd779c2105f03cd6320cc09caf8fe3f18abbe61f0f67f7c08e3c4104e6a1bf7df1670460fcb073d25aae3663841079156ca1f8cbb786e55b5202dff674ce171cd4b88dedd55703e26c6bf2c45c40974b450d30aaf5104fb2ba35a34f1c869f3f186b35cd7da48080b9a39850d563d296710e1694b70a813b4478c382a54bafd79b89341d92f64f86ac76b47c946a3e1cb641c02463396d1fe497b1068d843ac555771c7c46f4f73bf97eca21fa6ebdc01b529aabf4ef6f1109cdd237b5bb114417ec9e9e394c457516dd57c6ce638fa45c71eb4c468a757af8ede1c79d34b18b317029908e1cb6172a68e378d439380cda33554859bc9c41543661cf9725ede9f686f3b13fd8db49c0749654d530a6db0b1947e020b16b6d496c45a5a2dc3301f5cecd845941a7cf077097d2f99833a021423f7fb734a30eebce5f4b218f27482d9a3bdac232d2fea83dec67341cc2222ef824cdbe0a82b0e4e6f1b7714abf3111ff2a11680e20439fc725dd6e2f1ac820a73fc9ede2964f49eea362e73cb6dec95c6db88db79fb6c9ddaf73340aad50e448b9a8bab7fa31b606323fc27ec1150b208261de1427098f6d52cadd91a66ebe83bed60ba0fd6fc2802341c0e4417ec40513626c4d676314966e25a795be7ea99ccb92d271fc693f2fdd9dfd43afe8c08d3ac0342162a9fa60fd65257ec278ad3e38e602c300b7e4b5e9c1710915eb29d67a15dc7add86b8c3afc45d19ab94bbc15aba4304225a67adfc45e04fa1143c0fa2596e83d2bc1f52673ec8a9af7cfb4a4d6e44aece705cb866709686bcdcd88c3ffd7b7f2d14b4af71a7696789a68a819c7a23205a708d609d3edf0e8a6ef69f680b9e5a6f93a934e1549ddfcde964518ffca696f886022eb515a245cb6d01ddc14e8d541805f3273d73516b8abdd901dcc930f6db51fea28390578b3b8fcca402aabc896242e4e7a3e28ad952e3d6b8479671f2cd5575f47c1a5e9b86ae76089c7d9757deff922e8b6cbef4f15a9da4d0418d9480d154ec58a422cbd65be29d4cb694bc6aa740c207be4b63190fdcfb2dad16f70c87c362e60db1787c70394590269ad74a07566752dfa61825f75220ee78648b5da24600dbf30c647eb95ccafcc2c8c2e363bb18bd4cfaf9c8d791b7288d2f00950844be3b97a4190dcc897e3c2b718036781afe6b703b83e1271ab1a33ca6e5a8be5177cc1fa9c1db52b8284f159ef88573e2e18c5d3ff5314aac94581b46b873e0bb09956dbd66e84b52343594b4f5496d94b69ea63b6f8738112a5d2bf37921522ea9f39d3f8f26d1e409c7dc3119e4b93fa75e5415be59aae4137afec4e9dd5eebb9c214410edda1e18b0868cb9a505751cf6c38f3b97692cd751662835687a9e3e18b20001535d36bcca11ab005c5ed0b5086fe2a851bcb20444a3735ff341b97598b149e3603b7e1f7aabd7d046c72a3f7c00a3181ff3b9a2d7d5ea9b9b88b415713244dca45137c64104e1455cd7010d1b9f409af114c99829826edb8a13acb74ba81c11cff97d3ddcd6b74160ce365ec2ad1e01d9f4e40c81adf2c78c320dfe8a1897022423c63fcebd30db8aebc18e4b523507a62a713da208d389b779e5e8172e77e8f72fb003209e687fdd30fc625d83cfc8a9af0b79b8ed8b5a808231ca363f2bc77b24a000ceb253ac73bd0ac3a9e47ffef2b648abb113f92e15d21eaad3ecdc17d9caf2ec7c56d14f0895cd4e98dac405ac7de967220ede2b9ecaaab60dfeb9ff22026023564c5bcbb3fdc65d2af54b8effb0ec9b8bcffd922baa58b85da3f52262ca1c6d1df1522cbed36f728a716940b3f58d905e69a140886a915ae7c3ac3aa35af4d52b3b42be7cc7b3673f5ef59ddc4f96f1b5d277cd909673c55e448c6d1d7ef3535b08e375d265a584e46ca73cf9d6ab26ff7c50df42282bbe7b9c31f34bdb9d44482aa20e63628ba6d687ef7fcf55813d94e6e08e896eae543462f0a7966774851bbdc0af73b0c85e42fc23649e24d33b9dab81936ee9ea08bf168d2ea687599ec352e5a2d65084e5c131330b8600384c63402f23d79b28305e4942da0a9574d3f940001e502e98fa3274dca0802d4135dd59895803b3111374c329310653290c6ed062314bc0ac56d406ee4ae1e506c8007f0f6dec49c692c2042cae0bbf911a7e0ef3093197319c380905a508147e1f93368138d6cd37ed2689cef6e2b68acefc6a518c11c1a704f8f025d01687e918de8a77a9302e3d8de4cf0a86d3837e9603ef902aeb0ce87c27608a1f41fb0429a0e09648bbdc73d6d3171a6d94d37661dd03f524c94a11cc212bb1dd7c056d240d74038820e8a7a2b87934692cd7d839911c2bc879a0893309a32c8e3a95b5099395f205628da7cc6d318c3d8d77c74a750c7cca4ab18f82d7c126a67cd43d583d2645abb03d42d9aacc09abd6fd230e9438bcc93833a4e6e2d7bf0293aa37010727c6f057867ea29711bbf671c341244f793c3fdc9553001e8e5cfe4103e3f424010fd248e831047d9b6c4f66b618056ab25814091c52da342571af66f5dc79b0c72f391f2f7fb41fa05d62fc2b1d95d210887481e0a25d144ca41f781102b6c4ffc1b7926905301737f566b9b12eac7f518c22e30eabce01209c42d5dd7711ab6e8abaa59c2ed94735519a405f01dc08cf81681109a9b5d64e2341824a1f810501c18a24642eb926c6538a05e92f1082d9ca6816c571a95b4463b015784b030acf4416be9bc111e449678b025ba6a463f4ef7b359c75e065ffd89f9672221b776309200358a486dd1cd7031b1105c1124e9c9e1db22d9d3db13deb295c80bfd2413f4c85414a0cc990ff5b97a43bb9d1768b89e0b45fb68bb1eefce2e3fac9529a861f0ef911705746c5799ec95c75f5ef4869184b760c249832a25623c07d3d6835a6b1f6c8cfd13deccd42d503ab291358e77016f55f1306d1416e2caca4d2282f9668110fdfcd8a355393c911c1f9c53abba7ca762c2e928b2aaf1f1b8603ec10f5f818e399f1a98f1e3f93f1146a071e7f44185f9d6250ebfe0064ea5e4ca9c70ce6ac1acaf4e887cf8b50e4f78f26adf236ceed44aa8bdcdb2ce599cf9d2299fb2a4ede42bdbab66eb66c3e6f8119de6e398fc52851aa063cad6d7cc8b27f53d73b8eeda5aaf7e62892922a1d027a1b2f8ff726cf354393d807c2dc5f98c4d17c0b6b56ed3a988e0c166a63285643e722985acb271203ced9d0a3eb5e2e4b4f3d2ab183d6931cf819ef95dbed39df8ef7764167a3b81b079d58203f14ef912c2078c25fe788f0ef0c228a156c263c0d4a9cd5bfccb8a4b6c89250247b7c1b902777fa6c2fd9a2be5678fb4ce5fd0c54e766e0576d3b310f29e7312e049c64cac8c2bd65028d25ce6c791a345096c57c000498d0fc7419439d7f1ebcc787e16e5a26f8b967dc3fcbdd486f1235cf17e75999bd72467d67198e3d1949fc99612e422bef049326c9e0406d616499e3842a6e7951f8b183b5f72a8e30b3572fb63ff8e67693e8a1d9ceb71f9660ba77e742354f45133c19fbc82fe8639e43775fd71d1db5acf8bbfd01a0183708dada03656ed4d000d7109e4d578d3571f0d53ed825b6050fdc115c639d30daad3f3fd67c504802a8e11eecc1ceb34607e91327243fcbc36b21167e43c5af9788884fc458ffbe1e513ec8e4a669a762c2cbf55efe538e2148dda3fc649f6318694fe89ace6f7b17571d43c7f67d7ab0dc14fb64de98dec3d9daebc7bb3d671f0053ee15c42b46446d7c565628b098b131d05abf7d9ac771a2a1cb5c3f9160a75458615e3ef7b258d77a9083abfb3d0eb9b8311887bef661e43122a6862aabe2b30354c3c4c0fe361d80e2b16bfbb2da134871e3e350411cbbe6899da217845f8632b76e2ee0c746b887f43d97f78211241e01e0a2e491e2aa117f3cb91d0de8517ede13ec92a16168e7ea3721114246d7fde86af953b1008d2e17c297d263b9e984e3d05b0813687bc678157e6e569a2817402a4a7b168121d77bbec962a4931244c4870a8ea37666137629bd4d4845d7ae0a8aba94efb032cd46a2996bb82a010eb75ea3e4b05c556e612091f580c8ce46657bd18564340c54f29ebec254f5224cc57b7fe290a151f4273dd07d828fe02b15d34591eef25ebcedb372c74706877f0d3488dfa5146b9bbf48026a3d93ce2642c0e44d2b6233b59d0de3c105dd2bed486302fbec21a18185be60ab56aab3281b71d1ac98ad72e61f0f19a7fbec927691158b081d6be0cb054219919e62ff88d9dc2bf615416dcf27872a99e21ce3e02df1cc4206a0a5779bcc955c19d4a3265ccb89c684cca868ec733f2ef444c202761e118d3fb427de4c27f1e2354e3cafe78ed14fa580628fa2020b244000eb13dd4f387ba1a26184ded15de90f29bb5a01a877de659e4696cae3c4a392cf33495217c186dfde0f9e7071abeb8258b3bfb5a3213f9d174c46ada83fef05a9a20d620cbba4054f7343224f4aae7ddef089e9830aa5ae3c3fb947fc87230efe37ed653ce273e526068c10a55f82a2b72d5af1a51165251ae5f65eb38244bd997d4578e97488f6303fc053e4acb9602d2af6e5e519f7a6bd271c9acbb7daf934ff8e9dd947d499c77e65ee995efa30cc16dedd6dc79bccf8b03e09967646075f7e6a2d47bf368292d6e5649b919c117fe809e43983cf2556ba125d7b301ce86f79583e201b5d579396874106ec8e66cef809459c0085d306a1d00e1d4c317c839f3fa95de38912e56b3cb1448bfe63af07ccf7d44651bb21e6464cdb7b9f96c3b2a9ea598ad79c5e62314032d675e724186417559893a9e665121a825210ce2edc845f1caf179dc170148d89c8575ee4b74a789bb5754f2e3a75da045afa531b799363a99206f31fa5fac166ac45663b475cd572ab877565e8d20bc392b494cd783063e3873762c78bb82fdcd147dff0fec9c21b7a171077cfb375518efc91513d65d8a474e88f14ff2632f316c2b11ca66ffaec290d6650c88e1ef247d64047bb62abc4af664231f5710ee9e9c8bc105caf2ccf2b80550854558379f31a7568f6715324065dfe248ca8cc8dcec74e45878d2e6c1c9a65b4fee02316d27c6e652086e0979579ef3c7bec9d36a9612bfe9b625713e8bd0e4f32161b7f9955759eeed6da0401a5ffb3415ba3d88c535a22e620306a2c6b02eb26147279394c5dceb4f0f0e5881d955e9f31e8c9011b96137911e7d8ee04299fe8a274b8942427c9a5bbe0880464b91ae50c73ee4a2a0b3e5d546666ade23af65221edb43780a0ce1db4d8d164333dcd2f08d318167df4325d074f630ce90fb212ca4e5ebfb4b6d0a101f61a7ea40a543e3782d9dbb2bb9b05c1f826fc5ef3952995d65eaad7d589e2039328b8e163eed57eb8f25fef3545e0b419b51a75129d2ccffc778fdf29afe544f5472b43ba452f83c7215ec6c15dd8880e92cdb99c51e9ad6c30cd9889c9dec7e9be6d961a4802d75a130e4d158916bb783a8ff0b02bcfb37a0039856165616ce219e4a233e48802c3fc5f11c3496e247f3a530a17ffd00841092054b4a5b3c3ad7cb0d363b884543fc590c08aa4d0bfe0a5345fa7fe5129b891bbc4edde6d8e1072cf9ad40ea02f83989f0fa5805dd0427870d134328dcd6136106c6a93aea4b0a05091456f79b434db72edf6fa3fd932826d1de38a48194c152a1f8e4ef79e38772e5a1df4a8bc9c5a8d5f7f64ca4293562bb19db8320d3549530ce05588efea836a58f33168448ac515f473c9e38afb05424915feb6caab15e48f07269f873dd2b1233f03479722c6ea239f6df39fda06a90df107839599fc5fe0b6647d4d4762369358d33c27e7b0e0a0e5927ff64c03f1c3f0b68fb94558d5935b27d64a688623172942c552f6cddffda2f76e5441d7c0e51798071fcdeca802d86a0dac21536ffd1ef68c0592e01e3eeec4b694f8b538027b3222b2c624325938c14176785ad8300f209473d562ef09f2e2ba5b0f56e983c321c88524f1384b2db93b0b3a45a07e651d72a22379fbd19268ebaedb9b0471cb1d7b1a428af9ceb25655e2ab9b81ceca351ec2a58ede168c602069ff35b82ea8e7171ab1c9d43275f2d90d4b7da6c2866f106eb5af255dca7db36194d7a68a880dbf1b3283cc162102baaf9502d6c3e276af4d26f58b21fb07e187b827b620fee8157b79ef00be2f22cb6786e9a8ae0ba240cae998c6f1806bd3bd3023d1d50db06ce5de364b622a0f504f228f5a2cfe5775d7e3e3b80a00791655f2948c16f382da4a0e94be92e89f2aabd4fd510fb5f6707c16d6fe5ee3f6bb08921d16a59d4da5e78953b40277b2abb1b12d9ea5c12ec6bf77f5ed8e60b36d0a3c2fa4b1126ab37e6d1b4bef0e0b46d71751e21117fa6b9a3de9f320ac5bcec176869c56f57669a52cfcc93924e128785e490cb3244709db0793f5b561a3ccfa2ce372c911068486d8cb43e57eecc89354508cfce8cd55c460c0a69ef1fcc9a8f28a5ac5878d3791e82806a18796dedd01fb6de69a807092eacc646752a3bd40f85e10331b0ac45ce69a689065c6e94191eadd0fb462c550377baf3ea9832fe43044d98ca13ede6e808233d3f6f07a0f30333cf3e7a7ff2ba44f7cd6f94b21cbbf77355597c501db56b9109defc318cd5f7c5307e0196861e9c3a02a42af1b4353577f2cc7273c8d53fd3bf4e6cb9f4ef401c2fcf133ee234cdc36f700ecdc7294f141d1c737401c1610e215ce0fb60222d2db853d3a7fd68a69e6a98089aeebb2191033a90ab9c3e9c8d74b3780b212fcca9f77d0ae39b0f1926f76a35866e8d65634d41109594371c71b215d1c37aaad8170a54077fb79df3c517262afb0d8969222a8270db23a3fdc54a0848b10f9029521b70aae57ea36ee8b05871ccd24d8d9d0c838f5d9074916823e75d1a368da6c209fd2bcb80afd9e3e5cb31750ee39ed938eb43eee9e438f374e441302b9c475cd138c7760c660ca64d5f1e09ce3477ddf43580c4f0b352e41bd92e4455946b29e64054cf0be5c2332174232bfe07713963594bd3ed8767b0c88b91f8e78b0bf3db062ff56a70cab77cedff4b729349a07c56dae3737cfdbd8bfae3b99a000aedd0e33d9dd8a1ff73808327c722e1c60fa69d5beffaa0a2046f087acbfade2be3d3baf46e8d63c7f123f8b807cd6fba41276378a78400277b5ad3961fcda032077cb1c74f17eec2d8e99023afabf9a972b65b4fd00ebbaaef4b5ea947ef86c2181f6b43a6ea7664983e07227d2f8786a7a5d488ecc7676c9e1a7621d7c49c9007bb9efc05921ce00243057624c92de5406c5a83458eb73923f7ee8426c8ae997ddc0abb5751a8005d52128a95077ed3bfd76364d3e43b4d80d80ee1301e0dad23d87c69dbebb36777b7a6389afd93662c2b5e9ae166db60dd9035522bc4072a1406b0978ac28f6967679fb2f267bfcebc7458ce018ff5f68bf9de529e1e33cd43208958a842222a13762aca41391a5dbce9f82fc9715c2cea004f5789f3e2b99fe08bdc64fe2955aaaad5d898791c931099d0e161e268c53620e23ab81cce74823c8abee30dc2652c758516713e5ea1522089ba67dc2a6fe479f72749986d59a5c97d2f5efb5df28b950a05a70abacf48369b4d261b18c83a2845753e2e8488d3c69f4e37bad1e08ec16155d69d7cbeff7401b737527f404ae74ddfb5e3b051c98afb5d74f3eb6132f489159fcbde2edb85188c632cd3a8b9e314df378af089cce70bf1725b0716ebd2867234b8c3db514033953a3ef5e70a9fb9f8a85d9dca4023f7d04a118dcacd78ac3a635d0f506ce34f4969f294b9731ebb366cc204701158a2a5624bbeefaaf56a76d339471102161830508b9f60d82b1189697c76af326dc3c772ab468e26962ee3fa4362ff6a84dae45b60bac92faeadd6970ff2c38ff9deb8d6c129c26082678013f73e61deeb391eddfb642863df5fc091a72396a55f3cbf5799e321ac699dbefd065ea297f7ee0412b0a920f8baff6af86b367ceaa950e0f0cd05bd8fbcf55dd80ef06790cc1d90209b73ebce04f2c0ae6b9aab450d281b92ca58dddcff022b6f2d9f156da0c9c3e4b3ad6c7205bc39d13e02bbecc70298a09c63a5fb89b38925f15f3f9a4ce06b8a5c5121302694aa50ff4da708a36b92cdec80ae92b629290b3c662835f94e3978975dcba0a2b5c6396b5e83fe30ca92cd3c93ae9c8b8b794bcbaa71aada86f2531ac339b76651b6164ec4d8eb62f51dd07e5695b6c7a6f7a612a134a70e865df68726d1a1ed1161aa1bd2333cbcfdbdda612b3595fcd0841f7b290952fe39176abc8223fce3b4c7efb26633365bc0edc9e9828ccfdedd50806322f15e70f5ef565732495d8fe7bbfc24fe6f803a449c86cbaf890125297e231364191831582e40c6d749c3ecd49aa525d049ca3c9db19ac634f76c09b1cf18d93fcb4aa6d9e595e2510da6eb47d1600a9e72b915d2bb7e62fcb36443918a02be715f497d1c698a3ee793e3f5ce57ece76039a3298a11ed4ce612a5daa0b64bee1fc2d7bb957875c7dade927f7e94ca606666cd1496e781cafc7934953fd6fdebdd21aff6456b9c1c781a396fa310c56e24950dbe1a1350f2cbe0362e8c4a72ec7d5918e40833eb4ef9fe034496a0886ccb91c13560eb652b85ad046df0cb989575bb8608e001cc0348ba5260f7377b91033435668078bacf2f128afccfdbe43836aac1c3319f8a776231fd10fb2e12a7fd20d45a37d3646aa6d343280b97ed42da68298fb4abd7835f1d254c9a9f35b8e8d1bafd5b8a5ebf0fe81842b23a9b60c55f1e6bc7da9a906f942d949a1365614bc284bbe6a4332a48dda2a9e7cd4ec0f04a2fea6615c4016d0ca3635e4c91754902e8d472a93c7d14767cdbdb8b322fa67442a8c92f9af0d84234956549fcf70b2977076476cf378d5a4ac60abbd184e09641e82056afec5b0d716c8b1baec1b2e9e048b800e0055a292e7bac1ee659a93accff0aaa38104256221bb96ace970f213ba725e07332b27f0296cf11c00286568a9d9c1ff6dc37b13e692fcb27164128afa0400e3b77cc5e0fa9dbb19405747ce92990e0dff62f54a93bb9ed2a3447120c492532dddd9fe351f49b30a5748dfeef8ee60cfcf17db558b337427a2c3f3c6ddc14e48507aeff8f47ec88b97ecf6b0107be1d110501e0f4c0c8f30159353ed6e2c46d65f6fdc67b510661a7e62a688c2a6a10d8ea71a1eb5865a0a1e8e124c6f7f31d1600e727172e9658337915fe437c86ace16c087d99ee1213326b3324ee77c39334065fed3659d70903acd51064c2ef6741f76b2728ef5c0f57a829969f4c5f6226126ba458341f9a577c08edda63a0c91d08300f2d3dc960b35541cff828c1699e39d45b7d5b72590ad1ae32708c6575d8ecf6bec971af63bcc4815e3162992f735c34e5189048d1502027bec41985779b801e17e2590893cf26e4293faeb6c159a8edd23cb8696b84b2f1f33f57f662e3921724e0ab411b63245d8f2531b9d3eb1d95a9860960ceed33d28cda800400991386cf0372d56f0adf1452e52b3b9eec1454149abe0204947145236afd5cdb90d5d0eabdbf65c25a8e81320df1470e4d21b9d550ec15d78757fd8fe90fc06d7589ef923c04c0ae83d058508fc19e3afc7546eaa435b4ce3e945e3e643fb1e7bfebfe4554b57f23a24e0047b5bbebac08ca505fec7d664992bc84d96de51513be55ebdfaa0228265518515cd0532ea7a0074a8d522d5029e2487bfab6305247c46de901554d4f5fceb27c06157663fde71ec0b899bb05ef54e3e47026fff54c8b062d96d03549ca65c0ac012a1575e38ef5b28dc6d15d5e1ca9ac7fe463e5a1f1191e2823960c8fce14885b976cfd5f67a4f0379b4424f28c0860ad0ec24ae1d296fe85d0bee5bd034052fd71b20d6f3e3bdfb5bdfc0ade2576fdcf8e1fa9bc66caf695571f7e3a1d3b23d3fa860ef3e05810835c9c4de4ed8efb34bc630688096a7d500af9139534bf884dd81f75060b50ccf7ac0246cda1f82ec50161105cc14fa2098d52813a4027d0d466e3cce49eafbe198360890e7ea6f72dad56f17c9fdf3c9030212937e869351fa9a497e62c4def8287055f4e4cb5e5a5abfcb02c742b5758397f4b604108c471505515b36a4d966b7c4cc438a04cc51c477224a0759d86cfaaa8dbe8a45c7a4a833fadfc44d98c69d2c961b1892bb0bacc4b430bf3c1319a5fdcdd1758376c4aa6876b50a424ceb9e9ad4233daa8578863990b38ee9d3167c004d8fd1e524c07087b0bdbaa3a6bfac8ec5091e0abf14b1b6e3f8d9626b5fd97678047b6f08409fc9397f9a6ae0eed50efb338ec22a6272999deb22f4afaf0a89c78a761d0556593c4792cbaa688bfcf3f3a7d2683d8cb14c78610b3f88706e978281251d568d2abe3e5d43859e43de363c299a3ce672612208244bf191f5b869915d7a4ee4539baaa07f25b0f55b39c1b24660647a061cebaa7db4eb7567ae00cc4cd9c80e3cb3b526588e780ea147de668ba5e5c8ea3299b09d69b047727892993aae7b9a1f46bc442db194ca467467a01792c8bd0f973f81282c22ad8c43444be98a735c82457c5e0901ec2477f7d4f217393fbdd76140b34a52848d058123542c718bfd57741cdef9994a8e0d1354491ddf87dffd28c5b2cdfdb89167c3d87be04df3e685aeacbe8fbbc18a49adb280804edda7549c5637d33820658eaefe86bc12ed4ace90e06d919d1f315733f99415ebcf57e132342f99a2f3ef49ec819a6540dbd3b49d2666342636bf55d3736cb45c8047d297ccf7da6e83ccaad84c294d264972faab3de7859d5acb76215a2db45385bec29240ddc0cb3ca865789ce9fc324214c65c8f7158b61d1bbbaf3857d8d948882e3ba2a28d270016b29db61f7a693a32074bf72886731dd69382c19ee4f1b955d68ae1e778bbc5953b210e3e633dcbc4a88d388b3279d0cf56853b8227c17afb76b74c734b879d36cbf6b11d1af9045e60d51fc9b9ea1b57ab7b77c2f90f0cff73eb02cadd5a92e455128c036a712431db39103cdd4a41ac997aff4d3e98a72f4a28cecedab640a307ca6a05c2c77bfb8d06cff2fa92edf98ccf4c43b34535cb22ff16d0e99fdf16138fb106ad05d579ef0a4410de6de877578fe5d79f4f407d13edb86e6986aea78f0b435f1b1b380e1e42368e4bfdf0d0f105270b0c1b5529a2e581b74c5b0ad7bdfc23658bb735a3b6b5b1eea479f417ab8d0785aff70a22daff0a726797c8813c7b6c2070486e980254855fb2763f55d0d6399130b54e506ab4a447fc192249f15b3746324c8333e9715dac39309b10a94df96d4d9d694800dacf6037598eac64042bafa2fd5355241281c83c250df8cfce9ed1a1500a18a9c323e5dd23209a76c61f858163a6858d9979790d0509ee37a712e89541ad9809328555f09e04702be7cccbe29e6c1193f7e137deeecdbe1487f13cd1e5668abbf50ca25c9b0d07903d9d1deb449ea0b0243c7b7dff9a959be3f352da495cf1bdfb8c8fe3d9a950f63eef912f5439b51037ea80efd9f1696fc2c496d96d58c8933422ee554e1f2165794a5326dc503ab4fabcb95cdb31be3710a7db0a9a29744d928af053080a03f5bee706b3bb5341e7fe7658e7f88f84442d66bb632e9b03bcdaa4bdcdacfbb784452c4cac79ab88a52df791b6118e7ed493e93770f6467f66e5c6f3026c3e4bf922b45b2436032e4091de6b95d32fbf802a6c0a5ce2bb8e0c06475537403a1fd420745876b7c4dc71e9395c25d4222bb6a881e26e3479de31cc5fb9d4d3ac7688fb8cb0ddfa527437e479e30642a57be852843cad539c87f240e4d291025e4e1af88632277da8c1d0b746026dbc1c8e29e2453b905b8bc6f1d95e7782f1b88bc5ae0159068c69e16c70d3da7410e60649d2e368631abe4f3784469bd5eefa8f6c6f353649bb9e97a70b5c0813867109278593962a4d09bbed5aac3165337356e5f3d56c8b4a7b9ca5ebe9f4a6d173092f20e9a61a7a1dcd43bbef334f886f1cf6639837553c1aedead22036ca2b968c1df4d6f3391d7a98e69a7b8dc97a484f5721eaed75db274fd75347ce71e0191e26963b9421341b8da384871bec8d7c013713156747e25b6704e123c5d9619b29448fc0d130372e493c60521e8519a43b852cf4601fb600b8734d3e45b5e56ee9f6653ef03060fc8e1bbfa9cd118af8b29c2eca904d37f3972ceef92f3024ac58a10883097fe41c3fdcc518b9253f80d840e7c91a7782b367c9569be0cea9705a5fb83282bf6ac08a6b85b3ddc1364e5bb9354b3101624d1f8c265d7d5bb800401be6ffc34a82b88c54f905880ef20872adbfb9ff75c4d309bf8693dec7db25d45ab7e6457a960ffc28e85b61c191ad26673ad4cecc90b9719150c91c09a5e52713651b34f7654caa8420b68fffba435e69b7b62e0a11270988078e253fe4ebdf67a0f5c277ab74ceb666251615ba00a35a75b19436aff8d4ef0e6012ebed4a90d390fa333d6badeda9e7ce9d065305c9145349b9a7bf296717a26384f1589bbab954c76e497dbc85cadce3fa773f74d19df18d7e260d5046f36ee45f0822711d3f2fb1d0cdf4005f361e765727b22c11b101121a5034cdf9e6f33847cef2a98fbb7ae5f56cf3cb141747fb3ea895ae907be2d68cb4f14cc63fe7cd9211ed6d9112e93bc0fbcfa2c3c6e3e70476a6d577bcd99591f7c07f7971ca5ec5abd3f94182b85122f18586f772e076abd09464e62d3755df089ddef23b264d84011bd209bb604775912883a8e35ec71da3a2c60312927bb37903cca2d2cd222a", - "shares": "000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e01000028005c4e95bfd08e0d122e5cedf6dadaeeda6025facd50f21a5b75899b8652683baee7b10f389d0d6c21a82f5e2ea24dca9ed8790cf9f0420bf9d76173b130702c63e36625c2a7019b0a889b260ab3833b463dc539ea2f968839d12313b21bfb07815e103fb0bf89d4bb77aed1de044f1da78d4b6735a4ddc4e3628ce5370d0a1dde26a54520b249c717fbc53b868c0d8af6ce5efcc64fac811bfd312408f912ac1bf164743868c2bca08b7389da53aa9f39151461307acc0abec699ba394307a4c5452d8849b4c7ae1d48de5d46d5ca0b970e2763dc849f5560b9901977541161879eae7d57e13601514e4e7b26844f998c1412e61e132b06a4f1add6ffc250bbf24ead216882a9366fa4d732d1285186521479e658edf0a66789f5ee29703a19326525015d2517f6d92f05ac5e587503bd0b9024675e9ee3d08563fa85b86eb4e44ac5fcae39994ef5a065e733f7d912ec6dad597d0c70569046c4f341750af88f2117df74903ff65008e617557ce42694f81ccccdac4dcbb07d297a585678b655bda63f18d687b364474e86ad954de8aedfd268a0fc9f6dbf9197a46c478577911c547254da9266a09f3fd614e1664fe5ef805d0c2e235aa46758c7fd2875743edf080d076d558d7a23d5b30b8f68b04872810eadcd44cd8ca85f0f65f1ec000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00619b0de5fdf221e4be9627b542679b19612f73fbf11d8d5b1ee857282832265c0575e56f0f2a7d71acc20c0bc4ef495dc2def61baf5787eb2c4b90f7d70842bdf6cc5bfd4bcfe8e556d98434057a34aa67fbade56cc90fed3042b9b64f915f7fd8766dfe6acdddf5ce4abe209e14aed8466e7865221c19d134e6e94df98ab25e79679e20d2775fa74fbec493ba32dcb76bb0e3e2075a2b44d361c536dd7d327add5382526cbbc03c3bac2c135fac76817021955d210d52d771f08daf182a6b6abf1543f68fff60fb419331c416465317b4efe8e452b54b65e81710af5bf07e81cabd7b67a69933297c94f5c06d6e48ac7b6e788a731792242371af89c68dd8502172e19e205ed88a15f1a211234daf928e48005160a707804e7000e91415192c90be95e7737cdb08f0f4f8c3e3ca57f72f0f408a23bea5669a061877c91fa824671437c393ce13312fb653fb2fd25b7c632bfe3e7a6f4782d5f5b44df42cf7697fb63836334513499259422b4177f18c782fb65239559f9be6e4154e59875dcc46847a3ce7ef4727793c55a034953c0534644aa9f35967b8b8c41ca8882d5be76f6170669b710981727ecfb588d30e697a83e86789af46807bbe35bda100ea036f83e8acaa6da06c863753f755919c29c9a6e051c151f4ba5a81fec36675736c8ed2000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00154111f9797760aec122ed71bc66c7846d2e0594f22ea5b337f926ec652b142c6b61ca66db4290ee2aca14d94676b06278c89f3f5f53426a7c55f5728d6dc550cfd9b4bb76889816a07a2fcaf836fce77acae29d44bdac8f1e09bb29c2ead09673bc67e2e8ce788bf47cb86681e0777dca8cffcf9a1d44b34354baf4244cc60e4f7d6914017d1077f1fbfd3f4e7e47250de0a9faf202bff7e6b40a1ee0a455a9c536ca52eddc18ac6c13c77578ee93278c64e2750fbdd82c8c4c9c45100b99829b286c8afc0535201e2d0630866667a928d2f550de20bef7457f7fd779c2105f03cd6320cc09caf8fe3f18abbe61f0f67f7c08e3c4104e6a1bf7df1670460fcb073d25aae3663841079156ca1f8cbb786e55b5202dff674ce171cd4b88dedd55703e26c6bf2c45c40974b450d30aaf5104fb2ba35a34f1c869f3f186b35cd7da48080b9a39850d563d296710e1694b70a813b4478c382a54bafd79b89341d92f64f86ac76b47c946a3e1cb641c02463396d1fe497b1068d843ac555771c7c46f4f73bf97eca21fa6ebdc01b529aabf4ef6f1109cdd237b5bb114417ec9e9e394c457516dd57c6ce638fa45c71eb4c468a757af8ede1c79d34b18b317029908e1cb6172a68e378d439380cda33554859bc9c41543661cf9725ede9f686f3b13fd8db4000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e009c0749654d530a6db0b1947e020b16b6d496c45a5a2dc3301f5cecd845941a7cf077097d2f99833a021423f7fb734a30eebce5f4b218f27482d9a3bdac232d2fea83dec67341cc2222ef824cdbe0a82b0e4e6f1b7714abf3111ff2a11680e20439fc725dd6e2f1ac820a73fc9ede2964f49eea362e73cb6dec95c6db88db79fb6c9ddaf73340aad50e448b9a8bab7fa31b606323fc27ec1150b208261de1427098f6d52cadd91a66ebe83bed60ba0fd6fc2802341c0e4417ec40513626c4d676314966e25a795be7ea99ccb92d271fc693f2fdd9dfd43afe8c08d3ac0342162a9fa60fd65257ec278ad3e38e602c300b7e4b5e9c1710915eb29d67a15dc7add86b8c3afc45d19ab94bbc15aba4304225a67adfc45e04fa1143c0fa2596e83d2bc1f52673ec8a9af7cfb4a4d6e44aece705cb866709686bcdcd88c3ffd7b7f2d14b4af71a7696789a68a819c7a23205a708d609d3edf0e8a6ef69f680b9e5a6f93a934e1549ddfcde964518ffca696f886022eb515a245cb6d01ddc14e8d541805f3273d73516b8abdd901dcc930f6db51fea28390578b3b8fcca402aabc896242e4e7a3e28ad952e3d6b8479671f2cd5575f47c1a5e9b86ae76089c7d9757deff922e8b6cbef4f15a9da4d0418d9480d154ec58a422cbd65be29d4cb694bc6aa740c000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00207be4b63190fdcfb2dad16f70c87c362e60db1787c70394590269ad74a07566752dfa61825f75220ee78648b5da24600dbf30c647eb95ccafcc2c8c2e363bb18bd4cfaf9c8d791b7288d2f00950844be3b97a4190dcc897e3c2b718036781afe6b703b83e1271ab1a33ca6e5a8be5177cc1fa9c1db52b8284f159ef88573e2e18c5d3ff5314aac94581b46b873e0bb09956dbd66e84b52343594b4f5496d94b69ea63b6f8738112a5d2bf37921522ea9f39d3f8f26d1e409c7dc3119e4b93fa75e5415be59aae4137afec4e9dd5eebb9c214410edda1e18b0868cb9a505751cf6c38f3b97692cd751662835687a9e3e18b20001535d36bcca11ab005c5ed0b5086fe2a851bcb20444a3735ff341b97598b149e3603b7e1f7aabd7d046c72a3f7c00a3181ff3b9a2d7d5ea9b9b88b415713244dca45137c64104e1455cd7010d1b9f409af114c99829826edb8a13acb74ba81c11cff97d3ddcd6b74160ce365ec2ad1e01d9f4e40c81adf2c78c320dfe8a1897022423c63fcebd30db8aebc18e4b523507a62a713da208d389b779e5e8172e77e8f72fb003209e687fdd30fc625d83cfc8a9af0b79b8ed8b5a808231ca363f2bc77b24a000ceb253ac73bd0ac3a9e47ffef2b648abb113f92e15d21eaad3ecdc17d9caf2ec7c56d14f0895cd4e98da000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00c405ac7de967220ede2b9ecaaab60dfeb9ff22026023564c5bcbb3fdc65d2af54b8effb0ec9b8bcffd922baa58b85da3f52262ca1c6d1df1522cbed36f728a716940b3f58d905e69a140886a915ae7c3ac3aa35af4d52b3b42be7cc7b3673f5ef59ddc4f96f1b5d277cd909673c55e448c6d1d7ef3535b08e375d265a584e46ca73cf9d6ab26ff7c50df42282bbe7b9c31f34bdb9d44482aa20e63628ba6d687ef7fcf55813d94e6e08e896eae543462f0a7966774851bbdc0af73b0c85e42fc23649e24d33b9dab81936ee9ea08bf168d2ea687599ec352e5a2d65084e5c131330b8600384c63402f23d79b28305e4942da0a9574d3f940001e502e98fa3274dca0802d4135dd59895803b3111374c329310653290c6ed062314bc0ac56d406ee4ae1e506c8007f0f6dec49c692c2042cae0bbf911a7e0ef3093197319c380905a508147e1f93368138d6cd37ed2689cef6e2b68acefc6a518c11c1a704f8f025d01687e918de8a77a9302e3d8de4cf0a86d3837e9603ef902aeb0ce87c27608a1f41fb0429a0e09648bbdc73d6d3171a6d94d37661dd03f524c94a11cc212bb1dd7c056d240d74038820e8a7a2b87934692cd7d839911c2bc879a0893309a32c8e3a95b5099395f205628da7cc6d318c3d8d77c74a750c7cca4ab18f82d7c126a6000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e007cd43d583d2645abb03d42d9aacc09abd6fd230e9438bcc93833a4e6e2d7bf0293aa37010727c6f057867ea29711bbf671c341244f793c3fdc9553001e8e5cfe4103e3f424010fd248e831047d9b6c4f66b618056ab25814091c52da342571af66f5dc79b0c72f391f2f7fb41fa05d62fc2b1d95d210887481e0a25d144ca41f781102b6c4ffc1b7926905301737f566b9b12eac7f518c22e30eabce01209c42d5dd7711ab6e8abaa59c2ed94735519a405f01dc08cf81681109a9b5d64e2341824a1f810501c18a24642eb926c6538a05e92f1082d9ca6816c571a95b4463b015784b030acf4416be9bc111e449678b025ba6a463f4ef7b359c75e065ffd89f9672221b776309200358a486dd1cd7031b1105c1124e9c9e1db22d9d3db13deb295c80bfd2413f4c85414a0cc990ff5b97a43bb9d1768b89e0b45fb68bb1eefce2e3fac9529a861f0ef911705746c5799ec95c75f5ef4869184b760c249832a25623c07d3d6835a6b1f6c8cfd13deccd42d503ab291358e77016f55f1306d1416e2caca4d2282f9668110fdfcd8a355393c911c1f9c53abba7ca762c2e928b2aaf1f1b8603ec10f5f818e399f1a98f1e3f93f1146a071e7f44185f9d6250ebfe0064ea5e4ca9c70ce6ac1acaf4e887cf8b50e4f78f26adf236ceed44aa8bdcdb2ce5000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e0099cf9d2299fb2a4ede42bdbab66eb66c3e6f8119de6e398fc52851aa063cad6d7cc8b27f53d73b8eeda5aaf7e62892922a1d027a1b2f8ff726cf354393d807c2dc5f98c4d17c0b6b56ed3a988e0c166a63285643e722985acb271203ced9d0a3eb5e2e4b4f3d2ab183d6931cf819ef95dbed39df8ef7764167a3b81b079d58203f14ef912c2078c25fe788f0ef0c228a156c263c0d4a9cd5bfccb8a4b6c89250247b7c1b902777fa6c2fd9a2be5678fb4ce5fd0c54e766e0576d3b310f29e7312e049c64cac8c2bd65028d25ce6c791a345096c57c000498d0fc7419439d7f1ebcc787e16e5a26f8b967dc3fcbdd486f1235cf17e75999bd72467d67198e3d1949fc99612e422bef049326c9e0406d616499e3842a6e7951f8b183b5f72a8e30b3572fb63ff8e67693e8a1d9ceb71f9660ba77e742354f45133c19fbc82fe8639e43775fd71d1db5acf8bbfd01a0183708dada03656ed4d000d7109e4d578d3571f0d53ed825b6050fdc115c639d30daad3f3fd67c504802a8e11eecc1ceb34607e91327243fcbc36b21167e43c5af9788884fc458ffbe1e513ec8e4a669a762c2cbf55efe538e2148dda3fc649f6318694fe89ace6f7b17571d43c7f67d7ab0dc14fb64de98dec3d9daebc7bb3d671f0053ee15c42b46446d7c565628b098b131d0000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e005abf7d9ac771a2a1cb5c3f9160a75458615e3ef7b258d77a9083abfb3d0eb9b8311887bef661e43122a6862aabe2b30354c3c4c0fe361d80e2b16bfbb2da134871e3e350411cbbe6899da217845f8632b76e2ee0c746b887f43d97f78211241e01e0a2e491e2aa117f3cb91d0de8517ede13ec92a16168e7ea3721114246d7fde86af953b1008d2e17c297d263b9e984e3d05b0813687bc678157e6e569a2817402a4a7b168121d77bbec962a4931244c4870a8ea37666137629bd4d4845d7ae0a8aba94efb032cd46a2996bb82a010eb75ea3e4b05c556e612091f580c8ce46657bd18564340c54f29ebec254f5224cc57b7fe290a151f4273dd07d828fe02b15d34591eef25ebcedb372c74706877f0d3488dfa5146b9bbf48026a3d93ce2642c0e44d2b6233b59d0de3c105dd2bed486302fbec21a18185be60ab56aab3281b71d1ac98ad72e61f0f19a7fbec927691158b081d6be0cb054219919e62ff88d9dc2bf615416dcf27872a99e21ce3e02df1cc4206a0a5779bcc955c19d4a3265ccb89c684cca868ec733f2ef444c202761e118d3fb427de4c27f1e2354e3cafe78ed14fa580628fa2020b244000eb13dd4f387ba1a26184ded15de90f29bb5a01a877de659e4696cae3c4a392cf33495217c186dfde0f9e7071abeb8258b3bfb5a3000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00213f9d174c46ada83fef05a9a20d620cbba4054f7343224f4aae7ddef089e9830aa5ae3c3fb947fc87230efe37ed653ce273e526068c10a55f82a2b72d5af1a51165251ae5f65eb38244bd997d4578e97488f6303fc053e4acb9602d2af6e5e519f7a6bd271c9acbb7daf934ff8e9dd947d499c77e65ee995efa30cc16dedd6dc79bccf8b03e09967646075f7e6a2d47bf368292d6e5649b919c117fe809e43983cf2556ba125d7b301ce86f79583e201b5d579396874106ec8e66cef809459c0085d306a1d00e1d4c317c839f3fa95de38912e56b3cb1448bfe63af07ccf7d44651bb21e6464cdb7b9f96c3b2a9ea598ad79c5e62314032d675e724186417559893a9e665121a825210ce2edc845f1caf179dc170148d89c8575ee4b74a789bb5754f2e3a75da045afa531b799363a99206f31fa5fac166ac45663b475cd572ab877565e8d20bc392b494cd783063e3873762c78bb82fdcd147dff0fec9c21b7a171077cfb375518efc91513d65d8a474e88f14ff2632f316c2b11ca66ffaec290d6650c88e1ef247d64047bb62abc4af664231f5710ee9e9c8bc105caf2ccf2b80550854558379f31a7568f6715324065dfe248ca8cc8dcec74e45878d2e6c1c9a65b4fee02316d27c6e652086e0979579ef3c7bec9d36a9612bfe9b625713e8bd000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000e4f32161b7f9955759eeed6da0401a5ffb3415ba3d88c535a22e620306a2c6b02eb26147279394c5dceb4f0f0e5881d955e9f31e8c9011b96137911e7d8ee04299fe8a274b8942427c9a5bbe0880464b91ae50c73ee4a2a0b3e5d546666ade23af65221edb43780a0ce1db4d8d164333dcd2f08d318167df4325d074f630ce90fb212ca4e5ebfb4b6d0a101f61a7ea40a543e3782d9dbb2bb9b05c1f826fc5ef3952995d65eaad7d589e2039328b8e163eed57eb8f25fef3545e0b419b51a75129d2ccffc778fdf29afe544f5472b43ba452f83c7215ec6c15dd8880e92cdb99c51e9ad6c30cd9889c9dec7e9be6d961a4802d75a130e4d158916bb783a8ff0b02bcfb37a0039856165616ce219e4a233e48802c3fc5f11c3496e247f3a530a17ffd00841092054b4a5b3c3ad7cb0d363b884543fc590c08aa4d0bfe0a5345fa7fe5129b891bbc4edde6d8e1072cf9ad40ea02f83989f0fa5805dd0427870d134328dcd6136106c6a93aea4b0a05091456f79b434db72edf6fa3fd932826d1de38a48194c152a1f8e4ef79e38772e5a1df4a8bc9c5a8d5f7f64ca4293562bb19db8320d3549530ce05588efea836a58f33168448ac515f473c9e38afb05424915feb6caab15e48f07269f873dd2b1233f03479722c6ea239f6df39fda06a90df107000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00839599fc5fe0b6647d4d4762369358d33c27e7b0e0a0e5927ff64c03f1c3f0b68fb94558d5935b27d64a688623172942c552f6cddffda2f76e5441d7c0e51798071fcdeca802d86a0dac21536ffd1ef68c0592e01e3eeec4b694f8b538027b3222b2c624325938c14176785ad8300f209473d562ef09f2e2ba5b0f56e983c321c88524f1384b2db93b0b3a45a07e651d72a22379fbd19268ebaedb9b0471cb1d7b1a428af9ceb25655e2ab9b81ceca351ec2a58ede168c602069ff35b82ea8e7171ab1c9d43275f2d90d4b7da6c2866f106eb5af255dca7db36194d7a68a880dbf1b3283cc162102baaf9502d6c3e276af4d26f58b21fb07e187b827b620fee8157b79ef00be2f22cb6786e9a8ae0ba240cae998c6f1806bd3bd3023d1d50db06ce5de364b622a0f504f228f5a2cfe5775d7e3e3b80a00791655f2948c16f382da4a0e94be92e89f2aabd4fd510fb5f6707c16d6fe5ee3f6bb08921d16a59d4da5e78953b40277b2abb1b12d9ea5c12ec6bf77f5ed8e60b36d0a3c2fa4b1126ab37e6d1b4bef0e0b46d71751e21117fa6b9a3de9f320ac5bcec176869c56f57669a52cfcc93924e128785e490cb3244709db0793f5b561a3ccfa2ce372c911068486d8cb43e57eecc89354508cfce8cd55c460c0a69ef1fcc9a8f28a5ac5878d3791000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00e82806a18796dedd01fb6de69a807092eacc646752a3bd40f85e10331b0ac45ce69a689065c6e94191eadd0fb462c550377baf3ea9832fe43044d98ca13ede6e808233d3f6f07a0f30333cf3e7a7ff2ba44f7cd6f94b21cbbf77355597c501db56b9109defc318cd5f7c5307e0196861e9c3a02a42af1b4353577f2cc7273c8d53fd3bf4e6cb9f4ef401c2fcf133ee234cdc36f700ecdc7294f141d1c737401c1610e215ce0fb60222d2db853d3a7fd68a69e6a98089aeebb2191033a90ab9c3e9c8d74b3780b212fcca9f77d0ae39b0f1926f76a35866e8d65634d41109594371c71b215d1c37aaad8170a54077fb79df3c517262afb0d8969222a8270db23a3fdc54a0848b10f9029521b70aae57ea36ee8b05871ccd24d8d9d0c838f5d9074916823e75d1a368da6c209fd2bcb80afd9e3e5cb31750ee39ed938eb43eee9e438f374e441302b9c475cd138c7760c660ca64d5f1e09ce3477ddf43580c4f0b352e41bd92e4455946b29e64054cf0be5c2332174232bfe07713963594bd3ed8767b0c88b91f8e78b0bf3db062ff56a70cab77cedff4b729349a07c56dae3737cfdbd8bfae3b99a000aedd0e33d9dd8a1ff73808327c722e1c60fa69d5beffaa0a2046f087acbfade2be3d3baf46e8d63c7f123f8b807cd6fba41276378a78400277000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00b5ad3961fcda032077cb1c74f17eec2d8e99023afabf9a972b65b4fd00ebbaaef4b5ea947ef86c2181f6b43a6ea7664983e07227d2f8786a7a5d488ecc7676c9e1a7621d7c49c9007bb9efc05921ce00243057624c92de5406c5a83458eb73923f7ee8426c8ae997ddc0abb5751a8005d52128a95077ed3bfd76364d3e43b4d80d80ee1301e0dad23d87c69dbebb36777b7a6389afd93662c2b5e9ae166db60dd9035522bc4072a1406b0978ac28f6967679fb2f267bfcebc7458ce018ff5f68bf9de529e1e33cd43208958a842222a13762aca41391a5dbce9f82fc9715c2cea004f5789f3e2b99fe08bdc64fe2955aaaad5d898791c931099d0e161e268c53620e23ab81cce74823c8abee30dc2652c758516713e5ea1522089ba67dc2a6fe479f72749986d59a5c97d2f5efb5df28b950a05a70abacf48369b4d261b18c83a2845753e2e8488d3c69f4e37bad1e08ec16155d69d7cbeff7401b737527f404ae74ddfb5e3b051c98afb5d74f3eb6132f489159fcbde2edb85188c632cd3a8b9e314df378af089cce70bf1725b0716ebd2867234b8c3db514033953a3ef5e70a9fb9f8a85d9dca4023f7d04a118dcacd78ac3a635d0f506ce34f4969f294b9731ebb366cc204701158a2a5624bbeefaaf56a76d339471102161830508b9f60d82b1000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00189697c76af326dc3c772ab468e26962ee3fa4362ff6a84dae45b60bac92faeadd6970ff2c38ff9deb8d6c129c26082678013f73e61deeb391eddfb642863df5fc091a72396a55f3cbf5799e321ac699dbefd065ea297f7ee0412b0a920f8baff6af86b367ceaa950e0f0cd05bd8fbcf55dd80ef06790cc1d90209b73ebce04f2c0ae6b9aab450d281b92ca58dddcff022b6f2d9f156da0c9c3e4b3ad6c7205bc39d13e02bbecc70298a09c63a5fb89b38925f15f3f9a4ce06b8a5c5121302694aa50ff4da708a36b92cdec80ae92b629290b3c662835f94e3978975dcba0a2b5c6396b5e83fe30ca92cd3c93ae9c8b8b794bcbaa71aada86f2531ac339b76651b6164ec4d8eb62f51dd07e5695b6c7a6f7a612a134a70e865df68726d1a1ed1161aa1bd2333cbcfdbdda612b3595fcd0841f7b290952fe39176abc8223fce3b4c7efb26633365bc0edc9e9828ccfdedd50806322f15e70f5ef565732495d8fe7bbfc24fe6f803a449c86cbaf890125297e231364191831582e40c6d749c3ecd49aa525d049ca3c9db19ac634f76c09b1cf18d93fcb4aa6d9e595e2510da6eb47d1600a9e72b915d2bb7e62fcb36443918a02be715f497d1c698a3ee793e3f5ce57ece76039a3298a11ed4ce612a5daa0b64bee1fc2d7bb957875c7dade927f7e94c000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00a606666cd1496e781cafc7934953fd6fdebdd21aff6456b9c1c781a396fa310c56e24950dbe1a1350f2cbe0362e8c4a72ec7d5918e40833eb4ef9fe034496a0886ccb91c13560eb652b85ad046df0cb989575bb8608e001cc0348ba5260f7377b91033435668078bacf2f128afccfdbe43836aac1c3319f8a776231fd10fb2e12a7fd20d45a37d3646aa6d343280b97ed42da68298fb4abd7835f1d254c9a9f35b8e8d1bafd5b8a5ebf0fe81842b23a9b60c55f1e6bc7da9a906f942d949a1365614bc284bbe6a4332a48dda2a9e7cd4ec0f04a2fea6615c4016d0ca3635e4c91754902e8d472a93c7d14767cdbdb8b322fa67442a8c92f9af0d84234956549fcf70b2977076476cf378d5a4ac60abbd184e09641e82056afec5b0d716c8b1baec1b2e9e048b800e0055a292e7bac1ee659a93accff0aaa38104256221bb96ace970f213ba725e07332b27f0296cf11c00286568a9d9c1ff6dc37b13e692fcb27164128afa0400e3b77cc5e0fa9dbb19405747ce92990e0dff62f54a93bb9ed2a3447120c492532dddd9fe351f49b30a5748dfeef8ee60cfcf17db558b337427a2c3f3c6ddc14e48507aeff8f47ec88b97ecf6b0107be1d110501e0f4c0c8f30159353ed6e2c46d65f6fdc67b510661a7e62a688c2a6a10d8ea71a1eb5865a0a1e8e000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00124c6f7f31d1600e727172e9658337915fe437c86ace16c087d99ee1213326b3324ee77c39334065fed3659d70903acd51064c2ef6741f76b2728ef5c0f57a829969f4c5f6226126ba458341f9a577c08edda63a0c91d08300f2d3dc960b35541cff828c1699e39d45b7d5b72590ad1ae32708c6575d8ecf6bec971af63bcc4815e3162992f735c34e5189048d1502027bec41985779b801e17e2590893cf26e4293faeb6c159a8edd23cb8696b84b2f1f33f57f662e3921724e0ab411b63245d8f2531b9d3eb1d95a9860960ceed33d28cda800400991386cf0372d56f0adf1452e52b3b9eec1454149abe0204947145236afd5cdb90d5d0eabdbf65c25a8e81320df1470e4d21b9d550ec15d78757fd8fe90fc06d7589ef923c04c0ae83d058508fc19e3afc7546eaa435b4ce3e945e3e643fb1e7bfebfe4554b57f23a24e0047b5bbebac08ca505fec7d664992bc84d96de51513be55ebdfaa0228265518515cd0532ea7a0074a8d522d5029e2487bfab6305247c46de901554d4f5fceb27c06157663fde71ec0b899bb05ef54e3e47026fff54c8b062d96d03549ca65c0ac012a1575e38ef5b28dc6d15d5e1ca9ac7fe463e5a1f1191e2823960c8fce14885b976cfd5f67a4f0379b4424f28c0860ad0ec24ae1d296fe85d0bee5bd034052fd7000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e001b20d6f3e3bdfb5bdfc0ade2576fdcf8e1fa9bc66caf695571f7e3a1d3b23d3fa860ef3e05810835c9c4de4ed8efb34bc630688096a7d500af9139534bf884dd81f75060b50ccf7ac0246cda1f82ec50161105cc14fa2098d52813a4027d0d466e3cce49eafbe198360890e7ea6f72dad56f17c9fdf3c9030212937e869351fa9a497e62c4def8287055f4e4cb5e5a5abfcb02c742b5758397f4b604108c471505515b36a4d966b7c4cc438a04cc51c477224a0759d86cfaaa8dbe8a45c7a4a833fadfc44d98c69d2c961b1892bb0bacc4b430bf3c1319a5fdcdd1758376c4aa6876b50a424ceb9e9ad4233daa8578863990b38ee9d3167c004d8fd1e524c07087b0bdbaa3a6bfac8ec5091e0abf14b1b6e3f8d9626b5fd97678047b6f08409fc9397f9a6ae0eed50efb338ec22a6272999deb22f4afaf0a89c78a761d0556593c4792cbaa688bfcf3f3a7d2683d8cb14c78610b3f88706e978281251d568d2abe3e5d43859e43de363c299a3ce672612208244bf191f5b869915d7a4ee4539baaa07f25b0f55b39c1b24660647a061cebaa7db4eb7567ae00cc4cd9c80e3cb3b526588e780ea147de668ba5e5c8ea3299b09d69b047727892993aae7b9a1f46bc442db194ca467467a01792c8bd0f973f81282c22ad8c43444be98a735c82457c5e000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e000901ec2477f7d4f217393fbdd76140b34a52848d058123542c718bfd57741cdef9994a8e0d1354491ddf87dffd28c5b2cdfdb89167c3d87be04df3e685aeacbe8fbbc18a49adb280804edda7549c5637d33820658eaefe86bc12ed4ace90e06d919d1f315733f99415ebcf57e132342f99a2f3ef49ec819a6540dbd3b49d2666342636bf55d3736cb45c8047d297ccf7da6e83ccaad84c294d264972faab3de7859d5acb76215a2db45385bec29240ddc0cb3ca865789ce9fc324214c65c8f7158b61d1bbbaf3857d8d948882e3ba2a28d270016b29db61f7a693a32074bf72886731dd69382c19ee4f1b955d68ae1e778bbc5953b210e3e633dcbc4a88d388b3279d0cf56853b8227c17afb76b74c734b879d36cbf6b11d1af9045e60d51fc9b9ea1b57ab7b77c2f90f0cff73eb02cadd5a92e455128c036a712431db39103cdd4a41ac997aff4d3e98a72f4a28cecedab640a307ca6a05c2c77bfb8d06cff2fa92edf98ccf4c43b34535cb22ff16d0e99fdf16138fb106ad05d579ef0a4410de6de877578fe5d79f4f407d13edb86e6986aea78f0b435f1b1b380e1e42368e4bfdf0d0f105270b0c1b5529a2e581b74c5b0ad7bdfc23658bb735a3b6b5b1eea479f417ab8d0785aff70a22daff0a726797c8813c7b6c2070486e980254855fb276000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e003f55d0d6399130b54e506ab4a447fc192249f15b3746324c8333e9715dac39309b10a94df96d4d9d694800dacf6037598eac64042bafa2fd5355241281c83c250df8cfce9ed1a1500a18a9c323e5dd23209a76c61f858163a6858d9979790d0509ee37a712e89541ad9809328555f09e04702be7cccbe29e6c1193f7e137deeecdbe1487f13cd1e5668abbf50ca25c9b0d07903d9d1deb449ea0b0243c7b7dff9a959be3f352da495cf1bdfb8c8fe3d9a950f63eef912f5439b51037ea80efd9f1696fc2c496d96d58c8933422ee554e1f2165794a5326dc503ab4fabcb95cdb31be3710a7db0a9a29744d928af053080a03f5bee706b3bb5341e7fe7658e7f88f84442d66bb632e9b03bcdaa4bdcdacfbb784452c4cac79ab88a52df791b6118e7ed493e93770f6467f66e5c6f3026c3e4bf922b45b2436032e4091de6b95d32fbf802a6c0a5ce2bb8e0c06475537403a1fd420745876b7c4dc71e9395c25d4222bb6a881e26e3479de31cc5fb9d4d3ac7688fb8cb0ddfa527437e479e30642a57be852843cad539c87f240e4d291025e4e1af88632277da8c1d0b746026dbc1c8e29e2453b905b8bc6f1d95e7782f1b88bc5ae0159068c69e16c70d3da7410e60649d2e368631abe4f3784469bd5eefa8f6c6f353649bb9e97a70b5c0813867109000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00278593962a4d09bbed5aac3165337356e5f3d56c8b4a7b9ca5ebe9f4a6d173092f20e9a61a7a1dcd43bbef334f886f1cf6639837553c1aedead22036ca2b968c1df4d6f3391d7a98e69a7b8dc97a484f5721eaed75db274fd75347ce71e0191e26963b9421341b8da384871bec8d7c013713156747e25b6704e123c5d9619b29448fc0d130372e493c60521e8519a43b852cf4601fb600b8734d3e45b5e56ee9f6653ef03060fc8e1bbfa9cd118af8b29c2eca904d37f3972ceef92f3024ac58a10883097fe41c3fdcc518b9253f80d840e7c91a7782b367c9569be0cea9705a5fb83282bf6ac08a6b85b3ddc1364e5bb9354b3101624d1f8c265d7d5bb800401be6ffc34a82b88c54f905880ef20872adbfb9ff75c4d309bf8693dec7db25d45ab7e6457a960ffc28e85b61c191ad26673ad4cecc90b9719150c91c09a5e52713651b34f7654caa8420b68fffba435e69b7b62e0a11270988078e253fe4ebdf67a0f5c277ab74ceb666251615ba00a35a75b19436aff8d4ef0e6012ebed4a90d390fa333d6badeda9e7ce9d065305c9145349b9a7bf296717a26384f1589bbab954c76e497dbc85cadce3fa773f74d19df18d7e260d5046f36ee45f0822711d3f2fb1d0cdf4005f361e765727b22c11b101121a5034cdf9e6f33847cef2a98fbb7a000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e00e5f56cf3cb141747fb3ea895ae907be2d68cb4f14cc63fe7cd9211ed6d9112e93bc0fbcfa2c3c6e3e70476a6d577bcd99591f7c07f7971ca5ec5abd3f94182b85122f18586f772e076abd09464e62d3755df089ddef23b264d84011bd209bb604775912883a8e35ec71da3a2c60312927bb37903cca2d2cd222a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "shares": "000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "shares": "000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "bf7e219a1a7258d5fdb4f50282d2dfde68f5980e1afc9b91f96582fafeb16ac776ef1c06cfae2b150c33d2d9d7ffb45b8b61d6767b6b4c518d2faa25a15abb1371688fef0e12847a12f7fb5e3f8bf0c634bd2a94ff00234f6d5192eeb7a7e55f9c1905d8a7c1a17402c02aff3249f974bd9503ad59d9d35fcdf0a1d443565308dfe88ac9565c1a96ae7f38f2e6f6d5cf4b70143d017a1eb1ee5c8bd07a03b5fcf188fc8081e05dbd32bd299493818eaa44f944460d50767f159839644caeea1f04aded72c6104d12db5e0ef68553c6044009282bd388be49edbfff22820d0baa3f3513361f2e2645a51c4ac2ffb84886292459001985e9bbf22441d9e7ed6fd087ed6b97d6121022e8e6c2d44ed7bf3bb713c2e947ac39a7a9306e716b05b08ab565cd0d25ee2e7f8a270beb0bbe29618489fddc6e29b7e867ee28b1a2e594e2ef801fc190cc12d4006c597cc9203c4fc538dbefadd3b8cd229fac86e21b744db2e5c12c403b7b7a309eb1988f9aa4765c4a9913d1cdd642ba854efd2ae91415ba14fc46a2c8319760fb540c97124e661980766cb86e616a835f4ce5a441fa8b6dc95556804361c613ffe3d478d1bdcbb84a1a6de1bd3b5dd46c95ebdb7f0cd742ff8a80475aeb1332099e74ed786a0c55efe07a599f8a4962eb8343a0540c2dd563446af8a69d82a851a141e08f9d98bcd7072813147ba2e0fc8cee6199e928fd655928c488efe6fe6bdb6c0e09fe26b07c67b41c17231a4f238380c4c7c853ac487873d7ce7121a4cb88d71226832591fdccc482df0cd15ddbb337b2df643656df3db607b762cc172bc530750f2d374dc1cd778abcb9011003e3a7b6bad8103376864aaba3bfe7817978184ba3860a5fab267bf36f1293977a1a0a646b4ceabf7b14706d1f3b95bc0aef6d60ae8606abf935a6f33303d2ca6fcd71e6e7a2f204fc4b00024155e5ef74f04b9cb9b862a3fdf39c5ae63e070590d381d476b9f669c336665fd0d9d254529ad531503f290460ada6586c7044964f522154724ebd35e4d4a8f4184f3685a33db9aebe88290257bd9431e84d70e4969be009fb42afb3c33a01b5c8e3a8b1a06dcca75ec2f3dda526015a0b65adba6686363bd186715107278a7018b3b4b9fb6b6a4c34ce50db697d522c265ab1660f85cda2bc7188fab5386d44887eeeb4b3e14ebaeb439c8cc9abea43f255effb323cc6211e713177b2eebbb1a69abb75dc0bbd5aa1dea8d4fd09cb9f47c35e36b1abd34761823072e3896c422135ca298f550a7b4988f834f134edb030c0682e463b367428cf12068a9ce2e7b8bf372a587a41838cee1719a034c7334d290dd223ea8f6843d401a56614afd82933ea0a9d95686fcf75d9c10f4c5a77581c17841dd8a56efa529a67de45678707331e5deb136265190a32c7cc3b4659ea5f006f5d8bb564c85f5a", - "shares": "00000000000000000000000000000000000000000000000000000001000100000400bf7e219a1a7258d5fdb4f50282d2dfde68f5980e1afc9b91f96582fafeb16ac776ef1c06cfae2b150c33d2d9d7ffb45b8b61d6767b6b4c518d2faa25a15abb1371688fef0e12847a12f7fb5e3f8bf0c634bd2a94ff00234f6d5192eeb7a7e55f9c1905d8a7c1a17402c02aff3249f974bd9503ad59d9d35fcdf0a1d443565308dfe88ac9565c1a96ae7f38f2e6f6d5cf4b70143d017a1eb1ee5c8bd07a03b5fcf188fc8081e05dbd32bd299493818eaa44f944460d50767f159839644caeea1f04aded72c6104d12db5e0ef68553c6044009282bd388be49edbfff22820d0baa3f3513361f2e2645a51c4ac2ffb84886292459001985e9bbf22441d9e7ed6fd087ed6b97d6121022e8e6c2d44ed7bf3bb713c2e947ac39a7a9306e716b05b08ab565cd0d25ee2e7f8a270beb0bbe29618489fddc6e29b7e867ee28b1a2e594e2ef801fc190cc12d4006c597cc9203c4fc538dbefadd3b8cd229fac86e21b744db2e5c12c403b7b7a309eb1988f9aa4765c4a9913d1cdd642ba854efd2ae91415ba14fc46a2c8319760fb540c97124e661980766cb86e616a835f4ce5a441fa8b6dc95556804361c613ffe3d478d1bdcbb84a1a6de1bd3b5dd46c95ebdb7f0cd742ff8a80475aeb1332099e74ed786a0c55efe07a599f8a4962eb8343a0540000000000000000000000000000000000000000000000000000000100000c2dd563446af8a69d82a851a141e08f9d98bcd7072813147ba2e0fc8cee6199e928fd655928c488efe6fe6bdb6c0e09fe26b07c67b41c17231a4f238380c4c7c853ac487873d7ce7121a4cb88d71226832591fdccc482df0cd15ddbb337b2df643656df3db607b762cc172bc530750f2d374dc1cd778abcb9011003e3a7b6bad8103376864aaba3bfe7817978184ba3860a5fab267bf36f1293977a1a0a646b4ceabf7b14706d1f3b95bc0aef6d60ae8606abf935a6f33303d2ca6fcd71e6e7a2f204fc4b00024155e5ef74f04b9cb9b862a3fdf39c5ae63e070590d381d476b9f669c336665fd0d9d254529ad531503f290460ada6586c7044964f522154724ebd35e4d4a8f4184f3685a33db9aebe88290257bd9431e84d70e4969be009fb42afb3c33a01b5c8e3a8b1a06dcca75ec2f3dda526015a0b65adba6686363bd186715107278a7018b3b4b9fb6b6a4c34ce50db697d522c265ab1660f85cda2bc7188fab5386d44887eeeb4b3e14ebaeb439c8cc9abea43f255effb323cc6211e713177b2eebbb1a69abb75dc0bbd5aa1dea8d4fd09cb9f47c35e36b1abd34761823072e3896c422135ca298f550a7b4988f834f134edb030c0682e463b367428cf12068a9ce2e7b8bf372a587a41838cee1719a034c7334d290dd223ea8f6843d401000000000000000000000000000000000000000000000000000000010000a56614afd82933ea0a9d95686fcf75d9c10f4c5a77581c17841dd8a56efa529a67de45678707331e5deb136265190a32c7cc3b4659ea5f006f5d8bb564c85f5a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "namespace": "0000000000000000000000000000000000000000000000000000000100", - "data": "f268deb0c65666b58e7e59430c652483780635f79d2545e271893a8874ee92a3533b077208c05123c730766af2ca2c627bd7ef549790e285a7aa13a623478ae1905cce4bd29ec7c9511c08f009251d0175889c95e9fd8a0881526ac314f3c8519f8f2dc5dffa919d5a4ce85dd21bf2f84150a16224b68d09a00a44d17eed2721c8422bb7f90e56ab5f768d3bbc3ff09485f18713e47ef1d302a19e1abd564167926fc5ab41c9c076a92955de1408b2deb64fb2cf5f5db134f4696b2dc1e025917973bf8ca449005c118dc637dbd158c633db843e02b2889ae0e2bcde083728c7ebb93001baa214ca77031d83939a69b96295f0bcb6fb4abd12ab85a4268477f5288c1fca8855dde1f9473b4a66aa56c575df466471250430cd4b8b1f0d75683a8af2381a6466be26db1a11fb9fd0f7beb89ea72d281c974ff5f107ee8ad5a2bde3cdd87f96c3dc7c69edd6224c93b4ea1e75813717acb4226dcb427f1e37de17ba74ba544bc399b3292c27928ee0f3afad731e1ad582387ed78c24a020dd4f5dbd469df009a4300d24db4d46085b44d809e3dcaa4cbc1f2d7835e5590b434a5ef74ac66341711ab8b20fd02debbe32df0fc0aaff5320516981e8d943f5438c9cb58dde5f82160c6678947098d80eb82a3a841f69981bb7558f7ca68d3bfdb0a9c64917e6c8330c4ab7bb7d2607a30b1d2d4614b0fb3d13fd28e9b51b4ebf5be5476a2861989e009816d32a63f159bd79a9a601ba1b809da7e6882f97cf92b898a6085f82a401949a3bfc847d2de105d244b15a7bc29e7f76bbc8f59ba8e48bee8a24b1ca12c7383c7daef67ca6562b65bbb01abd604261eff16720ea9e33c243d97a850aad90bec095052f7c506bc75d2319f47777dc941a0f24042b663a7b3127436db478bb483f3b16fe3230a7b369202276b9fe8c3f32244d8a0e029a57d38a599cb118537a924c9336f37d35ac2b43a4fc800755a5667e47f827b07b31d7d31a83df2325cbb4b2835a979f2f2e0ddb5fcb50252352c3d3e78f2c2104577d58ce5d2cc35c3e3afe03023a62a99eca25acab3592475bc6d729ec34a28694994da1ecc59d0039b0f317e29be0e44f71b16b787f61c9f7236f228ee5a5d1ade5e92735bc5aa79ce76f49c3c2f4b15845afa2bc32ab8078d728f39bcf93251665529034444115427df28552872f5e7c265b9af8f37010064fdd83e79ad512cdf9faf1ece1bea97c4051caf678c22add6ed44fd968de6c89d4170cfa0ccb03ca2ec57e7ba6e8d2eeaab3bd7514655c3e47089d560dbf3b32a2deaa569c85f8da13700dbd6608e2e976964713b46d25bbd73961e88ad7a6684bd55662cdc3f507ce495a3e886d3259a08a6c031bf70ac626eb9ab13cb5aceafef283ecf9ff45ea7dc44194c617a5bdd4686d0de751d27904bc5715101be90880d36df0efee551f9a787f480b04377de271280c985d327ad077b0d72541777163d8abf33c0b7d6b261f5b1adfa9d6f5fd81d9b664cd60fdda726aeb1cc4344e0ce4934ab162c3390247fca4948f7a4f9cca08142fca867d482afdf06ba6da90ad8b34ff9bb8ce98eab05a7b7b1e2585a43aff76d6f98a5217f4456b48f6651017d5ad230577ffaddb1087e40275c745938071f8e38ca0028d3f890342bc1914345b5053c9f61e3f36722e96e44a1f5dbf7316f18b3abc35533c9abe519ca8420b0b19f9ed2feb67ece2e2c3706f966f6c7a6e4cfa55e53f2d8202e5fe99961fc8093cdede7fd54e20f74c17e20fee6fad0ab6d3d69a6a42d7ec0d5619220f993abb0272435491a322cf7734e4aa0a4d2d746188a57578a3998894dc7eb6e9bb9371d7f45db2ab64be8c5f259a4424c8b5fc8153c9a2c669fa7db84bd7358202fdf7731a649d6e0db082974e57228b485358e977273c7fdcafe10e59ff8d1926e30c5db1acdfaae411b6838a82df1a9b2cfdeea8a6eeb32d17470d972ce235921c1c05b5517c7e01a50bf21af71b2d452f9ed1cbea110ee61c540822888c5b6c4a458c6c1e837804455356aa73d6baaf7e480955fb43c817bfb5b600634b1e1b5cb6cc62b70bf91d4953fe0348ccc1c1df621b75d0f3fd4d2f744b1388eca424b969fe929062e958f26f45dac6b36912647f844f3a3751364f9f64fa508f385eef32fd8d152a05a098c2de6e3a74a813a0f398c68c0b204b1d8be44e6b05ad50032d6c172978a285931fd3da56de3f79e37ed2a5212b4f7164a37f8d8fc1c802672c3c44293ddab11c6e0090312e9b83dc9a08495202deada9a7705a00adbf9835420c9a0a26c46aa76bf7bb2aec21535543fd8b09d9767944c79b7a8281d7105b6353d621e7891ec79275c447987415fa52be83fdc8a034e3a57caaaa9cadadf2718c3ce83197693d238ec37864ae85cd9a033a2838f689949dcaa17623f85ff03803852ef336d7afc02211af59233cbf82b179f8092bc7aa28c438f1ac4189994e6c53c7993216f39430db64ab76521e17d65292d60bba3324019dea184b8e4638905d1b6780c9fd2cc5fda26b2a29d30beaf68a2a63ef25206534cac0dfac29b40c71a98c9d9e9b729e1c15617155314b849d4bf804da4bb248ed3244c4c9cd74c2299d4175ebc4fea3acd9f97b471160f252cd4c1f8a11596c08f79629ada961cb40e4601eeee05608116b5df24fb20e0c74165c9290498d68ab49885cf377167f5663f8e388c95245a4f351b3a791e5de632ed75abed6b4541fb9ba4d97c77d3a7834dd9a952ae112ef8b6728a0d5285203929628cb80daf78a172395b516341d78748b53266d04acd383bc89b07792ff2d33ba3ef7c63169148115263f9e33a85da5bde85ad94654aea20dd6082633ddd6e16232a71e33b942ce0dc28076ca2c4ca3579abf1d0b7523bee1e1d146f86989463bb9d5599ea01d3e3c685b6f36ded4526ccfd96d2737b2dc9748b8d3e85f7d6f4f3ac040de518c9ae29488727bf32d209abb09f7dfa8c90f0ceb99c5ee80eb832357f260c6be15172d97df21773114fb4fabdf826077e6029631b7e8a592707daa81a368dca4b5b29a9fb384fe806d73862ef851260786c52217c1e84c072d3f9b28eaa6185595c8c1276bcd114417fd907de925a07813f13f248b7a65a047c753ce4fdd349eb41de21f61c623bec585d5f72a3259215e37caf05c2090a6f28e7c00faf45a8a4833f914bb576c34c8c731fe391b61b2a27a0486b1972f06043b116ed1dce94d847461818d155da95c3a4ef5a2ca9c38ff3532b861a44f4e6d02aac73768ab43b8b1d79aaa7bf8827257ea0e37033a30788c66ce4d6a77cbf5e8a5ec14f1838e615b783a4c5b515bc35df18335e93dc9f52bf27a6ce9c0927a6de42b27ec73016fb436b24d12a93fcefb8f2b58bf4e497eeab2f8c0dd35cf07237c6b77ed8bd1d43a7e8caeaae20aadcd576a24d398ed22131648bbeeebc15f76272c16fa831e3bc55d3c3ce5853e1aea0f9e9e59d039a1736b7982bda33dbf79bb171d83010853e84ffd74d40b22c43671a94e9dadb33afdc913ce109c2912d9bd2c366769ffcefdb42dcf48d241c8fa5773ed24c1b83a8b3efbab783a9415109e085e4ae1cc171034e8e6fb5f138f65dd8b5d69c7b028b34a249c8c53a7a281a5610a7bc39bc67c14384d1371b7d3669290c5415b60b2ee294c2505eb6d3c8f18f370cbeded88014e4edc12a26e31af6ab18738a83e6bc8398b3b4b16c463a971e51b9de43e93f4ecfb0b5d18d1578c9f682cdf58736b7eaf5a103972497dcb1af7013b232608dbb54564a3382415e2827c76a5bef8d95a7fa4908384f279e5ecf57bb4f1ac60c3257633d2914753889604b121a2a71a07efd2652a49d32c8c24b997f3bacbe5755ace80c5b356d9b7ea2fe8b83e40a0a6bd625bcade215e90f165c734802e6d33cc15ef136aab9d542a26ad45668b1e136e4e4935a65612b0ed718249be07f8d28db03f037efc78f0e3ed9c07e653d8b3b7e07e09da19337ed037fbc924c9691a6382a5b0176775fa48849a0abd866fce5798bd23a14e345ea27fdbab0d0b5214c1bce317475cf4ba3306b5b18fab18fd01745ba6202fe65f897df056c5cbcf922c6bc9e6072748f9954ab20df686d2f11867d4d4a5cad493bf67abbaab108e753eb1ad162e68c8bdcee376ea1805be8486ed62a5f6c99836a98bdd5c70e3e6c9df71a3307be403be0d66257a8f9ccb720dd69426d930792bed7cabc0db397c6cadd2c1ff19dcbf486874c9bd313d774975f25f16152ebc37e780e213b73a5a9aa462295919946db6a6a06e6da46ac0f6a400e651cc18544f8bc6f9e5ba1f1fa9a417797d1267e76e25d6e4eb775cd0666a9dbfc2aa48c8d04fd521db65957e20cb25a5ac85b56c8fdc6f3a11b88feef5cc512b7ee809e899b2f0975fd0201111158daeae614ff7f6ffa3bf07763f66997e031c197e48f2f56790a078beacb7bc3a985ae12ec27bb9b27f2dad433961771165f66ac39286852694c3a65d924f7ab29db60a02e1fedf24a4a572a1a72e2c5f14aeb7cd7775502cf2cde15ab0e8bad2032bb8b6f9e78a45d19965654a17485d92972e36cf8cf70d9b0ad4fa56b81fc1f03c7944fa33f7b80e10d50c3c903c0ff57a6d1f8880e72347ad159dc30263d229305087af19815f267eaa3f01a84dbaf0f02bd734a77f16f4b99c52774bb664a6707f49421d13f57a672d79f65524c164f38bd65a9d13452a9b2d7e2fb3361e1ac44c4475c87eb1ba8f67228602e42b53e2f68435b5a222e0c1bc332f923b2540ff4c3007196f63e09eb42f7b3226455cd9286ebcdbdaf5ee82d095d36de02777012627f304e2176c6610774ddfae0fcdb8ab34efe3f4bd88583bb5dbbc7d745994df3197c05da3f7a88cac332a55ab1bc400379d8ce6926af4c9d3ae09d4c6673f7daf385861d0d4769389f48632d3f73c6e835985724f6719f6f45f149c53ffc0ef49b6fdc7e77ec2911b410cf75599ebde255a3079c72eb0ca85ed3e12c78dd145cfc4fc6d3920eb4ae323036c7a11c505fbf8946a32c922234e5cff1e3280fc3891fd2a1136f555e93ee163730253e5fc1b91e76a8480bb6686a690abebbc74d4c61a16b8ae79e8b5073dee88bdf34342f9f4c0cadb49d6154f5d4948d0569b836b4a8e765919286f3fe7737615a7956f8e4e4db1a956363d1eff66c73c4d07345f62be159850e3863c3919351b7b1ded58ad4716ffecc006bf26d3b03aa3370caeb0351a271489cdc3b4b7da099717fbcef5ac2020d1df48e99acdb9b757c37781f3bcc1d4d45aa0345a9ed699897d4d07d83ba53121de979ecce3fef6f0befc8a1e88ad35786efde8a83e122fbd3fc6ed621156d6b30da2459d54b8951596138f1704ef3e0b6c1cea412f39e82a5c4e49a1f10b7b98552c03d380c38babaf1a1ef86d2c04ecf7c9d99a097b2cbfab4b39021012d76715a4157296bc256ff4b14201895b9c376cff9f000e9b9b5b8668a6231c278c8a1be4c20ffe7f844332e9d66f5a5c363edd7a65591c9a79b3249358006e84d33e85a0d71a4ef3f481c5b5c0ad5fa0a38ad00d50e5fb5dbd8610cd37cc375c08f10b6f030b6ae87bd59dea7e2118893c4f7a45fa48891940ebea6aca21d769c1b0bc7747859879242e6aad7fcf62b8cb8820d4aacc8be626d447bdbc42086b492b27bb75df98bf4603f99b9cd7b7a3a50bd1ddefb7e28091362aac30b2d3b1032ed25a955db0bbfabdfdc5febddd7ba4c22a8ef522323cf35006723f2f56a17ecb6fd83a07af214f364d1ad251e41f5a6e2b74163e6862cbf62807212e4b0d6d80d79453a211e9df4ada3ff698175f48a0779cf7b8afd3ed52fccd92d9e0368a9ce5574738d968b79daffb48883d44183c56edf62fac8af0460a86e6cbcfa1e44bb11baa8b962497f3780066a86effa57596faad8f641d7f2084ad80d83afb4a2857029a1306c8130c47c3ee0f8c46eff9b6ce69261c2d53d3ce1f422b50385b4849e33736422b5dadee782b2fb63090ec4bbb2cf842e7aa1a7a8fb351b83267be74c25cf4e8b5cdc351c4d0e7b03863e2c7aab2143cf799a3f45ba708a695a890a4b745a33ee211fc807b7f6db08a85c582d32feb4cd1cb8892b1cff0faf34997d62d58c168ded66f31a28559f28071d38428e0890ac3c6105616c6b1868ef64c99bc3c32a61846511a9741fe264a27c647d8758e0a016114dddb390c706d3b562b5e50f3082894b6dd9afbd4cfac3d693643947aab1da28ab918310e39bb9fa3bf06a38c233ead405e41552a094c59e3a337daf5fba776ab60dea4a33cb1bc68c2a43e3909406a097b0dad3a7ba31bacfad06d79f515a7c62c3b0d9d0f2c5154c99f3d417d610339a4b822bc0c89fb1faf9245c7d98677d7594cf9464ea7b9b19d7ee11d4b5fd03c23574ead1bceee7c14127e2416e91abb382985501253bf9bad98d76e6eb34a6036fdf99a18600e22525b9079da9d7960c8ed38a40f87f8b301b9968cd659715c9a8a4a73123a8835505a86296ce1270c7095c575676719276d794b1574d1031ca536b7e558cedf0410e1b5153faaf301e64ca739809d0bf45b578536d46509ab2c03deb39471848ad94903c4b3d36549e45b2ddad96a481ab84205b3a0657a32f5d1cefbfd5eb7374cba227c6f993372db5c0a3d4803770109923bb9e82a789f190912a698804bb221291838602d782cdab159f70b5f6dff991cfbe4400f2b8643226dc3976a774623df52604d8e3253236c161be5b4c56c6f52a2d67b377e94ca821133a082f1d57b50c397eb2361342aeb9f7399045d3cb389a0d77315d250fd0a278b02a98bca158cf15d779bb7b7d61f7a33c048789d946c6bf14f3103e585e88d033e470db787832c35dd7479e52d629ebbc74abfc4f097aa0f482be06e3b3e7fce89b66bc7278c2cd8cd0022c807d5da7cd84e10bf337c33362d46911ef5ba15df45c4db9eee3e50f237dfc2d3ff5e76b05d857b4ddd161f88162fc28d6f239175d8fc6fe80f38f2d586dbad7f07caf267ca71ef22f61eb1c26746f80dec60bebf19319e8d9f7cb5758533d2c63b1298527d3aed3874e00ede428dd7bf42c42f659395b5280a655ace80839ad47b93ed8992396de91357ef0a3fcc1dd93a94b25a20983f2090dba743c302ab2784852a5477da6262454b5f0f467b57751303cd91032b7a3544849e58a91308074da9c5d12e2be42339f6c870ecc201032761a2957688453054d43a13763dd31af48fe871fcb5f4238060286fc4f687dd7230b9e69cb3e5871d019406901c73710cc4a51a6a19725eeddcc42bb2acdd34d1d4b5f00bbb69d112aa464a065b68aee1aaab978d75bab367c8c47fdeaa7981e1a1c49e4bb2188b8ad727012ea87845cbb40f1d604e14fdf132be32a44fe096abbdb961f81330493d9bfadd176940951fbda5e9424f19f54249e4a0dc49732f9f693b67dce6bd79c996bcdd6fc0a38f22859e0030774ec485aaa3f58e22fb652e66d003796617c7ed56b9685cc69daa54ccd9fccbd3d3498d9728473b5739817252d6ce0d3cf268318ac428207eff11ae007f32cab9aa52f050c935652e21f8eef54fb0c64e16f8f10cd94c154bf3d33556a1b5fa4e2b4ab54c6a8f2e0935bd7ad4d4651adf59ed0d81c4079bac3c4d44048d83ec5fc1e9ed964c95cc3e7e70bb7ed0ff9a1ce7ad473d7bea8048955fbdb21e112a3aaf71cb67b56ad9ef57eb11d56e9970c7f6d9b6eded403efd12e3a8160670e4c9a1c472c5b30ebd64d151f8cad19227918713f5e1301311ce7e93e1552bee2c9159dd2b2d905f71f5ae63442316fae0c52154c7f6adf80c50eca52c9ad5ed7632d8a9a62c68ca7fd0391a9683113243f1a704a15b4dcbc9bdee6e7a1af2263bdf2bbbb813cd4738423318a5777d7b055a36eb3a7d9e13e1a784242b41f337bdbc11c7d878c99a6e38a1236080cb8662b95bb8cb613b20124a9388aa91ac243f85099a076545a9491738cb5503ccf3893f432cba698e3183043d7fef26aca5be9429fd39eefff9252c1927346378dd1ad093de0534389c8a98ab341ba70c0976df4d10bc537e048262dcf6b4f67a9e5b1827e45815a6a326a5ca9ca2b9b59085dc840741941e5d363f98a680a7220f49ff942bc9e769a7f93b5e2dfd1f6f98711c7a851737954d1836bcf0660f522842fca1e48968125e468cf7301071cd53d1a2b7f7838978cc23550cfa3a55da41440e05744efa22deb326a54e7a323151932f1ad1f277c42cdf8d6a0a0711126da5fa90482da223f590fc17bc7542481554e14f1aac8a45dbb908d92d5820d8a9ea5e36ec4aeeb858495c1f526c45f2ef689f5f00aca7e18abd9b6f4daeac14473ed71ce03b24c2cb2af35dda9340d40eb127628141bd4607dfb53429e2ac62b71b5e6dc1fcff29ddc9992e703d2c86a418f7aea0b9fe4a3d811c71e29b48e0f69631e0c8d25c6db67ee38496cf56d10a3d2cf5a02114456b4252e92ff20cd7d4445bf0cfd20767df1f27be45c4a629fb58146a75d8c6518574eda30456da2c313ec62b3c5933f7a4f8a8ccb48a183cace585eecdcea79ba3a795c3198f69ba4b7227ca4fd03981fbbe26f1b0a9b110ce99b90d5b33dea7499f7c6eafcd36341d4d762e5db4b45b6d459cb9302d8af6487dedead4d1887e96e54391af7c13e80747fe8db86f076fe7b4c22eec5dbcf5d2632cb9edbcc5534a2f394253666a3c30a43b4ce6fba85af0f0ce928b345a6d77ac24e5e833cc360c844f07764c864a19bf596636f1bad782df116cb59d673982520459c684911d9dad298e416eab19e9e966a0193bf06e3fcbcbfa87e784cbffe7a4b85b79b7dccf5bf7efec886ab7289a8ce01d0c90216c992fec15bef0a671898f958d7c41256da53f071d9f66a6e88655493775a9de196483d61c09971269456ec0604920c81bdb37aef90116ebc2484165a8e6564e1b4ba8c6db019c2ba317b7336b8ce8f04245295f7f6c79baa3a1531f39b5c5663efd721722cf06075a640ca850ad474bbacb47ec22ed4de46fc571dca6ff85d76be1190a9d472137561ea66ec6b91a27e073af6317c75246a90636d74c07ec116095359e8e4e51c97b7991e789fbeed07bf1c5117e39b385b129f888a2d752c4eeddcc785231c42a156414eded7a6dad2f91dcf9c67dbc48ea544a0fb6f4336f846d533113313fbe95de5e29e1abe7051c4c2cf2dafaaafd62f9519f8118ea8747d2d9b7ead07f24e20b538817548e5740e1dd5fb320c169b0751090a8695969a3747d076b450f08b407d7c8f87ac0affa71cc8ff7502f45cd4bd0c8a09ff73b2402b242ceb079f7c5c4fd8eda511b1a91d109e36e9e7a238c0fdaf8ddab2ce3003125ced34310c3a06f63fa07168d7b4ca23e544dcf683907b0f44f9ede7e2913ebea3f984ee95d68070a313085b48698a77fc7732a2d91e52473be83f5d5d24d8e84f32250fe34c10d7a8d30073b4f89225f64073972851d36d5ce2b79d6fdffc3d956d82b2b74147d4d2efcac0ad7367ae8f082bac990316a4599e18ce1f1fc95f45e293525e56e206bff0b0fc03a3ea565c139eed3873f29208cd352cd2911b6ce1539c5e6726c2187c8b8b7532c2191f333cabc915cd5733e60ff3a87b99c14be2c30408f1827fb1a2081aeea433a91cba5f69ecfad70a85b98ff09e894d201683677b7b3b283f2de07b0c538c031c15f47b4c52f74faeac06d68efe5f087f8282eb3c63f4d5b91adf3ba4c081bb8510a0553046538283eaf1dd5cbeb2d2d79ee8009bc194b6daff4ac1e2ae6b2d2058bc4412c012a0fc44afcd6c29cd850299979a77fed9ec59e9c5fdd1e562c8f1d4395ffae60d24312b296e325e35dc85b216120f31fe25f7ed68fb8918e91874519180e584a6c12a8e3ef4ecd76e5fb9fcc8eb2856afe1712433bf0ddfa01292c99cf7a36028b844f67fb7143f74e8e09e95b531b166355f254f1673e64e2e4577ea9f38099792926caf83cb0c8e621475a9676980ce8ec8fa679a5a5318271c825bae0d1d5b43948d49fbc7c41ec326ef399cdbbbeda19d002b27ccb38471356ca3a8bb59aea257769fd8dc57c911c7a77249b77081bdcbf687ee7dbb392eac86dc386314db69a455d22268acc33f4cb9ef06fa80ea635c49a0c5b54fb06abdf78d8bc2fc57203758b13fc14317ef96a2d7419e5d816e517fab570ec0963ee9a4f680e11e2bf3c8967ff9bd3eb384e23cb3cafae0498f4b5f17d6ca50d6ff9593acfdf66490ff36504bb59c3d6f14a0912924266959ce4d512df75071c774deeb3bd1e23993102ebfdf7e895e78314d75f0cd231ae90a00a452cc3b4c88bb065162b2ae6016e0fede6c85a5cfca7a53e55d4bb26c170b9a29eb64512cd05c64a57713bca0d39f64d9e1bc8e4940c36ee1fdac12db0fc57cb20f30f6a7636915449fbfe6c45db838ded0619d8d149f1f11441f321ce9bd666e5bf2540ed5131c316a808c164fa37ca9a232d2990d286f1189782efeb828e07e4baa16b9b641c3a5108a9770873cbb8edaff929fae3e2a031c485cdd8c3778f2c908cf9fbc9d9a224eb28cb9325016f80fc1e56ed69a4d68c857e90c07738296a7175548e8c46b7dab4095632ab66e62b15ea0c147e5614b6da292a208fcff8c1a28632323655202bf0a2a84b6ffc39f833fcec2dd9c538c17198184bb85be6020ad5e929d72eea7ba3ca6f482a38e4e696493dbd86e8f7eeefa007c5fac34e2c40a40796fec247b9b51891a6502ee91f9839db0e828331ee1b634301cfbaa9f9bb0679f24e30d297547b7dc9b52205f5c704e5558db9721524c177b7937b1815ff1cfe84249652c3ec19bd39834607af0c1dea37f5b9b1d29d2bb86a124d18b6074e91ab98515183d6094c4969d628d32ef09f8d33469af1bf2f230e81b4b053a7ebff095aa9866e144420c4d3373ae96c9198a3851c032f295709b2a6da8fc67ed54796a00136bc2f3a98d82dadc64151b19c05ec8600ef8b79f21f41a92a7cf44de605af794757d9c4d4db757c45f238025f02c42809365f1022c27734190d37232932b16f8c01e34850f36e6d5c2e2d824eb1fc4322d34b3cff285dc053c3ccddd0427e9186a545078e04b52df5da468f30de42139b014a7d90f8054184a8df57fe26296223a8b24e40d63265c7cb04d6d0a43628f3f1f6b739399ca39aacef8c2d852439ab0b6038f4a137773a5046944b1f7a00792192428008c3ce22eaab299a169b79479e7d18daf1cad42c8e1d56268bd5a2242938585a9885b887fe8c2e9e3b634cac083a315558a0ce320b7e165a03f30e15eaa1b9d8b74e3dc79e771518dd94b1051c110df0b5dec9938a63e693b61a31f54bd2aa93daa21df38a2f89f37346f9b2a582c5541c9f952a56bf5e11863d920d4633cbe0fda84e6a061ead1addc9f1fa1c366319741170adcb903c43a293dc68b35c2289ff1e5283f17188e130a529ec47ad33e93ebdee11312181679ac2c0f0084f1de44e1b41b7f27973f05e1eb567d08a6d9e501dbcf7d9c6b36541bfa485e507834ef721488364d92237186695688df4ab432f5d6a5c79775343eb77304bc0fc6538a1e2d278961833577d5aeeec281c9734ba7b02765c11e859fde29112fbe8dd179e4b41143639caca2ccf1031a02822cb32157a3399f691e44e19afc34ef8a0622ed8e037f39d27f94c9f38a1042b688e67047bc11fc9143ff044c22b4a4d75737523ace92f12eeb3fd8952f75675253873be33511b0a7605305c111a84b0b9b9d23ac4338ffc148765ef0d7e32bc01bcaff703c738a83a66dd452c54deaab8ffe5995df06906c7877bb56be6d550217ac9ffb2e9774f30031bc890b5c975cdf08f9c097967b3f4d39a711d63b04e8a5d1bfea8ca0186d8d3e2f5ff2e3c0f8c157dae757c892190311a734373dde0cf290d6a5858df2b706b6d659be86aa8729c3ea414ccb8fd7f9ee1b8717e4b8c69fb9cca6d2c2cc9fe3ea409c1fae5e3f1fd173fffbc28d14682ef6a1c7041d0917bbaad6b07303f2c301093b404f06c2927672693c17f9b17394498555dae14fec87cf3411a310ea6399e9baa6ad60e7558db93b5a5bdb44935dc014c1a238816085718ef1d3d1de8689b0d855c4e61f0229e0dc867ce14ac16ae500ad2a647736ca9196adaca0faeb58d32beb854950a14d29e8a0e46b38f33b2ce8f6048174b3c2ae7a90d15f44fe480aed12b09c86cf1f9f335e7923f08f4fce5a055abda6ddd090c2ae751d89eb5d1d081c51477ca600a6b518cabddea45b015a5561b817880b78fa0661fd0f7f3e50775d6563864e1f1004036f8617ce866d7aed4f6275d85ff5a62c880c885c930dcbd990533cd3eaf33d31b92a65b11475c8602a68532b97bafb5d442530d89777ceab50f1f6d52bb107362744f4499bc1ed7dea0c8481ead3e81f54ea82b63b03d2d919a7f410f41f46d84fcbdb1dfe2cba8d2a310729ce1e8a1183b39a5ebf473f86a31e664ab914db7224a3742e49b87118c23dfa00ed3a2d6d05acffbc037865d6f28b724d47b1c5180ea2eeb2ddb1c19f6a33284521831fc94e70341ef2042a2b9808fa0c2ce04841de69548dac3ba097f0742d7cc7b28b90dc944c01f71983d17aca1c8aaeab6fabb912bfde484a7c5cc7a37c7c7221b22497ba89e00f3b5380c526abc59afcf3969042423cba05b43fe64527291ab577e0c46aef1275c7021f78e8f6a336dc59020518a183fe62c30640160f498d73dfb4b2f443d9af2416dce3ff25a95d6caa43e6132c024141281602f7b007348dc4445ef385f88ce911e17d228cee6b11fbb6625facd187f40b283a2a3a24efde1493db9eed5f8a7661333f18838875f682f2cdecc3c7029e4c240f49cb9c028591ad965fff1672241e6ab6f253e173bdbb9e143bfda2c7faef784c3aaf40cd70501464ae8d47f72eed325d9637aeb53ae89debfc6af708c25d60cd7421aeb1139c8b43cc9eb9dbb4f4418f269553407decacbe1e0059700374caaa0b21db7f2e91d875e61d278e5842c3010538afa8017d76638bf272d404488887b45c650b4d5162a6bf2c11012e70cf6b3ba2c5afe2aaed0c21ba02f940a875e91973ef7b50037be38ac62af0d0278961822e2bd28d6629a946e504d131e0f92dd29a61dba3cabe968fa0b23e2e82fb0abb06fda131e4f41e695d9e0755f2b4e98d2b92de4fee106fa29450f33d2da811e9d685260ff5596abe20ddbd1e55b7c7250673e4fae47e3eb4ce1c55d7058723e6f975c6cd4a507d0c75e914a7d60be808c23b6b7a89ca9868b998b72a5a01a6090456f41a275988e2e64fb9a46388ae37f54d8b73ab207d5f1d6f5cd05e0f710df1e609b026a6e221c38f24c652744b34037638575f5ec48ec4ee82969ab018f3ed46a10feaf6e0b5b953df36c8973dd08598f4e8be4eb828930a9acebb8bf4edd2b2cc5c42cb96e2656010d0c728fe12c8d359543e6f8a2daf1b547caa5822a96c07f28fa0a8dbb078849f795287046c97fee3c22df1fdcfcf6f8e074d64aa5e8c129ccb569c55bacc9cfee5193fe0f3fdfa1bbef8a70384ede93f845512fb9a0915ddc82ce68123f52470d722dd60a1df14aff8c4a4061e86982a1acb4f0496a8f17176d18aec4cd33a79d7e0179e4901ab54b7ac729378151cbeeddaf19ec27ad281386723e336764e26bc322f78f2aff015d9b841ab86c5b7eae54649c9f6e562286e296ffd6097b8de9e77a94b2e7c835f4cae63aea7fe9b666f4d50be1025a84b4bb8d6ce2256961c89f5c3ba001f7e75734ebdbdaec8fb756fa435595edd247c188ddafd342cb79fd991d5e7754f5b8439e8ce9e86712600b3ef0289993f5a00568ad069cbf9f0c0800b6687285b0c0170047460a33378e68edbd2bb7f3838791a2faf4aa7b5aef332bba24ca7fcde2528ce2fe5f7a2c1990f5d532f9ab72c6c398c6ed691cce84381da792d4c1584e9c50c09a4416165492bb1ba36a6613b014d89484b86f37092299381233c7039cb5685ce51b859ad9a66431ef399d15a45cc32aa4d9d720aa6985353fa728dab93d25175a65d2d6e347937104245cfba992379c2b79371b4a6dbca61b8f3225ae498fbe362a272aa5619754bdf00a13eecacd73023f07c2a8f5ecae5113f5dddbe6b005e2e896291acbeee9a8c9bb47c1cbd3798428c83845696fa4838d61aecdc56a1a8f46fd1287fd9d0bfc8168b49294dcba8ca02d049c58ca1f94fbf974bb3e481bc90324d80cfb44a742ba82b0029ebaf61981ac685f350972f87d769be098a054c860a53573af40fd269f8a1cbe9eaef30e169f34481e7d67f8e921f417ad50a421dd0770eccf169fae7649c8cb3444247e3006ae8fd7c8a130f356f1c4527dc3cf304823db0adc8bc729f8bb7ebdf2c80c4b8b70ca0cf8ab28f9f5cebea9f0cb1ee5a2309091120ac63843e67452ea14180c027d4487523987cd8c6d3478b12d850e3d237c53", - "shares": "00000000000000000000000000000000000000000000000000000001000100002800f268deb0c65666b58e7e59430c652483780635f79d2545e271893a8874ee92a3533b077208c05123c730766af2ca2c627bd7ef549790e285a7aa13a623478ae1905cce4bd29ec7c9511c08f009251d0175889c95e9fd8a0881526ac314f3c8519f8f2dc5dffa919d5a4ce85dd21bf2f84150a16224b68d09a00a44d17eed2721c8422bb7f90e56ab5f768d3bbc3ff09485f18713e47ef1d302a19e1abd564167926fc5ab41c9c076a92955de1408b2deb64fb2cf5f5db134f4696b2dc1e025917973bf8ca449005c118dc637dbd158c633db843e02b2889ae0e2bcde083728c7ebb93001baa214ca77031d83939a69b96295f0bcb6fb4abd12ab85a4268477f5288c1fca8855dde1f9473b4a66aa56c575df466471250430cd4b8b1f0d75683a8af2381a6466be26db1a11fb9fd0f7beb89ea72d281c974ff5f107ee8ad5a2bde3cdd87f96c3dc7c69edd6224c93b4ea1e75813717acb4226dcb427f1e37de17ba74ba544bc399b3292c27928ee0f3afad731e1ad582387ed78c24a020dd4f5dbd469df009a4300d24db4d46085b44d809e3dcaa4cbc1f2d7835e5590b434a5ef74ac66341711ab8b20fd02debbe32df0fc0aaff5320516981e8d943f5438c9cb58dde5f82160c6678947098d80eb82a3a841f69981bb7558f7ca68d3bfd000000000000000000000000000000000000000000000000000000010000b0a9c64917e6c8330c4ab7bb7d2607a30b1d2d4614b0fb3d13fd28e9b51b4ebf5be5476a2861989e009816d32a63f159bd79a9a601ba1b809da7e6882f97cf92b898a6085f82a401949a3bfc847d2de105d244b15a7bc29e7f76bbc8f59ba8e48bee8a24b1ca12c7383c7daef67ca6562b65bbb01abd604261eff16720ea9e33c243d97a850aad90bec095052f7c506bc75d2319f47777dc941a0f24042b663a7b3127436db478bb483f3b16fe3230a7b369202276b9fe8c3f32244d8a0e029a57d38a599cb118537a924c9336f37d35ac2b43a4fc800755a5667e47f827b07b31d7d31a83df2325cbb4b2835a979f2f2e0ddb5fcb50252352c3d3e78f2c2104577d58ce5d2cc35c3e3afe03023a62a99eca25acab3592475bc6d729ec34a28694994da1ecc59d0039b0f317e29be0e44f71b16b787f61c9f7236f228ee5a5d1ade5e92735bc5aa79ce76f49c3c2f4b15845afa2bc32ab8078d728f39bcf93251665529034444115427df28552872f5e7c265b9af8f37010064fdd83e79ad512cdf9faf1ece1bea97c4051caf678c22add6ed44fd968de6c89d4170cfa0ccb03ca2ec57e7ba6e8d2eeaab3bd7514655c3e47089d560dbf3b32a2deaa569c85f8da13700dbd6608e2e976964713b46d25bbd73961e88ad7a6684bd55662cdc3f507ce000000000000000000000000000000000000000000000000000000010000495a3e886d3259a08a6c031bf70ac626eb9ab13cb5aceafef283ecf9ff45ea7dc44194c617a5bdd4686d0de751d27904bc5715101be90880d36df0efee551f9a787f480b04377de271280c985d327ad077b0d72541777163d8abf33c0b7d6b261f5b1adfa9d6f5fd81d9b664cd60fdda726aeb1cc4344e0ce4934ab162c3390247fca4948f7a4f9cca08142fca867d482afdf06ba6da90ad8b34ff9bb8ce98eab05a7b7b1e2585a43aff76d6f98a5217f4456b48f6651017d5ad230577ffaddb1087e40275c745938071f8e38ca0028d3f890342bc1914345b5053c9f61e3f36722e96e44a1f5dbf7316f18b3abc35533c9abe519ca8420b0b19f9ed2feb67ece2e2c3706f966f6c7a6e4cfa55e53f2d8202e5fe99961fc8093cdede7fd54e20f74c17e20fee6fad0ab6d3d69a6a42d7ec0d5619220f993abb0272435491a322cf7734e4aa0a4d2d746188a57578a3998894dc7eb6e9bb9371d7f45db2ab64be8c5f259a4424c8b5fc8153c9a2c669fa7db84bd7358202fdf7731a649d6e0db082974e57228b485358e977273c7fdcafe10e59ff8d1926e30c5db1acdfaae411b6838a82df1a9b2cfdeea8a6eeb32d17470d972ce235921c1c05b5517c7e01a50bf21af71b2d452f9ed1cbea110ee61c540822888c5b6c4a458c6c1e837804455356000000000000000000000000000000000000000000000000000000010000aa73d6baaf7e480955fb43c817bfb5b600634b1e1b5cb6cc62b70bf91d4953fe0348ccc1c1df621b75d0f3fd4d2f744b1388eca424b969fe929062e958f26f45dac6b36912647f844f3a3751364f9f64fa508f385eef32fd8d152a05a098c2de6e3a74a813a0f398c68c0b204b1d8be44e6b05ad50032d6c172978a285931fd3da56de3f79e37ed2a5212b4f7164a37f8d8fc1c802672c3c44293ddab11c6e0090312e9b83dc9a08495202deada9a7705a00adbf9835420c9a0a26c46aa76bf7bb2aec21535543fd8b09d9767944c79b7a8281d7105b6353d621e7891ec79275c447987415fa52be83fdc8a034e3a57caaaa9cadadf2718c3ce83197693d238ec37864ae85cd9a033a2838f689949dcaa17623f85ff03803852ef336d7afc02211af59233cbf82b179f8092bc7aa28c438f1ac4189994e6c53c7993216f39430db64ab76521e17d65292d60bba3324019dea184b8e4638905d1b6780c9fd2cc5fda26b2a29d30beaf68a2a63ef25206534cac0dfac29b40c71a98c9d9e9b729e1c15617155314b849d4bf804da4bb248ed3244c4c9cd74c2299d4175ebc4fea3acd9f97b471160f252cd4c1f8a11596c08f79629ada961cb40e4601eeee05608116b5df24fb20e0c74165c9290498d68ab49885cf377167f5663f8e388c95245a4f300000000000000000000000000000000000000000000000000000001000051b3a791e5de632ed75abed6b4541fb9ba4d97c77d3a7834dd9a952ae112ef8b6728a0d5285203929628cb80daf78a172395b516341d78748b53266d04acd383bc89b07792ff2d33ba3ef7c63169148115263f9e33a85da5bde85ad94654aea20dd6082633ddd6e16232a71e33b942ce0dc28076ca2c4ca3579abf1d0b7523bee1e1d146f86989463bb9d5599ea01d3e3c685b6f36ded4526ccfd96d2737b2dc9748b8d3e85f7d6f4f3ac040de518c9ae29488727bf32d209abb09f7dfa8c90f0ceb99c5ee80eb832357f260c6be15172d97df21773114fb4fabdf826077e6029631b7e8a592707daa81a368dca4b5b29a9fb384fe806d73862ef851260786c52217c1e84c072d3f9b28eaa6185595c8c1276bcd114417fd907de925a07813f13f248b7a65a047c753ce4fdd349eb41de21f61c623bec585d5f72a3259215e37caf05c2090a6f28e7c00faf45a8a4833f914bb576c34c8c731fe391b61b2a27a0486b1972f06043b116ed1dce94d847461818d155da95c3a4ef5a2ca9c38ff3532b861a44f4e6d02aac73768ab43b8b1d79aaa7bf8827257ea0e37033a30788c66ce4d6a77cbf5e8a5ec14f1838e615b783a4c5b515bc35df18335e93dc9f52bf27a6ce9c0927a6de42b27ec73016fb436b24d12a93fcefb8f2b58bf4e497eeab2f8000000000000000000000000000000000000000000000000000000010000c0dd35cf07237c6b77ed8bd1d43a7e8caeaae20aadcd576a24d398ed22131648bbeeebc15f76272c16fa831e3bc55d3c3ce5853e1aea0f9e9e59d039a1736b7982bda33dbf79bb171d83010853e84ffd74d40b22c43671a94e9dadb33afdc913ce109c2912d9bd2c366769ffcefdb42dcf48d241c8fa5773ed24c1b83a8b3efbab783a9415109e085e4ae1cc171034e8e6fb5f138f65dd8b5d69c7b028b34a249c8c53a7a281a5610a7bc39bc67c14384d1371b7d3669290c5415b60b2ee294c2505eb6d3c8f18f370cbeded88014e4edc12a26e31af6ab18738a83e6bc8398b3b4b16c463a971e51b9de43e93f4ecfb0b5d18d1578c9f682cdf58736b7eaf5a103972497dcb1af7013b232608dbb54564a3382415e2827c76a5bef8d95a7fa4908384f279e5ecf57bb4f1ac60c3257633d2914753889604b121a2a71a07efd2652a49d32c8c24b997f3bacbe5755ace80c5b356d9b7ea2fe8b83e40a0a6bd625bcade215e90f165c734802e6d33cc15ef136aab9d542a26ad45668b1e136e4e4935a65612b0ed718249be07f8d28db03f037efc78f0e3ed9c07e653d8b3b7e07e09da19337ed037fbc924c9691a6382a5b0176775fa48849a0abd866fce5798bd23a14e345ea27fdbab0d0b5214c1bce317475cf4ba3306b5b18fab18fd01745ba6000000000000000000000000000000000000000000000000000000010000202fe65f897df056c5cbcf922c6bc9e6072748f9954ab20df686d2f11867d4d4a5cad493bf67abbaab108e753eb1ad162e68c8bdcee376ea1805be8486ed62a5f6c99836a98bdd5c70e3e6c9df71a3307be403be0d66257a8f9ccb720dd69426d930792bed7cabc0db397c6cadd2c1ff19dcbf486874c9bd313d774975f25f16152ebc37e780e213b73a5a9aa462295919946db6a6a06e6da46ac0f6a400e651cc18544f8bc6f9e5ba1f1fa9a417797d1267e76e25d6e4eb775cd0666a9dbfc2aa48c8d04fd521db65957e20cb25a5ac85b56c8fdc6f3a11b88feef5cc512b7ee809e899b2f0975fd0201111158daeae614ff7f6ffa3bf07763f66997e031c197e48f2f56790a078beacb7bc3a985ae12ec27bb9b27f2dad433961771165f66ac39286852694c3a65d924f7ab29db60a02e1fedf24a4a572a1a72e2c5f14aeb7cd7775502cf2cde15ab0e8bad2032bb8b6f9e78a45d19965654a17485d92972e36cf8cf70d9b0ad4fa56b81fc1f03c7944fa33f7b80e10d50c3c903c0ff57a6d1f8880e72347ad159dc30263d229305087af19815f267eaa3f01a84dbaf0f02bd734a77f16f4b99c52774bb664a6707f49421d13f57a672d79f65524c164f38bd65a9d13452a9b2d7e2fb3361e1ac44c4475c87eb1ba8f67228602e42b53e2f68435000000000000000000000000000000000000000000000000000000010000b5a222e0c1bc332f923b2540ff4c3007196f63e09eb42f7b3226455cd9286ebcdbdaf5ee82d095d36de02777012627f304e2176c6610774ddfae0fcdb8ab34efe3f4bd88583bb5dbbc7d745994df3197c05da3f7a88cac332a55ab1bc400379d8ce6926af4c9d3ae09d4c6673f7daf385861d0d4769389f48632d3f73c6e835985724f6719f6f45f149c53ffc0ef49b6fdc7e77ec2911b410cf75599ebde255a3079c72eb0ca85ed3e12c78dd145cfc4fc6d3920eb4ae323036c7a11c505fbf8946a32c922234e5cff1e3280fc3891fd2a1136f555e93ee163730253e5fc1b91e76a8480bb6686a690abebbc74d4c61a16b8ae79e8b5073dee88bdf34342f9f4c0cadb49d6154f5d4948d0569b836b4a8e765919286f3fe7737615a7956f8e4e4db1a956363d1eff66c73c4d07345f62be159850e3863c3919351b7b1ded58ad4716ffecc006bf26d3b03aa3370caeb0351a271489cdc3b4b7da099717fbcef5ac2020d1df48e99acdb9b757c37781f3bcc1d4d45aa0345a9ed699897d4d07d83ba53121de979ecce3fef6f0befc8a1e88ad35786efde8a83e122fbd3fc6ed621156d6b30da2459d54b8951596138f1704ef3e0b6c1cea412f39e82a5c4e49a1f10b7b98552c03d380c38babaf1a1ef86d2c04ecf7c9d99a097b2cbfab4b39021012000000000000000000000000000000000000000000000000000000010000d76715a4157296bc256ff4b14201895b9c376cff9f000e9b9b5b8668a6231c278c8a1be4c20ffe7f844332e9d66f5a5c363edd7a65591c9a79b3249358006e84d33e85a0d71a4ef3f481c5b5c0ad5fa0a38ad00d50e5fb5dbd8610cd37cc375c08f10b6f030b6ae87bd59dea7e2118893c4f7a45fa48891940ebea6aca21d769c1b0bc7747859879242e6aad7fcf62b8cb8820d4aacc8be626d447bdbc42086b492b27bb75df98bf4603f99b9cd7b7a3a50bd1ddefb7e28091362aac30b2d3b1032ed25a955db0bbfabdfdc5febddd7ba4c22a8ef522323cf35006723f2f56a17ecb6fd83a07af214f364d1ad251e41f5a6e2b74163e6862cbf62807212e4b0d6d80d79453a211e9df4ada3ff698175f48a0779cf7b8afd3ed52fccd92d9e0368a9ce5574738d968b79daffb48883d44183c56edf62fac8af0460a86e6cbcfa1e44bb11baa8b962497f3780066a86effa57596faad8f641d7f2084ad80d83afb4a2857029a1306c8130c47c3ee0f8c46eff9b6ce69261c2d53d3ce1f422b50385b4849e33736422b5dadee782b2fb63090ec4bbb2cf842e7aa1a7a8fb351b83267be74c25cf4e8b5cdc351c4d0e7b03863e2c7aab2143cf799a3f45ba708a695a890a4b745a33ee211fc807b7f6db08a85c582d32feb4cd1cb8892b1cff0faf34997000000000000000000000000000000000000000000000000000000010000d62d58c168ded66f31a28559f28071d38428e0890ac3c6105616c6b1868ef64c99bc3c32a61846511a9741fe264a27c647d8758e0a016114dddb390c706d3b562b5e50f3082894b6dd9afbd4cfac3d693643947aab1da28ab918310e39bb9fa3bf06a38c233ead405e41552a094c59e3a337daf5fba776ab60dea4a33cb1bc68c2a43e3909406a097b0dad3a7ba31bacfad06d79f515a7c62c3b0d9d0f2c5154c99f3d417d610339a4b822bc0c89fb1faf9245c7d98677d7594cf9464ea7b9b19d7ee11d4b5fd03c23574ead1bceee7c14127e2416e91abb382985501253bf9bad98d76e6eb34a6036fdf99a18600e22525b9079da9d7960c8ed38a40f87f8b301b9968cd659715c9a8a4a73123a8835505a86296ce1270c7095c575676719276d794b1574d1031ca536b7e558cedf0410e1b5153faaf301e64ca739809d0bf45b578536d46509ab2c03deb39471848ad94903c4b3d36549e45b2ddad96a481ab84205b3a0657a32f5d1cefbfd5eb7374cba227c6f993372db5c0a3d4803770109923bb9e82a789f190912a698804bb221291838602d782cdab159f70b5f6dff991cfbe4400f2b8643226dc3976a774623df52604d8e3253236c161be5b4c56c6f52a2d67b377e94ca821133a082f1d57b50c397eb2361342aeb9f7399045d3cb389000000000000000000000000000000000000000000000000000000010000a0d77315d250fd0a278b02a98bca158cf15d779bb7b7d61f7a33c048789d946c6bf14f3103e585e88d033e470db787832c35dd7479e52d629ebbc74abfc4f097aa0f482be06e3b3e7fce89b66bc7278c2cd8cd0022c807d5da7cd84e10bf337c33362d46911ef5ba15df45c4db9eee3e50f237dfc2d3ff5e76b05d857b4ddd161f88162fc28d6f239175d8fc6fe80f38f2d586dbad7f07caf267ca71ef22f61eb1c26746f80dec60bebf19319e8d9f7cb5758533d2c63b1298527d3aed3874e00ede428dd7bf42c42f659395b5280a655ace80839ad47b93ed8992396de91357ef0a3fcc1dd93a94b25a20983f2090dba743c302ab2784852a5477da6262454b5f0f467b57751303cd91032b7a3544849e58a91308074da9c5d12e2be42339f6c870ecc201032761a2957688453054d43a13763dd31af48fe871fcb5f4238060286fc4f687dd7230b9e69cb3e5871d019406901c73710cc4a51a6a19725eeddcc42bb2acdd34d1d4b5f00bbb69d112aa464a065b68aee1aaab978d75bab367c8c47fdeaa7981e1a1c49e4bb2188b8ad727012ea87845cbb40f1d604e14fdf132be32a44fe096abbdb961f81330493d9bfadd176940951fbda5e9424f19f54249e4a0dc49732f9f693b67dce6bd79c996bcdd6fc0a38f22859e0030774ec485aaa3f50000000000000000000000000000000000000000000000000000000100008e22fb652e66d003796617c7ed56b9685cc69daa54ccd9fccbd3d3498d9728473b5739817252d6ce0d3cf268318ac428207eff11ae007f32cab9aa52f050c935652e21f8eef54fb0c64e16f8f10cd94c154bf3d33556a1b5fa4e2b4ab54c6a8f2e0935bd7ad4d4651adf59ed0d81c4079bac3c4d44048d83ec5fc1e9ed964c95cc3e7e70bb7ed0ff9a1ce7ad473d7bea8048955fbdb21e112a3aaf71cb67b56ad9ef57eb11d56e9970c7f6d9b6eded403efd12e3a8160670e4c9a1c472c5b30ebd64d151f8cad19227918713f5e1301311ce7e93e1552bee2c9159dd2b2d905f71f5ae63442316fae0c52154c7f6adf80c50eca52c9ad5ed7632d8a9a62c68ca7fd0391a9683113243f1a704a15b4dcbc9bdee6e7a1af2263bdf2bbbb813cd4738423318a5777d7b055a36eb3a7d9e13e1a784242b41f337bdbc11c7d878c99a6e38a1236080cb8662b95bb8cb613b20124a9388aa91ac243f85099a076545a9491738cb5503ccf3893f432cba698e3183043d7fef26aca5be9429fd39eefff9252c1927346378dd1ad093de0534389c8a98ab341ba70c0976df4d10bc537e048262dcf6b4f67a9e5b1827e45815a6a326a5ca9ca2b9b59085dc840741941e5d363f98a680a7220f49ff942bc9e769a7f93b5e2dfd1f6f98711c7a851737954d1836000000000000000000000000000000000000000000000000000000010000bcf0660f522842fca1e48968125e468cf7301071cd53d1a2b7f7838978cc23550cfa3a55da41440e05744efa22deb326a54e7a323151932f1ad1f277c42cdf8d6a0a0711126da5fa90482da223f590fc17bc7542481554e14f1aac8a45dbb908d92d5820d8a9ea5e36ec4aeeb858495c1f526c45f2ef689f5f00aca7e18abd9b6f4daeac14473ed71ce03b24c2cb2af35dda9340d40eb127628141bd4607dfb53429e2ac62b71b5e6dc1fcff29ddc9992e703d2c86a418f7aea0b9fe4a3d811c71e29b48e0f69631e0c8d25c6db67ee38496cf56d10a3d2cf5a02114456b4252e92ff20cd7d4445bf0cfd20767df1f27be45c4a629fb58146a75d8c6518574eda30456da2c313ec62b3c5933f7a4f8a8ccb48a183cace585eecdcea79ba3a795c3198f69ba4b7227ca4fd03981fbbe26f1b0a9b110ce99b90d5b33dea7499f7c6eafcd36341d4d762e5db4b45b6d459cb9302d8af6487dedead4d1887e96e54391af7c13e80747fe8db86f076fe7b4c22eec5dbcf5d2632cb9edbcc5534a2f394253666a3c30a43b4ce6fba85af0f0ce928b345a6d77ac24e5e833cc360c844f07764c864a19bf596636f1bad782df116cb59d673982520459c684911d9dad298e416eab19e9e966a0193bf06e3fcbcbfa87e784cbffe7a4b85b79b7dccf5bf7efec000000000000000000000000000000000000000000000000000000010000886ab7289a8ce01d0c90216c992fec15bef0a671898f958d7c41256da53f071d9f66a6e88655493775a9de196483d61c09971269456ec0604920c81bdb37aef90116ebc2484165a8e6564e1b4ba8c6db019c2ba317b7336b8ce8f04245295f7f6c79baa3a1531f39b5c5663efd721722cf06075a640ca850ad474bbacb47ec22ed4de46fc571dca6ff85d76be1190a9d472137561ea66ec6b91a27e073af6317c75246a90636d74c07ec116095359e8e4e51c97b7991e789fbeed07bf1c5117e39b385b129f888a2d752c4eeddcc785231c42a156414eded7a6dad2f91dcf9c67dbc48ea544a0fb6f4336f846d533113313fbe95de5e29e1abe7051c4c2cf2dafaaafd62f9519f8118ea8747d2d9b7ead07f24e20b538817548e5740e1dd5fb320c169b0751090a8695969a3747d076b450f08b407d7c8f87ac0affa71cc8ff7502f45cd4bd0c8a09ff73b2402b242ceb079f7c5c4fd8eda511b1a91d109e36e9e7a238c0fdaf8ddab2ce3003125ced34310c3a06f63fa07168d7b4ca23e544dcf683907b0f44f9ede7e2913ebea3f984ee95d68070a313085b48698a77fc7732a2d91e52473be83f5d5d24d8e84f32250fe34c10d7a8d30073b4f89225f64073972851d36d5ce2b79d6fdffc3d956d82b2b74147d4d2efcac0ad7367ae8f082bac900000000000000000000000000000000000000000000000000000001000090316a4599e18ce1f1fc95f45e293525e56e206bff0b0fc03a3ea565c139eed3873f29208cd352cd2911b6ce1539c5e6726c2187c8b8b7532c2191f333cabc915cd5733e60ff3a87b99c14be2c30408f1827fb1a2081aeea433a91cba5f69ecfad70a85b98ff09e894d201683677b7b3b283f2de07b0c538c031c15f47b4c52f74faeac06d68efe5f087f8282eb3c63f4d5b91adf3ba4c081bb8510a0553046538283eaf1dd5cbeb2d2d79ee8009bc194b6daff4ac1e2ae6b2d2058bc4412c012a0fc44afcd6c29cd850299979a77fed9ec59e9c5fdd1e562c8f1d4395ffae60d24312b296e325e35dc85b216120f31fe25f7ed68fb8918e91874519180e584a6c12a8e3ef4ecd76e5fb9fcc8eb2856afe1712433bf0ddfa01292c99cf7a36028b844f67fb7143f74e8e09e95b531b166355f254f1673e64e2e4577ea9f38099792926caf83cb0c8e621475a9676980ce8ec8fa679a5a5318271c825bae0d1d5b43948d49fbc7c41ec326ef399cdbbbeda19d002b27ccb38471356ca3a8bb59aea257769fd8dc57c911c7a77249b77081bdcbf687ee7dbb392eac86dc386314db69a455d22268acc33f4cb9ef06fa80ea635c49a0c5b54fb06abdf78d8bc2fc57203758b13fc14317ef96a2d7419e5d816e517fab570ec0963ee9a4f680e11e2bf3c0000000000000000000000000000000000000000000000000000000100008967ff9bd3eb384e23cb3cafae0498f4b5f17d6ca50d6ff9593acfdf66490ff36504bb59c3d6f14a0912924266959ce4d512df75071c774deeb3bd1e23993102ebfdf7e895e78314d75f0cd231ae90a00a452cc3b4c88bb065162b2ae6016e0fede6c85a5cfca7a53e55d4bb26c170b9a29eb64512cd05c64a57713bca0d39f64d9e1bc8e4940c36ee1fdac12db0fc57cb20f30f6a7636915449fbfe6c45db838ded0619d8d149f1f11441f321ce9bd666e5bf2540ed5131c316a808c164fa37ca9a232d2990d286f1189782efeb828e07e4baa16b9b641c3a5108a9770873cbb8edaff929fae3e2a031c485cdd8c3778f2c908cf9fbc9d9a224eb28cb9325016f80fc1e56ed69a4d68c857e90c07738296a7175548e8c46b7dab4095632ab66e62b15ea0c147e5614b6da292a208fcff8c1a28632323655202bf0a2a84b6ffc39f833fcec2dd9c538c17198184bb85be6020ad5e929d72eea7ba3ca6f482a38e4e696493dbd86e8f7eeefa007c5fac34e2c40a40796fec247b9b51891a6502ee91f9839db0e828331ee1b634301cfbaa9f9bb0679f24e30d297547b7dc9b52205f5c704e5558db9721524c177b7937b1815ff1cfe84249652c3ec19bd39834607af0c1dea37f5b9b1d29d2bb86a124d18b6074e91ab98515183d6094c4969d628d30000000000000000000000000000000000000000000000000000000100002ef09f8d33469af1bf2f230e81b4b053a7ebff095aa9866e144420c4d3373ae96c9198a3851c032f295709b2a6da8fc67ed54796a00136bc2f3a98d82dadc64151b19c05ec8600ef8b79f21f41a92a7cf44de605af794757d9c4d4db757c45f238025f02c42809365f1022c27734190d37232932b16f8c01e34850f36e6d5c2e2d824eb1fc4322d34b3cff285dc053c3ccddd0427e9186a545078e04b52df5da468f30de42139b014a7d90f8054184a8df57fe26296223a8b24e40d63265c7cb04d6d0a43628f3f1f6b739399ca39aacef8c2d852439ab0b6038f4a137773a5046944b1f7a00792192428008c3ce22eaab299a169b79479e7d18daf1cad42c8e1d56268bd5a2242938585a9885b887fe8c2e9e3b634cac083a315558a0ce320b7e165a03f30e15eaa1b9d8b74e3dc79e771518dd94b1051c110df0b5dec9938a63e693b61a31f54bd2aa93daa21df38a2f89f37346f9b2a582c5541c9f952a56bf5e11863d920d4633cbe0fda84e6a061ead1addc9f1fa1c366319741170adcb903c43a293dc68b35c2289ff1e5283f17188e130a529ec47ad33e93ebdee11312181679ac2c0f0084f1de44e1b41b7f27973f05e1eb567d08a6d9e501dbcf7d9c6b36541bfa485e507834ef721488364d92237186695688df4ab432f5d6a5c79775300000000000000000000000000000000000000000000000000000001000043eb77304bc0fc6538a1e2d278961833577d5aeeec281c9734ba7b02765c11e859fde29112fbe8dd179e4b41143639caca2ccf1031a02822cb32157a3399f691e44e19afc34ef8a0622ed8e037f39d27f94c9f38a1042b688e67047bc11fc9143ff044c22b4a4d75737523ace92f12eeb3fd8952f75675253873be33511b0a7605305c111a84b0b9b9d23ac4338ffc148765ef0d7e32bc01bcaff703c738a83a66dd452c54deaab8ffe5995df06906c7877bb56be6d550217ac9ffb2e9774f30031bc890b5c975cdf08f9c097967b3f4d39a711d63b04e8a5d1bfea8ca0186d8d3e2f5ff2e3c0f8c157dae757c892190311a734373dde0cf290d6a5858df2b706b6d659be86aa8729c3ea414ccb8fd7f9ee1b8717e4b8c69fb9cca6d2c2cc9fe3ea409c1fae5e3f1fd173fffbc28d14682ef6a1c7041d0917bbaad6b07303f2c301093b404f06c2927672693c17f9b17394498555dae14fec87cf3411a310ea6399e9baa6ad60e7558db93b5a5bdb44935dc014c1a238816085718ef1d3d1de8689b0d855c4e61f0229e0dc867ce14ac16ae500ad2a647736ca9196adaca0faeb58d32beb854950a14d29e8a0e46b38f33b2ce8f6048174b3c2ae7a90d15f44fe480aed12b09c86cf1f9f335e7923f08f4fce5a055abda6ddd090c2ae751d89eb5d1000000000000000000000000000000000000000000000000000000010000d081c51477ca600a6b518cabddea45b015a5561b817880b78fa0661fd0f7f3e50775d6563864e1f1004036f8617ce866d7aed4f6275d85ff5a62c880c885c930dcbd990533cd3eaf33d31b92a65b11475c8602a68532b97bafb5d442530d89777ceab50f1f6d52bb107362744f4499bc1ed7dea0c8481ead3e81f54ea82b63b03d2d919a7f410f41f46d84fcbdb1dfe2cba8d2a310729ce1e8a1183b39a5ebf473f86a31e664ab914db7224a3742e49b87118c23dfa00ed3a2d6d05acffbc037865d6f28b724d47b1c5180ea2eeb2ddb1c19f6a33284521831fc94e70341ef2042a2b9808fa0c2ce04841de69548dac3ba097f0742d7cc7b28b90dc944c01f71983d17aca1c8aaeab6fabb912bfde484a7c5cc7a37c7c7221b22497ba89e00f3b5380c526abc59afcf3969042423cba05b43fe64527291ab577e0c46aef1275c7021f78e8f6a336dc59020518a183fe62c30640160f498d73dfb4b2f443d9af2416dce3ff25a95d6caa43e6132c024141281602f7b007348dc4445ef385f88ce911e17d228cee6b11fbb6625facd187f40b283a2a3a24efde1493db9eed5f8a7661333f18838875f682f2cdecc3c7029e4c240f49cb9c028591ad965fff1672241e6ab6f253e173bdbb9e143bfda2c7faef784c3aaf40cd70501464ae8d47f72eed300000000000000000000000000000000000000000000000000000001000025d9637aeb53ae89debfc6af708c25d60cd7421aeb1139c8b43cc9eb9dbb4f4418f269553407decacbe1e0059700374caaa0b21db7f2e91d875e61d278e5842c3010538afa8017d76638bf272d404488887b45c650b4d5162a6bf2c11012e70cf6b3ba2c5afe2aaed0c21ba02f940a875e91973ef7b50037be38ac62af0d0278961822e2bd28d6629a946e504d131e0f92dd29a61dba3cabe968fa0b23e2e82fb0abb06fda131e4f41e695d9e0755f2b4e98d2b92de4fee106fa29450f33d2da811e9d685260ff5596abe20ddbd1e55b7c7250673e4fae47e3eb4ce1c55d7058723e6f975c6cd4a507d0c75e914a7d60be808c23b6b7a89ca9868b998b72a5a01a6090456f41a275988e2e64fb9a46388ae37f54d8b73ab207d5f1d6f5cd05e0f710df1e609b026a6e221c38f24c652744b34037638575f5ec48ec4ee82969ab018f3ed46a10feaf6e0b5b953df36c8973dd08598f4e8be4eb828930a9acebb8bf4edd2b2cc5c42cb96e2656010d0c728fe12c8d359543e6f8a2daf1b547caa5822a96c07f28fa0a8dbb078849f795287046c97fee3c22df1fdcfcf6f8e074d64aa5e8c129ccb569c55bacc9cfee5193fe0f3fdfa1bbef8a70384ede93f845512fb9a0915ddc82ce68123f52470d722dd60a1df14aff8c4a4061e86982a1acb4f0490000000000000000000000000000000000000000000000000000000100006a8f17176d18aec4cd33a79d7e0179e4901ab54b7ac729378151cbeeddaf19ec27ad281386723e336764e26bc322f78f2aff015d9b841ab86c5b7eae54649c9f6e562286e296ffd6097b8de9e77a94b2e7c835f4cae63aea7fe9b666f4d50be1025a84b4bb8d6ce2256961c89f5c3ba001f7e75734ebdbdaec8fb756fa435595edd247c188ddafd342cb79fd991d5e7754f5b8439e8ce9e86712600b3ef0289993f5a00568ad069cbf9f0c0800b6687285b0c0170047460a33378e68edbd2bb7f3838791a2faf4aa7b5aef332bba24ca7fcde2528ce2fe5f7a2c1990f5d532f9ab72c6c398c6ed691cce84381da792d4c1584e9c50c09a4416165492bb1ba36a6613b014d89484b86f37092299381233c7039cb5685ce51b859ad9a66431ef399d15a45cc32aa4d9d720aa6985353fa728dab93d25175a65d2d6e347937104245cfba992379c2b79371b4a6dbca61b8f3225ae498fbe362a272aa5619754bdf00a13eecacd73023f07c2a8f5ecae5113f5dddbe6b005e2e896291acbeee9a8c9bb47c1cbd3798428c83845696fa4838d61aecdc56a1a8f46fd1287fd9d0bfc8168b49294dcba8ca02d049c58ca1f94fbf974bb3e481bc90324d80cfb44a742ba82b0029ebaf61981ac685f350972f87d769be098a054c860a53573af40fd269f8a1c000000000000000000000000000000000000000000000000000000010000be9eaef30e169f34481e7d67f8e921f417ad50a421dd0770eccf169fae7649c8cb3444247e3006ae8fd7c8a130f356f1c4527dc3cf304823db0adc8bc729f8bb7ebdf2c80c4b8b70ca0cf8ab28f9f5cebea9f0cb1ee5a2309091120ac63843e67452ea14180c027d4487523987cd8c6d3478b12d850e3d237c53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - } -] \ No newline at end of file +[{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"30f53685d7ba071d3a805e8561cdd59f17fdd6c1cf57de0ad12bf2e8441072ef"},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"11d9d055bef2d81e0f69683c5aff83dc47f485c197e1e189515ddffda6372fc7b91ea02c48d19263057e8eae50cd636e904fb6ffef9229cfeb7999fa50ecb7b4dd9c481c7bab95f1f287d6c6c6c935bf5daad8662e66f76b59648559c9eeca191b77b4776821a0ad5a1e71b412724198d9802ff7d090870250f4f26bc71641f4d6fd8dcbf101d1565f345b73b0da39c100000ee242f30ca9f790c593f046e7633657fe6421f7d93ec10e7414fe24f47f65a7b8c57cc32193af7757c4aae668797dc38c540338d59da04b8db60717be109411babaabe5b18f6d36ed1425734642100da2fee58b381f41640409e1219090e8921d559f60a3395c0fb5465030d81c77cb7f2631540bd6fc58e5e48781c47600defb8c8555bdea6b39f87f38355dd5616c357d861c5421a91c6ed997815349e85bcaff2e2edd5f831302a5eae53f0e950ebf2f00407e17ff6293066c03b4b9cc6dc618bf9cccb688282550da37ce33a93043e9875ca46ca5409c450d98da47a67ee8f38b40122dad55a3ff027a92afb5377827f9716f4b34739d6f6935bb1c080d1c7ca00ca0a37e72ebe88ffdcc92b0cf9cadacd75ede7a45f54bd36846a5008f535af626e6aced30d63a14158ae3dcefae45b9fd953ab7368cf1d05657b80c648bb66e705f4720be09b08df8d6dd34205140abe7bd53ff17f855f7b15a1a1f38be2e45e5b5c26cb1f16728793a3afa76b6dbdf00564ccb0b6c85ee54b497ee4eab81826da353938db9138d94a09bbb730c51abe77cc91d87b146720a9f09f29f050e0f69aaf16116792f154d6d21ed10b41db5c9d6355c623ed9b8277d50721b088ced0ab7a11d1464edecce810f0017b842d7ed9cec5361ad85bb7a5b361dbb04467363b4d0921a695c73b853386dcaa6005efbe577c9f7f06f76028c464faf69bb28fae8833a4ae36040c7e8458d70292aa9e23a6040f6cc3c823134836db5f38cdd010d400424c3189c060b6ace5797dbc9ae3be2cb2501767b377f6fca3df08ba6606c2a84b95e887530492b8a12127a73e2cbe5a2ca43b51eb5f20edf19eaa21ebdc9a4a8c2847744e97a8be76b34d12c45855609dfe71781b64a9850a2ba298ead236429c80714b4aa89d92839cde488c05142e571b09eb40c95a354010a2b67d97ccbe7cd46349f6cc2e24ef00c199cd790f63675c1527c1b3de139bbce0bc52258ddd06d1973fcb8302bfa06766beca14a9470a0de506be0ad02dfec9d121b5960b84a272c0176c7e21121894fb137e2f577333e45a531670f59e960e71d1ea8a434ca6ce1dbbab2534ed369f0a05b66541d5c8073b958a429e54748985439e4ee267be0aa139149775898b2e09cb64790fded402555315997dccea2e58b859d817d7bd0b0fd4659709915012ef7ae0429a26342ad2ebc275315d5995eb22d77487f210eb4b673cf33c0","shares":"000000000000000000000000000000000000009972b8e2333351794664010000040011d9d055bef2d81e0f69683c5aff83dc47f485c197e1e189515ddffda6372fc7b91ea02c48d19263057e8eae50cd636e904fb6ffef9229cfeb7999fa50ecb7b4dd9c481c7bab95f1f287d6c6c6c935bf5daad8662e66f76b59648559c9eeca191b77b4776821a0ad5a1e71b412724198d9802ff7d090870250f4f26bc71641f4d6fd8dcbf101d1565f345b73b0da39c100000ee242f30ca9f790c593f046e7633657fe6421f7d93ec10e7414fe24f47f65a7b8c57cc32193af7757c4aae668797dc38c540338d59da04b8db60717be109411babaabe5b18f6d36ed1425734642100da2fee58b381f41640409e1219090e8921d559f60a3395c0fb5465030d81c77cb7f2631540bd6fc58e5e48781c47600defb8c8555bdea6b39f87f38355dd5616c357d861c5421a91c6ed997815349e85bcaff2e2edd5f831302a5eae53f0e950ebf2f00407e17ff6293066c03b4b9cc6dc618bf9cccb688282550da37ce33a93043e9875ca46ca5409c450d98da47a67ee8f38b40122dad55a3ff027a92afb5377827f9716f4b34739d6f6935bb1c080d1c7ca00ca0a37e72ebe88ffdcc92b0cf9cadacd75ede7a45f54bd36846a5008f535af626e6aced30d63a14158ae3dcefae45b9fd953ab7368cf1d05657b80c648bb66e705f4720be09b08df8000000000000000000000000000000000000009972b8e233335179466400d6dd34205140abe7bd53ff17f855f7b15a1a1f38be2e45e5b5c26cb1f16728793a3afa76b6dbdf00564ccb0b6c85ee54b497ee4eab81826da353938db9138d94a09bbb730c51abe77cc91d87b146720a9f09f29f050e0f69aaf16116792f154d6d21ed10b41db5c9d6355c623ed9b8277d50721b088ced0ab7a11d1464edecce810f0017b842d7ed9cec5361ad85bb7a5b361dbb04467363b4d0921a695c73b853386dcaa6005efbe577c9f7f06f76028c464faf69bb28fae8833a4ae36040c7e8458d70292aa9e23a6040f6cc3c823134836db5f38cdd010d400424c3189c060b6ace5797dbc9ae3be2cb2501767b377f6fca3df08ba6606c2a84b95e887530492b8a12127a73e2cbe5a2ca43b51eb5f20edf19eaa21ebdc9a4a8c2847744e97a8be76b34d12c45855609dfe71781b64a9850a2ba298ead236429c80714b4aa89d92839cde488c05142e571b09eb40c95a354010a2b67d97ccbe7cd46349f6cc2e24ef00c199cd790f63675c1527c1b3de139bbce0bc52258ddd06d1973fcb8302bfa06766beca14a9470a0de506be0ad02dfec9d121b5960b84a272c0176c7e21121894fb137e2f577333e45a531670f59e960e71d1ea8a434ca6ce1dbbab2534ed369f0a05b66541d5c8073b958a429e54748985439e4ee267be0aa1391497758000000000000000000000000000000000000009972b8e23333517946640098b2e09cb64790fded402555315997dccea2e58b859d817d7bd0b0fd4659709915012ef7ae0429a26342ad2ebc275315d5995eb22d77487f210eb4b673cf33c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"f36c3d3261f7cd31405e9d13fadd290715693bbacf60e17e4383625b7a82953d771a726e572d532ee271e3b26cc90309e84a1a3edc2f1a3efc61e8f05f4d07537768c9e5a3db4d1f1e65a2e7ea69f55577a519446ecbde0aba056b0e74f1471b6451bc69c622841b1ab43ad6aca29087301699ab10ff51ac095a450954ce0dca1ad1a57fdabbc00fa25a63bc6b8945bc6330f24b4a2fd9de6a433c92a3defc4abbc34acf0d8aba9d0729e49f23f44e9cb4c0c1c0e83adc14257a56cf3c267064a31f755ecfb2fd21db77b9701304250039d899ce03cbafc4cac0d74a2b506e857ef6afe30c09fb194949626144b14fcb3b468f23a474a302b8a419f734265f863d5dca27a835228bc7721f9cf73af29caedec0addd0915484fafd89a0d0bbccb181b4ba95f08d701097fbbeb7d225ed0fc2f695a16e79e83dda70c432d242bb76c2626d9cad7b474a7b2fc5827a77df1b2bba8181a1662cb5bef9089ce31f1f9a7db8abd53447fb3c01e07bb6a831ec9c0ce1aaffe773842229ac30f8c066f6d09de02990334c4d0f3bd77073ac7537f63dfa1a3c9b2ab051013ab5025dcd3f921fd2c37e1c36afe609bfdb4a79d3842773025c0686108d93830b60c49d3de8812df2658e84b8d1cbbe1aaae456d7b529aa3f2ea3fd70882e04c6471e56011956ea3ec2fcb7ec1683fa78d072f7509ac4f4e1b63c0d2fd5c1f23099b43d8e3635cc6019b8ce911ca95d25fc39aa176662dffa2fda1bb862a6f36948b19221f1660a0e137bb9a98892fac01a67ab6bb03bfb75223ceda851bf93b1ce28a241ccad5026a2353a5261cebb9e4f84666589f2dbe1cd2ccbad03ac06849e0e033265e0556a86a8f9b217ed427a5f133b0389d3a99e1bd350bb15cbdaa7f0df16b10fc78dfd517e189b54d8e7022336d8c557957c5fe50aa5bca5c588f1cd826afb3ab1b3805ff37e7c1912ece12eda58dfaa82bd258e323ba4e45d717b20456b0c33a1a20df1db63a65c3b8d86123b316d7f4b229632ee6d167777deb0f268aa8327fbefa22d6c3e00d506550232c06f20a7459d7d02a291511c787b56590402eb6e68d7d11ddf930ccce55af9543443734ed65ba015017e52be83639117f0adb83488f0d659d50096e1adbb32bc3de4267c4b3b105ee370c2c65ff66e19cccbe085186d15e2a78d53f4351c958f814ee077fb06e79c57814fd8545b0f2bd5ee597c3ccb6c452b91112b8162e853e08638eb07e8e221c8efa77830686f000784b39fe5d748d3441dc61bf1017db3e6c70d57a865b76c7da6fe44425b6104041fdeebfd09edae64aad17187a341f96e00e7e88539c3e1fe3145f04d29fdb8397cad3043ac82a2e77fd9dd8fca4a6791cb398a041ce3fc3d26d0ec3016ecc18bc05de4eb225c8af1ce4c2ca946f5f73b6c92ba458500a6a2be9fed31ab1103a1003492955f6e17e857d4211b4f930bd343018cafe1bd51904a54462b80cccd68d67bff8ef9b2e4a0df9c886687fe64878cda61ac4bbf5ffb37d30a0c48c27b7dd87bae236ed390189635ca544a9386e8f084099856d1477b8f4298d92900e536c12ccfed8ca48b2bcdd15a3cc9e33ae40527234bd4013132bbae482d558c6c9a20fc4a1ca253ce95752e630f2368aeed9f7751038f8cd7ca1daedc143ccb4b35b5518df152c356a9db92ed3004e98282a2053ca8fd3aaeb6662944a22aba709569f7bfd0b1e602313f13419182a86177a04f975c9fec6b0f1a9c85c553b7c6e700a7c0120d1e559ba97391e7e1de1b2665e770452a6123df9e327fe41601dbbc793b887c080e959d43e90493ea4c7a016972c0089e0f34402e3d34b44cf9c735092b7d95668ece8eaeef1f5be0ac137ea1b46c1ebc796a4c18ae280202f653789367ec33259ef25634ee7ec8127875e12bf4ad1d8102b3cace90b10e0815a86e5f8c262ea5517ba528bf025d256b624f142b3084e22b4bcc0aa2fda56c663b7f8535c932b6cea91d6c2facd241eace68d17e6bf247947255b03b3e8da97d926edc1f8ecf0951ca601316895433f01a8c12fe4dab68b89abfafce0ffbc431ca0112ab0e9e822bd11845c95e00ccf691a953b9d87b437b43e01df30c56bcf6c548fa04e8ec8e384091374742b2325548ddb639802141815b2f9c9340fed94228087dc0add3366b04a32b8625deb81ac05ee4b443fd4ef139af4362f38fe6d28d4ecf6b73ebc94a146059f797bb2fb16e9706b470dd6c08542ff7660403f535fa8f2bb9d0d718e56a2feb035a066b57180e267633b8813a8f9c58822d9321ddc2f685e84bcddb94696d3ad881ae6774c1f68ee8d606c19cc1b496633cd53ecb471323360e6547df9b5134826b0b6afbc0a084b988327b84a01980acec226651ea71f577b379eb97f37776b9c4cad769f2723eb97932c9f771f78578b300dcd04bff25d04cefe36e85263c1e666241cc40d5983ea7b32085e8077a5e1241ef49e81426e11bd0a939c7783110955af09b450ae86bd19deabe3797d61696f9fd5e002034ecc25cdebed8f73ef5631613f9a7f92329cf8ff7bcf3f27610c83ce18a62e9e7b3312d1a638b087e2a9f5f84e6e70c6a37b0b27d66b49ef4d856a0a7afbef9e960b2548fb89c97f378aaf01e5e6489e589d8a6ab21bd473443bdb9fdf0f37100b0f8c4a5bc49d7032841fde8ac961b0913bff44dc0675c15200897a9feab3c1a5e562c3573a74547d34d1071682fff5c080c227d1a31c8065d5f56062b065bc22fde75bbbcdcf44576bd701f62ceb23e773896572beee50c4d8917a641bb85501d56735a026c0f385ac6abc7611a48ad9220baa1aab7af86d04cd6801d906ec0dcecadaf64c2b931430cfa397cbe70882b9a71e153fd9986c6e078e4e7141abd25734a7171e3d2121693699b828fc2ba783da9565f92feefca5df1958b9d5fcacc1927d5ecd33661120f30ace4d3e34543fb0861e17c1e6764cf4f1bb7da2739c3db4a0480193212792cd21a16466e21a7a10e5967e47fa64790c8b114fdf96e9d989190b7b6edea62b6c1f1772de112cada59f8b7c38a5fae747eb403611ffb17041e9cb25694bdae3c55cae48198244cd669b3dd5850e815549ff4fd42a66298a566ccb7914fa0143413440718d59edc5abb2a59bd017514a704105fa0336d10fe95c99c480c353d0fffb73dd5de79a35ff68f39020782f0d7c777e960ed94b53ed1fddb9f86e2a218b7b249cc49bdc8391e8c5f710399f64783e12f5b584b427c0c3ebcc9fa89366bf1a853e53731d23488ef4c95f0a2f1c2bf1e14d8f9cdd19dd44e1ebe687e6f01c677c93d87c57722f3755f56b9297dd438959d7a15c449519761e6bb0eecb5739859a543da06f54fd1bc50fbb39e8218e32b9c642177e5b92c91dc7941d40f2ed851ebc1973f1b633e9768ad8ba324464c56e7f6c453257e1a63658b961623777be98d5e1982e527d0fbf01cf842315111f36a489c69ef860ed3403d1baa28f0de3b603ee8991a1d9547ba53f8f1cc4516e74d1a50d17811e97a12799b29ed43fba2ea6c822c4ee4a47d82ae30a0276192ab040a5f52314cc53112ae26111ba528883fa4e66ba524ce001bdebef2cfab29b0db288b5bab62e74629624fa241db2c8d0acdb98fddeca45d78915d02f44cb1c0703e77a4d4784b17ee34d376d2b61ff2e92365b8fae92431edaf76bda51b8201317aec5e8c8586e4ca2938fad16e0ee11eb568777393ba875ce7c647f9b651c880df19973b7878319fc75faf27613512bf31b4473f52a39f416556adb2b18bf47edf180f664c70394005a38af152741c027f3c082b9aa274fc5e1b7443bbf666fc07b96d2d969687a2fa604810b32f761d73efb74362e32498a1746f6aea62782d7625d9785938ce14f8d6a8e5b6f2af50840cfc63db9edfb02e7348af58323007820422d7d65fd25461ca9a7addc7f2cfca9acb2e94394ba178e173bcd47ab6bb16c0df1a1f470cd89f7d953553d57c219a18292961e8d9a7491ec8524929f21c3d54d1bac40d6bedeb8fe7f9f3c7068bd5e1b2a1e499a36e4ad025dc5a8557305693af64e62e2c8e811e6acbac5580ccb4039e58e4eea3d08ed60df8549008370f3173bc27e60015fc0949dff5cebe451717cda4ae7eaa0c71fed87ec8215121b4bc223c17cdb5b69954de33b99647d8228702a9f6646930a5bdd786f12897309c227179e0520777df6aa498e2cf35242a6b76a6053774571b6eb9fc0a5b444dc5e869966f5ba1053e3a47f11493d1be874e8986b982cb36ab01da9d253166aa6fe35c942e36cd6c721c8c9a00242d107e60679054aaa2cc3a6d28d3a3f5a4394d71179c9b6a563cdfd5dc8e3bd879dc158781a15c63670f8c2256da0f630caa889a3a66c3f6da7d6846c379e41949ae70fd58ef6a15c8036b7ba18774f151dcab6892fa8ec18cdd32aad57eeddd67837d4b6bcbba6661ec049e3b57ef579b8dfdcdca3941e33bf6e2671f42e2ba58aa01a3a779b431d16c5bd64d3d762fd2ea2ed1a2f7da4d6ccd3c8bbe6a61f9f2f31bd625ee0a8851b8313d431ada2f9ac4165af1eaf59eb5a48b008f087f534ba8522e81eba58ee6c23e134bf710a015ee58538575b11c99348639424d34101ed640cb984652636b2133fe14a7869e4a3228c1490627ff18685c46dbb0325dfa6bded3e9f0af81d4cfa9b060b9eb12a1a8e8e63f76bc015b73bcf2be1abfc062c61697d974efd8f7875abaa91a95c64b0401d07b9741f234cf79b885b367824d7723e86e51cfb2ab58607b7a22971b112a905a095af9b5f0e68506bc9457ea23f53a2dc571016b57e9b7a4a487490e6098b568165224d1c4297047f4aa1f3975c65ad9067ab12024d490fa9236b2523524ecc0834a95f770a1fcc9088057ad29835db6c34e571ed866a7af4d77a977ca7899bbcb87ef628ec476e26df04f9a984321e4db6a6a2c81f34dcc6661834ba044caec8cec0c84ed82881449d453c39629b69f3aba0c6d13b530fedf1c7172d3c2a02b85ea204938705f0df7974db1931d02a7d3772adae745601a37221b4719ccf2dd9301ec72d267f01da836ff0e2a889222164e26d47c66d109f09ac411b1a948c6553311cb8840cd88e90ed2fecd87dcfcc0d04bd8131d28d7cedd79b106422defb24a48558b7f460159a5a0a9dcef67f889b908490249eab967166c3a1b3c3077e7ebec63e7adcfebb9bede45b971386435fadc1061792d5a2efaf6d5c63f9828085149d02e660bc1db7c49cd29680bf235a63b29f1f8f6f8ee8f7ada6ab6e78fe80bc3f09f929c637a138a65113ef931cc79bf56730a9869d7062893974b42d2a8560e8027f03b1960509300f7980c0817fe8eea2e853a74520ba9545e72d1df1204c7a7569a7018134aab2c340b15c8be700165fb17da2e70e7cf724e0f89b8085a4907fed4812182fceee6a5c1362a4a9e1306b6767c9c5c473e92fdf143853140c53586aeec3575e1e3f7fe0c5f37803cc1592c33ec3a89931a27867be4c3a1cd5e7a51a19a3bad16324792cd9a6570e4e87664739a40336523a13c0969e0db1bda5cdbda34719976c9540f4f008b9bea1b1dee13662828ba57b25eb438d827ce5e24f440003b49c7814ade7c2d6db115d4e3fc830464521caafc2e92488d0b305c23bcb354aa409ad32c2a80c8d267ee11465e41383be760a090ee41832ee6e2c805bc8dd30bc50c0ab7dc51734f982a522d931be5bcca7868f1b8edebbc0b1cf320bc6c8dc15ccda9ff4dc87c1cfbc0c22cde3528190dd483eee93c964fbbc15d2edbf6a7ce47727f5bdf1df39ff7ed97e03df2debac2e379e2b8201960d5507a34caa3d7e4cee0b0e98248e17307228f238edda4f3674ddcb41495e6e82819df18d05edbaf87fe0188e2825a9e5ff8569307a2a208770a27498ae16d095ac9e221b97f2759fa523f872fe3f76bc3b2bcb4b48cff9fe0bf9f5d42737e14a5c90003e0b090de64408f96aca8b4c8eda66b5955af971b8642825713e93b4ce83c1ebf6026d8c6c37e4b869ee45e2f9e22a633c12aa7a11506a4aafc7a51857727b8565758877878118e0330f7e3874a1e53128f0b5600241bb4bba300fe1b89186ee39c0d0c3e0b4c401b050f5d16029850ec76c9b8ac18b6c160a50c089353cfe330fbfe52a889a12e6f456eb2708ed8fd7c673f76fbf446165c2882a39b2d8f35e40c5d92046b71afc40e56fcc32a62aa419ed7ac6db223d813881c5a0c5831f97e97434f666be63945f40100e41405993f49707410456a7b7c6c74a40b13c5f4962f0f679c7fead2195c62f2e8aad21ef58885be828531a0af108b4c6d186a7e2c6d477a4c007a9df8c2c9e69e3d24dde5138ab243fa6ec84678d0514a06a72c59938901699712b81b0bb434824abd912856c4c645a07880241413640d51598e7827220fcddc5b90f4cfbe4f4a737aef3b9dbe1e04af73a40c65817f5208b329e226af0dc460da8195bda0d2c4854c60b848b7aa721b8a0c96779a12a57531bb4485c8be14fe8094a676118a9139b506181ca453cc006c2965f9dc4897319134c9d705594c2f8e980c1be778c0cccaeaf7102f076cd451cbdcdad7242c07ddea6454f7d687bcc2dde161451086b51a5bf183b078bf2728b778013150b7575a5c382252055a0f7e75c59dc4f64f0d9f8463e44e69015819bb887e8b8b93d8c75161e4d17308ec1f6b7d5a15fcf91cc446130a987a8b12cd0f2acf412bd2f97e9fadc5a1737931f19ec50d7aa6f33ff721695587a2e122e7dfb26ef058233a50ff1d7dbc28a8a9a763dc2232bd96133cf783a5e1ab781ac72d5cd64f0c5f3b62819c1190f081a1d63fc8f433ac20d84e4f499d73c3dfc0cdff88513213379e6a4d46752bf79fe044f8cff294a6edf32fdc67efe3a9a6025342bfac5ee297dcbdf24bb28f8ce15ea87b68564c2063d7965565bb196cd434b241c6747b25887d1b42b7c1e46e676ec998f04e8b69c6d43fd69467860d6ed549ab5268d5be9dd766477d0007ca5ee6c40d9fbdb3e3c87058c80ff7da284612738df6b424bd85f2a34d72337dfb69686383dc60c0888f84430162ac0f0d87442be61c365f5c877f7ff5ad42d74538863cfe73f918dd857941f80f23a64777f85d687429c5f22446d35f3be1610e35678804c849272c533a89dc35fc2bec206d8600df2729075abf5e8b0ea8e093acf6f8ce3905056018d65ac3b678aa790c58f310ce4fa60335965bd5ebc5d46c90af6a240662e80418343fd63839941bc6f3cf805fef95f255903318cf61b4820a8e68dda62e6d8aa46c8f6c7c57a914dbb81b4e7ad4869f61418da494cc8dfefbc458561590e70a22cb68a8aeee422ae184707e358a418c7cce5e70eb38d7cb40ad03622c4f27afefc0dfbc9dc76d5d0376b17ca2fdab195bd2b8a8ca4dce4500d6b4c3b75b2603bab7c3f6b2270f0def583f71b287050c090f597daf00551d50439ce21e18a3f2df11f9eec6a4602dea90e63c22d50a65ed9b50389a45829011907a00278be7b267bc3ac094a394b24eeec187cf1432af21afa09e1f382350cc747e50910467181151c733fed1ce1cca8d6e8b95a62992cbd8b7f1a0b40a2522db206010c5b544067260a48a84bd39fc179598574023e9651874bf0d3697a385b224b7986c459bae8198d14d6d777cef3684ce8f29231370dacf4f265095ab38720448b3e0e162c5b741bd53ce59c58b7c0203e61ed9733e6741cf215d8bf38117f97ef2dd29887b1b4a31213a0b118ecec7be25db781cc7471e4d510e08870ac410edc3f128dc97a7a5df8c20c6474300dbe144c628816a3daca3c69d4567ec5be0391d18735da81b7aa391f549086a982581e8c7fad6ea4daea42690597f24a020ac548f39551c2a2000c9228e1a4aad78cd0ef8f16b234c3b748f33464875b83d190189b31792fc2046885fa6854767f2d29a2dac7f00ecd35b7e6d51fa09c5520e92bb0a1837b4d45542762d8755f6d07f58dcadc07c838760afb307958f1c6d333b3ceec79921ea546181829de40ab03279208937755fc0e54226b6f898756996c3ca75e3960960eaf2ae5feafd8c3b44294eda92bf8ab537529fe5e63e419058477f9b48d41959e336052d7c98139f8c2d9c92df27bbf6c950818620d42615654b81c85bc20512168b7cd8d7eb986a1d0e5d8f32572bab05546a5db5d617b98b2cddc5a6055495c80e7451a6273d8a23b5306e063fad7e1beeec4c2edb9f1e85bf2077c08e0781f3d2890e4cc74f217dc727ff8e14e36dd13bd13f70e5e3c09e32869ba1b8a03e5209826bc147b6af93d7a85d1cd21744448af80aea7c1140d3443107c10caa8a50b3057565b1e672d151b6a15ac991b430663adee017328e0c8e15aba179fd4696e1bcbcd0a3f472f44589d43b5f7027012518f63af2386a9a445ba7bcbfd7b985a232a4ca62818daa161b459fd08ef7b594dc0ee5b268df794f426fb08cfc6e908fc8ff5fe2ee17009967ebab71168b38a2c3fc8a1a4a39323d2d976554dbcbbf7764e2df84870ef7ff9abf44190c4916c0ce817962d1bc4ae4e1293c8f43149e9f3c67a45d47bd1d8bac68e9aca55fc21f2a593916a71429403ea9aa094939eec6c80648e13c0e4d497311bc2337191971edc74f4f27d8004ef3878e589ee28d6bd91b2e24e9103ba76ade9e9a612a4b53b32edd40af920cef855d259ef0efcc86c76970d84451061157073207ded35e976c657e63d5ff871474cca203c579afc104d6c467252f8012234e6a9578fd5fb384f70aca3bd7b28f8b219855716823abf8974cbb80e0d9e72877097fc7b8812e43e8994d5c62066fc1b973acc329711474f2d2139217da913be9fbad7d4d8120969f70452543bffac0a14a2c782506156151c6f0701d3437036be77b3a3519498e21e3d2c3bcf06cd619e215492619cd1f1f2921ee4f1646d2422145ea0d082235b836e5fbc8c5bb27054382f98a233ad4d0a00ece2540df21e0ede99cfac694177e644e20cfe3baad2214ff775ef7b5dd0d5cdd5ecd961d54c0f4cea119043934ad4d71dc472c57907b987534e5f4f3bfd4f0f2aece11ff65ad605ecdd4c743bd001b883b4e4d975349e96ec036b8765a23713b4c1bd1cec3b52694204992080ab11096e32bf939469139bd572c0c97d4612f993226a7100e1ce01bf3a2bae95a9261586dd08a54e7cc955760c362b510699e137ba4c80c9c1bf7ed94d2d2ada8c9254d1e3e88fd978c8a1d09d0925b562e729e3d060d743644332652db5d287782dd725dc1e726c18e9487f5797a053fc7dc5069ee68ac0f82703b2375b4f5131365fed9f8e9613eded9b35f5b3a0e11127d0d4c9ac846705f05c776242fac5accb9c54f73dd9ba1bb4c2b9d4dd0f4b0c66e205fd61a1b7ddf018f8963afb8b6290db09d6eb1f79f94e21cd57e9f826ac49ab5c266020b46589e056bc94cd14b39be412fa741927260203d35a33e9e3b1de39b8cd2ae0218757b963a52f7757202cd83308a38cbd02b629420e9a212efe1ce84e8716604355792ada519853bbcd210a85ba0185fdf69169375f52e34466d0d667ae555becb9d7167719345f2d988ba27d06d493ef15d808b93d65469fde183ccd52d1da056e6b647151f94f86e6f211a30f1e41735a8df5f450c899e02a3def68ce61755cb8f0743f8782272b5165ea62ec0c33bf2c9b2807a3d361cf2dec6041467f81c3e79338f4461d7648237869223b008a04da5fd5fdade508c879354d3add7b045088c94d1b8c3e8080a717c34cab162859aca41b03d39a04f2e6ebd1a8d98e7a87614bd99e59adacaedd6c9e45d65f47b4ff1c4792a244c4a41b39093340c287b53a7527ae0c592664765b2a2096058afbe67a824394197fd0b042a0a65f372d9fcef9e4c12f38a9616289d7cd6a233174dec530b0735254910adf43e3d278d3a1537bae0f555bc9477541526e6cac59df7b6ff38d2174eca2dd37388a49f4c75b8f7a52eb9aafefeaa0a6f799f523f31e604ccb042f5d2a2856e86c1d0bdbfab55a17c36c8e826a6cbe6cd4b9bdfb0d4bda230484ca5d975f81ac7df2f5450837af3a38c5f7f7997673e5557d7b766b088c3fe34cbd4553fe0dd2595faae14096b477d02780bac8d0aa9e07d950ebcfcfda65dfbff461866ac95ac0849bfc9fe817ff4d35c906c4b3d11c24d04225d28dff43302295451ae9cbf3702fb13b42897da34ce084918a25de9d08fe3559b6c8f428ee223a17f612267fc197a31a5c88b32d88578190f8a832f5bd144940ad77aa630cc51f129aeffdbdddc2f7661750f184a9085a2d446a4a5f41437cd600038ad65aa3dd84566ba3d993fe290ef65f9e143378cc68dc07893d0bd3183c72e10a1892f4f46448562d8e4c4287d163fda4f0b9ec5baa086d41a7afddb5a45ca21623d41301655d0a5e38a66a8aadb92f842689ae4bda694e55c93c45c5776f50217e89acf6153f66819a312417710219cb64d90c1f8c86e432e9ba8cc1743f74b507e176640b2492c61e53e22e377a1803827e868e6182ed6f675bcb567010658218a9a96c9c1080e64770929d68c43296ef32c43fea6180f3cf8f104786239b3bf8d7bb6598014f745819d428df46e1b33528bdb5ba87e449f364bbce04fd8262f93b4e895412684593c7cfab0891adc5f1ac395686b59efcf4aa3f2f7785e7209ce4dbb18d07aa43d856ac204f0665bb66d93d4df6443098052c6f13be96b9e4912f351343bdb691123ef91d86da4f12694967720a3f22b6b095872f0efae20bdef0fbd353d8a4fbc74d7a7a1f7301e547da304e50aa9acb13a5565384f1976c8f532817806abffbdc9ba710a55c910c293c7c115c728831b58af03544df7dd3c50732b9f43d5a691b5eb91507bb7868df28f1cfb8ef81aa31c24028f18de7841363516cd689290acfa3ea35fb3a32d5a290a6e5b27a48a0b016cb372fc968a11472d6a0502d57fe84df44838aa4abea503f2720d867079066a818966f0f6741069d22f75d5cefd1d174fd434aec693f0968c2bfe235a70476b10c4330e6963525c5262271dee7e362f8f07485caa7ad78011790de850b5290f3c48a3213ad55d3ea6c95ea1be19be5f11fa0a3aa6abeb323c89adca925b854ee28cb3a6da6aeefe7607d67491aaa7565a5e8ab6bbd27ba0f7670a708ab4c4aa542f029e9ea7a8306bb46ad855f334577b1cca9c2b054aac76e2d7f57782464cd5aa116671c26a3d5992bfa8d0b491faec2064f28471e0e1e3fcc95e47be54440912a27081e426e691ee482f5202b1fb11222d1790ed58b2d76a19106cc49956f4d3fabdbd234814ea0d6e35f2856d7317dfdbc1c77db6b51f187dca2182b46f07bca6dfb9f693caecf83186c4f5f51ab0130b92a9822afa6e822f5f1174cbf58b9aa2354c668002b439c19b3ee08dd6c310df28953c8e30cc10fc0eff60c388c168a03739051aa22cb1c3fab296402a982d10d653f233245afab2def4645d6c77cd3941f4fa0500d2941ca77c08a0e8d8018be81b9e48a3b3978421e9390890e240d54d26c09e46b1e535aa6356a7bcf635917ec79684ca738cc20932dca74cc51a74e3da65fef8833d0216a9dd11e8e6e5fbc7dc6b7258d627323199766b678d1acc66aaf343f872fed8b59133ef3683679dc091b8256721d3975966b450d166edaedd32981250005b5a16619f5c00b18bf5160ce36679af9576b066c5794cd5702570711088313dca099f90c5ce1bc8f8f56eb705d6334e55cf62350d91c424275a806ff2307480bf3d8c271a59fea0da6330d9bd8a90171b3bd97c80fedbe8f4b7dd7b9c447c23dd4c35bba51ad39b3e46b205ee3f3f93610c8baf963eb2ed0ad8ccd85c526dba668186e54a7e50bba7887b18f72c33d32de113f2db782e9e8a68d125843b138522c3a2f7e08f066dc7f3d7b15bb2b1b211bd8a3f367f33c13269c5e41b9580cb9ec6254d953220e55d3c5565841c8bae5b90cb89d6b8f5da7eb3d439e2578c993e798acd12c8bf72b09499cf7324aa2eae82167ffc18a2dad3d95a061bfd2b6ee6c35ef250d954ecc1e52d0de0713ad4c1d32d1ffe110b4a2255877969b54609ad3abe50bf27cf61ef231bc0065b79eed1fa7ae66a994e207f6bfaebec8185a963ef9d176387b9bf5b1cded92cf62f3694cc0ca1a3687f1b013d798f4cb805f20fd4cbec84be9531310f3f1e985b255811f709b8309e05ef90f1d8cefc8350624c8a6cf6f4a2bfbbdaccfcacbc926b75a37ec476113f9775c0d42a31c88fc81f6b3bf977077d75c77726fc6c3eb75e70e0681d0ce9577c31763b6bd43aad05053359dd350462a1f5a4817c536a9525c2d3b5830a03666f61b2cae33d2424c657a98b1d78cd7ee13d3a6fcdd18534a82ab8015026833cb81f71509dbf0029c8d42d6faeb0ff743c2e9f1575b6a3fc17732a1ff33e8642b9f3197d2272eb172857807fd0a06a7a0e23a82e67c7085d30104ea27e15dc3eeb2936f10bc0d9570854efd446725bd450ed32c29f7bfe9946a411c7d847d5828158254d82ad66821ccb977f35d3f89e055c9ed6c7fc5243b7d2759eaae068e7f43e8de0527e2d67303fb41fab5ae87a91a5990665215e2b934f3cac18575c77d0c6808cb4b402365f26cf6f1a7eb2949c4873ee033007dd7866a5a6487e09e71fcec4b82cf3dbd347be4fced82efcb3a33d428cfc8ee6aced6034b751450eb66154cbcab9df03c1d0037a8f5c54d84476af6e4a1c0fe75bb9d38362ff49c411ca07292c457f1c5d24aaa475e5634b530a948b8234f00c544a7171af788f3b25cf139a8a673e992de27afe24c4a860de84e163d320965fc6debc6c55df94229780f8a32e521c4b369b04f5d98200efc9dba0ef5e3f238ec74418ffdffdb07840d7c08be4de7a81953e4f6ccb39338f87ac7d97f83a95ac75d21d92a7b26e7b8a0885a39cfd1c6b9c7897a11f44cbf5a5a2db95c53be3216f6ceb3d5232f75eb8b3f8f180aeba6cf921dcf39239a1468af28fabc8b5cf4f55391cde07f5a94eeb40712aeafacad1e9718b93d1dec2e68b883d7cd958d2393b2ce851098a91d6d7230a3a96786f3397bc72af99e2f42e463032c1852973becd7cdd4211c2a2e9da37e9939542b9620fafcb01cf51de1c41b6174220e9ba0f25634f4ae1b15794ed8d8b88e81b23c24d3502d9396020f16afe9a6dd3a320912ba631b710a1c6d28308d3e9c4cccac8ba740b0d2d5da8d4a9f81beaeffdbc0ebb8dea51bc1d3a08edc10128d5c90afc3983a0348bd5ee490b5f34b99424aad36bce2ec7b9c53bece3ce18eb57dd06b7859038d49392ff82e24345aef8e43c045ec92f9afae567392e79f35509ad8db28fbaf6eea017edcb71e2110bf7f5b0c4a6dd8e755213efa036b69cf6809114911beb94d70e2414f5e3453c340198f9061e46fabb123c11436595ddb2b65ac3bca6485bbd2367f99c615d87a8172777db06a4149de6c0e7be8be3b7357ab8562b119ac056032384a4c01d1cb30f4def024d0b5669e26da3d84b841b7c7cb8eb581ac09977adea13c68426817f0588374100621d555ac76b1a4035d37dd11d6713cac9222da52b1839d210a60bd93ce7e5b7774089d8f56337ad6feecae6e7b7e0fd1957e45bacf79d79aaa08f20aa81861e36e4fc48de5a3d473d1adc06195781bb378845a94533ca33178a261bcad1ac835586ae9a6e039735aac2fd68bdf5aee60c5c0c6fc5f27aa6ad2176b210c7fb4ba9ea94b3ef5e5a2b8d533a02a184d5638fe0f8848bc508820ff71c6546bb9dfa1234ef3437cc205154a4974cb35077bfa52f421a2e6b3ae7e535f832ec72eb6d50b80388a79bc545865abef1e5de72089bd4e2ee6428f4c5899633afb2f0504ea1e9dc70c3208c48ad622b3f54793f4b442006c51186e6514728201e5c1f3cff088cd0f9c35631c46e68521a0292a741d774525b128f893f7e4535a95233774de903b45fdd2e1c115dfca3849eeefae8ee4373513a61c085844537fa4c4801dece56ee137b2b3e42a3a719206080e2522c6522a35e1f4358bbd542340ac29d33ebf171fed0c11c6021f10e5014b0b736e6b55c45f47abe323d8f06db74c3f892f448f36ecbd043f3b6d175d282c1cf3b5e6191f16b89af7724f1a2ad8443b0f281290caee6f167d751b7713c0523da13fe7f6699f0193952114908de30ce592a92a926b5e14f8893469f03a2a380b2ffdb7e0d721d16a5af04a2db58984828db1a146fec84c9a14a98dd6ca726e3b9625d1cdf26eeeda9db2b8886b8ad20e14504f231f988c98d9b371cf79a8ae94d06b8ef7de4947b8539ad292d9d3d5d7f1ac5c60b2f46124b5856309263f126919959644e4efd2782e4ff8020103036b3d9076b09d26c5de3fd377858d394c568d676b20d0848bd42e3446a6cc5b2ea8575df628e2ef072de7e924420652abc127d3d767c97e5dc86dea48694a5076405e8ff696b018b3","shares":"000000000000000000000000000000000000009972b8e23333517946640100002800f36c3d3261f7cd31405e9d13fadd290715693bbacf60e17e4383625b7a82953d771a726e572d532ee271e3b26cc90309e84a1a3edc2f1a3efc61e8f05f4d07537768c9e5a3db4d1f1e65a2e7ea69f55577a519446ecbde0aba056b0e74f1471b6451bc69c622841b1ab43ad6aca29087301699ab10ff51ac095a450954ce0dca1ad1a57fdabbc00fa25a63bc6b8945bc6330f24b4a2fd9de6a433c92a3defc4abbc34acf0d8aba9d0729e49f23f44e9cb4c0c1c0e83adc14257a56cf3c267064a31f755ecfb2fd21db77b9701304250039d899ce03cbafc4cac0d74a2b506e857ef6afe30c09fb194949626144b14fcb3b468f23a474a302b8a419f734265f863d5dca27a835228bc7721f9cf73af29caedec0addd0915484fafd89a0d0bbccb181b4ba95f08d701097fbbeb7d225ed0fc2f695a16e79e83dda70c432d242bb76c2626d9cad7b474a7b2fc5827a77df1b2bba8181a1662cb5bef9089ce31f1f9a7db8abd53447fb3c01e07bb6a831ec9c0ce1aaffe773842229ac30f8c066f6d09de02990334c4d0f3bd77073ac7537f63dfa1a3c9b2ab051013ab5025dcd3f921fd2c37e1c36afe609bfdb4a79d3842773025c0686108d93830b60c49d3de8812df2658e84b8d1cbbe1aaae456d7b529aa3f2ea3fd70882e04c6471e560000000000000000000000000000000000000009972b8e23333517946640011956ea3ec2fcb7ec1683fa78d072f7509ac4f4e1b63c0d2fd5c1f23099b43d8e3635cc6019b8ce911ca95d25fc39aa176662dffa2fda1bb862a6f36948b19221f1660a0e137bb9a98892fac01a67ab6bb03bfb75223ceda851bf93b1ce28a241ccad5026a2353a5261cebb9e4f84666589f2dbe1cd2ccbad03ac06849e0e033265e0556a86a8f9b217ed427a5f133b0389d3a99e1bd350bb15cbdaa7f0df16b10fc78dfd517e189b54d8e7022336d8c557957c5fe50aa5bca5c588f1cd826afb3ab1b3805ff37e7c1912ece12eda58dfaa82bd258e323ba4e45d717b20456b0c33a1a20df1db63a65c3b8d86123b316d7f4b229632ee6d167777deb0f268aa8327fbefa22d6c3e00d506550232c06f20a7459d7d02a291511c787b56590402eb6e68d7d11ddf930ccce55af9543443734ed65ba015017e52be83639117f0adb83488f0d659d50096e1adbb32bc3de4267c4b3b105ee370c2c65ff66e19cccbe085186d15e2a78d53f4351c958f814ee077fb06e79c57814fd8545b0f2bd5ee597c3ccb6c452b91112b8162e853e08638eb07e8e221c8efa77830686f000784b39fe5d748d3441dc61bf1017db3e6c70d57a865b76c7da6fe44425b6104041fdeebfd09edae64aad17187a341f96e00e7e88539c3e1fe3145f04d29fdb8397cad304000000000000000000000000000000000000009972b8e2333351794664003ac82a2e77fd9dd8fca4a6791cb398a041ce3fc3d26d0ec3016ecc18bc05de4eb225c8af1ce4c2ca946f5f73b6c92ba458500a6a2be9fed31ab1103a1003492955f6e17e857d4211b4f930bd343018cafe1bd51904a54462b80cccd68d67bff8ef9b2e4a0df9c886687fe64878cda61ac4bbf5ffb37d30a0c48c27b7dd87bae236ed390189635ca544a9386e8f084099856d1477b8f4298d92900e536c12ccfed8ca48b2bcdd15a3cc9e33ae40527234bd4013132bbae482d558c6c9a20fc4a1ca253ce95752e630f2368aeed9f7751038f8cd7ca1daedc143ccb4b35b5518df152c356a9db92ed3004e98282a2053ca8fd3aaeb6662944a22aba709569f7bfd0b1e602313f13419182a86177a04f975c9fec6b0f1a9c85c553b7c6e700a7c0120d1e559ba97391e7e1de1b2665e770452a6123df9e327fe41601dbbc793b887c080e959d43e90493ea4c7a016972c0089e0f34402e3d34b44cf9c735092b7d95668ece8eaeef1f5be0ac137ea1b46c1ebc796a4c18ae280202f653789367ec33259ef25634ee7ec8127875e12bf4ad1d8102b3cace90b10e0815a86e5f8c262ea5517ba528bf025d256b624f142b3084e22b4bcc0aa2fda56c663b7f8535c932b6cea91d6c2facd241eace68d17e6bf247947255b03b3e8da97d926edc1f8ecf095000000000000000000000000000000000000009972b8e2333351794664001ca601316895433f01a8c12fe4dab68b89abfafce0ffbc431ca0112ab0e9e822bd11845c95e00ccf691a953b9d87b437b43e01df30c56bcf6c548fa04e8ec8e384091374742b2325548ddb639802141815b2f9c9340fed94228087dc0add3366b04a32b8625deb81ac05ee4b443fd4ef139af4362f38fe6d28d4ecf6b73ebc94a146059f797bb2fb16e9706b470dd6c08542ff7660403f535fa8f2bb9d0d718e56a2feb035a066b57180e267633b8813a8f9c58822d9321ddc2f685e84bcddb94696d3ad881ae6774c1f68ee8d606c19cc1b496633cd53ecb471323360e6547df9b5134826b0b6afbc0a084b988327b84a01980acec226651ea71f577b379eb97f37776b9c4cad769f2723eb97932c9f771f78578b300dcd04bff25d04cefe36e85263c1e666241cc40d5983ea7b32085e8077a5e1241ef49e81426e11bd0a939c7783110955af09b450ae86bd19deabe3797d61696f9fd5e002034ecc25cdebed8f73ef5631613f9a7f92329cf8ff7bcf3f27610c83ce18a62e9e7b3312d1a638b087e2a9f5f84e6e70c6a37b0b27d66b49ef4d856a0a7afbef9e960b2548fb89c97f378aaf01e5e6489e589d8a6ab21bd473443bdb9fdf0f37100b0f8c4a5bc49d7032841fde8ac961b0913bff44dc0675c15200897a9feab3c1a5e562c3573a74000000000000000000000000000000000000009972b8e233335179466400547d34d1071682fff5c080c227d1a31c8065d5f56062b065bc22fde75bbbcdcf44576bd701f62ceb23e773896572beee50c4d8917a641bb85501d56735a026c0f385ac6abc7611a48ad9220baa1aab7af86d04cd6801d906ec0dcecadaf64c2b931430cfa397cbe70882b9a71e153fd9986c6e078e4e7141abd25734a7171e3d2121693699b828fc2ba783da9565f92feefca5df1958b9d5fcacc1927d5ecd33661120f30ace4d3e34543fb0861e17c1e6764cf4f1bb7da2739c3db4a0480193212792cd21a16466e21a7a10e5967e47fa64790c8b114fdf96e9d989190b7b6edea62b6c1f1772de112cada59f8b7c38a5fae747eb403611ffb17041e9cb25694bdae3c55cae48198244cd669b3dd5850e815549ff4fd42a66298a566ccb7914fa0143413440718d59edc5abb2a59bd017514a704105fa0336d10fe95c99c480c353d0fffb73dd5de79a35ff68f39020782f0d7c777e960ed94b53ed1fddb9f86e2a218b7b249cc49bdc8391e8c5f710399f64783e12f5b584b427c0c3ebcc9fa89366bf1a853e53731d23488ef4c95f0a2f1c2bf1e14d8f9cdd19dd44e1ebe687e6f01c677c93d87c57722f3755f56b9297dd438959d7a15c449519761e6bb0eecb5739859a543da06f54fd1bc50fbb39e8218e32b9c642177e5b92c91dc7941d40000000000000000000000000000000000000009972b8e233335179466400f2ed851ebc1973f1b633e9768ad8ba324464c56e7f6c453257e1a63658b961623777be98d5e1982e527d0fbf01cf842315111f36a489c69ef860ed3403d1baa28f0de3b603ee8991a1d9547ba53f8f1cc4516e74d1a50d17811e97a12799b29ed43fba2ea6c822c4ee4a47d82ae30a0276192ab040a5f52314cc53112ae26111ba528883fa4e66ba524ce001bdebef2cfab29b0db288b5bab62e74629624fa241db2c8d0acdb98fddeca45d78915d02f44cb1c0703e77a4d4784b17ee34d376d2b61ff2e92365b8fae92431edaf76bda51b8201317aec5e8c8586e4ca2938fad16e0ee11eb568777393ba875ce7c647f9b651c880df19973b7878319fc75faf27613512bf31b4473f52a39f416556adb2b18bf47edf180f664c70394005a38af152741c027f3c082b9aa274fc5e1b7443bbf666fc07b96d2d969687a2fa604810b32f761d73efb74362e32498a1746f6aea62782d7625d9785938ce14f8d6a8e5b6f2af50840cfc63db9edfb02e7348af58323007820422d7d65fd25461ca9a7addc7f2cfca9acb2e94394ba178e173bcd47ab6bb16c0df1a1f470cd89f7d953553d57c219a18292961e8d9a7491ec8524929f21c3d54d1bac40d6bedeb8fe7f9f3c7068bd5e1b2a1e499a36e4ad025dc5a8557305693af64e62e2c8e811e6acbac5000000000000000000000000000000000000009972b8e233335179466400580ccb4039e58e4eea3d08ed60df8549008370f3173bc27e60015fc0949dff5cebe451717cda4ae7eaa0c71fed87ec8215121b4bc223c17cdb5b69954de33b99647d8228702a9f6646930a5bdd786f12897309c227179e0520777df6aa498e2cf35242a6b76a6053774571b6eb9fc0a5b444dc5e869966f5ba1053e3a47f11493d1be874e8986b982cb36ab01da9d253166aa6fe35c942e36cd6c721c8c9a00242d107e60679054aaa2cc3a6d28d3a3f5a4394d71179c9b6a563cdfd5dc8e3bd879dc158781a15c63670f8c2256da0f630caa889a3a66c3f6da7d6846c379e41949ae70fd58ef6a15c8036b7ba18774f151dcab6892fa8ec18cdd32aad57eeddd67837d4b6bcbba6661ec049e3b57ef579b8dfdcdca3941e33bf6e2671f42e2ba58aa01a3a779b431d16c5bd64d3d762fd2ea2ed1a2f7da4d6ccd3c8bbe6a61f9f2f31bd625ee0a8851b8313d431ada2f9ac4165af1eaf59eb5a48b008f087f534ba8522e81eba58ee6c23e134bf710a015ee58538575b11c99348639424d34101ed640cb984652636b2133fe14a7869e4a3228c1490627ff18685c46dbb0325dfa6bded3e9f0af81d4cfa9b060b9eb12a1a8e8e63f76bc015b73bcf2be1abfc062c61697d974efd8f7875abaa91a95c64b0401d07b9741f234cf79b885b367824d7000000000000000000000000000000000000009972b8e233335179466400723e86e51cfb2ab58607b7a22971b112a905a095af9b5f0e68506bc9457ea23f53a2dc571016b57e9b7a4a487490e6098b568165224d1c4297047f4aa1f3975c65ad9067ab12024d490fa9236b2523524ecc0834a95f770a1fcc9088057ad29835db6c34e571ed866a7af4d77a977ca7899bbcb87ef628ec476e26df04f9a984321e4db6a6a2c81f34dcc6661834ba044caec8cec0c84ed82881449d453c39629b69f3aba0c6d13b530fedf1c7172d3c2a02b85ea204938705f0df7974db1931d02a7d3772adae745601a37221b4719ccf2dd9301ec72d267f01da836ff0e2a889222164e26d47c66d109f09ac411b1a948c6553311cb8840cd88e90ed2fecd87dcfcc0d04bd8131d28d7cedd79b106422defb24a48558b7f460159a5a0a9dcef67f889b908490249eab967166c3a1b3c3077e7ebec63e7adcfebb9bede45b971386435fadc1061792d5a2efaf6d5c63f9828085149d02e660bc1db7c49cd29680bf235a63b29f1f8f6f8ee8f7ada6ab6e78fe80bc3f09f929c637a138a65113ef931cc79bf56730a9869d7062893974b42d2a8560e8027f03b1960509300f7980c0817fe8eea2e853a74520ba9545e72d1df1204c7a7569a7018134aab2c340b15c8be700165fb17da2e70e7cf724e0f89b8085a4907fed4812182fceee6a5c1362000000000000000000000000000000000000009972b8e233335179466400a4a9e1306b6767c9c5c473e92fdf143853140c53586aeec3575e1e3f7fe0c5f37803cc1592c33ec3a89931a27867be4c3a1cd5e7a51a19a3bad16324792cd9a6570e4e87664739a40336523a13c0969e0db1bda5cdbda34719976c9540f4f008b9bea1b1dee13662828ba57b25eb438d827ce5e24f440003b49c7814ade7c2d6db115d4e3fc830464521caafc2e92488d0b305c23bcb354aa409ad32c2a80c8d267ee11465e41383be760a090ee41832ee6e2c805bc8dd30bc50c0ab7dc51734f982a522d931be5bcca7868f1b8edebbc0b1cf320bc6c8dc15ccda9ff4dc87c1cfbc0c22cde3528190dd483eee93c964fbbc15d2edbf6a7ce47727f5bdf1df39ff7ed97e03df2debac2e379e2b8201960d5507a34caa3d7e4cee0b0e98248e17307228f238edda4f3674ddcb41495e6e82819df18d05edbaf87fe0188e2825a9e5ff8569307a2a208770a27498ae16d095ac9e221b97f2759fa523f872fe3f76bc3b2bcb4b48cff9fe0bf9f5d42737e14a5c90003e0b090de64408f96aca8b4c8eda66b5955af971b8642825713e93b4ce83c1ebf6026d8c6c37e4b869ee45e2f9e22a633c12aa7a11506a4aafc7a51857727b8565758877878118e0330f7e3874a1e53128f0b5600241bb4bba300fe1b89186ee39c0d0c3e0b4c401b050f5d16029000000000000000000000000000000000000009972b8e233335179466400850ec76c9b8ac18b6c160a50c089353cfe330fbfe52a889a12e6f456eb2708ed8fd7c673f76fbf446165c2882a39b2d8f35e40c5d92046b71afc40e56fcc32a62aa419ed7ac6db223d813881c5a0c5831f97e97434f666be63945f40100e41405993f49707410456a7b7c6c74a40b13c5f4962f0f679c7fead2195c62f2e8aad21ef58885be828531a0af108b4c6d186a7e2c6d477a4c007a9df8c2c9e69e3d24dde5138ab243fa6ec84678d0514a06a72c59938901699712b81b0bb434824abd912856c4c645a07880241413640d51598e7827220fcddc5b90f4cfbe4f4a737aef3b9dbe1e04af73a40c65817f5208b329e226af0dc460da8195bda0d2c4854c60b848b7aa721b8a0c96779a12a57531bb4485c8be14fe8094a676118a9139b506181ca453cc006c2965f9dc4897319134c9d705594c2f8e980c1be778c0cccaeaf7102f076cd451cbdcdad7242c07ddea6454f7d687bcc2dde161451086b51a5bf183b078bf2728b778013150b7575a5c382252055a0f7e75c59dc4f64f0d9f8463e44e69015819bb887e8b8b93d8c75161e4d17308ec1f6b7d5a15fcf91cc446130a987a8b12cd0f2acf412bd2f97e9fadc5a1737931f19ec50d7aa6f33ff721695587a2e122e7dfb26ef058233a50ff1d7dbc28a8a9a763dc2232bd96133cf78000000000000000000000000000000000000009972b8e2333351794664003a5e1ab781ac72d5cd64f0c5f3b62819c1190f081a1d63fc8f433ac20d84e4f499d73c3dfc0cdff88513213379e6a4d46752bf79fe044f8cff294a6edf32fdc67efe3a9a6025342bfac5ee297dcbdf24bb28f8ce15ea87b68564c2063d7965565bb196cd434b241c6747b25887d1b42b7c1e46e676ec998f04e8b69c6d43fd69467860d6ed549ab5268d5be9dd766477d0007ca5ee6c40d9fbdb3e3c87058c80ff7da284612738df6b424bd85f2a34d72337dfb69686383dc60c0888f84430162ac0f0d87442be61c365f5c877f7ff5ad42d74538863cfe73f918dd857941f80f23a64777f85d687429c5f22446d35f3be1610e35678804c849272c533a89dc35fc2bec206d8600df2729075abf5e8b0ea8e093acf6f8ce3905056018d65ac3b678aa790c58f310ce4fa60335965bd5ebc5d46c90af6a240662e80418343fd63839941bc6f3cf805fef95f255903318cf61b4820a8e68dda62e6d8aa46c8f6c7c57a914dbb81b4e7ad4869f61418da494cc8dfefbc458561590e70a22cb68a8aeee422ae184707e358a418c7cce5e70eb38d7cb40ad03622c4f27afefc0dfbc9dc76d5d0376b17ca2fdab195bd2b8a8ca4dce4500d6b4c3b75b2603bab7c3f6b2270f0def583f71b287050c090f597daf00551d50439ce21e18a3f2df11f9eec6a46000000000000000000000000000000000000009972b8e23333517946640002dea90e63c22d50a65ed9b50389a45829011907a00278be7b267bc3ac094a394b24eeec187cf1432af21afa09e1f382350cc747e50910467181151c733fed1ce1cca8d6e8b95a62992cbd8b7f1a0b40a2522db206010c5b544067260a48a84bd39fc179598574023e9651874bf0d3697a385b224b7986c459bae8198d14d6d777cef3684ce8f29231370dacf4f265095ab38720448b3e0e162c5b741bd53ce59c58b7c0203e61ed9733e6741cf215d8bf38117f97ef2dd29887b1b4a31213a0b118ecec7be25db781cc7471e4d510e08870ac410edc3f128dc97a7a5df8c20c6474300dbe144c628816a3daca3c69d4567ec5be0391d18735da81b7aa391f549086a982581e8c7fad6ea4daea42690597f24a020ac548f39551c2a2000c9228e1a4aad78cd0ef8f16b234c3b748f33464875b83d190189b31792fc2046885fa6854767f2d29a2dac7f00ecd35b7e6d51fa09c5520e92bb0a1837b4d45542762d8755f6d07f58dcadc07c838760afb307958f1c6d333b3ceec79921ea546181829de40ab03279208937755fc0e54226b6f898756996c3ca75e3960960eaf2ae5feafd8c3b44294eda92bf8ab537529fe5e63e419058477f9b48d41959e336052d7c98139f8c2d9c92df27bbf6c950818620d42615654b81c85bc20512168b7cd8d7e000000000000000000000000000000000000009972b8e233335179466400b986a1d0e5d8f32572bab05546a5db5d617b98b2cddc5a6055495c80e7451a6273d8a23b5306e063fad7e1beeec4c2edb9f1e85bf2077c08e0781f3d2890e4cc74f217dc727ff8e14e36dd13bd13f70e5e3c09e32869ba1b8a03e5209826bc147b6af93d7a85d1cd21744448af80aea7c1140d3443107c10caa8a50b3057565b1e672d151b6a15ac991b430663adee017328e0c8e15aba179fd4696e1bcbcd0a3f472f44589d43b5f7027012518f63af2386a9a445ba7bcbfd7b985a232a4ca62818daa161b459fd08ef7b594dc0ee5b268df794f426fb08cfc6e908fc8ff5fe2ee17009967ebab71168b38a2c3fc8a1a4a39323d2d976554dbcbbf7764e2df84870ef7ff9abf44190c4916c0ce817962d1bc4ae4e1293c8f43149e9f3c67a45d47bd1d8bac68e9aca55fc21f2a593916a71429403ea9aa094939eec6c80648e13c0e4d497311bc2337191971edc74f4f27d8004ef3878e589ee28d6bd91b2e24e9103ba76ade9e9a612a4b53b32edd40af920cef855d259ef0efcc86c76970d84451061157073207ded35e976c657e63d5ff871474cca203c579afc104d6c467252f8012234e6a9578fd5fb384f70aca3bd7b28f8b219855716823abf8974cbb80e0d9e72877097fc7b8812e43e8994d5c62066fc1b973acc329711474f2d213921000000000000000000000000000000000000009972b8e2333351794664007da913be9fbad7d4d8120969f70452543bffac0a14a2c782506156151c6f0701d3437036be77b3a3519498e21e3d2c3bcf06cd619e215492619cd1f1f2921ee4f1646d2422145ea0d082235b836e5fbc8c5bb27054382f98a233ad4d0a00ece2540df21e0ede99cfac694177e644e20cfe3baad2214ff775ef7b5dd0d5cdd5ecd961d54c0f4cea119043934ad4d71dc472c57907b987534e5f4f3bfd4f0f2aece11ff65ad605ecdd4c743bd001b883b4e4d975349e96ec036b8765a23713b4c1bd1cec3b52694204992080ab11096e32bf939469139bd572c0c97d4612f993226a7100e1ce01bf3a2bae95a9261586dd08a54e7cc955760c362b510699e137ba4c80c9c1bf7ed94d2d2ada8c9254d1e3e88fd978c8a1d09d0925b562e729e3d060d743644332652db5d287782dd725dc1e726c18e9487f5797a053fc7dc5069ee68ac0f82703b2375b4f5131365fed9f8e9613eded9b35f5b3a0e11127d0d4c9ac846705f05c776242fac5accb9c54f73dd9ba1bb4c2b9d4dd0f4b0c66e205fd61a1b7ddf018f8963afb8b6290db09d6eb1f79f94e21cd57e9f826ac49ab5c266020b46589e056bc94cd14b39be412fa741927260203d35a33e9e3b1de39b8cd2ae0218757b963a52f7757202cd83308a38cbd02b629420e9a212efe1ce84e871660000000000000000000000000000000000000009972b8e2333351794664004355792ada519853bbcd210a85ba0185fdf69169375f52e34466d0d667ae555becb9d7167719345f2d988ba27d06d493ef15d808b93d65469fde183ccd52d1da056e6b647151f94f86e6f211a30f1e41735a8df5f450c899e02a3def68ce61755cb8f0743f8782272b5165ea62ec0c33bf2c9b2807a3d361cf2dec6041467f81c3e79338f4461d7648237869223b008a04da5fd5fdade508c879354d3add7b045088c94d1b8c3e8080a717c34cab162859aca41b03d39a04f2e6ebd1a8d98e7a87614bd99e59adacaedd6c9e45d65f47b4ff1c4792a244c4a41b39093340c287b53a7527ae0c592664765b2a2096058afbe67a824394197fd0b042a0a65f372d9fcef9e4c12f38a9616289d7cd6a233174dec530b0735254910adf43e3d278d3a1537bae0f555bc9477541526e6cac59df7b6ff38d2174eca2dd37388a49f4c75b8f7a52eb9aafefeaa0a6f799f523f31e604ccb042f5d2a2856e86c1d0bdbfab55a17c36c8e826a6cbe6cd4b9bdfb0d4bda230484ca5d975f81ac7df2f5450837af3a38c5f7f7997673e5557d7b766b088c3fe34cbd4553fe0dd2595faae14096b477d02780bac8d0aa9e07d950ebcfcfda65dfbff461866ac95ac0849bfc9fe817ff4d35c906c4b3d11c24d04225d28dff43302295451ae9cbf3702fb13b42897d000000000000000000000000000000000000009972b8e233335179466400a34ce084918a25de9d08fe3559b6c8f428ee223a17f612267fc197a31a5c88b32d88578190f8a832f5bd144940ad77aa630cc51f129aeffdbdddc2f7661750f184a9085a2d446a4a5f41437cd600038ad65aa3dd84566ba3d993fe290ef65f9e143378cc68dc07893d0bd3183c72e10a1892f4f46448562d8e4c4287d163fda4f0b9ec5baa086d41a7afddb5a45ca21623d41301655d0a5e38a66a8aadb92f842689ae4bda694e55c93c45c5776f50217e89acf6153f66819a312417710219cb64d90c1f8c86e432e9ba8cc1743f74b507e176640b2492c61e53e22e377a1803827e868e6182ed6f675bcb567010658218a9a96c9c1080e64770929d68c43296ef32c43fea6180f3cf8f104786239b3bf8d7bb6598014f745819d428df46e1b33528bdb5ba87e449f364bbce04fd8262f93b4e895412684593c7cfab0891adc5f1ac395686b59efcf4aa3f2f7785e7209ce4dbb18d07aa43d856ac204f0665bb66d93d4df6443098052c6f13be96b9e4912f351343bdb691123ef91d86da4f12694967720a3f22b6b095872f0efae20bdef0fbd353d8a4fbc74d7a7a1f7301e547da304e50aa9acb13a5565384f1976c8f532817806abffbdc9ba710a55c910c293c7c115c728831b58af03544df7dd3c50732b9f43d5a691b5eb91507bb7868df28000000000000000000000000000000000000009972b8e233335179466400f1cfb8ef81aa31c24028f18de7841363516cd689290acfa3ea35fb3a32d5a290a6e5b27a48a0b016cb372fc968a11472d6a0502d57fe84df44838aa4abea503f2720d867079066a818966f0f6741069d22f75d5cefd1d174fd434aec693f0968c2bfe235a70476b10c4330e6963525c5262271dee7e362f8f07485caa7ad78011790de850b5290f3c48a3213ad55d3ea6c95ea1be19be5f11fa0a3aa6abeb323c89adca925b854ee28cb3a6da6aeefe7607d67491aaa7565a5e8ab6bbd27ba0f7670a708ab4c4aa542f029e9ea7a8306bb46ad855f334577b1cca9c2b054aac76e2d7f57782464cd5aa116671c26a3d5992bfa8d0b491faec2064f28471e0e1e3fcc95e47be54440912a27081e426e691ee482f5202b1fb11222d1790ed58b2d76a19106cc49956f4d3fabdbd234814ea0d6e35f2856d7317dfdbc1c77db6b51f187dca2182b46f07bca6dfb9f693caecf83186c4f5f51ab0130b92a9822afa6e822f5f1174cbf58b9aa2354c668002b439c19b3ee08dd6c310df28953c8e30cc10fc0eff60c388c168a03739051aa22cb1c3fab296402a982d10d653f233245afab2def4645d6c77cd3941f4fa0500d2941ca77c08a0e8d8018be81b9e48a3b3978421e9390890e240d54d26c09e46b1e535aa6356a7bcf635917ec79684ca738cc000000000000000000000000000000000000009972b8e23333517946640020932dca74cc51a74e3da65fef8833d0216a9dd11e8e6e5fbc7dc6b7258d627323199766b678d1acc66aaf343f872fed8b59133ef3683679dc091b8256721d3975966b450d166edaedd32981250005b5a16619f5c00b18bf5160ce36679af9576b066c5794cd5702570711088313dca099f90c5ce1bc8f8f56eb705d6334e55cf62350d91c424275a806ff2307480bf3d8c271a59fea0da6330d9bd8a90171b3bd97c80fedbe8f4b7dd7b9c447c23dd4c35bba51ad39b3e46b205ee3f3f93610c8baf963eb2ed0ad8ccd85c526dba668186e54a7e50bba7887b18f72c33d32de113f2db782e9e8a68d125843b138522c3a2f7e08f066dc7f3d7b15bb2b1b211bd8a3f367f33c13269c5e41b9580cb9ec6254d953220e55d3c5565841c8bae5b90cb89d6b8f5da7eb3d439e2578c993e798acd12c8bf72b09499cf7324aa2eae82167ffc18a2dad3d95a061bfd2b6ee6c35ef250d954ecc1e52d0de0713ad4c1d32d1ffe110b4a2255877969b54609ad3abe50bf27cf61ef231bc0065b79eed1fa7ae66a994e207f6bfaebec8185a963ef9d176387b9bf5b1cded92cf62f3694cc0ca1a3687f1b013d798f4cb805f20fd4cbec84be9531310f3f1e985b255811f709b8309e05ef90f1d8cefc8350624c8a6cf6f4a2bfbbdaccfcacbc926b75a37ec47000000000000000000000000000000000000009972b8e2333351794664006113f9775c0d42a31c88fc81f6b3bf977077d75c77726fc6c3eb75e70e0681d0ce9577c31763b6bd43aad05053359dd350462a1f5a4817c536a9525c2d3b5830a03666f61b2cae33d2424c657a98b1d78cd7ee13d3a6fcdd18534a82ab8015026833cb81f71509dbf0029c8d42d6faeb0ff743c2e9f1575b6a3fc17732a1ff33e8642b9f3197d2272eb172857807fd0a06a7a0e23a82e67c7085d30104ea27e15dc3eeb2936f10bc0d9570854efd446725bd450ed32c29f7bfe9946a411c7d847d5828158254d82ad66821ccb977f35d3f89e055c9ed6c7fc5243b7d2759eaae068e7f43e8de0527e2d67303fb41fab5ae87a91a5990665215e2b934f3cac18575c77d0c6808cb4b402365f26cf6f1a7eb2949c4873ee033007dd7866a5a6487e09e71fcec4b82cf3dbd347be4fced82efcb3a33d428cfc8ee6aced6034b751450eb66154cbcab9df03c1d0037a8f5c54d84476af6e4a1c0fe75bb9d38362ff49c411ca07292c457f1c5d24aaa475e5634b530a948b8234f00c544a7171af788f3b25cf139a8a673e992de27afe24c4a860de84e163d320965fc6debc6c55df94229780f8a32e521c4b369b04f5d98200efc9dba0ef5e3f238ec74418ffdffdb07840d7c08be4de7a81953e4f6ccb39338f87ac7d97f83a95ac75d21d92a7b26e7b8000000000000000000000000000000000000009972b8e233335179466400a0885a39cfd1c6b9c7897a11f44cbf5a5a2db95c53be3216f6ceb3d5232f75eb8b3f8f180aeba6cf921dcf39239a1468af28fabc8b5cf4f55391cde07f5a94eeb40712aeafacad1e9718b93d1dec2e68b883d7cd958d2393b2ce851098a91d6d7230a3a96786f3397bc72af99e2f42e463032c1852973becd7cdd4211c2a2e9da37e9939542b9620fafcb01cf51de1c41b6174220e9ba0f25634f4ae1b15794ed8d8b88e81b23c24d3502d9396020f16afe9a6dd3a320912ba631b710a1c6d28308d3e9c4cccac8ba740b0d2d5da8d4a9f81beaeffdbc0ebb8dea51bc1d3a08edc10128d5c90afc3983a0348bd5ee490b5f34b99424aad36bce2ec7b9c53bece3ce18eb57dd06b7859038d49392ff82e24345aef8e43c045ec92f9afae567392e79f35509ad8db28fbaf6eea017edcb71e2110bf7f5b0c4a6dd8e755213efa036b69cf6809114911beb94d70e2414f5e3453c340198f9061e46fabb123c11436595ddb2b65ac3bca6485bbd2367f99c615d87a8172777db06a4149de6c0e7be8be3b7357ab8562b119ac056032384a4c01d1cb30f4def024d0b5669e26da3d84b841b7c7cb8eb581ac09977adea13c68426817f0588374100621d555ac76b1a4035d37dd11d6713cac9222da52b1839d210a60bd93ce7e5b7774089d8f56337ad6fe000000000000000000000000000000000000009972b8e233335179466400ecae6e7b7e0fd1957e45bacf79d79aaa08f20aa81861e36e4fc48de5a3d473d1adc06195781bb378845a94533ca33178a261bcad1ac835586ae9a6e039735aac2fd68bdf5aee60c5c0c6fc5f27aa6ad2176b210c7fb4ba9ea94b3ef5e5a2b8d533a02a184d5638fe0f8848bc508820ff71c6546bb9dfa1234ef3437cc205154a4974cb35077bfa52f421a2e6b3ae7e535f832ec72eb6d50b80388a79bc545865abef1e5de72089bd4e2ee6428f4c5899633afb2f0504ea1e9dc70c3208c48ad622b3f54793f4b442006c51186e6514728201e5c1f3cff088cd0f9c35631c46e68521a0292a741d774525b128f893f7e4535a95233774de903b45fdd2e1c115dfca3849eeefae8ee4373513a61c085844537fa4c4801dece56ee137b2b3e42a3a719206080e2522c6522a35e1f4358bbd542340ac29d33ebf171fed0c11c6021f10e5014b0b736e6b55c45f47abe323d8f06db74c3f892f448f36ecbd043f3b6d175d282c1cf3b5e6191f16b89af7724f1a2ad8443b0f281290caee6f167d751b7713c0523da13fe7f6699f0193952114908de30ce592a92a926b5e14f8893469f03a2a380b2ffdb7e0d721d16a5af04a2db58984828db1a146fec84c9a14a98dd6ca726e3b9625d1cdf26eeeda9db2b8886b8ad20e14504f231f988c98d9b371cf79000000000000000000000000000000000000009972b8e233335179466400a8ae94d06b8ef7de4947b8539ad292d9d3d5d7f1ac5c60b2f46124b5856309263f126919959644e4efd2782e4ff8020103036b3d9076b09d26c5de3fd377858d394c568d676b20d0848bd42e3446a6cc5b2ea8575df628e2ef072de7e924420652abc127d3d767c97e5dc86dea48694a5076405e8ff696b018b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"480e2063b0a213e9e10a031f04e49b58e9304b79fc811b892eccb12c22b549f366c6be082a8c3452166fa2820a67bb96c4db00c6569133c77c8b5e8b1b425a10eb952edf440dbc6f58beac384d3e9895490642a68308e6382ffdd31e5cd579d621d9fb31cdf754f7ffad6e85e9d0ebefa3156df472d85899ddd62ee9fcbfd4f49b6d51caef3f863f1e50cb766c0ac1e50d367127573e81d446ef6424b90249e9441b23bd80b73604d764d430fccf9d7eb671786a63e09d406f534ddbd33bc14b20e6bf4b276304acb312af085a50d3b4e557b633a7cb81a2d98c42bcaaf4ebaa09831c0d179f8dc05f66781b5dbf2ac10e840036c0fe9ba29158cfecc53f83ebf570aca35f36782382cbbae0ce46c8874055be11201da6baefa693c5bc9ff36a3cb7736130658ae68558e81e401fa85b2fbc2704a876fb3790dfb7fc42864739b47c1b30c768c1166ae4ec3055e19ea37608316e046f0682a33807a32b21b16ae2280ed6bbe2a848457ef80353d75922754afb8fb2baaa318cfe8e7a697b4c58835d68b68e4c25707e55c8d604cb491c9da2a875a09e4c5435b07ff0dad838493433ac3ef7864d1cff0bc86378321ac8eb64018a6667da332495085e8bbc58671db3902bb540f11ac8c0475965ab1d3cb347f859aa76c6d7a0454461c9ff603c60d272ebb37efd17b0073031ebd7783359d5da21e33fbb4bf7c027b1f890d7e09672b316b2e15548e77257bda2680edcd4b97d3088c219805acc078aa3e8f1bf2d0d9b31bc8e4ebc3957a42331e2202942b3bf4d06fbaf7c48cae7ae676d9a0d8b4b1e6124d9b11809e54a24f3dcec391394ab26361347e4cd3b9d250d34df3c8298e09785ef9bcad2f58d541fa024bd10da79dcb7267f82e399eb57f152649e058a8b646baa595f7d463b42d782cba24074d1715bfacf87629bc761308c2859d3fd1fcdc09fe933e1453078a11587ecc216115a4192b00ce2c9cba72044800f5970ceef435582bf2cedf5516feec89d99a85573d4457989a475eead30e40303f8a457b9e8cf14f8980d88b58b041aec4a963ed7a3131226714e89712901407caeea6bb6f095c1b7934e3b621ecde58982e3d86a51f795957d8b05838fac042e80c2d89618cadc363a56c0c725d4a75ae4dfab898ee2a954daeca34a3e0b428c8e73872873bd84ed824449deb73c31430525fa0b63987b6e9e003c8e694806cf38956b13f9c79d9efbe9b44220a9b98f93a6c73973a2bc5fabdba7d52832ff70c5fd34a7c787bf0e3416666ae438768c5ee194b8341899f4b39fe50c2f40746ba17b3a19bd281cb6c8bc148b31ecfb80bd08829b41353e5f5cdf16666e910b8b67ee45513a9baa261f56bc54b0c9852ea8d85dce8d720b48d01d023e22908189904828490fb4dbc5f4152beb12f2285cd9d44e7830325dbbd3e1a3dae1e9a904","shares":"00000000000000000000000000000000000000000000000000000001000100000400480e2063b0a213e9e10a031f04e49b58e9304b79fc811b892eccb12c22b549f366c6be082a8c3452166fa2820a67bb96c4db00c6569133c77c8b5e8b1b425a10eb952edf440dbc6f58beac384d3e9895490642a68308e6382ffdd31e5cd579d621d9fb31cdf754f7ffad6e85e9d0ebefa3156df472d85899ddd62ee9fcbfd4f49b6d51caef3f863f1e50cb766c0ac1e50d367127573e81d446ef6424b90249e9441b23bd80b73604d764d430fccf9d7eb671786a63e09d406f534ddbd33bc14b20e6bf4b276304acb312af085a50d3b4e557b633a7cb81a2d98c42bcaaf4ebaa09831c0d179f8dc05f66781b5dbf2ac10e840036c0fe9ba29158cfecc53f83ebf570aca35f36782382cbbae0ce46c8874055be11201da6baefa693c5bc9ff36a3cb7736130658ae68558e81e401fa85b2fbc2704a876fb3790dfb7fc42864739b47c1b30c768c1166ae4ec3055e19ea37608316e046f0682a33807a32b21b16ae2280ed6bbe2a848457ef80353d75922754afb8fb2baaa318cfe8e7a697b4c58835d68b68e4c25707e55c8d604cb491c9da2a875a09e4c5435b07ff0dad838493433ac3ef7864d1cff0bc86378321ac8eb64018a6667da332495085e8bbc58671db3902bb540f11ac8c0475965ab1d3cb347f859aa76c6d7a0454461c9ff000000000000000000000000000000000000000000000000000000010000603c60d272ebb37efd17b0073031ebd7783359d5da21e33fbb4bf7c027b1f890d7e09672b316b2e15548e77257bda2680edcd4b97d3088c219805acc078aa3e8f1bf2d0d9b31bc8e4ebc3957a42331e2202942b3bf4d06fbaf7c48cae7ae676d9a0d8b4b1e6124d9b11809e54a24f3dcec391394ab26361347e4cd3b9d250d34df3c8298e09785ef9bcad2f58d541fa024bd10da79dcb7267f82e399eb57f152649e058a8b646baa595f7d463b42d782cba24074d1715bfacf87629bc761308c2859d3fd1fcdc09fe933e1453078a11587ecc216115a4192b00ce2c9cba72044800f5970ceef435582bf2cedf5516feec89d99a85573d4457989a475eead30e40303f8a457b9e8cf14f8980d88b58b041aec4a963ed7a3131226714e89712901407caeea6bb6f095c1b7934e3b621ecde58982e3d86a51f795957d8b05838fac042e80c2d89618cadc363a56c0c725d4a75ae4dfab898ee2a954daeca34a3e0b428c8e73872873bd84ed824449deb73c31430525fa0b63987b6e9e003c8e694806cf38956b13f9c79d9efbe9b44220a9b98f93a6c73973a2bc5fabdba7d52832ff70c5fd34a7c787bf0e3416666ae438768c5ee194b8341899f4b39fe50c2f40746ba17b3a19bd281cb6c8bc148b31ecfb80bd08829b41353e5f5cdf16666e910b8b00000000000000000000000000000000000000000000000000000001000067ee45513a9baa261f56bc54b0c9852ea8d85dce8d720b48d01d023e22908189904828490fb4dbc5f4152beb12f2285cd9d44e7830325dbbd3e1a3dae1e9a90400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"74fe068382a9fc18511c5bb0a3a56f51360810311c1303355b8648d7d82e9fae2e2d3b929692c46f44c2ec4a260b206f00a1ecd007126fa162ca20fe7835748e5f793e2dbb468e25e389878af0ac39abc74c3e03f2dd811786734bf784dc0a5de4b79f74e01d0ca111294d337cdc68761ca80a887d66a1b84a3a0e88e5bcd020fca69584f52c5160d4012e733f2cee9ccb2f394c632fd064e333908370651278ae60f5a5a2b593d3d29fd38632372254ca871b77519e51ff66f5e2022f85878f1be5d35a19bd4ea469ae788db385943094d74039483562b56bc6a3da375dc63efa942d469a07dee608702cc00c0fa5da4d6fbd53a66b4bed8c4b059520648630bbb69696858d9e18141f52a484ec1dfbb7283c677cf72ab68730826caf55fba1f7755c67155e088c592c92a379bf8b4276796d9eccb3bb0df82b76064f3d942e2ea37ec91c1d814f58a7d3e654b7907da668bb0b58251db06a6b71e9615f9b5f3b69913a4494007f2b9e10207030546553f193eca6f006d365e40d6ead1e74f959f2189480ebc331911e5d30bbf6de3d9249f065bc02533aeb4224ddeb35c9f6b06865d1693d8ffd0376bbe38dad50e987391a177becce4deeeee88f5d1aac0e8c5242fc91111b8e3b0e281312c8f9502fe2bff829824d774e557630f3448df8ba7a17354ba1cbf28ce744aeaf36998b20db3ca2e2bb115b6b873f3cb3b8379e103bfb3053ca03b9f05c5550d87c33ced5dd5a3339f1a98d7acb01f076018342040fd64f50c64e2ee8df46deb9caf135b4ee4bac981dff797273a18a990821286ef42eeed363cb3b7d598987fb05699463f3fa3c51720b10417421f08a848ecebccafacf7b598d39948b9ad02a92cce97485d312cd0ddbdb43a845e9a173868b0ae92fe6d96e115d24a37685606d615108d7989ae1866b551de2fc1d91798fbd16e4add71bd95ae71a6daaf45796cb1e5e404ef8b6beff32f90bd52d51ede8cb875c1762765f44eca68f1469b08d77cc995a48faf5b9d6de24a4e63c82f2ca01ebcb540836abf222742467347bde6ac435191a9d868a321074788cb4080a8937c604eb49732ba261f35f314563f4b58116ac3130d0a74922e8300b92f5d15bf10d429fa8ca6a968b05c6dc8b118819742cd3eae98218da6678f5b4387b77fe975ef70a117cad7ff05cc94548706f6fec3f185ae5acd07b3c44bf0f846eb854fc82e43fc1bbc4b6e4c4bd0680e89520d3c982fe3791af47e9fa5b194f5a3c9a022e3805abe49dc27757b94ac6dd26c70d1aa318a8337abd2eaf186f37e354f82b0d5f32f2c745361480bd7516427a69b97d6997117bffef459dfea2f71d84c6dfe53d6b69320740c94e188dcb77b92abe5287d382813dec850415203bb70c39694db141fda6f0d0509afb6e221d682629e880ab0a60e3413f8dab44f52d379d89d1a017d35d20729d28c0b223aba5ebda225f42d39bc63deb2c2e3a023ec9c326c497855d2ae28185dfeda3b63e26f08e894b03ce83d86473f6d1fc7d72454d159961a5de3d56dfa2a7e91fffda1ae15af4519bd32b0ff10e176d8aeba3d566b7551e64405ef13abc3c73d0dbd02a03a98ecf56851bb1fa4ff7ef2a746109c270bc044b7347e5de9a024aa03fd6b0fd1e2192a96aa43f15960fb39d7444710d591058c44283554b76f05627cfb0b060778f8308ecb552b5e0bc4bc70ee1c088ff43ad29b6540325af673820e6f23e00c4b14a28ae0db9c9e7e2e34229c30f7a88854c02972395145d1026f1f599ef4d5b247fa6d1951e00a5e546e58aa370c7ba7da43dc9c47335da2e2d36d1fc04bf3f472faecf32e658c533ddae23bd1b7a6e5c39fe023976c8e32225b1e8e38e5072d94bc697c80390068b51a7f9d7f926995b7d3b51ea23b9273be09e080b926c55ec1590bbabe21622dd3d02760ce2aacd682953040d50dec3e32bd771a1a5f93115c630765d0cd6953938020db7da2fcd4243c689da0ce414b91ec9529d0eaa6bb1c9ac29bb583400bc9e8ae1785aa6156d7dc12f04d58b715650e32c4b7ff09c4c8a1842ca5342c6d89c70339b9dadb5726be1ac18fbee9580755711e95f560b052b63f2210e88b36993e241adbec818ae6769ed9a6b642662996de4f7cffc7b426e586a99de3422d8155e29c45925ac84c7be51acb0d20ccc9bd9fce79b726efdd2d4b71486d98e87125f85fa4ce80dc9dcd6cd0777ee97d8030d3489f85abb8b93a2af41e494f954360ff0d135377e50e7de9c27f471b5b70994ba77a5e47b55c081c0a99f65e877014b9d594b3b5073518a8ac1c788e0ef100fa12555d8ce75a7c72990b8f2bde3badf9fc828dc2827aaa59785ebea648e79b573b1111ead85fab3136a55fcabe4d4ef94605b17cf55e6b4b13af4ad152f1f602c26c52b6d559f8194494fbf85b03e518ca1e8a5399d5d9aaf536986c0b6c4e8852cf5eaa54f5904be1eaabb5141776a3232391ba60762aabddfc31765c147fb12d3aed512a0b00a3478bc2ce5c53174ea02190531bf69e79cdd230f080b071ff25b141eb31638f3719e76628f59ebe3200bce42e854eced2b382e90d26d9db23c6509a617c0982fe7ccf5142d2fefa321af1926e1c6c78f939047c8d0151ba746c9c2cb87f76f0acdd31c42828d0b12a01656c640bf9675582a62c31c43cd7810c8aa7306d614188d393662b50437231875f35f93b8a2cbc8c7a74b0a52202adc2f125a8699f18110ca032af124fcb247b0c3e91752585df343ac4c4df5b1ae907ba9d837e381fe6b2cbe1f471d5d31c461e30eca8ceacb4a1a6d5b83db97c205854e3ff499e3d155037d1e4c6c142d27f366ae87627b38034cbbd0252ff3cbd251d7180a623eb38b9a434f61ab306e2baca033e614aec3d99480d7ab1afbb00867cce157a1e6c7b11f58df23e4879bda3cdc43e7f10a9dba9c98fdfd9b54c22c6970295927c81e2b5740a569f1f6cbad023ded9e51597b3a923bce9c5030d2ac38cc53f095bef4757c3c6a885e587e45d8dd88ef522bb172db28fe2b08309a73fb30d9f595bb11ccb767503f5a597b22762331c300db05cd1e9d67008f14002c949fc1e5374294e62d480e85162219760e05021688c3e3bd81d6894badc9ad30909327bed92f55c2ea045a51bc6b6a37c99a2b6ef75aeafd480d42e79af34214d111b23ff34f4e4849f91482d74e6e38445e0509ade22ed83f6cde17ff1f2cd69dca1ca6fd112a484957c5788838c16580ee4222fbe17b8b84611361378753af113284d85fcafa430ad921a2eb6c25dfb2c01b6a1418ef8c4f8023fdaf1bb07f129b2c7ec8493406509c17312af41d9bc0d8516a5b306e1b9dfcc6175870aa1ac52f7ebadce3f54690f3f47ee5de7e74ad6402587cbdc1629fb9483ad0b51bdf56cb9fd2cc8656c398c23d3592016acd573183e2ec77a9dfc3babba21617f6f36878228eff9f3dcb04f8de3e20e9e66b5d37d9f3cf33d5c20e0279f3a7d2bee691942b2654b043e995ae0aa92c414ea694db132acc2f3ce14fd5c7ce37cc41da2a750b47c8bb6a13b1538adac5b236463517f1fd511f7392eae2669b50d826b5c9754c693f11341f44744d1a801877bf62849139581b5773bd9815bb10c653c562d82c9bc84b1d7b56c777dee8ee54353edfd517e54c5a672e7dbefc5c9218643f272afa90f14c4b32cc9b34a6961248ed92add6e201062a5c36112520857d4455cc65488d7fd8176843413685fb1e53fcc7b10058a212ba975e9cb167f06c647e67e97e69fd967408e26babe98e76a98a801a78c44f16a38ab9c2317b6902d90b7f52be9209b8f6dd8eb10a370ff8a99eb9aec7b08c264cea425a626954fb2faa6d5f38379674e373c6e190b2e9ca9ef99b7c08d4c7154ecda44231e3c4aa63a441feddea1bbe1ffb18eb6e50639b2717e220895516f31bb8893c9af2a793a7e5e7ef8d0ec071bdeac3bdece5144073af624fad4277409348caa80856b371c391a835ad2c08b792ca6dc602d11044bd61f1a406cfe0637ac5be90723bd6fe5fe6b20abba45eec8e7fc12fd60ae6150672ebe322c07b12536aa3b369663a42798ff360c0ec76c2a12056e23db0d7bfde0abc06dcb10dc3512f148315a5c135250a8a2d6917d3e4e6a9d00b9d1fbdb6f5236fb157b69fb73e6452c23da76e85f1a535fab56e2f164812d5e78458873eb47235791b2de9e87a83abac2e3e0a72d052e58f7dcb2703ed01a639e3eae61366293b1d852c7f0e225482a2eca93e362ef2f8c4e43e05b0918ccf3014d9d9bf5f0b12cecbf3adbdf1a686bf9915f12d9a1200525de507246d8bb35188370a6c4a017ab6bceb34bec35d6be2902227b0407f72fef4cc4be1078845e476020505576e0a59fed1bf177f7e72b82423b8ebe8eddc48ccc871d972338e66a4e5137bebfb7203d4b91f6169821b5ce6d630dc07c8007acbec54754dc4cf4d3b624305d735b43da952d440c7b4bb170b9de50f8a5b6e048490d756868ff6845e9cb2048b95cabe045254218d902e1b88ef8f4cfed653642a3b4bf975d91c1f51299d34965771dda7614ad5d3a9d83130a79dd563fe36eb8c933c8e4612c48ad49637d412cd66925578354395320dcc80239ac7210145c21fc459f45f354e5981f24e5d347931cbc239d65a813428e4a155e8829645c1f719d757baad66e51658e63fd389d42883c3f0aaa1660a89f2b25cac28e26bd01d51ea140275a10cb7da5652d8a4f07ed12dfd64fc01f681cef509598a87dd736a3a4397e651c3882b758fbb159eafc0439ae750ff09b7764086b52771a5989b57555fa328e3ddf75039fb20685ead011acd0aba1b5ab9fe80a9b675b3cc310f27eb65021843dee459c413641ae2a72879e935fb3ac86c8892e23898d00976d8a7fd09429c23b9c3e51702031958064d61e4d8615e27bc474b31c325fd0afba5265552d5eae8a245935835ec07ac2e886d2f1ceb28d8fcb5b2cb5c8ded3e994b592285f992562a9444dc903db786ff7ac726d9b3b3f84899150cc73566d5f03dc1da1b0001743a47b32b203ba943cfae7fd71e00bd9f3393ab89fec9eba322b0178c56a7b75f3283bf6fab7c4a79490fd5bd0039a4c6ed8c3004b1193b60c99dd0c2d717a7d71187f041ab2bd718cd953a5ad3c2c29e8ae69220c4f6f14399b04300af5a886a4600e4e3e8d6e2f83371e59b60a5d626a726421135134bd71453898cc7eef521967ea420348a5dbc3237400458ef30d077e8ffafb10a1b2294817ec705f283988e1dc8c1cfbaefcf0bb1e2115f75e45774264b2135b6ef3140e3cb70520b886d4a95348a76c9fc874003f8371cfdee558e164e29eacf30cba0df3277a81c9ed2d8f06881babfa2d3c78149d7f99d01bcb29f6d40290e42167fdd646ec408a7e17a68e0930a11f9c8306e17c3e84d01a05877c35da04e2cd711ce768758c11c5e4e2a3507477dfe22b9297931411a5b03bf4e90d71b44345966e75cd8fe6eb41e2afca6ebaef2348a4451ff9feab1f7c1b9adc2bbc52727cdcf4a27f861dc2853e44b9f6e535e0f598afdc2aa60bd0c986a5b6669e4bc8452a873962a8aedb2d4594ab49017c77e0bda076073f9709c7f5ecf0e304b801f9782bf83a643f68d07cfe6290786175ff991f7217b18bf1461734a2650b901a13806a5147a3a5254a30961bd266d313a5041dc5bf01f3fee7ffc6f2e02642f7646d098f6261690cdc6408788a4936eb801bf6130258b2410c84f842e9a8748df0fd3d3d5e8c27cb86921789cb247144998351e04fc17643f741c24760c8a1627c7e6cbafb2463419965d1e0561b2f99d6f90dc6697ba6b1e8ea50146ddaaf7ae32f1341598d914e6e14ce7e410f61f2213cb26d652a6e2e1182e3ebe78612e2f6d66d88854b104c660c6835abcd589b2efaf43081fc7deee365273959438d79638ed4fa20d55afed590ab8e292b7d956c83fc9c55b056ead73d7d110efd6359d86db0a15eb3917dfe5277c864aef174a3e6c1eddd88e6892a766709d2b90412521f63183f340cafde729127def33c224277dc48dbf89b9de4c1b6f34634cc290699bc62092e5aa420288fd1016cf52b830d64188059b5fe33207e6ee2ad71d0d94fc6d766c93a71f974b39ce464cbce83548516dc6be6555656e1245c5f923a35063b3ec2f8000d871ac55dfa21b0c9d206f95854a965940e15fd9491e14f0fa4c76f0399fe78e194635bfeaa2f341a0069fb4c7f1d5bfd298590737c5a97283c037ec3bcae0efe1f35cb3ae99c855dc973e28c117291fed3ab5caaccf2bb318aab87fbef0ff77027f4a3bd5aac157089d37f85d6efcc6efa591f1457a1272e1d79cd2506e7bef250a167942c14a8f2e484ca705baec3647b13f860326a6694a669646b6075f84c31b3deacc3e221331c0f865f7ffd60fe3a88cb51a76eebd17019f02b64a8f7875c5a83c4336ba2a8744c52df69698e68cc6377cdb78bc5ece0a94736af286ebc1031f595ae168fd733044eeacdcfc3a51f395260465a51e58937e68c62fc3b91e64d5d9af69463e134eb66adaa56c1a946dc834f4f48ff630332a4e22cdba332de175557bab59e9ff86fa677b6acf62919c4ca499c952b2d07aa5c897010835e2957a447b58588496ad4cd49e99197ed2b7de937de86cf59ecd47e516e85ead69f6b189cc676f6b6a382f9e332888a0140c16c1bc5b0e9cf1fdc4b066324df2cc0bba7c1ab131a1deb97cc5d60a5bb043f4ab8aa0e7a81bd91824d40f042505f1a901870d2a307b7eb2729458913a4c0a40c87a86c883a3f7024a06e644c3e079f19e7322ba541a2262bb4de3e7585c6320fec9cfea553d4f0b33038db1962f4704492bb33898c15132d7b097be1cd895c8ecb835eaaba0a784bfc702dad8af479002100875d2e1731b9ab78acd69e989347f855d3657041afb30fedb04b3850354c05b6ed36cecb6a1928e0beb9544503f71df2f7a18cfbef35e83199b35012c72cf7b657128508c71d2d82be9309cd88268984cc16a671033fd945355addfee1ccd011e9537339eeb310ca7b0544e099ecc65d3fe268f61d050b4325ed952148ee64f83b722ea10029f4072f98f7d79a93efc92a5203d6aeddc15a7209a9898a84f217dc410ed8cac3ef925e787dd4b9eade08cde10416abecbeeb8ef1bd3b7c7c4aa395183d2b8c26178048d7c3ba9b243ff94fc3cb0bc822e26eb79e011e651d93ff07c1b1a2396be5dd109d00ab6e7526a1326f52ae889ade1b9e1f0a39464d03450453097aeec06da3e3754961ff698a343e4180f85928effd3474031abe9ac3de09b856d12a1aab2e2b3a51b93a1fb3540a94a5d9cddac3c5258a5cc0f87bea97dd397089f01d6ff7ad363bbb6deaa0ba7b64f89719f5a368bcd88895a8710bc5911a35a65c4b7e7e89f1d55b026d1af411c79ce3bf9771d63332790a48a646e39704b0994bbde5407ed4885dd793b085ca151e5f87d9ad277d277eaf2f74958d5638ed973d0bfc07a8bceb2f75f15a7e70785841d939643da973b3c61e82a7a44ab6b2426b781c4716ccbf7f6aab51fa8252e96ba124e97a8d57a48b59140a96d55906a7a64dd1b233fb3f77084f95ac5a3f0124b65463176711789aa4065c022d96a049f3792fa1d46156d36fdc0764aaa343f9dca3bb278af4a84a65d3489c4e0dc85b92815a5a0096b0e567bb0ce8b3648632ce690585dd2aa53000d7f582fb14512bf7a0d5f5c8e39fb7f5ac9b7c8ddbf482b3845a9cdfa308b6fc4ec54c9b82f2921df35e332db7c5543816270373bec35a9cdc444e7f45498f032d1941226b4eddf483fcb83cae133fcfa1293a2c87338a3c4f4c6ce435eb4f9d91e2902d637c1fab8f84964be1b25b29f3d82891768b9beda54ed38d9af69ec4b175cb096c9f43285003ccfa46f8e2e1a375224a83aaf5b6af0b4cc3ad2409d790032f8ff7813b02d8b28e599645e1805c3ae894808fce988fab60b6cfce2286be56e38f02ee7f0f6fc533f8b824d397a887d56d28fa767e628ad44dcfc5c7d6d8ef4761b97cf8e27c4bb40cca22d99b5e9bcc4deecda145bb9fc7f591c95413cd6659bbda3f8e4fcb344830110b6acbc223ba782eb18820a3efaded2c3486f318c501190b6badd6bbe4836b274d7f0f553088da19772134ecec7ff6d4b2b8c5d90c63e41dc59a5e70219b8e19749e600f7345af99940211829717a17c70fce3deb53723a1015882280e6bc7c47d3115fdb95adde43f2b0decb8d4201a4971a9bb5b3a880e50a902857520c5afd97a874d0471152e290706c55248df193a989b45627cd1b6cf0732e31d9a551fe56dd8f11ae5ad445d2667bd84b7486525bfa524ef920380d5618dbb594626efd40d6951942574f2df002ba005090e653a90b37e054e4bcf282e8e6ab8fc87defc47ab5fa70e0ed7e2d5dcbc2c003c7815c2510e4fdc70cfde979a798c9335d3399c2ef534e0c668cd19dc6ffa2d2c92b02515603a0c0af101d14eaa0e2f69b9d5a2e313fa85c1cf246077af79a2cabe00db855573bf7b830ec082e7aeeb8cb9e99214ea1627015f20e6aa9b58134960aa45e745117d91b67189f2d70e3ec7354c2e83faf0287e68836c1cea7c0020b1003fb629345a839ec70e3e49abd3442694682c8f9fcb3cfe326c15774b117ca9be03d0c0192716245e1b292c8b1870c9d03ced818f00e33b744d1bdf7b029b07587d419131364e187497ee772a36d98a83f36a88212f9706f02691149edb85f182ddb115bca8341dc7e2e57c66af601807f16af21fa3b63808a4716d4df58c2111bf78bb33e894d040d566c93df672a0c2f6de3cf2a92db51d92285a07092b7d59adeeea4b9ca41c6e4ff0f37f83372e18ea174b6cf223945db3bea012685e31e46f66f913cb84cb2c6c015ec0c34cef6c4affb6b92679ac9f193cf95737b9bc7453d4514158fc3aff2e4aee4f56f7f0ef2e98fe009d51df8213bf2334fbfa0936bceb4568554cb0854690eee39e83d64ae29546ef36f54cf2098fc54a41937af706d653a43017383da0aad4ac9631308fac4ed987b9f11fba53a73b754d1841e383fa07eb15043d9ce4f261f4438c1cb33a320a455229af64a7d58cf4e2be57a69c48d8daee9be516affd9af248d514339babd11705c1aadf2cf213f21731392abbb3b8afc41fcad6e35ae886346347661adf16a8898f72f6a08cc7831da12f2449c6adafbb7a81edf4af9df59947cb4ef98e3fa08279899413600450941e900971b8fe710a86e7c7d0f928064a34e5bc78504f67610a6e74a5dd59309fd0aff0efbb7cd5b1a85c15a35e52dbc192bb928142c579b2d965ac4e5b7878afdbb3cf91dfe18b1c502150b4b63b12b15733d9616e25b5a85a5ae33c74400081faf7c1a6d2f09e81c351a140ed194c7623228725db7795e861132ac2a2ad28bce19dd4b225dc5173a1a669d901fe86240cb934969a7036299944fa6060637e72ea67209d766db129ff28922502cb72458c5c9b311796e01f59ad4af8f4cb0568153b0bb8f3d9df6e8b59de5a63a2bc263832dea231d8998dd25bedab1ab0b3d2cdaa824c21c9ada9d48cd9c551cc3ff55ebc82e1029bdfb77ef9628a18f74ed3fbe8881a82509f7926339c307ecd675c4f60729a4fde5c448d532a89decfd4a5fd903a4f11a340732c1bdc835eda77d6272bc2d7bee8bb4540a7f574b09db51533245079d414f67473395fdb9fcc07a6204d07bdfba198d2fbaff5df6c00f48c9e5fba759dd9b0f90a91aa22409414bf4d077f55c24d9cb5f32ae7ec30d8b6cf6c568e4f5a2208f34ae547dc1d55cd566030dad7bbdfe4eae63042bbee340dbdcd295e79c2eabd4827e9305f7224ba1d8b6622cd89bcb12f46192e7a68ea5302d2df740d105f5e3fe23a85e6b65b5e27eb3ea4989f7176637753b613771c280404da53d2944a5f5153ad99931e75a98993a52319ae9f9e500ac94c55cdb4977e87f89e1fd3b9f0b2f2e17786b0a551f706ce4861762a45cf8065664f36c21aa5bd53070a2be92507d56264b044b4dfddb7e275ef4215d4325a416bb5bfee09126a71d2aed1451b39c609f7a732ee5223e109fb64cc6668758f1d1ed27f9cb837a37904e63cf068f97bc2e9ffd07940d0bddfe2931990c72329c3b7feba7a63cff3aea963dc5ca8995b44dd16acd41f693db647673377106e3140aeba32f46217df6fb8c13f048feda3d434b09c0828d381409dfea3e7f0c870968c9eea3cf870ee91b32e91dd033af36195cfdb39e08a75da5fb80bc590d0173aa0ea0e6f23d9e9af71ba946819225bbbf29b193aa963b745da49c5904d78fc07af42a629bc5b8255b0c6ac3e9bfa3f2e434aa993aac5dd5a0134931fb2398ec85ee1fe183d6ebc86c5954fc37da877939c03ae27fc0d10837c82641d5b71135712e37a496c634e486d6f84a7eb4062b51f6734e33bb14ac57d89eb62013eb394ce462fbce1f8e5b95a2b733f3b39217eff0b2ccdcd86e28f59f9012e19584d9b208f9ad1df6e01052d217929743fb08d615c801a3fbfe10f2786f0047c1cc64f15065de0c160586afe552950661311952ab7c22844d0de7d988693c9cbe45549df622c96a2540264528611d32ceee0665fccd55ab55cd1cf84de50e3685c8f828dc2b51a0a3cbb9a1b87e681bf26c35830f1e14bd22656f01e1d5b8964141a609aa75f78d4db60985bede619798a871b9674911cef91669b384546563ff45e9ef510dd4fcf84591a2c51d6aa5f942706a1b79c7b93641451f60a65e228a799ffbeaa585a048bb038edbf496828f38853ff9d17a9c84272e9438d56774362c8be09eb3c3da43b67c438fcc356de09918566f4ce100ecf52f1a8fe317e6e000f17e73f556c94ce4686b92d4bca9777264be3174b234eb5ef75f750ddb59ed2809006e54bd474bec05650de875502e34be9a82148a8b0eb49b1054ef21b416f7e0ae8e88c4bb43c26890222359cb6e41de041b7de2befa012b1b1df65d0ec63b25e8b004f62345dccf39395cfd591261cd984b3d97dc7301c20de0de413e0984bc967bfd0216a75c6036eedf91f8c17c8df36fd7a5a907837df3cf3a994db0e1d8d474ad42e9ca0182048a27059a14839532f44a70ef9093f72c99b6c687aa3873b66b027012cefc853476c020796fdfdec62c3dcf30fc13749168b1a9e907030478500cceb6465ea2122faab44d6a12227d531cdc830a5b9d0a7bc8c74633218d9f0778016e2ec1cc8414a2bfed47a46c577c68307c21e25fda62f33e8611ba87ed393657d5f2e44086ced41f03393507881afe862d4ef8964733e7f6e81c921f8ac1fa1ab16bfc7c8a85543d34cf33b616029d5a1ad5612ea939f2914f736535861b53c601fa0f31cf1bb756b8977bb9961491974499ca346fa5c668b9894a35fcc7a08bd8e5d931adc1cad3f4ff738a3bc13f20897180c2694e82c53d5198db335450ad6a04b573b7eea9f0bb5d8a234619e076ac310b30a6a49a180361a0c9db5b7580a8e5318e8877d41db962ecc461ac392ec88a66260ff71a3c602a7a6edde6ed7b4d1abbbce3d40b706f558c29ca80f57a9a61ead5c7063d1482c18aeff119c2e78122c697e4ca275873d92ef2cb1d61c976673baf71ab414fc7e0d8ef6d709efea456b4241f3d0348b6d775e993b9843478bd045512d5ab239596bbad18705ce7eae6c10f78cb836287ad2e35fad963a1f41b294b2a3d5ca3ca0141c2535f56f109af9dd40cc42db0a036e71b855cf75612803251fc11b3c31131a2a512292a00a1e415d5b43632d1b2f601e3dda4c42d708b6328648c8fac836645893577cdd681174f137542d1fdfc086079d2a00cc2c2ee7dbc1a04bec835afeb74231545faafb6c2b19cbcccab0b868468bd9c433aa76366701f1acecf216869bbb0a5a4c9bc4ddc6d63f8ac63600662992f7f80d7fa83858bb3af47e842b1c82790759ec84ee3ebd37db0f54b80a30917ee5cd3da4d48ac71d0d2ebbec0e37dc6ac23a8b34075663d661da50d0efb27813708a9fba0ce2b58f066699b4ba2612ec8a48e1a82dc92e5e2ad60f2d165d3266b531097b62da9be4e2cf7c3c4321c3a8c0e2188ebea9e5da4927c1cf70e52756cfa9a835fe69adabad06e9d3dad48485ba8d64d782dc0d1eec444b299b6939c46e01bd927d0ffe05f76d4d5e4d32a544c395560a46019e9129cf70f7f63d15f093ae1c87904e3fbb7b997481b9eb7321b73a398ec114d5141fafd6e376d00b8d8d1c5270dac4eb5b2a9cd8ace68110619a7d347fe7fef35f827af972ecb55d9ed6bcb9c181fcd4646727494135baf680d35989633cccbccbfe4af2096cb17afe4e03b44a3a65be44ea19dc9e0b33de2a7886f19939504cb8aab9afd5a5e1f9de1558b6c4a4c9c66fddf6362e67163cd66f953f5c790c6e783d5508a68c532555a8d2a5c6da3eaf444804ed8faedb98ed4e7373265dcb3d57a66fe7f8a34cd0af0b36e5705ab01874d6c3c7d4f95f312e84bbfbb84a37b1cf49ae6e4d1eb412c37e47be583f7353daaa9264b34d58e4f9f9adb95ff6818ec102c47049b7fe0cd6a6b287309adf1fac3b7a2f3b6cf425673f0a8a6a16dcb390a39bbacfdd674323632852ec028ef91c62caabeba6715de2ecf8f860705fb463a16113f5b97df3c9ebd387569070060f4b6a72f60f4389048911df3d835ab909d1d4b62bc3bccbf38a4cffbf9772d4874b438e47452d40cc47c837991aab0643dbff7f70f2aacf33db010fec4fa5c01539066dbc6c8ab6c8243c29b2866e7923158f14da60769ba7ca0f11222ca3afc35d61c149eba656dc6c3fcc806953c6cd18a6e26511f0072f3aaa5457416c513cc830eed126c39d06ce35f96fc9ca3a5532db262df157f7544a2114be21aa6869c37c3f384f53b2c007f64d2c94bb47ef06520cc400253f66707cd484d96194667ee47ea82c798884e1f2b55ae87b55171151960ca6a4a0fcd7bd540dded1c786c802481c5b32a2035be8e5d3c6b211faa11a6985656bbc32b7f7e1b0eb1b91bf2378a72c617e91aea0c3c8f2202b043be943d23a25f71e70e253ae3ae219df590b911b95b5338b76287bf7f28fcbe39bd6900d539f42139d62708d2769f5402cecb58172474095026cd0af0e89a4af78112470c853bdc0164be2facc411415289684d866b58b32e014d20977eb5d3ce00c2aa9be0058a4700b66f54f4be3eb56dd51d1f0af05cb12e47fe63e88f596ef44380a24717434cddbfa75d6bd325611be2a8dc4ffcd544acdf5084b3a211454d90f4c31cb3592d50bc377f7685ad7424e9fe2a6d62123864054342abf4eb6ffba59329c468cc5a9bfc3534c96ebc1ad1ce8f28b0dd7632a506d31503e74c1e5ce69d57eca9f4e34848d30d9811d1d34f7e80e976d676efd5e61b675657b05dab4edb83490f4d3817b31fc932d52ffac790627358c94ca998da1ac13fa1068c59ca88d60df8e10ad646635a7df61f018d4273f2dfffdcdb2e5cd2974b0acd600742847b55bb2f67bce1e09287e73dbe604847b610edfc7a7de8d272ab5ffda3f3a37d8c895dd80b40cd4e5400162586e740bd0430317ae96013720436a6ca9fa873151e56bdf88969de18a6cc7e5736b73c2d6d381d51555686e2dae4663a577d5419e708622cdae02925795be1278ab63e619de39ba6ead80565998e3c327397c9f6cd9504fa6a7d655579dc9ad54b5e6fcb43bf7879c99468562a07b6f21c1db48baa1eb193f3ca67ff6450e52e4d81eb2664713ea851dbf9286cf6b7b4bea31d4015e17beb03532853d6edb6adadeeca64f8bf3be8954b52eacf62f05c465e0a4ffae996decd4f64d6929ac3d3c66459db44e55e9f95be0d64510694d9afe6da75ecdcdc52774006b403df85062c4242bed6064e3a5d9b0ceac4d86f390bb187bcfad9dc954a7002466b4a7fe5173e66831abba470d628ef6cd75c1f9ba461e8f745478f59fac0d7bf10e54262acd46c6970aada4aaf380545e4fe51d509ad48a3e030304ea6884acafab0bf55c8fdd4d185842b871f1761a667f55ac2eaccecdc0d70d4e05841a33d9da218cd178a993dbf50f1104971ddc93fa9bde80aba8a0f3f4969c9d0fdd5f09ec113a5481f6e4e97f8379fc6f6a4f54d002931a345bf784815df376a4d7757d0b0436e5cb8334b02e27ef5d0e82bd022413bc9d550cdf647ab984bd52016d361751ccb9844f46367db56da70d6dcd110f18cdb052d9ac0711c53dfefb40af723e1fa820218a853528e80b53243b415725639c024abbe56051195883298702fdeb0492b5102c44d4774305e31a3141139ace7fb4a680359db9ec37857cc59c015557026cce82701c5ed116b7841659b49809d889087dee22f7658c6bb5297714036aac08c92a49917af130ac26e3980b59779085c398fc25fa4e19982e06bc85ab95876bc1878684220194edab585c0603819faf7d7a7bebccd229418b267096a1b02580b","shares":"0000000000000000000000000000000000000000000000000000000100010000280074fe068382a9fc18511c5bb0a3a56f51360810311c1303355b8648d7d82e9fae2e2d3b929692c46f44c2ec4a260b206f00a1ecd007126fa162ca20fe7835748e5f793e2dbb468e25e389878af0ac39abc74c3e03f2dd811786734bf784dc0a5de4b79f74e01d0ca111294d337cdc68761ca80a887d66a1b84a3a0e88e5bcd020fca69584f52c5160d4012e733f2cee9ccb2f394c632fd064e333908370651278ae60f5a5a2b593d3d29fd38632372254ca871b77519e51ff66f5e2022f85878f1be5d35a19bd4ea469ae788db385943094d74039483562b56bc6a3da375dc63efa942d469a07dee608702cc00c0fa5da4d6fbd53a66b4bed8c4b059520648630bbb69696858d9e18141f52a484ec1dfbb7283c677cf72ab68730826caf55fba1f7755c67155e088c592c92a379bf8b4276796d9eccb3bb0df82b76064f3d942e2ea37ec91c1d814f58a7d3e654b7907da668bb0b58251db06a6b71e9615f9b5f3b69913a4494007f2b9e10207030546553f193eca6f006d365e40d6ead1e74f959f2189480ebc331911e5d30bbf6de3d9249f065bc02533aeb4224ddeb35c9f6b06865d1693d8ffd0376bbe38dad50e987391a177becce4deeeee88f5d1aac0e8c5242fc91111b8e3b0e281312c8f9502fe2bff829824d774e557630f3440000000000000000000000000000000000000000000000000000000100008df8ba7a17354ba1cbf28ce744aeaf36998b20db3ca2e2bb115b6b873f3cb3b8379e103bfb3053ca03b9f05c5550d87c33ced5dd5a3339f1a98d7acb01f076018342040fd64f50c64e2ee8df46deb9caf135b4ee4bac981dff797273a18a990821286ef42eeed363cb3b7d598987fb05699463f3fa3c51720b10417421f08a848ecebccafacf7b598d39948b9ad02a92cce97485d312cd0ddbdb43a845e9a173868b0ae92fe6d96e115d24a37685606d615108d7989ae1866b551de2fc1d91798fbd16e4add71bd95ae71a6daaf45796cb1e5e404ef8b6beff32f90bd52d51ede8cb875c1762765f44eca68f1469b08d77cc995a48faf5b9d6de24a4e63c82f2ca01ebcb540836abf222742467347bde6ac435191a9d868a321074788cb4080a8937c604eb49732ba261f35f314563f4b58116ac3130d0a74922e8300b92f5d15bf10d429fa8ca6a968b05c6dc8b118819742cd3eae98218da6678f5b4387b77fe975ef70a117cad7ff05cc94548706f6fec3f185ae5acd07b3c44bf0f846eb854fc82e43fc1bbc4b6e4c4bd0680e89520d3c982fe3791af47e9fa5b194f5a3c9a022e3805abe49dc27757b94ac6dd26c70d1aa318a8337abd2eaf186f37e354f82b0d5f32f2c745361480bd7516427a69b97d6997117bffef459dfea2f71d84c6df000000000000000000000000000000000000000000000000000000010000e53d6b69320740c94e188dcb77b92abe5287d382813dec850415203bb70c39694db141fda6f0d0509afb6e221d682629e880ab0a60e3413f8dab44f52d379d89d1a017d35d20729d28c0b223aba5ebda225f42d39bc63deb2c2e3a023ec9c326c497855d2ae28185dfeda3b63e26f08e894b03ce83d86473f6d1fc7d72454d159961a5de3d56dfa2a7e91fffda1ae15af4519bd32b0ff10e176d8aeba3d566b7551e64405ef13abc3c73d0dbd02a03a98ecf56851bb1fa4ff7ef2a746109c270bc044b7347e5de9a024aa03fd6b0fd1e2192a96aa43f15960fb39d7444710d591058c44283554b76f05627cfb0b060778f8308ecb552b5e0bc4bc70ee1c088ff43ad29b6540325af673820e6f23e00c4b14a28ae0db9c9e7e2e34229c30f7a88854c02972395145d1026f1f599ef4d5b247fa6d1951e00a5e546e58aa370c7ba7da43dc9c47335da2e2d36d1fc04bf3f472faecf32e658c533ddae23bd1b7a6e5c39fe023976c8e32225b1e8e38e5072d94bc697c80390068b51a7f9d7f926995b7d3b51ea23b9273be09e080b926c55ec1590bbabe21622dd3d02760ce2aacd682953040d50dec3e32bd771a1a5f93115c630765d0cd6953938020db7da2fcd4243c689da0ce414b91ec9529d0eaa6bb1c9ac29bb583400bc9e8ae1785aa6156d7d000000000000000000000000000000000000000000000000000000010000c12f04d58b715650e32c4b7ff09c4c8a1842ca5342c6d89c70339b9dadb5726be1ac18fbee9580755711e95f560b052b63f2210e88b36993e241adbec818ae6769ed9a6b642662996de4f7cffc7b426e586a99de3422d8155e29c45925ac84c7be51acb0d20ccc9bd9fce79b726efdd2d4b71486d98e87125f85fa4ce80dc9dcd6cd0777ee97d8030d3489f85abb8b93a2af41e494f954360ff0d135377e50e7de9c27f471b5b70994ba77a5e47b55c081c0a99f65e877014b9d594b3b5073518a8ac1c788e0ef100fa12555d8ce75a7c72990b8f2bde3badf9fc828dc2827aaa59785ebea648e79b573b1111ead85fab3136a55fcabe4d4ef94605b17cf55e6b4b13af4ad152f1f602c26c52b6d559f8194494fbf85b03e518ca1e8a5399d5d9aaf536986c0b6c4e8852cf5eaa54f5904be1eaabb5141776a3232391ba60762aabddfc31765c147fb12d3aed512a0b00a3478bc2ce5c53174ea02190531bf69e79cdd230f080b071ff25b141eb31638f3719e76628f59ebe3200bce42e854eced2b382e90d26d9db23c6509a617c0982fe7ccf5142d2fefa321af1926e1c6c78f939047c8d0151ba746c9c2cb87f76f0acdd31c42828d0b12a01656c640bf9675582a62c31c43cd7810c8aa7306d614188d393662b50437231875f35f93b8a2cbc8000000000000000000000000000000000000000000000000000000010000c7a74b0a52202adc2f125a8699f18110ca032af124fcb247b0c3e91752585df343ac4c4df5b1ae907ba9d837e381fe6b2cbe1f471d5d31c461e30eca8ceacb4a1a6d5b83db97c205854e3ff499e3d155037d1e4c6c142d27f366ae87627b38034cbbd0252ff3cbd251d7180a623eb38b9a434f61ab306e2baca033e614aec3d99480d7ab1afbb00867cce157a1e6c7b11f58df23e4879bda3cdc43e7f10a9dba9c98fdfd9b54c22c6970295927c81e2b5740a569f1f6cbad023ded9e51597b3a923bce9c5030d2ac38cc53f095bef4757c3c6a885e587e45d8dd88ef522bb172db28fe2b08309a73fb30d9f595bb11ccb767503f5a597b22762331c300db05cd1e9d67008f14002c949fc1e5374294e62d480e85162219760e05021688c3e3bd81d6894badc9ad30909327bed92f55c2ea045a51bc6b6a37c99a2b6ef75aeafd480d42e79af34214d111b23ff34f4e4849f91482d74e6e38445e0509ade22ed83f6cde17ff1f2cd69dca1ca6fd112a484957c5788838c16580ee4222fbe17b8b84611361378753af113284d85fcafa430ad921a2eb6c25dfb2c01b6a1418ef8c4f8023fdaf1bb07f129b2c7ec8493406509c17312af41d9bc0d8516a5b306e1b9dfcc6175870aa1ac52f7ebadce3f54690f3f47ee5de7e74ad6402587cbdc1629fb9000000000000000000000000000000000000000000000000000000010000483ad0b51bdf56cb9fd2cc8656c398c23d3592016acd573183e2ec77a9dfc3babba21617f6f36878228eff9f3dcb04f8de3e20e9e66b5d37d9f3cf33d5c20e0279f3a7d2bee691942b2654b043e995ae0aa92c414ea694db132acc2f3ce14fd5c7ce37cc41da2a750b47c8bb6a13b1538adac5b236463517f1fd511f7392eae2669b50d826b5c9754c693f11341f44744d1a801877bf62849139581b5773bd9815bb10c653c562d82c9bc84b1d7b56c777dee8ee54353edfd517e54c5a672e7dbefc5c9218643f272afa90f14c4b32cc9b34a6961248ed92add6e201062a5c36112520857d4455cc65488d7fd8176843413685fb1e53fcc7b10058a212ba975e9cb167f06c647e67e97e69fd967408e26babe98e76a98a801a78c44f16a38ab9c2317b6902d90b7f52be9209b8f6dd8eb10a370ff8a99eb9aec7b08c264cea425a626954fb2faa6d5f38379674e373c6e190b2e9ca9ef99b7c08d4c7154ecda44231e3c4aa63a441feddea1bbe1ffb18eb6e50639b2717e220895516f31bb8893c9af2a793a7e5e7ef8d0ec071bdeac3bdece5144073af624fad4277409348caa80856b371c391a835ad2c08b792ca6dc602d11044bd61f1a406cfe0637ac5be90723bd6fe5fe6b20abba45eec8e7fc12fd60ae6150672ebe322c07b12536aa3b369000000000000000000000000000000000000000000000000000000010000663a42798ff360c0ec76c2a12056e23db0d7bfde0abc06dcb10dc3512f148315a5c135250a8a2d6917d3e4e6a9d00b9d1fbdb6f5236fb157b69fb73e6452c23da76e85f1a535fab56e2f164812d5e78458873eb47235791b2de9e87a83abac2e3e0a72d052e58f7dcb2703ed01a639e3eae61366293b1d852c7f0e225482a2eca93e362ef2f8c4e43e05b0918ccf3014d9d9bf5f0b12cecbf3adbdf1a686bf9915f12d9a1200525de507246d8bb35188370a6c4a017ab6bceb34bec35d6be2902227b0407f72fef4cc4be1078845e476020505576e0a59fed1bf177f7e72b82423b8ebe8eddc48ccc871d972338e66a4e5137bebfb7203d4b91f6169821b5ce6d630dc07c8007acbec54754dc4cf4d3b624305d735b43da952d440c7b4bb170b9de50f8a5b6e048490d756868ff6845e9cb2048b95cabe045254218d902e1b88ef8f4cfed653642a3b4bf975d91c1f51299d34965771dda7614ad5d3a9d83130a79dd563fe36eb8c933c8e4612c48ad49637d412cd66925578354395320dcc80239ac7210145c21fc459f45f354e5981f24e5d347931cbc239d65a813428e4a155e8829645c1f719d757baad66e51658e63fd389d42883c3f0aaa1660a89f2b25cac28e26bd01d51ea140275a10cb7da5652d8a4f07ed12dfd64fc01f681cef509590000000000000000000000000000000000000000000000000000000100008a87dd736a3a4397e651c3882b758fbb159eafc0439ae750ff09b7764086b52771a5989b57555fa328e3ddf75039fb20685ead011acd0aba1b5ab9fe80a9b675b3cc310f27eb65021843dee459c413641ae2a72879e935fb3ac86c8892e23898d00976d8a7fd09429c23b9c3e51702031958064d61e4d8615e27bc474b31c325fd0afba5265552d5eae8a245935835ec07ac2e886d2f1ceb28d8fcb5b2cb5c8ded3e994b592285f992562a9444dc903db786ff7ac726d9b3b3f84899150cc73566d5f03dc1da1b0001743a47b32b203ba943cfae7fd71e00bd9f3393ab89fec9eba322b0178c56a7b75f3283bf6fab7c4a79490fd5bd0039a4c6ed8c3004b1193b60c99dd0c2d717a7d71187f041ab2bd718cd953a5ad3c2c29e8ae69220c4f6f14399b04300af5a886a4600e4e3e8d6e2f83371e59b60a5d626a726421135134bd71453898cc7eef521967ea420348a5dbc3237400458ef30d077e8ffafb10a1b2294817ec705f283988e1dc8c1cfbaefcf0bb1e2115f75e45774264b2135b6ef3140e3cb70520b886d4a95348a76c9fc874003f8371cfdee558e164e29eacf30cba0df3277a81c9ed2d8f06881babfa2d3c78149d7f99d01bcb29f6d40290e42167fdd646ec408a7e17a68e0930a11f9c8306e17c3e84d01a05877c35da04e2cd700000000000000000000000000000000000000000000000000000001000011ce768758c11c5e4e2a3507477dfe22b9297931411a5b03bf4e90d71b44345966e75cd8fe6eb41e2afca6ebaef2348a4451ff9feab1f7c1b9adc2bbc52727cdcf4a27f861dc2853e44b9f6e535e0f598afdc2aa60bd0c986a5b6669e4bc8452a873962a8aedb2d4594ab49017c77e0bda076073f9709c7f5ecf0e304b801f9782bf83a643f68d07cfe6290786175ff991f7217b18bf1461734a2650b901a13806a5147a3a5254a30961bd266d313a5041dc5bf01f3fee7ffc6f2e02642f7646d098f6261690cdc6408788a4936eb801bf6130258b2410c84f842e9a8748df0fd3d3d5e8c27cb86921789cb247144998351e04fc17643f741c24760c8a1627c7e6cbafb2463419965d1e0561b2f99d6f90dc6697ba6b1e8ea50146ddaaf7ae32f1341598d914e6e14ce7e410f61f2213cb26d652a6e2e1182e3ebe78612e2f6d66d88854b104c660c6835abcd589b2efaf43081fc7deee365273959438d79638ed4fa20d55afed590ab8e292b7d956c83fc9c55b056ead73d7d110efd6359d86db0a15eb3917dfe5277c864aef174a3e6c1eddd88e6892a766709d2b90412521f63183f340cafde729127def33c224277dc48dbf89b9de4c1b6f34634cc290699bc62092e5aa420288fd1016cf52b830d64188059b5fe33207e6ee2ad71d0d94fc6d000000000000000000000000000000000000000000000000000000010000766c93a71f974b39ce464cbce83548516dc6be6555656e1245c5f923a35063b3ec2f8000d871ac55dfa21b0c9d206f95854a965940e15fd9491e14f0fa4c76f0399fe78e194635bfeaa2f341a0069fb4c7f1d5bfd298590737c5a97283c037ec3bcae0efe1f35cb3ae99c855dc973e28c117291fed3ab5caaccf2bb318aab87fbef0ff77027f4a3bd5aac157089d37f85d6efcc6efa591f1457a1272e1d79cd2506e7bef250a167942c14a8f2e484ca705baec3647b13f860326a6694a669646b6075f84c31b3deacc3e221331c0f865f7ffd60fe3a88cb51a76eebd17019f02b64a8f7875c5a83c4336ba2a8744c52df69698e68cc6377cdb78bc5ece0a94736af286ebc1031f595ae168fd733044eeacdcfc3a51f395260465a51e58937e68c62fc3b91e64d5d9af69463e134eb66adaa56c1a946dc834f4f48ff630332a4e22cdba332de175557bab59e9ff86fa677b6acf62919c4ca499c952b2d07aa5c897010835e2957a447b58588496ad4cd49e99197ed2b7de937de86cf59ecd47e516e85ead69f6b189cc676f6b6a382f9e332888a0140c16c1bc5b0e9cf1fdc4b066324df2cc0bba7c1ab131a1deb97cc5d60a5bb043f4ab8aa0e7a81bd91824d40f042505f1a901870d2a307b7eb2729458913a4c0a40c87a86c883a3f7024a06e644000000000000000000000000000000000000000000000000000000010000c3e079f19e7322ba541a2262bb4de3e7585c6320fec9cfea553d4f0b33038db1962f4704492bb33898c15132d7b097be1cd895c8ecb835eaaba0a784bfc702dad8af479002100875d2e1731b9ab78acd69e989347f855d3657041afb30fedb04b3850354c05b6ed36cecb6a1928e0beb9544503f71df2f7a18cfbef35e83199b35012c72cf7b657128508c71d2d82be9309cd88268984cc16a671033fd945355addfee1ccd011e9537339eeb310ca7b0544e099ecc65d3fe268f61d050b4325ed952148ee64f83b722ea10029f4072f98f7d79a93efc92a5203d6aeddc15a7209a9898a84f217dc410ed8cac3ef925e787dd4b9eade08cde10416abecbeeb8ef1bd3b7c7c4aa395183d2b8c26178048d7c3ba9b243ff94fc3cb0bc822e26eb79e011e651d93ff07c1b1a2396be5dd109d00ab6e7526a1326f52ae889ade1b9e1f0a39464d03450453097aeec06da3e3754961ff698a343e4180f85928effd3474031abe9ac3de09b856d12a1aab2e2b3a51b93a1fb3540a94a5d9cddac3c5258a5cc0f87bea97dd397089f01d6ff7ad363bbb6deaa0ba7b64f89719f5a368bcd88895a8710bc5911a35a65c4b7e7e89f1d55b026d1af411c79ce3bf9771d63332790a48a646e39704b0994bbde5407ed4885dd793b085ca151e5f87d9ad277d277ea000000000000000000000000000000000000000000000000000000010000f2f74958d5638ed973d0bfc07a8bceb2f75f15a7e70785841d939643da973b3c61e82a7a44ab6b2426b781c4716ccbf7f6aab51fa8252e96ba124e97a8d57a48b59140a96d55906a7a64dd1b233fb3f77084f95ac5a3f0124b65463176711789aa4065c022d96a049f3792fa1d46156d36fdc0764aaa343f9dca3bb278af4a84a65d3489c4e0dc85b92815a5a0096b0e567bb0ce8b3648632ce690585dd2aa53000d7f582fb14512bf7a0d5f5c8e39fb7f5ac9b7c8ddbf482b3845a9cdfa308b6fc4ec54c9b82f2921df35e332db7c5543816270373bec35a9cdc444e7f45498f032d1941226b4eddf483fcb83cae133fcfa1293a2c87338a3c4f4c6ce435eb4f9d91e2902d637c1fab8f84964be1b25b29f3d82891768b9beda54ed38d9af69ec4b175cb096c9f43285003ccfa46f8e2e1a375224a83aaf5b6af0b4cc3ad2409d790032f8ff7813b02d8b28e599645e1805c3ae894808fce988fab60b6cfce2286be56e38f02ee7f0f6fc533f8b824d397a887d56d28fa767e628ad44dcfc5c7d6d8ef4761b97cf8e27c4bb40cca22d99b5e9bcc4deecda145bb9fc7f591c95413cd6659bbda3f8e4fcb344830110b6acbc223ba782eb18820a3efaded2c3486f318c501190b6badd6bbe4836b274d7f0f553088da19772134ecec7ff6d4b2b8c5d00000000000000000000000000000000000000000000000000000001000090c63e41dc59a5e70219b8e19749e600f7345af99940211829717a17c70fce3deb53723a1015882280e6bc7c47d3115fdb95adde43f2b0decb8d4201a4971a9bb5b3a880e50a902857520c5afd97a874d0471152e290706c55248df193a989b45627cd1b6cf0732e31d9a551fe56dd8f11ae5ad445d2667bd84b7486525bfa524ef920380d5618dbb594626efd40d6951942574f2df002ba005090e653a90b37e054e4bcf282e8e6ab8fc87defc47ab5fa70e0ed7e2d5dcbc2c003c7815c2510e4fdc70cfde979a798c9335d3399c2ef534e0c668cd19dc6ffa2d2c92b02515603a0c0af101d14eaa0e2f69b9d5a2e313fa85c1cf246077af79a2cabe00db855573bf7b830ec082e7aeeb8cb9e99214ea1627015f20e6aa9b58134960aa45e745117d91b67189f2d70e3ec7354c2e83faf0287e68836c1cea7c0020b1003fb629345a839ec70e3e49abd3442694682c8f9fcb3cfe326c15774b117ca9be03d0c0192716245e1b292c8b1870c9d03ced818f00e33b744d1bdf7b029b07587d419131364e187497ee772a36d98a83f36a88212f9706f02691149edb85f182ddb115bca8341dc7e2e57c66af601807f16af21fa3b63808a4716d4df58c2111bf78bb33e894d040d566c93df672a0c2f6de3cf2a92db51d92285a07092b7d59adeeea4b9000000000000000000000000000000000000000000000000000000010000ca41c6e4ff0f37f83372e18ea174b6cf223945db3bea012685e31e46f66f913cb84cb2c6c015ec0c34cef6c4affb6b92679ac9f193cf95737b9bc7453d4514158fc3aff2e4aee4f56f7f0ef2e98fe009d51df8213bf2334fbfa0936bceb4568554cb0854690eee39e83d64ae29546ef36f54cf2098fc54a41937af706d653a43017383da0aad4ac9631308fac4ed987b9f11fba53a73b754d1841e383fa07eb15043d9ce4f261f4438c1cb33a320a455229af64a7d58cf4e2be57a69c48d8daee9be516affd9af248d514339babd11705c1aadf2cf213f21731392abbb3b8afc41fcad6e35ae886346347661adf16a8898f72f6a08cc7831da12f2449c6adafbb7a81edf4af9df59947cb4ef98e3fa08279899413600450941e900971b8fe710a86e7c7d0f928064a34e5bc78504f67610a6e74a5dd59309fd0aff0efbb7cd5b1a85c15a35e52dbc192bb928142c579b2d965ac4e5b7878afdbb3cf91dfe18b1c502150b4b63b12b15733d9616e25b5a85a5ae33c74400081faf7c1a6d2f09e81c351a140ed194c7623228725db7795e861132ac2a2ad28bce19dd4b225dc5173a1a669d901fe86240cb934969a7036299944fa6060637e72ea67209d766db129ff28922502cb72458c5c9b311796e01f59ad4af8f4cb0568153b0bb8f3d9df6e8b50000000000000000000000000000000000000000000000000000000100009de5a63a2bc263832dea231d8998dd25bedab1ab0b3d2cdaa824c21c9ada9d48cd9c551cc3ff55ebc82e1029bdfb77ef9628a18f74ed3fbe8881a82509f7926339c307ecd675c4f60729a4fde5c448d532a89decfd4a5fd903a4f11a340732c1bdc835eda77d6272bc2d7bee8bb4540a7f574b09db51533245079d414f67473395fdb9fcc07a6204d07bdfba198d2fbaff5df6c00f48c9e5fba759dd9b0f90a91aa22409414bf4d077f55c24d9cb5f32ae7ec30d8b6cf6c568e4f5a2208f34ae547dc1d55cd566030dad7bbdfe4eae63042bbee340dbdcd295e79c2eabd4827e9305f7224ba1d8b6622cd89bcb12f46192e7a68ea5302d2df740d105f5e3fe23a85e6b65b5e27eb3ea4989f7176637753b613771c280404da53d2944a5f5153ad99931e75a98993a52319ae9f9e500ac94c55cdb4977e87f89e1fd3b9f0b2f2e17786b0a551f706ce4861762a45cf8065664f36c21aa5bd53070a2be92507d56264b044b4dfddb7e275ef4215d4325a416bb5bfee09126a71d2aed1451b39c609f7a732ee5223e109fb64cc6668758f1d1ed27f9cb837a37904e63cf068f97bc2e9ffd07940d0bddfe2931990c72329c3b7feba7a63cff3aea963dc5ca8995b44dd16acd41f693db647673377106e3140aeba32f46217df6fb8c13f048feda3d434b00000000000000000000000000000000000000000000000000000001000009c0828d381409dfea3e7f0c870968c9eea3cf870ee91b32e91dd033af36195cfdb39e08a75da5fb80bc590d0173aa0ea0e6f23d9e9af71ba946819225bbbf29b193aa963b745da49c5904d78fc07af42a629bc5b8255b0c6ac3e9bfa3f2e434aa993aac5dd5a0134931fb2398ec85ee1fe183d6ebc86c5954fc37da877939c03ae27fc0d10837c82641d5b71135712e37a496c634e486d6f84a7eb4062b51f6734e33bb14ac57d89eb62013eb394ce462fbce1f8e5b95a2b733f3b39217eff0b2ccdcd86e28f59f9012e19584d9b208f9ad1df6e01052d217929743fb08d615c801a3fbfe10f2786f0047c1cc64f15065de0c160586afe552950661311952ab7c22844d0de7d988693c9cbe45549df622c96a2540264528611d32ceee0665fccd55ab55cd1cf84de50e3685c8f828dc2b51a0a3cbb9a1b87e681bf26c35830f1e14bd22656f01e1d5b8964141a609aa75f78d4db60985bede619798a871b9674911cef91669b384546563ff45e9ef510dd4fcf84591a2c51d6aa5f942706a1b79c7b93641451f60a65e228a799ffbeaa585a048bb038edbf496828f38853ff9d17a9c84272e9438d56774362c8be09eb3c3da43b67c438fcc356de09918566f4ce100ecf52f1a8fe317e6e000f17e73f556c94ce4686b92d4bca9777264be3174b200000000000000000000000000000000000000000000000000000001000034eb5ef75f750ddb59ed2809006e54bd474bec05650de875502e34be9a82148a8b0eb49b1054ef21b416f7e0ae8e88c4bb43c26890222359cb6e41de041b7de2befa012b1b1df65d0ec63b25e8b004f62345dccf39395cfd591261cd984b3d97dc7301c20de0de413e0984bc967bfd0216a75c6036eedf91f8c17c8df36fd7a5a907837df3cf3a994db0e1d8d474ad42e9ca0182048a27059a14839532f44a70ef9093f72c99b6c687aa3873b66b027012cefc853476c020796fdfdec62c3dcf30fc13749168b1a9e907030478500cceb6465ea2122faab44d6a12227d531cdc830a5b9d0a7bc8c74633218d9f0778016e2ec1cc8414a2bfed47a46c577c68307c21e25fda62f33e8611ba87ed393657d5f2e44086ced41f03393507881afe862d4ef8964733e7f6e81c921f8ac1fa1ab16bfc7c8a85543d34cf33b616029d5a1ad5612ea939f2914f736535861b53c601fa0f31cf1bb756b8977bb9961491974499ca346fa5c668b9894a35fcc7a08bd8e5d931adc1cad3f4ff738a3bc13f20897180c2694e82c53d5198db335450ad6a04b573b7eea9f0bb5d8a234619e076ac310b30a6a49a180361a0c9db5b7580a8e5318e8877d41db962ecc461ac392ec88a66260ff71a3c602a7a6edde6ed7b4d1abbbce3d40b706f558c29ca80f57a9a61000000000000000000000000000000000000000000000000000000010000ead5c7063d1482c18aeff119c2e78122c697e4ca275873d92ef2cb1d61c976673baf71ab414fc7e0d8ef6d709efea456b4241f3d0348b6d775e993b9843478bd045512d5ab239596bbad18705ce7eae6c10f78cb836287ad2e35fad963a1f41b294b2a3d5ca3ca0141c2535f56f109af9dd40cc42db0a036e71b855cf75612803251fc11b3c31131a2a512292a00a1e415d5b43632d1b2f601e3dda4c42d708b6328648c8fac836645893577cdd681174f137542d1fdfc086079d2a00cc2c2ee7dbc1a04bec835afeb74231545faafb6c2b19cbcccab0b868468bd9c433aa76366701f1acecf216869bbb0a5a4c9bc4ddc6d63f8ac63600662992f7f80d7fa83858bb3af47e842b1c82790759ec84ee3ebd37db0f54b80a30917ee5cd3da4d48ac71d0d2ebbec0e37dc6ac23a8b34075663d661da50d0efb27813708a9fba0ce2b58f066699b4ba2612ec8a48e1a82dc92e5e2ad60f2d165d3266b531097b62da9be4e2cf7c3c4321c3a8c0e2188ebea9e5da4927c1cf70e52756cfa9a835fe69adabad06e9d3dad48485ba8d64d782dc0d1eec444b299b6939c46e01bd927d0ffe05f76d4d5e4d32a544c395560a46019e9129cf70f7f63d15f093ae1c87904e3fbb7b997481b9eb7321b73a398ec114d5141fafd6e376d00b8d8d1c5270dac4eb5000000000000000000000000000000000000000000000000000000010000b2a9cd8ace68110619a7d347fe7fef35f827af972ecb55d9ed6bcb9c181fcd4646727494135baf680d35989633cccbccbfe4af2096cb17afe4e03b44a3a65be44ea19dc9e0b33de2a7886f19939504cb8aab9afd5a5e1f9de1558b6c4a4c9c66fddf6362e67163cd66f953f5c790c6e783d5508a68c532555a8d2a5c6da3eaf444804ed8faedb98ed4e7373265dcb3d57a66fe7f8a34cd0af0b36e5705ab01874d6c3c7d4f95f312e84bbfbb84a37b1cf49ae6e4d1eb412c37e47be583f7353daaa9264b34d58e4f9f9adb95ff6818ec102c47049b7fe0cd6a6b287309adf1fac3b7a2f3b6cf425673f0a8a6a16dcb390a39bbacfdd674323632852ec028ef91c62caabeba6715de2ecf8f860705fb463a16113f5b97df3c9ebd387569070060f4b6a72f60f4389048911df3d835ab909d1d4b62bc3bccbf38a4cffbf9772d4874b438e47452d40cc47c837991aab0643dbff7f70f2aacf33db010fec4fa5c01539066dbc6c8ab6c8243c29b2866e7923158f14da60769ba7ca0f11222ca3afc35d61c149eba656dc6c3fcc806953c6cd18a6e26511f0072f3aaa5457416c513cc830eed126c39d06ce35f96fc9ca3a5532db262df157f7544a2114be21aa6869c37c3f384f53b2c007f64d2c94bb47ef06520cc400253f66707cd484d96194667ee00000000000000000000000000000000000000000000000000000001000047ea82c798884e1f2b55ae87b55171151960ca6a4a0fcd7bd540dded1c786c802481c5b32a2035be8e5d3c6b211faa11a6985656bbc32b7f7e1b0eb1b91bf2378a72c617e91aea0c3c8f2202b043be943d23a25f71e70e253ae3ae219df590b911b95b5338b76287bf7f28fcbe39bd6900d539f42139d62708d2769f5402cecb58172474095026cd0af0e89a4af78112470c853bdc0164be2facc411415289684d866b58b32e014d20977eb5d3ce00c2aa9be0058a4700b66f54f4be3eb56dd51d1f0af05cb12e47fe63e88f596ef44380a24717434cddbfa75d6bd325611be2a8dc4ffcd544acdf5084b3a211454d90f4c31cb3592d50bc377f7685ad7424e9fe2a6d62123864054342abf4eb6ffba59329c468cc5a9bfc3534c96ebc1ad1ce8f28b0dd7632a506d31503e74c1e5ce69d57eca9f4e34848d30d9811d1d34f7e80e976d676efd5e61b675657b05dab4edb83490f4d3817b31fc932d52ffac790627358c94ca998da1ac13fa1068c59ca88d60df8e10ad646635a7df61f018d4273f2dfffdcdb2e5cd2974b0acd600742847b55bb2f67bce1e09287e73dbe604847b610edfc7a7de8d272ab5ffda3f3a37d8c895dd80b40cd4e5400162586e740bd0430317ae96013720436a6ca9fa873151e56bdf88969de18a6cc7e5736b73c2d6d000000000000000000000000000000000000000000000000000000010000381d51555686e2dae4663a577d5419e708622cdae02925795be1278ab63e619de39ba6ead80565998e3c327397c9f6cd9504fa6a7d655579dc9ad54b5e6fcb43bf7879c99468562a07b6f21c1db48baa1eb193f3ca67ff6450e52e4d81eb2664713ea851dbf9286cf6b7b4bea31d4015e17beb03532853d6edb6adadeeca64f8bf3be8954b52eacf62f05c465e0a4ffae996decd4f64d6929ac3d3c66459db44e55e9f95be0d64510694d9afe6da75ecdcdc52774006b403df85062c4242bed6064e3a5d9b0ceac4d86f390bb187bcfad9dc954a7002466b4a7fe5173e66831abba470d628ef6cd75c1f9ba461e8f745478f59fac0d7bf10e54262acd46c6970aada4aaf380545e4fe51d509ad48a3e030304ea6884acafab0bf55c8fdd4d185842b871f1761a667f55ac2eaccecdc0d70d4e05841a33d9da218cd178a993dbf50f1104971ddc93fa9bde80aba8a0f3f4969c9d0fdd5f09ec113a5481f6e4e97f8379fc6f6a4f54d002931a345bf784815df376a4d7757d0b0436e5cb8334b02e27ef5d0e82bd022413bc9d550cdf647ab984bd52016d361751ccb9844f46367db56da70d6dcd110f18cdb052d9ac0711c53dfefb40af723e1fa820218a853528e80b53243b415725639c024abbe56051195883298702fdeb0492b5102c44d4774300000000000000000000000000000000000000000000000000000000100005e31a3141139ace7fb4a680359db9ec37857cc59c015557026cce82701c5ed116b7841659b49809d889087dee22f7658c6bb5297714036aac08c92a49917af130ac26e3980b59779085c398fc25fa4e19982e06bc85ab95876bc1878684220194edab585c0603819faf7d7a7bebccd229418b267096a1b02580b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""}] \ No newline at end of file From 2474e6b5da7b881561f92167fe1d49ae586f4e41 Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 15:25:27 -0400 Subject: [PATCH 20/30] add commitment to test vectors --- src/lib/commitment/test/Commitment.t.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 229b67e9..80e25873 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -12,6 +12,7 @@ contract CommitmentTest is DSTest { Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code"))))); struct TestVector { + string commitment; string data; string namespace; string shares; @@ -47,7 +48,7 @@ contract CommitmentTest is DSTest { function testBytesToSharesV0() view external { // test vectors were generated here: https://github.com/S1nus/share-test-vec-gen - string memory path = "./src/lib/commitment/test/testVectors.json"; + string memory path = "./src/lib/commitment/test/newTestVectors.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); From 51b848b8a0a38545978d95bb686177965dbef98a Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 15:35:38 -0400 Subject: [PATCH 21/30] upgraded testvectors --- src/lib/commitment/test/Commitment.t.sol | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 80e25873..18b630ad 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -48,7 +48,7 @@ contract CommitmentTest is DSTest { function testBytesToSharesV0() view external { // test vectors were generated here: https://github.com/S1nus/share-test-vec-gen - string memory path = "./src/lib/commitment/test/newTestVectors.json"; + string memory path = "./src/lib/commitment/test/testVectors.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); @@ -83,7 +83,10 @@ contract CommitmentTest is DSTest { bytes memory data = fromHex(vecs[0].data); (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); bytes32 commitment = _createCommitment(shares, ns); + console.log("Got:"); console.log(_bytesToHexString(abi.encodePacked(commitment))); + console.log("Expected:"); + console.log(vecs[0].commitment); /*bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; NamespaceNode memory node = NamespaceNode(ns, ns, dummy); From db5a04bb1861ad9afce3252b46ad22123543e80f Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 15:55:06 -0400 Subject: [PATCH 22/30] update testVecs again --- src/lib/commitment/test/testVectors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/commitment/test/testVectors.json b/src/lib/commitment/test/testVectors.json index 24b4a96a..e84cfad1 100644 --- a/src/lib/commitment/test/testVectors.json +++ b/src/lib/commitment/test/testVectors.json @@ -1 +1 @@ -[{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"30f53685d7ba071d3a805e8561cdd59f17fdd6c1cf57de0ad12bf2e8441072ef"},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000009972b8e233335179466401000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000009972b8e233335179466401000001df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009972b8e2333351794664000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"11d9d055bef2d81e0f69683c5aff83dc47f485c197e1e189515ddffda6372fc7b91ea02c48d19263057e8eae50cd636e904fb6ffef9229cfeb7999fa50ecb7b4dd9c481c7bab95f1f287d6c6c6c935bf5daad8662e66f76b59648559c9eeca191b77b4776821a0ad5a1e71b412724198d9802ff7d090870250f4f26bc71641f4d6fd8dcbf101d1565f345b73b0da39c100000ee242f30ca9f790c593f046e7633657fe6421f7d93ec10e7414fe24f47f65a7b8c57cc32193af7757c4aae668797dc38c540338d59da04b8db60717be109411babaabe5b18f6d36ed1425734642100da2fee58b381f41640409e1219090e8921d559f60a3395c0fb5465030d81c77cb7f2631540bd6fc58e5e48781c47600defb8c8555bdea6b39f87f38355dd5616c357d861c5421a91c6ed997815349e85bcaff2e2edd5f831302a5eae53f0e950ebf2f00407e17ff6293066c03b4b9cc6dc618bf9cccb688282550da37ce33a93043e9875ca46ca5409c450d98da47a67ee8f38b40122dad55a3ff027a92afb5377827f9716f4b34739d6f6935bb1c080d1c7ca00ca0a37e72ebe88ffdcc92b0cf9cadacd75ede7a45f54bd36846a5008f535af626e6aced30d63a14158ae3dcefae45b9fd953ab7368cf1d05657b80c648bb66e705f4720be09b08df8d6dd34205140abe7bd53ff17f855f7b15a1a1f38be2e45e5b5c26cb1f16728793a3afa76b6dbdf00564ccb0b6c85ee54b497ee4eab81826da353938db9138d94a09bbb730c51abe77cc91d87b146720a9f09f29f050e0f69aaf16116792f154d6d21ed10b41db5c9d6355c623ed9b8277d50721b088ced0ab7a11d1464edecce810f0017b842d7ed9cec5361ad85bb7a5b361dbb04467363b4d0921a695c73b853386dcaa6005efbe577c9f7f06f76028c464faf69bb28fae8833a4ae36040c7e8458d70292aa9e23a6040f6cc3c823134836db5f38cdd010d400424c3189c060b6ace5797dbc9ae3be2cb2501767b377f6fca3df08ba6606c2a84b95e887530492b8a12127a73e2cbe5a2ca43b51eb5f20edf19eaa21ebdc9a4a8c2847744e97a8be76b34d12c45855609dfe71781b64a9850a2ba298ead236429c80714b4aa89d92839cde488c05142e571b09eb40c95a354010a2b67d97ccbe7cd46349f6cc2e24ef00c199cd790f63675c1527c1b3de139bbce0bc52258ddd06d1973fcb8302bfa06766beca14a9470a0de506be0ad02dfec9d121b5960b84a272c0176c7e21121894fb137e2f577333e45a531670f59e960e71d1ea8a434ca6ce1dbbab2534ed369f0a05b66541d5c8073b958a429e54748985439e4ee267be0aa139149775898b2e09cb64790fded402555315997dccea2e58b859d817d7bd0b0fd4659709915012ef7ae0429a26342ad2ebc275315d5995eb22d77487f210eb4b673cf33c0","shares":"000000000000000000000000000000000000009972b8e2333351794664010000040011d9d055bef2d81e0f69683c5aff83dc47f485c197e1e189515ddffda6372fc7b91ea02c48d19263057e8eae50cd636e904fb6ffef9229cfeb7999fa50ecb7b4dd9c481c7bab95f1f287d6c6c6c935bf5daad8662e66f76b59648559c9eeca191b77b4776821a0ad5a1e71b412724198d9802ff7d090870250f4f26bc71641f4d6fd8dcbf101d1565f345b73b0da39c100000ee242f30ca9f790c593f046e7633657fe6421f7d93ec10e7414fe24f47f65a7b8c57cc32193af7757c4aae668797dc38c540338d59da04b8db60717be109411babaabe5b18f6d36ed1425734642100da2fee58b381f41640409e1219090e8921d559f60a3395c0fb5465030d81c77cb7f2631540bd6fc58e5e48781c47600defb8c8555bdea6b39f87f38355dd5616c357d861c5421a91c6ed997815349e85bcaff2e2edd5f831302a5eae53f0e950ebf2f00407e17ff6293066c03b4b9cc6dc618bf9cccb688282550da37ce33a93043e9875ca46ca5409c450d98da47a67ee8f38b40122dad55a3ff027a92afb5377827f9716f4b34739d6f6935bb1c080d1c7ca00ca0a37e72ebe88ffdcc92b0cf9cadacd75ede7a45f54bd36846a5008f535af626e6aced30d63a14158ae3dcefae45b9fd953ab7368cf1d05657b80c648bb66e705f4720be09b08df8000000000000000000000000000000000000009972b8e233335179466400d6dd34205140abe7bd53ff17f855f7b15a1a1f38be2e45e5b5c26cb1f16728793a3afa76b6dbdf00564ccb0b6c85ee54b497ee4eab81826da353938db9138d94a09bbb730c51abe77cc91d87b146720a9f09f29f050e0f69aaf16116792f154d6d21ed10b41db5c9d6355c623ed9b8277d50721b088ced0ab7a11d1464edecce810f0017b842d7ed9cec5361ad85bb7a5b361dbb04467363b4d0921a695c73b853386dcaa6005efbe577c9f7f06f76028c464faf69bb28fae8833a4ae36040c7e8458d70292aa9e23a6040f6cc3c823134836db5f38cdd010d400424c3189c060b6ace5797dbc9ae3be2cb2501767b377f6fca3df08ba6606c2a84b95e887530492b8a12127a73e2cbe5a2ca43b51eb5f20edf19eaa21ebdc9a4a8c2847744e97a8be76b34d12c45855609dfe71781b64a9850a2ba298ead236429c80714b4aa89d92839cde488c05142e571b09eb40c95a354010a2b67d97ccbe7cd46349f6cc2e24ef00c199cd790f63675c1527c1b3de139bbce0bc52258ddd06d1973fcb8302bfa06766beca14a9470a0de506be0ad02dfec9d121b5960b84a272c0176c7e21121894fb137e2f577333e45a531670f59e960e71d1ea8a434ca6ce1dbbab2534ed369f0a05b66541d5c8073b958a429e54748985439e4ee267be0aa1391497758000000000000000000000000000000000000009972b8e23333517946640098b2e09cb64790fded402555315997dccea2e58b859d817d7bd0b0fd4659709915012ef7ae0429a26342ad2ebc275315d5995eb22d77487f210eb4b673cf33c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"000000000000000000000000000000000000009972b8e2333351794664","data":"f36c3d3261f7cd31405e9d13fadd290715693bbacf60e17e4383625b7a82953d771a726e572d532ee271e3b26cc90309e84a1a3edc2f1a3efc61e8f05f4d07537768c9e5a3db4d1f1e65a2e7ea69f55577a519446ecbde0aba056b0e74f1471b6451bc69c622841b1ab43ad6aca29087301699ab10ff51ac095a450954ce0dca1ad1a57fdabbc00fa25a63bc6b8945bc6330f24b4a2fd9de6a433c92a3defc4abbc34acf0d8aba9d0729e49f23f44e9cb4c0c1c0e83adc14257a56cf3c267064a31f755ecfb2fd21db77b9701304250039d899ce03cbafc4cac0d74a2b506e857ef6afe30c09fb194949626144b14fcb3b468f23a474a302b8a419f734265f863d5dca27a835228bc7721f9cf73af29caedec0addd0915484fafd89a0d0bbccb181b4ba95f08d701097fbbeb7d225ed0fc2f695a16e79e83dda70c432d242bb76c2626d9cad7b474a7b2fc5827a77df1b2bba8181a1662cb5bef9089ce31f1f9a7db8abd53447fb3c01e07bb6a831ec9c0ce1aaffe773842229ac30f8c066f6d09de02990334c4d0f3bd77073ac7537f63dfa1a3c9b2ab051013ab5025dcd3f921fd2c37e1c36afe609bfdb4a79d3842773025c0686108d93830b60c49d3de8812df2658e84b8d1cbbe1aaae456d7b529aa3f2ea3fd70882e04c6471e56011956ea3ec2fcb7ec1683fa78d072f7509ac4f4e1b63c0d2fd5c1f23099b43d8e3635cc6019b8ce911ca95d25fc39aa176662dffa2fda1bb862a6f36948b19221f1660a0e137bb9a98892fac01a67ab6bb03bfb75223ceda851bf93b1ce28a241ccad5026a2353a5261cebb9e4f84666589f2dbe1cd2ccbad03ac06849e0e033265e0556a86a8f9b217ed427a5f133b0389d3a99e1bd350bb15cbdaa7f0df16b10fc78dfd517e189b54d8e7022336d8c557957c5fe50aa5bca5c588f1cd826afb3ab1b3805ff37e7c1912ece12eda58dfaa82bd258e323ba4e45d717b20456b0c33a1a20df1db63a65c3b8d86123b316d7f4b229632ee6d167777deb0f268aa8327fbefa22d6c3e00d506550232c06f20a7459d7d02a291511c787b56590402eb6e68d7d11ddf930ccce55af9543443734ed65ba015017e52be83639117f0adb83488f0d659d50096e1adbb32bc3de4267c4b3b105ee370c2c65ff66e19cccbe085186d15e2a78d53f4351c958f814ee077fb06e79c57814fd8545b0f2bd5ee597c3ccb6c452b91112b8162e853e08638eb07e8e221c8efa77830686f000784b39fe5d748d3441dc61bf1017db3e6c70d57a865b76c7da6fe44425b6104041fdeebfd09edae64aad17187a341f96e00e7e88539c3e1fe3145f04d29fdb8397cad3043ac82a2e77fd9dd8fca4a6791cb398a041ce3fc3d26d0ec3016ecc18bc05de4eb225c8af1ce4c2ca946f5f73b6c92ba458500a6a2be9fed31ab1103a1003492955f6e17e857d4211b4f930bd343018cafe1bd51904a54462b80cccd68d67bff8ef9b2e4a0df9c886687fe64878cda61ac4bbf5ffb37d30a0c48c27b7dd87bae236ed390189635ca544a9386e8f084099856d1477b8f4298d92900e536c12ccfed8ca48b2bcdd15a3cc9e33ae40527234bd4013132bbae482d558c6c9a20fc4a1ca253ce95752e630f2368aeed9f7751038f8cd7ca1daedc143ccb4b35b5518df152c356a9db92ed3004e98282a2053ca8fd3aaeb6662944a22aba709569f7bfd0b1e602313f13419182a86177a04f975c9fec6b0f1a9c85c553b7c6e700a7c0120d1e559ba97391e7e1de1b2665e770452a6123df9e327fe41601dbbc793b887c080e959d43e90493ea4c7a016972c0089e0f34402e3d34b44cf9c735092b7d95668ece8eaeef1f5be0ac137ea1b46c1ebc796a4c18ae280202f653789367ec33259ef25634ee7ec8127875e12bf4ad1d8102b3cace90b10e0815a86e5f8c262ea5517ba528bf025d256b624f142b3084e22b4bcc0aa2fda56c663b7f8535c932b6cea91d6c2facd241eace68d17e6bf247947255b03b3e8da97d926edc1f8ecf0951ca601316895433f01a8c12fe4dab68b89abfafce0ffbc431ca0112ab0e9e822bd11845c95e00ccf691a953b9d87b437b43e01df30c56bcf6c548fa04e8ec8e384091374742b2325548ddb639802141815b2f9c9340fed94228087dc0add3366b04a32b8625deb81ac05ee4b443fd4ef139af4362f38fe6d28d4ecf6b73ebc94a146059f797bb2fb16e9706b470dd6c08542ff7660403f535fa8f2bb9d0d718e56a2feb035a066b57180e267633b8813a8f9c58822d9321ddc2f685e84bcddb94696d3ad881ae6774c1f68ee8d606c19cc1b496633cd53ecb471323360e6547df9b5134826b0b6afbc0a084b988327b84a01980acec226651ea71f577b379eb97f37776b9c4cad769f2723eb97932c9f771f78578b300dcd04bff25d04cefe36e85263c1e666241cc40d5983ea7b32085e8077a5e1241ef49e81426e11bd0a939c7783110955af09b450ae86bd19deabe3797d61696f9fd5e002034ecc25cdebed8f73ef5631613f9a7f92329cf8ff7bcf3f27610c83ce18a62e9e7b3312d1a638b087e2a9f5f84e6e70c6a37b0b27d66b49ef4d856a0a7afbef9e960b2548fb89c97f378aaf01e5e6489e589d8a6ab21bd473443bdb9fdf0f37100b0f8c4a5bc49d7032841fde8ac961b0913bff44dc0675c15200897a9feab3c1a5e562c3573a74547d34d1071682fff5c080c227d1a31c8065d5f56062b065bc22fde75bbbcdcf44576bd701f62ceb23e773896572beee50c4d8917a641bb85501d56735a026c0f385ac6abc7611a48ad9220baa1aab7af86d04cd6801d906ec0dcecadaf64c2b931430cfa397cbe70882b9a71e153fd9986c6e078e4e7141abd25734a7171e3d2121693699b828fc2ba783da9565f92feefca5df1958b9d5fcacc1927d5ecd33661120f30ace4d3e34543fb0861e17c1e6764cf4f1bb7da2739c3db4a0480193212792cd21a16466e21a7a10e5967e47fa64790c8b114fdf96e9d989190b7b6edea62b6c1f1772de112cada59f8b7c38a5fae747eb403611ffb17041e9cb25694bdae3c55cae48198244cd669b3dd5850e815549ff4fd42a66298a566ccb7914fa0143413440718d59edc5abb2a59bd017514a704105fa0336d10fe95c99c480c353d0fffb73dd5de79a35ff68f39020782f0d7c777e960ed94b53ed1fddb9f86e2a218b7b249cc49bdc8391e8c5f710399f64783e12f5b584b427c0c3ebcc9fa89366bf1a853e53731d23488ef4c95f0a2f1c2bf1e14d8f9cdd19dd44e1ebe687e6f01c677c93d87c57722f3755f56b9297dd438959d7a15c449519761e6bb0eecb5739859a543da06f54fd1bc50fbb39e8218e32b9c642177e5b92c91dc7941d40f2ed851ebc1973f1b633e9768ad8ba324464c56e7f6c453257e1a63658b961623777be98d5e1982e527d0fbf01cf842315111f36a489c69ef860ed3403d1baa28f0de3b603ee8991a1d9547ba53f8f1cc4516e74d1a50d17811e97a12799b29ed43fba2ea6c822c4ee4a47d82ae30a0276192ab040a5f52314cc53112ae26111ba528883fa4e66ba524ce001bdebef2cfab29b0db288b5bab62e74629624fa241db2c8d0acdb98fddeca45d78915d02f44cb1c0703e77a4d4784b17ee34d376d2b61ff2e92365b8fae92431edaf76bda51b8201317aec5e8c8586e4ca2938fad16e0ee11eb568777393ba875ce7c647f9b651c880df19973b7878319fc75faf27613512bf31b4473f52a39f416556adb2b18bf47edf180f664c70394005a38af152741c027f3c082b9aa274fc5e1b7443bbf666fc07b96d2d969687a2fa604810b32f761d73efb74362e32498a1746f6aea62782d7625d9785938ce14f8d6a8e5b6f2af50840cfc63db9edfb02e7348af58323007820422d7d65fd25461ca9a7addc7f2cfca9acb2e94394ba178e173bcd47ab6bb16c0df1a1f470cd89f7d953553d57c219a18292961e8d9a7491ec8524929f21c3d54d1bac40d6bedeb8fe7f9f3c7068bd5e1b2a1e499a36e4ad025dc5a8557305693af64e62e2c8e811e6acbac5580ccb4039e58e4eea3d08ed60df8549008370f3173bc27e60015fc0949dff5cebe451717cda4ae7eaa0c71fed87ec8215121b4bc223c17cdb5b69954de33b99647d8228702a9f6646930a5bdd786f12897309c227179e0520777df6aa498e2cf35242a6b76a6053774571b6eb9fc0a5b444dc5e869966f5ba1053e3a47f11493d1be874e8986b982cb36ab01da9d253166aa6fe35c942e36cd6c721c8c9a00242d107e60679054aaa2cc3a6d28d3a3f5a4394d71179c9b6a563cdfd5dc8e3bd879dc158781a15c63670f8c2256da0f630caa889a3a66c3f6da7d6846c379e41949ae70fd58ef6a15c8036b7ba18774f151dcab6892fa8ec18cdd32aad57eeddd67837d4b6bcbba6661ec049e3b57ef579b8dfdcdca3941e33bf6e2671f42e2ba58aa01a3a779b431d16c5bd64d3d762fd2ea2ed1a2f7da4d6ccd3c8bbe6a61f9f2f31bd625ee0a8851b8313d431ada2f9ac4165af1eaf59eb5a48b008f087f534ba8522e81eba58ee6c23e134bf710a015ee58538575b11c99348639424d34101ed640cb984652636b2133fe14a7869e4a3228c1490627ff18685c46dbb0325dfa6bded3e9f0af81d4cfa9b060b9eb12a1a8e8e63f76bc015b73bcf2be1abfc062c61697d974efd8f7875abaa91a95c64b0401d07b9741f234cf79b885b367824d7723e86e51cfb2ab58607b7a22971b112a905a095af9b5f0e68506bc9457ea23f53a2dc571016b57e9b7a4a487490e6098b568165224d1c4297047f4aa1f3975c65ad9067ab12024d490fa9236b2523524ecc0834a95f770a1fcc9088057ad29835db6c34e571ed866a7af4d77a977ca7899bbcb87ef628ec476e26df04f9a984321e4db6a6a2c81f34dcc6661834ba044caec8cec0c84ed82881449d453c39629b69f3aba0c6d13b530fedf1c7172d3c2a02b85ea204938705f0df7974db1931d02a7d3772adae745601a37221b4719ccf2dd9301ec72d267f01da836ff0e2a889222164e26d47c66d109f09ac411b1a948c6553311cb8840cd88e90ed2fecd87dcfcc0d04bd8131d28d7cedd79b106422defb24a48558b7f460159a5a0a9dcef67f889b908490249eab967166c3a1b3c3077e7ebec63e7adcfebb9bede45b971386435fadc1061792d5a2efaf6d5c63f9828085149d02e660bc1db7c49cd29680bf235a63b29f1f8f6f8ee8f7ada6ab6e78fe80bc3f09f929c637a138a65113ef931cc79bf56730a9869d7062893974b42d2a8560e8027f03b1960509300f7980c0817fe8eea2e853a74520ba9545e72d1df1204c7a7569a7018134aab2c340b15c8be700165fb17da2e70e7cf724e0f89b8085a4907fed4812182fceee6a5c1362a4a9e1306b6767c9c5c473e92fdf143853140c53586aeec3575e1e3f7fe0c5f37803cc1592c33ec3a89931a27867be4c3a1cd5e7a51a19a3bad16324792cd9a6570e4e87664739a40336523a13c0969e0db1bda5cdbda34719976c9540f4f008b9bea1b1dee13662828ba57b25eb438d827ce5e24f440003b49c7814ade7c2d6db115d4e3fc830464521caafc2e92488d0b305c23bcb354aa409ad32c2a80c8d267ee11465e41383be760a090ee41832ee6e2c805bc8dd30bc50c0ab7dc51734f982a522d931be5bcca7868f1b8edebbc0b1cf320bc6c8dc15ccda9ff4dc87c1cfbc0c22cde3528190dd483eee93c964fbbc15d2edbf6a7ce47727f5bdf1df39ff7ed97e03df2debac2e379e2b8201960d5507a34caa3d7e4cee0b0e98248e17307228f238edda4f3674ddcb41495e6e82819df18d05edbaf87fe0188e2825a9e5ff8569307a2a208770a27498ae16d095ac9e221b97f2759fa523f872fe3f76bc3b2bcb4b48cff9fe0bf9f5d42737e14a5c90003e0b090de64408f96aca8b4c8eda66b5955af971b8642825713e93b4ce83c1ebf6026d8c6c37e4b869ee45e2f9e22a633c12aa7a11506a4aafc7a51857727b8565758877878118e0330f7e3874a1e53128f0b5600241bb4bba300fe1b89186ee39c0d0c3e0b4c401b050f5d16029850ec76c9b8ac18b6c160a50c089353cfe330fbfe52a889a12e6f456eb2708ed8fd7c673f76fbf446165c2882a39b2d8f35e40c5d92046b71afc40e56fcc32a62aa419ed7ac6db223d813881c5a0c5831f97e97434f666be63945f40100e41405993f49707410456a7b7c6c74a40b13c5f4962f0f679c7fead2195c62f2e8aad21ef58885be828531a0af108b4c6d186a7e2c6d477a4c007a9df8c2c9e69e3d24dde5138ab243fa6ec84678d0514a06a72c59938901699712b81b0bb434824abd912856c4c645a07880241413640d51598e7827220fcddc5b90f4cfbe4f4a737aef3b9dbe1e04af73a40c65817f5208b329e226af0dc460da8195bda0d2c4854c60b848b7aa721b8a0c96779a12a57531bb4485c8be14fe8094a676118a9139b506181ca453cc006c2965f9dc4897319134c9d705594c2f8e980c1be778c0cccaeaf7102f076cd451cbdcdad7242c07ddea6454f7d687bcc2dde161451086b51a5bf183b078bf2728b778013150b7575a5c382252055a0f7e75c59dc4f64f0d9f8463e44e69015819bb887e8b8b93d8c75161e4d17308ec1f6b7d5a15fcf91cc446130a987a8b12cd0f2acf412bd2f97e9fadc5a1737931f19ec50d7aa6f33ff721695587a2e122e7dfb26ef058233a50ff1d7dbc28a8a9a763dc2232bd96133cf783a5e1ab781ac72d5cd64f0c5f3b62819c1190f081a1d63fc8f433ac20d84e4f499d73c3dfc0cdff88513213379e6a4d46752bf79fe044f8cff294a6edf32fdc67efe3a9a6025342bfac5ee297dcbdf24bb28f8ce15ea87b68564c2063d7965565bb196cd434b241c6747b25887d1b42b7c1e46e676ec998f04e8b69c6d43fd69467860d6ed549ab5268d5be9dd766477d0007ca5ee6c40d9fbdb3e3c87058c80ff7da284612738df6b424bd85f2a34d72337dfb69686383dc60c0888f84430162ac0f0d87442be61c365f5c877f7ff5ad42d74538863cfe73f918dd857941f80f23a64777f85d687429c5f22446d35f3be1610e35678804c849272c533a89dc35fc2bec206d8600df2729075abf5e8b0ea8e093acf6f8ce3905056018d65ac3b678aa790c58f310ce4fa60335965bd5ebc5d46c90af6a240662e80418343fd63839941bc6f3cf805fef95f255903318cf61b4820a8e68dda62e6d8aa46c8f6c7c57a914dbb81b4e7ad4869f61418da494cc8dfefbc458561590e70a22cb68a8aeee422ae184707e358a418c7cce5e70eb38d7cb40ad03622c4f27afefc0dfbc9dc76d5d0376b17ca2fdab195bd2b8a8ca4dce4500d6b4c3b75b2603bab7c3f6b2270f0def583f71b287050c090f597daf00551d50439ce21e18a3f2df11f9eec6a4602dea90e63c22d50a65ed9b50389a45829011907a00278be7b267bc3ac094a394b24eeec187cf1432af21afa09e1f382350cc747e50910467181151c733fed1ce1cca8d6e8b95a62992cbd8b7f1a0b40a2522db206010c5b544067260a48a84bd39fc179598574023e9651874bf0d3697a385b224b7986c459bae8198d14d6d777cef3684ce8f29231370dacf4f265095ab38720448b3e0e162c5b741bd53ce59c58b7c0203e61ed9733e6741cf215d8bf38117f97ef2dd29887b1b4a31213a0b118ecec7be25db781cc7471e4d510e08870ac410edc3f128dc97a7a5df8c20c6474300dbe144c628816a3daca3c69d4567ec5be0391d18735da81b7aa391f549086a982581e8c7fad6ea4daea42690597f24a020ac548f39551c2a2000c9228e1a4aad78cd0ef8f16b234c3b748f33464875b83d190189b31792fc2046885fa6854767f2d29a2dac7f00ecd35b7e6d51fa09c5520e92bb0a1837b4d45542762d8755f6d07f58dcadc07c838760afb307958f1c6d333b3ceec79921ea546181829de40ab03279208937755fc0e54226b6f898756996c3ca75e3960960eaf2ae5feafd8c3b44294eda92bf8ab537529fe5e63e419058477f9b48d41959e336052d7c98139f8c2d9c92df27bbf6c950818620d42615654b81c85bc20512168b7cd8d7eb986a1d0e5d8f32572bab05546a5db5d617b98b2cddc5a6055495c80e7451a6273d8a23b5306e063fad7e1beeec4c2edb9f1e85bf2077c08e0781f3d2890e4cc74f217dc727ff8e14e36dd13bd13f70e5e3c09e32869ba1b8a03e5209826bc147b6af93d7a85d1cd21744448af80aea7c1140d3443107c10caa8a50b3057565b1e672d151b6a15ac991b430663adee017328e0c8e15aba179fd4696e1bcbcd0a3f472f44589d43b5f7027012518f63af2386a9a445ba7bcbfd7b985a232a4ca62818daa161b459fd08ef7b594dc0ee5b268df794f426fb08cfc6e908fc8ff5fe2ee17009967ebab71168b38a2c3fc8a1a4a39323d2d976554dbcbbf7764e2df84870ef7ff9abf44190c4916c0ce817962d1bc4ae4e1293c8f43149e9f3c67a45d47bd1d8bac68e9aca55fc21f2a593916a71429403ea9aa094939eec6c80648e13c0e4d497311bc2337191971edc74f4f27d8004ef3878e589ee28d6bd91b2e24e9103ba76ade9e9a612a4b53b32edd40af920cef855d259ef0efcc86c76970d84451061157073207ded35e976c657e63d5ff871474cca203c579afc104d6c467252f8012234e6a9578fd5fb384f70aca3bd7b28f8b219855716823abf8974cbb80e0d9e72877097fc7b8812e43e8994d5c62066fc1b973acc329711474f2d2139217da913be9fbad7d4d8120969f70452543bffac0a14a2c782506156151c6f0701d3437036be77b3a3519498e21e3d2c3bcf06cd619e215492619cd1f1f2921ee4f1646d2422145ea0d082235b836e5fbc8c5bb27054382f98a233ad4d0a00ece2540df21e0ede99cfac694177e644e20cfe3baad2214ff775ef7b5dd0d5cdd5ecd961d54c0f4cea119043934ad4d71dc472c57907b987534e5f4f3bfd4f0f2aece11ff65ad605ecdd4c743bd001b883b4e4d975349e96ec036b8765a23713b4c1bd1cec3b52694204992080ab11096e32bf939469139bd572c0c97d4612f993226a7100e1ce01bf3a2bae95a9261586dd08a54e7cc955760c362b510699e137ba4c80c9c1bf7ed94d2d2ada8c9254d1e3e88fd978c8a1d09d0925b562e729e3d060d743644332652db5d287782dd725dc1e726c18e9487f5797a053fc7dc5069ee68ac0f82703b2375b4f5131365fed9f8e9613eded9b35f5b3a0e11127d0d4c9ac846705f05c776242fac5accb9c54f73dd9ba1bb4c2b9d4dd0f4b0c66e205fd61a1b7ddf018f8963afb8b6290db09d6eb1f79f94e21cd57e9f826ac49ab5c266020b46589e056bc94cd14b39be412fa741927260203d35a33e9e3b1de39b8cd2ae0218757b963a52f7757202cd83308a38cbd02b629420e9a212efe1ce84e8716604355792ada519853bbcd210a85ba0185fdf69169375f52e34466d0d667ae555becb9d7167719345f2d988ba27d06d493ef15d808b93d65469fde183ccd52d1da056e6b647151f94f86e6f211a30f1e41735a8df5f450c899e02a3def68ce61755cb8f0743f8782272b5165ea62ec0c33bf2c9b2807a3d361cf2dec6041467f81c3e79338f4461d7648237869223b008a04da5fd5fdade508c879354d3add7b045088c94d1b8c3e8080a717c34cab162859aca41b03d39a04f2e6ebd1a8d98e7a87614bd99e59adacaedd6c9e45d65f47b4ff1c4792a244c4a41b39093340c287b53a7527ae0c592664765b2a2096058afbe67a824394197fd0b042a0a65f372d9fcef9e4c12f38a9616289d7cd6a233174dec530b0735254910adf43e3d278d3a1537bae0f555bc9477541526e6cac59df7b6ff38d2174eca2dd37388a49f4c75b8f7a52eb9aafefeaa0a6f799f523f31e604ccb042f5d2a2856e86c1d0bdbfab55a17c36c8e826a6cbe6cd4b9bdfb0d4bda230484ca5d975f81ac7df2f5450837af3a38c5f7f7997673e5557d7b766b088c3fe34cbd4553fe0dd2595faae14096b477d02780bac8d0aa9e07d950ebcfcfda65dfbff461866ac95ac0849bfc9fe817ff4d35c906c4b3d11c24d04225d28dff43302295451ae9cbf3702fb13b42897da34ce084918a25de9d08fe3559b6c8f428ee223a17f612267fc197a31a5c88b32d88578190f8a832f5bd144940ad77aa630cc51f129aeffdbdddc2f7661750f184a9085a2d446a4a5f41437cd600038ad65aa3dd84566ba3d993fe290ef65f9e143378cc68dc07893d0bd3183c72e10a1892f4f46448562d8e4c4287d163fda4f0b9ec5baa086d41a7afddb5a45ca21623d41301655d0a5e38a66a8aadb92f842689ae4bda694e55c93c45c5776f50217e89acf6153f66819a312417710219cb64d90c1f8c86e432e9ba8cc1743f74b507e176640b2492c61e53e22e377a1803827e868e6182ed6f675bcb567010658218a9a96c9c1080e64770929d68c43296ef32c43fea6180f3cf8f104786239b3bf8d7bb6598014f745819d428df46e1b33528bdb5ba87e449f364bbce04fd8262f93b4e895412684593c7cfab0891adc5f1ac395686b59efcf4aa3f2f7785e7209ce4dbb18d07aa43d856ac204f0665bb66d93d4df6443098052c6f13be96b9e4912f351343bdb691123ef91d86da4f12694967720a3f22b6b095872f0efae20bdef0fbd353d8a4fbc74d7a7a1f7301e547da304e50aa9acb13a5565384f1976c8f532817806abffbdc9ba710a55c910c293c7c115c728831b58af03544df7dd3c50732b9f43d5a691b5eb91507bb7868df28f1cfb8ef81aa31c24028f18de7841363516cd689290acfa3ea35fb3a32d5a290a6e5b27a48a0b016cb372fc968a11472d6a0502d57fe84df44838aa4abea503f2720d867079066a818966f0f6741069d22f75d5cefd1d174fd434aec693f0968c2bfe235a70476b10c4330e6963525c5262271dee7e362f8f07485caa7ad78011790de850b5290f3c48a3213ad55d3ea6c95ea1be19be5f11fa0a3aa6abeb323c89adca925b854ee28cb3a6da6aeefe7607d67491aaa7565a5e8ab6bbd27ba0f7670a708ab4c4aa542f029e9ea7a8306bb46ad855f334577b1cca9c2b054aac76e2d7f57782464cd5aa116671c26a3d5992bfa8d0b491faec2064f28471e0e1e3fcc95e47be54440912a27081e426e691ee482f5202b1fb11222d1790ed58b2d76a19106cc49956f4d3fabdbd234814ea0d6e35f2856d7317dfdbc1c77db6b51f187dca2182b46f07bca6dfb9f693caecf83186c4f5f51ab0130b92a9822afa6e822f5f1174cbf58b9aa2354c668002b439c19b3ee08dd6c310df28953c8e30cc10fc0eff60c388c168a03739051aa22cb1c3fab296402a982d10d653f233245afab2def4645d6c77cd3941f4fa0500d2941ca77c08a0e8d8018be81b9e48a3b3978421e9390890e240d54d26c09e46b1e535aa6356a7bcf635917ec79684ca738cc20932dca74cc51a74e3da65fef8833d0216a9dd11e8e6e5fbc7dc6b7258d627323199766b678d1acc66aaf343f872fed8b59133ef3683679dc091b8256721d3975966b450d166edaedd32981250005b5a16619f5c00b18bf5160ce36679af9576b066c5794cd5702570711088313dca099f90c5ce1bc8f8f56eb705d6334e55cf62350d91c424275a806ff2307480bf3d8c271a59fea0da6330d9bd8a90171b3bd97c80fedbe8f4b7dd7b9c447c23dd4c35bba51ad39b3e46b205ee3f3f93610c8baf963eb2ed0ad8ccd85c526dba668186e54a7e50bba7887b18f72c33d32de113f2db782e9e8a68d125843b138522c3a2f7e08f066dc7f3d7b15bb2b1b211bd8a3f367f33c13269c5e41b9580cb9ec6254d953220e55d3c5565841c8bae5b90cb89d6b8f5da7eb3d439e2578c993e798acd12c8bf72b09499cf7324aa2eae82167ffc18a2dad3d95a061bfd2b6ee6c35ef250d954ecc1e52d0de0713ad4c1d32d1ffe110b4a2255877969b54609ad3abe50bf27cf61ef231bc0065b79eed1fa7ae66a994e207f6bfaebec8185a963ef9d176387b9bf5b1cded92cf62f3694cc0ca1a3687f1b013d798f4cb805f20fd4cbec84be9531310f3f1e985b255811f709b8309e05ef90f1d8cefc8350624c8a6cf6f4a2bfbbdaccfcacbc926b75a37ec476113f9775c0d42a31c88fc81f6b3bf977077d75c77726fc6c3eb75e70e0681d0ce9577c31763b6bd43aad05053359dd350462a1f5a4817c536a9525c2d3b5830a03666f61b2cae33d2424c657a98b1d78cd7ee13d3a6fcdd18534a82ab8015026833cb81f71509dbf0029c8d42d6faeb0ff743c2e9f1575b6a3fc17732a1ff33e8642b9f3197d2272eb172857807fd0a06a7a0e23a82e67c7085d30104ea27e15dc3eeb2936f10bc0d9570854efd446725bd450ed32c29f7bfe9946a411c7d847d5828158254d82ad66821ccb977f35d3f89e055c9ed6c7fc5243b7d2759eaae068e7f43e8de0527e2d67303fb41fab5ae87a91a5990665215e2b934f3cac18575c77d0c6808cb4b402365f26cf6f1a7eb2949c4873ee033007dd7866a5a6487e09e71fcec4b82cf3dbd347be4fced82efcb3a33d428cfc8ee6aced6034b751450eb66154cbcab9df03c1d0037a8f5c54d84476af6e4a1c0fe75bb9d38362ff49c411ca07292c457f1c5d24aaa475e5634b530a948b8234f00c544a7171af788f3b25cf139a8a673e992de27afe24c4a860de84e163d320965fc6debc6c55df94229780f8a32e521c4b369b04f5d98200efc9dba0ef5e3f238ec74418ffdffdb07840d7c08be4de7a81953e4f6ccb39338f87ac7d97f83a95ac75d21d92a7b26e7b8a0885a39cfd1c6b9c7897a11f44cbf5a5a2db95c53be3216f6ceb3d5232f75eb8b3f8f180aeba6cf921dcf39239a1468af28fabc8b5cf4f55391cde07f5a94eeb40712aeafacad1e9718b93d1dec2e68b883d7cd958d2393b2ce851098a91d6d7230a3a96786f3397bc72af99e2f42e463032c1852973becd7cdd4211c2a2e9da37e9939542b9620fafcb01cf51de1c41b6174220e9ba0f25634f4ae1b15794ed8d8b88e81b23c24d3502d9396020f16afe9a6dd3a320912ba631b710a1c6d28308d3e9c4cccac8ba740b0d2d5da8d4a9f81beaeffdbc0ebb8dea51bc1d3a08edc10128d5c90afc3983a0348bd5ee490b5f34b99424aad36bce2ec7b9c53bece3ce18eb57dd06b7859038d49392ff82e24345aef8e43c045ec92f9afae567392e79f35509ad8db28fbaf6eea017edcb71e2110bf7f5b0c4a6dd8e755213efa036b69cf6809114911beb94d70e2414f5e3453c340198f9061e46fabb123c11436595ddb2b65ac3bca6485bbd2367f99c615d87a8172777db06a4149de6c0e7be8be3b7357ab8562b119ac056032384a4c01d1cb30f4def024d0b5669e26da3d84b841b7c7cb8eb581ac09977adea13c68426817f0588374100621d555ac76b1a4035d37dd11d6713cac9222da52b1839d210a60bd93ce7e5b7774089d8f56337ad6feecae6e7b7e0fd1957e45bacf79d79aaa08f20aa81861e36e4fc48de5a3d473d1adc06195781bb378845a94533ca33178a261bcad1ac835586ae9a6e039735aac2fd68bdf5aee60c5c0c6fc5f27aa6ad2176b210c7fb4ba9ea94b3ef5e5a2b8d533a02a184d5638fe0f8848bc508820ff71c6546bb9dfa1234ef3437cc205154a4974cb35077bfa52f421a2e6b3ae7e535f832ec72eb6d50b80388a79bc545865abef1e5de72089bd4e2ee6428f4c5899633afb2f0504ea1e9dc70c3208c48ad622b3f54793f4b442006c51186e6514728201e5c1f3cff088cd0f9c35631c46e68521a0292a741d774525b128f893f7e4535a95233774de903b45fdd2e1c115dfca3849eeefae8ee4373513a61c085844537fa4c4801dece56ee137b2b3e42a3a719206080e2522c6522a35e1f4358bbd542340ac29d33ebf171fed0c11c6021f10e5014b0b736e6b55c45f47abe323d8f06db74c3f892f448f36ecbd043f3b6d175d282c1cf3b5e6191f16b89af7724f1a2ad8443b0f281290caee6f167d751b7713c0523da13fe7f6699f0193952114908de30ce592a92a926b5e14f8893469f03a2a380b2ffdb7e0d721d16a5af04a2db58984828db1a146fec84c9a14a98dd6ca726e3b9625d1cdf26eeeda9db2b8886b8ad20e14504f231f988c98d9b371cf79a8ae94d06b8ef7de4947b8539ad292d9d3d5d7f1ac5c60b2f46124b5856309263f126919959644e4efd2782e4ff8020103036b3d9076b09d26c5de3fd377858d394c568d676b20d0848bd42e3446a6cc5b2ea8575df628e2ef072de7e924420652abc127d3d767c97e5dc86dea48694a5076405e8ff696b018b3","shares":"000000000000000000000000000000000000009972b8e23333517946640100002800f36c3d3261f7cd31405e9d13fadd290715693bbacf60e17e4383625b7a82953d771a726e572d532ee271e3b26cc90309e84a1a3edc2f1a3efc61e8f05f4d07537768c9e5a3db4d1f1e65a2e7ea69f55577a519446ecbde0aba056b0e74f1471b6451bc69c622841b1ab43ad6aca29087301699ab10ff51ac095a450954ce0dca1ad1a57fdabbc00fa25a63bc6b8945bc6330f24b4a2fd9de6a433c92a3defc4abbc34acf0d8aba9d0729e49f23f44e9cb4c0c1c0e83adc14257a56cf3c267064a31f755ecfb2fd21db77b9701304250039d899ce03cbafc4cac0d74a2b506e857ef6afe30c09fb194949626144b14fcb3b468f23a474a302b8a419f734265f863d5dca27a835228bc7721f9cf73af29caedec0addd0915484fafd89a0d0bbccb181b4ba95f08d701097fbbeb7d225ed0fc2f695a16e79e83dda70c432d242bb76c2626d9cad7b474a7b2fc5827a77df1b2bba8181a1662cb5bef9089ce31f1f9a7db8abd53447fb3c01e07bb6a831ec9c0ce1aaffe773842229ac30f8c066f6d09de02990334c4d0f3bd77073ac7537f63dfa1a3c9b2ab051013ab5025dcd3f921fd2c37e1c36afe609bfdb4a79d3842773025c0686108d93830b60c49d3de8812df2658e84b8d1cbbe1aaae456d7b529aa3f2ea3fd70882e04c6471e560000000000000000000000000000000000000009972b8e23333517946640011956ea3ec2fcb7ec1683fa78d072f7509ac4f4e1b63c0d2fd5c1f23099b43d8e3635cc6019b8ce911ca95d25fc39aa176662dffa2fda1bb862a6f36948b19221f1660a0e137bb9a98892fac01a67ab6bb03bfb75223ceda851bf93b1ce28a241ccad5026a2353a5261cebb9e4f84666589f2dbe1cd2ccbad03ac06849e0e033265e0556a86a8f9b217ed427a5f133b0389d3a99e1bd350bb15cbdaa7f0df16b10fc78dfd517e189b54d8e7022336d8c557957c5fe50aa5bca5c588f1cd826afb3ab1b3805ff37e7c1912ece12eda58dfaa82bd258e323ba4e45d717b20456b0c33a1a20df1db63a65c3b8d86123b316d7f4b229632ee6d167777deb0f268aa8327fbefa22d6c3e00d506550232c06f20a7459d7d02a291511c787b56590402eb6e68d7d11ddf930ccce55af9543443734ed65ba015017e52be83639117f0adb83488f0d659d50096e1adbb32bc3de4267c4b3b105ee370c2c65ff66e19cccbe085186d15e2a78d53f4351c958f814ee077fb06e79c57814fd8545b0f2bd5ee597c3ccb6c452b91112b8162e853e08638eb07e8e221c8efa77830686f000784b39fe5d748d3441dc61bf1017db3e6c70d57a865b76c7da6fe44425b6104041fdeebfd09edae64aad17187a341f96e00e7e88539c3e1fe3145f04d29fdb8397cad304000000000000000000000000000000000000009972b8e2333351794664003ac82a2e77fd9dd8fca4a6791cb398a041ce3fc3d26d0ec3016ecc18bc05de4eb225c8af1ce4c2ca946f5f73b6c92ba458500a6a2be9fed31ab1103a1003492955f6e17e857d4211b4f930bd343018cafe1bd51904a54462b80cccd68d67bff8ef9b2e4a0df9c886687fe64878cda61ac4bbf5ffb37d30a0c48c27b7dd87bae236ed390189635ca544a9386e8f084099856d1477b8f4298d92900e536c12ccfed8ca48b2bcdd15a3cc9e33ae40527234bd4013132bbae482d558c6c9a20fc4a1ca253ce95752e630f2368aeed9f7751038f8cd7ca1daedc143ccb4b35b5518df152c356a9db92ed3004e98282a2053ca8fd3aaeb6662944a22aba709569f7bfd0b1e602313f13419182a86177a04f975c9fec6b0f1a9c85c553b7c6e700a7c0120d1e559ba97391e7e1de1b2665e770452a6123df9e327fe41601dbbc793b887c080e959d43e90493ea4c7a016972c0089e0f34402e3d34b44cf9c735092b7d95668ece8eaeef1f5be0ac137ea1b46c1ebc796a4c18ae280202f653789367ec33259ef25634ee7ec8127875e12bf4ad1d8102b3cace90b10e0815a86e5f8c262ea5517ba528bf025d256b624f142b3084e22b4bcc0aa2fda56c663b7f8535c932b6cea91d6c2facd241eace68d17e6bf247947255b03b3e8da97d926edc1f8ecf095000000000000000000000000000000000000009972b8e2333351794664001ca601316895433f01a8c12fe4dab68b89abfafce0ffbc431ca0112ab0e9e822bd11845c95e00ccf691a953b9d87b437b43e01df30c56bcf6c548fa04e8ec8e384091374742b2325548ddb639802141815b2f9c9340fed94228087dc0add3366b04a32b8625deb81ac05ee4b443fd4ef139af4362f38fe6d28d4ecf6b73ebc94a146059f797bb2fb16e9706b470dd6c08542ff7660403f535fa8f2bb9d0d718e56a2feb035a066b57180e267633b8813a8f9c58822d9321ddc2f685e84bcddb94696d3ad881ae6774c1f68ee8d606c19cc1b496633cd53ecb471323360e6547df9b5134826b0b6afbc0a084b988327b84a01980acec226651ea71f577b379eb97f37776b9c4cad769f2723eb97932c9f771f78578b300dcd04bff25d04cefe36e85263c1e666241cc40d5983ea7b32085e8077a5e1241ef49e81426e11bd0a939c7783110955af09b450ae86bd19deabe3797d61696f9fd5e002034ecc25cdebed8f73ef5631613f9a7f92329cf8ff7bcf3f27610c83ce18a62e9e7b3312d1a638b087e2a9f5f84e6e70c6a37b0b27d66b49ef4d856a0a7afbef9e960b2548fb89c97f378aaf01e5e6489e589d8a6ab21bd473443bdb9fdf0f37100b0f8c4a5bc49d7032841fde8ac961b0913bff44dc0675c15200897a9feab3c1a5e562c3573a74000000000000000000000000000000000000009972b8e233335179466400547d34d1071682fff5c080c227d1a31c8065d5f56062b065bc22fde75bbbcdcf44576bd701f62ceb23e773896572beee50c4d8917a641bb85501d56735a026c0f385ac6abc7611a48ad9220baa1aab7af86d04cd6801d906ec0dcecadaf64c2b931430cfa397cbe70882b9a71e153fd9986c6e078e4e7141abd25734a7171e3d2121693699b828fc2ba783da9565f92feefca5df1958b9d5fcacc1927d5ecd33661120f30ace4d3e34543fb0861e17c1e6764cf4f1bb7da2739c3db4a0480193212792cd21a16466e21a7a10e5967e47fa64790c8b114fdf96e9d989190b7b6edea62b6c1f1772de112cada59f8b7c38a5fae747eb403611ffb17041e9cb25694bdae3c55cae48198244cd669b3dd5850e815549ff4fd42a66298a566ccb7914fa0143413440718d59edc5abb2a59bd017514a704105fa0336d10fe95c99c480c353d0fffb73dd5de79a35ff68f39020782f0d7c777e960ed94b53ed1fddb9f86e2a218b7b249cc49bdc8391e8c5f710399f64783e12f5b584b427c0c3ebcc9fa89366bf1a853e53731d23488ef4c95f0a2f1c2bf1e14d8f9cdd19dd44e1ebe687e6f01c677c93d87c57722f3755f56b9297dd438959d7a15c449519761e6bb0eecb5739859a543da06f54fd1bc50fbb39e8218e32b9c642177e5b92c91dc7941d40000000000000000000000000000000000000009972b8e233335179466400f2ed851ebc1973f1b633e9768ad8ba324464c56e7f6c453257e1a63658b961623777be98d5e1982e527d0fbf01cf842315111f36a489c69ef860ed3403d1baa28f0de3b603ee8991a1d9547ba53f8f1cc4516e74d1a50d17811e97a12799b29ed43fba2ea6c822c4ee4a47d82ae30a0276192ab040a5f52314cc53112ae26111ba528883fa4e66ba524ce001bdebef2cfab29b0db288b5bab62e74629624fa241db2c8d0acdb98fddeca45d78915d02f44cb1c0703e77a4d4784b17ee34d376d2b61ff2e92365b8fae92431edaf76bda51b8201317aec5e8c8586e4ca2938fad16e0ee11eb568777393ba875ce7c647f9b651c880df19973b7878319fc75faf27613512bf31b4473f52a39f416556adb2b18bf47edf180f664c70394005a38af152741c027f3c082b9aa274fc5e1b7443bbf666fc07b96d2d969687a2fa604810b32f761d73efb74362e32498a1746f6aea62782d7625d9785938ce14f8d6a8e5b6f2af50840cfc63db9edfb02e7348af58323007820422d7d65fd25461ca9a7addc7f2cfca9acb2e94394ba178e173bcd47ab6bb16c0df1a1f470cd89f7d953553d57c219a18292961e8d9a7491ec8524929f21c3d54d1bac40d6bedeb8fe7f9f3c7068bd5e1b2a1e499a36e4ad025dc5a8557305693af64e62e2c8e811e6acbac5000000000000000000000000000000000000009972b8e233335179466400580ccb4039e58e4eea3d08ed60df8549008370f3173bc27e60015fc0949dff5cebe451717cda4ae7eaa0c71fed87ec8215121b4bc223c17cdb5b69954de33b99647d8228702a9f6646930a5bdd786f12897309c227179e0520777df6aa498e2cf35242a6b76a6053774571b6eb9fc0a5b444dc5e869966f5ba1053e3a47f11493d1be874e8986b982cb36ab01da9d253166aa6fe35c942e36cd6c721c8c9a00242d107e60679054aaa2cc3a6d28d3a3f5a4394d71179c9b6a563cdfd5dc8e3bd879dc158781a15c63670f8c2256da0f630caa889a3a66c3f6da7d6846c379e41949ae70fd58ef6a15c8036b7ba18774f151dcab6892fa8ec18cdd32aad57eeddd67837d4b6bcbba6661ec049e3b57ef579b8dfdcdca3941e33bf6e2671f42e2ba58aa01a3a779b431d16c5bd64d3d762fd2ea2ed1a2f7da4d6ccd3c8bbe6a61f9f2f31bd625ee0a8851b8313d431ada2f9ac4165af1eaf59eb5a48b008f087f534ba8522e81eba58ee6c23e134bf710a015ee58538575b11c99348639424d34101ed640cb984652636b2133fe14a7869e4a3228c1490627ff18685c46dbb0325dfa6bded3e9f0af81d4cfa9b060b9eb12a1a8e8e63f76bc015b73bcf2be1abfc062c61697d974efd8f7875abaa91a95c64b0401d07b9741f234cf79b885b367824d7000000000000000000000000000000000000009972b8e233335179466400723e86e51cfb2ab58607b7a22971b112a905a095af9b5f0e68506bc9457ea23f53a2dc571016b57e9b7a4a487490e6098b568165224d1c4297047f4aa1f3975c65ad9067ab12024d490fa9236b2523524ecc0834a95f770a1fcc9088057ad29835db6c34e571ed866a7af4d77a977ca7899bbcb87ef628ec476e26df04f9a984321e4db6a6a2c81f34dcc6661834ba044caec8cec0c84ed82881449d453c39629b69f3aba0c6d13b530fedf1c7172d3c2a02b85ea204938705f0df7974db1931d02a7d3772adae745601a37221b4719ccf2dd9301ec72d267f01da836ff0e2a889222164e26d47c66d109f09ac411b1a948c6553311cb8840cd88e90ed2fecd87dcfcc0d04bd8131d28d7cedd79b106422defb24a48558b7f460159a5a0a9dcef67f889b908490249eab967166c3a1b3c3077e7ebec63e7adcfebb9bede45b971386435fadc1061792d5a2efaf6d5c63f9828085149d02e660bc1db7c49cd29680bf235a63b29f1f8f6f8ee8f7ada6ab6e78fe80bc3f09f929c637a138a65113ef931cc79bf56730a9869d7062893974b42d2a8560e8027f03b1960509300f7980c0817fe8eea2e853a74520ba9545e72d1df1204c7a7569a7018134aab2c340b15c8be700165fb17da2e70e7cf724e0f89b8085a4907fed4812182fceee6a5c1362000000000000000000000000000000000000009972b8e233335179466400a4a9e1306b6767c9c5c473e92fdf143853140c53586aeec3575e1e3f7fe0c5f37803cc1592c33ec3a89931a27867be4c3a1cd5e7a51a19a3bad16324792cd9a6570e4e87664739a40336523a13c0969e0db1bda5cdbda34719976c9540f4f008b9bea1b1dee13662828ba57b25eb438d827ce5e24f440003b49c7814ade7c2d6db115d4e3fc830464521caafc2e92488d0b305c23bcb354aa409ad32c2a80c8d267ee11465e41383be760a090ee41832ee6e2c805bc8dd30bc50c0ab7dc51734f982a522d931be5bcca7868f1b8edebbc0b1cf320bc6c8dc15ccda9ff4dc87c1cfbc0c22cde3528190dd483eee93c964fbbc15d2edbf6a7ce47727f5bdf1df39ff7ed97e03df2debac2e379e2b8201960d5507a34caa3d7e4cee0b0e98248e17307228f238edda4f3674ddcb41495e6e82819df18d05edbaf87fe0188e2825a9e5ff8569307a2a208770a27498ae16d095ac9e221b97f2759fa523f872fe3f76bc3b2bcb4b48cff9fe0bf9f5d42737e14a5c90003e0b090de64408f96aca8b4c8eda66b5955af971b8642825713e93b4ce83c1ebf6026d8c6c37e4b869ee45e2f9e22a633c12aa7a11506a4aafc7a51857727b8565758877878118e0330f7e3874a1e53128f0b5600241bb4bba300fe1b89186ee39c0d0c3e0b4c401b050f5d16029000000000000000000000000000000000000009972b8e233335179466400850ec76c9b8ac18b6c160a50c089353cfe330fbfe52a889a12e6f456eb2708ed8fd7c673f76fbf446165c2882a39b2d8f35e40c5d92046b71afc40e56fcc32a62aa419ed7ac6db223d813881c5a0c5831f97e97434f666be63945f40100e41405993f49707410456a7b7c6c74a40b13c5f4962f0f679c7fead2195c62f2e8aad21ef58885be828531a0af108b4c6d186a7e2c6d477a4c007a9df8c2c9e69e3d24dde5138ab243fa6ec84678d0514a06a72c59938901699712b81b0bb434824abd912856c4c645a07880241413640d51598e7827220fcddc5b90f4cfbe4f4a737aef3b9dbe1e04af73a40c65817f5208b329e226af0dc460da8195bda0d2c4854c60b848b7aa721b8a0c96779a12a57531bb4485c8be14fe8094a676118a9139b506181ca453cc006c2965f9dc4897319134c9d705594c2f8e980c1be778c0cccaeaf7102f076cd451cbdcdad7242c07ddea6454f7d687bcc2dde161451086b51a5bf183b078bf2728b778013150b7575a5c382252055a0f7e75c59dc4f64f0d9f8463e44e69015819bb887e8b8b93d8c75161e4d17308ec1f6b7d5a15fcf91cc446130a987a8b12cd0f2acf412bd2f97e9fadc5a1737931f19ec50d7aa6f33ff721695587a2e122e7dfb26ef058233a50ff1d7dbc28a8a9a763dc2232bd96133cf78000000000000000000000000000000000000009972b8e2333351794664003a5e1ab781ac72d5cd64f0c5f3b62819c1190f081a1d63fc8f433ac20d84e4f499d73c3dfc0cdff88513213379e6a4d46752bf79fe044f8cff294a6edf32fdc67efe3a9a6025342bfac5ee297dcbdf24bb28f8ce15ea87b68564c2063d7965565bb196cd434b241c6747b25887d1b42b7c1e46e676ec998f04e8b69c6d43fd69467860d6ed549ab5268d5be9dd766477d0007ca5ee6c40d9fbdb3e3c87058c80ff7da284612738df6b424bd85f2a34d72337dfb69686383dc60c0888f84430162ac0f0d87442be61c365f5c877f7ff5ad42d74538863cfe73f918dd857941f80f23a64777f85d687429c5f22446d35f3be1610e35678804c849272c533a89dc35fc2bec206d8600df2729075abf5e8b0ea8e093acf6f8ce3905056018d65ac3b678aa790c58f310ce4fa60335965bd5ebc5d46c90af6a240662e80418343fd63839941bc6f3cf805fef95f255903318cf61b4820a8e68dda62e6d8aa46c8f6c7c57a914dbb81b4e7ad4869f61418da494cc8dfefbc458561590e70a22cb68a8aeee422ae184707e358a418c7cce5e70eb38d7cb40ad03622c4f27afefc0dfbc9dc76d5d0376b17ca2fdab195bd2b8a8ca4dce4500d6b4c3b75b2603bab7c3f6b2270f0def583f71b287050c090f597daf00551d50439ce21e18a3f2df11f9eec6a46000000000000000000000000000000000000009972b8e23333517946640002dea90e63c22d50a65ed9b50389a45829011907a00278be7b267bc3ac094a394b24eeec187cf1432af21afa09e1f382350cc747e50910467181151c733fed1ce1cca8d6e8b95a62992cbd8b7f1a0b40a2522db206010c5b544067260a48a84bd39fc179598574023e9651874bf0d3697a385b224b7986c459bae8198d14d6d777cef3684ce8f29231370dacf4f265095ab38720448b3e0e162c5b741bd53ce59c58b7c0203e61ed9733e6741cf215d8bf38117f97ef2dd29887b1b4a31213a0b118ecec7be25db781cc7471e4d510e08870ac410edc3f128dc97a7a5df8c20c6474300dbe144c628816a3daca3c69d4567ec5be0391d18735da81b7aa391f549086a982581e8c7fad6ea4daea42690597f24a020ac548f39551c2a2000c9228e1a4aad78cd0ef8f16b234c3b748f33464875b83d190189b31792fc2046885fa6854767f2d29a2dac7f00ecd35b7e6d51fa09c5520e92bb0a1837b4d45542762d8755f6d07f58dcadc07c838760afb307958f1c6d333b3ceec79921ea546181829de40ab03279208937755fc0e54226b6f898756996c3ca75e3960960eaf2ae5feafd8c3b44294eda92bf8ab537529fe5e63e419058477f9b48d41959e336052d7c98139f8c2d9c92df27bbf6c950818620d42615654b81c85bc20512168b7cd8d7e000000000000000000000000000000000000009972b8e233335179466400b986a1d0e5d8f32572bab05546a5db5d617b98b2cddc5a6055495c80e7451a6273d8a23b5306e063fad7e1beeec4c2edb9f1e85bf2077c08e0781f3d2890e4cc74f217dc727ff8e14e36dd13bd13f70e5e3c09e32869ba1b8a03e5209826bc147b6af93d7a85d1cd21744448af80aea7c1140d3443107c10caa8a50b3057565b1e672d151b6a15ac991b430663adee017328e0c8e15aba179fd4696e1bcbcd0a3f472f44589d43b5f7027012518f63af2386a9a445ba7bcbfd7b985a232a4ca62818daa161b459fd08ef7b594dc0ee5b268df794f426fb08cfc6e908fc8ff5fe2ee17009967ebab71168b38a2c3fc8a1a4a39323d2d976554dbcbbf7764e2df84870ef7ff9abf44190c4916c0ce817962d1bc4ae4e1293c8f43149e9f3c67a45d47bd1d8bac68e9aca55fc21f2a593916a71429403ea9aa094939eec6c80648e13c0e4d497311bc2337191971edc74f4f27d8004ef3878e589ee28d6bd91b2e24e9103ba76ade9e9a612a4b53b32edd40af920cef855d259ef0efcc86c76970d84451061157073207ded35e976c657e63d5ff871474cca203c579afc104d6c467252f8012234e6a9578fd5fb384f70aca3bd7b28f8b219855716823abf8974cbb80e0d9e72877097fc7b8812e43e8994d5c62066fc1b973acc329711474f2d213921000000000000000000000000000000000000009972b8e2333351794664007da913be9fbad7d4d8120969f70452543bffac0a14a2c782506156151c6f0701d3437036be77b3a3519498e21e3d2c3bcf06cd619e215492619cd1f1f2921ee4f1646d2422145ea0d082235b836e5fbc8c5bb27054382f98a233ad4d0a00ece2540df21e0ede99cfac694177e644e20cfe3baad2214ff775ef7b5dd0d5cdd5ecd961d54c0f4cea119043934ad4d71dc472c57907b987534e5f4f3bfd4f0f2aece11ff65ad605ecdd4c743bd001b883b4e4d975349e96ec036b8765a23713b4c1bd1cec3b52694204992080ab11096e32bf939469139bd572c0c97d4612f993226a7100e1ce01bf3a2bae95a9261586dd08a54e7cc955760c362b510699e137ba4c80c9c1bf7ed94d2d2ada8c9254d1e3e88fd978c8a1d09d0925b562e729e3d060d743644332652db5d287782dd725dc1e726c18e9487f5797a053fc7dc5069ee68ac0f82703b2375b4f5131365fed9f8e9613eded9b35f5b3a0e11127d0d4c9ac846705f05c776242fac5accb9c54f73dd9ba1bb4c2b9d4dd0f4b0c66e205fd61a1b7ddf018f8963afb8b6290db09d6eb1f79f94e21cd57e9f826ac49ab5c266020b46589e056bc94cd14b39be412fa741927260203d35a33e9e3b1de39b8cd2ae0218757b963a52f7757202cd83308a38cbd02b629420e9a212efe1ce84e871660000000000000000000000000000000000000009972b8e2333351794664004355792ada519853bbcd210a85ba0185fdf69169375f52e34466d0d667ae555becb9d7167719345f2d988ba27d06d493ef15d808b93d65469fde183ccd52d1da056e6b647151f94f86e6f211a30f1e41735a8df5f450c899e02a3def68ce61755cb8f0743f8782272b5165ea62ec0c33bf2c9b2807a3d361cf2dec6041467f81c3e79338f4461d7648237869223b008a04da5fd5fdade508c879354d3add7b045088c94d1b8c3e8080a717c34cab162859aca41b03d39a04f2e6ebd1a8d98e7a87614bd99e59adacaedd6c9e45d65f47b4ff1c4792a244c4a41b39093340c287b53a7527ae0c592664765b2a2096058afbe67a824394197fd0b042a0a65f372d9fcef9e4c12f38a9616289d7cd6a233174dec530b0735254910adf43e3d278d3a1537bae0f555bc9477541526e6cac59df7b6ff38d2174eca2dd37388a49f4c75b8f7a52eb9aafefeaa0a6f799f523f31e604ccb042f5d2a2856e86c1d0bdbfab55a17c36c8e826a6cbe6cd4b9bdfb0d4bda230484ca5d975f81ac7df2f5450837af3a38c5f7f7997673e5557d7b766b088c3fe34cbd4553fe0dd2595faae14096b477d02780bac8d0aa9e07d950ebcfcfda65dfbff461866ac95ac0849bfc9fe817ff4d35c906c4b3d11c24d04225d28dff43302295451ae9cbf3702fb13b42897d000000000000000000000000000000000000009972b8e233335179466400a34ce084918a25de9d08fe3559b6c8f428ee223a17f612267fc197a31a5c88b32d88578190f8a832f5bd144940ad77aa630cc51f129aeffdbdddc2f7661750f184a9085a2d446a4a5f41437cd600038ad65aa3dd84566ba3d993fe290ef65f9e143378cc68dc07893d0bd3183c72e10a1892f4f46448562d8e4c4287d163fda4f0b9ec5baa086d41a7afddb5a45ca21623d41301655d0a5e38a66a8aadb92f842689ae4bda694e55c93c45c5776f50217e89acf6153f66819a312417710219cb64d90c1f8c86e432e9ba8cc1743f74b507e176640b2492c61e53e22e377a1803827e868e6182ed6f675bcb567010658218a9a96c9c1080e64770929d68c43296ef32c43fea6180f3cf8f104786239b3bf8d7bb6598014f745819d428df46e1b33528bdb5ba87e449f364bbce04fd8262f93b4e895412684593c7cfab0891adc5f1ac395686b59efcf4aa3f2f7785e7209ce4dbb18d07aa43d856ac204f0665bb66d93d4df6443098052c6f13be96b9e4912f351343bdb691123ef91d86da4f12694967720a3f22b6b095872f0efae20bdef0fbd353d8a4fbc74d7a7a1f7301e547da304e50aa9acb13a5565384f1976c8f532817806abffbdc9ba710a55c910c293c7c115c728831b58af03544df7dd3c50732b9f43d5a691b5eb91507bb7868df28000000000000000000000000000000000000009972b8e233335179466400f1cfb8ef81aa31c24028f18de7841363516cd689290acfa3ea35fb3a32d5a290a6e5b27a48a0b016cb372fc968a11472d6a0502d57fe84df44838aa4abea503f2720d867079066a818966f0f6741069d22f75d5cefd1d174fd434aec693f0968c2bfe235a70476b10c4330e6963525c5262271dee7e362f8f07485caa7ad78011790de850b5290f3c48a3213ad55d3ea6c95ea1be19be5f11fa0a3aa6abeb323c89adca925b854ee28cb3a6da6aeefe7607d67491aaa7565a5e8ab6bbd27ba0f7670a708ab4c4aa542f029e9ea7a8306bb46ad855f334577b1cca9c2b054aac76e2d7f57782464cd5aa116671c26a3d5992bfa8d0b491faec2064f28471e0e1e3fcc95e47be54440912a27081e426e691ee482f5202b1fb11222d1790ed58b2d76a19106cc49956f4d3fabdbd234814ea0d6e35f2856d7317dfdbc1c77db6b51f187dca2182b46f07bca6dfb9f693caecf83186c4f5f51ab0130b92a9822afa6e822f5f1174cbf58b9aa2354c668002b439c19b3ee08dd6c310df28953c8e30cc10fc0eff60c388c168a03739051aa22cb1c3fab296402a982d10d653f233245afab2def4645d6c77cd3941f4fa0500d2941ca77c08a0e8d8018be81b9e48a3b3978421e9390890e240d54d26c09e46b1e535aa6356a7bcf635917ec79684ca738cc000000000000000000000000000000000000009972b8e23333517946640020932dca74cc51a74e3da65fef8833d0216a9dd11e8e6e5fbc7dc6b7258d627323199766b678d1acc66aaf343f872fed8b59133ef3683679dc091b8256721d3975966b450d166edaedd32981250005b5a16619f5c00b18bf5160ce36679af9576b066c5794cd5702570711088313dca099f90c5ce1bc8f8f56eb705d6334e55cf62350d91c424275a806ff2307480bf3d8c271a59fea0da6330d9bd8a90171b3bd97c80fedbe8f4b7dd7b9c447c23dd4c35bba51ad39b3e46b205ee3f3f93610c8baf963eb2ed0ad8ccd85c526dba668186e54a7e50bba7887b18f72c33d32de113f2db782e9e8a68d125843b138522c3a2f7e08f066dc7f3d7b15bb2b1b211bd8a3f367f33c13269c5e41b9580cb9ec6254d953220e55d3c5565841c8bae5b90cb89d6b8f5da7eb3d439e2578c993e798acd12c8bf72b09499cf7324aa2eae82167ffc18a2dad3d95a061bfd2b6ee6c35ef250d954ecc1e52d0de0713ad4c1d32d1ffe110b4a2255877969b54609ad3abe50bf27cf61ef231bc0065b79eed1fa7ae66a994e207f6bfaebec8185a963ef9d176387b9bf5b1cded92cf62f3694cc0ca1a3687f1b013d798f4cb805f20fd4cbec84be9531310f3f1e985b255811f709b8309e05ef90f1d8cefc8350624c8a6cf6f4a2bfbbdaccfcacbc926b75a37ec47000000000000000000000000000000000000009972b8e2333351794664006113f9775c0d42a31c88fc81f6b3bf977077d75c77726fc6c3eb75e70e0681d0ce9577c31763b6bd43aad05053359dd350462a1f5a4817c536a9525c2d3b5830a03666f61b2cae33d2424c657a98b1d78cd7ee13d3a6fcdd18534a82ab8015026833cb81f71509dbf0029c8d42d6faeb0ff743c2e9f1575b6a3fc17732a1ff33e8642b9f3197d2272eb172857807fd0a06a7a0e23a82e67c7085d30104ea27e15dc3eeb2936f10bc0d9570854efd446725bd450ed32c29f7bfe9946a411c7d847d5828158254d82ad66821ccb977f35d3f89e055c9ed6c7fc5243b7d2759eaae068e7f43e8de0527e2d67303fb41fab5ae87a91a5990665215e2b934f3cac18575c77d0c6808cb4b402365f26cf6f1a7eb2949c4873ee033007dd7866a5a6487e09e71fcec4b82cf3dbd347be4fced82efcb3a33d428cfc8ee6aced6034b751450eb66154cbcab9df03c1d0037a8f5c54d84476af6e4a1c0fe75bb9d38362ff49c411ca07292c457f1c5d24aaa475e5634b530a948b8234f00c544a7171af788f3b25cf139a8a673e992de27afe24c4a860de84e163d320965fc6debc6c55df94229780f8a32e521c4b369b04f5d98200efc9dba0ef5e3f238ec74418ffdffdb07840d7c08be4de7a81953e4f6ccb39338f87ac7d97f83a95ac75d21d92a7b26e7b8000000000000000000000000000000000000009972b8e233335179466400a0885a39cfd1c6b9c7897a11f44cbf5a5a2db95c53be3216f6ceb3d5232f75eb8b3f8f180aeba6cf921dcf39239a1468af28fabc8b5cf4f55391cde07f5a94eeb40712aeafacad1e9718b93d1dec2e68b883d7cd958d2393b2ce851098a91d6d7230a3a96786f3397bc72af99e2f42e463032c1852973becd7cdd4211c2a2e9da37e9939542b9620fafcb01cf51de1c41b6174220e9ba0f25634f4ae1b15794ed8d8b88e81b23c24d3502d9396020f16afe9a6dd3a320912ba631b710a1c6d28308d3e9c4cccac8ba740b0d2d5da8d4a9f81beaeffdbc0ebb8dea51bc1d3a08edc10128d5c90afc3983a0348bd5ee490b5f34b99424aad36bce2ec7b9c53bece3ce18eb57dd06b7859038d49392ff82e24345aef8e43c045ec92f9afae567392e79f35509ad8db28fbaf6eea017edcb71e2110bf7f5b0c4a6dd8e755213efa036b69cf6809114911beb94d70e2414f5e3453c340198f9061e46fabb123c11436595ddb2b65ac3bca6485bbd2367f99c615d87a8172777db06a4149de6c0e7be8be3b7357ab8562b119ac056032384a4c01d1cb30f4def024d0b5669e26da3d84b841b7c7cb8eb581ac09977adea13c68426817f0588374100621d555ac76b1a4035d37dd11d6713cac9222da52b1839d210a60bd93ce7e5b7774089d8f56337ad6fe000000000000000000000000000000000000009972b8e233335179466400ecae6e7b7e0fd1957e45bacf79d79aaa08f20aa81861e36e4fc48de5a3d473d1adc06195781bb378845a94533ca33178a261bcad1ac835586ae9a6e039735aac2fd68bdf5aee60c5c0c6fc5f27aa6ad2176b210c7fb4ba9ea94b3ef5e5a2b8d533a02a184d5638fe0f8848bc508820ff71c6546bb9dfa1234ef3437cc205154a4974cb35077bfa52f421a2e6b3ae7e535f832ec72eb6d50b80388a79bc545865abef1e5de72089bd4e2ee6428f4c5899633afb2f0504ea1e9dc70c3208c48ad622b3f54793f4b442006c51186e6514728201e5c1f3cff088cd0f9c35631c46e68521a0292a741d774525b128f893f7e4535a95233774de903b45fdd2e1c115dfca3849eeefae8ee4373513a61c085844537fa4c4801dece56ee137b2b3e42a3a719206080e2522c6522a35e1f4358bbd542340ac29d33ebf171fed0c11c6021f10e5014b0b736e6b55c45f47abe323d8f06db74c3f892f448f36ecbd043f3b6d175d282c1cf3b5e6191f16b89af7724f1a2ad8443b0f281290caee6f167d751b7713c0523da13fe7f6699f0193952114908de30ce592a92a926b5e14f8893469f03a2a380b2ffdb7e0d721d16a5af04a2db58984828db1a146fec84c9a14a98dd6ca726e3b9625d1cdf26eeeda9db2b8886b8ad20e14504f231f988c98d9b371cf79000000000000000000000000000000000000009972b8e233335179466400a8ae94d06b8ef7de4947b8539ad292d9d3d5d7f1ac5c60b2f46124b5856309263f126919959644e4efd2782e4ff8020103036b3d9076b09d26c5de3fd377858d394c568d676b20d0848bd42e3446a6cc5b2ea8575df628e2ef072de7e924420652abc127d3d767c97e5dc86dea48694a5076405e8ff696b018b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"480e2063b0a213e9e10a031f04e49b58e9304b79fc811b892eccb12c22b549f366c6be082a8c3452166fa2820a67bb96c4db00c6569133c77c8b5e8b1b425a10eb952edf440dbc6f58beac384d3e9895490642a68308e6382ffdd31e5cd579d621d9fb31cdf754f7ffad6e85e9d0ebefa3156df472d85899ddd62ee9fcbfd4f49b6d51caef3f863f1e50cb766c0ac1e50d367127573e81d446ef6424b90249e9441b23bd80b73604d764d430fccf9d7eb671786a63e09d406f534ddbd33bc14b20e6bf4b276304acb312af085a50d3b4e557b633a7cb81a2d98c42bcaaf4ebaa09831c0d179f8dc05f66781b5dbf2ac10e840036c0fe9ba29158cfecc53f83ebf570aca35f36782382cbbae0ce46c8874055be11201da6baefa693c5bc9ff36a3cb7736130658ae68558e81e401fa85b2fbc2704a876fb3790dfb7fc42864739b47c1b30c768c1166ae4ec3055e19ea37608316e046f0682a33807a32b21b16ae2280ed6bbe2a848457ef80353d75922754afb8fb2baaa318cfe8e7a697b4c58835d68b68e4c25707e55c8d604cb491c9da2a875a09e4c5435b07ff0dad838493433ac3ef7864d1cff0bc86378321ac8eb64018a6667da332495085e8bbc58671db3902bb540f11ac8c0475965ab1d3cb347f859aa76c6d7a0454461c9ff603c60d272ebb37efd17b0073031ebd7783359d5da21e33fbb4bf7c027b1f890d7e09672b316b2e15548e77257bda2680edcd4b97d3088c219805acc078aa3e8f1bf2d0d9b31bc8e4ebc3957a42331e2202942b3bf4d06fbaf7c48cae7ae676d9a0d8b4b1e6124d9b11809e54a24f3dcec391394ab26361347e4cd3b9d250d34df3c8298e09785ef9bcad2f58d541fa024bd10da79dcb7267f82e399eb57f152649e058a8b646baa595f7d463b42d782cba24074d1715bfacf87629bc761308c2859d3fd1fcdc09fe933e1453078a11587ecc216115a4192b00ce2c9cba72044800f5970ceef435582bf2cedf5516feec89d99a85573d4457989a475eead30e40303f8a457b9e8cf14f8980d88b58b041aec4a963ed7a3131226714e89712901407caeea6bb6f095c1b7934e3b621ecde58982e3d86a51f795957d8b05838fac042e80c2d89618cadc363a56c0c725d4a75ae4dfab898ee2a954daeca34a3e0b428c8e73872873bd84ed824449deb73c31430525fa0b63987b6e9e003c8e694806cf38956b13f9c79d9efbe9b44220a9b98f93a6c73973a2bc5fabdba7d52832ff70c5fd34a7c787bf0e3416666ae438768c5ee194b8341899f4b39fe50c2f40746ba17b3a19bd281cb6c8bc148b31ecfb80bd08829b41353e5f5cdf16666e910b8b67ee45513a9baa261f56bc54b0c9852ea8d85dce8d720b48d01d023e22908189904828490fb4dbc5f4152beb12f2285cd9d44e7830325dbbd3e1a3dae1e9a904","shares":"00000000000000000000000000000000000000000000000000000001000100000400480e2063b0a213e9e10a031f04e49b58e9304b79fc811b892eccb12c22b549f366c6be082a8c3452166fa2820a67bb96c4db00c6569133c77c8b5e8b1b425a10eb952edf440dbc6f58beac384d3e9895490642a68308e6382ffdd31e5cd579d621d9fb31cdf754f7ffad6e85e9d0ebefa3156df472d85899ddd62ee9fcbfd4f49b6d51caef3f863f1e50cb766c0ac1e50d367127573e81d446ef6424b90249e9441b23bd80b73604d764d430fccf9d7eb671786a63e09d406f534ddbd33bc14b20e6bf4b276304acb312af085a50d3b4e557b633a7cb81a2d98c42bcaaf4ebaa09831c0d179f8dc05f66781b5dbf2ac10e840036c0fe9ba29158cfecc53f83ebf570aca35f36782382cbbae0ce46c8874055be11201da6baefa693c5bc9ff36a3cb7736130658ae68558e81e401fa85b2fbc2704a876fb3790dfb7fc42864739b47c1b30c768c1166ae4ec3055e19ea37608316e046f0682a33807a32b21b16ae2280ed6bbe2a848457ef80353d75922754afb8fb2baaa318cfe8e7a697b4c58835d68b68e4c25707e55c8d604cb491c9da2a875a09e4c5435b07ff0dad838493433ac3ef7864d1cff0bc86378321ac8eb64018a6667da332495085e8bbc58671db3902bb540f11ac8c0475965ab1d3cb347f859aa76c6d7a0454461c9ff000000000000000000000000000000000000000000000000000000010000603c60d272ebb37efd17b0073031ebd7783359d5da21e33fbb4bf7c027b1f890d7e09672b316b2e15548e77257bda2680edcd4b97d3088c219805acc078aa3e8f1bf2d0d9b31bc8e4ebc3957a42331e2202942b3bf4d06fbaf7c48cae7ae676d9a0d8b4b1e6124d9b11809e54a24f3dcec391394ab26361347e4cd3b9d250d34df3c8298e09785ef9bcad2f58d541fa024bd10da79dcb7267f82e399eb57f152649e058a8b646baa595f7d463b42d782cba24074d1715bfacf87629bc761308c2859d3fd1fcdc09fe933e1453078a11587ecc216115a4192b00ce2c9cba72044800f5970ceef435582bf2cedf5516feec89d99a85573d4457989a475eead30e40303f8a457b9e8cf14f8980d88b58b041aec4a963ed7a3131226714e89712901407caeea6bb6f095c1b7934e3b621ecde58982e3d86a51f795957d8b05838fac042e80c2d89618cadc363a56c0c725d4a75ae4dfab898ee2a954daeca34a3e0b428c8e73872873bd84ed824449deb73c31430525fa0b63987b6e9e003c8e694806cf38956b13f9c79d9efbe9b44220a9b98f93a6c73973a2bc5fabdba7d52832ff70c5fd34a7c787bf0e3416666ae438768c5ee194b8341899f4b39fe50c2f40746ba17b3a19bd281cb6c8bc148b31ecfb80bd08829b41353e5f5cdf16666e910b8b00000000000000000000000000000000000000000000000000000001000067ee45513a9baa261f56bc54b0c9852ea8d85dce8d720b48d01d023e22908189904828490fb4dbc5f4152beb12f2285cd9d44e7830325dbbd3e1a3dae1e9a90400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"74fe068382a9fc18511c5bb0a3a56f51360810311c1303355b8648d7d82e9fae2e2d3b929692c46f44c2ec4a260b206f00a1ecd007126fa162ca20fe7835748e5f793e2dbb468e25e389878af0ac39abc74c3e03f2dd811786734bf784dc0a5de4b79f74e01d0ca111294d337cdc68761ca80a887d66a1b84a3a0e88e5bcd020fca69584f52c5160d4012e733f2cee9ccb2f394c632fd064e333908370651278ae60f5a5a2b593d3d29fd38632372254ca871b77519e51ff66f5e2022f85878f1be5d35a19bd4ea469ae788db385943094d74039483562b56bc6a3da375dc63efa942d469a07dee608702cc00c0fa5da4d6fbd53a66b4bed8c4b059520648630bbb69696858d9e18141f52a484ec1dfbb7283c677cf72ab68730826caf55fba1f7755c67155e088c592c92a379bf8b4276796d9eccb3bb0df82b76064f3d942e2ea37ec91c1d814f58a7d3e654b7907da668bb0b58251db06a6b71e9615f9b5f3b69913a4494007f2b9e10207030546553f193eca6f006d365e40d6ead1e74f959f2189480ebc331911e5d30bbf6de3d9249f065bc02533aeb4224ddeb35c9f6b06865d1693d8ffd0376bbe38dad50e987391a177becce4deeeee88f5d1aac0e8c5242fc91111b8e3b0e281312c8f9502fe2bff829824d774e557630f3448df8ba7a17354ba1cbf28ce744aeaf36998b20db3ca2e2bb115b6b873f3cb3b8379e103bfb3053ca03b9f05c5550d87c33ced5dd5a3339f1a98d7acb01f076018342040fd64f50c64e2ee8df46deb9caf135b4ee4bac981dff797273a18a990821286ef42eeed363cb3b7d598987fb05699463f3fa3c51720b10417421f08a848ecebccafacf7b598d39948b9ad02a92cce97485d312cd0ddbdb43a845e9a173868b0ae92fe6d96e115d24a37685606d615108d7989ae1866b551de2fc1d91798fbd16e4add71bd95ae71a6daaf45796cb1e5e404ef8b6beff32f90bd52d51ede8cb875c1762765f44eca68f1469b08d77cc995a48faf5b9d6de24a4e63c82f2ca01ebcb540836abf222742467347bde6ac435191a9d868a321074788cb4080a8937c604eb49732ba261f35f314563f4b58116ac3130d0a74922e8300b92f5d15bf10d429fa8ca6a968b05c6dc8b118819742cd3eae98218da6678f5b4387b77fe975ef70a117cad7ff05cc94548706f6fec3f185ae5acd07b3c44bf0f846eb854fc82e43fc1bbc4b6e4c4bd0680e89520d3c982fe3791af47e9fa5b194f5a3c9a022e3805abe49dc27757b94ac6dd26c70d1aa318a8337abd2eaf186f37e354f82b0d5f32f2c745361480bd7516427a69b97d6997117bffef459dfea2f71d84c6dfe53d6b69320740c94e188dcb77b92abe5287d382813dec850415203bb70c39694db141fda6f0d0509afb6e221d682629e880ab0a60e3413f8dab44f52d379d89d1a017d35d20729d28c0b223aba5ebda225f42d39bc63deb2c2e3a023ec9c326c497855d2ae28185dfeda3b63e26f08e894b03ce83d86473f6d1fc7d72454d159961a5de3d56dfa2a7e91fffda1ae15af4519bd32b0ff10e176d8aeba3d566b7551e64405ef13abc3c73d0dbd02a03a98ecf56851bb1fa4ff7ef2a746109c270bc044b7347e5de9a024aa03fd6b0fd1e2192a96aa43f15960fb39d7444710d591058c44283554b76f05627cfb0b060778f8308ecb552b5e0bc4bc70ee1c088ff43ad29b6540325af673820e6f23e00c4b14a28ae0db9c9e7e2e34229c30f7a88854c02972395145d1026f1f599ef4d5b247fa6d1951e00a5e546e58aa370c7ba7da43dc9c47335da2e2d36d1fc04bf3f472faecf32e658c533ddae23bd1b7a6e5c39fe023976c8e32225b1e8e38e5072d94bc697c80390068b51a7f9d7f926995b7d3b51ea23b9273be09e080b926c55ec1590bbabe21622dd3d02760ce2aacd682953040d50dec3e32bd771a1a5f93115c630765d0cd6953938020db7da2fcd4243c689da0ce414b91ec9529d0eaa6bb1c9ac29bb583400bc9e8ae1785aa6156d7dc12f04d58b715650e32c4b7ff09c4c8a1842ca5342c6d89c70339b9dadb5726be1ac18fbee9580755711e95f560b052b63f2210e88b36993e241adbec818ae6769ed9a6b642662996de4f7cffc7b426e586a99de3422d8155e29c45925ac84c7be51acb0d20ccc9bd9fce79b726efdd2d4b71486d98e87125f85fa4ce80dc9dcd6cd0777ee97d8030d3489f85abb8b93a2af41e494f954360ff0d135377e50e7de9c27f471b5b70994ba77a5e47b55c081c0a99f65e877014b9d594b3b5073518a8ac1c788e0ef100fa12555d8ce75a7c72990b8f2bde3badf9fc828dc2827aaa59785ebea648e79b573b1111ead85fab3136a55fcabe4d4ef94605b17cf55e6b4b13af4ad152f1f602c26c52b6d559f8194494fbf85b03e518ca1e8a5399d5d9aaf536986c0b6c4e8852cf5eaa54f5904be1eaabb5141776a3232391ba60762aabddfc31765c147fb12d3aed512a0b00a3478bc2ce5c53174ea02190531bf69e79cdd230f080b071ff25b141eb31638f3719e76628f59ebe3200bce42e854eced2b382e90d26d9db23c6509a617c0982fe7ccf5142d2fefa321af1926e1c6c78f939047c8d0151ba746c9c2cb87f76f0acdd31c42828d0b12a01656c640bf9675582a62c31c43cd7810c8aa7306d614188d393662b50437231875f35f93b8a2cbc8c7a74b0a52202adc2f125a8699f18110ca032af124fcb247b0c3e91752585df343ac4c4df5b1ae907ba9d837e381fe6b2cbe1f471d5d31c461e30eca8ceacb4a1a6d5b83db97c205854e3ff499e3d155037d1e4c6c142d27f366ae87627b38034cbbd0252ff3cbd251d7180a623eb38b9a434f61ab306e2baca033e614aec3d99480d7ab1afbb00867cce157a1e6c7b11f58df23e4879bda3cdc43e7f10a9dba9c98fdfd9b54c22c6970295927c81e2b5740a569f1f6cbad023ded9e51597b3a923bce9c5030d2ac38cc53f095bef4757c3c6a885e587e45d8dd88ef522bb172db28fe2b08309a73fb30d9f595bb11ccb767503f5a597b22762331c300db05cd1e9d67008f14002c949fc1e5374294e62d480e85162219760e05021688c3e3bd81d6894badc9ad30909327bed92f55c2ea045a51bc6b6a37c99a2b6ef75aeafd480d42e79af34214d111b23ff34f4e4849f91482d74e6e38445e0509ade22ed83f6cde17ff1f2cd69dca1ca6fd112a484957c5788838c16580ee4222fbe17b8b84611361378753af113284d85fcafa430ad921a2eb6c25dfb2c01b6a1418ef8c4f8023fdaf1bb07f129b2c7ec8493406509c17312af41d9bc0d8516a5b306e1b9dfcc6175870aa1ac52f7ebadce3f54690f3f47ee5de7e74ad6402587cbdc1629fb9483ad0b51bdf56cb9fd2cc8656c398c23d3592016acd573183e2ec77a9dfc3babba21617f6f36878228eff9f3dcb04f8de3e20e9e66b5d37d9f3cf33d5c20e0279f3a7d2bee691942b2654b043e995ae0aa92c414ea694db132acc2f3ce14fd5c7ce37cc41da2a750b47c8bb6a13b1538adac5b236463517f1fd511f7392eae2669b50d826b5c9754c693f11341f44744d1a801877bf62849139581b5773bd9815bb10c653c562d82c9bc84b1d7b56c777dee8ee54353edfd517e54c5a672e7dbefc5c9218643f272afa90f14c4b32cc9b34a6961248ed92add6e201062a5c36112520857d4455cc65488d7fd8176843413685fb1e53fcc7b10058a212ba975e9cb167f06c647e67e97e69fd967408e26babe98e76a98a801a78c44f16a38ab9c2317b6902d90b7f52be9209b8f6dd8eb10a370ff8a99eb9aec7b08c264cea425a626954fb2faa6d5f38379674e373c6e190b2e9ca9ef99b7c08d4c7154ecda44231e3c4aa63a441feddea1bbe1ffb18eb6e50639b2717e220895516f31bb8893c9af2a793a7e5e7ef8d0ec071bdeac3bdece5144073af624fad4277409348caa80856b371c391a835ad2c08b792ca6dc602d11044bd61f1a406cfe0637ac5be90723bd6fe5fe6b20abba45eec8e7fc12fd60ae6150672ebe322c07b12536aa3b369663a42798ff360c0ec76c2a12056e23db0d7bfde0abc06dcb10dc3512f148315a5c135250a8a2d6917d3e4e6a9d00b9d1fbdb6f5236fb157b69fb73e6452c23da76e85f1a535fab56e2f164812d5e78458873eb47235791b2de9e87a83abac2e3e0a72d052e58f7dcb2703ed01a639e3eae61366293b1d852c7f0e225482a2eca93e362ef2f8c4e43e05b0918ccf3014d9d9bf5f0b12cecbf3adbdf1a686bf9915f12d9a1200525de507246d8bb35188370a6c4a017ab6bceb34bec35d6be2902227b0407f72fef4cc4be1078845e476020505576e0a59fed1bf177f7e72b82423b8ebe8eddc48ccc871d972338e66a4e5137bebfb7203d4b91f6169821b5ce6d630dc07c8007acbec54754dc4cf4d3b624305d735b43da952d440c7b4bb170b9de50f8a5b6e048490d756868ff6845e9cb2048b95cabe045254218d902e1b88ef8f4cfed653642a3b4bf975d91c1f51299d34965771dda7614ad5d3a9d83130a79dd563fe36eb8c933c8e4612c48ad49637d412cd66925578354395320dcc80239ac7210145c21fc459f45f354e5981f24e5d347931cbc239d65a813428e4a155e8829645c1f719d757baad66e51658e63fd389d42883c3f0aaa1660a89f2b25cac28e26bd01d51ea140275a10cb7da5652d8a4f07ed12dfd64fc01f681cef509598a87dd736a3a4397e651c3882b758fbb159eafc0439ae750ff09b7764086b52771a5989b57555fa328e3ddf75039fb20685ead011acd0aba1b5ab9fe80a9b675b3cc310f27eb65021843dee459c413641ae2a72879e935fb3ac86c8892e23898d00976d8a7fd09429c23b9c3e51702031958064d61e4d8615e27bc474b31c325fd0afba5265552d5eae8a245935835ec07ac2e886d2f1ceb28d8fcb5b2cb5c8ded3e994b592285f992562a9444dc903db786ff7ac726d9b3b3f84899150cc73566d5f03dc1da1b0001743a47b32b203ba943cfae7fd71e00bd9f3393ab89fec9eba322b0178c56a7b75f3283bf6fab7c4a79490fd5bd0039a4c6ed8c3004b1193b60c99dd0c2d717a7d71187f041ab2bd718cd953a5ad3c2c29e8ae69220c4f6f14399b04300af5a886a4600e4e3e8d6e2f83371e59b60a5d626a726421135134bd71453898cc7eef521967ea420348a5dbc3237400458ef30d077e8ffafb10a1b2294817ec705f283988e1dc8c1cfbaefcf0bb1e2115f75e45774264b2135b6ef3140e3cb70520b886d4a95348a76c9fc874003f8371cfdee558e164e29eacf30cba0df3277a81c9ed2d8f06881babfa2d3c78149d7f99d01bcb29f6d40290e42167fdd646ec408a7e17a68e0930a11f9c8306e17c3e84d01a05877c35da04e2cd711ce768758c11c5e4e2a3507477dfe22b9297931411a5b03bf4e90d71b44345966e75cd8fe6eb41e2afca6ebaef2348a4451ff9feab1f7c1b9adc2bbc52727cdcf4a27f861dc2853e44b9f6e535e0f598afdc2aa60bd0c986a5b6669e4bc8452a873962a8aedb2d4594ab49017c77e0bda076073f9709c7f5ecf0e304b801f9782bf83a643f68d07cfe6290786175ff991f7217b18bf1461734a2650b901a13806a5147a3a5254a30961bd266d313a5041dc5bf01f3fee7ffc6f2e02642f7646d098f6261690cdc6408788a4936eb801bf6130258b2410c84f842e9a8748df0fd3d3d5e8c27cb86921789cb247144998351e04fc17643f741c24760c8a1627c7e6cbafb2463419965d1e0561b2f99d6f90dc6697ba6b1e8ea50146ddaaf7ae32f1341598d914e6e14ce7e410f61f2213cb26d652a6e2e1182e3ebe78612e2f6d66d88854b104c660c6835abcd589b2efaf43081fc7deee365273959438d79638ed4fa20d55afed590ab8e292b7d956c83fc9c55b056ead73d7d110efd6359d86db0a15eb3917dfe5277c864aef174a3e6c1eddd88e6892a766709d2b90412521f63183f340cafde729127def33c224277dc48dbf89b9de4c1b6f34634cc290699bc62092e5aa420288fd1016cf52b830d64188059b5fe33207e6ee2ad71d0d94fc6d766c93a71f974b39ce464cbce83548516dc6be6555656e1245c5f923a35063b3ec2f8000d871ac55dfa21b0c9d206f95854a965940e15fd9491e14f0fa4c76f0399fe78e194635bfeaa2f341a0069fb4c7f1d5bfd298590737c5a97283c037ec3bcae0efe1f35cb3ae99c855dc973e28c117291fed3ab5caaccf2bb318aab87fbef0ff77027f4a3bd5aac157089d37f85d6efcc6efa591f1457a1272e1d79cd2506e7bef250a167942c14a8f2e484ca705baec3647b13f860326a6694a669646b6075f84c31b3deacc3e221331c0f865f7ffd60fe3a88cb51a76eebd17019f02b64a8f7875c5a83c4336ba2a8744c52df69698e68cc6377cdb78bc5ece0a94736af286ebc1031f595ae168fd733044eeacdcfc3a51f395260465a51e58937e68c62fc3b91e64d5d9af69463e134eb66adaa56c1a946dc834f4f48ff630332a4e22cdba332de175557bab59e9ff86fa677b6acf62919c4ca499c952b2d07aa5c897010835e2957a447b58588496ad4cd49e99197ed2b7de937de86cf59ecd47e516e85ead69f6b189cc676f6b6a382f9e332888a0140c16c1bc5b0e9cf1fdc4b066324df2cc0bba7c1ab131a1deb97cc5d60a5bb043f4ab8aa0e7a81bd91824d40f042505f1a901870d2a307b7eb2729458913a4c0a40c87a86c883a3f7024a06e644c3e079f19e7322ba541a2262bb4de3e7585c6320fec9cfea553d4f0b33038db1962f4704492bb33898c15132d7b097be1cd895c8ecb835eaaba0a784bfc702dad8af479002100875d2e1731b9ab78acd69e989347f855d3657041afb30fedb04b3850354c05b6ed36cecb6a1928e0beb9544503f71df2f7a18cfbef35e83199b35012c72cf7b657128508c71d2d82be9309cd88268984cc16a671033fd945355addfee1ccd011e9537339eeb310ca7b0544e099ecc65d3fe268f61d050b4325ed952148ee64f83b722ea10029f4072f98f7d79a93efc92a5203d6aeddc15a7209a9898a84f217dc410ed8cac3ef925e787dd4b9eade08cde10416abecbeeb8ef1bd3b7c7c4aa395183d2b8c26178048d7c3ba9b243ff94fc3cb0bc822e26eb79e011e651d93ff07c1b1a2396be5dd109d00ab6e7526a1326f52ae889ade1b9e1f0a39464d03450453097aeec06da3e3754961ff698a343e4180f85928effd3474031abe9ac3de09b856d12a1aab2e2b3a51b93a1fb3540a94a5d9cddac3c5258a5cc0f87bea97dd397089f01d6ff7ad363bbb6deaa0ba7b64f89719f5a368bcd88895a8710bc5911a35a65c4b7e7e89f1d55b026d1af411c79ce3bf9771d63332790a48a646e39704b0994bbde5407ed4885dd793b085ca151e5f87d9ad277d277eaf2f74958d5638ed973d0bfc07a8bceb2f75f15a7e70785841d939643da973b3c61e82a7a44ab6b2426b781c4716ccbf7f6aab51fa8252e96ba124e97a8d57a48b59140a96d55906a7a64dd1b233fb3f77084f95ac5a3f0124b65463176711789aa4065c022d96a049f3792fa1d46156d36fdc0764aaa343f9dca3bb278af4a84a65d3489c4e0dc85b92815a5a0096b0e567bb0ce8b3648632ce690585dd2aa53000d7f582fb14512bf7a0d5f5c8e39fb7f5ac9b7c8ddbf482b3845a9cdfa308b6fc4ec54c9b82f2921df35e332db7c5543816270373bec35a9cdc444e7f45498f032d1941226b4eddf483fcb83cae133fcfa1293a2c87338a3c4f4c6ce435eb4f9d91e2902d637c1fab8f84964be1b25b29f3d82891768b9beda54ed38d9af69ec4b175cb096c9f43285003ccfa46f8e2e1a375224a83aaf5b6af0b4cc3ad2409d790032f8ff7813b02d8b28e599645e1805c3ae894808fce988fab60b6cfce2286be56e38f02ee7f0f6fc533f8b824d397a887d56d28fa767e628ad44dcfc5c7d6d8ef4761b97cf8e27c4bb40cca22d99b5e9bcc4deecda145bb9fc7f591c95413cd6659bbda3f8e4fcb344830110b6acbc223ba782eb18820a3efaded2c3486f318c501190b6badd6bbe4836b274d7f0f553088da19772134ecec7ff6d4b2b8c5d90c63e41dc59a5e70219b8e19749e600f7345af99940211829717a17c70fce3deb53723a1015882280e6bc7c47d3115fdb95adde43f2b0decb8d4201a4971a9bb5b3a880e50a902857520c5afd97a874d0471152e290706c55248df193a989b45627cd1b6cf0732e31d9a551fe56dd8f11ae5ad445d2667bd84b7486525bfa524ef920380d5618dbb594626efd40d6951942574f2df002ba005090e653a90b37e054e4bcf282e8e6ab8fc87defc47ab5fa70e0ed7e2d5dcbc2c003c7815c2510e4fdc70cfde979a798c9335d3399c2ef534e0c668cd19dc6ffa2d2c92b02515603a0c0af101d14eaa0e2f69b9d5a2e313fa85c1cf246077af79a2cabe00db855573bf7b830ec082e7aeeb8cb9e99214ea1627015f20e6aa9b58134960aa45e745117d91b67189f2d70e3ec7354c2e83faf0287e68836c1cea7c0020b1003fb629345a839ec70e3e49abd3442694682c8f9fcb3cfe326c15774b117ca9be03d0c0192716245e1b292c8b1870c9d03ced818f00e33b744d1bdf7b029b07587d419131364e187497ee772a36d98a83f36a88212f9706f02691149edb85f182ddb115bca8341dc7e2e57c66af601807f16af21fa3b63808a4716d4df58c2111bf78bb33e894d040d566c93df672a0c2f6de3cf2a92db51d92285a07092b7d59adeeea4b9ca41c6e4ff0f37f83372e18ea174b6cf223945db3bea012685e31e46f66f913cb84cb2c6c015ec0c34cef6c4affb6b92679ac9f193cf95737b9bc7453d4514158fc3aff2e4aee4f56f7f0ef2e98fe009d51df8213bf2334fbfa0936bceb4568554cb0854690eee39e83d64ae29546ef36f54cf2098fc54a41937af706d653a43017383da0aad4ac9631308fac4ed987b9f11fba53a73b754d1841e383fa07eb15043d9ce4f261f4438c1cb33a320a455229af64a7d58cf4e2be57a69c48d8daee9be516affd9af248d514339babd11705c1aadf2cf213f21731392abbb3b8afc41fcad6e35ae886346347661adf16a8898f72f6a08cc7831da12f2449c6adafbb7a81edf4af9df59947cb4ef98e3fa08279899413600450941e900971b8fe710a86e7c7d0f928064a34e5bc78504f67610a6e74a5dd59309fd0aff0efbb7cd5b1a85c15a35e52dbc192bb928142c579b2d965ac4e5b7878afdbb3cf91dfe18b1c502150b4b63b12b15733d9616e25b5a85a5ae33c74400081faf7c1a6d2f09e81c351a140ed194c7623228725db7795e861132ac2a2ad28bce19dd4b225dc5173a1a669d901fe86240cb934969a7036299944fa6060637e72ea67209d766db129ff28922502cb72458c5c9b311796e01f59ad4af8f4cb0568153b0bb8f3d9df6e8b59de5a63a2bc263832dea231d8998dd25bedab1ab0b3d2cdaa824c21c9ada9d48cd9c551cc3ff55ebc82e1029bdfb77ef9628a18f74ed3fbe8881a82509f7926339c307ecd675c4f60729a4fde5c448d532a89decfd4a5fd903a4f11a340732c1bdc835eda77d6272bc2d7bee8bb4540a7f574b09db51533245079d414f67473395fdb9fcc07a6204d07bdfba198d2fbaff5df6c00f48c9e5fba759dd9b0f90a91aa22409414bf4d077f55c24d9cb5f32ae7ec30d8b6cf6c568e4f5a2208f34ae547dc1d55cd566030dad7bbdfe4eae63042bbee340dbdcd295e79c2eabd4827e9305f7224ba1d8b6622cd89bcb12f46192e7a68ea5302d2df740d105f5e3fe23a85e6b65b5e27eb3ea4989f7176637753b613771c280404da53d2944a5f5153ad99931e75a98993a52319ae9f9e500ac94c55cdb4977e87f89e1fd3b9f0b2f2e17786b0a551f706ce4861762a45cf8065664f36c21aa5bd53070a2be92507d56264b044b4dfddb7e275ef4215d4325a416bb5bfee09126a71d2aed1451b39c609f7a732ee5223e109fb64cc6668758f1d1ed27f9cb837a37904e63cf068f97bc2e9ffd07940d0bddfe2931990c72329c3b7feba7a63cff3aea963dc5ca8995b44dd16acd41f693db647673377106e3140aeba32f46217df6fb8c13f048feda3d434b09c0828d381409dfea3e7f0c870968c9eea3cf870ee91b32e91dd033af36195cfdb39e08a75da5fb80bc590d0173aa0ea0e6f23d9e9af71ba946819225bbbf29b193aa963b745da49c5904d78fc07af42a629bc5b8255b0c6ac3e9bfa3f2e434aa993aac5dd5a0134931fb2398ec85ee1fe183d6ebc86c5954fc37da877939c03ae27fc0d10837c82641d5b71135712e37a496c634e486d6f84a7eb4062b51f6734e33bb14ac57d89eb62013eb394ce462fbce1f8e5b95a2b733f3b39217eff0b2ccdcd86e28f59f9012e19584d9b208f9ad1df6e01052d217929743fb08d615c801a3fbfe10f2786f0047c1cc64f15065de0c160586afe552950661311952ab7c22844d0de7d988693c9cbe45549df622c96a2540264528611d32ceee0665fccd55ab55cd1cf84de50e3685c8f828dc2b51a0a3cbb9a1b87e681bf26c35830f1e14bd22656f01e1d5b8964141a609aa75f78d4db60985bede619798a871b9674911cef91669b384546563ff45e9ef510dd4fcf84591a2c51d6aa5f942706a1b79c7b93641451f60a65e228a799ffbeaa585a048bb038edbf496828f38853ff9d17a9c84272e9438d56774362c8be09eb3c3da43b67c438fcc356de09918566f4ce100ecf52f1a8fe317e6e000f17e73f556c94ce4686b92d4bca9777264be3174b234eb5ef75f750ddb59ed2809006e54bd474bec05650de875502e34be9a82148a8b0eb49b1054ef21b416f7e0ae8e88c4bb43c26890222359cb6e41de041b7de2befa012b1b1df65d0ec63b25e8b004f62345dccf39395cfd591261cd984b3d97dc7301c20de0de413e0984bc967bfd0216a75c6036eedf91f8c17c8df36fd7a5a907837df3cf3a994db0e1d8d474ad42e9ca0182048a27059a14839532f44a70ef9093f72c99b6c687aa3873b66b027012cefc853476c020796fdfdec62c3dcf30fc13749168b1a9e907030478500cceb6465ea2122faab44d6a12227d531cdc830a5b9d0a7bc8c74633218d9f0778016e2ec1cc8414a2bfed47a46c577c68307c21e25fda62f33e8611ba87ed393657d5f2e44086ced41f03393507881afe862d4ef8964733e7f6e81c921f8ac1fa1ab16bfc7c8a85543d34cf33b616029d5a1ad5612ea939f2914f736535861b53c601fa0f31cf1bb756b8977bb9961491974499ca346fa5c668b9894a35fcc7a08bd8e5d931adc1cad3f4ff738a3bc13f20897180c2694e82c53d5198db335450ad6a04b573b7eea9f0bb5d8a234619e076ac310b30a6a49a180361a0c9db5b7580a8e5318e8877d41db962ecc461ac392ec88a66260ff71a3c602a7a6edde6ed7b4d1abbbce3d40b706f558c29ca80f57a9a61ead5c7063d1482c18aeff119c2e78122c697e4ca275873d92ef2cb1d61c976673baf71ab414fc7e0d8ef6d709efea456b4241f3d0348b6d775e993b9843478bd045512d5ab239596bbad18705ce7eae6c10f78cb836287ad2e35fad963a1f41b294b2a3d5ca3ca0141c2535f56f109af9dd40cc42db0a036e71b855cf75612803251fc11b3c31131a2a512292a00a1e415d5b43632d1b2f601e3dda4c42d708b6328648c8fac836645893577cdd681174f137542d1fdfc086079d2a00cc2c2ee7dbc1a04bec835afeb74231545faafb6c2b19cbcccab0b868468bd9c433aa76366701f1acecf216869bbb0a5a4c9bc4ddc6d63f8ac63600662992f7f80d7fa83858bb3af47e842b1c82790759ec84ee3ebd37db0f54b80a30917ee5cd3da4d48ac71d0d2ebbec0e37dc6ac23a8b34075663d661da50d0efb27813708a9fba0ce2b58f066699b4ba2612ec8a48e1a82dc92e5e2ad60f2d165d3266b531097b62da9be4e2cf7c3c4321c3a8c0e2188ebea9e5da4927c1cf70e52756cfa9a835fe69adabad06e9d3dad48485ba8d64d782dc0d1eec444b299b6939c46e01bd927d0ffe05f76d4d5e4d32a544c395560a46019e9129cf70f7f63d15f093ae1c87904e3fbb7b997481b9eb7321b73a398ec114d5141fafd6e376d00b8d8d1c5270dac4eb5b2a9cd8ace68110619a7d347fe7fef35f827af972ecb55d9ed6bcb9c181fcd4646727494135baf680d35989633cccbccbfe4af2096cb17afe4e03b44a3a65be44ea19dc9e0b33de2a7886f19939504cb8aab9afd5a5e1f9de1558b6c4a4c9c66fddf6362e67163cd66f953f5c790c6e783d5508a68c532555a8d2a5c6da3eaf444804ed8faedb98ed4e7373265dcb3d57a66fe7f8a34cd0af0b36e5705ab01874d6c3c7d4f95f312e84bbfbb84a37b1cf49ae6e4d1eb412c37e47be583f7353daaa9264b34d58e4f9f9adb95ff6818ec102c47049b7fe0cd6a6b287309adf1fac3b7a2f3b6cf425673f0a8a6a16dcb390a39bbacfdd674323632852ec028ef91c62caabeba6715de2ecf8f860705fb463a16113f5b97df3c9ebd387569070060f4b6a72f60f4389048911df3d835ab909d1d4b62bc3bccbf38a4cffbf9772d4874b438e47452d40cc47c837991aab0643dbff7f70f2aacf33db010fec4fa5c01539066dbc6c8ab6c8243c29b2866e7923158f14da60769ba7ca0f11222ca3afc35d61c149eba656dc6c3fcc806953c6cd18a6e26511f0072f3aaa5457416c513cc830eed126c39d06ce35f96fc9ca3a5532db262df157f7544a2114be21aa6869c37c3f384f53b2c007f64d2c94bb47ef06520cc400253f66707cd484d96194667ee47ea82c798884e1f2b55ae87b55171151960ca6a4a0fcd7bd540dded1c786c802481c5b32a2035be8e5d3c6b211faa11a6985656bbc32b7f7e1b0eb1b91bf2378a72c617e91aea0c3c8f2202b043be943d23a25f71e70e253ae3ae219df590b911b95b5338b76287bf7f28fcbe39bd6900d539f42139d62708d2769f5402cecb58172474095026cd0af0e89a4af78112470c853bdc0164be2facc411415289684d866b58b32e014d20977eb5d3ce00c2aa9be0058a4700b66f54f4be3eb56dd51d1f0af05cb12e47fe63e88f596ef44380a24717434cddbfa75d6bd325611be2a8dc4ffcd544acdf5084b3a211454d90f4c31cb3592d50bc377f7685ad7424e9fe2a6d62123864054342abf4eb6ffba59329c468cc5a9bfc3534c96ebc1ad1ce8f28b0dd7632a506d31503e74c1e5ce69d57eca9f4e34848d30d9811d1d34f7e80e976d676efd5e61b675657b05dab4edb83490f4d3817b31fc932d52ffac790627358c94ca998da1ac13fa1068c59ca88d60df8e10ad646635a7df61f018d4273f2dfffdcdb2e5cd2974b0acd600742847b55bb2f67bce1e09287e73dbe604847b610edfc7a7de8d272ab5ffda3f3a37d8c895dd80b40cd4e5400162586e740bd0430317ae96013720436a6ca9fa873151e56bdf88969de18a6cc7e5736b73c2d6d381d51555686e2dae4663a577d5419e708622cdae02925795be1278ab63e619de39ba6ead80565998e3c327397c9f6cd9504fa6a7d655579dc9ad54b5e6fcb43bf7879c99468562a07b6f21c1db48baa1eb193f3ca67ff6450e52e4d81eb2664713ea851dbf9286cf6b7b4bea31d4015e17beb03532853d6edb6adadeeca64f8bf3be8954b52eacf62f05c465e0a4ffae996decd4f64d6929ac3d3c66459db44e55e9f95be0d64510694d9afe6da75ecdcdc52774006b403df85062c4242bed6064e3a5d9b0ceac4d86f390bb187bcfad9dc954a7002466b4a7fe5173e66831abba470d628ef6cd75c1f9ba461e8f745478f59fac0d7bf10e54262acd46c6970aada4aaf380545e4fe51d509ad48a3e030304ea6884acafab0bf55c8fdd4d185842b871f1761a667f55ac2eaccecdc0d70d4e05841a33d9da218cd178a993dbf50f1104971ddc93fa9bde80aba8a0f3f4969c9d0fdd5f09ec113a5481f6e4e97f8379fc6f6a4f54d002931a345bf784815df376a4d7757d0b0436e5cb8334b02e27ef5d0e82bd022413bc9d550cdf647ab984bd52016d361751ccb9844f46367db56da70d6dcd110f18cdb052d9ac0711c53dfefb40af723e1fa820218a853528e80b53243b415725639c024abbe56051195883298702fdeb0492b5102c44d4774305e31a3141139ace7fb4a680359db9ec37857cc59c015557026cce82701c5ed116b7841659b49809d889087dee22f7658c6bb5297714036aac08c92a49917af130ac26e3980b59779085c398fc25fa4e19982e06bc85ab95876bc1878684220194edab585c0603819faf7d7a7bebccd229418b267096a1b02580b","shares":"0000000000000000000000000000000000000000000000000000000100010000280074fe068382a9fc18511c5bb0a3a56f51360810311c1303355b8648d7d82e9fae2e2d3b929692c46f44c2ec4a260b206f00a1ecd007126fa162ca20fe7835748e5f793e2dbb468e25e389878af0ac39abc74c3e03f2dd811786734bf784dc0a5de4b79f74e01d0ca111294d337cdc68761ca80a887d66a1b84a3a0e88e5bcd020fca69584f52c5160d4012e733f2cee9ccb2f394c632fd064e333908370651278ae60f5a5a2b593d3d29fd38632372254ca871b77519e51ff66f5e2022f85878f1be5d35a19bd4ea469ae788db385943094d74039483562b56bc6a3da375dc63efa942d469a07dee608702cc00c0fa5da4d6fbd53a66b4bed8c4b059520648630bbb69696858d9e18141f52a484ec1dfbb7283c677cf72ab68730826caf55fba1f7755c67155e088c592c92a379bf8b4276796d9eccb3bb0df82b76064f3d942e2ea37ec91c1d814f58a7d3e654b7907da668bb0b58251db06a6b71e9615f9b5f3b69913a4494007f2b9e10207030546553f193eca6f006d365e40d6ead1e74f959f2189480ebc331911e5d30bbf6de3d9249f065bc02533aeb4224ddeb35c9f6b06865d1693d8ffd0376bbe38dad50e987391a177becce4deeeee88f5d1aac0e8c5242fc91111b8e3b0e281312c8f9502fe2bff829824d774e557630f3440000000000000000000000000000000000000000000000000000000100008df8ba7a17354ba1cbf28ce744aeaf36998b20db3ca2e2bb115b6b873f3cb3b8379e103bfb3053ca03b9f05c5550d87c33ced5dd5a3339f1a98d7acb01f076018342040fd64f50c64e2ee8df46deb9caf135b4ee4bac981dff797273a18a990821286ef42eeed363cb3b7d598987fb05699463f3fa3c51720b10417421f08a848ecebccafacf7b598d39948b9ad02a92cce97485d312cd0ddbdb43a845e9a173868b0ae92fe6d96e115d24a37685606d615108d7989ae1866b551de2fc1d91798fbd16e4add71bd95ae71a6daaf45796cb1e5e404ef8b6beff32f90bd52d51ede8cb875c1762765f44eca68f1469b08d77cc995a48faf5b9d6de24a4e63c82f2ca01ebcb540836abf222742467347bde6ac435191a9d868a321074788cb4080a8937c604eb49732ba261f35f314563f4b58116ac3130d0a74922e8300b92f5d15bf10d429fa8ca6a968b05c6dc8b118819742cd3eae98218da6678f5b4387b77fe975ef70a117cad7ff05cc94548706f6fec3f185ae5acd07b3c44bf0f846eb854fc82e43fc1bbc4b6e4c4bd0680e89520d3c982fe3791af47e9fa5b194f5a3c9a022e3805abe49dc27757b94ac6dd26c70d1aa318a8337abd2eaf186f37e354f82b0d5f32f2c745361480bd7516427a69b97d6997117bffef459dfea2f71d84c6df000000000000000000000000000000000000000000000000000000010000e53d6b69320740c94e188dcb77b92abe5287d382813dec850415203bb70c39694db141fda6f0d0509afb6e221d682629e880ab0a60e3413f8dab44f52d379d89d1a017d35d20729d28c0b223aba5ebda225f42d39bc63deb2c2e3a023ec9c326c497855d2ae28185dfeda3b63e26f08e894b03ce83d86473f6d1fc7d72454d159961a5de3d56dfa2a7e91fffda1ae15af4519bd32b0ff10e176d8aeba3d566b7551e64405ef13abc3c73d0dbd02a03a98ecf56851bb1fa4ff7ef2a746109c270bc044b7347e5de9a024aa03fd6b0fd1e2192a96aa43f15960fb39d7444710d591058c44283554b76f05627cfb0b060778f8308ecb552b5e0bc4bc70ee1c088ff43ad29b6540325af673820e6f23e00c4b14a28ae0db9c9e7e2e34229c30f7a88854c02972395145d1026f1f599ef4d5b247fa6d1951e00a5e546e58aa370c7ba7da43dc9c47335da2e2d36d1fc04bf3f472faecf32e658c533ddae23bd1b7a6e5c39fe023976c8e32225b1e8e38e5072d94bc697c80390068b51a7f9d7f926995b7d3b51ea23b9273be09e080b926c55ec1590bbabe21622dd3d02760ce2aacd682953040d50dec3e32bd771a1a5f93115c630765d0cd6953938020db7da2fcd4243c689da0ce414b91ec9529d0eaa6bb1c9ac29bb583400bc9e8ae1785aa6156d7d000000000000000000000000000000000000000000000000000000010000c12f04d58b715650e32c4b7ff09c4c8a1842ca5342c6d89c70339b9dadb5726be1ac18fbee9580755711e95f560b052b63f2210e88b36993e241adbec818ae6769ed9a6b642662996de4f7cffc7b426e586a99de3422d8155e29c45925ac84c7be51acb0d20ccc9bd9fce79b726efdd2d4b71486d98e87125f85fa4ce80dc9dcd6cd0777ee97d8030d3489f85abb8b93a2af41e494f954360ff0d135377e50e7de9c27f471b5b70994ba77a5e47b55c081c0a99f65e877014b9d594b3b5073518a8ac1c788e0ef100fa12555d8ce75a7c72990b8f2bde3badf9fc828dc2827aaa59785ebea648e79b573b1111ead85fab3136a55fcabe4d4ef94605b17cf55e6b4b13af4ad152f1f602c26c52b6d559f8194494fbf85b03e518ca1e8a5399d5d9aaf536986c0b6c4e8852cf5eaa54f5904be1eaabb5141776a3232391ba60762aabddfc31765c147fb12d3aed512a0b00a3478bc2ce5c53174ea02190531bf69e79cdd230f080b071ff25b141eb31638f3719e76628f59ebe3200bce42e854eced2b382e90d26d9db23c6509a617c0982fe7ccf5142d2fefa321af1926e1c6c78f939047c8d0151ba746c9c2cb87f76f0acdd31c42828d0b12a01656c640bf9675582a62c31c43cd7810c8aa7306d614188d393662b50437231875f35f93b8a2cbc8000000000000000000000000000000000000000000000000000000010000c7a74b0a52202adc2f125a8699f18110ca032af124fcb247b0c3e91752585df343ac4c4df5b1ae907ba9d837e381fe6b2cbe1f471d5d31c461e30eca8ceacb4a1a6d5b83db97c205854e3ff499e3d155037d1e4c6c142d27f366ae87627b38034cbbd0252ff3cbd251d7180a623eb38b9a434f61ab306e2baca033e614aec3d99480d7ab1afbb00867cce157a1e6c7b11f58df23e4879bda3cdc43e7f10a9dba9c98fdfd9b54c22c6970295927c81e2b5740a569f1f6cbad023ded9e51597b3a923bce9c5030d2ac38cc53f095bef4757c3c6a885e587e45d8dd88ef522bb172db28fe2b08309a73fb30d9f595bb11ccb767503f5a597b22762331c300db05cd1e9d67008f14002c949fc1e5374294e62d480e85162219760e05021688c3e3bd81d6894badc9ad30909327bed92f55c2ea045a51bc6b6a37c99a2b6ef75aeafd480d42e79af34214d111b23ff34f4e4849f91482d74e6e38445e0509ade22ed83f6cde17ff1f2cd69dca1ca6fd112a484957c5788838c16580ee4222fbe17b8b84611361378753af113284d85fcafa430ad921a2eb6c25dfb2c01b6a1418ef8c4f8023fdaf1bb07f129b2c7ec8493406509c17312af41d9bc0d8516a5b306e1b9dfcc6175870aa1ac52f7ebadce3f54690f3f47ee5de7e74ad6402587cbdc1629fb9000000000000000000000000000000000000000000000000000000010000483ad0b51bdf56cb9fd2cc8656c398c23d3592016acd573183e2ec77a9dfc3babba21617f6f36878228eff9f3dcb04f8de3e20e9e66b5d37d9f3cf33d5c20e0279f3a7d2bee691942b2654b043e995ae0aa92c414ea694db132acc2f3ce14fd5c7ce37cc41da2a750b47c8bb6a13b1538adac5b236463517f1fd511f7392eae2669b50d826b5c9754c693f11341f44744d1a801877bf62849139581b5773bd9815bb10c653c562d82c9bc84b1d7b56c777dee8ee54353edfd517e54c5a672e7dbefc5c9218643f272afa90f14c4b32cc9b34a6961248ed92add6e201062a5c36112520857d4455cc65488d7fd8176843413685fb1e53fcc7b10058a212ba975e9cb167f06c647e67e97e69fd967408e26babe98e76a98a801a78c44f16a38ab9c2317b6902d90b7f52be9209b8f6dd8eb10a370ff8a99eb9aec7b08c264cea425a626954fb2faa6d5f38379674e373c6e190b2e9ca9ef99b7c08d4c7154ecda44231e3c4aa63a441feddea1bbe1ffb18eb6e50639b2717e220895516f31bb8893c9af2a793a7e5e7ef8d0ec071bdeac3bdece5144073af624fad4277409348caa80856b371c391a835ad2c08b792ca6dc602d11044bd61f1a406cfe0637ac5be90723bd6fe5fe6b20abba45eec8e7fc12fd60ae6150672ebe322c07b12536aa3b369000000000000000000000000000000000000000000000000000000010000663a42798ff360c0ec76c2a12056e23db0d7bfde0abc06dcb10dc3512f148315a5c135250a8a2d6917d3e4e6a9d00b9d1fbdb6f5236fb157b69fb73e6452c23da76e85f1a535fab56e2f164812d5e78458873eb47235791b2de9e87a83abac2e3e0a72d052e58f7dcb2703ed01a639e3eae61366293b1d852c7f0e225482a2eca93e362ef2f8c4e43e05b0918ccf3014d9d9bf5f0b12cecbf3adbdf1a686bf9915f12d9a1200525de507246d8bb35188370a6c4a017ab6bceb34bec35d6be2902227b0407f72fef4cc4be1078845e476020505576e0a59fed1bf177f7e72b82423b8ebe8eddc48ccc871d972338e66a4e5137bebfb7203d4b91f6169821b5ce6d630dc07c8007acbec54754dc4cf4d3b624305d735b43da952d440c7b4bb170b9de50f8a5b6e048490d756868ff6845e9cb2048b95cabe045254218d902e1b88ef8f4cfed653642a3b4bf975d91c1f51299d34965771dda7614ad5d3a9d83130a79dd563fe36eb8c933c8e4612c48ad49637d412cd66925578354395320dcc80239ac7210145c21fc459f45f354e5981f24e5d347931cbc239d65a813428e4a155e8829645c1f719d757baad66e51658e63fd389d42883c3f0aaa1660a89f2b25cac28e26bd01d51ea140275a10cb7da5652d8a4f07ed12dfd64fc01f681cef509590000000000000000000000000000000000000000000000000000000100008a87dd736a3a4397e651c3882b758fbb159eafc0439ae750ff09b7764086b52771a5989b57555fa328e3ddf75039fb20685ead011acd0aba1b5ab9fe80a9b675b3cc310f27eb65021843dee459c413641ae2a72879e935fb3ac86c8892e23898d00976d8a7fd09429c23b9c3e51702031958064d61e4d8615e27bc474b31c325fd0afba5265552d5eae8a245935835ec07ac2e886d2f1ceb28d8fcb5b2cb5c8ded3e994b592285f992562a9444dc903db786ff7ac726d9b3b3f84899150cc73566d5f03dc1da1b0001743a47b32b203ba943cfae7fd71e00bd9f3393ab89fec9eba322b0178c56a7b75f3283bf6fab7c4a79490fd5bd0039a4c6ed8c3004b1193b60c99dd0c2d717a7d71187f041ab2bd718cd953a5ad3c2c29e8ae69220c4f6f14399b04300af5a886a4600e4e3e8d6e2f83371e59b60a5d626a726421135134bd71453898cc7eef521967ea420348a5dbc3237400458ef30d077e8ffafb10a1b2294817ec705f283988e1dc8c1cfbaefcf0bb1e2115f75e45774264b2135b6ef3140e3cb70520b886d4a95348a76c9fc874003f8371cfdee558e164e29eacf30cba0df3277a81c9ed2d8f06881babfa2d3c78149d7f99d01bcb29f6d40290e42167fdd646ec408a7e17a68e0930a11f9c8306e17c3e84d01a05877c35da04e2cd700000000000000000000000000000000000000000000000000000001000011ce768758c11c5e4e2a3507477dfe22b9297931411a5b03bf4e90d71b44345966e75cd8fe6eb41e2afca6ebaef2348a4451ff9feab1f7c1b9adc2bbc52727cdcf4a27f861dc2853e44b9f6e535e0f598afdc2aa60bd0c986a5b6669e4bc8452a873962a8aedb2d4594ab49017c77e0bda076073f9709c7f5ecf0e304b801f9782bf83a643f68d07cfe6290786175ff991f7217b18bf1461734a2650b901a13806a5147a3a5254a30961bd266d313a5041dc5bf01f3fee7ffc6f2e02642f7646d098f6261690cdc6408788a4936eb801bf6130258b2410c84f842e9a8748df0fd3d3d5e8c27cb86921789cb247144998351e04fc17643f741c24760c8a1627c7e6cbafb2463419965d1e0561b2f99d6f90dc6697ba6b1e8ea50146ddaaf7ae32f1341598d914e6e14ce7e410f61f2213cb26d652a6e2e1182e3ebe78612e2f6d66d88854b104c660c6835abcd589b2efaf43081fc7deee365273959438d79638ed4fa20d55afed590ab8e292b7d956c83fc9c55b056ead73d7d110efd6359d86db0a15eb3917dfe5277c864aef174a3e6c1eddd88e6892a766709d2b90412521f63183f340cafde729127def33c224277dc48dbf89b9de4c1b6f34634cc290699bc62092e5aa420288fd1016cf52b830d64188059b5fe33207e6ee2ad71d0d94fc6d000000000000000000000000000000000000000000000000000000010000766c93a71f974b39ce464cbce83548516dc6be6555656e1245c5f923a35063b3ec2f8000d871ac55dfa21b0c9d206f95854a965940e15fd9491e14f0fa4c76f0399fe78e194635bfeaa2f341a0069fb4c7f1d5bfd298590737c5a97283c037ec3bcae0efe1f35cb3ae99c855dc973e28c117291fed3ab5caaccf2bb318aab87fbef0ff77027f4a3bd5aac157089d37f85d6efcc6efa591f1457a1272e1d79cd2506e7bef250a167942c14a8f2e484ca705baec3647b13f860326a6694a669646b6075f84c31b3deacc3e221331c0f865f7ffd60fe3a88cb51a76eebd17019f02b64a8f7875c5a83c4336ba2a8744c52df69698e68cc6377cdb78bc5ece0a94736af286ebc1031f595ae168fd733044eeacdcfc3a51f395260465a51e58937e68c62fc3b91e64d5d9af69463e134eb66adaa56c1a946dc834f4f48ff630332a4e22cdba332de175557bab59e9ff86fa677b6acf62919c4ca499c952b2d07aa5c897010835e2957a447b58588496ad4cd49e99197ed2b7de937de86cf59ecd47e516e85ead69f6b189cc676f6b6a382f9e332888a0140c16c1bc5b0e9cf1fdc4b066324df2cc0bba7c1ab131a1deb97cc5d60a5bb043f4ab8aa0e7a81bd91824d40f042505f1a901870d2a307b7eb2729458913a4c0a40c87a86c883a3f7024a06e644000000000000000000000000000000000000000000000000000000010000c3e079f19e7322ba541a2262bb4de3e7585c6320fec9cfea553d4f0b33038db1962f4704492bb33898c15132d7b097be1cd895c8ecb835eaaba0a784bfc702dad8af479002100875d2e1731b9ab78acd69e989347f855d3657041afb30fedb04b3850354c05b6ed36cecb6a1928e0beb9544503f71df2f7a18cfbef35e83199b35012c72cf7b657128508c71d2d82be9309cd88268984cc16a671033fd945355addfee1ccd011e9537339eeb310ca7b0544e099ecc65d3fe268f61d050b4325ed952148ee64f83b722ea10029f4072f98f7d79a93efc92a5203d6aeddc15a7209a9898a84f217dc410ed8cac3ef925e787dd4b9eade08cde10416abecbeeb8ef1bd3b7c7c4aa395183d2b8c26178048d7c3ba9b243ff94fc3cb0bc822e26eb79e011e651d93ff07c1b1a2396be5dd109d00ab6e7526a1326f52ae889ade1b9e1f0a39464d03450453097aeec06da3e3754961ff698a343e4180f85928effd3474031abe9ac3de09b856d12a1aab2e2b3a51b93a1fb3540a94a5d9cddac3c5258a5cc0f87bea97dd397089f01d6ff7ad363bbb6deaa0ba7b64f89719f5a368bcd88895a8710bc5911a35a65c4b7e7e89f1d55b026d1af411c79ce3bf9771d63332790a48a646e39704b0994bbde5407ed4885dd793b085ca151e5f87d9ad277d277ea000000000000000000000000000000000000000000000000000000010000f2f74958d5638ed973d0bfc07a8bceb2f75f15a7e70785841d939643da973b3c61e82a7a44ab6b2426b781c4716ccbf7f6aab51fa8252e96ba124e97a8d57a48b59140a96d55906a7a64dd1b233fb3f77084f95ac5a3f0124b65463176711789aa4065c022d96a049f3792fa1d46156d36fdc0764aaa343f9dca3bb278af4a84a65d3489c4e0dc85b92815a5a0096b0e567bb0ce8b3648632ce690585dd2aa53000d7f582fb14512bf7a0d5f5c8e39fb7f5ac9b7c8ddbf482b3845a9cdfa308b6fc4ec54c9b82f2921df35e332db7c5543816270373bec35a9cdc444e7f45498f032d1941226b4eddf483fcb83cae133fcfa1293a2c87338a3c4f4c6ce435eb4f9d91e2902d637c1fab8f84964be1b25b29f3d82891768b9beda54ed38d9af69ec4b175cb096c9f43285003ccfa46f8e2e1a375224a83aaf5b6af0b4cc3ad2409d790032f8ff7813b02d8b28e599645e1805c3ae894808fce988fab60b6cfce2286be56e38f02ee7f0f6fc533f8b824d397a887d56d28fa767e628ad44dcfc5c7d6d8ef4761b97cf8e27c4bb40cca22d99b5e9bcc4deecda145bb9fc7f591c95413cd6659bbda3f8e4fcb344830110b6acbc223ba782eb18820a3efaded2c3486f318c501190b6badd6bbe4836b274d7f0f553088da19772134ecec7ff6d4b2b8c5d00000000000000000000000000000000000000000000000000000001000090c63e41dc59a5e70219b8e19749e600f7345af99940211829717a17c70fce3deb53723a1015882280e6bc7c47d3115fdb95adde43f2b0decb8d4201a4971a9bb5b3a880e50a902857520c5afd97a874d0471152e290706c55248df193a989b45627cd1b6cf0732e31d9a551fe56dd8f11ae5ad445d2667bd84b7486525bfa524ef920380d5618dbb594626efd40d6951942574f2df002ba005090e653a90b37e054e4bcf282e8e6ab8fc87defc47ab5fa70e0ed7e2d5dcbc2c003c7815c2510e4fdc70cfde979a798c9335d3399c2ef534e0c668cd19dc6ffa2d2c92b02515603a0c0af101d14eaa0e2f69b9d5a2e313fa85c1cf246077af79a2cabe00db855573bf7b830ec082e7aeeb8cb9e99214ea1627015f20e6aa9b58134960aa45e745117d91b67189f2d70e3ec7354c2e83faf0287e68836c1cea7c0020b1003fb629345a839ec70e3e49abd3442694682c8f9fcb3cfe326c15774b117ca9be03d0c0192716245e1b292c8b1870c9d03ced818f00e33b744d1bdf7b029b07587d419131364e187497ee772a36d98a83f36a88212f9706f02691149edb85f182ddb115bca8341dc7e2e57c66af601807f16af21fa3b63808a4716d4df58c2111bf78bb33e894d040d566c93df672a0c2f6de3cf2a92db51d92285a07092b7d59adeeea4b9000000000000000000000000000000000000000000000000000000010000ca41c6e4ff0f37f83372e18ea174b6cf223945db3bea012685e31e46f66f913cb84cb2c6c015ec0c34cef6c4affb6b92679ac9f193cf95737b9bc7453d4514158fc3aff2e4aee4f56f7f0ef2e98fe009d51df8213bf2334fbfa0936bceb4568554cb0854690eee39e83d64ae29546ef36f54cf2098fc54a41937af706d653a43017383da0aad4ac9631308fac4ed987b9f11fba53a73b754d1841e383fa07eb15043d9ce4f261f4438c1cb33a320a455229af64a7d58cf4e2be57a69c48d8daee9be516affd9af248d514339babd11705c1aadf2cf213f21731392abbb3b8afc41fcad6e35ae886346347661adf16a8898f72f6a08cc7831da12f2449c6adafbb7a81edf4af9df59947cb4ef98e3fa08279899413600450941e900971b8fe710a86e7c7d0f928064a34e5bc78504f67610a6e74a5dd59309fd0aff0efbb7cd5b1a85c15a35e52dbc192bb928142c579b2d965ac4e5b7878afdbb3cf91dfe18b1c502150b4b63b12b15733d9616e25b5a85a5ae33c74400081faf7c1a6d2f09e81c351a140ed194c7623228725db7795e861132ac2a2ad28bce19dd4b225dc5173a1a669d901fe86240cb934969a7036299944fa6060637e72ea67209d766db129ff28922502cb72458c5c9b311796e01f59ad4af8f4cb0568153b0bb8f3d9df6e8b50000000000000000000000000000000000000000000000000000000100009de5a63a2bc263832dea231d8998dd25bedab1ab0b3d2cdaa824c21c9ada9d48cd9c551cc3ff55ebc82e1029bdfb77ef9628a18f74ed3fbe8881a82509f7926339c307ecd675c4f60729a4fde5c448d532a89decfd4a5fd903a4f11a340732c1bdc835eda77d6272bc2d7bee8bb4540a7f574b09db51533245079d414f67473395fdb9fcc07a6204d07bdfba198d2fbaff5df6c00f48c9e5fba759dd9b0f90a91aa22409414bf4d077f55c24d9cb5f32ae7ec30d8b6cf6c568e4f5a2208f34ae547dc1d55cd566030dad7bbdfe4eae63042bbee340dbdcd295e79c2eabd4827e9305f7224ba1d8b6622cd89bcb12f46192e7a68ea5302d2df740d105f5e3fe23a85e6b65b5e27eb3ea4989f7176637753b613771c280404da53d2944a5f5153ad99931e75a98993a52319ae9f9e500ac94c55cdb4977e87f89e1fd3b9f0b2f2e17786b0a551f706ce4861762a45cf8065664f36c21aa5bd53070a2be92507d56264b044b4dfddb7e275ef4215d4325a416bb5bfee09126a71d2aed1451b39c609f7a732ee5223e109fb64cc6668758f1d1ed27f9cb837a37904e63cf068f97bc2e9ffd07940d0bddfe2931990c72329c3b7feba7a63cff3aea963dc5ca8995b44dd16acd41f693db647673377106e3140aeba32f46217df6fb8c13f048feda3d434b00000000000000000000000000000000000000000000000000000001000009c0828d381409dfea3e7f0c870968c9eea3cf870ee91b32e91dd033af36195cfdb39e08a75da5fb80bc590d0173aa0ea0e6f23d9e9af71ba946819225bbbf29b193aa963b745da49c5904d78fc07af42a629bc5b8255b0c6ac3e9bfa3f2e434aa993aac5dd5a0134931fb2398ec85ee1fe183d6ebc86c5954fc37da877939c03ae27fc0d10837c82641d5b71135712e37a496c634e486d6f84a7eb4062b51f6734e33bb14ac57d89eb62013eb394ce462fbce1f8e5b95a2b733f3b39217eff0b2ccdcd86e28f59f9012e19584d9b208f9ad1df6e01052d217929743fb08d615c801a3fbfe10f2786f0047c1cc64f15065de0c160586afe552950661311952ab7c22844d0de7d988693c9cbe45549df622c96a2540264528611d32ceee0665fccd55ab55cd1cf84de50e3685c8f828dc2b51a0a3cbb9a1b87e681bf26c35830f1e14bd22656f01e1d5b8964141a609aa75f78d4db60985bede619798a871b9674911cef91669b384546563ff45e9ef510dd4fcf84591a2c51d6aa5f942706a1b79c7b93641451f60a65e228a799ffbeaa585a048bb038edbf496828f38853ff9d17a9c84272e9438d56774362c8be09eb3c3da43b67c438fcc356de09918566f4ce100ecf52f1a8fe317e6e000f17e73f556c94ce4686b92d4bca9777264be3174b200000000000000000000000000000000000000000000000000000001000034eb5ef75f750ddb59ed2809006e54bd474bec05650de875502e34be9a82148a8b0eb49b1054ef21b416f7e0ae8e88c4bb43c26890222359cb6e41de041b7de2befa012b1b1df65d0ec63b25e8b004f62345dccf39395cfd591261cd984b3d97dc7301c20de0de413e0984bc967bfd0216a75c6036eedf91f8c17c8df36fd7a5a907837df3cf3a994db0e1d8d474ad42e9ca0182048a27059a14839532f44a70ef9093f72c99b6c687aa3873b66b027012cefc853476c020796fdfdec62c3dcf30fc13749168b1a9e907030478500cceb6465ea2122faab44d6a12227d531cdc830a5b9d0a7bc8c74633218d9f0778016e2ec1cc8414a2bfed47a46c577c68307c21e25fda62f33e8611ba87ed393657d5f2e44086ced41f03393507881afe862d4ef8964733e7f6e81c921f8ac1fa1ab16bfc7c8a85543d34cf33b616029d5a1ad5612ea939f2914f736535861b53c601fa0f31cf1bb756b8977bb9961491974499ca346fa5c668b9894a35fcc7a08bd8e5d931adc1cad3f4ff738a3bc13f20897180c2694e82c53d5198db335450ad6a04b573b7eea9f0bb5d8a234619e076ac310b30a6a49a180361a0c9db5b7580a8e5318e8877d41db962ecc461ac392ec88a66260ff71a3c602a7a6edde6ed7b4d1abbbce3d40b706f558c29ca80f57a9a61000000000000000000000000000000000000000000000000000000010000ead5c7063d1482c18aeff119c2e78122c697e4ca275873d92ef2cb1d61c976673baf71ab414fc7e0d8ef6d709efea456b4241f3d0348b6d775e993b9843478bd045512d5ab239596bbad18705ce7eae6c10f78cb836287ad2e35fad963a1f41b294b2a3d5ca3ca0141c2535f56f109af9dd40cc42db0a036e71b855cf75612803251fc11b3c31131a2a512292a00a1e415d5b43632d1b2f601e3dda4c42d708b6328648c8fac836645893577cdd681174f137542d1fdfc086079d2a00cc2c2ee7dbc1a04bec835afeb74231545faafb6c2b19cbcccab0b868468bd9c433aa76366701f1acecf216869bbb0a5a4c9bc4ddc6d63f8ac63600662992f7f80d7fa83858bb3af47e842b1c82790759ec84ee3ebd37db0f54b80a30917ee5cd3da4d48ac71d0d2ebbec0e37dc6ac23a8b34075663d661da50d0efb27813708a9fba0ce2b58f066699b4ba2612ec8a48e1a82dc92e5e2ad60f2d165d3266b531097b62da9be4e2cf7c3c4321c3a8c0e2188ebea9e5da4927c1cf70e52756cfa9a835fe69adabad06e9d3dad48485ba8d64d782dc0d1eec444b299b6939c46e01bd927d0ffe05f76d4d5e4d32a544c395560a46019e9129cf70f7f63d15f093ae1c87904e3fbb7b997481b9eb7321b73a398ec114d5141fafd6e376d00b8d8d1c5270dac4eb5000000000000000000000000000000000000000000000000000000010000b2a9cd8ace68110619a7d347fe7fef35f827af972ecb55d9ed6bcb9c181fcd4646727494135baf680d35989633cccbccbfe4af2096cb17afe4e03b44a3a65be44ea19dc9e0b33de2a7886f19939504cb8aab9afd5a5e1f9de1558b6c4a4c9c66fddf6362e67163cd66f953f5c790c6e783d5508a68c532555a8d2a5c6da3eaf444804ed8faedb98ed4e7373265dcb3d57a66fe7f8a34cd0af0b36e5705ab01874d6c3c7d4f95f312e84bbfbb84a37b1cf49ae6e4d1eb412c37e47be583f7353daaa9264b34d58e4f9f9adb95ff6818ec102c47049b7fe0cd6a6b287309adf1fac3b7a2f3b6cf425673f0a8a6a16dcb390a39bbacfdd674323632852ec028ef91c62caabeba6715de2ecf8f860705fb463a16113f5b97df3c9ebd387569070060f4b6a72f60f4389048911df3d835ab909d1d4b62bc3bccbf38a4cffbf9772d4874b438e47452d40cc47c837991aab0643dbff7f70f2aacf33db010fec4fa5c01539066dbc6c8ab6c8243c29b2866e7923158f14da60769ba7ca0f11222ca3afc35d61c149eba656dc6c3fcc806953c6cd18a6e26511f0072f3aaa5457416c513cc830eed126c39d06ce35f96fc9ca3a5532db262df157f7544a2114be21aa6869c37c3f384f53b2c007f64d2c94bb47ef06520cc400253f66707cd484d96194667ee00000000000000000000000000000000000000000000000000000001000047ea82c798884e1f2b55ae87b55171151960ca6a4a0fcd7bd540dded1c786c802481c5b32a2035be8e5d3c6b211faa11a6985656bbc32b7f7e1b0eb1b91bf2378a72c617e91aea0c3c8f2202b043be943d23a25f71e70e253ae3ae219df590b911b95b5338b76287bf7f28fcbe39bd6900d539f42139d62708d2769f5402cecb58172474095026cd0af0e89a4af78112470c853bdc0164be2facc411415289684d866b58b32e014d20977eb5d3ce00c2aa9be0058a4700b66f54f4be3eb56dd51d1f0af05cb12e47fe63e88f596ef44380a24717434cddbfa75d6bd325611be2a8dc4ffcd544acdf5084b3a211454d90f4c31cb3592d50bc377f7685ad7424e9fe2a6d62123864054342abf4eb6ffba59329c468cc5a9bfc3534c96ebc1ad1ce8f28b0dd7632a506d31503e74c1e5ce69d57eca9f4e34848d30d9811d1d34f7e80e976d676efd5e61b675657b05dab4edb83490f4d3817b31fc932d52ffac790627358c94ca998da1ac13fa1068c59ca88d60df8e10ad646635a7df61f018d4273f2dfffdcdb2e5cd2974b0acd600742847b55bb2f67bce1e09287e73dbe604847b610edfc7a7de8d272ab5ffda3f3a37d8c895dd80b40cd4e5400162586e740bd0430317ae96013720436a6ca9fa873151e56bdf88969de18a6cc7e5736b73c2d6d000000000000000000000000000000000000000000000000000000010000381d51555686e2dae4663a577d5419e708622cdae02925795be1278ab63e619de39ba6ead80565998e3c327397c9f6cd9504fa6a7d655579dc9ad54b5e6fcb43bf7879c99468562a07b6f21c1db48baa1eb193f3ca67ff6450e52e4d81eb2664713ea851dbf9286cf6b7b4bea31d4015e17beb03532853d6edb6adadeeca64f8bf3be8954b52eacf62f05c465e0a4ffae996decd4f64d6929ac3d3c66459db44e55e9f95be0d64510694d9afe6da75ecdcdc52774006b403df85062c4242bed6064e3a5d9b0ceac4d86f390bb187bcfad9dc954a7002466b4a7fe5173e66831abba470d628ef6cd75c1f9ba461e8f745478f59fac0d7bf10e54262acd46c6970aada4aaf380545e4fe51d509ad48a3e030304ea6884acafab0bf55c8fdd4d185842b871f1761a667f55ac2eaccecdc0d70d4e05841a33d9da218cd178a993dbf50f1104971ddc93fa9bde80aba8a0f3f4969c9d0fdd5f09ec113a5481f6e4e97f8379fc6f6a4f54d002931a345bf784815df376a4d7757d0b0436e5cb8334b02e27ef5d0e82bd022413bc9d550cdf647ab984bd52016d361751ccb9844f46367db56da70d6dcd110f18cdb052d9ac0711c53dfefb40af723e1fa820218a853528e80b53243b415725639c024abbe56051195883298702fdeb0492b5102c44d4774300000000000000000000000000000000000000000000000000000000100005e31a3141139ace7fb4a680359db9ec37857cc59c015557026cce82701c5ed116b7841659b49809d889087dee22f7658c6bb5297714036aac08c92a49917af130ac26e3980b59779085c398fc25fa4e19982e06bc85ab95876bc1878684220194edab585c0603819faf7d7a7bebccd229418b267096a1b02580b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":""}] \ No newline at end of file +[{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1858ec5b09273f3697bc4e8cb87150e976f8478311a2a7c87ecefdfcf220f258"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe4c5fbc63311cb65cd2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1710fc140aaa29c2b68ac07dad1ac43208ae2a1bd240f94d21056060a87e2c52"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1858ec5b09273f3697bc4e8cb87150e976f8478311a2a7c87ecefdfcf220f258"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":"7b31c6e99f81c8921b9432e0bb275bbae0346043a1ae708b3bba68db8df0770b"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe4c5fbc63311cb65cd2000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"bb9d81090d0b4f17d76927dc8cd8e9e5f6f87d73815f50f016588ed18de06faa"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd201000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe4c5fbc63311cb65cd2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1710fc140aaa29c2b68ac07dad1ac43208ae2a1bd240f94d21056060a87e2c52"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"74cc361e623d4eadcb5c83a8434d1a0862044a4449cf43d145c09ed8fa77d30781cea28b52576afc9e7784fee770fb15de52f8d2f9935706eb6974dda9d8a370fc84472374c757226d1514987c9b1b90b105d91727086163b91eded02ac9ef562b36f507aa91e18163719e40fad7a9ff8be04bbdb1c702e30369c53dcf918e2c0d484c159d1d5f74ad8cacf09f50ad68a269ef0c63ce665d7400e69251af4db1cf0ab3582b445ed035eb1ad4e10b87f25d6473d46f1b393e03e80f319272fa96c15d09c4c0edc6386b4ad6e29700bd750a03f73a607d88a7c8b93fff7cb7d825e4a4653fb4d7643eb9e3d84e02a0a0c9ed668e4489ed8754dcce32976b84315228c861c2838a840b7661e6537b965e97fafb0db68eeb2592ee681f946213f6f7b66da207977bf02e2eda84229323446ba3758adc53e8995e6354fa1bff25f7696df1f28fd72b8915f7a2096417773a5e9c2b3920b1736394f2ba6615c7851ec28c7afa5c6c07f1d03a3a7cfc0212e1c1914e598590f0c0972979211ff5f6414ee8d2d791a2e13127b1ce1f8fd6bc4dcc2a41634306425db4a342b3488d6fb0521f1fe9245e0d9c517790b3a82265cd46fff11ef9e814452abf0bbc57a9db8c5649d1e6505ec11b2918f59e5fed0f6edef2dee75b2b04c3653f81c16176bea3bb55df499bdd421b838a8d28c710ab448768ef1428917afb3aab8ac7496cede4a61372aa0f9baff2fdee656bb94397dfdf65be6bd4db76aea0820835ba0cf8cce0116234d220bd397a0efcd67c28a785fdc65f689e1b2124d9e528bea5ccedd03ab0e8583941e41b6be4aaea7a2686d74d63b77b6d022bb226d75432290a4486892adcdaed930125f14256bd1d0920352f06455327f3656bcff7fbafe05296ab1b6d3abfb45337914f112acd6b992c8427fecf3dce537d1355aa2699e4115bad2d4a32c6882f4bd224beff7011347d30677363e9eb31d7e11ace183d44745564f5c6f1754a5054f5e6f4f16a6c80a79eb9f746347fe41b5092f540a0f5ddad4951011c6c745ee85b9f9d19a801847bce598d1c742d9962ec17c969a89f9c753961c6315c7718a69a88cc0cde4d956c825485aa8ced0481337e5a0031c2b86d69a44a025a68ae5b9610e7241cc55d108a9d1a134e547c98f49200c80bbd1c0d78b45ab0a664fe7c8e49c0e3c4b93fc06823da6cfdf1600c600b0d4ce01bf2d3d616230f754b5c121fafe56ccc9c450079e89cfbc5a69ca2405875a367a2f07b739d82e0adce565f2ce44d61be799ed9b0f3b665e21fca774d13ee4fb3462798458bf036b0a13e460b546f691ab6dedaae3cab5ded1d5347ea90c46dcabd1c595cf5e0992fbfce86ebce0d28cdc0e088010d211a1db9ec699f366a63728b075f640aefdeb0e6237e41f34bad61737688b97dc993bb7dcd4e133b3cdecacfeb34ff03","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2010000040074cc361e623d4eadcb5c83a8434d1a0862044a4449cf43d145c09ed8fa77d30781cea28b52576afc9e7784fee770fb15de52f8d2f9935706eb6974dda9d8a370fc84472374c757226d1514987c9b1b90b105d91727086163b91eded02ac9ef562b36f507aa91e18163719e40fad7a9ff8be04bbdb1c702e30369c53dcf918e2c0d484c159d1d5f74ad8cacf09f50ad68a269ef0c63ce665d7400e69251af4db1cf0ab3582b445ed035eb1ad4e10b87f25d6473d46f1b393e03e80f319272fa96c15d09c4c0edc6386b4ad6e29700bd750a03f73a607d88a7c8b93fff7cb7d825e4a4653fb4d7643eb9e3d84e02a0a0c9ed668e4489ed8754dcce32976b84315228c861c2838a840b7661e6537b965e97fafb0db68eeb2592ee681f946213f6f7b66da207977bf02e2eda84229323446ba3758adc53e8995e6354fa1bff25f7696df1f28fd72b8915f7a2096417773a5e9c2b3920b1736394f2ba6615c7851ec28c7afa5c6c07f1d03a3a7cfc0212e1c1914e598590f0c0972979211ff5f6414ee8d2d791a2e13127b1ce1f8fd6bc4dcc2a41634306425db4a342b3488d6fb0521f1fe9245e0d9c517790b3a82265cd46fff11ef9e814452abf0bbc57a9db8c5649d1e6505ec11b2918f59e5fed0f6edef2dee75b2b04c3653f81c16176be00000000000000000000000000000000000000fe4c5fbc63311cb65cd200a3bb55df499bdd421b838a8d28c710ab448768ef1428917afb3aab8ac7496cede4a61372aa0f9baff2fdee656bb94397dfdf65be6bd4db76aea0820835ba0cf8cce0116234d220bd397a0efcd67c28a785fdc65f689e1b2124d9e528bea5ccedd03ab0e8583941e41b6be4aaea7a2686d74d63b77b6d022bb226d75432290a4486892adcdaed930125f14256bd1d0920352f06455327f3656bcff7fbafe05296ab1b6d3abfb45337914f112acd6b992c8427fecf3dce537d1355aa2699e4115bad2d4a32c6882f4bd224beff7011347d30677363e9eb31d7e11ace183d44745564f5c6f1754a5054f5e6f4f16a6c80a79eb9f746347fe41b5092f540a0f5ddad4951011c6c745ee85b9f9d19a801847bce598d1c742d9962ec17c969a89f9c753961c6315c7718a69a88cc0cde4d956c825485aa8ced0481337e5a0031c2b86d69a44a025a68ae5b9610e7241cc55d108a9d1a134e547c98f49200c80bbd1c0d78b45ab0a664fe7c8e49c0e3c4b93fc06823da6cfdf1600c600b0d4ce01bf2d3d616230f754b5c121fafe56ccc9c450079e89cfbc5a69ca2405875a367a2f07b739d82e0adce565f2ce44d61be799ed9b0f3b665e21fca774d13ee4fb3462798458bf036b0a13e460b546f691ab6dedaae3cab5ded1d5347ea90c46dcabd1c595cf500000000000000000000000000000000000000fe4c5fbc63311cb65cd200e0992fbfce86ebce0d28cdc0e088010d211a1db9ec699f366a63728b075f640aefdeb0e6237e41f34bad61737688b97dc993bb7dcd4e133b3cdecacfeb34ff0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"439c4e95a63af3efb531ca938bc2ce9b68d1d38f075a6d76e210804c67b1aed7"},{"namespace":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd2","data":"a8f9b175d5112f4decf34d1dfbc39fad4387fc7fbffa620adf1b1f316d85f41154f52af99a26de9908214687b4e5214712e3d97bf2de33bbf389d0ce85842c9b06a743ae6fd8f2a3cc043a22573c7181fd871e9921741fb5b30587ef4ccd34e8d9ff7074e511d9034c45f98111dfd972cef72f3f03b163f405dd8330d7d80bf7a5a4106dd0ad4ecf34a7453dc7b704916d0c8dd7212175d3dbe385c4ff340ab72cac237431ad47e5c32b3abf4fc9ce27d1c3a7673dcd061fd0f50662304457d4b76b68651287aad8ee27b199f8068aa61004f81b5df0381627e6aeedff7772aba3fceab3035b8546b29b43b39ba448313f260e60c5bfb2a104685f4e298d3e488fa0f9a9d0132874e58a46418568818da98e9d0714dd669fa277ff61c8c32896fed73bda6e90b96037254e0fea26568722fa7ca917684877d2f78366debc84e3d4da63f6cf14969ac075241b8fb60b1b772cc98ea5c395407014bd4223f786f70376b9bb4ed11058fd0ee865049df6230d8671bb035de240105efd6319a207ec1ba9a8bb595d3e2afa9c57bd34e7b157932328de4be6fc9c5e85bb04d2c31405d361e11f975cbff3673e359fc4bb267b66b6ec8780198411dbcb59ffba59e93c4c2115a333b777377277b7bf2af59c63bb5163af1b96ae1d721cf6ee084d2af215b083174099cdf2ec54d150bd7189f74b08ee88feb552c943155816c99e2aa152c2d7a940e355820827db99fc048fee22d8ea75a9f75a9fa94dbc01d8c482793f917774fd2687aad33644937171a376c7d9ed8e1619269ca04bd9ac97bd9eb55b4ef0cee197176e71545879b409559caf526fbe5cb97f7ec641d9fe4cb2342558aa15481768592d2e14438d35801442051adbe0300c627545266de9c3bdf8924d1f0db7f533ce633e8c155b32f22e2033afc67c6727a642f5e6c4dfccfa22e2109a4559db56c829c056c5169af3de786ca19ebf271a62e2cb068e7d93daf60049c5afcba6ecdc3144324a58da27ae7d26b50067c4f6771789e6a004142e134848465560e96dc5b1d9d655d1457367fd204b62b9ba0f9ede1d0c2f59d7d8f6a505f9bc4f85cdde2aff5262882711fbe4aaad55df4534418d67e3d0ed1768b47e77366c57f9bfb5534fca2194c831a9d3328bc284d17cc3c13809dd5e048a862234ce7aa9239c73887e0ddeec55e2edcde531bd7e5d5d61cc1e92b9f7974cc443c3c4624fd5aae08a70137792c2df4f9a390b7647373e080906ccf0dfcf281cbaaaaea8c9d549b052ce4f1ad124c321b9ed598ae0f212f54d2976ec38331f552288e83dd37e3bb3fa3b7cb4c7a1bff63210ffbfbd17e111776a3b7db30c01e4c502f81587c1da7c19c7561cba3d7e8a6afee401fb1ae4b3cd8b54cdfb3af4b47ff087f68ff5c1a1fedc27b2e3261e78c63bfa19e0de0de7b952a20630f24e80e5bb83c35824afa8043c68b7fc15870b88a692967114e448d7574aa296f192ee55c7685d56a53b4f82454ae0a164cd12f36b681440d42258a608d82890c26322ae51f86a018400438b7a13d36fe89660ee3b5bf231acac5be4d92bf2a4a54d12f995bff5c4a8dc5dea715f60845817feb0db2414371fbf7a07984c7620f19cbe2a3f32f6c4f9d4f56e9d8e2e95098d3753ca760b79f3e07b9ef0b3688123748ef94cc9e01ccae76c6ec8f504ca43119ceea1a131cf4eb47d26a7f811f9f8bd3b5a11539944bb535ed2ab278f6442008032f38149670b976d56d3f2f2a67931bc6cb64b1e3274ff8d074d2eefc8f68fc9a703e59dd8e94a5e67171cc1d38baf5a9297361fdfb62e38c189cc6ff6466e39f6ead83f4c3f24b2e02c2d1486ec572096f100cf82eceef0c72e5983ca20491553b2abe87d1384070aa8425077799cf76cad8290915dd9afc684cd674b0452ffc9a28a89fa0c7441b84fdede5cee99065b34c12782cdaf33bd32a831236e66e484d16e4559e63369bda1d417aa193a0608a8603e885d1fcfd14ed77c1121a859174b0b3511e9325298874b2e58b761686be60d595cd27263edfde453b67b2bba408c959675c1f459499f43ff6cf4034de44a3785d022f5346d5081179cb033309bb0380a031ee1b6988ec0b9d2fa9325cd65a4fa8987730de6f517c05cc163bd354f7cef2b66e833560a2773e2efa74cd8ac672d0cda67e58c4c5a405202941f1cf6fce92ac05d994cf86d7d69de7ce52bba123fc556d78a4c54afcfa47eebdbf5d06d5ebea1e89d76b63067a2523dc37d17d7a84dd4d2fd093524f37204b1b08c9a8efe2f228fbbf8ce37e30df867e9065c9f5cf9fc54a656dea7d84974dfa4980f5ea4bbe19d12cef0e44ea550fdd06c02190803ce059e5afcdf45911b5aabcbfd3386531a653a489a36e36b07479dab0af3bdef9b81e75d5cbafd737ade692b727205e5f704b5a10794c9948e47f2e2e465f71ddbf145cc7d22ddce16306dc94628bf618906e9699283c00d71ad8b4a8ba041b0de016a18779370a4699e4df5b4b2ad9ba4727e247c35c1c15e95203dec874050e666537258f3869dee5c6ecb969601c22da749f891ac3c0d5bff7904b3ff8659b6eb9259b1575770241580bdd3b20c787a6adcd4f20fda35b427fe18a5f9c261a42f61a1dec9dd23ebde50cee96d56282990aad41f6df3047c994b699262000fb738539fb476df9dd594aaab3a76d110773dd95a259f77ddfdbf1b86571d3e56f72532343aee601f7638fa490be26309aa56883dc7d556940f3e1a79c8624b5899cec0f0805c774fd326aeb126963995af371b1ba2c157cdf3c2bb7e9688cd53f5b258548fc3314a90363236bc347bfc2b1fff24f11751f6f899559c618af37eaa5f300dfdbc108db68b7fff0b9949df7542a4db7e97fb2dd90025793aca3362a1760b7a9541d078174b6f7a88bb8e2dfc8519f885203ce4224261501d11111fa8b9b8ddeef5a0fe1a00ed8494b637baaf26651a7d2a24bf58b03bb9db5f1e0ccaf75d38d1eb302ffcb5ba907f88f407844b4f80250debb2e088e352116f176efe8745c50a79b4740e6d2cd5676459b21f9af7ff1d1f9ded118f286f2f943d24caefe2d9716902d9ca4d11bdfa20ff240daaecc678013f361ca06a4c0b33bd6837180661cba383e3683d71cc47f8e25338c1d339196c897be038200754dfc32f5112f297a504e617493f4077cf73a7c9911e9fe0fe13e8ce46d63bc8e6f4cf6b66a9c94de49546c15bfd65bdc5646e1393522314d141394f4bd7ac915ebe95ca4610191ded5205b0f4f81d40a4435b94c00b4a90af0ee923c8771cea77c455f9c8ceae7ce543252840177c568c13a80c8261f3f913f203dd9833e2963e72a8003638a1c78d8759bcc847342c87155567db6e2d4ea1a6824bfc549cd8baec67d191b613af12ffaf96a496d4dc62334402e79d1f253b9e5e102a1bd8fb495f73c16a134d6dff9700baaaf4fa772a76ea7c4ae5202d32d40c9a726dd8c25e3353f84d04eb38cbb48691837c3440672c3e6c148d9959d8f438440656a30dd4d4088e220ec827d667ef63a7cb809120b152b209f2bf7dd92ca1abbe520450d83a58df779b19779050115a4558e4ff2e9832f562bf170e687783953110be2606051213613644e9779777d7bdcb681744a28b43ad340a9f98f933703be5b77cf03842b2f8e5f1741504803d3cac8778a4ff4bbd08e605b40470adac4f62d995863236074e2a69a8948c7c96d577bed077ce9d1e85a88a1e833323e34153848535a947837881e7dd052ec5e67cfd1f010ff56d59dd31f7cffaf0261c4eef9599cdbca5b7140c0a8110982c9f5a254ead5075843031da5b1ce64a014e776fbd80f2b2deddfd8d351291c66f6ccfb612e5bfb0f3e564e01a16bf6e96b7b9e95cbe2dd621828f25f7c5bc76099572a70540001ea7a8fb73bca5f781f08d042fcd5b40a28e56704d5342d9b266f658dc74ff0a18f8dfed3019368e095e9afd5511fb7a40110fb4b77372eee2c10029ada5e48564c1509d49c864fd36b02a7863dfa86f5749c6a815d220fd25413b972725babe65fd6c327a51d6bf512e3e689e0bcc07ff3edee86f5a74124d536ded765ffd59fce51e9a3ca5924fd4fe23a2f3f81ae38d00082c3b320000d8201e82501b282f8a0fd11015e173afb1a3d59aaa4570816599c8587f1c6b2da4457304f215395252e43180537cd6ee04d78f61789c2b8b9c7b4e728221a1add4fd44395ed22cdcae8746d2b87124f96b9150acd351b766d3e3d1c3ddec4009048cae760220bc450287387c2e6dedcb87b8ea591934b30c33ee11b4b46707b41bd922bd55f08f3cd401d850cbef1add0fa4abacb356718f1b6210f1de90735417c9b0348430bb06792c04d5c43412b7345f19d4e185cd855649aacc052eb787061dbd56a9c3f59931ca9eefee35bfda2af7b76b8d64231796e7a44c9381f3819b13bfb177ca478457c437cbf5cbbe4531811abfac1f179c8989588b7f0d1a570330460b31eb7792b0b946d2437ea8703a6da352f824905c8180ac13258f6d4fb2bccc99c837adc3d45f704f952dcdc5d9bac014a3a560a333f83e79030475cf786b36a57e71f89ee94c876837cee94b76e06bcf1ff0bc1194b0ca389cc7db0f022b812dc2f8c1e444dbda471f366ed5398149f7eb0801005454ae11655d015117983f5e67fba9dc51a0686c4b48c269ee2de3514507497b8cdca494a1fa45efc3a10abc9a7c10821ed87f449e6dc76018d4f7d88db658fa428a43fa8e5292f1c72ece274178c6cbc536c6cc41db9bdf399b45ee950feff621ddfb5532ed55da451f72a1661f34b73ed2a16a56c9e9327ff28a9378ef70028c95fb1c2a1f9c69880656979ccd435a1bcfef48083fa68f8eac74d3fe58fc214abd361b10427158f8269171dc8c4218f8d46f888177b18856e238ea34ccbd632d8d8b7b18916342deac02253f2eff6db3e89d51d4ceb9afb6cf8dee5a9e37e76cb8dbb1da3f485cdc2dd128046d9b21301c99d39967dc7afc16d595c725f4c9d95359d201c9cff459523aae143666914ad98d0d7d9e14ba3512e9f7131c671b9e649230893d17cc349e6c43da7b244958cb58964011f3507a11a4bc57daa8b5c3d6c1ceb78e6f86c8d61776761f50607b015e2441cddacfba2962b90902fa26b33205b36d11cd9c7e4c1cd59e288429be9953c3971e89276fc50741e60caa06608a9d94e8f2daf49846ecae0228ec6af01e100e635593af3ae9cd6987833d83e5b370bda704d2dde1da2fce790cb6d1eef3e6a25d40e359eca922bce7b841a7277b7b49d5a5d0d5e2e74b8261283c72657bd92b2c35b5279bc63ec5046ae0afc83dec66482e2f75ce5077f13de688f706a8426046c27ec1ed44d245ac5f32b7cd89f42b1c15bff3ba203146afd3b4381330e54b158dbbdc286b865814d1ea8aa184c7f451d95cc356c8193445fa6e86de381cefc12b46cedc4ac001124325be4862a7eb20efa167c7db5ff46d05e42be1b757e56268a6868685f2f5bca8ca989248817acb826730a67acceb764e5d56f09efc1284ecbf63fd5171986f96865358a3c4f0eef09bc78b1b904fc08aaffe998f1ed8420a5e3ebb05f737e89652afd00a7a13e1a15f78fa560dc95e3f324754c4566304d87ede2fd3f6cbabfb2e7a809ba6f447086a6317a4ce1550303a19f1f8be481a8c76ddc6eab987a384a74bc927b78af5a6b2569c77a4f6ba88082c3f16bb9c722876372e3d41932f6054a80b11e0758386e8ead60a8750ae72344ce52ac65b7b77a7069e5cc1e348a0b6d43d9673c8e20a89d958807b643c20377b4a16f1e790086701875d4602d5153ff7a592da5cf771e0d18b53e62483a28b65ac262072d4ad9b29893bc8b47cf67da5b5ccbda3f7e59679fb3f9415202159f5f76edb26acd39c2eeeb8648af205f26a9514609363a2dc639fd1a96bdde245f08d61fb32d4d0d0a1de6b3d22c091949a35b09dd7b6c423c470fefe7d80e480aee2cca37119b4db088cf9d78cb1bfb260aabbcc4941a2da93cb2c5daa499312cee9d00c4895ba9768164a2515fccfa6071ac022c7c537190b31ec46f876236aaaa1082656d5bdb04849da3e4494b234bee03292adb0675ccf86d4edf9312d88473034bdeee3f81c86ad24bdbc36cf6bd0c67d174d5deb6dde3abd4aee3d63358914b9160d5d94c02eebe66df8a49f39c442f90199aa4a3d47cda0fe71be452a05620205ae858043c1775ebdce22343b2bf953dee47129061c11c1eaf09e97b164411c6a7e3e1e117e04cdf6a3a93af8bcf7fa65a46789196f37674830d6971c059de424546d3d33347fe5819963f2e4872825bebc6c993ccd266c76943b8280eafcbe89d3091c2594fb82b22784a36ccad02168dc6a794ad5f61ad21d684c45cfbef9b56ec7574a350d893fb0f064499d496e76eae8be1648628c6543537eb92a9553300cbe1841c2c5921db58c0909a805cebdb8b427ad7c4b52de6b0c745952f4ae3abe53dd18bbc5bd95931d5d0f47930037708889366e96ae4c46f1d5070e34465c720e62696e0ed1202521b43f1d0c668691d35e6cde2db1e2dfa5682153d168851ea913deaa3c14056375443bdf12e66c5cab52db8d23d27514bb9d504eb737f707bdca45ccf3ece28ff988b9d0c424ef6129e70143ede0aa592a74518c7db7892d0c6340c4d321e53548dce3a5b9a254eab5a49c5336b93fa71d8028d2a2620ca32bad1cbeef889caeee59c5c40d4b252b9e2d383ae8536d7e3437170cabd9ae76b219d08ffa7fdd42a6fde95ba7c15494b0f1d41d6464795445d8bc25ba0d715ec60f458ad2a0aeaab9429b878001a7d41830ed515a0e6c0f057a3d905d6000316716966586d971d40c454d70612412ecdd736ed54cc47497b4ff90f9fd5d436cb0736ca762ff53bc5416fb5ad64fe700f153cade3747d2a821e35e290c5ba0650b053ff87243edd70bdb2ec4ca817ab9b4d10083d5748acccde13e72b0634f9eecdc60c73c19ee984d2cc7104da480bf9fe8a631d3bcc82ab59b83b6d8c74b3f51630d51ed65a5482c2b547e605a0e8c6436e268ad6ed31a95f1f37a18edb642217f7c7d974bab5d1ce3347922c28d568c0dcb7525fc2288f5894b6591215c499ab9a9208a9fa2518d9ec21ee3dd4937d241d5f77b73fdcfc9a99e418070b11ea1674bdd25986eca67b73f2f9b9ac0daa40d0e1edbcffd4542562e10879b27f01b7e26f6d920430d235670ab0ff100600ca72cc1c57078413e7d31105da176a80390c566d81ee2c09890be8e517654a443f9e8f5dd6ea86ec1275d7d8cdb5df489a62324bbe782a6cfb9d1842a9585990e51834f31b0b26dca848fe75e84b4d2abbe77a4933737bf245cd544ab633ae587a2f7874ef080a8eef855d2127e9a296b59dc73a04a5651e3970a2578da69d7dbca397d256e8537d249fc09247285321423695dda316894e922cef80f63057e74540a55ca236235e8f4289f5b19a87c98713ab53f767fe877e1f3b639dbabd77159da307c4ea2a288e10b8aac03e777ced535b553de58feb4ac870c4cc47c9b0783853a7fd236da67f106ccee46551ec032be920cb7e95e6b512693690810a3cb46226ab0b1ad463918940bb1b512dbf416a0ced97fc48c72464249b73fd031c1c94941856c0a988f97cad85168e79aadd3d56bb9bf2d3c5715f9c5b6328badbe83816fd693000c5003b21f82cbd8537d8b59f4f7252e10d36a7bfe20bf1b36874865b1d97f7e349aab05debac9f2b76ac546dcb64c5045c3cef967be12c5801b5b1c578af6970c1ba665bf04676f6f9bc50a30e60ab5aaf92bdeef793a5caf59d4e4ff3fc9baef35523eca75032ae736e28afa3f3f9e2987e556dd8950bc11a37b97a39c29723e88280c725de2141c5923dfd6097f52239c0387c6c7fdf602a637c374779b0df28966da8bcd344e2cb195868f1892322f15823b4693d2666e38903dec04a0ca246a9ff53b95ebec587762949672a11068687c5fd64398f649f20b9c5099cb88e714b290ebadf16942eb8365a6d35eb320a41eaedaa3e3f5df7e797674c770f6a8e3c91593bf58abf47df787780e41a2a7db4956e531e5833086bf7242e0e5f1f272e7c396c55ff5d449abd1869ff68c7b0c8bf5a5f4a1533edb901821879f9e5329896a94aa3377b0771c36836cd3f9d2a016f04be7a0f25aaec1400bd540076f6db28afa8b8bbc2283dffa06409297f081b74fd8b52d8637b619f6a4b8b9f121ed486ddb0fc92379c1494f55ed7155c641d15848af877a361e52a897435dbe72ae154abbc9b39111607989230ae0247a025e6684d138d3029089a24f67e4717d2f3640364c041e5a2c291afa93f472169f2f1242be4fee117e72e42e305d923f9d1669b34cb1ba2de0cb8be6962ea83407788886451b2ecb3bfa0d914b503a66a587dc59cf68191e42f5c1bc2a1dc90cb37385870b3f1ef3092d919f1c4288fac30c782b807fe7d3d44f5c280c9ce9b3f1e18dcde50f8e0969219e1c2361c5f0118d3c815c7bc0f5deb850421a322ae43fb9d4d1594216559c680b25b2bd44d201926d306af42b90448898bc39b38d6a2d3e86b0f230103473907b0b31d2aa439699138c4313e269018f86f18c747cd0e76aa37f8850331b44bf92954bd938db7c049cc785bce3563224a1191badb884898efab41b1f160bc584743ef1e9f2d7164c0ac7d52dda0cfd60ff6b2552ddc2d1c5c4939b903f6f820ad9b3bb8c6572a1858edf8c7cbba8156b1b9885b7df3f280cf37ab370a39cecd46c8d21cbb471c865e08445c9964009cd7820997d86b0a26867babbe591701345783bb97e5b63a7d9032eba1f7a3c96036388971b57a9d37ccd253ff3232f903bbae6c1971e1f52ec52d2c3f67f426eb1ac65ee806dea9b10ebf69f87132f140ce9a8043a6af0e2ac3ff4336284450f387ef4b53149afb9dfa5a6b7df1e88b5c22044f4f7798713e67552a9d1edd56f7031396138c7c7e7d68ab94995d18deb4c2e6e8c4e8a2da887715b296819f09eff29dbbb22c0fade70163d29131d0d4e732e0bb8781edc079abad5f078d3572da0d9264dd585037a2b5caa80b83d2964e68e298c493341f55f2ab69e70ba3f2f0c0b035fafb63e277c71c649c2d421e8c692c27bf7d9bfc46467d999b3a694c00c5b5db727e65d5642e3919c3781bb7730fcd8008fa0b696b6fcdcbb62accd05af93933166c15ac5fa0cad47bd4681bed6d0f430bd9e25359799a03576a1662f081752c175fdf215d0bd6426ade1e18157031d6c848639277231b61b7acc6395bbdc051866aa79976f85877b21ee6c7e581cc87bc5d393afec01c5f65be9269e4945f3053b6a8c1b5e39943d7d3ef43761d480129d6f263037b8f517dc5c313a7bb68dae5a6d91f15a0ed0f1bea2e75c7d1f811e2d1c85f84e4d8eeba8acc605539ddcab3193c75ceb6254c4f3af92f9ececbdb326a8c632fe1d7560bb11193f50ac00b6469c447e557c602537ebd9e2351df8698941a6dc1fc2b419aa9c102fa6750e52ba0e076cf8ec2c0568af133a9da4a28556fe67611fef9ec319b5e472e4b9beb06bd8f1005f900a1d34a27d6f682d41e7391333a51ce63edaee67f218b5abb06e8d17c15d44c1e8b047c727516182b15b9a09b3ed2e75414762a18450ae90f8a1c859de026600096a03cbb9ad5aee00eec77b592b51380d9bba2894af592d491180928a5d2e42cbabaea96ef882c3ffb9a3e61def26fde09c3a409cbdf9e3ec36c36a8b1c7e3edd3c4803be159f01cb0422f1af29879592dc62617ed1908e2feee0a01014353efcf97fd563c07b90c1d428b795d18e9494fd768f000660a6f7050e08e3467ecce7b12f95630f76f34595d680444427a3f929cfe6a2bf93d4c38f47242813053d99f5f3972cca57634d11f0069dcdb6090f52c4daa2423a606fb9590be65663c4cb9b81aa9b71e7ead358ec0e0f5bffd846e2cd5200bdad629d473d8762f580b28496634f14a00b730951b6de7c513d5cbe46cd46cb405d437874160c7155bbccb11f57f7e2efdce4724c33aa937e4c72a4a18d7e35efc65f0a5fe44eef18e6b931e73b7ee8461d0b3d68c4eff020505636d5ba3c8170f82255471ad2ea1ce49521e1079a0349aa7e933a5526602795da711f0826b8bd3d7869241e0687d5f4780ea4b15ecf54746d105c670ae22474a2d017840692945e017b856b56c8496f9aa0125431b7a4da5c61e3ec270b029ddae33c93117be446080fbd569d6bbb3604763d43ae3aaa39a7bcdb2a7f03e5fd5a5993fa55ef7aeed74e277d980c7dca081ac5e0a5f3d41d89ffef4c1bf2605bed7cd0e9486177b458cd318eb1d369c7fc3b600a6d260dd7fb3bcc412fb848f498f13886545e1f782f7eaa8215f3738d7ef3da88913d151e9a3af6670269149c0cfe5258807451fc05e135b96d51a0d72f47602a8fb37b605403f64ba7376c3dededfc01704c5a01e0f63c3ec92c8724392815c80124e169324b4a2ea430af2eba0a544026039f5ea12eebc7ff7f93653a373d190fb383117b4b842dcda89480f879c209d8aace43be4416166801ea65b8418ebac7149db63f477662d76267269d2ebac3fa3ce46f8128ef0e04741877e248150270e21f4302d6a9820fed07272d41bad9d3b805d25aa463c625cec432710d8bdf32d9a83360f31dced50cda448798612045a544d690ba11a771029d4ee74026412abfeed01076b9da838e4caaaf161baa74b2a0d353db7e5aa0d29e45ea4d4dd0c92b066f9026a8125e6538abfe060948b7ad6e5de7cd4e5b4866ce9614f5accc56da9bc1e9c603c323c47922c861e50ea2400507bf0d9129e6f9822557273f8f8dbeba9963db31b25eff6216592ae6f615f4a65e3784f71c4d5e417569c3b881074067c8d2132a0ae6de6f718c28785ab462cf245abcace39fde4f90fd73a0980bbb206cc7b01fd57ef23e1f6a4870c92206298bde5c4c0e2d1fb69be2f6bf50b4b9866b8029ee20338ce511e36ed4039d6bce5db9d1cbb1a7615de1087dbd8674564d99f6d631575e29a57021f2eebf19f7c8f812298801023b90c647ff577d5cdb6378e98c58247e106904bf4aca3593300346e11d072c814a65f581b355dac89c34d4c40d1e6d2f2d4b8b7bc82a0cc0c4eb216aeba4d2a998931d895abc51b6a6ecb9a301cc53c4da47e85bad021184fc346cb132d7e5b46d4804eff77ea45ec32c5a644e6bb1d67372137f83779d5bb93aac63388c3c896d8734f3898b298fa7679add3eb11330bfebd6c76255a7b8c3004532cd16ce49d499d278fd9c17e30e0b8f6788a9904dfd9c715ea9740b2f22d32b4acbad1e9f963d88239eab3a8c60b7b05df71374077ffd24eb5c04f9a9f2320d786552a104b39eebc9927a288381e4debffd5fac9198ce4eb93f536a6b81546448c6143fe1c6de533426fc28f228ecd8eb5c4a62b22242f324a1d3aa861dd83c17585daa76a5f86b7cdef9cff8047046f4dc6e36a2c7db84b89f3d98e8907f99206fb96aa8a0769fb5e5eed69ee765abc1f8555d53c93bca25b727676df8ee79cb714ca4dce1f133c25450c813d5f18b200f10c70606472d92c0bd55b58a1f45ec635bc4e4f7d69467c0181c75496c04ffacf812cc55032cff09e8848bf987cce9405e8b62342b0f13f0f19cbc905959fecb1d2ffe99b1d6087a4431a1fc8cbf0830ebaf3489871214541990c4d6350d23ab3061666ca1a8efac15bbac66ba71f9cdc8d31cb68fb2897d3d05bb4611703ecc25660d9ec5e1572525cfebf8b2f74647e7bf7d3fd4149854d0fe0fabf43d41c34c9e06f387d72c37894f105ae70c13d83f08e40a5fe4cd35060596f8b05057922206d2ce29e1f9727015e2605d79de9d439ed88517bbbe950e901de0b50ce1e36847086d7242a4fccc4d55957dd91f6a1791e3c4938aa72a6d11cea8817c689290d3ed3a77521ce3af85ee01849535a48937fe75d0eb9fdb9fae28c8d0d7e161c6fce857cfa07610400850c4238d60c91d05e96077e898d971f4d07a75bf91dcd23da7fcdc3688633f768ca2d818f8a66b7e920754ad7cfce3536f257c47d61c023fb1af99a0c34f178c053f65526b1a49cdfaf9025ff9bc4d0a4e2295ef0f996ef9578209d9981033fc0bf8708dddac48e4d6a6b06279cbc9fd297f58ad5b970aef2ff754d936f667286f8c2b2cf179002453458258324c3e84f462165d82cccb994596eff13e25867e481161c1b151349997ad387b7e0e55bd57059de6e1d67f9f8d7c81c059674285f73b052e4d82622c4e2e59b54d0bb6e49f53519de068e748e98cd200b3aaeb6ffc65a5c10fa3d665639376ddb767d65feeea6bcb95e9e35ebf089318f96c3e48dad2891ca92ce9e0d585013ae8dd42f05c654e1fc9f2e8ff32fd23b707fbfc6fde9306f8ebb4b54df3acbb8e2ecdfcaf3f9c04d2451272997cff7670c8b3648b53e893242bf57f35c1bdce15326ff3648befc919d1170b5d51b269f7c523f7d1a55b699fcc06fc4e05d88fefb41e1c0b4cfbf4225430cfe67feeff973cd109709b0d2191433728fc26affc697d4467012aafee4bc246fd0aa351bb77756ce6001976d5833d9a13e369c2b3b01e8c5785c8573062547fef791c7c1e38c8b7f08a879c1506fa3a08854bcb5a6a0ccd04e417820d1db23fe1fb701ac36c053fe856e449f3ac5b80797e4c7314a5f30e1d87c8cdcb40ba6a0c36ed9e48d32d5d13d1aba845b242b0ee1cecd7e2b4088edfc415b0e414dc01598bf42671eb9df36231a276fabe7ca8954094e1e67b8ed710c70b0ffe6f81b5664abcb7562e51c213eaba6abe65b4f2d4259f01105f1fb0239c22c997764a33750c9f76b858ef8ec9490af0d8da76b6a59d56f21cdb4bfe571cb6ca21c06dc434a05197ea980a5c71e50ddcc33784f192521ed61ba3bbc467142253d0f0bd3271c96bc1779976cbe9a9ddf3db48fed6e2d1ba40c4f7cda4cbc1d1e92362ea96b0621af3de19e2534dd765f2554c6b375a248dd31e9a6129e2e98dddeb2267fa015e046813488d50f97a6028a5e19a9f152b2ce48a90374b8c0001bfb01e43778250cafe488c37d95ae33904214a03e090284ce94027d0635149bd560b565ee3ec6bc0247634b59a57ccfd10d0d1113b95d8a75a826003e6538b2281eca97dc72d4f05cee5b9af5dbb7b84580af4e29096f0add884014d374e1ca7425f876ff0b5fd75ee1d0b9f2da72e66a0d6f21d35617bee3c1e5135480bee49f3c79e5a824a6402ae7714ad0c89e99b77f05f9526c6c0647178f633a761995999f0fdc0070a370d2899cf45c59a84824769046f0eb183107711058a09e929dbee6230abb5751ef10449202c60ca5c6e7a4ace926338b2b6caa0f61e37190532110e3788063b8df0b810ff86c966950fcbe51cd169cb18fe1cf63605c048cc79471c1f02c2049687558951d2e4c1f4699e2684146b80111bb253d1b871ec06ec02ad71af48f401477c6b3fc6274eef20c452097785f7997d8eda34269733799d313918ad517ebc98c52135b111a56e314a789cff475a53f27ff7be80eb902e96106254a19afe69441a31df665bbe0a133b8d64cd94478eb849681669424ccb3978b343d30fc85d66c01dcc3672729da6ebd4ecdbab1c396b38c4359c366391531a6418b4986ff54acdaea24841588a4caa61e808f6b143c9d5085b3182a0d25f0b3962a3e5eccd8d3d0fea6d98500bbdd47f183ece6423bf6d8b114f7b0a6c7a62a15564aae673307ae6973f8f6d3d2707b3a801c95f03ea4cae1a716be75b628df3230df50321b9979d56b1bb26ae32e763b870410660eb4e3b96190b41e47f9248bd30e682d96c948056e8cd100da492a18239a784fd9ef8577593a0c3d8d39f0cde2f1e542c7c1446f7bd7b2cff44d0fda4ab7bf17d8972559f8512d4651a375114806ed98cf32bde92af410e882ae935f2890cdc52236e0b38e2399e932f24e8472d5cce4cee1926a237e64bade54eb1965c16c29f2af816694529dd5c3341e3fbabb055a40fa01c4de349ed0c0c9f8a0601af007146ba8e5e26233a36558fa2d6a5626a7748e94e962753463cedef45e845a3d0d47c14e9221ec5f722bee586ebfa38b9f853db97f61f187968204e6063eb5b1f1c86cbfc6bc226ba415e82de37233eb170d781ab6c247f72a3f5021893c2be784e3413a0e9de67b1f590d2079be89d8d0607b427015f80fae717871c93e469906a3acd15dabbc4fa76fe7482e19c3ae08697f0c628ea566a75163e61f4aa8fd4483b049f8bfaa648418e527b599772681612d387bf7993ea7146c797421f46b8e3a102faedc8c7da4643f1667201c946dd8230911253fe0b43b4362686e47538f9900779858051d344830fbbded14ed52a31ddc17f2fa0bbe3e4e309fd17288c380a209bf61c15adb00f9a0ea167e05f5896ff5e789a6c0e2905ce19407f139aca938986cfb0","shares":"00000000000000000000000000000000000000fe4c5fbc63311cb65cd20100002800a8f9b175d5112f4decf34d1dfbc39fad4387fc7fbffa620adf1b1f316d85f41154f52af99a26de9908214687b4e5214712e3d97bf2de33bbf389d0ce85842c9b06a743ae6fd8f2a3cc043a22573c7181fd871e9921741fb5b30587ef4ccd34e8d9ff7074e511d9034c45f98111dfd972cef72f3f03b163f405dd8330d7d80bf7a5a4106dd0ad4ecf34a7453dc7b704916d0c8dd7212175d3dbe385c4ff340ab72cac237431ad47e5c32b3abf4fc9ce27d1c3a7673dcd061fd0f50662304457d4b76b68651287aad8ee27b199f8068aa61004f81b5df0381627e6aeedff7772aba3fceab3035b8546b29b43b39ba448313f260e60c5bfb2a104685f4e298d3e488fa0f9a9d0132874e58a46418568818da98e9d0714dd669fa277ff61c8c32896fed73bda6e90b96037254e0fea26568722fa7ca917684877d2f78366debc84e3d4da63f6cf14969ac075241b8fb60b1b772cc98ea5c395407014bd4223f786f70376b9bb4ed11058fd0ee865049df6230d8671bb035de240105efd6319a207ec1ba9a8bb595d3e2afa9c57bd34e7b157932328de4be6fc9c5e85bb04d2c31405d361e11f975cbff3673e359fc4bb267b66b6ec8780198411dbcb59ffba59e93c4c2115a333b777377277b7bf2af59c63bb5163af1b96ae1d721cf6ee084d00000000000000000000000000000000000000fe4c5fbc63311cb65cd2002af215b083174099cdf2ec54d150bd7189f74b08ee88feb552c943155816c99e2aa152c2d7a940e355820827db99fc048fee22d8ea75a9f75a9fa94dbc01d8c482793f917774fd2687aad33644937171a376c7d9ed8e1619269ca04bd9ac97bd9eb55b4ef0cee197176e71545879b409559caf526fbe5cb97f7ec641d9fe4cb2342558aa15481768592d2e14438d35801442051adbe0300c627545266de9c3bdf8924d1f0db7f533ce633e8c155b32f22e2033afc67c6727a642f5e6c4dfccfa22e2109a4559db56c829c056c5169af3de786ca19ebf271a62e2cb068e7d93daf60049c5afcba6ecdc3144324a58da27ae7d26b50067c4f6771789e6a004142e134848465560e96dc5b1d9d655d1457367fd204b62b9ba0f9ede1d0c2f59d7d8f6a505f9bc4f85cdde2aff5262882711fbe4aaad55df4534418d67e3d0ed1768b47e77366c57f9bfb5534fca2194c831a9d3328bc284d17cc3c13809dd5e048a862234ce7aa9239c73887e0ddeec55e2edcde531bd7e5d5d61cc1e92b9f7974cc443c3c4624fd5aae08a70137792c2df4f9a390b7647373e080906ccf0dfcf281cbaaaaea8c9d549b052ce4f1ad124c321b9ed598ae0f212f54d2976ec38331f552288e83dd37e3bb3fa3b7cb4c7a1bff63210ffbfbd17e111776a3b7db30c01e4c500000000000000000000000000000000000000fe4c5fbc63311cb65cd20002f81587c1da7c19c7561cba3d7e8a6afee401fb1ae4b3cd8b54cdfb3af4b47ff087f68ff5c1a1fedc27b2e3261e78c63bfa19e0de0de7b952a20630f24e80e5bb83c35824afa8043c68b7fc15870b88a692967114e448d7574aa296f192ee55c7685d56a53b4f82454ae0a164cd12f36b681440d42258a608d82890c26322ae51f86a018400438b7a13d36fe89660ee3b5bf231acac5be4d92bf2a4a54d12f995bff5c4a8dc5dea715f60845817feb0db2414371fbf7a07984c7620f19cbe2a3f32f6c4f9d4f56e9d8e2e95098d3753ca760b79f3e07b9ef0b3688123748ef94cc9e01ccae76c6ec8f504ca43119ceea1a131cf4eb47d26a7f811f9f8bd3b5a11539944bb535ed2ab278f6442008032f38149670b976d56d3f2f2a67931bc6cb64b1e3274ff8d074d2eefc8f68fc9a703e59dd8e94a5e67171cc1d38baf5a9297361fdfb62e38c189cc6ff6466e39f6ead83f4c3f24b2e02c2d1486ec572096f100cf82eceef0c72e5983ca20491553b2abe87d1384070aa8425077799cf76cad8290915dd9afc684cd674b0452ffc9a28a89fa0c7441b84fdede5cee99065b34c12782cdaf33bd32a831236e66e484d16e4559e63369bda1d417aa193a0608a8603e885d1fcfd14ed77c1121a859174b0b3511e9325298874b2e58b761686be60d00000000000000000000000000000000000000fe4c5fbc63311cb65cd200595cd27263edfde453b67b2bba408c959675c1f459499f43ff6cf4034de44a3785d022f5346d5081179cb033309bb0380a031ee1b6988ec0b9d2fa9325cd65a4fa8987730de6f517c05cc163bd354f7cef2b66e833560a2773e2efa74cd8ac672d0cda67e58c4c5a405202941f1cf6fce92ac05d994cf86d7d69de7ce52bba123fc556d78a4c54afcfa47eebdbf5d06d5ebea1e89d76b63067a2523dc37d17d7a84dd4d2fd093524f37204b1b08c9a8efe2f228fbbf8ce37e30df867e9065c9f5cf9fc54a656dea7d84974dfa4980f5ea4bbe19d12cef0e44ea550fdd06c02190803ce059e5afcdf45911b5aabcbfd3386531a653a489a36e36b07479dab0af3bdef9b81e75d5cbafd737ade692b727205e5f704b5a10794c9948e47f2e2e465f71ddbf145cc7d22ddce16306dc94628bf618906e9699283c00d71ad8b4a8ba041b0de016a18779370a4699e4df5b4b2ad9ba4727e247c35c1c15e95203dec874050e666537258f3869dee5c6ecb969601c22da749f891ac3c0d5bff7904b3ff8659b6eb9259b1575770241580bdd3b20c787a6adcd4f20fda35b427fe18a5f9c261a42f61a1dec9dd23ebde50cee96d56282990aad41f6df3047c994b699262000fb738539fb476df9dd594aaab3a76d110773dd95a259f77ddfdbf1b86571d3e5600000000000000000000000000000000000000fe4c5fbc63311cb65cd200f72532343aee601f7638fa490be26309aa56883dc7d556940f3e1a79c8624b5899cec0f0805c774fd326aeb126963995af371b1ba2c157cdf3c2bb7e9688cd53f5b258548fc3314a90363236bc347bfc2b1fff24f11751f6f899559c618af37eaa5f300dfdbc108db68b7fff0b9949df7542a4db7e97fb2dd90025793aca3362a1760b7a9541d078174b6f7a88bb8e2dfc8519f885203ce4224261501d11111fa8b9b8ddeef5a0fe1a00ed8494b637baaf26651a7d2a24bf58b03bb9db5f1e0ccaf75d38d1eb302ffcb5ba907f88f407844b4f80250debb2e088e352116f176efe8745c50a79b4740e6d2cd5676459b21f9af7ff1d1f9ded118f286f2f943d24caefe2d9716902d9ca4d11bdfa20ff240daaecc678013f361ca06a4c0b33bd6837180661cba383e3683d71cc47f8e25338c1d339196c897be038200754dfc32f5112f297a504e617493f4077cf73a7c9911e9fe0fe13e8ce46d63bc8e6f4cf6b66a9c94de49546c15bfd65bdc5646e1393522314d141394f4bd7ac915ebe95ca4610191ded5205b0f4f81d40a4435b94c00b4a90af0ee923c8771cea77c455f9c8ceae7ce543252840177c568c13a80c8261f3f913f203dd9833e2963e72a8003638a1c78d8759bcc847342c87155567db6e2d4ea1a6824bfc549cd8baec67d191b600000000000000000000000000000000000000fe4c5fbc63311cb65cd20013af12ffaf96a496d4dc62334402e79d1f253b9e5e102a1bd8fb495f73c16a134d6dff9700baaaf4fa772a76ea7c4ae5202d32d40c9a726dd8c25e3353f84d04eb38cbb48691837c3440672c3e6c148d9959d8f438440656a30dd4d4088e220ec827d667ef63a7cb809120b152b209f2bf7dd92ca1abbe520450d83a58df779b19779050115a4558e4ff2e9832f562bf170e687783953110be2606051213613644e9779777d7bdcb681744a28b43ad340a9f98f933703be5b77cf03842b2f8e5f1741504803d3cac8778a4ff4bbd08e605b40470adac4f62d995863236074e2a69a8948c7c96d577bed077ce9d1e85a88a1e833323e34153848535a947837881e7dd052ec5e67cfd1f010ff56d59dd31f7cffaf0261c4eef9599cdbca5b7140c0a8110982c9f5a254ead5075843031da5b1ce64a014e776fbd80f2b2deddfd8d351291c66f6ccfb612e5bfb0f3e564e01a16bf6e96b7b9e95cbe2dd621828f25f7c5bc76099572a70540001ea7a8fb73bca5f781f08d042fcd5b40a28e56704d5342d9b266f658dc74ff0a18f8dfed3019368e095e9afd5511fb7a40110fb4b77372eee2c10029ada5e48564c1509d49c864fd36b02a7863dfa86f5749c6a815d220fd25413b972725babe65fd6c327a51d6bf512e3e689e0bcc07ff3edee86f5a7400000000000000000000000000000000000000fe4c5fbc63311cb65cd200124d536ded765ffd59fce51e9a3ca5924fd4fe23a2f3f81ae38d00082c3b320000d8201e82501b282f8a0fd11015e173afb1a3d59aaa4570816599c8587f1c6b2da4457304f215395252e43180537cd6ee04d78f61789c2b8b9c7b4e728221a1add4fd44395ed22cdcae8746d2b87124f96b9150acd351b766d3e3d1c3ddec4009048cae760220bc450287387c2e6dedcb87b8ea591934b30c33ee11b4b46707b41bd922bd55f08f3cd401d850cbef1add0fa4abacb356718f1b6210f1de90735417c9b0348430bb06792c04d5c43412b7345f19d4e185cd855649aacc052eb787061dbd56a9c3f59931ca9eefee35bfda2af7b76b8d64231796e7a44c9381f3819b13bfb177ca478457c437cbf5cbbe4531811abfac1f179c8989588b7f0d1a570330460b31eb7792b0b946d2437ea8703a6da352f824905c8180ac13258f6d4fb2bccc99c837adc3d45f704f952dcdc5d9bac014a3a560a333f83e79030475cf786b36a57e71f89ee94c876837cee94b76e06bcf1ff0bc1194b0ca389cc7db0f022b812dc2f8c1e444dbda471f366ed5398149f7eb0801005454ae11655d015117983f5e67fba9dc51a0686c4b48c269ee2de3514507497b8cdca494a1fa45efc3a10abc9a7c10821ed87f449e6dc76018d4f7d88db658fa428a43fa8e5292f1c700000000000000000000000000000000000000fe4c5fbc63311cb65cd2002ece274178c6cbc536c6cc41db9bdf399b45ee950feff621ddfb5532ed55da451f72a1661f34b73ed2a16a56c9e9327ff28a9378ef70028c95fb1c2a1f9c69880656979ccd435a1bcfef48083fa68f8eac74d3fe58fc214abd361b10427158f8269171dc8c4218f8d46f888177b18856e238ea34ccbd632d8d8b7b18916342deac02253f2eff6db3e89d51d4ceb9afb6cf8dee5a9e37e76cb8dbb1da3f485cdc2dd128046d9b21301c99d39967dc7afc16d595c725f4c9d95359d201c9cff459523aae143666914ad98d0d7d9e14ba3512e9f7131c671b9e649230893d17cc349e6c43da7b244958cb58964011f3507a11a4bc57daa8b5c3d6c1ceb78e6f86c8d61776761f50607b015e2441cddacfba2962b90902fa26b33205b36d11cd9c7e4c1cd59e288429be9953c3971e89276fc50741e60caa06608a9d94e8f2daf49846ecae0228ec6af01e100e635593af3ae9cd6987833d83e5b370bda704d2dde1da2fce790cb6d1eef3e6a25d40e359eca922bce7b841a7277b7b49d5a5d0d5e2e74b8261283c72657bd92b2c35b5279bc63ec5046ae0afc83dec66482e2f75ce5077f13de688f706a8426046c27ec1ed44d245ac5f32b7cd89f42b1c15bff3ba203146afd3b4381330e54b158dbbdc286b865814d1ea8aa184c7f451d95cc356c81900000000000000000000000000000000000000fe4c5fbc63311cb65cd2003445fa6e86de381cefc12b46cedc4ac001124325be4862a7eb20efa167c7db5ff46d05e42be1b757e56268a6868685f2f5bca8ca989248817acb826730a67acceb764e5d56f09efc1284ecbf63fd5171986f96865358a3c4f0eef09bc78b1b904fc08aaffe998f1ed8420a5e3ebb05f737e89652afd00a7a13e1a15f78fa560dc95e3f324754c4566304d87ede2fd3f6cbabfb2e7a809ba6f447086a6317a4ce1550303a19f1f8be481a8c76ddc6eab987a384a74bc927b78af5a6b2569c77a4f6ba88082c3f16bb9c722876372e3d41932f6054a80b11e0758386e8ead60a8750ae72344ce52ac65b7b77a7069e5cc1e348a0b6d43d9673c8e20a89d958807b643c20377b4a16f1e790086701875d4602d5153ff7a592da5cf771e0d18b53e62483a28b65ac262072d4ad9b29893bc8b47cf67da5b5ccbda3f7e59679fb3f9415202159f5f76edb26acd39c2eeeb8648af205f26a9514609363a2dc639fd1a96bdde245f08d61fb32d4d0d0a1de6b3d22c091949a35b09dd7b6c423c470fefe7d80e480aee2cca37119b4db088cf9d78cb1bfb260aabbcc4941a2da93cb2c5daa499312cee9d00c4895ba9768164a2515fccfa6071ac022c7c537190b31ec46f876236aaaa1082656d5bdb04849da3e4494b234bee03292adb0675ccf86d4edf93100000000000000000000000000000000000000fe4c5fbc63311cb65cd2002d88473034bdeee3f81c86ad24bdbc36cf6bd0c67d174d5deb6dde3abd4aee3d63358914b9160d5d94c02eebe66df8a49f39c442f90199aa4a3d47cda0fe71be452a05620205ae858043c1775ebdce22343b2bf953dee47129061c11c1eaf09e97b164411c6a7e3e1e117e04cdf6a3a93af8bcf7fa65a46789196f37674830d6971c059de424546d3d33347fe5819963f2e4872825bebc6c993ccd266c76943b8280eafcbe89d3091c2594fb82b22784a36ccad02168dc6a794ad5f61ad21d684c45cfbef9b56ec7574a350d893fb0f064499d496e76eae8be1648628c6543537eb92a9553300cbe1841c2c5921db58c0909a805cebdb8b427ad7c4b52de6b0c745952f4ae3abe53dd18bbc5bd95931d5d0f47930037708889366e96ae4c46f1d5070e34465c720e62696e0ed1202521b43f1d0c668691d35e6cde2db1e2dfa5682153d168851ea913deaa3c14056375443bdf12e66c5cab52db8d23d27514bb9d504eb737f707bdca45ccf3ece28ff988b9d0c424ef6129e70143ede0aa592a74518c7db7892d0c6340c4d321e53548dce3a5b9a254eab5a49c5336b93fa71d8028d2a2620ca32bad1cbeef889caeee59c5c40d4b252b9e2d383ae8536d7e3437170cabd9ae76b219d08ffa7fdd42a6fde95ba7c15494b0f1d41d6464795445d8bc00000000000000000000000000000000000000fe4c5fbc63311cb65cd20025ba0d715ec60f458ad2a0aeaab9429b878001a7d41830ed515a0e6c0f057a3d905d6000316716966586d971d40c454d70612412ecdd736ed54cc47497b4ff90f9fd5d436cb0736ca762ff53bc5416fb5ad64fe700f153cade3747d2a821e35e290c5ba0650b053ff87243edd70bdb2ec4ca817ab9b4d10083d5748acccde13e72b0634f9eecdc60c73c19ee984d2cc7104da480bf9fe8a631d3bcc82ab59b83b6d8c74b3f51630d51ed65a5482c2b547e605a0e8c6436e268ad6ed31a95f1f37a18edb642217f7c7d974bab5d1ce3347922c28d568c0dcb7525fc2288f5894b6591215c499ab9a9208a9fa2518d9ec21ee3dd4937d241d5f77b73fdcfc9a99e418070b11ea1674bdd25986eca67b73f2f9b9ac0daa40d0e1edbcffd4542562e10879b27f01b7e26f6d920430d235670ab0ff100600ca72cc1c57078413e7d31105da176a80390c566d81ee2c09890be8e517654a443f9e8f5dd6ea86ec1275d7d8cdb5df489a62324bbe782a6cfb9d1842a9585990e51834f31b0b26dca848fe75e84b4d2abbe77a4933737bf245cd544ab633ae587a2f7874ef080a8eef855d2127e9a296b59dc73a04a5651e3970a2578da69d7dbca397d256e8537d249fc09247285321423695dda316894e922cef80f63057e74540a55ca236235e8f4289f5b00000000000000000000000000000000000000fe4c5fbc63311cb65cd20019a87c98713ab53f767fe877e1f3b639dbabd77159da307c4ea2a288e10b8aac03e777ced535b553de58feb4ac870c4cc47c9b0783853a7fd236da67f106ccee46551ec032be920cb7e95e6b512693690810a3cb46226ab0b1ad463918940bb1b512dbf416a0ced97fc48c72464249b73fd031c1c94941856c0a988f97cad85168e79aadd3d56bb9bf2d3c5715f9c5b6328badbe83816fd693000c5003b21f82cbd8537d8b59f4f7252e10d36a7bfe20bf1b36874865b1d97f7e349aab05debac9f2b76ac546dcb64c5045c3cef967be12c5801b5b1c578af6970c1ba665bf04676f6f9bc50a30e60ab5aaf92bdeef793a5caf59d4e4ff3fc9baef35523eca75032ae736e28afa3f3f9e2987e556dd8950bc11a37b97a39c29723e88280c725de2141c5923dfd6097f52239c0387c6c7fdf602a637c374779b0df28966da8bcd344e2cb195868f1892322f15823b4693d2666e38903dec04a0ca246a9ff53b95ebec587762949672a11068687c5fd64398f649f20b9c5099cb88e714b290ebadf16942eb8365a6d35eb320a41eaedaa3e3f5df7e797674c770f6a8e3c91593bf58abf47df787780e41a2a7db4956e531e5833086bf7242e0e5f1f272e7c396c55ff5d449abd1869ff68c7b0c8bf5a5f4a1533edb901821879f9e5329896a94aa337700000000000000000000000000000000000000fe4c5fbc63311cb65cd200b0771c36836cd3f9d2a016f04be7a0f25aaec1400bd540076f6db28afa8b8bbc2283dffa06409297f081b74fd8b52d8637b619f6a4b8b9f121ed486ddb0fc92379c1494f55ed7155c641d15848af877a361e52a897435dbe72ae154abbc9b39111607989230ae0247a025e6684d138d3029089a24f67e4717d2f3640364c041e5a2c291afa93f472169f2f1242be4fee117e72e42e305d923f9d1669b34cb1ba2de0cb8be6962ea83407788886451b2ecb3bfa0d914b503a66a587dc59cf68191e42f5c1bc2a1dc90cb37385870b3f1ef3092d919f1c4288fac30c782b807fe7d3d44f5c280c9ce9b3f1e18dcde50f8e0969219e1c2361c5f0118d3c815c7bc0f5deb850421a322ae43fb9d4d1594216559c680b25b2bd44d201926d306af42b90448898bc39b38d6a2d3e86b0f230103473907b0b31d2aa439699138c4313e269018f86f18c747cd0e76aa37f8850331b44bf92954bd938db7c049cc785bce3563224a1191badb884898efab41b1f160bc584743ef1e9f2d7164c0ac7d52dda0cfd60ff6b2552ddc2d1c5c4939b903f6f820ad9b3bb8c6572a1858edf8c7cbba8156b1b9885b7df3f280cf37ab370a39cecd46c8d21cbb471c865e08445c9964009cd7820997d86b0a26867babbe591701345783bb97e5b63a7d9032eba1f7a3c9600000000000000000000000000000000000000fe4c5fbc63311cb65cd200036388971b57a9d37ccd253ff3232f903bbae6c1971e1f52ec52d2c3f67f426eb1ac65ee806dea9b10ebf69f87132f140ce9a8043a6af0e2ac3ff4336284450f387ef4b53149afb9dfa5a6b7df1e88b5c22044f4f7798713e67552a9d1edd56f7031396138c7c7e7d68ab94995d18deb4c2e6e8c4e8a2da887715b296819f09eff29dbbb22c0fade70163d29131d0d4e732e0bb8781edc079abad5f078d3572da0d9264dd585037a2b5caa80b83d2964e68e298c493341f55f2ab69e70ba3f2f0c0b035fafb63e277c71c649c2d421e8c692c27bf7d9bfc46467d999b3a694c00c5b5db727e65d5642e3919c3781bb7730fcd8008fa0b696b6fcdcbb62accd05af93933166c15ac5fa0cad47bd4681bed6d0f430bd9e25359799a03576a1662f081752c175fdf215d0bd6426ade1e18157031d6c848639277231b61b7acc6395bbdc051866aa79976f85877b21ee6c7e581cc87bc5d393afec01c5f65be9269e4945f3053b6a8c1b5e39943d7d3ef43761d480129d6f263037b8f517dc5c313a7bb68dae5a6d91f15a0ed0f1bea2e75c7d1f811e2d1c85f84e4d8eeba8acc605539ddcab3193c75ceb6254c4f3af92f9ececbdb326a8c632fe1d7560bb11193f50ac00b6469c447e557c602537ebd9e2351df8698941a6dc1fc2b419aa9c102fa67500000000000000000000000000000000000000fe4c5fbc63311cb65cd2000e52ba0e076cf8ec2c0568af133a9da4a28556fe67611fef9ec319b5e472e4b9beb06bd8f1005f900a1d34a27d6f682d41e7391333a51ce63edaee67f218b5abb06e8d17c15d44c1e8b047c727516182b15b9a09b3ed2e75414762a18450ae90f8a1c859de026600096a03cbb9ad5aee00eec77b592b51380d9bba2894af592d491180928a5d2e42cbabaea96ef882c3ffb9a3e61def26fde09c3a409cbdf9e3ec36c36a8b1c7e3edd3c4803be159f01cb0422f1af29879592dc62617ed1908e2feee0a01014353efcf97fd563c07b90c1d428b795d18e9494fd768f000660a6f7050e08e3467ecce7b12f95630f76f34595d680444427a3f929cfe6a2bf93d4c38f47242813053d99f5f3972cca57634d11f0069dcdb6090f52c4daa2423a606fb9590be65663c4cb9b81aa9b71e7ead358ec0e0f5bffd846e2cd5200bdad629d473d8762f580b28496634f14a00b730951b6de7c513d5cbe46cd46cb405d437874160c7155bbccb11f57f7e2efdce4724c33aa937e4c72a4a18d7e35efc65f0a5fe44eef18e6b931e73b7ee8461d0b3d68c4eff020505636d5ba3c8170f82255471ad2ea1ce49521e1079a0349aa7e933a5526602795da711f0826b8bd3d7869241e0687d5f4780ea4b15ecf54746d105c670ae22474a2d017840692945e017b8500000000000000000000000000000000000000fe4c5fbc63311cb65cd2006b56c8496f9aa0125431b7a4da5c61e3ec270b029ddae33c93117be446080fbd569d6bbb3604763d43ae3aaa39a7bcdb2a7f03e5fd5a5993fa55ef7aeed74e277d980c7dca081ac5e0a5f3d41d89ffef4c1bf2605bed7cd0e9486177b458cd318eb1d369c7fc3b600a6d260dd7fb3bcc412fb848f498f13886545e1f782f7eaa8215f3738d7ef3da88913d151e9a3af6670269149c0cfe5258807451fc05e135b96d51a0d72f47602a8fb37b605403f64ba7376c3dededfc01704c5a01e0f63c3ec92c8724392815c80124e169324b4a2ea430af2eba0a544026039f5ea12eebc7ff7f93653a373d190fb383117b4b842dcda89480f879c209d8aace43be4416166801ea65b8418ebac7149db63f477662d76267269d2ebac3fa3ce46f8128ef0e04741877e248150270e21f4302d6a9820fed07272d41bad9d3b805d25aa463c625cec432710d8bdf32d9a83360f31dced50cda448798612045a544d690ba11a771029d4ee74026412abfeed01076b9da838e4caaaf161baa74b2a0d353db7e5aa0d29e45ea4d4dd0c92b066f9026a8125e6538abfe060948b7ad6e5de7cd4e5b4866ce9614f5accc56da9bc1e9c603c323c47922c861e50ea2400507bf0d9129e6f9822557273f8f8dbeba9963db31b25eff6216592ae6f615f4a65e3784f71c4d00000000000000000000000000000000000000fe4c5fbc63311cb65cd2005e417569c3b881074067c8d2132a0ae6de6f718c28785ab462cf245abcace39fde4f90fd73a0980bbb206cc7b01fd57ef23e1f6a4870c92206298bde5c4c0e2d1fb69be2f6bf50b4b9866b8029ee20338ce511e36ed4039d6bce5db9d1cbb1a7615de1087dbd8674564d99f6d631575e29a57021f2eebf19f7c8f812298801023b90c647ff577d5cdb6378e98c58247e106904bf4aca3593300346e11d072c814a65f581b355dac89c34d4c40d1e6d2f2d4b8b7bc82a0cc0c4eb216aeba4d2a998931d895abc51b6a6ecb9a301cc53c4da47e85bad021184fc346cb132d7e5b46d4804eff77ea45ec32c5a644e6bb1d67372137f83779d5bb93aac63388c3c896d8734f3898b298fa7679add3eb11330bfebd6c76255a7b8c3004532cd16ce49d499d278fd9c17e30e0b8f6788a9904dfd9c715ea9740b2f22d32b4acbad1e9f963d88239eab3a8c60b7b05df71374077ffd24eb5c04f9a9f2320d786552a104b39eebc9927a288381e4debffd5fac9198ce4eb93f536a6b81546448c6143fe1c6de533426fc28f228ecd8eb5c4a62b22242f324a1d3aa861dd83c17585daa76a5f86b7cdef9cff8047046f4dc6e36a2c7db84b89f3d98e8907f99206fb96aa8a0769fb5e5eed69ee765abc1f8555d53c93bca25b727676df8ee79cb714ca4dce1f100000000000000000000000000000000000000fe4c5fbc63311cb65cd20033c25450c813d5f18b200f10c70606472d92c0bd55b58a1f45ec635bc4e4f7d69467c0181c75496c04ffacf812cc55032cff09e8848bf987cce9405e8b62342b0f13f0f19cbc905959fecb1d2ffe99b1d6087a4431a1fc8cbf0830ebaf3489871214541990c4d6350d23ab3061666ca1a8efac15bbac66ba71f9cdc8d31cb68fb2897d3d05bb4611703ecc25660d9ec5e1572525cfebf8b2f74647e7bf7d3fd4149854d0fe0fabf43d41c34c9e06f387d72c37894f105ae70c13d83f08e40a5fe4cd35060596f8b05057922206d2ce29e1f9727015e2605d79de9d439ed88517bbbe950e901de0b50ce1e36847086d7242a4fccc4d55957dd91f6a1791e3c4938aa72a6d11cea8817c689290d3ed3a77521ce3af85ee01849535a48937fe75d0eb9fdb9fae28c8d0d7e161c6fce857cfa07610400850c4238d60c91d05e96077e898d971f4d07a75bf91dcd23da7fcdc3688633f768ca2d818f8a66b7e920754ad7cfce3536f257c47d61c023fb1af99a0c34f178c053f65526b1a49cdfaf9025ff9bc4d0a4e2295ef0f996ef9578209d9981033fc0bf8708dddac48e4d6a6b06279cbc9fd297f58ad5b970aef2ff754d936f667286f8c2b2cf179002453458258324c3e84f462165d82cccb994596eff13e25867e481161c1b151349997ad387b7e00000000000000000000000000000000000000fe4c5fbc63311cb65cd2000e55bd57059de6e1d67f9f8d7c81c059674285f73b052e4d82622c4e2e59b54d0bb6e49f53519de068e748e98cd200b3aaeb6ffc65a5c10fa3d665639376ddb767d65feeea6bcb95e9e35ebf089318f96c3e48dad2891ca92ce9e0d585013ae8dd42f05c654e1fc9f2e8ff32fd23b707fbfc6fde9306f8ebb4b54df3acbb8e2ecdfcaf3f9c04d2451272997cff7670c8b3648b53e893242bf57f35c1bdce15326ff3648befc919d1170b5d51b269f7c523f7d1a55b699fcc06fc4e05d88fefb41e1c0b4cfbf4225430cfe67feeff973cd109709b0d2191433728fc26affc697d4467012aafee4bc246fd0aa351bb77756ce6001976d5833d9a13e369c2b3b01e8c5785c8573062547fef791c7c1e38c8b7f08a879c1506fa3a08854bcb5a6a0ccd04e417820d1db23fe1fb701ac36c053fe856e449f3ac5b80797e4c7314a5f30e1d87c8cdcb40ba6a0c36ed9e48d32d5d13d1aba845b242b0ee1cecd7e2b4088edfc415b0e414dc01598bf42671eb9df36231a276fabe7ca8954094e1e67b8ed710c70b0ffe6f81b5664abcb7562e51c213eaba6abe65b4f2d4259f01105f1fb0239c22c997764a33750c9f76b858ef8ec9490af0d8da76b6a59d56f21cdb4bfe571cb6ca21c06dc434a05197ea980a5c71e50ddcc33784f192521ed61ba3bbc46700000000000000000000000000000000000000fe4c5fbc63311cb65cd200142253d0f0bd3271c96bc1779976cbe9a9ddf3db48fed6e2d1ba40c4f7cda4cbc1d1e92362ea96b0621af3de19e2534dd765f2554c6b375a248dd31e9a6129e2e98dddeb2267fa015e046813488d50f97a6028a5e19a9f152b2ce48a90374b8c0001bfb01e43778250cafe488c37d95ae33904214a03e090284ce94027d0635149bd560b565ee3ec6bc0247634b59a57ccfd10d0d1113b95d8a75a826003e6538b2281eca97dc72d4f05cee5b9af5dbb7b84580af4e29096f0add884014d374e1ca7425f876ff0b5fd75ee1d0b9f2da72e66a0d6f21d35617bee3c1e5135480bee49f3c79e5a824a6402ae7714ad0c89e99b77f05f9526c6c0647178f633a761995999f0fdc0070a370d2899cf45c59a84824769046f0eb183107711058a09e929dbee6230abb5751ef10449202c60ca5c6e7a4ace926338b2b6caa0f61e37190532110e3788063b8df0b810ff86c966950fcbe51cd169cb18fe1cf63605c048cc79471c1f02c2049687558951d2e4c1f4699e2684146b80111bb253d1b871ec06ec02ad71af48f401477c6b3fc6274eef20c452097785f7997d8eda34269733799d313918ad517ebc98c52135b111a56e314a789cff475a53f27ff7be80eb902e96106254a19afe69441a31df665bbe0a133b8d64cd94478eb849681669424ccb3900000000000000000000000000000000000000fe4c5fbc63311cb65cd20078b343d30fc85d66c01dcc3672729da6ebd4ecdbab1c396b38c4359c366391531a6418b4986ff54acdaea24841588a4caa61e808f6b143c9d5085b3182a0d25f0b3962a3e5eccd8d3d0fea6d98500bbdd47f183ece6423bf6d8b114f7b0a6c7a62a15564aae673307ae6973f8f6d3d2707b3a801c95f03ea4cae1a716be75b628df3230df50321b9979d56b1bb26ae32e763b870410660eb4e3b96190b41e47f9248bd30e682d96c948056e8cd100da492a18239a784fd9ef8577593a0c3d8d39f0cde2f1e542c7c1446f7bd7b2cff44d0fda4ab7bf17d8972559f8512d4651a375114806ed98cf32bde92af410e882ae935f2890cdc52236e0b38e2399e932f24e8472d5cce4cee1926a237e64bade54eb1965c16c29f2af816694529dd5c3341e3fbabb055a40fa01c4de349ed0c0c9f8a0601af007146ba8e5e26233a36558fa2d6a5626a7748e94e962753463cedef45e845a3d0d47c14e9221ec5f722bee586ebfa38b9f853db97f61f187968204e6063eb5b1f1c86cbfc6bc226ba415e82de37233eb170d781ab6c247f72a3f5021893c2be784e3413a0e9de67b1f590d2079be89d8d0607b427015f80fae717871c93e469906a3acd15dabbc4fa76fe7482e19c3ae08697f0c628ea566a75163e61f4aa8fd4483b049f8bfaa648418e527b00000000000000000000000000000000000000fe4c5fbc63311cb65cd200599772681612d387bf7993ea7146c797421f46b8e3a102faedc8c7da4643f1667201c946dd8230911253fe0b43b4362686e47538f9900779858051d344830fbbded14ed52a31ddc17f2fa0bbe3e4e309fd17288c380a209bf61c15adb00f9a0ea167e05f5896ff5e789a6c0e2905ce19407f139aca938986cfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"cee8cb99a3d52ffc98fea8dafddab4caad726b75ac0fabab269a1c3035645b03"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dbe2c388dd16551dd4c84da8aa4ec29a40981be228bc314b0d8bd934a7ed4caa"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":"895e1d5dbb47020cdbcf24139a84d9ef5e25f81b12ea0cbf7156157555d88bb8"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dae6463eb531560d5db08f5a04fc88ca154f0598910e07eb6c5fbeb6459d77c5"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dbe2c388dd16551dd4c84da8aa4ec29a40981be228bc314b0d8bd934a7ed4caa"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"6e8e3bf5de1e8a81a93e5dd8c5e8c1330cd0e56b78a355015ba4e8e3b70da392a76f3ecbc097b9553177ebf16f2ac7e69b9095c93ec9ca996d1296cd22939f8dca59a78809f66600716664b70e363ccab4f561db68ca9d2b4b1b41ab895f29126e1ad728fc411fc32328de286c1640d5aaef07a0e0e4a16ad07bf9475de9561e45eda4785a6512d2eb82c4546dd51f0c34dd56cb36596c538970430fb4dc9a8ef3cb5436d2b8b86529598ba08d43332ada231cae2c291e169f2cfefbcb860987e6150d39ed4c583cc1133357e261788395b6476d7faad8819201cc95c14fb508fe3497f2c6e3490abedd9a25423568e77302898ce2dfafb592178cc957ac86cc162d5333bce032077e6793f6d9888c014cbd747548b44272cc85323f33676df37b5c4b0faee0f5bc04e717f3dc93a0b39ade9c0d60943dcc856e2dc436e2136fa77e98c5360568d0dd6ee884637803e14f1bb1318a19c4f0ad2935a73e2195da4984033ee7dad785ffac2f808f6b18dce0dbf8316e7ae71dddeee8f4878dde1895f99100565fafe71d03a10047980c3149e7aa44a825cf6ae29b3fa453d06c075d41eaa068b7a7bf591dee5c7bda6c24668f6acbb1983298fc636cb2004ce18fabe3a4ad20ed6a0cca28cac68426e48fb68e9ee7bbe86e45a3e3e35ddf893c94b8a5d9c84d2cdc863d78a0b2e009223657f154ae1d8a9727aef50e831aca7b5f968f03ac72d718f965ca001e14c407d3c25e928e014dd7ac848a66a12219215bfaabda19849f1dd9e83d1ae89c4253fcc92a88b6b577d7ed27788cbde8633ee601aef5370aeb86b28f57b1095004d7318fe4c1536bf55db896f292593a28bf6076c64ccc1271f6731771886c1252cb377e1ccf5808dbd7ecaf17f2fa2dfe033c69d4e47905673654805dd62f07d5fbc82dfeb0021421709a946af5a8796c2ffcdb0afb8b728566ad9738d9a65b6b41db66c5153291e8076dfe5a65004511ada19ad4acb8e60f415c436ee2e1f50f8fe46db3c7de0c4c6ae13852c7d7b5d85c74dff2d637f899ea690f7a8d99f0b74398452a818a133b9672db7e19c6b6a312de79768c35d60dc0ca99ad33a557be6dcc0d128fd2446d8c62509e207f182e98dbe719f2385204e5d33e5ec7225910dcc251c198b8910785f23fa0a05bad20a82116a81b2977614cc10ce0a313520a55b2d7531854f40a8d31bce1496317c1c8505116031c2b7d408e70ecefd06c7a035afabe013c63082ff7cba53c2afb7c4772f0a901f58b1e842f7b11f12bbdb8e5277ca0a0330e296f3a449477fca5c6e890adea665a3ec3aa9bf18bda299b95c6923ef39e2dce4eb9258392a07f6a11d3c6271df1428fd5a4bc2d5c9cd18cb48a8a8804c450c96fedc484436b646457afe8bd5329e74d9696d170bb027e01c53cdceef95d617990ae69862b096cf2c4828c","shares":"000000000000000000000000000000000000000000000000000000010001000004006e8e3bf5de1e8a81a93e5dd8c5e8c1330cd0e56b78a355015ba4e8e3b70da392a76f3ecbc097b9553177ebf16f2ac7e69b9095c93ec9ca996d1296cd22939f8dca59a78809f66600716664b70e363ccab4f561db68ca9d2b4b1b41ab895f29126e1ad728fc411fc32328de286c1640d5aaef07a0e0e4a16ad07bf9475de9561e45eda4785a6512d2eb82c4546dd51f0c34dd56cb36596c538970430fb4dc9a8ef3cb5436d2b8b86529598ba08d43332ada231cae2c291e169f2cfefbcb860987e6150d39ed4c583cc1133357e261788395b6476d7faad8819201cc95c14fb508fe3497f2c6e3490abedd9a25423568e77302898ce2dfafb592178cc957ac86cc162d5333bce032077e6793f6d9888c014cbd747548b44272cc85323f33676df37b5c4b0faee0f5bc04e717f3dc93a0b39ade9c0d60943dcc856e2dc436e2136fa77e98c5360568d0dd6ee884637803e14f1bb1318a19c4f0ad2935a73e2195da4984033ee7dad785ffac2f808f6b18dce0dbf8316e7ae71dddeee8f4878dde1895f99100565fafe71d03a10047980c3149e7aa44a825cf6ae29b3fa453d06c075d41eaa068b7a7bf591dee5c7bda6c24668f6acbb1983298fc636cb2004ce18fabe3a4ad20ed6a0cca28cac68426e48fb68e9ee7bbe86e45a3e3e35ddf890000000000000000000000000000000000000000000000000000000100003c94b8a5d9c84d2cdc863d78a0b2e009223657f154ae1d8a9727aef50e831aca7b5f968f03ac72d718f965ca001e14c407d3c25e928e014dd7ac848a66a12219215bfaabda19849f1dd9e83d1ae89c4253fcc92a88b6b577d7ed27788cbde8633ee601aef5370aeb86b28f57b1095004d7318fe4c1536bf55db896f292593a28bf6076c64ccc1271f6731771886c1252cb377e1ccf5808dbd7ecaf17f2fa2dfe033c69d4e47905673654805dd62f07d5fbc82dfeb0021421709a946af5a8796c2ffcdb0afb8b728566ad9738d9a65b6b41db66c5153291e8076dfe5a65004511ada19ad4acb8e60f415c436ee2e1f50f8fe46db3c7de0c4c6ae13852c7d7b5d85c74dff2d637f899ea690f7a8d99f0b74398452a818a133b9672db7e19c6b6a312de79768c35d60dc0ca99ad33a557be6dcc0d128fd2446d8c62509e207f182e98dbe719f2385204e5d33e5ec7225910dcc251c198b8910785f23fa0a05bad20a82116a81b2977614cc10ce0a313520a55b2d7531854f40a8d31bce1496317c1c8505116031c2b7d408e70ecefd06c7a035afabe013c63082ff7cba53c2afb7c4772f0a901f58b1e842f7b11f12bbdb8e5277ca0a0330e296f3a449477fca5c6e890adea665a3ec3aa9bf18bda299b95c6923ef39e2dce4eb9258392a07f6a11d3c6000000000000000000000000000000000000000000000000000000010000271df1428fd5a4bc2d5c9cd18cb48a8a8804c450c96fedc484436b646457afe8bd5329e74d9696d170bb027e01c53cdceef95d617990ae69862b096cf2c4828c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"b236d3c941ae7152bc85d148ca84d1fd4102d09580263ef719f1f495e532c6d6"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"12d8a6bb5748d0bbd7465e29a576cadb5489ce531ddbba5e0b7bb4fc279479608293d3ce454a9d2ef2d4ca63a7489c0d550da9384313f4db1464d13e122195e365cccc30887a3799f01dbb24b79d9aa0948313e2bc275d4b0aab862ed96e109aa50b730bec8ed5cbd7867a6f1f6d841d4fa59d192f7983c01fc7185b7c40713761b47baab9935dca21376fb9c075bd3bd8a21f8aeedb079965195dba38dccd907a750a0260c8c69c04cecfaf8f11ffe8c5754ad7727f12b006baf0f63352c63537df22f62a9dea88819b1e09eeffae6a5aa0e48d52b50438cf114d8d6e6c745b1b06ca0e8fa4bb2322f1605025e1aef9a42affef17c62d62012d11a58cb05bda85aef8188177afe07016bf36d4d1f05c0470a79ff01e536e32dcd98a6ee7a55c1921f84ad8f0d739e091fe3a457162848b82c4ed21e0a513d6a7c287c914697e1f1b70dfe817db811d18334c75232106161824693791ec64cf87ba3b10ea16f91b2f18d1b6abd98df392460129ea5ed4bfadb600781da5dc7af1ec5f12e9d71056d3d527888aa3a32cd7a2d5aebe6f0c0c5c4f213310464d537075262dcf366466e6b0f15fdd48cb308b2864e84f9e1b7d08d26155eabe01b28b015baf7c8f048cef9138f7714103a556d4dd1538e5a83b7d89f834ac70656dd8c20f31fb0b85e637598b38ee228aa5965bc08f26845c3e39ec74c3097904d5e1b538e6c93a0f1672131d406740429aa81625d0b91e3a2a18f3d01ca91c6458232274962672c22f737e7fda5a36526e0b4b2773f015c9a244814b68f96ad8766f7a83c1b0aebed5826dd0a7c0d23472c66b158092b0252344a2673343cc915fa5b42b94ae486e5bf6f32fc824ab6ba4a4dc38d44369b94a36699e34ec543178fe64057d30711592fe15e331911178d59e882da5c240494508891d240d2f16424ede236c81852c8e14544851512fa011932ff13b03c92f5571fc806e699bd44d3a049a057184917a2e19ab656d13a88b9aae9d8759d49c8214e0dfa823d22b46cf66f5195ef27e292dca054a680617e8f8fb7ba8c2a33147349fb3aba96ebed8a3645f956fd89bc11a3d0fa75df06e58c42682ff79c00a7a89cffc7f7f53e7c83dc5452f147f84eb32f619ce60190c023c158d348d75c8bf59a8e8fc5d92446d594e6740185acff7c5f2cfe41637ed8b196cc0a8fcd727df8256c67810e3fa516ae07acdb208ef70c0b04a631fda82751efd3bc1a6a0df4228fdc8f9ed61679102af3e8c778d0cf7727750352c624a24869f8adf2d5fc3fccb5b00877a891198427758b82e5ea7c5f6b48bc8815ce7a56617ba117c9addc17b7bac37bf24f4264b56bd9421b75e60284e0a1b45f6ed18580e8a4b26d0c0dd0d41d83c6f53b89843beb18e8ddca419f09960664b3bcf094739015da9baf3242de56b863f37ca760493934b9c9fb9ac006872ade6c6598b68f68eeca5fabdde3eb279984d4f26346d4ac94f07cd6de1aa3232fc9cdb53d45429e239ce6088a53fc5b5ea41587f87e6eae20ad6205527fa7952970e85eb8e2c49410d0be5ad331946ebb175d9a2e63b9c988237468d8d5dcde38ae2d5b9ccfddce4dd0e73e68b85edef6a1449701e5bd98a876cfb7a44c130e5d4e42cd769811debf54818f56bd2111239073fdecfa83a9f4d75725cce70d3df0dd3daf268bdfc64794acb5684d832284db0d878c13aca8436a28126ec974b957e957f1db58bfef330ff3f1ae0593d5d630b21276c9c3ab4134c8a877850176f97c5b4ace09971e19983f5884302b7df843960cd3a5e6726147cece10022aa9a39636183fb30fe42e1a8fd8901ee9173e6acca9a73577ea5146c73f6092e65e0237b0630642f044c399ed096c8655050fd68f73f76fccb320534dcf9656433dc5a0bbc8c0c0aaab1e5ea40ac1575b7b4075eb8bd77febebb86b157ac125889f23047517c77adbd17d04028db9948662bd53060acf0e7dd36bf83075bd45a653a3dd7a33d40465d6dc4f649fceceffe11128136ca1bacc9626c0816cf69e19f8af489d68d035c8da17d7ac31434935db0b1d17a67994cbc276157c10a9d9614b21414fa6386688b27691b7a42c08728519b77376447ba31548bb68b29e8bf84bdac0bfce2824505b08f1ba756abe1538a36fed7bee370a9ab52b90047e882e5be1814d592f75cb5616fbdb6c1781d919a899149c87c82f5586d455b52234b751ed0fde6c97b2e90ee9e0795d29e5de71cfded5d28126b474be00324385014e7108da9de6eb7017adb0099c16e58e2a0d9fc451a55b0e988dccd0c1708578c2caf048ecb088f31eeedd021198c25940a19d97a60a129e0783e4475f05c08b0e6b4f53ec9dbb3ad1cb6383f3e4228f96f11ca3b907582572f79b39a9d2bcf948fb0b2513aaf71e3f3dc754beadabbec06a6caf754407124133fe28367ef7eb6675cab05f0e56856c33f0e131167b7d813c8cc17f53ef9a3264615c3768f811ef787f85ef997927cbe14451b15b38934a163708edfabcd632679e0fe9746f7aa1734db3fd774d5f825c7b00f299209e05adbfbe581c49318564e6a9d484827146f66cc86896ec194b30e7fc91d8a2385d6d0686216694a54d0f4213952ee0ea29f82a11261065675b611a2d7850f6d694156bdf6153c38b9145e9aa25c8927fb101004a9507849c9cd3398d9d769494dd293848d5dc34e885c6ab865786d300440a416399f8679ea18a26aa40d4ddec054396a54428eb9f5c7f7bcad38c93e0ce1c377adf7ac93ce6335d589db7a04978feed639e8ae8af64c59f3fe0b6ab8163b3f5a319dca421e1a2edd087478144ecc2a9b243cf7009752770685079684e530592401fa89f84a85b7fd58dc4e10b551d74f6e26b99ce9324814f3ad07a6d5ab93820e92a16bf2589d83f6d64ba881489cc0e26c9cdef902218ab3d91ae8c3d3b5da3319ce3a6b94c282f7d75e80c2c783ee06956b583ec8efc3e1b2c2d0fbfa34ed45124287c2fc4769c36a597847049e6bbbd6fbb8a9ecc9e2d223ac3bc1e4011ceac4ef7823a1730f54ef8a671be3435980f2c6905addd123d5ae2e4800631d9a418a8fbdb89c12b224d7ca70a3a6d090add4fb0f422f37c3ce06cecf2a218ca58aa70f0112fa068b25142a07285dda2c04e0c70636cafba6f0f2d7618604c6526264ab88ec1fd5b339a0cd55640b61001081b30530698d913b935133feffc0de5db078126ba61f2132d77a10aaefcb5195e8873e6b3783556d04d1aa741d03387f4ed2ec168604e2cffba7c460526513e52b422b778f10024328997ab466036877a35ab4231550a4c6288d3d925453f569bfdf444e3e90fd51249db404632dc0c5c6c368fa418860d54146996f3934deb5aa05a8e670441687ad1ffd6d3cd52327a06bc1ef90ed95537e607db6dafc1f0496ab30950a02ce0f6ef32002e947575b78ec23d58a882082416913df40b73908efe38b3841b71c49e81c484e8dcec9d57f275afeb19bf5a520806a39e586b38f955494f0ddbdc37b35b98566b594293a9088074f67d41536efdf44f7befdc69c2bf3fdd695ca5ec021843d5f0c0e565a7514b1686bf7fa5f5e49ec799f0d0e45c19cfff2fba2b80f6556f9fe0fe7bdf08e5a1fe2321c4f8b4386d83c75c5f74ce42f1a1abd405ffe1a0fed20f159acddfad69ad1333a943c06d5adad4b13b0da6c6b6f3bdf6a734277f80ccab55cbd9423e3852616d24dc44ef058ab3f72e9aaa77c487ac172b6e77b7c249bf04a14fc3f27bf64cc92407afaf7e9780f1735f4d2025056df933a7752a51ef93af7df7b0b598b667e976d2ef0b3cfc1581b1261fb083d23bdcb146289c89fb44a303eaedc016eeb6ddf5113f704dd165b5040195d9be4020198407b33dadd9529db0e0a85b4074dff38322f0eabb855bc812a7296226935ef7a3b7f4afc3f329267f2e4067a3fffb275e3699430e1f6f79fab8cc1bacb03562a78563c92622852b36f9c4987a93b7efa8ce97c447d97dadccd1120f51a3459afb24a16801092150d466acd1dc8f0b5522271c186df09028aea3860d1ea5bb4a16721545e0a16ae7afddb2f2f267efca12fd0603969039f2964ba990e20b299475cf6564cec3f4d2c1334de724bd0b950f24714d1052c9d1e9e521c0c2eadbd123db0765191cad7cdc856eb34bf15f9fc08a8b0971077185f2a30bffbe39636dd28ff821eeb2bc1ca4c4de53137e3d8f4d1c6ae11c6cbf60adc5f26fa3d2a754454a23ce85ceee152887fc6a5caf45bf019f5c5804c52b28fbd414335019907b4bf49cbbf5c7f04aa6b7cfdb86fe09a3351b84dcc062366cdc59adb2753e83173f4aefaf966619e749ec88918796719e73baa3d1788c922d583c801d7ef2b34efde3d857db62a5eb06ed80c862f878929ccbd8fa8fd2bf2ae7b128ed384b9df6435d0baf7a0ec1720b0ec3fd8bcf9c7e1a36c03bf0e8fb3bc486cd42978b4b601c70b1a1ec8f9ba1f0158587b1577713faba788155908ab94b0267fcce406d395d4c153875c084f5af5da37771dd3718e6e379fa9a60f94e86d23e2d87fef27a695808462c8cd40ca3b03e2b72c626e257cd79a71b0c47f54d89c2be183c83e5d3f073a88c149619b35ee6d99111d45c5c165593ba49db60c094c223370e9bd42d9ede2444520e7b0e98dcbe91418f861e7e9d7b70bf64e6694c8799a48b510c18b452bee7cee47b754defd630423a52847f99cbefe5e753c612a48ac6c7ffa22e1753f135839a90991ca24b7b41091ee9a14511b7617a0daa5723d74b3e526380a732f0108b7acbb1662ad8398891b1459cd11cea5a3235fecf59d229f9cbcb831c62349acb709759891ad511b65de7ed99f8fa612010af3b9ceb636d17d33e398e4f375e4ab3bdcbacd87b04d172d4c36ecc77aee66a6e1b855ec4c6ef261b9e15ad32fb973b5ea2a02a844fe6a44e86709654cf7db1e1258d470b5733aceaed0c1ad4ec11ae1a98fe8b137ff17d6ae1b97367deda0b5999dbe2697aaab4e7e8c11da1a63e226656be64fa242511bd3c2096c4514c26e56295254578ed78ba52e5b3c838e4e1fbab2708f9e667b043c3998d66371b7e19f9d4dcabdc54d5c3f7fed3df9bbb01797bf9bdadd9525db4260fcfd4184588034fff4544c4d2f407d00064583b1b9953f86727c07a568f44059a466f8f8620354d11b3d7def4a4ee09e660ed6175a1ed2dcbd4e2361a54701c17a59f1859be9fb5f05e3642729718a0c20233976a15c144503ad127965d61b7a96d708fb0341580c32fe4bc7df042ae9ea4d615e3506ce9e9eeff9a18429415c6eaa843e913ee9d111ef913b03285701b69cd2cbc24dfb60c914b8849a5e813c3dd8969d2a9cda663def65c0d2fb86d56ffaff9bd361a174acf52e32fbf08104a23b278840d840f616fae4a986c66f5190d4a5221dbb373f08a00e3b659b64d4c77185c6bbdedf72e3eaaa5b47b0e5c4a38b25207c3ce40de5744c41fbe3b27d189f09004ef9259e311d15968941b98894b62f0e8e8d2c8871f3c2b8d5f50b4ba6f33bf738d01c4d031d666bc3caba6604b5dff03a7401d6e47bf454474b2c71fc4cd1228d15ed6efba18d33ae4487fab7b27722756d7e94360fd94ee0720326632601df5f770d3d0097fa7ebc753b9c702102db3db992412a56e8a6000eff39018b9ebd9628f55ab44ad6210ff40adf9ddf548d15f1cfa08527d456a940194577d113e9c0bd7ffe5a3617d5ab964499d718848bd603a3cb13b29df29221459266ec960185df5709aa72c7a69efeb2c2f832f8e3273d8267ba3824dc1f0cba5a8f5eeef9f4b108226c0364a5d6b37872910c4432056e8e32bd11b25eb80d187831fa2d9c1c9b046ac05b1a5a8dbc53ead99ff271b943e83ffe821bb680bcb631f65ce17f7dfb7cf380c9ae98c5d4cb312489dfc9f7bb363af825041ac6881bd645c62d6ef90876b5b16556af5b7a2b87ba335af455924a65a4a4efd74563a4265c2ea91fe78902de3aa3708238846c71080191b07faabdbb4cc406a4af567382590753490f0a28e1adfaf469b0195dcf8b36e3830d1550c2bc6ac6ea673b6f9a881f477dbe3ba019af2c29607bcb329f5ddbb375e754b9ad6a86e191a495030dd13730a4026aa8fe91e393c16fc0d3adf0e831ec4196cd691f79f4685523bfbb90f48b2ed971746f5565b36ef33ec361e0cef4e88f3349d19af20560b2dda5fac6fc14e0ead577a6673d9c0f35d6c6fa9c2bfe3e928af552106412932340eabed9c85b9743b5aa9f43159ea17cc7f8805585d81974f5d7c0be69481a76ad2e28d99650f96c8e0161b4819347100109dab3b134afdc86c1ebfb0cb0788bebd7119985d77aa45ca8ab18f2f04eb80e36b92f447df1fd88d068a27e509cb1d58a6697d943e726a6556aa1bd3d163bc7467a8a356440b114cf6f4d1d5fed52ece573bad805ab867859a5a87d879cf21470b74adb14929cae2d5cc9709ff4eb51ea36d42e9cc615103c1c6d5c374f976067178e022086e5cfc3d1ee1c0ebd090baa0ae6f8eb8f56562e32e4eb1d880c80a30be0b4025c066bb78cc2ca6dbeed593db3ff3b2a56bb633c3e02088d23e69217f64e955119d73095381cff7f6a55857fd9aff9798e21e76a82ae0feb96fb45191772250b87e6e6065b08a55f31dfe4d6c1b5593bcd1e2a9bcad40b189ef6bc2ede15d0f506c6cf62c40f56ef61fd7d71cc93c368d050a3401979508af7d79d2c5cf79f5cd031c8ec1b416ef811023fcdf72d6f442093e1b5f28de187d564102ef0125b001725d940adb80c889e4d4c5509be1e29cada86706fd441fe1ded715756d7e0a7efe1da09f4c8af420a5a3b111cfcc2b30c51adc5180d48f295d03b4c711f91ef2904e30725dc490b0b1da14c515df306131b7fd894761409b00d72f53fdd9b8eff712f8a6f43c45e391e40d9514650a7d646c1bc3dc4e933e7901becd5c6b90b3756e61a17de212ce704572d3727022d44e398d1b08dbd336c1e958c1947120388bac9a742ad91d47d9312a329f6ca65d5572f438c77fca47f0266222b3cfd61cfba9944c32b9d9cb3444704f9b0e2658d16635d2c4b30258d661001fcfd429d299b4a71c611812ff16c44ffeed4c92a7be5438a09c220ebd61a9a7af1c2d02b7882e2f938b1fa58a7fee717788d23c46e900d35b0a590bef4e27a6929f98700878c35df3b5bca8c215655fc3868407c14d43811616ad9b3d95a7d9a6ee52871279003834582f8d59795c267c9bbab55fab1bb7a23bcd8c25dd89ecb7abddf9565b006db635ff36bab68caf3dce9b37b0cb1b7f7c60f36bf5ebf64aaae74242c42875fc3fb0c5e5560e218783b8b79581b21d1b6ae1d44d86f1159621ca6145c2df0c95a7cbc1ac67d1a862126e1cd4661eb333850e97e57d8e14951b038638addbb8756ad3366d27459b8faf89c8aec10774a949ff9daff13c0b8c1d487f2217679e58698a4b54283f037ab0fc3c7a45cb9e97666dd27cdc19d782cdd31c7ed9b8407d8d904039e51b21b518106d1d66fd2e926d77e86c97f82e3c70fb854d356acf3607e5299af4f8f09cc52c7315d9ebdfa226a5e16c01b95baa669e2c65fbb9fcc4b599482ed1b541214f54501fbaaee4d1e3886586760825ad7e4287f70cc8078539ffae652b7f7f19c88c2cd0baba799d5b80a99a5e3fcea3f13963b88d41926791cff59681dd9761c6bba7690ddfd5aafa775c9479447c35bdd464d8b8ab137d197e75bf8f25bf88055ede67b67e0fb3da008265848271244d0a45a8a53ec2282a112121a8792b2eaa216a27b317aea9b5161805ba91a50282fefdc8768931fed1655023b0e428ebdd9cfc23d8c24bc72510ee11c134e1fc22c944930e842b076f129251fa82479f48d5cb281d18d61db0b8298a617a67a14ffa6306458a7f98f1da384ce176a5f1cadfc07395a12c0494250fd9b17e298ccc87402e7537b0680db44decee92415794fa73c628480aac0bb2e531a63a348b68d79c2d1da974dbf0671ac61f2d67e90a4d0397e4a9f99548b806c2c6b17b4654d1f8c9834f30cff68dd36d70a5f936afee6892615911ee2b720cee29cdb76b980ea35fd9eb3bfb5f0267c79050fc4e78624b0973e9c20f30d97872c0d136ac6bd761965481533f3d187e517c6d20675f0bdee64c5e4e67b5ff1013d6fe58ad1b5f207689ac3d8e3631b3639240ddb10815b5b29dc8723b04c98086cab633c7be936d5118192f88441cf88c52eb6951026473e97df01d8d3ffad5c59647bb826024f426b28361f03bc42328b9ec29880e4c889da86e497e1a81665307f10e4380eeb4742bdd9d3abb379ea5c0f0f57fa085aa9c913d2e594a0949b747a3f18d25f8d2e9f39ef772a942581d0e319df8d798ff35b2352155058c1251a9a04eefc426ef26cc03060038c4d68fed4acff79e98dc5866f6cf5e11c1e6832db579c9cb672766e7a3676c51468ad9f5eda0ea269a32506053f126634c98fd114bb0ccf1e0a2e684ebfcf083cb0bff99b36b4a58bc9d002ca93d92b981e4ace1b6245ad866594349945c568c981b7333a0e54a86e5c36bd2d5c5655c163973dc73f4318c63cb8a587d183d651f0917258888a111176682b3da0ae6ebf86972df5eed9bf55fb73e9283d759189ac32dea1a4dcb4924efb11998d7c501daeab747380dd05d4b136ffdc595d56a5536652ec111698eac8fe633effde2f5f94534f0f9a20d2bfa20453eb7d3b6613083e324e02ac2ffb787eaa55ebf12df7372f41185d32388c2f0b744a7153af5170c036e8c82433006deb5139644464ab46c24ecd5f4f9e9997aa152d1d61aa71e2624e4432b47779c9b1b677ec8813e98367ab005662c488981cdbb1eb34c9c6886cab329f17be055df3c089a1ca6ba684be134a433205b5f48f383f20dd46bfcf6b3ef3f6bf294d566ea279d0f3c596c958540b436dc8ded3cc4ac09525082a4e3efdc27c10dee31ce4cb5b22808b601d5d3a226757b8dfa3fb059cf7789a44620c7940cbbeb1af6abfa7aae6c2425dd96f29dab23dde8190aa0bffbda062352db15af45caeb22b844f433e0b5ffd7619750e2e5409fa6364703904d41f5350c5f5e5d3409c377f018e8425cb4cbdcdc7004aec41d7ff7ab29b77f787db927fdf978b692891e67e536dfd06e780fdae91963faf4a1f89ac28aabfe521874544149a404ddf3b630612f9783c2d72eab3dfa80d14132d672cf7a5a3713054a2c3f0c3d95763fab326361c90c5a27a0b2e21d498affd4e0ff836e08ca98fa6030e2b72494ce3d08fd53583e10b57be72ebb568d13fb1a35966d8c040e36401f1b552a4993edfa300af7cd2bb56c23d1fc06aa0c61410e1c25e2819d5dfe9942c4d1aa104291a623ad464011a3cca9ae8115874235b37e7a9c21024c2d1cfb3f037d8f031f842090fc100af339d2f7fa78f75f6f6418e36c664451b059c4449c26eeb57f3abd0c05b0e9c802be90510921a07e43aed50783f887ab85011ed473d6d1f462352dadfd21cfa8499a4ab7f9dcba126df09b65b08aa7659135a7ce9d8a28ce30dc7501c2666178b40e0d636acce57dbf2b206de1e1167bc74e2bdce48f0096ab5b89cf7f3a0f1571e34d5a1852cc9c23c261eb494fe6411e0d97d460e540dc4d1dfb28997de967d85d1003e9600115a503433e36d0e32ca6a81dd41e89c37d46dce5c47d0a80e0cb99159316d95fa96d2059ce0fbd6e950187482b3249b36938ff477e312edf7c2fb0c275a641102f91f7e17b9b949b8685df2b65774d9e53da58d7a3f1ce4a74cb8674f0c66a9e8f49d73d48799173b30e0a15e349e4f30a854c0f2745cd0aa6f6bf50446d09d4fbb91f7cf5a19ee77e655766826abf73efdc739ed02c0b0736e35fbe66022ef5fcd00c3b57a7d8be37f377204ca4828316c2f376c7e5aa19abc1c3438e6f85f5a0275578eb1e545bf5afb765a7e21a5e0d3a6fe468026fa99328aba63b01094363967b5c2bfd4ca52cf9fb09cd3b5f7cb1008b287528f4fbce29f7751e2fb0fa1d998c091dd466496d2455bc7778165b78774c2fa59dcbd28b385b10cfddd326f92e869f0d79f19e739770113dee882a6b3413ad9e422593d2be1f7fbb0ae32bb9481515c92ebe748409ba3c76b27cd5d54c10084bf02f0709a8ae58372d6e7120977dc178310fe40882841ac70e1f66979165d18fd215fd4cde9b5b2bd94911ee08a80e19143bcd9c6263b9accd8e2c85091a80ea747cd5e6224fe5f8d8dab152b5cb43b773733a7e2f9d47cb74d057d539aa5c3edb226ef3b0221f6b5e8981259f290b732950bff7d9f3748c5d876fb9902d1bcefc9a5843642fb2385f4dbc692d5c57f559f616b148f6424dd3e4f4bfd314904f6bcbccc4d456ec13baf7a825bc2320d9b8fcdc586a4fd26ebf82fad5ca191fbbf3a29ac081c3a375005a954b460493ae3fb478098e2db8d0a7fdc6c5657f83c5b90d16dcf5404abee76b10801c4a737e1afe8fd725f7b924a25b4a66c58ae9aab902b57aefa38ce1afa54a1f7f7ffd1f893c80fdcc27d29c2797c56f565008bb724f168f4b1635305e4585199aaeb49b7d97360439b90286a1d8fb983da61314703bc745394b39e1c13c16eb7099f8e2ff804be3aae558881a8dd171861fcf1d2e0f01c5ec7ebda8a7dead0bd0fdb7ab87ede36d52894b4f6129a625eb1ad4a7f1e700ec0e730365dc85b0d4024a9bc12b9437b71d6dc3eaaa5365236a0310139161602e85dd44c79f34fd783a8d0c9eb8d2dc58f7e68e45f00d9bd93a2aee52351d63f901a6e23d6b820d731a77a5b87ab49145f03b439c94e6d647412a005a8c4e64faf26736e1c99665f7aa30a5eac1bda92670d747a9c328988314dfb08dd5fc98bbc5df03e6d7cd90ca2aa561efe191ff2407a4a6e4684b119605bc3b66ab7b5c2d398d948823cad15a1a37d32ccc095c2029f83c2e32e6cd39ebd2c0f81214464bce3af6e053919a1e0638262cea327837a2c7ec0fcab2b33ef524648732895698031dc78f9c7e9c7105772cce99c6b22e7ee96fd7c5442aba940410f53af14edd8d8b76c7e7973c31890e9d3b3bc9b2dc5175a248d585825a556ded212d0d89c5bd6d6d232dffac4156507e2c786cebe3c7a8363b4a32345aa866fe5ab9a7a7e958f5a030f6a7e19921e4a8aa27b63b38a9ad0d71f6f21f194ec616ef5a9afeb421b48cbc02fbf9f485c64cf89aa795f08d39d1015a49d74f04b53e7872df4701172911255dd800efc97d3d887a587d8a24df05a0eae465e39f3ae8253c1788b0c92d8feda0c3656885f065003a29c1c2937980a4d529de056ba1bd510a812b5d82e36d463a4ee0e88923a546627b8c84d6145a9b475eb1cbfd812c843449f079080f634da9266ad2be9579cc9cb00e17d35dbc9ef314ba761828255222c928be5e0733b5860122855c71849b57830e153b4f145fdf9d16166871b740ed0dfe478c549f1397923d9a072bf544003800161aacb34b1213c807d734eeb0840607eca272b09c4ccd53859beef98df2fcaec71edbba5c27ab5b49daba0053caf094f976a31433ecb9d2fc64ad80d7b610b3711c197280d1d19c842f9c8618c1ce6ec608ca9f783a52c9e54baed564e5ea1b232a469922244beef5c798177044b875882a7aa7a35967ad0b240f44fd998315daac0e7559d21aa6b1a83c08b734f41129aaa8553d4aec744ddf845826343e0f2d88037e0d40a28e3bc159e1ccbba4cc6efc4032c09af12ed2d0daa6f82aac5d2b9464db08dc563e35f042c56c1975c886836f3f90049880475fa8e80593739781d1290e34d54e7449d3a0e0d11a5b4ceaf83f0a0ca91cbb6e438ae2b5d588777490372359e52b6681d95c5de33f1fc5f648cc9e24ba1402d2e4489ee4bb58b445e47c675fba5d8e17819be130b4adbf0ebdae0255f680b5df4c0fceb9a0a26fd2698e1894fac03bbef3fa5c4a9e37a22fab60e290bc4ffbddc7f8041a7edb9b0dc72bb9dcb43108bdd60423be711e7622405f5ef3d4048675fe66910804dec83d209fdbf2572b0c483a4e490487d4126fcf4f6574d51f90b78624421bdaa186750d3cea8aaa7327f24bc0c1ac1814e2491a138a22a92788aad64e7bec1b2b29a4d1d06296a396164dca056e9d27d9f5aa592a20228479201935a21343fe71d3f57ac3cb52a58c88f80ddc13b630a5912ed1f18ed64f16198fbb4508a07425eb876731ffb9a475b94a7fd4abad3aae864a2850f54d602ef32eb4c58c339cbf644299aca61544f16d99e412cc3ebd51370eb2032c5fd4e7a83a27cc65ef5ceaad5c0a548270cf4ca58d96069da08d9d29b08d7b4f64165ea6f0b8dcf94d1754db078b8d18df70b3b40ed53d1330a32d976b34ad9a704de89e8464384912dec434d053453b94dc2627bf7ed48e356e0015f9ceb745b40d729dec5c30c654f2671f4461b8bebb2a0bd11d44f0b4ff07bda491f7e31cb6e714f908ffe6e3a53c29f71cabf64840b3dd9fb3ed43ae100b7fddd52bc61cd7845645fec1ff2619aeddaaaf950d25ff7b99888fad8f68246e303694502485514ea3a37d87867f746dc55b9f4e30f82f642762f7344cea9e46936bfb8e8c02d2f8dc30594353342d69b57bd85176aad5a7fd87ab01efef37d18de2867c7a2c255f4c09bb988a3c82fea04f205af2469a9d1b5f818e6199ab466076bdaec2d07aa606b00973384ec2a887abf2a6f3d5e0c6b8e5e8971a1e8516ae5503c00ced9885b853a2d423c6dc9156ea66019b0021ed2a58390859bb7360dc67dc1a92d04aaffadefa7411e0346d37af283fabf00313b26e72f1dcba3b80aa373e47d7cb7725f94d1931fa55bc8d242fe4c0b5b1b6c86e95b8e8ed77ecbb539d7f7a10b7127d9a36e1a82a228290a2e7d2bd42ae159de1d5369f8e327c56639eab4f3617f474eb3e72512cd646bb9042d19a80ca631a7259282ae26f1b75161a021769b99fde0e619c66046512528480733899018e40ec30cb96073cd91789d6317f9ad4bff795827cf2ff71f8be4a5a1de536de9cae6ebf138ea9d3ec57213ce375b576d214137432deb3aab93b71f03ceb48fb1ce21c840be593384ab80ec6ecf00d3431dd7f0be78896bacf7c4899fb11ecc00c5cae75cb8f841320424bbe334182765a80b7f02917686694a36050e4458b9b9f75043bbf56666b6fa97d69413a92a19b9aae3a230e0316946866cbf243f1a596f5ef63e8f3b77292bdb22e6fa1432da584cb68a081c024334851298439d361978e0818efcb25914cd8320e33aef187edaf55bbba3d0d4b15d9761df596203838bbc046c9d06de0a330a507de7f663357d7cdf0f4dca66268cdd6ec579c9990d196eee784bfb973a8cf8b62eddf5b19a61b4703e1af3ca7e82f1dfcb549be97392c32e143ac74a65df4fbb75fb320d12285779c86be18c463e802fc461d260eeabd4aaab37ed19d426c2588e00c61cd7a328f44720357f58f0bc8fb921b05310aa69bad08e05f94230ce039a9f764fb5dddc9f3462ac24969426e6992f5f2bcba1984693dda23f205f236c3006562ffe1ce6d61b7408f2942220985da404be408d5436d39afc07641459a32e7fb697721c873b20a3686e3b71bff5c232d6d1b062ab6cb77d89e0dd5796016019791fdbc975a88e79cce6664dd4bf9001afe4345c5ec995df2ab921613561beb12ae9249f452fd0deb3be79d1ae244cfa9314eeb5d1895a978c171bafb5e49049407f17bb5629e66d57910e6bcdb2802214ac3714262c0807f0ef181fcb450a436dcc9d3fa67a1ff144273f6bd68bdef3945764688cb48125bb96900d166b51118743f7747409539346076ebfa60bbe6b0233dfaea8767aaa437a1c093d87b9e0a19722e4b9dc3a7087f64786c15d2c9364b8ea59f13733c56e7e54c0fc2d38af00ffd9a078a0bf68443615f4e419445c1d67501847d962de2bb75316dbb6be4debe40c5a417ed0f809dd979884a1ea2d5deded3bedd2b7e78c11273037778228e0bd97c1aeb32fe968b2a3619a846c5f3005237bd7f30a73e3a9a79edc89e7498e7e4a78b270daf1e0d11dd6bae73eed02e7373e4a7107a848b16c35aa1365330a37498673b7c37de8bff0ad01759df2a8852e4fc779c6301eb2b0aac2b7be6b070082817ca39b07d95aa6e30eeeab05f73b89085c3b9b79ef260bf81efebb20e7b70cf3c0e4a60e74f71890849aa0013f1e70bec18a876ad31c1dbc741fc09f9ac5a95ee402e43c8a97e1993d7947ddb4f1a0da60e938cf9c7516df86bee65f2ae001844595b9c83e690c978d9433c5360a37c8681e81e2d108bbc89afc5b9c95aa7aca99df998dcb41fb637844a41e988b18db3e71f6b9a49893883d6278dc88cd88dc876ab2376b09d7346cb95e41552363de337b141bb6726f42215b172a49dc5869c9641322f225b2c56a521529d2d09cbf283860c2ecf81771363c2291f75d45b07055cd00d5528b556d8ad55104","shares":"0000000000000000000000000000000000000000000000000000000100010000280012d8a6bb5748d0bbd7465e29a576cadb5489ce531ddbba5e0b7bb4fc279479608293d3ce454a9d2ef2d4ca63a7489c0d550da9384313f4db1464d13e122195e365cccc30887a3799f01dbb24b79d9aa0948313e2bc275d4b0aab862ed96e109aa50b730bec8ed5cbd7867a6f1f6d841d4fa59d192f7983c01fc7185b7c40713761b47baab9935dca21376fb9c075bd3bd8a21f8aeedb079965195dba38dccd907a750a0260c8c69c04cecfaf8f11ffe8c5754ad7727f12b006baf0f63352c63537df22f62a9dea88819b1e09eeffae6a5aa0e48d52b50438cf114d8d6e6c745b1b06ca0e8fa4bb2322f1605025e1aef9a42affef17c62d62012d11a58cb05bda85aef8188177afe07016bf36d4d1f05c0470a79ff01e536e32dcd98a6ee7a55c1921f84ad8f0d739e091fe3a457162848b82c4ed21e0a513d6a7c287c914697e1f1b70dfe817db811d18334c75232106161824693791ec64cf87ba3b10ea16f91b2f18d1b6abd98df392460129ea5ed4bfadb600781da5dc7af1ec5f12e9d71056d3d527888aa3a32cd7a2d5aebe6f0c0c5c4f213310464d537075262dcf366466e6b0f15fdd48cb308b2864e84f9e1b7d08d26155eabe01b28b015baf7c8f048cef9138f7714103a556d4dd1538e5a83b7d89f834ac70656dd8c20f31fb0000000000000000000000000000000000000000000000000000000100000b85e637598b38ee228aa5965bc08f26845c3e39ec74c3097904d5e1b538e6c93a0f1672131d406740429aa81625d0b91e3a2a18f3d01ca91c6458232274962672c22f737e7fda5a36526e0b4b2773f015c9a244814b68f96ad8766f7a83c1b0aebed5826dd0a7c0d23472c66b158092b0252344a2673343cc915fa5b42b94ae486e5bf6f32fc824ab6ba4a4dc38d44369b94a36699e34ec543178fe64057d30711592fe15e331911178d59e882da5c240494508891d240d2f16424ede236c81852c8e14544851512fa011932ff13b03c92f5571fc806e699bd44d3a049a057184917a2e19ab656d13a88b9aae9d8759d49c8214e0dfa823d22b46cf66f5195ef27e292dca054a680617e8f8fb7ba8c2a33147349fb3aba96ebed8a3645f956fd89bc11a3d0fa75df06e58c42682ff79c00a7a89cffc7f7f53e7c83dc5452f147f84eb32f619ce60190c023c158d348d75c8bf59a8e8fc5d92446d594e6740185acff7c5f2cfe41637ed8b196cc0a8fcd727df8256c67810e3fa516ae07acdb208ef70c0b04a631fda82751efd3bc1a6a0df4228fdc8f9ed61679102af3e8c778d0cf7727750352c624a24869f8adf2d5fc3fccb5b00877a891198427758b82e5ea7c5f6b48bc8815ce7a56617ba117c9addc17b7bac37bf24f4264b56bd9421b75e00000000000000000000000000000000000000000000000000000001000060284e0a1b45f6ed18580e8a4b26d0c0dd0d41d83c6f53b89843beb18e8ddca419f09960664b3bcf094739015da9baf3242de56b863f37ca760493934b9c9fb9ac006872ade6c6598b68f68eeca5fabdde3eb279984d4f26346d4ac94f07cd6de1aa3232fc9cdb53d45429e239ce6088a53fc5b5ea41587f87e6eae20ad6205527fa7952970e85eb8e2c49410d0be5ad331946ebb175d9a2e63b9c988237468d8d5dcde38ae2d5b9ccfddce4dd0e73e68b85edef6a1449701e5bd98a876cfb7a44c130e5d4e42cd769811debf54818f56bd2111239073fdecfa83a9f4d75725cce70d3df0dd3daf268bdfc64794acb5684d832284db0d878c13aca8436a28126ec974b957e957f1db58bfef330ff3f1ae0593d5d630b21276c9c3ab4134c8a877850176f97c5b4ace09971e19983f5884302b7df843960cd3a5e6726147cece10022aa9a39636183fb30fe42e1a8fd8901ee9173e6acca9a73577ea5146c73f6092e65e0237b0630642f044c399ed096c8655050fd68f73f76fccb320534dcf9656433dc5a0bbc8c0c0aaab1e5ea40ac1575b7b4075eb8bd77febebb86b157ac125889f23047517c77adbd17d04028db9948662bd53060acf0e7dd36bf83075bd45a653a3dd7a33d40465d6dc4f649fceceffe11128136ca1bacc9626c0816cf69e10000000000000000000000000000000000000000000000000000000100009f8af489d68d035c8da17d7ac31434935db0b1d17a67994cbc276157c10a9d9614b21414fa6386688b27691b7a42c08728519b77376447ba31548bb68b29e8bf84bdac0bfce2824505b08f1ba756abe1538a36fed7bee370a9ab52b90047e882e5be1814d592f75cb5616fbdb6c1781d919a899149c87c82f5586d455b52234b751ed0fde6c97b2e90ee9e0795d29e5de71cfded5d28126b474be00324385014e7108da9de6eb7017adb0099c16e58e2a0d9fc451a55b0e988dccd0c1708578c2caf048ecb088f31eeedd021198c25940a19d97a60a129e0783e4475f05c08b0e6b4f53ec9dbb3ad1cb6383f3e4228f96f11ca3b907582572f79b39a9d2bcf948fb0b2513aaf71e3f3dc754beadabbec06a6caf754407124133fe28367ef7eb6675cab05f0e56856c33f0e131167b7d813c8cc17f53ef9a3264615c3768f811ef787f85ef997927cbe14451b15b38934a163708edfabcd632679e0fe9746f7aa1734db3fd774d5f825c7b00f299209e05adbfbe581c49318564e6a9d484827146f66cc86896ec194b30e7fc91d8a2385d6d0686216694a54d0f4213952ee0ea29f82a11261065675b611a2d7850f6d694156bdf6153c38b9145e9aa25c8927fb101004a9507849c9cd3398d9d769494dd293848d5dc34e885c6ab865786d300440a400000000000000000000000000000000000000000000000000000001000016399f8679ea18a26aa40d4ddec054396a54428eb9f5c7f7bcad38c93e0ce1c377adf7ac93ce6335d589db7a04978feed639e8ae8af64c59f3fe0b6ab8163b3f5a319dca421e1a2edd087478144ecc2a9b243cf7009752770685079684e530592401fa89f84a85b7fd58dc4e10b551d74f6e26b99ce9324814f3ad07a6d5ab93820e92a16bf2589d83f6d64ba881489cc0e26c9cdef902218ab3d91ae8c3d3b5da3319ce3a6b94c282f7d75e80c2c783ee06956b583ec8efc3e1b2c2d0fbfa34ed45124287c2fc4769c36a597847049e6bbbd6fbb8a9ecc9e2d223ac3bc1e4011ceac4ef7823a1730f54ef8a671be3435980f2c6905addd123d5ae2e4800631d9a418a8fbdb89c12b224d7ca70a3a6d090add4fb0f422f37c3ce06cecf2a218ca58aa70f0112fa068b25142a07285dda2c04e0c70636cafba6f0f2d7618604c6526264ab88ec1fd5b339a0cd55640b61001081b30530698d913b935133feffc0de5db078126ba61f2132d77a10aaefcb5195e8873e6b3783556d04d1aa741d03387f4ed2ec168604e2cffba7c460526513e52b422b778f10024328997ab466036877a35ab4231550a4c6288d3d925453f569bfdf444e3e90fd51249db404632dc0c5c6c368fa418860d54146996f3934deb5aa05a8e670441687ad1ffd6d3cd52327000000000000000000000000000000000000000000000000000000010000a06bc1ef90ed95537e607db6dafc1f0496ab30950a02ce0f6ef32002e947575b78ec23d58a882082416913df40b73908efe38b3841b71c49e81c484e8dcec9d57f275afeb19bf5a520806a39e586b38f955494f0ddbdc37b35b98566b594293a9088074f67d41536efdf44f7befdc69c2bf3fdd695ca5ec021843d5f0c0e565a7514b1686bf7fa5f5e49ec799f0d0e45c19cfff2fba2b80f6556f9fe0fe7bdf08e5a1fe2321c4f8b4386d83c75c5f74ce42f1a1abd405ffe1a0fed20f159acddfad69ad1333a943c06d5adad4b13b0da6c6b6f3bdf6a734277f80ccab55cbd9423e3852616d24dc44ef058ab3f72e9aaa77c487ac172b6e77b7c249bf04a14fc3f27bf64cc92407afaf7e9780f1735f4d2025056df933a7752a51ef93af7df7b0b598b667e976d2ef0b3cfc1581b1261fb083d23bdcb146289c89fb44a303eaedc016eeb6ddf5113f704dd165b5040195d9be4020198407b33dadd9529db0e0a85b4074dff38322f0eabb855bc812a7296226935ef7a3b7f4afc3f329267f2e4067a3fffb275e3699430e1f6f79fab8cc1bacb03562a78563c92622852b36f9c4987a93b7efa8ce97c447d97dadccd1120f51a3459afb24a16801092150d466acd1dc8f0b5522271c186df09028aea3860d1ea5bb4a16721545e0a16ae7afddb2f2f000000000000000000000000000000000000000000000000000000010000267efca12fd0603969039f2964ba990e20b299475cf6564cec3f4d2c1334de724bd0b950f24714d1052c9d1e9e521c0c2eadbd123db0765191cad7cdc856eb34bf15f9fc08a8b0971077185f2a30bffbe39636dd28ff821eeb2bc1ca4c4de53137e3d8f4d1c6ae11c6cbf60adc5f26fa3d2a754454a23ce85ceee152887fc6a5caf45bf019f5c5804c52b28fbd414335019907b4bf49cbbf5c7f04aa6b7cfdb86fe09a3351b84dcc062366cdc59adb2753e83173f4aefaf966619e749ec88918796719e73baa3d1788c922d583c801d7ef2b34efde3d857db62a5eb06ed80c862f878929ccbd8fa8fd2bf2ae7b128ed384b9df6435d0baf7a0ec1720b0ec3fd8bcf9c7e1a36c03bf0e8fb3bc486cd42978b4b601c70b1a1ec8f9ba1f0158587b1577713faba788155908ab94b0267fcce406d395d4c153875c084f5af5da37771dd3718e6e379fa9a60f94e86d23e2d87fef27a695808462c8cd40ca3b03e2b72c626e257cd79a71b0c47f54d89c2be183c83e5d3f073a88c149619b35ee6d99111d45c5c165593ba49db60c094c223370e9bd42d9ede2444520e7b0e98dcbe91418f861e7e9d7b70bf64e6694c8799a48b510c18b452bee7cee47b754defd630423a52847f99cbefe5e753c612a48ac6c7ffa22e1753f135839a90991ca24b7b41000000000000000000000000000000000000000000000000000000001000091ee9a14511b7617a0daa5723d74b3e526380a732f0108b7acbb1662ad8398891b1459cd11cea5a3235fecf59d229f9cbcb831c62349acb709759891ad511b65de7ed99f8fa612010af3b9ceb636d17d33e398e4f375e4ab3bdcbacd87b04d172d4c36ecc77aee66a6e1b855ec4c6ef261b9e15ad32fb973b5ea2a02a844fe6a44e86709654cf7db1e1258d470b5733aceaed0c1ad4ec11ae1a98fe8b137ff17d6ae1b97367deda0b5999dbe2697aaab4e7e8c11da1a63e226656be64fa242511bd3c2096c4514c26e56295254578ed78ba52e5b3c838e4e1fbab2708f9e667b043c3998d66371b7e19f9d4dcabdc54d5c3f7fed3df9bbb01797bf9bdadd9525db4260fcfd4184588034fff4544c4d2f407d00064583b1b9953f86727c07a568f44059a466f8f8620354d11b3d7def4a4ee09e660ed6175a1ed2dcbd4e2361a54701c17a59f1859be9fb5f05e3642729718a0c20233976a15c144503ad127965d61b7a96d708fb0341580c32fe4bc7df042ae9ea4d615e3506ce9e9eeff9a18429415c6eaa843e913ee9d111ef913b03285701b69cd2cbc24dfb60c914b8849a5e813c3dd8969d2a9cda663def65c0d2fb86d56ffaff9bd361a174acf52e32fbf08104a23b278840d840f616fae4a986c66f5190d4a5221dbb373f08a00e3b659b64000000000000000000000000000000000000000000000000000000010000d4c77185c6bbdedf72e3eaaa5b47b0e5c4a38b25207c3ce40de5744c41fbe3b27d189f09004ef9259e311d15968941b98894b62f0e8e8d2c8871f3c2b8d5f50b4ba6f33bf738d01c4d031d666bc3caba6604b5dff03a7401d6e47bf454474b2c71fc4cd1228d15ed6efba18d33ae4487fab7b27722756d7e94360fd94ee0720326632601df5f770d3d0097fa7ebc753b9c702102db3db992412a56e8a6000eff39018b9ebd9628f55ab44ad6210ff40adf9ddf548d15f1cfa08527d456a940194577d113e9c0bd7ffe5a3617d5ab964499d718848bd603a3cb13b29df29221459266ec960185df5709aa72c7a69efeb2c2f832f8e3273d8267ba3824dc1f0cba5a8f5eeef9f4b108226c0364a5d6b37872910c4432056e8e32bd11b25eb80d187831fa2d9c1c9b046ac05b1a5a8dbc53ead99ff271b943e83ffe821bb680bcb631f65ce17f7dfb7cf380c9ae98c5d4cb312489dfc9f7bb363af825041ac6881bd645c62d6ef90876b5b16556af5b7a2b87ba335af455924a65a4a4efd74563a4265c2ea91fe78902de3aa3708238846c71080191b07faabdbb4cc406a4af567382590753490f0a28e1adfaf469b0195dcf8b36e3830d1550c2bc6ac6ea673b6f9a881f477dbe3ba019af2c29607bcb329f5ddbb375e754b9ad6a86e191a495030dd10000000000000000000000000000000000000000000000000000000100003730a4026aa8fe91e393c16fc0d3adf0e831ec4196cd691f79f4685523bfbb90f48b2ed971746f5565b36ef33ec361e0cef4e88f3349d19af20560b2dda5fac6fc14e0ead577a6673d9c0f35d6c6fa9c2bfe3e928af552106412932340eabed9c85b9743b5aa9f43159ea17cc7f8805585d81974f5d7c0be69481a76ad2e28d99650f96c8e0161b4819347100109dab3b134afdc86c1ebfb0cb0788bebd7119985d77aa45ca8ab18f2f04eb80e36b92f447df1fd88d068a27e509cb1d58a6697d943e726a6556aa1bd3d163bc7467a8a356440b114cf6f4d1d5fed52ece573bad805ab867859a5a87d879cf21470b74adb14929cae2d5cc9709ff4eb51ea36d42e9cc615103c1c6d5c374f976067178e022086e5cfc3d1ee1c0ebd090baa0ae6f8eb8f56562e32e4eb1d880c80a30be0b4025c066bb78cc2ca6dbeed593db3ff3b2a56bb633c3e02088d23e69217f64e955119d73095381cff7f6a55857fd9aff9798e21e76a82ae0feb96fb45191772250b87e6e6065b08a55f31dfe4d6c1b5593bcd1e2a9bcad40b189ef6bc2ede15d0f506c6cf62c40f56ef61fd7d71cc93c368d050a3401979508af7d79d2c5cf79f5cd031c8ec1b416ef811023fcdf72d6f442093e1b5f28de187d564102ef0125b001725d940adb80c889e4d4c5509be1e29000000000000000000000000000000000000000000000000000000010000cada86706fd441fe1ded715756d7e0a7efe1da09f4c8af420a5a3b111cfcc2b30c51adc5180d48f295d03b4c711f91ef2904e30725dc490b0b1da14c515df306131b7fd894761409b00d72f53fdd9b8eff712f8a6f43c45e391e40d9514650a7d646c1bc3dc4e933e7901becd5c6b90b3756e61a17de212ce704572d3727022d44e398d1b08dbd336c1e958c1947120388bac9a742ad91d47d9312a329f6ca65d5572f438c77fca47f0266222b3cfd61cfba9944c32b9d9cb3444704f9b0e2658d16635d2c4b30258d661001fcfd429d299b4a71c611812ff16c44ffeed4c92a7be5438a09c220ebd61a9a7af1c2d02b7882e2f938b1fa58a7fee717788d23c46e900d35b0a590bef4e27a6929f98700878c35df3b5bca8c215655fc3868407c14d43811616ad9b3d95a7d9a6ee52871279003834582f8d59795c267c9bbab55fab1bb7a23bcd8c25dd89ecb7abddf9565b006db635ff36bab68caf3dce9b37b0cb1b7f7c60f36bf5ebf64aaae74242c42875fc3fb0c5e5560e218783b8b79581b21d1b6ae1d44d86f1159621ca6145c2df0c95a7cbc1ac67d1a862126e1cd4661eb333850e97e57d8e14951b038638addbb8756ad3366d27459b8faf89c8aec10774a949ff9daff13c0b8c1d487f2217679e58698a4b54283f037ab0fc3c7a45cb9000000000000000000000000000000000000000000000000000000010000e97666dd27cdc19d782cdd31c7ed9b8407d8d904039e51b21b518106d1d66fd2e926d77e86c97f82e3c70fb854d356acf3607e5299af4f8f09cc52c7315d9ebdfa226a5e16c01b95baa669e2c65fbb9fcc4b599482ed1b541214f54501fbaaee4d1e3886586760825ad7e4287f70cc8078539ffae652b7f7f19c88c2cd0baba799d5b80a99a5e3fcea3f13963b88d41926791cff59681dd9761c6bba7690ddfd5aafa775c9479447c35bdd464d8b8ab137d197e75bf8f25bf88055ede67b67e0fb3da008265848271244d0a45a8a53ec2282a112121a8792b2eaa216a27b317aea9b5161805ba91a50282fefdc8768931fed1655023b0e428ebdd9cfc23d8c24bc72510ee11c134e1fc22c944930e842b076f129251fa82479f48d5cb281d18d61db0b8298a617a67a14ffa6306458a7f98f1da384ce176a5f1cadfc07395a12c0494250fd9b17e298ccc87402e7537b0680db44decee92415794fa73c628480aac0bb2e531a63a348b68d79c2d1da974dbf0671ac61f2d67e90a4d0397e4a9f99548b806c2c6b17b4654d1f8c9834f30cff68dd36d70a5f936afee6892615911ee2b720cee29cdb76b980ea35fd9eb3bfb5f0267c79050fc4e78624b0973e9c20f30d97872c0d136ac6bd761965481533f3d187e517c6d20675f0bdee64c5e4e67b0000000000000000000000000000000000000000000000000000000100005ff1013d6fe58ad1b5f207689ac3d8e3631b3639240ddb10815b5b29dc8723b04c98086cab633c7be936d5118192f88441cf88c52eb6951026473e97df01d8d3ffad5c59647bb826024f426b28361f03bc42328b9ec29880e4c889da86e497e1a81665307f10e4380eeb4742bdd9d3abb379ea5c0f0f57fa085aa9c913d2e594a0949b747a3f18d25f8d2e9f39ef772a942581d0e319df8d798ff35b2352155058c1251a9a04eefc426ef26cc03060038c4d68fed4acff79e98dc5866f6cf5e11c1e6832db579c9cb672766e7a3676c51468ad9f5eda0ea269a32506053f126634c98fd114bb0ccf1e0a2e684ebfcf083cb0bff99b36b4a58bc9d002ca93d92b981e4ace1b6245ad866594349945c568c981b7333a0e54a86e5c36bd2d5c5655c163973dc73f4318c63cb8a587d183d651f0917258888a111176682b3da0ae6ebf86972df5eed9bf55fb73e9283d759189ac32dea1a4dcb4924efb11998d7c501daeab747380dd05d4b136ffdc595d56a5536652ec111698eac8fe633effde2f5f94534f0f9a20d2bfa20453eb7d3b6613083e324e02ac2ffb787eaa55ebf12df7372f41185d32388c2f0b744a7153af5170c036e8c82433006deb5139644464ab46c24ecd5f4f9e9997aa152d1d61aa71e2624e4432b47779c9b1b677ec8813e98300000000000000000000000000000000000000000000000000000001000067ab005662c488981cdbb1eb34c9c6886cab329f17be055df3c089a1ca6ba684be134a433205b5f48f383f20dd46bfcf6b3ef3f6bf294d566ea279d0f3c596c958540b436dc8ded3cc4ac09525082a4e3efdc27c10dee31ce4cb5b22808b601d5d3a226757b8dfa3fb059cf7789a44620c7940cbbeb1af6abfa7aae6c2425dd96f29dab23dde8190aa0bffbda062352db15af45caeb22b844f433e0b5ffd7619750e2e5409fa6364703904d41f5350c5f5e5d3409c377f018e8425cb4cbdcdc7004aec41d7ff7ab29b77f787db927fdf978b692891e67e536dfd06e780fdae91963faf4a1f89ac28aabfe521874544149a404ddf3b630612f9783c2d72eab3dfa80d14132d672cf7a5a3713054a2c3f0c3d95763fab326361c90c5a27a0b2e21d498affd4e0ff836e08ca98fa6030e2b72494ce3d08fd53583e10b57be72ebb568d13fb1a35966d8c040e36401f1b552a4993edfa300af7cd2bb56c23d1fc06aa0c61410e1c25e2819d5dfe9942c4d1aa104291a623ad464011a3cca9ae8115874235b37e7a9c21024c2d1cfb3f037d8f031f842090fc100af339d2f7fa78f75f6f6418e36c664451b059c4449c26eeb57f3abd0c05b0e9c802be90510921a07e43aed50783f887ab85011ed473d6d1f462352dadfd21cfa8499a4ab7f9dcba126df00000000000000000000000000000000000000000000000000000001000009b65b08aa7659135a7ce9d8a28ce30dc7501c2666178b40e0d636acce57dbf2b206de1e1167bc74e2bdce48f0096ab5b89cf7f3a0f1571e34d5a1852cc9c23c261eb494fe6411e0d97d460e540dc4d1dfb28997de967d85d1003e9600115a503433e36d0e32ca6a81dd41e89c37d46dce5c47d0a80e0cb99159316d95fa96d2059ce0fbd6e950187482b3249b36938ff477e312edf7c2fb0c275a641102f91f7e17b9b949b8685df2b65774d9e53da58d7a3f1ce4a74cb8674f0c66a9e8f49d73d48799173b30e0a15e349e4f30a854c0f2745cd0aa6f6bf50446d09d4fbb91f7cf5a19ee77e655766826abf73efdc739ed02c0b0736e35fbe66022ef5fcd00c3b57a7d8be37f377204ca4828316c2f376c7e5aa19abc1c3438e6f85f5a0275578eb1e545bf5afb765a7e21a5e0d3a6fe468026fa99328aba63b01094363967b5c2bfd4ca52cf9fb09cd3b5f7cb1008b287528f4fbce29f7751e2fb0fa1d998c091dd466496d2455bc7778165b78774c2fa59dcbd28b385b10cfddd326f92e869f0d79f19e739770113dee882a6b3413ad9e422593d2be1f7fbb0ae32bb9481515c92ebe748409ba3c76b27cd5d54c10084bf02f0709a8ae58372d6e7120977dc178310fe40882841ac70e1f66979165d18fd215fd4cde9b5b2bd94911ee08a80e10000000000000000000000000000000000000000000000000000000100009143bcd9c6263b9accd8e2c85091a80ea747cd5e6224fe5f8d8dab152b5cb43b773733a7e2f9d47cb74d057d539aa5c3edb226ef3b0221f6b5e8981259f290b732950bff7d9f3748c5d876fb9902d1bcefc9a5843642fb2385f4dbc692d5c57f559f616b148f6424dd3e4f4bfd314904f6bcbccc4d456ec13baf7a825bc2320d9b8fcdc586a4fd26ebf82fad5ca191fbbf3a29ac081c3a375005a954b460493ae3fb478098e2db8d0a7fdc6c5657f83c5b90d16dcf5404abee76b10801c4a737e1afe8fd725f7b924a25b4a66c58ae9aab902b57aefa38ce1afa54a1f7f7ffd1f893c80fdcc27d29c2797c56f565008bb724f168f4b1635305e4585199aaeb49b7d97360439b90286a1d8fb983da61314703bc745394b39e1c13c16eb7099f8e2ff804be3aae558881a8dd171861fcf1d2e0f01c5ec7ebda8a7dead0bd0fdb7ab87ede36d52894b4f6129a625eb1ad4a7f1e700ec0e730365dc85b0d4024a9bc12b9437b71d6dc3eaaa5365236a0310139161602e85dd44c79f34fd783a8d0c9eb8d2dc58f7e68e45f00d9bd93a2aee52351d63f901a6e23d6b820d731a77a5b87ab49145f03b439c94e6d647412a005a8c4e64faf26736e1c99665f7aa30a5eac1bda92670d747a9c328988314dfb08dd5fc98bbc5df03e6d7cd90ca2aa561efe190000000000000000000000000000000000000000000000000000000100001ff2407a4a6e4684b119605bc3b66ab7b5c2d398d948823cad15a1a37d32ccc095c2029f83c2e32e6cd39ebd2c0f81214464bce3af6e053919a1e0638262cea327837a2c7ec0fcab2b33ef524648732895698031dc78f9c7e9c7105772cce99c6b22e7ee96fd7c5442aba940410f53af14edd8d8b76c7e7973c31890e9d3b3bc9b2dc5175a248d585825a556ded212d0d89c5bd6d6d232dffac4156507e2c786cebe3c7a8363b4a32345aa866fe5ab9a7a7e958f5a030f6a7e19921e4a8aa27b63b38a9ad0d71f6f21f194ec616ef5a9afeb421b48cbc02fbf9f485c64cf89aa795f08d39d1015a49d74f04b53e7872df4701172911255dd800efc97d3d887a587d8a24df05a0eae465e39f3ae8253c1788b0c92d8feda0c3656885f065003a29c1c2937980a4d529de056ba1bd510a812b5d82e36d463a4ee0e88923a546627b8c84d6145a9b475eb1cbfd812c843449f079080f634da9266ad2be9579cc9cb00e17d35dbc9ef314ba761828255222c928be5e0733b5860122855c71849b57830e153b4f145fdf9d16166871b740ed0dfe478c549f1397923d9a072bf544003800161aacb34b1213c807d734eeb0840607eca272b09c4ccd53859beef98df2fcaec71edbba5c27ab5b49daba0053caf094f976a31433ecb9d2fc64ad80d7b610b3700000000000000000000000000000000000000000000000000000001000011c197280d1d19c842f9c8618c1ce6ec608ca9f783a52c9e54baed564e5ea1b232a469922244beef5c798177044b875882a7aa7a35967ad0b240f44fd998315daac0e7559d21aa6b1a83c08b734f41129aaa8553d4aec744ddf845826343e0f2d88037e0d40a28e3bc159e1ccbba4cc6efc4032c09af12ed2d0daa6f82aac5d2b9464db08dc563e35f042c56c1975c886836f3f90049880475fa8e80593739781d1290e34d54e7449d3a0e0d11a5b4ceaf83f0a0ca91cbb6e438ae2b5d588777490372359e52b6681d95c5de33f1fc5f648cc9e24ba1402d2e4489ee4bb58b445e47c675fba5d8e17819be130b4adbf0ebdae0255f680b5df4c0fceb9a0a26fd2698e1894fac03bbef3fa5c4a9e37a22fab60e290bc4ffbddc7f8041a7edb9b0dc72bb9dcb43108bdd60423be711e7622405f5ef3d4048675fe66910804dec83d209fdbf2572b0c483a4e490487d4126fcf4f6574d51f90b78624421bdaa186750d3cea8aaa7327f24bc0c1ac1814e2491a138a22a92788aad64e7bec1b2b29a4d1d06296a396164dca056e9d27d9f5aa592a20228479201935a21343fe71d3f57ac3cb52a58c88f80ddc13b630a5912ed1f18ed64f16198fbb4508a07425eb876731ffb9a475b94a7fd4abad3aae864a2850f54d602ef32eb4c58c339cbf644299a000000000000000000000000000000000000000000000000000000010000ca61544f16d99e412cc3ebd51370eb2032c5fd4e7a83a27cc65ef5ceaad5c0a548270cf4ca58d96069da08d9d29b08d7b4f64165ea6f0b8dcf94d1754db078b8d18df70b3b40ed53d1330a32d976b34ad9a704de89e8464384912dec434d053453b94dc2627bf7ed48e356e0015f9ceb745b40d729dec5c30c654f2671f4461b8bebb2a0bd11d44f0b4ff07bda491f7e31cb6e714f908ffe6e3a53c29f71cabf64840b3dd9fb3ed43ae100b7fddd52bc61cd7845645fec1ff2619aeddaaaf950d25ff7b99888fad8f68246e303694502485514ea3a37d87867f746dc55b9f4e30f82f642762f7344cea9e46936bfb8e8c02d2f8dc30594353342d69b57bd85176aad5a7fd87ab01efef37d18de2867c7a2c255f4c09bb988a3c82fea04f205af2469a9d1b5f818e6199ab466076bdaec2d07aa606b00973384ec2a887abf2a6f3d5e0c6b8e5e8971a1e8516ae5503c00ced9885b853a2d423c6dc9156ea66019b0021ed2a58390859bb7360dc67dc1a92d04aaffadefa7411e0346d37af283fabf00313b26e72f1dcba3b80aa373e47d7cb7725f94d1931fa55bc8d242fe4c0b5b1b6c86e95b8e8ed77ecbb539d7f7a10b7127d9a36e1a82a228290a2e7d2bd42ae159de1d5369f8e327c56639eab4f3617f474eb3e72512cd646bb9042d19a80ca600000000000000000000000000000000000000000000000000000001000031a7259282ae26f1b75161a021769b99fde0e619c66046512528480733899018e40ec30cb96073cd91789d6317f9ad4bff795827cf2ff71f8be4a5a1de536de9cae6ebf138ea9d3ec57213ce375b576d214137432deb3aab93b71f03ceb48fb1ce21c840be593384ab80ec6ecf00d3431dd7f0be78896bacf7c4899fb11ecc00c5cae75cb8f841320424bbe334182765a80b7f02917686694a36050e4458b9b9f75043bbf56666b6fa97d69413a92a19b9aae3a230e0316946866cbf243f1a596f5ef63e8f3b77292bdb22e6fa1432da584cb68a081c024334851298439d361978e0818efcb25914cd8320e33aef187edaf55bbba3d0d4b15d9761df596203838bbc046c9d06de0a330a507de7f663357d7cdf0f4dca66268cdd6ec579c9990d196eee784bfb973a8cf8b62eddf5b19a61b4703e1af3ca7e82f1dfcb549be97392c32e143ac74a65df4fbb75fb320d12285779c86be18c463e802fc461d260eeabd4aaab37ed19d426c2588e00c61cd7a328f44720357f58f0bc8fb921b05310aa69bad08e05f94230ce039a9f764fb5dddc9f3462ac24969426e6992f5f2bcba1984693dda23f205f236c3006562ffe1ce6d61b7408f2942220985da404be408d5436d39afc07641459a32e7fb697721c873b20a3686e3b71bff5c232d6d1b062ab0000000000000000000000000000000000000000000000000000000100006cb77d89e0dd5796016019791fdbc975a88e79cce6664dd4bf9001afe4345c5ec995df2ab921613561beb12ae9249f452fd0deb3be79d1ae244cfa9314eeb5d1895a978c171bafb5e49049407f17bb5629e66d57910e6bcdb2802214ac3714262c0807f0ef181fcb450a436dcc9d3fa67a1ff144273f6bd68bdef3945764688cb48125bb96900d166b51118743f7747409539346076ebfa60bbe6b0233dfaea8767aaa437a1c093d87b9e0a19722e4b9dc3a7087f64786c15d2c9364b8ea59f13733c56e7e54c0fc2d38af00ffd9a078a0bf68443615f4e419445c1d67501847d962de2bb75316dbb6be4debe40c5a417ed0f809dd979884a1ea2d5deded3bedd2b7e78c11273037778228e0bd97c1aeb32fe968b2a3619a846c5f3005237bd7f30a73e3a9a79edc89e7498e7e4a78b270daf1e0d11dd6bae73eed02e7373e4a7107a848b16c35aa1365330a37498673b7c37de8bff0ad01759df2a8852e4fc779c6301eb2b0aac2b7be6b070082817ca39b07d95aa6e30eeeab05f73b89085c3b9b79ef260bf81efebb20e7b70cf3c0e4a60e74f71890849aa0013f1e70bec18a876ad31c1dbc741fc09f9ac5a95ee402e43c8a97e1993d7947ddb4f1a0da60e938cf9c7516df86bee65f2ae001844595b9c83e690c978d9433c5360a37c8681e81000000000000000000000000000000000000000000000000000000010000e2d108bbc89afc5b9c95aa7aca99df998dcb41fb637844a41e988b18db3e71f6b9a49893883d6278dc88cd88dc876ab2376b09d7346cb95e41552363de337b141bb6726f42215b172a49dc5869c9641322f225b2c56a521529d2d09cbf283860c2ecf81771363c2291f75d45b07055cd00d5528b556d8ad55104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"e3ef58827f866a3adb06ad5ccf150fe2bd88b5be519f28673621704ac6632bde"}] \ No newline at end of file From 60cc7f86a4a8ddeae945e13acf87bc6edf342d7f Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 20:58:08 -0400 Subject: [PATCH 23/30] fix node creation --- src/lib/commitment/Commitment.sol | 8 +++++--- .../tree/namespace/NamespaceMerkleTree.sol | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 534648cd..af57c5cd 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -7,6 +7,7 @@ import "../tree/binary/BinaryMerkleTree.sol"; import "../tree/binary/BinaryMerkleMultiproof.sol"; import "../tree/namespace/NamespaceNode.sol"; import "../tree/namespace/NamespaceMerkleMultiproof.sol"; +import {leafDigest} from "../tree/namespace/TreeHasher.sol"; import "../../../lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol"; import "forge-std/console.sol"; @@ -196,15 +197,16 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 i = 0; i < leafSets.length; i++) { NamespaceNode[] memory leafNamespaceNodes = new NamespaceNode[](leafSets[i].length); for (uint256 j = 0; j < leafSets[i].length; j++) { - leafNamespaceNodes[j] = NamespaceNode(namespace, namespace, bytes32(leafSets[i][j])); + leafNamespaceNodes[j] = leafDigest(namespace, leafSets[i][j]); } console.log("first node: %s", _bytesToHexString(abi.encodePacked(leafNamespaceNodes[0].digest))); - NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); + //NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); + NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); subtreeRoots[i] = root.digest; console.log("subtree root ", _bytesToHexString(abi.encodePacked(root.digest))); } - BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); + //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); BinaryMerkleMultiproof memory populatedBinaryProof = BinaryMerkleMultiproof(subtreeRoots, 0, subtreeRoots.length); (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(populatedBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); commitment = binaryTreeRoot; diff --git a/src/lib/tree/namespace/NamespaceMerkleTree.sol b/src/lib/tree/namespace/NamespaceMerkleTree.sol index 4868e062..ef860cfc 100644 --- a/src/lib/tree/namespace/NamespaceMerkleTree.sol +++ b/src/lib/tree/namespace/NamespaceMerkleTree.sol @@ -250,6 +250,26 @@ library NamespaceMerkleTree { return (hash, newHeadProof, newHeadLeaves, false); } + /*function _computeTreeRoot( + NamespaceNode[] memory leafNodes, + uint256 start, + uint256 end + ) public pure returns (NamespaceNode memory, bool err) { + if (end-start == 0) { + + } + else if (end-start == 1) { + + } + else { + uint256 k = _getSplitPoint(end - start); + // TODO: error handling + (NamespaceNode memory left,) = _computeTreeRoot(leafNodes, start, start + k); + (NamespaceNode memory right,) = _computeTreeRoot(leafNodes, start + k, end); + return (nodeDigest(left, right), false); + } + }*/ + /// @notice Pop from the leaf nodes array slice if it's not empty. /// @param nodes Entire leaf nodes array. /// @param headLeaves Head of leaf nodes array slice. From 590d14a21befaf229c9cb7c63f71b5f14138812a Mon Sep 17 00:00:00 2001 From: c-node Date: Mon, 19 Aug 2024 23:43:54 -0400 Subject: [PATCH 24/30] bLeafHash --- src/lib/commitment/Commitment.sol | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index af57c5cd..71b80d91 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -8,6 +8,7 @@ import "../tree/binary/BinaryMerkleMultiproof.sol"; import "../tree/namespace/NamespaceNode.sol"; import "../tree/namespace/NamespaceMerkleMultiproof.sol"; import {leafDigest} from "../tree/namespace/TreeHasher.sol"; +import {leafDigest as bLeafDigest} from "../tree/binary/TreeHasher.sol"; import "../../../lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol"; import "forge-std/console.sol"; @@ -203,11 +204,11 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi //NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); - subtreeRoots[i] = root.digest; + subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.digest))); console.log("subtree root ", _bytesToHexString(abi.encodePacked(root.digest))); } //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); - BinaryMerkleMultiproof memory populatedBinaryProof = BinaryMerkleMultiproof(subtreeRoots, 0, subtreeRoots.length); + BinaryMerkleMultiproof memory populatedBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(populatedBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); commitment = binaryTreeRoot; } \ No newline at end of file From b9e0fc84c4035335243b7a4cdca6e55dbb714043 Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 20 Aug 2024 02:15:59 -0400 Subject: [PATCH 25/30] try prepending namespace bytes --- src/lib/commitment/Commitment.sol | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 71b80d91..4d0ba5da 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -182,11 +182,18 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 i = 0; i < treeSizes.length; i++) { leafSets[i] = new bytes[](treeSizes[i]); for (uint256 j = 0; j < treeSizes[i]; j++) { - leafSets[i][j] = new bytes(512); + //leafSets[i][j] = new bytes(512); + // Try with 512 + 29, prefixing with the 29 byte namespace + leafSets[i][j] = new bytes(541); // copy the share for (uint256 k = 0; k < 512; k++) { leafSets[i][j][k] = shares[cursor][k]; } + // copy the namespace bytes + for (uint256 k = 512; k < 541; k++) { + console.log("namespace byte %d: %s", k, _bytesToHexString(abi.encodePacked(namespace.toBytes()[k-512]))); + leafSets[i][j][k] = namespace.toBytes()[k-512]; + } cursor += treeSizes[i]; } } @@ -201,14 +208,14 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi leafNamespaceNodes[j] = leafDigest(namespace, leafSets[i][j]); } console.log("first node: %s", _bytesToHexString(abi.encodePacked(leafNamespaceNodes[0].digest))); - //NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); - NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); - (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); + NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); + (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(emptyProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.digest))); - console.log("subtree root ", _bytesToHexString(abi.encodePacked(root.digest))); + console.log("root digest ", _bytesToHexString(abi.encodePacked(root.digest))); + console.log("subtree root ", _bytesToHexString(abi.encodePacked(subtreeRoots[i]))); } //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); - BinaryMerkleMultiproof memory populatedBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); - (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(populatedBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); + BinaryMerkleMultiproof memory emptyBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); + (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(emptyBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); commitment = binaryTreeRoot; } \ No newline at end of file From ae44d6a08203cdf2169971e23f78139dff6b6e2e Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 20 Aug 2024 19:58:44 -0400 Subject: [PATCH 26/30] about to try adding tons of logs --- src/lib/commitment/Commitment.sol | 22 +++++++++++----------- src/lib/tree/binary/TreeHasher.sol | 2 ++ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 4d0ba5da..d8c063ed 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -185,14 +185,13 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi //leafSets[i][j] = new bytes(512); // Try with 512 + 29, prefixing with the 29 byte namespace leafSets[i][j] = new bytes(541); - // copy the share - for (uint256 k = 0; k < 512; k++) { - leafSets[i][j][k] = shares[cursor][k]; - } // copy the namespace bytes - for (uint256 k = 512; k < 541; k++) { - console.log("namespace byte %d: %s", k, _bytesToHexString(abi.encodePacked(namespace.toBytes()[k-512]))); - leafSets[i][j][k] = namespace.toBytes()[k-512]; + for (uint256 k = 0; k < 29; k++) { + leafSets[i][j][k] = namespace.toBytes()[k]; + } + // copy the share + for (uint256 k = 29; k < 541; k++) { + leafSets[i][j][k] = shares[cursor][k-29]; } cursor += treeSizes[i]; } @@ -207,12 +206,13 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 j = 0; j < leafSets[i].length; j++) { leafNamespaceNodes[j] = leafDigest(namespace, leafSets[i][j]); } - console.log("first node: %s", _bytesToHexString(abi.encodePacked(leafNamespaceNodes[0].digest))); - NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); + //NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); + NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(emptyProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); - subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.digest))); console.log("root digest ", _bytesToHexString(abi.encodePacked(root.digest))); - console.log("subtree root ", _bytesToHexString(abi.encodePacked(subtreeRoots[i]))); + console.log("root min ", _bytesToHexString(abi.encodePacked(root.min.toBytes()))); + console.log("root max ", _bytesToHexString(abi.encodePacked(root.max.toBytes()))); + subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.digest))); } //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); BinaryMerkleMultiproof memory emptyBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); diff --git a/src/lib/tree/binary/TreeHasher.sol b/src/lib/tree/binary/TreeHasher.sol index f3ee4b30..3d56f6bc 100644 --- a/src/lib/tree/binary/TreeHasher.sol +++ b/src/lib/tree/binary/TreeHasher.sol @@ -21,3 +21,5 @@ function nodeDigest(bytes32 left, bytes32 right) pure returns (bytes32 digest) { function leafDigest(bytes memory data) pure returns (bytes32 digest) { digest = sha256(abi.encodePacked(Constants.LEAF_PREFIX, data)); } + +// console.log("subtree root ", _bytesToHexString(abi.encodePacked(subtreeRoots[i]))); \ No newline at end of file From 6f225ecc5cf9bc03035eb25f49d4de2b9e79e75a Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 20 Aug 2024 22:04:51 -0400 Subject: [PATCH 27/30] createCommitment seems to work --- src/lib/commitment/Commitment.sol | 17 ++++-------- src/lib/commitment/test/Commitment.t.sol | 26 ++++++++++++------- src/lib/tree/binary/TreeHasher.sol | 4 +-- .../tree/namespace/NamespaceMerkleTree.sol | 6 ++--- src/lib/verifier/DAVerifier.sol | 3 +-- 5 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index d8c063ed..160218ba 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -170,7 +170,7 @@ function _merkleMountainRangeSizes(uint256 totalSize, uint256 maxTreeSize) pure return treeSizes; } -function _createCommitment(bytes[] memory shares, Namespace memory namespace) view returns (bytes32 commitment) { +function _createCommitment(bytes[] memory shares, Namespace memory namespace) returns (bytes32 commitment) { uint256 subtreeWidth = _subtreeWidth(shares.length, SUBTREE_ROOT_THRESHOLD); uint256[] memory treeSizes = _merkleMountainRangeSizes(shares.length, subtreeWidth); bytes[][] memory leafSets = new bytes[][](treeSizes.length); @@ -184,14 +184,10 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi for (uint256 j = 0; j < treeSizes[i]; j++) { //leafSets[i][j] = new bytes(512); // Try with 512 + 29, prefixing with the 29 byte namespace - leafSets[i][j] = new bytes(541); - // copy the namespace bytes - for (uint256 k = 0; k < 29; k++) { - leafSets[i][j][k] = namespace.toBytes()[k]; - } + leafSets[i][j] = new bytes(512); // copy the share - for (uint256 k = 29; k < 541; k++) { - leafSets[i][j][k] = shares[cursor][k-29]; + for (uint256 k = 0; k < 512; k++) { + leafSets[i][j][k] = shares[cursor][k]; } cursor += treeSizes[i]; } @@ -209,10 +205,7 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) vi //NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(emptyProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); - console.log("root digest ", _bytesToHexString(abi.encodePacked(root.digest))); - console.log("root min ", _bytesToHexString(abi.encodePacked(root.min.toBytes()))); - console.log("root max ", _bytesToHexString(abi.encodePacked(root.max.toBytes()))); - subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.digest))); + subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.min.toBytes(), root.max.toBytes(), root.digest))); } //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); BinaryMerkleMultiproof memory emptyBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 18b630ad..8639a983 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -72,21 +72,27 @@ contract CommitmentTest is DSTest { } } - function testCreateCommitmentV0() view external { + function testCreateCommitmentV0() external { string memory path = "./src/lib/commitment/test/testVectors.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); - bytes29 nsString = bytes29(fromHex(vecs[0].namespace)); - Namespace memory ns = toNamespace(nsString); - bytes memory data = fromHex(vecs[0].data); - (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); - bytes32 commitment = _createCommitment(shares, ns); - console.log("Got:"); - console.log(_bytesToHexString(abi.encodePacked(commitment))); - console.log("Expected:"); - console.log(vecs[0].commitment); + + for (uint i = 0; i < vecs.length; i++) { + bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); + Namespace memory ns = toNamespace(nsString); + bytes memory data = fromHex(vecs[i].data); + (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); + bytes32 commitment = _createCommitment(shares, ns); + if (!compareStrings(_bytesToHexString(abi.encodePacked(commitment)), vecs[i].commitment)) { + console.log("Commitment mismatch for vector ", i); + console.log("expected: ", vecs[i].commitment); + console.log("got: ", _bytesToHexString(abi.encodePacked(commitment))); + return; + } + } + console.log("All good :)"); /*bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; NamespaceNode memory node = NamespaceNode(ns, ns, dummy); diff --git a/src/lib/tree/binary/TreeHasher.sol b/src/lib/tree/binary/TreeHasher.sol index 3d56f6bc..cbfaa056 100644 --- a/src/lib/tree/binary/TreeHasher.sol +++ b/src/lib/tree/binary/TreeHasher.sol @@ -20,6 +20,4 @@ function nodeDigest(bytes32 left, bytes32 right) pure returns (bytes32 digest) { // solhint-disable-next-line func-visibility function leafDigest(bytes memory data) pure returns (bytes32 digest) { digest = sha256(abi.encodePacked(Constants.LEAF_PREFIX, data)); -} - -// console.log("subtree root ", _bytesToHexString(abi.encodePacked(subtreeRoots[i]))); \ No newline at end of file +} \ No newline at end of file diff --git a/src/lib/tree/namespace/NamespaceMerkleTree.sol b/src/lib/tree/namespace/NamespaceMerkleTree.sol index ef860cfc..7042d74c 100644 --- a/src/lib/tree/namespace/NamespaceMerkleTree.sol +++ b/src/lib/tree/namespace/NamespaceMerkleTree.sol @@ -148,7 +148,7 @@ library NamespaceMerkleTree { NamespaceMerkleMultiproof memory proof, Namespace memory namespace, bytes[] memory data - ) internal pure returns (bool) { + ) internal returns (bool) { // Hash all the leaves to get leaf nodes. NamespaceNode[] memory nodes = new NamespaceNode[](data.length); for (uint256 i = 0; i < data.length; ++i) { @@ -168,7 +168,7 @@ library NamespaceMerkleTree { NamespaceNode memory root, NamespaceMerkleMultiproof memory proof, NamespaceNode[] memory leafNodes - ) internal pure returns (bool) { + ) internal returns (bool) { uint256 leafIndex = 0; NamespaceNode[] memory leftSubtrees = new NamespaceNode[](proof.sideNodes.length); @@ -212,7 +212,7 @@ library NamespaceMerkleTree { uint256 end, uint256 headProof, uint256 headLeaves - ) public pure returns (NamespaceNode memory, uint256, uint256, bool) { + ) public returns (NamespaceNode memory, uint256, uint256, bool) { // reached a leaf if (end - begin == 1) { // if current range overlaps with proof range, pop and return a leaf diff --git a/src/lib/verifier/DAVerifier.sol b/src/lib/verifier/DAVerifier.sol index 1519e0e7..633cc8bd 100644 --- a/src/lib/verifier/DAVerifier.sol +++ b/src/lib/verifier/DAVerifier.sol @@ -82,7 +82,6 @@ library DAVerifier { /// @return an error code if the proof is invalid, ErrorCodes.NoError otherwise. function verifySharesToDataRootTupleRoot(IDAOracle _bridge, SharesProof memory _sharesProof) internal - view returns (bool, ErrorCodes) { // checking that the data root was committed to by the Blobstream smart contract. @@ -122,7 +121,7 @@ library DAVerifier { NamespaceNode[] memory _rowRoots, BinaryMerkleProof[] memory _rowProofs, bytes32 _root - ) internal pure returns (bool, ErrorCodes) { + ) internal returns (bool, ErrorCodes) { // verifying the row root to data root tuple root proof. (bool success, ErrorCodes errorCode) = verifyMultiRowRootsToDataRootTupleRootProof(_rowRoots, _rowProofs, _root); if (!success) { From 4fa90fc1e57fb54e94e6ff2081d42e4423c7f92f Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 20 Aug 2024 22:28:55 -0400 Subject: [PATCH 28/30] createCommitment seems to work, added test vectors up to 29kB blob size --- src/lib/commitment/test/Commitment.t.sol | 16 ++++++++-------- src/lib/commitment/test/testVectors2.json | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 src/lib/commitment/test/testVectors2.json diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 8639a983..51df1a7a 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -73,25 +73,25 @@ contract CommitmentTest is DSTest { } function testCreateCommitmentV0() external { - string memory path = "./src/lib/commitment/test/testVectors.json"; + string memory path = "./src/lib/commitment/test/testVectors2.json"; string memory jsonData = vm.readFile(path); bytes memory vecsData = vm.parseJson(jsonData); TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); - for (uint i = 0; i < vecs.length; i++) { - bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); + //for (uint i = 0; i < vecs.length; i++) { + bytes29 nsString = bytes29(fromHex(vecs[0].namespace)); Namespace memory ns = toNamespace(nsString); - bytes memory data = fromHex(vecs[i].data); + bytes memory data = fromHex(vecs[0].data); (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); bytes32 commitment = _createCommitment(shares, ns); - if (!compareStrings(_bytesToHexString(abi.encodePacked(commitment)), vecs[i].commitment)) { - console.log("Commitment mismatch for vector ", i); - console.log("expected: ", vecs[i].commitment); + if (!compareStrings(_bytesToHexString(abi.encodePacked(commitment)), vecs[0].commitment)) { + console.log("Commitment mismatch for vector ", 0); + console.log("expected: ", vecs[0].commitment); console.log("got: ", _bytesToHexString(abi.encodePacked(commitment))); return; } - } + //} console.log("All good :)"); /*bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; diff --git a/src/lib/commitment/test/testVectors2.json b/src/lib/commitment/test/testVectors2.json new file mode 100644 index 00000000..317a0ad2 --- /dev/null +++ b/src/lib/commitment/test/testVectors2.json @@ -0,0 +1 @@ +[{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1aa27fcc02dfa109881ad44cb7abdd013e50b700fa7fcce7038513737cf828c5"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000241e1a6222e6b7bafd35000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"3239119852e7648407b226645812cb3a2037b213fa893445451b0e8d39207392"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1aa27fcc02dfa109881ad44cb7abdd013e50b700fa7fcce7038513737cf828c5"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":"9cab73cb2d95cab1d5e72c36e145cfeaacb8e71f0a8402e5478b39bbef6b21ff"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000241e1a6222e6b7bafd35000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"80ac7c4b855f0c021cb188a028e64f6ff651fabb7d692878888fa4a3a8199b97"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000001df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000241e1a6222e6b7bafd35000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"3239119852e7648407b226645812cb3a2037b213fa893445451b0e8d39207392"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"0cd62bf62d813d272f85403476dfa82db9d2cf7b414bbca2145c724cc27cf08d758233b6a6d9c118cd65dd679a9efec289b02e8d4c6e567a959d182e77b5e89ba50c1959be193f20ef83d95ed1ba718bd28b3479c9028d88cdaad36ab08d76d763503ca78e8b739ae691934959623cea3605b2ea729426266310188f6a86dad1313f081b6f237e2e9bfac485eaa5b02b7b70707418a0105ec8b4e4dd3065f5ea5b1ee9ecd4602c495202d466de7e60950b58fb3691b587cd170e49cbf09528a0af2439eff54d1e0f5aa8c065bf5b624c3996ff5ee143da153df90c53f642c5f51d79377818fa194dadf8ba475de7a1ceea345e68b9f89bda95b0a32981a468d36015650526f4079978d02795b907c36fb4b7c5e5814276552d108fbf9a81da6b4d3eae1e8b4f3c92e77dc241cb35b313113496bae75f6a9e4d5b402d5f940e6ba0528b2b3315eaa1f46c0b4341aa91ffaf69cbfd160a6b5647a134e59a8d21017714990a591e82f9c478d2c6a337adb9156537910018aa24fad7dabd449560ac8be36fbe1fdb6d33267a12f0fc191c2820ca5e4dff5772749e816e35109631ec1d6bb7d62bdaac8d39d4bba7a3540eb822f3137651de7b330b7eef7909c57420057cc7aba25e544a4ad06eaf1f38f511cf2efbf69f6dea6279b1bc81fe6f140efd3e42579eedccbfd096c133b6e4ce6fa129d55dc509d8f38bd7bfc5c25f9ab83a565b7d49ffdef8c9d422bc6b4017c2dd43363b7a5c671d32d25ac5cfcd1021cc7db0bee433af7599ad4549cceaeee609344d08e07b87714183f03f9dcae96e1bed83e6155ec077aa8de738384df9321d01e9e7b437a9cf70254498805e82614b9ed71f28f87d8ad5c18dde7deb3239bdeaa9f2666470a129e3a1157ca0b1d898c5adc21f4d94cd299f39cab55ff59ebab81cfc79d343c44b81ebc4c0c848c4d66c9ff085362ab94bedc319727702d7809ffa7527a3d86e3ac561da67a021ec605515c7f5970ee57c2ee0714d170a9fcad96b67a8aba6a0c33a864df632357c4a7384b57df5e72727b9ee963ae07cb2dcd430ef74274598a5ce4eb5271c6b91a0f241153a647c50d181a0b69b983744438ff8a537fbc6db45c4cef073166c97b961797c5ad6ad6812ed7dc78a97398f11a4bbb2d5066580e7dc8ace08b005d54f91ef0404b1810d348be9b49d97f2fa5dd03decb5d7a2040031ae237e334a14b8138ff7fd5792961e789daa8b5d41a1058dbc1eaf780f8fd6da8091f08d933755c62d9a789f5726d2de5fff321a16ce1dcfc20b0a5b61568e6390f7ac8ba48c077b511bf24b3e903eeb849011055e8d8382c5c3f2d9ed2991b7f57f19130430e10d68910cfa987d649ebc3f58a19e10895de529d6540d0b12c4b147a57dcff79e12ff39522296c9ec6761b73c70bd68e200b83ceb96480ab2b3a7ae7ddb96a7","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd3501000004000cd62bf62d813d272f85403476dfa82db9d2cf7b414bbca2145c724cc27cf08d758233b6a6d9c118cd65dd679a9efec289b02e8d4c6e567a959d182e77b5e89ba50c1959be193f20ef83d95ed1ba718bd28b3479c9028d88cdaad36ab08d76d763503ca78e8b739ae691934959623cea3605b2ea729426266310188f6a86dad1313f081b6f237e2e9bfac485eaa5b02b7b70707418a0105ec8b4e4dd3065f5ea5b1ee9ecd4602c495202d466de7e60950b58fb3691b587cd170e49cbf09528a0af2439eff54d1e0f5aa8c065bf5b624c3996ff5ee143da153df90c53f642c5f51d79377818fa194dadf8ba475de7a1ceea345e68b9f89bda95b0a32981a468d36015650526f4079978d02795b907c36fb4b7c5e5814276552d108fbf9a81da6b4d3eae1e8b4f3c92e77dc241cb35b313113496bae75f6a9e4d5b402d5f940e6ba0528b2b3315eaa1f46c0b4341aa91ffaf69cbfd160a6b5647a134e59a8d21017714990a591e82f9c478d2c6a337adb9156537910018aa24fad7dabd449560ac8be36fbe1fdb6d33267a12f0fc191c2820ca5e4dff5772749e816e35109631ec1d6bb7d62bdaac8d39d4bba7a3540eb822f3137651de7b330b7eef7909c57420057cc7aba25e544a4ad06eaf1f38f511cf2efbf69f6dea6279b1bc81fe6f00000000000000000000000000000000000000241e1a6222e6b7bafd3500140efd3e42579eedccbfd096c133b6e4ce6fa129d55dc509d8f38bd7bfc5c25f9ab83a565b7d49ffdef8c9d422bc6b4017c2dd43363b7a5c671d32d25ac5cfcd1021cc7db0bee433af7599ad4549cceaeee609344d08e07b87714183f03f9dcae96e1bed83e6155ec077aa8de738384df9321d01e9e7b437a9cf70254498805e82614b9ed71f28f87d8ad5c18dde7deb3239bdeaa9f2666470a129e3a1157ca0b1d898c5adc21f4d94cd299f39cab55ff59ebab81cfc79d343c44b81ebc4c0c848c4d66c9ff085362ab94bedc319727702d7809ffa7527a3d86e3ac561da67a021ec605515c7f5970ee57c2ee0714d170a9fcad96b67a8aba6a0c33a864df632357c4a7384b57df5e72727b9ee963ae07cb2dcd430ef74274598a5ce4eb5271c6b91a0f241153a647c50d181a0b69b983744438ff8a537fbc6db45c4cef073166c97b961797c5ad6ad6812ed7dc78a97398f11a4bbb2d5066580e7dc8ace08b005d54f91ef0404b1810d348be9b49d97f2fa5dd03decb5d7a2040031ae237e334a14b8138ff7fd5792961e789daa8b5d41a1058dbc1eaf780f8fd6da8091f08d933755c62d9a789f5726d2de5fff321a16ce1dcfc20b0a5b61568e6390f7ac8ba48c077b511bf24b3e903eeb849011055e8d8382c5c3f2d9ed2991b7f57f1913043000000000000000000000000000000000000000241e1a6222e6b7bafd3500e10d68910cfa987d649ebc3f58a19e10895de529d6540d0b12c4b147a57dcff79e12ff39522296c9ec6761b73c70bd68e200b83ceb96480ab2b3a7ae7ddb96a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"b16a10096c46da35f7fdd08ccb3234d26ff70d8cf1331798e52d9153629b230e"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"08e357f8927fb9359d1151ddaf00a3043967a81e51340aa8eb1907368c36029db5a0cddbcd1789d1dfd2e5de211b38f8b73fc2248d16d8814c3f966fb0ac4426b3cb9df00b3c1537814540c256cdf7231fba7f08b62e57fa6d51b7bc17d82fe73f4bdff7c07277ad16bca2d631a88e9265eedcb8779a63905d35a3f799b5d96ff2497f1c8a1ab0806edf9fd180e69af8d15660a30ef7c59c6eb7b377840adb7e712a3c655b80f2d2c6b1a4597a51546b30f132126d60a7f1d94e752dc43f070b4faef4f66e2bd21b3fd4168fe881c8d878085034c1864f2661ece2b840134b67e961f3411260ef360c9b28d13d10839992fc871513b71e64f34a0a8f40f0c7bd9349e79321e852676f699d51c119fa3b84507587caecc6cd5b3d9701644fc149953f68a1fd76e824d1d852e675d5c71f6d0c63cb8b1d63155fbe6dd8fcc8f2a0860528dc705390636ca0bce90ef787f56ea88bfd03b816376efb7e2b76e3dd70abb9923ce1de37f3fcae98ef06dd0ee243b03ee118e4aea2fb3ca0a39ef58c565ca746f3076d754a0cdbf8e8a138e80d6ed16c453524d44ebd0dda17475e40186cd8581c8c9f0ba7081a566f9aefbac056da49282826de6ca315bc5786a76e24db611fde92a050efe737c52f4b35a7ff07ca2042c588c42f90359a8e3bd0b6f12357732f7a9a4f635a25b62a285403b7ad31709a553086be2a5c5d4b366e1dd8073942624a911ba7415a859c16cf3696b383abd8cc20f7491a6b664ffbdb5ac1519eed4595c02ac133bb71b48531f35c4a3bb6b43d0f04766f4c2a04b59d028134e04aaef5cb46058351564e70cc392019bbb46b8ca8aedfff8b209b1047ab0058065c7829291e9913e81cef3e5ce7c6fdde22dfc47b354e804dd328f72ef885dc1f6285b5d106253b206bed0893bcac10fdb8a38495b2c6ca78ef932453f400cabe37d27dff0f09699085667f7f985b92298d3043fd27a69b8275461a341c210d3ab2f4ca8aad9c9779717e529842eb2161272e4944a8d58c12773bd29d394d3594fb8816d27eb27b78a05c97424ebc8a08460a0aecfcf73236635aba844558c76dacf369498cb5f71a0239dffe58b85ac0df0f2409eec929ece7081b66f4403410fee80d37252ed3376c01d8a066c68e772cb5cee03969ff6e3abe8c243c0f873d039e0e231c2292ef3ac0642ea2a4c8e23519932661cb2601e9ef0f0655fd7f161b7b4c6f14055ac8bc431a7defb1733b9104fda94dc80dd1ea95dde3477622d76cfc257c7789955fde8a9f37ac2a6ac48262309629d10c287ee9b6399d31f85632674ff979fb34f13931f832cef481f5f1370a4da3c77c9523b10d2bf1f3c9671d4c8cedd9754a022d4ff9c14816255573c118c7f37b755890a0afe0c9d2de718d1a4376ef9addba36932f260ebb3300dcbb6d55d5ceb9ebb8998eb0067b82fbae395811b5e5b81663011849da5d02533023b6c5d6d512d03a41e736b48eac4a43dc6b045b657dd632f0a7873835b7f3d536c8eb1e6c26724183387ad9c9c8f07f56b3a4aace8ce3425d97825b6cd42b00a68d6edfa1088d3c6d0a772eb802ceeb67d7f7ff9363ffc5c5cf13661ebc4da319eb64b4697b150eb837b4a605e8a3178d66c57f2403c6a524cef7df08bdf59bd82dc5e2b07f973bae899efbc949f0a588a173036ba1ceb4460b8450ca206cd4730c2eba41da4d0aaefbfa08bde43a70fa7420e4a34fa6395c758a76e044e38ae87803774c4bdb5ee1461404cb1c74d27e7dcbee1eeccb367c93c425987b481d15176ea0e9287fa8651f3be46d89e3998667cebf9c9a37628c6033562abb9191e92c437342b649378dc0c9eb10673b0259ea929615b34d4a5ea6ce8f0efd5b127dbcffb9af7448aa05b8f8010c1a97b9e79526919808e9f3c178189034005f98bb47df5727a436f2f07b4a5ffc054c0e8e4e53aa05b4aa0c7f00259f7725352345868e6df4c95ebe881f009daac32b92e9ab804d31b95fd844cd4e2693a2248605a3da4305c71bbd16ca3905b92f704fe45ecfd73a8b7e48b3950e8c1a03540edc1c8ad8767bde7e4aef96ed23e7d403ca3f2f17a90331926dfc428972713ccb19cfb2a0cc137d83108b470a14d5f6d69ff6f06dcd8f18d82fc98fa51aa8e8fc25e961f5ddcbf9e78d066b16e8af6e48dedf6df4490c72ea97a23ddab43e97a52cef6a642a946d8992dcfd22d47a327d0ba22ac52c35fe4c241200f385392aebe6df0067df0603487237008d2d1602bc3062f08b7aa446b8bad8d7266524011154211af9c9a0c90d8d0cd5514a5eed7b598347193a2a00ed0eee13f4ee1ce743ebd794480055e72fc52c64e4720fbc39433f70ddd523262636da7b31cb5348722af6b1b49406d509502da0b3ff92e3f8b33bf10534b88757b5545ee6bd2838c3aa8dda07fb5da20227f76b074971b325933fbab0fd2c5ff1c15be2beb61ea3de93528601cf7052ae33df99d02c3c62b706d273fb8f85e33ed983036ae07fdf028ceaaeb7f80fd52d44201b138ffdb53278ac79fde24a1bdd9ad9af37e34f616cd1c3e67ad01f68eee5fe4632d9de7dceb7a09b47a21f137437c0f6c8093edbf1189fd3057ac14fd7857212eb4b30f4217d6e246e898265f2f2f337409c2df8e7af44f86ec9058910d231f5bb74a0efb990958799bea722e439531e3baf74222f0f887ae1714e71f63224abf0227fdbac03ba05e77cc8ec65c95a0a1f254d6e15e66a8a96f93fdf7f23294e404e1e43a667e966cfa628b3924f319cc38fcfeaf0fd6d38f1a203b94ffac5016da6b7caf335458e808f89a452511bbb8e8dc481ee2099a619302792c6e06292fe4f2b2f4046c520d2842d377a8c8849bacc381212e562b29dade613fd800cbce0a2e3095b925bc1bcd7f4a06b9ae6b63df7b11239e0cd8572d45c17a9517c84942d5b94d3bf612a8821ea6e03a712c30bf1532496043ac787d54e37b2bfd9886301fcee7b917ca831857857eb7041264dcb215d08c7f916409551ab5260addca31848fa910ff6442d3852a7c91dce2c8440035d44043a96ca4275e867aa1d11391c9dbd4885387fdf02a00d9d362b1682755d6741bb9a922a7edd58f9fb6451eeda9d0de286674851ec126176fbd755cfe8dcc3722b838c7c0b678c36cc112912e6b01f8696c53862c5dffaad8362e4e5eaf9d8c44fbb2178148b9baa89bf6d3f86a1e1b34d7f34aa514200ceff8a63a581632daf96e416af6ad923d3a0fe668d0fe273129385b218e583e2245e80e0d1773c5f81f1e28f64a30a1e76b31eef51138171a2cbc42d5d73172991f27b09433381cdcc3c1e00c5c68e4ed7d67e3e36190612b34d47f43f6416ce1cbc5408d70d5b26bff0d4ed814a8b67ea7acae45eb6079bf805099d887733c6a4f1405cd18ad51c883a0e6df345138ce2bf52679642735de3f02358cf2d547388b368767a76f8769eefad13cb369363867ac3e52e45712b7ff0fe3c5da274d4243c62128bab448ecead4f9132f70fa696e4365ca441129cb70ce24d84419a192143f7d54743e1ae6135374a16c1194ba168376e0b7b334b9b0ced8eb8ea73b35861465f45e8a097ef6b13b9dff93799366bce7d34698ec9b83c90a709cbbf6aad1bfe801213ebbec91b4db9e7a5ba9fece82d3e1bb0c0e7c08bc5f738e59b6d6e1d020b578654df129d37466ee3085e79dafc7ab36ae95392eb66536790ecea554f9ada3fbd60c6a54e0c7966f96adfe563f13ecdb1f060fe1a13b8ad44a3fa2de06a9032d2c6c4ce1be6016fc4f2296eaad4040f60bad0e1db985e29c2885be036367028dfa154735c28c9f2c5ca49b5c9c207b00c21eb758ea7e0dd9150d46935ba6e8f351957c26b2498e659de1a1cc1602211d3f0f82d349f87dfb4c8427bc0963eb4c5f09eec7be3ab6cf9c88a8b2ef39e36fbad7e1c45a74c64868b56f7f54004cf4e4b2b5496133f141d69f88b615cb029b9d4649fb5e38fa7a5b34878f264aa3e940d898cc4cabb768b40ce50733576cb09cb853cc2830aa65996c02b008b070bbc46f82f98b84ca12597b100444a7e66c269d952c5aa09f8ebf5bae53cc37717fd9f241bbf46062f69a267b538519911282551617e36d7ba0b4618f0bf55153b86c9feefe06c0e49f2fe4833e4dc8eeca4a898fd79f4bc4f725aff5f28804544af6bcdc672474767f04fc03efff4cc505ef0be3b5f149e53a064eeb9a31de0dc63530af69ee7ae62ea9dd7afb9e56dd6e933af8ea9344b64bf6a76d2bdf219f75a9c37d2e0be557791d879e9bbb7c585885056a046fdf140c544be8fd644e14e76fa686a51f7feca7931b8d3789ff248ef2981e942a47f201d803b108d34ca76b5c22f51fa6c67c590d8290eb588c4dc6279f3948d800f3328277a4fde33bf856f90a1c34d8757f8cfb56ebbfe0fd25e146426cf00d48d2db720e87f929cb32063451f1a8ed20dbdc61888f4f4e1ef1623db6e97f779e26165f562c1fd8b308e0ffbccad6820b31b2dc1c88e7692d30132ce2521e99938530930ec9b168b43a0b4d4a281aea7b1d7c79bc00c13e75e9d02ef9af6b8fbf686ec50d0bf3d13e04c4f26894809bbc3ab8c11a9ff6c61dea48229bdd639e84cb4705ccdbc2ae0ff2697fe96d55374e4dab92264c8a377fb4cba59af864198bc8eddcdd1919a620b6ccc21123695b0830f9548c88ef49ba2313f41eff2358c914744dd2b08b450b4460f05bf4c22742683f971e9e15dbcb27ed0b369e457a1f1b9e443d7a3dfd427554807804fc34309327dbd4dc08095e2063f1df4328db15b5c855a225713fb6add9b7bfe61c9d96206ecf1b0b6d89f4e83338bc4f3a3256a4d4571734c2b4667023025d5c7ea725647de41b05efaa48eb1b7760aa177a7776f700f0b77b4f431c304924bca88c140c83a7615cd9bede71caf3d8cf930c6ea7035188ee0f7b89cf7f7c1bf9f448ba4005361a38e8e628382668f0ad21e777e37be3b48ca2a755ae947e45b4c7fae9f8793ed9525f74305bfd026723985c6a2c3465661a935e02e23aa1cbb154a2907a4ce90c9a6307184dd39b5b1516d7c0fd599bea8b5ffe875bbe2a60ed9131e3d67b2a1f5a53a1b37a573d9ccfc9c2ea4195a5ca82a1e7575961ddd9b2a78716ec8bdb64b8dbf1e8aa18cba57fbcc9ba05ed76b7ae99ed8f6bdf63fba76c0d8e3a4a79c723f31969514a56b9da594872dea77ebc1dbd853f23005b2cfd580d68439a51ef4cb53ecb33173581edf9323f68f78d043e8c18bb81f72972c7255b0894560eeb54abe6d52df95b13440dd67c8e686d68b74a50682dd9bdfb59fc6cabff2a1e42c567809b6bcdfc47ad925a8f8fb5bafc2d06e4f6845c136bdbdd0952c34338aa233972d8444c5a4346421e13da853c4bd9d2403e83d7dd0f774e85775ed4571f6ad43c06eba14a1c955a83d8701d22f6c527e7b67843d25577f7202f123742adee2c2cedbc6ebbbbb0b292c5270c5b3652a53b45c3f32523cb6731fdcf5473483f21802fe24999099f8912f761ba8071b5c6b5de3bfaa65ef7007d054103d515016d9599f9d7a7bdb65d2b4b3b9ae5ad41ef9dcd48919f5adabd28ea01bf9b21d5516ce53d1b8fb06cf2faf5fb952fcd98bea60a39bcc4ca4f96dd85d776d2a304cb9ab2272a783b66509afcee8e53e07ac22680de2a0ae9deb051e4e421be123fc0aca1290912f78b054b664af657fc5f2e80a840af72bf588c58aad78d49770328da2cef3bf68b278d62aa26d114db1342aa10c88d9f4063e50f49880e908d1653053d1abe69b745944ceb5df9dd749720779a07ff7368e771ad938d74b916f80012f20abdb47c815dd208c2e72848b9941700d435d3b25cd556f71071bc2588c5cb2e4e641142eb15f755c03b3a91acd6c8e679aba9d561b527f00196beec32d7c48d00e2202af10dcdafff09666b41fd68cb5cea2c0eac96f59c1b7ee9663c92c8ad07324f7f7063201ceb84eb7d4697c28360516dbdc024bd818cdb1e21fd8f6aa65144f44df65d527cb447f33731ab1ddc0cb98c9dd573ee9a020c399a5a14487e6992910be2e067afa9c733f175b9b7853be619282daf85e008b3ca834cf0e662431222ffab701db32e81da54762607ed80610fab612363854aa51a5a51074c74e4c6e7705148f17c337354d39e96d2fe2feeb01dc9c50e4126788169a3ae858721191da2fef77fbbf853cd91119c65613cc9702dbf907119f187537505bb9ab7568eb8924c782c9d13b81ac3f4914d7055b1c5382bda035621a51f9dea89acbdf094572b8e39d7d3587c9ad73852ee3d4d4e8018c663325d2c40503b2686d5e3fb2c401fc1d2fb035f5ff2fe198f84cd3bfb6bae02e1791bf5baf661e8594f4ca8f8463039b4672155a6163f2a8b57f9b3b3bc41ec0e9a81d5c40e4b6b436415f73bbe1eafcc277a8dda9625280c2fe6ec09313d64ebf62aa38c9f8f44dfbd6d1ca09bc9e66a7dd43577263dd8d2da836cdaf78206f1abd0e07e9116c3e06b3032b28937fae9d3c7143ff119fe53f5d5a88d0e26ab2df41da9ba6159ccb3c8b61956ac3586c70cad8d7075f76e570c4eee41b0f3054663988484d3d7605326deb9141f24d7c890659fcaf96d4f75dbc2106d531c9b33be8e1e309aa38f5097929911eb9e952d90824eea7fcd1b91586f88dab4584da99874c2551d2a1c13300d6cd6ce2782ade486d064ddbfca98d04cc9641ac189d473265075221af35e9c1a83d930fb95dc5bf30f59f76d7a806e2bb8f0a7ca62a5d34861bb410dfbb4fa77f967b3e6634b9e1a918103645a81d97fc3aef896cbb6765dbd75877383658e7acbcbfe21ed59b256af9ed695424aed8df1c3762d7de334f48b943687b81d226f701968738fb610d4d0f152cb3e9e1f2c988018ef63a72bb1cc69a7a5e77b5898c72e3d947dd726ad390c46bf01d7f9d3cba11935678b9666c04c2e293a2f7359a31f217f368abe66c31e239bd9079103b768b77ab46da0ce731b308e67adeea16ba5e9adcaa9c8a9300efbcbb438e2aea9cc7c781ba69ae8eebd8876b0feebc9941644a1a9777824f1d0e316fbbd80bbb6fe25e4dca0e5b2eace8d3f353bf12801f4db33bfe590943bcefccfc960597edba968f9b6fd48179dc80d452aa502305f6e7b5d81b23662064d6a4bfc7c39eb79e5b908cc5f4b20862a82af2c0e2f0b8c2760c40a4173ccb2b83e1851e524fe2adea4a4a2a57518cc076ef9d0a29bd0fba6af4e407a9e263965bcf67ae617242ee8f69048140dd28153bd2f1f61d510a72e9e4139637eeb91e2a27c40c9130c1a3093b124d60bce2e7e17c1ee45ccc02c71ffdd837d931cb4d67ba28a70365c331722fa9109ec2bb78cf619f493b5e33e2ec1d2f5f8bc36cef11a99d451944c2ba5edb026a6f35cce845d69320a7182de62e11f4540113049c231541f361f1516b8c727215e7c2248823bf27cd7b4d025ddd2b980392620057246d56ffbe2adcf9a0f7cdd480b94e91e5b9a21a8c151290e802c2c627416910c5796c71c716dca2055926a4293278b8bae0962744f000f38ec851470e36271c39a620c495d0b11bbec218c525e11948b566952e38522a9b7ff80320db83771d73b90adfb7972c92ebeb7c395b36bcb4339086ab8be2f12c16ed11284f0fe1714c56e0d2193230d4704c36c28651dcb44279b67701e65bfbf41dbcfd8594bae814d030a2362dcdc8929e50bb3a2be7ed31b2a501597ca9e4b77488e59d4cec3ec19b8496e4f9216397d8760cd330ceda2ebe7ef214d5ee878e9897cc73b094bf9a14e8b4e14f79c41bd6e1c6c82a9b367995c2d7c5165d0ab55ccd41a1a74bc3f99c7c8133d4b8399a464bfcd5d67f041a68150bdc7179f1a5844f29cadd99fc50201f3d42f75c8842a9da31fcebbaddad8b8aad920d07686d875a4bb2ca3076f1d595fb254003b0073a3c283fefea51cc4e8618eceda91d9f7ea247eb89c07597fc87053baa32d2308362f67904966466a2f57b5f105f6d55832a904a0c40621dec72f5a4c9364966af600ed01bc0c7e8966fc1a7c2e28b049b1ff215bf2c9b137b59bb52da9324317d82bce92ec66953fb1d073aa539f752677e19c261113f72655068e0deccbe461a900d8dc7c4aa430ec2888d687c9c41288003271b79cf7a02852eb4aa29ca2b547c868c62bea64cda87dc42f2e844718fe5843a35a753b1df856776c3fa89dcca3846fdd6c6f1dbb0fdd3e514f54d5955cd97bf3ac74751897ff17bddc8e7e1767cd0752e7e213a7b9cad54d3586c5ff9403620e774f59cea5d81daf75aee6b8bb8002419f7dae39be7886fb6fffdcbc273512795fefe65175329a8ec5e10866a2c9a4fac51b730025dcccc3982103d18d6e4d5984e9cd46264a4c201d4b39512cbd8a50280b673bae1d668b5076a139b8dada29db342a9aac04b3c32694e631f3fc177639d78b3fb81aab955616f7420d7fb334c2276e4bff45c7c5d53dc877f280b65da18627a0ed47a2ba02ae1e8946fdef447b7c83ca345f3da4ce1297616bb787f7cce8b07f0e0f02cf68ac92b84d41f58c20dc13d8e46b27828a3b1ba1ff49bc945225b7a9b281b7c8127abea0b76a7f0b8a90ed52c9217f3f095cbc102481cce3befe72180b2fcb061c26e3fbbfb7acc46621e99e31c867f188f704e505c29543145c9aad4125d985f4bfd65f6d9ab6d6a37d5e23855c0ef020dce78362ef50013786ede5c73ef2abb02f7e9815968523ebe7eb23bc6a28e5604f1a2ec8b36bc9daceb337cbd4db58fad76bbb618d7a9ad82cf135ec0a44f7a0f9cacc92e0149642cd1545c4d9aeab970527b7935d070010f2ce6abc0d4f709ddb56d00e37887f135b8a58a086f93b1b9ce5f49080d7f7796587d4c949a2ee72dca32524a82a5839e7dc230f787e4c66c407035c3d6daf995fc0c3db211c6693764295190065f1816a45aa2d598987dfa6d35aa866b245161f9d1a100517e13131c68484a46892c4c3a4d1b1a0854c71d38e90c274dbb22f22700409b38b643d9f256fd6cdb91302f854b3e83a2d2b5fc915bf1be7965e15f836329353f36d213080464d2c30e7150573e251644efecac1803a6143fa18722c893625951f8c67ad1864c2a4da242944a46d94530cc371d126e5660e154671b306059fac2ad36df1fb393ce968fbdb16137be2fe612877b94007294876a6904352f7faffcc57f3af9f20616bdae0b8d510c67bfbbb02b3bee22b5f8045a1d87f98b0d0a7af74521798c0a5a4ab6dc64a19fcdfe65d1166cb30908c3c7e95bbf99cd3ab1fb7f352f1f995ba125c9da0779d3313a5bc543f099bd2f17f2d0668dccac95eaa99023e553e79b697c63dfc84cf4619948e4ff96f01f3a2904f56376920424c9987c1dcd6d4e5022e7ea25f26cb4a27c57a9c84dc89d4288096b0d1d4598d082b7d1b95f71a71bb1b2eddfed5398f5c4e580fb0ced8d0c8684042c620c750c7544241310c31e45d6dd4f07c0d978e226d109b85dd8397510930c7aa08e725d3508a73655adb7292b42697d5293bc4a9b649ae5e4bebf491fc5650d35af14088380d63c5729facfd68a2f2619475e63b63f55d5c4d9df93b45a2558a8ba2281d9c5af452fd0be77272eba826cc4c65131751be71167711bf0ea80927147d71024e0a9c530edc1e14721a17ea34a7772a24f0c619d178c099452deb21356a1dd6eeb38858b81a95f97499811cc6cad0bc891494c7d877ca79ca41ed5c60d634557712d49788fa304545c7090ca94a64cdeb7fd3d81bb9fbcfae691cd78ee3ad978a1dfe4c37da5365d32427d8e7490b43d32abed04a2d92a24a65f3970aa1a9065b29ea084ffa991182323074e375589ab4049eeec6402cf9868a13e7c29a0d235e098865337561841b3d249203b1a7830fe5c0a35806c6e7790120dbb804e78953b24f4ee1a8ff0b2cdb39c37e51b3952a1941b26f9946ed1449a872bd5fd43bb7185c7f3c3e30566778e05fda26820b3a0c1e7299c51c8174b43a74d6232426c0ad8e01bb27c0f7466604d1e44b57bcf0410f693c5a50a86242c6836adb836e1c70c8fb60ee8a145ca230247988e2758824bf405cfcbb433f86e2495a9947bc4354f00f509e831e3abf2426103c1726a17f4cff03e6cee13f4b995ea1fe503eda413a4447804e0b23155984db21129f72057d6ae4eb1f58a67892bd54ae886be24c173ce282e674db6284676aaf2768df462b6754ba4321da38a90a88326a4fcd136aa0c1831641385cdbe4bb375be0e342a65be3863cbf39ca15f280f9b94d4e67cb78c3bb2a5fa506cfeb8d17fdb53ed14c544e8c13684353a8054f262c901947fb8231283db4825a5c46e77f3e5546f86801810bc9eff5ca227c03cfc224c6baa5307d76f3585d0ffb6bd2a340dfbb09efaadb32039ca77c43d5d2dc43dbfe015310b37fc8bfd227b9f500f82eb8a8f99d2838656036c429a117ad89154eabe133db5b2312402fc5abf1ac4fe0a33bd6d42aee330a13b73754a1ad5e0934e61e2496782fbb9caca01a9459274b01f4ad27e58170f628860427e09e4f8bab47b7754bb2fad4e3a9b63ebc223ce9a9f7cece209d9ffe87970ab8cc3b34aa6d990de567dbae8d4e0ff0a4ec4fc389a217de2778e1c8ab88f8bc6436470a4f1ae16e2b877b09293e6f67ac6b0364e4db74aa89eb47aa728903180c63b83412a11b32a2cf04e6408b5ded5b83defa7f63a1fe6c94553aad321b53628cc3598d9a81f5eacf1be9adae64eb1b9dabd0afc0cf1afe436b37d88352e2a2bef1c3b167b6d0457f7e5bfbb1deac7d15885371cbb0057a6b648e9357662e1662922684c877840b5ace9ea0d8058e4d3efaa26f38f4541483355ffa53e7515f18f6478636d2e5afeb7b3f63790badf4d2be78e42e5e631a2e56eed7078553246c5fdfb6635c83680132990adadfdc09f41acb3897f1f3a33f14878fccf1a90a469c7ddd723bc13a2425cd780971b6f4c8c0a52f4b2042d0c92a1fd48e3981beaa0b4fbadade5ba20261f4780462d6067cc6c170d13e8e6fe016a778e918dbd6a66e62d7ce93bf38f1ca949c3071b0d0e892cf3afef586a6923e4a1229fca23e257789dcdde66c460abb447fd532406ef576eb7c01f961d23bf89cf1a0072cb933999cba0158519446aa097b651ec21896bb0ac9b33744c7ccbdba321482eaeacd7e32f9793e9ed43c0cdcd3d23fc56c9d8852710a37d5e40ea55be9ef8d1fe1df1c484d4cd25d6d20c6bef91e007a63aec96bc34f38c69fb355c3d81b609d3a8142e0a59ddf89621cb1c76b869c422d792f0ab0a804bc1e2bc6d142736ca14beb0ad276ff8d3af170faae3656021477098e7a186161fd04a38e83e8687ca14565144550dfbae146bbe51fd0ca255bd3111b31170523957d92709bc9c91bb9d0eb34a030c18d584cfb518d55588039e24183a0d8d694099547a5b417ad6bd45fb3b532acefa654696c47c4531798fad4924ee6ec7f284f810b2d260b6808e0c49bc6f3bf7cdbc898b7e32773e9012f9f8eee3d071ebfddaf079bd300daa6a535f9502ebf9e6b40f1d7b1ed27ef760c16d08cfbb61901100119bc9cbaef35927823c357cf8b8e60d64e62cd17f4722c3ed88cf42f3271b995faab1ff6ad0b9c99f1c36ef03a3e96ba591035c8efc3ce5378b4dae3e94ea16bfac3387ac1a2ef1980fb47cb438497f8bce60665545b33eaaadfe1f318cfb32d6c874fee41aaee6b5abf1bb1876f73dd2b9a33202d5252d5d9d2c938f858cda904c68e417a6831f9e781297c575f9f2cab8fc55ef627311ec45c55ad3aae78e379f1d268314dfa7e04a4527739541a779ecea9f981a0c717ce629486c71721aea44f8002580e272d62e7e722a47ffa48df34d45952fc2f31373a2e8b396acb33ee6fea73c72fe2d719b0b2d1ff8edd1b2fcdf825bd5b5a1cdf2889920624ae5cdb725021f167c5114969c18a454fcf79cdd74c78bd790bc3ab88bbd7ed549b6a5e3ec036e798bd3802ceaffa827480ccd87d0875ec9caba448443c8caf47ddfc0605578a823ae8ce04b8f307ba9f3b752ba8d0ad0604de3e2f1d47452db78e2879089bdba301a08bcaac75d1d7cd5d80e10b44570db71b95a730cac65a1f9eaafc46de27f1f40c66f6f1f9ab26738da1b07eb4bd15458acd53c34f4984cfed7bcc7d1fc9e42c777a1743fa38869d97aee703538c436f908d457da9a3658a1eeccff142731fa751861bd307f095f4533532b1da971f20492691e9f1a62670044388cae72ea083cf7e69e6f7157b552c85ab3197b223f95a9e5c571910a921107ef07e784d6466ebb3c523f6c403a2a8cc366be3e17615a310d573b3b3c6bb83d7928c117efd62f902c94b7e72463cce244d9e2170b8ac85e9d896dbb6959560f5029b2098ab26c17e974d7242d54727bc9ac4d93f949ce4d0f0d589ae33086a4196909e7d8e58c43c1ac564849cb357b3623dca0181cf0756061ecdec8ca53fe88f77bbb2d178c5fbc43311514ff556eead715923d9f37ab4f45c60d301286b4480aa472b0ece4b2a82d45a67c99671636894c36eb80dc3cb1e2845ce0813520a009c3779580f7040491343e53dbc231342bbd92419fad02843030c81c10d466db949f4f198a92e37d0eac6719962a9b4befa3df5cc7901b6d7c2e7ae9345ca12c206d92056e11324f33b0faa926ecb617317abc21aff94cf17ad191a615ea44432647cea08c8242ae274b2719144351d1135f8986f117cfd19b612796b2b1e956647ce78c48272ce609c08887533a2743384850c5b23de201ce1df7658bb9b420136469e598b57e58faa17ccdcce9d02743343d2cfa56d84fdba453783614989b60b0193ef547f949d702fdaa32fa24c0f2e9e6fe29287b7cc38499fdf0b7a4f6046acb9b79f44fb00f119e9effa4db3bd6fcc1e277d1d4f6a6e584038b3bfcc386470b6878b2ebeb368d523a9f220cc1e6f3748d21d686b0f7c01f41881cb4f589ddde3f6fcedde986b0a7c0935315a38ff8b3e81b858fd0fa8b8960d3b4d9b56388c8c924fe82539ddbb5e6228206d9ae6e3e242754ac64f00d1930815fe1acfc0fcd2551467ace4ce829c808d0ec4aac680aac600bf22044ad6cdac928fd4113799fe2f16e420b863116152791b78d25b9088312af183127cf2c2de8642e5f6bb9251ccc9a7787359bbf0654181c68bf5317b781a9ec2dceecfbb691db31aa3a65c5b559e3635c111e74f9e488e21f243f77612fa354a70b2c1b180ce9aacfc630a661605f73d08851de99867ef01f1c74a956b338f7b4d9dfd8d2c68c980f2b9d51d23170a2ac7d1d1e3cbc3e9334327bc6b9a075d0a41a030af66f4e7c071b5538fcb20f5e115b25bd3f6cc3f37dca86e29053d4c49385adc4bf737bd6889ed114889a64b37adf3410584d6b5d3fc8a518e252a316e20b870fb3c9251b5d66262d5300ebd66cb8d592d8b57486a5091e78b08bd2a3f3d6bc5e3d318e00aa2cacabebe5f8cf38553a69dcf29bd80ec61fd7c331142fae2982ca8f703485bb6ead44b8b9da739ce4f954144becfcaa9f12dfdd5676ddb8ac38a5e8d56f650444b2d67d69ce8906dec9dd13119f248a0e26e0582d1d9c37b1515bc90dc496fd367d841d91d3cf2f478af6f208c1b340bf4465a7e9c277ba3623e4a232e323b4d2b7c34a7530c799a73099ac52ddcf5539fa4e488b4f8da28d22ca07c8e335a0da816c40a59a1b791304f22760bef764443a3b8b88900f5a793f47b106d2f2e35e8b52c791fc61f8bcc8b41e4a816afa06efd42f60753332a4c90446b59abfed8b9b158ca4bf50da03b4f837960a5ae8c6368e390345aa0893f39a0d3e73243d325414a080b9ad5590fb310b640a832b67c155987ea3f8f6ce9761b83ac8378657ab6aea81bdbf90bf39b46afab8a80c694bc4039077e870402b2b88d2bb0a079ab9be72d0220aaff796ceabb680d9fdfa94abc3805d3fcf62be9f7af9125d00934e7476bf68d9336f9d0bf73adaa324dda1485ae3ab6e24657c5e67761c04beaee7b2fa01d8031082453fed46425a838840a30069ae217c104acd88e046664e98b5b4994a819d9afc613842d5616c261c239d32874bdfa114ccf851579998f28a9f1c43ad943cc3ed6c8e5c35bfc59c9c02ecbb62222d49c00af8cb757853a14ee17dcc4704cc9ddeb1a27e04d0fa5c9c62bd142110eed3354f788a18c0a4664ee23ec0afd2a87756cd78e5bc65e9f82c5b9d6f86440b2a89b2f0e4ce0b7ab6b0192e5825d45740bc8c79f11edfac2f2c186e7281f875a6ccf2332d961715c043b33841345d70a144c0a7cc30f7f62a52bfde495eb3e8743b3bbfef5486abc7632e1bc50053589a58fc9d7bae30f9063cedc88dede0614a118f412cc68f2acd71bd20a1e4da3e1e0aaff9a9705b6e08b04ecbfb7eb081607820bc706e2451d599cb067b60413c5df939996bb7011b50a86ee9b7d82b01e84363fd67d509d21fe439e9","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd35010000280008e357f8927fb9359d1151ddaf00a3043967a81e51340aa8eb1907368c36029db5a0cddbcd1789d1dfd2e5de211b38f8b73fc2248d16d8814c3f966fb0ac4426b3cb9df00b3c1537814540c256cdf7231fba7f08b62e57fa6d51b7bc17d82fe73f4bdff7c07277ad16bca2d631a88e9265eedcb8779a63905d35a3f799b5d96ff2497f1c8a1ab0806edf9fd180e69af8d15660a30ef7c59c6eb7b377840adb7e712a3c655b80f2d2c6b1a4597a51546b30f132126d60a7f1d94e752dc43f070b4faef4f66e2bd21b3fd4168fe881c8d878085034c1864f2661ece2b840134b67e961f3411260ef360c9b28d13d10839992fc871513b71e64f34a0a8f40f0c7bd9349e79321e852676f699d51c119fa3b84507587caecc6cd5b3d9701644fc149953f68a1fd76e824d1d852e675d5c71f6d0c63cb8b1d63155fbe6dd8fcc8f2a0860528dc705390636ca0bce90ef787f56ea88bfd03b816376efb7e2b76e3dd70abb9923ce1de37f3fcae98ef06dd0ee243b03ee118e4aea2fb3ca0a39ef58c565ca746f3076d754a0cdbf8e8a138e80d6ed16c453524d44ebd0dda17475e40186cd8581c8c9f0ba7081a566f9aefbac056da49282826de6ca315bc5786a76e24db611fde92a050efe737c52f4b35a7ff07ca2042c588c42f90359a8e3bd000000000000000000000000000000000000000241e1a6222e6b7bafd3500b6f12357732f7a9a4f635a25b62a285403b7ad31709a553086be2a5c5d4b366e1dd8073942624a911ba7415a859c16cf3696b383abd8cc20f7491a6b664ffbdb5ac1519eed4595c02ac133bb71b48531f35c4a3bb6b43d0f04766f4c2a04b59d028134e04aaef5cb46058351564e70cc392019bbb46b8ca8aedfff8b209b1047ab0058065c7829291e9913e81cef3e5ce7c6fdde22dfc47b354e804dd328f72ef885dc1f6285b5d106253b206bed0893bcac10fdb8a38495b2c6ca78ef932453f400cabe37d27dff0f09699085667f7f985b92298d3043fd27a69b8275461a341c210d3ab2f4ca8aad9c9779717e529842eb2161272e4944a8d58c12773bd29d394d3594fb8816d27eb27b78a05c97424ebc8a08460a0aecfcf73236635aba844558c76dacf369498cb5f71a0239dffe58b85ac0df0f2409eec929ece7081b66f4403410fee80d37252ed3376c01d8a066c68e772cb5cee03969ff6e3abe8c243c0f873d039e0e231c2292ef3ac0642ea2a4c8e23519932661cb2601e9ef0f0655fd7f161b7b4c6f14055ac8bc431a7defb1733b9104fda94dc80dd1ea95dde3477622d76cfc257c7789955fde8a9f37ac2a6ac48262309629d10c287ee9b6399d31f85632674ff979fb34f13931f832cef481f5f1370a4da3c77c9523b10d2bf1f300000000000000000000000000000000000000241e1a6222e6b7bafd3500c9671d4c8cedd9754a022d4ff9c14816255573c118c7f37b755890a0afe0c9d2de718d1a4376ef9addba36932f260ebb3300dcbb6d55d5ceb9ebb8998eb0067b82fbae395811b5e5b81663011849da5d02533023b6c5d6d512d03a41e736b48eac4a43dc6b045b657dd632f0a7873835b7f3d536c8eb1e6c26724183387ad9c9c8f07f56b3a4aace8ce3425d97825b6cd42b00a68d6edfa1088d3c6d0a772eb802ceeb67d7f7ff9363ffc5c5cf13661ebc4da319eb64b4697b150eb837b4a605e8a3178d66c57f2403c6a524cef7df08bdf59bd82dc5e2b07f973bae899efbc949f0a588a173036ba1ceb4460b8450ca206cd4730c2eba41da4d0aaefbfa08bde43a70fa7420e4a34fa6395c758a76e044e38ae87803774c4bdb5ee1461404cb1c74d27e7dcbee1eeccb367c93c425987b481d15176ea0e9287fa8651f3be46d89e3998667cebf9c9a37628c6033562abb9191e92c437342b649378dc0c9eb10673b0259ea929615b34d4a5ea6ce8f0efd5b127dbcffb9af7448aa05b8f8010c1a97b9e79526919808e9f3c178189034005f98bb47df5727a436f2f07b4a5ffc054c0e8e4e53aa05b4aa0c7f00259f7725352345868e6df4c95ebe881f009daac32b92e9ab804d31b95fd844cd4e2693a2248605a3da4305c71bbd16ca3905b92f7000000000000000000000000000000000000000241e1a6222e6b7bafd35004fe45ecfd73a8b7e48b3950e8c1a03540edc1c8ad8767bde7e4aef96ed23e7d403ca3f2f17a90331926dfc428972713ccb19cfb2a0cc137d83108b470a14d5f6d69ff6f06dcd8f18d82fc98fa51aa8e8fc25e961f5ddcbf9e78d066b16e8af6e48dedf6df4490c72ea97a23ddab43e97a52cef6a642a946d8992dcfd22d47a327d0ba22ac52c35fe4c241200f385392aebe6df0067df0603487237008d2d1602bc3062f08b7aa446b8bad8d7266524011154211af9c9a0c90d8d0cd5514a5eed7b598347193a2a00ed0eee13f4ee1ce743ebd794480055e72fc52c64e4720fbc39433f70ddd523262636da7b31cb5348722af6b1b49406d509502da0b3ff92e3f8b33bf10534b88757b5545ee6bd2838c3aa8dda07fb5da20227f76b074971b325933fbab0fd2c5ff1c15be2beb61ea3de93528601cf7052ae33df99d02c3c62b706d273fb8f85e33ed983036ae07fdf028ceaaeb7f80fd52d44201b138ffdb53278ac79fde24a1bdd9ad9af37e34f616cd1c3e67ad01f68eee5fe4632d9de7dceb7a09b47a21f137437c0f6c8093edbf1189fd3057ac14fd7857212eb4b30f4217d6e246e898265f2f2f337409c2df8e7af44f86ec9058910d231f5bb74a0efb990958799bea722e439531e3baf74222f0f887ae1714e71f63224abf0227fdbac0300000000000000000000000000000000000000241e1a6222e6b7bafd3500ba05e77cc8ec65c95a0a1f254d6e15e66a8a96f93fdf7f23294e404e1e43a667e966cfa628b3924f319cc38fcfeaf0fd6d38f1a203b94ffac5016da6b7caf335458e808f89a452511bbb8e8dc481ee2099a619302792c6e06292fe4f2b2f4046c520d2842d377a8c8849bacc381212e562b29dade613fd800cbce0a2e3095b925bc1bcd7f4a06b9ae6b63df7b11239e0cd8572d45c17a9517c84942d5b94d3bf612a8821ea6e03a712c30bf1532496043ac787d54e37b2bfd9886301fcee7b917ca831857857eb7041264dcb215d08c7f916409551ab5260addca31848fa910ff6442d3852a7c91dce2c8440035d44043a96ca4275e867aa1d11391c9dbd4885387fdf02a00d9d362b1682755d6741bb9a922a7edd58f9fb6451eeda9d0de286674851ec126176fbd755cfe8dcc3722b838c7c0b678c36cc112912e6b01f8696c53862c5dffaad8362e4e5eaf9d8c44fbb2178148b9baa89bf6d3f86a1e1b34d7f34aa514200ceff8a63a581632daf96e416af6ad923d3a0fe668d0fe273129385b218e583e2245e80e0d1773c5f81f1e28f64a30a1e76b31eef51138171a2cbc42d5d73172991f27b09433381cdcc3c1e00c5c68e4ed7d67e3e36190612b34d47f43f6416ce1cbc5408d70d5b26bff0d4ed814a8b67ea7acae45eb6079bf805099d00000000000000000000000000000000000000241e1a6222e6b7bafd3500887733c6a4f1405cd18ad51c883a0e6df345138ce2bf52679642735de3f02358cf2d547388b368767a76f8769eefad13cb369363867ac3e52e45712b7ff0fe3c5da274d4243c62128bab448ecead4f9132f70fa696e4365ca441129cb70ce24d84419a192143f7d54743e1ae6135374a16c1194ba168376e0b7b334b9b0ced8eb8ea73b35861465f45e8a097ef6b13b9dff93799366bce7d34698ec9b83c90a709cbbf6aad1bfe801213ebbec91b4db9e7a5ba9fece82d3e1bb0c0e7c08bc5f738e59b6d6e1d020b578654df129d37466ee3085e79dafc7ab36ae95392eb66536790ecea554f9ada3fbd60c6a54e0c7966f96adfe563f13ecdb1f060fe1a13b8ad44a3fa2de06a9032d2c6c4ce1be6016fc4f2296eaad4040f60bad0e1db985e29c2885be036367028dfa154735c28c9f2c5ca49b5c9c207b00c21eb758ea7e0dd9150d46935ba6e8f351957c26b2498e659de1a1cc1602211d3f0f82d349f87dfb4c8427bc0963eb4c5f09eec7be3ab6cf9c88a8b2ef39e36fbad7e1c45a74c64868b56f7f54004cf4e4b2b5496133f141d69f88b615cb029b9d4649fb5e38fa7a5b34878f264aa3e940d898cc4cabb768b40ce50733576cb09cb853cc2830aa65996c02b008b070bbc46f82f98b84ca12597b100444a7e66c269d952c5aa09f8eb00000000000000000000000000000000000000241e1a6222e6b7bafd3500f5bae53cc37717fd9f241bbf46062f69a267b538519911282551617e36d7ba0b4618f0bf55153b86c9feefe06c0e49f2fe4833e4dc8eeca4a898fd79f4bc4f725aff5f28804544af6bcdc672474767f04fc03efff4cc505ef0be3b5f149e53a064eeb9a31de0dc63530af69ee7ae62ea9dd7afb9e56dd6e933af8ea9344b64bf6a76d2bdf219f75a9c37d2e0be557791d879e9bbb7c585885056a046fdf140c544be8fd644e14e76fa686a51f7feca7931b8d3789ff248ef2981e942a47f201d803b108d34ca76b5c22f51fa6c67c590d8290eb588c4dc6279f3948d800f3328277a4fde33bf856f90a1c34d8757f8cfb56ebbfe0fd25e146426cf00d48d2db720e87f929cb32063451f1a8ed20dbdc61888f4f4e1ef1623db6e97f779e26165f562c1fd8b308e0ffbccad6820b31b2dc1c88e7692d30132ce2521e99938530930ec9b168b43a0b4d4a281aea7b1d7c79bc00c13e75e9d02ef9af6b8fbf686ec50d0bf3d13e04c4f26894809bbc3ab8c11a9ff6c61dea48229bdd639e84cb4705ccdbc2ae0ff2697fe96d55374e4dab92264c8a377fb4cba59af864198bc8eddcdd1919a620b6ccc21123695b0830f9548c88ef49ba2313f41eff2358c914744dd2b08b450b4460f05bf4c22742683f971e9e15dbcb27ed0b369e457a1f1b9e443d700000000000000000000000000000000000000241e1a6222e6b7bafd3500a3dfd427554807804fc34309327dbd4dc08095e2063f1df4328db15b5c855a225713fb6add9b7bfe61c9d96206ecf1b0b6d89f4e83338bc4f3a3256a4d4571734c2b4667023025d5c7ea725647de41b05efaa48eb1b7760aa177a7776f700f0b77b4f431c304924bca88c140c83a7615cd9bede71caf3d8cf930c6ea7035188ee0f7b89cf7f7c1bf9f448ba4005361a38e8e628382668f0ad21e777e37be3b48ca2a755ae947e45b4c7fae9f8793ed9525f74305bfd026723985c6a2c3465661a935e02e23aa1cbb154a2907a4ce90c9a6307184dd39b5b1516d7c0fd599bea8b5ffe875bbe2a60ed9131e3d67b2a1f5a53a1b37a573d9ccfc9c2ea4195a5ca82a1e7575961ddd9b2a78716ec8bdb64b8dbf1e8aa18cba57fbcc9ba05ed76b7ae99ed8f6bdf63fba76c0d8e3a4a79c723f31969514a56b9da594872dea77ebc1dbd853f23005b2cfd580d68439a51ef4cb53ecb33173581edf9323f68f78d043e8c18bb81f72972c7255b0894560eeb54abe6d52df95b13440dd67c8e686d68b74a50682dd9bdfb59fc6cabff2a1e42c567809b6bcdfc47ad925a8f8fb5bafc2d06e4f6845c136bdbdd0952c34338aa233972d8444c5a4346421e13da853c4bd9d2403e83d7dd0f774e85775ed4571f6ad43c06eba14a1c955a83d8701d22f6c527e00000000000000000000000000000000000000241e1a6222e6b7bafd35007b67843d25577f7202f123742adee2c2cedbc6ebbbbb0b292c5270c5b3652a53b45c3f32523cb6731fdcf5473483f21802fe24999099f8912f761ba8071b5c6b5de3bfaa65ef7007d054103d515016d9599f9d7a7bdb65d2b4b3b9ae5ad41ef9dcd48919f5adabd28ea01bf9b21d5516ce53d1b8fb06cf2faf5fb952fcd98bea60a39bcc4ca4f96dd85d776d2a304cb9ab2272a783b66509afcee8e53e07ac22680de2a0ae9deb051e4e421be123fc0aca1290912f78b054b664af657fc5f2e80a840af72bf588c58aad78d49770328da2cef3bf68b278d62aa26d114db1342aa10c88d9f4063e50f49880e908d1653053d1abe69b745944ceb5df9dd749720779a07ff7368e771ad938d74b916f80012f20abdb47c815dd208c2e72848b9941700d435d3b25cd556f71071bc2588c5cb2e4e641142eb15f755c03b3a91acd6c8e679aba9d561b527f00196beec32d7c48d00e2202af10dcdafff09666b41fd68cb5cea2c0eac96f59c1b7ee9663c92c8ad07324f7f7063201ceb84eb7d4697c28360516dbdc024bd818cdb1e21fd8f6aa65144f44df65d527cb447f33731ab1ddc0cb98c9dd573ee9a020c399a5a14487e6992910be2e067afa9c733f175b9b7853be619282daf85e008b3ca834cf0e662431222ffab701db32e81da54762607ed800000000000000000000000000000000000000241e1a6222e6b7bafd35000610fab612363854aa51a5a51074c74e4c6e7705148f17c337354d39e96d2fe2feeb01dc9c50e4126788169a3ae858721191da2fef77fbbf853cd91119c65613cc9702dbf907119f187537505bb9ab7568eb8924c782c9d13b81ac3f4914d7055b1c5382bda035621a51f9dea89acbdf094572b8e39d7d3587c9ad73852ee3d4d4e8018c663325d2c40503b2686d5e3fb2c401fc1d2fb035f5ff2fe198f84cd3bfb6bae02e1791bf5baf661e8594f4ca8f8463039b4672155a6163f2a8b57f9b3b3bc41ec0e9a81d5c40e4b6b436415f73bbe1eafcc277a8dda9625280c2fe6ec09313d64ebf62aa38c9f8f44dfbd6d1ca09bc9e66a7dd43577263dd8d2da836cdaf78206f1abd0e07e9116c3e06b3032b28937fae9d3c7143ff119fe53f5d5a88d0e26ab2df41da9ba6159ccb3c8b61956ac3586c70cad8d7075f76e570c4eee41b0f3054663988484d3d7605326deb9141f24d7c890659fcaf96d4f75dbc2106d531c9b33be8e1e309aa38f5097929911eb9e952d90824eea7fcd1b91586f88dab4584da99874c2551d2a1c13300d6cd6ce2782ade486d064ddbfca98d04cc9641ac189d473265075221af35e9c1a83d930fb95dc5bf30f59f76d7a806e2bb8f0a7ca62a5d34861bb410dfbb4fa77f967b3e6634b9e1a918103645a81d97fc3aef00000000000000000000000000000000000000241e1a6222e6b7bafd3500896cbb6765dbd75877383658e7acbcbfe21ed59b256af9ed695424aed8df1c3762d7de334f48b943687b81d226f701968738fb610d4d0f152cb3e9e1f2c988018ef63a72bb1cc69a7a5e77b5898c72e3d947dd726ad390c46bf01d7f9d3cba11935678b9666c04c2e293a2f7359a31f217f368abe66c31e239bd9079103b768b77ab46da0ce731b308e67adeea16ba5e9adcaa9c8a9300efbcbb438e2aea9cc7c781ba69ae8eebd8876b0feebc9941644a1a9777824f1d0e316fbbd80bbb6fe25e4dca0e5b2eace8d3f353bf12801f4db33bfe590943bcefccfc960597edba968f9b6fd48179dc80d452aa502305f6e7b5d81b23662064d6a4bfc7c39eb79e5b908cc5f4b20862a82af2c0e2f0b8c2760c40a4173ccb2b83e1851e524fe2adea4a4a2a57518cc076ef9d0a29bd0fba6af4e407a9e263965bcf67ae617242ee8f69048140dd28153bd2f1f61d510a72e9e4139637eeb91e2a27c40c9130c1a3093b124d60bce2e7e17c1ee45ccc02c71ffdd837d931cb4d67ba28a70365c331722fa9109ec2bb78cf619f493b5e33e2ec1d2f5f8bc36cef11a99d451944c2ba5edb026a6f35cce845d69320a7182de62e11f4540113049c231541f361f1516b8c727215e7c2248823bf27cd7b4d025ddd2b980392620057246d56ffbe2adcf9a0f7cd00000000000000000000000000000000000000241e1a6222e6b7bafd3500d480b94e91e5b9a21a8c151290e802c2c627416910c5796c71c716dca2055926a4293278b8bae0962744f000f38ec851470e36271c39a620c495d0b11bbec218c525e11948b566952e38522a9b7ff80320db83771d73b90adfb7972c92ebeb7c395b36bcb4339086ab8be2f12c16ed11284f0fe1714c56e0d2193230d4704c36c28651dcb44279b67701e65bfbf41dbcfd8594bae814d030a2362dcdc8929e50bb3a2be7ed31b2a501597ca9e4b77488e59d4cec3ec19b8496e4f9216397d8760cd330ceda2ebe7ef214d5ee878e9897cc73b094bf9a14e8b4e14f79c41bd6e1c6c82a9b367995c2d7c5165d0ab55ccd41a1a74bc3f99c7c8133d4b8399a464bfcd5d67f041a68150bdc7179f1a5844f29cadd99fc50201f3d42f75c8842a9da31fcebbaddad8b8aad920d07686d875a4bb2ca3076f1d595fb254003b0073a3c283fefea51cc4e8618eceda91d9f7ea247eb89c07597fc87053baa32d2308362f67904966466a2f57b5f105f6d55832a904a0c40621dec72f5a4c9364966af600ed01bc0c7e8966fc1a7c2e28b049b1ff215bf2c9b137b59bb52da9324317d82bce92ec66953fb1d073aa539f752677e19c261113f72655068e0deccbe461a900d8dc7c4aa430ec2888d687c9c41288003271b79cf7a02852eb4aa29ca2b547c868c00000000000000000000000000000000000000241e1a6222e6b7bafd350062bea64cda87dc42f2e844718fe5843a35a753b1df856776c3fa89dcca3846fdd6c6f1dbb0fdd3e514f54d5955cd97bf3ac74751897ff17bddc8e7e1767cd0752e7e213a7b9cad54d3586c5ff9403620e774f59cea5d81daf75aee6b8bb8002419f7dae39be7886fb6fffdcbc273512795fefe65175329a8ec5e10866a2c9a4fac51b730025dcccc3982103d18d6e4d5984e9cd46264a4c201d4b39512cbd8a50280b673bae1d668b5076a139b8dada29db342a9aac04b3c32694e631f3fc177639d78b3fb81aab955616f7420d7fb334c2276e4bff45c7c5d53dc877f280b65da18627a0ed47a2ba02ae1e8946fdef447b7c83ca345f3da4ce1297616bb787f7cce8b07f0e0f02cf68ac92b84d41f58c20dc13d8e46b27828a3b1ba1ff49bc945225b7a9b281b7c8127abea0b76a7f0b8a90ed52c9217f3f095cbc102481cce3befe72180b2fcb061c26e3fbbfb7acc46621e99e31c867f188f704e505c29543145c9aad4125d985f4bfd65f6d9ab6d6a37d5e23855c0ef020dce78362ef50013786ede5c73ef2abb02f7e9815968523ebe7eb23bc6a28e5604f1a2ec8b36bc9daceb337cbd4db58fad76bbb618d7a9ad82cf135ec0a44f7a0f9cacc92e0149642cd1545c4d9aeab970527b7935d070010f2ce6abc0d4f709ddb56d00e37887f13500000000000000000000000000000000000000241e1a6222e6b7bafd3500b8a58a086f93b1b9ce5f49080d7f7796587d4c949a2ee72dca32524a82a5839e7dc230f787e4c66c407035c3d6daf995fc0c3db211c6693764295190065f1816a45aa2d598987dfa6d35aa866b245161f9d1a100517e13131c68484a46892c4c3a4d1b1a0854c71d38e90c274dbb22f22700409b38b643d9f256fd6cdb91302f854b3e83a2d2b5fc915bf1be7965e15f836329353f36d213080464d2c30e7150573e251644efecac1803a6143fa18722c893625951f8c67ad1864c2a4da242944a46d94530cc371d126e5660e154671b306059fac2ad36df1fb393ce968fbdb16137be2fe612877b94007294876a6904352f7faffcc57f3af9f20616bdae0b8d510c67bfbbb02b3bee22b5f8045a1d87f98b0d0a7af74521798c0a5a4ab6dc64a19fcdfe65d1166cb30908c3c7e95bbf99cd3ab1fb7f352f1f995ba125c9da0779d3313a5bc543f099bd2f17f2d0668dccac95eaa99023e553e79b697c63dfc84cf4619948e4ff96f01f3a2904f56376920424c9987c1dcd6d4e5022e7ea25f26cb4a27c57a9c84dc89d4288096b0d1d4598d082b7d1b95f71a71bb1b2eddfed5398f5c4e580fb0ced8d0c8684042c620c750c7544241310c31e45d6dd4f07c0d978e226d109b85dd8397510930c7aa08e725d3508a73655adb7292b42697d5293bc00000000000000000000000000000000000000241e1a6222e6b7bafd35004a9b649ae5e4bebf491fc5650d35af14088380d63c5729facfd68a2f2619475e63b63f55d5c4d9df93b45a2558a8ba2281d9c5af452fd0be77272eba826cc4c65131751be71167711bf0ea80927147d71024e0a9c530edc1e14721a17ea34a7772a24f0c619d178c099452deb21356a1dd6eeb38858b81a95f97499811cc6cad0bc891494c7d877ca79ca41ed5c60d634557712d49788fa304545c7090ca94a64cdeb7fd3d81bb9fbcfae691cd78ee3ad978a1dfe4c37da5365d32427d8e7490b43d32abed04a2d92a24a65f3970aa1a9065b29ea084ffa991182323074e375589ab4049eeec6402cf9868a13e7c29a0d235e098865337561841b3d249203b1a7830fe5c0a35806c6e7790120dbb804e78953b24f4ee1a8ff0b2cdb39c37e51b3952a1941b26f9946ed1449a872bd5fd43bb7185c7f3c3e30566778e05fda26820b3a0c1e7299c51c8174b43a74d6232426c0ad8e01bb27c0f7466604d1e44b57bcf0410f693c5a50a86242c6836adb836e1c70c8fb60ee8a145ca230247988e2758824bf405cfcbb433f86e2495a9947bc4354f00f509e831e3abf2426103c1726a17f4cff03e6cee13f4b995ea1fe503eda413a4447804e0b23155984db21129f72057d6ae4eb1f58a67892bd54ae886be24c173ce282e674db6284676aaf2768d00000000000000000000000000000000000000241e1a6222e6b7bafd3500f462b6754ba4321da38a90a88326a4fcd136aa0c1831641385cdbe4bb375be0e342a65be3863cbf39ca15f280f9b94d4e67cb78c3bb2a5fa506cfeb8d17fdb53ed14c544e8c13684353a8054f262c901947fb8231283db4825a5c46e77f3e5546f86801810bc9eff5ca227c03cfc224c6baa5307d76f3585d0ffb6bd2a340dfbb09efaadb32039ca77c43d5d2dc43dbfe015310b37fc8bfd227b9f500f82eb8a8f99d2838656036c429a117ad89154eabe133db5b2312402fc5abf1ac4fe0a33bd6d42aee330a13b73754a1ad5e0934e61e2496782fbb9caca01a9459274b01f4ad27e58170f628860427e09e4f8bab47b7754bb2fad4e3a9b63ebc223ce9a9f7cece209d9ffe87970ab8cc3b34aa6d990de567dbae8d4e0ff0a4ec4fc389a217de2778e1c8ab88f8bc6436470a4f1ae16e2b877b09293e6f67ac6b0364e4db74aa89eb47aa728903180c63b83412a11b32a2cf04e6408b5ded5b83defa7f63a1fe6c94553aad321b53628cc3598d9a81f5eacf1be9adae64eb1b9dabd0afc0cf1afe436b37d88352e2a2bef1c3b167b6d0457f7e5bfbb1deac7d15885371cbb0057a6b648e9357662e1662922684c877840b5ace9ea0d8058e4d3efaa26f38f4541483355ffa53e7515f18f6478636d2e5afeb7b3f63790badf4d2be78e42e5e63100000000000000000000000000000000000000241e1a6222e6b7bafd3500a2e56eed7078553246c5fdfb6635c83680132990adadfdc09f41acb3897f1f3a33f14878fccf1a90a469c7ddd723bc13a2425cd780971b6f4c8c0a52f4b2042d0c92a1fd48e3981beaa0b4fbadade5ba20261f4780462d6067cc6c170d13e8e6fe016a778e918dbd6a66e62d7ce93bf38f1ca949c3071b0d0e892cf3afef586a6923e4a1229fca23e257789dcdde66c460abb447fd532406ef576eb7c01f961d23bf89cf1a0072cb933999cba0158519446aa097b651ec21896bb0ac9b33744c7ccbdba321482eaeacd7e32f9793e9ed43c0cdcd3d23fc56c9d8852710a37d5e40ea55be9ef8d1fe1df1c484d4cd25d6d20c6bef91e007a63aec96bc34f38c69fb355c3d81b609d3a8142e0a59ddf89621cb1c76b869c422d792f0ab0a804bc1e2bc6d142736ca14beb0ad276ff8d3af170faae3656021477098e7a186161fd04a38e83e8687ca14565144550dfbae146bbe51fd0ca255bd3111b31170523957d92709bc9c91bb9d0eb34a030c18d584cfb518d55588039e24183a0d8d694099547a5b417ad6bd45fb3b532acefa654696c47c4531798fad4924ee6ec7f284f810b2d260b6808e0c49bc6f3bf7cdbc898b7e32773e9012f9f8eee3d071ebfddaf079bd300daa6a535f9502ebf9e6b40f1d7b1ed27ef760c16d08cfbb61901100119b00000000000000000000000000000000000000241e1a6222e6b7bafd3500c9cbaef35927823c357cf8b8e60d64e62cd17f4722c3ed88cf42f3271b995faab1ff6ad0b9c99f1c36ef03a3e96ba591035c8efc3ce5378b4dae3e94ea16bfac3387ac1a2ef1980fb47cb438497f8bce60665545b33eaaadfe1f318cfb32d6c874fee41aaee6b5abf1bb1876f73dd2b9a33202d5252d5d9d2c938f858cda904c68e417a6831f9e781297c575f9f2cab8fc55ef627311ec45c55ad3aae78e379f1d268314dfa7e04a4527739541a779ecea9f981a0c717ce629486c71721aea44f8002580e272d62e7e722a47ffa48df34d45952fc2f31373a2e8b396acb33ee6fea73c72fe2d719b0b2d1ff8edd1b2fcdf825bd5b5a1cdf2889920624ae5cdb725021f167c5114969c18a454fcf79cdd74c78bd790bc3ab88bbd7ed549b6a5e3ec036e798bd3802ceaffa827480ccd87d0875ec9caba448443c8caf47ddfc0605578a823ae8ce04b8f307ba9f3b752ba8d0ad0604de3e2f1d47452db78e2879089bdba301a08bcaac75d1d7cd5d80e10b44570db71b95a730cac65a1f9eaafc46de27f1f40c66f6f1f9ab26738da1b07eb4bd15458acd53c34f4984cfed7bcc7d1fc9e42c777a1743fa38869d97aee703538c436f908d457da9a3658a1eeccff142731fa751861bd307f095f4533532b1da971f20492691e9f1a62670044388cae7200000000000000000000000000000000000000241e1a6222e6b7bafd3500ea083cf7e69e6f7157b552c85ab3197b223f95a9e5c571910a921107ef07e784d6466ebb3c523f6c403a2a8cc366be3e17615a310d573b3b3c6bb83d7928c117efd62f902c94b7e72463cce244d9e2170b8ac85e9d896dbb6959560f5029b2098ab26c17e974d7242d54727bc9ac4d93f949ce4d0f0d589ae33086a4196909e7d8e58c43c1ac564849cb357b3623dca0181cf0756061ecdec8ca53fe88f77bbb2d178c5fbc43311514ff556eead715923d9f37ab4f45c60d301286b4480aa472b0ece4b2a82d45a67c99671636894c36eb80dc3cb1e2845ce0813520a009c3779580f7040491343e53dbc231342bbd92419fad02843030c81c10d466db949f4f198a92e37d0eac6719962a9b4befa3df5cc7901b6d7c2e7ae9345ca12c206d92056e11324f33b0faa926ecb617317abc21aff94cf17ad191a615ea44432647cea08c8242ae274b2719144351d1135f8986f117cfd19b612796b2b1e956647ce78c48272ce609c08887533a2743384850c5b23de201ce1df7658bb9b420136469e598b57e58faa17ccdcce9d02743343d2cfa56d84fdba453783614989b60b0193ef547f949d702fdaa32fa24c0f2e9e6fe29287b7cc38499fdf0b7a4f6046acb9b79f44fb00f119e9effa4db3bd6fcc1e277d1d4f6a6e584038b3bfcc386470b687800000000000000000000000000000000000000241e1a6222e6b7bafd3500b2ebeb368d523a9f220cc1e6f3748d21d686b0f7c01f41881cb4f589ddde3f6fcedde986b0a7c0935315a38ff8b3e81b858fd0fa8b8960d3b4d9b56388c8c924fe82539ddbb5e6228206d9ae6e3e242754ac64f00d1930815fe1acfc0fcd2551467ace4ce829c808d0ec4aac680aac600bf22044ad6cdac928fd4113799fe2f16e420b863116152791b78d25b9088312af183127cf2c2de8642e5f6bb9251ccc9a7787359bbf0654181c68bf5317b781a9ec2dceecfbb691db31aa3a65c5b559e3635c111e74f9e488e21f243f77612fa354a70b2c1b180ce9aacfc630a661605f73d08851de99867ef01f1c74a956b338f7b4d9dfd8d2c68c980f2b9d51d23170a2ac7d1d1e3cbc3e9334327bc6b9a075d0a41a030af66f4e7c071b5538fcb20f5e115b25bd3f6cc3f37dca86e29053d4c49385adc4bf737bd6889ed114889a64b37adf3410584d6b5d3fc8a518e252a316e20b870fb3c9251b5d66262d5300ebd66cb8d592d8b57486a5091e78b08bd2a3f3d6bc5e3d318e00aa2cacabebe5f8cf38553a69dcf29bd80ec61fd7c331142fae2982ca8f703485bb6ead44b8b9da739ce4f954144becfcaa9f12dfdd5676ddb8ac38a5e8d56f650444b2d67d69ce8906dec9dd13119f248a0e26e0582d1d9c37b1515bc90dc496fd367d841d91d3cf00000000000000000000000000000000000000241e1a6222e6b7bafd35002f478af6f208c1b340bf4465a7e9c277ba3623e4a232e323b4d2b7c34a7530c799a73099ac52ddcf5539fa4e488b4f8da28d22ca07c8e335a0da816c40a59a1b791304f22760bef764443a3b8b88900f5a793f47b106d2f2e35e8b52c791fc61f8bcc8b41e4a816afa06efd42f60753332a4c90446b59abfed8b9b158ca4bf50da03b4f837960a5ae8c6368e390345aa0893f39a0d3e73243d325414a080b9ad5590fb310b640a832b67c155987ea3f8f6ce9761b83ac8378657ab6aea81bdbf90bf39b46afab8a80c694bc4039077e870402b2b88d2bb0a079ab9be72d0220aaff796ceabb680d9fdfa94abc3805d3fcf62be9f7af9125d00934e7476bf68d9336f9d0bf73adaa324dda1485ae3ab6e24657c5e67761c04beaee7b2fa01d8031082453fed46425a838840a30069ae217c104acd88e046664e98b5b4994a819d9afc613842d5616c261c239d32874bdfa114ccf851579998f28a9f1c43ad943cc3ed6c8e5c35bfc59c9c02ecbb62222d49c00af8cb757853a14ee17dcc4704cc9ddeb1a27e04d0fa5c9c62bd142110eed3354f788a18c0a4664ee23ec0afd2a87756cd78e5bc65e9f82c5b9d6f86440b2a89b2f0e4ce0b7ab6b0192e5825d45740bc8c79f11edfac2f2c186e7281f875a6ccf2332d961715c043b33841345d70a14400000000000000000000000000000000000000241e1a6222e6b7bafd3500c0a7cc30f7f62a52bfde495eb3e8743b3bbfef5486abc7632e1bc50053589a58fc9d7bae30f9063cedc88dede0614a118f412cc68f2acd71bd20a1e4da3e1e0aaff9a9705b6e08b04ecbfb7eb081607820bc706e2451d599cb067b60413c5df939996bb7011b50a86ee9b7d82b01e84363fd67d509d21fe439e9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"d0c2260af21ea395cd652908786adbd41eec47be844a9cad49035b476fe34206"},{"namespace":"00000000000000000000000000000000000000241e1a6222e6b7bafd35","data":"e1285ad855b5142f1ade399305eb628c6f520c38a7769398dacccb7da165588ec68461c17d23a81c2b53a37035392aa88c7b42e9eb47bce574b0737e35126f54e0c6bf25a6a3b27db8e1b49bbf18beb5f3b9a9d43f56c5929a16cb75d2a73005bf19b768050a1b9a0fcb01da67a2d5fb8c93b132187642b01b69c57b67f24fecfbf02fe8baf0cb3c0700138ae79b5183d28bbcd253765cfb1ba0e63002a02bfa117ce34430a0587667d983b80c748bbac0dd633fa6f793b85c0d974d26f05c359544f983c2a46b4e856cf367126b2d14dc77b472c4917460b0ad0e206e949a634dc04c4d7c43439c8ddc03cd73c1ca5195f986c60106d053cf731911e697872cc487299e72b8bc54c85d9146179b080b38ed8c4003313eaf5b56178fb51add1ebcdc3e1008131816b17c0c5414ea2be2f1576f9b6b848d7853482b6a98e357ce7826b126edbbea2f2080159d9a123a7483d8a0a0cd43a8fff6ae34e5198be93c31e0f72d602fa76a00a707a3667570ce55bccdd55a386b7f251e4886bd7c906993bb4e96e3c0448d96cc0cc2ae92675f30bb2addf4b5a909d12d8ef6b92cdc3379ba99ee2d1824c7119a9d6777c664f01dc4c1110f670f0ef08fca9795b9eb320a9711fce38f479769efd1d60528926ec2eaa68a5d55c2d5217116d4d3fda416d8d5f1b1dc08d3dfa0fc823cf26d72d05dd0d92edf2cfb1f949182aa51c5c5671687b981a7a2e8c3ec3c093922863029d4ee0191d07f36f09c41e88ffb897738c2e49e922062812f1c1833cde44a90c9a3dd1020605ce28f453d153e46f26b794be1c3ec8dfd77daf683defa8a3043cb8b7f7c0029580e049f831c28574700a6bdd7e5ec822d569f649c713d6184ad302b0dce254c231c8fc9cafc13d86c0d8f92926adf91e0721060458a41d67a5ae0cc770725bc2962377e3d9401d650e341f09b2988005e38fa0cd5fddc2ca7db57cbf87458bdcaebb1088f82968fe638f20e045e9b89569b9ad341818db7252afcdd9c1be9518572486739f3ffc148d18b80c78fe805530f5725353b479d1c6fb819e67183d16feadc99cb1e94a068d53ad84346072e60d2da5dd90ba8d97375939271f29319e1f229e8c3c11ed29a36499217a76b3f2fcab5c5fc0e2da3fc6b4ef38149c66fe64aae2b84da050fdf6cccf646df1e8e4d0fc3482b345b21811f671f0e8e2007705e218896c35df89ef68793f6c9dd8c3ae9ed4f24468b9ca216ed7956be852705a7f6d8808b5872ff72abc3b2929c7d815eb3640836d1e89156d5c1b3aab882416bda424a75fe552420431ac34f27eec3980e001bdd4f70a5f0d92fbe0521bd7793d4745066c40a62ecfe446dd3a08ba352e1423609775b3f3c1efce8b076a8cff0e43bdec7c665d941bf154e576bddad4178fc34980c30f5f24ed85e36521d7f9484ad5bfbbd638ec4842b2140ac2398076f5dde7bd89b89af9042c759bf5a71c52f0ea4498708195eca11eb3b2157468d4e5f9cecb657d452bc9a1d7e6e9e0cd0321c66ae29275fb70c3080b1ce49e2f4780638f999c81d2ede3a6a8ff4fceda492135737e3ed91d83ed23dc76d2a9cf047dd2a4e5aa2ad56c5a379fcd1e0d1ddb382380fdaa34d8e4e1e4fbaf82f6fe0b360f63e541d76eb359449dd97a55b283f9b085a18cf331e1d12bd1be746786980157165416a78db8d2b4d85b3c0dc9a013484dc94df687c80c1b968e60db9948eed72d16a6eeb93d50475c8da269a59aad6339527fb9dfdba85bc050ff98325a3220026c87fb0edacdc602aa65666845695aaee27444c86b7abc547a8c95e1a5d46ab6626601876a86af0ef4e56a7f18a192ddff16661a5fca67892efb45addfe9a5dd14732e198a776e32e88d7469bcbb99189233d3c52776f9b74db2beb8757c44876b92a55c57d7fc046366083c401b50d80040e5e91b3959fa366d111d98976ff31a68b2af7e91f73a00f492d970c6914b707ddcf7d7b4bffbfe923ee2c8f242d82deb3e86d9433a6b2aa5143a3884365af54f1448adde08f7bc45eb7c7e34d17d4d045613d220dc0f8b8107c6e778ec73bba8184a39422a3a970098cd33cce32afb8d6a4d83ad9dad3a43fb7e38e1c59cc711b9db002e7a11236d8c7d7565e3cff44c66569bb19076325e979d81320cc3084a1ab8e5f01c08e2982086f47d0edb2c335dd2c888a0932e8f555792e8c3e347d749c0e567f2f4a783f319f886b9f208ac6be0fa6ca6994e3b0a5cd6e15e396a2f5467279aa232defb90e2f612e1468dfab3bede5ebe53a419e4a1bb841dd849abca38c95cce4b1fab8f3cbc5ead89f566cc6a425cb6ad916bf8c7b13a4f8378a3c8fa3bf5e59df5220d28646404755d11a6bfeafd29ba91f44c616899e2835eed07b48b0e12572c66d1a4b6aa814a5ad009c7c3562328117e4013fda00c2520632a6b07f374a11899750287fe6aa435e4034616b0405d6811dc172a347115ed2bb5c2b5fc4b4dd359305480571d5aeacad4ce67f33f43b01883681cc9c68a8a64e8e7e00e56b542092e09105d982f66995fb4cc4fc8033b3fcf62b96f37c835d929a2c3beae26007428be4f6474891c51894f33f8ca93ea7b7a966ca8982d48337f02c3a062d92b6f431aa7b46d51e2e831f425f8d411c88d55656bf3b664578906a7c3b80c78be3b494d536ae40432b2b0a744e92f381c493c5701b1d6e1d09c9c606d842071ca80137abd196f567491918d442dfd92aa90101062c66fde1805f25b6da4c99d72823f4772f047e44d19fa8f3c4b4c5fb2a17bc381b1516c66b7db430636a965bdb3a320ad8df5fd1648933c598bba64fdb87cb71e78565183d8b5ac2d55bc7d4a83121682b51ac152e0148f7e0e2a9627862e986edbcfd4d162eb2830ae4a258d90d64fb3818d258598b361bad7f3369d9eea661380076e2c26b9221ebed91b868f1a986c99a154072a21e3dca2cba0e4de45010eb12a55b0f0eee5c3399e533f116971937c4cc95eb84d1b2f72a69862873f31bee9235fa700d89ff1e8985c5cbff2c5f0ba0a8d5b694e8a0fd57b3bb0e823ca650a73f9f8cc6d4fd33124ef8d67bb7043c657f81c0c0876cfb011101ebb8375a0d521d3a02ab32ca7a38270e32fa1cb50c43d48a7f44fac7be073eea808ef21e89e3524d15d7c38a15636109053c60c99e7423d1e935f9b1e921d5318635c72df65c7a4cc1ac998f6bdf49815b054db97e9d81dc9c7793e1c0926d520859500ae01d34f867721f49ab4ff2942510bf384d896d52317659e40980b504901683f06c45d8215b886b266916a17dd204504686be9d79342e856ffaed8b03360f97581fa158d274d79be6b0af223003d0cc2c7bc452a63d561d1369c7fbac5cdca8fc9e1e2140229f43c7b20dcaeb94a9cf036f0abcd9121150b60670b0f2e97362a36f1d5b489f66073c7b59085cb0ab329780ab1a65ffed2288f76b500853772a0fc7388f08471aef1b79bd107aaeea1d78d3e922b3d65e3d9d672cc8dbb94c5731d655b684276e36889f9092caf5cc7cc807e63a369fa19e43482916f93fea0158a3597b55de327420fea7e03dd6201da889faec6256353a22e73c86594579797b08ec4994e19469fd1f727bde0910d3f86526ab78d11e8e8ee908758061ae7727797fdf15e493bb027ec9cfbeed44e47b49306743b0678896024280e9da5c50998d18c29130ed6877017838a19b1b8a4a1038495c768629d6848ae6fc5a08aa0f3196cdd6bac69abd14fc15f6097a0835340680062e6cf362c071a7325468b8c2d43b936a7eb590830891e7255ae06f6642a89448d8a6f60537c126e81e8310b1443c1834ef61e7781585ce0d5e4f9d94b8876f258f3127ea48863410e766d80b23c20c4de7dbfe25aa50a0877676c949127246b513229a9f40cc5958036055f68ae4df0236ad7aaa7796148857d5e7e16e55c91a8b5ee1ad12de9c1f71b5c5dcb69420c1be858cb21016819efa00bec25e64d415d1a5c2cb5cffbca741f619b72c6b2daf1c7fc1fff281e1fe235998bd4f973a0d9f163c1f2525c18437386def6acb76555818d181622ab8e01995af0fef32417a989ffe198a0567a3d2513f87fb7cd6e7e0e828a40e6f0139ecfce718337269fb406cc1157acecd0eb280171a97b6a1487cede6bd5988c2dc4017d4a6edce65b86224c2cd6e54574f1d77ccb1b301afb02e717faec370ace755ae66158a7075ebd4a15c25a2200a5e16f3cbde1dc5fc0d15f31c58bc8c84754e68571ac6ab3125d7c3093d16792e04e3d96168e0fc4fe343e07408435b24bea647e36c220279aef9679a46ad4f76ef66d72afb4b95587bb1dcc5c2ccfa47b3457b438d4cd285c9dded91f85c6994db196f2a350bd59332f8c59d41c925ea1c743d3aa1e32da72e73f6c2cb8dfcd64cec0bfdf88987a1bac83515356e8685803a3a00e66286a0624298def4553e4a3e4297591e55cbb35fa29a3937930cec9379a8cd4ff7c135bbda734d42ab80539b4b123d2d1f5afaa1d1d8ca936b323662b06f3b527e42d32ff46755f9d801aeba5174f65445611bc36e0575bb925c9a7593069bbd672765a94bef984437041b08177f62105d385fb7cb50d147ef82ccc67ed39d3490277c8176e2b51e7469738b368a6244100be59493f1cbdafc206cf2c9611f42c72fac2db3ede9012269505dfaf7101dee12b27f227c1427641be61fb32b0a86c3279c9f83e66770ea051abc240a5c45c030019a2fe984bc866d5773950dfc6c332a4935c605c491b805a5b73757a064043e1e9079c3055beb34d3f37837a1f523cc34f51beceb7be934277c1fdee210e26673bc7a9c5fcbc935cab0272b811d3687384620acbda0ae82c290bc5e31072287e294a22fdae68f67c1eff500b90c310f72ca4b1f44de760e57a5e540b8f9a2b842baf9d94879b36a0d0004f30ca9e54d27bde92adcb3a80ec5610772a3e7ca9029ed1aa02374de44ed279f5e4779f729707765e3c1fb357dca1c2e1e57c88be3e5cba5e74dd8f1bcb96009aed68b1b65fc6b55d36618a3214c092869b3552f9cb8afecf95edf722bb21abad313aa4b624e8419c0d2ace7f537d1283141a1d8e9a8126955c6848e6ea2170b944fc292f231fb23a4ee36c1c53d3f407e6ef791c1c6c32d5e8dad25d3752dc1dc97e7eb61dd21576943aa358b240563e0091e480e17dfddb09227eeb0892a5715d3080699b6fc42baad0c0937add7c8f1e620d4d1eb599c36f72867f81ac340ef7a6410772b531f98ada954f46f7cc60f8e55ba186d939365507075a4ff5030c57d51aadec1e13dc876318dc8205a08addbb52927514d1b51a3d3c5494acad8acb76ea2211c03986577ab4f7075fa3625b28742774f3853ece9aa8b5ce23400b3c1dcb72fc4d5797ad424d8d533b156bd03b6c3584ca47b0d5c7b8e9b7379a90f61a394bbc28d1ad120aa0de6164aa5289499eea05ca7fda97d06b5e97c405445bc22f490ad123d0810abba0d5ace3ce2cdc91b0a798bfa3bdd1c06caf441fa64cd8c5cc5c24d11f1eab5af6bb43560d525ff311d9c187857b4b63135bf94be213a2c7143e1f1ab78b04ad18448edc26bdde4d8e3813ed74efd7f8eacbe2e800a8675ce0a6118e4f698aa5006b90b4553491047528bed4d0d2ecdcb3dbf346e1b82cc94cc64572723499a88ef02328dcaaaae026f97c6da839d5b87e47af6dc76a8e716c4081c89e77a48653cafc5ba14706f19aaf15cf1b583c02c9930723cab17d1cabe46234102c6fdfa7c478861b1bf2c443be7dbb51e2da2a7bfc803fc7e31f4e2ddcd4f2dc2975b70e4563c781dca6bdee3493c79e52441463f88fbbf6e5ae4325adb9b7ae5cb795d8184548acc5e730a81ebec3d74b1fd212b4b655d6e0a71edb2a0db838eb862c59c408b603ee7b78474070eea6561fe8bfad14972542eb1b29ac9f5f8aba0ed900d623845e8ecf39137970d23d656844ea990795b17dc7c2a54d70b2dbcb04830e9d988a4c85866758c128a34528528619d9b485691da74a59a3ae5d6e5f03d46def23be6f1cc87fb6f30cc71f639baec73c62af6d62c9dd9c57c2aa9fe8b440fe0f470a6132762a78b002f915660c358699bc5d06e779c33e2120ed6dc9f4cf561fb902e927b8d879b4fde9403a1789714aa3e5752e7ac0f643572fa11772816ef3f5aabc33f4572550e546ed70c517ba0c925114f45a3549572358e99698eceadd1278d41eb07d97b95dc048b45ed5c2feb988b8da504ff0cf03247e8c3868660d948e0f8942e2fde06941d77ed403790f282b37433f4c58d819af885c822f66c2f9fc19858c6022d312b979c1d502d94f7723e91041a2ae51fcf6af4fd4225ac16c11f9ead4360e52e79ce1dfae02cfb93419dda65c543c927a25f16cdb2f260117e1ef69e1e846210c66ed744f459b9a3e1aa169155b25b673603b9e8e5ae6f090f4c9e1eff5756b9d5a6961d45c060bb23c22e5bc2effda0bc1688ce1ad52c49b48070d7686ebd2b5afc62225fba3a1e5d0fd38df6d01eafc4bdcf1265f9f89795290f3fbc49e59cb5826bf1118ddedf9c86b6b450d3d123f843080080c35b0d1735390ddd5c9147a339393d9cd29c69b20dc2570565a6f845e0299209cc40e9923eecdb5f20a62e5f05fd40b61c1bc4fd8c39d14e9919dfc3327d1a1a45b27625d14efbf19ca7c49523af61b8b8d3a0ad0d42eec35bca799a2db29ab86bfbc2aa6f395e0ddcf29b7937c49c914f9297e2008c1dc46cd447f742db4be0abeb3693af5cced5d3cca26fdba2c6fe0f096fa5d4c64c90bc719bafed7f4eea3497950d559ba73e1aa773a82f844f0ac84d9c7240a45f53898c584cad71dca7930502d408f542dc311ddf0ac93ffb31bb6e0506ea589d812a8b99bb0b276a6817ce240e1922b245ac48f5d3e8a954717e230d89b73d4110a2b84380b11ba801c02ddba0be540e2327475f7ec876c162d17472802b5a1d3a29e84ee8e05d6fdd0a2c01c2727f21f55cc41a7a369b2a35de57dac21fe6b7bb63d398bfb5c19f37fd8dd8b8d9d2770271d941c64a852a792c331d5eefe34e4aa0acecacf550cc9a7ea630ce7b2221efa1b4b8263f59538276d103e777d85ea876bfb332ed13e6dffec2d520a296244b4ee77a7ccc6dec39ff3ede505c5888bd78a446c8fb2634953449488c4d360e97b5a0604fd70f8c0c433f48f50a3b1e1289f49001f158040360fd5b8d42a4991ca29ae687ee3118822b7f8f78a31ab435df193a54d1be84175f0a70c933c5476193719353b6529632e5a673bb674dfc14efc40c1a874540627a6405dc7641bb00622265b3441c6f80b4a38d92b85829d90c4f8799afce8e6aa91d88fce20bbfe0891cb721b828b25611f38d469b9b6f8911182c17573df2c55126fd68a89136e882f2197e4cec51742c5b816e930ba26b8bb279294fe4c6ef82d194b20b455f3bdbb34121e8402789a68a3b7d89db2cb2f80b762b1eb0bbdc7875ad7899769633306645763d24ec34e04f58b9938dfff4b37baa277d35f1c0e5000e38cb75830fa7c8ad4cf5ad0f2ba6a0697032269555ec9bb8172f0e735eac05d6b971c9f20986823a7f94b8cbb2831359240c8fc66c601300c871a1c771fc4ceba1f708dd242b89bce30301f98fc9e1c0e126553835bb668d072a9fa617317ad2f0a0c348a5e1823cd9b8fc3b9bbd0a70cb1bf96eeb36277b120aa8b63823dd087c72b4959d217c48de089597f085bd2911fbbdf36412a0e044c96fdba9fe34b888932a43c37cafba2f83f02e5878da5ac409c6a1486c37fa86447dd4dfdd3906a7a4566507a44c7da1db6d9cebb91e29d90d0341f09ce88dfced50ce86e9e02e296373389e208489aca8ed20211683773f383217c6272a01670e70c49086dddf0b962bb585faafcb9bedd943256b4319d57223cb686998df3608f695e9d5e0483ac87c5a9717fb6da961ec8380a3a623daeddff3ec4e8a4bbf2247925175210cf49a52f1bf189ba555a9451353fefd30fa56884ebfbc1a706d1c73a3542f891e8841dcd61350950edcef7941a0f70ce04b43d6bd4716235c21b6aead244e240da5656b469d1c745aae0d56498eada1546512e6bb29ee247afa4a80add08953acf3a713ffe8aafe776e95f7aa0a8228e24820491220d8a57fb31d1899638c52b850850f45103ae59d2dfa8c38df917f39e11abfe1597f158dc031a223d7bf1ca5816db65f02579fafdad0699c4c8b844ea71cc1812904efdff195d06dc12b4000a69b329a1d02116c7732ddbd01d5fd74375f9a92baad44ede8950e4194682f82266028dc8d70fb7c6d7daac65130e878b594125580e291927252145c19d4764351be55f81ccdc3d19dc10795d5e911f8bb94fba8580d7827e06bad4ef7e6e03c677e9e5d740076fc02161c67f0d5477da316aade553a274909fd2d1d4fb04d2212a74bf797d28214dfd82cd22cc960f3e52b4b4ecd8e52aaa6a0169229af3a78a75e2e00867504a1c97770e2f862facfaee4fc3e3460e19050bf6ceb526a128018d71a6bad3c0e39ed90a6ece6ee0c3cc937dc5478d16ddd8a063ea9860c44e16f5f0a347bf94d2bc39291c75657e93460c225be69bbd47ce1761223db5dd381dd3fea87c51d7d3bfa24d1591b67f1b9756d92353b29b07da381720d62e950b598f19a7eee50dd357144ea72ef5bd7d3088d52b33e2b72cb086f6db2cedb264dfd0c0ba717728c82630702a9530d61486fa95fd91efb580d53dc41a9f7cf7e3b8dfee7b37558cdd2765155d774bba32d27ad9e22fbaf52c3de85df16771dc73f4f1df9899effbb4aa151f7bc57a05f6043ea0f91b156116b2d03b2369f6a0feba427228f88bc7dfa7ebcacf56865532b9f8aec2312e99825ff87645ca759d21d9939a6c57b00c4b746887561e602ce41ac4c87a16e53a849cfebc49a9b0495b54110e51a71379576cf4a19526196e050ce6fe8424901a710c3916b622a676bfc8303e9ceed39323524ba05ea6f3f4068f34bd347743e1f45562557c260059567c4704009169c5b94ca93037664231e49b22a34412b552c7b69b6a80d4a667d467cbd7f78b4c58c15004dae9d5db28ddf87ac3893666b164af877d7af4fa46a73777f5feb654915685765234aac5946eb1e09b32f6331a16bd863f1912d2166c3347a3cb3e7e88be5d97b7912f74ff5c67aade89e2d1a2e8a64b375867050dd14e63cf82e0499f1a9f8c109729fab52ac966e7f6a0b3cd9b5b06260ddce081b62606b573cf44a5cc3138f022ecaf40aaf46124e51a95982771ba80d6594e04f10b145e6cd5895c1c52db2d042a84473852d1120bf6a11d6b74b1604a2773edbfe96685983b9384e154aa103ca4b41f1fd15ca1df92f7d1369f36e6db5933a2217dcb1b851ab2cd38b2ff7e5285576ed0418c3c1dedf93356596c260052457b5214a3364ffccce796ef4db498ef75ec38bfc9700d47dcffcc5254948349383dba2e2e5fd73c9cbdc8ed65c4331f0d110b4e7e369a362aee56b273e4059c4b8b2b28af35163a8cd1dc57e617576e8932396ea6a217f7430b32d18b091b155163a68f76862395ee5d36bf93469dc796b8342772e5e19f708dc20128ab754833b63daad5675b234c11bcc74e0c97f5c93434ccc1eb456110436e1e571435849fa0fd401f2bd7cf5b0cf5493473463fbd9ab352a9606b756a149f955163c289920ee5976c20c0ac4fa880786da0e7d27d63d3f64ada8873b6c312224c5026e1f75332cae0941092a85a3cf4a00b5c45a011de348f585d4247876369ede24565de387a291a3d3833e018501110aae55db4e801b02222fb2b045dcb08dcffe40c62111a09f4441aaa882b23058037c87458eec578879f509632bf746725faa1c11db1a92d0792bc71653b6ddba966e8c5519b32a81c7c2396a9a9733da9922acb4d9665064881c75ec191a45a3c26d0136967561537cb63c33c0ef08744d3c4e188f7b9f9eba03d1976f202c94deadeb5a69d9d8b3226bf1f37b900ad3f888a8ff1fa85d313a993bef9bfad00fe46fbf899848d914e691fb7847f082ba6a4e4fa91463252d317eebdda864229a7b54283e340ed2300db7f67582f394ea0d9bb0157fd4ad6e17918eb5b52ae9302395fb9e15bb36b1a3a73dc2f6ca3c123e621cf32e6d33bcb19f4902332f0dfdd9e33a3ee8215b81d1cca78c818a3cfc3cbac003f7d7e1d5e7615863701276e05db974fc636f9218688e7bf4bbb55fd0a0194d3aaade648fd3f459047be97dc610918c8ea0c606e5fc0bcd12213f8713868b75a4df46c6ef7213dc484f115f1930d00e91ef3436bb92136d99db9861e19aeae62c7a64e493d812b9e7ae1ed15ec14c868f5c0a51c458193ef2a6b1c301873d623dc41aa3f21435a4597c2924e931e047873e982302df74c4417b622ea73bb78c0cf192a9a12419c8fc19f111e622cd0eb3619743b3a693b0c3d304f62eb955beef1510a081e6196df7079a1117b6d49351f77a5e220fc1d6cecc45b3d6637c77066ea38e84362d7e67c918067a0230aaaef276439c1608f0d44c51f5d80802bfa4b7878086dc37049e2cde423e2ab33af544e942c253666d0dc76cb6ff16c4de555eb5262a2d9db6dd4499c33dd6d36d9790c1d7173ccabf32b115e165d7f97c31836351b6dfea40eb1be1b65f54156a1d3cec43765f2dbf3b68e76bf26cb55e75199fec5693240717374ffcf9429a0f0b15f402f70bdcb199a334ebbab8d3cbf475216ef6c6e5bd9b2c90e1d7a15d77b55cbcd94070736f3044d1a9728b77fcbf2b42a5b81a4b5aa2891ef20526e133c2da8fd61db653aa10bb5ad0cce9b8be8ccb716e227b4549e44622225157fc611735472108536f951ca4f0c6f3332a449df79b01fda9f94ec8ce4b47ea1acc4f2fcce22f98f46b0fed85a3fae408413b2556583d6b3e8fae9f9a1f4af460a263f0f43406c4bce2c0892ef34364e46ed19f2a0915583a02cb3edfbd9ef501f5c5d7fd332e5e1bab5b725a1a9ad1a822e47ab3b6ebdc720d198548142c4a07ce875b34930eb9d28fa8cf0e38c2280db8cba711e3f22043d7254d03c95febe2bf0a85a818543285b77752269fbab5e36d2c55a1c7880f2289d4fcb672af50f2d0e7ee7db82978de5e66059da8834fb098cab4d8798e7b438741c0042ae8a776e92f8f78e02811ad32ee2e73e7b3050f529b1d63aef4df129651b48bf9140bcc1ed16b8774d5b60a46bcd39f888949485c05c8707ad5f3258ccb39823f8b31c009586f32e69f3bcd1d7b0a7008a047f56a602ec21b8fd8cff4d50731ee57dece5aaccb55a57f72ec09ad73eec6d80ffbbf0571da90849c699bd240df4caf900775cb8e377aa5ff0303acbf89cdcdb76b41ff735acc7194c9d6663c9c08b4c111b5200f29b7aa31c55cd717c75ad247d69b6641f04df470900876cc35b286513f9e1ad244c55884a6a2c40e79708044fe14f6777ee0cbd980a834e0bf238cfa387a4324d17a84ae034ffb2f8f9242298f3465e37b6cef8a1fa658e0c57f53492881d502f2d77d872cbabd7e074c482e2712225d6cf131f47de272b720034c32f989bac4c65d14fdda636a7e9f4798d03adeab3a9cf94fd7e248506cb403a05a6a7a8834f16ebec732cdf4ac660f2d9ef50680a04a1b86ba0147e6fd290c819a13a88a560a6a984a6130ac89268620c594c453d20907cc1112b3b39181f5148501583810ee3bc0e3ad87d6a4b363c5886abbe63374e5f5c5bb1cd8d17c25ab75d51db503075aeadbdda49185626fded67374b43270379b3d78276d1bb4d121ecaeb69bb2896b98a56348bd18abdc0f8fb203506e80c9a89e1ca38e716bb4d57beb2321da80788029b9a2dfd2fc09ddf1630761a267b1eab9e209a1b702741ad65a98617dbded68d48f980942bdc91f707a1f186b8c0eac7f6dd87c29b80562ac482dd4d413d7ea4bb86a6202cea02145c3c5e2eafda945abacd6caeb53022eead8f5106a3243cf14868712083c7c76d054ff6f531fc1b2addf3fcbc62506031492cf3e90fdfd3f4f52eebc04d6aa5a577bd64b975cc5530630f444cf094d086ae8e1870ef33f50d7c9f4830da07c8c1cc54c8b8e21f6211351d923e8dc94b359cfd85660cdf0a801ded6f0e9301b0f4b616efd2e1d9e4148d6714350effa94abbfa0710f2fb93902eb6fa547e9a0689f7b2cfa6ab6c5a00dc0511d50f3d790745ce3f6a6f28f037c0f66abc1ea56f5ca7dd8e8910cc5be08f9b1613207513c3bf8acbfeaa3bc9d765a4316bee1cab0420d26ad3a3436107ee6b9213b61ab5d38a4a53a5393ff2c4c05f785efabce50eecbd0926fd7f3924e2ba5d16cd89bd5ae1543af1a1c9b4cf081a552a45c0f39ed539bf7484bddca64f206d12790973671bb1ac888f4dc018d281b2f970baa7a201ff2bd32e9d808089e713a9f8c7fc082eb670e3f8a7281a59aafd4845c2f29ba4535818b45e8fbc90036aa480b9052181ad92a39a7d4ceee7c0336ec1d8f97bc573104a7810373b5817996a884abe3bfbb0ef7bb283e381eb50ef7d71c36ffe2fcbd4f6e2b9122cc61f5499075abef23ede96fa20791b1e06d6ea8cb04ffc4648a60cee0957e6d7932a6e7a96f0246d406f93487e52781058a3cf3a9b238c809d7ba19a49ed04099525ec7d65acdf650dc64bdc67ff0289af6655d3b5a5aa362554dde0a59fc85dcfd237480869b04070b189ec04cb68e9eb06d6472177379005c41a1a1bb08c846d92a32a393d2e83663a869548a23a211865ecc896f41ad7a1676611242de82cf663e81ae10091a8c5192c8770b196d753c4c0751084f7e9ca764585ff485d3b6de7a5c74b36c8c1f3696bfb8728f96a7ceda1629f87aa258a4a39415e7e07fdf3d40fc92f8b6f1a09064fa6d13407b327b9f204a03d37733e0a1c7540b39ac7dfdaf4d2a0fe0771dad39ecadf754f193cae7a48cc7d4b7b2a79727e6edf9a04cafe10ff6c6434a1711de9ad4cad01b76d269d4bad6b59cfdbf08b5d29210eebb4bd12203b976f2f58cb7a82e7623e4a2d8a6f6f597abf210347853474f647503284be3f4b0184c16007215f5482e06a52325c75d69a90757dbe75d3b72d3775489362b1bad9f8900e0730379c0cad66ca5260a69c09ce93f43416b5d216cb1d748be9a4389bc71a3b2574c24af1b9ee5a53fbeae9067294384aeba7521d2bde179f38cf2b6261e865b2a42b9230a32c703e8adf226a9bc82783142e6901066e3e86afb6df70ce1ca354c0f5b8d9ee03e063f45a6b15f4d2db98a811ed568a29960573e6309bfa7f007e6be67f8dc9c0b7bd0dcacec3de93b6cea89bdb3c2112761ec451532a0082f72a8a2787a62eee0cb41b64065260b0f5fbd7f95eb66f320c826003e0fc3f73395ce381165470f695f6ec38cd8e540fbd2e0c563fed854f452a26cc30b55aa84e8fd79e9569e8905a21a630972e782f1c5269cfdf77d22b954683417fda703ad9101b7a61b59e76f24a9743cc3e2fca2cf693e9f7287e3c07e3b89858ff7325455ea20877560f1626dce064def4119c89857dab026406db34af2c52f86dbf70feb790db7502c97d19db8b98f052c43732f0cd4cc3872c55adf0d7ad843ad81d55faff7c3f2e68130df7abf52dc7b93db82719e40d71dfde61a59d1ea0a9c1a2b918f396017d0c997dc7886b974318c58e1cdf8a628c1f71f70d6edadf21377dea0fa379423605bd3f56a6e9921c2f72747a7da2a9d5d55862c8d41a95ceb3ec626e086fe1cffd47a4bb0aeae6c7ce5f253e6b862b0def3cec7b9bce5d10da41ea424534d8957e2a6dd7cfd53df8d3cac30c91d6c21dd65f85f6f90c6303ae4dff71ed48af7a6c12c71223778bea91d341a242cf9e6a86a200dba19726f733b856881b4606fce175b101f23c6613a88c309e5a852a54f7febaa47ee9dccfc081cc06a2b3681793febfdd5e296227a4335c3287477babfc041971cfb01448f0e6c071161ceefe44b5696e6abcd66f25c766deaac51a3ec15fc462b5a084978d0695c1c8407c0bad381432a77094490b444c6be0ba76774f1c7c3c3ee5206cc2f6d1aadafd505f6fa231d5f075e8a867b992c18747fed42abd9156b92d0285f7ec32666b24a7003a070b4ee426876fb4fe7330dc8ea89cba529d85772c293860731b1abf722704be67a6a8a6be296e1fb809bd55b4bf56cacf78a8b9c4a4683329cd96e574b44c4ea4d4eb52809b5d48da4055a0fc88d1e87fada2e4339012189119c7f87e682df9a08e016bce62b0e0063877dc9fbc94310b7abff378256b2e3abecf1f3bf5c98644563306279a0d2c224612f0e777c06e9c5c7cd35a4663d2b2dc2e0384ed8a4db707520559072b0430d193d9e966a19fb08eed0f36e57221f206dd511fc4305b945d408944c64270562dbd7121702748db837a0ddb97afb9ee49377be35104a6c0ceea97ff0710eb9f028949dcaa3a7077cae8bc6661be343ef06ad7df18f8d2e0535ae03d50f48d3a41ff50749fa3c684e36096b4fc3e8eeb1bb2402da4f1a5f1bbff4e0ed444fae024879546ce54926fd3114a7f0575c4595e80d0bd4b5b96e2f1c48bc0a2e72192977a7e0240e8dfff0e1761ecc1a40747c8c133f46957ba3f4f8cf89afab53fe593ac4a4a5c7eb973734ea63d6b00716383b3ece4323800d4424cf2fcdbdbe2c53bbb1593d9eee69944dac5fda5b67b38c3ad449ae3f73d7501ebf29fb90f044c09bdab5d154b0adc334be905665f039deb711568cd49c3951fc408021f47923e035caa31a4e48570c0a528421cf7d5bf14981840cd9dd38c8c6e3cd18999cbfd1cc4780f83d41b85382f7ba6b8f19e64f4a59bb816f4b2add9af237baef7249174ce0fccc53526ca5c930996f14e5737fc4fb796b30b95b577b44c25dccd597535e9b337116047c513aa0267b3aebb9b768fba2fc3d72144902ca657dcbd32013e400649b8005a8b21a7bbbebd34292af5dd5d1f56b8aeb9d797ed0ffc5e52b308d1693e00856bf2e5f5b0d721fc7dad60ff0d8aed902b94d3b0468196f41557821576eef978547e0659392e28b8bd5f6fd8e169e1bc7b5bf5abd77fd49b3852740d20592be813e4fdfe626d13693afc25a3f9056b66d432b71e478a5ea78e3d3dbc889df4255eb638652cfd9f3b20647cb8743cd32486fa1073be14a6219a90eed5b4186b298aad78c92f466fef586ddd43c087eb42dabc39616e576df9bf096dac63be9065ea535f463388c3c54a6e3bd614450056d81e0ef7714b2d3e636f0c53cf618ca7f9077eb8c48c9d7c671b9c48f4ce9683548130310aacf61126fb983c6cdef5cd483138b7b7d0d6ebf7ed49621013367ea1cd6e73e026e484df7bd8f3a0975a3902233e3735bf468fef7608a22df5d37a5a47f293cb7208dc1dcf6d5b0e6f6d4b6aa8f65f5fead42259ffabd27c42aefa61912cbc7024f2a671ca43e06a7387c7f42e1c0ceb3568c1a2dd48cb658066da18f6d3feea467b2419ac845f0fc13176685b0d28a38123f80e7b86b9c2d803f9b7ff484ea9ff37fa26f760ac8d8826d1b736225a8fd6cd39a457ab0fd65405cdb146e78e534feb597204cb966b28895a3e04693dd06e9d227b5d08e09eea2891b76c5f2cdd6a49c5ef29b7cbeb783175a812fcb95453a85ea3638c58f852e2915b9b03b36509d23804f7575f7019a698cf8d1c9a44c02178864876227a85561642ed27c48011b82492bc172dcaf0c504e84f93b43fe91ebb41ce687e44a7dbfe0d7db85d51d43518bb3fb8197e8d58b45b37c9204153a3a4a8f5c7c87276f832d98f5b3bf5ff24bb1cb966e6377ed35a7358d215221386b68264a89e73c5e05772456d0ed567ccb2d74a7e39e49c7084fd3b3f031e7a13e0991dc2ee7dd3ddd5df560f89f1ddf8055e2c4b68e6a3a9a0660e28140e67737ae22f3c571aff2352db71b3d49ceda720c0939ea47bbcb95e0cfbd04a1632787ac5950d68f7448a7217a2c211b164da47c23727e429b387013e5a1d6c72a7238a17ab1a93d7d7ffa0ce91cc1363a749c4c2de433a3b7bd6d5ee126f9d3ad9f15272b0e0ec9f09a83786419472cf6531f0a02aac37e75b882f3cae8e538da8546f705252010687f518c8ee10a24f54d4c2c26a49129541eff64e518cbc52a3f8c6e4929c162d1226800add6c8a55aae96f04b59ad046fbc99c26177315d600198eecf98a7d78f2cd6377c6b714f6e143104192abd1b5c40a17fc3e494bbce345e4ce53a78bbe0f017883d15f029907d7bc1eebc12ef37cd38b57cffab980ba3c59e8268a50c5c087d04f5b0c07a65e0430d4e3af861006a490cecf58938c12e54d6f7819c0593f68ec0379ec13b2e2758bdccef65edf06b6fdbd1b876bd88abdcdb215f07860190f68924dccc92e936fe4c817f9026f5c28df7b07e5e5fc31b9e3627c8f691a4d1d8180e87e0ef96a8d313175bffd560e1248a86c8a900a685e0215acd5350845b0052cc29ed40562aefa0be1638f6766cc9fb69a7576cae7f4fcc341fe2f08ea1e1868220f4463fd42a15592c8b7844a5189c85288ead2d7e8ac5560a2e494283015dc891b063923abefb22d90253f0ddd6296c4cd316997eaced5e5c885bd4881f06a41da25e1f795adfeb10c077be62f463d68e49eb5f95b3545ed29cc2222e11f7f3af69b5df4e15fab351223c49bfdb0efba6efbbffc03e40c151011b73030bc428538b4c787dbf22b723f24380dc81cb3c9fbfebb96a1d0cdec62e8ff30ac4b02a32d182b62151300e802c700c99a7d9984f69fced63857be18342b0aec69db08eea773ecad6025f4399975b41b6532e29be586edf73fe5168aa65ca08a8755119d14fd882c7eabd2b84db34ef5014bd40b0250973935194949a125ce06dda6ab1841d776e7acfca4e2fbcdc158ddf3c1835bb0f51697e5f098d41af3a8e5ae47932f168cbf3db85913681ea024b779124b4a424af65acef4c2ca6e13d1c911b824ef60d44ff54770aa18a9673752567bec8cc20f76c5b5d03e8b8ec1a4759231ab53d082df988739f24097647a260df44641ad794ad76af838296f7914e206c873d1adab4d6eb6748f92e16c9b06cc6b02eeb3ba6ac0c49adea997b69747e02a3f83d920a6fac15309a2eaf917439d7b81bebb5724689d1c1cf135d0e309793a9554ffa6f7643a77fe1f0769385c9c700204b94af0bfd7aff9ae31d290ba6d22c946d3edac2f5dc8e7169715f3e01a37070d02540fbeb9eb2af17b5f014dad62332a55c941247637ae20893795740dc76939022b70e24d01040923c601558a43a8f0a9bf1eb78bd3bc7e6ce91515d8513c0658d8fe0415dcc101da274014b55ef849187fc2d3afecbcc424ce9a3b9ef063dbe2d027061613e5974c10b1666708327ceb9ab0bf08b3aecc39784afc242d8cba900fded94a67894b20d2549207182d847808f4529befe6841a7a2626972362620e3ad3129314e93cdbb41af27a0f9e7b614bfb18178adc21aa0f8359a9727cc9c6107cfe96bbea6a45610b8961952754701785c532144a7ba0d0f00ccce2e1b7751eb7f340767577d65ce760ecddfa2408e9b3ac367b4773740947a052f56bd166f0b9ce1d1096ee602074bc697483afebda922d2831155ccf16fea41073da87d96f1afba742973c0910ef28a613ad360fc011290a8fd5073a7d5122e9b8fa6c8237fc9f7a7a6a123a0d148799ee15c49c493170af8f06f7cb218aa265d730795b294e03bbd01afbd61bbc0331859934dc953b09ef881540bad329b383cedaa79d66edddf117bceed72a7e7a3dda1cc1b6ac478fa8eaa2adccc988dc6ba0596b5adbe8c373679587b9892308ff25b9b9c9012ffd78720e32ce3280f33fb27601e6443c543ad2dd44e94784fe351a679fad60c734af8784ebf25522e03b16f837705a3bd65178181790a3fb5a4d6b2eae21e4a4345af82a00173175ac92f5efe630cdfc02c1061b1ff13f86c6ca413552955a9df7188f9fe79090e41ac981783debd9d840c4d74998fb95d95115e0e1f395a45337a5532af06744097f043e9c4a5b1a50e515c0ffc9426579583d93b7ef6e20081508afa3863db5134d84ffb0d4c7d04cc6b48546e379206dea2d7545e6149be8a08611e04c5868165f8e8a0fa4c2d1abeeac20ba7f1db11085f8f54f5170ca588deee900192e2e42dd3592c451a1d1def4c7e876b4d9bd35e17bba430e68b874731ab15363d8ab3f09b73fff2cd8a3f6ccb253c8590a394a36b37135b299ba3950b199f763e806689b49797e38b4a85446bae5a6eea96d964fa362b0704d3d517a510326145f481d535e8c2083b02dd74a1b237334c11e5b67114a506b02d444765147ab843f3875b24341d5aef7fb3d5c933301c140a3475ecff2f0b78750a1073e7630fc70c20dd99abbe80ec97d4116dae13293988f74d7edf10c3e824fb25dd65e312b3fb34e19e46e7cb5dce697bfac2a6bf8ac5bc0f3dfa3afa770faa9cac808ee41317ed121af18c2b46c29d72eb7b411c4a6d0db31862790bbfae23aca9f366f533d31fdbae219d45c299442b2833fca44129e11deef697acc7e5a1047d4776250489fe4ac125737dd4aab18ff0fec57917d15b8770cf0b2f1dafaf2e6b239795d9688f2c051b4694b240ca2fb417f9e260626eb2d4fd985cfacc0ec3982522487202aca4a2e0c97883e8fc487ba160e36b9a99bfc3040ee31eb94c67eac8b2c8d06131873abda40b8a45ee7efc0838a96d6146089465f0c5469adc9da8256da7542a86de24ee1f1bb6fbfc5efbe80bae8452e375b01b8c2c944fbc0977f0fa45eeb69736481e0a73999df172b90a39cefa145756dd333bc0d21ea8c8142725fde47e601e31d29da8b512b8265128013fa740655a6a8be8bab9eca155a594ccba09685010bf09d67371c86f1e463ddfa73d7ce598fae21c9b52c8ed6249dccc9e83bdc5ce51b0f98879b9e39708abf75fd05c800a399400a64f673e8b4e17ab3caf3300e11a4e606b6e5f75f1b54826a1e0a714bcb37884f468a4394ef888f9cecebb487b7f0d2a35da7e011ae51d1ad2b79eca8bb7ed6deccf8cea788ed7a516f3be88a65ee5bcc93bbccb5024ea699e5f382bab1eb426545001f53ac894a598473f27bc0f841b9ed69e64e17b46ec29fdc64b43c16b9b2265a5570fd405470df0ec79d09c7f5d759756034cc04b360ecc0f9811998584608ef5bc778ef52a3d12f66a42db130ea2f1ebd5c039960825deea60c7c9504de14268cb112a00dd0424d59512e009f047ccd8904f6c3aab7fc27a6b9d07c221946f9ea618595bdb3fe3622f50c673c7f5150edda8fb16c0bfd27f906e88185b81ce38acc8278e0afec250a2f80ddda8f42a33b61de63d438112cf2ab456a11c6ff8660b744612a5cf57cb30c91114b09fdeed85f02ebc5b758f41dab7c6a4b5cadad34e63414acf45a0438d1bbab22818dd989cbd85d48b35eb15791c7634340cddfaec4d8720271b56eb1699d552be3b54f45025ff2d0314a563c5d7c839f6587dad5f9feba46036843cb41e1c11d39a9563f681b506538c0d55740e0bb80fd86bfd1cd826dcb0be9ef5e3c0834254f3ca085298098763cc4f71c8e660222bb934039cd1aaaeae39d012d9d26329d636aaff7b73ff07fecb665457fc254de25b53453f46b4e745b1fac2962bbb6889cea2e18794d8982d842a0cc2b35ac80158004bcc5f60674163542e78fbd20e534ee43c657b8233cd6aa42e1fd612d6aa8a4374feb6eb9a07ece6bc440c2364e9ee82c73dd014f606e458e36c41a2444b7cfa9237c02df9657f837770fda8712e836347448d02a6473b23c5053ae39cb17483f6bbf7f555c1b70b8f5212a6418a57f6caf5e82fafb5daf0451c1cb07ee8bf9a1fb47bff55fd40fc55d233bb5210b094689faa2f0dd1701b9d102ee69901b16baf86feb0fab476d20136c972237967246974b81938bbf83043ba55ee99908ccda5004913169658ef88c0e5819f671fae402e96a6471e393542f32a99a210d5831aa233523717bda039a518ddd3bb760988817800838669456bbedc80f145ec6a44ffbfd51233e823f3c471aac9ebc4812f5557e5df463f7d167d98a10b70c96e0e6ac51975097401b196d3bb64e84f773bb1f4cacf7f322683ea3327386c96947f3395df278ad7d545fabcff4b439c0c92f82e5022a8948c7388c80ba819f776bbe9c3de653f580d22406ff4e477b24eb5742bd9205d931a1b81dae08ea2b7e66a9b26ef5975ed3a111f80b06b938f99837be9627877841dd84de7bab96ea027d299004519719224c9acf32d209b20d5290a4133cd78bce21c2493c6e86a4853b4ef23e4776ab2e87c7a25f978f2261197c36481fdc951fd325728281fd2ee3082edea0bf5f18cf6e159c382b25d9b87263589f69e5ed12f8bb561df90ec9caf5a6313c8df11b86b80ab211281a1de50cdc8891031333cee7c0239b16098bd4d79cc6d282f5115383d268dfc11ba18d5e684a66fec3ac01af0942857f30812f5d5c70f7252ecee7bbc0f5c7fca0e0a420941f589b7d06006ba7278e8d542fb6637866187dc499de210ef25eaf72f064f90ee2f553fae34ac788374ef8bfc94ee246ac33e61bea35c63736bd89df95820387456012fb1085cb19935ebbc13c7d49f8fd5a0aae0c8ec45294eea90e68eb18d3538c04c7092da008cd60c5842a9eaa9843bf98b4c63fcae8e69ec5ad25176e5065ac7770a51d40161ace072dd3423b0430a88a711789acc65744409a3cef6bb53ef2aa510a4a1b322019b438c7110087ee7dd4ece97c994914592b3b1051f2b706ce5d0ec861f3b7ca42b1f8674bd91b8b1f803ca31027bc58fc3b3f59eddeb21cf0b72b2618cca8fb7c96df7d0ae6be862bf6d0d3f6513c16379c32bb3d607ddbc02535c194feae13d228238fe898072666b105e8091583d03c2b4aa32fff018276da8960bcfa9c5d663d2c7851240f35be89026223859134b8077fb5a55afbddcc85cb4d75941fc2be84aae196622dcf1f5baf958032a885cd0e35484822deb7f00765ce2763791d06bb90e53539a172201ae68d357fff4cc440f8b28c9c2e0b6cbbc78bbda5d1c3f5a5c2a05207593776ee7d2be7d3974ad472f3545c896cd213e9ec07fd97eb2cf41a157bdb3f7ef59bcd8f950d20780044cddafd5a22fe58e3f1f0f0b64ee0ee392536425fdf0453298d08b33f2fce6c9d6fa004165a076f546ccb175c7266cf21b014c5a2abaf3d9a2022396d47005a60362481135dba49d987e8bd3bbc87b8bc590e4b5656b0f0f736257f1b67068c810346f548226518a462ba3141f59c277b9e51ed51bbcf21e7fb8a131d8d06b0bfb171de97b6ac8355984424bb608413ba6df6481f80e2a01e3a075993f5b874ae6965c8781d16d317da9704dcde450b2822271edaf8f3b71e534578666c20899da7d75a7fb55f903a9a6a0cbe58ca6b37ff704bc73a4523fc6c4b06a07190764bcb4463e5a711bac221f3fb423b7735e524b5867d54177110987eeb371297ca793c67a65d6cf08be3a3e83380d99d0d57c4fbafe98af0f26de510593e87495a879dfc951a8b9380cd5d14c9d615acc439fb19748869e6a46fe135a273c76f13536259a7a0e238e3a47b04b6b245f0652d565c6c670f0e77db63de0f34e0d496f40d2d75a44f0e9022e307f625131b2a67e06ca5afa87c75bf46140b654770683914ab7778f71fa1a6c0fab643c818b43ff95c7ea00fa92c07d5b54927fdd2fea28343870b163da88edc943b8a33ac372f303df8c18932cb0c60684de63289dc9777d469184b3e21d48d9dc6c462f12209b3c9ca362f0be86d58f96ac98b90f710289a232291f5b3bb71eeddfedf79d323934759acfb105345d02d3903ffa3f46066c0f8854b8fa2c4c2e9023451ba64555ed69b0d090a30d82ab4167fc2bed42b078a3c9c221ed4a41f08334e06e6cd7d08ecc272718651b3de6ad748a0775da33c935bf986afdad3c9403c8192197d6e41444f9b6802351bd67b4f2d59d3a188a5a37f8fc30bdc88b88c5a9486bffb815f6cf4a2b5f0e10ad7353f06beeddb461b24062d14a6d6747e36dd66ff88b7400565f288a82d13a1494b5112b11840d848a3ca4628b3e046d22f64b31f40823a0e386bd508db26e84ce15b86b2075c0584e38329ed62cfecbc54ea281792c1eea06534da1cb0d76a7a9ca803eb01b524789f6f0d9d33260fb84e22640147234b08e284365b33fe555332143565b4f00fec509b1c80f62139440f97d7a8bab3060914cb7507723a9c168690751d16fcfd3b2dc704d9c14aac0e95bb11ac1074654cf70b96f3eb944aa17db31e5f195d642dcfaf5bff97b358294c1ad880d56c424944b05d75834a3aa108ccf53f8a3905e6cdd585c7d7292c9bec08d6359c0debae32507d37a451982d2d925c6c710e2580c022380f0bcc96f40760f24b785767b9c10107cf666270a72f0acc83fbe949c64f5ad8c5725699897ef7f21602e159d9429bbaca55d0ed2ebe7d0a3699340dcec374913229dcffe9c0f9fbc0d2c6cd1fda115bf8c4acc8c844355bc1cda8c95c2359a68df55c992497690fc8cb11bc1d36b5047224291afcf658f33a582ab33eec7557e4922fd4eb324e84f95bb4e780d775149b19cb9e42cda3176d568efc88734c5ab1aaa1dc72423cbf419516486c149e8c1b2db9e28e5f88e0a829fa192da8666f83263526df320a7e0a3ae01e116c9fc4a3eec5c863008c1d665b06c87d7231b1f8c5390cd20df07afe6b5c7e62dd070f0dae901f8ef8b59911f6e46ecbae23b756cf81edf7622b8b617c08e2f8326645f031bb245e35c8c5ca6d0105bcdb70e872b433b7654498c65291fe638d840aa2546338e80a440a3e7fe6bcbd151c94e38defd44fc54d6e828b47d49ff5c638dc43a0e2bc33cae8e1d80a374e16e07a9b06a3871f6e34efaaae9085c7205e6569b72915866c78afde33277877238e6c6b3c0bfae9e89c5cb51a27d71bda7ecbe508a36e8f186068db738f30fec60dd1dfa06bf7b7d7f9e2c2714a1d45168c52916d302380ac619f336ef8f4fe47b9a302d2f207e6de865d68f7b6a1eee5e95012dd334dd96cf68191bf8ba29bde37578da2209868d6fdb1475c331e59d35019b47453bd9b439ccfe74d6af5b880ed9ec12c02485933ced4f2070d777dc78775a99123a6f7ef728f00241791f8499b1d748497c103a47d3b02b541f796f2cd4bb284b4cfe0422a346cad06d064fcd34d19d7deb6b74c2cc4d26d505c6ec453157b6022a9d50b9a75bb965c6a7a91b9fe2f629721319c2c36e1947049597583a640591326eb26e7ec29e1dc5e68647aa0bc5325c341e0a80d0917071c127e09c8c4f9adb0f366cd54c2eb20f07c7eacb82a5867fad3668b1ba970962fc5d2b251015cd6949710b3d2e4e09bf55a57a124980ba171e3457bcf9c29c352930c01889ee9cb1d6145b8171486e2098f321c3c1ca4e367143f63e00e67bb1e454f177fe9bc1fe288532a44c458e8c27c5b4cfea82a06ef6bb30d286b919751a3282ea46fb99130c312e8cd335609cd76af262f3f2deb6cb790987e134bbae6d303db4ff7308af74321cf35b9ee077d3285767866e0e03966fe5a3e41da499fcb22c9f60d1eb503a1e3527f84804161f9f8934862cbaf58524a7e0b70d568e84f5a674c24f410ea2ed7ec45ec8bb535fcc5284f22f1859af726da122b945d558840777d1634aef93247213e45fa89e4d055b4a883251b46db5553a4577b3c10ca232a60f77a97eb373a6a63057aabd12769261309fcbce389433bd0d2306b1e72e2b6aab12ff77a4467598ce2ff3661267faef860e51920af4450156e0a74397e7c2938c1835e8c5bf381bf03381ae23e37373d9c3f2c2efe8969bdbdb3f181743e41e15ca030145b3b7b537a2459c322fb4dcbfae7099d04160c19a6ca85e87fac4dbb4ba2824a35a3c8a5a7de338bb228a6154c3c35189bf5e40bcc77f0eb7fec39fd462ce8d19d81a357adadcb540f9d06087b8bd649da7252ea65f94c9eafcd072695f5bb26448bb283a749588399158afe23c697fd46d842fa99a307dcf74876cc936f3dcdb5d6425294fb17fc9f66a0cf853ef81159ab10a4b645c1d6dcbc3480d9cb18dd18bf6a11fc2f849828e5a6f0307b61a980dc3da025a439c75579d6d98aa1c6a290c139166cd0f33e772070cf151cf4f6720d14f9a995324adb259b92a9737e29eb828a3c39a36086106b88e07c85f66a7efa8cd94b0406b7b89cc7be8a66126c3ca01c8819c5cc7dc02759df64a394ec7b48015cdbeba1d4238238f1ef12a10a200ce50a99b1b0e6e8eb0c360b35013bdde2b0366637d1489cee54f47efb9b0d5db41cd6f419324e080631fe0a2540e8b5309707be854abfdc628869f0f8cc7b8f1cd331fdcd156d54586270c0b035d458d41958aa7e4a612d464f1d405957543261826bf9929c72b45aad145158f00c0f181bbe8615688be9631f55dc70fe03e5438c65f72a4bd03e515d677ee805ab9e6f1ac953b21a4bb0d88c5b4772c295f18c070f3e103bc148e9160377c7e9acbcf3fc3f1834cdc5158bec7e585220c4cfc45c93a106f4b495c099511f087e6223236796e5af94295682a7a41cf8d9554869615f89a45bf37197fa8236c2baf5870627fe8ee3dd2cbe350cc2d8ec9f95781896607aca135522c9da767affccecccb00870539a6ce6ae2ab3aa6eba61fd1652101aaefbf98b58d9b1d5fda61e27cf742005bf06d63ddac177e893eb000144aee382aada1a199d6b2381058d0867938ae678c348ffbafffd4baae9393f756b2dbedc3fee21711de62881875f8c21534c5006e4be2d0aef85b0a7358d7c67d621494ad1a94fd9648f0a0cdf2db68ab4472dcdd3b046e3b10ce5cddcec6f8c25bb0bb421c2c078e35672bb5228a56c07ef027fdba73fecca323eebf40663e643ef82d388767334db2d0d2158835f73e13f12b06ae431bec23d247ad0f19a2a9d8d128d512c2a6e0033e805fab7122665bb48609af5da56af0160b809de7f3f745d578848bc2ec782338e2dcf7de2ec5a76eac358eb4dd9fab047e8cbc9328f6af32930012d493e43add8c7cacdaf69380a6616131739800306a7c04a7fb1a1087f306685bf219d26ffebd236b8c3f563dcebefb58cab15d477aa78e5d3e1717582f71c61025c99a62d6973580e74bfa64ec82d0f297f933d9664656e607f71f64c16bfd810e735a996a97e2b127a88bbb83ecc762e899bc5b328e09151387049ad9cac576badfbadd7554ed7ab09fe9672962626ca352fbe89044b44f5ccfda3457263fef040c3e73985660d3fad1dc021d42903233a34dedb80258ccfdeda0c2fe7d7a4802e9c8649d73a744e63a1c5f4d19c9ce9c8f32d771ad620911e127966193249be2dfc1b845b41f8db456b34e29efed000f0bcc206b72bd55988a02dd384e345e8f6bae7f131acbebfe0072036e2e44e3c8b0b3ba4a8b0bd1f393faf1c4da6a90d2ccfa39a37fb2f05bb3cc657f571100958718f932296028ec20fb939ad4e1efb760940c1ea10e90998a32a72a57beb407eb378c9d82b0d054a903d1278d1e4d0be507489315eca62b542766e57b28fb0112f0000e29b6e58fae456fe69baef5ffb089163cc91d958a6a29e9989de5a787e433167123ec334b49c211d199a3bab205ec5b241d8b2975989679ad242648d171d4c3b7d7f9b3246f9b103b1f4d173212d74c9a557dfd1e60b6d5d27bf8bb3821089feaf19bd69992b2a0ed7099f75f1914123fe3b15d672ab6e2cd99a31cd71fdaeb33bbbd600a67f58aeffdcd4cd2fb8a408476498f937ce6be88c1eea47f98cad7cc858e8210003aff434025cef25d03763cccb00adc7080983571729148605aeae3a9428de67e27432453cf864aa745a89cbb891c9d28fe3cf9da6a857b83707b91a24e2e8617d3c6bc715ddff84fa22c6babbf90e69bea6dffa356746d4648ed3d4a75b310761eb6be6b04ceb5b01bfff012e35e9783fcde53313e42fc165b4f46fdd30521182819407dbe780aa0fc19624e056f1009d75f3f6824944f440bf35daacea1aa5c6843803856acdc6d25f6c929a894af87cf6495563bd6f66a9fd2137004f4a1abe39210ea52697f3fc31870fc3feff6a5dd24323837bc3a199bd5dd5af8bd8396cd9f345c3d11b861c47f8bc9a0129aef1ccda4a636ca9b498b923ca8cd470c3cdcc7857be946733efc7405656b7a5231d872d01c41292e0e899da507fef125c30f87749541abac12402e0560db3184e78418055ef3dc1161cce6a21b1271d4940634ee0fbd703682916da808afaa7638c0d8aed3ad50711cba2fbec5911e2346bebe5c1708586ce8f9a2713e4f9663123d88425e487a73275cf62c71f0b0c6665bc53e6bd2606e0f1a037a457ef768030a3abd48ecc439791d464118a186e84eddcf107c6dcd565dfab23a79b3fe66f6aa819c35cb4e8edfd59795046faa8d077b922f6d885ddc3bfd9e77add893209e59c0415fcc93de4f0374e762fa7a50da0369815f0086b4baae73a25f66b87ed3ae5001ce04e75a13d68ccd2ddfbe7c63f02735b42b2f34b43b137ad7b31d75a5ee2afce4108167e96ca9dbd2ac83ca7bce63252e2671de34501eab505b59072ab79336b5e511cc48beb796283abcd24f7c27fa5c002f5f128921e9178acf1666e80a5a4de104fd1b52e7874b09fb71c87c7798e9b9c2e683a28a57afe388a44a6115aeeaee3100457cb39615e7f5a56d97c78bf0ff8c2184f99825409ef80183ebc395195cd71d80baa32cfbf237815b2f05a3481ea79c509a86abd6b5c6444f6ced2ade85bf74e7eba782a782cbcf73f4c07d3f9a6e66800646cf9d0e2b95d534881c107080d47982b0810232b65cb87aa930d0be60f860e13ca0900f87ee005de42ace93a918fcb7e0762b68f0e7b083ace973ba51448395591063b0b8ab89445c260f990ceed94639d52dc996699ee76f20f2007c5efcf280cc8a563555ffef5639b9f5f6d54ba4565415327b2e3ba7378ceb4f9aaafc94a04f3e3ea28cae21409abe6636d329ef8ba14d360a23c9bb5139a2a73a4e39633a289745fb97bfff01ac5a0209ced77ca30efab3f32db8b2b62694d4c29dda69fe3945ea09759080969802b8979ee5d2ba94b6b171fb689c83bd6a4e29720aec007fac9534f4447d17fa24b61493fe610ae1c61f432c9ae2fa0181f7284aaac21876cc9e082bcb08d9d01629f8f67a0d58f7b3db40c39a4db510d9b20d7921100b52f7a072b7611ed77423cb2aa15fadee33136abe14d55e5166d6fdd4658f39efab86dc925c9919f582424c6f73115a0d4d75ea44801bf5fbf3ad08018846fb48305a7cf258b53bd387dfb8bd9093e61737fb8c3ff80be12025f8c2f6b498ec979107823453754fe97358a27002555cfae5a4ce9d7c6a18759f5af69873c505a978e70e65b8e7ff1a538beee225548840610d9adbde0d103ce3a68755d4575a3136a75cb199f4cc4046886646eb136164b143d53b6baa315a1b7b695a8c0ba98552f6829247cea12c13a1655aad95c3c61b09a47ad9b3d9fa049c872306eb12084dd3aa776f96ae406a8c7d2740b0f7aae43469f48da720fb90aa262a882dcb5dd08689e9637fc2d4adcedd99aa73df09173b02432cc34667f824d20f47fb903f644c226c82f717fc9e1acff98484e6d24d58d0f0ebed4310141295c44aeed5ebce58ab9ab0e7664179511910d41a68df43e6b864125453bb13abd4c42d007572e881a583d10b2ccdae726ec39ba90c85c95809a0f6d5547cd4652840b4f73fe543083a78369ed2ee70b7cd71e752f945693f404ac81065f69bc27c9ed07dc77b3ad4921abee83836439a791b474ea440f009e4d8e5908f6a9ccd02cf62fd1e32c05ef10c05cf677e64d5ab7805defc7d4f9f06cf9a78703956e2f6fb28d903d32c2dacb4c14f1a346966d255481ec00297419c0c262e98ede50070a9034813f87756481e243fa535816181ddf5f2a4d29b64c124f96b8cc0a8db101a054504538c9ad5228b0d980d64d84d8f1f1888a732afccf4647090826f9d68223fc943daff6d682d304910724c4b95996a2ea71d05bcab70c8b4d49802cde7c4012410e190d3a617697854f4c7e997f977a0ececc1eb151e7188117ad695455cc4241f97a830524d071416d579a1da75bc877cf1c264df0e45e4e6de665fdfe92e052b894b4ccd86104f065f8ff822c29bcbb5152125bee429b5d1062440404df43217e1460872158a90799b0d6e26279d34cd290100b757029c20f49ed3228a1dcdb1127fd687b32a927c06a469b7075fddf13117f95f540844beb4b50445451dc3a9c345702f272b41375fc655194e624f720acce4d8a1139b7e2ada0d68b06276bb37ff8972d0704d835b00658630ca069c978ae55a9f8425f788da32c28256cab4118dd1677577a06904772a79cf1bafe3ecd050021dcc664ecc9838d4f2b9019865fbcce6394be217c0031e9f7e8e1393b542678bff676e1b8558d9be0b5eb7c125ed5ecbcaef9538a9314874b98c7c1bf570313b4327637f8a316cbd09dc91f0b96d34002e3ee459a46d5eda4415e4255023f7b8d34b14d4bfca2a1b2a44fc956bfe28b4178083178b23fd5fb1e36426d0ce0c9b0d8ab2459147c201d6115929c6e6d4c95df07fef86e6a0fde6be7417a422b6292e8516399f9a76b654b3ded18ad31c253e402409bd3ba16b0999b7b224dcdddb6e132f66252d5390269031a7f0c5137c043fb7c7469a61dfabff54ae61147d6efd449c54ee6cc0081eadf7179af1b1512c58ca6bb9101d256ab3321349e9d5c583e4121e3af75b921e7bacafb7f322a4eb2feae75cb541619d14ad4ddf131609b0a684bdadd14e3ab66bda16f3139e75055ba47d9915945b5d3b209a0b0d80e2cc632c03e64232ee4ed9f51f23e2ed71a15306cbc21af9fc0c99f0c29b7dd2c3c3b4eaeb2c378ca0e61712586b2b2d557453270ab5f5bcb2d06aa4106d2c55ca9e654a5051a2c582fd132468663901256980d19d0772aeeec56de1fca9023a0017081ace1c38e493d91f726a0650f5de28ab7d4b4273aaa0939d5f172f270f90b92d867388312408daae42f2b7bf0ed0b536216460ed5cf97c9270a224f9e65ad2de168e6bc29ab9204ad794b1257bc6a31f93062c9a98c238a4a353bd481b814608e8b457f18f084db4da0ddaf476d5666d3d1a20ec1279528296bf2536a12ad4f3f2bba6a17155b30c7175a3a1c0a8f5d7b8cff038e90ed22a2528aa15a64ea321d493ed2f04422bed24693f2a8dd6616c91a7e1448795f1ec53dc885baf6f76c8c7862323ac61d13ccefac6e9bebef5ccbb26ffe1d473e603e9955359e402d59966fb3d83fb4e6fce44a7147835055d385c489abf207de9ca58ca3ea735752c262cf66694dc9000bcafc1153fcb6ec660bdd4aca8ed7f31016cf2d176ac39a939879dcfb1a2ef4c83e0f4a761dfb6c463c0e95d9c529f77515a2dd7dbff631f08e471c1115f390b335d5ea21cb4d93825b1a0a5b9ec670b5836c972a25ddc1bb2b22c411ae1900b5e731da8ad2aec1f5e7467ade85e62a4c338d354bb79f6bfa242169c9ee450fc4c98e8a84f1c3f661a69435cfa8a9912e98b2aa952f59778adb1795453561073987989cdb8209891bcf165728ed7840d253a69bee7ba793358a7d0796c4c95d6f833904c1790afddfb739ec43e0d6e99a4e4e8db053e4825b119d331e56afd39c6daab2c48f962fcbff6472e2639f2ee6afd1c38e2f2b0ed1e9862d6b915072e67ffe97c9a8914950414c2d2b491e5628b7a35b9d16658bdcdb8d714a44f87adcc5dc4bfab03fa93565ceb18c6ceafc5622239f6ab31b85c315648422254a641836df3d890185652ee176eaad00186a66db2dcba3f642ae59396b112639be0c0b526d450c3800b9f4d460464e4ef645e823b443375e9f3ba0487cf03cd587e3adaca9921b322fa470bf10d08fe5f16742a57cec6c3ade34a312b22eb13197fcc5d005d6f61cef319b4219e2abfaa2778f217b3875f589c9a8489c4fa2d2fb63665e98b57539a1820433f33ef085c52744ba1fe01756d1c8b4c4106c78f9405ac2d815676aa96ab5242a18ba93b10bb17c48b98663c8d855841512cb6504fc83136f8217146b5662d6a957d75c2d12089efa35656bd447de09150abf01deb06a1cd9dc01c8b377fcb89edede7b047f3fadb3ed30a393cdc29fd9d16e8c38614928fe2fe02164191c21d10f2732cca918ef21074c0344f20ec95a7f47da2c56f5df83ef3d324829435a5c90e62f630c91eacea15a456e10aa4cd19254db174921554bad8f924a38302b891633a159c4dc9639f55d5c10585c88dc334fa5e58de80e40b1c3724d4ce90fb737f860eb752ed5e8fb4c26848a4335219cdb85cf0ff99ba69f61650cc8a222494c4f1947f9c0cfdee7d40cf02405dceca0c6bf2cfc13df653ee49c01e712e2dfc18e4bc0a365ce4c8001da958701f16e97294ee4159265b06bb6cd07e4bbc8df6f166e91c069984885233746ef10d73926d828fb30184a6d721643f339ac98ccd2e34ed44346a050c1daf9249a85d88437586ce94495d7720b83092c892dbd06b1252c0690c08e8f86a4a1d10e137de1010d68ae701b347ec55a514f7e5a90d753b016f8e6c51d78cad94a404c3f9a2d12a1236552ed346809fa11dff129906c31107ed3b50bdfb06fd693f2686ae1f6384db6050a87cc55f07a88d6d4d1878abb6792b4ca537e727e1152c9afb04a3f81c598e30f690d4badfdc837955998d9c775d02ee6698cde42380cc582c86cc4d074f33f80516095cf32190ba12926d00f44247dcee39b22656f8d196d92dac15f8fd41c16698338da3489c0b52fcb7fee8264c8da7a15b593fcdb337d236f897221cdfba4cc17e4b7458751d88ddf30092048ef22038a299fe08a1c3e3c1a53e7ff21dbadb191e0a89bc690045f3221fd9535918e0a410bfbeab5d5c1c78b8530f89c87579d0b4201e258c9c75f53349b0ac6d38d4f336a227ab6fea322026e3b52c2301b6acfc56d0e315f48abfbbe7b3f649eee8de7000deb9e01c9457f4b507df9ed642ac32624a927683d5dfa251a7f78c8302e4edbbec583e4fcf00a452c2ec2a898a3d2e348771401d81db747ff925ebf9dcaaa9fd17177acde9f06c0be3b49913b834a83c41f16a0f56bcdf866fcdd0af15be759c5484d1d7ae9a0dee5e78d0a56b5649d7f2d3a2f6907df44a9cd8b53197a954bceae843fae55837916f2817cdb2f1e8e8dd7ec7d34e1083498436730c4a7b1ea4cab4ab2d34206a5feccb916abb1306c4b3a015848010e39bad3b03d662066231cc3a2d2b7c255d135267fdc0ba92b89a1eadca0df222845f7155040d855e9ec5f0a96eb2da1ef5974a9101fb554e96cb50b8c64329c1677afd909ae159b961dfa14492275d019e2478a39a7f7e02060724bde149a8ab60a9c5045ba015a72654bb07fd832c10a66506a4f4f54bc8b8a74e6cec89b945d409702d67275c2b8d5f4a38de6b167b432cbb3edadcf432bd294b4e01200926b1b79daebacb1f5d3d17aa6c06f918ea101756dfbe07e35f95c11c1bfee1c9a6b5882aed9e293a8269d0c2a0806d35f53daff8fcf360611b487a66be56476183b1b174efb20ce5e4bf5f16f24b267ea519d5dfd483f84a6bc4c25d96bba5c941be01480fb7d4340d6099627fe6b1a0807f539cc73bde6dfc6aea0e7eb069fbd2f49fc155e945f911e6bb6357a245e90d96ab5d3358152ba751bfb73cb2836eedff3fb5c5860f69f55b9ed836995d68bb6caa549b4b94e707f4939da4148ce0329110ad6e7f0922c770df382af0a5be787940e1d8be5e0a54c2f921a04cbc6a5ad18fb0e8456a4e38611cd02f353099efd1fecccb370d86602ca9df69e15aa14aea5a4911b28a9a539c655c8a7d4ae5a55ea39939092bbe03e34b21040bdb58eb117d2510757cb834a58dc88bd73ff10ff4b320104ae27bd21141cd8398e7f7b259a8f71024c2cc1c1e4caff6a839d1e14a832d8dacac1c9e1abacd59b6935ca2cbe129a23894274bb21cd0c965e243ac4adeb204ec4aed10a8d5b4a102faab88eac6bce90680e7132289c11add02e6cc3909fa93c0b0cd39fbbe8c64abf4834d5174d049e2dffca8319ae6a61c7c81aeb33686c54144255404c5e3968fe1ec67de7d75edc3b2394c3572ae5a7759abb0e02ddc94e8299f1865df5389cf25881e48f59bbca8157c97c408d040eda9b14d88ee730bac91279031ebbc1ca8b9e543d71813eab49e796fa43ce26e5d8a9f4ffad0f5848cae440790bd52cc87c9b278c54c8441c15593c1aeb1bdd3b993f231e649dc31c3cda9fdc047ac35a4e210ab8c336ddcf50f19efb97a62fff8fc31686b91af5fed2bc43cb546c418081e2a8b8544beb6a1688fa1c808f50e80513673c542133ac4d0b6f822cb28c2fc5eff64975f5d426701b0db1aaabc1e70fd82cc8807985883c1a27bdde8316abf296543af2742b16188413baac83be216e8184b81b2d8d03f067751f95a8d3e63534436708010643d7d8694be4c836cb86e8dcf8851b9f9b4ec1c20b5ff29043a56e0d8d13c623a26040eacc204f28c47f9bb57409d3dc88adadcddce2f14030209dadcfd47f39eba377db866cc8ca274f5b36961b46270710229493aa455edef7812e68ee6f8981afaf9ac5a887744564f4eef72aaacd91cb3ff144d41a11b4e3ef39944b5ebcbc9acbc5183b72f1b223aef71a8040ae19430db3105db9f3c5be9063c23bc8673de8b36345ae980eb734ca0ec50c6f37c5d4c5f5879e654e2588471bc96e5c48442f623ded064633def894a9a9c2666b8d342f94be98029f736722253c40f14a9fe6b6aa7e8e3290aabdf1856bd5d423dbe0bced4979cde0f9d35849b86031b44be7e105d4f24b14f526cad1ce7bf537d3759b8ad9274f8dc1d9e0176de3289fe5ea91cf88d1fa9108da7b4ef1a064eb7732babe2e652708edabdc2b0d39e13cc5d85a389b23698cada39e60b925b3dc48d0eb8f2cccf5f711eb5755d057f654331fe67caf19188ba201140eba1060a13fd6e903c5f8a961c4439cf98fb61e044ea390cf7103990e0d01f3488932eb2680b31d67b6b3e9d25d3c3b05e7a22d121a00c3671ddf77fb3a9e37b17825f40a1db56b61f7cac78e70feb9fb33df1ce1e5280e8b61612067e682ed97c761e59f8486ea64a916e48039d1fd11b5710db4a2b1bad6b6cc6d47c3f6269ee31a243366c88217a77c84dc92fc1df3897a982bbdd2dd950a69bd217a8f20dfb555d15774697eac32b53d70808987bd3a79f609769ed4437e2c51452129ccc7a682275c8644bb4b83af4750bd27e8e4823ba59629432264a77f05d379eed49d3a73996e83697ea26d0991a9d97416b87149c7b6cf7cf03f657b4bdc3ca41f649980ebe9147b14ae788197d90dfff499d2599c3bdfac738a0712608bc92cec12528c4790740f4c14a86b7200a49d9553ffcd63344156f5e7536820fb697951a9148ddbf02c85feafa9e1804b3dcd16810bd90bfbddd5f122a280c293a63d05ee70573393eee5d164d942ef38e00713bcd3ad240ede9dfcd95a6414b1c49bcbdb1a0574d3384d8ff3b5009724031a62998855efbfc05c12d346e6e8eedeca3bf4c3d996293b50632860a474599f4592c6cc9ad908ea4d104624abb76b9b3e1e1190fbb156de3c19d243945c47840959a3e96e1f25fbed5effe3dba3dc185f258259d9f86efdd13df07980abcaca9af99141d578af5bb4e802289d9c39002ba744d7a1a3e13d79ad2243c338c1412799f1aff3112763989cb8d80eea5e6892966463dc8aea6fce33fafad41e5d8c4546413a8693b8ac43a58756716ec8d9cffdfb543747cbee32d1415e626db8b2a94fd4dbc9ad2c1be80f6d297bdd6fa4a50c8d1921609289459ce9d4734ba5f81f4604497ca0b2fd132ea8b8516652adc3fc39ba6a0343822fae703e0782fa9ac8a3ecc67a8eae087297ee75835ffdb2e4defce913fece48323ee053b8b22b98c112e5706054902937d757e20d0743281214a66540538b748e807add57bed32303211eb5d30098bb4777f142d706dd5948e75867ddb9a90a839bcaa98cfed9eb53fd118f616034eb88ec4d82debb7c5efa8fc1cd61c6bce70eb6dc0cdc3656d135619aeeabc8f7ecce8d28c6ce923eccf5f621d5785eae70d74cf5df55e4f1b0b8b3bed207170bd4619e39ab10f31a7f414f4d3d5c24fead2e18db90173526c6e6ae7de90a0b79333f536530437c5f51df4b49db126b8040ca67514c2acb94f366be7553425a819bd8ae44d8ec4f0a6e0618824619119b2df3a0a703ae31c31a42675659334a22da43e74387b480abc81323fcd89fa2c9f6602984b9bbdaf8b6f7c2ee577904b4f378612e46f0909e2b57f2e4f767b47b37ed78445fa6a3cf9f19d7c9e97c66717ab8965022dc5e667375a1382b1e03cdac9525ada7ff1e05be12d313f5f0c953e1d591dbaff1d90129da2465342efc24c70bd260f5791ba1a556f5128fc650b67a10bacf1f1fa99c4299c8c94d70fad4de77b410b0793302ce3a46f8858f06cb43d23368ee63c6f7bf8bda7ffd96d53058b29a70e48724e1401045b8b0d6742df6b7d24a5a9424d1b4729e75c0c6dc83b312c401e98b2e416ff6aeb6c558666868a5ce9bdcfcbdce312d17ee3dfcc126e20ebee19293176bc5c614de5afab5a632eed2882c3510054c4034fd013096cbcf707cc5ccda564785a7cbe28c1f0486986a8b51159ab20567ae151724a7bfee1884453fbc6db47b447ff9cde45e94239a07fa1430b05e7a9bdd18d58b518aedf1860c1970c9065e4ad8c667c675ed49d65305ce242cb35e703a9681362ff632ea7b81615bac7b762574739a369c55154a85d10d8863f40cb922f7ba12332ed13a11d2ab81e504d9fd881ed2a77c5edd39d2e7d31ee03beb4174bdbbd4ef516e0da344bbde53f4794dfddbb899d6fb5ef0f508a640d31644db43d8b8730dec473f949fbac135d79bd5956a34031030a9c208a6757f5c823df6312979894fe5290dccf3b1c5e30f308064cfcea5ebf0064c1f13be3f94ce59d51ee6a45a9ce83c64ef66d87e14e5547d98eb93742316a3de0f8de77f06684c82e4d74d6c1ded42df310e8c891636b40101a6d661fb77f97c730f37e9203fa4004750e56c59d81c752fb908f848ee02cc667a9098de3a20557b33eb81d74338dfe0b43a3a7347e22144a8c1d09ecedbe9161581a81ee449bb5969742a7605c6d3d278a2f7985409da35815661300a92a3c2a50a402c5a7fe167ac7ecceaf1a7ca8d8c8e740e86e9eb75ff76a9f6774850be47f0f5f7ab5a472b86841300ad5585df0269afcf95285ea87ac4a038dcf4d1bd8f689c086a526969b0af1eac929523899a223cfc67341bdb705bcb91ce98b2853fcc74314ba7bbdecd95177d7c2745adcd4bbf3d31a7808725e4d123f88398dc52d67623fe8355e3bb11db6c8d5fcaa5b5ed57613e042f1452307341d227637f3a790d2cce5ca0c37d3031ca4174f1eaa6b88fa39d30f51ae6fa5df1ba38ef719773c067dd008eb64c05cee02b7c840603fec2c75b5dfeec6664db2345a683f1af8edbb4de8778aac0a3f241934e55121e3c790b58c46d397d2b1c634b346719173ae101668fe62f9563136eda2c202c237eea37e5f72c639770153c60644d72fedf9d6f15281579422c58f489c689ac1827c9cf3f4c4b880bbf938ad7932fa878cac3726584b8e57382a55c0eb697b70fcdb64b5c3391e6cd3c20195083548c991a241f06b722c0e6a0e4e0498ac34d5dc3faecd64cfc828771de77d81f37be18c3ec2520d50767fbbed422c3a81ba35ec097080dedf4b0c94b65edfdf63d0cdb5365681f97beb2c87c7f6537c154f4ed57738ad02d874115c07a729dfbe2c5e624b87eeffb408143a30ff1341997628c05a6737f68b2b129d6b2cf98d48939e260bc57ca73d702138054dcb92fad05fafd46db2c1ee8502d8ff47583988c8336ef45b064f5eeddd6164f286d6e6367f3b0b65e1f2eadf67e6ea89dba2b1bed768249e75c3ba325537bc04833136abde4c606259af599b0c417355da9cc085939f83423548abee82b77e2a5ee298a5b854e2c911c7ca7ddc85d9ff09682c30a74d26516a8401a9008acab744d52774f864c4abee8bef44a8b9c4087ee3d6db08ecddaae8c2d64372ebbb170c423b53c79d1bf10ac7f5e1d529b1fb6b2175ebc849984398ebc6a8b4c1dfd36c13db8a2af72555699414e5f44498d3b9d64684fd5a529e36e7c343f0b70d7c27b2e9c2fc777b92c7e5258fe1226f293bdaf5df7306f053aa705061d642b32f248f79bad5240e0ef2921478424cc280e8906fee69a953718d5eb242f88bfc40b1b04c9b3767928c5d6249b7f62e0e052abd7f48af6211e8c14321ebd76943e82686bbf9cd10e36989ca342fdf0822e61a5c0251579543eab593495b767fa59a62d2105d2bbc1029037d9352cad067c3375d2f298d9d3f8f18b163d3a0bf0d1fb32507e6426878defce2e9b91e897ff89c7b8213e9b99d8a37a27b6d3826552f352fe722e9979861a9c8ebf021eb4951add994523adf48f26ee266fe800c073cfe1d8f1d36d47b98c589297cfbdc97158326e01a38becdcdb14eb6ec901df1693c1b8abd04239d174367fff7d135c3ccfb7dbbb2f7cdd4d65e86d435c10d402313d70b724db108ecff3e83af4ef246993867111d69a68532e1fcdff7f1dc0c7c6e1a2b527c4217c33f6689d23e471eba3ef6c9e262a13bde4f3f4b8cd2ef7e96408f822f3b04330bc6870795d5e5879bfb58177d785c031b38f48ec9cf1a1bb27abe6e8791dc011113cb963e727df4e4e66f383d373b16ac2f2cab86195d965ba526f980cb00ff8f902352324af2229f52665fc4a9f98e32e69aa774aa57badaa0ed2a1666ee328be0ec66afb910ee15b2fe3f3bb7976c2720ba8e7e962410dccdcc01e4f08c4371ee7cec1ac3742e40fbbbd2ae8600b45e9ab311872f4927a85425961c30bf0c9283822ff9bac1bb5c59f103c8a527d38fc2ed301d3ac0f0582592bd524e30ac82efc3c2d31e048e896b95018c965f88b38b0e55c833f652210c9a429df1a9bda98423c0e4eb41dc11b2c4af57df9c7facd2ae65698b715c1653d3e3750526f0b2fa4b5d05b2c7cf239f31808fabe829d8b7a70f45355e31050c051f06e646163ba54152ec77697d60157eec2b9e7737ad97e36bf6f1b2f486bad60e52c0be0c3184e3af3ac353bfa06654d6bafbe39f0c0c863b88f608fde2af9239a6dc1903c9b4aa8b94162a1ebc510c31b46d9cb4441c49669e453722aa0e61ebde7655ff3cdc50caf3efedca48b84d68041553c9ed863d43c3c760b16974467e08373a7ef306ea92b378a7f525be573572804b1a94a3486739ae5fd7ce162465b1bc24370aaa2768de627961f97a4228198bd849c29d48461b741f19e2f9030212cd7f9e66402fb657ebdbee8533d6262b04744384eaff00e739d4869dd96671f2ea05309029176ff8a55a7a440cfaf2d4f843c4ae4e343dfd801092b4f81719b8bd6d252e6c718afadcadbb23daa03c3aa9a7b7832fb6c0177f3c32fc1adfcd812ae327a789a500dc2fbdf8eb239e0d643f7fd70062cf01bb96e2aaa87cf7b0622938df2c8c9a5ed9a6db2b431a14c40a62f60a1355d0fb33bca81dc045a42c0bb46d9f3e08c49563396b6c3c43a7cde93adf79c7e3780161709f0ac460f47cee6f25265ea296651227cef4aec3828d4165cf737f20943fd1435dd11b7623605e778910af241678e508039c9e021599e25648337a4c02ba9444e6394f739586b24392049d801d6641480b6e2d55876995ff8117b1237bb4957bbf334a145c865966fabfa77eb040c22ea92f0180c3973fdba65656234bebf3ec1ec81d9ea6ebbdefd08fe182931e596b311574c36fde58f138aa57b453d47cb91d1056705de63714448c1847afd99196c5923fa921eda40d550d7a830412691fae80b1b1a4957b901d4623a1816eeb5230a7e14584c5e20c95f76d3d217e50c37b0f3120bb865ca55a6da2edcfaf1ac287ef13a5cce851335f247367224d1bb0f86e72dfa86239c1a31df803bb23a90521c72ed037e72fee7b9f1fd4b42376bbd910995c244817f265f2bc059311555303a0b1ae3cd2f3240b7f3ca45d7f587a093b2d2bd9e49225aeeb3c85f5e0ebcf534fd50a2bccdf628849e88f90cbe88735e45f9bdb8aa19dca52a7574153f5ef880af50fb92ffdff363432ed5869e1586463ee6bb7921e36650b56966fa2824e64081ee2134a2e4a8d63d2127b049ca9ecabe9c80491445145c9742137c87b8c42f34f7566acb796c610531d860a4e7749ecde1e8c9d3cc97b758b2fce2cced94f7e6c86d5644fa2bebe546f19a1e327794c3a68f917f4988cc52ce8473d8c04df62a2460308ee2cb200cb0c739f41e01765608ed18d2b6fa5b03e653fd748dd609aa44afe326283be35840ea2be3f97b6b112e0de9a3516206d6500d74a0b14c146a428e4d0446e543ee23a21fa588c95d53d0a21ea851a5184c1349b8499684001cb1e7a2535760f697e7d24747200cd3230529030c1c203c275ff30e7538ae6954e5fe73b8e2653e264e0b403bd7d264b137d776166e4b3a34dcb0a39d8619d007b3d2fd2acff22c4b36b28b1e99cb9c49b4f88c6a0f35db3cf3158bb4895a345cf4157fd6297914c0392222e3fd21f69a11f5b1bad76a4ddd40b778ca04d1e05eb465c31ff011809ca081ea947f3137a9ebfda432ccb1ddb2fac8137847c64917ce3b45d653c884dcd217f2b40ccd817a23f6fbedcf10e6783e950580770258bef0d805fb085fc8b1da842e04182abaf0f307e1c2596277aa0413f18b352ada7e95a42aa3c74769dcea32a613de57a9c58cb3fe6be6016433131e15386497cdc34925a918c24df7f70a07c0eabddcc7b1d21334a422982a083ead68e4670b563a4317097f4bc51c4d32649875874a9982667fbf31b4f95c272721b70f9a8d6b1407c8ab091b5a6f744ea8b74f858299141fbba3f285b8b4f36b5e5c22dbb7a2a0d1e840c81a9ec9745b3b0c5ab4e4c39c66456cc08887a791de3bc1f2dae15d873df1d2f6fb31cedf0ce7da12b9d1451fc666ecba72b96ca59e43252bfeb8db9a44e4d97ee576389ab18fbb57abfd146358561fe92e20de384dd7ea08d501300df0f1178b00591697c1be2d11da76a4fce7acf52259f6a032cffddd43d87e5fbb1b5d53b80839d0017d2086481a1446166b6d5016152248fd7376522e924eb88097abab1c69a40196721120c5c4f75a8fb01a4bd41d96a11dd8e0b7ebac8f4c10249e20cd35ccf7a714aa06f7ccc82add5d4d309eca8cd49c9e36ee9fd127ba50cd58d1ce47dbd0ecc25472a04f0c2c83c33fab4affcf00294c31866c7e5dcabcf7ed3c96106beea4135df6e048882bcd67aef04b4df7b30ae403afc757c828ba613383498ce085367d05fb5f1b81860d3c645a874d4cc4d9fb5231a1be40d12f8b6b42e1fbab34d46643ab842a77d5b4a31eb3fc1263b17bb2d236fc04c8da42b88a67949d75146aae328d775262f8670478da4c259957e38fcc9baeb8f598420e6caafc920ce89266312434c9f94029dd1edf987f66d965e61f93aa337367f84a9c553058f87222a52869515421cbbf7c1733ab136a0da3a6c5b16702b69bdae0e1c916d07b37b4a878d1b524daeb44e19fb8cc15ea66e2274dc8b6873e95baf91206fad48e1064172180dacb7e94ea650749a7896c749af4be7eb1c3a5d227c459dae84f64168c0192298e252cc78461cb85a66f47cd6fcdacd333e1d44332de278bd2da129a22f6c92a51987d1994df19c97dfb3eb23e1d5cc5eeac394793ba0a4c823f847674ab29b4524ef7ccbb2e7792fc147bc80e052831917f5b508ba08b2ba2e95f92d1cc900c2184f29a943699bc7fc67db6b138d5ecef708d19e17bb502f2941d0c075b7da94ec2d72a18be69196131df18c7e1ab8d1424ee88ed8a92adbb5554ce63905913a44888de257569e24a653031370625fecce6b72711b6715e80da8bfe41503f153c028bab2dab46421b6dbff4f12a04ecb1dfe8e1da99817df9107debad6d3b937bf525c6d8d5e80b7939a6500ba90a63c786d3c6b0890976b72cf5ddabfd265035dab60fef89df45169cec7dbc2b9ee0c15dadfb150a0e40b3a52078d6ba83999fb54a1dfd224aebb4c7554599beaa63903eea168d938d9ec336efac4509b386142bb970948121de5af3b23383e7e7f5807e1452f10d4fac2158369a7b7faa872db4e34b3ce5fe81ee226bbb0ae380620c4fdb8b02ebb18b9acd877d169ef5c07e5cd1705f7ad493702b3facc944dd949c2ccba9914c61de99ff246c155ff5f3dafeba9b86f0c38adbbb240ed2c688a4f8e06e62115e45b0d15b72e1f0aec9311be4c45e6b66a665a5172a2bc717a6f7ec686dccc9d3468316767177c0691fac05a7c79c6e7aab0f4536683ca9192402228965ca0440f9db4e80c12ae7f8b403ceb29d1bc03530297c21172d69cd4d0722aaae94284f19637d8ad3c61f406ddcd30f99b88211c03ed03a266a786889ad9bd98c81258ca015a6ccf313ba4308c19e9b9751ceca3f6a9ce88b36a355b3a0372fb66ea3e7fbc9192dd7266042f4fa52bc0f6eb852091428e8e14b4cf2f87b37784a7075959e9b2791911a3340ce7b25c0689d3fb70b9bb74d2c03a2ca04089a3b1d7366e63463b49d34f05c884ae87205cede033f209fdf94b0b0ff74bc1e7a10c354c8f05f09315bc77beb6d0d11aed836bfc5f2b6e81f4f06f939ae2e42ee43beeefc0247002f33ba026324e4f5bc79e81838fb05af2666020c0e62459d284da647a2459274f1effbb1f547ab43d21d8def262daf375cca491d068bbf69344f35d40dab4dabfb9fccd269bd7fa93d44edd6c580e8273b05c87a957aa02a80eeb94517f2f76c061b7187ba668a493d56f6b2a407f9e7cebae0a2d0581ced6f2e41e66f04a08fa6291bac02c34196f21208a7fdf67af070c7b6a5842c963c02572e12ad8cc6b53cde586bad6d6e1c84b3afe561eb8bd71ae056a8a8b6dc9df1e13573d8f2229d3260107f03781ae2c67ed4e2e75a19661d136b7bf0777769b21fc58e0f3518d34b70d546a34680858c6502099820f4c41cab116e70ef5c312635910dbb4fd7b85a210bad84447deac99b076cba9e4e3d3b8483e08aa182c9ea7882b479ed18acd4784cd845181f12e56f9330a485999307a6b308776bc4659159e250d34a51e93171744258b3807b0eddc92ec4242262dd70814c20d39b708fac8e3141d4e531740dbceb7d93f4cb78e4f3943d11d1a27f90a36f9c96e7980b58fd0ea61c4f6c1d323209c4cf2cfc915319375bd08fe8a408586a8773c28a366b335e6d105a3c05ac420a31ea8e8a5c246bc7906701f94987bde9df8486b5a175dfcde4741dc28d9f112027ea305862ec720fe8288196c24f126d17ccfc96b6d40934c505716c64e44fd196e50a0bc32681c349422bb586bff75337b52636b7ef1b1da7c71d57fad25db946fd6cbc2cb8410d718e198be35d653f0e33b99141f9df91d1b296563326f9a4d592bbd5e700a1ff61069b912f8614626aad529d2ba8be1586a22d0a05466852b35933010f8312cc389ada200856f44612809ddf8a801df925410130038d530c6b681982406e7ca85e0a107c313762d431a3cf9b28da83eecbf51730ea34af27cc0f9d145389484c97fba315d31f59884d829675f33c1aebcf030ee4be60f828dc45f56ad526603b97f705c19c924e81e5021fd8a4f3280fba7ed78ea72dc37da8c5887e18128c81554a3a9eefb60e6520da0d8828365f40ba6722d6fb361d1d68c800683b07d1ad56e6ba6924bee4a2a54f7155304b9eadde81d0c336df52a5f808e31cb89aea94091e5b45d","shares":"00000000000000000000000000000000000000241e1a6222e6b7bafd350100007400e1285ad855b5142f1ade399305eb628c6f520c38a7769398dacccb7da165588ec68461c17d23a81c2b53a37035392aa88c7b42e9eb47bce574b0737e35126f54e0c6bf25a6a3b27db8e1b49bbf18beb5f3b9a9d43f56c5929a16cb75d2a73005bf19b768050a1b9a0fcb01da67a2d5fb8c93b132187642b01b69c57b67f24fecfbf02fe8baf0cb3c0700138ae79b5183d28bbcd253765cfb1ba0e63002a02bfa117ce34430a0587667d983b80c748bbac0dd633fa6f793b85c0d974d26f05c359544f983c2a46b4e856cf367126b2d14dc77b472c4917460b0ad0e206e949a634dc04c4d7c43439c8ddc03cd73c1ca5195f986c60106d053cf731911e697872cc487299e72b8bc54c85d9146179b080b38ed8c4003313eaf5b56178fb51add1ebcdc3e1008131816b17c0c5414ea2be2f1576f9b6b848d7853482b6a98e357ce7826b126edbbea2f2080159d9a123a7483d8a0a0cd43a8fff6ae34e5198be93c31e0f72d602fa76a00a707a3667570ce55bccdd55a386b7f251e4886bd7c906993bb4e96e3c0448d96cc0cc2ae92675f30bb2addf4b5a909d12d8ef6b92cdc3379ba99ee2d1824c7119a9d6777c664f01dc4c1110f670f0ef08fca9795b9eb320a9711fce38f479769efd1d60528926ec2eaa68a5d55c2d5217116d4d3fd00000000000000000000000000000000000000241e1a6222e6b7bafd3500a416d8d5f1b1dc08d3dfa0fc823cf26d72d05dd0d92edf2cfb1f949182aa51c5c5671687b981a7a2e8c3ec3c093922863029d4ee0191d07f36f09c41e88ffb897738c2e49e922062812f1c1833cde44a90c9a3dd1020605ce28f453d153e46f26b794be1c3ec8dfd77daf683defa8a3043cb8b7f7c0029580e049f831c28574700a6bdd7e5ec822d569f649c713d6184ad302b0dce254c231c8fc9cafc13d86c0d8f92926adf91e0721060458a41d67a5ae0cc770725bc2962377e3d9401d650e341f09b2988005e38fa0cd5fddc2ca7db57cbf87458bdcaebb1088f82968fe638f20e045e9b89569b9ad341818db7252afcdd9c1be9518572486739f3ffc148d18b80c78fe805530f5725353b479d1c6fb819e67183d16feadc99cb1e94a068d53ad84346072e60d2da5dd90ba8d97375939271f29319e1f229e8c3c11ed29a36499217a76b3f2fcab5c5fc0e2da3fc6b4ef38149c66fe64aae2b84da050fdf6cccf646df1e8e4d0fc3482b345b21811f671f0e8e2007705e218896c35df89ef68793f6c9dd8c3ae9ed4f24468b9ca216ed7956be852705a7f6d8808b5872ff72abc3b2929c7d815eb3640836d1e89156d5c1b3aab882416bda424a75fe552420431ac34f27eec3980e001bdd4f70a5f0d92fbe0521bd7793d4745066c40a62ecfe00000000000000000000000000000000000000241e1a6222e6b7bafd3500446dd3a08ba352e1423609775b3f3c1efce8b076a8cff0e43bdec7c665d941bf154e576bddad4178fc34980c30f5f24ed85e36521d7f9484ad5bfbbd638ec4842b2140ac2398076f5dde7bd89b89af9042c759bf5a71c52f0ea4498708195eca11eb3b2157468d4e5f9cecb657d452bc9a1d7e6e9e0cd0321c66ae29275fb70c3080b1ce49e2f4780638f999c81d2ede3a6a8ff4fceda492135737e3ed91d83ed23dc76d2a9cf047dd2a4e5aa2ad56c5a379fcd1e0d1ddb382380fdaa34d8e4e1e4fbaf82f6fe0b360f63e541d76eb359449dd97a55b283f9b085a18cf331e1d12bd1be746786980157165416a78db8d2b4d85b3c0dc9a013484dc94df687c80c1b968e60db9948eed72d16a6eeb93d50475c8da269a59aad6339527fb9dfdba85bc050ff98325a3220026c87fb0edacdc602aa65666845695aaee27444c86b7abc547a8c95e1a5d46ab6626601876a86af0ef4e56a7f18a192ddff16661a5fca67892efb45addfe9a5dd14732e198a776e32e88d7469bcbb99189233d3c52776f9b74db2beb8757c44876b92a55c57d7fc046366083c401b50d80040e5e91b3959fa366d111d98976ff31a68b2af7e91f73a00f492d970c6914b707ddcf7d7b4bffbfe923ee2c8f242d82deb3e86d9433a6b2aa5143a3884365af54f1448adde08f00000000000000000000000000000000000000241e1a6222e6b7bafd35007bc45eb7c7e34d17d4d045613d220dc0f8b8107c6e778ec73bba8184a39422a3a970098cd33cce32afb8d6a4d83ad9dad3a43fb7e38e1c59cc711b9db002e7a11236d8c7d7565e3cff44c66569bb19076325e979d81320cc3084a1ab8e5f01c08e2982086f47d0edb2c335dd2c888a0932e8f555792e8c3e347d749c0e567f2f4a783f319f886b9f208ac6be0fa6ca6994e3b0a5cd6e15e396a2f5467279aa232defb90e2f612e1468dfab3bede5ebe53a419e4a1bb841dd849abca38c95cce4b1fab8f3cbc5ead89f566cc6a425cb6ad916bf8c7b13a4f8378a3c8fa3bf5e59df5220d28646404755d11a6bfeafd29ba91f44c616899e2835eed07b48b0e12572c66d1a4b6aa814a5ad009c7c3562328117e4013fda00c2520632a6b07f374a11899750287fe6aa435e4034616b0405d6811dc172a347115ed2bb5c2b5fc4b4dd359305480571d5aeacad4ce67f33f43b01883681cc9c68a8a64e8e7e00e56b542092e09105d982f66995fb4cc4fc8033b3fcf62b96f37c835d929a2c3beae26007428be4f6474891c51894f33f8ca93ea7b7a966ca8982d48337f02c3a062d92b6f431aa7b46d51e2e831f425f8d411c88d55656bf3b664578906a7c3b80c78be3b494d536ae40432b2b0a744e92f381c493c5701b1d6e1d09c9c606d842071ca800000000000000000000000000000000000000241e1a6222e6b7bafd35000137abd196f567491918d442dfd92aa90101062c66fde1805f25b6da4c99d72823f4772f047e44d19fa8f3c4b4c5fb2a17bc381b1516c66b7db430636a965bdb3a320ad8df5fd1648933c598bba64fdb87cb71e78565183d8b5ac2d55bc7d4a83121682b51ac152e0148f7e0e2a9627862e986edbcfd4d162eb2830ae4a258d90d64fb3818d258598b361bad7f3369d9eea661380076e2c26b9221ebed91b868f1a986c99a154072a21e3dca2cba0e4de45010eb12a55b0f0eee5c3399e533f116971937c4cc95eb84d1b2f72a69862873f31bee9235fa700d89ff1e8985c5cbff2c5f0ba0a8d5b694e8a0fd57b3bb0e823ca650a73f9f8cc6d4fd33124ef8d67bb7043c657f81c0c0876cfb011101ebb8375a0d521d3a02ab32ca7a38270e32fa1cb50c43d48a7f44fac7be073eea808ef21e89e3524d15d7c38a15636109053c60c99e7423d1e935f9b1e921d5318635c72df65c7a4cc1ac998f6bdf49815b054db97e9d81dc9c7793e1c0926d520859500ae01d34f867721f49ab4ff2942510bf384d896d52317659e40980b504901683f06c45d8215b886b266916a17dd204504686be9d79342e856ffaed8b03360f97581fa158d274d79be6b0af223003d0cc2c7bc452a63d561d1369c7fbac5cdca8fc9e1e2140229f43c7b20dcaeb94a9cf00000000000000000000000000000000000000241e1a6222e6b7bafd3500036f0abcd9121150b60670b0f2e97362a36f1d5b489f66073c7b59085cb0ab329780ab1a65ffed2288f76b500853772a0fc7388f08471aef1b79bd107aaeea1d78d3e922b3d65e3d9d672cc8dbb94c5731d655b684276e36889f9092caf5cc7cc807e63a369fa19e43482916f93fea0158a3597b55de327420fea7e03dd6201da889faec6256353a22e73c86594579797b08ec4994e19469fd1f727bde0910d3f86526ab78d11e8e8ee908758061ae7727797fdf15e493bb027ec9cfbeed44e47b49306743b0678896024280e9da5c50998d18c29130ed6877017838a19b1b8a4a1038495c768629d6848ae6fc5a08aa0f3196cdd6bac69abd14fc15f6097a0835340680062e6cf362c071a7325468b8c2d43b936a7eb590830891e7255ae06f6642a89448d8a6f60537c126e81e8310b1443c1834ef61e7781585ce0d5e4f9d94b8876f258f3127ea48863410e766d80b23c20c4de7dbfe25aa50a0877676c949127246b513229a9f40cc5958036055f68ae4df0236ad7aaa7796148857d5e7e16e55c91a8b5ee1ad12de9c1f71b5c5dcb69420c1be858cb21016819efa00bec25e64d415d1a5c2cb5cffbca741f619b72c6b2daf1c7fc1fff281e1fe235998bd4f973a0d9f163c1f2525c18437386def6acb76555818d181622ab8e01995af0fef00000000000000000000000000000000000000241e1a6222e6b7bafd350032417a989ffe198a0567a3d2513f87fb7cd6e7e0e828a40e6f0139ecfce718337269fb406cc1157acecd0eb280171a97b6a1487cede6bd5988c2dc4017d4a6edce65b86224c2cd6e54574f1d77ccb1b301afb02e717faec370ace755ae66158a7075ebd4a15c25a2200a5e16f3cbde1dc5fc0d15f31c58bc8c84754e68571ac6ab3125d7c3093d16792e04e3d96168e0fc4fe343e07408435b24bea647e36c220279aef9679a46ad4f76ef66d72afb4b95587bb1dcc5c2ccfa47b3457b438d4cd285c9dded91f85c6994db196f2a350bd59332f8c59d41c925ea1c743d3aa1e32da72e73f6c2cb8dfcd64cec0bfdf88987a1bac83515356e8685803a3a00e66286a0624298def4553e4a3e4297591e55cbb35fa29a3937930cec9379a8cd4ff7c135bbda734d42ab80539b4b123d2d1f5afaa1d1d8ca936b323662b06f3b527e42d32ff46755f9d801aeba5174f65445611bc36e0575bb925c9a7593069bbd672765a94bef984437041b08177f62105d385fb7cb50d147ef82ccc67ed39d3490277c8176e2b51e7469738b368a6244100be59493f1cbdafc206cf2c9611f42c72fac2db3ede9012269505dfaf7101dee12b27f227c1427641be61fb32b0a86c3279c9f83e66770ea051abc240a5c45c030019a2fe984bc866d5773950dfc6c332a4900000000000000000000000000000000000000241e1a6222e6b7bafd350035c605c491b805a5b73757a064043e1e9079c3055beb34d3f37837a1f523cc34f51beceb7be934277c1fdee210e26673bc7a9c5fcbc935cab0272b811d3687384620acbda0ae82c290bc5e31072287e294a22fdae68f67c1eff500b90c310f72ca4b1f44de760e57a5e540b8f9a2b842baf9d94879b36a0d0004f30ca9e54d27bde92adcb3a80ec5610772a3e7ca9029ed1aa02374de44ed279f5e4779f729707765e3c1fb357dca1c2e1e57c88be3e5cba5e74dd8f1bcb96009aed68b1b65fc6b55d36618a3214c092869b3552f9cb8afecf95edf722bb21abad313aa4b624e8419c0d2ace7f537d1283141a1d8e9a8126955c6848e6ea2170b944fc292f231fb23a4ee36c1c53d3f407e6ef791c1c6c32d5e8dad25d3752dc1dc97e7eb61dd21576943aa358b240563e0091e480e17dfddb09227eeb0892a5715d3080699b6fc42baad0c0937add7c8f1e620d4d1eb599c36f72867f81ac340ef7a6410772b531f98ada954f46f7cc60f8e55ba186d939365507075a4ff5030c57d51aadec1e13dc876318dc8205a08addbb52927514d1b51a3d3c5494acad8acb76ea2211c03986577ab4f7075fa3625b28742774f3853ece9aa8b5ce23400b3c1dcb72fc4d5797ad424d8d533b156bd03b6c3584ca47b0d5c7b8e9b7379a90f61a394bbc28d1a00000000000000000000000000000000000000241e1a6222e6b7bafd3500d120aa0de6164aa5289499eea05ca7fda97d06b5e97c405445bc22f490ad123d0810abba0d5ace3ce2cdc91b0a798bfa3bdd1c06caf441fa64cd8c5cc5c24d11f1eab5af6bb43560d525ff311d9c187857b4b63135bf94be213a2c7143e1f1ab78b04ad18448edc26bdde4d8e3813ed74efd7f8eacbe2e800a8675ce0a6118e4f698aa5006b90b4553491047528bed4d0d2ecdcb3dbf346e1b82cc94cc64572723499a88ef02328dcaaaae026f97c6da839d5b87e47af6dc76a8e716c4081c89e77a48653cafc5ba14706f19aaf15cf1b583c02c9930723cab17d1cabe46234102c6fdfa7c478861b1bf2c443be7dbb51e2da2a7bfc803fc7e31f4e2ddcd4f2dc2975b70e4563c781dca6bdee3493c79e52441463f88fbbf6e5ae4325adb9b7ae5cb795d8184548acc5e730a81ebec3d74b1fd212b4b655d6e0a71edb2a0db838eb862c59c408b603ee7b78474070eea6561fe8bfad14972542eb1b29ac9f5f8aba0ed900d623845e8ecf39137970d23d656844ea990795b17dc7c2a54d70b2dbcb04830e9d988a4c85866758c128a34528528619d9b485691da74a59a3ae5d6e5f03d46def23be6f1cc87fb6f30cc71f639baec73c62af6d62c9dd9c57c2aa9fe8b440fe0f470a6132762a78b002f915660c358699bc5d06e779c33e2120ed6dc9f00000000000000000000000000000000000000241e1a6222e6b7bafd35004cf561fb902e927b8d879b4fde9403a1789714aa3e5752e7ac0f643572fa11772816ef3f5aabc33f4572550e546ed70c517ba0c925114f45a3549572358e99698eceadd1278d41eb07d97b95dc048b45ed5c2feb988b8da504ff0cf03247e8c3868660d948e0f8942e2fde06941d77ed403790f282b37433f4c58d819af885c822f66c2f9fc19858c6022d312b979c1d502d94f7723e91041a2ae51fcf6af4fd4225ac16c11f9ead4360e52e79ce1dfae02cfb93419dda65c543c927a25f16cdb2f260117e1ef69e1e846210c66ed744f459b9a3e1aa169155b25b673603b9e8e5ae6f090f4c9e1eff5756b9d5a6961d45c060bb23c22e5bc2effda0bc1688ce1ad52c49b48070d7686ebd2b5afc62225fba3a1e5d0fd38df6d01eafc4bdcf1265f9f89795290f3fbc49e59cb5826bf1118ddedf9c86b6b450d3d123f843080080c35b0d1735390ddd5c9147a339393d9cd29c69b20dc2570565a6f845e0299209cc40e9923eecdb5f20a62e5f05fd40b61c1bc4fd8c39d14e9919dfc3327d1a1a45b27625d14efbf19ca7c49523af61b8b8d3a0ad0d42eec35bca799a2db29ab86bfbc2aa6f395e0ddcf29b7937c49c914f9297e2008c1dc46cd447f742db4be0abeb3693af5cced5d3cca26fdba2c6fe0f096fa5d4c64c90bc719bafed7f4eea3400000000000000000000000000000000000000241e1a6222e6b7bafd350097950d559ba73e1aa773a82f844f0ac84d9c7240a45f53898c584cad71dca7930502d408f542dc311ddf0ac93ffb31bb6e0506ea589d812a8b99bb0b276a6817ce240e1922b245ac48f5d3e8a954717e230d89b73d4110a2b84380b11ba801c02ddba0be540e2327475f7ec876c162d17472802b5a1d3a29e84ee8e05d6fdd0a2c01c2727f21f55cc41a7a369b2a35de57dac21fe6b7bb63d398bfb5c19f37fd8dd8b8d9d2770271d941c64a852a792c331d5eefe34e4aa0acecacf550cc9a7ea630ce7b2221efa1b4b8263f59538276d103e777d85ea876bfb332ed13e6dffec2d520a296244b4ee77a7ccc6dec39ff3ede505c5888bd78a446c8fb2634953449488c4d360e97b5a0604fd70f8c0c433f48f50a3b1e1289f49001f158040360fd5b8d42a4991ca29ae687ee3118822b7f8f78a31ab435df193a54d1be84175f0a70c933c5476193719353b6529632e5a673bb674dfc14efc40c1a874540627a6405dc7641bb00622265b3441c6f80b4a38d92b85829d90c4f8799afce8e6aa91d88fce20bbfe0891cb721b828b25611f38d469b9b6f8911182c17573df2c55126fd68a89136e882f2197e4cec51742c5b816e930ba26b8bb279294fe4c6ef82d194b20b455f3bdbb34121e8402789a68a3b7d89db2cb2f80b762b1eb0bbdc7875ad00000000000000000000000000000000000000241e1a6222e6b7bafd35007899769633306645763d24ec34e04f58b9938dfff4b37baa277d35f1c0e5000e38cb75830fa7c8ad4cf5ad0f2ba6a0697032269555ec9bb8172f0e735eac05d6b971c9f20986823a7f94b8cbb2831359240c8fc66c601300c871a1c771fc4ceba1f708dd242b89bce30301f98fc9e1c0e126553835bb668d072a9fa617317ad2f0a0c348a5e1823cd9b8fc3b9bbd0a70cb1bf96eeb36277b120aa8b63823dd087c72b4959d217c48de089597f085bd2911fbbdf36412a0e044c96fdba9fe34b888932a43c37cafba2f83f02e5878da5ac409c6a1486c37fa86447dd4dfdd3906a7a4566507a44c7da1db6d9cebb91e29d90d0341f09ce88dfced50ce86e9e02e296373389e208489aca8ed20211683773f383217c6272a01670e70c49086dddf0b962bb585faafcb9bedd943256b4319d57223cb686998df3608f695e9d5e0483ac87c5a9717fb6da961ec8380a3a623daeddff3ec4e8a4bbf2247925175210cf49a52f1bf189ba555a9451353fefd30fa56884ebfbc1a706d1c73a3542f891e8841dcd61350950edcef7941a0f70ce04b43d6bd4716235c21b6aead244e240da5656b469d1c745aae0d56498eada1546512e6bb29ee247afa4a80add08953acf3a713ffe8aafe776e95f7aa0a8228e24820491220d8a57fb31d1899638c52b8508500000000000000000000000000000000000000241e1a6222e6b7bafd35000f45103ae59d2dfa8c38df917f39e11abfe1597f158dc031a223d7bf1ca5816db65f02579fafdad0699c4c8b844ea71cc1812904efdff195d06dc12b4000a69b329a1d02116c7732ddbd01d5fd74375f9a92baad44ede8950e4194682f82266028dc8d70fb7c6d7daac65130e878b594125580e291927252145c19d4764351be55f81ccdc3d19dc10795d5e911f8bb94fba8580d7827e06bad4ef7e6e03c677e9e5d740076fc02161c67f0d5477da316aade553a274909fd2d1d4fb04d2212a74bf797d28214dfd82cd22cc960f3e52b4b4ecd8e52aaa6a0169229af3a78a75e2e00867504a1c97770e2f862facfaee4fc3e3460e19050bf6ceb526a128018d71a6bad3c0e39ed90a6ece6ee0c3cc937dc5478d16ddd8a063ea9860c44e16f5f0a347bf94d2bc39291c75657e93460c225be69bbd47ce1761223db5dd381dd3fea87c51d7d3bfa24d1591b67f1b9756d92353b29b07da381720d62e950b598f19a7eee50dd357144ea72ef5bd7d3088d52b33e2b72cb086f6db2cedb264dfd0c0ba717728c82630702a9530d61486fa95fd91efb580d53dc41a9f7cf7e3b8dfee7b37558cdd2765155d774bba32d27ad9e22fbaf52c3de85df16771dc73f4f1df9899effbb4aa151f7bc57a05f6043ea0f91b156116b2d03b2369f6a0feba427228f00000000000000000000000000000000000000241e1a6222e6b7bafd350088bc7dfa7ebcacf56865532b9f8aec2312e99825ff87645ca759d21d9939a6c57b00c4b746887561e602ce41ac4c87a16e53a849cfebc49a9b0495b54110e51a71379576cf4a19526196e050ce6fe8424901a710c3916b622a676bfc8303e9ceed39323524ba05ea6f3f4068f34bd347743e1f45562557c260059567c4704009169c5b94ca93037664231e49b22a34412b552c7b69b6a80d4a667d467cbd7f78b4c58c15004dae9d5db28ddf87ac3893666b164af877d7af4fa46a73777f5feb654915685765234aac5946eb1e09b32f6331a16bd863f1912d2166c3347a3cb3e7e88be5d97b7912f74ff5c67aade89e2d1a2e8a64b375867050dd14e63cf82e0499f1a9f8c109729fab52ac966e7f6a0b3cd9b5b06260ddce081b62606b573cf44a5cc3138f022ecaf40aaf46124e51a95982771ba80d6594e04f10b145e6cd5895c1c52db2d042a84473852d1120bf6a11d6b74b1604a2773edbfe96685983b9384e154aa103ca4b41f1fd15ca1df92f7d1369f36e6db5933a2217dcb1b851ab2cd38b2ff7e5285576ed0418c3c1dedf93356596c260052457b5214a3364ffccce796ef4db498ef75ec38bfc9700d47dcffcc5254948349383dba2e2e5fd73c9cbdc8ed65c4331f0d110b4e7e369a362aee56b273e4059c4b8b2b28af35163a8cd00000000000000000000000000000000000000241e1a6222e6b7bafd35001dc57e617576e8932396ea6a217f7430b32d18b091b155163a68f76862395ee5d36bf93469dc796b8342772e5e19f708dc20128ab754833b63daad5675b234c11bcc74e0c97f5c93434ccc1eb456110436e1e571435849fa0fd401f2bd7cf5b0cf5493473463fbd9ab352a9606b756a149f955163c289920ee5976c20c0ac4fa880786da0e7d27d63d3f64ada8873b6c312224c5026e1f75332cae0941092a85a3cf4a00b5c45a011de348f585d4247876369ede24565de387a291a3d3833e018501110aae55db4e801b02222fb2b045dcb08dcffe40c62111a09f4441aaa882b23058037c87458eec578879f509632bf746725faa1c11db1a92d0792bc71653b6ddba966e8c5519b32a81c7c2396a9a9733da9922acb4d9665064881c75ec191a45a3c26d0136967561537cb63c33c0ef08744d3c4e188f7b9f9eba03d1976f202c94deadeb5a69d9d8b3226bf1f37b900ad3f888a8ff1fa85d313a993bef9bfad00fe46fbf899848d914e691fb7847f082ba6a4e4fa91463252d317eebdda864229a7b54283e340ed2300db7f67582f394ea0d9bb0157fd4ad6e17918eb5b52ae9302395fb9e15bb36b1a3a73dc2f6ca3c123e621cf32e6d33bcb19f4902332f0dfdd9e33a3ee8215b81d1cca78c818a3cfc3cbac003f7d7e1d5e761586370127600000000000000000000000000000000000000241e1a6222e6b7bafd3500e05db974fc636f9218688e7bf4bbb55fd0a0194d3aaade648fd3f459047be97dc610918c8ea0c606e5fc0bcd12213f8713868b75a4df46c6ef7213dc484f115f1930d00e91ef3436bb92136d99db9861e19aeae62c7a64e493d812b9e7ae1ed15ec14c868f5c0a51c458193ef2a6b1c301873d623dc41aa3f21435a4597c2924e931e047873e982302df74c4417b622ea73bb78c0cf192a9a12419c8fc19f111e622cd0eb3619743b3a693b0c3d304f62eb955beef1510a081e6196df7079a1117b6d49351f77a5e220fc1d6cecc45b3d6637c77066ea38e84362d7e67c918067a0230aaaef276439c1608f0d44c51f5d80802bfa4b7878086dc37049e2cde423e2ab33af544e942c253666d0dc76cb6ff16c4de555eb5262a2d9db6dd4499c33dd6d36d9790c1d7173ccabf32b115e165d7f97c31836351b6dfea40eb1be1b65f54156a1d3cec43765f2dbf3b68e76bf26cb55e75199fec5693240717374ffcf9429a0f0b15f402f70bdcb199a334ebbab8d3cbf475216ef6c6e5bd9b2c90e1d7a15d77b55cbcd94070736f3044d1a9728b77fcbf2b42a5b81a4b5aa2891ef20526e133c2da8fd61db653aa10bb5ad0cce9b8be8ccb716e227b4549e44622225157fc611735472108536f951ca4f0c6f3332a449df79b01fda9f94ec8ce4b47ea1a00000000000000000000000000000000000000241e1a6222e6b7bafd3500cc4f2fcce22f98f46b0fed85a3fae408413b2556583d6b3e8fae9f9a1f4af460a263f0f43406c4bce2c0892ef34364e46ed19f2a0915583a02cb3edfbd9ef501f5c5d7fd332e5e1bab5b725a1a9ad1a822e47ab3b6ebdc720d198548142c4a07ce875b34930eb9d28fa8cf0e38c2280db8cba711e3f22043d7254d03c95febe2bf0a85a818543285b77752269fbab5e36d2c55a1c7880f2289d4fcb672af50f2d0e7ee7db82978de5e66059da8834fb098cab4d8798e7b438741c0042ae8a776e92f8f78e02811ad32ee2e73e7b3050f529b1d63aef4df129651b48bf9140bcc1ed16b8774d5b60a46bcd39f888949485c05c8707ad5f3258ccb39823f8b31c009586f32e69f3bcd1d7b0a7008a047f56a602ec21b8fd8cff4d50731ee57dece5aaccb55a57f72ec09ad73eec6d80ffbbf0571da90849c699bd240df4caf900775cb8e377aa5ff0303acbf89cdcdb76b41ff735acc7194c9d6663c9c08b4c111b5200f29b7aa31c55cd717c75ad247d69b6641f04df470900876cc35b286513f9e1ad244c55884a6a2c40e79708044fe14f6777ee0cbd980a834e0bf238cfa387a4324d17a84ae034ffb2f8f9242298f3465e37b6cef8a1fa658e0c57f53492881d502f2d77d872cbabd7e074c482e2712225d6cf131f47de272b720034c32f989ba00000000000000000000000000000000000000241e1a6222e6b7bafd3500c4c65d14fdda636a7e9f4798d03adeab3a9cf94fd7e248506cb403a05a6a7a8834f16ebec732cdf4ac660f2d9ef50680a04a1b86ba0147e6fd290c819a13a88a560a6a984a6130ac89268620c594c453d20907cc1112b3b39181f5148501583810ee3bc0e3ad87d6a4b363c5886abbe63374e5f5c5bb1cd8d17c25ab75d51db503075aeadbdda49185626fded67374b43270379b3d78276d1bb4d121ecaeb69bb2896b98a56348bd18abdc0f8fb203506e80c9a89e1ca38e716bb4d57beb2321da80788029b9a2dfd2fc09ddf1630761a267b1eab9e209a1b702741ad65a98617dbded68d48f980942bdc91f707a1f186b8c0eac7f6dd87c29b80562ac482dd4d413d7ea4bb86a6202cea02145c3c5e2eafda945abacd6caeb53022eead8f5106a3243cf14868712083c7c76d054ff6f531fc1b2addf3fcbc62506031492cf3e90fdfd3f4f52eebc04d6aa5a577bd64b975cc5530630f444cf094d086ae8e1870ef33f50d7c9f4830da07c8c1cc54c8b8e21f6211351d923e8dc94b359cfd85660cdf0a801ded6f0e9301b0f4b616efd2e1d9e4148d6714350effa94abbfa0710f2fb93902eb6fa547e9a0689f7b2cfa6ab6c5a00dc0511d50f3d790745ce3f6a6f28f037c0f66abc1ea56f5ca7dd8e8910cc5be08f9b1613207513c3bf8acbfeaa300000000000000000000000000000000000000241e1a6222e6b7bafd3500bc9d765a4316bee1cab0420d26ad3a3436107ee6b9213b61ab5d38a4a53a5393ff2c4c05f785efabce50eecbd0926fd7f3924e2ba5d16cd89bd5ae1543af1a1c9b4cf081a552a45c0f39ed539bf7484bddca64f206d12790973671bb1ac888f4dc018d281b2f970baa7a201ff2bd32e9d808089e713a9f8c7fc082eb670e3f8a7281a59aafd4845c2f29ba4535818b45e8fbc90036aa480b9052181ad92a39a7d4ceee7c0336ec1d8f97bc573104a7810373b5817996a884abe3bfbb0ef7bb283e381eb50ef7d71c36ffe2fcbd4f6e2b9122cc61f5499075abef23ede96fa20791b1e06d6ea8cb04ffc4648a60cee0957e6d7932a6e7a96f0246d406f93487e52781058a3cf3a9b238c809d7ba19a49ed04099525ec7d65acdf650dc64bdc67ff0289af6655d3b5a5aa362554dde0a59fc85dcfd237480869b04070b189ec04cb68e9eb06d6472177379005c41a1a1bb08c846d92a32a393d2e83663a869548a23a211865ecc896f41ad7a1676611242de82cf663e81ae10091a8c5192c8770b196d753c4c0751084f7e9ca764585ff485d3b6de7a5c74b36c8c1f3696bfb8728f96a7ceda1629f87aa258a4a39415e7e07fdf3d40fc92f8b6f1a09064fa6d13407b327b9f204a03d37733e0a1c7540b39ac7dfdaf4d2a0fe0771dad39ecadf754f100000000000000000000000000000000000000241e1a6222e6b7bafd350093cae7a48cc7d4b7b2a79727e6edf9a04cafe10ff6c6434a1711de9ad4cad01b76d269d4bad6b59cfdbf08b5d29210eebb4bd12203b976f2f58cb7a82e7623e4a2d8a6f6f597abf210347853474f647503284be3f4b0184c16007215f5482e06a52325c75d69a90757dbe75d3b72d3775489362b1bad9f8900e0730379c0cad66ca5260a69c09ce93f43416b5d216cb1d748be9a4389bc71a3b2574c24af1b9ee5a53fbeae9067294384aeba7521d2bde179f38cf2b6261e865b2a42b9230a32c703e8adf226a9bc82783142e6901066e3e86afb6df70ce1ca354c0f5b8d9ee03e063f45a6b15f4d2db98a811ed568a29960573e6309bfa7f007e6be67f8dc9c0b7bd0dcacec3de93b6cea89bdb3c2112761ec451532a0082f72a8a2787a62eee0cb41b64065260b0f5fbd7f95eb66f320c826003e0fc3f73395ce381165470f695f6ec38cd8e540fbd2e0c563fed854f452a26cc30b55aa84e8fd79e9569e8905a21a630972e782f1c5269cfdf77d22b954683417fda703ad9101b7a61b59e76f24a9743cc3e2fca2cf693e9f7287e3c07e3b89858ff7325455ea20877560f1626dce064def4119c89857dab026406db34af2c52f86dbf70feb790db7502c97d19db8b98f052c43732f0cd4cc3872c55adf0d7ad843ad81d55faff7c3f2e68130df00000000000000000000000000000000000000241e1a6222e6b7bafd35007abf52dc7b93db82719e40d71dfde61a59d1ea0a9c1a2b918f396017d0c997dc7886b974318c58e1cdf8a628c1f71f70d6edadf21377dea0fa379423605bd3f56a6e9921c2f72747a7da2a9d5d55862c8d41a95ceb3ec626e086fe1cffd47a4bb0aeae6c7ce5f253e6b862b0def3cec7b9bce5d10da41ea424534d8957e2a6dd7cfd53df8d3cac30c91d6c21dd65f85f6f90c6303ae4dff71ed48af7a6c12c71223778bea91d341a242cf9e6a86a200dba19726f733b856881b4606fce175b101f23c6613a88c309e5a852a54f7febaa47ee9dccfc081cc06a2b3681793febfdd5e296227a4335c3287477babfc041971cfb01448f0e6c071161ceefe44b5696e6abcd66f25c766deaac51a3ec15fc462b5a084978d0695c1c8407c0bad381432a77094490b444c6be0ba76774f1c7c3c3ee5206cc2f6d1aadafd505f6fa231d5f075e8a867b992c18747fed42abd9156b92d0285f7ec32666b24a7003a070b4ee426876fb4fe7330dc8ea89cba529d85772c293860731b1abf722704be67a6a8a6be296e1fb809bd55b4bf56cacf78a8b9c4a4683329cd96e574b44c4ea4d4eb52809b5d48da4055a0fc88d1e87fada2e4339012189119c7f87e682df9a08e016bce62b0e0063877dc9fbc94310b7abff378256b2e3abecf1f3bf5c98644563306200000000000000000000000000000000000000241e1a6222e6b7bafd350079a0d2c224612f0e777c06e9c5c7cd35a4663d2b2dc2e0384ed8a4db707520559072b0430d193d9e966a19fb08eed0f36e57221f206dd511fc4305b945d408944c64270562dbd7121702748db837a0ddb97afb9ee49377be35104a6c0ceea97ff0710eb9f028949dcaa3a7077cae8bc6661be343ef06ad7df18f8d2e0535ae03d50f48d3a41ff50749fa3c684e36096b4fc3e8eeb1bb2402da4f1a5f1bbff4e0ed444fae024879546ce54926fd3114a7f0575c4595e80d0bd4b5b96e2f1c48bc0a2e72192977a7e0240e8dfff0e1761ecc1a40747c8c133f46957ba3f4f8cf89afab53fe593ac4a4a5c7eb973734ea63d6b00716383b3ece4323800d4424cf2fcdbdbe2c53bbb1593d9eee69944dac5fda5b67b38c3ad449ae3f73d7501ebf29fb90f044c09bdab5d154b0adc334be905665f039deb711568cd49c3951fc408021f47923e035caa31a4e48570c0a528421cf7d5bf14981840cd9dd38c8c6e3cd18999cbfd1cc4780f83d41b85382f7ba6b8f19e64f4a59bb816f4b2add9af237baef7249174ce0fccc53526ca5c930996f14e5737fc4fb796b30b95b577b44c25dccd597535e9b337116047c513aa0267b3aebb9b768fba2fc3d72144902ca657dcbd32013e400649b8005a8b21a7bbbebd34292af5dd5d1f56b8aeb9d797ed0ffc500000000000000000000000000000000000000241e1a6222e6b7bafd3500e52b308d1693e00856bf2e5f5b0d721fc7dad60ff0d8aed902b94d3b0468196f41557821576eef978547e0659392e28b8bd5f6fd8e169e1bc7b5bf5abd77fd49b3852740d20592be813e4fdfe626d13693afc25a3f9056b66d432b71e478a5ea78e3d3dbc889df4255eb638652cfd9f3b20647cb8743cd32486fa1073be14a6219a90eed5b4186b298aad78c92f466fef586ddd43c087eb42dabc39616e576df9bf096dac63be9065ea535f463388c3c54a6e3bd614450056d81e0ef7714b2d3e636f0c53cf618ca7f9077eb8c48c9d7c671b9c48f4ce9683548130310aacf61126fb983c6cdef5cd483138b7b7d0d6ebf7ed49621013367ea1cd6e73e026e484df7bd8f3a0975a3902233e3735bf468fef7608a22df5d37a5a47f293cb7208dc1dcf6d5b0e6f6d4b6aa8f65f5fead42259ffabd27c42aefa61912cbc7024f2a671ca43e06a7387c7f42e1c0ceb3568c1a2dd48cb658066da18f6d3feea467b2419ac845f0fc13176685b0d28a38123f80e7b86b9c2d803f9b7ff484ea9ff37fa26f760ac8d8826d1b736225a8fd6cd39a457ab0fd65405cdb146e78e534feb597204cb966b28895a3e04693dd06e9d227b5d08e09eea2891b76c5f2cdd6a49c5ef29b7cbeb783175a812fcb95453a85ea3638c58f852e2915b9b03b36509d23804f00000000000000000000000000000000000000241e1a6222e6b7bafd35007575f7019a698cf8d1c9a44c02178864876227a85561642ed27c48011b82492bc172dcaf0c504e84f93b43fe91ebb41ce687e44a7dbfe0d7db85d51d43518bb3fb8197e8d58b45b37c9204153a3a4a8f5c7c87276f832d98f5b3bf5ff24bb1cb966e6377ed35a7358d215221386b68264a89e73c5e05772456d0ed567ccb2d74a7e39e49c7084fd3b3f031e7a13e0991dc2ee7dd3ddd5df560f89f1ddf8055e2c4b68e6a3a9a0660e28140e67737ae22f3c571aff2352db71b3d49ceda720c0939ea47bbcb95e0cfbd04a1632787ac5950d68f7448a7217a2c211b164da47c23727e429b387013e5a1d6c72a7238a17ab1a93d7d7ffa0ce91cc1363a749c4c2de433a3b7bd6d5ee126f9d3ad9f15272b0e0ec9f09a83786419472cf6531f0a02aac37e75b882f3cae8e538da8546f705252010687f518c8ee10a24f54d4c2c26a49129541eff64e518cbc52a3f8c6e4929c162d1226800add6c8a55aae96f04b59ad046fbc99c26177315d600198eecf98a7d78f2cd6377c6b714f6e143104192abd1b5c40a17fc3e494bbce345e4ce53a78bbe0f017883d15f029907d7bc1eebc12ef37cd38b57cffab980ba3c59e8268a50c5c087d04f5b0c07a65e0430d4e3af861006a490cecf58938c12e54d6f7819c0593f68ec0379ec13b2e2758bdccef6500000000000000000000000000000000000000241e1a6222e6b7bafd3500edf06b6fdbd1b876bd88abdcdb215f07860190f68924dccc92e936fe4c817f9026f5c28df7b07e5e5fc31b9e3627c8f691a4d1d8180e87e0ef96a8d313175bffd560e1248a86c8a900a685e0215acd5350845b0052cc29ed40562aefa0be1638f6766cc9fb69a7576cae7f4fcc341fe2f08ea1e1868220f4463fd42a15592c8b7844a5189c85288ead2d7e8ac5560a2e494283015dc891b063923abefb22d90253f0ddd6296c4cd316997eaced5e5c885bd4881f06a41da25e1f795adfeb10c077be62f463d68e49eb5f95b3545ed29cc2222e11f7f3af69b5df4e15fab351223c49bfdb0efba6efbbffc03e40c151011b73030bc428538b4c787dbf22b723f24380dc81cb3c9fbfebb96a1d0cdec62e8ff30ac4b02a32d182b62151300e802c700c99a7d9984f69fced63857be18342b0aec69db08eea773ecad6025f4399975b41b6532e29be586edf73fe5168aa65ca08a8755119d14fd882c7eabd2b84db34ef5014bd40b0250973935194949a125ce06dda6ab1841d776e7acfca4e2fbcdc158ddf3c1835bb0f51697e5f098d41af3a8e5ae47932f168cbf3db85913681ea024b779124b4a424af65acef4c2ca6e13d1c911b824ef60d44ff54770aa18a9673752567bec8cc20f76c5b5d03e8b8ec1a4759231ab53d082df988739f2409764700000000000000000000000000000000000000241e1a6222e6b7bafd3500a260df44641ad794ad76af838296f7914e206c873d1adab4d6eb6748f92e16c9b06cc6b02eeb3ba6ac0c49adea997b69747e02a3f83d920a6fac15309a2eaf917439d7b81bebb5724689d1c1cf135d0e309793a9554ffa6f7643a77fe1f0769385c9c700204b94af0bfd7aff9ae31d290ba6d22c946d3edac2f5dc8e7169715f3e01a37070d02540fbeb9eb2af17b5f014dad62332a55c941247637ae20893795740dc76939022b70e24d01040923c601558a43a8f0a9bf1eb78bd3bc7e6ce91515d8513c0658d8fe0415dcc101da274014b55ef849187fc2d3afecbcc424ce9a3b9ef063dbe2d027061613e5974c10b1666708327ceb9ab0bf08b3aecc39784afc242d8cba900fded94a67894b20d2549207182d847808f4529befe6841a7a2626972362620e3ad3129314e93cdbb41af27a0f9e7b614bfb18178adc21aa0f8359a9727cc9c6107cfe96bbea6a45610b8961952754701785c532144a7ba0d0f00ccce2e1b7751eb7f340767577d65ce760ecddfa2408e9b3ac367b4773740947a052f56bd166f0b9ce1d1096ee602074bc697483afebda922d2831155ccf16fea41073da87d96f1afba742973c0910ef28a613ad360fc011290a8fd5073a7d5122e9b8fa6c8237fc9f7a7a6a123a0d148799ee15c49c493170af8f06f7cb218aa2600000000000000000000000000000000000000241e1a6222e6b7bafd35005d730795b294e03bbd01afbd61bbc0331859934dc953b09ef881540bad329b383cedaa79d66edddf117bceed72a7e7a3dda1cc1b6ac478fa8eaa2adccc988dc6ba0596b5adbe8c373679587b9892308ff25b9b9c9012ffd78720e32ce3280f33fb27601e6443c543ad2dd44e94784fe351a679fad60c734af8784ebf25522e03b16f837705a3bd65178181790a3fb5a4d6b2eae21e4a4345af82a00173175ac92f5efe630cdfc02c1061b1ff13f86c6ca413552955a9df7188f9fe79090e41ac981783debd9d840c4d74998fb95d95115e0e1f395a45337a5532af06744097f043e9c4a5b1a50e515c0ffc9426579583d93b7ef6e20081508afa3863db5134d84ffb0d4c7d04cc6b48546e379206dea2d7545e6149be8a08611e04c5868165f8e8a0fa4c2d1abeeac20ba7f1db11085f8f54f5170ca588deee900192e2e42dd3592c451a1d1def4c7e876b4d9bd35e17bba430e68b874731ab15363d8ab3f09b73fff2cd8a3f6ccb253c8590a394a36b37135b299ba3950b199f763e806689b49797e38b4a85446bae5a6eea96d964fa362b0704d3d517a510326145f481d535e8c2083b02dd74a1b237334c11e5b67114a506b02d444765147ab843f3875b24341d5aef7fb3d5c933301c140a3475ecff2f0b78750a1073e7630fc70c20dd99abbe00000000000000000000000000000000000000241e1a6222e6b7bafd350080ec97d4116dae13293988f74d7edf10c3e824fb25dd65e312b3fb34e19e46e7cb5dce697bfac2a6bf8ac5bc0f3dfa3afa770faa9cac808ee41317ed121af18c2b46c29d72eb7b411c4a6d0db31862790bbfae23aca9f366f533d31fdbae219d45c299442b2833fca44129e11deef697acc7e5a1047d4776250489fe4ac125737dd4aab18ff0fec57917d15b8770cf0b2f1dafaf2e6b239795d9688f2c051b4694b240ca2fb417f9e260626eb2d4fd985cfacc0ec3982522487202aca4a2e0c97883e8fc487ba160e36b9a99bfc3040ee31eb94c67eac8b2c8d06131873abda40b8a45ee7efc0838a96d6146089465f0c5469adc9da8256da7542a86de24ee1f1bb6fbfc5efbe80bae8452e375b01b8c2c944fbc0977f0fa45eeb69736481e0a73999df172b90a39cefa145756dd333bc0d21ea8c8142725fde47e601e31d29da8b512b8265128013fa740655a6a8be8bab9eca155a594ccba09685010bf09d67371c86f1e463ddfa73d7ce598fae21c9b52c8ed6249dccc9e83bdc5ce51b0f98879b9e39708abf75fd05c800a399400a64f673e8b4e17ab3caf3300e11a4e606b6e5f75f1b54826a1e0a714bcb37884f468a4394ef888f9cecebb487b7f0d2a35da7e011ae51d1ad2b79eca8bb7ed6deccf8cea788ed7a516f3be88a65ee5bcc93b00000000000000000000000000000000000000241e1a6222e6b7bafd3500bccb5024ea699e5f382bab1eb426545001f53ac894a598473f27bc0f841b9ed69e64e17b46ec29fdc64b43c16b9b2265a5570fd405470df0ec79d09c7f5d759756034cc04b360ecc0f9811998584608ef5bc778ef52a3d12f66a42db130ea2f1ebd5c039960825deea60c7c9504de14268cb112a00dd0424d59512e009f047ccd8904f6c3aab7fc27a6b9d07c221946f9ea618595bdb3fe3622f50c673c7f5150edda8fb16c0bfd27f906e88185b81ce38acc8278e0afec250a2f80ddda8f42a33b61de63d438112cf2ab456a11c6ff8660b744612a5cf57cb30c91114b09fdeed85f02ebc5b758f41dab7c6a4b5cadad34e63414acf45a0438d1bbab22818dd989cbd85d48b35eb15791c7634340cddfaec4d8720271b56eb1699d552be3b54f45025ff2d0314a563c5d7c839f6587dad5f9feba46036843cb41e1c11d39a9563f681b506538c0d55740e0bb80fd86bfd1cd826dcb0be9ef5e3c0834254f3ca085298098763cc4f71c8e660222bb934039cd1aaaeae39d012d9d26329d636aaff7b73ff07fecb665457fc254de25b53453f46b4e745b1fac2962bbb6889cea2e18794d8982d842a0cc2b35ac80158004bcc5f60674163542e78fbd20e534ee43c657b8233cd6aa42e1fd612d6aa8a4374feb6eb9a07ece6bc440c2364e9ee82c73d00000000000000000000000000000000000000241e1a6222e6b7bafd3500d014f606e458e36c41a2444b7cfa9237c02df9657f837770fda8712e836347448d02a6473b23c5053ae39cb17483f6bbf7f555c1b70b8f5212a6418a57f6caf5e82fafb5daf0451c1cb07ee8bf9a1fb47bff55fd40fc55d233bb5210b094689faa2f0dd1701b9d102ee69901b16baf86feb0fab476d20136c972237967246974b81938bbf83043ba55ee99908ccda5004913169658ef88c0e5819f671fae402e96a6471e393542f32a99a210d5831aa233523717bda039a518ddd3bb760988817800838669456bbedc80f145ec6a44ffbfd51233e823f3c471aac9ebc4812f5557e5df463f7d167d98a10b70c96e0e6ac51975097401b196d3bb64e84f773bb1f4cacf7f322683ea3327386c96947f3395df278ad7d545fabcff4b439c0c92f82e5022a8948c7388c80ba819f776bbe9c3de653f580d22406ff4e477b24eb5742bd9205d931a1b81dae08ea2b7e66a9b26ef5975ed3a111f80b06b938f99837be9627877841dd84de7bab96ea027d299004519719224c9acf32d209b20d5290a4133cd78bce21c2493c6e86a4853b4ef23e4776ab2e87c7a25f978f2261197c36481fdc951fd325728281fd2ee3082edea0bf5f18cf6e159c382b25d9b87263589f69e5ed12f8bb561df90ec9caf5a6313c8df11b86b80ab211281a1de50cdc8891000000000000000000000000000000000000000241e1a6222e6b7bafd350031333cee7c0239b16098bd4d79cc6d282f5115383d268dfc11ba18d5e684a66fec3ac01af0942857f30812f5d5c70f7252ecee7bbc0f5c7fca0e0a420941f589b7d06006ba7278e8d542fb6637866187dc499de210ef25eaf72f064f90ee2f553fae34ac788374ef8bfc94ee246ac33e61bea35c63736bd89df95820387456012fb1085cb19935ebbc13c7d49f8fd5a0aae0c8ec45294eea90e68eb18d3538c04c7092da008cd60c5842a9eaa9843bf98b4c63fcae8e69ec5ad25176e5065ac7770a51d40161ace072dd3423b0430a88a711789acc65744409a3cef6bb53ef2aa510a4a1b322019b438c7110087ee7dd4ece97c994914592b3b1051f2b706ce5d0ec861f3b7ca42b1f8674bd91b8b1f803ca31027bc58fc3b3f59eddeb21cf0b72b2618cca8fb7c96df7d0ae6be862bf6d0d3f6513c16379c32bb3d607ddbc02535c194feae13d228238fe898072666b105e8091583d03c2b4aa32fff018276da8960bcfa9c5d663d2c7851240f35be89026223859134b8077fb5a55afbddcc85cb4d75941fc2be84aae196622dcf1f5baf958032a885cd0e35484822deb7f00765ce2763791d06bb90e53539a172201ae68d357fff4cc440f8b28c9c2e0b6cbbc78bbda5d1c3f5a5c2a05207593776ee7d2be7d3974ad472f3545c896cd213e9ec000000000000000000000000000000000000000241e1a6222e6b7bafd35007fd97eb2cf41a157bdb3f7ef59bcd8f950d20780044cddafd5a22fe58e3f1f0f0b64ee0ee392536425fdf0453298d08b33f2fce6c9d6fa004165a076f546ccb175c7266cf21b014c5a2abaf3d9a2022396d47005a60362481135dba49d987e8bd3bbc87b8bc590e4b5656b0f0f736257f1b67068c810346f548226518a462ba3141f59c277b9e51ed51bbcf21e7fb8a131d8d06b0bfb171de97b6ac8355984424bb608413ba6df6481f80e2a01e3a075993f5b874ae6965c8781d16d317da9704dcde450b2822271edaf8f3b71e534578666c20899da7d75a7fb55f903a9a6a0cbe58ca6b37ff704bc73a4523fc6c4b06a07190764bcb4463e5a711bac221f3fb423b7735e524b5867d54177110987eeb371297ca793c67a65d6cf08be3a3e83380d99d0d57c4fbafe98af0f26de510593e87495a879dfc951a8b9380cd5d14c9d615acc439fb19748869e6a46fe135a273c76f13536259a7a0e238e3a47b04b6b245f0652d565c6c670f0e77db63de0f34e0d496f40d2d75a44f0e9022e307f625131b2a67e06ca5afa87c75bf46140b654770683914ab7778f71fa1a6c0fab643c818b43ff95c7ea00fa92c07d5b54927fdd2fea28343870b163da88edc943b8a33ac372f303df8c18932cb0c60684de63289dc9777d469184b3e21d48d9dc6c4600000000000000000000000000000000000000241e1a6222e6b7bafd35002f12209b3c9ca362f0be86d58f96ac98b90f710289a232291f5b3bb71eeddfedf79d323934759acfb105345d02d3903ffa3f46066c0f8854b8fa2c4c2e9023451ba64555ed69b0d090a30d82ab4167fc2bed42b078a3c9c221ed4a41f08334e06e6cd7d08ecc272718651b3de6ad748a0775da33c935bf986afdad3c9403c8192197d6e41444f9b6802351bd67b4f2d59d3a188a5a37f8fc30bdc88b88c5a9486bffb815f6cf4a2b5f0e10ad7353f06beeddb461b24062d14a6d6747e36dd66ff88b7400565f288a82d13a1494b5112b11840d848a3ca4628b3e046d22f64b31f40823a0e386bd508db26e84ce15b86b2075c0584e38329ed62cfecbc54ea281792c1eea06534da1cb0d76a7a9ca803eb01b524789f6f0d9d33260fb84e22640147234b08e284365b33fe555332143565b4f00fec509b1c80f62139440f97d7a8bab3060914cb7507723a9c168690751d16fcfd3b2dc704d9c14aac0e95bb11ac1074654cf70b96f3eb944aa17db31e5f195d642dcfaf5bff97b358294c1ad880d56c424944b05d75834a3aa108ccf53f8a3905e6cdd585c7d7292c9bec08d6359c0debae32507d37a451982d2d925c6c710e2580c022380f0bcc96f40760f24b785767b9c10107cf666270a72f0acc83fbe949c64f5ad8c5725699897ef7f21602e00000000000000000000000000000000000000241e1a6222e6b7bafd3500159d9429bbaca55d0ed2ebe7d0a3699340dcec374913229dcffe9c0f9fbc0d2c6cd1fda115bf8c4acc8c844355bc1cda8c95c2359a68df55c992497690fc8cb11bc1d36b5047224291afcf658f33a582ab33eec7557e4922fd4eb324e84f95bb4e780d775149b19cb9e42cda3176d568efc88734c5ab1aaa1dc72423cbf419516486c149e8c1b2db9e28e5f88e0a829fa192da8666f83263526df320a7e0a3ae01e116c9fc4a3eec5c863008c1d665b06c87d7231b1f8c5390cd20df07afe6b5c7e62dd070f0dae901f8ef8b59911f6e46ecbae23b756cf81edf7622b8b617c08e2f8326645f031bb245e35c8c5ca6d0105bcdb70e872b433b7654498c65291fe638d840aa2546338e80a440a3e7fe6bcbd151c94e38defd44fc54d6e828b47d49ff5c638dc43a0e2bc33cae8e1d80a374e16e07a9b06a3871f6e34efaaae9085c7205e6569b72915866c78afde33277877238e6c6b3c0bfae9e89c5cb51a27d71bda7ecbe508a36e8f186068db738f30fec60dd1dfa06bf7b7d7f9e2c2714a1d45168c52916d302380ac619f336ef8f4fe47b9a302d2f207e6de865d68f7b6a1eee5e95012dd334dd96cf68191bf8ba29bde37578da2209868d6fdb1475c331e59d35019b47453bd9b439ccfe74d6af5b880ed9ec12c02485933ced4f2070d777dc00000000000000000000000000000000000000241e1a6222e6b7bafd350078775a99123a6f7ef728f00241791f8499b1d748497c103a47d3b02b541f796f2cd4bb284b4cfe0422a346cad06d064fcd34d19d7deb6b74c2cc4d26d505c6ec453157b6022a9d50b9a75bb965c6a7a91b9fe2f629721319c2c36e1947049597583a640591326eb26e7ec29e1dc5e68647aa0bc5325c341e0a80d0917071c127e09c8c4f9adb0f366cd54c2eb20f07c7eacb82a5867fad3668b1ba970962fc5d2b251015cd6949710b3d2e4e09bf55a57a124980ba171e3457bcf9c29c352930c01889ee9cb1d6145b8171486e2098f321c3c1ca4e367143f63e00e67bb1e454f177fe9bc1fe288532a44c458e8c27c5b4cfea82a06ef6bb30d286b919751a3282ea46fb99130c312e8cd335609cd76af262f3f2deb6cb790987e134bbae6d303db4ff7308af74321cf35b9ee077d3285767866e0e03966fe5a3e41da499fcb22c9f60d1eb503a1e3527f84804161f9f8934862cbaf58524a7e0b70d568e84f5a674c24f410ea2ed7ec45ec8bb535fcc5284f22f1859af726da122b945d558840777d1634aef93247213e45fa89e4d055b4a883251b46db5553a4577b3c10ca232a60f77a97eb373a6a63057aabd12769261309fcbce389433bd0d2306b1e72e2b6aab12ff77a4467598ce2ff3661267faef860e51920af4450156e0a74397e7c29300000000000000000000000000000000000000241e1a6222e6b7bafd35008c1835e8c5bf381bf03381ae23e37373d9c3f2c2efe8969bdbdb3f181743e41e15ca030145b3b7b537a2459c322fb4dcbfae7099d04160c19a6ca85e87fac4dbb4ba2824a35a3c8a5a7de338bb228a6154c3c35189bf5e40bcc77f0eb7fec39fd462ce8d19d81a357adadcb540f9d06087b8bd649da7252ea65f94c9eafcd072695f5bb26448bb283a749588399158afe23c697fd46d842fa99a307dcf74876cc936f3dcdb5d6425294fb17fc9f66a0cf853ef81159ab10a4b645c1d6dcbc3480d9cb18dd18bf6a11fc2f849828e5a6f0307b61a980dc3da025a439c75579d6d98aa1c6a290c139166cd0f33e772070cf151cf4f6720d14f9a995324adb259b92a9737e29eb828a3c39a36086106b88e07c85f66a7efa8cd94b0406b7b89cc7be8a66126c3ca01c8819c5cc7dc02759df64a394ec7b48015cdbeba1d4238238f1ef12a10a200ce50a99b1b0e6e8eb0c360b35013bdde2b0366637d1489cee54f47efb9b0d5db41cd6f419324e080631fe0a2540e8b5309707be854abfdc628869f0f8cc7b8f1cd331fdcd156d54586270c0b035d458d41958aa7e4a612d464f1d405957543261826bf9929c72b45aad145158f00c0f181bbe8615688be9631f55dc70fe03e5438c65f72a4bd03e515d677ee805ab9e6f1ac953b21a4bb0d88c5b47700000000000000000000000000000000000000241e1a6222e6b7bafd35002c295f18c070f3e103bc148e9160377c7e9acbcf3fc3f1834cdc5158bec7e585220c4cfc45c93a106f4b495c099511f087e6223236796e5af94295682a7a41cf8d9554869615f89a45bf37197fa8236c2baf5870627fe8ee3dd2cbe350cc2d8ec9f95781896607aca135522c9da767affccecccb00870539a6ce6ae2ab3aa6eba61fd1652101aaefbf98b58d9b1d5fda61e27cf742005bf06d63ddac177e893eb000144aee382aada1a199d6b2381058d0867938ae678c348ffbafffd4baae9393f756b2dbedc3fee21711de62881875f8c21534c5006e4be2d0aef85b0a7358d7c67d621494ad1a94fd9648f0a0cdf2db68ab4472dcdd3b046e3b10ce5cddcec6f8c25bb0bb421c2c078e35672bb5228a56c07ef027fdba73fecca323eebf40663e643ef82d388767334db2d0d2158835f73e13f12b06ae431bec23d247ad0f19a2a9d8d128d512c2a6e0033e805fab7122665bb48609af5da56af0160b809de7f3f745d578848bc2ec782338e2dcf7de2ec5a76eac358eb4dd9fab047e8cbc9328f6af32930012d493e43add8c7cacdaf69380a6616131739800306a7c04a7fb1a1087f306685bf219d26ffebd236b8c3f563dcebefb58cab15d477aa78e5d3e1717582f71c61025c99a62d6973580e74bfa64ec82d0f297f933d9664656e607f700000000000000000000000000000000000000241e1a6222e6b7bafd35001f64c16bfd810e735a996a97e2b127a88bbb83ecc762e899bc5b328e09151387049ad9cac576badfbadd7554ed7ab09fe9672962626ca352fbe89044b44f5ccfda3457263fef040c3e73985660d3fad1dc021d42903233a34dedb80258ccfdeda0c2fe7d7a4802e9c8649d73a744e63a1c5f4d19c9ce9c8f32d771ad620911e127966193249be2dfc1b845b41f8db456b34e29efed000f0bcc206b72bd55988a02dd384e345e8f6bae7f131acbebfe0072036e2e44e3c8b0b3ba4a8b0bd1f393faf1c4da6a90d2ccfa39a37fb2f05bb3cc657f571100958718f932296028ec20fb939ad4e1efb760940c1ea10e90998a32a72a57beb407eb378c9d82b0d054a903d1278d1e4d0be507489315eca62b542766e57b28fb0112f0000e29b6e58fae456fe69baef5ffb089163cc91d958a6a29e9989de5a787e433167123ec334b49c211d199a3bab205ec5b241d8b2975989679ad242648d171d4c3b7d7f9b3246f9b103b1f4d173212d74c9a557dfd1e60b6d5d27bf8bb3821089feaf19bd69992b2a0ed7099f75f1914123fe3b15d672ab6e2cd99a31cd71fdaeb33bbbd600a67f58aeffdcd4cd2fb8a408476498f937ce6be88c1eea47f98cad7cc858e8210003aff434025cef25d03763cccb00adc7080983571729148605aeae3a9428de67e274300000000000000000000000000000000000000241e1a6222e6b7bafd35002453cf864aa745a89cbb891c9d28fe3cf9da6a857b83707b91a24e2e8617d3c6bc715ddff84fa22c6babbf90e69bea6dffa356746d4648ed3d4a75b310761eb6be6b04ceb5b01bfff012e35e9783fcde53313e42fc165b4f46fdd30521182819407dbe780aa0fc19624e056f1009d75f3f6824944f440bf35daacea1aa5c6843803856acdc6d25f6c929a894af87cf6495563bd6f66a9fd2137004f4a1abe39210ea52697f3fc31870fc3feff6a5dd24323837bc3a199bd5dd5af8bd8396cd9f345c3d11b861c47f8bc9a0129aef1ccda4a636ca9b498b923ca8cd470c3cdcc7857be946733efc7405656b7a5231d872d01c41292e0e899da507fef125c30f87749541abac12402e0560db3184e78418055ef3dc1161cce6a21b1271d4940634ee0fbd703682916da808afaa7638c0d8aed3ad50711cba2fbec5911e2346bebe5c1708586ce8f9a2713e4f9663123d88425e487a73275cf62c71f0b0c6665bc53e6bd2606e0f1a037a457ef768030a3abd48ecc439791d464118a186e84eddcf107c6dcd565dfab23a79b3fe66f6aa819c35cb4e8edfd59795046faa8d077b922f6d885ddc3bfd9e77add893209e59c0415fcc93de4f0374e762fa7a50da0369815f0086b4baae73a25f66b87ed3ae5001ce04e75a13d68ccd2ddfbe7c63f02735b400000000000000000000000000000000000000241e1a6222e6b7bafd35002b2f34b43b137ad7b31d75a5ee2afce4108167e96ca9dbd2ac83ca7bce63252e2671de34501eab505b59072ab79336b5e511cc48beb796283abcd24f7c27fa5c002f5f128921e9178acf1666e80a5a4de104fd1b52e7874b09fb71c87c7798e9b9c2e683a28a57afe388a44a6115aeeaee3100457cb39615e7f5a56d97c78bf0ff8c2184f99825409ef80183ebc395195cd71d80baa32cfbf237815b2f05a3481ea79c509a86abd6b5c6444f6ced2ade85bf74e7eba782a782cbcf73f4c07d3f9a6e66800646cf9d0e2b95d534881c107080d47982b0810232b65cb87aa930d0be60f860e13ca0900f87ee005de42ace93a918fcb7e0762b68f0e7b083ace973ba51448395591063b0b8ab89445c260f990ceed94639d52dc996699ee76f20f2007c5efcf280cc8a563555ffef5639b9f5f6d54ba4565415327b2e3ba7378ceb4f9aaafc94a04f3e3ea28cae21409abe6636d329ef8ba14d360a23c9bb5139a2a73a4e39633a289745fb97bfff01ac5a0209ced77ca30efab3f32db8b2b62694d4c29dda69fe3945ea09759080969802b8979ee5d2ba94b6b171fb689c83bd6a4e29720aec007fac9534f4447d17fa24b61493fe610ae1c61f432c9ae2fa0181f7284aaac21876cc9e082bcb08d9d01629f8f67a0d58f7b3db40c39a4db510d9b20d00000000000000000000000000000000000000241e1a6222e6b7bafd35007921100b52f7a072b7611ed77423cb2aa15fadee33136abe14d55e5166d6fdd4658f39efab86dc925c9919f582424c6f73115a0d4d75ea44801bf5fbf3ad08018846fb48305a7cf258b53bd387dfb8bd9093e61737fb8c3ff80be12025f8c2f6b498ec979107823453754fe97358a27002555cfae5a4ce9d7c6a18759f5af69873c505a978e70e65b8e7ff1a538beee225548840610d9adbde0d103ce3a68755d4575a3136a75cb199f4cc4046886646eb136164b143d53b6baa315a1b7b695a8c0ba98552f6829247cea12c13a1655aad95c3c61b09a47ad9b3d9fa049c872306eb12084dd3aa776f96ae406a8c7d2740b0f7aae43469f48da720fb90aa262a882dcb5dd08689e9637fc2d4adcedd99aa73df09173b02432cc34667f824d20f47fb903f644c226c82f717fc9e1acff98484e6d24d58d0f0ebed4310141295c44aeed5ebce58ab9ab0e7664179511910d41a68df43e6b864125453bb13abd4c42d007572e881a583d10b2ccdae726ec39ba90c85c95809a0f6d5547cd4652840b4f73fe543083a78369ed2ee70b7cd71e752f945693f404ac81065f69bc27c9ed07dc77b3ad4921abee83836439a791b474ea440f009e4d8e5908f6a9ccd02cf62fd1e32c05ef10c05cf677e64d5ab7805defc7d4f9f06cf9a78703956e2f6fb28d900000000000000000000000000000000000000241e1a6222e6b7bafd350003d32c2dacb4c14f1a346966d255481ec00297419c0c262e98ede50070a9034813f87756481e243fa535816181ddf5f2a4d29b64c124f96b8cc0a8db101a054504538c9ad5228b0d980d64d84d8f1f1888a732afccf4647090826f9d68223fc943daff6d682d304910724c4b95996a2ea71d05bcab70c8b4d49802cde7c4012410e190d3a617697854f4c7e997f977a0ececc1eb151e7188117ad695455cc4241f97a830524d071416d579a1da75bc877cf1c264df0e45e4e6de665fdfe92e052b894b4ccd86104f065f8ff822c29bcbb5152125bee429b5d1062440404df43217e1460872158a90799b0d6e26279d34cd290100b757029c20f49ed3228a1dcdb1127fd687b32a927c06a469b7075fddf13117f95f540844beb4b50445451dc3a9c345702f272b41375fc655194e624f720acce4d8a1139b7e2ada0d68b06276bb37ff8972d0704d835b00658630ca069c978ae55a9f8425f788da32c28256cab4118dd1677577a06904772a79cf1bafe3ecd050021dcc664ecc9838d4f2b9019865fbcce6394be217c0031e9f7e8e1393b542678bff676e1b8558d9be0b5eb7c125ed5ecbcaef9538a9314874b98c7c1bf570313b4327637f8a316cbd09dc91f0b96d34002e3ee459a46d5eda4415e4255023f7b8d34b14d4bfca2a1b2a44fc956b00000000000000000000000000000000000000241e1a6222e6b7bafd3500fe28b4178083178b23fd5fb1e36426d0ce0c9b0d8ab2459147c201d6115929c6e6d4c95df07fef86e6a0fde6be7417a422b6292e8516399f9a76b654b3ded18ad31c253e402409bd3ba16b0999b7b224dcdddb6e132f66252d5390269031a7f0c5137c043fb7c7469a61dfabff54ae61147d6efd449c54ee6cc0081eadf7179af1b1512c58ca6bb9101d256ab3321349e9d5c583e4121e3af75b921e7bacafb7f322a4eb2feae75cb541619d14ad4ddf131609b0a684bdadd14e3ab66bda16f3139e75055ba47d9915945b5d3b209a0b0d80e2cc632c03e64232ee4ed9f51f23e2ed71a15306cbc21af9fc0c99f0c29b7dd2c3c3b4eaeb2c378ca0e61712586b2b2d557453270ab5f5bcb2d06aa4106d2c55ca9e654a5051a2c582fd132468663901256980d19d0772aeeec56de1fca9023a0017081ace1c38e493d91f726a0650f5de28ab7d4b4273aaa0939d5f172f270f90b92d867388312408daae42f2b7bf0ed0b536216460ed5cf97c9270a224f9e65ad2de168e6bc29ab9204ad794b1257bc6a31f93062c9a98c238a4a353bd481b814608e8b457f18f084db4da0ddaf476d5666d3d1a20ec1279528296bf2536a12ad4f3f2bba6a17155b30c7175a3a1c0a8f5d7b8cff038e90ed22a2528aa15a64ea321d493ed2f04422bed24693f2a8d00000000000000000000000000000000000000241e1a6222e6b7bafd3500d6616c91a7e1448795f1ec53dc885baf6f76c8c7862323ac61d13ccefac6e9bebef5ccbb26ffe1d473e603e9955359e402d59966fb3d83fb4e6fce44a7147835055d385c489abf207de9ca58ca3ea735752c262cf66694dc9000bcafc1153fcb6ec660bdd4aca8ed7f31016cf2d176ac39a939879dcfb1a2ef4c83e0f4a761dfb6c463c0e95d9c529f77515a2dd7dbff631f08e471c1115f390b335d5ea21cb4d93825b1a0a5b9ec670b5836c972a25ddc1bb2b22c411ae1900b5e731da8ad2aec1f5e7467ade85e62a4c338d354bb79f6bfa242169c9ee450fc4c98e8a84f1c3f661a69435cfa8a9912e98b2aa952f59778adb1795453561073987989cdb8209891bcf165728ed7840d253a69bee7ba793358a7d0796c4c95d6f833904c1790afddfb739ec43e0d6e99a4e4e8db053e4825b119d331e56afd39c6daab2c48f962fcbff6472e2639f2ee6afd1c38e2f2b0ed1e9862d6b915072e67ffe97c9a8914950414c2d2b491e5628b7a35b9d16658bdcdb8d714a44f87adcc5dc4bfab03fa93565ceb18c6ceafc5622239f6ab31b85c315648422254a641836df3d890185652ee176eaad00186a66db2dcba3f642ae59396b112639be0c0b526d450c3800b9f4d460464e4ef645e823b443375e9f3ba0487cf03cd587e3adaca9921b322fa4700000000000000000000000000000000000000241e1a6222e6b7bafd35000bf10d08fe5f16742a57cec6c3ade34a312b22eb13197fcc5d005d6f61cef319b4219e2abfaa2778f217b3875f589c9a8489c4fa2d2fb63665e98b57539a1820433f33ef085c52744ba1fe01756d1c8b4c4106c78f9405ac2d815676aa96ab5242a18ba93b10bb17c48b98663c8d855841512cb6504fc83136f8217146b5662d6a957d75c2d12089efa35656bd447de09150abf01deb06a1cd9dc01c8b377fcb89edede7b047f3fadb3ed30a393cdc29fd9d16e8c38614928fe2fe02164191c21d10f2732cca918ef21074c0344f20ec95a7f47da2c56f5df83ef3d324829435a5c90e62f630c91eacea15a456e10aa4cd19254db174921554bad8f924a38302b891633a159c4dc9639f55d5c10585c88dc334fa5e58de80e40b1c3724d4ce90fb737f860eb752ed5e8fb4c26848a4335219cdb85cf0ff99ba69f61650cc8a222494c4f1947f9c0cfdee7d40cf02405dceca0c6bf2cfc13df653ee49c01e712e2dfc18e4bc0a365ce4c8001da958701f16e97294ee4159265b06bb6cd07e4bbc8df6f166e91c069984885233746ef10d73926d828fb30184a6d721643f339ac98ccd2e34ed44346a050c1daf9249a85d88437586ce94495d7720b83092c892dbd06b1252c0690c08e8f86a4a1d10e137de1010d68ae701b347ec55a514f7e5a90d7500000000000000000000000000000000000000241e1a6222e6b7bafd35003b016f8e6c51d78cad94a404c3f9a2d12a1236552ed346809fa11dff129906c31107ed3b50bdfb06fd693f2686ae1f6384db6050a87cc55f07a88d6d4d1878abb6792b4ca537e727e1152c9afb04a3f81c598e30f690d4badfdc837955998d9c775d02ee6698cde42380cc582c86cc4d074f33f80516095cf32190ba12926d00f44247dcee39b22656f8d196d92dac15f8fd41c16698338da3489c0b52fcb7fee8264c8da7a15b593fcdb337d236f897221cdfba4cc17e4b7458751d88ddf30092048ef22038a299fe08a1c3e3c1a53e7ff21dbadb191e0a89bc690045f3221fd9535918e0a410bfbeab5d5c1c78b8530f89c87579d0b4201e258c9c75f53349b0ac6d38d4f336a227ab6fea322026e3b52c2301b6acfc56d0e315f48abfbbe7b3f649eee8de7000deb9e01c9457f4b507df9ed642ac32624a927683d5dfa251a7f78c8302e4edbbec583e4fcf00a452c2ec2a898a3d2e348771401d81db747ff925ebf9dcaaa9fd17177acde9f06c0be3b49913b834a83c41f16a0f56bcdf866fcdd0af15be759c5484d1d7ae9a0dee5e78d0a56b5649d7f2d3a2f6907df44a9cd8b53197a954bceae843fae55837916f2817cdb2f1e8e8dd7ec7d34e1083498436730c4a7b1ea4cab4ab2d34206a5feccb916abb1306c4b3a015848010e39bad3b00000000000000000000000000000000000000241e1a6222e6b7bafd350003d662066231cc3a2d2b7c255d135267fdc0ba92b89a1eadca0df222845f7155040d855e9ec5f0a96eb2da1ef5974a9101fb554e96cb50b8c64329c1677afd909ae159b961dfa14492275d019e2478a39a7f7e02060724bde149a8ab60a9c5045ba015a72654bb07fd832c10a66506a4f4f54bc8b8a74e6cec89b945d409702d67275c2b8d5f4a38de6b167b432cbb3edadcf432bd294b4e01200926b1b79daebacb1f5d3d17aa6c06f918ea101756dfbe07e35f95c11c1bfee1c9a6b5882aed9e293a8269d0c2a0806d35f53daff8fcf360611b487a66be56476183b1b174efb20ce5e4bf5f16f24b267ea519d5dfd483f84a6bc4c25d96bba5c941be01480fb7d4340d6099627fe6b1a0807f539cc73bde6dfc6aea0e7eb069fbd2f49fc155e945f911e6bb6357a245e90d96ab5d3358152ba751bfb73cb2836eedff3fb5c5860f69f55b9ed836995d68bb6caa549b4b94e707f4939da4148ce0329110ad6e7f0922c770df382af0a5be787940e1d8be5e0a54c2f921a04cbc6a5ad18fb0e8456a4e38611cd02f353099efd1fecccb370d86602ca9df69e15aa14aea5a4911b28a9a539c655c8a7d4ae5a55ea39939092bbe03e34b21040bdb58eb117d2510757cb834a58dc88bd73ff10ff4b320104ae27bd21141cd8398e7f7b259a8f71024c200000000000000000000000000000000000000241e1a6222e6b7bafd3500cc1c1e4caff6a839d1e14a832d8dacac1c9e1abacd59b6935ca2cbe129a23894274bb21cd0c965e243ac4adeb204ec4aed10a8d5b4a102faab88eac6bce90680e7132289c11add02e6cc3909fa93c0b0cd39fbbe8c64abf4834d5174d049e2dffca8319ae6a61c7c81aeb33686c54144255404c5e3968fe1ec67de7d75edc3b2394c3572ae5a7759abb0e02ddc94e8299f1865df5389cf25881e48f59bbca8157c97c408d040eda9b14d88ee730bac91279031ebbc1ca8b9e543d71813eab49e796fa43ce26e5d8a9f4ffad0f5848cae440790bd52cc87c9b278c54c8441c15593c1aeb1bdd3b993f231e649dc31c3cda9fdc047ac35a4e210ab8c336ddcf50f19efb97a62fff8fc31686b91af5fed2bc43cb546c418081e2a8b8544beb6a1688fa1c808f50e80513673c542133ac4d0b6f822cb28c2fc5eff64975f5d426701b0db1aaabc1e70fd82cc8807985883c1a27bdde8316abf296543af2742b16188413baac83be216e8184b81b2d8d03f067751f95a8d3e63534436708010643d7d8694be4c836cb86e8dcf8851b9f9b4ec1c20b5ff29043a56e0d8d13c623a26040eacc204f28c47f9bb57409d3dc88adadcddce2f14030209dadcfd47f39eba377db866cc8ca274f5b36961b46270710229493aa455edef7812e68ee6f8981afaf9ac00000000000000000000000000000000000000241e1a6222e6b7bafd35005a887744564f4eef72aaacd91cb3ff144d41a11b4e3ef39944b5ebcbc9acbc5183b72f1b223aef71a8040ae19430db3105db9f3c5be9063c23bc8673de8b36345ae980eb734ca0ec50c6f37c5d4c5f5879e654e2588471bc96e5c48442f623ded064633def894a9a9c2666b8d342f94be98029f736722253c40f14a9fe6b6aa7e8e3290aabdf1856bd5d423dbe0bced4979cde0f9d35849b86031b44be7e105d4f24b14f526cad1ce7bf537d3759b8ad9274f8dc1d9e0176de3289fe5ea91cf88d1fa9108da7b4ef1a064eb7732babe2e652708edabdc2b0d39e13cc5d85a389b23698cada39e60b925b3dc48d0eb8f2cccf5f711eb5755d057f654331fe67caf19188ba201140eba1060a13fd6e903c5f8a961c4439cf98fb61e044ea390cf7103990e0d01f3488932eb2680b31d67b6b3e9d25d3c3b05e7a22d121a00c3671ddf77fb3a9e37b17825f40a1db56b61f7cac78e70feb9fb33df1ce1e5280e8b61612067e682ed97c761e59f8486ea64a916e48039d1fd11b5710db4a2b1bad6b6cc6d47c3f6269ee31a243366c88217a77c84dc92fc1df3897a982bbdd2dd950a69bd217a8f20dfb555d15774697eac32b53d70808987bd3a79f609769ed4437e2c51452129ccc7a682275c8644bb4b83af4750bd27e8e4823ba59629432264a77f000000000000000000000000000000000000000241e1a6222e6b7bafd35005d379eed49d3a73996e83697ea26d0991a9d97416b87149c7b6cf7cf03f657b4bdc3ca41f649980ebe9147b14ae788197d90dfff499d2599c3bdfac738a0712608bc92cec12528c4790740f4c14a86b7200a49d9553ffcd63344156f5e7536820fb697951a9148ddbf02c85feafa9e1804b3dcd16810bd90bfbddd5f122a280c293a63d05ee70573393eee5d164d942ef38e00713bcd3ad240ede9dfcd95a6414b1c49bcbdb1a0574d3384d8ff3b5009724031a62998855efbfc05c12d346e6e8eedeca3bf4c3d996293b50632860a474599f4592c6cc9ad908ea4d104624abb76b9b3e1e1190fbb156de3c19d243945c47840959a3e96e1f25fbed5effe3dba3dc185f258259d9f86efdd13df07980abcaca9af99141d578af5bb4e802289d9c39002ba744d7a1a3e13d79ad2243c338c1412799f1aff3112763989cb8d80eea5e6892966463dc8aea6fce33fafad41e5d8c4546413a8693b8ac43a58756716ec8d9cffdfb543747cbee32d1415e626db8b2a94fd4dbc9ad2c1be80f6d297bdd6fa4a50c8d1921609289459ce9d4734ba5f81f4604497ca0b2fd132ea8b8516652adc3fc39ba6a0343822fae703e0782fa9ac8a3ecc67a8eae087297ee75835ffdb2e4defce913fece48323ee053b8b22b98c112e5706054902937d757e20d0743200000000000000000000000000000000000000241e1a6222e6b7bafd350081214a66540538b748e807add57bed32303211eb5d30098bb4777f142d706dd5948e75867ddb9a90a839bcaa98cfed9eb53fd118f616034eb88ec4d82debb7c5efa8fc1cd61c6bce70eb6dc0cdc3656d135619aeeabc8f7ecce8d28c6ce923eccf5f621d5785eae70d74cf5df55e4f1b0b8b3bed207170bd4619e39ab10f31a7f414f4d3d5c24fead2e18db90173526c6e6ae7de90a0b79333f536530437c5f51df4b49db126b8040ca67514c2acb94f366be7553425a819bd8ae44d8ec4f0a6e0618824619119b2df3a0a703ae31c31a42675659334a22da43e74387b480abc81323fcd89fa2c9f6602984b9bbdaf8b6f7c2ee577904b4f378612e46f0909e2b57f2e4f767b47b37ed78445fa6a3cf9f19d7c9e97c66717ab8965022dc5e667375a1382b1e03cdac9525ada7ff1e05be12d313f5f0c953e1d591dbaff1d90129da2465342efc24c70bd260f5791ba1a556f5128fc650b67a10bacf1f1fa99c4299c8c94d70fad4de77b410b0793302ce3a46f8858f06cb43d23368ee63c6f7bf8bda7ffd96d53058b29a70e48724e1401045b8b0d6742df6b7d24a5a9424d1b4729e75c0c6dc83b312c401e98b2e416ff6aeb6c558666868a5ce9bdcfcbdce312d17ee3dfcc126e20ebee19293176bc5c614de5afab5a632eed2882c3510054c40300000000000000000000000000000000000000241e1a6222e6b7bafd35004fd013096cbcf707cc5ccda564785a7cbe28c1f0486986a8b51159ab20567ae151724a7bfee1884453fbc6db47b447ff9cde45e94239a07fa1430b05e7a9bdd18d58b518aedf1860c1970c9065e4ad8c667c675ed49d65305ce242cb35e703a9681362ff632ea7b81615bac7b762574739a369c55154a85d10d8863f40cb922f7ba12332ed13a11d2ab81e504d9fd881ed2a77c5edd39d2e7d31ee03beb4174bdbbd4ef516e0da344bbde53f4794dfddbb899d6fb5ef0f508a640d31644db43d8b8730dec473f949fbac135d79bd5956a34031030a9c208a6757f5c823df6312979894fe5290dccf3b1c5e30f308064cfcea5ebf0064c1f13be3f94ce59d51ee6a45a9ce83c64ef66d87e14e5547d98eb93742316a3de0f8de77f06684c82e4d74d6c1ded42df310e8c891636b40101a6d661fb77f97c730f37e9203fa4004750e56c59d81c752fb908f848ee02cc667a9098de3a20557b33eb81d74338dfe0b43a3a7347e22144a8c1d09ecedbe9161581a81ee449bb5969742a7605c6d3d278a2f7985409da35815661300a92a3c2a50a402c5a7fe167ac7ecceaf1a7ca8d8c8e740e86e9eb75ff76a9f6774850be47f0f5f7ab5a472b86841300ad5585df0269afcf95285ea87ac4a038dcf4d1bd8f689c086a526969b0af1eac929523899a22300000000000000000000000000000000000000241e1a6222e6b7bafd3500cfc67341bdb705bcb91ce98b2853fcc74314ba7bbdecd95177d7c2745adcd4bbf3d31a7808725e4d123f88398dc52d67623fe8355e3bb11db6c8d5fcaa5b5ed57613e042f1452307341d227637f3a790d2cce5ca0c37d3031ca4174f1eaa6b88fa39d30f51ae6fa5df1ba38ef719773c067dd008eb64c05cee02b7c840603fec2c75b5dfeec6664db2345a683f1af8edbb4de8778aac0a3f241934e55121e3c790b58c46d397d2b1c634b346719173ae101668fe62f9563136eda2c202c237eea37e5f72c639770153c60644d72fedf9d6f15281579422c58f489c689ac1827c9cf3f4c4b880bbf938ad7932fa878cac3726584b8e57382a55c0eb697b70fcdb64b5c3391e6cd3c20195083548c991a241f06b722c0e6a0e4e0498ac34d5dc3faecd64cfc828771de77d81f37be18c3ec2520d50767fbbed422c3a81ba35ec097080dedf4b0c94b65edfdf63d0cdb5365681f97beb2c87c7f6537c154f4ed57738ad02d874115c07a729dfbe2c5e624b87eeffb408143a30ff1341997628c05a6737f68b2b129d6b2cf98d48939e260bc57ca73d702138054dcb92fad05fafd46db2c1ee8502d8ff47583988c8336ef45b064f5eeddd6164f286d6e6367f3b0b65e1f2eadf67e6ea89dba2b1bed768249e75c3ba325537bc04833136abde4c60625900000000000000000000000000000000000000241e1a6222e6b7bafd3500af599b0c417355da9cc085939f83423548abee82b77e2a5ee298a5b854e2c911c7ca7ddc85d9ff09682c30a74d26516a8401a9008acab744d52774f864c4abee8bef44a8b9c4087ee3d6db08ecddaae8c2d64372ebbb170c423b53c79d1bf10ac7f5e1d529b1fb6b2175ebc849984398ebc6a8b4c1dfd36c13db8a2af72555699414e5f44498d3b9d64684fd5a529e36e7c343f0b70d7c27b2e9c2fc777b92c7e5258fe1226f293bdaf5df7306f053aa705061d642b32f248f79bad5240e0ef2921478424cc280e8906fee69a953718d5eb242f88bfc40b1b04c9b3767928c5d6249b7f62e0e052abd7f48af6211e8c14321ebd76943e82686bbf9cd10e36989ca342fdf0822e61a5c0251579543eab593495b767fa59a62d2105d2bbc1029037d9352cad067c3375d2f298d9d3f8f18b163d3a0bf0d1fb32507e6426878defce2e9b91e897ff89c7b8213e9b99d8a37a27b6d3826552f352fe722e9979861a9c8ebf021eb4951add994523adf48f26ee266fe800c073cfe1d8f1d36d47b98c589297cfbdc97158326e01a38becdcdb14eb6ec901df1693c1b8abd04239d174367fff7d135c3ccfb7dbbb2f7cdd4d65e86d435c10d402313d70b724db108ecff3e83af4ef246993867111d69a68532e1fcdff7f1dc0c7c6e1a2b527c4217c33f668900000000000000000000000000000000000000241e1a6222e6b7bafd3500d23e471eba3ef6c9e262a13bde4f3f4b8cd2ef7e96408f822f3b04330bc6870795d5e5879bfb58177d785c031b38f48ec9cf1a1bb27abe6e8791dc011113cb963e727df4e4e66f383d373b16ac2f2cab86195d965ba526f980cb00ff8f902352324af2229f52665fc4a9f98e32e69aa774aa57badaa0ed2a1666ee328be0ec66afb910ee15b2fe3f3bb7976c2720ba8e7e962410dccdcc01e4f08c4371ee7cec1ac3742e40fbbbd2ae8600b45e9ab311872f4927a85425961c30bf0c9283822ff9bac1bb5c59f103c8a527d38fc2ed301d3ac0f0582592bd524e30ac82efc3c2d31e048e896b95018c965f88b38b0e55c833f652210c9a429df1a9bda98423c0e4eb41dc11b2c4af57df9c7facd2ae65698b715c1653d3e3750526f0b2fa4b5d05b2c7cf239f31808fabe829d8b7a70f45355e31050c051f06e646163ba54152ec77697d60157eec2b9e7737ad97e36bf6f1b2f486bad60e52c0be0c3184e3af3ac353bfa06654d6bafbe39f0c0c863b88f608fde2af9239a6dc1903c9b4aa8b94162a1ebc510c31b46d9cb4441c49669e453722aa0e61ebde7655ff3cdc50caf3efedca48b84d68041553c9ed863d43c3c760b16974467e08373a7ef306ea92b378a7f525be573572804b1a94a3486739ae5fd7ce162465b1bc24370aaa2768de6200000000000000000000000000000000000000241e1a6222e6b7bafd35007961f97a4228198bd849c29d48461b741f19e2f9030212cd7f9e66402fb657ebdbee8533d6262b04744384eaff00e739d4869dd96671f2ea05309029176ff8a55a7a440cfaf2d4f843c4ae4e343dfd801092b4f81719b8bd6d252e6c718afadcadbb23daa03c3aa9a7b7832fb6c0177f3c32fc1adfcd812ae327a789a500dc2fbdf8eb239e0d643f7fd70062cf01bb96e2aaa87cf7b0622938df2c8c9a5ed9a6db2b431a14c40a62f60a1355d0fb33bca81dc045a42c0bb46d9f3e08c49563396b6c3c43a7cde93adf79c7e3780161709f0ac460f47cee6f25265ea296651227cef4aec3828d4165cf737f20943fd1435dd11b7623605e778910af241678e508039c9e021599e25648337a4c02ba9444e6394f739586b24392049d801d6641480b6e2d55876995ff8117b1237bb4957bbf334a145c865966fabfa77eb040c22ea92f0180c3973fdba65656234bebf3ec1ec81d9ea6ebbdefd08fe182931e596b311574c36fde58f138aa57b453d47cb91d1056705de63714448c1847afd99196c5923fa921eda40d550d7a830412691fae80b1b1a4957b901d4623a1816eeb5230a7e14584c5e20c95f76d3d217e50c37b0f3120bb865ca55a6da2edcfaf1ac287ef13a5cce851335f247367224d1bb0f86e72dfa86239c1a31df803bb23a90521c700000000000000000000000000000000000000241e1a6222e6b7bafd35002ed037e72fee7b9f1fd4b42376bbd910995c244817f265f2bc059311555303a0b1ae3cd2f3240b7f3ca45d7f587a093b2d2bd9e49225aeeb3c85f5e0ebcf534fd50a2bccdf628849e88f90cbe88735e45f9bdb8aa19dca52a7574153f5ef880af50fb92ffdff363432ed5869e1586463ee6bb7921e36650b56966fa2824e64081ee2134a2e4a8d63d2127b049ca9ecabe9c80491445145c9742137c87b8c42f34f7566acb796c610531d860a4e7749ecde1e8c9d3cc97b758b2fce2cced94f7e6c86d5644fa2bebe546f19a1e327794c3a68f917f4988cc52ce8473d8c04df62a2460308ee2cb200cb0c739f41e01765608ed18d2b6fa5b03e653fd748dd609aa44afe326283be35840ea2be3f97b6b112e0de9a3516206d6500d74a0b14c146a428e4d0446e543ee23a21fa588c95d53d0a21ea851a5184c1349b8499684001cb1e7a2535760f697e7d24747200cd3230529030c1c203c275ff30e7538ae6954e5fe73b8e2653e264e0b403bd7d264b137d776166e4b3a34dcb0a39d8619d007b3d2fd2acff22c4b36b28b1e99cb9c49b4f88c6a0f35db3cf3158bb4895a345cf4157fd6297914c0392222e3fd21f69a11f5b1bad76a4ddd40b778ca04d1e05eb465c31ff011809ca081ea947f3137a9ebfda432ccb1ddb2fac8137847c64917ce300000000000000000000000000000000000000241e1a6222e6b7bafd3500b45d653c884dcd217f2b40ccd817a23f6fbedcf10e6783e950580770258bef0d805fb085fc8b1da842e04182abaf0f307e1c2596277aa0413f18b352ada7e95a42aa3c74769dcea32a613de57a9c58cb3fe6be6016433131e15386497cdc34925a918c24df7f70a07c0eabddcc7b1d21334a422982a083ead68e4670b563a4317097f4bc51c4d32649875874a9982667fbf31b4f95c272721b70f9a8d6b1407c8ab091b5a6f744ea8b74f858299141fbba3f285b8b4f36b5e5c22dbb7a2a0d1e840c81a9ec9745b3b0c5ab4e4c39c66456cc08887a791de3bc1f2dae15d873df1d2f6fb31cedf0ce7da12b9d1451fc666ecba72b96ca59e43252bfeb8db9a44e4d97ee576389ab18fbb57abfd146358561fe92e20de384dd7ea08d501300df0f1178b00591697c1be2d11da76a4fce7acf52259f6a032cffddd43d87e5fbb1b5d53b80839d0017d2086481a1446166b6d5016152248fd7376522e924eb88097abab1c69a40196721120c5c4f75a8fb01a4bd41d96a11dd8e0b7ebac8f4c10249e20cd35ccf7a714aa06f7ccc82add5d4d309eca8cd49c9e36ee9fd127ba50cd58d1ce47dbd0ecc25472a04f0c2c83c33fab4affcf00294c31866c7e5dcabcf7ed3c96106beea4135df6e048882bcd67aef04b4df7b30ae403afc757c828ba613383400000000000000000000000000000000000000241e1a6222e6b7bafd350098ce085367d05fb5f1b81860d3c645a874d4cc4d9fb5231a1be40d12f8b6b42e1fbab34d46643ab842a77d5b4a31eb3fc1263b17bb2d236fc04c8da42b88a67949d75146aae328d775262f8670478da4c259957e38fcc9baeb8f598420e6caafc920ce89266312434c9f94029dd1edf987f66d965e61f93aa337367f84a9c553058f87222a52869515421cbbf7c1733ab136a0da3a6c5b16702b69bdae0e1c916d07b37b4a878d1b524daeb44e19fb8cc15ea66e2274dc8b6873e95baf91206fad48e1064172180dacb7e94ea650749a7896c749af4be7eb1c3a5d227c459dae84f64168c0192298e252cc78461cb85a66f47cd6fcdacd333e1d44332de278bd2da129a22f6c92a51987d1994df19c97dfb3eb23e1d5cc5eeac394793ba0a4c823f847674ab29b4524ef7ccbb2e7792fc147bc80e052831917f5b508ba08b2ba2e95f92d1cc900c2184f29a943699bc7fc67db6b138d5ecef708d19e17bb502f2941d0c075b7da94ec2d72a18be69196131df18c7e1ab8d1424ee88ed8a92adbb5554ce63905913a44888de257569e24a653031370625fecce6b72711b6715e80da8bfe41503f153c028bab2dab46421b6dbff4f12a04ecb1dfe8e1da99817df9107debad6d3b937bf525c6d8d5e80b7939a6500ba90a63c786d3c6b0890976b72cf00000000000000000000000000000000000000241e1a6222e6b7bafd35005ddabfd265035dab60fef89df45169cec7dbc2b9ee0c15dadfb150a0e40b3a52078d6ba83999fb54a1dfd224aebb4c7554599beaa63903eea168d938d9ec336efac4509b386142bb970948121de5af3b23383e7e7f5807e1452f10d4fac2158369a7b7faa872db4e34b3ce5fe81ee226bbb0ae380620c4fdb8b02ebb18b9acd877d169ef5c07e5cd1705f7ad493702b3facc944dd949c2ccba9914c61de99ff246c155ff5f3dafeba9b86f0c38adbbb240ed2c688a4f8e06e62115e45b0d15b72e1f0aec9311be4c45e6b66a665a5172a2bc717a6f7ec686dccc9d3468316767177c0691fac05a7c79c6e7aab0f4536683ca9192402228965ca0440f9db4e80c12ae7f8b403ceb29d1bc03530297c21172d69cd4d0722aaae94284f19637d8ad3c61f406ddcd30f99b88211c03ed03a266a786889ad9bd98c81258ca015a6ccf313ba4308c19e9b9751ceca3f6a9ce88b36a355b3a0372fb66ea3e7fbc9192dd7266042f4fa52bc0f6eb852091428e8e14b4cf2f87b37784a7075959e9b2791911a3340ce7b25c0689d3fb70b9bb74d2c03a2ca04089a3b1d7366e63463b49d34f05c884ae87205cede033f209fdf94b0b0ff74bc1e7a10c354c8f05f09315bc77beb6d0d11aed836bfc5f2b6e81f4f06f939ae2e42ee43beeefc0247002f33ba02600000000000000000000000000000000000000241e1a6222e6b7bafd3500324e4f5bc79e81838fb05af2666020c0e62459d284da647a2459274f1effbb1f547ab43d21d8def262daf375cca491d068bbf69344f35d40dab4dabfb9fccd269bd7fa93d44edd6c580e8273b05c87a957aa02a80eeb94517f2f76c061b7187ba668a493d56f6b2a407f9e7cebae0a2d0581ced6f2e41e66f04a08fa6291bac02c34196f21208a7fdf67af070c7b6a5842c963c02572e12ad8cc6b53cde586bad6d6e1c84b3afe561eb8bd71ae056a8a8b6dc9df1e13573d8f2229d3260107f03781ae2c67ed4e2e75a19661d136b7bf0777769b21fc58e0f3518d34b70d546a34680858c6502099820f4c41cab116e70ef5c312635910dbb4fd7b85a210bad84447deac99b076cba9e4e3d3b8483e08aa182c9ea7882b479ed18acd4784cd845181f12e56f9330a485999307a6b308776bc4659159e250d34a51e93171744258b3807b0eddc92ec4242262dd70814c20d39b708fac8e3141d4e531740dbceb7d93f4cb78e4f3943d11d1a27f90a36f9c96e7980b58fd0ea61c4f6c1d323209c4cf2cfc915319375bd08fe8a408586a8773c28a366b335e6d105a3c05ac420a31ea8e8a5c246bc7906701f94987bde9df8486b5a175dfcde4741dc28d9f112027ea305862ec720fe8288196c24f126d17ccfc96b6d40934c505716c64e44fd196e5000000000000000000000000000000000000000241e1a6222e6b7bafd3500a0bc32681c349422bb586bff75337b52636b7ef1b1da7c71d57fad25db946fd6cbc2cb8410d718e198be35d653f0e33b99141f9df91d1b296563326f9a4d592bbd5e700a1ff61069b912f8614626aad529d2ba8be1586a22d0a05466852b35933010f8312cc389ada200856f44612809ddf8a801df925410130038d530c6b681982406e7ca85e0a107c313762d431a3cf9b28da83eecbf51730ea34af27cc0f9d145389484c97fba315d31f59884d829675f33c1aebcf030ee4be60f828dc45f56ad526603b97f705c19c924e81e5021fd8a4f3280fba7ed78ea72dc37da8c5887e18128c81554a3a9eefb60e6520da0d8828365f40ba6722d6fb361d1d68c800683b07d1ad56e6ba6924bee4a2a54f7155304b9eadde81d0c336df52a5f808e31cb89aea94091e5b45d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"02e75ae44e9f1fa60619ffe5949bf68cfd1dfa287bcdfe67e2425d02d6be770f"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dbe2c388dd16551dd4c84da8aa4ec29a40981be228bc314b0d8bd934a7ed4caa"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"58bbad4fef24df467e220da94a7d5ae572c3b891c7b82752e680c5e39cb23346"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","commitment":"895e1d5dbb47020cdbcf24139a84d9ef5e25f81b12ea0cbf7156157555d88bb8"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dae6463eb531560d5db08f5a04fc88ca154f0598910e07eb6c5fbeb6459d77c5"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","shares":"000000000000000000000000000000000000000000000000000000010001000001df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"dbe2c388dd16551dd4c84da8aa4ec29a40981be228bc314b0d8bd934a7ed4caa"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"cf4f942c193e772e8d326737a1334f7dbfde5ffcb81eae1bd7dfc8b4a42c42d8789720751fcaa1418ed5cba01c1b680b7b87a814e76ad94ca725b3b8b03f6273fcd1f61f286ffcd8527fa91fab12a6c21c2d032a3f7f05818e9e4f31c4408c7c41dbac5aa6dee862372734378f42a4eab85d631d865ac86266c1b769c8b00b68c9f17441081d3c7562ea5b8b0b0796aa12ac433e233e02b9ac07a36fc2b8cbbb440528dd23cf762a436a8d6d84fd8b898d0808accb9273a1791bfc3f1c0fe6abc86451c844e7efbc92ae111326bdba9e80a7b64c368cd98aa1cf7e4742c3d54df5f5d82db3ed16970c1e7ac068727a6f9a9aa47228cabc8ebafc45e933ee62ac99ff9785edbc6d5b46b3ab308ed7723c4f0b281460bbf8ab5905c60349be0636e0362e33f130edd553499ce166c263a51e0dfee97317e01f81987de5e9177196b385ddb93e05e2f1be4667806681d82b728fa6065fc7f4f7858785d33a9b8b1b976b539f7fd1ffbeb18807b273d23b450f12d710c8cd89eee1353ca2415059b396ed2516078258baac47a83acaeb6a79ce8010f782f1611600a2d8cfd2d0b716f4b1f7b90b236f315ef01d0314ae28e1bc59b365f11844d1c1be02330ce98c16ef986151cd3693025952f2fcfe90c33409d83a76a9b2916865ed361a54278a7d038aca3e6f506116abaf531af1f2a0fb5b58a7baa8bf49549a80c6036716ad8e4f09de679787b1b9eee38787e460c825d4efee08021d8a875238c9c4582a2837b1eafa9a227e0b7556d52ce1cc5f3d19fb8f5f034386fb2ccdf99db924964442841c0a57f22463439d48ceacb3aabe8c5afd9ea6c6cb238984649268ae9073b656cb41d2baa802d45b8e86bb734ee256d5e02ae80818be1977c74f53a81286d46c606b14710d2682bbcf64741715ad98eb5edd379fc494314c7195e5209cc5f644a35d74d03426597bcb0c7875fd91e03c2929fad77c44a2bf67079658cb546f3abb16daf90c8cd8f7c47d02644f7e8936b1f2e8757b19f12f2e18c7a7cc6e31b5789c271506f5fccc37912734284a19cbbd885eb6825bf43b0c4f32d145ddb2f7eeca470db1c5170a8a2aa9716e52732ae38d3de9f8e14b7e92546b4a156b5ae02f4674ee9982d86ee0768a48bb8462fbb98574259596ed066ac38c0b91b2c77cb0c9c726470efb77744b94e9010c90bed1186ea60cd93304de45066a2ea339a7163f61e381226859af819f34cd731f7b100a425c805d7e814f008449ee42c9c8eb45a97ab547504f89b11391a20cf10a2a9d6436b0f9a1cedba2bcee882d17b9a5c6bc622b5afec2b0c0cb7a48ab2540fbf2f80e67f5a30c51153fc8afd81f52da02a73d9c7ed47b7afce1e9189e86688310f7f8446f2cb68b99b349242ccc679853970d24e45efd4b29038ed42e14452fe06b245a54a603ce2ed07a6454d0","shares":"00000000000000000000000000000000000000000000000000000001000100000400cf4f942c193e772e8d326737a1334f7dbfde5ffcb81eae1bd7dfc8b4a42c42d8789720751fcaa1418ed5cba01c1b680b7b87a814e76ad94ca725b3b8b03f6273fcd1f61f286ffcd8527fa91fab12a6c21c2d032a3f7f05818e9e4f31c4408c7c41dbac5aa6dee862372734378f42a4eab85d631d865ac86266c1b769c8b00b68c9f17441081d3c7562ea5b8b0b0796aa12ac433e233e02b9ac07a36fc2b8cbbb440528dd23cf762a436a8d6d84fd8b898d0808accb9273a1791bfc3f1c0fe6abc86451c844e7efbc92ae111326bdba9e80a7b64c368cd98aa1cf7e4742c3d54df5f5d82db3ed16970c1e7ac068727a6f9a9aa47228cabc8ebafc45e933ee62ac99ff9785edbc6d5b46b3ab308ed7723c4f0b281460bbf8ab5905c60349be0636e0362e33f130edd553499ce166c263a51e0dfee97317e01f81987de5e9177196b385ddb93e05e2f1be4667806681d82b728fa6065fc7f4f7858785d33a9b8b1b976b539f7fd1ffbeb18807b273d23b450f12d710c8cd89eee1353ca2415059b396ed2516078258baac47a83acaeb6a79ce8010f782f1611600a2d8cfd2d0b716f4b1f7b90b236f315ef01d0314ae28e1bc59b365f11844d1c1be02330ce98c16ef986151cd3693025952f2fcfe90c33409d83a76a9b2916865ed361a54270000000000000000000000000000000000000000000000000000000100008a7d038aca3e6f506116abaf531af1f2a0fb5b58a7baa8bf49549a80c6036716ad8e4f09de679787b1b9eee38787e460c825d4efee08021d8a875238c9c4582a2837b1eafa9a227e0b7556d52ce1cc5f3d19fb8f5f034386fb2ccdf99db924964442841c0a57f22463439d48ceacb3aabe8c5afd9ea6c6cb238984649268ae9073b656cb41d2baa802d45b8e86bb734ee256d5e02ae80818be1977c74f53a81286d46c606b14710d2682bbcf64741715ad98eb5edd379fc494314c7195e5209cc5f644a35d74d03426597bcb0c7875fd91e03c2929fad77c44a2bf67079658cb546f3abb16daf90c8cd8f7c47d02644f7e8936b1f2e8757b19f12f2e18c7a7cc6e31b5789c271506f5fccc37912734284a19cbbd885eb6825bf43b0c4f32d145ddb2f7eeca470db1c5170a8a2aa9716e52732ae38d3de9f8e14b7e92546b4a156b5ae02f4674ee9982d86ee0768a48bb8462fbb98574259596ed066ac38c0b91b2c77cb0c9c726470efb77744b94e9010c90bed1186ea60cd93304de45066a2ea339a7163f61e381226859af819f34cd731f7b100a425c805d7e814f008449ee42c9c8eb45a97ab547504f89b11391a20cf10a2a9d6436b0f9a1cedba2bcee882d17b9a5c6bc622b5afec2b0c0cb7a48ab2540fbf2f80e67f5a30c51153fc8afd81f00000000000000000000000000000000000000000000000000000001000052da02a73d9c7ed47b7afce1e9189e86688310f7f8446f2cb68b99b349242ccc679853970d24e45efd4b29038ed42e14452fe06b245a54a603ce2ed07a6454d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"9220185922bcde7580948df3babe1006d828a15c6d96e77024f4d434ff505bb7"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"7d913aea0ed2bb40722d5fdc6026cc82e1530f4f6ca903325ab73d0377e22b1456bc0dc0cab8e0e577190d252e1811cb14ae5cf3ab56b44948cbcc77f8e3ac6981ba7ad7c01891fba0a6bdffa4c183dfa6f26ea60e81a6649d8c8569f0b2e31f2d9e23383bf9182364691ba5b5c8dddf5cf0dca8d68dab30e42e36f65b31e69831696cf9be2be9fa8d10c03b582e901a1c33bb8b79148e3cb3c6971ed3d933bcef04442b326d4d2be6e5d0817fbce150da3e3a0a79736168dcc0998712f03f777af626f0fc42a76090b950a95680560adc26d035c70df080f858c3352a6a672500455260a82032a9756d5eb79c81e781146b0337aecf4a0d5941d4bf9b40708a4d53d9fadb04fa8193fd2e702969ebaf3168b697ccd95069066961cefe5e4e854efd29e589345ca2d5d5aaf71ad2b59e9781ee1371cf5b40fd0ea6372f3b2a5dc76b434e5ee04f571969faf719e6648bf5485def5c48312cb731bc5a4abeddf04456072ce1d6977820505d60226dd1c4a14c41b2599698c3ceaa8e7928d5998bc19a1571cd7a6504715ac2acc8b84945f41a310bff25e7d7c4c9946a4f1f0a3611c861ff44e3c9bec295b51e54b862d72bf703c76464278db68d8aed1be92ab587a69f21bbcd82f614d62091770fb1b5dc67a90b5a0a344193b26615a270344857ee40adcb196bad43d6f7873b39da8132996b6e480f9339695b0fb4881aaa8c0d1510657634d4380df617b4ed602e3db259b2aaee129a9a64f4857c231cb50a33c854898ced47ec3f3318d64d587431da42474fb86d4852670195399fcae4d494be8d323f2800ba9464ebce1fa5eadd42d3bd8d9dca56bc9cb6afb1de062cdb4c130598c3a70032ffa3a980204a1567edb8ab80ae042eaecaa854851127091da2a7d398ddf73a199b36093dec3f92713fba68497f63bfa35d9d4482f15421c19aaf5e131c522a1a14f527713b3416c2a537cf5852278c87b5ef1f5f5975de07846fcada4f7267b3bc3ecade13a3dadd2cad34920371c2fde012e2ac139e584c2bc8f99341b07ab9d887cc2de7668c80ef84b5c3df521f77d1a3275eec3e01fa7df5a92594597ef540a160421edca7c4911b4aedac0e869d1f4780749c98f126871fe37c0c9b5a99567a6cca028bf86483da119eae7863dc4db99ab045b14ab6d968017eebbcdce0a99d3c62d348dac2b4157ffa8dd67d5ef8776935f267528602168b4e0008fbfc6f029e32bcba891734682c406001bb3a3abc060cd6a99d90f4995e1a0ead575449824df9d1ec1dff30af17c51700fb7a38cad991f3d43c1db91d5186862d7c336d5159917486ec1afef73cc30c52a615404634a5a729cc3cddfbb673b4f4589082de0037b0038e0da01e5d83d20c629cf932106a2e3e13323254ae12dbc62151e68dc97b0c2becdfe284780f86d348946dc42e43098c2cd01edc52dc34f5703d8ae102f057d9a9ae83cff131fc3f7716bce554f1654e82439bf423ada678551d91ce6e020e7867d34d2d9d71b67cc672448b96016ec7b4358a77a36128e7107649337f3023d67ce60add8e291f3a82463667439eaae5b9666594539264aa75ae30056e04111aa419dc26dc2ac2956153ff5bce7598c840aee1a27033b8eb708bac367e8d5b24311483838e297be060cb8c5791c5a8675e728c2a7646173b7c0ee4b37aa1fcc63caeb915f2d416ea1bbd356acdf45b108eba75ac56c8ceba09768cf12a2e4df0b3c2cfb147cdd0288abca250ba2819ec356c6dc3428d85d51a1253c4de7fff1f77f9e0cc4e3bf5e835cfb5d4013e3f54daa5054c565970e1a2f199a7d178b520e91f6ba308e8d03b66797797c4c7b6cd629a25cd4ae85764887894241ea8f6c9f3ed1005bb461a8ad9f7beb70c90bf7daba2b68ec7356ff87660a84492fb1e3e62cc5e25e45ed2033257aeace6d43d14701bce2fa22754e585959593e3f153880d9538fe5a40678e8c8bc1a630b24ff51b0abc2a6006379e69dc8560a5aefbb37f2d37d576cc5b049dbc2a7e4704adbcf2e564218014a44245d7aa5b7a4a36b46bf04d896cd60d69ec1306429dfaa184f71bb86ed105b992c2dfcf4cecfc5ea1e7856de2e17c30d1e870c2760ee24bb3ea659f10fcea14adec6aca6073209b3737ae0f509524a3af3c3083b1bd1e3e68ab32d730a9283a6a1883798339af9c46d9ef5c359a4783263ddac1b243fb792b62ad15e3edf3afa9c2e81e780847eb17b5f98cea07d208da8a5e8358a4e8a078999795e9462932e97e1487c5519bf1c52c50d774e2933e42fc0ae06a6f3ec1cf5729fe898f509f48280294e87a5ba5ded9909654094f1d7b9e75208cb3ab25336ad59b4ce8c72899f43c7924bf857bd5e2ee5f6fb3c3ae3eb81aa8bb9be326628e19bed62bf561b8502131370f678be29d6febe5368ec178c86f14246053869e8fb1648b3accfa9c6b6eb1502c5a43ddaf075800dfaadcf136007847be4f0ed74f6311b0703b578a28000594ae3b0b1d319a4311fd7f530b306313e095e25b85d22557f226e78a9b79d241790e37bcba89c009b5568fc5e7c0182308c3ec6167758324d961f70403247602af81e0444d18db380bd6769bb56937ab937588c3c7ade41825855d621d2cdff60cab6de15e3a4b3c070006db0fe25a9ed115dfd2293afb65ab84cde3bfa16192fa46a4d942bb3793fa6954dae2f4b63ba4bcfbd5e245535826b29738e11c01ca535268117368bf4780724e2370ebcb3ad8be78f1c67eccc5fe1ce3524be9a253c5495d096eeb35a6d6c7e0b2715922c24316451d2cea96996b2dcc8b3f3758e11f44456027bf7bf445f469e56e28a44a3ed7c7abb070054ac63efe9da9eff3f87c3383c31ce273a5205b50e72b56e706d1f99af2d6521c126bd10cb7cfb1d622d08545ffd304ac0fa6e102c15ceaf29fd1e0ee915d4b1b77e133271f72a2460df55d9228b0d5ca0db12c6f47f235391c323fc39e75d343d37ea3e31ec2619b8d7ce36dc935e59acf0f9607e937a9103fea2626de8010bd69500c57178c561ceb37ab1be598d4aa75a2811f367ee2a2f9828c94df7f2da38a4e83b7b91c463ab36b53544c6359405427f4221a38ad3cafd3c7276feb04ebe3fbcaf5d714900b30958fb02d16bc7331cdc7a14a5dbdf58c2d97e0cde2baaa5ab565601170f5504f66bfaa85af2c94b9f205df70b0d397eb6a8c2369c7bcb76e2209a69df254686ddfa55415f96f1159a6ebb29f418d0cf9860fb9a363947e81be644ab79a4666ece4867de49fe42c06ec963778c51650bc283fccd4fba94fd918e5db9041e7fdbb6513c4ee2a59220029a7b5d7f981d6425ca4e3c2df8fbaac954be88c0c91496d1cfdbbef15de75281c019a9e5036472f22692b3056e590b16ecc262509a06ef35c83037bc5f9715ddad5b06c880e5cf5bd6ac9319620d41be384bbb0ce85b955b8c299ec5f8f655a6b9b0e9ca10f4247050181d9f46bb53b3c718c8da7a79f157564fcc3f7ca92042c8ab9f2314fe03b53a5680b2ac9c1687e05e185662c01eaa0d6d68b5932e813f40f4ec656f2ecf706a31061eb4b4e4d69ee316fa592b54a5515a3a4ed105bc0aeaabecce8e11d2ceaefa33e1bfe3ee272cbf67406a3836e89723ad48a6c085b5c6577373dcb3418d08c2c4aea96d0508786ce34f49e25ce227abb947fa205f8c489d864620866534e15cca231eac0199fb21ad8a1557738dc495f449081cd03ec41c8d5fa816f8d02a328a7022fd6c953d839b277c5dde6718a5d24c46d4c27dadc2260551dbb5cb4f6a1d248a0b099851ac76b56c8a9bfce4845d19cf848e47dd5e2a492bba77bc5ff410cda4b82acfde172b1ee554555d263ab10850b34018893e7822b34c99089bd4b5f2bce6b6affb7d25d55a15baadd195d0c555b80d2e54b73396d10e4227915d73ced996d3f82b602213c5f7bb19a47979bc636ffc99cceccdd5769a5cb4460e595039372426633bdf19cc83b08f1d7131ba6b0b42ef76ce74dfe2c4f488109516fe1c6784d0c4e0019548f62138cbe13c0e014d8bcdf727555063e1006af4fe4da63b8bacf6fb10d205a9c03a3c67ed77c143b8e2e80d0cfd52df81821bcdace4f3fbf821a763a5e4b339e9e0b70f40006b69db9b659e1d028e327e17f7b4a563ebd8a437f155d53f53720b4717c91834b3ceb4ea94aff15ff590eacf58571a55026bba51452ab7e1adcbe4e78e6429f27ed60865c1e041012924e15013c36e5a70347f7cf047bd396d0b7cca93ecfc891252730e8920cfefb8e364d993d42dbb6532e874e12ac05f0d849f6ef58e51076774a79ceff584bacd87fa32a51a655ce71d8e4aceb8a84901e7fc67e9082ada8dfd8894dd764adcc605da9cfba1f80eb64a00dee0c45e0fb6e182720881218198dcda04ae3142ba14c1dae6dc2e4ffdc0161317bcc53206b01e9bb4b6cb5d59efc9d8225a6adcfddfacfc1dff291419726f379b7bfa16cca999e0f016363c8b4b7ab849ae3fc4ac9a5d56bc2aa42adc53a2206617f6edcbce7f90a184d59b4a889581d55cafc2e04c0c67bfe7507bda52fe75117f1ee6a5c66e9c452391926d5ad4af28e361c19c1e40da85bef0774c4eb416d4e631a44abd1186b758e7dc6184d7676f93c7d5dde6f0634699b239252e918cb00297a83e1b641c47fe11904d2bd8216bd0157ea2a037ead4db869ad302d996d80c2ec1e3f522e99c0e15f48c166911ff53ea15d1aca6c93f24345e0e9ee39d99817f2b33edcc0baa3ef93829633685e383dae42cb48a113ccba90e9f4ad64bf53e5e73e5b53add5d1d8c43e11934a493a0a2eea11783af9de7a259b18317ba3ffcc95b6fc5a9ba028cd8797342eb8f5a60f4ed1e4876611921ca86b5b849af485577bd3b7c4f1c5ef1f177048291125c95402cabf89c2fd1ad1c82f19fc51561f3e43a03acb2524253090a600df5e3476f91169a24e67e5c360d67de97b2d723b24a3c043c67766a07da260f2dbef9a5530619881b21cab47c751c9edc46ff873adfcc08f3a32362a666ae229d9082af9b13c32b99579a9faf5e6ac7b4e88f2c4e4f6d2db32548420e418dace5f1871edafeb1468155cfc7f5132b5a2791544dc66bc2240281cb6a688a01f20675e0d8bbe2be7bbef7993ff588a47e40e9c8d906d97e4e19d206e912d846779a22a189c1b0ec562efb394cb4ebe0583cf331b9aa3eb710d2fb23856d7a78448b0ccd73ce8018f9295c4b3e2337aeb9b9aed2668af5548db8addf191388bffb491b61f57709613a35b022f12477c324d13a2f3a98c26dea1386f66743e0e426b34a24c289c0987eef04e67f2f8a239914a157de3b9c9c1619e6d5a8b723501486514e4dc6531423549649c867b68db2efc3abfa0dc15ff85316b18b2903773011fc4009892eff7a5caa074ae53dda0405acfa71d4b306ed7c2ccbb6f902afaaa3b78f018769e07d7065c2e2cd0c78fda284ff7893b8d1aaa47bfe930664b8331dd64d0e20eb8240b104d1e59cea6358e8a2f2654073e337b79fd3521101bda5f41ac99e4dc32a3f55a7057fa92f50998c55b263d97e72aa88a58854edcc147eb0134e90fbde8267e835216c5bd6dcb3c482a998b2ed11bc880d312a19c0fe32d129be899e44a2c7e3e5195a663972dc43b5e413bfde18be5929d5af2f0ee8314db0bcd56a55e474fc83f035a56ca090957f7a66b43a7fcf182b9f825cf8be8f78d7fb5e9699b3972ea2113bcbb10b1d10df47c6f7fc0b643283e791fa1b0b0881ede2cafff9d6f99e04b3c237419e7b8397c3d199cfd78df560fbdf7221b675ae3fbdca9c7cfe2d0b4e2993053a2c2386dba732521021421ef41202ef07bf748eda015dceb0229761d150aadc47f4c26acac2807f82678a0d8c18ff7107cb6814fbc5ad6da06cd766ef281b93469806aac35be498c5a117215d963d7288abf562d902d7972dc973fa617819dcdc8355df0aca3ba81ce3c02faae69e12a3717a1b9f8f47ea7976def9dc404c932e9e00df3276159ab7de6d8adf2aaaa0615d7152ef959d0ac09421ad9f8fa228c9cc4e90c50ea4b9501685577ef794e224a2809944a3f9d3c4f47907a7c8de4d73e356b1d69f99217ac7dae5c8d9886ceb8429bf8330b2285ee292035c17c4f3c141d41aa5757f81054900adb4e5451a483453dd6eb6d1aa96596adcfc21100cb14d5d8c6a8cbc0d6b7c806e44f15c67f097aa11cc48fac593534eac3e6417aacddba1b39ea8203223eb8a077bf1c16ee4a237233a18457f6a2bd4fa44ef4cdec35595cb989d5d5b2caa3ec32fed0bf7b4a4951d63d0fa12888c7d57b03a880fbebff33f79a8905255015b07acf7144c89dd513c34bfc6bc1c1423de8de78150eb728f544f3b9578cbff1f1d88f1035599ca9c52f45e8dd6ddbc523a03864673990bf3e2eea8a4c85826616043612fc6bd71ff8e669214ff2412e80b138cabc28f1d67d17925e6ed43afad2c7bc5bc42bfc9670635284c074d37d8c59afd4330f1c2ca6518a89e2176b32d58ebbb45ce7f6375210a70765ceb44197c2f76a126e1854b3d61b3e2fe52b3e3531271e8f750edc7c56635a6165e78830a2ec724037d41316befaac17b6232b9301943099c2593026b476f460af316d6cdc7eb78efadaf2f966d8fec153d144d4809aa3445c71a9ef4514210b28d9a2ac981d02894266a7378c81a50cb25c400d0e7c9b3d887b26f6e5bcfc31747c4ebbcea69459091df5fe55e36768cd6f5b95261d3f5a59949a6cd0de0efa05fa715286bb13720515ec5e01677f46f9cb8d0d4911405a0a639471af0fad4eaff06f0c72f56680cf4da5c5883d8b732cc94ec61fd104721cd0f162f55af46de4cbd447d8404442c8b023b0a328fad4e66e73dbd1a76ea98911cdd46120ce1b76619f6fe96086758f2cfbb94057a44508567aeca64c7b9cbd1553200b9be04f1e108bbb065d8f32745b21a8ad522ec28a62eedc711dd8f222f15311382e37b9789f7e8a35b83be610bd4650eb8d515fc77c76765dadffa78f42f9cfd08a2b029d741f1c15ac02475d23cf3135d6c0588d8523d425886e153f41d0b9e35cc53e312fa3d810d4a66230a8bb2c67bc45d4ac91e288804191e4298fd4e2643be1a453b4a6f36d4f1c0bbdeb5aa62a073cabc99f1df92696d795216b56b434c6471fa0cba1cc9a49810ad859b794a168c3bd0b944f56ebdb9456342533eebcc002add5c289c77a44a6e39df3bb6f90b2ca8a601ebb39dcd38e0e34da1455458ae4bdd0cf61ba5435cdeb03a6cb6d16ec5ad0aa6854db7576034cc26d64a1e1b7870c5118ce9d6ed3a0697075bcde2cd2c679e2eab49d0cd6c657395c38c3f70b435abc8d0791248ab3b181c32fa33fb2c705496bcdadfd1dbe4bc64b43e6f47e1618615cb43f10290c8166a393cb8d20c8c047c470400f68709bfd8ea005d5c6e78ddb4b76987235a4a04036c55720a8f1a2be11cfa59ad54d01e3d92b56934d4f82fdd8952212998f64844da4aec04f68e7190627a57eeb79d4d7b9be834371b6b6d41ab61f7cb4685b56070057303b2c0fe20e4f0157daa936581364ba0623e4c724a779e02f8af3022376bd96193f20cef7485481036f5e0d5f96aae4dec1677de10c72f51832276589533d74a48817e7ca024fc9094666b0def8e133081c49857f320b41b6d5dbe7eb52888018eb1c02b348aed7f2f66bef03e2bc6147e1744f7ad42794cba232ea00767d054150b8173ba62c277a96be2b469432673fe201f021a7bd26fb61bc39b78a716a0967f5a062a596860f72a7b188dfff57e5a965f8ad194880915c6589de732a41c23efd397d087240174f6cce02c0a8291847e5a2e17eab5b3f73b17a3314c331aa85b7019684a13cde56518959cc3cd44423952057b9ad54cacba6fdddb1d908007177d19bf2b980e98e5b0554a2f8c4183781c57034a6ecf3fba1b8ec107e7fffb58ed1f96e2d86440bd0071ecd4206fa96da44dac35b4458e5cb56913ef08822cbb731eaca95a1ebb002bc5367b51e43416defc01b79b37aebc47445f72c9fee3bf6e6aace51e14045a8ba5950ba6318027837d9b8c27a64571a5929024af267b02e70e1d0587c159e6b67b1a074a53586ac0b06620b6c0535b12c7e15260967b73e4f3933137f4d2dfbc4a3d8f6554534f2f48ed901f7fbea8f664e73c8df75f8b83c1986c98e7ebf2068c7eb25872d91e98930ca1316792ef79aca5f6a48af36803342d3ee48b9a0427445dc825b33191027fc98049d074e992087f4b416b078aeed51f64927b1bab2f645a560d5a94e42875ee66da700868a6be89bc75241dde445ae7919fa2f0d255df91023368bc9883509e0a214ee4c411af318a7e5944ed2cb173cdefa059549e8a208c6a6315b8bee5820a8d273cb87838587fb021e205cee2999f2c3a2591f9cf6e688adcdc0888f84dd47727040cc8c354e202ab62b7cea65dda3e961b72fd49ef936ca451686473872e1df3f73e8f375c1c6eaf26e133542206d0a3e9a50836b8a00d2486779e54b0d3b8297040d89a8ed4041707bef84b562e517133781c9fa5b3805911fb5d61b6102848c8aabc475c618d06a4cfae45b75e23f3ff9c227f072c5190ad2e2829b496477584d5d6520c6acaf6119361b294473af640dfa5647b30f74865a3c8c12508cc83d1eeae7b74befc4940ac5458398fac19dfa0ad990364ddc065a89fc9b211b9072eac7d6cb34f8f155b778469f6d1029bfbf9b5bac50b75d4258682a0332fe4655acaa4c3e8133b1d5aa334009ba6bfd5a00e8f67670256b846c82598d97fd1595475979bf22c439f0a7d2aa2fc4c730c1ca6fbbc3ffb79678427bb59159138f826f173da8481dd0b178b8d8896827c3b52e52bb17ce26c4bc2a87264ecf938d187ffe016da6f3c050d2a0e3f8ca5d009e400a6137714aa8ecf5bcaa5b2312ef5f1ad7901e0d50c1ee1093634cacc7600cbc15e7be7f356bc235adfb4bb44a7a07dc884a0aeda8e89c2b171a80a41351034100a127e0c41a4f3fb422aa9dc780a9087ff18bd89486c139f34f9a37e7ea248457e4be56cf62cabc1544b50af58e76f010aa0102992e3d0767edb5d7e7fcfa99cd6a200ae3ac104138706546b0d287cc811a4c8239d53743f560a14ecc931864104241bc4d3bfa6b0eb8d62cf13897944ab2b7afb1a53a1cb0a80693b63caf5ce4620a98737b027b77210e37bc0955d413dc2ad03aae3e4e86cf22b2384c736d7c79fefda064fd44fe70afb2a74c9ccc1f537b789a7b2afc22f7e5f8008d80559904458ca968ed36550be46ac61ec1743e182cf9a430c4ec5c8c19c0af390a292f6b7b948ca963aa5416c73a30bb2ca6ba2e61d619d366fd746024b3a9d65b12ec18c8eb4aa99d37d31f62fc836d4d9e8fdba822d12f5099b2fe20eeb702e495678b34868f9cf3f4849b5ebec4af78e87cfd85d08bfd33597a6952e222dbc6dab76fc26f9adb638ab61074029a869c25fcaddf3e66f0649b19157471c2bee32edc63c185a9daf0019c62c5d1a2d1bc6831c0388b88e416f90bb8d74cb6d22bdcf398479fa38e5e43ea8b4096b538ba0aa78ac34d707dcfc4d5f4bc60f7c3f5af8448c015c557be22018693b273bb839351c228c13b698aad2a242d75e8367ff4d1f472fe1c5feb8b50c324b4f91975eecdd86a7ec37854eac614819d5e432af2de16aeb268da0835b27dfa9dde8726553c11a89ad7cd8721e10bca3f58c8a6f9cb115dd0c3cc48ef2244491b372fa23b9834ac85e02df4e72f96bb68a57b6227b033a37d4937b39ef6539b29857be2e6ce4dc87f13ec7c4925ecf7d8f296588abd1212b1f6b2eb0cde0462a86ec25f88080e3d63d17e5858a5ea2ea4925fd9571f7b8f707154d9163b59ab172e9cef160b73459a3f8c6453a31f9d79b2a3175fed5c67495b2320804459e99dfb9209787f0c02705b38d1596cc01d7ebfbca41375d7cada47cf09d65cfa3b31c5834350f615f57592ee7d5e0d3edb016331cfd614fc46f3db3be81ba8792030dbefba02781c1d3d46618e669175cd9fee08c274be9d8c23152d9086db208424351d6a33aba803369020bdb0d078be85cc05ddfff70baf19768d1cab7d0d3f3878832f7836a988837388ba98aab30a10c81556658aaf32cb8a8a14f4cb23604b387f817ce47a165de54d0de65e2e4cfebb8191c120023b48b5b61b08fad8284864211af48191e9349df83d3963b8b114939105b7565f04e6e4081bd71f96116f5180556e1a37eae23cd70aa09099ddfb4f4b45c7cba3982e0c26150302694eccea23fab3ec69f56d8d703fedfa36cd61ee82b7eea9eb2fae87d646fa89938ca6599782570289e9d35544edbf34992d146e59001dc7b5fe8bae8ea5871b17576536bd4a1dd661050e4eaf11ac6c42947d2c9b5ba0e41021de0d68904d269127b4767dd8afef2d30760c97fe8a9e57db2f6ace51e1ec60be2222e5fe7aaa4910a252cd4bc547ec358ce7ee70bc06f76f8c7dca115977d2b08967b5a51a011a371a660b5461459c322d0414fc97d02cb577da51f5f2358b2aa5cdcd5246683840e70e93eb383459e188c34ad12e10a939a0107f9386c610cfd72e6544d4822d46749094656eef449895a0f5f95fcb1f60ad7c7167207956827c6df15e91d437b8d4e23cfff713decc8e1e74a00509d83fb9fd741f4dd734196fcb079f50d9a78d5ad97f119f7147f47543aca2f054fc4d68adff00370d306f26b5a553fd98a0729aead335fdb9764fa3b3ecdf4c9e396d2cfb21bd505fefb16845cb4987ee38094eea22047779ceb069db6fa215e68413fdf1249493a33c2d4ee20ee0cde81f45558668de41d1b42c533e0a74fcb2c891313e26ae1e501646feaa3c6b17dc529b0b786683c1f079d5e029f380923194e2fe75b6edda53b1f7be75762c7ae2895bed3cc3b7cc777343f109ce201a8535474592709cedec67f89f787bf9babf66dca80e9da4e6b2a527a23eef19841894353b4a304dba41124139b24bccdd3d42366b9897df957ab35778fc1d1209ba7e2f72221cb0ddb19c5da7ab59a1ccd570af5f92d9ad59e0c8a4a940941a4dd2e3d8cb5fcdcb0db552890dfc001c38a9c21dfeb91db9c4187a2752263c147c585a1b3df320c9cf4deee37ece07648650e69872a9a209bb71b74042dccc446dc1096fc6e49e8bf3f86495215eaa1dba3c377054790ddbfb3d881ed16bc5f0e82e587b5463ac530e56a679a6fed508a133295a1a55b836e3b384a4aae2af309e9b22275d83dd18f03eaa6ed954e5ef0be0bf5248590740e9e3f1bc24efcca8b0bb1fd2261d29ce87b7b2d264d704dc89ae9a1a3d1d0c967a2f93e29b8e93538447591a7feb1587f6165cf824a34fa1388e350403889664c7d3487cf82001caaab026550799346799c786dd73942d7e2d76397cd924114f6181a20326e73019df2b78f37077904e64f0b96020c7b102241a3d11cc5ee4100f6843dab066aad8a527a915e629865466636111c062a8f1cd448ea2d747a69950837f789e614922c30ce30aa86b38047e71f8ffe144216b9d6dd6400fa3d6d166de1a30b56182dce00269cea3328fefb822fc2cda4e73aab8d480b5fa45beed15b770c7a58a9b860499c74c25c5740f8b4b2e2e967b2db9b370c534a3014c29d8813facb8f5ab369f59093f17ad4cb59c9d16ca5489bfaf71b970d187c8ad0a9bf9d74aa1b62a01b751e00a92fe33e8c911247a019fcc98c256db2615a55c22e00537219526283fad1059c151e9192502e77bd92f637bffc1d98f6d8cd2d6f592fbf1f3e982d2ef4fcea259f21dc58996604e99bd4e34f2473786d7ce0c92c44416d9a67840862369cbe1feb17d10920756c3b2fcaa233dabd5859e2a2bc362059799e240e2f194d4bbe2250c5680f5aeeac63a9ca46f926d57c5f3a72fc59a4705ee35ef27a5b4724c0f22a22e52c5a8537b6d843fa3fafcbc01124c3303562c5e7e2612d337258a02f8543ffa6ad50d27d3fcb830f78089a1b75740e7fc38e222b19a50e62b404b08b616841cd09f4195786bc6a83ea43c052a033474c04e85f7160994e637a65cd5d4208ce8d43c3f327f56d0ec2f2b5cdaebc46045baa9f1554e1ac0e2efd1c1ac899097ae7ab5a393af7038c114b70f339df27a11746b5b891bb07873e1bd5de29e4038ce4a0e12dcc4355dc765deeeef1ea4db51cc6364a0831a0576ccbf49fec75d07a65ca23f000b1fc2218cbf6d39afe596105d7665c59635e841df837d5cf76479c9c9c6f078cd9aea818829c2e94c990fe5b5f1a566ccd5dbdd9f2359c9af53055dae58214a16fb8deee5be0ba803a569aee9b051814d6529f17a4e2d8677cb1c9de7b251afda7c79ac537daab5f45b30d06994ab39438e20e63966a73c56e8e6faac65816d4f5338e4906b64f040f64796170abd533d17f407a50c9c32b0b96f1ea29042cf8a9591fb2dfd50fc9089c231c76c27dab941fcf0fe3cb4f099ded56f58d6bb8dce4195729e32ec41d59afda7c3170a672868216abb30ef74d9df78d05b310efcff688e2f80732c40c9f5bc023e77e7d904da0e458ac64f21bda08611e4c6e296b0e5760a5f7e529e76e1bc6e04d15319e4d94d9af0d71d4c156e7d304fad433f99024b558ce6332013d0c826dcabeb72f3056c2a22789c754ef580674324f80fc1b9277993dc4e3336e39b670f3d6d51019fadb6a5d38a26f956798c8aab290bbc97b0ba1bce7acba0f7e0b7a1d28cbb9ecfc8e6519df56404ddc7bfdc6d77a9851933714867a6e6eb827f7e06319160d3a4ece7999f11d81133658917247822b307c3928ef16a0c8234f74ff6b099dd00799bce57e0cca333b00a000f4e4b512371312322d6aa6a356cd6d71a1707a3b2f221a757f250e75367444933cc9f96b37fefb95317f0c4f8347bb1e97715e96717de8a6839de5d1622477630050a9cec22bf7d8608166683f6675fd9f18bc0a125a9598f060d30ab675a29cb7d8d3a142161d24358716d3bf0a6d370f8a43c86f77dcc020584463a843900705522e95dfd8e152a06266dc157fdfd119b5b11f54805157b4d5b0c157b1f7a421bbca488fbfa5ce39636b89dbd4558848d591d0bc5bbfdcc8cccb5545dade96353f5e03d3d76864a0d7df899f01bcb137f2fb6c7c0d7b77183e489ea567ec8c84fe7e536e4085203995e6e3346db8af95201368081e6af84237c68f3a9488a4fa9921984eb575b54f55538d32178528b618969c9c9b192987c9c59b06f78536c7014a0e0f50dd9d34581d1b6544c7f9ab9bbb26394c9b39ec29a8cfff95a639152c0718e4f1393e7700203aaf71787eb78079739d90c219d6710d6068acbebb449cb591f02e40907421b49ef13e37c3ebd9fc14255e8eb371692d8269836fd3e16178284e41cb229f78f3517c6a00fd7e9b92664096573b85cba038ffa8d7ffc62d19825368126e90f6dc13868bc3f48aee2e80db2cc227a2b8449f9c8e6947134c230f5d6c28482ca9ca043f5ef208fef13d4d75bbbbcc4f480e3c1dee80d6cc8323f8e3f41b9a0a42efbaf7326166e41a2a4e923bb65c37483ce1da4e562b46edf137e3954156781b45e565b3b3d1cc03fda92a83146d44aabd06f05151530bace6f27cbdcef0fb8cb6db9d21d81a067be0a4576ab0a303e112094d7ea03a6a39a7a67ae7345643c4b9c5563c22356edc3e9008672dfd7b32680de70d78ca8161077c038b92d5e8845cfe97d048cf6fad6955272d56a7bfb79e8ae37a3d3468ef9bebf9d1b02ea144f1380da574720ca18ba1b3afc4d9644176d76bb5c05b49dbfead75d415ac67790d48ba7b3f0f3cc3080b652474d8f52b58c71152c01549cc115ef9bc9f263b2b75062fc72687f5954a1a40f584c8e2f12e388173f256072f4d542dd4e42d9a417b733dbc608ac51bdb2160c13e318d45a5130d865dc82d969b47b554c4601f71f643942d70b8e1880f024f471a64043729896c4e083fb4b052f828a695cb4dc70530555abfa75378aff608ee364279453abfe2f36322d60d42cd42761a3d7a515a93a4da715e19f1a13e8dfd0fb2ff807e0d1a7277cf77c5e747357bbb98db9dfe9b987278cac839b08206843a2fd8590080f32512c8d0fd30d9b70de94a3b4179f92944ff37cd716856e75e2fa5028a5b036ff82d26e165aafb91f0562b14954021f4ff68df66e799a2786b21a49e779a8a859aefbc6ab5260c414a0570e031bf25d6d6148ac30cb9813ee917ebaec4c6b7afb37b4634ceb383af612beca6cd64992b6f33e881abcfc00a51671dbbc0d62b1ebdd0e6090858192cb1069010f4cb0dc9b8aaffd33cff96482201def8fac4766f2814640be6bbfa47f1841f923c2e469222df6898caac46d201a59d4d8f838d483650a83fbcda2dd376e8b1a6fcc382682f90515e1ef7532d36fe205979b4cf7bfade6378b3a7b2700069a377a142c3f85dad5e5972a1849586f7724cb98a3","shares":"000000000000000000000000000000000000000000000000000000010001000028007d913aea0ed2bb40722d5fdc6026cc82e1530f4f6ca903325ab73d0377e22b1456bc0dc0cab8e0e577190d252e1811cb14ae5cf3ab56b44948cbcc77f8e3ac6981ba7ad7c01891fba0a6bdffa4c183dfa6f26ea60e81a6649d8c8569f0b2e31f2d9e23383bf9182364691ba5b5c8dddf5cf0dca8d68dab30e42e36f65b31e69831696cf9be2be9fa8d10c03b582e901a1c33bb8b79148e3cb3c6971ed3d933bcef04442b326d4d2be6e5d0817fbce150da3e3a0a79736168dcc0998712f03f777af626f0fc42a76090b950a95680560adc26d035c70df080f858c3352a6a672500455260a82032a9756d5eb79c81e781146b0337aecf4a0d5941d4bf9b40708a4d53d9fadb04fa8193fd2e702969ebaf3168b697ccd95069066961cefe5e4e854efd29e589345ca2d5d5aaf71ad2b59e9781ee1371cf5b40fd0ea6372f3b2a5dc76b434e5ee04f571969faf719e6648bf5485def5c48312cb731bc5a4abeddf04456072ce1d6977820505d60226dd1c4a14c41b2599698c3ceaa8e7928d5998bc19a1571cd7a6504715ac2acc8b84945f41a310bff25e7d7c4c9946a4f1f0a3611c861ff44e3c9bec295b51e54b862d72bf703c76464278db68d8aed1be92ab587a69f21bbcd82f614d62091770fb1b5dc67a90b5a0a344193b26615a270000000000000000000000000000000000000000000000000000000010000344857ee40adcb196bad43d6f7873b39da8132996b6e480f9339695b0fb4881aaa8c0d1510657634d4380df617b4ed602e3db259b2aaee129a9a64f4857c231cb50a33c854898ced47ec3f3318d64d587431da42474fb86d4852670195399fcae4d494be8d323f2800ba9464ebce1fa5eadd42d3bd8d9dca56bc9cb6afb1de062cdb4c130598c3a70032ffa3a980204a1567edb8ab80ae042eaecaa854851127091da2a7d398ddf73a199b36093dec3f92713fba68497f63bfa35d9d4482f15421c19aaf5e131c522a1a14f527713b3416c2a537cf5852278c87b5ef1f5f5975de07846fcada4f7267b3bc3ecade13a3dadd2cad34920371c2fde012e2ac139e584c2bc8f99341b07ab9d887cc2de7668c80ef84b5c3df521f77d1a3275eec3e01fa7df5a92594597ef540a160421edca7c4911b4aedac0e869d1f4780749c98f126871fe37c0c9b5a99567a6cca028bf86483da119eae7863dc4db99ab045b14ab6d968017eebbcdce0a99d3c62d348dac2b4157ffa8dd67d5ef8776935f267528602168b4e0008fbfc6f029e32bcba891734682c406001bb3a3abc060cd6a99d90f4995e1a0ead575449824df9d1ec1dff30af17c51700fb7a38cad991f3d43c1db91d5186862d7c336d5159917486ec1afef73cc30c52a615404634a5a729cc3c000000000000000000000000000000000000000000000000000000010000ddfbb673b4f4589082de0037b0038e0da01e5d83d20c629cf932106a2e3e13323254ae12dbc62151e68dc97b0c2becdfe284780f86d348946dc42e43098c2cd01edc52dc34f5703d8ae102f057d9a9ae83cff131fc3f7716bce554f1654e82439bf423ada678551d91ce6e020e7867d34d2d9d71b67cc672448b96016ec7b4358a77a36128e7107649337f3023d67ce60add8e291f3a82463667439eaae5b9666594539264aa75ae30056e04111aa419dc26dc2ac2956153ff5bce7598c840aee1a27033b8eb708bac367e8d5b24311483838e297be060cb8c5791c5a8675e728c2a7646173b7c0ee4b37aa1fcc63caeb915f2d416ea1bbd356acdf45b108eba75ac56c8ceba09768cf12a2e4df0b3c2cfb147cdd0288abca250ba2819ec356c6dc3428d85d51a1253c4de7fff1f77f9e0cc4e3bf5e835cfb5d4013e3f54daa5054c565970e1a2f199a7d178b520e91f6ba308e8d03b66797797c4c7b6cd629a25cd4ae85764887894241ea8f6c9f3ed1005bb461a8ad9f7beb70c90bf7daba2b68ec7356ff87660a84492fb1e3e62cc5e25e45ed2033257aeace6d43d14701bce2fa22754e585959593e3f153880d9538fe5a40678e8c8bc1a630b24ff51b0abc2a6006379e69dc8560a5aefbb37f2d37d576cc5b049dbc2a7e4704adbcf2e564210000000000000000000000000000000000000000000000000000000100008014a44245d7aa5b7a4a36b46bf04d896cd60d69ec1306429dfaa184f71bb86ed105b992c2dfcf4cecfc5ea1e7856de2e17c30d1e870c2760ee24bb3ea659f10fcea14adec6aca6073209b3737ae0f509524a3af3c3083b1bd1e3e68ab32d730a9283a6a1883798339af9c46d9ef5c359a4783263ddac1b243fb792b62ad15e3edf3afa9c2e81e780847eb17b5f98cea07d208da8a5e8358a4e8a078999795e9462932e97e1487c5519bf1c52c50d774e2933e42fc0ae06a6f3ec1cf5729fe898f509f48280294e87a5ba5ded9909654094f1d7b9e75208cb3ab25336ad59b4ce8c72899f43c7924bf857bd5e2ee5f6fb3c3ae3eb81aa8bb9be326628e19bed62bf561b8502131370f678be29d6febe5368ec178c86f14246053869e8fb1648b3accfa9c6b6eb1502c5a43ddaf075800dfaadcf136007847be4f0ed74f6311b0703b578a28000594ae3b0b1d319a4311fd7f530b306313e095e25b85d22557f226e78a9b79d241790e37bcba89c009b5568fc5e7c0182308c3ec6167758324d961f70403247602af81e0444d18db380bd6769bb56937ab937588c3c7ade41825855d621d2cdff60cab6de15e3a4b3c070006db0fe25a9ed115dfd2293afb65ab84cde3bfa16192fa46a4d942bb3793fa6954dae2f4b63ba4bcfbd5e245535826b29700000000000000000000000000000000000000000000000000000001000038e11c01ca535268117368bf4780724e2370ebcb3ad8be78f1c67eccc5fe1ce3524be9a253c5495d096eeb35a6d6c7e0b2715922c24316451d2cea96996b2dcc8b3f3758e11f44456027bf7bf445f469e56e28a44a3ed7c7abb070054ac63efe9da9eff3f87c3383c31ce273a5205b50e72b56e706d1f99af2d6521c126bd10cb7cfb1d622d08545ffd304ac0fa6e102c15ceaf29fd1e0ee915d4b1b77e133271f72a2460df55d9228b0d5ca0db12c6f47f235391c323fc39e75d343d37ea3e31ec2619b8d7ce36dc935e59acf0f9607e937a9103fea2626de8010bd69500c57178c561ceb37ab1be598d4aa75a2811f367ee2a2f9828c94df7f2da38a4e83b7b91c463ab36b53544c6359405427f4221a38ad3cafd3c7276feb04ebe3fbcaf5d714900b30958fb02d16bc7331cdc7a14a5dbdf58c2d97e0cde2baaa5ab565601170f5504f66bfaa85af2c94b9f205df70b0d397eb6a8c2369c7bcb76e2209a69df254686ddfa55415f96f1159a6ebb29f418d0cf9860fb9a363947e81be644ab79a4666ece4867de49fe42c06ec963778c51650bc283fccd4fba94fd918e5db9041e7fdbb6513c4ee2a59220029a7b5d7f981d6425ca4e3c2df8fbaac954be88c0c91496d1cfdbbef15de75281c019a9e5036472f22692b3056e590b16ecc262509000000000000000000000000000000000000000000000000000000010000a06ef35c83037bc5f9715ddad5b06c880e5cf5bd6ac9319620d41be384bbb0ce85b955b8c299ec5f8f655a6b9b0e9ca10f4247050181d9f46bb53b3c718c8da7a79f157564fcc3f7ca92042c8ab9f2314fe03b53a5680b2ac9c1687e05e185662c01eaa0d6d68b5932e813f40f4ec656f2ecf706a31061eb4b4e4d69ee316fa592b54a5515a3a4ed105bc0aeaabecce8e11d2ceaefa33e1bfe3ee272cbf67406a3836e89723ad48a6c085b5c6577373dcb3418d08c2c4aea96d0508786ce34f49e25ce227abb947fa205f8c489d864620866534e15cca231eac0199fb21ad8a1557738dc495f449081cd03ec41c8d5fa816f8d02a328a7022fd6c953d839b277c5dde6718a5d24c46d4c27dadc2260551dbb5cb4f6a1d248a0b099851ac76b56c8a9bfce4845d19cf848e47dd5e2a492bba77bc5ff410cda4b82acfde172b1ee554555d263ab10850b34018893e7822b34c99089bd4b5f2bce6b6affb7d25d55a15baadd195d0c555b80d2e54b73396d10e4227915d73ced996d3f82b602213c5f7bb19a47979bc636ffc99cceccdd5769a5cb4460e595039372426633bdf19cc83b08f1d7131ba6b0b42ef76ce74dfe2c4f488109516fe1c6784d0c4e0019548f62138cbe13c0e014d8bcdf727555063e1006af4fe4da63b8bacf6fb10d205a9c03000000000000000000000000000000000000000000000000000000010000a3c67ed77c143b8e2e80d0cfd52df81821bcdace4f3fbf821a763a5e4b339e9e0b70f40006b69db9b659e1d028e327e17f7b4a563ebd8a437f155d53f53720b4717c91834b3ceb4ea94aff15ff590eacf58571a55026bba51452ab7e1adcbe4e78e6429f27ed60865c1e041012924e15013c36e5a70347f7cf047bd396d0b7cca93ecfc891252730e8920cfefb8e364d993d42dbb6532e874e12ac05f0d849f6ef58e51076774a79ceff584bacd87fa32a51a655ce71d8e4aceb8a84901e7fc67e9082ada8dfd8894dd764adcc605da9cfba1f80eb64a00dee0c45e0fb6e182720881218198dcda04ae3142ba14c1dae6dc2e4ffdc0161317bcc53206b01e9bb4b6cb5d59efc9d8225a6adcfddfacfc1dff291419726f379b7bfa16cca999e0f016363c8b4b7ab849ae3fc4ac9a5d56bc2aa42adc53a2206617f6edcbce7f90a184d59b4a889581d55cafc2e04c0c67bfe7507bda52fe75117f1ee6a5c66e9c452391926d5ad4af28e361c19c1e40da85bef0774c4eb416d4e631a44abd1186b758e7dc6184d7676f93c7d5dde6f0634699b239252e918cb00297a83e1b641c47fe11904d2bd8216bd0157ea2a037ead4db869ad302d996d80c2ec1e3f522e99c0e15f48c166911ff53ea15d1aca6c93f24345e0e9ee39d99817f2b33edcc0baa3ef00000000000000000000000000000000000000000000000000000001000093829633685e383dae42cb48a113ccba90e9f4ad64bf53e5e73e5b53add5d1d8c43e11934a493a0a2eea11783af9de7a259b18317ba3ffcc95b6fc5a9ba028cd8797342eb8f5a60f4ed1e4876611921ca86b5b849af485577bd3b7c4f1c5ef1f177048291125c95402cabf89c2fd1ad1c82f19fc51561f3e43a03acb2524253090a600df5e3476f91169a24e67e5c360d67de97b2d723b24a3c043c67766a07da260f2dbef9a5530619881b21cab47c751c9edc46ff873adfcc08f3a32362a666ae229d9082af9b13c32b99579a9faf5e6ac7b4e88f2c4e4f6d2db32548420e418dace5f1871edafeb1468155cfc7f5132b5a2791544dc66bc2240281cb6a688a01f20675e0d8bbe2be7bbef7993ff588a47e40e9c8d906d97e4e19d206e912d846779a22a189c1b0ec562efb394cb4ebe0583cf331b9aa3eb710d2fb23856d7a78448b0ccd73ce8018f9295c4b3e2337aeb9b9aed2668af5548db8addf191388bffb491b61f57709613a35b022f12477c324d13a2f3a98c26dea1386f66743e0e426b34a24c289c0987eef04e67f2f8a239914a157de3b9c9c1619e6d5a8b723501486514e4dc6531423549649c867b68db2efc3abfa0dc15ff85316b18b2903773011fc4009892eff7a5caa074ae53dda0405acfa71d4b306ed7c2ccbb6f902afa000000000000000000000000000000000000000000000000000000010000aa3b78f018769e07d7065c2e2cd0c78fda284ff7893b8d1aaa47bfe930664b8331dd64d0e20eb8240b104d1e59cea6358e8a2f2654073e337b79fd3521101bda5f41ac99e4dc32a3f55a7057fa92f50998c55b263d97e72aa88a58854edcc147eb0134e90fbde8267e835216c5bd6dcb3c482a998b2ed11bc880d312a19c0fe32d129be899e44a2c7e3e5195a663972dc43b5e413bfde18be5929d5af2f0ee8314db0bcd56a55e474fc83f035a56ca090957f7a66b43a7fcf182b9f825cf8be8f78d7fb5e9699b3972ea2113bcbb10b1d10df47c6f7fc0b643283e791fa1b0b0881ede2cafff9d6f99e04b3c237419e7b8397c3d199cfd78df560fbdf7221b675ae3fbdca9c7cfe2d0b4e2993053a2c2386dba732521021421ef41202ef07bf748eda015dceb0229761d150aadc47f4c26acac2807f82678a0d8c18ff7107cb6814fbc5ad6da06cd766ef281b93469806aac35be498c5a117215d963d7288abf562d902d7972dc973fa617819dcdc8355df0aca3ba81ce3c02faae69e12a3717a1b9f8f47ea7976def9dc404c932e9e00df3276159ab7de6d8adf2aaaa0615d7152ef959d0ac09421ad9f8fa228c9cc4e90c50ea4b9501685577ef794e224a2809944a3f9d3c4f47907a7c8de4d73e356b1d69f99217ac7dae5c8d9886ceb8429bf8000000000000000000000000000000000000000000000000000000010000330b2285ee292035c17c4f3c141d41aa5757f81054900adb4e5451a483453dd6eb6d1aa96596adcfc21100cb14d5d8c6a8cbc0d6b7c806e44f15c67f097aa11cc48fac593534eac3e6417aacddba1b39ea8203223eb8a077bf1c16ee4a237233a18457f6a2bd4fa44ef4cdec35595cb989d5d5b2caa3ec32fed0bf7b4a4951d63d0fa12888c7d57b03a880fbebff33f79a8905255015b07acf7144c89dd513c34bfc6bc1c1423de8de78150eb728f544f3b9578cbff1f1d88f1035599ca9c52f45e8dd6ddbc523a03864673990bf3e2eea8a4c85826616043612fc6bd71ff8e669214ff2412e80b138cabc28f1d67d17925e6ed43afad2c7bc5bc42bfc9670635284c074d37d8c59afd4330f1c2ca6518a89e2176b32d58ebbb45ce7f6375210a70765ceb44197c2f76a126e1854b3d61b3e2fe52b3e3531271e8f750edc7c56635a6165e78830a2ec724037d41316befaac17b6232b9301943099c2593026b476f460af316d6cdc7eb78efadaf2f966d8fec153d144d4809aa3445c71a9ef4514210b28d9a2ac981d02894266a7378c81a50cb25c400d0e7c9b3d887b26f6e5bcfc31747c4ebbcea69459091df5fe55e36768cd6f5b95261d3f5a59949a6cd0de0efa05fa715286bb13720515ec5e01677f46f9cb8d0d4911405a0a639471af0fad0000000000000000000000000000000000000000000000000000000100004eaff06f0c72f56680cf4da5c5883d8b732cc94ec61fd104721cd0f162f55af46de4cbd447d8404442c8b023b0a328fad4e66e73dbd1a76ea98911cdd46120ce1b76619f6fe96086758f2cfbb94057a44508567aeca64c7b9cbd1553200b9be04f1e108bbb065d8f32745b21a8ad522ec28a62eedc711dd8f222f15311382e37b9789f7e8a35b83be610bd4650eb8d515fc77c76765dadffa78f42f9cfd08a2b029d741f1c15ac02475d23cf3135d6c0588d8523d425886e153f41d0b9e35cc53e312fa3d810d4a66230a8bb2c67bc45d4ac91e288804191e4298fd4e2643be1a453b4a6f36d4f1c0bbdeb5aa62a073cabc99f1df92696d795216b56b434c6471fa0cba1cc9a49810ad859b794a168c3bd0b944f56ebdb9456342533eebcc002add5c289c77a44a6e39df3bb6f90b2ca8a601ebb39dcd38e0e34da1455458ae4bdd0cf61ba5435cdeb03a6cb6d16ec5ad0aa6854db7576034cc26d64a1e1b7870c5118ce9d6ed3a0697075bcde2cd2c679e2eab49d0cd6c657395c38c3f70b435abc8d0791248ab3b181c32fa33fb2c705496bcdadfd1dbe4bc64b43e6f47e1618615cb43f10290c8166a393cb8d20c8c047c470400f68709bfd8ea005d5c6e78ddb4b76987235a4a04036c55720a8f1a2be11cfa59ad54d01e3d92b56934d4f82fd000000000000000000000000000000000000000000000000000000010000d8952212998f64844da4aec04f68e7190627a57eeb79d4d7b9be834371b6b6d41ab61f7cb4685b56070057303b2c0fe20e4f0157daa936581364ba0623e4c724a779e02f8af3022376bd96193f20cef7485481036f5e0d5f96aae4dec1677de10c72f51832276589533d74a48817e7ca024fc9094666b0def8e133081c49857f320b41b6d5dbe7eb52888018eb1c02b348aed7f2f66bef03e2bc6147e1744f7ad42794cba232ea00767d054150b8173ba62c277a96be2b469432673fe201f021a7bd26fb61bc39b78a716a0967f5a062a596860f72a7b188dfff57e5a965f8ad194880915c6589de732a41c23efd397d087240174f6cce02c0a8291847e5a2e17eab5b3f73b17a3314c331aa85b7019684a13cde56518959cc3cd44423952057b9ad54cacba6fdddb1d908007177d19bf2b980e98e5b0554a2f8c4183781c57034a6ecf3fba1b8ec107e7fffb58ed1f96e2d86440bd0071ecd4206fa96da44dac35b4458e5cb56913ef08822cbb731eaca95a1ebb002bc5367b51e43416defc01b79b37aebc47445f72c9fee3bf6e6aace51e14045a8ba5950ba6318027837d9b8c27a64571a5929024af267b02e70e1d0587c159e6b67b1a074a53586ac0b06620b6c0535b12c7e15260967b73e4f3933137f4d2dfbc4a3d8f6554534f2f48ed901000000000000000000000000000000000000000000000000000000010000f7fbea8f664e73c8df75f8b83c1986c98e7ebf2068c7eb25872d91e98930ca1316792ef79aca5f6a48af36803342d3ee48b9a0427445dc825b33191027fc98049d074e992087f4b416b078aeed51f64927b1bab2f645a560d5a94e42875ee66da700868a6be89bc75241dde445ae7919fa2f0d255df91023368bc9883509e0a214ee4c411af318a7e5944ed2cb173cdefa059549e8a208c6a6315b8bee5820a8d273cb87838587fb021e205cee2999f2c3a2591f9cf6e688adcdc0888f84dd47727040cc8c354e202ab62b7cea65dda3e961b72fd49ef936ca451686473872e1df3f73e8f375c1c6eaf26e133542206d0a3e9a50836b8a00d2486779e54b0d3b8297040d89a8ed4041707bef84b562e517133781c9fa5b3805911fb5d61b6102848c8aabc475c618d06a4cfae45b75e23f3ff9c227f072c5190ad2e2829b496477584d5d6520c6acaf6119361b294473af640dfa5647b30f74865a3c8c12508cc83d1eeae7b74befc4940ac5458398fac19dfa0ad990364ddc065a89fc9b211b9072eac7d6cb34f8f155b778469f6d1029bfbf9b5bac50b75d4258682a0332fe4655acaa4c3e8133b1d5aa334009ba6bfd5a00e8f67670256b846c82598d97fd1595475979bf22c439f0a7d2aa2fc4c730c1ca6fbbc3ffb79678427bb59159138f820000000000000000000000000000000000000000000000000000000100006f173da8481dd0b178b8d8896827c3b52e52bb17ce26c4bc2a87264ecf938d187ffe016da6f3c050d2a0e3f8ca5d009e400a6137714aa8ecf5bcaa5b2312ef5f1ad7901e0d50c1ee1093634cacc7600cbc15e7be7f356bc235adfb4bb44a7a07dc884a0aeda8e89c2b171a80a41351034100a127e0c41a4f3fb422aa9dc780a9087ff18bd89486c139f34f9a37e7ea248457e4be56cf62cabc1544b50af58e76f010aa0102992e3d0767edb5d7e7fcfa99cd6a200ae3ac104138706546b0d287cc811a4c8239d53743f560a14ecc931864104241bc4d3bfa6b0eb8d62cf13897944ab2b7afb1a53a1cb0a80693b63caf5ce4620a98737b027b77210e37bc0955d413dc2ad03aae3e4e86cf22b2384c736d7c79fefda064fd44fe70afb2a74c9ccc1f537b789a7b2afc22f7e5f8008d80559904458ca968ed36550be46ac61ec1743e182cf9a430c4ec5c8c19c0af390a292f6b7b948ca963aa5416c73a30bb2ca6ba2e61d619d366fd746024b3a9d65b12ec18c8eb4aa99d37d31f62fc836d4d9e8fdba822d12f5099b2fe20eeb702e495678b34868f9cf3f4849b5ebec4af78e87cfd85d08bfd33597a6952e222dbc6dab76fc26f9adb638ab61074029a869c25fcaddf3e66f0649b19157471c2bee32edc63c185a9daf0019c62c5d1a2d1bc6831000000000000000000000000000000000000000000000000000000010000c0388b88e416f90bb8d74cb6d22bdcf398479fa38e5e43ea8b4096b538ba0aa78ac34d707dcfc4d5f4bc60f7c3f5af8448c015c557be22018693b273bb839351c228c13b698aad2a242d75e8367ff4d1f472fe1c5feb8b50c324b4f91975eecdd86a7ec37854eac614819d5e432af2de16aeb268da0835b27dfa9dde8726553c11a89ad7cd8721e10bca3f58c8a6f9cb115dd0c3cc48ef2244491b372fa23b9834ac85e02df4e72f96bb68a57b6227b033a37d4937b39ef6539b29857be2e6ce4dc87f13ec7c4925ecf7d8f296588abd1212b1f6b2eb0cde0462a86ec25f88080e3d63d17e5858a5ea2ea4925fd9571f7b8f707154d9163b59ab172e9cef160b73459a3f8c6453a31f9d79b2a3175fed5c67495b2320804459e99dfb9209787f0c02705b38d1596cc01d7ebfbca41375d7cada47cf09d65cfa3b31c5834350f615f57592ee7d5e0d3edb016331cfd614fc46f3db3be81ba8792030dbefba02781c1d3d46618e669175cd9fee08c274be9d8c23152d9086db208424351d6a33aba803369020bdb0d078be85cc05ddfff70baf19768d1cab7d0d3f3878832f7836a988837388ba98aab30a10c81556658aaf32cb8a8a14f4cb23604b387f817ce47a165de54d0de65e2e4cfebb8191c120023b48b5b61b08fad8284864211af48191e9000000000000000000000000000000000000000000000000000000010000349df83d3963b8b114939105b7565f04e6e4081bd71f96116f5180556e1a37eae23cd70aa09099ddfb4f4b45c7cba3982e0c26150302694eccea23fab3ec69f56d8d703fedfa36cd61ee82b7eea9eb2fae87d646fa89938ca6599782570289e9d35544edbf34992d146e59001dc7b5fe8bae8ea5871b17576536bd4a1dd661050e4eaf11ac6c42947d2c9b5ba0e41021de0d68904d269127b4767dd8afef2d30760c97fe8a9e57db2f6ace51e1ec60be2222e5fe7aaa4910a252cd4bc547ec358ce7ee70bc06f76f8c7dca115977d2b08967b5a51a011a371a660b5461459c322d0414fc97d02cb577da51f5f2358b2aa5cdcd5246683840e70e93eb383459e188c34ad12e10a939a0107f9386c610cfd72e6544d4822d46749094656eef449895a0f5f95fcb1f60ad7c7167207956827c6df15e91d437b8d4e23cfff713decc8e1e74a00509d83fb9fd741f4dd734196fcb079f50d9a78d5ad97f119f7147f47543aca2f054fc4d68adff00370d306f26b5a553fd98a0729aead335fdb9764fa3b3ecdf4c9e396d2cfb21bd505fefb16845cb4987ee38094eea22047779ceb069db6fa215e68413fdf1249493a33c2d4ee20ee0cde81f45558668de41d1b42c533e0a74fcb2c891313e26ae1e501646feaa3c6b17dc529b0b786683c1f079d5e029000000000000000000000000000000000000000000000000000000010000f380923194e2fe75b6edda53b1f7be75762c7ae2895bed3cc3b7cc777343f109ce201a8535474592709cedec67f89f787bf9babf66dca80e9da4e6b2a527a23eef19841894353b4a304dba41124139b24bccdd3d42366b9897df957ab35778fc1d1209ba7e2f72221cb0ddb19c5da7ab59a1ccd570af5f92d9ad59e0c8a4a940941a4dd2e3d8cb5fcdcb0db552890dfc001c38a9c21dfeb91db9c4187a2752263c147c585a1b3df320c9cf4deee37ece07648650e69872a9a209bb71b74042dccc446dc1096fc6e49e8bf3f86495215eaa1dba3c377054790ddbfb3d881ed16bc5f0e82e587b5463ac530e56a679a6fed508a133295a1a55b836e3b384a4aae2af309e9b22275d83dd18f03eaa6ed954e5ef0be0bf5248590740e9e3f1bc24efcca8b0bb1fd2261d29ce87b7b2d264d704dc89ae9a1a3d1d0c967a2f93e29b8e93538447591a7feb1587f6165cf824a34fa1388e350403889664c7d3487cf82001caaab026550799346799c786dd73942d7e2d76397cd924114f6181a20326e73019df2b78f37077904e64f0b96020c7b102241a3d11cc5ee4100f6843dab066aad8a527a915e629865466636111c062a8f1cd448ea2d747a69950837f789e614922c30ce30aa86b38047e71f8ffe144216b9d6dd6400fa3d6d166de1a30b56182dc000000000000000000000000000000000000000000000000000000010000e00269cea3328fefb822fc2cda4e73aab8d480b5fa45beed15b770c7a58a9b860499c74c25c5740f8b4b2e2e967b2db9b370c534a3014c29d8813facb8f5ab369f59093f17ad4cb59c9d16ca5489bfaf71b970d187c8ad0a9bf9d74aa1b62a01b751e00a92fe33e8c911247a019fcc98c256db2615a55c22e00537219526283fad1059c151e9192502e77bd92f637bffc1d98f6d8cd2d6f592fbf1f3e982d2ef4fcea259f21dc58996604e99bd4e34f2473786d7ce0c92c44416d9a67840862369cbe1feb17d10920756c3b2fcaa233dabd5859e2a2bc362059799e240e2f194d4bbe2250c5680f5aeeac63a9ca46f926d57c5f3a72fc59a4705ee35ef27a5b4724c0f22a22e52c5a8537b6d843fa3fafcbc01124c3303562c5e7e2612d337258a02f8543ffa6ad50d27d3fcb830f78089a1b75740e7fc38e222b19a50e62b404b08b616841cd09f4195786bc6a83ea43c052a033474c04e85f7160994e637a65cd5d4208ce8d43c3f327f56d0ec2f2b5cdaebc46045baa9f1554e1ac0e2efd1c1ac899097ae7ab5a393af7038c114b70f339df27a11746b5b891bb07873e1bd5de29e4038ce4a0e12dcc4355dc765deeeef1ea4db51cc6364a0831a0576ccbf49fec75d07a65ca23f000b1fc2218cbf6d39afe596105d7665c59635e841df837d5c000000000000000000000000000000000000000000000000000000010000f76479c9c9c6f078cd9aea818829c2e94c990fe5b5f1a566ccd5dbdd9f2359c9af53055dae58214a16fb8deee5be0ba803a569aee9b051814d6529f17a4e2d8677cb1c9de7b251afda7c79ac537daab5f45b30d06994ab39438e20e63966a73c56e8e6faac65816d4f5338e4906b64f040f64796170abd533d17f407a50c9c32b0b96f1ea29042cf8a9591fb2dfd50fc9089c231c76c27dab941fcf0fe3cb4f099ded56f58d6bb8dce4195729e32ec41d59afda7c3170a672868216abb30ef74d9df78d05b310efcff688e2f80732c40c9f5bc023e77e7d904da0e458ac64f21bda08611e4c6e296b0e5760a5f7e529e76e1bc6e04d15319e4d94d9af0d71d4c156e7d304fad433f99024b558ce6332013d0c826dcabeb72f3056c2a22789c754ef580674324f80fc1b9277993dc4e3336e39b670f3d6d51019fadb6a5d38a26f956798c8aab290bbc97b0ba1bce7acba0f7e0b7a1d28cbb9ecfc8e6519df56404ddc7bfdc6d77a9851933714867a6e6eb827f7e06319160d3a4ece7999f11d81133658917247822b307c3928ef16a0c8234f74ff6b099dd00799bce57e0cca333b00a000f4e4b512371312322d6aa6a356cd6d71a1707a3b2f221a757f250e75367444933cc9f96b37fefb95317f0c4f8347bb1e97715e96717de8a6839de5d1622000000000000000000000000000000000000000000000000000000010000477630050a9cec22bf7d8608166683f6675fd9f18bc0a125a9598f060d30ab675a29cb7d8d3a142161d24358716d3bf0a6d370f8a43c86f77dcc020584463a843900705522e95dfd8e152a06266dc157fdfd119b5b11f54805157b4d5b0c157b1f7a421bbca488fbfa5ce39636b89dbd4558848d591d0bc5bbfdcc8cccb5545dade96353f5e03d3d76864a0d7df899f01bcb137f2fb6c7c0d7b77183e489ea567ec8c84fe7e536e4085203995e6e3346db8af95201368081e6af84237c68f3a9488a4fa9921984eb575b54f55538d32178528b618969c9c9b192987c9c59b06f78536c7014a0e0f50dd9d34581d1b6544c7f9ab9bbb26394c9b39ec29a8cfff95a639152c0718e4f1393e7700203aaf71787eb78079739d90c219d6710d6068acbebb449cb591f02e40907421b49ef13e37c3ebd9fc14255e8eb371692d8269836fd3e16178284e41cb229f78f3517c6a00fd7e9b92664096573b85cba038ffa8d7ffc62d19825368126e90f6dc13868bc3f48aee2e80db2cc227a2b8449f9c8e6947134c230f5d6c28482ca9ca043f5ef208fef13d4d75bbbbcc4f480e3c1dee80d6cc8323f8e3f41b9a0a42efbaf7326166e41a2a4e923bb65c37483ce1da4e562b46edf137e3954156781b45e565b3b3d1cc03fda92a83146d44aabd06f05151500000000000000000000000000000000000000000000000000000001000030bace6f27cbdcef0fb8cb6db9d21d81a067be0a4576ab0a303e112094d7ea03a6a39a7a67ae7345643c4b9c5563c22356edc3e9008672dfd7b32680de70d78ca8161077c038b92d5e8845cfe97d048cf6fad6955272d56a7bfb79e8ae37a3d3468ef9bebf9d1b02ea144f1380da574720ca18ba1b3afc4d9644176d76bb5c05b49dbfead75d415ac67790d48ba7b3f0f3cc3080b652474d8f52b58c71152c01549cc115ef9bc9f263b2b75062fc72687f5954a1a40f584c8e2f12e388173f256072f4d542dd4e42d9a417b733dbc608ac51bdb2160c13e318d45a5130d865dc82d969b47b554c4601f71f643942d70b8e1880f024f471a64043729896c4e083fb4b052f828a695cb4dc70530555abfa75378aff608ee364279453abfe2f36322d60d42cd42761a3d7a515a93a4da715e19f1a13e8dfd0fb2ff807e0d1a7277cf77c5e747357bbb98db9dfe9b987278cac839b08206843a2fd8590080f32512c8d0fd30d9b70de94a3b4179f92944ff37cd716856e75e2fa5028a5b036ff82d26e165aafb91f0562b14954021f4ff68df66e799a2786b21a49e779a8a859aefbc6ab5260c414a0570e031bf25d6d6148ac30cb9813ee917ebaec4c6b7afb37b4634ceb383af612beca6cd64992b6f33e881abcfc00a51671dbbc0d62b1ebdd0e6090000000000000000000000000000000000000000000000000000000010000858192cb1069010f4cb0dc9b8aaffd33cff96482201def8fac4766f2814640be6bbfa47f1841f923c2e469222df6898caac46d201a59d4d8f838d483650a83fbcda2dd376e8b1a6fcc382682f90515e1ef7532d36fe205979b4cf7bfade6378b3a7b2700069a377a142c3f85dad5e5972a1849586f7724cb98a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"c159e7c14c97ec22d40adb9734638f4155fe9acf1564fe2c6fd71abe4136ced8"},{"namespace":"0000000000000000000000000000000000000000000000000000000100","data":"39860ebd2ea2979018a2657f9bf9cdd81d6833123d3c566dc786f9addaa21780f259e4da918cb9cd7a037f01afd01b5684e0b6537fb2aeadc2e53c2971bf6d22528f916d95b55640f751646db1c123e2e12110a9b2dbbf5508f0e96ea7812216be1f349c8e621460566d64518bd9f47cfdf9b3c5faa9ea918834e5f6ac0ed3cc459231a5378e7b57490f24e67ac3c349f5bdf6951e0f117909142f1f4d343c33c32f57bfecfae27e22c8ddfb852e2294e5673a3a0e07a8341275c8f9fdd77f68ee3c2219c2a928980f8e97cb49f42fa5d80b3cfffea646f6cad8c5bb5b9d5e702375b0d2971539d132d6ce502adf0be33da4207e521a808f14bc7718208dc340f88f4943c4681c74d71d42957920d842441d915e6f18f97d8b760eae63698985a7bcdedd61b086db4d6222b48ea3f120b720e2004bd1853df51d239513b0da63d993f470f6f49a0f39472f3906892a4bbcea6744c0a5354249e75af79b4290832448c86509c5b92a3b9755915413d592f6ab78319b9a304ec2ae21d0e2eee78aecddb7922bb252f6896b3486c01201d129de54ef6efc9b1f81a443f7eeedd8cde63e41f8fe661cff60e3d6eaba1e7c633628dfb3b9df01ff6fb5acc63ebe5198e3b7012a21600ae2af8e631a2fa103934f3509c34e09ce53b6709682b723e4f3d539be803bae4ea4a781a49a4115e461f8e23a459397cd482f7b38b68a8faca1b54817f392f406d0094c6d4ddb8a783bcabcc252fccb5e713955f1b168a5455eb4fd69580af8ce0f95b5b00ca28d7afd07140d1af4ec08d6281a163e4c998635921d1f5520bb19c98c63c501a9b98b20726228f2893bda4b53550b6883d0d02d88b7e2bbfce9bc5ba4474eeb17aa8d830a7897756a03e77b62ddda537f9fab77b7e20ebd58894d34a87604997133a7dc515afeb68bd26a1d41b11fccf5d88490043099b44dd71361fe7f6632883f5c87ee86dd58e74503ab67bb5a3a0a28fb64477dcf73d91b85fcceaf536076e219bd56665d5efc54e4c91629322538bbf062276321542c48e3e34629f33802aae51f9ce9bf02fd9a5f8a99ee04c8be581ec8ec197e22afa50970dbb81ed99655b7c0d01d71dd4b6285c49841c384778f848fbe0b6a270340f73764318665b63eb523011aa671ed63f659832836d324381f547154d1e3810ec0a4aa86da1b303b9faf2021671f85cfa6c5f0aee4048cbbdbe70c4822491777ad8a8acb0749ff47f8c0a242e33d2e2797403a5d46a6517c127670ef62c73054d297e336dd7081fa9f5b615c1c02737d7f71b630015561cd4f8a022c357d35bf5ec9211330391bd43de86a133c110323c02fc0bded541b0c59f95b0383872b8347eea9d906edf17e98f8b726fe435346dcd7fc8d32e0ff4d1fb064a892d59b54a3d7f14363cd83db597ec84d5a2ddda4353d001ff24fb3d691d291e2ae231ec4202882fdead4a121a97b7f3b94d7590065707e60187dc97e1d51dab4d5cdd23f17a8da6c72003f0b740b5404a14fe058cca3cdc7cf3e9c5ca47bc7b8a4dc33237fd6774495229dbdf2a77aab25737e2e626cf3da87a30b1050102634b7b77c504618be9e39f415c39d61313e02ffb5be94855b699a4ae1fa6375fa8883467e89d0465ae96702c298e2de6a0a72adfe20f8a4ad9fc9931bd6dad443e3e6631f9f319857c12b74470ec148a4adbf1bccf7b032ac523185a4b20f52d793d2ae9dbd51cdb0d8d20a9fdabf64419dce3820752e4ebb3ac1ba91ed55068b99e058c968e29517cfad9ff229534d2f128abb37816bf22543f7026af438b53e041df82db9fe86839494ee065882932b771c2b82ac2c019bbe9506676dfbdd1f172e698970e366ec4084365461659e1106b8dd4b2cbd600d0361de20a99b5476c14e918cd9f2cb5b346e3f3e9598be4a44455249a946a1efd5e44fc28284340d83aff549614865c1692694ef09009045b17ad75ef0ce3e5a247c0a6a6991b3a29c8b7109a07d7116817702a22cd727ef18ff40390e385c4efa22c804b825e382868285a3b3d903031a737b5c32d5998409f43512e62df14cc3daf7d42e2c96cf87b6548a44a841d7a149c21b46622d7de0c7cf3449437a9e6edccf4a495c92d7d4a15356b52ee5eb881d26d89ddc50950333f36e4d72e396e6c09689d05d8df171aef0ac1822237aed552178592cc2d3060449c8fc4ff179e5024ec398e6a04cb9f5abbfef24b0117a74dfe85536b3d05b178a39900ee81689fa5ecc92a7e41178977430664ece79795c1ca3da38571dcaae07b1347042da0cb63f01e88f3f18a524cdbe1cbb8a52e7045d604ca4c99fe608c66ea17d8c988cf06daa262d62a5b3aa0b72320e72e7899168e8ed78a5a605fd040b3b552a801c7075727a1e164d9763683d03014811404f84b5bdc1b55b671fd89f37b2d873988fe291ac6213488afcf4c614fb162de34d768e2587e2135eb9453f9552076c8feae4f4643bffc84f0a7f7a54c2ab5e1dd16e976043c8e2c347201dfba51a1ab40dd66186c9b593d4096a767ea52df2da6872880cab132a134f901ee4daa608a0f598c95c5f49f38c29f98e20b5d0896bbc12338562b7789f39fb62b6b797ef1f1930c113f96e9d74420ef7c591e61334dae01fecd5d279df13255dab9923f79d736242285b43b4a7fd78e93520fed271e36a8938687e67eb4897cf4f328957ab19a31109111a27b3b9af95238909d6ed22a1ebc32f40c3c3d576bc3db0e7eff53c0af043ea6d1fc2276f537cc645fbcf1f983bc4e061c0aec44024f957e86602c7e087a530d15b6bdb2b93330689c9fc4c79b9a4af5270d69ad679fd3d7ae4413dc0861999e2249dcd04a8e5a8ffc54ba0447e0cc2acfcd682be1cbdd93fc81ce67a02bcb690ed2c4a3edf6e381d3c2c3f751182bdd585bbf168d7e56f4f7243f4ea8494c2e08135756c1267dda3b82fd8ebd0f0c3dc2fd96623f094c53dfc345539ac9f5d0663d7332e4d9d38300e4deaf76942874d86ae4acd48e06b953e806fd747bb8b72e249e003d0d1a4768a97591228c185c3fad85962bed214b052d3c0046fb1d09a574bbaf5e0ff694c6f9ace766a73d1fd92851fb6e3629d14da4eac358c4d0b238000b98f918ed7a1adf984cca5cb0a313278937a23fb0226802bae1e2753e4437a7b57321d3118df12ea71d72b08875b524900dfa7bb19a60e3d547c631987f7c2f05e93983398e6122b62afbca0eaf76e096c9307ebb0fdd8070a10fda713038fedaa657f8cc4990730a0a08b1746d930fe38a5f3a9f80ad9107b82d01b98e4c5cfbd2c88e22420f12833612d18b8d9406e93e652f59dcda83f4c7a0c266627ac218c4c854b895e563725b8e31f0146e156e8ce21df5a7a8a8e7958a116ba4d26c05599a89b4876feeb6a2a881d475f4527ec77d9e17da79315496e79c28afc93cf6240b3918532b5ff0a3e0212d7f4ed4fa1417edecc8f003f3f0e2983a7ffec1cc7391bcd002ea5ec5bb2d2848e5da1ceb531111ce138b651b11ed5a44c5151131913d26c9f36d9f8509e3cc80ede8647333a447f7096c569ece27884cc13ebb647c6c05e34586ff2a12def937d7c9df54fa06545af6999c3060ef813a702b61fc73719b6d471a04a5c1e334da61527adb357698df6441be95dfabbd1879ecb1f48f916843321cbacd9735525da95c1732dcc98d7614162bcc66d04b9858da967f1a28a0f993fd42dde5e8949d71cfec5038bc8ff9ca475eee748e929d0d8a027fb1fbd823dc415424b4d8f9e0264363fdaafac42452fee4e6a01bb9c6c77716d3225892410df5efb9e80471475c893aed1f1503c67e8d1f6e9e999ddce13036c98005ba58e2af2281e3985ec75d984fab5af8ee0d66e53a303c5dd1a3920102fc669fc130a99418f949bb356855d702d6b0ec07c7c3a0e02bb8c5594c379abaf84acf5c06631d5544b9637279b1c908cc54f6eca827bdffc8e1e7659803eff756ea8eb1d669add9c5b905a9d7b6058d71ba87bcda38ef22f01775c39315f37318e362267a96b721a6120e24297c4ee424d0ce52b3fa0802ecb1a66d0f8e8a54e9256f060961156c65240eb47edd65c48d2bc09897822752f2fc3a1bb605a8c134ff4986becbf6eb17ce14bd03857acf8a75e6389a028e7a1bd22255999e48203315f9deb74ad3e36e77be7ef79a260e8d98578474cc0335ea7709f87468010d92f1161828778941962df68dc9c7e67a0822be222cb1632efb0b9b16349bb40d230529e1b9ebf2161fd1f2c4b3e2710cb53ac7c966e5dad1788c6428792cc804f729398102f663a5fb9e3ded3a18a0d3ebb64567dab4703bd7cf9fa742db4fffa0f70ad7e5e9ec6a1783a58de1cb9db86df32e6ebcc450930962a5867f867fc634838cc1800988bf8aaace501705de5a0b3861dc54f1c0ecd2b0c6b121ed43a767c66a93b5ab4bbfba1e7d3efef0106f6b843d4bd231d7eb6a19c1fc3e21b53868e685f16402f3233ec4a964eb2ca1f1af3feb345f9061d505d232febedc966ce581c0ff884beadb339424945c7c0d3d6b09f2e225227a1e6264b3b63a975e9e9b570405c4e239de579c3119c4e9e95187ce03774c1de4f38e0d8907e0deb47a740fdd5ba82bff85598dc3d80f9432e43431f59e89961faf62a0cf65b1cd78626871ebffeef3680bfe8741b912812c6b0c66e7d143b4f31a7f29105e4a598bd32f01fd61fd98730c46b960d91d1a2bf59ac3dd67e47b4165710725ea1319762b77f1afbc9847b0474d92067450aa678889f2956f68c60df763b4d51e0e45142525ced2c4e2ce49761e8c6bc85571c44b98d953efa668e1e67434590cfddd43cae575b27905ad577475c6af2f43d65907d9b97d3d922c162cc8eddce4f4ab9ab1eb70fe7e42eff9031c43cddb2e2be337d282888d0aac066a0047a7745aa43f888fe6ec6259531903b9d495e7e3891389608989d2f2e06fb43560fe5f78e8e0d3e26a909834cd15c63dee2e219df2b87b5303bd8cde3a352f721750c5b8bef324dc7e73cbe13f55d531e213e71d7de38225cce4977d054aa7b0e9b90153ad5f708c274b24a0893cff58d96c8c23c48ab0133debb8f0f5d38deeba1b59bc01c7477dd8cf5412ea9e6fd264fbf104fead15ba9449e5e5c2ebfd839339b32e077d1b0d901b41317c2072ad5fd755bcf1e1fbde513222d5338595982259b29ac79ecf44aed1b539fcabce233584a17cb92007e6f853377cdd7ba90819135a1ade1a983193846efe8b2047be69f28622f49932be4f811ed074d6a33b9cd86c6c23b22ee49a1f6d0483b71856307035736b49caf728e24a7ee30ceee9bc30435e49fe6710932407be73cb6af6006ecc44f1be1d0133bcf3a27b78cd5fd2658f7afcc0a3a8327d4549ab053019838dc0c31d3ad1cd16058e1d3d410e09fb7bfaa3ce44b1e11360b8782956eeb5902e9812f6af2f7d5907f21eac9842d07bd83d8aaeeafeaabc9de6231665e10b4726041148395517af00529d5c868085f42eccd26c92d76d40c270d5a5caea93d8f0376a2ce1dd087c70625db5f68d5aaec8d153d7407414b9a6586252234b14a13754111a17dadee48a3de4936b246b039a7325af9634f53e9fbd111f7494fda103fece35fc184704dcbd9f0ca4d03e8fdd8337f8f28647d0ee53542e30ab8485021b6aa481f03012cefc0a37cbab7d6ebb6c9dcc6c5c3d99769a7ebd8b2fa9f0cacb45d8be4f9e09210bf17ff111bfbfb9bdb651fd7f7e43caa5faedcf86cc8fb301978937b2fea3005ebaad24306ba69026b126a5f4e304e8b83d98f8e7f7d662615d23741bab03e15ce92eadde192ab747a9464373b15168d0336239e28b6756d4965042b2cec3e033cd0231c9f75ce949713b1784ac8b1e5d71423ae1a197a5cdedd94730865429f6225814dc37beb860e6435318b21aa10e5aa5a1d2099a8a2f49b8ba8221d316a585d6f35f8f9441311106d67bb688f1d881863c6e38df212e9dcbb222172744571d73380740f15a3cd1e54f507c306ad92ff8541d4cab12ed49cfc8d172743968cc34f5c159efa125aa6d999c0825accca5132c2f61b31959171f81621b797c766ba6b589b664007b784056ce9191fc0aa9a98f266c79804a8a3539c3f6a4aab2eef69d50146b8ec0e57ac2f054ee5cf4d2d1436d04f2959237b2d8994eca0a54d93d746d521a9ab5cd85b568c5e33aed6795d61589ce72a68d8ffe9692283604061ec87d643e2e0ff30e3d3f57dd3c30a4a9566addd9fac41f705c2726daa611c5e26d6219fa52a9ea0489445feb55646595559607ee6c410fb74d801f264110ab2352e03f79d140775d0118560ad9993ea5e0cffac483ccdae14ca2d89590f46eaac2686607f9c73a8def6a807ae8dbadc6b73dbbd8b84069ff6b01053f4d7421d73195ee4614c156ae8ac56285663f078b3340d331d7c4204e77d14c15831964585a42500762aeb5e44f1688b06c0e366225f0985d22f578db52bc8368304021e6385b522ffc962224d15162921d656b7c4a38cf21a4b98c3c45820e28205398efc92e92b74c4045f82c9fd2fe057b2c29128e842b3d97e73fc237e3aa832c93719c3d466b247fe93925fbfffaa38d476ac49fc65d6b5740072bd4997e7b37d34fd790f0edb1bf2d04a2910dacc4dc3c0ad6baecaf3e1c1480a64deef926dcfa91830d5273414437548448e232761bddf67cc1060ea11550c8a640004fbb42bdb5c6c132b8ba9c12f9e213243fb63aa2b7c206796e7cd6003dd66df40ab78e41ff83ae809150c77880ed3486221fa5f83aa5035908bc4bc2e97dbca15928022c11d0be610126edcecab3297de656a6025e72736b87730af6e30cef8e8dcb4523db12574789094df3b017a6831f7478f9db198b5866443756207b98e3edde68f58fc27985209ff3e9f876638533ee129d0241af07483d3fdbbd3027bd55ce45fc8e5d49ed023ffd54af44f6fea673b4d0e90c43e6aca81ad54e4c7feb25310709f7aa765a2dd0679266456002df8a6f6508a953edcc5114bec0169f984dc6925c92fc1536ddf821bbb060c667cca2499b3298893000847b52b851c300e10dcf9139c17e2727c5038602601c9e2afcb8804c9923b0b672b368db4126d53a4a1325f19eae06a210f6433d89d0da1ae1e54d70f2bc45cc49df60b539bf5cdde447af1cf3db0ac1e37896e09bad225dfab1248596d435e6a4c1f8a76d1143db95586482cdd0dc5d0e759b7642266eda938cf3ffd8e92667acb8b8d555b426b43a7f7323f53365eec152154ee1d74579db52d668704cf5fa4e399417659cf1cce9c063c6f00839895e0e6dc88823b5b8ee842e118d7837e5938a511da114d13eb5fb068b3c3786fa4d4c741185d389ccf11a84f3a6067ef730166d2c7a5fea051ffd0d40fd05d2101a37461205e2d54a6f1301ce186737479eab873c5724624fe450a110b71803a45499f2304545dd1d712078aa167ad2328e41ef0324d3a7166112bc70ab0dfb730a950f5d623bae03081cb088e61bd67518d6af3665ba5dbcc3d908fc930cdda48d7ae46e28db66b7b38d9a0c4ed8c4f77e16eed759e70779ba1fe0c13532c6d043d48376e30eac139c2af99c1dac981c331dc910dd6d2f269f473851c856f5e6446d19be9be686c91dd4236471bbb21efce995b9eefdb504f1f7911661d1e5137a6b140455528f954d85a9fa8b0fb2b5f13aaadaa3c3329759e59d5a13a234d4209034da1716162e3c5a33231812131b68aefcc6968460deb2e8ecbac25e5a9861bbbd256deb962cb93d0c2864bd2b6d7c173f755e0396715ef7fd4c7a0a7c34ddb0359a177a72cd188f8cff48428e3d151b7cbaf494f151d66b6a240db1fb48dffd31b498c5e362f4df5ff6009124af1962226e7c6b45edf9ca6cfab7b3467e0ef7cf7b4a567b76472c7a3ca8bda95b35f80bfb5c922474c8ec37ce3ee6c0259d85f23525c15f598260b02a3ce7eb7dfb1ef54baf3316643363ddadc701ac07742f195a0979e192cf91c342daf636af09c193b27d6e1952044c85906b4402f6b99737007909cfdf5ce38cb32a255c4b8369ef57810fe464a0fe908fd55b57ca7ab174d5a443959cbf1682be156ae78d3a8f0c7e3790a6164912b5de1de743fd03dbd444040db96605344d64b2a3ed382771c5ac4dad8d8b169d3a878008ab1e9d4d8492d5fa6dff59444ab5fdfbe6174c3b159e7b7aace6190f50da0d88e7bd6fcb8b3f3d922263e6006904d7174688d2b01215c5978fbbbfe74f3f82514e3ed5991481b3e366c76612cd8ce04b718a22dc79a600cb0c2a8d09825e7c0e195bc9966568ca00c0d22ed32e1f26013a9fcb47e0d7c9e4e5302cd6cef48474a05461d53b7f894eabf14a309c6a26af9c94606b1085ee793867eb876b63aa59759b14d1b119c1329792f0d2d6ada49bb1f6dbf5a9a0ac345bab2363412c89a2699b0261a12e0b00e2cd154ac7de44c3ec0ed31a52c4f5cfbb5dc4d511a201b77d81f4db7557d1de1e94b2026d3743aa0cd2a823e465d8648a015265af1bc4444182f8716485e04cc04a5416a4f04c9e1faaea60e597f1638ee2a365888d80cd52b705774d6c85cb8302f8b4c6a7dad396dc71b4d802a69224928ea87b2a24a71685b3811d18ac710ed12d6b89f2890bbe6ccff8c915c35162c5c744990430089eabc3b72c764b5e8653422e0270ea1e6a3c24eeade611093013374bba7f0f2b9605a71c578e9ed4acbad0769eacb361cd7a33f24654e0a0cf165949fd593a01e2f3b2871bc6931c35e879845379a6408bebcb6fadad33514e94f4f8616505cc99a636610a9f374e97e75dc43df5e709cc71a134c997a0824be319dfdaa09fa6e0f4d4318cf9fc476ebeb8818811657c85637733255163769c255c03bab85e484208cebc663bfd5588d5df4a88edbaeae0aeb4cb25f2c41bd9842dc5a663ddfc0c935a9b607dc6ecd886c950729ef404f38be97df7faa25a363a78b4745fa997e3835f8984e825a277a61606513de39436035b1ad12c49d32f64a0223c914613bbd76536e41691027bc60a8e5ba8a08c2f4d1fbfb10fc10e9a50e4969ea4ab2c825e253495e0a1a5307630a9a39747f8aa56d6d003898dbcf24d8f9f2a1df4f402917459456ec3518f66b822b715db5f045d6f731e63333b78726b5cb25810b631579e889ab75b95a838baca0bdd2b3132aecbc86fd99f867a45a019b844d73667b7e6fa7cc02b392c474ae4c6802c4880a975ae06d9f31c6cc1abc7eb1e9e5c791874e3456047ca18ee72aed7c5e4d471d755e6611f418f8943e653fe8b5da59a275c8b1f5ecbcf7e7e9a61c0ca2df6cb82f18fc7879fdc8697d3448a6bfa9d68f757878f575edd00fc77263c014d86069b68c752c47f43a6c7f5743a08883a7af787c73afd7f926c464e67921fd6c1969288443c2adcb61587c9b23f66c3ff6d99a3ec2f074209d99c2c1f0ff2f68ee120f107483b4224f5e39bf01ebda031146e3b8f27a423a6302bd37d63c3adcf4231894e7fb19b7959fa0c71ad69db7011ef3c56717663a4b5d418e5b9cfb0a6dd95111e271f407657f32f6bdc09e8779d7b37ebf6a78b1daac9011a3a138e33247c74f2106442583baaf119998b114b01f811caa249b6968e0841147016fd3601416b467688b819d431e769de84ac74d67f8f43cea3bf261a65c2ae2a8d82d701e00af5a83e039ec388652672bd51d685d9b74118025ec6432c9a45bd170c3064661df105d1210d0df0c589c1b4837d81fd0422eb2f21907f401034aeb435789994fad6af5688f9aa995823313ab187631181e28b44aa5286d370cae46532afef5ad51d7fa26b4f1b96c4bd1d8109d819cfe407c13a2fbdd4b1c04e0c76ceb243e86555d274e814490912792f92c53042cd4ead209a5f3d3806e6e28a6f5773b6f36d03005bb3168591b86ed52a958cab41cf3d285290c729be117941f63f36cf98a55b9c4bd63d8e3df0e1f4f32a1ac6cdee24ed4a7017fdce6e8da50bf9cfd73cb0c697bb01ce47989d3b1a03911b39ec71b7efbbc24b993dba6ff8c14a9c856a709dd89d369611e40e68d3c7e32c03f7aca9a578407dd280b06a8fc20896bec1b4ba9e89211ea504ab0a447537bd15c85ae2de823ee5c1c4671bd2c1075bf0ecca953b1d3fa2d01a2f8aaadd0918f8e7035272c015db7e9863f0b7a6a264488130dd57f23ba2fa33cf6de6e5a862f1ad4d5e8af7aaf6e8ad15d3ddd4671d44ae32a527e2998ee18bc9555d7b4f6757f770097af80af4f547ce519554006c8dba29efbdc27d09544c3f3a18377639c446d755cf1e5ac17d18e475955aee5ced1f39808539996f5a16a0220951563c2cca876002622b0d9a3f0dba8dc928f6428851d255bcb495595639571a327c2873967a2ed581f85bd4864dab5887d421f56a5ce1d6db9f9a4f8f2cb0edfddf8bdf99be7e1fccc22d2c643db9d09b74a64ee7fdade0664885a8eef732238419f971bc73a2f883500bf327cf87418cbeef1502758ea0e1811685864790abcaacfe4d8f0256fc1512f9aaa4ab9e66d1af5406ce9fbd5b80f09c163a59afa195303dac4580afda74a3d43f0b3108f164fe61043e4793ed18532ad2e9d79d8a26b05229aa4f242e2f52832d36978883730b8a6f7fc56a703a72ae95abc3492e068468ab77092b812f5f1220fee408325ec33b0c03cdc996efe0000d5f61acc0bf5250c26d3cb044cea0b5ff8b2a28d8c7084c198ed3b8865670f7a78aa922f0c4fff8f1eebdc7a280db333b8af092acb41e51a566d118c644bbba2399c0a0fce32c5be32f0f6ff9f664b398b01dac1a3956f51f174d4352a6ea6aacad662be5ca0729d2c2445402cc61052e95da7dad4328089abd93d4ea2354b85b6ffd6637e74cb26f6f31f7f21e97f97c073e13744c88c33095f4ea318293c9529320fe8491beba68318816014c34a2a1e15df8b7bd301c1f5e3853dcbcb279629b4854dc8be645779911d87584612bb3264ec2c7b943dbde3a0d0d9cd3624bd9851d90872f3ae4bd6918c123425774cc22145504ee4c72d7e200cb6307c1895f336798baf87a732f5f648b5c69ab4b0a75db86af9628dd81cbbb9d36037681e8b965d5cc538422df08052366ad6866666c0f5e963515c09c9af19b62d3a4aad9f7653d1a9a0762a501b91e975ae96b7af63f41b39b31f4a7b48b53c9bbfa02e0db71c1a7fa2fc7fbc18a415587bca03967f244201d0d5fca7fa5072899b307e10f2e5cebd54000257eb81f4a612f7d2c31d0ded9e3bcfdcfd68f36f03987c18f081d7d06f3c7ac4c264966d3f074ad804b8e20050e77129480d2e2f34e822bc2500cff3705885f4269ea3f7aa7a250095b66c80dda436dd4ab361c67330e813973791f62a5a654ce9467de756cdd3c582b30a45f578010ff840ba7b2e414e305e1dd44bba338b914a7d1f6c42fe61aee997737ea26c9c18b88dd27258ffb340767b385ad90d391b92b247e772404d7e34c0013786df97d1c9b08aca6b73f383b8cda643c5008b480861f3933da73ca10bdfc2edf84d1b9bde790975df9072d159d519a9d0430dc6df629e8191a24be31389ad40de7976eeeed8906ae88b456d76928c3667d874de55d60b80786a82f97a78ce0ee7985939cb73727978f1455488b921b7040d74c5f5360e7d13ec6093fc485ab0acf25eb0f1edfe2d352db5b286625a2997abe549a6330d2c4ba8a1041287432051d4ad38f74bc4a725512b5c994bc84005acd965578ca323fd960a24d80bfd15c13f26e379fb05550b37010f1477b9cfd59a66598dc972cff214f06e84c0e52e40bfa0ec320398c7daa648e10650485241cf0798c45717103e8abf06d2b8f592c1769683e611af7cdc900d798332fd49db9b55c5cd7c8afc26c74238137f88b94b144f85d8bafa948c530cdb7966999f84c7dc49ff91a84413fdf8d3708906613068177e079286153e19a06c218a8b74578be2a3bbb76e7960975c7a605f968e3c333843dee3f1275cb7d4ce89f8b3e1163c1bb708bf8b6e222873d0465b7deaec223a8e92df87d6ec2adf926d38dd5ed99716e5db68cd236312eba5ad160d60081b7223792cc36def48bd1c53160e59d68896ddb40b4b019ca698987df761d3075a55158d1432fdca88a3f6c4685a34405af2889a8022185efdf323601bf881c3860aa13965d670ce4d823ca8a0edac4f733613a682447ae42db707d87bfbb1ebe1889051476990c64542e39a80d03d655dc10d3053c75b432084794bf3baa252580a52d5d86c07ddf3d77cc6e53042a8577938d0b7f7430a6e221bd0e6ad6f269d6762bd6499fb512896515bd4953ad0b0eb72fe8eecb22d78142bc9e5537f9e1f2ddbc0161dc01887cf9a5779b7c8e3b3334ecf5190638b2e851dbadbe95c305a503f3fc18f7cf3c8cb488f935fed2c0c4c020f48d4f27189755dcf37079e09b667116ed94c937d79a01f8406be25422fb1a692ab0eacc00309102b68e460a3839c71c068fbc82f734287a446655566f1b1b7483e8448baba85fb90b3162fea3d85881337d5925baf285f704214db1963561143f377facac92a1a88e48bc92f0e39427f52b34d90809a3196b60bcf9dcbb0ce1d950b97e44041da53ed7f90f274be8e70c961ce2030bf4fdcdf573f5bfebdb23829da2740dbe910ef7b30febdc3b914db4e460237475721c573e3f6c1bfbdeb10fcae8c6504d123b7e82d577136f779f42a671de6ac4196a664aad4b84cf1d1d9ab120b0247828e450d3aa3ebef5d16bf86ac95d7200e39361008ea8c9663fe40aa721d55bd85f9faf3441b7749ca7bb133201a8e06082bf571703e15ca69eabb6c86a8da7b3ebe4bfa1e82302d39619403a593145439025dfe32b83a8127faee8226db498be7029bc7f0ce4796e591d8bda8b13172c9a65a07f2b020502dd268073bf4fa8ad2092664c5450d0f1b4dc1a2bdf7eaeaebb9cf612a01978538372990ce259b795ce1db41e897150dd6426bd8fe08a020261e4491934630dec1f439c539021f0abaf8d01c8f0889b8ff6e29b8358bcffe1e846050ccd6d6f89dd0639ebd31f428ade6897a933124f46f5063b51afd52d3a0a8dc4166988ccc8b0c324cf053cd1cc6a347c483a87e19cbcebf4c8b5fb02c4c6d424f50309ef2d42f4afceb00b66b1622dcafc6fbd4a9dc7b0e7fa34bc79e78a73c921f63b30aadedc5af334137c5e4e65f91b370eb1fc13b3e0dab39b7e4155b9184d1051bc5c961f125c6372931c4b3bd4ac1a02226408951301a267a659969bca75af91cc6caecc3e377615b000c2e24fedd0acf2145815b59895ba191787b47ece7503f1f51f0c60feed0fd5dcbf0e18b4abae3a84f25356366223ca0e46669f03ab148e9c249ab0f7c78bb0573daf77d03b20b331f612a00f2b94190b8905e70f9d94f1e08a0bbc4af9edb2762791930f3a37fd75f8de26c4ab0c7bd29017317888bb32410fdfc4925b155f3edaaae26c2782b0ef82915a7fc4eeb6ccb2a6aefb90fa851756fa3ba12ae8ca623a1abd39de14ff265492e8316a7ee96a3180b28a9e00be74c8a2f5b0c455c256d22c472f251ac2befeb37211ed17a2d0f06313ac85ded87c219ae0c373ee4591c92ea58fe181085e43da2e4e319054a7f431f5bc48e8828c89f1bbae0f248bd1f9d104e7ba6d799bfcde8ee9f0b5f50e4d9829ce939686ee27b7439b88b493f0b03b045a42f0056583cde3fc6c4d732d1dc73ba436bae25d63cfb7b07c6f92a5910a2ce314868e361f9b51a31a3833d393f054fa3261fe3c1e85172a8fe96eaf2815bce18eee75f53a63cb53a8f305e1fbb3b7199633ae117d2d5a4e2e62ae45dd4d04d459238a07cc9fdb46fdcce71c5498b6baa36147ca0d835cc3437b72dc4130c251029f281bf2de976bdac52606d6e299cdc9a3a4af52e6d9a514310abd8602f63a45273912aca1dcc9149e3b6902cd1d83ed9df94ab43cbff18170b074436eb131bb35fb62eda475f659ffd50956670b5c48e47f4f298689a328af1f859ee1bcd17655c58df3e5500e154126f7f52656ebc34d44f640b5c009a25e146b9ec15a47a101ec7c26ce08dede3de35174bef551b5c57ea1aca4e318697fdea8c38cb35e317390206f6deca893a4f2fd4a41b77c8776361ec58fa2d7f8fff4eab9b17ea6ae8c0a882320e59145da66575bf163fc9cfc442bd8680df228ef880a802a05c8b18bd00a738d7492725469179e944b16d36e0f19afd9ff749e8bd46cdd80d50be5ac43ff0f7ecb6984095b3eb0c8fe31883c4579f7d6629635ccc57ae6e27c2187b540ae0221fe45aa259a31e53975efd805a4ea9c10f425f74b770d26f08c913c34e24e4b092ef954e1908b3fdfa398bf3c6f4d8b26cdf5137b08fc2ebbc56a49a65518e34ae7f1955f45dcd6e8be47a635117638f1ee99715c05188ba5975e958b0eb39ab5a8be7ef1fcee1ae511125e155c0a439413c01916721c2c1b9ede7969e77e5db1b73f77583d62223f7df2e56824b419bd5be9ed669b5ce4e52b65e3b8a8bec772648d3ce75b7ec5bf971141bd0fbaf805f2c4907c2481ce96a5a17f76c18a3c3b71f90685eb247aaaa11bc19e42c2d6749247240d9bcdd31a3e743d840b1c13b9873cb4e9f90c9c84dcbafb468e8e70152cb5fc6e51b6a1f9bc424992ff597e30312856c219ee107e9fb438644d429c0c6dbe15977de6f7e4af889c7e9293628d5acf722c1ff70ef57d6d95ce9e98b3cf5b5a3bf70ffb1bb213f015f3950af1db38aa3a98118c01cfc0c3e0ccce4ed1138d286129c585a7b0161464006c6ea611a8c615fda0ea27b478883787ce11ba2ecd6b404a64273b422a8aafad9c3e79ad9cdc9c8aae815f189cf4b193a304294353937554a999425acca367df7103d2178cbac7106b99a46013236cf5824d9c8de6879b1d9e7270a2e51d94e5282c401ca92b2c05ed4ae5f24ca5c42e01f61a1457a0b1d90d314008d731eb586ce1084eb165f3362b2e4180da00668a67ea2f7fe025e875be4221d083e019c0bfed9d4fd1b06b67d5fc6029f53db4e8d6f5742ab994cdb90ab114f007f9fe47aa709d2de15d4c4114ac7ef4a69de2f95a508aa05fe8a623033faf816b4ae10519288966b036717cb3c4161fa5ace7841d5be48a28128c108e791e04cde5259d7deb6a2f6b63af20ab1a414c62df7dc25d8bd40e6eabfee37d2240fa4951c283a062cf0e51b80c0bea5990eb046833e1382752cc80e1e60aedcae3cc1fa76bd159ed723ffcc2f9025d2d097a2932a435712e624bb5b90810631aba53534facf235989b81011d27f18e846d0d8d6c3a8fbb37a16c5a7f2063d2d821662aa3eb78b379c20c0be0ddfc4dc08154b0f556fcc2193f971105ac0705cbbb7565bd33de8eb9ccdb66b85b3acf955abb5f7889c1bd29b3a9283f340fdf8b78bfbbce7f827cea90c1a58d4be2617f5add34a1ce2989a241c62f7a123c937dbc0f3938b58a9d356c07887d4053e5e25af79a6be1be77a913339b20aa7b6d44f78b3bcf743068811fe562250818c36fcf3bd92a4be3d4fa0597ae6b7209e7a37049ef67fb2789c0157ed7f9d7e542806cb556bb45e2dbd43e2a125f1353dc6612bbf092f91f616d28194e76bd1c5a44a927417762605edcbbc564ba7ff15763f55b655d8a1d7a0541ed7a2cd6578a72833f990c2cc621ce95697352221176fa84a5eb1fc3456382200b3b7273d7622d22e0722e99b653fe68009565f710f5c9d41a34713d8045667c456a73e5ca5fd4cb64c30a8ba44252df20161ddc4789b376dc5ef520fb15e807965f2e524c6fba5aac6ead2ccee1ec2a5b31bcb23504c3bee5291228d1f7950d992342c02f2982543a191f70b00c92a265df72af23d87fcfc767f9fe992307c210c5dfb780e3d81b90d02f1db95f0018bb22c10550c702de83738cac8efed11618ec5f93dffd9efd01d95624b334a1237ce4750f40576d9d7366947cb9be0eebcea3beca34b64989902a3c25e1556fe704e5b2c5d8add073425b64bc0d6224a7c1a81d1367c9618cb792aef45faeb1d3e07ae13f2f5062cf2ee3bd44a34f98960966055f47e5d67f7d47898d2a604103e93ded9e6a09e5fe346e3c70f54a08955e0b34b432d4cc654a1a326243be423f780977c250b1b02c09919386a0334d347bf145bdc87bca990947d02bc4db586af744fd7ecf513af89adb37341639e8b340bbf5224882c8836651afb5b079ed6eeb46f9c73edd387a42d0d07e117c0604335645943697498d0d5bdaae307c029efe234b0575b4e699f05b8f949c2ede8d4197fff41c52b39a39e361c367aae8b3bab8b8070635bbbbe11137572e67544845f576fba43716d7e12a6b3e027b180bfe903b16d36ad7849cec013c2899c56de384c388fbac3cab7d224c63728129d1ad3c61881c8c988f5e78cbd6af73ac4cbb8ab464cd6aa5cca91a0aa10deca44ee3478cc3a37fec161dc7184b285821a7c36ca8ac4cdc12c3ae2de6290e983852d64faf99d0f4e69601a2fec77fddcb418194b15163d7f0b346229309cf9a24e40db84d2a3d72efd18287888bf215f8aff83cfb47b7c53bc5dcfc2ffd07a33f364d62c9e4a9a345217d3f98a2881f66208fb259ef00d71c25ccee162f7d906b5c6fade9392b950afd7fd0569dbb3f0306eedfd8355e3b57da572c71450e11c465538c0db3faefa795160a5b1d0ee6391aa507783341d70ff6303b765ba8e6aeeb1f8281b9763b2f41c7f2fffa3bd40ba2bf6c67daa18d20b1e5f6297d0dec6bee4dc2291776eb4fffeb53bea163bce281641f1ad98bdeb068cfe35c1bdb41088562e3b2416c4fc8a2a0273ba8cb78bcc956047f36ddee146e49173e1cde43193c7e93f4b762e5ef5fdea5449b14f3a42406f7a9095bc9adf0a01c5785311382023bb6a2b7149e3abacd958372932f7d970bea4ac4a053f37b3cef84d3680a6167628361f2677bd2712768b9090d4317179e9ceeef3f7f0270935d9932a9f49a3b1583e56351b12796de18fea597f618d8cf9f6aec8f56bbd6416f578dea15816d14664d8279ddec4e521bc13d96f3f9d7864d6f4d01c3694c0d2b9b1dd20406ac29bf22125d47c212fb1a2adad50c4659b2ed6703af8ce8e020a5cbef872803d8fe8f758c4aa7f23b728d306a147cff05076dcf494f285f46f41cfb652f9910f88b07dc2e58fbbd364b590ce41711065ec24b40b6b660dcf540cc23070993ef1eb8238b790c1793b144c7b7dd90923202629886dcb0d059a6a9a9129c6e1f517a7061a72f4310dd2a4c4c59b74a3f744461ca8d5efa7ce734c3e41ccea4c70be211402f49e0b51da1fbb1715179f266d23c29be935b719976129e4b6098047c0e5f88a0caae0f21544aed132f5272ca9528354f772184d988c4406908b40ea12b45e4bc1f681e638ffd67ea7e19cd2c7ba7fe0241f2d324eb7aced05c585b94a9306a13977a1354dd4ddba4e68e190df3a8a5798251d86fed7b4d67090f94530dedaf3a84057089125f00fef7c812368fa11f23627b7bcc6ab83a484cad3890e6262db52a17f617b844f3fe846ee4fa1735100462e68d288a70ced20c89c4b81aa61bf6bf5283ff645b591efe415b5626226cd9f099f36d83e2e66df2678f8bdfe1bed07a575044ef38d9962ef2b011c77e548c9cc42b013e1b8024193bcd82b0027b961849a6c3811259f557c8c84a31b8cead4280e8706db4e05e0fe50fb44fb0fb9ea21db92e711c42898a3eeb1db3ea1ba8c5919e5ca2356078d9ec7a5d2e24e883db798a578b0d55f29e3d4fdcdcd8157dc88ef5486d0863fba3552470c39928537e7b73c15ec42ea2d116f426ffc4661fb493282bac88400f94a0831f82fb2245598c643abce5d09073defbc5ba8e151566d4bcee04cd6d82d7ec2f82be5ec0b7d91d178f7ddad163d9a80a0ba4f471620299c94bc1cfe7ad5fab574ba2ed0faff95b4957925b6f6490c3cbaffc0606eeded3ef828b72dcd6715e63b8ad86da327d9c1793b39e60d0d231b3c5105554b656dae14a00e6805ef0927ab7609e1eb3764d247a630e84676b895ee024137d13eaec52336fcbc043fb43e70554a94eba1a13617b7364cfd45f405d8b394e603e9a4a1b0785ab22ad17ed9e829c7f53f4597f8102fce5cfa132d62c9ef43f6a76bedfa93a4748f90286ac931e51aa24a1a8d6918a0ae8d73bb7decf439ee0e5cc5f8392b6243b1c0e5b07f5ecf6849408d6f3eac268de9262f230f21112d5dc6d5ca746ac611d1e0ae5c7851dfa912c16b98bef9eeeeaa946c30e4cc045380294a64c34a28985e065259c813dcbfed0f1d50a0ee0550c81b26900aa25f04540d831e8363e966dbda1581ebdd2253a65d1407a3125c7f223cdf85ed085d28cbd8a1867132abbe475cb6ce652659723fd15485feee44b5416b2fd55524712a2d021b0b24f82a234e7b46270b28a147784b50eedcfcd4ba4afa2190be7f496a6476f803316b7bee1a325b39ed5dbb841b71b947d0618a0a7ed4286533bccfe73cad2ca3b249573ee34281851265ed7d242f25c7dab61755ddcdae76662281afa9a107ca7dff7e9c8fea3fe1c2ba3ac182525f5346bfb31b255773f442bac41a205749bfa25dbc193518d7f62308c722e305d76469ebe2330348871346434feed6c9fa98c1ea9a71fb48ae275571bb375b00d67e682d36737c23c4e7314dbf81078d7c753b6d2e35b4f6361400316da4a61986f2601dd28681c54f4faf76b64758b8470c2f23821451c949e2bdefe0ecf89cfb18a1795be9274e82be808cd35921390296ec3ce277925d9e7272b3c05a2db5cfd7bbedb841d2355382ce8ce32af06280850fc3cdb8f327fb321fb3b2dba31d296e7da5d37e4e7558d9173394f9d421f1f0183bacdd1349966fdfbe73ca94506cdf97f06d1ed090baf3955ef640a76d5a8ade5ea4818817f01d957c8b1c9bc9d3811b7f2584b8e396fe0b8b185855337752ec88c465e2605051b338e55fc47189f69d389bdd3f53f126ddc8e3500d3a9bb7e4c6075f563aeab7115add505dc2eac052a5360adf854aa231f85444ab610ad8b129999c41bd5d8aa3b1fe7f6e3c8b359a4adc8ddec4332fd3c1c670399db04cb4c35ced7dd333a6561471e4acf6488d25179c1c08227b37c411cb7c7cab46ca56ca507d527cc25434248794dab9aba288df7d3503f01948c93c40f05b97758fbb7e35fae62c030baa6feb28697d5f4a05db2aab00cb2e48bb981c02fd905ab14ac45eef5876ef200cb1641b18ed318117482ed0ea12c3c2ba195004094fe6c0737980c3eaae2e4d35d2ac9f0643458453dd26a6f4fd94bd609a17066f6ce6531291e480818b249e317435fada06f186438c1b5ef665bd090824aa4ca3ab13d64a7db9bb3ebdca1fa803f4e4af2b11ee521e961a36391fa2aef4f5105a2f33f2bed36717f6429f3e759fd85602d9043d6094f3ab22aabb330dd1e307fda66c497af794169855268ba29a50381b0eaf301e67689caace4019222df571752843d36e78fbbc25001986c05ef32cb045bdb57a0894b2b5f43327e81858242e5467aadfe07fdc10344400cb099f79be80f3c7cf0e92ef7fc289d79ec2250bb8ba39b5428bf6e2546fd06b96db18fa9e1ed92d160b83c9a4daa592d2cb360b11b9e49dc94656052bd037e516c9af8d0f9d36b2be3479b12ed53ab4d25290f1993d6c276503cc156ae3a249ae3b651275e4494dd747092b35b35b8c08bb3042f62084d4cb9c5f84fa6ec45a561f4abaf751361d3328c11e5d8da4131c565ab8e30cb952d776866154c618aa4d1cf36f3fd5f3ca5f5a19f66e091f48dc2a5922d6832f1b23eb2847f9f4c2e363031f2881b1f5e0483af73b1d68c1171114b9fba90127caee0bf517cb26c79cf5aadf304750ea255b9a5758cf600397aa33bc109a880b419d905cdbad8b073b127a65f73295e13f2376996b493ab8821ebf6f339066a639c5ab3d9e4778fcd5e47a74ebe2dfea85e128b79520d424610baae9d750116101c91bf03a898ef8ab1fe06b0e58d06a97570b4921405d928f391ae3454c5d6e2edfadefe1406affb2f2c57dd66bc581a5f8aa42ca02ae3ff1fd2818805e92e59146edc9996aa85f2a3863e77f073fbf737098809a453dacab033d11789b6e492b8b687b75063211e4cff5a01d737539ccf1eddb1433a9e0dbe7c291f3ebc8dcb68543ca197c653d991c739625cb35df0bb5f72cd17dbb8cfa403212014c5bbc79659c0ba95b195649adb9a6410d8bf08e5af7eaf9407d190f22eeb3200ecd08e297ac16354922332abf1f370bdd7b979484bd6b9479e8be4b045dbf99e59e7fc4002f8ad5370647f62836338d2b5704154066024e8ce931f6a9788bb83937ba6615581682ac844456863774f5bad4af2158b75850d33892b3ac3c7f9d082a0e8317d9cc8e267a38397a614b7a974bbae6001efbaaa78fc8013213388877324b1af54b80d976c209036604e6c27444027af276c4ddd7d7aa189e0cd795c4d36c177ea8e5d4a287750913ee717e6b787a1eaf70969991f8d312ffb60f99f4c0470a33f7d0a48798cf6d1a148d9326ba4395d1470be269e26352afaad3c056c77189426a13257457f03af2ad514352e59ac86620e022570beb972fb38d47f95b188381b999e9337e97b084a524af79c0f3b3a5726fb77f873eacaa8906e46f28df8c248c76f1a4bc7921eafe78a6d426d499d85f2b3cf8a13648639753fba7891b16c9fdb521257197ffcea2aa860e1654f2980d494189a98e8b5992a66cec832c92ff7ef94e9b820026f5500f1c0979047e5e7f4b4fd4c3caf85b4bc2393765bfb8e21434519f5229c55fff82666e1add7c44285c8451cf6414f2719a0db0e35d2832b230ac7799a5102af67fc5cd14b2669298c5e644239daa387de2962167a5425c3c08188438d08155a90d5180d908dd1d731331f4ffe77a1e53b24eeabc7dd3c300305e1f0b12e40633557c2a09f48ae87c5d6a0a56e3b44da9b9bdb1bf603fc437b722fff4f929a325eb954d8647f3d0e804e154a575536986ee2cb84ec4aecc10b6fe587e1706bc11f71990a712692bf2b43bf1df64dcf58dc1eda7d4be373bcc0636a089561ff38996518154c5cff29926eb1a316b5d8763b8230f7a950c41d768c307fb24e89330468886545e8a84857c199d93d0676e4c3f05098211697088ab0eb2097bc0743b2d20e72a15d6754491a2f16b2b117217bdd54f9f5da1c54da1b7fde2375047b692fc67bde602fd2b34831cb63321152acd693207ea0a4f189f5b9f40cbb68693dac2c506786ff9db1bea0f4540553d3269cd3771874eb0be40cde2fd4cb582b039d5b42af912961aae3615ef2d01dbeb9314bc164513769e1dc1a7ac0d0d2ae14984e43d35029dde53fc5be6bfbe3f862375b2d176839e4bd2387cb3928ffe2194532ab76e0da690607605c909aadcb146e60764d601d68cb8c4e3e24c4a88ef540c60922c1f88ae93998c93faed4918e085a2d9d9b35cc0655e4c7ca35a9b29a878a32421a0a6ca59f147260b5d5b66f62a9ba137872a86e060f69adeef0c1f552bd62fef42e4331177ffd9f691eade5b061b45d5d56b9157bb940de21f86f73b3f6b7b855e2d6a244fcd1245073ab41dadbf5c7e07dcce5ee42bde94d961d377697c945273df1dba211397880f493dd467fafa96bdeec6809cb7fff4083b9852853ed643e0fae502c931973afb94629713bd27716cb1814bc35dcc5e0bd698213f69ff1c7e160838c49aa6373d5fb0dfcd9447db81afaef32b8e60f450a93f0122fef3e8cd8d32d012d8d61de5bde9a93eba7f9af7767ac9964248273df5901b430582cdf456b33e8f04ea8d5a0aab3411904916af0bfd5928500929efb241dfbc48b1aa9808b9559f38fd4f81de8327d170f8dc4de59acd5d3ea81357a0aa806579ff4b050f85693b9290301d63e484d7393a5418ad6957367eb5516d5b22926a36fc5e74e3ed93a5e026f2b335491822ebc49fe8ce11d02d8e821706c0f9e1529be8b44740cb817bd6eb5a5b99b275323a5316badd8769771f26f6494fc8a0f56347f0a13e5c2d7f1ecf6743c250bb9605a7d5e84e8686c1a3b2fa645248ab3dedc1edee55113fc9d599f97d3e8da6e3d832701244df1d079e050371737f1877d15606ffdd0f62a677888d48dcdd07bfc8fa9cbeadb89428d0fa723aff12fa4a30df91932c0d3a8f48d3229332f3435da5877edb1a92f4ba42fe3d4eab1439807e9a809e1c270b54eb161702bc6ee1bccae5c563608fb03cad08a3066f7d54e0cb82de8d68238f971879b9c8abf9074aa580e48a4fe9f674cb10a3382d262245cbfba73849e0666ac9923e6d03b3522da9375800757bc5ff99ea9a494e0a8d167b837ef4193eca182cd75c202e8633eafb2356fc170e4a0bceb3a77bd6db0609de8122e9c7ee611d0088235aea20f675367d1c498fdc6b5b678566e2128380fe7dc5622ce23aff86237e63ec6a629fb112186dd673dea08db7f96ee9c7fd985c1496475f20c17a4a89efe9deaa7760581fc2e9f4172aba2d110d4974d91121e652802b4d5dfec0f7906ef326374f0b23fd3f1a30a1e8d47f4b5db0611fbc0d2d282b8cb2fd8bcc0a7e559d04a1dde1d308ef5d67b9337abb49cc51a75acf989a2928f67d1482e3b6e319ee300302e027454650716f5468f66b0446a259e3a73def4a0e850b93573c5a26686c6cabca37f098ef9d4e9c30d012783983c2e06f751b14449551accd4f5efb6b934f60a6b4c2373bf4b12755cbfc0fb3eeb709cc51548c8b1daf4620866d66354d4ffa624af4941551903c141eb9504ad29de1424400568087d3ea0b0240a9757512e171f38f154634288fa8f7620245c4923af2ea03ee26917a6ca80cf3dee1658067182f2b9cea5c39ede5268bfc9108c9fc7204372b20add684b758b507da71344311cb500e6b370d64a11afe4cd543ec2bdda62d1ef4b7379be5c1adb9679bfb03352b9ce23a59bea71d682fb5a127628ec803492df6535bcd27533b9f3c6e451757ecf245d2da3a4110120d47a65008ddf9779bf3f544bb516e10427fc84975249896fe20fa99f5d09465f57fbcbfef853bb9e0b19b81bb8c00eb7a59eaf61be8c2f810b50de1ae6aabb14571fbda8a504637e770b16348ff5da3715e8bd50d0387afdacf53ceed8a2261659a6df3ae0a9c5743625cca614f4fa8d123aa369cf47e41bca11847a1a5f3f2d17865f6e1b582a60317ffed7db1603398dfc799a964af521f5b34e9b1411ebe35ed5a943b23862b054bb42ffb62f00df567c9e72066027cbb595b0738a6390018b132750c872c71ec3227e6176db8bf0c2f5544e6dd150628806484e70cd8b2c0b85ee3f2a16291a1f20e5eb2fd9e9007041460bd382b51206b4a7eda5a1f77bfeb30d013edfd6b93fa352dabfe04a7dd41a08c4aaa5f6073fc5b05c01d0153f081f77cbe1feb3c3ff18db6f956a08df914a027828c8a6a0c38923ef72efe39689e27ada4a06810f46386915404e15315352221326f0fa4f28c0d357d0035a53dd6e56c7adb65e352a430045fc64b0411781b0c2f31e0cb074cd069c591a39734fcadde6a377705dd946ddbbcf4efb14e9642030dfdaa257f15e86e4147204737b3777dfd8ef443cdaa230f25ca5d3e318cdccaa8110c8b7b8d697ee25660cf0264df0c6c403b462adcdb45b3810cc33bf8311cc3d6ab816be9e55d2b60206339a0b360bfa0217b333ee4f1702a7dd40be794b5ec940b8d6636361935db1ab80920d547ec6c10789b1626145693b9e75e4aada057c5997955f46bf5bd7f2dfbce35603a36c9523cdb34d9849d873e9162be648b08e283029004f9361e1ecc73f138e96d90583e74ebc1bfdf868b74d29ac7ee990193f5a5672ccdbc27b08941442cda070a73393565b9f86a52b0e723055957641bc7202b4107754ee2f1ae1f70979ff47057d9a6057337defeb9ee8a04eaaeccee812a4030dac5c46bebab0675c833df626a24ebb264d60cac172ab81e74d6b871a144892d037eda3366d36a867ab067ab6ebc7bd6e8268628f0f4a1d2f8c0d16be968678644b03ea2d7862b9a7a746836f9aac2fdc143e2f1492aa9bdd435caeef02988e21c3e1fe7fb36eed0f6fd3de2a3919c219082e983a6a4bf78af8b9dcff77743e96bbb1a1e67f78dd3bd5931db776d859319b8f4a6c3809cb8fbed8a706038a2d817fe6eea04a5183074a731efb0ebdd559bf11dd34dcea58cfd6800e0cb547d7c3244946a1c0d9164ac9c5f4fdf8ceea70f53c79920eb5c86b2856b2184b3e80929daaacbbf19ccef2d5d0b77eacfe07e232c666cd3e6cb607ac50748a08114367fa96e5028a0980bdbb278e9bb60f904b5f3a9bcfa4678b033486303400d167817261c6fcb78619dad86a2a5dd04214e0083d07449f02d81c54a77f64243e95ff6bf083ee99a13c30de4a30d312e9a9f7e79fb1e3c3ae7882397a80a0a1dbb490f07984d283ce368bfd085154bdf2d4429c4319cc304c472c4fdaedb84a4fb7b8c64fe71250a1b0da4acd22b2b1808d337ba0dc95cf968454280779828e284039d2f849536787fb63826b99d5c12b01ce2e887c069707b6ffc488ac81ee8fbef7f3e6a6bdca3cbd719b8f3aa4257ed4317ecc679683f7b1cb77355d33f8d593a93689a46b3e270ae8c9f36c43d95aef27c7b4bec1cd05e2caf56b220298ec0be3c83080fe4d0e4f5d6329cd68536347c934759581dfa6cce8c7297740551579abfc836e65d76f20c5f18f3e18177c588432069792f183dd295725522d8d689f7a9de2e5b5bf8f725991b0d1c004af7d9c96c9d4d2af0f983513287aedda0b94b922b0c90692c050765151b546d08733f2dba28de261214424707168af4188185f31dc1a44e7ecdb3d412c963cb139524fff3705bd4eff35307aec5baf855d00efeb85eba1114e53a2374a7bca31925af1bc02ac67b5b3e351607a256a1f8af55ca477d0a1c6ff709574029065a24c94371107ebc188f7c7dac44cc577b96563b98321f12c7012ee886ab1100a5b95eba0a1195f786d81f091b8fdd19cc9ff09b6b9b4e6fee6b05f5ff300a2440b275ea6395200fbf879404b7192ff3e2a74a1ae6023d9c17bb088c194b2b1ec603fbb06b1b492c33cbb8a3394372d956059e91b0185c6de1cca789b758efb9f26597ecf2f3664db0354e478af5566f99e9189ebf200b65133cbdf0efc2a1a5600366fa0b8d7be7b21d006a22bda8491ca8bf87591ebd4a514784805d8134298ea935ab77b0817334916342cab6d9102feca549892afd70775a3671150d27281dad8025adfddcc3fa88cac83fd5b581a602e5683f4f18abebd6b27b402866a4bd3d166ed9b71d7ae7aa4b3a12125ade23c331ce14adef6d09fc4d7b39a96c5dd030363d470a495e820dfaa4322f5485c8c87a77a356c71f32bfe94f55dad2c36313a2f78c8da3a0dba49c3320f2e5266f248c7ed48943f2115e9b4daa7be53195d061be868ecfec1f01b6b6b5eba07700baf7487ac21bc5db5decbd0702eb8e9f639ecad8d981953fc5a46284717f81d403c1c54146aac5c2c7c0eff534d42fddd71619569a35b5d4ff1f6ce42d79c6b12d98cee909ea44d91232eaee8eb01c84c63e8e865c414a173278bbd007aa17de2cae7dd310d35a5db59ae60afa0afc50ad1fae45f391f22d57c5305b1836891455973a4c1a2c73206329d5b4b596980d9f026936dfc3ede9a9978262d3d3da3599e98fbda7be857860c2d26b97b76f35dca1babacadc9967dba2515d88eeeb39e2da570a388361c5b614879d8caa933ba9f251addb8f21e5781529a213676718ab65b192827d73c5b1f293a4467a38aee59d24a3c944f724e044c2ce3e1ac066ba757fc5f282002e5154f593258faf308e2354ae836217c6e160ed76390cd1990e1aad8d1d4a26215a17c6c89771337f8a40c806c8fe0b6c9ad1446790df56c7448af47225472890f0ecd1d8c349a0f840ab233df29c2bbe5be073d25a800742a504c992474572e4377553e4b7bc45b1d0595737f61f46dabf7ccc13f5a8011bb22a08ae23c05a33113612cf7827772e81733db843755586afb655eed851cbdb7e83d370db1f5c5a4d2b07f5d6587ab1657f9173e6a23a4f3581d97c5e193aa9a300084218a5af629c75ec400aeef94d6059f35ee029ce841b42f97e16cb5f285bbd62f7cbc876449f33505357a0d4a9c4189db45e3e8baaa87c5eac0cd44b2b9fbf03ba4a3fffec02a86f2765f4ec7433ecba7ddfe57de45fbe1176794a051dd924808bf1dcc5e50d8ba45ea16097eedfdd0adc655b14a71e758da485f496976ccbbced7ba48f5f859c64f59a2189268ac1b976f4817d51dc00cc3364057c10b9e28750f720645f522663340bd243f566c5b589dc85a9c3eedcaefdfe2ee57e0d95da861823849ab18400b83244e7a6208ca264e8c5b09b8588c3c0dd3a907261f317f53a60fb3ba07245420ebf67cd94124bab33e67e70e452622f1f937b8295f113f64508f56ac6ad7031a1126a2cee034930605c7be09cc8ed5236399876d93017c5e8ae75b6eea656b1bd48327f16b387a753d2083c6be25e35e5d6e9094658b2ea2feb07c67c4f911b845473bc1a28dad7feae504f6f232936e76220d5ae0de2778b57983f140fb0ed5771454d819db17bbf028987d6a24674895729931c4aa617ab294e336c321a81a9f022eebf14f875d99171054a4fad9bed7634bf4559841263932813e817e7a9e316890f44da1ce4ca435ec3c00396c51e941e9d2f38b8c9f9af518bb21316069c2e78f0a99f3d1cdf26817157cd353005581ff216bb00d8a68e81818774396942157e92f40f4b8369f14c9c4055fdcfbdc1e27b40e271a6206b526ca743ad64bb70b2cc6286518f3d40aea84d30108a671aa74b05dbb7f0c01c6d7bd16be4519d72edc32bebeb120699af8bf659c8eacb9aaa16eb1379192c3a6e0604e930c1529758324506828f003a879b3475217143ec1e9432fd50954877e26af83544bddd6a9f3ce894f398a70179c2b16df68b18088481719b237a53fde36fc7e71710aeea8c5d3ce84c78ef0168ed621c8657adfcad82141bee01fdbae07ba6aa1e1194954834e2b45ea9db666b3d4e1966bdf7fdb491b81af1adf25e28ff5c9932f12d1295524f8479596a33fdc4ba187dcc9e0bd457d8aabb344a4575cab3ddf0584ba2d3862c26ef3ac89caaa623bbb13d402264b3c35caab977a373ae8bf5cc49bb57c7b61296a6f613bba27520dfb397b61585b76ca862da2f3b9361354c6b7b49ae0e72aa39775da4277c223087e18db2cba86a500b0b07061d4ca325acc97d3800bc2e7c205aa6339f9afaa8cdfa8714f87e6d626881e8fa81182b1c19eabd13bcbe430dc174dd5989f5c65123cdd31d41737c90b1a31fefb55be07fcfc5f4eddd78719ab37433f12a14f52e64a29302ebcc73e4d6cc33bd37c38be45a2fe90b8473055f235ccc9887c6655f0d2c8c8168daa25d3ef5e435077b4bd5179a5760b8a9d9db72e3a56cab0b2f8eada3eeebfd4317617ba66fd7a47f7469d77f3f190aab5b64c50160fa1bfe9e734cc33d2e70ad659261a4d4121c89fc6e5caa629cf5d748031060a57beeabdced30f834edbc4d24ed181e93a808ebc2b6f6d672b5bfc7db0f3328f6b4b8f9661c653f57e33df129d953ba3d1e6b1ecc84d2faf920d4ca6688e025d54fc2231e66a5396b4c9bff824316b9520ba03dcd8ddcac866397e5be8827d10dee3342a0dd3da2994a15904f5c8beca804ac57d403e4214d55cf438e0800070e14e698524db6b69e17c1b0a873cd4f39d8c022a9c5f4c0a7779c48945e9de4c16e826681b66d1f432004041c33e7337175c317a9e75a318c9771d50fc8215b16e789c7f329667712549026a6aa294d248b662083decac782514a3bc937888da1e065ec6aa01021c79ad8f4aa8949d8fb2429e605d8404e24a52e9033d46efc78026e0a042d8693038b8d8b0371245f0017eb712bd7aeb30acfd7ea597d93bb73a3ceb6f0ee2dccf0ab458800f988b3721b38249d1ce80632d5c9309003e3760be568142520a2c2ed44c38e826d282186e39a24f614bece1434a853dbc1f207cba8a1d811f12b91311ee22c54427b059a055040ec366cd2242f372466fd77dde6a2c9294bb8d9c6fbb4b3ab9fd181a5e021fe5397753b2de06a06caa63d11c155297620b1fc613e0ae4492119ce37e889c9ed26315603aeffcfc05a27bf21a98d15f1cea80c7d9df099dd1c95392150311d79848e8742ee33ce7b9ba467c961a741b8eeb0a166ee9ccc048dc4381e41fe9d7707b796838eb5da290e397b7141ed1a5604657ca5e71fa8522efea38fdbd080bc5b41064e16996352ee8b1d773f4015eac686afaa713df979ad7dfa1d689f1fead0b26e4e15c9adb96a774ea74f9118b82bf80116f4bed5f0e3ab9509b9bba5f42a3acd0bac114864d7a85fabfdbd4cb681852e674bc81bec50206600a99fce35b2404ca0cd0b123e9c2c4903ba6d327fcf081e2b74960ad229bc54841efdaf6de90528964cb1aa58189d91250dd6e823a29ac386cbffb840bf56899d9f8f612da30063694c46002a9305298f5c1ed38b582fcf255c36cf4315a67ea4cf0b84a145c4521f12bc9c418455bc8ed48528f2aeb99215aa329dedb29d6e52749a1d6b1f540b8252bbc820299767a3266d75c7642e363afecb9b224fbdbfc8ec7991a4f7fa75262bb1fe478632a40c9b4788fdbf002dadfa2e94e6b44e31b18b516f1b9d70c3648daba9848b726276e142394bcd0aac168e4ada4d6eaef3eab6311e006c73106501fc3d75ed52fc6acfd94c54413e6859b041bf7d0eb9fb2651d6712f4fb8269f578036b8b3b20e7c3eb403c1d9aae12c0820ea4635fd9fac3fe16a94138337c835aeaf98700a4ff824fd92dde7c37b017db858fbaf540979af0c0bb2eda8b5f2694ed45e8a3133cb9bc304a36a2aa8986a89780f5cb71edf76e35319a4393330cf22b05bbcf00bef9effe02e9a8a5b4a2a87aa64c1c9a14b3e8eb434640df0b40267eb44e42e8fc9566685b583b9c6a6ed041cebe50cbec16a9980f15042381a1d5c2bdbd907799e45bc0e3c85da2b7e3b3bb419fb062a754fb8c0d1d924d80b33ca316c35826e73d58c1b2f5aeaedbca9539ede411445b8b19f815fbfe611d25f3bcb627a318fd9db9acdcd21d603b91539072bdf0b95e088eda73ca9213afaf74b3ff42f2e59adea7636242cf4b08bb30430638b8e34f361778db0f8af65407f7a7bb649b4d09c5e0f041b69d31366ae2a5afba5393e066d2c2d8706f70b3b9f4c12bc4e58badec8f3dda583adb645105267696a57b8b78a08de8043282f5a6154c01542a32f3a8337207bc8cdede12264ab365c3029ae884a7173ae5dc874bf321e529e73e9480e6146b2f23306f274e4faf2395eb99ce3fd31ed7cdd0f0d4e5b09bd3a2f66e8092af55239548b5ea91b07d67afed31553cf2830274af5026a4d79c2fb744bf58dcba33ac0e0b662781271d6a810841dba9d2a74c6e6d7ebbd5de2408e5c5292c4c03804a17160cb4f6779b402ffcb97d810550320115a98877158e0c30abffabcb54da8e5e9e2cb99bc71eb3283037751019d552f014bc6f4e3816d37aa0182d182cccd9d0c86932b047f5f2527298116ecd52d236034792dbc021eac5f19d88b18303472623e13747b178294a61750db70d2b7b00bd8beaf9459ff94e04e6126b4323961f2a9671b435369b65e9c89b4a98635202622d2e6d73fc89e807de5eb1bc5bc0094274e4ad14561ab970f1272ac8c8d163ddf74e27ca2f3abb9f8aa28b9ec738eb801e27f0988f6ce496a51d65d9134ff2dd506ed7a7ceedd7916a45788b0a35804e1451d452d90acf667d75e8f589dfe247a8abcaae1a7d0821033a57d8af94c232b8fdc999be04dd4d87ce4e7027cd7bba5027d44bf7487a2d7352d95d9e5ed1b04901427c59a594c3ba232141710f5cd9e0434fb6ec9e2e524f154e617b9b6b8a5210874623cee1d22dd93b970c86e07665d0f2bdc626c0575f4207e1f68595877c38e2fad38369148b91a9ab813e9846d06e3fbd4726173585ef25031e6110257e862064ebbbbc75650721b9537c1a7dca70fd24c1753da9a16f972f90fd32a91bac691a02f331c703a5e4d0044c0aec4deb41296e1f94ebce71ca46d3656fa2a6681e53b7f9397961a38ac8e98e2792e59e20d043ae78375cd1bfea5f54f699b6a43b7131997e3510acfcc2060828816b24fc8b6c12b7598cf6793eb7d34e2cdbb3ee032e8f276a1f48e1ddff8b78c05884ce72b1e72bdc2f05b6eae7bba5dc7f81a3d6b4109a9be769e1dd2f306c4271f854df30af5403f2a3573952e84521e375292216da8f1db8a4243abd8886379a9488256bc15ce2cab42d34e8977bc912704b1caace65cec839a9311e3c7976a41dc2077b5701a9179cf2f4bd955feead909a6fd680313b446074a01ba4845bd58bbe0958d07d95e41ea280385101282a80c8b0a05084ca6cfd99e6f3583eea7cff283e57a816467ed1f596c2e5771e977cc3d0071b35c187363d416409e0f046b1519b6351d2810812747eace6d163a4d9f364d00407866603024428f034a6e6f04b1929998f4f3e91ae9606ebfcdb0fb4f8b1e601e2f3a0fe23a179aaf6cb22b779bcebc15775bf1054bfbb11a03879e150506ae54d67d26724b2883f59b9f83d793583f92fe4336f091ec5156ea02e866d30afab3b9dd20507c7e2b4661d3966576e5311f9e0a7fd4a86c362c6fbd49f23f6672e042fc69ce4d63bd05f12a9d304a5e93617f1d52e017e00a8933f49b82e0d460ab97315aa058646c0d06a372b9b68db3c508ea555d0fd7c732b6c893d31dd384b49929e08a70dbee92af1ccbb28850c5f94b54ec17d79fb5bb201b9ed5d9a71e0e4173ddfd7279307279e69618c88194687e843f6d2cdb9bfbeaa20846239f14d7d2a48c055db0b9d79826c1c7d0ec7b701eeb34f39e2b69e41b23492412a96c735c48106ce79ea0ea9d310abf5e3e89836fce7d9ed49cfb36f2b6de29f76afa7a404ea2cd7e8e14664444308fa84debaf6232e93301cc61b7894c6ffbb4db0eb43d15598611fcae45db7b23c9bf480d896edd78aeda7046fc3eaaef0d2c3d19b026775f601ef50476bf65647403ef9ae18bac5807f0d30a8d897682d11f439471d498c3fa344909e8d7a918b544cca1c879b28456534e12977b21a6c49088e7fdd701e441e448f22ae7ba1dc3705cc8edd54fb12591cffed4518e95f0e7fe5c4759a9ae17a60ec2fda16526eb837f5fac3ec2239a694d0532d59d790b6036bc9562b6c10f616a647ecfc2f6771c1d9efbb231f3cd1bbca4edccc9b9cf941c78f282b6587447325797ac2da5f924da4773b6d95a9a042f6775dffe55ab3eef940672fde74abec76d9158b38c01583f7f1039be9d08a1955bcdbb406afd70d7ffee1fb56c8b289055313488f04326012b8fac930b85cf571a4b6fcbdd6a0281949d6647380961621e0479a6d7bfa6c8e738ede1955dc3b53d57e22548fdad9b38ef69c8347cdf8bf4e5f84b9c12ff49da9f229137a3e7f31827dedd1c537b167a571b6be22721f8826ebf092c10e2807dbd5af28e242fab412d93f07227a57e9a64bffdfcf3bdacd92b724bff94d69ac90b0574ae0e13431d288dea5a38d563638afef3a170d838b7167b093fb1d43bcf39462f5b39988ba07da8a90623c5480f49e220571c1cea0f3131541bcda269a8925e431546bfc7be8d0871d5c7c1066a400b587652eb84258b8e8b461248ce548832a6203b1e0339fc17e9d74b59611a962efe71ed10978162bcecffdecb82ca565e0487674c3c80e613f12ceddf6eeb49c9185ff120cde9f053bf470009180480d8d5d30a3525458cb0a1db72d62ff7be751c509420f9fa578b6610cf15d84290b361a475ecf2520c66c495853efb3f4552e919235648ecfec32eb59a0d88d2d44fa540dd1873bd2fe510415763f4de2cb6e9b0158c72af1b244e4c28e5c00d6db05e8acf6567a741165e43537166d3bec4328b004f7ab03c5bcf3aed5ebfed4066352d7318b73e4b65ddfbb8877773bf3c5d72c83f67fdd95738536888199f4909cd5a0d6f97f68a1ce7acbedede5dc2b09f2430deb7dc243c2f3450c5a23317f6aa507fce3288701ac0f08dff1c93357a3b17a5f88b77e7441a093cabef91783f5058563fd3a8576ed70d7e6a89335546eeb21d5852d0cceb80a074acae833589bf141d624a60dd2dcd068800f8c045a24e391bc412ef93f843ca9bee7a461818d3b62136774a217b988a4e3884f057f842c4ef0ededeae5f7063e89d3f09b22b41916f0bc0f99a6f86cd41bcea0618d99b355439c6411b5db4da70bbe089d09c8c4c0b4c9c770532f33d4fd67190b4727b45f6e66c9321409fc519da3a283557f4c6a3e83a46c5f3f97941d60c42d5a5fca252aa80aef98ce88bb34a5881a58831b5fc22a6f813c1b50ce9879bfbb29e39a746d9684a7b225152f232e8e8304946bdebdb9488285427c910de87376702f0148bf626aa6694cba014456996faa97d78fc69a1119a9313d1cff543c85aa6cb92583d9d45fcb5c958b4133281689e11d1d0c5350e126405b379094e447687744996d73ca6bf97f7fd038bc7db4b13169a94521e25f8e5877c372a86d8dc29437c1854d5bcde8b7a6638fcc72bba0d7a856ced84e1947866989c110f40d9c056cf41e666946686fd8980969fdf0f134a0074ed1b74fccb200297b7e82d7d963d5dfb0aafa1f77645caea97d4c0de24750d1aeb8ed2b1449e0e3ccc130d1f1d541ce74e12f32441fbac9fd674eba9ab6b9dd983d191d78d31f4ba1eb6be85040346f2f164c5b6ad4602941b013529ec047b59896726c36981b2d4ed7a988e94c6be6faa3c4f66c87a79003258ca12584e8e880b532691674cb0655a80cd0b1a73158e4030345d676300bd1952916a3c5e441665d66170332d8ac79a322f2d73a2927d36749ab34c48540efd8afdfe2802ee6a6ec06fee7e95fc7124743363a3586b8111519a29b3b3e732b13f2a8fcd04b4a86a7fb275beb07a63c22cddbf890036d1031256b1dbe86fac273f9262f32791c432f8194cdc1156904f19184d37fe2b32298e05d2416630dd960091f431cc3431334605b6cea9bf7427fdae17830bd99df2b8be5b0a73a8d37920f82042e2a7ef8b97c3bca1a7f949880db27ae75b09c346d04e6670188c96ee1f17a95732724c5e65ab8a00de147af2fed8448c4d9a814249f0e33493205d51d7807ad8ab6cb53a989a41d9fed1f15ee5b62df6e87b0297f9cad3cd8c9ff53dd83fa26a496a38e0dbcfda8e05bde35579a03f65e8770592640fdc4caacb769e5847b41f08745d7c3600a79489676983a675d8641217b59a4f8845d60346ee84cf66982182b561c4993667dd8678089e01ea2f18cb58b686ca06f5c4500828df9898a4df330786612e47160b9d1835186387185abf85b869b4ab11262cebba03a8ff0995e54844f869fedb926736b02a4296f5f2177e66febfe39d72061c3c0f357c6843cd198d906ca4c12120636a95b8279bdd067039c3af817b193aa1de2d261cc3f246a0734dabdab7d24c25802f574204dfaed41142718783ba6ab53eddb5db16c4521f05f5ec5b30ec82ab6a73d6ce2b77c1c6fb92379af6c993779c4b81f69ac943907802655137e5ef530583e2ce74e12204ca59d43dc7b063777e6ff6a5ccc9d9e0fc941dbe46e1dbe166030cf64810601778643feb4a5ca4f28a5dcc4da1a7eca2b182d8174b1fe943beba176baab838247bffa26c86f7c50e921bdaf0aaae1d42aebbdfca62c024d2a094d1861d2ffd90a6fe78067c5b8aa661ab410ca8fdef6d5dbfa1f427b294bc6d5d7a7e07193b251494b67072a44585bf0f8d129ced22edbe62261768cca6a468dd01fdeb41556120f45d1c2ef98502c917030c0017b8495ae907de26a8ff1b071ea2096d9e09ae7d5af2b6278065ebe8bcc589db558549142c1542bcbc9dfa6de40073e749d7ef3c3a6dfffc040c8d10ead2f283bc8f0b8056874e92848bfbdf5c34478dfbe62baa04f8dbf832e7874e274b375fb1669c8a6261a6a2c2fd00d693670a5640fd773220e20b8f242e5fb6ea78cb9c851b656a13c117b10b2c62a3a6a2e61dd6d82562c0873b04d5668b4c6af7dba1db535b74a32e81f098bf7ec2bac753f44303d1b11c51c70dc0e26ce6d3ef14b26651c541a36d0a33293c4b1e441352e5833fe3cc0f537c69d4a6926b5646bb554ec19a44013b3e7b8073d9c86786cdefe6a8349f9d9590d3479aafb8daae43f7b93662afeb334259fdd4707e6d037c1c2c33d9bc7aec94f1468eb383abf70ef062d6579ba6081be656f5c27e3de0edd4a7164f2f189bace79c0fa48f93a0f58efdb37157bbaa331497c60f34b3ca1a9438a1328f3230d533b821a66a533c9493f3f15e46a0cec335d11409dae0e7c5def54fe8dd45ace3f9827fa2172cbe159aa19dd79c06b61ca979bdd11b1407f6c1c62e36ec1f89337af6b571ca4f0b845bd72a015b7de6f355b4f4ed164ccd6d2e44c220dc04eb76bd778be4e590e3760865724d9c46d2faa7c82f9d63af138ae83ad70c746b04180e4ac5f810bda9f44d49a39432c51b4013945fb42f3e4c43d65ca7bb01148c93b13dc74ae7b17cc38a84cbce9abc95023b5ca85583a2829b9c5c2328099ce35c51911bd065ffb325794ee5bf6a126e320a8e994b24c4160f8bcad89881159fe7e477f3811c72805a3f47e80cd7a5e366df2a73a5581af275ef6fc97c7f7253b99ad6e32a41ef799642c247d2b9ceed2b9791dc51fd36e5bdf9c7b538cdaf59b20ec890f7b9b24fc4e7463b65630bf9d4ea91f41cb79fe2b066f6b8421cc50f09f91883b379566f99964707b12a120167abc87499183a278ac9543a986f392667cfc05fb3e22eec94cdd6a181c7fc84fca2a3a41155f64a08c60f9e826b4987b3d5b39d08a22d84d85558eb81fd536578884ed87adcb0650d063ace6f832abe388732042d1107f07b93c531800d447493fa722d03e6e7d6830c310fde10de7573cef84a3ee2cd1de42a0470f719e8f34aca6b3599102d04a5ab023d096e47c5e6994731be5c286f53269deab65e39023e56aca067afe0791e6adbe2d0ee82d4fdebbf4096f729610f223f0a169eb9df2a52382e9b58a603dc4de4fdb15e57c99230e5485316a8b7fc9bd3b0e7505ec4dd69ecae9b3dc3393c32e2e2e2d8d6dbe6fd1fd4cbee43a6da52a6efc533df02585112c0f801831e5a989f651ba23b94d4852c2aaf92e4d83e3432542562e562a7cd2234dbe6159609afa77c9842a465fd16cde8dcd3bc197574952122f016cdbb0a4bd33f39094d97e236e5d9c8d8d442459f60afe034ebeddf2a4af1d85c3ebea7633001235d39322511e66a661093b448f24fb4169cbe5a125948d9be2d93d7830b64606c4aaa5de727915aa5d4af5f3b0c51a03ea54bdc4917eec5ff7962d01fb484b1fc56986027659215c106e591f7424c2e241b41bb1ec29e23c042131c123e3cff12a2671b754c61aadff08e7268dba7477bef73058db6c02c2a2c254369821defc204b0b82010e436da9c2cba7b8306bc613df68eb1b78edf8624871436002f868c06f86e975f13d4cd67721bb55b83b528ce53d3a42e5db7826a6a6de01b247af081a4c69168829ae1927553f50c8c13e59e651be504a9a60256780e327653aeddcf18dbee551691e3f986a8c06ef25ed4f172deed85cdb73d592cf9538decedb5e14f672a94ac75c57003e88c9c39cc7fb1113851a6be278a0650a82a75614eb5f931a82bc5208e4f190d6bc10db440d35317aa6e5d553dbace943a7b57aee5e9ed0b7d2d85a24b1a4fe220af5c4c951d8440bc3ee8c156baac7e63633ec405bb98d69a5be169abc5b40219720abc57216dcd954d8063d547b46027c241c60911f901755af5bf1881fb48affd6935e389c0fec27bb56285b6a304b56d92efd689a2d9576034872fc7cdd357c91a0e89f5c47b69ed4ce3f5d6bcc5e4362478647c24573def333421c681aca0cc88eceea64a8b8f62c034620697035bf18a43bbde3438ac323da5536c87a28c9acdc7a1275ff8d28e4c7418281aa4515e3509f936d34807d348222cde4270d2d7f88ba851eed9376f7884a4ce5404cd72694c338419a0a36586c680744937d3c1c2305b4130f1034c48a4a43ec6b0f6a4f3205e3d69b0e0cde7cbf6c935606d8b817dc0522c790b4a1136d0132a6835d1b7711759d9fd2221647f6947c858d277ec10f629489b82aceba095ecd9c6aaaa93ffe13ac0b9a6b4db52f6b513d80ba4cbd1cc83f7612407d79bbb62e60f19bf9d793b743cfcf3bbea5851a6ec80d0d8f42518f3bf3ec712a122690aca344f6fea0f35154f1d9b05bf655438d908d5217e1fd1168c03f0fba216146dddbafc634991074d622cb7522264d7e23095503aa1f4555ef66472934cdab2bc9ed4612e8704e5852ad2619c9ef19a294863ea171986db3a055662887d0e22a25de633908566bdd186b43077ba4174e823fcdc81ab9b3a82219184bf6b76ecd52e942eda50839521638849452c046f3146cf41209f255149d58aa8efd73880f5d07e6f164fa8ed50751189d735ea6c915c9201892fafda48758081fb489d61c183bdd58348887d00991b30c97c9b9d7980e002171ee64e3d87d747a95d6537835b378327baea9ef816f433b388a99d23b099e32f0870512149e72360908a39ea5c82b632c9e983add02b5b8e5bbd8f393ebf33befbb3af1adbde28cb389e391f3d7424aa4ee92bc6eaa51babb123c3d7409b6f2d844defdf531f0c8bd41cd4df0b842f1caf3c9fed3f166b61ac673a1a0104dc468ac676728b6e0bc5de632517c53c4225deecb749c49b54c74e27a1f0d5f9ee7b3f4bd1276a910bafd7d0047052bdb9ce77c86efb3591ad4850d0c8e104031806608223859a366f256b3d80162c54b364f242abf7d49b73dd66c131650ef7b292a3aa8c92c3693f04f04128f5c2385690d2d2732bf1ca09a5bca1e9d64e3dd714d1c4b7b2dbb41b9df97f98b5f39b1264dcc71cbed04fcc87d9e37dc115efdb5c183d618c5e79ee00263ab6f57c6513ed5b45b2ec07147a239f1b731f32d7e068d45473b0cca3c2ea612ac14db58679563793ec15c863f9ffaad45d3ca6124b3b1c6c3f70d0a36005573df2df1aa36157b522f71c31c919509377f288ec4d401fb56e6a6bbcc32ac9756aaadfd5367a72812c72cdb0c2b85b740008793532a1a1cecf6e7799bc1fc2f12c86c5109e38f67ea05bd878df64c0a30ddfd25c65750ba2c506a7d262738e67e07c93ad8b3710144cfac0973a9d9394af2c6865fec150a748953a03dd195f66670613b8d59455d07bdaa36aa4a5c5361c75f7d08d9f59979ecb268edcbeddfe6f8892f94581c68244f0e5a6ef4ecb40884220c543f78f32e090b2e3220c5ea366544e037bbdc2f9c37653d949b001b9bd5badbc49b6ea34b8026e01fc60f24672a4b918f29ce0540c751ae9978bea3ce5db32e4ed4ea5af8f6466b1a2452eb540a12f8343cda12934b3caed60021a4befbfdd6bd052f6ab86bf9cda63e44253467e6f78c9422a66979d2ef876bdf178674309ae09c2b52cd5eabc7a3fcf6d1eaffa0eca216f227cc46cbb4b62206c1e4ef787a1cbee6c05274964eb0a152024260f4fede95253484a009557d4b13539a72367585cc21aee78ce864da30ac05ca80e0ce51471626755cfc3b23654326dce712b4c734e55c5005dbb055356d1e9b91ea5880a2bcb879ab80b4b3a7314eaf53032115acf966e02c270385207235771aea8d9427e6b9f2de00fc8e041a70f9fe1dfe22a5799ad4e4b85f857cbcd0ae26d6a99a9a52d46edcc6b5b497acadb1f6389cf04c88ed4727b08b26eed5b80a7139f9df40e0b125766a614d6a091a945f0defcd06e151dc9ce50c1136bba4c5d63f618057d9607ecd8c44388d041d5e92430c0c15dedc0703eb31e2cd6cf9a97e0efef27b4d94ded13bf921aa53d8885f200d0e0b041ded97512b331f92eaefd0c0464d37bead23d4ba2b9819d3c8e9c74cabdaf06bdd39bb67fca306bacbd34e6ee9f6162d748153efb47b9dbfff740a984737694f0f530a2b2407278d441684c1d40804f9a81c3f1772053be10b297bc4938626925f7db2dc95ded96d80a8387f29e056d5d4dd75d0010a1f3fb489d649571c730b8a0edb80914989a249c8e78f2218382e557502eae241b153e5b386ef094136e3a7037259a2962f0a71a9a39827bc63cc1ec08676a8decfa6b7dc65f0a03e35babb03c3229fc1c1dfd2c85b5ee785baeda33eedeb590f1ed51be64e798b6bc06fa55115c662c4658b0622367fbb5756c5cb3142d136a361a5a1f64b29e43251b94e7e23b058d3e81160ba5a878a2b5b2f5443d3b4f13af6ca568cd07f3ded86e3984944daf101f76cd3a08bd02a9c0198c1e879cb2248120875b6262ef99f7bef4672be16e010d2ba2dd2b8e6e08327902546b182c2d898a93d9b246f7613276bbd73782b5c052ba6a9f63f53f162956e09dba9bcb6c5f0752e72747d2a7e6bc5a9f369db41d8c3f1a0dcaad082bbd32af528d9440befbb438bb33147ee215a4b52b173252a71392ed342673654ff4b72b0f5d2ba7537b7df821366dc53fd699bf14d7d57692969d2531f3a16329c85e309212d27246ff76cd26e90fa327d380dcdcc83fbfad3416ad471f4f748947cbaa816de53987bd4a2e91ad260a369b3eae02c9fdae3d28aff3fd2f82903167971ad25c17086fd90028442664f25d930234b8a666d37631bc1692ea9120630eba4f5c754a0cb873ffdf64bb4acb911c8df64bfdb06c30d0c09939e7cd53641a44e4120fae0e0595801f02e3675fc22187436bf23f0d09d8aca52300cf9574d273514bf15c1f4f19bf6c2496c0cafdf324912aca991cf9f382551245c08906894b95cef54ae67014dfa08709a279d4bbbde4cfca507ac46cd21eec241fc720c4d13568c28373114772e0b70a0ba1d42c2e9cbed9722aa6782aefd0d2e4c53e2e7d0ada825d7b78093e3ec482912d4fb2dbb197d5e17687d30e22183981b8853baf896a135d9e2eca515203bf288a59541d517cad3321863fa415691df248deb5873de18bb4f3343c39cb7be3070e86e07dccc977f20f821746360934f8b5bd21b012b46fb6888de9258afa9ac501f7ec589e594e357e129770e737404dd300332284270e65cbb9b35a933c752128e9c8fd1d3014116d48fe9ebdfcc9c9b8c932549e6d354b28ed098c94731f084adae67ec7dce36280574002a38e1644a0db900b92968ab68a0b380dfc76eaaf04e3073cecd7058a9611b04c76d9f75a9b96b95b3851041798b8803de6539b6d22bc4acf7da960417f7a5e377588110c4ec5b83ca4de3762cb17955bd0bb8fa980f7a768734508978df71197346151850d1ef1b70e304fbeae85f99b597a2a3174f87e3f1d2e3a1ee15be581265b6aa7824816cb44f6870eb4111cfe3f74d2ab54901ff05660effc1d1ade0bd42cf2d1967c5f4daaf018b63f123180eaac8ac5dd672051bb994325bd4d831d729e7f9ece2de0bac8c79bbf4fb7e524cc9f19d765631cd551497a672ed24a3a09a9b3f703ea81962b5311c69787746681cfdd46362564b457233f17e526ada076dcf09424f9ef02a64d0471f93be84692afafdd15cba082c90a9b1517ffd7e55473157e0df11752876b823d5ffa831608bf1aeba62c376afcc3a71f8ee55e701abbf34c321f4f2c96031a8aae3ade6decb384ead73005166cff064a323a279987ff91409463e53ef8af3aa8a7ab6dbf1832d603e9892c521e3962b3cede20db5bad8c390389b84f8cca3f4d10667ec65b64dd39744d37717880c1b994bccd43c47f1798e0560289b406a8dc41e5f0d1ca8e6a1f24e7f2d44c419f441b0ad1456f22d6b8c6db6642f14d9b9e6a928b3200ca86486a5801c4b315b354d0e7a1f206f0dfd2424fd81b29527ed26e9b6da6acb6289452582ff1980ea53cc915649e08bd6d24f5bd2151a744ffab5740eda335a6b71f42075fcb84af4e0cebe56b0e8d5c740a239fdbd5206f6053bf7e8edabe74034bf84c8f026cfc7da8d76f22f5c5d57ac080ef57f91ff49eb3b1c5bd0f6507d1108e63246d652048d247f3050e769c7c2e5944554cf744f9fecd5b045d092240cda9be565e6f1a15ca696c0a5889e959f05e6f2e682af2b88cc7cc1af8b8b463ffb070c2aa8e35e62c2a3b12f59475fc3db5300d8c11457ced8fb6a49a6a52bee4e3d6e9dde780d1b65f949f9c912f1f43a5ead7f39be4ced9aefc98464c9e12acc2c6899c488a5b62498e778f1de85bd46f68291746f33f231310a84677ae3ecd3df8b31b67c15d284c688f08b326713651a08367161de59e11e711beb2e1d48cd7f8d369da1e79c6ae17624592b090931b9b222c1eda7ee6135024ffb4ee763e7b29559354fccd6a0f001c988c310880cde1d9ce9af67277019871505aff437c13758f9a7637cf18789efa1829b8aac782f948177ac13ac579ef9b9463a845829b105115abe9245d5b26d7df172f926314894601288a9fb41237487ab3dc656d62fdc1342e6e33988e37eea315edde24bf5034b4ff9a44a8836e94d6f9902e22d194736a4a7e38fec7b88eaefdcc671a6c2434a10a815ac7b3159fc62829d3383f447a6f870d41b71de7aa7dda93693f7fead96364f7e57cee82f5fbedd4c83002d614c15c5da5aac13eb084e81250bce5fbd3b1dd0a74f42c724422e9682d6e8727478e546426dea4ff60274351a801abe0511208e9f82507d98f553c6e97ae4cd8dc61f43e9779331d5afe0d52d11edb49e3e477fcf486998676f27104b5ea216378b12274b359bfcdc44434186f65d523f2c7887dea09ebae8a21ba922d34e81cb09c055d761aa462eba7aa7e9a32dfa045ab036b6b4946046d6f2ad549eae3b1e2edc9eb6fb235f1435b118187c679955cceb6715e0110db913c55df2c5f0375b891f1b49d191f72c08d56174429800a287ef61c36e40bec02b279c97d4f6e9a23543d4169f5ee1a4ee0799304f819c84bc2c35f959f21be5a5af8e08fa592b93d7c11a0b84874715c0938b5ebc2d231fade92a952e90933195012e3103f807ba02d9919c0489810f26f4943f6e80e65dc6fb16bf443c3be20dd644d868f59df0e4d3a1b15515bfb93d9484ad78a43517b848ad96730382724f65a993a94c2680cf2482242d25fb00af9d1f1ac6d4557262ca811941db7b4ceb9e6fb39585a5af82f012c0cc27175ac8fc79a42fc3b7c88e722bb3cb57d6b832f375ea2557b21d7a11f85b249fc4ad2c5f295df42b8377d0f07b87d765d71ba38e050c79bebc96e15ad096cb945b3e635a4218cf84a0afd5a2cc9d09aa5d35ae9692876e935dec9c5edd51d2027ed02f3c0b01b39eb1c020885085b1936dabe817eb581bcac6cf14372d034123e1e656450106a8c178845d68890e6ae1320e549b5f9d019fae449c5ad33432f8d45fec91f19604eefba49ac2c06d63be8ff4a0b20b9d23229b6fa27cee18cffd1bbdb7a6c7d5d2eec8f6aa8e5269a03065acfb994c833a55143a1a61602adfc6a39cf6daf80dcae926e258db24bbca1c0684c503168b87c802b0244e2a0418d7db9e0e0e505797f42e9808b04da975532dac50ae0dc90fab038c7fb7e8298212962a873333eae8aa4649416d4a62573d94833d7ad9ce9164e57a74a5ce9f82aa9fba73764b1ca8f751ae569d360b394ea4d9649f6ff2849a26cbee234eb648c6e47c986be54efa874ea92a0dfeb60396f1d38854e023b7751de950e750c53f79fbcb34a985c3e844819e060b26df84b53763c18d191f89fa18c25d6933c3e50884e2dac37630f1e98bd2265d0df","shares":"0000000000000000000000000000000000000000000000000000000100010000740039860ebd2ea2979018a2657f9bf9cdd81d6833123d3c566dc786f9addaa21780f259e4da918cb9cd7a037f01afd01b5684e0b6537fb2aeadc2e53c2971bf6d22528f916d95b55640f751646db1c123e2e12110a9b2dbbf5508f0e96ea7812216be1f349c8e621460566d64518bd9f47cfdf9b3c5faa9ea918834e5f6ac0ed3cc459231a5378e7b57490f24e67ac3c349f5bdf6951e0f117909142f1f4d343c33c32f57bfecfae27e22c8ddfb852e2294e5673a3a0e07a8341275c8f9fdd77f68ee3c2219c2a928980f8e97cb49f42fa5d80b3cfffea646f6cad8c5bb5b9d5e702375b0d2971539d132d6ce502adf0be33da4207e521a808f14bc7718208dc340f88f4943c4681c74d71d42957920d842441d915e6f18f97d8b760eae63698985a7bcdedd61b086db4d6222b48ea3f120b720e2004bd1853df51d239513b0da63d993f470f6f49a0f39472f3906892a4bbcea6744c0a5354249e75af79b4290832448c86509c5b92a3b9755915413d592f6ab78319b9a304ec2ae21d0e2eee78aecddb7922bb252f6896b3486c01201d129de54ef6efc9b1f81a443f7eeedd8cde63e41f8fe661cff60e3d6eaba1e7c633628dfb3b9df01ff6fb5acc63ebe5198e3b7012a21600ae2af8e631a2fa103934f3509c34e09ce53b6709682b723000000000000000000000000000000000000000000000000000000010000e4f3d539be803bae4ea4a781a49a4115e461f8e23a459397cd482f7b38b68a8faca1b54817f392f406d0094c6d4ddb8a783bcabcc252fccb5e713955f1b168a5455eb4fd69580af8ce0f95b5b00ca28d7afd07140d1af4ec08d6281a163e4c998635921d1f5520bb19c98c63c501a9b98b20726228f2893bda4b53550b6883d0d02d88b7e2bbfce9bc5ba4474eeb17aa8d830a7897756a03e77b62ddda537f9fab77b7e20ebd58894d34a87604997133a7dc515afeb68bd26a1d41b11fccf5d88490043099b44dd71361fe7f6632883f5c87ee86dd58e74503ab67bb5a3a0a28fb64477dcf73d91b85fcceaf536076e219bd56665d5efc54e4c91629322538bbf062276321542c48e3e34629f33802aae51f9ce9bf02fd9a5f8a99ee04c8be581ec8ec197e22afa50970dbb81ed99655b7c0d01d71dd4b6285c49841c384778f848fbe0b6a270340f73764318665b63eb523011aa671ed63f659832836d324381f547154d1e3810ec0a4aa86da1b303b9faf2021671f85cfa6c5f0aee4048cbbdbe70c4822491777ad8a8acb0749ff47f8c0a242e33d2e2797403a5d46a6517c127670ef62c73054d297e336dd7081fa9f5b615c1c02737d7f71b630015561cd4f8a022c357d35bf5ec9211330391bd43de86a133c110323c02fc0bded541b0c59f90000000000000000000000000000000000000000000000000000000100005b0383872b8347eea9d906edf17e98f8b726fe435346dcd7fc8d32e0ff4d1fb064a892d59b54a3d7f14363cd83db597ec84d5a2ddda4353d001ff24fb3d691d291e2ae231ec4202882fdead4a121a97b7f3b94d7590065707e60187dc97e1d51dab4d5cdd23f17a8da6c72003f0b740b5404a14fe058cca3cdc7cf3e9c5ca47bc7b8a4dc33237fd6774495229dbdf2a77aab25737e2e626cf3da87a30b1050102634b7b77c504618be9e39f415c39d61313e02ffb5be94855b699a4ae1fa6375fa8883467e89d0465ae96702c298e2de6a0a72adfe20f8a4ad9fc9931bd6dad443e3e6631f9f319857c12b74470ec148a4adbf1bccf7b032ac523185a4b20f52d793d2ae9dbd51cdb0d8d20a9fdabf64419dce3820752e4ebb3ac1ba91ed55068b99e058c968e29517cfad9ff229534d2f128abb37816bf22543f7026af438b53e041df82db9fe86839494ee065882932b771c2b82ac2c019bbe9506676dfbdd1f172e698970e366ec4084365461659e1106b8dd4b2cbd600d0361de20a99b5476c14e918cd9f2cb5b346e3f3e9598be4a44455249a946a1efd5e44fc28284340d83aff549614865c1692694ef09009045b17ad75ef0ce3e5a247c0a6a6991b3a29c8b7109a07d7116817702a22cd727ef18ff40390e385c4efa22c804b825e382860000000000000000000000000000000000000000000000000000000100008285a3b3d903031a737b5c32d5998409f43512e62df14cc3daf7d42e2c96cf87b6548a44a841d7a149c21b46622d7de0c7cf3449437a9e6edccf4a495c92d7d4a15356b52ee5eb881d26d89ddc50950333f36e4d72e396e6c09689d05d8df171aef0ac1822237aed552178592cc2d3060449c8fc4ff179e5024ec398e6a04cb9f5abbfef24b0117a74dfe85536b3d05b178a39900ee81689fa5ecc92a7e41178977430664ece79795c1ca3da38571dcaae07b1347042da0cb63f01e88f3f18a524cdbe1cbb8a52e7045d604ca4c99fe608c66ea17d8c988cf06daa262d62a5b3aa0b72320e72e7899168e8ed78a5a605fd040b3b552a801c7075727a1e164d9763683d03014811404f84b5bdc1b55b671fd89f37b2d873988fe291ac6213488afcf4c614fb162de34d768e2587e2135eb9453f9552076c8feae4f4643bffc84f0a7f7a54c2ab5e1dd16e976043c8e2c347201dfba51a1ab40dd66186c9b593d4096a767ea52df2da6872880cab132a134f901ee4daa608a0f598c95c5f49f38c29f98e20b5d0896bbc12338562b7789f39fb62b6b797ef1f1930c113f96e9d74420ef7c591e61334dae01fecd5d279df13255dab9923f79d736242285b43b4a7fd78e93520fed271e36a8938687e67eb4897cf4f328957ab19a31109111a27b3b9af00000000000000000000000000000000000000000000000000000001000095238909d6ed22a1ebc32f40c3c3d576bc3db0e7eff53c0af043ea6d1fc2276f537cc645fbcf1f983bc4e061c0aec44024f957e86602c7e087a530d15b6bdb2b93330689c9fc4c79b9a4af5270d69ad679fd3d7ae4413dc0861999e2249dcd04a8e5a8ffc54ba0447e0cc2acfcd682be1cbdd93fc81ce67a02bcb690ed2c4a3edf6e381d3c2c3f751182bdd585bbf168d7e56f4f7243f4ea8494c2e08135756c1267dda3b82fd8ebd0f0c3dc2fd96623f094c53dfc345539ac9f5d0663d7332e4d9d38300e4deaf76942874d86ae4acd48e06b953e806fd747bb8b72e249e003d0d1a4768a97591228c185c3fad85962bed214b052d3c0046fb1d09a574bbaf5e0ff694c6f9ace766a73d1fd92851fb6e3629d14da4eac358c4d0b238000b98f918ed7a1adf984cca5cb0a313278937a23fb0226802bae1e2753e4437a7b57321d3118df12ea71d72b08875b524900dfa7bb19a60e3d547c631987f7c2f05e93983398e6122b62afbca0eaf76e096c9307ebb0fdd8070a10fda713038fedaa657f8cc4990730a0a08b1746d930fe38a5f3a9f80ad9107b82d01b98e4c5cfbd2c88e22420f12833612d18b8d9406e93e652f59dcda83f4c7a0c266627ac218c4c854b895e563725b8e31f0146e156e8ce21df5a7a8a8e7958a116ba4d26c05599a89b0000000000000000000000000000000000000000000000000000000100004876feeb6a2a881d475f4527ec77d9e17da79315496e79c28afc93cf6240b3918532b5ff0a3e0212d7f4ed4fa1417edecc8f003f3f0e2983a7ffec1cc7391bcd002ea5ec5bb2d2848e5da1ceb531111ce138b651b11ed5a44c5151131913d26c9f36d9f8509e3cc80ede8647333a447f7096c569ece27884cc13ebb647c6c05e34586ff2a12def937d7c9df54fa06545af6999c3060ef813a702b61fc73719b6d471a04a5c1e334da61527adb357698df6441be95dfabbd1879ecb1f48f916843321cbacd9735525da95c1732dcc98d7614162bcc66d04b9858da967f1a28a0f993fd42dde5e8949d71cfec5038bc8ff9ca475eee748e929d0d8a027fb1fbd823dc415424b4d8f9e0264363fdaafac42452fee4e6a01bb9c6c77716d3225892410df5efb9e80471475c893aed1f1503c67e8d1f6e9e999ddce13036c98005ba58e2af2281e3985ec75d984fab5af8ee0d66e53a303c5dd1a3920102fc669fc130a99418f949bb356855d702d6b0ec07c7c3a0e02bb8c5594c379abaf84acf5c06631d5544b9637279b1c908cc54f6eca827bdffc8e1e7659803eff756ea8eb1d669add9c5b905a9d7b6058d71ba87bcda38ef22f01775c39315f37318e362267a96b721a6120e24297c4ee424d0ce52b3fa0802ecb1a66d0f8e8a54e9256f060961100000000000000000000000000000000000000000000000000000001000056c65240eb47edd65c48d2bc09897822752f2fc3a1bb605a8c134ff4986becbf6eb17ce14bd03857acf8a75e6389a028e7a1bd22255999e48203315f9deb74ad3e36e77be7ef79a260e8d98578474cc0335ea7709f87468010d92f1161828778941962df68dc9c7e67a0822be222cb1632efb0b9b16349bb40d230529e1b9ebf2161fd1f2c4b3e2710cb53ac7c966e5dad1788c6428792cc804f729398102f663a5fb9e3ded3a18a0d3ebb64567dab4703bd7cf9fa742db4fffa0f70ad7e5e9ec6a1783a58de1cb9db86df32e6ebcc450930962a5867f867fc634838cc1800988bf8aaace501705de5a0b3861dc54f1c0ecd2b0c6b121ed43a767c66a93b5ab4bbfba1e7d3efef0106f6b843d4bd231d7eb6a19c1fc3e21b53868e685f16402f3233ec4a964eb2ca1f1af3feb345f9061d505d232febedc966ce581c0ff884beadb339424945c7c0d3d6b09f2e225227a1e6264b3b63a975e9e9b570405c4e239de579c3119c4e9e95187ce03774c1de4f38e0d8907e0deb47a740fdd5ba82bff85598dc3d80f9432e43431f59e89961faf62a0cf65b1cd78626871ebffeef3680bfe8741b912812c6b0c66e7d143b4f31a7f29105e4a598bd32f01fd61fd98730c46b960d91d1a2bf59ac3dd67e47b4165710725ea1319762b77f1afbc9847b0474000000000000000000000000000000000000000000000000000000010000d92067450aa678889f2956f68c60df763b4d51e0e45142525ced2c4e2ce49761e8c6bc85571c44b98d953efa668e1e67434590cfddd43cae575b27905ad577475c6af2f43d65907d9b97d3d922c162cc8eddce4f4ab9ab1eb70fe7e42eff9031c43cddb2e2be337d282888d0aac066a0047a7745aa43f888fe6ec6259531903b9d495e7e3891389608989d2f2e06fb43560fe5f78e8e0d3e26a909834cd15c63dee2e219df2b87b5303bd8cde3a352f721750c5b8bef324dc7e73cbe13f55d531e213e71d7de38225cce4977d054aa7b0e9b90153ad5f708c274b24a0893cff58d96c8c23c48ab0133debb8f0f5d38deeba1b59bc01c7477dd8cf5412ea9e6fd264fbf104fead15ba9449e5e5c2ebfd839339b32e077d1b0d901b41317c2072ad5fd755bcf1e1fbde513222d5338595982259b29ac79ecf44aed1b539fcabce233584a17cb92007e6f853377cdd7ba90819135a1ade1a983193846efe8b2047be69f28622f49932be4f811ed074d6a33b9cd86c6c23b22ee49a1f6d0483b71856307035736b49caf728e24a7ee30ceee9bc30435e49fe6710932407be73cb6af6006ecc44f1be1d0133bcf3a27b78cd5fd2658f7afcc0a3a8327d4549ab053019838dc0c31d3ad1cd16058e1d3d410e09fb7bfaa3ce44b1e11360b8782956eeb5902000000000000000000000000000000000000000000000000000000010000e9812f6af2f7d5907f21eac9842d07bd83d8aaeeafeaabc9de6231665e10b4726041148395517af00529d5c868085f42eccd26c92d76d40c270d5a5caea93d8f0376a2ce1dd087c70625db5f68d5aaec8d153d7407414b9a6586252234b14a13754111a17dadee48a3de4936b246b039a7325af9634f53e9fbd111f7494fda103fece35fc184704dcbd9f0ca4d03e8fdd8337f8f28647d0ee53542e30ab8485021b6aa481f03012cefc0a37cbab7d6ebb6c9dcc6c5c3d99769a7ebd8b2fa9f0cacb45d8be4f9e09210bf17ff111bfbfb9bdb651fd7f7e43caa5faedcf86cc8fb301978937b2fea3005ebaad24306ba69026b126a5f4e304e8b83d98f8e7f7d662615d23741bab03e15ce92eadde192ab747a9464373b15168d0336239e28b6756d4965042b2cec3e033cd0231c9f75ce949713b1784ac8b1e5d71423ae1a197a5cdedd94730865429f6225814dc37beb860e6435318b21aa10e5aa5a1d2099a8a2f49b8ba8221d316a585d6f35f8f9441311106d67bb688f1d881863c6e38df212e9dcbb222172744571d73380740f15a3cd1e54f507c306ad92ff8541d4cab12ed49cfc8d172743968cc34f5c159efa125aa6d999c0825accca5132c2f61b31959171f81621b797c766ba6b589b664007b784056ce9191fc0aa9a98f266c79804a8000000000000000000000000000000000000000000000000000000010000a3539c3f6a4aab2eef69d50146b8ec0e57ac2f054ee5cf4d2d1436d04f2959237b2d8994eca0a54d93d746d521a9ab5cd85b568c5e33aed6795d61589ce72a68d8ffe9692283604061ec87d643e2e0ff30e3d3f57dd3c30a4a9566addd9fac41f705c2726daa611c5e26d6219fa52a9ea0489445feb55646595559607ee6c410fb74d801f264110ab2352e03f79d140775d0118560ad9993ea5e0cffac483ccdae14ca2d89590f46eaac2686607f9c73a8def6a807ae8dbadc6b73dbbd8b84069ff6b01053f4d7421d73195ee4614c156ae8ac56285663f078b3340d331d7c4204e77d14c15831964585a42500762aeb5e44f1688b06c0e366225f0985d22f578db52bc8368304021e6385b522ffc962224d15162921d656b7c4a38cf21a4b98c3c45820e28205398efc92e92b74c4045f82c9fd2fe057b2c29128e842b3d97e73fc237e3aa832c93719c3d466b247fe93925fbfffaa38d476ac49fc65d6b5740072bd4997e7b37d34fd790f0edb1bf2d04a2910dacc4dc3c0ad6baecaf3e1c1480a64deef926dcfa91830d5273414437548448e232761bddf67cc1060ea11550c8a640004fbb42bdb5c6c132b8ba9c12f9e213243fb63aa2b7c206796e7cd6003dd66df40ab78e41ff83ae809150c77880ed3486221fa5f83aa5035908bc4bc2e97000000000000000000000000000000000000000000000000000000010000dbca15928022c11d0be610126edcecab3297de656a6025e72736b87730af6e30cef8e8dcb4523db12574789094df3b017a6831f7478f9db198b5866443756207b98e3edde68f58fc27985209ff3e9f876638533ee129d0241af07483d3fdbbd3027bd55ce45fc8e5d49ed023ffd54af44f6fea673b4d0e90c43e6aca81ad54e4c7feb25310709f7aa765a2dd0679266456002df8a6f6508a953edcc5114bec0169f984dc6925c92fc1536ddf821bbb060c667cca2499b3298893000847b52b851c300e10dcf9139c17e2727c5038602601c9e2afcb8804c9923b0b672b368db4126d53a4a1325f19eae06a210f6433d89d0da1ae1e54d70f2bc45cc49df60b539bf5cdde447af1cf3db0ac1e37896e09bad225dfab1248596d435e6a4c1f8a76d1143db95586482cdd0dc5d0e759b7642266eda938cf3ffd8e92667acb8b8d555b426b43a7f7323f53365eec152154ee1d74579db52d668704cf5fa4e399417659cf1cce9c063c6f00839895e0e6dc88823b5b8ee842e118d7837e5938a511da114d13eb5fb068b3c3786fa4d4c741185d389ccf11a84f3a6067ef730166d2c7a5fea051ffd0d40fd05d2101a37461205e2d54a6f1301ce186737479eab873c5724624fe450a110b71803a45499f2304545dd1d712078aa167ad2328e41ef0324d3a0000000000000000000000000000000000000000000000000000000100007166112bc70ab0dfb730a950f5d623bae03081cb088e61bd67518d6af3665ba5dbcc3d908fc930cdda48d7ae46e28db66b7b38d9a0c4ed8c4f77e16eed759e70779ba1fe0c13532c6d043d48376e30eac139c2af99c1dac981c331dc910dd6d2f269f473851c856f5e6446d19be9be686c91dd4236471bbb21efce995b9eefdb504f1f7911661d1e5137a6b140455528f954d85a9fa8b0fb2b5f13aaadaa3c3329759e59d5a13a234d4209034da1716162e3c5a33231812131b68aefcc6968460deb2e8ecbac25e5a9861bbbd256deb962cb93d0c2864bd2b6d7c173f755e0396715ef7fd4c7a0a7c34ddb0359a177a72cd188f8cff48428e3d151b7cbaf494f151d66b6a240db1fb48dffd31b498c5e362f4df5ff6009124af1962226e7c6b45edf9ca6cfab7b3467e0ef7cf7b4a567b76472c7a3ca8bda95b35f80bfb5c922474c8ec37ce3ee6c0259d85f23525c15f598260b02a3ce7eb7dfb1ef54baf3316643363ddadc701ac07742f195a0979e192cf91c342daf636af09c193b27d6e1952044c85906b4402f6b99737007909cfdf5ce38cb32a255c4b8369ef57810fe464a0fe908fd55b57ca7ab174d5a443959cbf1682be156ae78d3a8f0c7e3790a6164912b5de1de743fd03dbd444040db96605344d64b2a3ed382771c5ac4dad8d8b100000000000000000000000000000000000000000000000000000001000069d3a878008ab1e9d4d8492d5fa6dff59444ab5fdfbe6174c3b159e7b7aace6190f50da0d88e7bd6fcb8b3f3d922263e6006904d7174688d2b01215c5978fbbbfe74f3f82514e3ed5991481b3e366c76612cd8ce04b718a22dc79a600cb0c2a8d09825e7c0e195bc9966568ca00c0d22ed32e1f26013a9fcb47e0d7c9e4e5302cd6cef48474a05461d53b7f894eabf14a309c6a26af9c94606b1085ee793867eb876b63aa59759b14d1b119c1329792f0d2d6ada49bb1f6dbf5a9a0ac345bab2363412c89a2699b0261a12e0b00e2cd154ac7de44c3ec0ed31a52c4f5cfbb5dc4d511a201b77d81f4db7557d1de1e94b2026d3743aa0cd2a823e465d8648a015265af1bc4444182f8716485e04cc04a5416a4f04c9e1faaea60e597f1638ee2a365888d80cd52b705774d6c85cb8302f8b4c6a7dad396dc71b4d802a69224928ea87b2a24a71685b3811d18ac710ed12d6b89f2890bbe6ccff8c915c35162c5c744990430089eabc3b72c764b5e8653422e0270ea1e6a3c24eeade611093013374bba7f0f2b9605a71c578e9ed4acbad0769eacb361cd7a33f24654e0a0cf165949fd593a01e2f3b2871bc6931c35e879845379a6408bebcb6fadad33514e94f4f8616505cc99a636610a9f374e97e75dc43df5e709cc71a134c997a0824be319dfd000000000000000000000000000000000000000000000000000000010000aa09fa6e0f4d4318cf9fc476ebeb8818811657c85637733255163769c255c03bab85e484208cebc663bfd5588d5df4a88edbaeae0aeb4cb25f2c41bd9842dc5a663ddfc0c935a9b607dc6ecd886c950729ef404f38be97df7faa25a363a78b4745fa997e3835f8984e825a277a61606513de39436035b1ad12c49d32f64a0223c914613bbd76536e41691027bc60a8e5ba8a08c2f4d1fbfb10fc10e9a50e4969ea4ab2c825e253495e0a1a5307630a9a39747f8aa56d6d003898dbcf24d8f9f2a1df4f402917459456ec3518f66b822b715db5f045d6f731e63333b78726b5cb25810b631579e889ab75b95a838baca0bdd2b3132aecbc86fd99f867a45a019b844d73667b7e6fa7cc02b392c474ae4c6802c4880a975ae06d9f31c6cc1abc7eb1e9e5c791874e3456047ca18ee72aed7c5e4d471d755e6611f418f8943e653fe8b5da59a275c8b1f5ecbcf7e7e9a61c0ca2df6cb82f18fc7879fdc8697d3448a6bfa9d68f757878f575edd00fc77263c014d86069b68c752c47f43a6c7f5743a08883a7af787c73afd7f926c464e67921fd6c1969288443c2adcb61587c9b23f66c3ff6d99a3ec2f074209d99c2c1f0ff2f68ee120f107483b4224f5e39bf01ebda031146e3b8f27a423a6302bd37d63c3adcf4231894e7fb19b7959fa0c71ad69d000000000000000000000000000000000000000000000000000000010000b7011ef3c56717663a4b5d418e5b9cfb0a6dd95111e271f407657f32f6bdc09e8779d7b37ebf6a78b1daac9011a3a138e33247c74f2106442583baaf119998b114b01f811caa249b6968e0841147016fd3601416b467688b819d431e769de84ac74d67f8f43cea3bf261a65c2ae2a8d82d701e00af5a83e039ec388652672bd51d685d9b74118025ec6432c9a45bd170c3064661df105d1210d0df0c589c1b4837d81fd0422eb2f21907f401034aeb435789994fad6af5688f9aa995823313ab187631181e28b44aa5286d370cae46532afef5ad51d7fa26b4f1b96c4bd1d8109d819cfe407c13a2fbdd4b1c04e0c76ceb243e86555d274e814490912792f92c53042cd4ead209a5f3d3806e6e28a6f5773b6f36d03005bb3168591b86ed52a958cab41cf3d285290c729be117941f63f36cf98a55b9c4bd63d8e3df0e1f4f32a1ac6cdee24ed4a7017fdce6e8da50bf9cfd73cb0c697bb01ce47989d3b1a03911b39ec71b7efbbc24b993dba6ff8c14a9c856a709dd89d369611e40e68d3c7e32c03f7aca9a578407dd280b06a8fc20896bec1b4ba9e89211ea504ab0a447537bd15c85ae2de823ee5c1c4671bd2c1075bf0ecca953b1d3fa2d01a2f8aaadd0918f8e7035272c015db7e9863f0b7a6a264488130dd57f23ba2fa33cf6de6e5a862f0000000000000000000000000000000000000000000000000000000100001ad4d5e8af7aaf6e8ad15d3ddd4671d44ae32a527e2998ee18bc9555d7b4f6757f770097af80af4f547ce519554006c8dba29efbdc27d09544c3f3a18377639c446d755cf1e5ac17d18e475955aee5ced1f39808539996f5a16a0220951563c2cca876002622b0d9a3f0dba8dc928f6428851d255bcb495595639571a327c2873967a2ed581f85bd4864dab5887d421f56a5ce1d6db9f9a4f8f2cb0edfddf8bdf99be7e1fccc22d2c643db9d09b74a64ee7fdade0664885a8eef732238419f971bc73a2f883500bf327cf87418cbeef1502758ea0e1811685864790abcaacfe4d8f0256fc1512f9aaa4ab9e66d1af5406ce9fbd5b80f09c163a59afa195303dac4580afda74a3d43f0b3108f164fe61043e4793ed18532ad2e9d79d8a26b05229aa4f242e2f52832d36978883730b8a6f7fc56a703a72ae95abc3492e068468ab77092b812f5f1220fee408325ec33b0c03cdc996efe0000d5f61acc0bf5250c26d3cb044cea0b5ff8b2a28d8c7084c198ed3b8865670f7a78aa922f0c4fff8f1eebdc7a280db333b8af092acb41e51a566d118c644bbba2399c0a0fce32c5be32f0f6ff9f664b398b01dac1a3956f51f174d4352a6ea6aacad662be5ca0729d2c2445402cc61052e95da7dad4328089abd93d4ea2354b85b6ffd6637e74cb26f6f30000000000000000000000000000000000000000000000000000000100001f7f21e97f97c073e13744c88c33095f4ea318293c9529320fe8491beba68318816014c34a2a1e15df8b7bd301c1f5e3853dcbcb279629b4854dc8be645779911d87584612bb3264ec2c7b943dbde3a0d0d9cd3624bd9851d90872f3ae4bd6918c123425774cc22145504ee4c72d7e200cb6307c1895f336798baf87a732f5f648b5c69ab4b0a75db86af9628dd81cbbb9d36037681e8b965d5cc538422df08052366ad6866666c0f5e963515c09c9af19b62d3a4aad9f7653d1a9a0762a501b91e975ae96b7af63f41b39b31f4a7b48b53c9bbfa02e0db71c1a7fa2fc7fbc18a415587bca03967f244201d0d5fca7fa5072899b307e10f2e5cebd54000257eb81f4a612f7d2c31d0ded9e3bcfdcfd68f36f03987c18f081d7d06f3c7ac4c264966d3f074ad804b8e20050e77129480d2e2f34e822bc2500cff3705885f4269ea3f7aa7a250095b66c80dda436dd4ab361c67330e813973791f62a5a654ce9467de756cdd3c582b30a45f578010ff840ba7b2e414e305e1dd44bba338b914a7d1f6c42fe61aee997737ea26c9c18b88dd27258ffb340767b385ad90d391b92b247e772404d7e34c0013786df97d1c9b08aca6b73f383b8cda643c5008b480861f3933da73ca10bdfc2edf84d1b9bde790975df9072d159d519a9d0430dc6df629e8100000000000000000000000000000000000000000000000000000001000091a24be31389ad40de7976eeeed8906ae88b456d76928c3667d874de55d60b80786a82f97a78ce0ee7985939cb73727978f1455488b921b7040d74c5f5360e7d13ec6093fc485ab0acf25eb0f1edfe2d352db5b286625a2997abe549a6330d2c4ba8a1041287432051d4ad38f74bc4a725512b5c994bc84005acd965578ca323fd960a24d80bfd15c13f26e379fb05550b37010f1477b9cfd59a66598dc972cff214f06e84c0e52e40bfa0ec320398c7daa648e10650485241cf0798c45717103e8abf06d2b8f592c1769683e611af7cdc900d798332fd49db9b55c5cd7c8afc26c74238137f88b94b144f85d8bafa948c530cdb7966999f84c7dc49ff91a84413fdf8d3708906613068177e079286153e19a06c218a8b74578be2a3bbb76e7960975c7a605f968e3c333843dee3f1275cb7d4ce89f8b3e1163c1bb708bf8b6e222873d0465b7deaec223a8e92df87d6ec2adf926d38dd5ed99716e5db68cd236312eba5ad160d60081b7223792cc36def48bd1c53160e59d68896ddb40b4b019ca698987df761d3075a55158d1432fdca88a3f6c4685a34405af2889a8022185efdf323601bf881c3860aa13965d670ce4d823ca8a0edac4f733613a682447ae42db707d87bfbb1ebe1889051476990c64542e39a80d03d655dc10d3053c75b432000000000000000000000000000000000000000000000000000000001000084794bf3baa252580a52d5d86c07ddf3d77cc6e53042a8577938d0b7f7430a6e221bd0e6ad6f269d6762bd6499fb512896515bd4953ad0b0eb72fe8eecb22d78142bc9e5537f9e1f2ddbc0161dc01887cf9a5779b7c8e3b3334ecf5190638b2e851dbadbe95c305a503f3fc18f7cf3c8cb488f935fed2c0c4c020f48d4f27189755dcf37079e09b667116ed94c937d79a01f8406be25422fb1a692ab0eacc00309102b68e460a3839c71c068fbc82f734287a446655566f1b1b7483e8448baba85fb90b3162fea3d85881337d5925baf285f704214db1963561143f377facac92a1a88e48bc92f0e39427f52b34d90809a3196b60bcf9dcbb0ce1d950b97e44041da53ed7f90f274be8e70c961ce2030bf4fdcdf573f5bfebdb23829da2740dbe910ef7b30febdc3b914db4e460237475721c573e3f6c1bfbdeb10fcae8c6504d123b7e82d577136f779f42a671de6ac4196a664aad4b84cf1d1d9ab120b0247828e450d3aa3ebef5d16bf86ac95d7200e39361008ea8c9663fe40aa721d55bd85f9faf3441b7749ca7bb133201a8e06082bf571703e15ca69eabb6c86a8da7b3ebe4bfa1e82302d39619403a593145439025dfe32b83a8127faee8226db498be7029bc7f0ce4796e591d8bda8b13172c9a65a07f2b020502dd268073bf4fa8ad2090000000000000000000000000000000000000000000000000000000100002664c5450d0f1b4dc1a2bdf7eaeaebb9cf612a01978538372990ce259b795ce1db41e897150dd6426bd8fe08a020261e4491934630dec1f439c539021f0abaf8d01c8f0889b8ff6e29b8358bcffe1e846050ccd6d6f89dd0639ebd31f428ade6897a933124f46f5063b51afd52d3a0a8dc4166988ccc8b0c324cf053cd1cc6a347c483a87e19cbcebf4c8b5fb02c4c6d424f50309ef2d42f4afceb00b66b1622dcafc6fbd4a9dc7b0e7fa34bc79e78a73c921f63b30aadedc5af334137c5e4e65f91b370eb1fc13b3e0dab39b7e4155b9184d1051bc5c961f125c6372931c4b3bd4ac1a02226408951301a267a659969bca75af91cc6caecc3e377615b000c2e24fedd0acf2145815b59895ba191787b47ece7503f1f51f0c60feed0fd5dcbf0e18b4abae3a84f25356366223ca0e46669f03ab148e9c249ab0f7c78bb0573daf77d03b20b331f612a00f2b94190b8905e70f9d94f1e08a0bbc4af9edb2762791930f3a37fd75f8de26c4ab0c7bd29017317888bb32410fdfc4925b155f3edaaae26c2782b0ef82915a7fc4eeb6ccb2a6aefb90fa851756fa3ba12ae8ca623a1abd39de14ff265492e8316a7ee96a3180b28a9e00be74c8a2f5b0c455c256d22c472f251ac2befeb37211ed17a2d0f06313ac85ded87c219ae0c373ee4591c92ea58000000000000000000000000000000000000000000000000000000010000fe181085e43da2e4e319054a7f431f5bc48e8828c89f1bbae0f248bd1f9d104e7ba6d799bfcde8ee9f0b5f50e4d9829ce939686ee27b7439b88b493f0b03b045a42f0056583cde3fc6c4d732d1dc73ba436bae25d63cfb7b07c6f92a5910a2ce314868e361f9b51a31a3833d393f054fa3261fe3c1e85172a8fe96eaf2815bce18eee75f53a63cb53a8f305e1fbb3b7199633ae117d2d5a4e2e62ae45dd4d04d459238a07cc9fdb46fdcce71c5498b6baa36147ca0d835cc3437b72dc4130c251029f281bf2de976bdac52606d6e299cdc9a3a4af52e6d9a514310abd8602f63a45273912aca1dcc9149e3b6902cd1d83ed9df94ab43cbff18170b074436eb131bb35fb62eda475f659ffd50956670b5c48e47f4f298689a328af1f859ee1bcd17655c58df3e5500e154126f7f52656ebc34d44f640b5c009a25e146b9ec15a47a101ec7c26ce08dede3de35174bef551b5c57ea1aca4e318697fdea8c38cb35e317390206f6deca893a4f2fd4a41b77c8776361ec58fa2d7f8fff4eab9b17ea6ae8c0a882320e59145da66575bf163fc9cfc442bd8680df228ef880a802a05c8b18bd00a738d7492725469179e944b16d36e0f19afd9ff749e8bd46cdd80d50be5ac43ff0f7ecb6984095b3eb0c8fe31883c4579f7d6629635ccc57ae6e27c2187b000000000000000000000000000000000000000000000000000000010000540ae0221fe45aa259a31e53975efd805a4ea9c10f425f74b770d26f08c913c34e24e4b092ef954e1908b3fdfa398bf3c6f4d8b26cdf5137b08fc2ebbc56a49a65518e34ae7f1955f45dcd6e8be47a635117638f1ee99715c05188ba5975e958b0eb39ab5a8be7ef1fcee1ae511125e155c0a439413c01916721c2c1b9ede7969e77e5db1b73f77583d62223f7df2e56824b419bd5be9ed669b5ce4e52b65e3b8a8bec772648d3ce75b7ec5bf971141bd0fbaf805f2c4907c2481ce96a5a17f76c18a3c3b71f90685eb247aaaa11bc19e42c2d6749247240d9bcdd31a3e743d840b1c13b9873cb4e9f90c9c84dcbafb468e8e70152cb5fc6e51b6a1f9bc424992ff597e30312856c219ee107e9fb438644d429c0c6dbe15977de6f7e4af889c7e9293628d5acf722c1ff70ef57d6d95ce9e98b3cf5b5a3bf70ffb1bb213f015f3950af1db38aa3a98118c01cfc0c3e0ccce4ed1138d286129c585a7b0161464006c6ea611a8c615fda0ea27b478883787ce11ba2ecd6b404a64273b422a8aafad9c3e79ad9cdc9c8aae815f189cf4b193a304294353937554a999425acca367df7103d2178cbac7106b99a46013236cf5824d9c8de6879b1d9e7270a2e51d94e5282c401ca92b2c05ed4ae5f24ca5c42e01f61a1457a0b1d90d314008d731eb586ce0000000000000000000000000000000000000000000000000000000100001084eb165f3362b2e4180da00668a67ea2f7fe025e875be4221d083e019c0bfed9d4fd1b06b67d5fc6029f53db4e8d6f5742ab994cdb90ab114f007f9fe47aa709d2de15d4c4114ac7ef4a69de2f95a508aa05fe8a623033faf816b4ae10519288966b036717cb3c4161fa5ace7841d5be48a28128c108e791e04cde5259d7deb6a2f6b63af20ab1a414c62df7dc25d8bd40e6eabfee37d2240fa4951c283a062cf0e51b80c0bea5990eb046833e1382752cc80e1e60aedcae3cc1fa76bd159ed723ffcc2f9025d2d097a2932a435712e624bb5b90810631aba53534facf235989b81011d27f18e846d0d8d6c3a8fbb37a16c5a7f2063d2d821662aa3eb78b379c20c0be0ddfc4dc08154b0f556fcc2193f971105ac0705cbbb7565bd33de8eb9ccdb66b85b3acf955abb5f7889c1bd29b3a9283f340fdf8b78bfbbce7f827cea90c1a58d4be2617f5add34a1ce2989a241c62f7a123c937dbc0f3938b58a9d356c07887d4053e5e25af79a6be1be77a913339b20aa7b6d44f78b3bcf743068811fe562250818c36fcf3bd92a4be3d4fa0597ae6b7209e7a37049ef67fb2789c0157ed7f9d7e542806cb556bb45e2dbd43e2a125f1353dc6612bbf092f91f616d28194e76bd1c5a44a927417762605edcbbc564ba7ff15763f55b655d8a1d7a0541e000000000000000000000000000000000000000000000000000000010000d7a2cd6578a72833f990c2cc621ce95697352221176fa84a5eb1fc3456382200b3b7273d7622d22e0722e99b653fe68009565f710f5c9d41a34713d8045667c456a73e5ca5fd4cb64c30a8ba44252df20161ddc4789b376dc5ef520fb15e807965f2e524c6fba5aac6ead2ccee1ec2a5b31bcb23504c3bee5291228d1f7950d992342c02f2982543a191f70b00c92a265df72af23d87fcfc767f9fe992307c210c5dfb780e3d81b90d02f1db95f0018bb22c10550c702de83738cac8efed11618ec5f93dffd9efd01d95624b334a1237ce4750f40576d9d7366947cb9be0eebcea3beca34b64989902a3c25e1556fe704e5b2c5d8add073425b64bc0d6224a7c1a81d1367c9618cb792aef45faeb1d3e07ae13f2f5062cf2ee3bd44a34f98960966055f47e5d67f7d47898d2a604103e93ded9e6a09e5fe346e3c70f54a08955e0b34b432d4cc654a1a326243be423f780977c250b1b02c09919386a0334d347bf145bdc87bca990947d02bc4db586af744fd7ecf513af89adb37341639e8b340bbf5224882c8836651afb5b079ed6eeb46f9c73edd387a42d0d07e117c0604335645943697498d0d5bdaae307c029efe234b0575b4e699f05b8f949c2ede8d4197fff41c52b39a39e361c367aae8b3bab8b8070635bbbbe11137572e67544845f570000000000000000000000000000000000000000000000000000000100006fba43716d7e12a6b3e027b180bfe903b16d36ad7849cec013c2899c56de384c388fbac3cab7d224c63728129d1ad3c61881c8c988f5e78cbd6af73ac4cbb8ab464cd6aa5cca91a0aa10deca44ee3478cc3a37fec161dc7184b285821a7c36ca8ac4cdc12c3ae2de6290e983852d64faf99d0f4e69601a2fec77fddcb418194b15163d7f0b346229309cf9a24e40db84d2a3d72efd18287888bf215f8aff83cfb47b7c53bc5dcfc2ffd07a33f364d62c9e4a9a345217d3f98a2881f66208fb259ef00d71c25ccee162f7d906b5c6fade9392b950afd7fd0569dbb3f0306eedfd8355e3b57da572c71450e11c465538c0db3faefa795160a5b1d0ee6391aa507783341d70ff6303b765ba8e6aeeb1f8281b9763b2f41c7f2fffa3bd40ba2bf6c67daa18d20b1e5f6297d0dec6bee4dc2291776eb4fffeb53bea163bce281641f1ad98bdeb068cfe35c1bdb41088562e3b2416c4fc8a2a0273ba8cb78bcc956047f36ddee146e49173e1cde43193c7e93f4b762e5ef5fdea5449b14f3a42406f7a9095bc9adf0a01c5785311382023bb6a2b7149e3abacd958372932f7d970bea4ac4a053f37b3cef84d3680a6167628361f2677bd2712768b9090d4317179e9ceeef3f7f0270935d9932a9f49a3b1583e56351b12796de18fea597f618d8cf9f6aec8000000000000000000000000000000000000000000000000000000010000f56bbd6416f578dea15816d14664d8279ddec4e521bc13d96f3f9d7864d6f4d01c3694c0d2b9b1dd20406ac29bf22125d47c212fb1a2adad50c4659b2ed6703af8ce8e020a5cbef872803d8fe8f758c4aa7f23b728d306a147cff05076dcf494f285f46f41cfb652f9910f88b07dc2e58fbbd364b590ce41711065ec24b40b6b660dcf540cc23070993ef1eb8238b790c1793b144c7b7dd90923202629886dcb0d059a6a9a9129c6e1f517a7061a72f4310dd2a4c4c59b74a3f744461ca8d5efa7ce734c3e41ccea4c70be211402f49e0b51da1fbb1715179f266d23c29be935b719976129e4b6098047c0e5f88a0caae0f21544aed132f5272ca9528354f772184d988c4406908b40ea12b45e4bc1f681e638ffd67ea7e19cd2c7ba7fe0241f2d324eb7aced05c585b94a9306a13977a1354dd4ddba4e68e190df3a8a5798251d86fed7b4d67090f94530dedaf3a84057089125f00fef7c812368fa11f23627b7bcc6ab83a484cad3890e6262db52a17f617b844f3fe846ee4fa1735100462e68d288a70ced20c89c4b81aa61bf6bf5283ff645b591efe415b5626226cd9f099f36d83e2e66df2678f8bdfe1bed07a575044ef38d9962ef2b011c77e548c9cc42b013e1b8024193bcd82b0027b961849a6c3811259f557c8c84a31b8cead4280e8700000000000000000000000000000000000000000000000000000001000006db4e05e0fe50fb44fb0fb9ea21db92e711c42898a3eeb1db3ea1ba8c5919e5ca2356078d9ec7a5d2e24e883db798a578b0d55f29e3d4fdcdcd8157dc88ef5486d0863fba3552470c39928537e7b73c15ec42ea2d116f426ffc4661fb493282bac88400f94a0831f82fb2245598c643abce5d09073defbc5ba8e151566d4bcee04cd6d82d7ec2f82be5ec0b7d91d178f7ddad163d9a80a0ba4f471620299c94bc1cfe7ad5fab574ba2ed0faff95b4957925b6f6490c3cbaffc0606eeded3ef828b72dcd6715e63b8ad86da327d9c1793b39e60d0d231b3c5105554b656dae14a00e6805ef0927ab7609e1eb3764d247a630e84676b895ee024137d13eaec52336fcbc043fb43e70554a94eba1a13617b7364cfd45f405d8b394e603e9a4a1b0785ab22ad17ed9e829c7f53f4597f8102fce5cfa132d62c9ef43f6a76bedfa93a4748f90286ac931e51aa24a1a8d6918a0ae8d73bb7decf439ee0e5cc5f8392b6243b1c0e5b07f5ecf6849408d6f3eac268de9262f230f21112d5dc6d5ca746ac611d1e0ae5c7851dfa912c16b98bef9eeeeaa946c30e4cc045380294a64c34a28985e065259c813dcbfed0f1d50a0ee0550c81b26900aa25f04540d831e8363e966dbda1581ebdd2253a65d1407a3125c7f223cdf85ed085d28cbd8a1867132abbe000000000000000000000000000000000000000000000000000000010000475cb6ce652659723fd15485feee44b5416b2fd55524712a2d021b0b24f82a234e7b46270b28a147784b50eedcfcd4ba4afa2190be7f496a6476f803316b7bee1a325b39ed5dbb841b71b947d0618a0a7ed4286533bccfe73cad2ca3b249573ee34281851265ed7d242f25c7dab61755ddcdae76662281afa9a107ca7dff7e9c8fea3fe1c2ba3ac182525f5346bfb31b255773f442bac41a205749bfa25dbc193518d7f62308c722e305d76469ebe2330348871346434feed6c9fa98c1ea9a71fb48ae275571bb375b00d67e682d36737c23c4e7314dbf81078d7c753b6d2e35b4f6361400316da4a61986f2601dd28681c54f4faf76b64758b8470c2f23821451c949e2bdefe0ecf89cfb18a1795be9274e82be808cd35921390296ec3ce277925d9e7272b3c05a2db5cfd7bbedb841d2355382ce8ce32af06280850fc3cdb8f327fb321fb3b2dba31d296e7da5d37e4e7558d9173394f9d421f1f0183bacdd1349966fdfbe73ca94506cdf97f06d1ed090baf3955ef640a76d5a8ade5ea4818817f01d957c8b1c9bc9d3811b7f2584b8e396fe0b8b185855337752ec88c465e2605051b338e55fc47189f69d389bdd3f53f126ddc8e3500d3a9bb7e4c6075f563aeab7115add505dc2eac052a5360adf854aa231f85444ab610ad8b129999c41bd0000000000000000000000000000000000000000000000000000000100005d8aa3b1fe7f6e3c8b359a4adc8ddec4332fd3c1c670399db04cb4c35ced7dd333a6561471e4acf6488d25179c1c08227b37c411cb7c7cab46ca56ca507d527cc25434248794dab9aba288df7d3503f01948c93c40f05b97758fbb7e35fae62c030baa6feb28697d5f4a05db2aab00cb2e48bb981c02fd905ab14ac45eef5876ef200cb1641b18ed318117482ed0ea12c3c2ba195004094fe6c0737980c3eaae2e4d35d2ac9f0643458453dd26a6f4fd94bd609a17066f6ce6531291e480818b249e317435fada06f186438c1b5ef665bd090824aa4ca3ab13d64a7db9bb3ebdca1fa803f4e4af2b11ee521e961a36391fa2aef4f5105a2f33f2bed36717f6429f3e759fd85602d9043d6094f3ab22aabb330dd1e307fda66c497af794169855268ba29a50381b0eaf301e67689caace4019222df571752843d36e78fbbc25001986c05ef32cb045bdb57a0894b2b5f43327e81858242e5467aadfe07fdc10344400cb099f79be80f3c7cf0e92ef7fc289d79ec2250bb8ba39b5428bf6e2546fd06b96db18fa9e1ed92d160b83c9a4daa592d2cb360b11b9e49dc94656052bd037e516c9af8d0f9d36b2be3479b12ed53ab4d25290f1993d6c276503cc156ae3a249ae3b651275e4494dd747092b35b35b8c08bb3042f62084d4cb9c5f84fa6ec45a000000000000000000000000000000000000000000000000000000010000561f4abaf751361d3328c11e5d8da4131c565ab8e30cb952d776866154c618aa4d1cf36f3fd5f3ca5f5a19f66e091f48dc2a5922d6832f1b23eb2847f9f4c2e363031f2881b1f5e0483af73b1d68c1171114b9fba90127caee0bf517cb26c79cf5aadf304750ea255b9a5758cf600397aa33bc109a880b419d905cdbad8b073b127a65f73295e13f2376996b493ab8821ebf6f339066a639c5ab3d9e4778fcd5e47a74ebe2dfea85e128b79520d424610baae9d750116101c91bf03a898ef8ab1fe06b0e58d06a97570b4921405d928f391ae3454c5d6e2edfadefe1406affb2f2c57dd66bc581a5f8aa42ca02ae3ff1fd2818805e92e59146edc9996aa85f2a3863e77f073fbf737098809a453dacab033d11789b6e492b8b687b75063211e4cff5a01d737539ccf1eddb1433a9e0dbe7c291f3ebc8dcb68543ca197c653d991c739625cb35df0bb5f72cd17dbb8cfa403212014c5bbc79659c0ba95b195649adb9a6410d8bf08e5af7eaf9407d190f22eeb3200ecd08e297ac16354922332abf1f370bdd7b979484bd6b9479e8be4b045dbf99e59e7fc4002f8ad5370647f62836338d2b5704154066024e8ce931f6a9788bb83937ba6615581682ac844456863774f5bad4af2158b75850d33892b3ac3c7f9d082a0e8317d9cc8e267a38397a610000000000000000000000000000000000000000000000000000000100004b7a974bbae6001efbaaa78fc8013213388877324b1af54b80d976c209036604e6c27444027af276c4ddd7d7aa189e0cd795c4d36c177ea8e5d4a287750913ee717e6b787a1eaf70969991f8d312ffb60f99f4c0470a33f7d0a48798cf6d1a148d9326ba4395d1470be269e26352afaad3c056c77189426a13257457f03af2ad514352e59ac86620e022570beb972fb38d47f95b188381b999e9337e97b084a524af79c0f3b3a5726fb77f873eacaa8906e46f28df8c248c76f1a4bc7921eafe78a6d426d499d85f2b3cf8a13648639753fba7891b16c9fdb521257197ffcea2aa860e1654f2980d494189a98e8b5992a66cec832c92ff7ef94e9b820026f5500f1c0979047e5e7f4b4fd4c3caf85b4bc2393765bfb8e21434519f5229c55fff82666e1add7c44285c8451cf6414f2719a0db0e35d2832b230ac7799a5102af67fc5cd14b2669298c5e644239daa387de2962167a5425c3c08188438d08155a90d5180d908dd1d731331f4ffe77a1e53b24eeabc7dd3c300305e1f0b12e40633557c2a09f48ae87c5d6a0a56e3b44da9b9bdb1bf603fc437b722fff4f929a325eb954d8647f3d0e804e154a575536986ee2cb84ec4aecc10b6fe587e1706bc11f71990a712692bf2b43bf1df64dcf58dc1eda7d4be373bcc0636a089561ff38996510000000000000000000000000000000000000000000000000000000100008154c5cff29926eb1a316b5d8763b8230f7a950c41d768c307fb24e89330468886545e8a84857c199d93d0676e4c3f05098211697088ab0eb2097bc0743b2d20e72a15d6754491a2f16b2b117217bdd54f9f5da1c54da1b7fde2375047b692fc67bde602fd2b34831cb63321152acd693207ea0a4f189f5b9f40cbb68693dac2c506786ff9db1bea0f4540553d3269cd3771874eb0be40cde2fd4cb582b039d5b42af912961aae3615ef2d01dbeb9314bc164513769e1dc1a7ac0d0d2ae14984e43d35029dde53fc5be6bfbe3f862375b2d176839e4bd2387cb3928ffe2194532ab76e0da690607605c909aadcb146e60764d601d68cb8c4e3e24c4a88ef540c60922c1f88ae93998c93faed4918e085a2d9d9b35cc0655e4c7ca35a9b29a878a32421a0a6ca59f147260b5d5b66f62a9ba137872a86e060f69adeef0c1f552bd62fef42e4331177ffd9f691eade5b061b45d5d56b9157bb940de21f86f73b3f6b7b855e2d6a244fcd1245073ab41dadbf5c7e07dcce5ee42bde94d961d377697c945273df1dba211397880f493dd467fafa96bdeec6809cb7fff4083b9852853ed643e0fae502c931973afb94629713bd27716cb1814bc35dcc5e0bd698213f69ff1c7e160838c49aa6373d5fb0dfcd9447db81afaef32b8e60f450a93f0122fef3000000000000000000000000000000000000000000000000000000010000e8cd8d32d012d8d61de5bde9a93eba7f9af7767ac9964248273df5901b430582cdf456b33e8f04ea8d5a0aab3411904916af0bfd5928500929efb241dfbc48b1aa9808b9559f38fd4f81de8327d170f8dc4de59acd5d3ea81357a0aa806579ff4b050f85693b9290301d63e484d7393a5418ad6957367eb5516d5b22926a36fc5e74e3ed93a5e026f2b335491822ebc49fe8ce11d02d8e821706c0f9e1529be8b44740cb817bd6eb5a5b99b275323a5316badd8769771f26f6494fc8a0f56347f0a13e5c2d7f1ecf6743c250bb9605a7d5e84e8686c1a3b2fa645248ab3dedc1edee55113fc9d599f97d3e8da6e3d832701244df1d079e050371737f1877d15606ffdd0f62a677888d48dcdd07bfc8fa9cbeadb89428d0fa723aff12fa4a30df91932c0d3a8f48d3229332f3435da5877edb1a92f4ba42fe3d4eab1439807e9a809e1c270b54eb161702bc6ee1bccae5c563608fb03cad08a3066f7d54e0cb82de8d68238f971879b9c8abf9074aa580e48a4fe9f674cb10a3382d262245cbfba73849e0666ac9923e6d03b3522da9375800757bc5ff99ea9a494e0a8d167b837ef4193eca182cd75c202e8633eafb2356fc170e4a0bceb3a77bd6db0609de8122e9c7ee611d0088235aea20f675367d1c498fdc6b5b678566e2128380fe7dc5622c000000000000000000000000000000000000000000000000000000010000e23aff86237e63ec6a629fb112186dd673dea08db7f96ee9c7fd985c1496475f20c17a4a89efe9deaa7760581fc2e9f4172aba2d110d4974d91121e652802b4d5dfec0f7906ef326374f0b23fd3f1a30a1e8d47f4b5db0611fbc0d2d282b8cb2fd8bcc0a7e559d04a1dde1d308ef5d67b9337abb49cc51a75acf989a2928f67d1482e3b6e319ee300302e027454650716f5468f66b0446a259e3a73def4a0e850b93573c5a26686c6cabca37f098ef9d4e9c30d012783983c2e06f751b14449551accd4f5efb6b934f60a6b4c2373bf4b12755cbfc0fb3eeb709cc51548c8b1daf4620866d66354d4ffa624af4941551903c141eb9504ad29de1424400568087d3ea0b0240a9757512e171f38f154634288fa8f7620245c4923af2ea03ee26917a6ca80cf3dee1658067182f2b9cea5c39ede5268bfc9108c9fc7204372b20add684b758b507da71344311cb500e6b370d64a11afe4cd543ec2bdda62d1ef4b7379be5c1adb9679bfb03352b9ce23a59bea71d682fb5a127628ec803492df6535bcd27533b9f3c6e451757ecf245d2da3a4110120d47a65008ddf9779bf3f544bb516e10427fc84975249896fe20fa99f5d09465f57fbcbfef853bb9e0b19b81bb8c00eb7a59eaf61be8c2f810b50de1ae6aabb14571fbda8a504637e770b16348ff0000000000000000000000000000000000000000000000000000000100005da3715e8bd50d0387afdacf53ceed8a2261659a6df3ae0a9c5743625cca614f4fa8d123aa369cf47e41bca11847a1a5f3f2d17865f6e1b582a60317ffed7db1603398dfc799a964af521f5b34e9b1411ebe35ed5a943b23862b054bb42ffb62f00df567c9e72066027cbb595b0738a6390018b132750c872c71ec3227e6176db8bf0c2f5544e6dd150628806484e70cd8b2c0b85ee3f2a16291a1f20e5eb2fd9e9007041460bd382b51206b4a7eda5a1f77bfeb30d013edfd6b93fa352dabfe04a7dd41a08c4aaa5f6073fc5b05c01d0153f081f77cbe1feb3c3ff18db6f956a08df914a027828c8a6a0c38923ef72efe39689e27ada4a06810f46386915404e15315352221326f0fa4f28c0d357d0035a53dd6e56c7adb65e352a430045fc64b0411781b0c2f31e0cb074cd069c591a39734fcadde6a377705dd946ddbbcf4efb14e9642030dfdaa257f15e86e4147204737b3777dfd8ef443cdaa230f25ca5d3e318cdccaa8110c8b7b8d697ee25660cf0264df0c6c403b462adcdb45b3810cc33bf8311cc3d6ab816be9e55d2b60206339a0b360bfa0217b333ee4f1702a7dd40be794b5ec940b8d6636361935db1ab80920d547ec6c10789b1626145693b9e75e4aada057c5997955f46bf5bd7f2dfbce35603a36c9523cdb34d9849d873e9100000000000000000000000000000000000000000000000000000001000062be648b08e283029004f9361e1ecc73f138e96d90583e74ebc1bfdf868b74d29ac7ee990193f5a5672ccdbc27b08941442cda070a73393565b9f86a52b0e723055957641bc7202b4107754ee2f1ae1f70979ff47057d9a6057337defeb9ee8a04eaaeccee812a4030dac5c46bebab0675c833df626a24ebb264d60cac172ab81e74d6b871a144892d037eda3366d36a867ab067ab6ebc7bd6e8268628f0f4a1d2f8c0d16be968678644b03ea2d7862b9a7a746836f9aac2fdc143e2f1492aa9bdd435caeef02988e21c3e1fe7fb36eed0f6fd3de2a3919c219082e983a6a4bf78af8b9dcff77743e96bbb1a1e67f78dd3bd5931db776d859319b8f4a6c3809cb8fbed8a706038a2d817fe6eea04a5183074a731efb0ebdd559bf11dd34dcea58cfd6800e0cb547d7c3244946a1c0d9164ac9c5f4fdf8ceea70f53c79920eb5c86b2856b2184b3e80929daaacbbf19ccef2d5d0b77eacfe07e232c666cd3e6cb607ac50748a08114367fa96e5028a0980bdbb278e9bb60f904b5f3a9bcfa4678b033486303400d167817261c6fcb78619dad86a2a5dd04214e0083d07449f02d81c54a77f64243e95ff6bf083ee99a13c30de4a30d312e9a9f7e79fb1e3c3ae7882397a80a0a1dbb490f07984d283ce368bfd085154bdf2d4429c4319cc304c472c4000000000000000000000000000000000000000000000000000000010000fdaedb84a4fb7b8c64fe71250a1b0da4acd22b2b1808d337ba0dc95cf968454280779828e284039d2f849536787fb63826b99d5c12b01ce2e887c069707b6ffc488ac81ee8fbef7f3e6a6bdca3cbd719b8f3aa4257ed4317ecc679683f7b1cb77355d33f8d593a93689a46b3e270ae8c9f36c43d95aef27c7b4bec1cd05e2caf56b220298ec0be3c83080fe4d0e4f5d6329cd68536347c934759581dfa6cce8c7297740551579abfc836e65d76f20c5f18f3e18177c588432069792f183dd295725522d8d689f7a9de2e5b5bf8f725991b0d1c004af7d9c96c9d4d2af0f983513287aedda0b94b922b0c90692c050765151b546d08733f2dba28de261214424707168af4188185f31dc1a44e7ecdb3d412c963cb139524fff3705bd4eff35307aec5baf855d00efeb85eba1114e53a2374a7bca31925af1bc02ac67b5b3e351607a256a1f8af55ca477d0a1c6ff709574029065a24c94371107ebc188f7c7dac44cc577b96563b98321f12c7012ee886ab1100a5b95eba0a1195f786d81f091b8fdd19cc9ff09b6b9b4e6fee6b05f5ff300a2440b275ea6395200fbf879404b7192ff3e2a74a1ae6023d9c17bb088c194b2b1ec603fbb06b1b492c33cbb8a3394372d956059e91b0185c6de1cca789b758efb9f26597ecf2f3664db0354e478af5560000000000000000000000000000000000000000000000000000000100006f99e9189ebf200b65133cbdf0efc2a1a5600366fa0b8d7be7b21d006a22bda8491ca8bf87591ebd4a514784805d8134298ea935ab77b0817334916342cab6d9102feca549892afd70775a3671150d27281dad8025adfddcc3fa88cac83fd5b581a602e5683f4f18abebd6b27b402866a4bd3d166ed9b71d7ae7aa4b3a12125ade23c331ce14adef6d09fc4d7b39a96c5dd030363d470a495e820dfaa4322f5485c8c87a77a356c71f32bfe94f55dad2c36313a2f78c8da3a0dba49c3320f2e5266f248c7ed48943f2115e9b4daa7be53195d061be868ecfec1f01b6b6b5eba07700baf7487ac21bc5db5decbd0702eb8e9f639ecad8d981953fc5a46284717f81d403c1c54146aac5c2c7c0eff534d42fddd71619569a35b5d4ff1f6ce42d79c6b12d98cee909ea44d91232eaee8eb01c84c63e8e865c414a173278bbd007aa17de2cae7dd310d35a5db59ae60afa0afc50ad1fae45f391f22d57c5305b1836891455973a4c1a2c73206329d5b4b596980d9f026936dfc3ede9a9978262d3d3da3599e98fbda7be857860c2d26b97b76f35dca1babacadc9967dba2515d88eeeb39e2da570a388361c5b614879d8caa933ba9f251addb8f21e5781529a213676718ab65b192827d73c5b1f293a4467a38aee59d24a3c944f724e044c2ce3e1ac066000000000000000000000000000000000000000000000000000000010000ba757fc5f282002e5154f593258faf308e2354ae836217c6e160ed76390cd1990e1aad8d1d4a26215a17c6c89771337f8a40c806c8fe0b6c9ad1446790df56c7448af47225472890f0ecd1d8c349a0f840ab233df29c2bbe5be073d25a800742a504c992474572e4377553e4b7bc45b1d0595737f61f46dabf7ccc13f5a8011bb22a08ae23c05a33113612cf7827772e81733db843755586afb655eed851cbdb7e83d370db1f5c5a4d2b07f5d6587ab1657f9173e6a23a4f3581d97c5e193aa9a300084218a5af629c75ec400aeef94d6059f35ee029ce841b42f97e16cb5f285bbd62f7cbc876449f33505357a0d4a9c4189db45e3e8baaa87c5eac0cd44b2b9fbf03ba4a3fffec02a86f2765f4ec7433ecba7ddfe57de45fbe1176794a051dd924808bf1dcc5e50d8ba45ea16097eedfdd0adc655b14a71e758da485f496976ccbbced7ba48f5f859c64f59a2189268ac1b976f4817d51dc00cc3364057c10b9e28750f720645f522663340bd243f566c5b589dc85a9c3eedcaefdfe2ee57e0d95da861823849ab18400b83244e7a6208ca264e8c5b09b8588c3c0dd3a907261f317f53a60fb3ba07245420ebf67cd94124bab33e67e70e452622f1f937b8295f113f64508f56ac6ad7031a1126a2cee034930605c7be09cc8ed5236399876d93000000000000000000000000000000000000000000000000000000001000017c5e8ae75b6eea656b1bd48327f16b387a753d2083c6be25e35e5d6e9094658b2ea2feb07c67c4f911b845473bc1a28dad7feae504f6f232936e76220d5ae0de2778b57983f140fb0ed5771454d819db17bbf028987d6a24674895729931c4aa617ab294e336c321a81a9f022eebf14f875d99171054a4fad9bed7634bf4559841263932813e817e7a9e316890f44da1ce4ca435ec3c00396c51e941e9d2f38b8c9f9af518bb21316069c2e78f0a99f3d1cdf26817157cd353005581ff216bb00d8a68e81818774396942157e92f40f4b8369f14c9c4055fdcfbdc1e27b40e271a6206b526ca743ad64bb70b2cc6286518f3d40aea84d30108a671aa74b05dbb7f0c01c6d7bd16be4519d72edc32bebeb120699af8bf659c8eacb9aaa16eb1379192c3a6e0604e930c1529758324506828f003a879b3475217143ec1e9432fd50954877e26af83544bddd6a9f3ce894f398a70179c2b16df68b18088481719b237a53fde36fc7e71710aeea8c5d3ce84c78ef0168ed621c8657adfcad82141bee01fdbae07ba6aa1e1194954834e2b45ea9db666b3d4e1966bdf7fdb491b81af1adf25e28ff5c9932f12d1295524f8479596a33fdc4ba187dcc9e0bd457d8aabb344a4575cab3ddf0584ba2d3862c26ef3ac89caaa623bbb13d402264b3c35caab900000000000000000000000000000000000000000000000000000001000077a373ae8bf5cc49bb57c7b61296a6f613bba27520dfb397b61585b76ca862da2f3b9361354c6b7b49ae0e72aa39775da4277c223087e18db2cba86a500b0b07061d4ca325acc97d3800bc2e7c205aa6339f9afaa8cdfa8714f87e6d626881e8fa81182b1c19eabd13bcbe430dc174dd5989f5c65123cdd31d41737c90b1a31fefb55be07fcfc5f4eddd78719ab37433f12a14f52e64a29302ebcc73e4d6cc33bd37c38be45a2fe90b8473055f235ccc9887c6655f0d2c8c8168daa25d3ef5e435077b4bd5179a5760b8a9d9db72e3a56cab0b2f8eada3eeebfd4317617ba66fd7a47f7469d77f3f190aab5b64c50160fa1bfe9e734cc33d2e70ad659261a4d4121c89fc6e5caa629cf5d748031060a57beeabdced30f834edbc4d24ed181e93a808ebc2b6f6d672b5bfc7db0f3328f6b4b8f9661c653f57e33df129d953ba3d1e6b1ecc84d2faf920d4ca6688e025d54fc2231e66a5396b4c9bff824316b9520ba03dcd8ddcac866397e5be8827d10dee3342a0dd3da2994a15904f5c8beca804ac57d403e4214d55cf438e0800070e14e698524db6b69e17c1b0a873cd4f39d8c022a9c5f4c0a7779c48945e9de4c16e826681b66d1f432004041c33e7337175c317a9e75a318c9771d50fc8215b16e789c7f329667712549026a6aa294d248b660000000000000000000000000000000000000000000000000000000100002083decac782514a3bc937888da1e065ec6aa01021c79ad8f4aa8949d8fb2429e605d8404e24a52e9033d46efc78026e0a042d8693038b8d8b0371245f0017eb712bd7aeb30acfd7ea597d93bb73a3ceb6f0ee2dccf0ab458800f988b3721b38249d1ce80632d5c9309003e3760be568142520a2c2ed44c38e826d282186e39a24f614bece1434a853dbc1f207cba8a1d811f12b91311ee22c54427b059a055040ec366cd2242f372466fd77dde6a2c9294bb8d9c6fbb4b3ab9fd181a5e021fe5397753b2de06a06caa63d11c155297620b1fc613e0ae4492119ce37e889c9ed26315603aeffcfc05a27bf21a98d15f1cea80c7d9df099dd1c95392150311d79848e8742ee33ce7b9ba467c961a741b8eeb0a166ee9ccc048dc4381e41fe9d7707b796838eb5da290e397b7141ed1a5604657ca5e71fa8522efea38fdbd080bc5b41064e16996352ee8b1d773f4015eac686afaa713df979ad7dfa1d689f1fead0b26e4e15c9adb96a774ea74f9118b82bf80116f4bed5f0e3ab9509b9bba5f42a3acd0bac114864d7a85fabfdbd4cb681852e674bc81bec50206600a99fce35b2404ca0cd0b123e9c2c4903ba6d327fcf081e2b74960ad229bc54841efdaf6de90528964cb1aa58189d91250dd6e823a29ac386cbffb840bf56899d9f8f612da30000000000000000000000000000000000000000000000000000000001000063694c46002a9305298f5c1ed38b582fcf255c36cf4315a67ea4cf0b84a145c4521f12bc9c418455bc8ed48528f2aeb99215aa329dedb29d6e52749a1d6b1f540b8252bbc820299767a3266d75c7642e363afecb9b224fbdbfc8ec7991a4f7fa75262bb1fe478632a40c9b4788fdbf002dadfa2e94e6b44e31b18b516f1b9d70c3648daba9848b726276e142394bcd0aac168e4ada4d6eaef3eab6311e006c73106501fc3d75ed52fc6acfd94c54413e6859b041bf7d0eb9fb2651d6712f4fb8269f578036b8b3b20e7c3eb403c1d9aae12c0820ea4635fd9fac3fe16a94138337c835aeaf98700a4ff824fd92dde7c37b017db858fbaf540979af0c0bb2eda8b5f2694ed45e8a3133cb9bc304a36a2aa8986a89780f5cb71edf76e35319a4393330cf22b05bbcf00bef9effe02e9a8a5b4a2a87aa64c1c9a14b3e8eb434640df0b40267eb44e42e8fc9566685b583b9c6a6ed041cebe50cbec16a9980f15042381a1d5c2bdbd907799e45bc0e3c85da2b7e3b3bb419fb062a754fb8c0d1d924d80b33ca316c35826e73d58c1b2f5aeaedbca9539ede411445b8b19f815fbfe611d25f3bcb627a318fd9db9acdcd21d603b91539072bdf0b95e088eda73ca9213afaf74b3ff42f2e59adea7636242cf4b08bb30430638b8e34f361778db0f8af65400000000000000000000000000000000000000000000000000000000100007f7a7bb649b4d09c5e0f041b69d31366ae2a5afba5393e066d2c2d8706f70b3b9f4c12bc4e58badec8f3dda583adb645105267696a57b8b78a08de8043282f5a6154c01542a32f3a8337207bc8cdede12264ab365c3029ae884a7173ae5dc874bf321e529e73e9480e6146b2f23306f274e4faf2395eb99ce3fd31ed7cdd0f0d4e5b09bd3a2f66e8092af55239548b5ea91b07d67afed31553cf2830274af5026a4d79c2fb744bf58dcba33ac0e0b662781271d6a810841dba9d2a74c6e6d7ebbd5de2408e5c5292c4c03804a17160cb4f6779b402ffcb97d810550320115a98877158e0c30abffabcb54da8e5e9e2cb99bc71eb3283037751019d552f014bc6f4e3816d37aa0182d182cccd9d0c86932b047f5f2527298116ecd52d236034792dbc021eac5f19d88b18303472623e13747b178294a61750db70d2b7b00bd8beaf9459ff94e04e6126b4323961f2a9671b435369b65e9c89b4a98635202622d2e6d73fc89e807de5eb1bc5bc0094274e4ad14561ab970f1272ac8c8d163ddf74e27ca2f3abb9f8aa28b9ec738eb801e27f0988f6ce496a51d65d9134ff2dd506ed7a7ceedd7916a45788b0a35804e1451d452d90acf667d75e8f589dfe247a8abcaae1a7d0821033a57d8af94c232b8fdc999be04dd4d87ce4e7027cd7bba5027d44000000000000000000000000000000000000000000000000000000010000bf7487a2d7352d95d9e5ed1b04901427c59a594c3ba232141710f5cd9e0434fb6ec9e2e524f154e617b9b6b8a5210874623cee1d22dd93b970c86e07665d0f2bdc626c0575f4207e1f68595877c38e2fad38369148b91a9ab813e9846d06e3fbd4726173585ef25031e6110257e862064ebbbbc75650721b9537c1a7dca70fd24c1753da9a16f972f90fd32a91bac691a02f331c703a5e4d0044c0aec4deb41296e1f94ebce71ca46d3656fa2a6681e53b7f9397961a38ac8e98e2792e59e20d043ae78375cd1bfea5f54f699b6a43b7131997e3510acfcc2060828816b24fc8b6c12b7598cf6793eb7d34e2cdbb3ee032e8f276a1f48e1ddff8b78c05884ce72b1e72bdc2f05b6eae7bba5dc7f81a3d6b4109a9be769e1dd2f306c4271f854df30af5403f2a3573952e84521e375292216da8f1db8a4243abd8886379a9488256bc15ce2cab42d34e8977bc912704b1caace65cec839a9311e3c7976a41dc2077b5701a9179cf2f4bd955feead909a6fd680313b446074a01ba4845bd58bbe0958d07d95e41ea280385101282a80c8b0a05084ca6cfd99e6f3583eea7cff283e57a816467ed1f596c2e5771e977cc3d0071b35c187363d416409e0f046b1519b6351d2810812747eace6d163a4d9f364d00407866603024428f034a6e6f04b1929900000000000000000000000000000000000000000000000000000001000098f4f3e91ae9606ebfcdb0fb4f8b1e601e2f3a0fe23a179aaf6cb22b779bcebc15775bf1054bfbb11a03879e150506ae54d67d26724b2883f59b9f83d793583f92fe4336f091ec5156ea02e866d30afab3b9dd20507c7e2b4661d3966576e5311f9e0a7fd4a86c362c6fbd49f23f6672e042fc69ce4d63bd05f12a9d304a5e93617f1d52e017e00a8933f49b82e0d460ab97315aa058646c0d06a372b9b68db3c508ea555d0fd7c732b6c893d31dd384b49929e08a70dbee92af1ccbb28850c5f94b54ec17d79fb5bb201b9ed5d9a71e0e4173ddfd7279307279e69618c88194687e843f6d2cdb9bfbeaa20846239f14d7d2a48c055db0b9d79826c1c7d0ec7b701eeb34f39e2b69e41b23492412a96c735c48106ce79ea0ea9d310abf5e3e89836fce7d9ed49cfb36f2b6de29f76afa7a404ea2cd7e8e14664444308fa84debaf6232e93301cc61b7894c6ffbb4db0eb43d15598611fcae45db7b23c9bf480d896edd78aeda7046fc3eaaef0d2c3d19b026775f601ef50476bf65647403ef9ae18bac5807f0d30a8d897682d11f439471d498c3fa344909e8d7a918b544cca1c879b28456534e12977b21a6c49088e7fdd701e441e448f22ae7ba1dc3705cc8edd54fb12591cffed4518e95f0e7fe5c4759a9ae17a60ec2fda16526eb837f5fac3e000000000000000000000000000000000000000000000000000000010000c2239a694d0532d59d790b6036bc9562b6c10f616a647ecfc2f6771c1d9efbb231f3cd1bbca4edccc9b9cf941c78f282b6587447325797ac2da5f924da4773b6d95a9a042f6775dffe55ab3eef940672fde74abec76d9158b38c01583f7f1039be9d08a1955bcdbb406afd70d7ffee1fb56c8b289055313488f04326012b8fac930b85cf571a4b6fcbdd6a0281949d6647380961621e0479a6d7bfa6c8e738ede1955dc3b53d57e22548fdad9b38ef69c8347cdf8bf4e5f84b9c12ff49da9f229137a3e7f31827dedd1c537b167a571b6be22721f8826ebf092c10e2807dbd5af28e242fab412d93f07227a57e9a64bffdfcf3bdacd92b724bff94d69ac90b0574ae0e13431d288dea5a38d563638afef3a170d838b7167b093fb1d43bcf39462f5b39988ba07da8a90623c5480f49e220571c1cea0f3131541bcda269a8925e431546bfc7be8d0871d5c7c1066a400b587652eb84258b8e8b461248ce548832a6203b1e0339fc17e9d74b59611a962efe71ed10978162bcecffdecb82ca565e0487674c3c80e613f12ceddf6eeb49c9185ff120cde9f053bf470009180480d8d5d30a3525458cb0a1db72d62ff7be751c509420f9fa578b6610cf15d84290b361a475ecf2520c66c495853efb3f4552e919235648ecfec32eb59a0d88d2d44fa540000000000000000000000000000000000000000000000000000000010000dd1873bd2fe510415763f4de2cb6e9b0158c72af1b244e4c28e5c00d6db05e8acf6567a741165e43537166d3bec4328b004f7ab03c5bcf3aed5ebfed4066352d7318b73e4b65ddfbb8877773bf3c5d72c83f67fdd95738536888199f4909cd5a0d6f97f68a1ce7acbedede5dc2b09f2430deb7dc243c2f3450c5a23317f6aa507fce3288701ac0f08dff1c93357a3b17a5f88b77e7441a093cabef91783f5058563fd3a8576ed70d7e6a89335546eeb21d5852d0cceb80a074acae833589bf141d624a60dd2dcd068800f8c045a24e391bc412ef93f843ca9bee7a461818d3b62136774a217b988a4e3884f057f842c4ef0ededeae5f7063e89d3f09b22b41916f0bc0f99a6f86cd41bcea0618d99b355439c6411b5db4da70bbe089d09c8c4c0b4c9c770532f33d4fd67190b4727b45f6e66c9321409fc519da3a283557f4c6a3e83a46c5f3f97941d60c42d5a5fca252aa80aef98ce88bb34a5881a58831b5fc22a6f813c1b50ce9879bfbb29e39a746d9684a7b225152f232e8e8304946bdebdb9488285427c910de87376702f0148bf626aa6694cba014456996faa97d78fc69a1119a9313d1cff543c85aa6cb92583d9d45fcb5c958b4133281689e11d1d0c5350e126405b379094e447687744996d73ca6bf97f7fd038bc7db4b13169a94520000000000000000000000000000000000000000000000000000000100001e25f8e5877c372a86d8dc29437c1854d5bcde8b7a6638fcc72bba0d7a856ced84e1947866989c110f40d9c056cf41e666946686fd8980969fdf0f134a0074ed1b74fccb200297b7e82d7d963d5dfb0aafa1f77645caea97d4c0de24750d1aeb8ed2b1449e0e3ccc130d1f1d541ce74e12f32441fbac9fd674eba9ab6b9dd983d191d78d31f4ba1eb6be85040346f2f164c5b6ad4602941b013529ec047b59896726c36981b2d4ed7a988e94c6be6faa3c4f66c87a79003258ca12584e8e880b532691674cb0655a80cd0b1a73158e4030345d676300bd1952916a3c5e441665d66170332d8ac79a322f2d73a2927d36749ab34c48540efd8afdfe2802ee6a6ec06fee7e95fc7124743363a3586b8111519a29b3b3e732b13f2a8fcd04b4a86a7fb275beb07a63c22cddbf890036d1031256b1dbe86fac273f9262f32791c432f8194cdc1156904f19184d37fe2b32298e05d2416630dd960091f431cc3431334605b6cea9bf7427fdae17830bd99df2b8be5b0a73a8d37920f82042e2a7ef8b97c3bca1a7f949880db27ae75b09c346d04e6670188c96ee1f17a95732724c5e65ab8a00de147af2fed8448c4d9a814249f0e33493205d51d7807ad8ab6cb53a989a41d9fed1f15ee5b62df6e87b0297f9cad3cd8c9ff53dd83fa26a496a38e0dbcf000000000000000000000000000000000000000000000000000000010000da8e05bde35579a03f65e8770592640fdc4caacb769e5847b41f08745d7c3600a79489676983a675d8641217b59a4f8845d60346ee84cf66982182b561c4993667dd8678089e01ea2f18cb58b686ca06f5c4500828df9898a4df330786612e47160b9d1835186387185abf85b869b4ab11262cebba03a8ff0995e54844f869fedb926736b02a4296f5f2177e66febfe39d72061c3c0f357c6843cd198d906ca4c12120636a95b8279bdd067039c3af817b193aa1de2d261cc3f246a0734dabdab7d24c25802f574204dfaed41142718783ba6ab53eddb5db16c4521f05f5ec5b30ec82ab6a73d6ce2b77c1c6fb92379af6c993779c4b81f69ac943907802655137e5ef530583e2ce74e12204ca59d43dc7b063777e6ff6a5ccc9d9e0fc941dbe46e1dbe166030cf64810601778643feb4a5ca4f28a5dcc4da1a7eca2b182d8174b1fe943beba176baab838247bffa26c86f7c50e921bdaf0aaae1d42aebbdfca62c024d2a094d1861d2ffd90a6fe78067c5b8aa661ab410ca8fdef6d5dbfa1f427b294bc6d5d7a7e07193b251494b67072a44585bf0f8d129ced22edbe62261768cca6a468dd01fdeb41556120f45d1c2ef98502c917030c0017b8495ae907de26a8ff1b071ea2096d9e09ae7d5af2b6278065ebe8bcc589db558549142c1542bcbc0000000000000000000000000000000000000000000000000000000100009dfa6de40073e749d7ef3c3a6dfffc040c8d10ead2f283bc8f0b8056874e92848bfbdf5c34478dfbe62baa04f8dbf832e7874e274b375fb1669c8a6261a6a2c2fd00d693670a5640fd773220e20b8f242e5fb6ea78cb9c851b656a13c117b10b2c62a3a6a2e61dd6d82562c0873b04d5668b4c6af7dba1db535b74a32e81f098bf7ec2bac753f44303d1b11c51c70dc0e26ce6d3ef14b26651c541a36d0a33293c4b1e441352e5833fe3cc0f537c69d4a6926b5646bb554ec19a44013b3e7b8073d9c86786cdefe6a8349f9d9590d3479aafb8daae43f7b93662afeb334259fdd4707e6d037c1c2c33d9bc7aec94f1468eb383abf70ef062d6579ba6081be656f5c27e3de0edd4a7164f2f189bace79c0fa48f93a0f58efdb37157bbaa331497c60f34b3ca1a9438a1328f3230d533b821a66a533c9493f3f15e46a0cec335d11409dae0e7c5def54fe8dd45ace3f9827fa2172cbe159aa19dd79c06b61ca979bdd11b1407f6c1c62e36ec1f89337af6b571ca4f0b845bd72a015b7de6f355b4f4ed164ccd6d2e44c220dc04eb76bd778be4e590e3760865724d9c46d2faa7c82f9d63af138ae83ad70c746b04180e4ac5f810bda9f44d49a39432c51b4013945fb42f3e4c43d65ca7bb01148c93b13dc74ae7b17cc38a84cbce9abc95023b5ca85500000000000000000000000000000000000000000000000000000001000083a2829b9c5c2328099ce35c51911bd065ffb325794ee5bf6a126e320a8e994b24c4160f8bcad89881159fe7e477f3811c72805a3f47e80cd7a5e366df2a73a5581af275ef6fc97c7f7253b99ad6e32a41ef799642c247d2b9ceed2b9791dc51fd36e5bdf9c7b538cdaf59b20ec890f7b9b24fc4e7463b65630bf9d4ea91f41cb79fe2b066f6b8421cc50f09f91883b379566f99964707b12a120167abc87499183a278ac9543a986f392667cfc05fb3e22eec94cdd6a181c7fc84fca2a3a41155f64a08c60f9e826b4987b3d5b39d08a22d84d85558eb81fd536578884ed87adcb0650d063ace6f832abe388732042d1107f07b93c531800d447493fa722d03e6e7d6830c310fde10de7573cef84a3ee2cd1de42a0470f719e8f34aca6b3599102d04a5ab023d096e47c5e6994731be5c286f53269deab65e39023e56aca067afe0791e6adbe2d0ee82d4fdebbf4096f729610f223f0a169eb9df2a52382e9b58a603dc4de4fdb15e57c99230e5485316a8b7fc9bd3b0e7505ec4dd69ecae9b3dc3393c32e2e2e2d8d6dbe6fd1fd4cbee43a6da52a6efc533df02585112c0f801831e5a989f651ba23b94d4852c2aaf92e4d83e3432542562e562a7cd2234dbe6159609afa77c9842a465fd16cde8dcd3bc197574952122f016cdbb0a4bd33f39090000000000000000000000000000000000000000000000000000000100004d97e236e5d9c8d8d442459f60afe034ebeddf2a4af1d85c3ebea7633001235d39322511e66a661093b448f24fb4169cbe5a125948d9be2d93d7830b64606c4aaa5de727915aa5d4af5f3b0c51a03ea54bdc4917eec5ff7962d01fb484b1fc56986027659215c106e591f7424c2e241b41bb1ec29e23c042131c123e3cff12a2671b754c61aadff08e7268dba7477bef73058db6c02c2a2c254369821defc204b0b82010e436da9c2cba7b8306bc613df68eb1b78edf8624871436002f868c06f86e975f13d4cd67721bb55b83b528ce53d3a42e5db7826a6a6de01b247af081a4c69168829ae1927553f50c8c13e59e651be504a9a60256780e327653aeddcf18dbee551691e3f986a8c06ef25ed4f172deed85cdb73d592cf9538decedb5e14f672a94ac75c57003e88c9c39cc7fb1113851a6be278a0650a82a75614eb5f931a82bc5208e4f190d6bc10db440d35317aa6e5d553dbace943a7b57aee5e9ed0b7d2d85a24b1a4fe220af5c4c951d8440bc3ee8c156baac7e63633ec405bb98d69a5be169abc5b40219720abc57216dcd954d8063d547b46027c241c60911f901755af5bf1881fb48affd6935e389c0fec27bb56285b6a304b56d92efd689a2d9576034872fc7cdd357c91a0e89f5c47b69ed4ce3f5d6bcc5e4362478647c24573d000000000000000000000000000000000000000000000000000000010000ef333421c681aca0cc88eceea64a8b8f62c034620697035bf18a43bbde3438ac323da5536c87a28c9acdc7a1275ff8d28e4c7418281aa4515e3509f936d34807d348222cde4270d2d7f88ba851eed9376f7884a4ce5404cd72694c338419a0a36586c680744937d3c1c2305b4130f1034c48a4a43ec6b0f6a4f3205e3d69b0e0cde7cbf6c935606d8b817dc0522c790b4a1136d0132a6835d1b7711759d9fd2221647f6947c858d277ec10f629489b82aceba095ecd9c6aaaa93ffe13ac0b9a6b4db52f6b513d80ba4cbd1cc83f7612407d79bbb62e60f19bf9d793b743cfcf3bbea5851a6ec80d0d8f42518f3bf3ec712a122690aca344f6fea0f35154f1d9b05bf655438d908d5217e1fd1168c03f0fba216146dddbafc634991074d622cb7522264d7e23095503aa1f4555ef66472934cdab2bc9ed4612e8704e5852ad2619c9ef19a294863ea171986db3a055662887d0e22a25de633908566bdd186b43077ba4174e823fcdc81ab9b3a82219184bf6b76ecd52e942eda50839521638849452c046f3146cf41209f255149d58aa8efd73880f5d07e6f164fa8ed50751189d735ea6c915c9201892fafda48758081fb489d61c183bdd58348887d00991b30c97c9b9d7980e002171ee64e3d87d747a95d6537835b378327baea9ef816f433b388000000000000000000000000000000000000000000000000000000010000a99d23b099e32f0870512149e72360908a39ea5c82b632c9e983add02b5b8e5bbd8f393ebf33befbb3af1adbde28cb389e391f3d7424aa4ee92bc6eaa51babb123c3d7409b6f2d844defdf531f0c8bd41cd4df0b842f1caf3c9fed3f166b61ac673a1a0104dc468ac676728b6e0bc5de632517c53c4225deecb749c49b54c74e27a1f0d5f9ee7b3f4bd1276a910bafd7d0047052bdb9ce77c86efb3591ad4850d0c8e104031806608223859a366f256b3d80162c54b364f242abf7d49b73dd66c131650ef7b292a3aa8c92c3693f04f04128f5c2385690d2d2732bf1ca09a5bca1e9d64e3dd714d1c4b7b2dbb41b9df97f98b5f39b1264dcc71cbed04fcc87d9e37dc115efdb5c183d618c5e79ee00263ab6f57c6513ed5b45b2ec07147a239f1b731f32d7e068d45473b0cca3c2ea612ac14db58679563793ec15c863f9ffaad45d3ca6124b3b1c6c3f70d0a36005573df2df1aa36157b522f71c31c919509377f288ec4d401fb56e6a6bbcc32ac9756aaadfd5367a72812c72cdb0c2b85b740008793532a1a1cecf6e7799bc1fc2f12c86c5109e38f67ea05bd878df64c0a30ddfd25c65750ba2c506a7d262738e67e07c93ad8b3710144cfac0973a9d9394af2c6865fec150a748953a03dd195f66670613b8d59455d07bdaa36aa4a5c5361c75000000000000000000000000000000000000000000000000000000010000f7d08d9f59979ecb268edcbeddfe6f8892f94581c68244f0e5a6ef4ecb40884220c543f78f32e090b2e3220c5ea366544e037bbdc2f9c37653d949b001b9bd5badbc49b6ea34b8026e01fc60f24672a4b918f29ce0540c751ae9978bea3ce5db32e4ed4ea5af8f6466b1a2452eb540a12f8343cda12934b3caed60021a4befbfdd6bd052f6ab86bf9cda63e44253467e6f78c9422a66979d2ef876bdf178674309ae09c2b52cd5eabc7a3fcf6d1eaffa0eca216f227cc46cbb4b62206c1e4ef787a1cbee6c05274964eb0a152024260f4fede95253484a009557d4b13539a72367585cc21aee78ce864da30ac05ca80e0ce51471626755cfc3b23654326dce712b4c734e55c5005dbb055356d1e9b91ea5880a2bcb879ab80b4b3a7314eaf53032115acf966e02c270385207235771aea8d9427e6b9f2de00fc8e041a70f9fe1dfe22a5799ad4e4b85f857cbcd0ae26d6a99a9a52d46edcc6b5b497acadb1f6389cf04c88ed4727b08b26eed5b80a7139f9df40e0b125766a614d6a091a945f0defcd06e151dc9ce50c1136bba4c5d63f618057d9607ecd8c44388d041d5e92430c0c15dedc0703eb31e2cd6cf9a97e0efef27b4d94ded13bf921aa53d8885f200d0e0b041ded97512b331f92eaefd0c0464d37bead23d4ba2b9819d3c8e9c74cabd000000000000000000000000000000000000000000000000000000010000af06bdd39bb67fca306bacbd34e6ee9f6162d748153efb47b9dbfff740a984737694f0f530a2b2407278d441684c1d40804f9a81c3f1772053be10b297bc4938626925f7db2dc95ded96d80a8387f29e056d5d4dd75d0010a1f3fb489d649571c730b8a0edb80914989a249c8e78f2218382e557502eae241b153e5b386ef094136e3a7037259a2962f0a71a9a39827bc63cc1ec08676a8decfa6b7dc65f0a03e35babb03c3229fc1c1dfd2c85b5ee785baeda33eedeb590f1ed51be64e798b6bc06fa55115c662c4658b0622367fbb5756c5cb3142d136a361a5a1f64b29e43251b94e7e23b058d3e81160ba5a878a2b5b2f5443d3b4f13af6ca568cd07f3ded86e3984944daf101f76cd3a08bd02a9c0198c1e879cb2248120875b6262ef99f7bef4672be16e010d2ba2dd2b8e6e08327902546b182c2d898a93d9b246f7613276bbd73782b5c052ba6a9f63f53f162956e09dba9bcb6c5f0752e72747d2a7e6bc5a9f369db41d8c3f1a0dcaad082bbd32af528d9440befbb438bb33147ee215a4b52b173252a71392ed342673654ff4b72b0f5d2ba7537b7df821366dc53fd699bf14d7d57692969d2531f3a16329c85e309212d27246ff76cd26e90fa327d380dcdcc83fbfad3416ad471f4f748947cbaa816de53987bd4a2e91ad260a369b3e000000000000000000000000000000000000000000000000000000010000ae02c9fdae3d28aff3fd2f82903167971ad25c17086fd90028442664f25d930234b8a666d37631bc1692ea9120630eba4f5c754a0cb873ffdf64bb4acb911c8df64bfdb06c30d0c09939e7cd53641a44e4120fae0e0595801f02e3675fc22187436bf23f0d09d8aca52300cf9574d273514bf15c1f4f19bf6c2496c0cafdf324912aca991cf9f382551245c08906894b95cef54ae67014dfa08709a279d4bbbde4cfca507ac46cd21eec241fc720c4d13568c28373114772e0b70a0ba1d42c2e9cbed9722aa6782aefd0d2e4c53e2e7d0ada825d7b78093e3ec482912d4fb2dbb197d5e17687d30e22183981b8853baf896a135d9e2eca515203bf288a59541d517cad3321863fa415691df248deb5873de18bb4f3343c39cb7be3070e86e07dccc977f20f821746360934f8b5bd21b012b46fb6888de9258afa9ac501f7ec589e594e357e129770e737404dd300332284270e65cbb9b35a933c752128e9c8fd1d3014116d48fe9ebdfcc9c9b8c932549e6d354b28ed098c94731f084adae67ec7dce36280574002a38e1644a0db900b92968ab68a0b380dfc76eaaf04e3073cecd7058a9611b04c76d9f75a9b96b95b3851041798b8803de6539b6d22bc4acf7da960417f7a5e377588110c4ec5b83ca4de3762cb17955bd0bb8fa980f7a768734500000000000000000000000000000000000000000000000000000001000008978df71197346151850d1ef1b70e304fbeae85f99b597a2a3174f87e3f1d2e3a1ee15be581265b6aa7824816cb44f6870eb4111cfe3f74d2ab54901ff05660effc1d1ade0bd42cf2d1967c5f4daaf018b63f123180eaac8ac5dd672051bb994325bd4d831d729e7f9ece2de0bac8c79bbf4fb7e524cc9f19d765631cd551497a672ed24a3a09a9b3f703ea81962b5311c69787746681cfdd46362564b457233f17e526ada076dcf09424f9ef02a64d0471f93be84692afafdd15cba082c90a9b1517ffd7e55473157e0df11752876b823d5ffa831608bf1aeba62c376afcc3a71f8ee55e701abbf34c321f4f2c96031a8aae3ade6decb384ead73005166cff064a323a279987ff91409463e53ef8af3aa8a7ab6dbf1832d603e9892c521e3962b3cede20db5bad8c390389b84f8cca3f4d10667ec65b64dd39744d37717880c1b994bccd43c47f1798e0560289b406a8dc41e5f0d1ca8e6a1f24e7f2d44c419f441b0ad1456f22d6b8c6db6642f14d9b9e6a928b3200ca86486a5801c4b315b354d0e7a1f206f0dfd2424fd81b29527ed26e9b6da6acb6289452582ff1980ea53cc915649e08bd6d24f5bd2151a744ffab5740eda335a6b71f42075fcb84af4e0cebe56b0e8d5c740a239fdbd5206f6053bf7e8edabe74034bf84c8f026cfc7da8000000000000000000000000000000000000000000000000000000010000d76f22f5c5d57ac080ef57f91ff49eb3b1c5bd0f6507d1108e63246d652048d247f3050e769c7c2e5944554cf744f9fecd5b045d092240cda9be565e6f1a15ca696c0a5889e959f05e6f2e682af2b88cc7cc1af8b8b463ffb070c2aa8e35e62c2a3b12f59475fc3db5300d8c11457ced8fb6a49a6a52bee4e3d6e9dde780d1b65f949f9c912f1f43a5ead7f39be4ced9aefc98464c9e12acc2c6899c488a5b62498e778f1de85bd46f68291746f33f231310a84677ae3ecd3df8b31b67c15d284c688f08b326713651a08367161de59e11e711beb2e1d48cd7f8d369da1e79c6ae17624592b090931b9b222c1eda7ee6135024ffb4ee763e7b29559354fccd6a0f001c988c310880cde1d9ce9af67277019871505aff437c13758f9a7637cf18789efa1829b8aac782f948177ac13ac579ef9b9463a845829b105115abe9245d5b26d7df172f926314894601288a9fb41237487ab3dc656d62fdc1342e6e33988e37eea315edde24bf5034b4ff9a44a8836e94d6f9902e22d194736a4a7e38fec7b88eaefdcc671a6c2434a10a815ac7b3159fc62829d3383f447a6f870d41b71de7aa7dda93693f7fead96364f7e57cee82f5fbedd4c83002d614c15c5da5aac13eb084e81250bce5fbd3b1dd0a74f42c724422e9682d6e8727478e546426dea4ff00000000000000000000000000000000000000000000000000000001000060274351a801abe0511208e9f82507d98f553c6e97ae4cd8dc61f43e9779331d5afe0d52d11edb49e3e477fcf486998676f27104b5ea216378b12274b359bfcdc44434186f65d523f2c7887dea09ebae8a21ba922d34e81cb09c055d761aa462eba7aa7e9a32dfa045ab036b6b4946046d6f2ad549eae3b1e2edc9eb6fb235f1435b118187c679955cceb6715e0110db913c55df2c5f0375b891f1b49d191f72c08d56174429800a287ef61c36e40bec02b279c97d4f6e9a23543d4169f5ee1a4ee0799304f819c84bc2c35f959f21be5a5af8e08fa592b93d7c11a0b84874715c0938b5ebc2d231fade92a952e90933195012e3103f807ba02d9919c0489810f26f4943f6e80e65dc6fb16bf443c3be20dd644d868f59df0e4d3a1b15515bfb93d9484ad78a43517b848ad96730382724f65a993a94c2680cf2482242d25fb00af9d1f1ac6d4557262ca811941db7b4ceb9e6fb39585a5af82f012c0cc27175ac8fc79a42fc3b7c88e722bb3cb57d6b832f375ea2557b21d7a11f85b249fc4ad2c5f295df42b8377d0f07b87d765d71ba38e050c79bebc96e15ad096cb945b3e635a4218cf84a0afd5a2cc9d09aa5d35ae9692876e935dec9c5edd51d2027ed02f3c0b01b39eb1c020885085b1936dabe817eb581bcac6cf14372d034123e1e656400000000000000000000000000000000000000000000000000000001000050106a8c178845d68890e6ae1320e549b5f9d019fae449c5ad33432f8d45fec91f19604eefba49ac2c06d63be8ff4a0b20b9d23229b6fa27cee18cffd1bbdb7a6c7d5d2eec8f6aa8e5269a03065acfb994c833a55143a1a61602adfc6a39cf6daf80dcae926e258db24bbca1c0684c503168b87c802b0244e2a0418d7db9e0e0e505797f42e9808b04da975532dac50ae0dc90fab038c7fb7e8298212962a873333eae8aa4649416d4a62573d94833d7ad9ce9164e57a74a5ce9f82aa9fba73764b1ca8f751ae569d360b394ea4d9649f6ff2849a26cbee234eb648c6e47c986be54efa874ea92a0dfeb60396f1d38854e023b7751de950e750c53f79fbcb34a985c3e844819e060b26df84b53763c18d191f89fa18c25d6933c3e50884e2dac37630f1e98bd2265d0df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","commitment":"1a8460eb740d074fc242a249e676527de82b87165c1d2659939e17daa5132447"}] \ No newline at end of file From 2f40a199d40851d089799da69d909bacf91e81c6 Mon Sep 17 00:00:00 2001 From: c-node Date: Tue, 20 Aug 2024 22:40:02 -0400 Subject: [PATCH 29/30] cleanup --- src/lib/commitment/test/Commitment.t.sol | 29 ++++++------------- .../tree/namespace/NamespaceMerkleTree.sol | 26 ++--------------- src/lib/verifier/DAVerifier.sol | 3 +- 3 files changed, 14 insertions(+), 44 deletions(-) diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 51df1a7a..0c5a3260 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -68,6 +68,7 @@ contract CommitmentTest is DSTest { if (!compareStrings(out, vecs[i].shares)) { console.log("expected: ", vecs[i].shares); console.log("got: ", out); + revert(); } } } @@ -79,31 +80,19 @@ contract CommitmentTest is DSTest { TestVector[] memory vecs = abi.decode(vecsData, (TestVector[])); - //for (uint i = 0; i < vecs.length; i++) { - bytes29 nsString = bytes29(fromHex(vecs[0].namespace)); + for (uint i = 0; i < vecs.length; i++) { + bytes29 nsString = bytes29(fromHex(vecs[i].namespace)); Namespace memory ns = toNamespace(nsString); - bytes memory data = fromHex(vecs[0].data); + bytes memory data = fromHex(vecs[i].data); (bytes[] memory shares, bool err) = _bytesToSharesV0(data, ns); bytes32 commitment = _createCommitment(shares, ns); - if (!compareStrings(_bytesToHexString(abi.encodePacked(commitment)), vecs[0].commitment)) { - console.log("Commitment mismatch for vector ", 0); - console.log("expected: ", vecs[0].commitment); + if (!compareStrings(_bytesToHexString(abi.encodePacked(commitment)), vecs[i].commitment)) { + console.log("Commitment mismatch for vector ", i); + console.log("expected: ", vecs[i].commitment); console.log("got: ", _bytesToHexString(abi.encodePacked(commitment))); - return; + revert(); } - //} - console.log("All good :)"); + } - /*bytes32 dummy = hex"000000000000000000000000000000000000005cfe5e6a0c8e6402fd5e010000"; - NamespaceNode memory node = NamespaceNode(ns, ns, dummy); - NamespaceNode[] memory nodes = new NamespaceNode[](1); - nodes[0] = node; - NamespaceMerkleMultiproof memory nullproof = NamespaceMerkleMultiproof(0, 0, new NamespaceNode[](0)); - NamespaceMerkleMultiproof memory populatedProof = NamespaceMerkleMultiproof(0, 1, nodes); - (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(populatedProof, nodes, 0, 1, 0, 0); - console.log(_bytesToHexString(abi.encodePacked(node.digest))); - console.log(_bytesToHexString(abi.encodePacked(root.digest)));*/ - //for (uint i = 0; i < vecs.length; i++) { - //} } } \ No newline at end of file diff --git a/src/lib/tree/namespace/NamespaceMerkleTree.sol b/src/lib/tree/namespace/NamespaceMerkleTree.sol index 7042d74c..4868e062 100644 --- a/src/lib/tree/namespace/NamespaceMerkleTree.sol +++ b/src/lib/tree/namespace/NamespaceMerkleTree.sol @@ -148,7 +148,7 @@ library NamespaceMerkleTree { NamespaceMerkleMultiproof memory proof, Namespace memory namespace, bytes[] memory data - ) internal returns (bool) { + ) internal pure returns (bool) { // Hash all the leaves to get leaf nodes. NamespaceNode[] memory nodes = new NamespaceNode[](data.length); for (uint256 i = 0; i < data.length; ++i) { @@ -168,7 +168,7 @@ library NamespaceMerkleTree { NamespaceNode memory root, NamespaceMerkleMultiproof memory proof, NamespaceNode[] memory leafNodes - ) internal returns (bool) { + ) internal pure returns (bool) { uint256 leafIndex = 0; NamespaceNode[] memory leftSubtrees = new NamespaceNode[](proof.sideNodes.length); @@ -212,7 +212,7 @@ library NamespaceMerkleTree { uint256 end, uint256 headProof, uint256 headLeaves - ) public returns (NamespaceNode memory, uint256, uint256, bool) { + ) public pure returns (NamespaceNode memory, uint256, uint256, bool) { // reached a leaf if (end - begin == 1) { // if current range overlaps with proof range, pop and return a leaf @@ -250,26 +250,6 @@ library NamespaceMerkleTree { return (hash, newHeadProof, newHeadLeaves, false); } - /*function _computeTreeRoot( - NamespaceNode[] memory leafNodes, - uint256 start, - uint256 end - ) public pure returns (NamespaceNode memory, bool err) { - if (end-start == 0) { - - } - else if (end-start == 1) { - - } - else { - uint256 k = _getSplitPoint(end - start); - // TODO: error handling - (NamespaceNode memory left,) = _computeTreeRoot(leafNodes, start, start + k); - (NamespaceNode memory right,) = _computeTreeRoot(leafNodes, start + k, end); - return (nodeDigest(left, right), false); - } - }*/ - /// @notice Pop from the leaf nodes array slice if it's not empty. /// @param nodes Entire leaf nodes array. /// @param headLeaves Head of leaf nodes array slice. diff --git a/src/lib/verifier/DAVerifier.sol b/src/lib/verifier/DAVerifier.sol index 633cc8bd..1519e0e7 100644 --- a/src/lib/verifier/DAVerifier.sol +++ b/src/lib/verifier/DAVerifier.sol @@ -82,6 +82,7 @@ library DAVerifier { /// @return an error code if the proof is invalid, ErrorCodes.NoError otherwise. function verifySharesToDataRootTupleRoot(IDAOracle _bridge, SharesProof memory _sharesProof) internal + view returns (bool, ErrorCodes) { // checking that the data root was committed to by the Blobstream smart contract. @@ -121,7 +122,7 @@ library DAVerifier { NamespaceNode[] memory _rowRoots, BinaryMerkleProof[] memory _rowProofs, bytes32 _root - ) internal returns (bool, ErrorCodes) { + ) internal pure returns (bool, ErrorCodes) { // verifying the row root to data root tuple root proof. (bool success, ErrorCodes errorCode) = verifyMultiRowRootsToDataRootTupleRootProof(_rowRoots, _rowProofs, _root); if (!success) { From 6305985158994e1523c161f84023f553e81a9a19 Mon Sep 17 00:00:00 2001 From: c-node Date: Fri, 23 Aug 2024 18:14:22 -0400 Subject: [PATCH 30/30] forge fmt --- src/lib/commitment/Commitment.sol | 31 ++++++++-------- src/lib/commitment/test/Commitment.t.sol | 35 ++++++++----------- src/lib/tree/binary/TreeHasher.sol | 2 +- .../tree/namespace/NamespaceMerkleTree.sol | 1 - 4 files changed, 32 insertions(+), 37 deletions(-) diff --git a/src/lib/commitment/Commitment.sol b/src/lib/commitment/Commitment.sol index 160218ba..c078b30c 100644 --- a/src/lib/commitment/Commitment.sol +++ b/src/lib/commitment/Commitment.sol @@ -43,14 +43,12 @@ function _writeSequenceLength(bytes memory share, uint32 sequenceLength) pure { } function _copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint32 length) pure returns (uint32) { - uint256 start = buffer.length - length; for (uint256 i = start; i < buffer.length; i++) { if (cursor < data.length) { buffer[i] = data[cursor]; cursor++; - } - else { + } else { buffer[i] = 0; } } @@ -58,7 +56,6 @@ function _copyBytes(bytes memory buffer, uint32 cursor, bytes memory data, uint3 } function _bytesToHexString(bytes memory buffer) pure returns (string memory) { - // Fixed buffer size for hexadecimal convertion bytes memory converted = new bytes(buffer.length * 2); @@ -73,7 +70,10 @@ function _bytesToHexString(bytes memory buffer) pure returns (string memory) { } // Share Version 0 -function _bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pure returns (bytes[] memory shares, bool err) { +function _bytesToSharesV0(bytes memory blobData, Namespace memory namespace) + pure + returns (bytes[] memory shares, bool err) +{ if (namespace.version != 0) { return (new bytes[](0), true); } @@ -81,7 +81,7 @@ function _bytesToSharesV0(bytes memory blobData, Namespace memory namespace) pur return (new bytes[](0), true); } // Allocate memory for the shares - uint256 numShares = _numShares(blobData.length); + uint256 numShares = _numShares(blobData.length); bytes[] memory _shares = new bytes[](numShares); for (uint256 i = 0; i < _shares.length; i++) { _shares[i] = new bytes(512); @@ -149,9 +149,8 @@ function _merkleMountainRangeSizes(uint256 totalSize, uint256 maxTreeSize) pure uint256 numTrees; if (leftovers == 0) { numTrees = bigTrees; - } - else { - numTrees = bigTrees + MathUpgradeable.log2(leftovers) + (leftovers%2); + } else { + numTrees = bigTrees + MathUpgradeable.log2(leftovers) + (leftovers % 2); } uint256[] memory treeSizes = new uint256[](numTrees); uint256 count = 0; @@ -159,8 +158,7 @@ function _merkleMountainRangeSizes(uint256 totalSize, uint256 maxTreeSize) pure if (totalSize >= maxTreeSize) { treeSizes[count] = maxTreeSize; totalSize -= maxTreeSize; - } - else { + } else { uint256 treeSize = _roundDownPowerOfTwo(totalSize); treeSizes[count] = treeSize; totalSize -= treeSize; @@ -203,12 +201,15 @@ function _createCommitment(bytes[] memory shares, Namespace memory namespace) re leafNamespaceNodes[j] = leafDigest(namespace, leafSets[i][j]); } //NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, new NamespaceNode[](0)); - NamespaceMerkleMultiproof memory emptyProof = NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); - (NamespaceNode memory root,,,) = NamespaceMerkleTree._computeRoot(emptyProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); + NamespaceMerkleMultiproof memory emptyProof = + NamespaceMerkleMultiproof(0, leafSets[i].length, leafNamespaceNodes); + (NamespaceNode memory root,,,) = + NamespaceMerkleTree._computeRoot(emptyProof, leafNamespaceNodes, 0, leafNamespaceNodes.length, 0, 0); subtreeRoots[i] = bLeafDigest(bytes(abi.encodePacked(root.min.toBytes(), root.max.toBytes(), root.digest))); } //BinaryMerkleMultiproof memory nullBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, 0); BinaryMerkleMultiproof memory emptyBinaryProof = BinaryMerkleMultiproof(new bytes32[](0), 0, subtreeRoots.length); - (bytes32 binaryTreeRoot,,,) = BinaryMerkleTree._computeRootMulti(emptyBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); + (bytes32 binaryTreeRoot,,,) = + BinaryMerkleTree._computeRootMulti(emptyBinaryProof, subtreeRoots, 0, subtreeRoots.length, 0, 0); commitment = binaryTreeRoot; -} \ No newline at end of file +} diff --git a/src/lib/commitment/test/Commitment.t.sol b/src/lib/commitment/test/Commitment.t.sol index 0c5a3260..16737cd4 100644 --- a/src/lib/commitment/test/Commitment.t.sol +++ b/src/lib/commitment/test/Commitment.t.sol @@ -19,24 +19,24 @@ contract CommitmentTest is DSTest { } function fromHexChar(uint8 c) public pure returns (uint8) { - if (bytes1(c) >= bytes1('0') && bytes1(c) <= bytes1('9')) { - return c - uint8(bytes1('0')); + if (bytes1(c) >= bytes1("0") && bytes1(c) <= bytes1("9")) { + return c - uint8(bytes1("0")); } - if (bytes1(c) >= bytes1('a') && bytes1(c) <= bytes1('f')) { - return 10 + c - uint8(bytes1('a')); + if (bytes1(c) >= bytes1("a") && bytes1(c) <= bytes1("f")) { + return 10 + c - uint8(bytes1("a")); } - if (bytes1(c) >= bytes1('A') && bytes1(c) <= bytes1('F')) { - return 10 + c - uint8(bytes1('A')); + if (bytes1(c) >= bytes1("A") && bytes1(c) <= bytes1("F")) { + return 10 + c - uint8(bytes1("A")); } revert("fail"); } function fromHex(string memory s) public pure returns (bytes memory) { bytes memory ss = bytes(s); - require(ss.length%2 == 0); // length must be even - bytes memory r = new bytes(ss.length/2); - for (uint i=0; i