You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmonero/tests/bcstatus_tests.cpp

1543 lines
869 KiB

#include "src/MicroCore.h"
#include "../src/CurrentBlockchainStatus.h"
#include "../src/ThreadRAII.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "helpers.h"
#include "mocks.h"
namespace
{
class BCSTATUS_TEST : public ::testing::TestWithParam<network_type>
{
public:
static void
SetUpTestCase()
{
string config_path {"../config/config.json"};
config_json = xmreg::BlockchainSetup::read_config(config_path);
}
protected:
virtual void
SetUp()
{
net_type = GetParam();
bc_setup = xmreg::BlockchainSetup {
net_type, do_not_relay, config_json};
mcore = std::make_unique<MockMicroCore>();
mcore_ptr = mcore.get();
rpc = std::make_unique<MockRPCCalls>("dummy deamon url");
rpc_ptr = rpc.get();
tp = std::make_unique<TP::ThreadPool>();
tp_ptr = tp.get();
bcs = std::make_unique<xmreg::CurrentBlockchainStatus>(
bc_setup, std::move(mcore), std::move(rpc),
std::move(tp));
}
network_type net_type {network_type::STAGENET};
bool do_not_relay {false};
xmreg::BlockchainSetup bc_setup;
std::unique_ptr<MockMicroCore> mcore;
std::unique_ptr<MockRPCCalls> rpc;
std::unique_ptr<TP::ThreadPool> tp;
std::unique_ptr<xmreg::CurrentBlockchainStatus> bcs;
MockMicroCore* mcore_ptr;
MockRPCCalls* rpc_ptr;
TP::ThreadPool* tp_ptr;
static nlohmann::json config_json;
};
nlohmann::json BCSTATUS_TEST::config_json;
TEST_P(BCSTATUS_TEST, DefaultConstruction)
{
xmreg::CurrentBlockchainStatus bcs {
bc_setup, nullptr, nullptr, nullptr};
EXPECT_TRUE(true);
}
TEST_P(BCSTATUS_TEST, InitMoneroBlockchain)
{
EXPECT_CALL(*mcore_ptr, init(_, _))
.WillOnce(Return(true));
EXPECT_TRUE(bcs->init_monero_blockchain());
}
TEST_P(BCSTATUS_TEST, GetBlock)
{
EXPECT_CALL(*mcore_ptr, get_block_from_height(_, _))
.WillOnce(Return(true));
uint64_t height = 1000;
block blk;
EXPECT_TRUE(bcs->get_block(height, blk));
}
ACTION(ThrowBlockDNE)
{
throw BLOCK_DNE("Mock Throw: Block does not exist!");
}
TEST_P(BCSTATUS_TEST, GetBlockRange)
{
vector<block> blocks_to_return {block(), block(), block()};
EXPECT_CALL(*mcore_ptr, get_blocks_range(_, _))
.WillOnce(Return(blocks_to_return));
uint64_t h1 = 1000;
uint64_t h2 = h1+2;
vector<block> blocks = bcs->get_blocks_range(h1, h2);
EXPECT_EQ(blocks, blocks_to_return);
EXPECT_CALL(*mcore_ptr, get_blocks_range(_, _))
.WillOnce(ThrowBlockDNE());
blocks = bcs->get_blocks_range(h1, h2);
EXPECT_TRUE(blocks.empty());
}
TEST_P(BCSTATUS_TEST, GetBlockTxs)
{
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(Return(true));
const block dummy_blk;
vector<transaction> blk_txs;
vector<crypto::hash> missed_txs;
EXPECT_TRUE(bcs->get_block_txs(dummy_blk, blk_txs, missed_txs));
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->get_block_txs(dummy_blk, blk_txs, missed_txs));
}
TEST_P(BCSTATUS_TEST, GetTxs)
{
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(Return(true));
vector<crypto::hash> txs_to_get;
vector<transaction> blk_txs;
vector<crypto::hash> missed_txs;
EXPECT_TRUE(bcs->get_txs(txs_to_get, blk_txs, missed_txs));
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->get_txs(txs_to_get, blk_txs, missed_txs));
}
TEST_P(BCSTATUS_TEST, TxExist)
{
EXPECT_CALL(*mcore_ptr, have_tx(_))
.WillOnce(Return(true));
EXPECT_TRUE(bcs->tx_exist(crypto::hash()));
uint64_t mock_tx_index_to_return {4444};
// return true and set tx_index (ret by ref) to mock_tx_index_to_return
EXPECT_CALL(*mcore_ptr, tx_exists(_, _))
.WillOnce(DoAll(SetArgReferee<1>(mock_tx_index_to_return),
Return(true)));
uint64_t tx_index {0};
EXPECT_TRUE(bcs->tx_exist(crypto::hash(), tx_index));
EXPECT_EQ(tx_index, mock_tx_index_to_return);
// just some dummy hash
string tx_hash_str
{"fc4b8d5956b30dc4a353b171b4d974697dfc32730778f138a8e7f16c11907691"};
tx_index = 0;
EXPECT_CALL(*mcore_ptr, tx_exists(_, _))
.WillOnce(DoAll(SetArgReferee<1>(mock_tx_index_to_return),
Return(true)));
EXPECT_TRUE(bcs->tx_exist(tx_hash_str, tx_index));
EXPECT_EQ(tx_index, mock_tx_index_to_return);
tx_hash_str = "wrong_hash";
EXPECT_FALSE(bcs->tx_exist(tx_hash_str, tx_index));
}
TEST_P(BCSTATUS_TEST, GetTx)
{
// tx_hash 2ff79595683b546c8959e353b2c345394ea80694073d9237a146448bb65915dd
string tx_hex {"02c2d20701ff86d20701f88ceccabdbf06027b0b71991727c05f0ec98bdc0e12fe598acf8eb808790c3692550a464b722ec22101d9d9ddd1f2b7010715195405742af8fa89e12c0d6c3f490c81a08e836e3d516300"};
TX_FROM_HEX(tx_hex);
EXPECT_CALL(*mcore_ptr, get_tx(_, _))
.WillRepeatedly(DoAll(SetArgReferee<1>(tx),
Return(true)));
crypto::hash any_tx_hash;
transaction returned_tx;
// using tx_hash
EXPECT_TRUE(bcs->get_tx(any_tx_hash, returned_tx));
EXPECT_EQ(get_transaction_hash(returned_tx), tx_hash);
// tx_hash as string
transaction returned_tx2;
EXPECT_TRUE(bcs->get_tx(tx_hash_str, returned_tx2));
EXPECT_EQ(get_transaction_hash(returned_tx), tx_hash);
// tx hash as string fails to parse
EXPECT_FALSE(bcs->get_tx("hash of wrong format", returned_tx2));
}
//MOCK_CONST_METHOD1(get_tx_block_height,
// uint64_t(crypto::hash const& tx_hash));
TEST_P(BCSTATUS_TEST, GetTxBlockHeight)
{
// tx_hash 2ff79595683b546c8959e353b2c345394ea80694073d9237a146448bb65915dd
string tx_hex {"02c2d20701ff86d20701f88ceccabdbf06027b0b71991727c05f0ec98bdc0e12fe598acf8eb808790c3692550a464b722ec22101d9d9ddd1f2b7010715195405742af8fa89e12c0d6c3f490c81a08e836e3d516300"};
TX_FROM_HEX(tx_hex);
EXPECT_CALL(*mcore_ptr, have_tx(_))
.WillOnce(Return(true));
EXPECT_CALL(*mcore_ptr, get_tx_block_height(_))
.WillRepeatedly(Return(123));
int64_t height_returned;
EXPECT_TRUE(bcs->get_tx_block_height(tx_hash, height_returned));
EXPECT_EQ(height_returned, 123);
// tx does not exist
EXPECT_CALL(*mcore_ptr, have_tx(_))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->get_tx_block_height(tx_hash, height_returned));
}
TEST_P(BCSTATUS_TEST, GetTxWithOutput)
{
// some dummy tx hash
RAND_TX_HASH();
const tx_out_index tx_idx_to_return = make_pair(tx_hash, 6);
EXPECT_CALL(*mcore_ptr, get_output_tx_and_index(_, _))
.WillOnce(Return(tx_idx_to_return));
EXPECT_CALL(*mcore_ptr, get_tx(_, _))
.WillOnce(Return(true));
const uint64_t mock_output_idx {4};
const uint64_t mock_amount {11110};
transaction tx_returned;
uint64_t out_idx_returned;
EXPECT_TRUE(bcs->get_tx_with_output(mock_output_idx, mock_amount,
tx_returned, out_idx_returned));
}
ACTION(ThrowOutputDNE)
{
throw OUTPUT_DNE("Mock Throw: Output does not exist!");
}
TEST_P(BCSTATUS_TEST, GetTxWithOutputFailure)
{
// some dummy tx hash
RAND_TX_HASH();
const tx_out_index tx_idx_to_return = make_pair(tx_hash,
6 /* output idx */);
EXPECT_CALL(*mcore_ptr, get_output_tx_and_index(_, _))
.WillOnce(Return(tx_idx_to_return));
EXPECT_CALL(*mcore_ptr, get_tx(_, _))
.WillOnce(Return(false));
const uint64_t mock_output_idx {4};
const uint64_t mock_amount {11110};
transaction tx_returned;
uint64_t out_idx_returned;
EXPECT_FALSE(bcs->get_tx_with_output(mock_output_idx, mock_amount,
tx_returned, out_idx_returned));
// or
EXPECT_CALL(*mcore_ptr, get_output_tx_and_index(_, _))
.WillOnce(ThrowOutputDNE());
EXPECT_FALSE(bcs->get_tx_with_output(mock_output_idx, mock_amount,
tx_returned, out_idx_returned));
}
TEST_P(BCSTATUS_TEST, GetCurrentHeight)
{
uint64_t mock_current_height {1619148};
EXPECT_CALL(*rpc_ptr, get_current_height(_))
.WillOnce(SetArgReferee<0>(mock_current_height));
bcs->update_current_blockchain_height();
EXPECT_EQ(bcs->get_current_blockchain_height(),
mock_current_height - 1);
}
TEST_P(BCSTATUS_TEST, IsTxSpendtimeUnlockedScenario1)
{
// there are two main scenerious here.
// Scenerio 1: tx_unlock_time is block height
// Scenerio 2: tx_unlock_time is timestamp.
const uint64_t mock_current_height {100};
EXPECT_CALL(*rpc_ptr, get_current_height(_))
.WillOnce(SetArgReferee<0>(mock_current_height));
bcs->update_current_blockchain_height();
// SCENARIO 1: tx_unlock_time is block height
// expected unlock time is in future, thus a tx is still locked
uint64_t tx_unlock_time {mock_current_height
+ CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE};
uint64_t not_used_block_height {0}; // not used in the first
// part of the test case
EXPECT_FALSE(bcs->is_tx_unlocked(
tx_unlock_time, not_used_block_height));
// expected unlock time is in the future
// (1 blocks from now), thus a tx is locked
tx_unlock_time = mock_current_height + 1;
EXPECT_FALSE(bcs->is_tx_unlocked(
tx_unlock_time, not_used_block_height));
// expected unlock time is in the past
// (10 blocks behind), thus a tx is unlocked
tx_unlock_time = mock_current_height
- CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE;
EXPECT_TRUE(bcs->is_tx_unlocked(tx_unlock_time,
not_used_block_height));
// expected unlock time is same as as current height
// thus a tx is unlocked
tx_unlock_time = mock_current_height;
EXPECT_TRUE(bcs->is_tx_unlocked(tx_unlock_time,
not_used_block_height));
}
class MockTxUnlockChecker : public xmreg::TxUnlockChecker
{
public:
// mock system call to get current timestamp
MOCK_CONST_METHOD0(get_current_time, uint64_t());
//MOCK_CONST_METHOD1(get_leeway, uint64_t(uint64_t tx_block_height));
};
TEST_P(BCSTATUS_TEST, IsTxSpendtimeUnlockedScenario2)
{
// there are two main scenerious here.
// Scenerio 1: tx_unlock_time is block height
// Scenerio 2: tx_unlock_time is timestamp.
const uint64_t mock_current_height {100};
EXPECT_CALL(*rpc_ptr, get_current_height(_))
.WillOnce(SetArgReferee<0>(mock_current_height));
bcs->update_current_blockchain_height();
// SCENARIO 2: tx_unlock_time is timestamp.
MockTxUnlockChecker mock_tx_unlock_checker;
const uint64_t current_timestamp {1000000000};
EXPECT_CALL(mock_tx_unlock_checker, get_current_time())
.WillRepeatedly(Return(1000000000));
uint64_t block_height = mock_current_height;
// tx unlock time is now
uint64_t tx_unlock_time {current_timestamp}; // mock timestamp
EXPECT_TRUE(bcs->is_tx_unlocked(tx_unlock_time, block_height,
mock_tx_unlock_checker));
// unlock time is 1 second more than needed
tx_unlock_time = current_timestamp
+ mock_tx_unlock_checker.get_leeway(
block_height, bcs->get_bc_setup().net_type) + 1;
EXPECT_FALSE(bcs->is_tx_unlocked(tx_unlock_time, block_height,
mock_tx_unlock_checker));
}
TEST_P(BCSTATUS_TEST, GetOutputKeys)
{
// we are going to expect two outputs
vector<output_data_t> outputs_to_return;
outputs_to_return.push_back(
output_data_t {
crypto::rand<crypto::public_key>(),
1000, 2222,
crypto::rand<rct::key>()});
outputs_to_return.push_back(
output_data_t {
crypto::rand<crypto::public_key>(),
3333, 5555,
crypto::rand<rct::key>()});
EXPECT_CALL(*mcore_ptr, get_output_key(_, _, _))
.WillOnce(SetArgReferee<2>(outputs_to_return));
const uint64_t mock_amount {1111};
const vector<uint64_t> mock_absolute_offsets;
vector<cryptonote::output_data_t> outputs;
EXPECT_TRUE(bcs->get_output_keys(mock_amount,
mock_absolute_offsets,
outputs));
EXPECT_EQ(outputs.back().pubkey, outputs_to_return.back().pubkey);
EXPECT_CALL(*mcore_ptr, get_output_key(_, _, _))
.WillOnce(ThrowOutputDNE());
EXPECT_FALSE(bcs->get_output_keys(mock_amount,
mock_absolute_offsets,
outputs));
}
TEST_P(BCSTATUS_TEST, GetAccountIntegratedAddressAsStr)
{
// bcs->get_account_integrated_address_as_str only forwards
// call to cryptonote function. so we just check if
// forwarding is correct, not wether the cryptonote
// function works correctly.
crypto::hash8 payment_id8 = crypto::rand<crypto::hash8>();
string payment_id8_str = pod_to_hex(payment_id8);
string expected_int_addr
= cryptonote::get_account_integrated_address_as_str(
bcs->get_bc_setup().net_type,
bcs->get_bc_setup().import_payment_address.address,
payment_id8);
string resulting_int_addr
= bcs->get_account_integrated_address_as_str(payment_id8);
EXPECT_EQ(expected_int_addr, resulting_int_addr);
resulting_int_addr
= bcs->get_account_integrated_address_as_str(
payment_id8_str);
EXPECT_EQ(expected_int_addr, resulting_int_addr);
resulting_int_addr
= bcs->get_account_integrated_address_as_str(
"wrong_payment_id8");
EXPECT_TRUE(resulting_int_addr.empty());
}
ACTION(ThrowTxDNE)
{
throw TX_DNE("Mock Throw: Tx does not exist!");
}
TEST_P(BCSTATUS_TEST, GetAmountSpecificIndices)
{
vector<uint64_t> out_indices_to_return {1,2,3};
EXPECT_CALL(*mcore_ptr, tx_exists(_, _))
.WillOnce(Return(true));
EXPECT_CALL(*mcore_ptr, get_tx_amount_output_indices(_))
.WillOnce(Return(out_indices_to_return));
vector<uint64_t> out_indices;
RAND_TX_HASH();
EXPECT_TRUE(bcs->get_amount_specific_indices(tx_hash, out_indices));
EXPECT_EQ(out_indices, out_indices_to_return);
EXPECT_CALL(*mcore_ptr, tx_exists(_, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->get_amount_specific_indices(tx_hash, out_indices));
EXPECT_CALL(*mcore_ptr, tx_exists(_, _))
.WillOnce(ThrowTxDNE());
EXPECT_FALSE(bcs->get_amount_specific_indices(tx_hash, out_indices));
}
//TEST_P(BCSTATUS_TEST, GetRandomOutputs)
//{
// using out_for_amount = COMMAND_RPC_GET_RANDOM_OUTPUTS_FOR_AMOUNTS
// ::outs_for_amount;
// std::vector<out_for_amount> outputs_to_return;
// outputs_to_return.push_back(out_for_amount {22, {}});
// outputs_to_return.push_back(out_for_amount {66, {}});
// COMMAND_RPC_GET_RANDOM_OUTPUTS_FOR_AMOUNTS::response res;
// res.outs = outputs_to_return;
// EXPECT_CALL(*mcore_ptr, get_random_outs_for_amounts(_, _))
// .WillOnce(DoAll(SetArgReferee<1>(res), Return(true)));
// const vector<uint64_t> mock_amounts {444, 556, 77}; // any
// const uint64_t mock_outs_count {3}; // any
// std::vector<out_for_amount> found_outputs;
// EXPECT_TRUE(bcs->get_random_outputs(
// mock_amounts, mock_outs_count,
// found_outputs));
// EXPECT_EQ(found_outputs.size(), outputs_to_return.size());
// EXPECT_EQ(found_outputs.back().amount,
// outputs_to_return.back().amount);
// EXPECT_CALL(*mcore_ptr, get_random_outs_for_amounts(_, _))
// .WillOnce(Return(false));
// EXPECT_FALSE(bcs->get_random_outputs(
// mock_amounts, mock_outs_count,
// found_outputs));
//}
TEST_P(BCSTATUS_TEST, GetOutput)
{
using outkey = COMMAND_RPC_GET_OUTPUTS_BIN::outkey;
outkey output_key_to_return {
crypto::rand<crypto::public_key>(),
crypto::rand<rct::key>(),
true, 444,
crypto::rand<crypto::hash>()};
COMMAND_RPC_GET_OUTPUTS_BIN::response res;
res.outs.push_back(output_key_to_return);
EXPECT_CALL(*mcore_ptr, get_outs(_, _))
.WillOnce(DoAll(SetArgReferee<1>(res), Return(true)));
const uint64_t mock_amount {0};
const uint64_t mock_global_output_index {0};
outkey output_info;
EXPECT_TRUE(bcs->get_output(mock_amount,
mock_global_output_index,
output_info));
EXPECT_EQ(output_info.key, output_key_to_return.key);
EXPECT_CALL(*mcore_ptr, get_outs(_, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->get_output(mock_amount,
mock_global_output_index,
output_info));
}
TEST_P(BCSTATUS_TEST, GetDynamicPerKbFeeEstimate)
{
EXPECT_CALL(*mcore_ptr, get_dynamic_base_fee_estimate(_))
.WillOnce(Return(3333));
EXPECT_EQ(bcs->get_dynamic_per_kb_fee_estimate(), 3333 * 1024);
}
TEST_P(BCSTATUS_TEST, CommitTx)
{
EXPECT_CALL(*rpc_ptr, commit_tx(_, _, _))
.WillOnce(Return(true));
string tx_blob {"mock blob"};
string error_msg;
EXPECT_TRUE(bcs->commit_tx(tx_blob, error_msg, true));
EXPECT_CALL(*rpc_ptr, commit_tx(_, _, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->commit_tx(tx_blob, error_msg, true));
}
TEST_P(BCSTATUS_TEST, ReadMempool)
{
// stagenet tx: 4b40cfb2fdce2cd57a834a380901d55d70aba29dad13ac6c4dc82a895f439ecf
const string tx_4b40_hex {"0200010200089832f68b01b2a601a21ec01da83ffe0139a71678019703665175d1e067d20c738a8634aeaad6a7bc493a4b5a641b4962fa020002fb1d79f31791c9553c6dc1c066cde2361385021a5c33e7101d69a557cc3c34a1000292b1073ac7c2fdd851955e7fb76cbc7de4e812db745b5e795445594ea1c7d2a721010a9e82db48149442ac50cff52a39fda95f90b9683098b02e413a52b4d1f05f1c0180f3a3f93aaac0d8887ce542c01e49afbaf1f5ac8e1e4c8882011dd83fa33d1c9efa5f210d39e17c153a6a5825da329dcb31cd1acae98961d55038fb22e78fb93b95e6820a6904ff5b7bbfcf0cd1f6b9e9dd56f41062c7f5f43d9e1b3d69724eeca4bc3404a41ff0669f7f8ae725da8bbc2f8d0411605d2c3e959e3099414ffce1654418020d6ee74bb25042045e955b966e060a9f65b9cfccfbdcb4ee3101019a51f3a41372414c90383c9b84fb4ac690047ea67d70c917192abeb1fdf6c618aeafc732ae9a3e6c6f7fb274240ca04d24035a1d55b3fd1060dc3f4e64f9816868f36d2a0aeb76b64169bc9525d7d70b077c8b998b1204c6108e2917af893b0de24f4adb043eee433b096db8ef730de6e339a84f966b80b239821f350e2a8b10817fc19508da4f82bcb90fcf84cd47929ab1ba90bde5d252767736a4b23d26063cc6b2120dc636b2d4e3e7b3f6d7448882e01c10cf7bdd2117710dc49a59b49cf99212800093da22a6ab5bf693a80d4a662f35259f088a91a26ac261980c537238daa7a40477871f7481973edbcc86fa4885a4061d5c889d0986b4c0cb394165d4039081069f61cff822c7a227474d1609dbf05909f738803834b9e1b5ee68dcb825fcd906d880684e5fa684c8cb02495530fcaeeb35a405345f352ef3c8cf276c096d4303ee14cc0a48533afd1bcdf32dcfb25db4c45a19b10926dff72ace2c2a1d0759090acff99ad06e3f81c4d759a9f74d47fff9cb61d3784aa0eb57a250eec8d14800b85026f5b112740e2e8c257541bdfa4ea1f166b9d930e9705fa1d3f3c2be1e0fb242394d9230c7c457fc8422a6f919a06df5c52d954fa1bfdb57a0a2778d35020ef07490fc3c4f6e99ceaef97fcb3da049898944f3291b96a4f9ce491654340414565db2e0c6bd13eab933194b32336c09c478689cc4a7160b63ecb59937b2028e1649744c6ea69db01aed72fb8b39519cb28d764f158789cc539e01fd5f8f098597c8977e6d2b22c37b289c95dca13bece9e28f741ae2384ead8f0d6df7c30f311210523cb0b7e8c1173aee311362282f3c7d06ae2153969d073bec14ff3605d193bfe829e110df39b894fc4a8eb462d357098688748d579c85f9dc9e9cd20229c9865bc54ae8338433247c28875249e37d4d9b9ccbad611ce5948f1c7ea00fccdc41a9fbe942539a44111f160c9b1dc2653ecae0e4c30bada58d9164fa4c021b60fc0e2068510ef8ec56f7c8e036f2eb31ae0871c9a6aff7b8ad6a86054a06daf06393871f41859f51165f09d22fedd8a2326099a803491dbff5027f72540ed6981f505d1162d86c1ec716758bfbf4e1bfdbbe628b9340942a328209c86b0ec71981c90b407b146cbf065cfd8b0a1c2528aaf007c505a83779dacf8cb7500577a1f8f4a2c9a833d08b254c0c5edbbe87c9eaf266627d23bf518373dceba4099c13c6c468b99c16d56ea5eec12620867fdeb01be66bb0248a7ab7dd6434aa042392c4482e8694292bfc638f1a344d35c9cbfe121a25d2302db4db9688285905fcef9a892593840fe2ddebf0e059e341b2e7f107ee6a19fe386e3f9ea0da2801c5e9fe1b9c4b21155f6f2194ef36f2383097f9cf7ee0994873cfd92d098a33006547ef67bbeb2c1386fcbeec6f0b974532f2ac6e474b26683a37ed3919ec3108b578d3a552c32a362c0bea8bfe35c481f014721af9503a0663d95f5aa91b8802c32f60dbaa65978ad114a2fd45901a07fb4dded61d19e30c8c11e4efbdc1180a02d08d05a646bd8a4d160203da8d490ae0a0b4e631280401d635eb78e0416408c208436dcd653c11a75f365e2d012e0e69f0d4fe2fb2997726dad29468109001ed7c65464ba734e4b35f2ac85a4437fcafe0cdb6128e634970ba420e2e3296080636520e9fbf453e07cdd215117a2eeffed5a0ea0003761f5eb4c35aebf87b063f59d0571e149dc9d0c143a59415a7fe950d34b5024087145969abdc7f7140079bc25119825dda1bf080150bd40142d9635fd87e5dc691899d2686ccf6c9d106c7cdbf783fbbc83fc0feebe8abee3b458e7417a385215f1f89a2a89bef3b870c7a30a6cf4920ddd6eb50439c95c1f38fec867a41e628415ed142b7014991fd0818e8cf725b7075498e773790ccc882db0eb22453f0c9931debfb8d3adb09370f30e62b5fe94ffa7e55ff053488ad48f6e244ed6f043fae8f2225a024800c690ce15dd8017457d23c834b276d079d4a141f22db8fed4ea8f1e378fb741a2da30c09abc817ef0ad589428f966b8bdf92fb32fefa67f425ef1c58a2d4c881e8cc0156519256b87736ed84691b585687971c01a23da37ab76726602a01e771d9820add53f62168d51c7ec12ede030b61155f12e7c8d5573985a9e0884bcc41e0b50aa066b3337f2ab8e3b1031a1c843700413ef03d3734536547fc636055f5d15b0f804b3d25f90e4aaf199ee666d90199d0781526bb2040144b5a638411c1067d0bc5e3ef1911c5223fb0f5d0ce6387702b6957f9466b1a8be6879b8c7190ec1e0662cda6005a363f5d3d4585e6d9d15349be797353179b0a713b925dddfbd05609430601339bf31226cce63c763d887364aa6f1d640892f2a074338b741b7c3303e62c6fc16f544ceeed251dbaed838cbc978eafbf1f837543876f611d64d354049936220af27edd4834df2740842f033821147619098b45b5819b49cccc772506d01ed8f4ee1877c3368e3863f4e60422ea8918758ebd8989b0e26041a906db0ade4365e7d322dad4f40b489b53fed41ed2d421c1571c7311d0357a511eff490193afe446f183baa147e12dcac9827391ef233396dce9465ab6d1e073a128cd062fa829dc3011e72d05f96956976120c973da24b874aa7dab15e6ae58272efc0ba97355b22d5ec283957b2dec2926bfc2f66059c0146ca91b53b0ffc03f3bf402c99ada7e18d713bf57351efe369ea204354343d3b080e8a386931ed541b7e3059f2bf1736b4903a25f0bba187f5553768586202d0cec388dabaaeae9b7ade100733139f77682ffab54409e14605ec50f5648da42702caa1d27bafc7c40c3b30b9ab2a54810e1e4584701b58b3bed1a4d820bb13308e9d5485c011cbb1cafd0021c0e888147666a3c00a59000f9195d6d9e423e11d7c4eb69d71541c7ad943601aaf1f7c6b5c0e058cbc989baa7f3a1927031e2219b398e2483a6b77a5d6e7e029c2ba36bdb882927cc06adc89b312bad1c5e72f9a27b48fc3a2c8ce431882c034a345c2692a323dc87380d62a1afdb73fa47d9b5ac0e495138e0dc7ee57835079ee2e9fae9b4e1148ef7df42e1fe213b99f573ca222430771088e05266db80092bf53d23c800b8f15b036883cfe58fac0682aca8d58d5ef2cb0c0bbf3c39560a347d51d3d1444b98b175af1abe341ece49c69b7022e61274a3d75f81871d780aef74495569cf97c7f4144f43a87b90cefdb6ca3e4ce8b12b168120499847000e67389d13f8cc190762f0c02ab0230e45ab1d53d59f665fdbe73c342169bede097c85f596595cce0d8d40a02ff89f81b64d7126c6bb73c3ff9739dc5af0444f01ab1818cc5f2c6c548873fde9095ca9efc2bb3f4c818fcb873ef23007a1253704ad561b872f774b6cf8dae848f98cb0af3d4b3c45acebccae094edc02b5250a0e259f8470ee88c12fc16014b5403fd3dbe29895aa411af2f1292ff20aa2fcf9038ee4453a51448cc7ff4a076d8c635619711ec70e8c43926f7d0df8f89ea156069bb64117f5be57b731dd3d573721e966216e98b71464342d95e712dfed27f50ecb291728f205428d335f3f4cd3e4657c2dfd66cceee48576f64d921e521f6d0d67df90d553e4c6751cdca6e425f1994fc9f1676a261f831ce5b0238c1a2ec10c6c94c5d22951c47b01c7e43b2e2199e0af412bfc025dc5d2d6ed6d154f154f0f9c7351c25d184ea619fdca59820448ee49a46e63ef871ebcb23af8abc58e9708bdb984519ae76303e661f0c00b44c22b6ec9bf95830fb047bc38106aad060607c6e1c4998b0cf07ba5b293cc96621a3151a67c7272e38f2e62f69528d1d19b060eb8c6f165d95dc13aa2e28b2844dc63bb3e24ac06eed20050251b698dd3f103e2f309501092c1b537656af79a0bbb2f398a2b0d8d7c976308db90dde5cc2b0a7ee510e902624a7c19f1169b6eb84773e131b6dade39030bb22555fa8ed9c904422269debded88e1c51b4294a458a080b78d4c76d72a49cfa988e96e3c3f900a86dcaf5953907318e9cf30b95fac95724df8982387a13f4f92cfa21226a7be0cf3d414afc4a7ff632bf803ff6061fdda12571de6c85477562da2e7cfdf70f9029210fd211239c5242002798598c278145b9501d3c41c12f998a7c82a6a8cdf06adf87910e52f43c79993edb24bf691d52a6ea175150cba134eb3fce090c3e401900e2671b4e5995408f22d9a7fa615301ac6153b69718b7e0079e3b31d3690075967bc173f6e716c2c30ee24863b96df0b1f7ec9c1fd7e7ec7d019bf4273ad0459d3c182ef8603f6b83d702f545cef5b1604f16b02657c94a3cc18323bca2708a8105bca731db97385576e84d78cd3f02e18144f2861bfe43590f5b203679007b199f0033dc73acc50950d2ef9f7678131f562599bdb4e91b97e673e30e7290eee0d5758dc3c1bd11c07df261222e095d182201524c271ee877a7afcefb40400197c1a153e4741edf9eb5602e856247f6845aadad9a3f3c1a3947099fc14890b02129d3382955faad6d4acc3186cb9749300d8ea9b32ec95ac0a8f11515e430b49b12829fa4e4e2e2754fd43313c544cb5b3521c3bdfc9fdfcfa9c35a4e79103a5c4f1b3b5e150f0f95951a4f9f7e43d6f2734b7ce212a1f14d70b2131c30009351dc1caeeac4c546240df2180dfb49dd0c780222d76caa4769fbe03fc826c055a409f05286a61f760ff281e095574472db33b803543f471f79bc711feb4a9052a4236308c714a2555b909047dee9421e3a9d04d4e7785077f71541a46084d0c72c83528bd367b260bf4baec560cab216f6a5ab82164bff19e6b0532005db300feb20a02e1eea6d9d31b4e2b0415295b9fe9c16650f25588ea94f0472328ac03bfd43876076e94c08506673db0b2fadcc91e1dfeb2439c9863e3063bdb833507bad8d987160ec288207c20a0df18b4c9b1b00b1d0feda3505c72e3c63f72c20ec41c2e4e377dce092671ea2f2ba7cb7b291d1ae230f8b26ad3b9ac0fbcf2c602f808c5729f1234dec272e59929673e32b3b4effeeb6fa74b33f211f70b80210670f0866ff75fc199e1ebfdaafee3468a818e1eb7fed5dae34520bf3e1b0c2105afce4636a482be6c9b51a4d27a170d22c6da8ae6324d6ea81f2bed486aab0f01b3eca20a60e739ebfab2cb6a374fa7287768b9635242ce1ae5dbef3879922c06817f3ecf8a08bb64f00c04a820a718748c714661d2f90b90113926a242c7bf092e54b99799098f8d4a10b52117f9b1cc044133a47eaf8b235d89db626407280766fe232f52ba22bc7c19113d43ffc4bfeff57b0dd811db81760403a11221c2056e9ded4f7e88f277158dc94ed1135d9196e61cc80e259381a7f3bc1135eca40fb91f963d6c38bf83d7b9b8dd275a146491a7fb0cb69539c3659f5360ede7170b49c57ea2d4ec258a8792cd2e7746c8955b79e9ac1e5ce0c0498952c3b91616011e98ebae173c7b74ca004c0fb2000b990a7a776f89b12204d02b3362778a67026e448e3c546bae75889435cda08570c72a52d7a30524185c21b5774c9727220408d5f57c713fd33aa2747ec5d61e7852a94db2b8b5d2ebbf90fd3a12b490830e7df75affa5d202f352b4e73128776b08a2fb415d1a354a3dc69c4845faedc007bb1856af1d47839959f012c44c0294505177938c6b4ba98939efcc69aa87fa029b68a2308e53d79dc013b557e19ebfda4bc93b4101c3596cf137c68cc7746702b53a6e2a2d557aacf8e7ef7df513bd85da45c1811529e4ab5e0bdc601f73b000338ca3699d1935b1a4d5a7e9fd36bcbbd9963d3a264c09d11fa76d1bdaa3480bc6230f56760cd25a47e0a384f1f3e921575e24f2cf9ab10d144822fab4e5210c83ca06824acbc8c4acdfe709cfa250185d935b38c4dc5d7e9b9bcd37a61cef3768a2961ed44c9ba5706b9b95e4fd24627fe34ca79483a2a04a483b5a69c297618dd52d9f107ceded42a02818d55f5a322df5d8c1a85591ef6a001357ecd8a25289e619626154939d5c02a3e1b82987411e648257958259d93b220ddc24aeaaabb6286f67ba87cb18bf546cd5008def5780f9af7d7b817fa2d30f9b2f4c667f1e63f9494e32945b4ca1fee45ef4d8fb7448550f5ded771ae79ec0ba48fb0a2b7ab4d7500e24ce807834e708c7afb9197cebba8755db2f06869b317374158c8f2d31c3d35ec57b0408331f5aa18da7bd620360b83b1ffbc47019ab09a0fa18d12511e22449a0ccfd24cccbd2edebb149f5b59bffe31bcd6ac5132d2c7bb804414165d17770f4eb8b8253d1cd393c4dc3d9216a538f31a4db9864157d0bdb900581dd3d85f45f36124c8f4ecf876d09cc626108b0769cab79357e6fe34ec1aeb94007a5416e8dcb13b0143db8da0fae95284b872c562f9f272e8d29eaaf09c8a4a3b1bd72892bb3ad3a4c4462969ccf431a40f3213940fa530c1adbb2d595e8ef94aee36de8ed09087d769cb8ad966404d7f689b60e020e1a977fbe70e57a31c096814d3f1b5e924d55ef79259599dadf4ff376d5d120c2d5aad9e14a92b8b656fe915a294aca796cbe6b15d4b0dec70aff9988a00514582afbb519f64ccc0f989c5fddfa9b2f50b37653e3aed60213339abfc6d0d58808d0b677e98248e0db2e64ac23b371ca2f9d2662a7c359d57ad770dc7ac4fd6f5652fd4e8dc66f8254969a37fbbfb4b2197ec864c18e1cf515f6b2646cf8fe5ed55427807a7aac9016cbe811c86f0b973916d5123dfb8e8aded328a464139ee92fd22c69d60fce6906b2174938a88b62fe96a1c8f977330c548ac479622b2c89db22099d5b1d1931c1bd15c49ad655d1371bcbed1c42734b3ffdcccf40b00b9be3e7cf6f5b8da625a450d1cd489360140022a468fed9be5bf8eeca7ad220ebca7e4de8ccc9d5ca2a8112d07a0014f8491bffa6968f6a70789c22a49ccaca63f196c063a29e69f03399cb7ff7f50bc572bb0902bf43d9c741202779c6e41b3e32c3082ef3a212450f0eabbf61e943d7d1a7dfd7a53c229e1c6e22a6d1893367b2b803ed23825888f799d73cc6471d16157f70c226fa39dcca4a08bb6fb3a512ff06b797f869007b39691f2cea01360fc5eb0925715f36cc246135279ee360522090e88ac7993cbd9581333c2a872a5755dd241af1e0fe04ee5857d16494222a32e4d9a1d07890492ce8320f164f0980ea133024f370e914fdb5b1ed02f174d0fda91c4a0f5cecb369745e5d7e4bf0fd4f0a2f55f5cdd5e5d20dd5076391c78e6f97e7c930f6bdacf40bd5a2edd56d3b68ed4027bba853f0342192a379999127dcd27c73fa21e06d37a6b6b5bc39e8d7c2189621f38e74a1fdad551586919d4193a3ea024160460ba1ecc2c9104e43a23bd24baeeb3adc43543d904d98c0560a246f7f21adc0fd21205dd4f2bbb3f4a9d16c4ecda3f558548caaece8dcb08e97d8f086e51d559505128753ccb7d2dffe54e3f7d5b63bfc9472105529f5c1ad027da671eaaf3d6045fe0b556e236a17d15b7d6a916a6ba91bf2e75045fcab0dda68803371c08b576563aa779a3c3f7b739c5c3e2cf6ece351e790633bbfd7055e50e93f6436aa7c4dccc986c6f0603ad20e9d810e1296b89a3270dac70d7d6cabe6bce51085895ddf4c2f6a8c63ce53c14fed78b3f89e30452a9478bd1195a9fb990c4f27c2d18f7bb54bd459549d6908255eac8437ca24a51a7b050714cd034961e851fb90efcb89a81e3212a0bef071ab6102906a9c0735f0d56f496011c39c25bb03e146f98121020f58ebc06da4537dd79e48b016561392b8047fd4047d9c5c0afe1babd8f32c6292fc36b1e79c0ae14c42ac2fee2cb108d40c6d91f264a3046485a3adaee2e23b9a34bd6f5b8c73667b7983ed1dfecbf927203d9afce3066bc7fa9ca4ae8d234192d637740f088d43b0296017bba1530c726c1c337c00ab288b97376a6a97ffb05e6596b8955c22c3501e373cbdbc54dfb1bf60367840c895d2cdca3513a1701c10e1d11e79d80bc098cfd9ea04d4296f4da2bd398f52ab76bea76730d82e76836aed863644fbe5c8a4f22aa7552de4d53e71d42e51b4f59851025cf3e4c1a8b57c2e026194f104b0865354683b09a13765451ce31198cc5e20ca54c1b7142bfedf03a7763d3eb0cc4a0ff71049a4556ab962caa0b3b8dd8bc78eb227e27280f789b728b416c2df52fb672628d7822e7757415003d1975634dff7ea0ec3bdb2bee4bca1de669fe68c3349a590cc9640c976b8d3580acb183ad2a9b9923e3ce7f2679d1656d921f4615c48466b28a8fcf309215eb1d6546084a7c53d837a59fe0e5fad510bc7691c29880284b696f387d5cd2214c08ed00f931a412f747354f98682f6c19e4c42e07d8a75729b8578a46a9d3a998d94b21a0c9fb235d18d9c172162341ea2c0533b267b692b670f6eca96e4087d4dbed18bd2cc7a7466527266210919dcaa8ae1e19549ce14a5e511e3d1f59836b4e09e59f016cdbae1b715030b9662bb7060f05ad0bbee62373d074a9b53f483732777c612cfd4c275fff73d8a501bdf7a0c2eb8494deb2195a59b6b0f99c50a8e99069d56ec104aca17f0ebcc880f76c6f285ce3d03c2f0be55d836f45f188c841c691d720f2d2365c0e23709e370efbc8eeb942bbdcbef23aeb118631187239b9bbcd70de0175e98b684ee6023b96702ebbf1ae3f5ca8a9dca6498afd0252c44930b1c90f9d3ba43f4aa6a75ea0191ed61e6e210ef71a2a7389c8c8f947ff668d85e2564bb07510f9a8ba1c58674a1910d0c4eafbe00574a8308b19df2f8b474ed5f81b080a1c9a07edb216f236b0219c5e4d5f24aedcb8f1807c55bc508f2cbc9a3e30458a0ca4e4ddf138897220d757c876c50f1fd14173e6358d338c922a4438809d606bc9d91816a634331ee025f65760f6650fc63c9c8a5326f0e1f0fb1916425dc108e684ff10d621b7ce10fc6633c7432db26bd713b532a7d9788db88c42f5c84c8f576b83b49b2bad9fb02c5a0740aac474154a6205270d67406e4b5d80af40896d696a0faebca9c910609d32b03f1b23ac722b1fc1801e5d0fe4778abd4f2662d025fe7905e9b38b3e0057d37c0bc65f9a6982fb2d3db32382860c2371ff463c9c81fb991703b548c9e0f777ac72ceec2149405126f9dcc5f18cba19012ace4f8e936e4324f30eb366d07726f143546efaaaa8309e027325b19e4f2b34481fe8edba09cfd67e48e201c0c251bf9218d0d2db8286692e1c558c59abf1b563ef17828830423164e642873080a20476073dfe969afbf47b04f69b44364de220a7212dde70ed18e5d50688e070190894c8bd3b3f06cd38280ec280849316bba88b6925bda2ba3531a8ff6100f6ec2124282045555a2131281abf07d2b36f2aaa4c60c98fbc5a72e716f66b00353c282443c1ce8bd23974be486e30269eb8e4583e62f1b9ed15d1bd180f5190e5b72ec9729b8d2c32285776e8a84aa32150bc08a12e0b09c3055181052f65c0d09844ed2bf6ec9158f648196acc5c5e740f6c7093436943ba181e60b0b525b0615db23ac58b1b67acbf1a0f59ea1a9f7ec9769e7ea0519aeb3ba1e8d783a2a05fe8a34bcd88749249e0d7ba8a0bcd1cdcaa7d836d2534585eecf38a1dcd5360d292e8a9c7c1c25c90a8fc4eefa3f22392809fcf6764c06ddb169b0058b505a08f7c38f4f8e8c12c888729c23dd9ae33df30917120150bd59720ce5dc169eed0edee1b0f9ecba4ad43ff6ee0e1103c784bcf1e4068a348111f0f4ed7397c8720fdb777c4206f8b70da082a2f8d2e92220229fa6c55402119861e671e8c9f31807b52d3380a8bcb1d29bc9795989fdaceb185839dc16cf8b115b3e0ba96eb4ae0b29762bd84ac30f8afe03f0ac7140515f28aaeedb50e98e51ee16236aa8410c0065c3813512229c2d0a96de8ed252074715386e5a5eba1b93d77cf344c9466e05ccfd6892160efd60a40af3f94ac81625acac363ccea77665eb6bfe33a69c570af107fd693722c0e9439c36ddd7d3a4a2edf496cafead3455cd23b69190fcd201c1db6315c8c03592c86a4ad3c17515eb30ebcdc42ed85099ad99aca3af87d601137cc4c899dd7b860bbcecb1e804d4ae784dedd01b3ed1e04d74e86160244c08619121bea73d7afd858287683958bde5319f5d1020700f52ffbe564a6e8e9109c1f8423ba825c221be5e9be8cb1d6b74827770c365c024b8989b18a45c612b0263d0a7c3cc19bc6c048c5a60fb228de2f43196a8802dc44eede70cff7d84cc0af37dc7829830e7d888136543b070d9a99472c1f70255bf70ddc9c0299fbeb007d92096ab2018d68144def74c223cf1d845a2c5b850613307ffe27eb2497ce80cde0d7c8243f3ac86f0459e3dbdfdae11a0168209e86bb90d0b47a5b91efa28093fe2ca554772cace53c08fac18d003be5d79afa78e7888057dd473761335bf007b0dc9cb3d79122c67fe5dfb6b3715a9412ec7b5b4b9dd95733d86a63442530f6a21f0b32249b40584cf3b3aacce380d5d3eae24f42fec00e6e9f73813526a07152cce67f8e46d89b3f6c74fb564d43a1ca94e9f04a3d406a635656ea020c4088f6102da9534922ba27d53281adf30b7336616060884c31c7f83491fe3ba5104341d2897549feb54172bf1ca72e6d95263e025c4698b1530076aca0089e59103e55ed49b46c356ca5458f2bc6789c2ca6b8062545dd830c5f71768f82ebaab03be78c77035c67a567689ddc3cc8726ee7811af7ee8c06e157d4c87a909c5840fa19359e07395b820876d40d80a7b4aff426b8e4e2803ab1fadd1b630e6c1db0de6809988ca5a56233d318f94204a126a605942d0628e7cba88ec227d4018db057b45a3ffff61be5e26c713a4362e7515a4e0b3d7f4132b6f5543e76c22a28d0eb4359c2aa0ac26651ac69385350cd5f308c84db05cc0ce991d31d04d18c6890d79826561017d38bb2ae636aca2eec453436d4510a4d52d571865ee4aea36c0070d167ce0035fb2aff4a7c450b60e0fc92d6e7405bb7b299d14537027b260340f1576bde7c27fdfcdd4bcb51c96e2272ebccc93fc834f3328668f27130dfae60976e6e17ce6cb4a4a2a108e58c539e90172c0109141883e0bb9dacc2b7df1810f84454f4e185538749a986ee94b34c2587d36813f06496b5c78a85a9fa9bc300e22d8f8055afae6504cf54ee99dfcefad61c4f314f1a9d831cffd498e066a9d0c389276cf18bf590091e78cefc8c657ac60e22ee8febc0acbccfbb6d0bc756d018fd57533905c01d33f684be06b6e8ac5d3164c2473f2d2bbc2cc6f33ae3d980ced83c2f9691090dde73ae3d94ccf5a02a32e5866f9457321b2c0c6b2932d100d288012fca3b8caf82080a7b254395bac134277699f0e91ccbe429df8504ae00d334e471b530642a542d470280b1157e9edd978be004bdbe1855148969f1b7607656fbeaa3dbf98da4103fee661c049f1a8cf0f722d2ca188a18614048514b90eb3988115b87b3b120363defec35214322fa1478530525cad835fbc075145ec089aa2a8efc02bfc11466e5355d955dcbf88fb74aabfdbaad82ca18ca8bc80a703169aaba1f8b1de6d036e5be656f8739f04f0172f91d0a3c3cff6d0e9f265dd0a0bdd5f9e954ee4534646adcbf4d157a90ec734dc4a0c13eb728135b29daaba02d5b2ac38b390502f181e756c69590f6c6bf2e6430cfa2e6d2f9675a219501b0c6a5006d1ea075a196e039fc9b4460a22ef2645bd98ddb11300c4d76ef0646c04725320885933e206a70c7f069408f5ef3c3bccc195e2f901cdfe81b7f01a870332aff32cf339f1bb2601ba45d062bb0fb1c1f182a55260b19c18aa65205fb409af3b27d5c85be5a508bf735a02853ad7269c63636cc3ccd0ce4935b500aa720737def7452e39b3235d0e115961de40c174063883becbbe895ac13fc6574df7045418ea8a8dbcf512172efcd5dbfb6688d949da143dcf082d879945901dfbb601406e263f616bed1e969964e000f74e9c8ca04fc8e4f064071daa34121d6b5c0b8886a328eb8b922bd1c4c511ad867f498ad96841ac7fa2280b6ae0be1c439d0dda808cd74cd5aa8698588d622f830a898beeadbda5d0ce5c71d39c479e9a0e0f5a481b848bff2c6668d80d6ef9668531d814d8caf51ab6c18eeb0fd688f0800e4416f24f4094e76cd19e9f083ee00ecf4275ee01e6f9073d4a621e1d98ee040ec72a8bfc1483478ea24dd45ea01ee8a5c516ea50970efb0e3f21bbd5737e6e09ae78488130cdb3e4fb52f54e3f644b45f2c88d35a28a1ec9b009afd3bb8c410bcc09f411680d7181084b8e4a58099512fab865f39673bd81901adccafbcdb409b43808c79551548b10d201cf8922fe5da8c2154d601007980aa7407489fac50cb5a734cde8580749968d53efcf066856d190543ff5e4bd8d02b66346cce24b0d9f33afafa9c899ae7145c1f7b5b0e85090dea52379a0121e6566903078982300fe9d03c7b57335ebfbaf31f52e720ace0c467703c27844084635060815cb3c0b986ed0b406cc389957548f04d70eb2a8e4daf0a49e9a54f707acb0a3c0f81d0780595f9a2e58f618693ce928ff54f2a4a47601c08532959c6aef0915b484fd0ed1eada9fcc2616e181d3de0b5e95c880d866bfff792e5d3e5549b80f705e94095927a1fae3a2038724b5de59a786dc8bc3d3286c5e7c114b9846345c004a6d05491f29f8fe23d6daec6ea5f89de526b0549686f8ea05a950e045fe1af95281097cdf8052039ae20553f0bb12a875b507b3c394515709acf465113c51a361cc0c9d8f621010abdb43e2b96f1b5fe05b507b70e80b9382e3129b0bea448dcec60d78eba7fe0db4bd25d96cb8a8a5faba3d0ee8963fdfbc0cdd7ad16f97c5709103f62e1b3b015ead01cc315291c3c2304b592e104fe8a008d54dc8fc15a7ac39087d63f055e7b87b9312d58cf3bf4858a2cf9a9319339888b680783cb902c9fb0a111ec094ca9f8ad33863bee0d0c243769b5fa8d57e81cf7077e256785fd3c703b4d1dcd47a004d8a0dbdc1ba9a76bb8631b29bd329b2742465b07862fe833308f67aee1667d3a7be0d67d912b997dc6118b9f4dd759dadf1a325f7cc534aa405a1641d10fc313e6fb0e57a5c2e2e603c5dee3896319fd1142ab0894a8904090f64817ace87388361e7a5b0e418a366308e7504d0347daa7daf90213b39c94b0bcfa9dc63d5b87daa690edf897b5c4aaccb614f267071853b7f6f92992fb22f0e42fa32681c44e181783cae74b54682689153d1bf358a8c3eca0eca65ff48780e7e760fdb82b1bdd4169c37b685d35c2f64b9f2a6b009f62324ba6da8bd4a7606d1940c5700a1a57229d82e6989414ae937f60dbf0a275ba10dda13b2c4502a01a5690fc2ea2ac5cdd445570e568a64f7a7871f9694eb3905a1bf0dae9ded1408024ad299d2f2d04bd6cab1e7beea5abc6e3cc7c87226d93f329007fec0099004da76d8ea1c8eedea6664f762a410e97c527ac8189ee310fd3136f5a6d552100b3f0d1572d84249d88a218e5e8b73df39a8a9fe14d900827a857f3aebef534c0c8bd3a42443826ed5c4ca4ba21591f080f6fdd304103cadaccc461638cf23b90cd8ccd1916603a6e9bdc086372e91bf5125e15bd837c0f9a6a691e6da704cf408dc8c88ee168eaba1d057648bb59d04d69c67df87cbd0142a6d5bd87fbf4d2d0f6fb0adb1aa1652dcca6a03788a4296abbb0d688daabcdd1963e7b98954f6be0ab1413978513504b9e5b2038438a1460cc3199068b916a7349f78881395e2fa08317db264572687c8891a3e6f41617d6448bba0bc17c116221d3542dc73f91b0ab490218da61eeae4b62b5f389bbc2d8252c2114db65dbed68a0405e0d153af0a344b8b68fa2f054402fba9c2ec5b6ce536be91b1929fd4ba3d8e20a2d4d7c1007ff87f7df5b4c057ee42c371188b63d9a1e9d1e63cbd296bdbff51c204cbe800c342558408a4434d554af4030855ddd0ef0295417c669615a7635e0d4a3f08024077d4bcfed78faa15c805cadfad0d0bb1f628dbc424a1e7a945e8908438d2015e716c83cdf57f8d6065fa86182c80577213f07437d9bde259a0e54414af410b6516de6eeda634d241486db5966a4f4aeb9d18e92dc9fd9f4fbd9a4a7ae15d0ddfcb8f4f6a5bb544f045217c36345fe43b64aa0c5d08ba1104fd13b57d070806e7d8a83731fee819f5e8f5a892ccdb64fde073476966d0d8ff13123b3d24040db42fbee63630b0a86858cfa4231844bc6176f36e6fcbd94fa014c321b5a05d0dead8501cf0015adc4e933bac66696e6bc92ef1345ffbb823207df4869b5d720e6fbcab98627a54501421da7a00ceb02973fe2daca9f78d41ac28c0bde44b2b0905733b8424df52ffb0e67b2d67e0fccec31f6a5a682dbbe42886c621d2da8c0cee5ec5c48a6f5400ceb2607b9d1094ad665100a84c35c5bb82eeb9ffa0695e0afb40b5e1605d58c8a50dbfb91a961b387f43b263eaacb365bec80b42615e33009ef7dd83787b0740e09ab385c991720b003377d97da4c3fe273bf7d35389980a19182e174a5b1cd8ffc83be319f819b6a5269c96bfc467bf3414d9260bc2e10b9a8fe95b539397ca8fedabe611c63db9130e8183a77bd346ff4520bc502cd323b5d10463dffab6b3278e73e5771ec7d2b103a66650333f58f04119036fbd34c42a021cfd12f2d68b19d1aa373e4bf6621dc2b7c42d0b27ce6fc01199ad5f34e74ec954dc8bd7342e573a58a8880ce28ca83801519e9dd7a3063db98f60bac11045815fd39fdaf1c1890bcb355cee46761fc6bc239c3584f1482054a9e345626f6a1b142fef1970da21a2be3f8e052e4e0f9a0f176099606d6e29dafb5a735fddd81cf462e40c424daadf72ec02f70e2aec1d18b7de4ef9d1ef9e364dea63e4a4080d720b6631268537be3b74c225782608fd2f0bf71c70fb84d88f0bdf2c0649a77e94cfddf710fee9d39e765746e09f3437c665c6c962a9043a798cb564f83e4fb5c99ad93ae89f0856c74a36c0fb7512770c91b83e40cf4960b128cc009e3aba2abf5685ea44453f4a2708f793503f4905423d4cce0a135f923ffc3176868ea7fd2cbb1c7801ecd483024123f61ed919f58f6faab196283417cc575741d348a98a31e9188768115a0eed01b8f47fa9b62a89e821c581cbebeb0069f2c7fa75ec25a8dbbbdabfa130b3443afeb03416671c872bf99ea7f87655304c5270e047a719716554ddd0142a529e6c49b67d41e78bed286e3137698313ab321321866f97f4ea898d23c3a37a941b19702530118fa752a06b7a1e4c61f1f3d9633b73b0c068ecd20e040ce4e0d2632c27dd41faf65144aeb30658a9171dbe7daabd36afddb03e4526e20d201ffd849c42cf3146b0860a0514367a579df4c0fd9dafea9949810711ed7be822d32fc901ae389693fe39e5b28750e510231457e09512d5f97733e99576a421cbf99a51ae3cbd7126423dff294b3b037f3a0aeeaba2ca6a8e1c58fc5b72f1f70415d0fe46c2871e73ab7a4f50a9dfba30c415c1e45af4dd48a7af8b0b0ba49409527e1b2835fe61e43610681e170d73681519efd0ef1775588ed5991b33f69fd378919193ceefe6e99b0fbc55fb2a0db84b054e1e1add6061a3fe18131257ad27e5af6338a7bf79e3497d966ac9906b935e539a4d9d94adc4302561c6725219ca4e6642227c6f331424750ae48189ca4d54f8cef0a328d6e51a0e4073bd745fa07bf77899578c200eac6e66d19245db9d6f8b8437fef9a7afbb69d1a99de13a5dce22c3f4fe2bff36f73e5243b1cee4bc155afa6301f3704c90e5d075fa079d178ee92691ce2152da8765b5f38f82b186d7bce1c853a81c7b8407e0906e88df7b754d58035c5d0536f7d6ade45fb47fd489a5a07ef58e9956e10308a399d2511fdb8f1548c341f7c1eb2ec632a54ea30019d256b595213a869b4502bf1d2806910ef2a31c2eb09fbca65598e1503d911f2ff0cf6c4d906cd421b71ef909d7ad6322a38ecf7d061c212dc1fd5106bbdb726e9007f78c94f2d628096502c5849f8b1c3e79a316fbb6951a39858b333e9d393b3c28d0de43b798c68cd8a245b1e0172c997dd5b8ae89da1154a60ead79f6b2c4151305cd417b05ed13703629de6212edc92322ca841febd3d6d0557d4e26fda4e0f6184ff06bc026f2c7f2b1023a4e30692682ad39ef70201c66bbe1d8bc39cc2f8a9363fee904e6aacc2eca41034791af9be167cf62d1a1c94b9ce32c9415527b43f5837505d93aff050fb8fe6ed47b96eaa81561e4ca29d6a02a04c9671d603576aa492b40c014369c9a9933ee07e3836502a3e7bf5ed99fb35f65e2e0ddc3dd441258cd4d9b161f1dfc53ae5699a3788e169eb585fd91276945dd41363044db68f86aa133349db78f34d54ecb163afe3379edc7dce02238e27d799cb0ba5e1b300235b6e8bc7e450484b07eef5c24954e4df7b75b04e73740e2403b3d37c73138765cbcdc5307c051dcd4466a7e21dbb0c6f3a30e07e89d057e6697c3fe848309d98a050bffb811d158301eb381c3ddc87af73831334db6f788f6d24afbcf83abf9c3a9b1714842f44329d74ff49d6ff5264a1b283ed91a9606919526a7515e105c7481e1468624fca6c6c1db4d389d87e196363421fef88338dcbf683b4540a484fcff7abcd6b5e5864454283c511be98f5fbd78180adf8a168f20aabce0667e3e672cd4de67b1d942538ef557218f1c4b9f45f53b20cf4ae1f001a56c230e363c8df87bb6d78c312be74f5da0b15bb18a6f219b9d52ccc3b1edf85958c492900204e9f13574a88550e2a771e588aff9e61a87d39c5929f6492a41bd289311c7d8740c4a91b6fa0c06432384476f068c0035a57c19c8730e5768bcfbfd9a5d6392f2bb4693990b19faab771bd6cad9e0f7cbec70ba3a9cbec9adcb821e709aa0ad74d921961179e33272ee98eef61d4755607517cc9db96e3bdaecf0c2aba155ebf03abb603c7913d6da5860bccc17ec6f072d2a95f51f41c2bd77e8d8bd997d68b624bc47037e259de8a72188cf1f86f2f36b56c92769998055c5dcfb0a352bbd4753369d3cf1a85ab820557f5f8e3fe76de3e5e6ed3dafcf66b4cd8a82375823d6ac2fdf3f0a10c8c03010d3309452b6a9b8bf4e3a7f47c01748b574d1257f0aa18e6c4732e2e69566101c0ea0b6437d2d64c28902c18351306ce6f1e62e7319e614113b2f426102ec80ca2978d8990943bae86d2077f35019cb83cc4156e12376733876447e0e91ac58000b93344e7409f3eea4afbe6309e23d18c0f1db8b41b6206edcb8c3cea650ce609a62d5647eb8320cc8a40d4ef9b2f900aad835174707f4ec0503ee701d280733d38bbc5e8ea2fa6716bbfa946a9add1b54e3471accb65c9c835cd6912b44dd343a077b0c7e14b89007b15d3192f811bff695929dfd824c1881718287d6e8b3e4a31573dd5b8b9d683e35144ea22ae99eb46fae356d97f6996d01b3353c06bb9b2323fe18f4c2b84d39a3732b38e9bc494cc43e07e64ddfc101fefc1aee9fcbcdc03b1d9120e7fc59633a6ca9f041b32cd43f4f37deaa30ca04542db96cf77cf08805361d04cf373d253ad4727d59968ddb4fa1b33474a6da08c39801a33725631aeef8196795b8c6aa6d56b60706666bc57b22849fd3fa500c27ddced7ea0334f9b92d590696a8270acfa03af69bff0f0b8268d374fa219d0cd224811c9454c83c533bc2719a08aa96be554a0f95fa4ca7c02894032245400b211a9eae98d96052a04fd9d7a8bb382b48468e6d5b0fc861e14ed137ceae560bc0cb0a7dc0af76a97b245966b22597162f4ec6c9f3221a4a69ef43fe19011e0aebcd2d760a352b3cfda10caf77ec902a8ae7bec3700899c9d726dba2df21f103bb703d885b7ca78ac746ca3e99831b4e2f7dd999ec44cc6922bea346618e6001f51f387c2cfaecdc740db9e44ecb4b0da370208ecf3eba1c15ea70bb06d63404025b000aada40e40e1e737966d7729c5084dc8e9c6392dcaec97b4dd6e1b8b004831345902ca2628784ad7ee435e803d31b5275931210b5ea4fcd5132fb8eb07d79fdaa8ce14a5ebbe21d7c2388841207a6920f04c6184fca780803a97930a0f5107450f0e50b530753f8a7efe8c9f298cc00b5b585e49217aa82da904ef33095421011f97c377aaf76f2390c6ba3405754e311e35810701f20c15ad15bd930c08f3224945681dd53e49094d286f89a0cf29bd90feac7a616ba6cb52f47f910a"};
std::string tx_blob;
ASSERT_TRUE(xmreg::hex_to_tx_blob(tx_4b40_hex, tx_blob));
vector<tx_info> mempool_txs_to_return;
mempool_txs_to_return.push_back(tx_info{});
mempool_txs_to_return.back().tx_blob = tx_blob;
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillOnce(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
EXPECT_TRUE(bcs->read_mempool());
xmreg::CurrentBlockchainStatus::mempool_txs_t mempool_txs;
mempool_txs = bcs->get_mempool_txs();
TX_FROM_HEX(tx_4b40_hex);
EXPECT_EQ(get_transaction_hash(mempool_txs[0].second),
tx_hash);
}
TEST_P(BCSTATUS_TEST, ReadMempoolFailure)
{
vector<tx_info> mempool_txs_to_return;
mempool_txs_to_return.push_back(tx_info{});
mempool_txs_to_return.push_back(tx_info{});
mempool_txs_to_return.push_back(tx_info{});
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillOnce(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
EXPECT_FALSE(bcs->read_mempool());
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillOnce(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(false)));
EXPECT_FALSE(bcs->read_mempool());
}
TEST_P(BCSTATUS_TEST, SearchIfPaymentMade)
{
// test search_if_payment_made for testnet
// and stagenet blockchains.
if (GetParam() == 0) // if mainnet
{
EXPECT_TRUE(true);
return;
}
vector<tx_info> mempool_txs_to_return;
vector<string> txs_hex;
string expected_payment_id_str;
uint64_t desired_amount {0}; // 0.1 xmr
string expected_tx_hash_str;
if (GetParam() == 2) // stagenet
{
// tx_hash 2ff79595683b546c8959e353b2c345394ea80694073d9237a146448bb65915dd
txs_hex.emplace_back("02c2d20701ff86d20701f88ceccabdbf06027b0b71991727c05f0ec98bdc0e12fe598acf8eb808790c3692550a464b722ec22101d9d9ddd1f2b7010715195405742af8fa89e12c0d6c3f490c81a08e836e3d516300");
// tx_hash 8a7e09ae4bc4d85153ff85350da82d076461db61e94b321fb727a0fcdd96e8e6
// this tx should have 0.1 xmr for stagnet wallet 53mqDDKtVkib8inMa41HuNJG4tj9CcaNKGr6EVSbvhWGJdpDQCiNNYBUNF1oDb8BczU5aD68d3HNKXaEsPq8cvbQE2FBkTS
// viewkey: 53c5850e895122574c53a4f952c726be3fe22bcd2b08f4bfed8946d887cc950b
// payment_id8: 1f5d434f0b34448b
txs_hex.emplace_back("020002020007bcaa04dc8d028f439601f51d57d302aea425427e03cb7243e20e512bc03a9c7cf2f3a3d6178e8b4e3cb4930945d710020007cd50b92b9af302a2c302d0599203ed0575b11353f8f35d282744185f5107da43f810c2e4dcaac815280860da016320af0200021d3890f92bb851512869bf2336f322e06501b5ea55b000030380833bd0cc51570002d1ff798caaaf37667cfa616e3bb009a5605ab03acf91fed4f4f2eb68c046a5412c0209018f19d83c6f305c75011137a812db81609018a33684ec8350d6f9d2219f235fc9263af85299e246cd0302c0caf0cc3b829bc083f46c4f70d3c5a7dc90908d665c29ad4d2be6ce07f7a1d4b9d55888cb6a76f8fbf6c5daf3d6e57d7233d037db92969f76f459fc4194279f17e359f664f986047e3b121dc9a5c0ae98d22abb96aecbdb14793c11249fda611edda9020b2048913a6a6b0a466ae005f199db5a20138eca1ff0e165f051ef91f4199cc10af8963b0b0d9e4b3dca91dc7e59acc9367ea99572f3b92f4f2718b2975ec6b00c40b0d4bed4589c357d3d785434bc94d4cc60a81a3ad481a9d31cc06f586f790a05fbc095a5d64d8d83d841d51834c5bf81bb91abe5fba2d95a871f6a00aee10601858567a1151d444fdfc43a37aa7a4957e9318e5b221a29d432ba3b4a7b9f5517ecfaedd04adef367e601b5deffae36ce58b06a677612b6d1328e29dd118f0a9a15e4e4b2d672962e7668455b76c62018cabd9a7325a7bb8f62cdbbdd19d109f9694587a5edad9531f2d69826e37882fc13e3bf77cbb76132622658bcaf1f085acfef452ef2f8597186242922a4cbe7bbcecbbd2d832787704564c2e4acb90f41f430abd50bc5f3f2491e3d5a80aaef5a1c9bd7305107cdd99e863dc9808106e8f33289308f51962820dee0662719f4580d2d506292f852516f63e546bdd20f4b33f2be65689e7d099199bb278e3c4de71cba3e067b6e3d3c31362ed505bc01087ae0bc13d793c56119aed7cecde0d16ecd5c85982d90ba0107bd9b5481f006fcb91eeac29745f8b4ed16e80a47df0dba161a6f63f692b3561c2efda7dc68030f0b8a19fbd8d8e7ee2e9985ec945fe19495159586dd076441449818c4dde40bf4fd7ecf3c94531cd061d8cc9af56b983d71120b92d254bc62755363c95ec70eebbc66de97fccf3554d1b92f7929beaab552e4a79cb14a0a0c27df3e2c0fcc044a0531d23c0e05a4935a7de35934ad7a6e50857629f165740dd78fb9fdf8b80694937a2e3949dd16655b2b449252c1eedd4a7ea71d92433e691d38afe7dfa701af904128da0f1c73e61fde12550777a17481cf19cff2b734d49e07510997a70d29bde78592c41e8096552edc844f75febabc80c31bb8904e35c0837645386d0632badc529963ac1bd865231a828cb78b460e3e68269a93845127ae1acd91fd0ec771694d0dffe7fde7863ea3342e5a89ec99cd0b16586524219edc497b65fd0ca6fbcc71c0fa632a38243fdd478bfe0c32e27d9af2d4a36e76b98e8ed770530bc4c70a2543e9c372e84774e82b5fde2f392033550bc9d82d5668d1b1da02c507b007e91d4eec5cb9e7ecf6ab2771c0d18d6f2d7d69747d1d649c58377151320138ca5e283bc244f972b463a2415850205ac8dd33c51178e04f8cc35d1f64fd079446d307d131eee099363b8a77a547e7abacd0597e96f7ef76b79bde0dfb4a014fe147688a9920952a9225248ee0c3fc4271d35936185b3508cd6af1258842087de145522eafd725a8dc9513ab95de2f8c1d9630052f363a7386653326a9df02e1b94e73e074a2543d50d43561868054feaeb999c9460eec6e1d6775bdc013096b67e06a94d90531ac7dd86c8e9573d8da74ebbba45d83fd544ba075adb69000896f2149b8ff594432655b92cd1fa61a0e2425c5b6370267e1929e9fb85d71086dd0923693ee0bc2b3bb76b47ee99703e31ef3f0989793a21f805605ea219201082790b3e37d7e646be945c80ebdd50b648463bd65055f342a66a63edf93c7075b6d28bae1f4579ff9c01a956fe0bba94b32dd941789110579233b51c4bf2500f24ff159a83f4a25651378c397a489fbc3e7b34439b5a5ccdc18182c29e21403fc4c1ce9a230854633887d6da03b20e647aeeb2c3f34d5f894c84295ffec7e0a1f355cf5d64d4c6ff29cc58717cfbcf4aa77e50f3c1307223b15b08401430c071ae7361e88b2137250ae0e29570a8a57acc79aedff9151104cf9d312e51bf2033f28024086377a06b4d8bfb2046ecae1265c727f82c2110b4916e3c1e342da0f4ac3df0a8b4b1ea2668d8b54d2b75ad7596544063d4d4d2ba7e52fdb04dc790860b8c39c75e9c38687ec54d0466ddfc61b9cec3f4a22173a9215fa60281b790b5ddd401de6a48bd6b3166607e7341729432527017b847b39efe9bf15f16d1e039f4ba936878408fed4be7b7dd147ae1ae07028c916711e020d8191438ebed308fc85b0e1969893270c0391e4e0bf988fb132b30c683b3111f04bec6567a9e30a1143edeecb0a552531b5062ceb11afe1db329d066d320690b9ac58971796e4050b93e15885ed31ed69296aa5a3c32ef6d6d68ad2e4ce039c7d4b40044df6550920ffc6a52e051588fdb16c7690acda11bee9554f25933a9afc994a4165cb7c0d33c232d702c6de7a2e7c0a6e12c69d4974477f750975a1561f41214720c9840ddddb15a20b3619ec6943cdcb569abba069dc499cf3b845a3e0c04d6504bb100d6c11ac99a6e61042bffebc157b3ff526e29012cc0feb0249360a35852f328f000d13a31baa0319d657ab11bb2e1e64aa9eb87fec7d93c3840b2cadee0412e20917e8615663e2d7cbb86c74ed382d4f43f2421578f686e3f3a286fa52f9906107466c2b92549a2c4cb47c95feabf7d7ecc7ccf612dcafeb98941593bb3213ef0a8d6fe1c3591dfe29a7a3ac12864c71ba042f823ac3ea5934a4d0363547985904ed39081921e3f4fe779e330793464be455b87eba4092ee1be77213043221f80b440fd19e1b74df32e2232fa8a998361dbc2239df1688394ebbe89f96ae917b0ccfc99e42fb1de180e1ace6482aabc955b11f59fa35d2d78c9588e5c7d66bb606fa1342fb8eae71c9aa96d37787e1d3c18fd1970b31e7f8313abf71f764f31e037c7b13c305cff3156624ba1080c89ffa52417dbca57c1fa0eccb45934e05290917b9412d740a0bef000fd404556326442318bb7b4ff349b43cf13c54e52d8905a84673a54a9ce248424b442563099eb6582ad3d1758556408d6eb1927d03b10f91ff20cf916d3e0fff26696621cad2a80d1f3b84a855315882f79e96e042bb0f01a9760ca9d2ac892e4658f1e8ff573b0f5cf6853e8e97628f6cc8e83585870610ab42ea8e0c667352f6cb3905f8617300d035e8c41ffb4d0539dbacca80ce0100940d631011d067b221fff433c2fb69a1e55e6c5f42e97b12ebd15fed057f0c205336cb6dffcad4137f22ce6353465bc10f75dfd952f85a00bc64b1b830fa0ea56fb9ffd50523850b4de936654ff72f5f0ec4de23422c34872b9ff0255c0d0fc2b26b78ebb49b457294e62a164f7b62f5609e687049a9594247b9ec593637059a5ff077f87a30c005b26364917bd5265737e30006ee39af5ec0dab7fb273405cd47341d115343b66109b59a6dee35cd17adbf73189740cee05efdb8bcf3740e12b9df9e99abe2888b33f6795c159a879c0d6ea876fd1287a1847ce55a206d05b9b5ff813b05e7c6c2801e4aca8d4f911798e07d50203d6f8e57a5e429667307a7d236e4a6cfa7c268decda3d729994b60d3f2e91fa764448b19930bbfa4d405e1dd1847dacf41f2f3a7b640a876d9b2ca9128970192d008f2140da255224d0afd8d7b1b9e4056fcfe8bc178bd14deb96e21870dd28ce5d7cd42ba83906216020dc048ab2c8563e4cf376a0dc816538ba429765ade6e9d70190fcd0b6fa370088264bb19decfc5884314eb0bc04ddfe022a952e9178411d142e4baaae89eda0e993b970d37d1a21336a7033353a780189a0f926bd5d87ddf8e531da370cd90045912380f52068bc41f5e1af825eee31817095d6038628aaa45f18dd8f5ce23020ff0b45013cf7f07f19753ccde985b6558e4da99d998974cf76b93a43cd409053fb61c7f6de39e7e9833f4ac9bfb790f06cc44140e7f3b0d0ade86512631c40bd731b9fddf36b192272a1a08f5cfa30efdd33c221eceea880068b94d8bc8e003da916fe949e660b9c00b2c1a08cdeb96ee9e8af8a36b3919f887562aec65cc04a12b1d3aa5324ce8de24f0bfafc46e7a16e81a1193fe2cda41e1116b17e70b07fee06608e771836dc7315c854ec1b5908b452c0963c204cbdb978c7dcc3ae009054645b48fe3261ee52dbdd779fd16cd7f5cd5a3beb0e2225b0afd81de907a0183817bce0afee5bdfaf6872c565dda7beccd2215e88d76270e98fb20bdaaa906ea0d9ca906e7628ca0b84dcc81915d62366388c456ca08db576a8ba97377c8017127ceb351dec4ce0829dc7873764c4e6db7d16c3fa60794d42ae484d24acb0e83989d26a428ea7866b39a68e347c49896dda113ba47af7e6f019f1389a9150bd4d89da91df193cdace104231129993d601b1c58180b3b5a7587f276c49d2009952a3b9d717809706320108ddc48fb464ba89764eea08fecb29a0ea30520c40f71d7c94020101c02af91bfc412f5c312a2050e4fc14263717beaa0c436091d0c2ef82071d835aee9b853e7d41c6e59c353aef0356e74dbaf37e629793c9eaa04c249cd7492c42c81fc9583a23fa2d83e4c305ca21d5f26a660467610272ebd04c803e0eebf8a051dc999e64bd9ca62586a26382665680968c642cda0b5caba0517a988f68f23973044b740fd02c3f4aa86e88785cc360ce764f250d40cf358052f3807c80252b825d7e46b7e1a161557b937ad0e717a479369c765856c78be06032f7bfdfaaff23b292bad9d4b32abec0bf1dac3799b9ea2957b736655ff9e0e375fc7bceb517c66fdc3c753555c34cde5a47ab1fea47583ad5dd501e95cb901cd63df005ce674fc99e82ab2e3bb7e8848c55bce93633663c21a42f2c7061c0ccfd7deb8f372aa0723a64d76350c4f6f2aeb0ecacef9bfb907246863a54103061af18b725b2cc7fdf52712ea0bdef1dae751da8b3ebfcb6152757beb4c8d7b0483da93c74fe645f4c701115d2080da9154035501b7e5249aea6b476dc0dd210d03088c2b2ccdb2a3dfee60d6b66e5326f35a779e10962c1764128b7e2fe4e00a7d650a3b807b747207eca23b75fbd955f12fae9a2e17d2d48af4cba2b84ac9040fda3d9b82615413eb1b5147806e69413c034c277fb42246eac4ef94b07caa0bf68bf1761d12622ed272dc68e7aff30c71114b6e309122a0e60d6ccdb9bad0065eb4946bbab3f35330e3ee530043313b4199164ce396a97e28a1d2a615be8804f1d8d1df6f4d11c260e339721e0c488e5c43151b6651f8c8231124359bfc770ffe5fc10d252890ee3f0451e3e22af5a552364f65d2e93151463df286b329c407a8dafe4c9a485caed267ae7c0e49675e7f89a3617128479ef4ee92e1e0aad103b5aa8db1ac51d8aba265bbd77225641fbe292f3321e4b8ad242640be6de2df08716d28a0bf07c7c46e6ab153c46e7ad2c0ad92349bff408bd4821003514438018db7f25477815e5da9808e50bdf8bf68554684ee27a16e23ba246d8d7c55c0049d1fbd8e8252b451d6e9fb095758e0424f6ac5fde5327de5193f330778028a0858322f8357a1f113b631da75cd3ed16247759b592202e59753f6ebf78cca720f0251f65eba74ad74521d2f1f1b9a5c701c39d7a6dbe76a00e8f314f0414c280141073217894f633b64df413bfd870f8cdc58f5cdaf0181d04b3246b843a0760391ded069e2b683488d13be5260ca6c73f825aa66e9d019447bac62105b30bf0cef1a65ef22d5cb752bf53e56cb7b92f2fcf1d3157046e30fccd2ff0ddb06b708eb73362ca0fe1438f83a9ba65b5b74373f026a8c4e7ae5fca42e6138f8d55e089d6f4378296457569cca31658cceff69f4ce81b69d0f3ac557b410eb2e14d7030fed86945c71800d366e8222ad3c11512abbc1fe62e96f9fc4043a335b658906dc78c918395b2c19af75753b15f7bcd5d99817da81d8865ce506619225e1d703f169e18ca5c2f83165756ecbc0077b6c9b0f1478f5d8eb1b272e88f454745c051e9d97c48ce727dc015accb2eda5ec51b737905ef387d65730ce4bdccf3ed8015349ba34f59acce4bd6fb3268fa98ae6f995c057e7ea24e4bd77b33bbd25e90559a76c5238cc95ff8e3a939a790b14da70044912a7a8590d77cd038ea62dee0d6f44ab51ed0f9589d2b62b365be5185a17adaba3ba95ff291a4885515ad77d0a35bde89471b5c913f56c00dfc78903781807ca8bd931f1ecb37643fb1237e900dbd5613b4b2f80e33c4250144e06d54e33e84dba5a13b6b6a6b7a5c610e70902ee946b8f2e89fd3e178226acb1294d7df9be4465fad38d8f05cf69d94989f753c32722a021129bf2021a0e0939fb4be3f53600d359e1f6a152b8da86d174015bdfd1b49102cc4365fed182c8e0e96b79ac40425e4dde9051637a0d7a5d847d67c8ed4802e340e06767bb0e463044bd2a48a47dddadd62de68a6c54f2ac7938a8e5a8f6b541fb27c2f174b2ccf5247d751b44c3c1c6364f8faa2efc01acffdf415a94b0a685f8ef801c2a770164b93a1a4ed00570569addbd27dc5ab9857e78bfc0fcb2a54f68c8ae06dd6ecddfbc78808706b2bed03211ab231d7e397ef9301bc5f0d411b329f44a2d5687137949cf972fc2d8420b9a5cb645638aec41670bfe5e15847de2a4bfe8ef16e021315aa6fc8f7041a1fe4100401a42c17a5a1cb1c60f3fd753017e6f86afcad28252f5c736cd95f9ddbbcb254c2ff16d2010271de0fc450506f3758ddff8be5f1b86e287c608786840cd979e44fb9f3a105c5b0942290accbc3ea2a09b7f4e81ef8379154a0737328e78ed18026f2fdcd34e649127fbe3b0d27ece5a42d7f3f8096bf1599341419a3b7c7d48d77ef60e3aa2f5fb9bc2fc318ca5367b1472c5497b0c96406692d7fb0b56830b90b6172a32fb21d183a3d60ff284745bb97b5d9ec2da024b0a68fa580e60437dc5653cbb872506dc795b48920101bf7175c03de74b763f93efa1b41d4a6917d3375b3caf04102152dbba3b3eb62f8ca20f7bc28dd82918020bd70f9f696d66c6823947daa6e6e54538cf4ecff2e451ec84e2c704113410bffccabf3828784c3bc93bb84fc593fd4e138e05856d64d9c5a2b7f35480d64c24fd795439210db693423b823e2b611d403d11a215217073e51782ff192fd412a6df3e3d59120e9573ea29fa962b3344cf340bbe4a9a44860f79634da05ae04b15377fe95ee6cca88ce2867891aafdaa45c37c6fc7edbfb4fddadb5bcd3ebcf6258c83e9c47fb4bfe9502f66611f2d4cd5b1825346ea457a12d2e748446dcfe2969cb37aea6639f93e142f48dc5c294936610e69b7388d157275999fa491191cba3d5d3a18af4d1548883b214cb5fa497a79f3b2d2458cc585a09284e25fa4849500feaf067016e5583f43c98af9fb8a3753c165e5b7e249946fb35f68511e5cb3fc26c5a61471b6e4ff68406a8464040cb184082671070db3807b4b9186d1b19a572dc55a18c886a03c6d763a6fe210bbd51adce32aaaf3d5d0cfa026b585188e0996d9e523901909299fa7ce595a16bf56b3217cf3153326d4df695233eb5bbed3f7fb6287cd5eb2b9c9f0044296608aa7c62c8a4197e999ffa7ebd97641645153118021307f6f21cb1803feeb9a3d352df99a1c965dd977661dbc094770a7cb47ca8ea1d26845ad4237a447fd4115b066aa7deb4d8009d9e20cb03edfceb72a7edff47178892379729986fcca268dc5ccd7aded2aed05c3103323fb7e9fff272ce63c2522851a5aaf1a9431739a81aa819b7a4a5b56c2b559d1973a2ab4507da3735819150075fc577540b858d48945381a1e62678154ea3a79a4624b506ec43660a55565580a13af9004a6768220eef6abc95372eaa486f991f1d64c6176aeaccc03d8249fcc62225289d363ac65890548d27542aafe3fc7a703405f4c918a6998185bc2e2b65ccee3f982aaa3f36793e1cf6b8185d548dd9ad01a41b76280249fe59bfd6fe3d2dfc93924b37cb753d1d8b7e242537bfb45ba5c1d003ee11ca5523c405fd784cd881f71b7ab69a51f43a3d3b0e999aceda02c94a4ce3f3796738716e16363c7d17cce4513f1ad911a0d6bf4f8ea97332b2061cfb1d9060543ee6eb45d72961ef558510b7981ed1b9bb292bde389b27961e1bf7fe580ebae08e188781d57671a380f5080300e5f5428d96ceb661f870a3262f6271210e254acdde2ecf309cac7240c0a6aa3adbc760a579dcedd93fbee761eb8c6e657904793926164be29eb519ef16b1d4e9d5814ed1108c41db4cf4d30fa6c440b75b9e9798d6af14bcda1d650469de345de93ffe5bbee419f87221faed6facac9d0cddf187dc1a35176677424415a95907f82b918daf923d62647c9d42a8c945899e7890f9599fdc4efc91f0d06a53bd3167a79b8d6dd73b3c0698b212e5c2a975f408ff06f98b5b8f79451ddb37890a11416bc66a7a3d72ca86d2f5270c6dda9cfea6d01818d32149774f9a663f3429373b75fbad429fe90e39140b7e03736461906ab125727e899a3ec2f37b7b73f531c8e686cf43f0663b31839cce45a9ae007d1cb0087a939385a291eaf67d538248f5e5981ebbdfc4d1eb61e618772c9190bbe3bb8c1994a07e71219cd28703d9ccc5c368b54fb4a00a28139f8149426e366ef26df0a20d7c94e894d9e09d069d13171b16047d1d57d3421d132371fb01452aef1b0761668946d2cb9448a09856c5d947d0726fd755640b25cb94f2ac169d1b2c9a5e1b6d56c7ed4bc883a4f820366c37a1c9bbeb8fa3519d18b4431d796a95463136725ce24f921da14e585b1780bb02eaa8c4c4b70680b10df3aca1c3f8000bfd33bdb855fd067e05f9e07860c43914cc1671d3a81b02b0b98db66fd1c1226f1bdc6647f86216147f0e2fc9e162bcc8b99eac1fb6b54f86b521b6747df59c77e169812cd474155ee9d98c34d417c3a672f3593e051ec8d28a4dfd7f9fdab073d3b86010f8aa92ef02bde328522a1b81ded4abb3ad37dfc63ed979017748af4833ce1d3a8ad2daa02a8e7b2258c2cb006ef77c9f5a1ba19f6f959887813ac127e86880c3525526f5e4355dedf7b65ab12a756a4870b6895c26d571c7b2121f43000c70cce210452b99ec8ced3ae900e09c7470c979b1e7edbaf7383c661309431be06d0878b983ae7302621084c68a2d4525faa1ea7e159295b7cfbabdef4715a12da43b6516dff1141f1a39498233f321c0800b8513f48a3c7be461f7581e6c5a301815f3dbf1e2068cb503df35ca971220f50bb4f00e244786f76a8831587b4b967bc3299d33c46259457d39337f9769a09d6a6f2a4085bbb40ad0323aae504a61904aa6a2073763f350b4dc3c823f83a0502e4369e82374c19434bdf1a7ff28d1b50cd8c278924b7eb73177f5fcc003708456a28eed06d54a29ba31295ce4cd790b046dd0ea1be5e5b50b1ce1decf81302836092d6c5d0ca8e4ba1e1d03cc0842be4d3faf93bd92979122e54eeb70b4c02ad44c41929acb7fa97a0d04307664d4e0dbe78a4760cece61f90fec6b7a72a08750e583941a1758e7924e378ecc395b1ead71372541c686d5e7026bec9ca4600bd2bf60e6a27db9ae70524b33351fdb572491584ce0e64eff79de91e4635d30daba9256de0b0e2731be344f573bc4fe72f69172005335e33d9f897d098de3d01ad5761331d5e89dffbccc916071f67c12d3a5ba6fa403119496b71398d380509221ceb68a03c8539cbca40fe39c17ad52432e9d53c28b40872760ca995e5830b6e8db1c7ec40d9ef61ce4aba9bb0ddde7f3ff57774734e086e603f9f181a7d0339ff832a1ce05a68a6aaa6a8e3ca241dd8f4fb0c4d501556d5edd1d395f74a0fe8d3156986cb932ee16d8cd148769082aee795738c4199fca3ccae356438070d167c020d89a6117d7f1074343d46dbbe1668d2f2a7f437166d3e4f7ce51927085ff14cd1cccc547153faa889144aba3aae615e30600b70ec24f6d4d85fd98b0403ad173dd0c836296a78026d6697f258a30ef8c92bc01d504ff0a632ceb3a6044e3fb5a30a38a08c329acffb4fe786e392b942cc2f5856968336eb014ea5410afedacff6061fab229f22966423f6d5dec640cac3665680ed109cf4dcc670dd02778e9ae6694ef27666ffed9dbe490237ab35e1762e1375a16960c5259703710e4f81874a0b16ca89c6bd7b778b2216f44bc21a78bf085161a195244d25fbc5014cfb8536727cef04336ec886bc72317dd8534c5f7111e669d844e55c16d8a50f00b654e00e3c8f1a6e07c39fd5726da9394e9de51588a4360766dde1e1932f017fea5639858c3e36add3c3d5afef2a94e986519c830d70d08932e41c462971031fb614184336de510b33f3a6539aefb60e103c826285f26c404774d07669950d55d85a42f6c8d6f7fd8bd586a8ca00bbda2d83c05400a359c2c0e1e2736f5803d518eb1649d9ebb7e952a2d94658ad47c411792989ffce3e246ae69fc6a2fa0db731394e3714b198eb009a44ac492b16b7d3e1da4d06d86923d8063ad38f630d72f862dc76095dfb6ba360aca73d16f1cf9c626d5dd2312bc0b6b429915a3b0e5a356f9347081e285a4aed460f53f062701dd161d0ac28657289ac5fcd9ba8040fa9fad55638dfc744d9dd3a17b34591d7973d0846a5ee9371563a44b6126d0576ab4470f413c82e571a994372f3d73ee756a0bfe90cfc87b55ca7a5550a3300576121b1511def415128bcef46c3f798c1ea7d51636add3fe11e96933d1e1705f28db93f472c613487dd6aa16d6957ee954e720d957ca062ed056c2fb3167d03149017f76e727b5e34ffddda836e1d45d930aa6dcd77c87ca0057218ecaac90cec7c1678ad67db5e57156073c126109d1f90ae5e5966a7bb60d2b7e723d5330a35d9e2861ca56748a9421fedf3aff85dbe0a837395165cf696653d993f4f3909d10f8659c11c480a6f439d4cf1755853f9ac0383eb77126dd39b09c6b7c994050f590a384567c62a040d8834269cf611d4574939c9e1ebb45c7022b260ba380eb018085fb098a3c7660e9579ab57b43b8ee5d83b95f70b614d30b9b4d3ae3a0b72cc6cdbc4372af25fe506278d28880cba979f968fe35b201f11a03b0602450288578c404c5da9e717ca814100045652b9cce752a28608c1fd8dc99cd0b39d01fc1e4b7514b10eb5ae2bc5c5470ce53f1780bbe0d4f31d22f78f26451588cb03953cd4f5f1680e423c7378da63acde11220962a84ba838ccad9ad45134f65d0092c72f3f96a087ead116b12b0148558fb102923d2004c44201eee6a61935360c07b4ce1c5b0f8611faabcdd0ec0253806f5a913abfaa0306a609024a2b60c30f47eda8231ad74a3477b2eecde4213726a7b9e9285d730b1517775326ca286501716aed40534e2ad2e74bc25d87c4594b05c9a97802a9a0df7e3addcc3203d7005e5977cdbf3b1033ae953f2746f05d977a38f897228ed111e14cb3a66e3dac0113c42c135bb013d841557d43434f0bb3ef479e8a2efe1c0e36287203c4f5eb0eb7c3c1dc8a8e7c236e1aad20ca809ef99771d05bde2b01a7e47ed31b23c06702446b9b2b768049343ba2dee281972b35a2db0abdb388d1dd7fb881919eeafe028744a16471207d4f5b93f131579f0fffdff40758f7d0d7d4e0fc3a099e7cdc09f23b436b399b735881c345ac3057d88bbe2279b608d185cab5187ad196fb8806fbf0901d223d662bb2c1465e33f2808bca80bd5b12de312a2b0890a969b1d20d75f1349f9f11c1eaf93474794270f258532c1d6e14379921e8a4554a0873e10005a28d60dfd53d99965719578a6d38a4f96c0f2d21f75075ded782a249a9930ad1b6d01ff3c333b3bd1993ec0836b850343a1a83dbe1192f4e2c2276c0f3e504b37c86b75054d85abbb6b1f0adb9b858450a331723c84e3dfc7145cd46aaad089efa4f3ad0ef70c4dad5cbce4cb07a583cad4d2f82c947978219d3855ba3980b0e45c457cc649b5f87ba948a04586a15cb3fc4f75c3cce0083ad0b991567d30d38fac6901fbf5dc46490a8f072c70b9a6a5abf5b145eb66e2ae49d5b4e22cf091c91eeb2726d033d83c357e99268ad23f9c3bc383dd654d05af372affeba6e062427b5655753d0ce98d835fe95de51a04648dffd7110b9d4a3b5ee52d7f17b0b2c2ea7b242199cd392cb8cdcd4843399db3c8889c0fdb16b140f50a3a1199100f0b3b08a89d8aeb5035e771d57127f8a5068331b923fbb2cc0cac9c222409608abbb585474939cfdafde09110a65d876981d0ae16fc44ab68ce88558a0a927045b9f8c560102d0b8841a22583ba316c42d28b0ace0a59fa6de31d9c0024c7c0fa970a91b40e4a2e62dbdc8acae454142cce106ed588694410e4df071e187270b33db162cd3fcedd58d25e129973969a953fa78fd5f0cf3db6877e8de13249701b18d04c98abb6cb7f45b10871ed79437bf118d13f3b0433cc0ff0aa43982d30579da381c99985ad6c6c5c22da35f6998e6de6b42b9488de6bc5921e25399e70a7cf610b881ee8e5e98f15ecbfd4b4924e4c154b7457b8c735172037f00d54901190a2cb7d069cadeb0cdb912b9a49ce9d54a93b15f2ef96a7f2c6369c75e3b0a8fa5f386709078493b518356f6a0190d45dccc6fbc5cf40bc288e528b2cb2109c1b0c7d9ee8615c5380d9c60c83f36d8e5b574afa038a17aa57147080420770c1168b209ee0223b819fdd48d3992e89115b16acc4db7cb0f051a985ca2a42b0b7a86e6067c174fba43943ba31802247838a2d076add0bae0c2124603805bae03e7c7a8383bab684d6588a8456974d23b576d5f0dc0e9a0462a5cdb8018c81f0fe58eb52c12daab31afe9c624fe0be1cb0f4b3063c1a046bf31f424e30ef6ec0a1070309ae9ff72804c5912533a3f951b4252d7939787a6ba79d856cbc944010ef465b154aaa661a2a13d2b30f3479059cc9a4095b07ba62082f7a4f47f46570348125f7dfde08caed0c634edea19821eb2b0fb623aea633df68e0749e6023f0e8b1e7d8f7f97df6831eef1b29649bf5d9a4704e17f81843602c14f9283928f065cab0aadae2691bc36bf43e593f728ca2b58418a34622434db36e76af12e010a0d781e2ae29361308d2ac8e18590cadcbe8481e69cdddc977a527eabe1175e054f94c8733ab10e35900d01229f470a98538620f8b677cb94a4fa0dab031e5505801432c35591a11a208f1dfbcfd67e1a786ce4a9cb144fa2bab4efc315d2f00c6fdcad202f56a0b6c7e6a340d7f7169074aec0cef915d9745ad679df1b0e370a030cd79f61918b818336f409e24a61501e5f7ae6c6e79a2e7d933fb7f163fc0b60ba19f008903cd6722c5f90ea5aad73a891287dc9a2c0b6f7f47ccf7f3c850715cfbeb12f5cc1b07a7a57c7642767697c361757d82eef9767bca9064e06130c5e1545412725c94652996dfb9997aa7347c87e37ab10bcc32cb090350ba8c30bea9e08e38e44e1e2e624f3a7cbd6e949124f76166e59cca618d9f114a0b8ba0ae310eb687f80ed3953c102d5ad73a3d4a021b753bd28892576866f28ebc7aa0381f86babc92d0ed8032d771d45271182150c0e08e3baab2f5d00e071cc8a4b0b023a2f3aebe6f053a411ddfaee21f8634a96ddc2fd083386c5955a0734b59a07925b7397c3cccb2e2141baa256ce60af1cfdadcc09ea68a9aab511ee4b38630c553714a929da7384b4559f02e2a87416647f33cf7b71e325a64fa65748609d0946428a7b0749934719f3224e027a6299580cc954b8c1992c220d8d9b6278f607b4d923f2b3886c5d0395322179f71953d645ae2eceb1ad9da75f81654f42550f6f857cc78b97d834b26cdb0a3ac10b3f0e25524981e4464b85fbb82c925e1b0b3610df87b7ea23129dce57aba02bccb017042c062e3440155ae4f948dfdeb80bb5beddf97ce27d77acf16c10b58299d02ea4a7f5c9a274c907c37f17a9ab19065aeed5beb88b4ec1ab61f47f695f8d7c6b8a12d5a611350867fff445cc8d7005b88a87c93e5af6e8753c5017d852a34313d26e1b0057fca43d5048105a924901ad6c34277d3853bc4088aedabef85cba2ad40b9e9abb946e1e7333754fa3d30fea350f592e01eac1d68c10c767f770ecabfc902f0bac83339d6df3b24984350b5c1b5a7122e204cd5536250ac7ee8843660fcbf4a6650e7a0180108a9d3228019e630fd93e8b1b434ffccb52d63742954fde4baccea72c55cdd72d23e1e0d70528714cb64c22ed511e771b08699812cc62d377063b0400d7ec851494dddf10070fb1a8109f257158fad3ccac69b5c38066e1945329aa6a7ef96e3d6a760ddb05d63d289e1b770b4b67a83e4a61aad9a28b0a63fff0e9d31c4fb6674136c4e50923bb391ad19d867a84576f23510bd4c91539559334d2c13f891a2e527d64bb0c3928c8aeeef17ae2b5d25187d89b00bdffe88c4b9526559f493ccb1de3f0c30a1c7df9fd8762107ccb37f67ebb5660316252c96a306d758cbe3404f1448d6000177ecb57549bda96675e781516da6a42c8571cb078463f7cfedf0646b72d2106353b8d76fe773d54179965d2d7de4836a00212c18f35d7af6e0ad1478ac9880d984cafadf2da38b18d163ad7c53c5062310effe52819d3ba42109cf3f528b807c84f5f7e521eb8b7f2c14e8c59605f79a9c3a3a542ba294b6126215e5c13fd0b0f26a2f2b376fce089d7bea19a4426ef3c57cb059150ea8eb5d7049239651d00a1e08b91f1288dda04dfc3d06c52014edefa4e9b3b966ca00b7772f2a5b5230b6b02cc64fa00a7e3ef32df087ff0e82aa8e8d41849dc741d046658b0003bb60e0c5a744ab41246fcd162a6c9f7922ba0b65c22a3cbbdd1de9f1d9168cdbf9407dd4168fb994a7166aafa9c03c3c0545685b9ba187885d2e269bccd738f94640246c37ed29be4f313295dd7e23c6b5474383b7c51fd1575fc47e9f7e1d82c730c90b0033da11839ab2e5950d2c4ebff894df78cff65a6f3033140d905c483f10eb026b2a1af435b00e3617325fedf36f0b3dec55fe10a67993cfc3182fa921cb3236bfb1f8991ecca84bd087692ed316da7930e95d3966d01689600a01d5b5c485dd7ef666d2c74dff82329fb7f5fd73d43bc5b8134b7e5a64b709cc7d8563c73e6fe07cde4647222527c32ca517e5fe60652362640cb0a34f818226abda7a46d8d101db806d49267bd63184c42904839e26b6e92104e640a0bed26e50c3541ac15c15b961bcb88da75b77c12bc76db1a53a99303fffb8c081fa3110ef3198559c6e852ffe77cdedf1ee4caa7d471c03906513c48c2dafa361b0c062baeacd3ca1c6589381a62c066ff60d14d9951fbb490ade364d0a0381c82cef7418a3bc4737c1f34ff9a8d095ef406c13b0745f5a2c98bc8e4654ebdd3ce7c590e631f4334e343612c13cb322ed75db1ea6bdb26578fa948bc09ffe61b62541b30bf6da305d73b1e038d32b9eccea38eedc0c9c4772902554fb93c9cf30d2282d8bce1a0c9dd3c4d37cf98904c26f6dab35b69311c2a562e8416d42cb28fa3e617f5e1b4a73e321486995b766ea0b38204215c5b7932f028a39c53c72cc91b07ebe18bf3e14f15ffce237ce1fef65ace29ae561a9b871d0c02a93ad6ef0ed418fb214b7e801084209693b611c63b15cb280dfd7c3467b151eeec44847fbf7e46effe09545ef941b9aea6f60b4d010ec8a8f137d1906757ca33ebe888dcef783acb9fc901ffd24edd81e5df61c6f4f75b93fe8b1be411ddb4aadca7ab3e3c483ce8b14219f3e3972d5294e06f5c652c0caf75aab7dcc30f7e105d6e1bdd3b95fb048c3feb03535ac6d568766d058d3ec7f732defd3cbbe24ce1145e514d31056ba395da2a84df7cb60f1959a2b280b1b9d3852bef57cade1629cea826ae10ad4dcf3539be4b989ea4d27f726f9b9079c14ec0ad1c890c47a8deb4323f32fc41293470b8febc03b175e8f9a9552c5e7153bf031d8bca3b90af50c9bbcdc9747a4e504fb0ba55f104fae79b6e293abebe2f4057d4c2862bef8075c07ba2bd7ad1df34149be4dc927cbf07cde4d35c66e189b2f0297ad0081cdb03b766277728c8df8393e9c2cef5f44f8b7d9cd4a2c055fc82f8305267075d8fee46df492a171810a8b7be1073c3983c227be9c8e622a9ea016de3bd385f2671b913b69f588eceef02fa0724b3824ef147848d1de2ff9e28c4d79aa3f985ac826747d650e923e98df125510a6331466eecb82c161ca12c9ca2551ffe702ce5ab5419e782516e86518c07b03bbf7e2fd9dfa6e09bc1c66282629131ae60cb9c9f8ae199ecf91e22ea46bbc518453296a4810ff610e5d8582426a727609b567416503d4c130c93c503b16e1d4919d65b4a397b218b19b731423ea2b69a896f5208119fcc1d62191ed99a58d58c581ccbe94a88377edab7103a9652988a7b47435d10b0ee3215cfbfe5711570fcf9dc3c26325f469d8a5f5159730ae51c9e0f4664a2c0966d0e5026d124206ed2f426ac99a11033b4ea7f2323c16af5b8b086a38f200ef18c323f667608b542cd6a98a2925b12292a4f8ea034c4ecbcfc7362abd98eb2d0ab5f8390e365d2e5a71e2c592ec6bf07ad46b91d7845a1f637f85f73178ff5dfbc59222f590ddb4e0b3265f58888145d8fbcda5700b8d6d556409ec95180b177c5de991efaca727bfd012c98996003591d8ac25f709d659cb152387f4b9955b55cc413c33eb3561630396fe692189311fc780a2d3bd8b4d07a21320ce8c5d1630da8fe7f45afcd6938f5495b8c8e6a8c6cb231a0120ee444fb17e2c33bb0becaa4df613b75f38610278e18f97259d149ae92e7db8d45b538d58a17a0c26b465d721f6f17cd473a92f3f99580e6490f34428ffe4d958688ad418fa4eeaee5f808965d244f07beed1bb49dfb83fb87c3f482532c0ae51c307a479b44d0b2e30f0fd9868d8a05ee0e4a977479b7c35f124cfba549d135792e52d155194fd7ce0c35a6b4b48f0a62f665811d3ab5a17b376349425285f1a85d8e7cb97539a7ed0fbf49e3e7a1223c5457a0987f352059934f2891e17108839a17e98a867255d3c5779325b251083acf885be0e6b589a33eb3266b3561d4b0ea2e8ec2d48fcf88412274a16026923cff13edad65a64412170428949296b398f9a8f007ba40adc341cd5c6828ef649fc9a52542abccb1eb09e664b400896c2921c31e18b1d7b99fe808ee0ed94dca5f9054b74793c2d4b9bf7039b4e066b59c20b5ade03fec688e57dbbef94b7e9bf776a291cdfd922611f681ba3f43410e2aebf3d399aaa89ebed7316876355f67fd5e1d9422ad398e4db1832a8cc891f16eb26b2b6a51e437598b105d5131af454b2c86fc5f9f18e25e2466098c077c93c70484048f28a65591f12f1e524adc9b8865229a580b8e393bf65fe0c2f297e52a5a4b136c8210523e07b96e61e50af0e06599ab41e07dccedbb1cd3d5d9facbbd698d9a8db30f556082b5b13992ae1b24f4f5b6a36950cac804da688033a3836ea6caf2aa66855ad2e672259548cde5f0dc61ec9bd2f1cdc67847a992d5200e2d5dfcb368af6aa46fa964a93eabe7c2e70feee332c35b9ce4423529e0c839c279a9a3b4fb5bfb4f720df2f05c6f0f9893ca498ba8613044668d8f59aab12f9e61feafdaa04d9491c20394ad731a7029ee979549837b120c18e7f8f9e9355d9cd754baf5462006bad12f455d981b02289111c54bebb27214ba4d15290e80fbd5b6bc82675b22dbc992ff22ed55cd0041a3c250f43befd7f68474ba5cb91a858dbfd3cc8793b4aef3cd0bf21f642974f74587d8914f1884ad7a3c80ea0165e260388a897f3b10287d670000b2332b1c878fb5680340b8f6429c13779654151b88414d34df3c55d9384b63439d9db1df55ef662392d6af0a841a96d1133670c44321836ba762fc7a2779fddbc4354e49b88508c1310ad1429137d5d138aeb4ba901edd3c944e75ba3d9192910e9e0fe6ad7ddc6b690cfd09dd52419473091ddc2d03fae780cae62f7ea2e77981f38888dcf3db175e0c5e70f85fca3b653e398366ce4376f49c6c480aa44d180c09e54f25ee605b26078dbe9ff6721468308f99a24bd05e5bc36cce8489fa716055e83719d9b301700cdc2b489bdc3941bdc75b88e1c44d1084ae19b868088a0b4d47dd7c1e1cbb900b8975f6a3cbf1280993a73d63ba4ef038d8edf8eb668e60058a6b719f1983a6040a19586ec33eeb60b3e6d1af6ab48ffa8fa1fe1fb6cc8e2955009437529f610cfc131d0e55d759e12d33b3e8dac60ffc0dbd313a84bdb5d9969f75af34ea2c09d07325297079859737653d6ceb33afb7e0992721b72cbfab26fc39bdf8b0df02523ac0ddbf3db8669f875d223a1d130329df93b936e009069fa28c066770f806d11104b99126b50de024f00eedceb0863e9dc1a705b359cf8659ae996af4ba0c26e356ea107df59b39a808f74d120d9ff996d823b2e890fc69db0bb42d1f66005b8e2d6278fc4e6f5b4d35a3222beccc87601a3aa1ab9dd2777829fca294b20ba74bf5bd461747bc6b96b78c5f5c7d658006eecd00247e44005768ee09d733013e53f30e25c3743d2342d9c184197e38d984e19d9e2a31e3c5ebc0cb627b11051008c3cd60dd10e9212022edf36865b96600a1abc3ecf7d8f5671aa8f1fdfd0a6587e32653751da6a007549fa2bf0c95794ed6299ef3a7eab451c924200c3209d7aadc9043b708801e4d3ce6aabc6d0853f852bcbc437e949a774ac79c181e0ba32b131dd0e824fd8c588294d7f98e331bc3672394b3ac2612b6a1d7ea7e1604bfe9d15672c94e107a3f1586d8da293a185084e0f035558c7bd12189cdf86005b96ced8ae66878e84899c0fc29ae7b803d7e1d2f3526ead038a77f23948bdc09b000d7f6b310443edd5d37b30d85d8b511270e6b8ac53dbe484050cd47e859005ea9244d56b1c7f41cdf20ac1e8a9b932490198dba00c45c9854bb0442aa510887e17448b56cae24ff441626aacea8c6275196f07efa8097726f67850751820861de612dff5ed7ee16b5c5946cacdf8a4390c598e009f03588c194374b46b209bf1643503a7423067bf6b30f1496e20fd43cdc601bc083edded4d8a5ab9a0403f67fcae65b92e624a4685e75555a2914305df4d9d4f3d42df527dc0f0b45f409cd9ee3144be28e3b832b2ec557c6583f9e4101436f0579799ff1f775c9a61009f15df24599283f0ca61db450b53882b1c6af435fe60f2f068f89a4ac97e1440d");
expected_tx_hash_str = "8a7e09ae4bc4d85153ff85350da82d076461db61e94b321fb727a0fcdd96e8e6";
expected_payment_id_str = "1f5d434f0b34448b";
desired_amount = 100000000000ull; // 0.1 xmr
// tx_hash ac715b386010bd95a506fde0ac0405aa8ad72080b1d7cef257b5b112d9ed84bb
txs_hex.emplace_back("020003020029f7d30185029407bc10800fe119f60fc6019916a008a507b80730eb01e114b609df03ac0b4da40cb002b606f010d410a607b205aa06e915f7018d04d106f70af603b516dc088d18d5055d8e020cb104daa32b6bfb671a92c2f9296e5d09174b509a69ac2e67988533bbbe5d6bf298aa0200298a28a8529d4c870c920f8202992aa203ee0e950ebd0403980226be016cc202b118b114f802c40bf60d8408cb03d611bd07b204c9069203a806169c15bd14e704da14c20e2ce605f205d5038526c0b2a4909185084c7113de20415c3b7545e5d4f0cc5b5fd21cd1d297ad1286ed020029bb3cb315c70db922bd109c22b00af023e0372df701a218f108b902c906a017a201f10fbc1196028c0782088e11e915d203cb048b0adc14ad0d60de01b602ae0651a909c305bc03a511c607980bb7147d8e2a1f1755ef12ce28185821e6b19cb6023d535411bbb7abdced139c923bad020002e4b04f1a4a46e00442df6fbee88056ef5d34fb87d432e232dc3b166be05fdb280002e475a89f6073029a3f6ca09f301d5a88e522e229b0a3e7867b2aa331cb46c8d62101307f043802c7d6460fbf3aab1ad9bddeb417c7a5810382d0b282d2e3ffa860a702a0a7edbbb679a40685a9ae03993e86e96bf3352ef6c7b90137e93053d0ea6ed521b6c86877c467657c7120b66248f4f2cac2293b84310c37ecf409a7a1c7365819387b039a613855d36fa10780922eda8c96c031682e8d35657e209b461a1fa64cdb07cf3ea55659ae1d583cd70ef6944164ab2c35f9ec26addba6cdd6d43287a58bf3e0fb0da0a3784186315a8ea8d8402026cd186c37c794f6d9b4b97f50e6726eda7fca0840d1c4eba4bee47fb53988a6b12fa4fdc661d20446d157eae0ea42a2c69d08008394fb8714a97a9c98858f1f57e1c45530f8ecdebc88a62f8eaa986adcf0940f32e62f9336efcb8a134813c6d9ac94736fea3ae7fa9969bb2acb5697bb3614474a297d61a76e9d352852999229a2f735b8bbefd3fcbb680eec46761959be5c9a33f8e99da8cf4e62cdb05b888cc2cba76020a2ec2b9843ca32565d84b665d901c56eaece700357808d78937231e5433e54bbb943fb6c8159dd9445df6561740a5bc6a6f4344efc2055b2b5c803d9676d7e8630b14c292756761ed158ffc6bb0a5a5243275192efcadfa63fcbb10b0b7b268c438599d37d1bce2bc30558821b035b7f9fb2f70e0f84f53e8b3d822dc42407848db1ae8eca2aca2cedf1fea2ec066332934cf1344d9df0e39c9607c8fd87a78d640d88fd01fc381b22bbbd7945048764e2f891467343ced6671e106d95c357689d59d6212e46931327578b8bce0a52a7bba6272d059cf5384b36fe12b33a26ebf9205c8589e32fb2cf16144dcf00a664150964d1ba8594aa7aa096be927192f7c33f0d9a373d5089a63b86d42d03e41a0dbc08b9b43a3650b2fb3d09be3586a9f3bf954d83b30d06b4cfb50be600ad798ae6903a0230526a1a97e2fdec48eac2757be16911a8694cf793cc408a0e1bbb3c4e3847f456af2d7c02e7a23428656006a488784dc5737c443967c742057ea11da8386a9885473d424f4c269678b4acf1c0f930d168167948b782a166060a4304cc1788e4e04332f2a54467cc373733e6a10b6e392a7948728b77573105e6e130bc88574bd54dc4b44a11f0af6b0eb97e069f113615d75148483fe1ba0536478bb1d745b5b2fc55d0f5237bd2b1b51406242ce195bea8d6882ed8c3c00e2f96ce3479b1d205b803e5b61ec19e69d1a64a0733a109b57d33a9f6063549020615c8604aff59dbeea47e33f3ca7d54002098059bc16d00f4623104cc17b6025a0ae39b2ad8490b54486cde43f214e73e556b5c5449b83fbb18196cd5c5940bc0d13012deadec31c43480138219e65f16dc3c729c943cd60c52cef818f8a30f97fcf04da1eec3efc26c29bd1777265c0940ee617f09952e0422d1d29b8c930cb150bd726365f349eb605aaa646f8d8dbf40aff57a2143ed618e2bf290a41506b5dcbe1e92d49d9bc57eba245f8e407f1ad1639346cd9100c2efc6adad65a40452c75fa8710b33040285ae0a8e5f71ecc471a5b01dbb2a4b9e3f526e7199a808e0b52b08d04600c2b50d67479c677aaa4e736ec8148195ff5c1da47cdf421d0c2c21bd7bc5dbdbed8909600e6f2edfc114382f651ed6be82118f52b4b45633095b89b3ca5333a8d9496c09f672feeab27fb18f750ccd8e00b62e936686351e06f1b017fd1838d4339f8fb9b6db2474815e2ac0a55e745071374ebd328cc22a06e65c6351e87bdeaf9994879b83dbaed95adba0d7fcb18a586f4883f11cdd3503b18b7912ce56293fab4fc17e84efe2d420318feb3be1d15dd06df254047dbc0ea5a82ba611ed0b8b19d1ff9f93e87c9fc00ce0704e7bdbf44ef916c3b29c46022a318ecfa1c6691122c1cd4c2147620ce26bf22e6e7e1d90e3e65b6d9a12bb09cc5d0fc54df90e7b8693b3e641e692fbcfd27137c62f8f8ee4036e543377b5079832faa7a6e07babf92e66880766c5b8cd13a6875ee40af2de1bd99eb1992d0dc79cd62f9034902a442730b9a872e26fac5a9e25c7e469d16f1b2eef7863d9064a80763b846b8ac6f9e81a704e43101cc6868d42b7ba181f59f05a70ebd75d08a821ef222ee4f66149f956367094bad0b93a4ea4f77df5b6c699b3ace1728a076ed7d515bc6a1dc641ff26a668a7b4a20a3272ff72915ee0904639fa62a4ff0f3435194c79b53602bd0e6bb5b6d6a41567fe5fecf4f9db931f757ef4aea46008ec6a0de98e4449b61d3e9552ffbcee27225f335478938ee6cd35dc6a9164870d6d352d594a175bc6f414a558f38148f52354cd2b5ffb981211e00a64c54bed09a8a27736e045f6285f921d5a044a40c0758ea1a5209057fd7b68601d810aae05fe59aa8d01e7a0924e73b38155697f9fc0b4b1417fda0bc112db9c4c8de68906d3370f7f975c5b1aef087a8ff4110e9177f66b66a9cad98cfb1bb7bb08de2002db22c387cfd24ad01334ac5dd500428697487b8cc9b6ff866b2ca6ed7fb10703008146bf85081339c08e605fdba91acb5af2cace4475001b44006894e5dcd50f80d4a09ad103d3c52c1184b390d45a7d31f62531bbc7fd822750485012d8dd06d6fa9330e144aea89c0976d83e1a7cfde34bd919d70a5fbae681a46ff9c7c105efc1ea3f1676c938266ba7b809faf9fb5a56e35fdf67f70789bf472c5701bd060108eef0eadaee6fea0aa6ae1e2b982d8cd9b644579315654135575375dc1a0f604d91fe99679c67feca854d1325dd936f0d9c0cbd9b59a951a587c0f1956305238d5b651396aad1f4ffd400f315c7cd52a10065544457fb953a771c05a47403eac42adfa9ab828f85dc66543c7bfc0a935ce723758c9cab72f8c0eb6190b10a8c010b718c39abb3160206ae5c7e917dce8e8d83d458929774f5d8c3c085a900b5824ece3a22fdc80bb15f77102b1a8dbcfafd6d6a28691fd3b5a3dfe372ba0d746e10d8b4cde4b7d0f9e3ca4faae0aec05d32ae354a1d3577c886ab11384f0e69b7d93df02a6164915c5ce1bd27bc1ec6e659befe7db74f05b4f9c5bdea120dfa9a20e3b07fb5b4da6665b12e56ccc08a18464a53abc6be47ca1f5033af2e0385beb9561de6ac0a0a725d9d99bfa55d2c67505f254638b01f62757eea0e0504e10df37765711ba65af01d5d05ec27059f348d67b757e956294ff0c2dfdbb4061af8c16312628a42a6ab9dba172bdeb4d1dbd46e01c17278ef1c4f8dfee9fb0f6657e4e21ed0a430d60b0322ea4844268d6b06dcc448bd366e28a04e25b4ad00f5d1def87790872fa967af929717c450ff3d3fb4667e3151ea28a86ffe8fd80daa86344c55159d5a9a52e9dcb6c95f68b194f6457d361c7855182fc3b2142d0f2a81ebc33a0ba0cac35868f9aadc035232e67988bbe8b22732e7a3cfd4d76c08c190e05e1a6f8280099a79659a23669d90460a538576496aa825596988dd15036907c34b4168398be55f6ccdfc30e6838de2db137d902eacabde171af2c62a0a0c8e813f6de41c55d360cee0004e665e85a9ee695e3a34d6b0141f6bf8d8ad0e5df1cc74f13f5658606edb647d6bf373cb820c3e6a9349bdb0832b38c511c00d0f740d849da49d56b745d5fe6663b3b8f20888c95365a1cfccdc2ec865d8db0e7361011b21de2957a63c403fa70569d208b450ca268447831466fb212faf2a0e178694cc826657c24d0464c3eeae5eb2f599ac0be26be9a47a389b07b275aa08919c8a6bf2f1a254031a45510cda93bc6348fa77d01d43ac222514adf70ec60c3b12adcd1125b4ab6eb2d57f91a645c757db7f0efd223cedc14f20b450456a0b74547a2a1da2f0de01a351de8d12d83227ce7a6a2c231b6c72622c47c2b70c0e9d162711e201d433e0a955847e1dae98e6f0fabc6c3e18e476841165f1c5940ae373cf4799c5c2926080c0dbe4133b0c9eb14761d811b8d9d7f423f7d18fa10def0a6914581d004f36a90790035b8d8ebb83309684f397251a6bdc3eeaa3d20c33b93cf7b397cd970c1935be54fbef1948cf5cd2e27c5de94f5e6f3b23d19101d34263062749644fd2bb6f03465540c741da480046cd08f3df8205711398210786c77735fffd1ba946a8be591348cedb07f2cb577becc055c4a28cc460b86f0230c8ae692fae0b2ee551f0a00f2796f2324003e7c997e7f1b2f16a219804210032a5ea2aaddf7dcaac1b77583467fbfd84e00c68bfca1fe598f53e618849e302359244ddb12d9c6378ccff9f764795fc06527de8b286057399c80392ac17bb0419178812465c488e4d7fb73a1dff8f90fcb815f1eab00db8070cb82c8a23960bd15a76aab107fae549aa325880515a8487c44b0da94f00318f15314a24be3208aebf3e231aee064682905832503be36591d140885bbebac9bc9b8af9424db10732e0a981b5a67a40087065f0f511b4bda4be1efc9d18efc46142ef16e539b90a8e64e1c8d4c1b961d26fc6f9fc25a286bb5a8a3a6436d189682295aa2c03e5031cf9c5410925aff6def113d9b2df4e4fc7dee72bf81141cdf02f9b25f9b2370628b206fecd4336a48196501d0439ca730afe9a9551ccc3fa6555dab307e05a0f31f3c518a940e495cfb0e31a31493685de621bb871188cfa9e19e3efcf123d08ca19e71d59fddbfec20e5bc41ffe70144610545bad03c7b1b265ebaae60de70be466f264eb287fe6f9a96358f3c0ba034c734cf97c7627ed83b985389ccabd0305adc78aaa899c3795df9a9fb9d58918520896b5d3701b5de8e8cbf2716b64063dcc10735009b20d9b6d555fc8efdb26491a2e13353f7c2cda654411ae35b4050af1e0b3db88d199599c7413c06befd008ea0ed5478ef694bb2903c24790f600beb1bdc9faa4960f3865281f69a3dfa9492edf5cf00e349556fe5d6bebd4bd0b300bd585268dc1b779cda0b061d3bd032a98a0c2dd3911885272ffadd27e760f689630bd133ac13225e14f5b5d0a4146aa3d905d3b9533a4ff95324b2f955c03f3042938cc28d6d29b722cb6dbd3085a3b530934c5ea4fd9759eb2896cdb240868990ed643f1ad84fac95577af808c7c1b4ff0bb363e35b1989aaae955009606a9ca7cfea2362260bd029e39a1ee312688197f7afcf3f3101d618264a6733a0fc2b155a668089e60b98647927d718392cb1b74977f40f48ef741692ac28fa8016d40669c256015f2611e30fff9bb289e946faa9444df521b70ca59df12df380b3598a9bbfd1388545dbefe63a64e9b44d253639375d0c6a36d15f123fd2873090aa229f7d844b8ba2ddd14ef5ec019c95c76f877d485ee7ffad4908b89ae5100515b66c9d8ad83b6700df320c919e9482ea530f4d3242346fec50863c6167309ef1d9a2739bccb9d8a086f87bddc4227fc71980e1e4b3fdc7718f8e7830a8807e974e69f4bdb7b22d5d40dbb6530c2c0173128e7a01d7f8f5bded4894d8b7d0ee667b9c36cdea5e295d12c08cc42a23a229935e061aaaa469ab53f839d9524022a1e9dc7c14b63f1383d49cfad8855535ffad6799fe554913ec7d06955e8500b7cc18b0e93f5c400c5eae8c02f8c9d08a7756d5c037150e2d88cfc7016943d0b1707023dc4a25293c96aad8e3e3c4e1fe3cd71bcf7e217e7053c8f2f8f08460780c7b51e35d0df0e0cc38d263633b6c15350bf26735a13bc830f730b0b0890014cec437aa6410bd62fd471b29af708b9a56e3834926f4790d2f93cdc1d74e60de77051cdf4597d98e4093c14947136a100f7f7670765aeee72817dcd8e925d088392b778208b042e88e959c7294da675e25a54c36cb95cc93f4728d0c9dd5b0e4b685170a378158291adf5b7e1dbaa29a9fa3127310a0dc61df79dac0fdbbf0b9e990fcab701eb288668e3fb9519960d4b427104db5c85d3e400b8aee41d7208fa66ca999e326f853eb402b8b8f307f8da08e55efd23a6e73d2d9084d40d970b217f413d7c814a965ca571adb81edc50d314508bd539c93ba0f481c926adf706f1c98077448f62021cf37056da3803f720ce8e63cef1a0aefb54bbbf3de18204c4a58f182b10cb47c553bd0aec36981860f99a258c815d20b7147a8caa8f00040d167f3a6c4ea733b1971592c37e4f2eae0bf8f2c5b530cde39158266c62d10c797565a05c78d95e47c002d5e979dd835a736e5939fe036437f876d038ac140b9991b921aa4262b390a0e7ee0319cd6f659376be78328492ed2fc494f75a9804cc4cee6293361c4c2534932d304964bb9ca61519cf388cee14f223ab6e7d460b7d56f1b3869b0b5ada9f5b4fd1bfc5ec90e4148626a363f79adef09ac63c9e0a654d09cea3567848341f43ee484c99db6fb38bca3eb70dee7b635aa84e7756125631a93365f3dd0f6befc532677c64ad478fa8a1f36e565df8fb872047a99b0b824a181750f2e2b491899e2e16f4b06669f4c0bf882373ef57e9c4f0c37f137445b46307e8ea38f524686e8614cec84728f571d4623106d1232bc2e476a1c8ae4ae5a8b3817a2ae865353dc402b5abb14e55befe8eed8860e9bf389092af47e59f55e37d4f0e1bae85d0824860f4bc3ce83bceb4cc66fc54bdf766042f45745de361e8628e6e96a5787274340a981b3b533068d74a6e448c549a601a85d81f32fb7e856c8eccbe0c261b220545f4ad98d31f484f5ab0ce3273f72459608c36a61e69e09762055b8615a24bb2d77ff32487a8fe0b24e5729c8dd24174c6626f3d41729178aa78f2bfd51998bbe6215cef9a8d92675f101072df75ca37dba3522e6f1cdba9c041c26013b0d9646e3ac7613f94a0a62fb8b389b82010285352abc9d9d95585c13a2e760686c8082dbe1e04e944342aeb8a20eef391ec2936b44e88ffe3419c09353764d915c83a0fb641a72cce7a8bc9dcdbc4a178b96b36add2a5c26d8ac0d93bdc6d434970b0baa03bac19251ba2b4720365e6b4ac64d114f8e8be66ed383a075c867791942e288bac583071dd33ce175be9bd9bd20c824a9e8839b0448135d26a2d0a9510520ac8ea2a62bd7ccc5473e5886bde941722584e954c33f177ebe8253c59f140d9ddc0321cf4d8a71e22d3499b19969a8aa82e93df8d58ba9dae06b9e0ec054591e83c6f03786af08dfcfc8912ed7c46073e6f1dbc3b158b853b3b98eb5940fe6435304b03fa68096fa54095ff667a517d8a70da7075ca86cdb7a750b6afc91de476ec4146f0ed46da1218fbbde0a5ca696e0a983537a6cac6f2ff73257eb22ff6a0664907d802d002094e050722146cd2946c07eeed53055625b2eb27a09234ce1dc8bddb11d097ca4179ae3ee4a29bafdef4cbf6050a7021ef8df8e2e8b83c951d90a63aa34e11f359a72cadd0705f6557d387333589a291efa1569f7039a5e1c97e80fae1cc3f919651aefaf9eb6fb1a2998ffa7b60feeb1f94ec11304ccef07b44f7989cd170fc1ad74abea36f1b21024a0098625736589f6bd008c0464f55148e2278fd74c71057c089eee0527e63ff063ad7385bc90b3279d5e7f3dad55ddbf8dbe6d9162e37c4ef6d6b8db059f8c510199ec5fd3f02346015cbf5bd14f3d501dbb6003a6d520276f87ac4b62a70053d875076f638e3deeb64f0075f52f4d88e5ed9c0a62b84c4097cbf1c90426cc35db8b7c45c58cabe3b428c293a22b364ead70a0a0314df3bb8db1d170b2a7766982f9a2b56a1ec89f8d925e08ff68c1cb4033374e5d61ded70d3a1b1d0b299b964938fdcf49b61abc2ac107a32af41fb0a71c06af157780d85616fcf7e80661209ea5cd0e22c58b2b75af36ac219e82ef0bbbb0918323fa5380a815090252cae6b1fa39ce149ea1a51c2df4b5bf7022861b196854c6ef17adbf943ed8a00f21b1efb2cab9b1d37db2df20fbca33bdc734be6f0171a53ffcdad85fef7c9c77388d168557bfb83faa6c94bd2c7dfd0de568a45a6640b89e24d4e95c1ca540a2f555fdff5e1a5c9736ddf3f64e511a683313eafecfdabe836c795cbc187e28b2e9f3806f123e79b7a1ecfe5b6518d4b542429de9f05f285a6117f4f9651915061a561c2fc63398288aa2b753009899265a40e027cb2ac7f5c00da1823f53592d9c93115eaef544e7da00223705fcae160eb852d346dc2771e95cc665bf4db6108bdfb650edcc92aa264c9a3895f8a65c21c9e51d56d369e9117b1cc7a9bcc2c6a427c2a506c9bf05187e548f92e116200e7f6d03ddc884a883fac0162b4609c6347a5e2215cdb38782fc26ee7f59f783fa9605adbfdc71ff8cba989da9b58f3f1947f66ac842688eed0a49b6346c4c6ac550c887efd728db64bb65766c63047cdf20d9c2dbb435e2107216d4d79bd3c34a202fb7874cb0f56b4898dd1f91dc2ec4a9781d7587a698ebede1094c3ca266f09c48b0057533a79daac836f263fd5918dd6ec68c286224d2517833b9373a529af5d30f4123d531dc7e0a41b89be040edeec3d112e59c4236b91a5da21ea2a237c7d9a9254c88c4c99d6af672331ecb746ef3cc68a5ced30b917f32261b36a58490de12ca5c7ce9d0202f7a66740fe4a53a19b86e615e47ab0bba476e1fb7f8b8d30a71317e389f40a7558aad4a74fcb7d0b1de15a412ae873a62f9fab00f70411a51c87b3deef305ef04f6b058ae0d950c3e0113daa89d9a847123bf7d51a37abc6d71b08cdf7489179fdd552cc6411f29cda63a629d17f8db33eed15f82558b0943a48c302e1b752276d6bcdb6ad7108a7e2040c23dd1001a420121188e2a4b69598dc4e3449e4a337592240b9929a306bee911217427b8c6bab496b6b1daaec16b967ad81fba285daf161680bc0842eccc1f7d1d22b47346c0a75ce1486febbee003c152e410cd9fd0938831c034dd0e6cf0b6d55ee51d5800ea66b65267a32164fbbce13c3cb3dc22310a640081344daecd3c05f8f8a02414470a9d5be03113e09a74fb8e818843851ac6cf571e041351b8d3285344a260859e6f58167a6e10d1715729876d1f652e2cec02274b0ab3489aada3561457ff40bb502a4fc72500e5891b7e9945699ccc09a65661c4846bfbf5791a483c8d40ae89483f5d5243e37b29a4723423b864a6c84a1376048e1b5fe6d2e698b805ecd1fa503c24207877cc8b246a28c723414c35555d5aba7b0a2f4370547e896802ed3ef7f8b8af0dff86b17d5552c0e1787e24b480e7958445122eecb96b8e3eea0f04ed23150cf58aeed1e8283fbfc1e7daa68a88d10bce18168b99fd5475f4351e1e446153ca567d7a5bf03ed6243bf16fb6be20e2a789abd270ded84a2ae70890b437f6e72500a489bb24fa506c836e0c1f32e45c7e80885da02e316ab3ce1cc0d42740d58dd50661b259b902febfbe61b1ff174f2e3a5bb0e0595665f6aa68a371e853d4b37bda9b22dbffaf8061b3d8608656cdf540157850305f0d11c2f18e0914a94afc3d5e906c02c129f253dd3f5482f42c6fd8d83980b27b03e02e9f005d1b48dc906dc4c2251734296b2cd516603bd683e85bba3a90800f32bd67f7f435536dcc53ec13c441ca8870e3fe430c986bb2aed537ddcc00d04dd24d82ca7cb855b37aa4f50b00c6e96f752e6e51dbac8521779fb93f9a10d45eb0c282fbea6cb4f0873014d94570cbea65a3fca7cc7e5c33a39d2866ef7077ad32329960eb156a2fed72cf8b238742d6380cd8726638f71c7db1a6b696c0c133fb11094cd50badb3999f86845d3b80a87e475b6382e75c2f93e5df779a60e902069df32fe776a878dd11d2800330744f34a863148a2f583f62d4e0bd3a60d66a3c06f74b8c48dc1587f5065cda073065367bed27092a38e5392900cab6104365ee13030f7df7b7273a9c2769ce52263df17173cee27377f80a39c2999ea0b5b1ec4beb2e742da1eb775711c591a29ae49e91f38d79279aa05217831614104bdbc6c2474d66d3e2099f32f9d9e77f9a0ecc229bb28a94ca9f647f19379950902b162d7243eb807ab3b557984ca10ef7e075baee11fa68cad3670cbabcf7c0222af8cbc81ebbbf8af2eb2ee3068da8da1352b52900ccc761a0b01eddd6ec8014e11214bf8272d98c0a2c0183b25b1fa5229e3f35e2fafbec9a943fc40fadc0080e5bdc6cae200e6ab457fa6826c22883b9547fb080c5f1d81bb35c80d240a0924a3842ee67ef2458582a9119fa3e7de01dce510eb13b415dc96dd0074ea1b0c1b41cc7feb389087bba19baef57de681a4de914ea6f3e6ac66aeeb3df55cbb0c9962c51dd4ea6858d4cc5e8489a48643a04ea33f7b1501830e14d85dfff291026a227d9abf4409102cfc7dee479a5a0b6d9d51c6167b1976b8a4e0ede265bb05b1207c8882e80f8275a1ba8e56396590ca6a01cdd01f44af9523f02bbd281f0177b0f56151a89749f1f3eeb41f234251b32c35479828526593e4325d03a78e07513f45bab4d17578ccf1ba70142192e4c2c46182a573f2c644f8506ef151d503d0ab7dea33b93fe7b2820d6754c047ee68f0c6c3673abc5e1396cc78e5f6880ae47d590e4a6555ccd8b65081ed424f52181ed6ac2f2ea3f0fa974081a96fb90c7dc28a2b097b07cea5c552d0e8747fdb4d64ac1144bcf3e7356a4f1703efa5016c6debe2293995084c2e505aa8b2b0793e7213e1f33fe85c939727dde004390ef5a5c3f55a559a7a95c2b6baebac0936f54e84ef3c3ac7a5312017a60516d40a1139722067002d062dbe7f8a99f3d71009ebdeb7d3f61a71ce8d5c893749500ece9d8a599ae772b2b5963ca22cf64b1b3fb3818902ac197f1700490c1b18080eb904f244eec322edce1c28c2103596a111337ce879d7a8b9ff161a41bf552b0fac3f4731f570ab997a9e4c6fe07b12b4deb3e7ddfe80922b6e1ae67389840c0d6ce10276d3f28e58e8d99f3e2840e6984478a2f4f93b2f7c61cb18b9213ed2086491adfa666a2bc325f12e208893528f093cf141434ac0709bd0871d40fd0604fb0de1372aeecd5721c2717850a034310e513d2f3c3d8b2553f61adf691bee0feed236327b9a35d26bf488057acbcced717389edd899b4ecc6364e596672170cf671d8fcb84a413aabec33453d6c076586617d0b2ae3050373719850a8b1bb0425649057da1501b1de0a8157c6ca90129801eabb109f0441d76ebb3e66e8d8022e5e31d4d716c4fbe1e8896cda03cb176b66f550526c44513696e40f6995bd0805d1a6c82552c89905e60124f1ff62f399f5c13bfdd51b34bf423f4e47788e00208bbde55cfe84df84f556f5bd6134b6ec5cca7f343a4996430f83a40ff01d011ac84dc9dcd2d626b7bd36712a51874a5d4718910a8320f0a791e485fb430a0686a84700d62c0c1d718e73f58cd7e490350c27ef8b20d1f2defc176476729003c8899e51a94d44492e10ee58641577e155ecf9a03522a3a47f8f52da8c646c0c60b9ce8caaa4a9560eba2948f5626e450d1eeef5bbad97b5b3165a4f3308aa0b1c9d22712d5cf6031e4f723b08545437461bd1c86be1b7dcb4a9d8ea1151f307128f8ec81ddfca6d76814e1236c9c110fde25da3acc0a420d51f08556be738019cb774a71d0a17341c38ef6b19e6eaf99b0ec2c5e035b4bc25190fbf56862402b625ad21cf95dff8baa7cb6f3a2402f81bf5a09c069f8bd26f37373343cc6a03a54032fdc863372e65cd4522e2b87a10331232a992db2556cdf88c80af47c70c533d32dd5a31648f52d27f22f8013a73c2f3c23e9f31f965d206d981fa25f20ab516ed95cb675ae1e27e330fa9a5f4111ae22024b3cc7ae3a18783690c107304ae4ad44d3da76555e4300ab3bdccadbdbcd0b380229826d7a61be0e96650970370113b685d7e0fbe50604fddab56a7e8efcf76722eec26c1bcfcfb4dd258730287638195bad698d3c08bad704808c25d3fd7732a1e739f5017a822a32a07ed05989be3b4ce8a132e5b0754e8d0613fc175e0787f0cb3ac02aefe41bcae7e3706dbd234895f17f63b883c770e4fc3fe92e43757bdf8ed90c3e91c2718586c19063ebde4162610004bfd23efa9239c4adcfcbd099a4ea796cd7cfae35a82b5060e21f7ae31cf398b31eb8123c9fe4aa9dc955f8766ee3a1183f87b8e244e401d0df2f21abd3cc69626d79476f98d81f911c39d192b898ac60c84ab6aa05a68fa05820efeea91b295669a549a3092c735e9cd6e11931e31d94574460ae35adf1102c4650a25a4e10b5407540ab77d45f69a789c67b6790faf2df4f54f07baa24b0a1925a73d4e9b72bc2ba3c912fd2289f0678211632fc856300a97291333ee7602cf78dbfc92872bde15d1dd4edf26dd5f252810fa0fbcf6939eb796d1008421074dfbe611a7f882cecd3d9683b348ce404f170e33a48daa450c76c731c980240ab355901c39a18e4856046bebc9feb92f3893f4fbba03686c30f6a32b3cbcdf0253020a47924ecf80645451406595c471d1e3d1c131d205b9ec17c7c9d99bc701985e3db64b9edeee272bda24b4b7d26ba0b5e14961b6c0e44e03cbd8c3e303005d96dada7b40962dd7ec148f368f7768a2298b447b4a61d5ae63a55d10242a01d1bcee4d7f505a77519cf84706bbf9c510edbc7213516ef274c807fd2427350949f18449a22bbe53df4e17a505d59191552b49dd6bd6038ede55d20188e05300a2bf01c4c7b544a504d4f2a99a443da93a5d664539a92d9126e9a9bc03f2a3095bea9d39d3f2e015762be2e42730f5a31238272d1525ae93594abc6244ed2602a267c0d11e66d5a7e8506786a66b616d54654ad6060aef395e872b802c45860e858b53bcc468794840e27245bb34bf5c54de7aa8e741bba24eb34f702bd221022ba6e9038549d8bfe9850a2d08c596a1d35c215984c0fe99e5539f477a098801f3079e309b040c09c3f1582632187da7712c5b0d9dcff1db571f9d88117a1509f968fbd6b24df0df4b28d36793188447fc1d55fdb0e95a60cf325465142e9c0d1f3627954e1ab653c4f85a7800306a317367d237163dbe433ad65bca9dc1e10a9b8d3c256f33f45a57ed3238c820a9b912a4e13d7dbd29df63191406b098c60a8b2a734e66360eb00c1a01ddce703d079ffb28b9364810b85c5e9e8f2e56c60a2eea10bfb644bace93ff94aded2c88a55ffada465598d7751d5ea541072cf9012cf7837353c5546c53642eb62b36a232af9c48196528a91a34757b37d160970d88a3918a2eccc02ae830983c66b6da78ccf1d53e63bcbfd7b94843c098d39c06aa63615aa96fae494e122a53c2b8059508d9501929e271f21a4fb36c07694b0f1dd134abbc05061320faf13c5fb9adbc54773181f3ba91528b87467b844dfd02807d5630bf44a0260c23b6c4c7772685165fd27ebbc521c3b8c346fcc0fb1408d6ceda98a1eb3b37b7061652f8c37ca137d691111427917ab29362acabf7080d22729cd48d7c9cd0f4d8136e15bf8f417e57bd273708d8f1fc25d68e57e336082474028515f0b7621aae0f9591f55ba651baf806b3dc6c17dc87ddb47c67b208030a282881f473e954e15fb835a5e804694659a048dee1108a181f1bab14350ddffbbbd5211dc97a2e40b09744c2ed65c24baa62f0f84804ed68c7a64c2af604c4ed564b0b5222b885866dd36174e536351b429301c7542e9f8c522e5b60f70c8d7df51e2ac2b868d27dd6c5981317e6154726477495706da62406b5a08b2103fec6fa39cae90502cac07a9d1e0b7a36dac233bcd0cc746f8dd7e8177e9265005eb6894d55b7240f965c80eb1c59c1f4ef73e5c05439bcc43a16b4a8ca7e7c00c51ff57b2d0baf22f6c4570e5c42115950348e32ebd809506e5b71d35c0e4a09263417c57e0a0b4f62cd1f3b8ed09b45ae0ce0b7cb7eb734243ec42cc38675005fd791d4cc3de05fff7c7e940b86316e36419c58e5571121bfb23b1e8db2050c9138275f2dd7f30c162255efce299b4d2e1c7dbb84bdec13ebe4f43f2ce62e002dee6e64791ae20205875300af38b122b69d91ce88a1f2b609864849819e5303d7fca2f7969ee28dc29ab8f2de2e2eacfc4cdc7c99eedb73796a981fdaadfe000387aade4b9c37969f8d1953de540b8018e7e322e102357b8f822850b703c207d28540df397eecd8f2f85cbc97fe27a8764b6df194b8efaf0f009e2d3646000cbc000b6de20593d0ea33113eefc49604a7291d75b1e26758b975782fb6e62202d39b4a18a6e3e6ffd34fd8d15c6c36314476166007df07f487ff1da83950c402f545768e1b7d83c5affb8b2ff6292c848c863cac88edf757558ba415b1881806c482e94f7933ab7445258f28792b98b17dc0555b7f16f329ff2d70b8c12cee08b09fa264ef3ea5d0a6b0ad6e3afd17ee79fb82d9555c3a60eb2f8ff4464d1e0003d36cd5e017ba53feb4ff32d2cc6b87bcf06ffd247e74c267f1cccb6f988e016f510690f89456f0e037744318e7c809d3df7578beb00a175da9f7ad227dc50c98372aa338318034d49bfa0056f4e7fb89d865eb50e2092205805467f9713d0847566bb89f837efa0d6ac47d6b66891a4658894b3e66f4adc03a4df8447186019eb2995722563fcc7eb42bb6889d5a8009213c3c35bac6ceb3ad92257cb5d30ab3df50825d856b0db46701bb7b7b8e4dca9b399900eb38af2a97cbf9a3ee250a682db7e79cdeaadc8b63130511c317aabd994927a74de3421e6405ffb7c2320a9ecb7cbaf73d707693c6baf659afbbf964884d84b44b5518c0efb407e64fd50f8eda91cffc7878d998cb45da3c7c00af6386e848a343a9c3fb4628b984634f0b49b713f731ee5e47d737d432a62d6bd975f2238ca0b8a5b5c1d2d7bf56105e0089de39b687293fe7113b7480886bbfe6ea936493ec375290ce5032004545b407f615ab2b5d881ec3b80fd9fc0d9c5ac13889384cd7c8ece5cf03e954d2288e02e0f9f564daf6aab4459e091e2c1d72a72c83f3ca138337689738fff8856edf0f563141bb0c23bda83a8e0772c124392c39576fa51f15feb4b9dbcf9eafe36905a584137aca2b0c119b50d2fe7559e4a11120d010ad7065a9a8ef8c377bbde70dd978b5f2b7df1630c086bc3520a46b155f0f64359d70fdc1795093f0cf302d0fb94b894ebd5a58cd88c743196d01342834687b1fc45f3cdc4d37c45f01da5455fae5adc4ae6ba60be69b0fda9965a14bb5b1ab8304ec37e493c696c76212ca81e1320c8f44300cd31ec329df67e10c8975dfce15c9e0c0f6edf37c4b8015cecdf34cd6b1c81e3989888eb508945607f1d52f9884154090f2db79e7efea42aa6e35d8997f97d161b2c4a71b2d6ddb262fcbe48b5323e21657c1e1c3a3de3a99e5a6f2cd2b07b5581de751772a0962dce4f5d1665492b6d8a1a8054f2f5c09a1f516c9c4ecdca25a2d94ffee46d02fb6fae2be3d4490c7f99b3a98cf486b85e214f449754bd97fc50010e0fdefbbdee85b1ae67c5cfbcf28c6d12511814884587d9e11115b077326c8c047ad6177ecc244699888e84c3bf6146a7f06495f160481f314c9c491c534f207dadcb503e8ceb14d0ba134e3d98bd751522020a8f7a1e0e7ccc03d738f39b4ba89203a9d3a9940178b934d6488b706afc44f98b1a991bd154f3f70d4fdb376feab9987bf4374c89ec1b517b8600a5b04a60a41537f2690968e451055c5fea7175c1c548ae1eee3e47e055c84f450f58ea655c7149e2c8afb9f4ca066d6b17d498ed6c03f4c5619f540215e102bf2270d0e4064c6c568548dd61978437a6cf88dd764cd569a253a15c6ed59fecd94706bad8c22f75aab763c3ebf66d03cc33dcbdfed027fdd3919def67e03f11763f7b24afd8a4554c2d5858aa5040f00442bc03ce797e02da70cf0b2760a45d33da87cf8fbedca958f919ef89e3a91803a39cf9136235d6edc42e9d8cdd60ff2f46523fe6e3ae5cbd39f186b38aaf7e1426ab29f2f7e6d4d97c2cf03bcffc435cc898e61603029317b9b3b4a69af4ff8165ebe7362b3a18862be2da18b30a84ae7da4ea2284f61705f495215d94332ca10d777e730a8d40f22b2a107d912098298bded2045e88d5a18e1f1be2e22d585024ba75478debe99541723d5c0d443e86b716cb1b3a45dfc8ad0af881ef4ce268ad8d82664cfe35462b8e95f7e7f4df5819b4c77728f5a41823005c436df8d50fe541e99f238b252e9a16c9b759ed7fefd0880ccd6f66ee4de2517930de8388828e6fff34e134d27f13681cd7997455c572379dac279cfa43c518d42b8eea2a938e0d84aa796d4d603833e179790f40f1614fa4fc3f5d5a3f71ba7e534112a282f338facd23b5ae93d323071698b02e3803aa6fda2805867f08d612bcc2fc62f5a95e53a38c8ec3d19fbf149c2f6aac733a3886d0fc18fb6e128446765e5a63b49feb9af9339c897d7b5f654fba4aab38785cc63e31267ad0567f8ae203860f81a96de0e4e295a8497bebbc1ddb02fce003810f4f7a5d75602fea3f2f7aa7b7acadfba7055532774e715a7f637475e0e9f7a89a73b99bfb0c0c33626b218e3d8e8f5ba7f90be42164e6431f29eb55c992bdfec24fda11fcd25ea4f36b7ea338b2b5fda4dbd6897c42af5b38b131afd9257e31e708de5cbaf09421e35edf698475e5fd8fe9ae4bb310ffcf06c905105fb934ad45bcfb11a824cdd81336748579c666c0ee0678933ac657b2238b18138bc6536692e97e68a483a25401d2788a46ad4eb835de1b85469132c2ef46f199f395cd337dcdb59fc980da3f11c5859a1e9d90951cabbae79ce49d6599ece7eaf29b2bd6dd32250bb07fc44e1dcae345e29c5f79137affee02bf2327a937712278444d92c8539ba47f992bdf96a0f5146cbfc5ff8d8c1f0be380bab2a16d13f440994eaa6a07b68add7abed1fbb1276205542f2dd2a239b1d142a41d2611c528a7e5e9391829d6457238a2e37c9d5fb064738350d4db736e5cec5fe63dbacb8774b4dbf50c3e460f3238b7c0053d375c8b74a9a596ac503385fd663c0b9739f4ad86174354c0a8f332ebe206b57a8c6c13d98b82f0936c3e5106c78676da1315a304f09f355049042db73215ee196330514d74fdc4757c7ab85ddec1d0bd370530655dc28eabad424633887a7cef88cea66a08c1156113367a63b3aabc11aeff50dd83cc6223b9ec1156245f40cb80a5aee94c35d0467f37701a5d9ea91384f7af8384dc72f377e99e0d4c9f71b0d8c283b78d4fde6aef9b1a2e2a077d3db4932f948f24f94dd26c7c34dd50d7dcece1bb1712af4f7180efb78115e2de6d918d75f469f25d00baa234927b1e5460fc0a4c68f0ac1e6b16f45795dafc4e2c54756cd9e4d2759b279af2c4d1dc3fa0ac5b800d2f4fca7539f1ac066e49318f0896845184b17752584e78801ebed6681b51702b87c8f39426a54b1f10bbe4ebdf09aea279f8d197db0848cfae4716fb7cc04836e8bef94ad22c0738f2d54a10e9c60633bb876217f34c46dbd0d4b024a571515b394c615f92b9c10765c55aa9bcc37689d8129dca019fb9ad8691d451548ce17b8b3857caf9f8a9a369dbb758e7f04ba21faf47439a9e0f665148cc24240775e376de3d2963396609a3b1ddcc0278f7ecf50ebac30a3f2bed9ed31d5c00bf1b8f293c9dabecdd9abeba4323089ce0f248e355a50de7e8ca4cc6b5b541919621373e9ac1515bef2977b7348624930a3610a78161cf794e7aa8ac8f2f1cfa49a5cb563214db74302e2a019df33855b1f84c6f625d4bc865bd2492167fa48dedd96c99b5dbf641f83bff7c6809ae5a57efd47f69bafca9def65e08dd5992e969f1e33c316d4a7ec974a49e81ecf91d153876f855c5d15dd041366ec1ce0c5a6ddfee1164579da1e54f1c1b50536f3766371d140b5562bc4cb6e121bf42fa074a052a6d443c33a3a1e3cb71cf69d6bb792ffe1c67bce6e1169496268f057c3950b8522f25baca2e2fd323eca4938555ae6a7eee6b1e8b9a49ab2d2c23aed6c9f87d5cef49132d97bf058d3fe26d14ff3583fb295b49f1259eec0a60d0312066825e01a9cc0d6da0feea25244d9836e4740eddfab6702209794ada3094cf9d95dcee85fc7d9d4d6488e9654cc32b6e299c77298faa602e784711ebb0ebf26a40de3ba05451f1dbf068948926844e1f688d5e8e5a0dfd84f76d4d9ea0b9ef0917c8146c0e573096afdb032520e68a07f500e6a82154a232c7621856f0f96dbbd0cea6043d802fb6f612247cd2298034c4cfa3a9d50eacf2a46c9635a021cfaca32c6e3e04aa8102b0c9160ab9a86626d2a0a3e4ec9862bb0bfb134a10bac73f31bfd7dae1f64daf8e104c8ddf4e7ba91ac5a17f0d329b431135c8580011b1a9abfee16348d92cef116901572f066df756f4eb3cd8e165af38781c0f803f7dbb19d21a58dca53bffcdd4e99082d94f7c9dfa63d70e13b821e0ccc101f0ba73a734589cc29eb18c7643d60926a0e188494e7f8ea22f9035b489c077f870a82f0e38daaa253a3cba327a19622423d9a0ab52dfecd07554fff6f168594ff0b055dce3d487f092fdf2299da15b675ae23d596a653d801f6747f9ec9171864052e684838051f3130bab825920afd6e08ced3b79196686a7994574fdf3a6a7207b8a25149a6ce620552256fd3152418c5497ea4d0be909d5a3caf2729349ac2071d9fcfc79adb408a72e60e426e99fa63787699d2239982e36d8ff3542744ab048372a60fd1abef461c5b9e123917b53750082effb35676ff45472ffed047c30d69885b8f92fbcd71fd9931f4369d0e64edd844685da117382ecd782efa775402b14a28f8ed73d968b088449bc688e7d3cdf4a1350ebd55689ffb369d6e09ac089e53f629ad2fd33ca44e84169d2db8b5929f1488dc78f0e809e70239df52560f7714b7735cf72c7efe4380e61e83240cbad834d0c5c3e5d8e5666e852fbfc50e04c70210af47cdc1fb1c1e6339d9d30bb2bdaa3113f4ab31bacd33e237e83e004f1c0e55ab80caf7c169941bab4ee0d6cd209ea09582b73da3a26efdd3d88c06ef679311a0abb5489f21621068c6965e2aecfcedbb8302a3f34622e4f3e3e306e92fb476633f050c9f27114c5dd0007b83543cd2f73b28463fd3cf10762f8c0c3dcfb0acc1aa31afe84f88452f60f5a1347c82152ff7a3b6c90c6e37144ff10b5bf7f940c055ae4232204f2532300a74e38dcfc97b8c8d81bccc70b289d09a0a4cba2638e0057c25c300ac75cf425f525aba84544da6a438201c987546410f0c319c86b42431c2d6ad1376e26d34e1d49d95dd5725a6cf77f5250ed40ce3af0a5cce4124316ae70b5164f7de71b277008a5a713a8a548e0ee643698f4e5d230356149f40447c7ee59fada4f30eb3c701977411679a9a79e45fd7c32d6cb1b80a4b8c773c656d5e84ea49d773934a6a7d29159fe9d9cdcb4793d39906c64a62080c0f9780b28277156adc0df257c065db8db4a8997396962de24b06abf8b3e702522a9a23cc77adc8812ce705795ee6b36b8bf0b15c00564176903aaf442b750c473d83cb37891d47c06652e47699641e5e0b5422e13bdf7889de64c9f6e32208837ac7e499fe725bf0624e038f6f1dbb12d763bcadbb718feeacb6af62bbb80b854822e5fbdcb0115c3d8ff947dedc7ea338fa5b0b28e7f24ab89524bf217c0a6f433814b9ecc4d4ee97acc15e75bdad6e06440869bbdb279ac987f2ca78530e3f45b9fd3ed2a334942857efadcf24b222187dafb400681cbba7088c8a819f03d8140ffb290640dc3274e06ff8379472b67a3ec0d15e62bb0bc2d60799dcbb020e80b40ea0ff2116d875bf825cb4cd04c841e2d1ab903d13b6b8979d85141d0f602794e72a7df0cf630004cbc2a6af5df49ca352508834df16f300a1ad0e2307202170f84c148789467052f9eaa16600445053bce480a2db3c29f1f864f14f099081e038ea978945916eab57eeae180b036d561aad9c2f4b797b4b520d395b0bf581081efbc62693ca2d6046fc47243c74eba9556ebd739c95fd47b8ffc64a01372f0f4d36722fd8338b3cdc9ed00887e2337b1ea8274d9039455c4190ab720b8c6bd3c23bfd1528af0fd912548ef6b3962bc80284f51e42a5764ac150130500e16bbecddf38b621741189791bd756ec65606817f52819d9e68408d55c724704ba7670d03fa19042c2b5ca2dfbeba236151e8ed9ab5b402ed0145a0ee9ecd60b1d992ac6c89b7889a85605a9c624c22021d596ec8f9e9fe107e0c38376504105b2d06337a06c95165ad5fafa4dff0ce2833912df82659ae743cd864582fa1e01384bf391a5902fb2a953c04ff2f9d3303d4749fc47ef422fdbaef16c188bc2062dd89458b16964d37fc70ca8a95b9268af361f33f9170b1e8abc457412eaf20b8823256a61f32faeebf6a5609f2598b676427f1d4701fe58849b29f17beef90855c8117ecc9d8be67b3a30c5b0a74613d5080eef993c012fb2b03f4c1712e0046bec5b21c7d9dea5947c2913396c068597f14a252ab4d37fa177a351e37bba02ed1bb5cbdca3d98277ef53fc83806a12ff1fccfe4ec522393f4ddccab619150ecce92dbbf25c474d083315297cb1a4cf92343736afd97ce2f68c49ff3a3c6f01fec45fb26e8b5d6fd88d0575123fa44cb3348abe804534ae7f84548ca224f707a0800b700ea5c46663ac44110869bf0ae98957a87387b8e4ad2147fcac4fad0e10dcc354daa871f1d5b0321091189a2f557a4511c4a37343e2017f8018596707d86ce39bc920e6370ca820b642f1abf3c45f5120ce85043b13a3801ee3f7c50e1d7f08ca186d0a0d43007121291cc729e926dce41c418de8922509a46f04a408ba59745fe4278f4b32de5cae4ca87da2d6c262e1142c0e035151150e7dfb880b709498d673bb88bc1a399046c162001c75cf066e6f07398dfe2e55c7417fe40a42bb0eb79cdc2838f3b49579063a6f3ae911d9e8d9f705d2cebf67d5df06760bd844ca3b9a6296348869280dab06fcdb965c14e7dfb08272670e7179de0f7f0c8f75cedef4993183010a65b39c337fdfb8f7a1a83e103c7dfdeb3ecc0ad9140332238a1adef9d8a0d0d25bbe7a7089fa62299de12b951aaf7ccc094dd9a1f5055328a7fbabd0ce73232c203d3a00eddae99d392066d42d563c58d14b79e47b02ffcbb4713c29f298c04813485a203fbd39f52b94e562fc9c20ab34b530e52f06aa16ba805b7ee540b096a03892b4dbfc3d959bffbae4b534df4cea33d1dfe80e54d805078569f659d38841dcf039d3c5f6c425d0f7fe12340ce7bc17b8d35a04e73d302457a8a0bb0793a1e5896ad2070d8f5b0d2ec15065479fca7f5a748404d765409ab7de39784700d840feb1bfab4502c427f28c512663406ea4b06ced06ac73ecb95d05515cf26821f3b4b0062fa93ac3d294b1d11bdd7a09bb934c170c60e2e03bbc274b3618708352a01c724dc9a9fbc6872f85fe3ad7905b87802d0dc73e20591c362ffbc5efdd3de875066e80d102811caac4df49f787970ed19709c74b9e08ebda32b20b57838a45e66b9c98a7a5aa9a6ce5525021baa00e04a703f11805594722ac1623481ab6bd47e2cec64f3378c62b20d89ce8142676a2e50ad6b86e17cf2a1cce6fb7c9612b594c8cf0abe6c9de81745fce58fda595ba4c037e9f5f2651b64f1bb2a5321d17436ec67a56f5e5e53ceed75d9e08764649110c0da5c76550f2158cb7ebc1a43f68af46c1fee9a67878cd6eab1e9620e641920bb51bff5c03414b33a3e43089f4e3c8f459794f454cb010881b78b7c6cd6d510b49a90420f81b90f2d3f137ddab1c6c9dff80d2836795954bad8631c6f773cd048b1d9499425a78107150db5348bd780b9faa6ef8e028359f52103d2e70b1ba02022e3f58d58ae252dc3e7978f93ad7e851b04165af9de1935774049a6b1fb60f3141b0c6d8c04268fb2c19a1cf361d43b3e3d3239aec3ab5508e83472b2de2031b6323c21d58e8318fc1d0a5f83a26a22267b98c3346dafacf3e09a380a68c06d5b433797837827e1b55cff81d7e1c87c266e05e6f0487dbdb6837a89bb6cb06807b7821d80f39e367f21e2db437756c549a501ef179787b94cadf07d534d803ae891c325420d23f3aaa5d42d0c02bfee37a74d3f99a3a6f6b30d8250a46000d082601ea072941300083bbe3db5fefd7cb92bbb09056df8857d5d2856722f80be9b88d086e8e9c7ef50a9af919ab516c572a9305ca4eb3001311e2e5747559098eefe9df874d5140cddf2a02e9b18cbd2de94f84637d866342a1459e2daaf40ad8e66c43d2dcc782f6521b1940d0bd56e347b2f24b086b7800a73d59ffb26d00c17a725aed1b14701c371776e7b0fea883ddb8d4a1dcae6247fa738e2535ab01e378bcb749233d1c8109cd1848f53861ce67d89cdec9cc034700b39509bbb7035d1176d942a07bc8f3ccc732465df46a4c28efa145b17e1f5b98d80363fb33077bc4b8144a38384559e633e2d4d8da9032c2c5632b972583ec3a56e436dd0c031a39f34f27e96baf0364761a91db4a7cc07e7b26425304ec55f68a3231014404af8be2b3c5f5011901c7239b8eaa863326a11b025015f3f9f10f3ba827afa9054b7e5ca93bc4e3822ca250b8fcd29b6cf020f04ebebc31f986fc78e90485e10cc20dbc0f93ab7be94b9ebeeb44ede7e4b515fec59d7615e2e325a53da669dc0c63fe3960f00c2d192b2f0b8e0ee240e7eb27b30d88f7c7b56ed575eea7a48a09fb8549844629cfe27efefd5d95ef0b659a4b12b083328441b919f8f26ee88f0767dfa7054b81f2bc02c0a86a7a53aafc35a0340ff25e52093abf12a78574bd0e6c1040b05a4d0281e47d7e08be20f5034ce1dcfbfee4dece5070e3252960d00a96db047007c6c519b8ac22772a70eb5203187ab35b2e3c17a17546fe90b1610711cc31251d1f8142a7733243f0e4105e43158a8579e2502268a9533b1cb03c002542a4682f33deee64a0667147d0022fe957f6e0668f245008f7e84d91f8200ca3ff884851b22c34f635b78c585bf7b77535865d9a9e37fd055c5f4b70c76e0a032357d0f344efe50d80bfbc558be0635c01ff6db7af5de75430e73c7d6a560d3195930c3dcefa06a471c713adf85f1961c1863296cd92d0c4711e37b267200b92469eb34753be260e25ac0ead010c9ba2a3f93e1a276f100b5f64c927d7b30152e902344cf4a3255a61fb7851ae6f1ac98e605a5bfea4fcca11b3025b3240098191b5e0f608c2f3ee6447b604c5f99889f8221c2a4841bb46db43faa566360d676bf899f2c42c63ecde2231c0fbb6e1e034ad7d5fb7e9438a614e56ca2f2a0ffc6f03356f5f10568df4cc6c0a4119e6dd3a4fc1742f7b4aa127e01811307106cd1cfca2f6462945dae6e2336ed118402b50cc2fa0a0e1a5dad3384d62e5410bbe8ab2b7cea37e7fd862594fa4ff59482f0aefae72b616ed1503d0f07752470a17654b4462afe8bb01964a0f01d68c79626d2e794260926b8df939491d813d0eb4cc839f46c76926b5fe01cc89db7ceec994c1f652dd448fe6d8b7eadef5270d70dda63f5e9d8667ac6e55af11cd03c363ee888f6d0ec0083716dd511346d30aeb3b0ced036a4839ba826ededebd2ca6b1672fd4eba7387a973fa6ed229d760447bca43bfbedae484c22d244822f98ef9cd3c76a5f8fcfc05a7b6b93355a92000c98d70c2ec662f025644ab0694af26880d75dfed96e1f7bee8952cef4ec0700cd5aa51a929bf957530f0e884cf3d5b7b87225ae00dc95e02255cf7ad1b87f01d6bf94c16b9770586fdffe5e053304dbdcf180cafe8c40a9782dbd4d494ccd0778298c7b057af9d6b9b557345665aa942685a8fe187b15b4ebb5df5a04c00e000374bda7d997e5367484c26290c4c207e43eed04665d72725fee7939b5693a0b793c85cb75780e552914c862690c1a98d95b5019a1452f385217ac465daf600b0b294ad137aacdd0b228c8c1e13aaa2179da318f3026ea1261e5cbf89bd0940d0f2e29b903837f851d81c86258a390a24121822db497535f7c573f8b16cba90a1b682d43aa395902c22c13478452c8f7e9cc1c679e28af7b9db122f42a631d02b1a14b38094e9fc807baf629603a42080bd1c6ad22e59de6168cf414acc37c04cfd886bb1420fe05945b4348680b5b62b2e5c76bceaaa7f8fc232f27ec59fd0e56e780fc4040fd9404fecd4f99656138a1dffe0e2e9904b90dfe23dc3691a70c917c46071da02d3a390f0c37fb5a85e55c5e3e9ea4afbbc0773c5c5f54715b0149d8bf59feaece9a6e067e8d496f55423c5183e0f33b98d115e9823dd65fce037c8c02bfb6e301df0e2a77fcd67531cc87b2c207c695c1e1a016a93c93abbf0d4f8de6908cc511a761a6dae25b856d33e378e42004d5b8a4297ef3ee87507b0c6c6a3a15397ae01aa07f301dee13283abcb71f751d8f10cb8cbf479856e395061d6545533cee3c733a2ae99b8bb2293910c8452fd224604a07c695b27d98ab01d54d15735aeb41bfb635075dd763c27b842fef5939d0208dcc0061f72f30530eb18ff3b02668b2b006ba0f638b2693c2217266fc715829b54eab923f0194d90b7f56dec1a64620b7420b8599e6497997aeacf9b5232586ca83934e13c6275902960b62039f93c8ca6b2b40c2eed1f32610bd7a72e7f36c2ba58a75287a8e840d2caf6374ff8f6ff0778b937ec2190dc88a5d086289920930e92e226b42dcc4046744ea55a01c349009c907de7f849ea9610d467c47e989cc477127df916c350dfdbcb37c6eec0051b38e363fdeec48806dae1b858fccc372531a8a406f091202d2cd247bf246edb3aa6d43a3ed58a41b822777c0cde9464230dd7c7754b15a0feb9272d7ad16e9f27456f6327e6891e004a1d03d17322f6051ba8f541f6aff0c59c9d047963ebf84a7a6d69ec8a1d686518cd50d0de117fe71cb5f16e9ad0504eb4b847ec02e17ac2b1fce45bf3367efdca302a7990bda824672408c1b99390ec8e834b70862d5337fe57af43b8e65dd1939f05d78ef469f0e5bdb8279e8de0bc10b09d17f5efab18e273e5f6253594d09c14d7710245223c6c435019c4dac03dfdf1b29eed77d408169da4af23fae0778a02678d9b2b9a25cb87a80507b24088c56977ad9ddc6fcfea051924c2860914189b4214989099e97a9eda1ad0ebd0483972d1daf88c038626aac2e16f17d05ca69028ff9af5bb136c288bdf8b06d07ccd342032845c4ffe738126a1029d0b96508d17f9dcb3897d6179c3f7c45de0d0be85f985feb78fa0050d5726aae35d4839f49537e39db67b16640b543ee320d8f8f798f5ded09ce1330983efac81436d68f6b20a3240b42bb15047c244a380fb4a2bf702dc28f89f5ca042e1568ed0bbf7dce5b1e20f9b920356c0fe04c3f049777406ee6653c18fb65f4d399abac285459e0ba94410c471383dcfa75468a0a328fba856a39fa07540886879cc0efb62434a5b7ee4f428b4081d92554ddcf03db8c26b9bd1d568268ca14787fe68aed7a9dd997c523c0399e99ff557cf3db0fde3665bb30c3480fe45735a4f36dcfac8114fab3393eecc10e6893e517dc4b0e2f039df9a7b5eb701a2cf4ffe49a5f2440fadf5513052c174f6ceb16bfe7fc0915a0e53ece32654c54943ee340e8d008d4d03b86709b9be778663ac64379b30df772805d65f2d290eddc4ea15d1c3951fd1799b6dea36d3c5f55a012f92f240dc545ad0317b07ffcbd11762190f656b754b1cc74495e913cb2c633821f673903647e5d052ac103b237d979766de22c0cb18808f094d0056c05923845f8474101b2d667011a3c113470f486492a1853dba36a60b8dacc9f7e9d6f707d500a7f0b6f84050d83d36eaa00e6023e2a1c28660fc143bfc86ca36fa929e6871b95b90dc0b9b87f4ba80a3b80e4a82a92c61249e73fb7997e156f4600dd008eb1fc1f08afd11700d81c4b1e52f0a84fcfd0cf4f2964ced8db1f09eb0acbc43ee69a26017bca139f10d8088525d6c073dbb5ff74b569c089ea032b6dcadd169c89d0c108848bdb2bdab72c436ad4bba3b64cd5f2254035edb48fda0d1b9e981f21aca4029b244427237bdfa072c162f9658fb54f967bb7a2e99a6adf6638991ceb525c079980afaca07079aac22c9dd8ef10372ca5f413a2b6100fa9183a9afbaa2d8b0c6fcec61282d98a334c86e96cd00d0c73fb19b4168e37819fee67edbbe9936404297c9a4c84f95e2f87233bdf2033f86a508867358b80e37c3b655454216ced0de9cb9221e6c36b7212cad27e4d96eea76b09c8bf65f7632d00e2c948efe7f80dbca2b01d73410941012bf43ba9c32327979a56aee451c1573c421431ef22e806a3861bbea4b075a6c06dbfca5523432f6a3e4d9c27a6005f74fe28cc8dd23509fdab94ce9fde6c914186e0b811d4bb132951416811b9dcaa2b08587a4e071101ab44a2d0b384605790355060e19aa5b681e4ce0dec743794a7144b2fe6b98a001054d21329f8cb87ef7ab4e1bd28e7b270970512b7a651e6208a7d537aa5ac09b59c58eabd8ecb133309d0ffd5b0f9a3ae6ff0aac60716e5724b14a165727100128606c2515069ff8f070b9ff12aab3d5278ffb0f8a522d9a0ee1387fa31900ff8ca728e89204c5a32c8bbe4be55561f9b1e16a2fc23a8cb096cb0bb656e1900475098168153658fe4db62dcf5c9ed4434a853f6841058b7c9b1edf3df219306cc3648248b2ca6c0840b401c734881d8f45f2097b3de9eaf69ceab7aaa75ca0da19dced128302f3dad10f235822037f04363bb39b78033babeba172b2e8f740679efccf8706661c97452ee49596f114060755746405005527dbf3a56213f3b066183d7bdd4e4b4b199b6443343995d52259e459cd21661342606e0c4252d6406b526ad202b57bb15ea9b75e490726ffe01460775b48ed5c1d2dcf2c3eba985071cb1faa1e28a618ac1fb4835f8ec7ff6dbdc05d285abc6d25fb6f97bdab52e0387a8991630b62d6b395da7b0b1fd7d2041630165e8c4bffe26346dc41b6e280c826eb586327bee362889a7842c196640b754cac4d2db6704d58dd268e328ea0121c41ff123053ebc279518e9f18be176165fe114022b6f7bae326f83bff22f0f3a70720297dc78dd7862edc3f744256a08527140f39c25797656319f3e547202d9f833f6ce709be923f5946dd737c182767f588a91ab6a949124eacc7fc03504e3fa10d7d09987d2c2b2369d9c6b58f95a725aa17f8cb2f51e2711be391156035179011faec7cfff5d024e7653c32f359294e4fe00e6597ab4156bc70d1d8b0550424946218324f1293f3a3136b187530c2d10c5a20b0237bdffce9a79efdf0cbed0db794f08e9b5a7f62f0e057e41210704c3b6c1b2e3a695db093e1219950371414a321a81d8d01bae58fca73fb9a068cf21166a4a650c704137d11b30ac0c211826dc659de3c37349c04b87ef3d58424b4f692d7b96d3af99ee0d06b5d60ca3ceb1869109be885825e55d6571b714da8f750ea4c77d16d45fe26dabf29705d25b8fada7b9c4bdb587fba726916405e8d7f484a83a2e82ba5b183c84f57f0821f9a1528d34646c41b64bc34af7faa1da1d1aa6b8552e53360b4135570c1108d06975358ffe797aafdfa218ea1c3e146457287d1504ca3fce3aeeee9f9e190391530368ee632a0b964cf978274e28787d6d2b69c2c5ca97bb98d17a1e184a0cbcd66a7e015213318afb0a5f0adf55a54c81aa2cabc6d3754418ecbe3c1edd018133d21bae9d7dd6925bff7d8e880dea8f609b3c809f1df8482d01312c64730037cf6fde50ca5f7dd8571026f8debd551ac5c70b38a807faf460dc59525fb40f9b8cc04dbd70a657e9754333fdf3a5cb47663cb190e919193b551ca86091d40b6f485cd312d20bd2b894512d13b95cdb3f7bf45eff08096bdcb8ff64420a9f01a31b7790f3f6736d99cf07bb06239de5bd86f6f821a3a79b431f7c475204d90ea8161ad99f27c67ef20d6cfeceace586c44f365d98fc539de4c53bd020ec1c0a1241d80ea6c7e266dd31ab8060028113ee727e10d68925f03182d9962556ee012fb2e771bc79a84eefa0b1752272bbce96aff777f15c188a17426d96591af50cea8a9cb2e2c4626bcde9f14616b640f9906ff3e69887f9a1b71b9a861aac7e0f63bb64c168d1a248a71105ce5a5ac0e5a7639f9bc5b81b003600e3ed7ed863048b8c7b94694fbfbdcc8db9b80e815ce7215f9ac36417a764d1b55345c75f9602f0d62518e8c9bec38eda3b06220b08032b62f5a75274281f5d1b49927be1f10fd8aaf6e39c4029bb069c32cf3a6abefafbe919ec082b2f443437bf628814ad081f79e16898ea787c87e8116e2d0b65aced37a75d045f2ea7643c314d10e9c60fc9f4080eaccd5dfa0025528bf5d865db9e16e3d7a2284b937d72815da7eec108eb864cd01a3e333710de6d2922136f48ed876c1a21033df64ce50ffc1601d10bb399ca22cb3b2a345aaad6f960a0e5ac4fb82aa66d44ef6956b162ed0110fa0aaabc82eef48f7c9b8d1a929cefb8a220d3814bcbdaef52b1393714738eea730b1e0a35597fa47021a415877c8c90b7a0135ac18bc52e17fd4d72e1ee33e6d500fa565e4e3268048c58544d950d7c83860986b896c3e5b3203ad33661c3d9a506c3982589eebc9423183ea570af3dbfec1e216acf41ea5dae4b2fc9bcbbba060a1a23f0fcc3355088a82e88477ad41de3a64fafc27756021b1d40c6e0fec4740c25d6f45403eb994359cd371abce2f20f8ac8c5eb040f47f8d795d59fe9b45004bd4cc04e00ad8c47a93e5473a41c1b4a38a0383558a1525acbe63cef822220092a51622797ddaac0a61f518597d6fcfff71db744346793bdef49b2cce08b93088c6dc27d816dbd44bcd36525ef6e625ad1ea8543f31ca0d91b0f7cf892d0530f247a4fd50aa7dc94326c62a965e40c186d31f17c769e072800dd6f1898f44904b40ddba5501d4606524a04252000d2fa8dcb6985f7d42e6fe7359f4cc7307b0e9b6b146943b9777bd5378c1a266a6daab780294b670368b2eeb431d2bd1f8d0e3a0ce56744f176a6e691db889342a56ed59dbdf08b7a5ff2db9e10718ce69401674d2b45a7e638305cabb8aa4600868bccdb472dbeef378e8b9d6474f32a7b003ea686b61f51e2102e8bb94eed7f1220421c85689c2a58fc114cc509427082098750c5c7bef2829995c13c6fb1eb992b45136dcee518f3185fd8ee461614be0529d4fbed1731f02e767d821fed16f4020eaf1eb42b6602eeb944d197b4b6840c");
}
else if (GetParam() == 1) // testnet
{
// tx_hash 84ec08256fe54f3fbbe8dd109a177a35cd1d7788c1cfdf9074684ffb7b058a62
txs_hex.emplace_back("02000202000bda9012e79b02cb70891498076428dc13fe1018ad04d033d24cf85e0913d79de224bc963260ce2a9525abd20c820321d521f87c54f502000b97b612b41cb90cda9001c24dc69b01da02498a06150729e0aa26efaeca36c9f157bf8e80619c32e25a78a4e724815d892c857a2f8766020002915e00d148ba7fe9d87db41f6cccd1f5a42f97ad7e21be593bd5d426386dfc740002532d546c0e0b71c261c620dbbfc0483eacc5013f061942ca646218eede87b36e2101348b2a55ae9a3a5cc95b6f23f150801caba13db7a89d288a2d99de7e2ef9b50703f0d3ef46e6ad58a899a21ae112743b155278003e73207aec4e3d0d1066014fe4a54e450c10bbccefa40e36ec54f92355a4c1c668e34c3cb95e448bc258c3f82c80092d00d23b2d6d8bfe2cf8e5cd8fa75fcc29d95b3749c79607dea49b9c25ad6f0e7a0cab9a142c55479f7a5063a66fdb59a65dd66d963ef8c4139924f1330c155cad0507e1e2a0134efa3b0ec0ddfc67570e1091dcd30296919cd3da9b7561b05d3f6e1e7c4b568fe30b9563975ca99edc03061e89218f99f48c1b6f7227f9156778db01000000816d43fce0236c371ee6617135310d6fabc4276e8550f073dba55d2b71b7ed117b6116302f6931d29071cf436cb112150317cfd3bf20dea399fe1b09d7493f5d68794ee35438e828af648190ba945409240d9462b6bdd9baa6a169fb7be69e2f7a64626661a8d85ac32f3975f15882cfc37168e24f7174dd5bbe54a7c0a4adc840b984a747ab8caae8a9065c99fbb63455280f927d0b519eecb28d68abe6a70f610ef8d3bfb148fc41c1b4e829895079559cbecec68c25530ffc6bb322cba0050705ca23610e2182d22f7e92065bfccac733e8bddbc40102ad17cf3afa4802140db82068d8f688a97da1a5015999d6869d0f12d3748adf47a247945cc52feba3096902e58db2882e7672fec9ff323180e43094e0901cb56223916d167dedea7e530910b3db163272a6b86fe9697e041eea4423b9f7bc6fbe3e137f1138263611879e6eacab76d1ad61d3ab97b83a3767a996cddc7e847e6acb1620fbb22fedced8559cbfea642fb555dd11f3165b0c205f37b844a96620690d8317e09bbe8beae33fc6684f7e78b9e09449dd44512f18e21ecbf3834df144127a98e429e6b31c4407f5e0d0fb794d5b80d600cba8e2f9d9d54e65b0e5d6296fe91c29b7b341cce607269ba337044ab633fe7b7f3e3e26a29d05bd5ef8c0877c6bc09f0ec8339c1564b4493b32d2b87e95694e9b4e66add1adba93cf365ad324748d377c5dfca36a1726896c17c0a1ae1af47dfc3e436d0f3e11786e0df2f79d44aeca1c3241010818d40a94efc5b26786febd964fbfb88862c7bbe8af2c4813e0154a330765dc468ec965f76af2981ca663846ad6506c8267d0a394328c652ed56ae49233d1c69bd8918e53ade14096f997947b3baf8a602733a0d96bfae6b3085986a0b632b1ff11d96be009f602d274331be61d01a48962c8e604b65eb0b56d260af2b6946b690d8baad5085743bd19f2eb85b72108973e7c8c7a56bf7f1a2648c7b03d079791052d971575ac9462e282eed949c1da8e77b83764932fff0400f14edb6c0dd9aa08c5b36f9851f52274ebf64537a5b4fe5d8029621671d0e2232b09d432791e0e04c3030ed44ed9d30f643683bcf6de03d047f4c67087bac10079fd3de529dc1b04e3bf265b1187014b46c9e79d042890395d9a6f7041a6f0e8debf17a87fe0c409fa7e1d99cd4557221108ba2f416939846bff79cc981c457e92df3db0aa39fd04a908c7fe47c18f8dad3a8d1fd9440aa68510f2cb6388000be0e7f7ba70ce0e0c2ee7489d52361c60d170cbac7d85425d2514c8cc925a7f5b43a149bdd65a6007493e9740c7d94008e7668016d1e038fec62e5d7978d0df15a2873cd5ba84f50f747ccedcb3bc091bb977cfe8997c4142ffa3776f4e2384109f2081dbbeda610eb6cd44f664ba1e27caf9e78ffc66be6217ca0f6672a962e3b75eee0a1671e107c9c536b60b809e5c8e10d6e61fe83dde31afd38494a3a3b924fb0de3e882e30092c53ff92417bc677f8834f2f64a0ad937746973bed8724f8586939f2d158f0bcba37fa428e3fbf4417c3284ba5f140c9a111cbe1c90046ed5bb5a4c10f0110d87147b15d4b964e3beed2ea8409eda4d7173ef7411fdad3cdfe11d257ee4e3011d4f42422cf017efaf0a7a21b7c67bd0d2d8e13a0eba1724fb40dc43b16ab602ed6cf2192558f77323c1fb2aca773a6ed1078a7d4cd9907d313f6d8a437ffd0d0c8375446cd6d259796f3a638be77cd46d8bacb1637623cfcb33b8ad19d6b709334af2c62320cd3b5989ac9de5fbc5f125fb5f57980e3d6e5a35a06802ca9a0f4537417cfa003b3a26f9740c531a999fe9a6d7cd75cddc232cc2323bdd3f1204e1ee08e3adf511fb4f068195e1fd6841590f4645312ad5b022bfadee28fc1b03d13efd111ead8bfb0258ed2e7a1a33448c63241129c8c22aedd9cfe200e0110fbe55b42445d19adac772864ffb65eeb8654f4096fb75677fc1079a901a54120b096e650103366090cecba87a909cb3dfdce7e1dd32fc98c84478c48cb722be086af2f9423d35901aec9923dacdbdb5cba8c79aafd7689e9e82c2f87a232c7f02a05164edcdf0896f44cf90008d4e516ecc0e810ce333814d06cd3853906435068edf2c987d222b066de3bb6cf2c7a090df7878991900388ee05070d7ed6deb0d3c2a5f96196f14cdbbd0c74d381767eb27635196b2daac76644b5bb075b6ea08c6653ab966ed10015d1116593005522c61931b054dba273cc7d75a0f92185800d5fced9995d8257b09e5011d6eb6c802d7cb3fd671d015c2a271bac83fd1e80406800d23e3ce5ffac9a979b8981d4aafb5db652148d00a40b2f75cf5ff609f0d2ea99f25e462ab83a2f8dd1e06eec0f466e767aefb3f64f7f6042ecca60df4005ac0812e794a8c3c059f530f62204d39814774263198a9b962971d0b14408401bb9fd602a2064f4ffedf8c0b10bbeb99255c8ad17317081556cc83d65bc4f70f65710cf153e04d34f5f41ba9afa96f8f144622e933aa7daddb9546efb2454700220899f0f2639b37b3a179cfb44b00fe4da1525b97722eddfe4c806670b16702019f64084634954e69b077a1c27a79eee2fd46149d2a94bbf17b01b7cf15380cbca4dccdb6bfbd0fb582e984bc4619c1104420c846ca60187e33b9988de0be09dc1c27e5014598562e86d1fbb428a28625b15d746408a4183d1bf52cd8f45f0e97a32b5ccf081d5262fd36bdabff66d719e07fea3ff80e9376ca9595f355b60e9f1ec151b81c6ab0c99b91af2ae312191a8c87a212697055163353a0be61eb0fba8d94d7b6420594be38c0576ee119aa9c354653dcb8c9da62cef42063a6050b246dc0777930c9d7f9e334a75711e67195745fe75efbf77c829f7d2fc1197e0bf60ff8a01fd49db2a4d3c39dc030d23c53733b0ecd9554615bed254c7ffd750b0ed86d6fb6dfe54178b7aea9a52510704162671c7ff9328848518e068820f40b3b9cdc9e54ba4afdfdaf435743268cb774e8ead5ed3ebbdae95ef2a3844dfe0d7ff8e3fb3c4fff0ad805b26cd2c7c41795189ca61fae098732ee130e386b440319d5b05f065bd939b4c888de820f25957dcd7449a18112ba0e7e50cd7978bb019aa7ec7501046306528999376a3d12ea522b42ca4399d940752dd46e27c614c5f96af856bd40afa6c71af10d8c15a82ba0eeb66cbb629f7675d94fffe58c8926");
// tx_hash 6aa5057aeccac8e1bf632eaa813554352b2f5a4b6bd02f920a44cf3081488a2f
// this tx should have 0.1 xmr for testnet wallet7 9tzmPMTViHYM3z6NAgQni1Qm1Emzxy5hQFibPgWD3LVTAz91yok5Eni1pH6zKhBHzpTU15GZooPHSGHXFvFuXEdmEG2sWAZ
// viewkey: ae6184287ca791609844f140b8502ccfa2223c04c8699cf31fcd0af1f1d0be08
// payment_id8: 6c224eea64220435
txs_hex.emplace_back("020001020005b98008b8488afe02ddec0292a006e3e8f7285830f025ce902188c93bcae9eaa9161f43a91f377b9380229025ca65020002f2d03bb485f877f6a5a07c87f0b0590aea326a91b7409bb9bdd229d63c8331940002c139346f6b4ad08d3d3af56b4869a1ea355e57cbcb4b4bb0cdd9b3eafe9a84f52c0209014d4495ad4516b03301bf41bcf90602f5c2a4865c84c7f5991f9156c3623532be81fd03e1049a4971c401c09fe4a442cbb8ee0dd124e916a25d9d013ca26ae1fabfd791658b55c16b4b3b2cf2b48b0f1a774f2ef1da80abe325aeede2fbf06bf401384fb24adab274d3c9987fcd1704c409da54aebd3417b4f334de47660e203a6b419e1520133697bd2a2bf9ce380148a67d16c3796c19ce3340d43cba8801761cb408267ab4e0b68a4e139b9cb10b3da43f6b557704432c55be77d924e2e937efb195ff62bd726013809aac85a8883804b84860f45e9122ccd805c483a71f9af424f97b2b24075b4a3c94f78916240fc956efef0629c1c3add3ebf898ada716cc29b04299e711c210b0e20d511703b684efa874993a53658553993cfb3866f3592986c5781a8ae4579794de7f0b0450e3da2f369a49332e20bc31a03d8d77862b1d9e8e2cc775624dad7342979903ec5715722691fb496c51d78e3afb37eab32a79525728b266b4d885a8ac7cfc0e07f3bda7ce627b9e3a93f5e574775c39de41230528339b3e2feb378853f8bf0aeaf3a22e6d2bbc84d65a0f63cbc0871c2ee93380e5d5c8db9a69f30fb718ab0dc94b5c652ddecb2793d2fb235047bf33cf758bfffe8af3ef7dd26c2973d807049c5f37ec896e409968946ca772607bad12bb6dd34bc495954ae34aa33b250b0b00df28e7a98468750a017c730b9260289b16e1f8207fa85f38822ce1b66b9f092dcea9e753c97fd44fd93444d1435152c60c2fdba6cdcb768678e0706f98c301eb19e94a75afb025c2e88470461c081f5bdbcd6d24e110537a3dffa21154bd0713d663edce151725da1176e88903d3df106deb48382b93daba591732008ecc0ff798c89a56d2b97e1dcaf315bc92a5c674e22da4074b24d175f732546b45be036179a799218dc8480b59171630e855613cc144f6eeb094e13649f4c5e0ed590650d19c9283e7eaa1d6eb4f6934b8f9526ded049c6c6cf8029c8c1613f7cb97087a0b42c0f4c710bd97c283b1b2d734f05ec4d37fb60dd3d600cbfd7edbc96a0ce52791291d81ef2c16f8d0dde60527b84d0005eba72be7cf5a1cc315ac6d8f07b86cd1ed0ab4e9f523753fe06055b9e2cbcf2eac9970015515eea4f08c4c6a0dc6717175ee854930e6c91c64f37e006e80cf7f6a052c22e451f63b08e327390ad6b79daff1388fdcd814eb933a5f0e736626c25fb02edd016568a68691207f0020df03db999d20a6cf0e9dd08029cb53f6ecab671f33dc2ed31fbc4b3497b5002b848e6f52731fb71adbed943be95b8cea4628a7f24e28e2e595a4f8e925f4039821cd8755d44fcf86f13444131b5b834e9b259d4edb6dce4cc6081fcdc2e80ea7437ecb1f5c3bc4ea8296face9e97c495f86038dd7d025e8dedb55ccfdc7a0982f0b40e11ee49a5236d9296ecb649ca6e50f0df0e74cd484df5a177a76b4602ac57f87da155abded4ad9ee710fa2849dca17505e7d2516071a4d29dd00bf0022cd3122e5f32b51ddde8e15d10bf636057d1bc3c13774ead261d9e3608f6db00b7e0c85a48064b1e43d036a4b85dbade28040a448dbe8e121693c5805a5a32021ffeaa427e0a1edb2ccb65dea25d4a1276bf95c7bcf33a1e6b8f63401463710a26273f808543c9a5544f7cff7e177d3ece6da829187e97bf325277445131c10a2aa5ff0af0d70915e91d2a1a1d2022b520b5a174315b9f4dcb5c77ea872ee907d060e42a5e088efdd85fe8def4f7566943ca4c728ab1de8e5f8e7d42dce318055ffb89d7d20e08eace6546abcb632ca518e334490dc791e4fde02d58fcb2dc0cdf381b6bae61849a9a27a428af0adff08aadbdc2e109044dff08570f6bb7da0b30913a7ffa0115732545c51a79e1817f4972a53110ef5ff688d5d9edd242e40bcf111ca6b2bbdeed2d3a7bc83297983fecb3d5cc7425c0883f712d8448d0af0047e891533719c1c99742c3821c80395219c7b1a4b28764cf46eef9197b5e4305304e402febe6ae38b1de2462d21fa02e9584e815310c04b5bab49ebfd981050b72b5c3e788f9d06f1f0af4bfb74faf956a966c82f665010af806693e7b47c30a2a02168b3a6e8288d8d5e350e2efcacc98f15c7d7e7486969bf2854e0543ca02d23800fbc3c5af6f8a1a2afc38125a8731dc13aa63330ab8cf922ef7f8dbc8000ac6c3b885d73c413809a39321d01d4f318e4257b3460d7e1c3a866279088c0773b91594c2352f80b99e3e853f255ad6c484ec4fa9318128ceaaa5d78a700a074677258d1c4a2dbae6afca491ea2e58abf3523dd6a54ddb9e643aba2125b2507ff64881dd6ba33a7a68ed8d776a3e70901470694261de282af86876b76875f07d0dad169b268bee8896e38b419839a0f1a540cbb563caffdd7c1b99d8a39d70fd880d7b264b1e3d8ed83d1d225aa74d6a9bcf5fbaca2324b2db7df8229893d0cfd28537fd6f20fb4a895d975bf5be7cdacca2f0ab5a6bdd6ebc1ec5b945077097fd2e8da52fda700400c73b20deb2ab1e4df8e2e47afb2784328a70264ade10ef6743b6e37e7755ebaa434bbc8060c87f68ef8a779c366445a05b7539bf57d0a6001fdbf0f0e47c930fa6f77c7306e762cb4f44e2d963dc123c75aeebd2cd009c68b6653dc851dfea8b9ec2ed1acbb50e350f282859af86f6ed092b385406e08caefd963de05e058142041330dcf526f1b3da4ebc534778bb480024197c6440a4cd8cc7df61ac1459d5774de84cafe11230fc6cce2f67e72c9c031c81a72010a6657c6b19de00c6a098a78421d1504999741f8daf8e22581da2f65849b49ac04e6ed037a191f03dcf78d6de3a6e28df152e28fd8db05e535b22178c43091f50949f871d64bbb53d8b42ec3906e2de8ce1b8e855c9073ece4c3aecf44ea36b80a95029e92570b6b4df43732d2cae344a8cfd30b363b625fe66d1bf36f4891ee0553b616b0ffc4b008d755894555e6367d3370bd631a8ab9c0774c3d59f7d0500037412c52ce147af8477c2b8b4c6f911e99e2c04d81cd626b2095c64854d0dc0978198ea5d3df07e411eaf96cf7877f47f9024e51723423956f5e6cb35e0a580c7058277892894f58470b86816c9ff51d693512daf92ed37f79cd5dc4d757010ccb29d435517b1a701666f6b3d70d83a5e0cd7bbe5c3f5d6e63e90f0d50a5bb00d5a5f54edc821c59f74fd435b70cf789a62a34749c5dad691cb7157c7a15ed06b372e804aac456c84be0846569cbc44d4d16452e35b26ac531a72d8e492bb6056b772376ceff10126bb13744e59c7007ae053f8c19cf3d2763e249c0761a4a05182abe6aa5e5c22efe9f94b682320340e70b4058d7c35ebf12bec98b14484008d4b137be7af1dfd60a19f27c4b6736098597b44a3259c9d27f42d4e9803d0009a2769ec508a67c54c01d92978efb8a1b1ca4a7a3883ba23d091f232ca79fa40b1e1ff21c5d0b85864251aab8bfb318ac8b2e31876b416320aba7d5fdcce0230eeb06e3d028368d0fff4a4f0336fad9ea899b84390cf5c21c103a6622bbf907062bfb84b76586a4d7f4a7ab3d980dd858003a728737dc2eb7c741190dca31940c485e3951028b516a7a510f5315761de3d2f331edbe05e9e59f4b1c7c7232bf0a8129d85766653f8b0de9c453cca8980c8f10416da278f271778390a3d7c87706360666143abd0bdbb62f5ecebd3c3e0690aaa2e8992bd4e1f8482df9b914ea087192bd6fd6f191382a3c689cac01bb4c1115444c16880ea20d49cf20e77094057ea17ae37963fd488a1fd5b2ff4fa17e807cb4b8afa97437d9559bc95f24670ee89dc09bdd0a874a146ad889ebca4dbf9a861ac0346061fc2247710a40352d0ba9e05fb760b82652b5be412a09f7f82d342ba0d51ddae89033ea641a6070d20fb968ee9265991a1167fb48437ecb1752a6a26faf8687e4557524c4c1134ee8018248e11f71e7fca3e780eb731df3ca3af7d1a1752ebc6eba4976e02b1d5fdc0dc41e06ade4bec3539a872be570d7f0574193008d3996196aaeb07f367dfb9d0b0a0e88db473b05b85b130c7d902e4e1829b8dbda2ce624f6090f950ca12c73012b1081a184c2e64bca6c8f01d5805acd1039ea43a957ee3d38deedd36a28dd0e266144c364dfca523bb8ea94975e404c569468de96afe10cc78f315be0c1d9054a5fa95a363247c0f546a08c52f93b442684663ea3d362468ff8e2cd3470fa0d9c98fa69ca36be6e6a94d139b844ab661177bf6c06ce885f41f113c6124eb7028dff3293c16429da46f63e29d77de373623a2976e2404f01ab44471ed1e8aa0a6dbf1a8bf1e96d2ca29f3a8985903f9623a8bbd00652a8b6e574a1c647669c019917c4ae054485a53c7ec08dee03d061c6b6333756e28b0185451be83f99d20de945dd60c09564e391f050059997a5343e105cb79dcbfe38b51140611b24a90f9602f2685c1fce39d4448129a5362d78a34ee949c73ea4546ad8a6e1f3f2b20e12ce4515f06882c02c9cd8ecf0edf60fbf151c039b6980330ae5b7aec1193e0fc171f45b362e2cf117bdefdad2d3430d7fe46482ba1861c921007ef984cc7b0298dd505bf56a84f9e3468164819ddbd542a9cc1ef7fe71f9a4d2e4496cfab601180228ccc2503f60da4c8f0ff81d4f449a4ab0674a26120fd80349b7f556310b4495e18a035d636f75a68f07e439c09899f627f115ece1b4ca2f5996b285440ee74cd0f56e015813c3432e013b6c86af7c5ae45b5f36f1c2bf61cad0e4c5140917a5be831eeaa735cb185c718d9f5d10b96bffe1dfdcfeb3dff04a01cc3a9a0fe36087c4e36fb85304fc37373ab2afd047d4fd906bbf3e35a2de91eedd639b0229c7b4b44f78dcbce5a6b050ba6d5cfd4b23423f93d98b5cc75ab77f131e500cf5830b63f042a978165cd27f19488d0b520d13134621b561ea72a3dcbdfc6205837f38b99c41c617e36e2289d9ce1255fbb339d7e939a4833197a6ad8d96ec0522ce8faa5565fd2055c1efd7595c44ab973f064127d293c058f1ec079dcb9c0816f8e2c035aba5b694a23e4f8b1a67ede7f6903445e5115d4f71570d26831207571b8084935aa979a7949cdda3222c43bf2e6cbeda2e7628fc1cd590483264046883424e71d8db818950983e8c04e0e6ebc29fa37312c095ccb2a3b39d9c57065de683753ce8415ecf8bcb8c264480f745b6542efc73f4524a70f58437eb1e0dbcc667ee50554122c3df98f3b82c099eaf55e5d9356de1712c6ebb35d1a594070a32a69140542c1f11e3889969040664f1e721cc25e91b58841a576be89dd90831922a2cd2ae85afca0b5eb92f4f1cef5a31408eaf4dac80a5804981dc6baa01b7cded3d80703286869b95bea68acd8e8919646eb3e6e57ba364829be76d3602a27435e1bafa95f1f1aa9cd997780c04271aeb84bcf3b7f98ad926df3622f10de55d59e629d5e20a7e0ef58d38caad4cf3696ebc8be0774e9aa1da8bdcf7220b307608b91b96dea798c8b0ebba9fff0248b1e404aeb1cec9db77873bff96a80b3405d6b797d63568545301bddb1724d6d7ad09d81c46e96ed112e706e3386a0c5db76db9ddb9ec7e159248420264d2d4120c0122e4f8e0c24c0ca4d97953680623fc99850d2fb0df046afe5d75558d49b9a5dea76c3251c8daac095281ec4e000daca0e5994be05abe6eb3286daff75732a9536638b361a7c141b4f32aba2208ca5998776b1d122d2dfb1b21c37fa021f764b0970add811bc36e49884b99780e3d59e44577cce12b2b523fe2d74dd278fe975e394b64b5c35a975e3f18d789090d5e4be2805fe2b835caa2a197527760643272b86f1e1a180eb6d796533cb50e1edeb18a32b0f36fe65c1a45c45d4adcba37d791d8ff8fd38d5741286536d306e840648ff2ab2894639fdb7c9850924286af4dcfbac7e61d6122389cc8aa48002b8f97d1998ac3fe3f70fe650b039793b2aedd1154540f0b094fd2ba6716460fc2e58eab691841f945ecc838f90b8fc1322785e9f2db939f047ebdf576a9420adf178ae70dde798c506458ad9504772e5f2a2eb997027f8f71e69882132b300da31248a6994f4efddbf24f4291a8c15b8bb8521ed063a14d0a0a7cd93b30da060032277d752836a54c405cc2ea4675788c4756d6c44412d3a24a3ef8b4d69908f3fe79344660659b601bea28a3ca5fa463c60db698beb32029dee9fac2fc09e0c91ac1829a7dc93b7c84f7c4e6e2bb6e6c3d4b1d4fcdf06bda02600986e7607b969de2703e82a0f1c033cf649df6cd6019be9827357f35721c19931491c052db11180eef4ba03cf3baefcaa68a11afe4b2cc62bd3c6fafc3cfc42d4964f043990d03bd500c7d7efc7f166310035a8df37ddc47670f4df3329fe560f6b3fce8b2ddad3efe50ed706fea4b059563eb9a16241ca5b282476220f84b0f44cf805706541b38326c28a3d9eef96273fe2797bfa79540bb57d84c28e2f4cf03aced9ba93b401f346842565a52b71b3260b72d598f67955f8f2bff8db59a1d18db8d6587d94a8655f2fe47dc899c1e5d1631cb4c52e95c677716adad7f0d3acd14edfbbb4039f01988b9d9fc9d49e8c8cc9ae61d3109f2600d0470fd8f1e5bf71c262f53abf26f8606d7df0aeb685a39e95f05b14ce28724711febc30c69a41f7f1a669b6bc1bb84d77224e1b7040a3bf1740de84a05fe4b5f7199cce18eb68e77163137680b8470cf34aeb4c52646a2c0e36452395ba917a2293c8426807e40af28382d7766ffd7311931e7c46e30cb1a25d3e48da76a219f6fd66b44c275546fcaf54961fea25ede6c7d73169ff935c0d450db4bab9800b3f9a2c6599430545d1e23859f84394bd615eb412eaa059870a83309be4d8ee2096b2907bf053cd70943d7a5e86aa6faabb8a01b2a55e6eccde16175dc6da575453d9fd0a12a23014716663d7afc0f5ad4d221dbafbb3577bc1fd86d4cd9fb4e4dc9666f4aac89d73a2a07c6bf3d4dcd3a989e994ab2581579aaaae0c42e8cb796f596e3d75294cf2aa02143f636d13e46bc67e15f96e2f8bb4372c26254b386817a6d102988c5aa9a9e3d42c0e256cf9d38d6694e6f382af933662c98772fb5976ddc20e8fa19030b053a23496bff5ec92e7f5d0f6eb0f2a91b68559eb62d1b22d21d13ec03f748abb476a947362041a1752303c43d70a17fcd4f8a9b1453fa8f84c724775fec10fd0b4c6453ec2f0636cf5d01b26161e5cba0b2c23df35df7e949a79129bbba59568291e33d56aff6c5c9eaba7cf3dcb3cadd116152fd325404c52432dce6d5a4348bbe96b4e5cdb5a000cc28ebdb7dbcd6a2fcbbf280ffb912d7e00affc62103741ca6e5d415a261fcaa50e8068c31de03c307b56217394db9efef1cf2df97dfdfb4ce9ce6a65d2ffe8102b14bc66eadc453f532e13e565613c848f7c7fefc1be72be4fc6081e9f5f204c2ad970d6aca941e4e9e9380e27a3a207be8ff692140df32352ff8744dbaa8a543e638c7bb6d9a3d3e7083d85ccfb52d1bdc35a7ccaffa2a36173f8118dd818c16eb4623dc0d28c82fe04ae96b6e52eb3b14eb629613f834709a151d0e659b6d117ef83c075563ebbbb9ed30af6741af9d000676f4a1ce7b2fb5ec5e4ed5e68dcd7171b72ce3f6cac379eb7a2e556a4a50c541c337ed9e749a73dd0bf9ff4668d9daf41dd1d773eab83a8d42af06b56f74bc191877d9a3737a054aedb3d87fa9667350dee1794b2148589d6c6aa53de710debc2007b14a677276b817fa32a656210b8fea709ae0a4eb18dcaccb1125429fded0bab1ce5a7121a7926cd49b4a5e858d882c82f6b3019cb31df0056817d60c86ef73a059cebef4943393080eeac455899518528b49268acea1336956b55a660d2afff21a63a7c3817791e665be1996484b85af8eb9c1338f99343332bde14bd184a82c068909e78389aed30129c62ac83ae420c574ba7abb04c7b6a208ea3fd63075bd703c96ae9660aa86bf64c3ae69b6f810f01e112861bc9fa483c4023329af6c615c7ccaefba1d895771f6f73a567618ec95b4ec74b344fd5b2dfb852ddf6d7df9abb50bec485b8ab105fcbfd513f672ddea5ab4a0935235d0c81c005a80a422b36d1bbbd3ac97ea1c25dec1bedde5513511c0cb9bccb58cd341c29770c465c6273254b12d875c64e529f75c9a393a8a373256cb3951442fd85beca8e19968f238afe6117ad52baa00175c04e910dde27b3378c2c14263fbbc56cb3212bae6206820c0ecedad0241d2a294454a37c6ea40ac3ef811546dabc3843e326a0abf0ce07b015099f254c7e20ffca5cb9186fa72acc78cc94b88e8e298a579a392be85ae953db6d606f2b07b47c743c9e434d659427402e850995b611c8afccac1a66597e287376ecaf6a7dd9bf58e0efeb5671a9fc5cc90d0d37d10fb23cf771a8c507af164105bb0e2bd1b3aca219c4543273e3fb34fece8ec326674e02d601196b216201fcd328382acf56a9cd23a9b4e31b9325d59acf20050bdb6ea4cf15a095122de0ea93e2086b94773f01d6f22e1b6f1fa27c9ca158cbd108ec59d0aad7d55d475881a2f25752d614409588660401373e0d15fb3a78d03bac88108edecb48115432304ffc4772963087f962831e4924727f81e85d6c6eb1ba3ac8a99a3d8598d3965da0b66df57a07d6edeed899638e833e33cbce87b5d9241c7aa974b530de4d40fc6879118fb785d1f1e060ce36a11009c9373daffc8a0e353f10abea9bedf0c397e5b85ae256cc938ecbc25d40d300a512e9aab5e3edb0aa65f77446779ef0fceb64d30800cb8b1836c401ceae5fd8701719cc8fc8b14cb249000cb4924bb07baf91527c6fa2a2d0a412a0d9827fe5888d666f3a93edc81109c52e1dbd6c95d906efbed6e04be8df28c3b634c991594837abb9859e9b28278de965f940291b6fb88a480c43adb0c9e011977498e03ad9c7da7c6323cc77fc9c9e75ccc20000c04163027354a366d0d8eed202a2ce03ca03088800d1e86e040eb985ff83cf8e9b3548ccea68d6d61169ca63b1b28fe6975c734f0ff5050ccb9cacaf0afcdca682063290daa94862a9626c5554018fa2746bc701d8b1f6fc92d0deb3756a398ce8b02e200df69c403bccb1a2e17df24f61323e1f6cf80520d5144af221d7ee272258aa6064279ac43b1f6a14b497a57d7459112a8d417ac31462da5a7cd38bf0ce06a86034947967805cdb5d8aba53f54e157439270c9797464b345560d0d2914866d3e0d57a8bac9a9a98b30fc5a6e895f5d2ce0a60d6b6a21111b9c66bbbcf582c24c0e579ff534abd80594ce3bcf627924bf1dddccfd6e9a26f0c0dac9d9ebb04b680ad1b34ff1e89aceca7f6cf6699fcc3d42ed1557966d05e5880634a226f8409808c424da44473b24757ac7a8bf0b4fb54efd71808ad659425cb63fbde44d5df00dea6ddba2ebdc8278088ebb6bc4cf7c0e1d44b64acc2bc898cd94ec2f2e6f2c05c2b67d73d676783d3de7e61052129fca42b375da7840e5c3d86d4f220cdec00a510b96783f6830ca7a2749bd5f8da41fbf4e7b53176557add803b7916a8b530a5b8a88c1e5026103f09a16a139fb607d6d2e77caa8c543a55b8a28993803340f9cdb45c2ee171515770fa88390c8935cc24f054474f01eea1ccf147e8fa97b0f7ca73f7da837988d69325f52b692b5f4d3f45ce565d7d230a2c4bd9e3f2d8804b1daf74aa8546bbd4bb21faa61b01c01b449cab14efa25b9756cac945a94550e478553b000f1aabea36b4e7adc000852b3c4f73f6b756dcb5ff5e0f75c034101b1308bd82f4af9f794f4d59fbee0143855e4a3e230a60ec31e0ce08685f29a09157c3e6f06121a787b3c7280020448197b4d5909ce72578d32930dc83a78c107faf86e85e1ff3d6cdb4fa08856e04cea0b3099c8b5e9c156c64e5aa85f6ea7007703a40d19ce8def36860cde5abf9137273b8243b33c2f9aee79e3df9f23a60192d5d2e911ccc1efb47a102cd607bba71360b82c524089eb41dc65c161a9df0a227a3b877ec4f34c650dafd003a4403223579027d4c586d4b7d522b18df02e069760dbf72fde1bc6e5e6ad173cb17ac0cbf89706ff1b735dab1c4880f5fa1e09d29751497f16d13e50428384ed1598ed6e3ce369d7320e3a0c1d83d7e077cd0fa4d605f0d27c5a5e28de7223138ed561c6eb1aac00e7dc27289c6b939180310e2ece604aaf3d811a3ec2a9ba19b20b4f51eeee12081ed60130d59bf8fc188c0f7fe7703105d127835f6101173b50469ad8a8d65d692357a15981018df6ada20a2c1a61df1e3a361e37a5e054f5918b6d0386925fea259551e6e8a2fded2bcf03c9f6e0501c2b8e13842a85f4431e888355a588367c05aaf016a49fcde6eb450e95a359a18c724b0cb4b8258bf6ee62ad2c57d95c85677593688a805c8b44780704a00101597de6c136c3f8f1621b63aac34168d9cb3c1451306b187a5ada66000dbd32d29090127484cf774ac7b871fb6d6bd058f54d3a7617cafe7e146c700f5c3c4106dd21ae8468ca7ddd900670619f4cb02d1141ee23d4cafd5481535a03aa6ce98fa742ee79fb7b20d9ab2c3186f67d0e3e683e0c432ea2b03e4b3b3701312cdb35746013ef342a708989862e58008c603102420b6147a9c1a1617bd50fded022c96380977bb4c7f2be5ddf04d00fa1a4cbe214072e4d58d6e0603ae80ba2c6b26328aa51e8869054fe4a27143f8b0128e71bf896ca94b1584725a24d0de27b1083e81c1227628eb9018e222a73924dd48ed4ca3c693b005b648fb9050fa2c988578b160bb07394b88782a24891de8e7fc3c23ce5887c8c560f4ccbc40d5cab80a45a842976ab5114980489a2b9c445721b3ab6a86f4bb75388cf944b07e15a5a8cd2cdeaf031f420fbc0bd5c99d6c5d85deca0eb9d4f18f1324e90790eb871b62676af8d3f01798d2d798118204f65984bde4a29432b6a15ab1a00a50c8f8bfcaaa6428f615287ef2fe44d0aad11bb312fb2e90187a88710fdca549003df3ecdacb07658a0418b3388d8b069a62d733d0be15a47b6fd12f380dfd9fd065d0f58af03f3421b62b2c9d72a6eb64a1c2ba04571323d64776ec9d672f9870110ee2a72012ee97b962439d66c3c006d1203f1f19ab3dc464f904692c9527e08b2e5adaf3dc2e32f653ba587d90a04f16af2f68369bc63d2ef7b6a7ee204ff04bd3782539c0575132ba987a8f633d2a57fe281059d5ba082848ff6ce3a0bb8029c9b9adbb2ec82d89f9e9adb780ba35db2e52c4ec413cc17546aec89831b440c99bf8fb682222aabb8a0d4e2486b8c8a54c3529ffb214da58657b9578f1b05047b0c3d6e37001ab84bf33fba6b533d30555826d36591415d31dae6b1cdc25409714bd80190ca755cbc4940409938c273b229e588441cb7d0eed5aa8fac75710a7c43a032182a852dd84d5276677f4b275872c129c8d9d757649a54bb87dfa10b9262f0f2aaf9ad3a87dcf2355fa79409d2dc3cf7f155ae2c7801cec327e5cc099adf36a0851c99e26a5faee03d0afa56e3f8070d84972de06ae25786903349032f9bc801cc3b3f71c06ce4de5a13f5376578c0b630d5b987a6212147b2aaac0c6b66422baa7d1ea7f3355b65ae66c4c5d5ec0027439c1c0b058647b650d3b203aaa4a5454bbb6c63353eeb04e0bb706838c52ac20f6d5a23ca69762014723e067747d804fd7d30e83312b391c6ae8ed35dfea71edb4a9d2d23148bdb2c741a048a53a9103567e70b01d08b4798e4bfab12066d5782f22f671a43b196cc52e0028af5caf158224a8fe4cc183fe48bcecb8a75427304eb0c5fe3ba93548ef1530c5290c2b1ad5a6e409a5da4d339c9bf42b97fb2b8bf3aab08f8f91aaf481a1a0c7c67f9b15c8603df84e35e95e1da8dd6004ab1c61bb7b96c57efa385830c2306bce9656943973be9b03f69381d618fb7d0cf6da83b2c18f05aa55957e8b09b00deff067e869dcf998eb51dc12b4da34e889c224daa1981c2cc674c5bc73f410a88e905abd8a42ad320b6ae29cd0787ed4442c109a6fe43380a23170dde0d880829b1863e8e4318f5aa5c275efb12ea06bdfb19ef9924e5a473a3f31f8557a30dd318a52205d48f718deb298e0578ba262395bf64b0a632c1e822f2e446ee6308c16078f9222c942021fc66d0707359eaf62bfea7df6989015a2d439f7c9a7109d3f69cc4df1c0fa4ef586611368b5f28d77ee27b2d04b1ba12326805bc136d0c4aaf62efdc678bb101ac4752bbc01a57959a55194a937f7980fc03a218882109c38beef7210fae47c98ad9261c9ed1c772100ef285dfcc225af2c15bedc02406620744898c45b5cec00168e92c538799b2f7089f6e9a08520cde0cb507bd2901f5e4d64f24c19caa37dbd098c09fdca1ba3d3bb0095f1a6c7ab7f480a9886502cdac81037ba7a01160b1d05bad72e3556abfea0a129e9b18b0e6456e9e5cce0d4d513fa6e1e8df64d995fe3cd7f64b1c5c1eb7d0c1d5513b5e85d857f84fba02e2e2f3abf90e2b90aa09b4be86490855a290967cda40a370e8353a2e23f5030e8e9c32624109d183498f82660f8b7a7f804ea0cc33349be0a979f5574e83ee0d18c06f470bfe805c2add9bc81dfd8ad041a87be618ad6a4da6b48ae21a5f220aee86f75829a90e8596a4e563e3dc23313e89db410b5bf56af91110794143da02471d33a7b387b8f07cb2565610016e237e65e54ea564a0d39cec700a45732204b3a337897580c02f053617adcc26b4fec9e7ed648d688edd7257fb529fcd6b065945587c520f4e42297adfe574362f95b2bfe3c5562212798f9bf0d87949430cf955baabcb823e12cee2b595e0667dc8351261819003380d1187fe51f7b2d908674923d297842dca60fd099d87711eb5a94642b6a603e3e60565be736fd0670a45caa94f8293fff93b04e938ba9e231fece6de87d3cd26bb10536504e7d9d70f70981daaaed3b14e1e1855b6946f44042d986d2835cb3e579c1b7504181996084b84aa347714e232b85b3e3be4a72e27a160093b7e3a77c7d99d57bb25665f0b59db7fdc1de04810eb7bd1e1696cf4347daa916398e72b1fd533c1d4861d230ead446e8e3aff23f35424a875f81de7a5f0bb1abd42ec96b43f09404138edaf0e658daa64544efa6b43069c3c66906ba45dcdfea33c784bf0d80520cce8522a06528aa632064b74a4228f73c6f08423439167767dd0254ea1bd1040421982a209a28e6e5702b9faf85a29b7cacdf268df987a7861d199fa844bbbd31ad4fc0d0bfcb3eaba37c44fd0a1717b030ab95d5a716197ef5a10a2e2b8d03359f0848503c895871f51c3205cb2329b7dbc18ca4e42e017a84e2eb55ab028c40ece6d2607723b4fb1bd6de3cd037a3778585b1c1d6db7ced529d4c77ce2d8e1e339d4c901511c31ea8ecc15f987748810f58b1a34b59513b081d21ffc532f22a06f124501e31ef83a14858034e6a7feab072277e915fe8d94a23afab0f3d3d183a2a3db07571a1e4069d7e8ccd983bc6434b0ff35a80c5f5d6fc483a132f57e4abe88760b04f150367f7c6e4b199d35b03b0c7313e9faabf929e9b4d9005a6b50a733980f3bb95920cfc3f6d418a8c700a4d16bebd36e9799f5fa8bf9296af71ef4f1e0045a014f5c7e4d5c95b772ff0d5851452beb20b886b102b23d87d26ce46d9c1e060adb711fa0bdfee3f80979b65523347a4734941414f2859aa26c0fb85ddb7d03bcff15400c1ad7d73458c92dc7e50a3f3dcd19380b95c3fb0bfb0c1e95857e058a332e7f477c8232b50e63548fb6271e8ce831511eb44c628fd5850a81d3cb0cebfc022ed087111128cd604b1af17e70b7da86573187b188290e57bb282cac0152cd4de94977e23b1c2481e211a8041902b40f894ed85448fceaef14bb9a390f599b25c60aba8d3da9d52fb6ad0f113dff586a291db8b99960be1b7e82ad3003c02a45a8449dcded7f352f4ae5296374084e1ae6044eef01c833e38261c7490bd31ed39d5d2235c8ec9eea7ce3a70cb26570d85129aed3bd4bd6f033a6f1f50cfc2b64cf74f5a0520f1502b3818ae60d2fdc9268cc5c75c659f88bcdc7149c0ca00812ddb1df1d3ce70ad155c850826890509726bb4812f534432ca825e9d702c1a240e4de24e8e52c2f1879194c737c52ecfc4018d3453b6645bc12b2887a0e565ec31d4a8f50356292fcdb213fe11706bb0ac70b59a5f6ea0a0aea0e6eb9081f7eaa0f087fcc7128efdc8f86e02a69fdc3653394f17a85146927f9f25ed90764827ada4daceb54ed64775dae549dc93f78c9b68a836692015f77b530b620088ee3e2d6d36ca57509ee1c97f1655aa02f6fc4bd0e943053f22845e2387b24087852e05c5547fc9b6438d18650ede1c088433f89f325e19f74566dff555154023c76552e27c327402dd92ab785667646142eda7d79f8e2d1acaa99549fe2cb09380f3bfcdf8ba591fbad26d614e056ebc39b5c34386c9aadead78d1edcfcb20ac1656cc46f3ae1f3d82ed13f428e46d27e7beb31f7354b4f36131d9f982d11086abaf8074bbfda2d6f619bfb60348df70e807ea88503d8d178792d7f2667d604ce16c1a2f979bfaa07657929ab99de1f3651adaaa481f0d0002aeaaea14df60f1618fc7acedac5b478d176b6932797c24ace28ada01a07420b43f8e824d31009f02699e2b99912b6192fd1450bb91b7ace904a077149fe66381b0e51bd10510921a7ddced654077045c440868e530f6706cfefce8ca4d8c3504a055671a9cb096137af7b5245c43641c3fd9d5d78b52ea9298d681c31d61248b78a9de5517a0bdc1ddaf0f43c3a01f00d6ebad8d1db6af3dbb3c96793b678c250dbfdaca39004f447da60259ecad89464ae2adbf45d137bd01b6b5a36607410e64df61e80490e82ce2983bdc4c5f68bad7a17e13927033347cc3675e70b91d96f0541e1f946e92b19a970563bdd9ad863ae8797aa2047f993c25caf4cb7b3feea1d51b06d96d4d44b353c7b43eaf98d2d934bddfb4d7cddab8ddbf3cb80683f8dff4a37eeebf82a03a4b97314dc71c858c43efd44dd7e358450d3cae7b86110f90a37ec28b4cb768cab8c9bd5bd23f70de9eabe5b49c2e1f2cc6c0cae1d83ec05c3c4147f178f90a0ee89e493a40023bd8b43f44a9585edaebe5fedaa8a7e21b3379fdc21fe84634e65c590f2097f8f5ddad5721fd78b0076483b627f1a9ad5d10a43a719973961e52838315e3f72f89fc583857c89f0e92438b27eceddc6bc4135fd9c0e32101b4f9cb6c29f360f840b8ac076d988d00c18b33f3a49d968ed16882a39cb854d0ae54ac1e6558c7bf2d137579fbdf8a04e4668a969f55cf586024c5be4426aaabc9dff97c23826d44dad120912bdb2efd5fbb875f31d3de834ced53728655f4f03bca5a0fb4c7f19ddcc9d491566b120da63670ba5ef26b99b9643e34657ddc3b8f92bd5278f815a6b53cf73288e9d5e2f0c4845bfd1318e897a5c14c7efffc053f865e5aa1856ff71e102d43539811c2ae3f84e21e52bf46d8d129101c3ab73b3fc03d832ecf6e5b1fa5bd3e53f82d864af256202d422888292a190773faa3db731a4530b939bbfd402c564f88c8934374127b1e1389c89b2ae78295fdaa25d01a257d2093c10d42ac072678fd9188609ce4d66cefca9830d264a266b375ffb919769767840f8975e8fd31c66a705df14409cf78e2bb2b028399f5df43cc9802af9b2d43657c146fca76245dae9ef261124d91e6f4cef3f366ea274a957e728966a0a0472d36204fb61727cb9770cca6a351a7bf9894615083b707b4151ee832f9c86e2f0d7157a0afd1ebdfc817d49496318085aab5925b4fc03b52c39f37d840fd59ab12243ce152a4b2a4dc29b084fe179f833c067507b96abffb1e18eba5b1902bb23e728092e91244320321c8d271e8a5e39f88ed307db0ace8bce112261fc3063c62de0f36a1a6c1bf367a518308e62ae05ad43b84c79891f1bd148fbd7a4a1dcb6f2b05adc4388758dac618de79d89630c863b0713c979859358ef1502c04996c0d39623a16616fec327fc9f8479e6fe1ead70614b5426ac81f3c765849a7881b3b0294c6ee6332f423c2d8ff520f4d22ff85be87b3a60c50dd4b0e25f7822ac69a17e8b382aa6ba5b54a041ec0bf03b93d4907f3d6f1f4e27369c811f74f814d3e0a97d879f77e12d7c90a83e55fbf7b446be6583130d11f6dc4679718a195b614314509a79ac825a51544bcaf68dcb44f5a3282948f493fda300b51f11e8322a620ca574569f40766a1b567d62894a3cddd567fb4a02b59b4313a8dc8254cdb1742686be216c69f28fd74b875afa57dea81536cd139ed20314d7c2896d3c22cb03ff9968427a2ab3fcad1ed1c062eeb6237eeabbe5981f30b97639b92ffd361a4c2646424b296a40002400d1fa1674a999baabc0fde2a21fc6846adb1fa315a567986a69ed7879638df8d65973d6ba7f9820164d60d63c890e6ca3be16e7c1daa08ec942e0c86fc3e93c6c81d0a50af6622aec6ea8307686b014ae5d8374bae9c936737818cc40845f7e5045ba50e88ff641a9685631efa8b35db5278a0ea74bfc5f55dfec272050e55edea0bf41b5d9a951116c5b891f3d8b7a90b3ca61d0c0cee1a8f67ffd08b4525cbae744801ed4c11242c1bd848c08c447a0009a8e4f16a5b28ceade61574fff93f6c62993d5b896d782aa1497644e4e9d3abda4a32e87de37b3f973a4e8143de883c0189d0f50070003419bee1a39ed166cec3150d10c5b6bee1b7b0adcbbcc936334abe6be69f3194e092509cb3f234874b3b2420068c3260175485311459c7bec6bdb7fc2fde6d60ac3df9ccfdf9559223e56d02f2e7573a09a9e34bae67d1870413f55c6a104be18832f9156e26f3c2eed92fb4844c875d1bb6cd2139c045788f2be1936826c74e377cd8c99383705c73b3869430e109bf757ca5c02fc58e7b6b6f5f1165163b42ddf23dfd1a6e6ff0c7effd9169df5f1bd9a42f8d2e854e8e0a26f9a9b586a70e5861be75817e39c20944c728f2ab61d3fd6f86eee14042bfdc9ee11bb2e46ff945633686ffd4d5a02853940bc496324a4465e6f0d9106fb2ba0c216f9a0ef82b825cba42fb951f3aec3dab1f8ec27cb85112f18114a948d975c609b2f887295d8f060f2790f88de0d2b738403eb3ab312dddc2c035f0d00d4561c68c2bab02235a461cf16e1a8b85b105d767a3ed6e19888108a0d92cd0e408b0c54fbef053e59141515759b961150382cddca066b60b15ec9f6d6516cc45fd90c7744844e12a4d3f54fd35c75fd807c59cd543b2cab0ef4affa46deecbd54105ae7e56ca3bf8df61750b43e7529ae9dce50a1ce415a26200a09b871e40f78b3264bdb605a9f6f97fcca0aff0d8fc4dac6608ff06051d11e5e74b4ed3b0f8dd8a49798e554e1b62600692e4d374a153f3fdf7f94ee99bf292c163274039ec18ae768da876bf326fba90cc946acc90e37430996bd9c4c48497e98a7147969fe7ff1af9f37b051734b3f318a150710896ae55e344e070c78660ef04c5e753c3e62483a7fd37784bd47775910b455fe2ccee33760ac01da0e933b4052b7a32e4740dd963658e120d674b6ff3909a0aee0d637fada6afc1ffb31db9b7b744101c2cba75a65cda09f18ceeb26d98376735e890f111f8b6084e0e359996f45e196d46c8f261bb09b28a2f0003b598a91fc11f16d81b382518c98f1533b6a6fdf393adac8ce59b297934a734a7f93867751fa78c9fc201e8162d038bc8c573607fb68d2099c34402da862a4d765a77392cfd82f5010a7cba5be0e7d848d62ecb38619638b4251988ae7cf1c2f4e4fcb026505afdb53986f7d459a33af152dde7ba9230c23d073fe25ee68594b80aeb1667503eb98d637e46f69539a32a5e2b5f6162f473aa686e4a0920d1f2ca4d41a554e00106579c1fb0f8498b95bf79790852539cb6f743acbbb462a28eebe003e4fde085690cfc561de19e996222e56e3e1e5dcc2ce197f9e5c99aae7420e338d12cd0167952d357ac04687288914c76249f91a0b77f67e902c509009d4ba73cedea8002cfb131eb83fe66f8c06297b862946f58ffdc0d40a6ad323267db6e6fabff20a829e82532d46765976dad26524b5628317b06a8a9f252d2ce141190b6f417c0af6c955d2f0a77f336a18e1662de52dd23bf188da83e5dd4a2c0e1b6698a0bd018b952b4304b245aaf76feaacc16b7ca653cbee46d095bd1dacb3b0b6f0724309623b4e4ba304faf1c550ddf47001f9bce06c43337614d83b5c226169d57deb0f");
expected_tx_hash_str = "6aa5057aeccac8e1bf632eaa813554352b2f5a4b6bd02f920a44cf3081488a2f";
expected_payment_id_str = "6c224eea64220435";
desired_amount = 100000000000; // 0.123 xmr
// tx_hash 61f9949d200593d9de4043db15b504dd8aeef0785e8f03d81f23eb76059cd419
txs_hex.emplace_back("02000402000b83d30efaaa03baa401dbb1019220bf08ee044c030b1aa3a2f659c06b15ceb102ee933e85f3de8117d50a710e3b257b5acdfdde1ad19402000bc0e613f673f612ab03f502ed08c403b40236152468395d9edfe7d7c5d74d4e3d83b1ef75ca27cb0b7f0d11aa487718845e0395aa02000ba5ed059cb20ec94584128a05cf04731c1783011a2075ec6bc3229731337e34672e9e42db9811540f46f272eef53891b0af032b5102000bb8c214c304a226b104f503be0256e7069d0317431b488a73c577625318246498ebaf05e01b458dc649e548534dd40d3522cbf82a020002410b1ee640e21dbd8df4ae780f5e2c6152c591e0faca0087dc3904485a19688700022c76544d03f5be4e26ad44480c3c97ea5d3691dab7aeee6804cc22f0a05df92d21018b35bd36fbbd981b78eb1b7d13dfbd83888ecbcef95dd8d9d33a95aec09f2eae0380a5e27429c0d3b30caee595d2861f0e3216a17fb4778b68da68a710ce8319a808cbd70f53feae6dae35757321721ee3b2d51b6c32b282c3567d1ef680288fa1986efe0d3c29128bf9dc2951acde59a2be0755f79c79a77f7980f13ff26056468cb1f30a77993822d366b1ba67db99156be052e9a9ae092b449507af5ec7ac7114d74a07184d5963ebdb14a93840b280a4cde03894fece192cda9e8ff1260a47971fe539d6bf14c6045308f9706cd4b736008a1fe850bdf60e53a994190d2bb1a33eeef4010000000bf3ee6806a425d3b2acb28e0e7df92964415cdab08b7c89d9b7ce05bd8b140c8e0584debb257421b85a4bfb1b9d6bc4f52423fb79bb652268caad201b90ddee7aca8d795e8f1643069d357b92dd201ea4d81c64fe718d61cf2f954a9a2d58a3571c2bf815d706f58c974249ccedb6997bb0ccdb650e6419419fd9613899c91367417b2676a209b0791817d0e7cad81dc0689008cde83c133a82ebbfc142a9096e31249682121db0d7d0ebb0144d95972a5007006b4905ddab006337be2fb20607ea3864386c5d1b44ccc8cf5d34039e7cb7c488d1a744f51ce9330a0afca25659501d83763092ccfffc616c6b5b90752a21388fde53d374568ad22d798b851e582c58fc182feb7de32b8c5fc1f7c7828b7845fe87773f6f573eb4810de943ac3eb5fe60cee018e536ba3e749e3dea9ce0cb889e62434ac60b22677aacb241fdd89e3d2f5bea8322086b012dee5b214fc64c3b9cc49cccc0daa4736990e2d2f05cb21b46f5cddfe01f2cd0cd0963cfc93853dcca0685bdaf265646c49dd149163726d39751e66a1682aab9df9c0998ffdf495c7c7cf80f3f3a6c21173441137f6e077fe945a5bb84a984fe9d8345eb135978d9cbdd572fcb80cb4baf6275e24795e360acc15f7fbabe78848565446ab124a03036b8d46b15ab973dae5f33408dc6728cc8d9aa1e6e5f4d0bc907a6aec1376116cf26e489851ab66df933314f7a9b4f4e73fb64a8bfc9222847d2523b1c78160bb6b18551971421a69ad778a318fe3e12f4fb232ee46c9b87cd20fad4cbe5c1d6704e8c63eff2448eed57de44060adcea310558b151fc1cd40a15f479b078b2cc921fa52a1328d43b83c9c9c23aa139ad8c056afac554a8c7f5a15a0a3e97006cd32d2b012090493445df5dbbbd3e71e7b265aac95bc37a60813a9adad13b4783780dd6e88973b42dd18e778f253a0a34ab67724255a6aeb2158b5a0b852f8c168dfc720e7b55a05b7c042a3f395808b979cf54e6aa03d7ded804e2b1e2d7cba0b0522c7114ea897033d5f7ec19e103c7485f38cee86a81944a84c6e27c7fb22214b8be0373d2c3a689803c3bebe0061a3947ace349b20cb3e61c64f1d02946652e565a9c08c67f5235e8c7e84b040afaca0d923e4ff20963c212d5cb888b339432c3c18f711253655992ed80b74006189446fda98609ef76e4573e7444931a66ea022790eeed0cbcd414733611c803410cb82fe6ddce756331e5b99f5ccef43031dca02de4fb751b14857b16f3bf0094a30959245440838289470d38059cc2cfb6e7aeb49bccfbba12b34af15e9b0d5ee0a4984b9ae14384a4c19bef90ec751db4d681636271debd3781a72252c90fad95d3cb35f7bea0139ea5669e37bc0a99affb06ba5f60f1760d2561df2f5f02ed9312251351a3018aa181f74a4021c533882d05650369c5a3cc92d5b35c38073dfd10086aaf1653619f8c4f28d00a7fc7c10130a7c4621ef02721f668bfa40cc0ae1f44b5fb68b82f99f161dfb2d858f9bfe0dcc61e6764e606d40ec2560906b782efc0841051323a052256a22ecf8184f2bc45b1b4c8def3d328760fc36e02e7085e901e2f6a521dfa7e9366b645889cb2299ef01ec81965375c0a7575bc030409281dca766a64555fcc22b6b32d402d4b4a80b2480653124118eec839270c39f721065ae26e91fed12736c4c79c37c7d1525068148caf8139f7c82723620b4612bfda30525cbcc6915e015cfba3c363f7ec59cd8ba3d1ecf3d5a99fbc4b07d206b0042cc265bf4cc908016edb96628dc5cba4ed1f9db24103978600061906e33120b119901caef27040ca28e4f499d4d2ef9d62e8ff025d2fd1cf1842de082709c824437af44820fea65e31ea143160cfb19ea30dfc149a17e8ca55728c01b71483ab5f5f32f85c882752389408bb6e17bab0f3517cafb974670b1adddd0d7b1ef40b7b2e8a6ccf56613fb96a977e47aeb7d77e799ff67a2c9e2dfaf13b05bae6c9ec7135068717115099beaf50552156f2b7b849e078166b9a978baceb0c65ec4d64eae185187d5369e884ba70b34b3196fb9ea1cf7ea17b7b1637e01a02bff36fee9173e89d376430f2ff9eaa4759adf9492cdb98eb5e8e4cdfdd28a1003118014e30038c4bc793307ab35cdb45a9f1d743c8df74e90a13a678ea17620825152a0a050e8d901267fe9ca1d15c48c1058fd7443becfe3a5e51b33ec1e6074d68da424df1c1cd2bdff92e99002d63fc1958d7c09f2de695f972d78a875806f6b6d870b0c8cabf65819d44ae98513d02b251e4fd1f3e1964ef8db60ac3e007cc10e4ffb910915c7c57253883dbece0f460e86206f8896fb20fcd063ad9a2083328c89bf4f6cefe9c816ea62e38a4f99f53ac245ac4370d69ddb2873939ae0711efa63baf3edcb1f1f6addee7ebeaf6fc1c9581c3bc4a8696fac1788d030d05a9d68d11ed6cc54a08deabfae70ff45a855b4fb6e49221c5bace4d631abce00b2c4ce1b74b0342cc0098a158dacc22315f2f4f5d2bbc3d27830ff3bf1a155902abcb3bc75f64a8cab2bbcdfd9bb5eda8b796f68740a1a2cb806781b50b07310a2ca5f726286ceb907a4c7c51a603274be7fc7a2bc858ffaeb6821f928c17cb0e66760f12f25c8961cb86b4fdd228d4b2af1eb980f77eb3d937b725e2262ed105864250bb11026c04e49a42fc7bc3f1a10c87648ad7a26e3773c9e9d9289a6f063682bf5c7f89fa152ad018761772baeb5c660df174733f842c4a60a088922605502812e207abe71f69c83234b128fd6763588622e9c750905cfb39d0d9b3f409901acd48dfdcd56919ff1d32b0a721b72ef8f07378094850c186a3df9130a201d4f28755e494b601d351e81220de20e446f468343fb449118d584f4e223bd809d0c4ca1e6c4fd20f9f5ae5078af96d7ac0d05a712ab652d7186f7af4036d570efa4f36eb772c4d324059e2e3c15d394db967916ce298d098daf86f8df3ce3204d7b251027fdd3b89a2175e134289728be1b049b1203dbd97b2a99e561f21930c2720729c8fad85c97b6e7fa799a18af867429ee394ecba7dd5628f8eb409a90a556abcac5ab31f688fee1783f62d835b87089f88b57dfe10229e5291f6057a031dab4bcadf66de9320a0811a00f68a6b2b565541e5e90a7fecaacd97a95521052962da556fd50beaa39403667125127d00c88e03a5c85da2b35db98b27509e07684098dd3755a699109a7e966c30b880240e607d757c63e28e59bc105f185205b230ef917fdfa726788b214a6f44a1e02df18bcee81a42be0a7e4cb031c3b00e365d8b657f13bee3ea999ea802d3b451a610a917dec448f93126d06b19750a0b4cbfc3f48fbf60defd56af08df1502eb6f00c925932f5be95b073e333750e70611c2a33337b75e5aaede499dfebfd95d6816f4b136e936d9ce05bb95c4d4050788413dc80f4e74576790a0e6ef043c16e8005cb0c64ae022231ee29862174b05b9cb3b03e95cbe049cd536eaab5c3151c4469b900dc19c4fd8104b5b203d400b10fdb7454ed6af13410bf9f01801daa551b59a2541a01d8688f473dd8eb18e012e750d0453dc9c229298c72e7274c5bfe9a7f0f94af9b8deca9d9fd1014b90090faf58a71ce79a351deed2178b8ec1474284ffcc1e39312d355470bd0adfaa047c718ca38f7e7a2eca8a7b65d0ba2c05beb6f5231adff1af291e455703641b0eab6fe05dcc0011e6636a8ba81aa5654a531830b900a41f9bc8ad3f3b9995d5070265837a2f7337e6c31a6ee23d52455959d45ef0054f4693547e9f079e00c20d30c572b49f5abda3b7896a4852e6b5018009d56528debd556b8b25c520061d05a5a9cf44c70596f508ae651f15ff977677b5c7cbafbedc66140989748610160a242621206e13740adf87a83d2b4328d2ef43dcf42d2f6f032aa8bbd8274d2a002054a082be4c1cdc908fd3f6b2e468dd51536ab3e20a2a2fa0b3813d5983d2016389822f45f21eab15f3bade6254a9c607781c044af46ad1e2612d4b6507f60d79487cc36d1907cbbfac72064afeec186dc7cb22f696b207a241f206a2b9400b8ddfafc2750641ba82fc6e48cdf9bc8d84283073598955d67be2d2672618a60b547f46a5ca1b759829b5d7c7f454b563bb3aa6452c4971c146f19608c75a810eb6b4eb7af19f58c51fc84e21ce39b2af243bd02425023d503b773873e590dd093c5d8769c56f4fe40989c1ff766c89a4c9591ada2a3ae107f6fddfbaf88449040518af12a50ab6e1b1a01ca4aa3d50d360c217c5806565aa466e32f3f72c08043baaea904ea919eb3e46261b48ed3b6037046471dba571d59e9bc4077c06a30bd13d5c300099ba24c95462eafc26326ee69362bd172b6d91e90950ed9dea5f0e9af10381d3a24b7372b0ea2b33855b2a15910ef31f80e6ab37a5a4892e1a57003d754d31d24b6f173ac1cdf8299510b9a6768a3531a329bf904bf6d5dce0b70612709b58d61cc0feb88f4bb001b30b4d9542f53091f18aac33181288c0b56302a8b6114ad0b264b7666db73c230de96cb0765f3b781b645aa34a2dd521807d081bbded0a4a0c653925cf10f0071432fcef91c1157102d0257884c90081c979018aa737db7aeedf42e178bb7af49e39aa3b3f1fe568cc89b2869c6bfaebbde300d0ef87afd974dd97a8b86024170e904a1b48a85f273593ccb0ac15f210576d0f8a454d9759a5a1ee6d02a37df4b3a1d9938235ef42b4fea2c22cfcde7a170a030a921a636c7343d380b5ce846eb6789374a4d02ae5debb53f1ed13a03c6a8d0013026b52cb9cd235beb6a34f3ada426709d0fea77e1e612c0463b51b0f516108f1bc58fbdda899242be20bd927a82b4fd4ec22bdd43e89011e28b3a78c9c710f22f567e28c105aecc12e49bf1dc093d6ba8f0581ebe5c3099b8b84170712e0072bf944be9362b2bd9079d8e16c3e57e282b66f229fbdc3e83c1618966d5e2f0591fd29ec3d3b25e908063ddb74c16eabe16d0f1311b238cc7f9e97345397ac038a423191dd944c61e6c745c223d602da703b6692ab88feaf52b9337a1ff55b037f6a8fc1275dff73d4ef18fdd25cbd2ec36753dbcbdb297ee527f587e55c620fb5a8f59b5ea487766246a548e752d8b37c5c6fdfc8e94bb81e00727c834d56023eb55f6fed310be9b48add473d0261fd9c6425dee04a729dfae21ac547e14f0277c247b9981a1c783f04e385a5048bb76adb4bc1da1d86389eb030ac8339d5211d091ffc5adc5cfcbb34a1e54e466cef14a1347e75f588cb39723549460b7bfa9d3d84dc6570b913fa7e4d73e4fda8d8104a13d9e47417307d313673b1f2bacf7136148e7433ad99a1a70b9fc049d4988729b3fdc6085f8896f1ffff6ec26239");
//tx hash 8b3d170d3a5f4075e144b42073a04f54c4be16929f782039fa438befe2a2d0c2
// also mine
txs_hex.emplace_back("020001020005819d07ccb503a0cc01ddf70185ed012882c1a15bd6e003358a1d745b0a3da08a2ac964341c5447967c3f8fa3663664020002c12297bcf7fda1430609bd5ecff56860e8418d2420b76899b229d3d39fcf80ad00020b98d78111bcc9684b807784d51a8f433d04ae4879d342e34fbe9ab781426dd12c020901e119974c34d5d83901e6c5f20773f9a48bd23a6427978046b118d4065b697b0fc92b2a1a812072e9c80180bb8d9c4b0da31fabbdc6426ef2250c8d23ac9609d732e9e14671b2621cfbcd787d57900f2c731a161d6d295fdae4516970878aa9d4e1b5fad665ea0f5c5ffa5c5862140959f3fd8745d4929bcef33fe51c8fb73baf019016d573d155e50e687eb4d68100fa74c43fd41f2bcf1a53068915c729fd6f5073f9198289a43e6b1d62a96d480d2b90258680356f8fb4e728ea90c8407fcb8c5c4d61202e5261e1d9e06a193ff714fbeca70e9c75eb59938615fcb8cd4ffa9fa8cc160d5dfdbe8667defe86ed5e00f2767889c46d33a6c41b97c081e809bdb85ec948ed88318a0c014cbc18fd0f4d03f7907f2c039364e6699a6926df370d6b113a93e3130d227dc1dc3fc4c9016c820c7744a58b1e4a03d3857e205a3164683cd040505dfa60a43b3572acef0dba442fb836751d8777712e30173d9f391fed4b5101778a408e1cc3a09251ce0f203e6c4ae17394c0d74f962f9e96bdc9b1ad58e29740ada1fa60cb4c45a1880d39d94ff93fa055e56cdd943e3f38e9be8075fe55956981533df8559fcf0df0037f077e2739f6e2093f4678ffea9a8029513976ea0e55be9bbbb55ef07d10df035ac5634229f9ca20aa026cdf4099cc6c9af6003bfc236c9f6089b0b62d401d03e9e211ddc390fea0d28d5552dffb83e298dd01977b6779e4bdf3621bf7295b0e5221d4179abde3985f937579f27a1a5f474686abfd8f64afa542344e1887e80618572151fcf98c2f9f146730d70023c11dc2d93dbfc997d1b1c4f1ddeba7b400b885a98ca7c82e73545bfeb29d0f2aedb7523e815e12a5b212b20d7c8f7554044af28334226e3bc68cfe75f61d948712d2c93a8557d70ee01b3695f4cecb3705b1a135f2a75cd63865e6d3868bc391d482ad94b8e0d5c9dea3187de1cedb34060a14b0763530918f37afe1a80bf904618feaf3322756ceb65bd1e8b4255dc502f68d6dfe95631a69ec473df1abc90f5bd3224033f15db625fbb2d7af578db8079a3d0764c51f03267c28da571e6018bec535ee3c8cf0dcdbfcf571d3208f5b05d9defa4572b660075227b674f92e3ee520b19e7549ff29e473683f5a171fcd0e0450369cbfffc768404b9dd8ff72daf957fa508c9134c1ab1f727bfe2b0000010c81a3e40951b09bdb463ea521d32391ea32685a64744bdc17955d005aa1880c9c15c6018063cef1cb56eabaa05e59474d60b13708ce2d2d015b633e49e6800d01d6aef558a81f3d5f9452f93d6de8c12d94ab93c5d52e4d0c31516eef9c6d0f5942d67e234d9701a4f26a032562a2706ff38f748901cc5da381a2f919b8520dda8be60db30c950c79f1b521244be190f1441b2894f828ec581c3cdbf7e43f01bb4fd128460ce3d85d07c849fb5f9f419e022ab5d706a05834ab6d0b6191a50843aabdc950cb4481e5926047cd230cc0276e0062cbd0ce9b11d949abcefc7309e8cbdc4c503c1ad314201eb51efddadbb5033ea0af1ca92d5be92a2b98cbdb0771de8d076d6092d7439f1fb0c0a5f82bd856ded7ee35311e223a87b653fb0b0f960d6eb34a037cbf69966330a8bac2a94b0fbc08d24a5342cead35b089b0d50f85968993ce88a9794ca71376ba93fbced6fbef2ce85d8d820c66445e66b2ca073d14ef45edd3f241e33c8aa10d2aa7ebc41e6e83b3aae1b136d1c511ba0400071629be8f2e08d0b47603f51a581d2e5ce962eaced0154b89355a0a2700ed8a00c9c2d0d7ccfdcee23242bbd02b1225b596ce509262371fa6d97bed8982fee30cf5ab11afd32f9d44e2af3aef964e53230560d089265ef724a13307921c3a3b0c6649262df430b10ff407b2eff5caced66f5dfbc1c2423043ef1ec9d659db350cd5d3fcbf86302d4d98d06972729d171cda3b1f47b8dc24d211f93fe533d2c700877a7cc9f2938738a3deb5047ab200e389ed4fce3c778ded62fa9393f71e310f70f00e242a7131f932c46627e4e6aa4d5986d873d5b5b247e2cb50b99ac9d10d2e62e91a1bed3fa0efc8cb160022fc6e1a94880d0543626c2d3737093910d2007aed17b99877401525b79ad5fcc5aac304c668a602bd3e14143d7efc6f95ef0ba84a72e078fa04ff364c819d1d2c552e39581f37250741155324d2d6b97a7c0f9ede6c20f863d1acf7021b1cfaf304c30716e808c10c170754adca2cb3cd9101a7f9d964ad1ce68907d86b96441035b854d881c7b3093cd0fd80bf3aa44bb40cbdf953a6a6dce360be378c007dfbfa539281202a032532a76f8530e04da2e50c766372c8af7bc5bb19bb47f60a018f549cea9fed49023f36221aa385677f5b07247a56521b1714209af372d09d07c224ce228b927df705ac158d6d9126c65e0a9ab281c7fc763aa1f888de19d70b8bf0137ec48c59f9c17565b5fe4667e9570a81eb8f0cb9f22cb86ce5accff475528a39e4f5cdbf1237046839888c52f9b80fa469655ee8c1ff2cd5e9b74babcd7f68241791416150c80e1464ae887e3e480f059851e871b54020f506cdd2e4f42e3eec8928f16b56b405f269f152b809c30633739f914cc6a2925edcb9a0bc1495bce02f86215edab9d0f58200df1f99e80ce2bab6f072e08862b75d48f73178a3c94328c63141e3415f940d270f8c507b097f394bce81cf882a0b1745b042ff9890631519a67e2be5e9cfa39a56b55300044789a278447ee7a493fe2a608cd83517cd617c84e9ed90f578dc1d0adfdf510e19f5f2cbc00001381ed1f05ce0c6c6f405670e26928b85a1d2bd34cf760246066cf668e7395ec756ea3ef16d699f21218262a3d582de3dffb77bf0b676e8ec0939e27f2c58c34f42013f5f4b0557e4bc28c7db21a4483f27900c1e163c6b530ce3c6a324e80c4910943fdea453690a1fa9f03ac1612978b3098127c9d9325403178bc8c1cfefad40f86588fdb9e5d648c997d04748d1a8ad0f6d97b96b8eb501e4108c064940cb0f90e96d389d5f1c2cca1d902637c4780896fc556f5ba66b0d7fe727bf92a4cfd130aa0f7d0bdbdd2848c1c40cae93b8b05653df2567f103014d1e32f0890368b2888d92f9254a6b0f69447e16963dbf492c0649129cb5e904c451717eb85cad619fdc46eb64d4fe25eb9be954542d64ff195881d20daa200f7bd898ea26bdbcfcc1da0d9e659b733998cdbb23829f6e56100e591ad72df4001362e45a377969fecf2d001e5c34dc6f2fdf9173d3b8b5939dd5b3f9b270a00938f44b5bcea593d66209ba42fc8a6ec7b94e59232a45ebc0cc318a312efb1c048f02bb699cdc18ffe0faaba5d7e72914223e5405e355772affb4f1b8d93e400b49d469e7664f3d6bfcb6296e2af3e62991e68fd39ed2b8c4f29d8c4e176c19022933f2094e4aadd36cee3fb36a96550633e2d78264972d6c459c807eaaf13204d5d44036264d6df71b1b775144e755cad8e94247a8710ec9504b2e19debd150057a050fdf1f2835736a91c652553812ac620bc404dfe99b1fcaf891cafe95c01721f569f09a6f4bb40a5e681e1f6830a2d703956456c2ddbf1af11317497c4039d6b9f107378c106e70a007bc55403f8f390b1493dbaf0c6841a8235afd32a02c6a6f691386a2a99bcc2850da51c9d1cc912210f9c080b3317dfc6fdf2d52802e2a8b7475b81d3da1da51254f00e0bac7ecb75924ffafcd2050af6201d6d8d0c857aac85a5de46ce13032568de2e4dec482efe0ac4ad967d4790c6f7ad308c0de9663fc1344d82a3e77ec369f74e2b7a24391e29bb1fdc635b2b3d9de24fa908727ac8a9939693e2aea2d3102f50601b3d6ede8571dce05a0348f54e7b2eae0c98d06323a8f2310e7a458afb2e128f9acb7dff74810ef4477c284cf76ee1b4046692bc0567380dd5d45fc6c33d627d1d514b5086ad50741f52ce65c736fa1e09305f6cb50c443794ae2453bfe141adff03db4359cde55a7b692c847179b3ab0f0e8796c8067bffaad85bf88b84da545d91480701b441e2c755625f311279e309d9210921fbd379a00dcf91bc76a8742150e55c2ca8cfe0d86115d9057f8af40708180b5f3e7f4fb7ae30586bab5c608c3b820f43da66351b48cf36266e43e50090a5dbd62bb59e7c00c139ed33edfcc07efd92d3fe9f1151ac344c444c341b03573090b884502d6b765a1e72985bd605911b42e3effd37273399afb3241d8a01f58380dbc4b4576e0ce94854139a203b4dadab3825d81c9085fea6dcf9e75604e94e7e53e52a2aac7c238421d57bd4ca6b5034d242084b273718fb82ad38ef0248a718cfbb50c515b95827cbc03c485be1d6e5b3355ebd9a740f244f360d7209254a66b40b8ddd8ec20633ecb9cc7aea42dc8b4e7f71051748e2a0769fde0f0629fe59d57ddbaf476f4fba774570b81e16125a5a3c4f0ca43187348e267d710e262563b642878e17159e2f93c47246fba6c6fcfbf648235fe1ad991fba602002d27b0cff91ac30beed019f9a00effbcc57623f2c3bcc26d850b6e551d3991608c461819d97d0eb876b021b3d977ea1d0b65308657deb1f8d8b04324ee4c45801fabf4c4b20f5867c89742258104d796155ebcea5be68c8dffb07330c40407e024e7e60362ff3a8e9eab2e1dcdf5695538aa527570b55f6709e53a6694c42ad079ef598bc09bc39d209accb1282b5e80913fb1019b827dddc957472a18ae58b05bc2f7eb23579896b231d138ac3841adec0f29dcf1a0eb30367b6845dd1f7f90d16de601ac6bbb1ce1d409d0e0455dd45044269237e1bcfef5141cf88ce4fd2063ac1cf3085ae992110be921ae60820a73c5f9c50773d31c69e3fe5b648ef1800211aad2b477d91bbf91916ddbe6ffee69435033814b56d6e20c6c4224fe2ff0ab3ced9b34185eac1c96aa56c12bb0e03ab4841543ebbf0b99bb378a5f7c000041a39b6f220e52cff94603b015ed93d31eb0f3ea9d0ff67f72af13c6299ef2a00bfbff0263b877f5ff056bfcf83c73040e4e9d0499c3177beaeb8ea6df03e08097034c430673fc9e70163dfa9b0a9b521584a56a502155db6ce5d62269cec7b0dafefde4814a41117a1ec977caf5af3979e584bf394730f03b305ea6d5c3f1c029db3fe9cccef1e4541b945dc78552fcffd225c6d34cbb37119ea3c06effbc70064dce05e5531a597bd1e516222f9243a4e5525e2337bb2900d478286b9544c01d8f8faf8f3a64dbd0ca878cb11e265473a06a0f7b1eb71843f3357786066f900077bc0d607d0d49d7e7bff4e81445979425cc457a4d3b59c3e186ad6af23ed019cf866e312c64eea7e460fe4e9c8dad9e970688a362dddff4e18f9454fdf1706a21b4cabbfb051c11cea7fe92ea7d59df9e23cb405ae6a626b9a7989f8757a071ee3d8dc993e3940a627582f62ab963a9e82ba2a9ca9badd4c54ca544f71e904a96f77dbb9d6d0b70f4336ac530fe2eaba66cded573c6e67f5dccb0c0cdd630149e0c03e6abb5dba46f914b78b1460062ea1f0d1d032089367d315674807c30727a3c77ad4db724aa90df4d77e1af26f614b908880853983eb42124538db9f04c274033064af3a2365f9c95685bbce59c3b54600c01666a33f2fbf6bc2d9980e282adcbfe6afd2ce65fac59992d52993f36207c3a9b2b02cb6de07b06b0f5405600da4c91360cc52aa6fe6530a8f340f4de5437a46d664aca28b7e252c6c71095c6e0bd6976b8c35cc3256dd68f25372739cbb0aaba1c46200672249d6e9f30b34edf4640b710c0dc35c9d27a9dff82f7a44102b87c9ba33acec37204ab78d0556b11e9d495357a213b7fbde55b4c3a90aff29793360a57c4d5f3d846e30e8017ab780d6c2a95f7fdd1bf65541d8d51b687ff8a9e64814bddd596aae7a621c0b961d4ad2216eb3393c5d6e0288f1a43345bcab39910d8b4c18bbe4c5c66a51007ec7ebf657aeb0024834e56407a72787c2a71544b28a25fdf63e450af33f540a6d4a664f30be38435185fdc83e749b8582dccf87e1aab50876da8302112a040a8ed6a5c0580e2a509b0630e0b1e1631515a7af3653d2b12f9baf2ec71d8561015dc4071877b052675853e8d2e577ba586c2660db41a1db04a0bd898b113c6100fa7c285be8e49b3d5754096d91ad1d05f84f5cfe2d52502523d771f5ff947e0170f00c9ec8e80e4e04a16e79b15bcdb22470701f7e6aa5e5073269b5a2a6bedd8c0090941450ad128795beb1b26a70ebcc3291f7cdcdbd9b936698a0d97c30763dbe30598cfd94955a91225794284566ef5a93789e921b3adf16a30e1d5f7cfcfd04c56a8c1e305e2fdd4b2c92eb45785c1c393a20104ca86e7b5e6d2c26187ea3c5930c17ef1678f9fa8a819f5789a6983e008dd2b2d173497e65cd3096d48251226ebadb149d3e7e1c21f835ea372c5a4f4c3d117defc43ce9d2abbb3875f9c1164c6e2390ec67fa73c64025f420a1cd9be5315ef32e65e37ca415ca7a863d6fb638e6f2b64dddc1532383115ab703bbbc7a2d636e858687777edaff70e38806955fe960791e5b24b4362184143111cb08f18b1ef444557306afdc8d61e706273d05e721a774a0b8894a3d49713f3f95e641d4769eb18ec306ad0feb7db8780849505de20d823045e7014140dcc21184b177609595cbd67d4d7eae384b161ed0050a3132d8347a601e2bd409fd2b11590adbae1ed71d5c471b6c7fdd41364528749af21b86b55f8e449f27f95a23f01179348f998f6ec08a4d8e236001eebb6aac91238f21ef396c1f8997f5a54639075d9bebf3e1c8c456fee35f09a1997a99ecc7ea3fc80ba20b1c1d719fdc1ee92db2208c1e6b084a11473170b16b1a1275d793bac0ae831fc2ff89f3b9ce0433af23d2695b1b5ae6c7f8aaa875f5a07ade6ef832bd13c4ce5d43312dbf4a998443d609956949524b4cdb6f87a723846754ac09279b8f7c261d331f83a3542bb949c7a46cc687a3bcbbbc800426d1e0343bac520b1aa7869a70b9c8a13dcf6f4e7c59f6e238aac0989ed6aab34d55618c6bf91b11397e8263df465ad1b435c68e557b7794b7274f89d0d3ded34bc821c031bbf0cdf7a079b679c607fa7d5d48387bd63e8853228a78ff24481b353c7c06fdfd39a0c2df93649beebb30965d22f2000af0a751532de69e4a0faa05376f7a8c4cef1e8b63b6dceea14e1fcac291dd904ddd79cd16d570f6b36a5977e4b0eb9470bb055e4c9646abc26dd7b279c1622b07907e13e30ce5e63ff97eb8e88dec45bbd784bde48f38eb85eaaa815cf2f5cb9a3523e5a54bfd87b69bb82a5940251be6fc790dd625b79173f4ee9d056ad0273ff40a125b6349b3463d8889def198f77a3ef3507eb4cc51fa870d7fb33636acdf4c233a5662b11ffad5d4b4beb6e8822250e58c324d416818b5593ae862329705a818e426df62c14a95ca4a6567682633665e4914c67b914a79df5ac63c50a8dda1e9061aa590b8ea21d89ea1984e5f0ab23b26481f2e53f91f12bd1c1a59aa8877bd4c2c984f54ff26678e3dc5d1df403e20d903b3655e742d9197e4e6646b83637b081d0f9b6ba998a548a1fd3f91e7d8d8c75cca597252b1d862eced94fdbdc67679136cba810e912500d81ace9af26245bf177f6dc65f059937117c4fc35b953ecd433468d5a9ed15693348eac9ae0787cf0f78495c1de17981572afee068ce31e691ff2c01f4fb43fc719dbb1ed27bb847b82c45667fc2a4ffd4500c61f7953121c451c74cc9893bd5bcad14aa24c6f287a754362f2c5e5ae427b8a196eb41966ed67aec87a2a81979784357aa24a0ba7f6ce16c425ef70a6783d08eca099ae2ae2df671916edebac35a2bc8af4b67a43b10954c20a426e3d235a72364ee16bfc6bc75a7c10efe3616c3285bcaacabade6cf9addbb758edacfc16f0f6603d46c2ad1cd94b98d0cd06ea71bc63d85a51bf764b7cacdf760c2a35ab013a6da1194dbe4e579f5d4640956e2ae32d2162ecda070a839dd22839d78bdf1b90e55642171750f149c7aba1edc7b0dd909e7607b61605d0c1125099d22814c9a3e936d34c30bf1ba5aec5a02ddd7378b0668abe8707b198cd4e9767228839d3e6401de2c393f5f8b29619918e59db1cd7284bda0cc7bdab16a0139a5d3eb018f438dfa6c5968ab32f25384c1f9e1c4ebdf68846df0f1992bc6f2c189be910c5d5e7412b74068d1dc0c895a981cca20740cff36607db54f525f82bcf6b1de9dc4b893bab5a0cc71917b04cc7f7df85860035a494747f4a109860bd8acbdba989f9d734b59e1a94bbc2f3efbecc00f26a11572d9fd1e78fd7f2091d7f4f8ceb4d3a1b9483609fc6a7eeba2493eae2bdd8cbcee9bd1eb3e42e9c6e1c5a8ec991fff9272faa4e4133af45fca84e0fdac93d06a9ce56b9435bf0a136dd5e55a8a96ee7785a6c1559d1da548816313913d28efa74de0d6c90121726081e82dedc4f87853868e2e354c543b7e53909189f74677888536db41431510197bdb676ef6fccd08c95f0eea867e03a082b6a4b8a468d9e74d0004a845e6a4085c59fd410539b8e024f8979515300ceb0d0c4cf54e93e89a9ee23de6c50599dbd1f7141524c47a55372dff0ee09f32b8abb29c08331e002c3ac76d95d0ec467f096863b40a4b0902b400e3c080cf57408d2d5e354ab207b735338185d3894c3159de07d2c4af2c745462457953a8c8b3fb4ee6b2c084438e2541982c6e9d8cba1ae103c82cdf5f7e37c0f2d410136bd691b02931a1ff1153701f096524b4b0c65e6ca1183bff4a4a23f109ec2ff3a990d205e6cfd5ed4571bd7afb1d54e69be4807c0d4d8b71e9f10062ce8bf6946bde07ec506798cbc2b4e01a6deed3048477ef3b32b616aea8edde03c5b83880dfe8b0aef1cbab0cefe56aa16543b490e1547e705997616b78e3da1d6a1780f017f4c82b6b74b3493ac9c14eaf5680719cdb6d632cd846e544ce490a82a9132568fe8ecbd4a0cf49ac06bad2371a05166d41215aac6382b2239bf9717aa0f792845638cef2328d3967de478f4322fc91b11dc6ff2f0885fa5022fd4d9bbd57913270e3ba2f38ca554ad3332f77f50de8fef76efeb41d7a2355a328a6cd8ba0b1dba43d04b399277e0dbfaeb907415c453fb074173bd02e01837c0170ac5b599ef93458a87ff6e4e80cb58c934b630481bfcff4f07f10d3a70a909e643b712d16ab25b588a5506e7a09917033c6c763b2a07aa4f599eb8f8550f8ea61110e87fc2b0ecae1f0e8cadd0661cb5a31b98ab726b6723b44122bf7be4b05460960f20808eec8cee67ae0930b95546f93f5e4ed14cc272ede0d29918c09ad41abe8b64e0c0c81693b117455010e770d925f55568b198d5d7b771acd08cab80ee2ea9af889363005ee03dbda0af97930c3ed09f1dcf284a5d030d68576532e6db5c5868698c3355b7e8c2dd10a840c1ad0469acafc649a8f242190c6251571e80f6e6270d5522c8d2243d75c0862baef897282cc8af92042643694437780ae1fc6413c8bd27828079efc4d7f0395a9ada36a3b3417987a3321075cfcd75d394e914b67560a05ee2b1021018e009d8e2319ddef08ed49410ae4729754e377800ae21a7183aa87fcaa1477b1160ab0b553aab22c40f20c1082b737a7518aab3f7df287e47e80a04bf84c0096190c82441ffcd62786cf5b817b496518191e3865ed7607f24f9a6ce27354c916cb049889628bc13dc163ee3c77b245f6da17cc29258beba2a91c5000f42db1a851091068b7897f504f21ea6690d287ec19fa46483151a4a681db372f69b6925ef40ed41fd6e06554cfecb4abb8df69bcc7b3ad7357012a49941349b7057e15658e0b69503f131ffd7eeb5099f79ca473652535d1abfc3dedc1a5273275323bd16001887b769ef3252b756370a18fd7df16ef5235f65f349365c756709ae3c7d8880daeddac79d21a0268d7ee9937924c35c9ac1d086e535ff415de19f031b483d60ad901dcb1360069453ca832c6534faeb7e60f29e8c897d1dd8cd3954c6877c30e9c29b5f2e57d165edc93f4f04c8cb024a95cb4bd31d35059eb0b05a59995ef056e02a07dc0c5e6ce095705c64cb9226a3615e283082f2c9309769bd675e2dc09615d99c3137c26acae0f206e2137b384b529b5a320f828ddad745952982e28090b5638a62291425b40e639708cdad624e2b0a7291403481bfca7dae46129330b33506abe716d41f7ceb13f341caea7457f4d6a796f27b9d9cd18c61d6dfb27044696d894c981694cd623e918c2bd4f0d199dd4fe1def794268f208edca1254036e8747d3cd998a323cf09dcc61a35c9f948dc325e96f9d29b205bc14deee850f0d7ef8379dac64d70f843ee59783a6a87d1b4b530a9fc894284dc1e1964cc908e1f7c968b93a2a4a2341a727cb6bce0ff951fe9f182e6b15b0fa43612db09e0a0cdf957de6639e66d1f70a57e74bdaa7e973fce6f946c573616a65d341df0109515a92c934b194551bb316f5b38e8df484fc482521164d150a4d6b153cfbef093f10fe515f39c8736522fd2ccf50ec6349bac86913f15a9119a1f79498d13b07c5c5fe62f689a9f1160b6681c2c056eb307c5fc320e909676d01f1dc693ba207c8081d0b3668647ec7dea6670a20e8e2a845955b4fb1d78ee4c4a612adb5b102559fa7abe551054426b57f6f1dffeaee4544882c9d0abd1a4604609e6a871e0a471edd2dfaa386bbda1f27f9300e7c1b6281720696e337c8f70f7f2499279f04690a2a91e6172d5fadba63fbce0e62ce8ae8c286751d9b93378575e6848e41002fd20c35d51010d7191b563d758e64464debfaae5f7dc38775b2a02157e35f062a5aed30ec9f16e716d60e94a748d2b387be0cced683f9c347d3b4be173609019f1c781225f8d02f7be48fd5464d1d582294aa37b0f48a3eba297eb8b8b1070142fd90c3dcb6a982d1dd5a503c7aa22d0d13e30cced59c57b7f3321ba221520de887e1b5bcfe1ff50672e18b65cc1669cde2390f577820697376800034fddf014663aca210a0523855e49a1f7ce2d6e003c10f65b8a43a88702ed8b18703030af96dd5f68e5f618ccaf6ee853132d3ceb6e642a3e1df0a7c058dad6831942a0dee98f6a1f4b844dcc0841413c6a5ad543a1a11fccd139f71d024c2404d97a80ed95ff2e25445d69abb1db32f9c759f677c0573e19d0ce9c399229875c3f92a095a3afb003da67fa4c1354436c68fd621b35d2c326e371b678e7eb7d2431ad40639367998eea4dddaa5dccc6fc5e2120d6331c3fcc4bd96abd4a3894b4840c7067bd78449732a616cef2cfc9093dde5428cd678e4a0e0c372b4ba3f31e5562f015e7b83aeb894378be6c62af1a0a4690fb85083c99a033de488549a0b5bbc0e06e0852992c708a38b230d0408fe062ef39293106533d7d2b1ba53a6b1b81898049bc9f14cbb2cc121c4f0f7f9c5aacf670a1575cf34308778791ad4dde91fb2063d399bab0f0b4c3e2e53d5d3f65d303e8c4c4d481baa8d81c623e60d5bd5340d73e7f758f5183dab1f2a686a279d5b6ed3a59ba6ae2bfc96e31bb3a4a86fe105b1ad7fdaea1043aade028234ee29bde8434258af18558b9bb143f7d81434dc0724563e371b8c56770b047878d1c488e9ad62df25d023dacdc36463ce3caf9907fdd59690afc5d78aa6cebab603900602587a4350e7aea4b097c1e8f3976d6406dc3f64783cdb81792d9d45489f3569b27f53ae3cedf066ed0a3880b33760dc0eddb434fea73c66701c2ac2646ba28713005eeb7c68c854c3fa23703304f7930c9f6055b1d32f3d2394f88e179224b0bdb9b77721d95b6b66e7bf321469235c0a94ebe2a62e4ef4f18416b886fbd4a6e79ef9a7851961e79f69ddd40a6b25ee0b3036a23e0b2ff8d58ad62a6ceabb0ddaa113ea9fa6107f207864f18d897a9f0e6526ab4edc85b3da0854a214ff2cb122191cff681b5974d31efbbe3a96a6340ac541a43f40155d07f64d3d01b36dd41b044d51eed457cb0bd6d00f8899f221059803543f216908732d19633e2da036a64d2b5f56eab7ee23c506059edbec3e0b8fe29f96fc159282a5679d39a1761465bf00393e238dd981c14973b170d33a02bd6334a94675a092ae68992a47afe3f949bf3dfedb86bf38649631879035c100d290c6653accadd78e9561b6379ed9e1ffa20a9ae7d05333c6d16eaf944c1f0f2bb68e92c1aeaf570a73c91dc2c5d1ed69fb737a261834b4753524b266f36805c12110e5d5a1955b7dcf282d768faa7f7bbaa99fc1f6358077aba6c1697de20116e4f2bb713f9baa57009026786451cbb0d85e83d7648ff3c7137b8fd775d50b714bf6798890a55833b1c894c866244deb230fe11d998b551738cef071d4d401fd29a8bbd3ccca391464a7b6573436c55b10d17a3d9c27ad8a987d2500a4820ab9c93b289c7ab5aa6a7a2a98b699378cd8a8e2360649bcd2b4c8cc73f8212c0e84844b3ed058176334680364144fc48f81f5099e8798bc4e8d9b1d95a42ace0ad4d67300e47ef3d195c1d1d32831176050953247f5a827e7e23877cbc62b4b09a984f1dd708cb823810501cb8b21e3cb248d8eedc7551ae16c020362ea6c1b084f49566ae5b7e7e5f1534a1bca30c97b65b67fdd006a46db240f35b6bde15e0f6a6f5862ed4eb6d6891391d4ace91bd6cdc375041660f87f8850c888b60eec0ca90d17ddb5e709229b680835c526a1fc6421587b87247bdce1246ee98aef080788c12c1aa8afffc7f375d14746fba1840ae109e0e6372431af8a2c7202552b0474b6dbaa73a485e29c9e071274b0bdd45f3a28baffb884157892398a15d61a07f6d6242d3ad436e68bea44ae8a4723322410e5ac9d711770a73210a41f40290f275f5aaac4ce62ed329fec824c8848acbb30d4c007b46171d98840b2b7e1870660e8ecf42df6b244ba4066e9e17a53ea944e8f1478db6fff8141c6b40ac49a00fe589aee79290e4ef8edf27cff5f72b4dbcac20c57ecbfe386113972a416c002cb3a626f69e798663fd151059c9c5434764421a91a37603be1a097c5b140d50f4c36960858aac2e44d3446ea651014d8617d1b8915c4197a49d5e7e5a7313c0c62d957c049cc3451825b4508aa47de8fcdbce744a0d713cf2c5fb8f4f15e850771b64e2cab47935de51956d6c846a255bdbd5ca00fbe0efb7f4100f6903a3c06247550305e4bafcb529de023c42e07182a83f9f779e49547252e61b10f8695005c52bd29c92bbcf8bdcf4c68f00c2f0f010249a86233ab9698890a75c27e180fbfc03eeed90ef5b8927afa2dfa53e2e20ef95be54b7828120bbbbe0226f2c80ce9dd32f92585e0bff50676621b7438d8a1289cf0343c344100e878d514540d047e5db2bb9210585044ef26318d3d01802b21b16432cc0466dd4798ec4d24c107f4ee6da8765fb073c8a2ed261fdb61d21d913440de33f63ff81e1b12ecf2c10944e6e90a9aa9b5673eb542f564b37490c0d8de6459df454d5c4a32d7f53d4204194786b41d364dca5a13d98bf5ca267419bf4073982c4a30ad11b6f81ac72908da93eaa2e7dd11b1fbf03b7deaceb1f2217baa5c83ad265d5e60e5f9afd464013c88e3f94fe2453ff1eff4f5f9ec029d45adfd38e051034ef6153b39fb18fb050107f56d2a2ddddb266150c430fe7ead77ed6a020c030158071a8563fa8cdb0bf91f5aa51d6443d6c8af2d1028cb78a2e8d0960accec573e9948e34e2ee79009ac8ac48dab08e112e59958b0cd5537f41b4b4318c2b19f1ed34a8e4a99414708802e185c4bd04af870337f8f6830c5d8f0495ed7fbd493ccc231a45feb7b3a03b2d5d3fadd62e8fcefe44318f6d182d4d099839c8046d406b03aecbd34007a03c5eca12350844fb71d18c270441e9190e9b898b213da6324c8597668151d4e04e10cb185c7959d597f2841cbfdf2b62b2cb3711eaeea86a53fe5faca0d973d0b2d5411f49e2657ffe86bc6f17fa19ee8042821bed90851e8bff984f4b471300e169ea3cb4ebf04ee93ceb5507c5ceefe1b113778192d5c0a349e6290a72b0b012b1cb84df3c893ce5d3962b5aa66ea52cd12d89dda28962a363d6dd03d2d13020e1d56036d50e28723ebcac9ab4b8f0d7adad5af882947793f38f0e5b588bb038eb0bf3b6d2b9ca459478cfacbfb1e9c4657bd44e4fdf7aeaed4128eafa2680ce69d40f945099ac8b2bc46867fef8153165a539f7a643ba2688997b3db90320117c4e5deacd11be2e6cacd90f7ecf53e6d2213a51e24c38e42fd0a4251e2530e44ea70bc36814dc4a3b85019d60857ba91029fb73c4f956d891bdca916d6210e5af7230c1285f8bb1964aab953100d4d7cee3aac415c8b2acb5392cef5ad2a02050ef2e1399731769cb0433389fad823e5d6eedd170e1008e74fe778ddcb210c5d623c31840ef4de84a09f4e01d25209dd303863e42ed112892636ad4820c504faaab95026238c7869830f5a13053c973a0b04c65f3f3e7d5f20e4cfcb718700207dfdb631f4fee7df96cd99f3c513721cdb82726d760f1ee9dfe0b2bcd51304771f376cdf834d8a9d3bcd68131997fa1a3c43efdbef93dfeec0af5053b823098bcfb45c73a721fb0fa867af4b5e4649cc2baad7eef27e85b24cb45cd254110782f9427539fbbbfae54fac945247fa0820909c613dd6cbbd73c9199f2199c80d67217049f0a871244075d01d1fa0e8db75eae632eadb2778806b0d02c4a40407cc6ae3586c3e0a7da9bc20def512cbd942b4b8f7edab8d15a2270e5cddd2af01269f22e5a98795a9ccba5adce54c24e3261c2836ac45b9e2afcda3c618ac5b0b1326a54e1638c867b7cb14c27c309191ba9e3b9bc3cc6b92f72583ae9bc58a05d071de9088b5d46c70ac39ba9811406751ef17e0f9b40e397086092353a2510b70fa5b187995040c730da289c4808ea00e9beafbd93fae482b3ec352deebe7db4f26907a3c43c1031d81efc53e615e9c8ffcd5a194bf8721353a8dfe3eabb7b7864718c36abe6cf5d586f78cd4b0bb6c178ce29ec7b46e2eee0e5b5ae8f8bda32fb341ed3dfd4d2120c73f90bd29bfdc0b7b70bbe1779f66233e4d80bc28d540babaf5fa94e52ec805f11c33513e1db39c7d97aaef0f21a5e72b1b495c449db4303fbe5b891fdb3cf242f28d37754061ca8f4d918ce822b0f18e9bb4a0ac45b2b043f320b42db55b1a4c66ee0f4e353971bbf0c897fb427675babfcb90bd4522885153229edd469a70722d519054770f5b6d126099cd9e787ab33a24846e7d15fb088fcdf26b0ee1cc75a82c2164dbb39e3db991e238bfadda17e5466ffa1fbf888810123c477c0c761173507ed554741f35621e6c8aa3e6d325fded406b52cd07c858256d02c71e3ca7e6c0d0ecf91c496b61f3975490876c56b43199c23552d0ce1e37fb5b8a2e14b9e725f9a2cc716f4d4ad0eca6290ab850af6c0f4ba53c31bc065633b6aff88ba032bbf212ff6d3ec693ce6d1cd9353fb7af5a94e0726a99c45b5cb220fec2158ca0a8424f2c57eddcd2bd5cf50e28326e1c43dccfcb225604d3032635eb8b02cef4a42a36da0057c36a961e94d56ff87732cf2b2a48c28bcf692d30499b9446f18068ed04582816ccf7d5c5002caffdc97363d38f86492247b32a127335d475049f285bf501eda93b062a8331f6fb596b63a87c96059da5e81001c643f1546616e0a87929444e974375726075972700c445a171e5d0c70e02e72d54871a1d198c7bd1c613ede45744caa4b478e21cd74c60af352f596d0a91cd86f31970a812ca4bb5cce32dc07a2f36256ecbaaf7d63c9494c6e25b18650cb490528789942d965b0cbf2443d428a6e34cfec80448d4790cc89e65acf8cf508989661bc667060b3fa3df23b67a1eff41ebfeba2ae083397782c064166dfc817c1befe54bea4a39bb5f7ec6ce8afbb0e2260cf339533314545bd260e9443f37fecd280c84e3156c8faa7027544ae62bd1fd47c3c25758ac287b3d36d0971a2535ff7108dae306d427bc74149b0d79f367324c0a2152dbdc5318a3a708772e86fbaea143acbaf7d666f6f82f09d9322870ce89eb1f7ad29b3f8c6f57a43ec1c28bdf87f3d11aa672db02eb8e0ef6d9c62a196f1a2a155a48f5db77b8450ef389934aa73661fde04da4b24389bdc815c85c5a6be9a638a3f07145bfdcd70e9be59a96ab54fac73b718308e2211f711f77ac1696eac43a266bc65061bf8e3ccc5a9ca8872128bdc814855f59f4fa80db3e2db533d1719c2cba500676b9c43ea6235af85b2244538e74e063afbd3939a955feb9406fe70bb64ba74d1f309f9a611c3ba8f303e7df44caff62fc48877093e90f9922dc63812f4047f7c4e5ff6a0e58eadf90085a7185f73fa2783fa0d0f713eef5155a7d0515fb0ae5c6cec517ce5fad26db193464dfd8241441d84e5c9c7ed58130ec12b620bc87be7feca60adf14bab186ef0a5b15220194f7d905600d6361f40016f3dc0b228574137bbb88247a3323b1426b150670d663602b7e325f105161dfaef062e01747fb7a9f7bad8b08512df6ccc10f3cdc1f73a2c611505c1038db54e77ef9f1a87fce25b2367d2b03de90a70a80e350935275673bf516b1b593fb0fde08320715211a3af0a96f90b0e2a734fa08b051e7f23c6928596b61ee0bbda93af933f517256e21698fd4f31198ea577ee499e45bd3e13050c39d44291c6585c990e2431e3e9df97b6419f04520660242408161c125503e3e5cb7ed810ad875f05b0cec8195b7a7017d14d6a000c4d8681e0775521b23215ceccc377c3c0c1c1e15e9a024f70fa10a63b851852f374516137e664f9cf8493b98b6d9eddff93b4d452629303024febc1a5a27ca32fae8a9b232493cb4e8fc51e441841d0eaf719d5f83651a1210228ae016ffb52b50e10324711c6284fc4a631089e93322f540df76e6c0fb336e4eb4a146d1246c55fb576870630109b725394434705c56a6012bf9d350db108b3b124a32aef9e5333c650fea69cc87432f763b52e205a5e149a5b8ba5b45b6689150d705f02a57ec22629e0a1101adeb8e0f895d62dffb85acc86839b01e4f2f7809bcce61ba19b6df92dac39c5b0da010d32585c7a642707a41b03f36f4526ce835ba529cca0ba7f838792d67ad2071f584ecd2f19038fb2a06a6a3c1ae98dc73232a9ef1f3c9cc446b369efc5b4b941a29291700b23c6b516623de17868c2999e33e7d1a46ffa3312798bbc4ba7c5d76bca9fc21da510fa48553f1f34805c1facea3a3f95fa7bf227186534981fa6df2d76aa5556402e25532786119dd8f7549bbf40e7f1bb03dffbc965a0e18b4c793399e8bcc1a735b59f66dad7c1d7a3d4437859609d377aac151a6b4dde7e594da6c00664a3c534b29bdc6a0345b7c661922fccdb774d6dd95dd17a5493759311fc750bb344256d6dbdeb0c5f96bff8532fbe12834747607d69f0830b7fc27772e5aae081f758189b00994ac028cb7eda2d29138cdfe9abe70d217c8aefbd27f98d7cfcc647de911a379cd731c45e96e49f4d889ea2408b701d399d76b74b0552c8afea64b0a85a9e6f09ce2cf4e50902bbf3c2a0f0d42a11769c6dc06d25384ac129fb748d48963ad9c7bb7c772c14d2b6c9d0978eddc437dde238e4189b70f70dae826ae0c93dee39f3c25cfd48f4c0f7a99327d9b65cfeeccf317c358a8c7d0340af3ef3b2a4989afb6b25b6b7ea5d96d4b08356af809b6c49d9416d09539d5bb08b1ac4ccbd080f153042d9e910d383e0ceb8d355e1ec5b5c3dbb2128ad58473cd6880f95e02de196745341191088e3d68f7fdc74ed8e0099bf9da3d0e10ab315e1cd8335d65b4eb9e36d3cad1123a029901aa0a3cef74d36e264e52beee737495f4b67baff72fb5879eebf0a5b9dd74210c58be85c340b8504a921df971e4256830bdb130f53f60f64f52ad7376b03a5f0a281f20a28bf3c5d1bfce48f095919c543d81aaf71fa87ab79b553f20e08a940616eedefb5c23a08784ce0960ea0d6392ba550b45e715bdbc5ab64e634744470290761cdaa54fcce8eea7815be7fc94545e04caae44270cc8a119a553dc1c4d0e04ec093a9c882269a2afe75e37d9082bf8b560806c619271460de8525bd7a20ce1e209db3c66ac302ba2c5a145f5c538a9ddb472663a2430a43682b6fc63640e4d773aa03b9770526b0a1d544e61eee6945ce77747a4277e114f6b6b63b0550923e3a84f39f4dd2ec53c85d5c76cdf10c0d1321b85a14a417160eabc5de3770ff0e4d2a7b3e37ca32cd4dae802ed8490ed08db71b635e40a4ec141ec03252406");
//tx hash 7cc28c836abf278ad8f329c1ae07868aa9cda16bd2b52126424bfc7cc97566ec
// second tx which has payment_id8 for us
txs_hex.emplace_back("020002020005bb8d0eac9201cf485ead01067e9e644546a9226e6a1668b6a9301bbacc91d6d4f6d92660cf5626f3397316020005e3bd0590a004908b06990125213f95bf1bb4d3737f91135d1eedb5d5473c380d5eccab83ead9856be71886f6020002f554d0939e4ff07ba7286fb62a6afc56a3590fc44dc317e4ccf8c4a7b4eb17c90002cf588dacfe17db9ce76ebd5f1d124fe755e4e8edbb245ad81079ab1e93a022732c01499f0cb98fb9e1fe26b8cc7e16e38e944e4ca1089bc88ca13bb8316ded3d29600209018c0f6fd01b74ccf6028085d9ca51c8bd55bcc4a3914f4654b0e9f0c24bd9ed7c885c2ebf30e7d0f0592e6dd5834f74cfd0eae019d0de716bf13eca46ef15a54b89828b0f60b55f72ed623ee8c39b46dd50c77f2403b14690a4d27eaf37ad3706d446268b8ba8e2f983ff5261f00fc1ddc4dbf8887dab52cedd26aecc2787b0e45cecc34fa51f273412f9078e91063daed6d1a1590004dce4755acfab764942ac4ac931f71926de5de191a0a4f60c2b6e7b8db242241f71798858db59c98b4de8cf05ca72e817abb32f2e4ae3870aca9ffefca8418390e1c7a6b286873184db0bd2dc248fd2baef096d38b1f3e1cfe4234e9fa110826072bdb4645357d52f73d5e695f6a922a13d2b8c6a13722f675a6e548eaaba07f14b1e501e7f599d9d960ad4a45f2580da80538d391556fb01b5be3b7db8b7fa871ba531609a501cffa6adb0bc0012a31f900699d3aa471c0c2129cedd1c414eb29b8a092b0d760da6c03f4342d31e38b42d8d7219c40e7a0bfcc9b262cda02378fdc0c09d4e392b67e85edce98191e797e5038ad33e988709eabeebd0dcafe19cd5d83e261d0d81f35cca825ca7ca22c286a1738c50959a07e895d8bde6af581fbc75ac3ed6e360f63ddad21bbec7cb12b69c11aaa5117e011dbf00e4500c7e5d3b833a4a3a8c70efec533e782eb392fa15753c25c17831034612f39d5e572058dec72c9c46a6aa96e2300a874d2c7b07cd586a4e3e75960ddae74ef6308f0ac6f627f2afcbc2e6fe781e5250aa72f08d8709e8285b2e8d0a8ec129a8a00320c3753646175bff441f59fb4904209fa51079f9240499eb3a0b0a1d2285ad49633f1efba62ce57a6bb00a4c70fcd4ae75d7eb2ede3b2197020b18ecb8711cb4054650bc0d49dedef81083abf45f8d2f1c1b316f8bb5d779770c08c4c40230d3dc67921dd90c8528ab2fbba11667eeba6562da89030954ec4d0cd88e62ea516db44d5bc24d5f91f7c23f471cd4e402cef0313b7a557c7f1afc0d0d15ec38846202f13e2fab9f88d7cf78f05981f9e62ef52d1aae529864b56801669110dc4657402d788b4b6370e79bef2e403f49e97e4b6348a07409a93a7508d704436e591f92dec76f5ebca63ddfb472a1703e0e33e533caa729cf2939a30e3890cfb35fc8466baf5fae3bd217fa410d07d2d22134bec888d52ddeabe5b200816ff9ded7dc44782b50237f1001d4f74bec6a55a78bd283dd3f892549c3b80b8e30294efc0c7f90c917ae786cab62cae230efc58022af5cfd51b0df76c4650b4ec4787a260ed2e595c78bbc8cc1b1cfa3d4ff1892a952ad732d6f131f668c07f5481f825a0e2755ffc9475331c0fb0e6532d3987bb0dd0791fdb2b8b785a404d529f61639c81061d7219da4ef64d8d6f7dab006d5099cfc62c7a6e93f76fa0979fe4abf02a277d3e773fa87cf649a06ac5784dc7590b56c1055bf4f5af84d013831713b9f8381970f20fdb2bb34c7b55e1a64185da16108033866bd729f410efb954c412f27c218e4661a1cb9fc63ec06de3858636ccf77fa136249eb056809503b0be6e53ffeed27b81700d78d8cedd03b24fa8b5130d477279922d761ea0acd824a12c1ea612e05d8cf1257f0dc89f760f57f13ed5ed371dc54a61b0406017c1df7e1284e773e373b45e7f118f2236092b772b8db6e87690bb4b74558df05f968c0c0bafcb7ca28930598f8acf031ed620ae927bee41ad98793fed61a4404d3a2fe00dcfaa549fc80bdff11d6bfe40b216506d151e51ffd4e86112dbf72001558715eebec4a59373ee47b5b74605fe67e3522c4bd72a5df33df04faa367068b62fd02da9b5f9e00fde4405f78b60b5b76237a121f940041ec869bb98fa402fd03fd94b625a177c6b1512c2cfc982b93cb5378ac0383967be0ec4f44a035077455e641a650aee54e3c651b25b8bbcd267a7105a12cf79df8358e1c62839708cde9bee3a89f9d12f1a758ec68a3522ae6b9cbd35556ab27444a673edb68a40b88b394243fac7142dbcaf75bb9e73be45b9f3e1782c9dd24f36e197d08782301a3dfc0a652bea5c6b88e770603733c9aee95ae1bd82d80123ae715aeb31acf0718fab2c3706fe6ea2432f05d9f67d71646de0548450f50bb576878317a6e0a0a726ed7bae7ddbe009824f2ca2435d9489854488fa7153a46b697d59157f1160eb862b0d4bb3ac8f48c3960969b4e2fa3d227faf8c8ebcc5cbc1efeb0f81b8d0fda832c16d62a76780e548a1fa4b2acef4428b01497a4fce8d51978095d7e150f73722a7fd60aadb05a2a8dc023ab3640fd0d44e0f1244406b7fd174c6b8cc200710ccac817e7dc600f1448afe05d503dbd95eddaca7bc120e9ec5f968d7c190cd489a1a91562dafc58af4daf2e3fc5b8949caf1f6505173abb1c3acab3ba580d62fd9ab4665f793bbd4588f1e7ef4827168252d7172e77ce22e6d8d0fd51e300dc2006928bc765fe7417fe6e43025d04b8206c57c5e57869de1c2a11a4e4fa01259e1c45b2efe33ac8aa4ee2ddd5642bc2a7515eef5ad9caa4b5da06eeef0c0d02e751e4a6703b2814389917e68210d72e7f8bf834eae78316be4472f6407709fb42f74dc98e989843e4e5f32d726898b6964b868dec5abfe103da985d07e7090ae39c9bba64f4627b97053dcf448fe545e1e541ab22128421a3bb0cc97ee002c6007d742ce0d962577751a76b6b72cc1a9b10895a3f8bcf54a18dae6336af085c3bb58b115f3268f6241b5418d9319658bde3c63b708071973c57a6608a390f9a33d881e44b6be042af76fd2a02d7e41e8ee68d8d4a1a7e98549981ec47fd0ced3feb38b8ab9b7a12435350f65b15ffd3b18f68cd9ebdb4fa3e07a40e8d290b7f255d4756c360c63df33335178f0eb3514ca5f70994f6b91b545534b9cafd0e4a82c38e54956e39f9353ac379ec7eca3dcbcac9e7f7a199428967f7c6c56d0f67514770a9fa9deddab8ad0ad24827f64797d92d37b2ad67b762fd9a04411806a4a44b39ccbf7ed80d3b1070597474fdd5b1331004931c5eaddceef8669f0e0734a772576fdbe8052436925d42d37bce1adc290e899ea49524ddf4c1685bad0174ba246bcfbacf00dbe86df6d9557c060e54fff3222123344a0fee4ebc1e8a0cc62b0aa30a113520d463eee32f9d60edae04efbb99aa000be19e52b2afe9e003074507949802e30d80f04e4b4fa2d5cc92bd24c332ce1ebda62843b6c3bb6a0e8be8d07e7ea7fea84eeea77ab363d4f53c875d4a2807de75e5caf66cdcfd710f2435df390fabd077d796510de33c6e98fd08d1fadcfd4c20c67539ca7846e40dd8da050e3519f9d335e4107d10743328eb784d361da7bb3d7a41ca8498b4b000daaba0d8855611e63e455f83aae8659c243893fbba59b69e8b185b965eea7a06ad3dc4e3ce62ef603ea521e5176eae05f935c68f63b047e5f48d67c00ffbf90e41002ac5e0ce45e9dede43d4227fdcecb510dcd9c0dbc061c8d0798dddab8909b680589e5922dc4493bde62aeac75fb0c93ccf6dce51f0e2fae7f4b5abfb010d3fcebf8500f127fd9953139358a74dcace9bf1e32dbbf776ffdd1374a97d5a00a1d1593d7cfd6ca2e1b52736b61d944641d596ce4e26c054fdc27b786476a10d13cfb942f2335b75dc4cee33c276104811a5c4b0b63f6b2f685220e47902f005f493266e5060a0d5f1459aa21906bc80e9ef827d887a44b1015efc40103d3406b0bdcc04337f3b7e9cd46904d1f1ee007de80cc705df9afcf5271a5027a407022ffc1841f5ea1f007fa7f2249b42a3e616c5491fad0eb3db9a34d4cb239ff00d6ec08cfd8d7e97ba3b7bf18e22026cec29c0d35f98f89ea530ab38f83cb26b0765cf601e6c896acbe9917897e32d3d768c7b960694e1dce80644bebaebd28808d07dc6b24a5cb6a3a1a517755a66421c12c2b072f288e335899e45ba4a645f0c0dd9956bb18c74fb9f0530626123471cf599053813fa09b3bac7b4fa828ef0004da6b7e8afab2ef21cf3a833dc53309be325080684a51f7cfe4fa64fb6b2920a52c7dc7f6905aa0e5adf371bdb8d55a0f6375df89c03e603109bc498a02d0b05e5b9f8ddcb90ab5f6383b3a9ddc2a6e71c36e5c5ca8ab321a726b6b925507e03d60cae0dd20d4e7d3781609b0496efc457fbec79a0b9b4760ba563fb99617808b3358917d294abd004467ca99196e52f0df805033b4f53266b6c4b256fab5e0abeb54f18ce205cff71bbd24cc5602839275fcc2794282d84d1f638a036cb4b010a837e123f7b7d8ba46e7c7710fbcad0be6db43518af725b045815d5dcef12076397490c2b2a5a4d5f1c687f838382f93dcd583ade7b8526dd42cf6f09ee1e0bef528cbf83bfa008727f238da333f2c0e0b865b0edc27bd5605b3444801bbb011ad5937403e46c9816c220513bafd0cf09df914ff784ffa03b6a1a89aa37980be6a08d61b3d649291fd00721a44de32815c9f9ac9973808c0696a5ced6a7b401e7afe17166f3b335b57c9bbeff46ab56c5632c2f49e957f99d5cccfe0cac4507be7ae17f768200fbfd2d222ae47c62a07489d13a75189ca757b8eda2f967c4041059ae54227b116580c3c6272ce44647a347481358a60738031a24b36d797c0bbb34ad9327965fef19f9c8602ecb14455228598b1b1df6320309beaa120c4f05891e44342dbd87a292a03025dd7a9f3ae929f22f2d8f8ee6d35761c92349b10d896b76e769b7597ad59e21d0a02cbf743d3a0d70b4c21d31017d4a293b68ad0a65be09cfb0ca32fc76764ff7566cb421b4414f59ae1dbc89eaf8845ad8ba550bd73697647577274a92f442d4536d631a9fbf255e25c5cbe12116fef2a037e9021fbd9ac6f87f6116bd78f82c3f5f4e8349e71c846a7d1b9851761f7c0d44ad02e05aa2243d4096050045b0ed018f88e8ff323dfc0b4c93e68ce76b7d86c8bd02d11e28d4d55a644f859aaa70b23a29c973ba8b5074e1b88f8413797501c1460a22b8be70d63d2a5c9e5ac2865e926ced6fe0d086af7ef772d777621613525502c35ac9a4b023f7185300ed7f7c2e00ef98df178de4891e5c2747a21afba0660ed518e6cf289379d451692e63e0c03764ae4ffcda9c8d1907b7190e341b51580578372cd3a703dab5a1e1d5d27ea63c5c9c62b340f75ecedc1c64a5b6670a4b00aecc08e7d28773b0079ba6ed0c02b6f1497572f0c52c10be40303f37cdb19105ba852cb63306a2d0b7481ba3ad57818a748cff0bd85ed1291038f026a9d8540eaec167077016508f342a43466b1ceaa8ddda0f36741f012fdfb20a9fe370510f715305cb5336ed48170579b580107b7ed7afa8e6ec99246b616ce256af02d80fd93ca43dadf587ed38025964acbb37ab324fdecdb3189325b1c600cd7dda47077bea7e7596742ea6de29c6f430908be42fffc63a6e7541fc712d39d9c2f4c90475846f244a2e4e6269e1503e37903500810d1e76c85a95842ea15e13c527af09808da433e071e441f239cb679381e6879752546b5325ccbd4120e314de672707b26218cb840703c5fa3a3ac5175d2e05211a413e647d1fe28090e4a9f572ac0886cc55164f1bceee5bdb50a8faab09c91ee58a2ff6978ee8b18bee3709e4b50dc3cf1d0235baa6a50d1f257c91e3e0c45b5cd05abb69ca54edcd7bb248d1b10c201542a1ba1c3384ef81941be4d6cd8503b2d3fca81b4e790a5f435f7167ef0db71c246e7947eaef073824d339bbd122525e87745a7c5d9eea2d37904a8c6a04ba80525a077e28786341ac9c8413dde4c7d7bb02d3c64f5d844bbe12fb07130707edd94eb886ce24210159cf076c3dc713c4d1e470d26e6c4eaf0bd5fbe7450b845a40512fd195e72d71f08b323e4343b1b12363b37570c65e7f430a560c090ac769cf4294a79a98d231d79ce5f8ab9b77675ebfc35dc997eff23ba465b1ff01560059d335eaf1f7bc8db65976eab9c319fa59bcf149b85f8e8ef650dba6150bb818f712181622500820f0306e6a2906711a9a0b215b9ddb1587af3bcf75a00d1d1bd4e5532da25c98635831078c589cb82ce4d42fc37e6c998f3556a9f7e90f03740ee28c29a0cd5c781837e9470218ca4b50fe21b1cd6d0464d7defa96cf0655cbbe910524b440c090733110e763cd87fb66c5aef6cb7eb317bf01e3187e083d3f540443d374de6cb14799bb27bfa7dad2a5428db91796b4cdb812dd183c074db8816bb903677a202a7d9aa2f5da92be8c185333b7a11100f0001a572e32075f1901ee1d3cd24a46f10f6062e05cb2ccde88d96a285e57f7a797012b9c0c34dd6e3d7536aa6fb54557909366f7ff6a72d4413ff3d4ad7392273f727a1863bd4a9d6e09e64eb68f8edf0dd93948a647f0c4548141dc59a3f8d4e52731d0a86e6f52f34902be557e06452e367c018ca2bc83e9cb0c294a2a4329793dd4e6274823abf35b41957180eaec7183d5093bb6de941573fe7d24cb640d4d8fcb5121f8c4f210a012f24244bb7f2b20747282f44170344d9875dbf61481919784a6511e374a3c472bf574eb3db51cf1dcd45010dea2464a043456d341b61ba13d03c080a9c006f3bfd4b9b56174611c7480b65d27ca79c98509fc2626797a54adbfb5fa7caf5c7860e2403c7d758bcc04e44f301b6d13141205e27a0597b676a8d3491e920978b75df8b310e7d12a43e8129127db388c33e39320687e16cabeece3a0718c2e98cd681c0215a69fdea29a62a1c8d74f6cac30f24d2ac6d84167f25547fecf3eaa928dd92ebcac71653fc930e2bf1077489b1f046fa40c5e8bbdde9b9ee047ad77aa60e3f8c6fb495b6160ce899e891253647db69f80bbde1a592fc4ad68de9a9aa1f49e89f67d54c8de34fa5218d1441cc3d98717d92107ef44b74140070af34ac0934eb95fb8f9d83801b81b93b7469afd76f1cc2dbd5559929952122eb57def50b37b8839e3e5dc19778eab2070f258b07a4c17803282d8bcf341b0b7fda58f16e8cbe76b120448d5e5702b351b791c88aea98118dcc461d4a7ef6c60b6e3b5322effdd12f51e7b2324b771eac31d9510e5e1f4889eb81adbd569b9cd546273405ffcf3ce8702b1e0bab96de214536abe632795d4fc97d4558f4a4be9e050662d40add51d99843f16f295c36a99c09930fc1a8e68fbbc4b2976442a60f8bd7866a508193c1466988525b3f9874ac8f92301fc6c6a936a3d700c59d7876f19c0acc66d177d07c8cc662b7daebbc812e34d27f47451a9203333816d67882cb0e6aea76937a027111ae0672f80009594fda040a6e91db47022839cf89f8e35c11af7c35d29b3a69c835b099647600847c0782ef33536c0e9f34f1f43ea2b37e7798f211f09b398cd4a08135684a6a4efcd5b08f3c159dd9a41b413a9b097223ac19c74293e94dd51ac833e2d8de75f36e342eb8e4293db396960c388171f79cc2b00bfc4e5e05a8915d7968c2c315c0c0d44b251098d366c446ec6d663ca96d998ec581d7155b7bb42a1c189d4f57e8d03ff2beba4f0a22b96ecd2c0c76b740327e2e6c894ef324818f0f2ede5003e6e7db26eff395845b95ba5d587e9bbcd3a40b17c2fa71658b8adec8356a477c34ca9f7989baf7b52d4976c19ca461422eef91e04fbf51fab3f2545ebc4c1046426483952d8bdad5207a7ba54bae801c044aeb5188ac860fe4c097ba01a57ad6c40ebda079c2ae3c6e5a106305fd3cc976e7a7d50e049f8695ac438676fa35d366f0282c1f8530af93dcc2ecb446c5a98e01f628be8bc6632493c4910f970ca5680793f0cf8bbd2c1452f4a533441a923d3b75990724ccc71564a96f027af9aa8243ae56654154590aa14025c32a4a5530a1f6db7817d6b05a799f61a71478792a9dedd4b75d9e8acbaef5eacb2fa17fc5ce1951966fc62b7ed35768bea4c5c6e1589a9d43b0372a10a6782accaf64b8f2768bdcd6516d329f626b86e58fb568c269b1bb5e3b2490a9c02eb7b637c082597ce36a6b82f83dcc910cc3bd051e0167967b0a0504f45e9601c6ae0f871c60629b2267b0da6b089d0c896ad1583c95336dee37c0b95b500089e12cd4e0a3f9b48d75f6198e7bc8d409c8e7834a79c1c394365aa490e2a33c38e308def40f0e6215f6cd4599f3bffe7ca8cc550641e763b979217e068105dbe2df221983ee661be7d9dcc6782dfb0a0e05cc907e59515ea8c83e92afdb0afe2b1b2532f2301c099c53e55fd0af7db038016f02233302ef539795528be49f6c41aeccc737c1ada91da80dd1b593bd7614f14be2cd1d8a8d1fbd667d131b413368ea6babf6a4baf059aa8516bd74a19f0a0060c8053c2e4d8778e65f9f9ca16fde0f925ead135b7ddbba0fd384edc31da712a33e2104c08750a3f56bcd0a1971b008472d6452270df75f6ab12f72256206f92f65325cd0cfdf014ba9f989cd5757c8fb0d7b8b58c8812b940d3964e0d8816888f444533f43e7d6b01974999a37fd3c5602d66ba23102d8fc9cbfb3917eed7f21c2dc4b8d5d3d0e5dcc82481ef0670a0f03ed4a9bcf5b46f2721ea1a18acb50e3fa346fedee5eb31eca52bb8384ede62b22cb0a5f85eb1a81fb2e1430aaddc7ef3b952a429dcbbe773817d654ae5a5ff8126acdb02bd79d079397a20d22f08ba7181cbb2b009f4acd87903123a4b454c65345f81d30d5353cb486d6237feaf4bca2748bc516f2070959f157930262eb4f4eb854493e5d1cfea6110c7263a1a60fbacbf692f6ec6d753a25d2678234a26b7b37bf0aabfc6ea30a92b3bff088e63b4aa5c9562df3092ec4e7b2af5b1f7c215cc629b158a4c688d722e1e21ffc90ff96184b0a60dacd5be923642f243e6f9c9c612ea8d32df70d0c650ba88a0db9e479d06b26570d45a1692d1b7cbddb48b2dbf52d9793fe7c00047cccf4b65d66bc4a591c26e55eb5f600a8cf36536c71bd338b18c4709199656b21a9b77b40049448de1fbb5320be5eaa24cfc84edc79fc3044460a8ceb98b0d7d4a27a97b96b7e8fa17556a8726be2d9903f81d3674cef19dd66a45cff19d9deba0be73de19bf8abeeff340a73f45262c7a58fe74f616146ec5de426548f75440a8fa0f0dce206fd9a18492b475d2f12dc2cac95cddb25ddd65920d8bad75a636062b73f096045c46a261df1abf764ac4a3e972cfb5187b2f5e0fb4632cbafe5a42c3fe8f5335229e9ddc321c77ff0e836e3e51593fded2ca4b0c787dbf8b97260cd4b8e39dd4ff3ce85dbed2a75f2ce491bda1bff59b525b0d04422b98d5275a8c0b33be764ab1eaa85b9d54ca57f2335302eb9318cf8ca37a0ca5ec11ba8e720542d13765996ae3e5e0f45bd1e97a5d7375855febce2bf85b0035982d62983a352a314bdfb192b60dc0dc3b3bef5254c8ec9979007b8c28a801f7bbac0a492dabfae026dec8b0a2dd4da4a68bc3998b15f609644c8b6641030e6412b14433415a48f93979e0eefba9027bab5d8ae0b6f80c1ff6ae19b90ae501b1550caeab8afd76774c40e302b9fa84ec82d3842e7e5613d5d06c6ec4b73801bfd8ea8580bfcd512532724a093364771388f8300f837703a77cdca933a93f03dff6ea78a28334a9e424e27f4f15dd95e194ace8c1104baa8282f25c459925087c194c23496df11ab3bcc38c8b2cdd3ebd48f37f9a6a31dc663b6f0e286d36079af8773c3e0a1a3c7c81c6ee38026b862f48c624216784f6bd12979d7fa7b7007a27115baa09f46aa7603a20f62e30f9a83b82d68dbfa26ce705a9ca2e0e3f0e5b1186bc9f4ab690fb4ffb8c79ce156f128fe73d3dfcc743f287d126a79a7c09272d8f5d204a9d9b36aedd5bfd0ff513981b35b97f5e49214c242006d1dae602bf06ee0630b3970c29203838c84a82b5fe24b75638f17c07c786bff35dc4c4097c08b3b276fea5c7fcce638eaa06acabd18d38951dfc595fd01bd78433ec2f042bcac15507564a9d93d3ecb9dcac30e62a5d799ff5578b865a59d492c85a6602ea53d662f6e3beb452fcf5a87818ace3735026f667118fd494fc90b65063eb0b007ec3299129683d294ac0d76019bc8e350846bdfe93bf09ee78534c089ce60145f1d1d434c10e39253223daca7eeb37faadb975f206ea8b8995c926b1d6820b7a0fe8edb6c24ad0a69821c2513e3da3149718761a5d37b195d1d59b8621a10f895841f81c766f00a416c5c293dea9a3fb864a24cbc63b0bce3b5509d0a1e20d991cc4897d206331b5c46db7fb22d767e82543d2975e7932a03d41b0f6d2090a223db60459fe70634f536523629378fb8835fb6c813fa6fbf6d38244c75a930f3a4392153c21f5334ee162c95885de656c1421e462d297f89e940b6943409506d14787487dba640b4136fdde2c063ba7a86c446f21c7056509a209d5f54a7e04ee93df2a75eccffecbee783d80f6bb8349e269c40e2c767eefc7c73897d93e0dadeb7e827f51f4e89c0b9d78d647ed413767251ed1f46079712c2027e6678f0d83fa4949ce0b68ec54daeaa0740ff7136519d0bbf313602c9b263ab1c4f0330ac69da877aa74421cf003e23ce5bb88d3e513a632cb9fbe3f0eb3c956b520c801be2ad3e0cba72e77470c88ed8b00bc2b5cd10a537030ab117787b59eaa68b40515cf5cf61f5fd18fba0e55f3b84e85875829d8bd527e6eaf5204aec5c450630c1caf4e31c27249ccd5e9c95a331c9e378a9719afbb98112e3ab84eacbdbd6c037b41b406d782a713ab2831c5a5e36f9103e408554e407e4ca48b44e0be6a4e0db42e668ea16f236ed7a257f0a0e3ee7ef1ee3e2b96b734239fba5b8f0954fc05af37a5986790741d72b1f6f159ddea72e19b8f93de6e68ee7bfc812d0381680d0a75283d4fdb30622945566adbc4038a77a9d94109c919be1baa94ab7ea27b036e9baa081888c5d459c3058c0a6547ce604cf51e016e285c4785f48c1c6f490bda4a3a616035dc0f8a69bce9a718fdb4dc88df60b653a2ae0a0fa85333a8750c007ba73b51975a9c2653adbc3bd8800e2505acdb561298154e1d5cfe5402040e84f7c9ed74a5a741954050929e588e8072c8f53c1a8b3a4183353df232247609638ba52a83d742785377a36365fca4dcc2b7961a5ec302414c6cfe78128def0b19adb9332f4d4fbd514303daa71e9924a6402b070b9acb51314d357cbb17f30e4c2714ec93f30559a3d642d9c28380ee70a1515e0ef717c5fd0e25b8d746bc06ff5d330147c929cb6e83e0df60936943e6c607a59c294527b032fa634725e400473f45ec1395273002c44755fc0adf57a1f3733fa4b4698bc8c6670e3c192a03672b28a5a54bbbc688fd4dd2ee01b0ea7ee8f93472e4f61150d816f1f3fe820753e931782b901c01ad0632112e545d24e5223bc27833130773d99ebadd073a04e228a8c8aae5bbaeccfce141e3444344540e7b736c9d8d293ede2c8f07c1eb0f5c3dee79a1c89a6a2fe827467137ae3e086fb9d073cf3a426e54344eb3e40200de7caeac25fd3b853e8e25ca6f6eeb1525129cb57737425b6dc1b3b01e5dd5001d7bf0dc9e4abde78896155a8e2bdcf0031ea782a0692ee3e80c795f948df509a711312f45b0e51b9b2ccd536757e413b574e4c7cd3a782a4292b12a7bbf3205a14c718baa0effd14b44532e62107f6b819c5acce2c6b216ca8ab7e293810b0dafeb3edfdeec9552b5f14b51ff1db3fc7c0a8043cd48925778ba5a69c1238f03f13d6d6bf508a987da4c8a7c461a33694bc140600f2f9ea9fefa0fd60b8d350cfd2fb3ef520b10455ae96ff695e9ff3bacfe998a16717b558c916f85d522c9029b297bb067a69ccdb6d04daab600fc125dd1c47616f2ce2e6de8d64f6c070d082dd7c59a248f7f792b1e1d788219c1c2075df370a921c08f976c0ff6d3a8e608b5e30230c7a1bd8273a1800bef8d092aa565c4d3259bc2a0cad6a73aaa7b2d0b4fef3753ed276a680ac060c28de2374963ba83ac7c684dd45318477cd5c7970be48ccc6c1ee9c5815d930b72831873257e2ee8b9c48ba063d264856b5155a10ba74fda3f244b0ea81491748a902b81e8513f1e5479b4c3ffd87c29ea49dfed0cb85519a69aee25648b809b0b20923b9facf617cb6c341e3ce5ed74abcad64a02386d2a712c585670cfbefd9d38ddb08247ac014dc768249e35eec5a987663b0fc1b9b451e5349e5bcc50cace070950587141518a170df23105bc58272642970f05fce0cf8540210598dd54778f29226b355b68242422591363b7f8e4fe81a8095229e10c5d861e4523fcfa2f0cef5ddd7557a283a3cea04518e3063c951960012444987ad674b9b720fbe30617bdd8fa19f99a98a379b0ce6dcdbf80b8f4890f836cf9d1cbd6c9638c9f31824e9a9d6657c30560fbb817d15ce247823d3d3d0d8c2c6121bff3f1be60838b0da4c1a8a71212164109f03244c41b687e597d5306059db6df0e92e15785b62b00c15c3befd0e7a47f68d1888550c43eef85f8d4095f61f1b08b84fea8f98c4906fcc09fdb42536426e7f852cb15f74a0d73067905864320c438a62253c50bebf097943a6ed0a2647f8a45bafb3248084fdb8bf80e3bea5716b0abbfd29c50dba5df2b4267eb57352866516640846507e66677b909226fecbd5f6b775145b8f599034a82d9b9f506ddce7ce7257a066971911ca40d06fa5c75f89b65fb7b939290c69d6fb409db4af67048abfe231376b6161bbd031075760944a05f85aa90ec6222d8ffb3df3507c4ebe8a75cef9f849c83d0830c2e1fb3f9ec0e063010fbad009c81484300598b6c44d8f0271d8fe89fef754d07a08fdb2459d33ecf977c68cec527f01bff287bd6ab8ff830167e163ea1e17c00064f81a9a6752e77942fd7b06c99fce6b9850defbe48e057d7b50aecfb842c07395bb46bfa530b4f3f94345f4d2e2e62823ddfb3c25dc0b828d29a5643d8310e78c37b2594ae00f445b81a99992137554fe56904b3161c0398f70640fa212105560f8505dc35804e427e15531977d256c440a92541ff8d5a95a58b5c04264e025ec0a1dfe97c2a4d13057077313b543c72598037ea197ea6a35a59e9bdbd0207eaa4f8d9b45d2040f4a759e7b5bd5eb185d3b4897974c6fbdb9fe28ba7f4f10f44de91da422efcb929a408597662e419bde1d2e13672f24e3ca6f367e49d560e712ab73a18e2fd226643371b8b02a1adaf9cc00d2bcb9547453bf1a23c66ec0b289cbe2f42cbfae966c363581f2cc428e607b0c05a70d2e2f208b61399b84209132866955a82ef3e4ab1ed3198900cc7f6a9f5559283c13324b8e988c8484f0fc1b10093fd30450b218d2ee004a5104b373ff5cce44213cdf199d80fa3f21b011b7fd5a5cb85646213f10faab08340066990d4dcc048aabd80aecc954c6e4903a2e73f338dbfd39ed5905f719c286f214e8dc44045771a9d0fcf0d8546a19f0e99de2cddd81b29b2f7697af3e9c7934b2888aff5fd544ad6a61e660b2eec470f363e3918e80a95edf68c515c40772dfd45c752679f9c7bcfb50155f27284d50f55a7ec499f84f18b120e4068712f13ff2682def10e37a7ca60dfdcfd2809f10f1492852710dce73bbaa649c9e41dfb5c9343a27d540244e92c19e3cf88955c0bf26769df762590c257d43508a45938c6111ac5dcefede40d37b07d503211300ffd0cb63b414a01786b43159212c7c44c803a5214843d610db54037002c52ad04ae5938bbfb9a3d7a494b2b7ea3ad70f157d9742002fb4a7d49d973fc1b0f6b0edb6e0d5495a43c0c13aa9f9453255cc1b33c4e8ad74200f21f2eec074c473708858b0bc2dfb33a27be95c2af90762b84f4cde7c6029d0d75d9c1017fc791db0bdf91082615e4fc37b478320ffdc0cf89778500dfd8c9a008f27e77345ba99d0c9a3864526e83f4ae6a9f89c85cdb333474065835c71733f5013ba0c85667d101e46664d2cf6220ba750f0d39806af6181510860f3319ba601a6ba8406ac9e502a82a1cccacf643307f3df764b8915914fe8124c824d3fe2f105826e0f5de750be10a0c48b7b682281efda16f3badfa262ba677a168167e43b7dba372d5e4800839794dd09135cdf0c5a1b062988478532983f5553c779f72e08d7e2f79c0f707017d4832600acbccc3f4c19314f7ebc711dc46724b13eea290103c5cb4cbd50b341b0d857a5774e258624e4f168b972164ad957ca065c40d27ff033c3f7f93068c153155078bbde4be988430a2e1f8438394e6ead0711d0f19f18f28a9244302b7fe14cb66e5e2504f40fff98a2ddf82a938adc54c663a2cdd706effe75c40075ee3dfe37d13709dbfdf7bf2b418df71627b8ab9eb68b6bf871a15a7b80c34071c76714ed9a0e8966a34a7f8add654a9e82449a3390ad2a7a49e98144eb36509c3e52411f361441c4af57167037953413375796fba0f79f15486c6ef2f2e8c0bcf51c0ac6617412547e1663f8c2fe662499d5cefa191e051aca05aaa0d83a80b616ac316148f6fa8b300e3a408d0e2901fc4fb9961cc0340aa798dfde569590588ad1be5c8a6be90cc5217cd7103d287982290736bc70b7081989d26adbea405064376cf386566fd2c5ca1ce033a76fb8bbba6f6b364f35655b4588c81f6a40a58196ba6182bf7d27a276cca3924391dc3664e80e98aa3290cba45de972de908a6b2d7b140663143cd60bfe3b10715770280342c8d98bd6de908489eab4d510e99ce2eb2ac39850ee7dc6a0e182ac131557729651c80d787190cbf188eaba6084a7d027315bfdb9c926c512f9b5ac216d57b88ee5f74e45b543549d5b28aa5091d0971ae423b048d1790fa8b8243f5e4170ee139df72250cb46940c3dc7e3a00862053e5d83712e6113b8f89372a705ef977264a9ffeb80510c2336016892d00d6de0e680ae732cdc1eba300ca3375f4206fcc689ac36d28c14ce17892d4720e4b5e8947aa9d583617c96baa8af626b6b4d505653ba65e873cac8a6e461a1f0b8296fa5cf9b9b1b262ad09141d9b1dd078d9be5f8f2848b8f2889a90f814fe3d6003b871ae12e541cc581463639c0b873ebd8fcaad1d9c889156e354bdb477c39dc8674b3fb4e99a2a82e3101a2e4af7915a760220045c9fb363839764334660cb55cd83449ddbf571d91719c1ca6c2653a1ddc645fc129f8f627059d7d71a098ad1655c6fb3b08834586de0cf3810cd787a75732719ea4aec35e88506900b62962c95a6fed8c364849622671038f8b2125540949b54a4feab266cba6a9ba4daa469439a6b8e17fceb39b8d6cdfab339e603e84c2c3ddfc9483e573df13898d8768c060094da40e96970880355e81916948ccdf5e9eb09a0b9247939f96cde2549a244927447e90844cd402a93ccd06b2b5e72b9aed90bd9f2cfb5fd071c33ff750bc83f703c7270d81c66f1e037cda098f0743332b15e60ed0cfc7429c4426fcd03260004a3adbce025d72fd413ea6b6df0a37f10ec19325a8a6f0db95bb38a9f64cd6c8a7170b6bc56a0201d9266366d75989b8c5b3d5b61c8b50767dacb88fdc6d3470a0a6d185bd1bba4ff8ee58209eeed7a91e4237d1d9de762c881814903ae9055703f4ff90b717c3c50c07f2fbb472199b3cbc88902460cda19139935668bf02200bed0964dd4489264fdcb533794f4175cd247ac6e3d2664dfb8e83e5228486793aaeab1937b481e58f757799fde4e9fa011aa8bc39e5fbfac707b1d919d71f1b45b89a9c8bf55c6ccfbbc6821136a9fcb98f2c7aefa88b902d80edebb92a3084227fb5c3c41a3dccc66be871e80c3c6c408de28878f88463717d8a9ace6abd1f53ee7d4f0f3d91359ce62b12e2a035ac600202c607c5ed2b380e1664265667cb355e606f888afab8d6ff2b46ce97cc67a690c86d8971099caeb1311850a64175d25f5301a04566585cf40440607cefa9e7237aedd2049439304fc8ef3e95f7c436e5bff429a9f42977430b054eaf8a8ab8d5bfd01c953bbe46e768956ae6320380c0352b0ebff3c13b0587cc0f0acb50758c9bb7c070fd57bea98605a7c4aac81284889df1be0b2ced4d92346e49f40e6f9f64953e8645d3460d0327f17a9d7b0ae6576b96cb26a10504940a473bea5c87aec0ae4fd037c16bbb50365f426f01e439ad959a18f8b0b7cbea64e24d4379d7e307d74a03d18c94dcbc0e1d20b4fd8b81ad0d963e9d2e256afda61174ea89903b6202d8f4f1e5d214406f29c96150a6504b8ccb995f6dee3da52e37b6c5cdd03eee81667cb334df4f18cc501d4e9778b0a45b6d0654d26843efc02c5ff85b35eae02be44ea75afd311df5909eab34f12c34aeceab56c8a1800c61303a4d60deeded0bc4f9ed13f949efa148c65d8329b6d62003808a1441a6b683fff235c46d288fdb522758c1244be6ef955ebd42a1969ca2830f37d0fd7e31a4029b4ead3115e80094cfcf2c35c20fffcdd7e7db8a338b25bf6d333a8184401bab4cc60b2887a6fe2e57fdfa50e265bd649b007f1489ee199f4dc383f06872431d3317039811bb2269fabee33828a84a663791868da2ab61ff8488d406cb59db2a3cd7b24124b2414ab257bf47627b960921f0441daed5defea72de68635afe7c42377e9209b77462c970c669460cd3096aaf6ec4e081a7d3e41dac24d58c30521ea45b8e35b623d224fd42727fb60f6988a3c6a21a6c5e21889c96ac2b030ff30721107aaac0a65fa90b3bf4994d8cec3e15bf62ed5f9d540f52f2659d8b376bb11bb6486d50c8b8cfd46d47e1c29f4892494f9af8d2f6d8ffd44b66046827b6763521684cecb0b08d55f4f8952a9000087f5cc16920ce49cba9a7511baea18d2764e60a4a12ab61fd88704ef5ac1bc2e62e6cc7d12eda5583747cfc51cf1b7fa376a9158fe1b55b63afd23b9650add4b12dd181b86415f6ef39449b8871b00f05bdbdfb7dd634fd8c69420a535b230ac743226853804f93fa34eff36d5a7f532e524151a8cd7cd8a638039532a3c615e1b947e7713b9451a46e2fd4cc05f8a2f51230a6225257ac2269d0f1a1a7640ee8c071dffd9711bb718f80875c7b9dee0ff1618fc4cbcf2b96a972877bf53535acd6679d4d8ced0edc5617bbff130139843d714fdc78a9b21bf5b4a48040a05c0ee12d58f03ecd29fe4633f6f6ea7528774e33b1abc6764b0eb87699b39cd9a9e603982fc00711967eb593f1bff068a4907e7343163cc1119475bdaa669ca44bd50eab90c0d290852cd01628d0b92e362fa4f9e42fe19f98a6f4c913ca5af18f40250af79a857318c6d5674b417d7b120c0ac8f9ad737d8e40529b75ff1cbdeb7d2f71ef8b62d56824d18dcd5224c224cb84791cf9cc2455716dbbdc0d1d13a6284caf8e71864e85c7fbfe00307ac9866b77de4f9cced0594c7266e7c0ec4da0158be918e693ff2a51dd6d3f09997c39e710394ab5af40082cb0b16f054b6f92f0c313fa6230868423410a22389a06850d6e95ea0204e448d21d0effd8578bb7e8de82e1af60d4fea14aacfd2000861e43bb79e91706d7e138ffb9c6eebb61cc76db308ab4f2058de0e3c60ed8f98cdd42c4d7ad34eb856b528be0d33153cd92702acb11faf8866a676c50c795f5bddd95e980830301d7ee5992f2874abb60b8bdb57ba368c8649c8b5c15635ac5015359359d9a56872f55ed129fe23d250e37505786b852c44cd0afca277e343437f496f3489949da2c0554dd9e29cf00357e02ac174d1b6f1179e333f65741677ac9ae91b07af5b85d23f518f2efaf0c4b8edf30a6a56fbd7834907cd22c84882b5649f88ec6c3116def07f9defd044ce24e0564ba5d496c5e3f1001eb1ef70de3903dec591d30d9ef9527e758e9f251c647f10a3b5e0dc29991f40caef36837acec5ac19b1f21711cb503d232c570efe5831337b7dc35679b1db3e9b121a27891b265bfc2d60a6423fe7cab76e25e710b3447e0593a662a735e9cc99bdb077549fc38fbaf15cce20c6047634ac304590e14335db3a547057373b328982e643b8f824cc4db0f13e3d620eb7e203bcf0901c994a162377a7cebb7774956e146b39431a0b8041fee9855fc069904ae240908e5f5bf97ee84a153f77728179a12f3208c29bee8fffdc47c8964a9e818cada03ac745b8c7b0946862fdef113a7ddff01061efcd15ff5fed36a34efbfae930801a40ae5beb5769216ab442577ac98701ad18e83a758796ace8db2eb3b3a1ef30df376aa67272e74c54c88da877052c6d9c994d2c551f79a7c143a220323fe1209156c6bcc9f096cc7d64343b044d738f2cec93318573b7e057e693cbd9df3070181a57acce55111c824cd6f724df499f1923f3b9c002870804816254c376fdb044c7b041f6e5ff587f3f75c06b17558f1160c39498f0fea9f117929243274ba0a317afe0642ca3c6c21a1d3f39cbc1b1986724430bd5d97347d8041c13e99ec074aa0f9af04b197473d6e5a5bd3840a86654a89f143b681dd5574e67a5dc0a20920844a0b5c29077a3fa5ac3c7c7a7c5a90e76521de263ff652fd03a7ea9f4e03be0b5028b68c9a8679a5a40b538d89f4683af812c501f547e781b5d9bff67c03a92959a88dea2515667e47484f75cf7a92b78f0b39acea706efc1a4bd59fa303cc7f67bf73e324232ea212e6ab265593d90a799b7dca2674fac34b629d2ccb098bac782fad692b948345e83a5d5a15e0a1e18aac1baae136d346f240fc939a0a7f3d7994b0eb8f616d2802d7dd5925a13a907051e75f84f127008d6a4643a60986f467ecdb33012edb2d5996d76c6c27f615aa1754eb06019766917621c04a0a282899649a4038863e88d2868ec661bcc8af988b2cd344defaf3cb819e73ea0ffc2c6cd4c83a52c9f38bbf7155048cdb011e203baf9c7e82531440782fca550b");
}
vector<string> txs_blobs;
for (auto const& tx_hex: txs_hex)
{
string tx_blob;
ASSERT_TRUE(xmreg::hex_to_tx_blob(tx_hex, tx_blob));
txs_blobs.push_back(tx_blob);
}
for (auto const& tx_blob: txs_blobs)
{
mempool_txs_to_return.emplace_back();
mempool_txs_to_return.back().tx_blob = tx_blob;
}
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillOnce(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
block mock_blk; // just an empty block
EXPECT_CALL(*mcore_ptr, get_current_blockchain_height())
.WillRepeatedly(Return(100));
bcs->update_current_blockchain_height();
EXPECT_CALL(*mcore_ptr, get_block_from_height(_, _))
.WillRepeatedly(DoAll(SetArgReferee<1>(mock_blk),
Return(true)));
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillRepeatedly(Return(true));
ASSERT_TRUE(bcs->read_mempool());
string tx_hash_with_payment;
EXPECT_TRUE(bcs->search_if_payment_made(expected_payment_id_str,
desired_amount,
tx_hash_with_payment));
EXPECT_EQ(tx_hash_with_payment, expected_tx_hash_str);
// desired amount is more than what tx has, so
// it should be false
EXPECT_FALSE(bcs->search_if_payment_made(expected_payment_id_str,
desired_amount*2,
tx_hash_with_payment));
// EXPECT_CALL(*mcore_ptr, get_block_from_height(_, _))
// .WillRepeatedly(DoAll(SetArgReferee<1>(mock_blk),
// Return(false)));
EXPECT_CALL(*mcore_ptr, get_block_from_height(_, _))
.WillOnce(Return(false));
EXPECT_FALSE(bcs->search_if_payment_made(expected_payment_id_str,
desired_amount,
tx_hash_with_payment));
EXPECT_CALL(*mcore_ptr, get_block_from_height(_, _))
.WillRepeatedly(DoAll(SetArgReferee<1>(mock_blk),
Return(true)));
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillRepeatedly(Return(false));
EXPECT_FALSE(bcs->search_if_payment_made(expected_payment_id_str,
desired_amount,
tx_hash_with_payment));
}
TEST_P(BCSTATUS_TEST, GetOutputKey)
{
output_data_t output_to_return {
crypto::rand<crypto::public_key>(),
1000, 2222,
crypto::rand<rct::key>()};
EXPECT_CALL(*mcore_ptr, get_output_key(_, _))
.WillOnce(Return(output_to_return));
output_data_t result = bcs->get_output_key(333 /* any */,
444 /* any */);
EXPECT_EQ(result.pubkey, output_to_return.pubkey);
}
ACTION(MockSearchWhile)
{
cout << "\nMocking while search in txsearch class\n" << endl;
}
TEST_P(BCSTATUS_TEST, StartTxSearchThread)
{
xmreg::XmrAccount acc; // empty, mock account
auto tx_search = std::make_unique<MockTxSearch>();
EXPECT_CALL(*tx_search, operator_fcall()) // mock operator()
.WillOnce(MockSearchWhile());
EXPECT_CALL(*tx_search, get_exception_ptr())
.WillOnce(Return(nullptr));
EXPECT_TRUE(bcs->start_tx_search_thread(acc, std::move(tx_search)));
auto tx_search2 = std::make_unique<MockTxSearch>();
// trying launching the same thread for already running account
// should also return true as this is fine
EXPECT_TRUE(bcs->start_tx_search_thread(acc, std::move(tx_search2)));
auto tx_search3 = std::make_unique<MockTxSearch>();
// here we test what happens if TxSearchThread throws some
// has thrown an execption and std::exception_ptr is not null
xmreg::XmrAccount acc2; // empty, mock account
acc2.address = "mock address";
auto expt_ptr = std::make_exception_ptr(
std::runtime_error("some exception"));
EXPECT_CALL(*tx_search3, get_exception_ptr())
.WillOnce(Return(expt_ptr));
EXPECT_CALL(*tx_search3, operator_fcall()) // mock operator()
.WillOnce(MockSearchWhile());
EXPECT_TRUE(bcs->start_tx_search_thread(acc2, std::move(tx_search3)));
// wait a bit, just to give time to tx_search mock thread to finish
// its mocking action
std::this_thread::sleep_for(1s);
// cleaning up the search threads should detect that one
// thread has some exception
bcs->clean_search_thread_map();
EXPECT_FALSE(bcs->search_thread_exist(acc2.address));
}
ACTION(MockSearchWhile2)
{
cout << "\nMocking while search in txsearch class2\n" << endl;
std::this_thread::sleep_for(1s);
}
TEST_P(BCSTATUS_TEST, GetSearchthreadThrows)
{
// CurrentBlockchainStatus::get_search_thread will throw
// exception if it is called for an address that does not exisit.
EXPECT_THROW(bcs->get_search_thread("whatever adddress"),
std::runtime_error);
}
TEST_P(BCSTATUS_TEST, PingSearchThread)
{
xmreg::XmrAccount acc; // empty, mock account
acc.address = "whatever mock address";
auto tx_search = std::make_unique<MockTxSearch>();
EXPECT_CALL(*tx_search, operator_fcall()) // mock operator()
.WillOnce(MockSearchWhile2());
EXPECT_CALL(*tx_search, ping()).WillOnce(Return());
EXPECT_CALL(*tx_search, still_searching())
.WillRepeatedly(Return(false));
ASSERT_TRUE(bcs->start_tx_search_thread(acc, std::move(tx_search)));
EXPECT_TRUE(bcs->ping_search_thread(acc.address));
EXPECT_TRUE(bcs->set_new_searched_blk_no(acc.address, 22222));
while(bcs->search_thread_exist(acc.address))
{
cout << "\nsearch thread still exists\n";
std::this_thread::sleep_for(1s);
bcs->clean_search_thread_map();
}
// once we removed the search thread as it finshed,
// we should be getting false now
EXPECT_FALSE(bcs->ping_search_thread(acc.address));
EXPECT_FALSE(bcs->set_new_searched_blk_no(acc.address, 22222));
}
TEST_P(BCSTATUS_TEST, GetSearchedBlkOutputsAndAddrViewkey)
{
xmreg::XmrAccount acc; // empty, mock account
acc.address = "whatever mock address";
auto tx_search = std::make_unique<MockTxSearch>();
EXPECT_CALL(*tx_search, operator_fcall()) // mock operator()
.WillOnce(MockSearchWhile2());
EXPECT_CALL(*tx_search, get_searched_blk_no())
.WillOnce(Return(123));
xmreg::TxSearch::known_outputs_t outputs_to_return;
outputs_to_return.insert({crypto::rand<crypto::public_key>(), 33});
outputs_to_return.insert({crypto::rand<crypto::public_key>(), 44});
outputs_to_return.insert({crypto::rand<crypto::public_key>(), 55});
EXPECT_CALL(*tx_search, get_known_outputs_keys())
.WillOnce(Return(outputs_to_return));
xmreg::TxSearch::addr_view_t mock_address = std::make_pair(
bcs->get_bc_setup().import_payment_address,
bcs->get_bc_setup().import_payment_viewkey);
EXPECT_CALL(*tx_search, get_xmr_address_viewkey())
.WillRepeatedly(Return(mock_address));
EXPECT_CALL(*tx_search, still_searching())
.WillRepeatedly(Return(false));
ASSERT_TRUE(bcs->start_tx_search_thread(acc, std::move(tx_search)));
uint64_t searched_blk_no {0};
EXPECT_TRUE(bcs->get_searched_blk_no(acc.address, searched_blk_no));
xmreg::TxSearch::known_outputs_t outputs_returned;
EXPECT_TRUE(bcs->get_known_outputs_keys(acc.address, outputs_returned));
EXPECT_EQ(outputs_returned.size(), outputs_to_return.size());
address_parse_info address_returned;
crypto::secret_key viewkey_returned;
EXPECT_TRUE(bcs->get_xmr_address_viewkey(acc.address,
address_returned,
viewkey_returned));
//can compare addresses only as string
string address_returned_str
= get_account_address_as_str(GetParam(), false,
address_returned.address);
string mock_address_str
= get_account_address_as_str(GetParam(), false,
mock_address.first.address);
EXPECT_EQ(address_returned_str, mock_address_str);
EXPECT_EQ(viewkey_returned, mock_address.second);
while(bcs->search_thread_exist(acc.address))
{
cout << "\nsearch thread still exists\n";
std::this_thread::sleep_for(1s);
bcs->clean_search_thread_map();
}
// once we removed the search thread as it finshed,
// we should be getting false now
EXPECT_FALSE(bcs->get_searched_blk_no(acc.address, searched_blk_no));
EXPECT_FALSE(bcs->get_known_outputs_keys(acc.address, outputs_returned));
EXPECT_FALSE(bcs->get_xmr_address_viewkey(acc.address,
address_returned,
viewkey_returned));
}
TEST_P(BCSTATUS_TEST, FindTxsInMempool)
{
xmreg::XmrAccount acc; // empty, mock account
acc.address = "whatever mock address";
auto tx_search = std::make_unique<MockTxSearch>();
nlohmann::json txs_to_return = nlohmann::json::array();
txs_to_return.push_back(nlohmann::json {"tx_hash1", "some_tx_hash1"});
txs_to_return.push_back(nlohmann::json {"tx_hash2", "some_tx_hash2"});
txs_to_return.push_back(nlohmann::json {"tx_hash3", "some_tx_hash3"});
vector<string> txs_to_return_json_str;
for (auto& tx_json: txs_to_return)
txs_to_return_json_str.push_back(tx_json.dump());
EXPECT_CALL(*tx_search, mock_find_txs_in_mempool(_,_))
.WillRepeatedly(SetArgReferee<1>(txs_to_return_json_str));
EXPECT_CALL(*tx_search, operator_fcall()) // mock operator()
.WillRepeatedly(MockSearchWhile2());
ASSERT_TRUE(bcs->start_tx_search_thread(acc, std::move(tx_search)));
nlohmann::json txs;
EXPECT_TRUE(bcs->find_txs_in_mempool(acc.address, txs));
while(bcs->search_thread_exist(acc.address))
{
cout << "\nsearch thread still exists\n";
std::this_thread::sleep_for(1s);
bcs->clean_search_thread_map();
}
// once we removed the search thread as it finshed,
// we should be getting false now
EXPECT_FALSE(bcs->find_txs_in_mempool(acc.address, txs));
}
// returns some mock txs in hex or blob form
vector<string>
get_mock_txs_as_str(bool as_blob = false)
{
vector<string> txs_hex;
// tx_hash 66d2f912a652a670b5fe017144e5d49c06d3d0a936cc856a6800e917a7a0454d
txs_hex.emplace_back("02000102000893e502d7659257a90ed80c17c301e9039ffb38d77540b4cd9f83778aeec0a25fb579f1f35ae4e8be4e2a7deba8bce98e02000253ce6a03866ab6ac37aca5f1f2593599aea02989312d30b710a9e23abca922920002f9e102287b10bd1eac96db2d63b9b857febe315635a298946b574c1e0b203fda2101c8f0789807c7210708640f7e98f843308341893354cfc6c1d0ba5cefc431be6d01908691fb39d430c474e7b3047571cb37e6227a08725c7425e44e2e617cd159c7bfe640960ef365276aeb922f524b36c28e255e727aa169b82b3bd764fb200cb385b35d650d794eb66e5afa31815c40e1638dafbea6c09dfaceb54b81e828a75d13969fe405c9158af9a80ab4e6023e7903a9c892709bda237f7730ba82fab68ba0e003af064018781d94cfcecbd0fbef50f560ac14ef2cea4b4f09fa8025c1c92db6cd36d0f1165780254b75e7f5424ff36c30c742979d27f422a2d7c9610a8264d435b4495d3d8a295c524cceac951c31d43387d59ca8af3ff7213562b9c51c597ef5450066cb4bd532a83cd2f3d9499850bbd63dc473cd786f46cb163106209c872d39027ecfbc66779b051ebadc20754d573ed01a164028a2cfdfcb5d307e3dce438d079be072f1791a77ceff50624bbbbc714dd6c793d2e822b549b10631ed9e060f0e56af8e8a0df3910e1862afb2ddc895fe72d1eb45c83757cf2cf2a82a24e6530488a5581f529cd5e1f12f470061ef0fa07bdbe36f7428b9210499e6187ccbde03913963def9da138a01766528ee9e03f982ec5ae724f7a32970aa2dc942f2100e7b1be12abb445cac744711f46085932dfabb481d16c78d55ab07fefafa3160010c1f77c890e1b5903a983efa76bd8e73423e3f168c8d6e229be64e0375e3690eef5490e1004f596c95d365d773bb2572536d3b1d5acd5ee3da46ff2df807410cfea0cd9055d253acd0af43785860e261ac630f9ee70b5c459707e6cf5833950b79d46a58ccb2b23c43abe4964940a8822cb3a28b1a04e840bbded523fe8e54018fcdc93399b43c9701940a926442d2843e7ad48affe80e4f04a8f2d9010a020a2e7b1878bc7aff72d6370a50d7d6fbc383bcb77bcb8e5b2843d34e3c071bf70252106b95a75e0da41699a8e67d11f32cd6bd8bc3d035dbd719f50358dc5b88062f7d980612adb4cc596369b965dabc8b97dab6ca08c871bcfde9d76da708ce002cf29b13651fa4461e973ac97dcdf6e1f9c66d3bc058ebda9f890ffeec8a1f0c54ee73b7c9bcf5e53041a9a6457216b291c498cbd387783a9fb56fc383960506aca2f3da9d9af54909ae134c6ef3f42aff4db79ed6bcfc9ac7b92f0f932cd804e05fbf45fb3c09257364eeef3221099b873cba280f54e934836e1cc42c49f50ba3eaf9f2dfe4d304ba3b3afd357a90fbfd6a2e53f7d1039337fc2c8fbf996c0020baac4154b954398597e4dfeedbc53a058b216c165b14f40153e1aaa121c9007e04cc126d8d65d500a503c795d4f4b99109517ada22d88737b43ae6daa2ad043e13a08d2f7abd63aa2927a10f83212dd9a2a6e903de13750e5e2002515f4a01465ebdc85ec7e8848236080128a68e5f10de595cd9eb4b8404786c7905dfe60bcc5e2f9f5f658a9172ece554ed04866b236bc735cb6e98c5fd73853373a75205ad69819beccef4631cd847559530bbcff241edf0509eba254591e69e2d402900954736772bdbd841ab855c27b891cbce7af4a9e00a097d90f359f529149a2205d3e90d12f1236beea2bb789070f094a4173f41c525f1df45383825f32756bd0e289018362f035f542751ffb8b8f606e4d565f6c45c13d68a2101a0ace3175a0b34b327df464f3b66a3cef4ad83992242c2a848e96ae1dae89b9d19015391160e25daa73e66c4ad0cfaf44aa9d6dd73e1197aa3f9f07b178ad419ee2be8df1c0d6326f41d5375b19bfcb6a425cd40f08a5dd7eff241bf1210afe6aece867530085390e4c17b1ce098db3bcdab791684c572315fa868304961dbde219b90e9720f240a2a1e3c15f77bc2d48e81c3150a0fcc7ad3b97206068726324ec9002b2f0b35a4eeb39c225fd3ac3809cc80c8e43a53e2ee8b47effc8da2c3bd14e97f7b09b2916c1bd79c76c956c527e017512a749c39e01f9d0c42fbe963c9bb21ed4208d1bc5ea1a225e4a75bb63c4ddd0e3cb523855c6b889599a5842723855e09270fcf9372fd6dfc0d072c144648c60ddb00aaf46ff6352559e54a73a96a9406f20bd00d80a5bd13924a3354a1ea4724b75c4e718b75e5b867169a4b8d030ef221018d7c6ed58f2d1a5c90fd283e746e3d4e2f324485c10c88afa20b3de5037b9c0403e91cb80ef87db2220d980368876b949fb6298b87da6808306630d6c332870d8588bbc2feb19399ee516fdeff4a17c1af5ce4dc4f327b5a5a9a18e730ab470708fe71bf98537fde2f517469c4c25811b595586dd60fb9727585bdb81ace1003ed76c14c1958157183b4b75c0bd3bcb12cac6928fb9efc9e213ed0df0d842d08f12dc6cbb5e221a44050c889b94d96926245f83d3d97630398e9a87433ad5509ebd957884ea11bfe5bee1a1d28ac5f383bfb5c543f4762ddb6b30930f8c8170f67933ee93c524f261f757c03a74a8efb302dca176d4d65248c5ad30f2ab0fc0308bd843ae520b722025873cabc10c3192a8780fbe6a08b03d2f6043a5c97910c8a1728b481910506bf58fde8eaff9859f5f61b7acfb111bea311c40354aac706d39c4f62ca060accc542d33a4675b947a5dcba98398b7f8d6460ff4fff0b8f03efb4d83b1d7e31333d92f332a1c35177621afd80933f5fbde564ebe77d534c0e3073070ce320ff85fda44bce851938cb841d6d992f39567da53fa2c62a71f305092ff0331b693b1d3ad3f98ee141a0db566fd30c28e12b3255b8de48d645fc0b4f42cc7887a44d2c8fc01854a3868557c0f71e2e654bececc5b29aa045e57304710630bcaeb3694f14b8baa16fccef516dcf2676e2791ee4ff0088b88f7028010977a49607027eb0ad89916f688b1848164e89efcf2e5072aedf2ecbc9269206d7c75a1cb5ed49e0e11d68bbdf40aa3b5e5932aaa46278d62b7f93fb7653a803c7644da8e2e09ee3fa98d2aed71ba33c1da89c0cb720fa960005050d3430de07adc8bd8d0bc33ee0d89d7ca940ead906aba5c8a577d013d1b94bc4f90fe2a50e6a8edbdf5ed02c98e76272ab5d90dc804aa363313279939a353590a76e13690176482c8942241fa7d4c3a4d70ae49c6f8a0838bcfc3a8e82bfa9483fd2224c0f9de79faf15e5dc0e577e10d9e05aa18147ff1783add756e22678cdd96c37750876e9260e21332d1da8c31a8581bccfd02be19ac621517329bea3f1103294ac056443e09553084ce9cab8bc0a8b511c8cadac999f2ab483d51a87fb478ba21408da926d8229dc69535a1f5233717b0d36e79ae61682510d7103fbce87b45b18086c9d4fe270c05a2f66341c00c756676903bddf3789802e349e12d8ed8e7f560108af19088e4249d16a8d00bf93a56b7b56d4082451b9e2e4d398795158b57904d7f22e9cb2e814c26d46937357472471eb546f09b25e3ee05f42b3746c12550c7e3f265d3d9bd6c180f49904866e3087439e6da9d82b4cf13fbeaaa7721de50e4d25436ed50df9bb25317762d1ff558a2492e7c0b8549ad751c4177966b2760801fb37687e0f6b86d52208e2b614a949c548e9148be4ec7b9467948e6db17b03fe4f2d04a691c165bfd426268c91a8077ac340d5f67e59eb479a1ea017c282059698c3a9c3e17a8410c01c82370a9fb479aea7a3e55dca6307a524f98eaf9e068a1d8d568b9315c2e8dc8f3ae222d697c27a67f4469c1a356eff85d6fb6a8d0a4e4c91361f2b4eb3c29b64c8e1d004f73ed4ee0798537377601f065fd925790b4d452a92fbc03c47d14d620cdf0d0446faf4f56d44d2456f92cfd975bd96d40b2601ff6ea2e2e79e379e048726d2afada55f5ad02cfe3d69fbdc2bd7f75e100d14c4165427d582ec363c461724c12fb2ad02afa3790f112bc5f2ab2ac2f5f90ce95aa20ecb02ad14aa4ad20e27e53527118cba1fde774e1dc65203e678c73b028bb72fd536469f3f211ab525ccc6427d8ad459332662896485f7eeea9441d4034173b977d6945d02eaf3513c839478b56d6d06f281d885c50a0a0502af393a0fc07cb897376e5cb08bb98199d4a15932c1f5a6cb20c64c1e00fa1508360267019fcbc8ce933dcf54a04e9b0681318ba40308ec09186b37898caf79a5515a970ef9998ac995c2646edc948042333ddf61bbf2c3ff7ee13aa57a980a3c78e294053343afab17b2d95fb916bb6f1a1c1405ce6bb7495121235be03fb2fce33ff40776c7fda649ef00c01874dc2d4afebec0b6d5b607928b97683ac8e31fb2304805f8a0031c6d7497279f1f9f76026cd746c44574af58e33816d23ac85a24bd8b014b29cd98e4cfdb46c1cebaaf75b5b2c8d258ea25f455ca6cb01aa80b056f830659678675a254f7d3d57d01e5382d3d710a97dbeb78d2fc98db460ce305e972022624e22db3b348f39af04072fd1c92bd74799a9ab34a5bcf9008719ae429610947362c69fe1428d577afc747e984e29a18665d40831d28223cdfadf358d35109129e3d3ea0bf33b00e0be6475b304af4d2387b04805347286bc17abfd91f19069e1be8d5f05afbb9dc282aede9a04d8d4ecaeb84cd7388ceaf8989c20c36780990beaa1ea9cb41f6a4168948f3ab0e883b63d9b14ba2a30dd7682ff21503e5031b397c28f97649d183c79711ce78e0d6c823669811a6a502259c4c727c920f0a8ac6e73a36388a23e9f1ed2e11a02721cdfc9597e99260a6563f86b068c1b80ae28a8266f36b0a063437e6741ac3232badd12e2784e8bf7a243b69a4784276060227a9d034e4c926fab1b00f85ce5cdaa851fe8a0a50d70c4016ccc93041ff06b635ba6f19f7ff77854af6b0a611c491b3192ec96aa60be3ba8c8a7e6d426a0479f2aadd1a8a18288af8f7e32e210e80a91b197058087ba90bb120f954457807099beb40011b4647a479b670a7e8b1e2f0b88bea8ddc824dff3c17bf95c33603e17c67c864818af2d6b59508be312f8bea8ae00c9a36b0d9eab6b8ea15303f010ef906543dbe8e06c175f5ac93489e52180be909c66eaa537517b4059159cb00f961162b81bf3553f544daf5893b2dde493d4f8d6dbaf62b853c9b210c60410deef3e12b8c294e00f4b750ff1759a9f5759bc7fdb88e06cf7e7731c155839a0ecfaba7b301124d2165d737f6271e3847aff0a843ebc1ea27f429abc61407d4070cff8093be541d24dcc769b1d9b8c3fe569b83d6828cfec2e63bc1f6be519b0da11659ca9d8c9a706cc65425a65eecb156337670bd7e1d720e674d19583ef700dbd61a54a9fe4927bc3647e3fa8c9ab1616093ccc2ca361f7475b9d2d3c68a0f590997d5814b0bff534e5886e2318a8acb4a41f0d6e163834f1dcc941b05b501b40972ff27d45f264f166b8924fb3b00dcc363fb32d419f0ff979eb65794bb06e34766763a9ef058cd0ffc49ee0c855f32beebe419c23f8544b311458c89fe0fa87431dae5360f08366c8e8abbf31873651ccb294cec23fe57c933bc0da0f6085899594a3be70315bc6fbe4c89e6a3f6f5d509d87743b02e2936ed00596e750b72f9cd6d0fd9c06e123e9855a5666c91a2e0d91d70d41d88c0018ffca0b5dd00367217d6c2cf61b2baf6cbf2221707e828f3eac127887d4c89ce719531f9950342547884a1e39eee014ff191ba2673d9430ff5108de1c103554f695cfc9041034f66f673e367e88eef9308d691d290d0ea50115756b5d33d73d264bb3d6c5601a99797346e8ac783cc5d84abb6a1a7af70369fe0c9adb268900a580d2d70bf02e7dc873d833ba1a09c9886ebac18e1742a481c9767193b3c4dd0c38f6f70c506d9c808b662be42b0b742f6ac8aec1ceaae2981321db3257e3101bef94f10aa04ea4f9c7e53c905dabf37c3dc24fb9d9bafc74763308160440d12aad3ca451d0eb209e7a93875e2c8ebc6373b23ff98fbaef62bf86c19e526fc25cd7e1ff3f90d8f85fa46573252836a0b9704bb672d93d5808a8b0898576b333bdfc0c71c700f35fab71afa79e58f32b173868524de39d9959081d2b2d7f838dfd8d78f3eac0ebe5e7873ab61a69bc92a289d81bd6325a82c9598912c72e04d9a332c41aa7505444ba7549ca2da97afd3756f665c51549612d2a763e5a03b2d39e42c8cba84089eb6ab62cb1b3c4858a45affb09d4262eda847c6948bb82405b5755989cd54014468c55b54f3ed50827556b7ad08e0f4dd94a07e5bfa1fe996d6befa8ce3b2d57011d4ee85b6796497ddca35c185955aeddf159cff02e328c2ae99c92898f0e4aec152a22e956f705b63b113d67b25e0c80500fd331eb55fcc3a73d81c114e0f9bec68e166861d6884d8f2748c15774c87aa43c99be738497f8c4ab84698e8c3f20166597f2b2bfd00e0c7f3eb44ba108f4b3612c62859cbd68f83f1376c69b00db4fc702909892dcecf432e5038c8d514430d0506bdaec526604fc2170e2c2456490180cd159206fd986a3e49cdc17830287e63776ade1dc0f2b63cc16420af9d4155a9eff5278b49acbf950f444824e49b34071a8d11ccdba97c728fd570c1b5a7236d5a8e655584dd596836903a0c71d612654ba44fe2285880eba09b607699ff1183208654af3560e49dcbe44097a533d1c85f777e32a51ccbae32e0d9d9a69189bd7dcaf1c0fa463f1cb637b5d04736336026356dc6ba7af3d802170d3831953daac6b76e9486fbdbcdbdada9869f6666f47488e81032f856a0b3aa1ce1787b84935807b4b6d9cad29095c4910ab05c422018eec87277db24a66010889b59fa6c8c4799c6cb960e0f5803167f30f6c9a5e0b1aee7d7fcd217f8235e1ef4bab1cd455a26463bd86d60dec624810ce479f445bd02b39590f29844842f4b92a1ec5e05cec8f6cf230b5ea9e5915af9fd1f402238af5140401b5e0aadbb044ddb0785bbf12c734631053aeff29935c987b2a450dcb032cf483bed9a6d1466979cbf296d30ed95a08da9cff2c583314f0a7594fc9a6b56ece87ca767d6a88261be5b520a787f850e9482da8c2b4d814cba7ee4dcd356354de2b2c1dd2a4d78e35849d81dff4eff9905436e1995660405e29a3801102602f13cb39121016e4a0364e2e34c3f7cbd8ec86ba68c37ba788191a2eb0d7021089b518858a22f8713201b9081eaa37157256d185fe07186ba386b16098052c4845fd7592a73688fe5347c3308707c8b084c3e2ccba74b2f963fe0fcf91019aa7a466a2b8e5c35518ba5166c3d4e6f3c1beccaf812e8d890576f8cd297f8e3d2776b95499ef7950b6df3978617f27e25ecff578b2029370e4541cb3d74f37e2b240d53883a861a8c19f33fd4674417d6556a3bf36c6030aece6b010c4886cd5ef9e6a9d52ddb77f9d3f9262f2b29c1d364308a1595e89d35e8a718eca126e1df21b1241ac8275add8f841c33b4a6f5ed385a92359734a3f1a6a42ef7a6630ec0d7b5287a61d216bec3285f0f1247fd4769b85315cd4569ab3f1a732c2bd5302218a7e13a567b8b9b62effc64d6a8aac1249c16c1d007649ad78aa3afe95677a764f96fa1bd9ee16474a456a555464d88206e4caa169e580716f8ed09f9a731152e11e917996c2d6e9f73842e67a4df33bb23d8eedc2f1289b2ebbdb4311daf413a8f3a075adb74121b92de2fb206d852134de141ea515a688feb2133a6f1c0e3fb60b7e2f5743582ffff1922472f2dade46c96ebc5d1b84d265fd235ee4408a63d050e87517a97bd3ea46c7c4305ec155b8049d57b7277592a3fdfb34dc51661c3e06bd906e605463ce949f760b41915aa25b4d1523b8d8ad83d7b5ade2497f3a83df125ebf4029cbe22f1566262184d41b330cbc7791a754f314af851a91537974395508e92fda79c34ef58fb92f893e5a3b3020780b3a76489a769cbf2f8c73a559f2d467b771beb73f754ac108e29e42601a515c59ba7a4bfc03e6f79f29f15047d063003bccb5c2699fd0e408a727d3a5687fd9dd4aba858ab51a82587e1b88f72304952b25ac897c816f375dcc764fe77023907ad10a0f8ec1f1ce730bc81f3bf3eb17534ba5749ab74a9af6f95b53da548e6d18525cd5f3063eea5ff5b58a0d1b1c50a0cb89af5e7ad294f24907b8c27ca42b6e56bb7cfbba8560701c37dff51064321b82e796e634ce80338c8ff4358c8fd505c432d32a422147bdfdd0635abe2f1b8b4cbe916fe1c96935ea5a0b77096c0f67296df2c3e8a58fe3fdb1938a7ccaa6999da1ad6ebf2e9e68458dc30d1d50356b06fe9681f64ed1718790286a702de58f575c8fc587c6d2b4a00d4768742dfada4fd8a48d86ad427b7c19261bbc206044defe4d9a34cd9cacf71127588b15255ed38e2beed8b21ae86c069a02c0dd918b0ddb3cfe1cc104df3ce558579297f9a346a7466edfb932000c9e8533a996a5529b35f488f1193d5219ff9df91ae2ce71a06439aa41cb44ac0946b4074898a95be03fcfcad6c5ad11dcbdfbbe0d3804ab7f7335afc0a756e6c825d767580f0f0df0bbf50097f921a08286202ecc427d3045dbb8556d86b94feef72cf56193cd6ee0db2258c668ee8da21894e02aaa3ffdd95987f5e2c7d2aff75313cf16812da97951c578d2f5267933e945dcb756af936be7b2a68ec833bbe5029fbb6c503aa0abed325118d2869817338921d8a25dd739c1e2b5d36516a018d7df55c264b4fe0a1681adb63f6d4b1fcdb95f4633837a595fb2428d2b3df74b8c2e1da85041dc2cf52549ba6bde3e51cbe4a393719a5a790c2bd7fd3a38f5a004f56753e1380a16760b5a11656c5bc7d0a6a4efd9b9dcf82b08b80742ba93db7ad56b4c77e45caaa2939be0895d0d304e28190f08ea9f34bbf1c88b308488a4617d48284d700ce3330bc36db5b5fa1730c25b875712a085a918debb574a6820c42034b84c036523158561fa388f4d86793c20a0cc40b72948d6a2648677ca008274fa265c4dd8f94cfad5c13c375124d19bbc2293b7e688bf56a9d02e5a583c16b95e4f3c54c6de5bd5238cd4018add7a131465f06279a2e76bf2f3f65cebdd017c2275a8e2ddec4823181e0ccdb1fea75d994aa99797d03ee0e410c85687269cbdac6d81b40f12e9ad245967ec65a4fb4cbff04f113c3ae74efacf6d6eb9358ef866e1d99152ad15c013d8ef52ead9524885b7417d79f26533b34e407c38a07a8304ab26fe9899112046fbae756e50a751ced036aa85dc215e118a680332e45cc5af9c353cb611d640037cd996f521735681457f453a6c0fdc841b52de428da55072b999b563653cc0969e6185a92383470aa305280782ae50264286c553844eb3c11a887920e29140dc2989abe0931aa826e7f016404ba5c197a798e8ebafc17bf5ef4cc66e798b405ba4bc8e700d38129dcae823bbb6b7789b9125e5ea899fd641d6223cb9a17a509d7d4862efc6c5f78f9d290cddc4411c76702e2c9e2b877aff83780d50d57b304547017cd1e0c0da012033cb35733461c8b716a6785ff2677c7e01112179c5b0b2562ca72f4eb4b2c14af2f0b979fdf3d7c277b64412c33d4141c90dfcdcb900fc06445b9a7e8c3fe0a8a0c2467458b38bca59663b6dcc496ded912188814500f1be4fdb9481685d5d6b391103e2a82da7601fc1801b2a42685ec3d9d25a61d0cd947c3f61f6e181bbdb8a050cc81566d87f14370d8c7415fee04d3d73b445204743df1580f4b8525e3dcd0d52507c0de9b28c5e42ee90283889e1a557f883d0f1e86dbf20ebea03597409ff57d3a9269426ffed2c6f91e3cbd420f2481eb4f03043622c286383f2ca9707fc102e0a8e5f3f382792824d219ba4a63a4a012f0050f0a4e0a858eca88835540a6016582f8eae0344e98cbc5ef21f2f1a3ed289e089bb23ade539ab995322a282bd213062dfae51d2cd32d138b2e8aecbc467c0d0c3847d1426ee3ba6b04b60b0e3a369041971a00d4d404563b9d5e523248e25302e117c7f422c8e10ce859c14120fcbf766d3fffa3e88b27e91e0a333df71e830457228c97394ab12385e03f973b1ac952f3f7c156d18b3c070bc34f1156e4210144a40b097efee3eb5a526ea96163e1db31bc672ebda2aa2d961f6f6a2085c10d439aafc800e10e573c6e28d1c75df2bd13551988e97e36b1dec8f3709f86ae053ed991d2666151ac9f64e17b88fb2c842407e33cf9df8b25cca6e86ca21b60039ffbb6cd24e23a4f44aac154a3880ce8adca3ac84bf79d4b1ff952aa5f0e910809972be0a140cc0957028ad0fc77a81b81d30fcc4e3449f0199912b2a94d2c096693c5644a46532a37c57ebb7a38f9fc114ea6638ddc284d0080b4f1fa3d1b066c1e799202dc197988d8194532f291019cc3a92daae958ce9abc6fa07dc6db098f36c2caca1e9d0d5795b2b08014f5b279754d74f362d959ad5acdce54ebed0da1f84c815277a1c0d664ca1d81a4010ce7382ecff940734d331f940777d989027611eac40f5eefc4068daf4c980db7c4af7ac9519d75ce0b83614362cb02c5042dc45881001490790f57b66a19098eab7714976f3c8580dd42c1eebc5d9a030b6420b4d001f21534cf2a8c18ae2afec5c6013a676d452122d9208e20fc3eb405455f646db7f0905ee631f221f3701de9d156aa41109f6c8aa491924e9435e90fa61ecfc64de2bd1eff8f04d15c85d7e8c82dbe276385d172533be06936b50b04cc7e986d2573ec4c5ff8896b21c224956ea90f90e288e3607e6495af1d894e092d7f30936d3fe5f48e75f930c114c762f64a7b677f910dab50c06cdce605d40378bb209ee90870ca028519667c76c3c4a537b651f695686c86ee624f4a728b0cb17df535ac4eff483ed3d9cb598dfe537156e906f34416d83ee12944f31bb809d68366c659bf478335ccdddcea68edeeabc1e688ce3c2a1619aa90b98a28b3022b690f68cc65e298a85179d42170faf77773bcc536e1f756c3f4637d45782d0389329d81cc0292a4b3f3a2ba1f48c64ed9f3e7c8de636a6cbace6e0b8fc4110536b45455af811394772411adfdea614f3e56bda53a6393a200fd80bbdf6b7f0cabbb5ea34659758a19dc888e40f22a8ceebcefe258e8b0f1d288a456bd986a06698e84492f6d6d6d0a6eb25affa8c972a59bd71bd09622f23f462ff9aedb5700cf5a89c441617f9d23848500cd00288745bcb5755f14cfcc0932d3979da86e0c9814bb47c60d64e1051acc347b302f4b64d647fa98229ccd8b0e55e5c93fb7096f67f0c8e3aa8ef3a96a15d271c9c6c53a9ff5de97daad6dffba0eac173de0072d1483a650bfa23efefe594c6c5b26e281c5478598c72653f132d6d32b25d30cebaf569676b88c61764d60ff963f97c9cf4b6287704bc21d5341c1fdf0952d0fb56347d5a6f07cd6772a75df1da0fb91c812c17e9e97cf8c8bd6d27fec79cc0042c72e06232276813937172a414a3ef6576629c9853318449bb12cbdaf89b80018a72676420eba588471f170a7e99308cbe13bed206f6eb373026a9d1e25cd0f958374a95c46d0032c5ed261a01c232de78439076686cde461153b74daca4d088e8938b277b0b740b3569ead6c62c8ba49c61073ecba93c810326652f6a002068184b3d6367193f43015051ea43e3492271fb5e80f0c438e2773502964dd7f0809e4f425a03c0ce2a834668e970f317bd57c89e3fced58fae191722d3e1fa10123dbc4d7df61ed6623ccc54e59a5590a3d9ae47ee657d923abfc40e1554c6d056c4c9c9645ed2c0e83f5907e5ab5a708d52469c8bc6816383f1b9e2aa0e8cb0da42b9f8181f3043494a1c6150c738d6044f8cc53bef7f4531e691478d44e3d02a7d5486d01ebe9528b6d33de4f85c8f1415783b10960a22a8c894f2fcf686205fe13feb91158f9e7470be6943895ca75600997d2085a0df65c2719fd154c7f009defe0ea89e024eb7808944d4e979e693e0764b29d648cd85b486b7dcc8ccb03299462d349cc886e4e7bad65f6570eb3d79c3707275ebcde7eaecb6baae2f90bac0393434c3f9bd682140c4a52f8296fcb5c22add736f090bfa2ed96c7836e0b92b030385f9be315ab88343b2ac00d3d5d7ad9018c1cae53406c5725d0834300301ef7d9d7a8b090b060876792dffda5de795902fd42b6e94fb8d41d352e840a4d4b4e92715c795a35d5914070d09105356d47bf190521aca980483f83b39503fa6cdc548ac7df640a493137eec46b3dee89f2c562717c2f06654dcccdb3d10546240fd7672fa4380a3b4c76e0fe8e071c810b76d39f5c61a9154a881f816e0783e6ecba2b0e73248a69e7c6ef9dd5d4a8d92bbb2145f05db8ba1d1451c1b20b82ef2fb491d1cfb33787af3fa657ecaf78406be4277886dddbff8ddbae69490df3831fe063c7126919d16c22a3c15964175749b223971565fb1ca37c8c20c70ca7c4d405c6f02f6cf8cba279910327af8e76765fb41c007f1c78ccea6a7e100656129662d981e679031a6d2fa39a6334e6965c91c976a7f5e233d3615cffd50c459929c63bbe0a2a0e8b796a2f11ff4a7ddcd7c8759cb746f19ad3c6bbb597045fac7964f7d26e73f0c5e8286a0d0e1ed1f6f382fe528173ec6bc95d6f9b840ce1c1b7b3f180eb0c6e4a0d72cb5a520933b61d498767e49b271f7d7f3c040805702343ae06fadd5cc7018000c1f544d704f98b630a3ceebf1a66b5ffa307d50ce184bd26be6a743ea69ef96c88f6a734912bd27774edce8d122a4e7615a98b0743afdcbb7a3b4450590390253d49d4e1837ba1642ce89800fae99aa9c97d360d6706e0cb070dc3c2f734d7db2a2973bafd31abf13813e7311186e93cf375240e7e9ff487076a323d6448e210b7f5231a473e5b9766c21f60b6bb945b2a3339024f5145b3fadfbb025a619e18550c2b38ce948f1346263d617dde2c2fea38770eba533bb76111cea020f7078baeb7fd781a95388c33747316961de4620024f503b2a03d082f08c8e11a905af36f9fdef00678d08f02365fdbec68605075ea14001030abad02deec010b80b71a4f1d532e24ecbbb9beeb8d2d1106c242ae63670441aed1df562a82f0b81b3e33c9f1297f7730d08c26a941a9a27aaac009dfdb07c1b07f47c83ab7f9beac324a759f87186dba9857c8240af52b0b8ee89084ab0c54b78c659690c76325e9eb658ffc4af50ba4eb149757625ba19497b3f27a210cd1268ed2b95eee08bd910a90fecf88b856097f7e5f372de53360cd71394bd1023543e0146c20f4454f873aedbfda6d82fdf5bcd6d7e2ea0c9b65142a1d4bcf05691dc7a0f8a3e12ab4c7983772a131ea3f220c37f5f7b2982f576857f9bd3e066bb210c43e19e78142414a3cc82bf4f76dc3390c7d0211c60a6b666a953b220643f97e2cd9bd9402ef4b29ba579395b134a4d25a10b955cc30a1ee29ec4aa200a9c872983a9869497de222cb59afd8b45b4fdc2ac515a72b81d864520645190f6551f910425a0017c0b1387660e38de4263de1a8773f07e057f2f0e055d03202c171769e28928b61e18b87b47d843015b3dbcadd3743eee978944384a0644d070b9b9fca67a1675e1423d332197d9438ce31b75198ee5573d6f09f4253a3bb0517e6d592dd16e7251f460213380172b27fb9bcf0dcec535ba2d134029b98a20ea5ad1915ab7c8b357f656d8b11df5df7cb88b7f6c30fb97c2dc302603adf6a0a733cbcefa1ccdd0fb983f0963dcabe2c22c9848f64c741222bb68e1ab40a820af18ebc21087ad6a95cd00204d2bc0f76fa8dd7348c6f13d3883512169e4e1f0fc172f535d3d17ded09dda28afe59d8e447c75dfee44366400d5875e0fcc0f4067543eaf6a46f984962e1964e97983757f50b678e7296aeac0510f215429976070b3609e3edbe92fe425e1075a77f5a1d26855fe252cf251d6fbe04968438cb0a9ea05391d9714b74d702d8d4d2f7d5687e7d809c3ef717d5e9e1c69ee067ca0160716a9161030cfee97ac9e3e2e20ed905ee924d1f93f9d13bbc39eb13e51506e11537c4f8aa5562389c6a768941c6c1677e4dd03fe717244c5deb2038f54a0e653dcdb787f2f3e286e4f319189a9d4f6dbff80a59f6abcb419c9e6ba501ac0c50b58bf22c37e77b3f94dd81b1664b63c19cebdbfb170b86dfaed2b376fc3c0b353e53cb64b79c0b2fdd862404e4e4bd9db53e8374a2eb6ad2fbc73b0a50c50476e1a6b46d59f338ce560a88e7e80f66222f067b723f18af403b39c0d71f790327643170f4ab2a9fd46591e117c07c16cd3f669a1fb0a2170c4d5917d600220e39692085821e32afbb1eaa12341a03fdf4cb7efc9343678c2b62a20222c6550d823abd5de71d680303efac4e76780cb87568746a04dd38f4be5074f5b352f5086053425fb2603885f53c1b38fbe69d813bac12c739529c9501451d5ec679ac05ea611c63af4819b0f4b9a7ab61464e8c420509476cbb9d0a89b19f451632c10c0f693853f20e8789066c784755b6141b82c677f484b3be6a909e350657bd060d45bf9e8316ae5d79ce65b6e106d2161ed1ae9c78c8e7caf9181861c97a6c1608bda7e5211f1fe5ba699daa20e83ee364675ed412fa34844ec55031a9acc3490e3021c19d000b3481a8c2b22ee3820e494485346bc4ccd0b6aff4bdb729d206003e08935625e44a3f2093fc08306510d73ff821668cae52c04e73caa9ca523d0ed0e8f65ba841651c637f3527835356e4180cde97ec1c16c17355cd5583ed4c08b4631cff92187fc16556eb42250ba99145da071090dceb0e5041527e3df0d20becab675720b8a1a4af431028a086c47a9e921fb6f0a158450534886414d2e10ae42db9bd4de7c8e7e3975405ab72a7a199217e8edff65275b581da7eb7d24406688ad8f7bd9adfe69e133b16132fd47a802f04d6211aec46d4c1455434474704553532a4ec207ba31c00d2b7f84e246a2f77b9dfcc7b439e447c2823115ae1006c27714b8267944a3544e5c5ddd223ae8a57c2b96a04abf604378c164a666f3f0f7b2dc1b9c4cd0f767ac7e216647d8ef4797fb768b893341ae43040d5fda29b8de9734697518d2bbb736d02254e463560302008f609c121d0df3c0d95574fde5320c2e2775a83856e3ef46ef5c89bbe9356c872d1583dbf0e548404ad4de4d1b739e900601ff37c789f98a9faf0ed8327dd94a53e38b5e8e343a1562d421655884308a713ffcb68b8cacfba2a58166a8f316682750349f1c9781ccd1d756e85c216e3032039baad24507120c08d2fa0bfccb2b453fbe2ff970823584744c4317382b4692bc2acbe2267a82de9c7f63b1000b4f23d32e36537dbaaebb5aada7d3c3a169d04226da747be43beecae578d6bc54f374a6c455cb177c0e3b7273af2ea976a02ea366d6d96260617a2b539c6577cda8c69a7641e93c4d5e30449e245f15e06b82bf90ba5341527ca05df9a38497436183f094215d9a1bf7a9d1f6120ee1c8fb497a58fc2b19bf78dc1a39e29c502a0541a85783602193293fe5981bb3cecd64bac858d159ab7a5d6db44b1fa48166ee97e13ac71ea013a599d314fdb01be050e1c3b34eca2d89ce565c93310444128721d38a3d0c94127ce6a3df6866817de19dcf8f8ed353c153e0ccffd5ca45b2164d9a791ba9183b3c4eda6e5e161b49cd49e82da9946a4c4b5fe8fc797d45ccfa0c1e8f1e33c7f931c35dc1f6cc5cf0506d934f6bdc75328a7d94d07913a848d68b77a128ce6abc8dc8653e634c784f3b910981dc79e8b2222d4b5dcf997a1ec24d9dd22a966633583732dd06b5e3efaff344dd9cc0321f267e4e0a49988370ac66b31910df7eb43939188b8c33ba03a491f07bb2f579e86e2746d9ff6184d9d73a20cc40f2d0091fa883e5bd2689be8610c81602522038e90ff4709cc62d5cf1a77dcee5e7e1d924ef1a32fe89b7b2f98f7f38fb5130ddfe6085c4315ab91dc3df72ab446c957d24ab3e91bdef551133217232fecc3648538ae8b514cf02ecd9b516e634101fa6774e892dbf9b066f4a860d51628a2dc1be9cd2ea9d42be2ad629189474cc123b82bb137da8bd027bb042f88f9b87a6ae056c0893fe7377ff565cc3e073cd67a4d461e89045f06d123e3c82d0ecee0b7f765e227665eae7d8a86be35c7c5dec85d835e7f317d4a22a47b2f7a5b1a08396ec67b1478a732f7a47a24e318680d9b523ef634c3fc81962121590da10d2f6c06316ac0ef620f843ea0bb7619231f3185335eae2e176940c121d298e1c42f08c4aa087e188ce24a73b4adc1feb285e529bb981b9043f9796d9263dedbb40964546fc1bb2449d01cf827e307ed6256aa213e722bfd4d29e5a733ce9f698c5c4f4f924d0bd5c97f9b547fe6db698eaa8ecf62242cb625f726f0205c0af7a98851d3dd727e1f2146ec481ab882cf0a30b60e05411884e1dcb83fbaef99cc5b1e0f2036098f4d65ecf010e4f6327e2db16df4fcbd225e7f50c4cb665eca4d3b2ac04e3f803286a4a3a8da895367388e7521b6a165f2983b19506bdddaf1d27ae76c4793f18e9b1695d09f520b6aa627aed71a748a64fed6516b638b13543814263abb1709c6a61fbe121b9384144c63f4bf67fb6a63ea9ff60ecf09ae07bd09208abafd85aa7feb5b763420d53203e7aa655a59365339f48a2b8f80683edf76cf055c95d18fb315a54a555d9de2f32d2b0653be8614de12c830f643fed859a95a5d2148d2b2b0fee4857ae89b58323f824754cad2d1e3e1bdc84fc1aa889a9416a5ab41fcc12c4bd72ad9f55e2da746ec1b92c18f16824a84b420f82c196f2327fd265e436638e96c5fc198987895fed5ba030532ecfdaa2fee2f05d757fba272b57d95d3c6c4131e6442fbd446e0aa3902c78898b9980ede9e44830de35fc27badd4284548afc35f78346c28b3022c97d3222ff64044e7d901a205bde4fd07a70ecbf81937f6eef58a6ccc349c57b33067a01f2015244fa6e46b342d261ab980fea556d6ff9b88a79cc4e44bb5cc8e15308cbe24c37023f8cafe94a7fabd896daea4f7a3afe0b2b332d1914a799eee70107c316a98f3f65c2a0bb0d0702f8200da3d94d8e3e73a7078715bb0cb3dbf86339638ff5240b1fc4bec4b9d342ebeac752f45fad004f8b045ca61a0300d92461408352ab44760fd0c4aa2e607ab13c75a02c223b5fa5e1cee20ebed706ec2dde4cf572cf840937840ceedda830aa4aacfd87ab71fab37312d3ad07df8def96c2b74c451157b6e65324fecc657f1edc0ade2b7c45f789beb3293e9cb82db77699bbc55c07d4f6397464621b013d743c5054f2c1712f6576cdfacfe1259334b6c012de7863d5c023e426132c9f0840d6b005821c0a33c5a06d68937056ac389bc08524abadfadd5c703ade954b75b63d9c47f7eaa443147b660e2664743ee9d6a68ceca68029e55fb5be7f668bde18f5dbcc53bb8ffb1f246ef506625404d754ad2c25309ccc5868c29c75b3da0343e48ce3ddd60c68b6e369a10a1d7c7c8567b9798f5e60c7e5c175200209c2053d7751963ad85c269d30699475f1153e7d1083c26b5630e4f57ef76047ec2ed3712cc2d4eeb2f843d2947c86b73c3cfe62c2154129103c8b4e82a51f2ebcc696f0a4e03fc645362bbf9d4c58318b7e6dbdeb918303154d218d52f5b56eb30f1ddd98a26c6593cbf850651e9f54812bf72fec68ed5e01c7da6e4dabf922d8dd358349970544cb2c14646d25ad7b8e5eff4b7a052a7c7cb90419fa88e6a0fc6ed6733ad3b49205d53854bd7a68260a05ad1b352f88f6a550a16d50678113667f92a93128cda668214d9bb9af7e4e8c91849af8716dfa45445a17462b8f16b7f4dca0a644ab759487489d1769b8aef130ed8f6e8cc5158e896e4b7e475f9f599c586fc4149f8456ff6bc89d5ac4acb3eb983460f39dbb155fed907f858b5c6ce384a14a4e3ae52bc15843f7e8841fa09653ee512306912c7043d06eff98a13414da1146a1f189d22961885decb6059c7bc93378990e9b36cdb620bf0d7756b73d1a8a4121a153b7f7e93a67448cf189cb03d30b33be3b7df0e8001733b812fc4a97b2e404c2922b9eb34cd3fe5e59c28746f7fdf71be34c9792007bbaf60fbd296b5f2059f090d0c76f2024e914bf0527615b0010494019d0ffa0d77f2fa5811e79454ca8e9d1f681b16457f6610cd1ac6000813c4fb61d7ee0f026f1e38bcc9eedd8af3bd0a81acd0631588768bc31d56a54e117f82eb700de607372ecedd83fed911ed96958ee42dccf0490250a0115aedf55aa16db8e8f4130e900204a2ef1a71e397c95bd7d74ebaa771d7202bd40df4c2a91a8982e2ff530eba1085d0e36656109b771cda706d3744fccfe81bd7c35f896e7bd5489641f80a00f11c2b17a1acbc9650681bb4de55e513b1310a02887b0e19296870ee97b004e0a436dfa9fb3c31e6f45f20a0331099cebfa7c2f6931190219bfe24726ea805dc533141e478554e0e7509feec2bff2120ad2319b892222e591120c8764ae90ce742b9ce523d76adc9ac8ea06a378cba9dad93918c3b58fea701f2ad3144830bea907739e332dedc42c13ad9d787db560695bd5f1d60a1924694d3e12944f3048f07d39778166b2cd7fefcbb0effd045681080503db99ce5dd3cb54d015ac001");
// tx_hash 8a7e09ae4bc4d85153ff85350da82d076461db61e94b321fb727a0fcdd96e8e6
// this tx should have 0.1 xmr for stagnet wallet 53mqDDKtVkib8inMa41HuNJG4tj9CcaNKGr6EVSbvhWGJdpDQCiNNYBUNF1oDb8BczU5aD68d3HNKXaEsPq8cvbQE2FBkTS
// viewkey: 53c5850e895122574c53a4f952c726be3fe22bcd2b08f4bfed8946d887cc950b
// payment_id8: 1f5d434f0b34448b
txs_hex.emplace_back("020002020007bcaa04dc8d028f439601f51d57d302aea425427e03cb7243e20e512bc03a9c7cf2f3a3d6178e8b4e3cb4930945d710020007cd50b92b9af302a2c302d0599203ed0575b11353f8f35d282744185f5107da43f810c2e4dcaac815280860da016320af0200021d3890f92bb851512869bf2336f322e06501b5ea55b000030380833bd0cc51570002d1ff798caaaf37667cfa616e3bb009a5605ab03acf91fed4f4f2eb68c046a5412c0209018f19d83c6f305c75011137a812db81609018a33684ec8350d6f9d2219f235fc9263af85299e246cd0302c0caf0cc3b829bc083f46c4f70d3c5a7dc90908d665c29ad4d2be6ce07f7a1d4b9d55888cb6a76f8fbf6c5daf3d6e57d7233d037db92969f76f459fc4194279f17e359f664f986047e3b121dc9a5c0ae98d22abb96aecbdb14793c11249fda611edda9020b2048913a6a6b0a466ae005f199db5a20138eca1ff0e165f051ef91f4199cc10af8963b0b0d9e4b3dca91dc7e59acc9367ea99572f3b92f4f2718b2975ec6b00c40b0d4bed4589c357d3d785434bc94d4cc60a81a3ad481a9d31cc06f586f790a05fbc095a5d64d8d83d841d51834c5bf81bb91abe5fba2d95a871f6a00aee10601858567a1151d444fdfc43a37aa7a4957e9318e5b221a29d432ba3b4a7b9f5517ecfaedd04adef367e601b5deffae36ce58b06a677612b6d1328e29dd118f0a9a15e4e4b2d672962e7668455b76c62018cabd9a7325a7bb8f62cdbbdd19d109f9694587a5edad9531f2d69826e37882fc13e3bf77cbb76132622658bcaf1f085acfef452ef2f8597186242922a4cbe7bbcecbbd2d832787704564c2e4acb90f41f430abd50bc5f3f2491e3d5a80aaef5a1c9bd7305107cdd99e863dc9808106e8f33289308f51962820dee0662719f4580d2d506292f852516f63e546bdd20f4b33f2be65689e7d099199bb278e3c4de71cba3e067b6e3d3c31362ed505bc01087ae0bc13d793c56119aed7cecde0d16ecd5c85982d90ba0107bd9b5481f006fcb91eeac29745f8b4ed16e80a47df0dba161a6f63f692b3561c2efda7dc68030f0b8a19fbd8d8e7ee2e9985ec945fe19495159586dd076441449818c4dde40bf4fd7ecf3c94531cd061d8cc9af56b983d71120b92d254bc62755363c95ec70eebbc66de97fccf3554d1b92f7929beaab552e4a79cb14a0a0c27df3e2c0fcc044a0531d23c0e05a4935a7de35934ad7a6e50857629f165740dd78fb9fdf8b80694937a2e3949dd16655b2b449252c1eedd4a7ea71d92433e691d38afe7dfa701af904128da0f1c73e61fde12550777a17481cf19cff2b734d49e07510997a70d29bde78592c41e8096552edc844f75febabc80c31bb8904e35c0837645386d0632badc529963ac1bd865231a828cb78b460e3e68269a93845127ae1acd91fd0ec771694d0dffe7fde7863ea3342e5a89ec99cd0b16586524219edc497b65fd0ca6fbcc71c0fa632a38243fdd478bfe0c32e27d9af2d4a36e76b98e8ed770530bc4c70a2543e9c372e84774e82b5fde2f392033550bc9d82d5668d1b1da02c507b007e91d4eec5cb9e7ecf6ab2771c0d18d6f2d7d69747d1d649c58377151320138ca5e283bc244f972b463a2415850205ac8dd33c51178e04f8cc35d1f64fd079446d307d131eee099363b8a77a547e7abacd0597e96f7ef76b79bde0dfb4a014fe147688a9920952a9225248ee0c3fc4271d35936185b3508cd6af1258842087de145522eafd725a8dc9513ab95de2f8c1d9630052f363a7386653326a9df02e1b94e73e074a2543d50d43561868054feaeb999c9460eec6e1d6775bdc013096b67e06a94d90531ac7dd86c8e9573d8da74ebbba45d83fd544ba075adb69000896f2149b8ff594432655b92cd1fa61a0e2425c5b6370267e1929e9fb85d71086dd0923693ee0bc2b3bb76b47ee99703e31ef3f0989793a21f805605ea219201082790b3e37d7e646be945c80ebdd50b648463bd65055f342a66a63edf93c7075b6d28bae1f4579ff9c01a956fe0bba94b32dd941789110579233b51c4bf2500f24ff159a83f4a25651378c397a489fbc3e7b34439b5a5ccdc18182c29e21403fc4c1ce9a230854633887d6da03b20e647aeeb2c3f34d5f894c84295ffec7e0a1f355cf5d64d4c6ff29cc58717cfbcf4aa77e50f3c1307223b15b08401430c071ae7361e88b2137250ae0e29570a8a57acc79aedff9151104cf9d312e51bf2033f28024086377a06b4d8bfb2046ecae1265c727f82c2110b4916e3c1e342da0f4ac3df0a8b4b1ea2668d8b54d2b75ad7596544063d4d4d2ba7e52fdb04dc790860b8c39c75e9c38687ec54d0466ddfc61b9cec3f4a22173a9215fa60281b790b5ddd401de6a48bd6b3166607e7341729432527017b847b39efe9bf15f16d1e039f4ba936878408fed4be7b7dd147ae1ae07028c916711e020d8191438ebed308fc85b0e1969893270c0391e4e0bf988fb132b30c683b3111f04bec6567a9e30a1143edeecb0a552531b5062ceb11afe1db329d066d320690b9ac58971796e4050b93e15885ed31ed69296aa5a3c32ef6d6d68ad2e4ce039c7d4b40044df6550920ffc6a52e051588fdb16c7690acda11bee9554f25933a9afc994a4165cb7c0d33c232d702c6de7a2e7c0a6e12c69d4974477f750975a1561f41214720c9840ddddb15a20b3619ec6943cdcb569abba069dc499cf3b845a3e0c04d6504bb100d6c11ac99a6e61042bffebc157b3ff526e29012cc0feb0249360a35852f328f000d13a31baa0319d657ab11bb2e1e64aa9eb87fec7d93c3840b2cadee0412e20917e8615663e2d7cbb86c74ed382d4f43f2421578f686e3f3a286fa52f9906107466c2b92549a2c4cb47c95feabf7d7ecc7ccf612dcafeb98941593bb3213ef0a8d6fe1c3591dfe29a7a3ac12864c71ba042f823ac3ea5934a4d0363547985904ed39081921e3f4fe779e330793464be455b87eba4092ee1be77213043221f80b440fd19e1b74df32e2232fa8a998361dbc2239df1688394ebbe89f96ae917b0ccfc99e42fb1de180e1ace6482aabc955b11f59fa35d2d78c9588e5c7d66bb606fa1342fb8eae71c9aa96d37787e1d3c18fd1970b31e7f8313abf71f764f31e037c7b13c305cff3156624ba1080c89ffa52417dbca57c1fa0eccb45934e05290917b9412d740a0bef000fd404556326442318bb7b4ff349b43cf13c54e52d8905a84673a54a9ce248424b442563099eb6582ad3d1758556408d6eb1927d03b10f91ff20cf916d3e0fff26696621cad2a80d1f3b84a855315882f79e96e042bb0f01a9760ca9d2ac892e4658f1e8ff573b0f5cf6853e8e97628f6cc8e83585870610ab42ea8e0c667352f6cb3905f8617300d035e8c41ffb4d0539dbacca80ce0100940d631011d067b221fff433c2fb69a1e55e6c5f42e97b12ebd15fed057f0c205336cb6dffcad4137f22ce6353465bc10f75dfd952f85a00bc64b1b830fa0ea56fb9ffd50523850b4de936654ff72f5f0ec4de23422c34872b9ff0255c0d0fc2b26b78ebb49b457294e62a164f7b62f5609e687049a9594247b9ec593637059a5ff077f87a30c005b26364917bd5265737e30006ee39af5ec0dab7fb273405cd47341d115343b66109b59a6dee35cd17adbf73189740cee05efdb8bcf3740e12b9df9e99abe2888b33f6795c159a879c0d6ea876fd1287a1847ce55a206d05b9b5ff813b05e7c6c2801e4aca8d4f911798e07d50203d6f8e57a5e429667307a7d236e4a6cfa7c268decda3d729994b60d3f2e91fa764448b19930bbfa4d405e1dd1847dacf41f2f3a7b640a876d9b2ca9128970192d008f2140da255224d0afd8d7b1b9e4056fcfe8bc178bd14deb96e21870dd28ce5d7cd42ba83906216020dc048ab2c8563e4cf376a0dc816538ba429765ade6e9d70190fcd0b6fa370088264bb19decfc5884314eb0bc04ddfe022a952e9178411d142e4baaae89eda0e993b970d37d1a21336a7033353a780189a0f926bd5d87ddf8e531da370cd90045912380f52068bc41f5e1af825eee31817095d6038628aaa45f18dd8f5ce23020ff0b45013cf7f07f19753ccde985b6558e4da99d998974cf76b93a43cd409053fb61c7f6de39e7e9833f4ac9bfb790f06cc44140e7f3b0d0ade86512631c40bd731b9fddf36b192272a1a08f5cfa30efdd33c221eceea880068b94d8bc8e003da916fe949e660b9c00b2c1a08cdeb96ee9e8af8a36b3919f887562aec65cc04a12b1d3aa5324ce8de24f0bfafc46e7a16e81a1193fe2cda41e1116b17e70b07fee06608e771836dc7315c854ec1b5908b452c0963c204cbdb978c7dcc3ae009054645b48fe3261ee52dbdd779fd16cd7f5cd5a3beb0e2225b0afd81de907a0183817bce0afee5bdfaf6872c565dda7beccd2215e88d76270e98fb20bdaaa906ea0d9ca906e7628ca0b84dcc81915d62366388c456ca08db576a8ba97377c8017127ceb351dec4ce0829dc7873764c4e6db7d16c3fa60794d42ae484d24acb0e83989d26a428ea7866b39a68e347c49896dda113ba47af7e6f019f1389a9150bd4d89da91df193cdace104231129993d601b1c58180b3b5a7587f276c49d2009952a3b9d717809706320108ddc48fb464ba89764eea08fecb29a0ea30520c40f71d7c94020101c02af91bfc412f5c312a2050e4fc14263717beaa0c436091d0c2ef82071d835aee9b853e7d41c6e59c353aef0356e74dbaf37e629793c9eaa04c249cd7492c42c81fc9583a23fa2d83e4c305ca21d5f26a660467610272ebd04c803e0eebf8a051dc999e64bd9ca62586a26382665680968c642cda0b5caba0517a988f68f23973044b740fd02c3f4aa86e88785cc360ce764f250d40cf358052f3807c80252b825d7e46b7e1a161557b937ad0e717a479369c765856c78be06032f7bfdfaaff23b292bad9d4b32abec0bf1dac3799b9ea2957b736655ff9e0e375fc7bceb517c66fdc3c753555c34cde5a47ab1fea47583ad5dd501e95cb901cd63df005ce674fc99e82ab2e3bb7e8848c55bce93633663c21a42f2c7061c0ccfd7deb8f372aa0723a64d76350c4f6f2aeb0ecacef9bfb907246863a54103061af18b725b2cc7fdf52712ea0bdef1dae751da8b3ebfcb6152757beb4c8d7b0483da93c74fe645f4c701115d2080da9154035501b7e5249aea6b476dc0dd210d03088c2b2ccdb2a3dfee60d6b66e5326f35a779e10962c1764128b7e2fe4e00a7d650a3b807b747207eca23b75fbd955f12fae9a2e17d2d48af4cba2b84ac9040fda3d9b82615413eb1b5147806e69413c034c277fb42246eac4ef94b07caa0bf68bf1761d12622ed272dc68e7aff30c71114b6e309122a0e60d6ccdb9bad0065eb4946bbab3f35330e3ee530043313b4199164ce396a97e28a1d2a615be8804f1d8d1df6f4d11c260e339721e0c488e5c43151b6651f8c8231124359bfc770ffe5fc10d252890ee3f0451e3e22af5a552364f65d2e93151463df286b329c407a8dafe4c9a485caed267ae7c0e49675e7f89a3617128479ef4ee92e1e0aad103b5aa8db1ac51d8aba265bbd77225641fbe292f3321e4b8ad242640be6de2df08716d28a0bf07c7c46e6ab153c46e7ad2c0ad92349bff408bd4821003514438018db7f25477815e5da9808e50bdf8bf68554684ee27a16e23ba246d8d7c55c0049d1fbd8e8252b451d6e9fb095758e0424f6ac5fde5327de5193f330778028a0858322f8357a1f113b631da75cd3ed16247759b592202e59753f6ebf78cca720f0251f65eba74ad74521d2f1f1b9a5c701c39d7a6dbe76a00e8f314f0414c280141073217894f633b64df413bfd870f8cdc58f5cdaf0181d04b3246b843a0760391ded069e2b683488d13be5260ca6c73f825aa66e9d019447bac62105b30bf0cef1a65ef22d5cb752bf53e56cb7b92f2fcf1d3157046e30fccd2ff0ddb06b708eb73362ca0fe1438f83a9ba65b5b74373f026a8c4e7ae5fca42e6138f8d55e089d6f4378296457569cca31658cceff69f4ce81b69d0f3ac557b410eb2e14d7030fed86945c71800d366e8222ad3c11512abbc1fe62e96f9fc4043a335b658906dc78c918395b2c19af75753b15f7bcd5d99817da81d8865ce506619225e1d703f169e18ca5c2f83165756ecbc0077b6c9b0f1478f5d8eb1b272e88f454745c051e9d97c48ce727dc015accb2eda5ec51b737905ef387d65730ce4bdccf3ed8015349ba34f59acce4bd6fb3268fa98ae6f995c057e7ea24e4bd77b33bbd25e90559a76c5238cc95ff8e3a939a790b14da70044912a7a8590d77cd038ea62dee0d6f44ab51ed0f9589d2b62b365be5185a17adaba3ba95ff291a4885515ad77d0a35bde89471b5c913f56c00dfc78903781807ca8bd931f1ecb37643fb1237e900dbd5613b4b2f80e33c4250144e06d54e33e84dba5a13b6b6a6b7a5c610e70902ee946b8f2e89fd3e178226acb1294d7df9be4465fad38d8f05cf69d94989f753c32722a021129bf2021a0e0939fb4be3f53600d359e1f6a152b8da86d174015bdfd1b49102cc4365fed182c8e0e96b79ac40425e4dde9051637a0d7a5d847d67c8ed4802e340e06767bb0e463044bd2a48a47dddadd62de68a6c54f2ac7938a8e5a8f6b541fb27c2f174b2ccf5247d751b44c3c1c6364f8faa2efc01acffdf415a94b0a685f8ef801c2a770164b93a1a4ed00570569addbd27dc5ab9857e78bfc0fcb2a54f68c8ae06dd6ecddfbc78808706b2bed03211ab231d7e397ef9301bc5f0d411b329f44a2d5687137949cf972fc2d8420b9a5cb645638aec41670bfe5e15847de2a4bfe8ef16e021315aa6fc8f7041a1fe4100401a42c17a5a1cb1c60f3fd753017e6f86afcad28252f5c736cd95f9ddbbcb254c2ff16d2010271de0fc450506f3758ddff8be5f1b86e287c608786840cd979e44fb9f3a105c5b0942290accbc3ea2a09b7f4e81ef8379154a0737328e78ed18026f2fdcd34e649127fbe3b0d27ece5a42d7f3f8096bf1599341419a3b7c7d48d77ef60e3aa2f5fb9bc2fc318ca5367b1472c5497b0c96406692d7fb0b56830b90b6172a32fb21d183a3d60ff284745bb97b5d9ec2da024b0a68fa580e60437dc5653cbb872506dc795b48920101bf7175c03de74b763f93efa1b41d4a6917d3375b3caf04102152dbba3b3eb62f8ca20f7bc28dd82918020bd70f9f696d66c6823947daa6e6e54538cf4ecff2e451ec84e2c704113410bffccabf3828784c3bc93bb84fc593fd4e138e05856d64d9c5a2b7f35480d64c24fd795439210db693423b823e2b611d403d11a215217073e51782ff192fd412a6df3e3d59120e9573ea29fa962b3344cf340bbe4a9a44860f79634da05ae04b15377fe95ee6cca88ce2867891aafdaa45c37c6fc7edbfb4fddadb5bcd3ebcf6258c83e9c47fb4bfe9502f66611f2d4cd5b1825346ea457a12d2e748446dcfe2969cb37aea6639f93e142f48dc5c294936610e69b7388d157275999fa491191cba3d5d3a18af4d1548883b214cb5fa497a79f3b2d2458cc585a09284e25fa4849500feaf067016e5583f43c98af9fb8a3753c165e5b7e249946fb35f68511e5cb3fc26c5a61471b6e4ff68406a8464040cb184082671070db3807b4b9186d1b19a572dc55a18c886a03c6d763a6fe210bbd51adce32aaaf3d5d0cfa026b585188e0996d9e523901909299fa7ce595a16bf56b3217cf3153326d4df695233eb5bbed3f7fb6287cd5eb2b9c9f0044296608aa7c62c8a4197e999ffa7ebd97641645153118021307f6f21cb1803feeb9a3d352df99a1c965dd977661dbc094770a7cb47ca8ea1d26845ad4237a447fd4115b066aa7deb4d8009d9e20cb03edfceb72a7edff47178892379729986fcca268dc5ccd7aded2aed05c3103323fb7e9fff272ce63c2522851a5aaf1a9431739a81aa819b7a4a5b56c2b559d1973a2ab4507da3735819150075fc577540b858d48945381a1e62678154ea3a79a4624b506ec43660a55565580a13af9004a6768220eef6abc95372eaa486f991f1d64c6176aeaccc03d8249fcc62225289d363ac65890548d27542aafe3fc7a703405f4c918a6998185bc2e2b65ccee3f982aaa3f36793e1cf6b8185d548dd9ad01a41b76280249fe59bfd6fe3d2dfc93924b37cb753d1d8b7e242537bfb45ba5c1d003ee11ca5523c405fd784cd881f71b7ab69a51f43a3d3b0e999aceda02c94a4ce3f3796738716e16363c7d17cce4513f1ad911a0d6bf4f8ea97332b2061cfb1d9060543ee6eb45d72961ef558510b7981ed1b9bb292bde389b27961e1bf7fe580ebae08e188781d57671a380f5080300e5f5428d96ceb661f870a3262f6271210e254acdde2ecf309cac7240c0a6aa3adbc760a579dcedd93fbee761eb8c6e657904793926164be29eb519ef16b1d4e9d5814ed1108c41db4cf4d30fa6c440b75b9e9798d6af14bcda1d650469de345de93ffe5bbee419f87221faed6facac9d0cddf187dc1a35176677424415a95907f82b918daf923d62647c9d42a8c945899e7890f9599fdc4efc91f0d06a53bd3167a79b8d6dd73b3c0698b212e5c2a975f408ff06f98b5b8f79451ddb37890a11416bc66a7a3d72ca86d2f5270c6dda9cfea6d01818d32149774f9a663f3429373b75fbad429fe90e39140b7e03736461906ab125727e899a3ec2f37b7b73f531c8e686cf43f0663b31839cce45a9ae007d1cb0087a939385a291eaf67d538248f5e5981ebbdfc4d1eb61e618772c9190bbe3bb8c1994a07e71219cd28703d9ccc5c368b54fb4a00a28139f8149426e366ef26df0a20d7c94e894d9e09d069d13171b16047d1d57d3421d132371fb01452aef1b0761668946d2cb9448a09856c5d947d0726fd755640b25cb94f2ac169d1b2c9a5e1b6d56c7ed4bc883a4f820366c37a1c9bbeb8fa3519d18b4431d796a95463136725ce24f921da14e585b1780bb02eaa8c4c4b70680b10df3aca1c3f8000bfd33bdb855fd067e05f9e07860c43914cc1671d3a81b02b0b98db66fd1c1226f1bdc6647f86216147f0e2fc9e162bcc8b99eac1fb6b54f86b521b6747df59c77e169812cd474155ee9d98c34d417c3a672f3593e051ec8d28a4dfd7f9fdab073d3b86010f8aa92ef02bde328522a1b81ded4abb3ad37dfc63ed979017748af4833ce1d3a8ad2daa02a8e7b2258c2cb006ef77c9f5a1ba19f6f959887813ac127e86880c3525526f5e4355dedf7b65ab12a756a4870b6895c26d571c7b2121f43000c70cce210452b99ec8ced3ae900e09c7470c979b1e7edbaf7383c661309431be06d0878b983ae7302621084c68a2d4525faa1ea7e159295b7cfbabdef4715a12da43b6516dff1141f1a39498233f321c0800b8513f48a3c7be461f7581e6c5a301815f3dbf1e2068cb503df35ca971220f50bb4f00e244786f76a8831587b4b967bc3299d33c46259457d39337f9769a09d6a6f2a4085bbb40ad0323aae504a61904aa6a2073763f350b4dc3c823f83a0502e4369e82374c19434bdf1a7ff28d1b50cd8c278924b7eb73177f5fcc003708456a28eed06d54a29ba31295ce4cd790b046dd0ea1be5e5b50b1ce1decf81302836092d6c5d0ca8e4ba1e1d03cc0842be4d3faf93bd92979122e54eeb70b4c02ad44c41929acb7fa97a0d04307664d4e0dbe78a4760cece61f90fec6b7a72a08750e583941a1758e7924e378ecc395b1ead71372541c686d5e7026bec9ca4600bd2bf60e6a27db9ae70524b33351fdb572491584ce0e64eff79de91e4635d30daba9256de0b0e2731be344f573bc4fe72f69172005335e33d9f897d098de3d01ad5761331d5e89dffbccc916071f67c12d3a5ba6fa403119496b71398d380509221ceb68a03c8539cbca40fe39c17ad52432e9d53c28b40872760ca995e5830b6e8db1c7ec40d9ef61ce4aba9bb0ddde7f3ff57774734e086e603f9f181a7d0339ff832a1ce05a68a6aaa6a8e3ca241dd8f4fb0c4d501556d5edd1d395f74a0fe8d3156986cb932ee16d8cd148769082aee795738c4199fca3ccae356438070d167c020d89a6117d7f1074343d46dbbe1668d2f2a7f437166d3e4f7ce51927085ff14cd1cccc547153faa889144aba3aae615e30600b70ec24f6d4d85fd98b0403ad173dd0c836296a78026d6697f258a30ef8c92bc01d504ff0a632ceb3a6044e3fb5a30a38a08c329acffb4fe786e392b942cc2f5856968336eb014ea5410afedacff6061fab229f22966423f6d5dec640cac3665680ed109cf4dcc670dd02778e9ae6694ef27666ffed9dbe490237ab35e1762e1375a16960c5259703710e4f81874a0b16ca89c6bd7b778b2216f44bc21a78bf085161a195244d25fbc5014cfb8536727cef04336ec886bc72317dd8534c5f7111e669d844e55c16d8a50f00b654e00e3c8f1a6e07c39fd5726da9394e9de51588a4360766dde1e1932f017fea5639858c3e36add3c3d5afef2a94e986519c830d70d08932e41c462971031fb614184336de510b33f3a6539aefb60e103c826285f26c404774d07669950d55d85a42f6c8d6f7fd8bd586a8ca00bbda2d83c05400a359c2c0e1e2736f5803d518eb1649d9ebb7e952a2d94658ad47c411792989ffce3e246ae69fc6a2fa0db731394e3714b198eb009a44ac492b16b7d3e1da4d06d86923d8063ad38f630d72f862dc76095dfb6ba360aca73d16f1cf9c626d5dd2312bc0b6b429915a3b0e5a356f9347081e285a4aed460f53f062701dd161d0ac28657289ac5fcd9ba8040fa9fad55638dfc744d9dd3a17b34591d7973d0846a5ee9371563a44b6126d0576ab4470f413c82e571a994372f3d73ee756a0bfe90cfc87b55ca7a5550a3300576121b1511def415128bcef46c3f798c1ea7d51636add3fe11e96933d1e1705f28db93f472c613487dd6aa16d6957ee954e720d957ca062ed056c2fb3167d03149017f76e727b5e34ffddda836e1d45d930aa6dcd77c87ca0057218ecaac90cec7c1678ad67db5e57156073c126109d1f90ae5e5966a7bb60d2b7e723d5330a35d9e2861ca56748a9421fedf3aff85dbe0a837395165cf696653d993f4f3909d10f8659c11c480a6f439d4cf1755853f9ac0383eb77126dd39b09c6b7c994050f590a384567c62a040d8834269cf611d4574939c9e1ebb45c7022b260ba380eb018085fb098a3c7660e9579ab57b43b8ee5d83b95f70b614d30b9b4d3ae3a0b72cc6cdbc4372af25fe506278d28880cba979f968fe35b201f11a03b0602450288578c404c5da9e717ca814100045652b9cce752a28608c1fd8dc99cd0b39d01fc1e4b7514b10eb5ae2bc5c5470ce53f1780bbe0d4f31d22f78f26451588cb03953cd4f5f1680e423c7378da63acde11220962a84ba838ccad9ad45134f65d0092c72f3f96a087ead116b12b0148558fb102923d2004c44201eee6a61935360c07b4ce1c5b0f8611faabcdd0ec0253806f5a913abfaa0306a609024a2b60c30f47eda8231ad74a3477b2eecde4213726a7b9e9285d730b1517775326ca286501716aed40534e2ad2e74bc25d87c4594b05c9a97802a9a0df7e3addcc3203d7005e5977cdbf3b1033ae953f2746f05d977a38f897228ed111e14cb3a66e3dac0113c42c135bb013d841557d43434f0bb3ef479e8a2efe1c0e36287203c4f5eb0eb7c3c1dc8a8e7c236e1aad20ca809ef99771d05bde2b01a7e47ed31b23c06702446b9b2b768049343ba2dee281972b35a2db0abdb388d1dd7fb881919eeafe028744a16471207d4f5b93f131579f0fffdff40758f7d0d7d4e0fc3a099e7cdc09f23b436b399b735881c345ac3057d88bbe2279b608d185cab5187ad196fb8806fbf0901d223d662bb2c1465e33f2808bca80bd5b12de312a2b0890a969b1d20d75f1349f9f11c1eaf93474794270f258532c1d6e14379921e8a4554a0873e10005a28d60dfd53d99965719578a6d38a4f96c0f2d21f75075ded782a249a9930ad1b6d01ff3c333b3bd1993ec0836b850343a1a83dbe1192f4e2c2276c0f3e504b37c86b75054d85abbb6b1f0adb9b858450a331723c84e3dfc7145cd46aaad089efa4f3ad0ef70c4dad5cbce4cb07a583cad4d2f82c947978219d3855ba3980b0e45c457cc649b5f87ba948a04586a15cb3fc4f75c3cce0083ad0b991567d30d38fac6901fbf5dc46490a8f072c70b9a6a5abf5b145eb66e2ae49d5b4e22cf091c91eeb2726d033d83c357e99268ad23f9c3bc383dd654d05af372affeba6e062427b5655753d0ce98d835fe95de51a04648dffd7110b9d4a3b5ee52d7f17b0b2c2ea7b242199cd392cb8cdcd4843399db3c8889c0fdb16b140f50a3a1199100f0b3b08a89d8aeb5035e771d57127f8a5068331b923fbb2cc0cac9c222409608abbb585474939cfdafde09110a65d876981d0ae16fc44ab68ce88558a0a927045b9f8c560102d0b8841a22583ba316c42d28b0ace0a59fa6de31d9c0024c7c0fa970a91b40e4a2e62dbdc8acae454142cce106ed588694410e4df071e187270b33db162cd3fcedd58d25e129973969a953fa78fd5f0cf3db6877e8de13249701b18d04c98abb6cb7f45b10871ed79437bf118d13f3b0433cc0ff0aa43982d30579da381c99985ad6c6c5c22da35f6998e6de6b42b9488de6bc5921e25399e70a7cf610b881ee8e5e98f15ecbfd4b4924e4c154b7457b8c735172037f00d54901190a2cb7d069cadeb0cdb912b9a49ce9d54a93b15f2ef96a7f2c6369c75e3b0a8fa5f386709078493b518356f6a0190d45dccc6fbc5cf40bc288e528b2cb2109c1b0c7d9ee8615c5380d9c60c83f36d8e5b574afa038a17aa57147080420770c1168b209ee0223b819fdd48d3992e89115b16acc4db7cb0f051a985ca2a42b0b7a86e6067c174fba43943ba31802247838a2d076add0bae0c2124603805bae03e7c7a8383bab684d6588a8456974d23b576d5f0dc0e9a0462a5cdb8018c81f0fe58eb52c12daab31afe9c624fe0be1cb0f4b3063c1a046bf31f424e30ef6ec0a1070309ae9ff72804c5912533a3f951b4252d7939787a6ba79d856cbc944010ef465b154aaa661a2a13d2b30f3479059cc9a4095b07ba62082f7a4f47f46570348125f7dfde08caed0c634edea19821eb2b0fb623aea633df68e0749e6023f0e8b1e7d8f7f97df6831eef1b29649bf5d9a4704e17f81843602c14f9283928f065cab0aadae2691bc36bf43e593f728ca2b58418a34622434db36e76af12e010a0d781e2ae29361308d2ac8e18590cadcbe8481e69cdddc977a527eabe1175e054f94c8733ab10e35900d01229f470a98538620f8b677cb94a4fa0dab031e5505801432c35591a11a208f1dfbcfd67e1a786ce4a9cb144fa2bab4efc315d2f00c6fdcad202f56a0b6c7e6a340d7f7169074aec0cef915d9745ad679df1b0e370a030cd79f61918b818336f409e24a61501e5f7ae6c6e79a2e7d933fb7f163fc0b60ba19f008903cd6722c5f90ea5aad73a891287dc9a2c0b6f7f47ccf7f3c850715cfbeb12f5cc1b07a7a57c7642767697c361757d82eef9767bca9064e06130c5e1545412725c94652996dfb9997aa7347c87e37ab10bcc32cb090350ba8c30bea9e08e38e44e1e2e624f3a7cbd6e949124f76166e59cca618d9f114a0b8ba0ae310eb687f80ed3953c102d5ad73a3d4a021b753bd28892576866f28ebc7aa0381f86babc92d0ed8032d771d45271182150c0e08e3baab2f5d00e071cc8a4b0b023a2f3aebe6f053a411ddfaee21f8634a96ddc2fd083386c5955a0734b59a07925b7397c3cccb2e2141baa256ce60af1cfdadcc09ea68a9aab511ee4b38630c553714a929da7384b4559f02e2a87416647f33cf7b71e325a64fa65748609d0946428a7b0749934719f3224e027a6299580cc954b8c1992c220d8d9b6278f607b4d923f2b3886c5d0395322179f71953d645ae2eceb1ad9da75f81654f42550f6f857cc78b97d834b26cdb0a3ac10b3f0e25524981e4464b85fbb82c925e1b0b3610df87b7ea23129dce57aba02bccb017042c062e3440155ae4f948dfdeb80bb5beddf97ce27d77acf16c10b58299d02ea4a7f5c9a274c907c37f17a9ab19065aeed5beb88b4ec1ab61f47f695f8d7c6b8a12d5a611350867fff445cc8d7005b88a87c93e5af6e8753c5017d852a34313d26e1b0057fca43d5048105a924901ad6c34277d3853bc4088aedabef85cba2ad40b9e9abb946e1e7333754fa3d30fea350f592e01eac1d68c10c767f770ecabfc902f0bac83339d6df3b24984350b5c1b5a7122e204cd5536250ac7ee8843660fcbf4a6650e7a0180108a9d3228019e630fd93e8b1b434ffccb52d63742954fde4baccea72c55cdd72d23e1e0d70528714cb64c22ed511e771b08699812cc62d377063b0400d7ec851494dddf10070fb1a8109f257158fad3ccac69b5c38066e1945329aa6a7ef96e3d6a760ddb05d63d289e1b770b4b67a83e4a61aad9a28b0a63fff0e9d31c4fb6674136c4e50923bb391ad19d867a84576f23510bd4c91539559334d2c13f891a2e527d64bb0c3928c8aeeef17ae2b5d25187d89b00bdffe88c4b9526559f493ccb1de3f0c30a1c7df9fd8762107ccb37f67ebb5660316252c96a306d758cbe3404f1448d6000177ecb57549bda96675e781516da6a42c8571cb078463f7cfedf0646b72d2106353b8d76fe773d54179965d2d7de4836a00212c18f35d7af6e0ad1478ac9880d984cafadf2da38b18d163ad7c53c5062310effe52819d3ba42109cf3f528b807c84f5f7e521eb8b7f2c14e8c59605f79a9c3a3a542ba294b6126215e5c13fd0b0f26a2f2b376fce089d7bea19a4426ef3c57cb059150ea8eb5d7049239651d00a1e08b91f1288dda04dfc3d06c52014edefa4e9b3b966ca00b7772f2a5b5230b6b02cc64fa00a7e3ef32df087ff0e82aa8e8d41849dc741d046658b0003bb60e0c5a744ab41246fcd162a6c9f7922ba0b65c22a3cbbdd1de9f1d9168cdbf9407dd4168fb994a7166aafa9c03c3c0545685b9ba187885d2e269bccd738f94640246c37ed29be4f313295dd7e23c6b5474383b7c51fd1575fc47e9f7e1d82c730c90b0033da11839ab2e5950d2c4ebff894df78cff65a6f3033140d905c483f10eb026b2a1af435b00e3617325fedf36f0b3dec55fe10a67993cfc3182fa921cb3236bfb1f8991ecca84bd087692ed316da7930e95d3966d01689600a01d5b5c485dd7ef666d2c74dff82329fb7f5fd73d43bc5b8134b7e5a64b709cc7d8563c73e6fe07cde4647222527c32ca517e5fe60652362640cb0a34f818226abda7a46d8d101db806d49267bd63184c42904839e26b6e92104e640a0bed26e50c3541ac15c15b961bcb88da75b77c12bc76db1a53a99303fffb8c081fa3110ef3198559c6e852ffe77cdedf1ee4caa7d471c03906513c48c2dafa361b0c062baeacd3ca1c6589381a62c066ff60d14d9951fbb490ade364d0a0381c82cef7418a3bc4737c1f34ff9a8d095ef406c13b0745f5a2c98bc8e4654ebdd3ce7c590e631f4334e343612c13cb322ed75db1ea6bdb26578fa948bc09ffe61b62541b30bf6da305d73b1e038d32b9eccea38eedc0c9c4772902554fb93c9cf30d2282d8bce1a0c9dd3c4d37cf98904c26f6dab35b69311c2a562e8416d42cb28fa3e617f5e1b4a73e321486995b766ea0b38204215c5b7932f028a39c53c72cc91b07ebe18bf3e14f15ffce237ce1fef65ace29ae561a9b871d0c02a93ad6ef0ed418fb214b7e801084209693b611c63b15cb280dfd7c3467b151eeec44847fbf7e46effe09545ef941b9aea6f60b4d010ec8a8f137d1906757ca33ebe888dcef783acb9fc901ffd24edd81e5df61c6f4f75b93fe8b1be411ddb4aadca7ab3e3c483ce8b14219f3e3972d5294e06f5c652c0caf75aab7dcc30f7e105d6e1bdd3b95fb048c3feb03535ac6d568766d058d3ec7f732defd3cbbe24ce1145e514d31056ba395da2a84df7cb60f1959a2b280b1b9d3852bef57cade1629cea826ae10ad4dcf3539be4b989ea4d27f726f9b9079c14ec0ad1c890c47a8deb4323f32fc41293470b8febc03b175e8f9a9552c5e7153bf031d8bca3b90af50c9bbcdc9747a4e504fb0ba55f104fae79b6e293abebe2f4057d4c2862bef8075c07ba2bd7ad1df34149be4dc927cbf07cde4d35c66e189b2f0297ad0081cdb03b766277728c8df8393e9c2cef5f44f8b7d9cd4a2c055fc82f8305267075d8fee46df492a171810a8b7be1073c3983c227be9c8e622a9ea016de3bd385f2671b913b69f588eceef02fa0724b3824ef147848d1de2ff9e28c4d79aa3f985ac826747d650e923e98df125510a6331466eecb82c161ca12c9ca2551ffe702ce5ab5419e782516e86518c07b03bbf7e2fd9dfa6e09bc1c66282629131ae60cb9c9f8ae199ecf91e22ea46bbc518453296a4810ff610e5d8582426a727609b567416503d4c130c93c503b16e1d4919d65b4a397b218b19b731423ea2b69a896f5208119fcc1d62191ed99a58d58c581ccbe94a88377edab7103a9652988a7b47435d10b0ee3215cfbfe5711570fcf9dc3c26325f469d8a5f5159730ae51c9e0f4664a2c0966d0e5026d124206ed2f426ac99a11033b4ea7f2323c16af5b8b086a38f200ef18c323f667608b542cd6a98a2925b12292a4f8ea034c4ecbcfc7362abd98eb2d0ab5f8390e365d2e5a71e2c592ec6bf07ad46b91d7845a1f637f85f73178ff5dfbc59222f590ddb4e0b3265f58888145d8fbcda5700b8d6d556409ec95180b177c5de991efaca727bfd012c98996003591d8ac25f709d659cb152387f4b9955b55cc413c33eb3561630396fe692189311fc780a2d3bd8b4d07a21320ce8c5d1630da8fe7f45afcd6938f5495b8c8e6a8c6cb231a0120ee444fb17e2c33bb0becaa4df613b75f38610278e18f97259d149ae92e7db8d45b538d58a17a0c26b465d721f6f17cd473a92f3f99580e6490f34428ffe4d958688ad418fa4eeaee5f808965d244f07beed1bb49dfb83fb87c3f482532c0ae51c307a479b44d0b2e30f0fd9868d8a05ee0e4a977479b7c35f124cfba549d135792e52d155194fd7ce0c35a6b4b48f0a62f665811d3ab5a17b376349425285f1a85d8e7cb97539a7ed0fbf49e3e7a1223c5457a0987f352059934f2891e17108839a17e98a867255d3c5779325b251083acf885be0e6b589a33eb3266b3561d4b0ea2e8ec2d48fcf88412274a16026923cff13edad65a64412170428949296b398f9a8f007ba40adc341cd5c6828ef649fc9a52542abccb1eb09e664b400896c2921c31e18b1d7b99fe808ee0ed94dca5f9054b74793c2d4b9bf7039b4e066b59c20b5ade03fec688e57dbbef94b7e9bf776a291cdfd922611f681ba3f43410e2aebf3d399aaa89ebed7316876355f67fd5e1d9422ad398e4db1832a8cc891f16eb26b2b6a51e437598b105d5131af454b2c86fc5f9f18e25e2466098c077c93c70484048f28a65591f12f1e524adc9b8865229a580b8e393bf65fe0c2f297e52a5a4b136c8210523e07b96e61e50af0e06599ab41e07dccedbb1cd3d5d9facbbd698d9a8db30f556082b5b13992ae1b24f4f5b6a36950cac804da688033a3836ea6caf2aa66855ad2e672259548cde5f0dc61ec9bd2f1cdc67847a992d5200e2d5dfcb368af6aa46fa964a93eabe7c2e70feee332c35b9ce4423529e0c839c279a9a3b4fb5bfb4f720df2f05c6f0f9893ca498ba8613044668d8f59aab12f9e61feafdaa04d9491c20394ad731a7029ee979549837b120c18e7f8f9e9355d9cd754baf5462006bad12f455d981b02289111c54bebb27214ba4d15290e80fbd5b6bc82675b22dbc992ff22ed55cd0041a3c250f43befd7f68474ba5cb91a858dbfd3cc8793b4aef3cd0bf21f642974f74587d8914f1884ad7a3c80ea0165e260388a897f3b10287d670000b2332b1c878fb5680340b8f6429c13779654151b88414d34df3c55d9384b63439d9db1df55ef662392d6af0a841a96d1133670c44321836ba762fc7a2779fddbc4354e49b88508c1310ad1429137d5d138aeb4ba901edd3c944e75ba3d9192910e9e0fe6ad7ddc6b690cfd09dd52419473091ddc2d03fae780cae62f7ea2e77981f38888dcf3db175e0c5e70f85fca3b653e398366ce4376f49c6c480aa44d180c09e54f25ee605b26078dbe9ff6721468308f99a24bd05e5bc36cce8489fa716055e83719d9b301700cdc2b489bdc3941bdc75b88e1c44d1084ae19b868088a0b4d47dd7c1e1cbb900b8975f6a3cbf1280993a73d63ba4ef038d8edf8eb668e60058a6b719f1983a6040a19586ec33eeb60b3e6d1af6ab48ffa8fa1fe1fb6cc8e2955009437529f610cfc131d0e55d759e12d33b3e8dac60ffc0dbd313a84bdb5d9969f75af34ea2c09d07325297079859737653d6ceb33afb7e0992721b72cbfab26fc39bdf8b0df02523ac0ddbf3db8669f875d223a1d130329df93b936e009069fa28c066770f806d11104b99126b50de024f00eedceb0863e9dc1a705b359cf8659ae996af4ba0c26e356ea107df59b39a808f74d120d9ff996d823b2e890fc69db0bb42d1f66005b8e2d6278fc4e6f5b4d35a3222beccc87601a3aa1ab9dd2777829fca294b20ba74bf5bd461747bc6b96b78c5f5c7d658006eecd00247e44005768ee09d733013e53f30e25c3743d2342d9c184197e38d984e19d9e2a31e3c5ebc0cb627b11051008c3cd60dd10e9212022edf36865b96600a1abc3ecf7d8f5671aa8f1fdfd0a6587e32653751da6a007549fa2bf0c95794ed6299ef3a7eab451c924200c3209d7aadc9043b708801e4d3ce6aabc6d0853f852bcbc437e949a774ac79c181e0ba32b131dd0e824fd8c588294d7f98e331bc3672394b3ac2612b6a1d7ea7e1604bfe9d15672c94e107a3f1586d8da293a185084e0f035558c7bd12189cdf86005b96ced8ae66878e84899c0fc29ae7b803d7e1d2f3526ead038a77f23948bdc09b000d7f6b310443edd5d37b30d85d8b511270e6b8ac53dbe484050cd47e859005ea9244d56b1c7f41cdf20ac1e8a9b932490198dba00c45c9854bb0442aa510887e17448b56cae24ff441626aacea8c6275196f07efa8097726f67850751820861de612dff5ed7ee16b5c5946cacdf8a4390c598e009f03588c194374b46b209bf1643503a7423067bf6b30f1496e20fd43cdc601bc083edded4d8a5ab9a0403f67fcae65b92e624a4685e75555a2914305df4d9d4f3d42df527dc0f0b45f409cd9ee3144be28e3b832b2ec557c6583f9e4101436f0579799ff1f775c9a61009f15df24599283f0ca61db450b53882b1c6af435fe60f2f068f89a4ac97e1440d");
// tx_hash ac715b386010bd95a506fde0ac0405aa8ad72080b1d7cef257b5b112d9ed84bb
// this tx has key_image: c0b2a4909185084c7113de20415c3b7545e5d4f0cc5b5fd21cd1d297ad1286ed
txs_hex.emplace_back("020003020029f7d30185029407bc10800fe119f60fc6019916a008a507b80730eb01e114b609df03ac0b4da40cb002b606f010d410a607b205aa06e915f7018d04d106f70af603b516dc088d18d5055d8e020cb104daa32b6bfb671a92c2f9296e5d09174b509a69ac2e67988533bbbe5d6bf298aa0200298a28a8529d4c870c920f8202992aa203ee0e950ebd0403980226be016cc202b118b114f802c40bf60d8408cb03d611bd07b204c9069203a806169c15bd14e704da14c20e2ce605f205d5038526c0b2a4909185084c7113de20415c3b7545e5d4f0cc5b5fd21cd1d297ad1286ed020029bb3cb315c70db922bd109c22b00af023e0372df701a218f108b902c906a017a201f10fbc1196028c0782088e11e915d203cb048b0adc14ad0d60de01b602ae0651a909c305bc03a511c607980bb7147d8e2a1f1755ef12ce28185821e6b19cb6023d535411bbb7abdced139c923bad020002e4b04f1a4a46e00442df6fbee88056ef5d34fb87d432e232dc3b166be05fdb280002e475a89f6073029a3f6ca09f301d5a88e522e229b0a3e7867b2aa331cb46c8d62101307f043802c7d6460fbf3aab1ad9bddeb417c7a5810382d0b282d2e3ffa860a702a0a7edbbb679a40685a9ae03993e86e96bf3352ef6c7b90137e93053d0ea6ed521b6c86877c467657c7120b66248f4f2cac2293b84310c37ecf409a7a1c7365819387b039a613855d36fa10780922eda8c96c031682e8d35657e209b461a1fa64cdb07cf3ea55659ae1d583cd70ef6944164ab2c35f9ec26addba6cdd6d43287a58bf3e0fb0da0a3784186315a8ea8d8402026cd186c37c794f6d9b4b97f50e6726eda7fca0840d1c4eba4bee47fb53988a6b12fa4fdc661d20446d157eae0ea42a2c69d08008394fb8714a97a9c98858f1f57e1c45530f8ecdebc88a62f8eaa986adcf0940f32e62f9336efcb8a134813c6d9ac94736fea3ae7fa9969bb2acb5697bb3614474a297d61a76e9d352852999229a2f735b8bbefd3fcbb680eec46761959be5c9a33f8e99da8cf4e62cdb05b888cc2cba76020a2ec2b9843ca32565d84b665d901c56eaece700357808d78937231e5433e54bbb943fb6c8159dd9445df6561740a5bc6a6f4344efc2055b2b5c803d9676d7e8630b14c292756761ed158ffc6bb0a5a5243275192efcadfa63fcbb10b0b7b268c438599d37d1bce2bc30558821b035b7f9fb2f70e0f84f53e8b3d822dc42407848db1ae8eca2aca2cedf1fea2ec066332934cf1344d9df0e39c9607c8fd87a78d640d88fd01fc381b22bbbd7945048764e2f891467343ced6671e106d95c357689d59d6212e46931327578b8bce0a52a7bba6272d059cf5384b36fe12b33a26ebf9205c8589e32fb2cf16144dcf00a664150964d1ba8594aa7aa096be927192f7c33f0d9a373d5089a63b86d42d03e41a0dbc08b9b43a3650b2fb3d09be3586a9f3bf954d83b30d06b4cfb50be600ad798ae6903a0230526a1a97e2fdec48eac2757be16911a8694cf793cc408a0e1bbb3c4e3847f456af2d7c02e7a23428656006a488784dc5737c443967c742057ea11da8386a9885473d424f4c269678b4acf1c0f930d168167948b782a166060a4304cc1788e4e04332f2a54467cc373733e6a10b6e392a7948728b77573105e6e130bc88574bd54dc4b44a11f0af6b0eb97e069f113615d75148483fe1ba0536478bb1d745b5b2fc55d0f5237bd2b1b51406242ce195bea8d6882ed8c3c00e2f96ce3479b1d205b803e5b61ec19e69d1a64a0733a109b57d33a9f6063549020615c8604aff59dbeea47e33f3ca7d54002098059bc16d00f4623104cc17b6025a0ae39b2ad8490b54486cde43f214e73e556b5c5449b83fbb18196cd5c5940bc0d13012deadec31c43480138219e65f16dc3c729c943cd60c52cef818f8a30f97fcf04da1eec3efc26c29bd1777265c0940ee617f09952e0422d1d29b8c930cb150bd726365f349eb605aaa646f8d8dbf40aff57a2143ed618e2bf290a41506b5dcbe1e92d49d9bc57eba245f8e407f1ad1639346cd9100c2efc6adad65a40452c75fa8710b33040285ae0a8e5f71ecc471a5b01dbb2a4b9e3f526e7199a808e0b52b08d04600c2b50d67479c677aaa4e736ec8148195ff5c1da47cdf421d0c2c21bd7bc5dbdbed8909600e6f2edfc114382f651ed6be82118f52b4b45633095b89b3ca5333a8d9496c09f672feeab27fb18f750ccd8e00b62e936686351e06f1b017fd1838d4339f8fb9b6db2474815e2ac0a55e745071374ebd328cc22a06e65c6351e87bdeaf9994879b83dbaed95adba0d7fcb18a586f4883f11cdd3503b18b7912ce56293fab4fc17e84efe2d420318feb3be1d15dd06df254047dbc0ea5a82ba611ed0b8b19d1ff9f93e87c9fc00ce0704e7bdbf44ef916c3b29c46022a318ecfa1c6691122c1cd4c2147620ce26bf22e6e7e1d90e3e65b6d9a12bb09cc5d0fc54df90e7b8693b3e641e692fbcfd27137c62f8f8ee4036e543377b5079832faa7a6e07babf92e66880766c5b8cd13a6875ee40af2de1bd99eb1992d0dc79cd62f9034902a442730b9a872e26fac5a9e25c7e469d16f1b2eef7863d9064a80763b846b8ac6f9e81a704e43101cc6868d42b7ba181f59f05a70ebd75d08a821ef222ee4f66149f956367094bad0b93a4ea4f77df5b6c699b3ace1728a076ed7d515bc6a1dc641ff26a668a7b4a20a3272ff72915ee0904639fa62a4ff0f3435194c79b53602bd0e6bb5b6d6a41567fe5fecf4f9db931f757ef4aea46008ec6a0de98e4449b61d3e9552ffbcee27225f335478938ee6cd35dc6a9164870d6d352d594a175bc6f414a558f38148f52354cd2b5ffb981211e00a64c54bed09a8a27736e045f6285f921d5a044a40c0758ea1a5209057fd7b68601d810aae05fe59aa8d01e7a0924e73b38155697f9fc0b4b1417fda0bc112db9c4c8de68906d3370f7f975c5b1aef087a8ff4110e9177f66b66a9cad98cfb1bb7bb08de2002db22c387cfd24ad01334ac5dd500428697487b8cc9b6ff866b2ca6ed7fb10703008146bf85081339c08e605fdba91acb5af2cace4475001b44006894e5dcd50f80d4a09ad103d3c52c1184b390d45a7d31f62531bbc7fd822750485012d8dd06d6fa9330e144aea89c0976d83e1a7cfde34bd919d70a5fbae681a46ff9c7c105efc1ea3f1676c938266ba7b809faf9fb5a56e35fdf67f70789bf472c5701bd060108eef0eadaee6fea0aa6ae1e2b982d8cd9b644579315654135575375dc1a0f604d91fe99679c67feca854d1325dd936f0d9c0cbd9b59a951a587c0f1956305238d5b651396aad1f4ffd400f315c7cd52a10065544457fb953a771c05a47403eac42adfa9ab828f85dc66543c7bfc0a935ce723758c9cab72f8c0eb6190b10a8c010b718c39abb3160206ae5c7e917dce8e8d83d458929774f5d8c3c085a900b5824ece3a22fdc80bb15f77102b1a8dbcfafd6d6a28691fd3b5a3dfe372ba0d746e10d8b4cde4b7d0f9e3ca4faae0aec05d32ae354a1d3577c886ab11384f0e69b7d93df02a6164915c5ce1bd27bc1ec6e659befe7db74f05b4f9c5bdea120dfa9a20e3b07fb5b4da6665b12e56ccc08a18464a53abc6be47ca1f5033af2e0385beb9561de6ac0a0a725d9d99bfa55d2c67505f254638b01f62757eea0e0504e10df37765711ba65af01d5d05ec27059f348d67b757e956294ff0c2dfdbb4061af8c16312628a42a6ab9dba172bdeb4d1dbd46e01c17278ef1c4f8dfee9fb0f6657e4e21ed0a430d60b0322ea4844268d6b06dcc448bd366e28a04e25b4ad00f5d1def87790872fa967af929717c450ff3d3fb4667e3151ea28a86ffe8fd80daa86344c55159d5a9a52e9dcb6c95f68b194f6457d361c7855182fc3b2142d0f2a81ebc33a0ba0cac35868f9aadc035232e67988bbe8b22732e7a3cfd4d76c08c190e05e1a6f8280099a79659a23669d90460a538576496aa825596988dd15036907c34b4168398be55f6ccdfc30e6838de2db137d902eacabde171af2c62a0a0c8e813f6de41c55d360cee0004e665e85a9ee695e3a34d6b0141f6bf8d8ad0e5df1cc74f13f5658606edb647d6bf373cb820c3e6a9349bdb0832b38c511c00d0f740d849da49d56b745d5fe6663b3b8f20888c95365a1cfccdc2ec865d8db0e7361011b21de2957a63c403fa70569d208b450ca268447831466fb212faf2a0e178694cc826657c24d0464c3eeae5eb2f599ac0be26be9a47a389b07b275aa08919c8a6bf2f1a254031a45510cda93bc6348fa77d01d43ac222514adf70ec60c3b12adcd1125b4ab6eb2d57f91a645c757db7f0efd223cedc14f20b450456a0b74547a2a1da2f0de01a351de8d12d83227ce7a6a2c231b6c72622c47c2b70c0e9d162711e201d433e0a955847e1dae98e6f0fabc6c3e18e476841165f1c5940ae373cf4799c5c2926080c0dbe4133b0c9eb14761d811b8d9d7f423f7d18fa10def0a6914581d004f36a90790035b8d8ebb83309684f397251a6bdc3eeaa3d20c33b93cf7b397cd970c1935be54fbef1948cf5cd2e27c5de94f5e6f3b23d19101d34263062749644fd2bb6f03465540c741da480046cd08f3df8205711398210786c77735fffd1ba946a8be591348cedb07f2cb577becc055c4a28cc460b86f0230c8ae692fae0b2ee551f0a00f2796f2324003e7c997e7f1b2f16a219804210032a5ea2aaddf7dcaac1b77583467fbfd84e00c68bfca1fe598f53e618849e302359244ddb12d9c6378ccff9f764795fc06527de8b286057399c80392ac17bb0419178812465c488e4d7fb73a1dff8f90fcb815f1eab00db8070cb82c8a23960bd15a76aab107fae549aa325880515a8487c44b0da94f00318f15314a24be3208aebf3e231aee064682905832503be36591d140885bbebac9bc9b8af9424db10732e0a981b5a67a40087065f0f511b4bda4be1efc9d18efc46142ef16e539b90a8e64e1c8d4c1b961d26fc6f9fc25a286bb5a8a3a6436d189682295aa2c03e5031cf9c5410925aff6def113d9b2df4e4fc7dee72bf81141cdf02f9b25f9b2370628b206fecd4336a48196501d0439ca730afe9a9551ccc3fa6555dab307e05a0f31f3c518a940e495cfb0e31a31493685de621bb871188cfa9e19e3efcf123d08ca19e71d59fddbfec20e5bc41ffe70144610545bad03c7b1b265ebaae60de70be466f264eb287fe6f9a96358f3c0ba034c734cf97c7627ed83b985389ccabd0305adc78aaa899c3795df9a9fb9d58918520896b5d3701b5de8e8cbf2716b64063dcc10735009b20d9b6d555fc8efdb26491a2e13353f7c2cda654411ae35b4050af1e0b3db88d199599c7413c06befd008ea0ed5478ef694bb2903c24790f600beb1bdc9faa4960f3865281f69a3dfa9492edf5cf00e349556fe5d6bebd4bd0b300bd585268dc1b779cda0b061d3bd032a98a0c2dd3911885272ffadd27e760f689630bd133ac13225e14f5b5d0a4146aa3d905d3b9533a4ff95324b2f955c03f3042938cc28d6d29b722cb6dbd3085a3b530934c5ea4fd9759eb2896cdb240868990ed643f1ad84fac95577af808c7c1b4ff0bb363e35b1989aaae955009606a9ca7cfea2362260bd029e39a1ee312688197f7afcf3f3101d618264a6733a0fc2b155a668089e60b98647927d718392cb1b74977f40f48ef741692ac28fa8016d40669c256015f2611e30fff9bb289e946faa9444df521b70ca59df12df380b3598a9bbfd1388545dbefe63a64e9b44d253639375d0c6a36d15f123fd2873090aa229f7d844b8ba2ddd14ef5ec019c95c76f877d485ee7ffad4908b89ae5100515b66c9d8ad83b6700df320c919e9482ea530f4d3242346fec50863c6167309ef1d9a2739bccb9d8a086f87bddc4227fc71980e1e4b3fdc7718f8e7830a8807e974e69f4bdb7b22d5d40dbb6530c2c0173128e7a01d7f8f5bded4894d8b7d0ee667b9c36cdea5e295d12c08cc42a23a229935e061aaaa469ab53f839d9524022a1e9dc7c14b63f1383d49cfad8855535ffad6799fe554913ec7d06955e8500b7cc18b0e93f5c400c5eae8c02f8c9d08a7756d5c037150e2d88cfc7016943d0b1707023dc4a25293c96aad8e3e3c4e1fe3cd71bcf7e217e7053c8f2f8f08460780c7b51e35d0df0e0cc38d263633b6c15350bf26735a13bc830f730b0b0890014cec437aa6410bd62fd471b29af708b9a56e3834926f4790d2f93cdc1d74e60de77051cdf4597d98e4093c14947136a100f7f7670765aeee72817dcd8e925d088392b778208b042e88e959c7294da675e25a54c36cb95cc93f4728d0c9dd5b0e4b685170a378158291adf5b7e1dbaa29a9fa3127310a0dc61df79dac0fdbbf0b9e990fcab701eb288668e3fb9519960d4b427104db5c85d3e400b8aee41d7208fa66ca999e326f853eb402b8b8f307f8da08e55efd23a6e73d2d9084d40d970b217f413d7c814a965ca571adb81edc50d314508bd539c93ba0f481c926adf706f1c98077448f62021cf37056da3803f720ce8e63cef1a0aefb54bbbf3de18204c4a58f182b10cb47c553bd0aec36981860f99a258c815d20b7147a8caa8f00040d167f3a6c4ea733b1971592c37e4f2eae0bf8f2c5b530cde39158266c62d10c797565a05c78d95e47c002d5e979dd835a736e5939fe036437f876d038ac140b9991b921aa4262b390a0e7ee0319cd6f659376be78328492ed2fc494f75a9804cc4cee6293361c4c2534932d304964bb9ca61519cf388cee14f223ab6e7d460b7d56f1b3869b0b5ada9f5b4fd1bfc5ec90e4148626a363f79adef09ac63c9e0a654d09cea3567848341f43ee484c99db6fb38bca3eb70dee7b635aa84e7756125631a93365f3dd0f6befc532677c64ad478fa8a1f36e565df8fb872047a99b0b824a181750f2e2b491899e2e16f4b06669f4c0bf882373ef57e9c4f0c37f137445b46307e8ea38f524686e8614cec84728f571d4623106d1232bc2e476a1c8ae4ae5a8b3817a2ae865353dc402b5abb14e55befe8eed8860e9bf389092af47e59f55e37d4f0e1bae85d0824860f4bc3ce83bceb4cc66fc54bdf766042f45745de361e8628e6e96a5787274340a981b3b533068d74a6e448c549a601a85d81f32fb7e856c8eccbe0c261b220545f4ad98d31f484f5ab0ce3273f72459608c36a61e69e09762055b8615a24bb2d77ff32487a8fe0b24e5729c8dd24174c6626f3d41729178aa78f2bfd51998bbe6215cef9a8d92675f101072df75ca37dba3522e6f1cdba9c041c26013b0d9646e3ac7613f94a0a62fb8b389b82010285352abc9d9d95585c13a2e760686c8082dbe1e04e944342aeb8a20eef391ec2936b44e88ffe3419c09353764d915c83a0fb641a72cce7a8bc9dcdbc4a178b96b36add2a5c26d8ac0d93bdc6d434970b0baa03bac19251ba2b4720365e6b4ac64d114f8e8be66ed383a075c867791942e288bac583071dd33ce175be9bd9bd20c824a9e8839b0448135d26a2d0a9510520ac8ea2a62bd7ccc5473e5886bde941722584e954c33f177ebe8253c59f140d9ddc0321cf4d8a71e22d3499b19969a8aa82e93df8d58ba9dae06b9e0ec054591e83c6f03786af08dfcfc8912ed7c46073e6f1dbc3b158b853b3b98eb5940fe6435304b03fa68096fa54095ff667a517d8a70da7075ca86cdb7a750b6afc91de476ec4146f0ed46da1218fbbde0a5ca696e0a983537a6cac6f2ff73257eb22ff6a0664907d802d002094e050722146cd2946c07eeed53055625b2eb27a09234ce1dc8bddb11d097ca4179ae3ee4a29bafdef4cbf6050a7021ef8df8e2e8b83c951d90a63aa34e11f359a72cadd0705f6557d387333589a291efa1569f7039a5e1c97e80fae1cc3f919651aefaf9eb6fb1a2998ffa7b60feeb1f94ec11304ccef07b44f7989cd170fc1ad74abea36f1b21024a0098625736589f6bd008c0464f55148e2278fd74c71057c089eee0527e63ff063ad7385bc90b3279d5e7f3dad55ddbf8dbe6d9162e37c4ef6d6b8db059f8c510199ec5fd3f02346015cbf5bd14f3d501dbb6003a6d520276f87ac4b62a70053d875076f638e3deeb64f0075f52f4d88e5ed9c0a62b84c4097cbf1c90426cc35db8b7c45c58cabe3b428c293a22b364ead70a0a0314df3bb8db1d170b2a7766982f9a2b56a1ec89f8d925e08ff68c1cb4033374e5d61ded70d3a1b1d0b299b964938fdcf49b61abc2ac107a32af41fb0a71c06af157780d85616fcf7e80661209ea5cd0e22c58b2b75af36ac219e82ef0bbbb0918323fa5380a815090252cae6b1fa39ce149ea1a51c2df4b5bf7022861b196854c6ef17adbf943ed8a00f21b1efb2cab9b1d37db2df20fbca33bdc734be6f0171a53ffcdad85fef7c9c77388d168557bfb83faa6c94bd2c7dfd0de568a45a6640b89e24d4e95c1ca540a2f555fdff5e1a5c9736ddf3f64e511a683313eafecfdabe836c795cbc187e28b2e9f3806f123e79b7a1ecfe5b6518d4b542429de9f05f285a6117f4f9651915061a561c2fc63398288aa2b753009899265a40e027cb2ac7f5c00da1823f53592d9c93115eaef544e7da00223705fcae160eb852d346dc2771e95cc665bf4db6108bdfb650edcc92aa264c9a3895f8a65c21c9e51d56d369e9117b1cc7a9bcc2c6a427c2a506c9bf05187e548f92e116200e7f6d03ddc884a883fac0162b4609c6347a5e2215cdb38782fc26ee7f59f783fa9605adbfdc71ff8cba989da9b58f3f1947f66ac842688eed0a49b6346c4c6ac550c887efd728db64bb65766c63047cdf20d9c2dbb435e2107216d4d79bd3c34a202fb7874cb0f56b4898dd1f91dc2ec4a9781d7587a698ebede1094c3ca266f09c48b0057533a79daac836f263fd5918dd6ec68c286224d2517833b9373a529af5d30f4123d531dc7e0a41b89be040edeec3d112e59c4236b91a5da21ea2a237c7d9a9254c88c4c99d6af672331ecb746ef3cc68a5ced30b917f32261b36a58490de12ca5c7ce9d0202f7a66740fe4a53a19b86e615e47ab0bba476e1fb7f8b8d30a71317e389f40a7558aad4a74fcb7d0b1de15a412ae873a62f9fab00f70411a51c87b3deef305ef04f6b058ae0d950c3e0113daa89d9a847123bf7d51a37abc6d71b08cdf7489179fdd552cc6411f29cda63a629d17f8db33eed15f82558b0943a48c302e1b752276d6bcdb6ad7108a7e2040c23dd1001a420121188e2a4b69598dc4e3449e4a337592240b9929a306bee911217427b8c6bab496b6b1daaec16b967ad81fba285daf161680bc0842eccc1f7d1d22b47346c0a75ce1486febbee003c152e410cd9fd0938831c034dd0e6cf0b6d55ee51d5800ea66b65267a32164fbbce13c3cb3dc22310a640081344daecd3c05f8f8a02414470a9d5be03113e09a74fb8e818843851ac6cf571e041351b8d3285344a260859e6f58167a6e10d1715729876d1f652e2cec02274b0ab3489aada3561457ff40bb502a4fc72500e5891b7e9945699ccc09a65661c4846bfbf5791a483c8d40ae89483f5d5243e37b29a4723423b864a6c84a1376048e1b5fe6d2e698b805ecd1fa503c24207877cc8b246a28c723414c35555d5aba7b0a2f4370547e896802ed3ef7f8b8af0dff86b17d5552c0e1787e24b480e7958445122eecb96b8e3eea0f04ed23150cf58aeed1e8283fbfc1e7daa68a88d10bce18168b99fd5475f4351e1e446153ca567d7a5bf03ed6243bf16fb6be20e2a789abd270ded84a2ae70890b437f6e72500a489bb24fa506c836e0c1f32e45c7e80885da02e316ab3ce1cc0d42740d58dd50661b259b902febfbe61b1ff174f2e3a5bb0e0595665f6aa68a371e853d4b37bda9b22dbffaf8061b3d8608656cdf540157850305f0d11c2f18e0914a94afc3d5e906c02c129f253dd3f5482f42c6fd8d83980b27b03e02e9f005d1b48dc906dc4c2251734296b2cd516603bd683e85bba3a90800f32bd67f7f435536dcc53ec13c441ca8870e3fe430c986bb2aed537ddcc00d04dd24d82ca7cb855b37aa4f50b00c6e96f752e6e51dbac8521779fb93f9a10d45eb0c282fbea6cb4f0873014d94570cbea65a3fca7cc7e5c33a39d2866ef7077ad32329960eb156a2fed72cf8b238742d6380cd8726638f71c7db1a6b696c0c133fb11094cd50badb3999f86845d3b80a87e475b6382e75c2f93e5df779a60e902069df32fe776a878dd11d2800330744f34a863148a2f583f62d4e0bd3a60d66a3c06f74b8c48dc1587f5065cda073065367bed27092a38e5392900cab6104365ee13030f7df7b7273a9c2769ce52263df17173cee27377f80a39c2999ea0b5b1ec4beb2e742da1eb775711c591a29ae49e91f38d79279aa05217831614104bdbc6c2474d66d3e2099f32f9d9e77f9a0ecc229bb28a94ca9f647f19379950902b162d7243eb807ab3b557984ca10ef7e075baee11fa68cad3670cbabcf7c0222af8cbc81ebbbf8af2eb2ee3068da8da1352b52900ccc761a0b01eddd6ec8014e11214bf8272d98c0a2c0183b25b1fa5229e3f35e2fafbec9a943fc40fadc0080e5bdc6cae200e6ab457fa6826c22883b9547fb080c5f1d81bb35c80d240a0924a3842ee67ef2458582a9119fa3e7de01dce510eb13b415dc96dd0074ea1b0c1b41cc7feb389087bba19baef57de681a4de914ea6f3e6ac66aeeb3df55cbb0c9962c51dd4ea6858d4cc5e8489a48643a04ea33f7b1501830e14d85dfff291026a227d9abf4409102cfc7dee479a5a0b6d9d51c6167b1976b8a4e0ede265bb05b1207c8882e80f8275a1ba8e56396590ca6a01cdd01f44af9523f02bbd281f0177b0f56151a89749f1f3eeb41f234251b32c35479828526593e4325d03a78e07513f45bab4d17578ccf1ba70142192e4c2c46182a573f2c644f8506ef151d503d0ab7dea33b93fe7b2820d6754c047ee68f0c6c3673abc5e1396cc78e5f6880ae47d590e4a6555ccd8b65081ed424f52181ed6ac2f2ea3f0fa974081a96fb90c7dc28a2b097b07cea5c552d0e8747fdb4d64ac1144bcf3e7356a4f1703efa5016c6debe2293995084c2e505aa8b2b0793e7213e1f33fe85c939727dde004390ef5a5c3f55a559a7a95c2b6baebac0936f54e84ef3c3ac7a5312017a60516d40a1139722067002d062dbe7f8a99f3d71009ebdeb7d3f61a71ce8d5c893749500ece9d8a599ae772b2b5963ca22cf64b1b3fb3818902ac197f1700490c1b18080eb904f244eec322edce1c28c2103596a111337ce879d7a8b9ff161a41bf552b0fac3f4731f570ab997a9e4c6fe07b12b4deb3e7ddfe80922b6e1ae67389840c0d6ce10276d3f28e58e8d99f3e2840e6984478a2f4f93b2f7c61cb18b9213ed2086491adfa666a2bc325f12e208893528f093cf141434ac0709bd0871d40fd0604fb0de1372aeecd5721c2717850a034310e513d2f3c3d8b2553f61adf691bee0feed236327b9a35d26bf488057acbcced717389edd899b4ecc6364e596672170cf671d8fcb84a413aabec33453d6c076586617d0b2ae3050373719850a8b1bb0425649057da1501b1de0a8157c6ca90129801eabb109f0441d76ebb3e66e8d8022e5e31d4d716c4fbe1e8896cda03cb176b66f550526c44513696e40f6995bd0805d1a6c82552c89905e60124f1ff62f399f5c13bfdd51b34bf423f4e47788e00208bbde55cfe84df84f556f5bd6134b6ec5cca7f343a4996430f83a40ff01d011ac84dc9dcd2d626b7bd36712a51874a5d4718910a8320f0a791e485fb430a0686a84700d62c0c1d718e73f58cd7e490350c27ef8b20d1f2defc176476729003c8899e51a94d44492e10ee58641577e155ecf9a03522a3a47f8f52da8c646c0c60b9ce8caaa4a9560eba2948f5626e450d1eeef5bbad97b5b3165a4f3308aa0b1c9d22712d5cf6031e4f723b08545437461bd1c86be1b7dcb4a9d8ea1151f307128f8ec81ddfca6d76814e1236c9c110fde25da3acc0a420d51f08556be738019cb774a71d0a17341c38ef6b19e6eaf99b0ec2c5e035b4bc25190fbf56862402b625ad21cf95dff8baa7cb6f3a2402f81bf5a09c069f8bd26f37373343cc6a03a54032fdc863372e65cd4522e2b87a10331232a992db2556cdf88c80af47c70c533d32dd5a31648f52d27f22f8013a73c2f3c23e9f31f965d206d981fa25f20ab516ed95cb675ae1e27e330fa9a5f4111ae22024b3cc7ae3a18783690c107304ae4ad44d3da76555e4300ab3bdccadbdbcd0b380229826d7a61be0e96650970370113b685d7e0fbe50604fddab56a7e8efcf76722eec26c1bcfcfb4dd258730287638195bad698d3c08bad704808c25d3fd7732a1e739f5017a822a32a07ed05989be3b4ce8a132e5b0754e8d0613fc175e0787f0cb3ac02aefe41bcae7e3706dbd234895f17f63b883c770e4fc3fe92e43757bdf8ed90c3e91c2718586c19063ebde4162610004bfd23efa9239c4adcfcbd099a4ea796cd7cfae35a82b5060e21f7ae31cf398b31eb8123c9fe4aa9dc955f8766ee3a1183f87b8e244e401d0df2f21abd3cc69626d79476f98d81f911c39d192b898ac60c84ab6aa05a68fa05820efeea91b295669a549a3092c735e9cd6e11931e31d94574460ae35adf1102c4650a25a4e10b5407540ab77d45f69a789c67b6790faf2df4f54f07baa24b0a1925a73d4e9b72bc2ba3c912fd2289f0678211632fc856300a97291333ee7602cf78dbfc92872bde15d1dd4edf26dd5f252810fa0fbcf6939eb796d1008421074dfbe611a7f882cecd3d9683b348ce404f170e33a48daa450c76c731c980240ab355901c39a18e4856046bebc9feb92f3893f4fbba03686c30f6a32b3cbcdf0253020a47924ecf80645451406595c471d1e3d1c131d205b9ec17c7c9d99bc701985e3db64b9edeee272bda24b4b7d26ba0b5e14961b6c0e44e03cbd8c3e303005d96dada7b40962dd7ec148f368f7768a2298b447b4a61d5ae63a55d10242a01d1bcee4d7f505a77519cf84706bbf9c510edbc7213516ef274c807fd2427350949f18449a22bbe53df4e17a505d59191552b49dd6bd6038ede55d20188e05300a2bf01c4c7b544a504d4f2a99a443da93a5d664539a92d9126e9a9bc03f2a3095bea9d39d3f2e015762be2e42730f5a31238272d1525ae93594abc6244ed2602a267c0d11e66d5a7e8506786a66b616d54654ad6060aef395e872b802c45860e858b53bcc468794840e27245bb34bf5c54de7aa8e741bba24eb34f702bd221022ba6e9038549d8bfe9850a2d08c596a1d35c215984c0fe99e5539f477a098801f3079e309b040c09c3f1582632187da7712c5b0d9dcff1db571f9d88117a1509f968fbd6b24df0df4b28d36793188447fc1d55fdb0e95a60cf325465142e9c0d1f3627954e1ab653c4f85a7800306a317367d237163dbe433ad65bca9dc1e10a9b8d3c256f33f45a57ed3238c820a9b912a4e13d7dbd29df63191406b098c60a8b2a734e66360eb00c1a01ddce703d079ffb28b9364810b85c5e9e8f2e56c60a2eea10bfb644bace93ff94aded2c88a55ffada465598d7751d5ea541072cf9012cf7837353c5546c53642eb62b36a232af9c48196528a91a34757b37d160970d88a3918a2eccc02ae830983c66b6da78ccf1d53e63bcbfd7b94843c098d39c06aa63615aa96fae494e122a53c2b8059508d9501929e271f21a4fb36c07694b0f1dd134abbc05061320faf13c5fb9adbc54773181f3ba91528b87467b844dfd02807d5630bf44a0260c23b6c4c7772685165fd27ebbc521c3b8c346fcc0fb1408d6ceda98a1eb3b37b7061652f8c37ca137d691111427917ab29362acabf7080d22729cd48d7c9cd0f4d8136e15bf8f417e57bd273708d8f1fc25d68e57e336082474028515f0b7621aae0f9591f55ba651baf806b3dc6c17dc87ddb47c67b208030a282881f473e954e15fb835a5e804694659a048dee1108a181f1bab14350ddffbbbd5211dc97a2e40b09744c2ed65c24baa62f0f84804ed68c7a64c2af604c4ed564b0b5222b885866dd36174e536351b429301c7542e9f8c522e5b60f70c8d7df51e2ac2b868d27dd6c5981317e6154726477495706da62406b5a08b2103fec6fa39cae90502cac07a9d1e0b7a36dac233bcd0cc746f8dd7e8177e9265005eb6894d55b7240f965c80eb1c59c1f4ef73e5c05439bcc43a16b4a8ca7e7c00c51ff57b2d0baf22f6c4570e5c42115950348e32ebd809506e5b71d35c0e4a09263417c57e0a0b4f62cd1f3b8ed09b45ae0ce0b7cb7eb734243ec42cc38675005fd791d4cc3de05fff7c7e940b86316e36419c58e5571121bfb23b1e8db2050c9138275f2dd7f30c162255efce299b4d2e1c7dbb84bdec13ebe4f43f2ce62e002dee6e64791ae20205875300af38b122b69d91ce88a1f2b609864849819e5303d7fca2f7969ee28dc29ab8f2de2e2eacfc4cdc7c99eedb73796a981fdaadfe000387aade4b9c37969f8d1953de540b8018e7e322e102357b8f822850b703c207d28540df397eecd8f2f85cbc97fe27a8764b6df194b8efaf0f009e2d3646000cbc000b6de20593d0ea33113eefc49604a7291d75b1e26758b975782fb6e62202d39b4a18a6e3e6ffd34fd8d15c6c36314476166007df07f487ff1da83950c402f545768e1b7d83c5affb8b2ff6292c848c863cac88edf757558ba415b1881806c482e94f7933ab7445258f28792b98b17dc0555b7f16f329ff2d70b8c12cee08b09fa264ef3ea5d0a6b0ad6e3afd17ee79fb82d9555c3a60eb2f8ff4464d1e0003d36cd5e017ba53feb4ff32d2cc6b87bcf06ffd247e74c267f1cccb6f988e016f510690f89456f0e037744318e7c809d3df7578beb00a175da9f7ad227dc50c98372aa338318034d49bfa0056f4e7fb89d865eb50e2092205805467f9713d0847566bb89f837efa0d6ac47d6b66891a4658894b3e66f4adc03a4df8447186019eb2995722563fcc7eb42bb6889d5a8009213c3c35bac6ceb3ad92257cb5d30ab3df50825d856b0db46701bb7b7b8e4dca9b399900eb38af2a97cbf9a3ee250a682db7e79cdeaadc8b63130511c317aabd994927a74de3421e6405ffb7c2320a9ecb7cbaf73d707693c6baf659afbbf964884d84b44b5518c0efb407e64fd50f8eda91cffc7878d998cb45da3c7c00af6386e848a343a9c3fb4628b984634f0b49b713f731ee5e47d737d432a62d6bd975f2238ca0b8a5b5c1d2d7bf56105e0089de39b687293fe7113b7480886bbfe6ea936493ec375290ce5032004545b407f615ab2b5d881ec3b80fd9fc0d9c5ac13889384cd7c8ece5cf03e954d2288e02e0f9f564daf6aab4459e091e2c1d72a72c83f3ca138337689738fff8856edf0f563141bb0c23bda83a8e0772c124392c39576fa51f15feb4b9dbcf9eafe36905a584137aca2b0c119b50d2fe7559e4a11120d010ad7065a9a8ef8c377bbde70dd978b5f2b7df1630c086bc3520a46b155f0f64359d70fdc1795093f0cf302d0fb94b894ebd5a58cd88c743196d01342834687b1fc45f3cdc4d37c45f01da5455fae5adc4ae6ba60be69b0fda9965a14bb5b1ab8304ec37e493c696c76212ca81e1320c8f44300cd31ec329df67e10c8975dfce15c9e0c0f6edf37c4b8015cecdf34cd6b1c81e3989888eb508945607f1d52f9884154090f2db79e7efea42aa6e35d8997f97d161b2c4a71b2d6ddb262fcbe48b5323e21657c1e1c3a3de3a99e5a6f2cd2b07b5581de751772a0962dce4f5d1665492b6d8a1a8054f2f5c09a1f516c9c4ecdca25a2d94ffee46d02fb6fae2be3d4490c7f99b3a98cf486b85e214f449754bd97fc50010e0fdefbbdee85b1ae67c5cfbcf28c6d12511814884587d9e11115b077326c8c047ad6177ecc244699888e84c3bf6146a7f06495f160481f314c9c491c534f207dadcb503e8ceb14d0ba134e3d98bd751522020a8f7a1e0e7ccc03d738f39b4ba89203a9d3a9940178b934d6488b706afc44f98b1a991bd154f3f70d4fdb376feab9987bf4374c89ec1b517b8600a5b04a60a41537f2690968e451055c5fea7175c1c548ae1eee3e47e055c84f450f58ea655c7149e2c8afb9f4ca066d6b17d498ed6c03f4c5619f540215e102bf2270d0e4064c6c568548dd61978437a6cf88dd764cd569a253a15c6ed59fecd94706bad8c22f75aab763c3ebf66d03cc33dcbdfed027fdd3919def67e03f11763f7b24afd8a4554c2d5858aa5040f00442bc03ce797e02da70cf0b2760a45d33da87cf8fbedca958f919ef89e3a91803a39cf9136235d6edc42e9d8cdd60ff2f46523fe6e3ae5cbd39f186b38aaf7e1426ab29f2f7e6d4d97c2cf03bcffc435cc898e61603029317b9b3b4a69af4ff8165ebe7362b3a18862be2da18b30a84ae7da4ea2284f61705f495215d94332ca10d777e730a8d40f22b2a107d912098298bded2045e88d5a18e1f1be2e22d585024ba75478debe99541723d5c0d443e86b716cb1b3a45dfc8ad0af881ef4ce268ad8d82664cfe35462b8e95f7e7f4df5819b4c77728f5a41823005c436df8d50fe541e99f238b252e9a16c9b759ed7fefd0880ccd6f66ee4de2517930de8388828e6fff34e134d27f13681cd7997455c572379dac279cfa43c518d42b8eea2a938e0d84aa796d4d603833e179790f40f1614fa4fc3f5d5a3f71ba7e534112a282f338facd23b5ae93d323071698b02e3803aa6fda2805867f08d612bcc2fc62f5a95e53a38c8ec3d19fbf149c2f6aac733a3886d0fc18fb6e128446765e5a63b49feb9af9339c897d7b5f654fba4aab38785cc63e31267ad0567f8ae203860f81a96de0e4e295a8497bebbc1ddb02fce003810f4f7a5d75602fea3f2f7aa7b7acadfba7055532774e715a7f637475e0e9f7a89a73b99bfb0c0c33626b218e3d8e8f5ba7f90be42164e6431f29eb55c992bdfec24fda11fcd25ea4f36b7ea338b2b5fda4dbd6897c42af5b38b131afd9257e31e708de5cbaf09421e35edf698475e5fd8fe9ae4bb310ffcf06c905105fb934ad45bcfb11a824cdd81336748579c666c0ee0678933ac657b2238b18138bc6536692e97e68a483a25401d2788a46ad4eb835de1b85469132c2ef46f199f395cd337dcdb59fc980da3f11c5859a1e9d90951cabbae79ce49d6599ece7eaf29b2bd6dd32250bb07fc44e1dcae345e29c5f79137affee02bf2327a937712278444d92c8539ba47f992bdf96a0f5146cbfc5ff8d8c1f0be380bab2a16d13f440994eaa6a07b68add7abed1fbb1276205542f2dd2a239b1d142a41d2611c528a7e5e9391829d6457238a2e37c9d5fb064738350d4db736e5cec5fe63dbacb8774b4dbf50c3e460f3238b7c0053d375c8b74a9a596ac503385fd663c0b9739f4ad86174354c0a8f332ebe206b57a8c6c13d98b82f0936c3e5106c78676da1315a304f09f355049042db73215ee196330514d74fdc4757c7ab85ddec1d0bd370530655dc28eabad424633887a7cef88cea66a08c1156113367a63b3aabc11aeff50dd83cc6223b9ec1156245f40cb80a5aee94c35d0467f37701a5d9ea91384f7af8384dc72f377e99e0d4c9f71b0d8c283b78d4fde6aef9b1a2e2a077d3db4932f948f24f94dd26c7c34dd50d7dcece1bb1712af4f7180efb78115e2de6d918d75f469f25d00baa234927b1e5460fc0a4c68f0ac1e6b16f45795dafc4e2c54756cd9e4d2759b279af2c4d1dc3fa0ac5b800d2f4fca7539f1ac066e49318f0896845184b17752584e78801ebed6681b51702b87c8f39426a54b1f10bbe4ebdf09aea279f8d197db0848cfae4716fb7cc04836e8bef94ad22c0738f2d54a10e9c60633bb876217f34c46dbd0d4b024a571515b394c615f92b9c10765c55aa9bcc37689d8129dca019fb9ad8691d451548ce17b8b3857caf9f8a9a369dbb758e7f04ba21faf47439a9e0f665148cc24240775e376de3d2963396609a3b1ddcc0278f7ecf50ebac30a3f2bed9ed31d5c00bf1b8f293c9dabecdd9abeba4323089ce0f248e355a50de7e8ca4cc6b5b541919621373e9ac1515bef2977b7348624930a3610a78161cf794e7aa8ac8f2f1cfa49a5cb563214db74302e2a019df33855b1f84c6f625d4bc865bd2492167fa48dedd96c99b5dbf641f83bff7c6809ae5a57efd47f69bafca9def65e08dd5992e969f1e33c316d4a7ec974a49e81ecf91d153876f855c5d15dd041366ec1ce0c5a6ddfee1164579da1e54f1c1b50536f3766371d140b5562bc4cb6e121bf42fa074a052a6d443c33a3a1e3cb71cf69d6bb792ffe1c67bce6e1169496268f057c3950b8522f25baca2e2fd323eca4938555ae6a7eee6b1e8b9a49ab2d2c23aed6c9f87d5cef49132d97bf058d3fe26d14ff3583fb295b49f1259eec0a60d0312066825e01a9cc0d6da0feea25244d9836e4740eddfab6702209794ada3094cf9d95dcee85fc7d9d4d6488e9654cc32b6e299c77298faa602e784711ebb0ebf26a40de3ba05451f1dbf068948926844e1f688d5e8e5a0dfd84f76d4d9ea0b9ef0917c8146c0e573096afdb032520e68a07f500e6a82154a232c7621856f0f96dbbd0cea6043d802fb6f612247cd2298034c4cfa3a9d50eacf2a46c9635a021cfaca32c6e3e04aa8102b0c9160ab9a86626d2a0a3e4ec9862bb0bfb134a10bac73f31bfd7dae1f64daf8e104c8ddf4e7ba91ac5a17f0d329b431135c8580011b1a9abfee16348d92cef116901572f066df756f4eb3cd8e165af38781c0f803f7dbb19d21a58dca53bffcdd4e99082d94f7c9dfa63d70e13b821e0ccc101f0ba73a734589cc29eb18c7643d60926a0e188494e7f8ea22f9035b489c077f870a82f0e38daaa253a3cba327a19622423d9a0ab52dfecd07554fff6f168594ff0b055dce3d487f092fdf2299da15b675ae23d596a653d801f6747f9ec9171864052e684838051f3130bab825920afd6e08ced3b79196686a7994574fdf3a6a7207b8a25149a6ce620552256fd3152418c5497ea4d0be909d5a3caf2729349ac2071d9fcfc79adb408a72e60e426e99fa63787699d2239982e36d8ff3542744ab048372a60fd1abef461c5b9e123917b53750082effb35676ff45472ffed047c30d69885b8f92fbcd71fd9931f4369d0e64edd844685da117382ecd782efa775402b14a28f8ed73d968b088449bc688e7d3cdf4a1350ebd55689ffb369d6e09ac089e53f629ad2fd33ca44e84169d2db8b5929f1488dc78f0e809e70239df52560f7714b7735cf72c7efe4380e61e83240cbad834d0c5c3e5d8e5666e852fbfc50e04c70210af47cdc1fb1c1e6339d9d30bb2bdaa3113f4ab31bacd33e237e83e004f1c0e55ab80caf7c169941bab4ee0d6cd209ea09582b73da3a26efdd3d88c06ef679311a0abb5489f21621068c6965e2aecfcedbb8302a3f34622e4f3e3e306e92fb476633f050c9f27114c5dd0007b83543cd2f73b28463fd3cf10762f8c0c3dcfb0acc1aa31afe84f88452f60f5a1347c82152ff7a3b6c90c6e37144ff10b5bf7f940c055ae4232204f2532300a74e38dcfc97b8c8d81bccc70b289d09a0a4cba2638e0057c25c300ac75cf425f525aba84544da6a438201c987546410f0c319c86b42431c2d6ad1376e26d34e1d49d95dd5725a6cf77f5250ed40ce3af0a5cce4124316ae70b5164f7de71b277008a5a713a8a548e0ee643698f4e5d230356149f40447c7ee59fada4f30eb3c701977411679a9a79e45fd7c32d6cb1b80a4b8c773c656d5e84ea49d773934a6a7d29159fe9d9cdcb4793d39906c64a62080c0f9780b28277156adc0df257c065db8db4a8997396962de24b06abf8b3e702522a9a23cc77adc8812ce705795ee6b36b8bf0b15c00564176903aaf442b750c473d83cb37891d47c06652e47699641e5e0b5422e13bdf7889de64c9f6e32208837ac7e499fe725bf0624e038f6f1dbb12d763bcadbb718feeacb6af62bbb80b854822e5fbdcb0115c3d8ff947dedc7ea338fa5b0b28e7f24ab89524bf217c0a6f433814b9ecc4d4ee97acc15e75bdad6e06440869bbdb279ac987f2ca78530e3f45b9fd3ed2a334942857efadcf24b222187dafb400681cbba7088c8a819f03d8140ffb290640dc3274e06ff8379472b67a3ec0d15e62bb0bc2d60799dcbb020e80b40ea0ff2116d875bf825cb4cd04c841e2d1ab903d13b6b8979d85141d0f602794e72a7df0cf630004cbc2a6af5df49ca352508834df16f300a1ad0e2307202170f84c148789467052f9eaa16600445053bce480a2db3c29f1f864f14f099081e038ea978945916eab57eeae180b036d561aad9c2f4b797b4b520d395b0bf581081efbc62693ca2d6046fc47243c74eba9556ebd739c95fd47b8ffc64a01372f0f4d36722fd8338b3cdc9ed00887e2337b1ea8274d9039455c4190ab720b8c6bd3c23bfd1528af0fd912548ef6b3962bc80284f51e42a5764ac150130500e16bbecddf38b621741189791bd756ec65606817f52819d9e68408d55c724704ba7670d03fa19042c2b5ca2dfbeba236151e8ed9ab5b402ed0145a0ee9ecd60b1d992ac6c89b7889a85605a9c624c22021d596ec8f9e9fe107e0c38376504105b2d06337a06c95165ad5fafa4dff0ce2833912df82659ae743cd864582fa1e01384bf391a5902fb2a953c04ff2f9d3303d4749fc47ef422fdbaef16c188bc2062dd89458b16964d37fc70ca8a95b9268af361f33f9170b1e8abc457412eaf20b8823256a61f32faeebf6a5609f2598b676427f1d4701fe58849b29f17beef90855c8117ecc9d8be67b3a30c5b0a74613d5080eef993c012fb2b03f4c1712e0046bec5b21c7d9dea5947c2913396c068597f14a252ab4d37fa177a351e37bba02ed1bb5cbdca3d98277ef53fc83806a12ff1fccfe4ec522393f4ddccab619150ecce92dbbf25c474d083315297cb1a4cf92343736afd97ce2f68c49ff3a3c6f01fec45fb26e8b5d6fd88d0575123fa44cb3348abe804534ae7f84548ca224f707a0800b700ea5c46663ac44110869bf0ae98957a87387b8e4ad2147fcac4fad0e10dcc354daa871f1d5b0321091189a2f557a4511c4a37343e2017f8018596707d86ce39bc920e6370ca820b642f1abf3c45f5120ce85043b13a3801ee3f7c50e1d7f08ca186d0a0d43007121291cc729e926dce41c418de8922509a46f04a408ba59745fe4278f4b32de5cae4ca87da2d6c262e1142c0e035151150e7dfb880b709498d673bb88bc1a399046c162001c75cf066e6f07398dfe2e55c7417fe40a42bb0eb79cdc2838f3b49579063a6f3ae911d9e8d9f705d2cebf67d5df06760bd844ca3b9a6296348869280dab06fcdb965c14e7dfb08272670e7179de0f7f0c8f75cedef4993183010a65b39c337fdfb8f7a1a83e103c7dfdeb3ecc0ad9140332238a1adef9d8a0d0d25bbe7a7089fa62299de12b951aaf7ccc094dd9a1f5055328a7fbabd0ce73232c203d3a00eddae99d392066d42d563c58d14b79e47b02ffcbb4713c29f298c04813485a203fbd39f52b94e562fc9c20ab34b530e52f06aa16ba805b7ee540b096a03892b4dbfc3d959bffbae4b534df4cea33d1dfe80e54d805078569f659d38841dcf039d3c5f6c425d0f7fe12340ce7bc17b8d35a04e73d302457a8a0bb0793a1e5896ad2070d8f5b0d2ec15065479fca7f5a748404d765409ab7de39784700d840feb1bfab4502c427f28c512663406ea4b06ced06ac73ecb95d05515cf26821f3b4b0062fa93ac3d294b1d11bdd7a09bb934c170c60e2e03bbc274b3618708352a01c724dc9a9fbc6872f85fe3ad7905b87802d0dc73e20591c362ffbc5efdd3de875066e80d102811caac4df49f787970ed19709c74b9e08ebda32b20b57838a45e66b9c98a7a5aa9a6ce5525021baa00e04a703f11805594722ac1623481ab6bd47e2cec64f3378c62b20d89ce8142676a2e50ad6b86e17cf2a1cce6fb7c9612b594c8cf0abe6c9de81745fce58fda595ba4c037e9f5f2651b64f1bb2a5321d17436ec67a56f5e5e53ceed75d9e08764649110c0da5c76550f2158cb7ebc1a43f68af46c1fee9a67878cd6eab1e9620e641920bb51bff5c03414b33a3e43089f4e3c8f459794f454cb010881b78b7c6cd6d510b49a90420f81b90f2d3f137ddab1c6c9dff80d2836795954bad8631c6f773cd048b1d9499425a78107150db5348bd780b9faa6ef8e028359f52103d2e70b1ba02022e3f58d58ae252dc3e7978f93ad7e851b04165af9de1935774049a6b1fb60f3141b0c6d8c04268fb2c19a1cf361d43b3e3d3239aec3ab5508e83472b2de2031b6323c21d58e8318fc1d0a5f83a26a22267b98c3346dafacf3e09a380a68c06d5b433797837827e1b55cff81d7e1c87c266e05e6f0487dbdb6837a89bb6cb06807b7821d80f39e367f21e2db437756c549a501ef179787b94cadf07d534d803ae891c325420d23f3aaa5d42d0c02bfee37a74d3f99a3a6f6b30d8250a46000d082601ea072941300083bbe3db5fefd7cb92bbb09056df8857d5d2856722f80be9b88d086e8e9c7ef50a9af919ab516c572a9305ca4eb3001311e2e5747559098eefe9df874d5140cddf2a02e9b18cbd2de94f84637d866342a1459e2daaf40ad8e66c43d2dcc782f6521b1940d0bd56e347b2f24b086b7800a73d59ffb26d00c17a725aed1b14701c371776e7b0fea883ddb8d4a1dcae6247fa738e2535ab01e378bcb749233d1c8109cd1848f53861ce67d89cdec9cc034700b39509bbb7035d1176d942a07bc8f3ccc732465df46a4c28efa145b17e1f5b98d80363fb33077bc4b8144a38384559e633e2d4d8da9032c2c5632b972583ec3a56e436dd0c031a39f34f27e96baf0364761a91db4a7cc07e7b26425304ec55f68a3231014404af8be2b3c5f5011901c7239b8eaa863326a11b025015f3f9f10f3ba827afa9054b7e5ca93bc4e3822ca250b8fcd29b6cf020f04ebebc31f986fc78e90485e10cc20dbc0f93ab7be94b9ebeeb44ede7e4b515fec59d7615e2e325a53da669dc0c63fe3960f00c2d192b2f0b8e0ee240e7eb27b30d88f7c7b56ed575eea7a48a09fb8549844629cfe27efefd5d95ef0b659a4b12b083328441b919f8f26ee88f0767dfa7054b81f2bc02c0a86a7a53aafc35a0340ff25e52093abf12a78574bd0e6c1040b05a4d0281e47d7e08be20f5034ce1dcfbfee4dece5070e3252960d00a96db047007c6c519b8ac22772a70eb5203187ab35b2e3c17a17546fe90b1610711cc31251d1f8142a7733243f0e4105e43158a8579e2502268a9533b1cb03c002542a4682f33deee64a0667147d0022fe957f6e0668f245008f7e84d91f8200ca3ff884851b22c34f635b78c585bf7b77535865d9a9e37fd055c5f4b70c76e0a032357d0f344efe50d80bfbc558be0635c01ff6db7af5de75430e73c7d6a560d3195930c3dcefa06a471c713adf85f1961c1863296cd92d0c4711e37b267200b92469eb34753be260e25ac0ead010c9ba2a3f93e1a276f100b5f64c927d7b30152e902344cf4a3255a61fb7851ae6f1ac98e605a5bfea4fcca11b3025b3240098191b5e0f608c2f3ee6447b604c5f99889f8221c2a4841bb46db43faa566360d676bf899f2c42c63ecde2231c0fbb6e1e034ad7d5fb7e9438a614e56ca2f2a0ffc6f03356f5f10568df4cc6c0a4119e6dd3a4fc1742f7b4aa127e01811307106cd1cfca2f6462945dae6e2336ed118402b50cc2fa0a0e1a5dad3384d62e5410bbe8ab2b7cea37e7fd862594fa4ff59482f0aefae72b616ed1503d0f07752470a17654b4462afe8bb01964a0f01d68c79626d2e794260926b8df939491d813d0eb4cc839f46c76926b5fe01cc89db7ceec994c1f652dd448fe6d8b7eadef5270d70dda63f5e9d8667ac6e55af11cd03c363ee888f6d0ec0083716dd511346d30aeb3b0ced036a4839ba826ededebd2ca6b1672fd4eba7387a973fa6ed229d760447bca43bfbedae484c22d244822f98ef9cd3c76a5f8fcfc05a7b6b93355a92000c98d70c2ec662f025644ab0694af26880d75dfed96e1f7bee8952cef4ec0700cd5aa51a929bf957530f0e884cf3d5b7b87225ae00dc95e02255cf7ad1b87f01d6bf94c16b9770586fdffe5e053304dbdcf180cafe8c40a9782dbd4d494ccd0778298c7b057af9d6b9b557345665aa942685a8fe187b15b4ebb5df5a04c00e000374bda7d997e5367484c26290c4c207e43eed04665d72725fee7939b5693a0b793c85cb75780e552914c862690c1a98d95b5019a1452f385217ac465daf600b0b294ad137aacdd0b228c8c1e13aaa2179da318f3026ea1261e5cbf89bd0940d0f2e29b903837f851d81c86258a390a24121822db497535f7c573f8b16cba90a1b682d43aa395902c22c13478452c8f7e9cc1c679e28af7b9db122f42a631d02b1a14b38094e9fc807baf629603a42080bd1c6ad22e59de6168cf414acc37c04cfd886bb1420fe05945b4348680b5b62b2e5c76bceaaa7f8fc232f27ec59fd0e56e780fc4040fd9404fecd4f99656138a1dffe0e2e9904b90dfe23dc3691a70c917c46071da02d3a390f0c37fb5a85e55c5e3e9ea4afbbc0773c5c5f54715b0149d8bf59feaece9a6e067e8d496f55423c5183e0f33b98d115e9823dd65fce037c8c02bfb6e301df0e2a77fcd67531cc87b2c207c695c1e1a016a93c93abbf0d4f8de6908cc511a761a6dae25b856d33e378e42004d5b8a4297ef3ee87507b0c6c6a3a15397ae01aa07f301dee13283abcb71f751d8f10cb8cbf479856e395061d6545533cee3c733a2ae99b8bb2293910c8452fd224604a07c695b27d98ab01d54d15735aeb41bfb635075dd763c27b842fef5939d0208dcc0061f72f30530eb18ff3b02668b2b006ba0f638b2693c2217266fc715829b54eab923f0194d90b7f56dec1a64620b7420b8599e6497997aeacf9b5232586ca83934e13c6275902960b62039f93c8ca6b2b40c2eed1f32610bd7a72e7f36c2ba58a75287a8e840d2caf6374ff8f6ff0778b937ec2190dc88a5d086289920930e92e226b42dcc4046744ea55a01c349009c907de7f849ea9610d467c47e989cc477127df916c350dfdbcb37c6eec0051b38e363fdeec48806dae1b858fccc372531a8a406f091202d2cd247bf246edb3aa6d43a3ed58a41b822777c0cde9464230dd7c7754b15a0feb9272d7ad16e9f27456f6327e6891e004a1d03d17322f6051ba8f541f6aff0c59c9d047963ebf84a7a6d69ec8a1d686518cd50d0de117fe71cb5f16e9ad0504eb4b847ec02e17ac2b1fce45bf3367efdca302a7990bda824672408c1b99390ec8e834b70862d5337fe57af43b8e65dd1939f05d78ef469f0e5bdb8279e8de0bc10b09d17f5efab18e273e5f6253594d09c14d7710245223c6c435019c4dac03dfdf1b29eed77d408169da4af23fae0778a02678d9b2b9a25cb87a80507b24088c56977ad9ddc6fcfea051924c2860914189b4214989099e97a9eda1ad0ebd0483972d1daf88c038626aac2e16f17d05ca69028ff9af5bb136c288bdf8b06d07ccd342032845c4ffe738126a1029d0b96508d17f9dcb3897d6179c3f7c45de0d0be85f985feb78fa0050d5726aae35d4839f49537e39db67b16640b543ee320d8f8f798f5ded09ce1330983efac81436d68f6b20a3240b42bb15047c244a380fb4a2bf702dc28f89f5ca042e1568ed0bbf7dce5b1e20f9b920356c0fe04c3f049777406ee6653c18fb65f4d399abac285459e0ba94410c471383dcfa75468a0a328fba856a39fa07540886879cc0efb62434a5b7ee4f428b4081d92554ddcf03db8c26b9bd1d568268ca14787fe68aed7a9dd997c523c0399e99ff557cf3db0fde3665bb30c3480fe45735a4f36dcfac8114fab3393eecc10e6893e517dc4b0e2f039df9a7b5eb701a2cf4ffe49a5f2440fadf5513052c174f6ceb16bfe7fc0915a0e53ece32654c54943ee340e8d008d4d03b86709b9be778663ac64379b30df772805d65f2d290eddc4ea15d1c3951fd1799b6dea36d3c5f55a012f92f240dc545ad0317b07ffcbd11762190f656b754b1cc74495e913cb2c633821f673903647e5d052ac103b237d979766de22c0cb18808f094d0056c05923845f8474101b2d667011a3c113470f486492a1853dba36a60b8dacc9f7e9d6f707d500a7f0b6f84050d83d36eaa00e6023e2a1c28660fc143bfc86ca36fa929e6871b95b90dc0b9b87f4ba80a3b80e4a82a92c61249e73fb7997e156f4600dd008eb1fc1f08afd11700d81c4b1e52f0a84fcfd0cf4f2964ced8db1f09eb0acbc43ee69a26017bca139f10d8088525d6c073dbb5ff74b569c089ea032b6dcadd169c89d0c108848bdb2bdab72c436ad4bba3b64cd5f2254035edb48fda0d1b9e981f21aca4029b244427237bdfa072c162f9658fb54f967bb7a2e99a6adf6638991ceb525c079980afaca07079aac22c9dd8ef10372ca5f413a2b6100fa9183a9afbaa2d8b0c6fcec61282d98a334c86e96cd00d0c73fb19b4168e37819fee67edbbe9936404297c9a4c84f95e2f87233bdf2033f86a508867358b80e37c3b655454216ced0de9cb9221e6c36b7212cad27e4d96eea76b09c8bf65f7632d00e2c948efe7f80dbca2b01d73410941012bf43ba9c32327979a56aee451c1573c421431ef22e806a3861bbea4b075a6c06dbfca5523432f6a3e4d9c27a6005f74fe28cc8dd23509fdab94ce9fde6c914186e0b811d4bb132951416811b9dcaa2b08587a4e071101ab44a2d0b384605790355060e19aa5b681e4ce0dec743794a7144b2fe6b98a001054d21329f8cb87ef7ab4e1bd28e7b270970512b7a651e6208a7d537aa5ac09b59c58eabd8ecb133309d0ffd5b0f9a3ae6ff0aac60716e5724b14a165727100128606c2515069ff8f070b9ff12aab3d5278ffb0f8a522d9a0ee1387fa31900ff8ca728e89204c5a32c8bbe4be55561f9b1e16a2fc23a8cb096cb0bb656e1900475098168153658fe4db62dcf5c9ed4434a853f6841058b7c9b1edf3df219306cc3648248b2ca6c0840b401c734881d8f45f2097b3de9eaf69ceab7aaa75ca0da19dced128302f3dad10f235822037f04363bb39b78033babeba172b2e8f740679efccf8706661c97452ee49596f114060755746405005527dbf3a56213f3b066183d7bdd4e4b4b199b6443343995d52259e459cd21661342606e0c4252d6406b526ad202b57bb15ea9b75e490726ffe01460775b48ed5c1d2dcf2c3eba985071cb1faa1e28a618ac1fb4835f8ec7ff6dbdc05d285abc6d25fb6f97bdab52e0387a8991630b62d6b395da7b0b1fd7d2041630165e8c4bffe26346dc41b6e280c826eb586327bee362889a7842c196640b754cac4d2db6704d58dd268e328ea0121c41ff123053ebc279518e9f18be176165fe114022b6f7bae326f83bff22f0f3a70720297dc78dd7862edc3f744256a08527140f39c25797656319f3e547202d9f833f6ce709be923f5946dd737c182767f588a91ab6a949124eacc7fc03504e3fa10d7d09987d2c2b2369d9c6b58f95a725aa17f8cb2f51e2711be391156035179011faec7cfff5d024e7653c32f359294e4fe00e6597ab4156bc70d1d8b0550424946218324f1293f3a3136b187530c2d10c5a20b0237bdffce9a79efdf0cbed0db794f08e9b5a7f62f0e057e41210704c3b6c1b2e3a695db093e1219950371414a321a81d8d01bae58fca73fb9a068cf21166a4a650c704137d11b30ac0c211826dc659de3c37349c04b87ef3d58424b4f692d7b96d3af99ee0d06b5d60ca3ceb1869109be885825e55d6571b714da8f750ea4c77d16d45fe26dabf29705d25b8fada7b9c4bdb587fba726916405e8d7f484a83a2e82ba5b183c84f57f0821f9a1528d34646c41b64bc34af7faa1da1d1aa6b8552e53360b4135570c1108d06975358ffe797aafdfa218ea1c3e146457287d1504ca3fce3aeeee9f9e190391530368ee632a0b964cf978274e28787d6d2b69c2c5ca97bb98d17a1e184a0cbcd66a7e015213318afb0a5f0adf55a54c81aa2cabc6d3754418ecbe3c1edd018133d21bae9d7dd6925bff7d8e880dea8f609b3c809f1df8482d01312c64730037cf6fde50ca5f7dd8571026f8debd551ac5c70b38a807faf460dc59525fb40f9b8cc04dbd70a657e9754333fdf3a5cb47663cb190e919193b551ca86091d40b6f485cd312d20bd2b894512d13b95cdb3f7bf45eff08096bdcb8ff64420a9f01a31b7790f3f6736d99cf07bb06239de5bd86f6f821a3a79b431f7c475204d90ea8161ad99f27c67ef20d6cfeceace586c44f365d98fc539de4c53bd020ec1c0a1241d80ea6c7e266dd31ab8060028113ee727e10d68925f03182d9962556ee012fb2e771bc79a84eefa0b1752272bbce96aff777f15c188a17426d96591af50cea8a9cb2e2c4626bcde9f14616b640f9906ff3e69887f9a1b71b9a861aac7e0f63bb64c168d1a248a71105ce5a5ac0e5a7639f9bc5b81b003600e3ed7ed863048b8c7b94694fbfbdcc8db9b80e815ce7215f9ac36417a764d1b55345c75f9602f0d62518e8c9bec38eda3b06220b08032b62f5a75274281f5d1b49927be1f10fd8aaf6e39c4029bb069c32cf3a6abefafbe919ec082b2f443437bf628814ad081f79e16898ea787c87e8116e2d0b65aced37a75d045f2ea7643c314d10e9c60fc9f4080eaccd5dfa0025528bf5d865db9e16e3d7a2284b937d72815da7eec108eb864cd01a3e333710de6d2922136f48ed876c1a21033df64ce50ffc1601d10bb399ca22cb3b2a345aaad6f960a0e5ac4fb82aa66d44ef6956b162ed0110fa0aaabc82eef48f7c9b8d1a929cefb8a220d3814bcbdaef52b1393714738eea730b1e0a35597fa47021a415877c8c90b7a0135ac18bc52e17fd4d72e1ee33e6d500fa565e4e3268048c58544d950d7c83860986b896c3e5b3203ad33661c3d9a506c3982589eebc9423183ea570af3dbfec1e216acf41ea5dae4b2fc9bcbbba060a1a23f0fcc3355088a82e88477ad41de3a64fafc27756021b1d40c6e0fec4740c25d6f45403eb994359cd371abce2f20f8ac8c5eb040f47f8d795d59fe9b45004bd4cc04e00ad8c47a93e5473a41c1b4a38a0383558a1525acbe63cef822220092a51622797ddaac0a61f518597d6fcfff71db744346793bdef49b2cce08b93088c6dc27d816dbd44bcd36525ef6e625ad1ea8543f31ca0d91b0f7cf892d0530f247a4fd50aa7dc94326c62a965e40c186d31f17c769e072800dd6f1898f44904b40ddba5501d4606524a04252000d2fa8dcb6985f7d42e6fe7359f4cc7307b0e9b6b146943b9777bd5378c1a266a6daab780294b670368b2eeb431d2bd1f8d0e3a0ce56744f176a6e691db889342a56ed59dbdf08b7a5ff2db9e10718ce69401674d2b45a7e638305cabb8aa4600868bccdb472dbeef378e8b9d6474f32a7b003ea686b61f51e2102e8bb94eed7f1220421c85689c2a58fc114cc509427082098750c5c7bef2829995c13c6fb1eb992b45136dcee518f3185fd8ee461614be0529d4fbed1731f02e767d821fed16f4020eaf1eb42b6602eeb944d197b4b6840c");
// tx_hash dd081e09690c118429ccd773feb83b6d9668b38344f2f66cde06f087df720217
txs_hex.emplace_back("02000102000bc1d802ddbf1081c20d9bc804d540a920d22b9105c4018e02e912bc7f3eebe5034123307ee4f08bc6f21799e863274d5757f64aaddc8fd34b101e02000227d1efcd0e6c502e5b6d6f1b6e492fb5f8cae10d93c45054835609d2effbd51a0002cee2cc19a8ef3517cc2c36d9b35d69dd540b691955d29306f457fac71b031e4f2101dd64455be994a89712f6a05d0d87bd75e1a829dfd19ad6ceb46134b54d0afae203b08ba09901503704fbaf6ced7287fcfcba3457b51206921eba3dce2780376081e6cdfaab0570161ba30da57ee3f4571e502f4b9d98aed0f68cfeef55e38833df3da7fa5006182435a6c1749e074bc967409b3c2999e52e0301b1250370d6138d9420c49500983a83a89108ede1504ac07643bfc8a2d9d11c07dbe89f4a882d27a4f10b3a025491dde515575a061f7dc53e2a9eeb45c63945125ec5e914a9cc661cb590b73a229d45c37af78cfbbe14d684769b8508c2186fbd3468e5a2fa5e1b448529e8d401000000c0e73f2c27fbb652e0885034ff9e0adb5358933bc0ce722d1dd320520df16d247b121d7b13e7a99516693e42f31ed6c2e4890c0ba35b6def80ecea40de70edbfc0efe4d6c10bdca3b9fb0259195d1e6348fd01211f20a35c18bca03ae3043694f75885a4b0785ee97706a6ed2605b49a1cb30addeb8c6b7e8314f17d18672a244e8fee0c25ef7c097d9014c51402d2851f1db7af2d9e3b552a8ba82bacc55b07a8f39547f3679de045aa1728a3cede6b1962891f84d5f1c37d0e3ac025301b00078f1051102053860be971f33b6faa4b7bf51eb7ee23415ef5c61765b806d7abc39889cf1a53a0b53908522a0bd69093120f272a6e171906ec65a852c7b63307b9be5ed4e3b0615853e20e34f3e48eb3535e8bb9a5b554a60b9f2c1d614f912c322bea1857b12c9dcc4ff776dba6677460f73c4ceec551f198bd17713a4653ef6a57958d3025fc341ff4a60dfb22d6dba90de7c44609af818bb72ec2babce6c279f780d514d4ef0008e216e2c43356e8cdfb1ca0994261bd6c7566c48c4f8275588088b6988e202c1174c5774c319dd8b94f2eb9d70653b4dca1486cf1200ce0d507e895b3909a24b2f3f0e07e2fd92d1f0f6a7a4ccac01c1d6a3fb54999ce8f3b3b57734a43dc8e899162e423e009bb3c6ff036eba67eb31512b080ff299b10c5d7812a658a4800484392aa6949adc6a981302379d359c7de76ec2b0fa6a18c94978d5df6847ece631b5e5178a8ac5e09460a7a3d40af02856721873749a075d42839fb68fc7358c48c4c1851c3088a92524534d4a31edc6437ad5b691ddec586bb62fbc8ee2e2e2b9117dc582f8bf9f6850d6884974ba5d324ba059e4049ddd0d5f8e5f02e9231f112aef0d6e53355ff58e589418dc2a05e0ae72833f0925efa00ad9b34fae89fd2436350e641b02b98d762d08e6321e05ef013d5c593be4d490a85b15bdd55bdefc2f08d663111ed3c204de71fa4c0ce0963d53c10398b53360fe4850e0ce66d802c7d6edfbffc87db5a569810637e66ba27bcb87105f1ee240d74fbf27669b223ed852f39c9f1da078ea5358acaef594cd42169f9cfefa1dc09f311f09b1be6ed06c96417c94f0a35f877a0d4101aef5c37ec1fcc541dbca90b5912a90bbe9fdf92f4e82ad4644d833feccec1df80c04c7c15b52e4675554e0f10db740575d8eb93f871fcd9ee1cf96f9055cba321ed062d74ea64a091f85f07e908696b972024a76b475023aabe7cd6dc885d85e6cf939cb613e29f5c688800ffe4b47966debc27772932f27bfcdcca0cdf9f2311ab8b9466237656c6c947075cb8c6f3d40ec1304142100b2753d9e7a26469140d02ed5f90cbc4d09e9109028d0038ecff3ba19c92b30d02b5cedbe3573135debacc8e0f67b3801bda3ebe0b99981f98f2db463f679efee14ca8e826b22b34355d4a3b529f154c16d9eaf108b49727cc99faa75e679706f3da45e5615f53ddc4eade8e043c6382bc32cbec0dc6c22646296bb9df3785103ae4beb4cc89c4e70d218dc07117858028a932500134d482ee1038cd546ddb25bdd0108051896ed4cf87347b44f85d7e2f442825090a1dd18201fc4203c906c7628f403cfcebfc2aebe9c915b1afaf925650927200663d9a356e4e1b5f11963cc607a2abcf05f90227e27f119adad43ea64a44910568409004a500e58fc746c3cfd52e6386a2931d6d5971c1ace95b0cae6707d608cb4d756b3e466fcd11b39c25cf969dc2c67f1af31649ae69f04ea74bda4e4d0bd2970cdbbb450b7f42e96e50210c52af054fcfdd1f49d359ccead3ef3dff2d0eaa54849b3916476019678961a2aae55a26242c59767723bcd87ab944fee52003c4f5dc73d314435c7c5b4c7c3c768ada45328721144dd35c2ae6a44cd97b0006f6312dc281e4806c1a4827d543791b362341bcad419a0ba1ccee97d4e878110d420958ef3b15a49f5f210ac8971ef352e5bd13b2bfb7417cc8c67bec57fb990a88fd766c29cddbfefe7ca198c092bb886a390016026612159c51c2cd9d03570f1c1186ca6b0a61e7210a2548f42bdc0b5ff6ba87d4e9cd4aa6f090dd06b3a207b3298f532abb82e8c328bff6f158191dfdf34e2367dd0d8b6027119325e2b384");
// tx_hash 6aa5057aeccac8e1bf632eaa813554352b2f5a4b6bd02f920a44cf3081488a2f
// this tx should have 0.1 xmr for testnet wallet (monerowallettestnet7)
// 9tzmPMTViHYM3z6NAgQni1Qm1Emzxy5hQFibPgWD3LVTAz91yok5Eni1pH6zKhBHzpTU15GZooPHSGHXFvFuXEdmEG2sWAZ
// viewkey: ae6184287ca791609844f140b8502ccfa2223c04c8699cf31fcd0af1f1d0be08
// payment_id8: 6c224eea64220435
txs_hex.emplace_back("020001020005b98008b8488afe02ddec0292a006e3e8f7285830f025ce902188c93bcae9eaa9161f43a91f377b9380229025ca65020002f2d03bb485f877f6a5a07c87f0b0590aea326a91b7409bb9bdd229d63c8331940002c139346f6b4ad08d3d3af56b4869a1ea355e57cbcb4b4bb0cdd9b3eafe9a84f52c0209014d4495ad4516b03301bf41bcf90602f5c2a4865c84c7f5991f9156c3623532be81fd03e1049a4971c401c09fe4a442cbb8ee0dd124e916a25d9d013ca26ae1fabfd791658b55c16b4b3b2cf2b48b0f1a774f2ef1da80abe325aeede2fbf06bf401384fb24adab274d3c9987fcd1704c409da54aebd3417b4f334de47660e203a6b419e1520133697bd2a2bf9ce380148a67d16c3796c19ce3340d43cba8801761cb408267ab4e0b68a4e139b9cb10b3da43f6b557704432c55be77d924e2e937efb195ff62bd726013809aac85a8883804b84860f45e9122ccd805c483a71f9af424f97b2b24075b4a3c94f78916240fc956efef0629c1c3add3ebf898ada716cc29b04299e711c210b0e20d511703b684efa874993a53658553993cfb3866f3592986c5781a8ae4579794de7f0b0450e3da2f369a49332e20bc31a03d8d77862b1d9e8e2cc775624dad7342979903ec5715722691fb496c51d78e3afb37eab32a79525728b266b4d885a8ac7cfc0e07f3bda7ce627b9e3a93f5e574775c39de41230528339b3e2feb378853f8bf0aeaf3a22e6d2bbc84d65a0f63cbc0871c2ee93380e5d5c8db9a69f30fb718ab0dc94b5c652ddecb2793d2fb235047bf33cf758bfffe8af3ef7dd26c2973d807049c5f37ec896e409968946ca772607bad12bb6dd34bc495954ae34aa33b250b0b00df28e7a98468750a017c730b9260289b16e1f8207fa85f38822ce1b66b9f092dcea9e753c97fd44fd93444d1435152c60c2fdba6cdcb768678e0706f98c301eb19e94a75afb025c2e88470461c081f5bdbcd6d24e110537a3dffa21154bd0713d663edce151725da1176e88903d3df106deb48382b93daba591732008ecc0ff798c89a56d2b97e1dcaf315bc92a5c674e22da4074b24d175f732546b45be036179a799218dc8480b59171630e855613cc144f6eeb094e13649f4c5e0ed590650d19c9283e7eaa1d6eb4f6934b8f9526ded049c6c6cf8029c8c1613f7cb97087a0b42c0f4c710bd97c283b1b2d734f05ec4d37fb60dd3d600cbfd7edbc96a0ce52791291d81ef2c16f8d0dde60527b84d0005eba72be7cf5a1cc315ac6d8f07b86cd1ed0ab4e9f523753fe06055b9e2cbcf2eac9970015515eea4f08c4c6a0dc6717175ee854930e6c91c64f37e006e80cf7f6a052c22e451f63b08e327390ad6b79daff1388fdcd814eb933a5f0e736626c25fb02edd016568a68691207f0020df03db999d20a6cf0e9dd08029cb53f6ecab671f33dc2ed31fbc4b3497b5002b848e6f52731fb71adbed943be95b8cea4628a7f24e28e2e595a4f8e925f4039821cd8755d44fcf86f13444131b5b834e9b259d4edb6dce4cc6081fcdc2e80ea7437ecb1f5c3bc4ea8296face9e97c495f86038dd7d025e8dedb55ccfdc7a0982f0b40e11ee49a5236d9296ecb649ca6e50f0df0e74cd484df5a177a76b4602ac57f87da155abded4ad9ee710fa2849dca17505e7d2516071a4d29dd00bf0022cd3122e5f32b51ddde8e15d10bf636057d1bc3c13774ead261d9e3608f6db00b7e0c85a48064b1e43d036a4b85dbade28040a448dbe8e121693c5805a5a32021ffeaa427e0a1edb2ccb65dea25d4a1276bf95c7bcf33a1e6b8f63401463710a26273f808543c9a5544f7cff7e177d3ece6da829187e97bf325277445131c10a2aa5ff0af0d70915e91d2a1a1d2022b520b5a174315b9f4dcb5c77ea872ee907d060e42a5e088efdd85fe8def4f7566943ca4c728ab1de8e5f8e7d42dce318055ffb89d7d20e08eace6546abcb632ca518e334490dc791e4fde02d58fcb2dc0cdf381b6bae61849a9a27a428af0adff08aadbdc2e109044dff08570f6bb7da0b30913a7ffa0115732545c51a79e1817f4972a53110ef5ff688d5d9edd242e40bcf111ca6b2bbdeed2d3a7bc83297983fecb3d5cc7425c0883f712d8448d0af0047e891533719c1c99742c3821c80395219c7b1a4b28764cf46eef9197b5e4305304e402febe6ae38b1de2462d21fa02e9584e815310c04b5bab49ebfd981050b72b5c3e788f9d06f1f0af4bfb74faf956a966c82f665010af806693e7b47c30a2a02168b3a6e8288d8d5e350e2efcacc98f15c7d7e7486969bf2854e0543ca02d23800fbc3c5af6f8a1a2afc38125a8731dc13aa63330ab8cf922ef7f8dbc8000ac6c3b885d73c413809a39321d01d4f318e4257b3460d7e1c3a866279088c0773b91594c2352f80b99e3e853f255ad6c484ec4fa9318128ceaaa5d78a700a074677258d1c4a2dbae6afca491ea2e58abf3523dd6a54ddb9e643aba2125b2507ff64881dd6ba33a7a68ed8d776a3e70901470694261de282af86876b76875f07d0dad169b268bee8896e38b419839a0f1a540cbb563caffdd7c1b99d8a39d70fd880d7b264b1e3d8ed83d1d225aa74d6a9bcf5fbaca2324b2db7df8229893d0cfd28537fd6f20fb4a895d975bf5be7cdacca2f0ab5a6bdd6ebc1ec5b945077097fd2e8da52fda700400c73b20deb2ab1e4df8e2e47afb2784328a70264ade10ef6743b6e37e7755ebaa434bbc8060c87f68ef8a779c366445a05b7539bf57d0a6001fdbf0f0e47c930fa6f77c7306e762cb4f44e2d963dc123c75aeebd2cd009c68b6653dc851dfea8b9ec2ed1acbb50e350f282859af86f6ed092b385406e08caefd963de05e058142041330dcf526f1b3da4ebc534778bb480024197c6440a4cd8cc7df61ac1459d5774de84cafe11230fc6cce2f67e72c9c031c81a72010a6657c6b19de00c6a098a78421d1504999741f8daf8e22581da2f65849b49ac04e6ed037a191f03dcf78d6de3a6e28df152e28fd8db05e535b22178c43091f50949f871d64bbb53d8b42ec3906e2de8ce1b8e855c9073ece4c3aecf44ea36b80a95029e92570b6b4df43732d2cae344a8cfd30b363b625fe66d1bf36f4891ee0553b616b0ffc4b008d755894555e6367d3370bd631a8ab9c0774c3d59f7d0500037412c52ce147af8477c2b8b4c6f911e99e2c04d81cd626b2095c64854d0dc0978198ea5d3df07e411eaf96cf7877f47f9024e51723423956f5e6cb35e0a580c7058277892894f58470b86816c9ff51d693512daf92ed37f79cd5dc4d757010ccb29d435517b1a701666f6b3d70d83a5e0cd7bbe5c3f5d6e63e90f0d50a5bb00d5a5f54edc821c59f74fd435b70cf789a62a34749c5dad691cb7157c7a15ed06b372e804aac456c84be0846569cbc44d4d16452e35b26ac531a72d8e492bb6056b772376ceff10126bb13744e59c7007ae053f8c19cf3d2763e249c0761a4a05182abe6aa5e5c22efe9f94b682320340e70b4058d7c35ebf12bec98b14484008d4b137be7af1dfd60a19f27c4b6736098597b44a3259c9d27f42d4e9803d0009a2769ec508a67c54c01d92978efb8a1b1ca4a7a3883ba23d091f232ca79fa40b1e1ff21c5d0b85864251aab8bfb318ac8b2e31876b416320aba7d5fdcce0230eeb06e3d028368d0fff4a4f0336fad9ea899b84390cf5c21c103a6622bbf907062bfb84b76586a4d7f4a7ab3d980dd858003a728737dc2eb7c741190dca31940c485e3951028b516a7a510f5315761de3d2f331edbe05e9e59f4b1c7c7232bf0a8129d85766653f8b0de9c453cca8980c8f10416da278f271778390a3d7c87706360666143abd0bdbb62f5ecebd3c3e0690aaa2e8992bd4e1f8482df9b914ea087192bd6fd6f191382a3c689cac01bb4c1115444c16880ea20d49cf20e77094057ea17ae37963fd488a1fd5b2ff4fa17e807cb4b8afa97437d9559bc95f24670ee89dc09bdd0a874a146ad889ebca4dbf9a861ac0346061fc2247710a40352d0ba9e05fb760b82652b5be412a09f7f82d342ba0d51ddae89033ea641a6070d20fb968ee9265991a1167fb48437ecb1752a6a26faf8687e4557524c4c1134ee8018248e11f71e7fca3e780eb731df3ca3af7d1a1752ebc6eba4976e02b1d5fdc0dc41e06ade4bec3539a872be570d7f0574193008d3996196aaeb07f367dfb9d0b0a0e88db473b05b85b130c7d902e4e1829b8dbda2ce624f6090f950ca12c73012b1081a184c2e64bca6c8f01d5805acd1039ea43a957ee3d38deedd36a28dd0e266144c364dfca523bb8ea94975e404c569468de96afe10cc78f315be0c1d9054a5fa95a363247c0f546a08c52f93b442684663ea3d362468ff8e2cd3470fa0d9c98fa69ca36be6e6a94d139b844ab661177bf6c06ce885f41f113c6124eb7028dff3293c16429da46f63e29d77de373623a2976e2404f01ab44471ed1e8aa0a6dbf1a8bf1e96d2ca29f3a8985903f9623a8bbd00652a8b6e574a1c647669c019917c4ae054485a53c7ec08dee03d061c6b6333756e28b0185451be83f99d20de945dd60c09564e391f050059997a5343e105cb79dcbfe38b51140611b24a90f9602f2685c1fce39d4448129a5362d78a34ee949c73ea4546ad8a6e1f3f2b20e12ce4515f06882c02c9cd8ecf0edf60fbf151c039b6980330ae5b7aec1193e0fc171f45b362e2cf117bdefdad2d3430d7fe46482ba1861c921007ef984cc7b0298dd505bf56a84f9e3468164819ddbd542a9cc1ef7fe71f9a4d2e4496cfab601180228ccc2503f60da4c8f0ff81d4f449a4ab0674a26120fd80349b7f556310b4495e18a035d636f75a68f07e439c09899f627f115ece1b4ca2f5996b285440ee74cd0f56e015813c3432e013b6c86af7c5ae45b5f36f1c2bf61cad0e4c5140917a5be831eeaa735cb185c718d9f5d10b96bffe1dfdcfeb3dff04a01cc3a9a0fe36087c4e36fb85304fc37373ab2afd047d4fd906bbf3e35a2de91eedd639b0229c7b4b44f78dcbce5a6b050ba6d5cfd4b23423f93d98b5cc75ab77f131e500cf5830b63f042a978165cd27f19488d0b520d13134621b561ea72a3dcbdfc6205837f38b99c41c617e36e2289d9ce1255fbb339d7e939a4833197a6ad8d96ec0522ce8faa5565fd2055c1efd7595c44ab973f064127d293c058f1ec079dcb9c0816f8e2c035aba5b694a23e4f8b1a67ede7f6903445e5115d4f71570d26831207571b8084935aa979a7949cdda3222c43bf2e6cbeda2e7628fc1cd590483264046883424e71d8db818950983e8c04e0e6ebc29fa37312c095ccb2a3b39d9c57065de683753ce8415ecf8bcb8c264480f745b6542efc73f4524a70f58437eb1e0dbcc667ee50554122c3df98f3b82c099eaf55e5d9356de1712c6ebb35d1a594070a32a69140542c1f11e3889969040664f1e721cc25e91b58841a576be89dd90831922a2cd2ae85afca0b5eb92f4f1cef5a31408eaf4dac80a5804981dc6baa01b7cded3d80703286869b95bea68acd8e8919646eb3e6e57ba364829be76d3602a27435e1bafa95f1f1aa9cd997780c04271aeb84bcf3b7f98ad926df3622f10de55d59e629d5e20a7e0ef58d38caad4cf3696ebc8be0774e9aa1da8bdcf7220b307608b91b96dea798c8b0ebba9fff0248b1e404aeb1cec9db77873bff96a80b3405d6b797d63568545301bddb1724d6d7ad09d81c46e96ed112e706e3386a0c5db76db9ddb9ec7e159248420264d2d4120c0122e4f8e0c24c0ca4d97953680623fc99850d2fb0df046afe5d75558d49b9a5dea76c3251c8daac095281ec4e000daca0e5994be05abe6eb3286daff75732a9536638b361a7c141b4f32aba2208ca5998776b1d122d2dfb1b21c37fa021f764b0970add811bc36e49884b99780e3d59e44577cce12b2b523fe2d74dd278fe975e394b64b5c35a975e3f18d789090d5e4be2805fe2b835caa2a197527760643272b86f1e1a180eb6d796533cb50e1edeb18a32b0f36fe65c1a45c45d4adcba37d791d8ff8fd38d5741286536d306e840648ff2ab2894639fdb7c9850924286af4dcfbac7e61d6122389cc8aa48002b8f97d1998ac3fe3f70fe650b039793b2aedd1154540f0b094fd2ba6716460fc2e58eab691841f945ecc838f90b8fc1322785e9f2db939f047ebdf576a9420adf178ae70dde798c506458ad9504772e5f2a2eb997027f8f71e69882132b300da31248a6994f4efddbf24f4291a8c15b8bb8521ed063a14d0a0a7cd93b30da060032277d752836a54c405cc2ea4675788c4756d6c44412d3a24a3ef8b4d69908f3fe79344660659b601bea28a3ca5fa463c60db698beb32029dee9fac2fc09e0c91ac1829a7dc93b7c84f7c4e6e2bb6e6c3d4b1d4fcdf06bda02600986e7607b969de2703e82a0f1c033cf649df6cd6019be9827357f35721c19931491c052db11180eef4ba03cf3baefcaa68a11afe4b2cc62bd3c6fafc3cfc42d4964f043990d03bd500c7d7efc7f166310035a8df37ddc47670f4df3329fe560f6b3fce8b2ddad3efe50ed706fea4b059563eb9a16241ca5b282476220f84b0f44cf805706541b38326c28a3d9eef96273fe2797bfa79540bb57d84c28e2f4cf03aced9ba93b401f346842565a52b71b3260b72d598f67955f8f2bff8db59a1d18db8d6587d94a8655f2fe47dc899c1e5d1631cb4c52e95c677716adad7f0d3acd14edfbbb4039f01988b9d9fc9d49e8c8cc9ae61d3109f2600d0470fd8f1e5bf71c262f53abf26f8606d7df0aeb685a39e95f05b14ce28724711febc30c69a41f7f1a669b6bc1bb84d77224e1b7040a3bf1740de84a05fe4b5f7199cce18eb68e77163137680b8470cf34aeb4c52646a2c0e36452395ba917a2293c8426807e40af28382d7766ffd7311931e7c46e30cb1a25d3e48da76a219f6fd66b44c275546fcaf54961fea25ede6c7d73169ff935c0d450db4bab9800b3f9a2c6599430545d1e23859f84394bd615eb412eaa059870a83309be4d8ee2096b2907bf053cd70943d7a5e86aa6faabb8a01b2a55e6eccde16175dc6da575453d9fd0a12a23014716663d7afc0f5ad4d221dbafbb3577bc1fd86d4cd9fb4e4dc9666f4aac89d73a2a07c6bf3d4dcd3a989e994ab2581579aaaae0c42e8cb796f596e3d75294cf2aa02143f636d13e46bc67e15f96e2f8bb4372c26254b386817a6d102988c5aa9a9e3d42c0e256cf9d38d6694e6f382af933662c98772fb5976ddc20e8fa19030b053a23496bff5ec92e7f5d0f6eb0f2a91b68559eb62d1b22d21d13ec03f748abb476a947362041a1752303c43d70a17fcd4f8a9b1453fa8f84c724775fec10fd0b4c6453ec2f0636cf5d01b26161e5cba0b2c23df35df7e949a79129bbba59568291e33d56aff6c5c9eaba7cf3dcb3cadd116152fd325404c52432dce6d5a4348bbe96b4e5cdb5a000cc28ebdb7dbcd6a2fcbbf280ffb912d7e00affc62103741ca6e5d415a261fcaa50e8068c31de03c307b56217394db9efef1cf2df97dfdfb4ce9ce6a65d2ffe8102b14bc66eadc453f532e13e565613c848f7c7fefc1be72be4fc6081e9f5f204c2ad970d6aca941e4e9e9380e27a3a207be8ff692140df32352ff8744dbaa8a543e638c7bb6d9a3d3e7083d85ccfb52d1bdc35a7ccaffa2a36173f8118dd818c16eb4623dc0d28c82fe04ae96b6e52eb3b14eb629613f834709a151d0e659b6d117ef83c075563ebbbb9ed30af6741af9d000676f4a1ce7b2fb5ec5e4ed5e68dcd7171b72ce3f6cac379eb7a2e556a4a50c541c337ed9e749a73dd0bf9ff4668d9daf41dd1d773eab83a8d42af06b56f74bc191877d9a3737a054aedb3d87fa9667350dee1794b2148589d6c6aa53de710debc2007b14a677276b817fa32a656210b8fea709ae0a4eb18dcaccb1125429fded0bab1ce5a7121a7926cd49b4a5e858d882c82f6b3019cb31df0056817d60c86ef73a059cebef4943393080eeac455899518528b49268acea1336956b55a660d2afff21a63a7c3817791e665be1996484b85af8eb9c1338f99343332bde14bd184a82c068909e78389aed30129c62ac83ae420c574ba7abb04c7b6a208ea3fd63075bd703c96ae9660aa86bf64c3ae69b6f810f01e112861bc9fa483c4023329af6c615c7ccaefba1d895771f6f73a567618ec95b4ec74b344fd5b2dfb852ddf6d7df9abb50bec485b8ab105fcbfd513f672ddea5ab4a0935235d0c81c005a80a422b36d1bbbd3ac97ea1c25dec1bedde5513511c0cb9bccb58cd341c29770c465c6273254b12d875c64e529f75c9a393a8a373256cb3951442fd85beca8e19968f238afe6117ad52baa00175c04e910dde27b3378c2c14263fbbc56cb3212bae6206820c0ecedad0241d2a294454a37c6ea40ac3ef811546dabc3843e326a0abf0ce07b015099f254c7e20ffca5cb9186fa72acc78cc94b88e8e298a579a392be85ae953db6d606f2b07b47c743c9e434d659427402e850995b611c8afccac1a66597e287376ecaf6a7dd9bf58e0efeb5671a9fc5cc90d0d37d10fb23cf771a8c507af164105bb0e2bd1b3aca219c4543273e3fb34fece8ec326674e02d601196b216201fcd328382acf56a9cd23a9b4e31b9325d59acf20050bdb6ea4cf15a095122de0ea93e2086b94773f01d6f22e1b6f1fa27c9ca158cbd108ec59d0aad7d55d475881a2f25752d614409588660401373e0d15fb3a78d03bac88108edecb48115432304ffc4772963087f962831e4924727f81e85d6c6eb1ba3ac8a99a3d8598d3965da0b66df57a07d6edeed899638e833e33cbce87b5d9241c7aa974b530de4d40fc6879118fb785d1f1e060ce36a11009c9373daffc8a0e353f10abea9bedf0c397e5b85ae256cc938ecbc25d40d300a512e9aab5e3edb0aa65f77446779ef0fceb64d30800cb8b1836c401ceae5fd8701719cc8fc8b14cb249000cb4924bb07baf91527c6fa2a2d0a412a0d9827fe5888d666f3a93edc81109c52e1dbd6c95d906efbed6e04be8df28c3b634c991594837abb9859e9b28278de965f940291b6fb88a480c43adb0c9e011977498e03ad9c7da7c6323cc77fc9c9e75ccc20000c04163027354a366d0d8eed202a2ce03ca03088800d1e86e040eb985ff83cf8e9b3548ccea68d6d61169ca63b1b28fe6975c734f0ff5050ccb9cacaf0afcdca682063290daa94862a9626c5554018fa2746bc701d8b1f6fc92d0deb3756a398ce8b02e200df69c403bccb1a2e17df24f61323e1f6cf80520d5144af221d7ee272258aa6064279ac43b1f6a14b497a57d7459112a8d417ac31462da5a7cd38bf0ce06a86034947967805cdb5d8aba53f54e157439270c9797464b345560d0d2914866d3e0d57a8bac9a9a98b30fc5a6e895f5d2ce0a60d6b6a21111b9c66bbbcf582c24c0e579ff534abd80594ce3bcf627924bf1dddccfd6e9a26f0c0dac9d9ebb04b680ad1b34ff1e89aceca7f6cf6699fcc3d42ed1557966d05e5880634a226f8409808c424da44473b24757ac7a8bf0b4fb54efd71808ad659425cb63fbde44d5df00dea6ddba2ebdc8278088ebb6bc4cf7c0e1d44b64acc2bc898cd94ec2f2e6f2c05c2b67d73d676783d3de7e61052129fca42b375da7840e5c3d86d4f220cdec00a510b96783f6830ca7a2749bd5f8da41fbf4e7b53176557add803b7916a8b530a5b8a88c1e5026103f09a16a139fb607d6d2e77caa8c543a55b8a28993803340f9cdb45c2ee171515770fa88390c8935cc24f054474f01eea1ccf147e8fa97b0f7ca73f7da837988d69325f52b692b5f4d3f45ce565d7d230a2c4bd9e3f2d8804b1daf74aa8546bbd4bb21faa61b01c01b449cab14efa25b9756cac945a94550e478553b000f1aabea36b4e7adc000852b3c4f73f6b756dcb5ff5e0f75c034101b1308bd82f4af9f794f4d59fbee0143855e4a3e230a60ec31e0ce08685f29a09157c3e6f06121a787b3c7280020448197b4d5909ce72578d32930dc83a78c107faf86e85e1ff3d6cdb4fa08856e04cea0b3099c8b5e9c156c64e5aa85f6ea7007703a40d19ce8def36860cde5abf9137273b8243b33c2f9aee79e3df9f23a60192d5d2e911ccc1efb47a102cd607bba71360b82c524089eb41dc65c161a9df0a227a3b877ec4f34c650dafd003a4403223579027d4c586d4b7d522b18df02e069760dbf72fde1bc6e5e6ad173cb17ac0cbf89706ff1b735dab1c4880f5fa1e09d29751497f16d13e50428384ed1598ed6e3ce369d7320e3a0c1d83d7e077cd0fa4d605f0d27c5a5e28de7223138ed561c6eb1aac00e7dc27289c6b939180310e2ece604aaf3d811a3ec2a9ba19b20b4f51eeee12081ed60130d59bf8fc188c0f7fe7703105d127835f6101173b50469ad8a8d65d692357a15981018df6ada20a2c1a61df1e3a361e37a5e054f5918b6d0386925fea259551e6e8a2fded2bcf03c9f6e0501c2b8e13842a85f4431e888355a588367c05aaf016a49fcde6eb450e95a359a18c724b0cb4b8258bf6ee62ad2c57d95c85677593688a805c8b44780704a00101597de6c136c3f8f1621b63aac34168d9cb3c1451306b187a5ada66000dbd32d29090127484cf774ac7b871fb6d6bd058f54d3a7617cafe7e146c700f5c3c4106dd21ae8468ca7ddd900670619f4cb02d1141ee23d4cafd5481535a03aa6ce98fa742ee79fb7b20d9ab2c3186f67d0e3e683e0c432ea2b03e4b3b3701312cdb35746013ef342a708989862e58008c603102420b6147a9c1a1617bd50fded022c96380977bb4c7f2be5ddf04d00fa1a4cbe214072e4d58d6e0603ae80ba2c6b26328aa51e8869054fe4a27143f8b0128e71bf896ca94b1584725a24d0de27b1083e81c1227628eb9018e222a73924dd48ed4ca3c693b005b648fb9050fa2c988578b160bb07394b88782a24891de8e7fc3c23ce5887c8c560f4ccbc40d5cab80a45a842976ab5114980489a2b9c445721b3ab6a86f4bb75388cf944b07e15a5a8cd2cdeaf031f420fbc0bd5c99d6c5d85deca0eb9d4f18f1324e90790eb871b62676af8d3f01798d2d798118204f65984bde4a29432b6a15ab1a00a50c8f8bfcaaa6428f615287ef2fe44d0aad11bb312fb2e90187a88710fdca549003df3ecdacb07658a0418b3388d8b069a62d733d0be15a47b6fd12f380dfd9fd065d0f58af03f3421b62b2c9d72a6eb64a1c2ba04571323d64776ec9d672f9870110ee2a72012ee97b962439d66c3c006d1203f1f19ab3dc464f904692c9527e08b2e5adaf3dc2e32f653ba587d90a04f16af2f68369bc63d2ef7b6a7ee204ff04bd3782539c0575132ba987a8f633d2a57fe281059d5ba082848ff6ce3a0bb8029c9b9adbb2ec82d89f9e9adb780ba35db2e52c4ec413cc17546aec89831b440c99bf8fb682222aabb8a0d4e2486b8c8a54c3529ffb214da58657b9578f1b05047b0c3d6e37001ab84bf33fba6b533d30555826d36591415d31dae6b1cdc25409714bd80190ca755cbc4940409938c273b229e588441cb7d0eed5aa8fac75710a7c43a032182a852dd84d5276677f4b275872c129c8d9d757649a54bb87dfa10b9262f0f2aaf9ad3a87dcf2355fa79409d2dc3cf7f155ae2c7801cec327e5cc099adf36a0851c99e26a5faee03d0afa56e3f8070d84972de06ae25786903349032f9bc801cc3b3f71c06ce4de5a13f5376578c0b630d5b987a6212147b2aaac0c6b66422baa7d1ea7f3355b65ae66c4c5d5ec0027439c1c0b058647b650d3b203aaa4a5454bbb6c63353eeb04e0bb706838c52ac20f6d5a23ca69762014723e067747d804fd7d30e83312b391c6ae8ed35dfea71edb4a9d2d23148bdb2c741a048a53a9103567e70b01d08b4798e4bfab12066d5782f22f671a43b196cc52e0028af5caf158224a8fe4cc183fe48bcecb8a75427304eb0c5fe3ba93548ef1530c5290c2b1ad5a6e409a5da4d339c9bf42b97fb2b8bf3aab08f8f91aaf481a1a0c7c67f9b15c8603df84e35e95e1da8dd6004ab1c61bb7b96c57efa385830c2306bce9656943973be9b03f69381d618fb7d0cf6da83b2c18f05aa55957e8b09b00deff067e869dcf998eb51dc12b4da34e889c224daa1981c2cc674c5bc73f410a88e905abd8a42ad320b6ae29cd0787ed4442c109a6fe43380a23170dde0d880829b1863e8e4318f5aa5c275efb12ea06bdfb19ef9924e5a473a3f31f8557a30dd318a52205d48f718deb298e0578ba262395bf64b0a632c1e822f2e446ee6308c16078f9222c942021fc66d0707359eaf62bfea7df6989015a2d439f7c9a7109d3f69cc4df1c0fa4ef586611368b5f28d77ee27b2d04b1ba12326805bc136d0c4aaf62efdc678bb101ac4752bbc01a57959a55194a937f7980fc03a218882109c38beef7210fae47c98ad9261c9ed1c772100ef285dfcc225af2c15bedc02406620744898c45b5cec00168e92c538799b2f7089f6e9a08520cde0cb507bd2901f5e4d64f24c19caa37dbd098c09fdca1ba3d3bb0095f1a6c7ab7f480a9886502cdac81037ba7a01160b1d05bad72e3556abfea0a129e9b18b0e6456e9e5cce0d4d513fa6e1e8df64d995fe3cd7f64b1c5c1eb7d0c1d5513b5e85d857f84fba02e2e2f3abf90e2b90aa09b4be86490855a290967cda40a370e8353a2e23f5030e8e9c32624109d183498f82660f8b7a7f804ea0cc33349be0a979f5574e83ee0d18c06f470bfe805c2add9bc81dfd8ad041a87be618ad6a4da6b48ae21a5f220aee86f75829a90e8596a4e563e3dc23313e89db410b5bf56af91110794143da02471d33a7b387b8f07cb2565610016e237e65e54ea564a0d39cec700a45732204b3a337897580c02f053617adcc26b4fec9e7ed648d688edd7257fb529fcd6b065945587c520f4e42297adfe574362f95b2bfe3c5562212798f9bf0d87949430cf955baabcb823e12cee2b595e0667dc8351261819003380d1187fe51f7b2d908674923d297842dca60fd099d87711eb5a94642b6a603e3e60565be736fd0670a45caa94f8293fff93b04e938ba9e231fece6de87d3cd26bb10536504e7d9d70f70981daaaed3b14e1e1855b6946f44042d986d2835cb3e579c1b7504181996084b84aa347714e232b85b3e3be4a72e27a160093b7e3a77c7d99d57bb25665f0b59db7fdc1de04810eb7bd1e1696cf4347daa916398e72b1fd533c1d4861d230ead446e8e3aff23f35424a875f81de7a5f0bb1abd42ec96b43f09404138edaf0e658daa64544efa6b43069c3c66906ba45dcdfea33c784bf0d80520cce8522a06528aa632064b74a4228f73c6f08423439167767dd0254ea1bd1040421982a209a28e6e5702b9faf85a29b7cacdf268df987a7861d199fa844bbbd31ad4fc0d0bfcb3eaba37c44fd0a1717b030ab95d5a716197ef5a10a2e2b8d03359f0848503c895871f51c3205cb2329b7dbc18ca4e42e017a84e2eb55ab028c40ece6d2607723b4fb1bd6de3cd037a3778585b1c1d6db7ced529d4c77ce2d8e1e339d4c901511c31ea8ecc15f987748810f58b1a34b59513b081d21ffc532f22a06f124501e31ef83a14858034e6a7feab072277e915fe8d94a23afab0f3d3d183a2a3db07571a1e4069d7e8ccd983bc6434b0ff35a80c5f5d6fc483a132f57e4abe88760b04f150367f7c6e4b199d35b03b0c7313e9faabf929e9b4d9005a6b50a733980f3bb95920cfc3f6d418a8c700a4d16bebd36e9799f5fa8bf9296af71ef4f1e0045a014f5c7e4d5c95b772ff0d5851452beb20b886b102b23d87d26ce46d9c1e060adb711fa0bdfee3f80979b65523347a4734941414f2859aa26c0fb85ddb7d03bcff15400c1ad7d73458c92dc7e50a3f3dcd19380b95c3fb0bfb0c1e95857e058a332e7f477c8232b50e63548fb6271e8ce831511eb44c628fd5850a81d3cb0cebfc022ed087111128cd604b1af17e70b7da86573187b188290e57bb282cac0152cd4de94977e23b1c2481e211a8041902b40f894ed85448fceaef14bb9a390f599b25c60aba8d3da9d52fb6ad0f113dff586a291db8b99960be1b7e82ad3003c02a45a8449dcded7f352f4ae5296374084e1ae6044eef01c833e38261c7490bd31ed39d5d2235c8ec9eea7ce3a70cb26570d85129aed3bd4bd6f033a6f1f50cfc2b64cf74f5a0520f1502b3818ae60d2fdc9268cc5c75c659f88bcdc7149c0ca00812ddb1df1d3ce70ad155c850826890509726bb4812f534432ca825e9d702c1a240e4de24e8e52c2f1879194c737c52ecfc4018d3453b6645bc12b2887a0e565ec31d4a8f50356292fcdb213fe11706bb0ac70b59a5f6ea0a0aea0e6eb9081f7eaa0f087fcc7128efdc8f86e02a69fdc3653394f17a85146927f9f25ed90764827ada4daceb54ed64775dae549dc93f78c9b68a836692015f77b530b620088ee3e2d6d36ca57509ee1c97f1655aa02f6fc4bd0e943053f22845e2387b24087852e05c5547fc9b6438d18650ede1c088433f89f325e19f74566dff555154023c76552e27c327402dd92ab785667646142eda7d79f8e2d1acaa99549fe2cb09380f3bfcdf8ba591fbad26d614e056ebc39b5c34386c9aadead78d1edcfcb20ac1656cc46f3ae1f3d82ed13f428e46d27e7beb31f7354b4f36131d9f982d11086abaf8074bbfda2d6f619bfb60348df70e807ea88503d8d178792d7f2667d604ce16c1a2f979bfaa07657929ab99de1f3651adaaa481f0d0002aeaaea14df60f1618fc7acedac5b478d176b6932797c24ace28ada01a07420b43f8e824d31009f02699e2b99912b6192fd1450bb91b7ace904a077149fe66381b0e51bd10510921a7ddced654077045c440868e530f6706cfefce8ca4d8c3504a055671a9cb096137af7b5245c43641c3fd9d5d78b52ea9298d681c31d61248b78a9de5517a0bdc1ddaf0f43c3a01f00d6ebad8d1db6af3dbb3c96793b678c250dbfdaca39004f447da60259ecad89464ae2adbf45d137bd01b6b5a36607410e64df61e80490e82ce2983bdc4c5f68bad7a17e13927033347cc3675e70b91d96f0541e1f946e92b19a970563bdd9ad863ae8797aa2047f993c25caf4cb7b3feea1d51b06d96d4d44b353c7b43eaf98d2d934bddfb4d7cddab8ddbf3cb80683f8dff4a37eeebf82a03a4b97314dc71c858c43efd44dd7e358450d3cae7b86110f90a37ec28b4cb768cab8c9bd5bd23f70de9eabe5b49c2e1f2cc6c0cae1d83ec05c3c4147f178f90a0ee89e493a40023bd8b43f44a9585edaebe5fedaa8a7e21b3379fdc21fe84634e65c590f2097f8f5ddad5721fd78b0076483b627f1a9ad5d10a43a719973961e52838315e3f72f89fc583857c89f0e92438b27eceddc6bc4135fd9c0e32101b4f9cb6c29f360f840b8ac076d988d00c18b33f3a49d968ed16882a39cb854d0ae54ac1e6558c7bf2d137579fbdf8a04e4668a969f55cf586024c5be4426aaabc9dff97c23826d44dad120912bdb2efd5fbb875f31d3de834ced53728655f4f03bca5a0fb4c7f19ddcc9d491566b120da63670ba5ef26b99b9643e34657ddc3b8f92bd5278f815a6b53cf73288e9d5e2f0c4845bfd1318e897a5c14c7efffc053f865e5aa1856ff71e102d43539811c2ae3f84e21e52bf46d8d129101c3ab73b3fc03d832ecf6e5b1fa5bd3e53f82d864af256202d422888292a190773faa3db731a4530b939bbfd402c564f88c8934374127b1e1389c89b2ae78295fdaa25d01a257d2093c10d42ac072678fd9188609ce4d66cefca9830d264a266b375ffb919769767840f8975e8fd31c66a705df14409cf78e2bb2b028399f5df43cc9802af9b2d43657c146fca76245dae9ef261124d91e6f4cef3f366ea274a957e728966a0a0472d36204fb61727cb9770cca6a351a7bf9894615083b707b4151ee832f9c86e2f0d7157a0afd1ebdfc817d49496318085aab5925b4fc03b52c39f37d840fd59ab12243ce152a4b2a4dc29b084fe179f833c067507b96abffb1e18eba5b1902bb23e728092e91244320321c8d271e8a5e39f88ed307db0ace8bce112261fc3063c62de0f36a1a6c1bf367a518308e62ae05ad43b84c79891f1bd148fbd7a4a1dcb6f2b05adc4388758dac618de79d89630c863b0713c979859358ef1502c04996c0d39623a16616fec327fc9f8479e6fe1ead70614b5426ac81f3c765849a7881b3b0294c6ee6332f423c2d8ff520f4d22ff85be87b3a60c50dd4b0e25f7822ac69a17e8b382aa6ba5b54a041ec0bf03b93d4907f3d6f1f4e27369c811f74f814d3e0a97d879f77e12d7c90a83e55fbf7b446be6583130d11f6dc4679718a195b614314509a79ac825a51544bcaf68dcb44f5a3282948f493fda300b51f11e8322a620ca574569f40766a1b567d62894a3cddd567fb4a02b59b4313a8dc8254cdb1742686be216c69f28fd74b875afa57dea81536cd139ed20314d7c2896d3c22cb03ff9968427a2ab3fcad1ed1c062eeb6237eeabbe5981f30b97639b92ffd361a4c2646424b296a40002400d1fa1674a999baabc0fde2a21fc6846adb1fa315a567986a69ed7879638df8d65973d6ba7f9820164d60d63c890e6ca3be16e7c1daa08ec942e0c86fc3e93c6c81d0a50af6622aec6ea8307686b014ae5d8374bae9c936737818cc40845f7e5045ba50e88ff641a9685631efa8b35db5278a0ea74bfc5f55dfec272050e55edea0bf41b5d9a951116c5b891f3d8b7a90b3ca61d0c0cee1a8f67ffd08b4525cbae744801ed4c11242c1bd848c08c447a0009a8e4f16a5b28ceade61574fff93f6c62993d5b896d782aa1497644e4e9d3abda4a32e87de37b3f973a4e8143de883c0189d0f50070003419bee1a39ed166cec3150d10c5b6bee1b7b0adcbbcc936334abe6be69f3194e092509cb3f234874b3b2420068c3260175485311459c7bec6bdb7fc2fde6d60ac3df9ccfdf9559223e56d02f2e7573a09a9e34bae67d1870413f55c6a104be18832f9156e26f3c2eed92fb4844c875d1bb6cd2139c045788f2be1936826c74e377cd8c99383705c73b3869430e109bf757ca5c02fc58e7b6b6f5f1165163b42ddf23dfd1a6e6ff0c7effd9169df5f1bd9a42f8d2e854e8e0a26f9a9b586a70e5861be75817e39c20944c728f2ab61d3fd6f86eee14042bfdc9ee11bb2e46ff945633686ffd4d5a02853940bc496324a4465e6f0d9106fb2ba0c216f9a0ef82b825cba42fb951f3aec3dab1f8ec27cb85112f18114a948d975c609b2f887295d8f060f2790f88de0d2b738403eb3ab312dddc2c035f0d00d4561c68c2bab02235a461cf16e1a8b85b105d767a3ed6e19888108a0d92cd0e408b0c54fbef053e59141515759b961150382cddca066b60b15ec9f6d6516cc45fd90c7744844e12a4d3f54fd35c75fd807c59cd543b2cab0ef4affa46deecbd54105ae7e56ca3bf8df61750b43e7529ae9dce50a1ce415a26200a09b871e40f78b3264bdb605a9f6f97fcca0aff0d8fc4dac6608ff06051d11e5e74b4ed3b0f8dd8a49798e554e1b62600692e4d374a153f3fdf7f94ee99bf292c163274039ec18ae768da876bf326fba90cc946acc90e37430996bd9c4c48497e98a7147969fe7ff1af9f37b051734b3f318a150710896ae55e344e070c78660ef04c5e753c3e62483a7fd37784bd47775910b455fe2ccee33760ac01da0e933b4052b7a32e4740dd963658e120d674b6ff3909a0aee0d637fada6afc1ffb31db9b7b744101c2cba75a65cda09f18ceeb26d98376735e890f111f8b6084e0e359996f45e196d46c8f261bb09b28a2f0003b598a91fc11f16d81b382518c98f1533b6a6fdf393adac8ce59b297934a734a7f93867751fa78c9fc201e8162d038bc8c573607fb68d2099c34402da862a4d765a77392cfd82f5010a7cba5be0e7d848d62ecb38619638b4251988ae7cf1c2f4e4fcb026505afdb53986f7d459a33af152dde7ba9230c23d073fe25ee68594b80aeb1667503eb98d637e46f69539a32a5e2b5f6162f473aa686e4a0920d1f2ca4d41a554e00106579c1fb0f8498b95bf79790852539cb6f743acbbb462a28eebe003e4fde085690cfc561de19e996222e56e3e1e5dcc2ce197f9e5c99aae7420e338d12cd0167952d357ac04687288914c76249f91a0b77f67e902c509009d4ba73cedea8002cfb131eb83fe66f8c06297b862946f58ffdc0d40a6ad323267db6e6fabff20a829e82532d46765976dad26524b5628317b06a8a9f252d2ce141190b6f417c0af6c955d2f0a77f336a18e1662de52dd23bf188da83e5dd4a2c0e1b6698a0bd018b952b4304b245aaf76feaacc16b7ca653cbee46d095bd1dacb3b0b6f0724309623b4e4ba304faf1c550ddf47001f9bce06c43337614d83b5c226169d57deb0f");
// tx_hash 84ec08256fe54f3fbbe8dd109a177a35cd1d7788c1cfdf9074684ffb7b058a62
txs_hex.emplace_back("02000202000bda9012e79b02cb70891498076428dc13fe1018ad04d033d24cf85e0913d79de224bc963260ce2a9525abd20c820321d521f87c54f502000b97b612b41cb90cda9001c24dc69b01da02498a06150729e0aa26efaeca36c9f157bf8e80619c32e25a78a4e724815d892c857a2f8766020002915e00d148ba7fe9d87db41f6cccd1f5a42f97ad7e21be593bd5d426386dfc740002532d546c0e0b71c261c620dbbfc0483eacc5013f061942ca646218eede87b36e2101348b2a55ae9a3a5cc95b6f23f150801caba13db7a89d288a2d99de7e2ef9b50703f0d3ef46e6ad58a899a21ae112743b155278003e73207aec4e3d0d1066014fe4a54e450c10bbccefa40e36ec54f92355a4c1c668e34c3cb95e448bc258c3f82c80092d00d23b2d6d8bfe2cf8e5cd8fa75fcc29d95b3749c79607dea49b9c25ad6f0e7a0cab9a142c55479f7a5063a66fdb59a65dd66d963ef8c4139924f1330c155cad0507e1e2a0134efa3b0ec0ddfc67570e1091dcd30296919cd3da9b7561b05d3f6e1e7c4b568fe30b9563975ca99edc03061e89218f99f48c1b6f7227f9156778db01000000816d43fce0236c371ee6617135310d6fabc4276e8550f073dba55d2b71b7ed117b6116302f6931d29071cf436cb112150317cfd3bf20dea399fe1b09d7493f5d68794ee35438e828af648190ba945409240d9462b6bdd9baa6a169fb7be69e2f7a64626661a8d85ac32f3975f15882cfc37168e24f7174dd5bbe54a7c0a4adc840b984a747ab8caae8a9065c99fbb63455280f927d0b519eecb28d68abe6a70f610ef8d3bfb148fc41c1b4e829895079559cbecec68c25530ffc6bb322cba0050705ca23610e2182d22f7e92065bfccac733e8bddbc40102ad17cf3afa4802140db82068d8f688a97da1a5015999d6869d0f12d3748adf47a247945cc52feba3096902e58db2882e7672fec9ff323180e43094e0901cb56223916d167dedea7e530910b3db163272a6b86fe9697e041eea4423b9f7bc6fbe3e137f1138263611879e6eacab76d1ad61d3ab97b83a3767a996cddc7e847e6acb1620fbb22fedced8559cbfea642fb555dd11f3165b0c205f37b844a96620690d8317e09bbe8beae33fc6684f7e78b9e09449dd44512f18e21ecbf3834df144127a98e429e6b31c4407f5e0d0fb794d5b80d600cba8e2f9d9d54e65b0e5d6296fe91c29b7b341cce607269ba337044ab633fe7b7f3e3e26a29d05bd5ef8c0877c6bc09f0ec8339c1564b4493b32d2b87e95694e9b4e66add1adba93cf365ad324748d377c5dfca36a1726896c17c0a1ae1af47dfc3e436d0f3e11786e0df2f79d44aeca1c3241010818d40a94efc5b26786febd964fbfb88862c7bbe8af2c4813e0154a330765dc468ec965f76af2981ca663846ad6506c8267d0a394328c652ed56ae49233d1c69bd8918e53ade14096f997947b3baf8a602733a0d96bfae6b3085986a0b632b1ff11d96be009f602d274331be61d01a48962c8e604b65eb0b56d260af2b6946b690d8baad5085743bd19f2eb85b72108973e7c8c7a56bf7f1a2648c7b03d079791052d971575ac9462e282eed949c1da8e77b83764932fff0400f14edb6c0dd9aa08c5b36f9851f52274ebf64537a5b4fe5d8029621671d0e2232b09d432791e0e04c3030ed44ed9d30f643683bcf6de03d047f4c67087bac10079fd3de529dc1b04e3bf265b1187014b46c9e79d042890395d9a6f7041a6f0e8debf17a87fe0c409fa7e1d99cd4557221108ba2f416939846bff79cc981c457e92df3db0aa39fd04a908c7fe47c18f8dad3a8d1fd9440aa68510f2cb6388000be0e7f7ba70ce0e0c2ee7489d52361c60d170cbac7d85425d2514c8cc925a7f5b43a149bdd65a6007493e9740c7d94008e7668016d1e038fec62e5d7978d0df15a2873cd5ba84f50f747ccedcb3bc091bb977cfe8997c4142ffa3776f4e2384109f2081dbbeda610eb6cd44f664ba1e27caf9e78ffc66be6217ca0f6672a962e3b75eee0a1671e107c9c536b60b809e5c8e10d6e61fe83dde31afd38494a3a3b924fb0de3e882e30092c53ff92417bc677f8834f2f64a0ad937746973bed8724f8586939f2d158f0bcba37fa428e3fbf4417c3284ba5f140c9a111cbe1c90046ed5bb5a4c10f0110d87147b15d4b964e3beed2ea8409eda4d7173ef7411fdad3cdfe11d257ee4e3011d4f42422cf017efaf0a7a21b7c67bd0d2d8e13a0eba1724fb40dc43b16ab602ed6cf2192558f77323c1fb2aca773a6ed1078a7d4cd9907d313f6d8a437ffd0d0c8375446cd6d259796f3a638be77cd46d8bacb1637623cfcb33b8ad19d6b709334af2c62320cd3b5989ac9de5fbc5f125fb5f57980e3d6e5a35a06802ca9a0f4537417cfa003b3a26f9740c531a999fe9a6d7cd75cddc232cc2323bdd3f1204e1ee08e3adf511fb4f068195e1fd6841590f4645312ad5b022bfadee28fc1b03d13efd111ead8bfb0258ed2e7a1a33448c63241129c8c22aedd9cfe200e0110fbe55b42445d19adac772864ffb65eeb8654f4096fb75677fc1079a901a54120b096e650103366090cecba87a909cb3dfdce7e1dd32fc98c84478c48cb722be086af2f9423d35901aec9923dacdbdb5cba8c79aafd7689e9e82c2f87a232c7f02a05164edcdf0896f44cf90008d4e516ecc0e810ce333814d06cd3853906435068edf2c987d222b066de3bb6cf2c7a090df7878991900388ee05070d7ed6deb0d3c2a5f96196f14cdbbd0c74d381767eb27635196b2daac76644b5bb075b6ea08c6653ab966ed10015d1116593005522c61931b054dba273cc7d75a0f92185800d5fced9995d8257b09e5011d6eb6c802d7cb3fd671d015c2a271bac83fd1e80406800d23e3ce5ffac9a979b8981d4aafb5db652148d00a40b2f75cf5ff609f0d2ea99f25e462ab83a2f8dd1e06eec0f466e767aefb3f64f7f6042ecca60df4005ac0812e794a8c3c059f530f62204d39814774263198a9b962971d0b14408401bb9fd602a2064f4ffedf8c0b10bbeb99255c8ad17317081556cc83d65bc4f70f65710cf153e04d34f5f41ba9afa96f8f144622e933aa7daddb9546efb2454700220899f0f2639b37b3a179cfb44b00fe4da1525b97722eddfe4c806670b16702019f64084634954e69b077a1c27a79eee2fd46149d2a94bbf17b01b7cf15380cbca4dccdb6bfbd0fb582e984bc4619c1104420c846ca60187e33b9988de0be09dc1c27e5014598562e86d1fbb428a28625b15d746408a4183d1bf52cd8f45f0e97a32b5ccf081d5262fd36bdabff66d719e07fea3ff80e9376ca9595f355b60e9f1ec151b81c6ab0c99b91af2ae312191a8c87a212697055163353a0be61eb0fba8d94d7b6420594be38c0576ee119aa9c354653dcb8c9da62cef42063a6050b246dc0777930c9d7f9e334a75711e67195745fe75efbf77c829f7d2fc1197e0bf60ff8a01fd49db2a4d3c39dc030d23c53733b0ecd9554615bed254c7ffd750b0ed86d6fb6dfe54178b7aea9a52510704162671c7ff9328848518e068820f40b3b9cdc9e54ba4afdfdaf435743268cb774e8ead5ed3ebbdae95ef2a3844dfe0d7ff8e3fb3c4fff0ad805b26cd2c7c41795189ca61fae098732ee130e386b440319d5b05f065bd939b4c888de820f25957dcd7449a18112ba0e7e50cd7978bb019aa7ec7501046306528999376a3d12ea522b42ca4399d940752dd46e27c614c5f96af856bd40afa6c71af10d8c15a82ba0eeb66cbb629f7675d94fffe58c8926");
//tx hash 1be093bf3e0d004bd5bf3a121e812fbc0f5e1230bb33b2eb8d9456345afea19f
// also mine
txs_hex.emplace_back("029ca54101ffe0a4410186d08b88c5f101028d49e37bb8c1ae92cbcd928aa89494121be17e065f0d26427c165eda1cefdded2b018e774da8f7f5fb0214a235bd20b8f76271591dbf7de16f76d0085a5563114c5a02080000000397a47a0000");
//tx hash 8a0f4995709a67d5a175f4a435f6c3aa8fd5a0305e82484b4db2f9ef1df9b611
// second tx which has payment_id8 (7f4cd286ecadddce) for us
// tx has key_image: ??
txs_hex.emplace_back("020001020005daca038ddb02be8802939b0296ba0591d144ab56bbf28e81352afc8bc0f7822ff02af31dbf5e6844155723416d605e020002263c217ba93c83f75ccdedd4299fa7cea1d1c7a6e6dcc729019ee07c7db08fc5000257211ff41521a4d1f1668717a705af164b6b1e94cb37a3d8f956fcf938c22bf52c020901d8c90e0adb419c9c017838b3c081f2dd1404e0324669c19965ed49305f7df956dc21d4a79faff0851201c0d0aeceb118b752e6f044543acbe6c449890d28601b9df22fb030fb66cd98a522f96847980898a7bde763ee9487c8a33a817c75f5904d9cb4a180351471592e697d0d271d0c717686a8d08f546c5c63a594879dd4b677a4c45c4a7783a06b91e71b1958bc0469e93f805fb71448a93ab019d8abc4b05e3ea095a4359e7d6376f363186a7f0b6a3a04d88cc0aaf0b4869d6ee402a827ffe4df67f2d55319e1c209c3eeb8faf22c3bc829dca10a973ac0f09df6b86b413ad374f204505c7429e083dfde9e6a499e3a554ad9273cb2157fdc627e9cf373b76d5cfd4fb2597e548962cc6d39e5011bba020bd07afb6c38071531a5953c298c269198dde7ee9d86949b8ad21a3f0ecd26a6709438fde5ab58be20e487c501243ffc1b88ede154fb29486cab8a320d79f04c529fb52eef952cf10ab0d84fcd88e4b5d3deff7f43d8951ab6cc0f98094d3f913391f5fb7c689d7d1cedf649b83d9d502a31defeb76db15b732b45de0f166fc507c8bba052efd09886e1d72b3621a40c7ed4dc4347af0c6be614a5e9080d57323a588521704bef1c4b99a1251317ecf082e06bf9efba3d01edc7fec009adcc0b17a2f099cd7e8e1f8fa35870de4c662902cf50bd5aba5cd3fe4f003107956ea0b91a6e617ddefd54d39fe340ce5a501bf864337be12397b7ffe4943007eb589f9509ba6d311926b9316ce66f5c9ac5e0cacc9b0e0f105f0993dc75310582e5ab388e69acf735dd67398f109b7fb16691fb9172ddd6b1642283b5fc5c09765dee03038ca6c5c1a7a73f496fc7c3157c6deaea7d922f2277b9cf563d6f08474090559297840bd13884086647a302e5910ca27804963b1a8205ad2158840bb237a8991bfddc9055f9d634b9f655214914be04c7325bb776a412ecc660250cdba46b539603871344e1ff726c8803efdd22bc979e7c494873526385e9b38a027d2457c395fce5ed632a33ad22c3daad0ef52ddb38574e5f949793b88925f20febe020726fcbaa7a6e990da6fdbb4572cef17ea9565ea170e742ffc7735e65018d3889fac6f7e9326f929b4d66999a8631cade0cf96b2a886fd3e5858b5d1d085dabc71c5be79ce62006b71f240e9d74c33d5f77e3754432badecad2471a380e2282bb3b66fc8a8b02eae5fe53618b49f2ac7a71e8a3fbc03675f36d3af87a03efc2a2ccd12844f4141911722118b773076ba13915abb2b95bd03f9620f77d0dab7341f469d13fa3cd06e5cdee4e8d3f31f183101fb945c963c804b4c12a2e0c51cc48c34bc1bd9ecf42683f0299b699687abd9acb105bdc9df14e86b060fd0f75b9e4c439915904d2efc8ce4a6a40a4bef80cc199c2d007927ca96e99ebb40bc1ead701b8f8aea9fe57176313fd0322eb7573e595254cd96c39392faadca403cef7c9f50111c35ad00156a8bdb742b656f4ca4fa4f39dff17c78590ec921d05aad68aec16808d7b32ab1c06d3ac7d1a0812f4e3c02bfd33ad52ba6de6b9c408a58762c3d440ddb1476606a2685de6159065339693c1981d181c1339c7151303d427ebc84acd917d6711fe1eb443c4af220f00c142b780cf8202c078f643980de84e0fb67b13dbb9a0c6b9f8aff3765f3cc7575bb751dc3c6fa488c5d97d290abc80c3578ddf9a7ed99765cbddb3d16aa9acf1548bdcfd79dc6167812464ae0ea7b7b7e9f45479d2a414befd2b1772c72fad0dc3d45ca58c895fbc644201c40c5e910f5842f2927f95a7befcf56979cf28edba0a5207698c4cea03c7447bca08301671c7d176eaa163a9497a37a4c8ab566b2fecf5c5daf965de648cf796720dfd7e30e4065d3851ba43deddad3e054a106e8316ef255a27f0cd43c7b348bd0b1000a134fd98bd6fbe70179ff5fa7764bc9296f851c4cc6e16a62a0f0dcb2d0000265e93ac73e28356ad222161f2f7d4f706764e78105d046eaba7c6495be7082c32a4ab53b26c7d877a1ebc7d2f55ae19acd3b5b3ae2a2504f919091923660ca89389b8d998baffa0a35942ec964a6c5d7b925cdcc5155d8b15948ea53f7e0b4d8998df36af3fda232f2956f2d2dbd27b7de102f3c39254f3699a25c174550daaf8a044966ff7ccbd3c96211dce437850de051051f4455e6f8df835edf75a06007f41420fa7b4ffe3e76efe682a1327d68363b355c351f3b1728651dd1ca10eb6072f5f0e4ddc75ff797e0314e80bf37655a08047de013ee377f2d0310bbc0bf3eb94d0a53250358aee6f0862c1b564dc239c53ac0a6daeb0215165b4ef5f07723b8d382a6635c1a2dd76411048a7f9542b172126a0fc651dff7a6b93f42a0ea28d747c3b11b023ca2b10321fd0c2b9cbd8114341b147a1446b21d24a97c70488c384ff485763205b7da3d04dd5ccac96d1ca9a4f6c20936623e3f8e764c403b87f71f14b17d98e661ed23ebfbbc54b4089d679026bcc82d3719ba9b5498d03ce839fb598982b4bc232e2846e92e98058b694b34cce56dfd821b6962d6b2209f976393b9b1d5dfd26572b42000f03b33268aeea566c65e9d97a9fd5919cba0ba813cbfcdc79b5ee0c5f953aa2393aebd2d7d557fcc8a7d0dbe611293abd240e55b04d17ee67b73b31e6fb0649f671c847433bc92dc138ef6da45baf071a4506b4c99b647539e15aaa33da992c5d66e480886c8a9784ffd4ae7be8114a24b101a70c05d52bb612bb282c79fe566b582d5d286dd3aaf87a0511c69d8ad7b80609b498a01fc5a9e8466793dcd935578cd88bed130d4dc3cb460d2f5c42f27ccc0b171c6215b04bf3034d1c0024347ba816b75295a9b480bc16ebe48b67c7636f04c19641697ff9a1fc37fff4932a9a7f93ce2407b65684500da5750a4b779529095bee388ddce73fb07f1b15c9dbeb5e5e4b378699e2985f7170018264d36f3a0dd85197418602c02a46071d6215b19f51ded63912b413145af7753f753141810d6ee0a660a8c67994264f4ba72f7f4e11036b5b0dd3f3eb09f0a34f1985c84e0535b15477aaaf94e938b4913a5f077db0912ed6e597d548971d9ed55db8ded30ac106c7f4adec518eef824d986cc0c5b4ed4b2eb88cdd96b410b3c305acf8580d2b96acedd4f90ed13484c4791c38788e86aa0ed16f227cf8f4b71ffc597ab50db6b7564702e79f241feef3b99c572fe649a13ccd9f161854de3503be36f981005403769222c87d196198e3a2faa8c12a1ccc67e92b379c33532ee84d7cebd90345ee1080c36a3be95a13ed854ba9c14264ce950d6c102ad7ec6f5cb970a61209d8db8b39a0e9bd770d80d9d0a017f402f6b350e0cf7cf2999fafb72056d2f40e268ebcf7cad649804bec46ef92c422dd6da6e3452f3cffc86e4fd423f301f50f4169ab20dca125c10a19488b44edf5224cf36c9c936ab6afc5e24a1cec4e620d4a49170ca72909bf859c83e40c2d39e0c6a77bd43e779e54a7de00d042d25b017c63f3ed6862391ba35e73d998bae13d65e8b187657d174e39fde83c656ae405caeca20a85ef41960dd7dfda7f039bd211ee789347d4ed4eaabace2e0c4f7d0f4b606d388398c5e71d9585d8786d7fe20ba8b5b0b7376c9256ec1ee75b23db0bdd34971a5beb33cfdd9b60303b626f8f1825b00fed9c905252d61675394082093f8f9412e9a6302e44f795a79e3c25cae0e1f5f6ff6f7dda5b23e9ee1940e503295c5fb89ca9a462b282b7eb5011e111a879feeba426e1278fa2edb758f6120dc485ccd17e35960e0f10853ff631affa80f8be7596e67ce237090b0021ab1c0769e268a398df6dbbb2e7e64efc568e0c765b067a2f5790d514e2d70346db81087408c7777901f991d277ae89681a5a9a639441de1d0db069ef57e9b0321e7400e58ad49a666e7bde1a7316e5d8f97a8b3045cc3da77f9127d72742c54caa64066fcf5f2f7b71cec5e56a3e3cd14a91f9bf73dd01084d0067ee7429b4edc83b07b577dd7c7cf13316084bb1209f95a6f1b1c5c5ba5c1021ce94af823bc8427503953621b5f4070f71052660f550ea2faab5d99d55c42a43f07f94f462ff5d6f0328d17b38d588e72e88bdc22c298ad5f04c649e980e1784ad7ab7b82a0e70e3061840410e3e453cab29389f40634421f8b4db014423090fb4eeb908d48c4cba01b9ba2f4973227381d8aa77e95164b5cd5e1bd2e920693eba9039eb71d4fea905e5624b829073b85034ff20ee8f6f77c32d64fae552849a0a7c94b0d39f4cc3096f42482f0296ae41cd2bdc9389336672bf7589f51a06a664d2fd2fb0f8c87e0f7841d3e2c94c7d14f53974e8c9c75dc541690a1276c169a1d7b4c327163ae80cf8476de61548826007e80df83d7b952971c556c050dddf52f016ffdb13ec4a0b9003fd9c4671c0e1468e5b7d0c19cc971b580f8a8227ec12e1cf6b50c6efe70a880d28bbb298e99e56dbf3d1a4d9fa6afe938cdc589698182657a8b39c14c1004df1d5a748ebceea972c49b756ce1a1f742b1e3cb9ce404068917af880daaf04b7ab11f8d24c3bcea2565b1e7e18a7d983da51ae0a064c7e70f6f6ad803f9b0a818ebe471805c8a62ed0c9f5afa866080143f7cb011e39fac06debf93fcc4b0fd396bbbda163d50acd94853b84cf0869344f489b7c236bec34b66f6446e52205f9f1ab22816c15209886735a3edd8eaff788de415429cbb67e90222f95ca300b59c95c1e06f5ff2838723fb2dccbf6241d9d2b215c75f3736f9672fdafb69405f0a28a684b996fe688131a516879218ef6311503d68dfec9fc04d55837e2550eb7bd08f21b8596fb1b3ac090820eff2f7acf444d2441e9939b59768229bf6f0a9e5d6181eec8dab0160dfe35ee8c5c8a8fd18d6ca860d374c41477cb5226940148e65705d313a4c8afa0c9e26bb594372fb8baf563e6a2b5f96038590114680e876e60728985c585d95e71f7a94ae883442f021fc8858aaf9fea6336fa867402804a679fe325802a9cc5335f078f1ab009360ad9072615912f819f125da45c06ffea0b4f83a5dd838c35ee8dcf2ed667405fc42a5802e25fe5380d7b241e2c0f4aee0007d4ac91d4b16e0a9b6e6aeacfaaf865528ed8b7730add0cd09cad6e057e592880acb62524654e87279cd96e6eba651a223c3b6ea0518a88f6cb6b5408e6d8cff4b45807a4ce044ddf4c24782d70bc5e532bc747c47b77d33714b942092d4afc2892cc826fbe4dbe34b40c9a2a29cc6c89d3b81d6e95e731c4a23a3e0b16d53ab753c8eefdf7b90224129c8cd16840f96e61a86af6af315f5af249bc02b93d4fc8c580fd1cfec45d73dc7ac204d189c191beede7218caecbc847f2200d58aad4950e5812c2859f0790d2136a627dd20c34b5984146c69474f12e9e4803b504d179bb2aae2aaec951c8c7b4405ba4a27eab472967f46fbea288ff439e0ce67a78326c07e94b4078947ec036e61975919abade7cfcbcba985ea990f40b0b176979a2ed9fa86ab6e5d301801eea9b3a195d1ba34613a196dd25e4123d59072ac87fdaf45b9f1a89229da0a02893acbd7e9aa16725dc72448480a22d1442010997647dd1cadbaa7e3b916fb4f86fc78d1f35c1c17b5d61d0ad143ecbf6340de4acb8560669394ed2a21a377f8c621690eb2d0a1a9ca3478936a59a2a1ebc095929d212905720c73602e5f43d3fc9669bda25ea9f392e14f2ab84b6b3013f041346bdd3125e0760bf8c7b938f38173c77e51af3ccf87d0e08f9583f8234cf0c9533bb82249dbcaf7e074a4983c33b7ec44ca468d1c99c7fcf75f045e1d8300c9ef268f39ce8f8c17888c18c263ade8c4e67cef1034d992d491139b47dc6930067205cf980009888ed2a99391345d0d2b0b8014ac80e1b8776353e6abd51a20fc9f161e2e6d3f28afa8c3c2f3c09d8779cec3fdf9d9d26bc0dbef5488241e6085cb0041baec31e6e5b73c5714015cb2a5c5179fe876dd12e6b4395f790034c0a359856960a1e2e2d1604da4451a256e87ab884f733be3291250e6e2ed8fff802fc70a77394e394bc94da635c663e94ca6bbcf306e721561efa7d8e294cacd00819a4dd8fba08a0c0e3fea80afa93660de7c501b277ab733bb7370911be445102a5978b3d981b8694084d7e20bac4cfdc54e1f785cafcf46df290c0f80cfebc0553e6258f5581d6b514077d412ec9feaa7d8cb3da45736625303d777c4efe70d3af0110587383b9c0d1a0009de8ee41e21d47287d4f63d2ad771099a3ca289e0dfe1b40cc3100c7fbd2f1aad2ee216c41d74a98f980b44eaedeb616eea9f0c1113356aafa1a3574013b05b0e25f2ee737549c4bda56691f343ab8a0476a6ee50e0cc02e82ef25338bbf9155efe224697ffbaa4e90359663c3c61d647979f963dc711f3982691c61826ebd33112fc4135dff359b0dc2b5a33fd3ae204dabd9c2a0fa0f352ea3eab219a3466c18a611a047ef07ec0107bf4b90fe15b4c41401ac0305b78ff9bf732e7d70750deb04a72ebac209408422224070a49238f0c97ddb050569a7af8aec9ac81861f37cd63dfa4e54793cf56a81fe1f78b54f7a03fa8594945204fb9d3e24d504a9f867475100be3cd17609fe2aa035b0fad07ca7a2df172addaea8f3b031492c312e80ecac70ec4e6f1235e3ba3cf3fa42117d7e90791971ecc43987effbb7fb885742c320ea8bb7b1ce37e983de38eb7489d55618ea99146ec24ee7f7f027779faf7fa73ba2a32556e00201295b2dffe2c25e51d2380dfec989305bcad67b909164d218e29ac821c89e3437f1632bcb9b11d3d070bf5c369ef8a87fcb438ad5202326aad8c2618de6fa6541795a020bba7d329a356b3ea30815559d57bfb9dce7ffeb5c05bae848d1ef3f935474f5e06e8a894e1d369548fcc61386d274aa9e6e507c9b3d09ecf11830869de6dc008670c7460d1bdbf3bdaf769f2df83d9056da966a685083dac378265686c99a6e603ffc17b08353b181b19b8709fe7f6de57e6d308ac60f48e8426e0b600e3eb646cefe7a646a679c6dbdf3a3eac802937577668b60ac146df7fecbedb152a9f45c58c7a2d636095b490207d7a552875dff6f9de147af4463950d28b82d143f1046b73ea2bc6b158a641fd08789cc32dc33326788b569d6a6e56e642df14bd544c06f6b27f1830ef4ccb335a4465e854c4e2cb82c4cef253838628ae8c666f3dda48bc29ec63686c52c621f74aac46e33929cafac2cb33b0650c8c3893672dc91b99a58c722acc789a4f720225aa49dde573d705080dad00aac87127fed044a54f1d22b346462655df399b1ba86e0662007ddcb5d9c6d1542d97423b6e5f4da11b2fa4210d735985f736956849a20e8b13e412b084bb6b0413cff31fcc60a03302b22d5806978407e5ee5c88802ccc5854f1ae035e4fb7ffd66bbea2143b2b5f64f5feeccb71c11dbf705dacfc8d1e3214705080bf687b4e9798cf4e0ecce552de7fb53a11fc2806d2a4f87f1cfa19c9337153545c2859586e8613b07a9fdaac6feed20d593154d91ada3cd0d2c59841fad8450aa15b603da9fc807642f028be6926ff649edb91fe1152ffe656982ded3d66de1595e06ba385c6b5658d32330c9d32cbec77943ce0d9a8a5a9d4ab44568d60e852932878d68b9cb942fa68708ba8ad9c4283024fdd2a6791b30a64074b9e4dc7817006b45c860efb038631a8a5f9b71fe77cad24c1c0acdc3eb5de38b262f0aaafb630a00f8b7bf8722486302ea4dd5f7bac2000a2f075cb6395626e2e52dd892ec5814570c762ada451a5b915dccb6981be89141e3175f805e98f043566a94b5f23edc1413cccbd99f71e98f24bebc0b0db8f460ba93add6d95ea47bb878f5bb71785e0bd97ef989f4b7ade62c9e4e8096054cd8209d4aa4d70cf8e2d997bc98a02c7975de8b01f4371a245bc5d3723533f47e4869a05d2cbbe882c341089c2480dc05d9fbf1d2ed6e915a6bddc86c6b5232718e4b450b56bbdabdb20b23ebcd66f5dd4d7db07c041ce085fa0f5a46e44ab85e8f3e9ab3a7394acf7a10c352a221e478daf16b0baa42babe501ec29d536058aefe779ff376f5d1a497b1a0dc8a1310b6a78895c393c6d9dcc6844b2fb05d07602cf2dcc518656cec67c78d55baed42be1b896c2b49c4b513c656063b299c2bda83ee2ae02591e055097638223bc0caf544057ec751629131bf1694282e6883b6ce4ff9034a10b38497f1cc134b4f3e328ea13ecaca83c59ea9738104da845d8a60348fa15c46bd7c9c0483f7670d4d2db3fb5285535c5578281210c0ef8b36fc9630287957fb79d6e3d0270b42743206d49faaee168c0078a63b5f183bb0c5597fc856b0ab9bc2bfa401f03ea9f0c05f8427bcb7cf9e82c46661b85c4b909fe3871cce1d3c81b123402f0cf5704a32d18705f32df9b7aaf3991b960ddd6b07142666b2781371ad64ad940f6d3e0d1522e7bfb781c1f1e8656b6e10e1e3a3e26b5bf8d4ed74758a2c3f95462163eee49084772a796abf1c4bb5fe99c6c5872de19dac043a6762b00c6446ef474cb9ee42960e9607062f18f2c87f381199e730de7eb04d14d81df06ed84f890515e3d3cf3ea72e5431e90452c3c83b3a7472ae00b8b536a484999e588c0315d4e55dfc0c8748277f1b22b99c1d82f3d1264c695c4464c2d81e8fb698f386c13f952c99d0c410feb9d891ccebaa76ffeba4c4f2c6988cf86b4fd39905b3eb2951921911302980ea52851bcd537e98688ff267f677c30255cc2bff9f39dae1d5aa85747efa5ba7fd293f13c98bcea0cdae3945e8d7a7d3b87b3865c46e666ccd44874842dedaac5b6361c20019a7598ceae0afb3cecb28687e49f198b1dc5f66fc5724e4086ce082565544629b60f3f5cb80041aa537cc065feeac336b58393cd88b9c476333ef441de691d0689af23896932a44152acaf93617a72f23359e0f6f13a47b29e7a5f0c6a1bb820e55c3c0e1f93eeb22290f13e3c730d699c438e6076d955f54bdeb52549e0baa152868d40273809d9ae067a5fb5ed054f6c550b1a6465f708887cbb0c20f0070346e8a81df12e116bcd112c2b041eddede24e46afdf2e59a3e47c84ab8df36979f3c17b127e46089563403fdcbc4cae9363ea0b2f304985915e11b3c4a48fd98411566bff1d61e46ec6f05542ca2e77e38e6cf49bde1f84473b4e6d453cc153dae2e5b1eeadff4634c35024ea8bc48f0511479e3577e3c20af95158908d24453b1211d10c5245c6d9b390ffb3e8eb75c662814defa2a019d237cfbbff7f4c6c82bea5c4a6ad68c8da49400ca7202a1c53e17a7422f2ef1dfc988447ce14e02bfee81915fcd5e785c981508e3566b171d44bc28d1a2d556c156bd6c9fb85a437592f4d33ab4b278459a200eafe93d4424bbce0728ddfd087510028471fb8eeb4aa01a835d1583d47e10ee096f526221bda49309ddfb3918be0b7ed329834aab94f2d29dcffc1c424def0009bd120231e9f1880588908c3549f41c7d4d3b0c5e45f7bf619e23428f1829ae0637101a74f45c906792195363cac009100ac081bd72b25f3817f3a64f9f74f1052597535bb5388b9a37bbc98d8c66baa05fee6a429ca9794402ba60c9cb8b70025816ef5b2b2953ee15d427877472299a06f91cd23255694effe6c95d185c3c0355ef86a8df4b6c60e7850db58745e98c7a7b3aca2ca364a3a118d3000aa2ff0af8fb493df368b74d85d41b7892c1faecb69e781aca1200a8731d74e592ccda052ae7aadf9375158c620aed79776de92ef0e303bb1313417314368e60388ee4077fb57b45d4475bb5c0f9972135021c161142f84633052c7a04a717c926f4ef07b69e3a090d7b563117354a288f121780371512cb5177d389f0573e497d8a8c0e55fa074f4b6f34b214b791f3de4812b75e05fafcba6e273d441a594f6327d505bba5ab6bf426596c0392e5a948ed3d40ebf02fb57d0486132a9d615bc4d34d06945f13202084eee301aac716cd40d382bf6210a2f19047a496d01b816c84f0003dd5f94280265dfd4454daf82fde8c521bba59fb29b555ac05e940969ce9a70ce0b96873080d63803fb981cbe969e4ea9bb88c746ffed410eae98ee554286109b57dcf7a7772f76f52c7f0e943f740f5272755a02b17ffdd22a17a9f2ee51e0d59c0ea5a3fcf0938cf26d3d0278615733417ee47ff0785a0436828d52a94d20ce8e8e0b0f82de9dcae5202ad93d2f7ba8426b8cba956c339282f162e93c6a208b2f1d732d36134db891abdcdd06a31262d3385156e6111d4d33d6fd02d50840fa6d79b4c518b2d0a7fb5acd76eee88645de826a8454e696a955d0550295d630edd994dbafc55bf54c14dd1da313f9409b8e46b1ef58656182f3b25a87f53200a0fa2a7a437029639ac0f04f7c149c62461fbabe27afb8bac0987349617a3f006d6b65eeb9e5db7ae1a33a9d3d0a1033feb347bc80293cc77de41de518078210717cc9f7448975ae5c8020e0a69c90d00a49984e205930eac8b070ffc1cf5120d5791263af2b4c2b710676d658a167f5d45e1ad85b241ff883647aff5f866ef08a3d59a59dca2b1565d50ef385e51ed9e8980672cd9ecf9c805712feb5ba9d007583dad2d8f13d1cda5d033a826aee7c53048fb0f7135f92997590800162cc20e814166c7b1e1b2fc5256a57507c97012cbd697209ceff6c374708b12e7317407e622a2471fc4f7a409bf7e371df0f2e8fb5bacb2874ff9cc4b83247863c27f0b4b24efa2bec76e12c3cd05071d1b03ab191109240ecc714a2c1c5ee1d45ee4098236208682ba3110998184e35cc26482fdd2271496101078f91cf74230aa5d073342c8b539a3cca2e9c58c058b73eeba8449848fa4dfd5685e3d3445d24e08037e5747a3247f345efd2fd8462731044aeb05b9500e64f978eb6d334d7e929b0dc39690e50b992e58dabcc2a4a6f15a54607d20dbfc71532532ae15897356da018e090e38158ccb0153d183422f2500660600ecf38116c47c3cf20b17a8f5d30f806c4b770404c76d83b9175e89fd9898861f5961d35ecaa0b1e7e746c6a7310af34ae37253e237283b00808b1197637016dcd2f75b532a67bc5fcd4e19835609ae3b64999e31e8ac25d20e0a02cc47c0d589c0467658d59c213efe7cfcb0080b876590c10aec88d8ef3eee66746d40da8437fb92040ff05cc0a28926e8578c0cd275ca53da5a9c34031e75bbd5e9832df6470c342768b0bffeab4a84d3cada027ffd51ccf82d2805b287473bafffd40735958bb6e9ddb44d3cf55a26f5862d0741d6f3a1d7c55bdf2cd5515904f8a805da795f9cbf4f1416349dcb8cd6e8370b81c14eb9f35ea65a274fc866177998e03790f1be3e8dcfede4dff6a36b23ce067d41cfa0375b37fd1bbb73368c717ac273e675fdecddbfeda828eaf584997000933e7a51091c42ce64ad59a3f34918bb0a60758fd31c253e01879f9746120c0df7fa97a33294ff3c15d742b46d58e03125d7b5075a93a72a75791b7a559293015f30d6649ae571bc4e932d7247ee1a9ad2d7b579092676f5cf63292d7c9ac2078b74c1b62ffec208d1fba9d0928cb29a9f9ed2ed81467de1c5e588f70214f404736c89b81c695b22ec4f847d6abc8b78401f8aba6dfc66dd008550f246fbca036ea4f9165ec43e0b78e1d01b718c1f30a124fe1971d0e3c1e9ac6391d409580a241bc8599dd92770093a73241c5a92cf95ddf6a475c134f7b1a3cb07fba3f20b140bd948247e5249bc98f18c7affb3102856ae48ffa49ac9078c82539020710b988f85a248f6cef843e7eb603d58381f7dc6f53fee64b8dfc562cc0f2ac5ef04ae0f6be5a8f51ce5a5cf7dcd40e32ba747cfd7358dc64373788a8a2fcd3c810352dbdc1341078b3c9eb1b866032afb21fb586a5b207303200248f776128109025e9ae8aa196e77f81ec001e27249a39568b1df83f45239efb6e0f681b642c80936f722680612964440b593d61a9935545896268eb8ddc056788c38cc850760055e7915e4f2477bb7c54e1f31292da0fc2f593a388e317168148e5777ae60480222fc1d802fe3510446e8e1d02f6e38cbda70dc338a98e6c954e1885aa450b50a2052106f8aad671a5cce20e003b711fd83d0c287658be44b6994b651a0909501a2a1bdf89fdff06a74b8ffa15f4ae7e1038dec14b93de4048ec885a2513c090077e7698ac8e49c1366790928cceac85ca845ab6508492988cdf8c71bce668608c5d972d79a4e42c95816f863c82a25463771702d7212aa796341f58f0dab3a00e23a0260998c7cf261d7aec5ad571ca09876387abe1daf7a4a3338346a03ac0fa3948dc3ea185c3e0b9ebba5cebef82d09e3cc7548dafd846e515778f7562d0d9242ecf393193bc709c28f58385d513bc8bcc552d27af6b428c2a88445db63088eea79ba250886317e8f0f48e994ab92b93d943d0b9f6606aa68e2c969597d0adc05039f30835d94d551634c2deae0379e210818cedc75dcdeb7beb4a631d1037bae8ec4f34e74a7ef1e019bb485dc0ad3330d91cd9844363c24f24f8a3fd2002d503f8e3dd23ab90ef025306f18e9924e5cac3fed208b0982cc4b0c65b6810f78470768c4df658e11c4df10b8fb66028c065d6243d722eff9a6fba7e137c101525424630933b782c76c242ab2d6858f5160b69a2961c592272915786b5768093dbb3a90af19fef5ff3c4e26360677d7c821f9f71e93d837b650da65413550014c95b70451e7c7ce631868e16ac1d1e3d6a471595853cce8e506642cdea2a40786c30431d3e85b207efef17fa16e84a48161e6238fa5c5cf11935454bc828a0b1d12e5a9c367c1afe7bdcd51fe58b720fe64772a84f9250bdac4ea8d6ea242089be07f20c6c28091873ef1c986f7e2ef33c0d7f5e8e7c943e2b84b6c5a5689039ba4cf6461bf6eae30d34e4a3f4444a99dc78655ebbf5f87a0ee0ce2e6f69d02f71d5f0fb38e6db6e263ed105b01b8b9ceacee765799a7a4dab7fb344c829009d8576129d9b8da4234b78ccbb6904526cb08b3d248e58f0b0da7470316b14b020960320a0b127236517dc08e35986151fb14737aa7ec5b6b7eb60a198fff8e0648c954a69e2bcc42fc093a2eb6690c253f4ee12a6e96834e6518929af854e90e3c9e2330c56edce39362a091c7f34d74ba31a72c7d012329fc69979769bc46073fcdbfd5c0f5f177499ccb3da5357b985ea9c0296b8e9b928eb2f79bfe25010ee0b62d8fb0efcbf364bc69a76e1e888ac15d15c57b0922a6606264246dbdfd0f4f50333032243168fd2a37f8761eca19aa3c185eb6f8e18e8154d8191ce9ee0edc40fe8bd9c21ec773a6b334fdae4e4babdb1236861f81f2bd1079020fff000dcbcbbaf144b5fa8e593d2af17a4f950260a8c275baa733df4cc585f54ec91203b47f9d8a69a3ead7a5e58a10f4b5c646e067bc92dd5ea7d1a66f9e5dd0f4bd071cdbab191120b236e6ed5fba7991976103881aea61a89ae1228863cbe2142a0832aaead851e6ff86551b915a900d5568684ff5a77d8317e0c9f85a5aafbd6406c97e0a2b2e8b3e98d8c47730bfa3682231af2d260e32cfea708d05403e3fde0d568da0333c2179ec580fd8efd0207c18518f7ad64ac52fcbf85c3a1b87c60a0f008fc49f4d31a35f7f6e47b5d8bd6ff86ae4403b856fc32d21586e9006498c01384a96df7bcb371eb5fe33663105f2a07b4381607e3772a7bfd78962c2858a053ba02f59b86bb272de21e03e3831d3af9ead15e7b24776ecdcd8808fffc5fa06d20fbc24deb139b693969f62f7bc58c04cb0a064d32992cb26a7d3fcf641bb04371fd04734372a0cea78a525cb135176a627e815c368103f8e8e7f27e5c4100213d96b127ac7eb5ff734656fc11c8d4aa4a906cd1a665335607ce256f5991e03b34d6f68fec70a0a8fdd483f63f0700f86807cb43bd0fce413a9797c5af1a3041ea25854833fb9d57bfdff8e0f64d7b85445081fc378d68c7ee7414d85d17303c08467c31dbb18d7b318d98997da20270505daf7e2b96264ee4b8f17a1687d0fb0533ba29d437a55b70b9bfceea759451b7d8f284ca8b293e5b89ff317f0d90f71cba8934741c90497ce9c8a39ec46c56eff663d77cdb87c34fa1f47283dfb0c71aa2b0433d1c0d380709ef313a81ac4edc4c11224e907aea3705f08d959b40b41266e123520a0367735d7bb0eda55e3c3ccec92cf8239494217c75122b5b40836215777e72c25b49eafc4b0fa61123ce3cb028104ebffeaca6c87230a7b95065acdb5f8c016907e2bccd1e3255357c7030fba97325c7781bd9246b9772e7a0d613ef58596a8b1f3d7baecab0cb1b6624c8d15272a579aa4c621786a02484505310cd4b95188d80641b73849a653e7b00fee4420d0ba6c87b604ed980eca4e0c9546e099c552c1adf5d79684d4efa36057a7a24a321bd4a059c527f5239c050edebd6457ca494f6e38b984790a6df0f2a5f0d426c87eae6b0db096a709655107f07f302634d477f795e869c943dbdb006ccd1f9b1e043402890fd5917ec3f4073ddb566a495203d4606a54f337570b4bd87f757ea3a8ea72e8307100c44ebf048a837544e7d7004f3783e72031e36840e5175bc1fd74fa6564f5c66b1c4f1d097570cd79987cf770a1f8c6cd74a5d1986f5bf3eeae02fe829a9bfbe58e3e9909bd97f6064ee2e828c09d4ee83f8a4cc554314d555be42ec8f04a055e8b0405078f762cc19efb49bebb8543eae6a6a9ad6b109da32d5668c66125462575dab2047c4add5ce1bb9be13e921ccb6ba3bca7f054c16cd98695c06a6e6de3355be3030668561dff7fb67733785b3892ea4bf9bbce6bc01bfe41ce53738f9959861f07802934166f17656a6ddfdd8ee2c8dbbf3c8fb86887e369d7643904e7caf1b706dc1bc2d51f2cdb37a9b19bd32064fa3c9b74c31ce8331d4f94a77227f8b63006161222abb11c3c88731380a2ab8a226f7631b041688511b94b4cb808d4615967f376a1484aa642cbc85eaf0c6311d7ea6082c08bfe78f05973f5ed39dd14885def81240075114279b75ff1ef32cc08a235bf4a08d5258eb669c75fe44dd3ee920a86dc249783cc53207b8cd689430ce097a52cb06ce9757933f32a66246181ae5a819754f54484f7b537b4b98e822e90cc3efb6b9545aa1b19144e9ecd842468095d8f4ec71ff5bd0dbbaec396c28c373d25d33fbdbc0e205b68703b6697704711e43631f9b3396aae8f61d6a2959fc386e51da320a45bf5c3622c0e1bfa5e98a6ca7aa16b279129b56eff25db5d513b08312ba114ba05d23bdbf1de810c53e08841213f99faa8ed4d6be2bf435f5b1c236b164e67cb815878097a367d168041553057f7475c31199386e1e88269465318bcc9d4d948f4644596fcbab98cc4b8ceab9ee0554b1670ec609c4b0616c985ddf0ad3e91ca671e2fd446603774840eda5684f748936715f348d9c2ed12171ae3d8eecd05bcd8905a63472546f7010a0a8009908500bec52c76dc7d7eb01a169809a5433dafb67432c19dec8c79c0c9d24b61e4609b475df51d5f6c9dd18adc3774079f868036014f853dd6f8feca9e50d128d9ef3b53917c3e023ebc2924ad475fd7c3262ff0366decab3faa1a0b9cdce435b69fb9b4d73dc2e5918b9a74033b77338f330da707dff0865ef463e6e8473e92e4af590885f96480e384b51d246978afbebcd9928654cd1f554c280323b16486f7a223174f3a65caa7604ab1c53049e7455c67477839d95f860ac28766718241903da340206a24d51b5285067c6e68176a97f22a81b78fe2b3ee10219f5eaf86264e80708c0897a8dba1fa23cc8d121dcb2112d9b309feb527933a0771923917cad6d7f57706a1348e40bfbacb0aae95e16686e4fce5350cc5f20a2212e91ea07bd516efd80357394aea5bcab3d9cb50ef6980c4189dde6ee9ee1abace41944f53814ed4e91b8393020bd1a4aa6775aa70db2836c84a280bb3004eae983aabf8cfdfcda87cd1477ec7b83bd5a1bb81ea7e38112952d58910db6550d356e248b3ec1c4a06455a98eb110b06110628c8421e1f18dbc724ba09072f5de503ae23c522b8d6306d119239368b909396567b14174f499c35a759dfb0382f598491a36da4cc2a099300555b47294752c2254193a05ddfb9d2b9f64d82488be13c419986f29eae40deafc49910f815248faf54bafdc0630e3d6824d5f1f28f3560fe95cf83f3499f786626c90b426f052154643973c2e89187756f66fd9cad390f22604fa3972e9b0abf660859ef17adae5f19b92affbb7345a4b0d11aabfb87715d4e987996572bbe57d8b594e453f19f76a419f143236684dc302834c67691dac86450e68c79829fdb5e276ca3fae0467b6d87372cdf36901677e34cf1d0da37c924633af5bc624c39c5f3a36cf2168d0b20ae34ee81177192947713d2f0a76c4ba02529f4a29a729121733f8ef9634a541df8e6b39618957d4facc3f0c3a8653665b3c0a3c4b233c44c4c8451d2b90ce44fd8be42a10b97addf30c9c9a37e88b391147e0ff541ae8d19b476c92d26217a6f7217af996b16f7688880122f58674650d5637deff11a1ab150c118a490f8b892d27cdaf509d5ebd7f8711cccdf25e0c71a8e799125f16c15abca6e92e9c413475a83eb8e1e3505057da79e7eb15a8f7944a2db9485639e3c3593a4230c0108daea4a25181864e16866fde675b0a4352f3f317c56d5049264bdcaf176e9a37a29f269b0da64c79d53b209d650ef79526f98fa4e6c0e56b75aacd30a8c3c18b39b984031fcbebe5afb8c1d8ff92a35730bb36a53bd9b44c0549a0457fff0b7dff6450259fd9d2f794a94e3f1159a8c4314b65b455f199507469cd3c8ea015d0a0eba96c18c1613e9fb326e479175aad0aed0e32f281d906a27bc30b24e96a0c44e8827fe4e9518eb2a78c1c9c1f557c727bf141d49e2d0af3b9f91506228d90953bad8802c669b61847ac483a12d4c6f831b068f9e5685a56a28c5806e2e452a113239812a054d273544ec6a1321ab83f7067366ff956e22ac146db31440e9ce90be7db395cf2cf8c3316b0d7f182f832405524889581a9f57476095571fbd16e4c05c00d50a5693ef7f947f43883c091477684b035ce36b2098c53c207cfbdc0e08bca1c4a4b76247daab798437f23df4f5ecac72f360e90f4531039c2d90a72751ef03cb7e8ed670c15dc914b521c1580f4a138d3031c4ec7210496ae397609a242017aa9f77f494753f80e365622602ab7e836e876a7216d643541f3394f3377e74ab6b9877c6a68c8f9bdcf1ae512d2d0ddd3e84e0c13ad422a3c0f33de9af9955fd9a14260f55a522c509744f6d1b53edecbd115ae8a04c412a3fae7dce67e61055d25114fc17685a855496571a8fa0a645415c40cd75a4d0896617e6f53da09e49afcffbdf2fe66e13f4367bc08307535ab4f29a8eabccf760304cc815b6fb05367637f0c9b6168a1b55123274ae3297ae2f2a0cfc7deb0b189e8cee09aa135f3d05fa2c5bff44fc83c9aebbcc201c4e0af862d2262813d0717bbeedba54c6277361e08f11ac1a2541e4207d2710e4366ad6584bef2ce70ff0db63cf4bd317db29c0b568342c58aa70aa71af882104fb4bb893a7522a90fc8ee02d721b3ac29587b8548dd2b6bf368a6684dfdb1f4b185395a225f938c1340669bad9047b680df0716c1c08370d98db470b1f27e3f7202b6884b9a7883bc68b1b0924cfa368828fe67ef6c11dcb8bf44f2e5953283083919f2967ae6ca680c3a14b5aba59bb048fcb162982ffe19f00540511eb85eef0294b7e8adcd6f060619bebabbb5ebeb2150f7baadc4f77a40451dc08a5643b33b98fdacbc83ab39773ca11b274c711421a7d8137d40f6e7f92bff10c0eff249368b5ac676ac52766b72ea35124c906fad0adfc9506b87039341cc30641e9ef52c9c390e3f07a0b9f37027ea3572b8e123c8045cdb22e872503cdd204cb27643046e99eb874a5fb5d7aa0eae590800ed40f6e4c5513197a417e866308edd0eaf9d85611b1329352a711aeb73851db83311e8d86af6e81fca10233b1031f505b4ced0fccbce14249f3e8e74e4e2ab5975dca724b9f0c7d9fad8179ec01e5bde4a672e2a3e932e6bf4e63905305c02bf844d81129e7b29dd1a5b34892011d5777b8ca290eeb662e1f372d586aa017765ecc6f95caf105a3805e25ee160848d4f21e4ee5d634f2d9e50b680035336dc0a6195427e864ae77d7375006ea0eefe16e38a34bf59eaada37787587a8ca24f11d002141b09c8ac51814cfebfb0a");
if (as_blob)
{
vector<string> txs_blobs;
for (auto const& tx_hex: txs_hex)
{
string tx_blob;
if (!xmreg::hex_to_tx_blob(tx_hex, tx_blob))
{
cerr << "Failed converting tx_hex to tx_blob\n";
return {};
}
txs_blobs.push_back(tx_blob);
}
return txs_blobs;
}
return txs_hex;
}
TEST_P(BCSTATUS_TEST, FindTxsInMempool2)
{
vector<tx_info> mempool_txs_to_return;
vector<string> txs_blobs = get_mock_txs_as_str(true);
ASSERT_FALSE(txs_blobs.empty());
transaction selected_tx;
crypto::hash tx_hash;
crypto::hash tx_prefix_hash;
ASSERT_TRUE(parse_and_validate_tx_from_blob(
txs_blobs.at(2), selected_tx, tx_hash, tx_prefix_hash));
for (auto const& tx_blob: txs_blobs)
{
mempool_txs_to_return.emplace_back();
mempool_txs_to_return.back().tx_blob = tx_blob;
}
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillRepeatedly(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
ASSERT_TRUE(bcs->read_mempool());
transaction tx;
EXPECT_TRUE(bcs->find_tx_in_mempool(tx_hash, tx));
EXPECT_EQ(tx_hash, get_transaction_hash(tx));
crypto::hash non_existing_tx_hash = crypto::rand<crypto::hash>();
EXPECT_FALSE(bcs->find_tx_in_mempool(non_existing_tx_hash, tx));
}
TEST_P(BCSTATUS_TEST, FindKeyImagesInMempool)
{
vector<tx_info> mempool_txs_to_return;
vector<string> txs_blobs = get_mock_txs_as_str(true);
for (auto const& tx_blob: txs_blobs)
{
mempool_txs_to_return.emplace_back();
mempool_txs_to_return.back().tx_blob = tx_blob;
}
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillRepeatedly(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
ASSERT_TRUE(bcs->read_mempool());
vector<string> key_images_to_find_str {
"18fff454382da01b4420cd666dc5f3101314537de00d62042206d4b393bf918a",
"c0b2a4909185084c7113de20415c3b7545e5d4f0cc5b5fd21cd1d297ad1286ed"};
vector<txin_v> key_images_to_find;
for (auto& ki_str: key_images_to_find_str)
{
key_images_to_find.push_back(txin_to_key{});
hex_to_pod(ki_str,
boost::get<txin_to_key>(key_images_to_find.back()).k_image);
}
EXPECT_TRUE(bcs->find_key_images_in_mempool(key_images_to_find));
// now do same but using tx as input, instead of vector of key images
transaction tx;
crypto::hash tx_hash;
crypto::hash tx_prefix_hash;
parse_and_validate_tx_from_blob(
mempool_txs_to_return[1].tx_blob,
tx, tx_hash, tx_prefix_hash);
EXPECT_TRUE(bcs->find_key_images_in_mempool(tx));
// and now check what happens if key images are not in the mempool
// we change just last character in the key images, thus
// making them different with those in the mempool
vector<string> key_images_to_find_str2 {
"18fff454382da01b4420cd666dc5f3101314537de00d62042206d4b393bf918h",
"c0b2a4909185084c7113de20415c3b7545e5d4f0cc5b5fd21cd1d297ad1286e2"};
vector<txin_v> key_images_to_find2;
for (auto& ki_str: key_images_to_find_str2)
{
key_images_to_find2.push_back(txin_to_key{});
hex_to_pod(ki_str,
boost::get<txin_to_key>(key_images_to_find2.back()).k_image);
}
EXPECT_FALSE(bcs->find_key_images_in_mempool(key_images_to_find2));
}
TEST_P(BCSTATUS_TEST, ConstructOutputRctField_RingCTTx)
{
// testnet tx_hash 4942dbb5421c8516c05473f3cf191f07e419109fbdaf22bfcc7f8e95a0e73bf2
string ringct_tx_hex {"02000202000589ad0adfac02d3f602ee81019ab203e413b8c4331030b044de847a8af9819f8c8dc7279e50a5f808e5ce046457f0810200059f8707de9d06ad0786b70181f105de4fbc7e9f3b2fa53a79818c06c2171768114efa8b95acd0b7d201bfc9c4b5a50200020ca366cb4718c5a9bd8beaec8d1a82875c5b90cbcd6025a916c27506b2ee00e70002d300d85b9e98e6d7ae89769c29741fade0f19b8101d713cf6e07d77d901d4f0421015c896eccc7009995ee071c1d0f88d27b66970f7b081b0a91501ffdd3eb2ac1d20280aff6b0475fb2f3468bcfbb33e3a9baf834f4d96fd60bf2502c620eee27a96bcbcc0197a098814e6805bc72cf993ecc261bb431d77cb5ac24097951e1cdd381dff64fb56b13dfacfc9f25201deecc815a19e461127665bae817d333a30a08a86be1ce0b04a4c034fd03a281b9120d6a9853b58b5d22f925333eeb8c361ec27b69d116e9014e3b4564048f50151f79dd73f17b97ea9cd2b64ac585ecc6fa95e8d4eb68ef073a724b8f8b6e2c321a2d67e82b2625cffdb90eeec533fb3f04db7c55bf7038071c7e322d4a66733353476ef558304bc379c8f6c977b17e22906ef747ce9f3686cc9f9fcddc3a8fde9d7ad923b122eeb783d54f4c4c6712d32de661d7f9c354735f653a117ea0d1e9177719a4fdba6af71d934d30ac5701d5a00cffa41a7eb10388e08081c66ee2f61f1f03a0c3072fb6a1f53f50c552afc033b6098338897e000affaf318d0132db7542803f973de206c68ed75aca18ac55d0a3e9784c4a5c05827f9a15a40167e9da22875330754f9fd11d944158038dab7428687b33fca802d1ab895b291d144f94a2b0e2ec36fd902de6b846dce95b924489b9be840af105d1159d68012cee1d54651d9eb468ffade2799075eb6a5e4f523524f23825e70397917295af94cc5e236467417351660a4b89614a5be44d7d45d54884615c0808fafc469e894a80ea7881af6dcdfecdfc4eed44b056e08b1e4213851cbd478e0e059bf849a775b807ee9167b5ddc79b9836fc570303b498fa1542c55de1ab6b056983812e7000dcdc71136859f462693534a7b6492b7a656b268626d0b49dda01d12447cbd4ac3834cc9a6ac63633ec7fa21a9b35bac9577d5407289d3424410f69cf54668663ad21737837c206240f808a2eaf9d929d8a8f67f9d97711f1b60c5887e578f54e37cb56ed4e7541672cbb170e45e04a485fb323a97717e75d9e0a5451e81db2243fc1c07a112ec2e4126d7e76725ada27e2c582d0f754f3da4709fc19beb7b0df16c20dd7fe947190edfd8ac7bb387a0f9ecb1d74396c1022c703ce08d60d4dc60ff59ce9630385048ff41eb5f38f5b4763ce1b660dffb6e11d0cf9235365a1c1ee4e2d39037caa940f7dfeb4206128cc79818f616818125efa060e7ccdc678da1460dcdf67aba8fbc98c024cf2baff9840e031732cf888cbb80c5e20ca88aecb0e2b536fb971079942eef602a2cd8aecacf5bc835549ce2d2c0fb8eeae35d2345b905fef798bef56bc8b9969906071d20d9f9f2c1aa0f6d05f05197689a7337cdd2f2b7eefccbc4d007a47f0e82ee54a36767ce227fa00b9a4031217653287914b3ff65121608d63e1afc089aa19013f6cd32dc41bc7fb906a022b235bba5f0424a76b11c9782a2cdc51baeb92119d543c0624d01b577059f70d961c028aa394ee566495c50c906e5f9fcd669eed2763a791f707abeda770a209784c1df5d478b008b54f3ea5bc31ef04dcbd78d35babcd2be3d24c1b0b5be10975ee2f48b54f217be2b4efe3cf77a2a6744aff50b233b40367c1f7206a77cc00704b429f13e22662d7613e48da3d9dcdf76951dbc4bb0359b27853071ce59d08fbf25cc8a0351302933601292c1c992fb1ce9b9c8a3319a834439910ae56b2057f870891b8f0b6cd9f3d0340ce06683da20e84cbfce0aafd99e7bc66a521b5009b9ea3487f3530db9fa58c90c1f9923cee1b5d30e9077ec7cb635a4bdd5bd10b3b70a814e67fcea765cd42c7e28d93d7ac15551aff5c9938f24e50076a4f000a9386cf3d85f5b3e4c4190c7978970d136144c0b5d700f009bd271b31d83779078ba474e9b9dd21267ce87eef80a416a9385c3e958ae3a5a00b0e4b77e862d2066e86a9db04efbedcc47b9b6ae3a5e087149d9f67d40a3fe1303ee5b803f2340b6dc14bd35786ea58099c1f397b65bee1ac6026d251b3a293aa2fa3e627eded06a927662d3e20082e7f067adb541934055d422877585c6061062ebc204956980c80e1a84bd507dc17bcd5fbee8cd9768bdac739239e00737e84662d84e8cd770beec6d21a41e1432f1b0330a0256f1792676717d338f7f6772090589cdd868f0e3a43dc029b59f4b26f4f0a2ba38d0c8f78c9b09a90ffe0bc8e0b4959935c8a062f52368a4af1fd58959c96c1326d57d4f4ddd9c511c8e58b350735205e691304a9eecf2de15e72ba6e83a9f155e5a3841efa4d68c2b682b632db390a9e932d0bfff11dd51f9a3f5aa4551459fd552ad9ba82d8769af772abfb6203f22ff15009f693a533ff1fca6e04514849e0747c04f175a136ba10b950b83451f6d4f79b079bb807f27f0b58f8a39605fe71351a8cb3294fb58d32fc85510ae38148577e0e8a3e92ad9803391ca009da09bbc458047eb22fd63ce8b81869fdfc03069cc704698cf0330766fb7205c09e00e11f2daf89a429dc66b6320573e5c1ea8106e80dff86db6e06876be7129620c34b0d9c48089392e10b70ed11fe03b6463fd7b40fc1aba37829397587f309c927e66c0e111630b2fb1fdfd002d05dbd0f5875e500a857a30378f7dca31ddd602b5f0f42d714f361c6be72b3479dcf1e452614a104d22c380cebab0e8ac66e74479281b63fb2b4fba0772d2f0ff86be46f796e2d08930ff7520eaf609b1d628123dfe42c0bbc3f945dd4795bc74884e92fcfb8650cf3aea3ac8b29f92d8456976ecb9ea727a0bf797f70a5058a6e6d4385b3bbac0b5d4270a00efe4a34071a989e2728a37ab725aa20c8d479614f2f1d97fa145f078000b2bb26d209f0dfa55ba6229d33acdab189604ffae784ff35091ed8022805d8d5f558800372ad9ea88165ee31c207d2efeabfad7279e01d6c8ee6df9c5e0705aee2de2a5fded970d20c815ea1451cc2532613334c0ae1221f44edf17a110c4cfad06da25374147840e7752a32b44175a4cbdf963003ee57379e477aac4309727f0bdf24ea931b520533f85ff84b13ffbfbbb2b83ec8cd07b14b6f0816010b5cda6a643641a17c6a57205c68a7b4662935a20ccc3756fb46aa8a4646990003f565e706a5ee4dd4205582aff68445fd51d3c3ae2763288a72da2e2a58d0c707f4a598dca76a955e1813cae6c5beef1f5a9cfed6a0e602d543e4f7d8ed9a0805b388137193f50479a8e1706661c75c239085a2bbecb73c88362b22bbd7257d0e10ebe73bbce069f9215e9ed7d9a9507dbff2d71870e6ad155b10c20950f09208f5d985f11934dffed3cb905a3b298670f40998d69d0adba66ceb7dea504d08000e0d1f48945530df0a408d07e6a9ac17241a89deaedd6922c0150ab25082270f1c7474908822aa0dfb6c4ec8f0721325d117b24fb3335411c0c9a5f9a98a990fec9301236e22a5f8073b6d9d35c2832126f3f294778d4c1966415fd7c33cef073c47210562f94d3322a1fbdad3b048988a9cf79921f7c4b1a8e90d7c17216c0d9a400b09dc28c55c8697dbc20bec2640ccbf572a0b71718d3117cbbbf1b4820f434063f84d826a338f5c3316827b0579287c1292a24fcd90785b954d2759720f5bbf8d2d37bc1e41260c4a335becb74b8ba2e6b80cad87fa2f577d184464910bd1cb69d63bbe6d2c08bfa0e70a40e1fe05918a757dcd679cfe63969424759e0152a7a48a504992fb5bea378180d131869ad2ab26ddc5cd2edc34e1ea18303c0eaae33401dc3fe8cd88792371561842d68b3945788f3af839b8d6212dbb41b808889eba91e733e60d222224b9f71f3b82a90a83b3d7cc7516da497fedaed0ab0398289c1176ee8d4eba0bed82f05449c755d566550d2fac8bc01fd3d3d6f9e10b27077103e472ede80d59c692b4e9fe7ac646a521081192a1cccc5b573a7abb07b0dc3a45965222064ea2a1c4d0b2359fcefe38b860ae4d9eacd53224634672073391335601e78a477556dda7618897f2b64d7cecdebaf608d775072f9667900dd636d3912e391101bb396dd52ac5f052a7dabe7494a1b5c791f639ca870a66074356fe6cc7d03ffb9154a83da58d67e54b213f15f1a1da30130e47b4281afd033db7f9427159acca94d12b78c0f70c0ee8f2a19b0ffd17b4fd5841fbade1020bd3b09e3e12e48eb501ad12703714b742f984d20dd5d7c991bbd42ddfaf392a00cd9cc4a5e03061be6a6de4acd364a43ab0861ce1e6fa70d4fc17bc482bbbf50186f268642cfc96d2fca54a97184ba9b09d70d8136169347c7b30ecddda17330e87e460db8a11a891b843714da1e5deb5ca07c314748fc1407c47a1272c48d50cc17fe84ff8a7887e7b6937cba38c58a3ee95ba835f476caeb07538744f126e09bbb8f8ccd5357ab45dceec1a3cf4f859c66c2bb16f481e7d551064526a5ab50499613bdc43a5b0036d7069fd615475a58f6fd7d300237d3e3603d698338fd703560fa8bcb956e0ed87ab2ba6dab1a82959688b209b64bd0f41d3e6350e78a109982a2c47befe7953c4850c294514cba17a382b7f7696b677cc81f1a0588ee1056270f311b3b0b3fa5a595daf56a2443c2cafc384d9fcbde078ffda1d4025890288ca7f288019c910b4970f641bdacaec0d834af8d31d756148fda53187f2150808810a1ffa96f120a039163ad639191b14528ec3b5addda71d58cacda9f6030874a6759e1a6eac73bb24dff6ffde438d4fc9b2656e808be6680ce0df58d922012ceaea983b511172aa65882cdc2d71a43be7a466ccee494bea0f78fb0e86c90606298cd5c2417b04f95b167a767277430ca9d97639669d0f485424068144080ef12d8e6ca53326421f1eb6772abfd9577e1b2f8238bcaabd1387937e9936980fad072d6bb8f5222fa3464d8677742d7778eb070fa2fe1a29b19382f80e141d0163c758c84f61261fa1e4643bea7739bf07535ad7b9faff856d0e7a5d5777450e1ed895b02653b7ca78c3c25943a6a1790f68bf3479f802b70deb2997c6aa23039090e460ec826f927710ec298d7b1ce8a2ef44bad36df42ffd247c5f80cb80033ce1ed97ae6b471cd793492996eab34e6db47e1389083986bc17bdf721cc4907e4cf0de19639012bed75ab65ef4b529eaea67b5e571ff782388040517c5a1103f51e4df5b1c716e2699b4e69efc29ac3f1a829bb1b9760d1c297c936969e220c455de50e76d019ae3a52d6c6455dd7597c2bb2205e065fcd76f10094966a790a946c712a03227b94cb9a58105756eaf426f9dbf08cd9c0a7c734e7408edeca00002d9e304e5049eb1339452bad384a2c62343429ab0db35e5883f5fda5498e0c9b1029984578f43dc3ed1ea349b141231c01cae201d79f8732f6e667add7b909e2a9ee14257387ce13625b19eb1980f915704581bff6caff8c5856056028ff0e9f4c01fd7ede6e97be868b1726f194ea67bbe68eeb54a94a1c7ea059d983b2094e7564270b60ce991fabcfdab1f1cba460df6e3747e7ec9081478bb8fc708c02a54f17233fee9bdb99c6f9be79e283973eddcbb3f2df491e543f693be4beba054115b46cc4ffb9c2bd2a3a46577c871e7c6c1caf7d3cd8e90dc6cd7db27bb20ebeb9ff6d0e1e7ba56b5089c379ca23cdf2453fedaaf99a7277a7fae77078f50f8ac09e880899f9559812f2a84168732e94bb178f52c430d334669271af12040a4a3c560ff997e0395ecae12a1142f7e1ea7d5bcd95d9627b06c68a158e147d0ebee0da453e8e34d1b73fb5c8c0a2442fc670453d2f247f70920edd86681d29076beadfa7a81ca962140837ffc332c43ff5bab784c0f9b95537127765b7ef6b002243ab5e014dc053a25abde1dcd195745a1b8553329e8921ae266400876a9e031a2fb7c7e1492db44bd2bf8806c443e84dccbdc8a2b41e3a7f0f34208544dd04d6b4bb4436390dbf554d918234b1669e33c5a023469f29a4d4ad8901287cb20c97e6f4eaeba6a9c33a49ab314b269cfcf6a213fa6aec03ffdee71a304514d005a3de58f8991a2e6632f437555a20d341df072821e47a8962375019da0b07a60134d0b40c8ab369742cd4eb0967ea9c98411d178a2c64368a2614b08a0900e40c8ac8f3b56cc26fd90c08820e143af20d9e69fb66bf0be1c0f30e53690b81ee03ae26465bc52db061911b73faad20e2695994f089b193078360b9b95db979a600c518b8ffb3ff1a2f238e2d36c10d654a20b568359c6caa2e4d470a06a72b5d0f4f2bd8466fe6df18fd212fd3c9c0f42e2d6abfa90e9a391c14c2f307c755400d88d27bb65a1cdc44551a954ba20b74bdd538cd7ba5ba0e47b3ddca75ac1d7bb2fa6b9a2dddf0108890eafbc7f02cbbbf0c714791f4e7c0454f0f699526acb70e0097f5c85813d5aa77b6d2d079c7f185c3ffd85d1e5f970c436e2d2418da94f8328506ef7981ccfdcec7c24596a7c1232e465422198aaa3ed9c6ed570ea7cc69c2279f408e4b9f192a0a22ed15028d9a8a29fff5e3ac8c80eeb0988ef5115ff4fc0f08ad1bfc451479f3212ee1f34b1c7f0334a5f81618be905f4673272a52d401775f6030fc210dc2a7055d579c846cdde9588cf6762e4cbc15151d282e469c31d271c20d428cc4c8aec6d98350ba69126a7a1c1960f99423ec21e6080bf4f7566c66082ac3f92894b192e1b68d2961685c0d59930181b4ee8670767ce0469bab811c64984f38346706ec89226667ba76d7012d904960e2dbede1a3ecd9ee4e47e600e563140817bcd53b0db2683476b9c26a3f594e8b7ec3f33e7391e2c845d466e44a97711dc7378ba7b51039c8ba19000ce0635e6d277c0d0b738d1441def49c1621dd80518ba32ea575939418b509816c92a9d2c992895eedf1438e8fb7eeb2d1284dc209838a1ed9488e760f8c63aabb0462236eafae31d37d742f8dacd120c2d75be1e5a4f79504a869e7ed100b7549d060aea61063d354ff0db7c84d82339352baa7d3e7575c90e83de5d03f605ec33bfda9f0523d57e25d334847f5ce9dd193868633184d476050df5d4e6415f659cd332d3adc7dfd64b3ac27d49c66339c044e2136451dbfa21b30142d41f0c3dae0afd79d051d8de72f01c7df4fb50c71a32f13d81f9c145c1dbfb4c9ecfff212feda7f50a4f8f50a2671b7732e79fd7ce29676d8ce668bc2878da5e66fe13af40842849e1bccacc4d3ffa4ba8514f17cdce979bd91e2f633ab325e1f26f0b057120791781f55c533841696bc9c9aa18edc6ff41746538b27ae2c2ae4708a8dae7af513fc52d12d786d561638d03689a668f3d6604ed75fba7bdd79facb28644448b9e2d1662d5d0ca8ba92872c0dcc209354b68da04bbd51a1c2994015fda28116b64886018fefeb975be2bd434c40db4add12b0891f7f0cc6cae186c0cb8ecd320a07e86ceed4099cfd5e2c671150b7a80edd33f651e7e472b2c62abb226d0e234f4cc00108863fa555d55027b1f2625e34276f3a6aea341a7ace3e20ac6183cb36433c2e4a1736ad744d2bfbfea08c597d4a48252da2d2401d9ce4d868f9e23e74e7da5ddc96665e595f1ec13f47fb18c8e21f0dc0e463016a662102b699f257c7d4b8b628651ada8cd1b75e221ba75aea5a8f1a146e8c2c13ad9366b6326e869955bd1bab558bebc75279bf35e2dcca48787bb4d33ff1901b07fe76c0cac90087822c8b1a8d41535ca38ef2e371c006b9ed960cd66e2906e0c6b33906922907fce07868bd138390d3d34bc93153919f6d1279234ff2eea92224a64b04fc0d44995c6f2d797d538a39118c4c30a93ea0fdebcf20471dc1999669a66ae90e3069fb5f5483f46b730df010a0f14e8c965be76df2b36a787606b90d9338bf2ff503130ac8a9f9ffa9f4190dfb73933bd47876233fe39195e463c072619534971220d4433539a48dd9ef8fe328d6513e1ad95218b2e6a4b02739524e64a53e1703550eae6ad7ad995802fbef9201745cd4bcdd1b1d28c58f10e014702508a96dcc27926b4c38d787f4a9299917c3ad49e1fe96b970b7242e84f91d1bd76967a3bfb58c8f0a07a6142be471f2d3b1004d7e39265844ef476eabd3fd872dd9ca3310b004a3e126ab4043fe9c9aee3ed2b88951d9424f2496a7c7ea48a3cc270c047e1954ebb48b622aee3ee0743a521d3172f9436cf258c13f1a92d82d8fa739c2509149992d5132e0d7d1bd2e15d6c555847998c870cdf22d3e110b9ce601a28c26d21e1cfb531c214b0628d28e6e0218366e5a290a13856c354f42cea9db433d81d4513712fa0d6000f6a91e1cf605deced2af227c95070a0a3c0b0e994fdd1954bbd980a83f6a1e546f4c5c55676cf62cd33ca7e3c16031d8533acfdb0102c9a736e00172f261f3806ed6899885b01b7521e6fede2c62b9edc747dd66b1f9c442c66bef090932ba7aadd5446e4f5e820981452531a2df04845907a072e9084913583646783302178e31d62715fa1628bebb329534370b864a4c6687afbcb3822176a4ba3eb9722cec4e64efedf3d4eaf8553ec7133ae4567dd235f703dff13b8e7996dba52af4753e5857f17ce2e49f6a45aada3905649dfb98298f49b6a9ce0262a6b349b73f362f87f0bc39536d729fe98bd6d3559c8374149b6573baa3cdaa800c90634c6c458579a21f2cb803df67e31dd09dbbe7ddfb9df6034879a77c120d0909a4be878a5e9dc41e265656c655abe8bda67c4a4b873b2f23ba7450651a4b121616b90f6737951c40445c4d8f8075512c6475bb05dd3d079ac069cba51f0a088abfa006489ba5ce7981f872fd2de2bd2337fdbdfd9c56337c66f2bf7d95ba506f00b8c579dc1e6ca2e92cadf7987338db4aa9aa3f900db83578b4e20c21b7837c02dec8b57537d3d2109e5ff4db17b609f2a630ce74e40f03cfb2871707403a3b4e913e8b7946bb088022adcc0bf552dfe557a431cc3cd410d68454ac8c7a8f18e851af7affc497876901fc0795251a997672573d2b86ebf40365921e21594f1eac49e89424f7ff7aec4799b9ccdfdb2f5d9c3c119bc027a5e0a54c87d53452982c93f5acc18a91149e5d4d144ac271bee31ca6d00f353b5f5c0284840e70bc089f7852215a2373d880876b518a91563af3f5e33014ee39c02ec38433de8a97f2608c5a741116dad3a110926739e4b0d7f99f877fde39c048533b8042f6d680ec49e6162c92cae66ba93f4a635a64ad9378cc30f0c3f991d8e7ac2c4d6065a9e8c4272faea59053086d009252b261babdd9cd3e023fd1fbec0d262cf2dc059356f45e174e751209dff7077ebae7df2f60610d12b1b73d0e59d87ad671fdfbbcfe92802bf8c9a21e575c04ec65ab4835424388a73f371f0f24c7836d35dc38121e77b05bfe13bbfd80520fc6e4ddcb84a5a2e9aae77cf446b4dba2c0c625af8f9be02e244ab0dc85d7a90f8b477d19d14c0e532d4099ab7ff17242f754846ea6c0d9932bbdbdd8756bcf0435005ba33d33aa4323fcc64860e9f4fa60172e7cc8fea87ff519a7660bb9d806b346d7c9c981174591ee1d60fdf6d9460347bfba12b1596ab0b192715b67310454f818ee2fef13fb618764344c44abbe570d83d914f37bbfca4c11138f95450a61e0c92fc30dbd3946f957445cbe7536fa17e7b02e8174375db1a5149a6b690a71cf8b1a8ad1e5804b5204f20947f5bcf5981a38c786fb93114d3c366d104c09b925f5b6658b725e194f5e585d84e97aec99ce70163705e7604a6d3d95f3050486fd29c59d4329e6e4a260a817f24483b5310bd49c00dbfdcb595226263c870c7ddb130e7f245f7667679c83a07a59b09b0292d2bd89260698bd9a9cee19bf03cf1074dd9a1864e621b1627b92a1222f315059d3e7bc25a8cf9f2bc5c41efe05d2f9a397ed39c6f9a864a63a707ffb69d7d61facee15679fb103f8fc4f815402fc1d761c518d962fd578bb4ddba7e499794a61510963e4a57956a3d1d0dd8f0d6559cdc9de82fa5603f67471ac49f577e7394589ca3daf47b964f5c3f9070a0a9815e08de2be46778fd2738c68f5c27a557925dd4f0dd14860aa8805e2b38e0aa2e1a18bf4e54184be53e8a33a986ab42386611bb703765bd5d54d10e5404a06009fd874445d7d1ed4899e8f70c1c11781532db561ce1e389e64f8ba1fdb140d0c6f7e5868e5a9d1a74bb1cd310bc415210dd9797f88416adbcd156a08b9c308f4909925fa0517d119c8dd969c3550a33985072aa541f14c11b5926b87ab90002693d48d4cb5e41950c3dfc7d71291656c930608630524e03834a6d18e826b005ca7c4ee1f80664dd19c81f2ef7576c2734a274a2d05744390f7f7355b52e70b675443d65ec8def882b172d469d5160860e13767a02e62a733b041cae614510e45e913c87259162c2112821adc58f8ce654cec3256ac005e4b1bbcb5e84ab3021f4a1b6624b4d90ce0379695fcfdf743823a1a83ceafcd9402fc25deb822fb03658b6391907e820fe27d375976892a637a931ac9cd36103940941935e5b1640ea7355fb9a90b4ec97cef9f5e147e9fa5246ab78cd3d0f5b7fdd5e41bc0c21005dad71982d45fe2f3ae05c78053bf13910c8384d324bd10e9a64395651949e00deac2745128575ed13d29c20edddc843fce21fb3981da46d733890a777d07830fbd27f18c4c282595f1f1bb8e6ae1a7565545baa283b6d2f276a950065a26680dea80d7005c49f82f58f11ee9d19faf2c7095b95ddc7178eddb9c5b4248ca460a665998f94b40e7dfc028f58c7971d33d3bc39d29f9b6a4f442de52ad42e42709017c8b1416993820aee6d3b577a90a1a59c909f33014eda8d92f589500769b013965600f0c8515bd2b44e2c05b8eae0d06d4f7071592ffc8cbb25b48c01c3c0ea47fb8de0b79aedd234d90ae089271b0c5bf0cf418f88ac80dfcc8ecd5816006c0e6810a7d8ad87ea6adc097a5ee8ebeab9839b63e465f72bff22aef48556a02137c9fd06b1be003c9868dcca4a039aa0a1842bd613927bfec53abac0686050f85fdfa50d6cf68934d35787da6efa6af04feb3b525da5e5736063d29daaad70eacd77418ef78323c2c958f992b171a3be14ead531a5570d2a5969b2282bbfd09638274f9b25be72c40c28e1f2366747017cbb289a2d9c759c597c21e721e3a0dd92ad60231359ea6b364a15d511827a56bd77f0350dd943d16335ce3786f5b080477060a0f865a97d740e0fd27384e881de48eae2f85af2330c84e7a2097b30d57949f3c6b93ed2012a58803fd580d7ea125d88f15dad560a02255929c3f620919af4d16815be257d5731d190c5bd0751d044fd31c6254f1817782b3307fa70b14847f890ef6e059d6508d282a16c5637cc79549694f9720169464c9d13fe10fa87b9aa37f95de4e75de0fd381fdc59647fdc3ef9b286ade85621c600c493d00176000fc26830c816b41399edc07424cd62872b36a56172cdf3baffe7678b002c54048eb77f2a839abab217fc372b11935ead4fcf9409d2cc197d840511fb300d4df80606d3eab597c5c6e118d046634cfef5f6f649985ca1e821d8fdbc0b4030fcfdc0d166024a031631a1a720e719a66896e65786c93f7ce568323b35b1c0ed5ce4d56b7ebf8eb80eff0405ff52e27934c5616ea0d9c1bab5271906de0660ed54a4a53b27352571ae5d37c3b24fd640f7b878fa380d6f0534ecc9d6267fa0e61cc9f2e6a40ae22617e578489192468f32f22b088965386a456e1073e8a2301b1bf6ab3134960554fcbf597d891762e61f189eb1a3e8887c3bded130c031d0b4c1bb7743d2ec05d0cf41d4fa77a882cbc81d8df3b2240a264759feffa2b9807d41597a31a765fb92b3194e93ee72a82549d64b4cf344bd9c53ba71def5baa018615c927df7d8c74988739be78969bf89051e94bdfed7e2037c938c2f4f36f0a75b9adc5329b6df79ec9283e89ad718bc2338c149d86be5f1e6fdb39c09d7401cb4cbba4ddc02b64ed9196c7d7a8effcd18f22727279c2fc903c6800dc883109c6723241f637f854194e4d23f905321300d3394e640d5d435e0fb45a1108ad0cc58855f5402a8774d888dde9901c863ce425739be8f6cca6eead5451082f470d037eee285dbf99fd7035e3845191db5b7f4edcc8d6f8461a1eca47aeac18840fa585994b0ca97cda65fe040507ac35f87e445ab4ef17e49dd5761da0cbba7a0e124a6cfdfbf539b749b3d8b997ab52da986221f7e310f0de23619211be92720dc28704c225fff96e87cd60a0e403516d771ceeaa9c87bb6906eacd8660073f09e29a044e903673e2877d3ee3373cbdcd917fec316b0fac6cfd9ca4059d230d03309fad7999616b0a8c4a9fbda7249cc174c5f5da3bc0abce2851705f2397bf06f1704f3cbb0ac958c59d9ed785886c15ea2c9a8456addfa9f7363c3334b2f602cda9455820f27234e73e7351ab57a76060ae593f901ad0a667e79685367f6c0b0c1ebbeb01ceb54bb281dc18aa29b1cb2bdbcab0776164836cc994b3be16c803ac04634baf9a71677a3fceb9709ee687e4157c668f64c5794f84c09783c01c0b10278681903c5c0e670834c6fec83227a74c9261311bf3d34aec150829b5530f4e39c683f96032272d81cf3af54ae94dd5b9274dc6315b7bb86400b6ad885606d9a63566df1ac6f36242210c54df203c78575e22ea9339a245e34ddc09784e0a91bfa4c912d1ef66c5be98eb5a7a1a156b3ad48c0942fd89bd5407b7d0d39c006c22f53035dd9d68008287dad6ae9346a9504a29127453f1950abaefc621490383584433c811b868676833c6d23df9aa402dc0bbbba86696350ecdfa6e94fb01253e999bd9142accefb1c8cd9941c16b81e9786010db2e4561d3fad9565f360fd349aa32f4ff7d5004365325c0677f351fb0332bef06717509a79d593b102f025733b661fe7a40d7b4b6f3288f6e2620caa72d916440865c0b1cf9241a284003d38f608d85a4872d137b530ec6c4c30a2368ffa75bf346f9d40b88e281bdf0090751ce7526edceda467f65286f1600e11dec4d2e2ed5ea6dd5d4b9e8ff065302bbe135c2aec03f753ab183a054319a5f1c2f42cf3d734c9d407dc6b35ffbb40e70854469214cf034cfa4fff4075f2df566299e8eb121c3d4f820f81ea33ec60aa0e3a4107ecf1705cd3f01efd74747791da99c4fdf76b3a43af1d7585c1ee10eafa884da70d8906ff833d064d156e280610b9d8680fc477996bac1ecd63f9d07dfdb4ef8aa653147bfaf62d20c7468a275147835fbaf465551dddc9651088104eb910e3f46b2c0ce3e1e35f9997e70a97ca2db25e40e6376728ee63114af670dada27088a27829aad76dab664a08b1767ca32995c60dd9135285fa711b0e9801dd574f814730fc7185904bb03a1cccfe4ce2ba7dda4da88769c06289e6affa013bf2abcd4f8bf30da7ae3d8547b4170f086803ea4898056424c57e5baee73207df52ba69c10444ef473d711a162871c02d7e7d987e139b0d610c15063b843903c1d4dd040190da9c8248fb5b1241aaae946d81a4f97b582a4c843117cf138a0fa06c13579838d928e3f07aaa191ea7ee1457f576d63b9beffa86c4b7fb4aa50d7ca5f9796fb317923583f653dfe34279d1fb61896a8befab1407a8aa0006800025c1f77e8135c0fc5cdd7dcc7bab8615c2cc375df396e0ade7ac6fa2c77fb20a46aa3d49b42ccffc2d0d8e17bc50e9585cef5a2b202e7c24f8096c43ad50450ef52f5c7f5f6b987249de184bd88dc424f3be3e0a43cd1cd3fc2d889562f048040fdf7fa59d0d60157b27fd38b02321774fcda2ece01bc0e0c1c367cced77080422506e0b8bae11f8e316b913205cbba35eabacb45f5e174f5f6314b3635879087a65c0a8e051999f9f7b8907ca921d3dbba1b664d68d51abd970f06388f03b0879309fb45aacccdbdcf8f6419b678f2c5056477aa37230762683a40a690c4d0d46f6b99e98232c4a46f0e932dbad32939979374bedac790d99d3f7e16cc7ed0e494533bd47d3be109b40d062af7fce8d0f1c66440378d49674e88ce6d754270ea2fb7753f8dadda5fa434864cf61fcbdd08e3daedd48ec666c1afcd1f191300ca90c47cb9f9bf8724e396ee232e616cf5f9f80ede7292735c24f7f44698edd0c1f3bf4eb28973c5f7d6b2fa1f562b339d285d534f405ec2cae539c457b0051074f374404fc7b247fa2fd94da68d6ce23df6fd9a1d65c026a657b790654e37a061d698a0a4972e44796b9648740b818562d47cf8fd044efeb237d0e510923be0d4d9e0de2b45f7db3bea4406f0e016cd34595206282fecf6cdaf8a0782632c00cc1319c0c547e2b99439ce804618a3aa82985c357059e07352e04b34bd5fa3a05ac66e0a0b7393b85b8527242597600f0da52efbc3d6b587ee9b44d768638f10c2424303846378cced36348cb1068c549479a415f5cd0a580fb2ffda7d0f3160f6cf6a656808c4deb63801f515ba66915c8633bca616d157ba917cec2f8208304c346043371c2da4cebf8109acbd276b1ccdd97724d2a178c074760d4b073990b7ed81c7ba8c76f152430d0630ff53a4495c1986b43cbad134d999c312d37f600ff7661d890dc7e08732394889c8704007eaa7074caadf283cde4b60e033e7a08f723ad4b956f2e5786771594b537ad5be5257c1180b063d9d1a6a2c14aef100f52a4598f206ea90caa09ace6533d1c56330ca817cdde811c6803a68b5ebe99099f3f09beb36a2cd373580bee3ad85f96970f145322aa003ca87640c9438e230f093fbb6fa5c3f363bb80c19e62d05af2248f1b7f6f4e3020a49881ad7ab99c0c92645611c371065fc3cedaf506f38a8a4e638d5d267358ae66b20c78b5058a0197864e237f6f25ec4c6fc2250cae9b0819e580d670b8d2642c6c6813142c7f0c32ee8a6c414098f0a44fa2569a5772296abe193246ce801d79cf4e93c5d62b03508190d9577ca35483f515aa3aa02f499a4e0c46464624dae097c13f5f50c8056781bdc84f9c0899272606f0c5dd7a046a1515ffddab2849fc4f6912e5affc05af572e2d6be74818dbeadf2082a6458f08ab26b3f2d50b9cc2c6e8512a0238ae6378b3dcc96001b7834dc598d7a5036ae7ddcc477a7ade781dc96a592fec5e91f63a42ab1c8e004bd2229636c1d2b67ce07589238f2b4fc0dd53af0f8043ab001c3fbce5fb0aaa69913b857c5e476fede94df49137669d8b96d8e0d8857f83ec4d0a01ec85da571decb7830d13ddf9e2fc017f58f11ce58c82edd48ca2e3cc52cb41a68fde2119918c57832982f0705f660254c81df9651ac03148c3b52e86c92146a0621d0e600dba70d090b7f7688c3054afdef36e2d4131d2ce3744424c92c11071712c84216549941c59acc8aeede4cc0f836b190ff540a7ee58b7126e500c89ded77d76b7359877338c2039843a60484f1f4412fc275131a441cfdf048b438feba0367adbe28bf6b7277e64240b42accd9f2fb3101be18c4c3f955e850116e81e7fd2896f210762920087281a737ec73b73b5cafa984929cc3290779551d61fde3a7b3d5171bf5b1902f444e388e0b74c24bea601dae91f94fa8f466bda750ec5641c6372532c08d856dcd05c3397e2ba47b25846aa5e4284182f83c7d58ccc442ffeedfb162976c5ce8ccde06db1683d7b35e35ae311332b342a28a8ac22dc6cd1d05a60a164ee7d2a734cdb4c4062183f4bf7ce764a292a4f34af76e8aff71e7f74693962ac009502c63721a60b2365965f90e940629aaef0a02293dbb5a9d2a6d7d911369d2da975ef6b4399493a58b7730966f23f64eca9a295f66c9ec7d7113a5059cae4c82694ef81e671f8eaef8def0ce50e813e95ce57f9280a1fefc31214fd7c909209b4b98c05d2de2ad9ca62a73c3f8c026c01158d9b89d89d8cc3e3268d73cc83bb174525c8491e46ad666a8daef74864cab80f1fa87030e6f4a02cf70974b515cf7d6bfc349c40b403f0ab38e2861e03211bd259d5b7b245f7537dc3d4237ae2863bbf1c48c752a838efc97fa1df10daaf7281c50338335bf0e35476a7f41c86d6242241b3a0b092ac6b72a5188099343d3d5bbbe511a65e08193e19336693a02e2ba4c887696ae66738c09ca7da164ae6057af4b197b44f1224f22df694c067522c361c0f887e5a876c71371e553f7b50d19e6aa135a244cb08ae1eea0cf368e9df7b40aea9ac551fe8ade2d6a65aa6b7e25f4aeb9209914ac654486c0f8297ac5451ca6d65a881f654c2f9c4b071864984d2142721c79a854134a976367615d790093171086a152ba3e8f3bbdcdc288ab6c3b8982156bfc626a1f73a075015ebaca28f7ec02908f760272754794c87a7ebce3ff182729339059bb502bae66e4e52b3136113435c0a4e0014776c96aaeb7beb12923986507c315ba6407be0bb82b7a4796202b7547758bf1f7fe1646f01e953133a9c32ecef8e6774b5ee6ddae6e0191500892162f482fff1f343893badb4ef7c26aaabfbaf81f5bb5b033121bbce1059caff7b1107978b40b201e4a7f4086e00c8defa80f51bc7dcf9490a6118bf16f7c2cc2e67dff1d0b329df685f604ee7ba853af8dce750ffadb2ba566bc9c59cf4ab7bb12dfa7984bc4fca4fb43de906cd00daabcadd5dcb2c7c5592ce9de680cc383bdaa323d366a7fbabd29d84e6d7e1b243a2522f2f3261aee88f3edb399fb9cff6808faecd7b9358de466dfaeb3ce89c2f9681afbf24bd3a22f1e3be0bdc1064c2a0818c17524bb4868394c70559462e11eb66096b71ff0d657612b1f309bec41d84b401e1a6c2012112b20976b0ad59c6aaaa68c913c523d85a521dd3963fdb27b64946ab8ea770dad41620cb7cfd46e6e792b1ac38a4cabd62092ee91e08e9d2d61eccf993401c9ffe6d7540e001226343f8b4d3219cd8354eeb49bd92aa33a411f1a05bd9aa46400c1b39a9c32be8d50151ec1017092b8b23d371b94e27d2ae6d5a9f2575beb33ce8d78b5aac04d5ecd2f5be79f823d29bc693de3a18c4de182f4150f369707b58d1bbc9611f857f4f97fd88fac73a1d79f78d778faae68e343635132bf751bb61b87b2ad133fb1a9a2f3ea30f96e7759a556b38a9c992b7b6ea5a9afee9f7cffa3917a1c569bfd2347390ef006e0c90618210eab4becb91abd2523ff7698d3f545254471fe71fc86996b312519193523bcae5c41583496e7244cfe87dd8da903334d2176cd555899838747242485d7a93d21d3377aefcad6f931c2fec17945c3ac865384a6316b1f5a649d905a3c7f802787524ea8c69038d2929e14363018643b53e80d84aaa9e439b7ce9725769a295e2d8e8e31304aa3a67d187ccbda86a421c730fc91e54bed537722c593eb08d64d9385e98d63d0543d684a81c1ef5fbda9e7ffdc8f38175fa07a961338625cb6f5adf775931202ce96c9a5339b114b9b20553f37fa2c8636893d790c82e0627e68c3803e202eb74328af5f921b2332972491076c830f7700135f7e2de9643eeaba47d7692fdbd80207a9f8551821d3b4931f644498b9c52f20c30116b4941bccd1940e9b5790c41a3a83b5b79a56df66d18d3e76dc3e7907309d5a329f7e4dc88866f88a13772e21c78bfd9b7e1a409baec6d82eb4eceb8aa22b6bfef13030849b96bd87acc2eaf7b14fcffca3a81183dd640fd6bc36118f390c405beeeeae2fbe958b3e26d6c330cbd9e8091d67317e0222fcb7df6bba1cd775f905f3c93c58ea2543cb743be2206760a6edf7d5df97a5f7a414476e419f235e009b88359688ecced7bf1e5c22c8455463c907fa0c5c64504ef2351ccfd9e01eb1c3c724dfae7d3ca28e5c809b317963ecdb95dbf3e69c2ae56641f3f6b000a624019480c48062a3fa314171c0ab9dec15c97351fb2931f4b181d35e2d12e8805ee9512b07b321ea5a40fad022af905efd062e87f4193c74f276b60744565c08a89c6b81dbdbba940b7b202bb3c3026dac7448785a5425c7113bba7c282b6047b3d72a267c88acfe023a48d2f4015e1f6234410402da082f44b56ca4e51140a4815f7fa8241249a5fb67a2e7d8644d8dd80818085f3061879a5a703216e5f0ad5d7cda165163ce1d9b130cf26f344fc9ebc22a01d923d5e6d33d229901b8c0d33a70e21910de5ac4ccdb7ca1857d1ee5a12c5c95e2944b58cd249f71e51600dd7b84f9c00cc9ba566931db854816f66e99221a1f40871f122fd4c1053702707ce4d991c6dad021b3e20dce747ac328180fb40c4c841fcd59cc88990bd5c5002137ef0e2fe0eb675b2ab3554512b78f388c337937c702d5f0d2c06c40a2daf09d26b732840bf8bf259bca43026e27f0c2de74caf9bb43b6574e43231ab551f00cd7c437177c074f47129639361f097e1a84eff5a4478b05398cd4ae11162b900b5e7ddc6a4857a5175d5b975aa5b5357355a035d8d1b5a83035c008b6186420deec1a96f42288e3f6618a2fa2644efd65cd3ba728103abc7d0e15c467c893c0670d58655ae4daf95cd47f56818c8fb4fc8bd624ba9d03e08793a297369cfb30df0c5f819964bc973dafeda22ae623a00c36193fb39f25f36c250eee1543aa70bd926d2c75a9e12e5771880dcdf4f30ebddc18c7678c2380b317ecd562249410a4ff6d37758886ecbe0f91a4c2b7dc79e5185df0fb7a05321ac30263441e12002ffad4eaf442f7fa623b306b5a8c9972c9a5f0e2b75cd44a65fff69da8b131c0525ebef56971b108534566b593c671a80fef9dcb6e0c1a2d5c72ae8484ffee006a0354e6582d26d9276e983ba825e05ebaaf049c8b37edec423fafcd92a446500fb2d1b9e7aa720d46ef801b0af84bdf6e3aedad52380f611c12722746a86ed0372cdebc0821f979d997687db3fd44e72b24a704f0993f985501f7b6293e78f0ee9ce16109daf4e1ba78d5e44d789a6d6a4c6fa2ecf19ba443d49be7823c39b06"};
TX_FROM_HEX(ringct_tx_hex);
const tx_out_index tx_idx_to_return = make_pair(tx_hash,
1 /* output idx */);
EXPECT_CALL(*mcore_ptr, get_output_tx_and_index(_, _))
.WillRepeatedly(Return(tx_idx_to_return));
uint64_t mock_global_amount_index {33333}; // any index
uint64_t mock_out_amount {0}; // any amount
// first we check if get_tx returns false when it
// cant locate the txs that we need
EXPECT_CALL(*mcore_ptr, get_tx(_, _)).WillOnce(Return(false));
auto rct_fields = bcs->construct_output_rct_field(
mock_global_amount_index,
mock_out_amount);
EXPECT_TRUE(std::get<0>(rct_fields).empty());
EXPECT_TRUE(std::get<1>(rct_fields).empty());
EXPECT_TRUE(std::get<2>(rct_fields).empty());
// now get_tx will return true and the tx that we want
EXPECT_CALL(*mcore_ptr, get_tx(_, _))
.WillOnce(DoAll(SetArgReferee<1>(tx), Return(true)));
rct_fields = bcs->construct_output_rct_field(
mock_global_amount_index,
mock_out_amount);
string expected_rtc_outpk {"cc9f9fcddc3a8fde9d7ad923b122eeb783d54f4c4c6712d32de661d7f9c35473"};
string expected_rtc_mask {"4e3b4564048f50151f79dd73f17b97ea9cd2b64ac585ecc6fa95e8d4eb68ef07"};
string expected_rtc_amount {"3a724b8f8b6e2c321a2d67e82b2625cffdb90eeec533fb3f04db7c55bf703807"};
EXPECT_EQ(std::get<0>(rct_fields), expected_rtc_outpk);
EXPECT_EQ(std::get<1>(rct_fields), expected_rtc_mask);
EXPECT_EQ(std::get<2>(rct_fields), expected_rtc_amount);
}
TEST_P(BCSTATUS_TEST, ConstructOutputRctField_LegacyTx)
{
// mainnet tx_hash a898e407e3427200f8356e1d33d08023aa1440e01b2c2ce2fa9dfd5b7fc89c88
string ringct_tx_hex {"0100020280a0d9e61d018f90012489c0dd35d368c61d8bf7b692054cf2ecdf1d5e4c985b140a5afdf66525a97f0280c0dfda8ee90601a80cb030275216f7958e0c3a17cf42d8b1e8b17f1a5703b63bef978dea03f87cd62d048088aca3cf0202a65b1dd8cfe0e41e15af75dd0c1d18c26371e51ec9f293af5b909a0a5fa59be180d0b8e1981a02186734d4374cd227a0f7a65daeeae275828cf3c72fb5d93e1184322dfff394b580a0b6cef7850202958ecb9dee140f74ea0605f265d231261dec5e58c8a89975719690c50cb4cfaf808095e789c60402b9b075493ef432e589ca2a7dc63ecbee7b9e05bcd416596ed0498c7802f71c9e44022100462e3cdfa219d8724fb531eb7e741a65f6802546aed7ff7064236e038421b32801d33c3170a4d9417f13e2e3a83c5241d3383de20b3913a6d295d6e8cc5322df862b571136213f79ea1b834b361fec3d8eb4d297fc007f24e27a00d76c4716b6080db448368abdcaf65267d099de23c796f868ebe8eb6c91829258222abee147026144104a8e3233d953f68d265f8d15f8b15deddf5e1eedfc4302139f30160e08552888d925706c48f0f1f205e4dacf4ab314cca13819359e109094bc3c8d7707"};
// this tx is not realy used in this case for checking expectaions.
// we only have it so that we can get to the else section
// in the if statment in construct_output_rct_field
TX_FROM_HEX(ringct_tx_hex);
const tx_out_index tx_idx_to_return = make_pair(tx_hash,
1 /* output idx */);
EXPECT_CALL(*mcore_ptr, get_output_tx_and_index(_, _))
.WillRepeatedly(Return(tx_idx_to_return));
uint64_t mock_global_amount_index {33333}; // any index
uint64_t mock_out_amount {0}; // any amount
// now get_tx will return true and the tx that we want
EXPECT_CALL(*mcore_ptr, get_tx(_, _))
.WillOnce(DoAll(SetArgReferee<1>(tx), Return(true)));
// for legact txs we only need their outputs and commitment
// thus only rtc_outpk will be set in tuple produced
// by construct_output_rct_field
// since we mock eveyrhting, the commitment returned can
// be random.
output_data_t output_to_return {
crypto::rand<crypto::public_key>(),
1000, 2222,
crypto::rand<rct::key>() /* commitment */};
EXPECT_CALL(*mcore_ptr, get_output_key(_, _))
.WillOnce(Return(output_to_return));
auto rct_fields = bcs->construct_output_rct_field(
mock_global_amount_index,
mock_out_amount);
string expected_rtc_outpk = pod_to_hex(output_to_return.commitment);
string expected_rtc_mask(64, '0'); // expected to be zero
string expected_rtc_amount(64, '0'); // expected to be zero
EXPECT_EQ(std::get<0>(rct_fields), expected_rtc_outpk);
EXPECT_EQ(std::get<1>(rct_fields), expected_rtc_mask);
EXPECT_EQ(std::get<2>(rct_fields), expected_rtc_amount);
}
vector<string>
get_blocks_hex()
{
vector<string> blks;
// monero donation address
// 44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A
// f359631075708155cc3d92a32b75a7d02a5dcf27756707b47a2b31b21c389501
// some of the txs in the blocks below have xmr for the above address
// complete block hex
// mainnet 1031380
blks.emplace_back("0111010101010201010805626c6f636b0a91060203d9fce8b80500b81c1893c0f296f18b01fdb577be90aaf992d29d6e90d3167810eae5dc380a610000000190fa3e01ffd4f93e0580cee4cd020297c8f2baa4726c9d722a97189886225eb48d57a46c029a70fe8480dc4ba9c39480d0acf30e0264d2ccea2aa2dce7b31a96a07eab44bf31946df32ad62ba4dd1eed3577ee582c80f092cbdd0802fa280ab0cb18a7e8463edc62a937ae1745472cde1d6d361b95ad4f642c05a7ee80e0bcefa75702c108f2d42a2a818ad3904d5a5e69ddc9e6d54d7eb929e5ea757e9123d768cecc80c0caf384a3020212f00b82a5c89760cebc028e17bb7245ec15ac5cd738e3e3caebb38a10abcc782b01060a7764310c1faacba8528be87dbbcb60782a54265ca9731e4f7c89586f4528020800000001f8cad9390494d69a6ba71b9e5e8037636579300041fbc141d3020b762d5773ed6c37f665ad2d9eefbf6fed61a618552042beb3ccfb53c1da5ece0826e7cce5d66005b34de9d6a43029479e039f3ac79e54f97c31fa398f9199386100d74d0a76f7d5480447486c22bfedd8bee3c2ea4496614014744203463cb083f32a62d7a3835d2cc6ed037478738a104d8c0100110280d0b8e1981a05cc940fea1df27696ae04d4ba01700da5632a85f38536a55b724466989b95f78c22e37e25744bb777709d36befc0280c0a8ca9a3a05d3cf02c3b20ecc6f9a35fa89027231702afb7d9c5214377d71ec7e320a5185ab7698932a99bdd7edc37147af070280c0caf384a3020599940bdfba0b958f0ac6e705d6b906d589fd80b1f859f75411f30c2c6ddc23ecae6763582719b477f1fa778e811bf30280d0b8e1981a05e28d0ea0f801bcca02c287039d3aadade1aac0f5815aebacf61edb233c49e85c0b5485cbf5facc6e48638e541193028090dfc04a05c2a804a7f603ebdb04f894019ea205da8e9668fcc03ca870686802637b1a62c87d7cde4836b1af57d9360a5ea04b840280c0caf384a302059dd720b2f802a1b0028685028cfa04ed84e0ca032d7295c6a0a216b67066c7aa4dd053d34be614f2e90a706673ca730280b09dc2df0105e5ed01b4e503e59b04a80c98c80247d8f3efb840961125167847e789a1e0fee1d41a76597611dec789b21035e86b0280d0b8e1981a05caa006ddc706ca35e1dc02c497069719b2e68e2ee513d188a5440db83f065b654f91723d5345e126bc4bf970eaf10280c0caf384a30205ab94028eb1149fd802efbb1189a402bdb529a3a14a719b69bc840d46cff0db9467390bb1bc648dde1b541ae6b0d2670280e0bcefa75705e18706c79b0587e1019e5bdae4017ed53c7fb7d4b03645c9d61b4234e45d268b919ff8f4547ca7a1d5ce7fb7df3c0280e0bcefa75705e3e002978d02f7840598b903cd9702417e664134d373b9b8092117c54ebf7efb33d26f0702747c920b4b119446df79028088aca3cf0205ee8406f7ba02cde702f234cdac024e85b4e897aff6fa7a4b93c951dd0cca61be7bbca4a9dc510b493cc3eed96eb0028090dfc04a05b4bd0ae803bea0069f1c82b40240aa683518d7a24653a857f457602c1069c01071b144dce77f37ec90ec61adaf0280e0bcefa75705b8e202aef60496f30286c201f2b50338cf2e890fdb522c3dc3c33a3e8dcf0ffd6e36c3bfc8f9676bbfd7c90edd59310280c0caf384a30205d58f179bc204ddea058c910489b107e88377b33293b2d39197c15f5735ecdf07428adab4f89b8aa0c3c6d434b0215b0280c0caf384a30205c3b80da29706ebbb0cd0b301ddbf0b55967e51802f2f6dd4dc511c5cfecce765a883270046543c255cbc6ce2d607500280d0b8e1981a05ee9a07dd6dbcb709c29a04d436f552ae762e34eb945d23df39ca9ec1564fd163198053b4d29aa67023a04240f04280a0b787e90502c7f6a00a37008d7d066dd07c3a8e2e40ad028416b858a72fa91dc399b7fea67780a0b787e9050208442915d1c8b9efe9198dd5e556ae8d1453c1e34f3de0a828885884121dce8c80a0b787e9050288770297df833c73fa21b392acb77d4fd96e56ab13a80098a2048ba017669cbb80a0b787e9050242f3c9609919d25ea884897d1542a8d891fc0c0bcbf6b411c0b27932f889cee480f092cbdd080236e428b7e6850b84a81e28a542b40a7526a1e327bdf4c19ea248f7e311fa17dd80f092cbdd08027dd7e7bf01659689cfe76dbe260497ec804651614cf378a471f19eb0284da54280c0ee8ed20b0290025b06b0f7d6ed782166cd75085b38b38f50c549dfdaf77c551f3936d6665880c0ee8ed20b02c2d3b61ff406f95626343a40a482bd669f5ed059f99ba3528e4a4c528706cdd580c0ee8ed20b02adbff115cdf269c071881522cf5f9ccf421950d3e1d7841b73a8ee9b109a959580c0ee8ed20b02a3052848943de40352bf5bce23bb32e430a8893de26ea722241b7b36458fbc708090cad2c60e02b2373325f31ee5f4d2ad2f5d4a2ef3eb647a4722f909e9b1da407968db9d729b8090cad2c60e02aef0e70cb2ccbebaf39c70624d67379f96495f4ae2b1ee0fb5650e74509610618090cad2c60e0232d8060fa9433b1ee4d60a873f250e0bc77725a8f7a5f61420fa49dd456761a58090cad2c60e028d564e83870b47f10786ff768db20bfe52908056a560d01b7e046232b4eedc8a8090cad2c60e02ebc8252e6171af4056387996808bd6d1bf156fff572653f8792d801e4c5d34178090cad2c60e0206586b41928422cd0e49862c48226bda9f7e6a9067b61e202febad0f6f4dd8c48090cad2c60e02eb6ccb1b2fd985e53ca10fe743c4f6ed0b766d4f9002c71ec0beeb685851abc08090cad2c60e02d396bbd1876fcb226bbd25f202df112a5f4dade9c43c8b4f7ba4f183f7bd563f8090cad2c60e02346e75778e63a8ac22c18401b7d9989f771f69ff6b1412fc31625f3c4956695f8090cad2c60e0244ba8055968543addb626848a0c4404b58ee863021750708ddd3cf1959605a6b8090cad2c60e029671895de2ee600b684c6f01b675946eb52b0ee462ff24295cb7d447f3d21d4b8090cad2c60e020a3738df56221772aa425658acb1113a15ee8092513472fbac79668607d4ea718090cad2c60e0268e54ed121c07ad599e8c5b57aec3538a6dfec3e05e64fa8dc802b0e2d781a2e8090cad2c60e02b55b502e1bfc12d77ba09cf2784a05763fc323f91d518210429edcd7fac2c6268090cad2c60e02546d21c6336d8adad72943af225d0d5435abb0eeb3f12213c1a7305c8a35580a8090cad2c60e02b583bd75bb75c536ea31dc2fc7e2b81c7fa23dd8c1c8e4624188e8cd305fb3c080e0a596bb11028f9294a0efce8358dcad7e50ec129f0169e19550c3963be117c1f409c12f9e6b80e0a596bb1102869dfaf4ff75020b2a87bfa1296d5c2634435592aad8a67d95c52ec4c0e0f42c80e0a596bb11025eafc23b7d0370fbba983ce01e93185dceaf92dbb29280501dd9d5dba19d1eab80b081daaf140265ce86d09e461efb46edb0a038e6bd5ff17d262ba53a6828c273bf3b36425ef780b081daaf140285cfabe60146bb4ec655244ee78b68f5e57ccd90c099cc0de6737b827913380880b081daaf14022b6446878ec0dd55ca90fef8616fbad1868ab7493a29743ffcbf7267cabb96a680b081daaf1402a8f317585d563615f0bddb193440569a8dd13092c23dac8b656af838c95be61380b081daaf1402fa20134c0caf98902e9b432b15a3145cc4195ec0db87c1e3050c9965c44096b780b081daaf14021560651c9fc599a9762c6441cd354ba6b9c5fc66e826155f02c947bb12afd34080b081daaf14020e90327efd5bbdcbe60d014a913787b10b65087956529918ce65aa52b3b55e5d80b081daaf1402848bd1e42a19669f47b4256ffbb5c75c95709bc169ae5f90c0ac2f782dca602580b081daaf1402149489d35989b59a623ef391b5fa64bb5fab97d14999a5243b866d094dde5a788080dd9da41702eb6efaf227a0b17d643ff5af0ae22472368d05958083f3586c5ccaf3da44fa108080dd9da417022ea9e6d847674c686a4e9c1311b49c1b073a1b519db80e810aa5d0324933e42d8080dd9da4170270f20f54f08aec2ba65ec7e95b90d1e5ed1d4245374e50ec215f97b6fbaeeb5f8080dd9da41702bff3ac62b061151d3f973525ca3b87c97316e7fc9b9acdf7eaaa3f2dfdf518d88080dd9da41702fc5421faee32e3efb3addfd6908ba1ae29f7c9b8e7340fbd3206b73af98f634c80d0b8e1981a025620e57eaec202082dfdc41797c505e7c4119718bab286cedfd23bfd1bdbef5a80d0b8e1981a021bcab12148b47472d8af7bd2de3c30fd8db213e52aad5ac0383c1b3e4b93735880d0b8e1981a02aacd0582f00ac99a13d4288f634923542ef90bfd2932a07f7dc779be1837cf0380d0b8e1981a02a682d3a21321e2e32b2dcaa0a7098d5b90763b778db53406b1f0732a249f8d4a80a094a58d1d0208bd9afa3ffb53becfdcc4dd74274dd8b2bee03dea91af37012821036e0477d480a094a58d1d0215f2fb355e10ffe0a5840487b4aeb3f04307c7ef6389a133c4da2dfbfc33b4f080a094a58d1d02fe1a24909978f0638e5bd6945f6220148b82f3eff4fcca4c6a5f1f5fa390370380a094a58d1d02471830788b6d8e0c0d7d56f578945c81b820c8a9c44e33b79c0ebb62ebe9aa1380a094a58d1d026eeb0fbb84fef643fc806863073929dcef01f93c0e96291e556031934bca035b80a094a58d1d0297aca5a071355d5bf7d177aa2f046ac03a57575c596e4cea7764f6569849818280a094a58d1d021317941cf3f30d8c9c50a1203237bf3931f1c27ad8dadffdf2922d65ca1814a980a094a58d1d0264061545f640d62ca69cdabf34f71b63a0bbadf74983cbcd24bb4f04dafd1b0180a094a58d1d02992367296ba5cc4d4a807e2b8af9b4d7906184657da30548229d4de3795d871e80a094a58d1d029c10d607679ba65ea885e76f6cc38d06449c45be8e37cd52b00f45c6007649ea80a094a58d1d02538bae9fc9083eb699e026597a914d6b239475003f37a09b2c3b48d3c2319ddc80a094a58d1d02a622576a279acb9856ad166fd4fd5a44d63388726a68e96e129978db8b0a51f280a094a58d1d02934c01c40486dba522ac2159793c227eb5c0d33dfef40630bc3418b2553507fa80a094a58d1d02c32c9de30a0222b01f043512143c434a935d0f55dcda82900f0397cd3107823f80c0a8ca9a3a024e7ee2eb2af858bba43453178bffcdd8208a01f01380bde69caad39289f74ad180c0a8ca9a3a0242d2ca4ddf076a9375189e211b990a04499d58c10f4ff7eb9097d6aedac33edb80c0a8ca9a3a028fdd9ad33986c38a9d0ee97f06af84ff958261cbe23a71f7e8c18216d6edd4088080a2a9eae80102a7004bab3b55dcaf61dacfb7af6089dfc4c25caeb073dbd1aaba8ee49e43367580c0caf384a30202416fa9e8179df96b31bff99f0551bee4d1c05d292550a1676bed4eb99294c3d1210121ef64c21f541df2240557434600da84f7c794cfeaab9e9e3f153e977979926996ffc9e2533232c8f69e6cb15ff828a467c988d8661f3b80d7eeec93627b32078f1165dd9ac4742bf380dacf152798abe2776b982decc91d464cbe3695112f0049caadf75930fa38084e3e15b5a9941244e2317296b237fc32cadc92a9b34b0c0cb6d75eda4501441ec891d7b8f2ca65f6b4a98e8329d3067135947f815afe0678c3085f30cfb6bcd3eff5b3645d7fd628c30e0deeef4df527384c62e9df9d056491eb64e424778c14aaf8949455588495ff3d3785a4c4e41c442dd359b4df00bf4ea7135729262434d78960954f1b9fc88f947218c65bb2c728a83cf4313b04789f77cd2118b1d1002550ba9d8f74a6e32bb909c704c8e695db7e3bfd15e105dc40aa1cf5e59e11b8aa0c3ff162c598f2c0f77acc0a9b321e6d82605005290ff34a0833a497e2a21e16f50731e0fc3893bd3cd7dc819685d8516acbdf26f60705bb65504c5d6a0efa90de40ff9806e11b953702eef26e4bb466ecaaf33a440a51997862a86fd36a37cb1147a3213ca1837d1cbb3a8b175ea0258e1dbbec0f051d1f3d4c68ea55e974bc92a4543a5b476e118c752f1918a829b48e6265d8b90a356c9ac48d64e0523b4a054b94cb192cc5272e0ac7958d2576f2675ed0915500acb2ac8f8e33d0a94250a82526a2261c2b3170b166abad3172ef6d3005950b0ddb207f645672359bc855ebc68eb6ab919be9225f82e4d59f080daf7c5e7f850d32c7ca74270d0836fb9f84d8280c2b9621ce47ced4b16218e121a0572c25a402550b356e26037bb63c2ffc7b1f1b6105e7c87afba72ccee00adbfb74dc2e860321aa05589479190dd29c607216bfedb9e694cd90906f8eb93f07e991baf6a20dae2856cd9421843ace2324f3df71bc76d110d3e25f0e4b6aa5dec2b637dc5f045007d5d2c8276a010ca4bfd941bab1af5d1472e0791151922d04f01719032c0c82ce0d3aaa52116ebbf1eed5eb4f7af2d73f4b1f5add87af753ee7a292da750fcf97f95a6fabd1eaa8494ee9fc44f25280d755188eca23380a12d3f550d65e03591a74668dc849208f7757059664fb9b225960a59bc33dd268299306da66e00e57bfb1b5267c6fbe5371ee8dcd95bbbf8ef25edd720f2fb5aded3a7d5f697b0ffc0bb17fb2bc2b08c0ce9471458d4b9420c2af1bcab6986e7bc148e608188707104c587de84431c282f320ede5b36ac0b8299ae55281825e07b301c8916ac009cca97ab7baea7cb7e6ef8818566b1e3679aba71aa750aff17798e98ae990980a71ff91d328019bba73b00c2acd75a348df735fed6a594a1059f22f643fa34701d2c20e17cf41dfee6ae6ecb1b9ca7ba0dbf96eb59039752a3d33e9350da0a70277c9f7ba198289d168a085e443cf404af1ea2af8f5280cfea76763ee27ffcb0d1b7a20cacb11744931c45177ef334e52988b68422611039e928f750a8d043607078a1294a5cf763cfce7ce10fe6a2da88f2759829547cfec894c8ab95093cf0f45632df8f88245a7c8bd6bb8c001c482ad3220f18a50146636f861640a648606cf2a3c1d51af1e4accefeeb232dd1545db207dc0532874a835e16043fe043d005abfb3d4a9a6c93ac4896d99494419892c0471ae4495405e5230dc53353e8a0964fd553cf3b9a8aed98d3a95f8b74d0b2b002da86f6fd2ddbd63cb1160ce460a5b7875193359392bf19da8e3b5434a3fd65bb108aca4478cb91ec5c9c5dc230d870852c8e534f4de2ce6dcd3acddbd56edbd3c712e408d37f06259fcad2f910b18b76ce0421a2817b1d8fd3be4f043d74046d3d16af60f9d95aaf8ba366a790097a980e5c0efe1089a1c38d05aede2cd6dcc5e7fefcc114d98ecc5ea794a6c0a5527b93318ef69ff3584be3b11cbfb9a520c0c149696e5db9bccf806ddb8340a88e0dcc93723911d9e18f2911f27a7f3ab4c3d5e3b7be63c3b4d95149c5f0c0c75b32aedce80e8ea135a22b1598b21ba42c40d732bba8ec792654392d43f200215a7b78633d8354e81abcf38f02d69a3a66ccc8e5b98f3936a9067442b855f0a421b24ce4da7801f47008faa30d296af97b3aaca0727f0849fc9a58b6695da024ffce02f4602793fefba78f1a2fa62926d912ba656b739874a6b2a04562e2909ecfb89aa68ce1fd1cff7f9aeffc64eaa96298b377132a9e266604acd1da44f0d9e7a204b584bb234a12dde14f75725c9ba0e08d422bf57cb2bf049b4e087780d334eb66967c62aa59fe3e701164d3e4bf292d765478c8826f2238bb81f9e4a04d1d822c8d83684a04d5cb2b5df7a264760b833c37ce1ecc5d31be7232407c9073710ab72286fc7db60151995dd69392e8f194152b1579a68b4517028f6766208175700d7a54cd40f4e4b38e26c03a8da2ad6b1d7e379eddd040a073fdf46530ce062ecb968f2fea75860d88f80d013c5fc3662bbbc05c4de75124bb889b22008a170fe512b8f7176e282a79d2c49438c9d2dfab83fd890604058602ef0c7380c19450d27b5d5e8f09216426cb82baa3f30ef3bd77c7ca69bb96cbf878f015106acbff0474ab8104dd68255e1bace5d4a8cac97d2132d5fcb833ea5f8f73834014cbf671f3481d38169623347059feeede7bc27f1462547b3e35b3e738e3d1c0106a4f7cf3992eefaf181e9fa1fef53dc00598f497a2766831f4bf15b3f66010eea556060496839b1f1df2bc4ee45c42a645813ab0c41de3dfc45a38c0cb9a30177480f103dcab2859298d077b997d49ed2e590b51d347c55084510e58223cf06d74a94124a4993d4f2c4e16a2faa89bd608571e928c78beb267d5ff7a8ab3605cdaa8ff7d8a261cfbcd4e76d144ff8f4fe36a56feae6c7608fb584a000e81805bbd68951f7412cffba7466f73d3ab0099b86586357528456e16a50fb0b332c0d855832a5d98e42bb3b2d45eb5f824cf904ae11ecd7fa4db5233e4e3dc31a920b7e14f8009ea9c1900c5bef65464aab1ce23722407b6f550ec6294bc1779b1a024516357ff9b21396dec1471910a0f6028128026fb62fcae1705157c795953f08394ffe22b22a24c6cde10fe9cf5e094d8eef17bb94cb0d3bff2027cb8d9c1906f327f515d7f350a6251c087077bd288e32ce5bcb4c195d41127cbcb8df4d25099bfc287bbc542688a18dacee3ba94b02ff122ba10f90a555264e074c1073200d106f118c10e2d3c50db4c72564b35f7a4bfef948dcfe7577b7323d6862b8fc06ce92ccf8596b21c28c9486676a1abb411066d7a22bfb17b8bbe7dc94ed78af00b13671e6269317bc31aea57c8e0323d5a40c0e2c2df12d3d001b3fc9a38b050e96b88432ff47966d25239a8c16bea44ff8e233e67bc823557b34cb0bb428aa0b42a16cc06d49fd54aa4b83750c9a316a5569967c83ee1506711e0c42cea7180e9c9e4bfc0328c0f74d34688c75694d3563e694918de25f6285fa8dddaece100798a73b914f55cde88534ed7997551514056398a299e93812138cc21b889c310b07d1683d0614a6147ca6e16690886e518dae8eebd5f38672ca3bfbdca181590422d69f04480582442c0647192a539ddc228ca36cc80d7388993c3b874f1ef50aa85c53768b83477bfd25aafc8dfed30d1fa65706d1ee1b5a564f4ae03bb52603ddbd601fe435551bdf57099fa993c107384d022b72bc52ffcbf8319f3e728707230b909ac7ebc4b08b231f28b3736dffdbddfbdfca542c206661b9e5979b9c0d0161e08f3b7b8f99f0d41b23784166e85ce696edb4244665c69ff57f2cf017012d4be85595614cb7c2770600de34be47b02c1d0899e5f1f243924d0dcb1d6100ccdd90b7c60bbb2b8ae6befcfe3eea560429272c2e3ae063d8f160e7b9dd4602d6a607a32795661f2a70728401382ba24834c00a5e76af0f36212d6552540d0fb771337a60165bc7d2f58e3fa375229495523c9247df2ac26d1aa14d1a414d0544a4b2f4d627224beda467135caa922ad7e78f22fc554c26b39110db89f3ef05ede12c1724ffbffb347091e1cc30101993e92cb2ea5a317d3f49bd69d10fa30c217623d200d414aa84978e8b068638b94144b8a3dafe594324824da7f05c9e09c0ed3892ece0f96fa028e7e73a5f2d8ca860ba99fa79eddbe44de98b115b80023deac0c8a15c3f845f4f22644408d1574c12e3d5d1d4e41f4ce9aa8f3095430af265c8c5342aa767848a13498fd64ede458754d08f40da1d17685db63d86da07518d62ff7ccb2f696a5a4988660b8c10fdf5046f3bdabc62b04cd434c028f002e67d205ba82ce5177f27d02e6c22c14a2b949c0117cd68f7a0dcfd97d876f70401dcdb48e7db9cee47b455ae5b1fc8307562bbf4306e346ec9220689c310d60e5e1f123b093c9c80d516018d616bdc660addcc6e49440a9612bc80a63c604f0f02908abccc09b1a4249559c69454fa0f0796c87bbc382a66282ba0ec58f38406a0f919148a5f75ce404b3774177fcb54f83513951008d5fdc7b2064f5536bd0c89bd46e44ef2d259dd012bdf66c1c86f4559dd437e315f9e505387fd75b11f0dee36b377b0abd0f6277781e1eadba9f486f42c8bc361515919d50da58d3c1e0e7325bac4b72a321ec4f8799519d19cbbb5c472277cfd4f80ba5f46c39413b30242b6fb8285fa8a1fe25e8b1658fa4811e8fe1bde79e52f9d506f88fa80dd9a0dbf69a0fb378a6e4be6a0a3633f55e7078cae20bc6dae406aef691abde796600a300b47bc7f650ac234db63c22659403e84b312f28c0e340453049218c9565a023724d4f79d40a9ffaa3731cdd0fd4dc9c5bf50f47e811859c78fe127569e200cd32dcfec13f352e4d9b8c197ec5f190e263c6f84982ef666f8f68c680b6127054c2f4d48f26f684cc2689eea8fdfce33be30d7354a423960ed8693372054640bfda8c6a3e1c4eb89f7443d34d550af7b772d44cef218e9207587eec3c4499103248f30e1858417fcfeca2d19aee094af97ab5ceab9f030dcfbec9a43387dcf0275bdce3443b20486d0eda3adeab63c1fa1efa4ffbfa90cd1fa66bc8e9aed890c9eb0a686fa07e1ec667ca999196b564234fea5185fd9b7a98d6314b6abe4920c76885e0112dd8d5518df583a38aa933451e0da9ba4bee9c5b4046a57e8a7920a53322b529cd50b6a9578da62760c4305b65dc2e254a5c0eea6354a7a7d9ef40e5dd18ce6acad163b1ba6d74ab15aa355ef7ab31ef4593e28b453b5ff8aeb3002b3cf91fac352983ebbf0c6257ce4903b583331b36c1c05be28d906d94a2adf00dd7cc7fe65cb5c6ac425ae020fec0d392823d8c92668633265273b8206beaa053ac2cb73456b494550c97b4dbfb6ffe7dc471cc76dd242ad410404eefe93940073d3d6af599a0db48acca3905c4b381d6f86a12a2d205997d52db214415c230b5b4a4e83a73f9d64255e596b652a04fa005db9920d0f9ea5285263e0f116670254aa9aba091d1a21a1ee24da4db7452dc71e8ccb62af4cc75c15a13e4272db053f9bf62de9b5ae2ad59ad9a8125541436e7bf6915a132f5f4eac8d8be1568e0d7dd24d65a5d6e62c1d6ac15c1f123460a15266800812da5d712983e42039b90abcda789fe3ff29d3582f3a85b735615d40546e076fe07366e8167e7a0febba0d3818d88150a6adad9b2725c3b01db22ba9def0d1eb2bbfee1c891e15c1ac0f047ffc60f30305c8206baaf71c00147386f3633e7fdbb49d2ba60b569564855d09a0ef7080c4f7c2e7e7ff82b78a5c3e1452bc0bf3b77657d18221299187bb280fe910c9d711cd338447e86e944bd82c1549b81d6f3d3aafb7cb167138f2e9ef05c14e0ae98c1d2237e2c019f2cba2229306e5496e0ba8e138cfaa0d4a714b5d0997f9a4a8afcecc5192ba658a4ce668229926a19db131c9469d92fab301aa3c09c7e3bc898ab22c91153a8705653f85cf9e29b1c7e6d1df24b85ea2d9e1d56e07a8862cc2eac74586b11b0004847b1886672d36c1a400fe8abd031d9de8137802bed7ddc37885133bffeed6352b43666bf80dcac1b363e1855654669220a18a024fce791dce37e68af1a463b75f60558ae9c9cd015aab464e58f5c0fa47f08d06a52109bd68b6cd4ff71b5d15d005ceca90b90f350240edc024ce478c11d3b40bbac1d2714567e02be3aa417c76803c17bc42f1b44a73bc51824eace5950d3c0dd934efbaf39b36ed9bc74dd82c5e4a94fd037e7c6bc1f171427ee6a83e057f04fb489c3520c541039163a6056fbe19346591d49944142929b5ca8e1e36a8640c44661ba9b6bbe0e4cfdb8773701c83a274cbd331b6027ef4438223969841810b5ebe87eb4da5d0cbca68cefc69edda912eaa78c6697f01b55e83273bb099b40fe01d1f2ec3c71c392b328495b0d7a8513708e50ae93beea2b3ee8095771f79012f49d1f32f6c5badcc4dc4e1e89e8a1fbca139e077e6d3dafbc5bdaa31201201afc85daa55e3fca28e018de5c58a0239618648a8227f914a4ffa38ab0afe2e0bc8af52cecf5be9c0db2d36762fc16fc32d550dd8d3f7ba4bc4e2986bb91196056e0b537bae6e3d35f913a0cb3dce118f118b19b19e169e4807865af2ea8cf902334222b81db35fb24e3804433b2b0980197af514f37cd69cce611a295fa2760dcb22255045a0afdf856788afd67c99802cc6e012fe81c5df70eedef729b4d3003d26a5e1c0747a9c34ba6622adb12726824b8760efbd6dc3284c49ebaee663005ca8e7c0b21752222fd5f62b5d62df9325dce0ad8d94a86070e1cf65c5dad402a6fc73652e45859ed5c9a2f06536b1e0ecb59bbb9c9a6e558f4d866748b6510b395d7b9050e7adcea5e25113fa5c85cb511ad1e54cfea192638037008a3585090dfe378ce9fc521ecd1f82e0faca4e012999c037456728dedee56a5dda11d2070febc880b18a68397127894abdd95937fa94622ce57fcfe9209df707d6e4c60016ee839b0c061cd551ab414f3b402598c84136522749c3c087b4fe3b3c26500fa269e73ca959cfddbe977540a2e96ab4ee741b67dceac60f8b65d824b63a610ac8019beb1164119ebe46cf0f2d7b322bc6c945707eebf12d09e2090d66c3fa0df915058fe24c46c11d966b1f94734a4e76aecf6f3cd6df47a105286f766f7d035c36df868a4ff9662a0ae5e2d345bbbb98c6c64e5dd5fa951cd73857130bff06896f2e8f0789194b276f678850de9ace930719c61f03b47d73469db81c089d09778d98c6fb5ac7a6153a6e1943b83b0005250dc0e2261dc43120120b9193d40cf9a74a5ad0a10b13dfa3ad5df7a1a5ca892698c0aa87cb92c8bff29c06e7ab0919935c33a00af5055888b762c56c98bca604619919c4552cf9a860174cc7ce019076b89b51b8c3e686f4d65ca0d3f243c66ac4dccf86b7b84e6ba4a49986e102ac36e18e032aa973040b86cbf780ee39ab92a7ea91f838c2524c2202b4f82f0baa6ba2cae34ccf21e19cbc276997b70c3b8314935ef58250b4bb76421f0aae051af01eecb58262202cb762f7e5fae385194dda96cac5ad405fa0a22da3a4fa0c9a5035e3ba24911d98017047c41aa7541d41b51f8885ad8d3b29beb2a27f910b6145f3efcd9cf91f69c7defa3f1e44ac17342ee8672ffea5b9cfff9080a8c6022ab8017986dea2ff0c95cd45f82c2446d459a1b588cb2b35d14209b15c65a603cbd8f1fba88d60e814eb507a34466c5b580ce2424a359c54e07eb1eff306290a31350100080280b081daaf1405d8b906e2c106b457b05596990c374d4002b0db840a22541e3327a585c3815600fe0640e718dc2bc4cff96ce6fc028080e983b1de1605bc04f26bc50cd94ab93b24418237b4e508f15e8e392ded207a83748fa97883ad6146fb64d2317c38b5510280c09e90acbb14058d23aa0acc0fb715aa48fe941626c23960776335fad4c1faa346be85d54a4baaaf9176740c0968d8e963028090dfc04a05e2c20485970b9e27e8b101e0fd01211fa8c85c5a3b886c8899363169174a57aeb489210c70705cb334fb0c46c958028090dfc04a05e7b30cb78b0368d457e3f402cfcca49fa89653828154ce0c5d341d9b5512059d729052e025e3b30e1da11dee028080aace938c0905c433af38c708a439b60f76b97ada751a75247704815dbab9874583bf8c4cf6365f0576570fcebcbebbe80280b09dc2df0105a4bc05eb8904982ace1aeeae027b5f518e8ca10f34cf02113dc5092aae851e0ca00eedae7e059abdfb636eff6602808082bf93eff00805a6014996037fa9026cec238263bf12b79c767eb08ce6dcaefe7c04522161fcdb5aefa14767671b400980e8eda1ba01028a849ec36f1151394dfa2bb22bc07f1c1be2a499b9014277d5cac81481c3e39e80d0dbc3f40202b5496082c78fc4c59915262259bf452780ae9c721dbb03bb076691c0ae8c4f548090cad2c60e02072d22e4350f71e8c53a2c18b0229364dc3e56a2c2d418ce35cb7c724766c0c780e0bcefa757025f9e768422c74bc1b8b8fedb4450d2e2a584a3ceed4e1d4f466bf1f8d717f31480e08d84ddcb010265b50e64fdc559be5a8af7f7b854034f4a38f259eae77a9bf5d7da24622b8b6d808095e789c60402b68bb08757662a34a3ea769cacbcfde5b0913e3539aabd0c249a0bca880942968080bb8b939b4402a7532419612a5508f9c6f0110cd8de7d244d1ba80d5797354da94b11325388d88080b1a2b9d1cc01023a72ef5f29f352f959e54ada5517462a36bfb07276c612c6c5bcd5da4ffb362f8080e898a9bf8d070291ed337e14cc247c1d164d17f0272c40d0d0b15aaf4e12ec1fc12d6697d703794402210043c6d79bb50170bc4f783bed5c63439d04893f5335312a9f2c801a97c7cd01a001a4e714f0ac09b2bc420bf0b818b56403b72642dcf9dbc59aa7420f4582e3810277e38003a996cf1075cf2f0d9d97f9470e92ab4a3d8e178ab81a244b6d08740117ecc668209a61d376389cf1c98b034aad90c05950d705b321477f586668bf04be8d8affaf7a45a14ef1fb132183c62a42fee303fdd8884acf9addd63ce2ab0411e7a9f0f00059552d4215ec8094393a63960672726db1229f82f610912ad00a26a38a4cb18d3ba894ccbb73a72c0f08c83d4f4df2c8e2c89880664ddc51ae0213bda21e3577fe72600f136816766383de555f3d81215f108386b0f4abed220c5060e676fd2f028282ea0c48947532d0902385da24900ec0836b4a6bea482e0bb0009c00dcda962a81e948e4405a4d9a37b206ac49cd34717db18ca6553a690ad15a02a5d9230a9df602b212304e28465973dfe98b81e5a3477e397b2cac3d04f7a85ce72b7a84b555416edf40d9ab03ad3611167416c408e4b31a76eedcf40034b4db8fc9c716af7fb6d5fede29e975fecff9d9f46b3f19c48fb0c344a106015379d661603d0e1c374f847c0bd5427445ab06ff63eaff94f85e75820444120e6b703acfafe7eed14555e2f203822ecdda432ad1a06ddad5afb0ba7aa2d93d037ca708f26cba8f9be555e591f2ad5dbbd479f3c90c6e67961a8969ff5c574b0b9301644a66bb9f352b12e4d8a65aaf9122908670daa4d7d12383b79e7619940a59d943f23ca1c0693249072818870fa36852d7e1f1d3dbdf2d52c05e47b4a207d8a550b1bf91b9b9bc632de3eb29b8d6cf0a7c6a19a95954b88185163c07020ff3433f3a8d1e88d4f52fa31d18dac529e0eb75cbd3d0e0d72b956b895b0de0030a2a004c73ed68f718c5b6ea45a28a6f75acba30ad6f7519fb4b2976d252ff023101f59acf1a93388dfa75da127c8aac8f0a6d61143fb47fddb05f68b8c1d2090b07e8dd43024dcfd2d2343f7f57b1b4a7c2c3c221c56378e48c7a326f5dd4095fe08659662551da394329f8e6c2ebf1aec3c3b66b419d89c7fdf8986599c909d46a5d10d2d5742d33ab56d0734802bf5e95241cef6145d51405c9f0a33b0900cca9245f2481fb937fe79b8c79edfb0eb79f10a338b5c9dc690455509d56ba0bbd584a7689958978ce769ed26257ad3e7d117734d303242eab76fb60fb2bcd0ef36d5c284a1ef98f5b74bb9a576e0cf1d2ddc964f0604c72d2c79b509a7be90a186d72f36235d1cee793ea7add78cf4ed6b672dcacac6e536b68f1e444a89a09f59a75e7e48248fecad5449503ec62cc002fd28a9d96da551ec2504ca0215a00940fa2cf05357f1b8d379889d98ffb74d7f3dae5e422628ee4c30e7625033e0185587d136a7b23721d18d6bfac09feb207a08a7dcc46924633eb85c2e59d7707fe1f52d069403877dd04f5f65608e69e6dd0ea77ac4f1d1100d7ff728ca24401575ed39dda9b602a2001689b2516b0596cd431362d2a258868cf123d9236350d641749ea71200e7d713e7bf4b0bb6cb052a54482e52f4d41b90a7068e19b5b05110cea67e5dd7a87e5946dca06f5b20d23862b4f2b1ea0fcfc48e1fc4e79550a1049abc954f245a491c0e2d4a581dcc2c68858670d1bc7653ef0efe571103e020a1808ecfbd8e0515710365d01aa02648f510c140d8df44a522c9341e0f9bb0108762302594be7648de4abca6e68e55dfdedf72f274f9c2d1cc6c751017bca0de2c3663bbc64ae6f54eb108f5e7f14224a47e920359a9f7c46b07aa1e453c80ff3f0f9b6e2cf98f356f626eecf44ba7876a5d68ca8ba01061fe420c55595bc098a8a6d29d815daca05e0f456f7349176d089a8f6bb1693d1065ad7032f678a070440c47ccef3a92c359919ef14c724a16a903b39a8a033cfce5441328641c1012c4b3af3d9c2c12d514105701cc81bc9b629d8e3b6352955fe8656edd989e60393204eb1e95407326497a70e075e2b0e35d12f8e4211fd25e63b689114b0b30fd3a46a937f6ec9cb57a3467408275e827019a27522c6c3da42f1538b234df20f768089c80a723665a7280b3b94666dc9fce3ce8bb738eb5128184acdb2f693079d69deece229548b8e79abeabd07a5ae4ad7ea57a8c1fef431af08dcbb50750632a66b32638baeeca8b8e12defe744074e3a429efe514698051dc1e7f871be0b75a3873aa00a868ce6d782535c4d7e570fd847ecc1834b7b6e149b3ca3430a0e218af332c4260d1371eb3186ccf684d6f3c2ccae8d4c7a5c76483c1edb31690eaac6125cbd3f269a88c05bd9ac468004b7ea1a7c645f118e780d23ff6be6c4041ab30b00ba9370f107d2cec4fd2435afbe0d7bb24cf8788b31a99965679c3e0ba7c29da6681756958564571103408d6a6f5b0eaa5687f05329be4a68e7bf3301290e32d75de4b450e92cec4f99600df5c7d5a4a011dba2464f53e65f434691082928a1517f0600c32037c547ea50efb1ee282f48a33d77b633d7d397e7aebe061cc8a468ef3bd6031e04bdbc07f1d7d941469e111b2e9c5bc0fc7a6bb53cfb0cb36cd2a6c5e88f17ae2e1d7e5b1618435523e3b771f22236963f2582953a490215132362d2809fd6d89d8905caaf13515f748bd5db0f376b0da90ae7d1ced3026087f8e62eef496b1170a675f9757ebc76ab42a8069a03e25e5490aa138c3103f0d20d2c85c2ccaed71efac1ccb7e3c92f2241a9debd2720d91fc9059acf8c005c2fe9ef446422867fdfbf195a83f3e9b1f3e5ede8fa11b25a5ae19cd5bded018125e0cfe84cd5743fc993b5a6611285dea52831b55d7bf3e59cca1598e6d007fcc9cdd53862bf63c7da2972fb305e0f618fcd9d8d28c1bf293a440af687710fb2a1d238d420b720c350cd2b5702ebbee838d6808e41714301a79a80515b9e0885b154816f5e48ce607ab7da1f8d80e2ba654bfb5c3b007274af59d62d542b0b4b3cc816fc3e45da02340ec84bd21906deac36b4b22e327ee7aaac510890940a4ee3233a96f2ff44935ad26d4ee353db56464685bbb5130d548cb5fceab5da061a9be1e615e252bfe622e88bcdbdd559dc74e8b6778f8575ece7d29ee229ce094814acc0a2e7578d35e96a21d330f009048c7db02569662586a15af36743e20d73da29324237a250f2006f902f5393b501362f6dbe4777442a56354ed88df800a991f2bdd8b0be03da448352e4afce24cf71a391984ea571f34d1f25649408029c5e04166262270d64440ddf9c1ca7aae2028710a7062b391f8610bda7c50c0c782ccb08eaccbb0c33c79065859e01e2ecb6feb95fe5f24d64e353626332c2098c2baf2306cea1a81cce00c8d3efe69dc954ee6b9cb9a7a9f57d3c4c7e262f0ccd3917ba6b4c6687df2f9239ac511101e1a92a07015eb097126a45cb7a0a240dfef09c62c478c24570a87a00aa80db9c96403e740425f3c592361f31daac940b7d654c57e70bfc4d3de69088fb2863cac6b3f0fef169c4bdc83986eb68d66507ad06d4465d0fb28253083825f7a14d79dccc26ca8bd18a6bdd0d958ee4019d0ee875cbb4e08413ff721ed1e61a8021760bb3ead392f901936f46b32d6d5a210b8e0002eb9c800232ef5a8b1f8f0b032cfad4177979bbbcc59032153ea3a45203137b8fc4f04d90ed611ca1442d11f2f0d1da573feca01385248ae7b347649c08850c010001028080e898a9bf8d07058403da032c21d601add427023a131e194253b5f43d670f544fc0afb85a48cbd00d7c938764bde1b10980b09dc2df0102a5f8878e078a7c1cbc41ff9595968c83395ad83a70d0cb61c9e9bc2b37f6a49a80c0ee8ed20b022040e02e8b637b764865edd03ebcceee13fcec9d2b189b00e8a40742fa6925368090cad2c60e0252de24fd21c739105b1fe3e02767c3f5b002321b72ee19a5a1a716ba56dca64c80a094a58d1d02a596e7d5ef1d6d95dadecaf203db65c37236f99ed8439df272a343f9e5caeb748080a2a9eae80102ca96a65726ee4243066255e6c7ff0ff771949237a41882ea8fbf9c5202702e908080aace938c09024fba47e7732a66d7b686c1f784721e798565c66f788d873980f72cc902a5b2fd80c0f4c198af0b025bcb2c6159f7dd30cf9561d2517ba4f277d4248827f0a6da26222af80ec93a8d8080b1a2b9d1cc0102ca2c24165066e68a4a8934b489829baa82dc614e7d08595e6e9e6e069b34a7d98080cef2be8faa05028433d5071b8630308ed3688cf321e199309ed1c429e3ecd03e498546f4e37c35440221006c78587754a07b2a46f349c49bc033c26f5f38efe0a70544ef0cd7cffc8421b5017ad12da531b7ffd3bc0f0af2dde03e9cd6280cdfa9a1208ee3e0675e28560262b36c965994ef346c9990a17234dfde224e0b53f0891e46baa84ffa0c4a723209254c69bd9af6d8da06d50ca02ba7def9255100af23c4d4de36d6d5fcc751fe0ed86a8ddd779b334882cd93eb1285852e3aa89027b6779dccaf94f980e48767097d2339c12545195bf87b265ceca7446d20df0180efcbf9a1482009bc41640f06893631f80f4936361270e1d5d9ca82e1c1c99a0ce37127fefe7e2da4a4a8f409989e9dc1032023d23f221be59378f98bbd59a3e5394cddbe38717abc8e95a90c0e9ae604b28941072bdc761df72cae3a73e8564fb5540c642767d6c8554d200ef973720701d0c2949d2934a127ef23f42bbcfd46abcc9b9f030a5fa4a77dd40924dcf7243a85501fdc4414d384e1134923dd8a7a8145e9582dc9c3a38d3a720ebf326d850ae1407c87dc255d687e7a74c5221a6c7af63b230981a5dbe353240abd120100010280c09e90acbb140387139420de67e07cf2e2b67400adc36f396ba53627f11879cc4e1e0f86412ed0f932e726d09a18140206eb98dd1d8357b9f7cd3758468b904fcf0ef06cbbe7e9a32c15f16ef55fd65c500288fbc0b31b261dd5e6f6a4c51e429ed56a7bcb8cdfcc59096958047a5c54109f9003028fba345f76d24dd821f928330d9dd7c0a6c28af0d5182cca98b5208bdeda4326f40302ba362ec724f17fc6fd3f746c0c7ee939e8480a7a9aa1f4d7aa7356f9251f15a6b8170217814dd7b67b2d985f98e6647e72dffb131c9eae30e134ff21905ee734439d90f02e02212eed429bee746793cecd5f3b0f80fe8dafb8c421c790804496f31828806de7b0ea0102ef166bff9a8f27339a89f52412fa67c56d7102d548d9b318b9ad296fdedd338fe0d403022a6696c021e71ab0e0cdc032d59d6fe4216ca4e172deaadeb81246726712fa7980b5180210bd4c7375fe9e233fa9c8d84a96d29c4b20b2fd9252c81748c026fb630cbc2ca0c21e028f7ef5a94c0a591a61d8270b64ac367053801696bf54a24f44f3dffe806f8cdb8092f401027d52ebea2638edfe4fb2d7cb1c3da7712e48cffb597f89062e69f4ebfaa01a7cc096b102023e167ee557d93768839aea1ee647cf61c5f709370122ea780258beea405353d98087a70e02383422d8126bffb50746ca16f10823313f7e58a37b70bc8b7cad5553e9122b2d808ece1c021dbc4badc52fc41e8c4f4d25c80cf15ac95f6434beda9b44a5c1c577f29b9ef28084af5f0291d6c726d42f39222f84f26d53cdf5f19cf814172ed0042d13edcb33efa09faf80cee4cd0202d38a19fc5de94a946ba2c8b8a5f27949a87e125d327bd6e399fdab8a835333e780a8d6b907020a4f709e9110be67e4a7fa7f8ccfcd6ec04a161ae5d4674e4075a28109fdaf97808cee891a026066eeafeea060d0a1392340491c7d260c05285845a3fb5249dccd4cbaa0f1dc80a0be8195010223db705b2d45b997e17da235b64792d781bf3dd2b305b9801b84c8b4bbf18fc780e8eda1ba010268a05dfec280ef43117a02d5c4ae2810ddd9975bbd084352d2280e957aa633a68080dd9da4170229bb0831f974ac72e9247ae28dc34dae6c1cfac99d94fdd58f284a3651ecaf0d8080d194b5740215b6707b5143afba7a4be4dbfbe614bbd52e2828fc8a83d0279ac128c9deb2ba80a0e5b9c2910102c3f3e67baea2649ee6587a0c68cfc964dba8e1b95e37c4dd942b623892d20a0f8080d49ca7981202c5d26016f4cf6a6448422e5c08e4061e0bf74de8a20a5983a84add94d2a01089440162b8580c664cdf07b2aba9c147113699f2493bedda4ee86d0847384a6e6d3eda022100e7104f0d49dbc1737b8de5e9b4f5011d921299c21d234f3a00ba95a5441c1a291360ebb37bbdc7a9d531bafd33145eb967dd639cb10d5ef3010a852d4d1d4505c598a2c6622fb847bdfd90df99b19a1c3cbc3d90afd564f707f3681cd51d190c40d2e9373e3bedf3069297a486f1b0594d9cbacfc84a65221ccb5c4bea163e056f469871352b5055dec80bd347bebbb50fd6d7f0b184f8ed04cfe771d34f7206f7cd1d311bfdd8b63ba0e847db8ec9668a4f428de7121714dbfa62bc45abd80ccdeca7f437091c149a4b4647874c5289351dec1bd0b6eee5b702c4c91e7da708");
// mainet 1623891
blks.emplace_back("0111010101010201010805626c6f636b0aa90807078797deda059e1bda65068628715a9c2556f45891ce682d077dae6fcd26527e51bef9d0183b40960000028f8f6301ffd38e6301bfd1b081b67c025a309dbfe80db1aa4dec3bf2313050e2ec2fc60fc891fe60f2683057352c726d2b01cad801c62f491c03fcc96a73c3b873d17dc68a7ce370e19454120fce6614d629020800000023ddc22300000dfa620ca2bc732ae5b39f132d0f8f15ad49cf343c642a4963fe1ad740e4af4e8c4bc857c6537acf19c0ca95ede37dc8112a56321c09b959428ebbc936c42e895591d41da76776b747e6a8ff57b66c3db0e201b738302c804a9f1c356abd6ed85356d21e01c5c587f4db56abeacc682fdc3674840e40a83dcfd6eed7cff245d622669226a60434c338c2fba34369a0e77a962998aec007bf0e95f3ffd892d9d36bf2217e152913ba6ce4de2769d9b7fc3005f2bb0d9aef896a4c0605e82816f204e91d990f54e08c2fdfe60337bc028ed8cd9361ae7de6942ee45aea8ac3bd88ca5685683b835728deece0cedf44096d8e1cabe34fd68648e21ba2e6485697d4adc03fdde04f5f70da257f4f493311e6d078258d11743cd956aec12f9a418548cde296d2081184b201aad7d427a5ea6106f768563c85a6aed723b47a3eaa0bc36ab7753da914ddedb7182d399671ef0a7f1d735d43b912283af24720cc6d7bef00f26846359acf852e7f297c60cac1caa5242807131b595877f94ed8c396b0482f4e1755e7cfb4a7b4ce2a6a551eb0713aaf101b021511e0f4136c47d19d97927f037478738a34b1ce020001020007baec06fce929d0acc501b58d07e69c2192d24eba9927156085d0ec0f5d76d004764a1a40eb9f1775bd8caaa20a001f88dbbbe052ae28020002d74e11a13147adb89b54b7c30937999d3e2a366d232e15b9115eb725642d27190002767037f03c115bd083cd90ac46d3bddb55367e95a65bec0db7b453679872c3964401293b75f091e7105444c35adeecff1b39a314fb59a5f6905bce93c4dec29b7754022100a6001087a0e351a7868af454589cac42bec2ebc5a048151bc3e15e107d2c56f8018090dfc04a63805442d73d138d7c01576848b3e98c61e93fbdf122e2fcbebde33413060303fd6ce5b8dcb4886601c3f1fa2608cb35870598339cf327688188a7f0b04a1608b255d3c84504e216431808874e56c08087a0f2f936c372f4c792d7e5ebac9e0cf9ee0f2710bd354c36bce77be12f3ae2644dd48caca3672fc96a4bbc96c60f023e243b53b71d0734449f107983580c066b14088493cc30683108ce060a0e842336df5ade520bbcb244e604bf49342fb554e891ccfc3957fd530dcd9d4f42b9d3bb31462ccbfc3af1bb7a89ea8ee6686c043534220f7beca8591183a9c855610f721678d803aa7c3fd4fa0689fb310b15c89fd8cc80eec1a1b8a427953477f2018e98a8ee10a93a0589bb5c0e0aad1a8116581a2772511cf75e83747d8d3a3e04d874db2a61f0b9a745cb4b8c1915645438a6cd8d51511fc5426a05c8dfa6240013896629e4bd859e809c7d93034efbceb7e33337f3cc4b86319e7832e7259403321561e10473916a21dc4478c707618792251f916e13b8325ba5fbcab1b1850cb7d186d5db7f8d3badee76211e8a0a4825a857d18046449da13b3c25f5cba70e407cf97364418d4e00442c7a9cd2432b1de31d3df0bd15b2f41bd2499315a30048a346ec9ee504bb261875fed44459bfdbf0bb2122ffbe720da2587b4631b5047a71e2e0e4753728153b6409b818808605aba30b9b3acb9bb0a83b20815a30056035b553f697dffa8e7af71c74595f3479e2df7309bb63dd4619ad8e7ad26e085e5002da618c985bd18fd1af99ac7b874d810298ac129555cadcc39f764ed00c1b76ea450920682a238916dcbb91112b157699c1a70c875f767e48e1ac8feb0e07c9c0b0ace71c8a02eb8106ca5f3ff5ed12cede2aa17a0ab74e9d90409c05081b2879015e58395ee3efaac20b490cb293f95e2989cbbe70dc463809cb40c80f37e2f123e44bf723cf54f8f11e03bc7b021f6aec4bfff4e24a9469f43ee5f70624a39bde58d98499cdac59c98637142b063bd410251691679940de208e13f1021d7a47e72eb389e798676ae0e651962669ed680d1620e63f6e2f83aa0c6e89033aa31409b5525d565b439899d9b8caa6a0a126ba70ef0bcfad39030e8d59a0030f63e80ed64fa2e2776abc3c2082262831eddb034e5c2f039f7d404b3b321e0a96640412c7dc609ca6c3ae8e3b9decc9083f9e005ce941ae691a2993ee8d5e0989329f3c8e1636dbf0ca1178570064693dbeb4c23f37df77e16f1adfacb59901594a671d85520f6709d758fc743aa15080ac31af58fa70aae241bb90f7b40d08ad4b9a8ebe95a5fad34051019835fb0e4bbfe0c43a6da84dce777d0a0ac9740ae5f867cba2d44588e1340dee387712637a7110b0569565893318124c610bc9000af49f7a44229318651663a220ee0b67ac3bc32fcbfcc0e07b989257fda281015a5e83af642c35b5bbb6934fd989592a4dbca30e7ed9fa5dca17acd01d58860fb445b658344e89643a7da8d39b6bf3c2e1e73fa2062bfb6036ea948a4c316208d6097bebe5d66b7bded70a3ad79803ae5c84a40526c6c1effd5228770a52a2021a39c95a03ee1a25c8533b185f172c0e48939ee67516e5a3029eda3a0564270e258ed3becf42a87790d52fb1799b2c9dadeb9bce32c1a863c439cbd087c9450f3ad358c15f291a4eae412221a33bf1cab1aa5a6dc9ca6ef664f284a170e7790288ba0fb5d609782d3a2e1413a49aec2133aa048fc5e083b334aa8d52723abe03941ef48adbd2ff202773a39e8acfe85f775503da84464976a37188a763f8cd003f7c3f2b271f15a61c638fd68848b97b89c02928cfe75cc3ac854b92e16c630cce1ca32c17f8167cd819c5934b7aba40ee960420764be3a82b00e0bf8b020c02987f5977c86daf60747ce28534c9ec99b49f24bb5e2e6affaba8941f21773f00aedbbdce054905ad804eeef22c8f5a7d24d05c72b3c7ed7b6e8fe3a7d4c2800dbfd4037e5c10ac5b48949954cd5e8010790df352aa542a028eba35767a0d6206c3016eacbde2ca76ad09fc034d6bbcc8fbacc3301486c05eb7f9c88cca2c0f0372ecc424f64bbb09483dfef29f872e4a85bb3ed78a0a21486111ca534f4033053c726175f27fe111a4361bd5bd542379fee5c7233ffdba96c008ae671e371f0b02f92877ab9a3a618f665319971ceee180a60d63a23ec019e092e8b14a36790371b7e5ebd6bbaf69e52a39c6b9ffc1375ddd51e7a6aa495fc2797599f962fc0e8e1095c4a4398bca8ff27d74ec61909022ca0186de3c2b8baeb15873be11520120892bade055e34ac5990bfdfc8817a42d7b53b2ec160f6649f7069bb93e0000f77a71f8894f3671e1e84c46be90399302128a3d9d28929e5e279b06ae3bb7012ef16d464cb25ff3a2172116f3ae5d9bd92f94c2efd6fa29c175e70043bbc408911d0864566fa53562617bbe7c14342ee83a57e03c6cd9ccdf866bd5063d6b07cefd5cbbf2408a961a3f21430ab675d7ff7ca478d61f1b0a2da9c11c5fa639008de56cb7a745d9b70033062eeda76c3d87641f0266f0d0edec514b03d22ba405f7969555ef6267e097a4cb11333b5616f8ef74065e5628e5b85a160a97f9720de77c33e83962c171b6b4dc0210f76b688028a52676e34a7facfff29c61b849064a492856295c4b780cc3c1653868100ea30e2deeac45717b6f407e501485690c10451fb2209c51b38aa2b0b8d26245957145c852ec20a7ed0b4c26fe06ee1e0790ace7936a0d67c51e06804020b6cfb2a22b2c64a561eaa681f75853ed1c7c0edf3def57e2231fbe7a08662d9bc7c47aa778167ddbcc67e6c2c6662eb878ad0eb6f4cf89e8680f282633173635e8974109a226259a6ff2cdf25ce4f3979b31090337b64fcc55c53ce459bccd4eb93f5e8962b9f9ebf61b9a7fba5a8632f0cf06eeef432e7e6f0b12af796e61cae79d64c4c2ed244a31c6c15d67dc0d7e2212096b32470564b890c45887fcb9f38b1cb99666694da8faf0a16eaa177040c606022f6bbaf7e06b598bae372216653757f086956214de9f81f1bb1e7099e0a4710453931e9fce5b4f4e8668d36abf443b5b100d65000391adff6cee730dcfc4aa0d8eef3c5a7c63fd9d0aff7337acd54d05f136c00fd8e3b051f7c8b9ee8e7b4504278de00c31c46681e585af09c4e33b5366a68d8982d9682e2017c0e7596fa40f7772f48da5cbdf2a518dc9b982967d45a725a451620c29a4179cad5ebd07370766e44a8c88194eed430696033215f855807d290666d79caa039b93370962ea0dd97a0b5273c44485e03176cd5730d8cdebbb88220b2a1cbd26c9fa5e71abf90fde9125c8dcc40907004870bfa95a0a60d45bcaf8618c1e0b4925e22da373580c350bdb27c53398bfaf190e7b4ec5400caba7996b844484ea7678b9676e592505fff70cc9e0935c702808c71b86b9af9866fcbd4c6d8f808204a52eb824e97f0173f32a5ee91863b1012f3c1fcb227c9b9def52d22d89c6428b1d958bb47777030c87cb1fb9e30106e26904a3036ddc796e1be473c9774b822b903070d3466f045ac2af2a928ec5b6aa976f16e2119d2239aaacab3f6e545f68cfea69b99ca3060fcba654a42fbf972822f33b637c1b784c540d0bd7a23738a5b23df769eb9f040c40792cd55ac1e87ea293e15074b10f7fb12036d1091b10b6f5951a748a7e0053c4740d781f80b47090dd838af301a5544c20b773eac8f41538cc6bad8f010b60f1799dfaa41d84b199205db9e50e57dd851d35a8c1e17e47d7c52237d6350a5de4bfe2df89855b537ec211f3080313af6fc35cd938ed5d154a5bc7aca8d20ad48e5d46fb75cc41e01da6ee5eda62ffeada83e4e02b3ab3620d5fbbf9827b0db1b2a1f0360251fae36195f727c03548b10855e657f937bf41f9d3b40edeb505fb10609dd4d20ade0a006f1a0a12febe04b01c49b8372af25c8a6b579aa1970cc55097984f3a66dccddd6b9e4955fa12429431a3c6455691d545dfeb24ea9b0cfa0572a44bc83c3431785ffeb516481daa6e0293fed12e0976a7804ec94a100030e7e61de1cc3fc790a6cf3d55649306b045158e9576ead45f8f257c2e65dd083c108380e32a48b8d6178fbc7579abc505efebd9191485b10e9ab8bd96269406e98821a2a63d6ccf9de54cd4248017d06651c2c50d5943fee18ecaefd90e850c576ca8cbff9cc606caad44c2b7fc88358510f22081014c77c195dad37ed242022d20bc390b52a088f8aa15daa32cd258ca8cdbc076c520d2bf5ccc420d61eb03eb7e45409329ad3d5dd5cfd9cda6243c3a2ad77e4d661abe1c50de47297f080452bcde560c184c7680dc06358316f8b8d87be588c84f4ae23987c0588413260345dc71ef77695ea3373d7080fffd74fe314d531140abac5d1de4e89762c9200effef319577422c930d943558afc91b40c89cff594810afe22beebc2e8aa58708801b8db1eec5eaffbdd1c16a9fd7f0920e4cce3ce873a9285ac69628d908490b7c589ed64b63e036fe3ab146d06cbf0d2741e24d43f1c6a6c3980874b44783051d351d19d8a021e8222cc722a8f90a0d52e839a72028c0545787b7bf79f3340d158cc9f50c9cdce00787e52e59a370a91bc72a3dfcb8603e605d84f03aec4c043b28c1eb67fffc1476fd66493ddaec4c63f382d3cdbd2b2124c91e2c66c2f0086c3ff0b798729ff9263a78cdee60903b80c908c49eac2d3f8a7a4d645652590e53f5570b8f01a7440751845f228ba929babd24f63f1112d61e9125ebb160b901ec91fa5caa8cfbc6613297c887450c9f5e3e48c375ad54e1359e6297d2ce1b06756e65b84629e3116a8fa3de6e160d7cdef462c309a9ca0039007a01cec08f0cf75c869795267749c177d57fe14423ac814432db5fd89331f1e4bdbcd27e1d00ad1d2e211c3bb9c43002e472b5f66744a8aa8288f2f7a3bd48b1415ca27d7f09453ef4f6ec005eec25b5b1f1dfd0023a09ad619b0f16abb530751fac564f5b07f2ab9abfa503e9d19a7a5bb8bb8e07cace0b4ae95abe9385cf6840125e697f029539de7e08db1dd8703367a112c69b0e9425777120dfda58d452a70cc227b606ee029d5886f92b92a4cd281d00d4f6fe20b6d2afb49c2e12a3ef09fc16508607e47fe171f08e5bff59ee8b618027cb53d9296f91603ec00e1d81b4c6e49f8e0f0fe2ba5a2832510bc635a635c420d43ab0783ce864dc3dbba2fae868ce8cee032554887ae237b057e0e0919f1c64e0fd451ccf9c50722d6ac702841b40353b009f7b86827595c07c065a2cac30355720f504ed5480a1838e8329c51c7df24101942775a9cf20e2020b54cc277c74d85233ba21bc320d93cf813b8bbe7bc7540686ed835d9a1929c7575bf4122d7aa51b4d09b616b5e632a5ac3012d54611800af4667f638b49817501e5301405a23a04b844bf9a7f7df9cb3af51b4a14a4950da14755d049d06dca27cc1302bb85fe4d1ec34551d4956c4a11ede3a6d02a570980d7bda04a548602b34d342fef017e00b97b25bc9054bc6057aa0131b75fc300b8c4aa0f6393eb9345ec50edab0d690258f42537480ca8fba814b41f832b09007b0c1f95016a8f179c7650e3dcb73f289b0b2e0d0441cc928f7d6b332e04de09250a126ac40bc9e2edd99a5a1c89971d7f54580ce62bdd4db045516faa49620706fa0a62223a9cc63b25e6663c0522c86fcc4019d6474d665b0c4deaed1b67080f1711ad045883e426a3f85bbb889c720605ea0bb4b9d8467e6b0446c7a1f102fcf01088aeb9173692e295633e102172a4aa36a2fd69a5da4247e69b0edc7003929e02f67648e29ea773b895770655f76264ac400e2b9fc18e11d0514f264a0337dc79891c7d174b0f7c2dbf0f5f0dfa8ff5cc158258ff62ca464e6c43a755081186036bff7bdca1bf36b6aa1e8666d143c3bd4846c1737f25da33884e17c803a7ec8c29d86fa8b04b8b468da381bc4b17f533496fe3ae485f013967beab080d9911b1fdd033a74c63e9e3543352119d158db61ca7ec0e9f48a553d3de200c04a6dbfe658a8f3e0a771314675e9bc6b1fd238ff91c7e6b2721db748faa65360e364ac47bd83581ff7672d70c98c5ea03e5c01c84a93cf9a8b375ee2fe5ac6ebac690f9bbe36ed84522703ce90376d564feb36f09e29e22e151adb9a737ea3305d16a75c4cc1c7549845a5a2b8b1d89fe954e5272e4cfc24815b245f1f8400079526c8e6078ab8ef68c445dbdb4566c0aa65ed8ec01009e8813ed305e21bb2c6d863d2df0e75d3541211710eee2b304b25fa51448e98f561c697e2a97b4802e6081d43308a8dfa776dcde86f7a9b328f995a81c6b1d6e4348d1b841b3424d8b52ca079f2221c6e8d45c4f0e40cec3ea7867bd3bc001e666fa9050baf62ec0522e90c02eda7c6105ce716aaca33c19fe60bb1a6bae8701e34ca16cbdbd320f4109c0cb4716e406bc0833266aebd8ee831d54e8e619e5c3084b842afbf319856fb449ff8d0b358b99dccbcfbe8a17c67a8694bec961d4222f5ed63d35bb6d7daeaf5791fa31d63a26b35b4200718ce8b1e72e2a03cc0296601be314229453dd58bcc1d4358da3a5b1b6aba5ca90d932f35d0efca1b5b597da60f6b4e5fccf635ffe24fbcaa16f31a7f54cd2488ac7ef921d862d42265ff2a522a910ceffb318cd1a109a021f6411b147ed545a71a26681d007f51b0d0d5643e4becd5608cccee25ff2227c8d0abaafe60ec548367c565c6fab4c9f4afc81960e8b25c3abca3f8e071886aa2bd907b13007c17482c75b96cdc76f57071744a88566c62f7375fa62c078b6d1d23116d3312b26cdab0ed5f5b966739d08adaffcd5ae4bee2a736716199cd5ce6fe87625ed9ce6459cb67999c934eb4b42de67491b30d9f12d6dc90b96cd14d38beb1f3b187fc6dd4e58bc858d7eca3a7d6b7e8ca401dc2f6f7e67f1926c29d79ece702f97fc573381deb1dde3594a0b6c16c1199f6e2f609baf787f3336053b2c6efcf0f9ea6f47533fa652067df6dad5c189978012f9e1bf46a25ca74105277b679aedce0f9d68a4fdd84bd95c8dc786c928e3aa5ca1e66ef573c404ff86644f83513382f5df6883022dcc467fcd1cc20719933a8a51ff9b01ad189b3852503b63856fb598371670e2bce0e3a73fd4be743b1466abfff229a976a1d3d2bbfe4968948f621dc79e7ad1179ab3a324cee8be37b43ef84d4b19b72d87adef6111ba038a009db4a73d70f716e51d9e879f08d26cf4e3da1919ab649c8baa361eb95eeea368d9a22b73f274a8184ae59ade1c11d26b3f284ce66206b74a8a1444d7b51a89ceb9273284ad792af49f7e4723dca59eca61af55ccba344729bff30083e700b05f035861c08bf5a255318f03b74cba998144061436ce4cc81fe36942964a3ab2107b1ba46b13912339c9dde70439bbe85a6dc470e1fa8a53efab7d01e1221c3455c9afd1f70613a8d3765fbb74b3b7e96fa975bf3402bd79bc774ad7d391cc3708e3bb336512e286181c75decfaa19fbee7b69830e7935358911782fc0db1cc4007dc9e64131051d35620d116e033f2c706a9ac4cf6ac7069acba525935c1db9f3de0c88ed03ff6e914bb3c53950a61fcc833f3601180c64d84a38dd0e73ea1e989f16fa94faef326c4a3d6c198ed85d9588adb9339fda7983b13e50a7e3e2d209dbcfa0d9cb1fbc0b3e10f974b83335e8a2bb1387d1755879e360eb04ea427d7d454bd737e6ea08025b37ac84ac3e9221b87782b548ba6d06513befa9aae739da26eca222593ab49720af14a60e53b1c3d55acd39ab564250e09ac434e893c0fc54c375234614ab992c7d6224d062e3902028dd7a9ce0d88f7df23ccde6b75cfc98783a5bb950427c0800a26aabaa12639c88339caf84f3ba1dc8ed9c63c0d42f8cb86e25f5e9965aa32a8d44e9b0e2ce7d5e244f88a24afd5ca3d37fe3382faa10f43a11fcd93a57564a3a705313e97469d0f9fe01b0837988aaee857a8d20a5e78aa6e4c7a2927a97e6384f7bbb7a486d4424d3775b07ad0d89294f4160cbe1b5774c5a6da936b5962c44e38af6c7511bfc848e9d0cc011897c14383b44d878d2ed096cd97b9c5677417be90f18a3416e02bf5297e889bf876d6181eb9bfe6502209f1ba72b259decb22f4ce87db34fb2ed9e6e13626ab80e79a3580de6ac93c6f1f88822c9c246464a4c79dcf1a162bade7a664f57722839057567159ce88c6dbefd8b50a30d5e42193a6cbb366bc523dd3344c2f697064ec50c28b88f680bd12e7c4b8e56c06eb5216a548acc6a2a78a76590ae5db99eef634f229372a52190d043ad5014e8e73b0c856e1f5f2ccbcd4ab3617e938059e3407c35329971ab0029d55f8162b0a9a165fd25a6d646d5fd934147612d98fcdc5c52a8e1cf8c5d236b5ba6858f17807ecf57d66fa1fe006c0d9455471f51412d54b98edb2b40c2e5d1f0769bdec3d17a3bc072a02017c94f1152e21de79bc21164a0aaedc0b2ec72204ba3376ceb41c88d1894ab1e46fd982971b2be87f4b969497e93ee654b1e38f96ea517b1f7c9188210cc1360c15d285401a5a88218be18919c2f3c4224dbfecf2d13d9442c44eed460162c9d561dda43ef21546b6076e5818161ac56687e15ce8edf5889807bf1cc836af6c20ec2c54632ac7467f84a3777f116fb78b9b3f82577ee20ff4995f55e9f70745a69271aaf413e04524297e6e5808d67247621e7f23b8996890c928406ee79414579966f3abe6225523cae30a4ee4f495facd105faf7c77cbe69fe7106d3ac9cf0f8648fc1bb51630a67658d5fa860589fb693252e311449afce1ecfcbb80cac0fac6492f2cd84fef6219cf2ba13db094ff3473b5598008c93af469c867a3874804be7e40f56811ed0b10a2ecd4b5c8cf67b779cf00020dc347078fc654704105933b9741c1895e3482b24eedd529fef7328271fb021a17806d5c65d899131043b0b5cf5b916ef3373b2e321757d7a4b51da27b232a853a1f30fbbd478ba80764326c374d1af3705ebd45d023d3bc7008a60d5fcf83e5bfdd87c3fcaf70a3a28870aaf06af1fab08150de80cd1c5e02f50b81c95e4c8d4da6a448c60837155591d323b4b9ebb40f39c891604e47dfc33678df29adda190bdfb1add55a03ba42d29e303cd9c65dca20cc0f90b8d36821eaedd01e2a4a44f930b1b8aa2415e8cd6a1a087956f2eb20a776b6904dbea4260ba43b1e046f17bc481024d44dafee6ac9ad416c1853d45fcc24b750e0c40ea681790ec115a0e162b440158a92880daa5bf94495bb312e4bb8dc02a0ad3676c330747d9785a9041da5cd5f1247872d99f03f798c957b5a20effe8540a36492d1ef8317a9cc3911a2408f2384afda9d1a33e05552dbde651516263860af883aca634d627e51192d2cd373cbd9290f44a4e623b3d62bb7002abcc7c030498a928fd995299edbf67323b64f7522c81c4591643c4329a48915693ccf088095dd922db9ef5286d13c413401b369395bfc54498921111392005b822d5a22d0c3557f6e00365276acc6e1e896b5e6b8e4657286aee22ce345cd1da8dfd36f9080d5aaa84dd0dbfa8df21a185d064bc3514edfed02688775424e95e2a0a49b800ae03e986c127b1ba6f6bccccc644de8b113796ca87644e11bf817e673d5fb20f0d63f2ec2e9dd78dd097efb80edc2022508e6b5584cb707bec9d7e191611c206a39e98e220ce4b01e42288efce8a42d9dc6dd7ec32ea59574bc58cf282a91608b83820a43b73a3cca783335b11ecfee7a4afb7d1243fc337031e10b73210150c02c1a1395ad666c0a8a54aa41154908e90ce147015b19caf25e5f046608f8b053d37e5ff1da8816f12890d1f4aeb44cac141cd47569f9e94bb1658b846fe2e076ab23a0613011e6ed2d4f6b843ba4d6accea353a63e8b8e57a7505377285840847d5927ae435ab06ca7f9469289ecc202c83c74452dda31c0993bf35a2407102b2b242dc38661affbc4fbc57e414dd90556540c3646ea68fd9d6d7fe7ac76e049a683cac0de2c0d2173a8aa75f7d0b549043c9c3e8f63949a0e2c5c06036e0055ebb86d832c637d493704d0891aa44c8854f31e9b2f7b10ddc7f5b2d2aedb107ba6e69194a1fddaecc060befd0d096e19da2e8049a81b5c524be92c2fe044c07a2d801684f3f2e51fa1a9b9e41891e3d98e13b702ade90434ab675eebdcb2e027f1850c04c8f393a1f178c823bb96ece8d72600819b2295ecb2d66d068f82d050f2dae079442d84a0e79edb181eeb78783388dff9a119730468322cbd14bd2019ea8acedcb499ba66fe4c2df52a955ec70c39ffe551d0f38aa7ae72e9765490e25e326e493b025b36123cb4475711a1aae97c0f3e483a0e16aaa143bd948c70f287684cdeefa3dd037171212678b48583d4c2273ce7e38f5ffd7dc98ba247b047a3c7e78cab7062868dc5209988af5612dfb1bedae13ebc1ef269b42992cf10dba87ea1205e46070376a596f83b2b65ca769cc6865eebebf7bdd648529051503d27c52bca487ada9f62ae4076ad0fcc95df8602ea049a6ebbb4a344a55ac7a04acaca502f01799fe49ce4694e6a79497863b83fd28614886654a977d58c70b0b4c4ca04173b9a91dd5ea823e297bf74ef0c3cf65cb75992f8f827b5bf0f02e0a7eb47b09dd89d30c96706309b4a27d42b323f579aa75038d06f0c33caaf43e04f77b995f94f97384fad4bf68cffaab43e15237183dad7b7911332c7fa452fa089675ee4f036cec9f616a0e35bbffc184bbbc4201533457b9a31b73990cf3a2048f45a29ab69948541134f14c731a6eedc391faaebc8cbc7653c80fd2ddc9c00f6ce33cb41a419ca2b8a64b8254c09baf8a2fb8e16a941dbaafbae2e39448bf0afc44a617c9c6921f086a52b8946a99d9420a961f742e104ac1350000c7b0270a77e317e9b1909fe2a86af872c64c5eadfe3d0423c2b9eee9a996034eda66bb0ee99f7802e0fc87418176a39d98a550dd6c166da67463e74abd545479d4d21e0e7234dab968bf2f6ade2f0cb1f500a8238d06847fb5c6e6321da2d0bb02ffcc0ef33d1a74140eb11a2571fa45df7a721672796dd66d7eaf6eb5b1a2d4aaebcc0f3d0e47c84e9270c156e629ddcc91aa81277af251cd50b77d6e55fa5730318502482d37485739703d945121a40df16eb8381e718380852580e02ea60aa79cee0261ce5c7d342e550d60d1b685698191cfc3bf0daa3605a0ee8ef35355eb4cc50470b12cdb7c536859a8bb059e46396d11c15a174de95d3f278ccaf843c6a18d0a97ea3ddad9418d09957ca45fa15a7a7ceceaa4f48ac3820ff0c01c3daa81e50c569ecaabc0889bde073feb9b9877a7a9f0b817864c1b91b3ad2ecedcac545508b816a8c36c857c7241e561ac7e9d506b72f53bfb8ac0c035c4442a728dfce909d82e5516ae7c0270401765f4c54ac65eff611d3781b6de0546c2b2b1e98a0102bee1cdf49f4bdc592aecce46aeee62c2e88453521839ea05c07452cb91573b07839d30dff0cad674401211b6dbbe5ae4ce5c8e1c654845f0385681cf67251f02a547e4c0b3803d71fcb36b118ebbd1912cedbb14181633469bba34cebbcea20a943a41ea20c92fc0d900f50f7f4df2348e4cf00bdd9e926beb8a51319adcf50ef363e1b65417af29d409e949b4c94f80491c1056849d6dfbedfebd29925d820aa545e235c009b0a6fa8348b7d9026ec4a0500bb2ad68fef16729a98c7ac47f04740c11f7f0b13851b40b7b307215b000ee498700b4c9c2329c082344d47dc802ffe9ec9f8dbdeb8ae8e0e2bdbf630cea23d843b1dde0ef50e5edae6bffb16500f549a3ce0a4fcad0405fabd9fff476eaa24e4b23b45794dbcc893deacf2f550c8290c26cbcc43bf18ad8d34d3706aa019a3072a46fdd63e08c38d87515d2510de21218cc2bb8c69ea2402c4a1543ea3353804f57a1b0e444d85df983f6ae4d0999ec5141ca34f1e60f6416ae92e46bb31497dd525fb500a56347b35ea3ebd201633a7fb28602b11555abcc4b0c9acfb88484c26c159ae3f62a1408be01b2a90b4ea5a43961a91bc46a2c05de19878f95fb529758b1d40a2e1f78f36895c4ad043b95ae58de95f8fb6eca1d1c918994b62217e4287550a30f00192044718b5108c39b788e9361964a2b6d7122996af04d488c1c98339f4e89c4b8de346a08b40c0b5816cef68be0a2fd952e26608bf860d241f591a9f71c7b2427842b83eea3015013ffa555fcff627b11a7c8410d82fb336808872b937a3d641d8ef46133c804a4756145c7cd28c9deb2380cf06688b1bb4251f69dabc0cb03a69a4b94aa5204a09f1dcd95ea8a96f515eecb77178c5d6f5bee426180813f54a77abe6f6c340a1fd1e8f129f97d08d6e3ac6590cf9c15023ee5b75ed45ab4abad082e99dacc0de72b683bfab9706ae8ce2dfc60423b337c985e4d447fd416f3825fb074003006d91b4065a6f3fa30781307d42cdeb37a3b6a8b04da5c80dae3a150c90a6bb307d0330e69dd0dfcaac64f6c17f501ef2e99d0869733800868585ff8d8c2a1630ee33dc86f47680b673ce7f52f409ecbafa59d8f41e5096198d158868ffabfac08db1a05251f338c1fef83ff1e942a1bda6ad6f38e2c9f1dc14e53664788d8c501f9d1721d5738aa69e396776579995f1e9df62aeb727dada7a7246112f8b9a408061db4fcbc9fa1e8971a8a08fe5f49902567718961fbad2cb7eb70e3849ce405271498817f80ab223783968a4154bf93f2131664bb641309d5c2dd54d501900fa3b2efc55121e85e8acd16bfb153be91264691140306c4eddf978de96071a705a911d0c58030523d13a03b6176110cab4741e0e9b187ffe10d3ce3e6ee5ead0f194183a3532c84c91b8d6c3cf86c201616c7dcb759ff370a8483634b751abe074da52b5a15e863a479e463392d7d08e830a927a02ab669f134c3a2a15b82530952c24101d05d3256419a5072588241527c2c20e86db9283576ba7348bb8af809e07b477d5e22bac92e710590fd529e29ea80770c79eb2c29bd1776af1420aa0e6f6c5c862b5873b86b401586b244500b1f291b621baace65958675685b1db705b29dbedba2baef2ea3b7c8747b4d5fc1cd30247bbb8d137c06d63180cac9b20da725f4c6762b7893fb06fa92e0a1253a97c6941b3c9459bed4891b1a1b651a0bb80acac98f59ea28c686c4459cde6546ec22adc7f2b8e31ba36dae474ac28c027244656a7cd319eb63962c4e1f8b71680299851a5f05854059adbdf3aebdff0ededde018ea12f69845a4967707595aa6b8a3ea1045a3d8158577892dc99c9c0a6a57728a2a2f09729e38ce0726fb60eea408fd4f0367c92f33ccfeb411f7af0135204b5e4a5f64c8db3a1454b9e34b3d2984b5945fea3cbceaebc0b892ffd80fc9560cd7a922c075d1b4a5198f8e2560a5f50dbbc3311265cfd1cbddf313cd0bcc14016c18cfe58da670aa32813ea5f863ab3e76196eeefc3898039f94ce370d5cf074f3dd997eb1b144efcf944c64001651f44f12e1ec9d951608acbecc6f0a883a67bfb2e726875a3a50de74be636004144bf5e71af192228c4fda3fb30402bb007f2cfa71c9640688f4974aaa830969c2cb34920f5af509ca86896ab3290980dc4e93f061af3e3a7bd538a855e8f8967839da7cbc0318d9b125d5b669f60c4aac52ab8180a57ad12ca4e66d37722b6f16364fc7db2189e721c708dc7c04061e982122dac974fb69859e8caf41a618d3386b567cfa16444d356390906a16004cc58ab0dc033c5756b374121c28abf6fb6dc25b2a115980c3d0617128ff6e07c3657582e3dd81d73cbdb82a219c8fba011bdf8f6cd74dab40e24097c068ad070e6ec0db232c7dd71d708b98207e4701c101ab2f5b605545f16a4f8735475e07e395b1e1fb075503eb30ae0d79a63834321c11c8947a9a20936abe584dbf650a1371eebd80cfb6fb23d13403b13868a33c9b97d1c48fb5172e27121b3209cb0eebd405619bb6ac312e9ea7534f73ba65fea36ca176bd6c2e0a01886c5f30a1030ae16e6ed5a9210ab0c31a844c4a7c256c9b7d2586ca23f9999c9a7ce358330832ff66e90649052197b317d5c208a13228ddbe93bb5e1efc8e35a40377f62809e754b7172ca47a8fa74ea955ef92e302c6853b8998cbaa2b9786deb7ae7be70d0295b71bb33806fb36062d39f0a5db8182a143ed98c130c3b5eb9fb0176a1a077129ad2379bae56bde4c56a834a0018784d6714c6a5c107a49d995f7e6fceb0b2a5fdd29ddcdc92a8976ee2fc4b026306621ac0ccc703805045753a322c9070a8b1c8f91c894d23afa9b467d78f3e699a9d29fef43119f1a8218a9ad6324ad00965273b88159a0263b6475313d213620f357781f04a8ba3d7a14ff341849c307ffdf1d8409c3b3f5bc4ef9216233963e8f37ff1bc7c617fd2e7ce4e6b6fa260e652e9dfaa1889f223045b36da57ce055d3876f6d03e1c5eebab3c1e42c52dd0582e3e14e6d02cb11e9a16f7e70e00a1dbab6c0a46dbfffb7681e112be07666001a1178f312566f08c4b027302d07e9f133ba0cce0f4a9e832209fbf9cebe750db3e5e95f2286cf62670af4810f831116c1715f00b18e49befec2bde014d70d0e3ab4a4ac3ddb8eea313e91d61b635f8f7b9bfd85f7ee75ba8afc8454d681240a3bf52fda073c8a335f6b7c6d76f776fe3f4660c2f94b314a613f5943c0ac050b44b9aac2032d53f117b8b44bc260c82b00eed94be6bf9ff344a7aca21ffe6e0f349a26c627f175ac174040aa0de82efad7aa029a79e8784a7596fc746dcacb00e06bd1d8057de4ca12171839081a15b1c477465270956c2752089be6abb4059eaaa34130dba395507e10fb890090045c3e767d85c9afaf167a1f1517d008a8644a9bbe0479cb2ae6217f597286199491bc524fa6f7f362520fae372c40390925c8b18857afc38b10db867a10fec0e15bac46007007b4c3583a3c064c4ad23ff431f9e85d15a37b4c58cc1fb26bb80e03223831b932e3f8ea83b4359102b384d9137adf5d8c8572b5e96ffbab8f6e90f2933207709ee356cba5f5c401a9c7fc3fb50428e9efb779d629d288d84ff053ad8dec99fea352b09ce0d433e11069b4d9926ed1a3405b3c24654216f134d8630123e4ca6a566b20979b39b75a4dcceef23b6e6139c36216a6aefa7f8bd93a3fcc73ec3e874e1e30b28494e255a569d712ed3194d0c5c4adfd950b6f446679f258f23b96566a0ce70f3ebb98edbe84ce498abbfeb02c2975d75ae6ba79245d12927875578d6ee1cd9f35fba15b7312c41df434d08c7f60dfd77337f335030cb85bd5d731346b75508b78a16d65d5a2da356bc5ac793ed665d7ec2cba888dc1515fffa593972b5c991d606d327c3d6ca44d18d0b99f3263248e602e80181f93db914a1aab2e879c2bf160962ecf2256c99e7923ee29d99c9c074b104d594cb0ee9c7a9b5d3dddc5b2bb9613d1dc3f26d1c2383d29d788d29050e5a6fa394720a6b173e045cc6702c36f9bf4c970df249ea706e9c080a1e59a91e8dc432d08dcdd6c8d38b4bded67d1996854c4ca4f44944765ad998c0b8567bcf276a1a5c1d78c98948152cb8c2d640c1d667657beabfb64dc0ed2bc2deff8445e9b986e5cb3f1117094398ea3ef041ac46f977e229be21edc34f5e749f73f48e636aa36547337d3986eebb273510ba41e6808e2f5c185a1ce729536a97df7b49d0c9b4586e256d9551c9a8652bc399e26d93c89a24a09caeefdb82d10dae438b6b1927f497fcd29c382e8b103e193c13f841e8cb36ec715ac814e20b9fc8b78895c8161addb76e08d218edda770b5eca8fd93220e91a814aeb9ab89402b2d51fd48516dc84c8b0186ed183c17b3e9e6038fbcf805be2d612aecd78e1ed5a172ced5f533469461d148c659d3ec2fc058ba2861b3d13cb7d411ecda08b4bd714ed35117429d72154692aecdc537ba9223dd5485e599d74694676b00264665659dd8cff1719c734ea98afcaaac131448e6335a6bb875fd2c7a2e5109582eba9444f16da4fb8cb67730cc0ecaf0456a59d472372ecfd669407db313458b7295113bf153f40863adadc40bb7d533e031f60ee9c85703334ee3cddf87590d5ed1fc3eae44958f944ac68b48999fda336dddbf36a169ba326dad1e6f156c3a92eefd4f7759e4dba45b67ec1e41722ca370c0f75577e58c524c71f7caad99e027f53fc994760cf457881c6e49d37b2677c0d7a864e623d1f3919b4c9bbd99dddf9bfd214af1495ac5772a72a3872e020f7d8b0f685b6d9fdaa76c4e1551bc38724b03a4bfaf3ed75bae007fc7643e4e85f2d46b76fa1ce63bfb541002a266a11eef7d85a2b34885f4cb99ad9763f56ec45249af1970311e923cf979e259f1ee932a2057d46b25893bbd4ba4a4ee8755a4a770367664e41c22c8f71ca074d67c457be02f49064530372d78244fe8ac5dd3789b48480113d5a0717675dcf72ea69c52e1182a1b70f2af9304f6179a3b1de67c9cd1d29d695f7aee3440ba5381eff9b64ec6dff82acbd0ff4ce3b79b09547e9ce5242ee6a7d456c99d2e6c0dfd1f896ef32eded432418820777d6d27a9e18d0e927b7b32b9cc6773918dc1d06f39adbb16be26b0e854a4967eb01e8f992b210f22ad85952714bab08dbac690d325b1561fbd0166469bccdac4c2d6a586298d78a7629a815eabbde002832d6ed54ecec9bf59efeb1b795ed7eb51a1ae1f6d058995158685805a3550261b26f4c50c776eb944df916ee05d89198f72ee609541e3f2328f22ab446643418aaefb89a5d497e179ae4a3533ad0c56eb61f7ce3ab383264cebad0bccd039c65511a5b54903a5e23445386a703560c558e2f0839dadeda5fdc2cbdcfb088ce449a41ca8ca91b6a49b163d65d72a8403baae554d5254dd65ebdf9074445fa5f2f728bb54409d59fef32cadba84b06aa862fd8c749a15969ced0adf302acc2e0c17f6bcb64c4255cd8f47d098a372b41e4c2f2eadc00db6775b2f1f1b5ce990a5d5544c5f0a4746aabbf58846b8e0133ff94a378eec4dc5789bfdb881f1b0d87f436b8e03859ef3e73009df9212cdd20199b20622c7b3c3ba5cbe7c36dea197eddb1413e755336e5ba2a350db0542d45dd17fb3283b08224b0a15521846f9b7d596559e01d31495308f27c16c4fd452d85b97c6c1bc3d970d97c5f45f2aa81969ebb62fdeb2eb0f474032af863e0d28c12c2ef5248eb17e3397a9236fbedc0a700aaf9231bce1d3246c3cfa4b7a10a75295e04645469315e24346a76b87a3523e55c9f2b152cf83246ae5d0b61ea92b8c2887cdf48be05b197f05173393c0b16f3350f5d50d6ccd09331fca6703e8c88b11612b8c33dda831dc394db89e060ec677ec03cdc4f8951b40c61bd62bf39189afec5feacc180ef0eb55bc4d72ad7eb7da3a22768a79ebca910c8f3a1af13733660227cfbeb75b7ac28cdd67ee9672a096dc068c33ee8879f5eea03ca98b963a103f69770cf2af19c1bae0858666d73749e171031157138e4534ee9ea5f84066e75cc1ecab532569f38f39811b3a7416cfd0cf1c4dd214920a0ef47e5d240cf688362c2bc75ac763992ffa8d06774657b92909ab0da5c60251cbb5336fdc0da3a603d410469c27b4bfcc41e2726d9f8378ecf4cb201133a191a386d70e6e7dbd7677d59fd1c8f6aedcc19b2260ddc7030422c7130f024552751dc26ba2a21cf8fe5d1def8b2a26d1bc188341aee837e9017810e782fd83f73432b5cd04b79d5aba7a94c64c481b1bdaf085bce65fd5590f80f0b7e700e40bdc05dec0907f153e4df14f4d9bdb074b740b29c0d5bdd2a00ca8b569913e88aa3a46d88790c28b8433814c2ffb0d4a8f8c39ce51bfaa7630057cc6bf29ed94411e65934abcbaf3e5dbaaf98496a7ecfb4934d3ba3d31334308bcdbd1debdee519b6e673a96d7b58cc6a0c44110d1bc4d6b87d0281fe00a2f0df65d49e29d7418e2ca8c670fc86b9b76c9d784df7d72d30b35e7d8fdc716550e15e0ee665254955bf4afda937f85d4a22aa696eed728765cf290e5392d6c2d0357a3e6b51f44d957b6335a23cb10e08fb2cdb6512c4451c3763b51eeed7b6303cf97d3553b3435682c63ad90ab679751df169e43f40202d3e622a195aa88650b5a047330ec08a6ff02d232221417951507c6a899f81830074118ba88167a0f0ce66503d1819643dfc362b8e56906daac6535d887e4efa2ae3bd1a1638678b703210b7a481d6e07e62b2ddd10e0b21f2a3acad866761a853f46164bff503a060424b42aedd1447e7716077e00c51624b7a8f638c40f468009ade96c35f195f9007f3dd183317e160ad56c212cd8844fc403ddd8422a6566fab977b2575ca5e00ea1d7020002020007cae9b801dbf01484ed1ddecf21ccf274a7f5118f0b82475b7913aa093f2f172f1816bde859592f862587d0617b68d95699dc1c176702000780a92ead8ae30282cf01bb2ba714f827c2273e9501634d04a95908082eedbe54c84c7a531b1c428d82af3c2faabc82c708f7020002dda42e351f2443bdd2b1c280c89b46cd1c891f2211b90dcad37ac6270acf191c00027013c60169d460897d0ca40edab0d86b0d83de423c9672b1a0ae67c36f5dffdc2c020901c65109994d7080e401e4de9f3c75642e9dd076d13f977a63ada4bdd00a5eaae1b96c83405b254d54960280c7fef022f3bceb33477467fd8d81c57ea9280991203094aebd69a3c94e2e4fb2e1ccf4102399881707c4bcdcff2e95f1801bc574889ffaa453b1fe5005703d90d1aaebe8938167b1d3c6381e31b2df50835b1d3287115c45e87503d89dc7578d26fd040d89eddb907b3fd13ab0070a60f571b64a87638937602b8b887af72880fe3e890b721872a5b57153d768fdadd1eb309194078724540eab1dbbc60ae8b20dd3ae044b855363edc6aeabcfd8ed4b18416aeae3a4459c191d9159c5aa39da0674bd05f2b3504121beb4e95342f566b9eb265b363aa782e8c43e8fe2ccf091cf737010518306796507f5bf559d25cc6433cfbcab24faeb814137e4e583c3827e040c0d1db2d6df674a3c185a0b85cfc34bea6cd8d9a4abd04e8befd2161fb61fd0c60047a20ad5752669c779da992396b52a61615404c501653ce4c28f8e6da3d8ca0fcf2d0a526c1b930fda9cb3ab31135863a3cfdf44d2d85f49da08ff0451d12e0a3a13800b40236d598c95417e2205eb41412513ab86af63fef7be4c08ba2e12013478f91b3dbf59194aaba03cf8ba31ddde2160024cb148a73bbefc6200df230d02c4d1ae17032797a947b3dcdadc87ea6e521a8ac66b741881416dfbc094470f3d32b197d75391e2ff5a9fcfc60ec22744f80b0fd5296aa9f34b39b30068ba03c35fb6bc15473e0671afb997b8dbd37d4f3fffbc62da23308c089c329af098031a8908f369dcf921ed3958a6f3f4e60b03eb79679fa68687877d1b1ca39350082e0634464b4379b7cf0dbb631cdfd4c7b61f67b38efca19eb18856330cab5d0f2c6ac38156464a41d4d3d381ee235bc58951b6c8c8b2622b97254066d74f430be0264f81e5a8e2eb96d44b9f95b4bbfc8a08526ef11404301eee4d956b12010e92608146220c14b3788a768998ee810517c4db4f3b328e29b46099d16d6a6a0fa128cb883bd4f1072b0d7d8200eb98c562f610210fa88914932309db881a1107ec3baf1a9a79a10317043baf587bf1922d5631efed5ca97d9d62f667461ea80a5a9ac19eed0b8a281e95499bb30be89cd862c7a6c45c14e7a7caf6908d03270d8391e32d01367c666036079ecc52d62b114eca2de963120770c42f623e6d14054395a004d82813aa206ce370fe00f7dc942bc22cacc6b63289587eabbceb4d0fbb45be83ce81890a44420998e248fba53b1c2fc4f78de08d4c47fbc9f115d70dac730f119947186abf5ddee69e5e476308d77f87e1c57f2afce3e35275747702c6fbd30c5e354dc029af6a8db56c8e9e55b78b83c86d995549ae160299ec5809bb0ee1152e2123a84148e26f7c19927e6d0d88805335ada37931be780892f505d8a99c79f41f6ce6d98d7f2c4ba21e71bf42fddd1a3e53a41278e433f289bd012642ffa6585e9baf533c498db0f3936b16279f2599a85c0011fe54cd43a7b608dbc732f8b56227bbf69d45c412c0a158a5318e578e539695307c103a9a12f9024e7be22d986da27d2d5ed73bbf2d07151cf9635a54934fe378ee6ef43a002c0a663216f1c0dda367c618b1f047184e8cfa0cb3d91db3d5e97bebb45782f835083262cd1c5cddce1c2814039ec0387ab4545a4571fe49a1f90cd7d5db75b9a20fc04814d9ce0488b527d86823bb2e457efe1e65b7ee6992902732d546347c03010730d3546d735a188970dd36088b0e986eb4fcc0edebdd5e9c32cf02bd0e5103c086738644eebd0586f57a6edcc24dc94e09560c3681ee4adb16d7f2212b390511ffd88c3b61fd4ce05470ee4685934f7f57da9e34d785037e787d6c4fcc5b09b6d2eae046b4a29557b51f5952cfc6c29aeb4cd90cf6e430f9fb61b0fc43a80a1d829549c63e06ac2103a89f12a9483325f39300de015d522432a14c468e8c04b49391f90bbb3d4117439ab298b9563fd9ddd6dff4a6a91d60dfeb5bf5308f0f7604ae3bb5aa86321dea4e0b7fc24d33b17a61550890ebe43a410af02008bf03b3294767d21cd9e777e50a44719b4c9d75b097b587b58d067fd81573c6e68b047f09b78be66755a024386e578df92432250a09bd0edbd17701337de9c35aab06662f15542c1d977f93f7365a533f7e5158b503c089291011a6f2f97e295d0a0df08fe09e9811178eaf940c578b89c6b60ea058dfbbf0fbe957b15e48c8b62c0e7a4bacae074d85899ec44c617e5212a51a6d9aa63c84bbda0d492df9c920f10018a8b90acde1e4335c8fe648e172865b4e1fe054ea601a432642c828da25f20af34fc383f2373b839ce10ecf7cb1e6152612e7bbbc747b209c0c1fc93384560907cd3d5b38bab1a800f0ba277f5a215e8be08d8ae8010a713709f49f6bf059072ff7a82f9d460c333647e39c96baaacb53a92465d08f7c11a34088ec575a350c79f70deea60f5673d761cdac00d57b99d2bd0194f2209aae97fd88eef559fd01b5a4af763290fa385b7f1fcc36af66f90390cf8234b672dc5a81532b7b0c4201d48b69ac9dd371ce66f8c8902e473f38dda52cb50d8f20dd191c4dc6029256069fdaadcbda736b8a38c52b94c4c1c78e61e076fb9fe6d147657bf4af489fcf0064c61390769ededbb4d3f79f7d4e4908fbeee2ae91ed28d273695467f2cee40f717568e7983dce5b2f0d27327f27353e87b920409c46931632d5f9156f3a830f36d11c3ebd02999681ee3eabfa712dbd39d15f209e88d42fb3fc6b4171b2e50623cded2c4f2c5caff91dab0e7835dfc3397d07b8ff85e4279a1d3a8766ae600b94cb7ee5710959a1606e7adc80f73f854489a94ef0119037c151f8dcb0d79d0d69a6cc21fcd7edf45b99e61c15cbe15e6825657271d710763620a1bd8349800f6ef14fc58a01e13a2e457c261cf0c115c9a5d1e967d0875a60e3d01067c4ef092bf54984f425b6f6fbcc756f49f0f7ca4584de21d463fe33cbb8b4e572b94705b9aaae42b89b88ef317fd7f8511d89bebbc2cd868a6cd431bd7ea930e821950fbda5b61269740ca04382d9ac4f73797412623bb2e8aea20a6a819b120296e20b92dbf6554a420453fb5403f1d1af0161f94a48b32247c074754c4fc62acb2e0d0e95918c86f887e67ec48c0d4183524c670f04aa0d3d72b55ecd35b82ef34903280cf135c78c43bcee312cfbfbbd0451a378e9d99ce1e01c2fce9c327fb8da0869042e245790f01f50826d4164bf851b20cc239d6876dd52392f3f3d7ef63408b8c41d7d1204ff89199d562b30f9b3b23b93513bd84e3eb85f32145f76d74c0bdef877a21be438e67eacf9e5452bb407b601e0398138285404d784f1cd0bf1078ab3ec3bc104eb7e39ba8bbe24c4a8c693f29b49ebc3b5c81551bf322e5b6a08945f12c678d0e2f5265c80d65493a6bb544313696bb9c10067ebb18cc560920a62f679a1dd7b7754ee626d341bf11a6676cbe66cc16e7b1447b6c8e1a0524a08b0ac714432d15e2324bcb09cacc6426eba84292cf6a0251eedf0244b4914ed02143135c8974bd528137edc90f5c4e639b8b10c7c69c0476da1fc9398a9e0c9094b2d4b342e130c66a21d309e38d4adee020f7109ccd464577ecd906975fe9f042f2e8571136197a5b176a8297b86c41ab813400381a8d8233f14f49276f8c8003c1199556033f1d906b70ef0535cb1b96e9a6d3d2a6a0fde0ca6a0041b2fad0a6f410dc38d296dbf4fc6999d6017d2fbd47d5a6d5ca84c53decb4337967f860462d85ad9c120ababccfe36b1875696667acc5b67e95e84ee0e94e80cf982c00e1935fe3ad1ea15d6bd2720136b0b0b43f187a40a0b6aaf6f08fa21ef580b5404135befcfa4c4a5079c46f62c23b17155ec3fa4436fdcd27c871ddabc4f103f074d8a2e73df8fdb4995b4576758d335a954b3125854ccb56fbd1c218fdc45de05a987a40c0b463bbf401ab80efd1561ddf083e9606ac65e8ce48082760f6cc70a70f9efba0a187d762f8651b6df1083dea13d5f08240c7d4ead7efbf0b796d10d4f963f997c9328c54754f9d2b5a1f931982b277db4818e57fec9c329e7c2de0343bcb624914c0060a7eb1ad4aee348de2c95dd3937bcf259835844b672420807a2cc560e96e548a4a3c724e4ed8191fb42428269d242efb7b0862d4170b98305faf2f9d681a9b235be87a72a10dfc8c6e99ff0e627de31963772a3c7a6538306133dd6bf905c2f4ca4a0010c0a741454fa8324eb11f8594174364b8ca74eeb0723e886fc98888b07aa5eb2a44e11858131c7d60d250fc4fd8593c462afb349012abf78e0ac8ff480565139ac80e35ccfdc0a2cfb16c27c2ec5bdd82e0d88c005a842308e8cbfa504f577abe9467c03f88dc835dcfdcf579c9501021b27f42c01525c8d8a8c90880ac18188e86e8ebff6ec18181b4b09c87c6f7f225c7c33f50fe72b08274833aa3abe89cba489b7f64b142d1dd9220ae3ce6e981d2b934e610f908d5b1cb9b4478b13148ab91d6d8014f35970c35a6ca2f1515d2334caafd10a079dffd9f6a29958e62146341bc1a3f1970083a7cfda7a029d7c6319fc52560e55eeb5d7e57b403d5683d0f5803994a7715df2f60ba14280abf150c558092b0ec9a1cab872261785969fb804bf7577db6276390fc245713ddeb0f6dc2be5760cf779861f5e208e75eab7671f5504c0b19c78639e0fe7754ea16c0cf70586bc050fe8b8cd6eba37d7cfcd2655023979865ab3a7bae713bf32a7e89621ed46d30f37c50d061407a8f23944a65043cfd2ff28a19c5ffd1b3dc731405ccf6863fe04aa8d05e805a7282e48c12f83277d599166fa19558c24a820d253d5351715bc07e167d53891a3b8c374f384d2aade2c68612edd6f5b156819076d12c996e86600b09b68cff4eac20bd7843598ed96c16641b68815f93b3345f203c5e40b44cd0e051b749b8f1c96496ced77fa766af989054cc0c3f1d53442c2aec36c69581a0ae9c5479d170b68679e23bb3a0cc7256b670b5f6e2d3576683e31a45ad0609c06833aafe0f42ecbb874a417b9bcf2d4b2b1a5da6f7ce7cd099a8b5d054cb6ef0ce22eb400a8bf19f2c361f75bc00422f590a6e7157cf72583b50be8bd4865f607e834796b2563d9b920cad494663fb7e6e5d923afc5304866802064a6b9ada500bd2328d222acdef81b41deb39ff5d5ee773089823fa1b83b958c94d48fcfdc081936be7342da372b4964ec0eca424c89a067352593242d9978b405a905612c07d5a8f631067b865e12d60baafc119119d7fb3cdb8cd172549aa471e6951bd300b0037cb9a13c351d3ffd85a31331347bd493724e9ab02e588aafd1820e82ad0893abbef030c72da3f0c25b3b8282a5b81e7bccaec1039ac490dda2f659f7d60b43997dd6266d2237905e54be158b18861f0e0ead580551145174bbbdfac28c0c9a527aa26c2bf01aedcb69a9846b8838011e8e246bf3b5181b2a7826d748920d466fec2390c79c5064b145138b27222e1154768c68be04fd5517cf94c2a6c102329b02fa8a5b032f05eb6035a03ad13fc78e7785f69c6689839239d2b8eb97050a0c59088b9b717d2cd7bfbc16d0a5628150c704cdee5103267b3e5676222f0c4ebfa2fa8a67874790a178c857ebed30098f94614aa2a780637fd5777d896602ccc37c49d115a404a637fce8e76ef6aa9132c4d2849618b24b0ac3978ab8ae005c1fab234814c852da70eb838d527df12d24c73d23f9f63e4fdf87425948760a5a244d2feed1c7b78beaf38fa8c2b7d0c17e5643f8451a90ec8d5d5b21a3e704c6b5d8228465494b2b3041c6b906ee30abd4fdfe0011afbb913e76be7e10570e977b266b5a865735508f8ec3f1aeaadc65e0ae68872cf30d94a36ad2b765e10f24ae301e06147f7a3253192f5a02bce5e77700b66802a8326bac9c6bd950bd02f9543e245b733a254af802b0d1967e8560333100a1bed1308b240931f5a263033280319efe6dcddf9cefa8dc7cc0e1a50ee9aede67ca2b93ff6359d08ed0d9030ee834c45942352a491eaff2104214526ce8654ff55a23926afd16f7220ae807fdfd3bec80da0c7ca4318078c0a9d8b9cb7d8b916a7e6578d69b2f175995c6071646349eff16dde9b640e9b439b6e951abd609a1311f78d7905ae86aeaabf50d97cb734efe775485bdee5dee3c842e9a95b65415401c9a74fad17e6b7449930801f6f6f9305ecc3671e03c0a91406a47c047ac3a3fc510ffacfe60a497dd490842101fa5b2dc31a043396f3ae59a761a11083a241c54d2b29ca86d080709e32e8bbb784dae38765b67986b2d8aeb36dac7e8d60808717e333d2a63e1d1c9f4703ca6a3ac3ab76318fcd33ba702b36440871e321d3803ca61e8db9b26a705cd382ede84737505dd98b2029213c069f75e9c750a8a682fb37416fcfb84e0091e5bdd09b0980d80f3522ffca31eb28fb3e2acca2f86d760cce96bb9f3da0d2eda304af76e2873642eef956180845f4ae8da5d39898ed6c820b5b33dc984d0d9b81dcf84a540568d5531c5a1e04eb61c4a23b2eb129427dd1f1f35102a0894f07f1874b2a021ecaf697bf092a73629444ec2fad2a76dc8bf983f39e98762ab9a020e9c5eb201440f721ae4b0801c6c1d731efa7bf368d7ddbb448b244d10188a80f76b9b835d0e06aa6d8751d6ab0a3937ecb36a79d24e1b33109690202be59eb5b9e1ab8726d93f103c27bf86118ef807a5596ec6e14a3e8cfdcc1dd885b465532a9540912bac1fa78b9347307706968b13f831adf7b9316324842ae24535950fd82a17f5509ea063849b0b55b475e8636ebc9174e52c776b4d2a392275a4ad96bba1ed38ecbb113a5381e9aa34d3792ca94cf0796baaa6dcad61c7d88673d1a8d27a10ea2e599c99df7a220aa13c206cd131f2db74c5db507d1274c53913c8bdae69a2096e2a547c553da665d04024662056d6d69be4d6b3126115c2b5806fae3aec0a137da7082a927c5d35096aa8179564fe4d6841cb85699bce240267a49d7a74fcb9a4d186c3aeaec701eaa7239438d7c691c888ebc288382711cdbe72b703f1ed6af5515af1867dfead58968241f7736a2259512a5074398f620f51c65876576c69f4b02f0ced1ca9522e293c39298e54b4e6ef249c311f22953c59cf1d3485b386760237c450146f04cf2cb21ee4d1761cee628e1a6156a3ad9af2a75063ccf73746ddd1dd945bc98d3b6870da94dca1234c2b4556d905d3c22496e6483a783a393ae512b244c591618b2bccaf2703e84e8296a42d5b82445819aba91c18d02d6bc5337f6f3472661e4a0d96288baaa78921b176eb43060e57ca275373604a7c5856a53b75c9db27a7070caead5cb4bea3360b803554963982047750a743f20f201c75f147a5255ef8e4861f2fd755e4bbb2e54e52671323c953e0d9b3999c2078b43ba3610c0a42d46d83f2af4d556479109cef44212fa531ab0aa53e9d7002a7d115549e6d3e15f027260d32ba27d6b99e7e4e64df3bce7e1ecd220d3522bcc93de796f411be40d0e9812162dd354849793c4f5fd4e437263c3a8a2cb2d095e25153ad318c4bcea5f0dad7d37632fc29523154c48ebc07f07167fa2d91d7d0d1bb44b2ab64654090c578f6990252fbb7e86c2ef8d4cd4ba16e72b431586c7e16a616bc7fa337f64de8001e44812d9827400411ea6a5c4b925e6770d6149c82c4cb0dffee18c5e1191f849b8a005725941c22f3a75d27aec21af403238dfbccde66af26dc79f2fac3024fd765f6174e2ff1ac76f013b348298161dd059bb2ce8287b96bdcfea39921c62ff48b021139c7f27af0704f0859ba9f45e2b8c1d7fb028380902f4a941f750a2438c2b6d268dce470865cc1b3b9b2d2a515820119a6642a3e31a7756f9ebf65283bb0329c9c1d8e1b88ec493dd9eb3e241038ff60f68aafdadcc3d60de684e1a58143d3675ec8fe8c19d45266af40b1d8afada80f91bc90ae01c683caa45097fca9aa37be7a4d53be2cc3c01b6775bda70c902a1e81771c70c1e067bb844a56685f62099189c2c720753656efbbdf9c7aacbe0266780e7e9414324a20fb470d815a76d79d43c1d73875b4c6a639b7cb5362b3a0065b7430e302667b10542c7dcca363f90ee95ff2ccf1227506bf5fc69a2cf03ceb1d9f010dab201f0932e33b5fff3e510cce6445e27427b106c64b12f19b0d7dd1bf504514f5a09ec01aee405035e3acaed1cfd08f6086769c72101afc7fffc302bfb98c64da609bbd0eb7cf9ef82cab06ef6a47ae3b72ce8d230ca2861cdc124a9cb7384c46f95a9ff7e843379eb849275ba45ed6f58412edb463bdd0d6e400fdf448bc113e09fb376582b11e612e1d26aee7c4f3de247de42fa428841d5a001fae34e001a09f71baf586849ed21a7fd316bedc123db8d6d40684df493bea83fb5465920afa5be11100f3a8b46f0368932b7b95a61b82f586b55934401bbe0633bcd9f7b9bc581e053e5584d9098bfbd33cfd033a2e186be6cb6952f1102233deb841de042e6204c1ee335286175a09ac7a6402fa8599e8ceb5435e2840891108fda33bec2cc9a65abe2b9503bea418068928df70830cb8d89ffb770adfb2ef28e5468d14733ff320ce4d4f5de22db73badd45f6c6146dd730f5e5d5a9250bc0541c8fcd211219f4a575a64ed910f87402e07406924c711c156a219ce244ee9f74db8699130084256e71e7f76a8284429e1dfe1317a38f8a034e78f5d165262537c7f8cf26563f225145bb3c405ba1893a8ca6391f888aa956cc24384d83d5d76eeabbb6a770d5846b1982385039ed524d9385027d46d254604d37698d527839b55825b0515198c808edd1d562f32434ce5190d1795bbe3bd745f5a916f44a84e520b9b351dd98425e56a3da9102aafa00e3389342a0809e8099221ab24e853361b311bf393eb69e6506b15dc35320b96a1a46d061b2b1ac4f39224f9e0e9b54e2d7e255740452d90bfd0e4d460c3a9ee5b36c8c1a698090d1ed64c3ee966a5d7d04eb713996819a5291f6cc3060cc4db681fa2a30056d53569fbc05806912d7712770a5f739a67cb19d996789d16ad08afab2158ea3fb252a64501ee068a8b1354c5e06e7c7bef1f1e81de728cd26e10003f8a09f656fbe73176e7ab4fbcfed1cdc6677fda9994bf3317d916eccb975498f8833f065355c19eef05eff27207493352263d4279378f98c857615adfee9f6b8c3a0b124f4b3ef68a205810800946c14aed3bbab4812fdd8f9cd91e8418d407c492f0f529d7c46149b0f8971d0df45d85b019c2787b041cef54cd381b3d8c8626ed24275d1598209aebb8de730a34c52020829c6cdbf01a420ca7956500d25793807951806337804ee619395a009083ade8c42a35757693e8fd4af3f4dc765696489669380a4b2420239791ac0efb8c6020feb964317b977b78a9f23259dbb60e9e6995e6cfcf5996fed2983f0ea1ba29b8e0ea5748babab84883a3c2f46038d07fb69d686cf198f74ad438fd0c1e8b046b4020ceb5449916dc429157290660df2ac2445074cc7695739444f308b261ea487bbc0a537fa1cb1bcd0aa0d268dff28e7c05c3c500aaed98eaf804088f61bc732af5ad3c46d53c389596e80c83935e3de6a5999c614abff57c6f200238581165dfea21be7039e47dbe783a92ae13f318de2397f08a9f0c830c5df90bd3d3730d6b71784d4ee9a68b03a1518ae9c5bf9bd463f6e1ac67fb0f2162f10d42ef0a0bc7b129b40ae35c1317532c8e443bbe83b7653486f65a6c4009c7a20c367dc94084c57f5fbd032f8fbb0262e3c2b1bffb54a7610509317835a27ca00900157c5271fee001c72a400ef34e8499890d0e784375fe9589d0aa1e6892f60fcb9f5b90b03556288feb695d0dcb289fe5790172c0ad9527e718f0579df58a0031f978faf186065ceebb1ca4a011fdd3da9d68bc60e55e83651b7134054a080d9732986730528d228d471d81f8adce76572c66ce85e9faa5be159e7cba9e1d0296ddffbf1c03d2ddf7dd2042657da9f7a55efa8d37504159c958c4c4740cfd07a81ffaca93756d062715bfacb474cbc7ab980723caf23ef9d353fa8db7da380ddda8e7e1c07204eb06980ee64c695402008d323606387bf075a2fc176054180864112c1b096eb334a844e95df4b18423a4a9b906d1449e5569bbba2b69ecae06b3763c26257498931aada4f59b352a3735ed343b5f8dbcfafdd704baa2ccec05783863b226ea7d9299eb673352da7c2aa57ba60b9e94be2a4582d07a40d5210c4c375dd915e6c24580ce1c476fdc007ac6935de68b186dcccc9ecfd006dffa0dd60e423bca38b70d2ef232b241320bfac12b265da1a228388e8480ed90b1ef0f4f4820e26b8c46701b8701ccad9d664063e022f9d1ee326c37837a3011eebc038a387ac6fc29662532ef5956620e3086f5e17279e932b53d8175846a59ee8d0a3307fc4ddc48d4e74fb338f2ecd5acf21deb38a37b3ce30486f36e9e26c25f0106f4a9151ab90e80158758e9afe0ace9d5e4c55f436efe1edc0cc81f45c4b008241dc19cd60eeaa5a56198ce75781d9b3ceb91202bb57254617726794043bb08c24d2ea7acb09d789a8bf771678a4d9294ed3f0028eb7a253dc8dc72a3b29b08828294d1627e45233df7f75b6c289e7869a65cef457a463a792f6d8763097e04a29c4eed3aee838731ed5cfd877042f241403e2cd11143f5ce7c41a4693545048666bd40b2825cd26334c42eb89d657af8c4a6b1bdc390b06053b45780946a024cd2e192743415a0030694935f6ed244f9b842822c1c15608218524cee42ac0c55c98b0c51a8eb8ab54c3192ea051d480d869623c26f2304052a11a0fe3d18057a0092988b3677008bf7ec21473d017609e90cc8d419a18c0f51b5fe8fafeb0e3ce4fe4a4d0e40ed3e2d9d246a8005cc97678e1a19786241ddfef05bed07ee0c3a89f1e35b3fc6cace29bb0a2ab58bf69acd52550c952e8229546bc8cd77b40f6ac6c39955143987e6897e3964809ddd4203d79eaab173ac8e75b91a67f7170af81dfb5ff8d1fbd76340b75b18db1cf33a5c50e274b8acf93712d2525afda50c833450ad5cefaf5b7f0d434bb010856bf17b912862fc0fa9d938851e51a84c0f92f2372967e3115db546f8f0277f2652a1f89641b570537670ce128367019a0ee2e294c3249af5b1d8b416d6cdd4c46ff58b05f245617bbafd4a6470efa07c04bd93ff7dd091c928244e5c627a894dc1da993c02b4b31b51707c60aed255ce0c123874696ff2b4eb73a6e5e2abe828178615ab5b0001e4c9a8048b70c3bb3f0157750973b61befc2248a51d23fb385466d27c21a3320d4fa547d8553c0391702029a7ab8bc0292dcb6dd057c379b224987d518bbbb2be812ce6b87c2256bf40539de5e933c3904c26df6c1b036cebeca2b1e153cc50f46a283bacf515ea043052422a283ed99c19ca396dd551ecbae9cd6e538668890b7cb42c3955e28fc8d0a3a74cc5cfbbee90e022ea79d56eee2a9e2bb602316e2c2aa65692e97f68b8b0e23a8b927393ad7197383491d180e89b3901f34d36c7bf4d4bbcf70521d931c00106e7fda345b63602849a7e9c4e7453f57a9ab78e312ebb2ad07e78555cf54034918f694c02e848aacf789f911195bfdea22b83acdc73f03beadb0926cbdfc0bf0a5183d512392dbb61239e011c61154e5285ecdaff2e96828a4aa6018172f00aa442887508bd84a8e5c1a8611ad08a71f677a8e835a468a6189d8cf80fcaa087b6aa8749f806f2645b109d5a3bf6964673e4e7d0f2fd8a2b365ea89c2a12203399f96952e86bd84b5989585c8dddf297d251965176a929de7fd87afe878a90cbb7f577a0f6372bb0ab8cb7e4b90d60e4ebb9c68681ab2c129349b72bad1d10b5def65fd7661384561d5481eae065798f010755ee5a7c9bdd757d65c406ffa0214761925709f93e728c8779e599589130a0141abd5939f1bbe63d3007d48cb02a5e0fd53b52520da0cc5062869f11dd15b571fdb4885d2b67412a8783eafaa052edb983aae708c4cc7878bcf581aaa58db26c13ba4f65c4e1c2ad96fbe788f0f951f9e6f7d78711f83bd2987a44d1de83188be8755be7cd34fef99eacb7c0b0d1a2bafd4d1acb16f182fae2342dce27693b6d18b0bfb7febe6dadf519e12770bee1ab9d1cdd394d6c15d4221ac97f709eff206b621981989656c4e5ed0a7cd01f9c62154312bb41ca37be75e0b4bf38c5ec98d8e296db93eb171ff7fbf933c01f0090d40b12f0f8b1876115ef479638ecd1484fce209960825cadc215d1fe505f9d044c4f3366eb42dc95a3ff9c8eec193c08693b7523b66df0ded201d38550ecbdedad10852816b9fecbfa021ccbe9b097facb257485958bae0773e03e72c0feb4f6ee2e9ca5c5ceb2c50baa88817736d66560b86cbe46474af8e418584d80f6f1f74ab64d6a755088039c4ddb96822bba23d00faa1e73b2b07be51ca503b0b085ba2c9484affe052f587e68b40079c67a6229d098d02a477a0edb166428f006bc03ecdbd0c63fcd1e770c77b22ab87da511002852d8c796fb0ae13c07dea010edfb6200c36749b8dd9e40cf7111e266d66eba56e57fc54bc07f18040f9e10fac32265111d31dd9d5ba2b8ffdd7bb649a1d17b87e22ec3a4d8fa34fefde9904d4652d47cf6f41550f4a19afc8de595fa9c097f2540516db69d74514b627aa09fd7216a65819f053296320fe448f2a2ea765c40bd946c81ba24c1f36896d9b0a0d238cc8af00c3b8214282688cf009615b54ffe8337565aeb56d0bb7712ee80e4d8d984f24efe72d4a90d0fea3b8790e2682c32199d881bd2ad4b5c4cce7970d75d966df61b076bb1244f426822d742793ad564b88d62efc94f3d61405e1060e0453b8051973cf9767d7bddaa70aa932f02a308707d663b24821f8f5c76e2d0dd22fb2917099ac079d62fd5613c9c40af44c47c11cc5a2ab812d916a586fcc03600e2f7a55e1e35d75512e11afb980e5142a98ba04d50ad5bb4f2875f087e2025ae09559875cb641ff862d7e2d8d624677f1e0a84df90302e25c5bbfa5ca710c65ae7637e0904deda37f942b6423b9a45c180a78b8bc5ceb31ce52261722d50ca6f33eef73889a6a1fa436f380d46bdd3c9d67807b2c231298384bdc5dffaa0342fb6ea83161ff602cdbcfa0c29473bfa9391ab395e5a7744a1a1394d57a080d75fc375f112a0077875fa5025dc21f7d46f1065d3adeb3b138ec1254cd9b0a0a91023d84f44d0693a5f92399d56f67afda43199d5e15e2c13a7874b225339e0a9530f0377700faa2c0239911a41de051583f7f4ddb5210e4eb11a0a56ee8a103ff090e6cfa561b4f757045555cbda9810c1c5ffcfc919ea9c3ad5eca566edc03b8570c46e090dd651dd25356aaf0c461ede9229f0cbe13f90456453420f61801bf65fe5c03401c457cd81e06c74d28f2a787a82f91b3284c0cf13370cfafe8053ef82e3660b0a52df7622cff11243f3e9d4ee169767eb906a2d78654c617e708fd104c663d2fd44057effda52d021c0031388a6aac42d8ce9d88692ba0b2bb012ffd4de8a6cd9f207a9f79f04a37fba9d92ff25ebb8d596596f800a3505b840a736b9ef087437f5ad8d2d568db74f6c31195abe65e2b840b49a513d0a6c8c8078272428c9ec46ca0ee1cdbb1abd09478a24801804cc566459ca0b022c477f7041382e5c2550e8ded6bf794559747dac2be0d4d3af1cb1a3b930182a24f021e0268709c4a31fd65829f337f579fa09374634763514ace3304954c6617ec2c46000411928aef181f4a5f343fa518488389ea14c02660939ce8fee0684ceae6ec0cb2e563e8561075a86563499989cf5ba84d09266b38a67f6b8c0fa91bf3885a00f105ae61938ee93cbab80f0687f2b3d858d475bad3d46592de9910060cd71204f1b1ed0ae3c3ec2cac74553c9cc52f752a5e342b4c3cf99cce7bc7b2e3bafd0cfd56a9e973ca9601f344ceff020548ce874e462c80fbc526d4111d0d22e1080ab4aa34b1e90fac0cdbd262ae11d87da378493059c6e402cc915613b87cc74301ac3e4ddbc79dff8c41608450ba4eb63f0424727b403d041152e7ef6539c91705c60d24239c9a8ad9d8685017ea4c9bb8bcfac5ee5c3d39ea2eef8dfaf0c1b2001512a3a0ba8bec147f5754f570ae3e060b0273b8b306f971f860b5f0fa2aac0e24275190d4f66d23d18be7527069502ac8fb9dff7d33cffe9688d00445a6c0091fd6bcc6009eb86beea7cf79538db0b5f66c645eb9e86e11b899319f5e8f240c36ae2f19fae24c832a939ea33bdaac251abf73c304add7853644587b6847b70e108d6737f68313da1ebb6a1094247ff4e614603a168d7062d6408f09dffd6308b31b94ef6da1fec70a8d0b3d714b18cc7d5dc98331b4498c49ec4c4833c3300c998d141dc30ce420ef4a658f3abea5ecf9e4becbe2c3816e690c2b2b295b5805dd7edcbdf76fd685f990d0fba9fb517730391a29a89d990912ecdb0d5011150801187f4d60a25ce040a463043685e5a1945d99a81abe601db5541d3426391706b30f1c9e8c45366adc0e0ce78f892e6500a6ef73bc185003432971941ff7d60a82e11b11a01af2b7a814b9adb375d70b759a78b878c55131245f7e94424ffb0a22ce35dc5fd22b4ae480e75cd87d0116f85767be16516203258b1a4dfc32ff0fa28b9896f98b0da08d20491f80e8777ee13c1099f1620bae6a44e67fb218770730721b4a99ebc6e3f08c47aa04f20de87c7d1e3bc980adb917d8e3b4d05fdf0461815cd8d36da2afb9cb5b95bfb1a9a90a6354b36b0b4c5a70eed654f27ab9026b5eec5f2cd9b10ee9d006eeced46a5b0471ecb7f1d4ddc86f808a279a62570da556fdaacf9d95d9827617746827f5e5da4e3a95f92a7dabe0a03e5283ac5e09e957501abc1f66482e7edb6d1a015023caad5a16f4b1639a8e9ef79c10caf302887e289e78b534bef991730da0d4bb9fde18afe182607cddd70de1a450a691f18874e41dbed4e136e734ec70510507634b0d446e731c5ca37b8d48384d53a28d8112f207e671fc2ee7fe5869d8f9aed2b9d5b6d4b46eb8a1590cdbdd97155d4e5dd3122ebd9a6b2ecf213dad8faad15116c38bc18a1cb611bfd42d530141e1a4db34f7161679c71a612dabf23445203ca867bc5c6467bf77774dfc3ac2a65e237e4e551e3bf0d33ef4ea195fd8bf03522cf8e085ed62936a66b506f60a22abb1f42353841152976dde975ec183b2a53aff80ec4face9e1fc08a5752929ede396715ba1d3581f7cdac17ad28e4a2a585013747f534912a8c5aca8390a3eb60b963d224ec058b7cce3fd3df38f9698d5f788042b178155b4f41a603624673449d30c60d8efa25028089e57cc95bdb658592d8d71c4bde63aa372829e19a6d2d2f285b37949d7b7b9df364da2032ac6da7c6afc94e29e9b96904a8f81af57b3b30d1ba3a3fe81e70489c0de128f4a0dfc927324194ec3b55b3628b0cda3908f149f120beff6d13e43d3f97b8c87a41f048d52f17b685975de52ec57cd9ed801ee0dd6f05ce91b98d473aadc4616d539ba0b5dd8bbeb5a77c8e9c10b754695ebf58197bfdb86f99c824730158725cd5d7f6ae1ca2aede9982ab75a50d4647418d5b95fcb2c9065d4df3fc1e5642dd75d60af6581d5f5a6469a768a14921fde11f195d5771b826c8829e14e273153778992cbf807f97bbcc8670d8f23fa6e12b4cc1a7715906202171f2a323ef5c7f04002d2cdd6655a82e7f55e085bcb3b1cdbec7432918453f55e1ac584e61f25e34dc2516f0f019ee497e836618883ae943b60273ada31f408dd0eb8d60914e9adeae48042f1b81cebbba2b838a3c20db9ac1b4364290c6f908f2e4f98f8059112ae7d0577805ec86ff4948524cc573b8b021c232e3f19a5d2c11cc8e51e14be4c06ff29fc5e1b49944126e0d7c346cee3059b84b1e69544d5552e13c93e42a6350d015a900d6e9e999f2a62e4edf8f4626deb3f02e61b0858669ecea38b4f1167fe3c1f1d279a676eb60c31ef23677c070b9459d19dfc9610db0a1e14193147ea9857c574622e9016ae70c358fa5b17bf21ae4bb8e3865c3b44fb0a59a7fd1b43a67b033b4f22515ca51c0798c605c8a849014b5cf6a672266522df1b7d3343a6f95fa3d6b2886cf89e7b7288e7d27b0af96fa6820b34b72bdeab297a3c78b9c17d99749964d75d8ad60b4e690ad06f539de2120bbd7de2a03034ab61b65dbe39d37e9e21a947f40c3e440a4a3b147a0b4e1a6d90289a0d2ae364a7d5eb67e6d59bccc25700fb01b1c9127ad94202f9bbeef2001cd3357fb862af344200cf7ce353fbd4611397bfb2f2ae952c4abe90135b73fc6ab972e2ec4700fa4343c87bddc4c811541fd116e382fb78c1c31891d2aba319317f9a8af6e0837c054b2e8ec5986340d5e3417a428123e43099807d0789629c85686b1301c320318f71a80d53fecbb5901b6f1ca760c00e1465f20c37389b4fbe5b129020a4f43ec8b8d5f7743f7164786d18dd709f489f31fb643905047aa86e84b9990083d6080ef02ad6405fd271b8a6bdd225e9e0d0fb9ff881ac18cce323426599151ef646ccb591c77bd6b3169aa346ce8d0f3d8539b09e69a011062fc06d6f442b46a30a0aebaf24342d10c751feabd97846c5e24ae160ab6ce3d7b5bb4d071f69bdb02d235586716fbaa902051d4b99f7a63abef31aeb992bb97b6b4a81169a7900b8df4c947d9052c5974470e524bdf752f4531b1afb240125dc409371e96840681138457e448da35cde1f78ee4209d490d898be6cdd13e6cc820308d4ee2b2259f30e4ba8dc02ba3b3fc89e10989b93701c516b88e418932a3a61d41b1714eba3ec5421c5fc41a48b805c0badc6fd4cdd3c5f1ca8f016794a528ba6ddb73a087ca43fc20f6b13620483d8bafc746e5619965c2c7cf116255d88c9f0391530055336716704fdf494cedddadbb38413568f870f0dfe34efd67b6304b150bf46724c91b1e13f49cd9ab80a353e07654cedd2b5d44604654fc9988ad2caaa0af42d33d3cae1f8ab15fae88bd34952cd339e29a1bc53da61838b879b5ad00001c5511336be6d180629ab0f2c5694dd8d70e8e4235fe7e41eab8df6a785166722685159902a8e6085a4304bb98f31b07fc524dcd66e2c12f199289dc32923e1b9b7cc0fb804afb180906b12930e30c910d064347c71348b4849453fbd87166639654b4194a5ce8b6a2c2bb5e3691ccfd5d056ce3950aa2ecc56b528998437c8574be18e813e949c55d67f504be0e01a2749cbcb2e980ecf29d9d911c1fea39764a85e64ce702af829fda49bcb8c855f7bf6c4ae5ad51046f57fafd87fe854e448c3d720a5de9c00f4c6fcd11cfeb924255905889b26d0daf9c846649b3feaf63e75b205c13d7d740dff4a4e9eb8daa83afd8000a53090ef47b0051219cee2c3778c068e2bc04a10253709c19d22814769cb0c32e3f5290f7728f6e676887f0b9e5eb621709af2f2e08a9e4726552965adab95c48656ec667f6036aa57c0383f8287052ebf68f3b328f7d0304d5e682e7aafa1d4dad02874e5ce234b7cfd1798c53cd0f07feb48ce52cfaa34b5e0fadd2fee92905802c0e938b3fbc151c0c7266ec4d611eda0bd7550fdaaf6c9093a1c4d326e885d3f50ba14ffc077f450886af0c721649d0d1108dfa39fa92920e14b874449b6f67f3e8c3b3c4e8d89f3bd81aa13fd0816907a734eba2ce841bbd6209702875911c32445bd41815f52f778f99e94784deedf08e90b741fa77cc67efe6fbb0e9411114adf810759f09b0075cc898a73588cb440d9bfe4c25eaf650e86e256f2171db2f4e415dd5c807a5cbe01cc83e48563d131e25853be0c9e1ad568ca07310cea3f4be7411d4db9bf0888a6bebaad41d852cd4b6122fc66a071b17611391a1e2b7f169ec8aa34ead20862163aa0b2e47ef37d9c97ea09aecd9eb8c4829a472d20266303c7f0b30a71012fc05a5e7de278ddb109763956636f334a8e222af65051812fb24b235648f90843ae65d4b92784bf3567621a525ac422e666f6e39daa3f35cb93179503a7f9091c5ed0befcfccec5207bea3352680c2174de59b0fd1d6ef37bdd7881b2d8460052ecb52ca98d4cf24b6a68596fc1ef4ce96bdea395ed3da4b2a5fabd922b2f0e21fd614aaaf3b1c262084a986e583d724ed5f1019a9035ef6cea054e640f4c04ebb18418e0b8ceca1b41eccb0c3d38d841aec2efeeaa2ca97e55b33ea08ae2017edc6eb9d8bcfb03dc8d3a2cc2af2020bb490b5c0e7837105223641e56d8120fae2612a9393c6694395a106a54f20b43e550626c4046d4b1d7ae7047bf709106223236e6abf24ce5e10580a6b4c2a009b67703997af9a839be83dbe1376989040c2c83ec566d6279737ccc9bf25b4d5456a449728bdb9b690208ec5cf455fa07bbb9ab272cf2098199099e66a893240ed39996a65818a7e12a2c4fbe7c44e00215161d68bd952f34ff853d657a7ec72cca81c5048a0fe36d563f644f36326a0d9e9534284b6c83ea5714018a4b58973e4bcd464019fcc8478cce40418c9998064fe73727b578e7d4e65e40aa1680eb4cb6198c26e9f424664eb395dd95b2aa0a66b75a2d9a52aab26383c2dcbeb4b71c22df24272e1caf7208ff16a5d343a3086edfe2f8b87ab6089ef3edd200230703f686f783a75646e188b962ad719d040bab06fa508e2840ffbe92f856e2a9712f25fbf565bf1b7a89bb8f3804f26c970043ffcfc2bbfa128d57a1947c93d1ff54eb821662fe6dc67f052049b6283f3405fae1a1d1f1cd42f6164ba1e5cdec5b1c72e0670c9fd66ce6b3c9975b8376610edfb6d0fa25b643f3915be5674c667f8c4ca7201643ac6d2b39eefb81443f3f051135330f1f30057736f8a407665be7b5cd7a9cbe8c3e895216e76e19f1da660187fa810967a1f0e13f4a36c7a249ceacaa9c0a4e7d7f6b0769c5031093f65b0288db9bed953f43b6861eb7c34ebfa51d6d7319ddca2e5e00ba4aa1fc01d80304dafaf874ff246958bb6abebdb2c9c2d2d44d8bcf81bf933977d6a0a230099f00396e559b98b02ca9d2dd2e92a2ad851dee51a1f9ba3d2009f63d879f1407dc0bddabbd3e5ce7528a3e01eb09501dc7c6fd2704fcd30ebd9154e48ace2c96a40510006a906edec7585cac6e3d62f3264ffd2cf507775f1d5b8c54da532670bb05a9d702000202000791af8a0181cd61fce11dd8ab31dd0b8b06ad134e52a38cf7b6fe0bd24627b2b1a79f98a9f3f7e6a0eb208a7175a6e8df447ef9020007878cd601c7fc37cc863cdcf4298fd912b79c0ba8fc014a05b390a3d055728d174eeb42706b610cb00f4f20a8a6008c4a15fb8fc1191702000225770960b8f524301bcd063d02815d585e36ce5e859f526a14eb5cefb9d863bd00028918d29aac7c06e0896e48d6193bb94a48b6460eed9a657f7f41fffdc2d9dc222c02090148f9ad0b7355d92801b9c76d2661329e382defb4efcd1bc6f4f8c4245b76e16e5a513f6a35465722b60280c7fef022220074e5b70c4aa02ea8a875d01831c56c2481472a0d0baf5dea582dc165192cdf72ad8bd9e2b3ab29a85589a079f612b8178b7b11964bf2f7abb19425bdd4dd7bc5ef611aafd6c98bf94450b668cf33412ce90991dbe01d3414b7f0a05d2e0cd53bf3328ff1ed4f124e13517a78175e9e6eac31f309191a7e7a0d15922cb209d7181d7e6729392676fe5d87230096c13255d10fc40adc638a151499bbeb1e0d06053294bae7cc4677a9156a8b47408342c86173bce0fef245491150c3fcc208ca16135d137f84e7e39440dd6ffcbf6aec46a76a7ce6e4af58896b5487bc81dbef7e106c03d1147d8ef3bcd5613ca00d2f77f1c5362f31e6305675b65d4b69031896a967965888095a38741eb102a3bff66c5b225889da0b7816a7cac6de710d5d50dcbbcb17d320d2422032143d5a9caaf367c79137e99de71d860fe5feec070ae4182c13f61b097d9cc8e71a6005bd73e0e0fff68b6698ae180261665e0d0f695be692d48aee269fa4e1fa0c2f28eb75907a253c9bdbd3eb2cfbbe07e4e40f3eabca40f8d1edb6ed5a66697177aebe0da4164652af77ef68d979320758900ed00c89098276db5cac202fa95fae9d0b3bbd99781cdbaccbac4f4faa1403bd086676f5f36a976252795036bcb29353dd92e8da0b93d4152cdf3801b70d7b77055f8262dd2d4bd78de5a9fc4b2789024c6c76ce9dc756cf60fec5dca34e997f0ca85c4ac0cae0f6ec76a26cfc585593b98da9c3359710d90551cdb9d47636e20c1fda694e7b11d5ea5472deb4e3f70c11137ebff8a70505a2e7cb83e02c9b8700a7903bdfb086e2c522e7ef8a44a95837949e89100bf054807e0b249326bea00a0c37976cca08ac7777651a261b0bed4cc379c63cc71e697d93742568d13fc001df8e0a911300627dd690acbac6ec9264313e286bdc692c1f83cb70a043ffe1033e391d849ab894ad214bdb23c56c5af05660967f3f133f099aafeeca860ab305b49fdaa27e2f3aaae429f4967b29abec8a5be93ccd41a8c44cf89d84250f2a0048cfed7638f8f036cc7cc5fd28190c82779af7334f5ceffff902ca66b2b93b0ca3c23b6e1bdb51055f4a73bbfdffd55a3d20fbc479754956da0097910c01830dcb8937c4b290221f1c636d536dd83d9fd983a0a1e5f67e02b88258f66db0f00c14b16cfc99e7f096f68e1b1a24e33927d2c5ee4eeeff792a134a73f0357034063600be1a444974a4bd5b961851fa4ed0960300961cb2ad41e8541f3a74548d0cbec0fa868da7747e91236b6dad3bda6acdf9d3d821b1b89cd1f107041b99d403012dbcf25ea2897ae6d31142fabad27308de097d1bbb0a9046a17f0f9a1f8d0ec220169e35e986cc23b2b051fa7e52708e1f0a2cd01b0d8717af0d863ace6c0c9478bc2d62a60a0fac0e123d64ee046360208ace52a7feb6dec7533b9d51bd01db905ea69114a83d2b1105a13404359c2cc425eda2b6eb88c2058ef79076aa01418cd85688229a3641505076d4633b894643f4877ee6fa7a72e165b2b616bb07160ad144a2bafaad7b0c0a4aa1f9d5a5270c596f6e8d598ecae1d0277d80250ad71fcef6368a1a5ce2621f4238483d650bd9ef1487525f99bdb1009a25d5410c6c809eebbedf9fb9af483f1c2bf58a6ce8f1f473d00322c58c9772293d0e2b07be0e552a14845749b5ffd4e7e4e46d55344236daaba3931a3fe0314c5d713008110ade30aef482f788be92504bda8750410fe87a7a4bf83930fefdcabd464d0699e66809dc86e6ece15b22c67299f59bcd6ab349630f76bb13f2af2830fe9d0e1b5fb900a912585aa6a4cb17ce86e051508f3b632b526587799a1d7c738fb40876b5248dadad64787fa2879e23f9556d1c978289633cb0b466f707308f76a00fdd62b08848177d3190e5950ed5cc70fbf6c2d02e367f06412894475ac2d88708130d74b84122c05997ac1915a468f4e2b06144b1d7e35458bd876e6c0c173602e065bd8de7c737e787203e0bb2cd728eec46af0c975fc7898503df0196fb8e03a0f41401a200bd507cba57dbd38df2124ba33630128dc1745b1e15547e56e109346b139fbfa147ec39d090346e9d7b785f7e64791400bb4e6b56df342398ec0317752dcd0bce49fb74620a7703d4ab78ff8c2f14364339e0d14ce3cea04e1f0161f52bcdf3bad9155c016e8b6e74c63531df5da515e6e120e259fa192377ab09c12f4b2d91fd389ff0d6e3fd522fb7e042fd17516e3def457a98e2a97dbe7802f060310e4331175993d85b3c8541c5389ffe2496453cd9b250b3115069b2ed0c44ca134daef2ac3ed04e286196ba232f665ed73bf4a9bf0172e7006507e92f03c3c1cfbe70d4c1aa675108632152dd1ddd1ada269cd41a8c4917d5d34a1bf109b2f814be4074a90c590ae214af943bb3ec464e36aa36b5588e215f5714f8d4019c98ef973cd465881aef0bedf7929059180427b905a6363e7d359760e928ae0a7b69620051f8559fadc53740fed4691c141b9953cdb5054534e3d71a0184740cd74bb6e51230a052ad226945322a70fb6ee6e44c469fb375582c86a91e4e4c0423ae80ca2c425ee3a77b316b0f2970cb7fc7457160caa68912e0dc952ea99b0b32458798f9dcdcd45065b127933d4a29e45cdf7d4c80d49939f3b4fbda8c8703492761ddcb506a0a58f1ced8241056109a06547f9f5b0f6f370895ae6cef310e11f9a63dcfd0d508a37ce9971319a06a92f6de26946bafd4a8f9b2a6251ac90c7057daa21a8203252b2316210850bb963c34c640c1298f5833bc6637d4c54401d19193439734fe9d14b9b727d997df0b34eb27e01efc7f14fde16ddf6723a900a3bb1eb171dcac83a9b42e034f1f51cad535eb292661c0050673296bcd82920a1cfaae95c174c4cdc4056f575ddefb3ba1ac2b610c4bfdd7c3921136dbf4b809376f366ae7d4bd8e4663a0407f1b3c153a4834fe05b3984f3335afffb82ad3002a8675f0d539998765078b766b20742f80bd04c1031dc2adbc17558397db2109b323957e3af9a09652324267b59ea14cc87267d856a70c7b0e2e1b5c2f60030f20eef47d24cb31538cbfa8d516bec9609469d78e99d377003442f05a8d12c208edad37530b896bca0cff95093789b0d179cac155beb54d102892cfece5f79904b9961348376aaf02e7db011eaad17bf8d017893c26e832d35cd3f92b7b5c790ca9b85cb9caa6fbfbfd90da8daff6f315eee4e00828f07645192cc42087f0680b87781fdb83e71e48a20712c0a2666921319024670a2d36799baee1446175470b99e7401e373ab4287208a23af18e7e8fb7d7331ca1d12820167a3359fde31e0cc1ce474a141ce8951253080fddfb4913171e012aca9e0918807859a150309d0e1d7b09507d54a65183813b68661558467ac7690f29cb5e311697589d26b4e10608ad73f72e775584d0310be23c81fd1c4bfa226a0c4dd3884897d0464b62050cdcd129cbe39b4ded9be8a4ed63e907627a315481701ce100871b45960c32e50a1a7912ef7a74c297cda01c437631da2eb900a546c959bf7146fbb394d49f820b59c2fc68067c185aeca7244628e3cb251b5dc5d61745039b0f26642336f7810057d1229ce9a67add21a9cb97ebbaf3f611ad19ebddb5a118805cb4d5ba71e60eafd4add17127fa3b526ce1f3085382938027665a102deb26d37b9f7d4f2d320595e13e5c822e4b5f292c7e235a47e58d2b9a9f02a73dda35b2d18cb08b185809fb9c86564b09c5ebb5897690065def811deda5d9cea5e14e20885ba9f04ae60622f4b2c9305cd13c868ce64b43b113329dbc01bcfe415b27016d095e3ac3080ebaf938e533d8ad133cea4307ebbbe12f718a6be11bd485ee955f4cdd38414a08bc3b30eea9e01387f6b8466f0524b5a5ef43f92e135014d6c679d03b8c1d9103a2f0ac3457f0e343ff9d8362c0ea32a190bb4edbb2ffe8eda39436305144310de945751f062444505de652553fc5357b3c80ac0586454941225cebcbb7db010e2f47d26afd30ddc2a1fa99c2424e19f3c31fda066311e0dad056c203c24a9a0df912670235df3aacd64b73ff689df52c3219c3ffc4e8f2d4721460760ec2c802d8994a82e3047e27c703215b70f7da821c3ec3d88a5c18140ef9be4d7585390b71fbfdd84bed6e0815173b428a1ba62ec3ba078c61d1dff05d7702bd07ce59056a8c6e09a70dfb65c602b7bfe9c04b66a7a1067bd7cec17ae0ca47ebbf2600028766fa3c97ea5a290245cdffc0a63607982cc180b0fc649c5cdc52dbee157f0a5e14776ba771fe6e0e4f3d4c148fb2276f2885cbca726a9461e18d100baa3c04f7c162cf1135cdceca09956d8a6197b500ea23a72c784312511cb950072d440b145d974a88410f7172d63fff39b13a9593a72836181367509242f697e0cfb3098ecc2e5f0024037c49fe2bbd9d7bc73ebba67d52b6d4bb740824c39d09aeaa0e3f261f052faa3474e65b77d405eb0133ace9bce664fa3e2f7b0e3e8b21df880467b2506e35e91c393bc34c7da9052fc3fdadf824771c1995fa40c10c52fd87022cf5ac597b23065361b234d559576192dbb38cd3b001eddaa4ac6ef45189480d9182fb1e2acb5fbd2a4fc61fae2043b6fa99828099dab355457b6e8b30fe6507f66c845be15c2fa75eb86d44faab92e038d46da5829fccf076fde4b5eee398026a9c29dbd57a0282bc8688ea9035ea4ab6846158ff216201d9e2df422c2c7d0722cc465a4170438c600f3e184d7b647e60a16ccb0b1437dd02f0c441364f4108f1c892ed2389ca85140d9b9e918654c46edfee89397075c2fdda18c4f5f97c088e4e7b2dd18ca6e7606e5f1cdef9c7399f67cee55cfd43eed0beb4829cc5290a61af95b57ef4c1aaa2fed75f53a44cbcc97b5e2b7d90508951888fa54440d60f84cbeb40fd5aa0edd76b8b9544c6ca9af96a13433ad601a354a81c6416c82f0c1bb975d5bc7ce4a0c67454789c362eef9d1e3a4cb0ce6ea4965d141ea2a7b90870f5c43cea0235ee00a100206420929e1ab0322d3cb1c5656ed2a2f34651870dafa3d5cb9010e37feac6f3ffad5b216c693a424a93be7570facf5c71813f540a00d6686807b9cd5aac40b0f32109f96a056eadbff5d98cefd0cf0267faa9ab061d18dd88f2ad97d70f8bbfbf244796297dbfcb09a04f6bc2ace19202bd2fc605dd68079811fb77ff132608fbf221f594b5a4874e5ab08cab600c33cb08c7290c8bdc6788c4db2b3c9bf135782dc250e87a96f72d05a141c0c6cd9d34173e030a13331c2b572e6dfc8e3adaff96af1342ec887247f1d8942b2628213fd792de0f3bb4a3137f0f6e4f9acbd52093124cbbdb652968787db54a85f285006d63280b2bf9344f0cf906d47403c5fe3dafbf76beeda13ecffbc73746a8cfdd242560082c3ab2705e327f74e3e9f20a77ed801f61a99a2166961474fea169b16c08ac02bfc5bfafede473083f62088fd24adeb4f522c590aa2ad641cfb1f5d9de5c9b05397aab470288b9e73952bee9f3926f645e6f165f43dbab41085f2cb66c4b0b0bc3fae01bec0524d779bbf9003b0e70f2f9ed6f5f6ff746a5956e8a016d16e504665322b4df260e5c502ae68ccd320db344f9da28c2f701bcd300995f746727022238d5dea58a172a6ef3e20a27aaf158885fc0fbdde612eb248d24e8abf83f089710a89f61ade7e624a95f1073ca06736bfa8af87942e2a0c81d0fa95a058807fa04bf0e242c7147a8ff827feda24c385c087c80476819d8425ae86371c8f60c93a6d20bbeea626d3b78ac28a782139def5489f35f8ca47af9081ed526752e0e02c3b2b24fb40753a9a1fe64a1dc949189fbb53908ecaa975c3230cba7154e02928a79bb2ea7b7a70b273d5c1d1bded6c00a97c87c9d9c8ba8c845d810b78201cd9bff37502021cf08222fabd7b981eb9b24536b61d154eaf44cc1a6ac5521093fe2d1dca7babf1d5b38e8add9b6d82caaaef0909e3c638f9021ec5deeca770bf6ba4e826fab3d9d6b51cac3ab74d2c9c2d9af6f08900904f29d1d08cd3c6a0acfba30dee677b9603cdeee8ddd146257e83578159b68bdf373cf1212221c15098df7c5a6b287e8bd0946aa4699270b4c8160df30ec8bbd8b536142d04f4f2b0d5b9402152f7952d2960e1fab9933bb1bd8cbee07e4a52e5e1ca2d57e61eb8301127c2bba25274d7c655dba4e998798f2c7ed98ce88b83faf77062d66312145d5e0824963aa4eb46b53d0d138b3b20c2160cc45fed55833eb878489f46845a0c3c6d5a60c3530b76c862e3669ad1a5c7f7df4dc943dfb58837bbcedf906cd2e9cc933f38a2ecd8ff82b92617a2b8bca487778bb3616b4ba6ffb12731c410833a3fef47a7a94a76831ff665800e7e5675b8e7b05a453ab93a16951e4091e1019ffe6b3035f42cf5c56bf17242c845dd4eb16bd52ac0df38eab453e358cc8603e7e1e5dd2433e548403a360efe5b3fd62651b90e5f58315737397b9748fc607f80c76d618b64aab86dc165499b72902d6775c284bfa1e96802fabb7b0eb1739e1aad4571ead3bf60c3a2cc7c4cc265eb3556860f59291e8b83ceaf7f0bc970741a4efdaeed53343db89568bfadab96c1ee583ee5954c3189cd92976213858f7d89dc86ebe870c5fb843393b6436b28abf605d261c3bc751ae2df2ac99898dd5397c3d3f8a2766415e043daec93278c24d7c7b04120e3c007f70e110f433870799dc6729f98eaf636d3eba4235b4042051e08250be99631ab9df7116757701781f253df00237025716b6cd97b2764935ac1554d68d2e6cfbe45adffbfa03d9cbfa128743505a02f7a3b9d0f79012792ccf7de66aea1c8280838f09f3da46dc7c926228053a119e81955ae8d56aad1277bf6cc0582398b496068b2a55993ad1293bae92b5f71a7437debba0809caee5ac5c16afc064c0de27c5e1ee72da9213ac0fa4228f775de5ee81927f9ed301ff1682cf80d5c23e3780ffd079aae3411753a63e6115a163a16aa4109e809060c495263ba58cd0fcf8030f17dae4948478491224457c2891e36046390b2f6eeecb758978c4ff90db5333a1cfb37ccee7ba9fc8297975f674dabafd750f1bd710278484c68ee0c995d446240033354023295e18341ec8bf9318c91f098bb58fee7ced12d95dd8bd83f7816f9d0055c75032dbac4166cf1a05721a05693ede66dd450da4a543654801a8d4c64efbdbe065c0111c369b73280c9fe58133a500d9480a240a302dff057cbd7e17edaef5bd23d45b57bfcfb0952297d40ee39876ab701a8543f65f55c3326347d8eefa415349b645ccbebcf783d59b530c333af3390cfb7bb5e6328b8847c7994e425b264031b042f84a1f5829f746afeb2826322b1ebd2dbf98593fafbcfe9e3e5caa6df241787b9272626ac4474eee6c45dc538bb04751d028dc20ac0cf87ae4dd7767167f889bcbdba7b06ad41503c3c64f4234e383f0afd8da117622c6d32a4a0133901a6153b2848a2542d47b7a2356df1799aea7529f21874b6498acfe5e86448c9199c5d462cde213f2d3aeefafd4d59680745ddd67196b4ebe1184bca124033789859050b5b85f12b96acd71135e3708a1236fffd85dab3d4f595aca224ef9afcbf457c64cad11c052c6e7695da09f5186a5b0f707a020c5c8fb432ccffc7fd7e79fdfde9dae6167c7a38acc1e895f1622e68fb31c6dcb50fa3d9411ac8b8f98f7394762eaed2019e2b207d87f86654943fa976d2f3c6c02d202eba732174395f2a0832e0fb9ed98f189a44a92c2ccfcf163547a9afe39b5b9f847523e77ebfafa7b32a759592e88bd3ffe13b47f3aa22fb171110566dca842a2d0c1433060a5c11f9c7d46f93a7fe270bc5108d9b54b13d6a7bfd34a792224886c6fe3317df8fc09157e28ce98d7de8c75d59becaeffba115f944255e7879635c44429aa8a6cc4e6dd80454a7c2637baf1fa20021ddd2aede13d9f3837afb62d56fd5c27cb976fed96aed12394286233922f1cdd321bf23354434697adab1be4c78be71250a214ee9266177d666d2af3ab91eb82e577f03de601b023d512e404258722b1f3af90f272c439babcdf5cf311d532bf2236ed4448034d7b817dc33c3d704aea4a1ba552a1f4a76a729e1e030810cb013ea6d805141e5b4e934b2b5d297b23866e5e53ecb701c59f1180037ab8e8c3a56a862cb7aaffca1b4530d2e791afd8194a951aee8626aec72fd6a186d43141994335a649c5ec1b20e128195ff09df98eadb63f6e0593d388b6166d09d5f6b1d90e6aca81bc3e3029f2072df80e360d9f9b12f6cf55efb2593d7ba0574311763f482b6c3c9ae6decc9ee063056eb891d0d062b07db8fec23702f2f91fa4942431879223a067195f685bafcea95b3f1a6bf58e62f410ebafa8fec3bf5498b2a86ae8a955f4745c30e8d57780ab2ddc798dd2d808d07833d05c62a3f7765e2798be684ea3640a32e736b662511ed5a009db8a6b01bd8c52419e7b6789759799ed40e26706bd91e713acc936cc0e07548479c1d56968e238709092cfd72283546092de3476dc2ef575ecb26f9529a5e51b926edb2ae7a9ebe06c4c8cc341ede1ca1afbbb7706370a7c9d4ef0c29e4dd26bb589f6bf1c3293ad8b2a0b4e6c9e4d597105e01652ae326c0f9e4f694b23bb044d0000b25f0e1c51e86ee64ad20b7485abca1a1f06498fbc0abef5252b4cd30f58a5faf9415601cf199a221eff4fb19f41da700e0c861eab851d353f41771600a94cb0352ad93b9dfba4559694182155624332b324dd741ea675afac4d022b03bbc2d78953ad634d3db3305877f8e3605b0df81feda47d530ad1b8ef2d1f046574d8f123a365449dc1c93f06e0bd62dac151ff024a25567949b474e092dbefc5aaf9c9bbfc004a01fdbad37d223d9d3c4f4a1f51800b7d14d985df19c411281f0a64c0185eb8400e73a4a01ddfa8f6f03b01f0af6b02c16de0b1a701192e149c989630185984f6c0e680015918b2db452817440f9252ca2d6eb86d2dc39c680603d196dd9ef0d979deac3c7b27b47cdfc271e2db6fdccb7642332558c62392bf62888eedf722a507965aaee7162e3833b6c5eb42825f31ab355361cda931a9274804b71088abd73c017bb00444a53f0c42d0fb532fac9d187cc09605a8846d1ac15531b8c73e46660df8b9108c862d92eb6d977ef60912b12624041dc443a70e92f1a301cfb5e9880f67b667c6f406d536ec229ea3c2d78b0bbfe59ad34f24ed21af7858100b2b950aafd62b71c4dfe5148e1ed2dd3c77ea1649ffdf1d53caf3a369eb538a007b9c00cef2518762b4849b7d220ed2079c77122a38cd8874ddb82b455471e9c779040dfcc65af4683e20440dd9bfda40cdc90ede3a88354a5bd045c0027baa94b89f01e50c22444bc2c5837a866848d70d7d10e392ecbbc3550ee1ad10125a9b5b940af13ed8d1da970afaa6fc3e5474278f6636e91fc75263394b71adf2377a06ca049041e87cfa93699a72ac2aaba2c565fbdef64335d69dc8320e1f912f9f006902fe5039780f63f485bcba35c6a003764088cf93563945ff7bdcc30771b33bc401ceb96588a66e3bc48cb1342ab0444962ab7e5de5ab9830c1de24f49525d16803b2719f827fe128c1cf18279449ea244d7d71dd3a18a7e0c235a247e8e7890f02e8d69d326d80e83964881e2b802608f503c508aed90208b532dd6143ecff5304b66cc0bfd6c8687e529723926c92b0a593c2c9be301b02ba9012f1ba637b7f01b0a9b08a17d0836491c8683a0abc6b5ec558568dd1c26ced16b1abf41ca7110de89e3e8a313dd1f693c333b4ab2b1fb70346466f347a71b7e3ee39392380120647dc5ec1b7a2ad612c305de7dd37cfafa2f7d239fcfad96f90dc8f5a7f5a2a0495fb14592bc44e0e548d78042d6de9afad2944c3fd1a44a9b1597cc7d97dda08a44dbe655b54015b4999d436bd9196db9ad2c86bb09201f5a8b495616e8321018f2188ef1d053190bede6645756c204e9212d503635e108a76bacd6168adc8050e596c7d501b19f6224fcc55e3064972711075e27e0424c7dec16009f4450f0cb02fd3ba71d6716af308a60ef48cf675c37cf89a8fdfbe1bf7507b8301a47303050460defacd654809f4e7f452a9426f5a6b363a15591c4ae82e56c7b21fff0569efb152fc5942a98dfd7053bf16022cc2ffd58ac12a9c331826d53c9b695f00f7987d16d72de907cf03792fa3c5dbb1c0d321c9694b234400686303d58b77069b4416e4f3a4e25e04cdbd5de44108e4e97814679eb5d200715b16380d11a70ad63cb6193d9e9a89ec93f18880e010f769a7fbb07fd86ec44f2153154161c108653643a3dcf7eb4365eb596b0c5476ae3a00f399b128bddb69cbc5e5b7dcbf07cdd02b1a85cbb9c7cd276c9bc9ee7a6a94507a63c18ad1cb4564526f0f5dec0b95e048a765c26a15f88e25975e4e17cfe7250ec4512f8f5019676b77dcc16b00588b0936194fc3721a0a24a00dcc3c986376c51888642ed6d635d513ba8fe6023978969cf93a387395190357eeb46f023393e9e0e0876ebfa909a38eda46cf03f2e602a10162e4f6e15f1ea7319d3e620cb7f67e35f081aa4622f05969c7d80816f797b5c8c69cf633de78bbf521e40f3e0576d4fd77d996bfab4b65194f7a011f76cf560a38a46e797b7d9e859e353b67931b261703af3e64d3cc3c2dda640a9a97646c9b66d06d013d2ab13b2ec86f7f443b10dbb7ff2e87a7ccece536d30a2e3d40f3fa42c0e6734d4ae6900a137a2b24164bb3f486ae4d6e335466fc7b0937ecc02980394bbad64bf7b3e82a40be5bbc38bed4e00c45b57b9a7d75837100e2a6fb912f4169580469d80161da240922e8b4de966e94a6bd7d267312bc220fee8f5f6ab63d017ae25c4ec1c17ba2785da6b6e34de8ad055f17fcc8a4e1290ac8074ec192c5191f561782c4a92ef069abe0afdf3dd06bbabd0829b20147e003cb739f559da2cced550458d38cdec591b20798942494a7ead216c5af6d92de02c8ac4968236a1730df214e7d1864054612527d89bef34dfe92e234168c25120a4ce2174d875048c57225cddb3e748d821ed5f7ce7afdd546de8b4f25474cc600b627ea91aeedfbedf032378214d343d507f914f979c05a3d56bcf66190846c0bcddfc7859ef1270068cfe4edc93c63fbe1bb8d0d06ea7b24a928b7fa6e2a70010b989e0c3ddbbfb44f2cb7f0adb7e653b5e6c1ea121dc6d9785f5730d2bb870c817170d5e160e950e359699557ce207934093d879c93cb31599d05d8fb323e0267e5b41a4b07b829b99ad17ce0ebbb36f63767410e6c9a21be14391297e69709408c8c95976e56da54b03bff4f788c10ebba1073e4d878a8a0d32ca322b42702f2cd4d0efcbf45d99f5ef99fbe53fccc335feee1e95d9340de87998dd7fa310e5aa79b2c493b97c2aa9b5bb8ab8b1fa23c3f3a30749823b832620f3e98802b073e26b1b930df30c1be5f8ecc96e176b8d280edcc12ac4ae5a7962440563af601ccb356021d6b82d54691ae9bc14a9741f6136d63a716cfb045974a67f6a7e204e434df90f2ca278a363be500dae2fa5623f39502757440d58875f2b063a6ed0d740a11f80fd1fa6d95b92985862cd238bcdc6351d7dd04110c7dbe57f1eeb901be4c51662fb6303795d2987bfa6fc9225b01da675f5c35abf5e2555724cfbf07f2801b971c32867d0659ee1136fb940d1e1c412cdfe001e33332bef20aef7d0f97bb5c462d24916ffc82ae1b4eb356c91aebe2d06ae9a378739f9478769b070930f9d6360278f5a6c40b575f73a4be72c7e4bb2c1956377cdcebc289b70bb709705a2a32c298aff3beb430542c23bbc2bdfc334ffdecae35d44790940f24170c2f43a19483f5a6886b93fe2a36f5888961b077f4d630cd35b4b1364cfd3a190ab03b824846e0df2137916d19e8e3c2d527511f4c0e6b9b5d7a54f3c73f33730266872f3b6f7db41ef461399cbd28bd3034e43c221f35a92535d48e48d25b5f0fc6c83c61b56c9c691ccada469c2ca27c38688b85dfe65cabb7ceb3755b530c0239edda25f8c117d4ec798cc9971a97430fd6ed83423c394e315a507e2e53420cfe2309f307fe9ff0bc2c6eec11972b99056f7943a79cf72ce23d38cafdcfcb018876ffe7c3cf96e5752b5a1b4c47c8835a63840e2fd15d56ae9bbdbcfc0be00fdd2e4115ebec821f3d7c1bcc3b57e4d06735d095ab64419896b7d89818349406a258e2f2a0dfec79898362acc245b9d292bc648d277a922ace332b6e40b32005cc9e740a4c86ee4077ea96726d0d75ce965ef19f0592195d77a38211bd11c807544a38408e536433955cb13b56519fd3805e8681ae843c20badac35fe7ea3a0cebffe06c3bfa3da8a9a6b99fd7379d37c43784d96dd45b7ad7017cd7573b2504e1471c77d2422025edfd20c7b0d0c8f80f60b94400a19a8a7a1d0eac9ecda805c18e5d59e7702055738607bdb7b7edd4a6609c8a86a6e22047fab5f799911d017f4fe07d6c2b5bd405863a6414d6277bd59d32650a8f191e4fc8fa1df97e0e093c5513b08a6d4330315599e31e01cb4bcc708990b3edb57c52c7b84e73b5050ad5baf350dcb7ec89ac9d07f212264f7536347f9c9b4e9be857cc03937099190532201f6df4928c1ec6c49e6173a97b316f812aeaee56bc88e9f3a2350a84e70832ccc30e697efdde5d4e53f5899fa36f50f6d0f6f924525b1559bfee21927603b95ffeb8ed58a2517753c923ff74a77ae606a192a3220ed6102a906a0581900c338858f5a11aee6a45cf94ff227b985c11c52aa6148b16b50270161e4cf2ed0b55ec56bcb621b49d4f20299b8ecc04c596502cbf151edc1b9083a93708d3a60c78c31aa44bd1c031bd98d6bc397f5da4709338d9c579c661a762453e8dab2b03c32a2d6f25006be8908b13fe967580378cd5f9ece856693ccff9eb8cff505b0bcb88501168fba9851324d6786022baa454f75de3736f3cb639d808d45a3020012def435cec2dfa459b8be0738da1ce797b29e5ec19ceafa835be015b5de62602ca38680653e60d5af001be08ec1581ad628aeaa01328335a3ead375d248232008daf6a573bf022c20fa1b4798a6c9976b76509db7bc60eedfd7dc5e809c5160bfea59371f7c18e9138ef39e676a4a3b965a93e2c745594647e999224a54c2302fc24453c973606f0ebdc18d55f3d2d981fb06b7f9c25f35c186a266719f1ac02c3e078f672a5dcf4fd23d629d9cc2a5eafed31d5127a1265e473991c5e5e12001a39964c12790fc4752e9b61606b2ef829fd9197ffd965c1e8a9ea06ecb6bb007909b9ee6686d423f6ffafb1ef56220afa4eb9e74bbf9b3276ef42ef81d39306a63750a5410ab19a738950e04c810df832b46f2a7c616e5ddd827424dff0db083d6a223323c0b9a0620ce4095e4a3c9d5ecfb42336fa9285e74c220cd796bf0f6f4649d81c7a3bcf9b9cafaaae839ec86be625a76b54fd0206b16b84ded5fb097eadfbf9881b7a4765d8998d5b5193cfee4239e74cd6a717a6ee12aa7710560e6aab0e16483088984e3dddaa66725c7ba81ae428d4e234c1c357e37bab27a005461dd0f80039551e3fbc7336e6a5140fc77e5f0a577969541b305ab17e692a0dac236a65a3c6b38acac6809065bdb640bd312c9b1c3c9bde3d03cd327fae100a2d0c5306d719b2b613b20b9be7363902c8c2124130742ca0cf1f20a7fc083b031b22cbe86f32e5360fb83feac2df15abb5fc5e38059a8cb543fcebd90b14e30e1d5e1ae9b0101b8c3e2e2589f49cafcc50fb1c28eb3c2ddd809c8d4fb9e4970459786cb17d9197c9e9bd7903da57a2759ebcaf85e5aa7408437d0b6eaa6f8f058b671a1f23b29e7eecf04b64c60d0d797fc9db94e3c7a3b4519e402995b1ad01af3728e4cca1ad454dda20730e589602b671355095f736461ccaadc02c4e06017757ec2113dc0832d6b07c69ebb880f3daf2ddfb806d41ed2acf5b77b477b10d82cad51612694fa72efccaaae9d2cdcca141dd96007680c1d780b531a8161d0be0946eb2f7a242b69bd3247b9e884e31c6772a7ebaeaa389ae846d0d9d692c09f01b338d1d538f363375f35d17a596bd03873a069f179cf0f4795e36e0318007cc446d7f8a04be1c7d0a69f7194f7537efab113eab142574b071a85f30bef4031de68ff06e6f169038e117aa2ba388157c4d6881039d8d6d00d790515f35cd07d3d2a6c8cf95f56b084bf4c599da329531612da0ce0f73951cb35b005dccc305b7386777ae7258f12e8dbe55f348b09a0aacfe2dd623929dfe2deb608d97b10a6305b87d125ca560ae571039be59f1c3ed161390f1fef23a55cbd7e034392d06e9c82ea7cd36ed2eea5b5b273f3356406f18487a063d212c55d89cc9723c820e8a0b704b1d99f53192fe41b937731750701ca97075ca52433eae993fd733500389a8e1d4bbfb230b8f49935dba10400f8887852fa135c51fe2972e39db959f00a719854b1fff37b4b3a0e530445f72a498bd32371b89591961b9ba104a332d045140e3261e08aabef51c68fa9aac43a565864cdfb2e282edc0788496cc7ac8093171359522b7078d2e7e0065f7fb34668dbe843c20ae690e3e6134e929d4290c6029d59ea0fa0bfadd3db7bd956bcf9cbc4f81027808c719e32ad2ee0ce7f106dcc7eebb9692e18126b892da0874f3e2790ffeae9202a2c85d63a9c2442c6706dd7164b294b62de4f8dfda6fd3dcc42b843a062a83af7bffcfbe38927952e6047dc7c9b8445f4488c2e6257597586751fd0e846c5e411d9816e2c83ff18ceb096e724b8c891f85b4bb728ac3f65138a9cb9c78fee60d2a7d0f8064d49b1527011b97778efc9b0c29ddf783478dc465659133cd04397e5b380df2a9228aaa6d0a79af578b25e7e115eb9e273e0315b6bf5cac1cab9631f59709b9e8e77757ac9cdb74fa281b13e225a230e1db618f9fb62a65a3904de905f2f5c83ffd14b1ea270384b03a9bd59edac63c07a2898e79d09c7242d138e517518c3a77645648170577eebfea2da7dbc4aedf6e9b8bf05b6ed82c14ff5b35b450bd5220957c159ed4f5856e895b6568aeda6b461d82b365be6aed5e9bb0151545fb8384d668794aa043ff25eb8f3595aa5888eecb7be8ccd74a13a3ecdcfd713c47ae8fd39511b4c7c58b0d402304962cc59e19dfaad5aa6048aceee7cb4f694e94cba019828e2e4a6a8327bcc5f50163465fb6befe93861cce8dc5cf616885d3ddef0d6bfe2d329e39385c97f5fb3c586fb573028f227251d056adf0698ef8c2e3c065161baae489ba5e69ffd9188d49dd666afbb53dd86e13bf1271b3b3eee579bc36039e9e39a68ee6aff81c1b7f6a681ae8851201a013a47282dfa1d712f5b3eef80cbfd982a50c24d010b2b6a05bd9ad427928c238f703b87ef96e1708334bbf3914ae9a38130eee51bfc033789b4f4f1c48bbffc8094f8158f7ca00e26e1d6d860bd028cae340ff3fd7539eea3b440cfd527042f99b0a2454f294f73e46b4a830b2c146aa730ef0aa044c065fbda0bd693832b8b6fa5dad59a4e123f019afd26688e3ed27a1d1a4a53b23862198ab955f154b19c07febfd03191e71507f82ed11ddf289da0849962ee1579197dd005b0f54434bd3794899fbd6dd9f8de664bbd9fc5036398ab0a837d9fab6c73dcabd3d9dd6533b1822d99da050c3850393faec9bd029d5721b1ae15a6bc49784ca73ef6139e679e08e838895b82208364a6b6e20c0ad99c83987063eba0eb16e5b370f2eebc8b85fd684588966b0878d3e4858fb69754b0fc55ddd18e89832a247b08d32cca4d2925d8975bb453b626d3f8280ba6202698faf612811a56c06c4f4a7f475922adc03aa55d63ec073523a21bbcacfb80548a6dc9addb24ce0e931d440bbdf7ef0c9f0dfbe778c3eebdf47df00c381f471fa891880f5b2d74edc035c46f77e8a10429c1d8bcbd5e0eccb64121972f85ff6fae46e9f8cfda6b1cd0bfbcefd8c9483b13b2231e6fd77690d0683d3bd90a0ab6e32c5609a7164b89f37f2a2c7280a26fdc8df79fe464b17a27b024dfeb64b3e59f7765c067ea11e23d113ea06ec24c1af7d220a76cea755b6685960c489269af21e91f0c0cfc8939e94c7aee9a703f60d1a39749805d18c7bd6c06bf55224586e06030fc5768f3bf2adb312f8d6a8e5bc6a583380111292602030af085e47fb137bbd95e3e42d70447b4c8f7227f87dc0d1fcd34d545a63197ba7ac35b8aa3df2b456303a4a35341026b786cd3670e4a417c256626eb248cdf6bc396f095b52beb0cb53e67a96b540e71dea5cd2237ed0c7afe9821069b1c3e7db8b6f41fa338ea7c80aa68acce670c00f77fb4e0ae7d04f2bb2b31216db35836f8cba833f2e681720709987062e53b9d8d2cdee8689f047601e97b4589ef715a7a9e540bc23b666461cb2a06368f98b46135ce9e8e54719868a063f9bbeb51628b5b7cedc7c70ba727a3e58855d678ef131a6818a05be34466b23c3b8f4ceb0828ef6a30d86b3c7bedd94fc331c2722f18f5548b0b006da91598257574feb7be14f175234186139ba70d21ffbb8f2c1cb9b526611579ddf40da04da6d68f4ce82923a4ee37d89eb1b4e1c81ea3e294b3caad39d0426485509357480d2472c5b14d453f41e4b17c635716e6527927217f2fb556e9e250df12c4c6261584fd10ac0b3b6d9f52f474dc024ab0969e5693796113caba83ea1e11502710720e254ccc17728905e5d96620f950f003607150472258760387b3c20a4cbff255ba21ccf9239243b9d2b87839434e3329b527a617109f97762d23a9daad01d6a53fb97b99b8535d49547b08bae3860b5415d6da5cadde95aca02e8737b2b509a1e4d8067810ea4cd0e9fc3cc473bbc264497bc22d25ddaec344d1b795349cf39eb9bcbe5aeadbbf2b7ba4b5cec09304600612fa351dbc57ba9150b02f232230403ea1365787cae1b5b960cbe9c0063de393e5a3edde89ef0fd7ab7cbcf05ab9699e7c6306f3d12912a0a53fed5a38a612aba2ae323c0063ad2106fb0a70cbbf6e21595254ee1c41eb20e3d48b7d93c1a188873dfe169d4c2da493774b1b6954f7418ab464d7ec1f07a31d2cd5b69062039c3296a9805926f93107a179c147d5ed959c8225b403e24d95a52818ebc3250eef24f1765526827b5d819fae18eca1cca2168af836a85f57e572930ca6bc341b7811c7e31d0ab4882a5eb2a53af5d17937f2f7d73b1dd450bf4ef2f311e0a79c287f222feb5788947a1a303fdf18ea83530e4f6ed2b1e04e981e21ecc9e8cf92022313a1a2d9838c3f3c77aa599d814f35e62622df7953c261e398af1bf0eba8105fd720f7436b761bcedca94853e10491d85f83faf3dc043c97988eb6a1e128798c9d581ea5835c8334abe237c2a424ea6c253f535d7ab85fe487c7f488768eb41d65852daa8cd6d6e16827496cab1026cbc6eb7a3148dd6f699036dcc4d73b58591897e337dea5298fbc0b0dc8450eaf8561a9963655d6c8c20e2f8d264fae655dea8b39bf51c9f6441206131858fd4af1eac58ef28123c1496fcfc047266a5afec668451065cadc96cdcee124a0f388b39b98da0827a3fc7a9338662cd3038bab17cc4a5cd5d270c01d4e6c42556ac77c2ae35345881980fcf4c44e7fe231d1a990168ef5abc9eeb0ad73516e9ed1a65a86924c02180f38621fbcf86107787acdfd1329b64a6ae1bbfc4fd486d368dd3677b1a8c5737acc3b78412677d3296112d59839cd3f4e2ff9dec4242621e22305bb893922af9483597c3191215c608bfd6e614a92ad94f73f5a2c2fcf7a5a2c355352556668a485af80f3bde26f0f3139397e9fae1e9a674973a1e0d0839907baa1bdcae509cda32bd0ad25be51527433adca56be7ed660ae397b7a7650976cab0fc84f6c2bbe456260abc7948568c2ebcc1c239fe3d8644fbd7805620e5c0cd1ce04610f58dc7b06d04596e0d4fd9234d648f5972f0a9529365887066640411c627aef20520610a2c0d1cfceb445ae98c4f77f84b9e5fb46f23f2694b3d8f800f210577d3dff889da018487e930847d7937de58db919ee8f19fa726496528f66fc8ab8d40dfd276e20a04761e11a5b6e6092dba7c8de8fdd1ac6385c64911dd65b7aa2ff6477fad880abb3c8e7418aadf71429914e1616dd7db6fa4801fe76c710de62f1980b5b4db02ff943e3f65e065d185b19aeec551c8b43e8e44b032d6ac9e69bef378e4941c082e3183429b79242db9430d92fdf596e0dce1513c6329314871a13cc4fc3f6b05da339a571d59c5a81b7b017cf6caa9214563a0b3b6ac11c893d05e61e7f96f0b1cbd805d2cc5301dc2935c3261665b419cd7930da415a3d48df0fc6dd9a3370987a98c3d73a86a24e2798c8e4514d62c96c16d3d0fbb20a67d42145e7b77e30a657d31e0b1b49564accb72163183be572c81a62ad149b1245920d9676a13b901db93ce56720d9b4ff5256138c96b0f9ce14f753bae41a1686ed7310af96a0c04dc5a83de5c9cb65e3e11db03e65d5800c72186987d78b89b2d1d3e2e382df70d6625cf16362abbb508099105a829053c25d007e4d1692b48a784c9f258772a02a3e4bef836caf949fff6c4675098f928305e4808f6916567492eaa0eed3e430978081261e0f01e99253cba942311d782215ccd14e49fe0f7adaaa05b7db082041fec445ce7b6351fa05c67c7a5926f97a281bab4cf4e94fa3711ae440924070d298e7981d94e9df8ffcc1099eaed58771d647abcddf600c1324193564282b009ca3d615eaee6826868bdb3a063ddc78605d5ef75472fb95ac53489663b098f002d158d9810b9d8d05e49b37860071ea481e6a8c756defaf30d795e312fc38a014922c9a04aecc7fa7320080b0f4efaa015f3f65264a6b9b70c13d31c3ca4f70a08fbb2fe4bc7643553139e61be09a4bbe4ad6df78ad38e15850f03d57ba29c01605e4dff6bed7bb90e2ea74ab8aa75a8abc96a839f1749959a42836c43ffe90c81c2d78cb4537b621e3996bb3311635844c341cc6152aec6b6ea6cfba90c550cc732fb606dfbe91862629bc51efd03b9d875427ff6ca52ea15b3d9cbca5f030c37eb1a34cafa54cb05e7ae4dd69037cc4d95133a6a366b099c236ffce9400702add7020002020007add39c02a2f81f90a10adf8b13edf7299ea606d6810af28f73aa4ba17349d3488c968bda28cf3f8dbbc16e7403dffd1019ca5a51f23c02000782a06988e58201a88119f9b00496f630f27eae080b466638143004f8a44088b83b58e83adf6c64ec650204bfd67607ec8c4d3ff4020002346b2d4f11003ae521ef64c44dc64fdb96c982c39eab41db42f9b1a1d2de165c0002f43e19b696b9b1bcd45e1472674ac1de5bbd20efbef29e6f4dec2fd8ce433c6f2c0209017ac67db40a25d33601a597b027537d0284bfc58712498dcf99938fc9498a56aff265ec324b765ca11c0280c7fef0227711df99c15a8d08b3be10e3d5048d3782b8e2d0df654f711461e2c9edca65d8da9624af875d36ee9c975963ebe345a4d7ac90a71c8fc418c791ddf60a73550da90bab0cefa4f536de6a42f3d8db0b06fa2289aa3cc5ba040fab51fd3cccca026ec73bcd9a10c2bbc27e946df5eb91e1f8d41c44dbcc4f24602da08ffde2b307bb643dd83011b40d30a217b466854c33455d0a036fa29c5ad14bcfe7a003110cb110538fd8139c224319995c0814734888ed864146f685b188b9fd8c924f260850122f399364515216770c8416f51e1d2e276a8d33194c276e8aa8f79267e9df4df98b2aeccc99085525ba2750e5275726e271439d89a0db42239919e3c97904f173aa5308a83fe99fe83eb8e7e8a55dcbb92e11c45febc345940b0835403c0ad30d82159d9649180bfb8ee9322034752007dd78dd575fa2a548eca0e61c440488064f3b5087c4ddc9b246977c69873a38eb87a55b2801aaafc6253f811bf50e9f37e777226968bebb246beb0b628a752b6a18be9e65bbddd0d48cb568c87a098a20621f881549f6e251a31745ff3e2123ca1cf6633a8314abd7f228d5359f00afd3198cbaeafecb4a792e63d9fdf9db26fdf1983d79cf227f0f8bec7bb961094fbe7b26cd1079e362ad49721e16ce90b63fae1bde05093678f67e05aeb55c0a6022b0afd61468d30591a526e4dc242c9282fa11f4a187c7c509cd8ac2ac940b32866414b2609ff22d5f94b5139523303d7ab7dbc3637c94796516349431e80acbae53534f68faa6a3435725ecf2646f5bd7aa39d1f4efecce80030517d1510c9bfb7965cecc8207da4f9201a09c44b97475e8955ce6cac531096e73e33d3008e8ff8d892a0cd38f1b22b0bfa0e1bffd680face74264c800aebc516009d0d90b66d0f20a6c7b241a3ed5e939bb6c47286ab2c5648411f7f5f466ea32bea27c03a3c4cf66f54961587622d2ec9cfe1c53bf9f388aabf6f31eccd2a72c90b3020e69b8a35a727aba056c67a79df8b36b93cf8a775cdeedfcf3fb48969bc94f6e0801c919194404bdebf24922df526d98de42c3f393171babbd7c2e1cfc5097c90e19db391b9b971e34eb611a884ec64b56b19a2b13857a568215f5cc33ff92bc076c6b9b609aaa6c7c906f1b46665e1b49225cdf731ae3d6cfc1672199e9b8e608a33cab6f52346f7b1c8784a2287781540318e42bc6d799a35b638b80bc45b004e5a28f23a2ab3235301999acf8cd13bc1dcca9991b159ebcf4adc1c66e06f505e5e00db88eea9e37e76c3742dbd34fe7b9b1e6271b045cd88132ce9ef0d92503153d90935893bbe063798af46ee25f391de6052e824eabe2fe1cb66097113d074946c4ad96328c917550768b71fbb753aee19d51a33d66d69c8fdd7779433e0c67311c9ffa21009ae4a9eba1c57abf3f72dca1ab95f47d89aa11d8716387e007bb735946fab644ed3e7d064c5d403b00ddbbde2b34445c2f4224aae3bc2583065ff819d0c272d19061004917192571c4ec51ce37bd0e81600df573ccc5d00b0a49eab5537ed6b09c170fa106fa21650e23544ff2ad07bbb24b4f6df55b00d90f0d20578dc67ba940e7ff002806ffe27f4fa87f93463decf4d8d7592d46cff9026836f4e4f93dcb05d5ae0fd486460ecb12d1b30cebb0554b4661a0ac8070190f02b12c9ee21c9c2b45ef4c63b5125a87628796fc177bf51f1826cbe1fea37e04694484194c1014e1484de5a2e7a939db9ea53f906db6b55ad85f1b86b0ce5f0b2d22db51de812c80f422fe3be09b0c27ede63b71092b2824fdb8e7e03d6c160334ccedfedde48e187ce8991239dff05576ef5a3fe4365003342f1558c55f24092e505c64212927bcd43d025f39d10c98a061208699c46e14e95a4e6b0c1f85064073318908c9b5030e13238d93ee51d412ae9a4b448a6cd18d5e97bab84535022f44fc8ca8022de9e738a421c498c260537b5639ca623a882b664be492a7ea05664d6aa2edd8fd8653e9c993f0c00c4d7b2e9285859360576769fac3af5e9c02c46c77c40bddf4e70a189ca383125aae63d2c70b2ade39d2a6c291a37b091c07c6c30874a1b9471bb801f74b203a0285443ca4c8101fff27dbf7d6f69614760276503ee3347a0824299a3acc2c08d790c5f64b40d44ae673805bfa4c75cc0a09ea9473b3cbd6f0fbaa1ecd1a8783426a4b5720148d3d4ab67875aa1ed0eaac0f68ea436c3c9dd3204f1f94bfb3a573c967fbfaa6a9f13dc54631047ad8cd720f188f88963fafcede61c2d289eb3a149aec7c4f87b66038e7a4c0224681121d0d939c46cde1272862c7b0cb9850fc87a2bbd01296f6f800c6215b6b1933c8670d3d25f6d977c2105df3278e8a3bdeb2fc36665ffbe26fecfab95fb8199267320dfcc1240eeff37eeedd5984457f869a6d88db77182bb2c1c6603b00ce52fffb08f4575b5b66f925d771a72386bd70481d3dd401da777a5794335ef6aa4a48df0070f8636d8fa4fb7a944f8b0fd31a7dd9f4275e0946f83d31e92ef24139d037003a2ec3a4e83e0bd5d76bb41e46bdb9a13899b66c20cd3e6f8dd60aaf6814f801d967f46a90dba71d5779b25dd11d0faa3e1f79d66a40a70c19cd7c0ce281a50455ac1dee293d8deb8ade9c63aebeb94e91c68a4598faeda3dde4e76ca8cce9037f6bcb50be78928d1c2cd7bd723a4de580c1511b01a7620e797a3eed576164040d2a317258e35dac515a2d6273499063f68009ae5288dbc2a3cdeee5ce22bd044d811e96d3a26f48d6a8acf862d579912102fe39482f1e8c0cb0c6f90d506d0d16f67f324fe4ba39f78600d230604e33020edcc30a07bcc844938b3e37757106ad14681876e154aa89d323cc732058df61a73435bddb88bbf53297f3f6d66b0b2dc801fc51b7bb4526d031d1f792cf2ef9da41a73fa5434725bf333c08621900b7e0933d1f9e0369405bed23a6f7b1d403ba1f92c52f88b97b98871b6b8ed40aee1f0919578bba556f3f8eba5dd4585f7c73f274a3c0bd88fefedec831667c0a4e769f1bd181d77157bceb02e191fcd73a447327b63479592d183ac82fd0720ba30668c8658e65dc8883f1b7cab48716f43e54a81d97da97f0a431127f3ba308fb3e24e095ed6d7dccb7d01d4aba4c0132cb46b5968e79449ff88ca87a4beb061c0d0129c1e475c65fe562828376c0a02f0b6b4454bc64e3e621af17cea1220b158bc91c24c4c0b4c450f547e1ef417fa835c64a732f5303457a59e8e5d98b0b724108a8659d0c35e2ceb59b765a45e090a27580a8d949e1814d18ba28e16d07d73d07b5c80cbdc329416822ca499961af7737f459d0d148b98da3499dda7d021c1df714a61298bb98bf041a3d685f647d4ef9ef49728384a2af2436b34d5604488875e79925d5ac735cf22af93f7d26ded19289f3df2a3b10f6c5cc80312a080e13a90ce47655f66bbd4570f508f0d84ee5d3263242acaf8b473d010b316e058de07b697729bfd106d46193e9d5d874b8c8d362ceda5b8c0f2b9b8c9d76d701bbf18a35fff95ef35f7c72123fce4b3ec5f0b750ca03f9414c4d7cdc30341b0d8019affd972cc0613fc7cc308979f6140236497c5eb2017b6e7105276993450fec0a8c4ee72ad74f7a8259d331ea2b042f2bc134babf6c8bd7dea746e3208d000fbedcfef18f0941d7e6efe90555386ebff0f6f018ff41507c69d51626a37c0bcc9c3fa1c2d0efa14570332361cc6af46bd62c43c17850dab865af8fda2eff0924c6b22d326b32d484463b2380aa83c9741717307be10548369a894a762bbd086097222976e33cbb08db4d645a78dc0aa53c72f88a1e149294990fb5bf894503bf2c4dd921a783430f67dedf18a37fc494de4c6cb0e85ead4c5b7c10c887190260ccd4f55e627ab14e3e7514bedc9a0577d7ec85968876e3b89785312f135a00360eb13f37ec06e08d81c6430ecda34eb2938ff41586a35588c8fcd8381c4404fe212e07ecca059591cfa0de3705cd4932a2364836fa89626c7d891f89819c0350c691c66d161910a273c07ef9736a0eb6dec739d2d3660ccef941d6e94ae80f2576d30b10eaf768207701f917f417e427428d6116c5fe057676d90fe5f24909105ab7b2a480e76d84ffd7625952d4d63f241c6c9406fb3c19b3c09fcb7e40036e8287ea5b6f5d381064a989d2653c2785d308371ec48552c529f6cdb254e708705f55b3ca5f31213cf57d3a8eb721580874b51e37803ce22956f3330a0aa90f65922a8cb526a706128ae1f07c6dccb63993f2d10f6c751abd2c2b79e7e85406ecb38e86c8c3ce92f2ce39deae70f77ae15949ae8f515b11195bc9619ec9530663c0bb1acf567ec66eb9e1ca64eeb1bf6177c17d83df080e904c11519649d1014c7115aaa0bff17f2d5a15242ad49205ae5c5c8d0f190ac664605401f8a52d032041a125322f8f3c6c2756c0cf2a9964a08220c6eccb826170924206ce9de50a48e0f107d892bc0180a1e2b1f58d26b02336de0c271fcce8cedeec192c0a6e0aec42314a817466d92a13c0e4eeca924c2b4ac99c4f78eb41a88a6a8a6eadaa0c1f2003b70d73f04f65b574430eb32cb5c22196c7b654ec714a97f2d78977ae085d3376e31d7f92c2c945f70b7a6aa6c63ecbd781d6379ce9e5a3e011634abd0f4d8b55165da7be27845a8606d8274f5ff4dbe594caa54fd1d9eaa6b3f4465a08704c7d9480eef3f8d30036d2a449248faa7b38b33b7f6ee020ffc00ff0f432046f2a7e2b0fc65987f2e1dcaedfdf64a3faa81ce4913404288f62888affb06600a41bc8190fed80605f73953f350d3a9f05bc6a480f80c9d201d743a95501e10cff0a35b121bc76b2b0e5509242f6b4719c0c875de7a2af1c4219b1be0cfed00f2e2d455ab68dd65788f964e02cbf6151424e3f353529587c9583f576e1d082069d2d047915f3714e53b0289abeddfff782eb58d7a5052a168c3c6dab606502018891bfd3260febedf561edd436501c32028d07ca2f2af812312d7b2146baaf0df82bd6ae943b69c8091b1fc3d0e74c03b22b1bf81fd152ad531e303e3a0f7e05bc09c693d78bee60228350dd55615c3befb98557022bf7a925278b03c8eb420108fa492093f16b98ccc83b9bd225373d154da86edcc14308525badb3c86d4a00815ba8cf23e594512a3efa3b404660b9a35cdea209bd566170cb8b4ca842420c852756a38d2c421eaec3a500d3556c164d7d59622b4d96acd50889b3edb7e20906bf6fccc176a2d565d2ff9703bb2ae501a5aa16c3275a9aae857d3f16a4360cb31f21aaffc7f86c8746a86995537f54f57d9fa6975b54649649388c509883091d002f080e44777ba26338a8c3f2a7454226c2f773fe50e66c6130795c027d0648115bb4c0518991faec73e29a03b2ab4c7723267cb392e31c1434082250240da6ca504f21b3d85c7c574b76c111de8a0a0a4350b1e9e85fd27b55db71452102a802446d8ae3e82d65056273daeeff645755adc8e651460e39c9b629b512ff0dfbe1953d77530e715e386723cf0bbdc4411bf4c483b4ccbda886c8e38cd49303f53c4377285e1dba147f6ed9de4578a444ac3746356d514a71f6464271fef00668ded6ecdf29b593dbbbadc64cba900417a92196ff7ff6d9707c065ad8d9b30901b822e332a41f21364b981a4e2c64aac3c52de6a29e628339f51fdebd673a05655721e74ba355a069334602fd002c4c61261f8dce4b2e915c2931387847210b5e6cad7ac18f4d22ea17ec89c9efe587a0aa0ea5b4de61445a1217fe97a3e60c4c7614a044c28c2bdece0a10c8a11ea2265a16ebe8af1f3af74c7709f560490b84add208dcee7a08027ce2054d933d946f7e57298afab8af9190dacfe0ca2b0f255992dd6ad9e79735c690c66f890d375670f25fc264f49f95a832616bb1090a6306204d8a5926e9221b9ffbb91ac08532a5f3c6fa7cc583fbbb8def5eef02003e9e14fcbbac799d0b192f48967b4734fab55c1dce54f4e2678d197c56548f0e7cc3907be0f19af3f3f1e867da05af97a9a2539434aaae8d073d72131a244c04b746b4ea5b99012a4071e31c06a29467791165fb1736dd9984ee44931142b70e425e0e2b37dc07628ce4496e6ee83c04812c0e6bd5f40ea9f53b91079f1a590e94d1f364d6ef1fd2da3ba834a647d76b1beac85f87d4e82cba8e0fffa13dac0814a48b2dd7081d9e2c11644cdfb986c91a3807a881fe9e930f8c148e3b0242b4f5d0b715cf94c13342039ca7e3b5c076444fc786ba7f96733b114b7f16fad09bb1ac691e5be1f089752e378492c2f92a6fc778c2ecaad5ba94c0e2052e3bcf5048bacd057c34e668daccc08c19cd790247dbe6c68306d0a70f0070a0422515e68f3ed52de34d1f31e0a79f3d23b23ec1084c34b283bc812fa25d12e3430dd83028fef4e7cd8d31458ea52c0c3afd2d002ee54ccb3d442cf43cd00eb06c20aa3f21928b902b4a9afb4dd3f6d64e80742fb0acda5fc4db535a354bdd46b001f08eff3a86b03cabf00d075522abf3b12d2d491b608b1fac448b474d25f30a92d21f92bc6e4711b723cba37664a2308b14b1baeff9f5a162a7ade23e7cbe33da83b18a45749fa5d9fec6ae81c97b1a5023c95cb0fae0aced3f6b8e6d593f15d1eca57fef0380ae60fa03ea33f2ea0bc0cab3f10d924f0f761dc13b4ad966d3868daadeb1f9b2b842ddc337e6257757e1fad22805a52e32b2339cc03a3b97c360179bb2d1e9297bcea84ae073f467e812fe4f0113049ce418c86f586b03b879ed0a6c0703b42f94a376b614a7c01b961dc98cceffb49f72e89054683f98bcb76fdd7a9b734ce4a95fabd5b94881e0633dc7c13f34908c23c53911dbd9a59fec03fa5d530a7bfbaf5cdf87b4bab931a9c3afe6416869ff8b8a58bce5abb429a99be30485996c1d488358aa4537b7ce6d128a23a071e4f66cabe935306b0bb8a962095fda213d31b535b705a151f60706e83fc63a53146bd54398e1ed516cd49726269c7d9f8585ae03e099a0ef73a98bae0e0e7769ee6cb6c5781a9f2989ac842752500317909d6609378a2daa738358182eaf82e21b359768edbdf338d64f0c5fb04907eae424ca168241fd92d620aaf0e1636e9c93feb367456a68f5901efec705ee1ba5f79bbc7b6195b33d01dac0897b7ba9fca0e819ce0f0feb87f57a6dad050955507b1e736e81fbda694a453496bac048585e41ce527b00c42570c59724435ce5135176d5423618710cab862077f4c57da5d0e03757675e789c05cc325c4fe9e6f38bbd9a102ae10bd5f52606d444c3bce0503bb786e9e4d6542bb53e41603aef8a6342a77f24c3d785b0faf34df9cfb858773b32d90b693d2138cb3977cadabc28460a2ceebed062bb30b4b65ff815b19c46422f1358231298fd9e6039dd7900e1ae736e3b3be380abffd5d5403bffa392d3818d2670bb4fdc7ced7cbb1750ade5a340e650a0262c58ab737b87c1d0930e35df628a8833c9a2ca4eecc5845df75530485f773bc4388dbd977b757d78d16aa928221ced24df6b77703bcf206293a712b0f28dc479a48a514cf55615eb5b1e9971696e674908bd31625c16679318ade60de8b5bceea53c554b5388f9a474c06fc2d0a59c63d8267cdf78b0e1487ce8aa6bdbafba043104a48f27584d047b8e05bdcad9cb4391c54a72d31617ece9a394a62077e72c167b13795301e7421a88bc6431c11c18625d997f1913466a739764618bc71cea5c65eb082fd1eb661ee2037883e3a9ae0390af5ff8351dd3154572c5e08d0a9ba734a057574123e4b59382727ee3a24697d4942129836e25fbab6ad8561cfa069ee2220f90945ebe16f5cfe5b25adbc9dd7ae20fa6f2a7461343f16b3e55ab81fad311a7147484c8088c93f149ce90b1502a62e7c20cf8a39cec15a0387e0f6be2a846c1f34306d2d17ef70603df3067a9e02f1a91a57e566821e44b81086e812d242643912be2c9d1031099bb464f5eca5773eebf397667a826b85e4e1aa39b295df94ec63eb3795280727f0cc09d845130455099962bdbccab9691fea66cf32cf84c27e146fb4ddab6c6822396a19dfcdfdae7633f14d2358b34a4c96e228740cb03775c1cad49c6822c1a6abab0bf911cef713cd12edf1e75a5c125838f5298ff5b904257ba08709e4d5ecf2464532bf4b5573c6d6135ceb0411cb4282b76039fc0c32b696fa412442eda54829595fc77d13f02fd0a14967b44b1b72ae4cf1484650f686c1a9684d336a25e7629bac63a4d7673cf563cae3b9d2ba8f1e6251bbaec1e741a4a9d7823c55d80bedb1511a7ad91752732fdc016df0441b02c84df759826eb7b176741598d862bc8e07c32a43d644b00e70e10932091a5ca5214f4bc85285aa24ff5b406fb111c53f34568f1894531b7b452d56a2d5003be30c51c7007bb6bceca18683aa55109c9d5051cbffb368531ee4d7bc452a37189f7daad537f2a75a3fcdff255f0c39e9d623cf1738ef0898fa5c4e7021c3cca82a214287eac6b901d24b3c2d25573e42473ab4cab360f722e07a642f8fa374db8e2ae5ca55e1f49439b8950ec0cb71ec9e266e280361dd80deac3363b06df390ae2bd7c5bc5a9ddc42e89d2f0051a57faedf78002954805bac5dd6fe103420346c628afe669e272f9ca1a82fd8c1b1b0304a6b1ef215322d66a3ecafee2b6de9b297ee79fefb5c5d62ded437859403d176b55597251b749356043295e337874db7c7ba2f53914f4b1180f5f9434ca6c5eb7228f7004bf251fb36ae1b45d0d477267513bdf01df92e33cbc4bf809d1eaa01703f82495cd2fc65fd5a45607aa37099ce3a70ece08a86d0f50005dca996d10f957ebf483a35f1ffbcbec2274f81793ae1c34405b2178a0d831fc7e37ec6f8eeac75669e324878fdf74b9b97631852c128103e4bbe510e26d8b3b23f49dc34aa0146959f28bb8e273465e8d2a24ed52b28ab6950982d08a000dd076a8fcef42211f900e09fd2e0ec19bf7d64920df8582bbb543aefa19bc48a9a413be126be89795ffe1a302ab8ff5bebda60d3800571a070dbd61737393cb1a36791b08cfd4aa24f0530278414110c8987ef01d4c659837c5be10cc9e6155e80d6f2fb70b9bbc1e9914c9f895e8f90a7f505983d43f57efed9844de9d658e8bd87a2d90280f246f25cebd3a8be9f6010b3c4196f126399a4297d7ea79c5ace2c0400fa5a3db3e7e64e86cf3ce0f540b93173f8a26dfa0c18a818527697c3ec8f4e7741569c65ab33aecb66b3aa8570e52c479dc1ec445c9d0da45c81b1e98cec0416a67df4483b5bc139468c3aa7d0902c9357daa6decb6cb48ae450812a181d81a8bd347d61533f1c5f86e28e9f50f913d616bc15dd336f08f64c15901d20166c9c461d9fbda3b31be1ed418a4ad0548933a19518ddf5b07e0587e7f39ffd3b18971df4a4aaf237f736054edd9d109196730cbe6a8152e8c73713871b962289d72099b87a5cbbd31dff1063f6fb70b51dca3b071e8cfc272c26fa5d77a5b42c050af4b24c889594fd9a12828ca4f05c5d7c9ec9c3dda8dc92383c458693608a6cc33ec1ddd13967aaeba631589a307e2086cf42c0254c574e19d8d3adfc0d4f20118c451fc273cdb938411d42d4907f292a87eb6def24d394694216b1d80ae4fb4c0826b6da13fddae1e43d2c61f02fb503c1a8292acca0852c6de947f0fe5470c839633ae4f3ee97169311c71fa07d579a808ac077cfd9d22f9762e435e8eebcdeacdb0654f62b54fe6e90638760fc5603809cc61395582d3e9927fcabc40b9efc1ec5acf7917f62853e51c32e6081217ede8e87b9f1d095d653b8a6e274b431e820588c0620a2a9f444f64343a0df2d0f8f4330a851f194c0f1ba3e3963ccc6714c3b0d0b34cf53c5d18b68a8f048614ae69160993ccfbe33ed0df2f6a3d781b79a6b8bb38a57ba2a97823a3740f55df3ab0345c89967a24d332f8d674b670a35fe851427c71faf4bd6643da240d5da96273969db445d15cac0faf436d0396697a9a65ee033640efededa1237202faff0191f6e42c646aa2576962d1db732831accee16220b566d623e550d9bf01c892ce6fa7a07f02035fd5d6b9e5624cd17f41d3b5dfea7bb015e648106b4008708fe5c15ed2974f10a83287e5961f69c54819a3e938e7120b3859ba123ca40ca8c099d2cbf8fef7633872eff9bc7045c6d9a8301ba6fef6a640454d2e2e8807cac24545839afe051432cae94e3170d909d34327e3d1f13f9acfb6c4bae4cd06b461dfd31ad18f782bec399af6c0fc39d6e720f114df7e06f3bb475b56299a0703227b15d48aa0191bb3a63e8d0a2c885eae93529e0e72bf0479aa50e6f7b202429a2b9e63e90521701be6bfb78659a5957a8bbe2fae5257f4232b6c08275a023ada068cd9d1d5ad510edd85e181e75551b662b3f0184ec07b075b10999e1c00db029ddab5eec6ff6b05e36bc67c9e343a0364b3b20b50fc578b266724472507409b7ac10cdb16779537b66768ca610d0488cbc1a893098359602dc668155904038a12675cab456929a90eb2eb87cac35890162fcbb4602db24686f2b2e82f076fec89d7da06e8bf8f779be71fd2452af64e8cadbb2c38f54b51a17ace4b680569ce6d6842845d82f75f6d5cbbfec6fbb38dd7b551534a7e414cbf073fd3e90453b3c2a7154636cb0a845d4dc97a0cd06de18504fde6d133e7cc6ad2d7e93f0c51261555f5a5cc7073a04ee2c99899c72a32ec519f8af97dec3b57e6ae58e7009f345fd38083206cb47ae683bc54f65371a73f40d546ee3ebe1d816d1754d800b8c15711952d304a2e29c639c20d71be287ff84f3938830dc3bb917749d4ff0c6e7e089aec47f91f6068e0eb7c46561f0c5d54cfaef5a804098e550b8f7fae075d04ca60f10c4491cca7e834cab6e6a6b56fce3e02f04da7a0ba22332fa9860d6a4367df1b8425dca50c96006dc5400c049bb77ae35e6c1a4b48d334ac2f290ebba053f63e31d6463e3af51ff54cba817adc2423fea6a05b940c5819a25a700a7b76460d020f6ae59382e186180cf4f178fa951d89d1a8ebac5efe7b47efab0b897c100fb8f07251d861c97b8246d4ffcc30c88dd1c5d5623b377bcd3bed160a2a586e1c4252a3e0ba0e825a6d52ef690c4ee8c3cd4c17dbdb9776e6f32bbb07cd05e2996c9591576152886088fa6083e525202721b3903c26185b10ca82cf00c2b5535340452d1f026f75a38be5e1945102bc28fa4c7ce3979812c3b067a201fcfd8059a1628f4b5cf93dc5298bbc33b444213ee4afbf3d7c1d9a133b4c950e1464cc751476fe44f5f38e3a46e8a7e3391d753fa2485adf2dc1009bbc704400e3d54227438ca4c675a52d7cf8d31b6e68b07666a1802d14260e610dcf3c870c5aeac766ff8ef17ece0fb56d7142f7d1be2168fd4c70bc2ce3dbe952e4f65401d14e52566b3d9b3b9c3b142ec39825e01710f3055d6a973bc27e3fd17ac4940b57df69a5e1227d8bc068dc5f1ad1abacf033bb02847725d919e1ede0b33fe10e095b47c0f219c4d4a7253394a391faba3b8c2cede369a96f471c79ed5b3ff70cccaf7099dce2fed2f7172b59bd0a9aa8954f6976baad10908d809e4e3fb73f012c6bbd8f3b0c40a9e76420cb082f5d61320a1795b08d4506b5589f46366c810ede069a0b3894c0514816d269a40c8d0adafea80b13901daad4024f958b1a540165df4c84b81fb39a1edcd49af709096b810d751038b37922219b57b6c64d400e8851a207d7a317c3f7f2492ae6a2ea0eed7afaa497fd23078a98ef759c1ab60234072e13b066f2e2abcb42fc9c55cfcb96edaebe150506f4973e447f666c000ea33418075106615b597338b8d4447a735e35603d10f1290db7967f5f35446b0f161db8d265e33dd2802f0565f6ea51293556d954601d617145b2906d0d38c50770fa0f9a4fc7e52ad89dee0bc7a5e79643a139ca9e4467f4b89c3902738cda07afbb96689cac75cc4a72e3830f0137d9cfd780af2aa463bb754dc5f9e2365b0ce0442c6f2745e5672adcbdae0342f8a388b93b986a6ad05fcd4dd3540c7f49055cd2b6f3567f460e88628488b08da541597f72059f5969ef6252af5ee1744a0059c09b2fbd7b1743038738801c07d2170c261c03e7cbf055ce1851d1c6c65d0eac3ec473f7165f912042b7475239ae9d1ee12f7b97e5f06bdf27bf559816290a4c06a67cbd51996d7685a96e98085c37b652377b447674f604b5f876f1559c0a16f4146204559609277f1af7646ce01961b6a5dee69a36dc8d6710af789944004d6192c9ba9f5c14b8331dd2851dd7bec2247e2b81971c89715e1a135c29830b71fdbfe27d0570b8ddc3fd5f528486521ebebda778e0d94877434e81180d530787eb79947f8fba9e073a705023ee7270589a73a3c7021bf73318a79389f4150224a03505a51b04d10bc6e58284ac552faf555086293b174295775e4d3b3ac40c6ffb42a74767691d8fe5f0dc3127703eabe4abe5ea19d4e69bc4053fbd3c8f08bceec6722ba0524d4592c2fc37b5f62431d31ce868e726c3267f5784316c5e08175ecad7fd4d0056dcfb9d148e5198dd700a8c4a4099577390223d72b25daf0b62b6837612ab622909fb8019fa397e79794e85c3810caf529d2f396e8394c80932b2d16e7a38c4810a21932f51b8a39120a0c3032be6d3b653c900062b86b903190a94523cbc245bfada95053ee613c6a1b6edb989229e53293ac5bfc0da64008649a63e647c5d0d3906864e22708c132156f986fbb960decf5a6a62e42f270d2090ee0b12c5bfb402aea31c43a766aef30da5393f22021b7354464364501e0b6df8c2872496206da76a986c490bceb8589f0ac33670317e12df26a4a8124c0e438f7840668c316b27a5e7a4193504c613fc011177e7e16d6a4fd73ea6691e0c17061353f8e1969d49c9cc6aa1bf92bbf5d868258c06e2c9e884e4e9e269460af1c1d5de6a2a892b6cfed5e0e97dcfbd01dd158e995dfc7125dd9a317110860c8e748ff97fd5f39e83efaa7c321bd27ea417d14f2fa6b538f20f9e279b241106574e0ab4dca3cf2ab7a1624936719a6e496cc727bea8405e8ff44bf8cf32ed0dbda791fb47ef126b67ded234f1cc18e8c046784eb3e160430c8e5c25ea66670fe4102868d4d608533dc08f25bee3b7655a87ec541e927d733f70ab47c234df0d111418e155f8ad2f66daaaf054ff7c71822ecc4f01eab9ccf769c5192697da0d3c4bdf4af1a206b3258aeb614bb394decf276706cd15244af2fdf27685d3a80beb3843989eb19fb240414482633adc9d80c35c8522eb625c4455221f421f6b03f7689031d0189b97abbb9cfe7a8384b94135807ad9defa3a1d7ab8f871594900d37c3d86d592c9ab2abecbd949a0dfe87ba92118112e3f631e97e20d01d5920576d0395200803ae68df1e9846ac47714e533eab4ae8224b10f0a8e61aaec400af8dd5bae8fcbe7a567231d88dbd62431e6ee887d9fa98f52ad2c5915116cfd01867bb92a55f0aba6e65f1fc2fc06b5e905b695c60b03c8510a1f8a0c6f2a52091e8d0d095d49f173f896fc553ba1211f66783e878e70d948fac8e07677e5750138c3c645125cb870ed2709280a949f5b695780c8c751bc3a2aa8cb4876d8b40b33e82220ceed4b647206a0392aae04e78d1eb5dbe8d0249ef8b4b1171f078408d79b5a293c39e2f14bf5affe4b07ccda76347f2510776fbd12e0c2775205cf0dea84fcbf73353e91bd89b6ce54f847a7c31e6a3f4379114d3899ac83f3734204bd85cde3657b7de0c1e9c2b47abad262e66e85729b16e07a6f0bd9e5ce9d6502a756ac5b65fbfd4d4df63b8ac93bdcf15b453716a5f7a8d0802fe17029a85c0ae2cf57655b4192231f550a4a65f1ad5e9f8b84cc462731cc2c4a442a3d003f00a7e3167689cf6fad8e949875b78806bacecf5a9d94cbd01f23b6afa5d15cf50d338ec4a0109ba7f0b14671d42edede03166c4ad0f60c0bed915edc32b048ec09b16e43868604295917753b06529b4f4bc3dd23e9288067640ffc40ffaf9723030631890152482671cc68df639d41c21d3a148d360aefa9225b5110115621c5040761b0c39ea45534f17937e1746706acbe606acf149e9d5f2b82f5d5a2baed081f7f8abe200c4e86c69325274ec9a59fc87c376abb0e6106e680cb771ec631006e4bf34e9951c195bc91dcd4a631149f1f270351d6d5a7b9ffbc6944efaa6c0be95650a29224e295977e58b7c76747e239631e153cfdf8f67575b9281b8b3d0d28bca2956ff630932f481b0a6acd8eb0f0e764aee90852ce043350fd5ac6b509826727dcdbbd989edbb14618d9be2d2ff218fe06e77ea9bfadb5b8b9298971038287cce0b19aba4deb0ab84512b07bb531da2cab05702ecbd7b8bc2e6567b900e7ed4f6a9368c5500ef64d53a2c57816562e50783bb144c9a0b6dc07f7ec37047ce854a838e1e420bcb4126ba888fc71893c728c416ac7a81fe18f17c1e4ab0b89e4e1ad27679930fe86339e9a80e752ffca676dde54f2f5af2774ba5bee6d0aa805377f7a7233b4088a790246710e38e840ea75ababfa884c2de84d54d32109677d92b1a5bedd49b5a736406244ab5a2b29c4b64e88f2f9932ac3924922550bf1c9a6013ee6924ac563f4d92e1967a2f3f9bb42d23e80080c2d83f0d96b8300cc03ef2f04e16e7b2c9a943db943764eebc7793b51a20b8f9887f768387db5056ccd6eb5dfbf0963dd2fa14491b68d43561c6701ba0afff667a53d6900e6e2097888517b799a92357978c00377a36ac2b22d58b1503be1c354fc45df3f9daf0db25c53f0b81f5d7f76f4274cb41e83a4d63f2056022ed03ba680c00b3c97670e486e84cb0eec83866de595b3f348503b845de4bd2421540e39d83b7122c7350689240321b114e01445cd5ad74bf0b41dda9b606fb66a508a59ada64e4ff08fb1b17e4700f28805dc18aa131df597934fa27561d72b5bf3d7e8763a071f3dbd763b397532f0639d2f21c0426eeaa0d63676495d47921ef95ca987f58e1c25690edab88b4c1b611b47d1f992e67383745ec21fa40d98087cc28de5d36500f4f1bfeda0ef98b0e1abe7d7d4a09c95c94a6fe48decea1a142109d5ef4b0fbb713623e37abb04aa51d3ea8bd2153f8c40bae8ab15285cbf5e60b51e7ec9d9d13ef2d2db4c9ff70d977db18379fb153b6e9ba996fee7e88e6fe3394009804a24b0a5a02f076c7ea57d3b8056606adcbc1f4257c578dfbad33f122e112afb8e85da04475f1c4d49b3472b82eb448ae37898b72ff9136f68b635df4c95bc11d26fc4fada21ebf9c966d61b9ede2e5a942fe9efac64114c0fe4310ccb8fb87f3a727cac0e16809760367cfba8188e94ccd88349083662e91e21d2a79cb37b85777a71ce75216f706d81c35a073c34dd504945a05c3aec30d141908e248ca90296a2ad40e54d4bed7903dd6a8d3f1d52cabec2465890f7aad7e0134dfb50606b3d77949f77371dc360e1a07f0a95b815552a2d6bfbd803612941922df8e77aa57f2db3b06f20a22e591950b4470b451c390bf52c77babbf52e8569cc2b5a6734a06d9f69e31125cd63491399b05ad2361fca8b2050dee735d5835bb1aeabab593b57dc61c4693f873696f6d6e7b0b75a79fa6cf36ac8f4ae49cd2683bffef6c75e140877506721353b9744649ef4dc334737ff89dbc8afe490c771d7c14d1d9f6be9642a8d128877af46047df69cd6102bf14527f62d52302897056596e61983ef7ce1b0a23723acfc5d6336e545f1c83dde4575a187a0ae11416fc6546ed21f94d3078d05c008f9b98f7148241e21fdaca175a9f489b8dc9f03394fa4a47a79d3265169c826c5b43a195cb9a02b525ae9b25ea1108e484d95a1b4b007fb70386980ed9f342555061939f3d9da8b2947c8090e93e0e79cb89ac89e747e1de7c1eb4da01fd81dabadeed374da1dffc4ce546848668141fceea84bd164ae2ba75e6368b569e8190a018a14589f475a9fe7ef72484fdc33a35fd0a5a68e73bd84767d4da5200fdf7c9349b8a25a144371bb2b19d4ed4a3d7b8eb4b1a54a94f85b9920fd72c217b2371b24293ae980a79f6dde74c278a29efbe69106cf503ce70d04a8132aff448588ed1d8242d5849c89714b1f48ab8a48b3bc60e4d730c3b924547a68867c7cf2cff089027d4039a9d3bd039cb48f668879ca865eda43e019743de4994526009d6ac3a0dbacc29889485b04d41f025015b90f523fbebf101fa746878994e45cb84c5b9e1646e30d119c8d386524243bf096f5b4b65fd53a65ababe6b1f8345c25db4a29cd1fd45f3ec63911868573a321d3c4c42ea9b1d7f95ff89ca81f7888aa69d2cd3569ebfd801bdc0f9de108a59d775a747fef7012f402671418223f367e9e9439518aefdf0a71692f99a477614457ea7b85fdc16bceb9b94e82c11961772dd655e4e58b7a30ea2ac4c4774fe7df60b983dc4791cc163992d14b186548018d0d30dd4195239c53f76a7f3c038782a17e540e7b749f2b1c10e749c88d3342875a0495ae0ded9ad7aa4c4ff62a2798fda7d82cdad680df76cce0b03fff4ccbe2407c0ef519a21334e63747bbc4783336197131642e9aaee3ccb4b03ad175f37149aee21e7aa75b60f50129d54b1365c6b2da6ed3a7f595492e094e705ff06b2373af90d4cd4c1560476703e8bb9ccb9afe6ebafaf823c70fd688956cdf583d617ab5da6b4da2ddb8fd15c7a2d683464bee6a0fc56260601f7aab1fa5e7c0c44fc6386511504f610b7bee3037c45bc927a0120700a19506f1adb6511422fcf46535f7e5ea544ee34b51d78c9e5c0e45ee29cb303798a931fcd2760e8b9e4b0c5118b2baab331bc2b6f1fa228d6509ec5c180a6dd972fa2d6ca0a33f3eb9ff8b4c9745928e63bab33cd6136ffbce2200dceaea16a7fd4a07dfea2da367082dc1889f8a83f140cb130f4666c302f9d2439a3557b2574690ec2bdfc92483539af9c9a06aa99110a3bf24abab6ce75739f97a4971c4ee44f7cdc2a070289156d0786a380c05f963a00c239cbb2a9631660364118c546f8ffa9f5873480ea6a0d4889dbbb18f6f72cbbf11a362b050c1f578dacf490608f401d55e57d87e4b29f5273580305615d9bbd35fb52875cb8546325c3633c5b4f4e2d15ef620157c1e0d829510bde019f36cd99021c6520efb54b302f6fd2e65ca139ca86770c390840f182732f9df50957b15865630556994f55b122c0159601f080044d9cd1e1565ebcc3fed1b89803da045c7771b657dc7cd6096ff59d970170a3f6d49e3fbe4a2e23a31bf2392c9d1f78d051893a39146a2f1851d6a7eb50b9deca221bd4a6aaa6b7e60169f3b034a1819e5dca4d0ab4ff71654fa11d327d691595549b899057da45b6fb9f74a462c6083765dea46ef8dc6258fa0de1559cbefe8c7d88cab0f9fdee1124bcf4f6ad2603bb190147f9587cc8e74a3d7dd0f9dedadcf2396ea787026a9b86ca4d449ee4780eeb3e4c10d9bac32d83bbf028d4c20fa297585f598af07c83076263c6c06e2b790116b9270e9430f644a5f114c3274ef1bb247d4cd6dbc3d8cd8dc56ab5b60c89f4149c3415ee235034df3e33d4232fed8e89a18f15b9f1689008020155800c574d4ff4ace8b6a9b78f58544d0223c33f9464958cdd5830735c30b5364ade90c29556782d696322c719d4bd79988ed25e817078f25d3098183e30b8a54ee188088d25f353f5ceebb3d317c52b1afa16fea275e7a7c4327dac1a0e6a774ba841eea77400cf719822e48747d94be58713166e30566066a1a152f855a200bd62cefe328dd3d8492cc4a904ddcf633e26d30c647423a5f7802a94378559228c5ef519c4d7e6f3c66af172e81b9d3f35fdd3b0f06216c3bcb0d5cdf6e57a107e16ddfa504f44ea203abc0ea7c00a506cad33b0c5dca9344140f9bdbd928f5ea4dbac815110225ded3534646b61190a692a97df599780686c2096d4307601c09b2240481f07e341063d9ca6be2ee77145068e80146ecf3323c0a528548719818833f12c540effc32419e951bcec9956957a3a922ec0d2bf72a0796bcfe2fad8bd84e6f3e03cbd7af1757adc334225cbcdb2cad99220a0c555101b4def717d018bb47a0befed8770174f03d8cc7ac338029bc1ff7334d758605063529a3269a92e8de63055be8818097fe87da0c28d480a8f6a858706f9d84c503ec6aebc67db31e07f97c2ce7dc90d4b913402ff811259439fc47985227c66f00539224cbf72ca6b0d5dc41db7cd0a3583ff9896e08e428f70b7edd6b4b9a9509750cc4431d1210781f4b84d7628bdc6d21d1aa62dd2e28de63b121f24821a40680efd8e6627cfdaba4bb6c2067bd5fea48cfbacc5bce132e8eff7fdc6872140800eb09b66288286c94264173d499163fe49a6cfd71ac65db693f383dc4c2270e9fdb25efba0582e5eca1a4faee7f86586bf5ebbfc883215ab4d1ce9697893c098e13d855042064629b2246b54f1e82a3964d641fc9268ca6de54c9112be90e05b37f112036299f1b593175620b1e866c7822c0f5934a2de73571917c91f5850080d48bee7ee460398c982781028e3c518324fb73e6b6d369d8fa06cb8e742b0584c4452894e19df1a66613190f01afbbb79809ad0652b88321e251064ddfc907a70fe9029951f4546a88f54bfdb070bb5a1a444c19c4538e02084440e08dfb0b0c3fc68a39de4814adeb1d1742ed20dab666b4389cc55c0bc8809b6e52f2670fa7ebda7fb269f384f9a99a4d9d09c147c19ca4eed9c96a7d48b64f16a6c94409dd715a9860ae83a337554979738b31e6df75a94332cc103cdfcd65eca121e80efca796ff69e92d1870a273cf44ef73abfc7beb3755d4d22ad007bd5a732a860e8e810ab86fdc62373adae124d4339fb07b59f4b9e384aa66679ccfa333e82b062d657c0d4e84335bc17209bef1921d296cdf43c7d87ad64e566218ca0d3e000bf9c0d678b3b10655e751fc107f52ea66b46b1b2c0dea1a2fae2a8732c0478a0d861a714606907b07792afc5f789f3eec7c8ab1061ca392c2123f41e6ed70c20c8e299ebb32eedad403425736a59a1376ab680cce7793507a54844092e35a2f0178a9498509cc157da17b582e6956ad9d11e6badca4ddba9f5aa6be115c9a7605add7020002020007928db1019a81850196fd29b3ad08988d05c9da0aa7e31b38e5e70b06a1565a9570dd92ca724b5b5154b07ae415b74853b8f2cce34ab8df020007e7b1ee01e8ab0da5ac33f7820b924cf419e23525a6560d15ed674ba38d0dd5d21d52f84cba4add07eb0100586041a67d0ae0ef02000220275f6216bc49003d63f705f977e5f956839c9e20f6121c34d4755a9f1413a20002f8517b5392ff00a20b929585471468cd392cbbf46b01c675a0f00e0115dbec0f2c020901a9a98eb1908ce4540175d254aa7bbd98c0a9843a32aef0660f2a04f6c7d6bd642e735cbe29a2f255630280c7fef0227aecc937fb35b25260169dba9518fc2b3fb9aaaf7c38bd91a0edc3c782a83cee1e6b607c641d3fe70aedd65565d7bdc7c374dadeccf03639f4adb36e8d5088a62fe6ab9a2435a8114b7b442698a68a6e24cb2b1714eb79ec7d6abf929076950f996e96843da8bc4a6b2231959f15a1ce09a2dd6b307787c4eb00732559a51c0389e929abb847920b32a6dab8e2cec91e58b994c1ec3fc349fc56eb3957e0cc0d0211715f9a009c631d6eda1dcfeee3dcb825f266c8e3783e014ad00901018a0462ff041505f65171d102dce38c73df1eaa96280b8876345336eea271c67eb5af2f9ee8fbc1d6441bf52c7d16c7aed50277ebc8ec01a93e0488c81ceecf020a51fc368c2e21c53e7e865251e35b49d6f6827b557c96d192dbb1a0748974368600c3bd132f4a16e8486bdd8e1d467e4770171fb6fe25bced9ff32d0bc0fee78708237af27e4fa884cd3dbc71a63092918fdf2abbd2fb2c63965b40458cd5b75405289519eb626b055d67b86047d0920ee3a40262af643f6f336390da4ce86fbf0355ea2139dffa7dfd6702b2ef5d6da86b9fecf9fc5bf886e035c3314406f4dc02419bf7afff7e522edcbf80e91b5aa49f9fc5c00d94f13889f60e228b457c11004b37cd411cb0903176ffb0a355a9e47f37ce5efba3007e4b0d6b00a0234eac0b135a799a1e9e54cd28ae71f512481fcd3fa51fc43e766d4334730b97c413f500033955c48dfebbfc8585ffdef756baec47b7635b894e0299e6723b2ae5abba0748a9890f74c25550fbed5896ec1ffe7f3799600de13e80130653c3ef8ac45702fe586120ddfca2448582d55d1fc9c99e8b70dfb615e192f4a4684f0ddb780204a6a84c33c0d549521d74bfcbf978980e9cca000ecf44d67711cb72ccb765ad04f5d88ad84782bdee2446ebf45c8f654000517eb7d1a188870da5fcb0a2ba200c66f3405dfdc949f8459adfca1b281f319a6bb98527059b6298fc747f51a7be0c73c1c4fc4b0defe5dd49f5361baebb7b0e00d90a55c96ea6dc568d469e23430fa01c6cf38ffef7cc0b7de2d1bffdd85e48c5975f483355a622a7ae3647d21d090b7a8bb15efe230dc26a2dccee7e907597a750f983cec099b1e26f81cdbb9f06624602c746316ea5a3911a3bdefcc52b09330cc921b2938cfac3272b6fe9870bf4bdd729a046b91acee3f6d13a9ad3b90a120178493c315cde86a68bcf31460eba4e9e4386bcca68e14b7f37367ab7d153e7c2db5249f1f2d58537833c37a006e44bd0965297cc0e195a6b98760661a9ab22b1b01d7f05937e8e458ed29c1c0b30a8d242d2c1e0bc5bf076d534359e98f9617ffa90ab97d01d32ab343b1d140ad1d643d49dd6a75a15375fe5b0003b3e3b96598dce16bdb3e76a7b48eba5400f57e9ed7b23a80c3c6a6f42b4d4ebb7b23b46a466f92c6fafef8bfd028eed8b0aba3c8f643a7c438c796e906dc4c1e327a8d2ecbd5ce8cb104442d0ceb81fc20c38bb80250520cdc6086b682aa4e1e318c05479a010766d7fc047c76299ce650ffe3a8502ebaa6f2ddec7b73040f08781d322a0c5cbb476bbad73e2470ceef702c4708c1c13a917badce058ed2e102212e0cdbb9a1f991594400022cd942dae02b785299158c8103a1cd5717a3ac0e7ccda2587fdb22f2f17ac5492d78f8f360c96e86994dfd815ab3102ed81ee14aa25d2caef168773eacc48f2d2f7b808c90e9d9fc618fece94c07780c3d4a85b0899dafdcf72c9a48cd75159a4aa76dfa60dcb31d65721fdca156ff143ef89634665c902b7fa7c50b62ba00b262395b7c009b35bfd45cf40a396a9442a83585ce53981cb42e82fda54a3e378ad7c6653d00b8df22e8390a89248450fef08cb936bb8771b0b970ddffff49e7e19fc27229a07486c0d1774f578fa637d6c7120acc03b9df6923acf34b6478a2ad8b6461cf80e23a5b8ef769ff4ca03827ac0343c4fd2a18d743d621c0eaaa2dd2e44a1d8f9078ad77aeee9fafdc012ff2b6bb6e9873fc8fab7d0531fd6ce0d04c9b4255ba802f615629f41e641f605623d28c395631b8395cc5e64d8bbd9327667d062962d04f70d364405ec4409a2be380e9c9f2a3f79da4d48106fc2639602af24e02789082a15773fc0552977102c61f17ba214ae220804a3aef1f97e601f18567353f1041e5ffcdc1323da716db0b78bfc9ad1134e308232b8897e7d03d4f36cfcb3340adfef6c4594a3c76a41912b8409d4c036ea54fa84558cc19b1a5d7273b345da001e8a8b28c565ea5fd2478201efbd90f75b4893949b1b1a938351409c2c29a10d9ce9c3b7e542bc748b876a63693a81db46306beb34c9c3606741a7ee71e45908636df92d0dbb70ec8b471ef1ee29865feea818965becfb2eef5a7c1edda6f80682887454e51bc899813059c48809941690721db6a0ce2c9aa2f2975b555ca6058ba4953496b752339aaab6030561e3446e53177e6bb25e892993ece2a5fdcf0d386f9c8267a02c51b5809bd2e276511a0c70b063f0ff0ca2dbc0bfb163aa5d0c90a4245717f365b9e501920210a432e3e91add026604845ffadff72287e60f09f407f58170cf8e317fc99f607e04ae3ac06c9013149edc65d2b6c172f11c4b0291ea6005944be551aa0672674ab9be1b295734090c9882bc583e2884f9aa860bf421050e8a18d4ae422955ca318b13a367dd1d085a4a7b3bc90c57a93d33660805c44ebf9584aec4b6b820f6057e34fe25346d8684eef155b8f2ec6d432d1e004fb9805c7227c023e2a23650be66e5b2ddfbe1cb58cf682d2c051bb32c3fbb0b8727fcb4a0b723c9dcf0f7e238c257ea502df1fd68464b76287f681b5acc280b908e97b4e31ffc3110e3fd589b56ca0193015fd7f69ab7a3c489ffd3816f58043a00bfc4f59af12d72657bd2afd72a8024904e4e19b2240dccbc39df2c9b700c1c88e150fb11f6c2e1d85734a60bc363d9e84b3238c45467c14e82374f0b70030ab19551166342d009c5bbe212bc456ca62797c6558427c068523a0cea8c7a06b60405df15c2a23fe7b39f0ecad29b8aa71cc11e396d54b00f0b6322e39a960c5cb6008b9dac0ce87319906e0082f8704b32fbc7b4631d79aac01d011ee96f03e45645ba38c6eb3ccfc0beb938c64077e53e3254c714e025456d9105496871030f053a2763eed4714af5f12d224af5ae636b615d66b0588722d162018ee805007825cac3e00fc6615a8d9ab7c7d26bf925f52df5449b4a3ffb9ee65b6bd781000a8de8bce6b60ea658461c26dbffb57d231534d1b980e23b0f758cbd5148bc0d88994ddac3d02d0ee07b515666d8e2a0f44b7510e0e98ac75ed233ba6983bd0e11a650388916215e4752bf2310cbc1c9c28c3b38edbd8c234302e131b0e18a07cfee28f811ba81a59b935806eac004670bd9a5c5edb5fd9c3f600d400e4bab02b006019b13f57bf0c34fb0f19562dbe0c5ed2039bf2bc41a385dab673e20be0b26116c41c78a9c3e18eb55abeee8eaf1fcec366cd1aa57db7bc5af11b72e990938f3e1c65cc8cc3d1b5c9ff4a4b6d58b328c755409bcf6d4b7fd78d8250420075e06eef2225b2ab4f411dfd8f35e41d6ec48b47967fea230c14f995a9002470e7c93af063381f53f703ac8d19c21d63731b4a8c6e143dc96218bed7e70324f0aaf3dc570771b961db0ad2c108b874c8e9e7068db9bd3cfed54e02cd8d24db5039764e3c18adc37a52011b74d0ea4f374613f145f40034aada62d2bc45b70a309ac6c15304f3926e334c252455c878f403561d772e76ad3921d774e7920a0b10dbc6cbfb9ce417e95978ce0ca1703c687dff5ac5ec6ed06544e395bfc193f2c0818ddac9b55ae6f690bb2c65fcc57b5d8aa6de5ef23528da65faed7e0b53357020120fa69fd646600b64f40220b0266e51a6bdc9c70029eefe852a4768f1b900deee48ee5207851918848fdaaf3168fc851f806194ffd5a9e2e90522beb994a05f791395382982855216afd1c7e081fe8412a0d4e3dc66e32abac4e9b7a15db09346953b85e1dfb5a79a6a104aa9a2f3c32a3986a4bc94f6d8d107683a6a0670bf1e1a5d2d8545885fa7a75c4e018e4ba45ecbb73c36134c5bac108231acd830ff449045d7d8477d09b613515ef2b1178336583c16ec66239edd75e315939e801795d0f44ca4f9aa9eb3cc932e9411ed4c12ddb680b36991fc86625d753ab660433a1411ab4e3266d29a8ccae32e050723541653b2d9a4bbd6053dcf9c503be00d500ac1b622aab68670f0d0c14b14beff7c3f3c5131bc213c45b11b7dd8fb708d05ff2a8f995759235de53d36631500660015690725692268c2acbd8ad66bb09fc7db8f2915f862cb78c0e9bcdb0529a7209e861ce5d9064ddd7b18fc2fc5b04220bc32d9baeabe5d4679f2802cf21b9cccc584c3fb0d0ed7cc886ea2c58460e598cbba58ecdf5fd92c8fba4c511e586c556a5d97d2f4ba1c609c532e4eddb0299f0ec6720e50b60e0772e5ff2aa41a800619c9a9b7613579b9701200cc0d802e1a998387233a7b85fb7cedc8778800ac18d2fc3b5dc1a1f1c99c7890efa6f0bd79baa66753e229828df35f5669792cf0ac2516f5d5ba5bae21218f71be244036592eff5ef31e6969c9fc4e1f4f0b8e91493fbf7a41762f33c3834521016460f7502a1143bf3d622ba8553319c24139c6065e3e7aaa20de3c8f5f14e264105049bd78399a47006efab8bf9d7c673e1346a9d65b3773579494ad177c97126040fe728c100a8b434c745c248ee24c7ab8136280d9784fc43adf7495dea4e6f9f007fa6915f696727db47263b60d17300c1b8636e28480b2beff004aa5ad0818604897e390bbb8ec24da65268e6a4a4ccc1e1b3e207e0aa000abc13198c53cbb3088e9c88a62cf6a8e34e15a9e288d8a42f6c3a89a3a5ff02b82d3ed21e30a1fb04cdfd6699e8b17892652211721c47a1fe4f623c4a9b52f3cdf130a25cbf251a0e35a644c0f031b500a67da02671166d7ff217cd1272f43458f70c32613d56bf0c860021b328c1a4f3a7bc3f92b8edcad966bb0cbfabbfe13fef3218f3f8e4d5082f0d1cf23d24b2030373269b36234836ae25ffb1ef48ee1fbaeff541f0e58f0c008af00c4178007dc2fec37ad59b1b3fca00a7dd2249e0a155c04db4e7e2440ca9bf16edbf24bce69fe09ee36f2a3f5586310d4cccdeaff643873c15718cbc08542cf04fe37c346defbead8da34bf7370603642b37161434220a140ff4a91d0d5efae3cc1d66558bf71276781d63f47cdb50cc6317f6ac9a2079b7f352a63f06dc2181ae0567f6234a4600c1cc75e67804b8619a349757defd7cfd956ad07304ba41de13b941726ac95f6e74b2982ade0dc4f7be68d25ebcd8b37bc811ce300e732d2f16b8e9af3bc5458d18da49dbdbf5c1cd1811470d6d7bade8b55c3e00073b46857552b1e518e1fb780c4dcb1d99114c44bc0586f5346f1e275f0ca5f704a9804179443317fba86882ecd9d66bfaaffb4998aaf641cf6aac8589281ead03b8dd46ad3f303f3940d0dbc5bf4c01553f6e35cb01433614f07dd871c32d800104bd1ef933874da2612e2fdb924a6c703e05cf949eb7c94a82105e575934bf00be5d8baa7518b29a85dbccd34584d3d6c84346c8206c6692730a7a12f937940ce5bd3043853d5f299b63a964a41c2cf7ac385a9a5b9f4decbd69471e0d3a7e0ab1c56a19898077eedf5ca45cc29f7c40741b9bd149b4f052251affd05bcd6c0814c1c97c19f1be4a3d146bb080f7decd3e1fa8bf101f0adc5a5b6c824245c80a72f9d43fae297ff174feecf2a554ea52145a321f4dce108d1b4fd7a969cffb01295daab7adeb8f6bceb65364836bd1a28c119507f23eb500150ad0651300bf01239adbab5859994afd9268882c910940e7fc3cb55604a1523cb7848ef983730fd275d67a3ee0af441a1f68753f1d75c22847b546a19e9ea09ec722803fe5650e08f40ca36f8e974dc17cff1ba5ce44f0ad7af7bbe3115bda6605e2593b178f06ac52ef30be638dbff6cfb9689bb0d6ddad82083c01b977e1794d80dee36ec300f4e4a3eea30847819be7b0f983b814f041dbcb7b8580fe47307f8d3ad43b3c04291b3fe0c99b55f7798090236297531eb8a398eab97e18ba10ba6aa089e47401d7d6350b396351026eb129deda3ec2f54fcf340e31aadb4453cf81998ae9490d3cac7b6eafb72a20445c56d1626e5d2949f4a1fc7d06d0fe042e9f12d76908358cfa59a3a87ee2aa2ff29168aff2ecfa0de490b1fde7bf86cd0898ba65fa69902670220b71ceb4cca0b90a10ce7ad89a9502ef453216f1aaba3971e5540b70aad8e6367765f657547efc709512fefb6e6beaad47fd5df87d769a8d7dcf37f56e9a28a4cdde25e6d806311c2365b95134dc0a5706b1511331a679c3d3ad34917979ea2882c05908bdd5fd7440005d70c7002da489ee0bf507129a05c9d84cc6b813df2b0580824d4df33014786f2301824a192992ea04a7a8080ed444d5c72a9fe320aed0edfd7d6e60d149106d826417f3ff9781acfb3045e6f810f2a1143a06a0c4b24f4a8285d27dba91029fe75d892d4faf30e5be197b9a618d14ea6ec3221de65685d517c34b6d1ed8184a74a9ca42965bf4ad3cd1f0a37f99e0baa1579897127d14a416cbf27379648ac807a494b05fadc0f8f396efd838d2a6f61378e58f7e4d8a3ece08b3b79b930f353820b0e9c7f72af94e06d9a81c08278a15bc34aaf59744c8edd8f377455dbb83c996f93f37fc002ea2dfb9020806fb626abfbfc5568ba30a1b0f879225681d317706320f1bd5ad66770e2185de31981a9a7b4f99617063f71a6456a98e10201c0c6c6cde98fcc4421fdcd57366c91f9c304dae6ebafd4cbc0070d8ead1727e0fdef9d527a7e27f43941bb6b093c131a4ec01549e8a4b9e19c6f6aab71043006d135047740701116a6fc5234da44e94b380c674d2e27e13cf1c2392b30d4847c8a865097090c44b5087f2a72470548b43a2f8aa02707d2e1bb77e21681bb4682f03edfbdb4716f1b62fcf559a1f8db4832c826bfa16e21879d138b37619e2ebe6c5db7cb33985bf198741cd44c1da55ad83c842ed7a704fb40ceb07ccdae071f03fb83413054393fe88f1682029b92a841539347ae80c6050a24d4aad871c739c2a2e6c2475a1a3160629ff9495bd7655c40ec73d30979896a12b9023901b3f99634b43f57ac552033f323242248dacbf27d5229464a24630133d3ecd034e4a2ff49fc6ae2a9636886e0b5eb731cd53d7ca0d1997be2758866faee015b087b6cd71e9f00626bd4b641e7ca202174198ba9c07edc113daeb5a491c133397e7fb633f796fe7ae38ef78985a0ef1500b843b677627a8636c509fcdba4a8fd97eefe670e5622cf3754aa5e1b97ccff02cabdd2606a731226028df70fa3bb881b7d2965c872862851c1919ee837e57c530d6fba9cdc4f0893d7185cf1af21fc9d496d50cf8c0500cafaaceef06fa0bd33efbb744d3ee0933c8b2d7a1f335ba45273faf23c88193449a8bf2826f6d65140b08653cbea765cb89ab5b7784ae3eb5cfd393bf4d62fbbc3ea12543ae80d8027cd784edba01d391c70a4fdc9ddb54824c3fc524e65d2fbd285a8f6df66dd16b59de4167802d57a7e39b2bf89572620181813a5a845e7311a25f9f3740b670bdda5a6722f1809d3c582897ba988fa94ae9cc879ee32210dd913db91cc54fb9eaec26d2b2ab509313b1727a576fc7eecae52a0f27460f2a26ed40383918dbd1274ed7ac4bec89ea499fbaa391e6401676b23bfe549c313a1562211bbf0637659bde88d304b75dcb1741edf06246812012dbbb1e7fba5bbcf2cf46ce5a3adf62ef6c260cade389284613ab75861679ccdde71edd1ba40855cf828eceee966b478743b5ad326398379bf0cefb02ae57b2fc4ef4e3f5a360b3557464899302cfa5ebfd1052262cd712395db4e29e072cd889e9b064f62de9c7c682214d11c3345ba1c16d2634535d1808a2d083e6a30ce0a5f500d7a077890770bf1176e74a90ad8120f925d611d5f5fca9aa1f7bded8949107f7c4c43485ba61da5be83ce013e7ab5004ec40231b89f450e3b5fe2e1e0dd86667463106fd756fad90d9a2d51ef901f2938f289bbe19db16d003590779314488ffe10805082d890190c316837e5fedc8604913d03b54c06fdcce5bd4f6788f69bcd1f35bb9a29cc9720474c46c0a96652a631a682919f01d8d782b7273b4e18e1d7b28b987b77594f649519c2dbc8e936d4fbb468791e471ea08a4308cdd916664cb7737bd670d1126a8589ba849755f173fb147e3953090fcf3c40397317664b259a084745ac832b986def75889f190bdb86c8ee6683ed1565f3614f8706170c912a1d66acf4c9fb7310d18a30634d64c04af78609d33394afbf8ddb95223873ca5f2a9a28149c84a9b33b17f59b67f7a532d63c6510ffe9b42d159df94bc6eeedcc54f8ee15e166e13550a1e46446299f1e8e4264eee28624c0ba6b3d2f8fa410cbea604ced90dad75f5f560354a6d33b500f6d42a31303a74c9f829197ede65bfd571bd9457f1736c9352cdd8532f983e8df336c224be7ee29c494c1337011cab57b34f65c2c5f1d61dea63dfeeaf6111bcfa8d8ee89132d8804921ee1549989bce524b3b77bbb981830c5ea704946b8e3040f6a6da54dbb70190474669435addee6792de29fe403147e974272147b3f3f4c7d76e0b632916f863e1d39136deb6e21d0e087a458616c60dd091c23b0d23a1da642c6d8bb2309e893e061d4d3b25129a4874da970c342e4b8dede7cd624640fcc89acae2ea040067878c75ed02d03bf980582b0cfcd6ee56a7165fd7b159b81d04a77c2b239cefe6d4ca619131bbcf0258415648c874a081e2ad63f61bde239dc79b48432e5867c28a51ce8a08a6bfd234a26885f84b08dfd9f92d06583f4c1779fee5df75aff8b6e0d666e904bd6b27bb021a40382ab537c99b09a5fa0f88c9739451efa1d9466278e6889f6f6e970c266b0b86db201be761cbf979e3f85be4f1cbf8c3d2a58268f1299ac9837ad801dea9a909c4f3f4368b1a955bb6340f4c0244eb882bb0281c0a792c4eb91ac41c2533e25cdf0f794fcaa6a42798fad07009ed582ae5eb57790370f0b791af2ab09ba0cf5915f45897bb7fa87a3d248087097ca4d0cd7c46dd90aeb69657ffd04c516a90cc0329c0060fa79d1b933bc31b0b4a836f428cabc5b474a3adb52f86e2bcaa474a25c7bf677e8204a9a36c42cb04fed5108d1e301bbc0de6c6fecb0dc60fe611d4a21dd1abe4a666a48a0a950a07c4ebcb8da8edad36153ce5c851c81f9ed68c98b74563b06574bfe6bb1984ca0cca49bd730889d2e4e381ccb8c5404f3f881d34b34f2e9f82de1bff43e188460b504fefe4db3800b20020ef57650c64a881b69caec70b678e64633c2624cc0106e89bf58691be7b6c98165d73089ff59126ea38169fb924914a672ec8006c8a0675593b2be1f9ac9f6fd94528b897a7a91b965790d26c4713d418a68f9887db09ca75e4466ab6307489e2c35df66e00f0e979e090d53b04d56855354983afa607a5275aeb33053e6b08efc7b42c86683cd4799b0221bdd45f1068305b47250f0cecded6c16d3ff29fb44c41c0b706234264c1975ee7cebe8404fe473017cbd30259106ff3e1bbe20f6b5e64ec2b28c0a8ab3c42692376a8addb48d3b2e8ee96025b3b42376fb9d60410fdc11feceb470753151a18264b647196f015cb99a43e024140669f4f14fe779c13bc52c2a9d3ad294f65a7cfe2e5146dad0da24794a4076ebd5183c65291a8b8a3b9c79d6a887efc8556a0a8b146ad077111ed7524910a470e1745a0ffa66b0fed79533f6154accdcdc60105836cda95059bea69bb2100b221e6bf7887f018bb5d4f8f07ed8a9ccb3edc1a92441d3b12ff5fd8f8cefc0f2a6458ee2c183b661b7d141213d0cfab4e8df47b04eb2ddc7f3f31492d00890ad67343eb6dcbaba108120ae9712287312de909db1b5c8d407cf3b8dccf1a120663856645298562b9b44342b93d832269db568ba8e70b1328f4b4e87661f5b0087c1d71d96d7078bb40b155a4d41bcb62b1831bcba3e5eb1325b5b6bda2960b0701e5f4016e7557d730bc9ba2af8da094445e57d6c73db7f920251a7b940e1f0dca93617455afd0b5e842280212aa387ae599b1ffafc9d88136e136aac961bf0bfb15817b5647aff5778d5b8b4c2389db8ac0e7abb2b7d01d57a7aef5b3904a05b609b06e2ac00496719f39b4595d3effd80a7fdb033305f677fa6f19ddc74f0060458a5547a27d49c17bea048d9c90a57656fefee659eb626b4e242f98bc1d0f2aae5460a4cb048ad7bfbbef67f7912817f815d84ec5500fdea85de445600600b3ad4b08ba0d3852357f5e629ec891cf54d3c2e753b041975704eebc58600205a0fda04e6b4b78a6628a749e4b4829156943a72c0db83ca15c25e2f3aadf750481d5d763250ef51f392031903693760b2895a195d42389da56b89f1896de420fdd404135eaa5932b356200b197bd091ecc5b6d120f9f5e20d08516aad098220b0eb539c517060f3b5a132d5eb8ae4213cf59fed01b325c2c31c2dda832a16a0bf3a225419d19c97c70f93142417f2f353fdefaa69d51112d41560894a345f7081a08d0545ac2141c889c8e7a5d3485f34b33d38129fde081b8e3d20ceb99b8074659fa665b2bbe76cd182b91c3bdad7b34bfd3d1bc89cc18f2c5e3b00f61fd066f11054e6c9cd07c33959d1e855ddff9025f68a4237a9892a5e4d8c6d1f5a004323ba296c866def85cd6d6f1be285d8abb4036e85d1055eff401722e9262d30c1a758ce81b822e8d4c0993918432d602ba189eb10915e6fb76b8e307082c860782018905bbd60a7073e0d42e932fd0a40e912b571cfa828aa577ab532843b005f494dcd3cc01d233a7fb20da4cee0d79edeeb70908e717500c499273ed77b9004d7e927c696fe73ed6e4eaffee52ef995f0001189567314220e2cad49e31d100cf43d846c6d261c0627ccbf8096479e14f2b30622054cfdb180c5e186e73cd03dfb7d36038b01c68310f4e7f3fe60d67081bfce438bf0454cb39e7219e01110a3a176744d0f67796bd214f28581d26456f794ab4789d2ccda562dd34cbf8ec0dbdb4adc48dbd4f03cd1e8609d6eb602570670c95dd6c719a204bb339543610010a4d673d69505abb97d46106296798dffa8aa3257b6aa50eed8984af1dd94c0e82e3c4d626534bb0e0be6f9bae2a024e5ff268f02bb77326eeb07e091c2da9034fcec6a388d3a8d115c9f1ad920262f5dd93bb85f186d69ab257103a1949350de41cd01fd5a618115497e811c22d74762437035bdc8726e1f3a2d9dda77c6f0b1c795d4b0e4dbddcd28e6c7835c92c119c0421f93fe3eeb61107b698e7dd8e00464c0144ca8736997da77a0722fb9f5bdfc0cd0476b9fba3a630661e1ade3d0ebd428875408181cc08c5f879a6c6c46c7b039ad477aa819d592f98c761fcac04bac3afd999e9851b23b920dc3b73e6d62b3ae6acf3c8502dea23d5b4770b2a050d2c864b66d895619c01259ffe62c54c07ba977a1a7c6a76b56434d0b1e186076d9cf7ba478f6a13e6d7db2e54d268836621901fdf17621f454e8a733abb49035f893c12514c5da47e1ca1d364f5408fdbf8efb080fc0764c3ace7fdc776b60758e20df95430d6c8827cab596b14be4e7cb0d89c3740c91868b0aaa308fa6406fbc1f347beca2dd40529de0778e96ea4ce8638f98c63ad08f10d89fdd80f9b077fcb4683409539c31c5d0db0b9005e2131ff65c96f915a6f028bf8b226066a00e21beaaa8420b1c343449734daec85b923efb103ec8e94202b6965803262170bc00397208f812e4e01f9e85165f345e4da16bd2e977d091c42b04c2a0301d00e337ed8fd7fc4e2cf328277a287e77427c59aaf74dca50effac6a2333e3794b0933b191f12a480cc2c17ba2cf29fdb26763a6919b4a77a3227f345938a5ba2201036b8bc845d254c5b94726b06bc726fa6b6fb3812a7f4b31a57f097962a2ae0bba7511f7268acffca2e4fdf94608ef19089d026f249f3a8c4d6e1e46f0ac4e0742f8a5f39c958151e2804fbabe0bbcd9efdbb47d623baaffaf99545c0fdd0208c01080d123e3ac5b05846d2e5a1064c242653d0be159bb6856d5054ff3f2ae068228bca4dd33c3b8b23b197489439670bbf3be543a44f2b14d7e1b497e28c509726184bb547d5c893a8358f28e98f9debcea2459f9b638cb8f4fe0f6fe03920c00ba022e153917853af43d92ffbc992ad7f466ba821b05ee96be80a90d97010f66ffaf06b4e347a7e1b6eb65a3d22619d29b4102d375f9f615c37447224b9608cf3a540f623193be36a002e3c41a5ca4b1c6f95d13d10c51ac9f772634dd2e028a6c6ac33273d4dc56162271e798f16d81a65e2f9d95af86b4e9aa0eee17060d5845269eb60b3c6ecb01a3371f7515cb2f403f21b464a3da4850bf9bf21bcd0a1903662b6539390042a43c4d418618ac869865439b6fc825295a935d623e2d06816055458af7a0fd1ad4ac1ed298e8bcbdda1f92c16965c19d647de227c2d10095d99c9cfafdda418ef538b591e175d358ce281d869cc649a00630eaaf6a7c012b382e81dd5d03546b59130bd9604e47d4322195b5e4472c8759a219aa14e00880630053603c3457b3ab245b30895c7bdaa1735ea975c9f883b57ec9714268089ec17735b448884949f8f281ac6e4c0e687d2d7e3de7e55846e41e819f51ac085db9125385c25f6df1c352b25fef61aff85c5d560d10e5f1dbdbea7ccad93b004bb34f8b6c4404395c4d684426eb9ffeed8ea7dc3f9bdb3d3881ee53e779d60776a85741690723007a75b68b96b2212dff6faa7917d355b55e2a1c15d9188b0b56a4047c1e3000b251d1e41fdeda7f44a039d75ec0fdb816043e846157f4180cf0bbb96b04ebbde3b58e1d957ad89102b5cdeca4b47dbbebcaaf67fd3ce98704ee7a7660bcb7fa165871a629bf8441f7de58a09fec1a1e1e269c9862dddff905558956751f12af8d2ede2ef2c0f865a0b1bd6af914fa778390ce874e1cbec3007660b357e1db96af7cc6c64f89400bcacccb95c0b5509be3ebac9ddf668ab001031ab646e5857fac00e1f2c544cdc8641010df4637f446882624a90c35c60e0262a28d861341d9c61600562397758a10464b4a0a9e3e06f5ec798408336fa40c912d2c6b20461a52e09f90c08bc4cb2907e54218ab6e4dd2f383d6e26df4de079ca596481344706c239deb91a369bc8c9d0b72409b58cf422812154f8bcd330b135b3a92cbd4e4fa08c620befbc7eca02425c7af6ed34e2666214d98c8f7d207ad4bdef7116f6936431e9a620747cca909187ab1faddf8733975fa49583e6c0186b238668af119da0200b1726ad1b2f375521164e4664aa81adf716c6799f70ac162514e5d09dffcb96a20b0630f1692b01cfc0697569ca3cf00e524a7dc8c015814af9eb82e1b0d4452c37f6962eed7a93dca766c203b7b7387245daa891d06ed6e3024bd3efee60c0e66eb9705d6a0c46a53765fee77f6ff06ae5392745d0a594b5c7d76282493cf7ad403bfa47e8e6eceec01d9c5f2bdd4b15ca677a50601c9824e74226b66fbe146a0a4ac85cff55173090456b3480f7c43b28f09907f0bcbf1c7bafdff43a8875b00dcf7163d6f0ca5b0a61ff2917320b9f0b6f9e01707b0b0a1abf1f7424ae3aef4874206d39f0ed3f911e12f788c88478eebe2f7c80c60af379b068f709a031ddd19ed51720e2bcf52ae207579e074850c8300077c0b785910dd5f86f201d9c0e3aea4cd7dc09fa877e47184286a253c0b13d05c900e2f4e5788ec5f58187f3f08d16f5fb5b0e71df9074548a237bb8352d7b00884088d0ecfb76b03b80a0c7870b3c448f844273638bfef1b884929eff441d39a98099f0df6de329d802c294b8fe0c64258a3446120d312022efc0d8abc5ce5920c00b04ebd2a3bbea2fe581ff1a0eb4bee7b5395b2a1d235769df8622a939fa8e80976294c4368a4195c4379f97d7a642c246cf81ecaec91b7881e1fd301d7e042088e5fd9b721c6ec81442e852e4d88516da80aa5b0c5e7f9b53c80e0f617354a0a12b003ad4ed6f559f5340df283eb661fae2ec09a3de21e20c58312718655560e202e29d5b691232bb8004d080f69791c40d93da583452ca6078b0e2326727205edb3f64bae5874cb73c364c9752cc03eee548a37c5d5372c137dddbabb6abc0f1366399ea8a88e1e212d4567c64581153f27f8c57cabb0ae1d8b1e5ce44a140ac80ae5ca33dbd9d9984d23021cee2374ef1f676634558208876dc6fed7c462027be5b03227df28486032c9587f3ef7c31f3e80bd6ec433d378043091f045a50652b315e434c7558ffbe50d8fe786265405646aca3d24ec6dbe5c23279c2dd7005a600983fd40ef949f2cc592f3aa0f33736664bc74835b21fe248f3ed392980d2394c7ae16ab9815f647083f607f3c1917042fb82659cefbba9310d16afb060c5f9966241d955ea9324b62a32a31dd02fd84c997a951210648e22fcf5bebd807bc2db94a37e7a0ff4d0ffb4d79ec4543a97a4ce38dab12562706559753c459014c2b0a0a645812f76c9800eb63e9558a8bbfffe01484daaba3990cbefb39c2055fd33e4e0e93e73ea960bc5041c92f210c8daaaec134c5ef25184b50098d9008e78de22ecbbcc90b2159a68ebe4297da3082bca691b00e44b99552f10613f90e7761703c098df2374428015c397a20bd4edc16ce17a182fea476c00ef54dfc05f96c437450646759c6deca1d993fbb35bf24688603da0b8b17101e1a2e905303d1946a7e26f563a408bc576b729b907aa7cd80bda856bffd55cd669a81de9f0cb30255169421304abb0f307f788a22d4b591faafdd708e00e6444ed4cd1e4425e9fdd3e8910ac95d66701ab9f595ba6d7f06467be569ea58e8f1a7d22929d56c5a5bcb8305dfc7ff831e664c102ef25306c4a7dc7a6abc6bd4e3d53abba08e599785d2157e8b096e78cdeccea1398d7ef30093201a2f4796d727812cba6ce8ca3ae1a93da06118986954ea6c04227278b9796399a7ea901a71cd997f5d88e293c1bff41c6351c18e8323e0c0a2f3fe816052b781c6d71a2fdc0e9ec79d3ed359ff162760513464030e89be778b8e9b0a35a5f0c563a570cbb96ac964ea3fe31f5f14ea9b715820773d876d7177111d9fc8dca43ce8137045c4da3a6a652ff1f20113955e70a132a6edefcc0c9f4ca0ca31a1ce7c1f70fd87dd01b0100e56a5ece08d21dd7f8a202e87b4fdbb0b0bb00a2b0e76cfd47abc8bc8e0933f19be80bd3d2ea9fff25efdba647c8bc34aa10b12087ff565577e53202d2201c8a1d9864a0c3cfb4ec532f0f2148cb5c878ba6d608d5e8db79ee4a0ba063570d1717a9fedba885dda4d4cf7445c0c6f8d1a934e13cc032c1f32e970ea1eaa23a57f0c2b40a512af0a04bb99dda8e9d7c6ba20917bed4614ae42a52c37a4fff6fcac5e349671ce8c786c4fc3d2fdd5f278b0c74f202bb57f1f2eeffad15d047536548a8246d85e8a2602e7ee77dfe5ab729173070b1b8b89a108e0d35c79e5a93a9ae03cd8bdb4443ada7a57892cc9ccadf40913158ce5e1571b12ecef89e8528134aa85ded570082ca4bd0058998ebad6c692601d13a76deb5fcf6acb714f6bd6e7b6231e7994c9b6c40a222e8648a2230478ab3632d9379b5067dbde23b717dca0823f0b56d45339375ef7a082287220d9884c745fb48440f3955f702e2441d2cdbb0f9f7850e65a76e94bf973fe676babdcb20123f12be69e14b0bda14f450ba133f07caa68b386d28b7bbe267cf5be20c0871a0858325fce820d53106cd849e13cf159915a8982f87bb961b9638ffdf3314b182e2031549f40e5ad7f5b564af8967107b6bc1051e9fa2f2aefcd326bb463dd9f75941cee304ef401ed7b8c9f76b981b02b161abedfcf5e89a18193a9f0f56906475240408d6fef4181da83daf35caa5575dffcb961253f469baf83dd0d3c91cbc1f6d03f79128d174da8d51d5ea3879bcb0dc79cf11eda79056d9207acf9890071b65fab58732079703f9486c00b6e55bbf97fd297ea599f413f14e265daf082f9547be3b7a8e2ae246d6a3235ac8a3f4850417399d8280a1c1235e7ace9cb920240adf0e7ae02bb7cc3d23113559ac19bdb14ff08501cbfc12834d54a5054e3e02d4291791be79cadc09366adba66ac8add736b89643073afde99de9beea77d63f7c1234e9193eef7ada51911ce1c852ef11316a6697f33dec2d635f83dea7bdd0b2ee510eff071fc97c74797c05571a3aa312bd29564ed7e7d501898f26cf6e7ed036722d6da950c04e9058c9b6f902ab19638fcb1877a19f1a8836f7c33747f58698c51cb3fe9f8ef26541d113f2199d917f5c4a34f208f4bba494bf702da10959b334b10c1e4ba629dc4674a02d9c9560d29f931afc199dc8c29abf60fe69993d2d4783515c0cbb6bc0e07f70f6c894b3800a921383a4feee70291bc0f1936f1020f30bcbb9b927b0a2005166a959c766638ac11b3cf38b84dffe4a6e85f416f11e1be307ae5c04304ec5832820099ebc83c4286226fb0059ad8271678c5ea7ab963d248025e9f87aba9fe52d75b63bf13f25e01f135c4244eee52dfdd64b3db3cc0b4711c082ff5bd299c2f6fee54c3d1548764017eae8f71045f429fa7bc177ae5d3b44491a4848cb63bf0ab4aa43ddfc6dc7c691865402bc88dea6dd22386203f23691e0458a5ee77a3828fc25db0a6ddab5c8c9eb995ba6d22a3b81520d855669a5028da96a62cf15fc9460ec859066159cd778f5a6b41c24e1156a8e9f8cf5b8955d1e000e0b01cf40e1dcfd71a53cdd62f2a502362f8407e418e8ed627c18ee7873a1339ac152633bf84efc4ec500b40668a9aa6cbff05bff17c3c14c326358ca8bce0085e9f65247c4fe8a1cb3435dcb3c20a6c9ed73bce62d150bd59f604a0d213fba6881ddc6b4abba2ed2e2be95de8bc1fcb2f377a14e148b8ea17a9a940d4800567937ca1e973486c139f5a20255c22a02bc735fed78f6fc811626f2421c90a8d54bf56954642dc7a643c46a924d1c79c3ef170170691527bcae58b23fec6d5b8a9d3a93b84fcd7d001ee6072a76912de4940a514f3b0218ad59824e445f7207f1c1668f6ce8d8fb5471cb2b3019deff5dcc50e902b5366fcca74f1270a466296978c091ac2f632c5433914e322a7c46c8dcb7040e7bdac1ad4f86730eec27be6503ef64ff38ebb6f5573bda07b940fa4f6f5d86d6bab6461131f499ed69a6930156d9b87c57fb9c0eb5874c55c339cf77cb25e96f1fbaa56e830b1acac81ec0afedac56b7afaa72170e3f6c7e0502771b14e66faa8729b0349cb14569c920bb2846bb47807479669c51ab9285f853b235f1576e84b0d4fb12783a7be27c7a8a3803d4fdaed41a67d674f36f4857791f127b8733f2c78d1cc8d300986d696a3187753ffc7065a4b9b9df14213c2bcd14c8ae0653849df55d87c940ea4c17bc2cb2c50924a32a4d8c1f9cf563fa3792a71dcad0501ccda6449d4155b2f34a8a1cd2bf1ea0da9e7c513108e137de854c9e206424f9783e2f33810389997fcade94c5b5f67d2d948e6aeb88c18563a1ae0f4eb01143e9bb9bf62085671e41af7b4890b33eb01a234b564878bb480fb1a51f7f4f77ad08332642a5e44cc540045bd5c8a56c98ae058fc141d43e22348b30bb632e114c1d7c606a281553f10d19c0458aa6d3410fbe026870810b5256e4411adde7d45b1d3fe7d586933e4b9d4d116dd7e3e3b4ed61bf1028482575391aee66c81e21113ebdc8b8aab0acf43ab8195894d0fb50539d3070121014f821eff3e95d0de3770b1d2e0750602bf7db4b7424f0f211421e2a6d903b9120ab566933b9464097a4f383ada37d99ae90353754e127aa39e1b2ee41e0b0d7d4f8302a3a09d0ffc34eecd5cc8c173ef5c62351a296c9ac8dfa0dbed8802004970bf9694e189eeea04b15ebffa75f444994d7d1906f7618881596f39030e33c6ce7ef9cd0397ff2973231da846368dd8719e7b3dc8fd272e2dbd29c66101253946bb7443835220bc5aee905c9146fdd33bddf0c93f4706ef2796b8770b045031fe65d1f414641be9e114155b5159a8c38c33d8f16d81eec3956d39c4550448a18cbee46ed841635eebbb5c4c0892de93897877e0d5ad8b445e094810c90adb4c1ef18f102ad91c6a846790ec1d3f298a439cce85a311e98e949d3c620500cbb311d81a41565a0087e4168669331b98e18911533c54aee9082fe0c07ace0e89b5bdc3f558f43f419ccc114fd8ae479711cf781206e87dbc62a8f12fbeb30fc7dacc142061845ed83693d2efbe07d32f21041f23bfce47cd3c466c1332df0f17018851bf565fa09d165446079d2f92741596e2297b6adfd27b1d82cde0890011dd21355b54318710745d3802db089935f12ba1e56e85a77ab5e7cefb5cb90876186c0b3844550461f6dd6c8c4ddac5814222d127f5c50552452861c2e4830ed7bc3bf539b617e731e478b6894e212270112cfa8ec8cab459045d329b1a4b09b2ba61f472bc18b0bd10d94eda80e353a18d8c5c4bf32f11138eaa6a4cb7fb0db32f0793b46f20cdacec2090a9f9dfdc9da8d11e0e87313f16463830e758c50cdae1952aed2559c525a4643161190406d93cbf5a50a459be35163c060a4cb30b1667a9e0379999b247b38c3c2f63fbc4733e3f884e250d53749007e8e59aa30e95f8dff618e55c22035aa20cbf5ebf48ebb918921b46ec0e8e89f0efea365c0485d004b9fa2f4b7de28c2ee77b0ba4fa1904c6a1ff738634f035187b58f98a0931bc661c65faef2941f4b1d5920fbad103726d4c2f6b60cd141f745ceaf23d0fba1b870cfdc30211aa5abd255018a801f1e81ea2106911859e2ee0ccd2552d086d598d09a9bca51c36c386faa0d2b9443d3f375df2616703e45417678754dc0e1769e69fae4594e39c734262d7a1e3c1da68cd2a816b8d5153ffb4c8265b350f29d8d32e24db7c20e48d8a60c4bbecff9ae5bdfa4f72fdd90d55e2a454b33c0235572737012223a057337720454c75e0174a0d9b00c1267108f42bf71b75d20345ce020001020007e6b05dcff88c02a6e021e38407c037e034921f21f2baa284a9fe396b4b5a5021982fb5970b925b816d1fc204c08634c22e5c3c020002ff4389f4b8bbf6e635837c6244a0b54a94207286f47d418283f747d724d9c69e000226afac6363ffd55103d6cb91f1b7dacfe6b808b710c83593a7a19a36e00969042c020901e6f3e7b3824b78a2012cb527aa519fc393005f2794d675225618d4173b7d5f927ca7146c01ed873f2101c0e687b220d92ae47a40871aade03e50d9893300bd4998b90553b6c48a870dae16fb47f308e87019b22f6f2726b59e51f83f8837eb8ee14ce50d87a62689b517d75ecdd70194324ad703e70c828a93b3abe96939ab475e82f51e0c2b0edd8eaa0743e8ca0badee41f0574aea97a47eb9fbb20d30fe8bc81f9e874d7faf42fbde9012c70109428917bcdc9a49098ef768740df87f00243cfd6fc0c7f8652e8e518545b2421c17b38c4ac8eeae27b45bbee914acadc64a724616233bb8e43eff8f2810550fbeea30b33efa26b17e32b25b234009af529392b44405d3a1fc2cb28c66495c5d01e4b3338d235ad096c336de901be2d2a7dad4ae6f46b42bdeda2c15c8380cf608a75502d51aa0008f956e4ab03272cd222739e5b308b4c69408c143378d6a1d0237c152f858671fb529b7d3c89fd81e2349b901f9cab91660c0e18e1f5133920b0e9f4ae3c5533ceac495d9ee5080379cc2fec2a34d1c5e97647658979296010078debd22020932e477d31216bec2422df649515731a965f3583261aca069b604efcc990b7d9deb3bc3ff2b507e1507f6b5b53018ac6d2671c3ddda66c30b6f018ee5d082b78be79572181f059a5b58a6099bc04e6768c924ecac2c10133f3606ea642e73ca093ead3dbe6da47bfa8c59db3a1a33a039a4500829b9dbd66a5b0c37ac460624bb14918baa064b24e0f535e8dc274cb73a50adcfee1243ccbba50614b05b695800122a803d9335f9e54d3d9e129cffff4fd11cd58fb75a7b123a0f5c3232f18df55d0e7194fe25c37a4a18ab849b5884afc7a0d6b14f17f1777f093d8b20ca4cc7368eb9d204ccfe285b2584ed675c1d17dd6722dadd8913f27e03a5ae63ff18ad35fa2babdea46c2eb187a8a47285ea55198e4abd8717c378530827a718a3ae2c73a911f1721fdafc3ad0d13d35d60eb3f11f1497e678b82b930ec114d458feca7f84f612f83b9488016493e46cfe81a32270b52dffff9adfc30415addd4fab6cb01ada962bfcea4ac9e56e041e775cff8baa2de5231ecc36a906010bb413f07c3f4803ae28d966e61e689194c6e256867a91939383f21ef84d0b302cf84b3c1952a38c1df27164bd64a0a767433b50eb49a00ffdf376acdef803d14a9e4265ec9c0239aae860de17249cb1610956559beb59d9fea29c6a9ae906928ccd85423cce10adfcb84821ba2c42a8dc12413ac29bb06265d1a9272d2e097a39475973192dafcb4bb3d4956ae7ddef530753a48da019253ae1a5476da304d15a892913c37a5c2c9f1685e289bcb08a9112da3c52889af13c796085e0c004170c90db8d09b417d5319af1aa0d0e4f87445004b1f4c6883500c4b5a5298101359847c05ea2c4c226fbe0a8aa287e39b80b2d202ba1926e2162902a6f3b0f09508f01a6efeb2370a0efdb6914e5d1ece33ec82c0d6e0d6c54eb8577f0179309245f16cfda015a123f908cb0ded1ba036490fd8f1e3df1f16569a0bc998a4106a269edde95bad0a24b0211f1ce61f9e44b552d086d0a5c06c9366dd18fbda108a08ab2c0e5ea13455c31713cda4cc168550ec63682726dfe11cda7beb542160450a55f6245bae10dc8fafd1fdda333febf078cb78add203a24334d7b319be30f233561a828d9072eb661052675cce6bac1b260a8f22390f7511bb1614a44e50afd8a5a633834fcf393e1924651fd89d1477a5825c82cfd87324c00f40a7e140c73554c4ae885def55a2bd64bbfce846811ca6fbe06943db43396194e942cb605466c56313e87522d482ac00485575f54a8e019d5023eb64a4738963d7cd7bb0c52305aad1f5c2e5d3ce20da66c91a41b0a0ff0506d6f4df0ed78dc11a3f24f09360fa9dd024497841606748394e69ef38d9ce407dd3e74ab19a8723459e6920de252949aa5f4cb38f1dd75d0b88b066cf10e5db8e5b764625ceed65ffb9e6904a6bcf02902affc1d911405b1b4c7ea6f9f2861dc6da274b6fded4685ac446f02e3972e81a76d9dcf9a5323caface58fb18fe469bad2f83bc983cfb324c88870f019cf6af990090b8f2c98f70c2d12707b91fe6880f90bca06be550d0ae16640cf3f5d5fa877cbc3547b884fb528a45a0bbcee19e7361b9359e0cd3aa72a23d0226680be73b028b984be44f61849ae59dae5dd0e2361370cb07c4e13c037cad0d4468b1f0557f976980137af91b45d04c3c008ac426a6ab99ae4277ea7fe7340d2d7bf93ede69ad1109db6bf03e01a9db91c238f8dddba83364054122055fa901f0c33a6a67f5654bd159dae2f6b9fb4ef2ea2b2bbb451d1584c234d0a6f6d4069a783059f916d8814edc5ea983102d4fcc4659367ae23a104fed98cac682c30e85e919ea6aa074cdd1a674a3790ea1a6c898fab15774f6bfd3c053e03fb09e0f04b4c1241de8a6fde42bb4cd863cbcab8e156dfc8f59afd359ca81e8413c600c0e73979f0935c8ed2b55ed8f6e81dd0de21c28bf4f7a5232a00cc4a88e902f00e570041800b3550278ed694c2a67cfaae2100b683a4dd4365dbecaadc479b0002cb9d83db591f12d55aa39fc772b283e868ebad34c90c2ab5bb2ef712c9ba209ee685a1960f4e2d4d4748f25c3a032a6de998f375af0cfefd672ddd4caa38d044c55b53a33a3c15ac54012f8dd905c1a779fb520d9f0ad195c69ec81e0004b0b56648cda7581a9a8e41ea97120cef65f7772d45111773acf65b8ea4448428207b8306a676278a67f86fbe217e3336c926fc911ee0d6fb6aab575c1b965b9d7037c795da426253f31aee8913504399e14ef007ae9e58d3435f488094089771c0192b9c23f9dfaf902bf028f1a50910749e9df256621a559baa91daf6772b281006ffef216baac9f3a822d6bf51e2d6df7ee5618b28021791c1979900f891ba00b71f3fb7fd27d5472fa37150a3518f382d74356da44db286d8fd2176d7f76eb05178ab4d499d46c6812126ad8d35e892c978ba8303686bc9dfe3b7766d4b888014879f2f22d7d6e65f7b1f43f1000039a8ec0c57d91e52f821e49c46e36cf380f6c1a43c108a0156444e378f266fb9a606adc8f2c09c452005594714763b6f4061f7790a872cd1db4aefe3738a8134016fa18302ba4f7e862e814aecb1485910df04c19e54d72bc71f540a671825727585f90a162441a4d9d3c861af7233c0a0935beaa5b5f6530c1056afcb529470c044163a2ada7bcb03402a764e558a06a0153aee65387302cb08cf708105b199fe909368b1173724e55893fb9863b89fb0f345c34c73b18b8d3de27af7036bcc26c9a73454a5eb70f99b3343706a6f503060677dea896c2ffd69b584747887326c224602f4faa751b00457fe239bdb6ca06c1d328128b2f1372d2627899096f4c2b5bf7a101208f3e671cac9d39f3050b01d656478928a2176da560cc6f2f689730e60f881e8d3b4a31979f5471196f2201ae73646f999b70c895f228ee6c755e7148b0d265cb6506a5994f015ce5492409121f148237ead706eb5b9292a206347918c0c64aa5a28a34c7dfe14ab5d7fc06e9c861d621c83be7c84a8dba51969e719d30076c8ed76af9143b55d114e57900b145ff471e124238f48908ec993d8f114ff9a8cb2c2490c3257b44df14890c0b6a507840be08fb494e0bdc539d090be33eff7bc1acd5fc16667c5a0ebb7f02017782d0340c48c0a0a2070b5948aabea113d3f79632b107a2252c48865631b6096bdfbeee70dad019cc798ab17883cdf269fe8a3a13407ba2e609c613135b6d09b4aef21d7487ab7d1d289146dcc513f1a7a951e1b0d0a5e571ec68a26f906d04065b549ec04d4e269f43ed006f458057072ede639a2a99dca00a38f19c72c60dba0769ec223843fefb4db489665136dbdcf3d1d4fa3625186965420f3fc4cd030c6e123a1f008f11d16364a9d7172b1cac7194508f0be65e0d9250499929e2021b137e6998d55e4142021e93d4346276ee0b3c43697adedfc872979e94b67102e09eb51f395830425c8c9d09cefa8fbb24df25d30f565270bb1b104ab84dca0f9be210f887ee0148d3285cca4c8a48e88291c1d56f50ccd56377afcab363e809214a86ff79e4c76c080478e699fe6dbe1973eb20a36285ba7b58008a2e6db60f0fd66234d27f0281492d90c03748ec7b15cd4a70f7fe252da0a70f1eb109f00e700c602c23e18cd9f8a29aeefef1b6fb88b030a52eb29dec88f8ac7fe95aee0906f0c3aa4f44cfbc641e6ff2dbeaccbe4ee9d5b0be0b6f97cb8ab6edf6a61f05f8576aa0f5f66b4036db3dbacce3d214e13579f3addcd3fc5390a1a23585da08babbdd63d06a28dacf306ffdbe85d62b97937310223e018e3a1828ec23ee010637f4aa93a2645f456b115ab459e4e2597c90b48b8df0960869b39ed7465a030c8b8f1ff2532b93c936a6b013e6d0e178bdb57e7368d3be6843e4c6252aac760a57fab1820da46f5473fac10114ccd50edbf9e5b9db70ee94089e578ba8868008f3986a3a27831cb36d299da65e43ad7fd58459243ddbb110b93d83682e4bdf0546b8c4c9fb369b4f855548c8b7f846bb471366dc6ee5d2557091a23ae249a307fe96881a90a793e8c8d48783db54d18ce05b2b7bdd87bf6924131f0b4d7ac10fe3be203de1adcee869cf4a705758719184888812d4125c7db6b8d0684277d20676f5c54aaca415c106b603ca134fee753678304996aebb3c8fdce724e823da0e198d6d1d74aa9df165179dbf3bfa0095731caa7494a4480aab7d40236d988d037aa2a30873d1895bb5938bca4bbc734c56b05b0df5a76c2df4941d53b21f120e60c14a0fe946af169fd2b5281d0b39cf0f71d4b353a032f1440923e18a568b0ea9456bfe00cf022f2b6ecfab9333b37f81a0a98381edf6942a50075742673d02593d3626300ddc88182858781b3155e72c01f9d2c50e74160fc6c02d16d5dc02ed1beb2a8f55b9a9375b16b1b0ff1a9d26dbe346e8bef13871799f8876bee606b06bd8662362c00314ad08281b072c8593a24cf33819cbb7fa6b5282af077809ad9ae961eb38c96e0839f2dd07905e4b56e76bbce6ab4c05478cb41eab2f5604b2d012639e5916c9934dc862a62d1491a18906a364307dc7587d9b9a5961660ac032aca59d69b234f78f67c432128b6a70614ca48840a368b99fd0db63b4fe051b3be7ddc82b1e87c35dba4004b38a6d2f8ed81db3f857cbccc6ee68cc043907aaa68478f6513886792438289ca655daa47ec004feaa776a93a0c3a85a30a0050b29a13e4ce46efd0fc097adb2bd068a3c5b8e7a42143fc27e3cda5ee25e6d0e10917cb1727d19cd9b1ee11751583d11c35e30ffdda549fe35e9d708de9ec40fd2fce3d2c953fd90a528a4709882b600124854fbabe38d349dc83e06e923a606f9fb199de7b9b5dd7d5bb3b0b52e514740180fe1799ab7ed5892606f01d91009191b45525fdbb5cc576f220e6e69fddfc930738c42325d5053a68c28bb43240bf5455954ec154260b883078ac9dcf7598d2d77ca816aabf5ceabdee79db3340d77fc13e417b9f4446fc34dd9d0152568feb6168281d53da5f7b3077ff511d603145bbc8cd1845d342eca01ef824e07e9a21f13a35541cc053a19f69cb66e1708d892e5960a767b1af56df8bacad732478d7827a9e9682f60470eedbf661df307da6a8277e4db25749c5d44706ec7b815004916b89848b65918ce0c48aa897a0901783d5655506ad83c1d613b7333e7054ae837d9d6ef84291a9181356f07ca0124f29249314602adec13e8ca1441d2d7bd749dc637e2f49f3a32c90a220ca609ad2193567489828f6d07685ed237457369b6ce1520e541b241dc0adf3e8a43017ac27dfdfbefd55f3dc3945faaed35841854c48d27bc75a464dec7f5c0e4e8066a8a9dc834a95b8f003aa2c5d6e629bd18f16ffa9bb3071f6fa4f404e1228d05987ebf3e49e28c9fb24f0e1e01bd90c758c8aed5721b076758d6d4d6d3bb8b0ac6bb83bc3ea4efc3debfea7025f4b98c4410b4bf5650c97ba90a5a2ffec63c05e8b5e9a5384785956855d899bfb57f5c7e239e68f25e8443c45798faf1a0f0028e9e498e9657a56ee137472c5f7514819c766a2c8db64e2e9d5dcd6c4923670367e058eb1ecb5fd1e07684aee3d8a6423564f513be0cd7ad1ada46a191f13c6a92702aea8747e11653b00fc1bf7d977b6e572bc2a89c8832d70c08a6c4b8d1631f4858c6d210e92e919c8fb9c40ac566b8c5364c976740d2115e92244868bfacb24607e6a65cf3f9aed535c19394cc937b069744198e6a6fab647534d518b1a4872bef400d6881cf842f5d6d69593035830b45ee03265172da8cecada13515016b91e1e323f1e0c5ec73eeb5230b50f55d33dba933f6debbd9a7c48f912f0ef41dfb095221d8f87e50016516dbf120fff70eba27ae7e757940c5acf89045f5f49dbf006bb112b81958b584e9a76c67571e29737564e5ee6b026001dc7ec470b54dec911f99317584d7ff2fd25284d68ab0cb4ba3be30a1a715e0512599a6a7593e82362cdf9984b952056f5894867ecc155c8a2c996e90f6942ab3443fc9cf85edb65202558f28438888e8291729ee32fa5fb923e96edf1fda564d013c8588389f61b298218769aa2aac2dfaf918c7680ea38408b5e9df073d08e93d5758fbec0db9bae5b8eb5b8536a52e4b1a8d362ba57370a12e9d2127f62c0972264cdbeddf2682016182b52cf65f10b6f4f5edab3eeeb4526374d73251231bd1cc7770952b0d153d58aa44ee06b18c7a8814d881b1da5b73d7a636513a0e1775abf351e7898be9af796c834bfbab389d676e0b786896e492a0b2e2792e9081153acd6e64384eb5e06c57b0f0e2d980ffaf82aeb220848d794b4e98604f14a3af36ddf782aa6edf895d247017585034a3ddff100a520daa50dae9f23591c11cb3aed0d4b3bbcfeb700a97731c4f9d79af0b9f922f023f2b9c74e654d213312a61eae507ff3ab0e30009789c7e67a84bbb7082833f199822f790e30594a895be4653195b122b9aa734777478510925264d90af680cb7ad2d1182e668962ff46769cab33f27728c1b89df7bd60c7f02d25cfb576b7fa0978acb4e85c5596eca2bc5e875a9a7d949604faa7c46a8f43fc0d5f60f9adcecad92183496bd56e6c6b11c79be9eefd71490a0612b25e41615c53bf0c510a320a4f618d14dd286a11d48d80df0d8f1684f8e845815915927678c9ae4770ff86df801d2a1d9c5959acaefcdf707d0f87f5350b9a28f6f41e183e215ec26d6f427878b98ba00b274c52ddc1f16b30ac33b283cda281425faf1c7326119965610fcc152d06962839adbaaf0743f62c2a0e38421dc8ba1a110e92f7230d526ec2966e8deddc9d0a32ec724efe20590e2623a744750d515a79412d338e0c2c4f3787c16b842f6fa5baff7541608bcdab8b74e34af8f924c11916f5816fcd6b920b54627a209dee0b744bcf3548fd6bab728a13ea749f4c16961201cef11f62e61f7c42b88724095e120b6b098be2196102141a58da410bf4362b71844677627ebf453d312b88839b0ec968f4685425bad19551bc1e348552d6d134d1601cf09fed9d193fb560e2549ca532b9d67840cfd0c8a363bc8a99edceae8de9668391161583de1e0a28423b52c40b6d320579ee6ad297d1f4f0c48e9bdcc7b6848997e112e65f3c786b9ebe15c8e52e7b316b4b17694f3781f68e30a989cd45229f5d67a8c2f9d5761485c8f1a93d2b7f8d8e9578e18556e2d96f1185bd8f91283518d1f1ee1ae77f2ca7c0ef5632886265fd94e71517a07567b96e63877a781a977cb28282911c90e583373cf1f895c5a075501d1d8bf819efa629ba45a5b58382fa2068ad18b9a4fd1addf5bdfeceed942ff56e7d7f324dca65eaf6872a5a5b68c7e3e686e7e474f2c7a8409c1c84d0362cec41929a20bb2b626132394075db1dee695d1237db7dd09f87be9f87bbb19d570ecd127ae1309adc9790281355154b778fccf74ac79bd6bf0a42e1cf2ccf1f72baa658d6d280fedda5c8e2b820fbcabe93915c8cdb15aa470b1bd1eee38d51cb3b5925b7f20744779325989177ae7dc833752ea8735a0c2978b1d2bf738100af1f6ce4c4d8e909ca8122b45565fbfd8bc8f83183dbdf310d1f7ed3fc783e4ac6420b18fdc9fff4d30b9714fb8b640a65ba49f082d4a92069f18a6064433587b75c35045543666c651c7ace2fff06b977824c5a13b49d8d61efe3d0e0f60b053bb8faa95d7294399f559182c7f45f0700bdda67e26fe9d00df9800bf0d9d0fda57b06a315912d815d231f3a6dcfe901d6c71280ee27723652dd283a8b1a94231237b7f8af1adb5a7fcfbbf54b537c12699b065370f09e59b24bb798fbd46965b7fc67337ef7a5005abf78c58946a57803b8e081ec7e01dff4c31215be469f17c304a86f2ddcb0ae27fb792ab0eca3f8e48062c8590f61848dba4a45df284fcf42d2d28b5fb5ca735445328a12ae108086af4ae57eb0a2846bf2c08afefd09022f1c2391d244ff39587e442062a751f98802790568662ac651a9095b71d01a259a7f61be91cefcee9a923e837a47b4c5c5fdf8bca562b1729840cb7d0c2b6158a25cd909bae267995d86e0ef04a46406119aabb2ec1db8ebadf32bad08b21da078af32d69e189e4f272a68aa948476e99dfc35fbc067915ca046b2594b4dc2425574eda02a3e612e0f77d433afc28ece1f089a28158890376c8fd35308958e0e8c7708e78e7ef142cfb22cdbe50c02b8c59a0245954a2b8d1e4cf3af49b472996b36d7fd4edf8ae01e71a58e20aa1d14b370c19633ac79000454811cb44872bc9cd94e1a7ea45733f260399032210fec3c8c4b028bc84307274c12180a16488a7eb1b81ce319731583189bb4515bd8fa356ae26e7f021a71c33a55bf928f13bc1892fbe05c648fa826a7c81b0c28e4322359b26e0c2ea1bbcd5381d297ddbb6867cff87791a7fe433355731fb91056d3eeea98bd1423b580e9df854b76f652f5d0b7c1c0fb40dca94a085cd48ab0dfbb8c9036c5b0ebc0bd372a2ca1444db8abf2b68039b7c37e62f5162d2fd4e627ade0493a5e68ac877b626bfe964e6abd43baaf60bf93354130ca941c4e74b00e5c5245366902092db27d45187da26e8d5c00f760dc75b76d7bbd4880d9350403f655073a610d95aa6b78391eec753f0c77fddca093fc2cf16f19ffaa45359cfb2bc4dfce4a460d669df06c82aad030be2423d780d37845824f62247d66e0dea6fbf2e6ff8e2c5ee2d6ef2f1d0fb0f963fb8e38d07ec9ed3df0346b062a82096d3509f21cccd20a3eb38f39bab71592fea7412cd0c2b561c6de4c9763a6578d8a7b80e73ac6c7dbbcba4dc040d5f9bb39693f7fc0ad785c2c8fbb5b5fe668c7ec6ebabb33a3ee4cc1bc7825346a4eeeb4a16e7db0a9c71675595e4d5d7d220cae9a5b1c19e15adfe0904b7a2b7fc32e952249b1c01208c288c8459a5d8c9adcb8b739af0b80090784fc9c6b94e6b97c1a0ddfd93090c75820dc6a22f5cb0989ebb23c54517d7934404686c8d2fadea737572a4820a7871428f2dcbd4c4323c86439cc71d4dc1d7eeb68a28741e1e5b3f597f6e840db1a9742ee2a811a9644d889527e3389517dfa4a23c10a04c5574417233ecbf02529e57b421e7de5b7993beb80d747784b5324193c9e2aa07ccc577231924b302dc64670fd38c3dd4274529a87138da82293245eae1a76b3ec2254bb57199060cb7590d499e1f807760f1abc1b96febdd990a75e398d53dbbd0efe434cce6870d40cf978c63e99316da87278213d62ff6c4095c64e2707104590f584fddfcc10ca171ae04e265f26de6e162324d7dae1701cfb28600f58c84c8c3f9592d739b007cd3735dbf2f1b0eccd08ca4470dc8ed87c77de22a5bb4502e45d0cb2e2d0b09698f7d624231b9eb9d807d7083899e08b35c8f8281251d18aaf775d5a712f70fe52da5fb4d8ac9a21ff98d4deffd71225c5a22f1dd0bad02417ff8094e7ffc05504e3af89b15601e7d342475655a0cf3341b620a81d85224cfc8853ef88aa00c437266f3de37682d7b5104d48937beeed1f4aeba26826172aa193763aa46010c5fb36ad5a0fdd3d6de44139afe877d831edb96e0448f474b1ae3321b86abf40a793bd28b9dff5a30a2811476d26051f15a4be9a426d29d33d100b82ec122e60e253114453f1e6e507a3db4c8f3f2aa51a8ec23010131309f0b47b59149abd8017dc60edf75a04a89e0dd994ef36432b39f1858243bbcf26e7972add1a1ecc50f4167c1cea295a6662d2fe3484c7de15c4edb0fffcc55fc6db0f9fb0fa55faf0c5e1a669cd193cfc49c929f45117902714e57375004fc63b208f4ef3a04cf7e0d412d546fd8bfd2934501438777f672f3da7013779e38558fd897439874910b014f56c87f5dbdafc23b0fa87549dc9b562e5bc6795946df37aaf9d3b3c180c00d372a5b8f1b59218c7e00e60fcdd17ebb179583c88bccb57987c5caf0f7611005def96049b1fcf610d3800aaf1d07da6e678fd8a15d93ccaa892ef18f8aa6d608d65f844e411675e893a0798fc233e9683bd8b4320694190b036a9d36ebdcc1001bf05c1e49c86b6d70f2f9a05aaff4fbb58d076175e643ee745d09820c406508b97d9f832f9a57e262c239d6bdab052af133ba6f986190383c4ebeb56f278e02cc73309aec90e155f2b3bdf4677ce80b539552a645a108e7c5f9b7001b05fa02a1720fbc7e6b155fb70d34c5b3b39e427aba4771f1e7d8b27376a5174070f30f9afe441ffbe0fc8c9dd503b9b5010cedc5097ca03fe82da9ff4662c1edfa700bf04d6eeb538b6c173eb776699057e499cca32cfaf92be4142b3555443cd70a0a4739f92d2b357ed85adb7c341f39c6decaab1a7ed74740b44540229887f8810a9370e207b980d1c7a970284c6ca4df4f2dfe71b0acf0751aa4b0cfa1e10a9301f958eb16a2b8a028f8e4164309b21263d849496dea7fcd30a2b42cc48274930d3067421ca53dc55da9ceb8530b5f58d02f13bb5e0a4a0da1db49fd5de0859d025ccb56c9a9e53561483dc8c4bfebd2d2928bc918460155976d2b5ff7ac86910c4ab388ccc8b6bd5f1d6b2ea095a361b9d24f37f831b39540a60933d21d127507485faf5cc2d25b993ccae84609ff75701ae488eef2bb39d7a1679b1862e8880b2666a26e2c32b102779176cd5f7568d912c6ed6e1c562d638fd31fa220352d0d9f66358eaf6d3385caf67114ee50124e3d800b3e8a4731f4510804917f65e70594439aeb2b782a73760ada92418f373eca892e31bc50c84850626d920d88cf078aee1b6d6c2155c69d89e16135114c4cb99e33b4b529af58f859c4e12f3af308cfc3be8f907d86949748e6020154b1af3caf1669fc7743c85f139bcda960e60b885a34e22823b20fc4323a5f10588fe95a178f127ed27a691fde9e617731770aeb19c7691c9b42bfc0038b1fd8f10e902123e2822d0d53c3c0ee82b58c536b0b01bcd9b2d8dae0e961a9c1c3f74b101334c7967456d78de1f085b874a6fb4603b27bed09916464f1756aefc1af855db8d31e1b0563cc4fa341da88c92e1d190e0f78dd02b811dac214d1bad3745d1f54e5fb86b129eee217cddce49e551365047c511eb718d63b11e494829d9555ad102a03698014781401dea0de3231bee603d078c71824496b0691c43b5b14f6df0b21dad1c88fd3c518ce9bbb84804c4f0b31263d62205f84e30f4ad2704445636c2b8c29e8dfe3a9936f0dcf646f3ddd081fdf51128b6d1af9c4234a8f5e20091a7efaffee609988433e0e77e48e85650bd4db7c0e5475d3ee858e43e4cb9275857544b3c1bf85f84f07130e9b34a2a80156b97402f9820bfe62628d6500bd38e3123b45304459d9573e40dbfc8c3cc20badd8104c994f7ee10f5935cecf1a5b3babd835675f9bb4c13540fd1be7528f08513e1c7620df1000d7e94bfdd01431825cd292d78167d11bce322b8fe24b6e0737b0d95224482287451b75d91418a659d423253c7445cb2263b76096a102000b5f0bdd701c41f87b00d1e12f7cdb71a611126921a9869f1d57c6759be848dc0ff40c9c7dcbcb5fbcc09a62c237aa720dd78e5128b65d636c0554c2f927f7d701cadd1b37e9d0743a3a5efc10d6c0c71db43c115448fbe9bdef5de2d885a4b503c961f05c2f6c715efe526e7897cf8093bf2a9e7c2915b7fd56b1e1ceb9d0ba01a139461078dab0b794808f66fdd42de6f11e1809c859e0ef4ac3e1c4155a290b1310cac0b04ecbd6197813edd41048706e8a99547bf4cd11564875cabf3b6b0e186ed81ab5f2141cff8bd5cfc21121e4a7217b80b8d5c35dcf021f2f91eb9f0a31ad549265675250cb7d2e0a67a4b6ae7c2875e06a9879a824cd24bbd203d5058ed64184b5d859431720e509de8bf1165da050bed204a4214b359d24db988206daf955f843a1ae7dfe4170e58e9b1518279da9f83492b707e01caa451ae5ae068f761c657eae1f55713b0bc3a3b469ccb81eee45b8a08c4863bfd6fbdcb9a30f29c9860475537ab0e24091cfef0628371e96b6b90a750f4415fdb19d5ad289093a0a43dd4933b56b912349043752fabd3fe77d598bd77751a93cb67290a5ad0784339369c9b7c5eeb205be2097df5eb63bf033f3dd4253e03523d75a6e42ad0a5d02087f064c4983e7d68fddc07b0ead73a49af5c53b22f344dff9178268f0055e0d39f2c32d9c97dfe8ce4ef4e18755d9f529bf52eac9112002618e2fe48104875c600cdbc3528c726cac12fdd5c36b9e5c5cf762165d96b2b93d3bea12b50a93aa36d0752c20e6915b291c4d69d9e40ad3337a2948d5eb0959a04dff50ec03b2ecd65376eca1b9e0cf10b4234cffa02469f60db519a18dba69837f4dfabe00edbf4e08b2c5339f671dff3ae84fe30d58ac7ea777740e2f2cb527cbd3a03903f44c6cec6c39b9e42336edb51af2f9218f96052fbe9bc7768d5555b71c67cf0d9086199780d784382baf64451a6ca960a31601c8694762fa2a8ca3ab974540079eed6a6f73b1b1562d69dc9ad031bfa6d98608a2fc19d4cd3c17653deac1340c32f4ec552b07efcc896bc095032b7353caa13e94bc3addd109f81a6270cf3001081c467f4074dacb8edc4bcc5e2ab6ebc2430bf01b206485a2ae59531d70c30d0f93b89227bb0efca61d955e63264051f5df6c8df443a656e946d4476d7dd0084efe4300ff71d485402b1862a2b4eea22c5954f5780e7e3231dae63a10acae001eb84ef069ad001dbf9eae30264ecd680bb1033f2243d762cca1f91a597a880bdf69c4cfef1ff2dec91431f249cbb80e804cd8d946ead503966647c56b57e5023631179da14ecd613899f41245cb8df349c4212efa372fb8dff92305b4732609dd486f8ff47bed6e85d6888bd9b275bd12ad03283405d6e3db0440d171044a0cfddce34e53dc7961bc462e228407c7a206538ecfb8b94953197ea4f0bcc5790c75b26d28b6368ae7d40551f4bcd39f7c7710e96d046746df7bed6af38061b906d8a0ad2d3b1ac4703d447dbcbe881ed539079f2dd86b07abb14d664d9c00d70181f939395ccd0a3505401504e2b113ba720ab5d1a8866fdd68c21ae5af4e6e09799c7dac64287fdb6d6ec8a80606f017a365e2aa4de2f3691859eec31aec8e0777f06e8e02251ada84ce63c6415b64f585cae36a4cb1ae903ffb8be5a3050308edd427ff14ae6ee8087ee729c5d2855e33fddaad17b9844f31e2849159560f0253370ea9ba7c9e96a133e93bd035d067b4b849ed3c5da282dd7fe361163a46088375ef7528b2816dc4e07b2294a14f2115c6e4b9ecfd7c8e643a7f1b176a260cefea6a3cf8a5864071154eb81a86c4f1b347b998d1c853840bf66e6e5cf4e1072908c791df5461c3cc4aa6c8b15961fca8a9ef6c45549bae14d3ac715b8098065d34014276332c9444db448691281858ca6a557fa57c2c204e44b988ed49ac0410aee6366c55c56867f5a6d225dd41744d932efe2bf7420a0b485d68ea2376050f0a4a5f4b5d25b8023302922d3eb2065f362332081493b50790c200d4211609736a627a0ad000c435d5b68cd3f5f208ef051e8e419a44355fcd68fe301d2e02cccaae7db7ffa46c15c033af1d419642f3830fa493c0f4dc76d7e76a7557ef00a8a7994f9a68a9bbceda329df5a7fd5d6ff35c9159c95ff1146a8b1cae3a990bf50140b459f05499ec9189b6a2991e5098a204e41608e7b245ab8a542c458705076828034ff0900102797f14020f1acea64340c646f23adbdab5d974d111c10dc61b0cd5fa62c222529f4e368d51f07a423760d3e4d66e668aa81f5256aa1e0378e9863390a3d49187d899e18f205a5213c12a16517ed9fd6c016ea47721c104a0906eabfec7462c128efb90799e27d153c7940fb68a56c145d8e121499bb205ca38956143d422776e5e881f01ade2645f1505df5c24f4f2f29c8a31a4315a00650b499d964bc83d642b137ad1c7d579479f86e2cd2ab244dc4f0b7d12a4250c9b5ea5f22cbb277654a640ef8ef86c2b3c05293bc8436a9e83867a0180c3230d2a123e14aea5c43318bc76dd74d41847b825ba41f903a987f2021561ee707b030f4932976a2116a491623a740a935f98cb7b719dfef170b4a4cf68a1704eb203c678189952c53e52a3ea4e41417e0e2d29c11d8688f4b249e282f34d2b46550f1bf36eaf173cdcf5e3a92da02fe42ae8aeda512dd411e2019d133c8bb917be06d59875212236aeb706c7c7512b95d959f67a7d54e1ff2a99928a9c42ae88c200fb0a4bad772aeb7a70e23767efeaf24725a355e446213c645b10e597dd99170b0b3c150f668cdfa24848abf9b1911f1dc3d8a28add868dae1a784493e1cbd473829f911dbf34371e6daea31f9872425d9b386666fdaea476881eecd2387339cd46f9a11522ece859c4cdec34d4224c753f361b24b0e64f477f945e9f483748f66d00a9d2e78bb44ac7e84805e7168f321f90aeba72d241ce41affd79a74db02fa98396409b1262011ebce61c5c5b56158558e3800d0523da07b475fe6d0c71ae7b18f6e09022fa453f2c8091c060ba14ce8fcb5276240571a500a7660619071e0ba7378e746146f363ca4e40590174cf358abf43d6a54d7abbd6cb488b0772d1dc9c23bc08f5ffac1a8050de45f63c0ab6725ee85faf9ec81e349ca99da17f83071c580781bd2c5a379a53f67f405b7b2a699a8b4c3d0f2623ad30694ac75cde3b7332eced0d8128e3f7d8683ac9f9d96558b991611b9a2390ee28692a9918e72815b22a2f7a029e26a64bb718c3af4954ce4513a11fdf696e2051bea0c8854d77c9b4ecb5ed621bbd8b26f57f6d9f6d253b49cefc529f853ca4caa5ac38ef297c8d8ad56aa3e51fd94671c55bca913581322d97c0b4ea096110eb68e64cdc4786451c826064111760ed8406acc43b8ca9e50c36601ce28d9108b908475f23a48e8feab3dd80925283970c029a028b8ee56ad713a2f2051bd4f3bf3b7860ec2722f5c279571aa743d1ca27f59b95033ccb49df25436b6a9670ed44c339489faa21cefdb9ae442689855b1d7d147709536299d8d8077b385191f2d33b96aa314008806ba850f6b55d211626a404e2b730082a251d347b195056363efddc39c9b510405db180347d0d14ac7ac02a4a8c1f82eeb390058be7fccd9e38fbcbc9b63d84f97ea316941b3723161bd0cce00897f876a39948e7d17b16cae9ba290ba98f46f389feb6a0658df9c15c2764d0e82b2bc2f21f3bcaae7aa24220de2bc082ab54e132eb8abe40b6e8d25c3b115c9245b03071599da6cbcfd4549edf55eeae15b9873ecd91b2f1482572cdd5da12862b9eea588e27f1cf9ad48a9959ecd288768455197ab44743436050d79301ac7ba00116c23f8e82d5a473dc6c484a8df4d8509ba30dab42268b20d90706bef649cc77be02142e6b4b347b586581b88373a5ff45ce0829b49c9fa0fcb92fcb6d06277f56d8a488de21f77e65e7f412bbdfe32bd86d45b7fd43f896bd3ae06573410e285739a8c08e2ba5434f937b3bd54a546c7d7e88f74782de67e5b7f3ff375b0bf672f1ea2869a6183f0f090dd710a92a1e04054bc68543a421d5dd9781a270541be1cd1e56eab9bf8b2c3fa3da8b366ea94caf1aa75487fc03b4bf79c29810f2f6975eb240cc7e246f12147bc8935f3f185b918f0121581bc1cd359e48fe128f2c5ae41a6f2dc97b8f409883a4e078daf0e784405d6084c769b958afe8712670f8fdaef1aabffc8fd8652a1ce29e1550f96bbfbb2de8713b2101c7d89eb0d0049b09b1114451c324cd7d715336e2ff565040dcfb8b2a1bd37be432990859e102ce40c255b5bd3b560b27026453200224fc94d7d61e29233ac3fc16eeab8bad87911c8cf7a9dcb05ed341e94649927b501a0fa57e88ab9dc5b5d4563cfcfcad564bfecbc3debdf7ae95d9b509c21b983bba54fb7f6cbce604c942c19295c2559bb07a95584e48bfaac0d00b3e52ed8738c8219f56dc9ce135692462def97a743ca7e80e71d614a834ec573c79e453cbf6465b7dd1150dc484194aa810a28963d83126e0c14510d1c91d2739c31ed53020041e7323020d213d40b4951fd69b4dabb16081de7e8d881578dc18bad9366b4f3e33825209e8e50d7e07172b655ed9ef3931bdbc1ee9ecc92eb63441886cc823e91e751900ae0f1560cfefc74813a75fe4d6bd854184b9afb79c77eb0e1172b544d2da21bc383b181b6f613bba806aca2962605fd0d2e69439bf354071a52c651e4ad0c75fc091059ec9f47865b249d479fdd9189cf3f3fb1cf6248447db6d180dfb7994e333fb3949d4e8f941d18fcf97e130283f2f1965c0cf94c7e606a31776fef3e58e8321e0aa6de5ed6f091079c3f893b759d07d46e0af2a43a4ef5a938e6ee4b7749fd9136bf069c0dd5247504ad9f9f7e9e43e25862c1741b968dcf6c73e153d7df1493dceef6d9115f6e0275dc306497c981475a02d302ecf19ee2fcef1c59bb261540fcb8eae697a438a4bd764dcead317acfa8161991b13d2c1e2c3a1956f5b89d1c11544a9a21bf0ea1ba763838c93f1b58097b2f0d84672584dae2e2a3cab3d5b733c2c10202ef634173bd06326ddc5357ed13382c4586b10fdfae7d7032ab38ffe40e8294596133ee985ea41d856721fa506e525aae0907af785645ddc1d8ea585dbb7ae41e6f99f59b4fbcf1e054af4f7dcdec2d5dfdd0a6a604afcada1b4a210dd144e26e58a457b25be0c66517caacb42a6638b66b2c7ec8170985cc6c6b21d27267be9f02e4f0fb742548ad2df20be06dc0244f70bf4a2dfb65883a9004b87eb5ecde73440fb174a8275fa10596383b61e178080b8588512b4e09482eae2d72c31a1ca9c263bd799b05f2a6140f6f1c4d5efefdcace639f9333f1545e593fc00fccdd3386f67a117209d2f6edea10eaacd1e95fb3ee7303166e817f84084948027c44d39ee87e67d215dae3ef6faa097da72607eef2e1bc63ee1c05a5aecf0f8e818bc3eccb3a775a199afe74445dc300316e5507a183423ace92b3f661d7e957c4444414a2033af0c3cb9da3ea8e625a092e8b6caf57c8c2bbb24c8488c33cf9d0deba0dd350f731f75abe3cbcc4a957427378390984cdd2f8f68a9a1a8e98ea823d909044982e03ba3988269ae9db4a7578d6635d0d8c80b0dc360d9807d8ab619a371a4b21e724294501ca969ea7ae45fb65d73c20a14d5f3b9fa8e2f244b17b59001d395a8db679492540fb814b74441fbaef44f08bb9d38ac909fab0dbe8f324625213e91f712ad53c77acbcf11b5913467682d07c5a8fb8d8395e3097271bf86e3b191a76cd9a0e68a040229be490ba243dd3e02ccadff1103183e549d69770e53691671ee2a195b2010d8ce175aa4bc07ea500c5e77334a7b22ac5ddbadc4a6a48102747d32d836f5d5319f516d8acd2803f60fd8f7f0b2d391e64003b45fff334161308c64f5baf60f626e2efa036aa5ad6a03f6a81851c1bada395ba406e067084af336b9836b33345a8109b9b02903b82700713d237ecb93494dba0151fa9cccaaefb88d410f4147ae187a64aec15a9033001d98cf736e1ed76d3ef70d3ab6a09d65166f317f72c0db903da814a770548809e04d073ed9d4be648ab83734d225e154a3031498254e6c92cea36af228cc660e300fd4dc850159d7a2ec0f140f688f70b31fbde4173ada1f417dc598df49c705961533b27729f6fa71d0e206d5cfe8a5d1c9d4e6755bce4be42fff24c7e6380a4f3efedf86c6505dbbeafe0f97c58a0cbe03f9e073e5a7af0d8396faa7b9bf093569e7b8bf476ecbff5ad8bf145002f5331fb347f6ba918da1a5bce9ff757c0822c5ce83bda98e99b5832b83d28ee972855c7c2f72539790ac6db89f804fa80e4dce020001020007c8b9ac01c79a8001cfd53ebaa80dfbc51ab036c70dfa4a639dd92ac357c93c069a71da7bcb21bc14251e859bc0c992e8225988d2db020002c121cd30130c39cbfefbfb5716a1641dacb6855777acddab5b0361feb5d94b090002bdee5333a7712b625638dcf4d09de7921f590b29e4bdc49de3efafdc62b0b1962c020901bb4b02016072d0d9010ba2e63b15d1872c5a931551c528b6bb4354d549096246c3ed8c38160013af8c01c0e687b220a493d4b7e5f4280b88759cec47e1e2c4dabc262c8b4f06ef77b4d17a85aaf30985bea25030cca0c0f7b0c36900c7a1bec7569ae37ed737559f604cf0b02a0602a90cdcd708a8b61a0a52e2e7fef01771f754a0e056638fe003f39d1ee3f82102f75dcc79155e04913bef24d95d25f98ac3454b2f6971c902ea65ed0bf6f38d0f8670700ceceb5f6cc2b5574b8084dec4f7426098fc819e2d35c89e2cdb6cb6b0f8e424a5b69e947be855b25ca02b0024b46388f6640543ebaa8da3447f01cda050e4059abb2b677cc161bc35d9d4b20eb8738632440da2cd88018e0caaa6ca0d1df4c964c8f9743052596cf7a3f3b4fed3ec1c90576b0a5d9cc4dfd069aeaf07654131ef22900180f2bb997638b6d881bbf21d0bcdd3af46c736f02a1ed9d403024f5bdf43d53fd3500f15300008e4a9d7c3751e2e2d4b10adfe05b85d897a00f977be0260a7e1530e4966d985b79d5319cb048b0cde6dbfd69a1400bc4e880bb89a4d6fcf18174c856b4db6a39f893565795c46de957f26eeb7198abd313e021add7e60aea08c6e851aff77eeb7a45d870761af8d21c0b0ee3f56f225ff8706ac82ccc3e5ca0d01b13d08b02e964b135df21f38c76c1ee74a6f5bb65bae9a07b9f138aae626ba3aef20c9cbf2b992da62c1d69ebdb2f6891e942a90386f7a0eaa8351681234887a9ae00e4639f7a246ae80517ccf19c15998039a0cfeffdf0b14382ce014b651c998185e2ca20f0eba899ebad05704e8439c52288d56d53e0fd31907df57faafa9509531a29ecbdd26b36a13016dc929c43bd9da5d52910008912f3eb106a4aac2a780ebdd27798b5e1307ebab70fdd06b8082e00c75d356089ce4d8e93413f2fc8f4346f50f049f77e5eb8539c0c31a531211fb410c021403e8bc4c8bcd97dc618dd0f86d7c99f1928f8f1a98f060c9f20dc0bdc51cb75b0931da372f05f3cc3e2e28e2c7527fc773d568ed7d0e2c487093efb465994e02037c23d60305073adc877e28a50e003d26529c02180140f17fb6265904eca9e904230b02a0db7c4596d6fdf28a07e380894135e4949b646dcb0fecde154661990f833540ae0c44606cc584ef686079efdabda6d0b5ad80dc1d89e2c65cad67ac08dd618e62a9f243c33a283a337e6e0c7875546f592abd82434bfd34d606874c0216f9662980955073f5113a6ffedada3471313f4dc714f818fa3e51be3040e0005def41440b060303f5e2857d1ac8e46c3c7cf8e7aa549576cab0f368cb97160f6ebe0f06363efd3aa1916da4bfa5f85ea6b5a5ce2446e2035e000c599f53770d827117315e3e790c148caf89abaea0aac55a013e41fd8decba9d766dca848700b5f87252db8f5a49705ca3d752f3399c90d14e467a92c2386bbcad41e2068e0cff69256762b6951a730b94799c0b4e626cd1e0c00b516542ff41a79376c2d60bc91df2783f0d7b5b60c7e826f95b6450d2c82afe440975644e3dadeee34ec206c7e5111609568ecb09b6e48c39072371d232169d63ff860deaef5805bb92500fa881104e5463b7d99a20dcf692e11d98e36c308218f603b17c88fd21f5de1d0dc0ab3f8d602834176704fe66c16e8071b89f5d82f3cc014a30b56aacec53370056e18b4491a7384fd4a8892e673a1cd155e74f41bd25f7f636643167f41f24009d64f58f3106c4b20d8005e69dc389cfe39e6b4f687a94d5d045dc1418aab300b0a8ec77d9646c762dc57a244c40ff722fe46a1ea03611228ca9cf6474d4f30932c389eb8ae483100dbd9a1930115f99b9683837cb6c14b202a27610f58aa90a490b9dbb0770dad29792b6a63194f43583c6ad018e8f302c6ecaf35e8a747b0561471926d28b5549295bf0f09f71ede0c40f0b2ac0139577a0bd95884ae2ef0b8ee521472b85b20fde783609ebebdd8b2b807072b220dd2e7bb7d7c85d60b804cdaa7b452724df88bb5b2b4c853398d453606e997f41684420a35d21c5fa8f05285c1f66cee2967ff077c9f4e142ea564ba2d8f577ad93ac0e8a5e6ac2f3630549d2d8a61b4216c1014fce1a9abc70199d211160d181c014a60674ccf12b9c095841128bb4e3c68dc149cd3b4aef26799b714546db1d83662413b63ed78a480cd32209916c2d4db734bec2c5cd915ca780a1ee6e2d6feb19dcb7f6dbeb8b100f91239b33e9dc94a948b453e87dcfa8d39ebdd796fd2e6edfd1877b48dc38c3078c33e8ba54083b438639bac2022d5169db4ccd872f167f239e414e764e28580af38a8d312a4dd3af3476e788589d5b859def5af85b0d0969ecc0fb179804b1023492bb908c331d8d55b8fa5b7550e2924b8bfb05d480bb69f477c98fd9e2090c940db1364e730e396bb67b6b759dc84a0d88d16791c4244355501f19ebf39f0793d67a5a3ec2194f980feb76792da5138dd4daa44898d05bd31697cb0b51140575c61f3d1e7e3862a93337682c68ab1c7b6ce70b16d1d826539b90778481b40ad3d1824df074e079bd428fb0ead5bd34aa784d653c13e3b77c726d59e46bc903210b77548a14f6fea04b04dcacfb9da7e87d07a54973c21d6543685e24913a027d4a4fc4d56f5b60d365adfbede7743b6488df08927f332ed2076f5021ee4e0d389c0ae604da58403528a2f3669fa0473f4b4ac0004264cc6383525eb2940400320dc6bf27f26d4d12a8b08cc7c01188265043bcff2cd66cfc8d233046b0620d4c3eadad80f99651a03e4559a5fd5da2a22eee948b0ff164ff8c629eac2af50992677ee774bb80044d87a89ef735ed9666221fd43bc2783ad9d6e245d4199506b66683ca0e0cfdbdca8e032ca5ebac8f0d0cd9a18250c59a481aa4f72dab29080909506adcbea008e28a82e872e2b4b073ad3748a208432b7a4f166ab9cfc6050e5f5f3326312a0ef7bf4fb24e0bb00ad7e3757d7161ba8cb8b300b43fc5f10b1eefea88b74cbe84e3f13f6b92ec88c7d051ee1b532d2b6918926299f290f40f1bee41fe84fe335bd65c3e264408a92dc7068bd2f0b889653bc6866722d42a04ecf2eef6bdefdba4e75ba4f35d3f2e556878a72a412606471f090e814262850998b4c06d7a86941fc14ef115889eeb79c7c9c7da76426f9951d84ba204a154074391b40e1acbaf2b53dd408567f50b1c2f9f90811799371007cb3e795169420ae125e055fcec712399f31f74d88b79f029cfad0bbd76dda670683ef0dfe955097c6d60f8e2ff3510b55f037a0bb2af7c46b270329377555c4d4326119477b50154273e2d453335594a57dddefe979eb1ec5ab2a7697a5b9ee76b8f8a7eaf0b0ec6831047c101487cbc755f28a0aee1c2b36bec9a7ec0dc3e5fb685aa47f3a50ac0e26fc76a38f34425e7cf193bc67aabf644c3d1c6a981f2bce90b31135b7e0e5216555713436cb9dc5e1d6442a23ad2cf807dec597c626b0c245ecc058d3204bd10714b62ce79bb817d705c60f3d4f637a8a6cc46b4b829d32ceeb30eedf00a071898217ef7dac935749e569c72ee34d46d667beabc9711783b1b534fae050f787376a9a91e7eb29434972e6ff6e8367544a1aa60743a0415b08f42dd90cd036094041f43acb9a55e4aa2faaa410058a51da94aa66c971220c505425693c50fd2e0a768cddf63c9756a0ce4b4a9df86c71e10b0542aeb4648f135717f437d0aebfc54806f449fee957937d8622ff26a44ce10bb8ea1415611988818a9c23704179ecdafd5ab2da417c0d67d22339fe5fc2aac62d7f86a748e85fea10af7450255d453e722d4a473fc70e780b0cac23c12533fa15cb6573dd7b7f98116d69301ce519aaa1820a44abbe3a461a39f4acc66d368f457a91422d80719ee37501a008698f091f605facbdaf9c464f3495000f6372632d54c7212919763b6bd7865043cdd507f231d21b1f554d878292b7cf308c89f872f3353272740e0faee649c02c821dad0f36e24ebe480a8b503223a823b62cb23d9113caa612bb2726ec0240377fe994b2f38f77d216a246ebc4e2eff14ad6fdfaf870ef9c8edb2b40eae00017dcd714c6bc287efd3d70bb0edad703f9316a0e538ae6c8835dae999be2ebd0191a9e71db71b36cf9f9f589db4e71b308c73fc0b6f81fa285e17bd2572c7d409fed7ecb6585bfb017cd4dcbe20b738d5be00e47b7ce9dbc2ab819c779c897a09e536601f3834b7f7b3d1fe7fed6facf9912e03dbfcabd48b2571ba0e7644ed0946796360b3d7a02ecd3f4a99ba718c53f638c066ea12878ac810984be027880a068240b5dbe50630611cd137fb47b58041f77ca5245065c39d7f1a97c4852200f99ad9a7b8a3a59b92353ca6dc222f866dbde4a63568d37501485f133f7221016cfaca9bb378c5b02385db42d1123106a4423e9e05aaeb718f083ebf2f8cfc0f10bf1c64fe597a308be47d3181d0d92d91269d08b7bb9673637f8f153282f4080a1e6a6858cbca90f1aaa87e37ccf8e3f25e7caa7b8505082f22b1d13b6e0104a7e514b8d3b88648aa898b527096cf529e24cb118c0ba90ef3522386aaf4fc0ff4d1c27c25f1ae61741a697c56fca09c520aa2bf3e76bf19b226777d24e9470f3a027cc642c77acea6575c059e1808ab09988fcdd43b6f066902b1e9f24fc303844052427130f5cfee3aada0f73669e967bdfa89e5bf0bf09344c6099802fa0ca0e10adfe6a92f8e3cab2779e9aefa58103dfb48f897ba9441626604bfcd6904e39739f99d2957c2f85380774f40856e59f2573982768a717865089ef4c40c02ced7990966a0eae4cbb68a0bf044695e5e44609549d4c864b63ca97f515ba30d32bf0773f1b597f9937d2778f4289d7a0eea4e302e8d4dff9dcc17e8f8a3db0db9845a28b7805994d2a61afd0cd9859681e1eca1360254ffed400f564d30440155ea7c589d562316e797394acc8b5c77c461f84d9c7590bf3db085af37ccec0bfd1a08bc7ed00c205d679c6f90053e67556e8ca06ce03baf6b7af237ea5fa70eb31cff99df9f53fce8dade278cc0c765e4d8474023324ff5255725f8532e030adda843cb24f20ec2d0a002d1bbee4820e400a0ce3424e1daafa72e8015dcce08be4277c281e4021324f95d84c1584139863d97c94d67a098cc1049fd8b53180d46822c2551262df21c8ca2046cf9df4965486f7a81cadb503f2e4129f400930c2fa1f70bf675e1d567886ff0467713075e5ece2972f57cc24aa14eacd68c23066537d73c5de506213115abb75dd13cf998946ba66bed980e9ab3f0cc93dd790c3e4796135c5921e236ddd8961a2540b8ba5e535e8ba8d0831a1f0a5b362a7b04d6b7ff78d012fefe93ab6187755e76dfcf4a3f1dae124242afedccc0069be108e8d78a679d0a5eb1199703f39f40926b4ac1b3f555225f66171f80ae0bf42e0f7a125671ccbabefebf81a16cea12e597d85cd0af2056fc929d39030ce7b3670365b990cee80a2e0be36aa7b264d1b45cd15072bf05863a51bae7e3ce9ca09c0c38846a93d67e323323e8488c66b5f61af8ffd5ca83310a82a22d092e88eedd06ca31eba532f1630f26a0bc79dd1012c1119ca3fa310d50606014e449346a2b04bd1ca42dc67df35bf49ab55aeb3c72a431504fff47fdf0557da5b01a95a8400f1e822e7a21b1a2afbb243f91413965653d9b5a74b6b305bdae3331151c104103fe3af0dbaa31bbf1521c5f970a02c81c6f0ec1dfa5507c52e54c5d9fbe57040da0effdd135d921c69c37fd7bf8601497a942aeb33508b689e44d4d58ce01870c188969e1431e88ddefb49f8bb43fcf3b7d4ef1bbf8fe9a81460c36e7eb66310ba8954f045f3252d90aa6a8c1f74b3a77acbdf8f4ba21d12f72b7db490c7cee07d93857db142ddaf260fe525a27451d14f4e1f24df87e564f7e3405dbffb0a90c0ace242a90922d3ab360d22c8d1002e46b04d77b0274516718644cdb66dda90acf30d53aa8867b8cf7727053b8dbc8fce7e8d1bdf81781841dc73e9ec069cb0978fa1d1ae106ad24ccc21ab9a35f4eaef6c77172fdf8f8f9242573592027870e8c37ef9bee265aefe29494b5f2d6454e291194fee003dae797657eabc197f709d31c1d94abd1beedd583af60d05c53961113d9ba5e983dc9051dace7d72236081e292f3fddb7ad00e2df497d08bee89591e7c14a98a0abc9e644731ab4ddc6bc9212bacf4817479ba36f8a8d6fcdecdbba0a9a0d0b4972fbcc27038fe2f9c916a7e7ed0a4ad2e395ccbc626350c18c071993b87856b5df8a15b523f6b1e7d164ae7e5427051a7125cad47ce660ac2b2c1bdfc96240eb3ecf34f9e96509154811e5d23693ad0641cc56dee0713b680c15b072be907bf8e47d95b4a50035b1523475c66f78fa727ec67b63f02ce3e909dff71ed921548efca39cb6eaef22e6c96b2f9051fd9149c9338903ca9351d97644033582866273fa68dac78139b4933bac63f8a6103def90733004432bd08c126614e03fa1f38d7c819342f2f86cf080a700251be0a0969d05c772d3d5e938f9ac265a22b8869d08909ba947fa2692739c0f8c6e9f0ccb983b9d8376be0539124127a042d25e40a7ad3890a6b84848696984646640dde31f5c8c2ada6a1ae8654294486faed19db01d81bec336cc848a3607ecf75b08e348c2c1d104bee97fe2e5edb1cdda3887af49540d92128dd4b5f82be3ffdc905369bd1d89bcd5750d893dca9d53745db392c8c20dd6ee7eaa8009684530ef442266d644f50c415022a29ad6afc0b21984f648e7fdd155c3c56d4d063306dcff18a28a0e3746c58c6f7e0be5a9fd02c66c56e8ba233930d1e91b8747cb03fe0bbb3aca2fd78078a652b0e0253e4fcc17475cbbe489235f39a047d533b34c69ffa22706771df858f1ddb425155d1eb5aa905326e1d2c2e638b3572ea68ee96e0705c54e7741e0886850d9487a55417232fb5d01fc074b58354b17e23485963fde1a9aa2f4ce188dd187adf703b606184b7d4913ec75dd0f078ef1bfae0e337e9cfcdc7ef2c8be095d8ce46be3c11996a7d417532543cb40296e3e4f06f9de840bcd1a6911e87682bccd6cd262cbc18632119a6c4d761be295f1d330e148f869ebcf5091fe5bcda67ed85825cac9bb337ec176e8ca884b759dc5d7c305ddf65cf26d118f91f648144eeb3db2a6b181c498c88fcb5e4a1f00e8033155b4628e07d4ba1271e9a9a6248053fb178716318e35de0e7bae28922e9f431742b9babd728bcfef569a3269efbf58b9e671e7cbd678ceb266374bcc2f415f88c692f2024099edd35d707b0ce25797d6b314f41b26b628f4bb85320f3ba40329be556ea78fd2c447c987a2198e1720d6546d7ca66c01d0ed42210211269228566a5d6cd9586631b84fc66324e8e41f04e1c993a9ba36762218a779839d00dd1d13fdf5e13cad275d10894fe33c56bdcb9646717f92808f01503678c4adbb771a0dca28fcd344bf83b7da7b25b17bb3af74a1252dd83cafc432b167e7a81b0aa7b252f504851db358955a441b81151b7333acaba8aa5bcf38ec49f75dd351313a1710cb443c1b3f20f77d9b008594c292154979aa6961d82bd489c6fe451914335e5a02af34d003bdcb1ab9c7cdc186a6a064d15b12720f8aacec44907993b7adf608e68485637f1139e9ea9aad1c0656e85c534a81f442f862096b18b2f0d99115aeed50113a70ad2f1a384ac965c456757b163c8ca7c92eaaaac1991e69d1e66e2b94ab11d3ae5d615088710146ef03fcbbbfd28697c1563776be024efdfeca66b6a15efa9175089640eebe6bd574d47702ff6f0b61225aa5e2ef7190d84621263bd66e30a707ec2a0dc17adf04fc17135043d11967356d8894d1a0f75f977dbab6d18ec836b5858a6ac81c383ac8d299719ad27ee71eb35f53cccb34a8976ca8b47ad7f55b719d61ea7568cacf1c4a374f883a3c1cfe90c79f389e0bae68c2cc6a56e02429710ff404fc15adeec279274f77022ce26741efe5e1d1796220cfb998084fd645ae7c95dd9b5d68b55040416e5623fd0f305b135feb081b4a30e6088e25f68223303629d450aac4b727fafedb1fdf088abce174e277a71cd23578ce78e3d061c8759b31832658ff9094520444ba30cfad28cd52faeeb378802b821574989dc5c7a41539c7f08e6b59ad1358753f7e89cdbf896a2b36fd27de055f22f970773121b022ea441ba46f0ed9a00e13e7e9608984b3bb1a64ef41ab13513e0fe857dfd21e25ffa6b50448f262a538b6924aa2d6ad341f3515ba50ead59345eddbb46ba32f027f93cd8eb92ea840d82a49d5828cd381cd523c2695d2a7ecb0838f533e8b5ab32ca8594bf740db753eba59a25103c1523b3a742949941512470d5f1bc6fb3281c8b93a10b08e86c4ee70d2f40a1a43945013aa55ca64ecee9802422f69c63792f6b265d7c447603b93bebc6c263202bca3d8fd0e53797cf1fe88d2bcd855960429f6f67a7820c46a1a73d423596916d6079f47c1d959b8e5cfddbddde1bd69aaedf0509743a4e00ddfd618e770073de47bac73713118634aa93d9fa76ad39969047bf8188cace4d5f2dc97279f424e37107e40f176772b906343fa7d6104976c47104ccbcff56201349af84a480c6a0afc9356c212123a259af7db9fe251155583e185f92add9576510372a58694be623bbb1ebcb5119e3a17701b18cbd450ac2cc7948bf43b7610427a224e16a0de164c320842dbe0da71b75a29340ca0ae87c63994307a47c2c8fe4eb7f5dc06a2dc9d2cf9e42b5280ad195ebbb0770308cc7cf55d6a6daad08cd01a1944cf954458c3c8a9decfa9c25279d8b17c88c9f29f4be89d91ad04b177c67ac5f7c8a71b483362b1485962c953e069e46098a9858fd9ecdb337fd729574deabd307524f0355527f4ca4e38dadb5887bc7f895f0d102d06940a8077b941bbee41bc944ecbc30c9754043ba32a14710d7217f5c1dae92cf66d9b9c4e3cc76d33b0ea1e1fb7a70221c74b884bb4049a1c46912092777d6bb8f8b3ccffd27e76f5f4b8313aa77ad066070dd931cc3f9a29e753bb1cbc2e4e285cc28bdfa5c31be37af0cb2fcb54ce4b620a38b75ec604c3fdd75823226242e4f3ff0cffc067e2aa04932656eadb75633aa990f12f5902bc6edc975d02ffd0249476ecbbbf33df6fccaea5f8f14990f453329dab84ea0fbb1d817eed14e4e4e13c1c67939e1dd80873d51c323287988777aad65a030d0fac5cd97af47ece0177f3fe0b9364544adc971f027505233ede80cf44f4a1a10af9e1cfd91c69feb27b7af1a69a7f65918bf4da74dff7e4d4419925a9012aaa04428522d4dc5916f483954823f605ebe13d4cffa114304fd371753e2cfab502074b61b8b516d17feadf999a37b044bb5fa46774f60b75ac4abec8af8ad814970c0d50527cfd0eaa9d181acd73ce8116de1c269b891c5478b87d02101b47c8d003f49d862dd81d509de5ae103d943c14873068b277ca0d096fab02c54a3330c40331d10b1c4367b55f8533099eaedbcfff1a83b2cae11bae892d70b9b5c469120ef2fdbb31ee2d0aedb4b8ba278f9a7dbb869c36a0bc14b37bc7ec5091f8832e0a14fc99e315053d07542b2c5e6756434ce4abb1e841386647878031b1b2b6ae0d3e278e68f8916fb5d9c7e4e82e3451e6c38b84e8c7cb26596bba728b99a86201ca806079a0759a7c4db77bdda32eb248a7eb83852ce09b0cefbd7ec115d43e0c60b9e640448a91029bd90a3bd8700e0507a0bdaa32067d2c623389e7671dfd0488043fbd205980a27a51a37fcdf54ff4cbd9c3f5fb108277c8262fda8926eb09f8663653ee74f5792224c6c78a9f76647eda1be4f5d19c82197ccc2b5b442200b8c6734b3a6cd0e034e885a2a0deccb8517d0ce213fb15c363bf1a37ee00a50fc926a380b3b411e5936ce3175f88a715a68edee049f276f0a20383d2b6183304fcc84e254e25995f18ce964fea557fa49bb57dd393f3cadf3b8e9a687fc6a90c8661fe41abf8e68731e501e1dad8dda18db8b36456a34a0b699d69b76b309a0184489202847792091909f06e2775bd7a5e7fc2d3b1ed5b21b9c02d1d8581730299b185fc935b3c0ceb8fb1dc81fceb8fb0692dd079be7059d23c8ef7781f0607279d4179572fcf8b4c38060ad648ffd25ae872e4bcba437c3595fc93d3bc53026018157341487b6dcfda641d8a08787750685ee565bfd185a983da9c7de98607acae91164de8c8657168cd33247125d09f2c77eca2905b912e0f80b1653b9c0e13fc563c077e23765eb23542857b9d11b3f90bf37b0022c1a3b1e4867ccafe0c122ade637dee5f34df851abacddde9b78c4b7e80c6e9845a128f788a99fcb2045b3f0e53d489a97d1fca90974ba0739dc571c516ddf6b47c2828e0b1fd365d0350dbeae544ed8dda0cba715162090268a7433f8a892ba564337730a6c65602095b2078c98f6de61904c42176dd148f56f91c80d89cb0ee94f7869c69044c7f059efd54ca00567f3070e711ed5a411da8fd737141cebc4a914d5e1d2ca1c7770a0044e8d66e9168f056ae8cdc57f1cb617ccbe21bba914ad094ea5191bf50ff0ce4a320c392698e4f590ed7b0d0724eeec2be38649e2944d37867c270cfe1ec0f25704f72a4934c9eddc1f19886808e1c7335ce8ba25976241dbf122c11ee0e00f0887cd3a05a434b8bb368e73546a2fcd7340cfb40f7dedbaeee085b398064030f5fbcb6b532427bbddefbd6a9b5fee1efb67def8afebbe60c517d704d992704aa07519d620464f5080ff19ee4a1c1c25153ae0710985bbb04bb46497394770c7bbbab5eb46728ed48f571f0305d603297dfae33cdf805c128ad3ea80436cb0e2ae29bcaa6848535614aebfdaeb44151fbe0a7e598f59ce0f4852efe601ab9083b54731f4cef6a9f0ed6569c0e92f721fb0684f65fc7df17ff068b8f272edc0535aa67b654454f984425a7d50772e1f4f7e1ca1359b2897959d36621a2b8e00404f6b6b94a5d19034cdb2f2bc953c3db57766185ac83f452a814b75887a2ce0a05abb04f8b03566ba6765baf6468eb49db5a55f48b176c1460741336bac88905d27236a057444a9cab43bdec53da5cce7552b6a7ae415fb0401e75fa402b17064b3397c7d095ebc545912b3c29caa6816c2c4cfccbb62345cdb51a376ceb960a695ff50fffd61459d28cc6c4e2a7dda9d66249c3e33ca521023a232ac2b1bf004bf366eb8aa8dd8f77076682c87f52b5222984ee08add4d51e7c75fc3e36e809a085fde51890a53de51c5dc96d668a68ffffc549d14c5244dbaba2f0dbfcb00d872cf06ea6c5e267902a9aa1d6e3f881236560ed2e23a72a1f83e0d435733807cbf63249bdc2d5efd1a1973228770592888317a70bc3b5a38d32cd148aa4bb0ed5328cac0f4a62d414142284ab201e12c4aaf33020613da6ad24329eb93b7f05f68c87f2817bee044fb8f279026ee05a422ee3435bb76fbfe07e4fea6c837b0bfcc3509d4a8edea261dd4f80f08bd6daf2a655c1f8f774e2d363a1fe3abf7000fa06bc6d7c23007c385acb5c1579346ae064fe9a0cf2150790b92a73c05e9b0cba61e845438295c178717e3436c01b510ed0dd68e6e7862fccd32367fe6f1301c5302c6da9fddca99c28514346bc7569d43f87b7a55e75e6a866954ae5019f043a1e6d9b2ed4401d51afbf222af8e6053e649863862c6617d78d6a83948b06043ef0091c5a0b13d10164ac85c8d77a0d419eb4c9814911e0a9ca2df4bb880a00b7ed05923d9d772b70fa820a45c3fa9c0f0736068b5445f8e36e934c1e56710d3ba594b271a92ae3dba68a70a6876690c1a5f43a275307eb980051a8dd879601bfcdd0fead36a09737339c19d914677c54bf1968655c8eb8d8f2276d1ec7300520742e87015b44e1e952293827425fe2468b219052946600c9ff84b629f1550468974e3a679e1fab94cd4c23800e0464a10bf321d0434ae208546a248573610deda4535c5c5a1c56fdf73e294068c5d05a38d8e3e7dad40dc027b6ebfda7650ce0f5acf65591bbfcebe89332a611c0a48f7e10907f4e530a5df5f8119b102a0f054b286ccfd324795cb6fef3304bf850bb8689a4253607e1f32f28d88a8bcf0dc0417f304255011cc2eee76b43f9163baa1528f72ec5521db4bfaadb68d31606553f32b3788396572630c299efd1358278989c819480a8f01707ab33ff797b06be865c4348252fe94571ee7ac6c9ff2feea792171b359547f4934bc049335c0db5be53007c0ba2758fe9a9c76ec4d699eb412147c910e3a765533042346f380e14afd827a70d8a58fcb62741da97cd080744e0b56501465d797751abed1b5602650a40a884bca7c44ce673383cac30d8bbdd9571516a01d3f9087c76d6f7b502f7d36d1421b064df9a351c16a2c3b98bbc209e9d091b89a5bd12acec4601ed02aa5fb5e62807414f562ade75a6fea9b0f8489bf9fba1b62fba54a0b0d4058f0153cfcd2332c3be10bc0fbe2a0d051e748df65d3ac342ed65387ddd6bbdb5fb05a41904bc1b6d24a8d24f8b158f297b88de54e622132313a62c249300c5811d0c1d5ddbad867f29971fb1e7a3c29166f6266b2ce2135fe1dbb97ddf95b2d0280cd997570e54f68065e638717321ebd1b3ba6e2f61b95e9eb37235d963b5e0df0547178885d8b9e1af336a4b1cf73a6d1be53cc19562e761ddc5e999ad484f0d0144153897add1bbfbda5ed470b0c5dcb177fa338742df05fe07642929b96d590b68b8f7036ad69206c1c1beb8b0312c168ccb24d2bdeab1e2b619225df66f0900b39e36271c979f8053ce0a93ef40301963ce3ab4209fb72a1c3c00fae52389099139a25a39800751dfabae54ccb7de60b5adde9e82347619355a868d87545306ab683adeecfb6d91a6d732762b8c326574677ab0273b5af11daf270019fc500fc6ddb1e2a87c56e10784615bd2e2dcfca4c4307ad915e1304e0c9aff31251f0b613663067b08f2197e1ef2f811115ca34446455e5800c4f73b317170a7b8310c690575ca2b82847256b26f56ecf7e1e8857b4867d343d501b1ed818c611c7b066dd7f8717ed9ceb4b48c2959acecd7eea03dc43f633ad6a531ac4dbe3b0fb8086f1ec58cad24690c108d9719edc992def89676f7af52df292b207f98e0ad610d9e826c1725e3f72e0b5f7088dbf3279efc7326c069f72763102e433d57856004a39fd5e6a7d5419fea30fe773018b8794fdc631aafc3aec649616bf42a6e9f03746fe09a81f295685ef52250ca43546b15c17931516afb82fa484adcfb89b40adc174f162f5f5126ae71df051d5486a81c21d78ecb1eafd087391f49171532091642fd6ddbe8c89e15b09d9c1b9c6906a92401fb608cff706ed55f02b194f904c9482b50898c76a6726b21f10d30ea85f7c1f80106376feb91bfa0d11b3bd702cac0168fdb3e5e9a716c6b0fc42110fa0303760a9ad812073705cbfca683bf0e3add6b25d9cdef7ff93a15a9bd7b9425ab855def934eecf11b45296b52fedc02366bb62054f1c7d86fd35a8bc3a3f38523dd3d8591f77d1105bfed5a311cfa0ddfb994308f2892c1f33ece1426a1eacd7f6d160c7b3f5b199e23b5012ac46a02cce789205f970a063be316159d77cc5015466233d52c7c77f277afcda3a2f20a65f383d8229f39c602c33bc213dc810ed4667976adecc184792d1a2ad7d08f09c81d666457ce61574e044eea5aacba36e5c9a920d8118fa4520b3d47cf3a2703a51c8ef020154691b9443e1b42f42959e243b831ab38541d93b2f196aeb4150ebbc2fb3a1d5f3a266c06b4adf11e67251a7017ac2eb45a65e3e72aa16cfb4c080d4935e69917f8d391adec9333b74d43fdb64d17b072d2bd5853419c935b55022a3eec3ac75388f1ec8ba2b23587beb8ae95124bac05d6df84d539d5b1e34e0fb8d7487db68c12f9112e5d21c45558373abcb2da6f338b652e3f3a3c7bed66073ab0f5b0ed44c28cae70ff8b72ebc7845b3877a8e82c1256fbad01e7d3db0a0dfdb306db550bd23f2e926f05c6ab5ab57b380a37bd9d5757c58da6527f18940138f68dd6f1712b48f114d52251b1d266e380361ce4c2fb59dcfa81956f156205ee75187dfaf969c459748d685bc5a65be04a9f053e2c6fd9c4b5b45f6d2b540b23b697c74ad5c8400d9952c3ff02e4fde322e751d4863bdcbf5473afb27fad010a7c4f899a2fa3481ebabfe06eab30f8b0d80c68ed44e14e79f36e2f6f59ee0331966f033b9b28d89626beb9c2aff8308ab1f23d82bab991f3f6e1431a5e7c0ab6f9bf2edd2a355c4d0e9869602d35827d217d162fc793c10f1235c8794dd9079278e37bd11ed457127c459cc34148973578114fa2e19847c5d1e2f1337d2f0f6b5f250bd0dd5fc2635c45fa7754ce03e73c3f18c4c90bf3cdbe4a9909154d048aafc4ff623c6a0af3c2e0cef6739fa80767186864063d70ef31e4332ed55200c4ef199e34b261f876c459b00bc87634af7f0a5fb587850a6a90a68921e2bb0f31b95cf223f4cd36626187ee1c29b95e87dfab3df2c043a7fb2cabae81562a09b77a98186f8af7159da002656dcff68e27dc45b03939b818c2fea9fc82758a0b6ddabab1eb86b222a1c0368c02c791fca034dfb1e1d1091bac0a9ede2e3341055a9325470e37e5ceacaef3775ab9d8897bcd6efc6eb37ff11ee7d0c5807e7002b739bbfd9184aef6822b3967f642e6a961b84086af957311e5642e9408509804420a89ce135740542572aab09842a20900d3a25ec1b99350ea19dfb36da68a0c64a71b7af370ab08e667c4c5e4f23660938973c42b25eeeabe078b7ba1967304697caf031fce618babff0d2b14199d7fb27fdff7e31f4b40fa0434ea9695c500ad0eda53dcbac870db25f31b16d784c06f19b5595d5748ac26a8cb952a9c668992c8e001a642fbf4af8f0f6e81d231e46b5a3d166a64572484979075ff0bb8b63577a70522278c38ab34543f5f75a1512a98d2b1222be6b6e287d982b314a25b418625666d70868afe2529d8b316249048d533a90b6876eb82e76cc9c321e3a400dfcb48976eef60e626ba449f995f1a72029e920bf5c11ad34ec794ba51606cf103df2f7da42506dd94b487404cf2d83a582d0e1e5bad2774277c1dcaf16a5d03d0a4676c5023d02eba31d01f29b937209dabdc823199c0f0c710d589488b94c77340b6f2a3e03a8b9c308b03da9c35c9c1b47167574603558f04f4b600a471d944bdcdf88811b930f06f07947c69ce12b60c425e32a411e1598566f3bdef80c8531196913bd7522b13decfbcae4f20ed8248efdf7b6a98f70762d8c17d59ad37c020ab69e63ad90fd3e1bee9c0f43e359193856cdad8cb061f553ec4c95b56fbc691ea240040fefa12bbae55427f634bfb404bc79a97bb914f113f33ccac036afd1b4d48c9249553b909a7d6a4568dead7543052aee05171ecd2e00e69d1bbbde05fa388ef6cd708c0f7dd6278fd33ac445ea50d05ec522d2c949fd324788b89101e623d44d42501e296ea3094a27a80a85b46b3fb428acb15355bfd01f5a0c5fc2fc494aee3908ca43f62d76208d498aad1efe3e89fd4f190209c521f3afe841f7da2ca7067d102d30b1cad547f88d607c102ad942ba9ae4a54a2a27aa69445c87894bf3d760ecfe1ef69ac972ba20e3d379a28da6959821692a2a631a3da347ab848499e41e019fcfca7c6f811291f1d9746a078c2998a38583c434dc85615ed1d92b29c575e3f7f487f662450adb8266b8be69eb6518e44801f779720507ed5f7bba41d4663a29b182df76fde956dc6eca1117f6e0e65ae70902ce4ba92ffca54ac00fe319846a96b25b5ed6d46e46b6136db8497130a721332e094e452587fb6ddc12c15b08bfb5ebca14b8655e8cefcfd95fe533a8aec385b1ff2b9b15ca1eb73000edba821cd64ec39d2560ab32e3bd7a4889472a440d5cdc50c9b9b876869b4d7f3b7b029452a4198e1025dbdbf304eb23e4786964c5373c34af00a089d8f9a3e306ddfba188647c7cd2688629cbd5fbac5b7427ef3375d0b43f64383e6e40e882f3ed7291193ae9cb6c19f78457026ea26bc73049c50848029856c80cb1ecf23bcfafedc4daae3999bd6dd1b09671a90c5690609bca0ccd221f37b7a80c5f24ac4915d5bb54e4acbcfd1686f61eca392ac4a77586c5f8a4ce28ded156e0983e81418d5338b6a20efa676f8f1490a0d64220caa17e2af11bc0e552a45be17de8fa1fd02e0d7715bbaaa01310bf1b10bad61077568f48f24364c47345e768ec8ac6bcb63c5540dcbb84815978d418a45fe20f9d3304ec8096ae5a77d7866916c38a4d192bab20ca28e49094e3e7c4c149048e92190e725ceece6dd2db8620231c67928d0c2123b6de8d210a817bffdc581eee3e8ec42cbbed75a410f9bd0dafe9d94ff7dc68e5faedbbf836939805bf251e610d5c761deb3398df956a304feb451cb6c05b85660a31741b3ffd7b701c35247e7d78ae0a427a9778e83d106cb900ec3fe3e967d7ff564413e91e05fe2a12e6e9d14d4a1abdeff233800674bdee450a5b0407aea8b3d1b9740a35169caa44dea8d453b38a8a68efd3421e1d157f6ff2f6a1bf0321b6b7ebe06b8f162b02e5e96f3567eb7f35b3111a0550139cdbb13fc5499df18f117b30832a1299f5847177d9fc2c7a51bda983dbb9f52d9dc992d8693e782f929a86aca0df0eb1a81c5e4668c0604ea92f15caaad9092bb496417839911a27a79cb53af00ca1d2d76eb3ef0a1d2c594f7bb579978ce90ceca70374afb2ff527437c9251402a27d43350a2a29a47acec1bd4175ac18eaba422106ea8c716663f81865dd2b545dd29365eb850baf70b138f693471bc0c2b8ca6bf21afa2b537067c6294ea20b613cc216054cd0d4d2eca4d6c75764e2902b0948b112eb1aa1e3d90255cd74a39765de3d449786ed200423018bf582176a11b3312554f63c2119783efcf3491ba87e84b8c72e6a4b60b126f83fcb9fa32d6a3bcfe3941fadeb4ebe0fd662515a435a42b5c0759d0289f8b69432826d23073958672499560550054aee1c4f9e5a9070976879c5412fd124c2b142147b47d02d1f7c00595eb9b73ed4e0d66299cf181894404908ebdb305348db306f47cb4153a48005366db98fe834cc3a229651815b749a1ec62c46c894e04ba5aee7237de33c2becb11215393c69a3184809ac7ed78fad9b43296102f4702c53159d66680ea02b9b5533f74b8b0ced9333d3259b38901d486dafc0e8856f986563af88212581d329b5a695ea36d85fe128449b27cfaa1448a0b7294e3b3409ac7f9622e4706a3c4b737503fb61c1d1165d749cfcff741df9956baec13e3fc74202723c91bb009c85dc46250deaa9c84c03e9f8dcef1da6308e1158bc6d65c894d70b83930b54d1c426b43f712f6ed8ce623518730db463abd248bce1ffc80e9b99ff398245dea37e32dc873a75025dca8d8ed9cdafdbf9def242de706d2ebc5badf5355f06af38ed78cb39966245787fc55886293bc6c81560bf450cc978b38981243f0cb3c27501e2093d41941f5b7cc9957c0b7957fed294d1b409bbfdfe84386c3a729af03a0597e70ae255ae6a951c95c939dae4f3e82353b7f59d81fa2d9252be971207ea5bec8dbf4a2324a0829ff11c2b51771acef19bcfb631e6b86dd5891806aae0d204d3d17719ae9ed97a086d97d8170c566b310d6262edd8b1c9c9947cbe3d358a901f39a007b42a6fc6afae2c1c7dbba1fdc1f534a6833cc7b007d1220b4652eb4d5bef0c116c95f39a32058955302f34761c98d794ef5e3d989097603a24030d847f93683ab342d14357d6d81f995e72f186c8f540b4cb225dc356309974f27d035ecf387b9dba24e9512569461a71faf5cc56215c1f7ec4e82ff350accc0ef1de6390a24b1f472d95b285e01713ac24614a5047b298bbc90cd804c0f9e87b7f167a6c64f92b657bbfeb71c585a5fb6ce75a1d5686f14c82f062971077f5c833ae2c112e726f00f34c31ff0423f13161ccd9e1068b7a90858c7ba8e01eb7e416d634e9f9128172067952f378dfecccb2d8609f0558da90bc35707cb00d4f7a057ed3a7b8e603bf12d75d4ecaa0d75c12046cc063db8c73a7e883fcd06a30392387178024cd091be808a99ca690a7e64ea407831fe47fafad4281ec004ec770652b7dac2d7eec75ef5561bf7e53293460755b6670805ee6f6f3fbe7806b6ba1d2393538e8428fca6e12d25c7eef0d63e718db8b39026c82f881a1ab70c5a0a1c4eb240e4ff1f6900535273df85a8c2efa18c7ebe61193a7562f2933e0c1a43c8977eee890c2d4897ef68927dbeb8eaef6eb1e039a9e20055aeb5480a03622b32777966122a6f679da3de0e6c451ab5cdeaefb2bc1859448d84dfb6f90bbd222502dd4dd18a0b43d03996a4ecca62742c6d3a480169939eca66cc913c04adce020001020007b6cea202bace14a6d241989609b807d3b60d9298049395ce9bdc0776fc2e530b68ef7b7aac2d272cf25d4b6e86c8021dd250159df102000227c64d5191bcba8a37f9915d4faef8e9c3e09edf24241ddcefbcb671487a0c94000292fb4bacfc6faab88e8cb921f02c509145948f3cd11076ab0948c9068d2de200440221009a214b6869481e95ea2781116fd538b355aafaaecccfc67605e56981818d2f9d0107ffe8b72b2231626a59b8cc35ce29a22de3ed66f0635f15917a0c1a35f4099401c0e687b22073839566f6fa0a7aa4669c284c77db3f5fa6dfdd91cef6f91dbd44f776bcb801a2501e673d741de07d76a3473dc7af778424f9c07385dd38a77f878a764ce30d959df32a2f68631f2af8f95117cc8cb7115cd434dc3a336c5ebf183c9d29e80dc56f9f02672697ec2a343c3af4341ecba0369c6661caf2291c58177ae832f906b319e59893649a0e1597e43a06b6ab58c7f60c9425dbb60fd2367949daeb67010996f6e9f6321c3ca1d35aabf58c4257fcfc2384272f03d60110fe2da35d9572a932d4f3b4968461099f74d12cdcd6e58c9e2a072a286a92dcd5dc88cdff360aba36f1269d2f364a6486638e1d5e9ee7366d8cd06f110cd6e2a9a280760bf90034b02d59320b05b6d267b5f29521e0990838bb94dbaa1f83f87f09d1d8a4ca06c25d632328fc42a07e070a6bac6ff3380984ace65e72cfa1ad770908dfc8eb064b2b2aa0d5763ee7c0cad3a9eedf0912b1f38833c15cbf8666e417b7d930360ede59f64416a91dd347d49e30dd1df855d9ee98b1b4b30655b5a0139b41458603cc69dbae63dfc8440d1350ac8eeff2b96ff7e1f32661985e35db43bba8793a075555d6614499fd160e3c52ba9219a35307e4154389a315e4dadc1b4414e99400250db6d0b4484f899be59cc9ce4a81f490993682807e178b9f6a04ff33ae5e0e21f818bbd37f7f3066e57347fcd2a0717b38ebd9551979d9f254ef15665a810e93678cfb052051ec78569de9aa6051b4c075de48f066698a114dbdf87e36e508696b5bd1f9e460641120ed1dd401a21d437b2b935f970bd5dc2a783f5dabc1030c479aff7a86673cbc92e330cdb59481234b22a07a7e1e2e39064a9ea731b30c6dc300e025a94021beedb96095b2b8049ef08129a3f2b64221de782e238c540f1ffc9b24ed41542629279faa3975b1339ff6e3875ce1e8d1cfbce892335bd402b8491e7266b44c004dd5d0e32880461024016819355d7307ac25ac3f2ed23404641ddecd0b3ad050d5bb062c06d8aaf4e8c4829334e9e0a35f19cf3988fee309bbf022b818f2e1cef4e1408eee690dc8aea6c058281d26b7c5c8bc5c49c6820a1b6b0d8543c73bff706007b2461aace080bce7c84ac9b5907c80199f67b32907d2b0c1e20a0bd5ad53572bf08be9ad1dd05b1d315177eb6b4521c832a2d09d0caba2691d54305a3b09daa5fbdfd9f951bcbe2d1c33f9229fb3b36d43a59828038ed563796eeac642bb9f7612c94bd32fe94020fbf042bdb27c3f141ef3254c048ccd800b6f2c11dd3a0ed22813a4b27535f01f93ee8a3b9ba94afefa2a18a5037051ffd5b874211411bcf1e6459d3e1c12971278305e2cc7255fa5226be073015b7c38f46ea02f5afdeff7720b1073c0469f6a5db14a8afa63cdc5d7751b450f8c6790fcb4ce5045f75890f4ae79088ab5aa3aa9b9a0092ceefcfd40a8908d05a8116847341a624b6e831d9066b9cd7e87f7e0d3f450bf79c02344bc19b1940a741a3a890291cd91453f50f064d1a70923d927f75dc26dbf9349bb247935800601725d747faeed5cc6691b8d01461fff97f2b8594977b1e69c92fcbfb007990eeb02ea8fbdc7069836c380cd1b4c4a6ecf1bbe35d46367f7b8be92133aa1d60bd0ed1e171ea8e430d8ba806997a21ac711efcba7b2035a96708def21d718a5020167770763965ff55174212d2323149b95d73971413f4eb6625e1e4b52c9a8065197333a03a17c8beacd58b6ca2ed7d3f2a55683c094ff6ab53ebe04db118d0f26c7732dd31b4df89370306b4f259d46590c6856184d2a3be5b2f38707958500d71e97d3dc65e962d0920b1e4ac5b3266a0dfa45a70ed5ee50767c71840266053be3a9f71c1ae3baf304b991d2176ec4e8e84e800ff2946e83574f5670caf602d06e7d22a657069df4739de8ee3e6b28518aaca5f318adabff4314139201b8070ba725bebfea7d4dead9808ec24d94997af162f4430a9f69af4ac2ee372cfa0e99257e300f880db08e73e9b7e0d928dacf26690dab2acc6f36619c4f4ecd2e0b07ed8c3cc1394706172becf470ec7921e301924dd1dd758831e543502990d60f411dd69759c28d8791f72b202c146444b532b8f09077b0985b7e1ec1b6b34b01e6b7c2019de6ff60ff648c37907f99f92ff31d01944deeff31ce5d2a271dff040d1c20126bbebe38b0618e711b2b1287650d337ff0189a9d91e255ca3e9c5604bec549355ae3c49f9495a49326cfbd078652c922e4ec1913d27d9c32acb785003a13c0d784cbd2787278d1f5977d6299d8b2f83afe300307aa2d4e1f2b889d064ddfa18ad93062de474fb68cb0f42f373b91c66b1d0e24c0de15d233f0842b00c1f1a7310ef45384f990d84856a44d0e2c4fa2c2c65cb5b8c16ead94c5022608f831da6e4257cc46db7b5cba11a99e135a81a3e59c64913170a032dfe3ea030962d5a90cef2eef81630e9879ed90ee5ebe785b2e11b7fd4393b3ffeaed6d770a9aa04cb185dd0d323fc63af08494b2b59cc2cc472ea0b22888735a14cf988d0057c86d07ef0f41983f882b7b14b13543da10f7c3f6a80fa6741d22b190014200b277e14fa0ffc2cb807954aa806cd18cc4e4312d0feda257d4c18770577dd50495ecb77500d0c361d286fb1767ff4a4409c6208b48fa6d293a5933a1f8180c0adf87a66b92e0c192716c891b3c813fe1edff7d70400a778376347a2adc0cc00f8eeb690d1ad3c579fcab1f8ba655c44b832df88fa835e32127079160400a730c98bf1e1738e9002ca3df0abd413667d84ca74e316ee582447bc21180f4326905bb1262cb64ab5b470f32a4e5509adc4f426824b8602aee2c37a21f453be9c4055a66eb7facbbe5be32ded4a7074b4bb10b3838c65eaae552143e697e66db5a0b7cad5205ef95456deeff3f86d640bd6ef2f96f5cf5f222fcd1275acf5c6d8100e1ea954e5acaa99c57024fb24bc83989093b4501ecd3d7ed3faeaa72cc8a6806eb11ca90fa93f7dfc6fe33407199b56a598a20b1fb77f03f5926ed4b9867450bbc67adef9de727f0f4a9d182a68d1e2e8806d6768e4a6730c6994f2df64312059eb3b4cba95c370ec9923378f1cbc5707af204f67b9e11412cbe590779b4de032de7f3f8cfe227ccefd094432058ad293fa2456074735a0232580a504c62710b726229517b1a0dbe152dd2992aeba0e375c395ab95df866321c7d494d8f32e07970887515e13f8083f2aba66c8ad288773580ed3bcef872c9a0e46bf7db6fe089e05bf8aaf9a943c642681041d6fb37761a1f7504db29dabc26be68d48135a0f443dec055b0d89f667b5faf09b9248ab1815d28b9b09a2482abed53c60970905d991d0c91f9d9dd1fb44dda3f3dd04c79e128ebadb6d5ae383a24b291de37c0df7e0485c98c22463dbd6fd02ee5342f17015f7924c180e0b2008e865b4080a0e4ec8350e503e02daa299c746bf847f3ecd62f20b03f79c0e5ff6438c650d6b0fb000249b4400bc5a1926fb0eef9d7ca5a199319f4194d9206d71aa2ed89b3107cca4a67f250179dd37c9b4be4d33bc930151b6d4c37beffba180228815b0fa0d4a595f6dcb80034f47454f829d1ee98b2ee039ef86dd9f1ad50707f6030a7c06370cec8ba2ea7429d9123afb86f04888df72231ccf42c7918adad319c309b807c4f3851f5401da0c4525a1384901b9a57826e25ae5e78911b721b1162fed880200c58f96195e32ed9dde412bc686470fc1437d7fee34b58d13713b77835c0c0eb0fc5bab674c15fe92d03a9132f2c595838924b0442889049397ddc18182cf057f5e83633a2e3a409518d65c0b3d45057bc94d1e17d94e5829c217c27251320f0ffddf8e4704e24a2cb2dac0f26d7b2a300b8cfbbac76bb2b676cd199498450116d93323b07da675f9a2dab4d2b0ac040054d222bc72c43af675c57a62e22407ded2364203da8aac2d8105526754c6a10c9ccb72bb6b26261b0ed19c5fb851054c45fe6a92ea20e6c4e455df20e8a2840d41d1468bbe0bdf9430df712dcce6034bb7ea96eb9b3a5f16dd5ac9ef1639aad34a4f3455ad31264cee3d5d6aa13501e3ec29e74a9643c1a86a27f06d937e0f38f0e7be0470cac2855047263c88ec0bd01688fb85fb0fb34215548f0cbea91a94d5f7eecabaf3d3cd4c0087a392910976d09974e3a340ff08887f3d619239e4579466bb7088e0006f1c5707e7772c0993ade0d445cdf1a0763bd24e7116d970fb6822b02d85ce1188463022fb16130b2cff9c9cdd47edce4ed30679bd5e89f50f4e53e70ab6382c5e3a03d607d6510dbb18fc235af2e30e167512fc5a2beafe99dc247f127f2f5fd4ddb506395c9a0384d4f68a0419e6a0d8e7e48ff340442e627777f34d492f52c7b395c9abbf5a04b3a95711fbac18e1829e1ff61055ec5ab8f996caa9f5c73ea57c43b165c73f0458188d4ae35aff4e3c27d4cf127abe497f1e326e7624858ddd39c15f6e84910dc09a83f2ee351984be5b277a27b19fbdc309bd20a79c02f19683b1f716137106d16feae66fe7661984dfd7cb3550d71ebe2ccade6f05d49726ee6a12faeed30d2583bdf1bbabbb2647f0da54a889e3ffb514955ef2f65eb4ea45daa9d238d50487ddb60d9473d1b7ca5dc35eb88e28c9775808bb41d18350d41d314c43b3380ab1dbe6aff527911a2c2bfa9774e1e9bfb7de62feca9f33d609c10100c2634f035f562877e33db6829b9b1aef9ed9295b5538d6b0c854c9313742d7d3e1834a0167f404002966c87555a3151315e8288f51359c6e890bd5b2873a359bd24ef1058072038fae6c1af608857bb63e0d638f559ee05169a5e7831b57f4be4ec1e70198ef4a8d1dec8ed09e304db977d1fb596efe534d5bbdd33a72942689bf33100237a39c45b4468155a86c1bed1d0d5505401e4d43e7f53cfdefa4cf405807c40638eb2d4f84c9975347644c2f25d437ce7a334d8e52c62525d6bb288abc7ea204a4691192eb6ada65b0b29eb7e900838e0898db6c19acd862f43b8ca1b42d7e045335d5803347269a8a3cbb90cec9627bd755aa87e7ace839d36588a29081870da97dd9f8fb0c857a63c6c2ce887117865a4db140bc9914c77febf9329c1d2b05a5ef4bc3868c6ec58030a322dfb2ce325a334ff482636ae3d532ff6629435a00f2276eff5b1a54aeaf3a6be87aef4188c331591f4466808bfde33d5b49954008680e45bdefa9dd1d86a83fa6daf8e5d5d7c12060f876fc03942d315de278910c9973498a835a8fa3daa1aa6d2dc71b129f0866cc4a10acf4fafa3df8ed65c70feddbdc0d4c4ad20448873bc3131d7fd7b869b436cd48b41161954463fda51605ef363fee7f2457aa7b0a3f2101281ea2c8dc95053caabbd282b87ea3dacd650a488e03507065f48dc888bad4dd1fda33b363b67940bf667138ec03890542930957ee847913ad57dd18c62fd3d8f1d866d090667fbc93647f4d6e8aeb1b8ad00cfe25869f42cf30b2a63991945afe6dbce1fddddae67d438f8c61c89f1cd89e0ef544c548de63dfb3f2d4688d15a6a07d2852bd1399f4f57ca75a3da910ccac02d9ec853542b4c7afd601ef35521065a1f0c1ce44e0044bccea2427e2cd95b908410f2244abad1741df4449d955e8c07c9ce46b450d7f3c00e0f748b382066c0f6b222e90a2c7bf5e55d59c7ee297a43407f27824f1c2eeabfe7fb1c4ac1b4209ca4b32ab34468755c026bc076fb94947b7c19eb578ed679dc00dedd119cd31023ba61dbfe8413d01ec67e4a811ec09cbef3a3f7f0d67e10545b74c4c170a160b28874c9d6530a8e75ed1058d8a281d836586bec43faf8322ead4eedb7abd4903e642e8d739dd09e11b0dca82355e5c3c1033763e52e3b55b64e1dcd72b2cd3008a29e03077f4685b34a4bb93eea9f11168f892e928280d39d2b1cf54ca46730f8cd335696b07cf3dca3a74526d9db61cbe87f09a92e4dc6b80566f75277003033d2703c7494970fe9b274f6b3c7e1c76de7a544116437280928a75675de8c809dafd1ecd9cebd7bf1bf09b9010a490e3b8596669740e91912a0874cdfda36301c174cbe6850a2d3f8b6e87c7201f179d5acef9f78eda86a4c825e53cc6111507c35b0fd4b0ffb2d440e322ebb80d9d544e1cd3d2b227083040dcf279bbeefd0651009e8b7567dd05e458f847895f76d8cc0c10defcaa03a3d932da565bd4b1811cde121fa9bca60ee18e5cae4f4cdea5579f1ff4cc858336b28c7a371f487f735d793cae45aafeccdc0e6a6c60c48b89d1c481b19b0f813101dfd7f7ccd79a0d97f2645ded83d62e014bf582e56670a32b602b0c57202ae82fc7add510464322149a2fff16716e58f2a506501432f5d26849975de25bc76e912dbc3c53f3df755232ccaba66fe012ae134944ca9d887ebac6d4d290ad6aeb348aa2ddd52aca13c24e2fdf20fe02742316bed0bc13dbceeb82b2405962ed54ab99b10801b96be59a2c076fcdc41da5c351eb265a5354f951b0c391e5484d632ecfc88ce6666e8d40e42d00bd04f924ca09eafe7aed799b8ec73bb7215d35bff32b6523ab52cf888d71bc27cdac60df6439b352af8fd5188dd332e66240b4990de8a4c27b0d52cc330e2ce4a91c610b5cc404474e62acc245eb7359eda4ce68f780130bdff58c2605c64da8a96ae127cfcf6c572ff87e29013ad954bc51646b273925cd5b3711269afedf79f86f5b22f178a2541348fa51dfd6a6d5b7fd5fa988dbbbe32a0f6f1e5f616afedaf403b2cbfef2024fc080bb4aafb7754d6e5d41b64bcca563d8d35355ed0a6c5da824b55ea4a9b5a4c294a810ac0e96d7df04b28c1f4c0a5a35ca47d3054b9760645e58d095bac2ed8d6e5bcc1b9c9cd54e77dc71b85d80df7a3f7574bdbb55c363d85501196363fd8771c43003dd46b2a6b10aaddd1a87788fecc217ac624db37b5534dabcff8d67d8e4f8d414e2761023e0196e3e01d276be5cac5647ff6295f111f59ec5a96f8c5b3314a2a7ca2b7225804813004d8c724ae3d89356a28233dc5d7bf219b58c44c1c6077ec5425b7b01717023f501d9704437520f40d35e563797c2f81e8f567ebf273e40055300378fba00197112596ef3662eff942985c67b5432f4c16e09243d880e1c9d56aaf2efe216d744b366de5a08458cbcfb28bdbb25e3c2ff949cdd6f729d9d417b16a43b8a9cb9dda05c303b459133611b11949b9d154de3726e38033d11f27727d5d86c73f001d1b7766ec7fa0d3357c7c6660df7e93883e581840838b0b694d2f8cd9f6f9cc3b7fcaee31974ebb2737b810c01970e018a8eb6af2c326ba11a0d73c993ae960f24d8cf29f4fd6dc9f3c154b2344f6c683d152a2d649203e932a458016cc0a65d1d39adba0727efc5f5001495dc012c3ab0cb06525b25010ac7087565c49d9be659956c69309eaf0bc01f136eeb7a41d6f45c5966dc1cb21f0b2ee1a9a63847371bc65f1db4849240f83daf351b8eab39b68ad177cc3d9d83682ba7d0d9fdb97a5f51843340e7f83f71b44764fc23a789fea465df9951d0cc1e03b1e692055ef766027fea9bfa1a72a3abe8cdfab5d3f941304b1d77abc1b5823dea0d1320217beccc0469abb3be25cdb123d4354e08e683e85aa15f9825f388e70c0d62e20509feb7f9ce471e4d2ad3b90d62694dc388407d1abccdf289a1d911b2b607fb964ea1b7520c1d4c9bdc985a29532fece4a33d57d34027a5ee6a0d3f8646827732a66ac054552c6f1caf54bf8437664a57159dd3379b701e5ca329274655df82aef023716ec1c37bf2d22d0af4da757652e55aede3e335935c8e226953fddb20b3216362117d3aa612568b4e380875867e6aa0b424103d1a7158557de0a0fd54f5785b6b0c145096591d36ae770a56349899d3a99ead1843e69db5471c682c628125bb5a423efc509e58ddd32decabc7aee8de239119e4b3b1ef36b2159fb0dd1a06fa3b9fbb70f54f8d55bf105df5c548f138c617d3e2212665a2f4aa9b58173d469de4910ab846978ba3d9cf9769be4658e24dfa2aef4ede7392330f97b0372dc3d9d1cfa2b2607223bddffeae9242c57769c08a32c80277c753defd701ec871380e846d03580552f112e0da90ed2f44d08e4d4ce0b9854bb0035a6c541524ff60cbbf1925dcc7b34ef00cae3a0ef06e908a3fa9517a391ca0d8c92265648e67bca9a53aae23a1c7db011aa75f35b777065d3bf9e18616b127bcbe510291ef7f4fc2cf1212120e442bc0932c81371f0c9f53a38644c8c9ce1d41f0b1f0b418fc7ba808d66e9b872af176f4596916e2f4f34cca633d505648dea1f2bc3a631389eedcdb61de5373608977d1cd797cc019ddbd424b14179bcc18a97f3ec3a28d8578309bc8588f89dbf8e3213957bf6b6768258b7a2e16e7c9252333644b60f9824daf9cb6537d4b31aab7b28fd5c65f91051fb25f158585d29002b2f0215cff1d60d61e53e6840586ae37d68745d25f26573e080fcd13bce4eb1d844aa2eebec1bd52aa957d909976e592e175ab19d6cdd0a7fc353f0f40cdc84d6f0028ac2d2402cac7be037975fd7b8a68fdd4c49b3f844ea21cdda4d0bee5f7f071c8a24eba5d893d554e11c4807a367ef69ded66a4b0394b317011bce59bce12043133c461aa7ca228d2186924f11c6bb23b0d524ed0626bc1bae4421913f2b1b37437053719c3b2e61e7279125f4e7f74f9dc519b1778fdc985a1a6ccb6ad9d261f622841149808e1b1e497a3f35527c84ab9161d05c2235556033f6d304fbe0e5c74162ee2e9ba21412c6d81de533975599f45beecac42a88a35593633e07405f2e34be90f5a2eea86be7aa937bf5d003b3867d3a0bfa3d0e00a3ab0f93f5746fe04804124e138a6403c348b20d0d84a35702b532890941824d7d1766e350433cf302fadac5a4b6626d35f4bf185b222a862ad4fc2d561d4d13aa9e807513c1cd380d5c95001afb91ee505e2cae1dd3c6af9216c3d58ca0fa00719c9c6f45eab737d987bd55e69aafb6462e561ecfd52fa45abe9e0af4e9b4a216efd41c2be2c56044b716df3c4fea351b907ca316cb561de7f3e1d964c0050c51984bcbeb25febab4327686054f5f778970286a0593b9b1de13f4e40e992c1a04ef60ce4128c6142af1d1067ae0a5ea78f044422d56d82303e9fe1ef62c73348a89da35c52c4b1c4b4b2284a06a7cd3e2b0b0b6bf4dff3d0e63a76aa692b1f5218e180094db67d45924322b3244afa9a260586345a175b1373a8cff30cccae89d7feb51ab979c0311d678f962f6c66e36b0bcef26d346a02d4d534fd6a7ee97b601ff6133e0928a2b3a858bd9cbf72a6ca0132b78e210ddd6cffd0cae2c241daf822c49bab893d911a4c8a4c8493bdf56d021844989c9aa487c07b712c6912c970a5882bbbab091206ac20e99b2011ba7d04864a3eb68b5503728222797b1d7ceb46579c94626b2851da3c9d45f900a42600ffa991eae95c9bb67ed59d0748b66b12f723666f20fb40719eca0cee1a12e305f8709572a330335d2bdb704d66d5e34d5c0c7c89fcb75405a8ed88453cfd910972e10dcc5c4cb6bae7af5135af34d4a0f83d53f049a7344c66f58f6af3f32902b23b623bed3d591e36a53a6ee7567052cda925025ae1fb557a276be04819010c694296181817ed208e58eb493565d93dd26a2b90277266d31be2b9d411307803ec006548a998c78a177632f9c6e12225401b578cc1d8cb7a36188e1b68c8ac0f7c7ce9f66a17d1a065746a223fa9f96ea33c74a03b723752fcfb13fc1b19690d3a734ffde9d7d745dc25c3dec8c1bc4d64cb689a11b66f200d7ff8719bfc9806be2787d2c219f8f2003386f383086137bcdf2b3ed1bc0b6546740c282ab7a10a047a8f242799c1625838cf0fa44770da116d0949c3ec1cc16766018c590b820f95a60bd5da36e9923d3f643eb4b38b99cfe57c38a3a5697713cdf2eea5c4de010f218568e5e1c861ab22bfd6c4de06d698de152bcbf5389e8abcca04ac394f066a7bc32c6d2f9b0b72a0080b5db3bf354b167dee331b6bcd9a655b542ca5340ce60dde3da11de872952a9e95915bc7c2c70114a928db573c1113f05169db4700979a559b7326acdb419a1e621a24942f961cccc50f37404d6aa829304450ab0d50b0176884d6d50ecca3e075adad852f38e93abb6867a900cfd510b34996720ea5daaabbf71abaf42d68c84a798ba4f4e0e6aa94e4364ee69c1b21cbc4306a02b7a459c8d0070649aecaf20efda9db654f3bfded33a1e201d7ea180325b9970749c4beb80a9e1c22db8a6d0168b7c7c9f9b6061fc318bb195b8a465fae00b70fabcf6739a206bd85f107f323147a142b5abc71695b9cd6c269e56afd57cc470d59966ba9d46b7c6c17f21687682436dfc33a0231c74d611e83e6feb095e0a60b122c82d0a875283765093030c649ba9d89529ba72ea2638b38e3dd3fcd604e0fdb831903208960ced29865eb02f45bea9b7cd77fcb9592c185507dd7d0cd79039366df4e7d860b0ea41ff1a4392bd6aa90661ff3b9d36fc3df6717921a6e220ddb9f762f46b6d2d5ecc03a08f0c488133625c7480ab1ab4c26625279b095360691bd352a7d8b63aa14db4667e075321cf6a09cdca93843e80f5367ecac3c1901e62995e53c4c81908ab548e12e5337b7f4d5f46a96d666c0947bd5ab7eaf620cea5f73348f96d4d5de3637b538335bbab227932c6d1343a3be8533fe0ffa890f12e9373db27d8ecefa2e51a11e9a8f4f65aafc35aa26e32bafaaa313928dd8018cabcdf8cd21f14ba0d38269e7d9fc291e47b69098b143e7f8b79e9eae54970e50b6e0a747e70b92da631ff6e9139c79ec945c08547cf52d427b62b1b7a584024d843434bc42944fd1329312d0281b2edc1b726939311d6822d7900d058cbf00102279118f91a29500174b9289532fc8035af067aa6ef5963799f57c80d6790bc86b6bfef6f086788dde9eaff849fa827fdf72b3a3270f5a020732e989cdbe074299fc4e9af7153f000f76c26be59f44de5fbada7cf3516654956b59076ebe0ebc449f1d06da5359c2905f16a18b95d1c13b77359da828d2324c8769b3431702d8923bff3633548aa9b9d7eebe1d65077f3b1e3764e451dcf5879a07c3b70406b38b73150497306f243fd9960617c678d21209c569c4f2b06149c20a3d1987015cf62879a9e06ea3d8f0ac6771436942c4929d5e73f5c7b5567867197632810f4c28d7101f390fec372c1826ed53e1251fad3db0280595835eccc6e9bf8cad05c10fcb0ac47a314eeaa9e64e74fafdf10b4dfdfb9dc42a7e075d178c11e4d500afe2f0b4f96f967a1219df4c10e52be252b3c02dc70c037c725db93e10e7a20a96aa91854f7f296d87f77ec83aeaa41036fb196cc5545871274fc87988c27d0e85c40fd05a5c313209d35330f5abb377e402923c69aed9c7520ec412906fd2004497d391a028ce3435c9791bd6728ed49e69a26b0cf7a4e292ef6d931489850a3d1534c24e53bfe0be93699cb74eafd160914a92297d5ca376e138d5e481fd09081875554fa605aea2f21ba5c44059fec9ef5f9d4c655e55473a467f4c0cd50a6449b901f1a8d458e7338f28b53e3c9eb348c8caadd9817118d6c2e8251117085f3d295b7919c75116da599cf009a861914b7a00285b3a33cd4876c23d198e01503df5058aba9ffbfc87e2d3ba138e250f92c8d64bda8047f7eb9556a9036707cdf84d2940e4ae78ce44b824a70b56abcae5c6d42c4afb73d2b254a3ede48403786b2228e4814aac60075e181ccd3e1dc5166956ec6bf18c9f3b6d5cb818a201e6ebdb32d3212171f05a0b535a398bf648e1e049a4f79fe7b75d2022ec131c05e706113961e9f17ea8dd6259f4198b17139de1a0c3dba21550365da869eb6e09f095e8286588be89a15fd7c0ecc807ffc89fa18809e28988623d2d5ca5883002dba78dc62674d8f61bbee2d0ae0ce0dde09fbb8897e380dab5f12a178fe0500ce9dba42ef4c4d9fe475a338ae07721b8b628efcdb685a03b365c516c6e1b3e075c4b8fff0528245ea1f2b4ec1618c7656fb4c5aafd0e1fcbc4acf7bb1edf9d00c353355337d704386dcba41f09e261364ab3c30a16d38a49bef2cff310854e0d2d1594907f19b84d4fefaa306b7b9da10c5b2ba9df4e5cc8a05d65a4f9517208868affbd280c07d85eb1968b6ae6a6114a705f6e663a607a0576bfb73f57d20fe8f186411bc078e34d0ed64e230583c863c4f76ac6878948c04ee2259c196f0484fd811045b62cd8f57acc43b1e6b0149b2109ab99a29ec8e6d1e2a4716c6a0c29897979460242a0fe0475b8d7d7e51d53e98b902b48c170b7eedf69ea08b206b76041ddabc958d754678c667a5f1e862609f438e24d8b1a5f6889aaf63d5802185cf42976271f4779a73dec5d6745159a1aa14a02931590c88d29e628f14b02369a5e2b92f24f26bcb50681b0d33c026ddeed0238e9c459f101cdca1297ef0c5920b2ec46d9b451bf68c2ba23867ea220155e51c32dae13abd4fe773f0e060795981b84a794b09023bc67566cec7681f6e455daf3a7d503635fd4b9cc86cb078282168ea2b6ba1b2658817ebe7b20145ef45a2baf0b824a9554ad4031737a04c01de84560b5e4b54b744fa5fd0ff074b69fc3816af56055b02eb91bf2cae901085bd79aa842b481cbca705d8f7a1bf1aa5c0cdbdc29c04cddc25139267c5d0a71aee8f691febb0fc8e1d235f07f3cf2f9bc8c92789dafa6e0b8975afa90b101a952de19061ef4587b8c3f2e9da87bc02342a568b3d6cf599762f4430f57d00c08f1c14b175d439a00bc973cd52e1dd94f0e5e8b6275de9b47e0ac13ba39c207e0eebb8a04bc0b295549183227931782ad4ed412576f1ff5babf2b7bd545b909e24d7be52ccbf2e60ad72fdc3cf2c28cd9d57cf7ff5df2ceea0f09f540e92f0aae30c9bdd4b56566e7b088d0ddacdc1eaf8e543baaf14ab1ea8812e0a307e702e68b464e28b70fa47722db485fa2a432bed6f60d14a0e996c09676de01cd60017f0a8b4e22e7e071aa4d9b79b42ea6bf308c714166f3784166e73cb0878aaf076b448e5f0bb2d2d437cc14f0f20918fa7a7dce166dd25a2d2346cb97b632240411b6f3e017c557ed2aec4cad9b4ee96fd2b89248a5ef261b99bb929df06f550bd1c4d47d2a8b2ddaef1a6258b6fd7739f0e028c8129f3bcac3cf098bb39bda0839c4af86e318bf5d796895ffa90bce0931d90aaed6f35d6aa71f143ba0be9d07064051465fb867009ea1ed24461c86bdb1adb013fe48659a3b2a118e2909b60028d7ef91b55e7ecc24fe060462aa0ba006a6991ef6119b7f06626f0eb0b3e405e265346441f55137f61103be39bc76061bfca0ff9004953b7ab10ab6cd3b560f9e4a5b4cbd5f601fddf4459a3c0779e879957d33a153dd7a2cbe7545e14d8201cabcadce82f032ec98c53b1017fb63ae22313ba4943c4e7193c83d4597c3780a3376a7857c32b4cf58c33e98e74be1398a656f0b6a7fd2e8e3281f8ccf843208b7bb5aef0408e55fbed1612365a21e6c98876eef6c5a5d2a4dbb9a4170fbce041914c7a3437c0cd9003e2767d4c4fff33798cf635ac526a5b52a03ecc4da1e075afc23ecab8d332df37b852fef42771c361e9a5c14306e0fb735f582d0fde402d863004877f6f46ea57dd757f654c8dfc98f8d29798101d0cd527b996aa3e0060e534bf8ec15f16eed4c2c7e2dbc42139dc4027a1a50cee4482158e46bc50506c1dda730833b5da3e6ecb87196a70152a70ce02f170ae3da5ee4c4a2e6555001d94180c0a860a0c8f22b60dea0a7439ad6e79d5f61d3a676919d0298f498dd06368ff712eaab9ce1a169e3542db01ae3813b2da2469ab5f79e963206512b7801f0049060d20c753a3f292ba61148c5ce062f21076a46d881e101a958db44600241bd09d87cbec8629e39bf55508e4a5295eccdffdd8e126e755b4f35607e7901697ed325804dafe52b3cb36c62f0e64689d6bc234b22620a14b9432891050a08f6239478666874b8b4654c8ff1c31adeb8e9413263f3a11cda99a934f59ff9010914cea8f18fc726e100a2601d19c1b04452bf01178d3389d86299b25a12850588e03057c55f0581f845fe778ddaf0364410ae3863e692ed73ba5681414a3608f71cc975838672d7497128f648df8ebd1a58c5c3a839d0e4835f6093695a7807df00182361ef9e3e2d4ceb77a9c140811ab5ef0a8d4cb5be98238523eeb38a06be598ffc7d3cfd3afb9e40718753544912b9c2375a5c2b20617ec6afec6410090ba541c021f2f6037d835416e67731d8d4379a48710308cb4b8a4bbde48e740954855f79f6c424f16ef88883545ab894b3c7be6cd36089affa5ced6ba8c27006483f580d99b9e16f6b060bc6f156d307d64415e446f583ffed520e153b94800eb16fe86dca5e6d019eeb57c30b2dbbba2aff0181228a78dc90d45400fa479e0056084f0bd92b67886f4c584a45d2f18744aaace1b1695f82352ec1cb23c16a0f673536c50a3bebb3eaf6643344b0e5364ef7b39e2135fcb011a6cb795514e20e290a59a6915a452fc8d59d6970afd9b1d6e6f8f2fe0314f6eb4cd3a70f95d7054c1d5fe79d2af15c62a3f3e55ee12a0ac4f1cf254e2a65d80521fb894b0cd00bd0cb0f544067d3b94d6a92c44431bd1602c0cec462709b805b0cd365ec4f9c0b501cdca2ea1193c84723837e810a4dfe5e7e15d9d1a77fea4b00d10aaa44ea0980a77ba074cef86d819f13755332671d8de636d5b7e53990fcd1067c9547fc05d2214b2664b3d1907695a9b1f4373512a552fb300a60e08b657ee14707aa850759ed535e55acdbaf05e2ff7eccc097999bd5085e01283c0a36344e9477b602e4f94308df46ab33215a201cd8d8fd558cb55d0f47696ab3666c5842cb6d3fbc8d82355e34772fd741ee789dcac66d54848481a5d10506bb3415a4f7cc06ff627cdfce97203aef2ac38ab5ddc3cd908f928cd077f9968f5a47253b0c5095d065d4717a7b2739843b396c84fd46725feed9184ce1afbf46a3ff0c74098b8b6010ef1d748bf43fa04dca2475ffa5eea30ef62269df2854a6f060ad01ba58a67db913ec84595e409316135bca706b7a6c4ed56c0bced5e2490f0cc3ebd33d21c77284b545d9236f7083105602ca42521a8775f8f1f57683769f6edfa3ed9977aa2831cdc14a69effa77fe30710edd30429555b256308450f74bc7ee58f2356475b0340dced314530a2a4660c1b849bc281f62d1b6645e4b7ea4b1c29d96a9d77bd1a14042f6eae5e10b052d5dbaaecde6a41a80d26e47c6b132e65e552e8f4c7a91e252e420ad9a80947fa8920e419e1a168f65554b13861b4e752e9d2d2bee0b9ae9ede171b7ed06e36be7c8d0cc132e8e9c57162b4ea36a684dc0d4e6998056883b7f1517fda701cd772eeba22b32e7e3492e8847cfc0759641b6c6a0c9ee3904b04248cfdcd48264b250977bc40c92f746c544f3d1151961154f8a4910dcb63df1d67d078a4827a6fd714d282132a44af9e9d915662b7da03647ee6cefa08e1fc262b8b05b6a4d11152d6af8a2b278b7f92ec2692cc5d7a1eee9c2748e20fdaf5d99d9830343c227e8e24605ac7fec2905519ec169076f7c7e5afa7def9511c125d4b4816267f5bf8e42d4a11eb81cb6603577df0cd7f99ae32734e2622a6e7170e9b1b36ccec6234c63963e7dea07e8d86d04e40162c8ec576ee505418871c63da1bc14faa9f247de7a26213704e15442f77f3400f291f06cd9a081d424efdf64660f7c2f4614ee669006e337e2e34ef197359a70b86cefbd0df6a41a001712bfcbf03554c99820e8c1a8ce8dd69b67deff211a7bc71f495e13a3cb176e7ede98c627f4e99c2655d85e8e04e6111f382b45f315532295a91b584f884b74d7c9f0391ab825b6af2c485ad6dbba29c167c84cc88e0c2c257b8793e25868026667a99b63963841f2ba0d24ba1ef3afc5a978297504fe91445f29b712dee7737f72b770ec8e50e7f45a49c351552ec1929250a92bfff7c62720d270644ac1da545ad6ec1b51c80641055a2312835dc44253cf012551ccd72ed9ad4d80a07a98b319a66a4934e23dbd668f3702d03d51a02dc6a0a0f900b870bf8de8bd7c9d954c14547ef852a90763728b6a3ac95a6f74c8b0152062620308098f9abf8f1b60c9b967d6952760bf4ddf67396db69355c5063d342cc2ea2f8cd682440522a05e5f59436c51d27634a141a52415c294774a507f2ae6c94487c041c381b240953c4d4a4ec06185c80a6b0a3ca88783ce93f83265d17798d2b0668d5bfad2f8120622b6e1c904a43e0cc26bbb7be6f2952247e4e4760e60b0caa1358e2d1793038afee85085c800e542ed887d23dd27b581740aa587e099388083bb95bc374c0c10edddae8e7e6331f7a5c6442f1668cb28be14a2dcb88392781638b40510bdaf55ed29850b6d6756fd32f55e7d53bc72f9e31bf8fed5788f06a134ad853766d4ed64f2f722519b17c8ea474d39aa88f22a0766773c35755195bb85c4999dfbf2ead4f5ef17fab0a88b0d1de00b8560e9016cf4babd5d4f9adc3eb1956a02a1d4874a0a9cb2766118cc07bdf37427953430d0a99b91ec6feee9eeb66279c7630b06a88158f7f0647296b6bbaec2739f65a2dbbf0e402615583ce1df639104b8bff1696c122e66063514336be80b2cac331bf922fa7b5ce63dd61c9c04e0c975124342b87a7f5fa8231751ea0abe3765ba77bc1f9d369153431eeecec0e567c86209c42ea3af8cb675694ba8eeab6728620e6cf12cbcbb0a8d6fe9ddf0dd18254e2324826bcc26d533d991e719e6d15a147a4b0b21df57eaf3b9207dfff90d9ea38a7f48c0fd45f308d14d0514784c86223918ab6bd457915f0bf369a172b6d91473dc9d59fb537019be5d2bbe64391e38859d66d8b34c6584d78180b5bbc4c91500a3545624648ca2914e77b49166120887d668d2570e6f74b910b6ccc0eded477703006966d0f8ef326a7ad18bac11dc8bf9d0881610a4c2a57775812b284729b0ba55b8ce0727e875259142082c89f2e6a4ce2fd717577a3b2f165cf0f758a13f147a7c895df5166a8602d0c4c77a1c7122f600a3b8602a790c290fa482424baa7662bc2cda9688f0f0dfefddf4c33e80948a6a918b207b06f93a993fdc81f0e1638f2614e3035113195ed390b1ab644f6795fa7f2d2936edcc108d5059002c3e50d574dd09eae992ccd55e406b40fe266a684121e139a5550bb3b6af3070918af67daaef1c8577f70eb5bf3c27edb20efea7e33f4638e682c326a82c567b253eb9bf2a843b231884d00b29a851b9052255c503b62334fa23ec69d598f6756d5dc007b30d2486f9a636394fc1e1651863975d3947f8680b970effef5f56f48b436f5f38adc2415629d45ccbe79a7bbd0548890232a197f6e1fd16d388ec0c73e7c29035c55bf4f4853873c692f080c60c7ddb6ad674fc9850ca9467f5b0ebb95fcb3c4cfb1c32df70d169f406500e7f4f82c388ec0c13f79f69b68899b6726c7d3dea0a457c4217ee197edb4038085512cba573e179afb33f02ee96e83c28bb523aa4032be7720ee8db2fd2041a7ad70ed561d4c60406c593e07922d55343eae44e848e3aacdea04898d115fce5908e32a2dbd031a6139d4261bcac21f43036ff87fd8577a1a6f7ea9fa1a674207529a4f1d058b3ae325014491b5790281471e3c8d6dd303526aafe7f1db3b48f9fb9d34f753f6813cdad9fa26025779dee9b2848200878885d7ed63b726d5cefd9838381f11f7f0f61e103517d471e7dbee481c2e00d72f54960f7889977dd7ab9fd7e996fd785ffdb27f72f8792e4cfc50e3d528e0fb5fba98b9d296fa3181c4234a2a2eedac2b84778f1d679c29496a28c83eb510c218ff671a557a2fbf9680625fd280b5381b7bbc2838190e70b1f176b263d7e0619b3fd6e3938f949f626ef07082a34093bb0b289d2ad731cc5b9aecdb0c9320fa1943fbd7245fc8d0a8c107dec6e5080100e7c29547292770da9f5b4c17d690340961b8c965bbe3d07290477fff125516109a7881d534259449e7c5f7cfb3204f4c7086a791df3cbb3263006e83c1efbc90ccc4d7eed9de20160d1b8a9222c0142a8ec3819c0e30ab8acdbdf4f9c346a1b08aaa5169d72906118bc958581830a83eb1ef9c385ece8b1c882defd61b97b5f28a221c208b996ae83ef592fe6ac07f655a6753df59f328f7754bea4ecaa15a52dd88e6d7bd4d0d1deb52e89192106f6dfee6bded067021e169d2306580d5ab2e4101ce2a6961b0b50b3a97867720c3df7ac4c8856c4d7591a2ff4aee2d6ff9a815190ea15e47c26f4738fe15f050a20fa089388ff1360253e94b8694638603b79a0fdf2674010b36f4b5724ab4c02e1d202000102000bdb92d801fbf017e7b20ad9eb0287a406f397169cdf05dafd10b1e031e9f410cf8921a35fea3e66484c71a98b592e609f5a4c31084dfd78ac4bdc9d374037b799089a020002b9023d6bf100fa2fec9e46baf28f5cc8638dca7386df05dfb9041c7340166a6b00023f8a8f876b494a6a6ca6b8581d18acd09c5c479846d2b83a1f8d256834cf3b7d440221004e6c8cf794bb490ec14f29c790d39eb1e915c9c9498001ade1f50e5d90136d830144a6fda0998f760349a3f20b6518e09ce85e59718004e821f44a28ea74159b5001e0d19fdc0871b45fa18b9f712c8ecf77ad57aa1a74b6f7d95e34dd8076a1df8c8fc6e8d7062191d9948dac483c4136d4274ec8bb2ae8ca9fdde11b217139e15715e23fce0ed9fdaae2ed02bcf1fb1d899221cddc74f0c28d42ae29c4fd49e4653b9ab55207728f3305d8d462caacc78804cb7f0a471dc7183754b6f016c07a238d53d7690d2df7a5563ce11e2dcd7b681a9fca36462419452d72ee1be0d73f48e31724a06c57ebd669612ec21f60f1ba982fc4ac37a67a4694e3a72a87e8dee3cc73a979d049fe7e83a9a1c14aa740cfe745a518fafae4715ef58aa61b2cb7c0adce5f5b09e84fc3b1a1ae442cb54903c510b629689d27f6b6743337b943a37ce4c7b5040261d65460fc78a4712546fe7deb89ede935d305d5e62d0ad7920384eea6063c00a8b479ce818bbc7127856739e8a9a9cad823a4a4c2a0b806f307f9011323c00b791471e98eea3e7d84949ace3c0e87545903c857c14a3c625f6ec860dac1dd09c2f19a14a70136cfd246e4157f62c036266d0784c1eb02c05be2b23dbf8f910cc4d8d09e62aa0db935dff3d33ceb9fe25f9ce0dca802b27cd7d2e735258cce05c246057007305901d300cce84bd71f350c3764dfaaedb8bba261c48d4e7b4d0d5511e2b0dffb1d417588cdb767a9c4eda73cd8f1346b3cb9eb9c3034bfe4830680875bbf13fdb0d587518cfc6a805312126bcb8deb52bebab52c83fdd3e8800094f24094152e0e9909c16636de844a87465c1b03a05a4ab41ddc8f72cb1a1c0b9fc14e9d3d9325ae9e5edf29421abf8ce9c19c5210909ac64cdc2f5a591a880e27766da4a646304a7e84e01f18478e96f8f2419ed9b0c7241f39b827bb59ef074705e4e18688793bef59e5a4c206e7f8be36328a546c65d4dee439dc20ff1b05a19a40207a2804817b1453d2d9239ea624a35a8cdfea4b92ac4cecd8b12f8c09a93c402cd2019f3dbb7f8ab3a83b06060d59a3a44b07c826c11ad9a00d2def0232799f53dda8db7e490927505957e6207d0426a4d0c8e1a75cba52032969450a4d2d3a5a6440e9b599000f7eacb49586689b4753ffc6d504cefe31518dfb65050faa5da0ae5b6ff70a425b22ca623db68e1f4fb0eccefe65fcf8b1c6340a5d01489c3c676b568a7ebaeeea3a3906ac9637cf44f436128f1c56c3704047116d006583d613955dabaaa02c83496a3bce2ba99a41d9577d55091aacf2f07c54d70842588af3dbadab1cefbab06f4a1f8c5ee4f502488124918963f3fb07f1bad30c15d8ff868ec1a01035c92b36761496f83fdfe9b65273f6273c522eeacb9e3b02644e6fd63b17ecc75dd0d16e77b6fb5d13556e090fdce4f3ac6c02a1b99f3309cc67c5ccb67c835d6b8abc32c259c9edf07770be7bd5a283ef05e73e6f5435007859db5b06c4fb0388f84ed44bd376e32d8ab9a158513932b2faeb011b289507d0a0424b5e0c861be40c6772baf5c4cb6a895b87d556ba10ea084d17a5270e01c2bc870bdd83f8fdbbb0aea06d06a97ccdf36f7954f81dc93d35c64cf819660ed19a00783d04771879c2dfaceda0b6b6fd263401119cc8a77df6f49d256acb0e4a8508f4265078288c212359a3e2eb7cb1a44e58ae5b67c8e038df141bf3ea011435ac289b6c0626d8c6ef81459dc64dfbef6639bb6a1f59ef20d3f5f1f12a0058bcb22365231a6472037a53cb88cc2406b6182f371e1082922d2269b1e9fa0fdb7580f06309ee2e4b9186c3b263b1522f4a37f087cd06a88cb5bc907e630a015c8f33c0cd049fe40f329c17b35a9481436110806c18c4a8d57b632febff220be2bbc9d027fe3518c9a073b1f6e2c2e7d02bfbc7310aaa471719d71113dc200915be00047ace76931ffbbb3e773b6adb5d2c84298f4adfe5e8c0ede756a1730c4f3d7515368748f77f9087af01a5211477ba78d1a3290378da02ca3b3e8ee108713af35c9de4d65c8e7b052ae413a162b983c7b28e006e3a0e65215004999104b290f715c230d780393c97fa21ad36cf08b6e70b6392b5d942daa52bdfbf8403814745fbb38347051051a5bf15062310ebb532f3185302cce6060f2576e1be0ccf56fda73c4dcc88c9c6012bba628d368ae840abd5cdf447227cf4fd7b33d40affb2b67a7f6b81c7ccdee8baa3e380bd059ea238285bafdf1f09f8ceeb833401cfed80f4674e2f185ad171143ec08ee6d3a107d213df5e9e094e6259abb8080758ca25f35152bc3376a16fdfef0719103e02cd6b6db34385ba105b096e468b03d5a19a35f7c8f5dd112523271abe793e066b16e14793d53906d9131964a30e0a68058bba4168e2981c597cdf34f35fe705274dc8bcc59bda0385c05fb75cb702e5c382187c3206a357ba57b9029419a6413cfcb910aeaff487a9dfab2f4f1806ddc6fbca20635a9390645a3ab504170ac97949e2df18321bb6614ef47d15fe0fa5c9bdc1e18854f65bc181615a49ec7e9c16f97c27f19f8056e014bc96de870efe34cc3349c7ebe54c5f49a686523d011ea41aa4682f73be9b21cc6fcb679d028dd1cd38321806d2416735e756375b487cbd6b3a1347ef47bdfb7d2be3bebe032b29cb57e2fc7a99f3995cd851627d060e7c94033de859d94fa00775bbf41101cac583f1c19e07dbafa99a38cf1855446ba3c9c4a5120a80a7fec5f04ba1cd0231fdd68ee3897e003a26a174e9a4db7e832860332c4799428dfa4de09c4dcb0ccaa4331a9d47f1fb6ef8abe07f08d161d3eec56bbe84da64f6a7963bf9fb9b0778bd9d62d1d00605a8f32284ca3d00a9bce7f75d0d11e62a81490bf80bdc560033f96c6b8bc0fc74af85b42db0855f79bd26df3def4c776641574414c0bb6106032c1014e7c36ff254f586bd2278924949286bb246dcecd5fef211148466e40b09d59eb60386f92f09d582371c548ee5e1d0a96b06fcab889ec2325cd6dfcb028a7ecabc3efb4e56d04ae1d915180a452143abdf4f8d4421af2f1e38f7096f0e5e2affa5ed47e54650c7a5c906251cc83bd68cc9fa9ae172476c8098be78fa0a429445fcdbbfcae283270c5f8feb51a91d6e207bca1ea2d30151fe95bc38a5012f1a1bc16f9c31f4ad4de9c5e773896565867468a45eea8c05c9f7a43987450b51df41163f19b7bc0c588a532bb58911d0a57a781c94bdd47b9367558483050e62965f95855c6a77d5ced055b9a28e1dfcaf2e5c6ce51581ce3da95e8fe08c0a136699bd48c14fda32e90aa2ede07b5b5476fdb34b0b4f01ee2ee9edff699101df9b62b4ca074a0e15b5e57b3ad9d2b5b220b50c5728ba473ec881007cc3ef0762154081451d9af586396e17267f8dea4b697f1b76beabcea31e78654a087a05fbba9e1eca1e8d4d0326d107edc952070852978d1e413ce8fbd9bb0332322f0b548efdf3766a8c0bfe433d9476089c58186ac04cfa6fe1ccf4badba94588d40fe3a42c7cfcead3a3dd5386100328b34157b43e13d90214ac6e28a2cc147c4606cef61735d2b8b5b1e2a5a8bcf11a94c0ecc5b319853c13ad8da464a2b18e130067c960b03aa659788c8b64e5bfcf5bb978462e53a984791b735f310c1289490445aa41af4e0d75f5ec1558b7a4ceb47cdd6831b4ac736c67ed7e7a791fc8350d1439cdbbf3f944e6e83f7e2fabe467781b3e3b2149d95327e0fc6ed63c5f6708a2d1e19da9c07c602969ca565dab6281b0aebd678375b92c2636100eb6d876067c7cef076f6028df4d8157ffcc80dc68069f5b431714a4eee437d23137ce3500b907e4746bed4b2626d60b40a908de164137364e9deccef9b099c31dfedcb504b3df55e88844bd5bd2773f140a5c93dc7aac8368d0f82f08993177076e2b190adf2e7028c29e133f5034513ff34d5cefe6afc9061f7e8941cabda67bf2e78201eba704616f86366a6e566b4ca5d98a6fd1cff598f91cf7624d9a8f9c3fe894012e720968a922e28af4e63efc2d3aeb929a942de0db1b967ee1b6259fda72e502d10aae5d57e38815c4b523087e8527e3fe79b09d8db5f7f102f1e8cf3c27550ef3a77fb1d0ee3b720575ae0a15a69494842b47ee0c6fe681918a0770caba91000ae3158ed5c5a0f64248abb2c9b306728b99e6560ddba493e036062fcef61103db94539ec5e494b9ba3ad9bfc1d786f99ec6305b29ea6cdbc468127a905fbe0bbbb9cbff8e0064d08b5763361d1aa8c3c4572db740555c4df3c8aeb7cb5a7c0ef8030b1622432b4bf66df6e2940293e6b853f3256b13e7fec10b1c9a8572f705ac23a532e45afc39b197129af99dfa28da720f6dd1d201a2c3c9522a7d5da80ee99b59e00f48b4b6163672e43125301e9b97404411d20f1bd977e3f012b961063d50021660c939e0a2875295cd8edbfbaf7e1bc2e8793468d0d7d79cdb75a10eb0447bf28378e592f40412d44bf9d24a8b3356c0a7889a34e73eb563333b400d338e0658c78c915ad50df78bfe2a0314dfa6708561a1ce8d2b7873e835fb220cc88b47bd47a8a058cf84a2a60598e8a98b4f183e321fee85f2fafb4cbdf7a502bd25bd7cc69bfa9ed7886abb8ad68867691e44972526a411dc1eea822a93bb0092203fb2db58dfe1a8cb5e87b05c9d8fad45cfdb9b98937cf9c073e90652d60857118b126a252c3b19c3ee79724315ea597512844286757ed294de01a2e2f7055236f0ab592418111a3d4209448275c71a257d7da3a2b3103713d4d1ce4fa705dd7702de631b8a8d4fa6d7ff89c01642b03141b794e626f7467ecad3cbf9bc05c54b63901c436ee11402c0e9971e01f41094254dc851af179bdd3fc712194a082e498b5c16d204df4c437a5093dcf7541e4686850902b09f0aa98ad65b6df40b630e1ba8d0577638af72ffcf1373416e55e8f5c61155f53ff5d23f4228399c0dc439963aad09e2e43dc5918e7739f1f69fff069927feda9e912ab1a00732310e815de2d5c45233d082c358fbfc2cd39117c4184623dbec2247c4be11a1744708d1caed5689adcbde73afabfa5c55de0b6224b1979b60553ecceb9a89b54da90fb0961cb7fa898b10f4e4ed00cd3a53e336eafbd2ce6de5c24e0ba85d58ad020575e08b993c0bbe194e7723f7bc0d640306b98136ee64c4b9959156c5cdb98802ca55dff8cde579cbb26f8f6b8ba9d64896291c646cd02595ae7bede4a1c37c07fb7ca7d6ccb70cc83a6b235466ea2af0f2301e8980fcd1ec1d5722f9d7dc6d07fa126d966c28f70830daad5f9ba018eb11fba048928d7cb9942f8cb64fffeb028d2c82a60063b395e35a5adc191fb80339acade9611f035ed8914978610b1f0cde95de5d3d17e0e3a4b688a48309f1605b43a685777962c2f67c5acaecda28018060ed06c2496ffd7d2f96ba884278dc44a5c212e33ac7962f618ab47cccb30ec086b0c1690341a419541f1f8111656bba5f223597e1ee073e3f52b4ea74d70445d9383b1cf8b98603c3787df1bfc5429e6a35eba795b0490e9c402ffa191304d6a8caa69046c900891556b9d18c5bcc272379027fc0bd18778c25cf52a19202734d3bb515903edeb2c57fbffe4b890904013d47918a61c69e4fc606d5e8630bf53f1e16a8617dc4b3bd6751a5fd8e309e62103de24bdb1545dece5949eef90ffb88aa957427655c3d884e3bdf6461c7f62c4b9222f802f0fcf24ec1a5630b09250283b7a580412156a6c7f0181a659152e1a02f06d49cd93d82e3cea50bbf062ea36b91b080a2aca13c6f4b469d11d718d8d92a5f84e9402579b2eb8222160548df47e054c0ad37a70443315ecf56ef3f04d64f755ecc15d1832e3008196301066f504f70cf9bd280245de5fee04a37b8028f5554ac9bd950d6d0b815c8640cc2b0f397444c16c2093ce13c829d43f46117790d443428518318456bbcc43f02b390f21582b697c48bc735d88a5f695945a69a0e4e22460ce33d9e6ced355a0444f8edb6ee36dfa7832817db720503d1333b7587f9956bd1c041c6a6e6de0d05833a5af2c1e63bc3ffa0e5d4bf07b00e493334c22c6d5723cff1b3f9682f8a0ddf766e53b77730890563a574cc405727d21a8a68765bda6df5c64fb8c1a48e035d6e5799201179415526601393e893b11c950dc03fefbc5917e9743ed8d3f202df077efc56662ad6b2b15dff9792239c1c4bb45ecd2c713be27b00dc6225a2c06017dda486fb53fa1e6a2d3b913e06c70a3c4e54ae824f4e755cb47ae882b36f4e02600223e6fc2903af620e63fb822b8eb424a1e42ca75836a74d1f8a95e16465767d35ed0429965d56dab3135bf8be908019190a65a143337296f24b0c7bf19cc4deabad84e9e90255b148542ed060c7ebd90babdc412d26d466354d7d7e244f4642090aa74226523b2e8fe5406f54137764edf67680879a1ae98baa86b360cba0c88510d59aa9783089be48ae0f6a37096370f365e61ca20dbabadd0660118599fba56ba1415a8a81b0052d4884d446adfc5758588ea08d1831484cc6c1d9dcc4423322b28f39dc6168fc5dce9a868630e8bc8a9bd67decc772681a46d4e474459f261191bb955c859bb8dae5f128bbed37df376202bf628a0873d9286ba08d8996915aed9bb4bbc42b492111f3cb3e9b65eb765ee43836e59ade07ff1e5fe4650fea4274ff785655a3036af3eb9c062b2984aff71111bbe4daf56b7ef55e345666fff98d005f6c7506c4221b11a79c86eecf70d265b279b669954dea2d75781dfdb55dd08825803725878a7e92ad2f18a01ac3c02a819309a98ce3eb77f4990445b8542ae6d672a71c533392003b18ba832827cfde721c326a508a8269b460f694d51bd961fc833f44ff213898a414e2075a57370d5a1569620420688ad5e203166caac266834f2dad6ffa2bc3f5bc97d6ac80d2e17dc50259f7d3d45f32b2080842868e719257256a9143d526700ea6fa86109a10a769419e8908363ad3eb1afb53f24842023669c7ad674ac9ec0822a09b811e6e3d583096a7092354d34831713144c9b3ba336cb349c0fdfb220cb3386283baf05f1f4d110e21020655a2d2776a368416471b2735f7a5ba109cdb194090146ea6e4cde3a4bb44dd367e0559dd093eff851e41b57aa811ac31b185870b2d18598eae47e2e6060e9095cab299235bc8c42b9771a4b49ced67f2fc4283cb7731870e6d611aa8db8e56e91d9e875cd55ca5bcb725e8d1abd07bdfc448762161ff08fed5bc48f85e674904b038ad005163fe4f4c19b633f0f757c7698171e5e23a99170d5f18eb58bfd77a70be51d8fdd8179c9d3a352f7bfe71f794a9a777a16661390f5d62bcbc057b32c19e127ab1b26e7c1d4d57985f66f2999e3dbb5bb7654c0239b71e643eac7d318db0ab9f0ec91ff358357d4ad4fadd83c9b5faeba80bde6a17f9d89cb990acf0103f0042a832931cafd65429fbebc06427cb032cec1fcf4c46a6422ed31a7650b1450e42a36bf3c6f87a1a1b86d31bf7291f2aecef50c17451f79d4b27e0f619c511b3d9489a54c24da00be0645ecd3559c6302fc51b7489eadf31e4c8380694c3d2fb2896dc7dafc6dd9be04ec5bb9ae076118a935bfe67ac605f4b592152e63ed3e92d4b8334e0fe1af17bb32af57b9a70398ac77f1b7e0a4a1cc8e25a36d7e98a6ab546a1aeae92e9465489a789bff0ef77f03c659d0329d9205a3ab713b230e7ab8de7a343b5420c396fe14a1f725a0b2745168992850d6cccb307ec8f6965acd55183a443d5405ab21964139f80fe87d7969e0226bc72a2fbc3e76d519ed10e035de032f0b7d07d983645bea763c8352de35e787222a719e2fec74887cb583e39169319c8dfcbb982e8374b785d1cbd6a81dadef507baf36df22323f8df56e5f6b4503f8a0d1173e7e7a02e26dbe774b82eb338c2a111778bb6f8c88f9297479defebc0eca9e52562a560b65d5990616cc6e490d8c3394703bad6d4a35bf66c4993004b7c6da0a740cf23ebcca2223a4882f0eb4a6585d997e6bf17b03937a1a087991f861480dafd34ad2648c0c5f524bc06fbfcfd6d604242c754f430f95a77c72de2778b93f20df631f1d8f2d3fbd8500be6ab70b71a61a895ff241fa2dd76673fb0738ccf52c24233bbf6bf74a8e3d7f08bcae0b74883140f9e543d5d3db25656abfb0f4ac0df2c7d382a9710139d1e8f52ec7995bfc54a4a6e61ad21246e0f31b9de410ece21f902b6420ffd8d6d16937e0b588ca627b96cf641e0290a47c2e516ca8c48b56787dcd85e509d6f6365b30879c69c21292173d1e21b731d18109ddacb4119fc7352e1dbad52a9d385a82b596d851ed28adb4b820748524264a1f83f858c5a00a0723d0cc03baf1498ec37dd0aa4ff1aa099597b5736264f22efe8f2a371cea3f378b6082d3ab20f90f0843883129b63ff34a1acc97bb66c1eba1946d51fa1c672a76bf73527731b422b07a41032d2e8f4dc2d978d47fabb4e1bdf3ada74436ab8a24137835db4fbb870693af1c247a675eb4df94ed45ee60d7681ab70945624c843ee6f0af7fcd691f0a092a7cdd3fbbcab4770ca69a17f50d809b5b30473a60aa76e43b1e9d05f62fe3f0658468dbb00a5d07912b53d5bb03672fc693bf54dd962fd898a523bccd4fa15ce1c8e417389f6160678866ef6561a35cc3c14ae533770ded91a8dae27dda0b216f16a967d5657d0f8aa2a9e3d6a7408f2a54bd78b69ce3b158e2af56ce9892fcb46d21f7f2b0e49d061f22f26af41500f4a60b6465855f6e8ca16627d0223426a6a0d460ec2b9b17f8cb09db403b5cbb2238951c61e4d9158d6aec643f6c4c2dd537f1172a19e87248db46a72a123f41fa40589cd84737c5b96ac287d802e62300e05d02a8f555cdffd56ccccb8e98380840717d4ec2aeccada17f9ed30c1a7645b2b411c7c1503f43414aa66888323971aab35ebc25ea528df009192c5f894d4cd0105875b5f0a3a97948ecd171201ffe45337c6ad98df3657949c6a78e77e16f3e334c6398fe3c75ae90cf84351c0a82c700cf402bdc6c15689c584d93096acf525acd10369c35fd995fc4d283407a6499d292a660e1e26c41b56f46012293000a346387d54abed7fa70206cda9b88fce9a10bfdb91aa5e73dff2ee812988742449db19a83dc7523bbd0dbfb80cda03faf4bcbf0e80ffe41b95b73d5f9a861afb58d0e8773898edba100643ff7650c60efe3c0d246589ef8b8007f686892b733ea1e88084b1a3beeef4083ff79c7791bfe3e28dc5d35545628d8891d49428d355e7c44278db0940d31a08836a22d8454e6cdb68b75cf332272f246b589b510b6a75ef5b0f4f69b8b32100b7c35543894554b7a9c0cf58b5fd477d02a415ae560093a39321cb6972efd00abc4b49e4a9a16efd3c7b48217d616c4d9755f48e22062540534ba90e5d7bdd07010f3691ababb55591bc20f3822544719f80a0b8a9382c7973fc5e5311ad29026e01e625efec58fe88ceb75e24ec6fdbdbfc627f97a2099a5db53ed4ca35a3033a95413b349e9da73f4f7edfba592b9eae43594771667c8bd8166f69e7aeab056579e5224e4805ada22114e6092b1c92a9de85e08717f4d1ae132bee4c915e0c1e75af601b91cef2e992593ca323e4a596085e7f6950c0127f2bb94881a8900c2356efa68c3e7ec62526f6138c8268e8ad739fa0140fd7911f976843441b0202149426c85007e7bb3e3587d1b263db6ffc90d07bbe8b7198b1efa3d75ba952056f83db8d5951ffaa13653f7b91e72a2f046c10114b900e7286277321b4e513040c76d4dc2fc2e90e62934f98c8b49fedc55ee3ada428714daea53309d447400344fc4c050d144edb3f2c0acce6069c2a2cdb835fccbcc4f2b7bddd2be3633b0fb345a7e73e33eeeeaace73025873c19ec6051f250cd98ec7a247dc220b03310904af992a1eeb31381f6dc86ae4ac11390943291a2df0c4624011d30993d5e10de97c3b81be39562ecd6f98646fd563aec075dd9440cb319efae86dec7c36e605fe4213924dc35d6ec894270aa2511a58e0e354811e2dabd6dacb7e6fbb2bc5028ecb8e568d646ea3c2fe617668d4301431be2f69972285aa7ae549cb81fc100f22d2c227cd4cb36dd9e64df70bcbe970531e9bc088dacd6f2fe10587dcfac908f8682d29116ec45cdd8596d2d3e33b0ba6154b4a44ff229cbb2059ea75904300fccf032edface07be45fc5f2bd68d19a930ce59df0f9a42f03e4fc06f4bbf4034cd38529c9ed8e447100ad2a08ad71240f2583cae63af5a6b84df7ecbe3e3709da26a2a661fa20f17042c07c74559562032af4250742487e93095f6f547e6501795c50edbfb151268c0655dcdf04e006e6eae6a6a40f1d9dff1db705d2ddba0fb0c8f6cdf25c166e3c325c00c6d5cd3890f92a7f227a9b5cfdde4d19e3cc6e0c118690a9ff3e22f2c11cfc4ac9b3ff00fff4f580aad11564a33d603bc088a6024d4005b4f868bcef0fec7745f2eff59a133ae6df94d0c719ff7d8197dd2d410794d3165e623e178bd9d8df0be5806dccae92f82f50d2ce995e2251aaf4956801d42171573d036a4fad4b9ce17b909aac854d3fb08fbab2d36766fc89d603ba0cd8fbd59768f795fd559cd1dbcb13c1454ea156371203b1be0c7b24a2a8755302af1dbe27f3afc149bf40892d00a000c2e3299760db1fa9911b2a4c71d6b320043b9cb6d3d568e79a25d2c76617ad3a76640395286c3c8f01f8fb2a3778357c09db0ad5b6f3b336a49eadd0a9044cc4e215bc488fabd077db7c01e4feec3d160d136c0ca4d68e4796937960e2ea761a8b32a61aa020dc97868a1128922f5dd50b927a0bea480140a92232e6204d522dd3b34dc6c4cd672b06f8f193d9025f600b9953c7ff238396559bb94e4e02fce8f44937f0fee3105959ac84bac645a07f01a548030777ad80a24b3b43c19b8f35a373e36ca01c0bd9d4ad62ca177dadb105cb88dae051ee8a1ad2aedeba9b20459eabbe3a4b4716f059602f64ab39a16908ab1bd198bfdc8392836493d7eeff14d17045a0970e43cde7ae28ddc4248d700cd155dabf1863b20e466d6e5f40f640fa082a4b8c8b413ef58ebdc2e8381d52041cc7a3cb8d7a53c6e12b4705b840e46d1e0095ecbc12a1fa06c05dafc7c60200ac8df32e5917ce6466072fb081516355ae09d7a15400be4268e5c6697c055f02322ad2834836b34343c2e63fdb1c3e78bfa3078fc7b14d7bbeb71bee21e62803407e85324261565b18895f9cd96614af9ba4e94e79921d1d2fca4de9fe42ee09389e9d15d336458aefa6a93fce4ca345b716ef49bad1e4de6f75b538f77d6a0d3506a1eb062ef17d5ba492701b45c9f3c31af9bee1455b673f7e51d7da7f9d06f253f66cd610cd70384daedbede3b56985caa1e3c671b82e15161d540db1f4039429529ecdbdbb66300e13b04a7aec8e189b77fd7da659d28e3af1df73b27206ebae4791088dfd5073fa164aa929b2e84f2d81e10be3d7439a85dac50817fb08ed19d6a6c055b99b38e65f8a143292f420e8feebdb5637c4a7487a0b93c88f02b2a9b17bfd6682b6415dfc5364f83cde848dfb4efc0a6bbac772b51344b82c098c7dd6721d3c0ddd447505ee9d686fa279a5ff216d2a476c6ae84ec8f94f0004502d3c94156ddb978ac3204603281c93a48c6e5d1c451f7d96bce4991e0e0b0b50a7b56f88cc2ca1e93579235e4218883b6172096b7cb60ec9077cb223d11c0579b26c70ca446b71b07f7e0227dedfab8df686df58fa57a14531149633903a01624c6f2ae73ed890259a63c1c597b4b2f9962f97c6137c075e6af5286deebd0c02b1481cd515f6ed947a997103b51c80a5f24f346e0ac0d348ebad5a63ad1009ed8edb970ed10da3a31fa32d305ddf4b7387d3a7e66911f10879441a9c3d370937b2c92fff64055e0b10e32dba4b1ac0a21c1e2d3670322cc728e49ab94474050013a9b925b5974d6b624acda840508d49941a84dcbaa8881f3b63227a707b042a5999ed4b682cd27f7b047a3db0c8dbcf71657bde7f2f246c36729bdd5bc00b734b38146001760742f4f3aacf85ab36f118fe9a13d3b2363607bf8a537d6105f1cb2fd5c83f319ce1b83466dc3860b366f531a8558c548e0bb399cad5fbe60ed4ee4896416558b12221009f183f75c908abc8de0dec988ba39b1a057676210f83063727e59699e76db07f0b827438a1ca76798a86f313ee392972f9ce66300000147a46bbc682881b0cf99e2d62449bf1845887bdc2b5491ae3b5ced22bee0b4b0149de60db3cfe14d215bc5c360c0dd51bbc14420fcf038750c940dfce900a6e04bfea9cec0e206771a043ae746c1c6639543c7f305ff2a72afc2f24c779022dbf04215b734f3fdb7bb456c579e829fcd9cfff9e611e53d8daebc8d80efa0d651a7198e07282ac4ac597e622123286542c06ebeeca62199f28dcfbf54c3d0909add29bd774889cea1c13d17ed9111cf7f9b12b4f749262b89f082f9e7a7f055c916e7200ee0a70e09cc253b7b99b80ea6712bc840fbcecf306ce609420cc0d80dc6143e8e905e31dda5e2b65c51de24570b9f50dffa0c2666eb2a5e830530e051aefcb60c0ea778df598cadcb341720d25727d3c0d6166fd735c2a3594c10941137f1014e4e4b9ca886e7044015f61434ee82be85e38bf78f7254554f4c80fef8998a24a24df5befd3dc9cdae1efb454c4adf765c1ca158652e1bcc7c67502265ec0cd96e41aaafb2893a8e68858ea8dce15a63ba845edc02dab53e3353905d898c3e9beba4093a55c54a54e9d4e4e57d1826e7ac09638567aa915fbd6b0098a55d5e00152a33a567f5df667ecc5f38dab5aed7f45d423244ed0c670f80c059d0ddf6a4c39049241184f55167ef33f5b70d5b771280963f1425e367fceca0006383c1afe99e9f35f9bc2c7cd7a1f337e1773d22eb5ddb7d7930525afd25c0d3cb9ec75dcfbb006ff683a7d017e9ec47c54e99a78ab427fa8b0e183d793d0087d4dc12244b8071869352a0aa0f384ea5efe983983f0b2a08027dbd95ecba00dc50a7662831ea0e2924da252ff31dd84bdf51f89af3348c21de916d7e7986b0bd7bbf90032c6044f519e2274620053384c8cb545e4821c8853e00866a082e70a4e8525850361bcb064ff7247ae6393495e9b1bb4458ca4ac8b0f715b46fdad0f3054796642beb23225f8c53832bc88ccedacbfeed9c8c76026c993fe89950f011651e1e549eed92ecf5e6ff184159787ad21c623ed662afb8fa80e9bcd6352069eae108411e45b31473efea949b0d592a250930750521eb32ab672882edab1096db9c2128815c3cf03df7f954951ca653f798a5f0374e1fd667cdb315f82df0687d302b432b804d9470cf7d5f913e5b6a954456140a2ef9756977d4b837cf30536be97e306df468998dc0bc3c9d5b449b30891944e999002c349e543b8a3ba030821a4158407f9ff8c0b36aa8504ce194b3bdd3f7e5288a758ee5f7ff2460f0b0fc52cb61d7649d7fe160d1f03d856293a3870573bee9d05878ccfa2cd39dd064ce58c8e038b426d4462611b576a2a0182e09e0ea99562d7f01c93ddbd30810a4f19bd006909dfba08334f511c7ccb82bb1c1f9ab7629e9d127530eab4a4fe0ae539b48104170b3e4a5b280e38628234dd31102957f8cdb145dc7538a2932809d1bbbc06764494e01dd5a52aded18cb0030e109cbbe653058dc8f1de3063ca008001ed5b56b3970371e57dce30206f4fa8b26a74dc5fce1295c9b88a141d860db800fbafb92064374369499ab87ccd2b168fc890f21ff98ff75d37a6573839016e18a65d181b904e76d5be5550f961d3f1c376981cf1b70f6215cf2a313fe0076713a1d1542088d7813c42299ff63f38cda53b4f3f7b7652aa9226446afa880f1a29a072fe06e9080b29ab88e7f25f3bf8e24b0045bf13397899b534e49662009906db78f70900c03ac95af3358053b7ef189e68c4bda363f021c11e993dcc0acae29b0c4c835ab52c76a3d3d7a290657a2b742510b4bda51c1d82477661f901dd4a1470c9cd2165e4bd56489f17c130ae9aa2368d82e85aa9642f4f47c41b030e0e6ef5705d73c2a5aa77947dcf3aacf91134c21b4dc2495b81b5f4355d200529e445a96d6d496df7d6c17de66e98d29a977eb421e16a2705c99c57c0cb820e74b6c141be5d674ffb902e7725610c7005792a83517a16151cac7f713887d204faebda46958e0efcd974f7afc3635126c24ef69d1fa081518e8916ce87102f0d1a23088ddc627c38b9f3111241acfca1c26a77475db09e324978531cffe2fa09e50c329e97fe1cff36649eba21d1c692543a20044f211ca6cbe2ce33ac08d90c640e2b116ff73bc2467f64204a1458dcb6872dda5a9ef83418292cd5d569530bad0104317bc6e861f1b5fb5fc360178928aeeea520eec9e7a46e1cd0d4ac080ed179260891d092e4901c8575904b8aefeb2c714a048ea2cff90a6448726dac0acb04d124b7c0771c6fdeb4794a6fdb8702b6c630cc7cd929062e931ee845830d6c643846f534ea8517082b16e38500a33e285b302b40b4f2f7f2bcc0cfcd180459e6ee28ae39afb8bbf5e3fc1e8b729130b2c963e234cb2ac8a63bd19c8f1c0d7f58a60fa4a9c9210f35dfebf313191746649b6cfc4aea49ad98d0c680c80a0fe4c17eee1cd11c465d1fd0a74e6008a780fbedaeae759e17dbdbb296bcb27c075f541647260311faa9a2b901c71d738c0d535b71d9c20b432bb40ee292b7ff0e5ff64303838311e97d7c2436b8f3690c8912e358ed073386db86fdf24c13bc05fc0fcdc57fa4561309d4e0e704af9863d2cff924444c9a7b5bbe5f31e7cf500a52a23e96be1da718d107f55b6c5035c1ed33af0ab3893f2ae3d4f49f941a5b0a112a269c46c795f76a3bef23d9fd9ef95d3d3aad8559dd1837c4eb1aa2b36e54575d157d62c05ea2ebc7d3c88c3bfb0efd1e4525576e92295a0576fbab90d631d9c0a9b6c310bbbf063f2c81f6e1ac751f19f23a274fa3a714e11d33ec9ba455a31699beb6f2935c824564a1ffd5fc144082f615ba62547cd3574d82bbd3fc88a111ea04f54c5e868e8a038e59717b0db0da38ab5095aa35e1f6fd649fc25d609ca3374686a31a76b41bebf63ccc4ad1446fd7880f0d629f401d29fc3f310aa2705216905b6119cfec6a541d3662d41f08ed583ddbfa8cd38fbfdb8d770471c05db20e5d5d650fa18e952e387dbd46d40ec3e569f2eacb48be3edf591f24f8b8685e965b97046b6f5208af945aa0567feae273adfd37314a62b0f8aeaea482cecdd8221029a7ccfebdf3c08253f1669bb420d88d85b554749e5c55e0dfc5ddb66d8940e6f0a598325c3e0247f3a95fd2104edfa330e1329d4c5d270c9326b8de91a7562d9e5480991fec40e225c4c4a2ffa3c790dfb473ec76b162f0ae633aa1d8e84d4e7aecbc9efb04dfdcb7b08e083808435d6a190fafbf208dc5f5963ac09560cf82428db48b1f6f9a8bba90f1d0a537fd02e7e9734ab13a370cead7e44a952b1e7f872317f6ab5472af529aadf95f3433247796afecb91fcd48d27ad66b4450663f0e3d6b62ad51a88fb15eaff601f8be3a45da6dd038bc795799419164197d0a3c9c475112c90e6898fd3b9a74ccf7646a2df65e28be7dfa5a4d648a898baf640c968cc1170483fbb97e66bc2e3b21f65428da3d171dc969e60eae850421c558ee5e57fd60aa58eb88246dafc6402d5fd444b26a887bba36bd10c9514c9be1de66c2f5e879c6672c65ee1860c0452fd6da579bdb0605f21270bab40df97587e6ba0f7e50bebbb9bf75cc7441ed45a2657ea52c861989424cf562aadbe5c9872ae17c67eea95087adc8d71368aa344b558785d5b3cf059c16f02c7a82f6deec938438f4a20fc3c6d85b1547e4d22a0828bb06416be3fd87b366875425be42e135b213309c97ecb5cb7c0d7dcc29f55a6234ece3e098e75a2e64e19ed836f87f0205a961f6ac61b2f7c89bdfe20761a02dfeb0870384926a4b4ea04d72e438bf551207661e42664ee5979007352613b8440d5984b1102fd56449bab8648284f8eed961afe342366eae0b5e16740bf20a9d800f2335c7e10c82d3a23553074562b77338a9f34207b1b1dd11bd9f86ba3b48a976c1b23b6ddf343a090ad35fc3bc4357b2f94a2582af9cae75e0844ccc5e0d15c27c112199bb32359ba5f63d363d5ff5875ebf0cd1432ad198b59c33e8374ffde6a39363e7534170c5147c15af108a8dbba8d1497ee002f088a98beaf7065508f1aebdb4151088933cece44ae380822e62fbd39306d8dfd58c3ab2dd018877a36af7c6f893cffde4f2753d4eed8d87f8776414010199dd55e46ab380c753bab38a5a874039db6e194100fe64ba8a46cc69fef17079e62c0b90a7d948c9c6acefcca1731d5ccb91956b5925d6772e80c176424586069ebf291c677b7a16271bdb69abcf92d3bbdad54a22d4b5b155a01ccb01b137584a7bc811160d45174414f2b3ee783185030c3059fd358376e19abe3d060f7f99e8afae0eefa939aa586985a7693581fb752dbf0e478e84ffc36f7ab246253dae453620d9c3c3805dad9925a8110b1f65c18d0b1944cf9af1860683e68c91494aaa239dfb064e40175fc4779b89e2bbc9352c20bbb40821718aaf497223439045cbddc81db0b0b60947386c2670ae3dcc3393c8a057d69057f526dbc3c897f4623f3ff2976233a3d909288687bd06f30a523732c3955a8f21392967f37735054cc5846b4b14bd510b011ac74f3633a79be4bbc5f056154fc40be375118256af188ca7de1fd644b09ff4883087174b7680592ac03dcc7f71f8976d01d5d721502a2e295ff1c8ddb57d6a75993f28e09275dc5633c9672e781667ed3c6c1c42b7e6efbf4a850793d00d1eaf23eeee3aff5502a34334378f27153af747649bfadb0955d9cf028125b39125c3a4ad5e29223145227629231c5e6b43608dbf6cb3c7af1968d2046eda231a3ad685bc765e5d79eb9c9de60eec16f6b056218bf19d0fc7e33146d69ffeb8684e5341d9f78133fb2cda6795953607b2b459d5bfc8ccd1b36830e5a37ddcca79b9c19bd795009815c49f9c6bf852f34f2544e1b1e96a50e56f02a26cfc4a5d410e086d9dd502f4504f3fca78cac47170f299cf4b52bed64bd262e77fbce87b059411c1f72c5726350b55799085c11c5771e43ebd317f50c75f9c3d4c8ad46d16a8177a51b7cb0ee416e776b6c870ba9ccd866836c5c0378690c681e16bbc508a8ba8c5611a7708aab1a7230c341c60d896ece4bc401ba9c1a3c57b4a5e825e813dc57bcc20bd4430571f5fc03bb04471c7851eb14309da46912311c5623a6a31f00e4fd57b537a8de82910d13b816158e3405acedc1cf719bbe53339bcb1ea71bb6976c4b0d0ccd4d10b4dc6f31884be832ce1b478dd628585cf63ac7409095bf84dbccfc5950c7e311a42869b2b777ed141d68837291865c67f6af7fb15f8a19d8a50b68e881991175b9e06a12cd04cc45ae9a60b93c464bf56bb5a828cfa16e36012ebc2ab27604a2700b057ac337804a062c5549813e2d503a70513694afe8bab0319a4b104f2ee9ae91c4f6170b54d7bc83eaf193e40164e3cabd6c55f92f8216c40f621fdfcef7cded9fcaf11ebb7a41a83aadca8288a0048de4a8c2262f73a4556a5a56164f6b727c6b4abe053176ff141586957e56f03197084aa10e551c210848d121fc773b04a799a8010f1b070bb3e785c67e5a419508e040ec8d4736489aef05a3d75d53054cf9e72a96df8a09f35edad8f8bfdf555025bb48f6e6988c18fd44250288526ac99465f06c13ad71fc7ca59dd3588284a2d32e5146d75e32470596bd9d4f790326be40f068528e1ba3c45d1c5cfeebf0f392bfabcfb1d0a4078f6c8adffa5827dca364800296377aa6358be250e9025b179222e80962e2154bc2f29c759cbe87a45613d03f1a52ea59fe13a49b5f18ca6a987814f50dd5dcc851e1a6c61c9d62e57eacb0b8f9dbeb103c6951250b3eda995a6aa5f30409b5e04f0e9ec6de8059960368d03af09cacdaf486a5bdddc35d8473acaa1bfa94f384aaf4fc42a51be047414b20e2a42e17ca2fdc0954582f7691d0d76978e2c0bfd54a76d67f16f442913732c020e8c3742cf16d7b914199191d0b5a1bf183815e5edf9abe0d744970e1fe4d306d32ce9dbccb8fef623032061a419e4b182dfad31ad1bcf4ad8a592f68c462e04001258c25f8ebe4035ab1011f018dbb4b450a46fcb064ad173b4e4094c8ca20c854ef3be3a93edd874a58af02a2f16e3e30258f32b939520541f9ad1706f210c8e5abb5ef54c00b442ed4b7d3ca5ae0dfef807f3a34c244c61c1fa4dfaadc00288c39d28a00eaddd812abcb20329ab4d35de615f3ee17c0b76bfe6061a0b43077485a02f116777d3b38b663587e5b1c4c321ec7d47f41e127243c69a822a720cfa4aa2ea0be3d62a3548d02e77de12ea9eec757026c740c7d071f80abf79de01a0b5481f93d4ac8daaa5ab6bfea551892b8493b760592f91dcd6217ee66c4e088ce8ee87c6be713d77487eecb78fe5811f7fcc2819aab9a3704ddc2fc2eacc0d7991787fbd7ae61f3a8d9edd26274e22f26dc0d400f1d468d3d30a1c507a040ddc8eb89b80fc1ee53789470fb943366e7f3eefd94fd2a129fa8a01a5e8b42806c46ea01f6d1a0f81331a961dbe95fb7ee82608f069290ed90905630a7227d909f50583243b907087e27468f79f7beffd1ef8aa525647e9e38c6a49366f5e370fa2f9ea0abd76703c154a1b387e7145538faadfe7a238f0245134e8a81a68ce0281d7020002020007a5b443f4aeb701c5b6609b9b0ffdf728ca138027903f642ab6d26dfc1bfec506d2a2461e532808fc92bf7cf65dc0025988e343cd020007ecbaab028ae616a7c51cd5d209fd8b0c85e119fd9a05544904c12fb88934d60658ad061b313fe4d401446dfdbfdf1faa2839ffcb9459020002448b38520ab20ef6fbecb8fc71a77f004a259f647a5463bdab37eb62a1c4e5af00026b37af9c9b1b7d2f43921f46b47be8fef1cb3d4a357419b55a339f500358582221017a8c02ac8f5ce24cc53c991a54645dbdd1cfd2b8e18b787bb06e2dea7584c31702e0d19fdc08322147d82d4c6588a5784c6b6a4f1262f9cdc9b1c3776f96e672eb9117259e19bc2fe885f2de015fcf4124f29d7fa857ec2e21b378a8ae90a6e2d85b7a4edf9f7e87f7e69dcce6a84187c4a62ab453adee75dbee15a0a5dcffb7ebf6d1797e039dfb3d18d8507fa65ed957971ff1b488fe9ade07ec5352e1c353e0922e31130fefd93a47b7b7a74bfb7de888aefd2e38b75aaee8efd97f4bf62ae7bb1b844f0a78fc80b43ed54ad295626d9a7c3e6ff5b5162c898c5f76e48ecf47a495dd0406a174b0e5bdf92eab7564eff814bc43024ab2224e50ac63e0cab7edae55ecd2b10aae8f934301b206ae2b6cf63d76865e28f896d02bf0d0925d8415fe377e94927b99139f22e4f86ec5f4666728958b41fccd10502312d90225340bf2c8a69d0c43b707916e51ea691406a40a1873195e4e11b1735b37e9888aa4a3a80b2d5b08e5660ca4c1273782b9cbccde5e194fd5080e1c756b5e0611aed4c04dbefa3a07223e22d69c7f34df430d4112d54b8872bd478070d9953ae2e80e716cf0dce704feb72149cfb27c62b1b3316ab34581aa9be9f354898f5146ef4b0fc8217da00019528da62e6162bd6dfd1221cc2a257e42a3ffed6a6c83976f3188cebe385c0672edca92e546e5641b830dd23d3187e272e0603a3e8f641e3c870f465fd7360da5821197f30d237184bf7cf9a657abb2a35d2d062737d201e8d221a84e57d505435743e6aed0c84f675c52b2e262d7e27da7cac9ade88feb9902cdce27d0b80cb6dc7c30d7c23cc992447b64749dfc05da77769603ec3a149982b7278e2dd804a9b25bb0ff4b45256a390305c731e694e1881c2cdb0b4e37efe545af9e55580ae9bcbbbfb3330f1ba2f284222691df0a7b0a8bfa30414103e3a18c79ca7f2c0e41039cf6135caf07130341789c173ec1144494c79a2ab74e47729ce03693ab076d61b9f0f236ee9e68714eedec434be8f31e0a16c0b650443f894f438f520808ce9813ea9f83adfd24e2d4ef18f15fe8a1930382f4a38dc8c2fc35b7a809500f9269ed7809cbdfb77386802371077bb0de23deda1a0da3508900aed692f76f040a1a7a5d19eaef0149c3575082c87f2ff53372d0c39880e9fd6b7e62b5614d0a366d27d043c9264cf9db53cce1ddead2d28b6b1793de95ef3ff2320d2ebbf10c8f0c15bac0814230c85e665a84c8ccfcc8215582135a20130750593c16d1f607603501c5b480ad592a5a789708bf438752ff5bcc1c8b71037365ab963157e7045df10c62a12f13625894fc890563e10eedf46b82785b77b3a339886f21fab006ba6c04bc7501c04f121d6983d04586c87d722324a6e16331b92ab6b02a1e22059ffadf93ff190e6dab3bbbb9940ed30bcd86d8fe8df804626478cb9015b3a10c9f67a134c1825268c8878425b57fc0a701f205c8523f5228bac4f07fe258e901226f2767b3e46355ab3e4c6717437e3ca88ff887e907c4f3cc52ca30b6378a07fc6e67e4f0554f5784b9db566548851ead0aae7851c7edbb83f4a54d77fe8f0f2cea41d8a57307088d95a2485bd30cfe6b711c20da2943a43cad75511c25780ac87ba8c9f44bb27d2e9b7eed79ae81e02c6929350219866b972e87c38b760f0e4ad73ba10f7e075d7e8cf9236146d8095002ff08e7b8ed7dc54b945ec4000d0c39048ec4b97483aafe45808c642b51c5cf5b6de7ede51fb029ebaa4ad1198804365a64e66a09dd0421b52c7864372c7bc4cc7419c55e262edd722d1d3ae2550377a088710ec8424513374c68479359fb8a68d2444ab40a8bccab04b1b5fb06084d4ff9e63a25eca4aafa08b8403c1ffec38a3ef6715009a799daa25db7b16d0040bd988eb611a6f467be164c791bd19634a462ff923b05c2e6ba916b4dec2901bb2df210b15579e35511d20e2af82c661422ebf852394c8cf7bd92706992c4071106a4e00fa10ac3d0198f0a3feca2ddadb6f486cc1371a17b1bb4997ee3200fec5c2d06fb9c7bcc79e5266884b3da8db050728d408d1aef2937708d62ee920ba550e13e67199db1186199718068a66bc1ccc967e2800f03253e1ae0d990680efbed3392c7630264badb66540967b08ef1425c50cecb4ce73278565aa6ac8e09fe4cf851fadaaacfe806883d3e1c241ca21feb7f869534f68fda0c516f5c9d0b4af1d489b29ca3104eacc8c4c70179be4462602ba7fd007d4bdd2370bdf5550cd0503c252a555368fc0e3250c3d15c09727a8bfd2a0ccc5aa085f08335febc0d31b5633120800d78db7a04ae87bf6e40c1cfd48090a4bfb9d85337af47a4c702ebbfaec36118d725d190cb0ebe988bf1f09428f44c02a7f520bdd3e46d53c70795540a9b0a2ba3d9830c5e611c00be57d8a80d3f2739b74fbca1d60ac12c820f278a6aad5ac4adf6af6f943680dd7f2b6bf6e0e0bbe7d8907dc0de30f21bfa0507dc0d94695e71a8a137dc67f6887a7ad1792ed6ebdb2457dfe5f618f88e010fe37f1f8d221798d5ce7151018dbda028d3d39568539814c031277137a425e000fa95911d5b27809b40d64a7c05ee40abc4ad38c2db117974f92e1102a264e603c30b7457bc36751adeb6a71bd92872ad8d3e8a3078624bff733d393adb443f0a84794d2744f37705b22274b8455eac8b124dfc97c6f62e833d795bb1b06228000c8141d0aada6b8b4746e1edb11fb9168dcc5f4b717579b48c890d5a87e4bf0fc783b69047422c3e5f3fc18ac67b868ea6d514397428f4d083f030ef3c48a30e9c4e0180996c7d62ee4c6a4829b6477c2592e3e0d098f29e87d63c4e0e061e0b7368fb4aab62e9c74d1a74716b036217883395837d354b9280b453a6f22d8f0816cab262a724aa73dd23084a64e73d59e3e04456011b340afed1fef132f65606569ed92e2649b5873452aa5194e65b6fbc3b264892874d50b39b04e3f3340604851f28d8bc73f4753fdc6f2221aaa0660e19fbec774ce600452147fc2e8bfb09bb486504faa39f63c57e9efaf8a7436b8002989314e14d4d6cd8fc777622c2081f7939c85fc1ead7dd06ea6b586fa70fa141879e8eb465c4bdbcebb238e3800871f006d5b12eb91682495043c7a88543687e01f66848e37e292ace17ddd6b000afa31530740e8c5c574db8896e7794833facb9dd2c2e7d5e5edd91f2c02ed00face9b3736b6fae8715f06e9d885227ce9efd3237bc771f1e77c9ea3fc42de5029634059efb7f644648ac147eb3c62f42d77aa2e2a37a7ebe1765af087715940f03afde844ae6ab2c6c6a3ab9e1bda66f6cb8b020fef166a67bd8a99b0cf9b509a303c9386f43acc409e668733d9ea7146eee28675e5b7a1b7932863e7c6b3608c0d882ff8fca13da2d5d509a88f8822c757066bb49ef556b9f0743cd15e513087b284c1aae78cc8db897f3a477bd2aaa3e03078861501f98b9e6eb7ebb89cc04ea64bd866328921d7c070ab9e9fd1db7b5bfe31dcfd52c3f2b57aae4ed813a032296bc524a6314f31ffb0fadd4a599cfa120a01f9e85c288d036302023b16007044e597f6e478806b14c147cde371b0d8e380f0dd863c4743f5964a2892c9d01d852665f13084181f39deee057f7f02428a714bf4e0f24afacfb2202218800056f308fc391119c50585f2b1488bbb66a8bbe8a942189345d54f74291be876400c1c3e4f9e8d64b4249d72b9a050b4dbea63ee0b53aa42e4b1b83d0c2e275e60b9a8e155fa2dd17737130b2cf7c74f7dfc25ca7c0a8d94c837d62eeb4c957220ab292e7c4d5ce2bb96991958fb7efdf916154208dc699c9c73eb4062c2e96840d655ea259b4d3774ecaf1fe15c89352e847ccde298a03b303bb1f7e893ca854023a876efe54dfaa068c773ec66402b68ff9a9464dfebe80d019bc4c35f1b26802fa01629b245c42cb13d67131c6a786198d07bad35dd9fa2f03e808eff7b1cf06d50a832a5562bbae4ca3e75f6d36ddbf8cfb80c8eed4eda57a865d716d64290e7939ca208e2aaff73872779982aa24348c24ba4c67e906f9dd6837d85aecd90a83a7e0079177aad4ffff4919761636dd2c8e4c55a636b4eac22e76c0a245b40f64c6d79ddd2caa654e785bdcc26ce529ab46019896eea6068d927f7a85c86d0356ca88c378177b66f8ba9078a6a5e247e76d42f7e9240b47d2fde1f57a2e9a02cc98a6674485638a405af5c02907ca1b180a507648e6ca7fa0e171b152e4a306567cf81678d4aaeddc8ff1bbf3e1f15774487bfa6ae64ed26608e012fa97c9054bf5e81fa015d73e2a282fa4754e082a63315cd96f98c6031d61ed87e1c45f0cafdf9b3cd623b4af165f930c9a2e543d75218bfdab5c941537619b1b445e3d0663b4f9a09d45b6c3ce1e0070af5fa5aba7875290121bd58cb59d717496e2db0b0904342d17f6071c3724192314458558429ca090ff32fb718cbb72bdf97fb10b935c57cfe67f407ef57e636b0838c41f8103adc1cbae3ccfdf3c0688db25ce035ad292e83b899ed9d5177f6e7b4d3a83876e9f3aa255f0c82b96d684d8e3b10fb9ba831516da1f36ea5c44c0c9210729661173c97e7bcbf6e81c875e0465ff05f6e0a34125ae9692db4e81828668404b9c9b8e17d67c8f6aee8151d4caa51108efca85668171c93b18f900a3897fda17813e37d507be91e4d401b1ee4f332c0a0474a363d938249897e0bfc974c3beb667d06f6484d90ead549a1ae6059136011cce809d64ef820db048b19d0eb30d8b76ab31f4f089a8930a0e5f6e0b9a7404e71547725ec23349a590b0354b9661a487f45360dd80fa4242fcd5bc1b10490411dfc49e073ca8de19951d078c6378760ece38f0d1629b0cb3f20f3460a83e0114fecdb078bbfd0e0211eb8018b37d6f504431e88c1d9a1a3fddfa01b3d9110c52694ad28de1f23011908c8984f13dd2dfd05588559b3706f2bdc57ddcc29c03e5995829fb1e50ccf28520c152f85a2f75cf1aac858df255e044e70d0b010307f1dd9e61f9f1dbd8904a616d647eaf31960d7fda8871cf6ad291d6753fafbe0b67a0ee9d5baf31a786e7aa67ef3da7dcdc90dc6d2f40d34bfaa2d324d6a7a1052f7f13b04a78b835198dbcb091a5cc484924bfd18002c00e48372db747255d094ea7de29a32e7bafff1e4e6f0a9fef09dc36de37d22d4fa040d7b1fdd351990f4a1bc3dd6468b8dccd7d03a3dd135a6716db5b8e113e9a56f0c5fe0697fc43077edce4e15abf64415af9566b3f75445baa03ceff0015e24c2604451ef256910cf6a6b49fb1214918df7af0918e0ebdd0be64dc5b84d3653fa9194b13e6281b0d5b57625be848db22af586a06be2b92ec9a1c51a425a2b70c18fe94910d2add07e7849b0fb1f99f324e488ba7aada22c1f25839c76dc4627d8838b3ec110c8907565c7effb372da114ce395a86d2d3548bee83c20dfb3116841609b60e17da7081ef8859dd915b9134089c78faf5e68bc588fe9086061601a0e56264959f85d00a82d6f708d5d97eb778e4052e3777edf6c8d5f03c675de81a11e6bf9af1c1702f6414c87008639e70fbde6da1f8a262e96b2da062e169af16c098f3ee36f2e0a5344c8f09c7b0974ce5bceaf366ffc382d8d9937ca5b3d4817d38714d385c20c6b83b506478abad7336a7bdd11d7a7edd1958c188f4b7e76c5412c3323d67f04f764bca9039c6199c5dafb64defdade9507942f7bb7cd9849524a8d7088907077eda27e601590e276f2496d0333302aa79d8b8f3092126b41c9df851f85c410610badc6972aeed84c904fd19652eb7a621d5e7c288cf40311ce57505775968048f22b49d4afc2ded01bb72caeeeba031a01f2fe9220d6f31bc5502f127ce8f0506ba3eb2c0e99db989e96c8008fa3d13369456a007452bf24470437c064a460e713a7badac6b0015ec5b3f63384eac7f9436f722ba568024eff977381156bf0f4e312590d803c0339f12822b8d5ff3c2ce1115e1333d030a470a108171d565046850e81a74f7a74aa20b68fe2983bba30f8250fc1957ed6b4136235499ed5a00c4125afb574bafba144d313b822adc1c751d996e6e8b333b84729637d9b4ea0a6749037dfcde18398478a10d318cf247e1d2e1918cffbd5795c885feab25f80c8a2abff061189851e39b7da884b50310452cdee33d6b81099d96af5f1ca2df06d9ab1068f5d8c97f4305dbdb4afcfca8ed43f7c8afd26cfb28f11128730ab70b99e66cef4fbf74ab9bab7884902101dd5a68be60a799e78b152ff5dd01069e442888323bc3ab374b6571833b692a32c5744d1548b9945aa5493152eebaf400cf6ac0777d2d25e681a8d5f774ea8540442b94d953dbd44662f684771eea0d8803e8865a13e8c31937a2a9ceaf3369e826368d2e2d16de23a93c278cdef5d06138dc407e506687a9ca7d9deb8e9b7363ef9baa562a31f1e4690f016b948d03af446fbe7c53eacdc3d9d393c64c878fbeaace6739045cd051c254b7de169a23f155662c29e7165e7dde689bf44aee51d4e980fdb749e9e43cfd0eea5c657e3a4f9781a12e571b48d3dad9299885f339f6436d929ab39e546cc7b1e7fabb1f8d15ad1809c6c836afb2360c2aa47bf06b45cc94fc8c4b65c589d6d01f48d4fa130feb9a940ac15879fff732f957bba5e4033bbc02eb887df4996d34c32891e35be4825f30350d848e86224be017f15714664ef26b86b8e089207cbc5619a693e9d4e8e537872a7f58033c3b8f67a4d26ebf9a8007ce6a182d96d3740b1c1b3dbdcad9297bc72e51633b5bcd7e1a4fcb7489b34ee7047cb14b94bccc3f87564b84576148652f474f9e4c7a2d49f9fcd0389209c6119efd953454a32595e91380fc1f8f9d2fb45ef3cfcd8d04575433d867e6f1daf88933675340f02b51d36bf457283717c1069fa0d944067edb256ba85b55582810a8676e6978746f464ae329131027707403c48a8643f4e8331a3ebaf3a4c3a489e45c823bfeacf2014b70f7d292ab42a9c25cb5c5f99524887777dc473b74fde0337b4e0ec8c7c8ceb66d7c0b70171bc54bc78bbaa8826905abcf64b35613b0a1b2cecea93384d6f44b97e38e70563c85d8bab141c7ad89d44d25f5e75e9c2a002282464d5c848d6c5153f4d798b88a27c5c77bded43236eb0bdb69791e4d6962713c3374824b18c56f18f51fe81ce9806c79ee8caca8735455a282284656aadb6f8e4a2c91f83578f767e306fb583fec1a8da1d383b4e1d14502a5f2f477828cf52f573fa64e090e84bb5fba8759a3733e2b9419677dbfcae1bd187e7c2187af370328c067bd94351ee5adaf64d3e2d4681aa624a285b2fb67856da2aea57f07a80910a4fd8149fb9c262c92de4deeb2ee7b1afa4f4cee6cd72f052e8f2735325de8b3b5e78c89b38c7f7843d33bf93b73e991a5a1e6f950a26fdb2b8d077097754f6205475ebddbc5f8fae1e3444f61d28b844e2e72e7a8f4d503d548eba4ef4fd3aceaa7e40c2a618ec6176739a737117f8cbb28deea9e37b3b7503d9a8f107bc15f27b0339d71f7e2416ee993ee2d7930708ca88112db7ee6b2b8b29ee8430aa75f47d6327ccc5dd88055aa9db9451ba69df3d3d885b239a8340aaa9f8420989fc242d3d85d47f39899d32b5b69ceb223dce63c7ec3a28c214a0dea814fdee78f1369d51d815f2e21bbaf0227b10e69f94dbfac81a4af5e3f6e9478c7d03056b8e8584ef8bffc035404e5f1b72e0e2a31b84e885b50ecc8ded7898fe1615da47cce56a5eab46460286a15a7594fc05e74620b9b4b476118ff0896e9d90f33e9a087e04d91bf7b581e8625ae6f01d0fcca7e8d7beff76c655b8d240964ae7493161576aa5acff7e3f68b3fd9baa20a4909997999645b39c5b4063bece881345e3b679c4f7112406709db20803890524ca079fa5e693f0e8edef1bb34eda7fce15e978e6e864ef4a6bff2345ce0896cd37a0a8e187778c80eed248a424713ce69a7254fcbbb84abec370c770e9d9807806f93f7d2744f0826b0e5d0780613b9db62ad4ede22abade2159e8b2016d63b5ae61ce91570b60c93b914c587ff11dab2af159f96d64a0696db9847ee9e38db96890cf2c7347824e24ddfd6843d2fbd345071538766840b7fe7532493c326f03591e2e0ac304815c63136c50e9c8ceddd104616cc38eec340e3d8a1eaea84e5e1a5b26e62be384045dbafe8c5e74490f6133dbd8252c2881b9edcce907f5e44e7352abe9aa58854b7415688c4971cd368cd400e2761b003d7e21b65b8c38e907ff68b7eeebcfb88846cf705643acc87d1313b5f10e04b645f46932f73219aa5ae66210a29c672f438e23a09ff38fdca60175e9c7459642daa368d07bec1cfc768d7ec79afaa0c7e682e00517dcb6c6f63d89a67bff8d80e38e96599bc3d13f3edcf1a08ff82894b92f905535d6fe9d75dbb312635518bbafaba26ac6829736c11d1c24d52d754ccf6f911c1b143c4ad4514389a92421a6f91b4cedbc95429100265167fd824092ef332a678819c7cc71af0c6d017a327520030217a31c36991d78338123fadb860a73bab12df3d7a82f002c01d5adb7b226237e946e19876806f3eec89976a398b6f0efe405352d5f2d287521b515644da210a4de22d6a426a351d17df856377897cd3120b65a44bb86bb80f093c977d2b0d0d3ff9526a780281408f8d833f64719050f191580216a7e015274fcd3b806f5be21c7dff2cd6ea67af17708facac5ad8c1fa1420606b4ce48f87caa1756ca891c5c8c88d27a72036338de2b5dec98b3cb423167858f4dabfdbb04cd2ec2f7559e2785381713fa65c3042ee52a46eda7261d3dc2b46091f1645e5fb952c178840c9fa922e7c4bfc77010b124a0493d07e74a84c0cd42387fecbd2adb3bc252b952de253f661a833037c78e71fbde4dec48b4a76321b4b6179670b07a07bc9010622f687912e8a9911ec13413ae49c4fc8e3c4f2a3a361914f192d89a829c641d2ee22e96f533ff9dc9fe09fab0413e545980d6fc25f271948a9eb1006da4c10a7682a6304a5852a9337cf66e9b5cb633685dc046870691dd1da5b7d34e6561aa69b43a983b530b19767ff1d5fdff76d18b20b213d9cfc0e23e37ab01f4d16fd8773e378e29a923bf0d11877a723da9c8b6bc6abd553a7e3b9527d30e2280f49ccee343f490dfd3683fb7828abbf131e92ce8685a3436dfd8d9af0ae5de08f00f016ffd1cd0ef6b529b6d89f95505fc04fbcf9eac2202e03aa7d2a2ab9788576a08530fe830c605bfbb0295f083e03fb9fcbb14611502f695e5c77524d33ff9c9a1ddf2a2d0431e38ca2da769eeec7113ae96ba32cecc14521a72e7bfad271259c0c97a9bb0792137b2230d6bd2ec7f14b4e5e4c03bcecd6bac5373056bf7036801ecec25e033ea55027d2d742b92053fde433a06a0ca1e13da7ed483c59498373b7002f6b013161de1be2bc4c429a515a715c1d3b67ccb666374d53b251d660a4a5304d4204e6c9bbc164db982ecc324446965ba5a7bbac2a1497019f63c18dbe16c9f78c044760cdac074e68893d900a72e0aef45c2a3f7b798288d0da390ff3a97237630107e4996a9331c2dcedb9c3ec8470dc7687c6c91195fd15d4b84dcf481f14850c47b0041a67a283abdfeb7efacaf2cc66faf1fe84b34940d347707aab1772da0fb40505f0d65af3fc1c622d4caaee206213ed2138d3a17d883fb0d3fc8543ec0a75d22e26fcc58ea44df127b54aecd5bafcda85a82fe298622f8701309741450b9e9ada87fcfc880c72748190f5c37bc31b74a3e5fdc61ffb3b96dc6af1f47502853123fe0ff1f7270f95a66daa3d9fd7a3c8497185ccf319f50dc6a305bc470e4b8cf1788a90930dc878f7217a04cc64082ed6f3db5b1757ed690ffcd0cd2808b78fdbec7471bb7ac54d5028171230495367a6850035b4feb4192e89aeae360b677e0b388c447ef2337218d76bccd61ab9983c5e19ae235dd33773c5790d9104fd0ea7b708049cbc5bae93f3c362a27cfc1a31bf4b8edb1e0879ee92bade2b027cd100a824aabb9516471fdc48e36abee6cfe12545804f4d0eb6e0fbb95b620fd4478a1aeedf61be9e16c822c74532dea6bbf478aeea1ae053e54133349f5c0fcbfc627cf6c7c74d285aaf8d6e4acdb87601aaed4d9c5299a600c7c1689c960227f21c84ddd0d932876afc9e3f09b75084e122031d3915b253982b27f21ab309017d559db8a5e6a9a8745b84a4f8ffd08bdbfec5a295e057e55b1dc752537f08f58cf10061bd37d4c3ab98a8433a878044094b06429d1cc09852af57a3c85707688f21d4682b502af55fbee3429f075e071ebc65329d8aa12abba7811a2a9807e0760ae13b3e561579510bfb23ef0f60c4cf45fd0ef45177af88647d87e86e0dab239cd5eeebad0b2b273e689200f8a964bd5614b32f9e25df806bfd74535c0ea22f1ce52b051d236c0615cd8ce289acda070dbcb4e525d46395dd731b294e057fc73cb9073c374b52f4d5ccd1eaf58e4dfb8d42f706865f548eb11e95d04409ef33fd0219b1fabb0e277af5cc847aa87df9423663cab05eec32896e4e8ad30ff6cede456c31f44741207b00a6442cccaa2de1461ba065e07c69b2d2f9960a09063d9a63461269df923eab20402d7a761a139f3862d7e0f5a87d0326bc390b0e916a2cc7912626349a9ecda9bed42daee8f41d265b9892b1c6cff1d7d2054d09714279aff6a27caa254467600074403a2ad61ab9c17631c6a2eb89e50b52520d0ab4cab240795fdaec9e0b800286783fd108e416e573bc7053185d64b0fd1c091585bad313f629a40f246dc07de84f5e47f7906bc00f74053528cb91a001d5042dede6b54f6706c72b224f292957043ac9dbe431ff711b7f2f285dc12968dc0b4248cd8582331d2c2e646eba1383fa3310858222837403bc068b17c044f01b093ee995b7de44babeba8bc8b9e278fccdc6d7df3068da78ff04aba79121e4a706e16ccb22c60c2f38331001415e54a43d4148b87769ca8dfc71ef2fb2ae31030133606f34f8584dec149ae10e6d55f13a4ad11b09bdc0bfbdaac9c34bcb88cc0d2772a66220bab7016f21f8b815bc25b0bb0c38aa88523c2a85879043d1b8a90fa12c6ea14b5dbf7c4d6437a5c9397f8e45c05b5aabfd19d2d74a1ad9bf54e202b12f0739b1b6c23d5b3f9fab87912f5fa4f4aac754dd205ff1a92afb6b625b0fcd1ba8244d077ab34f09a076329bd19fe7ae6aefe8fcf29887aa6dc9ad565c07517f30af6e9946b622886943f504d1a490f87579d4bf04d43f3986dc7a78540d118db4897e35e099ab205f5f73ce7053bb9127245b64d122fad9c1b0462c170bbb606852b2c2da30d05d5a1cbec864ff13249c30afd2538f34dfbfa064a35d058d34ab20480ffa7541bc4fd64b48cdcbe3c824687ddbb968747caa7de55c210099d3ba5255dd3716bedf48e06be697218012902bb420c9a1c2f85bbfa2ec61055d8f55926c44654aed6b2e50f017f6861116f1ee438f251fdcaf9519cdaeab03c159ddc824ba0816d081733067006861a1a04be5a4aeb567c2082e932ba92b0f3e0cb3cca038c9b20defbbc36c1a68887291eadddba27daa2f95131a0889960a4541fe41469ba40b32c71f29f5700944ffed669588aadb614c9ef4cde80810089af9ebbf242f9456f7123bd441d9bf983eba7aa43e50749143b83f359ebe1e0784e89d33b3a27e0a0ca252360b47777c42b187eec6a0db521f824c116fc86d07657881241cef0a36231f402aa764b10c359b726fbb6714d64803e8a84311d8017165cb57e6b3d15eca0948f569742415c1be033e32cc11b7c54b6948e61c580a1e6930e2eef5e0cb0c8c3a37fe0ba626ff133ba17754b9472afc57c8daa96302693871adb6aa732965ac4d2bb205ea50bcac346c0d16a183c4e9b1c869cf96054fbb261356cc708b778af630ab5abba781e33d5d79e5af5883f03413e9aca60d41f95eb5f04a613ab35d2ef68bde4a3def3d51d344150341163b6d03c84acf0c4c0155b55b24efcc7e3537a10c6cf361896fc0d025b9984de2399347b42cf40e70a19129e91012bccfc8b6404863441ccda38f664866b9c676d96bd003d66f0f3273f4105557ced93e3341fa51b852df987283bbd90d168f40040d60503cfb00bfd9235905e16bb466c6858dc7cfdb84460b8db0f6b3559958680166e9d9b204f1f486f4ba39193c3aae6f56d4f921e03d3d6b550d0e1e5ed1970e1fc8678e0d12138a35df3690c6ded71f3ff402d7540863dec88f1fea45a0fdedaba4cc4b0a409bb13d2a1294de2d03cc9a14d672c18585a8984cf59e0edee3f5bc0a26340608d558ad64a7c37cfd3a78265faa87b3562e553e481a1fa2b2ebc81566e7a503cf9dd1862399034ca15301e4e9276ce39540e896fb0ae918aafd2cc39119da08c931d00b0ef81fbfea6c144f5f07ca3893e41fcf605879ac08a04424c600bf0fd891c23f6edd97a68772feaeb2281edbc00dd5f1fe873d5b5649fede7c558a08fd79f4ee0da317604ff3ae56af1e51e47335a2a21805ddce7fd5cf3e4699a80d38784139ffa32522c7560f7581b0076c04e71d7a54eb32a93a52d352e953e604b15a042b8cabe0cf149bed61c37f1a5f0c34626d65164a681049a85fbaa3370465a4cd3ae8e132b338648811ca58218bdb5ffd07833ebd1b218216191a2dab0c5e37565c9730ae28d629627dd4f1cf11c14c823b4633afe98a5137f17449af0ca7f15f966f83bfb85396c9112f38578ab817b1fca3c90c1fdcdafdacc735f609a5c2e0c1934258927fe8ceb11213fbdeac2b01d73bedeccf633f17d02db20a0a703cf65a1fb9fb89d660555ffebace6b4b2ae8012bfd502a0ad153691d05c50adb287ef33f5103d55cb28390f82924845c28e7f2697c8582251fec41dda78104dc20e20158b69ce7783989807cb1e60a498303c3208815e62fd2b713d4b967079c9a3e9f411f49b8e853df504a99527c2001c299e445dd6ce308bdfedae1e409ee1dbb2191bb63e98751b9a48172752e713cf610346506bc701f411020352a0e89e3b65919aa3adc2fb604a54de86926d25f375afedb1e06ec933cb796bab5051d60e0787d1ddf7653aa0d83812c162120b7fe90adcf4d894b031f821550b10aa34cc6634de008dda6792cf059f132b5d4c4c1979e079fa8d96f61648dd8620a4096c66d120b5c343f67dd573aca6e3c22229246c9536a14e60824e3921a3d014eb8ca4264b0f6f47320a5da14d54f1680f3e66706533c0e0d4012f087c8e500151dbfece8130d954e4e60a5970b1daa6cd085e5e8b8de35818b3c1a571b980926a7b09bc1c40472229c9991d557bda8960e5f0a5416cee9de47c8efcc8f38085af9e579f942e1ccbc041453c64cedde3f437296637adff53464f6b587387106478212d9e9429135e8ab56491bbc7f9e2b2deb73022da7d12493c9f5c540bb0657e6ba57ec6061455bca6f72b3ae0eeba52cedf52a6fcdbb2bca788d55a2990faf25d8d27300d42c76b32dcce4bbf1aabfb911113376c0ba88bf2741ff4e5008883bc49a62f72e8909b616cc7f0391223f0dd4bcf169c81253c6fed12da6da04617247af036e8fd7c7cc9e2082a5314b8e66b57aa11589e213bb69e0b96c03091ddb462eedd4a8ed467576a902d2c130afad8098727afa1e67f309aabc5eb60381fb6142108e498b7d466e1235346f0d21a0072488b7f5bdbbfca62ef9b73d07b34992b1f83741558cad4e508ececdbfe498021ca2a2663c7bd8108ec8c4d30ff1241c0cfeb8a5e941738a9ffe7067570ac114e162e2e9b349e09cc2e65ff007d6319bb653488bfc2d8b7af79993aec265692c04860d4d4c662d4f0b6364b60cf5b99cbb137cda9819895fa99e42f414406f82c3fbddad0d9b6e646bbe759907f3847f57e19a6bed895ffcef03d7f168b1e2de71ebdba4eb93f6e9e6a1181e046d055f7b87c1a40910fbe3907af7bcdf699067f09270d96f95f1f315fbe01700e7ff40bb77eaa841ff482618516fef1ebad12693e595a8caced964bf682c340619883abbcd5690917f6e80cb724e07cf0033adf8afd27dd6f4fc1dff0b2852007a388e3c1c582e04d63e60b39dc98a5a0bc39693bee9a623d9eef9e9b919940c538fd14e5b7f79fd9d4205013ec4609e1c78f577b210434e9f0723d6ce0e0705397a0748d342d2b6edd8440c2782770cc459911712fc7e3d55cdb2010b2a6008ebb9148b311bb428007386e7c928a94e6c02e2f8670ccb30fbaaeb924a6a2f0087797bcc58eb25b3f9c18edcaff4327b557d03f293f5be5e5338ba050a66a5090d794b3ae71381c6632484986d63c438b0fd91d6d2e5741203496e6abe81f80b05371874386af801ab29b4889cc1ed60057e83e64d00b064bc996d5c4da40a0b1118acce3479db3ec76db8ca3f8a0c472d5ecf35572fc2d6ce8b1a3df662da0d3f1b7fb9cb4abd97b5e7ffc0ead8ba8555e4f10965b6f91542795901ff9ac20d953928b0e0fb2e7c9d13f1a43b7fcef6b3784f1df85aa97f46831e23a55f030bc064c1421ca1023c2fd43d2718da21a6afbc01112c6743219ffb5e981664b20d7f9f06ece05c86750352116bca9c94ad6ada79962483fa645fbc3a7af19e3e028141de84c41122d5d6e0774799f314c83de0ff9679860a223d498ee229a1110d4beb0c484345874331cc3d3fcded164b6d2e6cafa2336481799c33ff2cef6b06bed3890d2b58fd28a956238c235270f3f129b746a714fb7e5fec8cb5cff9c101866f4594002f03cdfbe53e4973684b7f2fbc5cfb32ee15f61539ff9056dbdb08e6fc0810ea99bf9eb728c76bd2f1ec2db7ebe8b029316071504683ab1ee8660bc33e1f9ae649174e3019f0e5e9f944d620834175b613456f86fd73b07c2dc10016826604ec4d59a416ad10fd7a35db386e32f6a9b2cbf478eb910b60c8e28a05e0c74311c3ccbee55c90ff41aa7e5a32976a5b3ef1d1491f534222d4478c614452d6377da3f9b37735bb961c089fe2ba883db61f085519adad1d649942857ce398ff5449018eddff2e71c19548cc8b89516753628488193669fe76f00a93355c250e96a86331305f9a7c474a6c418d5ecce8b0d87c3ebc5d5d626a0b98bd64127e0f05f2ac2f51b52260a6f7fb7f1a6cc2dd49652ffd09b56378439e3cee935094088d10b704e0785a8b9af6d76e3fbb78b5ea40081f7e5756d92862606570ab673dbb74be7abd1a4bb67382019a6b2fb64ff3f8cd11b570dac5be08ea8916f808f0fc86d46afb1d6da0f9c232316e56dd03ff092b1e6cce298ec9c057fd7f93832786a5d22fe7fb5cb6a4dae381eeb8c21d480563631d39b52eb0ebd26bfce075779bc31afdbe301fc971d974683102623ec80c2282827000f4e44e9cb712ea11eed51ccccd068501fb19634fe25d968e7b6201daa4a12d879d4b4bf6c64147ecb870abfbbdd35745d56b015ad17ca2e5c17ecc0058a79fff9601cd068ca6dc8eeea6bb01a28d0808f9ad0b8891a6f47c22986a630568f1fec83ea6eff062233d1d47f1adedcb07c022c32fe8bf1ad4f09c3f9d00930c319d424ded342244c68fd2c4424b36dd8b9affb008e9f860c0b69f5344184bae6cafb16b24aaa1ca6d9d014a6448868e38ce05d2eeadc1dbca4254d786a02b84d14f7e5097ba9204539fef70276239dfce344bb3b66dcee36cfae351fb097d950829dbb1f80d90fa7efcb5f24a3bf8f1d6c8ab58bdec36c669d6fa56bf618dcf2e80a019d8fabb1adaf857b6f50bd27e74199d2e58ab61040af318c2fdc1db1556208975c1c0ca4a371d0a87f39cf964a2269d3841e2f5c4de9f4cd6b9cacb80c9cc97445617b4fd2cd025095f55f63aca7357ba3fb3b010f768104185356a5ae05cc62f2a430a1b738df00d8b0f1de00ab1c1177689068ae075438b40de920ee9fe58c0d579304eb94466132dbf47ead09f9b7fd9bb92117a71c2a4bc8e67aa07fdb872be3e0559ec87b3213f4e87b4248868e21f8986b0b723f04c3fd7102c953a9cec23738afbb793bb6260e7f5899e592287669f31c3d4b7ba8db21c06993bdbcec767cf93830eb170ae4eee6c71f94b30572d86f3a41089bf1130e86891c7fa28e2d0a4acc9a509ded45ae75bfc3b376bb32808fa6d2f4d19038b6785ba1011c368fa527cd25fd196e3ab7d77edf973f1eb803638bc0889fd46a8b606a103c1b8fad96bae5a3fe0de0819861d8f4b448525e4242cfb183d64946dd80b580ccf9a7c46d60b086c6c414a90f2bc44709686bd331ec5537a79cd79c0d9ce235b5d36745a4b0159b28b8226f68214dacb2b30a0a77ee3ddf9e4afb32263568640c26f26a8ea1698ddb60b282a3a8bd2c212045368d060dc725ce313dae6f41cad7c77ae4ce9425ee190f6647db6fd78945d3a4799ea05ac1a45a114116aec954cdf37446a075baedb5d37d465db898ba4b2c7be07f24243297dc36cfa12d26b56af2a7af877784a7e5374c1d4b9a86ff3552dd4967dd82cfe071a0421f00a3e795b90a711bbb663bd62812cb97fa4104c8576315336193428abff15c9c1acc23ab660de8e3aec906c8cbd5ca6c58b09a5152f87ae52d1d0b874a6f97adff33693914b77a4ffc8370c93ac0d4d470d6e891065140f1ca429a12126021a7307411410d40996263b2238910dd4f457ab94e36a6ffa9366bbbd8f4fd19a360ee12f34d44f6e48358124378905d44207eae04cfe1f0096a1995ef5a466087c67815c676543369e6a835c141d0bdc33efebcd99cc8574d3bad05b7380cf3e6967a4cb39b030b113e666864b45182c0b6d9c68db8f844aa73c697791176709e331222d926d0596adc176a55ae77fcb1e0a32bbbc32e1de87674f0e59645f0c8de8b3b1243f4f4f48d8418cd3207a1e0984026a10fd57fc395b9305475f26ecde73c03ff40826f7cc6b685c3a521dabd7df104b69588c4c5137e2d189015aec63299566a2d7b3edf5f369644ab331075960061552d448214cba0e259a1383831c831f2c642c9fcb8b0e3f799874f8f92d6cbe4da20cc812300c625922a7f8d16c02f5800cc6363a318a4e6602bce947bfe248c1deb6c4121c800397b85a4a433cf4603d3e478b405c75f44fb486412427960e4cc26fc5671179b4fff649f8111300d5ca3ad18f7d63d6534fd5beb7fc8d40193d0a52bf71a180ee1a9acbb91d0dc1991c8433cd8363cc42af72def715105a19b786472886665f6a6eaea0ae855bc5e825b8278d6b28f9110aabb71458daef863dde1198ff838d2a91c029c660dc1509f6b8169e6bb832ff363e5f8a871368646a8e1e1e00998e741cc1db6f23c3de6162ddf36c218d8669c3df47b37646246383e4fe891173eac751ba5a78d83ae59a224c107bd27b04ad49678909636206a0c9c8815e10a2531e0c6348ecf38d349965fe3383e919cd56b2a645db8fe771eac69a3740c6fbd10b7d79e5b5c1695a421d5dc97729e5e3662589396c35d8aa990bd5f3c6c12d1186df34bced77738908c1f887730098b391dfa8c0ebcae8b07e7b782bd6f2c8f081f78fd8211268037b023bb7fc2d216a1db27e12e04f76dc9f284d9ef8284a9c4442f64fb58e79c6408ec6f7a84580d139df832c872c575a4e769d578ab79ae60379b5151b305c01330294524472751d93615a94b3fd53d44d078ea4e69c01731567a4cbb9603035524b5c544565ac1d2b7dea5761ccbecf92eb5007ca030b37472957f473bc158bd9f8e2ebb12a5c10707eba3503c0a309099b8ca7ad1d039c8d7b45039990a0bca014f7fc33be3f574766cdc9c9a67954bdaf3e2c5196df6fb8fdd44545b52fee4d919b3c985b1b0692755fd59bea23a48fc3fc296d16c7b319f5c2df9aab50fe98510fd4ccac0d789cfc0e789c22c55c07188c875b80520e2ea111e2fe6fb86eb3730cc01ceb5a276e2b0f8c74e73fc4a29aadd46c56938e379f5cb03a643ce7ced474a3efe4e2cf606b0f78a61c36626629316b107d93d3fff8a9c6d68f030e8f46eca624b6a64fb97e0bcfb1b5de60a1407273b75faa281fd4e30cfcca256be8b0d2d9b716a1da2fc600bbbde67196b1c97bd500329f40813a7b87540b471c1824e2aaa039b70488f40a9b52b67292207581ebd00a270db455822779fc6d8e06171a9cbed183362d0d0ca09ba06014e318dd0aebcba0c11b58d27662d286618b28462f3e9887754bef0e99239f0e81211049d81bd991c32b2a2551298c9c3966376ab705f9173200b6018922cbd61337976c80408b9213cc318e2b8d802e7d3703bb4067b7ea4de82c06c63c8f869ff89a6a4be4009ea273fe4c12596ac63236050279d6831ea10e650317490015292507bdfa4dfbdef0ef00224ba0665879d27d1107412ee23ea1df093abb8da1c5c260ad35c39c0bf3d5bda8c8a1e8208f2ad673aed6facc8abc1c054f9339f446198c3056609202e040cfc8ff24ba4eae3a05f843502c86ddf4b5004662adc1277c2fc936a8f08b920325a4617629f28f6efe2d632ce5842fc71d09514a5e049a859650a55a23e12057b91979e7f64ee690d5f960f92d1120f1960e3788a9f154d7be4bbcf9f4d7963788a787a664e34d773fb38a5d49e9fce1210821a8cb4df5025ea142e81e13eb291694dae79c10461fa3d8a7d771b9cfe51c0c3eb561e760299b07bf9a1944a212d91c6a7d5bd235f48439a9d09607b980d00a019022460aed090b0ef50d53aea86d8d9ccb2e92c60770d9f0b3cc8d889a03000e42d40bb925f1a6b4a5432413d9133a0153bcb945c8fef46e5218642c284b06ae8d28edd6994f5c8827ac81eb8feaf1940bf0082d034701ee2a83cf9695090b2293b35dbc7def70a45dde81b73bb46cd3fb879b11f598788f553ae429862d0f2f2bec1f90aa2447148b21ea1baf62c766c9ff641f506603e24c13afec1fcd06a6a5e117ac7ee4719ed18ecd237b718d4e9b076d7d7bea9a40ac5700af24dd0ce1e84f6eb388c124e02058417ace5781e2aa81bbe52a60eb29122c6eb93e3a01609e13562a8e72b1bf35483aa5a811527078d450fc18fe8ded333ae7ba15bf07276f3711b6f8c54913acaa930cd19dc946a1079f89fb0ae484dac5aa526e100cc1ee6f9d2c8c9daee9a29fdb2b9783d4c3503f6c5f3943ae6e7e2ee6e2a22207e6fdf7d8a68458c091d0d75242718795f474a24d9810ca3953f60982855aa40b51e9020004020007f2873c8af104ae9ef401c4ee3bd5c920b8fa01ff37b74ef94108f3f797801def2f5efd270d664c2b00e8067a5fda2bab810c42af04020007afe68a01c994f101acd416846bc83fe514c7013179d01ce9dd180aa7dbc776645778d6efe76eca2a60efdcc429b994e81a183e020007febd7b8bc3f601abf1205a9a39941093081a4cd7f5ecdf4d66921cf3c1e88d9467d2152afb35c6dc872ca608ffcd26abbc02000790de7ff6fa8701808c02a7a369c437968c20cd4710d9e2d9e8606cc165a0b85bed1f0d4be319c63ba27e34d0527cb4db9f3380c30200028dd9a71696912c29ec83206fee07768d842019fef910015356a0e7c1ca2402b2000257c341d55d06158a09bee9637783e63f95dd32652ef3a4596430de72d4a09d102c020901dcf4e40ffed0559701aa28d0c16efa318648e870b61ca11b1408dc6d52241a9e10e361ba889e63d18802f0a9fdab095fa76d6df9cddbc3eea3e2ef20268fa866e4ed1d7b0f911e10234cf36b0e11b34c80ff45c4f78116204d770592b857489344872f458621897a8b25de6ec611e69f8e78dd8a9856d68d9a6f5ff23974cae877dd194bf7eaafe2ed000705cd370fb32dcd8b2bbb1fd3b37f0218e6f3da6088eba79f666faf9e055ae764ad444d4554aaac30acd45a5400216d909e5970673cd5022cae285e041e002359d46ef00a142489db5f047730d27586fdf2278bebde058cac855af0206356d60c4211b90c56660400dad773f1bbfd035614cf84320c4a680a390bff67aaab058420871d0d3b42dc1c6b1fb1470c6b223313106cd36e3f4e38685c37c8b79f30858c34e80efa6062a8f9ce3e5b6a373ee396d2a4d712577a05ccfe01403ffee6247c8a1ef5357df14068a65d623f7542629a9fa4f58858b638bfde2582815e38c29c8efa9d46ea66ae01f156378b5526378e27b326a20ff9ce3a5e9624791443dadab4b20c557ecbc25bb0408bca4ad7a5f9e056f95bdb6befec3c86ddbc66694e353ddb057bfb9b69e1c8d7a6c8e02434e83cfc04efa351247a24f5c1bb184ee257edd20f18ce69ec8f46c62b7b97934fd071d6a7f71728b215576087a39bf5c246e901044c8167267ba34844555c0e8c3ce9ecdae33de31127e21d4bfe15f82aec63860e518580205f38cb5cfded723c089f23fb0a63ef47fdc27e058da78bc6436df50820fe5174d8d73480601f4363307a1d5d2b8a27e370ed9d2f455850f5d9ca8c00fc2523b356133cd985f678938082baa01d4ad01758afd8dc546072d791b570036db5cf668f0ddddeb7d957240a3b16c17f7c02751249afdc3ecc31b34fb99007cf7fea5b14eefd266aa3478fa77c5fadf6682dc972d369b1681ccb23eacad80557d912219d5b835dea33d2ba9f568e2180e5ccb328cfec05c68ff54b1bcb8a0af16111ea42a49e8563bffb1e318c4ee624971363c98cdaed60155d4298af080062a4ec0c9a03fd816daf2f33b59a37dcfce2b080ce903014048e2849df2bb60756867c0fca0d9a59e1c5d1f786ee52aec4d02aaefc96b7510d084530f95e1401b6b4dc0ffbbaf7ff196770cabfcf465e6f6ddbffb1194c908739e8f7a4143403cfd6a655e1c0ef6781967cb6a393a24afca2202a82fca908bafed80d0c7db80843629a5b05e380b859010f193d40fd00260a7e75f8ea15bcd89dce194bf2be06eb7cb2014d60ba18a278c81ee19a837ca4e83324eb86f4145335d4a75fd4ed0ec08d9642c79d5a3dd8e9c5fc5bfbb7414711f317ea6330c439582cee103022050b3f90afc535a9cdf77bf98de89e588a05174e0f6e1d62f905164745b9325902d73cf7e9a07c0d83aaca2da14eaaeea1d81b154738f1cd8e84efa46da1e35107856285f973fea42570c423374ff7c7d47919ae0963d80123f94e9c4701eb7f0063df20cb455dc251822ded21da7b36ba714d0bec4aa76e937cc48d19b278c30cb088cdfa8b6b12250ca513f719a55a1db11756032ed5a03c5460b544f4912b06dcaaed2ffe510b0c2d12df57dfa9ae492c7189356bbbbe4e5a1206851ab801060054a4dba808f646c23dce1488af5b647f5e6368640fd8b462218227a23e260dbdbb0a1d5ebd1c5a7a8cf7f12baf0a1609d4afee5b63dba603ea039612352c06d1f963b5f9bd7749d39c48df07612134ab06eaa5ee10ab809b11bd4713415f0184f8190d1914123b1a9712ec16b5a1c595c3588d6e067f06c409c7e7c37d160d7eb86d9740ff20bfe5f0d792f3ebf6873df296631c6be1ec869b28067b0b9b028c094f3cd36883f712e8774ff0697fd20456fbe78cc22c7329a7216867e6af033d45f92796c9172f0f4b90888b760b140d3a059f17aefc22235a643cec86000f7b3d19db0eed99b275a21ce09a99eed34f9ef53e4f97d9fd541c94a790d6e80a1bf400f648624617b10ec1b6ac02064db839229ab60742b889b1d9cd3a3c590b0b9f24e5556b8aec1e009cc96fb2dfe0fdccdff14909d311a5d2951c0e3be6018c0c272385ff41774020b694eafacac1b918cb6c607a542d5d3716ad1d319c037bc353812304160ee05ceb33469a66e4eb946de54f1021023a2dbaeb6ad68a0c9644feb237198a9bc46f4da0f6703e3b2632f83f0d9e23b36bdfe87d4629760f4acd24ee32ce5ee8d3269351c4624ee672f5634a67132c738601a622c2ee0d04d1f571d4bd00d5a01e036f0b6c5438c4ce4a3262642250ca48a29a89c049000e4a7cd087e2d1053ee7dff828dbc6b5ba21587bd6d275d0a49a0453d50777e2010f3273bf1002ccbe47be89709a60e5c3b23d0d947382dcc733723d368aa58b0b98295f0b32cfed311e922484802ac7fd0bfcd7281b4b1f7cf2a0aeda368ee50a409d2dd655314d5315c3bb0417ea19ed38d016029f651b5c830f0bdaf606a7051089a7f37332649420a59afaea9788939cd15d64968b8658916b691e79a6de06aed21d8bc674981737763a9b2f26391db6db18eeca3b81d2377a96d5141b9b07878e0db81059cf96497c271f6d1958fc22b10efddf7a8c05ef6aec26b639690326465c5d96541c41bf9ba1826a0a986d6d3fb7ca3d808b249fe64bde737c2c0329d6c3d39b1601e84a14bf24cb6a79049d76fe95ec77a80eeb67e07f9f7b9c04303bfe6366c79bc5353b628e256ae7c8e4c32c01d8edeaf9d9758e33f8aea9041396621f7a27acbeaa454ac58bc218ac575a75c48265d8ea0a4e8296da47aa0d5500b94b3d7b405963cf3a5cb65efbd59a3909b2af575831cbd5a5f21dea50093ba77352b1e127de576381165d8023086ae14242fe56ee4e0f606bf44b5d7a06c7b382046261881dabe604d6d2ed3ea42bff1eb602dfa010fffa900132c9ef05f9e67c832ae232f3016d6887fa669698c0db0ed04894deae7ed2788e5713a00bce974e88481d9dd4cdb08188a3c3d9792ea37754b7914e6c2a9ead3881d7230321884df5f65d80466051aeb3d4956ec8d440add53b3ea33d8aed4aa247eaeb05cf21b12aa31d3c12f7dcde5ada4984ca73de89fdf6df67703ec0f0c2ddacc6011744adcaa5212192e7b240da88207e6f8eff660ae0f3d861fc9921f8e8be4c0a580df6d232602318ec8692b302db29aed8b5c83058f88daa53c6d3919dc35809bfd5f4d130c08b5dea67dd4cf991e4fcb9cdce644d0e958fcc56b81847443e09b835896910aa67cbfa4075a0bb5ad8ffbce398ae795b744e4b8c14eff97e3b0fc12804935cdf775d2114853e0fb354c17917f5001be391f8c6782e832ca36701dff8ac2448dc4fb92300e31f24dd1193acd286c56389bd45cc22532ef817fd0f7d2c7df2c3271817fcbdfb1acaba6b39b7ac59da54d5dc78a3227b287df1c5025af582157bce61e80212e0e4bd33267b74f0a955c6c54cf2b1c0007b489d9000897960b4a40c45b9ba8c20c81b151d75320fd60ec4df35cfa1fde6e2e2cee203efbd009112e7644d5b1ef79f828bc70e587465b29f424016bb9b7d0303e25a08eab65820e925b60f184b7f9ec538ccbbc33c0c7bf46acda3d187c795f90f37025c5f77cf3ab4d013e9d37a280c63a720bdd680aaeeb2d826d2fd71d41515920ad61b363d82c844cbe160be14ab67acb2a920208e0e690746201f9c69cb68cf06e1d01f69eab858131e06a2f6fc733c1be6bf96c86551c9d1eb0d731c6860f1004af08d2afcc61f2d15480b64de94f2a1fdf0ab1aebc2e9f81ca8bd0310875709ea0e8a9fb281315c98903e7805e54fd11145a32bb3ed69bed8939465955c5f08d24feb804761c160a3f5512067b770d4a33558adaed3cb7bf6f248bbe2a78b01c1332c1bb7a5766d3b7cc7ba791063a4b25dd5888b87ef4943d2fae21bcde90acb49b662d0629c88f2f51771ec855ca3f47e572d9dbc6b9f4a54e9fc953f0f00e06934de3908103833a10a9817bcf957f8a0c41a58770e363b6b5453b1b2f107f8d0073e5a047dbaad4b028c5d83ae576bc2e4c07ab9a222f5bff27e83c5380b2157275608868a1e3f282dc61ddd6c7b32b474bdfc1c3cd592d398b62babd90c1ebeab00e010dd3bd1af6deb3ce90083739f1791af5767a666ee0a343febb40e0d09934dc2329f302edce27b7e91607bb53afdc6dabb8f43db3f3f66fbbb1c03e59b1a6ce183161129c2e5750cf5153288daf1c9613df22dc569963eb79c2f0d38cac8af620bbbc8783a0ba02b6634871bf91ea7477f437d75f1b4e9764662085272da8ae882ea582288c020950f5fd4b01bdd20d785df75d1eafb0da21524068f9d8e676cda8a929021fac6c2988a6fc8308e279fe8390dfdbf8583ac839b049b11a4c1a96f55965267d9f23c0daabd09d64b481f1cf6e71b01fb75709e0f0d09951277cd63153d65f65e258aca99f85f6871c6402713c8580c6496d2d2b30addf2fb14a6d8c0e07405d50fd05e78f044fb969f56ec0dda18a4126f181eaa01dd64bba514317f5a10aeedb988cfacb4ab50dad9f33559210130badeb347830c058e47ab074411d57baa3bd8deeaaf6a70c4bb63a0477d5e8d8bc9c866f4df0f0ea8b7ba2138e265620bcc4def606b68dccdd83d68b57d0abb320b39a0c5d50ead6f72b4013a6a15e690482b50fdede8c283e124e4f60f5a7f39fc00049d690b68e8c6a30951e4eae1e4336442ea5023b4aae07c687fced5cb1ed863e8433707fd03a9bee694bc9f74d4970516740297125db7f4369af5a0e659bc5e9ce1700a60b7d6ac124827a0303c68a6ea41456ff66131bdb4e7c87cc5139e6ae7a4c608df10c8b589502ead5b104dd1d5bdbd72be3ba3e82d09bd022836869644a10105527b0e8e6717b8a030d3bd2dfa261b7197e058e2655515c35dd6a0c2a9d62e09f4764d85e1914d48f7901f1337b1f3b3ee3da2d01aa42fbaa650c2dfedaf8c0f2bd81dced4ef6e8bc454a3302d4541b61db9e66d9c3835f480b83a90b2744708e80f989990cb4992fc7b4533aca21b32d43da27491e1d42ed2bea1803bdc2d097048713f6da9fb7b99acc0fbe35093d34fcb516f5df5d72094a922cd6116670c1efb1739385074e88bf482d081134badb17de9c6bc56cb2af13079f57b48370e5a4f8761d3c0d8ce3de4231844bc4d9d7d6ce122349bae9c7aafd585674f140e0c331e0b528c44f1641a96d38480dc14177d1da0b697cfda98304b7986c8ca075929867e4627dbcab4f34d7314a7b50a5a0290edbb46f61b8518647436fe8e0e0b264d4b82032911d7029186139cb2b023a99d63b7aeb3341852d0084ecb2b0687afc9890210c3bf405fdf97a144d1fb2db8fc280a981ab6534d5384aff7c106a6c80cdd50e7e1c080935d9651fff0ea26e2095c0b038bbabe3034fa7dd1190c5d4f73d441446b5736845d89e4acc2d5309bc2292fc760d891c744d39a394f051a794a39abb59361a8bb482a5d21704a4d0b179bf1b8d9f09be38cebb2a8b70bd17b50792d6508d6e50d267379b1129f677985ef647413a2e572959808393c0bed8f6c9707e013becd39e3e7376b92dcfa38026fe8b64a727d90f0b75544c90c567ef67cb05e73875c4563a0fb369b8daaff90b80179342049c3657b28c0a70cb2f0f335bd8065d3da9bcd37efcd652234923bc97e73310115cde115b785d500ac8133ef8593a9f7fb2aaedb406f679325d123e03665ddda1e07e0576b676708257d7d25c12ba7114f40b31c4216ee25ba1e4a45f126ea68cd5dc2d7b178c70ba9c16152fb40e86848b10eb8b56592ae5d2039d803c819cf589c0c114e36cb00d8f09e1b2cf34aa76cb37c98fb1eab8afed999c3af36185fc476f3bcbaf0b70331e22cc4139634261495869d488c027e266475d029e879c095fc3c84c3e4db00b46dc282d7e186417f40b37ccd629c15c658dbf19c694dbc36e379a92b3a960a2a5822980be1ff622940d7701681785e5ebc933a71f27376dc6c0b350175f105045a22e73eae403b184c7a9214690579a6fc970b8d6420c652d9bf3d264a260a78e5a6991dece739e3fecdfb593881fae2e8f75cbb37c26265a48e0a02fbe601e4ac39befb9b13655bbd5d230d2ccce3c299df0dd0149b0225eb8b10c2ff7802ff8fd91e3110637c06d82c6479f6a6aa6d4dfbc5941d2320c99f068a06a07a094976ae42e467c187674c7ff46d0cbd1f87e6cd2e9d4eab5dec36af5c0120fd0314ff73d2a7bf1d1591b30ff63d24bf2c284fcada8f25d41300fb1a06038319013e7ff44fd58b80933c035e941b8aacfb012b67124c2e05c4c42d6f0a6c913a0acc49b7f9708c48ec0b2615e41bb63fa1a2e1997102a1610fc689ac629905ff042aea49a3ee755e9fb8e1dff88f07e12a67926631f302049adc0eacbe6216fd0f591192e4532ab4aca807ca96cd158db8a11195d1167ff670dc4dd2562094cd859200fd61846544a0e64b299a4c6e8ea61999c18c4bb0f104b8c53c86d5f9392a1ab9c92af060ef930fcd41f9b0b5471de29a10ce5452a1f1e4a15c116db247b233492aa71af3368d581f3ae59c84b9c940eb7a8fafc160daf0400c4f37d399895d3c317e5e457cc7af204f2ca84b0c51ea05ce542c86b81c7794861a85d1fa86522ae769df25746b5aa6e7233657dd34c6da64941cd90cc8d449b74437b659650c4e065c3af0362e9bab70b0c32d3ea91ce756315833b408b6ac3fd3006ae687d440076790a15d20c740523c944b7491106189d0f51d42142e97964ed7ace7cec8c561b65c6b672fb6e57fae52db266221385831f647a5f779a73c2f1abbf21983d9dbcb8efe1d3e4ec4fcccb97bdd93abe20036aa204c0f9520b5686c7168f133a11a46550b205c24975c663ef1f4ec0b2a19b325d55cb5d7402c5d6dc9fd8c974516e6ffe29d99f4a7e03b75571c7976b1c4a72677ef9c02c8984e23755f77e73afcc77755181bb4e200ba63465bbfd5929fbdacccc8f6afd1776b9ce4bec2061881f459219a60b13197a351485140113080fc1225046eb8b1775bb956a8c0f0f7eafe8413d0eb11623004b37196e1760192ccf18a34aee7d5d7fc1ccd3318c643cface06c4228ae9f695283bc3100dff4e3ea58f52115bdf4b62a25d32edc86eaff6e5389891e9f608953c2537323496985b37dc217b6327d5280b590bdcc47172f4c98510b7c7cdc0dd01326797dd45ab938090721969534fdfc122a809981898a39c89a029a7a99be62f1b5ab955bb0f1ec990e235bdd544d2d2947d4f386982c81720902059552cbb05eb037aa203c80018d539856b8238c8a08016aa0f5ca8b1ecd3b64ee10598f1c15171d86f61ba995a0fffb08be4c66d0ba8f8b04bf8be55129768537a00f0c2a09774f94f8c28c6af12800cc43c366bb4459814f0e0118058d0c7b7a681302b6f725856fc9ba8fefbf7269ee9c780b9dc375fd8f47622213c32db87ddbf2bb78bcd1dc525fd6ec235378ca6808a906b4d8a665077dca20cb362ea6251dd354a233175d6792daac4acee1dad9a04cc3a369632d22b3636688f0d17d25f2098226d66542f003929cb52307afd400f639a28dd5aa151565985f3c06df42d4cbb20701391d534815ff6b7a9cb328ac673d6bb5e583ed1188fb732b27ce04aea8282147d0ed779d06a942de9214111f92c1af4797440d03b41efa3f40001d21ad02ce929071c63703099689231cd971235869e121f176e55e3b928329fd226cc75b59c2fb040e9993892ef7f0ecda16d16b8be462874e1e47922093509daa2db6d64aee80579d9acf358e97a41a8eb57269b52ae01161c011a162ee3c0250e30345b252fa4b1fd4b229e918528de3ec02f55944c856452ecadbed845fe7158ad672db60df7da130bc1a416cf9f5c7b2ef6ca8be6485ef94d0c99642940b837272d6a212d6f748dc58f42ab5eb7e979105280c74a1cd22b67d67863d9029eb8f6e76e8d3303b578c70d735c725da1e677ea65f4385475b74d042f4c5a4d9766161e0c955a9501af09c8e1a857755a667a2b751708ee52da9e21306a9edaa81ba7c845766dc909d0ec5ddabaa12f527ca8df7339a5011efe1070df32e911e6e18b2cf59be1f502c0f0b37a80c1e720e9aaad22c829dd6913d14eab276b380a7381693cd033de9287eeab17a0b3eb2b05663ca3c8295d96c61ceb11cdb7e0a12777df4e8f0476e1f7a30ce19623accf73b8c7a9072bb8ba4f927530ff25e4e7e1b4d54284e8ae14e5cc3897284124d364a35b227c43fc74c4b662bb78eb2a14f964ed3e0b23c2ff9e4b65316b8f3f4ac1903f0acd94d4757d30b849982ebed6b8c91f4eb7f5cdafe726dc938e5393abbc1388875099c58a47feda5582fc4b688f2fb13ff4287296ab746ccbb808af21d33cb65047651a3c229c36755479a63c0781d650eef2ab03d2ecf896a52fed8370356d6e9c8e71edf4be7158983f0776ce10598834472898bc0357e94c8270e63c65910155cb064d10088dceab0deca73f6dc6fc02c0c0f8a5c1971d6f9d08a3981bbdd35574df68c8a77dfb5284b713d79be6517cc65fae1434cfb3c2926d99f6a1a7f33516ebd4748cf3ef0bc03e7b6a957e632374b09a3a17e8089f03576a26be4db00d47c007602c8aae2d30c06b539065f8e4ce13adece36c8d3dcf36ec77ba1ae0a28fc800270607757561c1441dc48c5c002e05c72be85d9ea67332a4ed596dc8c863d72a0f41cc8af075a5cbbbfc39c99d6c01a1a16d07a156b9711481dee66d379a57a5eb36816d223df2e50957f1c0b3553a0338a6eef1b0d65e835d4d08455198a5ec414d636ed60e609adadb572f76e7b039d0dda08b5c123d2bdef86fe9d9840441906d5b5aee969e7494f8699884b8db00643b70f66c69be7ab9cb907b0eb000e79da96679ea5e557cb414a4979490d46a653f994df78207d4abe86dc35271178304cc2579010b16c3fe0d20581f96692f3eb60ecb9b9e1f026f3296ca96de975ac9ab74e9282b517c1467cae7b27a8cc1cafcc1d39edd5b15ebe04fbe6aa8735f907e76b3a447b5f8778b770e08e3f89c7bbbb0d7593e8de4562052bb6eaf92b824c5bfc5cea52fab16e5c00e64924509de84462b8fcde9b0f58fba576ad65ee21128a642f8004ff54719e4c856783b7e4691be92847f423899633ed7c051f45275e3fe558e3f8a957804c06a824b62c3c1d99f24653ec3d01c76282f6ca3d7a6adf80f9c7003f2e7c796d58cb3b954677e0a6d539e0cd587614b746727878000e585aaa1aed427b471ba7abe91398171c9fd7b4f3998bf615568adeb5966cfc01c99c600acdf8bf8cbd04dcda7234ad0edb3446f711d19f1e03cdccb83d7d2907a81b6f2da7bae70852f510accfa7c97f70623552e45510150a1eaa7753397907df44aa473cc02e4612b5e22ba4510f7b406626aa2c7ae76168fbb2d82c297f0bfca4292332a1571fff4f8238e13c59990fe1d20a582078ed1c221277b759220220c5e9226c16cee0389052e6542d0f51250aed0cd6e98954f2dc448d252bc3091f8a988d1ebf58cbbd7c53b7b3c2ea87fa62fca204212b7cf09cdb2e12eafb01802aa6760ce6214d1cb437fc290a7b3ce1adafe093424868bf77b8eaf2b1f9008dd8760b639301586c295be95f02a78a7870564be786a923ad572f57ce091707c0587392bf9f44fd24d6bf4e2db50ff83deb44c0abbf166d3b69b3127deba60a65b3cea89f5a76861c73e59d794ce0f91961fa3c54a802cafc65f853b346d909820f66d88f501123bdb1d7383ec84b87f3ecc6fd7212fc9c8a9a44eddeef16079a20081c104536a60c9c0d8b28ef1f71a974f49f0e8c663dd8b4359243b40f0bde2f05522efb15bab904ff450b09617cc9ad9807809978f6b048b4f6c2c92b097b4007f5c7cb2763a97de600822bd8b001167a7119ff57102af024856413d808964caeb62a7e18f5d284eabf00ce833e3c906af2d33f3ce06ff88cb0cd79f80e500db317afbcb755c8414e12cb81e4a593e06e521ff5af02d1c610ae6cc87307f3281d0c2ea16a4ab6d8a211aa9632725cdc323bec7074089eb841f455861208994f372a29b773a730836cbced8d3a87345955a4bb3163715164fcbe6136090766aa1009ebad34949eadbc42ac54d271998241bd85edffb05c9ada1b8a6ccd08c330a45f6633260958d7e8160697f89f3a401310ff405b1b9281b71583151802469de0607fcc16ab3977a5dc01081c43870b697225b84bb3c7628a78cdd8dd0061327e9bae0a7426fea3bc96b9baa5a88e7a0c824b1c4279f20aa87f22d7bc08c232c470061839e6e55b6316c85464ce7d3290ab836f8be2ed669a9403e3cc0cf709853d2b55e13006a8a80f265299441231745eef55a2d6a8756a4576303a08b983e472e22f9a867e2cffd9275706332682883511f512aedbeadcbfd1b7a5085a1085f57e833726bcb57dd8e79a304a43b4be7b141d3e18a4a862f51bd2c30197cbac21e0db604c953e95bec19045104472bbb55178ef101110678e24cf55071efef3f688c5de0272585085d0a344c6a34e480a3f8ad3ecc3acd4ad99187803aece9297316783e42af9350f2b6467ad3a69c373f2874debb1547fdd3813c800a3e8e510e4702a6b89a45c30d9a70bfd51eef91f2c0e5fdc5d1e3c9a3f6ec009152df11949c211ed997e72b3e4d8e5c373fbffa35c58ab0d16d55c9e78fb74018eb2b4d48c9a42eb520deff29b6d83beb8a7c726e7eea47ee1ce3bbd7b2e5908385a3355a550bd51fcae5703eec6c00ef2e611a0270d47a6edc7a61cc82be40f3c743e9883a23318ab2af681b66c48c05d57243c3873d846cc39603104e3980a6f5437cba561860476ca10d5261589256c90df61e6549d0e684130965e7f19001cdb6c5b8dd53856e665d0ed4199e8735a0ff4512e00830ad3047d58fdc1400b2d20a5743c67d4b48c6f2e181dec995e32725e7fbac9bec1b06214968bc38f00458366bbc83eb67eb292a0ead87bad4574474f12925bba1839f54595c7410c0f1c99416023b442b6b64a620cd2ae1426ff66117d047bca6c0d0a23ec7654390e9c8535208b1d986e9c0b31ac45533647e9ad38af54edf286f875dbad9c81220e46f179bfba0bc0163d5662941e1ed3ae068d8d10eb50ee90a2622be7c28dd905500705286fd75e052a4ea8f16d7d40d0ec02d1bf3e3f704d707950c347da1c06e75cce7603dcbdab9950e542cf0d85e662a65dd3bb7cd5ccff263efcbe090f0137b2e1f32765b9a1c860bfc978187449aea9c3813688272672da7bd967470e0c93d1f5055c3baad24c046b0c85854ddf3dac7062999eefdd610dc1c5b8befa0fd728082740451858afa55f919f3d886a165a55f595f58a9b3576aa7e8cac3407443c7a24eea72d482ed7785716356f595e213e4d6e86e9b1199a35d6a45fa7036e88a17bf67b8330281e4506bf2e8747732b588c7800878026659d76509b180609e8dfc1498af10ebc1dc2c5b868dcd73609b167d344ce84b3fb0b3729ed7701475f3041091bd5a028a8360640b6cf9eb6afdd135b109b36f7c0e0da36459f0f97cb0d9f47b7ed29aff635111f55beab9f0b7cd435cd90c4090900957f6791002eb4958cf870a3171e88150b53d33dd9424d36d60e5d68873005cb677a68e701519f12146c10a37829674f310fe4001fa7166e1437cd3a56186da89342ec130cbc0ac495174b066ed728609d2e5b90aa2fda8faa35f81068775dcfee900bec08cd4f4b0503345b3b63643cfd86e9dd2fa57727f3a419e75e9126b318b2d867074b4b0bff4b4f273a8cb4610790bb11c235e3aa6bcd17c3561113f7de84d17c02815ba59b239cfde8dac526c2e413a3b73c901c65dec84ce648d3e36c6832150b0f6d29db9c239f430aa409289193f4f900451852790ade11eaaa70525057fc08f5efa50cca31fbb66256614e098f6d3b68e9db5c809f929457be2652661f6e06f42877adf5d4660bad08dceb47cd96540f4ba7ea97dd8f612ea64b2cf2b37f0674d76bb08907c6eea16db01cd4f9331524961a6902f2c1de93916dd1372d0a00a4ce251250eeab2315f9995170ce5344dbcf109559502de0c2103834ca025d0af004e7379cacda2f45cba945541d902b976792fe6212c25442ab89f41c3a950720722244da59b39ae4360a836153a9ade2f5c6429d86ac918301a3aad4dc3b08a1adcaebe7a77a756ad886ef5a3982b91a675cd093a9ad39f4332f877063a5060cc31ddae16bf0d4aa32e81642ccbf45fee1df18ddeaab13b53545fb4379c00358302867ff0eedcaace078fd1e9717852a050e38f8273ca7289648a9f77094025d51bc174cc0d26d4bcccea29ee70234886acd7502a2982e0b5230d802844c0ddbb4a8ee1e183076258cb9492b6d8dc9330497fcc2ee17f9e305616e51a0470313b587bf67d56d33230cbcb51a6f460211118655352b47106f201044373a220fc724bfb94e0d2545ee799fae0e05c17a4620a2a854380581b9500ea69ac4b40f2e9b23fae0317cc89c1d52b04f1c5555e99e6d98218482d29913df93d5933e021498615b0250896bfefef586f0082191a7a01eda1988d9be68e5e31b6ca760094f8f068785ea4d244296593f1674218fd153da7a81b05e1c27a5765b0d8d9b0681e4536c4327efff1f95083cf2b2975575433c179c6e45999dedf14aac3c7f029b836c0d244fca5506b35a10482e98094b84d650522fedb184669ca7e85d0808dd77eb2c246383a629e148aa00973b59878a4438c98c9fd245b8b2d389dc990aabf7025d676df388779ef3a7de53b04f3df24c912f5d971f5404bddfb8bcef094cb5ec76ac02988647f4ea7550899db0ede2d624f5c632f6c2cdbaa3cb75bc0d5fddc3cdc8fde4e3896c035e3188b0b23f861018c5653c9fed10aa302b6b750e3951c8a63f886620e46ae2ca6cb6331a67428fb8785f76545a804f7eeae1c503b317f57f8a23c0e34aa96a62437b49f971b0a4a01af0621444418efa083e50009a1a331cd5149c03f49607bfa775227f38e671b0098c86a069334570036d500edad88e31457b8d2cda03b582b9a1447670419461e15e8b867e5023c644e97000d34d96bd96cd58893bcad1c4eae649589d5c9a99e3761c966c0de1ea9eabae0d320481ec2e78efd8e8d01c00812ce76846e73474477dd641f1451f6155983701c27a07e681b71907258046c5fad79d4072b5136d361b9d5aa52d4c977278c300a48e0d6a75d5dfc1ef02e1e170095c306ddd7f5093a3067389c96506e3fb9b07867be848d94be49d20b9ce98fdf22557542bdb991d44b5a422deeec314288e06d1a16b5a8cb6261e662aa48f695653cf22e8e662e8e26c2f9887aac6e9d38e0c83416761ae70f690a7e5542f34e2398c43708ca02763ee7ad385d0707a0f190595ecba0e7d672872a02d98912ef580301883eff335b503443dfc30da4c0cb009765b20e7ddc33b82d475b7fb6c54757bccab62fdb438efcd44fdceb90f7ffe0c7fc90d6e6d749f8da329ba99d38f427148a4e7ffa7862337dec5c56a7c7774022ec012ecff31668ef4233423e5b9c60cdb2bd1a2b9b64aacc51817cfa1df8104849c49a6fd8201fa616042c8e49fe7a3a828aa5984a856f14fa48d20ab7eb00b22cff1994e3de9804333bbf4dd44548f438c0b5c523c7d1741eb54c73dd5a90f1ac991a4df718f7c18f9b801ace0e27e36e388de596e4571d9305e3edec5e206cfe55723f5c1f967fa2e73907c69826b7d9fdcc217c9ee133c6357c03efe920005de512e1a2c5391fd2d5b12a6f6827b19b1c0e782e78ff34e095074728e0a096ff087104ea40965a8e801f1c59eb743f5e4ac4c5df5684dbf533534cbbed104947eb0bcac2ccea75e253365652b0b7b64c91c38571b961e5ca4196bd59d8d0a72220126bb4e9317ef607569b2b65b30d7fc0c3288eeb135af15315fd4f26a06b33ad3c5c15b5c465208f1b9979cbecd98db3b8829e1d40af449c09f2d5f8d02013c4f069d96e3fc11b886feccf2060e329d717fb5e581e0987f8ee1b6c8c80898ac2e46addda37f0f0c8778c6c53f7d17eefc283ed9008090a34c1f99fb7a0270612aba2683b81eeddc0126edbcf988b2b995c5f830564f81ca6eb0d0f6220fae2ba37479e1c4375a637ea5fda2126d178f34f5ae56e26c74513630d305a2081297ad6d800c050c87b421a5dc5ba0c5167feddf8b8cb6f43e6f49c12fa106004d78a70012e642dd8048aca92f0b087637216b0c7e54a45e1e88b0ac06830601057b1269994282e16e39b1047f4829b77bb71538b30636d3cb6a67caef1aba014e5d3a666aae5444d203900f56b7701ea01582be60f1a892d1cc34fc05d3720e9b182294248f9ceed44a6db9c696ec7d7485c85dae637134417dbe02b060350b22904475e07ce61c13aab5854547e6a9791cbe2ed2bd37e573d5a824d31136045c9a069ab03bc57b24ba2ef1b3274ffa4d7eafa26325fa8f3230f3804193fe0a7dc9639143625af2a4138d47bb45818c01fb062f0de3a8c51ebc942eeabc380b873f75264a01cb9646478e9d3cfb75ca6f0e743293452f788862b785d0f894031ceb8a8ebc40109a2d7bdad4c24f8305b783331b146faf4fc72c2909f0f4fa0538ce8dcb962a5aa321b712403da31156d843ec3e37169d6dc5ff3fdd5e6eaf02c4c8a72bd87b7bfa55a9911f6e50526bb4167fb8b3e991e0dbaa8073847e500a7f5b69046bc09ca4d5179bfae64ac54ce5616e805168b50ee9f1f555f98af70b0713a86ef31e5d4be5593e90884ecfa548d0a9bc4fadd51833f09ea4e322610e2c8e2c7fe250e37ae84a8610a80f0e3109fd2733c6a1e687886e4d2f2738be0538bf1995dd98677ba6ce709183dd33b27f6eddc1f41b4d555c123e2e3c1166017e9ed72c88ab42afdec8d3a5da89cb156ad50219603df20f3540a4d6c38987028d1a1b84c0d5a5dd57a5889fba22e1bdf20f8c73c965ad65dff77577533213029478142cf255f67b9d811daa41c62ef69d8e9bf9b34440a6cccf5f992ea75608c7ff0c61ff6d36d9c38c32b53af11e80c27f9483612817c590c25f49d40e001bab2ca8ba0cb7a37a17ec5c49013935603b4c95aaba182356625287234efdae07f66089d404799bff7411eaae70c9606c9f2c944073cef34cb80e9197c513c5da49ee5228cd21231618d754ffec5375c0841b298453fb60c8d8267e68a0839eb8024da605b3f25e1d18a388832f9f383ce2eaedd1e451715160e5150fdf57c833e462180155e52e12deb084aea405231749dcd81a02b7ac8bb50ee41a925fd0f17bb39ae1de9b8fad0d783fdb30a3c2b26f7fddb6f43ddba10b578e7349c9d26237bc16d11d00b93f271690afe99b02ee15e9f84bfc521d1ba4991f334bd4b929810cb164b60198ec7f6e5b6a811691971f2fe83b5036e23adbf1107b3d3448fe7a55e37412c68acceff20921cec42e24287f1bbb7bcb2dcacd4272035abed12eea4077d7059688155e442879b5127109fbe76a755ba7ca35f14164cadaaa92462181624f479dd17da2b3b47eb3cefcc9ce8994eef9f8ce363b29157b61eb8a343a092c578f3f6bbe36fe2a4b16209ee6748e7bace4c4750594cf5fc4ac12b135a36218628bb35819321528460c81cb1e13f64739c7d0a4a9c0db55c93c7f9ce8ee45bc4221415407b47a6a2d8b9a97ce0b21db13c81bcfa8f5852cc90d5a1ebd3deb2f597ddd6ad0ed29b01142f69a1781e4034a7038e7e9a363586e27eafc49f640ab83c4e3c001b50f9e1f2c61ae8599d8ad915019c57bbb78cf76fa433a8f047de56d70f93b6cb2069333ed855399cd129050ade60657fc8d06a0c9fe1eed5ec4adc7bb03b54447271957e80766e27e708d6e9fed2c52c644b2f8569086452262e0c87ac3fe793a07ea0ffd3fffb4abf833238d28a93df2fa492a3c4face5aecbdca0c2dd97bcd3a4605f0b335132adcf7d4df16257ab69fa3402563d0d888ad43d10c554bfe09dc86d506af83a2aeffc43dd7128e414a8a0fd478cced4baed698df41f628dddc4a56db079a6dae6af1f5af3edc99746bc3a7bf0c685fd41813e66dd6a8776b0ed1a13fff4f1787f2cab616d3d3ad2dfeb817dacc08909921db22003e1e27b37710895f929ad60ffb8bc911050fef52487bc38dcd025e0af3aaaba9ab4f6521cde6d54cc2f7fd691d834de300ac633994491987c95992a71e78d958a1f065a09289f299427d68a36e623db79c20584f3eb320d5a1eb4340caa46ec5809f3bc835137696268cb241c6692f76e4b95086fb3a8e9aa84030853695fdb00b4d93d21416d8e9a36174a6842e3b6240a17c036961a03348fd9a14d463375b3062e11b51b55333960f726b4bcc3e735ccd83ed5cde9f37ac990f8a40c62fe75db9baf500ace68302b5b35c568fd22a3b2a4d032fb0e28ad436a00a974618394a8904197c431783dfba6bc7551f07aff8593b866b5da5ecc71bd6cbef7714f3d61240cddf919d7d3d93cd75c79a9c2bd881e4f3af231c4a1eaf3e7abc2a7f48eff996051978a617f4c1f7d82e66661cb56768a351b2cf2b19f11c61d68c77349e8230443307a9b9329a939eaaf375fd6fcc6f3ad11de8029e0e3a4b16ccd700a13b9099d7776f322e19827596cc5aaa2e1c1c5b7a6fc2919937333fba6b6a8b638ddc42ac3535bd448eacf51e317dc6c123e70d3301c2cb6b4cf5432518ca1c13496103b5dbd892953690809f0e9be020a1b952b658123fb5e2c3052f391329e9553936ceea4af46f9218220c01bcece03bab2c0dc45f701e10cc21601b5de86b3fcc8f36bc84806b51deb8e1e8796234b015f52675f11b7f381c8ae5ad591035684849a7dc1322e21103aa2c121d0addce1f749308c051842eb4ae693db3fd31a577d7d146ab686a676ca4a05f1c4a82ffa71e7ee326ccb967b0356d4bc8f40e17539fe36a85bbb8282f442f92416c7c9b742e816d4be1784b62f4dbbf9d74f303776aa1b0af5ad763f2438db2695039761d910cf74f7091638863cca08852c3fff907973a81e18f3dc407ae80a02f5150e7dc5d78b2255607d65cd52f9c0096227120a57378e358207fe2686380c98a7f1caa7ae8ec1220ea174758f759aa610cc37561f1332772626ce7ec27b6c2c4ac22e0b5e1365162b14a8fa62ff6c862e89295a3ce1bc3af4acb619e6c9d3695fe8486613bc5f0683bafe8fb37d59496655d0f75fa884e8bb88e03f7cc64f811b15c3d415151973f16a13d651c767823575c18704c18ff6dd12620bf69e35e7eba65d5c706439d60d28b064edee10b58c053cccc9be9f1006a4b9c0b732e10fb77e2c5e6375e014dda114822c1cdc721bf1dee5cc794eb154a005d28b56db8642983f72696b961ff4f3da0ae3b4933472419e097383e609cd55fd3ed11d7bcbbb4d89ff235e86bc875d0d51a18ea6de04962722e50b11b574ed28456903b9f240f7dd2e70ec8aa162fa5564c4a0ce354fef216e7666eb30fca7e9bb3debc6c73816b355a47918269282c82d11ed14f45fb0d8076783ea911d1cc88430adcc74e5631731657f0902c01a1f5be772488cbd8b4aad49f5c26dfd902700d954c9c0921fc946e4191c63083991a8c0131b8710252c86fc8f0bb3939856785b04902cc4d36a1e7725e13ba56499f758677fe317f92b9b136139d161025b4ad499ac3541a80f98368d1ef80461ddb168638defe7b7ab7605f6ace09d2a358e7464fcc2fd155086c1f1473b4fe5222af7a4f0d88f8ed1f5f96077d1dd69802c5f7d1ed0b5e77b3747efd3988f57f862014d3515dda7de9069b4442e10435343c6ab2ebd06ff373916a510adbe2b1a161e21bb38fc0c9ea90e538aa04b61f0d58503a1711d4a026a6127a11870d04c7a90bfabcabeee22c945eb61cdda5fa2be5a00bf3667d9db52fab4b45c6885ab187db125f6ad43fcf52c33ed9c397b9450293b994deb7bcab6e5e86f3cec6f9f0b61d152a046da80628405503d1c71da85cd31b792ee09d827d20ecb36d5ee6101288fe4ff58b2189156a9aa9fca9f7424a3ae945c76790f329f117c88da4e2407871fd30b784846ff86fb3074eda89f772499be5b7909cf6ea4592bd8d70bc30d673355fbea94f3543d3eb161090528093ac4b377ef1b5a16244bbd33b1be1105a6f956f3c9239afb5452c53180be224b60c9083da7985c25fa07e4e689db4b04722c5a60060882dd1974c82802273b603941753db0d325c9b8ebb83ab3724c054a59b44e70478d53184098478e1613c80e1a90657677bc64c1f15a475a718d0b7c4d11c1617102f7ec8577d74edaeb242c6855722a3a263e6a893851f27a9c0ab765c1e098ff4b399c8351088bf9887bfdad711491aa68dc9d3436bc4e65a10400ff26a675e557ba4d7e531241fb5e37e40bf09c7e09ce1de5b770a3104a31086fd0d256a625b6daa75d4c43816834da86942f9486014b800d6aaf08818c920c3b9731586ae26392fdf33957ee5900f90cdc31ff27aaf02729243b4ee583fc0093ad0570f7c51b387b2d361bd6b23f2f3e26a2d738146f72d6025713af92ef0711e36fc831e41f6e2fd417c9ea6499126bae6677f403053b9f0cddbcbae8ae053497e24d7858b423bdf280b5cb7cdf47b01c3bcde42241e1da8b82baf1165a06e4c2e879421262712614ca57acbca1f45443b16c2cafc8ad3aea63118e341c04af19a41c5cec516e969fea62dba9c44f74dd37db944cdc8bfb2f97e16c49d30fb397e37684d750d910cad3880d714e27d1d6bf0c99b981e4ea7c0d6cc5886b0136bdbc86fd606f226910305681e73fb1a7a574bd8da1c58cd80146467fc84f04bb1d63af339edb6e81fa89488be576a1bd41bd466dd69539cd23446623c1f502f3afe909743a447fe731ea07d9f699f538b4cb29c32bf410482c56bb0e15010cefbd321d9f15f3b31aa3458be7e5496f3c2d0992472024dbc1e4667537ee03030475c7e040bf4975956be16874b9eb576a0f5217ae0984c3dd72a439ee41d405ee4a200f1824a163cb31bfdd3896cfa0b945b3458f73a1016b056f63791c14057492da6756a20c0c2c68c345bd02725fd0c17c57eac6823bcc08fbe9e37a0603eb8430e6953fbd51581762766f4186ec362c1922e69b38404e0760d4f9748509764b31f84683575bc0c94412fc18e9b34a3ff783977865a481f36f300d6252092609f70d93205c744eed64dfe7121f5b97d13a09008b9a065acb8894cd3f18056ca328f6e14f31fa8efc5a0989bb8b43b6020fdd20cad6aadad9712ced4e220600356129c81fd2992f03a2bfdf2e6d4b879b95e9028a8d117f450306af861208c9f61fc41f7f3bad156442146e7a8445f7921d15196f9638d964741b8f50bc0e7b9e4410a596a0a7c849d3b06ab28da6d4f1705b26b812b0baf3b6af2125420b06cdf678c44e181bb2164f4767c234636e02d08cf191293e87fd1a08af33b70dafe20fd7d0162049ea31a67d6ce8fa2601543e68d2f3dbc71f824c98cb8c4a0b828fcc5dcbb69b431511b8cd2d1f5cf5406492f88ca385e60afe2644ed9d9a0ef3f83548cd2f1f25a307664dd0185a4b4a55c515ef2e0cd50979069693a95b0aa8c68ba25ba1e78827412186a137cb7e47937c510ca5e0f2c63be4ceaff20f0f1b752db9fb87cb7bd77c9961567a29b2083b834263f42f263d58c8a585fb3301913ed8ab00b11be39a4a4257cab1485d590b17b8c8ccf57d0d770f95bf89ec02c70f4a8186b33f7d5cde843a61eb860acc47662eb04a485165ef5e99a81d6d0b5138b7a77509210e547dd09c42cde03f3ab9ec08824fd1da7a02f2ee5f091f01e8f5f8962b27f73289778375e115da72470d3c86e0c2f0d441f779ceed3255008f62838decc64b5049bfa18e25532cc2d4edbab0ea657921b6850bd97d0bdb036d25d8d523d7344ef3f15ba86dc08ccd4ca1846e627b540618f262cd7a58fd091ad0afd076d73e5b34437e1fa7605051d3aab9293e9e200bfe51d5ca2247f80b3cdac25af2d9d8985acef55f386f6280ac3415c02055f2224d5b934fa489040603fffa0899fa8858c9aad9f67a974c636b87e64bd429977baeab19ae98aa1501d342842fe4291832d4b8884cf1ff88e2dfc2986016f7d52e379a648e7a433b0e12b3332d6f62302ad31458e39458381f75332f245ab3862b5c7a754e7d182607569604ce90873da18f429860e0cb0957cd6dd10980fc5a197b56f94b2fe2410cbab75d2aedd3fb6fc135c844a8cfc53fcf359c3caf416c2cbd982af43c3a4c0330cb759162c709ecf73f2571ee023e2da2d1291f7403525ec461174e89aab800933bfdba9513ef0f98457475d7c4fdbb6c7eb360c0ea66660aa1176f8ad17d08c33f379688fb9347fe5ba41eb29c5b59fc88b3e9aa9172431f3c7ba97ff4b50267d63fcbfbc7c92b2421cef9d5a8488893a13b7c223a17052aa75049b7ad2007d3fb6dacf5ad6d96f71667199465bb2c3581acc5790440ec9faefb547efb810f221dd80b7bf9450fc016b37d2475179f62ef7497b22d2547ddfa97d2c2799808dbe439e4d1a129dd394b41fe53b5efec5cd751f88d9457cb415b8c5edcd4ae02f2a067b8eb8f4c2120831c0ba65b4f0e8417cc87a08b739f500b58aec1e27b0725ce020001020007e2a0d901e5f81ee48a0bf69362e7cd09c0d902d2b9223917caf1538ddb1225893a18ee79417fef0090eace5c067160fe162e27436ec5020002af43b9b257227497013da418b7ccbe40e7e766464b1cc6b12b01880d7559108f000252f2c52707b2ede65de01900f91275391e54c0774e7e30f2a1d8d999c87aba79210153edb8b15ce7aa65b9408077b8f25cdd4df338093eadef73b6b5d2b5e171b1b701d0f9c18c08b151be70a1cff865dd76645807a4471bb080c4dfb3cc37d6320366c49099f8015ef4ea2b7958552aeec6186a5d303f333b9907ccc0eea19437d3e411d9bf950878e6840317ef1b32cddb9a28c9290041a40c53e27889c84b6764dfdaf32e2503de7f3f76bc43cdba8ecb3ed6058be82fbe4d5d9926ef0be427a497c91208780019cb41a5303abf88d2e3402979bb6afc65a2a8849f3383b7c8ddf1e7eed57cd314cbfd2f4e23d7eae207906ee8200c31bbd299f91491757c3b11cfa099aca2318957f43862a7ce55b3a97593657a60417c05ff41d853fba6f470a0a024a87a0291927c30268f394f67224d0e35edfc41b1fc4ad0d7b59a3f63a2e6694c379d035d6593b67356b8f5552a84fff7482794f446f59276a61ac663e4af68dbb2220941b212346b5cf36314cc1d813d59b9dc60287e617a50d24aca3b390b18c43f07d89d4ce6b0220b1637a97bd1052a3c0c75f8723099ad5e21abbcd7717dc3930e98321e39a5448e3d75deb24552332323c9cb027fb24e3b0e9ed5c7d3cf5f9d0e48f928f106ef36eea0e16aa6a2c6f14afc4892f3a37dbb66883f0a58f219650ca2a6ec064a28551d6aadb68083841b7f4d3cf7728f5f1a34833c901541248e0f6caf74a025bad8596afb058507eef00bd5170564e3535232d5073c42fa6d6609ec40ae22fa7b05537051ab0f8810e2f1fca0163b53201ad159df2e8863ce8c0aac85d8eb08a40b7df9bf902a141d2bcbca37d5c0fcefff16f8cb6756be80840a55ef44c3b6b99d24d783dd684dfbce173f03800222aaaed8b9951f4b91f9af0f4a9dc29a1141c22e28de32e70e031a1f762ffbba13062d669ab29e1756ffcc0d3420bb392c36a74e23ea6166a053e41ff2238ffa84f32bdf3cbf4d44ed08a40a552114236b7475f744903e44ac09f0341012b5efa8274ad4a723441d25baf701c811f9fa3e0b87c8a630a73cb91a08b4d15a110ac7e5f2c38523516670fdba062c91fa43b16d46b8d010fa91b389d8d7e16d4374aea5f6e86ec80ef27a6f480ae1cc281205adf70e0d2b34225948df21feb675167e310200e8452144dbacec09eab6c667c1ad34a475db2b693466e14ce004d7e5d8e76baa33c218bd14fff40f2fbe38a95e766fb0b773a055f0b6265601e69ff2f1231227ec403e3bcf8f2500e273cce1dd71f5b966a944cc89be2b3c80caf82e554d3c846d124d7932fe08008e3c9e7c2174ff9c8472397a2d65b2e8009fd206e49c8e988cdab60512d1200c7e2c300d7175c96927df7b073181d7c3f016df26ed118e2a3ba004398b1d4a0f212714c4fa636493a03c488bfde2dff6bb2eea4b6cbc2a8a2fae7b6f2c4a6f05622bd52bc84f1b56579bfd87666cd17866bba44fe3117cee4ebf9794795fca02e7339e1158dec99928095b2d78d0a85e5525125558a3c935fce3fd13ac9d590c9e05529ce725aff0522283c5c8f11b1783230bba661a571ac9b57335470bec0413e21087e8e9858954e4f766681ec115b0d80b879ee195b4301bf48769cc5e0170758f50844907a111e3997bdf3c302a8fab47fec4021225582376335665960d8d8744b0ebbb0413af32400b8bce6789c26fc967db0d88933f484c7d252c5a082256f69751cbcf2a0d0b4d317f7240e0bbdd9b1a7f887e671e2e8b1d035e8201835e9d2c93b0c6413a72c525f957cd5e292dd711fd5fe991331a66a76eb4290b254559448d16764e09cb032bd01e4112ca9e446da346b457822e57459d5b260259da8be79c04026d728f3ac8403fca9eb0e8eceb214ff9d9804326aa02eddb0bd1586fdc847a6937f36d93a2168da2ad090ffeb2d29fa9b7005f1b5a00a2c201c9d01e64f5633b93b4378afe2302345f35cb9f263e4ef2ae08cbff72e3bca40bee33a74ce2704583e141dd86bc167d447e66db29c71f9df4d2e7e6fb86114401fde41f7c3b8cc40d7505e541cacd5bcd598831c01b81e582b44575a1ff4adf02e21b4b148953803ed9bd933a6cc06fb4cf5fd77d2760268d2dcc13c6a67b9a08230d39020353d3d48aa6087c46798904a1998c2b6c6b024673118d1dc3d74d0183f964fc9b1f008bde302153937fa698e6cc5552d84d920eeab885190884d9093946ce1d8271841b82f0e6fad4b3e2174ddd713b7e76127c4723ee8aab87b709a1e013e1fbfcf5fe0488398dee40816693fcaad3938b3c3fcebd9d63d59eeb011882e0edbe3bb2473d228392d729a81ac4a929961f987ef4159ba8ed238845008cae5e8aabeda1c92c5af5804ca7997c151a28c10ae6b34d1fcb987b7ccdcd0664de06d49a907ce15644d61704f492c5e5657fae08663263af9fc23340c46e0a8d0098c75ccc499dc993ae97e9922fdb602e6c4c8f70108a990839f12b51fb00330323cda4ff3f4275d7a316b170632629059c7a66c16e0b83fcb3e9698e37009226247665ff0a961223d646ca75f927be37af5ce68fd4bc42106c4aaaa3030fc304f094989e82707adb843db0162f8892250ebdbede95b4e14821bcedd02b08cec7f35de8c856e5c58414ee20b0f7e6b1d54a06fbdd3b9ca2dd3971efad4c0ab5f9f5a7e7baca55bce731eb48ce2f00b5567e6ec6350d26df30f4b4588b38097a660b9f3b311f1cd3cb7e83d4f616c24794aa6f8272371fd0a2e012c190d10ccc852cfcd1ba9b9bb605063f8d940b757e08b7f51f7118d95d7762bd761804061cfcffa33f93cd26511564c64d1eabec330cd9df93e28db7630cdf6676aa8b0190f85402d5a94188a2c9899ade64339939fc5f59b228e05cbc13974558258506a40772077fdbc03fbb4b580a0944598ba438a8857f2f3dfab6d6531dce57d201370c2be6f77a1c48e1c5723bef958a5ce83bc4861e7f9d11b8de57ac28cce1058df8ce34bcf0052fb6538fa9e4da2112c667b6d5275be2fc60cdcd69a5bd87038b14488d2e161def304315c7fd1e5a43740cdddf7cccf6581c40bf9d0376bb0dcbbe8cea1fdf33371b79fb62c2ad0390990b1460d9a3ce2d104d65c3a31f8907eb0b6edeaabd008a82d5e6ed5f3716aff68c015b2cfe13f9bb317a987cd7830c5244aaa5d4d3722e2f678505779ad036b0a217d62e707a8cfa58b29f0b009009ee976ddf16ad1a3ae3bd7f51b26ca67fdf30ea67387721c3bd38ff01d418e6021ee51f1c9ad814c9755b3be62bc5d186d4de3fb830822f1b5a8e92cbdf95b20c77fe1db5d4670907e1f45c3ced12a13a8bc3e59826050b988ee2fe9d1517dc0e95ff2f8434e841cde46845f67d1a49595cab8f32f5e532431425551185c38e01af675c683c03e7e71e2bed6df54b62ab97674ce292e94970ab50f0efcb2e220d22a9bb12baf3fb24450ccf93d60cf350824b29ff2c8d45874cf6bbe0fc9f42097fff7bc62e718e88c8809b7ab2cc3ce50f04103dd9a8aff7bd0a33adf32afb0a65dcbcae28b0c7e9f497416186b5618997604f7216a8e541c3e1c61bf92fb507af94a565d930088c1e1fb70ddbfec8dd486d4694f963303d9266884d74855809028fd1b3a85857ab8c1bed54e8f2d7b64e12d14be06aefb2500bc6fb6d603b0593916d1e915fc745049b2a3e9842e6d580e570b4b15f24d04e0993464115ac0d6815332337338d1fa4616ebb8095ecb339ec34a67400f6bae9227f1fad9a4f0d5d7a3dc68313c50f51509ffdb7f9ce3474b1497a478531b634b428647ed13501591cb8e277886fdfaf1d4252e1f3c46df765daff1754b56641a6b982a2d921083f7c996970c064bc45bc9409e8f50cf1be1a8d12c500bbb30793ffaa539e6602fad0650b48dc8e0c6ac58a132a7080351287e1928ba87b51d2a811a5744d540be492d5c7eed91bd4e89fc9dad0da5ce5216a670fed569fd9f4fdbf217f91420f32ff1957ebdcb1c012807d40ecb96df3d78ade1a0596e13081c6c7a35d1f2a039b92ee56e0d43be68d6ef6663568b668bc700bbda52e96a912c0fb3ca0a4930979629cf0b32b09be0152bc466bf6215b95bde4945aa094d71ef447e90be366051271c0b095a4b6cbbd7f3a9f3702c80e8b8fccdc6a3393b48b8e36a77110400a3536521c89d647f3d38754de60258f13261d29911322464b67f59fa959bc9903670840b40f432688ee1c8e3fd7f7377868744c9fb711c46244d0ec4133625302a40ec11f8192798b288b266b151179bdf2605e84bf4d786bcc1fdf4e5d7d11064bf0def486b871baca00a43fade1035ed7787a606b5d6cc45d62702af456d50d46f8587681fad69ee21943193738df02c590b23a5a8aad005fbf11d1943e5e032a576f0ef9b38481479b607c431df89e1c17dc751b49b5f45591be5f16482201285cafbf507e4aed5d0f8edea90d3149f3026e24b2b99970fdc3c1fb8b38c40c1093b251c539992bf17b17ef1316513be5cc5f1b56cfc2fca9d9c9b8b038630156db69e6d68aa2a876414cfe23a156daba661b512e9d425dceca0cfe0319a204f8b6fbaced23ec92e0614be9c3422a4a993605922022de06fe58c17cf448200c6149a7581fea6181449371aa53c8b2733450e11068fc3b28b859aa919b738b09011be00db87db5af770c248024a1f8b6168be4794241385217b6504ca5a94e06f002997879feb53a73216d50a8dc088dedc01a3ef9948d04755618d8e60a6207f10cb579fe2ed33b8bd2f3c492bb178a6bf657ba253b181eefbfc33b8c1d7b04fe4ac18a1d39aa9ba4e8ed1b8f01dedfc9af499fdcdbd0e01c8db3c7001d1e07f2c05597cccb606cfe8cbfe7d0d71874a10899d8571aa538e05e2dd30b01a004769b1cdd91175d7ec7851ae8eb37ca3b33b61ab3f4f2068e1562baaba80ee30a4e9f24947c3274ae01228fea3f040cb69404db7a8444c02999e8b51d795f27022769033c97cf67e8f3bb49ec71def83d6ad9c41137dc0e385a7742e4c3a990080705563ec0be6b39bef9cf7b142772fe3a57ea235fa564fd4c97d6048b79dd0cd8761a99d039e69cc579d0d1ac85d4f616926a193c36e84bba35c374813e0d0732583a2659f01e5f0c9561f183bfb5fc4a861c5fbdfd3c24c5bd9bb584d6e7037f286017648385bad2ba2b09019ea6baa4168a99c8b4517469df032959b3170cff534cdf2886b0c2c0b43988538c59dc58f3690431ecf61f9d44f65752621e06d446b084f54d0c593e78b34614abae7374f7f8991bd83399afb316b0b99ff008bea3532d542e152de890d7a71dbc80776299651d4a0204a75d6d9ed4dc23a0047304aa701cf7cbbf8c7de018854e6c819402dddee3cbd447bdb1dcec2a9c130d1a2bc4536b7e59c7a5fe17e4da2d07f6bf89f8ec4bb3459cff9bc5cc14edae03a3e58261d844f1d4bf965c2c22d452903924522f79fbed55c72c0af83ef8090736a3fed47156bbe0edaa7d4998c987c33b127b5942fc23be22d3e7ba0b6cb30e978a029ea80c2f302c0ea4de229a5a156c0b188e59285da4a7e76ade01453f0e4e0b8b2c58aed8d623b2aafbbbf7d9c0a68efbbf1d081d37494fbae3dc84f20466f99b65983886441dcbd8f78150342a1fcc7aed7212d6e26c68a023dd35ae0d21664181405df5699b04bd597a4f974edd5e867d0d3df41a60c7d77f97984b02d3336eaf605a0f476ac8379a057613fa53d2ea8f3200ed406bc36ea562fee40b95a5a461bd42a7b2f69a762f79e2962b9d645071403834bf230015715f098c0d10bde5bc4416a173cfb147a67e7f8b01b5c93db4d5144f1e15aa7ebd0eaf89083a41a5c432fd2b38c1f1436d5bc12bec1b63100b19daeafb2d7dd050871fc305494103452b8b5e063f436944f8eb0dd4a6883c4ffd6d6ec41c0f70f388601d0568268cfc616b08b9d75708836f9fe3b3d24b83c19f04078cf3ee3e8d42663c0ef5d1aa038979532bbeff2bb2e08a9e4f7d4e6d3e90dad358d5f6554bd1856d02ccd3f307456e65f78de5d5801e78855da64805b6262a1cbce4aeebb1860eff0402ee96891b3e2d3307fa369cd676ab29fdb9a39d3dce88031c5bee08d7568108f65806735a0945753635ab485537ae19a7a1e798d802a19712cacd9f0880510ff7018c79aba18420f2397c3dbaa4064afc4b5fb5370d5b73ba53915a9147c80274aa54511c287cc9803e69c29ef2a5d76ebb5766236e2a8ef03188c8e9fb42274f465dcdf6256b87f89252e105cdf6b979571cc1d96df889614561b39a637b3d87a61c3450bd4549aaf258fb3699141ec424c157ac92a1d82fbbfb9a82593709789dbe741a0b03971755da117bc23159c6c0da8f1d6147b90536aec54359160ddafeeafca09672efe57bd5a0fd1d971d541765eb9e7e666071c15ff1f951617a9bd1d749d924c887cadc2228c53a55a3793410c65c65cf187b5afdd7a2595a3c889e4c80e2b8bb2b3f47289a506a40c0588840666f16d20d9d3bb14466b0d4bd7151cb9ec33bb4c662d2c4fc5d153c4a5c9dc342400ad225790dbffe6b94cd2bdfb74ec6655b5afbf6663780f08a9612eb151d8694e5f1dfb656011ccff8270ff74708e87235a800964d378ab04992ed4c842899b85d2778f6d38c378aac33279aff6012b94977c618a2c3018097e6c70e20fe3ea5ac32e027b598f6d6469e2c4b407318b63b63fc03e71a0ac900ff03492bf85f34c6a972aef693adc015ef2b0c7c74b4ab21403529337ef6468681ab9fd6efa1113ba72a76f480c39c3b08d81ef29b91ab879a3033523c8757918cb894d5b80da08091d3493c15b9f3a5bd40127826bd3724d2183e0a05db4fedd4b03db2c04d454e0ebb2c1a54eee0dcff611fe5357febd1e9886a675ef367d3a3400a2cdec3be5f4d89fd22c769c70acabe215e5f552007a7671adc4cc136b0eb59c381f37329234938e50020eadd6fad113a100285eed6393c325b0d63de18880addf5e05e63b95b8d2eea262bd67c5b0d2f7ea3ac1921195f7a1dfbb3aa1d22d6d09b6fbd22a58746839684162b5eb75fb85f3ef96c3fba9852fa953d1019d2ca20ea169f3bb5dd622e6224c06253432407cad350321e37b795a09a9f8b024d2f408e30b55f15b229fc8bdbbe5177c3d88dbda7286fd44cab3bc5008eb531838672e45a16f6475c1bc666cb49c1018ab269bc95d8860b15e723f607f6ddcd21f6e88a11e13b675cd5525f5ee2f125bda6817a41b5da86cb94adb960b00f06798e17ce983f9d3b2edb06f7a37d665b29a5eb63d448058f880432ae37982b0bd8957bdc6b2422b2b533477053fbbfd89ee9d04040cafe769c78ef737f01d91a332dc0b6315cd0ceee390856e8062206f7268a26f2cece639c88234bc9cd8c3bc16717e6a541541fe64b8159cccc0c2d3d4d633c720d9d27f0a1e1cc8ec30ac2a186ebdc3b11e984aa1f8bcd3e3520f566cd7e784f8d728d95b91a57af3236bf06011eb8cc6a084a1e4a6bb2c05a41344bc37da39f401c33adce02f7526121cec50ab07dbf23c2ea4134b5d077250b2ace42ba690a9d32d08c5b86fcd7d2661581754b23c809d7f14a00e1627925e6df6008f3acaa8aeee85b73523a4249cf6ea804108114e2ba55cc1f2f2bd7e685b556f873ad72740a458d065d1282f26cafb35a6ffbdc2675bd446c58e1037b52fb7277d4d6699d061aab274c7737d6574aee02ee2625403e7cea17fc7b7958950cdca92ef9c88805a13eeb9b1e37019db6c3016528b4959873cea886facddd8220f980a1da18fee37e156c8433853eca4168ca9ccfd23a7b33b26b5c4aa0f1a18f322fbfb8727c85faf3d1f0dd7c2142239c1f1e58e1273f63d5149e9f03c68462f73338f16c37d12b62c33701d34adc64f0f18404e6271c276d88881d2d55c02605304b626bf85c1391cff190dc4c9273c7d19e4995326f56e89ce3e4bb595502e5e9a0a4edeedd96adc7a8dbec1601e0ee28a7e8a5726d87fe9b2580100c46480ce45a5f36a005896d3a5664b74df36784d0ffd3d2bdd7bf8cfea1d52f0107795745e36c305db69cc334af89e6a817e0a48abdc0256089fa3dd972df81d49d951e40a5c3a78f0cc067b90b65fe500a5206de77d1e66a8a92c9e8be83301d90d6089555dfb73f74729f1dbda89a46a5a32cb5b19f2876b80c76cf343ae73694610f19ecca005a3025205e99494dacaec0a59acd1d27e734e16a9195fbb03b17722595e62b428cf212656c4c934cce448021c6e757b4053701ff1ad053bb171bf37ae17fe3f022b83e1cfaf7e027f2198e61666305419970998206e429fcd838ce0452403bfca653fad1da818e534bdfd96397c99e4e75adf54a2812f9c3ed334b30c0996f04e72df4c189b5e00ab865179a14392138afcec32f61e1ec96463d6c81cf29c17ca3e260e2a37763f78c60a782715622c8b5765670a4fe0f6a82e73068a7159a8d43bb8d58f459d2a55949b25d59ba54f8703f117d71839bee7428ce087c6ca327425d009f70a804f8f0845ff66021f37c81c615148ee1703951b8f13003d162ed70d49bd07051d9799d558f313c6ee4c84fd800201b7a8838cf58a909b33a539a0ba9f3c8a3ebfa3f115b399a7f5cd67e0501176bf42259cf2abf9472f2020e68b3f883d2db12e32c53a0faa0eda2852edec64192ecd5ae1163c80531bc1607981793895140f5f7816c85531c19267f14896e33e4a0afc7aeb6f9d3fb4870c4cdee843ad1615e9d009483944ea7d344035b99854f78d02b6bca1f2663c4fdc86254e38f4dd531e8d07aa4c49740fe8dbababe0b195839b3cb52c4cd88966c8f4d066ae55fb15f799727ab418f377cf3b09066773457202d6a760649253b6a4adb552b1eba7343fd4fd96b0898467245257a2c5908dcbe09318b06c4ac8902551f0870a34bc012dc0ab0101b3b8ae67329595ad3e8fdcceffeaa953c67a00bfa6358f2eba42784056decdcf927aef26ad765ff8370366a151b305a65d4917c28437fd955fc4ce4414be819bf408c571451911206c844a4415d739b900399d36bb3e31c42bc42c17a181a13fabfbed4a02ca4026a57f981846b92fdc6008fa3ee13521456da45e8ba899613992e0f366e3e5c1afb17ebd7353c27e931da0ae5e6c3753f73fb33c75df5e0b22cff3c4645e7afe7abb7285353351d99a87106192c504a0b77c8b0c9d2b2a191b4b529635595df0aa8b45028811d0dd2de480ba9a4701a935940152161a211a90cbe86d98b75f509718ccee8913b3c55486e034aedfd6cd90f510828e530e7f035b6ca5606e0e61a125045b9dc22049367b0020e9b851745da04d8d3bafa0de73100219b961f2d2f2b5c4139a903a1a9e24406cc165ec735ca9fb6c6b96690d4a93b8ecdc9cfa963bd88a620610d9b44ace80ed1a11dfa3642349c54204458b2c82346d5df2fa37fd86c49b58c746008817609d8ea857af36705f2789deaad7a812a9afc13440802eb02f0516bd6b1678cad0f2758a0996f1d822d7e58c07f32c20023135defc784e525aa6751d4f46f31c80accd887b336a7c192664c651e9a87610d6fabaa4e4015824c52c6dca11a1e4c00e28c4e33fc838201b0d01a7849434b7717b9d9c9768a47c5c2ea1e219d270b0e7d036b430d88176cc78e2e7871342b3d9c816cd03b53cc903e48ba81714abf061322f60bff454c71d560da7da979a74541d754b4098f817664dfbd12dd5f7a0edd9028950d0b1ba563816847ddb4f34b74a79a21e4541b459cf1657ffcfb2406e7a557c49fbc9dd45d91a843258c94e2c7e1b76c927897f4c5fa814ecb66e007cfd87bafd778cffbb6e44ec90b88d04a3b0850d595896ff4e8fedde7afa9270134838c1d728f53d829edcaf5e74e93b5cad3e92b2bc4d1fe0cfa4c8fc2ce15018a2def127019d68d83b36cfb6910653c7840844db16ed90738d7430874d3d80cae2df323a659a969fe78946ffa2ccfd0b950bbff7b8bbe6cc8c9c9b9859acb02ca8b724a420abf090a8f031938ca40279a73252ad3030744167eec68a51f310aca65cb1c6a51286bfb71f728465e756d6822a80937db2451ee79b9e21912cd0e8a5536e220d969a3eb504e40642d7cc6d22a788cd15095562e720f3679c28504054798a50257db4c43d5375880d90d12fa574a3d81ff2969840205747f782b049933a7fd8a18fb94b302f0750467d32f0743baa8264fcfd350b8bddfcba29b0dc431a84ed571e49404710f8ba1a771e956c1093686d2293b6e6ceabefb461c0e6a7bbf77cf09881049ee1856bd5d2c5d558deae51b8488c5c9c430b191e47202c52f0dabbee80e4c14e028fae8646c2c5cc0d5946659511796e37ad1a62cea0feeb879b223596c9122a640561608ac82b0d3a54923a3f8b4e7acf73ac1541b0d24de57e624b346b7ece1e61a89119c6e5742df45d28a7d27f0be2e940970bb07c449deacf9c9a0c5724c085989d02151b2236f8fef705d5b265efd0268e4c701d60ccbaecae1ad01a629d007cf4ef99ac370137891988aa026c25f08160c4c0f4d2c2f834ed8b6fbb98fb2bb24ec5bae8b87182144e8580acf127b34a55d77070c104089005c3f0811689fd82368ac8a832ec1ea517b6f0094d279f15bbdd307a2bc433f88e3b5a49a16951ba4f7fe4f4c754c4e7f69ad3cb22d5cc30928af0e95c9f2b5fe7e9db0457379d95319969ca9af303105ef830954463a3351a8dd03edf73edbb946aa25e8062a75a49ba16ddd0d3ff71ebdc561ea00fb9c0797440707cc7eee0a3213839d6764da2a423ccf4b76a7d65d19bee4df756ccd64a6620eacdffb6fcdd98219af5b90c216f6ff35c054d5e0e87e918482603ebb3df55809456eda8555eedf2170b8c1c45223c6f43e4d7a90d95c3f89c8411dcdfb0c4e01231d5be52861cd3faa829d931217bca42d737fa8322ed1efa8f1596e5003a90b532c8f0ce3ee6f199fc14fe1932a592a9cb82b6a727c69659337d12b0caf3602e687baa4ad0ea8c255b385e385e2b3fa0bcd1f66c21c225c4a3dbfdde20fcb0283505512e0ce3b63607e2a1720c971eff21888b28c30d4c209194521d1fd210554fa62726d4129ab539e05836f41b36367e4146b366269c4f249f14229194c03aa6aed650ec38544896baacc4bb37b9ae02727be66987b5ea4c8b4a148e998035ce77e0586275dd91878ed1373f6024b739dc42f81e89f9241170519746a980fc1b5b22ee5060af0cdea39333a5cb57c7ce7c5b962cf13e48ab76c93b1622402d88377d7454ebf6ee6c9ab37a7f062e1093399e409d338b01e4782314e046b09f331afbd79b1b9fbd818cf26e1a8b475fd1477ade4243a2343965571cb8b3a0ff3fabf2c999ef2262f528765e4412c89c5120694dc8feae640a713d1bce4b20801e713e7fe3f6e8fe8925919ad694fda287f2cbe6c73caa57856106e9876b5038dcec2b30a144036c71ccdf003457113f00f0efdd7b269affc38a06cb18d590a96fe49574f6928b535dc60e66983fc4ef291a1c9a497676fbf5f2554fe383f00e3d3b486ab82d00c1d6a60dad892d194341edb3f4624e08657ed9447ef0a2b0eb786deaac0847804e1005232f1fe78ba7a3e1c4513e36bf449e2a3d3087448011003c544d04ba6766e8f9c3d204e9d7ce27e358a2688960433557e1bbd0e750fd9ad182d99529146e8773ac05b09c3bebee6d57a5c9dcd065021891660f23f003af8e3fa9183dc73335eee21ae4c5dcc0fb2483e7fd651cf85660f88eb8ef9083390076b66f21ab90b9070abd4640064668a501203b1a444b1ead1ddcfd97a020dfb5cd69bb478d904d5de48f32392e007aa2ba5737a4b926f8da0591a1846061a6dc38260161ade722cdbe46d666704985453c4f81940ded5ed0839fbe10d05fa8ef1663e4698ceb587da9ced39955456000f032eba78b3dcfb984ef783ff0c3031734142ed603ca3e428eb9e0da60e1b524c8f06ee799f377cf7378c99490ae13250e89bc1e605be6fbe5396847c0e48708c1e22ea0563a10f8d29dd6d640f5c0fd6d3234cbb73a1b9fd7e0dde43ef74cc1affc42f892170ff1ce25a07a7072a6af31ff414c885ee35f239ec7792205bb61bb4b937fdd5120a842c2675a1049e2ac818287ccb487aaa3e15035e34486c7ebed29f29c81f66ef0b4276681f02413ee911b72f4c8dc062c77e9e3269ecf99b443b470d77c91d8b0d6d665a4a03024d29b6e3b682658218cd581f505c70bf97536e8a8c304371d93e32af17cf0e422258ee249ea8706124194da50aad798e98062db8d0c06217230c90508f840afe6ae46e8278e94920e78a730f230cff7914dd44b3db1b7b16566ee8a03cd40a37f812377dd4c8b622e6915117eb47216b9af5286fda231f7f9a54244b7d550599208678b413f539266c65df0153127c44b4266e53ac2a7649847b6a6ad325074bcff90c45c67696ea19300dd6ca25dc99a7999d534f69bc68bece81a6f8a30f3e3a2ec7d72031de149a0ce2cbbaed8176024acac2102258156e1706c489e203a00389153ad29354f435028b3d43dd9eb17362c765ffd18bc7c2fb7c2e3e820031113bc557c1760c4d9a467099bf033a77a194baa51569babbefd87fd8284b0faa388acd0b2731032e1971e1c8deb3313d5d489c42b0c628ddb36ac90f2a6c0455557d633baa8f4a382b8b7a9846bdfc0409e4fb8a4cc263ae5908a0fb2d33079f54ba272ade7998b2acb8ef09facde755ac03847665151e10de16b38db82704b8a26c970c7b1f17fcaa9e7d050504feb4aad06618fd68d905fe7633c358950a7f6fca01332b2cdea6054639b5b3ed2449f24b9252871536d154f13c8eb95c04ffdf8e5938e37e5b3d2c9c7241c391d1903f567e471a764eceac29bcf0c8b60006c188fed01ec26223a7c89be9788b09489aac7af101941f4f37431cc55e2c0087292a7f3a5ea82cc4251cd8df53b4cb4fba022483eae1bdaac175c9491e470e9215df4f2ede3b44f755aff3ecd47ac347af8c0b239cc9cfa2232853e9f04307ce90209e6014a42bbc9635d8f36ae6567d38f173c68f749c8b12683ca1dad70b53cc297a95e098dcdf4266dea323a6d591697e82db206fe518463ec8558f3f08bda0bc7c9367c5d82d40039b649c6300b6225f8a5e282f603c9b3cf4c3b2af00d4107c8d2700f0315657984b61f831797ee66ebdadd22cc0ddf8e440628eb50c20b33067b2e6e76f05210593154881ceea96c2d4fd709535fbd20800ccf1570b150c34eb6838ea1db75a1d4a35025db38b183ecd63264829f9c3c21a18ea930bc9c3c7fd0a7d87b2cf33a037cdf784b8c8809ed99acd066bb3e9555681a3340af01dbc438d463b9a40f4dca7b046d849e8fbec16089c4c8c4c0b3e9d11cc910a8e82b6d2dd36062ca66b4ac19b12362b1aee992b3744423e81a0d674ee68950e21ae105a3e7355d195c599f612381e4aa44db9a35f93cc9ee5016c43145c0d0526ab41e3d65678df84f3a8dcbee9c21fffa68c69b9ef28042c17a0940d68e9011f1dfcfee5b02ed5bd5cad861ca32b0766ef2805d264e5710c0f3f1da3b98908c4530f888ca54140b5a00dc4dc17dcd157c89909b8b682d3b32d71d12034ce0626d9dd680aae96aa6738c27066b6b5c9b91cbdba45f147de64ffbb06d35d740fefa4325bd33236e89500487e65571546f223f4f6b76fdaa7bd638306208dca0475da64e27aed06c9909c06f0ed538ea3e29758103f923fa5f982345253752a0678e02ad3379d0accecc320fb55d24f0e49296e501931f79c31f64ae5742d8c0fe0fd516b3fb11430708b53230b021d2f301c5ffd2380bc8b8924f52772c77c036e09220ea80c58ae3c3584bff7514b94e1c9428644ce966f4badcc228807cf00b53943fb0bb21575a8b16516d3fa67018be3f3283d2b05fdfe33cc418ef83a00d7c248302e4317f27d369f8c61987cfd4e638421a1ee404cb3b9ccbdae966701da0a452870e3f50c5bbdd5cb8338df90462b42178e64d714f81cefc9cfc96206c6fba63b4fdaeb89bc8aa52a1b109f85f726527e2731fe547113fbb9ea381804dd4eb8a4792178c0cfdce0ff1476804537de667e021e57cc0e373aa4cb30e40a8d2ff5f9c5eaf4bdd93f5edb702448aabdc932dba25126d623b4787a737ef40ec7bde57c72066c412e4822d58447db647c82d9813f0c0dfcbd9bdcfdbeaae200a348b2932220252e18e8b2ff3bccc155ea47bb2c7718952c0c286b725d5e2301530062466c7d14e378a065243aa0554c41cbe761c429cfc26e787239e523130d88d477ec63d1307ed5c4f6548bdd290a6ff9bff393f5f3a6381ff69f9376e106150b9ed126219d3634d3646761ec4c25a1300b1ab8c525091ea6eb98eba53f018689fc6d8c91fcfcdba635002ec5623a63e8ca182852a68b48a56361436d59095717e7f5608d6b8a6b5a66618471f448daf2ab1d0d5cca7967a9265068c51e0432ee87b8cd1778c9e301ac0ff28fd9461ca11eeceaa60ac2ddf665d7ad362c025f8011077a551266c42a927f3fc161cb5d4e0edbace7399014a8b3ec0c5a1c095feb06a40299f404838f751fb4e0f597f222d77d1467de240420c3e1014a8e07e74f4456f3a6f957f901ad38f6cf59b73e6ec52a75de52f20fa90719433791065f5e71af4b5b9c0128866da6c052c9b5a7a5dc147efc6221088ba0279bb2880d7c01ee015caa552d944634ee8f205668edb7362f5ebc0d46f16f70e68f86230502d1aab549c1dae012ed9d21a356b619f6f755121e99b1ee6e26ced246afc00d05858cc302f998f3d4fbd18f62273ee8d79c2cef3b65802e3b4beb402804e302a9c5d1cacde2890913d49def6edec115382c3b8d66da59c651d85f70fe9249067113c57dcb8843813955342330c387593e4a1abfc6acae2250858b27fa2bbf01a20dc28c9b4ac8b5502d8e2d3006fadf4845d73d4c69f622cd0c12957c37dc4fb9de18afc5c835988b806e6a1633c677b473ef405a2b0e1f9aeefb685b2ce8620308bd87a4fec3479271b485bcce700a3fd088e6c743431460034f689354d392cfd2b27781fb5a50190b6d02633c68eacfa7189ae11487a84ee0b1b17a222587a3a02dac370bd204d5d055f3d47e8c3cfc3019437c659e4238f01b9f9382a3c8e33d4063a92c99c81151443a44954a59036bc40f5aa53d09b3fdac753e6263fe3bd88d1fa52fa653558645c614e7b84d2145c76144ba33e4a22720582f002e7d21e97df51eedefd574bf88e48d1511de4075cc51957f65919c8882d53abe6024797c52390d22d9d7e398732ecb13912f33d8a069b43187c3f59f9dbfa4a6721adc4df4d01bff7420369735a904fb06158ee7c7710552c14e93fa61045e8139a63a7c80e295175cf8ce91448598c43d3500e19da1c9ab7fc2a36dcb565c66a091bf3520e634621532ee05afdb168ee0497b52da601eb7ca32d41dab805bf76c11e427d6ff0baf94c52fc7f1a077cb893bcb5af8fc4c3b9c045c4af5ef48473b0fa97f611fd3754dd2b0a52bff094c6d4433936fd1a79c955f95f39ee6a3170ae0628563d988b5b4a20e9651123c6b4039d5ac6cf214588391fcbed2780553e2d70c1e6cba2ed298c1ae5c68d37195ec030e2d5c0ec5a4f64b93a971af2f6208ba651743146cf6288ec521234dec1a308658788b926a84670c3c71c84bc284d47be13f6abf60e47d2ffa7e71f93e29361bb98ba49655e269899b0d0534e99144978dd706605d965629298004eec76e75dfcfc038bce0538f630c308b7b830f5f547d9507300cc9c0cdb4ef55a043a48ff5ee8ab41bcb4a5040fe6f4bbed96e02b1709a06e4a57d46425766ab4f42be9d0321be91bebbd24694fac87adbe8ab841243a2cdc064c96bfc636531cfb6bb694c4c6e2a2e3032114bb8533a7fe1d2c967729564ff56c4867c0270861c5a93073b5a24de81aa92f1d9efd0287c51233b6d99f4b97eb294030d9774705dce5c2747e291e41477da687c1d1d0dd9448d0a4ae570743731b3038b251fe26ab78bc3b227a76dab630ffe1ad2a17cb2c22fc71139396a59c49da7fc27d82ed187d3e7a05016ff54e0b20bd041528723238b8784bd2a317f76cb1e85c2dac3f290cb72622714965cd66d55e92e8b15130586649b7cac4d154a0d7a37d8845d978768bd491100004326f40b9f377fefa41d6427ea31a7b5627c64c9f9f6e6bfd7404f51ca1251023046fb7ed37bf809c5502e1c0e931ad8710ff49a55793b66d2776623d1c39c72c8c29122499a202324c9a986fb9b285524a87a39341137cb6c4ae8ab3532662ad1ca4e64e000e5f5e0c17af69f5e893195a60e8d2805e6ef1c225b73bad917f90e5c2e435b0ca653e125d5e66b2ac54c296f7b7b834bd4b46e40cc2d52d7678e71cf4846044a9cd50bdd8c0c0e0313b118cb3eace3af4a5a01a3c86df11624716c459cc4796244fe215f02569596f0d9e2db2e1357c73721387d12fecb17203cc6f6351407a62eb1e8f0a048c9f8fadb838f714b96dc0dd69452353dd90cb1690d351fff302b13b1d5e52bf27caaf7b7c8a1386f9b09612074471239beee8af6ed3f93d92e47e54a71741d11b6426934c230191214e20a7dec814df48cf84ef3215f5c793c3bdcdf00243039b410df9d4770c1d266c424fc0757e51426064ce90ad1d35c5b37ebba8f18aad30f419e30a249e8cc9581db2f62a0a2895b694cf7fe91c14278be9e60f944ce320241413d6917828729a839677a064b61150220c1c72989794f770f48f5bc6c64ba1b3cb4b5d6a0baa44706ce997c173c5983585fead1f48b8dfc30d738bd3b51f9549cf63622addf6a643bac32b38da89757be1bf398f2635aa840937c8663d27b3021b9f881440e1b1eec049d65e3c7bcdae6ab20a875c51564a1d4cf32141a24f5bd6a24cb92193a35676e0d44a9d462bdfe9b77e3f8f96310ac97bcdb00df5108ed3d4ef5b6243fe0a6e74464b60a5fbc152cd5f6cab1d641b781d3021484389c01c07c8d8e7a66bf69eb43a25087393b5189761be799b03ae2aa5ea65fc7adf79bef0aebf851dc931b2290005e33be3291f249d3dd1027991d94b3cc15326a848dd92a9f34b53d91bd6c61c53c0658ba83c11b426079eb44306f26f34284c0d42d034a2da6b1008470f37db300d4e005856260e8dd49a917ff3f6dd29c4644af2cc58411838f622c8de7c7dcfbbfc62ef5ed79540aeffa66147adcf5f1dc0e783cca04f3fa719bc2cae60a1078182fb8b2e12f1e046d5e4ffa86490afb1a6a71b61d6af9635b91fd87dbb0f7f5fa34af4575e68e20858f5128e49c4dcc5a0b5e52499ec1a3a28745301aca4fdaebaaa6750a6362a68bd083e318ce73ddd68dcd8cc5e6a0e9e70d544ed9082b279c70983b9fc814825ac75282ade698a72df1c70a8883e6a8d73c4508b54c1d3d469cb34391abfedd8eb89a566c0106d79f8be92cb78fefa8ba4a89b3d8975d5cf4c8ae3618a6d679cd0dc82b93c4da267b03324a6f3746190656194cb9e6bdf5d3625966936aaf4e54ee578ad1e82aba97663144ef8af39ad38f4f28e5ad23dc8cc52919f3a80a07150bf63eb649d8ba2963bf43c150c77bb0178da671873fc5b1ff918e3fb4e5439dbd4510ba28aca9dfa25fc498def4881ac3fc961779890fa6f1e287b0f1bf2758e06f761df84f6ac2bae2ced27a9deeb604cc776562001a748f5f4da819512be3054beec9b4575e240aafc6d7d7543b9c84b1cf6b7d1f33f2a6bec05a8b51d5f10ef77d1765bdbdbe0bd8b7196b04c7f032e679837297c8369ba3af6c506bd9cf38aee5f6be0a9308ba568844e9fb3816873eb978d68d64f8630436f49f83674f37b12cccadb36a2706667788bab0dbf3006fcfd4421b3fa891c204fc93f1234fd2928b9952c594cb0a52fcae647e01d2a0e5d2b6be9ef4baefead69ddbd29e02d5fc3887c3f2da79034e9efe361420aba90718e0fb15fd6abf0c07514cae40a7b61f71eca605da330ab0096ad78948a10ecdbd4feedb03f95b74817e8c8ff1eb867cf05e84572e890e211b33ec477ec151ad10a7cb0ee3f3ce52592e419b3424b6aee00cb328213d08e7e7773066c93daba933a1402f85360d8eb289575a4d4550357d8a6950bd4706c3d5085870042441974abd5efb84094875372242631a86a2ea07dc9b232f490964c7e992a50e7222dc7d121b753824f1df1fb70275bb108e54f1a0879db9b70d335d5abd16fef13029bad158f8afbc599c2d2a12bc5bf9d04c40336de1aff40c002de24aeaa450636a58ffcd4514cd485268ab4a48fed1be1684fce1703e56047b13ff621039a4db1f991f26dee81cfdf83264ad77844135b6c3456b654a9d07ab97fa7a283c3cbeaa852fa8edf31984512466511ddf3d9a84445655d0b1e40c0c34c3cf114ad3c616dbaec221dc16aa211c79eb67f1fc6673d7fefd6dfedc0c68e6ed4bb2b8bca58b5014a61718484cd5633620c9d4f5b63b31b1b7401ba80bb1ce020001020007dba9d501c1b615deac2addcb15a29414daf911bfb24362d4035393a4c344e48386f0b935d4e1c5d2e0b5b6002fa278cb709252c84f3d020002f379766ecbdbf080b94ab1e67779b0c8c90a22c7917629d33d43b4cd60a12d1800024dc892de57a6e89de6346cec2283a71d1f8924744a9676a7afdaa60c291d460844022100b6677f00878a463dd69132cd146812e74b9aa787bb7563a0191539e3baee1901012fa90f17d4e43017ed69e4f503e422ab899dec4fae36e922279cd2dbbfcdab2701d0f9c18c082b3d55b09b8c6bb9a56121d8a284de52c4b1acb79102c014eda1765749099a04dfcdcfd2b4d5ff72b4e073964304ada3a2e8d88568e1ae8873feee22d3d79907d75bb29144e291a28e53ea466f2a0b20f1f521876152e7348baf8c7ed5629d0b1725972665223934d6d315827e37f0d639a1f6ca1087f75137c7d92c39c29e0d41ee8edd719892bde74927a149ccf6358df8740dc32c54bd647ed0b54e2f8b7ab82f1360a5121a629648d2dc57297f90c8fa0bc034d8a983f4531b8784434f309757ab2f2c08b0fbeb08c68acf00de5962afa9da794f59e99e3cd99b2e48630d3ec5f0cd4dc5551b8bd6a0a4c28c376fdaed9824e29d7c9fb5428e4254b1990f887ec4b73c9cef4ef137c95524bb92d1d699dd935ae2c8e2d33760dfdb71a4034ed6ebcb68d9d6428966a2e9b80758618f31011684f1de66b9fe87d57f688609cbed4154768fa30d0149aa59a779c812cbb30dd9ba72b6e26a1752ee0917a600a822e6b3038c00d6c7a17a8252110f6c2a0013a0dab1984080c67fc568e39706be32f9bd27de48be219495cd8fd51e7df1de1ffc47f33052e8b89946a4fa9508687d92735d97b7d17027f24587ff158ede606229001264e87acb42e340489d0dbbb34f6acf4cfd6c2b99b0486385ff77015468220ad76b28af6ac5654c336502cb481fa6ed25496817105578786f0e3ba2e2e34320f6d7ae05e6d640ed43460823c31c0f1a686806adbe6956b914047ab7bbf0c7c7f44da5aeba62e5bda16800fb401fb13e90974abc74674696a5cbc91c3938aa8a40dff945139fb95897050265f69495f426fcbd16dd8d8f6c5d48cf233a9c7f4411c275275435239638dc0d5dd32b447a3cf8e9b5624c5456eb7e257bddfdc056322839b6461aaa9841db094500605a498e113d4289e2232122913c1ff7a52cdba9ab02dcfffb70e8f9780a3e7a352bb2acfc6060b467aa76d98b38218c5fbd1e54300a698d31612f0c00095a759c2cf8331dc9583c2fec364414fce5a4f0f420f1fca7099297e773a9c30f462eff7d9e865b1669a1b6e498546b2962642d843aa67a9df1759ddb489c44098eddb1448bdce1725ab668907670860876c1e83f1e269762ba38797684a7090314337f26898a46086609a0a5481f6ef25181382a4eb5404ba0524c12a72334028693895675a47d54d34da464fbb1d982870c23049db2194014ee84219a00bf08fe985e93229c57e1718bfbe77f57913bdbb850355534c68c36209f92ce831e039b05298357d0d78939b64d1d55c01e9f0a7654dc19447c45879a722bcee96d0563171215f3a01c18e439291e2b4e169bddf14c0131792c08b15377bef490f80a0df8ec99cb22d0c447188d25eb5bc7c99f22a9f79e89f1dfddcfdd7f8ae1ed004a3a5a446885555cd7a5d773434b01ec73ce90af55aa0f1bc1edcb682a324e0cba97c1b5deeaca5929631458fb712ab841e61274376b88db837a61b0f122600297cc7657a37acd00bf0c67c7afcccd0b27890f95c07763af6b688ac5734c780fa0d421da187ba0cfee6cd5cbb04fe4fed2e366b2be86e5aca7dd77c466c7850d1cea04ddca7fa29a50eede8ee39d7b5e7a71a0cac489d2de3322e0a313ebe9031a200cb4ae63653a49e870d0bde11b46c5ea550d506f4c18ddbb0363eea093050c9c5482cfef005f36ab8ff715642e8fe9d6a11d1e1b13c2540fd5b7730f670c1c9834ce403c6f486fbc16e6e2a06d999e186604a6549c5838a64875f9af11036729c79c6596e9ca9f989d0d9987dcf1b399ac47bffd36c8b4a18500acd36e0d4b68f1d4332c09b7e6732b43ea276f836254d45c7a3d34c08677325129e28909fec015c2610fc8bbf8a20b541eda0b3e2df236f1aa7cd455b732bf492016b90ad6d3936e54e7fc18f2e0288326551c51c4f7da2b4a2b69713e4da10211b63800840bd3ec7b3b02f4abc0d8587553882537b52d0bca88f8c53a7a89442a60aa0cc848ad59457c622a7aa7c88cb6ebb2747004ecd805c4d72b86dba37d77e1d00bff8a92cf399fd92f6e285f5d7c273bab6fe3a787d05123e4750edd9ecbbedb0fbb811ff5dc5fc29e1ae018b2b650f0340aca229c8808796ef3ed356b6c669d0cd9865c82d8bde4c78662e85c32198b02bd0943a6ae1fa49cd2b4117d2fd9d20c797da1e4408ddf380e25e6d88c7df5a3321e708ae36a5a89d47ddfeca478f80b6c0557dacbcd4c07d84e8af0c3e6878a61c3c85aa56248098822ea75a6bfcd09427a73e68a02cb2385b4c4b38fb96c52abe3a6b310657de612c400a268753505b435c2aab2413c806f4e69f79b955787772474d19e2111d9f9060a6e14607c011c569418d3299b0a04eed831376fc7e952400c94ddbd8e1b39971a5097b49b015c7274d800f848abe78b112c755c2244680a37c8a0e70316046b0fbff0bfa20991556fbc5aa23865eebfb667eb05588f763d0a810344e1ebd5e85740cdd7120ad7b2130d8b80cd3698f68f852e68212501e6f44f610c16bac163f9879c60c00b290d31676ea549b0bf43f561639b86cd9ca4fcc404adbec34d971c4313d134019b09f2dde2013fd6b91e13c5e585e667404f73335e9c785c2b7c39449a191a055cc54edf87a40bb9ab280cbb6c64e70cc687b1df54f24ed95ee9370af20c400dc36ada179ba366e350385f621b21eac83f657eadcf64c0598a9d32bb9fa88e00fab5a7fd2ef99d296e7f59f71f6b7bd27b35d5b1db2564a9e1aeefa16f94600d7787ff50389f0a47e29776bc13a1d7ecb40ee5b5d36132a63c02b1159511a8054ecb6a38d9702c0dcbe269e337b6110cc09e88040514c83892e682d9f413a80dd5f924ee8971d74882d9ddcaf8b4cfe52b263c486778e3eb52aa78f82e0e7f0c179c0eed6b8dc44f56b5000140ff8bec9cb95f8f71393cf8477b0e961726ef0b53f8d13274781fb78fe64ab2d0c47aba303ecc0ee24c0d42d778597a82ac6f04f433baa66eb034ec02ad8534229bb5c5e33415ca4c4d27704b04ca82783ee50ff865178cab7b68b095cbf149aace75ed7af1b71a02a0ec2dfb9e10eb33fd400ecd9df0474d467bdece5dc4400496588824f46060c9750ed27681d58663646809de046101680312088db4299c2951a7aa25dc8706d80f384de424d2cd449d3905d1aa43aff166f7d9d13cb36c215a1412d9f670cfab4ff30035f754ffa4159c0ab983451f49f3f78db5b54e3e53c7b7e0c16e078ab3b0e7599d81112629d5180dd8691ecfe3dd0bda0a018fdc86fcbce86caf8eb0b22f12d12961445eef69b309f24066b3438e5dd8f6d5ec64dc170b0d75fa8fa59c09e4c7839ce605a6c5620e9ec003fe25327374acbc3912c654dad85d5211b9041e281aafabaf907c6be200381f2f7fa702357831c4cc441b361bdcf20b63d428d2f4373bbab0a9eafa0d0023db867bc7052844a0124941109ddd3b74ae4517b677589d970d7e1329082b06c0fe7f4d877d009f3a4f32a88f207b305c9a7b666379c1747499e54cea48b60a66bc5dce30900634ececaa41b9b384b169ff9c066d7ccf898d76b35abe370b0bf3bc4010526bac5baed719e45211bcf2d9742c2147114867dad7b11033254c0db32c7b427214d5c9094b2af7cbe8f325b01d1ab4dd9b0894d4671633e398bc03bd7f7d3ed6f880f53e8b1fd5e59105a53c705bdc499d7cd48a49a5db5ddc1705ef638ac9e9480a9b7d1112802136bf10a2369830dbfcb9c4da0ba36c3b1161079ba962f9ded016185462e05da94b599abaa4593c6f78b59fb14f6427024cb105e7cd26152824e71dfb0dbaedb839a6f197ba4f648c29d4afe16667a521cdf40b3f91dd4985cc68448d65bf73ef37d8adc34eebb015f6fe3ce1437c68e77ed000cce4daa1aa16632e714224c285c0a44821a6ba8b93eda5c90caa16063ca7310e1eb64bf4a122906ef027b1eba7b3d2fb3978d0afd071ff44788e4858958fa70458a6afd4dcfb5983dac576db947efacaa14fdb7121986eb77d35bb18ba974a0130fe12307e07540b1381913e98d5deee84879c260e08de042ec59de4eb98d507872eb6c770474f0fac8d7d347ce4f4e5921732e812e352179a16c5dee9eb5f0ff3cd90df91489290113b6809132e1e10772c1050e93a3cd0d5b235912bf01b00dd8625b33370fa0e646a3b126ba091b844f1393e8517ff94a549f2a282464d055cdc7ae6ebd48fc4de93948888b21909e15366011c46a25e849425d14ddb570b5d1b4681292708448584940d941542aca9ad27e7c1a87924fd09508d09605909f6fb3bc58d96b5950ebc78df8404ed531b6776417b4d0a6174d3114b3c2d4200352d8716c65a67f0300d6bec951b7ca2250d649ebf8c1fafe6040f0b0ff56f0ef2d94d65a54462359d631cbf74cfae1fa3dd03021e5eec871ce82fedad4cb60af8e6ba476f4cf74fbc3b4824c1b616def8bbe0d40fd150c98b8d711a9aff410d9d54bbe03b3d5e4c44b80f9df8d9eb5944fb42d2376e1a6325ecf26d9431e2091a322b36724b08c117046870e35dec7c4fbbe792b9c7a3635ff2baf41448810a5d43a3e15e70e0c71477dfeeb3c32bfe34bf33ff2b6204571de4f4519b0d0e0566131e10874de6223e130480ce521c264ecc56a57a8ab2b71e77f1c657a91107d4f58368951a86d826285c3cbb200318f0093f9c8e5c6eccd032f1ab09ca390c67203fa3d2ab4bf9fc242980a4266295e9fb415462fed05cd2888cc5782c380fadb2d945e8bea75e09dc7124b7e366b55a67862806a9fd88a24355103a55f202c3d98f18b6fd4ba8dc441ea7c78be18a671c19599ab573c53ce95bb9ee623b0c3774ca30de2f935224041d1cb08c893d140a2b5510b7cd7a3b24803b2d815a0f644a1418f15058ab90bd8fc0d0afc1e0b7d0d26b1ec5f3c6c73a04c4a60e1e0398344d057c8da0918b6e16091387bf4244d2239624cb56fa76e1345ad151b40ed93a4d7bbeaf7bfad178d275a2ca05635ad9f2316d8080a3335d81017d82fd09376e6af8026d26f9ff4a6e5530b54c29af31666a736a49585e736bcb228a9801ba26656434b37db58c0f9f20088c48d4d698bd49a139dc1d9e1f44a49b58710116d56de7c0304a9119bfdbaee190115abab26e4ee49285c0bf97faf113d2230c57f73bdb4ecb5137f50ea9d7245599b907350d32e4a5d9566806084703da0d034c7ebbb776baa13408ffca233c0cf7cd7a35bc1f8a6798da0457e0cb51c428008b13c5749a0bdd0f4fcb6858b3e17cbbaad61d6810c76a652364649ff1a98f0f40a890290f8362c2d41d27e1b2e6a73a75f3cf0b3e4ef490b66aba10b0c34909ee588c9172ea306d49307ef0a14e0ff6687e72a5296a25d58ce059ec87989905f96074e5c783638d8c89cf1f25dd462c566eae5267155bb03688889e9c80240c01649dddc077a5b43ce10474986b1e8de9c49bbde46897dc36993414fc81070efe37a400fe844a974b25c103fc2ae23043753197bd0d31d3d2b563ef65fcd70dbdf61faf7b39aca24ff7a22d5633c33019cae04cd307274d1a8c96fb7a36fc0d96db68209ea5c2a507ef6736bf7957d4a878b8558000bb41806feab89982ad0469c9d54d78a5205d266c0e2bc3e0d035d06b006f5604316c1f677e92c3ffe90111e23ca1ff5a09c33d5a618eaefae3d19f47a8d445cbf0c5425a141f4e5cd403ca945daa0743630698de539cde10f45b9d29b3dfc623083cfdf46305571fb2056eaba45839f310748368e21e251b3e906c120095dbe0488815ca569554b9dc0d7e252f337ed3fba3103024d91f3262b38b03bb1a5cac831b48fe4e1bf81a4d00139f4a825c77ee1eaed6cf97386c72146f43b39e64592dbcdf3cec5885852404effa020f036335c8eb3ccac458de2c20f8db81e24ee4bc7aff333b95e044b70b73a1ac5efd0c6434528e348cd3d1be3b4b16f6621fca2ad348393acfeb7fff059d5beb4693a74758b6e20622f88751c4a75e7720396d3d98d0733d2b83215904de5a294b7f4a0e019f4134a7d37d7167fbbabb270b613330c2f1d1f85472f306b9fa7b1ac05264b8be478981cb10efede13482667ed5e243a8eccc506d1348073fbc3263a614c466b4f81a889477fe2cbc5b87206d92ced59d18b4469469f4ccf612f6e3c431f69e0eaacaac05e32216bca9ec0906be4fdfe30fdb15028439853bb424fb86169ad4599d04839092b79302d6b076561a619c9d642b7970bc620fa87341053a628984ee82e3abc7d491a2ed18bc7b1c5dbffd2861026c4bff27a4fbc7866002ca344114662f4e61eeb5cfaaded13304e15bb4d396af69e919697335dfacd06a228d9f9add204ecc943e4e38a7198afcbbb8f3ed2ed9e538b75c02e1c08587511d634be7c598f37e35daf3f5a5f36b0f7476cd63ce11f99e35bc2e1e73c93a269bb7eb29c696f62f14c1979ac2b9dcd86ad16b8c47ff105102733a010017e95dcd0183fc8b2304d72ffc75911a2b026dbd149516f1cac58b38c1e114bd6c646424560db57d96526cfc50d944848fc0f586b7625190e8dae42c66b2f8a2cedf7068e471aa82f0b597cffecb8584fd00c608714f5d6d6bc462663c2f030b9eb3466597eeb0983d54797dac3fc2aebef5288f5074b1cc14cc8fe23c8653cbc2ef44bec4893aec43780fbe6a49d25ca5139c9bd974aa0b7ec93912e1e652193e4c0721df71e2a3fddbb6a1cbcb5d072cf54838aebe1257cd0c1f001056d7c7053521e4a145d51ffad1314646bb78613a700e592880ef34c0c398300dcbb0f7bb51e985e7b9c0b5c24d6d83cc428f127e20f46946547066bd4654986d8b8cbdf582337ef4ad3e6b298ffa1d95ca9ea51f8a656d23e6c93d407858c6eada3cbe9b7cf5926ffc154ee2920ff1d45cc22ff439c6fa8b6c082650edc5d37e8988e29eab880e7dee5023167ebebc4117cabfcb6a4f2aaab04144f87739d65709ca36a22a555b61aa34f19955813382eebd26c6f88147b74bdc1bc2cde7a3867cb7004ff53663e1e973e0213c6f4752b8935da9f21c48c10a0fd9df2e275602c6d3729539dfb802c4b0bc81b4b391b66582b2082da40d15847e021cb16cebb9c230f02b5d433b6ea90904fac09a9396acb948d96e6d5ffbcd06f7246e31ab752fe8aca50e5a0758605f72b8a6e7ef69994ecdb74819264e064e06c2c6d2e802cba7fa5d8cd6b1bf55c8392d93dbec7e6694e03f8db05343a5a31fe5141849e76af669ae42c9aa6e7ea6341a0e310a4a4b2621f61cd39af505ad2141cf9bd679b89e6ea44fff71e728ba6a4b620637a0e47127976c1bb744db5d2e3bc57cf4b3fa5a3924cd88ad17979834510aea338609aaeb4ab671c5228c5eaab74e0eb1b40df6e8defbf4a68561e35850ea15579984e6ecb41238f5892ac68ecd4bcc421853f4e059926d22f861c6e009a5856d744fdd0a8e074fabeef6baa5d22fd509a0ac6781a48c28d3508f85b25a38072aff6f09a753f5651180185e74e167e50bd7be362b3167b0a33d6dd29a5c27acdc9e459489282211f4201be2e75014d820ed0521644bf59f0f458525e6322c0fcbd21895bf2f0c2b35ff17988d346b52dd5f256781c11b364a6f08cae5529004db5a1d82d74b27bad06140183415471d324008c8679e8c51287dab388b5401c38a4516b841a30e5cbecbf0e7b1f893fb092bb62739798485b57d99932264c204c3c9fbea3754e39155b944b0cfdc5a6eb9f97ec28e9f04a325bf3bc83addd9c9bb1d492711c04ed96c82899cc5b8f4041a167b1ab9fb71f947f62611c69c36c650cb845ad0a869ff8b815d379c3bf6485487507ff62c6aaa56dd7f175c8cac9f398f7e5a171d814b566871bb8354c7518592a3e7f2ef6eefde75caa8f711e81305cace20646e95797ed5453701452063e9df2c6c93353cf1fc79e0ec61c96ab6642abd30c5ffe52aefbdb1c3e06d99496e16dc7fb80018ab64fb40000f56b907c0f03041a6a8ec07ec4bddaa5abf34be8c38dbefe9419b0beb23c9ecb4abe97d370492301e8fe2c4d44405ce27acc63360c3cd3f59caec148d314ba210e2717d424b27fdc52f84768b14683fb6b6661877e13f287057bcdb17e7a22d14189ca5a406632437e3d9dd85ad78e798c9859be940ef06499d4daaa21f965f85f2fe94f04b7cd4b2800155295be768883cc6c876b17ace8dd5ff7f5c87b1950326634e4e8998ebcabfbcc6703d0e1e69d3f7804f876a523bdd0ad13d77f5b0be85dac24ba9c96daffd93a3dfc5ebd77c6b32e182569a72d0dee561d0ba4867b6dd60e33c8c98a44ead2292257cbf0bb4263350127038b8d45300b7b5dc2c070a3547b808e4471c9dde4a873589365eef2f4c241115c177fd8757d362cd28b864f03072b0377a074b43beaf47ae55e22948cfa3cd828dbd531bc8c743afa0f714e80238ca0bedb856009203f9a685a973cc6fc8c2b289f0ccde58ec4458bc4c746509efeaa048fdf1642dca412e8e366577623edc133853ed7cd398fcd439c9a7d0d63bc0fc4c35f17b95909aba86f31ce9e43eca9fd424d9b850eb7df67bb698a421efa0f226801ca86d32f352cb9954c3c8602033379596a22b615f88f185c07675abd04aeba5d6730fd67e4056b523ac3262a711a98b4f9fc6444fad28445eeb9648af66f8ec75d3a97cf70a64435c3e2d4c1749d525b15a0ca55e9217fc62a72606cb1547223b154cce012c65b316fa1a91c31eb0e42b953898112037aa4a2a06aa56f9cffa3ffeacceb756fedfe9d19e7cd67a76ef46ed897b1db5612ea0011c4267c3719518e988ddc6c73669ddc1bfbdd21bf0a4437417106411bb811937e9f1e34c0f06d80d23b95f2ea44a4cd3759da6b1354f35e5144270eeaa2548a5feaa11ff0aacb572a211b1cce3af535a3cb4912008066f987500c8a11d2fc58ec0bd5a1d7e07521c397b689d4e1046f8f367adfb7f41ef5be1c879498cac6e26c60ab80375f26192ad31b68653c78fe86be29f4bbea9b1a04757f6847b0e7d382cf3668359dbf3b698598297f17015f241f67a5f09072e3466a9d967ed483e45b915de974dd47c79ce96135e3257048403042dad0f95e1c5a4b5e2d3ef732bf8b2606d97e8d6226ec18316c116e08e53d20c735600cd8edbdd5d01ea8f7997b6ef59e81458c132160bc1b1ee40b417697bad40be0bc1867ba1c7a2b2242c59296b0b876f831cd21275881fcb88aa8afd16d263f90f53f4109dd87fce1bc180fbb12062bab98c48c812f12514185dfc7e81330c830e71c20f230fbd7ead223e8db2b34f91f8caa69c8fcfef452b335177a55da0540510743c5ae713d74414baad12fb4dfa4c768d0e17268044f0ecebd5edf62fb9085d31f43615129c1b3a10d89f88f3212f0938ee451d50fd9dfeb9984ed6a65504a7e19d0a8514fa32a921c77faf6c1864e3516d1dd2675f80f0b2f5ae51517908e217be008664c2372766e64823228bf2db1bf04ab512f3088d8542715078440303382f4e23bc8b231e89f7b7315b5441c1ebf27cbe0e1a3bfaee66dc927e2705435f7089447ee097b0e3492444bfa561982f10399e96a6be8da7a5bced0e3306310817e0fc6ef6d1e14eabb1a33e3591ad49d0dea01b3fdf67ec7d3b5fb289065bdcadee3832b0b5da84bac397372fa6a7e1e00eaf87597956c02d94a4fbbe0fcf9f8cac3adf7c9f0164ac0d6dce1884b0c5f38ac0e73e5c97b874364a59060bd993d22e0b3f4b5fbf4534804c95f5fc8e45b2ace82d40efca06ff6df3b687030350186626b8942d9f6bd70c0679d0e26218946a8c419acaebbd0a42f2fb60092c69ec358c3494fa6480fa9db5aec0a3164b5566b37fe60787f6780b1ee8e500b7b3b800e3886579b12ba10d8e3e3751bee433ea9957d4c56243db73eaade607b8ea17add1d81cdd39812d6b6f3a160090c6cf86553da994afa82ffafa83170c72845ea0525b235c0d441017f9be98cacfdb03e66af53925248dba46790aaf0cee7eb0b5cc776d497e7b67f166bca9999def3c6aca1a4624e60148c0d9f0f8090d8a4b58588c0c432787c4d239f7243f3c2f1e77001dae07900e9187983f160826afa652b62620745c1622486d2124b4cadeed8c04f02cf19688f45f6971cd07b88832680657784c4265180b2288f307b4f67ffca7b0a675f3868aaa27f2ed0747c7c0b0b107a526d5d21d022e2aa2492f7702036d722823bf2a9dda39092b048010d58b7d081dcb10942798f197305118a78cde034448de93a0245247411b0afe3175d05aa3bd3c8e80c51811c94ab0c389aaae530f5cfa3ddcdf956a314809d64712ffe9b1cea52df8eaf44b7129078272f6fb077adf41c148a937f233ff051a45f7a165f2e27bd1ecf0191ce7232f28fdfa00c590926cddd7ec0daf21d3057dda9c75fcb092cc028b9325a40c5c51413543585ca8bcf3e49b568f8cede401f93ddca96c58f7848a59f8a5a01f55d2abcc42aa23fbaa4a27730441dce3030cd364a49ca2f01e5a8dd6cb7a87516996f8d51374209009ec11460f6f08e24c07b083bc0d85764af7cbb76d8b4d07df77101c3ee246194114b1ff2addbedb390be75ca2df8765060fb8698cbe6606552cea8c5107a21c9d6aa63a582c3f14a30da7a1601c7780e5c3282d6667cf2cbdc3f62659f967907baf35cab2cb6992ab07b5136c00172110565e3086751b95b337c722c5268e071c3b83f448bb0e186004c73203c0297789827b38c98f08003f8c171b49797ac67eccbe3547fd9525700e03b18546b0d59fadeda1da4c993f70aafdc222ca256235a536e952f63abbb5017fbfaba7f54ecf27350a4a59102625d9fee9cff86b5d5c375af549e533ff71011c7dc4b8525d5e2980db962edfc4cbc420be1266abec47e8277e0ee155faec08eddadddd96c6139ce0cc040dbe0375ec190691c25874ae600804d0a233bb3503fb2a36d915b3750dcfa7597db9811099b9ad36c007042b9fc839d05cc60ce9004f0ae6596316f716203507283f89cab29ee816595684604dcee990a0a1efb3028db6ac0fd5681a188c0e980b43bd434bf2348378568d58a18b0e5c923ae2d703f8dd886e76aa8d8264b1801a6c13f43a7dda3e26875cac26967f5bc2962f4d07f23b963f7f65ebabb91d32c8c4b9fa8e58a18fa4be205a003659bc865b766909a1e42f8eb69d260d38b1e0baab109bf5e51e67c0ddd7e08821273f5d8c6f340955b2cd256c2c38ee67368cc31d7a7413e64807b0439a8428d8249df26fe25602ca230c8cb74d38f2b2eda33e7c086f4413d731a4af6767f18013cc86283b7e0bb0130d9deebedac4e6b0fd12b46a78243c92794cca1d9fb0c49162494b95ca08bfe8853a54c26b8f40ff5a06cdddd768c7bac4065b6e5e0fcd109bd0f3103d079224015321216e52299169ac567d2e9b036ad0e854410df26e4b25f0302d8f0819d4a9b553164ad3693d5f76c8be74288f4844b560bca247938afa9435564008c5311e79115f730f87ca9cb86d9d43d93ba711c767755f229473294a5e9cc302d004c926b5f49ddf1a39527e59141b5c452d326d7919ae44f57a61dc39648b0e9e32efd60f50cc34fe724e6568bf50fe882731d1b8e2d10da5eb7c2cc5f7cd0270e8317357723b0f7884988dc1e0252cebbc929eddb0c6aef87b37fabc49540ff0c4bc9be1032a092d958fd55a0a6c96e4e59d7de0701d32e94d29050cfcf8016cae982f097ac1d2290298b64c294b30c31355dd5de22fd0fff76d298467f406dc7fb02d298717c2b6f73cf112805c65886050906a675f56e2eadbdbbd560801a152e1c639d80bda51629e4e61fceb6ef927e46140136a0b9ca744a3cb833c031aabe84fa5c2ec47a489d55279aed48755ac1fc84327e6fb245dc25ac1a14606a6ed892a17df0d5c466d334aeb1d761ba8110a5e6c0a11b19c0c778fa90f170f9fb588b0a31fb3606a49e6f526c19f4b182b13157b5c623130db6d2451e90401e81c19c699435c45d475a8566abd376ee743f933d0b3c988f452e4798129600d27841267757401a441f5151fcd383faccdfb7d5e528bfd0d602fe605a5c0f90542ece543565be3fb015460c543515e6924e9fc7ebeab1065deaccdc8e29d190011384daa1abecc361a1adcd10062129ab510a35e8b69d7ab67d374b5834da00c0e36a0169bf19b5b2373d145b6ed87e3bb361e44476ad7bf111259698937ea070f74881b350440b6cc2ff985271d11f776931cdbfc5d61127998896ac7122b02f1a03136bd00daa092483589d725d37344f24b430c270fff7551c67cc8d5fe07e2c762cac429b396d085cf8b22ad119ba9c5e32b2353ce34cddbb284cc56e0052d997b8f800347097a2e921736334a68831d984744b313eefdd66bd092681209bc74d2baac7fda19728362b3694f5f69e7ca0050dcb5ecc7c63d29e6d62efe049223b1546dc214492f8c6d95e9c4044d37fc8dd0639f86e892bed99a7dccbf0506f459d76b43dbbe30212c5466f733ba0c8306ab20217cb1de318c3a1240b50426f15fb2bbfb5a87b3d99120c396188cfbb821c4b3eb7adf5b6e9f19bfd87709a66af8465e1630fc3f341401bc5c10f7466e863079c6a797d4166e57a308ab04b559c689c892a02f84034dc339149b8cb5cfa635edb13d8e871c376049688e0aea3cb10c7a4fe269713cee1316348d5d05b52c4136dfaffe6fe556b9f448ef0e1b0c537d423219b925ffa26a8c4f31a864f9fc699eece1307d699e4d87c867025f3821d5f52af5db14682093f2e604d8f1ab9bb99dbed0501f674c3eee9118083d01e9a192e2c74f4393d8534ef1d97ee37cd0d85524bc086dd74e9e14f2f50062dc8d1ddd4dd86388ceb732bc31add6f7df52dbdd028dabb12579ad532baa0240998f272e436beba7d9b5731446aff26bce66e55b55b67a8bf98193220db70271f88b99ba0e1a93a15ab2c5b8957ad938d0f0c0f433d3dcdc9accca452dcb0bd21b8d23d0664f29aecd6952bb1c76c47d30a9852a50ab4fb2a8203ce40d8409b5ea67ada490b2690c33dc74c361dea68875773a7db57af749092eeeadc6ac069b5cf183c46f162a78c9543931cdebcde9f3575999da468f053976056ce2010c8877a017c2b498b2cc591e4909964fbb713f63371f6a702f0ba8b2d30b6e1603b31bf385d5b4e403eece7af3e77e41e8fd7e56b953f68b70c1166a4e9a59b803aa2c147de70aad0cab14ee25e4c625e725f1f7289461fd93376157d8ac3d790b60787ebb36d888f271796e2bfaa5fc9a0069227247b9aa27cfb00632d96e290b172af692e9de5ee1af0cae17d040ac1ffb653c7ae7af00a69fdfbfa4ad90620ef79685455f1c7d05dbcc54ee8189592d647864d5e01326449399ddb8e4c5890d6a6b9aa1c20cdb8120bf65b4f8bbc242441639a8709904863fc086281b10fc0c195ce7478cf7c7372f9f17ec614c992e2c71c1a9ea0e228dfe3a1a684367af05d549e63fcbb3c4be575c45300f3ba85a71be07e26188f00c8ce238f3747715006226da561c989ab703f480792dc9f364dc8af62e38bca7d1636eeb7089165c0ddeb1e54473ef2d918650cac4870768e7067727afac8831ab08376c1a3cdd7c0b4a403699fb48f28c11a6476958c6b749bd2c7e46c81405683eee946a47fb540165a88aa19ff1c362b2e1481399e2022bf0567abf8c07ed84ae272d10303e5202fd6adc0ddb4f64653586451565e0a4ed21812a3d5228082f249ec75be299990724c98716a108aafdce4ef4e788ca2f09da417943fcebc7e703ecfe5a10a7ad0c0c2d9aca95ff4ca7e705a3cc6c2c3756ac5b85aeb41af0c9dc1dbc60e163e60c7bbea12b1a2a81616377fac30286e390d061656bca8ce270fc73cbc7a9f06c0310de2389b3db9081cc9f03b935ecf7c6ac0d8062a655980f800d916707e6e70af720a89fae6ea19fec0e7e066874c294d1befe62a357175e6897b70567cbbe0289a93b11788ced54d78fb17eeb348f834bd668b8d451a4e97b637da08d23440c652e34edf148b5749c1d5cb623403ff4684af479794577722e44684d89375a0a623c642839695cd7cc67ca6bcab8bca9def6784f4ea5938fd44f0b625614a6071f1f55eb657f572cd335cc85c108b57ebeac09c2b8a1abca1bf0e81c75405e023979ca3b4fefb3e8a71d616c69bcf4aafce5bc7f11141407930a2ec1447fe20e66c76b7a03d6023cd850379ec0567093179ffa08916cda3a7f46aa385e3b770c46c0b8d33a99c358afb3749b58e50efc0abf9d0c70376109dabdc74ce73ae509f2929fe1b62b5c858bb23539e1a2352478950e509b71814f4df60a2f7f4d0b08495b0b92f82ea596f98c8c34d9019b1357915ad421b39f1c0bdf3c50b4af0d001a88d24a1fb8740696e6a682f93ac6671da41baec8624fe56b17d59ea7d70e0640f622c07298c44b669b09df7de43d25d18ced701d3b69329613907f6164ad0acf80c684cf54b58266df1a8dd2e7afe19a389d38a90936689f21e6f8fb024c01f075a946dc6ea4c7ac9ef94504098e42630d2a9530b1b8cef2f46a11478bfa0c9f1e1f5f3c8774a699e9ad04cd7fd7b382d476b61beef79fba15c429780b20055ed49214f835cddfed1ded1b9aa32217a19d0b3bf905702a5a74a7a62fa7460b5fd763a82346d95839fc4805781898c75b533fc35f1fa6162a1d9967701f310730ca78f40b1f6b38382000d27a969fdc7549eedc39946528f71b17e8d24574085ee52dd3a9c98a4c4ee1ba51726d5c86aeaf5b3c757c2db737d9ab22439dad0e2b5627acbadad733510c965bdf5b3849eea0b3d33dacdf2333afaf810b3ce8072d2ae0dfee3b4e8ed1173b05d54287eccf634db1f83845394e62c844e5008f0f039ab7dbfcd0b1f8afcbd015a32d98caa60887d4add9e290c86e3feeb63e03708be00841468507cd055d0ec54a86ecafe85d7712378be410bd41d20aa6d67d75aed2ee17b8c40bf772b66c95ee545a9dc55fe2cdb494e43a17e19fefe51f704b665d46c635168a3b3b4c0616de870085133388a3ecf372f29277de9af12b4615d081431a12c6d789ebfe03d913c326b29879318979c1a5ff55844cb057ce7306e3adff78ac4db2f864e6be3d56ab6165b58a6665a32955340c3d38f6a2fb590cf16594866399225759a7ef7b7342c84289534d7ca1cbf05c7997bc2457967e31ac54b1e01764606228a0e86fa617c6fc64b296261b6ff65517fca951ba6a2f5b6ab4c204b466e48234d5fd652b3ef66cce7bbfec43b5228da8977c4d6ee4f37636ca23284410d52d016148e746a9c3a40a3bfdb82cdbe7e2c2f2c9d845635309f7f2fdcbee66d5fbb9bbfaf76d1bd0070b3f9e21048677a6af8c992e443063ab5c3167105dc765aa822dd769b9cbcde367c2512cd2dece44dfe269a4b25fab1b02231afeddeae744ff84f0884247a2180b20a3af425fde6f48e535279f9e22a902cf1303d84e5a36111aed3aae90f7af15d564bac550627208c5f474868970418f57ed4dc628762e70360f8b4bcc158cfa7a10655b99fa2c2d3c5ca9599c80d2412764d18ea379fba87f1b91208ed53c24c657c65fa9ebec56417bac2b4492b63db7901db4d2da2142bf9156c00d35f5f76a9339a0b6771d6df6ce735b504f8babfe626ddbe2736cbc86ff2547c6b8c8934fbfb4a554fef4ee8bb26bcdc6c96c3553ffb9408817272db0bee8b81c94f53fb000fb02221f6cadebb8148a007cc46bec3131ea5442bea815d646acac21a717a26fa173e080814361e4d029523c5db923ce9b53cd6c59bccdbf2b88fcbf3ace31b0d291f6608ae2723aadef41ae1256ba3f12a91935880da23e11be3763d3a65c5be685c683bcfffcc9c9ddc95ccf11c0858155ccb0f5d9a4ff494e45adea0b77726a42d4cc7940720afa8be89162e298f4039c373b31c350bfd130ef7ebb832dd29cd2c33e0869b2dd78e609c622aba5be6d6164b4c8b686b6ec39ded9ee08aec6a7f701b2c3a141da018f03d59f996ab3690f49cd0c06a259544411e02f330b35ec44ec07a433e9380632a52f78c0252b302f7331f36d648f167014193b39771ae1e0fb04be734eaab0155177126920f87fb61c2ac7c69669e108bc623320ca901dc9abf85ce58e94aa7a35fcb804c91043610377b0221581a12cbcdbc6fa8cfe30e54dfcba15d7f384d21846d54a8e57c4da96b97742c2350112d2d700f46db82f9b1c880a74ca8d9b6fb56dd8e1b2dcb0948b53fbf5fe452233daa4a0b036455e9b4f7ef6c910220ddf28f48d9dbbdb5b8317f20dee38c1e7eb819c037658b2081d43efd7023c565b8c5128da82e4b4da5a4b5e72fa74c61bc9f7cc21e040ccbc02433ebd8ca3b56e78e1267b2192fa54dd4e3145b83e3d0cb74cc097c46df0e8b20c552e658eb02cb0712c7f9e5002fd0ebd1a696a0e62ac23a03cabf307562d15bf6948dd09ef6ae791a555a5367f3850880b917ca911a289b2a3c8ff4bb75c6154fc2ac25f54bb6e35ae702f70e32fa859c04de8c0785764f5529b132ebc7a88ec5ce7a1ed9e7569c104efc52dc827a220074c400315159e3f739458356cfc0406197f6b4f912b7caaffc24d1ebf012bf2a7406fde7d2c143bd3a7a7d22d4b71a7dbbddfd181e3f675ed16f1a1661cfb197452f93bef86ba7844f4040c2c7ae6ee03bec960ce7221cca945afee57759550dc08b67aa34d1109d9832c6d1eb5b4f6d34ec2cb28986951491bf5712652dca543afb7e8f7d60a283c1d0eb3edc30c6dae7392a8ded544534ddc309245795ccd83923b9091f54adfebd7394239f6d3a4813e2b16edf6bcaa03a30397e31cf104df21ee70c60c9fd416a59504a40463c8e9bd3b22871dceae02b98b3b3bccbbd37ade0b1f43255f7e16c38ee153a369089bce30f03cc3da521cae2db146edce3615dffa64e5aee58e4c91fc0992a6b835360e0a012aaf35501ea3cb24c0ed8f100745211b57e6e86be9e18388154e4369cdae52a4534741df9f67b73e9c3be9c043421361b15285a1601682acaf60bea97eb409a215ee67b07e050417cf75f3b536e77caf932644538b7832571b69f754cd5dc0951c3116f9121b55794209bf497549c8e31c021de0652c21c709601094fe58d643e5748e04bae9a61aacef3b31ad0e332129653335250018c2f69863d9b10ad8b8c091c20218879b04ac5f58caf811019a6931922da854954c602ca08d034547bb5f1a252be357c96a00f71e7264b9f98a66c6d541ff5c2b35e24d33e4e09bf52ec740bac57081376f7128594bf540c0a362fb1ba34cdf975aee669a28605a02435084b04ddda92b03711eeb848b8879286d89a01dddf4d2ef6b3d86595d0b7423ef22f0d519a809bdf6648b359bb494b6ec82221967abeafe55036161b8c5fbe262f194836e2e496cd654e446bf25b98353d2faa1dafe8bedb4d2f53737285043d2aefbe4c971e629cad6510d0a240cb86498e951c1933957bd0a1065e059d9fb338bc7028a7bc97bb21c1223b753329a24fe0e322ceb32bce323485cef7047bcb219f5e7bf5695d16ad536dd1b6b16561d6e286ffcfbdcc8a7f0eac38fe3437ef2704f4896d9a8ba5786e417803b00f80871c0e0969a2fed919b27444ad31502d9f6a802f7776a5d1108d556d0c5bf7f32dec80b9aba72d606649639dd088c6e8b976654a40455894c2195908b2fc24ba6fef592c6d00a550a7b8760891b13d08d12596fd20b50f30e7e72b14dca71a650903ccfb11190ec4154f524dbc7f959faa6f1db8b0ba05420ddcf0a7f1a196cd019b40f48730110df8a8033490cac4bc94bcfe20e0bab1711f0e8dd36d545cfb5637839456674b6b8e9b04e9f0b14a4bb9ff8c3b70a5197d44b9fae1f24e9e7cc28483949e14e1ca3349d161c18b511bab805bdea0f9c10aea213fdc00aebe56f6ca94c471bf2d26645f7f2f98c7507197cb3f31400fe346e09643befbe88b3e55981f33bae2d9a15c9210fb20ecd82d4384ef4590f57efb7c85d714c499172d588ca4530f2f9b64b5b851ab015505ae30cf5c9f70e8283b163604f40c5d115e8b2d87e3b0064c96b5382efec7501f305bab786080852276d1aa1b83abb5c82ebc013f97ae109d373621b30e2b09e72e5ad896f95086473502d77ba857a9fbaa520b1794613811696706e9020c4eac5c78585ccbf0967fad7c0cd3bd4b0e84ba23385a85a0447452ad567df90902d726060c1a9c70f1fc7b071a24e0bdcdeb3903370058b06f0017ad9052db2625c4dcb4296cfe50513ba476f6c16f890aaec2a6a15cf6793386bcd44b65ceeb0ba0a3624f4bd570b5d3b5fae56fdc74cc0c50942809a04bdca0263ebcbe7138fa8f0d8f394e6490992adfb4748321cb6e8bf30b47b6176a5f1588a2f50630bcaac2f4152b26e1803");
// mainet 1633437
blks.emplace_back("0111010101010201010805626c6f636b0a2903070798aea4db05548dbf01085c8074a40d45bd05ceba446524fce07ef832fb7ab38b7e1cc4bc14cb44010002d9d96301ff9dd96301bcd8ce83cc7702d66fc9470dc842bbcc84535fea59497179d3d92bd877ec897d39fe95d569bae82b01a19f417687104b997dc649e2396a5fec3dbd308c452d64e81ebcd18e90ac50b70208000000c7330800000002f86e0cac2aae2e678c934788863a84894c89436d222d1fedcbb7ac4caf884986f41be175f057f4c70ca638a5b04cb79e26610b744ef501e458a0719a267bc5ba037478738a0831e9020004020007fcd0eb0186c166f4f134fd8701b7e902d1c7119e59c664feeefb69e0287b766d8182fef756b44eb7f9682aedd98fe6e3460e5b0d9702000789ec32daa678f08c2ba7930c86b5ba01c604882cb8d44b86001bb29f2bc6d347d155d3d46ff2b24cc575a37ba116db334231cda9020007adeacb01c0d9a5018ef82a8b1cce01a519ea0d5e5b5c6f7daf44a29ad3ae0fa8f428b808ba0c435d0400ccfe71014ea1352653020007ff8eac02ca853a93ad1f8a4086f70184d014aa52086fbee47c1180f81a71e39777234601e29431a93783326822d9a87338cd25ab02000228a56e9ec17a43d4b6866909cf18f36a555525422292c6c74313a6c5720ad6b80002e05251f1fc99624a3d5c5da0158457d3b3f9c65be77299843768e2f8a9f3911421015e67be733f86b3f0a1bb91ebc6313e47a5ca0dd4771b978b40dc54c801cfd31102d0b7b09609fb882fc197495942bd4f6e2b436825aa0066c58b633570e7374d050c2e42b64baa8b394acb8628ebb886ede50d5b0a28de7997b317928eab0af4307233861bda23f39f63dcf30ea5c878c3429e304f28c52d01f6f2b4b831b5afcf983299f22b32f33d670adb440bb3bb742a7e2686e8350eb34a5fd4477e0ae7869f7ac4d1ba49b3526b9a1f7cee55c70eff1b367a2c88781be2145f01dd11bd2b909ee0aa0ff3c0df891b69d4943edcab78be3f1213b0007fc1241912971b4e4980e14ab30bd9830bae5bbd9b6a3bf602e11c8d7104ae89dd2f6b79ce094c594574ee3c6a0d42884c9f868547e2bf4e9adcc0e8d4dce29e730a89b4b9a763b3ad322ef293014c77a07f308f0714d7fd9b23f49132c2f82258a9fe1217aa584d0126e5372bedf8343d25576372b49347519de1f561dafb8d3ed92304175e4b0839066eb9d60bb28c97673efa3fda283169f1cb81b7738d6c8fd074ce81bf239128ce783abd0e8278cf30d2cb857de82d34492931c9ba32ae9e25f30730b241f118ac04fdcc023be016596fd295f6771d672d66e2eb10f13ef32ad2c8fc20f32453f69c2d2d03fb6371844adce8f8781be1ab80d972a36056f7248cdd201ba3197a3f8db4b80a887aa9637f0cfd16ebd55a4a76a31872a717e170f90e93f2e9f2777924ac6505f3db13fbeedc7442e5303392ba0ddc39f289677e01ab27e57510cfd7f3a9450e29ddf194ea39a01d73d2f02a351f419468c7839f8e7b14a3f9a4cd50ace2ec0bbb52ddc8d9c561486c97619cf39cbf045f0be7a1c740426672992d3ad338bc04315959a8d788659df3fbe82782fdbb30136f104f5b71de8107b7ab6cb608650aead02fb83962cd9be9ecd8c98c3e473e6d694d4ec750d16f5c28203b8f094101a889a9ac34929c5c6fc6803e19863c166a75daaa7b3aeaddc1df854e77c3cf055cb813c55e0b7ac75cc6ef601fc152f85d03a582d3b4796b880d1369d7df0c09c920c15f828ab755409c23010c1eac5837d22921e2975f5be24abdc279d7ab0128f3cd6f49ccb1ecaa054b43666fc7e13888bd4fe19466fc53155821c776a209f33d9116c2153188283409d598da4a698da2d2374ff17bbe4c5a30fc5c6aa706b64a3842269c4f755a693b8edf7bf102d7c1f27ee8ee7baa9c4ef412684e6802b5c79d489c2670e19882447f78437550b44ec378f2709b7defab6b7ed0f5fd0cd5ddf26a5a88e9a30ef1e5cd8e9fa3022acddf5ec1498e6176eea5ae3869cc0800a3dc0219056967e974d7b5efcda201dfb9aea93a50b0b6be25c26f5d85590f86969984607c5590925e393cecdd5e387652d948b5f9dc8c9cf6c1e18fcd0f0830da8cdc227b42bcb4aedb3c4ac346b75e6ea78d6d70fc4af89c66013ce8f30b2b693a5851e33be77274bd613b35761cd0167b2e256a63028c385a9d1bd3690b12d6445857129a8e1c9748d5e4455622d9f9c1d39d0b1a15ab1f94c8b115a8030166482fc756de98c4082c37286747ff9a9c1974e033f34c14250c5f5ddb3f0696ff8ca06a6d2dca5f19ea2bc247083ea691ba6b6b0041be37d81ad8a9d7c00f9d840944caa8c0b70f6b137a929173356e1ca1c1e64070b317bd70ce2019b80830044c6992d0065495b9d2165085d42c2cd33d4a54caea22a8c6b46f1f6600068a812559dd7f9cc0b3c056b3c7dc2f8dd6cf184f6754755ec35c78925e736c0c38ab63b35f53efc46f2ca6a55de076dc1c4892d9ba69649e18fe53518657f50e670586ad558803561d0a48620d20f5f6967bbda6390bbda86e82273caea9fc08ccc04ebe7a2ca6006bdb7bf2155b26f8355eaf84f72b15a6042565cd6ac2fc09b667b9ad3882372c4fafe826549c80119a2b92ba7f4a4d24cc60d1afb08e8d0944c14ea11dc130f3f4a37a1990365f4fd2ee6669f113f6ee600a1c0b7936190a3aeb916a64e906479b3fd7ffe9381bdfd1a42b5849dec5874bef4373bae8130fa97ce07c22fe7e37528702df1685297c619766696c89c496ae85bb6f1b518c033a74cac0c171198d30024bd85c4f734db4028cbc38247b87d0e96e1c1054a80d65d3c4f3132658c240d4936b79e904f4060c461162269f526272e120e0bac50fd03eab06e5f3c206f90126734748e3586d40e00642537c908fde208f37b5b106dd1684bd84c3c74f75447504ce673ea0726cfebf403d3c11961511ee214c530e33e404a5e2b66ee48f07d3ab4dd748064a70d6aa857648528801732d86d2de0300a3e8d59895a04224f46eb35c6e12f79b741df1d0b4d75be24be8543041d50fd06bec53a000c88e8f954206fcbb297d425cf0d4c18fe8b6c5d3fbc450afa003374c3e525aa8a92be9e989f9bc5361c3ce12a7f09e6217206437e07ae868f106fae379e6dfd2cb8312da6d783e2365cd2c3492f03a00cb94c4c032c951a398081ae25ac110624ab5e4db936dc469a0bf41981ccdfd68d095d2141cbe73bc2c0280d0784219eec55bda484e553519c6f7bc49c78d1ddea02e9366de88ae027b0c020985f5abdc3479c30301ec79b8fc8f2a6cb2307f3027ead9ea7cf8b3a6f40583681ad4acf1dbfecf3a7de801e499230dee38f0bb872c57080cdbad2df749009f7daef6bf0b6afd2e1a392627f8368e5258f32fb89332ba7c1a28b81f9ce10fdac286fb263bcb42327afc18e3638631a427622135b1585ad233afa7fb73150d3cf1c2c68f9eb73b4d9ababf6be2420ee69caa3a2ef64c6bdda83d3b6dc5be00eebfa2327aaac56a7742cbf7087ed957e7ce0ce88f37094b9bfdacf7dde25b08c7ac4ffdf2142fc4833180157826e4fe559fec496f913f92b192bb72109e020b02bf0f1f6fca5e10ada9d9d4e8d7570a8cf5dcfa0dec0bcc7ebfad01ce5e470dc17bd138e940d00cb6b9ddccb05316b89f62180a8bd367b5e01d8ea21bff4f003986e33c1be45f9025acdbd0f8f6353fe15309832ec36d88e093912d8310b101126eda9f88dd5fa95b045111f2e9097b3216752fbf17747cbfb2f8ba5ef1180978fba362fc0e00541a9b6456d8967e1d6ac4b917fafe3bb435bef934434da00d1c178a13b2157f2b3ddabb97336b5752515996dcddcf1ddbd984d0c45a8b220dcccea1ecd099099ca7402822b5b6fc6f5d47b45dfbfd65d0c6500f96ef8c6e02af817e5b0eb78a93b7d71054f0d066d3606101662698c91cf2d3775a4306fa015d47bf4853922b65ab3e5c170e2a61a5b5e8cc899315f6d42ea76ddd81d238067c6549c4e66556aab691b66aeba8a2b96615c9e932e9c64b9086f4abbe7568064689b1d1222fe8300267e06163128acdde460d9388e2415244b1f3c268caf80683958b1701dcbc17e3bd3ccb8a6de7bbfa15af129637a7b62b79c9e0488091058fe52a906f664afe298a8438504fd505e4f59be46db758f5b58fa8cf6f82f90785aaff533ef688595a586ee93058a2c29c54a19f7e7085560e3e18becab9830e0c7895f22078d3d0c91cf7359500deb8410bba7bef31f8639ba92bc2b5f8410aa5ddfd0d3b8243de2dd414aab14b2f8d91dfa532e7d5d95f6474a3fdaffaef0b8f97bdabdfeea31470ace5adc69d3455a12456a10500e43a3682d5905b495602873fe7a928a7823d304b48ca17ef67c3f401f8ed4d2713048427c0143fb05e0a70cad46c7835a9b791edf1d0e9315b98b17e5c05981e1d4d3c2465d04c67bd0f9fef7b77651ef9b3ef46ebfd487ae7974a2d453d5f58d7755c8de439efb321076894f9e5023299038f3b1e108f9564e8291aa8f65b0b688ecf3043dd6ae4cd019de1ccbb2a318536c946f8d6955edd6e2e4d916b8b4f7d28ad9dafffd06ccb0a47f81a515d782c1604ad0737b1adf63a5a3f5341869a3fff8f54a644f9f171042dddf4597c21296a446b39871ec66de68bdd9243efbd28acaf70dee2629f1305b0923fba410b458995ea728f96eb11fb9da0356e226ffd65184fd226df1eb90501e44f99b1a83c9457bb4217b4475983cc91ba31eb2d8400b0660fe97dc6e400ec759ca81b913b913e4aabb14f7e772e1359747e6fc40c711d9333007d75be01b044ca4f984fee6b45a1a6b3da35f6118231076e33396e19001c3f0890881d05202968b1db8bc9dcda6ab42f7fb0e7d905258a6e454b3c17d312485f09291d0f4a938382829b2174186ec55d8a36e78be36507f2290bf513cf0eab47172d420ca21080ea0501f223466f3cdde40e8198aa54fc75f1573c4b6d04f0e813fa140cd797e6ef524862d64ab309e6bc269109d345b4b6a132726089db91d9b00a3400e24098c27da2f4f8503c843c06e00575b0f677a7654dadb78954906b9c81d9053f9df584dc6070b4260c4a55a2eddd1fa930a34909636653d6618dd31aab780f304dade91d77ef879eb82d8abb6d0230cab53d0c258345292681670f210d030fcce77ca877add581529255f192b5fb9e49b20b73fb28cf32adc9907dde656604d809765545f1b192daedee9006258a974bd020a673457b7a8117f945ff20750104395f63360b156098ef7167fb8220048d87226188487817b3b0d502908bc40ffc77b79791790e231da966f235c0bed62a457c5e567ab20eb8180f2333d4bb09450bc1cce44c55f22139423c9743557d64406278c5da4f19ae6d23c0cf1a190df51be0d540b3a21c83886dc0b66c03f5abf02dc6179979c46d1e6ef62d98430fffe67d5a9d49ee5a7bb976e3fa1d6a8424f1a6e473aa6be047b3d97d7b2b21037d627f5c08cbe9dccdfc72acc8b354c211f2d6253d9356ccd550c8ac21e6c20e06bc555cf4708130b6e5fd8df9ca3da5e24cf1652da6167d77d59158511af60b183c12d24ca61f33f9609fe3ccc4cc93b77d5e9bf0ff1bf56d561375e6daba0efecc73d3445844846eb6796f25c0dee928eaae19916cbf8d6f1de7c1fb19e806f6dff1abc77f8e4326d252c7f193c704fb1c75e17d7ed1a1f953d7d15bdcb5055f84b23012c8aa29e1abb7e02e5c7c1fcc7baf284f20f1b64c4a95217e86780b98f8e1bd4f0f17c55b2e6cdd55a33d31170a1a467f1f8b46d1c310d5dd02500743c29748656f6a384c1185581429be17fb2a3310e91754470a24eabcd823bd04b6b0912ff2a7f270292aaa9e99dcf67a3fc469007c81be4d0a0b0692c0cb3109f811071c7872f6b48d2eaee6285e7e991606f3f48e5714ea8ecebd7d7cf95408bfcf490c821d8e203b27bbe485b9e5176e033e5812a9d6e5e434f84ac2cb3c08eb84e4e15e2dc08f983c314296a93ce48dbac922d5ecd7ca2c87bc0f95963808a8edd1d964e1eb19ef57d739a0029bdcd88067b7cf18d1ab8893c4a2033bf70831222aa548b5e7b883850333b15ec5fb3eb91fd509e529aebfee2c44a4e1bf0ce282e5e6998619c22f2ae849855a12080e5fc6a9f084c2d04b3dd90b4c2f02026671b9407784c151f2031711d4188f4acf9a92088c72b26170714d9a2942ca06325426c610b82d2dfd95f3903312176567ff240e01df17088574fbfe5ef3a70979e2b4acdd74cec45f27eff77bdb43e18187e93670275cd5fa40e6c2e6da3903d78de3a5240bd66b3073dcd4acf004bb8c2983166c053de638557ef280760d0403f1cfeb71214c5e853c184b82238c6ebaaaa43d07d0ff47dd928fc0646f0e0c37fc1d76424b0ce51b3ce25f0df83e1892272cac4c781b70fbcf656b3adbc00ffb18963a74a85085fa2cf6e227608ea72e68deaa765920088afa0428d4f8750066788e5224bb111b7d4204aa499545081d46276fcd91186b59882e59e4911d0f11500f4c6088ad819dfd3041a5ccdcf6da322460e4c5150d3e5e12f8f7aabc0e6054f34c9823bafe4aab2e03447c87344a7d1204bc2bede8d69f1db252aa810c4fd8c3a810566cd1efb25620117eb5cab9937e7fa998f8cef03e4a7d870a04081c1d3284d4805d064def16eabbfaa7a983737480e2e8dbada42d1c0998711b0e4dc921d927c85bbd505a26c9045c6ddf354a48859e97cb665e8b3e237d63e902e82d9ca1595f2e221a964dabd4452466ea955fa2a4e561983817387b02db9802c94ca7e4b0acf238fca14f97d8236c6b5e58b66067451e6631b18bd1785d46007549e8a19b4ea5194e2bcf6a848f91567ae8ce29549ca1341808091d80ccca05f04e8d9facf13a5a148702542b6a636431b3ced8ce252470c5a0046829b40a06bc6e6aa49d3774d71124318b029bbd4aa7deee8e27e84160be91e126775a3d04c8516bd64c7c60529a7a98d01ede292d16da3a36d8169ec71aa0851d9bccce0f053121a7ecffbd778bbbe1768e9d55dce0dcf9ab62df6100c43a066e0234f92325e873428d44579cf24f6f1c6d133ca3bb4e7e51ec43c0398dda16551a6f442507db7f0b6f47a1fbf70e8134ea5d7f85b02eb60edc56753a92379c6031492dd87afb252e2d8742dc48775439d6fec53484b5a53cfc5d7fd1c389a925cf804a42c28b600246aec5300216582d8cc55d60cc78ea5e0aa0abfc9fd43a41c642dfc58016f8860c4aa3ffd9f916a4e992a52391377a5f948e4f74513dfe0a1635b2b5e5468f800fc618e092d87015ceedb3d4b12cead3410229a60134851f19d708d101f0d59d1301325b9bdc7edc315c4cddffc73e2e9b67342b0300d617160da69da8a6976df1e63a10ff7cf61c1b1ea22e3abb73bcae50d3e74015afc903b65178eae2eddfc86ee9d3485d27bd51e68da8341d0846a3198a115abc5b0b293f84f955ac2084f88c99b3d323a531ebb3bf68e1addfc26df2d928e8c69f4823408009dcd4effb422cc51de4cd499f890a07328ca2e4a1fa089bf0cbe827e263435eb03e4c2245d783907fc44400f05b0453b6b1175c34737671e1e5dddb474abcf80ee48dd5b249aa4aa4cc86856b807c3eea5175404a8f6571d58a4f0be55cd3cbf1164839c0ef22d50e1bde3ce337afc86fefa79ea927584cb9db95341f530e9ebe185ed1cd233c2c47ae58047c35193b5df44b45b309dad57d2fd18d72215ba40d2077880461ce7f8ebd7727603730cd72b837d29d13a097c62511a92d1db090deeab179fb0a70f894803515e2fd9871d1ba3b9f01efb8fe0b78e9b711d7dae3c6e3d02373210980863aa0b7d457b11cc0163a2b4544e8361219519411e33837a99e7c1bbb197cd65b0b137ba4061f02419bff1534bc9513d5aff350ed0fb94133f0e56e1ff764d743ebaf035ca125c3670e5afdd264505ce2bc01eaaa2691cebc5e2861fe07a13a85018495816df601ad7dfea3c67c438615b5a8c7e4918913389378a33005444fe2589055b196e38b0b727ae761073d0ba4b9282b8a984df0291f63fbb8d6c49df3a77564150cd6c7d87dc29c996890fb329293f00f08ef61d5bc42a9bd8ecc867ce163f1fbf700240f72b38a6c4e95987d6cbd94aea4f7c2af77395abe46f03435dc8486c07a882789af8ccf4077250bfb6b0ef6065568111227b542ca5686d97ac9bbcccfb66ecaa2e5b80d6ef7660de49fbe15308851d98223743d36334568dc300375e1943ba38d6965f5d96f94b243225eeea6d4e6e3b7e4549bf07e74d1e3822e320b1207d3e5e963b8582755a5a9200862b74d5fca956909b0a4ef7d6abbc56e8694b16c413ef86ef8cc7d4e30a43f5e73f98317f4be90d6a1141013ed1c8df24b184d5bb8a4cde09b12e9c188300ba6243270f2e7b07200f8af50e9615de4149fb84dd3280cc9dffb1d5983e40437293167e5d5fa16c196620489596e50c41777432cde5b557c593bd9412e111bb487d9889c07c2a267a8024ce3c7b233a1cb9aeb75f4c3055bf87855739413ea752269e88e403cd4ce931ebfcdd1e21e70c20784c0c09e4743c3c0830497154d2d0d39a94b4f568de65fc1f88ab984763b075c9c30119cad24518df514dd16740c9d800bd03b73893018c2129e0eec47e7af60c09da626abe4215628bb9d75c1d6d589128352b4295297546aa0cbfb81833232e2b185739fdbede6cdc6357e0146dd4a0404b14976f175ee3ff536fe0196e5a913bed87854c3cf95a4ab2b1a4eba303f9bc99fe8b659239928105d412c2a3c989e5a073c57f4506de9e376e8d859eff3e462a9d4cdaa435f05e96d7215c4d39b195de14bec81e1bb6eeb16cfb75edd74f0b080c3d614d8887c3c2fa050446166134fac81cf8d5a802cf212d3ca3e03176b4b43f412e8b2bd0f18e4fe8e2419a27bf66636a7d64a6e335921607b2328f06bd0bc997854d34b0b74f4dd1c46b806a80f48a62ca267632f6e60007f535700d21b327501b6434aee002b2fd18ab9d7e09b930d13373e52d894bdda614c795a1fbf4f8ce5b33544fd95903c54afefa5672936d08afb2d229b91d9b0d0b4193ed14533915db7f42c46e4677430cb2b236ef57991e9beef83557f440cd7cfdab52cee65c3df9a41437f9193b81d63bf4798b2a25d2cc0c8f6562ffc93ea41546470b995a764e0d79c85959c322349be30040b270d3e325d5fb7a7a3ee93ee2388b2c833cfcc4f818c9f2fb86cccfd1ec6265aa1cb88652aea1e835442045f68f5ae907e79e8258f362dda1365c7412b37281b74c217b443ec130d716738c958fd58d2c85f2bae84d037b206c6528ea0ec9438c7f2ed2f64c9101d78edd6ecaab506ca117137c33bfa2c0eb806492dd6d24df3a3f2850f2f6d99a3ea8ed7214ef75184cedcee88f98472dee5f45a82346ea53527473424401480c34585783dc4640e36befd5ea3774ad334979811d12421e6786a287b031c801bef77a042b5fafee74ff4458d12d680256c6b41af79d610ce76f86ccfdf62e33144835f6e8d2a409830203fcf3da55c6562a6bcbf942d2496deb0b3eda15a3bf52f9823d46db4118f3046549b81516ca8866b26ab1e497ae5a5e71f83e55aa60dcd3a1f85428ad4d2228eb7ee33b8e3aa4d4ac7d8ada7619cf9ca555f572a502268d64ae02ca81bbe1e01e74d9814816deed6dd17626844c3a2c3e56661673070baaf68c297adcd5084e888968b2e750f33400702f9b79c88801dadde82dba688e6fe5b2a12eee756dbdaec707efaf476071281e140b70706c17fb531706fd8c02530b38ed7824f1dbfd4e063fb4512e1df430f636a354aeb42d15c98b31cf92767c1c06faba05d69e49dc67f909de1020185b347e8368707588d1011373cc05a0a08e96c3dabd8773b34eebe1b7ae53b6f0d0df2d1dc9eaf3574015d8d8c10a2d2c542c9bbf96059fc17c3042c3c1fc2ecaf1858ec20b0a05dd8025cd0dc0a3e0b038c62de9ee912cffde50313dccb72351fd60a5189e4d3f48150f357b166694b6c7c071a1598ce729e600006c46038241b2a1802d41a04bb39ad9c19a483b364873683cb9e8ca25e67150a134c07f0d036619ac8a18a02ec3562369c2011802d1affa131d63fa493e8660659ac7e833c0e0ad7ab01edcc13b1f6b8e4bdb6701b2a436d617dba7429a33a0a24b7d81856fe19cacbf984be3311975443315ce2be44e11bdf776ada3382b902caaa0415c61753ea830f5d533b6033e51fcd3a6ade6fb33978992979f593af021097dc23d6f212d0c097c60cf411865dd4298c45778445f6009df38a2c90b10e9f0728ed3ea31f863606e3d9a418b0b53c6ff911edc8efd120b0a7b5a88b450e4bd1fbb7b28483c9534d16b843bd52254f2c3a2bb7fa2c0f8e74bc58b40b7b0ae626c264a1e2622f53a6bfbe0fcf7bb2fec9020ef088fddee389bedcd170290dc85009e7493f51e6095004a9e001c424e40531cbce6662b04b7336e9bf472e04d0b8af856ad5e09efbbf77bee8b911825053664c6402fc887fb808127a475b09b7a3fa7e04d09b18500288f6ae705805cb873670c7aac6990447e740f7708105401046b324e74e117ffee5734af65830ec452841dca3d11ce13a29d1f3058f039a420c96117432873dfd5c03e98ef27c69bdce22d913c9298449fa088d5eb70145c94b38bde3d75f148b3308bf9629270fa8754afa68c966183506c6b842a0030541179a823a289a24e09b79e17bb8de7204284274eff3016607d1800563180ec30ee191bc2e6ae9df378c0fd5b2ec5462dec15e86bdd1e5065e699e1e1dc702f8528d851e362044ec7c95831472b6666ab8013183169781d87aaf8043e29803048b6bfcea9e9f7be59ea53af6f51b69ac9b0471b46872c681e5ff9464713107d33bfce00c605561cdf98393a2700ae4b9dc74964dcb67dca0460c214c0ed9063647a9e7cfd2b07729305bc3470822e3ceb1a6a61276b2d8d3079a070535e602f38c2757c508818721cf9132802d60c96312ac1ecc2e933cacc69a5e75f7440c6d999ec0a8aed1459b36b795e758545b46ab61fac2f37799b1774f20b18b600c0d60c8be5713ded210ab2b606467fcfe856c20955517d3b0f8ab5eea82c9d40a200f2ab19416cd5af10b7a437c6ba0c94c90809da1d043e8b977220c12e31507c9d2e9e9b0ac18677202dd2e4b668a0ecbc06be62b90183c6797e4357a136f02765a2e46ee333bd3f288df3869d83d851a9b962ce7ad82fd60f990c784ea99049c2bae4ced04d3347ab26ba285030e414379377c04e9d98186da8dc0ad76500f2e78d40b6ca76c42727cec9bdfb3120e504aabc794147910c98370f901d8890fe051f46e3dff4fb432d1dfa939e90d8a4140bdb643638d75da799c996035820d3ed4e9f777f8c29aec3adc05c08cec7487786b4489fe4fdaf311ab38713c7e0501665d2868436462b5cc99c348b8518b62da61af0f2485a20cae24cfdbc68305b488b0bf809dba065d4a2430bc8da336463781dedbedaba723048eb6a4d1750c08e8afef5e6fecf62025a4065fb64b24e550c7a311c4c435f28d245fa9185b0f6115bfecc87b94a67ef25022e13e133fc40b81b02794685d6e36bffb3395ca0821c5a255463d7231c60d8963a0dc183c2dc0239fc786e481845e22bbc9109b0ff876e5cfe1862ae9a1d92e96b084f9692bffbd36fc6006b80710b29eaf34a9041834cc87bf91aae8e59be694f1db4900728b950e3311418bde3b89fd7ef92605a085e56cf82ab26d039c9383265d2bb261da05304385273f10ed435d71299f067a951f6ae049b7a19f7b244ea4136e19bc98e9531ea71f6512ebbd5e5c49750379ff44f97930d826f45f7a6a09427b25a1d792ffaf174ae0685b0284ffcc9508a2a574c446f4f967b678bb9043c5a850e1f2c75a4bad290ed9e47b31b1673608eb5bbde71d4ffbf7373405cd84450b3e2c1abf3aa360357cb9b2c33c3fd54b0d5bac9abac0569d8d049efdc6d3451fc8404878c026de8285e1bf1ef6e7a2cc0279c951fa28e18cd092fb7ef8ff13ca8c728eabf6704c16f80f2bb0600f9ed00d554a4d038bb13df97ff69def40867a4d38dc7107c435df1084a7dbd4bb416f04e19171d5d65996032c51a45f23d6689caeb6402f51d5fdf8f441cac3887d9008a9978f646b4b20d0fd1404532551d4ffebe3981701e41d701b2f8dfeeeade107684fd0c69ce974b875ddf64ea5fe189b6a6c867f028348e6be2d29f08988ae06dafd1d230c510d598d80c3929aa9ca9153faf6efd40e256ffe0a8da6033d450c421533c865e157f7126f602307ad40cb10d0d1946dbfeb02f024384e29465400ce974b591cf8ed3e8fa0297c9af7f6166339d1bf50bad39a223f794870bdc80e8217868b58659a1ea4a439c0def7314425984f58fdabd01e5795c8a6b1eadc048f7257185d3780210a46bd28bee418d41c094cafeea72b3bffec1ac4ae4a3b0075f53b24dbf49d8f3c7eccb4be9764c4a53f11854c9541e6d461360dd4bba9069ee21ec361ea1b29aa1f49a33dc6d2b8ec33b1980459a43ea07f01174529dc0548ba1ac9c968d9df16b67d5d5c80f3ec79e146828b417966f16aa1fb398ce70878f7b8f22e57448255011b71d03fdb6f887da85619c58b0ae29263ddfba7e40eb0cfc9685dbca69ab91e31d8f2675a3970f9b3fb50bf95aa363e07286f24d1089aae8b2dc13887a8a8ece483a58bdefee83de88e816224cee66dd2c899e8fe0a621c81a08d61bdab3cab0924c0419e49dd1b6e4e048e4c4bde7b472cb4daf502d8baa57b816b339f2e2342d55a167a5b2d233a8e6a4f10efe72f155746ec1409661c66ad8fa0234b374e61c648cdd9e50653ec5fce9520f9f0484f4c9222aa010c371b87dc03280a8e9fbc942febb91a5f35d5a70c3934f9180385f17e6b3b010321d0912a6cae28e4b7db98b4ca1da5d7a74d2ae92aea80e9016e36e5f9a20953108a943d35853bf33b89ce252b4bf14149c006ed6f00bddc9086e0ea41c405c71c0934d1a8c2c4f8f2803ac2671dd223298d3f1a6052af8c342f0514e7030fee862a21ccbdf68095744dc8da3738fad64e4c29d283ab83f93f47eebb627c091df807cb8f05bb43b7dca86856bea455419d76d3abaa354e540671b3c147d708d6aa9c65f97287f17d86db30b85b4cc485a5ce70ccf5301fea01fb3148124a024c52a3cb5c568add75789eee535e05cc488f48fee7fba1dace8c535aea03920b0d09c569f8ceddfdab1a3b4b0a0707f3e939327362f111a317f2ae6b47dfcb0dc80b9d68e52c79626358720f96ef933a7442ec7e92b65e7dd4e2fff899a501060499196cffe052fbb9eb2b39a97c4876defc6c767c8f5609d5f93c28c5f8f60bf88f5e9169b6c16a945814414ce481b96703fdb037979eeda00bc4eb8c47f60ad695e35b27eeba1b3a0ce7157acaed2db88d29785f65564d1eb3c5d911b3ca00e741c1a6de8c7e559a35859a5fb04413be1be68902fbe2766ba1749662bb570731caaa66dd3dd4ffc7e3ca4ea8cc6949a0154f7043c9cd81681c94ff57de260cb2a9cde794c77445b81eb9c75115206f7436c63b4752a9cc714d57687b5d7a03761298d7cfd6d15e84cd42894cc00b6af22d0fc4e2026a07cf2c23dca0aa3c0845f7063a750bb43dcbd09c3fd7f24cbb265ed31846b917b33e838ea424c7c80df28d5230704ee88bedcb38b78cca66ae37ee92ba8e66879dfb70de6edafb0d0c885dd2ee225063af9d1a606411c65d62fc824a8eccc9c510890e2e901939c107d5eab78d71ec84963ce1cba8f0fdc5952463d7061f77887ffbc7f8c9bb97600ff4c533d8c4d5b2697680c23ccce926c0081d5c1e849cc8299dbe17c3fcffae0638e3ace0acce448c3f15094bb913a324d4841f49ade26e9c97b2ff7b0795350536b8fefcad3fa94b4d20d51e0c48eecf031fca09170e13bc774cdc3230238a024660540375172e1af8567c667ec782e1694775dffaead547daf35d1febb1410bb44f3cdadff9a17fb5bee6f30599ef1f2b2d8eede10d7f8f7e1943278df42409741bd6d3b27c1cd66f12110283fc059c94b84215a7605427563cda87ff60880f60bfea890d78abaea0c43525e1a052ec285b31883cb6bbf25c24fe9f6a1fe30b071a92ac6d957b2414cf85472de6d96aca312ebd58f095663fcc2f9b16e1280fb04706e9fdcd346ea87738ad502eebd7a9cc7d4da873e3d5832e183d15bde8056cf4faf2d7dd8f781778026509923f62a31dfa763843206f9ae36ba4d4423f01d0930303251fd12b13bd298a8e11ae352fe07b4190a25479df2a726e3d9fb00a3f520c01e3165280be133a84db9e3945cdd8ab38e71b8bdbb6f0f8cd81bbc20ee80f7ee124c6ed68477117fde82d2db4b05e2b2a43f6b9a13e32140465ebb607d8f04d801e6fd12908983e1f84551ba1227db11644874610ea8209fedee37f0984340ec4ec31f3305e501d34ae5ef0a9fe424724a69972af1d9b3c687b8f7609c8c15d4898f72a4c727fe8e8779cee37d28aa259859207a6075871659503be000bcda9d0cc2c18c3c629e79c1ac3292b014cbc0293bc17855d8549dbe545260041327b8f7f177d25386e99ea5c05f4eed6c784f4bcdff1c57d47a5abdc67010a776ee9dc393a11d1349a68d3b5eb5dcb91d9f586317a9d4ecace917d92504c01936e1659bef0a9ba221f4cc5c19a542289fcddcebc5b4ecebd993e3ea144360a2665961d1f7c4b194b219902a31eef397b6af01565aa6faba4cbbb4a3624190bd8e15ed2018ab9c1e50202c36f14a4f640157c2b139834f3dbad2ccad792940540967b4e12d4aca2c04f4457afbad983d2a0c036cd3a0d3c92cd3ca40a8cc20e5491886fd9cd3db60993bde6045e3c9aa73430f163baad16a5e2a35137607b07fb2c48c90855397311bcd984077c28d3cab0287e7552882e7b3d8c610970e70d2403daf0d5701c604e79e146b7cab6ffe275329298ee875120765a2b5ef84c0b8ab11c783be3b8a87e55eed132422871bb68a45c8f3637f991569e47d824390a6c90cfcb4815ce780ae8d230a1e63fa92ab9fd660e46f74b31b8402f8c54ab03338c7c527fa740e6b6d7d19a6761509c055f6484de3bf192b0466bc97b08c80fbe8a7fa8841e784a190ca1b17050ca287d1e6365b830551be8304b6263ae2a04ead4955d7c5084f2f104564acbad2761160174005bf0950f1a3c0119b29a490fd3aee44545d028c5036b866e698aca8f42ff223d8f36d7086c58f25c4468de0be48e3582729c32e9b0dad58b9b743937a8de867fc682a514f99b96673417490483d5468ad01396c3eac5aea00fc84131fbebe87c2e8b96bf7571e2848c85e70271c7a631cac7737eb28ea0c12d5805b6618abed4fd2214ae21d06578c10db70c0b3054e89eb0587ca984f6229f5475e2c52d0aacb29257825ed6cb27a82fb804885328a2fab8a1d0d16b99559614e6528fd720b9ea0e6e785885c1c41e68e201cd6a09271cd3b5c2d2c1dc0c353cb3961e8336e0803fcbbbe97159174407f70996edd1f18051f9daad4ebda7d1ac2bd600802089560edee6bae3b45e9242cc02cc17554667a1f564321cd514d8cb327d229e72319e339006496a4d9dac9cc109e741c71f2893f11b14df338be7f466b95c6fe37285ac3ce757e123321fc6b102b64af92f66abd77a27680f4fecd8e3ed1f9c6b8bb5ce18699ea7fa790abf2b085de2386e99451684cc3dde6eeafeeb0975efa8e64244ffb0ee0b21d4e18b0dc5e3016e2b02c0ab4bf4c7ae7fdfdb86524393a36217425592efd4f0cc91351d58339b26e1a0e72a747721e3351bd4c63d4544b92fb15b05cdd2ec36eceb23435724dc633987dc87226c3f4351fe47eb5a246aa84279fff27999202738bc6b1c07b71d0213cdeb3bf0e6c193498e2fb0473fdded12bbda98ceaed4bab3496c6b11b0d970bca6eed7689bbe0bddfa14658789d9e9f657b584e62186a870893e2738a0099412838bd23ee63551537fc1fdb2a6fac4fe4970466fa16bef5f01830af5be695ce1deb845829ccdf26d8f79e8aa4e4a957c58a5dc26aef595a9ed6d77d4836105e133dba6944fe82d33d76df60d0b3fa1f9285e90d080e493d7db3ef8c2b8e5a483783c1ef76b8ab351a851856b86d5586ec81b4d776f2b1f166d5e5624d3461da2a76dd384ef83eaaaf72b74afd580adf91db95476913208bf587966dd26b4fdf798ccc26c845176964b5db78a1c67c98a4c5a70c1c045144f83f5abb076c096dff2c9cf11559193443f8497488008f87a76dc5dc66293992058f9c5dff9c32fab6d3f7c15676c4b91e2e59463a1d72ef46efed0561d33ced81e4cde7407bf71ac51ae893bd3b7b666aa38790134f4efa52725867e4b48bfc115015dd2c9bf81059e5d408e9731a9898539d54ef5e9e0825382b515e013f5c79d77d38740b1dc34ba8ab87a5af18f618a7a55dc0e26c9a06845ade61f95a463c34b7b5468c70ecf7360a26e9bd14e17eb78c2676482ea842247523f9e975f33066aa2ec4672b1e03d7e03e9a941112a546dc82d90a36bc4544e4fdf2fe8555adec032028be862d241e52327785539b0dce79d032e5a5642661b2549b18c10180e16f8d6dde21930a5ecd64d90ea13501becfb8ac85d26a72490919ff31cf78b028d3db69e0af7becc3501db21888a843b1d925bd35026723e2d02d9ae1b3a2203b60d6b66b6d3e056fbd4ba0626d8944530912e86836d20c70824450796327df735ef7d2f5104d75e5ac450c82f956c331b096ab03cef331df288a71ac495619811d0596efe45db46dca2043cc02bce3b93e2ef6d15dd67af2de0022d9486bf5c2146b2c5a0164c703277653b6e94ad599b54a9c9169ec61a599c3c2f51f3f5b15b63de1ed66e40d4465995561fdc20f697c5ea750a7aa11460cf5a87e39c40eb2c0f8a4f5470ba10f2689d55a47f946515b9c613094ab12a14ca50cca17b0d2068a544353dd9fdd69d12a6bddae362aa882a4ba7aa83b47f4351cadd9891f00224a543151fa0c0f7788dcf15d112c81a6938706b5ca4401348b7474d5a862948aeec0c4e9f6c9234056784b0a96bb354c73edc31f1b15cc81dfc8f8dae77bdb0962c962388eadf84ccd929e6d87a1195e96f17e1989950775d7fc4a7825b0ce68f0c730ae01333b90065d5cc6917734157204fe2b33e94cf7725d1dd7e691ec570d0140e8a0a06a4939f5e54bf875b7a7177ce689fae8a0ad52317d698755e108028cad9e122a7157a3aba4e245938a128d01f2181103a1f37cf28326643656dd37b14c5b0273a1633ea8e42b3dc7c298156963e25ce58d62e0dc328f79649d018de9bc693acb989d09508076f1627fd3f2877146b004a61691b7bb21f029d387bf9de8acff25db4fa5b4ae5a822336367fb9cbf7f2e0137599a50d39b03fa38ce5efb327eb89bfa107a2b7de8e144fc489e7e53f25854d2a8dfd49d7420c975cb1fd1ae8ac339a8f545d9fb4ee7d7de26fe6c13bc13e890af972857dd26f5450ccd1eabd65540448198459a35ecf19f19b964505048e5fdb1d6aef53e4ee1dea755f77d2827db7a9328f7a88c192200cc25878ee9be14c7a543476bf3381401940718c0829b038e13a355e08ece707c085a17079a96d8a91de9e3ce88df63c405ffee577f5cce52e750c2e21daa8cdd61a4f6b3aeffd47f362dd31e457270f760bd5a520dc41576132f96d13d61fa89be7b236978030eafd2ed281a1e32abc6e5ac2afb2611dae1d45f545f0e7797a057c01bd0e6955aa11e414aa82a81bbd3f46438f7bb53871df4017e9b5a1088f3cc416f92f2b29ead4822081c3dbfde3a6c1a0f26cdafdd53d494ed28d27a4f4294b168b85d2e244a08f254c0f59f9861d16ad8bade8d80cf7114ba3986fdbb1067caacc64a19150386fd678feb1cf5b356539ebf6cf97f6f205136c84a5dd0d9c4b2193dfd45d0d0f5c7bd6b1c9d608e81b927cca304df9c563f6600407bb5d61136b0033dfac3fb63bc99b0b9f343b9a295668fc682565dad8a254a3f98f2463beb380a1e7d587466fed8754bc9dbda4d684728c3a5cf7898c02bfa89d89b9c503cc2fdad089ec900aa683d375a10ac82708b4a750570c689cd78999a34a25736e619aa0824fa200e12074707892c6e51e1a133d1abd33d0dbfbd86f3aa279ef6d03164377639c684c7bc090f02c4fbb181d5934912319c9a175f580a3dc5a6c705a2c8f0ab9bb59586ec817d4f772373d13f5c30a13b8a4bd2b4b4180679389454a78ff28fe43a47a55b4e237b62eb2914dc110860b3f2b2697320379e7ce86b9159462b2b92ce331a6502c64f2a518ab9e5960d0d11b0dcca076fbc6f8ed0a2dce0d8fcab72d090c1e3be0c2b5e1fde816065c84d1afd542e24e3983ecb5ba657176406236e74238d9245ba8f00b615668cb65af82a238cfb46eaa47c936c0acd7465d9031a056ab81b08fe7e1af69ea2e2f8ea7dca91c48220c63f58a4d3dd7941956051c2a5ae770feadad8d46abb876f8de0aaad996cc32ec34fd33e13cfb1aef833d7527d9cacc91294959d0ad7caa74f9fea61f024cfde716663a6482a25433a3323660d3b7e9ddc73a1aacd039123ef74fa18b8415932fdfc6c58d9bd50d9b12f9c12e32a2d07e986162d062f120a62cf4b24811a7241de4c597ea565db4c5d54192abb7d0f214c370a6c9643a0034fd793f6d434b6ff68738e2c4b27e6f26b5f785ae97757f3810d81e48e9fd709af3ca1b812b4d1fab0c338b38c3ccf5fdc758c4b902d290aac3bd9b32d90dd01d8367dbe1c309688c9825304c34ff8c03260cd2f66aa3bb8d8dbb6f778211b00b20f79dbf3ec5bd6a5a0b73561b388b5b0ca3be12ab9f2d418aa373cca02b604611371ac51d0a27d559ccbfa5900a163f4dffa3b592b296c369244cf37d8c20ca38f2c0ebb5577c7acfa76eac439ba44493766eec61b3b0dfc804986388995086958deab08388e0651fdbc9bb0d8d2ef477021398d643f665c10c8de3b91bb0fee1e8c8e5b4640ab51e4f8443136af1572ed3ca43c211e6d2a757ebe275a720b2dce23fd3b2dce3576a758267ee22895998f93e5ba82dca54fea0e3441e1740a3467a5058493615ebc27b8e3ca158ec15a7973ad0c1154821725adcd2f21430e320622735883b223226146044a6ccaa4d6770c646f98c964107517ae0f616f058ef03f99809ef1508d0296bf4a5eb0593fb9f6dc13d411f3b1bf0b7f8f11de01dae3aa6a3324c76838cc0a855b987fc2309281fe92f9de1a6276b2bfd9bd4a086970472e0bec8e31fed46c1c60742173c7beb6c710f03ace6c98f19cc59aa50e0647db4f894602f69c2e5086b197898260b743814208ca9a2a486cc6ddf2f70f6848654f4977bc45103a518ebb84d708776d0be1b4e5f4532060b1f58363d107b57346402a5061e990ebffc0de5b6ec00eda4bcb5a70740abbb8047b1b5beb00435452dd780ad5926aa73abe9127cc2ed7ca8d97682fe609e1ea95348b569509b6b04b6a5de5561fb747d8c795c1bdd747eb3e2b5c35c9deb9c559f343a485045be24b0eb2ef457170bbb1004ef5321504d449a5e667e67f4c777e701ea6c901cd154a599e702ac72861dcf11a53b600d88972b0e8203eceb819674a51169005be7e84b087c941fb260842c49476a646c128e987efc404d86851ce18aa505b0e1997316edc4fa0de33c7507622c7b6be07321bc7084b6f1839f8224014a179094ee2c4e3969a211303b637d2c8512a1dd9a06b3d60dac2f23f4f267287f2d90ce8921c5d584685a4c1f932b52de1e5553b89e59700bf2392fa57550ea5c702065034b464b9c2b891a714d087bbfb2e0bb82e949064d9a90bcc050d0c78760f0aedae87292bf94c774c08acc4e40b3951b59438f7b90f06d6f9037b3dac110c00cdc98ad720cd0df581cdc0d8b2d29bc498ed50b8a2c5d514e4069b107fe9bc07cb9a2e34164579499a8716ab4d417cfec501570687837a0c0afd9500bd71280de1dc18400086a43b7e2b38618077859863c5a2fd38fc5901f1a2f5014143890847c5eeb7bbb5e5a4bc194406cfb9fe7c3e11f68e12641e2f3eeb6f5881093d0af947faa7d516546c51b96e4272a2b060cd5c1129ff63bcebae9192fd93d5940f67b21f32da918074a3d054702bcd510b6139fa264e365b81dd86a0b3f7107a0e999d3ed7966403a74928b6897a434854511918cd09ce8b70c9562118b8e9940259aded98253b97023fe340805bb16ef6f0714cddcd1c851cc94685203d0ac70d2f53a3374aa89c29cec3aa163c2e024dba4385538f80834f2c9a121870700c074b63292deaea23734113eaf7bce59f384644186fb10dc156968cefa91a1a340b9882a69d23f03fba1f045954659ef100116cfe9cd1d2fd3435b7e491aa71d2032027b37b470996c76be53aeee62b9a6808c76a4d6a5a7f00c5fed89be8f4c5004c925c68c6994c813cfb836e92d49d87c2644c530a1b6d93c6d3873274a3290d9daaec502700fec193667d9fcea5ccc21f5868ee756c064872123f7e1fb3c5000e5a3bd49fb0d9f5cc2b8a1f62229db7f014ee1beef49907266f9fe270dd990d04992e5f12de25c413d125aba91cd1ab1d4589b04d2e4efbb31c160fa7826f0a7c3f227722ec75eb774cc6962d98bb40de6fec781c74e0cea3d74219e2d8b80348bf49de27e6667c2202d741ca30d048b89c2f1fc54e90095194ac28ce8eb90eaed5081cd7c2339860b66301318b8490cfd5d8462a45eafc6b7271370bf0d908b3bb18bc3e301c575769c76404f6201e276b095b024380ecf2429b846d2ed3007d67eea10ac4cc4978077a810e37e208145de01e01100d58d772e63af9656d06189156c307ba61b4085102cf8e382a8290209fb3816877f496f8f961a439080783b1de172b2eca0192258ee19c7cafc3e7b19e69cef78b78fce3f4935c22cb0c7858b19c3394f89c3798bb0100e9625a0a34cef0ab103be7cdd2349e1e0d730a19dbec05da75aa92fe9aff316aebef8425dee3be83fe570529af654d0bdbe8041cde1bc8977ba4fc0dfd55b085aa179def787be886d88201cd5cdcfb065dca02ba73ec827c8b1894a1ae01062f15b135d97d805d9ea5c5211ec5f3b4e5627c00bc9d4d8ec8503e397bedd394b9cb62939a48f7f9ba323849a330b7fec2433e03b529eb97bd5f742f43c23ac4699ed79f95fd928b0867600ffb092c3860d6b60c170bd16892859cacfcfddfd6de0d7301af2d34fc15d2d3e23a20bafaca707b0fc5f9a267868fb7c1acab83c7c65411edc3190889d19b4829e92d42015db9c50c21ce02000102000787eaa30182e2ab01f28018f5b6338fbe018315f1010ed88145e568e0c071c8867f7a2afd5f110dad696a8a4f7f570f39c9149c2b4a020002c3c8c0462bdb1881542d2f8117e182794575d75960707ab293c02e57f38d98680002fc6c1195e772a4e9301d880371a0e006947acf2628c0861d981bc93e3850df4a21010abe5e458f23d3eb60fbd079042d5dcebd914116de7fd0305e48f4e4592164b901f0dae5f90747567386045b0028c635e229d4c407e59974534080bd26f7db75cf977b794807b16c586d7880892ba24b2b6aca31ecbc80a6b96130bd758e6636e6c10ee19b066ee486e06308a5f57a7cbfba615971f0c64b54dcbdd38ba809a211ffe6953b0ecf07cacae1ebff692588819feb8a02ae2dc99b65c1c586b7ebaf1ebf67e8e600b1d7d8284605c83579f5b4f7a8f55fe9a5d52d4453ab0142ca30144d8b08b85bf4bff06e0491f8be99c24bb4453932391dbca821b554bb2846be21dccbcfb1d77fc55887a220e0f159802146a9c1a4bcb8c5e608a602e6ad779ce1af34467508d04d9f246003044b282ffa8f9e02e2c20ab8b1223f1667c40be2646ce9c2700ea1ad376093871cf0fcdaeb241cb5968279051f5888bf8089696a255e0f641204dce5508181ba9d93a944bb6b42dbc5311520b8d0c065e7b89da8ddcce741dc0382abce4dfc507a5e1ab7b18a1003d7c8bf7153517e4b7cb9a1dfcb78a9b98806e069be1513b63c8929441cb38465e9ed02ee85fa2e4b7ad1ad0e6f6d5f9e6c03980624d545793aa022de8f8b0e9f56d4510a8e51356548c869babea37a90c30f3bb656c9eee27b0c81b947d8def0f72b98b09a9ae304d4ba67985f6280c63a0f9ffa30512b1df5d0d90e22adc37b868692f24860b33a5d8780a70c66e4a15d014d4164d98f08024cc91152b82da5618a82e4051aaa085e615c4a806620b0de09a1829669ab39e08dfb1c3257c3780bac6b404804c03470d42ad82c7f1e8aea043a9ef68f9faf8cde48821c5e0d34175964b5025f66eee5e6a129bdf6e2636c034f2b1d3f08070305f61457e97341eb0e58324632f49f6a6300af1b60a54d600326d92f8d7efe564bec65e18264b01f7782994df9ab0f53ef69373f836e8434063b3d0a8042859fc17dcd405347d579dcc92d0cf5f8b95b41a53f8f1b48923602ace9796339aa784a56d4914a39b951542dcdb963fad1c9ec1b61c9ff6c4c940fbd2abe13eed9474b4b81de085514ac8104cc37e7f749f9e1d166666b46d88a00613909e20c6d82cfc11e6b4e7792747f7a71a55c988ac67a4b5e5127ae456b0fa147b1674ba8f016f24604c0b43318fab947b1a81a15b085080194e6d07b940216dc2c5c540c5151dc12c38cd35f296dbf62782f56cc9fad70ebd24bddd4d5065489cb1b8dfcad4611093c61a069d92d749748d848bc9c4ea04e0a5ca56c9102337d0bef65cc0b3bf60e2bca4cb63531b05a34f831378dce404dffcc2684b7015fdf5c143732a0c75ca7a478e3587f244469a4c8ee12bbff736255d8bbdb370fbf25c2411bb9038c45f033571346969b6daa7435cce390fa5d8711482e2a2c0e71749194b019bfc0518c559c7eb7bfcb193eeacd02c6b7b2724e58ca03a4730887d1cfa62ce9e92164e5b6b5cfb30ba4fb27cfe0565999df2bb2fffc8efa67085b738ac7e493f37aaaa776e5229f51386ea25ea4f65c9627e83ed85270494d0bba74bf62271922e186b0e7803d8c9e32ebfb2daf7af6c217e27b96ee8291fe0b1885b42225ef76ed71c76d5989c696855cc39eee2330234dd59ea84f9012800e40d5d6e7637865cd486606bccd2642097388c12add87f98dd53500f2d85f6c046bdf5e2704c6a54a8147df38dbd2a60a8e394db56ed9bcc63a89b4c5adad9c031169914d210539ce6ba8679cefea3cbf2b3444b846dddc6676e570a9e4159604dade0fa7e1995bb0c03006249e4e657d2f2df2f0a2276bd6dfefacdd253034086dd3052febb181e7e941d070fb334ce395c35f538f08e49a310d66a1345789062286fc8ee588d7194863764080a7773e48fbcda59803fc2c0dbcf47ef3c4a10ad5eddaba1b67ba998e56d5dd3f451a55100f59e1ab36fdf38e110f35ef47000051cb374a0b21e1cec9c57fc3919151c69bb819eec38b76a4914db571746d1006983d7f9458204c0201526419f444763cef76df2c466b815b5cfd68232b69a803442f4f6012ce39bea8e9d880e2108d3d1ecd84282552eb301abe035a528b0a05d24e62dcf4557807241353103192c4312ca581eba42cd2405970461acd82e703c6e55e82dd078c2da00dab53f6ca7664696c09b1cb2b86d08c16f636a8a8da074f3bbe4cef976d0ca76dcd0077966183c9e79e8cb13539d626f6cf7a51ad1d029ef125a76d707bd0737e126ebe177b310b4ee9d49b953e1331c48884f4c988035127e7367ed77cba6d83d1b8015a81c8a72aeb46b2924511cad068252456fb089ed7c4d63a8ed25de89d91016016f1f3425df3c104194a28a8a679ae581f8d0379ab1a163a101ae98afe7719885ae38170cd609d9b9a4799fdc07d3a840e8a006ddb9873ed3fe2e2998eb14f1bac3699aa89b76fc27b7143abaae98d6dfe85026b1895c2f1a97402e9363e283060d929e2846031cd4683c43e74d1f61f6bb80451c658527e3685ca7193f03b295133ba095ae457dcaf6a9c784d8052f6108a049f2dea5fb17fd375a51791f78991a3347067e108d98ad9ca9c940f5fcd3b220c1bd3f3ed08ef7aa32ce45bb8c786da77bd6fa09efa0f527790c2db17b48d550475b14d29d9e9501c3636c315f19f920a8418090ffaff0237c592a7443a80be0727bf6d15266e8af324b6d3fbd4c511e9598feca7194f70506d8ab69ce0bab801a3755fab00347391c6a9da7e41b456b08ae2d7455c7dc7214a4575f7349219035fb1727464093e7f1570f21f521a4873160930a769c6b3cadfe52b3ac99bdf0a3d2e03c7cfab8f0fc3e9f75b01123a4f8a5a0bcbc1e204d3d932b23737d9670429b293ef8cb5a53fabdcc2fa68ba9ad50c2e635d09d5360dbb6977a3849ceb0516f28cbdf1e0470b6667c2fe8242f5d366e1564f1af6e3c0ef8024566b50840602f4a8c8ab011bbc0d9781ae1b4df06f4de3ad097e7053adc8b4dd34ba9c7f06f3dad545462be9384cc54f078b25d22f24747e6834d9c8877211e186c5c048005421d91ae9720ebc9ee69aacf45218bfc092d3b9752b607ad4afb7f63f0b4003e3b42e59857f96c1dcd200ebfbdd68b07e635ff5bf0ce1d5572091dcda34040047e2e3fba91959fbf11d89108ff4d841c4a9a5d0e8b7dacb6dd4916b4a3c040cb2127ee8040e832121d45f59aceef007012b5999dddb365502c9dac7be3775080358c4182489fa3f4db25f3d7a98706b0404b74020f9d0ab713b413055634604f1121016a94b1f8bfb401531b812db2c47826e3d86fea61237f42dc70f4b6300331ab66dc0f069eb71c7ae21f760317d584071cd36406eee781d2e3cec886701d4d3cd4ba7bf22057066665932bd2e83742a61987509187af327004fb4e09e001c5104c687d83aeff5e19d253774d9d4d36796353798e907c95878e68131bf0355f0bf75e0d167e3959998b3ab9ae576968d1f50b18bb818152c8c38ea27970846c479b86e753c9387aea5239c7611a0cf841e3d2818e262f7c525c2082ce80b635071a2349f764ddf286a978494070d9293cf1de090d427c84f515077e2910d54304032ef2032a562c9b5c87561b0c3b6ede9fa424cc42a4b75c1590770690f03cccf5755a230cf845cf1c0da8fb0e3c192668e104ec47b0c4fb1ddc379870e8ebcf25b4ed9eecda52c4d465573377affcd281ff7d2866a541cc741c2ceee007744dda727ed64947b848d6bb67f96dee49a6f85a88c6917484ed2eb87da80084b727741f0137e32afb9207bcb65c6fdc30e42a0fa9eb379d30c5e084165e00b7d5d2d6523750c64be054b484d1c91e145917909138a1f3e0633cb6cbb3ceb083bcc3e34b9765aea934627a01aff6f4e61603b1b9cf381721ab1082965a51e0920ae59d708b420160337f2f0b84370c9cd89a481775cb63437d0e8d7ec3c820fb17156472d502a62152f57cbc42d05960968371759c07ed7ec1a2198024e5d0c0c8060a4ea07de6e22f73c935d082590747039a497c26dd7c50368e1a426ff0d94385a357df392803a5680c80dc2c20a17bad37f02c5dcf8a887d84e6fd0a30773b3f5571e53b62cb16e4c2c91b1aca99c5796919e229653eb45c926115bdd05df4dcad8c8668a604dc6ac8c3887018c53b0dc964596dfc1a2201a7116484008c4ed7d96953886c37ca4f70ace827721f851b5a9b6ab6d186ec2468c83adbe070ca2912f5f15098a05f67069ff5b0c9800fe8096fa6951b444936e4f49c0fc08dd7fd59397f6457a652bc9c8dadef7c3a7402e41414d96771275a93f4c8c8c0f69f1ad6d15e84c861e9dadb6461277297a2edd049bcaeacf2329f3e12a24fa08e900d1a0761bc513749bfda62fac872dab4f99c30dafce7a8985bb05f3fbca03404367095a699ad3086d2b81181a553e39efa126de37073a6f3f2e58d9e36f0247e086e5806522bebf60b7322cb75725d7ecbed9a0b72033f444d2c70b70f50bb9638203405adf410e7bf625a4b7ba5cf190432b39101aef5a9c1eadbeeb240deb456b8f2d4b8cfcf7a4e1cc18bbc4a97a5fab6f20aeb1b2ad06df7394749d04c83dce6a076cca30ac9d02d764c65d981fa549efd48b1e82c395657b4f615d0b372949443891e966ad6601faade794b9d996290d0208117690cb4727507a0b0142117b8f6e55e1c4d8e0088ff2bd4d63d3855e530905dc2eed7f17e86bf29a096d6be8e0547e17ec244733ada519a019bd95aa2ea085d5542a07b261690ca905ea622d2a00b840d54b780c5ffac9213b955e46302feb1cd649bd11d555b17d0fa57ecb39003547a31c8fc76c8e0ac1ecf47983b949778892c42c348affe33e03f1b77d9f9f636cc72e87619b26a9bb2c7a0cbf6d0a700e1cdbb8cc4e0a34a808935cbd8cbb381e5d7e1fbe1d7fd31cbef4e0fbce061f49476dbf3c0bde675800a26f644e8c94faaf98f325ca35adbfc31895ba7cea0eed3acdae474b48c56f056b538e78a734cac693ca9ad9f472b0595f1520ba3dd692b4d5eecbbb3075350b8a2b70e0d8d8d4768ce8d494058bde5ff6967039912f9d12059918eef85df20bc8182d06acc56c19660a09955e0505e2da60692b01c41862161463444866540285a91db70c09774bc8d17607cd0406f2fa6b2ea6e75dae1dd914a603eb6a430c1e198cf55403e7c6e06c2bc70da3c44110f916740989b676aa9c82d0de190e088db7b9c2165c35ced37c2a7374ef01fdff2bb0cb9ea7424273dc6c423af8ff07cf8339305f333880769300dc6868e35b1040f64d2274610cd0944e6030a6570872d356dd2cc1a69ee62161eef265c684eaa2087be6cffb9466b4e46ef02ec6003d267029fd12f1f2b82833c10cfed421a669a6d25ae11247f0c3454350b47e058dc1c403eb3051dec28bbab5ff2f6bcba94ad6fb9e6f6340f86246b9845bf7016af4f240f80a157c0d523b76dd3c0cd768f515440ca80ae4aec42c7c58bbcf00531c8c6550e03946260597f988c51243367471a73d3a700d8bf9d13dca018202f8eeb304dfa94439752b3891089d6a583620859637bef04fb6c7d32d2fb34803788f00ddf6e93ea3d722914f041c747353344bf5354fbde10d866bde0bfa520b28d6445903269f82c5b777b647ca79c8376d5fcd6dda17f589d4dd90cf73fe067d98e9c7bb31a837511a07c9bf07d49222d2e133b296c4e8c9e3cfd4dc337500b23402e607f290b9d0d4c880343e36b8318ea5f65c7e67cc91eafe73260ca50c22b49e805fae0a6987e1e3b971d8723a042f1a65724e4b8183d8f30f8c89ed0e54af12c0722733f361e591d1cdae2245fd86b053fcd0afb8304158ee31222806c26049dc1ae44c8b8ad927fbcc551ced71fdf4e3a2860d3c1fc7df8d4c2ca7023b9d4f5569cb61c2813670f39a65058b71afb1e96b5bbf5e64b53ec6546ff80ff8ae56e7518f01c8945047cbe71a04d25062f2227e0cb3a7557df588a782fe0945dfe6db488cc4ca7d80f5a8e1a87af62e6ca951a8b51f9129bb6c7db55ec60c55a7492fa22a724959159231b7114deb939cbd34cdc40ccdb061cef4710f4a047a67c9b6e5c1a679dc0b6e3c26fba53455693893c96f918022a23b2bfe2c5a0ac3b286faa037bc269cf90cd80c42cd2fbde204d3952732df9d8927dc76c8b70874fc323bb2b68b7192bd03443513e6295ee60b1e84022aabbc4e492c20aeabc8e3110abd98858365931a90adb455e27c7a643e4b33cf58fb16ee4cae207811a00de260cf7010c39e876b43c02fedbd92e0ba172ce639e4746d0cf3a6398835a5b345702b114cd33000d3e1c66b13b42514052e61ff65cad1eafca39839ba31fc37f4680e924f462e49fac0c38b3ee8a1d01b986904facaf3865d1e6c3d87495ea83677200c71df27ccd47bb39bfbb46c1af2f07c870c9467af0ffd4794b3347bd806a5b0d69a9045a0676080287027742370b8590c7cd7e326e0436eb63cd77913618e5ef8b0e13810539f716fcaf683713534f334486dfc0d3ddb16bec6d2e6924eed5bb317b24e2dd5bd5c4102a906e04019a6e8910bc0d38c539f5b05c3832c93659cfbfde5859536ed0edd6f49a0ddd9960ced543f29bba4fa228dd5593342ebd6849087f9cbe9902fc876c6b644c0b2e45d77ff8f99b982c84e18d03ad17807333e3e3948f4de39ca72825d41b77d4beff03011ce3a89d33f744ec4e0e610426e7123faf4e90c4d008b655d0bb924ea26fee65e44648fb359f18de846377bf3d64598bfd723f2e2823f8b8f7aff39eec8208b83315754730f5cffed76bfb90bd131e854d397915ab54e91b39a302161ca2fed09de61cf4ae31bef7e2ce896103ff9584929c152867208c19451a8fe0a0e4fd16ac136abf0a72c38bf787c6b38bbe7175954c02f7c4a5ca358d574a3df90aff080d9cc3192f24b18b5b6909bb7b3c6c7ce981a0911191e924e98f2a5ba28eab49c0efaefc95fa43a8f9be158798492651a8254a378f71c1fe1a8fa255a87eefd285020ea9863ff149fdffef4e8d42cc718c58877eb5e434146ea318145f282a64f5a1d1a452c4521bdd9f1f75d4becb40ae16354a031b4c95fe9cd1506829e678fa48268702c1c689fa0f339c0e53565ca9550472bfca4dbd174d29197bdda05fbbe7e552240fdbb49ca1f9a645b8ed8a904c0367d23f616ddb564b15fff33ea797965d4e228ffa196737d2e355a11484ab390cf0100671d914bab69698a4480525226313e3b664d40f9e440106017c0db1859dd560b779c2aa532c2712d8855e3dcdd0fc8d84fcb1d5f04f95bfc2e3773ede40054190d02483654a14454d6291607759f40495b2ba7f39de92fd91e519749f0fa93507d9530bdcd80307c95a43180a610b1fdc7bd02abbcef958d0d6bb0f45f85b32b59f4505a8b164057fe69f2524c2fae01368c479afd1a7c23df5a27c4577b8027700d8cb96caadc3389c7fd3dad96db185c835f2243541f00d26eaa45323ccaf3b02e3bc09ba9bc1d5545d6e62d74297ff43d51800077a1e29a7ee457b895b5d4291eae385a49516cfcf6ee3206a245f0c7226856ae57a7eaa7511fe0776437df88f98beb92ab72ed5e9ce5bf0bd7b8ebdfe0c61382a76e45c3e89a6fccc1482a32c4bb94422664002bd64f3c786228d171597b20fa20f12e1f19a19b6f91d94fcb74ba2f81c54a6464fc9a62cbf69830c10c96647fad5996a76a5114e059240e00e58312cb160edf0e8baa5f6e4fb935667bdbc524c0bdaae76d4bf288ff2b4a77467197f82732a6d09b853ab24707deb9d7e5cdeb86ca0bd445d5b4671f3d899ada642ed97da0c281012894a073203f334bf26f515e522dadc0a84d89cfd66e9e1e70d279aee3e877d924b68b4fda727278db080362dcfd01b156db8f58882add2a2f96ca79ad3f960929ebe92cbc66895b5c74405bcfca017925c85956d0703392f2581421a103d87034e9267a613ecf4694fcdc50c4ae239b4b2ebb889678b80691d51d9443579d37cdd9e596b63ab82baa7b16a9d84e65748ac12ba317569e9ab4fdd2264a827ada8fe5af8268acfcc4996d5cce08627a4aa7e588352b921853751b71862d661384980b6854b52933c3a96333858f4d16884f6aa74da82be179d027b4798aa0d0555bc564b97f174c2d2f2224a808945a66056874b88b470605c57c836da8a9d8bb3c7382b12c9dcd8a952c3f207346921a80cedae9a051fd784987f12cd5c962ad18fa2061d36178c2b0e32941279c8b0b947826d383e0f538970b39dec6b5bbd366d940519bf3dba8c718ce8c253b761b8b935cb3f72eff5bff5b709aa807ee4160cdc92ec3fc7b74bc62da56faa690eaf1c5521d60a295cef38634b32b5192a119527a7b6298a2d15ffc87fadf8046618e99fdae5a911075f4ac869c96049f9b48889089a587ab43fab1e8ec9fdd52ac21ac1632cd8966de7cc086169073895a8e4e6b3169d994c838297399a31e0cfd019e8a89ebb2aad2d05db55acf2d8a0bde3f7305aaac526d9c141d136395764464406973602060cdd63928adc54889c28a30d94185ff984a1e53c145f9f65354e60b1815d56634265f8fc1236872c0e6a2e2a2da1b0a0241d380f1c07788ab3e6b121ec5a675fe55fdea805c415b9be6489de68840b413c579e43a6660eebc1af294a7f0f40631c8f7d9f8070975075ca1d7d757e18ce90d3815dbdb829f67a0f250e09361d5c8376703c8c858bf0e68d81554a6cf4d89f518a0f97c3b3f1fe8bbda943826e6b7fddadded7190e074170e9978458b056e65b9472589af581b93611a1f84545897b6c60dd23ae4514eea586a9457512cbc61e404fc2ff8e4549ce9b23bc6d8538e721ad35cc4b64665097086d054a077eceab90fe744ad44e1e579a7fefdf8475f5afc1566654285bb66e32fcf1b9837ff67c736cf7d698447b07569107311232310cae6329bf41700e2c60febea59e0c48c53de19999a4586d04a07699797370917a643028f7211cb3297c382966fdbf67fd834bdfde365c5d2abf78b86d9eebc00eac94de5abc32e52eaa8ab7aeb08eaa75a8a55dfaf66dafc0285ef303dfd7e7aac2abfde8c9871833ed4bd4cbd6b00aba69a0c742112a385b7ec2f1c8b69ba2e3066e46b59646acf07987e86e028d54380bd04a3db08291cdf10749f60e718da38faf824e3f6901c750651fe148dfeaa71690991fef70ade3cd66093fe796ecc4e07e5b315f3105a1edcb25eea29faa9563502615ac9717e1848aed601f1b49687cfd3c12cf670fee1bae504744be6c4bb0d02e0af42e351982b3c7d9dfba6ea41d109cc5161eef8072618d855bd3f9c07f60170cb6005f48bc3c0d27a8deb5d0781af70ba4928421c514a8e78be005c1fbb09d46ea45b9981cbba68e4049cd16718b2aabe9dcf2ee50c73b05a5db3f826f0038b0f0157d9ad0cc8cddf257dc600de431131817181fc107e1fbcf691a1dcb7030da82c15c22410d589a40f69a4917b415b52f631d271d26834c6689b8d7cb1042cae4c6c91cbb46e0b745f2cc15b624dd29abdeb0666525ba6eb3b91d17dea0fcfb5ecbd31b8c48d1d383c8e7c907029980485508d5e758b115a83025ed90804fa7f4b1acfed01120d67e61c1615e7039b89976c3c61d71c7371d66eb504600ce466e1c9d14cd75ec612b4b928476b5a3ae84199346ed6d9cc6f6ce7b4a66b0c164d2c77f54d8ae25b6be5b1d9210c93cf0562f3705ac231573ec6e280c49f0860dc2d8411889cef1dbbdfe4a37220e60b48e3981044542be2b3adceecb3300ff07ad8cf3472b44006dc33f64cd0dd58c45dfb5ce6517926d079c135a0979001f0e7746744435929b983edd5fc194be4a76a2227bf0fe04e041eb14e8b30ce0f0d165682c4b1f4c4a72518aee4d898c6bf894da439e87b65c5361cece35f2c0e048ea2480b1a09da7e4143981b3a268d729bb3b289c9771aae48357cd9cb380cbe1877953db698266c03945aa7d389589ba85840a1968f019144a9b989420e06cd919ca6a8801062c14e67558a0294f44a2dd2f7736ead75600682791b7b81091fc00325acde6c0d5bfdaee03fe3f2d8f78b5ef3b446914743a7bbf366ac16073cb5666951c1f935d418c5007f4005995b68095d0018d6d3ce540944e83cc200af4d01d9496cbaa0ef5ed42e6568d94bf54008189186eaa4aad385b51128c50248830e0c3be3f752f978a79bb20318216dac7d655b965214fd1a23a9d05f2d07690d367b2b1de52b25684084efaa3d1da7ceb70c448bc3571c06d4f71d477c07121257871f1b06fefa0f8bd8340be50d55124352416c074771ffc3bad9d0470ecd331cf9b2909233281e17d5dfcd9983de05939bbec745183f0cbc0a5d6c0c06320c797885412c7bcbb1cedd207c5c268b5d3857c26c52fbadbd50da9c131a07d4f44f099ac052030dec5a9c89d2a7501be2a4825fce02d89da3d4b091e3410af500c3ceec5e574ce33bc3e6e5b8a8a1af56a0fdff5185103aedc9b8aa1546082faaa11463d0e9486030e9ac5662b1430c0435c167782362fff9e92cf22be1085bbdf635e6144f8e7027be4d25977fb574070e267b21aa5d56eb061127a9ac03a7f344c913abbce8b991fc1e88ba674571e543b7ad52370e93bfd06c479b0b000bfbb56243ef8e9bc8a59e458a60d472f87bb1fd48063d7c531679c94c158b08760642811896c5030da93311cad7bfe49a43f98693e02f7aa6487dd1e2e15b0e7bae5baee8b00e52f65c6becf23526b3c77f0bbdea9c4f56c9be77fa19e84107c3a7be681189e43df02fe9ce88c2cb5b07d743a3e3f3127bfe4330c85ac53108d9397c148349c05e4e42a0e8cdb5d25003b25acb8ed862e8f7b8308e58ebb404ff048d588671c52dfc0af0e83080d549d45ed54ae94a189785179d7c26319b0a4cf471449341795a0e20b7d539be3f3ca513041649a5a0a1cfb0b3e5cf62790ad9086e35caac3ffd8777e3280e5de5a4dbf8785fb27a8529738c5b120a72e10119b52f06f0c0e9c3241f13211c7a83928f947e9de0bb80b972f22647f502180409499af88f1929e62a4b63d49356a90516a7c3a59f0bc82d196ba2219acb5504ccb6a16844ce021ecb9bef0845dc3b910fc0688f15d2c6747e74c7ed4ea972075e958b97ffee00670cf0a8d7d82a8ab8721e34ac2e13432bcb0893f555c24f09a6c44856ab78e87ca3e7c0d5eeb9b8d71a037bce74b5d458d8c94d65de0d570150ed3bd41401a0da77c4aaedafb44e78e6c3aac0cc2c0e2d60eb8db6ff905301439c54e186055042550f6e56063f7b015180b25707c0bd7b8984ad49341f5d05c36d80fe4e038d4d54fa9a032b9cc3554e74c7d82d153fdf736015f33d49160a2846cb5e375984a56a0144f71cadee0ecbea7c0c8eab235e657509cd811fdb01c286b8738e817555c25f90ad0153a42e29a1fbe7b0647477fd16896bf16ba90889dad3c25dc86cb2bc5ff8f1bfc2af84647d1bfdb8e078cac8fe292a0f8e28089688d65347e90b8de96de6773a29fd455e6e85df670ddbef159f655d8e3da0008a3298a55b51ed75e8774debc2cdfd674982d1ecb9047ece070abfee524675012d7720417ca05de0a4a7db24abe5b315b4e318649fd076ccdd1e79ea53a1b80d995e7aa58566e696da61f998322206ee93a637512de8eb1b992a7f4907d91b024f4e9c48d23a8c43d7de0bf872f2ff8d63c78def54464058576ae2fc86aeb302ce8304a907c12c1f7e2d308474e4f8c4dcd4e7621b502cfcf1d580922f849202bc6d95f101eeb5301f5146ed17f360da00e4f8379456ac2cd1e414497163100446e4a9523cf14a1f32fd11b03d9c2dae05d850c57f6e0c877c046ac592bac40229baa50dfdf9380b7ba6125d14e45b95456b5f88d61b7d1cc65ffd264155fd0fd781be362a7847e5b0f6282f67a759b09938590fc5e7faf30f45dc42240c130f2e5faa4329a44bb9150cf22f01b46dd13e6b5d1ff60780bca5a0beb92863e3015409a14a09e22ab134461df39b9479dc606b8ab46b668d1eb0098d32fec79e05c55a2cdfa2749af0f05a272aa3c64dcb1ae14f61b231d871eecbda72c7199b0b345ebb7952e18ebff3c75e2048b1e1fdabee0a34212fdf2a0e3994a4b0027c04e8085a6c54804ce9a815d77aadf47c893d0918b49f5784d5d1a97ae0e49d70023314b94663b51fa4a2181233c45e6cd3f5bad6a05e6b5d0196fa3d6c1abd410adbad3d13eb0cd932d4a2e528f4ba9cedaad38d1bbdb02cf7f140196ec1d4700a3971816fc0814dea36bd2b14ca566dae5d0d8b5c173f6e835fb1ef5ce70c5a035f6a5d2b46e31b32cea619692dee0a5f9aa9122c6af9a3d843c16120596f590e8f8189da33501f2e92eac15d99a201a9561f255a5e0410b19e52adebceaea5094a4ad39701dfced8491951ea3f04138f0dd1bf289847a4995b429756727aed00d341975c62b683e013abe32ee903f4ac242f62cab5fa5c7f5081659048906c0f4932457039de399af430dbaaf30a6137cebdb056b88dde5ee9c86b80fb91aa0249e61ac39577c19804cd0979bf13cbc80c121e93080fc8f159ff36abd3742f0b2f95704bad03fc9e7b1a8a4df71bff6338d9f05a250dd7e98a91cc6714bd9c0217455e4a80f8f586cc19341b37d8a5c2b28bf6909b973a8cd853dc89ad3c1c04d1428f26a57a3f8261a47b5c67a8e2b524b1ec74e0a24c17fc5e36c119c7b30f6261d4c88789900882cd6c6c390d6408ae7be94ba8d1c11bdd35cf29fd60d00612d582b81a7d0f6fc25d639ece64822f18a1c58cf664a9f55bbb5fe4b74330027b9009b9f47b889548b96b86c56901ce483dd4f77db0329d85d11f9aaabe2f00d06222ad7661c1c07d914f783d698588af1dee51145b3c7771c2efd36fdd5800eb8ce4d5c581b59c74706f7314bd6f38ed21328bc830016aca71b3cda4d0d50755a88df4b0171d09e7bf53707863bd76cac887725c769146f0e8f045944da003df3cb16a6dd9eac9253cd5b62bc60123ba98c557b761a2794816321b50d89b09b1946133778a01fb8f41483d9653bf0ee6a48612f2bfde0d1fdc0efc4999030df0a54b935e0aaa5e3f162b5725c84fa9956795ad8d4a6087fcf6b7e259c644000d61933255cba812d93d1ebf684662416fcf4796ca34529d8154376cfe0af60bc089997c7468842a1586b45eb1914b89f605d64cdadb4123a3bd5c4f384ba90106daddc68bb2f142970f519f1718f82d14303f06ff3f9a2783b24d724f3fcd0a4d03412c557b8c313bc78fab1479129d8e80aaf935be7ebcfb795a3df8adcb0d68e38393443acfa61a57b5f7e3302fbad62b0161ac48c143acd2687aef958d0f0b74d1299dc8fa6a31d6b6cfd851a75232160bdd9cb9abc02e69305b6ee40e0cae1642acfc47390a6a243ce4d547aabce5a032d84fb3333203c7b2f9987a78078a6889ec55e94f24fb03125a3e7ec03c87fcee37fe78235b204a2668b1bdfc0bfef6a3b857430577b08ccc13d8437d661ac513b3b7dd1aced2ccd9d7a98f21036d1405d40aba6002bd9aa1571fbbbc07eea3cdd24a48722d82b440c45509d209e44348382ffb002288eb018d48934fda97428df303c2f8a781701e6810149c0fab60c8f27225d931d3914799249e9883d4772d9fe5b799ac545d342e4e320c0185f0f8617d3c9f06891f4ab951894f6797e4fb993d89d2399aff604b5520a403b39c57f7b7a9f535e0e44d8f3ce26607d5be3dc8be13886f12458e8c51baa7022d5ad50a041dfa6e313b071102845d3ec5626fc61e92f4bb5248918454d8fe013dde2acba40d1489fcb667c9c26bfb831ff5643516ab3b989d14591088e8ac0662a851dcbdc2e8d55b4c3125d00918a3760b32ae01271d60551c198ad4f1ca0ffcc688131ad8af696dd82234a0c05bd87886bcbc7949ef048f8dc443a925d30c18c73d11d080c112bf981d565fafc0d8fb57be9e3821c8194a20b90c87a2190daa78855652665257c38e7fd63e1bb74cfb3341de40c1ac697094df6c2209e70374f1a00a5804ef3f216607547e1a5b11ad12e356bfa74d4ef47b4cc6f717c1020c2077135bf0a8116dfe7d2092d05d7b8e055a3f4543ac0d3a3ae3d17fa2f2049dc8a67d49a22b55a4d8c0ff3e39eddc2b0b7d88fb68ede66aba5a0ce7be9900d446e6ce834c6951b41d2ceaa06fa35b211a307e9022385c4849968e89df2800579f0d3f05a2b2d856ef53810b9ebb3c338a5cee8ad650f15bb2f34ad1d3c10ee5d026c186f7eeda02562d50aa66a3bd49ae3ed7039fb0db204e2832377a8207ae2a2e58ed8115780f66cca60cc9b12c62cea27d4482c936d2a98cca7200f7016a465244ab445089f2ba3c40933d740a76b849dd715dde3827e84e4f3710a30b794c13bd5c42a2c3b9b8914fdf23eca9f1cc51109c972f048fa15dea37162804ffbc64ddc0ee32dd77b33c3ae727b5dc91e9f86cea985924e62ffeb328da0d0b45a61828200a149950d320a8bdfd044b2e27c6570b61fc6d025aa080a94d020f73d15a5bffb8e46ee4dd35822f0702ed16cf172b4c9224d2c617a0b201af420a41a07df4e6cbdf9addef44cd2ad81e799448f942312337c7a73d77d1c7956905f6c95210f5cc360196f0738d25c5272fbc7735dc5b39d57343ace54d07e78c042ea79490d6066056ff8a773a4d4f494d04b6efb542f2d5737be06a869f70cf0c2ae8beb7e2ec244407fe57c6cb5d0dddf16854d6ec08869505ad5b2777397c0a7ace7238799b1faadae99cbc8ccd77c25c2bf020bc3f7b86e43a645ed5e08f07d7c7402313e1f4b6913729c0fc4bc39c8c732930e64689d96fd35ef76350ae04d39797c634b082f4eee4c4d525c241bb4210b905725626955ce0ea3a83fa190ee5e5b95ca35e625900bf7baf7d03e64de99301cd965098208416872db6a38e3f89796b77b6dec03e4249b4937b4d2a7a98dc5af27e23986e5fb75afff6105184fbd399ec04d3e16663167da0ccad53344d5fb3c1207f216739a6176a8d5df6919f8a4ca7b9343f0747a7708f3451978c4d5ff45639e4c9bff86a9f819a57738f8eb6dd6e5b14ff2f692cc465652de76063c2bb0312b73d476f239ec277a632aab5e59c0afb84d269c7d4e58c5907940d8c318590e59e1b645fa49876e410e11ebbbf948e0cf562d557c304ba35d78c47c776a9294eb102005fab2ecec96bd042cc686832870301c162d2286eb6e5e4aa1dc74233df271631f25adcee2acc253c4aae04df565ceb52c2be3dceef386c26bd8302b9f8f114b62290ac604f2e78c5f99c7a82111159dd552fefb0261c5a0bab340955e1047f2bafcef6d820f9607b7121f631daa2011f234a0c14f8f3bf1f0b9badb08fa245161c0576d0b3e18a15147e3067f66880675b16ccd4eaf825b645453a50a90c1f6a58ff8832c129b6eff4eaf9eb033ff9ce163fd6e0aebb9c26c5f2afad07e06057005628fbb01407c97fae67d1bffa92da3f8cea88553e7c617ab275bf636c97c1eee8bc24deaa3fd33d3c43ac80488d3cf9b7ce5d55a59942b11e216ab2a5978b1d9cb54e644fef251fc0007cda15d72deddc2c470e31649bbc05f43102f96277677742398ea9e692e0ceacf7ae823e2738c87e5a48758f43c46db9163891826f135e94f589a633112e617d1912a8abe6d886aa93cca26bfbd40e34040ec88ae3c596e1ae3649d6c5e0dcf2c83f0b10f105a679c0db2e2addc9ddcf6c54bf8542d7d35223f9327f666dfc029a8a16d87ee6856191d1126f8b7d780044b040ae97e612bcc5321f733a6c6402abd5692aeffa1d11125a9d073fb20922cc9edbbd0baaea5c730ffc13e993bb370f1391bb1ddb8eac98cdb5db437c8d48262c51bc441570401c6d54062531b19ceb2eb6720e29135e82c937a18b713bcd5262933821901962155e11bb5d03ac10dde9859a4b677086f2d17c02e4c38f87f8fa66dfd49b6ea6452e2d48fef952ff492cf5a0b175da06a3846d52b5ad26fc13264f7ca2141548a6cd2c283445aa07cdf7dcd21a36a77faa3f2668f50b662fbb4639534b6fd71a5c8dbd44e00ce8c26cc2109c912f0dffed4a8c4067069e601f75c5f96919feb43238e07c37cfa07e11fa176a2233a3d5ea74141973f3c0b2fb58913409ae2795890fc773eaae9577c1edd695882c6974eedaa061edc78d9ac9b05bb9a24656f1c2d5eb03410e3555a36de6915f263d4bb76b72d00d9ad716eacb986c001e98fc924efc2f5af5e0a16d8c4940ec78a92074abeec54c286a8d4676243b1e7dfa7473ae52f3a7baa5ef6fbae658f4bc6e86644123f7b36c08ca2a5f2b51bd240cb0eccb2961e0461ae078b17482292745107c966bc81c116759c9dde68629413801394dc59bb78173c14e21cf5dceb0893805f82c54c2709c38602e6b4f9b2c80970748b9e22eb2156de4e5396e2b3f453f18129b97f6389163f7c2406cacd41f7da5a49a88b456a3d32bba7df2f4e7fbe87035c70f23e4da0a51243994f11fb5bc9ca387058d11a827583c913c7264738cb9450148973cedb2fded75be513d64ded1490068c5127ce9fc3da3b38a37bc90d272773bcf519274cd642506947ba849ed3e919e08ecfe1bbc8623a4599ab8e1ac82b7fb1f598ff46811cb7be280aa0d3e1bde99bf197b09fa30ef4b0c530dafee02ef87820a78f5561fd66dcbdfb3f91f7ada8db73ef995c209b75a44c06e4aaa7a1bd96f64b1401f8c6ba84160ac20c16157ae2c10ebab83dc289c9569af68e2da99fb86d43a7a0f87209eaaecae97fb722087d4467a37e41b593965394dc168ed45c1e0728666c7eb7e5fe73e3047b43c965e702c828ec6cde7bd972ac3d36515f3a8065d93a7e77778d81543bd903ef5df1a2ccd43c773168971f9d1b869faac7583fef303de986a0becaa7e0ecc3a87a42fdade18fcf307264ca5e826250c0a6de672294152ceaa92c1b9099a8cbb7eb09d23e5ef765dabdbf1951119616851fcc2658194668acb5569416a04fda1460524faf31606c6388b86f980eb80e954f20d94f3619060dc082fe6ce6cbd5850ad8e2be37d6be6160cd35591484454ff9aa381fcbc30e79ed3bbfc72618f212ebe4feb31ca0dc7991ea5312a1ffe159d87e9a57a6b23da58fbf4e068cb76e90fea8c0a5c6939eae2f89ba0be06d51deb74211916aa5b51b4d42164c60ffd1630dad392148c06918ca303c331e698d51bfebd1bb02af0e112d30d44b83825bb9ce313fc3a20e1df73433efae4263e2ce4dfcba0397c0ca623bf5ad6a1d3e9c3015c9e4e95bf5ee1f0c15977f36b0850f8b993fdee0bbc1cba9edee7d8b92f7d2e3960a6411aff4b801046f4aa46ec12824b1b4e97ad365703e3e96ad326882f88bb6781858980287a1dc2e0bf00fd3c58f6e3fc17d88e969ca734cd5e3ff11cc4095f74c1c1e14b5e84a8dd6243465a258496162a50b76234c95a48045a1d9b504faadf8fff52f77fab77ae4ff5188c5831a9311122d86cddf9c617def362becc48619bec74c615d855dc278f9c30d35cf4741525e8d5010b47500438d819c29b4f0cbf237833a1ac68f3009114961ca766291c79c982af06e0375e7f5fae6dc2ae17cc3cee4aeb3afbe0a43b5fb51f47d9080e859b85c8b693e56546aa5acc3e71f4b493dbc0a7a4dff0bda8dde2ec1868950fd467a08582f47c76315765071ca323439cb1e29157f9fc4a8b264d94f2d237a84b7248b510dc08cfb147ef6a2e5c2746a2bc502fa08ad91d7481b8f9aecf78742a712450ca6464b33be0e501972b2b569fe117437d9dc96fbdabdcc2e56dac5564522889f60db91f166b9738367cad016370860e522f95415f75820517795bb82a0ccb3d5ccdba27d00428111c58550c8577ffb3ca286b0b4c5f34152c5bad6a08a9a2d40911f9e24d23dc002d6c51005b0ae3a6255b3f592795139f07009adfb8405f6812197309b33100d9c5ac59080d6afec402f26ba490327adcd479a8c8c6c493f2391b55abc988567c822f54056c4f3b8b7105c992773cf7b9d1e91ba71483926efce8f79e87540e396999a200c103a7b3de7243823d8ed829d6a2da6ed5fee58177b69ae63b7bc02e51b53e019197be86102215ad1fcef3865c81fff1326fbf3d237c24529e80461b609d310d2df872f2f85602e3de14b05788155aa3030a21859c712af3041e1ef07286c30d85ca549d6d187944ed5593f0384be639ffb1d454de0a4d8db7d2a3a68f7f0806c6de6205758833bc97f3769c06377413c39f5a2877318ac57c30c5c21e10f9044f3d3f343f0f24adad5ddfb7e2100b59712ff602df118868848eb2deecdfd40e96a0dc29ecffded48474c04b64f3b678cb87be4f17368599db5ff86f79aa820e1a102911b315fcc5fd9f40932aac3ed56042172963f24cac5f1d88759ed22e05856a8389087015dbfa31f3a18c66507e62fbdcbb173e11e4a05a16f7a484e104");
// mainet
//blks.emplace_back("");
return blks;
}
TEST_P(BCSTATUS_TEST, InitTxsDataVector )
{
// complete blocks string as hex
vector<string> cblks_str = get_blocks_hex();
vector<block_complete_entry> cblks;
ASSERT_TRUE(xmreg::hex_to_complete_block(cblks_str, cblks));
vector<block> blocks;
vector<transaction> txs_to_return;
ASSERT_TRUE(xmreg::blocks_and_txs_from_complete_blocks(
cblks, blocks, txs_to_return));
crypto::hash expected_first_hash
= get_transaction_hash(blocks.front().miner_tx);
crypto::hash expected_last_hash
= blocks.back().tx_hashes.back();
vector<crypto::hash> txs_to_get;
vector<xmreg::CurrentBlockchainStatus::txs_tuple_t> txs_data;
bcs->init_txs_data_vector(blocks, txs_to_get, txs_data);
EXPECT_EQ(txs_to_get.size(), txs_to_return.size());
EXPECT_EQ(txs_to_get.front(), expected_first_hash);
EXPECT_EQ(txs_to_get.back(), expected_last_hash);
}
TEST_P(BCSTATUS_TEST, GetTxsInBlocks)
{
// complete blocks string as hex
vector<string> cblks_str = get_blocks_hex();
vector<block_complete_entry> cblks;
ASSERT_TRUE(xmreg::hex_to_complete_block(cblks_str, cblks));
vector<block> blocks;
vector<transaction> txs_to_return;
ASSERT_TRUE(xmreg::blocks_and_txs_from_complete_blocks(
cblks, blocks, txs_to_return));
crypto::hash expected_first_hash
= get_transaction_hash(blocks.front().miner_tx);
crypto::hash expected_last_hash
= blocks.back().tx_hashes.back();
vector<crypto::hash> missed_txs;
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(DoAll(SetArgReferee<1>(txs_to_return),
SetArgReferee<2>(missed_txs),
Return(true)));
vector<crypto::hash> txs_hashes;
vector<transaction> txs;
vector<xmreg::CurrentBlockchainStatus::txs_tuple_t> txs_data;
EXPECT_TRUE(bcs->get_txs_in_blocks(blocks, txs_hashes, txs, txs_data));
EXPECT_EQ(txs, txs_to_return);
EXPECT_EQ(txs_hashes.front(), expected_first_hash);
EXPECT_EQ(txs_hashes.back(), expected_last_hash);
EXPECT_EQ(is_coinbase(txs.front()), true);
// now if there are some missing txs
// some missing tx hash
missed_txs.push_back(crypto::rand<crypto::hash>());
missed_txs.push_back(crypto::rand<crypto::hash>());
EXPECT_CALL(*mcore_ptr, get_transactions(_, _, _))
.WillOnce(DoAll(SetArgReferee<1>(txs_to_return),
SetArgReferee<2>(missed_txs),
Return(true)));
EXPECT_FALSE(bcs->get_txs_in_blocks(blocks, txs_hashes,
txs, txs_data));
}
TEST_P(BCSTATUS_TEST, MonitorBlockchain)
{
uint64_t mock_current_height {1619148};
EXPECT_CALL(*mcore_ptr, get_current_blockchain_height())
.WillRepeatedly(Return(mock_current_height));
// stagenet tx: 4b40cfb2fdce2cd57a834a380901d55d70aba29dad13ac6c4dc82a895f439ecf
const string tx_4b40_hex {"0200010200089832f68b01b2a601a21ec01da83ffe0139a71678019703665175d1e067d20c738a8634aeaad6a7bc493a4b5a641b4962fa020002fb1d79f31791c9553c6dc1c066cde2361385021a5c33e7101d69a557cc3c34a1000292b1073ac7c2fdd851955e7fb76cbc7de4e812db745b5e795445594ea1c7d2a721010a9e82db48149442ac50cff52a39fda95f90b9683098b02e413a52b4d1f05f1c0180f3a3f93aaac0d8887ce542c01e49afbaf1f5ac8e1e4c8882011dd83fa33d1c9efa5f210d39e17c153a6a5825da329dcb31cd1acae98961d55038fb22e78fb93b95e6820a6904ff5b7bbfcf0cd1f6b9e9dd56f41062c7f5f43d9e1b3d69724eeca4bc3404a41ff0669f7f8ae725da8bbc2f8d0411605d2c3e959e3099414ffce1654418020d6ee74bb25042045e955b966e060a9f65b9cfccfbdcb4ee3101019a51f3a41372414c90383c9b84fb4ac690047ea67d70c917192abeb1fdf6c618aeafc732ae9a3e6c6f7fb274240ca04d24035a1d55b3fd1060dc3f4e64f9816868f36d2a0aeb76b64169bc9525d7d70b077c8b998b1204c6108e2917af893b0de24f4adb043eee433b096db8ef730de6e339a84f966b80b239821f350e2a8b10817fc19508da4f82bcb90fcf84cd47929ab1ba90bde5d252767736a4b23d26063cc6b2120dc636b2d4e3e7b3f6d7448882e01c10cf7bdd2117710dc49a59b49cf99212800093da22a6ab5bf693a80d4a662f35259f088a91a26ac261980c537238daa7a40477871f7481973edbcc86fa4885a4061d5c889d0986b4c0cb394165d4039081069f61cff822c7a227474d1609dbf05909f738803834b9e1b5ee68dcb825fcd906d880684e5fa684c8cb02495530fcaeeb35a405345f352ef3c8cf276c096d4303ee14cc0a48533afd1bcdf32dcfb25db4c45a19b10926dff72ace2c2a1d0759090acff99ad06e3f81c4d759a9f74d47fff9cb61d3784aa0eb57a250eec8d14800b85026f5b112740e2e8c257541bdfa4ea1f166b9d930e9705fa1d3f3c2be1e0fb242394d9230c7c457fc8422a6f919a06df5c52d954fa1bfdb57a0a2778d35020ef07490fc3c4f6e99ceaef97fcb3da049898944f3291b96a4f9ce491654340414565db2e0c6bd13eab933194b32336c09c478689cc4a7160b63ecb59937b2028e1649744c6ea69db01aed72fb8b39519cb28d764f158789cc539e01fd5f8f098597c8977e6d2b22c37b289c95dca13bece9e28f741ae2384ead8f0d6df7c30f311210523cb0b7e8c1173aee311362282f3c7d06ae2153969d073bec14ff3605d193bfe829e110df39b894fc4a8eb462d357098688748d579c85f9dc9e9cd20229c9865bc54ae8338433247c28875249e37d4d9b9ccbad611ce5948f1c7ea00fccdc41a9fbe942539a44111f160c9b1dc2653ecae0e4c30bada58d9164fa4c021b60fc0e2068510ef8ec56f7c8e036f2eb31ae0871c9a6aff7b8ad6a86054a06daf06393871f41859f51165f09d22fedd8a2326099a803491dbff5027f72540ed6981f505d1162d86c1ec716758bfbf4e1bfdbbe628b9340942a328209c86b0ec71981c90b407b146cbf065cfd8b0a1c2528aaf007c505a83779dacf8cb7500577a1f8f4a2c9a833d08b254c0c5edbbe87c9eaf266627d23bf518373dceba4099c13c6c468b99c16d56ea5eec12620867fdeb01be66bb0248a7ab7dd6434aa042392c4482e8694292bfc638f1a344d35c9cbfe121a25d2302db4db9688285905fcef9a892593840fe2ddebf0e059e341b2e7f107ee6a19fe386e3f9ea0da2801c5e9fe1b9c4b21155f6f2194ef36f2383097f9cf7ee0994873cfd92d098a33006547ef67bbeb2c1386fcbeec6f0b974532f2ac6e474b26683a37ed3919ec3108b578d3a552c32a362c0bea8bfe35c481f014721af9503a0663d95f5aa91b8802c32f60dbaa65978ad114a2fd45901a07fb4dded61d19e30c8c11e4efbdc1180a02d08d05a646bd8a4d160203da8d490ae0a0b4e631280401d635eb78e0416408c208436dcd653c11a75f365e2d012e0e69f0d4fe2fb2997726dad29468109001ed7c65464ba734e4b35f2ac85a4437fcafe0cdb6128e634970ba420e2e3296080636520e9fbf453e07cdd215117a2eeffed5a0ea0003761f5eb4c35aebf87b063f59d0571e149dc9d0c143a59415a7fe950d34b5024087145969abdc7f7140079bc25119825dda1bf080150bd40142d9635fd87e5dc691899d2686ccf6c9d106c7cdbf783fbbc83fc0feebe8abee3b458e7417a385215f1f89a2a89bef3b870c7a30a6cf4920ddd6eb50439c95c1f38fec867a41e628415ed142b7014991fd0818e8cf725b7075498e773790ccc882db0eb22453f0c9931debfb8d3adb09370f30e62b5fe94ffa7e55ff053488ad48f6e244ed6f043fae8f2225a024800c690ce15dd8017457d23c834b276d079d4a141f22db8fed4ea8f1e378fb741a2da30c09abc817ef0ad589428f966b8bdf92fb32fefa67f425ef1c58a2d4c881e8cc0156519256b87736ed84691b585687971c01a23da37ab76726602a01e771d9820add53f62168d51c7ec12ede030b61155f12e7c8d5573985a9e0884bcc41e0b50aa066b3337f2ab8e3b1031a1c843700413ef03d3734536547fc636055f5d15b0f804b3d25f90e4aaf199ee666d90199d0781526bb2040144b5a638411c1067d0bc5e3ef1911c5223fb0f5d0ce6387702b6957f9466b1a8be6879b8c7190ec1e0662cda6005a363f5d3d4585e6d9d15349be797353179b0a713b925dddfbd05609430601339bf31226cce63c763d887364aa6f1d640892f2a074338b741b7c3303e62c6fc16f544ceeed251dbaed838cbc978eafbf1f837543876f611d64d354049936220af27edd4834df2740842f033821147619098b45b5819b49cccc772506d01ed8f4ee1877c3368e3863f4e60422ea8918758ebd8989b0e26041a906db0ade4365e7d322dad4f40b489b53fed41ed2d421c1571c7311d0357a511eff490193afe446f183baa147e12dcac9827391ef233396dce9465ab6d1e073a128cd062fa829dc3011e72d05f96956976120c973da24b874aa7dab15e6ae58272efc0ba97355b22d5ec283957b2dec2926bfc2f66059c0146ca91b53b0ffc03f3bf402c99ada7e18d713bf57351efe369ea204354343d3b080e8a386931ed541b7e3059f2bf1736b4903a25f0bba187f5553768586202d0cec388dabaaeae9b7ade100733139f77682ffab54409e14605ec50f5648da42702caa1d27bafc7c40c3b30b9ab2a54810e1e4584701b58b3bed1a4d820bb13308e9d5485c011cbb1cafd0021c0e888147666a3c00a59000f9195d6d9e423e11d7c4eb69d71541c7ad943601aaf1f7c6b5c0e058cbc989baa7f3a1927031e2219b398e2483a6b77a5d6e7e029c2ba36bdb882927cc06adc89b312bad1c5e72f9a27b48fc3a2c8ce431882c034a345c2692a323dc87380d62a1afdb73fa47d9b5ac0e495138e0dc7ee57835079ee2e9fae9b4e1148ef7df42e1fe213b99f573ca222430771088e05266db80092bf53d23c800b8f15b036883cfe58fac0682aca8d58d5ef2cb0c0bbf3c39560a347d51d3d1444b98b175af1abe341ece49c69b7022e61274a3d75f81871d780aef74495569cf97c7f4144f43a87b90cefdb6ca3e4ce8b12b168120499847000e67389d13f8cc190762f0c02ab0230e45ab1d53d59f665fdbe73c342169bede097c85f596595cce0d8d40a02ff89f81b64d7126c6bb73c3ff9739dc5af0444f01ab1818cc5f2c6c548873fde9095ca9efc2bb3f4c818fcb873ef23007a1253704ad561b872f774b6cf8dae848f98cb0af3d4b3c45acebccae094edc02b5250a0e259f8470ee88c12fc16014b5403fd3dbe29895aa411af2f1292ff20aa2fcf9038ee4453a51448cc7ff4a076d8c635619711ec70e8c43926f7d0df8f89ea156069bb64117f5be57b731dd3d573721e966216e98b71464342d95e712dfed27f50ecb291728f205428d335f3f4cd3e4657c2dfd66cceee48576f64d921e521f6d0d67df90d553e4c6751cdca6e425f1994fc9f1676a261f831ce5b0238c1a2ec10c6c94c5d22951c47b01c7e43b2e2199e0af412bfc025dc5d2d6ed6d154f154f0f9c7351c25d184ea619fdca59820448ee49a46e63ef871ebcb23af8abc58e9708bdb984519ae76303e661f0c00b44c22b6ec9bf95830fb047bc38106aad060607c6e1c4998b0cf07ba5b293cc96621a3151a67c7272e38f2e62f69528d1d19b060eb8c6f165d95dc13aa2e28b2844dc63bb3e24ac06eed20050251b698dd3f103e2f309501092c1b537656af79a0bbb2f398a2b0d8d7c976308db90dde5cc2b0a7ee510e902624a7c19f1169b6eb84773e131b6dade39030bb22555fa8ed9c904422269debded88e1c51b4294a458a080b78d4c76d72a49cfa988e96e3c3f900a86dcaf5953907318e9cf30b95fac95724df8982387a13f4f92cfa21226a7be0cf3d414afc4a7ff632bf803ff6061fdda12571de6c85477562da2e7cfdf70f9029210fd211239c5242002798598c278145b9501d3c41c12f998a7c82a6a8cdf06adf87910e52f43c79993edb24bf691d52a6ea175150cba134eb3fce090c3e401900e2671b4e5995408f22d9a7fa615301ac6153b69718b7e0079e3b31d3690075967bc173f6e716c2c30ee24863b96df0b1f7ec9c1fd7e7ec7d019bf4273ad0459d3c182ef8603f6b83d702f545cef5b1604f16b02657c94a3cc18323bca2708a8105bca731db97385576e84d78cd3f02e18144f2861bfe43590f5b203679007b199f0033dc73acc50950d2ef9f7678131f562599bdb4e91b97e673e30e7290eee0d5758dc3c1bd11c07df261222e095d182201524c271ee877a7afcefb40400197c1a153e4741edf9eb5602e856247f6845aadad9a3f3c1a3947099fc14890b02129d3382955faad6d4acc3186cb9749300d8ea9b32ec95ac0a8f11515e430b49b12829fa4e4e2e2754fd43313c544cb5b3521c3bdfc9fdfcfa9c35a4e79103a5c4f1b3b5e150f0f95951a4f9f7e43d6f2734b7ce212a1f14d70b2131c30009351dc1caeeac4c546240df2180dfb49dd0c780222d76caa4769fbe03fc826c055a409f05286a61f760ff281e095574472db33b803543f471f79bc711feb4a9052a4236308c714a2555b909047dee9421e3a9d04d4e7785077f71541a46084d0c72c83528bd367b260bf4baec560cab216f6a5ab82164bff19e6b0532005db300feb20a02e1eea6d9d31b4e2b0415295b9fe9c16650f25588ea94f0472328ac03bfd43876076e94c08506673db0b2fadcc91e1dfeb2439c9863e3063bdb833507bad8d987160ec288207c20a0df18b4c9b1b00b1d0feda3505c72e3c63f72c20ec41c2e4e377dce092671ea2f2ba7cb7b291d1ae230f8b26ad3b9ac0fbcf2c602f808c5729f1234dec272e59929673e32b3b4effeeb6fa74b33f211f70b80210670f0866ff75fc199e1ebfdaafee3468a818e1eb7fed5dae34520bf3e1b0c2105afce4636a482be6c9b51a4d27a170d22c6da8ae6324d6ea81f2bed486aab0f01b3eca20a60e739ebfab2cb6a374fa7287768b9635242ce1ae5dbef3879922c06817f3ecf8a08bb64f00c04a820a718748c714661d2f90b90113926a242c7bf092e54b99799098f8d4a10b52117f9b1cc044133a47eaf8b235d89db626407280766fe232f52ba22bc7c19113d43ffc4bfeff57b0dd811db81760403a11221c2056e9ded4f7e88f277158dc94ed1135d9196e61cc80e259381a7f3bc1135eca40fb91f963d6c38bf83d7b9b8dd275a146491a7fb0cb69539c3659f5360ede7170b49c57ea2d4ec258a8792cd2e7746c8955b79e9ac1e5ce0c0498952c3b91616011e98ebae173c7b74ca004c0fb2000b990a7a776f89b12204d02b3362778a67026e448e3c546bae75889435cda08570c72a52d7a30524185c21b5774c9727220408d5f57c713fd33aa2747ec5d61e7852a94db2b8b5d2ebbf90fd3a12b490830e7df75affa5d202f352b4e73128776b08a2fb415d1a354a3dc69c4845faedc007bb1856af1d47839959f012c44c0294505177938c6b4ba98939efcc69aa87fa029b68a2308e53d79dc013b557e19ebfda4bc93b4101c3596cf137c68cc7746702b53a6e2a2d557aacf8e7ef7df513bd85da45c1811529e4ab5e0bdc601f73b000338ca3699d1935b1a4d5a7e9fd36bcbbd9963d3a264c09d11fa76d1bdaa3480bc6230f56760cd25a47e0a384f1f3e921575e24f2cf9ab10d144822fab4e5210c83ca06824acbc8c4acdfe709cfa250185d935b38c4dc5d7e9b9bcd37a61cef3768a2961ed44c9ba5706b9b95e4fd24627fe34ca79483a2a04a483b5a69c297618dd52d9f107ceded42a02818d55f5a322df5d8c1a85591ef6a001357ecd8a25289e619626154939d5c02a3e1b82987411e648257958259d93b220ddc24aeaaabb6286f67ba87cb18bf546cd5008def5780f9af7d7b817fa2d30f9b2f4c667f1e63f9494e32945b4ca1fee45ef4d8fb7448550f5ded771ae79ec0ba48fb0a2b7ab4d7500e24ce807834e708c7afb9197cebba8755db2f06869b317374158c8f2d31c3d35ec57b0408331f5aa18da7bd620360b83b1ffbc47019ab09a0fa18d12511e22449a0ccfd24cccbd2edebb149f5b59bffe31bcd6ac5132d2c7bb804414165d17770f4eb8b8253d1cd393c4dc3d9216a538f31a4db9864157d0bdb900581dd3d85f45f36124c8f4ecf876d09cc626108b0769cab79357e6fe34ec1aeb94007a5416e8dcb13b0143db8da0fae95284b872c562f9f272e8d29eaaf09c8a4a3b1bd72892bb3ad3a4c4462969ccf431a40f3213940fa530c1adbb2d595e8ef94aee36de8ed09087d769cb8ad966404d7f689b60e020e1a977fbe70e57a31c096814d3f1b5e924d55ef79259599dadf4ff376d5d120c2d5aad9e14a92b8b656fe915a294aca796cbe6b15d4b0dec70aff9988a00514582afbb519f64ccc0f989c5fddfa9b2f50b37653e3aed60213339abfc6d0d58808d0b677e98248e0db2e64ac23b371ca2f9d2662a7c359d57ad770dc7ac4fd6f5652fd4e8dc66f8254969a37fbbfb4b2197ec864c18e1cf515f6b2646cf8fe5ed55427807a7aac9016cbe811c86f0b973916d5123dfb8e8aded328a464139ee92fd22c69d60fce6906b2174938a88b62fe96a1c8f977330c548ac479622b2c89db22099d5b1d1931c1bd15c49ad655d1371bcbed1c42734b3ffdcccf40b00b9be3e7cf6f5b8da625a450d1cd489360140022a468fed9be5bf8eeca7ad220ebca7e4de8ccc9d5ca2a8112d07a0014f8491bffa6968f6a70789c22a49ccaca63f196c063a29e69f03399cb7ff7f50bc572bb0902bf43d9c741202779c6e41b3e32c3082ef3a212450f0eabbf61e943d7d1a7dfd7a53c229e1c6e22a6d1893367b2b803ed23825888f799d73cc6471d16157f70c226fa39dcca4a08bb6fb3a512ff06b797f869007b39691f2cea01360fc5eb0925715f36cc246135279ee360522090e88ac7993cbd9581333c2a872a5755dd241af1e0fe04ee5857d16494222a32e4d9a1d07890492ce8320f164f0980ea133024f370e914fdb5b1ed02f174d0fda91c4a0f5cecb369745e5d7e4bf0fd4f0a2f55f5cdd5e5d20dd5076391c78e6f97e7c930f6bdacf40bd5a2edd56d3b68ed4027bba853f0342192a379999127dcd27c73fa21e06d37a6b6b5bc39e8d7c2189621f38e74a1fdad551586919d4193a3ea024160460ba1ecc2c9104e43a23bd24baeeb3adc43543d904d98c0560a246f7f21adc0fd21205dd4f2bbb3f4a9d16c4ecda3f558548caaece8dcb08e97d8f086e51d559505128753ccb7d2dffe54e3f7d5b63bfc9472105529f5c1ad027da671eaaf3d6045fe0b556e236a17d15b7d6a916a6ba91bf2e75045fcab0dda68803371c08b576563aa779a3c3f7b739c5c3e2cf6ece351e790633bbfd7055e50e93f6436aa7c4dccc986c6f0603ad20e9d810e1296b89a3270dac70d7d6cabe6bce51085895ddf4c2f6a8c63ce53c14fed78b3f89e30452a9478bd1195a9fb990c4f27c2d18f7bb54bd459549d6908255eac8437ca24a51a7b050714cd034961e851fb90efcb89a81e3212a0bef071ab6102906a9c0735f0d56f496011c39c25bb03e146f98121020f58ebc06da4537dd79e48b016561392b8047fd4047d9c5c0afe1babd8f32c6292fc36b1e79c0ae14c42ac2fee2cb108d40c6d91f264a3046485a3adaee2e23b9a34bd6f5b8c73667b7983ed1dfecbf927203d9afce3066bc7fa9ca4ae8d234192d637740f088d43b0296017bba1530c726c1c337c00ab288b97376a6a97ffb05e6596b8955c22c3501e373cbdbc54dfb1bf60367840c895d2cdca3513a1701c10e1d11e79d80bc098cfd9ea04d4296f4da2bd398f52ab76bea76730d82e76836aed863644fbe5c8a4f22aa7552de4d53e71d42e51b4f59851025cf3e4c1a8b57c2e026194f104b0865354683b09a13765451ce31198cc5e20ca54c1b7142bfedf03a7763d3eb0cc4a0ff71049a4556ab962caa0b3b8dd8bc78eb227e27280f789b728b416c2df52fb672628d7822e7757415003d1975634dff7ea0ec3bdb2bee4bca1de669fe68c3349a590cc9640c976b8d3580acb183ad2a9b9923e3ce7f2679d1656d921f4615c48466b28a8fcf309215eb1d6546084a7c53d837a59fe0e5fad510bc7691c29880284b696f387d5cd2214c08ed00f931a412f747354f98682f6c19e4c42e07d8a75729b8578a46a9d3a998d94b21a0c9fb235d18d9c172162341ea2c0533b267b692b670f6eca96e4087d4dbed18bd2cc7a7466527266210919dcaa8ae1e19549ce14a5e511e3d1f59836b4e09e59f016cdbae1b715030b9662bb7060f05ad0bbee62373d074a9b53f483732777c612cfd4c275fff73d8a501bdf7a0c2eb8494deb2195a59b6b0f99c50a8e99069d56ec104aca17f0ebcc880f76c6f285ce3d03c2f0be55d836f45f188c841c691d720f2d2365c0e23709e370efbc8eeb942bbdcbef23aeb118631187239b9bbcd70de0175e98b684ee6023b96702ebbf1ae3f5ca8a9dca6498afd0252c44930b1c90f9d3ba43f4aa6a75ea0191ed61e6e210ef71a2a7389c8c8f947ff668d85e2564bb07510f9a8ba1c58674a1910d0c4eafbe00574a8308b19df2f8b474ed5f81b080a1c9a07edb216f236b0219c5e4d5f24aedcb8f1807c55bc508f2cbc9a3e30458a0ca4e4ddf138897220d757c876c50f1fd14173e6358d338c922a4438809d606bc9d91816a634331ee025f65760f6650fc63c9c8a5326f0e1f0fb1916425dc108e684ff10d621b7ce10fc6633c7432db26bd713b532a7d9788db88c42f5c84c8f576b83b49b2bad9fb02c5a0740aac474154a6205270d67406e4b5d80af40896d696a0faebca9c910609d32b03f1b23ac722b1fc1801e5d0fe4778abd4f2662d025fe7905e9b38b3e0057d37c0bc65f9a6982fb2d3db32382860c2371ff463c9c81fb991703b548c9e0f777ac72ceec2149405126f9dcc5f18cba19012ace4f8e936e4324f30eb366d07726f143546efaaaa8309e027325b19e4f2b34481fe8edba09cfd67e48e201c0c251bf9218d0d2db8286692e1c558c59abf1b563ef17828830423164e642873080a20476073dfe969afbf47b04f69b44364de220a7212dde70ed18e5d50688e070190894c8bd3b3f06cd38280ec280849316bba88b6925bda2ba3531a8ff6100f6ec2124282045555a2131281abf07d2b36f2aaa4c60c98fbc5a72e716f66b00353c282443c1ce8bd23974be486e30269eb8e4583e62f1b9ed15d1bd180f5190e5b72ec9729b8d2c32285776e8a84aa32150bc08a12e0b09c3055181052f65c0d09844ed2bf6ec9158f648196acc5c5e740f6c7093436943ba181e60b0b525b0615db23ac58b1b67acbf1a0f59ea1a9f7ec9769e7ea0519aeb3ba1e8d783a2a05fe8a34bcd88749249e0d7ba8a0bcd1cdcaa7d836d2534585eecf38a1dcd5360d292e8a9c7c1c25c90a8fc4eefa3f22392809fcf6764c06ddb169b0058b505a08f7c38f4f8e8c12c888729c23dd9ae33df30917120150bd59720ce5dc169eed0edee1b0f9ecba4ad43ff6ee0e1103c784bcf1e4068a348111f0f4ed7397c8720fdb777c4206f8b70da082a2f8d2e92220229fa6c55402119861e671e8c9f31807b52d3380a8bcb1d29bc9795989fdaceb185839dc16cf8b115b3e0ba96eb4ae0b29762bd84ac30f8afe03f0ac7140515f28aaeedb50e98e51ee16236aa8410c0065c3813512229c2d0a96de8ed252074715386e5a5eba1b93d77cf344c9466e05ccfd6892160efd60a40af3f94ac81625acac363ccea77665eb6bfe33a69c570af107fd693722c0e9439c36ddd7d3a4a2edf496cafead3455cd23b69190fcd201c1db6315c8c03592c86a4ad3c17515eb30ebcdc42ed85099ad99aca3af87d601137cc4c899dd7b860bbcecb1e804d4ae784dedd01b3ed1e04d74e86160244c08619121bea73d7afd858287683958bde5319f5d1020700f52ffbe564a6e8e9109c1f8423ba825c221be5e9be8cb1d6b74827770c365c024b8989b18a45c612b0263d0a7c3cc19bc6c048c5a60fb228de2f43196a8802dc44eede70cff7d84cc0af37dc7829830e7d888136543b070d9a99472c1f70255bf70ddc9c0299fbeb007d92096ab2018d68144def74c223cf1d845a2c5b850613307ffe27eb2497ce80cde0d7c8243f3ac86f0459e3dbdfdae11a0168209e86bb90d0b47a5b91efa28093fe2ca554772cace53c08fac18d003be5d79afa78e7888057dd473761335bf007b0dc9cb3d79122c67fe5dfb6b3715a9412ec7b5b4b9dd95733d86a63442530f6a21f0b32249b40584cf3b3aacce380d5d3eae24f42fec00e6e9f73813526a07152cce67f8e46d89b3f6c74fb564d43a1ca94e9f04a3d406a635656ea020c4088f6102da9534922ba27d53281adf30b7336616060884c31c7f83491fe3ba5104341d2897549feb54172bf1ca72e6d95263e025c4698b1530076aca0089e59103e55ed49b46c356ca5458f2bc6789c2ca6b8062545dd830c5f71768f82ebaab03be78c77035c67a567689ddc3cc8726ee7811af7ee8c06e157d4c87a909c5840fa19359e07395b820876d40d80a7b4aff426b8e4e2803ab1fadd1b630e6c1db0de6809988ca5a56233d318f94204a126a605942d0628e7cba88ec227d4018db057b45a3ffff61be5e26c713a4362e7515a4e0b3d7f4132b6f5543e76c22a28d0eb4359c2aa0ac26651ac69385350cd5f308c84db05cc0ce991d31d04d18c6890d79826561017d38bb2ae636aca2eec453436d4510a4d52d571865ee4aea36c0070d167ce0035fb2aff4a7c450b60e0fc92d6e7405bb7b299d14537027b260340f1576bde7c27fdfcdd4bcb51c96e2272ebccc93fc834f3328668f27130dfae60976e6e17ce6cb4a4a2a108e58c539e90172c0109141883e0bb9dacc2b7df1810f84454f4e185538749a986ee94b34c2587d36813f06496b5c78a85a9fa9bc300e22d8f8055afae6504cf54ee99dfcefad61c4f314f1a9d831cffd498e066a9d0c389276cf18bf590091e78cefc8c657ac60e22ee8febc0acbccfbb6d0bc756d018fd57533905c01d33f684be06b6e8ac5d3164c2473f2d2bbc2cc6f33ae3d980ced83c2f9691090dde73ae3d94ccf5a02a32e5866f9457321b2c0c6b2932d100d288012fca3b8caf82080a7b254395bac134277699f0e91ccbe429df8504ae00d334e471b530642a542d470280b1157e9edd978be004bdbe1855148969f1b7607656fbeaa3dbf98da4103fee661c049f1a8cf0f722d2ca188a18614048514b90eb3988115b87b3b120363defec35214322fa1478530525cad835fbc075145ec089aa2a8efc02bfc11466e5355d955dcbf88fb74aabfdbaad82ca18ca8bc80a703169aaba1f8b1de6d036e5be656f8739f04f0172f91d0a3c3cff6d0e9f265dd0a0bdd5f9e954ee4534646adcbf4d157a90ec734dc4a0c13eb728135b29daaba02d5b2ac38b390502f181e756c69590f6c6bf2e6430cfa2e6d2f9675a219501b0c6a5006d1ea075a196e039fc9b4460a22ef2645bd98ddb11300c4d76ef0646c04725320885933e206a70c7f069408f5ef3c3bccc195e2f901cdfe81b7f01a870332aff32cf339f1bb2601ba45d062bb0fb1c1f182a55260b19c18aa65205fb409af3b27d5c85be5a508bf735a02853ad7269c63636cc3ccd0ce4935b500aa720737def7452e39b3235d0e115961de40c174063883becbbe895ac13fc6574df7045418ea8a8dbcf512172efcd5dbfb6688d949da143dcf082d879945901dfbb601406e263f616bed1e969964e000f74e9c8ca04fc8e4f064071daa34121d6b5c0b8886a328eb8b922bd1c4c511ad867f498ad96841ac7fa2280b6ae0be1c439d0dda808cd74cd5aa8698588d622f830a898beeadbda5d0ce5c71d39c479e9a0e0f5a481b848bff2c6668d80d6ef9668531d814d8caf51ab6c18eeb0fd688f0800e4416f24f4094e76cd19e9f083ee00ecf4275ee01e6f9073d4a621e1d98ee040ec72a8bfc1483478ea24dd45ea01ee8a5c516ea50970efb0e3f21bbd5737e6e09ae78488130cdb3e4fb52f54e3f644b45f2c88d35a28a1ec9b009afd3bb8c410bcc09f411680d7181084b8e4a58099512fab865f39673bd81901adccafbcdb409b43808c79551548b10d201cf8922fe5da8c2154d601007980aa7407489fac50cb5a734cde8580749968d53efcf066856d190543ff5e4bd8d02b66346cce24b0d9f33afafa9c899ae7145c1f7b5b0e85090dea52379a0121e6566903078982300fe9d03c7b57335ebfbaf31f52e720ace0c467703c27844084635060815cb3c0b986ed0b406cc389957548f04d70eb2a8e4daf0a49e9a54f707acb0a3c0f81d0780595f9a2e58f618693ce928ff54f2a4a47601c08532959c6aef0915b484fd0ed1eada9fcc2616e181d3de0b5e95c880d866bfff792e5d3e5549b80f705e94095927a1fae3a2038724b5de59a786dc8bc3d3286c5e7c114b9846345c004a6d05491f29f8fe23d6daec6ea5f89de526b0549686f8ea05a950e045fe1af95281097cdf8052039ae20553f0bb12a875b507b3c394515709acf465113c51a361cc0c9d8f621010abdb43e2b96f1b5fe05b507b70e80b9382e3129b0bea448dcec60d78eba7fe0db4bd25d96cb8a8a5faba3d0ee8963fdfbc0cdd7ad16f97c5709103f62e1b3b015ead01cc315291c3c2304b592e104fe8a008d54dc8fc15a7ac39087d63f055e7b87b9312d58cf3bf4858a2cf9a9319339888b680783cb902c9fb0a111ec094ca9f8ad33863bee0d0c243769b5fa8d57e81cf7077e256785fd3c703b4d1dcd47a004d8a0dbdc1ba9a76bb8631b29bd329b2742465b07862fe833308f67aee1667d3a7be0d67d912b997dc6118b9f4dd759dadf1a325f7cc534aa405a1641d10fc313e6fb0e57a5c2e2e603c5dee3896319fd1142ab0894a8904090f64817ace87388361e7a5b0e418a366308e7504d0347daa7daf90213b39c94b0bcfa9dc63d5b87daa690edf897b5c4aaccb614f267071853b7f6f92992fb22f0e42fa32681c44e181783cae74b54682689153d1bf358a8c3eca0eca65ff48780e7e760fdb82b1bdd4169c37b685d35c2f64b9f2a6b009f62324ba6da8bd4a7606d1940c5700a1a57229d82e6989414ae937f60dbf0a275ba10dda13b2c4502a01a5690fc2ea2ac5cdd445570e568a64f7a7871f9694eb3905a1bf0dae9ded1408024ad299d2f2d04bd6cab1e7beea5abc6e3cc7c87226d93f329007fec0099004da76d8ea1c8eedea6664f762a410e97c527ac8189ee310fd3136f5a6d552100b3f0d1572d84249d88a218e5e8b73df39a8a9fe14d900827a857f3aebef534c0c8bd3a42443826ed5c4ca4ba21591f080f6fdd304103cadaccc461638cf23b90cd8ccd1916603a6e9bdc086372e91bf5125e15bd837c0f9a6a691e6da704cf408dc8c88ee168eaba1d057648bb59d04d69c67df87cbd0142a6d5bd87fbf4d2d0f6fb0adb1aa1652dcca6a03788a4296abbb0d688daabcdd1963e7b98954f6be0ab1413978513504b9e5b2038438a1460cc3199068b916a7349f78881395e2fa08317db264572687c8891a3e6f41617d6448bba0bc17c116221d3542dc73f91b0ab490218da61eeae4b62b5f389bbc2d8252c2114db65dbed68a0405e0d153af0a344b8b68fa2f054402fba9c2ec5b6ce536be91b1929fd4ba3d8e20a2d4d7c1007ff87f7df5b4c057ee42c371188b63d9a1e9d1e63cbd296bdbff51c204cbe800c342558408a4434d554af4030855ddd0ef0295417c669615a7635e0d4a3f08024077d4bcfed78faa15c805cadfad0d0bb1f628dbc424a1e7a945e8908438d2015e716c83cdf57f8d6065fa86182c80577213f07437d9bde259a0e54414af410b6516de6eeda634d241486db5966a4f4aeb9d18e92dc9fd9f4fbd9a4a7ae15d0ddfcb8f4f6a5bb544f045217c36345fe43b64aa0c5d08ba1104fd13b57d070806e7d8a83731fee819f5e8f5a892ccdb64fde073476966d0d8ff13123b3d24040db42fbee63630b0a86858cfa4231844bc6176f36e6fcbd94fa014c321b5a05d0dead8501cf0015adc4e933bac66696e6bc92ef1345ffbb823207df4869b5d720e6fbcab98627a54501421da7a00ceb02973fe2daca9f78d41ac28c0bde44b2b0905733b8424df52ffb0e67b2d67e0fccec31f6a5a682dbbe42886c621d2da8c0cee5ec5c48a6f5400ceb2607b9d1094ad665100a84c35c5bb82eeb9ffa0695e0afb40b5e1605d58c8a50dbfb91a961b387f43b263eaacb365bec80b42615e33009ef7dd83787b0740e09ab385c991720b003377d97da4c3fe273bf7d35389980a19182e174a5b1cd8ffc83be319f819b6a5269c96bfc467bf3414d9260bc2e10b9a8fe95b539397ca8fedabe611c63db9130e8183a77bd346ff4520bc502cd323b5d10463dffab6b3278e73e5771ec7d2b103a66650333f58f04119036fbd34c42a021cfd12f2d68b19d1aa373e4bf6621dc2b7c42d0b27ce6fc01199ad5f34e74ec954dc8bd7342e573a58a8880ce28ca83801519e9dd7a3063db98f60bac11045815fd39fdaf1c1890bcb355cee46761fc6bc239c3584f1482054a9e345626f6a1b142fef1970da21a2be3f8e052e4e0f9a0f176099606d6e29dafb5a735fddd81cf462e40c424daadf72ec02f70e2aec1d18b7de4ef9d1ef9e364dea63e4a4080d720b6631268537be3b74c225782608fd2f0bf71c70fb84d88f0bdf2c0649a77e94cfddf710fee9d39e765746e09f3437c665c6c962a9043a798cb564f83e4fb5c99ad93ae89f0856c74a36c0fb7512770c91b83e40cf4960b128cc009e3aba2abf5685ea44453f4a2708f793503f4905423d4cce0a135f923ffc3176868ea7fd2cbb1c7801ecd483024123f61ed919f58f6faab196283417cc575741d348a98a31e9188768115a0eed01b8f47fa9b62a89e821c581cbebeb0069f2c7fa75ec25a8dbbbdabfa130b3443afeb03416671c872bf99ea7f87655304c5270e047a719716554ddd0142a529e6c49b67d41e78bed286e3137698313ab321321866f97f4ea898d23c3a37a941b19702530118fa752a06b7a1e4c61f1f3d9633b73b0c068ecd20e040ce4e0d2632c27dd41faf65144aeb30658a9171dbe7daabd36afddb03e4526e20d201ffd849c42cf3146b0860a0514367a579df4c0fd9dafea9949810711ed7be822d32fc901ae389693fe39e5b28750e510231457e09512d5f97733e99576a421cbf99a51ae3cbd7126423dff294b3b037f3a0aeeaba2ca6a8e1c58fc5b72f1f70415d0fe46c2871e73ab7a4f50a9dfba30c415c1e45af4dd48a7af8b0b0ba49409527e1b2835fe61e43610681e170d73681519efd0ef1775588ed5991b33f69fd378919193ceefe6e99b0fbc55fb2a0db84b054e1e1add6061a3fe18131257ad27e5af6338a7bf79e3497d966ac9906b935e539a4d9d94adc4302561c6725219ca4e6642227c6f331424750ae48189ca4d54f8cef0a328d6e51a0e4073bd745fa07bf77899578c200eac6e66d19245db9d6f8b8437fef9a7afbb69d1a99de13a5dce22c3f4fe2bff36f73e5243b1cee4bc155afa6301f3704c90e5d075fa079d178ee92691ce2152da8765b5f38f82b186d7bce1c853a81c7b8407e0906e88df7b754d58035c5d0536f7d6ade45fb47fd489a5a07ef58e9956e10308a399d2511fdb8f1548c341f7c1eb2ec632a54ea30019d256b595213a869b4502bf1d2806910ef2a31c2eb09fbca65598e1503d911f2ff0cf6c4d906cd421b71ef909d7ad6322a38ecf7d061c212dc1fd5106bbdb726e9007f78c94f2d628096502c5849f8b1c3e79a316fbb6951a39858b333e9d393b3c28d0de43b798c68cd8a245b1e0172c997dd5b8ae89da1154a60ead79f6b2c4151305cd417b05ed13703629de6212edc92322ca841febd3d6d0557d4e26fda4e0f6184ff06bc026f2c7f2b1023a4e30692682ad39ef70201c66bbe1d8bc39cc2f8a9363fee904e6aacc2eca41034791af9be167cf62d1a1c94b9ce32c9415527b43f5837505d93aff050fb8fe6ed47b96eaa81561e4ca29d6a02a04c9671d603576aa492b40c014369c9a9933ee07e3836502a3e7bf5ed99fb35f65e2e0ddc3dd441258cd4d9b161f1dfc53ae5699a3788e169eb585fd91276945dd41363044db68f86aa133349db78f34d54ecb163afe3379edc7dce02238e27d799cb0ba5e1b300235b6e8bc7e450484b07eef5c24954e4df7b75b04e73740e2403b3d37c73138765cbcdc5307c051dcd4466a7e21dbb0c6f3a30e07e89d057e6697c3fe848309d98a050bffb811d158301eb381c3ddc87af73831334db6f788f6d24afbcf83abf9c3a9b1714842f44329d74ff49d6ff5264a1b283ed91a9606919526a7515e105c7481e1468624fca6c6c1db4d389d87e196363421fef88338dcbf683b4540a484fcff7abcd6b5e5864454283c511be98f5fbd78180adf8a168f20aabce0667e3e672cd4de67b1d942538ef557218f1c4b9f45f53b20cf4ae1f001a56c230e363c8df87bb6d78c312be74f5da0b15bb18a6f219b9d52ccc3b1edf85958c492900204e9f13574a88550e2a771e588aff9e61a87d39c5929f6492a41bd289311c7d8740c4a91b6fa0c06432384476f068c0035a57c19c8730e5768bcfbfd9a5d6392f2bb4693990b19faab771bd6cad9e0f7cbec70ba3a9cbec9adcb821e709aa0ad74d921961179e33272ee98eef61d4755607517cc9db96e3bdaecf0c2aba155ebf03abb603c7913d6da5860bccc17ec6f072d2a95f51f41c2bd77e8d8bd997d68b624bc47037e259de8a72188cf1f86f2f36b56c92769998055c5dcfb0a352bbd4753369d3cf1a85ab820557f5f8e3fe76de3e5e6ed3dafcf66b4cd8a82375823d6ac2fdf3f0a10c8c03010d3309452b6a9b8bf4e3a7f47c01748b574d1257f0aa18e6c4732e2e69566101c0ea0b6437d2d64c28902c18351306ce6f1e62e7319e614113b2f426102ec80ca2978d8990943bae86d2077f35019cb83cc4156e12376733876447e0e91ac58000b93344e7409f3eea4afbe6309e23d18c0f1db8b41b6206edcb8c3cea650ce609a62d5647eb8320cc8a40d4ef9b2f900aad835174707f4ec0503ee701d280733d38bbc5e8ea2fa6716bbfa946a9add1b54e3471accb65c9c835cd6912b44dd343a077b0c7e14b89007b15d3192f811bff695929dfd824c1881718287d6e8b3e4a31573dd5b8b9d683e35144ea22ae99eb46fae356d97f6996d01b3353c06bb9b2323fe18f4c2b84d39a3732b38e9bc494cc43e07e64ddfc101fefc1aee9fcbcdc03b1d9120e7fc59633a6ca9f041b32cd43f4f37deaa30ca04542db96cf77cf08805361d04cf373d253ad4727d59968ddb4fa1b33474a6da08c39801a33725631aeef8196795b8c6aa6d56b60706666bc57b22849fd3fa500c27ddced7ea0334f9b92d590696a8270acfa03af69bff0f0b8268d374fa219d0cd224811c9454c83c533bc2719a08aa96be554a0f95fa4ca7c02894032245400b211a9eae98d96052a04fd9d7a8bb382b48468e6d5b0fc861e14ed137ceae560bc0cb0a7dc0af76a97b245966b22597162f4ec6c9f3221a4a69ef43fe19011e0aebcd2d760a352b3cfda10caf77ec902a8ae7bec3700899c9d726dba2df21f103bb703d885b7ca78ac746ca3e99831b4e2f7dd999ec44cc6922bea346618e6001f51f387c2cfaecdc740db9e44ecb4b0da370208ecf3eba1c15ea70bb06d63404025b000aada40e40e1e737966d7729c5084dc8e9c6392dcaec97b4dd6e1b8b004831345902ca2628784ad7ee435e803d31b5275931210b5ea4fcd5132fb8eb07d79fdaa8ce14a5ebbe21d7c2388841207a6920f04c6184fca780803a97930a0f5107450f0e50b530753f8a7efe8c9f298cc00b5b585e49217aa82da904ef33095421011f97c377aaf76f2390c6ba3405754e311e35810701f20c15ad15bd930c08f3224945681dd53e49094d286f89a0cf29bd90feac7a616ba6cb52f47f910a"};
std::string tx_blob;
ASSERT_TRUE(xmreg::hex_to_tx_blob(tx_4b40_hex, tx_blob));
vector<tx_info> mempool_txs_to_return;
mempool_txs_to_return.push_back(tx_info{});
mempool_txs_to_return.back().tx_blob = tx_blob;
EXPECT_CALL(*mcore_ptr, get_mempool_txs(_, _))
.WillRepeatedly(DoAll(
SetArgReferee<0>(mempool_txs_to_return),
Return(true)));
// set refresh rate to 1 second as we dont wont to wait long
xmreg::BlockchainSetup bs = bcs->get_bc_setup();
bs.refresh_block_status_every = 1s;
bcs->set_bc_setup(bs);
bcs->is_running = false;
auto thread_function = std::bind(
&xmreg::CurrentBlockchainStatus::monitor_blockchain,
bcs.get());
{
xmreg::ThreadRAII blockchain_monitoring_thread(
std::thread(thread_function),
xmreg::ThreadRAII::DtorAction::join);
// wait few seconds so that several loops are done
std::this_thread::sleep_for(4s);
bcs->stop_blockchain_monitor_loop = true;
}
while(bcs->is_running)
{
cout << "Waiting for blockchain_monitoring_thread to stop"
<< endl;
std::this_thread::sleep_for(1s);
}
EXPECT_EQ(bcs->get_mempool_txs().size(), 1);
}
INSTANTIATE_TEST_CASE_P(
DifferentMoneroNetworks, BCSTATUS_TEST,
::testing::Values(
network_type::MAINNET,
network_type::TESTNET,
network_type::STAGENET));
}