diff --git a/.gitignore b/.gitignore index 11916753f6..2ab45d348e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ **/._* .idea .vscode -polkadot.* .DS_Store .cargo-remote.toml .gitignore diff --git a/Cargo.lock b/Cargo.lock index 4ba7d66cd8..567d3830aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -216,10 +216,8 @@ dependencies = [ "pallet-membership", "pallet-multisig", "pallet-proxy", - "pallet-randomness-collective-flip", "pallet-scheduler", "pallet-session", - "pallet-society", "pallet-sudo", "pallet-timestamp", "pallet-tips", @@ -755,6 +753,98 @@ dependencies = [ "sp-api", ] +[[package]] +name = "bifrost-kusama-runtime" +version = "0.8.0" +dependencies = [ + "bifrost-call-switchgear", + "bifrost-flexible-fee", + "bifrost-flexible-fee-rpc-runtime-api", + "bifrost-lightening-redeem", + "bifrost-liquidity-mining", + "bifrost-liquidity-mining-rpc-runtime-api", + "bifrost-runtime-common", + "bifrost-salp", + "bifrost-salp-lite", + "bifrost-salp-rpc-runtime-api", + "bifrost-token-issuer", + "bifrost-vesting", + "bifrost-vsbond-auction", + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-timestamp", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex-literal 0.3.3", + "log", + "node-primitives", + "orml-currencies", + "orml-tokens 0.4.1-dev (git+https://github.com/open-web3-stack/open-runtime-module-library?rev=5ba42f532b72d71a28aaa18421855de003b9ca71)", + "orml-traits 0.4.1-dev (git+https://github.com/open-web3-stack/open-runtime-module-library?rev=5ba42f532b72d71a28aaa18421855de003b9ca71)", + "orml-unknown-tokens", + "orml-xcm", + "orml-xcm-support", + "orml-xtokens", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-bounties", + "pallet-collator-selection", + "pallet-collective", + "pallet-democracy", + "pallet-elections-phragmen", + "pallet-identity", + "pallet-indices", + "pallet-membership", + "pallet-multisig", + "pallet-proxy", + "pallet-scheduler", + "pallet-session", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "scale-info", + "smallvec", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", + "xcm-support", + "zenlink-protocol", + "zenlink-protocol-runtime-api", +] + [[package]] name = "bifrost-lightening-redeem" version = "0.8.0" @@ -845,22 +935,11 @@ dependencies = [ ] [[package]] -name = "bifrost-runtime" +name = "bifrost-polkadot-runtime" version = "0.8.0" dependencies = [ - "bifrost-call-switchgear", - "bifrost-flexible-fee", - "bifrost-flexible-fee-rpc-runtime-api", - "bifrost-lightening-redeem", - "bifrost-liquidity-mining", - "bifrost-liquidity-mining-rpc-runtime-api", "bifrost-runtime-common", - "bifrost-salp", - "bifrost-salp-lite", - "bifrost-salp-rpc-runtime-api", - "bifrost-token-issuer", "bifrost-vesting", - "bifrost-vsbond-auction", "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", @@ -879,32 +958,20 @@ dependencies = [ "hex-literal 0.3.3", "log", "node-primitives", - "orml-currencies", - "orml-tokens 0.4.1-dev (git+https://github.com/open-web3-stack/open-runtime-module-library?rev=5ba42f532b72d71a28aaa18421855de003b9ca71)", - "orml-traits 0.4.1-dev (git+https://github.com/open-web3-stack/open-runtime-module-library?rev=5ba42f532b72d71a28aaa18421855de003b9ca71)", - "orml-unknown-tokens", - "orml-xcm", - "orml-xcm-support", - "orml-xtokens", "pallet-aura", "pallet-authorship", "pallet-balances", "pallet-bounties", "pallet-collator-selection", - "pallet-collective", "pallet-democracy", - "pallet-elections-phragmen", "pallet-identity", "pallet-indices", - "pallet-membership", "pallet-multisig", "pallet-proxy", - "pallet-randomness-collective-flip", "pallet-scheduler", "pallet-session", - "pallet-society", + "pallet-sudo", "pallet-timestamp", - "pallet-tips", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury", @@ -934,8 +1001,6 @@ dependencies = [ "xcm-builder", "xcm-executor", "xcm-support", - "zenlink-protocol", - "zenlink-protocol-runtime-api", ] [[package]] @@ -1000,7 +1065,7 @@ name = "bifrost-salp" version = "0.8.0" dependencies = [ "bifrost-bancor", - "bifrost-runtime", + "bifrost-kusama-runtime", "frame-benchmarking", "frame-support", "frame-system", @@ -1030,7 +1095,6 @@ name = "bifrost-salp-lite" version = "0.8.0" dependencies = [ "bifrost-bancor", - "bifrost-runtime", "frame-benchmarking", "frame-support", "frame-system", @@ -2319,7 +2383,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.3.3", + "rustc_version", "syn", ] @@ -5213,8 +5277,9 @@ dependencies = [ "async-io", "async-trait", "bifrost-flexible-fee-rpc-runtime-api", + "bifrost-kusama-runtime", "bifrost-liquidity-mining-rpc-runtime-api", - "bifrost-runtime", + "bifrost-polkadot-runtime", "bifrost-runtime-common", "bifrost-salp-rpc-runtime-api", "bs58 0.3.1", @@ -6116,20 +6181,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-randomness-collective-flip" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.12#d76f39995315ec36980908e4b99709bd14927044" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "safe-mix", - "scale-info", - "sp-runtime", - "sp-std", -] - [[package]] name = "pallet-recovery" version = "4.0.0-dev" @@ -8385,13 +8436,15 @@ dependencies = [ name = "runtime-integration-tests" version = "0.8.0" dependencies = [ + "asgard-runtime", "bifrost-bancor", "bifrost-bancor-runtime-api", "bifrost-flexible-fee", "bifrost-flexible-fee-rpc-runtime-api", + "bifrost-kusama-runtime", "bifrost-liquidity-mining", "bifrost-minter-reward", - "bifrost-runtime", + "bifrost-polkadot-runtime", "bifrost-runtime-common", "bifrost-salp", "bifrost-salp-rpc-runtime-api", @@ -8439,7 +8492,6 @@ dependencies = [ "pallet-membership", "pallet-multisig", "pallet-proxy", - "pallet-randomness-collective-flip", "pallet-scheduler", "pallet-session", "pallet-sudo", @@ -8499,15 +8551,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.3.3" @@ -8559,15 +8602,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version 0.2.3", -] - [[package]] name = "salsa20" version = "0.8.1" @@ -9692,15 +9726,6 @@ dependencies = [ "semver-parser 0.7.0", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" @@ -9922,7 +9947,7 @@ dependencies = [ "rand 0.8.4", "rand_core 0.6.3", "ring", - "rustc_version 0.3.3", + "rustc_version", "sha2 0.9.8", "subtle 2.4.1", "x25519-dalek", diff --git a/Cargo.toml b/Cargo.toml index e48f7558f5..f1cda60a7b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -122,7 +122,6 @@ pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "po pallet-membership = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } -pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } diff --git a/Dockerfile b/Dockerfile index 63cf0f871d..a167d86c09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,7 +46,9 @@ RUN rm -rf /usr/share && \ USER bifrost COPY --from=builder /app/target/production/bifrost /usr/local/bin COPY ./node/service/res/asgard.json /spec -COPY ./node/service/res/bifrost.json /spec +COPY ./node/service/res/bifrost-kusama.json /spec/bifrost.json +COPY ./node/service/res/bifrost-kusama.json /spec +COPY ./node/service/res/bifrost-polkadot.json /spec # checks RUN ldd /usr/local/bin/bifrost && \ diff --git a/Makefile b/Makefile index dd9d1c6fb2..cc35370c88 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,14 @@ build-asgard-release: copy-genesis-config-release build-bifrost-release: copy-genesis-config-release cargo build -p node-cli --locked --features "with-bifrost-runtime" --release +.PHONY: build-bifrost-kusama-release +build-bifrost-kusama-release: copy-genesis-config-release + cargo build -p node-cli --locked --features "with-bifrost-kusama-runtime" --release + +.PHONY: build-bifrost-polkadot-release +build-bifrost-polkadot-release: copy-genesis-config-release + cargo build -p node-cli --locked --features "with-bifrost-polkadot-runtime" --release + .PHONY: build-all-release build-all-release: copy-genesis-config-release cargo build -p node-cli --locked --features "with-all-runtime" --release diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 9a3e3c34ad..be5fa63c30 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -48,7 +48,6 @@ pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "po pallet-membership = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } -pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } @@ -94,7 +93,9 @@ bifrost-vsbond-auction = { path = "../pallets/vsbond-auction", default-features bifrost-vtoken-mint = { path = "../pallets/vtoken-mint", default-features = false } pallet-vesting = { package = "bifrost-vesting", path = "../pallets/vesting", default-features = false } xcm-support = { path = "../xcm-support", default-features = false } -bifrost-runtime = { path = "../runtime/bifrost", default-features = false } +asgard-runtime = { path = "../runtime/asgard", default-features = false } +bifrost-kusama-runtime = { path = "../runtime/bifrost", default-features = false } +bifrost-polkadot-runtime = { path = "../runtime/bifrost-polkadot", default-features = false } # orml orml-currencies = { version = "0.4.1-dev", default-features = false } @@ -128,7 +129,14 @@ node-service = { path = "../node/service", features = ["with-all-runtime"] } default = ["std"] no_std = [] with-bifrost-runtime=[ - "node-service/with-bifrost-runtime" + "node-service/with-bifrost-kusama-runtime", + "node-service/with-bifrost-polkadot-runtime" +] +with-bifrost-kusama-runtime=[ + "node-service/with-bifrost-kusama-runtime" +] +with-bifrost-polkadot-runtime=[ + "node-service/with-bifrost-polkadot-runtime" ] std = [ "codec/std", @@ -151,7 +159,6 @@ std = [ "pallet-membership/std", "pallet-multisig/std", "pallet-proxy/std", - "pallet-randomness-collective-flip/std", "pallet-sudo/std", "pallet-timestamp/std", "pallet-tips/std", @@ -205,5 +212,7 @@ std = [ "orml-xcm-support/std", "zenlink-protocol/std", "zenlink-protocol-runtime-api/std", - "bifrost-runtime/std" + "asgard-runtime/std", + "bifrost-kusama-runtime/std", + "bifrost-polkadot-runtime/std" ] diff --git a/node/cli/Cargo.toml b/node/cli/Cargo.toml index adc2ee0f06..974bc576e2 100644 --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -71,7 +71,14 @@ with-asgard-runtime = [ "node-service/with-asgard-runtime", ] with-bifrost-runtime = [ - "node-service/with-bifrost-runtime", + "node-service/with-bifrost-kusama-runtime", + "node-service/with-bifrost-polkadot-runtime", +] +with-bifrost-kusama-runtime = [ + "node-service/with-bifrost-kusama-runtime", +] +with-bifrost-polkadot-runtime = [ + "node-service/with-bifrost-polkadot-runtime", ] with-all-runtime = [ "with-asgard-runtime", diff --git a/node/cli/src/command.rs b/node/cli/src/command.rs index 5c0851f99f..b8d18ec0e7 100644 --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -30,6 +30,8 @@ use sc_cli::{ NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli, }; use sc_service::config::{BasePath, PrometheusConfig}; +#[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] +use service::collator_polkadot::BifrostPolkadotExecutor; use sp_core::hexdisplay::HexDisplay; use sp_runtime::traits::Block as BlockT; @@ -48,7 +50,8 @@ fn load_spec( ) -> std::result::Result, String> { let id = if id == "" { let n = get_exec_name().unwrap_or_default(); - ["asgard", "bifrost"] + + ["bifrost"] .iter() .cloned() .find(|&chain| n.starts_with(chain)) @@ -65,14 +68,30 @@ fn load_spec( "asgard-genesis" => Box::new(service::chain_spec::asgard::chainspec_config(para_id)), #[cfg(feature = "with-asgard-runtime")] "asgard-local" => Box::new(service::chain_spec::asgard::local_testnet_config(para_id)?), - #[cfg(feature = "with-bifrost-runtime")] - "bifrost" => Box::new(service::chain_spec::bifrost::ChainSpec::from_json_bytes( - &include_bytes!("../../service/res/bifrost.json")[..], - )?), - #[cfg(feature = "with-bifrost-runtime")] - "bifrost-genesis" => Box::new(service::chain_spec::bifrost::chainspec_config(para_id)), - #[cfg(feature = "with-bifrost-runtime")] - "bifrost-local" => Box::new(service::chain_spec::bifrost::local_testnet_config(para_id)?), + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] + "bifrost" | "bifrost-kusama" => + Box::new(service::chain_spec::bifrost_kusama::ChainSpec::from_json_bytes( + &include_bytes!("../../service/res/bifrost-kusama.json")[..], + )?), + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] + "bifrost-genesis" | "bifrost-kusama-genesis" => + Box::new(service::chain_spec::bifrost_kusama::chainspec_config(para_id)), + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] + "bifrost-local" | "bifrost-kusama-local" => + Box::new(service::chain_spec::bifrost_kusama::local_testnet_config(para_id)?), + + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + "bifrost-polkadot" => + Box::new(service::chain_spec::bifrost_polkadot::ChainSpec::from_json_bytes( + &include_bytes!("../../service/res/bifrost-polkadot.json")[..], + )?), + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + "bifrost-polkadot-genesis" => + Box::new(service::chain_spec::bifrost_polkadot::chainspec_config(para_id)), + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + "bifrost-polkadot-local" => + Box::new(service::chain_spec::bifrost_polkadot::local_testnet_config(para_id)?), + #[cfg(feature = "with-asgard-runtime")] "dev" => Box::new(service::chain_spec::asgard::development_config(para_id)?), path => { @@ -84,13 +103,34 @@ fn load_spec( } #[cfg(not(feature = "with-asgard-runtime"))] return Err(service::ASGARD_RUNTIME_NOT_AVAILABLE.into()); + } else if path.to_str().map(|s| s.contains("bifrost-polkadot")) == Some(true) { + #[cfg(any( + feature = "with-bifrost-polkadot-runtime", + feature = "with-bifrost-runtime" + ))] + { + Box::new(service::chain_spec::bifrost_polkadot::ChainSpec::from_json_file( + path, + )?) + } + #[cfg(not(any( + feature = "with-bifrost-polkadot-runtime", + feature = "with-bifrost-runtime" + )))] + return Err(service::BIFROST_POLKADOT_RUNTIME_NOT_AVAILABLE.into()); } else if path.to_str().map(|s| s.contains("bifrost")) == Some(true) { - #[cfg(feature = "with-bifrost-runtime")] + #[cfg(any( + feature = "with-bifrost-kusama-runtime", + feature = "with-bifrost-runtime" + ))] { - Box::new(service::chain_spec::bifrost::ChainSpec::from_json_file(path)?) + Box::new(service::chain_spec::bifrost_kusama::ChainSpec::from_json_file(path)?) } - #[cfg(not(feature = "with-bifrost-runtime"))] - return Err(service::BIFROST_RUNTIME_NOT_AVAILABLE.into()); + #[cfg(not(any( + feature = "with-bifrost-kusama-runtime", + feature = "with-bifrost-runtime" + )))] + return Err(service::BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE.into()); } else { return Err(service::UNKNOWN_RUNTIME.into()); } @@ -141,13 +181,29 @@ impl SubstrateCli for Cli { } #[cfg(not(feature = "with-asgard-runtime"))] panic!("{}", service::ASGARD_RUNTIME_NOT_AVAILABLE); - } else if spec.is_bifrost() { - #[cfg(feature = "with-bifrost-runtime")] + } else if spec.is_bifrost_kusama() { + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] { - &bifrost_runtime::VERSION + &bifrost_kusama_runtime::VERSION } - #[cfg(not(feature = "with-bifrost-runtime"))] - panic!("{}", service::BIFROST_RUNTIME_NOT_AVAILABLE); + #[cfg(not(any( + feature = "with-bifrost-kusama-runtime", + feature = "with-bifrost-runtime" + )))] + panic!("{}", service::BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE); + } else if spec.is_bifrost_polkadot() { + #[cfg(any( + feature = "with-bifrost-polkadot-runtime", + feature = "with-bifrost-runtime" + ))] + { + return &bifrost_polkadot_runtime::VERSION; + } + #[cfg(not(any( + feature = "with-bifrost-polkadot-runtime", + feature = "with-bifrost-runtime" + )))] + panic!("{}", service::BIFROST_POLKADOT_RUNTIME_NOT_AVAILABLE); } else { panic!("{}", "unknown runtime!"); } @@ -156,7 +212,7 @@ impl SubstrateCli for Cli { impl SubstrateCli for RelayChainCli { fn impl_name() -> String { - "Cumulus Test Parachain Collator".into() + "Parachain Collator".into() } fn impl_version() -> String { @@ -164,7 +220,7 @@ impl SubstrateCli for RelayChainCli { } fn description() -> String { - "Cumulus test parachain collator\n\nThe command-line arguments provided first will be \ + "Parachain collator\n\nThe command-line arguments provided first will be \ passed to the parachain node, while the arguments provided after -- will be passed \ to the relaychain node.\n\n\ bifrost-collator [parachain-args] -- [relaychain-args]" @@ -176,7 +232,7 @@ impl SubstrateCli for RelayChainCli { } fn support_url() -> String { - "https://github.com/paritytech/cumulus/issues/new".into() + "https://github.com/bifrost-finance/bifrost/issues/new".into() } fn copyright_start_year() -> i32 { @@ -203,24 +259,32 @@ fn extract_genesis_wasm(chain_spec: &Box) -> Result { - if $chain_spec.is_bifrost() { - #[cfg(feature = "with-bifrost-runtime")] + if $chain_spec.is_bifrost_kusama() { + #[cfg(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use bifrost_kusama_runtime::{Block, RuntimeApi}; + #[cfg(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use BifrostExecutor as Executor; + #[cfg(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime"))] #[allow(unused_imports)] - use bifrost_runtime::{Block, RuntimeApi}; - #[cfg(feature = "with-bifrost-runtime")] + use service::collator_kusama::start_node; + #[cfg(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime"))] #[allow(unused_imports)] - use BifrostExecutor as Executor; - #[cfg(feature = "with-bifrost-runtime")] + use service::collator_kusama::new_chain_ops; + #[cfg(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime"))] $( $code )* - #[cfg(not(feature = "with-bifrost-runtime"))] - return Err(service::BIFROST_RUNTIME_NOT_AVAILABLE.into()); + #[cfg(not(any(feature = "with-bifrost-kusama-runtime",feature = "with-bifrost-runtime")))] + return Err(service::BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE.into()); } else if $chain_spec.is_asgard() || $chain_spec.is_dev() { #[cfg(feature = "with-asgard-runtime")] #[allow(unused_imports)] @@ -228,13 +292,38 @@ macro_rules! with_runtime_or_err { #[cfg(feature = "with-asgard-runtime")] #[allow(unused_imports)] use AsgardExecutor as Executor; + #[cfg(feature = "with-asgard-runtime")] + #[allow(unused_imports)] + use service::collator_kusama::start_node; + #[cfg(feature = "with-asgard-runtime")] + #[allow(unused_imports)] + use service::collator_kusama::new_chain_ops; + #[cfg(feature = "with-asgard-runtime")] $( $code )* #[cfg(not(feature = "with-asgard-runtime"))] return Err(service::ASGARD_RUNTIME_NOT_AVAILABLE.into()); - } - else { + } else if $chain_spec.is_bifrost_polkadot() { + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use bifrost_polkadot_runtime::{Block, RuntimeApi}; + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use BifrostPolkadotExecutor as Executor; + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use service::collator_polkadot::start_node; + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + #[allow(unused_imports)] + use service::collator_polkadot::new_chain_ops; + + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + $( $code )* + + #[cfg(not(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime")))] + return Err(service::BIFROST_POLKADOT_RUNTIME_NOT_AVAILABLE.into()); + } else { return Err(service::UNKNOWN_RUNTIME.into()); } } @@ -243,7 +332,7 @@ macro_rules! with_runtime_or_err { fn set_default_ss58_version(spec: &Box) { use sp_core::crypto::Ss58AddressFormatRegistry; - let ss58_version = if spec.is_bifrost() { + let ss58_version = if spec.is_bifrost_kusama() || spec.is_bifrost_polkadot() { Ss58AddressFormatRegistry::BifrostAccount } else { Ss58AddressFormatRegistry::SubstrateAccount @@ -300,7 +389,7 @@ pub fn run() -> Result<()> { with_runtime_or_err!(config.chain_spec, { { - service::start_node::(config, polkadot_config, id) + start_node::(config, polkadot_config, id) .await .map(|r| r.0) .map_err(Into::into) @@ -345,9 +434,11 @@ pub fn run() -> Result<()> { set_default_ss58_version(chain_spec); - runner.async_run(|mut config| { - let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, import_queue), task_manager)) + with_runtime_or_err!(chain_spec, { + return runner.async_run(|mut config| { + let (client, _, import_queue, task_manager) = new_chain_ops(&mut config)?; + Ok((cmd.run(client, import_queue), task_manager)) + }); }) }, Some(Subcommand::ExportBlocks(cmd)) => { @@ -356,9 +447,11 @@ pub fn run() -> Result<()> { set_default_ss58_version(chain_spec); - runner.async_run(|mut config| { - let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, config.database), task_manager)) + with_runtime_or_err!(chain_spec, { + return runner.async_run(|mut config| { + let (client, _, _, task_manager) = new_chain_ops(&mut config)?; + Ok((cmd.run(client, config.database), task_manager)) + }); }) }, Some(Subcommand::ExportState(cmd)) => { @@ -367,9 +460,11 @@ pub fn run() -> Result<()> { set_default_ss58_version(chain_spec); - runner.async_run(|mut config| { - let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, config.chain_spec), task_manager)) + with_runtime_or_err!(chain_spec, { + return runner.async_run(|mut config| { + let (client, _, _, task_manager) = new_chain_ops(&mut config)?; + Ok((cmd.run(client, config.chain_spec), task_manager)) + }); }) }, Some(Subcommand::ImportBlocks(cmd)) => { @@ -378,9 +473,11 @@ pub fn run() -> Result<()> { set_default_ss58_version(chain_spec); - runner.async_run(|mut config| { - let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, import_queue), task_manager)) + with_runtime_or_err!(chain_spec, { + return runner.async_run(|mut config| { + let (client, _, import_queue, task_manager) = new_chain_ops(&mut config)?; + Ok((cmd.run(client, import_queue), task_manager)) + }); }) }, Some(Subcommand::PurgeChain(cmd)) => { @@ -409,9 +506,11 @@ pub fn run() -> Result<()> { let chain_spec = &runner.config().chain_spec; set_default_ss58_version(chain_spec); - runner.async_run(|mut config| { - let (client, backend, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, backend), task_manager)) + with_runtime_or_err!(chain_spec, { + return runner.async_run(|mut config| { + let (client, backend, _, task_manager) = new_chain_ops(&mut config)?; + Ok((cmd.run(client, backend), task_manager)) + }); }) }, Some(Subcommand::ExportGenesisState(params)) => { @@ -420,19 +519,14 @@ pub fn run() -> Result<()> { let _ = builder.init(); let chain_spec = cli.load_spec(¶ms.chain.clone().unwrap_or_default())?; - let output_buf = with_runtime_or_err!(chain_spec, { - { - let block: Block = - generate_genesis_block(&chain_spec).map_err(|e| format!("{:?}", e))?; - let raw_header = block.header().encode(); - let buf = if params.raw { - raw_header - } else { - format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes() - }; - buf - } - }); + let block: Block = + generate_genesis_block(&chain_spec).map_err(|e| format!("{:?}", e))?; + let raw_header = block.header().encode(); + let output_buf = if params.raw { + raw_header + } else { + format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes() + }; if let Some(output) = ¶ms.output { std::fs::write(output, output_buf)?; } else { diff --git a/node/rpc/src/lib.rs b/node/rpc/src/lib.rs index 57f77a270b..47895ba143 100644 --- a/node/rpc/src/lib.rs +++ b/node/rpc/src/lib.rs @@ -63,9 +63,8 @@ pub struct FullDeps { /// A IO handler that uses all Full RPC extensions. pub type RpcExtension = jsonrpc_core::IoHandler; -/// RPC of bifrost runtime. -#[allow(non_snake_case)] -pub fn create_bifrost_rpc(deps: FullDeps) -> RpcExtension +/// RPC of asgard/bifrost-kusama runtime. +pub fn create_full_rpc(deps: FullDeps) -> RpcExtension where C: ProvideRuntimeApi + HeaderBackend @@ -101,8 +100,9 @@ where io } -/// RPC of asgard runtime. -pub fn create_asgard_rpc(deps: FullDeps) -> RpcExtension +/// RPC of bifrost-polkadot runtime. +#[allow(non_snake_case)] +pub fn create_full_polkadot_rpc(deps: FullDeps) -> RpcExtension where C: ProvideRuntimeApi + HeaderBackend @@ -112,10 +112,6 @@ where + 'static, C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: FeeRuntimeApi, - C::Api: SalpRuntimeApi, - C::Api: LiquidityMiningRuntimeApi, - C::Api: ZenlinkProtocolRuntimeApi, C::Api: BlockBuilder, P: TransactionPool + Sync + Send + 'static, { @@ -125,15 +121,5 @@ where io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe))); io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))); - io.extend_with(FeeRpcApi::to_delegate(FlexibleFeeStruct::new(client.clone()))); - - io.extend_with(SalpRpcApi::to_delegate(SalpRpcWrapper::new(client.clone()))); - - io.extend_with(LiquidityMiningRpcApi::to_delegate(LiquidityMiningRpcWrapper::new( - client.clone(), - ))); - - io.extend_with(ZenlinkProtocolApi::to_delegate(ZenlinkProtocol::new(client.clone()))); - io } diff --git a/node/service/Cargo.toml b/node/service/Cargo.toml index 3916536057..541140f4af 100644 --- a/node/service/Cargo.toml +++ b/node/service/Cargo.toml @@ -77,7 +77,8 @@ log = '0.4' # Runtimes bifrost-runtime-common = { path = "../../runtime/common"} asgard-runtime = { path = "../../runtime/asgard", optional = true } -bifrost-runtime = { path = "../../runtime/bifrost", optional = true } +bifrost-kusama-runtime = { path = "../../runtime/bifrost", optional = true } +bifrost-polkadot-runtime = { path = "../../runtime/bifrost-polkadot", optional = true } node-primitives = { path = "../primitives" } node-rpc = { path = "../rpc" } @@ -97,13 +98,21 @@ default = [ "std" ] std = [] runtime-benchmarks = [ "asgard-runtime/runtime-benchmarks", - "bifrost-runtime/runtime-benchmarks", + "bifrost-kusama-runtime/runtime-benchmarks", + "bifrost-polkadot-runtime/runtime-benchmarks", ] with-asgard-runtime = [ "asgard-runtime", ] with-bifrost-runtime = [ - "bifrost-runtime", + "with-bifrost-kusama-runtime", + "with-bifrost-polkadot-runtime", +] +with-bifrost-kusama-runtime = [ + "bifrost-kusama-runtime", +] +with-bifrost-polkadot-runtime = [ + "bifrost-polkadot-runtime", ] with-all-runtime = [ "with-asgard-runtime", @@ -111,6 +120,7 @@ with-all-runtime = [ ] try-runtime = [ "asgard-runtime/try-runtime", - "bifrost-runtime/try-runtime", + "bifrost-kusama-runtime/try-runtime", + "bifrost-polkadot-runtime/try-runtime", ] diff --git a/node/service/res/bifrost.json b/node/service/res/bifrost-kusama.json similarity index 100% rename from node/service/res/bifrost.json rename to node/service/res/bifrost-kusama.json diff --git a/node/service/res/bifrost-polkadot.json b/node/service/res/bifrost-polkadot.json new file mode 100644 index 0000000000..10c1b6ab04 --- /dev/null +++ b/node/service/res/bifrost-polkadot.json @@ -0,0 +1,88 @@ +{ + "name": "Bifrost Polkadot", + "id": "bifrost_polkadot", + "chainType": "Live", + "bootNodes": [], + "telemetryEndpoints": [ + [ + "/dns/telemetry.polkadot.io/tcp/443/x-parity-wss/%2Fsubmit%2F", + 0 + ] + ], + "protocolId": "bifrost_polkadot", + "properties": { + "tokenDecimals": 12, + "tokenSymbol": "BNC" + }, + "relay_chain": "polkadot", + "para_id": 2001, + "consensusEngine": null, + "codeSubstitutes": {}, + "genesis": { + "raw": { + "top": { + "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x3a63": "0x", + "0x15464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", + "0x3db7a24cfdc9de785974746c14a99df94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509be5b693b56b364e6175726180606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335": "0x606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x00e4ccc3f48623000000000000000000", + "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", + "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0xd1070000", + "0x15464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe18505": "0x00000000000000000000000000000000", + "0x3a65787472696e7369635f696e646578": "0x00000000", + "0x89d139e01a5eb2256f222e5fc5dbe6b34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3f979648c7298d7545c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b": "0x5c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b", + "0xe38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4": "0x02000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9dba11f2dae5d70f8ae7605deca4e2120ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034": "0x0000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x310e40626966726f73745f706f6c6b61646f74", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb393216bba801c5d43b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d": "0xb6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x2c64a40ec236d0a0823065791946f6254c4577c6110f512614bd6ece1a3fa22b", + "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3936b4ad2932f33e9ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034": "0xce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034", + "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x000000000000000000000000000000000000000000000000", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950cb7d20d508713ba36175726180ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034": "0xce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034", + "0x7b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", + "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xe38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x15464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a": "0x105c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb34ae49c6649ffe58b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335": "0x606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da90f04c535eb4289444151d262bb898b285c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b": "0x0000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x105c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950d2c611033cc634cf61757261805c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b": "0x5c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b", + "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x5f27b51b5ec208ee9cb25b55d87282434e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x105c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da91a1ec287a3e56e01be87bdeb7d6eca6ab6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d": "0x0000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x1809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x15464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf1": "0x00000000", + "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x105c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x105c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b5c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1db6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9afd69991a6be09915edf9e31fed864296d6f646c62662f74727372790000000000000000000000000000000000000000": "0x0000000000000000010000000000000000e40b54020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x3a636f6465": "0x52bc537646db8e0528b52ffd00580cd7038e9a44940e52209c9549074ddcb28c0fdb71f28c461ac1a60b1338e20c89bec5136b2cb9c407b65b6b7c949baa685d685b775310d190b7b37267d9b5087ab9865b0ffcb27a2b655104f011fcbf09d95beebda59432259902530fb50d1b0e6cd4c4cfb7abbfe3aa5dfd32ed8ab78d42c074fbb7b6719c78bf1bb7632e3fcc71a4c287b68754be2cf375b7bfc277f89fc3f767f845dcf635ba4a4c0eda7839a6ab840aaaf606ad5f4e89b9295d25b613ef48027d2e1204b8f0fb995b40f4f1b9f047e7b3b58b6f7f851bf30ef8df57ddfad0c1ebcfcf1c10ee61cc09c1512e64cb32edb0cb50f972bbbe7efef82fdb16ba7ef81f3f378b9b15df87ae9fdf9fb905f417618f9b153df77a744fc306541e4017ff5b5df939daf56137edfa3a56bbbe1c57be7c1dedf22bb198c1d1951fd3368df3c395cfedeafbddb8f2bb76f5cb57b5cb5fbefcad5df0e5b38cf48ab0d1e5193d10f2547e96f9725cffca16de0ab9576c16f460e0f3fd76fcc686dc0b7a3fe2b3e55b2b73404ceffb3b1f6b8e614a6c96f7edf8d57ed5aefafe31eda2956699f765af7d46b7eef277eda2efaf6a57f6fe959bb53de4808037366bf3beedb5a796ef6677fc665f6133f4133fb57cabe5ab65969bf5ad2e3fe63624781cee1633cd1773d9fbe6cbf7afcecc37da0f5e25e4fd825cccdb91979fb9176fb7bfd6de989bded773e743cbf6c32ebf730c533e8cc55f23c79cb2354ba659fef4b959f0bf59feccbda84f1bbd0f5e25fc7e4bdc1dbff3d976969bd50fb9d7f4b8599f4a7a58b3ba55bbf8fa47cbf731b7893e3e3e3e3e38fe2cdee1f03f991c9767f46850a6a0f24dc746207872d9c8a70900978d40f0732b8a65bebffdccd974463e4af78bb7bf4763f0318cdd86bbf57517fed7dd0fbbfdb15dfcfddc2efafcb15df3f9b176f1e5afd3f2a516deca3c74957374d537c8bda8a7a39bdfdc6b3e7341f09d0fb91ff4a7f7d1a75f9bfbd15dfaccc566c567ee25bf4757b84d4b7b748feed1b532a73d663fec623f6df69a5dc0fcccfbe09d4fed479f9b857d0fc7ec172ff6d316c99e2f73afec2b663f03dcf99539ccfbb08bfdb41f1bddf9d47edff77ddff7d1e7667d41dcf9dcac8f01773e37eb9bc09dcfcdfa82dcf9dcaccf883b9f9bf521b9f3b959df12773e376b7e0fc76c11243c4a94284d177bbed4f29df6fbe1c6af70c36c7c6af932b7809b3bbf47f7e8cc22412fe67df02ae1777adf12777e851bb57c999bde8e5fe971b3be78e1f7e81e1d2d370bbe5b6ed6a7baf059a6bd227f79464f06e392fad2f1f3ac301d3fcfcaed82ff61979fdbd5cf5fdbc20b2dbcb15df0f92bdcdaf28ded92cf5f21f7929e8e0e7e859bb4f03207bff656d3f5bf6c5be8fcfbe53bf7929e8e0e7ef54d5a789b83cf9c7f8f66eed5dfa37b748feed1156ed0f26d0b2f730ae00bbf47f7e81e08a10b2ae7e82a8a65beeefa73dbc46ef9f357e6a183dc8b9bf561d79f3920e0e566f9f7680074f0c28781cf979bc50f230476fbb1db1e8c10fdf1fba3b7032ff4b8595fbcfcfeccfd80dfded70fbf47b38c7b45bacb337a1af6541e40d7efcfedfa56d7df7fd52e7eff9876c1f78f6d0371fcbb7631164c6872fdb95d7c3fd5f56719f78afce5193d100251b9878e8d42e073532e63c183285c4ea9ccf5099d77f98a352ce1d2cb57aca1e8c2cb2d9577e85856f8dcae8f1f7adc2c7efe1e08572a1bf9085da69571742c2bdbe8586e45804c7c9cd0b62b6c56d89ab069b139d984b0116d40d8b2d886b0056123c206b4fd60a362f3c136c5d6832d065bd00683adc976b4e96063b24151d150d550d350db50bda867a866a85ad42c6a52c542bd42b5427d52ab50a95091aa14ea5225431d431543eda286a182a17ea12a552fd42e542e542eea15158b9a845a840a042d8a56078d0e1a1caa13b432685c685ad0aea059417ba25541a382f604cd8916032d4883818603ed069a0d3421ad061a0d2a0e6a517685cc0ab50c750b190ab213644f6426c84890fd6423c0888059216281d5216ad15a6c2ad87840b5c0e840b3a05bd027684bf548cb423b92248854886188609023885ec817c8164828a40924905c813c816c228a21aa217221468944310ef149ac835c12cb207d621791085108b149fc41f4424c43d48284810481d7c1a3381db01d6429c06e80096520c06280c9007b011605e6028c06d80c36116c23d87e3417682da0b99125214bc2e68045a96cd0b6c0634700b4266c566c4bd870b049b1e5609bc116c526b4d56093c1f6c476024d8baa85ca846aa4c5419383c6066d0d9a179b0934346867d0bea081418b8206859a850d055a9336076d051a14cd0d19525dc2a4430605ed8bec09f404d4098a043a040d0b9a025f0105caa0701f50186c2fd0983433686ad0d280bd4113434604fa82590778040c0ad6063a078c0d940bd30a1e84ed08758892a05a519b509dd028b40ef40bba04aa040a842c0aca45c602278a48a02e702e6815f4894c0cb4047405b48816818e20730215019c42644243d051cc28930df30bfa832dc19ac8b0984d148aec0aba64ba01a30216050c0ad816d813302db02cb0230c0bec0acc099813ac099815181330236c099812b02460556048c08e8019012bc28a30af90ad603ed9b0f014b80a2615e614661426145c044e0207f2271c05d38ad9c40481fca22a41538184837c43ab4042916d9066906590699068905d906b904c920ba9054a076d08de85082495285154415c01e643e58031994b930c1a909682ac492604ca046ae459f8113da258684db21d6446c88afc895761224d29340efa069a10301cb8163c0b3e852845c401d684c1010301b682198609864c0a591434166841d08020cf80a521ba40b241660156a183661be016d910e416241734220a82b906aa02ed079a0f342a3227130e5913261429076d0ad9049d482f68139405d4879a40eb81c6036d077249ba8112013ed18634269a0eb41ccc2af816ae064743e60339547910add8aad890b029213261338a467109b10a8a02cd485b82a6046a84d883b8036f411c8a398837c08022083c0dee05df825f61c6c19120161c0bbfc2a1702774085c0834060e04f805ff01368239060d0559106812dc09bd221bca8ae054985bb40eb01038175c0ad106981b3012cc2f604e645bd016f809fca78de61c9c0534c84de025e8263e02772243424c425402268766c27cc3468329074c04bd84564227a191d0476823745117a189d043e81cb4144d03a90698453fd130e82a2a0d7a05920c500a9d824641f4e9263aa99f3095b027b309994f968698c51c019602d804e100df00a1c0314031c0304030d435542698059804ad20e300a9506750a3a832a831a830a841f505d505b505158aca02eca7aea0aaa002d5145414d413d427aa096a092a09ea8f5ba18ea03a51455097d4266a082a0820128c028402bc02d422eb22f2005e019d9059019fd03380463009b00a01c4186857684c9020a8f032d49ac8da739408c900102442728c0002a44227c2480e10201ac31c9d0c08d931924411407686e42421428411224080b8cc349ce41558490e911d22498e18b193849094b40227498208203b477494002182e40a4992c45d91541802e44811467e1839426447888ece9102ec0cc9d1d13952001b520a564281957020a70810254072883832248708204a389023849123449428c971800ca9056f8008929b24a74892231258809557f0114084ec082142c84e4e0252a41358890e11213b394400c9c929624636818f14618408100e24c9490209204490dc1d233947704008035e5ac139438c1c310244081022486ece10234714b06324892343865c18d2889514199263c4902a58c98e919c2439461821f2b20846881401239bf010224a8c1049b2b3440e100ee82041220448921c22748824815364c8111d9c1809840e10d1114264878811222b920a2e32e4884e0680e4ec24312467891c15d9034e72a4009bac01e7ec082182888e102580e424919344031e40448e063420e4013658e41354098b303cb9dc53d9c8c7e7c21e7799320432041009a4f1871b66e69b1f7ef801ce095b4e38a19c116212420865c7d851c6d810663d334c4a98d12825849062d24569a5d95ad2d0d08e10c2969a84708372c618239c734e092185b3e59c12328f1d50d320a40c2184b07273c239219c10ce38278490218c130640939112c608296c4a9bd228310f46082316238c53665142ed26c6d8c518a516a18c51ce19dd7dce964db9bbf68410c21a70ceb9438c36914a1a5b369cb07bc6a672abb43117cdb24c4a496784b2316eac67648c59768c915bcaa61d639cd27d4e19639452c609618d362717617051ea90008872e6f041ba4f19e79cb087382194b2a3bb7bd472e488314a08e79c30c639bb19a38431e2e021c62869649c9a16218c3432461a698c31d2285da44b7489d125c6e9e2225d5ca44b8cd2c5254e97295d668c2ed1a5258c2897d851cace66cfd6344d8b72469ac56c464a5bd2da945218b7894549b3d8584b1925c74899766c6ecfa3356259ec2c8b324a081976b7a4514a1b5266c608659cf3468acc9c3345ca1419a38d18e70eb1e5ce9a999155d3b48610c65983068c71fa94734e1919296747d9334629a79c939be1318c119b514608658cd3c6f973c639e9942819eeb2670c086184724ef716778f32ce18e79c93c629e59c71464d8b334a29a98c32723172d1454a296594314a39a59c31ce38639c32ca29a394324a19659c51ce18e59432c628659c33461965841142a61ca746a5ccb24cd3b26c2bc2660487212227490e11498e0071d5f8904324c9ce0e33292e305e8a0c1192011d9d233bc4bcb4c4687181c976860851624448921d203b448e38e2086bc5eb6094e468c088102386784672902011a21d31b9879c24450049726447c890233a3a42628e20b2632489245e57c44e1230728c00b263844812244086282172448c0e178c258e6c602786abc607981b1f7a00e2434e11213a1900a20123448c5022c4887fc9d9119224c7488e0668b8b00f394a94e4244172c491214092e4287164484e1220429410312407480f455c353e201992a3c406003a448ae458cdb41c399284c54284909c24ac959c22407696c83172634503332aee41c98e12224be4ec90621f962052444e1224395272342024c9911d254088d02162c410203b3a490829228788164a2747891c1d204b083942868a068ee800d18011221ad0c0111d97949d1c25df251192a33304c8123944182102c4081121460c29a288231eca0825448c1029829519316447480680ec2411b233e343122527ee01889123449424c9510208078a20922447092001e8a1a6c6072272801cd941c281244380ec2c913343092339aec2cd8124478ec839622a6124c76d7067689641b8a727c6203c10e38941b8470bc23d59901ed88305e11e1e9e9e9e3c3ccec3d3d3e3417a200fe4e9e1e1e1e9e9a141b887a78707b207e9813c30480f0ff3f0f078101ec80383f0c01e1e1e9ed8417a200f0f0f4f8f07611e9e0ec23c30480fe4203db087a7c783f0c01ed84383f44018843908f7cc1e19847b6010e69e9e0ec203797a3a08f7f4f4f4c40ed2037b7a7a3c88005c089099e1114a84709d2fdd24f0460f1b629a7e06b843eeb465440451d23162690709132a621668563f731368567fb7cbff8b97e1e587d6003d8c1010c4d1039ad57fe218d0acfe238cc43be6e587bc43be6be57e1d0482ff41282eff6745e0671e436e01d1c68d0b1d7cbef333f80d39f8107a3f34abffe6e6766c17b7a6c73fb0cb7142f895534e8e7bd5940d892e1ab58bb788b9fcc568148da211924e478e687453436438d1c85bfd474427d1281aa55229553cba3c74c449e5d006c32c3645b7e6b3bcc5495656565a3a66b5626161594155d7d574f15bb8978e375df92ddc4bbaf731f173fda1fdbce9c237d2c1f86e75bce9bad721dec1f1bf285dfe4343dd0b1b2a72a4832f2d3645b3fadd12ddc6869ad5af3374fbab56338cd6d37c9f5e37a0cb33a4a7b2081a62695a864e2d19e89c0de8c870b177ce47bdd4f326a6f1678037c524d0b166c1a7f0c619e3d2d28dcd62a52c6a45511a7406803076637173eee5dddd0dbb1b76eb442ff6d6d574917be950a457773f048101ba2ffaac0cd0511a741f7639368b7f722f9dc94c0009e9fa7b3884dfd6a15cf6a6cb4b97552ba6f4c44cc3ef700275f1a18dcc4307913aecea50a40b7fc7ef8bc9cfe3cc6732e3ed8fb73d1821fae5f74b6f075ec8037bbce10f28d3756e1663d89702bd4fc79930ce4054c3c5fe4b99efdc4bc79d09a0db1fad90b63ace742303c1dde9451fa609e283d924f07ed127b6cb883331e64cce4499dc577032ba4d33d8389ee436f5e14368448baa85389ad59a305aa435ddfea0ae02dda6453ee8d59a98a63f1655cb389ac5bcd54f2d1317431721f709fb1ecc32d3f00ee94dd8f7cbd0cfbc8fb584d239e18d31abd59db4c89baa0f2da29ed6a435350ff493d1e5193c2da3044365b7a1623ef6f03e20d6c4b84dfb00e8e3e38379905b31bb710390fb81b98c31c209fc5081c4cd2dc2ba3d38d857e67e648f048c72a54705123777c7af7ce61ebce7f6c377fbf5dc0844cfed8717b38cd3377edbcc7ef1d28f9c10a92bbfce0d724278942832c6c82dc0efe69cffdc26153edd9dca13f594e82be7f490f02b3d669af83d3a4e8f3aa8b5a6f3e7396bbb8048eaa2597cf963db300e03417fce39a79c73cab9d428c82fe5c7afce0d4195ee7ce61a007180d88ad0613fbf42ce078c72bfc2adb920f8d6afbe35b700fad93357bdad0b1d8c10f4b3cf3c289eb8f3e3101047fbda1bb53d44e368ee43388ef6356ed4c618878838da57b9512ba59443481cedebdca89d73ce39c4c4d1bed28d5a4a29a574088aa37dc5366aa990072d294da21e6a62322a923fd007e9cef91887048c72a9b719a1fb62d09d9f71436038da578d617b949362a7b83913cd636f7d11a847438e7a303fb2a70f44e631d37c3409e9ceefb9ccd1da1be416903de6514fbebbb47ca3fd3cd07475a2f5016f73b378600fe6150898d0f5af18d6b5ab8bde7463f4a51b9fdd66e52d8fef496e233f7a1ffd1a6d67310a74f0c6ffb0ad47af7c7ef53e6cbeb6ba3e572bc7de9d7b456feb3927f66d3f1dec7b3466b1660dd138d2a33d5a880e7e0f9ff673a5fbc5a0eb46e2cf9def8f75b5e99cf127fe60429307f6b44b292008e0122b2ab72b3e7fac10098ff2c5850fb904c02817098f1205324df3dcfe687f5cea4166490f44f8d1fef092ccdfc16e929dceaf7cc838a4ec87dfdc0fbffe356ecd79955b54a2effc3a37e712e0777e85ded04ff499f3e1977a48f89d1e338d7ce97db4f0c676794fd84b68261fd8ee314ac9b4d41ed9a39c585394534e4a312ccbb41a6bf58675520ccb324dcb34ad56a524a6a5a6985951997dc88b8298dca7953a892d4739291631cc1b623c29c696b14cab91b38db5ba71a7783a79c313f3c6b1e513d3e5af27140704bc6c3ff761fbb5d2e54f51892a2ade50a5e8a8875aa87d1a8869e928a90812412028047d9a92fc8899067a1f1bc16ef718256cf718a59c51ce492986655ad4346fa8512ccb34add68d8b1ce70d39ad6e1bc79d4e2878da200ab5c1aedb608a4a2aa652de30a55a6116968d5b5671b5f286ab940d5a15f8a9bffc35a5526dd0ae7040c02b032d0b0704bc18d3f0435b994e197b20bce1446599cf8d6eff067d73392996c52cf386d9dc269669758bdbe60d376dd336ee84426da81495946a25aeac78c395956d25e6f6b7ac7a155d645e224c8481f18630d8896ff8092319fdc04acc85d10f37ccf4c4cf4e1014dcb48364c8891144825b104d310495e017b0e967095c825d4025d8414d6e7f13b547e146b73f5611856ebf8c62c639bde1c44e1dc434fd356663b7611cfe0adb3d4629278d947a43ea72a359e5646860add44b4c4deee33f43434343434343487230b1965e699574d3ef412ee4434ee4456ee440979f4e19fde6e6e6e6e6e686fb59abdbc671a713aa8b5de70dbb6d3b752a2a2a840d7544aba237621de568a4a5a1a1a1a1a1a1212437deeabfb9b9b9b9b969a55e626a721fffe9a4cb3f656c7873737373737373fb3945259552a95656585a624b8b376c496d2b5b8bcb646a0a0a0a0a0a0a0a1a1a1a1a1a1a1a42d2434dd4456dd4478dd442975fc6a1a1a1a1a12188849998899998899998a965e5e2f2f20203130323c280e10d61b86c3030241156d419ad8e1e8995840495a0d2d0d0d0d0d0105353fbf44f0375105cbafcd1bda1a1a1a1a1a1a118183162c890f16fbde879ded08bb17dc4813ef027282828282828082a79ab1febbad5ea9f058ba0113c824830092a41a2cbef4141414141414150092a4125a80495a012547aeb793366c8c8d0a8116bd4f08635bccd717230b1965e6995c4478d14e4adfe0eea20cca7fb59017d104b28071c6abafc8d8475ab0fc230ea7d5db75a794131c883666cd0268955c68bdb4f6389468d1a4db77f8603025e6ed6d7506e7f9dd9a0fd3ae9f6b33820e0ed27cdeaafdc8aad96376c61a746629afec669246ff57357ff5b5d7efa1f4bfe97e3fa7f3797ffe3a3cbfc1f275dfe8f952effc74b9799e9f2f3c746971f36d2c9fb30cefbb0cdfbbaea7d9de67dabccfb5698f73df5be9fdec792dec7f2dcfb72dcaf916ed3a83536761b88e3405db75afdb358392ee7b89fdff88fb7da4776fd8769fa7bb49fa183fff9cfedaf14cbb2937cb7c9709c834838a10274fb5d937764ffb9d2e5df2e7f7d7293c45b330b6ff59a8e09a6556eef53f6923efc4cf668e61df23f6a74fb8b3eb7df99da35bfdfa1b42b3ef69af779d3edaf6ef9627609f64e3c0ee651e1ffd9c32fe22f1f66f1ebcbc685ce9f6f7c8c7b454f47e7dfa3a385775a78271704ff704fd5ac7ee941aebb6ee18dcd821f3dba8d74fbbffa73fb9b6b40868379a7236ff517a0839109679a581dfa079a69e257c8b14ff27b74dfd82eea7d3c906926eceadb698b6ef5e9a859fd3fba6f75fbbfd3d185df1fd3360ea55bfd0d3d676a56b733ddeeee9384fef0656c577b7b455480a64f1d5496f9acd29dcfdceb07e87d4b1029a08bdfc3a39d0fad0e45ba71da1b860d21ace95cbc70617259bafe9063804bade9589e60200874e5c6edb2b9f1963fb7f7f5dcfe1efecc2e2198e5ffd12a6e7c6a047605f1d4886dbc8f4f8fd886c6c7a745bc23e6e317876afc17816cd85b33ff451fb671256ff9c78f416c13e3e34721b691f1f19d896d607c7c6f621bf9f153ddf8cc3be6c787bc43e6e34776c17c7c8c6dfee377ecb21fbd4f8722dd97bf79b109e8e07df9ef06881f9ae5ffe2f508a25d34a959fefe42b08b6e8159fe1f235d7f57721b8dc95bfed88cf76135bcafbb9f2bddcfbfb04d03e9c865a5110d29bd006531e9fe5b6b630835cbdf85a9a5a565722f180f019d8e66f94f2e47b3fc7d74f0652cbc1563d82799942332b6639af8937b754864588c5bf12797007ab1256258e656fc81c51f8c6b40e3c01022db5e9d6fd3ce6b2d9319bfc53d791606d3928acaa7fea34a4847432f422a95ca86bdb5fd87dd95e7b6597976417a6179961fb799b165332ccb5bfe59c631796ff91fa083ffbda6d5add62ab76965cc6aa5d5ba71dbb6c5eb591849def28fb1309098c69f6e815dccaccf2feafd6952bb9859a8effea34a454430accb92c614e3c98bd392eab4d4c5084ae1d3d264a699b5a6dbb813643f711c0774a1b8739bd62f0cebb2e42dffd34f8c28ba05e3fde84e4bed8aef7ff2a26d5ea0e896bfbf04d16dcdf2e7301f1ddcb6edd54d2e4650b3fc81e8e27f31b618413e6024f18e97f78ff65f80dc46bebfd1e5fe5339bafe9bf46204c5087ad936eeb4d5742796a0edd57d2c41d7bfc20eb29f58809ae515b5d574fd28eea583e25ed1fb2ffe5cf8d17e3fe665a6f99660007bebf3a45ad3457163b33e2684ae01ba8f09a11b9fb98f89a01bdfa3fd7ce9f64ffbe9c49f1b5fd16381a22dcb132c3f15dba685978b4bdf5a96b72c3fdefaa8d2f5d798dc26467c8d89fb0fbb9fc674fd812ef632ec8b917d29f296bfb42f41def28f11947d77b38fded779ebc36ef6dc33d7800c0786f702e42dff02c8cf03313632cdcb737cf13e26ee7cf83096991599fb11efec976d0b9d2f9d381f7d5f809ae58fd3c1474d19bd2163d869fe7d79f8b15d5fcf8d0f7f5a669a176f72afe8f57017fbf95d791f8c2cae7f8bfd5c9aae3f8bfdb015fbf916f7ab4f5c7f95fd5e88ae7fca7e2f49d75fc57e30ca70fd53ec8775f67b31bafe28fbc198c2f53fd924f17e2c3fd79fb31f76bf1841d77fb31f56ed17ef775abafe9afd5e8aae7f66bfee7e2f40d71fb3dfcbd1f5a7f66381e2faffd0aef7bf69d77cff1eb5b9d7f47474f1b1cb5c8c1e13f9cc31f9791ce9f150241c2aa2678422ddb64a9767f4340fec813cdd0379624f0b0fece94cc6084a135cf000bafe0fbbeeeffeeeefdec414d7dddd752a6b56745830a1c9153020bafdd8d6d5548742079fbb869fb7ca03e8024cb0670e7adfa3619f9c6e9a8d975a26d86796c9cf4b2a33efc3ee9cf363b8d7f414f79243ba5ed23eede3aa20be520116573969d64f30ba2e45050543a55a6149712f9ac50c4208a184104a086367524abb352b8bcdca9eb91e9d6d9aedeb9ec2bd32cfe3d0c1cf9ed218dc8ba65c42a6f14f71af4cb502b95d25c6ca0a4b8b4ab5bd3a243af8cc0dc138ecada96d1aa594fe7b5355b20d733af8056c824d706989832948f1a54d4af74b1561f50291be4b1ae948bc83fe6c9a73be0c4fbaa823671af92cdc8bb64012aca6fcc00acb4ab3b46bf3aa62449b925b56dbbccc5dfe0879c8e76ed244dd907bc195fb80ceb91fed80aea7e8a11e5ab5ebf4a9642e7f6c4a9db8bc6cdc2ed4e53fba5f8aa8fa135ee473d7af32368cfea7c915f79f8cf9df0e375ca8ff7e303acafe8bc9fe8bb1fd37e3f2f61f8d94ff6aa874f1f95bbca37bfe0a6dbcd132513da7854af52adea6f2b86b987b6008806fee95c58d7a9ffcee9be35e5ae7bc6f892b59fe909938596656bc5272c1755292e47eb48ad51edabe295689eea6fc6693ec603705757af8a8efac12d8d57e5a25baab7d96fd8c96c9cacb95a72baf6295e82e12f40b1f9f9be225d9e9aecaa75660e877cf71312c2b310e93b21b9775341691bf653466dc2b8b9466914a95e5ae89a7fa04096952bad574294fb997f6b53921e8ed3aa23aefebb927146b8f3a7945b48f0f3f457b54d55c344d7bcafdd0bc7642b9366aa3693924304d3fe57cf475276047cd040ef918f7a32ffd9a6d359dfc8c634013048812250a0ef6556ed0c2ebffc2bddcd3d1419f9b245ee8a5881e906a22bd14d109baaea259fd5c1715c5861c4ff361382646a3f3b4752a291c4c0ac6cb88f1d5db98777c362e7f8b79442688a3dfb5fd7723075255310feebf99cb352ebf075dfe9733de91f2fc1af3e83e833c4eff7db7bafc9109f2885f4428ed724ffa344b46a6086506cc43fed4f8af6b70b3ef18401ede67de7f1dc5cdbe5fc03ce41339fe6b18b0805d3380988704c2f15fafe066df4fb44be6b36f12300f09050fffb5096ef6fdc33bec670fbb681b1914e4451094cbfa0f7e71bf5e72b3875bb48d34327a62c4c5cd1e3a69d7cc670f8fda153f7bc804e621b98038ba87ff60136ef6d08877d0f8ece150db488ce8660f85daf59f3d94a25d3268fe8335b8d9c319300ff9850f84c2e7899b3d5cd236d3e7c67f3c879b3d0798c78c0246c13b627cf64cb40be6b3873eed4a7df64bf00e189f7d90b69942de6a1bff31166ef610601eb30a88a3bfdbc2c8c9cdfe87b69946166857ca673f8176a97cf60fe01ddc67afa35da7cffea65ddbeff01f003ad6cdb2d67fa89b7d0fcc6372918377749ffdaa6d66f65dbbb4cf5ed52efad973cc63ca01e2e8cf9edb15f3d9678fb54b7ef61bef989ffd8a7b659e8eae85aefc813c261d78d2e1f6d730721bd41156c3880bc88342e9818b27200f3a458e2780200f4a8403080ac88336e1018adb2f95dca62a4925a974fbe51790071d1abafd34f20b1fb7a14d4d3e4d3e51401e548a1b5108b90d4d4a124a12aa02f2a04236aa30721b5a84614546b77f720179d028208efe1db8b8fd53c96da8cf9403e4418382a6d254baad2987be324806b164109441b7a69bf9e65e91c63307c44c4441a9e1c58734e814908836813c50471047ff932988505a34b1f0cad8541198d53fc32ae1f67ba8152b6e23410bde912202d3401ea9261047bf2a09b77fa5882a75854a27a5e284d4112a294e548ca4744d4839d2a1ace890a04e4c402171e28c4e49b86d099c92ad2a61dba95a126a125a5685a644862121db00468f802d41a7112ee5c094a8ff524577764016215ee981e844884c780fc13fd016defe5413de81fa6eeb7d3c376bee85faea0cfb64b3876f63e6bd8c21ca83dbdf316052304f9b5252a09a9aa4b8fd0e432505262925844a4ae24eb4288aa2a2286ebfec38efc37c4ede97aae206411e2920308efecdfb525bf8649e4f4a084cd31f34eff452444c83c51c31c13ee6a565ee078be14a8f2e69cabd62bec6d09f7649fad32cee3f76f2fdf0ddf8745cf9326c439b36fe6252fe535dfa04e2e897301fb1afd2d29f184b7db2a54efe477d967c8fa64d4e93e813c883428138fa4fcf79dfa3bc6f85facefbbaee535eea558a543ec5fb309827b79f26b94d3f85927dfba768924ad2cd3e050ad6791fe6a58856a7aa69dc4b475bd2ac7ee87d7c74e1b36e5c197f693f1d3ebaf25dfad474db33f7d2e8430e8879515ba0909a453dd411ea2809b41feac96dbae4e8ba4fbb62be9ffe4817ee15e3e9e83cc6577ce5681e4dafbb68a556c230eea583712fe849efeba9e2ca87f66327174208edc7bafed232f7e2be47bba54dcdf2bbb2f48b6ef567dc2bfb7a7a14e7d3ac96f11f1b79ff05c0fed7c395ff5febcab76c53fdbf95f95f8c12dda5ffc988f1f221f38879f9ce2e98974fd9a6be7c14bbb4979f621efef259d8b5bdfc17e6315f3e0ce6415ffef30e182fbd4f879d5ceeb3af9cc57c68930e3aee3fda44bf68563ff73dba2a752f5f86f7c990f19ef7adbadbbdf5beaefbf7b87b19a82319b77be97d32625826d8c7600f833d954f7fce8779b74976baeb1ff31563792758384b9ce870eaabbe391ff3c2f0ba05a92abaa65f6553461000fd31368505e3e887b1a928401cfdd4a6a6c038fa379bd202368159dd43eadd32d3a8fcfc9ba2699ae6db86b21fbca8efe128cb3765bf94155f2a8b2f558524f0be4eff45bb8cb013dad4aeecfb319f76f1ad2fdc2bcb5858d8c9899ddc93d718d78db2f2ae6c37f93069a6667a22e3fce7079569dc8f88b2f4aeac0709317120079aa2723ee443288bcda71e29a433522ecba437d93827722294cdeeca36c17111805170306c09cc63eb55703fb02b3d8ef3a2fe4a3794d5e47c0cab4a10473f8a7bf9a358ecc4a9bdb15889537d63b111a7c68dc53a4e951b8b6d9c3a37160b71aa85dc8a92fbd15dd4d729293d69cf621907e5692b96bb66db028b9a286d8aa849aa280b2b9ed0576c71fb4feec48ddc08652baaeb3a6ddbec76bb9414ee253f25e3eeca2ea1c2e5c72f200f5a0471f4cf15cb625b2c778da6a24d1007eaa859f4a7f745cec7bc29a26e41b6596e96e6a58a4e9007338e7649a1a7f7c514943dddf805e4e1dfdff78b5fdcfe6cb57127e9438b200ff7987154a576418f21eb4b5d71fb3fe923a5d0bc037a5a44159445ddca6d280b6f8a65527f655152e0563f86c2c2edef32e953bf1fa505e862c8fa58fa51486e837d3f2a09f280ffc925b79f3f16e8840ab7ff649f705b4aafe3c7f32bdc2bfb14514709efcc9869b45fe17cc8a7dfc3ddd297966f5d396d1ca34ef351365e6e97e6d118ed2be45ed9432efbfe8ddbd5fdc748ff7193cb8b4bc595f21fb6b9b4ec3fd5c62da1e284faef868d38899596b8c96d5ebcaae4e2b1b79a565529c5cefb23ded4d7eeee2dc5cadbb2a6e33e72afd3c7edab6f2a2b2d29365e150bca7676e36caa89e566c98fd6bdc9bdb2a7d4efc93251fd6699b03cea3996ae93b96e81ce3eb3fc31db71cbbf5ae6561016cbdcf25759e6d6875d9f8ee4caefaeecd1a823d4114db17da966534d942a1396c9799a9f62e14d7930da46f51feb572d2999e3a66585a5eb54ab5595d62fb4ee852f2d49db175aefc2955c495a78a1dd42c949d2fd50d631cbc48fbc21fb697e0c191bb74dcb7f396c56ffb1545b13a82851a244c1a1c2ffeb58febb59e1fa4a6eb3f25047deea168fbd5595524429a2ec56cb38a9266d43bf67a5efc2bd285d895dcca81495bc884b4b8d5d6923173129c9e993e6221252ca88c9cfe3a8bc1491b7fa5147be8573f1e848ca2b6d7412b9686434e395365621b9585474db7f4e0e889e5f3195a5623eeac86d6893b728eae8f6b3d828b41283bc25060ca34da9a3db8fd4e443de1411d3f46340481135995c24225259c699b6afb4110a2e0245a04d6597a8de89c7517954f8c728e5cbe05e52c27041f00ff71c0ac6391366a38fb7faabfd61e24d183dcd7fd95096497d6a99fcac70ea7396c90f86531fb34b7e6e70ea2f7102c3a142e59d60e1509164a7bbdca35eb34990a051a244e93ee5775637a53dfcadaf3cd9be3565a1709bf5a59a70fb555255dcfe588529dcfe8974fba370fb53525adcfece6e91cae2f633e3f85258dc7e946588e3eb2e97b2e247bc1fcfd5bc22f4fd2b7340fca5ded797cabb3d0ceea5c5bb791f75edeb1bbd8fbe7c189c0ffa27be275b5f288c1a63e5f202599e68f3c0185b3d063009c25bfd07e8ea6ddcaec893b946abbd70af3959661860868f9a2e7b19ee25331abd22f2615a647e90e16e301adc6b7a4c1d8c965ecca69a74abbfc6b429224ef3be9eab65de076fbb4eff6dd79f93efdea7b3bad9cfaf994d1535ab7fda14511c3a78b3ff524440a49a7c8ff6dffc6437eff495b5cd70f26b4d777ac82dc09f7ea5f6f4967b9d3c1d9d9f1c0617045ff7649ad54fbd6f960fce6e5f83fb61b76d9bb931c3b17a7866f932f7d2be47a79ab4cbc8eacaef4f11a58adac5cc4917e931c1de05f378563854c008a1bd7ce919595dcdabc1e5c8312dac35896ae97c7a25079c6be4cf703fe2d5beb278f629fb1e3da76bdef781ebcd34f267b8177d29038615c3e256738b367e4c4bd5f2ab2971bdb9257f07ee0776e9576c8bb62f66a57cfa50becba7de57e94919830b82af7c1bdc0fe96d9e0d6d8b16de1bdc029c8b334001823b6707ae334bfe0dee47bcf42b8d769a2f1f3e641af936ba9c11cbb4ba71275497a2125331c6a88a2d0d9900a7f992de9516a1cb337a5a78680fc6032964a241651e1ae8535df9d1fb766817816ee32f2efd4f85042a4a9428776b96fbdcfe181f025d94df76874a8bad5ce941a00740200a84b56b6b97841172f277e8959e12b425ec39d40a816ee5d674d042089f781986ce3d4629bb18f4829e079662d085af440cb25d8410eb6eabe35d5135dd105d18ba0fc3300d5b41fb5277b72ff9927fbceec108e12fdfdbbd0fde8e0d7f5059e6db98617b949377681dc9c03be2fb57ad39f7740439a6a4985637ee84ea525452aa1557095d9ec1337b62f0c01e9718f4420e268649fbc9286594d19b1871c49123478e1c397204c2ffb06eabe9269c2847214182240504660c30d3398d784285107617d15e5c7ef72506b0b7b6ae93b2e39c58430cc3b636c0c6713c2a146aa58ae9ba94141595944a2aa54ba552a9944b4a8a27e2419aa1a306878d0f00b07123470f2da11bd77f2c99251a1a333566cc9831a3690e9a4fd0500f6c38a22cc96d3a97cc92128b8561ac16d664c6c64c411433d453c42c89f989f1695a49b11ada7af8b14a3e58880380193e58c6799f5a376edb361d36c607a689693c2606c62a6985e4ad226f11ad86bcc505fd4a0c15930c1935ab20ded17a1552fd6f25d462fd70dc09753a9da0303171a713aa43a1503aac0ca6251818ecc828a807aba19512520f3dcc38a156442f5f614ad775396c8c4f13d312d3ac562e2ba3177f49812225a8599c02a442523d9931743b2415950e8af7dc361d946ef97b5fa303473687ac29f59fe6635494e38685615a520a52a9568a9a8585e5a355253d99f154484829402dffa50021a99066ac885644aba119aba119335653ccb02b295642376c8c0f4c130c13d3a050ddaa865d49615742cd4ad9529490349f20b749010aba1e8344940294029403078d98a19550cc103774eac1e9fd4889da68b558353824d7aa528d191a346accd098b1357eda793ba576f1e021c1e3737978d6d7f859e3638d9f3468d4f8186b3c5f1a343c1d5d0d1a356ad4882c9a190f9f46e6eb6ab5aa113374c3ca6092d1b2329498c6c6c6fb733dc8de9f1bcadeb5ff38221b762545b73c662866086925c4c43b66a8906286dc46aa56422ba11934666668fca451e35b09115d5721cd2e96dc6607a4e93161b9d0c5fe5b09ed6063542a961733d49a31a3c6cfa8316399b0be06eb3b24b7590929b52b76d1ae194bed9a5eb4abc60c52cc14cd8a21aa61639aac8466bc9821d68c553da9615549343cd54a682545dbc44c1133143324336386d729c50479163254482aa4154c1c62868458ab16a40eca5fd54ae8ef173394e223b4128259c3f53fc50ce5b85fccd04a08d36286647c8175bf98a198a1279a3dcee3de0f165496f998ff4747cf3e55d7695d6e852db14a1412f4077631d5ad58cdea76baf56ab7a66c34bb35a5a66aaaae5496da52571bccaa856545957a7939c967ca81c934f121f7921da889d8b42f178b36945a55b7baefa08d8e1c2da5378c27f90c9b5059e693c104a5886eea57dc6c9aa99b66de9b709f1d3fd47cfca2d000a610b36b0ac1b9c802bb265104629b9b007c7c57621b1f3ebe2fb10d005c361fdfe32cba1e1f02b1ab878f0fa1609b1c1f1f46c12e1c1fbf1b01fcc7ba91f5dfeac6cff16c931dc5b08be6e3776c93e968b96c7cfc8d5d3bcc7c33cdd86e9ae919af9bdca75dd99237c1aeec0cccf2f79f426ec3fd788ba85d5c50b3a610d8c5c9805903f0fc39a159844a62bafed991db74445992db7446de720178d9112b4b7a31729b4ef2963f12522f3993567217af8f28c7a48d8c300c5bf180615d05e62c5993cc7de5dad8a135a4eb299ae5af398c9317cc51853162004cd1ab65096eaf16a5d4b5b130483f35ea8d853801f087ee3f736319478651ddb86ddba655d961618c608a98c6ffed2a6805d4d2d4c2d4b2a4e42d97771a345cbc15a0152856a298a122524521a30292f9c1b64f53d3f5af2d49bc8387f77f79d5d6dbe61c77429d4ea76953a0303171a713aa43a150dddd6165100d318d8cecbf8ce9c7c7a88868a8e5c5d2928dcdcca905c5bd5a989af5ea627c852990fdd475ddd2f5a259d3a2aecbc21815110d310d0c4ccc4a69d5c5ca0b182b9f162f62c4b061bb275d52b3b8435201a9a060d8859212aaeb52545252268410fe84dee9feb0a38687b7c489c7d9f13cde3f3b43b6c4f25fc6e403d3e4028085211a12fa696959ad562b971db645a96b5a9a5aba389da2550541d12c1b9e0a083e814810a9437af9af435201a98066b8484aea6a3aa616a614643fb52ccdbc8aca52b366665abcb8fe3d7ac6b674312d770160618c608a60883819a8a456ab956ad502a5a58b66f9dbb02d4a2ba79553c674fdb91fee27e8761f001b7363636198bce5aa6959b8053cf24f815952d9a6dd5252de97bc8092fd40a1d4071fe241e5868546def25751f1dfa1125d1413942fba18206f7d41c46ddc1b5dff543ded6021140ea37029541c1442b52c7c6285833fdd0e7607890dcb84fbb7fc59dcbfa6d8b04ce4ef603f875d92e39d789c1c1e15f13ba376ad5c8f3f137ffecff4f075b5d5743dfc84f1f9f6f02cdcab871e2c547141f08fe859a0859b80112d1c9320fe2d9c107e75c49987afc342a6617d5dad56304b2a005819443286bce5cf839521c434363ebc3f2703edfdb920edbdfec7092571d1c5f61f2a09a6c95bfe3ed8962ebae5304bdef216a566f9e7740868967f10cd721944bc63867b9825b791efa7ff5440d26b516a519a59ad1eb0e218d0b2f12edccb468c31c218238cb1b5c3b77698365e4ee87a8734c337ce784c6e74d1c5be071bb394c3c678d12d7f1c3626e966ffa980627ebcd521450fe9860703c34374713140b3fc5dbca69bf91708e10ccdcf3c732f9aefd12f5f576c5826377e871bdf11b94d8b7f67d4f97747ed9a6fa32362714c7ec6c27801c3d42c7f1a0b03a559fe2d4a36bc0fe37cc41b3d1822ba1bf686639223c7ca366dc3c0c4c070ab15cb362d8c8951c570b5c5865541b183550535cb1f06f76a792aa016a5962eda06c60b18304b30b81a63d5c2b2b252a5562a291deac46d555bc59ce64396f7f5dc99991af68349fa3c0b19fb7533ecc7f25440df4ae8fabffd608c70fd65d8cf9910c37e1d0cfbb162ec078160ece759bca880aebf8bfd7e65bfd59233e1575a9472a45a946080e059dc0f2607ea83596a5182595add0f662946860d5898fd20d0fd6060961a4a3375930c26dad33578604f5705b0808989490806bb2108ba5ebd013a8845183929e7847409220550a4eef62246310ce34a5059e6eb98dba39cbc63d33048e42d2670080e412358048b5edd277fb84dfe60481cc7749340eebab71941288080601441415240211f50288553814ffcf8803f2a3b48989858a209761cf4813e294ec5ad509d68c4526a7b75f2a75dbc1939d2fd3024f9237fe40f109d05e416c43bb4871892dbd06ff9237fb6804850fec01ff944db604f3024225656565aa2272161489b51a665cc0f6000c3cb8aaf229f803fa46e5430258563d2c3a8a5a5c5a56fb0583a72e458ad562f3066b592f977e15e3a2edc4b3273e4362398cd6833badde6433e21816ef4e40f8674fb31a476f9f7634fda6673f229dccbbdcda859fd4174aacde8f6a77429288d3b49ae23ea182eb07b8c52ce89013a870b683e341f9a0f1f9c0fce07e703ceafbbab8942a1b804d03b1f851ac108469004a483170317585a5a52629612427f08ddc3867cf8f0e1c3870f1f358b8eb93be47eb812add81cf79a1ee5087c44e9f0279592d2a3842488d26584f1002b2b2b2d1db35ab1b0b0aca0aaeb3c466696d2a344818f28877e225461c3a4940c4bf54ecf9b2ac0189d33fec41f9966b19ad50fb5f7ecdd214e068da059c6c99a0c1dfcc67e6293a74b48b19712f3b8591d657497ab955bbe900939257cc93857c094520c9b93524a690326108328d6714109ba437df8fbefd0eb5e84708aca325f8e0bbf72bb732fafe9366a00214314a175d089eec32e06baeee93c14a953358bdbbfbbbbbdbbbddbdbc8a6aae93a0384a1730fa39393d8a49b0f04bafe1d8a411c93beb06ca5c960d1bb42c9fa81dd8fe7b657314c465bdd40820059a6691aec5e5b4da77a71a713f7d239b97f7737eb7a376ac98b2e9c1c194121296014fcc59d3e4b3c40c74d0ea699dfa3e7dc9866ceeeeeeefe7426d6acae83cc9d3e1e6dd36a855b737efa782e378b7b6ddbabe3b774efd12de7fc6e6f6f1d191b9b25a5d7ef5fb9edd4f6d371ea50ddd675a7136aeb293a6cc56a575bbe6ef9b776f9c318f86e9f5cb67dbdbda4209a850447891225cadd0249b3ec4ebcdd483ff0f68313c638a5a19fbe9e1b51a82e0502de97a353b137f4574a0af7d2d96e7fcace56d36dcde257e15e3aab577beedfddcdabebdf36a552adacb06c351dcb94b1c5bb05b664a7afe776296d553820ba6bfb6d6dbf6e65c557567a05f2a6a2c2a99c50327aaba840d5094e6803a9b2ccd72274fbebca88d5eda0ceea66598aa87adcb04dfb0fe6b2562f322edbf89f174f28eef969f00e594fd6fd64637762cb24aafcb41e31d5b37ce47cd0e779bb53a721a59a740f5fca8a9394bd9dac94550ea17bf9c3d39663e574caa0a6ea615e479bb8178c17467789fddcbed3a74f9fd22953ee2527dc4e975f1579077c7ec93be6f34fe6016d9ced44b88f6999d4f75a6510b6e3eb54dfeec920ea056ef55733c08a86abf268146e29b5aba2ee479b50340c4d5e13cda8e45e916673463ab7979ad6189d14e35e5246c9fd70cf02929b00e42dee97aa62722fb9046fc871e3811095710a6a2a411c4dffbb514fffe5b84962a5d93d630c7f054e25c883fab4abf368136a2ac5dad2f25adf1f169f18636f999db766a757d1a6934793368f166d5509c98d1fa394999557cb9efa9cb6939641e10a29c83967dcb4d3069160d2113cd2361befe927f7da7e66d62f4d4aa23e452b22228dfb6ab96b4eaf9a272f55a4795aa0da6398e45e4ca04f7f8b854241300806699e04852ba44093b4c8b857fc8c6e998577b34cea6b9649fdd38a5d4245169ffa6cffb5469b90788b9b8c904da643e18acdd3b2799adf71db60973f62b676d1adaae475a95d758997a4945e95b62e55253254a5da853bd385efb50b1d992b99e94e0bc8c82a3f0c3a33cbd3d7e35647e6cae94566baf263556a96976ad2ac12745db4cb0833dd5997e88cd3a73339d3f560175029458552792bacda95cefde86ef6d5b3af718b1662147a0197e092cb862c4ff36fa6d236b5d3fe4bd9fe4bb59c5cdc7f35a4f4ff76b87c83fe4773190776f997548f8a39bf9bdfbdb4f23de5fda9a5f3f9a25ee35e284f47375113723fa607a1400e32412620304d10208efe4dc53e419eb0f00165149a6fa75415b64739694d47ffd541faf4a54dba7acd6a42cea483821c46c822e5a49185e34e28df667631db40cea47fbcd59a651c9791697cb66058a6d196d309d571dc4bb3d85da1501de4a6f3e49b66e975e9ba141514f7a294032cf9dde96b0acb3e6ddad6c94db392fa110c520a4d9944e8b2af2adb1c42977d4d6df3532f29bf884e069f6aa864aad8cb5239cb39a5cccc602409000dd316003028180e89c523921ee7e5031400126b925664569c0ae44910a3280a639452c6000308002022223333049800a8424f030d7ccabbd03f431a25b8cc786aace4236c5b71a9a33e20ba04d9e3582bbade8d039c532b77e27239c2a8155570b3b154bb57c801d56e66d0c92612ca965363660c1a94b9d1b48493ae12e9b84cb1ebca8a3f6d5674f3b19de6544c56f411e3d4c7fce91d15662a6eac3406f7110ac68aff4ad85e76bfdc7e3cfefe6c099a46a14c2466148bf4f8db19cad7844e1214ecf165ce7bfa4b8fdb9d9d5d612b7c7f710dc2d113363b35ffe29b7356c3e18f58c5a393898d91134b131e3b3df6b8d3ea5f420773e001b38848a01c598b1fcc44a09d9d1deb2e1f3c2fd10e9a17048ad8eca5cf0a8d997f717ab146545da6ab8d3ca3c674ea2053e73aff285af48b714acb70ec961fc6ed7647dd5db5c6e80fd3e55ba621206b3d9716e11252afb3684f8d330997e1228d66546f925e0caf4e88b767a821f82f0e109d70490a673ac284d741603d9d3ca170e9b3aa1246cc12cc0ea6a63251d5f9b728aaf6223d00061cc2e54db9e36c8e964d351b6e6aa3ca1621a2c844f27742ba48a169a129eb86a033394e9115471e575afe62296abb56cc0afd40e380b6eef81e2e3ca3dd27c9ae63b7fb4c10417bffa40602b24603cdac9dd487e2cade7a0a5273e157a0fd27f08aaf7d05e60181f577425da22506f017dd7f17abf0a09a9a9eca8026d897afb9b6ff89b9b4f30930c98dc88ba0b6bc61a65c61e1516d8eab04fb0a803ad31cc44e4c264c257e8fd3000f742932d4face4a9121611a7a1581878a95101df151eb093294b0898cc850b14b2d52150c3b17057a31d9bca3cf9c11ec7960926032c0820e08ab4004571990f7a16a4ea24ca2a0a640f901dc2711438cf49c1bfc76a96498f24fa0e0cb24e20af0908fe13a1bbf3bf1f857a8dd26fd3d63910c41e81a1242745da14e40015b6f091217be5b5460c979f39b88ea9282b5462bca029507a8871bc0edc4ed2ead9dd9eaf3a5adf5ab48600b232cef201b3061bebd13c337145eb4120b7da2b60ab92970dac8d1c3ed50e0bb681ccb515659ded30e5bd66c4f4f925a2b171329471d727149682164f84fc742b78fcb8f0671e91587222d1f2b45c3fac5a2ca3eea90fc7f51012c1129c231e66ba3609ff8ea3b1d12b1e3c16e65d7d275f9f5cd1d36eeb837355c0fa286e639ba0eb531e4fda54d891c04372bcc9aa050182f77fb3bdca1a515412a7002aa04ff949c9e645725934ec2814f2ad6f16ea44a5ac11dc19d9300718e75a3f403465d7297724aef0a52ddddf914b1a830d8032ed2d877d9c7971baa8a9f6afa9748dabe9134cc1110dd81e3429a6d766a036d3962c9993b244540c6fea784bbe0739510973ab2216cdb701ebc15e51b5052276a92fd655391dd071a5373c236817735696986332a80be1d1573285993f228880df77c700402c974be346944c07a8a3be9287112d32f1a375997254b5cc960015714c006c5b9cdff2cd65565ff322413431e8155b5442d54dce69f01ebc8d2d9c6c1a3dfe152668cb3658d62bfc98495048a1d131100815fb7251ccc8232557f40483685047026d38bc12be8ee128b891e1143eb70b950a7a76db47900300a00b0677faaa512d6670dabf8c7ff35bba64938091e7f5b1fe597d1ce7f40bfa541eab8a152a2ffc167e524e2686514a968b278e554fa1412f9fe40c1c0d28b9cb5b1014dea1675a0cbddec5dcc81a88d7e313e89aecc32b8be9b1731e0d9c61dc1b38f296df670888342ba98616d31c5b2fc4ef86143153ef129fd10fc514e3a6b40a07e57df4544742e04f916ef4346ca50a528620d8b4b1e2c10fa2eb35af8a631e85ebbd88c0228bcc9823b8f57544ec82cf17e2c590587dcf61a441a8f2458b15c44f47326897071389759d0ca224e7ce0319721cf595e51b2ce681a8c64c4cec42137cba2bc44bb1545922f608ef058a9e673f2ac96ce4a75f6946a182bc5fc86944ac250346b295b775289c41c47c1853b2b4af148a2f1aa9336dde96028120ddeba52dfc7272e86a520e08f68dce728c4dfe923aa634b4d8aaf124f0da852ea014b3d4f5c55605096425ede881ea3b6e14cb9711b23b607c98a9ac556b338b545ea55832b9f1a91904d797122490a9aaaa84988979cf98e32ea8b9b889dfea399311d9ceff048cafe2390f881f24ec209fd6ee3e54bbb15e5e85411ad1319ed2a1177be4e5d7faa3d3ae177b696c315cd3b6a006e5272861c7f217804c06a84002e45c0ff87a087cdcc406d066e72bd8619598104f85585fbbbd9226f919daa57115aa4cb404a708d5466b63af7eb1b2187b7d7339bcbcdf92c233d2a01d8f45c09902fe8d55e46ddf7653ce2bf13aebe69f64a079053ea08eed16aef9163266bc0d2cbad8dedf1241beda8c20cf4cae88efd31d274650c5e3e6cc56d29a8608e7fa3d6fabac989936088999588438c7d1175b347cfa5df287321677e23056e7ba06bfbb503c73ee7a7a966a33aaccecb803b2dc91bc7c48cbbf1702650f2e7c8a1c1a716dbe3dc42d4ed6aa42e5a827b69d7a8cb7ea9f188eaee1face8ad3586608910a4353ab222ab2b01fa6461cdac8b5d51543d5cceca916c29202273298f9965be618cc68cb1d644b5aecd738b0d9369a25c7f0371c2b24aa71f4167d71471b69b473f688c1eb1f121dcba621b40f6e6372a63deae98618a987883f3b8ed3754aa65023e30ea94d48bbf9dd6b0d6e7b3f41c923b27a751a70b7dd7c15f6723f2703b5e560aa7314e39d9c6017958875c07795217d16778c1afe150d1482fe0d723512fa4bd176216a3fab0c36f12ad3ea4979ab852b01e1aad4cc71e6778905ea2115bf7628b148966f15f33711199438e55843110580bd1d73e8c1a3b10c9cf1af9bb94501355dfba3c2872db36a2013b4a74a0d8b48f9c33e78aac5e8d1175a86786cfae4fff463ec9ebc53d7c54658509fc8149c6accfebcd3991db0b741a10f5020ddea1e7003bd40645efd51a355a19f48cc1747f813b613c7783008406b9be1c148b894ff5f863ec0e88bc9e2c8a047ec577e70258b12f285059702b4b0ecf76dd2360188a8af4c7da16ba45e85490fe018c4f43d2b6e279d6f2230469622e3d16c9a4df6fad9ad070e9a01af154b3cc1f99d863d96cf3a1ffcf7e1f5a4e826a814eba35be97c1285db945efc40c550cb560144f3321141da1397b5965d41fa7a3eb228294f23823a3bda38e4f8301da9f09fdead15e74d8c5375cee1f3733ecd4ae7bc20e4a6c508cbdc9ceeaff7ff01cb094d0ea4db5b723786559fe50c042ceb805b62cb1ea73d3841c849388500e1675f5f27c343b22a294557f68ca59049908cd7370c1b797672c3d4916250f7e9e71a1eee62f16ec7352b246b81c68bd24c34f5cdaec551cefe5044f99d958a458e56b1d37bbe251e5b64d3f76c873986b1668a6344bab6878d1b3f165d9d8bce4aa61637798ad86d1780d07605e377fa41af4b2ff5dfa55da3b302dadee9cda93b11ae022bbaeeceeb480afb5c1c62720f664f132096abd81e45283eb82134a7389d72e23eb9ed14def8eef4728c8345693994ff4091e6a868516f343eab9ca1ff467ca8081ccac1b546f5e0c6941cf53d7a086dfa107393eea9424b106fa58c123612e9be9934445410edc2bc9e8c6072fc8020f39bc01ab8083ec6c02020b723f625c8eba8cb78260433b82e8de4e68bf4d8cd80d527ce434d5b255e309f7e92a9992b1b21f19928d5508a4deea33e54d13a6a17dfa7df536d3b1960016e4f14d8d477626f2ae11a72d923a07baa34ef27c5838f3467c44be5b46602adcb0facd040eeae5372d3d5c1c54b83a228523b6acf2c9a547eb901eb5b496ae07c774badfa6c897d3969ef03cdef9726341b5e9b5c39cb47504f78ec7517ea5a7ba8b12b242095218892f1f13017bb21d6a02dbc0983dbbbaacff9002d1cf0a79b9cdd03c82e0a1ee707bef13c823ef1eacea226cd08a7293684785a213e232c101bae3f957752d076d9b81054e0f11a2076c6d98e6b9de0988cfc39a6e684f7d4033d7760810ce90a27bfa354b7d62660aa5c075bd07643328c52857368eaa04b88aba402b822c060b6533111229dab1bf17197e015d4514777dd499d7ff8e0fc70b6f4def2fe43808f6036d6040d3d0e2f9d6318e6204a23e963a7df0ad11ae523ed5542217aaf76ca725541d27751920eca06aa3ec12da71ce3610db292aac143828ef10275e9029a1fd7ed7dbcbff83732e321f227f6fadf4e21a5ddd953817f15eb31106197206a442264cf0d3f6ae3708a797369a67e3b01966f403bf7c7477eecc161dbb5e1b704a62e395b010acaae8ce60c285c245b16b15a9647ece7de420b3c63957d5f56842087157cde51f55d5dde34c71439ed4eeaaced39d1d96e1e1f3d016fe42e39840c29a49c4eb287c3563057a3ef79fccc516531b3a7af4946e95198d901354ce1385ee0ffe19fe5d0722fddd645ae662f577ddfa537092a6eb7ea717ed7737a0b54b5e739f32fe4e052ca4e6774aec4ebfbb88fae9c6b814d2775a890ace47f85d2f83dfe92ef47d77d85f61582a10fa5a5538d0ade772392cedc8d4b8d16755323e94a0a4567906c33d43b731aa7b86497d8acf87ef9075d23ee96d85df159f060cc3312668be44111d8436894428965ad9490d648c59e2c853f4f9393e7edeb3ce0a621f483848b4874d88dee56a21e996dc6ab8d8b6ed0bc884484084ff8c1c8f1ace8e120277704372991ae5a5bb1056aa3fb4a4d50798860a71886a0f5178cd4cd74a186152980c189ea684388c2dd5c3a2ad548e35651a74b61009378583e4d0eabbefdd9b16107343ac2d24589b60c0180660ee1281259d03abe5ba5131b433509162bb25880ca572836d0da40b5125dd242b7504d2c3faeb4a8b4f942364b137dd2f818de9dc641bd24d77da3dfc93df738ed599d34a5e3c8215cc096f9265ebeb61b1f50c65d1f892d5432f545663f6006108d62aad2aca9e9396e8f73bcb5b772c7f482706c00de03643ac001fce240020ad950643128642ab076614807551d9a28853d3998f06dbc956f7e987489d3e24db448b1dfcd658d058a02502d3e22417d0fe8d3ae627ab0c548db604d2aa8e3f20bb080326e052537d60242db46e3bc4e1ccafd2031d034b0848d5c8ff1d2746afa58cfe631070c01d4a21072666c2b165be30c1e70db96474f605253f7f7bf9a4b55443dec26fae7af036e69ce80128355eb23c01bdaea708a9133a7bd48a1761195dfe5d7ed6b9190d207d345427245bda333e42da19b4306e41779049955e9b3f9da0ab97c9916e96d2e22c501564f12fc392515f7cefe253957f26a3f500e06108614dd62de6bff4244adcca69945a89d6e12aa90ad6509a0d7dda4b093d375ab3911eab4d85945ab8ac6bd20ecf367d97544260ee6463cd25d355c547770d23338160fb8ba1cd1a0f5013b125dc0c0a403550247b5dfd422fbb76fc46e812459bab30492fa40c7a9645df7de42d98b1d0290ca5eed5eae094aa353cd8d344486858d1a3c92bbfa9c5b86048d58a8739f5810ec62c938600119a386fe57f909ed00c43ac18e845bc52e2849d71ee23803277a4a56a6dce1a8d6d55b07e323144334612af5f25620305bc6d378c2164562e6040e90fa652049e657c373ab777d4e975ba30f34ba594dc13469df4806211d5be9b620b1da358113ac997c8076972fd77d2c64a3a4dbb278fab1420455b13deb86a2bcebc0cbad7af73a6445c148c5a6bea64b29f53ad56ac4f89dea529807f0229f14b2473db0990dd486032f59d354536c1ac22901e724112c36dfd9a09e63d2f6ec259d9db84e21cee4e3722fa8ea2e0c9e20deba6ba3d3eff34a66ee29c3d361aea21a69bf4f36906416a76939e92b9287413341c5fe726ab267c48e6a65a31d62b371599be89168a9d7f98ca4ded03e3574cdd142d4c1dfe27cb96aa80531a14f8931c2fab18e0aa0b6a511c5ad52562ea433226eb9f3037ed2ee23e5dd22b3715b3cf9e347d4e6eaad7094a593dc0ba0d572e2e6e1a136da93a613f374d37b70929d1491c4e27f31c0646aa3a21597095ac1d60267647bbf93b9619f6025f6d415be0744e903819b8eab9739eb376283b4ebb0fc8497db583f61a720bff2d191554e595f0d85903cc286d922acc150de830729e76fb5beb572566962f2a95d68d3aaf7698d2e212c4d6fb2be06355fc0f05472d2124bc8ac0ec074c05c9e97bf64d54e9616f43b03d43237725cacac28cf97b32709680aef86f6fd48e579a9d3419b606643a92a62bdf01818948c50582d8380c389a9c9b857fc68342e466cd69c3aa5bae50e8276eb6c5c718d1282d813bd3b094a65f2dec3a651d55094109da48e0eb9310cd5d397e085365669be6d429eb47e9a8b1660ceafb400bac66e6aa61343bb7ab09f73bb32b1f08f5c3996dbd3514a6ec6d286425e4a87dc14b986c4341c0c692408605f1acc426b0e1fc43a3c6f9fd6eec70e27d55135a73e8fa2cc8e23932035c6b0a95ea455e8b16a8a9f7af94884a0a081c1a461d6cb45f204357f2ee1fe7aef232fbe7d2049d32777669ac855506104cadc97b5f56d0a2527a4b1c95490440703f5aa1d67d09ca2b8e2206bc978d19d14e5d3306f7cceea4d0c9ebfa1cc5e215f979e664f814d2280cffa5bafb7c1407188957905c1e4d32a17deb7321636ba286d4a0c36aa24aaa45463ccd22698a09531011433cf01f9633614186be498890a597d9863e70f4606c8c72ea68480790b56f39c1fc2c120953740ea74b46a0f8e3f110066fdb6aa825fdba2f10abaab0884e88cd30a5e30a10482bcd7d3ba2a1249b5020f83ced3169dfe8f2c55f95c4644dfa329a9f8860a823126b978076cc5453c9176059a917b3ec92c35608dc9c02110c2dc687a12aa189caac11377c99d005535b69b2747ae8e5ef1f07249689765831a0727b0b3d9cdd07025eb43080a3d6f65d46cf577969d69ba843103a45df2132f2883b08d2fa1178dc07ab5b8830f8a4862787a8516b52c48310e8517cf917886dd6df03aa90dcd9dc1abc306c5b70addc8a18e9adcb5586b1215d1c3e8843b811db8c549104c4881314dc187d86d7c01b8a20d015b99ddcca025964f954c330f1100c78983b3871cfcd80da5d7b954a2b19a420d792f92780d9290eb289fcf15bf7208b49beeacbd3f09a7deefb4ed6ffa32930735795bca6d6d42e1e3b6f22f7ced612778a68ed656005e47491eabf972641bcda75b8cda99d06d5fbb65d8ea757bda21b3e05b07418fa335bb06a779bb876e4aa09d930c1088567a12a6b8bf26656e9084ad9ab8aedf4dcdf2303e30610153a8408bcc1ff0157789af76b2d9b6f49d3b6cf7ec50d84218c2328b3441bae9730f5c70d1da935aeaf898899c571ded7cc168f951b3b6b268a052e6f1656ce5de340522146a577e36e41f1ba942f8f731d686890663bfc51b60473726a0201b53776ddf1cd8a2554ef84aada3a54652d34909275c81aec681104a0013885ab56006dfa2705094d59146bef03040086f273d740283d2005deb703fc1b823a561225952916746d51b0eb13e9956e3b914dc60062b7992c6e0f52cc529dd44c63c528563d17d8a5711844d1428b25ae56df553551c6809873923d4a30be3291f9c27ff293b148daadc57898168c0c9d646f04ed77a07432addf578bf43275ddd739983252495f9a41a46d6fd74fe71c68844d9e8ddc26fadf6a2aaebbb356285ec87da29406cb3e5df6f1c71a7e20d119549846454b515342a2809e94571285b62be93685a2899020227494b9f6dd0b9d76e99b3b2789aef030663e8f7d48014a2dd3d9c809215b25b1239238f7f5e68d8bf19bb467b4cdb553e8565872958f1cae0a6d3389b1eeecb0deac5c4caee876b62ba4b4636456a736a7660475c715cb6920a0665ff2a0ea0ace6ac5b6862fb70939bb7d15740a5153366dcf539144446f7a82257f96a0fd617232986ad1b3b5a71bb60bb88f9509fdb9197f849ebd3c076dcca66f4569d4b6e0d37ada58465dadbb85af72dcb2b7da128d488aed90c128e4aa1804ca9c35b6045899f924b41bb1ccbc9f89fd81ec43af58736d5362fbc3c3f19c2ab0d72c127d49f130b3b9838d6a5e13f9085b4868ae631550b6aa7e0ecf18c81f840625c528592d102bc8978b5db7c1a74984646ba153b3c314a185e132fe413d0299ed9b4582b18e50086103db11a742626516bdb37d6c126b024619a2ed92b4a0a7d8ccd7ae656e57f8ef50085c145235ae95b3d5396eff003305a27e3d3b12d5a18ced2a3db5029cac29124417547d979910abf8c4dc89552ec9b7f878090e4f5dc04ef408262b89089a8d31a3313d0c78c173c09ce632ef32ce018f98c1b35b5775b577f7c4e2438553af557215852e325bf77c74567917aa520cf4d8c44d97c132565ead7ee8bb3c2b2153c7703c769072a9c6c118a713149c6da9358d2dd1a33e123f469378815f1222981298c550126ee0870c46bc0f7919aec3d01a3b0622116077214007224d2ebc70d9bcc19aedd1d5de1758f84c3b082815f0a6bbca84d84fa182311533ccdef6cbc490e14713c5df22e403b1d9798684e6d4dca86aad26d672467b9aab3f222c4145cc0feb262a7ecd31cf1351c184aade87a501f8940feaafbbcaa22373b64c65b0aa0073c68d4cf567e51872ae94fb1e4b8a480031c61029fa5d18fff4aa4f53a80f18829949c3a3edc7ce4e4a9bfb808af45b260211e1b2a241528bf393104de94124fa41e974c551ff517ecd7e8ee8d2c710654fb01d26aa80ae60d2ae59c25ea2be0c4b3a47db625057dcf01b18b48daa283a54b098304b2cbc2c521394c8b423e88914cac8a04fbc476ae14eb5b3eed8cb3f6948aa3263afe6d26b018fc782ea00266ca3c7f1636e707a47a12feae4c3f9985b1216dd48d25a9b62c645951c09242e900214ce37fa3ac75b86631e47743468e04ad557004029d1493119873c12aa2d390255fc070e4e554ef104bce7603dfa0483261506f17d4336fecd2da30c06497778ef4cfdaf8793073dbd3ad782ee8fffff6ffe12cf4440a210f41f4b263e95e01037c0190e99637449a39703a4121fcdfe2e185c45b01310ee111cdfa7ee6d20b75e47193be864d2e18b297b740bd355a7c0a4b8d06409a044dbf5b266482dc88b282723c3ba3acbf6d1321597d99ccfe2ea1af8fa714cf459aeda1d4721c1539aa8618b3376fdb4283e1477a483a75044cd180d5da4832bb468fdfa872d35a45a202e78ad63010700fe08356814ba087b56ee6b262f05cc1a78be6687c8906c261caed039a842881d4242d386331ba211853c7176bd606c916eb9babecb7825b964f53977d9bf36476a1b020ddd3508419fb7d3098b5f89c524326de8674ee62a46e24b14ac4babe7bb662f0c57cf1f041c0eb4a7f219ff5f48070ff2e79f70566b66372665742993db687f8b46e13667ff97cb1d51a26d06e3ed7f7dbc6d39ff3f16f60726baedf1360c6f253b977203215240cb2fc27daba4b6a1902dd50eba665f417f2684f8ce23f97a24256c7a936bd10cbee4c12c2e83d12ce499e9dec9c7b201f3b9db8cfb34398f7891a2f2e7584977ec65ddd3a75f5b465d2b6558b74ba13a05b1acd2decaa996b2bbb6415597328026c4041aa4dda914706eeec4488c61048821ec8a6320dbfebd5aa1f408f5b5d59abf21a074263cea18c1c09bf20d814bca5df6d8a6887925690148415ead0ff836e0fc07ad0756c9126a73b9f9e8ed27376ef7b617599533794c4e2296afe0e54ea0e3576c97bb5064106a84375ae275967697b2d76fccee42993d58459ab39f7fcf2ed41eb07d2d0984811b1c48e527aa810b37853cb1f1da9e30b9cc02b94afb1a325e3997049a11b7c0344a9d8fe6383085056c4d57d2c4edef626de8a3f701b9c213b3dfc54d3af1330bab64b636eec13d2c941804a92a737ccc8fafa187559f9b6010058935d6008a5a0c8353835acc060566f7c94452aaadbccfaeaf81d0e83ba02b6822f7a64b30a204aa40fe0f922b3cd1ec44f6f2d3c747c0138c65a713c3c9e543e40a4f6c6f77498592caf3d87369c3df976bfcd51e371895d6cdc7f520d4db09a48da12b789581b7d9db98efba095a0051b9987b97961440eeaa757d857c905c6a2ad5be6a74b5bfc63357c6742aef782a9b68cc279f86de54d76e341c5a21409565ccbe7a27de8657d3b03f3883f62be95ebf3675e262a457f72d474922ae4cadb264d0ebbf69ca80aeb2cd12fcdad05807f5ac4c4603387e9b72224d20a5dd4af775bd46b62256f044f6bb0be4170a9cb8e29555040dd00e06f272232bbae66bc5c4d6a0954eb752161f5449bd02895a06a63b3446e846a925448bc0b3a0434723fbd34cc01902035b42d73e738a035bdd47cd43df332ce02b231019505e2e34edf75f31c0968b91a4c67f5c0e3486d9858141d05efc90acd4c4dddf05a011227d05b368d714794faeb7200e089da1e84ee1f859924a513f02d175c588c477d3b36a4d34ddd6537fc8050264f43195ce25e02d778e148ca4d6062bd8bef2a2a4396beab2fd390174748b750ccf8d3f5950565b08bc8c4bd1be9a12b8bbe041926cb1447158f8c85e21ea58b56012cbc7b07bd11f9e5165f9ed0ca9fac272c88077fc9f89f2bdd74bd5b7d56eb6b9b7d194e7bb11045a91a7536517e710b5c5dbb0d42793a54854e4fe79e4a52190db3ec4cf20a6ed87c60aadb74170878c08a57a2ef3e8499da7987c88f0d4f34569755ae817288243187a87764b3f76d84415ffc881e65c4b8dba03d85ad8541c5ccf10be5005333c90101fb03c5afb120525e2a2b8161e092a203da8895398ed6ba5f5540930f8287e3df51046809e4b5b60997f7af3b1b2011d6e289fade49ec58cc659a149eb03ef11e77b4d4a3c7a9b6f9ee1495d35de3f3d1bd2bf410ff18a9d745f43be411c2bd5f9da594944d7c0d50f06370134e2b27faa8abb7023abe835e27ef39a3c8bd58882179431ac8dd252e5a05f1d489ab0fd8ac15b519c55d9b0405e7c633d8630f7f3dd8e9f15c820a06811482b8bbf1594d920e82f1d77d8c525272f7f91bf1909445aee69d18472dbf1a76a6d525687f8a338136fe9c3a9535a719607f3a2b4f26c0a1e904cdaf1f3785a602e17b4c16fd0385f213315910c9a76e6fd896d6b4dd461b5d85d4475e98e26ea6523da71e911ebc3cc9e46899e0980c3f8a803a7d36b7bcd115e4ee46f29ef57c14eeef9237267d23d01b4f872c7c2923962e51863c583addbee4f9a3761d8e969fe601f3a95149c031aeaf875393dea94de5a6e9c03c0b740ecb4e79f52f7b84123e5084869d9a305eb54504240e05ab8966b76af3b96a20cb3e40966a4c0af13268e12b664946200ff50c62c9b48af036d9b6c1b1e3196812c0732b78272a231a15c9e8b407ecab68616bb7188e33f7fffd74b363629f329453a0ce6526ff8317e6891b6e79f52eced6d0edab68840f67889958dfd2569a5b850a815635b88ee909bb64896fd1172a61dea37514a166b19e963fa7538513a16d82b62d7a1c805525eeb3864cce417bdd053b99c31bb66918dd9054198d8380e9c48b00bcd31de0184d97d99a2bc70cc0a0dd850eaa0434bbf407ebf6b17c161e78b1b7513126a267ad9a1d4557bff4044a082786344328a157af5e4850eb1aa1cc3930b19b4cab6a851cca559b6aefaffa127376a0a42fbd2654887bd8c25fa9f4a912336be34aaed1bd9f846978282aca827c91ae23f1ecfe21e01030af637a61bada0729ca82b8e55e42305dd8ef964f953e27330e59ca4c6222bc6d4f9708c95d495ecaff81ae981ed7d391655f45db20f9638b5e6ad7a3d18ca75d331e393249cbf9c32d9351772b98be8857df9428efa2fe951561b97de2cd067e833fd4df2a65652a06d216b400a7c7e68369dbb212446cad161cdbefaf89670634b146ac5a322ac7c5a945cd722be42bcc8ac6584582dbe8b999179a2aad5621d6001d81e7b47cd876816c526e90664a00268a863ae6910a48e2a25602b3e64cc419884b403a04abd2d4ce91e44e3856f65db6c6c4e1825c403b6fff7c8ac36d8b86318a29c7095b65bc1bc92387d5a233f6a0d662c448d7b5b4c71c6ba0ae64871c48317b5174c8ea40ca3cc5dfb24134de3a02ccbd772f8fe7188350e3aa7f40bbee5241ebbc648b6aab40bd1ed1fba4318a48694b94fe8c08bcecfca8e9017e929e22100028b93bfd28ca5cac410751582a1a5f1b3b4c4b3f56c808c075c5a1f4d73f6f1c1a5ec263a73370440c4a502976c1d3c1589f49b50dcaa10405820aca8da273a6bfafe28646c694d874867c1e5f66f2023ae51ef9e7aaf5f3aeca4e41d115d1373feee5a3c0f7ea0da9ae7cea66c4e69c9080673370f81a1f7b019447d18ea82428594de23fb6f0343c020570851352f0a49c24a4677e8ff87e1baf7a780d77ff9af03ed3f519a93df84c7005133090a25bdfaf4015edc7aec24f8303a7aaef7a3f5583072dde47631ad5db9aa8d6eaa3dc4646a188f3350a5c241e8a4f866bd00c35010f9f75fe342f04f67786b7b1619549683a38b39864ccc05f7357e8018f378669e06e67c33dd001c8610549f748c7b726de4c944d8fa8445d760f386f1444323011fafd4df9fbedc365d6879919049a1d5be77c5f7b4ab361a894e5da8116863568352afe0e68565874f05e447f337655161439eb33eb813163b5765bb9ddf7bddfa7e8ab44e82ae3df4d380ebb6ac96d61984ce7795a146bb7534eb30afea721a3e5b822f27c9a910c2f685d2d98d91d82aa435f452a3c885d5b467db62b06dc4bb71a842e00117ad972d30d36d714b65967e525e8a4b7c525bd56063ac67e31237f1bdbdbe549aca09088284033e78a9d271c6a75f8238634f9f769edc06588f04d0a2ca2315f5ed30cdd50cb4688cb0956a211e0289a3a0599fe6e46c5e634d65c83c61ff544bcee85912b6728451aae400c1589d9f5c0f9fa75738679b07c87eefca92183587f687800b05232b3b6dbb4f06260a6f88f3534304c129d5ee93d6f56928db6c13ebfd413ced7d87bb68f6cc8ed665baa8899cfbbc65a8ff7573b65a8614a6ac521b86e93373270097390663784a698d980250ba9a53c4b995e80e1bda4285d598d3ffcc28b6bf8d2def54494db0453e02b80949d58aa8e4822b2440cfdf728b08ebdcbbd490d2168b400334c293bdc648d7887ba209d65d5f672d56f0534b37b61c5f43d531c23833a2bb612a170b546a2aecc2b722da3e83d2161ac3c58206f75ed9e4361e53b0b5016809749731415d9dc31d3f5590fa2da426ac93a6fabae44e640ec3523d0ffdf83c49ddfa5f9fb43187028fa7938425e453d3546c0251ef190cdece6db59256206cf3221381493a55ad2f28206f46433262826febdf9528bde12b590ec48cb49c008b3465dde733c7e709e407e5db2ec754e2383feee4c23a3216001ea5b5ef173420aa878ca3b229bca8b31775b5068f44b8b9f2abe7bda6bb5a3e1f86fc135b19627e50162b11d987f6de3cd5735e5e70ef2f2d679d18c1254b527c739ae477fc9bd82e3738292b952dd648f682fcd6666c4ccb9af025c5deda7229e34fc86db354f693561ed3ed57e5a219fca21637ebc02a6d24c8a73007d23b8fdb87b0d5afc044bc518b6e95eb9f4c7a8149e6ddde711b24f9c8261dad439740a9bbcc56a2efe749096866a0ce48e492e37639013b62e17752ebfd327183e1fd94d70f222ac8b8258cac7ec1f12ec61c1601665dcdbc7485af442c1f341f3a67a8dde384d8232bd6e10bed67ccd3fb8d0c11f72b2e6939044aac394883768b4ae93719af1ca8d663919a64cfe85d809f68d85c0370025bf2c104014db72610ca7a3d1df6d3815373204243fbc09f8e0dfee01724b76fe09948323c6e0d5e81961961499428aab619ba0513ba0af624c158e7b700fa83fdf1c0dabfd86eac85b54016012ad3d599403096389ddb84ddd28633096b40b825bdb3376b59f0d7bbb604636225711c62f5b67bcd670b2e763f87896a8fe915270b350b5ef904b6286a075c4006030de6669585681037580bb394e3247d14a78a3be7110bb31243818051918c662b3cd74a13138d79100d425c6b7fbdf16721f7bfc94c68b2d58205eea1ab2630f52ec273c8c13d10402d74f7109594b52e882d67cd97b7be75191d1386d1e48f758f63d129270043b342d2dbea85a84ec8da518b22c12588548d1747820ed61ada7206b1f43fc57251aa251165a2a226d6edca084ef81e082c403548aa612bed6e21eaf395a2c3745a144570f86e8fe078040b6c271a77133605bf233e281100d0d036abbc25c1fa596e74c4f5b113951e7dbf2163fe39037388b533d1981d62ad3a1c7fcf49e87797bd30698ef72d6396854ba2dfd4aa32cb82009b4dae6283596ea2ff8126ae0a78adb42a2d4e05dc5318bff339344eb90b5bf6695e5d71360eb896fd7d9e65f78f1b64a12d52f19514f0313aac13401f88c5c3401f4ae810af4c1c957241d841912b30f13fcb90aa9e417ab3097173de29eecee125cc1da4f39e5cd2b7374fb5aadedffcd6cfdcf8c0e18b50b4e275387f8759685313ee749a2553e16380af18df655081e1801f2455ec45c8c9310690d22e69d54d27cb68577b286e81a899c2be16cdc5f800cecb423e366c8994fb0a1e13a45236c5a153ef974c48821aaa0231752dea98b3027a6a1f0fa8817de08313bf4c0984d8b8016cc781afeab339109fb81b622ee1d3d8284a74e60192052640664ab5405b32ef89b8fe72381204ad805167f645d001ba12878782da25a3070340e0aad36f89ef22f90d6467a02c9e7755d7802cbc48363c8e2f54b3ec29f8218e2f8abe4504f0a9a7bf7cd07043904f7c90e095583bcfdd099f343cbc1ec8b78881419d542bd3e38e18a378db827ce3487c1b7584c472909c76794bd40653c21fb86df205a5904112c97e61d7c1e58b642138f7bec31acd7e358faee820eebc30d5307c2ed094a0fb908471cb40d5ed827b7bf26f216fdb496cbca9604e3b87f7386caf03f8ccf3a200229ba5569c3f4601d054b5a7761167bbec852fbadb79aef9bb714ed44d223bebfa2a45695499153f99bd15ef6cdfce231cd678e2a86cadbdf39ec9ff0e1c0ae0a7e82d25065aae33071035bc768e0b04e2d90d889ddbc771d58542a00fa22677a8263f241286904ceb3c891719e62faa82b4817563e76772faf0c295eca089c4fea427c4ceecbc5d23a906aa881922c18eced388f56270cebe1e02362edc41b9928c912c92d133f52251283740f3600d7301cbc64748d4591ba66a3181f08b2c6c1f546f31555d0810fe00403804fcb3b53a92cb25cdf1f4bbd447d1a0dbc2cc1509a8c35fc6465e488e0e908f0a19902e33409d6619f5e17b3af646fd8a19aa510042696eb5dc1a22339c3fcbd299eb789b5388ce8683c03e835cc43b4b0b76dd27008a059cc8de27506991c56887610513812cb9b09dfb04ccd502b526c3d06a41727874bc4900ea4f5cae749982840df0968a12d132319c73a973fe4f97b83fb3d152ad4c35e931fd3b13088bc2ce40511b6f846badbb133ac6b59697f594169a1e5ce7ffa561190e95c94e69615d40d35429de3fdca896b9c9910c0b6a1d8e8b9c7d27e97f9f45b284c9d031af07df710fd6e87289a19b643cd09fe30fd79d695c17b8b55043d835825c8f5b786c0d0f462f3ba494038f113071ab2559881f7096bdfc29263d895d18d6d45b61cfeb55cb554f82fdbec94eee17a58781cae2306e5a459043e7e2181f31c47015abeb30bc264364bf775857475ac407478ac2ea4dac80ee68c4aaebcdece4f65be5056770e06f1408ba36036d388ca0ce6165ab40a7fc7871c240f96dd8f608cace501964ae73b39e40bd0653a3b1f89c60c57c2901c5508242ab654a44a42ca7aba7ac064e27855c219d2d240f4b691491996ef85018bd090e134c5b7c286eaff413bb2af88e2908defb4b96671b930cd3b09f521f75982cf4057916c125e76db13540247409d362a9a39673f33577171e4fbb0329f6a4ca87b7f746e9deb060f10d9ec06a76081ac0fd98dbde1310075be5c214e7951ce18d27c8a14314de04db622c1ed8368a6736330a3a7abce62c70c6a79dc822e7e176d522164b8a2c7538aea6dbc38fa51d2827d26498563146d36a17aade84b814a4664fe774915e6af00dbf7e481253e080900b6b35ee686cad62dc685c5dc5c09f6457b902380d7bc17b935d65ca00d7f96d1e895f6e9ef4c40e7b6787758006ee99d654c8079076c9e6c211d787d4fdb2fbd5dcce2ff8b4311d2d17e2b8f4ff3a83ecc3808819eeb99b24de4cfb705df70e7d7b66b444b1bf419a211183c80e6e031b5f09efb1299818235c9d079a7391680123538b0064c04852fc1e33fd9aa06171c00993ab1db85cd82c96440f1928cc3370beac2c9b26b139e574778e60be366224a95d25a5f1dfc0abe4cbae4c45cf6dec3174af4894ac408456e3457c3032aa8cc58c8ac3c9d206ddc5558a034158d00d39e8cac5e9ac56a49d05a4f4d26a37ea453b2314620c8e3ac59b690ef79207185166c93be0dfe057aeb6cc80da89ebce332355f4e784813ea0e24cf2172e46410f9592da49d40d58db216c504946fd005a8d8bf306dc593566230b16c31c7427d1239679ebb5084651098a91c1588bd44ca0d93a8bdda0fce42e4b043544246af48a268e07510320ac10883152a3a8e1caf9df9e224b61020eb16790e5f7c80fb719c05268abe670241754c70dea6a7f3d59ef16da3623d244ed42ca7a402ee3869883b3e3b317de5713dfe99296ab9e6e23795b16b9e2a3a004bb0cbae6fd4df2f0a4cb271b0835654b402183c142c808dbbad81ce097b29e003737fda8bf06ebb3d62a17da7c734d162e09ad26a6b002771d85619942930e97915ed94585df822e97fd657af212be5a27ab87eb00fb2fa02612f50881ddc310d3bfe8a8611f4ec75517fb1eacf2a55477a87a8c547686d95d91b271b3459840a0ba5b21e32cabefe147b56340aef6a2be8430160ed83fbc58ea3e5ab626441c0a7e72ca1d09f7f8be76c002555bf06de643ca8edd20eec43d9a3eb387820a0d8041c67aa063a0f71e17dc260506d49164df7c9fa49c2fcbaa8e16356877936510b6bcec2aa54717347b462fb56241ce0b99e90bd88cbd220f921b0dd638581c9a3f4163c95bd053e8a02b10551343c146d8508357b9eb134f53bade7957fd0de8affbddb0fb478c97d067b64dff19091c86000fd83c718be7db074b2d7c874af96623dbd66d5fed3c1fce0aff5aac1179537e234e178db5dbf7242033897d4d6c1cf76ea65817635148a85d1ba0a5e7f03db899e1e45d339ba686a67774d151ca758974f5e8b9f80b3623397dc90c332ef9fca168a8d13fbf3bdfd02e4bd635a9121011be98b86470c9e215930ef2a58e4b16af9883e608e92afb89e21677a8e370746202bba4f88a39e4b08372e4d38d51b39145ff29db93fe507dd4def9a9d5fe88ebb5815e720c33fe596e4fa8a9ca75d436b7e04b99a211ec959868ff588a75bc7e7ce9eec274a7e442e5cde55d786243027c8db5335406b41d234713d8a765c268f7fffe6689a206a8ea6bddea76f29f068d24c1858cfa034215b1ef13aaaf77061e0d2dacd1d9956f19df01b45dedd7173825d5b392d338792a4adbd201ca8dbe4daae0721504b6cf135226b860406087b50aef1c4e01e1549623f60385c89d69fc908b92a62f680ff9139bc7ee3be05d45e7a7f41baaf503ead844fad625e57da5a0c4ab001043c4036e641b58e9362e69b653843b71633106f7b98f11ade02e5e5530e5660602f771a2b4afe7c61203e1409f2283a0beb8a0dab590b37b6ef3a122526f4dce27a702e3a935b3c80bb93352932909a8ea5ddbde4cce3c9f4706eb9c65513b05cfce54a71a3a2ff9434730b581754963431cfcd7669730879f1d785bded1bd8e3582217c93454f2acce51d6fe7a3c90a59fce600d3ff3a252c25eea762de7e0a5bfd9fa9b71bbf08373007a896e88326c485f9c70b8ee7c0ee2053e2b92e849ac2fa832603e6b7befb7b9e037047c1498dd9a5014e200e02102397167644ff207f17cf816bd2becf31fa11acda96a655853287f14333dbf39cd0178297d6d617004a34eed6a43141a5b07aa30a850dfe9afb18d7aff5ef648f69479b9c5554b300d882da9e39e4a34d68383d18d29afaedcfec4c88ae118114c5fa22a14f87588704711a11584bec0f12f52d88b91f21b618484bc423c0f788c4309ce7f18ed037def9124017ec869c6a6b2538eccff434510ccffc3edb4efec9d577e2e3596222a58840dcdcdd627351bd1887953e0aecc00bcc2b9b24b8c076b79355bdb3be5a875d820b71f965d2b329fac4b4b179297a08dcc711ed340e923d4ffdfad03d84e4752ae2903f0fbb929b8ddf6667ec26ad637c8f2684e06f6e48b2aa61b155bfe3d723a4ace08ea4bab2dff7d5508fa2fbe579134b417b146a716ec3b66984fc90bbba80942d6eff72e74bbcb953fb6384d5fa51b2dee1d74cc12d127e4a8493b5e567c34d9edbd060ff638d3211b0c02745621492c3d95fe32c539fa2871ed5014a09ac051be1faebd0c7bc104e8eef300ee0816a9499d7ed897498dcf134d9fad4643715a60cf43f60c6673038a54174a3e33382a1d4d8c135c99ddc6b51bf1dd87ec2aefc70153fb057b843190c37715f359b7c8172898a67a021f279883e192e073870007e98825f0edd3c61be6e3f7017295f2f59c54e2cb67fd9b964318db008af696b1339cfb056698cf93d6366bfc52091ff70e2507978474eb183318f1df4306b53ac33ebf40340d8f5240ada283ceb2e40cffaee4398a4dbc41f97a270f5bc84adcdd3846ee6888a29d4c9eb507b40f92d38668ec0f44425d80fea4fc13bf3652bd04603fb00397367b3543c5beb31d2d1005fd0676964939ec634e3c70bc5871f81d4d719340fb5b31abca85df752a06e0ce2d5cd6b41829559d1faa8370662cebb934da04b2b72ca8a72364a074239709250e76068569f2d2dd93129074426a4546dd9112bbe146d31de760602bd67c23f402dd689983d2148b2700603153a42ab0c4db8be6a762113d857a7df387fd8df024f105aac5e0bc8b66a2c6de9d28d9ddf230b68e07c9a3442361692ee8e26f7100682652b538bc032633d594dda44466e4db6925a0c2db2585b46eca8bfce6e9993c79084c8c3316f6ad8d4194511d9e426c500d4477c2b04f6c4e575ad58701336964d0f19294fc81987885297a42aa1d99c4b4b9c6f30f812bf1c3492895807bf69227f640f37c118a9d7b8d83d35cbb237d627e0a21b4b507a367a7073580d628a846071213cd610863ac4bb68571a925589283f4634c24718a2241e61250e41951f37f926787d4e14e454984189199fc7257c016584d085fb88cf1a275dc62a840bd3c6c2706415967e22afeba1af68320707c1ca6010b8019d10cc8f447ff676ec3df60ebbabdd7e0bba215800aff079e0e1b14bc62568503c817e0757519d600ea504c7b3f82f9bf34c99e76768515d8ac55edcc562a731ee7ab1f38c8b64ac5de3523596bf71caef1e0978fc92acc4104470afab17c0ef5447d3a08faac2c9be1dc2b31010e59080d17d02f6810acddf169409f30218f6a7030809c3b36af75fd540b1fa202778a05a0d10039f8179f6a4d6be05b826050866a74bfbfe562cbd651897622a536878a08f745047f0465478ad800d19c4b040d70c205ac0e00afa2d640805f00497075e762b7dda6dcfb3c322b49e26375bc4602860b88526273f7879e1e02478ec3774d1ab8550ab79711d304cda218ebacf9f017f649338d323e5d7084baaf15d00dd9d6f2be4a6cc51741a7c5007289622173b10ac4ce7967e802c484015140695e240175f8fa3e001cb085817f644df1145e00e8be020605c24fbc4ef2aea476a9190c7d9fbbcdd870be43e39f9599b9f22a2b44368097e2f3e9088d9da3e472e054c0c56dc0ef8c3b1c0024305dd126798922537e466250b1b328459b50639913d79883598e07703dab01e41bfcf603798cca3b8c5a0ebb90029d13e8d6a78572bcade58b135d9d27938b0bd697026df87bfb4a639ad34241d983a6a6854260da903bcb8e7ad2f09b38496f732bd2be4ad52c8ea51d80e0ad3ca255c12587407bec4c10e3dca98dfb13296037f38792061e3284e13f3a5256c57de83ae23d8507c55bbf7781d9d1af216118dfbb5598f67b239487d1c0d3a063870c0606285fd01f420024ad038486c81c65719e6a7c6511055bd80af5986d2825d6e5c858b1d38bb2d8681c4d8d3538a617bd902eac081d186db0bb4350c729595cfe780af3e02683bea0b63613778cbdf038f880591b680f7468c425b8b51a4591f1da800abb22e274f92545b3b98fb96efde6a906c780864211624a93bc6d87b78f45fb4cea7e7fbce1b17917a9a5c65886407d1482e043068c4fb78c89c169475ee551fdd74f29670b298235d1d312a6d767a7dbc006ab846cc11435b066b115791d80419030e245d70c92d481f6aa684be2d5931967c7159fb9ccc599603066da75e598a3c5d56478e19cecb10a3126cc98f22e8b1848b7c49d74b3bcbaad87acecdc04d0a71bd903a6f987ee990d4609a91842705c53319dd657103717c1837a78ee209ce36570338f90e7a44351263460ca72bbf794d3b5ee3df63fbfe460b7a656a248c84e3880dcde106a88bf5e14a0252bb5fa7fd00f76ee093e0466bd3f2d096358ea9159bb992d08e68b33a9e2763fad8b326997a347d2737efab6c4ce883f6e4655fa68cd7e230fc612010411d44a3d60e29f193196c897e3d6ce2a90552e9e5c6770321b53286b5f6b3550ef09320242a0495504a389c016fdb6573f5f6417f5bfdbe3d9b23029b7894f9bd98fa72ea1fad4be5b40c9cc93de85b4aeabafb849f139e89d4766e0e0e263b8cc450995ac6c5eeca275602de46969d97731bc73f50807d81076ac28194539556434ebf3adf6ddc80903a9705f42f801bedde67eb32dde410ed920857e3960520dd7d1ba21858d5d04cf2d07cd215f96e8ff7c7653071888b510ac2a311dd7de017664e479826973dc1d131b739ebd03bf56dde847307822565a937a28725bc1cb8e5e8cfd6c2291602ba884c28e89c8e5136dcd9258273e8599a6734b33898ea914bd6db095bf87da493e3bbb01a7ad12c34e6014e11bd4b24d6ee04ef4132bdef88543e4dfd392cf66a4d89adc7ac440f1e6529e4ccd970724ba2215f0f8ad013f075cc747036de16b596fbaf238e4089137623cdad7307228eac093961f254bb5ed0c1f1c2772dfa9fb00a6f12b9f73c39a7997280408b69d9903b84b78bc41e525152d5edc39f54cde26354ec077f304355e84f8a811fdffd4e448243977f30d2279d09a8b50011c96f5651f021f75888d4bc559af96df9617d4bf9bf895605da19da1055f3cda655c6a93a59dd3e35096dba01474407cf0e901651ec9d6e0b663876c3ad6536c7fee3cbe973ee4844f23328cbe807331efed4aa556d2dc14d9f4f63efe6feb4daa4222401d93c52a43bde95414218c3cd518176e464ce82fff7e2ee1c3393bcea5cf464dd5b8db2de699d8df14f9809b18d178889c5d76debeade21ca681ddbb4900facb73109506255ca4071e8219df055c821f32f21cfed301db587e5dc6c0da623df133bf7bc9487152ae9609703c699887b813f8f12dcc5a94da0120cfe9fc6669f53420c508be97403549802732f34ebf8eb5be2ef90c4ad73c08f1cd67aa5c67ff2e2f7c7ef245a3fed41c64686fd34396cb5481a6d6acc7f041f433bc0b7b01e98d2655e3563d362caf89abc43fc050024f4d4069e62e55232684032c79cb3d39fa2727deb20d5b2764e6ba8a6545a3cb5f9265fb58cfb1ff135ce2c163dda7e89c65e7d8c5ef8b472d541657df78eac5a0dbb279a16d1f72de1bf2251800810a409e8a61451ab83a531f48051aa6d9d8cad3095bd4cf01d5d60e72565fa37984627e1332877104e075aa14437530db7728f5e6b9935bf96a250931c30624a23270fda2c84174e4276e6331d35a8757f51a81681342d2647638917b41ed9225d6a3eeabba01896aadcb8201014cccff930f46e70e9375e4ffe77978e716cda12b12ca147e778a72e3647d33a7c985bae6d1cde66bd0a54374ce4fbf55af4c16c4e3ff207ff06982ef31045e8355a961e83cd45dccf2d500e79be23a6a277ca5608999084da453034448cec36d948ef5600e0995a44c2b057e7e3dec3fe8946416f56b4cc4597c22f135461d9601b96f7b92570b6c6e98fd95105f4670df492b7adb93142b268e39a70fcffc6a97ebbffe3c0026877a31fb41821a92f91f166d3d2bf160cf56864764749967d5112a83f8294e20866450183020bf33cf62876d865a7c29bfe7ea922013562f48fac62bda1deb9c45356332cb35453f4b7ddcba9c7c2d8604c6c05b6c43ee518ab62d9e30ecc5c80b9bf91d36b7a0faa0051b9147e9381f09bfad5d7a0e83d190e6bff2d297f8eb1cedd0b256405680bf699fa9102f31ae02387dfa8bad9ea337f81af10c82531216a1f22cfe2122f2db0b27771650bcd7d1cfc3cc6525fdd05905f2331f92b846a6a0781bf60e1f69fedafb5afa7f7c4873ea3ff14139341c994f1ffc80c10f3afe33f28fc9ee07f9cc0bfb8eaf1b7dc44f3c91fc2fef542f6a95ff259e4b4c8780d177794762b7573584a7a01d8339ac41fd3f6b96004ad7078eb350ca4f6c1ddf0333955f3927f29b77f9d8b5073e66b3e871a4e2c01bffeb63f898557bdb5b19fc97cacb546856256cb32d18e213e3f23f2bf43b41c32c9ec6318014d20a833800b40dd259bcc68a899787cb0c6e0337a04d59cf2c41db183c466432107df82800d1a691db422c4b423d54106bb8e8dc0f3571690244d847e28c299700e998a0f01bd933fae5cba4f76294a2832fc0519ad16e343b57d5916a25a95ed4dabb4cb731918803941f824452f31f57eb31fc2f00355c283e10ed4d29b89930df732e82a2fdeed0ebb3b29f8d72dbbc1239b21ec63ed8e8bed76b49c6947ae2c797e22bb08539084bd54f9d0777144b1b849088d366382d18578817e826080cf16f03216c6ee8e61fca95da24d643c3465c3d3613041c5087d828ed14a9ed37a43c46211ec240384ef05b7d8738ff846e405026abf11575e701615a90301cdf2c531a7a6bff41580b878fb0883e6b4fd972290e73dbddf4034c7e69688f029c0572e9efa0fdc08c0cdfe3e19218b0dd8f48e297c1b7791c2ae0ef5df077569ee101f6d09fec9d635b2b55636917bef2db794324929034c05610545053f2a7d890e497f7a03a0def408087de9e38a90433ffaff4d72232d3fa44b5694bc27710bf9994c2fbff4a3f7b4c9f4241293e96389132c7d9c20e9495f38c3f65e7ee8573ca443d2eb17e446fdcaf474e87dc9c715217b9f0bfd8fb805ea4b5f0ca8377d3184788fa45de8f65eea10f5d1107f7a8b577cbcf715b384f82289cfc5b7881fbdf7851f1df1b9f8067ff414b3005988f842b9c197bf813a84815942effde6e990a613f4b637814d0a4b1f0a5d7c835ff862cb1fb1087d7482de97be4dfac2d1bb78f8b2e58f2266993133458ebcf774a684de933ffab81b59fe0d2e6682b387d676e8477ae43d1dcaed3d4987336cd24f9c1a09f121b7e553f025ea4b7e43e9110bf8718224daf4283d7a121dfe969ee9939e949af4233d77c42dc0ff0996ecd0af4c94963bce123a51255ff2215a805f9c60c9c89f3e8e88609691afe4e9b83259643bf4237af4118f7e656e24128f84146ae065937ce8473c8fe447e60ec5e0e34bbf4539831c7b0802cd2efde8b7cdb9885d20f9c2b9493e04e93d1dc2b03d0fe53df89dbe797b9bf42694e9c112d417e6ed3de93b1d27cafbbc227dc9671af174e83277c97f1f4243617b3fb10ab9bdaf06b9434f12fa62187de9255ef1f1a32f7dc42f7b14f7e84bb4cbdc215dfa6d72231d965e032f7bf4a12de294e93d4dfa900e67d8a1376916d21727187aef473a947bf412ab183dc9aff8ca1ce918d261e8459e44873076e92366f160d8e1e9439f0bdd2517ba477ffa9519d2728f8cbef06597be911fd11f2fa2c304ecd37f3a84619f5eeb70867d7a8e35535c08428c097237a64a6c61fe8753ffad90435e840ff0b2433e17bae5d310a310851ae4fe78136609ed8f1fe1d44786d198c66c66cac717cafdf1a3d117ca3ffd76d2988bf6c872837c88b940fee343cb0d92f72639102df74786e1581c8b73cd94d3cfc75e5325c78811e3032d4cefcbabd3c7a9924fffe5ede1548661420e6f2bafc21ab3674a7859b77575cc14efe75f56441137085e5163461e08f7a397bf89748619854296547afb852e74dbe77eb33ab3f2aa09d95ad19b7e247aef475fd25c11b2e84d5f9ce0e84bdfe91cba1fc1b7d07d3c887e2be14ce4d247dc42f4de48f471979e04a74adf0a59541279f885b8451f043e3ac11176c00eef45a3173d49c7087a5f9ca0e849300bdda38f4e50f4451b22e1b85f9979355338989922da74a68c44708afb5610fdca14b9d02dfa4c2b426fdf7e35d0d03701ba4958a90cf4f1608cb3753207624af7b5317b7bdf8259b4214470ca452066a11f066c05b1053694e703024ddc2bf5df4a58acbb5e698cab741fe672c560ae1897abdc56ceae3d6df6f643e094dd3293d6dedbba3b5a7bbe5fed5f8671b9ca8d3d3fc70d0e1b1575e7d50ed706f614ab58a5a85a9dbb5a6e8e2562c5daf36db8c2fd0485e34058380272d9959caefb4a49b77c913a461214a7f0739ce73047391ce5b4d7b9391cc8c930d03906f264bed5196682317ba2c28c230767b10ab9b30d5c7da7ef607dec5247298161fa851547cd6f89251c939b0a9c89dc6204c80a2caca032c1494c33fa5556fab1ded24d01a7dc434cac6002a3a850680a4ef997574ac8ab8ae90c3351f35570ca37d77975ef67d64cd1328bd68ad54abf6a3ab3f24afb30af5cc8306fb3b7cfd1dcc7794cd7df4e702a98d6cf7ecb2a00708a43825f88bb6636a35867dca760168a82531c27a28259a80a7ed56bf757e6a6c2519d572cee04658699293278799559b39ae094538dbdc6eefbfb2783b7e904ef97c204e7ab6010bc5f375de5fdfa5513f74f04205ebf5febfd4e505d2b8a4800400150515b6204058742e59b6234857d5a59e4d7df2af557c165090b98457e94051c3901f8d32800cc42b71c4018f9fecab4a9104ef9e74fc8f23791fc5c6404739a55e7c0a62f51eed547481c931f3d878cccfc707f717f9b17c813474c4c2529c9ac18190cdb412e09b1b90f424411da8e1ebdd308fe10ac27588832b1c5f9f81bd6f4a59e5af612a57d7aa35bc574474dd308de8f9a96bd5c2e5b6df5fdf1bcfc138b8113a7eef6443791ee5772719be8d8c2bd76534d182716b3cccd554c7fa37805b6330ee7b5aff5395acdaa967dfd9256492847e9377da8734635b3dd7da989fb58463313998e9462aa09e304b3cc2deffd129cba31d2cb81d9ca402977a8bfd1ec7a409fce479ccaffa2946a15b814504c4ad4ecbe4c2bd718ae0280afcef866c4d0da46b98f615f67b0bacdc11c0e4ed5e7548d77a6d97a6dceeec7e9baee44e755091da7090e45e7c0c3ad33b29bb9cdb1aadeb6ebbcca30ad1bb9d3c129fb1d138c33b99c49c699689cc9c69968df695ac6e1300e67a2c548423bd1719ac8612293b5e33e74b0cff84cd5d946c1de831b20a3a05d0766b9de6aed8fe7f8609791a91adb28da578e72960daf510307087b4c4c0d6d5cd575a3689721c2363c86c7701688b0d3a8da378ac65e23cc456d26384154f46100362db1296ad3d791e2a79ca7dc534aff1355b0a76f8a29d9d30f89282e0a4fccb129d5980de6a258abfee7415f1822fa42aff385397fa0eff385213be43007666696a362328e899a9fe99c6382ad48627e57758be4602ffa6e53539ca2282a87cd61bf19c49c37dc2c4154a9351c35c3a90215d2fb48084739e82f757c254ef21e7a7fa90337bd5b910f256b6b2fbd7b6e5910672875d8ef2f73701c2e7aefbce7f7b721a2187d0a24fc61f01f88b0fd19f0f161d431c279f8e71df4ee5ca882880fc17dfaf0b7b360ee1231850d0225a2f0bcbf3755b0181a8e1c0f57e158df776166ade12ad84cc8576bd4b82d914f7f3ae4c97c1d7bfe837cadcb222193e3ce98f1f10521536032f2647e10580d474d0c475e61354edfc817e243d598ef7470cafb0e76416e1149c84412f25049346133a16f6646cb0d8348838c833da57c418e1324bdc99f640a79c9d3d102c29e9f45194663ae4e2bff28c3883e56274766b172ecf99e0c7367c8c8141906afc26ecf97d5c83770c814190631e3a891658063cf07cd15789884b97da76fe987ed303d9cb29bd5580d6c35537ce51eeff8c75d7e677876905f1817b9fbfbe71a5b6135fc43acc60e139c7786ab5cd6859129b019970773b93aae7c67e407dd19a0175d983dffb2e84c5ed1ef5c56be2cd037f3f93c5f5ee515f71e4e69efdd1564a9b91b5cccfdb815c49d712c0ec79e75c5c576c0a88a75112e22b66a6cd56ff6f0f0b4f1388ea2a3a3625c8554eaa6a41bb5cd49825302002a60aff46a1987752627282a7cb70580afc4a7eda673cec9615d37c618638c3dd833b5ece3f9fcc9e7513e9ec79aee8fa7fbbcc9077f304767199b571986c260be336da3fbab6d983cf79a09c7ba9cfbd8bd1fe385c1e47e77b39b592bb19e5b622d771431a2333941f1132827261cebb63a8e755b1ec48deac67bc80c33515c8b93e1627860ae1dbe63440a262825bca32726d86db94a898f63a17cd151999df76bbd5c5e5510a7ac35c51e75626a436d82b8b99177bba62f976b62db35a5e1c1c3ee98dd7d79e5a81f76eca075bba63ecccc54ba5d531db4d5ca32df9de6a13ec77215cce5287ba229cb64b572141074cb2b993d732ba3393095515199d882a43bd01a35a4969bbe95d6a564a11fcd01d31833280d2a03082a838b04c8b1e58be0e1c6960fc6e0e3bd19ecb0bd0fa1c3960ffe16250f39f620841cb67c11bf6d92d3383522b7fcf925ee871cceb05d7cc700bef7de1792f8d15fcc42c4cb1021ea5378ef0b47b0005f7e34ccb06308bdf7a11fb194bc6ce17da805e94b1ffa910ef31e994c245fe97b193868501a94c6d6d140030d406c7124dca2ab6499f61c3569adf7da97d662dc66b303bbe111656cf719cc452f4743ce3ef4196dc5c6891335cbb41dffcecccccc24c05109a038a8d5a9dbc8b43ec5a8536b3d053077b0195a23ce602e4fae9ceac371700baf36ce1417e54e975d8c639fdb583b8a6023540f98f0eab77aa5347b77cf5eb6531db77ba5d4dd6ba5d6ba9c12c67cb193d6c04a192ddbb28c9233ca86331e3b6c5cad981d3137351205f20459ee0a8cc05aeb6e1df46aa9bbd7fad6524abfd22fead8a49c3eecf8183673efc689138c2f932069c81bac5983052e8383d66041666fa66d9cc6614e173265322cb060248f48627e9c4eabcda63ba5b55a2cd36ab41aad46abd16ab41aad46abc99956a3d568355a8d56a3d56835a34cabd16ab41aad46abd16a3e32ad46abd16ab41aade6cbb41aad46abd16a4a32ad46abd16a509956a3d56835f66d583ae99ceef3e62221d30f6fe97e08dadcc63e2a6382f33540b7dfdc49e7f41bf71bffa82adf18eeae848fa45f83c4294cc30977a79446aee2d4ca8af7a1db903ef49b92e9e953195105147afa26fd8226694f47478dc2d3c644d9d379fad98b291f4a63e3b7bf61bd818c5f70157a475f7873f78599437f78619a6edb565d32c5368db937e78dc66c7fee466f368e922da44ae4224a5f940ab1c028e74605b73560736c6db39960d7b9369bdc52ebc9f36a075f50ced8f3f97cb4aa3b97a33ad70431f0a1218777b5d9cc90b9cde64ed0fd335640d6c2b6d96c3db61bd066e3f9439e0fe19407071932649a5f76301cfb7e487fe86c26d8b932d0bd746793ca5fe79aa03f064497833d7d2cc5a158c7cd6d365d6bfb6b9b4dc7edb073a5e65fbce2b2305364a0344eac481a343e3c761481413930e4cbb41f1080688671f7a8ce2beaa9ebc2558d016e6b2b738b7295630f41f0617ffce837eeaa741f72a00fbd88e2f3e129a6f07cf821322225fb9085281373c496e8c3a8c37e1867bc0fa30fa30fe30fb414faf8272a31a5f3f1534414993efdea66ad28735fb50bdd76fb6a0c4cceabdc9a29a39f9f61668af72cefb3ccdc231d53771be9dbe26e70ac1ce413c8cf1b33253cfdfc1cb91b33456ef9d2063245dcf25b21cb98d14b3d7a920e5f36e94b7438c32e0149def49bd431847eb2907ca9a43d1dbea8087dde934a5f0843c97b3a929862184993c9647a90c4343ab190fb43ca5d727a17ba3f5eeaf0657ffcc7bfc4a990df4ce491943328fdc86f941be9b83713f904f22b53e3b68deaf9e926c805344b21ef70ec2c93759079105508730f7b7e6876a18e4b16f989542955932f674eb010253cd199c41d7182e16b7aa2a098508a53f5a9dd5f8ca8ecadb6b17d5996bdcc6ca5b5e294fd5aafbd52caacbab556d3d465c38387b53865df9ee81c78e030d74c89161059bddf6913cbe556fd6c751a281b8b65ab6b5a6e5bb58deeb37b82b9a48c193286fcb81faf0e7baf8e7bf56dbd6c7a67a29d99e004e2b6ae8e6c45b9885db02f2975ead5eb7d7bdf71caffeadbaa5f9d01bd3afcce8070ea7e2b64bf8e3966436de8278390372021d9c5324ccb6cd7efa81cb3e4adfde65ca6a707a426b19b438c183ba4735ab1fb6108f7f145a2caf6f147c494ece39f4414dac7df3a9d43d7e1b79cb75fc21fc7712cc76d1305538653d696691e27c7c61db5bb534aa93ba594ba534aa93ba594d64a423aad16d358ab954ba79cad55627ad6a0d142839351fb9bfdd56e762d86efe660bb73ed2fd532829aebb8a5b6fbdee7f2addb5a6f4514d6fd419cf20e0e1d0fef76a79402345689f21befa1c2e512b287d37d6a76adb5d9dfac566bb3b799a652cf2de5dbeccafaf94d9620d7e8d3bf93044e51ec863c75c073c61481cdac550fa881e3cfd28b29f9eb9f624af7f5433185178e76fd4e4ce97c7d2da6783e5f9f13539c628acf4a2209ff1423f2c4bf7ea14bddf7b1a73a867befaf4ccfbd9308fa7b748a14402c802ee1deffa4bdff6fef3fc2bdf69cd3dedefe76b0eeccb9341000731ea43b7f61fdfaf429d6a1dc18540145d4017665ddf533ad9835d44d3f3ae391754704aaa516bb17bbd811eabd598db115a76abd2b5c8ec3f762d966124b01c31c8cd375b9e2caa9b818c651d1f17c409c0ed7af936b020d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d4d7581b41846a9bb9ddcb61f95214d70e7e749316b55d8608b51ca9ceb093af248a54f49bfa03d3d125950d7c91e8c5211075b4f9665395bcf663dd6d3c91d0454804016e74822cf10d237a22ce82fe80b6df8e08f62136c3618673d1f8753ebc9f36ac7b9a09c39b9d3e9e46c3d323a1d12a8e8c8126c3db61bcf66d3fd07a73e38d5b1b67b9bb3f57472f7752e1920fb12bf7c8b4fac48cc5a09436218f2655ecf0db66d04b9566b2586713ddcdda5bb4bf7686d96b5b438fd3819c78153712a4ee5aeea549d0acb1832c6c7afbc56caaf9d0e0b6cdb6aed8b6aab32ac0b95bbbb7477e91eadb59bb669d7ba50b9cc5c7a32e9ee0254bdc5dd5dbabb748f2f2a17aaf8a1bbbb4b7797eef145e54265bf7afd88719729b0c1acd541022ad011022046605510a31c418c98b5d8476388c0c6c6c6e6072b1374110da795526a2da5946222251fa6d7202124a7fa611886994a443e4aa44d3f4888563f9010cff3baaf9e6254122df78645393924f28544c74822a55960fbdaf03a4614c672b7e680edd336463a918fcf07a43f0424140a6191e88589e312c97095118e6b64db5a380e7330c627cfe330e6741c0ec75a918fce87180f16c88ceeaba71795097b382e137ec1e174b9b316a4fbeac9858af3627b51993067336d5bf722e7d88979eb743ad6deaf7232fd219ac601f94a333e280e271d23887d71e6171d93e99648de4814027d3c9ddc7130b7955a221da49791b860c0f8eebd1c8c9939136c93a33eb10adff4a9f798a0df4cb000f97ec4eefe5ea9f5fb857ee3ee4e41ae8a9b6238d02ae3a47a6e777717b3ba632878bd5eafd7ebf57abd5eafd7ebf57abd5eafd7ebf57abd5eafd7ebf57a65afec95bd4ee060cb96d603b237540f6c29a97fa5d2dddd85ca3e0d0c396d66284e61188661b7e5b6642d9aa6e180d234179a6abb61537137702a8c31c65fce5fc7833db8a5043b40d3366e9b737e7c8088b41685fcb7682f1e3433399c96aecb9d9c730f1b9b2ee78ea7d3e9cc39b3d38a442a994c37a84a4af28b4ec7f49bfc783c9e3927895432995ca83a2f3c9e0fe8f3f9cc393f1f11114d038542a2d1687483aa84f34033253fa83c2f3e1f50080402cd3973ee78b00773ee25a1a50e958ab95f64f95cd765f77e5a502014a8a50c4e815a381bb771211c442a914aa41aa93c95a7f254d853fb94a424f4219154a41612098c8453762b954a9ab6dda01a39ad464a25172595c964caeec5216328cc9a4c0530a94ea713869db09116ec8e9c3c706a3979202020105548888b10d58f8ca430914f7f08c8c7c9542279235108f4f17472c7c1dca665f7312c3300cbabdc2e55c5fcf92e75cf4fc2608b23d4565b6db53fbf8716c4ec98430439f6881d7b18c2cc06238afaf3b75822c71e2c41876ddab1074a70c2de3eec43d2c78efea1c8b3e34c11e549e8d976c4dab6a78c29a88f885804e753ce9e60187221649f7648daf3a7a4f2e78748a70ef271b2a6922579235108f4a99edaa936771ccc6d5a76315ba9cf9f2f718bdff3718a7e74fbfff68f3ac80e78d0e7bc6ada17bad44ddfda0e7876b14f85dc2722097f1bfcc4f659abdc75d31aaf74216c5b473929e7f429e59c2f5140e54b79e39a0bc8734a1972947ca8848a9ea872d6991911010000200083170000180c0a06048224c9c240f103148015627a4a5c5c44134823318ec32006c228084208228018008c310019831431d600c1702358d6512da69209d1f00964f3468f2f7dd0cb8654ec25fc0422fc2dff19086531a7f193ffcbbd16c98355d6005df66c284ee8b894ffd870972f47cd1bc931d899786fc238aa9a811fb414ccfde6738926ecc3f79ae56ea3c98ab2721d31e8d0d477dae4dd954ade8da02d028c83e0a44c77d1615e28be796114d42acdca82eb852c8c108c8d74521dbf610818c82069e8310a16add9cbe1c35aa190da379bc3a30154f7094d4df74e9a53491e7795aad757686d5d0ec511a2b99743be4cea0cee8f6865e00c07778edb1248307ee46275c15c5d5e7bd4402491a0d7f3f67bbd28f8892431d7128ba578cc04e5a045d9d34df4e0a07d422ef427945b94ee5b61266c75748dd6654f480dce9ff85559b338eb38bb1ec303c0c0a7c79fd0ede5aeaf664ecf8710ab6bb082820b6569ee9f838b3a5667a95be229e099ff198ef81a9e8e04210c922899335633e6092ae1428c5c29fbb5aaff950fe4e6e5973c4c2b7226391b335422418d8b9f20abef3324054176afe723880e451254286467233819cd29085f0a25380d91d7a1f3a6030c66e6f050361627f61eb10744920539418c918a672f4f2c271a5c034812d99c4857129133e2107eba74823f87be3bc6d0b38b3d2147e7234cd3fd0668411f9aef8d51041cdd8f9056fc71b12e015a3787f023a20f4a6f8c26e4087de8b22744037323e7525aa1b634ae88cd314d40fafb37543f1e192a10003897ae2e9c70c05417cf70865b2be9c80de798e64f1221b91b8f9aea40a6d8e03bbce25ffa3f2a6f1371c9fa6081f3d0c041c2dfa6ab823305da93ba07e0060a927281a006e77f5b52010e8ef66b1e8f1b8443e200a7b865be85755f83c4bc2eb4fe0b8dc8997940b7f2e160d8f786a03da048a98ac371cf337fe1b0e0be02a1e9e1cc107ce854d9d2944fcfc34bad11c813380d7f75a7f9e59a0b87a78481e6b0dac8ddac19b9f9c1103fa9b845bee4c241a24bafeae44b4cad627a25191df82d3f5ebae17c6ab7788524c0118eecd54b9687f27d0f07c29b067bad8ec21fbbfc0d67bf34d5f4e8e43f9b1d73369c44c7c152b76d2ee6178202f8349f67023bf87e8def4aadb34c708e158e602554030147190e5b629436796b6338252f144f548015c3514d2a4c587315331ab5da30365255d51671ae239677f3e090ab0127309cc5dc1c2879003137484bd6edb8174e0b45bdbbaa744133ae7547a12acecc9ee194295db8440579ff2cf56d73f390a77a38c5826f30940f712a5ccef1ef1ba4eb89b7540d29a8234acb28446463fab5801d500591a8d24522bcff5808f6dff603e96e41c21d03a906569f9b8f13e87f0f6fc6a1d46cdfea37ff5b0dcf1561e5466552754effc3d118bd0ef8e912e299b44e268a8375207f008550651f67264d23caa13ae2b7e5368de28ccf645b048b96b6c75a3a207310833e49ee51328aa2a24efa5cb8b92791851e94054787cd779d4a073ef7a4caed7520948636c8f6a4896cb6e7704849faa48de44e4007a95c213e10a84403a5c2b9e239f01e98d706b0fdeac8276a2dc4333f4279259f43f585b379243cc77ecec118ea4820abb869d45dc7d50cdbefcac34f26121e877b6e0e6c44ed1fd934a43e7d5fa4f889bc03dc1c38c288ec81e227fdbefbfdda97a0d5a221e0e6600aaea41a643bb0f25735ce496165fe0cea8074932b8e9abc9e4d907e835ca4341921b1df95e680105a40847b4e76f71160e4f8fa243441a2c3ea40a2bbcb3407c9ed34d6d9005f79cd418411d95ac81d999939a888945b4c33e4d3922091ae8df64b1a9fc6532fc732fdd29913743ba1f02e4f9c99f83f67e299351fef690e2d7fd0f95e0378add60824ef07e2e7337d5da873b178a124623e9d4b403c2493b41f33b9de413e9484ba6c2599aa6157f331eca2fc13322fc134024fd5d51e2180004255e832cde179c9164929d8968cf34c57eef973ec36108142105e86e652d0d606d44f56f737af457a6cb954fd4df233a28eca0e4d7f5cf96f4a316f90b6d4832110d61de2a79fb410d2859a28dc37faaf147cccd291dbbf383846e65b0c3e1c1076a8b18171f7e2b9d50164cd5ea2558d75329439f7aa5f011ac3632b04bb93d498ee871a865438534862432c47fdaafc9171e079cc8bbb86ff2213a5b5e023f8cd71602866fb875dc3d0f85acd854214c4dec83dcfa59432dfcf77b41698bfb9495fc01fbd48cde196bc3a2fe549a30f174ab8d64a1b2ad0bd92375cf42f13462389c4d1dd725fa0161a15e8750fec749a2e2b48337c79f267003cbd0b48b99f5a8e329ff10c26826716aad4e893e8e6038e65a455ada7f1ebceea9da38db8045e79800886de687225589726342d1555b7da5c9c1c0bfddc24139a75b1fad32b0150e2d36a8546fc00f4861858a8072ca020b0a0e14a260518cd9d7bdcd7fa6e22479ffbbab05051272f09c6570a39611eaccc56986d95f8d926c12822d845c7b81f11d3277eb042870d458e20b7fa1993fc5173441a26cc7ce718f1f855a1bba2812ab3a76ec17974a93805aa6f1591c875a3ba05e543a110abfa4a35102310438edea7972881c699dba20c60bf5e9f6ea5276897647d039647a6801265343ec8fda2c112dd517e8ec712e59a4a46eeed34472a32e7094d1f8f8c234bbd70e4fcca1558e68e9ceb5ef420f72e5b1a749ba8e9c587c2ed469212ccbbb630fc62e712dd398164df6ca4b4cd298fb8299feb989b6af80571290ce6c38c8cab8d262a6fcb2bbc6b5a9538b7fa989f1141292608add148e7361a60d4c8df0bc89f031dad45e2247c4cd14d35a146bbdc5aa90d8848578fe72b959159dd2c5f9c321b832dbeb0606452c0468665e4a08981785e1929b0f61b471d44de984bf8ebd008ff1cfafe114b8f2ef6045cdd8f90a6f30dd2823f66be33421370757f84f4a28f8a7584285d2ec14f4cefd3ce1845c011fa98cb1d211a88dc7defdc038d9e7be93c1d36fed507492bb16a1d445e844c458e0ea34fa9bbe454eb204f40234b89a6bde9d44aaa9d6196e96e049d8540f2a2883a53dda9b543a881673bbf60ab2932dea905116e42d12722d3bb7f653e0487905fd7eb2a213a6a3522d6808192415f74512b2e56663616b538145574ef5b3c508b1c192b60ea74c67c45dba2968e49ae44056a3dff53e4e627d26a07c648eb8b49beffb78fcdbae5e1b2c851d1d424cacc62e655a3ee2cd391c6cbc9643ccd3fdb9e3abe654f896f98ed45cdd72f8c9bf8808f1e4cab5ebb00865006334107fd9379fe4401b9607a92d0dc81367c1114e84f69dea5e7e79918884dcada3ef24f062513e4294ed42211449cc2b0a3ab3b59b96235eb30e406bca9276353ac7bba6b0f3eb899ad717bbc3192154a5cd39c4258bce591e0bf80d8f1e47cda645c5ecbf282731cf17f029bf23e795326c336da2c2c552680f6dcfab953524e6032c1b27d1319b20dcf9c90ee257c995287e990b3d169b3e9b83f111398a8852bc1bb82f8b5ae0ea6b2ee1d11442bfbebcf7a3d47828ddd82c0645435428ac18732b628a7ebde1eb62503b8cc91adf78739aaa20d5e0445c73b6fefe124a0f4ba3b4eba2553be09885aefc2e0d5316b0c5b2ff8555dc3eb7cbbd5ef1a122f81a65f8edac30ad1a438f8de84c9c0f4f15be063323d01197e7c90d6e811860c030ec5f2736e88022bb8cdfa0ec0eb4ef9e27cee4a0a704883f0c50e1f7ac9307187e098df362fe1529b0099da01c992d90c44d98ddc4aa492b9a6a2a7084f6cbcc752d1d62f849b389eca16c99c6df71a36db476d0c834271c9fea5d367369ee667d8a3d3e9b9f593242019c0b12bfd5a585dc6135b484bb446867771073f80dfd053c235ae3043b9c000505d8137a90e40cfdf5d7fb6170f9791d991b14a9f357ef3ea4f97e1d3e174b4bb8fd788af76055da838d897d1c50221cf18d76df1adb0ae3a4896bbce929baff8279b3ca820e6c51f8e0e580fc4ea9642deb7b288fac2ff1b1c99880329c6f4faf00cb95804cdc7efc9143557190f93b4234821b36f253fd464b9ad71db3803ba6d94ab9b9e38f66d83fe2d769359fcd6e27f76f07672eb42ffaccea28b2ac7c41a5f8731205bd79335577a983a575ba090d2ea03d02f727f28906c9e8aa3d90353ab75b03b45f1f2a76360043048649692c494b6c90a3400881c334ba5f570d5719172dfeffc84ae85b65f0400ea9a255a7288a9588e985fd53ac5d634dc6aca2610f45939e0431b929fe8016a750a5f762065e27d1d3db65e238a7d3d2ec25328f37edecf7b792feda5b65f5b1b1bae7dc7fb37bd184b018abc9ff6d35edecf7b696fdecbfb792feda5bd7c3fef25b63f20cd3f368c70d1b0e31b91bdb2b9cb3de1b338ee6440dc1e410988979a263d58f9237f0d7e6a9fcd13732c532dbd5fb3fe920031410424dc434660028b34b0ff6d03065be6c233ff252290e49a9d9bef786fed2a6738df181154dbe61eccced0270991c6e45a13b7b33f0030b0f980b3ecdfa36a25ee972cc12bd47f047c46f6b78a301b2bcb0bf02ab0e03386d0c1ca0d00720249222dd2507bf1560e836f0c7236d24cdee7415e8e095b02721379a93413b735c2ad213577d743270c9d44d7c6c7af9e01dd25c51a1d48cdd8c1fbc1c9f06de7eddb3894e23f7f15f0ad3ae0b132e50f08daf370780b921055b848e8b7c4b3f06cd909048f99a3070b74d6d150359de05a30173deb792d1d38024729e340ea99e0649486ee4ed933b3237e20a615813539e72ee65a5da97d66f85d55de4f43ec6865832047ec1e55bb2a0facc8e03480116280fd596d28bda62be2dc042d271a0bad8079dc08d9936a715aa737c62e76923087b33b712f080bd51c6663fc4d3089a01d065fde153474ce194a1476bda20c5606a16008e128d67aeedf2e74376e5540e9f83be75983ad4a6e14cfd37cc9f599ba663a61b56bebab57c45da237164262a006378e529b52c568da786e799ac30592a5e0f7483643b72ef01a505162ae8a430099147e0f355b4cc5613653205064130cbf16e7ac5df5052322530a470b7e148e5c3752383a8ba2706491678daa445dfc2a81f42404880ed2a9acced7990642ba54c6eb2ce4cbb39c6c7b9d5da0004c6bf5aeac147a9ea3e2e6f09c5d427336e1520d4e591601b4cbcb9598e6682303ea5746add18e0f6cb163b52dfccbec37577ce5758f4b655fe280a34aa145e5e53306d29430186b4f4e024728fe14238fc92383097bf552d677a42108b2a00a9e2c56946b818c7b57d407360e0b6c45f6c7282f36d6c5eec28937a058124fed4d52aed29f86c109ba1ffa60e0c6ecc5a8f939f95cbbc77d924e97294e967f302ca522a1b6e30a168d7087115b37b032c74158891d58c8a378054172d8418e90b10377de841eb3b0c3ec102e1c68445a010cec6099965c21349bb0c324a68c97bf4231e229890ef12d8967023b80faf445c134243fe1864341fb466e115dc201784b2bc7ac4434d3ac1cfc894a473de4527361e5583ba8375c310bb5b6de1a9ee5a672f88de4e07a6a33eade6393ca91ab298663e345c76e670d2ba78e46ea499b72f0d1f8128a70c9c4fd5a6750c0d6876def849b353e1723e5b08da21d3b9f1d8f7270cfb411b4a108ed13cfd0725cfab02aff14fc545ceb48ab25e9863c453950a05252f3331c4439226abd112b4979e54a457d563e86f53162d6a1232847678172d061e118d2a61b9eef1efc95cc633447fce4d8b22992783745d0a038456650fe1136d6199ed027474e1cbc28a8e9c9314c07ab6d3e3852f1e5defbf35bb2dee56489273696ded23f391f3e762b2747e4bad15e181b0fcb6beaef27b7c4d617991cb7c49ab79f44c9b8b72553b7ba1099ff0672d8e4407be297e1de6bf532e2f730e1a3fd7de3615bc6b57cd824058378a5792d0b86281b225ae3120c7880937df24a3cc963a40981f1790bbf9ff52318b24b1be2ab23d7cf5b30d465c51c9a2118060a070611d49e19275ee9c786359bcc8ba0207b1d0e9f33af85a8d7308bde9f9cc3a71bcae27e7c280f999c4ba8a2f0dd57c96c51b816664cc9792636841507ff60302482b8c0bd21825ea9f1bfc6975c851d716d809e7439a1fa81273429f9587a43a8ab61ff9cd2493469690c6d5dfcdf70e7fed3b24426caa6d0b991ba21d8baf9bf495cf7126b658c28ba235ca9b821e88a5a58373da0dd0b621bd22bc6da106d57403591a61a277d06b5218bab27f1cdb4217fcec8b509b421b6843e3ebc98220bc89f1befe206b8518f2e150cd1cd86a824d3e4a696c58f97903524aac8016ba3b0427b5ec0ad78c6d6de6d5c60573ea5ec98c5d60e43d910b19d7083da4e28e600de8b3776efd1a65575e506c6c9863c3074e3f67085bdbac548b33b2c80f970f1e563431c08a8726fc72566e1edfa16237622e762431cb4a0737a320b9bb6c58adfde3c6c48a5a79fcfad7862972ad21c6c88139d987a289e0e8b7f7c0d090cb9fa35e42e889d87b5862869f9f0ae39734c004091318a4f8767d7472fe9742fdf4b41dc153649159b36db91b733758f1f13b53babee19cd2dbe746bb325075ffad87252024d6c963a188de44f7a35c6eac35101e8cf9129cdf68662aebc9f55d762342d5f7184516371c818670841611e2a87593a0b0f432d404bf11d42be10346dbfc215acbbf664d6901a2c4944f8a4e3128522036b7d213f4c3dc07dd3e13399f55ceb922fdbac2fe8450c4f7a2581971de6c52d73ccc922d8b768e573c1e574a3b9dc879cc8f19dc0abbdf12b7259d5781f786ffc58ca9b26ad59f90d4c84edfac684c404273dbbbb2b1881f336e51b43a60aef8dbeb66c7a219a4f2b82a3795f139aca3d5987a3336ae472de36ab97c4498f2bf8f2620d9c125d54a7489fe34b1bc0301fecdb252cdee3aecb60ddcb65d3c5d101c07f8963417fce1a5a091b314e1f28dd43c7ec7fe9e187ddfd1ef2e44898a446f418acb2b745b622180e1f8d50c170131be59a22d60ce9c9c60921f7709f6c2a2541d15586f0a5dda5b50ec9d5891512d85c0c54eaeaf4145479bedb9d92736164827db5beae85b07b96fd565838cbd16a35825d5b8941adfaea5d85d503b77d96496061ab6514f3b4cf337dc9c9f9c6264c0c55396b0b676b98749be124864bf431df4296df2c13b3bb5ec9cab869444ee60207ee62b8a6c5a4c2b624560db0fa0f8f90bb320528961504aa71a866f5f73c4c3823e8b73d23402daeb5c3c2a98ff1da184caee25d05863fe9c15570ca68b5ba552e79c3b0f7d9e531b22e3dbbb31288d7b5733dece8f58c451df2427a2d8e1bb97fdd704f1c32a7c56535b0ca18f99aaa9cc4c12a4d0cd212975b8ee6ab66403aebbbdddc18ec53aeffd1df95a01fa266abca4b2dd60889d4870267b04516539652913fe10b6d114dc36202b945dbc97ad0802a58e1521ccd3644eefbc44213f10b77d0488860a0678ab4d5bb2df899d44651cdc5672ae516ed94383b84c8623267a66a6542408092721e68ab7600ec6fc8390b39c30217843cd8c3eee6a48102a6432e1d2213181368399ff39372595b32e19be6c3a91a40f96db010446a7228b005d7ac6d61bf6350ca3c03f3c10c13da0779cfc9c28a6434ac9b97f664e6b6b212e02c7eda0be241a09c3378dd0be4977d5b4dbdb65a67dec90c8a29f1f49c62165b0a5ccd32178a585c2d6ab8e4344681b1c3bd4d1e3de80dbd455e640014817a4863c6cf5a2b977fb59bb9f49dc0daa3c04dace0e3e2fbc33e8e187419341c14d943083ee98e3771c975e1cae01e9c418af3c06fe9edc35a58464aa74f5d6cba949b6549927b12f16520bcb588ba0f15bd2bdeac136c45979bb9a5a67066b0a2f0521991a99068219b467d329d6423a5535569b25fff9e0071f8fd135107172189f510aa88cda0dc7eb96115686d1a53661c4b27e0dc79cdb124912128fce5d830c009e9978d055acfc72e3a5b05c278fd1d7c7f66cd225db0345d01adaddcfa342aa209c5b3b00bcd1872840f540b4fcce022cf2d0e429590cc96bf14d55d312f1acd83c892cef23bd2a5774ac6d0a8f1b468f15a8549bc992c5181f4085e033dfaba0eaefc3a91b53946ce13d0979d749b401105d83dc5f288e095f2a5c4f7f730809316db7f8811e7a9e979317d081f7cc2a46cdd8c4c7fc99e390e8ebb637ef190864f15aaf25b7f54a57e8984851406894a7b2d17455961802a0585dd40da31a761f6919869b7fa8e0452888ca8c05a9a0885c905ca649fcfe1276de83f651a4772789eeccf61c15224385f7d98ef82c83fcee88126e194f3ca4c2550060837407752cf1dd8e4702b3c7e1f4747817edd178e8e7f6284127f2f9fbe32124250c390640d39b18fc49795b0014b86f4308a59270e276014bdfc8065f67c87be284d148ad90f2b0f9c894986923e1d5456d7bd41aa16cd7f611d2af6c76d3d24ed02395ef09b6c095d5e95edc256bbcddb7c18ac564a8644719f7746104ef3fc78ecc127897e40e191c70b6f965bdaed7a01296d0cc607a5c10419a7acf89a7a281469240d955a33bea5e59ed253016542d2c84e75eee688b2691c3694b3f7682387d1d057f8ade691e4cd98a142340f0d4a67a6574fc6abaf90ccd56a187c504e3ffc66884d3da12c011bfac5e94e6a6c4c5d7f3ca1243c3d06dc73da157f19646c6bbba0507adfba63ef5dd412ca491f819ad8431509e712ca5e4a6aa2cc6424b0526db55978c3a57dbe01644171a992cd264f40588d992d3c2d9b0ef77bf9033b77cfc56e00cc7cf63b8499b124e243d613e0e8d8c15264e5c48e0e41b305c45a68acb88ddb13e058addc6348be5566554a8d4f1ca0c995218ed00b8d4f9ce024ca743437c78c60e2c50319d26b78003a89b2f4dd3414db3d8912e79c5d34147b0bb8828ba70ebe36930e60845ebc66b761d8f984a79aa82282cbca30588b495672f2137406c8d090950a0630e08e4119ae5def062b1d9caed98c59d64eb373dc7d2e8900d919e8de7a091f39df59f92b254a49e44eafe5924534c92320ae86e21cbfeaba3450e1d17857c6e5e2b22c9bcbafe42ea1dcdec6509f23dfad278e4049218e04cf67b0038dcbb9d900635c3ecd421d055d5c428e9ab1938b5f40d42e259773d1623fe948b4b830f47a0600743998bbc5c58afc954d931b6a9077d3cb716ba8d25c0402f588dd9a006e415abcb1eee8f425e815684f8120b10fa321e2fe010e4c8b2e4518e8fbf994dd019d0dd0b00f93009bc2b8013336b74a2a6e3d7d23600feec37c5529a9aad8c34846e923b43e53c4c0f29799589e8109aeacd84168859f13b4639c61d78a206cf1bd875a4fc9e265026c24b2f94a44db033c83ae91dcae12f44cdd0e767d600fefdf8a79b3c7799b12cca4d0d603d68c7f0966408c0b3e7195f96286942889ef0128bc9821f387a4243131a973d8167175ac06055a54654898326db0532e44af523f938443f3d31422f9e43325ec2ee40774d012592cf350237787aef7cc4c82f3513e1ff978932a2512c7453d7928cf746736c0deea5ceef05c63e6b79832d20e69c35bea79468797415a42799f6786e1dd243f30044ae4571f588945810f18c8aff80f84058c16c0010352670e8677629db943a6ce48c039d2a9aa36dcd410045a76dcb9d18ad2431e893c414277de4dee1b9a33228d92c900206abe941e79a0338d83aaa439b3697285ef4fe7eda5724043beded36ad2739622fccdb633f4429f496972e5442127dc0f6af4f9fb3102d0e25cec2cdaba8336cd4f0c0c0fee95dfaa9c809e12e02a4f3e63bef26fb882e1fbbfe7ccd5afb7b543a9daeea58b0432276c123f52fbd726141ec2c7c832db7414b4b173127adc9a5a90708c361a978dfa43be0d3d393f9377843c7c0aa3b0817a33fa8aacb9e938b1721883a2a95061c935ac4273cfd48ebbae828c69428c287b302c16e51af7ce594704312b75feeabbf342d4402e404f2c01c1130ef0c7cb28da991e0cb918fd4fa9a45e8150bf2c1b80c20eeb001988c36f6fa441cfd4b492fdf9dabe22860a0e048dbfdeacf15184a1f374ab07f8cd1ec15121ad2598d446e700a7a4293b145c371de470ac0eaf764ced64ab435fb6bfad557d990ff95265c98e3cdac5230cb4b65c2e7c041231b0f702a410974fba3f1394c82c144d536e924d107bf213c34dc0d9b2c0272beffa4f4f264264e0c7334c99537bf5eb9b088afdb6d200e796c43a91171aed389bac934370276e9f6565e5d56e8a7cb59a06da5b675655c73d1ae90790a6c604f8654d88f7328e106d22240ba9d5224d284ce90b4d7ee65d950aa4f788ca78cf3ffd86c30521a9b5d906b55733b36714d53516cb9114d38664e2f54248369ddaad9a4b24f024e0f124b1baff9a778d0f814717407cef2ac0ceece3c3b88c5f64bb1a19a537f1a32f74b04100079aac1d710862a4d27913ce754e1e263393bfebb89bff79933c2225aaacd0c0000227d88271c78cdee80cbf202840e147a250b68e59f071397b8fc885a5aea1c8f4b849fa04ece4f4a655a9c00977b26176be83bf9182807d75f93543edf32f9d6da977ea14d027e08ee835242759303439f01211c1a6212b5f0d153e5c70af7a12aa3601aa59cdf81496e108aaa00c3eaf5987c5bebb414e4e2608ba6855b3a0f4ec65b8d6578892d50ac96efedc3a80e1f555d7d8db61161a0f755e4ba5d643e89a3c98fadb59dadc8a3cb1735c682fcfd505f4b7d993da534c6d7590704508324a9f1d1527947004a5588b5cf3b7b35a70e07bf62165fe5088bf3a40491282b284704b8c2b3b27a878bfbd726ec12ec7f0c337053e3fbc72bca334d588469ae85861a18902bdf10f317024d1091c305107dd0bf479fc72eb6974cfc632402c919a9ed783074b1dce44a31ebefd9e74c6f6798e2abe41e9301bd3c3c30f40be34f41616500a279252103c68980f819c4c668346ea39c906ea4e76fb99a7f5ba4139561bf8277b4614cfcfe96e5aaffd80835991eaad138f5a1789ae133dcb36826481beef1b74969f48ff7536490c842ec849844ab7c3e38082c3db637ae27011c2a0417256f392bd4748103b72878e70272ff6f62cbfa6bd2ff96213a315e25b6064b66edc1b853ae1d433d942f702e15ef7357542e0f6d4065e10da3eae11e3c1631d8ac9b6a16bc9ea253456c2b2fbb355abadd447309517e8b8952ce535d4a512de4a73f095ca04fcdf4ac656e80f95e1ca1afe95e160d180813de2df8a9a0046cb79a057f850bc7165534ca07c17bacf70a51d2ffabd96c06a4b1be58a24001626d28e122f59bc36b77451e30a05047ea0a403b89bb1a8a5e92b586d59de305b7996c302df1a289ef63a65e28f96e8ca6d120574e3b8f18335ea024ac2428cabd786696abfad5fd29592443c284412052c83e6e1d29a34f7e03f6e7ec8d4016de809bf7ce5b9820f8cc6e789a504914541c51912aea086218b5fd47fa2001e59d21ef82c906e5c037a16b8c2a2f428961874c6070de242a57028700e6ba0890576edf3d9279694cc76a847420d92da6834ba8484dd2fb1acf1535f01c2a489058c9d03dc169d7756f85c5d392b8945599f375c78104b2c57f00b0c8757e44329ecfff5ea0faaf215fce259a03973141ef2aee524ed9326a2111aacf39588b4ca3976925db5a05257b8dc2b4f53dd591826da2b2eb70374b2a8f99fa14d6543b13280ddc16c214ad2d374f3603ef1ca6e6ea2566212065824d4de2476be1ac4ee54fc6097e29024dbb0a61835d4418543d016a0da4f9be0da411412e46adafac1009ccebb326164e01b845c45a93ade80d4b3b2d316608e744bad2ce4f617624da7a31683db1930c0a1ac19d5f07cae6ca87743c423db201b64ce768d12dd340fef3e44b9ffcdf90786f7f3ea5bc58197bf10064aff36dd045e2c2a40ee36086cb3fb42524c0185002063143547dafcc20965e06b0eb937829d5aa055a972104d9d1a8e903bf981b90bdc6114e0c5c18e90445d5cea0c1c2e2b09d2d30f099639aacc2da71f98a9e9a63137f9d3b4112634053a1422a5745d5bf79a2b09b1c30e546e630299704c02e7ba8960140c1914cce4a7a9f3521c2dc71ad0e55c3a64cd168430645319f36accd79285959d616a02259c81394e364c399bad6e7ea5c9db65c52ef70c0cc6c582fc9d5eb7e4960b998129a514b06c30ff5b183846308b80dfc556b0ea75e439011e8aad7a0bc28d6826d91a423503f3b96533deeaa5312f502581673b8cb0af3e6418380303a3e9804ba60fcca14d32a02f06f33142425488fd308be352d2fc3acf144c2eb8b98716eea30d4b9d671eaf5ad5b9a67a1a5b988a69e5023315889c0ac9d3e91d9c93f564782780ce28d99f1380a794050fea614ea739f5bec7277c627ffd15c56198e13eb2487ef05e4d6570108a59c30dc18c11cad58a838810a9551f9b73f90906c9ade2ecd3df547def7cf3380c0e8c8b1278865819aea2a5a2edbe486b26b2315e0647da3430377900c15c1fea7be0171c0177715703bd3fa978b5a7fe3266be3a1eb8724d2bdffed4fab877a9f81aeb4cedf33d2403154454ad4b18888acea2d4e7be1b66fbf285067942f5b357ea7a3de227252eef249e1a2b1bb825d92b0e9c59a362463d5597de72e3b3e4ddbc0c5a17eb977a1c978c4fd6445c03928933ee1b8ba8d46c343852509f31f2904912e6aaf9e895c5892862fc1b8bbdea11a851657bf33abeb494407f5c5efc38a84f91dc1b9a3c606eed187b24b24bdfa22807ea7331a1913c51ad063da8cce26aea116a1f5f037d7165301a881b8439ebd83e34362aaf1ee27dd4d9d7dc9b3eb766ff90b551757ba8520dfd030e221c72296c8e3e387e1750e16b108954018649c9be78a48d3a1a82373afaa87765add42eef55f7d20fb2ed5b0e674ca31322014e9025a68cbd06abdf49a5e1e803ae1a87440a24948049a7e4d533f8c2afdf94b6c9312572fa1d4ecfe6c35ae1af011f51dd4ed8c9b5bd5b6b461db1593e603ce534912856b4f443953af366636112b2dec5bb16872a097cb96ccebc722272f60f6e11399c9e4e343f5a8e451559687e72f33fac2a8ae627d3e764287243728af0c91c5257e13a9e021c37f0e0d90afda9437201f40bfd117ba5d88bd54850d692f72c93d72f5858015e55c9877fa3daa9e5626d54d6a2f94cb36aae1b7f54701f2a5fb4340ba12051c4e66dd21176af6f07bcadb8dc92f558710812f92339ca43b8ed238853bace676ae2b68f3c2403f0abc9b86b8857e81a595fec6086759ce225fb91885d631ddfd8d6efbb38f895af9bc96ad84987afa4682a3d34786e5221113a907c188de24a11745e4b94c70f9fdd718040ba2d5e133b585954ab7f6a1a64a011a5938d902c3c29aa79d0935eea8c90624086d1df17ed5fd431d1c531e1d4ad307734495b0695c678d0c911519d230520d7f44b17a615fb2109a588f8637f6e3370d67fb37e4ef28d615f5d3f777bfa7ec4f8cf2921ead09735d61b7f2eebe6f9266a89f85fa32ff793f60dbf5891dd7989b1cfefaaa8cf0b42faa36e850f6b1cf616355a15c38212df1b404a289ac1c0fc2e6b714c8f0bfd805da9d73022b8aafb678bb5f464617568c1e0118ac28d5d17c891df2ff0cb69067b04a53f7e7996dc3dc25a7dacf9150657fec072d00755586640528abae0d007e8613971f067f781cf294e71e7a704bcb51d89d5aa388a69190314506af16af1407d37b2165920ba9427aab0a7935fe39ec2468c120bc100191d1818780032a5bdd1f006884929c19b28677c1e98208162ffb697643cd2293d17dd663a7cd1fb4be9ee64aef4a6bc78ca05bd17f06f1db4dcf5e26da7bcaec71b14e4555eb16de47af5bf494e30ede9512905fde06e9b44ab30e07e6474cb961900a631eb708ff42446feed97e35e1f70bf7f73057a77f645cc0df113c305b129244644f3bb6d1f497eeb8f9e7d42b5f0fc71fe369d721146000f43fd9403591bd67235f1678cf6bde66ec40d04f8878971c18c1f8f54eb34d0f2dfc7a8abbc09f65fc5b059b30278b2da7edacb4515deea29e2e91fc603fa534b96d523389ec121d983e145d1b0817ef440a05d4d02deb5da88ea1c9139d24b0fa73af695bff7a008380c6bd488755cf74eb597a22d91f1b6066485eae5be0e04725b6cfe0e93d35a2809e918145d0a1fd9ba7a17c92ebad0fb749555b32d7e7726baa9e989d49ab324385ba0de881f74a27ceb0121716f9cc27477924350d56d19115818a65f0bd303f793e2d5778d147589034926e7749b1e3f0cf328ba4ffb006f892598df322054e937bf0012da3ba5fb7f6a2846da59352a3ac3a8a79da2b1f8b249f3ff3c078e15ef38c77a7f97bf6d11cbb7f6afaca1fd1ad221e2c481b9c62e4a784a62570e045025177baa64179a598650a6bbcb6b710a51855e7eda4679f54969b5ce9bc2374a14675e45876ce2c8adfe77e6e4f0aa94b87a912bbc9b57118f64e2c1070e158c7c7c8e2dd224b383f7f518f995b96cd9516447d08a8bcb16c9fcec5545edd748a0010601255c5ac450975df7266adf315d80ce2075d17708ae51f9777bcba755669b81a733092b3274abd5e0ba455144bf14a3281c18c950e8f396a7e473314639d6ca8510f9b92726e3a1ee67543b7b1aca5286abfbe18e35922e1ff93fb96c03c6c63ff379b78ba9c5dfd0933708995e7844e64748e10a7771e41b0c58111bef5059764ee11c170c4e129ff14a690279f62062eeb1dd1578ddea4280210e02de091e275135691eb758cb3d1f570e8db103d810623f95e3b3672d2542ac3572dd5ea2ce48e05826d5899b2ba0141f36690dae68fb8728f34ac2581ccb42057b686e4512c1e5eda074a65c56ff171e354836702ae6ddac71416e25de58def54ff2f037a907afbcbe651fec45a69f4960196e4ad63eb1d511b51001606c6a247b61317f1f7179c212343f546a5e2f703cc11392d11e2c71b2e2048ac0e7da1e2cc7409263480fe17253a129a1f8fdbdf0f17b796386980ee891ae2b0f16afaa536f0f8dd80c96ee6d06cba1411d781cad7108aecc8314513137cc530728587baddc79fc04e3299a9bd91d2c4f021a3cb0b4c40f3b0ade3aae2c13544c6f931f0a2c529d45649b818347babea100e86f461c4d15c4dc3ff5884d38dc51ebc857447be560ce7458918c3a41e4887f3f7dfb71271de2e659532bc034d56c8a7eb361eea45a400f5f29ce2283556693ccf5c1ed53ccfa28f89729661538aaa74d854677b16158f4412cf3888910604f5b688e4e572c424771528f5dc060973f58602d476f58ba3a61a58d8237bc9e441ed0d0bbfb9629b5a1878827aff9a6ff8558bbd446b7b49c7798dd5a27ca4715cdd11b571c029add7024a08f11d6ba8e698c151e4d5799a5d6909c8a747e01ac9c04ee2445b010581048e94cd2018012032c045a08b010e2cb36356d8acd346d35c6a29c673d47768e2c5c5938bb66a81d6370f0a3d599119908100030ea28480e83511a28aae622e3e44facffd9eb221927db3136d21a21a43542c8265bee1d8b0f2011ff0f5cb8c20cfe3ead0c33f8fb3744e4e9b16b61bd68eb6d503142f3f9ec651adfde610b363e69cd6f4e6fb6f976af508f7d448619bc7deb1ef36937ef94be068d8d7f1f07cad088283ec6662438c6a6fb3cec9b4d7799d3d75f978d04db74177633123c2f7333124c63f2ebe13fee9bafcfadab2107a6a108bf369b67f01613736d5490f875bbcf988b36bfcebd862cd45c7c0d5598b8e63117ec2276df0efeeb66388089632ed6647af12299012f43176a1e738fd45cbc476a9c2299a9b95b0d232bd4b892c65d42b18d6fa737dfdccde62ea198e634b771f3c4349f34b6a3f4752ee6dd29cdcd3970dddd5e376f74dbec4ca8c7179d5688874a4d7c0523431758f8756aeb656c4682651e63f3c431a73568771a6a61ef2c91ee3197de64915a9977b6719623a6794ddc511a1ad8ad5173b388055084696e463243afac1dae50af78212a1363a550d3181a5867e3660fc7d0dc8c6486e6afcf7435b09b91cc609acf5ce6e55d144f696e6e4c731a8fb179840177dd8d0d1b1b1b378b33f806c71c8683632e7363535f73d934d66bdcdc98b3ec0dee6e03077757a1c685d5dc2c4463eccc6964de3a8daebb354cfc3a8d9578c6beee117af13334e25d1455e8baee9452dad92c7397344652b17857164f4311eefeb279e201481c03ee409cc953acb9bbeb2f9b996011dc81e8e10c0392192c3e2399c1d54a2c4445eb7d0600736fd90c03e61eda8c0473e7e9d9766bdd7719b25084bf1b8575c9ba4c6686a6d430b1b7020df6de2191f7ef93a1b433785e67dbc628c489574556f73c3bf16a067fd37b810736e650799f9ac69d9bc134247aa105a2986b60373d933d53dcc01e25550c9359e46d311c704067c348745a67688a38a57c5fd79eeddf8a0b7176b7d576b69e5aefdbeab4beb338b8de9547a4394b3f3922bdbd763878c585f8a26ef6154b4e483612380112fb63cfb2f79e519cc50855987ea66973887a6003a070fd47635f3c30e20c83a57784e5d864751b6017718251ebb30ee5307729f30a739ff4da789f61e2ece16ab9282b4a8694d553aaad066214a40fad4ebf92b44ea2b1dac31d66c51af51f67275e59b063f59d44613051cc1ead5a19e15c8352d158953df4db3743224fca367abd1eeb8bbbcef6bae9e07a4a35a91164cf11e4ec7b3d2d43d2c057570dce942a473d683b19ebfe592ac7eed4b26a70f795edce598ebb0d4ab9cbaf03730d4cfbf9256952e2c8598ea4e7747067bb9088d2b985448e39ef6e150a4b1ddbe699b1d464c91c596725611c586a510115fe26387ffa7ae4f94d78be6e747382c2f31bb76db303e93b24a2d4ee88db3fafd615766cdbf65aeb5665916d7e9bacbb3afdf7ad7e8397c070f725dbbd7f9bfd0e7a9707a5a8705f74ddf5ca0a893cef5f48e4ed8815142f5b170f7a2e232ebb5d6cd90bb568c1b7ec7657abd56ab57afc5a16077f2bd0b3e0372b5fed1612d95e2f187a77851d98cbf3f4219159846d8c4cdc9fb9ae66a861c3f376d8c2f639270d5b98b97adb736d61fb2b249ab6de8b5d48546dae2bc8842eecb0f39bf942a2d5e90c89b4e69cb4561aaeb0bddedcdfeaed7cb53878ce0e8be44cccb23907e7e4d4f9cc812b6e53e2c2f35bfdac5b7de77d55c1d55921d16a47acdeb77f5d7d573bbbdde3bc8d7be5388e2b525fb77f1e58ad3c57b1c4c19f077621912d674ad956e49a325f6459e24b23f9a8522085e7b9cfb0853adf3717813d4a2532e0b7d037a76714cc01a79536cf7f721259eeb35af9898ff4eb399b4117faf5df9c57c9c4f4354c4cef91f9f9be3975d21eea92952f5cb01c034b2b634ce1af8f9c4091d20a11a8e059022cad7cf182bf6f05ceb015524a451a8aa20b9497e03f976d4ce79c9c8b7371a09d9f0becc21db077491d6b89c126d1e5baebdfa4c29e278a957b6d8594529186a2c8aa1b6ddada2cc5a1cd9ecd1bce4874307dcb752975155da903f68cb224972d62ae2dd1d8734ec6a919eca4254adbaa68ac296d7ba2b1d55b377fbb1926de2cca3ce4ea2518b630b1aca23450c6e667f0acc2c13307cfb7beaa7aa2b44e0a3b69c4797beaed09763be94e1688d975d659efa476227be4b9cbfe40dbe2bf191a6961315cc18545fbcdc63987c6362b501c9ee2893f9a3dbab56c28763d7c06df6a81604b5cbd36ae1345daeda22fdb33b1b664c3a28ccceb2513f35941297b66109f5f775170883843e334fe7a854432ff3650e63121918ccc4c4ccc676a28f38fa3618486757d2646e6423d63598fb1aed38889898989a131311d2813c3c974f892aebb2e659e5f8ff9e7b2de635eaf989997cb6eb8f6b96cad47e93af8cff5893d737d7e46f64c3c0feb19f8f99b9e859f37c2e0a9abaaea09eec1520b9425e02849183c5541785714761d5c81eba0134af875577897942aecba9531a2b088c5279cf0b1d4f2c412fee494224a2d2980c2174b2d2990823f1818134363564383c16ac8d0b051236c519ae7c4afd005d7a9ebf42e8941f0de655dad70051007d80a89c0b74056cb75f1e25db49008fc770304cf1312813ba2eb1f0e7088d80ac3b77084e0bf1ce00c8bb82ede8868e95bf46278571886e1cdf3262ce27af8cf65e9c383a08bde95c3055e0910d006d845ec1e70f7ecb5931e939e10c557f52c4ccf8c640ff8fe07da89ab0eb247c9a4c2610bf4e0bf9a87ac7f130c5db070057af082519670781a1eb4127fae307459d65d354cecba35283dcbe05bef6f4c3d3b02def5feb6d4b3d0c8943235c316c2bbc07005f0aee38076ccc1db5388c1d3783730f8ed690706ff446972c8137186e1bc3d814e88b993b0939e65f132efb752cf8e887fbddf49b227e6fd2ee27359252e2c73d1c6d88959a10bafbbee04137edd25b1685d97e10aaebf2ed4314a26165fc3c4e27d8fe25b7fd923e25df74223e15defc215c40ba3171c22d2789de6347ff1844431ff7480314f21248a71ed88af7f38e01091c6cccc69e08431ff76bc4ef3a2b1aed39889b950d3b0accf58d76966fe9a9999797de675a1be6191d767febdaceb33278031967597ddfeb22ed78c75fdb5232ce2fa2bc6b5c3f5daebf332aec75cba2e734ec67a8f71b9622ceb3276fb0921d12b4848a43112108bcf4bda65375c43232e2cfe7b59107f3be08c22e689b5a8402a0838447cd918011ff398833e2151eb9f10b0f55a48d4ba0c8de060ba2382ff76c021e2eb62cf44f1afb33e237b5a45c0c780a191184bff12ed85fa6559172d7d8cc5c1325c413c786d56682cbe060ce4222cbe084b2cc315c08b374f0c5ea8838445c08bff404b2f5a1cfccdc096659ddaeda0c5c154b4f4a01d1216a1076febaeb003d32121919289e96be05b0fdfb27407a696f5d06e1f121281b736036714f1c87ba45f32f11118adb628fe7e66772be780677a853f20ae6eb49599e0195a4f49db5a5b8fe01bb7ac7791e8e04da86dbe817327651a3cbff23a9b3dec2577928867a5993b42f878cfae1bf247773333b8e7d8cf5ff7ecb9e89d61c31909a69f3252b63de7c02d238363033131313738f07abd6e9288a2682383cbe5f26eb6a1a4d56ad598210c43180d2008d62cf9be8f4607582c164d0dabd56ac6064fc6035dd7c57c80e3b817086aade20d9b6bdb70a02d4a73e8d003bd9e4ddc5cdd68375753388ee3aa94751fc0f473ab52060229ab3774b2876e3870b2a773a8f5db56dfdfa80c6adcc8b0ed9906962feed9c5f264a6315ede5a9346bec7a623c75dd91936dc38ec8ddfe4b0c161e3468d1b984dadb5c646ad5e7d4763bbb986f7239ed7d1c0baae9ba9e9ba4e8646d77531345dd7bd66baae1365baae73c5b45ea108babe16c771ac90e3b815c8719c476ffe3a16b7c21d475fe92db2c99e51ca8ed487f5169158c79b34bad06fdbb66ddbb66ddbb66ddbb66ddbb66ddbb66ddbb66ddb463f69ad386edcd8d8a801aba141332313f3125dad10fc582bafe3ea467b725c8e6dacf41619658fc4fdd1cbb66db55229db5ab2a7690ea1ec9952b6513adf48b2470ec132a7309f8304e17edef1e1a3078f0c05147080e07e3ee1e781fb39870e580d9cbd9becc5d064cffbc0d6675d72ecb3ac0264acbfb206a081fbde8d3ed703f76b10dca729e0be02e49517e6cd4370f69c30bdd7337adbe33c4a392254a8abc56d6b082e69dda587a374176a91d2ba2b1bb7e77db83b16eeaf704f596fd8ba0d07cad11cba72dba90ebea329f23e784353e8a7b4137f5ecfa40c5dd87014ee7a3426698be6d06133c1a0ec911ea56d43f31267d66ea52f77df28a594524a29f52ed41fa5544987b77b84befb341461fa23f51e77b3e7751dc7d5ba6d94e6eef02a6fefe6c4b31e085b3e43ef2ae9f091faed3414e17a7aceb292207a2e789fd8ebbacbf008fd9492cbf283a96f037b7e862a48ee08e53e8fd457cf16799383c1d71f22cab79532262f0df1688a9c6732e78d6f9640947fcf320c67fc2b8cd2e613b16f6ebabddefe76ee6edd23a5a0d8b38d72af387bdbe56c86963e334cbcd9c62d65cf92c6fddaaf5beb5019bc80a9883b4fd2569fa28b65258dc9afaca4b1f19e4e0bd18d3a58f2607973776febb6aedbb839cfcd6d09d7503e492bcef4dba5d6087a7b9b6db4f192f6a1334cbca4f17c13e8bca4f3922e691c84b7494bb0bab4ab7fdfcd526e5236eea6bc59ca4dca4b6baf24ca2b4eebf528b7d5dce6bb4dcae436eb9cc1f3b29b740879c5721dd775b5fe6239717db64344ee7bf658cf92268febb97737d73aebbb4e2cbfcade0bcbb36e163157034beef458f6ac72f72ec77179c31c3739ee72ef2e67374e4a99bcb29ad5caf7c99e493b917a9c781ef1a03910e7b7cb4b1b85e5e9279294c51a06cba2949f37d3f78de4c047e8dc014b97ec59955296a70e721a49997cde667d303d76d3cfba59aa3b25debea0409cef6f555226b588f35358fe4e7a5984cadba26d7e53be1b8c30bdb4b91a8d60d6cb59ebb81569fc05cb0d4935c2736699d8c68887fb5ecfb9c3f7c99bc1f6993dbdf6e9b9cdeef32cc761b9c97b575a69a711e2863723141fd9ded16af3e681785e5ea88bb8494d50040e499224a13449922449562b6f7a34d3931998a22e574d4d4d8dce19c71d1d1d180c6663265140124a299d94d249a9dca18b0b24755dd775de0cde0cab19582c56d7ad589ee783c56a2aaa7cb16b93042609c33074a1202383c20c0d0d170dd7c833e6f8badbda6be384136ce8c0d9b16306560e9fa991f291e372892f5114c15051b97210c51cafee66d94cdddcdcc0912347eccbd4d428e6f07ae588e9ee9b9b1b3872e4504092570e31313233323232df570383d5b0e1728120c968f32c4225258db199ee969199a1a1e1a2e17acd86c4c0989815abe59ac1a1db666666105f612b6cd1e04023098d243492d424812581258125e9ce8de746ce46d7714080dc1d7103b26d5bc7d59d1d1b36be0f0c4190443e8d2dd768c386026c24b1b1b1e9ba15cbc74dd7dd74e3388e1d0a27ecc0d171ed73e0b8716363a306ac8606cd8c4ccc4b74b542f063ad6ca65c68c19c73ca39a79c9352ea790210c0a444008008112273122142a4be5eafd7ab489122573a1a3df7a47a96837cdef3d2b32ce4f3de54cff2cee7bd2f3dcb9ff7a87a96f1c1f42c0f1dfcbc57d5b30c80b73eef85e9590ec05d9f5f19f52cb3b03aea596ee1383ebf42ea591ec0737c7ed5a467d985fff3aba49ee528abbff0f995939ee5029c009f5f29f52c47f16e80cfaf9ef42c3b808b016c012c01ecb6c5bee0827d4919807d31b5605f2cd85700ace8a5c779005851aac7f9212b82d1e33cb6629415a15871a9c77921567c6245a526480d442f0edb974469445f5d49631fece699a8497333ce540fc980903eb4b3553590ec57e66658cccd23d15f37f3dc7e479f112b0cabaa47302c2ad617d6548f31b3d7e761e8d990cf3ba0673b349f97a167339f329f406e9e11f21f37c86b2454cd69482820d791503fee4342d1f828a1748e8284f2f1136eaee57cfec544693dcee3f32f27fa82a2b4d563df71715e4b3a6ee611a32e82d133143e2f4af5ec84cf8b5e703e2f56f5ec9f7f21f5cc751dbf37cfdcdb9b61f63f37dfe4780a37e3e038cfcde3cdcd393637efd888aa1185e745a59edd7c5e7cd2339bcf8bf322949ed5f8bcc8d4339e4ffc79f1a9673f4fe13d37cff4dce76698cf856ebe117ad0cd384107ba79047aede69cda6937efd03ebb9907675169f61b37d7701695f03c9195d90f89c6e63f19deb827d8d1c8afc559e138ec8b1cb42e6b4347741404d00385eff4c0794c8f136e7ad8f4380a37dbfc841e373d62ae007a7c8711147270feca1992f3b271f30947e1da00ee78e5e4d4f8d194136e7e7536af716df06e6eaee1f5b011f3fa093d4eb879fc8e1e27ecf8d1149b9ba3f4b88d9c1a3d1e933364e747535e37dbf809e3cd35bee3280800e73727e78e3928e48c28fc680acecd51727e0590238098d7cd479ba3701d2ac482c4749c2686737f3485279642ec38311d37a7f01b0b42731562b72be8e0718fa6649ec3ae0d5efe8508b9d7e16379845c1b449187901f4db937f3dc5e1bba6b7b2ee4dae0a570b3102f9602cf6fecde8c731bbbf647537a6e8e127b0a3c84c41e848790203f9ac27373cf2fcecd3eb7d7a102ec343c7e1c3c6870e0f0d0c10347c78fa6c06e8ec2e3342a9cc771a84003e3394e0ad7f11c16a4f7684a1efa8ffcc3a3ffd1142c04e6c031437fdc0c80ffda20d21f423988e0a00f8be460dda32919bfe6dae0e59a03011274338ee7b836804021906b8338f3a329386e06ea860ee4dae001e066201e0d023a0e8ae3e63fa4b787a329388ea60cdd1c853e8805e4e61fd70611c88f1f4d01ba39e8387e33d0c3e720822fc4aaf1584233ae9f053e07eb397e3405df1c8575212235accf1099a9f9d114d7cdf8076f167a8eb76ccbbb47537200f29007001f322d1708806b83387473ed3e3c1f433f9a22736de8f0cdae83dedbdad0e12844add53d9ae265191a3ae05b4d43e6661ad759e9fc680a7833ad0bc0753c1dcfab79e0b501c43d1c4d01fb4753027073144fd4b9d9c7b541d4f1f1a329b49b69076737cfde6f5d1b3a1c4556038087a3ac6878ab2199daeae6da5bd70610df1e8ea6b88ea600e0e628ab0fc96e96b93688b887a32932347e34e5e7e69fbb6a37d7b05010d04fcda727051eda6c88d5f98ef5712156e741ac8f03b13a378aec3fac0fd9fd92686c3ec7aedec37ae761578f59ef2cbbba9f118dcd8fd675146ceb2758f03b6c1fc7baaec3b67e2d786bfbb7aecb9aea713e876d5dd6971ee77158f0b2a86c5f16981ee76f5816beb19c105650fd00db589a840e4f44c0366c9705d2172dc0352ce7850e34008361b6869e86a5b151bc8bc31cf23e63a3d08b430f7997b1515617073ae4dda32931f743ea71beeed7a4c7e9249db0d8fdddc3cfd66d9bb7565fd7419b3fb7f628088220085e88b6120fe0eeb9a8f3926e59251deeac8051c2f24a0f548ea5952354e1afc1f74c76a0858d21769738c35ce86a68dc7fcf24c61fd761f7e5c222dd95d0ee2ca99e49273ccf9aa234d69784e75954789e55459f3fa3efe60f09b79114b52bebd926c4bc3d6d4fdb969e1dcf7f23a57961c8d8bc18789e0c3c9f79ccc0f3e31c3da92904f1af264af3a4e46b89d2b627199bf7a460af251696584a00049c3d31440ecb2c4780c1797b12bdaa1ea5686c7eb3ded494983d293c87be21a237130641ccde0c93aea886492dc2c1841635135ad4ab1674f04d2fe2bcec6af8e707d76c0e403f3f2f0eefc13ed826013307fa7939244f5f3444ada42f9bbe4a2696f7c13d4cba6836003ed9b3998904767777cb4ec2dd5a7c5ed3563236bdcc39a717af6792c92cea9aa3413781cdc0c2a47088b0493844981426e1d0294c0a93b87c5e3012e96515b5c2c18acb0a07aba89b55146621ada25651583e23bcf586fb6624a0a4b4dbb6ed746b4ab7ade937da846e5ba5946e9b4bec597fb3146c82412ab050d38dd6dee62977e583d1e79d8c0486b7775f6b730e961f299d5ce0e0e06c9e0f1fa5940ba6f41ea53403f4594a55806e4450ba8517596eb08414c060e989219a02a6340c4cbb1a03a5bdb0dacea0aa1df782140c500708c20a2038b13206541244c88227cb129c70dd3a8af4d518b89b0129558118c218f1e23a4e8a7ba15b8581c26d2f7c8401ea0030f438f3c41c15dfeed8a34e0ed75dce8b81d2bc3be6195c77a8b5d62ec288c20bacd369c1f2035cbbae1bc34481dc9601a90ac4406963182ff54a4951169659ce80010eb1cc72c6139cc78e863ca01ab94a03babdf0acd39dd3e3ac6e5b0cdd35d77dc515dcdffa33fd187af46ed734eeeadcb1c7182a30c65081291f2c49e940872e471cd184f081302330410c644075456a76850746d03b7231f44c5a21c2153c5f819e7154dee4b4b4ea0c3a4646463c88453ffca008519656f083329a181a22d46f2464369c6770438104298c1dd800063c9841133b464c59b1411060586631a20cfc6199c5882f61e4006a0ad5103cb0c2030d844ca3f1003178d9b0cc02f5039ce513cf171fb7a346b958e1bcb82c381d2f4e4b520cbecbf3e258ac0b95a572f6c2e88b5b795674a7b59547bbf001084310c21157f86005416847458e2539be18e1604b1156f085088040c100476d02464cc1a507598038c1143a2db8b1c4cb1660c0fc000ba72b5ffc9872130117a860065f94200aa7241f4c3633d02108475d8ea0a58c26c89ab0e1c5173168c08411f8608210e498a0468f0caab8411029d04287307a402501eb3204305b72f003136534f1807252b344862e42106184098420024a0c8a081a06b0c1084280850e37906287112a081a22cc1083092a279c301a010a503dcc84418110b0384212482c513901ca48a6cf08824a0a9820a5871f769c11d303263451860e8c806054052709af1720f1c312539aa2700110749021d6c0a0da6203284cc86289a5fbc595850f534000a20b0ca680b24168ede0e009172ec254b9a2ca7b104a2374d972821818f5d0452a870e2a1881a72d46b0f4450b1328014754fd968800892054e10314628420e90617560d013e9c000c1684f1e2c5871ba8d592adc90f33e8c2050a887881cd16af888a2d4868a9faa18921d878ea8a524025498b27472051c554e30a57b5f08004618ab0831d140173aa2d2a361070b1b283a63284d005126aaa501a9240022e4930a10752424083874af3f428c453935b64a0c5185d28e1032690808687d26410b36cd1f4cbc05d0f48aa251c0b3d4e496937e0000a2e65788104275630546badb5bb2fa8d0e3761928cda31ea5a9506bd5f23406aeb8d6aac293a742cffab2d0343964b46a16a09001c30548e000cb52172c784206e91545960f4b2d558040fb38c3942419289882e249e90a208a88a9b2420613b428c1941430f19a3eac1e68985da8985871594621c1aa436c543dac28e53e8e3b83451bd76a75eaf3983352da0b20de442b4500d34dfc428ff330f4b8153940ce0fdb06f3aece1d7ba407372c3f7001de3abc350ede3ef658ef17e2019a08e3044f00210b209418da36229480b7cff4acdb116158a8777a46fbd2c0320b94187885a595228cb19aab1aacb8507541256a872f92a25c381f187403307c841eec7b3dcbdeb9f7b76724306ca788de7b0330dcd530f1bcdb0660b8de23dbb7dbcd26e2f37ad6810d8b5ecf086080261cfd60032c8060c593a1ee4a1a9b1cfdb4b4477a99cca2da33891fe4165fac0441092bd80113554b0b951f5c5866f91285575866f912841b60a00ca72fa0c230628c2fc221264d94329226e585a40d9e9f4fe24ef74c76d3a945cca23823bfa4a0872f48d0440e54d0c3508b9426c3949104117c70b285124118fa70cbb085fa3a6409c308cf8b3d9b9f786691a2c27368ce08e0cb3a34b9936b587e9ce1eb918644420f4dc4800a126c005584a1ec61399fc4f9bc33299539585ee24c22a80ed581499013b7a26dce243e89c3d2c15fa0341e8a5aa0021f9eec60892f5a58b1d2128515dc12ea8503e0c0328b1751e0c6328b175ce03c4aa976f2b1824065d8176a272323a32286f20d6e1cdcae262e28d00208321882049ecce2b4847ba7677d833b04620e2cb354b103fcc2324b1535c079a45cbe6f88489bd084ec7d322ce2750d8dacf20bf87b17fc5d7edfbf7f574ad9cc4578e5adec0ab28bb4024f79069e075790618444240ff0bc137f2c2ba56c75168ab09439dfa7cdf3de57e00c89e498bf7b2b7c9f97bbe7c277e7b599dff054e281a31d7430c2ac2ba591d5e73de25d090e38d3aea3e78abeb92d452105bfb0d4d20227fcc969459c4b787e5e21e611cfcb8f9406a3499416039552781a511ad8d308cfcbb0a469dce7b442cc52aa6e2f505abd238dcdc36800058c2daa92905630d4a7b46da86f46a233ceae62c49b1c9a9f3310f34cc2f333a9677dda8d8c8c76189a9794d60114d8a007aa2bbe30018aa1be27ca00f7676094563425091818410baa25386919ea7f9c01eee7f46cee4479e951cee6c7f9c983e7509657f014621ec79c79d93ba287937a26b35871019e9f4e7ae6e1b9b4751501182c535ebcb660934aebb62101bbfef66e0b226d7dbd1e272d227bf48a6ca7df1e521a8a48bcdd2212d38b8bba4955d049dda487e8a44ecadbf6e6b88e52ce0a51251de6ce04d32ab56ff3b454e68f794ae70be68ff94dd2493fedacd25bf794526219ce3b041752fdaf6dde709e48382fe9b8aef3b6addbbaadc1265c6f9c0b605bfa6a41a4f983d20683983f7a7b52b77f6dc1263d76dd667f6bc1f74970abdd1f13cc75a7efb8805a81be2db7f5449a3fb6ee5317eaeb0d9ae01e586a89fa82bf069b3687e43dd003986ef5d30ba5b4674bfa9ecd53db36dba717dc4ef0b4d30b75a12bf22244957475a353d256ff3d4a15d440975022f44a6613e8143a4329a5333352ced1e625edbe4daf76e8c2dcbcf7f4e6ec3cef25632d4a592f217a3dce6d6b157c12e78a3df67481a8020c19e8990d0b3dbb39544b299b7a9bd94d8d94f5bb6be7b550c22860a9a506545ba8e0114b2d5b9a602e9c700d2cb57001057f14ac551b184ad55f26deeebcd34b8ff315f36dc34b1ad36fcfafbbcd5711f69a4b49bb711e4a635d1544d856e32adc1a3783a2f81b56ca98786b7c3b4cf496502c9e7b8d45026298ccbd9b371c0376116ddc2514c364cec59ce6332c72847ec3b07b44e6c290801909885fafb979c37309c5f434cf4b287e9de6e6d9a4e229de23afc31ef30e8dc0626a887f611aba50319d8d63bcc4dccede7cb3756606d30dcce0798f6c87fd9b42bd5d86af3ba7c4d3c2ceb2372c0f8d6d765e86e27dd9d83cb10d0da6b02801fee627c3989b71d8be5d218ae9632c554269b64fa4e923f3edd30bce4b1acb9cbeebba53990f7757e6e6222cf3ce6e5df7b97d0b893621dad9ed32b6e60af5b6bd43a22dc6dedc3cf1cda9a5a179fd44a2a1f9f4d2b37a9ad39088e6ee88ed047f13a4b175862b7cf8a3b41b372301f1769a67139c6388e887b73b83983feabfd79c2151941bdf0a80e3acebf1509a0a9486e3ca8e6db0b3ec0d2b3b267e5e04f184ddc03e5fdf2ccfc61d66339299fa19c4f491b84e2fd87b4c8744319f36e6553369a6f86fe6995797457a330c32dfac1463ee1d5351145f4323decc7d5eeeb0c7d85c845fb608c3ac9189bdcbd83c8333772433d86b1b2bf157adc44344243378751ba29507fe7b3dd61a9357a3121299785504b1bbf821cf394f3a9e77a0c2d0c0221577b7b6a40331e38c4e38533deb5e8ff3a5661da82ee3e04e670a77efdebdbb0ea5d177501dabef1e8090a8b3b1f33c3ae1f88d1b9759c437bed91b46f651345691286d35547f33d5331bb8fefb52e899b8feab8137533de3c202ac86b65b5ba2b18a545baa483bcf3853376648593db5378c68acfe7b0901b2a333e4878f998cc693428f4fdd3ada33887cddb46eaaa4acbe2b6203874c3dd6cf4ea3247bbcd72d700e9ff04da7811fb1126be0329c59030f997a66c386e5fd86939e651aa58e7589346675bfa9ba090305834a3796ea6f30dd90527f834ad368a46e1cf54c6609e208d7df403acbeb68947a962b12cd939ec9a7a59ef14061ea59ebf534527a1684eb699a7a467b3d0d959e0569c066c06e42140336835770fd05ec0c9b056c162b60737884eb2960b337019ba513155c2f019ba51313ae8fc166e9b405d747c0664a05811d285cff001f07d81c5485eb1b60676080cdf509d72fc0e68e09d7c36067980ab039880c5c9f003bc344809d611ec0e61a14b8de00368b05b0f904b039a70ad7bfc0e384eb5db079660036cfb4b084eb59b01966c4663a25009b472db87e059b572ad8fcb384eb8bd8fc1385eb89d80c9484eb896c067ac2f501b039c808d703c0e6a02ab87ec8660fdbcc19e17a219bb92ab83ec8668e0ad703d9dc49e1fa1f9b3d255c5fb3b93685eb7d6ca6543d368329d84ca7786cee68368353b87e666798436cf6766c1685d81c3ec1f5416c0e93703d109b411d9ba9d40f3bc3e6c3664f96420e0f15aeef61f3a9703d8f3166b337da8c82cdb0136c7e15aedf813385eb716cae3581eb75d84ca9aecd3e5770bdb5d993ca91f384eb71d80c3ae1fa1b36dfd819361b9b451d285c5fc3661166f3718d9d61a36167d8b0d44c6d09d7cb4ce1fa183bc396c12aaaa9f049cf5caf0f937ae602a340264a93434b1d3a69dd0c4a8537834fb409ac82eb414ba1f0b6450c836b8824a73a232c5a3cc96c58b438a39584658b2546275c9f739ec2a7da92169c6586446c6025387aec7086ddbf0ebd7f1cb8cd0eac21517722717a201712755722ce6f6101e45c819d528f5556272cd073e27948685575d263bdab90a8fb10b13ee1ea1266799ee79d559ff4582b949ad4639db3bba584e2d9011c78090eecd9893f5667391888344a3456df49fc754d10699470ed5e85ba2a4dd92ddc4d3c6f4592b27aee08d1a3b1ef584ad9c76ac2dde71c9a210356976101e690a4b1ee660fe02232d8bb921cd8bb52ca3cd084a7cddf14fe589e91d10f7849680486e79552f65dd92311eb8609a0df6e0eabd3d1a94a6d89dad94463f5e113a5ad5e9ff3d4b31a0dc364a2b1fad59d4b742af5587f24e68a94a712aef782eb4c8f36debc8d778934f6debd22f5ace2fadaa467324b9326b8be56e9d995a6ad9ceaab932ff906e78a846bae494cb84ea7269c6b13ae975441508173a5622857255cef75f3a6aa0a12d38da49ee5d97413a6fe86d165be7174a309ae38dfe07c53d542155c3f99288dbe7e3651daf6aa24067c445a91c2f59cad57ea28a2c16416ad98cc22a1a64568cfb931691f60cf9e3d6360428b28931ada93092d9a4cda2bd2009359b4cd32ea153308e28910b3cedb82230f4b2d54a0e030a2d4020518dc61a9854a0970d3272c7f3465de26c4528b0cb6609838cbf88a485c4438b1ccf22409c3946c57cafaf256c96c029ed693b2be8df6429458aa38c2e04af6502cb5686982613d4e234caa8578447e1ae12cdf6f2cb3eca00a3c9fe549139e4658ea806993d616c91bdaced903b4d1d0766933132caf6452e14a8b12e01ada32779b155898bb4a5cb8de28db650eb09c761ae1cdd21a88f333547225d3a8b97c1227eb303243c4dd1752fa191245e12eb075503230b081d2b1d97d5c70d407069e1fd466b46dd787fde83d2298e2c35a87d26ac608c368887e7276528ec6baf39ea594526e52ca4dca6a33928e88d26f9e9c79723b777a44c1746c52aa23883654b0de44a567dfe76daaf46cf328edd96612dea694795de5b655f7aef34049ef899446cf6abddada50e9d8b469ea118ccc52cf749034992ad448f64c3cf3662403458649468a4c15322653859c48106596a90204ee6f463d9bd893a932ef66740331db3475676da0bc986ce46ab3946d96f07c11de26aeb683c29b6d2c86446eb04d130f62de8c9af0fc145eb281b259b08bd841617a570785bbc7d834e971d65abd0eeada24f5386fe384a8bb36487288da2251df05442538e895a92265f3066f4652c68368a3d4b32c03031b241929248d52c954b16982a74d129e483aa86ce384962163f3d99b978101a5656c3fe0f9794a45699b918cf12037212ad779ad8dcab045af87751861a9a3a8eb4c0b7460589cb8b3ec000c9c9c03eb11c416ecd90442c260332c7cdf47ffd9cc59b96903e739e7141b6c2c35286cd6e03ce79c95a38133c771dc3402478333c7715c37336763994a72ce4a8039b425d1581699c6c2fabe18a9ee89f5da564e5236c52a8e1343f08a4b143d56f7e4adba16cbe6cd88e3ba2a5236b72b62df0b2915c7b9c0d5595cc7ba60a61cc7654f04690e3e0fb3e68c59c980fd846ddefaa99f9ebad622f6a7525263f994b2c9cd9612fb1dc7711c47a7a4ec95e640ec73dd69949489b8ebbaaee3388ee31a0b1745ec776f2c62df9b73ce59bd2cead8a8d13636e67703ca70de7c4355de9030f72d8bd8e76c42a2f9a924cedb9f1c576f6c6cd49877eb66d16ae600e2fbb06429a994d4a339d8b0544a374ab72a2595924ad9b649ebf5384129ff891edd28dd24857d21d8a2dfacc887375465d990e846e9d60ac116fdcb8bef93a0b41bcbfb569b87b394544aba6d4ffdd44fe27cd32c259592e62d7b59096f9bd7e123f4d3a3b1bb7db393bb22ce6fdbb66d5ba63f969d459caf524a29e5d6492b1c1671bed2febcae57defc58a00ce5cd374c3516e23c45b229fd1207a44cab307d5b11e7e9b6cd6f7264d1d32ba54cb676f8244efe260dec58df4b12b7d914cca4a20a67117403bfe0ec6d461d5547f58238bfe64ea58ebe9c1ea9ce289f785460218f3cb59176c4dd29dbebe5bffa0d47ceee19e5a1ce9d99379fdb08717b5f1e69abe3dd7757b611e27cf7b96adf23edfa7d33d7492cbddb5d2cfbf2ce3bf628a15eb832afc286b3bc12809e95407c01869e513aef6c82b8a9204a9a8ed4a132585eb92285b30ea6b507b96def96209219dc5da407523d4a3c1ed34f24c47c4ca792d81f8fd3b3ed7d4abb8cd1d3632a627a2868534a69f795d026f4948983248e3d521e4cc1c0f42ad0d71ca0b3437f8ad33439448fa59c75fdfc551af7292fa5d145901ce939c905d35759034cdf320ba6bfb20748ca688da767c794c7b54562c13447971c39707c8103c70d2f6edcb889bab9b1c9818d8d0d1cd8b051e306356ac0b8c060355dd4d4d0b0010d1a345cd0d0cc40cdccc86c212313a3454cccab06af97b845145d59b85c2d1ab45a211661083e81e0a7e5fb585958ac1596d5cabbe2799d95aee3aee0b86a05ae15d32d48f6500a247bba1bd3ffc89ec9d333d943e94c8f21154156976f88382f8d783465e67021581af286bacb8bf2333db3e91fd6339bbe059043f413af2ebff1d49044219e282e783e034f303820f39c059e09524f8ea09c91b14d8e72cc4b887898c3dc558203ae32ec3bcebf67f3f3383d3b0c511f96589448026731aa2bdda269de250c0e401261a089598cbc78a0671910a20a9e47d2b429c364199575f09456b003fafb8688dd39a0c7b9ba19095ebdb3790677ddcac690811e2792eef35cd8f7ac033a36ffb11e43cf56b7d575df7387bb57e95381f963beebbec99ef0ddcd7d6158d9183c2188ab6719e580d58da102d3e705f9637e4a2f483a36cfb22151067ae4fedd5cd45d061956ef7eeb5f5b19324045ec673985c448e3d5dda46cf522ab5c7187399bb923b9017fef6cbee1bb50670049cf3ab96aadee128abb6b63e4ab817e77aba19d38bc9b94752ab0c075e742a2ef2a74dfcd3870e10a1b4b6207f48c033330c4d075d7dd289e77393083b9cb02e81111556021a49747d657911e54c159d4e9591677444acbc00b4b2c489c81f357586641820c9ce514ee583a7c72486e58b090c24b1a13f5e5152c7c3354789e09b72ebe0a6e1df4ecea7bebb01e33eca6c7f9d685fa932191d6bd67576f9be31f053d2befb2392ec302c8afee85445bf004c38813b74223dc6fc6710f077acf0a12a8c0124b2448c17db06736fcafd7e3afecd1de2ce2df8ce37f5bb1c7f02db757911e28f52871bf653f43a2fe2fd4d67a52ff2eb13d2b24b2b659a10a12abd033a9c50a2a33793bf13c43ecebdcc75b57a1673a9f67a1ea5815fab24024064789d91cc07becb18b43ecde8b8664580039c4430962f6a43ad9f3cf7b627842981e11a66784e925617a4a981e13e64cc7e7573bcc990f736629adc7d7e38a525373f6b0e2944835f1d760cc8a3cac1cfa684525f1c909565cda8133af63fe5ab1c98a547a9ce761e7d06de398a53124469921caa1d8f338529a07f5d752ccbe94686c5e6e2fabe3de0b6375e8b0452089934a4b162ff8cb5284120da32c495474685ec7b5f9a584a7e845fcd2b3203c5f4cb247bea4f4acf5f999a99712a5c56e0ede893e3d27ea84e77fb3379d7a9c4782e724b7d76f736f5f4bb7333ddadc4ba4f1bdcc52832afcaf9028ed8826797962c335f0fcca68453b02a7482c4bd800d37a34492b60a8ae2de2832d3d4a6c6d91306e8b8431d5a3c46254cfb2a8847b96c5280ca5674098e2223e80ea5162a1fe8688a212a5bd96686cdef344711e41f45e4b466832269518736fead79b92ea714a795294368724d6b12191b549c02a87211a12a1f8851ee72c026dd2d085bebf9e17226268e590128a7f167ad637bcbd0c893c2fa1b5e9bfde67599bbedbd3d0b68508a23765af3704d1c76d3d7b529b94857228043385fb20982a5c034b2b4848c25f832b6b9300791ceabd7b1707ef46b2e7e05d5e5e862fc82ed473860490f22d8be37a3d82aec394d09b2f621fbc47727c33f848ebae1fc9f1d6735ca85b77bd2d518edfe6227c0f3c8e3c3198e35f832d6b63a4ef7a7f323402ba40dbb2465a1d82b675198a60fe5bc7f16e1d478e896f25b6368b18470ed7c561bd9001f53609905f7d75731892a10b7d57dbcb21cfca219795f8658b9ce04b8f12c75899c5610e6de0450b1e04ef7a781c4b1a8b775d588fe05ba7610be25b07ad0cddc196b2ef7162cc5a82c2626249c1f93caba96799068b4acff20e56959e651f2c2a7a96759c7a966baef42cc73cf52cebd8d2b32c03d5b35ce3302e3dcbe367a27a9651f80b8c136a35ec34daaaec0bcabe90c4a71ee751b0afd7c7f1333397a9e9d0f1989d1af76177e0dcf89dddd2be02f2f995fdfcea7e7eb50ab29259d5ac602c21ac1b160eeb072b69e7f32c273dcb34584a3dcb3a8ff93ceb898f1c19b6a99753951575acec51e73156f618731aa7b13f7270707e8303bb790dcf6552f88eda2fd06dd0574b3f9f5f415931ada4ac9a7a968556547a96efaa4acfb25d51d1b33cc4a967195fe959ee79ea59deb1a567d9076ae8f32b2e3dcb400efbfc2aaa67f9c7653ebf02a367793b006c0c5bd4abc98a3f56641a7fc88c400e83dde76687953dee78cf102b7bfcb9b5b247fb6b658ff73b56f628742156f6e8f32056f61852563f89b03f4e34f643458f3f3f4d34f623a5c79f9f9f273dfe284959d24f931e7f7e8c6a617aacd5a86a5f7aacd5a46a60f458ab41d588606b35a71a153dd66a4d34c644634b6308e1e6a02e624cdd1c944510807073d0143ff07273d0133ee8c1cd414a8421757390103cd8c1cd4067e8008c9b81c6e8f2c5cd405dbc88ba19288b1ce0e066a0296ec0e566a027ba9836b81948092edae86620219a60c5cd3f67384d71f3cf183190e2e69f2e4c2c71f34f164f946efe99e208236efe79a288216efe51a2091037ff0881a5944d1e6eae9d81a59431b9b9368694b22437d7b298025f865e77254528ee2e118a0bf09c274ac3a14f3bdf39eb666f87eee03ce1facdde60a2b19a1ca89ca81a508637dcf056e2ebbea99e3179fdc7c44a9cf394136594048c9e4da39e2579ce961eeb99d81c2e395039513960e448e53cd596729e260fbfc1ce26a7098966131a9307206c803753945663a2312a4aab357d9f0d2843264cde4a78f6637dddd7bd4920d69c7a368d8cacc4b5a55a6da96712f390a446a56793879e25790d8a1151925b63fa6cada90a17e55d880ab5676f788d9088c9fde1a35303d1d79ad3f80d10e28e0e148dddb881d4e38d263dde48ea11f61bec4d981e6f18f578e368e785b1b0ede513c9b60f3eb7d8eec1e70eb6c3f87cb22df5a9836d1e7c6ab1bd8317d9d60116db607cd6c07697d6c1f6175ad8f6e2338beda8cf2bb67330b3b08d83cf2b6cdf605ab1cde59306b6bbd8c24abcc4c36d038c6d58c486059043459f56acc4f30a1ba5e8d6962e38afb0b5a51e6b5074b850d7966a507a36b348214612403f00f1d0406200e1041655d81a534d4aadc8d6aad058cd49ca6a577aac3dd1580d4aca6a5c7aac45d1584d4aca6a5eba364563352a29abd1606b5534f66324653f473dfe20d1d84f9294fd38e9f14789c67e96a4ec074a8f3f4c34f6d324653f547afca942633f4e52f673a5c79f271afb8192b21f2e3dfe44d1d88f9494fd78e9f1678a07f6874aca7ec0f4f85345634046520674d42310128d0125491990931e8194680c6849ca80a0f408c44463404d520644a547a02a625820272903bad223d0138d0141491910971e81a2680c484aca80bcf4580f020b3445634054520604a647a02a1a0b3292b2a0a31e8390682c2849ca826cb0414a3416b4246541503c608398cab0414d521644a5c7fa0fd8a02a3416e424654138d8a0271a0b8292b2a01c6c50148d0549495990171b3445634154521604c68a1557bae0c28a0fc2b8a276045c5f2323063ce82085114530d104134b4401c5132b562875c1c5113e08c3889f23e0fa1f328ae04187218c28a249134c001105143f58c1f540567481eb81b8f041184c808e80eb81c8b881071d921881eb838a6802d70731217fd4b3a280c20a2b56387581eb83b8f001ae0f0a23e808b83e880cf9a3fec3017b093b77b8477387cf203eb9b0cdc569b00df5d985ed2d3ea1d8d6e21305b66bf06903db5b3e63603b8b4f256cd3e0f306b6b1f84c81eda7cf1cd8d6f2e902db593ebdb08de5b304b6af7c76b16de5d304b6aff8d4816d2b3ea16c3b7d4661bb8a4f1ed89ec167086ccbe0330cdb547c12617b8a4f1fd88ec167926d293e7f60bbcae7916d187c06c1f60b3e7bb0ed824f316c53f96cb21dc5e718b65b7010d886e27308b69b3e7db0cd82cf22d85ec1e70a6c4ff924c3b694db60fb89cf23d856c1e7126c3bf1cd36d33d603bca27126ca7e01fb08d82cf326c43390eb69bf834c3f6099e836d263ecfb0bdf469c546d93e6960a3d0f059859da18dee109168eb1194dc4bf60836eb422dbd77dd15dc9d068b041bda3e83b03ce0606434d44b7c62616b8061d63fbb44c4493ae979598e00037b078088e716d6e704d3270573f451c11c7d5630633e339842ea7d6020695b1472c68a2259207d9e9033ef49ee0e543721673b5dc8b156217b92d89a53ad4a8d4aada926a5c6840004bc7e4a597d2389b38ad7e76ce9d9cc92c325472ac74b0e550e989c2a9991ec489624732253922dc9a0c89a64546455644eb22b3228191759944c4ae64546250323abf261e4e3c807928f241f4e7c28f958f201c507938f261f547c54f1e1e4e38a0f281f5c7c44f990f2e1c507950f303eaa7e18fd38fa91f4c3c90fa51f4b3fa0fc68fa41e547951f4e3faefc80fac1e547d40fa91f5e7e50fd00f3a34ac748e74807492749c749cfdac804cf3661489f89a504cf3d72c878f6d141fa4c2b4a3ccb2c8a903ef30a123ccb2e4c489f1983249ee51850489f2985d2b33cc30ae9339940e2790ac185f4994b1cf13c950843facc2723789e4fc8c8903e53c9c9f39c4207e9338f2842fa4c2344f03cbb30217d6611453ccf31a0903e7388a4e7798615d2673621e2b985e042fa4c2086786e1f3f84e0b97d90a143114c4061051761fc204387679a05d62942fa784f6273a6725836a7b33951395c7276ba48c0eb77a012c0c34d706d4a707b3cb93e4a5c990509aeec92c49563285d790612770a71c49d4a8ce0ce279cdc398511776621823bbb1471e71849779e41c46d2186b8ad44086e3fd1e4b610b7b308e27617206e8f8174fb0c9c6b4bfdc3a542e05c5bf2e152257ab8f489a34ba7c0b9b6d43bdcda92ece91d5efff50e56e2f6419c4f4f000f570991962b21c01c9a415ca87b874dee40f52ce7a977ba90b39c2ce4585f77a82d51da0ca26753cbeb6b527a369f8a64cfc4e2f5352a7a3669f0fa9a537ded49f6cc2c5e5fdbd2b3b9e5f535a8fa5a94ec9935787d0d8c9e4d2d5e5f93aaaf4dc99eb9c5eb6b5f7a36a15e5fa3aa55c99ec9c5eb6b617a366df0fa1fa3fa1f24d933bb78fd4f939e4d2eafff49fa51923df306afff79d2b38983d7ff2cfd30c99e9983d7ff48e9d98c7afd4f53fd4f15d933bd78fd0f153d9b5fbcfec7e9e749f6cc2eafffd9d2b309c6eb7fa0ea7fa264cfd4c1eb7fc0e8d9dcc1eb7fa4ea7fa664cfe4c1eb7fbef46c4abdfe87eaa74af6cc305eff13a667b307af0732aa0742923dd307af076ad2b3e9e5f54049f5404ab267fee0f5404f7a3681f07aa0252026d93383f07a20293d9b53af076aaa07aa227ba618af07a2a2675308af0772027a923d738cd7036de9d9fcf27a2028a028d93387f07a20307a3689f07a2029a029d9338bf07aa02f3d9b54af07a2aa07aa923d938cd70385e9d934c2eb838c829064cf3cc2eb839af46c82797d5012a5d9f0fa2025d93391f0faa0273d9b49787dd012a579e0f5414cb26796f1fa20293d9b55af0f6aa2b40fbc3ea88aec9966bc3e888a9e4d25bc3ec889d270787dd093ec9967bc3e684bcf6698d70741515a0eaf0f8a923d7309af0f02a3679309af0f920a9a923db309af0ffad2b336c2f25c9b420ae933b15c79ae658185f49957ac3cd7bae0fa9a17d2675ab9e2b93606aeaf89217de6153178ae9d81eb6b66489f1903299e7f840042fa4c299878fe512209e9339958e2f9e70927a4cf5ce2c9f3cf1452489ff944e9f9270b2ca4cf543ae2f9a70baefff142facc238c78fe1903d7ff88217da611453cff9c81eb7fcc903eb388219e81840042facc219a3c03299184f4994d8078067a02d70339217d26103f3c0301fdc0c33310100f46cf405d703d9017d2671a3179061a430ce9c3e48667a033703d9019d2e78624cf414200217d927ccf414ae0faa024a4cf97839ec0f5414e481f9615cf415348217da6154ecf415960217da6d39ce239a80bae0ff242facc29bce7a031707d9018d2c77be7642177b84a884cdc84bf3083b847536615592ed45287cb43d54676e74913ec8ed26677929860779a2cc1ee20e560778cc2582161ceb042aa70b042a89460857c31c30a99fa8015225565858051861512e5012b042a0956c8162458214f52566f8315e204c60aa1e2085648152913d264042b440a19560893940959a2b2429e14c10a5192b27a1058214944b0429a0cc10a41923221465f6c903063d820555216844a0836c817316c9029290b223565838011041b244aca824001c106d9f2031be449ca823879b141a8f0810d5245ca8234f5c0069112860dc224654196a46c90273cb04194a42c48d20e6c90263ab04190a42c8811181648982e1648959401a1fac202f9e285053295020b442aca02012307164894940181c28105b2e50616c893940171e2628150d185055245ca8034d9c00291c28505c22465f53458204b5016c8932d2c1025290392a48505d2a406160892940131da6275c2646175aaa44c878a0656e70b1656674acaea8bac8ed493d501438bd589ca6275b860b111e34a0f1d33acf80071451649c4a08b1352c831a460429e81c5124278f144092062283d01c48c23a600c2882c9228a28b1343cc31a46832cfc0020821bcf8a1950822060ffd4410338ca60082491649dcd0c589246348217fd47f7d0616f2473d4b082fac50420ca7278498217fd4cf29a60042fea8f76c16782709f9a33e851fff76546175a07aac34984e1159f7c979ea9957f31cef90080df66e2d8bd967c967a96799878a8a074ccf583ba87aacf7ec8ea91e2bce54cf6870a67aacd781ead9ace246d95e6dd4dcd4fce6df0c2412878044e2cc6b4b3630144b586a693ae281a5962627b8c684943d495e6b505458e05ab302d74b292505ae5f921b442565f5394f0a78bd943fb002feddfc63c40af877ac80b3ae029e4401f76e1615f0eed299e78a446dad85c879da6144695305afc799923ddd6b767918864b49db81a186e777e079c419676ac9b38e0e12a5cd283950f53951f53953322419934c36e503c907938f271f533f907e3051daa4e2f53f9e286dcae0f53fa6286dcee04f72338c867f378f3a9927cba72ca1b28cca722a4baa2cab26529e49792a4da63c9bf2ac0282e7f99427549e51732a4faa59951b2977522be566caddd455723fe586eaa8dc53b9a9ba2a53a44c93a852a64c993655c1b922559981f59864603d242a6c3745635dc7d4217153dc13c7c421d5a9fa5499aa128dd5241af39e9a683a01d39212099292a04848548d80cac99408a284800aa2917a87d6a18b3a87c6a13f303d306d982b9813044f4d557a683a624a522222290413298a2a13509560ca055138572409857345923c3857241d1a6c45a276078ad270a6660c3ec5bd9b5d38ef4039511a0daf8f19511a085e1f9ba2b4d9f47a1e52943695787d8f274a9b3078fdf84469f389d78f539436a5bc3e86446973caeb634c943657f0fa58154a9b3dbc3ef644699305af8f5151da4c7a3d0f244a9b50bc9e0713a5cd16bc9ec713a5cd285ecf638ad22695d7f740a2b4e982d7f750a2b48982d7f760a2b4f9827fe07984f2c0a714979466c3e894c359979486c3bd1d9e44877fcfb1251f7ec3d1734c884fa320ce04e93926852b119f3c84e0998711ae23f804c2c9e70f2278e6b1842b093e8748e2b30912cf3c9c7035c1a71125f82ca2894fa5137c1eb1f4dcc328059f4fa03cf758c2d5894f26983e9788f2dcc309d70740c499a2b49c296e76e5c4e07e394f0d786dc01bf0ecc239e729caf68f06db0d7d13a481061a68a081063b87bece5bb5a2ac706da9c6546ba2b459e5f5b52a548a9bc7a859c58e503456bfd9f1090636c7e805b687940b6c0f272ab6c75214b687510b2c0f29282c0fa726cb6389059687d10a6c4c6a8a8d3949b1b1a5276ccc4805769472628a892a4a550a9e50000525aa891e4c2760e2e61e4d4b4bdcdca38a097a2095e0c9cd3d9294e8a14482a924946ee64185c41137f3a81ac19313236ee6012582226ee61195c444c41037f3680a41939b7954118207521040dccc2309e9879b7928f930d503d5110f37c7aa70fddc41072b696c1add1c83c2f5454c6e8e45e1fa1c98703d0e56d2d80d37c79a703d08aae0fa0fc49070bd07aca4b12437c79270bd0d56d2d877734c09d7d760a7707d07ec4885eb97d8b10ad78f4e348c4e74e73e3e3ae11c853eca766f18d13b84b342ccb5a5295cf3da52cd73ce13cfcd9494c97199cefa2c055515b181bbcb7d2106559d46fc6870a678a8282d058f7579603cdfff3fe7e94b012412f30e146e25c4fb11d1d169923a4c327c416729674b0e54ce530f0da540e580574f843920052a6c848950db431d12c47b9f2bd4f6d037c302f410bd3a4b3456858c282d4729a82a67c9090957a1232221a41eab90d10b415534c6d423017a28a88ac6ea9b0462f659027d967c9682aa46a71ec188d967496789d27aa8f35982c2d4330e34f5aca3d23324557ab601a79e7d579eb6f46c86d7fb70e999f77a9fa89ec9f07a1f307aa6e4f53e5e7a96e4f59f671b2799c1b2aec4b22e83ad35f5589fc4d6aaf458fb9b1cb0dd3760bb23b13528b62625a496a88449176cd3a99e634ecd8c4020000000f3150030381c1009c5e2d1384dc330fc14801096b05a62220d9320464190318618040831040080009001981999a9019002f94973c231f1b7c43749f68363013d6a5ee910c560b80d0121440fdcc031606a0ed66c64121c031366f0f44556e11880160bd651e4048e01cd1294380ec7fc720faadc701f38566c5afffd9abd71c214c435fc5d8f41d2172ff936ea46e03e6345b3b7370203033b0cbd6b5910f625ad788df44e7c653f798bb72c1f09222432395e76804a86bd48af0209e7950abfd3072a988985a91084f498259223c2cab1303bbd5684f032d49036040c3116c0584a3412e17f711d83b35651b69583f7234ca6945328f8eddfe26901f1350946f54912e2b8414805e167e5cdebb64462f3ceb244456de6d1b3f9d984f605397296752a979928b6e569548f5acf64fe30cf16653a440f1256bd1ac54170794677a9c1cc237704dfeb6661949af7046a14d33b2e9d4871b2b5772c4421e34c30d6a93e5a2854486d7f7b8e74bccc41e263aa7578c7678ffac333394a289f2ff3fe2e4b3a4ef92c2ca635370f005fd3c162a1280629cdbcf5c2e5d0fbff4d13278a56ba6ab2d1124b31ec17bce49757333a7b275322d1b504067de837482d33a509a0f2bfd2e4f47b9e6f585a868619eb2b1cef00efb3ced9775ec157bb65c9fb9634de2def7a616efa800edcd64768abdd5c0a8ed9b26c842d371b3fba5260915ab88fd9be82055414e4e496af9909ad4f6c758983b4459e0ecd656f4893b816ea32b35f8924c8728cf4c7648f4448a524a97625958460a530098d4a36a9604a79128d9484122565fa0139f2809e12e6987545642da44a99c996e5a3b0a3f7f198094b1ca759226339986cc94bf18173c9d52419abd8d9a261dc15bfb477476c32ab772716b758316df9844d6495de89e216b74ccb44c0e633d0bb11719b259a56464d99ebd51b1d563d1bcf2471af0edb2ae139620865f8ced2bb9d63eeadea769e51dbafd28e7dcc367991532bf0f4f10779af461f42684aed1913e4ec9b34ef02cc9975655f39790945ce191efb62c6db52715e85d80b18dee6c199c2c0feeaefaee89b0feb7546bc5bc96efe77681c973cdf629adafa84b5ab1a6d1634eb9bc8ee0562f3ebaf9eb2eb0e6dcd19b2fac556b7916ade388000952637c50f97faa9a40b7034e726eab353e8b6f29959f074c839f7e1cd6caaa603ccdcdd30f3d0a55fbb7f2752991f502a404f9d0830a4b9ea38898d90ae8ddedaa262523c24dd060b222e70e86317a5533aa13b1e5cc8d922cef9ed1d3999af5b6c0c786f1d12396eef62b1f26bed2c921f1cf38804c0e908e5be199cb95dfed15b6eb60be4b78850ad77a15d0f06c8c68fe3f2ac4fb04357e70cb54d9af15c0520c2882ee586a876c4e772120bd0a230f3442742891fa800f8b0a5f4cec2168be19281c6cb80f41cdbaac4645719ed2af63dadc7dc905c21d7fd8a917098b9fc64cbf65816fc64b858d869c439cf53153a3e4f18bcf50829ee5087befac30496662c9f9e5c41918b4f21d781e017d78a75be55ddb73feb5d119a402963669fba74d656ef9161e0be7520e3bde89e050a6a756223be6660824716bc05a49b5130eea81b92fc90d2bc5f5db14486e254335df66dce31606f8ae61ae2f5052b5848f516948e6471e12d14c5aafcf1062c907aaa42358e6380c0bf69a5407bf10c47e2a7faf451929280be8f3f89ef6c1286a731441190f375c06f8e66984c6b239f57b2013333c23b735bbc73efc7f826ef06fe8040c688cf844621e0af5174b4d602f6a3e3c017b429ad07bfb090e931b885664f73412c148d9a0e80a12dd55270557c7b95bb0a060fd63ab3b099e26b3040e2094ad3dfaeeddc55d1ebe4de8100db0b777bfdda70fdba2d5c8bf480e5baadc95b71bf4f7eabe8831c6e9d24669b51420c6b9f204cdb28854fd072b7c02c2788da93e514a15845147223ac4bb2af19958861d757106f6d24e133addc2dc2ca69a246ad72444a559108b998ea2259d48c2662fef419c44d1b4df806538e16947262514ba41c2237aa0842ae1475493634a388980efa0ee2cf46257ce093a3053c3949d4aa4eae08712a3a211737dd24d5ccc844cc99f3e3898fa97c4052602ac47399014024591e03aeb2f5807729399b70929fa0349644eb3db2a189ac03e42488ddea719c3dc7ac23826ae33c0c195b95f0a21701b92bda42d157126b9228122af0dff6b0882253f7603ea22ee1109c4f9e40e00350fc114d16d43b69d7604363692ce5021008ca009b470e50ed9f365cfd3d03e9afc130fadb26af17375bf7d753197b2125af97722bfa1ba75c2fcf26fa23767a7f8074f65251e4fe46fdeb8f828c5e2469467fcc03ee456e3abd3c8dd24b987bfb5bb066639f47e997a1dbae60a0e88de48677160e7ab486d944fac5611eddb0626fd81be276986bb70d605dc4e1f093b4011738e58a0bf0b38b08f4faaf04151e328c8419900ae776ab02d035fa3f959b3d3df0e9f4f4fb91a02a48ff85f2ed1e48449b456ae0bb47172eb68fff649f1a280df08b7dad2668d7e5cde52c1fd8a7f773e4096c0d2f15dc765ef0413b1a395f9e4ea20d61ea300ffa256afc979fd6fdebdfc5d3de89fe87391dfbcadfb669a2bffd2334559dc6ff1653bbbbd93f5dbe3fca2e52db7326854ada38d068e01e5fffaf91f25e7cdfff82278556447839b8626d88a9ffd4957c75aad9f84dcad9e5c4de67453d8ded9229016ef2fa5d272e70b8d54784efcab9a36ef1b1ef6be040ff1b288332beb71c5cdda3ef149210f3ff9ea661ef5debe31f00052e36b3e6e5212fc1670ad0dec3286cee23884f84cde73b3132d315cee1f532ef8317388e2857dd1ebe37dc534997e618af0ea9c549e9de094045a86448a136dd0bf51616137783c4e1db699ecc9822f03f6c7a9041b0d9d3025b26ba97d03bce7d3ab2d219f4a0d7449792ac2bf5fc417189cb0060b7d581db4092b0ce74a58cb8a4e8950ebb9d6573778fce8dc4d45bb3e7e5eac5a1ae57fa6d7aece731b90d47d6a2c2c70fbac36c68c707dd010d74fa28602d1fd57030b217009f69eb031527153a8e2183ae4493522b15e22449e10adff016f440e3d58fdfc28f8135864806503ed2e5446d09de46fdca0dc62ca7e94806ebee440fadbdd00d8d7c4782821208cd40c69e686b34f40c96a6f953341b6bfb2a5612ed1743ce1f220cc289927681622e9131be6e3bb58dcca11e19c44ebceecbd548eb2c51398216351bb036cab793bf929d23c8c731d9540f8afe149da2e82c822b706c29288aba5ad76e4e1574614e709752ad0e83275532904bcd13a129801f8e8236982a748e26e6a96f34bdf8297bbd6d82916c471104f5745b84a440ef58485db2a7f54d485267c667a106fa39764446ec7641061792cc615f43d66d12911f2b62ad0b8d4ef7d834be9e8d2cc127a74a294795c11575be6f9cd3aec6d6d3b8fbae2e037606dc7c977edfe530c013657af4669fb3fa3b41044e1841f3121fa187153f053465d3b7b6ac3fcbbac1e432ea6fbc000ecdf8fa44d7a894cadd9ee51d6c7150b27e50714d2592993a6961dd7e9cd329827920ea113a87b96b91c4186e8f1d2af4108ce14dc21954d00ab7992241aaac3ba11cfe17fd3788685e5f6ca476bbfc727cee16432deb0bdf47d8d7f54ed5127644593aa1d6ec9a575c8e2a0d4ca16f14cad2851ad9abbe8e1c694ec11866c5e97450a2997e2edb6e096b8a9d272eb4cce01e20c48116a7707dd67dc2c8e1149a886877b1f332f41220daf1ad9f1674cdae6eccc18bb2d6637f1be2711ae663be8694ad8309c47d3d31643a7a0cf6b1c09a76696211b74afa779ab98b8381da98d63d97b4415faab5f8e3e4f2137e2f372a94eb23f645cad08cf98a0f406135b7b1ff4856ec13ef2664323e4c170febb2103ecc2d232aacaf11d1b84b548a1a96634942a6ea1afbbd96c827a761703822007461eb515bb6b0e71a2b4b73facc22c4d4b157259f50b1843634261041223f7774e99aabb3cb9eac9dd303ddcba064117ea5dbad1506f86022ddd20d7e2ad8a9fc590a19308bed7ad6263e6de9798775e0827ad0500400f38d866c01052c9d2244b536d44f3ef0382e60c0b30f486fd200faba645d1f88beaf71e0a965a005a7a37735d9c0352ccfc15542566599c6e55d5ef7947576d1dd27f3041eab8045df56ea01ec18c9f855027e5948edacee47de069e6228f1b7520cba1373f7bc37722f1f2930aba10f7dee1d662c26390c8c9b14138e6f2cd6a2ccd34eb1c8709dc925433c0b04d64fefd9e235d6d3608d15ac5b46701d99e6810c385399997d026314b682c2c74828518b51440e7456bb02e7b120c6ad0036140dc85bdeaf7ebc81ecc0128285958ee7e3865af41e919d7517ff3674db9faab4326e09361ec49668770176e5d4fe38ce5935ee5687f1a237959cba46f943515c4c13077caefae05947b12f8d17ab04f8b32466326fda03dd5356538df99e708b0bdcfce42059c17b61f6fe5f960195c244d6e797ca3ba6279c9f5e83b0b68f14255d455b1695713af7d792ea48aee499ce76b9108877348571e70d3b2b54ed0b22ecddd8f62ca0e3e400120168bc4b3a54ceccb37702a04041ead471a075ef16c8edb1025369df4043835eca71c6eae4197a51271276ea3884535e26477e38fb7b43eef4c9f46c435e08bab7157f0325f7f8320e2ca00b8e56c09f057d56e55e1aa526c9f57a66592796c62256237e34dc24476ce47d580c616ab3a84c6b2b410b532aa695788b432a087ab27d49cba28a2d5a3765194c5e6e320be34d74aac764f97b46379d5c11697303773635c5dfad840d90454c29b85fbddcb11eb60d561475770dc628b403b78633bd04f9940bf6bbc96c4837a42be32f110a562ddd6b847c29fb91e0ad3c566b0d0950b83d2da2c743c971bb0515eec76bfbbf7c533d7d7b8b1302cbaa9a2820c8ff56ac876f7b7f642d424645d5bd590e8ee43edef6618d849c8201560307480420eb0e77f2220a6563775e90097f8fae1fb6d051763603ba62705385372aaad05a4f5558a77b24b95e83e4c70150011b0e1cfa92693477c843b9eb7a0dab4d1c82702ca54c3c2529d89515a8d8c6b899a4fec350ab42bcfff74607368053ff383d4073649b001353126b63f547890334a6cd5c7d26e1ad842a51e9abf3b3321214e25d80c8afe81a5ef847d83c0211fc3b4edef755f65be3c94513dfc4658f80312b24e27ff52fd9829bfa519d63b0fc38a9a1a8895db07e92ffa0a2f33c900015cee13188db6ec6f21afa3687e9c1194b3a8ba688477778d682e3c348810f78558334adaedff7c38c7564ca4905eea931ff093bef41b450fea900850f12eba3ceadd95586b922cc3941b2a6b9caf3e2b680d8aa4d5d7c538f55d39e70ee1a28df7a1432f7e221b206b6e1f3cc5bca649a38b8253d111c477aba201477f16ab1f5c7cd8331e0f02e77783c9436e46bb0b180e00bd7c378ad903b0eeef3b8ad9e4dce14067bf630ccabedfbdb29737c639365d74c0c5f66094b695889378c07f5a2d449284b52b2e10a6d6a03a57d5031e3f92ca53bef83140be31a990d53fc3451a9cbb20d87368066c95d654a1eec9c713c09b98d4cf542db5b6b289288203c9a28813b4f34e6e0def5c59c768a3c780181333f462eb61b450aee626490c58a415dc25dca60e53b900e66af7580bd288435392c65cfacf6c27df4878f778576b135002952d684dfca5124ba6ea7186da7a1879b4461e1fad6b120f3e4df71bc070aa27f7e9a33e7393cd6d6e80a0559237aa097bdeff19d311840f81d7616b3f559afa65c78777cf3ff1afaaca3d31d4ef69509be90b3718a9fed209ace74fea32fe20e4cf96fff8c45d68c8c544d2c700a9215080f0dc321a1310594f5759c88e73e671215f9f117ddaef8360879b09585391d9060f1ecf658d0b925744ef45deab28beb02adbbe2042dd5ce80ea56f500f910d71ea9c51d626d693c000a76f8df78a966aed6ca7dcb47970af3932c5a787365feffa3ee9c58a4004af660521793b8d67b0febb196ef57c5a2367a1bf9fb2e37d9a52a5c85fcc2894ec69471d0fc9c1887da337c95c817e422a15721c72869d1f0ddfd7e93655b79af0fe2727ab4549c131f2590ffad2b63d954fae2d1ff9f7052d3a3ed4b8d6a8a4facf7d236ef2ca3c4170d801951deb81f85eeccd97be9c6e2ce6686b9e47a559e8e227c52e23ce39c7aeefe403bd901ca01108bcd532e40d72c57f48d7ae3f04b14872f7afe672eb0a8ee8ca62bb0906afe5d68a00b40cd76cebb51e4f211bda72a3ba5b7652fb7ee256739b25c5ea07e2bdbdd8fedbad45c2b5685751a35385fd92399d7a8e84e8f74c3b5aabebef74ba9462073ed5e7505dee4f24ccf983c54fe95456e38cf9b2f5c4bf7319d8b93ce823a31e41fffff79bb51867eac3696f9269d4513931b62c5db28835ca0a881fbbb044e4b4daecbad0c0cb561f6fda8f5d054ea8bebbff5e4a3d76871079ae440d9c62bdcf3ccb7af00a7add1c11ac8cf0c6529bb8c4368017dcea6d027bf63546f824e7ceec5fe08272e5ed188466a3a5876f34724ecb4f795cabfffa9543ffdf9481baf0d5ba976ff3b9d066310990656e4df0c6e670359ed7674123968d455b4e3acc4e8c95bc2cb903aa4c5dbc620db42b06cb022ab3ed2c2821bb918db2646f0b117900be9fdd58bb6487fb071636315485ec1e82f291225b818ec784ccbfebb26d100f73224ae67f7d932d50c42e5e918d9967b4c9dc454af78880374adf45070951ab1fd74e34dd9993df0dc832b62e83bacc2ea8b311293e615078f19c60bacd92b781d0de7239918a20a7621d086317d34c69aeb76bd589605c90ed7c6f9a449577e58a5043df396e314c1abee546f2520e7401d9f74fcb413c57d0d6e8e1c5424de45bd7418ae085406a058a1d13684ef1f0d4860fab9f87fc941cc59b4020d9cc6c620a03b36a80dafe269c5e532cc0b681e14b2b4b26f0564da5086ecb061ad6db4544c7648fa252d2b2f8f2a80136dc7cbda5d74d3760ab345d179462b25203fee1b03c0a3744507757e33db3a09d3043d062d69888b024801027f7bcf5cd861cdca2c566827ab4ba0e83f22b6eef58bc0d7bf7edff43a11ef8f79eb6a22aff52e137441fedf0bd647215bb02e58d0518cf9aa0f5a201a4a06b9de428359e01c24228ce8661ad3beb9810ca0a8acf75d3f4e8f17d992e5f7b5c68315226b8cdebe88eaa8d9939a089c856647cb1d0cb43fd5ca8c8338071d7de147394806e5f301e036b819f59ab484484a65944a20fae03b7ce09be7fd8acb02b8a8729ef9847c3bc705fd35a93c48a4c89c9442e9fbddb342590e699478eb301fca3eb7e8c759d6f2730e0a5a913b961cb6eb0c9169efa509a95e0a0a66b62822217b08dce081394542197704eaf3f4066d34dcffa3e406ea7cbcfb984de2996f35e2d251bbda40b0e9790527cbb1a73ae791582b94ace942335116c1b6adb8f198dca21a3d27261facf46f52e2fc63b23c5bcbb94a2bd643df14981a9574f21e29ec5416be598375e27dd493160eb32d4f8216b2bceca1d1bca43b547115f863a7a5e42d1763c7e9d9ebdfb3d0fe8a21664d2115c937e718adb60e9c1e2f25d308eebb7246179890b20c188fc03be873f53755732a1d8b4a09e387e8bdeb66e74ebc0fc318d735c927943b03a55c7b0a5c8bc1c8ed966efce370dcae17d9c610515c4e5ce132aa0d7b1e542d67653cf867e9320cf46b6b2e8a678e534ae92175c8b8b80d41342cbbb531df7938a23088625686eb60d5e52829f457b5501c35a557f0d48bb7b6492afa9392343cab7c167071bd9feab9449b6ddc1c872f21cfbbcf2393d4b38975c80a958ed65c8c774806b786961c40fbcc07e3eb09f631c69742c0c52caab9a54b09502779d3d444795e30d86637c7e6c14f9e1c277c72b4a84da99deb51fa7e4e62c2f1255fb0eb0fcc3e14ee5b96e647018dfe82f69e80345d664fe7b42679a1d7987b8dcf6109bfdd173c19003681998065406a31cb96dce87e62cd4af96da73657db8a1a45c9034a0903b3a707326b9b81bcb4642206a43726e90da13b559d729d12d824c40ea81ab97494f7bea69fa8e6a745bbf688bf1c407d90a3895451d05d95df882f6320e6346381b14a0c96e531a05181cb17c506688ee4d37e5bbcb0ad5dca2a683e4ee35c82795ac59f24ca2dc90165de1952304b6986952caccbc2b0c345934d48e97ccc8fbe51e58a0313a44fe001003eac9afc3dd5a525f490c38d158df05ee163df54c4e6c03ac8475edc75e56b6de559ed4ef4863bdb2de97df0f41cdc8d403148d80192d818857e1724b51695d118ce66b36525418cb2e580edf97f597bf923d3a8ca127f66496afe5d624b8fb0893384585bdf757bcd11895670668922f0a4abb2bafe7289a722113adb823f46de51b8649865e418f45b931d02813e5dec07c8768e4a878a2f374ecebc70c45c4f59d45fc1898a0b171ef22675b32cb9457c7facc85aa8ccaff0e6d792cb91d5c9c0ac2bfda642fefeb9ae9df1fec4d603ce1843f525e01c6a8b5e657135fe8b62bd33e06fc28f68f97f88210ed6b654328e81a209dab8860c426cbaa1b90f6870ec2a4854bf1a2ae7cd02ef4326d71e8a10ddc9443977b1aa7ef903ab16499337f55d14d1c03cbe3a673001f196eba9f15131148f7e92e7147dd341a13e5c5ba8c652a6fc27ee090b6cfe565984b23f78f1f1e1ea628e09d846d85a368c942bb96502d5a0ca7db31061460161814ff36b2e2f3569a7810aac7cc091dfee111568a02d3b27abff29b1b4c49dc1b1c8da20ccc5da0b3d2b6ffbe9a4fb18944e7464192587c741ad5d9b84a2b0dbf8fd9353e6bcc922a691bdcc5ba045de58dfcf3019b29b852dbd16d02b0cf4eb2d49835e4112a1a970967e07e918e8656d769718dc307b1f1f7d49a957b39ec1d1806b394c2b9f2d62199007102437619e84f933dc0595d160ccbc0046dc722ee4539c5063c2fc4d8ea9759c1133dace17a13b4551d87ed4539cfc24304dc2d851d5512380b0a0440f88d62c79c7095668514322fb0e4714a9802eab20370040a1aa48b3fff8fdb7eccdab7bb6aa766c1e0dab4ee0ef57811055efc5174d70c648326214418da0c8df6982daa5156dcea25f950b291ec0e516c0534cd17e060990cd7f6488076a42b1c381ea0eac935628869da3d87498ac5263bd47481ca76264d0bdfe51b3947c3e74a861ce02833e2f9d47b7fab398f7604138a313450a139d4d09128c798da4ebeb5769dd7d1bb29b864e8e80129e6852df6751097d58ef1d58ae306336804468770aa5bdb4400be5ba60c7ad4e4dfd3a4e6e2043ff70267dd3c0f5b6d202c148a054f31471e70123be8941840c501a007f48f2abdf0b43ae00c89d16d86a3a854abae7aa28835371dcb9c4037a7b8ff02e920db967f8e09caa11bd5bf430099db28e091f1a93d8b3ab8ade3e301f7155243007cce6acdeee1cbf48c3ebf587672d0054b08b1dfe3bd9c6ca1f0e7b271bd151bb8a0aa3d26de8b31f84dbef3059fd3b4030ec5015aa3aa2fc93a8ce15c3d1a07c779d079532025089070f346ba2e4fee7e03b43c4aac41349ccbbca6ffb339a59c4c1fe230d8a665710d787e64176f3dd31c3bfcf6464fa5b403ddc9744f87b3fcf4bbe265743eb9f2d45643baeefdfd916c4f4a8bcc8de6c35dcf4cfb72c4fef1a3187f72913f38efff3d2598ff0e804c012cdfbef72849329bc14c2a6a9e95b76863d36393054e076196c23e310f85c9d50e4e1b8af86df31044ce0cfd80253829608ba79e0e2fe6f6071fe506bbb00fce0a358457272cc45d1d7b4bdd98796f642ccf8b57003647c2cb3577d0f672526ea8e0645f94a49807b731c5f115a44b3155e39dd4dadd133058db9dce5fc08e45506a83d05363a6bf60d8301fa2bd1ae0782fa46ff946b82a74f8940f87a6034e324b1a92484f10c468140245963641dfd58192d228cc49174903dd18927b6156ab234c69bd7b229167bf4d028c0151851d0557774982c04a486b3669315b80f75ea02aef695cfb046918a23c54965bdd6a1a3782d3f14e65a460c6d085fa4f3eb313f856238cc55109d908afdb11c3e56993bba3eae137a63bd0b44ee4562e40fff2a0f8e4cfd2926339fc41f48836d9bfd59646cd2a6eeedfad2c2bdd6a2356bf722e8872f2350ad30b6e8cf0ba154e24fa18e89a5a2c8a0125953e66d7dba1eacf9cd1c7f21985521d1d9c583ea2ff4859cfd37973d6f4055c9262a33f3b6e6a02899fde256147136a3694401f639e170ae436234b52ed6c298c5e5d3c18866150c46beb134f9f60c79803ec5b1787fee15c5ff5e35cb48e78ff3e148e46a8aaaf7bb9662975d4c69bb285b67f2d56c5047482eba5681359df428b5504944d3554130883d0d7f99ff02f71a48521035ae2fe951d74a3ce2f12081b0a6b070fbc58ba37841d4944c8b7538cdf91459f04252aee0d9f1faa8cd198ac6d100dc81f8b5e4938c33f8711c502aa46374b32e5265c2bbafbcf966f8c1048c08e35649692c8871c8c04ad73c440977bd4a4b605a7b27ca8982c0abf9e51482cb89c8a30188d7694750b052d158856bb0c49b8684379a1a7aa2a7ebd72e7e4f1fd7bcf6d5a63cfe7fc831d04105647b3357e6f3bcd215f8b73decdf80f8db51ba775b4b5c5049543a61489c56a8f5515a1273162eb120e6313a0c9cf90c0d525ab08eb2775dadab421acc1e995816ede365bf443f3545c97c33b239a3fabae7727cd59f912b81ea57255df3574c555ce105d10cf20b44295d141d132149c28727470ad1a4ccb782fc6ea524933a7fa4a287cca47c513ee933c6d4e9dc51f012914c77adf7748a74f72d63fdd7409cb709fd4385e5184b448cbb80ac8385ec905d78b0c7c5dd641b277c1ec6a8411b5414c965a04f73560939307094cab0ffa0cb8e55babca2c864e267d94711846ce45ca0bb08fb072e9dc355a933c84e50579292b37646e2d5dcd40b7b6cdad49c33f528cc196fe3cec1fc1deebcfcc47782d767643384eb26f7d7288103c8e5318ff690bebf309593267571262b32ef81f46a19e0465e6d1931fc045861454ae8e76b953cc1f0bb7dcca25f897a6db29980bf64ab8fb920ccb5756ff72f87546474831f7122d84e7175ce45ed978b2436e04d4e223ef7ea0ee73d767d54d611dfdc8257241c191a13e3f6228a226fd55a3b904f6d73c95a75450fe6de7168597e42d136e0f27f6c11ba1c755d9be6790c68fb16c87f9919b75b7b6c4ee772cf0f41630780d397106ff67e2ec6334f79273169125dc7c206233e9b819f3d4404c71aecf507d7df392ecad2f2fab07a19c87480a426546ab6ffafcf89de48b2abe34c2aea8e62ab8679cf5bbe9ef992f904bb8908e8a7c5eab35696f1e26a4215333db67ca06f423ca383c2600164f1bb81b780cdc7c594b2028c1f80d20d00e57e38b8863b505b14833ec5ad58be71b2dec00e3469a6af9c44a7c69e0e1151827056d9ebaba6c31a1f5f5a1be469de44d207ea605aac410e725045823c40b3000ca90de9339c16125d8ec04f81f455be116a5408963270bf8ecfa6ca5c3ecd47e7510c65db12c8e80b2bdd12bd41361ee63e66e0d2c0d7d4fcecfe264768534f3d2aba0d5c8b6fd63cab074c7c449184fa4adaf53f33ba38caf4145e68061adef05b73609549bad0513ab93dea89bd3e833e10c379eda9b1d40b14b67086e00fc4b48d1eac389690a644da2265143bd967e906f25ce385438da23c1d6274e32a347374d51fb80eb21d343f164dd0fbc6451381df9cbd6b40d824aced4992212c13173bc7c07a0a3af2ae80c92583a6ed13614e99d26dbd5284dea8d82fa4d1c85366222b9e1331dca0336dc68de2daa9a796dc9453890c799b5a06b017a994b2c56a7666bd3558349beb901df1450ccbb1c9b19a80fa73959c4f44568d3314b3d0c4a36bc3041c708451540ebca8fd20a2d2b503e5e844c3e91f0c20778ff40496592cb08121962c2c1a9eca26052290fd5a143120d9a57922dbc4d30e73a8cfd52a07cde4efc16841c3cc2419200781e83e78938fa55f818f3e8b111bc306dafea57fc512e7debea5e56773fbce4c7963324d61c14bbb822bda555fa8efb1437aa0540cbe7c69447d7a93c84c307cb61f0d3059792d38ac60564370eae8e65ee9c498e1ecb998a3c9bce3e9807cd224df3dd389769512d6bd114db8a4c1ed2ac564d5d3be23c6345e03576e3299fbcaebfced293a6acdb0cc81e07dd9fa559f3f55204c23210ece3eb6f717afa831ea1f8a60e10a6f99a52802d050a3235a0ba7f9554eb8aa0af1fca774b41930ea2fc99a4ce9eb7794f5d8e72dcb5ea6d6fd3f4bbfe47a9dc028e83dc851a417282a5dc78ff33fab63fe1f0804f5df8a26b4c965d07721ac95df012a6b23d046de5d32946b6e4979417a1da455addb6a27e4bc78edd9eac4a0edd157fa7df03670d30d677d469da52ab6ed25163c1368dac3aa344c4510d2b71106b2a2ed268ec905bfde1eb40b0c3f797aa5e7608f923f37b5eda8e167c40435cf51014122cf8121c6c6cc1f4930d41d12724e3de87bce43c29d6f59282f681ba8292eeaaf9e02b05786ddd2c0f3c46625a48d36902eb8867ffeda754452b895ee1291d6d0b9e836562d392ceb264a70ec3320cadfb56d41c71fe96d610222db1f06d9463e8b07388694aa2811ddd5379609e79d7809f7255d771acd9e10dee8985cea03da9f225a11d40c83725de3e85858be65db9690cb99dbca66131a00d63bc33f4c8b5d9c3b137f5a8a444b5a43afc695814d6c94ace8294737ac3fe3b555d0f8d0eed8b61fc5e4a233329b81d7e4401d361b13801b15da1a70fcce7020110ca6883d22f2cc8114785fc25ac899050443fd1b55820f9e3badbb0eeaa465c678a20e0e6ceb24bdfa4268cc30ee757674c54f5930c77ad4d20162ccdbf37534948bdd1d32ec8ea02898493b8024ed511e1b4c85b432aaaa5b999d01251716b8f48aee65a355ee27652b43953c888cf4af6439f81885ab1190a021b31003b7bbcf313fa400826a413452c83904086bb2e821068497c47100577c24d81e5eb72cfdee3290b33b7b33dc9f0fff972c2fe855ad9b6a79558a4a88129952184e1dc77f2e8a822feeccd5000e6dbbff1727a23be4e0c2af03e52b1da39efcfcc719d5f0c45eb064fa799c295d1644c05557be0d68516c2082b47ab7aa3dadda17f0c50bc072e5e9636db15348d4b0679d9ee49e8fbaf41d1f9e9e7430b4c0f98aa386983c93354e7f732461be161cd736491ef1c933dc237b2f977ee73052dc3aec228c39ee98a355a59d5db6d851a02a8b94065fd1302c2fc326eb3434d0dce630496bad4fd115a5a771c3b0cd1c83de593349d7fbdfccbe6fe6766f812e6d5d11d7a9676f29656c75762a7320531f7d8a82562d7f433fb67c32dc2b28a34427abce75d42b85b575aed54be6ac6344593008db10a09d6593155a9fa0bf5b81775851829cb0fd79ed4819e3203f1538f8ce63cadf2cbb2996e5904aebd2c5f69bbb85c8912407e6233402c4519b26bbaa01b9b34083f3384289bc2f6562e9bdaf8875c040b66953a6b662ee828cdfc1d82eefe11bfb67adb867ee925a1d9bc6fae037f6dacffba120c1edade2c7fbc06bdcdfbf91283586085b9c59df32cbb10924fac67e13b84b2d330ff2ec7b5f5e6f282cb81b6e8bb48605c6cab837f4c65fd37a46dfa26831b7480342cfa3a74c85a7d1f38a18508b02eb78f1602d119492c7e940ee5ffb56e102f797db9f69012429d40a283dfec629d14a1bd2cca6eb2b305e66b734825252cb69a178ef65b197f27ebfdf283472d7709b89561c2401ac83a4f56f9c52adb4489a899ed587b50fbfccb7b486a40c26f84f6037e29a0040ecbe351061d8c2f13415ee7a5197e3639395c39fe5868d65f9ec9e5ca138d93066b8619caefc32334b3aa5906e0bfa3f3b715e2bf840d516001fd0a3f8eca07159ec06253e67b994010e139d170527d87ab4b1d1053b531e098e62481cd6d41fa913c34fd1fd6f36ca4ddbfd6098bb9f4131b768c2a6892b3cf8830da33a885205176b4e9a4f6816a767c73c3514b19cc6829d1600326147058aae9c302e11c1bd45461ff628e9deb83453e7697b7da4e42bdc7fea7cd39eacf2db91618f370b1e02e01744a38846498222dc1e88c2b064002d2a895e587685c1c636505b0df0c2ff21f37c4f606811e71d665ae3853ec2459e92f4e6ba91def0a9ecbcbde05509ffc391809b44ddc1e2d08908ce79331080ed848b491107452ed4e1409524c2d6203dcb1ae38e43f92118940f06e3f0977c93e11cb3a06ef303f4ad6a99bc1e3757db34b55d6df39a3c354c5276072b121c32ea306bb2cb5ceed809c758de67b1fed3efaed6a6f9191eaa4680c6f073bc607b52b86584ec25103bd74c4ecbb1f849d9939322825b65e280d0df2f59193956f1fd06528c7664e6ed8f1914b98059775c1135e78bb75a40df2d0830f2cd03562a10f48650838207c543008779fe4e411849a4a03a7b8866439e4d074a4119a61cc56a373632de816e5df284cad3c7549b02789f999fb890c2b5ab990a3fa0493797a9f359a05dc18510ddb83da52bd2ed260403fb7702804dc8934b6248c717d93689e1a63ef407c1604ea8db0d3d6c9e70042bd4aea9e298923425d1fe13db5b69ae1bb915bd870220836d5bb0ee1113154785096cb53e596808f3979a212933a05b8e3c57f2a9a5ed4a306d37cc1fb47a1f2164c17304585196035271245c2b5c175e0d998e5e983353037f361f2880f8730571c968c642c47772c73026ee2fbc32194632f9d8e4001352059e70e2b322d0bdab640e457e0c9e798f023212241b5b98fa1832eb2b8bec18f579c1ece4f1f059bfb1c7d8f3f67bcdbc968a25f49808140a630472c3aed41b0760c19c5de5fb0b842c1ca0e4b39e370738a5b773f423287adc4db6289a01f342a5b0869e82013366a2e9ea892a57477d2f34c1ea0b0a33d55b5eadf14495f4b056d593c98a623ce1aeeae1aad09255d03f5ef9be0f83acf8748900b6459abebdb019de7ffe87908939d87923cc1fc442c31efe52c3503561b57fcc1828d5030610ddcf763e6a753c909f8df8c43070801386e81d039b1fad751fa89c553e1384c49a00fadd8c30e11223cc89cd78e593e08d30a5a5e0f29ecc119c9403f4df948690771b3c910fec37a733189e34fabc161a9a3f64426a24a06872cb6048055c91a0b08595f259290087b3728143f41e372eabf5b7ce596f402174c8cd61b500b19c2d05048c0eb909abcfb7d8d00d58937e6385dfc86a6d161674c3ac2a9f62fddc04ac5d03d8c2ca7bf3b29effea9c9d0d2842dfe36656960dd8bd6f2856bb01e486cd7b73d6769fb1f7dec0ac2c0b30c2866ffcac7e0fb063436ec09a340b4babd421dabfc305a8d6d98240203ac44dac7eb361c36ec09ab01d2b7c43562b9bb0e0fbc651158e7841a2d18f22016618120a18420bb9b1acd67f8db3d90203f490db6135ff919c350c58440f739bd5c12e2ce88659557cc606dfc4ac361660c20edf7c5631005991278c3468ec7fd73880a037c44dac3eb7016b09b814e1d7df033195402872165ea9003770520788828e22d00b19e52ba633298656644e64261fd77cf01a939e8368a39dc37eaf18d934f28b7ebed042b4a4a093a397ba7189dbd0d90b488bb0702242cd8d34e59b2bfde3dc547f6165f856923cf1466095f50fb1c44bd44a204fd3b7cd45cebb38bc9748f482927797d09e7b4e40252e69f267e8a582e144fbc03ece76337ae5402704577a937faf7a004f4adbe04e29a8ded5166edac6a23ef95afa72eea6b501244eb2a482188bae42d1b696feb5f11c99e2ab2c82c927fc0efea2d8173038328f374a588ceacf8f1a0680e860e314b2cf2faf21e9b039a3327845770773bd5914c3d421ffc88209bcf18f2476fd9a93c22ea6a2b4b919843fc8b586208d6e3b91169525282a528c6fcaa08d2359f2f28fc046cd461c73442f8002819875baaf5f0f27de1d6874638e0d682eea9e09e43f1681f69cf082eb0d4946f5ff063d5e0878a51bd9ddea27e2a2dd74974544a0fec81fbfd5036384c6056acbd200f3e3e73c6608fcf864ccc254b8ba95b416593130fb99a440bb5d1aa07112e7139ef3feaae5de4b989d1179734670bb19ca0cbacef8af33af929effcd624c99d308376d6acc913c13870d3bb082a2f65f9dc5447d00f701763969990b7e2358542c12fc79091f2377c0c335616bc48ba1431f025a4a0f2c81071b251cb7bf139be8f98600fb17201b268e16203dc3236371a027b228e1b3df7af0a9b7e121824c225aaedbb6a1d449fcb81ddbc409ea61ba01d1bba6fe3128cb864690ccb1777ec6cac93e63353328167806f488b9ae9f35ca3b7bd854d92cc04f60c62b51c7878a64c8348f575fd5f44858014f2a24ee768946ad0cc55964a6b7df37ccd2866907d320e022dd3926a51ba52e3c963c209de5e513eee3b8b319a3b35a88896d51913fc5aea5b1ceb1900dfb5cdc4bd0b6c434da4fee4733e6937cad3f1f1ccce9c07bf8df7ac86206b02b6400e115473c0702aa9ad78846624b73016862ecd98c2a37bd3299e406f709a5aead782ae6778541b48588b9ad02c7de704e841a52311060670aabc51ea0c1dd9642f7d61f8773d2334aec78934cd08ade0cec80055753b9a092b007d86aa65c619142b882e619eb050062f03d0766f298f39c52a26c8df2e1129299eb2b98e937b5a561ae37020b14818559e1707dada4437d2a7d0206a30f6b3ab44d2d4c775bfdf14d04fcb97cd6e9238a5f476aa34220c02880917080ac7411ba44defe2f82e00b2640be8723b04823c5a341bcb315601375544d4ced4f94ee3ea12cda6163d4aa19fa6c7f2eada61e2f2b1a468fe066d98a3317fa049e2079322f3cd0a284c5a4b4b54afa3e907ab15fb5c21a126160d37fc9d98dedc92e8be0bfc3af910d351992010dab7d6deecd69af4cb99b16708f09ef8c6a9cae931f69357e29ba82961a0aaa87f4971e89e89a83b1586bf3a70493661e3483f3545fbdc89c3463b22c25510a1e10db06710516129280c40d890f05b8ce0341c7533c9ac845971c3b7400ac2d402fe3d0e50292c9f1b06162efcf049eff16a0a9cffc60353ede6e7bae1ebb5514bda1fbf21301b573980f71c4661894ca949566cc78b082ec2989b9585097ac4f0c0d20c849edba17cc58f63383a4aa24a245d72119feedab0ced6e7fea2e5453856939e023b41c6072f2004fda04147882b89eba34f516089cfdfd99461151338880e0c7c4c230095e557d0bd36644049233a367bd44e1034376032744181c26a6232d59c99ba61231f38610766ece4a7c057eb562d195109ef305b764712038a29ee3bd9d1f56a4b1f735f74680512c7380fdd63f09bfe9624fc24a430fce475c35dc4d2f8807fb2e4a8da041fe1869658a2c71447b0c5d67787f75b42c22952c6a77c0c54f82053a18e00556026d3a24dfaf5e485d2e1f1f8b6ca804da2e26b8e51046dcdd7fb854989827f63258c29fdca08744f1e3e850197d25173e1782863927967d6dc85470e066196ac977c77ef98d3d2fd32d3d7702233d1b329ece01ba3980aebac090f07932e07988477076e6adc7c95303e98034f7b35bc2cd3c30edb234af7dd84e63e0f3d41125befd12c9abcb6c85d7b222ea277b75618c94baed1a6dea60ac718a0ae940238ec17f7e8987ffe5810ec387d9d5f68217030a7088223bf3ff0f57a5ff82c157fd282c6bca0dc5789c8278fe318fcd79a20ad2a866598c8364e6c105502a676a1b2848c0e438db6ffb9d39c4fc8957f8731e2a8619650d8dcd81b48612d2b8d80a6e295f6f766ff105e105df9627c88058acf76187c954523babca39d1102dffc5aae6239c98824321458084b7a238ff7ec0ff5650a749a5a9768814e2bd3ab02ca6589e1047c94fb5fa27c1ed2cc0f2c0fdb57650ad2c43867f85f046c5e4f01c26b73d5733e0fa6ac117d4c5e302ca1f03dd42acb3a1b1f6e3474b47d52623b7801f390dd28c7f4d11e7d9ccfb7b397acdca5e03ffa00d111d97b460cca3f9663492b2ee6602a36bdc57b0f877f3c44af2432ee4af2c0e4d47af76aec774955979a1ec5c21a1b7989a4de6c0040c3ddd01ea8b4bbefdf75414d5a0098479fbdb07081572e33bc34e7bb22078a853d8e10d954787c4e1a60706735c41a7ce3ddce7a5894af9a6b6ca0648a7869fbad80087ef5c0d5d3dfeeef59e2ddc7119b1da1738592003642da282862fbdd1778aadd782755919b444951ed2bb6a6075bc69ce2a291e8babc45b2d527fb85acadca65a82827e38c1c94e471170c9b6d89323cc987b7b46b546ef86a9d216beadefff43be849b39b2a843705c7f2cc89688196c363d02d7f259c4471aa145ed4e9b841d65adbfce382e923792e4e18828cebb9675f556a08f7777c1d01a2f5899c9b82e4bc143d7d1b2eb154dabb931cd82d5a34469b963949553ef14d24954e3d9b00446a7635e4e4b2d3a5069bc26f44807984a539ae8b26360f29559272c7fb62f7677eb1ec9c0582f97dbd3b33408eda3eed34f97a2695221c597494cd302f5862a2693105bb45d7687af4569c5f45f844d47b11bead400d2cf024973c259f596131bd15781bd3be25527eb1f0df60718bf84ef57d1c612fc2b118fded3b8076228ae168bffb2d26f45fc3af44784d5dac88a629ee6f0217ecae0d0d3586d890c4d4ef405206ee8d624b477330667026b3e352d4e1756b60057996bd0c05e468f57d658494939e9a7096b53443e7e3a462ab84dd2f94c901f734f2fba3bc6aaae3146ba1ec22eb59448b5a8d7373d2296f69d3be89562352d5470969d332d1c12b21ef9dc24182580897f057e197c03290c9af07826246397076210e5c3b0dc8ac6c1f7bec348b917ff6a212de6e659b55684663344b68cd648d1cc619196ec6a18e4a8cd8da90c4b14f39982ac9e8912c53bd6d1aebcb62172fead62075fca4e09896aeeae42b2ad1226c319420da32c420286c001c54eaa76c2a67b1a6ab360ee839525eda19ccc14010cef645812d5711b39e38d7737c75c762ae874d43ca6d70d4dbc239d071eb506f16d7b5e4a28267732257e809020a0ad6d04b1f80e596453486205ca18e852558a4176a126f66912957d0c95f82a5b38474ed0a1c06831221d6aa869def77edf3145b735375da59d97136c48cbd02e3ed4d02a7e81ffad3c932fc2115425600597948ce9d6e52248d9729460174c9385e58dbcaa65bf15c0492b36802c993671658c4882b59fd51f127a7e6b1a80e5e5629077817638fef9059375297e1829e992d38e1747fc40a1e981e8c0418f1cd129610d0989d5f92c3e9bbdb204ad36d44b0ee0d3c18aa442db6d062ec4b95738a214375ddf80fdeca4699ae55b734f16dd8a213df941e1218bbc3260751d6bd564493d2743537a2ea14cff2da47ed2e068bc2d6d71ffc36698e08c1ba2c0a26b14cab1508239961fe73565d66c157683caed681cf7f19b321df63ca311ac36d4229703703733ea66ea04957fe54b36cdf408348107088fa92d8343da758759106186e749b4b30263edca6f20a8072992b542680e73a47a4cb46b20805a3c725865545c919f2c2ebce86d9863f29f5e8fa277d25b05014acbea4195bf195fc99ffaed74c7e2fba11cefa5286412de691ff28d033c025e6f1047133f2d63cf9fb872d6aead6ddb235f8e416ff2f84cc5e50998083f071795c30c0e089d2961ae36708b238dced494af03d62a172e98d099f2390386ced401168b48c541d199f2d348bdab4a0514dbce9aa96a7248f3a941062887ffa610c3fce97de7b18261785a7ece9e968bc5a34a2cafe65c6e57e149447454348f5449a247633baebc2fb24def65219d24f4763207835a7692ce082a21dae5e5ecb050c18574229f8af1c966b9e2816b61520ae0a6a00e143589a5709cab8b0ae21bd51f358245c42f8cee4c887e596120650a33d1d16138f80893ec5b9cfc9d5abcf041aa72a33022adbc77c21653a1691e3215104218bb83982946d4eb95ef6c18d3424d672caf14c44b263ec214b68b21e3eaaa6e002529a0fac96fb6c23ad72fa54671150388fc90f8f7e5716d6b70d174095306194259ce63faeac9c30a991f11a02a4dd23c605f471c311bb7c490e928abbd32dd29e61c4da64870713a1a512c3fcc8692a7cb655087b47d95547b414bc9a54665f0bbb1d23c4e062d65fe62e8094e753ee80581817c9652ddfce711f5a2a0b367b27e2853ae568801477e439da9ebdd667dad783f6b56386c1992649a3a0d5d3b572e3d73b7cdd970757ea940c3ab544b89bc96ea8f1de7e09878f8397382afc3ace5e2d76a934340d65f3f710155d4a218b2cd83fbad3eae0452663974a6385544cb4cfee65d6218e052ad96123dc0aedf50fc067bb18e77a78531ceb0563a8ea1bfd9681bcf96aaee6d433bc9f61bd9054abad758d419099497230c0826ff06f5f6001ad952df21b07fc96d78bca059a56092342cc1b88de70c403021a202e9aa083e829997d417bafa2e0ee368a6131d547653f5c4db30b508a29953958fa9b033b26caef27ff01ea59e04497f77307e5946055cc3bb82bd47e721013f71932ae049b8ab0b189ec8f6e2e60393fa87b77e3b195a8e2337a2d8d80a44bc64fb11c393eb588d736077dcac86330b9f79483e2523d859c2b53ddc9d6fa2b6408ae10dffc752aef34fd7a1e40e6e3a9a40ff4dce05a2449f3e09f2c617675ac651dd1275916a8bed252060a215c9a59f0b0dcfddaa4073b3ee02b19fe0e41ec6591aef572e785adece378d2040b957c2d00199a88a5057ad270c79e7b8df2a2deb677aaae963e56ad34d4ecdd0d56750afbac06aa256043eb7148ff3765f44caab298b643023e6ef507251d66d68b3f333b96662e22c4f82be3817449770edffb5037b20c0f74cabb61fe4f2b08d102c8304d62c2cb8f0a13bd688726f0b2800bb5409f6424316ecff7c9e0b44f7cfe763804a9eaf6d526606b3d2c2d447932b7254a19d71cf533a23cc7dc8d25a9d470229ed513fa0333e240c962ea9758f29c8128c3beeb91cd04a9635c858586a3187472a1af402e2b6a8c1ab8713025502a551a3ea781ebc3d1fb4728cf967da72fbd079beb1878110d5005b05a960b6161d9eecadc743e3ecb04c78d8495c9e8fb4c73ef95495acba1089289a18a14049b5bb175e7d619065e7174418ece31cf9fdc78095cdf7b024d10da123fbf0b36a265d2868c4d1b5e5543a3dfac1f258504177c46513c64be8fb27a09409a0e411b916a570e3ad5ab3e6e860ff9e39dcf20c3b1c542101c111f60cb1389ea62a326e665b6c0bf6840cf5b5607b0b44cdca9a490b6cf275de1695c164ab083e6c4a46da06c1deaeb98e9c8e79088a67cbbd7dd27c51feee2b568ddf1391c85275dd1011e89a9ee1ed36d2bbf6983ff0fd208bf09117c9deb6eae81ef01f20949b62aeca782bc612290c6cbd2f20f94808f95088e686f9cf73b862f95fbe9f5e361448933812afa56804b4336146bb10f95e73d346bb215536852c680a6b91c9466b2b4427e8cd8c7808ab827262c4fed530546193197cf4a2b47be6616420056871930af9e9f47c9fa435967903137624ae135d7fb3eccc381626627c86c28f1fef0797b5b72e7f97bbad681fb68891fc915421fcb352b1c58c719365f253937e40a41541a19c716671df0b9eaba8f46557db26b7c3c5ab313ed4c5f45c5a94d7eb22970c5f4e29419fe16b943ad2257764bc337691e4b90c65c5492df1c3b54b99135aae9b20ccace45ae557f48f3d24460c0bbb04cf5544dd04498eb556d8b520cd682ad596d4053e0ca16bebe3c1b8b04fc06543c3c7a2deec75c8d68c163a46664ab0bba8ab343dd2074bcb227df5dda792bc98f6bc189568c20e38d9258631a04c7ece7d5b0303681d740e5038883f81f2e029ab2d2a14c1ad49b999287d3a8bbdd8285f64c00ebcb31f9463c6757cebb6f42ae293f0ef8449ee909a5ec634d4731ba88b438430619c1c02906dfb0ee65b3dee313ca8664d5f98ec1749a2be8c45bcb4a381defea4fc361158d945d43368823b1de72d23c17d73d4dba8dbf8b32ea47631917e5eabf47e9283f8c49391261b1ea3805a341efd670d1b002303c250b9aefaacb384b87c2342ae4a03ae9c1f6730fce2be9d7ac1bebdb22a08c5df7c1ab17f43356aa2b39df46917865ae2a9a0b8b530d726969f819e1af0abd9f111c32c8693adb44422aa1e5845489c8a6f4de0ec9e339f0e0fcb607282190cb25918f39687b0d72f581fbb51bd3584a7bc400e5e2b6d75676721878f14293018e8ce0f01940164c3a87138eeebbb4aa2ef6e440ca6e0ec105ca17dc58817a5057c7cd3d3ac248970d6275f7e8454c070f0ad9f16d614aeaf6fb4fef3726aded40999163fb37a31f335c774e45198846e42037e55389ac65f0e47919b07291ac01289d389904aec7d837def20c414f6e472a2a4f89ab243e1869147b4cbe1e4ff90bd6f3c4e311c6d80fde0509d152cf5cdb3aa4989462ebff9acda86149ea3f9af2fc93a779969380c9363e236127d36903c1b7eb9ce56560f6e77eaa2c5f76f6c362c04f2e4a3052e30b74b5e4e8b44f95167605b1b328ce40868c9b815471dc0f3e076b411849966d5ea606155eaf285f78ca9d6c5fc9e0668f9385a520b5558c78afde7f87da58767b3ba1c6c8216058852d585489596363c64d3782a43182a9b4cc50f33a21820463232b7bf7d11ffabd77973c703209ba832e70a1ba433c13c6cd6c0c36586e2a004dd081f1aae1f7887692a25505771d43871bdb3ba2e35ea122003311325fb40389a89fdec4d100313a8e245ed94f18d93e35d021181604d321b07930ecb6c42a7796111ef0529c9e9e5a1928268182664141e0fcf816e9d4b92b05dfb444e21fa9e88d0948939cd7a398a3d9def751b2dec6e61c661f4ba2cba71fb17230d239c27034f8c432fd3f35910b031325e9539c4bdd5cd25e89c2f060b1f8e40233d23b98510dd4928a1ac3441d8ef4f8affadf510f611f408639a1c0f944f5c357958b6470ce432d0eb2d2c410c88dccd4caa5081c1e3f6912bbd8b7e8c30ba2a4a54c5bf21bbb84b1d7940b242238dad31e745c93a116d0a2c9819ff1f9037cc7281cfb41ba7a66b82b962700c53c30087ebe7347733cd4c23e33c3948c6635e1b9d9f952f013f7aaa4b8b71debfde219dd75185b9d9c50cf140a719a6e2411598b92efb1098fbffdffe9eb0045681f844e4ea19ac66c68a920fea9932873f8da7db5e46055884defc0f6242f8c17408e6b466da11cce29e8704b9a1e6f341768276e63dae1678ddf2f145939428b1241154c964a3636e7652a49ee1906ef1604012251b96c284b8b15258f6f75742eb8378584b84dd365eb138a43cb7429b2e59b674c37c5fed0ec4af984190b4aa9fa76762db8d2128a55263416f3044e13c05945cf6eff2484c1c85e5edcdda8bf15554f6c31fd1448f9640ac256ee68c5cc246e673f98f33cc398b6dc4064ed20c511e5076a738fcd53641da14f70ca84364d190a85a534cf8fece5053b6159b1d417d90100a04c65eba860ab458f5e2df82df0cde80c38e7696f72981aafd97c2a14d93d018419901f6738c82b0bcdfda856beb96284391f721d4a9b8f2ec4e3ab82b84aeb23879072daaf2cbaba3b8dcb15974e498efa005061370732738170b31a84422e6027dcc5db5593dc33b0488d47243296657a92324592841e8353b0d377d5d39fd96bd86539194aa9481c0e6c6d27164dc7e2741e145b7ce022e140182c5bbb2793ae010262335f75b841209100368aff393795ede1a2f2080997a7319e0e8eb1ce19d3e09838207db392f4443f3b2c70c63f76adc5ecb4334e843ae24865809c458b974d10831dd75c90709ca6a9018ebbda3ca77ecc33b55d720fce1f01e507916dea270565a0fa0ed80a751c52157c7b9416ffa0795f50e5fe83d46d34ac0057578319eeb86b112e43700cb3bbca1c6ab8f9cccf10666790d6e9e44e492e3a801031f3e36cfe4af894af20ab5db2cf4e8beb89af71ddab1ac68ab0bf05ecd28c1e31261e2e0b4512ceff05e5dc56be69293cf32bb96f68e0e92a3e70c59c3dac925974b4c3e8f51d8ab20d5472b622bf9ba75c4520172d5d038bf630a5f25ed4b92665aca2dee44003a229632f3f4a5a8b3cfa97e9834233a296d89b5b32ca16defbaecf1f9469e78a4f2c9fd86151017ec60c1bac2e68f4e859d47bad89075c91ab7776d2fdee7280989cc1194b19d1272d5ce72843a0ef9f02de932fc08a272866a84f2407b7aa31787f2e9b0af2bd4f354b23ce36397dc5c8285f3e802ac9623139356f1b07b7ac14330ef4dc6f2f19e0c84561dc466663ae7e1536811f41c5eb3b8e9e15b57dcdcf478dfc2bd87d7126f5d3902ee41d403127de81bdc06d27d7e8b0de1de1f990d0e1d541e8d5537998c406b31d061e45935b32659283431d3f01c38056f946bcaa2cf15ff66b6ac9dd0504b95b3182296d14835f6c8b6fccda394b9cab0c91ba53857f04e94171fc53e8724e7c3f36052688e14fea956b8f5933829d7b8936610886a87f63328c231a843d8c706010894d06b5a1ea94c3bcf97f932c55bf629e2060dc0834dd2f62008da8a3509cf9a8780680820d4ef74f552f06351ef4852c30617af8acd04b6221c7c64a632bc804c52f2aa95394b092b748b7170cf0d98246d992c018e92b315d4e8e009336bde403a2f4d6814f1c47b825c5e8a78578a7e578ab84388dc218bdf2d526c71e7ceba448182155ac31a832c04d6cd5be59675c4972e634dddd3ca1f354f9b2244ba8d8a5b26702c306f46c583ce4e25efd047e832726c3de1b180b8182b084a7645f7e697c195e2ef92e2ef102277e58ba53c389d3616782f430540834ebf2dc451badf28b104a472a28597b116e57537ef7a3132bec23abafb8f2cc468575f77d1033f6a00f1461294c9928dfee702898feb94a12e3c7297cd1569f18a7ee2390b0515a52325cf66e82b383c59057a4939eb5527d7842d394fb658c4d03a6c38949f69e0f709847eebb40f3775ef89dbbaf6e07add3de35acf3eb8d47d3faed6db07d775ee8feb7af6c0adfebd71f790e7b6e04564acb446f499e5b1724c49ac1423c590c7c831a4b1526c29561e538e91c794632431a41829561e4b8e91c69462a598f25839963c468e21899520d6c9a107f0fa82c79a85253c11753ee30bb8678684b4c8fb2828b54ffe17a2a4e1d391401e2814224714802d97bb94111d67f53212223e0a5c0bc70e4e72f56e1f4cb7eadb08f6b417470fbc74dd23e43391236c0a9872eb614ba3611be8f7e064f6d8b671d9e16290a23ce59d264adaae0ea161f573784a726de3c664e1ced6f43aee3c878382a8cd71e86e719158580d43fd72e301e0d7a8441c382f5153e90eb7f0ecb6a9c9b16e6d8d861f6ed438461f2a3fca87cbd5cd0cf79dc7ac6bb3c351ea77383097354888d271c2c23e4c6c1cc301d52ea6656489f7887ae1c0141b539e41f607d46da9871811e4b36578728abd10c0be8313dbe9a468f8c5f5a587846a9f938ad8578dd2923d1b193383dbbe70dcdfbbffc17594cabdd5545a582b03634ea39e2c178c9d429a87341d609acbdf587b58d08ef636082d24c2a12526445025762ad9f907b4d600fd79f929f2e215ba4c78f40e3a63634c43b10a9e0af87f7ecb87c9cca0059d94deda16c0472a346273f03ad5d930a655475ca10fb4275f34233bf7f7ea873ab0cfd521ef670353b330fa300f4823f65e8e155e666c31854ab78510f617fdd0736cd8391719099d84f7d63e04d7ad4925264c053fde57d8b40befab3d66c1191165aaf100f0c7af27e60c359410210f1d3ad0c47dddf43a6e6807bf96c460886df71f35a488577d40bd642d3da1109431ef6e824e5f5dbced8281873021c3c8cc2dec388e7d2c24a51c3636ef159fa79fa8b7dca0ee0fa7008bb69529f98aeafd6db5b5a695e03a500399c1bff06cf031c65a09aa7169de81e352333761170203d1155026cfa8dac2066a3b3ef971448c6d40c22c094fe5011eb4a26ada4e7c38bafb8164741fee1720a4f0bbc3108785e161d9582f7720a22cfeb7d2d738771428da41c5f7d09b64a14b5cabb17f0258bcd192af4c1d184cc03a69c87028e69bc98fd3e281e42a94db03dbef6310cd658c3868a8e70f566505fd5d619df303ba3d3b44e08b94e9b85f2e02366176a08dd0411ea51c7ae9feeca221f39b22fb039edfcaf9627accb4041c90966065f1466af3ccffa2c18addcd8861598e8547d3381931bac8997c9a019ac562ace74ec0b03b64b21ea3816fff1d193e09f77a595a20449c7baa6f4b13d0b4a04c7d985a85909144431f1ff6883fbbf2cd0a88d4a157739b5f6eaece9c8c2b6369ccd3357faf08717b78367a73244d8002d6cafeefb852c9bf3b63d854a89b634818ceb1d09572b90819316740440ec80bc9bc93b8f25018ee363a7d59f862c8e4a69899a045940f51ae341966bed16ed1fcf4c8972849334c90aa1ca13e7ab01ff551f6cd4113e9b79792702a34bb5e0fcda1312cc162a22d83b9f0feed6ec3b96198964f4677d8b369c118a825081fafbc71f61d4c659e2b0c70c9ca209557d9ece3d8a088265b61ccd658da1bf536f5f60e8380a7a7c107af8cb41bab4900cda9fd3fd323401febccba8791f85b740e0a0c84a0f951d1d5b7269998216022e8d88d4f8b99a5c66f42c1736b7235ba2146b456791298936843d4c6c14602b764d719fa391beb07368add8c7aa141d10201c443b05570ad74de08dcf559581143099bd7119c5f23029466d17b9e61c756f5da703cb65ff949edb36c1c1dfd667182461a8b4f15568b90e146a74292d1541eb127fade7ca825e333c54a04d85c38e83aeee0af402385bc695e0701407514523187562833098ce9ba61d5c2fac26ef7cc08351a296e0e4232d70ee4bdaa40235be0a96ca9d5b542af77119618facf116cacb2b4207f0b253df106b1826bd206edd3c6f78dde4570acc964d6eb9032901fdd83c433eea6f15909651b65a028737dcce889b2e118a62ca8bc5e04c6c62793e49d999c975fe7950bdede2eb4e428308439c47615e193a12f0a1772eca7e39833c3c2e03e8bca80b87384ae6a59ac5c5837946f76647bc55ae1e8cd3ce7d6082fc65c2f84e861b663c806571e8768beb3b7c1f9da13605d71bc9662b2478c97549bdf318f68637b5460a3c2497ab7806eb56b3d4ffcfd1fd0b5f7a2783d059c30862ea2098ce3d2941017d67859bc41f36007bfd9a8f34cd91ac2fd606a0473f4ac5dee8849241cc7f7ae61278e0a256ac69289ddb66d6bb5ef15842ea27dc4bf75745cb12693ff8aa1aed4618d16a9a3a42283da7c03c1aee795c79f896b2585876788eb08d5e3e82845a651758707e5ae0e14ddb321234091b390096a691f5b9db425870c585e5ad6246aa4f658a1ca04bb7dbf48bebbba58dac250fc6b30b382d0228b0737e7ea014f54b19406c0c2d18a493f26ea4cc3e5ef7cebd3aceafade5218cbc3cc3edf73217464ff96d115a5126c9316614b304ffc2610a6988f1303d5a83945f5bb730a4d8b0a03f3ead4f43cad53c625d210ffa502953387671d8928f2fa6c7baf9696c944f3d7b649d48507b9c5562e27b28df9622c0861c4124bc897c6297b75b71a4303f7ff68dedafd75b0bea069d84e440da6338c5cd6effe2d4a133752b000bac93eee4cdb960148dc44cdc54d18c94f049c7da04cf6937ffe212668a2e606fc8e7f1ce79818a7558dfd900690b0ec1d2d618a868392b6fa200b030b8fa99c8b6fdac7247d003ca6a4354723f62027605f16ef3d551edd4fe78096e0985afd5a2819e56bf4a2058452bde76ca94a83fa92cbc2a0ae2a69dfd3e5a4144c8295486999549b6973f48fdb13b51b0d7aeaa7344e5a8bce1c9e88488d09cef81de13c6e586b6f6f131f6c7528c03babe7c66668f1d7429b2e49c7e25110d17b219e603bd8c1d377efec50aacd8423ce3b8747d568d7b5bd53b7f20ed7eb7cf0c443b6bd03d99f43a0820694d7de8132d31cca0a03e747fb48070813e707c59bcb5927474a3c5cd6355e4a7b4738aaa7e3d5f06ba24e3c5a3aac77af594739ace40c34fde2137f93cdde97944428e6e303ecdf7f92d9d22ef47a87285b6bb7e3cb440f9c30e752c0b3e2741c0ea0f4bc1b4938defd5e8fe3279abc7f925da346b1cbc457dbf43e012f70e2c0584aa4d9877527b4f99fce3bba9b8c93a16374a6df95babff9bfca3be7d05c2140117b03eec3cabc3b19bcbf94e7459910950ead45f405251c529689f5f763e59e74332bcdfefc3f62df84e5d70844049abf73af48e092fe4222cea3fe2895c29d56baa90c43dea19cc5da3eb021744c02da8f35ec7180f5e88f750c7e0770801935d4f8119f67ec09ddc16fdb463162c60f2cdee1df98070ba501a728fbc1880defe04a7a2328afe6063652dada68a05b8abca3888d6efc8dfe35f1483d802907bb4eded993124bcabbfb7fc09d79d6b615eeda572d0f9a7f5afd6a05a98423fa84161def9005d6dfd29d5bc8a30b8f8e774ea0194446f566a94b53ccd17fc7cd7f4029b60d8a0bc54a6f07a707c6a5d4dd7165e9dab6f5b18725637d396a6ae36cd0f8b58092e3809a8560f45ec5194c07ed3b07c0dd41ef17ecd8351a5293f7cc392e1535b051003240e36ee4d64ea9407fc1e4c20686b88bc947270358b2ff88a3d42c79b5bc3e185fe4b30997ecc358bb832e7c30c3ee6b61e3964be3f63ff553a396281fc5ca9b5c13a6ef3162d24c8f08787ee569dccbdfc7208cd4bf4564a3ddd15ab7dead31f92127ab1cd1e701a23b3592ffbb2ad246d7d2f5dfc6048ddeb3a9dda96f0eb24cf61f3f9473fc2e8984ebb949ac0be4fa9efa5530fc9b0f339109361de86ff4c93843eb401c2ca4c2dffe12c527c6c7672dfd9810cb2b24d108ccb4f5a5f43ecade7f43d30fbc8f74143e2314cdb215a7237fe68ba2e89d995a4c74bd040e3b8527115610382a4bd2019bb9843cdafba0af843c3addd6cfccac13a61df42d93457959eaafa89bad0fce9db776730832cee0c6911c50688ce0488002ec1c78deba539ae68adf910be80151bcb82904a346a4912042dade5bee1d5c115c11be103dbd783dd24a607cf16aebd9756aa7974eef748d73dad415ce699d9e5b9cd2e9693bfdeaeac5e992ae5d9ccee9f9e6d4ab679253395dbb4e9574e5e2348c9e599c7ed1b3e9148cae5b9c26e9aac5699c9e5ca75ef47c3a85d3f5cd2992ae6e4ebbe879c529173da14ebbba6671feeadae6748b9e6c4edff48c3ad5a22bd7794e572c4eddf4a4e2b44d4f27a75974bde22ca7ab15a75c3db74eafe8f9e4148bae6c4e99ba56716a45cf284eabe819e5944d572a4e8f749de2948a9e6b4eb77a4e9d4ed175ebd4d6558a53297a3e710a454f2aa751748de27ca72b14a76b7a6a9d3ed193865ad59c3ad19389d3267a5639d5eafac4b94e57274e99e899e6344d4f2ea74b74d53ad3e9dac42b133d91889589cf335d97f8ccea9ae6f34857253ec9744de246baa23935d313cd69114de48ca6ebed7ceb8ac469999e4a9c66f5b47246a2eb11e723ba1a714aa6e70d6723ba9e391dd3338953313d85389fe96ae66ca66b11a7617a4e3905d3738973115dcb9ccb74cd3a25a2270ea75f7a3671ceea4ae64ca6eb9853ac9e409c0ed1d389f398ae62ce62ba86399d414f194e65d053cd394c573067305d8938f5d27386d32e3da13813d1f5cbf94b57ac53217adece585d87f814d37506a7573d7f388d414f29ce437495c179065dbd9c06d1938553207a4e719641d72e672f5d8538ddd2b385d31f7a5671eed295cb5988ae57a73ef4943aeda1a715672e5d6370beea1ac4f9485720280f3d994e77e889c539065db79c83e8fac3e798ae3e7c86e9dac3690e3d959c62e9d9e60c4457abf396ae3c9c56f5b43abdd2d3cdf987ae3b9c7de8aae5148786c1e90d3db538f7d035cbd9aaab0ea7567a2e39b5a12717671ebae670dea12b96d31a7aee705aa56717672d5dabce59ba5ef934d315874f22bade70c6d2d5cab9aaab0da754ba05a7537ac239ebd0b586730e5dab9cced0b3cea90c5d4f6368179c4ae9f9c5f94a57aa330e5d69388dd22f387da16718e71bbace70b6d255865328adc2e9939e72ce3674a572aea1eb9453177a8553273de99cab748de14cd555caa955cf3b879092da5a5e7ae488193a456da7341c39d5c1ce29d3291724a74a4ea53a85eef21dbe63e4544b1254090a03bd5134948a1e4191a059e8196a04b5d12394892af908a4c9d3472053a47c04a203968f40ba70f908c44c998f40d438f111889b361f899a3c7d249a22e523910e583e1275e1f291c84c998f446a9cf848e4a6cdc7a2264f1f8ba648f958a403968f455db87c2c3253e663911a273e16b961393cc7cef90b0992d324a74abad60553d7a6901ea0f96244d7bace748d2b4bd7d820d1b5ad23baa645d5b53468ba76bb752d0b86ae8551a26b584974ed4a4b963b76949ceb2ca14d30749d3a6da16b9457285d5f388deafae4d54957174e59e82af51ad5b58553a8ae2cbc36e90a75daa42b9357a7ae4fa74cba36bd2ae9bae4f4a92bd32b92ae494e9dba1e39bdd3d576dad4d4cee957d33aa74b9ad23995d374cea992a65ea760340de33449d32f4ee1348d738aa4a917a75d4dbb387f35e5e2548ba65b9ce7347d739a45533767394ddb9c62d194eb94a9e915a76c9a5a717aa46915a75334a5e2d4d674eb348aa6529cef3485e2544dd335673b4d9f38d56aeac4b94ed3264e9768cac4994ed3349f659a2af1e9d43489cf334dd17c22697afbcc6a8ac4e791a6477c92696ac48d343d7346d3d4ccf9d6b48833124dcb9c8f689a7536a22999f399a663ce669a8a3917d134ccb94c5330e7aca6449cc934fd721ed314eb2ca6e910e7304d677006d3540667229a7a397f69dae58cd554884f314db97c22d1f3f2104dafce33681a83b30c9a0671f6d214887397a65bce4234fde1cca5a90fe7aba63d9c8f34b53ac7a0290fe7209aeef07944532d9f639a66f90cd3548733104d73386f698ae5fc43d3aab30f4daf9c7b688ac3d9aae90d671e9a5a39efd0d486b396a6359cb334adf269a629d527114d693863693ac3b9aaa90c671d9a5239e7d074caf94ad318ce383495f209a6e9d467114d6138dfd034cad94ad317ce36348572aea1e9937395a62e9ca99a3a393fd1f352a9238535fe8110b299b3993bf3cebcd3b18ccd88a3913b9f777e67de99777e1069de31e2cead59491e3529413623a230ef5c8e93e814ba3b8978ad8ad39839db392f41e77ce7dc04d739b59dd7f40a8a8497329d1e792d8b9ab3135c85fcc16c6e5f0bc342acc4790af983a9b81033a145692cc596fcc15b6c5888b5b8288da1e8923f388a385e94460408931394292b555baec264a5d162c315c78b88c909ca9495aa2d5761b2d268b1e1a23418c4f12a62729282324565a5ca6acb155698ac5b1aad2d365c9456ff6316c56121fe2287d8ce87f8ce87a8ed43f488175108f189932bd1862a41883ff4b04504f3c50751093456e20e229c2eb28839884f9ce020da50c58af8430f358860be50894aa041230e4d2c229c2e680b228d129f38a12c88144afca107da4404f385322952020d7d12ab98823a0d753773da248e3530744e9788634d896beb9c2a11c75a15d7328952f2a0492812911ea1b63b76a2e81a43d135adae6d758da5e81a135da3a26b3c45d794e81a9bae71155d73a26b59d474adaace9738d6d4d099c366e48863ad8bd26d44292905ddbaeedc52c8ddc93ba81b31d7a7c1d69df60265f5b8754eb85b0f2d161a27d4bb7b9f4e3e72ffbaeea1f58070429d6f37a1a0387bb95729a474ee9d149a51e71e9342b3e9dcb99bfce15dee038841756558b030218321705cd3f71303219c49fef3f424f77a9c509f499a6ec4376225fc9bf2fbc71329e91fa594d65aadb57632f770214ca4504af971b3c24009cca31f5d59c2b146f5a38b8b6a09bfeffb3e20a4d0fb8fae21a91f5e434ef2879453468defe31095ecbb1153b1d07719962c29c9f33cef1dcbbc4b3029e9fbbe0781489fe7790f0291bc1a15072be11c28017904d4c5e3c5c303f4e5c50302c50121048a03229dc08b65290839a0385fdfc7c3f6c583e9f362993d501777500496d788b9fea494e0b5af65e951bd7797617157c5148e3d6e0528400140a4f9d4d44480a5a5a54fa87f4b3da1a06eb3d96892243e40a4245b1212073035610d9a9434977a5cba115dead9f409d563f7d9f46f369b8148f329292929292929292949d6f4f414f56f47d3773c7d0788349f9a9a80808040a419b5b4b4b4b4c42d2d2d714b37e21d31298dd8366ddc9069fb7cfa67801808e184ba0140a4a81b00449a5113eade7c7a5a5ab2d65a3008272525d5a4a42625a5a6a4a4a4a42210292969f294aef3384fe953fa6eaf94f4799d8439112625f112d43f867a82ba848a0a8af174118e36c02b4afb1142a9085ed199bd91237b090aa1afa20a520a1e986c4736a8e8ccf69402a75338828f534a9e327a46181cddf0622123d75e6bcb956498f8ba08b8924c1350b7c647a0ac39c4477e7adc6cd48cfab43d29e91f2c8a30040fa21afa18de040c7dec6e022e879e8031a8eadaf3f0f0f070009322a4afa70ab2125415948585c21f447edc9474d8ba2b7d264992e4f4468eb84efc29a19e5e483d1555d0d25d05fa2a764288a8504f443472c489a377a5c3a090937bc67959e0738bf8dc6f7e226c4df87df47a0cefc85d69427de9466ce47a2dbb5aea1350ad3ba1c4999de981d28de817f362a12f1652bafdcc8b85e455faccce1c9257e93349cb7b412425b147a8c376bf199b493ae6a524c6bee65191971196d3046b540c9405c4c67200d405e405f4c58309288dd771435441379e239eae7004cabadd270ffbaf03caba415240599207079486852acbb8db79640f74933fe4959207f76a7ffe4d39797a6a552c2beaaa513148c1c96c6394525a6bad5ccc5a6bad85c16030188c2706e40a20fa022e70a4a287607411ee47c0c06be74024d85578f41f11ec1055d0adf33ea51c5c5b97bb9238765d97fb278e21774f1c7dc65f1858021f51916ad119f76913a7ed4634a947aeebce265bcfa64b306a36bdf2741f6b549f37f6b87d5f67b3aee500ab9645694cd6ea092aae7ded9686694c316c6a58b8b42a25c93c71f5795d8f5b0fad342c24cb5cfb1e6b58489201ca9261b1d06cba7d072275224f130e2658d20ff0fd0020d29794342f0e1c508d430ac78c1940b7ae1381d2cc00459817288bc8bcddbf9ef7430aa59105916ad4a85195c54a0d2a1e376fb4d8828bae2ebc8013e70b30c2f0bac99943e7ab8e1d22c08411330499ac3245983963c411138939e60892244c4a9634393d316902c542540b524e5c7802e58528304c4989610a151966b0e20a2cb8da64e1e68d165b70d1d5851770e27c0106871106185fc481e345175d5c6ca1c51b3759b4e1c2e20a2b669081ca9418a44cc110e505284f5c7022d542140b504da814417dbd5983c411469c315344992c324388090386083b75bee8cc9173f30a038c2fe2c0f1a28b2e2eb6d0e28d1ba5a4cfebbedb00914e60438b651cc7711cc771dcbf7b3d7e3ed6b0ccfa48c332ebe3b625b4d7be86a59683fcd19dce004da82782433826a00bb643484f030cc1c6f5d1c5322a992c0c0b5d09838c9de7bd56c5429ee8bd46d5b5aa79c71ad5bcd73bcd3bb2570088e4893d42effac0f291e5a38cfcd1050912e432080e21e59feef2727c7f3f6019d6072cc3fae0039ed97fd0753e745c32cd878e77ed832a7c02bae4ccdede44702969413739b31781142345864be91dd05d077c0caf03469feb800f5151dabc41ac751d1151d2d910d5156b5443d4075f2c085c324d06817fb57d54d199bd0c2b02113827fab062991d133ee000f84763352a1f545ea7c5165c7475e1059c385f801186d74dce1c3a5f75ec1001268c9821c8649529c2cc19238e40620c1f41928449c99226a727264da058886a41ca890b4fa0bc1005862929314ca122c30c565c8105579b2cdcbcd1620b2ebabaf0024e9c2fc008c3abfb2ee58fa42b5dca1f4b9fb6249f4d4f9f50519f4e9e7c4699faa442c367152e9f4274f9c49a5f3eefb0ed134d129f4aa4f95c8289cf26b43e9d78e253cd9a4f28a2f89462eb730a2a3eab60f369c5159f58707db6c9e2d3cde5584487bdc200e38b3870bce8a28b8b2db478e3268b365c585c61c50c3250991283942918a2bc00e5890b4ea45a886201aa099327a7a6254a989220e123639038c28833668a28934566083161c01061a7ce179d39726e5e6180f1451c385e74d1c5c5165abc7133b368c385c51556b0a9828a29b6a488028a356a9e7042ab09269648a3441268d876471c899a7cc112472074ba08218e40dc70a9228e40d4d040451c8198998a228e40ba3c71228e40748882124720539e9ac41148932436714929e9f33ad80f322bc9c3bebb491e322c19960c0bc88de49185e4e183aaeba8a8badb00da040939b8826eb01884a37562b0049ea31c5c74665fc2c71c5c35aa1c5c257cac510175019d692379d839ddb5af55c91f7c2ba511b1f2468b1bb6e0624a571713072fe00011e70b19c0086306afdb0f72e6b040e7ab853a76a48800c314468c9221c858659581411166969c316287239068c1183ee20246c2495ec04cac44055ec24d2bb0133f196126dc641e6128666122e1286e613ab1143b994cd88527b72feaa2b4d9c4bee88b85f885d37394330ce7a9b394730ce729672a6719ce339cad385f71c6e2cc756e73cee2ece6fce6acc5798b3317e7ae7317672fce70ce71ce5f9ce5c8210ee3d67bd2a5fca1f425db6792a6cf27a8cf28279f4fa27c4e51f9a4a1ca2717213ebb607d7eb964dbe54ce272a6b99c4c5c4eadcbf9c4e55c7339a3b89c5b97938acbc9e6725e7139b92e671697ecc55ee25844e7da73185dd4068c2e72e28b2e2a13a78bb8c0e9222c5e7491942ebae8a9ab89e470d1446db6682227b468a2326f9a888b9b26c29245134969d3444f5c0d440e160da4cd150dc4092b1a4899191a0817191a08162a0d44ca9406f21443d7e448e95a9ba9ae390143d7ca44e91abfd0456fa0741197e451b4f5a48bd6b8d0455a9247d1cd49179d91eaa22cc9a308ab852ef212d54557924791150b5d9405aa8baa248fa22ea2c24cba68aa48aa8bd8a98b8ab8a98978491311b1922662a62622e2244dc4489a88e876a489ce10116111796122222b3a23cac23222222a222a2c239a923ca488a088886c7406e48b65408074d11990372c0302648bce80ac61191020373a0372866540b2020d3ab16c3a99030505e404b404c806c404e4e4012d01b20131013901d98096804c404c404e4057404b3888ad29c203b4c40664035a32a7cbc242768ea5d3d9395859676e69d66cb161a109757ba3372c349ddc1e646221271652025a02e404b3ddb1f309d5b68e930915f539d5132aea8bce9c0699402728a8a87f3d9d7ce90b395e6180d14be7ce23271cd2dd5e248e6b562ca4a4c3769594b84ec9eb834111d6388f57f881f37885434fdd7da9b9a79817cb960eda401b68fbc45185fbbd6bee9c98e45df7af290af47e5f772ee95cd2bb7b9ee7bd4b12c729c1087cd71339e95e73dc3def3a6c2ce49d3b014024ce887acd3da9c5d1c8fd6ec41cf71c2012d7f498170bcda6a62b7dda3efb9a43f24e9b0e9bd23bb09af73b83247c977e3426cbba1ce5c4b148bddc3baa7582715eeeddd789332f12becb0551297dda5a09282b8cd0480aca140bd938542cd45961210be7f646552c349fdcdec88a85bc2d572c34a9dcdec80b0bcda9db1b8531ca62a119e5f646678cd25c914a5b399f536dbd3ea3b40de34b6dc138d77ca76de9463ca9f47cfa9ceaa5cf283d9ffecd276dbf78d77c3d1b074ec7bc9e88b12fd0c642f282369b512f20071756043eaf1dc0324e1cc11ab93c6084dd935e6fe4482949fc2981be5e4bd255a06277bd2789468ebc2fc2eedcd74282b0cc9e278e34a13510271c7bdcec3b70cac195c30bb4b1cc3e07d79b1c5d5e2cf4c5429d18f3eac016fbead1c5421cd7f2f6b8f5d8e27adadee39646abc7560f362c349f6edf832b6645693fdc89dcc88f902a4efcc1403d910b99563e6f38f77983a882164e14524f448c598141f194a32b471c96e5f062598e2f96e578c3b2a5a56fc6605084235016dfa01b9c7004ca5a7a77cff33ed6a8bca5a4ef4b126776a6074b37a24c444e6944c415b47427726e05fa7aee13fc09424494b71385d4a866925eba0491966ec4f2e852ae3b6d424b07c125d3881c045fea5ad51ca2e2d907ff6088ea06170bd1b896878bd0c8955c37989870ecc1f57faad36da918311042202b2c03aa8a014415030c0234250b23cb32c02528c36a273ab32084311e2fc2ef872d4ac0c8f004550244b5c11033aefd2723566180e224aa89931224f4ce971c30e074699105166ca688428dd6128c060923ce149135260c115843c8a00b971800f1430f3c68d1a15b70cea1279c2b37d850e5e3f1221c7370d9b839b83ae0eae00dcbb48cdc88a8c24f058c7c1ef93c22aef073651eb99127c0767944c598d63cd2f2886a09c72171ac97e338ee1dcbb84b70de9977c4d1c8e52690001f47da87970f3965d41083aa58665700544604ca3222d6a8869065b190ec8cec26d3923f646b645bb237b22e9997ec8b85e6182333281662acdbcfa46653332a2cc467a8288d8f903f1889dbcf665694c6465cc91f5cc60b0b512d2c4ae322e40f2673fbd999d98dd238ebf6332df983c5ac61211ac516a5f1182ef983c1bc61213a0587f1923ff8cb170b5136b7d761a3342642fee019dc5e07940e294ae3216eaf63ca5e071516a25950511acbc05e47161d5694c65d6eafe34afee02b2f2c44bbb0288db9d8eb38a3e346691c83dbebd0b2d7b1868528180c84bd8e372c44e574511affe0257fb0d5170bd1afdbefb0511af760bf036a8714a5310fb7df31257f70162a2c549150511a6bb1dfb1c38ad25887dbefb8b2dfe18585aad3ed7760511a5fb1df7166c78dd2f886dbefd0b2dfb186856ad4ed776c511adb70fb1d5cf63bdeece8a234ae72fb1d5ef63bbe58a842b1511a5739c91f0c0524053405448585988a8538994ce6e6dacb6474aebd4c8e1c9a61664daefdec490e4d31e36ccab59f8d331daefd0c8b1c623ae3accbb59f7191435c679c99b9f6b3327288ed8c3335d77e36cedc5cfb591b39446de38cceb59fc99143f4c8a8a3c9b5d7f1248728d3a863cab5d731ead0e1daebc0228778cea8a3cbb5d7c1450ef1d7a8c3ccb5d78164d4a1e6daeb1875b8b9f63a461d74aebd0e3972882e197734b9f63b9ac61d53aefd8e71870ed77e071639449fc61d5db8c821caa4c9c71d66cac821da04eae30e35d77e871372884251163eee7073ed77b4914394051af571079d6bbf438e1ca251b4858f404dae3dd0931ca22d004db9f64052e45067eb0ac3bba62d7cdae90ae5b34bd3a8cfafae4e3eb19ab2f039a76bd4e797a6509f5e5d9bdc6bdae4138cae4eff9a32f98cd355c9939a3e7d7ad115c9959a3a7d7635bdf3a5a64d9f5b34fdfab4355df2f9a6a99ccf244d957c66d1148ccfa6a6493eb99ac2f97c6a8ae4f38aa65d9f50cd5f9f6c9a6af119d53ce7938aa6597c3a6996f3b9d5148bcf274d993ea368cae6334ad3239f6b9a4ef139d5d4f6f944d3283ea934dff9d46aaae69386663b9f4c34d5faacd25ce7334dd3253eb934d359629b98ea09d750a930b14dd88a14c6a152d119aa70559d730ed50a14fb0267b18177a8394c59296c75857da83b50b132f0165b858360e2e1095b430f7c55637083c581850082bdd42e5e3463c16273e019cc9bd56277e02f326030154c0fd60716f385c9543240d820b88c183653cd70b9e1948c10b60b1f41cb78e11b4dc374aa166d82ebd427ac18326c87efd428cc505b15472a15f40aa6ca060dcb79c3732ad712fce50592fa867e91a46ea146099d25d50b29685312ea84048c25f44989971572281328daa4c9579b3a144a8ab260a3515ad428b405cb8454ab6d0922065a38491646c2477418830496238ca83a63e64a11656c18424c0d61a888a830c450a15427526a546d3261a84e55c90b1509bd03857e5139d3050a0685339bd02eaa05139a05c5623a5136748a89844641d550aa4597b86228fc42118ec230b080a7584a0a1c434d8619acb8020bae364cce4850264fe733f4c9e95c863a359dc9d0a62567317489923318aa24c9f90b4d8245917c9d67f035e7ec658e9cb310728628d3917310f408b59db750db9db30f77ec9cadecf00e75b2d0c9c1cc2de3c0b1954baee192a92e690b9734ea92b27049a16893d326456d8a9c282a53c4a5d6a6e644ad4c8d4bd11b9615a5d0455b7456b48665452c80214a912ec2a2332f57575d64557b53e3923c6a5b352dc9a376a3b3da1996d5b2248f1a56ed4af2a859d5aaa0ce4c58383f459d9d680be726aaf3921ace4aacfc9b5aba56f34a02c406c4e9880e0d440ac8141240a88054195175c60c102c2059656c18424c0d60807479c1406483d2444e4e9a088a654452514d34d58488caa989aa94105955244d7475a789bc406922acaf26ca92d3446758467403a389b4e034d11a96116d75351197164df48649137565d1445e5834d117cb6c6cbac8698a2e82629954145d34a5a68ba81451697551d5125d94850912afc9793a73204f4e650e444a139903c1b244cc81705102e640cad0245f0ec4098a04eb40da7ccde040e4f01c2f277a6239429c48cad589b0d023419c88cb961395b9e3c3899cb06375a236757638911c3a595ef46426871749611cce74d80cd31143e0cb74ded0a836314dee8037315034f8dcc43459c374d84ced4b11534b133933f54473ca2449cf243eb32079eac9e57ca4679a4f1d7adef039a6e712a74e3dab30f189a5e794cf237a3641c3a7113db53eab7ae2f079a6a713543ecdf47ce2f34a4f203e8be8a966eab34ccf359f36f494e173889e5044f914d3338acf1a7acef019a6a714a7487a3ef904d373eb93aae70f9f44f49cc209159f31f464a18a28369f527ab66005d4159f30f494c2e289ebf3859e4c6d4e8fdce999c527949e4adc9cdade7cba00464f2d6c5b7c3669189c76d9e9a5ae4f2659d469a5532c7a7af1e9c4864e279d4ed133ce27926ec1691466fa3b55d32e08e35c7ba74b744187ce194b9922909c317324cb3e3132c9581af8c668d88a48840be71a44ebc20c672ad1ce6075386d41b43a3012229f11b98cc864441623321891bf888c25f20c44f6228e444d580891afc49148070e421c89baf016712432c33e886c25f20e226711c7a2264f9c83c83888344aa42c88144aa44dc42e2ebafbb433bbdc6ea145cf2ef3eb34aa27d6ed9b9e5fb76e7a62cd39f38bcdc2b6995ea750eddd72f5f4bac5a2bd09c66993feec15d68a19e7944927ddb2e919e7b68a4e9a5e9c3eb5d22d153dbdb89da29566d7a9532fd9ad9e5db752f4d2e99da69eb6db287a6e710b454fdb7c3393d835568d929e4db74ff4cce2d6899e4d497a3edd6af5e4ba6da2e7d3bc62425926ec1293cdf9ab67d46d9a9e6c6e95e81935a9984e6c1216cddc3acbe9f9e4f6d673eb16899e4f987a46b93da26714b746f48c32d7cc297bc69ab1f5a4725b44cf276ecbf4a432b5260d36cb92994c9cedf4ac723ba62713b7627a56e13a3db9dc86e999e6164c4f2e3389339d9e42dc2ae979e496889e59b75f7a92b9c56a23b74334a3b99d41f3cdcaa0279a5b2f4d64a2391fd1446ebb08d1d3cab472cbc55ef54ce236063d8598371dcaf454e236080b84ddd21387db1f7a3631a7cc25260e67313d9bb8f5c1f660ad7aca70cb434f351388e9c494e1fca5a79adb1dac962c3d6f34ccf089445b2f3e8d6879e70ce719f484e236078bc556f564e1f64acf29e60f530ab638d81bac959e52b736f4b4828fd4d0f3ce2b103defdcf91db6557a32dd52f5c4e2890b93e9bca52716b732582a764a4fabdb187aba994a669b6975b6eae9e6564ac3e076cac2d073c96d949e5cc0606a31979cb3f4e4e2f6859e3bdc42e9d9c5ad939e756ea5ba9eb154f50a7387d9856da15b701bd513ce2d0bed825ba89e5fb460c271c1d94acf2f6e9bf40b6e99f40ce3f6a955b875ea29e705330c15ce543de5dc36f50ab74b7ad2f93ca2e59d4ecda485e96099b748776d176ca64e9d3ae73a6c86cdb0994e825ce7465c678229c366d80c9b6133940e63d982e48c99db93aea5a96dd1c0b7ae71a1e95a1711b52f2ed4d0cc509be2b52ea40796a9d9769ba4bb7771718ba4a79ddb233dbb6ca1c5aded4e4fac37d68d9d3a360bdbe6f58b4e7b96cb6231478ebdc25af1ea1546275936b68a5730be68254b859da2c6a970ecd669535b295ebde8b9c56b173d6d360a0b45edaa5cd835a74adaaa79dda26716af5af46cb24f9c2669ebc4eb9b9e5caf6e7a3e592ddb44cda2b6b14c9cbfda2ef1cad593cd2b163da36c1aab44bda25a619338cb698be6954dcfadd72a7a3eb1b753a6b648bc52d1338ad7297a46b1475823ea5695c29e39b5b535f31a45cf275ea1e849c51661cbd4aac6669dedb425f3fa444f265e9de859c58e39d7692be655ab679ad7267a72b161ce74da82f93cd396884f246d95d82f16cb0e71236d67506f15092b03eba51e518db05dac10f58ce5f26aa66712af45f414c25ed918d43235cb06712ed3168857323d71781dd3b309bbc5fe50c5d430d687b398b63dbc82e929c32b113dd5582bcb43fd52b1ec0ee72f6db5bc0ed1f366b3581daa0caa179bc379066db1bc76e9c9c2ab103da7b055f64ae552af2c0e6721dadef01a839e52af41f4b4c25a395fb5b5e17ca46d0daf40b4bcfc44cbbaa5fe60ab582a4b839da15a551eac0ce72d6da9bceed0d3ea554b4f37768a8da1666918bcea60a59cadda4ebde6d073c92b969e5c58186c945a55afd817ce59da42f934d3f6c927116d5d386369ebe45cd556ead54acf3aaf3674ad35740b5eabd8166c54a56a17bcd2d0f30bcb8285aa33f40b5e65b04dce56da3279a5d22abc4ee929c73e59a71a43aff02ac5369da9da2e39b56a7927985ec1bcb3e58a65b5332cabdd661633d7b4906a6b689ada1552cd8b08f3d6b6485bada53c6dd7c3746ec474c49a95e451a356c5667adee922e19d77ac927f2084d47667dee92b46ecd8b173b663c74e11dd238bd9e38a1e51cc1e4fcc1e4ccc1e494c590f2ca4073ddadc1e5b4c041811a59c09b91522a4c74dc8471fad3b66c41a576fa8f3da839dd719f01d7a84dae61139732a1375898a4355a2a6a93e54343589af3a6c87ef3c716243951f7a00f3450934554c01a78b274e6ca8f2430f60be2881a68a29e074f1c4890d557af882660a337492b4a9f35593a868aa0f354d55a2e25097a84ccc91338f54d1514399a69a6daf51ba7b85a12dd3690b6d93bcbed0d3ceeb939e5d5ea1b445721ad5f6c8ab0b3dbf5ea57a6259db9dd7167ace7965a1e7173b755ea17a7abd3269ef8bceeb534f305e9bfa9b23e77549cf38af4c9de415c66b92949682d39780d2924eef024a2be1f4d389d25470fa694569269c7e6651da0a4e3fb9288dc8e9d989d28a9c9eab288d05a7e72c4a4be1f4ac456923383d73515a0b4ec21570496923dcc725a589f0a34b4a73c0675c525a031e81dbb8a43408bcc625a53de0f792d224709f4b4a0b72a34b4aa3c07f2e294dc83978d125a559e0382e29ad0227baa4b40cbc2f290d03ff25a55de0402e298d03cf7149691bf8002e294d03af5d529a075e804b4a3be104b8a4b4105cc725a581e0b30f9dc725a589e03f2e296d7cd025a599e01e5c525a099e802f20a48f21456934aae88c7e8518522a885297fe83412b9d465578da8534aa2e3df79517fc535252525252528241cb236e9eabd4f28806168d2c4a7bc1e969dc280d06a7a7a1e5e3f430e890cee85fd09d0b9ab6a0690a4d59d05ca49948f30a9a6d74468f424f1524f5a4a233fa14f4b4f50974467f8236a233fa217d3aa31fdb045d8226414b3aebf111b4a433045c042de9ec000f414b3afbe02068496741ff404b3af3e01e68496706f809dd81967406740ef4065a032de96cf60cb4a433d931d01768496704b8092de9ac835ba02bd014684967e285f4045a022de94c002fa1259d05e0415ad2198e47a021d092ce7efe80764037c0e70c20a147684967362e4287d0482de96cc617d092ce645c52ae259dd1185594c69dca2305f451df36eaa21e27d5a527ea71625d7a203dcead4b5feb916d977ea847c61a79eb52dba5f7d1b41e69d5a517ea915a5d7a107aa45797be478fd4e9d22380fe003dd2a94bff418fcc75e9837ae4ae4bef418fec75e90dd023675d7a1e4dbfa347aebaf43a7ad6235f5d7a598fec34b2144f4daed925f638b3e66d6acdaa6975359de69c92b24b7ac92c79935a32191df60a78ee486305f38e3d5a31bc9b77bbf45f8f33e2d0809ae135d298ba9483f1bb2cf9435e7acb4cc23186c20977088dad4b5f9b8a3e8cd4c22c3e9963fc065286e4a139409af52a9f0c0a6fdca8dddd1a3c9b1f6b745532d7434558373ba626e48f8248d6f2a9953fe6e9284386cf8de7e0b81c3e6cd987ceba2eacf323cf95737edc208790e53168cad95413f279e6a5f33ce008f2b248c5daf534778dd4c96189e123797202e48cffa52b73259a29fa903cf8412c44ab28135f6f0ea6232158154f49c0e911d66bc4663e9963f4ba90c28e9dc291a3a25b9e15ddbaa25b58742b8b6edde89616ddda9af29af26c539ed3942735e54d4d7954535e55bd61d55b56bdddea4dabdeb6ea8dabde78ba9ce8cca9930aa77ca85e25b372ba0ae2b1c9bcdee5c3156e615d2d2c7abbd68bcea63aaab0cac7ea5732ac6bbdaa280dc6e571c91ff4f6415232a777361fafb0cb8a2b88d392055de6f3d0c78adb6a0a3b2aa575e739d662aadb65ae37d811d7a54e966b5a615dae58755a79795db6d68b7a492cabcb302b3e9a3d725308e3ba3cc2b8e6d1ecb1e3aed4cb231e39e3f3f0c890b1c1e525e10ae61dbb4ef298b50ba53c9255a45992c7f4988672e43cfa3e096280e79da882779ed7aea090ee5e4767f40c4aa6904f794e6696327a46181c318854cfd3dd8d68278f6657cb0fa8878943ac28569e5d186104923c7381dc334893d985d88c2ef3cd27738c217fb46791b3a7f6d65e5a7bfbca324af91fd79db5d5565bed1cebada20b3462b118d3cacccccc6766e6b1abb1900473f932a011620e60193f070b7de77f5f773407f00c441a81659cc29d87f598c2853d4810960dc5f8d85dcf7b9d43dfbdc3e40ff0de39f9a3e75e9011b21cd0490fbcdf3bff6b98f4e0eb0992c077e41ed14a1e230c2eec160c6185afc7eeeb91522965de3b300415eebc7896752eb8b0148c1084674e3965ec48cb4f036c0a621726e6e0d7ae11a3fcdb2d4d2396c29e7c32071f0959c6c36c0b67ac93e215d8833a31089df11784d2c2204278defde3691f96f194620d1f1e79baf0ddf9dcc7ee3cffba3621887cf70fe97e05762396a28f18b28ce711b3109e1a3416842f84470cb70879fe81101a2dc007cfb933cfed478ee339f731e8f27c08f7366299d871a168db47500f9671500f1692ff1844ea248824ffcb238ec032661ef90c4b49c3801162e42e4fc7b2f3d86cb6cbf36e0ec9cb238e27885dfb3aed84f6225c815d1c274f8fb1cbf30a86c07353e03baa708bf0b59617c033b67542891514525a10396396b719578a81a1cb1d832edfaedcaad4435325cb6afd1ca93decfc517e8a5cd7a0ff10794efc648fd5670c6fadc1b27a23f66121c9dd8765f5b34396d550de883949a92c0a5968bebedee7eb11ca290feb8e65f5121c415e39b508a7cc51c521bffa648eb1c3ca0ae5bf39ad8c7a4aeb9ca4085438fd1076ff625022d47daa8e9da8c532148ad66485f29df8d3dd18cbe6ede5540e9cd6b91b0bfd84406ff7ee7c2797865b73e7afae3cf7ef0321eca65836a974542c9befa67c3a2f775ee67303e8ce775ea6ac5868ecaab674531d958fc6ba2965dcc7b34ada23bb83922027764e2c9b9d53150b8d1c571616fa85895694b28a23e775a9d813460d964d4a159ef3a2b46e4a725c94d639c9d9fcd8d9ee9cddd49d9d53f7cd6e8a4fe680fd03213cc1c7735e1d4990ca9c54acc478ca9c20d49cdce4a6e438d0c67ddcc7c9db2ce57d6e2c6b85daf2e8930608bf199b73aec561a5ea2a7dc4910587d5b5b731b5e5dae338229fb49c805bd77ec421e536da988addbbe1e57df68fbc2355c8dd136d4cb1cc06957bb7433e7adee790b63155ab1a32e4dfbf21cd9170c2908fbb9ca20d2a6e089875af1b5e37bec021a20866f988e014c73a264c3a97d4759fbfe1351b876d7e3511b39c88c376c32b368fa40d2a1b546c4c89b9f1355fb342271c6d78b1e1c5c6948da9184fe1b8cffbbc1b5e4e38a65848cafb752def8d2f164ac20175a5aeedf8b21377efdf054223b7fb21c1fbf74f1c6dacf16c5c79df6dacb13165c388d39dcd778225784a4230eb1353f0791888e451d001462e275ea1a7e08ddc6ff60f0973ec81ba912bc110e84f08f472ef8162993df886f2d00947f0cdb5127cc3321eaf7004b3c0acdfe84c493882596016f8063cc342499ff323a825169917c9fb087eddaefd08aeb9e0d60872815d609cdb63bbb687e95aeff20ef9d80375933af6e5c4b48221220825821dd3aa50218df5b89d3e015d5d48bba05b0fae49c59f797a25468e88bc5e8991a369e5bfe39017a5fdcccf29386c94f633c59f12841099539c22aa503fad883ff32ad0133922722347f7ce9d65b2662ce19015a5ddf0b2312567f69f3876435772d6d99802af1433e576c71b5edd956360c88189be3e6615bb22f2af61a1f0f6e3d35c6bb43175c36bc461bb9d38e260c261bbe1f50de9d1c81d7209220d91566ee46856ee44444e347234c5b1fb77181437bcba7f4a49466e375bde24a5effbbe0f69796120d237a4635eb1af1b386cf75997c8635693c8e70dd3caa715518539e5758a3f18a8c0c4e1f4159856a8b882162144c41f2173ca14f1a7023788b12a1cc4a339655cd62fa655c59856978c71d1192805ce581748858ad2e4119515967de7da939282c2323b85c542b3c7c7f09200848fddbd41824ba68155746667832058353b6e4e0e660ccaaae3265865e6da6a82125c824825b811731cc771e290f9f1dfec71fc901ee71df20fbcc262a121b707ab28ed0617587583ab8b70bce12551f864d075e716e13e2f830df0b99cf845dd884119a84c89a10a150d337c3870e0f8f4ba2d319ec285cb93ee49d755a9e2c473e2bd830e4e63e6e07a221c65585441b7a034415a415b416c82b882ba82e20479057d7dc0f481d307501f40a94245c30ce7baae9381ca94183ccf136b555d0170d89808f0518635ad54d55bf7a42bfd4b4aea923a25ee372e41244f3693cd2e0bbac92e003e867de30b874d8645655839b87270c9b0727445d190a38b6551e71b55bb72ed4749ab51c999e572e478d8e3463bd80b3d6d8741e9a5c39eb4d2612e74d261527a421d36d5f3e930187a361d16a56792d310250a0dd7d13afa3a5ee589d5e4722bfc4db036cab06458322c202727ea317dd3b6f42925cd292829169a5050586852e980aa032b1d6461a14905aa61523e9f1a36f5d9d430183e93342ccabde63ba9705cc4da15d453739f4d3d9f88352b9671b017bed43028576ad8932735cc857fcd774ef5ac22d6b2c83b6d3d9d7ca9bb2bf57422d6ac7462adaab6a5070d386c4c2cdbf131e8f6c9c9734ea0dbcb1b5c97c781781ce8b233b21bcb90c20dfe4d6e4ada23938581c164599dbcc1dd39c507169d81e58107efc4b14b4057926f888a7a488c6c512c405dca49d7c2c7223a17d6c2d08faea126500d8b7ae7244aea3016a2fe0100448249454945d1004790171625da1f5ddcf8a3ebda7a6150cde6b21025d22d9631512ef901d7845e5854d32dc9833bcc89942859566152bde67287b5a0e672d489cb75512c40357758132dc9833b4f9d9033c0390f4938e6e08239c198c09c604ff7987477d85377873935c80442b18cafd789a01313583296945441a4a52306f858a3ea0c60b32d513a6cd66cf178f5e8ba1eb73456d4b385dcc10d9c824e50df9015e6b913ca2a68e32bcb4a12c7262b415541549247ecfb2688b4f48fc638a001db6792a5affbb48963a7248ea138fa5c0d68e01c8f9dd0e338efb32915e1b9d326022d991e7c2013e8145445694c5a989220396cc98b7417d674fb20251f836cb8f64155e4104cc93bd0814b4a831df918640543d230a6730dbb3135218ce9dc614bfef98048b025628f10c6b404c6742366c3b2a4d70047906f589664a5a45e729664bb4939b8ea852169fa46ca60499844ca25654cb44b7e90f4244bb623d8917f14c6d4940bd6d4297417b644a46ca42ce95f5dd2948de4917498922a6ed2e914d283a47f16c6d457e86149fa8a5377440f43d2948bce920e3bd24930ae876e491e49bf4a4a4c2993520e2e2239b86a54499270002229f5b8f548234e2b3f9cf853027d7d05a6152222dda2b3a45731e954e4a91326252549326d538bce929a4499ec8c0cab471aa6c923fb1e5b94268f7260d159100e1b9dc9230a945581b2ea528f46ee124f2b1820f2698588cdb6d4f2d6582aea0a423f81f80af4b1ad79c32b3d9157604ef9c4e11520f20984b8023d914f1cc415b408a1e28f9079c3c59f0ad0cf1b3e6f1057a8a79747d38a18ab9a228f38718c5d9950c5582c96c5d9b8386cde17f338eb649de40deec680510ee88c8c5ed224476742ae6665ca10810a2b96c95babb276c231e8a6268cdd887138d1998d3d41413535357de91f2c8a300444de00af063480039814613d9117251931fd039b8dd67a4a899ce2b0695122bdd4f36909aa87acb06c3cc150953844d5d3d3336465a86aa8fbbc01227d628f90e33800701d08217706916a54dc6b549cf74fe9e3f7a477fd7d49de3fef43be773762a54fe9fbbe51e949ff94923a2fa9bb3840a424b147d8759d4fe78537c79b9f69bb93897b27da1bcbeefd491f3dafbbf721deb91b715207ddba7e936ebbce13c7a47fff92b84838e176ff2eaf0040a46f7292037004793b31480b87304c182e770c0c73ee98802e0a94f5fd9b13444a4afade35a5f5b8cd997dd785a19cb3d1c7074ef8d531d5494ea5ee0c261c6bdf957a3cc137a742ce769dd28d58829e52d7ac34118e352a2525b156a3ea6e92877d4dd65a41a4a4731dde2bf45c7f5e501a9e7d62d08d8b705eda406778f68957e881b2288d8a926700b8fd2c88943427d31ed98d6576cab2240fe61e0fa84655b352c5b271880a768786625d084000152a2a56ba5c1023460c157481f400974cab1de01f082108059402a7ea899c88a8428c8bceac16ed12d099f51e8248e20842ce7bd794b6c111d295139849b29931a316d690d7668341118e35aa1c5d39e2e4f04a4afa3723c64387fbb8efe3f1faac2c7ddc17cc76c74e9d9e505f404b809c8096804cf2d2094f380f9dd003ff660c6462a1190532397d015397ff81288423bddd6f8a9f4df2f001f6b1e74669f4b331153f1b9d75cdb8923fe4e5ac9eae582cd6354fd7dded9abbb539aeafd8c3acf831f18c3f1bcbb8a7eb32bfa78bf67485306fad96f284719d9492c73ccc87ce277b08c7eac4e3c4c9c9e987907a51dad98770ac4edd9cd38d950e484850dfc73af0d039e11d9090903e10c2395108c7a310525a2bfb580b83b116147872722cbfd65a6b911a74f9ea2a882d415c5dddc9758d985b5ecd2b3b31242b1e46e0f10e216ba9b5c660b05a6130180c060b9142146cc7e3d55a6badb5d65a6badb5d65a6badb5560b83c16aad30988dcd3ad784327460acabc14110421b1b5c39864dd69594a6f5790935b800ee7d9c02e814400843017c0c8fe479cc43c06b700a92005e83f012d4608e9ea7c18c7f1cd340839e572ce32e809e5e7a62f574e91102b74008bdf7744c8d67c5213dafd788c3ae97cdd59563aa70f2e0ca316c9cd6f08c3b3741a4797b7a5ece7bc7b4d03b6c6651dabcbacafa29a19e6f42159de611cf590c4d605a5274c473a779d45dd29916cb382fe1cf7fd00b0b09808534f80607bbe72084e0410805d0f36ad0f3bee7fdd90004bdd339410871f4f49cfae9e9bd6788770dce5c79e5fde4ac5a73c383e168e4f6843ff7c0f7f41cf47cc2c7788c584fe3b864a114645cb20cc761e0033c7188f79fff8843bc83073d91860a2b4841c6c31799f150fc6afce71ef880186168e482384ea38780977746a320803b24009717f45010c00dc07b40a400fc9360dfc6c4324e762396622b4cc5328e0323003e02e13d711c419188913bc3fbf7716cc663b464211a0ff01147ef322e2386118dd1331e3657518d2a0ce9b98c199fe175e1ce575bac7c7c7cd88ac647a64183ced0e09e06f7bcf780310efeeb62347aa4d1c168b0158de62bb6a211e32d6cc557343ae8a003abc13d1069c6250b5da11f39780523a0c13d71d4e09fecb587cab8278e3d22112397c6c17f13f47265bce7321efefb6ccc88ec60078a630c0e7c40288ede47f0322e033c052340e3e02d4842cf698823d853804b02809fd1f37e5ac09e100cc1fb8ce80714575081797e05eae7595c813fc515e6eb5750618a5a6268011fde820fe8b98c7f31802ec1080ce033685c823e5d804b3002e2673440c7678843bceb38b843de182daf11056ab6b53cdad10d10af431c8d5cf13edd80019c86381ab90378d8a30a77ece0b2f7f4ac47233747c7a0083bb8bc60013a780108d0338e038cdc0e441928828ce7f8bc39c49f060ce0e20720b2d3d98aea72dcd98ab730f911bdf70280481e57b190d773b6c2549f0c44eae9918132f1dc3f51ece19e18f7c44905ce38d79b2bc75c11e78e6c75b9fb5c39e68a3597cb7637b8720c97d4ed013f862b0b2c26f6287e468c39751e1937a25e1331727b6ec107c47811bee26797d8d32bbcbce3ecbadcc596974112c27ba168c41e48428cf77cc661214fec6221d04b6c793f04801e023c048024ccb833de238e31c4b98565dc6788130acb28f7ef9be02744588179a3332e025c16e5e013221ca71697b555c5060ad7d41b161ae796cb21612c4ab3f16bbd6221291904103c11003d440479fb7d0a96208f58940cc2c8e0037a3c710878ef5e288e448c5c501cfb3de28432b7b0508b003877231ae3647c8396552c046661a11eab2c3d3d07c19e9e9e9e9e1ef0e11924017c7830ece93908def33caf6388b38a655c4f17e13bad58c6fd9d02df1b1740a7c097c6bf394569538bce382dee1f082115966db1d0d873ef9c8cf7dc7bcf87788f31b505f6e7f508de3b073128c2227c43706eb18c7bd8532b46cf352ce33edd3cc61a168a21a6c037c6432fc608f2c61063802280a038e4013de2a46219774f1c27149671f7b91157dd38a8711b0753e0eb81f5f68023c8eb89451884d0bb56d69477ef2088e4c59071ebe913840767bca753380178f033ba01f4f63cec1384ff4161de9ecf0bde88863d6f4f07e060f30dc08d986fd801104920596603c78dcb0b82628ff0c60db108df9f1a9fb7c67b40a47939a07179373808226d20f60869bc87468fcfe7f511c77901200ea971ef130a0bd53877093ea0c62988d448f8b5a7c77a7bee758c896cfc2a324906a1e74b7e5449f0aec18d684fc778d5f2d38079697c5e1a077b1c32e3e03f10c93bd83128c21997377ccf63800e3072678845f86af018a0081a1c8579bdcfebd5b88cfea6130bf540494d28b053e00b8e4538fce7814861bd120441d10345f03c7148cfbd4f90849e7b97120cc551851bbea7c11eeb053f6f448d18ec18e2746219f79e227c3d714ab18c7bf87109c79935b55828c69a2d16ea39179e99371602cfdd868d1a3664d490c1c3d309d110af74a3f730147b84334071880c199e0786ccb5debbfc40083def317a84a158846f8f38047cbd1fd83f1dcb3c584c5e2ee604bd0f3ae3bc8331daeb01c52b4e3f62a2d8bd774ce4f4a3efde634cf4dd7b05913ca4150899a7a20a2ac8e88cbb0f9d719f62109d715f8104240a1290477c09c8a3d8f7d1c77779c41f65f5f228f6efeb11b262ff3813e8ec88877bcc09ee1f8df134ec5ddb4fb0047954023ae36e47c91584c90574c6bdf68f77fae3bd9e1fd30a61e20f787904bb157f40f12708ec129047b057601ed9cf23fb98f8e39d5fff893f9ef85302f351d7f348824198ea297f9eb1bec4b607934fe618e5ed6396f159c6e780168e3e2ef7b8fc11987d807c6e30aca59ccd397f63dee193393c19c27166511ba5d9395e54b6ab3b765b3d63922842cad6a149934418dbd12827d61d27b5c5a913c619db118ce79c718381cd8d6acdfb70e238bb60e238bdd8e62435b5c5d575c729bdee38b3868cf001eb68e4accb372b8eb4aa8a4e541ce9148b2395a25695ea723eba9e471da5fd08e92ec18f3eb18ff7249d4dabc958af0ac1eee88c7bac259d7d468ebc3672c4c5328e7308e5913cfa11c2ef7eece5d18f157d58c61decd2c284105da46cb6a3d31977c6c205c919778e471cbb295ddc298ee11d03830f770c9a5cc53db615ca23204c5847f248cbccc189432855a56bb66a0da105294a299d7ac3476c05c1810667c24d0817ce87a7c39a5101c0d3c1966c39722d1b1a1a70e22d0ca372412e33e126042889b5f608307462359a68bc6063460e3d32ae6261182fc6113c3d61b83400c3d8b1117b32e3bb2186b7c5064f19b0632206c70313b30507d6494695b201e7830f0729020c62c24d481032639ae864a2103263d8e0a0a1abdc51c9af2431985a136e424c20a28acee4a5d4c2d80b19f5845b09b64250825b1b1e1a64cb849b1013a6381ba64c160fc67cc2ad045b2128c1972e3a9397cf5998ad56540e26c4042f3a9317766ee924e1b840c312239a00c3eb0735585fa6dccab1ac7e3f81d23e59bd4e46c1598fe704961171ebbab2ac850b5451459c2d2f5ce960c3517de2d60a8608ad5b397a4208602130b1754208c62c71f358860d920e8cb2945add159d3331da510591e2ce8f03187d8636203d98a78315933405606dd19994554669d2e746d8893e2c9b3424345a7426ab4f5f09668b37d75e49668c14b01be614e9abac313d98ef287d22258ff0954ee668ad551cb9f032a5340e8e98834babe0c9f3f33ee258397698c8b3ab3196b1ad4295320fb1fd14bb901f2bc2b786f5c224092adcfa3ad6200b271c99de8a94bec6a607d376e7536ded9816b1975ed6b9020d6e117ba9f83563868dd1a414aa1cc7711c07133b392f6b579e4571460a2a4bd3c8a48ca5cbd62e2d0b0baab546d57ac296d71b29a2bc70c789a3ea04982d676e85514bad4c9e40693c4c9ded68ad619918f684ae090fe510f0ace1e27eb7dea7fe2cd4dd7ad95310b71e8885eaad0faa336e95018a5b61b756195782e9baba3d5782e9caa163ee4bddba956a491ef55f119e6b5fa90b280cc6cc14c889022da1dc6d03314d0f2a908d65f5404b2805720272ba40574036202720272bbe4fc64008c7ee561db6999dd9d7cc6b6647874d87edeab0ba46cc3df3d261d3619301d3252c0cd1821a2651440101a5d533d09902092658d4cc69a2562922ca8a95363ef4c0c606267260cac189cb01cb101520c32515b5268a142b4be46045440e42c828c04befc38885a498295cb8f40b60211a322b9604963148507db6b08899c5638ef0d8779ec31ca91c48823ded5ac51f127eeb7fab18abf2dcfd248c9909cae6ca73e58151ca8375e559ac945291d6b895c61d52f969c2ee247948d8a4e225d3045d4947d8eb7960a73c3018cf18eb6e693d0f8f285906e3a93cb413b9ca7a58f7b1be7e0ea987c188c2444be76977d3732148e8fb58bb588f508c8f1c5c39e4cd9000d860a8fb18802b2f4f69add67e36169b173cfdfc0449004fc1cbfb7d821f288e46aeb546cc374607b2310000b8fc6ec72c8778f91e8ecb3f971f9b727a30d658410a3e9713632ce317e9ee142fffe340ef52fee0f9d889738ef6300a8311a0c7ced7a09e19b3a2cacab476b1cb21f3a3fd7779a7387a11b0efbcf37c7aef3eef893f24d84eac9683d98e72a5f6c26c57670d24f4959369ed08d0c3893e9207d7e673b0536aef63c49b9c14a1d4208cd5783da5b11a7c6b8dc19adadaf6d6be9143b2cca7c61cda407ac0671fdd8f8f0f4c685af1b04ac58649f903c6b4da8e003db0637133e08f3120598f790ab30dc432166650e2c3134ad870418789349752344d97ca986a20082ab29a78c28c4d08252e9ddd95636e77b06051120d1a2b9ab66e708e609244171830180c66a34de1130c1c7da294b6a194d2fbcc18f3a485270814c3517d1fcc562a254bc99206e3cbb00b1b10e30e61db929e9999cfdc43b92e71dbe2b8a8b6327301a8b55c2bac16e032f760211b84cd9d17c24d5b03c3982ea1719cb4a9a20b1632c88206eb0c95ca37244eae82608189335730dd2ea5af711948b9f4402c3483067065182f605cefca305eaa0e3e4239660bebca3152501de0ca3152f87083680c99639c5bd74e2ad74e283cb3525dc2d37a96d9d796512ae6f8296ddae8cc9ec7f6d8c5a6d347152ecf79c4911e66cb12cecbc3c313bbb506cbeca7d4ed8e41d75aa60a3b7797f68ddb1cd68765f656e118746dd00952585dfb222c546fef823934afa547a3ccfa28d35c2bd95c7b34ca3777c8dcb2576094fb8471b425a7c47ac59062c24314485c50e3060e1712453861b188a950b4aa8e686d308649c16030988d63a2216505db8298ed67b5de1d6b5c6ac5c80e317869ed20868929aa1cd1232e7d08c3a54460a97229d329c55024182eba5cfa1ad488635782e182873bca6a8f16f4df02c229e914a5a255d48a5e6165f9d8622eeef2f2416d3ea893e42ab6bac2caba6955754d2f9b93d4d4c85457585937ad2dae202b59d5a97ca642a9713a6575b750cb67eb5cb22e27998f07f9c8c253b6f6b33df28d8f60bf755ae1960fd7bba857b5494d4d515155555959dd2925d6d5dadae2e2eaeaf2bad26673ba924a51555559595d5d6161655d29598bababcbeb4a2979ea4a2cacacacdb4d4b6b6b8bcbeacacb66737292929aba52ca6975a5dcba52ca4bfadadd918fad6e7e9ebd7c509b0fead4a30fee48054c55d559ddf9ab3b8f25bbb264d74d76dd2abb6047b36a727579b1cd49aaca56d9a3b94569571d5698e573bbd6dcdaba1316b33dcead7ac453b6ce2994f2999f54234f1df18dd2eeece86cbe2b884bb6752d9f5b18763ee17d64f7f1753d9c78053652a77944b1ae1c80fda0cef7332fd9dc7a2aa594524a293f020bdd01f23e5848841aded458ca5802b14cca4f29e5a594528edc31bc720c0c32dc516a497188ec62349fcc518f14d27f59577697bbb0fbd118b7ed7a3f1be3a6f7837ddcd7f1f45c998f004c8ae3a43cadf97d7effd8c90b810694ee1f8d5950847967c4699e195d4861ccbbd1197d9370ecd1aabaf43d5af2079fbea78bd2869c2ee063d00a1f63dc1857e1637763207d9485f0f15274467bb4604063c0290aa7672a4aebc0e9a913a5b9e004a797511a0a4e3f42a4d1a8b4499610e33deb944288446464000008001316000030100c0604220181226972f6011480117e9e5a804a1a0a931c8681c618438c318418000000200000323224004b63dcbee2a80d6729eac84b0e86127f4814e0e0d10874e6acc1ba190d82d089d4b84878607cddeb222759daab2de9854b687e751135e8b7916530dab8ea26c40438e115f2c8bac6c36e3d2e844d80b27b43f22ff77cc4ea171cb69d9799d7d64056ba4dbbf5ca32689fb0795e380ef75a5419a248fb93839557b6e938f161794c2426ba91f1426fa1cb15316806e610b1886165e3cad3228679855a412279e33e1144f2d16418d942899650e5698c86913f4746012c610da006e1f307b01e146370cc2b433d968864c882402aabcf757633d48bb437c644e5642ef9734a72db078c53b8a1955492cf43c80d9c4eb2031dade922ad5ec248748922b7d0d2fd211b4bbb45f9a1a5eb339c00d5a47fc4c84d7ec36168542bdf844ebaf14516a5c4f1548ef793dbe479e041298e1a3a82511f552d2905090617cdf403fc118a17444f0d476397b323961559e4234abdfca207f60184cb64474c71c6701be72b92c285f404d9c5c64afcccec17e8841b945ba493ee50d97ad2412f56ff004dfce22b76d3ea8f14e2ff56f92931f2ba599a411dbdb33c45f4d220b03683decc27d7497576ec6f882c7f6c708f33686352c55b6e0cdbd9a27d791e19e54456a4f459eac72245a79dd5d8d23fbbcd531f88ad087506a5d907776f3cb18b7bbb8e7206a5c0eebcddeeab8c00ae0e27e4b3cb120887260a3be8a82f4200e382fdb54a8d9b5467505ab4c757ee76a0ae6d5626b8336843450828509e41ddd870020b0aa150cff2c7aa50e4cea0d146beb675067588c020c19152fa06d53b0fdb0b7b389c51be2b28f3c019944e4da01e37839e15bf28daff5db7947d9b41e9cc2f2ac7035c403583fa721943468b4d8e81a7b8f002755617441a0fdd41adda9b30a32d3fab4b0028fc742b850bf9fae7d59bc89f7c45dde38fc186ae459bd019e209cda0ce22de4d280b6f1aa95f11f9873c2ca0efa564443368b08577d9d780ee7edd6034433283c6adfb1641fdc40cba0b6dcbc160d2d49c5bbb0f4609a83cff15e752981f816754dc2a879b98fc263146d7f22b7646a04ab4de1a21efe12a22c1aaa979763a232b8126e313e2ad154ed2f0dff8f003c2b03700f1282fce483b51ab21bf1d8ca5d43a5987d1b3f0ade43fee43456dc3676acaa951971dff4a856cf4cbfa81bc495ae3c1e070533db88f149d978cbb74188439cca925c99f8740e117f1bf32300208e48a1f13fb273f75bc87ae2d515ab3ac81bc8978269528959eb9c649485bcb3689e5aae78359b149b46cd4f9fe7058c6ccd90c60217a32738552303b49eabe04b53114bee180937008fefb6ded03e72f97fee8b63dc89c471ab06e90020d7e5d76e14e3cb86c80af4300a44f90e8065642595a86dc64b1d85e7e3f4b38eda5e04b158a86d19a34310c10caa2d71c61843bd570acc15862b51cef8760a4b3c1f983b158e1e99ba5a165dcc3ba2fd42acd031c6f3ee74f7b2242fac0ae84d1a8db93c0605539ef2d75128d13c520db1903d5c67440645044f855b55b9facc6d892cc1e2f7275e62d6689db0360626f6366739e253994df991d684c31cf0db1125f8c1ea0eefcc566cdfe3cfa34ccd282b587a1e4c5ba75e7eb8347cab9134bf0d19da41b5002c8d9b6947ae7eb6cbbba7cc45d0c392a5a9b7796d613599097d162b188a6e113770aaa9f5d6dabe3210f9297109520ee7ad361e1ffea573fed66169ce13099ca5f7866e7eadc561b942adddfb4e7087069c4e9b12c945dd9b6ea6f7b25608a7e5118c80d79e9c88e4d7e60bdf7c3d23f20175b2ec50eb20025f392f4e0109df442897d09047c5eaef43258657f8c6895186442cc3504bd1a980e5122f4b1626943268a0237e8e4f09fd96bc94ad5233c8561f72a1b08a991d587c33730268174e239abd43560790f9bce34fe3ec41143153d5904662648cf47c0e91fb2963eb02addcfea354f088f80f15bc417ae6105cfb21dc8073ec882aab6b5b66bb49e99ed74baa0f01f8b184c6ec4f72a8ec3f6f3162910a77c7382951700a579510747a1ad2bfd1ed0a5bf1f0003f3425e8b410017a0d838400ae390bc3d8b4062abd9d9cbc303d82a56d4aec3bb169085715a370820be019cc5eb9798a6c26c967912655ee458ee827d7bbe0ce2fbe043f88b23e8d73e27d1525eb9340512cd6234455d2539cd7422286612c2d85b31025a434abccde573e64e7b4ead0225ebd0586f9f76c7de8ff21de50b7ea14b6d38919e85c2f6e4fc13a1122e330da2c9dcb6cd338279c539b2b18670b9dd62a6fbf5b097aaf79776187939bac02a93035e02dac7664af28e65f3054474357a9780d15f4db579dd873c5bab874dc6102cd22a23caaeebc9d4809f39ef1e984e52c19b134a7febfa4fb3abba88e194fd03e416e585ff50877cd87a4e4883dcfb4966d8f2b9d05e157757f763bc3b2fd8e9e503f003009e4880f441a05f90b57f487a10567cb281f911cc78a90a144b52be3de37855a5fcbb944e3d1dc1214ae0499d3a14dce58d4a1127a046ae0e7f83e8b3b127be89cb253b5b4789db26eefa490f37a89f0cae17e62c079109d3f64f0b132781a9e2b089e7681cc90a1728ff94f85755561401538a239c19c6aaca804fab2331fc4e7faf32929c198c7752e3c387d510bf3d48e91a2f73628f7871bb82d1eb8df37ee8641a4eadc111bd5099afd817ebf26c718f11c72f5c4f0e56d24de0d4985f3a661b5ccfd276f9b27a71809141342687b7be2e572040744c71cca3e66a94d0e0f6857177bf04755cc0a0c4a332412fe792c79587507d70516ffcc4452a1e24751f9da78b032bf39c08cca363f3f9ae397c10d9f6e6fbad4a714e3ba8533fdaf6a85d8fb6b41beba0bf8f3e6cc31f43609eecc72b37274985da8eed256a88b3d22e813b6d4e692b70fe0f1b9b5832d9e9fc64e860379ba8d96d61af550bb88829721b0eb68481c98874d1f367af6ea8a3b58378bed0b67fd92b06ee617df12ffd750a2be756dfdac4d8518539e01ec921d236eca841faadb6f86e37a50a28c96f1fc717a2c6af011ba3b0c51c7ecbdcd9311832021731e47d0090e4739a7fcb73ce93662de73005a9aa215959dd6dd8ddb4af4514e917662b3c2304c3d7d41104d908c8b0484414754424b10325c1ef92e3dfa6b03b8410a028024426e394aa28b27f824fb47b08baf3d4b9478187349240e608942d823895271540764cb28f2122180c4f2d68927000112b408a9fa9bf499afcc3915f06d4ac891f317ca476dbaa59629d7ae909c1b515efbe5febfcc3bb6826bdc81c1252c3a698df08d80060dea824634e70bfb6872c3701f2aa72e2340b9998d3b28a535cc68fbcc4b43a1cbba956d37667696beddc1b09e8c59d84120d3cc65c11b423445a5d34b55e9786ddab5bdb9a3629d34ce8e2982312640449f17862bfc1034a92e7959c5a08ec3360d78e2909ec2d02ac96d2a343cf097d22d945a0f146e78f74c87957f3cacd4e21a1fcc1537d7dbaa28ed367b8873e9bcc2bc1949c5ec06fcf9ebb8fb9a6de4d9af954c49aad88395ec0dc66425255d1e4653461dec95b1d11a5322e718b1a760a8a8a556c29197f09b583f786af5bece47a7d320c629b0d6337208917815048d9a3c106b564ae2151d2a16ef4c6bfb9cfebca9404d6e1930c424e8668aaa843b2089ce48fa5dc42fad7a189dfe77b53dfe53adf4cba230b04a207945833490408621750d178d3e912cd3a878845150a42d0b81864d8f912d42f0c1cecadce0d4c60e6114378a8dbc63b7a649439a2a74526a0e1fc1613f21fda24713067e83826775cd18e88210133d13031f06924ea7e6f2b9601152a988438833f92bcea976b48606e0e1c200a086ec08489feb4a2f8b5742c3fa8577bbf0543243aee9c42311ef5677a874744300af23454aad0c12e7eef03123fef011bdff74017fff78014cff77cb805efff600bbd0755fcde075dbcdf0156bcef803c7eef403a7eef30c54acacf949dacfdbb655980603f875518f84b3dc0b0239eaa7b560bcaceaaf519c476bacf9847a1e5e951a818061e6015e1ffb42878e9604e138acff53dcd3cb13e4068c45e89776a5de14918aa9749b632140ec639f33f574b4cfd0209e9f3df83e40a266ea155c34290498757357eb4756d0a1378d39b875a56288977e4e623eb778a0f1d1f74086f36b8676da07acee14e280ac27eeed2fca3edd692c32eb8bff8651c61481f6cea37ffa6ffd7a5691b84a5d8d3185ed15c02c9df2b29495e262b532451d90ac18d3aa3d09bf39c192437ff31485a30659f11c36fb73c4201ac2c64c9784291ae274f1c04eb5267cc31a4d868e1fbc4e3a135e02f4fe811850d50dcde085601e5a4f5842e4e22a701290fee4d4a8de84a18c1791545d08c26ff6ace529d750379976c2b90645fdd0eba8676ff0b645cb154ed3ca6fa5a3f0ce2cf0a512e3cad9fad226bcfbfcd2f5c877b9f2e58a93a557c5a6ca352967c460c62a9b1ce0c9d6657a97d622a04fa672a0667901be8dfe9703b54b26fa8099d218cbb86e449c22b8f753f3862eb8386df719ce3d4c065061e61a63c3a734cf3fd8ded6af3cccf1841c0c8537c6bf38254c52a8d2cb311fb524ab42e04b76459a7178722399b73b2c50709d13c54c374e802740a8128dee350946156acaf0e1d6fcac90f6136084fa6499f5601c215c01492efac46a0f9b5313029fb83406f6a4333054066f054150c5f67bb4acfd25898429b7738ceb4b88261dc5ba7187d95853219df11670910228a9a0f5e08b9969872c0d73726174a20cf6bc3590364b9d4c88b7e896cdbc25197f55fdcf9676e4899c803b4494242fa45e444a557db59f5d1299b3e50fe5585406d19c73ec9f1110cb941e0e136e808e486c05a47b691d4bf65aa4cfdbd9b2d482f3e886b5c19a9ffefe156d8a124bf5fa0fd9e0c63b3f192433b9e6ff2b0c9f3676c6de630e42333c90dcd4913f236dbdfa4b9212d6d4d3feb44f3f1caa5aa394270329b4e8647916476e993229bec7aa39fc0eeb2618e07a29090b6405afc16ab9dd253cb1614a8f6d75a27a3d8542126d91401d2441f2d81aff7c1bea61c4e2bbf78f853b5ded9ea2c7ada0f6599dd2976881fd7127bc63ef939c3c22a36efa4d2acb3fba6b983ea023a93e6712c96ed4a47d79a4713c469f623a5201b2003461972ee4491934cf8a493bf22ede7569a85ba1db2834e60e1d53a112f59b0130fa06f6d05de0fd1fdd2f9e1ce97d6299f87456b6fd86e67098085d5cc426045612f0006fda5b183967a515277a37666d47fe08b6d17fc6479e2a013b7c8ef5f24b9352f1a55e3222815cf2720e6c35285330d9bd523c1d8be9c0b12b8ea30925d4c6c952b68d82527829601c2d45db86bc5f127f6ff3def64d20bae621bef14823f5b2d46f66414b66d108644b675f5a422eef4562cdaa55178aa7889fa45821425eae11893b9b214f6955ae5cada4262af2489b0b88119017313a415888fa30332486dc8aaa1b2e9b6c9a6fc7b730d5c78d8cc423ff64f566d3e83d654b02599fd0463c080115cb84c48f762924d26212be6d8b7f8390f81a9132447c4f6183bb26684ea004f44f67b79ec9310db16f584346783990f43a0b4090c8fc934146b63a00ab75c98a2323bcc029dfaf725556a49c403d8cf164daafab804296b63501ac67f9ff8646a2d87031f3d99b805e0023d321e6ccc410ee55c809279fc9a62f1e3660278964c676ead93ca891592651a38c659871e90c4c62330d4f819c36e95d70d80871018104f39385dede67b5109782456c1954f5efd473bfc17e38b3a102861c6fadc2a28ca3efb0133963bd940c9e5031a4b947a6a095d43773fff142a5d27710b829856fc294da2e452028622b2f92905778369e2afd0286d5952d58d78c3b8a5dd11f4fb27daca4795d06b45cd6e13ed4c3c8ed6fcd3df97a6a6a796ea0bfbbb5f7b67102eb96173f394d239826295abb8acc02095ab89d2e33311222af623c6aa4687c6d551b91abbf5fefd44d97c6aca15bb23b912bd52bfd225a7c5cf45172ab5ea6f6f257cfe76b8923765fb9cfafd3434ebd84a3c79f29c4e85d6da5b063124805bb40049867c5ce1b2f090c9334c5369d62fd367d7fb73758c7862439143f2edfcf658387b09916d728e0c00a3b5d51c7d0c8e79fbaae3b55896a629128968c14ec36de88644ab41a22841913285a691c5d2ef605688d635033d02500994af0ee3a490106b85e9cad16bdc0f14aa8092348491ac85fc2669280274c7fa30bda44b4de2521deb98fc22eb6b3417519ab8332894539c104f888f38312175eb1df6fd735c528288a50c8b061614d8e6073af4227754a302b4bce354f11a1f58a51502786a03b48c542e764147dd4a53acb62aa940f781207e8b7611058aa1ec9925e14f0e4087ff81b9b1d2c5cc3ac93d19742138c412f42e1af7bddf48da62fb831968171b6b140ef7997db7949c53b387a4b1ce1228f771fb384ebeff1022f97b3ad9bf26a2449a58556c2ca4bdab015379cb932fdd1cb0ce03be3c677aa06bcab75999bb9c50a931aa2b5c9378086e51b4538672e114faf8084429f4961a6944640442dba1270541ba631ec8b3738129d2722cf6ab47d05f3ee552c169586b50cb0dfc9e74d0a617d6cd05949a93003d4c594fa1b768121b1d069fac976ad77fb7aaf9b437112f2e2bb069894ad329c1328378a447afa369dcf0c99e08669fb98c28720cd398453a317b46b36eb8c94bb2f2383cbf110c4acfb5c83c50554adfffedd5197cf17f4b31c23fc508444814f9ac4e74eacda717223a211aa8a07ab26cd1f7235f476e94fafd016b0dff91e04984a5ce953a59f08f1a442b528aee9d27c6dee3a800538b8e3bac3e67e8d957ebfe88afeee69e1018f2be6d3607a25bcd049c801a1e67a17cc7242868b224b1e4f756fd4073e950005c6484d873d8d04ead32e1aa4ba474917fce9438644843f7bb247fcb43d7696f75797c94da12f69eec4bf9297e15529852944db0559ea64a3658c8e93b8216ded697b81cc394f58f18ad11f8809ede0cb1026d407e1b21f64183009ac7f3970869659876e61249fcc768eb6a291c3d41b3f48595d66112760b61ca874465a2f67f11870aab20561587607832e4ba6d605695ff708aba7dbbdb07e0b734dec13fd9d1fb659a064046a39b2147ef16f9cacf7b74369d38b43f1256a1c2f9c9ff0c75a94c21f6cb8a7913b8d8410848cf2d11bc03fa91437c9eab684c6caa4dcfc7cf44ac67cef3652023b4769c4836d30a7cdc13effeee228b4624394dad0b468349e088502c164c7fc6c8642956c25cb6cc049819feb11d743ce6426b50a68ae4d6f1eb570147c82bb10a49a084a5901eaa23cd11597f065bdf8d436ff64e32a2651740db8c386726cad5e3cce857d946b5be9bb205285f14a4a2ee7e03fc76fdc2b9a2714fb75c43a3067f7425c8468d83d5330829dcb41c63839e9dd1b0fa4f37e95fa332911fc9ee4c7f3e2a684358a6e46972a49cb2f2e92f47f0ba7f0a114b61f0c326be34221d48b082c6707a56221894e57bac1d357806065157bb7e1b7232731fefc56c47a3ae3a152126c3c3189a92a6205c4fe8d4aa37c309232f5eccbe83a5681cae8833bb71ffecd06ebce805b3673d17874a59dc9923e50837f85d4c2f9f51a94ec2c950a40cc48b7d62ff102b23d8278fdc9f68bc971378fc814484344412343f7ab63b15e9a43f4ea654d360bf0d48dde21d4d4c50d3b0b931d17125414c1d2ecd8fe69d929d361ffed7ac471379ea5bf6540832b9e69b300eec83f96d79685bf52f40827987c6ccf4f2c67acafc9edcce359d47bebc614765bda31a237722e2c80bffa07103f6939dd99d6c999be4b1a39939655a85df476f343026c6273f92a77a4326e71ac4631a2b774f0a945d820bc0e15c0de5c78f0827a968aa417a9e9aad969d1fdc605dc2d3e0c1c10f851fc983434a907aa9747736b75a5f25fb1d17f106099279a5e1e94e75bb73d7d932069341200547d426be485a0d153dad41bcaa8e624eb635a0c50b41ed3cc6edf53a0c920d2292db1227bd4edb28e9b3d0d70ab3ecd2a478513e4504221351a4c47462ba22b5075e9134bc392220cfbc1e40a522d84351c440d3055c6f97a12df402edd15ad33d1ba8b85bdbf8d78a3975aa71a49d44905e6d2d7e06b822c6deca316063b20a72ef97d8997d33385132e5a189e4a89ca59c9bb8ce5b3cbc533b67be140cd705905a312acc65c5c6dc8be88043354ea9811f77bd7fb1334e5a3fc6c95cf62ae85b9dde1f311c72480b8bad9402d549cca2aa84d04b78317975327a3ce9521f6795c537fa4846c91ed9e9418b3d3b51b5fb5648f4e77375e2244bc6f0aaaf8983924bdc81ebde71e718a32d9bed4d8877b070e40e4243a9b48fdc29a7f3042c351b3b720240ac64c687b1627ec2f58ff11f10acbbf281cf226ff3bf8e817f71662b46312eb7f2d3445fe40f2a2b574d39170d99e2afcc120e402c74aebab7cdb64c08a342d5a29e4bd850f00a18d5c1c8e2f1700156054b5a27c41832a1e585eb84bd9edc33c521d7b74ec0e4b35c3ae2b420ce0ef5edac13f51b394e9b2974a3d05bc840871aa7bcf2418bc9fb49f40219317228c226e074187bea856dda9e9cc920831d396c7f25bdf71a6642327681961cf0985e7a97eabfbea15792228bc3f24021cde2798609523f6152cb73ccd39810fbd264e29d71464135e23cdc3165bacd967c24fa0fe484677f68f0ad26a2948ae552afa4f46d9a20cb48c1ce7410dfbec589ef60cb3763fdc54489827198a7068df41f7bdfc0e9ef60fb373125b0d3ad99298a84007eb4feb444b0654bf13451b0c21ca51aa8454a98f3b94d7ec7ad5de3f766d3a1611222a8ab5107138d0259fc1b2a2fba8994fa676de90c42c85053605806875a38c3859925cf7e409832e1f15b3ce2b126727c1c39d8a636138e780c994d96988606cb2b4d20523294326cd35a5c886a4167b2030fac998b726eb459bfe5790c0559ba0b2bd71e99b97ed12d0a40c508c129cd37cefda047584c19fa68b2e7d37ba49093818faa9a106939ff79f7b988c9c1e40aa0fbac04b74b39a4df8b98db0184378b1dc07dd8f50f85c7edc420ee093f924467a6e7a0e370d0f01c5fdce06882b91edb3f1e4725a511c8d41cced1b1ad01e6acda03019ac4a153fba4784027b9c4684d87021cd372041376c1d4ee85e325ba599b04ba211d6f4305eb46604034badbe3c51edb8877a66bc086de1115a0e2bd21a20d90a663c61440c8c09ffd8981c9eefe5130f6c17bfb52e6a63703f2a8a5f01db429e13ef81db4fab9e8bff073904ab0f640695c83079a91c12e932ebda1be15f06ebf24478fbe6fc589c80b3fae32e6485b644e84ea0eb350a5b7bb8695de650aad17e37f8817bc5ca99af7e0f0a11c05a8aa80a0ac011c7553fb161d6c9aa5c44e8e8a315486d74b26a357da7a7d063c3848707c7a1cc6f94d738bb145866368511cce80c70133aed75b3bb416c035c0e985860cf50e0053b60b46798066d3f95ef8a2e36be6d48ba40cd4495d15a0d482936d3469cbbc310aac3661ad3d9b5583a46cf86eaba390aaeda734c320f2bcd888940262998d18f4fc63426f25576cd7029517345b03b42deaeca8e6de2d7ac0f1165fc96bba83293f8c1526476c01f180c06a9fe4507f833e3840f52c5070717995f311887bd75aec8ab1528fe7175fe681ddbf73d99dec4c3f85fd381e3126ee65c9f2f7e5131b49f2d4308d9c53a435b0d3599da20496bce11cf2af15e45d38ebf6e56d841f5eac9c0c26d9189c20d3cdb87b8c7d27443843251fb405e864756d7ca6967fd73bf3469d5ffe4b0f0ada435eabc51b1e6af6f4fbe55944bbe9d73c3cb361fe5241ab0799279ef44d64619d032a3e3789b2b8115c39c69d6054703cda88e01d64e0913f11c88ea7f888392a945fac84105553ad74f1f67310d4d120c68074ce105ea7c325e7b38067818d74a1597bb24b2e8c2d1a7be68af400d0718a7cd5942d8cd6e63ab9f502d93fa9d13f22bb12d982016fb9df7012db248404f27b3fc8fd6b74dd6f119330d2c6a1155f6224b4c3fb7024183b132d40f271c55fbe64559039897cdd3fd8510f28073a4aaf9a36356865401ac2577a2edd684f5cddb99dfcdf2ef0a8a77a5497ccee612eb17274b9ee5d1452564669ca27d44ef530f6d092664fb18dac3d5eacb17de4b8ca20cd2329f5746d37bb5dfe5df69089eea724dfa653bc316b09c77afb4e2a92476fa3d21f2a5eac7dc7452c0a17cbb7e698658b73addb41755731ba7cd8c1630386249577dcf54cd6c6fc49499c4bb8d51a6d33f4832d5c1d0444958b398c64877eccf9d48f1df7616ce271ba8a955f2cab9e428cdc8b3fe67e112381478c4c2731cac512a317462646933b317606c548e8d4b2dc36c548ab8a910f0347ec95ed63a995bb6cea0fbee70132de30561d68c96d59d4be66eae835333a7c3359ba96bf3ae8a9926b6fc18feaa04f84ef24be944aae4dcbb74415220be9d83d018fc599b6a7a79de136977f6e88d7c95d01e5048bd40ff77609aa3211eecde0d1ed2ac4e78c86599c28201c507da5f36d97d3eba8c0086eb99d4edb75f09f466b3a9ac685260a3972f622c73a387cb2258c151685a2fb38b57f6e31dae32849613292b3f5bfa12a9ca48eb43f895a165fe3713af60389f0857613ab6b9e8331590decf2b5b832b7c765e2bca3ca722709a31ab9900024b3537f8952341ba52a70aa0440607935dc53fa1d0ec1c34e96ae9a06c9fc114ef902f14a8def3410ce43ae76f7a07230eac17dc677ab2602f507c18bfdfc12d3f6f93bd00fd161ac2c818841e52bf1ae9d56336303e7b8fc9cd2e6266a1b849d2bbbe99cb710dbfbbd6ed2a033f593e07e93004c4122da7878ad4bf348c113aca9fe42f2f5b8a16fa5a859a2ab247f43f126c51b02e462a4841a0e2a1002352e7cb3f477450b8f975d7743afeb61a826f22c1699730c8f500dcda82b1bbe541ac3297f211e4066b825f23c0fb49865f3c5ad0ec41a91d8a83f40c51811813530a09bceb9d428c27c0b35e021bbf121c488c3a4cbfd2572a6c770c6003cacc1dcf26016999bfc266d5ca5de293f993c63f6307a18184c478c1f5a6915dfce558275e7c83a2740845a064e96c4ad440c715511258b83d46a2d0e3347cfa62b1e67557208352e266c8eeeb677d1b440c075247bf197802cf9433184a01ec90ad330f862fb8e1226cd69450fc701eb73b68d6e41229e4403f0f57649c94a9a21886dcc41ae6bc79980bd37aaddf84d61c172714f069189f43a67d07e46fc0f31f12ac0ad4536797303356d810a660f914b99bd78a79d132e3ef48232b14fc0775a6e357ec92712abb7cdadf939dd9cba0561da1a854306900e59e1f56429cc44c5556e7bae11238ebc81cfb74b42e6bc958ccd4b796654ac6d6fb7c76159c51b2e85305029016c4271daa942c7f21430df2554c78d82c1953e1875545deabfc52bb81f819cffbcb41b6b40403b4e42a952bf670dd2ed6651fe0a52319f4fc3c9786118522a38ea5a3761d1ffd0536329c2d1dce698eb873e0db34a5f7e69a83398e6adb4271edca593699fa18dcf87fb32dff7b6215de949fa3b8dcaabdb8a387c7165de45c6cb3890de741456cbbe0a5f243fc79c480d5073db941a4f623402e9b95f110dd66e26cf1ddaf1a60fcd9f19c6df6e04556a18ae3a6b734ad31faa3bb32be0cd4d04330dfea8a395e723f88bd3408545383a39ccc26b243059588957f8472838dfb1c6cb32795767f7fd65a30a5877c7e4957e022e1e3f90140475dcdcbef64d43e70c3958e6220dd2ae5e6c5b4275e311e760f0af9ebc1e74eba58e3975b137c6e2d53d65e30c6b3cc894fbedbbcef118683dd53fd755ea482c72bba11fe12fba084a28a521edb8fa71aeb6bbf1f355cc8c7f2a963d076b988970ea95f941752db330da3e2eeb870bae609a35a2517e0efa78c56e0443ad56d94426b1d6c8f525cd943b0baaebab27d5cae454e046e11de5f56457144799600826d5aad2339d808e687a5780623449ee373d878183d18ce6b234aa11f5b3af1a38e6fa0f5fb801b076614af28b56093eea7cedc8a1bb32096e94a0bb69c925dcb0a8e1f95c60ddf9cae94dd600b3e52cd8d6dab0e9e0662483e4a5d467f89d14c7f0169e24fc4e4dc33e5c71eb5c4535cde98c2b279bcef714009c3d3a5337957310f48ed106a23284bc0132f301b8a2df49b6dea9e5b9eb5842de06c2826afcb8a7085dfa0ac74b6ca382db8fe9082b236953ab7419444b0b39224e8ddc2f6a0c4ca4090dd85af03a8bed9e9d319b71418638aa378b55967c76549307a5c9940769f36b039304ae8462928bc27847c734917f82792e94b8ff676e690f77bb17f85525f84f5b8053333ea05688b1b4b9401e7e1d16ebe8b206bd71c96b81152563e18ecd850516061cb61b04bcdb3b845fdb21f50ca544ea0773f1a971611203835869c65540ed660b1af69092122ce3c59ae76915b0320fb5bf1425544e0fd52b01d15f2ae954a24f2183eb5a2c54f1e7a557577931d4d127e5ac0c22524672f4d14bb2c492dbb1699cb7fe7ff896a23807008dc7d1673c63f053ce780da429148d3f5239efbcb3d3afb53a08de30c9626e08e98428dadcad6fb81269ad1a3c5087bb236d9ffba804b9abd438bf3e53957306b03813a369637fcc1747d8321ce688d4decaceb136307727bc266c07b23d30b02d1cd4854987f7b899d2de19c344ac9b255c7426f93c4893717877c95df0a2c6016f4eb9fe61e1f426e0f7a22ba9710df2d1de154516c032d2db0838b0e4d4328a1efe99929837a4456ba04772c4359cbab1863c94b28448c21a82446477192188105ae0f9c340d12c8488968732ba669c175d3a954602435f91b8baa02b90bd705241aa92097652f92dc7caf7fc4cab8de231ee6da2da598b2d07a1dee4bb14719e62d58c64a1e29e4d224b3d6eecd70fd35d750a97569ed27a69f4a4c9947d224dc4052bdb0a70d0ab364ac5104fb5085b9b715d336f28f217bb8c55e887f1579f2e51b2bfee283ac5ece5aa7745ff2e72814c6b70ab47712c1cb9d7ff5dccde00cb76003de40533d0f2f52aa334d4565640401b79a1913dd6646146f3121703615cd3c3d8ce5507dbb363be4df2664140d56a34a7ff5e69bee6a654fcb5be15feb16a3f4c589403ddcdbda7f3f59edbc7de3342e73d099d59b1f714854dde5fe978f29e4e29de7377083c68c4bd0c433ad06ab2b8953630dea219d50039dcd49f7ad102bbde73bd2f900ea1b854129e3aef1cb9c1c4e463edb5825924d0a03aef82087e3b0919b60effbe99e3d8408dbea1393c469fdd02bb8d1562268caed8ecdf5369ab49d12d8e31f1142b7d0990d96b0670ccf914f671004ba36f6554b4fb9362a6f9d838146b902e6f0754e8291ef9256e4394d7631a8feed4f93300927f382565c202fa83bbc4dcb12c960302306ccecd60e7a4d8e7aa1320e55e47918934f0b509393453b81e50dd5498e0e3b945d15d5205a8caf1b2079d5acd9c21a9605b7df7aab870fa6f630dad41b18f4ada75b374442f85593f83cf1f0d62554a086920e8d4d896a244403ba7582d809b6d484f122bd342bd407863cedfa5f3b2cf423940dbf3c2ca571214206def26f85818cc8f944c817b4e53b107c45420fc21ef55ca0543154b7dc91082ce019fb5d87316b445891fab852d50393708bd7a1495b6438d40ea8b17937bbfec220589fbd4db39f040f4eedc0bd2e3e2b1d3cb11c3fe981f8588b41804c5a6c06c72d5f0d2e30801b0fb835257c9cf9cf05685d4910fa85cb6ff26bc738762c53e54e039d4fd194f36e91c8c134fec268e2f3a9f2ef9670d8625f75999c07de75a916025824ed858e394a5a73a3b7673a3cfdbd5f6508636fdb0553815f9d4b0c4503d25fa4c2b2b8b68217438523b8a3c7190b7b4118c42b60835cd3b104aacbc6adfb8e3498a157cce800570253a91fefa5070cbe6ac94c8b53a827ba24f75bedfbb6a62c723499daad60ab17ada51a934742f8ea7d4911d8d912e5d4784ee26e7c659f8af635332bc55e7ca0e8ca42430654c3d99cbf890792d33c1f938780a45ba288a2b26d87f7fda846f5e8bb9614c1159b5d23c167eb0f26ff1eb5cca06c809aa6cc1b80d4f674672ff0bcf71f0f1e6f04faf5175dc6f802c7078d2c44d8c6e477a3d29388eba434986c254e26ad0eb5c25997e0acc1a47b0b5894838074a12c5897b1e0685915c4adddabe239265b72fc64fc8d8149169467d1443f98c467cabe951a2f13955d8fbde730c7a62d2485b08eb26a26ad228920d7e4c5b9aa01b7bbd95999334519749d23219ee0cae2a507c0d113458ceeab59d7ca18f43abe92ef90fd184612515a6b12175e55e67a108b03114af02ba7cd7a207f14616c022f9678f1bef1de47628ae67ea11b8951315d141950fdf4395c3bb3c74651d34c12c0f3856a9838c503bde38a1a1949a1fae0ef754d3f38802342e7b76b27b9f9980cb16e693f09b0643d47cd0d9b6e83da45cf1898abb2a9fb053e30552a8738fa5752e6f19e67efbea66f015373c649354a4cedb059572bc46cc08d41c208a71fbfe108dd6c4288f380044a461ad1820fa5d92a0dc50d98c2bbd97e60b2016a0fdd0f370716d5fc14c21b6aaece9c28e19167a9410b324069697dd296af6f950df27ed8356044445ca0fb25bff96ac97e444a00976054efdbf9dd0fc1efc27053a33d27691f3cfb5615e38feb69ce7b52ecf8a111600605dcb4b52bef2a415c54d346a0493119cb50872ceaf22ab3355537e88547a653480e51f534215dff49bd8a79daca8e4d438d8051f88dc015f2a24f53a380d1a2bab475d7ab2a3e21d8ca10b6403d8b7021551b3c40968b3cb45cb11093dab8b569dd2c3e6a23e4ca18fb9cc4aca44e330975b0244727ba534833371d372a354973949df89884d32c03acf6555dad8c635011b66eb34b4758dd4eec60cb775090abbc39c1f4ea35c22a9955af0a3c0fb38c3141a1dafa5602a137d954d302075449c9ebb164edc660348dc14ce1089b2b85d8879e8d25fbe12b4afc56f327650f3a4f6add2ddf4600edbf5e6db971f20a645163f9e1b888680d970a34846e63ce6981b51f66af9b612bbb4bff8883870be03307d3077a684fc245a4a7b69bea14a3069f8be509ed283505a13ce5e885650867e2b8b4261c02823bcc0eea0ec4b3d584b8bfeefea4f42c1351f1ac23f2bcec7dcab9758fa213cd727aeb23d08862bf698d61a0488b784e911faeab26b3f9c34b58553bf900e5b37258f182c0e9209ecde7fbfd2119ab5ede3d24f0c24b18689e0d2fd1056c4316beeff2a9169e4b2cbd7439b6010e67b58aa027505cb4e94a53330a1703d1a65e1c6688e0debe071bf8631e216a3a2accb47d0b5184655910b62067844c6da48e24de5a8ab3fe65446bb4c3d9c2f8978fcdfe546687f136bc3083b19aa1e327d4333202d135599a5de3c0e126a8db073f3191821149d25c015d08cb317b22d049c117d2d22d46746ec04eddb42fa1d3abe18b3fdd40e963b9b3c159db4c6a0dd7120a0a0b94c38c520814190e2e24c529a9618a6a57e2e8ddb72646cac6228b7c29c3a0e0842a90a58289c5dc11d9dbbea9bdc460791e3ea167a4c02b21de6eddb6a43e8c92215a925100bb0f40c6d7aaeed43c51ff9fe3af7ef7699c4a50c21eab67c61f1b567bc7d1850c20a6656f7a40b45eeb8f42950c1a8a0051b3454084053b556aa3881e49eb6ef112fec4de5f4fd4893b4300990aa889d1dda4080989d9d46e08d5f425669675433ed2bede8443b1c71918c42d1d30e14bed7f3425642f969d1ebd15b3b0cce83b033e79fa280e429d7244628472e6cfc51fe6355dc087f57a5d15fb093e8ece60b49344e18ccfe44d6de1a503a0b2ccb90b6c4a15100336b291b66c3f978d93628ec3326ca9d2c0c85049654690f192d9214045548e82b26b5bfd05e26aa00e1941e2b8475baa221ffaf29d76e877cc3fdc5dc1fa1fbb7aed0ace09b2fcfc1990f959cd822e8be3fa10a170a2a688de6233b9ff6ecb63942945212676312f5b4510af4b60b67e362eb82a690982fa8d1a7e8fa7a5619afd0460c9551d85788ad53edbc369ed9da08c834cd773dc32e04ef7420dc2b088a39d4e0a73927eb30783697d8f791ad32fea3c58f6a666915ce0d8ad96e4027843fdb5d2ca31758db809d57267f0b79d7e1a3c549c35c20cac23e848235d705730d26241da30de4428f29ca8d4c81ad0ab6381292d798b22e8b581f62194a864448894341c95fcb5eb8ca514c3cdf8bd603ea0c4527b9cffdbaf3d34966f415c37c9a75e332c37449c9a65b4cd3500514fcc7310dae677c7331d30aff4a08a66bc105c6c5ef40288d124c438f96785fa7e3ccf93c3050736e7be98ab4903fcc761a135556085f5d94f117b7f7115c956e31f7e7dcee1a8cf61c27f541a4c35e3815b306e35b728a3ccde4c8572c626647d4600029efe9a027817ad2819699a8d12e960949a3329be57234d0286b2c0cef2aa7d57d145709ef37738c01fea1422d0ad00d5be2c2d7a9d256e21adcb08fd1e0c7dae05707f810f231b45aee67b9d85934eaa5d188a462513fd0734f6a708da34bc99d93745b70bbd527ff2c4c2117455f108c61e211ccf547930023ca7cc8099074196c40ee4a38c3553a64549e733e8368ecce7d78f07be85913f3402c4df643553dce02eea59443b826312b32947b75da31a756f8476befa57d083aae94079262f1bf00fa47cacfbddb0f8fd1bb6387c3ae36dea3043ded1c547594321dd19ce51ad791ba221949435abdc9ecfcbcace82e1b04c6caae79dd34e83d105f019580fbf81e3db491420da7aef7d890e3219a52e315f01e8b769a18c47e7ab16317c400540063e8e4c56434f780e0c767d6359cb2d4d7fd49421eafbcccb80a79424b3137ac5a7113367cb9f8e8e0b4a9e32c42dadb211aa7d6783b015e0baf63c2ac0fd02896ed5f04c366630597c36b424874633da9c772503c7df584d310f9f4692ba086abaa086acf3639cc28bf15f7e5e685382944642804a438ccc79c043550e671d6193a112df12bbd45321f688c84e0830071ca5b01a4c9ccf4adcdcb8b3efd31d2a2826e54663c0943f7a7aa8a67095bf142c8764589b195c72ed349c2102360bb7b1ccb0c55ba1371525dff654e97510ec26925678f457d8127648f257236b2ab1e07e04ed677c02e0ba0cd3f1a4d4d33e54fc2970ce8a1f131c5a5bdf7c6548cc6311647fb10a34b6676f97b31b18a12b4548b9982b705351ec5a606ddca489d455fd7d5476ca149cdca54ac5775789478401df3c71b51fe4c41aa8af43ccb3a24a37660ddde4b299575f03d5f1c87bc9078eec18514f820011f4f97399212fe81323ffdc9ef4abe4f2875a550d843470bce13cb27f625bcc505e99084effcef0136e16c09ca3f26c90799b67b240a5f250652284e5548376e17a66c9317483c58f641e9e457f5bc2f907c5810e1aabc8029b4ddb2d56127494e5ebcac152d0321fc0effc77151438033bc90e191ec720431ff608f060ca08a20167c631686987f9cb1955d81e61279ee6ced49aa51be1f0117187a52aa9eb38a985c801618893a920bea57cced755d04ef2464cebab8b56126c031864e49b6dbf9821e389adcd77c58abba5700eba28177f4ef1183142f46a869e190b9c8536507624c05f574c0eab2257c3e36b77e64c2c4921aae3329a9c89186822625cff5100f6b521a3e4e0e1f9f93bf02f093356dd9fb3b88f8e955cafa252537a10ef1904ce8db6eb4c0ea10cfa65674e199946040d402fa11c57b56bfaacee53e20c4e3f0f206ecfface68276e28007550b88cf423f7209460c4641d0d9662f0029fb85a56f44d88a60010174034220fd8cc7ce3b34c477623030c279e7481f5021f7642341def110566238f0909d360e6933adf1de3b67feaf80d7ef28da8e2615740344633491810ae03ff216f1770b66a4bc994417d2b93b5a43b846122cae5edf56165e4e1a916d1e6157a186a3291fe527d49dc99aa5a1a3b43aba4fad3b14604a0ff123ff2c558725a17586c90765e9e724d88242a3abfd96ff2d4c811bfb398f5c8d81356a5e58a93b0c3a61b30e4c97746d31ca444ef088a85839c2d76ce929c76b50802f9b20ae6ff0b00ba36afa3dc2d75723a13dfafc45f80a343abf5f20355ac91813df398c9acfcc531bfe8b91d84bc2be9ee6cebfaeb8d911f747afab44f87afb7cc0b30d547a0aac351177f57bcca8a4bf214d04985bc8d67426e82a0538778de7eff80867039b6fd0c7d3292fd66d34ebd504715714e6413b4c55e8faa256b34f879ae403024eb552313ba0dff790abcd79906357ed828c5cba511ec7ecb9190181afcab83948d3fff14de518fafc4941e0beed19c8ffe074c6faa3704c7b3aeebd7118f7dd5f939c62d3e4d33c92daa404e846c6eb5e2ac07299bc9449c8bf8e0b982988229cdf2f04bb51601a8f3dfc9f528bbb3dd02891ce348d055219061a53fdd1026265f77c4b488eedca06f7b19e613c1d286b788ac818653689875ca178ff5ca2876170b3f27d6a4e5249952f04a168e926b1265661701aada62d0f2b38401230835c31d9eba2a47d3f0f52b32075541c05ab36d2886450bc90db1af01818a51620e56eaaeac4831d58f1e8665719d13f8a83f053c14e9591488bec23c7daa3fcc0bdd2d907af326bc7c43f97a5171a8e44752415a807b497b80e5ea97741c1df43fe7583f052eefc30771eff59a7ef4a1d6098e2a974c365ca0b2451300426ea72dc89382406c800793e69b7908e7ac28d908ea4a96ae5f0f161a6a6625703bd3c91cdac33cabd12536c109a3bbe83d30f936d83d033411b1c8e960390722fff30d01aa95b31f4a73f9c510e82bf92ab64c1420e7f8184e32e4a5c10e763eeb609fd5e23dcf2203d7781763d4cc1c0098bb859eb8593f5b880f005ee49c95b4609f64da0e7e0953187bea16bb995567585f9e14f711087eb0fad0c606c653da517177046a69f54d7ab66c25c7e243773307c8d6a99849902a7dd7d6851c4bce0b091a3f4b1765fcd86abc72cce4390938a37a35858f094042808d2da4d4e24648514c7409614fe66f6717210853bb5c1406600e0c0a088f5f04f076b984696310b4ea5c0c92d31e01238b883ef858d0e7b27b68cd3ee649630f6d56f36543e95bdb5a68c05994c07fabb9d5913b84af6745c7e590fb5089bcff43d5516727e3bcee2136788bde9dccdc87b30a5f0e9465cc33cc06a6c2818954a8f4da5753770bac6945acb52f7f3e4c6bb5bf29cce80085210f736d8785a7a376e531ec3eb4e0811588a02d17d07b6f562226c41e707fd88ce2bbc0a3ffd01271677acb97f58ffea06bfb0b31f77a46b577ab077a6242098866dc81ce0ab6db2cfac99dcd4e482f1737d6e0e44f0f12f7155d9c3abb4fc7aaa16a0f28607e61ad88a6aeaac2bd14da658c32e341170a58d44b027880580ebba0d953a5a48c1fef003517cb682745bafd699831a11b9a0a878d8849d49f706a90622c4e72f8e94de678035e408d7fe46832ca84d3922df37fec67bcd86de73faed50d237e8c9d0027caccfe1779f5a325fff97c70c5001599318bfb92b38fe1488818c05e49200bbe63140eb0dd831510995c46172c35912083a693d45f6e1703bf14644938022827d692d6165a4b2310d98fd333ff0b9b05fe11900763429572ca08c8b9b031d0a0551083a5a208b235b93506ad0b719245c61b75e0ab318d8017a085d8d17648546d18c59c1a82be3d73f537abd5c905d5af3d42d20d467638740473c21649dcc41d488bef907e072d92cdc4e0c8df7638dd7682a9d48fcbf49d98dccc321ed807e654a4e7ddc8da9c3365eb16cd8b6324c9c26daed9c160ff064e7c0689ce0d6ad6905691b179e2a79fefb36fe502cf47cf5180caf240c7fcb262871e25336bff7a0633b29fa8247bf92e96c8739f41572e22b1ac258f50c4fd790370a004bc10fecea50494576a3c113ca5115941c01f6a014e5183647b31fbd23fe83bbf5907d4ef2ced6fe46e97ad3d8a2bcd8947e85519e862e379a1f349e9cb24a3e6fb00d91526656b6cff260b970806c372fa97aa9ab059e2edd417b76d3f92da55114d7d97c580be47141200f74cb87069ca408e4b86276a7abfc12ac9c6bc9c1df39bc8c5b302552b87f1a3e4842c20d7f702156b9e64749735870699fe12eaf4393f1bb722089ce8dc0cadf14f7d68ede9ff2c33173ec7473cd493d363ac92cdf83c35aeca6fc1213d0bec188a1ccc3ffba6b499bf54f2744e9988c354b4b2f32041789fbbc25ef256e7cda4d898181e0b09b7dca16c7e816929a4ad2e687c17cb7f949e167f67c966d8fbbcee75a7bb85bbff7705785c073053c987590488312058295c68269c9603ab5305f88255b82eb67c1a2c5e07a3798ddb0ae15d6d303c2dc0de1d88f30ef4d38e65098bb158e7b16e63a2f5c2743afee0c0b69c3fbdf700d7418661e56890f8f2088515088692662f41b49f56a7bcb4d00497b90700ab17bbc1c9dc79fcdcb37f3b4bc3c32967712caab4df26a887c8e3b9eb2c61bc8e23394f8011f9e010b7f02c20770e027ff89c97c3e093f61aac7647832431ba23fbb63642b5b9515f0f60c5b62d1ca679c4e00cf188199ac4818cce806066d067d3d808e58acf1816313522bc653e51f2690a318395ac7d6e5f4fa17faa6c27c4426d872d40331a44c25ad2103ec08fcb44379f54b7e2d6d32155da0d6daff2a2c02dfd899699d75db1c52dd9cae20c08de7841beb80e23807444383bfb7c5c41dda5ecfb3f12455427283426c70e5dae528d8a9e096d9a86e644b764cf0dad0babaef3871bb002b0339995f35cdc4ac4a35a2309e9c3bf8851fa620fd846d25aba7ae17e5a380380a997478bf05097a9e0c61baf453b3895547175d73f704dd85c1bc973a9a01e1d63557e3e34321b1818d0966b9b14a4383ba5d39186d07e9b8c665b3d055163741e91f36ab84911e9c85fb2483513ec51554c795cfff5642002307d105b655bfd0fb6dbb96de761cfa02c47df39b9c4bb796a3173d69bb07dc521781db1cb90b08bbda55abd6c549b35626e8224d97712633e502ffc4859483ec853b5de00ae9e20347f4770ea2628b73eeff48e10360f2f8911fc96ad877f3f89275ed78128714ca4511e9672312fdb803a0a56070544c098f48f8e07806ff7d74e057a901fe16839fd67da68eb39ffb63f85865d6bb8cbf594e98720ee4bfe7340540a9d2d6252eb507f80d9e0975e6e0b8e4f9dec32d86d0d9bb9159bd52b9f9dd5c72471ee3890cb066c2c1612e326f92de6ee3e97b84f79e3fbd076d61b64b0d13cfade4bf28892b293599fdb439637b22d61e6fdafff6f1b3932688ebfef1921f6fcfc737f778507a3c06d9ef1ad9a3f3c6e3ccf13f567f4cf58757ec65d3f82334fa0a054c64fedab12e495fe8d13e31fa79c5d825995331e8514c1e14df16bdd67553cb63377f85cd3f97e6947a0321e07b358e7598ab1cded6efaaa006af8ad4a55ab1c86c940a3cba04e2c3220154215cf6076ea65054a20d145c9382e33b4e2ed181cf68e05db198742d6701576f60ff077c5f9dfcd17e244190ac69d70725fa1042bb51a36814578abce1145efc79379f3ede7f100118f04fccb210bd26f462f271819fb8770eae75559fa3a9fd68dde4a007398a78ec692c3d77ba1e6db8418be0cee653dbdb942b3ae61a7b6d60ebaa4938050d8abaeff9faf9bc7e0bf533063b8d62cd0c2e98d95d30ca0a4a6f4c1fb315f3f909f35ac5ad1cdc15c1df04da4508719982a713d99bbd79c10bafebed3e58dd173e3756d8def281295fcaa5bdaa3f4b2d77631936b01c6a7ceb55bbeaf6aa7de594a4793ed24679b6cbce23ade90c424368eb5e517a3f74d57e1235f611d0ee7b76309abf3ab3b6d06622300e55d06bd9b7af4ca3df4934384315e242b6f18f1db6b1ef197be0c573193d29c94dce88c9cf36ee6125a4c02f5e42f4fe20c00d54729044a4d2039eeb1df3a46313ddee51400f4ed0170fe8ffce2972ebd82943b7f6caddcbc739eddbd7bbfd630a90973de76b0ca2567d280d7ad37ad84153f59a21f2cbc0f618ca9c824e5d19bb8a04a9de606ef0854114fdb9ae73cb996bbd80597740e177753fac1cb3aa9f9a3a969adebfe8f49d4c1f1c748ac461754cde62e999293d1da4a72eeaf1973478b78da7356584b8fb3a69cccfddcec77bd7b9a7bdba7ed59cdfcbd975388c3a6573711aee50ce3c5ce6a475533d56518974dba92c347e11be715af44e68f6096dd830a5a2b8bba4a15850a018c751ff5bdaab9fafd36c43991d3f6a7c545848db9bbe4b91fb665245b38b864cdbc34f5833aa88af79485401f1b2247dc375ef1d54d1ee8efaa70279e1bc82ede6a9f080c01ed28107867639d54acf13986b8186771519ccbcbd2dec4f0484de4a7064c2dd1a08100a742bab9105716b084610b8ad3446e6acad01c422076d1172ad861f01285bc611ed56141836e67f284ae0cb6d4291e12605a033a6acba1b8d62b5172a4240a656c243d67802e10541d78929202bc52cba9cf0240288189ebf098d3fc6c1283fcc6c424d905add0ada9060ad36d37fe86a6da5b900e1cddc5a4403020adfea54c1db0bc0cea3c663f5baba2e2f9721fc3a4259b9770b86b800b1a10574cfb74d33afc8caa11438af08e90ad519b9b0ac0f23e87173347295b387cbe715ed598d0f8cdc56c4c743aa00a5edef9fc59ce9a4dcc8852e04c7e72ce48a741b37062adca4a083dc8461f7090e43692057bef30b3030440d81f5e3bacad29817bdba8b6fa88b83e50240cb30553f2e901e065b14745a98f12cbca92c6e3116b0182c72e915020a8661596e021ff2557cd717ce8796337f176216709e29052672217c781a72c17728b6660b9bd96164725a9e3f2cac7c4f72954bc4f7cee6aac39ccb25025a2839f7120121fee6f4c48949a1b8d352649972dbfd73c82737f0d6a72c0d3e4b86a4fbfa1535a77ea50fffab74dbd78a04d19f6803a5c8833d6497dd0c39baa55299a4bba2f4754e11a974abd178d2682466b486f0dfe847056cf455bd12893cdfca408718cd712215378e814672332313bf5eb41c8d571c539cb1c353acfe7bd0467f23d18d33c96f5c0a746363f19f8ccd5bb9fed3b557d366e6667d396338a4c1ed03d74f6f87c3df3fcd0518148c697b0b83f8439477657b44b0f718ee0bb21d22d28157e06393b779e55f8e5abe58d6f3f52bdd26148e2c0918c98162e4e611a82a8c55a17972aa2280829d777d85b2f21929b0a18df3f3c0ab5453aa9a6b9d81a22a843c87d0a76a9e35fb4a2d72aa6eed66aa80782c5549fc275542bc90aa20068daa205e455510834355102fa12a88c140551017d523eade3d551077ab47d481578fa85bac47d4d13755f8483655e0aed354719bd78d221930a67adc0553dd3ee85201f16aa992185ca9c44f32e1cbd93254ef447116301f1196133a13f3d98a7bc5a35f2d11543c9954b5e118aa0bf721959a9751df340d50af2aa8964d6bfa70ac0645a31353083982e662d3379489f2c3649425a824340eaa29d0d08c787ae62189b2bf23068f8aa8319b0b23e55e0404249a280c05cd32b562a299518ece5c0ce2356596ff30b92c41d3328f3e96ff1531d07351dc79f2c82dd7113d3a107bd011abfdeba44f033bb0b0c6b136e7f39da34b90768340e742bb6452b1e999c346c312088ab01682f92d8691a7a07dda8bbca01a74b7002ec9546c7ae6b08aa6d788e46fa04ff8e47ce9109e200999be68c5265279545f3061961039cec5e13e49588020116651183f1872d31f540fbe1b75f9f49441f638e4e563e0fc509fd9312b6b04a1e04c58419b5d835ac2e0b16d9ba782501ec669ee0a7b18cee88bfcc29e56047c65c1ecc5474cee8dd540888a2cc05b12521071bdd90ad6a6eed498e639e1ab409157b065fe5c1fad57214fa6206c9d56ca87af4229108cefebd5431d06371eb86122d961f233f8f031fd63f083b1498cb00e1e5981778c57cdf4ac25130fdc63600006acd9f16412b8781ce10a0354b6e6760d70902ca02c00c85e876bef1f88fb08ce7e71b69df073d4db67573f08f09be4d3daabf710458c95635f327e53fa7b2dfeca994f627ed378eaf50a3c4161e3e3bae70cdea4fd48b3ffd1f5886552d4e9aca7e8ccebc9f9bcc806f1ad0036149df3d5c20ed897cb8d1a4dc3c8b79f3a3e3299fe30e2f98367053fd2ec7f9cef388637ed1629367c1cee9cc09b6a1bb36489cff6cf79366cb77eebec5b0f797eb36a5e7bf1e941ace95e46568346a8d5d1586d7b08da426a102feddc6162cdc842c3c15f0e097eb329cbda2339a481e3438f8b43870149c61aac9e58f2525c801c568e1361c1647dc3100a56ea642c7d236bfb406c813449fe08900e542732a8ba5048f749f2d7e8d796247fd6b6886f404ce12bc28d0613e2430bbcf298d082631eccb8d941b4c88e16709b408c1ee2c410f3dfbefb3a6af6a36ab1fa3607a14a8e5443658d8a390d5195159a4a9869de48abaad963cf5df7ea6f36f560cc29309954240bdfff7ac1bf0d16e2bcae8f1a57882cd791810f48664dfeb48c6330fa6c8cff1ff532a6cd7fcf7e574e582959474748cba0194add3543a6832d0eb69bd866b6cdd9f6665b0cd96b3f68c87eb0edd4f633db0fb637dad66c6b775cf2a661fe7b4e0602bb0f0d3548cdd35486969e1a5bfc178a53350d735848bed558eda51087dddd368977adb076930a3e9b0e29b69846d517cf77cf0337f462b8c9ac4d2a98b06aa13567eb670b7dd8d2bed4c80159414fb578f90d1f6a3eb5806fefbd65e8f9d2a178e93a64d19d4be52d3f36eb17abca21f8715ea6cf1b7a7f59fc49c8c02ca7a1bda734ce8f472d419e83430dca8d2d499421fa423df9652ac8856f8de6d3e0a4c12ac8410ae71576097c99bd98554674c895b771984f8d352876ae25a0689f07101341606bcd41288746215433ac218eb70611bb213691c7dd6111d42232a2f87c303f70d4cdf63e7a7f2444f252c74a9a7c6c2889c9612b4d1f1e2ed16408d3edfec18f30136fdbafa93c2f70bafdc57582c8e93dcd3fe4405164cea1ceb7f7c46fcaa7a1b2b4ff7de6f794cae4fb01a68279542803b08f9605761c4f82eb640e83869da5de212a8d61aa29aa1c00a3877daa9b72858daab937f49894f8d72f313ded20126c7586c2820f0fd4fe89b0b4d404a03ebfde7241e7c923c4c6a25153378885e302b1d93eaca8d1161d21fee657886ef3d744437924785eff0476333b2a5272324f9390ba6d7411a5097fd07842c7902abcf6b4d635a1a3797b6e178c5590736a7a67d21b997fb39b2b2cf8555229e6955214456a526b9b32d38354ebb622fba45cc1d946db5cefaf2a519892a94eaeb4a17a1699a39d45f38ce6a5d0beffad530de9ccd6614f41db2da146e6c632ce3f46c1990623cdda46fea1475ea52729e70aeb48e94198998f732ea733ccf1c4f971ca21e6d3e05c69e714b3b16ffe663ac6ccbf9b337239c71c0a378fbd220392cc86afcdeba127992fcbe6809ac86ca2cc52aff9786459e643d6dc689530b36d6ade4938cdcc659a93f32cce1c399a27c78667be1b7a407b21b3b18725ebcc8f415ef4ce3473181332c1dcb2422ff3cbe01abd33ca1cb6079960b5ac6c91793d5f1ebd4bc7dc311d63ac391d5091de1d626ed7800c6c8eef03f2c123ea924c607adca80f37134124a835645121dccf31e7f24ee06e60ba9614d82608fbc9b2f4f1017a60930a405e90f8409fb0229e874465fb29c9673d9476888a245faf78ce81f629869c37c072d2730c76101b3fecd096adb254512e8b2a8bc41be48c2a4bfbe593f40dea36d07520b036aa73c5a4d48defe58aa85e9b88727ca1c315f7d6e4556d90593428fc8a81361ea61a6d9d60ecedb86048bcb1482b02fe4743234cb8281ae2a0c250cc513813eee833f735e089620b060a22bfc36dabeed7dd064ab042a5013a03ce9ce13bb208a9e7221e3c418f2e43a90f4e69c0effea412cc6e2f48210884818e1ee3548502cdb3906e47c88954d175a015c774fc675c227d239c31d3ae70ec3e47cf6d7237bc66d547cc451787d22e9cf0c91aee8e0fe65974d49e4c6df0eb6c8536aefb29feaecdbaec2cd87c178eb2e4a716286e5861d0e73831cb74db3724176a53b129a6eb58ce1958f728d5db652d239043b49afe4ad9b0a5264c09861ee637a6bf64e7ee988f10e6f32599a085b548d83ac07e28d747ce0b9707f4f015be78193d0c479d2dbfcc73fabeb6dc2d906830b7b3b1097284dcebec270e11a755aab18efc2c98add68139d802383e6cd9154f90f7cecf94eaf0a16e2d9de4c397af29a5a64d9992d0858f625c536c0118f6d0413843a3eaf010ac44df242a4b332d2e34051c06950c7308f01162f53513d5757d2d842991e103aa68c44bda9a15c7f0cf15d205bac38f7346e8fc0a04c36e510413e864998ea3e13a920c859eecb98f340b2c6757fc8910d8c789031ecee0bae60c418373ad6a7f286b4a23fac2a0af16e06d0e4610bdba7e9261efde021bd429e1152a7b2f99618172fff70dc210dfe5a07add5fbdd7ef9f7a3a3b8d29a7a836e59e7cdc59158f74c677cc141c83e2a42f145a122059fbd028eef25894e999115416bd2a78803d774b32f6b65647d5effb330dbde2fd58f825474e3d18841b0c3d4900f0e65225e87fbb95e2186c33ec3f30a12fbddd6ba55ca73a4fd0ceddca83fbf4e4760e427ced443301d720412767913c544281568789da76989d21001e1740f77abd1b42e2d9034123a0b19909905259ed3afccb38b822b04cd769fd63be5e0e86aa0977a20c3dd6ec5df53e795cb48436e1652ff459e02f03485e90ea025f2a4b3754088f724536e34e1fef95dd5ef66d8466804065925f4a68c32dbc3e367347a0344e35a1dfef10d2658261832687d000741dd8312feb89ff77697e32530d07d831d1cfa9b1585308e49d227546d8c1bb45cc9a75f4db1bb04536f3efa62217f99925cb092ba4ee0587b4ad4aa52b78aadeac78d581c5b8818515c4c14f57d4519fea9cafded8c9d1324bb9b0508847f1a407f73e7f72d2d0b2a21d56a4e1b4029428899f75f806d5e700fb6cb6a8a3535e3b2374785fa31462f726c23ffe810f4c0ee4f849722b85e07bb025f6504d61deafe9b6db78c60aaf8ec8ee0e89ccdd2a70eb6ab50cf404fcb73b9fdaf765979da6e06039b1e5e84c9823e655debc0e75028dd48a638999a36f6d26963ddeb7af12911e6f670220257fd52b9814ec8debba8ff7fee3e9147b9c8760b4005985571152bdf5881669a7e73d2403960749c06648f160d36e62255a372d5aa1d567c441a830a37d9df38aea56a51cd72f10d1a69d0549a811cf29b39f0bc19fb07b6e9a07d67bd9c6d6d541852b462fd9e44ee630bd7e17255a0841ed92f1ce4696ffa5761db6878cbff5269ff7bb32514ec015cc028ff0130a9fa7f6a23db900824d32dd7f8666826701a0799a9d0d16cdf5b34eb732be8eeea88fc0042f05e57bcc13e3aeb2f01a5020bd027c989ef6540915c45c3f779259e8fddf9589a2012680123d99965e8d1500789c30b0f95644d5251e14e6a400757717d660e721eece61a9aeefab850cfe8289b9708686baf33bef5a039c7cdacebe338335e8d79ff03f710d4139f8864ab1234715e2c4452e919b61654a1758afc5fa6e614200f6c34ee1ec8fa48a4e490dc9b79337a5807fb1c3a69025fa87dafa204eef0d7d07182e9ad00bf0d8c96eea1164d8552bb57baa147ca939a583376d1677cf16ee00b3e9a5a93d58af2e789ef9b6ac367d415752afdb5c97f07d204b9ac7427e786128a50eae2e06e4499a4bb22a541dcc3ca511b0349b905d6ebccdda5af98e9febc00b6d7ecc71a3ac6e6e06482ad3af5595d64173d1fdc94fcce56d033cbd954c6c88f5d2488ed9b44a3cc97462e55bb5ca59dcdb3451a49ce1c35a539e32bbd8a6dc018250529c11aa37f581f32c96ca096ef3345d148dba2ab1f5d4dc4873c52e1ddf496e52b35985f6a4966e00f7bf385c6571d1f24d0f3899c252067eff79ddd37d5efff7d2b3d697a3395693a95b910e27a5ecaa8d6aa54e3fdf02e0ae7aa394ab395dd798e33c4c92c5a5592fac26cbae1ccb6d9dd28987323e2cf959f094c97f592290a4507ed7a944659a613e9a33b542c6d36bdc53b4a08ef80e0c2eb2c2c6f784525b3f0929e28824c62fc919bf891e8f9a9bcaf9e0fe0227c168214bde618405c9fb56afa357caa35c6fc08662cfb50f0c4227755d0d6dd7a206c12221f7720854e509c6f76a5aec3a11f4da9d4e6b7709fde4fa52228210a1e64fcbf0036abc6b016a4e98da2f1ca6714ea30a4a68755f01cac2a9ff3fdd2df489f09311ae62dc3d49c63559e1acd23964c473a60d9f21b7d8a7823d56bb163a2774a93a133c7dc106939126717189443d777f5ea19b8fa0b177e002cb33d02f28ff75475dd841d40ec8c498cbf155542b3d3b3e1d7dd4551302ac68147483c61065c26ede41607cc1061e99be0fac1023d8e45c27386db0524955e5a50b822dea1409bf53e153a4b5be694002a36007b9ef44f1720b64ea1392185eaf27134d5f84d6b47d92ae1e4b02bcca4612e873b0ae01f8a775a06089240d5344c4b46fe012adc30cecc348493a83206f145f09cc763bd5bdfa2c6eed11556508376bb22a3a947961e75a6b4b489cbb69455c9aedc7265298657c58a5ca5536fc80eb145304b58d78aed9b44c64c8ec634b2bd428e54b95573adbc410163258cbd1edbeeeb1e724fe924c6a8da2d3ada5d220e42cddba2e85c69a4b723827c18c3bf2a16793af0e08d7c56c608abfdffdfde77bbfff9dceef7cb7fffbd7f55ee77b9db5ac97a071aea635d17882fa8617709962c2e5b47231d387a54c31c9f663e75bf44a59dcd334515c9ef1c26ab25ccae2dc4d4efb927bb9504b8405d033b4deda2faa954bbceea987d856df1e88c44db53e322de3d3c029a3ed46f37d56bb6d2ef95d9b953e0e8f261939911ee52b49709e58ae1fb59bf2242b759e28e24dcacb48ae01b189df64e7ddc4c7c09b4f71009c896c2a4c383ba5eb058e8e5c9e05bb0320b31cb73e0bca94a8ee4f8b1bfe4e21741b2b58ff8cb35f42851daaa6d42c3bc5337d1c45468578aea895e63e9d2292cdb861d6cc4232a75fcd361ad769a6b40cea6c3dd0b1250580cccc4c6317f4dea8b345878e9f643692a955e5b62e6e52bac909a497cbb473438735b5b6f1338dfa4b272290691ae72c4335edb8c5acaaafcb6c86b16934234cd6b4c74907d2b463238c33ada2ea0c650ae412e084124aa24a600b668afb1eeb2b20dc5408eba3087777840d9c84dd3061023ae1efa17060e73437ea74c1d969765a78c05cd89b2f6cc030dc569f261872ed85723de872bd55737d70e7da7d423d5086ba3bea1ac4bad6d25cdd52f86d11a879425c486620316677499f96ba8f2d09b49f7494a8e4e3b1f4735dfae630fd9199be5c4dfff5a6ef9fd3dfc2d357f3e9e702f5ed423d8c5fa2f71b6db2568633ef9f2d458e6944f6f0d952c91947e52f3fcdaa79937ad0a32c613e71eb24fa598bb89d0cbdd6b8dd227900b40237ea1a448de5f678c1210135290d835ef005d09cb4292d298e5b1271018e6158f37abc826f700c1024a256036d02c73cf9bfae60e8038ebda129b4b4086d3869681c34b98206c3b15778a04d24038063167bcc7665580bc7fa221d01cf68148eb1572ce167057332dd441c03dab23a8a58209c914d074d5ce249e38be91c1fb3c9c60711228735963cd8afed38e9c334c0130ad21803886ae060122c20b301a03a30e8e2e4ec6ee490f36533300cc26f4b8338ee32835b891e3aa39b1b7149db2bdb96524a999294017d0849086c0839257e2a85535e122a770e93dfcf7298c9f77b8b4cca51cbae74f224fd6ea45f29bffa7e4782153027f5cee42d0d714abe3bc1285f82695ec54f79129414afa6434941892628de5ca5983853bb984ab0cc2818ca7c4f72c22ac19e49207c59a578b05b2b0c7309ee4c82614ec110bea456399294e098571866148949b0104604e5138f888947f22b4ce241f8528261aaa6a6dbec499d2b39ac3f655334856b0ad3acc24e825d8ba37e4f6a941fe5ae4cdd6799e6d5ea4682559fc252f571eb548fb2d5da2d95fab6a7cff1701f391cb69ff6b7cf9d983ed7539e76429b2311293d23fc69a70957191181f43439c18530f508e54a56746da4fb6cac32fa900c6753ca97e5d8cd8736095dbf526619d9a4dbd662b721a1eb23749f4469b6d623b7412eecd7adcf55afa68bef7ee326399ef8cdc9f7a73c1d97f0ff649124b6c801c8b0481253e40b613a8feef9a03fbf3d1cd4f321bf77e07a7ec4dc44748e9dd4493be7ffe8eff721840fe9412fb6102e84893246090448b67fb5ea6d50e86cfea290fcd5f7ff2c0ef529c53f3c4f2f6ee046c70db88c664e5071821b1c618b9dee23f633f121dac7eca9e040fdfc1e20d9e24f668bc29f7dffdb90ebb9d11a0692ed8fced49b89313e1373a20fc9376e367611eecd01c66fae0040b2c798ee5f2b7ff686dec7fa627c2719723d9ffd61d17521da07bacc52d1cc921189db436841189de0438ff0e56dee6fa750d68eddeddd3edbbb7d76b78cd0dbbb5dba7fb7bb77b76cef76d9ddedeeddd7e8b6c4efdd2f5d4ad830c686dd3d44ccddb01bfee8dc30b80fe79d33b794deb2a5ff7497c2bdd56aa8b6dda8a3a758c4d4434a2eab566bd810b685474fb12832f5502bd16a29c591a987e4a475568a3f78f4148b98a8a44fb1c8b368ef86474f9e4577373ccaa28bef1dbb1d3684ad69519b5d3863095ce45786532ca148be50fb41f759aba494fb3756e47438c4f229c6015f7a5f14b23b5e8938fe8ac8d2ab377dac32c53ea44784e7f936432e870d797a4428205fd2dbbbe8a273e0fc3844ccb08b2e761cce09e7843f3a13f1871c036cecb807bd05469759dc1953144c993efc085f64de421fda1cbf85bc85d67a3bf6143446393fd6743937fa2cda453afa5db7e8db5a6badb5bfcf144ed1f5d72074fdf16f38a5fd11471ae3c39982f085beb47266440442fbceaebc71cb3d05840ea1efa08b3f35bf4217ffb3eed25dca3ab79e825a97ee7273e92ead6b8d82d0217487eedb45d91fc86eb1da5dbacbad0bb78f80c8011646d8e205523881852b04818ee00a4b752cf92429c0478ae0460359c8e2074e2801149c008521454802d7412c15e1f4a3882b56f10ad91531b8fd44071f562d037e93bc00c510d62ac3224e80207319167122c807362a8438151fd0a8987554105154865450e144fe5a421a044c48028a23225082044959e8708722bbbbfb74a1d273777777777777777777777777777777f741ed21e987251f7e9094524aa994f2884a19c5f47414913a7c9214e01324a594720aef21e987251f7e9094524aa994527e1054524ae99c1289524a6911b2ce899a28af25a594d2833188f640089de95b4a2975a2944a214ac38891294c61063d6802891dca9429d5c150a6b6452945522253fad644b65c3c25432a7ac084cce5af956536449cce20d9757892fb119f0ab019528134e4432e9c6144d6c3035c08c32ca908130bacc07581094590020aaa583ac20eac82ccdd89e49bfdadbbbbdc8b7025dc5f427044861b3041891910ed3815b24fc10510b2233d955206b9bbbb1f092105d9dda557a61194683d38fdb0e4c30f270842c302084282a0d1183435260cacaa8d415128889cd8e58b59d34ea0c5a03ab378a175ed817a3f2cf9f0c3dc42d06131c5139808023d02c8094410841048f1833014c1092c4690e51596ea58f24952808f14013462832db0a0081690a045d1149480058a11201c69770363d0821439e8810994c083324801084b50e144a54430993d24fdb0e4c30f94560f00200c207081110e44c10a4357c4204b4dfb205a55d38e64104b4538fd28427600080936900112a058020c8496a4382aa2a207554861051b780f4e3f2cf9f0831542001188ec400544361024822800410ba4218d527b841892a848c2033918820db8008521454802d7412c15e1f4a3088dd22068912051acb4e8e4c30f1aa5ad3a3d084d4a5185316429512f8358aa32204744810458409a220aa5253c21cbef5a6085d1a3bc56b75c2e55f3ec47fa31e80315b84193114ea0012c7a80811d79448a1ffc204b2eb46a2b881f312806c52070a685ac1952418551fe5a5956ddc50959ee1825125dcd419ae83e2b532aed3e74e7782884127a3e220ac28e91a73eeabb9be39126ddea9e985ddb26877a9eeeeb28877a9baef3a47c08df880eb6ec0b6fb4841bc77339d44b24bafe0b693fc431dfcb450ec3ac614fe126ea5f938e1975ebdc6a8d598b515b054177af945299efa6713cf72184504208258455d3b81e88e274c86de37880d8b647e158e54308219410420921f7157f4070de1d9aa93b54b245dbf4ab6cfe4a9c7289937ba1fb56254eb97f25a45f5f50bf82ac843ae90e956c1a96a9bbda347c738789a8bc4565a29dd87c51b6ba5d1ce14b6b98a63aefb2da6a9af662b3187698c8f6aa95500a0769427e12bfb30ad236fd97e391de2ac80bdd77879620ba4c703da82c1f85639648742b597a77087faaa1ec4943b9e57378c327dbc511ae54cda23aaa5652f5b70c633bd25523e42162eeb7d5a3949e5dc9329c0135598e5c38e32b913ea7e3204d689e64ef536c94bf4a94bb4a2921a574ce596b65d5a7b43eb44dc47fbfd6da39ff4673f66fa4b4d65a67f0a56fd00d7285eaacd26aeb0c566a6fddb4fb97de8ed3fec668adc540c8594a0bf0a551b82a5187b6a00aead797d2426ea7fed453bfb8e8d767bf3fa5058803ebec06650d42a8691042ea5e9d794b7fa5ed5495e896aeb36e759dc9279476839ce6386f3bd1518aca361d2dca9f3329794bffc44b5688443c435645ab27a76ef5143afb3126fee6d9181353afc34dea17ea26c51c9825ea6fd245ea967f2c4387faef226527221ff5f76e1f61b7521b0a5545c3e4fb5fa47ea53e48b7389257d130b8e32641ddf22743f7ad6441997b08b955d15dba47eed23d72958ca0e07450fd3d8af94215fe80d0b931de8f5f7fc33ee24b0e07fba94f01a19337ef8b4f44ccdba3360e7faba1ec40e8aca070d4aa48762974ab2187ad8a563287ad9c608b7f114b8692a114b3a6fcad8a4ae081fcad9cb0c8fef748b78e8e8c8c8ceed2d1d135ba46464775c88f74eb48b7660e5bc9608bbfb55df7ad64f9bbb3ec1fbbd0ad6457e92adda518bdbb7495ae52bd4a77a9d6b87aa25ff47dba127cf1246f712873145a64989be0e93e77cffded44b7044f63d9a9d67144dc917fa3fb8a4ec961ab226ff1575aea2a13d9bf2ed1adee28c428aa917b2ba3a26e79fca295511dea577cff2df210320f21f35787b2ff55ea96bfe78642f75da5ecbf2a72186caf33f8e226325f01835cca13769b092bc323086b754bbf432972ff4743f687308ae67469d8f6bda1fe3379af85744b7fdf21b95fa294c8fd9a07bbe5eb25727f6d26720be5563fd1adeea26ef5cba4a3dcdf1ffb6552cb2359e4687a77b9a707c9a5da920cf251f1b5bfaad845beaa98af4a0507fdfa3df4eb03c98dbf08a5a7be985570a05efb1ed47c226446a1fa8990597b215459f3e003c9f2511e117187f89a4744cc6d3d951cf4eb57cf47ff8f98e3ff88597e0c7244ec62a7e583b4fe082f43d04e1276c78687333eda62038e3bd7b7160c776cc070a785e1ce5d39e54fbec95f132923a594524a5591c9612de42df2a52649bec3930bf832ff464a35fa96524be937e329a593523a294dddff5cf4d21a63a373b26abd39e2c551ef578b43e72b5f47e7b2fcffbd78f58f592c78a55b90e5e19bb0faf50f7fa55f321eb2bcfc26908c72bf84c1ca4bf957fe7d49e92c7b2fabf4fe6170efb3acfc7cca93890e16c9c0538656645824034be49bb3e96c36b0e7c9f81a68e07660f9bfe102d85a7090b8d3f292f89dd6db809360edb43c39a46de6df1b1ba410d600a9006ca881666b219467b1be6ea23c6ae21865d07d34890e7d52c604a519dc0efd32a95f46faa5047172f4cb67cd785a24c6cfa748fdf271e951bf6a8e188395971f391d56607e0ec77d39e3e216aecf82211d725864e21e3a2ca51ae254dffd8dbef73d96cb826396e192f7ef7d16168ee7de0b9323a600d7e592f97b61eeccbdf7ca703df752292586f02506b743d3e7e17078dda72c4f3f06c7c3f231381efa9785059b7ccd66d3792c8f1f3f4b01389eff6bb3fdebc0f1fce39a8ee5ef6bb3e93c1932de7b71ff17b645ae87e5310b970363fa9e0cfc37dac3262f03d3c7329e45860c192c2fc3fb6266f91b5dc3f5b0bc8cbf2c98be0c3c23df9bededb3602a03d36781713df459bc95f770d09029cbac5f3e58de7b2154f971cc2b94feedd920c4194295217c993fbd0f48fe4c7efe0ac763f22b1ccffc6b3279369baeeec0f1c4bf386cf175703c31f66c365dfd0e86c99bf4dc1c9acbd1787ec52c6cd294524a79aec4f32f8e6d85ed4b3c67dc289e2f73e07ae64b6fa55baf035f600783ee93b23cdfbe1cd2af8ffe0c3f5fca400071a40ffade7f7226842a535c71ccde4bf9f04657fc37c766036e02071a5858ae94f523942f842a4bef67f8156e87feabc2ede0bd84de371fb3782a3968f8193fe369f81b8ddffb1958307def1fc3dcd453214266fa42a854549ee28f2f83dba19f7a44c42c9f001c0ed2fb663cfd93875ccf8c978f72524222e5378743bef72c1866e7848819bfc444c48cb3ca4fae67460d7f6bf8c8f5a80811b38c2742fecfc0f2f78550e57b3ffe8adbc1fbf78888197f09b743fff5888899c5fbe4d31a3c951c339e86a76186e703ff88d9f37cb0fc857906fcb17c8c57dd4f7138582e86d9729ea79203fffce9f9f8ff1133cb63cf07fd9347b513ba7fef3d1ff2e7cbf03ef9313ec5e558f9f91c87435e1cdbc6f5d03ff90b5d7684f56360dbadfa2bb8eb567df1303cd9ad172f7febd70b6fa321cb1827393271b99352e2ada8939ff290ebf13638bf3e09c7e3946f38cc14057f930c3fe20a7f2b19d221ad44f524dec79aded74c74938b4906d8e23f82ec1dc84e91c8fe9c6f9e8c092965dd7219745f0b4d1c8870a45b702002aa85b2db6e4d3b7532fc8b57a6d7795f97a18ecf956b75e5f9983a90193db3040971664db7fc88ecfa582e87d9f76fad409c872ff4fd35dc61db2df4adc358dd42bfbea79c6089fcd564ff94396907320b46928dbe8afc983babc8875328f1810ca7500289ccaa12fe513b6d1d6390206441083146aea7480686445124b3da95b084293bd64c42129250bbd07295924e69ad6b5aa3505143c11b4461867599cf7cc889bcc88dfc08c28ef52ebb7158dd69a676ea270f6ab96e94889c9aee345117191d2125cd66b3d96c36232222222222220ac2a987887c32cd66b3d96c3623222222222222629a11c522a323a424a5b8349bcd66b3d92c2ec5a5b8149762d1cc0675422cd9cf5a43b3d96c369bcd9e664242422ed449499dd4499dd44949d6616ebb8ec5fa6fddb412bacf660b6300b8b0b2ee552a6be37f5268f59f945551f21f0bc696d47f16e66288275fff92e09a4f700fcc246fdb39e76015750a10be9860a1f8550a2498e622f9b264ee487067894b70d7ada0a0fea098a1c8da7f2eb9bf044b995084596fe9df1ec636d27d5d553d7d983bc9f1741f391c543fedab30cc29fcc9a0af2e7d9d3f1743eebf327f2e72889cc999cd909b72269b280c2019b19cb76d3676b3fcb56e8e5c472d568e49aa2779efdb6e5ea17c3f09cc41f92e728853b27ad6f7b3522929ac948fbffa54ca5fcaf1acbc9a2e65959203cc291e6b65a41639cca916a5605f4a9d28a5582b0f768b85612e8179858de4f82848c8d10a1686018f24941bc95bb6a0dcdf75cadd34789729ab96ae6a09e26839daae4ee794bff3f29f6a8ba79e554b10a773bfea0a8853c3f7aba410736cf8fe1b170bea0c40b53480ffba200ef8cf2e61d12f1abe5fb55403d6e04b7c1b302ac6c4a701f30c003b00bf3808e04bfc18d8431063e2cf2822cbf155f17bc4bf8169e0191f22323a226a26c097f82bb89b1063e2cf8085e4d4911c1f07e7f83f9806cb990bcd7a05f025be0a6e16c498f89e911cb92572fc1cbc836bb00f964248310b18385e01b71239fe648aaf8379c0361808fb53cf9e220de04b0d624cfcc7f11d17e5f8448ecf03df805fd875c4a4b4440116ae004b6422c77779ca918b1c1f866be01d3806bb522452caf0257e0ade8931f165c48fe1a3f837d80696c130d891a013126c7729e7a472525aabb55ab59a8642ddbba1eeb6715c2aa5e2522a55d791909474242525ab9589c9098a4441f18e28272829292cd68b17304cb6188ee16f25c73e25658b6156ec2f6b8bc57f11fb0b61481830bc238c18cba684e8620f84dd07fcde127b09e01bde12fb08e01e2080630f383e004707e0c803ee1eb879e03ef296d8ffe05ef296d8efc01ee42db1f7c13ee42db16f008e3d0370ec178063af001cfb04e0d82300c7fe0038f63a70ec77c0b137008ebd0e38f605c0b1cf81634f001c7b1c38f639e0d8f7e0d8e3107b1e1cfb01c45e00b1df897d8efd8dd8dbc0b1af81637f43ec75629f83638f83634f03c7fe06c71e8663ffc2b1b7897d0d8e3d0d8efd0c8ebd0c8e7d733bf87b5fcc2e1fc342747167938da0fba491902cf74b238883e430a0ef97986fd7f75b2287f92081efb74c0e8bc03704be5f2372580fdfaf2139ec01dfaf3139cc01df8f1272180fdf8f2272588fef4721398c87c37e841cb6c3613e30ffb102008096960d351ce069983183a74301723ccb438711e065c4585181f1620002f894870edb7994fc2737dec4c6af6adca0f3ddab1e3a0ce753cfc1febe6c5e7bfbd061343ff3f4e7bb700cb62f187a4bbb60980380bf1600f0e76ac1df4d0b7f10e9834935e00f2ad1803fc834037fd06906fcc1a72f0ac9662cf88b4448494a2ff0179958f88b4e4f28f86ba1af653d5be1af89be2e6aa30e7f8df475520a7fadd44c4e5f3fb990cb7c46f479d1fcacd036cbbd5aa2012400de3be8422542f741a4e83356f8d27f37a2ee73b95af173fc1b103ee688a3cbe530dbaefc11fb3fe51b37a2eeb33d4a58746bcb396c2ce83ecbea0ab194471209f95b777777cb7277911622599c8c93199192520829857446fa90ec45b26bc687f810d91485e40845148a1b101285842062911d88adbec4757addd4bd12d929f5acd07df6b2b68e353f0a651792b1c8f4e59cd45dabd56b762372b5b35a4a7fd649e7d759e77cea93fad62f98f374fa733a9572764f97b1084dc977a873d239a74fe9dd2e0d897b2fa410f3c4e8a9a6f40302699d134e38e99415d38778d20885c4989821f5a0df18bfb607624c7cf93017315b06e1df6898670ceeb5e9e406a56465f812bb05327c203e723c33c70eba176ecdd4dd4d68dbc026246f506c42a0b08e23b692be26a946b76ec98f2eb347efbe80ff4c084ad99521154220cad7371bb34a6e19f5dd8fdebc0f880d0771879ba3177150850ed5c15c358cba72ebd7f68ebf98bfed53a8eea3eaadca93eeaf52fded3c2e072aabbc88831823dfb91ed5d3b73fa35bdea24237bf0a9df65f8794517fc3b70b45eed78cb2c4418ce9bfd1f189888368d4afc8c3946fa442178d9c935e4d178d9c86608ace1f9c028798635285bdd1b971f3834f0f0bf4ebbbc9a10037f085b28139dffd07cbf065204cab00005fdab764f836c09c168c97e31263fabf9f21c315b839f7f03fe6e88831fd9df775cc51408c69c51c0b4418884300f81273728831fd3ede028dcc681d225c0f9fa6ee73e5b635f1a50e9ee9d7c4771d5bc85d487a006cf56b55c8fd150b5b64054478050b44380502401c077c0e31a7478ce9d7a2a9902117ae7e19d1ff4dadc6c7dfff834a4edfd52f49bd69bb1874dd5671e7cba01df8dfcd8dc37a985640ef6be568022de04778811dc8e910df36752d87dd4096c37a802df1657b51891be4ef2647b894442ff592c64a8225a5904b77d909610743944082ac820d3381b2287bbce1e374845c3ba8ff541aac817af8dd6e67b60476041604d0267a56460337c1d05b3ed5529024fee44d1ef55b50f63fc1b70b28e36f822f19208d3f0adf30401bff789fe08b7fdba0fbac8c88c9a3b090dd31f1ec906e71cff2a07b9a4fe94b09444d5ae996434fa9e0c8f3577a46e6b15b2a68492ed12d1fba03e8e68440f8528e72c857bae54fb1d07daca1b8f34450d0b260cb2634e4309427fd2f4f1723cb5bfc67fd72207c49ce645a74f6edc32964fb37da9d5018dfbf7213428795798babe0f0608ede17997234a24d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4db5377729e79c73a394524ab75a6badd55a6bade5fe8b44a9ffa093eabf9bdc3dc97f3994fc0744b6fd6784120f35ea56ff1931646daac7ce8c98f55c085fbef857db22a70365f244506f842c47148e3bf2b3439a4c43faa2930a7f28fca19c2e911211337f3de41fd3dfca344c04f516f57248af748b866196b27e55af47090bc9a257e8362187b1e07d7298ddacec3e9d6428850a4c6065d95f56218bb2dfe8cb45b7bcc32643dd16e45d1ae429fbab9c342322902a53982e9cf199c428867e4921c2eecc5beeec0a445cc8fe30de2231e44622c7ee6844bd4a4a19f5d5e8ce88636eaca23d9c220a2e648a55b4d732cdb79be8bebb74eb66d35da4caf144cf6e7d812efead0209a90b4c39e6a81fbd9b34e4890eea56a8b7dee21fffb3db6bffc54f3dad9cb68f3b6c9e8ff8ab2dbae5d7a85bd14b792ba795d313ea6de4b65fa59ec0a25b3dad9cba4544bef456b2d5ac5fdafbf65fea57b26ea13ee5ad66ddf2d4a79e88cca17aed1ec1979892fd8aab27bac565ab0f2388e5724a297b9b733667b9a784104a3a24f715d22d920ca32655a42a6b5825f2966e22a221a4631417ddd2a8a76eb54aa644bf3e996a886ad6afe851f9f913119357214a291d3a22654a8b548ad3915af2962ba45b7d655176852c20cb3009ea94e72abb1317f9dbae90b70ccd2e47b8437149a64f4c414e42fe2493d2db9cd03951fcfe2aec0c8bfc993091bb05429c950cff42ef496395d0a65443be9ac2bd3c4618b17532d2083de5584c26f8d0b59853526a9b077e5c799609cb64c55abbd94e06cd68b57ee55766b02e646d317611723c3c3cf1a307817894d1c585333e19284e707ea3542b54433d44ccf25ef913cb975c4f8c3ceb7fd58a8957b2afe4e9a986fa0bdd87a21ab28fe2047134cd83f065caaa1aca7d4429c724882323c76f2f741f0ac4e95959c9d24371822f1d234714a7dc10bec4c77549c61114524239dfa6a3264164f911c74ffe90d4b1f63013ad8bf2a5f7697f2fd670a77aaaf2b84fe12029af09c97132070e87f4a42737497147b5a631078a08899a40d7966e3eb3b870c6c7923e27a5f1a9ec964bba79f7a22207ba98efdfdf62af50a887b37ca36fb48c416ed94d4aa3e7633e7d252c2ead493d5a8ef66b5209f267811083dcf521d76373f43625f8a284eeeb9c36a5ef9c204efcfec8e16073f4ba4d89c3213e6b29f71bf9ac975ac9a59c93d26aa5b5ded14e4a6bb5966ed55a4d43a1aed45077e37a629ec1dd6de3388874b46d5caa9d545c4fcc31fc79d08cf824b1582cc6622c1663b1188bb1582c1673df62f8834c3366cc8b3de478549d15b2422431690471b41c6d57a7465256919f7a96d208e2e800e2b87cbfdc41ccf1ef9746469f3f69248fc8236924a1e857ecfba5918bc7625c30249b0cca5645625cefd8bac458747989817971818179719f2e2f312e9817971898179fdf1fe372c1bcb8c4228cf974a157c95b5649472ba4ea55201a1fa0eae30364ad568168667c802a8d0f90d52acdcc8c0f50b55aa599f101f2495d625c302f57a96415a3cfcc474cdd2516278c8f0b66ba5c30b56a13c667c605337d5c30559b3e33332e98e9128b3197aacd4b7d661c26027da4798ab98fb118e901e28ebf00c5bc784ccc0ba5d65f8068625e1c28e685daef07a2a18979716a1d359b714034dbcb26f3da21b3edd821c371a94de665b343667bed90e152dbcbc66687ccc6a5b697cd0e99aadde933e382a116e54034312fb3d9ca6447cd533c9d56d70e1a57a5a171a1505c75eda8a171d51d342e145777d4d4d0b8aa3b8aabdddc5143e3b232366ff1b42e96caf8501f1f4ddba88c8d0f95f1a9ad6d3236363e54dba86acad8f858fb7a8b4bec0c499c30334030130808c6da3b61665e4030730608c6deef9f79bd80a6bd335532f32221a1f143f2f35352b222a171f34342e3a7644542e3e6e687a4644542e3e607c57575470d8db6a9a88c8d8fbda939f302123239a9a174520da8460648939101e238120da8062603a4d5c80071245a0d0c2603a4cdc9916827353019207aa9cdcd53ea2e1b976bdb3a97cd8dcbc6b575363737be75262e36372e148ac6a33045bd502ea81af3a289a9343431f7aa6acc8b064dcc8ba6f655bd68d0a0a9575557f445830685fa79144e41ed40611414dde1437d7c50a814ddf1e34377f8a052f469c7cfd38f0f45a568c9d353ca8e1f14141d1e283c78a4a4b050747278a0e8f04861a1e8e4e4f0404961a1e8e4f0e0484eb41a98ccd699589b9b99ab5ad5170d9a5409ddf1e3f3f474827273712ebd3e372f9ffb7af974ddc9f5b9c179f9dc9b974f77726f70705e3e97d2eee4c2b8c179f9d040e5a026100d202095ca0488460e100d2095098d9c9ca932794123a7569dafd8a5fed45a5d3f2e572ab572fde8b87e5ca9d58f8e8ea7562c971f1dd7b6f1f80dd7ad66db6ccd8c9d99e1b8125bc363c6d6cc7025f6a986c7138f19cb95d894a7a75ac36366db60bfe195cd4665ab3634958666db48aa0d8ca6dad06c2495c906c604a3a91b494561625ab181a9a8d8e8a1d2a3c7ca4a0c151b357aa8d8e8b11243c5468d1a3d545662a8d8a8d1a33b81716f705e2a9317281a393b522b96f6a323c395a4d81a1e331b094ab581d13031a1a4e870377095a3d1a9a1e16a6a6856ab171c8dce0d35349c4e0dcdea05a773c30d35345cadab171c8bce0d35343c1cbbd0986f3c6c361b9b9212d6c6a386cdc6c3a67609ab460d1b9f8d52d626c3c6c7ddb18bbb4f2018101009490a10cc06100c88240566c306d09c2429316036acedf116bbd81b6bed4dd7a1dcf4b8e9509e6e7a3cf5f00e65e5e9c9e5a6872b95c2f914b6291aa994464346939151a94e341a38321a0d19d589c6440387094746539d682a4c4c96068e4c2a95f3298c533f29fc29fb33636766522913fb9333637f66522656e927472967c6a64c2c0c2525fc93f3bfc3c3f3c003c6deef641e7e8707ecfd4ece3c3cf67e27f3b07ac1c2e9dc5043c492b1f1a861439212e3c26cbc3a9415d44d8f1daa13158d068e4cca0486fdc999b92942749b0ccaa355911e377e6257fdc42e36ce159134f21669d41545cefca7da42c58412e3fb3b99eae9c67f5d502774e3bf2e886a49e5a4b24231fb283154dfea081191b7f4bbf7ad927adc70f166623866c7f9981f20bf6397d43b8e1fc331c7bcc962f80071274583f34393faf9a139395949d1e0e41f9a14ce0fcdc9caf7e3e4fc4393aaf5642535c36c86937f68dc77de3d877ba731e77c726a7cb89a1a1f131315ce2767a7c687cba9f1f96f6554db44e5fb7376766a7c384a4d54384f480ae5ecd4f8b8f3f08e5d5c677b9fbe01e9d8006d363640ab158c0d4887071ba04dc7066805637bd2e1e189071ba06dce158c0d3f3db9e8f06003a46937bc865d341ef7351c5dbb2e1e2fd77dbd5c25252fae8bc70d2fd7e5f17295bcb84c3c6e60bae1e5baee252fee3331b9f0b8e1e5aaf11dd660a8ef70747999c3e24e6c936d32540c6c470c6ac78e181212162a065663470c0ab6238684855282d550aab12306e5127b791712168a45494983d5885ecc7f9709767f238780ee882082828282766c7c876bf8ee16b99fc84d7338b8f61da6e12f9c3e6d2af643c8fc5da5176c855644d176754a2461fe5b41b182f96f65b4225ac160158395d2eac8c67f2ba46f9564e3bf5515b99b891551ece3dbfc82e3ce558238b1efbf4c8038ddf7df26c49c94efbf47faa57d7f9b90dc019f6ca8f4cadc887adaa9a1110000001000b317000020100c88243910c440a029be0314800c68925856504e9086a4498ee2280cc310649441041082800123343433db00b9070b37527844aea6ca4a96a9b8d589afca502147bc51734b07740229ee11f17a6efe2112b33944ce62991135bb3504df28daf35b08a37c7e2b56e1f7e88926afb6940a27e0d8c90c5467852b7a1dc3f289568885720b2b73ca43567d311f545de84e816f27da1f4cca388496b70e110d5d2d1ef611274ae351c92b078a0df872c69e208ad7fd3d01c28a32154a5cacdb65034c3084bf943862e79f713a6d447f2f1bb9b1506dd8db14fce0ac970c4ef910bab69f2fe5a9909f022db883c28153d218b3e52716a3170a969e9402c656d6f098b6937bfc4797d1478742e9245d197b17620c5f1db5d2014bd74da0211ad636d399bdc941f0ab2e7728c9f1e1921691f7a28f518e91cc39c6944f54726e5780dbfe511e1bf3ef4aa109c3d4835344bfb50c62505364e81c05bf19dc1bfa78fe4265e78597af277cc4f4a68514b2518cf28d50c505db0b1e72a8c152b5a03432cffd05bd4b8c317bf5d844f32bc95301715349db5a2fdd0f81ce225a966c836ddf4333dcc4022faa4a9ead3819a52a0521670f2d01d3a598058df044b0c9a767bd959bdd005752fbb4ec892674d40c2a92210d6462fd8b06b8cb99772090963aa42c6e8053ef6d0aee2f226e921d1569da4f7fee26075161ed281f4d230a8e2450691ae56b4c9b084a791c8a3e50c31ee91b909ce9db0fe054681fd81a80b54124c0f07649b0a8c804e80186530f719b77274e4c1daab3a70d658a82f212f72699fe2c88cbdb5c1153da6c55ee06cf8094de184ab7e404030a890aa537c9faee5fa2f4ed99c10800a58e296073070958ec11c0866280de764739d42b9120bdc6cf11802e7e7d24b0050978a23d8b3b31157c9d337550ceec8802184376a2cd26bf4c283f0818a66d691875957c3d1e812bd372cc2b0eed66f6bff5d627c08addf3b7e2bdbaae471bb75a42d0aa9483cc71fce642c383ef6325570572b105d66d90653b0799bbf3baaf931e971057cc1701828b3ce234f8e981882f1b110cc40351d4a9adb2e9ed33152e224bda728f5100bcd11c98f75f60e9772c71c488fa2996401242745ffde95b9a7abdf21f781424bdc85e2974e2e301955482e794ead7c5dee43a04627621a324f3d8ec24eae30308ed9182e4ec52fca820a47f5f96212a0003423317581c433dda18c81ea1714e3c166d6a4070278818e0ce501fd935fa275806204933a5e040ec9772fd5c85cf976707b6cdd47a5256003f5bca712f30383c08cd75cc702455f3ba8de604ea657e4c3e6c54c56994289a48f3cbb3472b9c9e4e7cc8221a0d6915279e55ea50af285c05602289cd7d641f129ce86e7c0dde0eb6ecb66edcb35cb923748fde6c1d3c5d465e3cc8feda70d743a0f2113f823f09af94cccfb214c637b4d096c7bb28ad4775b0bd7751f623b49b0b051e19e1a14145539f02a1543885c4240b9fc0198e5547b315c4b8069b64011e94adf099cac002e972344c279a4a660d97c554a951941b505c36393ba3ca8e9c50cfd9477845488829912a6367459187c04508bbac40948443f22de9622b4824b201994c1685d675d05e979dc2bb73ba11ebdfbce21c36d0d8244d344d13bde2759d772a84a4b1fa51199235cd00aa78db5d95092af5dac519fe3128e55e7f6cd81d01998dbdcf63d98e593f76a19ee09ac36ab0dbf7e4b1d40acbfd7694a5cc9494560b1c5eafebda81d3ef5bc8870bc6a504c7bba4a486f1d0e57beb2a40c589128afd4b0fc8551a6b71c744ce128998454e3752537ebc5d5612f023daec1a372613cf75ab71686597372bae9d83fa470ea243de80ae0030ed46a3106ef0c23b9b8beecd392049c139b3515c19bb837fc3f1737555efd2368e4a89be70c6207fa505a08e0f495093c68dcf0d65b40f539aa184a33b374bdb65e1077d9b171244e2658ad71237a7b8a5acd479a402d1f1931603ccccb60dd1175898dddf784561d33e490ec69b023c8400db220ead7414886bfe8025900fc97a9e8435211e840bbdc59398a0b171742226c612f2879eb053d3113c1f572fd40be9e8f7ccefb08f81495eb873a636fe70041a6e0346cda56ac906875674f913b92a10f20858b004695261f2279febb4e8049c049a04c0f4279dae1d019301530198584f3ed271270f253e809376568cb55533fdc5dcad3a291a39b4729510150a18cc36274003720a0118da06de19eb24bdf491145dc09b1277cba5bde33d07009c631f2570841b4f0071952842ff9d5ae0443c18bc8ca00ec80db1d22e77a7c708c8a5a0971bec7142f349c4444e82ea184496e13ed20f88a3c7c3d6b85bc6c79a3decfb2535035c1b4764373ef32f777bed6f1f9da0e44c6a55473085e27b09d33682cc7e4f2511db5c6c852e8e694b4ceed45cd0f962c5edaa37ba5d1944bd506bcc676f9a2617b5bc6709aab458a032dc4e712185cbe3f3ff86992015322a51f9d3941fe5ec21040cadcc8672a15fdef9d1f68c28b1bc9aa5fd6a2c1dca20ca6b20b927490246ac9c2dfbc36ee569397a7d44ba80108cc76944e7d09af2410f834fd74a3157f00b0c252983b9ce0b0cbf18308a57f55824c5364398e00be168cf19a59ed1b0f7e69e54315bfd7bab0a5cccd1e5b5f2da0baaf5428e76bb1b30676a40a20d8ce6b87c9249bb7d5c40b1ee20042e6d786b1b8e0795c722fc44c72adf9b7f3fbc18e651f7429d6fa6638bd54d9b3cadad869de4ab62c7d9e62ab1ddd52f6d0889909aff932c1f9f277120fde825a1c41daf6d6ee224b05cc77feb2dd934763d79ed878b519a740e52f956fed4628a7a6bfc6beceed4e80d1b2cfedcab58176ca61a650e301970c9a7add693fb073bf70b67b43d8554d6bccefd15b94e678bee8985abcebc90b50db8a2c799e659de68a4db9bd64e709d842d15a7aee1521e365c3961181930db2ff9d793954684ccae76ee82a2756f17099074a3ee0712aa7cdfbcfbf16218cfaa8b75fe3d9d5b563fedf449b51a769a0fbc66ae12db5dfd5fc2bae9aa9e5eecc22bdbd14d8fe001bb4fd12dc7f028849ce6be89c328366414f757fe890752d0e5bd18f6d83ea33fb4a5d5b44d6f76aa259b0fe80cf344ee65ab5cd2e38aecfc61acd3db4621c3ff829c098c55eb7d7358aaafe53c63e447a05f728f9b65e390d4881018cb705ba4df79dca5c72fa0ec1894af51937f953b785cff777abb103e71289957c5636a6bb5cc593f91b61e4f64aa5c3f9ab326fd999b3c46ae6279bbeba27f6e574168d2fdb7e25a352e06ff118254279dd1679ac578187b6471d34e7dab690cdfd861d597e6be31e865b5efa1c2282d69ffab0638db9ccef18e3c14258bc035065cef4ece8a535325836097d3eda1def5fc6b8b0b86dc9e335738df88bf91956684a02dd4f64bad329c1c4deec405797bef14a7c246bf0f23a90495620e831c575595bfad66b32974444188835c211f437e47aba67625777ba9ff4e233983a35d5564888291e594c487da4e2474efc0ce3aeb89e5b3e4708d27e6c247ff3e9c99245664e868b4fcb0e5ba6ecec421522342e096e5ee91be014f4e0781c39beb2b4db9e5fa094dc026a9ae379d74512fdbf980e69827daad25e1657d2712bb3f8c757ad70864f07f9043a05812b1e344b67eeb2ad992a1a875e5e41e909af42a468ad1b2ecdab3b40be9c98b897ca6ab5f6a899329b304d6fab17266ca1eb9c943642a9e97bb5ae4f7561584265c5e2baf556355f13e614871d218bda6adaa8fe5e8fe549e96609daa0a064658e1a5bbbb2afa92f7de6fa9d2feabfc5bfcf5749ace870d2e186223f516e74ebfddf3a3fd199174f9354bfbd6ace716cf1976287fe45fc8cb7686d8166af4fb73fbbe6a61ddb9970f603a59dba9dfdc943be0a0049453c8c6919fa855a95fcb1b7c54ffa7a84eeb88fec83222e1b8f1dfc9c7a6a09033e3abd451d08ef3fc12d018af4e567d24df5ead4da6d811064ac672867c2ce98daf5aed82dceda1fe3b8de60c8ef4479221024696ff4e0fb50595d2bc013aebeca4cbcf12c235689cabb1a2891cfb6ce41005c6f96cd1c2cb3f3ca9eaa7c44f21e18aa038ea4a9d4b99f551cdce2f89c68fe50ff90babd4146526cbbf2e922d998bfa3b37f783d4a45731528ed665d79ee55d484f5e4ce43bddfdd24d9d4c9965b0d68f971353f6c84d1e23d3f1bcdcf522bfb7aa2034e1fa7a79ad1a3f92ff09438a93d6e835cd47fe0c07f7a7f2b404ebf491f0f08b0aa62e8760ce3f32028cd1e2a6fdf5561392ae678714279dba3e3c99c67930830a09c1c4bbbae19c3cac79ecc39d19ed8f11a5cbafa9b4af4635b6f09cb143f923fd59e1c5464ae7aa144b96e8e5b658b3fc0234b5c1a1ddca8504ab7129d8018c054726cbc5fccca02c4a643edf3f718c648b8ca2ec959ffaa04bba3ce96c1fdb3322f4b7444d8b6dc1a8e869012b30bf8623fc619173f1c5ee19936649b65b538d880d8ec978c332805ad37be30e665059403cfacaf2b5ea369bb2ce282839c815d2e3c86f64556a5772631ff5dfe9f9f0835fbc32be8a38629b73b1a0f78c3f60d6c7967ea73bffc242c880c23e813d4a285b4c06fe8c5e0c539f3563e1d1386c2f3d0bc3e798d95947b655abd3998848302a0b89f34077b7999b2a3b4908b79101b89a154d64d86722852830cacf122c3cfcc393aa7e4afc1412ae088aa3aed4b994591fd5ecfc9268fc58fed08f0884192c9840d69ffa6ab6641677effcd40529895ec54c19af16dd5b16bb90967831d16fbe754ba74432672287bd7a24a7268c23277540aec5f0f6228afcd85205a149d7ef8a7bd54867df08f02102a8eaa5a98e9e298df1e51499861d06c19fd23932fd20a5a9ab235ce77406879fa830743104e69cce116488977efaa9b79aebec3b1ba438699cd5536ba5d13adfe73d8e4180fcdb5b5168aed9d9c83bb4a23dad91abdae219b0232b716aea3c47a0a8abd4e898e0906ad17dd5706674464eaa98a70cefb8f7dadb479f15ca47b2d79c110334023f41de6b680757846af72921a7af067c74534771752b69ed7f30e2800ac193a8d21ce038949b16f69bca3f3f477cbd883cc78f6edf26e451de368683ed9227a8960d40621f0d3fe469389fe73866e41a42fe969db6d4aae3928bd24bab7ac83bb2a91a81fb12b6e52ea4a58da87957e4014db802949a96ee3e21284162c1648dd7b406d1ca8ad092cb768225614a017f03e2d149f30048a4e7f3f3aee7cbe338aa3e56f2cd7c6c5d0d993a7bc14e8d3a7e9846c5937a292ee2a399a4013d0528a61692b12b08ff41ea06a8061342ceaed231bd53c380f244222dff9f773d5f1ae75175a1926fe63572a4fa4ab2dd5d25be06a8feae77f053fd9f499e887f0d475a11aed5105287fe767ea9edcc210ab70a9f75b0064afec1d8b834f56418ecbafd3d545befbf6c71e1c89d4a921bce246f84bf96d566861ac545d6c425ae33912c5e4b0e7d7353a852c2e8982ad2fdf38ecd5bfebcebf9f2388eaa8f957c331f5bb76eda31626626bdca8bf97435c5d3e4d36f457cd9cdff213010f00e2cca7e494cd90bfe046e9a31ac2059972cb850bd2ec6824b50a382e06fb3d341ade979d7161f9e399324b9f198e48dfc6b35a46e73ba100472d53b0b15514ec7cd0a852d50b11678e2291036c276b6483aa3d98ba0dacf6a4eb8c9fbdfe493f44409ab74195e9447895bf43b52aec0c2313b49619a1964c4ec394c2edbe6388c9baffac01c74541eebf5a8a71b66b2bfe290b28dc70365cf7c0b43452b328c94ed170ad69d3cbc125ef09a57a342c17c06f3faf19b7ac4d5d0acece773e00f163870091e7ffea2b833185fac79729ca5f1b205cb25696082b3e32ae30631c109547dcee9128f416fcf68d3bc33aa6d37a31e870cb427f74eeec0c83e847d901fcb6d3fd59fd929b65cffd9bfe9facf648d9a12d58566e5efb8d5595d339c1985a3e23f76e2965ce4ff5999e82bde79c3dbba45dc7179d060be57dbe658d3d5766ec2da9bb2e0f93b9876216e6ec2358b9d0acbbb9ee5cd70a73484ba1924c016f269ad161f88120780b38a667eac321b4ce7cad10ee3d8468827a908d7e2419720a834df2b1614ff204d5567c085b5f317ba35b7a0d4b38a589e06ae431f17bc7f7fe1b6030f6d523ed6c021b8bdcc8e0a24f838325e1df6aa3291e1f9a48d97915dbf1024c3efc9fa13059fcd13a462c386f9047931e2645d905fef771cd51a0ce75d361d0aaa849bd8325383f154355030a1a04452083f53a200133ca301eafd8121c89f2e676a28a8fc1005cc170b610abb10049227fc5128b87df98862fc7d7a431104215c10475eceb63be1850280f3507002dd0990409e004fd809001035702c07f7ea3edeaff81feadb49d58ff6ea9afe0816943841c136e40a9112bb21f8a75fc67c4ce9484e564109a49524200c2614705aef85d9cf4ea03df0046b2428984706c12bc6a670f73d1fd7f767ccc5b451a9fc67b78482edae4fb0778a0c9b3fa06077c00936cb2407f51f836b36bd991e063d9bd133fa9b5418899104905d50280914adee4b01cc8e8a91c3a0d5bf24905f91283914edfe4dc3fc8ac692e1d1ae7f1266ae4894b04091d98876ff26617645a1c943174975a78ec67e3d5eeb23a8cefd2d968c034df3151ba78331de2520f26e087206fba216bd7c0920498a64dd54add42e1e0c2ab05453b81054f8880747459c49e8da07964c5484bbabd3506b1608a2c8404cd48502f4b825708a9a04b0fe3e0208e74400b7c710c053d401382378007a441e80fae522a0b9c80898fe35008ba20bc08c8001c81161009e04008cd33e02d0f7f25f5cc7fe457b977f5153df5fdc1efb8b38200320e265005c39f11785e0fb452edf00d83a190006110780e5d201603a3c00649a1000af492d8ce31b00ce170d808bde0170841002708b05713ac67124a21c0d4c3fb6530251c8bb46b70875c5b455ec8c26f61cbd7922e376eb35c7849e6bc664af98319fa5892508587e584e6470f78a182bc75e16762ed9b16089612101c3080b49ad7b8596c2564d2c9ced3bb4821299c2c62c8502b1645b01d05c9de34fdd9856e1640e4adeb4f0904e8e61b1d90f23b69f7f9f2121427804835f0c8070dc99beeb3478b7ea650cdac20f71e30b6dbc96fd0035b9c04c60ec8100d9089971c7c8a0f2c1586fc760d9e918e25ca4c331e4a1dd18da6a360638a8c6d02d4563c81002249becb2789d9a31490568b168d3ab14bf08eff153aea94c60de30428aea0316f4808442c23942d218c02676facab94c56304245c76ea5d094998820e45c88a2bc83fd167a1f495c5a5dbf58ae89ad36fb993d0db9a6518480ec503241b6e500eb7e93c5795e1846e0983f96448246b926159a58edc8fb10e9482f8026b5e0e415b71856a4acb082946bf548cc416305c57041b4ca5110d3d12703c5bc17eff3361c74caf2341839dab0b3bf19c166eadb67463d6a9b8c71bf2ce928bf1e81fd21fd6603bd70ac7be4bff5345919e89bdf80452a36a591cc5c202e7a3c7e587d1fc8a6b703405a7b0fa9befa5f29890e5461e04f9b80467c091a8e9777975534670e22c8b1ec91a40b911a720839411ebc2abe655d97332b31c19b53da3fb3695fd35634d9665a04d09b079a1af462fd7b0ddfd82bfd2f03e0df8e6b65159fd5475009f42bd3dc74cbc7fac90ae066e34443581b026f78119c2703464e8e7e6c9375d8a6492800ca5dc70b029a245647dd01f751e30ec278679e520414bd98ddf1f49d98144411ebc64a0cc4faf0420ad7298767bba563e6fbc36d0309cf435924f7f4eee46271304359c4b24003bebbc54128c7a427cd1dccaa9895e401c37ecead941e0f997bee7149f8518ba10331dca4881b287f1c89fff89001711cb18060ed45a31f4b59ce364f4d604a8fa05f5f96a8a39f62647dee8dc0e298792fe1026ac58ab923b5b02059ab9fa8a50a34b13a640e6619d18d7c21033a1ace9e1d108bd80c2139d6da94a918063d3068ec6bb06835f0c6f5e5356d4063b9d6e117a41b2a88d4ea60e623f9f4becf289037fd7c3a3e97930bbb76c48ac1e0725523a8066eccdd39ed9564b01267b1e63c43f015ff61069ed9709ae590d7933fe12c1163f441ea9de33d4f82e6ad80a01af468873c75335ef71e0094244c6901401854189b888899c431e0fcf1eabfd5752661f8161b79d0f5dbde61c0c2260347478030e2ec3c6fd66d8022c4154719f071a3fd9707e4836163659489d6740b3cf3c31a117e6389e8ad849451bade0140936c4401203a6d03f91fd6151569920f060d3d6dbefa23289de2ace5b3c8045ff50cfc1e5baac1bcfd74714ba0974b57e4d16a49225fb1fbab307e122e5944e37db6a75ad271fea60c646071cf88e6939c2213f5fcb7ffb566f62d84498880a40692cf5e8cdd51904e9a585fe5c102fc657241ae03c9af32fbb9dcd8b2ae959e5c30b71562dc0f597e1e8226cb38b25dc88cd3f01015355872ffeba7a750aa0bdad92ea1041f4229df0242a5b34773a2bbce86f90f8e5c8467d113a7168e199ed75436104122203976968e1f0092ea69673721fefc74cb212d79e909e120a06b472b3f3c2605a1dce3bb7aee7104a16daf0401168b710f0c797b86881557ee5d3860a17a3c877b800671f0e9da2dc4beb0aac27aa2f1e28fa3a01b0db418a12b9568d365f2de6c1cf444ab1d34fe0327c46fffa310c94667c55805cbd47f1c77dc0a75983fc164555d654114deb0e68dcd040c495654c3247b5ac18187ff7b2da9ef7e69b9765b734378e8420694d5a907b84a2a448949b71d901a5ac993da11ac7799f03480145b146d59d17a10c9e121cd353ab58a3c88c0c2f416bd5014b7341a3c03ce60e2145c0f6f3b953eb4bc3ca777a157c2d587b0f189a947f4abf07a7d9e1892dd19038a0ea26c5e29a07934f50289860e69411ffde30f49eb4d130e2ed0bd86134e6a7e9a346dab08bdd0882be7c3a9759da3ec0c9c7efbb0c0d65e6529be25a6d560aca2a46e5544d97c48834f6f3a81a3307476e18caec230594c343315431f350cc98d089588fd494b46e872ffb41e8291a282b62a253323d4bcad799a481bd7ab199e30e4e4f8c6a80376066b9919786930a5289b9f6780bf26134a399719dc9e5bf7df74d87d1ab6bcd1be15ca590bad55a456c177e5155bc1a78575bfce59e18448bed26dd275d55e4237c6024759d752f4c0a804677dbc15ca57cccdfe5e86751f391782105923e9863c91ce0bf45ed56bed87681f76d463fde36cebb2ebbd4c0a3bce7fba78da84abf3b69ed66b117d356816e4a9a9e763adec481d4746e949210aee0836cb00354385cff6e468da4a50731e857ad7bc182eb4880ae749e8e662a9ce6dd390b8864782afa3f962841cad13431009d73a6455ab2e9409f4bf804b8fd6bbb01a860a72a69c1e45319f8ca9a91821ec4b2323c8753b28ac1a22d8ccd8281137efed0fd7925dfbd1490e866eeebb16b2ac9b19d863f7bd65e37081e59e297469a24b391f575dc0d2a49f3bf953386967bc67626cd94b8141bda90d89498e3bff46686392fded4d2af3510054e9e866282714d71d78496f0dadbdf5fa75ebfd46bc039eacdb7a884f88ad94a5ee22f22378c8bb2880666b45f9e7de48205533d9adc0516c90f61689be70ddb01011f1309a81ac6b63a47c7f0f6f700478404654bf637075db476a851d9be7d8663a761271ad80c67286f124664944099950c460b9d88ee0c084314142b695a968a7370fe41dc8874f47c05a6d0e5f029d29ed4df51934c2730ee79ed92ece9fe03607faf651e295bc1bcf105608104c192763bfbaa8298c808dcdef4a12e121b737114c3918c2b54ccfcb0a0e602bad7f6912c0f44c9189d548a8cef56b7074e6f2f21cd4801637ed4d74f3e2850c533c17ebd4ad0631f43e8e151ff6ea9124cc5b08eea58637a6ce6a70a80a8661705918ee2539c104fcfe28d619840b26ddaa5ead732c7ee90cef371473c167d25d8c318fbf3993f15e1c8b2cd610b3cf35643f16b9e0a7171d8bbfac5fe802380119bd6d3f249e2e183f633d2642cdccb14eb1c0232b48e90bc02d8a9e52121e03827e874cdcfd92706eb0d058bed8ebeee00d51b5f4503ea439492cce22a502901b46d0643317d45bcb8f45ffbace3cf117a7cee802bbed762a1e83d60396a18ecedd86928b2d9b531fc0fca04976d37c309ceb6b0feab3b929e56a1f98def412a771b9884854c0d4dbeddbd06efb92897d7fb5ec9049b60862a40afb9aa77f0dc6246d25dd86677fcdeaf0af1b2ce7bae1d1005f8884967abd83eaad1b70e180a1629c4845d3191c75692a2b8b6a4394b68dd82328ad8f27be11a93194476777d4ba6e9104a5eaa93d0bf977992301b743fe1bb09fc5a378cf3d81fd1f823dde84e2535711b0cbb01e9ffdb43c3574a4751062278dbc57395bc80563025c65bcc41416c64ea55fc985196bf69dcf711ccb1d3d3d290a10cce1fb0aa110343959d58a4d06ecc35169c88b378f716e090fd513e0e217200cbe99bdc9204ef83960203029bdad344b09f500489df78486b87e8eb1643f20cfb79142ef577963280fb56a08baf16198bc00f5c30846af349bc218ea9da2a172d01749b0d675a918eaa4e3016f0e90fb81214ba528ad86e31133eb1192b65434d09eee4cec3f459906a1e26e9e26868eb74fee7c70d2028ab07050c294876ebfcc0a424bf054e572164a4e199b36e7caf5b5fa86e616f20197cd3b7838f9f4cb615033d56b71bbad14f9555775c239f0f210772ef25d14eabb0649a9cd4a64b79a5c794a90a4020d98896069885c355c95210a5ebfd49eee4316f48140970b9b1ba2f2c99e6b2956d38f1f075a3f5470ba1a5dbbbae6274832636cf362041079c5b0ee41ba933396b4bb7d9123f5d3b5b6df013a53fb73ae203f67ab190215634a6138e86cdfd0f940d477595953bac174b3beddf2fedb0f5c9107c760fa3ac332250e1a9277752087ba0cb4d5abaa16c3e955203ddebf6edb8c3a02061f0137d7ca60530e0fd1e33e8fcfe0bacd5583c0e2455e42a7e552fac7574a9f69411e0e7887d6416697981881c102505dd5632de7b85b531936d2d028ea085496501bb949567b17a806816180863bcb7270e7b3b8e712c5d35e148f16ed8308bca8806f01c5703f31cad59812aa3e78a5378606624216b1ca82787ad6ddf55d7ff807869b19d18bdf8ab53a33baeb002b1bb19692ab235a0f41db3470702a2f9d29ba3522b5e62432915932261860ee2f3aa9fd302fea2277da66db5e25132e22b6e3e29439bed4d5c8260817c9195e4cfd7cc0184a41ecfacaee1fc1d424320ae292421f0557b7341c1165e62676f2085e2a1eaf80179a32dd8e304965c3f619a51168d6d31135d8d767da7d3f0ae2cbeb1595689caaf7d78f9a490880267c31a103142a53c3a68336c99ae7495d8ec5bacb1e5c863b667247cd041e7c6c7f53800541c13f09c520cf7436d40fbacd2731868b608224e84d22739c24dfc9480548eba3c648059ec9fbecc3243ad7968cd6e320b5cb69e0dd7fc102d334cf5e9fdcceff8e825c36d76f344b6b7e6509f915c2b3f81dccc6c9b509ce586555822feacf5cd80a8af86a4b3279c4d96362c5bb2349db41ad63b93a688e54735c78bc72c92ecd588e0929ea7d10a76ee1f2e166c9fc43c74aa06f6dc0752f02aab0290e8d2214d77e6b34b65f70b42e42616e3edae2d1ef9ed0eb3274db9099942e37a04180ef26e531fdedb8adb3403fe13dbe065dbedf64a3675b5ee416c1173cb505aa47e7420184436b5815be50e6c10de0804b57a3250ecdbc91055c2cce322a4703d0f2803de558bede18390db30cb2363f07279b8b5a4a250978a984762ea2f79c48f61c67e9d1b40ef540c26031b93e51ec7f8ce4d7134cdf545ff5666da074bdf5e5f294daf12a1d4d5ce985e4ba190c56a62543cd642714b87a99b49c4d4b652084c39cc854e707d53ea1403d17e4b387b6052b34620e074965f8103f0824fe1ee4a1ea05661f99b56e34351213f29b5a78ccadb7326a33a1b2ee73c4bf2ed185bb5df59227bd85010d1d91c96cfea3c5a8691c40500b7d63ca6fb56ab300f9e249895053b243db0e26cc12d01abfcd2938b89b470e3b1c726df743497ea543464e9a6177acbfaaadf09f8655c30b7c08c1d97ce24a35e7b04abab0c548253c35ce2d4eec22fa35b308d566f84d7a7b6c57d83f15397b18893b6dd10ce4a6ed41463cab5c2a836b99c78fd167a3c11528d977102158473e3ee05a5cf866ef6b9d6f9a392dd358c5a978383e75bce93bd5627fd13208471b3e1366e0d2e0a97b63f07aaf316f89272d71bf7370852982049ff82132e8d9f211aed1c41812722dc2cc4f56a76a5c99ee41f8e6ef6c364c637d38d01ef4113dd83302d5dec6e9ba45ae920be2b05bf27f18c6cf23c250f3c32056719f70a3abfa9587f3aa10ac76ed095eb14839e3b450b143238525275083eac874485b4d281ba7d62459f2b24c6ae73a4d81fded5b92d2a448d4a4b77db330e28c7121d0ea5312946e18aa9f38f681a19dda809c4606b720bb4c8afb4e62bad262513bd82f7030186eb2576fa78b648870cd5c3c83bb4df4fc91841f985939056c0ad23187e8f8100bc7587e42fdadcd76404f7c64733f0a064267279874f5bc881c8fe3ec16bc3e035c9dcc03e42cf8f20e9a23abc9f42e466256bda88b8ea83260a64f47b6eee1e33cb47c2ae4e8a92ea79de13fc8ba87930a048ae2132fad981e245c79adcb0c0c21244953243d4045c033908a6a7e201a7e3f3fee13ad47e71c42bb09faa77168145825835250027637cfa5dffb2a07e53ea406d14e02d7d5bfeb5b0249723037ba0ac1e2a22d7e5c30afbd318a04a7996d535ba292824c7f087445eba7d04b854f23331f59f682ee997aaf254610aca7ddde868d86ef10d85296000baf53a0fc0b52c0d35d5aea93c4463c2b5b6d8e45e7e4883fbf186bb569f313f78a4a656048004ca0fb0606979140032533b22f318577b621d15a265d1b6c65cc6e2538d57a22c926b8610ee36a20b2a7355b374482475a948200211226e3a818d22c01d680edda3eb95771857044a20116f362a6e01a0cd142bd0cb1fc279b1b3a12d9691533dc6c9a4a3824230e428b69a39d5738f3ff2012f5e3218af99c019228110fb6c0db37c655018ca7810d46fbf4c274cca2643b016cebd6ed0e877d0da2aa230c35e51e7f57113c438f5032d153c0ca9c51c6eb01e66688528b37b64607bbe2bc0f6be35e4993015f61a2ee2bb5961d1021abae3342f61c7f5ec78d70b01868b14f0b73e34f3a72616a86953dc108b3292d07c5595b26aef2b6370abda952ea97f392e00e948fd20b48d458ef000197eef06ecd0a3375fef779f93f7378b7643487bcd3f862ea08a7a90211b763004e2a6744902b69593f7c98e9190b68278a2c8c3f78539bf18d5aea497eded0d55ae865877eeb56435a9d64283b39b843643d55feb9d599680425b8e0b14d40fd0a88aca68fb2090de3b2b1a3ddeb18d616f9f582317d3f83e42d126e1b65bb576568081c0b00341ddfa3fcee06d895e97d7c0616749c35ae7c484bd6a8c6df0074acbdb6bad2a26ff5d855365dce5df2c2696d624553a768df0d5c636098163902f8464d1c3f2e45416c5b42c586213afec0b50f77e36a60860aa849a87a199691fbe33ebaa9f023b25b3ea3199b044e837ebf5dfe6e580a53c3a1de9ab07a1e383ba5e8583d75fce40c6f4d70751d3c400d09b3f12eeb647c40d704fa8ce556d12509d61d1df0cb7030de016f2c6d95c8264c08fd7d21dbdc6e0bd48ff0bfc92eb9e7c2fb223f4e5c1bc77380bba1e91465f6356bb80fe5b87cca0df269bbf6078819205ec1f24e5f4f287f238201c4c7626e505a803243df10c8c59192ba3a2bd20e4d5a1e604a47f309ef5fd00d12cfe2663bf30017342a119397cf6b65c1c68e8264eb1639711a2560acbab56503e07b467f3f3aa829e9b00ee41149c22eb52c542284cb16c62f126b9c73ee5143b4b0573079066711250843f11fc35bc51ae490e59095690bebcf25d50717bdc1858ccb181c4b1a45fac7269a141f3bd7310b9e811bf0c970bf81149826fb2851a5c91bc61e95ae3911ade15a37ca5ba6757a2a29ef78d2fdfe32c7cd3319fd0258b8949432c40b55e3d6497baee251e60c95738aa79cbe1211070ca0451ea82f06b87aecbfc228eea3bbfca1ee23e496385222fd6536c009d9c5b5f2cd19ee7f6d54e4e6205a171e0ccbe68d3cbf65729facc0a9c41d119a782a64614437ea0b1a507764366486abe10702ee682830f392b9d8feb002b2063945af0054a383075650df6e3e6a704ea662a6c542946af5b93b10a2362a00c9a922d88179300751f13b6834bb8adbf16306dbce1563dd4936862c1ad5cd34d0819da5cb0162d6db399ce5988474bfa9fe04f951b67f5e09b4ad438c7d78e25249e160bfd543140cea60d6419e17c99fa4373f59452fb67f9480de4195e3b112013288c0fda490dae482d6caddb6bb79a1884d7a1c23271559c2d0f28307baa63ce429e0a21dc1b7d761920a66768566d8576c25401a3455a604b70e2cdb6f4969b8d654c3f557bee8db4004b8c06073ec5adf9e5429e82329f65ffe8e2dd5cc6a08c3ecd47b34421f569541b3e176645db55e80ffa0ee98a7878b24d9207ccedffbb7d88d5dd196277e3717086ffd40656b5251c9735fbef1f71b13de64d1f87b36afbdde805e0cd4af9a97e6c8df60a158499e78fc0122c9441fc53eb507237daa5a8d0d81defaed24d4234f4c708c603d12cb6503648e340d2d63b047f2ce91440ea6778179446406552927de011090de739f78478cd5d8903ef86c8e3ee591205f8e2488186ce33ca5f0685506836573631c1d9283a2e3707b0f6e87e456351e79bd7813c6bc375a0fde2cdc6ff1a605d3ced36feace36a519865844df187bdfb547272b068a62b3626037b6ac5820ef262908f60ca1f02561ee668b754a6fc5054b50ba61d0831885f3d66d1debb8aeebbe8e1e0548e85734d2ac2ef0c220b547521499f0b370f1c78ca1ab19dbca92af112928c745a136272efd74e2d6e9ad9ec4d844b915ad08f8506940a116b7a348f42d070dd0a1cbde7d12cf1963d06919c5d0fb8dc9988cf28cdd55f56a6d1d839db4179a6f056d9576d98ca40a1dbd9f0a3a668402908fe3b3cab7b59943041c57d4dfc84d2da781cd963d344333072a208c0fa575bf828dd1255c65d1ed96586a358584647a2ca53aaefa840cf17c05362b5fdbc151a1602b9d5f31112762fa407a65820f8e11100494496e7e5357d9345026074d50e65251500675675066e3375af4965fdad19c7112b04194d0e9d071b287d230ae6aa691662546aa7b411371c8d7c6c68a84cc8fa929ec4bd12b5540912b19aa12081159361a6d60c9e80c637eb5723e48b70e9dbaa4f91768cbff04689972569fb290be5143524da5572666948735fd8187e71f42e13f4e603c6a2eb15041e2420b7da2de3836313f905a953c0f79cdcf6629c14ee3e0b67122c7078b0826504e6c520e15d6301b46272e3b02e4bed2c10df53abbef3c023c25319261787ba1242e9b8c7d0dbd5844405f0e1ec5e77790acec7069a888a77800aff197cad4a274e9a04b976e43d2762e126c7460cdad350a94fbe257473477c29d4ec484bbce3509f71671d9e157164cd5a0848b3e077369bca43c1171947e2d729dd450b6a84def98cd983cdd5aa38f51ac82781c5dc23eb521511356d4ef503e55a47147774cad26736cc20b19ad32eb35e10af3f066b139bacbb017864104fdd97fac66381bc364d6a6a89ca0d9971e748977b8d1a02302ca0417df3e5a267b3174bcf5d8827bf8924d28e129564c770888a25821d4554847f0e5e57e6a50104445b3e4ae21efec7a808fb92947e260114c3e2f9f545d8d134b5c6e692d7314f99e22fac831aecabccf0c876545cc5ec49613011459766f371b17f91b14e134e9f1af5c4440b6ba5774c207fad8948615397b3d9b25d5ceac486f29f417fdafadee0ee95f0d5f227a9e2f5ce4a69c2334bd0b4a62d6f3fddbef82c1f749981cab1f46985f4c8759dd0b14773874bdf7fc08992d842ccb018873072b961c09b9c7c750ce418f542246f22a8ba6d82454d3726bebe0b3b310fa87e0f0dd3923c762af2933d81bb1a498826ba43ec243bf41240d21c226218a1189cca475374f1f59650722d9a8c71106bdafa7b353ef60df2c63e62784c5419c2a9f68290cdf743de5bc5dae093bb44046b2840e2360edcd52da3342529f26f0be3a9aee366bc89c01c28000b151ee8568c3a7d2773a817afee601d9561879e879ab32115b3f46f1f081f7999baae8369813410f4f873c48c8fd57df57cc671159ca4d645dcbcd0021165dcc28a88e7cc6939c5df6c2e459a42ac250970bd49403596e6e30a4a2a54309c2fe67b420755ef98d543a261ccd2a2dfcf401941bbd6da2ee5d197d24b720f686de48de990c2cdc6f8c0b1ede3cba416847fd66b27af9358ab269821cb07efe3dba77a77d17fd4237270de3c462468ca88aeb9a924d9057af228ac5a1829e1a0968fd988386f5d03821372a1e23ce8b8c065ce4c8e6c8f4d281ba0f1b53d638934d37cca2bf90785eb8d88f0f8b0a490f11b0bf60b1dfa7e3415519da91903929aac0046a396ed4310b47186ecd5c7d3463339f70762712daaca7330ab13086883a238d003f9c119225f878bd1d46324a83fb85bf35820c863214226283d7c6515273641672f5c944692097486240f2254aad9782359965e98173e5c1f0d959aeb9595d34c5066323f88ebb85f027fcc71823e2ce689adc6c6da0db861d276784071d887c6ac7183086f9fd3337ec8e1ae3a0a22bafa03013e1230ec9573cab75196cf3ae2cd848f506cfe07c495b59a20c94b87dbbcf5809863e536565eac38cda2961606c87cde122897ea6436f83b7acf47db6db9077ddfa89dda96e1c725880bfe8d47eb532b26d0158ef741dad96fdb6879c2657bb4b95a4b039d15808361057b6dc323ddefe843b4931b5dbea8d66035dad2aefa4998b00837ea204dded0d1df3a03d3e500b62be1dc70eb075fc6869e599e781d382f2f1e1432c4702a26665884e7989ee5428bf70a2022b4f57b00097475aa714ce1ef294910f0b879cce402acb53abea1f21323b6475dea377cecf2c94049a5b0a6df972bd94678dcd3059242aa7fa995ef79502060f2947150c93f3770a049f5bc5e3aa5c9e8776e6ca8638a4a0d059722bb5add94e7185bc498118167dc890ee23c4311a186edabb10dda87c2880547865ad29f988baa1d96b8655d81b6094d2c4f4a5a9cc0fb0744d1ee80618ea0b8b76d7254057b1ed02242615ca73d7c82eb1903bbe9460bcab04b82c09a098f5e8913ac010bba2f325731027a29b53dc5843252859458242a4d1571ebbe72832e3aaeb30ad168f353f5c72016820590b7d59ab76996e477e00e5c241efb87eeb936af156a497e1b75499f1d2f7f5b1e629c8a44383c2178b077bce74f4a2e36662bb936c3aa4a1fabe2c89c0b770ba121479c3d3dd0e287ee6a5a9714383b04e219a7f99d23801d1f291e2abc501549f52879ad439f473b8c50cb55e5b7a25b0a2f9e3e284199ae327e5a6beadfed0b3ca9a6ecfdab56cfe9f8deb4b202738aa55376ca6add410e89f80107962a3bb5556db8b78be70e0eaf52240ad67a382bec98efda7496f6646c6bb0c150ba3e44dbcf06e614fde57007ca5f9d2d9dc8319007d4da7de83a6e03e2561f5e8a65c5a5b7e363dcb56017a965caaaf2925380ccca426aa6c448f21fe3e10c7ed5bd58978c27e0935b4e4fa87794acd14d9b666916e7a835e6b92b590c2acd11af46f48de070ce92650d56e24e5898c2d01f36a33be2f1c1b1947bae571fb5d85eb2a28b58cec6c47c7153d678dedae147ec33eef7a3d8f2e2438ec1d36c2cd216bbb02679447c01f6c0e972871c3bdf3f1c2a31bd13178eb27df5b3de91c3a113eec38a05b0159717eb0c50530ad8fdd7394f5b043bf168d34b1b42bc07c1867f06bfb948949446f5a738c68d91344621e6cbdcb6fe6fd2b98bc470a24aa4791d0a0a9de583b3657a217db719576d408694100e5eecf2ec10047aecb081e1b4c66fbf34df844f27b8bdf4460838ef7ce06bfd4fa227b14bd65a0cf4c08d96780810800997b4e0fdf7f1f9ddc86516964381cdad634b64a7be75ba7297bdec603bca219bfba06705a32f0d5fc8ed1026fbd46d08874e473c2e8d8e36c18ab3f70b9673f12fdaa4e2ad8a87223c6361899b7ca4f40c4edd40ddf66ed82cab5c7d9c304c8f4124ea947e03de61138622792bdb094fd7dd0481508cccd0e58ed20d6b808beaa10230a021942696c986c8d35559122228a5486533e971b7527c7b57cdb644848ee09c1591026c397e91d3e9a896fa44a8e971672b98518a1a475bea17383d38129aefd8f651757edbe36484b209154ee21898dede64d8558e1694942962cec4d032b5ef473a5a002e333e86600cb375f6935bbfb766433760f90047becff77ec4e227c468d73ae039b46815738868e739a480d10137b4848d41b12b86dbb90cb250c6628b881c2ccc81601d5aea1f25496c4ed3ae0ccac16009faada7048168d896cdb90abe1314e225a93f3cbf1451b86d3367b1e2ddfbeb260272c03c9a2a218552532f3eb5179d5c43eb86c347561b59230f0be97d5840c01488e35526a1714877b98968c3915227fe65ffe4421764f2dd710e6a99353ea252a154d48f7eacc49262b00a88d557284025b17f27d98d7039a652f019ed04b7bb32e2c7d6f176d29340227722c872ae5d5ab1e507d8df542867581ea64b278d01e3cb48910859d3b46e3a2ce74808ba0462b537be176aeae1624f867a081fd50aabbe6bafd1510d5ca5499e5637d007eca29ab9a65ec4168b458d96ae9bd91d8ab6085c8b289e75111ce22deb3c3071d0e6432c46606db2c11e8ad923020f19fe0dc0c9cd9490c3a8371a52dd71a30811ab326cbe0e4e0913ce321dba81743aab6c09e35c67244c8a9b982904dccdb5aa4221ae36db5681101d6e19f213c8b84bbe86b31040fde387654b237acae707717601f5f4ea48cf9dbf51975860bf8f5fc4004ff398ba4a16be0d267f830b1936326e7c68d4cb77b306eb484bf9de926354ed98292867c3f083c081710bc0f7a9c464540742499d929471b41887556f21bea9e0928c5c4021aa2e3b5d46033a7f4c11a03998e7da8811e1e64fd2abbace4ef25edf65512c708487aad14c2e8319f66e5388212df0b4ce6d4844c894fae391ac5de8018934e2cf2bb93d6d2929b55de3db6d012282586cd8b19b27868bf625366915c7e785af731db33866e5a3c70d78777011e4a16642d2f48fadc28ac4a95b43c366650778f1daf3b822b56dbb12783cfba8b0718f1acfd56010927c554659eccd5224d7079d20c588a7608ddf5882acf4e45bda0bc07c363b4b22768aa79bc8e49b1de400c02be7c8eab7088ec1a92c9194b64526585a99cbd12d61d1538532890b9e3c1c82c2b272bf0f7d069b046f03cab57317bf53016f586ee703c20d2d2699389eeca181cfe2a5996b9406ca74a46dae029f12593ee774ba5af1c4233d1a50a70712436896f51db6c34c29eb887c2b70c2718110972489b711a50ef6bf4931ab604d01604dc4673352362cf7929977cade42084a1c23d577ba9670ef4600bd9b00b77578d9bf1c6080143d0287959ed1d28d98253a124253222b2e7c7601e1225c2c9e00e1b20e51d5ee6c3a76b05575859ae2128d5c2881afa2c2296aecb10983e0491a76a1a1b544f3eac54222f7fb0624b530784efda8116dff5feb2bd60a0c2638280771b4294e2d14893a70f226d77a77c0660f9c6f1551ed88dcd1d5172a2a8fdc0f4755084ea59e031d682045d0b331a3d70420129d221cb36566a0ecd675d001da62d4f37cfef92c8d068995302bc4a966ce5a3fc41934ec43455f99936693b4bd7aa01e2dec634fd14287aa8453eac2a99863a7862b4dde7f84ea338470a03dc0487ae703b6bfe54d3ecc0b2610a17391f1f77db5493a881431200074df8be0eec61b04b1bb8d774f9bd977f075346053e551b1a0b99267188247223dc498b5e70ef757f304550544e723c37a9d4f74ab1d3d93ea2f77aa453b32e70c8e4845451be12357bddeffe74c122995c325205c48200a2c3f25712c3270262beaaff5d3d84b17e857554ef5a3bb07727df67ccc0f9009e5378f226383e7be9062b7e058480c3d4157c703a2b541114a98489cd11a44841683037a2cca691dd9da8d2ed2d2d3aba890eec4c75766a339c2c0cea9632ee005163f8065a5f69f41124bc21157eddf59dd2e9bc027630eeb508a33f5faf91f28e9a7b229d0bb09610e9de1cd2cb815c29715fb00c365ea21b531b401c1eab779029a3a0b8aea6055da8c4c1469ad18adb9702e825c6d9c8819d297e5f6d8683c546dd52e65d31a625f1805d53629d90db61c1ba0bcba7c089030958820b3d70915cb465c1e04cb403227483663ee4cdf81ff2a2a5cf9852e902940d698495f8c6d79b8a7318434a92fe9c08695b8156a391e0af704b06e338c03dfe912a265df40a8780f1cf089eb5cb874bc98d578da1f9ed8249ef83780de133d010a30e7852c493b701dc54f263a89b908c90ba86120c2db00eb08e100146c030763da0f7f6b27918a5d1b7d7fc98ab0c6fdab40f957b7976f5c8b8a8ff79973c0b43d0e232b7ff1052d76a25be7c1ff446fe01943e3530ec9b0e3a219df8ed4a50cec529c4b5a7f29f37b02d8a320bdb93f76d3590e2eb2a79dcbf75f5be357e8add47fdf590bf9e538cec38c64aae161dffc3ed8196294411d79d6fe9a23625acd888bce9b82baa1a7c1258d6ac13065dc5e91fc740a191df4e5826932c980135d68ac997adf1521f75ef0550274dab4aaee823abfd46d95c37f6f7464c9ede2c97ad4868f938f8bb223eafbea36cac367ac3c778552225e866e094002965535709c0c30e1954f642de902aca515065a0a5a3626b342a7188858f90a131b13bbcdf3f111a253250841e6d601f3b33c0a41d5b350e223840a7000c027d34275797c55970e430ff4cabf800bd96ed67e41d9bfb7f8dca717184b03100e1cc8665bda86055dcb4b442afbba58fcf416a1de0c5a362ebe7b2a8ee3f8a8af34538085ecc810352a443ae628eb1c1ec1c0848f45fd692434c0be3778f17698b7ceab0d738266c16d98ec87f051150736e475051dc4aae9d08f026dd7afdb7d0ba60c001329ccec5c4ec43d03fc2e9c2bc4c6955ab21ddbc5cbc023f12e33d5f06a3210c3af95a92435f20e714bf538b09a41f81948d415f3a01e8c96e723e529d71a052c3b03c61fad1d3a7cb7c688f9a092392a9f4530400ab8d4442321a0b884d980907ce0c782f1bd20acb870ff4544b76c4eede4d34a4bcdc3190c6ed87adc9765814af746545655210168c391f52605494c43cd15333d9cd95bbf65a18349c908a119aa3309ce251311841231bc151967ac2575382113edb1c3b5ad021d43a7ee0308a755f0a6a84f58abc5541d5a08f2165db615e6ec29c69f49c6fe5be3df90a16ebd0f5c28fe77d454d40a324c1f7401a235db9e0cc848f8ac51a41c24b6e958a12aa0f8cf7a01fac7d7833e81e60ca1fe213e81b0537a4e5c01c56bf0b9dda125d67579fc995477a671987a2299e646d25225eb60e2c0169fe0c60038481837082163e5567142127bfb04d7cea546d45f0382ca268a272c0399bde16aa6b4ba9d0ce5e95806ef024d983e2465b0087dcaa66626e625eadd38cf75366ca5b1a3c3c4957a75203ec5e42c7691c1376aad5d7d28e98eaf41e08bc46533d110cf859902f8d6c6c121f7c9b57a955d703842d477b290713a99bcb59a870e778abc46a6464c4e526235b8e8dc39c65603e64449f7bf5557aea2cfa32f27ca97b8a87c8d7550610f2fcb9493619b430f70f24d6035b5acc27923c8c96a09ba0618bab8ae0170acca68310dd1714dd3ad978c788abd2717e68854bb165ebc45ca6d77655c193b3dd8184f9b4a4a698e75dee076fffb170e89b3dc4c123c9bdce2ce8918d1297af4ec8046d143027923035782325722166df1b642abbf85e76564aed40c17034efde84f449942cada3202cbdf99f854268d15fb48586b3d72652f7e847faf3b7044c5b1675b6ed46f26fce108926f2271b0ea1615b74c8c1312b368622a06593e0df8e108de54b70c00cdf557164bb06e58590d6fa443aabf0ecc1e3c99e2eb4fbf14e9b783009c9cd69d982b7dc756bdead12fd1c34cd40db498c16de0d6ef8a5814fefe708b815cfbb529f8217e44af33414a9859d5736d9cdfe9b1b124d55aa35fd03d871d09d369d00592df403d65c66997e8c07364f92d8ee3a954d9dd7d3a7eac6f427efd09c5dcd227ad637af6013e4fa6be203e3297afcfb8ab8d767b7dfba2bfe9f78887d7d12d016ee1a4a6cead45de232cedb403d3cdcaa050e805672c1e98969ef06f896468b8366877f8a8fd82fbcff68cd19099362c04ae8558dab22c77fe965079b69cd4fb7abffb2f52d916f3889642198329d8bb68f847f401f431f68249b8bec0ec77ac8b950a146a05e96818ca324b6c6497217015c5a60eb104e5a5bc518059a61a58f39e55996055f596914d2a91620f03ab0d86149b095b00149da551e1e7af1dd6fcc95fae29a6a78cde3ac1ac2c39d99f44351b990be90b2d90d43cb4257ecd1e5e7b3a1afb037222a7839ab9b594442ba6e7328eb32e8bd09e54d8f8fdfaac417a0a361b439fd3b713f578d96577236b0641780341830cc06ad0a677486166797b2d9547b9ede42c4ee78c178c56396aa9ba60d90fba2f8f8d60cd08b5357e759054ddf22dae3600a1ca604e77940fafd6452e5c94041d0d2e85c369a4a0ef4400647485e4292789e266aee5445d200c2e989af01d416ca57419acb635907bce15865b496787ea11c76cde6e18fb2d2012285b2c470a8339218902eccd6c703d234904ca99b7e5f0cd709c09ddd6945388945078c8de79ea171b349d4f14d18788ecb661862889f21a27ae981be32dc266e74e8877a2ee66a2a0189d5e4223120b00f8f440cf1855fdf68cc94b3425ec83003f13da1f4ce4dece24c71d16c7d4dbba046e33f2029008b3940ce802b5276317a33633071ca50d9e25ac5d1098a43c482284a216b9c0c6b47fa3de52265ac91448a85093d2b2952c72e91c973188d509aec22e6888085b7971fa34a95b0379a0a5d1ca90277b84231dd4b3563a97c1d6b2fceb171727164ac4638cf9c91be6823e82403a4a9025a2ff27260500e3a520765d8400180dc7852d5c31040e62c90391a863fbf55ee330f5f332725d2a749d1ea9a138e12fb131fca81febe7d74b684aa71cfc1e8624146a6320d4baf3233e9e0b168bf35a8032f082242d204068976a4fbc986bfed2652ca94642407f3065e0738d8b197d4d533ecd881a8ab47ecd883bc8f606f1fecbd831d531975350f764c678ea9cd31bd39a642d4d54a70c71cd71feaea25d871cd425dcd84baba073b7e1b757515ecdd043b7e21ea6a27d8f10f51573fc18e472375ede07824733c9a59da02b205b2926d5925db210564d18c4a16d57c32379b65ae9644e686a6e48e8644ee868ec85dcd88dccda4648e16258b8664594483926ded499e74c60005c0dd244f3a4300dc3d79d29901a4807b090ab86379d29913702bc9813b499e74e60637121bdc3c79d2191370ef9480fb489e74a626c43de2204100b8489e74260098489e74660411b0903ce9cc0d1c244f3a03000c244f3a13022ee2870f22861022a747028200e2071f7a1079e09167cd0ed9d2e88cdf0c6216234ca27ff30993eadf6cc224fb37dfdc611289342a599ab71cbbe0d72b8f421832e8ad8b5fc84ee48067c8d35b2ee8900326ad903dd4e1e6805f58071d561f7c39e48071b80e358757e6c2182e5e6185d507df6b85d7a5179344ffcaa290c4fd2bdb90d4bd0bf9862670c031e46e855cc317625d0d0e18869c73718f2263080326e190797070125c83b372e2f5c236e01b3089f36c6e587df0bdf0f46c5e1887df903b9c21776843be98f34e98e10cab94b7ee2bd3f085ec040d31641e276aa08106fcc2356052e7d9d4b0fae0a3014fcf86068cc36be8f0953b6f5ddc7927cc9086d5e7adbbc26a86dc040e9621f7a4b91801194f9a8b63c81d9db91886175693ceb880b34ad1998b0f9067cb78656f21f338f1c23bdc0b5ef0829a1630e99553fdaffc8de31892fc5fb91bc771077e61163089e4d9b0b0fae0dbc1c28e576e79eb629277c20c77ac6678ebd6d26bf5ca1dae902f264dee4523e10bbf5673d25c0ccb2f8c83be72873ab248431556396d802cce5a01b238830890c50934802ccea114b2388550c8e2bc9d90c5a6e5c86267b9c962ffd864b1874cc8620b9590c5bed564d16961163d0b8e2cfa0f0959f49a00b2e84101c8a2038d90453a93ddc8228d01208bf427842cd22c341b59f41b085974a10fb2e8431e64d16335b2e8321a59f4d98c2c3690d84131b2d8351a182f2ccdd26684a2a5d1727272ba0dba0c1d6be023ceeee52d67149373be50a4638e2914a92de72514ab2da70bc5b7e58c427134e67c2850b434d1d2fa9625142dcdd22c2da786e257b608c5af2c5ba1f895a1e396d118ba6824149d14a78d2c43d18a96662a575303232e4542e07678a42920206bd0a6bfb07b7c540a1444618faf926a492c22cf39c321bec6d4bbe9c21e1f4edcd19a08d35bf7b5c8e659454e3cb64e90bce356748803fadc325a754dcd1d522e8bdc9bd6a8cbbd36ad25b10892ac1aa194934067ad0cef2dd247856cf89a09a9fb0ca85065123a163308dd077a0ba90cf4466ff4466f2515705758ee0a26b7da27bad46e2770a9915c6aa41b0b2a487303910332f49ffa3363757499b05867ae13162b496d2f58a4548073e803208b110c16bfb005df1a2d5f8242d210dddd344f4a29fd282d83424a1ae90f75957af5538a22db5a6bc580058b1aa26228536a5a9ba5f01991c8b3f9f0a8668449b3bdbb61acb52c300c0b162c58e40e6df67094799ce050e31dba4240a11853c392c2e0d6e8ccad0171212ac7902f39064b4c163a13438b296368a10f95b284fe12945f82bcd5e31373500be9492412b59da502a1633006264f6fc1c45e6aa6a15b2ac3d01c94298749cf751d0ee7720eca52e45c83118d5860c7302c4824cf86e4d97c31b7d061b0e7d9f8e0d942b79452da94d2a61406db2cfa00134345080363330d513fa1e3971c819c25749ccab4d029164b51dc297c86c5ead68edc5ad8982bb5dc9ac702935cbec7f7753771c1ed3628cc05e9e41a2a6729bcc5811293c6318b9c83a84e0ee2400997cfc5053be64089796362f01ad560b07a097ac127e6a0989adb808159bd049d4aa506a213896c168530b9899b534331a61645e818066636be48e12dc727592cf512f423143a8619bf97d24fe8624c2d44ad5e82bc45c73bc5b5c5d4a8eb62a7ab97a098da5dbd04d199177ce28d22a7ba783674d5c4887a30af0157313f2ef8c4985a50e8b7163385cf382e79362c5860178b659de4ebec03158ab1c54ce1ad1cc422c7d45af0892f41b5d0f18bcd6d883928f420295e6a2f53b80d510e9a3726277bc912fa0b2d74f1d6a81097e5d6a86b746b73ce98b2e775258b47d8253731c29ccca9504787be9922adc416a3dcfd9c5d68bbb0731b629d85f9eb3a0ec81ec550d271b41b8d5abc8a2ba9a56b6929e1fed2eab197793ceffb31f56cfe69ada43aeabad1a8863722515dd5b6556a28810e3a6cd06ae116b8c50629213095fafe7bb01355e06bfc2a2a2bb8e28a2baeb8a203599529ab28c385a0a9f5da6199b262971fb7612b4ac8250261e3eaf2e342aac2ae788a368493da2b2108fd4ae83265add6bb9109654a8bab5dc9943265c5aab0ae5cb27420b31b70214758e480c289617cce8945b08adc69a59496c2516e11a23340a1f338d13809ae19713f339246a085050e42cb50d8a24e14b7aea251d056f8f5d857feffffff38fae8a38f3eca7abc9b6ef2edc40793dac9f79386d2d9246b282d6b99ac2b7d3fa937289647268b124526a589942a6444b5e288da47f41147f411a352bdf5cfbc124edc3ed3d5312020f3c6094f1c648a80c2130f9936543debb163a3f16d5d7e2cd62dc5bb6165f15970040b899ec2ea247a4a27d14938ed4ea22b81b8bbbbb9daaf9dd1ceb05a9aa5d154d966c05ec05a80f62714f75a955dfac04cefb45a5143d15d7659ee8c16b37cecaffcca491305075ac613b0f26d4f822fc153e1362eee95e8225aed8cfec4388ea3d168a42e7f62ceb47b206c0f1a8de49525b078396944a79d4ea7d3e97482c16030180c368ee3388ea3975e7ae9a514239e0548fcd011539078308b5e2c89290f66f1675478cb7be6dd3c959efdc59f595da5adb415a7dd56ba1288dfd2ac14d666a7b0a5cd80a54d1ac72016a7d0ac229cb886e9ea92d63c0e6ba608303cb109d3c669d666d0a8fbbe540ae3566b868f5d825d3eed2a5c57e92a225bbb4a5719959efed77ffb2ffae7767e44e11f552ddd1cb5b4941aff4acc33b649e3f8941f96bf044f8249e3a371de00b1e391cebc01c38e47475a040e3b1ef1b88d8b552b71c6c71c8aa311b3566287b333fa15e3383a145e7a495d7e854ed85e1b814fe12db7cd704ea7d3e9743a2531abe233f3a14245010aa862a5b695b642bddb4a5b19954623150554a992b26265010b5082ac4d3649bd9b6c72541a8d93c63105a2e16a1f0ce28947f3060c4fdcf2d386c5b3dbe3c2c1bef292ce787b39660f71f28e0ba91fcc5d48f207331792e8835914e2e45943aa0f661b92ec83b98624d1e3e41dd50b70b043f1d8319869e8e5af443a81b031983bfc99338e5da60902d34577e68c9342918ea168fae166376a293d9e211da98b4e60ceb4055c42918e5436691ac3b84ca5d02366383018ecffffff398ee3388eb3d65a6bedbdf7de7b411004411044a15028140a456a053c98736a952aa1e3b60262525b59c0027e46589478308ba3188fb7aed4bed257a8775fe92ba3528f7e41d8040e1ea90b6775c2e06a349e46e369349e46e3ecde06836111f636d8db606f83bd0df636c76f69ff589c51725fc97d25f7951ce6bef266edcddeeccddeeccd927e2b792b792b79b138a3ebbe2f95c2d8e6dd97c2282cb650589c71823d67ef9c34204665b143adb2c0b2e8353ac36ea8bb658dfed02c9446c99e65e9a1d118955d5b2b9d514ac79bd010b6f7de95e8b621a19bdb86808238987577e7dc7d341a8ddc9da379cc653ef3d1672ef398cf6e4243b621a19b6d0828a856d68280ca5aff7496a6fde544b42cfdd324ad632debd9e57eec59cbb8158e6876131a7a0ed63e7348a807c70e5117cea4811dfe0e5f186e9fdcb3dc3d19a7465dad8383ffc274c0f1847798e04ac427dc554e2b3104d84a4cf9a4ee4afc665fd82b105cd9beab9ff2c170e357163b84b5e057d78c463af395b61776fc3d316fc8801d7f1c68110e807d05ecf8ab51178f1333b8801d7f36ea720201384957d30276fcdddc060bd87708b98d1d3b2fc080c5ef23a9ab088e116ff448aff46ca5b14496ca92cd657421a9ab08ecd8a5a42e20d8b18be36f1453626b8618823881c419346be2bc8953680e891d135bd633b17fc4ce22364d6c20b183c4ae897d6b21b1873c26ba4cf499e83fa267a101891e247aede6423e24d218958974467fb048b3b8b04869417207247745646e680199ab71346e2612d5986451926c8790f0646b24db22b913d256da8896d2515ad6503ad64a7a87c8909a10078d1a1ed89850c20f3ef420f2c0a39fb493264774c61daab44fcfba27e3bc70bfbce6dd88be7a371d7e5490bc1c1dbef263d2ec662722954a384e60b18b00163f086031f5002ce2107400165b21f883c51921f80dd5261ac0800ff0a42e1f18043ca9eb07b681391a57130d51574761028b5f78c242c725b0d885260f6ad0c013079e219e353364c4c0a22c3cb06311cdd6ecd01591885482e36cc093be5040fc8061bc7031d3c293007816004f03e01e5ff73731b5c2220efff62ae0396d987a66cbb10efc95f3c61d8dedc44aecbe08acc42f05819598c20f5889b8e58095d8ea9f9538e31ba22e0ad44dac864253d78095d8350356e2974a61199b8995f8d95e62257626d39595d851db47b61236acc8d74aec483c32577373134388207104762c7e40b06a830db0630ac4238b6a6e6e02a7cb06d24003ecd82433e2870f2cfb4c32158f6c678e4d3dd9659fc73a1f31079847ae3b3132d865a4e018d52ac7921d90218f4c95e07ab31da50716bf04048157d8d4d3c2f463fae191bde6e626ba67b5c2a69e1f32a842d4050476aca365d8b16a06f1c85d5305e6c571c7a8ebfb5eeaadeb581d0bfda7cb4267542a4ce2fee626da0a36f5dca8cbe76ca5b0e33a445d0d05bbd8a2620f588577c038bc25ec92ba7a0a7621d88760c75da32e22d8b18f8e3d465d45b01ba1aed6242349922449d286cb1542080f801b00b871c369dfe84a6fadb53695d23103d57a89aae8c5aa21c2df1061841102108017000902208104a74d425702adada3cf388ecfb23a48c011d6d47c092694608209d4db84aed4ffffafa3ea30c1e626478e3f0185135040817aa330001677ab020556d4dbed76bbdd6e24aa4f300ee4ec65fd0ce8b45ad109dbfeffff9fe3388ee3386badb5d6de7befbd1704411004c100783627920a5cf838bc9bb0a6e6b9124a7813bc1c0d02264d1b136c6c9cb60d575a209c984e60ba28d0ec6a268d326fbcf0c454ca14c18427a6474c1b2e66163aa364cd76131a1a698c24499224496aa340d465490ac4ddbc8d7773f33472e4781a279cf028d0480185145270da2974a5e6388ee36a60c75c0dee0393acc6e822531e7a84ea88469f711c5fa68a3f5891969c8940b803f814bc9b017c0c0210e06314a0006f80187906264d150ca0820a4e5b85aef49609ce929c254d469864344cb26a7a89ba721eb40a0f43c7eb757837af870183fd0a5e8e1d2becd841bd777477b7a86388c6711c79bc7544871b7dc671fc1937e377fc0c0b2d3c0bde4d0b3f339369a8b70b5da9ffffbfbe0846e54e281f19a00bcf7a018667c510c323802503026490817acbd0951e044110042b289aa94c96c47c62b1589f509c0846d334783735bc2a8bd4061b5e7503cf0d8f430b93660e38e49083d3ce41c4aa336806cd201d3b60af3f5911f782a5a2b6542a956a01f3c2a55294049452e1362eabb5026b60e17778372cbc6da185b707c061619b3dc0a4e9028e0b2e386d17ec01de734ec5b1c2851d2f0c916078cfe2acedd03175c289fd8ae9b264bb08e68d114c115e78629f62da68f990edf69385560205dd4892244992b4a4252d0cff827703c3cb88218697810004bc0c3266906186199cf60c5de9adb5d6cec08eed0c5b234ccd68bd4455f462d558c94cb2eac1a5e167f06e68781835d4f0306cb0e16f80916360d2c4e1061c7070da387425d0648435c9ac4996414a46cea916c57a89eab3ec2a959a591a8fc3bbc84187cfc1bbd1e15decb0c3f3e0b00b1e78f0c003f5e6e1ffffbf3e8cea1cb0a08f8d01f2f026b18717bd9b1edee4c30f26207e000208ea0d44577a100441900556d6388e23cf111d3bfa8ce3d827145767309a4ec007e1dd24e05559ac19081df7e8f1aa9c1345e89894f342a886106288219cf610acaeb72ccb2ebb39d0329e8095b3b22cff642b4b4576ac631deb58376926bd241623af2c81854592244992e42441d835cc2aa6108eb0c6041a264de39ee1d86c369bcd0683c1603018ecffffff398ee3388eb3d65a6bedbdf7de7b69b522ae67c2eee112a2f00c8d5108a396c774a6f1679cd3e9743a9d4e30180c0683c1feffff9fe3388ee3386badb5d6ea48a552a954aac7dde175f06e76e0c18307910626cd1ec41e7a70da3df0d062f7d03db40fed43ffd03f34101d440d2208ea1d4410a3520779209cd89f982e93cc457ec597702cd386a9f42c5f596fb79b49465da99449c601f13f7837403c4d10413c4d0212f03d68727ae4e438ed9cae0466102315233543470cd2942b9625ae903e2449ce58892e3352331a5788cff16e847817430cf12e8820e27db8c8303069fef0f1e387d3fed1953a83542a955a6106d1e8a0364a052d012501a8c34706f8e35b4500f922bc1b20df0a22c4cb3144c89021d47b0808822008b24017ac7b52a1b8711cfb848271309a08cf2b8b5636a3a352b154655946e11c68194f94b3b22cffc4e25ebc7cf4d1479b9dc78f38e7ee63ada2a2a05ae136ae8f4f5fe99f22800419e2ad1ee98c6c1623adb5d65a1b8bc562b1589107dfc713e1ddf878eec78fe78a00e2e5e85085b92c0393661020418238ed205de972453ce840a6081d07092244c883790815a163d2900733118fa2482d52847a1729322a79e9338f124eec4ba62b25d29a397157d128982288f0c46dc5b4f1f298d05067a195404135db57a6a84b472ac511f921de0d917f51a4c8bf3062e47b7c9169747a6c9dd6d1e94acd711cc7c1c08e39185c0c18a897a8b26e15a9708c950e1f968cdbf269c1702bbb48c2adc0e9e074f4c4502f62dce5302a5772d26059a2655c61913e2449364a75e26237169b7134dd49bc9b5632452cf6dd967c5484cec494677a9a49f7744f0f8b755b2c9bcd76a9a025681924e06c339bcdf6dc09e6e3e2ffffff6d6fa2231de94879e811aa734710c6d9064183a045306adba8b3f4049a025d810eaa378ee3388ee3c6711cc771ecb2cb2ebb8cb58e77d347feeeecfce56924277cf38b248da4937492245da92f0f12ca8224499428a9b158e589d1db124a0593da4c9a099366322a519b4d04e1c40d82e9d2d11398375478e2a6c014818527ee0a4c1b757610adb4345ac762b119743be6ddf492373161f2a69e9eef261c36e51927dda49db413275de9efbdf7b6b0e3dbba2e66d865eb2b6195a54295ad629d5cc462b119ea8513efa69f48014524eb285e8e7e49e9282da5a548e9b9b11b8b35145dc2726a796f17c372bd4d1a2b58b9a240956b15a8dbecf627eeae567706851a8d442354252b39aa64ae64c5e2ad2560b95eb924692d602f6033e0362c7edb6bf52678db92b7bd6d894719f96cd401f7de0b82200882200c0683c16030f062804a61f0928281c9a0c5cba864542aa7ad8a9151a9bcac329c8c8cc8561919cbda19978c369beddaffffffb7f70526830c5ab48889915155958a7aab542d6264ec08da2ec7711cc771d65a6bad0541100441100683c16030588c8c4a8571ce2b0daa061a506f0d34f87f110c0683c160b00be3e12ebaf7e0ee83fb0f5e8118959c07f1dbf329bce6258df1d0f1de7befbdd7da8b05e807cb04718bee6ca7d5858ba6a1e991d3428cde7a0d41c4cb47f5e1c369fbe85aefc20526b50b1a1a4c6a1a8e1382081f3f8a00528100a1de40808c4af546c48f22800411528508a1de4284fc70201ec485f81022950811ea4d84c8db800819226b528d542346a8b7112353089122a34e6d9dd6d1699d66b18ef024a1de1debd8a864ad88eb464ebba5a90d0441f0411004411004c1cf339ced22cecbd1dda8a5ded9ed5b63f446c71e3993892bbddc19c771f4fead572abde8337d2693d336ed8c23378ee3ce388e23c7d9fbfff65a6badb5f6de7befbd1cad2de2441ce7b4b9aef46db96e346a2179e9ddf223efa685c47aafe4954a4ebbf4a38fb5d65a6befbdf7de4b922449922d24ef4b9e4be9fb4ca7bfe0bd4efbb200ef1de908722028b2150441c0044992e4b5d65a6bad75f94ca6d389050bf0c40204ef45a130485592248586eebdf7decb711cc7711c0bf05e140a030c522ff5e5857abfbc80d65afbffffff20088220080e41c72aa1631f33ff412916209427480d12847a0709322ad191081f94057488dea8ad66004bad3f58c8beb731a9ff8a55b4b94393a96bcff67ff142c8102f4713f96a458cf4587becd169f7d89540dc6a61527b395ee0f90293fac58bc61c47c4c8a87364a7f64eefecf48e119d233b3c486a236924481a89ce0e0f92244a6a2b69254a5ac90e92244a624b6a2fe925d4bb97f492510904bf128c358ff7d026b50a3de927a352bd4da71564557b455ce7b447d629ad222b12396d5157fa96223282b33224a6d49ed253a8774fe92963dbc6b16382b424c90469497b49f0de7befbdffffffff5ea9ad22cb75a3273de9df697f0bb53989239144b692484c902449924c903ee4edda7befbdf772dd68d4d24222bd573d8f7a7b5e0be9dff34a25978f925ffeffffbfb5d65a6b49ef79a5928bcb67aa2613f53699c07b6f0541100441f0da22350363a5e9d423f567a762e1a9cdd33cd4bb799a6754aaa411cf06c4cf33ca9a5421cfe6b1cdd7a87fd5fae7d93bcde3e51021b141a2244a3a563bd631a7ddb1ae0462139e264c6a13a56dbbd2cf8b44496c09939eda3dddd3d33d53c912263d4d9cd476d24e9cb413105cd2d3c4c91328b5a13414280d0504bd495b291c0a95d528526a4b6929525a4a7f83d4ab48f4a316520b89e4b449ee534849bccd7bcfa22d6b53692ad4bba93415b249eaaa37f246b6702d2d225b5b5a6e1f145ff995e5b5ffffff5fad48c4719dd7db672f0882200882f7de7bef2589b8ae1b8d5a5a48ffffff4f4110044110c4e137c914b19a2fa1b70fa8e78ba249ed26dd847a77936e322a7d493c1bf03dc8a9681fcc339ce164e15ec2c2a466d23d434d9cd827b59ff49327ddd34efc09855265516a47e928d4bba37414104fd0734e7599d3ea34cae8a7bf7245b318b0344b7b13bced6df63aa52008fa77937702c2373510817076e00241290867072e600b2ded6d7654e58847624a12b3dab39ecd7af6abd5ffc3387b715c8a1b718423d1535a9298b50f15afa93415a7dd54ba12f8f536bfd2876b9ff6f1691fda575ad607c57fe57fe5575a0c58da634bb3b46b4110044110f46c7ed5913aef66d4d2f24df2724cef3dcf697b5de99bdae6ffffffd76aabb6d27bde4dc9c5e5599fc99e4ca793d33edd7aab6465a2922449d614d4dbbdb6de443505f5566ff576619cf56c2e0974f94ca6bf2716200b1074da6057eaebe5f47205defbe045a130c0e0532fa99717a7fd426d365865a950ad629d5c504a67a8170df32fde0d4c0619bca8458b8fe1646264649cb60cdda1e3388ed404d466a96d86526aa3227b825dd8e55e167639cfc692542f303019b488691113e3b463ba9c2ff331322ad5bfc0f8f32aaf564e7b0503460c7718b71bea25aaac2a52c5f061c9b81afccabbd160830dbec50107df819763b23a60b19c36ab2bbdfb0b27c976f792a6f5acd6cccc9b5cb8f817305ec080e1b4619427eec22e07bbf676efbdf7deffffffa794524ab167c3fdb53036780d36e080830e3a78568bd56a39ed16a763ce7c6bc6858b172f1e060d0c1a1aa74dc3711cc7c5e066405196314c33623c4d0c193266cc781a3568d4a8e1b46b74a5bef7decb5d4e25aa2c10a53a71b786071fbc071f8000c2db68b96cb85cd4db15020000f0af1b375e042fc71c4184114670da23dcaa408115aadbed76bbdd6e304ce3d9c04823d0f819346ad4f0c083ff00840f4000c16983109ea8a8246eb8f4ac548606040004000003190000033110068234539394c21e14800f41906a4c56320d890522491283338a3246194280018400000086686a5600d89ec5f6182e8214b9d4c68a217d200b4e1f14f2efaf8fcdd3aed2fe303da37663619a0d938cc6eb43b0fe45f0c6993335cf929e995264148eed07f5b8a11e3f4f152155af5186d79bdf439845283550f22bd278104e476c95ce167ae62f218857986590668528d1e321f02b953c1875b8242d71c382aec7e18f555f4fa516f479ef53bd10020369519508e285f0c1d955a4480d72cb5cd433318f4338cebf207a2b7512884796ae8cf8268bb4e3320237a45e0013ec0dbb78b758c09776a666c9ff1dd481a6ef738056ba6c6fabb61c17c6bce781fcfc95f62e5193977f077970127ea2cb465fbb4b54613409ea4099c37a4c3e8b238147f88822dc947db9edb055868a665059f83b44f8b6de97ead9ac6ba9348ac7ebc1ea20444b7786ecfda95a76ddf7c672745f01191d311c61b4d8387b8910540203072843f2eb1340abcebaa9a2de2160008e662081a60390f133c24dc8836200fa9b91535d695b8c338febe2f597368e9ced96931de2e79927844edd166234b12a29c63a7dc5b00d7e8a41b78fb1c0945a8614661b4aa209fb942b87be622d1a029156f8d5842b78268c2565b211c065cbf95a65cd7a1607c0fa8a30ae7295ec0ff20a1655cd835f92aebe4671acd00ed5b8c299d8a2975ff68ed49442c5231aba0a54c5a6f29c4165b521ce2d52aa3ffaf9bc43c0be6a1ae7ca2b9182e7081afc834a0eef14c83ccdc7b4d2ed09e1cb1d1a4434436c1d21299f2df64effb5ac9f7fa443ad50e10c84d2907a1b3b3894501d0bb18313031535639333c8dab184084e215ca8103fe72180d0cdce60d4ce1023b3442a66ecf066172916ca07c438aa483aeb06c41cfbd8bf58808d2e41b7fd519ec5e8e4385dc90a5b9ac62fa7509a6b48198a785c8710e59759167ff6a1301b7de6afdc99876f788a8ab33c06dc4a923840c3478665939ee90bfccb34c19f52f71774d5570c7162b2f6272bf71bda8a572d2e710e1ea4f4dba32adace3261587dccf4287e3fe6e3e45197e0f437df3ad09350ea3a9aed3698beaede16b821e976fa3bad2f4b966190d3db03819bf27253eccf372bffd88df52c0a2cfb3cb40cf15a930fb62dd58f4aa5e8ba458417a1c032f2e6147fbc5186efb965586c37cf3aea539bf2cf477f73039a033ffd32c90a5a1ce9d6f1b1d4552abdb2ac786d530f4ab30d254110f62b1fbf3875e3076ff8ea2fd7a451df25a1131576c41e2bfadcf6815a12986bc64973425df40573846415de93d37d34adff6c09240d66f489b0b71dc7d69f1c5bdd29ce6a25c02b13f7df20f2422cb3a659b30668c1666781659db004fcf4844b55b2b86f4c03ed8f1218b803e480ac1af0308630c398e9b59655a5eb18f3486e02554addc55af0d705ca527a4ced1b674ec89fcebae1063bf1d81e32a6a1b72bd8f3b4e4ae20b4450b82012af8d33cba2368a1b81a18e984545d420d6e359da48d64cf81ed3b3a30a43b9bc26e67ebd2671c3a7c0a3724f14b6b007c7cf4268889648c3486032a25e350d8baa895e47ef29436f871708dbe74a9d5e5f0e5a630f6925c69b8c1fecc39c15378e31e5bbb3fabdb0ed46cbe3ff6e1d68226bdec561d2c07210e6e35a3ca901e8650f761da7d2aa695ac80b02383497be632ce9abd2fb89446a45500d108e6c2100f6ec91f945962339a66cef5c272b84f95c53f4176a4965c746ae6e48e9431c86a462dbb21729d35833d443e42a6e9ae8ed5bb2b9428ded5de65efaa0bd77705fe05225f0197f00b78568c0286cc74b53dbf73096c5884cdec46a84aa4f2abd2fa00bdced5d64804706f1079255f5c13bedd26319b29b8e5b155aeca7f319adb4a83e56af9e5d96252ad6a589e39a586762b7bf80f6ed86795bff0ae884df4d4322206bc16449d82717d244f1c3bccce208509b85ad00a7ce1120ede151920ef4b4421b350386cb983e43b4d90e72e0314bdc9638529ebf4a44009754eb77a05de6df30b03c900145262a9cd1d91d4f44212d627403469f3632235075d2e131187d351b33b8980ec493128f1471afeb32ffa44d88fafdc9553cc3340ebb7e9265772976723779110e72e86e321e44b18bff2eec290dbe31b67011805acfce29fab4cf57d8a0e1181909afc9c7919a0d42c63abd133f6f8c2e02c5ce56d4523a6c9daead2790d483f8c50e31875fbbaecbaa7814d04f200ef4c6a5a1892513ce287317db220bb8fd32072298bb017e2f49c997b25d7ab8d1f3c3f3e95e2e5db5709a2d80812189979184a692466fdfc69812961b2e805856adf02eefb67a316b08f51d0bd185735cbe4d1440d21710ec75803afb07c749a6e753cfddabf98228cdcf831daeb9afb8fd2d6881ce740b5363107a9a5cd7c5ed209b9dab49f50770e6a08cc7e79eb48bbaa63209fed4231466ee304a1603092a97950ffd20244db811a6a4587dab078d0e7b8a2219fcc7a2c4d1c168f2cc57c993c899f64dd8f69c9413f9644d3a43f4db408292d6891fc2940f64e9c96450cfe62064d0c27bd7975ae9803d41035c1580af7ded978318c4d456f8f82ad948d0b3297da14b7a1b79df60cbfe83ecdc5dfc12d703888d8f3c614c45f64a716093c2bb93309651c480cbaf9496e9d7662e731fbce64da770e30145e0cb166f935909c5bc77436c874f48cfa28acc539726015119cd0a416fb9cb8f00259c0ad12d8e71356d44f94d8705c699b4da57109edbbe166b177ecf2918e59781ac925df1ebddc503f6844c0afffa57af4d55b5508fa818000ce9ccbea5121997a0daa0aa12f680409d86bd4e933ab0c6961a41acf7035157151b7b23925794d14c81deb233774b8b3588c7e001dc5e7d044ee4ba60e6d5b60ae2296fc16856398b7e666630ea31920e61b36f5055cdabe7d434b672d635a7d0c86af561e9d0090c0d326b1891887502f81ef6ebc775ab419947c95381e46c65cdbbee92188c8b4327924b9dc2333e7239b33d7dc1281b2f67648ae2aff30d24e541a4602a394dff29d61270070623a35df562bdae65c5448e4600e2b338dfbb02ed378d6caa25967f850c901a464a5d5e18cb0e5214d40a907e99d5a9a25070567258a934538c0a96dee0960cf8c7b6a3e8ed15120bd4539586a2670b7cf756afe40fe738097cb55c4431c3912841dd69e1e1a92058e9b9ac9f08989725c0745b5ba542c9f55a0fbb57f8fb2dfa9a768e200ca3cedd6595da77794007dc77cb7e400712f1b28ffb5f6b9da5f88dd49b1a49f7db25967427c2a4adc5b97e78ba6fdb8ef889b95ac4eac816b5297e91985b98b17e982f3bae4d612b4215b021ef5af93bee39b3af8369d1cbe1532dedd29fd23a9e805497831d8bed3ec2ca54ccd4d9d8138c926a133ab245ba7ff59c2416fce8c9eb3fb79bf17e01ec45347173ba04d7694e69ff5ee3b2a636fec5745a16cb8bf23ac7dddb004efae3faaa6dcdb3854003df03ebb3147b6994e766290e812a7332b0354ba6536d4adedf8d272e346dd671e38b29a270925d3e57ab8faedb8f9e8bc04980495fef72265bad2e3904279824cf74fa7563f5fc5c3719b1062b79f3ef1c15221fe4f281f9435cfdde508378a8c2022d7ac7628cb5122c8fab7dfee97f4725c98f36f303b299d26ffd26d033c68e2e871f831386fae1e1b17eae687b7f663398794f34d4668a5c1516992de72f05a848c26b4be9bc4116f6f19ee1e562a742b1ed1964ccb13a15563dad347e28f28df1289962da8f484fdc4ec36af37ac2d6f5ab0c3c9121c508f77ea754c443b826e10876e59d4b44a2bad33d2b2b31de3e2bd365c240006cfe50ad553daa1907b18da254658b15faeaeb1d26a43b08f0b2be3584666873e0f92b23f115e053613030a32c1956cc02c4e3a5c0cd472274cbd8a1bb1c2e4b94f1734860715688effc39aef79215b05e049c146913609d443d4f3270d7e6816b851f78646f94908901ece0f3a6fc67310ab3ac43c0d22fbc65b62b7ad6f108820cd3353e881c694f291d58ba90a8111c397b06bfd90f410f3f6411fa808c08c0bbc0e42edb454dc1f0844a0e11914ee88d6ada647d093e60b62699af5ebf8476cd97ac2a571660fcfe4fc013b933d647abd129e59090f082f41a8fd782fac3a51a49c4013a4fa8f33ac89c1801324d839ce788268e3f74820779ee45b7fac8271b58af1f9cde4593714e4c39107f91cd1267de1fba72dc946c8bbb58e46a7d60d101df187ea6550588a86775a08430db960d8f9c105ac56eeee4d38481145bbb519849daea3e8d97ec8848a0acfa0d7d815764c5a673c807651ea54a96f2be8fb4910746590be42c943a7457da22fe834feb030e8b0690cb8dbfa1487a78bdb78782be24e83342e82a5601d7df68af600a6ba18374d0ec1f56150a9575fefcb4cd1f4bc82181ae2128691e5faf89df3278d10ec90bf931f6fcb347c2ce6a400488aaeb33e1bab1938fcb29cd3e5dbd6e162abcb0cecc2f5b16889748cd8849393d8be535dd2aae9921c972e3c533a595d66e89c53c2cbe748d6600ce3c2c8de92cb652dcf45f297d23b71ac658e7a70116e98dd24f8d3b23dcfed2852eca1650e9e912eeae6165d0e84c160ef297266bef7b927b73cf21c606aff8e9bf48a9650a60da31c51d821b72ed9bce7ac156f8152bb374c03ca140e088ac793e5410a74fe7b3063f935d917abaee2f1fde54eb004f4f18505919e67436671398628b4849d4b275702243b221eea3168aec7893b0672b7b61d5c16f5869a090bc7855186b30919df0740c07187df6158b69a4ab196ea4c93826175193ea9814c40eb521876645d0c2bb31eda9ebe594cc9b55459b66086d745116312912fc17e130a19f4ea1b2ec369e1a0cd7961d74e248cb30602b4b8e95208eddc6be08cf9f0972176f64b2fc49e323667683f407bce7c8732e885e4da76d99e86cb9959d367fd7ae60fc6a47b6cb995d79c62418722e927b0396069c54db3d0c11c906d463d80e5d2618f139c01799da330f5c109e5703db1aed241079ba235695f23a6e071bb15b07d058f81e25318025ba59f88397471ea0ca44530cc478adf89eeed9b184bac45f7d9095d4f99e5a2c31e1eef0e4ae454a41b92849df73ca909af27fbf50d88ad83bc97e2c375042800db6257f84ec7500f2a7891f99ecb94f6d339d6e31a94d282bedc06fba116c4c146ecb8bdb893ce361234ec63d84171f50179b0fa26ca732273ca5109743d14a96486df7a3d2cb119baf5a8594144b81b5563269c3d2b8876bb3590cbf55c4630b98f73ba25ca519027cc519087741493daff73eb6d2c1ce501bd6af7666b96b90d70ef76de4207adaac1e78524a316a39e0a72c3f54535fd0ea29aa6ae1a821006970faf664d001dae2cd57c966f10d65b5db51984490b0ff8847565f787023986ac887ec4876fc48bb47048ad6b854ed110f57115b79d200700806482c4cb01a5723803a05e1ed1fbb5175ef037414dba42f79456190e927c091d536d8114eb356ab0bc77dfafcf9184815a40828b0c552cdc643f660a9f73cbd7d33e21e3af6184faf538c179accefa977a5f41454c9210da33098afcb9796e2a8ac6e531c8c9be4c77ea6085683ff1d2693fb7f7700c49b2fa389a7c0c035d3488a243841519cd48033d6d271f5149d487b5887a8a49fa245dfd63dcf56c90d1bfd6c67959b87eca3fe228263a467546e22eb443f9ce2624261859ced3f09a309aa4698b07ac6cee5d9f4d520c6f03fbcf001e9e63f875c860e845208af0d6edc1c09f5a4d4414fccb4b63d9e9f5019548240e54c0ceca0d8b2c668d9a73c34df0ceaabfc864fc5d13121fae3ac8687d068adba7a6b135fcc71be2898f8cce85e04cee72944071dd1d1d2b93bdbaa45075ab503dc7f61a7d0eeb77705f81bf1aaa9aa213d6df796655f069bb27ab82b168ce1436eb4c836a67a280e699b58a9ed9c5f199ff0f984449bb961608bd771e1dfafb2c29296b8e8eaf14e18f111b0c9db4aa1c7780adad6a68295d54d5a0065310376cf89721a36ab4899312f3ead357d557216cdd5b90f1216de485c39fc8c853b2baad42d76f501b15801bc3351342468f344f2951370075efd97c56c12a3152b609c475efcd026aac7a5ff389919e8bc96431264923eb4ba23c38d114082c806595260084a55ab24164d4bdf99aefef1faae93b842ec531d5ec4ff58f6b44842741497cf2b343d39075e047f2d96f2203ad74e75f47e9cd81157d89a0940b469ffa451606939974eef1d5c733e7f3686fabf438e99a7e7a76fc1d514623ce8df854c3990ab33b26f924eacea28540d554d3903db1bda92d5db6e9da663031c5bc08c41f1214f069830041e1cea2ed226ce62e067577c100ed5d6a95dfa58b13bcfc97e2ff2567afb7741128cce98dae9e411bed12bf4001942722355e6738238df2fde7d849672d7e231adf157b4f7a6009d1c927059312417636177a70db3ee6b0ba89feb8cc5f72c3700925f9a1e328f11e3af2fb1b418d2425a19f2c413118e99701de27a3914f6c4ea8e99323a0c7453336e47afd25a02ad502a58a13d82519a63606e798154fc717b182732b5e80907a005934f43b3d58968bde9cd9a12025145d9950bcc40eb5f9c9ef4f800343f16a58a94c2b3dffa139a6876764f02999dcad43e1eedecba0f587cd5404a45cafae1231670b7006ac77ea2d96e7a1be28ab09b6fa8aa3ad5051b49731ac6387ec816b87d839a4a02977ccd42c9829ff595302fa5fba0a7be3b06ab9dc32495415304cdbec6731beb4ad042dbe20162929b37c5ad5d0949f3ea51d653f7275aba8fec5c962a96edcfbbddb7d1ace62135bd12bc9e8cd629200546ee80655af8d6386a61668f8430330ec82d57e84b260172acb71526de5060d8f97f8eb070a3849a77100763eedd03625b2e505cb8ac5a7e0be4d12da393c69e0d340cfaf786fd02245ef2b62bf56106417f53b5e09863e814887c6a085eb17e787bfeede2b1e88c4c75c5a55bedfdf63a159fb823b7268200c270b226844fe9aae58352e65fc203629a21affc498326560f1e1fa8925892c5c3ec33f0efb64cfdc8703579f9274762cb38c59acb2f16b421bfde6531a2a8816cd149315dd938b269ef268200e200520a141cf2662a13edc61d5ebd19fb6225b72b0dc7a2e0905f7e72fce65e6f3f79071b7d7f129c7eeffed945a47123af333135488bc3b9aad0d8e24744e1f1972f0548a141911d97eec3a0d022f147028999fee46c69421a536e5820debef661d0b3b1ddd32023eeaef2c986f87dc531fbafee6c2fe5ef46993681cb8fd791d8e8ac20c04295af57a8c236228b5d55c043b3b32f88cd500a87a05de8bee95606f06d7dd9fabec2979d07138e42dff5647835ea8d77536f80a36b7909d1d8dd93a0cac3c744af00feba41e63106cd0f0739164e333f49f9a48e8141574338e9cb367445b8702bdb5cc062d188c7701e04935daba5632c593b7dd9f76621096508ccee6a3fa7b25d89cedb25d130ea698bbbdf4dc28c2a8d8d56b9ab335ad47f14cf2733c502346994f17936c6a3c6d5f3cf9ebfb23a9729a7d9429e47f53b148f216ee36e050137b30c0ac1724313b489fdc366c97a14a53b94712b81491a43f7b3053b217eb2a2699dec645499349de857393c022fe766fa74512a66f28f659a2d449fc3a7830a06f3bdc9caf8d21f40df778e45dedc2f0e2f0f8f4e20a2a1f6413c6e6d5c727923d3204e0da82e791494fabd90e6758bccb5500b3cad89365effefd14ad43163aff59335406d23c8a5d069e24f4b7afe1f59c042893c0589c1cc6336784a738a75c72b8e72de1913eadde23e8db7f8f088fe4b2b440dc48588db9babb5373f5ef5aced531c6b7ad85a5ce889aaf50cc2edf94120f46ec346f926f8bb60de9816fe5dbcbc575388bca3bd3ce6769551999fa4e62e2cf48f9d581311f6baaaa307d1747e0061f71dc3506092024c4e53d627ca53733b4262ccc1ebe76584639780f11496f4750f1df1f503e39bd39cf8e5c910c07137b5e25106f0d936f7642108ba096de0a74e4ef26488f3326cd49b5aee60e9237267186b9878bc523399f405a2b21e8b0cb48c58d6ac11c76d1ddd09230550a14f33f7637032d8c5912e73d4147416c5289a7139150a83265c45859ef9fa3d1889c304ab77890b383d9ad3e8e75b574482d30c3364e37bc734e1b59d51800d2ed56ea2a7a7499888c785867194445af4a5f5dfd71cb9c944b51c7f5a5e97b7a3e717ee056bd2eddb0feca4b13f786cde84a81f2875151296b83faaca2aab8ea55c34de080f05ceb7231bb7aff9392e38d3be9184fbf5fded3ad657cf62d8983e6d26d8e5b00a7f29c377ec7203a55d2bc7510f854913a33eb3ca173bfd558991646d00e8525a736ee5c54d52e0507c2344c87034a1c6cc58a796751a7481d006f29ed2ccb9c03fec2dd1eff5eca89f9aab11c2751108b95b93c14405d89a25129390f8aa88456d4296aba1d26a944cfdfbd554f58bf67613e01adacc717d0dd2875d7e6a2bec9c6b48bf4116bd3c83edec28b70d86f9b10aa3c0812f895bd6de197bb74fa51f7229b05fa15f4445020e65e2ff7c977b40d25d69a86fdac727f8b2348633c4debcb017509770e641b7140ae288c3e219a5bdb7194d55f78fe6ddaee28eb7c796d1bb2a0f7ee28fab122da1a610e299180f18532fbe79c18437ff37f9c87c00b17535ce4ed5b43e01b37e35aed7bb9e1dd41b04823527b360164fc0203cd5afd79c96d7049dc5e5ae35b9efbf91813508543eaece7a67129c9acf8e993ea3faadec44419e342c547ddddb4ecd9d6376abaab14e74275486ef77f38ebc4be612dcd8d0e95241cfa5f2e4a1ee8e5d9c30c132f998a5d3a6703b75b0dd17f04d36cb6cab13ad40fe45337db29168832dccf66a37c3ee4b9eafc33ed3c95ac7a28a98f2323f666faf79387a7400e0f2fcf9c7e4740a2817f728b6fd93a80d6d4aed957d96890664c88dc076ea333914abd1c17973da37b0529ecc7cf5e76f22b51c2c29cd2cb1eed1ea3f9a5b268068daf6c6b9c23ba3b43338786c4ac642363d70bdc5c349bc9bee09a6e8279fc806c5b7073a3972873c9f83d1600c455194d8e409d6179cce8944d0d2dcb7600a45a653368737a1252f92cae6c1699bf266e0dbd7a955c1c124a5a28b1c34e646abc27922ffb299dff02207f00af3f0766d1dfbd0000ac6e897a5a97cdd54b5c32c9b76ce1081695a8df09970d4c1e5e27216081e1da551ab7008be4e0cba4c0152c6e5036128f3b0c2d2d657262058f6ce19b9db4cecefe32d86603d0446f45d7b695011ec9fda8310bc1aebda4b890806bc2ee4e3512acbf345948a4406b1cd6664ef300ab7ae82a2ff0aa98a3384c12514f48d8e59a48c7098c735f0560c78bc4c36674843d5675fe85bb01096b6517abfe9d514855187b87c702b0322e0ad9b8d8f5c66d118c21e5351ae771d84af64c72188981b554cdf2796b157038cf358ad8f6582a7becae12ac5c3b1eb044cb92468935d9212d6f93dc24051252301c75be50420355853c8686e2c52faa79fa501d5493ec85b3412c395c98247f0ac18d106508375dd2b547989ef1822b0ff7281f10226765c7676542db56947ab745b96953cff350a1646a185a6090bbad01c2d2aac918e6b17cd1f86490ba213a841ce0d630d34aa1347d0a869e4749a65850c13e3568e928c678d94e5a8adc540685917b716ce14582964fc83f29e4a222935c5cce8c17391986707f720d1bbcd65b8943c6ad0d4464742827a3212aa37364198d02333a44280eadb21dd91fb3ce9362d1f8fc52cc898715f0e30c0cbe29070e975522852239c510af4221cc776983538a6100e3ce4dc1f816a710f5deb9d3f0f51c2865387e7e8eca8c751f73bf0b87a9b9f2dcfd9f9b0017504c944c4defb00526a05c2c5c6eb1d4ae5416b6eebf4b6b627233d0b2c8c63338ece39b2fa7a2728d17631b226cfe6a30d095bda9b5fe54253a263bb112fdbb125de0360b19cd8a364af316faeaf1e2a75948dcac64f1daa03ed6a7d32c17c00fd861d0accb66e5db7746d7297ede95a6a015bb49d4c4162d4ba72351b021d5926a5eb9e241974bf046f7a1a385fbc645509a42fa9d7eb4f84932a595d28d2a323df079ead03c6a8ca67728edc243fd2e5b6bfbfcd0b16cc98854eff95b9488b6a27584d5d7d62823294cde9e85d337b1439c9d81e1be22a17c78a0aa18116c6b5e8ea9bb2dfcef98840bc8950591b250abe6f1568ade0a32f624d82f8f0de4f96553c1d8b9dd8bcbbf018195a1cc3c2ed34876c9436764f29f96173057da11c7b516113f98d034b50dfa39bcbf04f54feb267719a4bfa14c62c644eb2fc3e5b44427f6ce30086ba8db2a2cba97c99babbfd46f709fa87f19ef694aa22f26ec232a3a3d32fff4f5913db1024b767f8e036074ae963fdb327de327e3e94981b326d57e5cc4de780a4ea941476a80ffc9a0ce7cba84bdfcbd73ce7c612ac2f69400b3ea045c652fead44c516a49df3bb00d87bbb19ccc73be2cf9812020c82308a6ca4bdde8ae609822834087b356bf15ffcc7059d3dddcfb173460039f7445d78e73c02224a5d27093c7a754c886be7010cf3d1fe746481167d430559c32362d345aec9c1601d344343797e9fdb008ba99ca4ce2148334838df2b66f66e9f9e83967e6d1995a2290abff85d586bfff4075c84a626b1da389e54d0f464ec5c1006d77ea6fc2f7da80f4dba434037abcfbfc69d088cebd42e7638e1d2b7a2865c9b4d8cc3dbb714a816d0648478a06c3fa363c7227a8fe69ae9a674fdc86a6a4aa0626332e07cc08f65aa69feff49f554e88926d4299a1b9ff694c1762bca46296a6f6afd39033492d2f288faba1ddf3ea084b56c7165b86a5d2576123b1f0f4998e4cb59f08595ced57412a0b06f8b284dee7928f2e8335c07d15266f81994ae64f393171a499f0281b583df9ae10b3ca4ab802e50c1ce11a4b5c5a99e3c4839af88cf586f8b6da7f67e81d7e1667ffc34640cb29569c38592946e24b4e26a34958e9af7868f91165b3329680d401b30e9ff95377e0b9cc0328dd03a1f35c243f4f2569dde9c6066c332d5238e350624f15a5795c16268a6fe0e403ec23e9b5a44e827cd24cdb10b3cfc122a6e570556867410636135f987c5327d4017d97430b0e569752e0a01aa09180fb004cb20af3066496cd9687779645470cf91de7f7648014d534c7d156533519608275e47539f46e4babd7218caba55a4ece6f61034fcefce0694c58b1a2a28158d905348f01c35427755faa30f62e60ce98c69d6b5eba60c787e0b02914dce9d76efdc86d6962cef4a31d448069d82ad8f13506193bc34f8458c097b925ce9786cc101eea43fa71de41a05855a213741316e08f878dbe34b000a3182da30698ee9348aa0a27dce2084905c23c2518125e6e1a9f233566feadf0970ec940215a30c84cd2f5be125ff6604d49874b8a6e26be15fc4c5678ba30ff8ad1640a7438c1b5e7e3c8fae8159f883ea4003694763769bf1303820550a5a6314fc0aaacc389ed76a2805b12e8090594210b042b59afa112075a3f4f5b56274ab574a15a5108e135a29a720baf4bc7026c2dd0a30c2309ed704e8bc75833de5c4db47a2b6ced583757d4a8c24e0520a00240dd2be959c24088f05ce37e034bf6bf4fde3b66821b321c8cec8ec0f979401fa6fac75d988fc92705d48e331453b7ceabf1359b125ca77bad9be9cf19856ea1c3408dd18070cf6f7cc8a46937b0aec4ddcb439e9c01e4f9c0fb0ed0030d4bcb2285348f26aa646275094a7f3261576f3785fc0ef9f33c51590ed9cb4e23f60f5a893406aa6874d42474e4f300e8c1dcd9c1d88ec3669e9fb9083db124157cc487a7f75aa7116af84d92c6007491b811fbed3bbda008c0fdcaebb45384427340131889b9605301fd1d2e3fb9279ed85bd707c4edaa780d301e45e54d65ce2fbb662e8149380568ef35a6fd2328bf79bb33d1272d58de9cbe99219292e7ba3c3adffc2f802ee9be7647817e065d63a5f859958b088129a02cd9d5f1fe07f1517e4eb9136a1bfe3fdcd69c117821c172df8dab7d8c3b01c5a049bfcc9928647736b808712f24109d8667510684e043d3963547b43cedad4d9a8e078510a1e5d961741d4a322b473052f3fcc321adef09795a15b305e3c8dd39036f2e0924544e66c4b61f3c4e1f227ac0155172adf1c9eb516860411fe10ac77e3fe7a0649163d4382d1a3223ab5a9f8f746e762ce0132e69a0a16a34535cd634b1ba1e64419e40261809712428e57c5337b64ad5755303886d1ef034822208ddf357b518909eea00bc303dadae1d6d1fd1affe9e00f5181b456407ee136fa767b2ecb3cc685bf9a131eaabdd868f204deaee5585d967b0b7437e26482a438e97815faed373e9a1e8ecdd606abddaf8e6b2f576bb7c21d9ba7af4ff8d1b3e47fc75697433e53e98e7dba74a0d0f725f5762ad524142c473ba1d529cf4af61f1148d26a7606045fc6de9595af81279f7c47e31d0afd6c3e54b50804b56bd0c481cc4bfe923ca79ddf848a724a48fe5b38944b605012c53f5f137d9943ce362e51231b97dda42efd8360e5a32db48694798b0914dde6e990002b76dee6f5b0a0b49fb22815c1fffac0d76011c0e47be3b2c54f589883e6e4bd78ec1013b4d7b32fdc4a02510d5b6664f82b8ce5a196a79906d499fe5485605ce42454d1e711efc5547bd388d54f2ede6460ac5ce27d8a17ba5f2d855cb50f46b9f2122c87665cad59a2fdd12a8248e444f02dd1ade6202357f197e2fd77ef7899b4eb499064792900b178ca17f291da8e929a553f72a633899dda70083cdab817f0171a3972038074b85a70a41965429340f4608e4d96cfde362cc1e3836f892e1cb1370b58005fdc2251c5bc681f788149ac64d5e9fa0200bf8c5533ab91365844c2b61858d38eb9a4c45af51e35f8ed02353b488e3ec1d08c8f946c6fdf0a1b4c8c2e791bfc99205c74f84739971df59eb030bd01045fdc02cf123815e374248a31a87716aa04149071cd4ef0a89bb17f5efcdf7840968d2de727c9b66dcd688208c5fc2b2fa78d867629c48a11377f935d8d72abb3effdff459ff6d35e82bf20448a118d60140b0600c2f2dcdc8149b27ff008a8f8fd1aaac2d93d1fcf919c53a483dbad249306244c45bcf809ba03211b33d4b3cb12f7f576eb8ff15e6de12a55530c42a1403bdbde7327825ab2d6c3ad892058e3ba3524f588b978c2463ff63747bd4201fed9238f6e15bac7cd2c938d37cf49457e570785d68983b50ba309b576a1ca75a544c562fe753988cff12cf441a2b850d5c80a6390b5712c17b0305ad41b84fc3c6db993811566439faa24bd7ddeac8c0426ba00e5a883b4e269e8c62130b23ec2cfb566ad170fd959ffaeabba3f54c6cce964fc5ebca5227ae289445322786f6dbdf42bf647661f8cd63391a7305dfe88a0cc3652fccc80963e4e0bc7fcd783db4b44f3a64af7b9a23f58d4f31a96c1ce95197494467ba94b4a9218cad5e9e2d144feef30f1d52bce5ba1ee9f7d0bde3e4703bc60a075674c5e0fab35c7a3f9f6ee551c5f75b0ba207426b2c88ec141db77b53e5487646df621093e60e7f55f81055e09663af32c8f6cec9052e02049b3b19a59e8d74102ddf172c02ffb88e7637d5ff0ab48b48c60466d86aad24fbe0ab9dd30a8bd408a80fa571c827d4c137f08bd44cef97e4305eb6a8f6d02cd2638381546f4dc32c185b69e7a9a3e0239565323a702e8e7bfc1165f8ac370b64a07d3fb251408a18660e4c0b9fc633d6f15ccc050ad821655382e1e1b8942c745f196b43e6c1b543961c569890fde590438849f9b29735657223a4ea129fc75254f48bb4cb44323b0bb0ff6b7bef1d479530e485e9c3c6e722421f243244a5b88501aebe1ad8b20ccd83d634363adbd48a83b5776ddd0843ef7bfa094db28b76360523eec04a64561e64b0ed06c15be998725701b6052c92d4502fec15b5587a5df731938f9a029f1f36efa059e951af9076b0ae1844d81ac40f630466a4dc430574d008fe78a61c91709c596fbd068c710d1419fd51cf9210c4804b9c3b236d358861785ce76a9e09661b8d88269d132affd58bad06b254420f0dc2af854ba41a0c048a221170df51f126f601888311a1a4d9aa00704335c8d4fa388405fe673ec63c176fd54a0c8feb6bb01243b90f0545e552a51f3dcfd26479bcc4c3f06b8e5a82b2dee234f6d0e3c4931c76e6742af0c704678dd247c51903b286c2e71463079fc9b90475f0d82f9cb805f6d1959be5270a232b09bcce2a6753989173b26cba6ffa1bdb175087a4e72d6c0541bd46285a8ad43f6cefacd8a63d4c417ab498e552905040aeb054fbfa2d5de1b8c49a4f5718272286ee8f69cadca9adf2b239656c8825e872f73d3ab7460240c674bed8d2159e0f44514c3e9e97995da995546351d8e88ddf10add13ab928437553d00492d2b2c7902651c94b01bc8a93ca68dbff233583efb3bd3ff95f3f5ab8819e1c15fff34258bb83e35592ad926ad260e48b361d7e461b31d3ed14b2b393d8ed37c66cea7f9171136160757ff1344d29f55a4869e942455fab4f6e3b42c54e82c052403f15a9f1196dc3432c724665c1c47b0fac97111a52d4160c1b35232d487205e5a645882c65ec9a45655b3659b33c2cfb8674e2dc95ac9d16a08d1ce8709ac891f77f4ab8b772fac1457c11b28490cbc105ba51e681ace6a668614662956d40d516079e71d73180630dc83126280d325b082cecbf686d26794c6c171ac2cd5784fd0a8ee5e7a534dad8904c239d98b90c11dd0a2aa5e6f7ecc7205468b438e6daf0162f6efc757279cb95e00350676a3128490bb6ed566677252706e736b8e16aed4ff8c6b7af6d40f30947c469fddac3e85e6fe1707380af4223812084b458fdce1a37ea3937520019d4acdcad43bd8d5912504a60f00666b6eda5b01ca804a4755780563e10a32001d544eb85b20174b574e9250f590238705022dafdbcd036cd2d81215592310844358c099a54d60440ceb0a4df40ce72ca4e2601b2002a89c2c01a2a3130331373388212ea7f4410fa2cf98c1fc01df354e38017834d7aed0929ee55bb07847b7bb7e02b72d3862461a3c0adfc6cea9682279bcfd1fb7a0d089c592959809c18564aa8326d81d5133ce0abb54b49804fb29370254b761251a9223ed1619512bd42cc34f0817b4526598cc0ad9dd15a4841c1f84103ed3db185b175f20da2cc284e57131c02f205ada84bb4bb44e42dab07f7e0cedbce4b7af63f4e2134dd07ed7ac3da6e68373738d01f804209e694ecc0945226fc012690b446f902483bef021e049833f45f8a47ffc5f497553fe40098853fff720ae42f39779df44727ddb3adbb21ea2005c12ff995eccb09933abd15ec6941377173a486b7be601ad60d3cd93ac0b028bf339d6ab2999ba6f3be6011e87d5020ad0eef16844833984806ba021faa1866e830a5695a5cf18bc9fb8099ab36f7f1b2ae0ceff72a5bbbfe2d1b3820cd7a45abf271a798d1e61af351e9d0b88b5184f02a96e948302a60f44c5e9799022594aa61586daa9dc3c525fe88d3ae05d98e7fc6de3f55fefb310e903ad521868986c4ace5f83a85aa3018191212837bb9a6ec02b68103ae9e19c0ca206d6637a9ffda89bfb40eb474a963a61db88058694d2a44b002131541982790231d792f1d80321d0156200c48215d6fa84ed78410afd7dce4b01d46b4fb11167d653f5c1532ba999b424e71ec91570d57a0fb32723bdf6ea928c6833e4f41ce5b87b51654c13a08ee2152d2586538ec942d98fcce94a8d95e46e6de58293f4322af7940fc65663f1c28cc2a57b7368f172e92615fe23bf366ac5f4a6e1f78a10afdd4b0f4ff8845190334da6310272206e39b8248de846ce3a1e644af4dea6aa2cb7c90be91bc0d71f4c304ab7854af41f0e96afb63b851cf06212564922bdc3ad0a4413c74c58802ba9d57bc2bd46c29770a916571cabf408d8659f1a7068cf64763b79129598277b937b5363c578e22340537bd26868c98275eeda84cf4f7c872ac0a5e21738800d4281167c300a45c43ee7e0f4f728fa3449a10f9ccdb4225e8e40586b210cb4a54e986251294d663cfeaa406c71a13529d5da81b6a78e7944319ea3a6b19a2af1f2e701d6a00b3721907361c1f43960ce3a108986fea1727a9607ac9cb62a2d5c75469094e4e5d8260a4e335180a38974cd8e0568c9a2e336380fa23c5e0c588b2a00322c72880526bd9e546d6ff64de4d2c726d769c9c277569943fe038d06a87aec221dc51e92a2d718790b260f572228e6748152c1dd090f89c9e6905290c94ceb232a1d56c6e57f18cac3f1a0cc626b903b8835ae408a35ae13e1a86b565145a270a4e913919b5412fc94613238b82fdf9876e19418af6846e0ac88a74479a4ebc1320967e75b409aba3bd7ffa26de22e58ee6f8077b0b0a378476bb3ebb457b20b925e6efb1d4d06a9a4eab38a3c8def1885543ce3b3b2d7b3f4a5a8262497d6feefa4eaee5e8d51118d88f9fd5091f1008002a2368e06646509c094dc2cddaaccdd263cf587aec99a5c79eb9f4d8194b4dc7d23f53520dae7dc86588fbfe7b116562fc1bffd4ff567aa210481d05c8b9d4190aa1dd4f45213018f9c45025d5b0e66b84d74733f76a20251038952deee224f4e2afdce03e4fa0a874a615bc39ab3f69b5ecf75d6fdc226884463de64a5dfb6d7ff7be6aa6c4187562be449dae68e19030a15e0b652d9403350b8b709106b4a6406f581e9bc2e3c67c66d373c5a21470724528ce41cec585ff1b8af43c668bde387093a228cdfc49b0aabe5f07c691c37232ef175c572ec77cad2362e000d790e29105eef3a3e67d4b68c535f2b77004f734855a1137a0f4e1dddf686cd115e128b97ef5d2ef0e4b0e6837e2cc62163cfd80abdb197bfe27061790d3784b19454678864aaf3b1d3f3c9a53e82b51a9fb9b50400c0d1490430851e81043060ae82184147288210301d17b26c1500827d005a11bf5b1c71c7ff031471ff93d479282a768e2c1e1776c38ca94c6058613cd5aa04b9800714000a12d2640f890bf3101a8b47b239980ab8f99b2f17626506992f32150d36e16a510573581aa1f7492ae099c8b66ef559b0086e826a0202d416091c4be4b913ea273882427828bfe56d6413d045c4287fdb0d538bcaf79024d346f55318bc5dff6015880240450bf38d610e39fbcb82740a63b3500f96bc35b9f40f5827eba12752ef631192000c07ff570b4bb346163e018ddf4df70b116bc9f2a1b8c31a34c61374a84095a89d90590123ce3bc19cb80085ba0506f2822d48c808812b032918270616fa2e114b1e04c2eddbe1cd761d55010cac73eba9a7dfa22074d314a1a58402f25b1ab8b5ff3478b080d198c230442972a577c9471e284a2f51840eaf45db79fec157e3b5b25e40bd8943a2247112728027f2c6add8328ca64c45c2f73bc0cbe81c6a172e10676dfcc30dca4fba643d14c6fb02d5de1fcc80f00d6309412428d43d0f2d8e644cb4c0d7b9dc3991a53a34e4f8b62ee1a4513e66174d395b492169b7ce9db90aa7018a7744e2319d3b4dc51d84b3ed17c2adf20d741f874330bbd5f48cc56ed11e016d266bbdc04e1ccf1cd4c713342593abbfca1d87645950be9e4da87124c0021bd2b8d2ab4ff15dc44f3611a65761a4211dda445c7391768dc10cbaaaf52e68bda833d9ee11fa280802ae9f696fa9491d0ecfb213f5475791681f5a04349211e6d606f26614839a103daf358678d1a6e06bc4da8d57e0da24d2ff001a2795b75fd8a0f0b948968cf4c8ef3f648a9a38e9f41de95ca9229d17e661f17e7cdb55eef04c9f8546dcc1be2c549d42dc6ecee13caeac3b6a253663b802b0930a10b4efc82b72f307be1b84f1b3b90798b49a4883cceca57b08d0e973d6534d27f0991c89b0f59a4b75bfe8cbdecbd8de60d59ace5e2a99bb7455097146f8fbf0b2f4ca7096ede564faf6e90a0919e17da193829cd5b89321c7c4a441a600baa836eebca52dc70b066808558b509a702d6fcba3fefddc1f905ddea9fb247003abdc6de21037cd3e2678bfad3c01ed1081f375e2e3ac3cf6428e30d84d5509345e7e786a83c48a626e620d6545a7be62a69a5fdc0bc2d80365a48e7899fe2ee4b9c348974aae433170902322a1365f330032e94feaa34c9543ba97a9fd17c881e4d9cdbedd0ec57c86e1ef3cc7b33866b5515aa82a523b9b8b943c62ef62d8e413a72ee09eaf65cdd3d4c8b25d37df195572fea970bb23bf288f6463eec53a1663c6f24b67bc1acd21fc2c31ee3b4ca4508176020c99e25c056b372d5e693144e88a86b4212d9a86dcd459d3d591b84a48fc06100698053abefdddaa39eb72d31946e996313332016306e6d3596dbc6a766cf1c18a16320b85c2b5a4c5509514f1533bf885aee444b8975d253af4163de95d36d452f951a28062046dfa6633aa4614c2c3af90d42395f7db81893f040e6bd5522b8aa08eeb3f73d1ea7ce2cd84cb6535b649b657675715d7a3b1b67ca87b83df1704156b0ccbb2fd807f687a7a1be35669731d3740f7cc5908753fb15a422ccacb2c7b2d943b6f8a36c6202f0e8783c5158a047781888f2bc21c57b374296e42f0a15e80f13c73ae477c2be8ef0ae32fbbf05c26938e2c34552b190437dac17114d4dc8625905f70aa66d9b0f2989d249b17f74103106dd41c4f94b875cb4e0615f216d9b970cf66e04f0591b1f03ff68db23d358a86bcdda4f81d242dbde5800d99a5944b1195320b54ca0ece72b7d8d5db81306e5389fa4695241b3cc56b33bc9b2e0677794ad17c8d158eac0dd465a75b740d887c0656603529fe8725a50cd77a4f2e8b827431a5292deada57e0c1b19a2066bb19ff9d5d7c3c9145094d56db960f035d094aa7f26f4e20d28d054bb02978b209613a80c9563a3b6ea55b9b0d03e695da89c28834d769046a21bb1593a630d1470e1bb9d8184c9fcca19371e31f835baf4073e68b0c72900b21798621e1b172423bc71a0e4713c2d7ba7d57b9ed4ebed8cfa61cfa763cbfc06caa77340380c06cd1cb38336a0420cf9c428b709b8dee448b7befd7454369a65dbaddc18c123dcc4cc41aec2643029acb2b26e0df34d9671833badd5638dc40ffa1cf49d9dfacf90ef9c4f4e04f62bbd7b829fb8153ba0a4ce400e1dbedee467020c28bd44ba69b22320f6009ccd1f9c7de482f7c543275ff07f5567e0782ecbb52730620d7229297daba0b6e2a6eb094306ef0f9e289a8788b9c46383085a94e09519c021ea13a76aa0b4c93fe5b8c2977bce5c8546d42d39e7a07678c378fc927cf3de305568e4cbc918a3e94ab031a8cc816b162d7700ea8acb0fe2141a6e20ab08b7a7bf7bc01ae88ec4c910305dad179826e87f9967c672639b8d98f1eaded15e8dd4af91f35e85590a8d2a8d374440083f17cf066062106e8bb8d7d944f3b1306c555caa289c6cbb40c0a23703c187edd7bdff2b53d0a5f39ee5fc0181fd88c526745716c03ebaab8a6a6f3ac6aac969bf97d07926e96e9d4ed9d9583a1d7a67f3b8e539c5b5fe37839dc006bd9765c996c1f667ef07b8c3054ec5d7551966e82e91789efb589d3f96d362edaee75a41d125e9cd4c98fb85c02f769d8fee4294ae64f20adca1eb29ecbf5944096c8ffa05fe8f0c0b7b50991085fcba4d20c175c353682dd1050b3a0a7ba4e5c959300bfb44a1fda15218e5d8edc50b28a0edb1ab3aa6463784d6fb2919a907028aabf6ef61fb72fba494b71376984bd75254d550f6f78831688dc448efad1feee00a3253400308a0e0d5af8d875f8f21fa861a3cfb3259dd1d5e86ec9c5a882837e0ea504c0711a2c7b637cb8ff707581e83309d436d41f4bf57ebde4eaa9e2085c452773faa7b62dc3862012abc2793129c3b9f8200a422b25d596b342b8a7881c5d452a188af1c728a37befcfafcfccb0d9eb66351522657b0febdfbde4c47a22206ba2146199c66dc62c700e5cab0d95d91b12f6c37749a9a50c563c2945a5f3b390182b0f557631614e44b5306d66c9f5a10bc852f9a4b2b76b1978b9c84a60a85956b3580e24b2cebb0e3741651d52f13b8f3529e4f36a921737bcd40ac46f80052fd34d06e97ab0001e5c05b310cb1bb288800c8efde5db1a0139c6d8574d9faebc1d4ce4051e4b8b9f5462a2a6967c6cd754fc85aba9fb4161161209bc09324a8752386aaf1a1f263a35c06f852f675124f8e836769e3bc4f6c29f4ed7b492d8f12d9e701e4e1011a60794a5920523a6e0eaaa2f1aaf4c91e5bb3ded1adaadabd17366844771adfbeefd5b8284e1ac948a149dc2dfa7168f67f1ceb5fa57349b4df2bd40bba33c7e07e206ac99b82dee8ffa08864ad3578f9b961b6884dd48d846c995292019b041705540439805fec97db1d03797733dbae7854c76977edadb9b6615839ae0bc3ae51edf5d7299ad04bedecd4b4bb3bb38d18aa5435542a511ce146597ead168edee9d27998d66a314fb7ba9b6134a52f5d9296c07449220009404105e8517bf4f0e61e3d3cef4bd1d4b433e872591bd43dba8416aa26d013ea092778f309279c6854083bf4b0861b778aa60654d59f9f6d0bc2e271fb51d0d10a48c184b721a40a11e2cd42849c68580940e1e35448bdd030746905da44cbd02f2ba8c0465160a2288aa2286eed5b6d9893d35a6badb5f6f57abdf8f5f2d7067352f62756d9d9be8d878719c59fa59c23c7b763070b0fe021de0401271120528910696722ddce4e8b87e73de6e1e1195d3e618e1cef718e6fc78ef778c70e6b874480480b12a82e9c68bc16811624e0c20b449588c89b8988c2b08576a15f68a29e000c150618bc1906185c209a000c1428528b14f1e6224598c23085094322182850a40231d41862f0e6186208295081182c2043bdc0ce8e9fcc2a1592ee1a5a890d1ab8a1de708337df70c389a6dddddddd5da512c53ec3300ccbafd5ead309e5a56acbda2f4c0bc330e476b950de97a2a9a93535ed5ce37285de8ed88e8d9538ee812dfbc01dffc0532a4fe129decc5378ca8986692c7695c0e5e5c8a143870a3db11e511445d18a3bc06030184cb5b2f956a5b8030c0683b15e763b9dc44d14455114456b55e856acc53018ac2c41f9b56e7075e746ccba38fc6c52404251bca1c1a2c162b5336bdbb66ddbb6f33ccff3bc59c11c46e3bba1c162d5c0c9c1c9c969e71c1b5f8e8d114600c08dbff1dfce2f72d1799e9bf87abd5eafd70b003839369856c7ef47920c800e0e1d1c38da19c7799e452794d7ebf57abd5eabd56ab55aad7e0c00a913001c3a0210c04ef9f5b47a5aad766ef1f4b45ae776f6d89e1e6eab3d3d45e7799e50149de2f67abd5eafd70b87007676ca9287a7a7555b2d6f6eb54a9e9e56cbc7c795a3e6c8e1cd397270b493b6352d7ddff77ddfb75aad56abd54ae4e969b57c7c5cae1c3ff5e7c79b7f7e5eafd7ebf57a596badb5d66edbb66ddbb65aad56abd56a05018655b9fd44642d4800a9df058ef2427de1056f7ee185130dc322408499999999765289c19c1c558139e973b3d6723ba5dc556ec8549b4af57d0f9fb64bb9bdfaf8843f3f37be0237de8b812da0a5cb1b325ce086594db39dcd4ea56af5b08fcf7bece3f3f3f31eff6c9b052e601a493a32439d61066f9e6186134d955dc048181ae9191a039d81a601494582c49b91209921033420495243ada1066faea1069a012d9da4062536541b6cf0661b6c089328b14103372ca94b9678f392253b3b1ae825bd81e64077a0e270a2f11a33071a8766d21ee826decc279f271a3fc39072a8529d547288b50efea4f2137ee2cdfc849f9c68dc7627afaa44d1094da941e0b0dab49072d96a7527d4575b2d3e592bda56eaa5eed23086b55ab4a2f33ccfb22c3acff33c579f6a656323de883737ed7c53749ee769377149268aa2288ae2491459645aab54e779d680a06a65b3b2b169679beffbbe6f13bfeffbbeefb3d65a6bedb66ddbb66d61188661189ee7799e2b9a1a50b55ad9d884a17873fab9b353749ee779169d3738cff3fbbeeffb3e6badb5d68aa2b8147eb9f10a4d9212c4ed9a07819634bbdae5fa6fa4097aa95d3fead29fc78ad4a59700dc5ee6419e05e5f13f752a99cbae7b8dba3c069a5e5b72cac37feab6919e506693ebd53a0f74937a622a6478df6fbee7a914da366d203595027739ef5a37e65241a8d38d3edd28e9b6eb38087b747b8268ab312a3ace0044ee7e1263868b22d0664ecccce08a21e7e1ba138187eb95dbd29d2046892034a10330a07801154a22e002054e5813c2acb884c942060a284a9840ca520bb0744062585698b2e430d3e104624419c21431a48e0431354c64a942082020430aa31d84a064c4c64385da102f2b10218401192588b8c2881748094110be880d7122c0989b3096a001171f645bc0801204273112d801846972e4439423ba98d1a1a90a0c4c2cc643d71223031fdc20056478d0b4032740b00512311d503d5dece08a2578f005972e5ae0e089164e8ce1f13029800a2e5368b0440e639ed0210b1a78712ac77c11032b967a70c60627d081931a1640b03761c880b962290aa421968a80f0450d5462184a6108c10c1608814a0a80e01cb028230915127991a156a48b1b2fb0806d21230c17c8803f8085142b1d4a85da102f2b8819a3062378e284142d9a28e2f3073211d46c32d48a9cca7c018529f6e5034b51ca38a3841482ea2a9cb8b01113030c2b59f0c08cf30c1f6c2141916d2252865a9153188e6b62c5075b9838e387219a6230c4997139ae07565cae72639c388ee3386edbc6501b6c31fa010b98b0628a2f656cb9828bad96e1388e2bc28f234c300422a2e0c28224c8d8f2e50c1f2f3c9fe221e8283c8461228a0f4a6642178c803271ce711cd7c5d2e5aa7396eb4a34028ee3388e0b162b2e578bf8cda55c5c50c5049ef3400120a0889183295bca743186942550349d81452d0b19489891d224461707626756022aa850b1940510c2c8e232c8c143d1505bc2a464091530aaaddc18aefb8106216e9a86da1226254bca884cc42443ad880c658cca806203242e53ec50668b323b7220e23619e4204b7b1315a9272ac6ca99333cb032440f459081b2b975a2b77a9212041932647450831fae9cf9e20640588e4b134ff426a5562f6ef552c6ad9c4ff54bb934d1c4fd2e95a287a66b964c27b63360a3338a5a6b79ea28b96d09d02b371b240f45436d09939225b5d61e2340a27286172c56c20c55a65bbb9c38aef33aa5d65aeb161c00716bb59513d3858700269af042ca16338a74e882a902628a3002043f9891f1c418216e60e20862548112022ca4f09045cc0e0e58018d0855f030d3524418da510c7498e139ecaded8682c4192d8a72d00509ce2786ba0855b020ddae5cad958d6c77777359e287baf9e0f913a04fe75253e5dd01a074f0cf08548855e3860ad958d11a2a34847fb8a72c16eaf8a7ffe39f7ef086bafac3ad3effb0900effb05079139ebaedbb5d8223bd95f27d1662a57e7b1d16b2e15fb2d010fee1f761211d03a02e16fa940d16d2f1afa4d94358a8e49fbe3a58c86700b4841cd475fafe2d0ad72112444b2f9d016e7f2974817810a1c18934e914f784dbcf0dc48cfabe533fbcd7d1409592669313d92920fcd6ac766323f4e3aeca1866cce870528026ed9280057410f7cd79add537d63902f451873f22cafaceb736e023a2333b9d8d0e7d476caf1eaa3222bca97ad976e8481f1e5d766d1c214d2e57ebc54719a059962c1b26f5d1eecfcc476aecd6196aec3a6984c9aecbf6d16580fd2675a32c1ed5316f66b7b984f63c2f6dab00ab83699e4ef12b014ddbd4bd26165b2dc5ae5fcf72a355eab2bd32edde2c8dd9e4da26d36b0dd44c7a2d764491d7ac4747a067b7dab299ddbc6772e63299acf2dbad2ceb2751d27d1225e045c2acaee3c68ad43c475097ff36562bd4e56fc78a047551165cff1a14a867b4f4e731405a4216fa045729e81414480c2d81c7d42a7c073f6005e1fad72858a8bfbc800ab5d21525bcc2e07a6d018c7fb8dffb06bfa341dc57d26b3c8e0ea64be767d29748075389004daf3138e4e0edd165a7932e8f5c76fa911fb9ccabb8cc650d54db43a16040662ff9917fd74ecc5ec97ae4428074885241c669c6d239643aed0b75680934c869ce53de1edb0aea7236dac65a9bdb655e85bdd9d191cb669ee78d75768474748434f34ea723d979debc9f14a8e6f96d5020d47fa16182dc0375f98b54a8bfa828d0f7fc3454a8955014e8f4fc960a35cc2990cdb311ff74f5f98bf866df560a554ad7bf61dcd76c180b55a4ee81965093a0aeb12a414bff6f3c99f50855d6fc192a6e9c3103009851a718a10ceaf24791e6db20e346ce1800c03133428d26eab2c11283bafc57a49943230c9c1b30a8cb5f24cd1a621956488686cd17372b2fa84b5431a9483304bbb0a9191392e68a460c7599f5280c75d5a32418a8b5e09285bac63fce05fdf1f74833955aa22eff1bd2fc3e4f08fce36fa25045a02e2290685a1ac86c2bae3f4d8a72e6e6d4f8572c0d94737a7a9d6021fb276a6427e0a55ca8345d934f867114b2c90aa3d16856807d3d9eeef6743e84e9b4528bf3f87323eb04a0e9341a175dbcb8fe6650635f6f84cf87607dea99d07cf74c589fa2e4f78d9d456b415d5b5097bfcd782305a4bb28b25d0890c9951552cf7a26ddd33c93d4b3fac6c7a99c06d07cf72cb03ef51ea7721ad03dcdb3d03d0d89c39515689ef52ca49e45e2b0b22206162de7100d49e43cdec30b942966e7101da2e1748835d2219ae2bfc224cea7041e29af5943935bffe6cdf21e293dfa912921ec2920a7df6e6e1e1c3ff5e3a62275d0a51de4c4ad492e8e4670a483691eff6e0cc0178eddb519a914568880c74579efa3bd460554fd8aec599760ba74937feb59d75a4b6be95963e95963692d28542ff54c2693b9ec749e60cf87e3ab23ade2dad15e01a484dcb89f11fe2ebf3ad6155c3b9e2ea7829c7efb1e4f1b90267723738080bf7d0e0ae06f1f0424375287ba6cad3952de4a9afcdefbe8eff9fb9a9d8fbff7d15e6ba0d3fb5727b404d4fb3b980ea279f7301d4743a6baae234190238ffcbd4a0755a43eb261d6a3d065b206f2c8203838bd4afbcc83e8906bf1482a20bf2755d96f6fdfdcb67e5a97db46abacc6baa4d2a5d7180a443756a95459ea47ad4d3a09203f0b518f1a08a98164758685a978d78174e63cfefca8d40f76260faa3118e5f18fb1eca5495b74b8668d6dd7f4b3ebbcd66747ef6e234d92c2c3ada3bd3df2b8fc6101fe35bbd6b59ef5ac676d64c9366a23d6459d7cbe244990f819e7ed4f82c496719e777bab43b9efdef521e1335c77dd04b44aa379cdc17410f7d5c9e665aee961aebfc7ddc87d8f483c7022c1e13c912c394fee6ef47a10607dcb3acfdb235d3a6f37f26c0cfd4ed62eb76ddbb60d0108d0810771deca4274a9e8d2e76ef7c73ff569e5a015f3d4b76f7e27d49b362ee5b25b7110d1c7422df04f7dd27b1469e25c13fc13095ad2c4b915f5fd91ab208fa4380cc424794da05b5b602146e29ffa75e63cf52b23ddfa28aad49d48b3032d6982acafef21e1b8b39dcb6f721277369bd59afae17e22cd21f7f43ca680748f7a9aeaff526b0ac87651e4693c5202d96e4726a9b53ec3ea3b0a40eed3f6e98947757c893dcc13d7ece1016b74e689439d54383598063553577badb5bed767da7fff3675b1d7ba6467aa4a70576fb3bc038cbb5b1a218bc96232bf285aea56261a6d2645934c9aac23a5573101fc3e249066dc33497d77c43dcd33e93ef54cb8a7791d3f72f859e872986c40eabb67214576dd739446faac237df8071ae1ffbe49f388ec08fcde74d9f7fc5fcdb3a88fdb26ec50ef9100ae389411a0e935cfc9931fa2c1243e4dfde0f768986957689294145cea84d23dc0a5492fa05d0facaf8475374fb503ac6fad62d38156332818e799ba663da230a8525cefc81a05241d8c152490ba6a04ebb21e7910477a67b2ec1884ac47a9e79e09cd1984defa1ef729d34f19f7a96781fbd4fbe8d473cf42ea3912872b2b70dffdec3a47f2ec4a7d9367fd4334a333f9506a5c6aa0ea2c13401e977d2ebf4e077d5d6992d7a32fa900a4b7e6bd50c4a99de3431ba56a1a8b11dd7b4c873c1240af2b7772e75253531347a359e6f33c4fdae7493d887b1ef26a2a12f58896fedb7b3c02e9aef71e04b8ddd3088edcad19795c6ff4db6dd5c98c573f84dcaa5f75ad7eaa5f7d3d0abb592c56779346ecd7f71bdaef0fadc54101e72d59a3c6cddb11c7bead3776c4b19ea718207e4e0a367ff337a4119ba797a66c8def0f43c619698d245ecd2b61ddef6dc69c9ba7570c8b30ea5803a9accd9bd6b691b5b136d65a1b9bb1636dd43fb4511bf50f1db3a9d5c8c8a856abd59cc7ed73fd4e5d11479fd2b637d9d5eaaccb3205e0f695ce2ad258af50973f38d624c6aa0496fa66d7829ce779d66a140a9a54748fd0a41f4d1ad1d9ee7a1510fc9a67bd575a6a74e2609a047f8e7cf243b44948a2a4bb9e05994409785d0b25aceb5b3857f3d5231aef34a9e3f7388ef3d11cc75f2819990f3dd468dee42f4ef88b6aced47c3cba117e9c4f09ecaf6fc443a1807a264fa3d9e49e7efba64439293c9326a3ea3769f2e70390265dd6d9ccd3f77bcfa37984266d4f4fa6cef53ab222354fca033f6ee4b3c77a9eb7f2159af2c0af217bd65a1a08ac9546739a7b3cb21db21e3231fcac37da1e79d8a484dcb84dfa12985a2dfc1a0c53137b11b01aab548c8c60b01a33aa512aacc26a946ac47155566315d615c61bf89e4d5da1b1666047eb3289067ab64692671d9ba5b81e09a0dd9a3487dcf2c302fcfaf5a8eb40f0684b52475faaa10034dbe83ccfd3f97b5c7e8ff5f1182ee570bdd28bfca4a5bf8c8db6702230907b41bdc9c1a034c6b010f521d0f79a6b51c38d0194f4a8846f976bd231332610000000a3180000c45010869128caa2a4b3f2011480124e785c465c348f878591481cc89420444114020c4004200010200621428cb003885b5c1f304905c701bed81ca4c503642c599244da8e6cf381da458be33f98c21b2fe2b2466803b52a62cac89aa44e4f6ba6551c05f3af0a53b6cb3d1f59d1daf19250bc88bcb1b94ec7e0733c91835d2f90d533af2cacd4b383272cb2bc77a2a5e839fa37b0af8e17b07467aebe82d1950fa3f568700608538a03f4c4dd11ca469caced350e1f08ef323ed40dc02b939012f83b7f13d863c52071baec84f16ab3c3a0b6f478240c2adc143d0d75f9ee4ba2990f9b7b1a6d413dfb705c71217ab4cdc92af267c241f679a49e35133dedf514a75725ef936829ff43cd8805707fe2f4becd5410c84865046b7bcfbcf729c110f410ba0ad10a1503c77e0cbb0e161319f1a93e2a41c94d9b0a285691f384510ba1f0030fd78f485d0d0ce8949d62818dce8be603d3a9c25b3b5a3e24b6654a2174c05f7747a5d1a4b68765d4cb1a223b2301571fe53db868e9217b58fbabb280e60bf1c2e488c011a9eb466a5677b3016bbce8b564fd227daca45c168022602106de48af4e2659bce44dbd14b720d6631d28d9fa1999530e644edf62197237afdcbb31a9cdf6d8f7453f2c1b30ca503c097252561b16518d7b24b402583a05690974b292931c536855f95ca68f76f5f816d5583afc797c50b4949fe1b6f5a438fd4e9a7d670982ead564216e88885ed5e1cc7625aaafb62699991d8aaf5e0c7a71e7ae858287bde2f4fe31c6e3a75de71b99f990635e7900ec7d046368f5c84ddd8c21ebfa601f49e642be664eff828c70cd5fd709b568e946a18c5ec768697b77884efd95cfb2d1a7e4bac582e0bc22cacd8b3387843e4d55462eadc0b848764a0a8d1efe73661577118b8e24ee1da7f962809b4df9b711c1be0735aa216b251e58d1ac6699cd4804ac5b5a23ad694dfe96c79b07cf72161300ebb75eec48bb307fe1886c8e580e1e651482dcf788dcecc84fd3870f7b03abfd2367ab11e8b8ee765b8ca5456197858ff86f5463243b97fd6e40617477888c8d986e0bd0ee9067e25dafa9788193e1285b7cbc4c0b39c6f3920b847270cf0e31f27d47a49fa0f88a8afe5f9f1995320a0c24aedd051f960e9a81762e7fe630dd767aed39542a7784859be80d4990579c959f082cbd720dd2d1dd1f3e478ef1660ab257bcdb78005f70adc4cbdd41cce5d869241e381b7ccefadf49f259d47932446217fb5fb9200bc0b85da61a0093897e3143a681b3f1d8f0290802ff3ca078b27a8d91d288eb43b9a10bdef7e63a28d27725bac49621f4562f3aa0dc282fc6a57cc2a1c6abc947d17a29b7780980aa80d0c46ac12bc1635c6001d2cc03ac37cf00cba4c075284f11a563b1fda496f6e2b283b70578a2905004574d6b8601fb35c1a56827f348d2841c80723d20ebaa3800eff28a8a91e3a6c85cf08f237a229d15885c51a90ea613cfe90808ce52b5224776ca1894b40a2a1c581dcfa9eb59921020b59c0c9f9f5dcb0d105ca984878e6cd981bfbb1668e4cce84daadaac0d7ea5f482122b5109196b1472d7fbf469e842b1c4b8bb191d75eee6695de2036b28f4d78161baabe045c2ae2026608d7631ac9aae6ba175b0ba6ad26abc33fe2f2874f5fca8ddbad17df88c42dccb52fb11d7316f3b7b9dd17dea673eebf7d03bf2370e50b463703cfa0da7a12ee7016f888c844852e959050aa12625560a9b71d976f101558e6285007d9e18d63983565c465eff903b978d64137bf6f3974200dfe53bfd9c914a13801a2a58e9f5017d1ee49f9ae0b3b8fbf50f3a6504c8e2dd8c1f8486809b1cf2526e1b75110ae58670dfff4e6f2778bfecae2332351760d851babefb9782340fbd6bfd9a3c4af7a60a69829bcfc1fe417aa0e06da5ba3121d3a951cce3a11cdb6d03a27d06c08bb03cbf94056217c257737533bc7b4b65951f273d23a36490247459ecdc0e3fd3e24b8030dcead7fab272f0284962f7c2e1181a4044cde19d4b3790e9b9ef940ef5b70795185df4e2e6841fd724e7752585ebe01877300b0375a41c3e105c74fc7698b1d4d9262043228d835066d316b81294bb4b6a41bd71029ace2866435867705031603379f6408716183aa6a94360d9415d7c878c7900f150e9bef8055db12b6e9bb499a9634b040a4019d26a450b0c6cfc2c3142dfbbe0d83b1a8c1b94d1a8a997fb100f11c78a2a7f0947dd717c54b89c415981648078f5e9d49f453cfe7aeae889b68ad49c9484ea3af4e1138edf6b218b0671c975d7458718df0749726954ece03066716552ba6ed0bc23955bdadcec27ad0610d1fd5246efff958616b89516cd818d9af5263950724e90ccc2ca8623754cc5ffb2593859919a5f7da41b68d452541645b6e53004c2a2db71bcc387a8456cec91e2afe6c6db8359ca01893fd2e6df439021499cd24ce52e132bba1de832cfb9e40c2a451f4568385282eb33b906fe7ace1f0d35c605becacaa7a1c911817bacf78dfc8f3a8c916aaff233a42d39f084308485858b881e5744c6c7ba21aebae4da70ff333626a4881c080f1ea2749488764a0ddea05b6fcfadd68ba002d6224e0058844c01632bc98749b12313255170066ebfb646c9f1a279b0ccfc7dc6019dcd1adc7083adfaa00e11ce74081d62f0b76251c361d9de265c12c154fbadabce8885d2565eb31110a380bda869182f13ed8e156ec169e44ace65585a711370681133458ec336eaa4e4a902997ea4f9fb3be444053df429e81924610ab451a4cd833fa67879fb1749b34282ae88b6f06b748416948b3e809b67260493cf86b6da0def4b7e1bd85c2649ca198d84468959fd589896a82fb6e6419a9d938792ff63b61db6f2ab57f8c9e10d78e81c4bb46b13cc065831326594142805d950ec1df4e385e2b099b6f3385da50377e37ac2b10132815c811c0135a49aa2e61e48f2cf426e5b8151e468e85d79f6292f84fe0bd1d6b4b9cbb94becf14fac208fa2eaeab85125f7d7f6b37656d05eed095032e18ba1c1a2923d0904bff0cc0af179e85de8388a94df0c1805edb52570fc69e55ed12dec12284f13f0e23192083f391f884d80f5b40392a2bd03840848a09e65056ec08e12ebb00853554550e7bf166b1bd6030d73cf6e9dd44a9da46cc387e33beb9712bc2f76bd0b375c571de3250789d7d88489d8ab45b64d9eb8dc6784d55a77b29cb488a61317ff06e0d24ea2b60ab647878b2283a79fb3c40ac0b0d52bdc18d3464a3016cf04cc59ea69423ae465e90f418fa3f1013bf88145de019ef9e15b646e9a092454234981f71ea7efff9964353a21c29756e7f983f977e18a2a8b73168c4409dd279dd51a0db73e02cd724f008cc72cbd1c8f537133a8e92d21317bca5214b3ad11ea97c153af6dc13c48a354833670c1479053396fbf097d0c0ad0cda86a6aee81184f5709a1e778aebc8d90ee4a9037319c93c30961c35a05ee662e0ae21590a09202b0496e3694c96b9d80cc92c3ad99e12a6a931c04b8f3f37e4372ef67d8efcf4ff0970732fcb68f03b91a72f25db5da95597b96dae045c21b0cff985a6bd75bff8ed975de7740fffee3bcb87e82bbead7619920a32a20c58ca2b022dd6160b378d8e3847768290d1728bf743701e3a7226dc5b430ad9a963a5a4dd9c32a250a5841594ce8f8a7ac690f64a9ff4bb639971234d31682d3da8cdc0b3668acea798f6f7acf9a3587108080b4fdb38c183ea95a6fc89f7bb2d528a578be3156d94a19ebd4ac4fa996b59aeb355ce85a1dea29e1be8b327e1e007a97cb8b8d53efb418747d52d9f7b163fd4e149bc9523894ad2f775145254b20779d048aa68e1137a76745b3668197f2a904fab5a3375d4e4294ab901a7c2b32fc65c6582fbdc2bebf75c1084a0d9b260595299512173728c7bf4f0ebedbd3ecb5abaad01bf4df276631cfd9452222260266e7d2b8cf7b9bad4d5ee808ed7f07c581f9571bc39b3897cfc4d241de5c16b7212ea5fa0d536f3a41ab858883746d24dab92ef0042a862853cb94723985f4fc4637d146b0c33e46e96ecd2ddbd0d9d70f72ac4215ca930ba84e1f03cd1291453dc446c2fc470d91d0f08166d9b2eed021083d6654cae4e13c6c6ce239780bbe9a72aed6cc47dc7cf8f0965f6dff9735f584e567b5f1c8a8093096c0af436b8e95de656c77e56efd139abfeb5783253ebd288597cae787b88e05446f8da98872e3c2b1cfd057b1ad4dc5a8c6122e436ef51d0560836b3d6c8f7c676a4e2ebbe25a860c6e4bb527eaba8c3cfa496b46ba96f500a377868ca3f8a74e154cfbe35c63fa03fb838000517904d88a6d17688da74871889a03a9fb4489b892a54759da48bddcd0abadf5f8a43d0638ee023333cc909f0eba5b5c6515c126db937fc01b55b8d7a1d614f668c590397456080e48642a81a1042a31139ffb49422094ba85698cde695ee91096d7a230d081192d8887f0d25a5bc7a0585002b29d474677eb8a1808e72fdde89eefd1a19df93333cdc07a9c65a65b962c3f41d7f77533b63ac4a962e8888b0b54a97152dae7a24efe94bba7ace5f97202822b9a340732f13e16a32591e29dad44844a8386a890b7c38d1672217da53fa2037016f14e7fe036f173465f27e334844d379d0c9dc14abc56218d7fb72d28d2be20654c9983d745b6fcaa2611319eaeb492b534f710002924b4820cf113fa180f03aa13133cb914b47cd8ebbc1a15ca0d1f53d18aa40ed4960a4b9a8fab36904bb88896e16c13198468435d9b154b76746403147cf4acb91e0ad3039a0395154b5577fa4e6df18a0812554ee65c63bd121e3e725740723febef1a0598c574dc99e89a5ffc86660553e54b72cb84a198e3d4de55dc9de1237e7261737a49eab5be886004acfdc3b1ea6ebaac138f70156e229240714b9d196103dcbe432fb915e1a3a4e035d84efa03eb93102140c200d6d0a16f3e801791dc1dafee08888a3c6a8613e8d3f119c9842421f3be1e3285500a54ce86b885cb30529031d6fb0c23d30519785d15b97ffa2c7247d2b95bff42c01215f2de68a92006cd666075ac65e4662f25840208b9962a8f201023f831a65b04cf9130348caa2a6fb9b16092cf4b87024906828223e26bc75f4ef6be63b0e3566336258197451cfabbe2f52dce9296cc3d78f4265d16a31fb7d632e963b5ef24c934e106ba0e12ea6ee07b126cc830e3d55e48521fc5860f28989cb7dab2f16ce196c4f09a67bd25dbdc4702673507c2e9ce6c683a0f6f82d249d2a409f4289f8c2a72ac503c245c072cb1c0116e2d2d3f45f1bb1206960c400ef6203f0878d5b67e745d94279d2782fc107bee61be24221112359fa6f0f68d884df1c8467d640051c957ba22670d36746904839efdbc248032c2e19890da079ee09987d45d779232645d6c9ac1b68c508e93d2fb8aa182b983653a6c28bc96b32dd50d5fb1187ea66900dd73331948974ad7b157e990451488737426dfe513b00247460859f6c8ec6a7b8bafa0d308c5fc3f2b057c3046f56c5180a441711836ff68993daff28a7f64294265717ac32a9ed004b8f49d8d63f141a0f4713d2dd85799e48d8f36caf55e5f497af1f343ff6f468d6b472b0eb3009372dfaf7ce93fd9baace2e83b5bb79412d1a58212bcf13537461074c26a8d5e61a00378e02b5538a331dab21cf3a557e6802ece4581dcbd5d7cfc8365ddc80bd3946198c9c25ea9cdd244e715486af7d49bc1bfc617ba7cef938314b12762bd1faacac456bac3c41a948362565daa0ae2e32a348c6ea218f4c891379048abb4db199c351da372ac4362e0fb61faa7d64a2953986534d3d9cc57ea1e22215422bd1739e9c01897f7661ceab1568a4b975c238118d66acf97fbe0aadcce687378c6dd9832b0d2004e1707e53acdaad12a253f9514cae1ee98c2b02f5b5ed63038ad7e52f82fc8e73b2854b3e3424cd8f65b767a3ca17da5eb5676b056aa56bb9008c20e8283c40a8338b123a01cbfa240eb87394aad859ee1505233a5a4a4daaebf694a6638cd1d3dd9801b24ef344408af49deeaf65bdadaacdd5330086dcf777b9cb8553c1a62493d41bc74dfa7e8332daba2548c71427cf424e43407c36508913754a573dca66f50fd5f8610ed6c0c1dd176a7a51282f2457e9a800a2f0755274308cd37844a040f662ee5407b18ea31ff578c34e85151574e364888c1d54060b17efe9584ae2122b51cce31b7058bc6d81c3ba2dfd79fcc81143baa193d95106ddea4d79d28d8121016a210039d08f61a95063d4e9204a668abe51a81cc542b6a048e04ce819acd83b6dfb57fc7d2b810af66009f7eabc45ef0a50a77818df241120b349d63bb40d1b39acc72853c9579f6865e6a2662c79f8b10696d36ad98d9c844410a3dd9c5cc28242a5110605f2c00af40a16126ca6124bc061fa22486d32b7c82305b02780c708c5fdb7078385919eba0f1a8d0ae7c681a578e12dfe8d365c1d441be369230ade64348b3493dec2a5752913d0d6cf2162d24c7a3298a7a9bfc50e99c575a989132c3c793b161460830466efdfdc56acee3eb6d86a6a0859611d6a0654b5ad1a05bd807713b93aea257541566ce7c7678f505652902669aa7cdc50faaadcf67ba1439de6f6c10e5ebbde3a3226c2846125d30d4545716be71131118f5dae2e0a5c619a090947c4a052e88e4695e5355dc092b17cdff1eb3eccd8a7b5bb203c6e1e618ac1c114dc1e3eaa6322c1b9fe6662460244f3b0eaca8ff980e2725c1724c2825052cd5b2920b44409d57d5ba1dcc8e8f1ad7ebb37e6cb9312b3532b0ce0e531d5b2e0a4a558353ec02c688012b095a6f9358b56618f764d2d14d12636cc0ea9ac677c7ed5533ae3dfbb06eb9a5b4283bd769d04e4037b286e78ebf980a7dc46092f4afd6fcacdd61b51c7a5087d3c508fb53613d26ddbe3f201adfb03dc87c9c49df5689931a001cc2ca593ff37207f1d1f080746237b53e945493162cb130e70c56f753a613c6057092a5be7cb17f75be972d58f2c981c91595d2835d7de3c3445f61a0e1379f3afcb2c3e4369a5f8085d4760d3c0320607a850845fb8f538ad0aa18e5392d546c96c58fa96517432316c1598978bd27400015a853aa55c3c95ef831e520d602f2cb3f3f994958017a9de71210dd578af502195e1fec6a08c880cee1994ea97a66405e5b08624cb9d5490db2c71008f675925ad04b35161b137d34f9b59616d215bedcab3fe9cf0ffb9a3af6e8d27755e53a5b9415a31746a2569ed502744306785eeedca119fdea2b171109643f682cac6852d4e0368099ea134056620424847b8768c50151896e55e3f691f06348535cbc73485670c3eed81f96a08eb3c9d41cff1b66525c6a0db7e075297f50a3587e03c8503cbbf44a8f7905d0e29272357045e4406b781153edff8617cd5bb451cb4be73b81e25c1dc61348d3718b2cb5d7ba9ec96bca2653d3e40123c41757b821dc1acda840539dd88df8294a0960d2e6f2c53a76615da2c3b3838f0ee673e936be445e83eee280a92d740026aa3385fd6f5025322ba4e2eaff1b3a3da4669c34c6159808780a8421daa24c3f4cb5504046549248af3f72b5e242e9132727623d7b8fc866c9c16722aece74c85ff02ad9f9c13cd4ac984802e2861340668de18c174c72a57d26aec0b105095871e06deaa71c7d2272e6078975589394b1f3db116b71793ba4fb17066a0b17f2cfba4ad1c520305b8fdb6ae00a088d97d1d8c6b83106bde34a5c6a65505f4a89aff7984aa712a8d172806b323cba39f495a81f254acf80cc60779ba433c672b2a66e90a01f703d87cfe8c7236d52d068c7da809d4eb5b61f65146060677e8d2e76523a2544927b92f0c385d9181de848831f9f399a72e56ef47cbe995d8f23199704d0acfa08fa2b57addffae9ca4a9a0eb56824086f43bd03dea7b59e38e349841b26ed4f815f4f4ca663a72050ae25777ba2cbb61e02dbb5d38a713721c119fb995444b903ed041ddb47413bc5fcbd40dd2795081b20f5153b78455c1678c97f06385d2f645068841e5df1a3a604b8a9ccbc40980cb06a3680f0caf6120183d684bbe3ff2a1c15f4082bc46e50f988ac8f4e13f381caba7e0336a16811ddc017a171ad0738e3e4269e1fdd088baf4f7f9f8b7be5e801a1231aee41b0100282a5290ef40063ac1e280d2eb02ad84e290c89c19f01510b5a6c0d5d214ae4a77dc202b0369402b6f85ac642169efa468d7b5e2731977b074f2a265090a2e0287e7920a01178906876d167f528c929609e6a95f101a56d98b9365d60b1ad6e273f11b712a7494b829ef06d760710a185f4119d38fa6707449b4cf671eebe2f44c1a672881f5dc210f6da83189528e2f2cd0325d22a7a88556d5f990e502af580cb0c56c7542c5a810d62a8378b691bf62e0f201d793058878ace387f0e42611e1ca1ce39b09ae600ab5d35017f1bb4f5927f5f58881c9483e7a044b6d5b971c11db7a43f08e3d946276bc36c0efdb4f660d7f172093b64836ba3c873bf0ad990fa77ced32e389e86bb403f7240cb7b5c2e9cc9233f9cc1eacd01b4348b89bfd2022e46b2948850b8ad2686e132ddd3ca0ddd0aec233deb0d78b816ff3722f4bfcd912d31aa0f9214022296d75b65aa01ec1f3097a6b93f18b813b5c5174314921c0b9d6ba14169bb915574b95fe91b60cc4e9b2467e5017df6e33518d010c0f7d0c4d107c2c2ddeb98a88b63ec72db7ea3e893115c85eb9d612afef014342bb83c8dc2431a1cd9902c69ed61b228cfbe669310f2925bba6d0e52c2163e72cb66406773a3956a7d27b11cc96533da181ffa96dea83cfb63dce295d29c3674f6735063224778f6e9457ba6771d3740e2e4e08e7a06d2711bce11fb1a1a5bfed09e5c023a6562984416d57273fc9035ae3dcb35e6348b6b248ac32035125bfca77f4b1efe6f8e66702c161449d40c69c77e2adaf6803375d2548d6566a67b51b894a631a9ca8296468940aba2cdfa899a4b6df441241a63bf2c58150b473fee9c630e19842ed05b0f40b864ee4ed82d63af52bc48151a9108182207cb4aa850e3724302e6f2fd6e9d657e6249a86aeba34adf0686afa3a5f7258726453aa6ef8d6d80a74fda35e015cda487fe102c14545bae5af1dde694ca25c02160307d12c528f78e9740846e873c290148f76be61d021c7a7fae1c10079581855aec38b2bbc1888e50e79d87ee8cfc33d4cac0ccb0a0859b81a0cf5e3f81801c1870805e61abfb3061086249b86da535f165d6c3840287857548c784cef02b143a8e36737f42ad6a8dd2b4d7e4c5f295c1e8f65a6a23b4c5c49756254f8548e784b6c246227bd4bb0e676836dcdc8439261e3e1d71a54b31ccf095ca8822be90560a469410c66ba157f8c0b41178ed412b1c4e71e1e266179ddd428bc1a6e4f2640b30f416e01b000bece6387466d632f7cd672489c0c33ef95b3c94a0aaff5da879e16e9486f712a7d9a916fba1eaa989bfde0fd906785f3cbfb41a5eaec73e1d9678014aac31b3fef24b2075e819f8eed73538b44d46d327dad83446530c2559009bb9a6c0ba4c60aff08e569794f9cdb543efa62fa6b1b7bbaea17bbd486bf492a25d974563e80325b14e8efc0fcb55c8aadcaabf525dfce8facd2a0ff74fc7909eb9aad30417236998744740116694c758e13205221f1000ef9041496e1a2551698f00ba46f88848adcb775d6472ea2a03c39ebd17a8c48bcf7884969e1c469808a923df8d065bd8d14a5673147d153040a8f7b63bce429c0448d7f48f730b886e46c12154239f2895163d39920377b1b99f0fc24dc2799ccf598df3041f226b40bae61008339a72ac6c4a6c832560ead47a36f520a06b46c3485c59298b2c76363bc8cfcffe13d4cf446eae05ceb3baa9179471ba48882629f7d050f264943f4ad98d1d4d55ecd8685e0a6caad2547b33e250d97a6875443f10c630ce699a31a5ed5c3c7103198d016422169275ffcdc295a7552d58f790997f0b62e4babda00087a736c18ed1e93dad7d10ea524e91d27941b02f92037791b9af69d4f8eb128e1a78bb76c81222c22ffc4149249c6abfbdbd5218cb0996020d28aad3e96f2c5341964a8987aa620da49a0c910e6c14b96bde90576f0ebc6857cb60588e0d2f43644917121c8093679da2e247c3306b25c5120965e6829f03dd96cc6b7bc7b309886b000bfd4cadf1045fb8beff001105b6983d388116bdfb3262a4c43588a41b581039a7be464c73b7f814d73f794eba34fcc3baa507e48c16f5342770aeae05af91f5a108bd2b932f5ae0f2cd05fed485a0caa427f6010bcd62f4c47fa8c525e03e70e0dc5cf88c7c178a90bb09f9f0ff32975eda08d8f3ce04ad8b1679521e2d4e98156f047835ec8bcd8f99bfdc5cb2a88c8871fd89930bd8f53f787b27f0e572fcd7cae501014987c82088027bcdd68bfe912aa95c0e5cc3bf4e5d7ad608d7202b1afd7a1996d6d54acd2a1705d0a9a876dc44dbdc4309c6bfc8ea8933e10951155adf604c6ce557d2b8104bbb0a291d3472b605b5aeace582363c45e1b00b73db80038ab13dedb2619c37a29a2c17390f60ede24ced04b31c96a446f9801beb98209131e5a8c754a0d3a8279c56a3c0eed145d1a21e05ea58cc7cc13206cbed7b082694ce13282e876aa0cd8fae2fa1749ec568f7594270c1eb92f63efa646a8125991890c4137d82807ee18966af1f6c2374b97a81b99d480383dcc23da5463f817d0ec621ec1907015efe771b5697a3f940b921dfeaffbc153172a0ef1f2de67e1570c86dedbd10a8fc406d21a5216328caa4557dcc3cdc77f97e287a7114fe2e3174a6eebcd45d6fcfa6949435c72be8ba0233f7ff48fbe5716ad39c7247033eba7f1cc4a4747a72123c8a444b314a622de1420d7eedf9c8f29e2fa4f2a16443e49815b3ff66bc5538087b17816893a2e9322b787d5b92bf0e0d200dd165acea68c8dd187605275ed88fb6bb4c906820e50df9c7287cf5f81f98527deece7ea529307732cb07e09fa75de81efd48b7e4c83cee456e67b01489f6a335b17c704b8b79e4530698185947dd011b4ceca891b7d264bf63eac52a2be8c5743616ba2c063fb8a896dc33605446848ed98d4023599958f11fa4d3ae39940b91e650a5f6c15203e0aa01989f1e637138d84e1df688e9546d63c26d1379c46db444dc466774e05318fca9f491e85aef6daf5b7f04aa1b6406a4780a2781dcda126945a75de8761b4e5252cf0ba851cf09c450cf0bf85a7c9c6d6305bf412572616b7bcf0f5c76d803ea263ad222d3201f90e385eeda4e0bd5a0f3c3b01aab43e0a8fb9bac42c3977473384d1128632802a2f53c951d8e1ce5116f3735e70aadea55a9d6dbc663721f87eb23c2a33d2699ef215aa60f20fc6fb212e2c06c250b820ac7c098dd4debddcc2e1de96af12072677205545203d4a2a43610654c98008b4a5aa54d8a2634e5805ca9e608e6476651841c1098927dd1aee8e8f015aab9170884a5ddce16357701bb7a42cc515d2af23081764ab6907a50f4ea1cfef540899a136f8bf1220c0828381a4046dd22722fd7d19efff027028f95e3837cc8af824ff3f562fd0e9aaa2050df6fc63291519de69ea64c9b1c4361931806f9ffe885b35b370c0a92e9a374d36e6c83cbfbecc28f8dbb12acfd36a7cef3933e0c82c3a7de2697dbe75d9820528fdc81729ce22d960ae8107e00f3ca2c67897a0fae6b4408abd612202ea11859e97be5db4b64afa00ed6716565139070c28afff0c3fcd997bbb87d165f5170efd4942a89c726511b977ee14f5dd87cf95bc2d41ba6376abf062c7ea29773d09cf70f65ced3e1e535b1f2961cc41f249e126f866eee8673feb29f5b7f1c6c826c68d6eb372f91b4eabf54f575db2c403fd8ada73750dd6a074a76fb691e689d539026f9f54b573e250d53fc8ca3ba3d04122c4947dba7fc502ca9738c439add7a9a666decba93497cfdd2d2e08beae64f5b569470396051a215125346ef2caaac0cb5a9caaa9c935c58704f9cb4ab5bffd10665c33eeb9fa1b77d030b8a527b1451871068e488e8b4d000e0def643cf6e430f5d31dfcde064bfc11b3b5173179f4551db5740424687e97be5d35dbb09eb09dbb77951b92aac8c0100b507f43700a2a561ce140654b5e040e01d16632047f126f6bb37fc8cff41a7baba046204b04444ca20fed83539a3348000c96fb911f8dc756fd3f4dadc9e6a833d05189e2598c5c2583b628ea9b297bde7dac8e6279a32e93aaf3f76dc587b15204c69ee216cd9611029eedcb4bc80e5037dc81980fab9b849bb92b3ddf876541c3fd03c58fb43bedb8bb03f84645a610664802636265b403ee3d169d442c43778631736bc8cc9b8549fafa0b2006fe73f542c30afb8ef05e8e37ae2979c837af2a0ecccd01b002453c094348ae9eaa1d500de4046da070c7b7452e8c571170fa4804855196a8e251661419f02334e431820f96929f46e1c70d9006b58e997d06c42564c60fc0367bac54d1bb3fef69866797d877ae89a36f68c014d2ad3d7efe59a109aad61ba5ec7d6626668ca44c8c8b83fe2ac790831dfec8ef4c7e6bee2aac1cd7f933f764173171f8bf1f6879044b61410726835f22813c87101e9564639cb96c1c192ba1501bce02aebfc0ffad670f31c6cae8dba2aee005499ed34b717c45eb740914d3421ba841005e9cc0caf958b8cf91a264010c1fe6ef2a4a94a3292c4cabd2d8477aa5560fe376b71ffafd2cf73bbcd660305ba0edea23e67ac20b916b1c22a170cf15b695b44cfe8c0a022d6c9ad579e9f63e2d25d5615639a5c3dd46d078f56f4f0074ee3f361110a460368e87cbad8df35418865fce5e7604d2233d3f3e95d09a8bbe202cbcaa5db384df4d36de37a38d6341442fb4e0652fab8b468fab72cbe1acca1a9f696a1b79ed99c647d53fa5d9b8fa08d374325e78910e1ad9b7963c5df7f4019c035b10d369b1b19a00485a7e48e7d1515343f9617346deab3c453efec7e14691678f582b9defac2738cf5a2930dd67aafa08f0517b619cd7748664921db27cfa710ae5b95e642ff8bf58f076c0c2e8cd5178e9be8ff90df26d5e7bf79d588d3fff88313ff54d232ad7d9efea35dfc597da65a7148de49d3d4bcce7ba41189134887aa09aada308eed1d7a77a7eafa3d44c46add606c62f6e810250ea123a7bb089d4b528eaed9cf0618d379eaa3e35a29fbf7bc20efad2df39d4a20f2f69b8f90c88b0d43d44551dd705b8a3ab251b14d042d9e864b3b45c08b4112dbadd3c6386759390e5b891be3fb0289f21fb3a2ac506c6de44c426cacd765a736ca25b0fa8114f56cd9d3d5ea446bf7caab0147d84e6fef7e55bd681d24f08238a85b87213f9522c14d005d051aaf98c7d08410e8697effdd5e79898acd419d403889e6694b125c25944a1c0a919af8d3a49fed623fb91ef2ef89decbc46b969e24a2d3725542de150120673506c27c1930b1a7c78940bf724bbfdd0c7717dc5cbdc0dcb94e51e06b88d1326eac24c6410a98110cbd6e47f5876e8ef68fbf6c3b6520c9b2e1bda32482a80b414c2a2a173facaf54f55408a35c588a4618205c48ee19400fa7092e4650a0ebbafa0998d9919c13c89e98acf71271933535c39e6bdaf2dfd269372f63a919aab1dbc7208eacb3c70ae0d1bc286f703cbc4aab0bcb54965257880d8097a02b345340bc241e59a9d0d04a7710bd1089a042d7ac9f09eaa9e41522c71cc8146aece5bdd11ca44470d4d33fe4f346bbdd483befa29b319ac5be37e69f21e539580f8fc72d6483be50317ac2fefe0bd03efe250fe4e98872d1bac5632e6b66fd52a7dee21f7531daf8fd956c19375c78be68e3dae7984f02fb2955702de7fbd47f4e593f3b72cb24d68ea6c9aa466e11bb7786498311c824f067f4e788eb7166062518b4a8f53e87325f27497c8e1d67e50e13afc876c71cf8c192cad124fe0b5785a28910520e84bf60dd1dfdc800291ceb2aa605d4f8023e7b3ec60e0d33c38e21c54f66e137559dea344242b8541f1dfa9471825fe43ce0b2e3353d239d9c502e3d1e8879e16fb4a7c322e74d2725fef2608c6e7e0c39b63a929e70ba742006b6e291b14bb00202b6ca9e08db63db662c6a28914b4f3d21faec02b434d595f86f91dfaf25c637934bb0c0a9ea68cf938581711c20bf1eb7b5267c964c8d74f99b8caccaa6d34279d8721b4b166079de2e284f0505099a2061ca04207c4eecff2ab9d77c9847701e2f1d3d1c3f6bef23373dbb29f8a93f4b3e2aa969f9e8a5808a91b803698033f5b3931eeb1630f6ab588184cd9673114dd80056d89f1cf20925de28ab69f84d7d2c5e4b9c4dd62e91fb0752a1f55bc821f937dccfdad4708ad85c7af5b419f27f262e6e817f7ec57ab43e6ebde9cc7b2844e86baf301d9df6caf4f20d4c2cad1f82d7df20a8adcf55904959f487d72121fb4fbed8858d5b7e8a92ff4e2c59263c3e59d4b563bd21e9bee49e89118b7471c9b285b5ed936ecfbe026d6f13a159d810b58de496d85c96e9a143667ace05dc88ae29f2a59e484dcf38fe7f9802d9f4aaeecf4320165d3d7a1720bed04b6b37b46c3758771715676aadf62c87bab16862466918206929c02525fe4f657d9b436edb606ae745e21d33eb1b0649c260084816f9e652da404c5bbba267fc9ce934985577f8e0a5a2c780df6d1f4e72c40dbbc7030b7eab18a5003f0b4acd0ed95e0352e388f4b4896ef1ffc479bd87d5874f4dfdae62153b86f83756a23c9ee15564d751400c4ccb22bf3b3975bffc0c76d777138bae17cbedccbf6f70917b99e25fc8c12b1c666ecfd424bf8cde20299ad197bd0bb62379d49d5553334e431820fbabdb40e75ea696e6b38c745f3564c30e77eba4b58b87eaf60df3eb91070edc8f6dd40d250b293e3e956e2b5e23a82112b6f2504c836361f3c2a415e336cf50e9cf281dbc5383b85251016c92033a9f8e835b40d8153507b389cafacbdeb47e923469a0d47d62499650034b97429c9607b58b819a95f2adb62ccdb8b9f0ed10f46c0183bb6105eb865d3abdb6eac06ea5d4581aa0faf95d92082c4212fdd0944724b1ded4448488dc524a99640acb072b087708b5eaa7b4d28b52daedddeeae75c777be48a3c17086dcb3d65a9b7ed8dded9106adb5d68fd65aabc46aad754ef06badb5566a6badf5db6b971a6d7debb50b7d1c2eeddf7badb55debb5b4d61af29cf4b256662dcf82679d968d367a76b3ce0833a5cd06b095f7a474525a238dfe6861a5dca54ce98f2af7df76ab65fd66a4d15f806cad95a33c0770adea4a2288bd1c75add55e585567cfee99d5aed9162968ca6dce0f73706a95adae6805d06315a2cf16bf7e57b97988d2ebf2c00ffd69c50c92eb77acf529a5b5da8ed65a2bfd6aadb5290f483b4ecc9b10abe80b258b7bebdf68c5d672541f87b735b2a2ac73ce2fa494caae2997d41c1437ac33fb8516c8f6fed5dd0051dea1b6f783e67eed7e4d51324c48be526cf1e9a7787afeaa2f32a71ddfa9b1b575616d5f747de1d6f27a3d305abb0ceb8ed162aaa75f4837adbec8517f4563bded32434c93dbf454684609c6d60d0a816490d4b0db5dbfd6b75fec517dfa5b8c275867d8b5baadee7e7a416f35e65d74863f1ce4852ff9daefbf17f440ee7d1c0ea2f5faef8c5eb6df7ef5faad17a188346a5ff52fafabadb56996593494d1605f28a3a95f6f7161b7eb943fe68e2fd9a2ad37727fbd6a6c76abdf5f2b6dc94d67d832b5df494643278c9db2f6a41c46832dfec4b2a581db2a62b3efcc719ba1e8b54bfdae95524a7bad3c710e74b027ad3fe5a45f671d6c94293dd6f7e94ab6f87d72b96a511aebaa2b05eb7a60949a82d12923a5946295aa4c2c63d898aad24d8e1c73b0e30a56bf528a39583f966b23a5b4b9cb5914109d118b202afbb663e85b979ffd26ad88b0c9f7e9324641e42706f9a1e688ce72660bd0728b83b28767f2469f6cc8319ca951801c6b107d48c300727499f1a100720072fc16192b1f7eee7288b1e3044b00860950c0adbf3588331bf8118f8834bcffff2db49323cdf193df92439cb140a4212f20813893010ab40d1eda457e8f48433ecb77f537f0de177a0a0a279ae10169307e3b4419e4ff8847fc63e1b77844f64220b2d3fc30db17c61fbe30f4e1ccff85fe616734a1ff8cc7217d87eae35b00868f8527caf0620c2f96a041f9d88b424450be8a07a441f93ca47c17c8408f168741f94277ee3be909bdfc1f423ffcfcfcfcfcb44eeb108901eaa204d7754920cb09e35e0866ef3afd9b98edb2572cd9ab2fecafdf8bf20efd3d40eb20901a7dc9159d4a29a5948f83cc0d8959e2963107a57550fa4f140afc7338e81b0b263fe220bf3efdb056f9f5eb830e566b6b886de3802387832e61669c517e2f0eba6c102687c384364b7f1929a5db23b4f76c2e7f1bfa925e34822a968132ac623545c6879e1303fbce0d653262e00b0aa978f5533cec513c509352bc266528d2ddb393ecebdf801eb336fb6c70765c6fdf867ef5f55bd13e7b20a4eddb817dfdfad5803e9bebed63df8af6eda89f7d3538dbd7d06f45fbeae5d7dfbe1df4b1c7be9a4b7ef53cfc2d7d20a4d81dc19b96a31b277546533b22ae6e09ef29cfbfa6cb181f6cd6be71d63e9497e6f9d8de87f6d653ef867e7d6bed09b08f1e83eb4357a2b25fdb3ce9d73d3ae1c2e62808d2ed2dc8d36390a72b71d16d0a136c9d4fec478ee67fe8473ef4d3871ebadf32a64efc79106b53be96a3d087f2b51cddef0279f431effaccc3de83c89838448ee65bbb615e93824c22f1677ee8a5126cda6f5f8f834d1c3c69dffd7ceec3ae8b2ad8b4effe01daefd0fd167b1c9cddb4b6eb82f4687ef785dcdfbfb8f977fee6c5291c9cf1489edae3f0fb73fbf9f1c46d31dbb62ffcac7dd1e705e136b1c8f36318db676d6adfad0d9187c8981fe468beb5db36640eb1d9af7e6627af793ec41441bbcc27c1167746b085fe1e24f3a1fdfd98f5b012fabfdf590fdab7127a0834c93e8f188834b1240c52f583b5414ebc1c6e6eead3bfc1fe0a32dfda202ba12f07fbad6879470c449ad82991aa6f45fb5674a06f7f07d5bea63e7deddb71d5607f3d10120e47cd2de857cf837ef5cde771bd9ba8d7a4cdabb2e679295b5e575f7f4715fa1af9d587be1df6b1afc6df3e0ef71ccf964a997a38ad63ba22d3e7519f7e36383bfce9dbc8afcf83fef5d9f8d3ef4af9b240bfede4f93fc818d097a12c96dafa273bd624ab49a8c8436a39920029a3c9e1a6513738c8d17cfbc9c8d19491a3f99557bf9623fa817224826dfa3d552026100762028915e50457b784b134e94b0d320e4a990129e5d78033e89041931a3ca6492f0eca1a5a1c26fe3b78e955339a1e325b8096abbf2a2c663dc0225eae8166342d1ed05e46c663e8991b9a86fc7843961f0aa06b095770c440f91025c7898c0fbb1c41395619872bc687598e3fe30c03220d69c301d5fabbfd6579322fd6872f353c0e77cf1bf4dfbc1de25715479cc921479cd981439ca97140db908101f2f19f7ca1cbf8428ff1852e7f011c00b28099431f0ed7715d8f51156810035103fd83f36400bdfc1dd8cbafc95e3e087aec4fb0c83293ef30a18fe6d05f166bf9ed5f02df3b2843bd7932953ac961a762e4b05359d6e0303c8039fe7deb5eb082b9fa5ae6a4339e001181506961e1ea0ee5d81fdb85fb818ea14264110d4a697f8a68181b4683f2a50da3b23ff30359be943d72247138ced6333deb1049f6870ab13fd3c79fc8f2690a22151267bc1497405119c81dea029731c618637c23df12b264da4da733e4ac0191c618bf7be6f9d816f3d4a11c1b024a6ba594524a73e4c891238764a2ca256aadb5564a6ba594524a73e4a0b4564a29a534470ea944adb5d65a73505a6b0ed98777bb3e0ce11831dc8732e88756083a40f7e149bc214cc9d2c11c1de4b5abbcb4ec2ae4f967f70a5958ab14d47534408dcb05b3289079190191fc925b8908a84082526e21e45632829c1c00f73c6b5e93ae10563d10e86bce9cdea3054321438e3672fcaf633293d7367a0bc58e89d7e5dd9d7bba2810304685329af8a16c3ee6d19b6cbd2e47cf9ab66a7a9d814c1163dedebd1ead538be842b60f881d846cbd1319a62d0492ab392477d680f8f957982767903babb04c8170134ba5dca19e1ca33a39f1c9f1ab8f4356efbe0c2f8677327bdcbf3b0e736d77277e784f57e7bb3b0e4a610bef4ae718a4052fa842212eeb21e6ea2f4fe68bc4166a8ee556d282242c9d0eb35e9633af7586e464ccf37c35c0cab37a620bb1c9b36719e026b9a22eb4948847fb22468c1832b04a8588a78615193258ba8eab823bcdb8b8eee9f3d05ee3be95f8dc37497b1bfa1068127deee9675383c383fb6cb4a76f83b3437bfa0121d974bf833ef7f139ee51be1a95e7be06a5494deabe4957cc687a886164eb630131631f07e5d3e026f848933a8fa270afadc447f9eeb90fdb70af3d0f940fef7c98fb300f698a60e36e8d1930c0206a2fc278ff1fcaab98e28c0f565bc22f0b5324c893b497af2de91bf8e56b39e818eea5d612af6fe9a0f8a5763c9bd6af3925a8faf97976af082d12e48b688f5550ae18be2f064c256a2919d3249e508340937eb2fcce478ee4a3b474df4d87bf2b060c7b1d2acbe146e50b412b51cba1066707f7285fa37df7285f0d7deeb56f12c8043249166426494416459603623633492232536692446479c960ed5c1211cfe5324346737f864c87e7ea2f1a30f7b0127809cc043672b129c8f6d66a4bb48d25f20d34261ac67af95a13addd20584d8a2cff7ac1a2c43413ca9493e54723364b4a50f53da719ef29bafcae58ecba30bb6ac02c127a8b1c7627cc0ed1df9d62bcbaf3ef63294fa639c4f6224772be88bc00c11923c325e14ed8942d91e503c159dc2d4bc413673253a4d1f6fa6e291a46e445775fb889c64c34cc166740a6486389b6015a62622ab20f710eb2140d4a93c88b16f150d1a325be10ef20cee023388b2cff040f21cb0f7d7849969fc5f768adb5d6ca20c3cd4c51cace4c31d080691ecefccb069117229e9893e5d5f19a54d9fcf725129b96a24262b4d75bd33d992f6bc5f9f7bba7bbe330f39eeeceddb9a7ab734ff3eec8204365034e0d5b72b466b2ec9e2e4a09a763ffba72b20799b4ef50598298c83ccf95a8890fd6872dfb5b9e0f38fb2762e260b612bffb26516f257e2b3ad0e79e87f6dd67d3bdf6dc6783b3a3fbacf636f49b744f27ec13f14c22da87221ecb1382dc19cd15224f6f662c666ccaea6b1ecebe1006d88725880990091f9123f9a89d2ced5f1f77c25dc7ed388cadb586dca9be9f1cacb5d6caed70274e873b71274e87dba95c5c443c5288884774e5eab54e114e90a7df252dff9ee28cfc5b45be491aa63e6e4296378b2cef106cc4a83dfdb0257b1f00da867b4da237404c804c11a779a2d07a7880956489633df58478121521b955b44b92ab734ff94ae171aa6d68d130dcc9c12332a6db416599a441f97d6128010d88205222855aea2453a9547791f4cc0441d629820bb2c4292e49c36c914f0e83b568f088cdff7e221edc75a21e87f12be2e9443d573369a67b3d518f8847c444c423e2113111f55c1a68e8765e505f27c910ac2822082d758525c2a64596afa5409ae3cf188c92626e1b31d3ff7a59190ffa3534f890b4ef2c07ed03e5e879b0b576244b995bc90bbcb0b28e211d5de468262543aab85ca89ea03298081dd3bd7cec44c7384a8ea4854296988b2c3fc45a64190ab1095fd17d9a498ee473d66adbd69d34948ce99074576419ba1fea434539c486908e2e8874aede06f623fb470fc366dc7be05cc50e9b3f7be05cdd6822cbf73a069b7a24bfbb24dda941f94d43eeda493e360245bef7fdef5feee11c07b1c9fab0119ce330fe49ff700e36499c8365b995706109397e3530180c06bb559d1e63a5623b0016bd98add721f1ba2ada2549a773f2af3bb54b0a1bf1980e6535b6ebaf1b376e6434a1bf6a6c1976bd8c2272b6806a880cd2f2f55ac9149cc85b6e2b883841be7ecb5606abb16d2f137a998c2674758a60233e921f93e330da576f1de6e4abedafcac3399b874dd587d8848d3828ef295493ad6e30f45d4d8b1ec9974940cc5aaa5de4c7196ce13de190d888c3f0806113ce79c968b6cdfa8a68ff920181917056167079c0f2d5f9664cd6f247ae5e3ec89b0dde2fc4deb20998b9879a5c7d4ca68099ab6f07ecabcf300cc3b097c914807d984c66ed5b3bd8af5edab7be7bed77beff62af175f321c3adbb7215380fdba6b43784f59ded3d571989d2c3b1d07e5dbc868e2d79d66b0553f3fec4e37604e83001c58d350fcef4e32464b75a72c3fde1a68a92c5f3b226364a9472619e3d83553964daec8d8d4366a96b9954ce194bb0990d1c40c0716499f633d0dd9426c3a65cc3dcfdd395a5aa9d8426cc25dbd22f4bb229681b42d74c2758dd2292a5545013dcf04a202916ee514522099c8215d90238774815c422a9123470e1004650cbc47eb78eb34d6bea45695cee93bd2657c2736be07d8f19d6869d0d363cb1b9ccef9d3e323012b6dad5bad9fb649f96d9ad758d17a0394518ad1eff921a54d2badefdf352bcc1262697037996b2bdfb1d657cd50e794d477e6265bb2f5d76c4bbf3e807eb6bed517bb97c6822d7eac94520d86dada35dea01fce39651cec9f73ce497190a37e6b31a6d45a7dca30f7868c65ddebbaf75ed7eaf799ebf18b34ac576bab97395b1c6c4a294b8c8d6fadd6faab5ad6fea0b9565b3dd2b035a399d3c2b929951e252804a27e356cced55a7bbf7a2dcbb2bef05ef7de5b2b5bd90e2912ce01403918849af7de7b2f080402e5581f8a78acbb82cdafd3f85cd99bbd5f81731fbf828fc3dc230ecacfc28bbaa776b9a17630d69a04aa977461ca9a17bbaf49348c0ca24159c2e1129b21ceabc1523d3b24fa5707aa1de25bda159a0f324ffb8106040d0b6d4743d5d00742ee60e7080927081d0d4983f2af596be44e9a49dbd172b49c0f13e18e3811340e13fffe28a3b9356b40ccfe851125471ceecdafc22d5ad6c75855ae394a73940632814c8e02752143c93ebfb220930c599eccd62b40be4a504472f5b07c4f7d433abae871b0f34bf45ac15cfbfd38bc4bc26193835d9286c14cd4d89a142389ca609b1f77c441f7382eb82e382f38265c131e26b6c8d7770f84a4e91049dc498e24e9f276d0efbe9a1b92d8c0870432499ccd7d85078702713b229e0f453cf1eb90cc0f41262d0931ce78e96485231a1838a78b50eba9b556000000478c8bf6244437827f9131c1bf70cbc23fbc282f02588197b644b34253a2e9b48b7c2d89568586443b9d6854b4cb8a8ad60319291a0f62a068536852683bd074706947ac96030d07ed7202d2a208651a14da0db4272acd89aae5684db866030d4733a2993cbec79ad90fe760937ba9542aa5802487f4a8330d4a4803e02467a621b162d13f9cd336ae0e9104325d9aa799e4688587f6dc731fe80828471a09b91377caaedf2fcaec7ee5f998451cab194d0e41685c249522b02d81841cef0ab6504bc5af48f7d94b005805036c27b2a47864111d475caa5de49582e3b46850ca50af14f78873dc4eadd3bb52dc2335b64a8b21703ddd0e174d3297cadd928ec139f28a7eda45b405fb613784fc1f3095b2fc20478670a9d1eff56ae4972ed52e1d2a89dc325fd3eb9f7cd5a8493428dfb9b08518e31842b28c4144968fa5d0384608362f6421cbc741e8180e7fb12de108519c386cc4419ceaa0f091fc297674505d2acb8ac416824c9596d2b6981feb87f12b9c33b1697edd4eadbebeacaa2a6aa9e961231f4130ec76341e9029c4508878443c221e01e8184162dbbec676530eca8865778bcdb3f93259f98b6a9d2634c932b41436f9382843b085990964ad088c28aa82e8478ab2d02a53a8b00fb727f4157571e2a393ec2faf23789d846acdb0aaba40d9de6ce529bfab17bd937c516c7a327bf442d9a3f597c6307478b4b81357712732be6fcf9db89d6dcb291348890631d1a0261a748306e5a061a4685092062d691bd8aceeb784e00cb926518968dfb843b5581ecb4a8ca611bf265189384ca8c1f8b2db39a18fc33b522ab3743b32d52eedd2c375bff232b638037af9d862287c8a2c4f62680a564149c12a281dc752439ce1be7f8686a9bee96fb849c7c43b2fb8681af2354fe445d89d3a27f9d8ba5dbc0c0291d49de468e7888d7e9122da833ac778f958627f625d2db571aff2a13c61bb8fdbe17a32c763ddbfe4925004b6eab91dc9c33109b99eace97328cd5bd9415f7bedabd19e7e359788133b2420aa1e128ef5404857c48ad0cfe2a7432489443dd894926004c17591254f1439e498649943ae27cb13b7c3f170a92c6badb5568f454888598464c9424411b224c286c47ad4443e59bec4d9c27bcaeeeeee44b6ab24fa09af8f0e13b9f7deeb4ee33474a70e49a7a4aba2d3f9b0034296a10f65c09c7c382386fb441af243959338234bf1ca61779ad14c914677aa2cec3ed2bfd04b96668aa02f746c24d2c0366817f94d3428ad7772f2980a184f01632960dce404e328600c06c650c0b82784f113328c9d80f1171763268fbdc0b80b8cb9c098e7c2b8091833c1c27809186f812941bb92d02ea01c62ac45bb64378565d12e578504ab1ea15d424cb3c4c2a53b0c5a094a081471663a8855466c115b1867dfc2791c26f4806692434f339a105e228ee43f91b38323595691e56325daa5d65a6bad5f1f2bd173ce1892c7035939be158a7194451a9bd791c6c90c2bf10ed1b6d0522e5dc6a5601a66751f14ea8813d0703740a5c1963dfe94effc13f1701c576bad35861838f709b7d8e22859aa8e1a3245caf14a7c1b9c1ddcd3b7c1b1d1be5e896fc33d7d1bee5722fdee796822d8422d358bd8422df56235a9b698bbe73ed452524b457a2bbf5e3f6b61362e1514692ddb711f3d9935278075eb19e0f475063b0e73c9f8ddaade3892ad7773f4bc0447e4b602053e3926b715437491b129cef44f1039669943ac83dec8b3ad180249b69e4aee8ca6a2608b73aee440b52b78e69c5701ae8e8fe4872db7baa7784fa75a6fd5a7b611ab3bdfbd663a6cd66e14ba9756eb90342ad5363ccb229657847ef556f15550523c78861b72ffe71266267924cb136c13894dfbf027f2f9928c4a837c8f2fca68a2f34814ca758c0046eeac01ed458e4d620f3675a71505d0ec4fb37f110b3e36a4a38b9d4c73d89dba4e27b776c48819c4cefc6b6cd3b1c9c18a31ee30c618638cffb5543cc2636e54bef36e3a15efa6f3ba47f16e847821a9bc10322494ff3e15eb51bcfb178d16e7413ce1b4122434913dd32192e8838c38c893439c43bf0099380e94e330f1824cdcc9c15a6bada01c9009640464029940464039dfc7712093a31c0542394cf51af59ac492638b3ec838073b11bf101fc13a386124b80afc04c601de01ee41963247cebbe11ec5dd7d4e216448384582c890b847f16e8240401861702fc40b2988180609a748901712f72ddfe2194df6d23a61709183903e3337e47e2f801bc151b8ca8c44bf5fd14d9bd1a50acad72f8cf3fd133199186f1b36c9d1fc443d221e51672607b31cf7ea99c92797e56439992933e2a0f4c7e1992933e230392d2dd33f8e3b899a945c2709c8e4dd262796b1cff6ef8fc72ec89797a5e4052ab0624812eac953a9542a9130a5af7d5fcdf3f81426381104144a2512fd6a70421e33aa204202c10d37271210520814897e915247a29f137129048a34d222b535e9869b1309e5556466aa2050b644dbf0016737e8989b654d340c28cba4c872036559966d2c415886709813fbe167032d1e40c34ab48dfa32b401d9ff7ea5c4d66534d7c6e8c4b464481a39e3d6f9a88565eb300c036146944a793ec594b0c5af94d8e2bb0f559ed4fea8b2fc128d5189f5d685ca568cf1e69631383a44927b4a4e29ab3c1d26ca9aa7c32420669a511308153573fff45fb3547fb0f998251f9488b085b654fd486bade75992237f59afd8a8a41e96ba37661b5affb042fd802961ab50750a9af9514e0554a8cc4385c2b22c621fb355ddd9ac67212df993e52c2dd9a495cad2425599a900fba2904c1f53c2e64f7fb0d9cfbc76306e3216b67f5d3d8a7fbf3be6a547f1ad9f190df651625ef597176e8df231db8787f6a975e638e52765924abb5632b60d1d9dc14a2d36edcce895e954ee46cdf0827939c851fc2b1c80b5df32022dad1e946919dd006796f52dcff305aab7f3b5b586b893dd5f061000b05de257f6ed472bfbd67e1528a3a1b4525ad9b7f6b330db271919adba40b08a3160372dcd0dca519c32a3a9d5d60ad21c41b0cab1dba5e9acd7bd9d9e31c2c4e895c565a58f6b0867f8ae947fb1c576276cd513b650c63fc69e130b44582cad33582a305eb45a163b8356cb62ed8c4affa25d6945ab65b1764655bfc5aabedbacc5334f19584613638cdf5996b74d231de6ad0ab6e9a075f5246211a1faeaad293fb68371ce9ad160d88c1ed3f209b4cafd7dbde585385b33cbb97512241ff4d10b718ea0af860d03611886f5f5314b80f5b67a0bf380b37d6bbf2235fb80c0241c3aa945efbcaa4bf95726a784b19bb54874b95f26a9c24f7e906ca19521d4690beddc76a8a0da0e14950594fb650fdae377759c9171c6b3bfc71909e32f79b0d14ce9d54823c69998fde5149b8f99ddca0d4bfcfd528a2db4d8b777bb6152fe05c2369fdfbc2c592daf5a6f81f0b3b446f12fcff2a2a49efd7ca0f7b9f9d18bb97a31877ed05c85321dd5579fa4f59b1eb3d51d6ce1ccb07618aa83997b3bb2855393ff20f82273e03366c362681b74a6230d9797f4688e1ea8a3730ced22e3166762d3989fe7879eaf19c339f315c2fa3ac15ac66c7224addc240edaea6b8558e76e6cc84d00fbe1e8db7a19c576df6db51bbeeed96003013caf9ae1d771a66ae9e875cccb917f287a7d92516c5629d7f70b660fbd640f65ac93a5c50a564004112a50410a5280021444215188758465040d0d0d0e0e0e0e0e0e0e0e0e0ece57d69a1fb1297a3048810bd9f23c3736326f75ad20a2e7feaf5f364c8a4a44f6609f93b51b3ec18cc729f80a9ce299f139a1832320aa39160eca9f26d8eec7f7c730d89f2c4d3edf8718e53deea9f0cef779d6fe876778dac3e0d14ff1bac71e774f4d8221e748c627d2a5997cb2fc1fcd241de5a9fbf2e30d1de59ef294a3b04061917277f71825ca7d503264ddcb7da5b07fcd2136954779aba54620331ff17da2bcc76f65aaa07c7d1e1983adbdbc1c6e6ebad7fe867b9a57e69783cab7125fe58190b457f91ddaab7c3538f16bbad73e7e3be8a33cca57c3d9a07cf736f839fc36dda3bc0df718e5bbdf819f43f9ee79e02762b3c1b15179ed6d529e0eb1a5bc8df62a6f433fe5e30e95d77e47ca5395d79e47cad32bfe8b3eb4333edc607819f35f27eab1333e9f2cff435101f315a3babec20160863bb1645797b1d0778ff6c95667b17af5aff2361e64cc8bf9fa67c1fbc721db759d6434737af724c3a1f3114fb0766297274f57e7b64fad5a6cf555f5d5cb0b7bb40676a80f3a39097d7953d9505ee50150bd8ffa3ee6fb75af2140024e8904c4352245c289222f6e84a287aa0ba5520ff20b256c3262852dec4ead630412b992a194e7ca7c1d29262f45e8e3709fb20a2d7eabf7d1c30fa5fae1b780b9bd871af7aee7c3bfbad6fba8befe35e30f9c7f6c192ff1c3829154139d28957848406023f021e1f8875be64ed2eaa0af48bde469a4c966ba6a11ee4b625b894282e410142447228454357e31c6b7a21e114f93adfa50e41fbeb13c194ab9f2b652697ae14b9ed3bd3087ec1fe57df72e8d7bea697f59af087d1113cf221e87b92226b80a5ba899ac8d43bc4844896d8855840dbe54ca2943c89d15b1b58d7b6a172d3ae622c138946bf438177c913b4b40fcf938dce3e73fabb7125f870c9afca079257ed844ba32d842473d66adc41c286428e5eb49236c20896c1966595e1f39129fe6f8459d930ecee9862c7bb7900c9a124328c32ecb759c7723559ef36e3815ef86e3525e0819127e8c670aaefe0ac0c90f4942004e3018a282423e11009744860c01602026ba538fe4f7922c63443c3fc8f22f912d14f11ca1859010e6cafc12e0797aca6198784c4b0e86c2615a070922594e2121463121cb1ce29c8cc81379ba671d5ea014d05fe422419e84f238fc0297807e973421cbdb232e946197bd55c77156e7dd745dd775bfb22262e231287f4243271976d95b591c00ac0f22a65c2d578a79c456c5ffbe278c5279f7de0fb1e96a29cbaa704c89291e03ad2cc8fdd74df3e42d50912f70be600bb51c5387a4bb8208596631954072b3b8a8bcd32e750827e2715046114f25438688e330145a4a4b695a7411faf16334817e3d0970ea459492ebf911dac5f25a670b38c89537f325039bd9146c169f2c3918567fed87f7de0f65e9be639383d7de7bef77594f0691a51b59aade7a4b96e48d0ce22c5e7d38277e96af6d91b3fd7f3ea20e9363c141a9a5640463f3af3ef7f11f87f12ff4afc2eaef47cf47ac7caa8fb2e46065555575ffb23cff711fc7c27d96e8830587f959893208912dac55f034a1cea092e00a30b8c832d722b650c473b70d631f07b993888b8ee190f4a86df8873814baa776e14efed516aceae016d9426cd2be9f0680491039fcb02587a011bace284e0046e8b4c7e16e0426b0a9b3d5a57dce8b9d5703da419221241a77f0af47e804a15ca8f42d1536450b15cd0000000000a314002020100a8743c2018958aaa831f70114000d75864c78582109844112a3280aa210428010000800041843101a1a1a2200205008ccfcb46c76510048f795c00929d0212832dbdfd03cedcf675ab2e9d0b10685ee81ffcfc8f8846df76f1bc388e3c02f106ecfb93ac6b5854de0dee7a76361c319b46afa4ab45df6a4c5fe634f3cbe3775ae0db546da55cbb3ce4a946235d6067b32e173d83c06e6be81ae97f9d7a5e3a4ea8ec8901d9b3799ef64d9dc3368410ec4b58cf3158f8cf5b69b0f7d519ad7db159cc914c300cd34cac3e5f6babc1ce11f835c21be7f5083073c87bddf599299bb8d32f7179ac08b8ff6be82f39269209bd4a5b019c849945bd511c030b78b98bbaf4038cb1d0180756175403872533ceb65047eeed6798aabf57fb3b88e9d2109c212ce58d1b7b769ac702bb9a3655245b65c15b30883f58d546e030253229442a8e2c422d7f6072b3d472023a6529a7a2b921f7ae69f9485393018287a6a68e980ff0500fd8093efeb986726183a4ab8527c3f8947143c897b5ea7c1c41bf45560fe7f58b0263494efa630732aa1b43f47771acc4e6abfc4d671e94c655b722f6bac71a0eda06e9548d3bf2fb9bcf53e8a1350354239d6545ecdc77251d6d06803b6aae9abc3e82a559ba5f9108d90b0ff6e5cbe0a22115095e4e32a5692871706545db83c4c5867c636d4630e47305d243c393ca4f3e61363f7885ee1140ea0d7a32f586a6e9f623f73a4a29b0d8028c1b7f1cf4638ff2baee08f2c0804828cc4d2f58af1e23425c4b3af3524cdd0391856f3634c31ab97c4c06b731537245ab7744555934a143117697bdfe961f37c2b4e7c2d9ce00aaf7795d559ad9521bc0b90a537610853ee14ef2360417f3f379f1fd50bb56b30cd0294609b2cfef9e9c01f2123320172eb0f4debeac393165ed1fb4a4c5864aeb8fd785911d5ce581b715521665beb05cbbed793a8b0fc690513678fb05a3c89e8b1320e74c95b86f15cd2b291e8a09022de3386d04b45cf588dc2b0566dcfaf88695bd0a359c4244ec4db3c9a241dc9c4efc643a0bbfad0a874d1c6b5cedc90a9d9f4b4f885def337da74365d90091107d2f56505fb570bf0f94e4104b685d9fc6497ee3a32f1faa7baa9556ae0a0559772f014a038fa14143bace491a0351e762fc2be8228728b69a883357bf3e49271c57f26c9871a6ebd0767211a6d9be8ff7d3b4c2496230dbda63cbb85675788ea1035a31fa05d1399af6967394c91ac14def532935f1dc6ee9890ed612c2b05b5246584d84a3f775802a34d2d89854e033170d7b432dd1dd9e3ae389ea57eb070e1b84353b85304199c6bb88e4783ba7720d14bfefaab2ee284f214546cfd9a70f65f2f58950f7883a1a5281a5fea59a41c9a64fd19254ae0abb44c3dab3768420a53db977e9de7b3217854d57917b04611dd828a8e0ea1ec3dc0c08d53b5dda7be263c2febaf6fd7596748eed80e92e9b1904546b35c575d1b1c8647213b9807ba64a4d5f9f619284b8439cd751057591bc338f991da3b7aa5f23e93562b03d182dea0322469ce1f342cfdd760f2d080b3ee6d25fbc1d7244f2321686172a9346172a0f6d82394171fe45ecd7356a6c680cefb14895716437404abbf470812fd2eefcfb7a6a7e4a8b17d259139ab1033242d5431a8170e3b224945bbf53f46d434a041c0be889d9643e055bf936079c9862182c0161a58314f2888270f04b96181049dd70144978976a252c8bafac83ec01f3009b9eebf0ab5f8b23b6842bbe2fe28cc5cbc08672f5f32430c4e088e1cbc950c30666e0ac34e545b8be8b32a0cbfd0415858789484150589a200b89d23a660fa7145098931233fc1998305017b0672ac30a88b71026817e824d4da2bd01e17d4a4c431d67e06c45d2bc158ae9650150f7a4abd946f64863423dd9aafec2a344fe5645c6101861a5e7bcb68d18cffa832d08f95c0e405238f9db7800b98c55fdb10ac8daf3c49be31c04cbf74b99f1defaa62cb773d81252a4e58bd3e7b1ff2f179326718a927ec13a94575d99f5919466793f0157fd059b52087e8d4e8adc55c9cec563cb859d5d869af68d7503b8de80893b5a197ede7ffa8c155704ca055c28f5d3772106fc2bab47d85c8e000f957999f4b36a6c34c505e620793c1001178dacc7a4377c7b299c7f9591d86d52530f99465730112398b98d64b49bf93b8d45472c3f9798a1f549a58f32437eb052c96087a1ecad434c0d3442ed509fc2787f96cdc98780d86978d80acd9fae3e2c0514995f992dbbd07d284e4e65bd7ead6d6a78179a649e4f9d023de387d361b4e6f7ea263bc21320284c18d927dce76d66300328ba4bdf9b67a26b7dff912614127fa622fb0f6b2d6248d5342e8e2dd8d835abed8bbed2d9e337b3e10ca88fb49c0b88e3e6708853bef67ded984a4e3787d7e49361f0d23d180f0fb401ff3c3ca9e5be8c88155144c7fc404d6d0cda78a9651b16c7157da07c4542868477a0454ae2098e424e9f34331ccb0a426e697199cfe312deb03c877dda0fa01c2508e2034696190cc86562377ab48c2f54dc76f52e7ca1391b337f374e47310a4212304c9e43600f048ec4cb77a8a072d8b560a1b95a6807538554dbf74d626fd006d42c8169117f6ffd392970b72ce1095f1381beee21c3e9b73ad7226a2e9470a98c474d43a95542a46ee6b35d1f360c2b34e56d693f0d8338adcca7c600263b3375c8721bde3cc965d245d5496aefe8b66556b10dd95a2f8d4ee05856379ea4dd98199615778d99fa97b1e3495214fbafa2cc959299f114dbbb604233f21cea0763c6f8175045711a54c517a2b1a1bea43d642a151a864beb7405be2c44b6e978d95b231fa5863b975c7e826eeae265039269cce25ec923815acdde439377467e5a4935b177597c10e041952422c4a192f6eaf4b4476d2467f86751b82599185487137ac85c7fb1a108313a84ce736258e8a4217098b8a654977109755e8867a56ab5eaca0fcbd8553a3440afec25e273bad68a92ede0bc84bd95e6fdcbf9c4f8ed4b0640dba8f2d0779a3a408d62f963fe529907a73befc8f7cbf31b5fadba9b974d7cce519718900849fd0e5eaeb0970501fd18098ab9304b2b179d7b0b880322fa39f94561e662ffd2608ab625b818f91de5ff8560595a03ce8e4603cf0555c2663fca23807f7085fd826bcff4595dcda115759933486bdde016bbc6dae4f50d27f58130f8534b92c2068afe8ae0436604c100c7320fa3258cccee300a3aa40c2f6340ced8333f089d4397dffb7acb379788c5bc29872f46a081b1c4e119ff1a3e05e044a0293ec91ae1c39f3783470b56aff10ab11510f69073bc2f4449f18658b9500ad5e32080372ad45f3a31079fa971313597dc48085a15b7da1a6ca26b44f91156ce668dfcbf12c69932a396196d08d88b8a0e3cafcf4e66531e983f4bf4ff7aa6db18133013ec621169e8c067678dfe72f2e4e20a8969adfe81b6237456f10f47cacbd584136522d754b4e42f367f5919cbff124063e305201d83f6f7139ae29c69003d700e20f3775f2c3d348353dd30a1daee53422230e9f42b1c7090165bdcdc3254a58d1ca0bb4192bd0f70c751d77a290a79b088f6f795ee4b207fe6ccf5c506e8248e5b2c7932ff4d9dd48169595d259eeae38d12dcc26b0f8b4745672c31b1cccbb4413b86103ba4ab381ac26da3a55a2dc1be6efa998685d931a6d2133b77e0e2945b852169bd76fc90cc4368504858d386b080bd35d7de4976f09489bdfd934ec42d17e9470ea26f779fd633d1eeaa6e51ee0c044ebac7fa953ffb64efdf73afbb75a2524cd5daa755c29263159be5d6f5ad08f2ae72f3f18d27cd95a7bee13f5aa65beac54862efaf6126f6017b7a5220af0c61f6c4fc546a041e8b7803003b62e5c4c28b8a4fe3726ad39d9ca0f766cbb6d2581b64d3078a32f3e7c81913c6eb1112c36293a4b21bc919cc491d10fbb6e14d11bbb742b45d959e51170f0d1a5336a4284ab6f3c493d241950becab59bb5e355cd56694020422b51e0caf138ec78a2c5de7d47a5bf4635a49687f7153a9ee5edec31e26fd9d0e9037400fcbc1cfddc204f9f5f7f0c39ee32744e085c4a994bd34c78c0805bdb6d6d8c24671c701fd8dde6d619b5e1ebbeb82fad28103e5934445198c11b2367d251ee7819f0d9903fb279dc6c0bc9d7bfdcfd2a0ea408dcf06263d8d6357373ce5dc607e9dfe92a07e7cd1611642e8f6f3b8d7034797cfdf6531f1ca59238c5708b48f4952a60a90cfac4c048ec545f672a309f9197cb3870b84edd274a0d3b1cd03c7d3403cb4fc836fc93b02eb711b396709df48f4589a267423a155ce91158beac4f9fd65fc9cc11a4f28ba71a44df18b83b0c86209b5ac7e299de03e2142218073385d2b559d8fa80c2f1c5950eb31728f259ecc3ef4948de606a71d9c3e7608965427c7385e793101ff897a07e16b322813e8dc4d53113022387fcc375ba2cc61c8e82b00690df57781ac6db4597b190573d0d6bd89eeb7f9e5dcb4dc6c225e9327230730be8591614b8724ba9efeaffc6eb0895f46ffe464581042078c57f08af3c9864ba0dc378a1dbd84587db6e8c2431cf42206c222e2b46350015c05fe30993eb7cd1ae154a2430b169561cfb381dc1480950591b0bd0264511b28a26b0af1ca9acbafa2b02de5ddf6fb98974b2d785cffb98982db84db1acce6105c568e818303b50d0c01b08bf842662b28bc60769155b9762829e8dc7ea7459715ab266fc01ec1324c6ff52803e5d203270fef1814308495a62c22ac93736bc53993b9fcff423f7402e40a72f299d5f8b6f8ec69db43b1391f1fedf7957f64a2c0a695ad629697b314c7c1cfcf49b58a885cb0b0b7057b38757a3f4a7331f1d21838b8cffabb272077527482cb769e14db76bcd88d3881d43aec5afc3be2c7ee46ff3bfaf0a3ae22cce3770a6881d8003c501de5a92ae3953b0dd76dc315787e15729899df04f8f980ca065fae88284fc5e32eb01013956def2c7bfb0fcac4efefd1f061cbe40f8af7da80a01d68c60009c170b03c12d80f1f809477476700b17583d44581c5b5c92497443b8a05b668944d220ce7225396651ae8254edb05420d55275af214a03803960033ac22a28e656e326edb0114430ec6f16c2214575098f215064d84717d2bc51a44f853efea604918788c82fc334ccc850be6befc0745d09810384bdf341047e808f8e8f99155587ebba18c692cbac4b137bf500c4f1fbf391639fccdf52a0c555db53f9bf536dda42903d5fd05c24e766c459795f2d9a7e9ff551777df6287c3c86ac41b218406857bed974b341952e0692c8d0d627dcb77ac28ce6547b734ccccdba5ad7d486f932c30bf0bb42f97cd534f8e1d997e71ee6d1308e361437ec5202fad63b6901b3c3eee15ef46e3710167b93de6e0deb0150c2bd71c651bbcedc5022753e941c89048f306ce03880d721ad4d20c1d6ba505f936d1a696baf573648eb766bdf0a2141af1d4e55f34f46c2fe1b3b101d0f9cf8595b65b7cb3a02bb8d13dd16b93b738f0a8a4e4d706b63542897e3a8f74b0f0131133aedb93caaa3dac1f3a93c5c360ebda1dd671b89af8f97c4271c8d3018defdb78b34edb6130986563a23167e22a375b1052c153ebd0e69470208ef92c651f9277f3144120707450bf4f96e08167838df84ce5d8a3f0da545c5f8205df9c3840a7b73c53992bc1a71c6eb4ab76027aeae162a83115203bd5189c3b56fd9c6660408828acfe846b81907245fbd75bd32a3b18a6bfddf269f8927dadd9549f34ef2d00fe0ccba8715ed7cc87378c18fce37646ca484911883234393f8a84070293e178db7a0636ad2fd6343c0cf22560b28341bcf72580c066833e20c4973edbcdf9dfd958f5934c73537167f25d36bc2ae8f71a1dddf3a77ccc10a506d971afa4d3d53c05d22df3750693d30a4613145fa0f8b60cb2e2399d7dba75cfc7ccde0a150fcabc2923e368cbec2126c8d012212692b81b89cec35b8be887e75363d50d249f84e7f92cddc1e5f897af6730e55304eeee0c27c8261a7aa62de853a67f3e7f5248edc29810e73c4c436f33f5f4aafffab429c6a8c35a5266510e0245eda8e2f0680f234cb157227c2ebb8b331c6410e6f57b56027075c5301b8f90b4ccdcaec8661898fb5a7cadce2ba5ac6a755f8538081cccb60ae45cf4155c0cdafe0716214d6f99fa8352d1149057f3482485336aa2f78d5fbf0938cf8f4ed5e965ff35edf75f3c92c384006299ec6d5b549e66e80441e1f6d07ea4038a43d66d4de2cac4f12ee4ba2099f10c0166f64c4cd053cc7f076df5a43c8d5fb3a5ae6b41d72506f39dc53dca40d7ca543d738d74619f2a52726ca5311ab8325ae0604a55c8459880ad07da89952e9d75c625bd0f86817fd77eb072b9cd3077357d9c2516e5456c0099c022c85b5a4101e164b047bb40a4fe3b817b6dd7d48a6941745ee8b24fe8e49ee5809aa0dfc0d449890af60431a3e5078a624dd667fcd702520862a1619ce9b7bfa83c4b95bbdb192e683ece2fc48d06458f0c88017dbd9d34222970bdabc30dfbf68503460e105840a8cb07ddc2fd446d5a3f14a7a0a1153eda18d9d9347b38c52657bb71cc68d1ecaf69f7fd3abb1aab6122da5787e848587a622a463b75c6825ac7db17d2cc30619b8bca983f4f12dff4357be42a908347e246c3faf9c468b7d8d69569d823b4cf68a4edb83d64c86f08515bb9210c5a96a21957cf01419c77344e119ff1c2910ab355c48816c928277412056f85bdace334743b1083fe977ab518188fc5528c0bf38f4ff24af769a1770cde52e1b97822f62917e8cdc1fc50af72bacdaa3b0f01bb44f76901d09e0eaf169d88c3e1ef7edc1d17891ced9968658359ee354781e88bb861c72245207647cd65f2376ee8695e031f49098591e5a0f4dfc5bf4dea99d6b28ea53e7e14be20254dc5ab03ef5c4ad76eb89b54266884556be9b9827112262a80f56c6bce34d402a72ba6fc01d4ea3666b6b8f966e15819c50607eec80d8413729c2e290302f0db5bada0a8e315db1b0159b9edec4b75b04fabbdc91213bfa7f8573b44892c737ace88796381e0c5448e0ae65370a5e2fb14c7bbd35481c2e7c089a4f1bb728f82f24951c43f231c053a2c1d752a16637a6e6b3093fc1597209d1ff597f6d42f71b35c30f40274968ce3730916ef0c5a6630ab54be06dc0bf0127027b7a14e8c5d1192367240129e971be9a3d404f0715620bd84bf5e27b4ad94f85766351eef8d03ab1cba1833985cd7b4838f7a06e2e06eaf1ca1168e2994548f1e8285c26c6cb3b5a0c2ce26df731355fda320d807dcffe49ce41bb87e242c5efaaf99fc4a459a277d9417157f2ef8132bae259639b2ee2e3d90f91769f3629501aeadc2bbc20580d6563e706d60d890953b851284a5a5f2e4f1c8fa136e3d2e48feb5d1fa539b46c4e1ecf72d5a7309192fb0b8c0e97f446b6f53e4906cc800a7c42bd09642d4facb3825b262d44414049a70db078a3252b1000a8e76491ac9372d1e05c5cea3ecff9375a15a59f35f3c6e8e41965eba276d6298e188d1b8de4bfb40a7626359dc10c4c89f60a32a99fecd071e680f19012466ebcce09e69641004acda48fc5acac23b576cf7e6007528514fa7ae58df0e0f69c6dde6dbdfb23c4cfbc4dd61b6d0b214dfd6ceb8cc2ffa29b36df1053239970f59ca5404a3ad3a0c198cf9e77e8d32f045670d0dae642d4c41f4f28c51a002ea84152d37e10bd7204b440dacf3f084e97662bc0f34f36d246c207f00dc69cd99995b6e53ff5c8a43e7ce9bcc7d42e0945ad458c10e78f89843d9ee1e40f55fb4883a95a0101c5cfd05b018944f99b9b07e820d3f28cb1497ea963658d5086c2ca94c2b3d6ae0603009ef64bb330796d19bb460d77ee886c874bacd0215124bc64bf683c9689d0685c4cd089bd873369b6cd4432f940c94d31f7930faf1918ee4575f2269f935409a9ee51df0aea8444c0d94135ee47acaf438ec82ed5c146c7c9b431acda7abcfebca6bdc8f94aae84fd816f202b2176202e9d38cd64908e74bcaaedee50ebf4961700fdc2ba61c56c000576bb73f3ef7c310003124a9515ec8c79d9ec0c79941e9a5e76c55f65970486d7ec2c10e2cf5b842d48c93847f5626584195cd0c6678124088bc9a37a4ccdb7670a2f9b88cc0174a5ab35b4fe8bdcba1542a402f5f03334eaf5fc6e5eae016287af008d132eb504d4860a6da539fb4f62b7d7a51f4dfc27758b0e20165d6a2a0e70e200f5ccfef906d4c8a31f868c905531a363bd80f2969106aa60cd7c48090f1398f9be07359aa1e2271173fb6397a56694d04e7e506a0e45082ea6cd84dc7129120f962ff85598e67d3cbf49e8289708246dc39a9a10c0862a58c05b11eb1d5b1ea14354e03230f5af0ef07f8ec44ce32c506932821f5417062195df1750082ca6311341fed306800ee7c6557ecb8e6ffece34d248787c5a2664026fa6682fd7568da4c84792eafff19cc1fd4a3dcdb905ff9036357d2dc6a3e172d3bad91768e26d43c2a65fa9eb96fc03eff6596d78a1c1957e9270e747030ed248260546f92c3fc06c8abf472f6341054946490d43eb16125bf1c76c103d7ab9399f35bca2d14150fa0e4049223ecccd209eb664e963b0a4ecc4042ffecd66d14c9292761f93218c985fc343b523c688d06b09d10bd0a996d9c3e3d2adaa5ae03a433194efe7a7cc0db78608ff8f07e7c51dae01c00c392b47474bae3d6f45901902f6875c7e44844fd14bacec69e5ded5197f6709053a90ad3058700ec4e808d31b2596fa4cf23d0ae8982026376256f52887174abb90b6fa5840533e3d44e801f22341489051813c95840876b70e6e1c7f7284936734eaa6b9687479d86f23969792ef1150c80dd23d200e4f9177c219372f00e689d3ea96fad11e411c81ccbc325629f95129208c419a72f18789e933b2420e70fed67221395321eafa3657c971c0a82b86cf2477b781ecf12a957116e6f5cd73f56029e19153bec98b5c269ce9febe950679a8d85e76e416f16d734892747921c244f08b5b59478a5b7d76ccf0915309cafe3e9ae22fd5314be3245425a835827c789fc478af2a7c0033fe6229d6723b34a2014c931646bb4b9a275ab48a62a775dea9593c75a4f9df14d18e674bd2f0ccfddf56d79c7f45e4cf59d01da3c867246adfaafc43340fdea7344521c703a1c5cc635ab5dda7f3116c014b11a00fecc943a4bfc0f0ab045041058b396e21c8bccb7d29307a40f262356db6111fe452a92643229953afe586e53bea454689442b17d8bc10e010862f9b7993eeb813c750eb4dbf017b17cb95ba4f2341cc7cb84f700aa55bdaa4da8a669676f93ccaba529f74f316f87162ff738184a20ba5037c9afa324d10832e68adfd5f9139d9cd5d77ef829294d1892d1a346583101714a17bd7a570bee91c5488f20740eff480a0acb98f3fc3879764ed89f8762033487b95aad2cf86012bb126ac1d6fc7410595e511f1865892fe4e71109f8885d99680b02834ccd3a10522c99a125ec7c1af4050084586f6ce9eee984d52548c3375e95311d596497dbed8cd1a194fea3f7c80d2197465cb009799165580a654b024044021c52176dac4168f46e95d3457b2ee536473dae45b505adff351069bffa08db6d90534b90d421549e495bd8694dff2a88289f0603c730f0647d63f3dd5ca621cc5ab1fd72d7b1f61d254d4fb745a6d6e2bc214ecf252b95b6eaf3ce7b496d1d814f49eb3be3cc7e87e70b0fd11b23b9f384918ea47610f4649e312876c3e80c2cf8e47da0b251d6b58cf0a64deee73283a45f210e6056cbea587df5f29e50b4f9f4b2010a14b1ac777cc63190404720ce0e8a2a1785ca28cfe18b8552f0d23251baa00132dd23bc9fb2d1d3b32dbb4697ac5562967d2c2f978778dd0cebcd330d90465f7a6211645c2c393f9b9159d08dfdef1eb827b51c9ed45b213dafb7b66e070ea9e64df224d52ee7d8a706e67989a8d735b3ba586c566655b6bbe83fbd001b12428c70021b1a8ed87e5ff16786c7c83330dd3e05ac249b1d7008f6ec9d3f59aab8969a55dc95eb0130d204e5a395e259c0917b1ef668b546ff5a5372dbc27eeddd326a73c3eb040d4770b62606d330c7cbe06af67d9e6b848864ef73aefee01c373a10138f38dcea368774d4662cb0c1853171be545ced610e9ecc4a4508cca1b338f858db97f2111fea7b7eb206161fff9ea4a2360ca690c2c56c3fca7526d463489e74cb4f83ca928874b50b05e07c20364358f9ebc2da47ba1ddeb43c4a5005d1d455f22f5a3e10de7490eaf406a57e0b5cda8a65de0dd63e7e64dfa494a81bc2c833a55f8b088a61b289192760390186059fc9432d739fa0c1e85088e6df59f677361bbb0a78cda0d38a87d95c6d8bdc571dbe391cb592c29272f1926edafc3861b872a55326469e7fb986f67cb5a53c51f2392316b12478e8cf7000226572edeb031d910d5e2fbf9d135d054d4db6028a6855af1ae48bdba0783b74a8ecb095e6c73bee1d3b56d7c7d0f7e78192bba0d18f282490dd025b630fcb077ea35fa603c6b07ae4a405cee146d4ccc0467a3372f795d748cda44da25a4d8676edfa725beb0a9aa74116f63153e3d95540f7dc1b78b9f497ceb0a8859b0deaf72720b82180d2d73c3d6099ab411d17667c4a1377a9831be3c1f23be7d533b95c75ecafb9ffb6833c9d433fa42d687b231c689d565a59bb287e55d18103707c405b429b313d0d751c65108655c686c606487de34cbfebc0bc1a0bcb6953ad8602e9a07ce4141de23213bb239dbdaf2d690d9ebc65fb12644fb6579915d78186e8df8b14fd0ba5a88dd78351bf18976b7dbf8da1168e6e1e58772d1c3b28e25f97940244175f28a535dd46ae2c55c4a127d9405965d15f285cc437eafea1f638afc9a402f8e2442e2c25621ae47e8f0feec18d3b95d29b21762a88f622d1d092a122c02f5d1cdd9c730a48ee98363a0be8b100106523c10a394d16befc38e0f1b221509cc24339913999909ebc01154b2874c8835973b1dc8809888e2dc0157d8636d3a88426d54f0f916518b5943864218e67560bfb1e1cb756dd5c4bfdb51556738c4d31ff39a3eaa23fc0390dfbb14d587201f2f23844df3189beb6dbad3746b55ebc9c67b71e366b73bf376b3bc84f4db31d323ffe66d8a580579e8cb0eb68d37d9ea38225cc8b885333b153bb40afda4d01620827f644292ee9c170528356a3730ea7350735cc3edc2cd38744ee23194d4e5e48fbb339d796e37717207c669c71f54f6b47372e55c78caada4d85b893d9b8034e2c93a89be728d0e20b4b9af509e70912119a91cfb40935602cafc50d0a4553da17c7a6a55d54f1a23b0c2539e2601f00f3bf14516a3c2030b3ae1cf905c9ac51026968ad0ab98769e9e9a1c0295d6f7d0c242b21bc36e0a2aa27ae8b222f5606b64430f78e5166c9ffafd5e8bcdd8063b39f1b23baebd01693a1478a1744e8e76c8389e9c9c29c49b93cdb14b76f37407b467f37299e3141f0ead723869b5ca9a3bc5d9d1ebeb3ccbc96b8a97b6b053455735254185af111932d55ea529893a3923c0e1c61321ea27c54d5955297006d6065d31c355d1f64d6a3afdf9bf2caf71c288887dd8d1d7ca8486df44f5638459a0a0709473ce7a411663d40d8427893040ce171ae28c529a7f4688f555bc11986d81bb8283b40dc959bd4a6af010f91d5b80ab71bec91760450072f96020d8d13f08e433696a1e94560f0e3694bdc974688ed1663d7376c605af4a4f1f11f33ee62ff3bc4fcc2e80533491ddb95a0b108b04c36b7ec50bd7504ac15897f3636754bbd3441a142281b78bb357209b3f2279cd587cf17c0d1dd7253f43615dab1d610c9abb4d14e804f51038fb6312c2119340624da57d0e5a2149d1b43432aaef3a7a2a777976a03163a0e373c9d43a63b03c69147c44101adc8103daefe8b2861b3b423f5684453752b4a123af36993e4c0cb21f92097694bffe7aedb322c7ca4da4c51e6dd03424aab8df6c6af2cd8e3dd0e0503a987dfd0fbda203e2f81f6ce66c657adfcc2d3209efaeea59249546353e7e6673c7092deb397ad3eebc052ad50a7b6b5c8a5f48a72102354317ff469e12cb747861adce04baad1d9ddcdeffc824b810456d68aa5c51026fbb19f36e109aa6f2e1bc1ffce42fdbf23928af1c89ad0e5bff5aa2a79120d94567eafcc7670b503192ead85171ad5b4d268322e66e4073351957f4b337e5eff2c0aacdb3870baf6edad662051ec8bcad01817acfbbd2a635819d70bd926d22b2116ac23c2fa8675aa506a08829e408af12e8d343eeaf790aca4734df2db3db4abc534f6e2d73b2b40fea4f56214dbdee3b771d31b12448d25709139832b8a9c8082d35ed8baa39196907380e02a24a94acddbaaf53349979bf0f0895fd81b36864aa520ea8909137042b2be546108818694241bcbedc8d2ff51e63bfd7b120672c26af213dcd712ff043d72ee2893eb850b47ea2dcc57fae0e06c7a0e691e58f080553dea12611d0250080fce5f2f9bcc67c8f07a4668b84d9f925c6e718347c93a1f5950191d7b967c707af0be9c92cca6c1e985bf6fe6e3c6e4c5ac195e6528b166beb5463b7671b0e8f95eda17bd96af4b183331e8a4db3a1f0209b17394cb4c4dd951095ae5a90e8783e152b1e10eee91eef7086a8b6e1e4ca323ffce40b5e2c42a257494541f9e21e0e3f24ef29bc71851e5232c4c07ff74c9ac491e6bbc78264a139d110a7f938e5380ac2b5fb4241fdbfed56a74c9f45f7b74d99e5b6175bc8eb29acb1426e3fa1ec6d45ab8d834d4ed3799255593a2fb8cb9e335791de364d35c0e1ee8409c9a99e8159c7e92354011681f6d00aa84ad86cd81034d95c1721347be3a31ba21e5f4d13dba7d380db8cdf0a0d432b20d565407f646c9572175f82c9f9b1b74d606a4fd14e3d0fc067aaa831d0882fa011dfa8fb6b8bb19b0e128cfa577a104351ff4e7e47ed739cfede9236d2f6fd338f99d4e062785baef06a1e75e4fef497d898634bd16a7a2567c674013b1b4518ba336bd0a7b7b0c769e376059f0c4d412e3370c1bbf4b2f8732bc3791be5bea993a5b80202f6f2071de244fa0359a59f37555c42629318998b965751d3295e82fc087017b7197883c26ab102a2ca3f1fbfca1d36c74e3c4c744a86bf116c2f801a5549f48e62be821c2ec0cf9d8c6657ea3d06c525b21e083864e3f19fa2a36748d1f985bef0d928194673be84a3b1cd3ed872340ee92eaba2ea585b31bca91e7f79b5a5e6b2fe642d75bdaed7142849133cbf6292acbc2e5e7c2793c6ab05a19547aeaa72b317ffc0a2b1a24caf40f02125f15d901ede2e6585f94606b499092056a9e3bb80c2e7ae2460a0563f7a4d71332556b636def7b27a03b63dca17433312ef9a23a4c745cf08343ded6253d17a2120e0d22189ece6b4e2d5eeb7b5861a35eba48a848be95f4eb45466a683a9b90a1b34360c057da9bb6b51bc43591e9313d1422040c8d0dfcaef5b54254baea2a891bb26b9d5c5874dc4471a94bf2a5f69aed28210871fd52ed140eac4c045384d967d0a7bb05d4cc22b98750285c694bfa122b87955734ad75258482844207d8c6e155488c78bc2e195320d21f70485832787d712158c567af3868fc6da965c0098db13e5ebd54a4c06a1608d1850dd7e57f6395f4a940300b0c1ee9a315b6834d1714c47e1cacd99b5a41b75155e03d0103cda0740355b4bc3064dfc67586102267b0c6d1275a9c1a8dedd22c474a9a343bc97b01ff3bc25c2cea5b8d329c75df4e41347bd47e8130fbf5366fe0877c02ff2a5d806a4b17438e8a5c68b05b1f42c37e6609b81b76644a40d5765b16ecda74613b85e56a4b12886a5a3050d2b5d34625f9845c66d60b8b9431dc9d0a77ee96082d3535641c4944bea13e4a15d1109622b55e80ac48f5a67e5d39238ca1ed553d3dfc024dbe21e208139c9d8ac3e586aa5f5ac4f2ab5294104d4a62004b4e16f3d9ba7394b943082a69aa9114720e488722386644235a535a7eca456ccc6ab8d81c589fb2da146b1d39eb16d32cc55c584152df085929824dd82320d5f1c7143742d2883729f54550c1eb0e7f484d83deab40f9723901396203c30c942b374721aba78f30d2cba52bc1aad1183017b52bbfc048e957f6dce71042e35dc1c3078ad50d099e8842c5a421d78c2c0284e2d2d45493e3e713fd7d2e7dfc997bca66f1ab8191702a8991c1ceee2dc07ff6d14674ac6c4e0cef4e5790808be4ac7fc714ed160e9db41463ff022483db4bd48f28aa4419d3fdfcb2f9b4c7264250d0c3a91af1147f127c7ef48c6392730d6e590385524a70701d9173d504087103b04da15c8bce66e952c0b45482aabbd52d929b0ac6d435ea74d360e3c37d0df321869dd2612595a7cdb81bc6cf35c78ef6587108a920349c251df9df655db1b4195706010c257c0a7195aafa16647522ac309889e3689ed8af708d13d329c1ba775b44cdfe5235c41f821c3ae34fcd5518c5fdb8dc50cc905cd9169c91c3c32041aa4bbe78e35886e9f006203f2315578e66b4876d1c58d998c301f63c98fe691ee74f3fb8bb311c2ee7d2277ae54887a32e71bf266baaae003218774264ab01080275979fe3bb8c37829de44c6374d1692f5cf2e13958f85f28371f7b1638905ca6e88ed98181458289730d113c4620fc6757ae3af3a1694d26ba24547a1bd92bf1c2313d5c3c20565971c1949ac15960d5b8358585a5b1ec08a0dc35cf05c56447580d67434a6b46e66179513d9b58d789ecaf6eda9f6176c2ad96242d80b6a010c755a39ec6d2e3787ddbe2713cb199ed513490721911d758c8cc26fc2461bd31df2d4a7faa3342c947174b64d5d371745eafd220dee3bdc05258c0ed601d9c053619292c56724a1062903e1e732609b716eb53ccb888a9614ab5816a9259b8cc14a8a9c9b225e370a4f2e97fd7d0d6b6666af0adf566f322e9a67aefd4e9730d4a5ba5d3104af6ce6f5e0f682b57cdd3fbfdc917f151d7434dcb650026a434234dd7d924e24f908bb0ab5f8fdde1e284f9d17ebdd083a2f0cc59df1e35571dca7fec31e2d339f3f9137d02b6a5e83ff1e9aba1bac27bf259bf2cbbd6ce3b54c904452a90339987b63eef64f43b895b07d4782f317ea05f77fc6aaf918551e58b914c07d83ed3f67793c14000bc70ae2ccd193f45ae2063af6aa6dd351d7217561f5785ec8a35153f83ee9ab0507e5a0edefc155ae7ab89bd6fdd4256a476a585b22e31b58927398c7fb2a50a273b8d08b7e163e8bb816242475a1c38bc90f8105d0d671cd6c2f8205cbc95fe434e7a5f5614cf2f2483bc855da6b1edbf8e2a4e69ce9f281bafec226fbbc83359d71001daef6f595cd96f9fba6b4f17f771ed0f73c66b8ac59c928262806c068aeccf777c07641ca40ab4ebacb4310d9314e567435afaef5d9c821691c5c7406c53389b522dcda643541bc233e2bb2b391384da8ffc446cd150b50f3a2cc7be2362062dd91e3aad67380771f64fa9f089d6a4c844c16d30c6034254078c8cfbe6fd85149930106b5f09485e686d300ca24580da7208f7d9bc4ac98f8884edb59a105642ddbe8e11e6f8830789b2b2541b5eaad2fdc48cad5694916ff0bdd7facf8375d6e9173964704a4724224802e4c7da6f33f8221b86df65dbc1b26aeb3615f9d4a04ac031866fc41252d4f5f997a658717f9162e5a8539b28992ee082633f7a22d4e08c53a519323b8e71cda3214e9d01c63939124a5d0fbce5520a2d1a94c24bd99d54a55263751f6494d84b9e9d58333d27ec421c31bcc44fe556f45e6ba99923d1af1ae2fe07385d9f7a32d3430e352e595bb57e9655251b21e3ab546e3faf5c2be1e4f640a41da541ca153ccd32006689f9503a6359cb615c3613a32bafc32ea19cdc01149a6f2c0a662faffac98eb3a9b026b77ebbd9ef726197e86fc16d10c209b6ee034e810be4e0a272a195bfea2193abf5cef4184c9d91c79839622bb1aae4e144d434cf3ebd8c264bdbac0c67bb9334872d64192b067a84df23ed9748d1b0578868b580429f6e60b018dc15d3bf004795e252fb87783cb430b65f103d7aa9c371f99c28793fe5e6b671da91a3e639acf6b06b72ca396355f8c1e5f23e98ef3bd8ab2e196c243cdf74887c6db08c64bdb89b883114b82edab60d1a4f3732aed9b44e73c447d10d6b57345556e36b5b3521d40dbc35869df93f580aa2536d8ea2529644210900270eb15a058374813308f8e17569b369cec149e3e79401faffea2db721255f501584007ddfaa5414ba449721561c116e4daa646a0849ce60f89a52dd0175c68932aae573433d2de00326b7f25e13d5e3c661b0282c4cfa011cbf74f92b1ed369f7b9dc997320024121404682b0a15da135153a6de66405ff4297b45da94c8cd3fceff6388cb6da6dcdcd9962bf8033f0bc9dfbac70e69001683aa4a5e1d401e0425081bbd5933ebad62e736d93e98dbfdb6f175a6d1bcb506c4b3764b379a7a38089d11bfe9927cc047a899ffdfbd6a0d45220500a9139ef43a3b765c4c39ebeb603004770e8f4aa98f86473662e00894012582acdee1c7a504e40a2d2027b63b531295f50128d592e2bcde442b1a104422dc4d9594249d2d3fd42b0e3344265f71bc843f770b376242eaaf4f934398ade6d8c65cc502d4015e8244105db871a1ae65ce3eedd1cf741f5ef5036446d07d642856ebc0cf6bc3e42dc8dae84565091988a826d43b851156f6da0b0ce5f0add727c4db362a665d6a776407789edd05f359f0c1c18f3e6e026ddee653c2e0623245016362fc76833e71b7362e5c1cfb38adbc9a6dc92f1de3a07a947e335138c0f803b4df03bad823f237ff4b4051fdf6ec1acb5b8f649fef4472fb828e02ab979f623efce43a229b1e7b34cfd4e0f03f366ff7e4cf6c00b674ffac8bc6d4c342c9e54340725d4e9c8cb6aa6bc4a60a68ed825af4ff22ca8d6b2aa18df50f97f74aa1c56eafb4ce8c722d4daf5c63ea36205304a9f6f0576715f09a868a1fe5c9f4ccb0e496b4da3493f423b2a7ba044150a31525753022704edfd49c06d02ed3a27592f009f0b2a4161fe40e297503d206b9412e7158173eff33ff5e36a620820ee03a3035c8cdf67505a54d71292fc1440213163dcfbf0b7837bd60b780ca007efb6f257be2fcfd65b6c0f82cb2314bb04bc95cfd82d2cbe98dd92f34e1cf1a0495067a9ec731fb5dcafea3546ec6d284a1adcdcb4b1d3a7c7d679d93434c65ef009b9ddd8531208ade3eb0561c9a2e974e70b794fe64508d140fbe4a29347fb0ec2317d12b78bac38d59dfa9d8e6f5fe8cfd7400cb0158acdd27f38649d1d99c663fe6e47fc7fb42bf6b810cb013c574bbd4b163f1c440eca704906f94c22a43ef71baf52801443b2658bdc783e6514fdfd5daec8915842bec332cd077aa75fd5a6bc4b27c8d35b6fd2f4ccb1cc5f9de344709cca830fd3fe30f8e8b9d28d00884f27216be31b543efc07cb492bc0833ca998709a901273df17ebdc3b4f64e559b51e6d55e374ca5c9edef5a759655f8c8e30dcd3185645ef9add0a5b586cfe4fe9ecd86313944ee4db63b9e925479e4fb3512529257539065aa7d0289885858133559d43619663586f9c678a696d3bc8ef48b38cfebd0b015d84e12260cbb21901beed8bd708e7a7c027578c96233adeef10614bba6a4419464ffb1aae71344989663ef63822a789e40bbe7f42511f2dc3bdd33222b4da21e1c0f4ebd3a31ad7a4c18f899ec67c68b54c10aece03460797740945c174da53302483b6e09241b7a7748fff1d2fc7910ac3ef8b5be634dbd275d26b293ebcb30ff8368af6d06cf0403b947f3f4895439f0810ebd563e1c10393fe6cba997c9275681872a4550cf06e4911150fbda2e0b3de223b9c30a28a5ad1c7a0e2f612e42e122d2379f602831f0eebb1f11d0a84bfbe83577ac4f5e44eca5c002407e209ba1dd50ae7d6d1c7d1114c83ab146ed00b4077c3217da8b829b3eb66abcded61fb89a2f61f6bf0db6e6a1041c953f4cbf0d6f62d69632853c6d3af1b5133911141ca0847e7e24e91df30756d0338cf9d6e9f02c6de2804775c8028dccbec7b748d5b25dc16a655117497924d6b249499efccb0d020bde70f117a8ee4503f24b8bdc2cbf3b75374883d6660bb910cf80edd282588c1dac07d25dd9e551b4403ca096feaea4bb54dba072b5259d4d98b3d61ac926ee5685150b6627a4d5701c63a407dc4d39529b494e6eaea7bd623b81be505e44c244bb03cc4b80d74ca6069c09bced81eee615af4118aba7556d58a6f307f52b37b21efbbb83a9cc27d0a5c219a52b6fba25814a91a2a75182b0aa6fe769aa841c87b1030f5c441dec3a787af7dc7ca996f2c758fca36a0191aa8322993b38696040a5c862811338018bdda014d9166c9e483770df43f36efd720056fca4a5b1a80af6dd181a7ff744d320700e31a4b5267b2e5695478c0ba145b7a666c8b9b6f1cc1af7755f0da7edb3b9aeda6b2e40ab349eb7ba613e66d62414f1c2c7041cbf8a18290bc6f97eb576d224c4fa03849976e2144008ae1db613e915cc017cccf51cfe71e57820e1b276b13117618c56077811c655fb0e516c2a07fedc4b5cecbab32a4ace1dfb507e2508ec6321abb326334e463ed943973709d94c5f0fc4f70feb3e566297f9e25ecf974a43de95f1868e5233536d1b6da9d807150ca2003133a4b03e10b9472402f0ec48c20124cbabd74dea98153c0726a535ecdfb57dfb430b9934ff2e0dc88e2d78f9a71a93e1cffe6d64df26f2e175a45402af8fcfc493f0b07d926e3415fcec6d779e9f4a414abc9b72bf93503d0ee0726a5aaab96920cd1a6d0d0f41f26552843b3c6cba6a531d9f946db2ef0465738129530b9bccf5f7ddacbc50afac1f21bd3f3852f6eb301d05cb287794ece48e7a005ad10b1a312333130dcc473d124ba4321d4820714800c4174ab4a121c0c0b17b68dc45c8304d28a426cb4652622c0ed712f593bf4f7987e4db22b1ebe8b490eafa24d4267a2753223a0ecbdca183fb73dd992b8e0852540e451c6299fbe8ba8221765e8d56b50d72b17f4c8767bd74fa3a857d4c3fd2f2c126ad8b690d123af036fec8893680edef9a8caa10a4c47cd826cc21be1f90934c02a3ce1088dcdaa6d9a112c0906874d14fa86f1bb119030922b481a18ae45d8059b4cc4d25f78f99e7aed03497e3386b6e0759f8134ab9c69d387cc40faabb42173f3ad588e351df0d01af6071cc7ffd6af50fbaaccc272f4742dcab7c02f3b2772f9c6b3c5e1a743a51bdff0a050cd1db5ff7c05938c4a280c1a2a11245e41f8e550bedd8e334118747ffcdd5c2b685d2baa1152879c474a285f0e9566e36083d0093f90cfd030358598480829544cd9212b9b39300af1a9b374caf2aaafce296165e850fe09c9fea4df71538f01ad524c46350ee58381e5549a15a840b42f0a0f8a6decd1ec538100c45b3f0f0ba5726e00fe7e4f4e1c178c42a9e4680476211bd1983e9e2dde031d71a3e72f20515c7dcc8343fe70b8ca2909840d08977f0d1211354668f32f95933e0de62763571f9626835c701b4fcbe797182306db2a5f71b26d4fed992e633799536f7dd63b6a2b58db31903f65a6b27cd4b5124f88da4ae507944855c0bb7c9053e9d9cb8e58bd07398bc4d7f220d78ed5b3b386f5921546ba8206eec77da305b8840f0f698b40c290c8c464b277646e2bdec8c7fedbf69fea6b3f712a858d4c59d5cef0cc911ef4d30ac1fb159b7f708ff19194658687a0481b1fc9750831f3556f73b75132e76ef1fba310891a843dc8ed22b8cf68e551f7762b4d70c0d5a5eca05c698f310f97f2f31f353b2a2f5acafdfb6cc71b3b7f04c7ab72e837f586c9fd5adcc832ca0f83709a6ff0c310578fae38843a275c9a89e27f94088b24e6a8e4bf7ab959d81e0dd3ba74ea8d1ac113d8345b164ec4183e681572faf8a3b1d1a04a0b8cc2cca7034d0ab94f2c92e1832ef7da2140e3c062951e371b146641db2ec34a890bd155f0a856bb9151531530657f8a277bf792560c63de0823523d5db1e5acfcb001850510c2cad0569c8365e7eebb46bd481b2b3889609c1e7c5fb284f9289a64ec4102a813de991b8e6d69320e832c8255a54cd0e0e1d3638d0261150896f3f0849145f263139f50216f3a52add0e90f2794a9fc9d5aba82afb8aa61f8b634b58f52b0744f15cb4b10be01fd4e8e8aca3a89b27b2b6b9e3fe4dd5fa12fe1004636c2d50c946987f98946d0ea7c30c3508881499c99c92ed043216a2399b8356f74804034b9862322e7e905275b1f59230e1d0b5faabc2f0d955fad1bb58b6e8be3b0bed1e2a84b12ae9878a00604020832faa01919aceb6b782f7a555624dd52aa347691f531a9986f6ea89ca6c219bdfda2b96929007b82b93381af9997f8c63dd45768bac8658ba3fdd239bcb7443850402ba9f342300105ee8c709cac76309d4dede128a4649d86f63d5d61be64a33d8c274e3ee6f39056870e4fc667414c1b9cfddf85454e8d05a9e11a9c6c5af123f78a3d5efc8e1b589a78223db313fb98b8c2da93e9981356b71f7ff7a3e803871a58868136e5bc15108c4519f26f5b4849951509ff9a63571e97cde0cebbe6b86c07ff4e8f9e2c971932a2fb661680b4e053d486be121e19a5da093a200c74c354e3f23361dd39491dd675fb040ecdf1134e1e75d64fc73f8785e99118897fbf9242cd4344d2022987b20bdfffcc0e36fd02553f38e25ecb59ce55ab5fa2da770b474f5625edc7def56e76736663b6fa1962cab51027741b2edbbef77912358e456bd05f75d500859b1a93937bc81b4d72df23e3a1f7ff2717ed53d727ab948abd6f74201a1efa0e5be2e7c20b05e8a5b6d3b9e6eba6d1d9b9c97c605451af982122af0b0e894f250683926f73450bd14857a2ba32de58e2b0592a0babf05210d4fb77fbb5c2c71c3a07fcaf434e86783461cfbe8f8d495e4073480de756579270444fef113feafadf307736cc23674a9179fd899c89b819491b4b09e13f46746612bbb917589a37cead839e400e0f4da318e7ead13e65952c39158f4552b8e1848d8927203821b3cd9a2b8c6ed287117365eeb24ec193c60eb298621e657ad3ef7e13259a8b08ff3ba703f246f1f26d30a40fc72f1ce49d7d62004430c7d2de8f29fb192d18137e3557a70f092632915f0e4f7b9398415e6ba2645728f058ee94e98a440c5546c01ccdd729e28e5220f14c3154e43fd9adc58f583c50da4a775b3431242a8810c08ad673c624c226731663173d9720111aa6347d91c98fd636835af8bfbc51f953ad670627529aa56f215647c88b505cb90059556785937cb0ec35c7889fc29beba13bd6a8d536bd2142e631e111be02fdcb058968f22827206012488103d6544b682b14bec4d99b7f062e36646e98c019586faa0d3486671796e47fa551aa450056cac7ab0bf4bb95c5ea42f4da9216ae2d60cd0b75ccfce32e11d15a7f8c0cbd04d219c6905d18dfcbeaf504be0fe1575ccb8e7cdf84fd374d82a711fd2110a1130ac07b27060942267dc677f6ea944979f79cea824ef881294f574814c3cba4dd13585ec6e0d3f5e0753623080929f7d8fbd1907b40e36e137471b88b475f0bdcd520cea806f20b9cf713dafaab95752547b9eac597a573c9503ee8d2b28a8fb8a7a3bc18850acec4a6279dac4b2d65ac3033b859865d70ffe65e1ab7406087c6eae6ed9be388c3718f73a56fcd809fac325b2ef4951ba17800b2ac922bce533d48a52f4bb0a8c087fd97916a5e44e36bb1a4743577e17b0092172c994784d5cb90cdfb5c0deb29d329669862486474d2d17750238714c776919231c88d730ac1279e6a8b182bd088bf5135aafcfbf7f8bdeff70e2c45e694b169be397a8960b475b7232166d33616ed02685d55b3de53d3503004ea9a4aeed9826b6cbd54dd6166c13cf071119a6d3fb6ec492a385af298109be157072c7959659f3595633bb6e3901f48df43fd9aaf3a690a41c99a649ebadd282f8b6180ca24faf06d5e59d371de4b7ef3700a373062e8eddf429f8710ff52ff7be0889d0b9181801da29e7c9994751ce2f9e291f983266f59b844fee42fdb928ea093ab770798deccee962b4052f57b53c33c345b8f88a069c32eb2f1fc56491c4a0db26681f454061fdcb74eb5b4aff2ecd49aada1ab38c429f29aec161af551d6f3065e7fa1ac8ae58a8430c506c1b5c67c1b938264c97b75425d9689c5dbea9d7e34df7dd4cbd8d6fd77e968d33c34458f185d3f12f1f04307aab3121f3747c356d045725bd374167094719fde692135cd30077d5d2c08b3cb5cca0e0c633d3138c0c09d8ff75e6af2c6939fa9a6738dd51aea10b581b7624541c7f1c2a497255a4a47d72f7eef33249c5a2bd06677e9329772ba6138db86fe131f3cabcc169023a97045ca2539f617c5d28a12d0de8648302ed45ba49e98c1898baafc11d880b7e3ab5a28d3739067d7cf8f7defae301810f9fef605778c9fd723e4ecb91541fb82910c56cfd92bf71e571fab4c8893c1c98332615b521091b29b44a24e0e9e144d1a3725aa550fd88009ba1fa1e76f2b945de86512396d7a22e63b83fed508c2cd86602ab22f4b95f6d73da97b5a01417c0ed9457988d441110eb920f14138f2a7edb7db386d34cbf271ff7eccb79600328c1bfae1a9df0db77abefa7acee8801a07861d946fbe25b9e3923438dd4127589c8c1ec96f75a9f5a96957ade68e1b23ea3980f3f63fd43f2bf53b3ec71ec71ac9c2b7d1991ec27352d93bba5dca08e6d32cd53fd3491ae010a2f7a7a1df1706dbbca561d46810e716d876c1e23bab625b351b22298d64bef2f13c0e7409e1e7a243e8e1bc96881a6b6ba6a09b5af246efcbbd576a2bc4bdb964dcea46e0fda0af2bac8491feab760bf26045681cd1a82e524b37135e93e306efc954f17697d9a14b7b4241fc2f4a931fc69fff5246888a328c4c76c6a98bdb40217c9395f8d3f2f739642e581abb4745e9ebfd0a1c92851139eb528a119bc2eb9b7bae0c5c877225f93f24050a01572860bc27f0cb1b65128d4db4ef4da06798913a1a2cf1ecc4e9dc60dd82a77caa9f769887d849674cf236421a4adb48a59fc6994f63a29d5da02c0fa3f8993dbd6ae374eaad78772c8100ef867cda483d0874fecc8d0e636174c68248143367e2cad3955ef9afa1a726f2e6905775b3cf4ff596dbcbf4925c43576e0c6370dea060fb5a95ffcbed044395a0a6c4dece39554ca571cdd0e8188a8249021c772b0183e35a714d41d98d2594111235529ad7bcbf219c94fa1d3660cc29136343b75d599e0c7f286bac406dfb340ed490275037c03fbd3a24c249580455fe990e383e3acae88b0b185132434e8637737edeb2d7b40f03066c265b96cd4b89f2937cea0010701f018271c4408262f58dad3532e37901b5f48d535c9d1477e84a2a4228a2818f2299c6364ad77399ddbdba134a7b30266fa39b2d3dc0f4b645480dab429204d5046df343157e5e95b81081235ab670c4550162fb1c28add96b1821bcd8e9dd77d47ca223b55b0e82f0ceea4f910828d9b98fa3114ef676aacaca76b3cb9f9a264094f51e2ec2e186ed3a45f3365571f8389304bf4ec5ea24346642ab78cd6e321ba3c6d25c18fa2117771e0962ac2b648e0bbd07f2011e22047b0d5200a1567c932f3bc6bfece73ba9d2e1dbe67e6a16750f934d83c14a9304ad003d45557e2d5a55af0fa331979cd0b72373bc984b1915acedc2725ea61d80bafbc0583f1764746584541604158f16735ccbc5f79380bd8a26653a3e4342c282d8b2b490e4041400b714d0196822fe399c6990059969159a0050b450f2e94ed78b89fa62f43023b8be0616905eb01479ba2e2ee2ea3e7867c3a6ad5a239904f0074f8a3e4ae1648f050cb2588f31430fe219d300f9eb53f751d1ed9622fa616dc5f2e1179fc82d03d2fc5970cdb37fac9a382ff3119f4ea7d5f415943e8586d40b84f4137de1f97f238e083dc8050ead8a0377b25840e51e6f4aab0247ca610360f978543ccaa832beb9cb5f2a2d69927f53905213f5c6e1bf10578fefa3d122b13370ba7f4da751499531557388b2b9596e57c907b1ec1dceec370c2744a23ac1865e589ebaf12eaae1004464eacd5324a895468e63352bde79384f10b7dcc4c14b60700ccd203749d1b675861b44f25e10923083166504dcaf3bc14244dc39f3e135a1ad4daca701d30986cc2baa1e2fd20975c4460a40a1941ca440ba2b55603c87b88fcdd37e12e58ddccbedea127a76d9a38511f30ee2c21708c7f3b33e686708dbca8fb198d5ff41ddea5355f5b06fe321aa8c96727cb366358161ff15c1cee97b6e45404dee700f98cfbd176824b4505300a831dea3ac9881c9d1a5a2a92ad923238e6ad0789bd3465f892c8da5c4b220bb5b417f73dde22129250462a344c55c9129b29880a8aa7d29c845e9ae5e048d8ba4d03153ab37dd834e72bd77dd12516f0c463c0feecad67183ebdd2803917cc0b9c49957aa0d2c3bcab64d4f430abf69062f82544f97db17d3953832aa2d354f723bd1ab5ad79d317fdeea4a44576e0d649b860a40e46ba8c34d6245c680ffc991de5d30143900346780f48a9e2235c82a936c1da4346df4b45b32e15596af7d7fa5dee16d9d1d0d4d9bda7df54b486c8b73589f29289c528293ea21a5ddf869c9013b22a5e3b547f79f381a5da6964f3b49e9a4553efb8946dcd44e4855d04609df429008821c11d415b313d117fbb78074b080db7c59f1b28a0086a937af609b403ffb941c3a6b6211bdf0441212ae9d51c0884ea593733b624a3ff446bc2f31e633cd51b16b286adb39b37943c5784032a1f247b888d3482d67384527213d5f295ac87d30b4031f5cd7f0d00b26946a8e8cbac28cee4e4b63ed026db533e55ff51b21bd2205ceba3696ba6a259bd9874791243b82fc2d11e0bcaa9d908af697e17c0131a90b75aa5db99379782c46de8f95c3436f20127af3d71911997654c1b9f773feb65bc1901517d663fd31165cb584523e81c172afb149551fb5f438b468891a664500049116e517e6ad394c797ae9fc9256a7b9b02ef790bd4bb6053a21a9be916318b9ad7e6001249c6e1943e6dab0aafec68648f945897cb94bc15478ec48d51e7cce7fa03570963e651cc047edceed0375d72c76dfccf69307b2ea7fb0485dda79daaab0c7856c14eb1ceb8c56a5475ea6fcbec029dca71e1865702604e2db5a3214c927c0658350139b95fd3e8faba7dcb3883eaa2f4cf937b8ac72e58ec117599962db3ed0112a43700c101d80418ce0d7f9b9bf993c0d271d347ab36a57293b8286f596536a0974deabcbbc81d7c1a56eed88d07ab7e3f6f16eea08db388af898e9c282b8ff95ef6f67cb27e1b32e0f828d6be36b8c282ad5f5577b33a2237caa7915771b62da09b547b18868c6964b58554b7acfdca09da9855752dce095eb70fd87eaaabec2b18c6f6d168a9d6200484b5c78895a263c84cb422c5f2fc18853e8e806f179f652db07938ea76b0f525ae1d77de44e04fddf89516497d8b6a42286b88e038a11343c276cb5b186ab25006d8a4774de1dd34662b020ea19bdd1a7abac9979b293c85f7b8e0866476958a9debef55b9099faa2880f1776fb03c689eda65165be5e78ae8b34288ab983a118dadeddf1361ce661fc082d9720f8737df227ff3f48aa277183df1fa19f8b152a87207500840658ca8903e8efb7d63b23d33c654a1ed0946db4dc393959fde26e38f7a175496c6023d8151ecd6329743ca2d28374043735106a029d73fe1f3ca51b50945dc3e3aca41c6397cb3d488101ac83371072da121fc1b6ace97c3245e8caae28e098be392cb21a0960d18d847721990725979b874b123c9d1cebd0381e8f6623a8e87414d00e0d429dd8f4701eca004ee631473a85c8cef35f5ba44ef4cc63f636b22b5c66019bb80d69ec9211a5f4d63859c11446e15b44383b7718acbfa6bb4bd0ec2c75504d557caecf49f834e5623557cae1720fca5279a313c38014d158e94c250cfa408012c36b0bf9da9120a74b98784fa3ff372235cf4f79211f206e858b7486c6e5115623ca9d5e6be3bf4fb00551b422e31080e3cb5fda1e209fbfc37b0f3abe90d60db19d5bf3978ab6d935af5ef85294734960be8ce2a133850c57cc437f02a37490afe8778ea242459a70ad31defdf76e38656128039d62f1d904be7c568440baeba64d5506d6a12ea309e75703f6b918993ac81acb07e8806580dfc500de71974474f0ddc913b3ebe152db3fa6c834cf33a14a583f22f8b9fdf8fa28f8e95cfb5df1c1bec5079aea4252022b9b7d6795eeb5cfbd3ce5f6c77dc412f6244b80eee1e67e0884f8ee0408b690cac40e0cca67f65a84a8611f47702763ea8281fb35a4022ba2e1e9291b564f2a5e310ff7eb77eac56b0cf3e73f571fdcc3285d195ba8c1dfe9883e94cbff1b17446fe34631b4be7a815fae39e85b5a89a29ae420c55149fb2b73f7206d21b9a8ad772c5cadef4bbd4c499aa4bd7cb0b7a34093634c7176dde7bb7f8804076ff9488173f6794d3ab1f01c2acb7172483aef9eb56b2ce80c1fc59b6827e060c112653a224f64fb23ffe8fe589e904150a6694e29716cd71d36a004d64ece7f6f98810e3e627e3cdd153a8f3eb1e6c4680c1250c1a90f5cd58b3449d1d23786116ab563531da22e01f0c3805fb04154a4a7c19fe21e1e674c2da7fe48d6111cd82c16e56453f9ce84c7f36badd64e2240684cb3163b01cbd16221914b3dead06c4edd7a690d309e62483a23ecf98ce2e032412176be9b20f091012ac5c815983c96b9b336a50fae11da00f2d2958d501889ce8f5634a29174e0afd1acc928696daf936939694a5d8e44f4981c7daf9825ee12798de07e9773f14c77791dacad58d649420cf5b6e834ca4f07e5380921ef63a23ca24a33769ccbc11f073d26442b61cbae5b46116421ffe32ffed5b3ce8891430fa9572fbf9ac84b214ce2bddfcb06205bcf950dd4fe443cf117b2bf33e117f86ecfe2c7583915f9719a07575d92a9d6e7b5aeb5797c5498b947466cef3b0d9d9713dfda243995fd0b0cdf4fef96d49d964293da5e0eccc15a8cf0bb9e94c62b4422fc16ccc139495ad5c12e35c640d95c490618a42cf006a844950703a2e88563d8c9453d0465d96ca282acef0a4ed0a63c6894ff0af6e1bd27f63246fb830fec7092a45a2633143ae7f936c3dc8b9fd741b63d58ed32108015956f74d190d9d526f545ccbe7955c0107993406df56a9f130960597f964ae7c044da9ba824cf14e1fec44fa49fba2abb30349fb5accae2522ac1944272ba7f1b9ec8fe689f11f50660cb6d0c86085f66e8e4bb68b837fb570456034974a7512a937f545f9da61cbb29beaadaebd1a34f3491ac781c010b7d6bc7b059d2934eb5bcfc69e02fc620e1fdb5457e862a534f2c2b3a150d3325b695978e01f859a51c6b4c682644bcbb79a84e554ade21ee4c9b0adc835866ed910404c0dc3e409a59a4cd14fc59eee3747a79241d44fd8bbe85adc5fa06cf71c2534673c757425fc75c592d4c104e947faf3fdd42d3276f4ef9222b272ea82e0409385a34912a3e071306fc36d7d4a66d78887bbf1684760009badc386c72977fcd92261dfb8af5b44c6f1b105d132278b638296f1475cc22990e1d887ede60c3781a325d6478386ee5886cb9c5ce36afeaa9ebcf4a2faf669357f16a2bae6fc9a1ed128847ed3d6dbd0e209917ac93d97b933d9f3f41e8dc12e7c7e4571a9b518d4693d36cc16885447330a0363d701badffa07d70a50c729fce3673d6ef7ce0936983caf822c198bd0014bc0e30a264c124560d8a2530a8f756f899080d74b5ac7fa4b9e2947dc5fd7575988d744c24d1459b4f8e996ffd7fb1e7efc0fbc1d91c9378c108b8e53b499c78935329a8018177a61b0922372447a005865468af50f191695d8de7528ea47e264a02f9db6d637ef7b752e613e358c69c20c0dc956ba4ae540ded2bd1463253057a9cad45d92f191721f81af10b06c7230d85b74a40016c92c56dede8dba872e7bd945896abe62ffaf41f0f9ddd8322b025c9688219958caef4fe3f8d473db069082eba973e6a13772d71293cd2d66b1e878f9788e0a59c9f622f932dc4613a5e9876006d8084f6bf102726942edcdbbfe6e5fd67f825a46512e4778c6bec04e055248af183f04d5eadb97bbfdd15a098f73b4d46aa8d64449aaa9698a6ddddea200a0c134c0f1c807c80c00391d80a3e9f5205301d2831edbb3c0561aa2cce436ade15369da30d25eb6a37a8d0d20f7d34f6a5e5e43aad33566b5512d05e8f1118118207d7ddfa8aa4da4be585bd18908364e0df703de1cdf685ecc1a52a0cbf9c8e076e3b20a3c05f3d6239f5a78c41b1e33cdf5373a03912f0822ba13c514e23715a63daae7cb4c534622fa6f0d522ff1f33b77c0965a6be38e094ad514eab5d70b5aef69a9de663ce2a1c0d8177e8039777a2f0f9e53258e9bb9a2a93e06189ab25c4e238d9b98e47427e76ca84b5bfc90a4d2b1d39d282b77268c760c2773540ffa317054baf4ed0271e354513ce2678e64b006123052eeb5956dd4aace2d333b0afe997ad59a16c5f0882f21b49699dc8fa9602a533a10076171e78fe063ee56bd33719852b0b6cd30f49a6290434df8ca8699c8ac61a21a15677500f82890258a17429688dc81b854cd41cc2bc71894434d0d69092076d97ab81552efababf8d4edc256a843dae9da024cfb962fbb1bb581ee90084afe52c275e3a171c7561380884e1b75f22b27a0966fe5b4aa95f0d60f3e13d7e6daa1d862e4ee9f28790fa08698a8dd942ca920abdc2ca59662cfc1f311addc47bb5bcc4adee766e6d16c90f8565e6ba523986e023f6bddf0ea90a19e63a0fedc43f17d1f7c676db5610da0b081a8264ffd9e58f589d81903dfbc14389a944c34b947d1a9c3e800240aeae129f634fa16442fe26d81d4ac1ce31475f85a1a050426f4c307a625bb9b8317282c282a7b6153f4a69d66a9f11efe3d1d8cd73892d322de4e9b8a06f2e02e453b9ed88464cb38030e5eb1a5bb793a7d78f3be4f512dc964573ee735d86fa8f6cc67b1a9f2cb974479db7dfe866e3d3fd9c9b35f519cee841385897f7ac647d37b9a4d304237d4d9e1622722cbff5e9f55316a56724a5c095592c58d0a5ff5e7b4faac796862c90e1b633a32fbff8a4995a3a6126a4d393b2e6e2a32fdcfeb5915a360259e2a6ebaf99cae98318fff6756856cb0a1e0e863d490035abbb6895820dc153507a97107339cdb1d55f0cae5b0c3fdaa6c3a9c698fe391619e73e643d9c3536a73d4e09a6e0ea166e72d41c10039046a4031d0ea328a522c8c31fcbdb8eec26db5dacbacaf7289bea16ed4444484249152a62453b208930862082f7b4c2592377209ff73a197b4f6a5c66d5a76f5c55e66d8ac7536f8d262c3462a0593a38ae0fa4b51e31ce097bec6ed30ef7cd744d1460a26878dd4b675e0cb0c195ebe9692288eb494c4d12f73b0dc1a4a9a1e0e02f472ef42dcede5736097e4fa6b2396ddcda7576e2111faf5a58adbdfafc920dcfe6c8adbfd569443b83fb872071208b75ff668b5765c8fec654fc34c6b83d9f91db5f1de24671dfd9e958ef142e397b165fb66338e02f41dc0eb14c8df0c26b1c7ddeeb33dc9c56d89651aa66d96af194b6db83c83d9907447c99a7147c962aeda1f43703ab875121c3ffa4e6b6d47eb8f3d3b098ef9a3af9c350ef01d6636f29ce3388ed4b4cec4b450cf1ff3ca1107017ae9d33a9a112a81dc9d72960f963b43c9dac14b1c04e8b5df496c6985657795deab47aab9a00249b22496354bc6179e840c325a830c11123244c7515ca3a0ee723527ad492c815d334240583440ee92a2ca536bad5a9d492205de55594286b86049a39849a36a9346f11dbdaa84948bd6aeb548d5346c0a01b9400cdc4aaeae0b868a0001155ad400080751643106b984159d458b65084668d7113b4b681509d60c36ca82a115e000f39eac698f08628f99f181e63334407c66ac77f3cd299a428b22ec45226705575c97053a9b13d60524b8c2d0c0c8a6b4800b2d8a1f6f41eb8e6245c19ca268a3852e499b707bce6ab53a6235aa581077af38977faa7073fd19c7ddddddc3f18739dddddd7d1699465821cce9eeeeee3edd085b440809d1112461e8d818e4c460e50a42344448c810fe29da62459bb55aad5a1085ad458490101d41c273f9670ca23bbf9b670548f0544a6780d0d11922202c1a20515020c5cee586c190a84570174ca2a09792d56a9544116610d610212143a4cfe59f2d0c318522e0dca0054f90c2832494b8534a14937756ab550aa874decee0d684284a5677b22e7b4c10154461abb6830c111232847fc4d869cd66ad56ab156001ab5636214a114deefca1cb0d438ba841144aaea002c517c6e004255ee8dc80898d01b7c45a12ad562b238088f802ad766b4214227ab8e8ead8f4fc20e80a285078820448c8247eaa10fa3a29ad5fc45bd25838612286128a08021254d30577be37e5ce28466461fbea2be4a9640a46fc14e187fb472ba4da0b44449554188f59afd77559cfd2ab8aaf7da6d1d62afd9ad74d9f8befd6df822de555a5f48bda89896fabb518ef70b94c9fbbb85f7fcc7eadd5ba09abd64d9f8b5fc3434d52ae9cbcd3ceed0a8d0960e595922e9775b1352eeb626d8d4b5a4fcacbba585b437ca73f92d68d3ed7ab25abb57a6df9beef62160fb110518e14d739885d26ae9929878c0d8a0347e96b1c9d34c76663d3e8276383f68f04c8d8345bb25a6bc6a616175332f6faf8e3af3ffebea694d29a7d5f7fcd1f7ffdf1f7f5a87efc7dadd55412b7a153861dcf1975b56a4ed4222262c26c0ec3aecbb7a02d95e3f2002e7fab85f2ba09d2d93ef06de690f15517cdcfa6cb6c7a5d6b67bad732edd097964beb8a810776cf817de78f5eb3dda8b31d07ca3bf2bad64eab15036d6e2f2eded436cf44bf6bf34cf4c5e5d230ae87949eb452db3c137db1d7bcd90e991d60aa6f905f417e8d5bd8bc2ed3354dcb4c737aa6d66b4cd8c079b58acd988161d65e5bd5a6fb8f4c4ab441831c792b2c3fe76b1b4867975ef3ad039939928d560abcf2a725d3a2c13792fcee35164e5e1df872e1e89f3ddf984f34bd7014f6d04cf627df1238b60f2cc80106baa6ef4c9f999e47b398c2276a07a47a8285fd02ded1448ca37f7613777e13c1311c33f61106681cd651a30b1df38db2ca01e6cbe91135cc8b17bcc386cc8ff28b2e5807c8ea98946cc1cc974034fc7c198577e470c38f52ca9d2f7f5847f8f3a5938ed16194504629c59d2f771a86e5e7cb260dd3fd7cc9d330fff3e50b78870fa939c3cf97381d1364943938bea6614a0f23c3cf97371f02de7184c5b8f391b00e1a3f5f48c72001e38edc853be7fbd0302e3f3fc84b80774825acc59d4fc33a4e31328783509fa3651a66c6cfc7c106de219b481c5dc38f0608c08f365c3a46f2a45847cbcff91cef9052bcd7302bdfb30e193ffff39826d27180b0a9c8d8e8564cd830610e7247b37c1cd5bde383dcd150248efe1b80c2d1de0e47af003604a5c2b183784ce31c913b9a09128f91448e522277f48dc4d18f4388856ed8e022a2db3f8070b47dd3fd32a789dc21c1903878a4147287a42271f4a372c49c1a9adc0e400880908a1420ad52f4451620386f95a22fb20041bf59307b605cff1722a22e50f1e2faf74d95a22fae53b9fde08bbf7dcde4792028af0f79445d8420b5a2c56245111a6a0949c12204e7b5a2c56245111a6a0949c12204fd62719b794483152d162b8ad0504b484a4803387ad348de1094d7031a59f113827c4190af560394b77d88b8de4a04cd00d2e97707cc5d93ebff3c3b4ea0c81748d10385473631c383dd8f9e8525cce1752ca0bc3380f28ee44ec72399cc00f2ad01521ae004fdc2e036b30c2b6e1c89c3040cd75feae8dc1c316400b92f95c21c1e5702e5a501cadbf99b6e909c407a02e709f47b0217700b49d445df28e1fa77e1825174b5e89bdb7f7201b7a7c199b6ed44c337fc04f2a501d21670fa9558b8fd3364ae6c3918365c67050919e0ba04e3f6b7cc0035ed371369cba1859ee21b2e03a4d3afcce2f6f367923f2ea970d7ffe5fa8fae4b2ab75fc607ca95d74c5c8f952b039457034d1bdf70be9af60cd438b40d961f533b35ec00a0898848a3dd7ca48fc4d1d86fe0c841777bad03e9f46b129925d5cab10300a0160ead1a3ab0efcacacb3799c21cde8abc9db8927aa157ceeb57f38d043213b98ff711b5cfed1f95404f3ee9b516ae0729cce191e4952de1a87df61ae55bd2de5ebf81d96b6010075dfba36c34e220d5131adadeb90ef2c87372cc2157f0752949e1e57f116da41c251d354760778fde823dddf4b9580ce37a5c974b8b1f05ddebbca0f0bc16a966c1f1affd8e39a6ebc2d17e7d0edcb22c1ced5f3fc320e8a56feb151ea1935b80bfdb60aead00acb259875f954e3ba74bd641dfdd5e1714de4fcfd462a5f252baf59dac63daca0149a40d9d580ea6bc33ec66b3df5eeb3b636ed8914b80eee4a226772a9996e7ce4dcb7ee4ce9d3c72689973e7cf7719066f9447c0d02b95b8533a71a784e2ce679c2d78a3c481b1ff59a6699e853c543968c163248cf24e3b8444fcb390797456b3e3f96721121ba44521a3fff6e3b66d3f72d1f65990d55feea7b5deb68523f7da0a494d8b1349c3681997695936a4c589a461c6d59437777e91a9390f474d46e1cc2ffa80809c983c3c06fba9fd781e83859e7bfe936a5568a3cb53acc0e3b239c7ec4253c4a0e26214894134351cd2e5295590b85f8b57e5b46b931e744599525cffcd56f1784a152777dcfa3779ebe529559adc4fe53576bfedf2942a2d6b2d864da902c61db77b794a952eee67b1d01c0b9e7cdeb03a2766b10b9b7262149b9863586398c43ec7aefa1815300c6b0c736c6214ab1786615662187b63582bd5228af2b98836666ee6d3f73c667e63ef607d0cfce15f2978730219d57c1caba2175fff04ad20f659881139d2b7be01ee0512a961107ef9bdcbdc0efcc5e5f08953fd1afe5185607e08e88499dea18f3146fd91d9d98190f7ebcf138733f46b180156f59000d50cd9511e324dd236ed74ca74cc7dba7577f7e93ea757f7e9eeeeeed37dbabbbbbbbbbbfb749feeeeeeeeeeeeeeeeeeee3edda7bbbbbbbbbbbbbbbbfb747777777777777797ee9c792fd0b4e9b3bb7bb6ec666a843967c540809a754abe61d64ae99cf459b5fd9c73564ae79c95d69fb3524a3f642a39d6bacf21435a8c82a651b05e7ab5de28dda8102ec8559f46dd6ef026ad19733e500e88d6b17655ca791b69c441c025a5341de0158bf1b032a629df9f4e6962999fcbbf60a41933b61ca914cbd542ed7f40d0a0c1d910c5eb2d2d57bf883652977988876234c043fa6abe5df25ed7e9c4f598b33379de74aeb3ab9f7f991786c62f4faec79e256bbd6921a903178ad297fef64e9a8985926fa0e308aebf9cafd5ed024f3c6caf3d902d04b24181c811bff679e8daa86c546d448e71c11bec29086e4cf08c70918ad986d1c6e63aabb009526e0703dc0a3ee11ce0638c416fdd30f08903e418926f50caf578124457a7ee3eb9ce8641f494348ab6eab9dde0cd9f1c103dfc39bb79a3cf511e03bc5a397f8eab3af00fffa79403a2c7fcee73795a325d80451c23b7fc874b5f862b9c85db2b2b58d840a954ba0207482412181df03ccf0a4546a351158c745d470520388e1bf2c0b66d5f1cd1346d0a1fc8b2cc8b20300ceb0204d65a2920b9ae2b0a21a8b57221024a47302f30678d5bc05d88ae405bea3eb08efa0dc4d20bf4db97894c0e93f7fa31431bee9c28cefa7cafa6d7c8f3401947f58fc027528ef222157333fa13bc6a143e61be94720338c866d339cc274c750122051f5a6c2eacdcf2715d0f81b890d72fa28dd4d478064d0fd3650f3472870fa48c5b1608bd9d4cf25ad77140f4d01e7bc9710fa4613a19ba0fffeb2f4d6e99d49eca4d7bbedb771df7430bb78eb323fa6e2fae477d8de3cb625973fd79e1c3870f1f3e7c48e9e35b7a159a6c9f33472a854373323293567ff9b7218af56acfe5fbbc039352c742d32a9dcccddca3eeeeeeeea9d3f4b2175669a59482f25eecc3c3aeee2fda1d068d5f46ef4abea3578412779c2e86b860822fac287a229b90495872bfcb402a40620825371ba594065192c3e22dd4412e253328d11e2224a48740c4124a78d002844563b12238517205a98a22a1204232a2ebba6a0005ab44c413ecfa7fde1423c27001353185304a419ac8c29b4184cc39e79c4d3ba8ab333dbbbbbbe79c3cbbbbbb67fb783d4448482bf1a2384167ba34d1c44463a64af610d86c628937af3da20636f0a1224a142b1c61063090a20212041132fe1d45a12042b82f2c718416ab80297680c080850cbfe69c527296f06205286789a20d2888891b0f888889251910cf2585091848190262c206242941404a9ec00541f3212eace932f3649e5d373ae79c73ce39379369c5e5ab7eb5fd7c4e9752ca1f5d36155e4a640f25bfb4c83fa7cfe976f2649e7c837f9485a679abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56a05a950a0b50eb1b556b741e7142e643342b5d66982264c8142adb5ce39e714ab9d22066b4f408504d7652aa830810db204f0f16af70c10160d101e748107551a0536443871f2648c2a4c9142ca0ba8a0c204ee938b780ce67dd1a044bb0b306ce529a6a004478bb4d8a415e0e3c443c13cdd39a11471e711a222476c6745342e4f89d28224aad82882746e4c443a3adb8e4e932d47a78753000f7880e0296007413a25054451a46920891b24a10305175900523199a9b30229c8c9bced0c0b4a56041b218a115ab440ca187c408564228a959428524053675c064ac112929640cb5e1bf19d0d43b56792fdd4c53ecb9f3ddf485de61ff4b3d732307bcaa33366d27c1f7624afc65c0f9624af45eced7f20066a140c42de5106212f864d6fe9de19f11b3edfe09797825848e47afb99117be9db9025974de1f57f06cafa0cb45add015ced02c7ebadcdb800b9ba46e4cf65be9165a07c6bc46fdb9e5f4323f2d2f09234059a3fbf780d77bc724c5d6a83511db24b9fce1f3d1c93700d60295c1a3ec13de0d022ca18aa9aeb63fd1f6c98dcebc72497f214263ff788bc57c801eee21af131c6b8357ca2863f890d0e8854335c8d359786630d5793cc51808d90a3aae17a2741e38f01dd081e11ff27080102920497c3673088b9c3e8f238fff423bb333432bafcacc54ddd91c7b8a37f7fdf60c4a3a24773af2210dd67a538e6d32a020b368bf3b94e8d564a4a65a20d9e3538c6be2c8a365230396ca4a4e4d1b45e57bdacbd3053a9b4710328c0e503e4006166a3aa84c931c306779ac99ed1314bfd2f4d0baf176e5b3195dc352cc3346b335b9f62dab61d00012f3036e010000d29b00003f051673279df477271297dc81202f46eef44b0b72f7f6bce47924b5f737a3d605325e7c3e6d270c47ea46ff24cbb38ec1d943df3c2322e1cb16b6a593862bff2cdf9b0b923f6dbf3701348c49fef06ae8023fd59036eade70d0d519d21aa33447586743c86553b3c3d3e3f4197b26e9d437512dd4abf14566931877ef7953ef763d7754f9f48f7a559d46257adf5741c55bf0b47ee575ee3409a43715aac5f02a992162bc5699895af4febd39cd24a49966848572dd6bfc1a3b3e8562723c5993d13caad2fc7a0943ea53c1e3379a88ec7501c46d5af3c1fc5b9f57dc8639cc751f5adf5bceffb17c5546a88f4de5baef412a44c5aacef74e756aa04dfa854876fd4c953a98e4ec3c8af1c10f4b9979c1193111a7a405ed3771fe4b5625fdf79dcc763b6af54e7490458757d099cb9c29b9bd1637fb3bdbd40569528a5af49eebaaeebaf12384e9e27ddcb1ccf0697b91ea6f034430a4ff4332f3cd1f0c40386d1af193df634a4b19f7d6635c9ed202f156ab16ed162fd291dcbe8cfaddf837deae3a8fa54e7d6dfd978307332fd753285271eb2bf9e26fb2b7b9690c6f31c657aef6d54d99b4cbf025eb724b3a7b93e0b6b9eb07ccdfc2b640969b2f7c21affaca9b458a7f4ecb1ef217b2c14e2098d3ff642cccfbe07ec6d2884fb2d81a6d5d524e9eb572b1666d66e9e37fa3ed2bf278a369592199d6704b2aa9b3d3e77fedcfabe81ac625fddfaf56fbac851f57bc851f5b97eb75ab77e5369181d8fe9e91c8fb9be7eef784cf6f5d9654f50fd5a3bc76358a5b3c3d3e3537b3c06c727e747eb3173535fe638aa663772e5451c558b38aa3e0616cddcd83088a3ea77fdaf21918d75998624d6662671696de0420494a084082881c6116fcc789a87874e8d687b07b29e63dd3ded94525e53c3a15cb7d4caf5c0dedaed35c9cc2e4b0e966adf0cbc7942f29ec6cc68664bad265c4b96b5302cd3b22c93b2e74a2857be264b5d945a8eb2e1086703bb96a3561dd110d7c29261e7b5b09a23914840faab85d52d545a5a15ab95465631ac5a3bbd6236cbea675c8f6a87b6a16ddb4a42d755eae2d6ccb6f038b9fd1ad7e2e340d91699adb56e16e3bcc7b08bd5d2f2c0162a349a686139095a58349ab05dd7d1688275f0f6fd18785967e6aed3ec16762dac92ec4a9777d6f22e48e3388eeb7131d77b814f8ca41ce9801d951c1c5637345a795d114f0f6f2cb56cd8b15af455d6cab6c8844a2d8f197d7fc71a4bad51d8b1b2cfc1eb5ab0b4536ad2623f07967a409e9fdb5feae958401dabc5fe51c695287b2d2cf1386a0cde58ea58b7b35689eb3aec3baec775813f385149a8c52e6dd1620b8b6f74a985026fec58addbdf0935ccd8c2bacda2d2b5ba6f61b10e9676e278addb34766492693393b44d5f036082a68d7af4a8e1058d5f46c9baf3e5d57c5b798c8d6af46e4a85c5eae5b2c8d1c8c719bf3be792fed30f7ae26b737dc7fbf9c353fe48d6185c65192525d68d48ae1124b77b0a0d08fb47ec9defaf59b0afb4829312942c19644369458bac8691a10c254b06d9cb4192d5307c59caa0ece5941c0dbf7594ec20c9f5360724253920279ad17bef85355c287fc2138df6dc7361cd166aa1af1ce56fa3b2516992eb811dd56dcfa34f34dc6b362a8d867b2dacd19e0bb9c151fe888e9a5bf8396a76ce1d65eb44c3afbd16d6c8968d4a63f9e331a7ed4f33e441aaba6715f72e8338506ea0cf21bcd15732889998a279bcd1ee40c51638f7489f7e60dfdfe1d88f85276ef1f2689be33132688751fe41d4bb3c85ce12779441d7ebf51edb9a10621003279ca824fe50625ac0b93c450b3a970097a710b56e6ae5c7f6306de4955a64b8357690be378e71f897c0118b38e87be0f5ce9fa3e1afc9305ad0067807f033cc2080196ad440d5904106510617971a5c4ea7009c68d000008d19335e667c1f0d9f0c19a18c9616b08585e5594ca6194c2b2b35564a25194a24920bc9f34ede684463d475333a8efbb86d93b1695a8b96652c198699306b57aebfbcfca5f4e8bc7efb3b77be21bf9f6bbe2121e0b743c937e8c63ae8fb5b2ab9bb27e6db907c9444da48cfa0d0f8c13beae031e09c33e8f28de955bcf95cf0fa25e8435ef6de6398f93d8d59e648474197e32cecfdad9417ce55d37da932160f98ca865990a3e46fc0e31fb3a02ea7a5d0b69959071f1ca67098a518fefca2cdfecb933fbcf15f4ec0dbc654073cfe1c5c8f0e7ff0f8c794e4ee6adb16f97f6af70c922449f2852fd49a24c91780a0f1cb38327d9fb7799bc94ab9596fae5e44f15ddee5a507cf6ecb9abbd75ac1dac393524ac94d4abd8b2a594af9d5ab5c0f7fed9a26f0aecbc33375468732fdc17aaf55d75aeb8f174fea564d48635dad75055d417cf3e4fa131061413b3c3d3a50ee0d7d5dd7353d48a75e3ee79deeb586f42ac2aea1a0a01def428a46f5e533da7152771aa6366918e76998ea97277b78e315c4c3739bc35aab37b91a9316b91959c3d185aea0dbf4cae9f1ea993c5becccaecaa82bea8898ecece860d7ade0cdd581a2339343c3a1dc7eaf74ca4babbcfcea460f5ce61b3d3e452a587709805006a49423ad4695195633dcd4286ab16b38cae019b5dc3d1cb52a38b262c41a4741a3a05a67c8e11b3d43cef5b941232be6bcc1a32328b7bfe7d607d4ebaa21110f7d6ebf14b7473d7ca78797d0edd73250e3ca97a1c737b805b8dc51abc81bfd74cf88757000ea0f347eb95849bcf918366bad360b89cc975fff929b8f17ab56fbd2430ec31bafbf581e32dfa8176bfe36473bbec413f579b405c31bc5db6c8b30aadf8a472a5803d2c07eccb2ec4726ca30240d93b5b5488a1c69b18b1c41d272ce220d73a461bab16c8a3228fcc6994bc4ff078781277fb4b28eb6a7d8e9e1d7346cfe90e2d37c56d96854bf6bc11b390888c714e18f48e89bd80dda677777b7d8dd9deace31535dd836700069fce55163e5ce78f9360719578e3318c037fac7d295ef55702c8281e1613fa672cc0025a3487f8124120e72c70c8f1c182065fc0887dba3ef8777e54c3f672fe302199062bf09dc008bfd2be011242df60ba09fa6b76fee7bd45b37a9bdd7ae1e7593daeb3aea809852c83a9592b1a914299775cbc4c32c94cbe56a32e18d5c2457a0273f7ba794524a5d7adef70d0db13d164ac3ccf7b73e98bd6cf67688b59e87b97d7f0fb3966d912ff44cd67e9f757757c2cdb018e1adbce949efde8f9288d28ff208a9846985148ebeaf1432aae5b9088924e2ba3ce2ba54227b1f907090c419a58ef7a3e429fd287d8638aafb51e68c7e943b246d481013217194dbbf42202df6582841ec7fef327efcbefffe9301da200df385e35f19efd67edf28e3b1d764804180f8d0a273cb3e8f06e24310191776cdcb86d6c70ef5146918db05fbd67edfb556e278cc1046790c106ef9d5660abc918b90340cbfb780f286806f3812bee13f55e065df02ceb0843737dc6f7fd3bdb6f21160d54a68a3326dbff234dbaf70bfbd0c69b49aeeb5b7516924d29756bef43d989ef42b5f7acd04ae9c2e0f5c79ef7b308dfeb5c9b2bd6b12c82a0f64d5885519c8aa6ee6861de5dc4df839ca3fdf42eb287f56c25f603d7123573a444660e28e724708c80922ee289de02cd17892fc4f59763d921a7fc923a1744c9773e3434baebbdcb9eed9658700d1c004d77ffb81b91f06b0d666d925df72bf7b12cdc63a0d52b4cefe064fe62cc1f1a44ece57338a0dc352e4124dbbc193691187ea7faa75be4cc3f4e52938439763ba9c1c1a8681828073fbb96fe80a083cb7db0982cec8410b9082155d2c808ba11ca01e6471bbdefed1dc0f03dc0cc4a1513c786cdacf60988fc57e7fcf63c2f108bd321507323838b743df1a7a7cc33f95a37ebb87297904e7234713ef745b068786995282f64ace4f3b04416f0e3aa672340c0e286fecc6dc75451b0de35f3d19191919afdb6edefc1c99d3304b7498dcf676a782472f030d218c3b7a3bda0f668b4a7844e6fbf716de117a8960ef3f1ea1e3117a89cc97f687fd79bde4e1f42ff0b4c37cff69b1f002c7bfd7bc9387d74113ae4842065710210c15332a0b47efcee7e1d7581ffb23f462ecdd761d8fdf731a74ae0277ac8aebb5d6bac27ec4dadd9d53a310410b6cca1659d052403308630656b860608dc0b1ad84139ab5e11686386e2d37c3199ffed928cbe3744eadb5d69695d29334acb2d4ba126a2590fb0cecde03b36f1c8f913aacca405661b5d63ab25efd5a6bad95d65a2b8be94716169667f9ca62fa5a592a4b65610947d36baf9940f9d3627dadd6a97d7d2985fc3139d5289d75d62a59b356aec7acb5d6aa738dde2a69b1f60f51a4ab0caa3875be36c313c9fef6b552ecb9bfc9bea396d651789a3fb221f7a3a7e17ef4a4f76aadb5d6a7e168efcf1677c910dc5fdf03f717789a0f9e6678e2e1fad2f7607fe5af2f7de92db872f231f9b605bb547fc910f7fa08b0ea0a6b9ed0647f7d8d7d2cacb93e63ee3433fa08b06a14d63c218534dd7b5f833de78535d977374b86b0cf7d0ff6b9eb85f02e14a2ff7acf765f1f89c778a10ea35abb5a8b6aad42b74a20373ac8c8fca44447d5afb5bbe50736f269ae978fbd0c6b9e60218d7c0e6b6a6c584477faf8f8f8f4bbcf56051296304444ebd09d44dc16327ef49e6a7eff788cf63c383cbe5a99d191ba898a3c6646d83e32c2ec9f14b280f535903e8fa3e65beb79dff7cfaaf699ac9650bbd63cbe729c9ee6e9f169f9b44e331132b55a47c8c7c7c7a713ea40d9daa2b58550d7f5ce90ced83c60340f51179aa779dc5acffbbeffd18fe2d5ef3df019f2196a1f1fefbbefc213a9fdb95f798c367f4eed2b9543433e433e433e1d9ebc6f0f4f5ed8add56c4fbf666f419f283e55206109970f8665614dcbabb9f7f3685611dd5974e51cda42edcb444cfcec5f223723e3a88911591b59596e0410e57653d4701968064bdcad0743f0467125b4b5cf9eee01b80cd4e4e66a97816460032ec830906e3f674b4ea7f934d85f1e7dba5e8827fe42c8c75e8827fc42602f3f034f57f8d8d3c8ff68f8ed0b61c3cf91f038a86ae131187ac0040b4f3801042ba2a09291e1efe7e131a7eb592541199151fd55469491cf6f57b5a792d99d9279b17a1f86852dd6af4fc309566ec0a4548716e77cea3e7368b1bd8636bccede744a03fe5c54416c05b318c58351926593ba71e67a208bf22fd0b228ca191a2972e7e6635e1a1aa9b973ba40e3979ff19813f6fcac3a61e18987ebedf7209f4321f8e5db50882734fcd2be10f2aff0843dabae67957fca636678d07094b149d4a09180adaebfb7d8a2b34402f3954b905c482a5c078bf0840ca1efff43c3d45f615e733d80a87fbd56c4cf0f7ce4ecb10029b0289d7fa2a18fbef4998a2850780a30aa5c7f5974d331f2082149a56118c80745d77f94aa2957b0e08e9248fbb102cf1d65152aa7dca179cbeee8d3c0c2f185fcf09fc7b0cadf82df0abcf932b4455af4eb9a455abc42b79667c3544a6788a4459f9f4b17b9926358eb793c31e9b373bbda252d3603914eae0c83870106c3edd30fb6b9ccf500623eb390133c0eba7c1b88cd69518706581d9bc33ae858eb79dc0262756c0e837689cdb1397649c37098c3e3c93cd33f6d8edd6c0e3373cbee5419c81bcd093c747757b90a8223715a5cb57823570d33e510b9ba691822893386921c2b347e1937d6adaf31102b0f44e9e53b78e33fa3b0fc9680842adae78f34ab99d5de51f5574aef313c3e53387ede4a68ad873332bebbfb7ae20179b5e7d1daf759eb4e5a2cc2ebe88ec7cc60973f3d6ddd6a5aa13eb7ca1086f6147e1f0d10fb19e0f51fd8f2dd6a758b5533566c46852e1d722277e7f12107c37b3ae7f121ef31798f09741e77e23ca6afef4ebca7c4959e9dc887ba9bfeb4d6f3be69840c030b0a211c54d25f1c577a1e4dbbbb9f87c74896a3ea5beb793f409c566c6684bea63d0d4f2bcfaadfe779acabc990f1257046467873b33df6372d7fbd26b712aba88ec7744f574bcfdc69259cb136b3760b737268aec71e0b6b5ac2def1b6511175e168ad176a3aeedf880b67aee7d1d4893a2d141407b7d21edc4a8366322545782b4fbf2455f557582b2be168ade77ddfe4993c53c76302a285a8244cdb6872d4a121110000000023160000200c0c87834291401a67792ce60714000d6fac486e649e89b32c8951146510328410000001040001023333344501eae6ae20e08890d717ec3992cf993ab3f88627acd93503e44750d12b1e2148eeceb975d5eae10960a68b1930dbc26e80fd0f93cc2b7f6742ac015dc4d71e46d21ec22b69951295600be8be2f135c72e59a4bb595cb7e51def980ae2b222edcf5a3c50506b34923d5cb09a711b73c442adfefca9b57f46175a17677016bcd569404442913c0b53bad5391a27bc5a40a6bb1d64bfb0087967d79c6743cb7c197f679e75a6519992168a4923784c30b29778230bd9d1749b2142dc8390cc4e1299259d9352cf05c834385fe2cc2445aee64a628a3c760a0f35f345a7b9fefbaa92f961881bd37345b4c059d7bbe26009311a8d602a72d38fa504af59fa98474558c01a9bca38712ba80d4aac1b4fbe8226e7badd02bc4c48b21a0190679d78e4b29308515a8c2745b56805d019dedb9e2e9c7e9fc987761772354042623dad10f6022a1c0f4a0786312ab1edfd8378db6989f9d1fa38944a3415ae6fdf2306bec6519ff412524146161a278e105988e01c6472ad9fda90b22e1a1f700e6f52bc26845d16627da1370acf9daa521d67e15f9c6e1a8efc8d58663ae25414c7e49bf8a4d00e5be51efb08fac22577ed5afd2690aa34b008dedaa408216573e604895a6561443c76d8131c08305b4785bcc1ec22be0a09d019dfef85bccca9758e37b1ff3024d9959af609de0cff8321dd0081106f7f6c717e625a63daa59163b15248c2adc4339de296244e6ab4317c93da56a303cf062cd1e386a87da0919f4140b4e962657f55ba6a234f22e6d196e6eac9ff9f840c720afc2684b2d465626d25051123e918f079a75a1f9e030220affefc4f4e8ab1a26f48990f29fed9a4abe7e130867f51dbd7de61ec24c5733cc4e06ee2f6cf0838ed538347ff3943586b781cecaf9f15167fbbb98d4169670798cdf6337bb2b387760a9958db769c9b622496fa7f911cdb8b48b6ad6cf6de0f758733165cdf27aa56717df4c0591e33d465406cf01a0917409b6369d30323cace9cdc59e639789415b9b485366aa0533c90f9e1dbf5665999a7c69708ab239e72f32b262ad5b3ef902996890121f1562be7f3fff3b23b9c36bf92d7c015d614f604a6d3eea377e0e192699ee43a933edbbfe2fc98bf7b74dc8ab7115b099ea0ad9f427fa7d333b81df5357c0300f0f9725288f0c91ef609c342c38d2cea01b4695251ea25c323530471139877154de2fc5551a73548ee12458003c80ffe56d08d25afd158f57f8f1bcb0d8ec5a77b06621fdac485725904cc81915be697bed42830355accebe84ca8160f40e08cfe5b8158b8ff790aaee26416e3b9de9633a02eb22d4c26ffbebb392fc1ff89db946fa0e2ff386aabc703f8b3ab38dcffb51ff92369496ac7b36275af83db250a7c72a8d9a9f1a912e0bf440737429297874420cd916ef4ef0089a914880af88f4b465c974a86221e371e1307e31bdcce200fe61bdf0e1fa2e98af8789e87ea7cc97a4644fb4478a0f443fea907196b4f61a774ead8a6c66407264b4955fbab929bdb45aaf14002d8f1ce671cea2474cd0d4de16ec1350edb06b12a12d0fbe0a211a67ab8a54947a8d3472f82b345e19fca1ad645b808e82c3cc40a0fa5e8d9f06c3f03146446810a143fd39507e42d4327fa6980533c742b81c3737af362196fbab653dae8c6fd7e740acbb626cab351d97d75ed011b4c6501d6fd1ac551ebdb518dd5821c917c33f1e75302598b69d83b7fad1c243090a539f792c7e2453f797417de7dcaa94392eb79698ecf911b3ecdc2d16788bfe288d1a348dc45cb412bb6d39285a9747dab99909912dfc176003062bf6108d0caef407ab995598cc45ce589cdce8158e2214617ab3f87164156faffff42fe7e324438a01805dc4ddcb131e67f1a74e68ca3419b59c56bb24345a5281b8bd8476391f248021e38a3c1c982eb1f16648f5f872666c4ddf5de4d300c343aefec6b97e84ee1a0b877046b355d4dd8d5cb166feffa8ef18109e5dbfd139c58382e9a852f84f9a36bb2009661df9347250d5eb42ff41b4b6a6438c9748cd37ed031198d80aafcc98c362bb5be123fc29af58eaf29b7178b9200142deaff1addcd60d59e13e85188a25725b29ab03b7b28008b20ecca125e89d49e5c258fdbec155b844bea2f88141067507931596ca3764f6b1367062ee0f2fe065fe4fd9bf31e1f71596b24e3ab76a3f298f3853993ec64b7cf48b48cb8d73e5c98339dc14191152442d1d1ba3444837eb268dacdab7d9698a64de576f24b67bcbc0e4e894f74af20476ecf011d9fa34e56a544e1aacbafd0617dd3dab967f519501dbb3e9328a01f848407c49ad4c9ece00c559389b033e6cc8e28289c8f3e710182b3c9018b7d8e7462c9944445bc630905c874246881a14fae54e75d6c5b004a8931057cb639985847c74128eac9154a313fc0b5410e0f353a1e295537e234fc52d8b021488ee73705f8b7812af7c50f3e19ce7006de0502c64c31e9794a3064c582b2fd0e3957fb1b1109999008630515a7fd5cc2cd3ad25793281ef1a2edf2c1e91f34e27f8d653fd90dea1b0f3727be7ff6a8a8b987d68a18c6596ae88572e54fc1a9cea01c411de90a1d1a2db852909129db28c26d517a6926ded335ef90e66a2d66ec2b97170b316af9c879f330505b62095ac64417bb554c3dcbb355ef9665c596f660b9911afbcd97e5fa69f8f1846e7d14dd219eec8e8026c1ae3950ba4c705046602d4e106a32bf7101ba1cb34faa85f5cd068b24a385c6d8fbe9fddfbcef15b4b667946ca246818d7e518e72a57a79cb5a6eba94e33f510748ffb8c423003f9573c200589ec413189ce9d3bd3719c5fe5444d582228e2d08a700c1fd7c8ec7c18ab1cdd2461d534b99c455166bc3cb288fa13edf04058ae8df72591bdf2ecd1d4be196f6d8c3c4de1dc4196a14db6ff110861f7b0c818711604145a17cfa10de4fd3f1aeac0e48d0959818fef0cd04597a3a08722ca90dc4b4a84db5c27bea2ed36ce5189f11a8b96c7102cb13d79996ff5ecd8ef5ee3450b63d4eb1fc5a9529c2d5bbfef08e80b62ca844e87fe395fa4f59b3cf8ae8e9289db9058f9c8434eae997335f29156b339bb8812838723a1170524c10631e4e42e92b763bb544fa01bc0cf0b4b041355640dc4e498c2a18f101256f1e5777e3cc88b20a74d2e366e6c624e5ef1d8de912eee07bf978c363939d70dbe0a6f43b418bf3b407ee735f5bdf773d9e42f358003d7bf6569c795443873e385d2886cc2714fd2ad482945850816602dc60704fa66c5931988d07a8a3fff65e3d59fe7d498cb3e00a3ef013bdf8607faceb6f9e16fc7b53e880381be21cbf62be92acb5b197d83c5f80d69e72cd0f751e28588ce7fc842ff598a4e524733add054d437a1b77b74138f78587793dc9a96e9ec2fdf120189180732600712b55053720f4d7020f7c9c095749887b14b270343a22297ca03f5873c9cf6ca9c6c3a3c6ac4c7edba929c972afa9ef3507dc3212e899858c16942da3e75aa66ebdd1062091443fdfa6dcb02e313208141b0295c6932348e8eff717e4c001a414833341dcb91afdd3a10cb92623dbb8bbb52d1856f129c498923e7aab05dfc419cabb20bdfc4e8cff32d96c5f877af3cb5572f0c0422003f075f86cf1078c6946506ab2d05e11796579c8f1e7a9ef3b2682c7a66a12c0b9d4169bff721c2576a9549cd77a09ff55142d9d04160f5eb6d2fda2d3b39d40436f09b7b56ba99ad283b2a651a0eec95cd960f78cbdb06664c7f6ffeb8ca0627bc8d31f244d62110d0b60ec110bdc517a4e007c87232d63cdeadbde2f554b1500dca4242de663647e8998dae1421ee0ba6381ab73c8bdbb289789f14f7e7549341ac49019174e2e27af013dbcf8382d6a171b73c756045323cd191de9d2921b9b8f3e6300cafcd148c408af8a0a11491447be7450b5596f5e9090661e2e1ce7ddc4d1bf0e1328f93067b2651d9fcd0db1b159bf336b05900c7bdabc7688e70f71eea09b3dd4d9a0d3bcf5365889d45d44a06bb73a2c13c0c99b21a9e83f769a387e430de900341cb3d2d2d459ac49477fe2bfb63501a0b25de1682ab42a3d3c19dded1c97c2db041f4a6752c5db963025ff5e9293471099125812e9ad33b83504c3be072b98c0af7a3a8dd8b280c236c658c31a724def9d3405af3c3b4ec1416301f9a8123ba46fe55af5a98a46e065b0beef0e4f9c878fd6b187cb4890cfd5d8cf79fdf1c529538c422dc74e045fb0b563c4f3c4d88e0a4b186e46356a306483de67a060521e9f3be55b6c295617aff82940b27d70b3ffba9db4f8af29081f972d476a247c1710084cf358138c6877a790e02720fb3e21b22a66e08230e79daa04140404ba3af1a32234c1d2e20e919568ce7ee41009fc158e4710fff7e2d8c97fce6856c06461cd57f2f076c74827996c91662f4bed024c35f0e881e4062b27982dd23b5ad0d0a20163c2a592e30b5bac02a45cdca55edfb7feec2b6789a56b18c5f0752dd4b2338e9c208ca1345e385b06f3a7158a9a0ed658f134c89f8d4f79659c1df4c5966159f77fe42583e7c2f3874186e1da471d699e8b0f95dc8e0719c13f2e738ff859c4c9b2598030975b1e63b7c70c25fb501e2bf8f9d9decff2ce5c95a9a0c96ecc82703acdf8dfe5ade957e83c37f1df66970902608557eb49d94ae03666f42295327faaa816eedd7fcb0afca07f202f19f6b7debca0e020e17d934b326391665f00a4c2bded329df21570a756db3eddf9d6655482ca32d41e411bdd7901b8b6d5ebf669b2d7768a0ebb6727471311733444200574f23149218f88bdffd85e7a2bf153624d2095d72145a9b4a8fb08a293c3c2d32a6ddc041da96f4b3c1174d9cbe0384fd8a8505bdf63e0ee4c66bfe060139dd2a5b63112b3c248ba2b5c3c220727d7409398326e8a062d88831052aac068d16a73da2fa806d355a57faa394e9e601f4332252dda588d3aecab3e432c55733f13d413542707cda02cfd83c2e82d04ac88ef1725b61ece03259c5011fc30f0215f299aa02ba196c1dae3f1e3e78094a17437c55761247cb81a3579a9778144175bd558d890d052ccbaa391b04519581df0a36a13796a425371722d8f68eafe85691060ab5736741c2109d915c273944144f1f46174adfe82208489cc0068be248e852dc4b720467cb7bbf7ea95366bf5e19d2db34bc2b8c44a09a4b2be1611bfd97a2390b3d3b853c92c3810d71b017c8afad64557ba9492e274243e83be73f12ea204d25ccceaa01e99a02c38678e6e35ad62fd40acd67514c9926445fb95b65f4ac5ae9d91ce29649c7a48059f3154cc515b7f2a8958410be508edf9ebc17eda31c215099bac6b4b4a185bdab86b6fd7afbb0360ded8ac93e408e1d9b0ff8033353af74178d480444657cab9d54c5c18693f4f78e760f642ca3119f2d22ed4b1bc386b864ec681166d02ccd83843485d56526c81061d22d1aa9041751a9661994ee026f545df8223de5fdd9741148b2f4814402fcc81eb3624f88fcf238cabd2af45511d58fb30c19ccfb62472182b748b0cc3ff4b7c70a82a63e0ca704f5518137eb3ac63a8aa2887809cb02f864c7becee9bd1a8dc5a4f8223338b5bb72128c21deaa4579200073c5cb7dc119c611b9493fc805f492e8a3986f277e4d3b8ab2035d426886d9d2b7c0dc3a9107341c09a7282a152bb60814e4a9a51f18d7cba668585bab14fcd45d914ee7c9d57533053c3da38a84706deb7861beb089ab6231e97f98882fb990a0903c7fc9fab024152c3e3978c02524533d94a0b0ef4048be937a22370f9295a78e334ef42102aa61c8c0f1dcac35f1b762c64a4890bc632e3fc33e796d64e0900e0643fa567377a8b96c801b218871029299c8fa55cb7d9b60c1a265beb5162102ed66f25b0c326d95515a0dc565ebc9b7b947e24afa37234aaaa678c774eb9fecbdc60c5832ade328ce500102b1ebc13df602345620871974fa43d6c77264a1d9637e106c525d8187364d58c94f02906145fa8e78885216ef469b7b83aed019b3be07c4bb7d7187e0b3fc9893cbdb0f0aa42eb32cfe5f3687a1873f0fcd8535016baddba50f782952828a21ecc8e587c9c1dc623604e996eb84fd2689c5810ad7fc3536db6530b6858fe65072bb377b348ee03426fe2934aa6c037a0b88afabe7d31a056b2eff827c627cb003ef385fbb125ba3e3dd6121992e672bdbe7593621420c4de28fdf20c62ce80b4ce918fd774bc60ff3905acffbc5eebbd13b27cd6c64cd2e5963b25b8aa5211f5c58211988ae5111d4806e7ee430f26367420d1d3fe90c673f914aef99690456379fc7cf0fa2277611216978ceb70af41745a30dc9713e5648480dfdb8a97a0213cc61699d415744dbd694d2b9a291f5ad3f4d2b3b438ec58efe11d64703c36be81861e3c83672593703b499fb16151a44cafed6b46065363f1f8e7c86f20a970f30833cf0e5a122c4618096d236168541bed3d69a9a3442d26b62b8a6c5e2368ecf5a21175498a1ff2b606b62903616de9d959458af06a31e81f129cea23b31af61728b410131a6ff35ebaec81af25d9fca8f6f41ff473fd2929c8d0948fc79ce8b2fa0599464d9cf04012d6a3d6176ee0fcf2d31b48062383c47a78b3d8ae8c6f7787802e5b2e23ea13701be99be0b7d2e97d2e39b6d552e8d968fbed03ff7d04e933223fdc3ea3df0bed4ff72562edfdc4fd39dad70587605126c5d665f38a9c1269ffa0b32c4494585bec8b68a4c00d01a58966360c5c9aecfd7f6e437a6513da0eec146d87c2980518853b43b30c6edd3f4ffbf3eb5846d2282b34983c0bb8507f4976d79a7a90455c64133a186a5c51355af88b736e548cee1c01ce9333f39263db9eab10eecd8e504adfed1a891cbed0527e0ff59308656dab06a270abab252c3f89e692966b75b191080607f392e46f88ee64d39bfd332e2dbf0bf2da0b498f870a4a894b1694baa237c39566a13a21c6bc0f188cb8d91261b6432979afe45aa6f376f6cecffc3bc3500297f74ad499cd60d74409415f161dfb058224f424a802e4dbcc151550c122e7e32317885aa9f96cb1f6e8a72b6a5f4827684b3406a757d61b2308109a4c3d74326de6f7709b0d3659b93b379d9ef196306426732b8a6c6144c6a0fcba715b4937129566b6e04a1adbe30adc59cc85c5a5fda5997b34d1ef2f11931d86577973ce4010a1a017d9043b4ebbdb4cca2d9e7e58b34000d43c92bc4266e44f14b11af137b6c568a8931a84ba01500ac0f2130ab2b2cecbca06407226945ce2c3ffbe672eca4f5d4e4585ed50c927c394d42dc322cbcb8038495b02d168f736d591194434ebb6200f01e95793478bb06817f7a57c94e6910b0ac410ef5e32914999c575bed169000f17e1fc8eb1af6695ea4e961cd9b673b85547df01480e186f098907c332f1f830e72224ea79e3b61df5ba7b896309e1f13d98f7ca4d0f727165bbed20cef63b282e5d7ec29d024e6846b883740606056c9dff71de457707feac7c13881614af55e03f1b1c3c95708bb54e98cdeac971d1b6ee8e6cc9f9157dc0eadc7a7c68820fc5f3412ed8be76107b267580b5bf33409491c93679f77a194bbf09aba5114f219ab6e44366e22aee81d33cac3b724119db024544d4f8556c3dee5332d60542941fc591d066fdb5703774796ad35d40fa52015b36f4b85bf3da52fd6fff639953b412447cfcaa837818a42dfa5110156b78fc1a58f372f9c7a14ca68eab17cdcd80ab6a26dded1fd08c318c68e02ac613746fec5b561141019306ec88e1692ace1a86adc5b98aa3cc658c79f9efc4c4fbc4f7d906a6d3217dd38a4f7573d1abc293c7d0d707bcdc37d85535622117ff90042aaa7cec0ecd4e2ae19c19f4597c00ba878cdcd2156b6a43b8d147d5d59a26f6d18c5665e3a3ea91b900789503bced2d54594cc9cf36e01ea2905a734c1567fe58378819f901a221bc8ae42963430d5bd097e8ffce0af34c40e98f3ce049d4263c39bfa3807c0baf35fd54f286ed09ee183c80b0327176d08bcee15c2654962885676b01108f6a6f75c18cbe33071beee816087e79fb9f4f4b5de4272953154c734001a33d11607d2928f8b47ce8215b6d82feec252409808a35f4728285c8780f1cba310ece5e836a55f39a898f2b7922e1582fda8cb731a40b2bd6d2d420b7e224105697b58ae674dc95b5fd9c16f9b98a84fa2fc850d23ef7fe7e09d58b5fc171395c1e6e9ab5919c3d2704e292b354ecf73aff378a414b16d0f8944a2a79e35befc508e9f1a47c8df554f4738a28353c725b29ba6b8cf20ab9c77cb0aa46e478ae13f058fe023e23b0cd8d6e4da5ff9e48e026903c4157c3360b2ce136608efe0981f7871fc9608c1054eb0dcdb669a14f1451c4916e184dcfcaa9940c3d79bb47f9ed24a793f67b6030c65e6ad29e274cc183dd39a69c16983bf897f671d13177e1080d263a9782617b16c0c9127d2a27df96e3b68b6a3f9c123f28e31d7786a9fbdebb6156b70c32c34809ae4d3345c66cee507ec156c198c23cba1e7cafe54c8c99216300eea00e7c3d31773304d6b746aea469c1247079772c9153dc3edb2c8e1c9409d1e7525ffe89c8d39be6bcd81d34d6f97f3333cd692f5a2111eb9938ddb2e43d6b82e13647332828d087d6c73d7f5d65f944f7f5127a024200c87fb3abd0c9074e8f74e05274511f1eb54404096b1160ed47a034357414ea1ce708ec2b58ebaf61ed93baca55ac0aed4efeff3ad9684b97d85ca4ae0005b7e18d1ce9eb6c2635a58a530918dd869ef786061d41d034251031031ecee15b9ec953ff463ebc633ce62cf36b0eaae7d82219c293cfb8cc206a8b5f9ae51366ff2a97de64fde8a0dc31d15369a59621692212590822ff593ecae9d72b27cd56b12acbe24144b6788e1825474b369c9b52b3ea387cbc2e96f0a5d34941a988e980fe8b2b25bd1db489f2a415bc18db6179b1a4f0c8001ebe0353731c415bc997b6a3367d2cb2297b81ff0f513f8b6c2e10256dd8e7a90d5736f958051739e5d53ea8986e25df22fcec25c4198718559ebeb1aab1b12439cdf4a7b8da0680a32a8406c6b9c00cc935a841d7c4a020255ec5f6f5a414ec65781b1a5889abc19ffeaed2aaa44dffaba279f974558924eb9ca2703a13c511a3ca662eba2de9466da74da6329f4824dd3b022bfe6f33ccde2fad5c741171dc57ea1925007607c2a70a1ac2928707ce07f71f5153190bab13f46e343efeffb8ba9cd9b4e090b68061376f68a4f7b3780886da6e2061c32c72067649a35f5258b95249770f036a06fdcd8cb151fb3fe478beef177c10597178227009d96bc7e994f24872b601d67546fa6296421343eba7170befdda66fc72e0eecea34cc2fda866b8d47a8ae1f0b01f1fc0ab1e2d9bc21f9f75fe83ababc88a3e0cc522a90f8563924ac7be2115aed819f90b51b27d4321dab66f9cca956c5f3d480ea5b934edf922f4ed5e8290538475bc33daa4b1623078f12c07aa9302fa2556729f07ab6f4a1f996ea7aa9372df43f50d1d351f0afde5305c858c225ae67eb664acc4263053c9254f8cdbc8b531db8aa32b866c00bf14f7b0ff02089fed71589e2280905c2c505344e0e8e10ee586d6768222a24c08e20e41062277877e5d74b1353565e12f7e2a94b26d99c35f2f6b5564e34af47cf2891fe7d99ea015e2b962402a4e9b8187116d0ca97efbd20cc5b9aee07b4069dad5a0fb004487b000f703f31bb35da31d64a476454cbbae6fce6fc57884da229fe4568837fd5793f3ff47740c132ecac5fe40940e4b5e428cff6767bbe6479ba535a5968b19ebae4cbb2f697b80195023d08b19de7219ed863abfd52da7f26f6103da1b81d14e1a7609f8895129223cf61bc497bbca630e36af0bb993391df58d79432fc10957fb45cef0db985b4d3b09afeb13106554d4cd823cf343ae8f5a9c07ce0ab44632157daa5ccc84d625950db439be454070fd67ae62beb3b42cb192f01fdc917326c12b90542cd14c2a3e81b50a7ea0397f2e5d3ffb2f52cfc825be37567def5d3e3ba9bb96d4926be935969fbaa267819ddc311df27b52c09a562bdc2ab6cb3bd173795a9df980ffd7cf61fdf8d4c021d84ef6a16136a60504deeaebfc2b56e5ec645931b1ba6115e6fab626f5df460a689a8e9f3b562076182b2d5b16b5877063689055d0328d5e3b3464625b3f53aab3625eec58a89b1f1bbd332d80bf529f661226c852d5d8e0ee37db77d9fadef4cca27194fcac0f4947682e68175144a14576a938a3551720f8cf0df5b70efc3f7a8f5a28091c68ff5059f91f1f5797d8bb4979c170bc8362b3100038e6ebe1da57cfee0611df1316635499533c78e5c1c3d3b14d4ef53b881cbc8273c7017e1b8b6612ea324e8d0fe96cb91057d06cb181deb82bfb434e58b0ea879ea8afd4eae4e16ca2e84952437acee5ea73af99b807a71cff0f7ff0595e7f6dc85a76486abfd179fdb57f18b807253a76196ac3e3023a0dbc096739aa418c0af4735ab972d4775f9ee71090f7bb2a7a0e71694b6e80f8ab08a03f2eea2000813aecd440b84a75c0e27a19260736b4f3cebfdf71d1f67973e4cb6c276c2c09cb1b433c2037107407d6677b4461d288d89d171407dedfe3593a84912367f0798f0baa6f1d65121238ca6e73a9bc11fa59ff051fc1e4d67987f1b01395c64844a230b00b2cbd0f13f467242c5a95996f218efabc709cdff148b80adc0b8992e63132c7689a2e3f35d9b30c8783d3ca74cce69db1b74aae926fad6062812b13f70ee400f2d13cedffe2ec050ef789014ade9cba0da9502d02fedea927ec431b596d6243c7a5ac12ccf310a59d052f6ac014a7e32e36739d287e9c5da02100f99226418e49d16b0e02080f81833836a52c52619c72e7491aecc94b2686c98cdca3348188d7df54165d4a5597e404de673a546404c46684a4cf34eac1e25dc39d2c335744a8071d5c83a177b5e5ba4027788c7597d075d73e4b170f87c562e8473d6ea546e642f7c408c81a0759be6c143eee18b05990882140141545f66c7e591b52c7fa3db402b484b96db9f8e7f9faf6a51601a45dba4cb9aa677c76c0b9e191464a82cecce0e9a7f89024657103acef6822b8437109c742a48490c2a62f979fb9859b09dafca3b4c051e47af3a9e90c7d1d6d1c425fa6da1cc6bcc65e76ae0806410da7ae02f9c9c831883a59a29811ddbba503ebbc516c702e923298433b90339d4702d42cc9aa03f5c6aba0acc38805a4e0a77b32607ad81dcfb016bdab1e43391c50b7dc1ed9059d5dcaeb2e68747f87faae56cc364d7f3922f582daa6c885ae87a0c3158a6f8a03514f853057b1a9171c3aba35411111269a137a278e04ef659bd48090a174b39b40dd839b2b2801c1ce495561f9d36dafb940ad4532adbde5c697dd87d4d4b9628b31c0a9c9de6a9e5933e776776af89bc9ea1a31700e151714faa209bbf0be8818937a9c769a36c20158141ddee199af23d175a987f240edc5b9b050375137185c2b1c42a9540a39bf602433d606275a768a60ba01b5b59c941eb5628c9cf0977b3f2f45903b625d97ae7e075396d4d24e79e3b046f9d4edd0f0a3885be7042c4f6300c3529ae0fe803806f85403557c18851d88a05fdc54e7eb23001344ea7a98d47e94771d52df83017f2ad1b23761217565bc52c13140e2a44e416a09f6c59d725c916b595b485da6d5aaaee168f807583b34f1be92f17c1cfa50a2a0004175e9a45242dc069bb42cee84de0e47194e13772c8752fc2589862dab34a4ab96b8cd4750f4b233329293156386b5114315cb6e9ca14cdb5d66d32f7adc50479d68a63dd30fcd6cf441a8f14cb66d30f470b287524e2625e6877e12e98621666e086ae827181211e7328268128e3ac167d27def970ff180d340295c718d2f3ad0669c67d093baa368d7722d8f43bb362f3b9f9d8fd5de13eed5fe5e95b0318972bbdf644b69a61e0e42ccd5e93ac89e762df6331f847a647d1a638193eb281a732b2205bdd1169d80725d7333a8e7d54397720229b3b4ca5552f744805ae6af5005d5b0c4d93466cb9b8a0ab30e5bb91585748261ba59d0b2230016dc73ee66c4179363fcd617c5a84410167423f8bea204c7a6f15a0435ab0391f16a49db6fbc8f12823bddbc33cdaa517f1543847ab4868a31fa34b3a3fd7ee4ef66e8fe3841ea1185a2334d101c5f2e63d5e5418b3ac5c52a8cbad60bbe298c2b5fdf85831575b9d9a49a4eeae8156ed83f9a4c376c83b906792dc0cf29b78f73b36ab7803aa0c48a8f47fb2d03a8cf428370eb545f0a34fec909f40f9c405a2735d424d1729dfe1a31960e2d8dd8eb21d06d78e7f4797c5788e6bc2e4550aa94220081ebbb02e35e8344ebd0786e0e86eb978c2290c787998abbb72802e930925a30fcd26a07f95a61709e470c3f2cbe4b5416fa67fcac22a815b4a1ebe656ee28f6dcea8eb181e8354021240838d21be39921aacb3034b7f91e7aa999b9a8819e06244b1b2eeb5677993bef2ace39aaeccf2baead9ef4d5632e596856e0d8caee2148a460b5e0c1732d846ef42aa840fed16326058b4e891c29ba06bfa9058f7314bcf75b25c2686307e53be6d2d54ae52c213100efa847470a7169b2fd40b681419a28fc84a0e03e4948986045245b66f4d9a5b92cbf5489b6d5549390a0b9145bc6614cb65c44a35b8b72251a7772abeb12d4788afbcc970902478044058968ab6b3dd1ab6175905d1f3cf8067e14e6bb7aadcbd538983900cfd2432dcf22096aa1c547afe02bc2883af47f5f1e899c3cd39834e7fe6b2dce93f0a07199e33b8cebfb3d739fb0b478ba7fa4409b4589f40d34e9a486b6dac18ef25939541bfc49a1adb1ef946e4c29e68b16a711cedaed05d089866aac3546a278500e5a069621c0468aba2f4f506b06b0e885649f556e1e741fa32b80891033d7d6d838668d025dc95c351b34a00f7101a8ded52287d2b4206aefd815ba343e9bea1eb1976d71461a3bbba5eca3c65a8b068103a91dba4c5b880954bdb4c10a0f15c178f7b086f074db11e399e9b3c04b6d5dc46899b7ae8dc6c9f40fbf7c675d1db1c0e5cfdc7f3cfb989825c0c349d9ad8d54ba355832a9cf2e4906d422e4c06f7a9c42107e25798cd5e77d2e9ac66695189e62c364851b220e2e6628540e65ecbbe4d2171317b14ca605a1c3f5344cacf5631fa07e1d1fe1964d291b190c0e800178c24a93723b030817a15c304697a21c3194d85a3bcf1129aec434cc846504bae6e9b8a8db695fc31d5aaf4e35b92702a72d6cdd5e2c7f4b599003e85343b032ba78e0a1f2fd6b08196d19f4a650e42bb0e87696690c0841b0ba50e9ded03b4137d6b57dca2ba116657cf0195dba987289aaf188052eb5302edddfa042d60e624a8b4201cd837d6430b7c74358e4876a9714a08164688e07a8563f697fa64eb2cc6b4a23bbafe8cc2fc24f143ea3e95e95ccfb0a77dc0e78f4159a7368e81179a832be8a45c17b4a9f788514be73d6da959fde5a5b82899a3be71c5f168a7753deadee79de7c3262141bea72798aa183a9d7aa20863f5431984bfe5c8608bcc3ff1153672f622e877f0c4defb45e2710c45cde4b110c835e191fe7d5b3f9c0da62197d14713f4ea095b9e479bc0c3db650dfe3ab02ff6aa246c092bd60d5b688608bdba06eb2e90c1e6f6dbfd14d0e95112e31af96d71b80e7c2723388bcf471d0aebd8811cceaf35249168a1fb0a64183bc5ea83a6ec460334bfa2c6991a4d63b5650b8c3ad778006854c2224e48d227708f1f5fac7c8f06e05669c1d62963f88ba078aca8dbb84ff68e9e5029792b632722d9c1e9ea1276a2020b632d61fb6c62f0f5b16d1069f4fd1da4c8c07c849a223072ff209489b43f6b397e7a463739d549e75e03c93989cf6d165258276a79b06670b6eab27d5e50556dfa22907c751fcdc38adf82e2f872c4a5b900a22477d0600c62c1cc5f05e39a902fc716b76104ba4f721125e058d0a5e7280330ebddd439ac4a42827a71baa1f9bcd34aa112abfe9c668ea956ead55ca941ce3c3e1e42e620835ca05d525467b2a0aae5c493b6dc60ddc43a491be563c02aba3b18cd2c4d465cfdb43b152cb03d6f7dfcc01451c65596f63513fe6b8f6902895abe28bd518599914390987a57b7870ffc7dcb48fdb6b3450ac696f8f9615238f4be7a3e74838ab7f79423a4351bc6417b945cfcdab6f2e26367237df40b25c020887ebf85cf50a8d3ce4d51f976e7001e412a319e76b95c3dacd82ffb66870de00357ae3454f215dd92ba046c2c8a197c895e5098eda69b18877fb1a777d9375326498711a5ecafcd290fe2ab6ac1755ffb42e87ace6a1d6e331aeaf86f939d6cd9b6950771557c962c670fe538b5e5c368cfa5674201799459772486b63581c0d3aac9b22de087f5e0b614f541b1dc2e8efd6e222af507c3e76821e81bd861beb5a5c86cab06e58584c4d02363833efe5848d12e1588cd1a216f965a858746a167749a9d8736b4de0c93938fa49e0560f428d6960ffb9a0dd626760fc7817e7e289e104aa2cc8ce409a2a5f35af4d04616738dbef9713762f268465edda3a15176abf30fed9f6c3e2b645a17c24882ff8f45637c7da00fb549119dcb03514a3ecf28cfffab70eaa3159726f89d047ab6b0991f22799e8695584f6b57247ef518b6e1725bf9dc5bc58c488f9b338f41d4c74fe50cd4ed3e2f807d44f4af75fc02735f33fe8a4f7975e58f6d2655372da2c617d852837de0099c99c58deac443a11c011dc0e4827e29b7c74c2a2932db01eb931f154d189fcf9ef9e9aed5698635c347fa29bae0ea67ee1d1763f146651288c48dbd8168dd8c50f0ce73f368d5a9a091a879aa6f2b7c09728102d42532dd5214d51b54c54b231e28e462cfdb31e89b542c5d2684c94be64460cb53b1489a7e14d98971b14fc65c4c73981a271092dc896def98415e6fb1950625483b8425c5d9157e63d319e196d25b7aaecebed1070394c0b055791cfc8304962848933942761dc182ae5eb61a8b5bab2a013f2bc14ad45387af7f879d2ff654bb6b1683b740b0031e5177d51767c00638430854e78f5254f88cb494ae54352b52fc2703c3beb51e87fdaf260c9a48e59a79e5f8df5b925e8446029a058e82785e9f2673697632e8cbd5b2add52101bb6d60f558706ac8aa813a114ee1224bd85f9a5453d74c2d9af2052bdc9e3d1a031bd4002f2318b0f7e03c4a874f8a6644a2c9aef0468e72811088950226efedf562c88f5db492a600055cc875e828ff525804e2bafc135cbbfd0042aa6e8eb1a18b0c67d8a5ec4ed72a2d62ae6516b8ab1b85718bd34673fedff3dd5b6c849cef0025a98934843b26910477c606f2cde929ef16d663fe7a305a282b559d7f935892969e72f76344dc11ff64dfbb3eba32b826b9576458351437a16fad06ceb79e2b3109cd257437409037b412c3c53c6dd7c49c8e0164d795a2499d41769241837742913489ff93e40caa4d0b132581f1caaaf236b62c4cf70662fc920801e12e8c28c69f8a02fee9a58d8ed6cf937f4c5704e232712166701faa7f11fd660a1894d9e0e352c4102d3b036666d32487d0d833381d9e1bb4878808de0caa24f11c6666cbe5dff107e701e8e1c610cb15ef4b7b4e561fd35d15d6956f3a0881a612a4009e04aea6e7cd35f01dceda4c5c8a582c0448178f3ed29b53c4586ab65f96b005c544f67d59f75b576115cf070cd3521164b2fa16b6d085566ca3ff9528e0f0ba2526c762db3ec611d11dac2df10b9084a009a6457a031d66fd0cae7977c59c28fe8d3542abd31d2171b834ea2f94db3b19ee9c9d5584969c0fbbd58ab45f53aeb618efa3e3b7b2374f727e861ef0a638fdee5550e62e429063d031eae54f2dd071df7f7449132c8bc24fde948ac4429f25cadb5d887bdf1bc8fe4cf01ab0f39c74416ee080df77deefb73cac4144d9169603212e174296b2ca40e1ade04f40d978d9b6a1d8fde2acd0bbfce268de834dcd8672b32763fd04b9c45d4ea786a2e8d95ac0becb1a734fdb4aa9c3566cde3de714c3d232dfb0ec98db32fd7abf49a8e203397aa105e1fbee9dc0d506a4a822eba16b83774ffded5e9afed8e066c3beac526b539de197b64814b969974f3e1dff0ca616c2ef91beb753606d3ebda2c75fc54c7d29a0a54e7b3df12d6eeef6a8587597ec6d81cfa689c8df0422cdc03d9cd3f8088806bf16f3687138a469a412a9b4bf3d3525622cde9faeb232a9663a71d65f085c6570607fd4f8ae0886a64d0655a20f2d0c406ac4c064330dc7bcc212728f5fef886d3a04037c2bf8da9c9a0af2bd164f7fefb72953f60b1c87165c4831cc3e9be4900adc46d8eb04c59a7236c784e869966a02780668d5d19088a7262bdc3c0391861f743f3ab2501ac587c034205114eae0f17805dcb7b32f4bfe9388ddffe6d008d40f92d4a50b51e86d7dc366374c4042f6b1dec3d35339960caaa4989648a780b99315897c058dc60de68c0f9f1c64d909dc56251c1ad5eb79ba396474ecbc3d448a4e1910e263cd32b6871de0d469894fc67539999aa0dd303f6399136c44429f680499a68681cfde83e2eb9034a06f8f0b2be2a2945dbe4f01d04a5b95a9f2dd7e0123976ba179d6a42eaed7868034d904fcd77927a482d17c9f5006ac8ff6d03ae50f4e2a09c3b2130497db180f3598ec298936bbfae9a3ab9927e67fa0f3c086a868cdb9cc33e4d49721cdd5e858de6a5219a550a48b90ae92a356692524db838b8cb587e4bf69566a0ffb04974672186f6565958a31c308ef349a2606f9fd5f763d7c73a5809c29d95e30a5135eb3d3c01fdca38bc8f538705a87213e41ea1c8e9559c96bc203454b46c3008831ee57ede7cf5cbc33ad1c06cc62d5e706416cb1d9b5f3d7a8534591a330c02651ba5d51d3e6d88445e2241cc3b3229d55fdb289ad036ec20638f30954ca5c20c7475261771bcc100882a37e939ddbc5dca45df203126c0c0117f1c9011b156c51eb39a665df3bfd25b0ced31ea8af8adb7af390ebd986cd5ef572eac53c794586340e239c3bc3686b5697facf98d7df7b4b38886bf85dfd80f9c8cbd3930c85e34f098b2336bf3eb113decf34337218463ef4d2b3c76327a027d91178d3d4302f2cae031b2782c34ebc91412e4180aa6f973c6a5ad5c99f939962cc2368fb127c4d9e268def6087369e89518c32c4882516aab5309bfd015b94a67495480cd9ab3111398aa13f3a86d207756ecfcc182d4b83e0ea3c12c87fe4de45d903c4b103e8eed03ddd9e147eb2cc8a7951b25567176d1ef10f755611643e8f0c01a99ff3aca97aaba5d9d486f302a61b9e558761637e6981d603a456195403e260ca53fa0bd74dc14b07f564001437f966b83ee23613c4839cc1924e02318b82fec7cc4dc4db8044d26ee22c6ad483bcf6b5ec4339cad84a5e7608767aa5cdb3215a0bf507d13938cb3ed1cec163ca26fd2072e3f7bff27434cb09db05022854a479e8de5d6ec08538d69842414cd041b76659883752e4a860fdb9784b5a2fe662948019d8b2ed13dff201da9aff614de0fb3fecea71b3cf1c5d01a33ace2b3e2a915197e379818fd907cc191bdd499ddeeb0e92c33f2913286a370f93c58553e82028441a366a249e30e26832513a27a06b2fe1f552e308a5486101ef1353e56be5aeeb77cb01cfcfcf03e53e0a074648433de7df51c5bcdc38ef71bd01065321928e2b2c9a0fbc2f8ae38c268e28594071d962a1c916ee8442413d3c3675c3c2744ad1b8cdf85da71c1b615f72f135013c03d92ef31ed0dac583572a1bb376edffe313a72d475308abdf6414e1f53c0aedf2c379150892e983d17de022e85d2a4a2c83627507c41efe945fe3eb4626531313aedc3562e0a6e4b17fce1557ecdf08cd597beb478216701b99514e6e480c6fb5d4cfcd6a9b685a03a7089e946da71ad8c9218d6644fc50f049ecb258090b867f400b0cf768907878fa4237f1541450232bc3910c5ef3a35bdb4bba5f80c5918ac35261587333063e4d08efaa2901a0f00b94486a1fc41d9c3729241a59349a91cdeb25e5858333fcc681604064064fc15453a2c78af51dc0d4244188de740c26ab91cf49d6fc85068a0d58237ca59dc13794318b59e40aa04ab4a2d27cfae8feab76b6c316e761091ebd561d0167d322d49707194058e9bc3e5afa59696a63c5bf04be2f5f06742857e28451be498c6941a0c68cee480f6092cc3f96545a484d4be76c1556134d07abc71ecd3b776540261eca9bfd98749c4051ee5575cb6b558661563456ad2b82d7fcf787a22564a5b0d18aca2a193047bf03348b4d129f4601cc561fb750cba1d42bd3fdff81ad985a85800ca948ccce45af995212259c6bafd0feb722df86fa219a3f1bbf7f4b3ead29f9662ec6317ef55a8f629afe9a569eacfd37713e82cc108793398ab330e0339390835805b74404560c03c7b6e21ff6c3873ed16767e0c3815e33a80f547dd67e297edc5aeecdcd6c0ec0d9bb052bc50320f57681522c5be35d9369affaeae9b01d621456ba3f438794bac0201c47fbf42a90490caa6304afad696241d1911abb9a800522d2f62bac17556a5b2b90c95580ebeaea214429c56dfa8b21003861b6625b64e463450233aa90f0aede5033e0b75fe76d552b85620fc31b50a979d4be9080a7d4814308a5880808a8fa79bbcffc1a0c162fd39754980e610b60b5b1c541bf5554a565496acaa52040e4c39c870dc944556246fe88c30053d88607f3a8d9e6b82a96dda74c5a2906865b5388c929b2993139d9235888835f72f5a5d02972ff1a1f6116cd1ae95c87f8e70b538f3f09195365504a8ae83721b24f2124703e25b40d799a3a478e4f17377fe5ba8ff2439b856fa8c03580e6d2e5bc02675d8bf0ea915c8123042f087f5d5c2457778b9a0b408379fa88b20ade868b87b2cf6878404145c7ea6cc06f5e17b8770acc4c289285a2e901865ea6718bd7502e183896a2901aead292585df1f7288b4416662358c2da7d1f20fc195ffa9d23bcf78792b2775d7b35ea59fcea435657668e856091f8b1b4fa086d626fc1a609bb30ae8087b63223366da843991fe3cc82617222be4a8382b6494bd9883ec7ce36dcb51bbe5459f76bc09aab47650a3222e2fc90d2481283a2c0c502c11072b3b8c6ac17d14d13f971da856935ab92fb4acab1dc7c02084e69d679f0729ca32bc848a098997fe4a6aa3561fe184a3ec9f5dde8fd74257ee20e2380df9106ac92d9455819749bc34f06b08d32b9f68f518e72dea09eec9b6eb775aaeb226912dbeec099268394391441179d0f4f4ba44247e0f6d5ab82e358bc4ca90442d73a1b20622b515bd354239b3ed34494e4754758b61749f3e2467dd8e99de3635163b7ebd82a38a2233b175406892e149f84b81aa4174fb4d587653e2c807174b276d68a5692bc53bd9c9e764c0fb11881543debba88a577a85bc37723201d9b7fdf69a135e10ed81b83bfb5ebfe758a9f3141bc78047d391a607cb8408963493e5e2b08cd642404fbfc05ecbf50a7fa2aefffe0e6f462fd37b84f41b782d448c368cc0260a37a72ca5194b5672526309f781b0c91e8cc13b0243f8f89e6bf5b7a316ec3877505a55132618de8e36e401bcc3d87ecb57e2c9d9462eeed4ebe195efc56e216a67dc60b7374ec000a109a6e5a3149c91b9135eaf93e7b0d920afd667ce6d6ce3ab1be51c3632e0b523a5b81f49470e2ae6973ed029e1cced05c64e6f3e00993c8932646981f634e4f68546beafa260e0a3c77c89efe884f97920e1b6b21dd530d0f436faf6f26bc6c44b5329263e60d9ecc2408240972440261367152740e9de9caec0cf12120c87c445ae315f2db366997192ccb695c6dfd502711f91777d4e5e758f7338fb0137f57667941af54a10a7dee863456144bf4442cd1208152d1d6883c38d2c6540edf5347b5dfed70f9c7d0796521961885dee09ab3ae87851975edc83ceac19b2d58e5a31365338b5aba2d20286f0d10cce6417a14f26c709a4ec9096dbd82b7e853cb28bd8a7b6dbdd9afb443c217969a35d8b383db357f56c14861bae4a13d37152651f841f75ef4f740045b0eb17194a3e08d9d8350da3c397da286692254a091370718e4bea4fa249373ebc53a26ecd52bfa6f4386c8230ce2f1358144e9892f16d61c86f399918d876eb29b4664a56cafec78190c04c385fe32aa84a2868c3c9af00dc0f39dbf0f83bca7f5c5e292d15169245f2515e5fdfcbf7ba2d618c49b23cc16b3df84f130856373c35a23149135c27021057197b513ec11d34060accaf8d8a93910cb51126a28fc832b55ccaae26f7f2275bec7492a1fef872daa2f4b3bcc50216403a9567fb59e8add442d8c24c9ebf0976061a7b2f4958047a7f0f42361f4726ab34d941db33a86f69485592780be68317748b207ed5ad648a589b56c070db2224ee93d03a474698336ed1e1a8b51cc30399cd6b42cffb3f6454483b3d24cfbcb24fa43ee64ce0e92e8d0b54438e0c3d7f4a3013c28b783e2ddf12639da3f9062fa9c9b138657bafb69410b9c79015da570713a1a25487d30bed3eba7915badf955afb99439857f9dd348efa6368592c14c82e904e34f1072c4eb6ca17dc109beecad81dcf36e7aed46ed8d5724a24dc3c9e62995adba76b8de3c7ec374fe13fb5dfbc42031f282e10903c13ff5c83652cdb6fa3ce6fa11e13acaf0e0268c5ee8d1068d05baf0299f9b3db181788f0a635f54b0fc8d0dae2a0b75c9a241fd95d8b3e3af7ea223acca1550587cb8ff65082a6a77281914f4e7e8f67747918cd8b946e420cc35f15e50f19d7aee1c9300178a4f18aa02f72fd68e59b4cdf634fd3a3a18babe6d41ba9201dbc481c3ab99a183882abd5b163b3667a10be8c49daa347fd4919a10a950867df00b03595a75b4ee28b81878f3d305b46304b9fb6b4a665643c521e793b6b5f1c1c99626a325554c0e1feae8e68930de5f9d06012094bb89d1d122d1bfc5a2ffa5f7699789a9bd3c3f0132f728d99455ad5e32c003797083d0f68761dc3454d715c5f4a144c4b46722cb3e05ff649ef81bd5d2c670f1f4106d370e82b6d16d750bdae9e9d143e2b4e11f4c2843133134a3245a05636c387ffd4fc045be93a4342f1a63a50159a84af557b0ec17da8a80b83954445b2a565af8710f04a7af34bb9139f0f8a75c9e30125dd3a905eaead84079317db93924ef756b6195c52692fe1993069b3b264ef9ecadcb276f57cc34b4de0a81f87cac881a28c0268025b1fa86999940050c3283b345c62d8353e374bbae5ab5ccfe671f0c0c72cbd2cda22d492968b6a9abe7052a514032959d655d0ccaad43b965954735f0fd0199378f106649e8372a585623fc98a1d933e0e4b5cb82ff8d3d55fa9ab11b686faf643aeec8bb602fdc76185c975e0106088758746c1797e51938875ca116faed6102ca859565165bc31778c8f6899b2b1892ed7799d4d553d874e2cb86a21a09bd75bd585a8cb483a4e35d9383571ef6ee06201c22bf8a02a062297e9bd2a81a2cfa4caa17e1560c87343c237d1b724b634ab03befb4dbd7c47389e9c4bfb2d69cfd3cda00c8e7f3c5a02d72d7d60dec0ac19476cccba7b510c362eb9fddcd7de0b6bbc8af0a730526f9f0cb10e0411c4c627c2e7e2f03b388c314de4126fa818e9e66e6aa609976fabb278284aa2e1fb9c839ac2b9654575cb7a58f33f7fbbf4fe8194e2819eb0bad8cad48c09c95ea48d6bd5cfe739350ac12f210a3ddf1ceddbdfeb08c4acd8342a6acf22cc542cb774e250c011fce3d29b0f04c67f18e4f8d7ab7f12cd991110472b6102fee7048a7c33d317065fc2baaeb7d9147dc91f637e06ab2337a868103254eb0dc7f1b7cd3b2a12a5aefcc195de976f98b683cae9b63be38f7eb9cf13f95d7f11555ab49bba432a32f3e191de508f941acaa95bfcc6dc1ff11c899883e597f1e429818c17da972c5f29352ffeece2dfa552c2728b79aecd53c5f361ea43bc92d0e9fb42a734401dbfee96e130e8fcd047a8c8dd6b0795c0b30199bf68d734e1ce959d5a64bca1e75137ef9b9fc5878dfadc310515ed9c669f8014d4460050d660816153448ace666b8a0c73017cc6a3602ab4be5f519039495cd82211dbaee59209dae89aa47abb1cda7525d22285684a29138f059609d8dc3b2722dda8b221b2939984a6b6e30b2607b2c138aa7d19d93befa22a0d00adad5461ea5168b19f3f152c399866b9904d1d02bd2a560b576c2fcd8fe60384509b71ac3ec78e1b1c9d2a3880d3cddb39543577b6dcce7003e9dcaeb19442d8204011db1329ebea23e57df2cba526ff78faa1e2c0e2b808876e635bfacd90ceefb5232c9ec431c0170d3703d22825e47526a1055a5f13a92f618fd2ea2a453575f584788b409f34f038eab7e45c96015c067a0cb14ab50e8a7e1d58907605d1d95a3036676b109a6f7f8fa87eb82eb7ec54a02379f1179b14c2478ff72f9e835031ff68fe50125ad888124a665c3c1466888592259af1744a490cc048eec9cae6f7e6cf6c59d880ed1067ecb0a17f0e18acb577ee4135910113ef6bd1ffd4dc98036ca78f24cd59c8675d4f30effa2213db5fae369f1df4f13d4cbd9348e670c7f1fc364b941ed1bc3010450536636b82574761a8e7694f76b90fe8670b7ae645bbcffd6cc67bc2b0977488b9924039c2ea011a3247ca3aba62b80f96600003ca1127c1156830e8a69136fc2f397a3f39b68ce264904945ab28803f522f4b54c20f34968d6a48bf6b54a1cd38c062ceca49516f9572f4cc4a4762982500a8ac297ecc56ce8659a4412a0d749503f61c70dc4426e4a42ac31ebf122a77b9a735b2ae7c7af2a782eb4797225b269807587aa586f696687abab1007194ecdc68846057ac79e3cbeca1bf859bdff317010d6dd80ad2011806a2f919c48c572c6510664cf3fa05ccbbf12ca061d1bb6319f86357730a8a53934e85e4bf698a34ba000602a5291265214e93639ac1a903902bdee9cda6fc2002b2503cb1a5e66cccbbb30393f332febd3ad270e44553e4c58896ae899df6cce95c943d6cda43b3c1e2fee8f91d6ccaf309f4005a09ff5242fc012405c648ba36e732ea71a5bf632d857a925d69ca6de2372c1b8a1c47a040d016e2f5043cabd294a97160bd51aaee08f653c091a701d5253a4bbbf82db4c7417094ec18a3a6dc3bbbcd9286907b2550aaaf23fd404f6f6079bd91ac0df8500ef408ff870b25662ae11329f2d62937d39a929e15e42dad405d7e9e2fdb19db54f5f39e3f548444785b8c7884c4257d630d1f84bfa67926b4191cc0f3b4f78378ab466c671f907fe3552ef08dd098c6353bb3a66b3f7efd1471f3d54a6f56668bb4d4e7ff34e9d8f240331a406ce04a72166bd020d67d5fbf5ab90f11fc35c18650ea3fc968255835d44a738853c5d2cfdfa74e53534d864c1fb70c08d1b9df572d94f4afd0cad0198fa3e24b7cf7e49157d739956741cb2331628e7ce73913a033d70db9b3405be6db1374a6948f11a38e626ea2be0b7f111ce1c1f727a4c6b18207c4f37b9b8cc9f6574e6e8108f89d988dd27d992130ed6511cb7fc0b8b685db0e183a9c0c7e845f793abce1c3eca0eb3b8831c204cef3f70d7acab21ecb3407c56cf5bdff2d505924b2b6fca8bb4046aa16bd2755ad024005bc80b20f0994ae521add1813e9164342b8eb7e73450b49bc08989780d3d271cb085cdc31a8072b3cff8eb5f8d0198c2fffd52ee88dd11f60d81cc48188bd0c7106635d1ac1109ec120656a0476f60e5e43e6f09a3de7ce921a90f70280ad17d6b72bc417e0ec50488c838c2ebfd476cdd7144d6d9253057349f14aa7b84f3eb9caebf4fabd88ac74a3ef9b6a2b7d82c00e4c38e8eb8083e5178ebcc288139abc05b64500010aac814dab71c8369ad9a686431af1a7789e2da6621efd7edcf674ca713e048c9299da0ab6611c7f7c9942e3d39a6c7b1a1d848cad360c7a003b8336bbd04cab2c9a436d74304c40a608dc142090fc8007546d5d27035d8c27c454e330bd0d2608679c852576aa6c4f5a15b2fc94fd0e43dd832eeeaaae92af9230e7b59bb0f85aa338148a5bd28f826affadb49c73192faf322722e793a02044959eec5c38cbf88cc68857be4923bd328fa30908762a1d152ab4e472e3561f2922c84ab83fb80966c7ed71b959c195450aa67fa73fec25563ee13092a2f7627fa567a6e2dbf821dcfb2cd1dbcead7a7291c5ebec41fce35e85668f7535509a2028bd032c6ff483fbea2c20d2247c1ecc464c8d888933bf1510e1827e0fffdd3e27c9c7c9fb88dfa2d92ca847b9dbd5ca7a728485857b093eb31a62f5f6ff2138f21c8820c3e44a831a933659f9d7e8a5fab98bb5fe8cca153c39e0cdfe32c1574b8858973b1e9232619d02a777b750e3707a978a65ccb7445f6a1fa8aa977bcd2f7f0ecbc8637de1f7d8079355026e1666277fdeb8039ae351bba4a1072460e1580b83e9f3289d506d59cea4013142f55bdc0123eb692b12dcfc33fdac2f3ed29e30ea837320ae098aad839e4818682fbe3e1f658886c382568a37f52c8dbc590ec63bb2b57005dec528fde56c9f4d8b957c2d51fcc74ff6e7c71d6916c88d64f46e98576559c2530db1d61d6b2a55b81209f53d8bb00e4d2386448e6a9de2b11e802a02e1e9b16a43648de62f46bc0e6e1f1a28ef549a233a250e89bf6a2a831b0fe17c930c20f2a833b50556048b47a3aa16b6832cd80fdfaedd9e35c325cd33cc3634756de49c7626d953a8288830bad1d4748d6bf358edaebf3d8db3f8db13427658bcae2f04c5d526def9e9ef3118b2570932ebf0fab5885080d2a14f4b706c4ccdb355dae33d6fbf9cc177d4aa6dec387d1a12232913b7f6514bba4268ef342e34bcef71de833caa940f769ba23c55fc2378d81f870f2524c7c5bde87b6b49b176be11a70a52453e31a6cb180e266b28f4f61c0c7d547cb5c472d0ed3b8fd54c0d86a81412f44e67a4746510842947e72734ccacbcfc980b1eb31fb25f601da4bbceb26e6ed0fdb15ffc9503cbb9340888be1a85eddbb2d7f1cf2abd1c9d7a338ae6ce970dc2d223ce2bfee714d48fa9c5aed99e0675edc58277c3bbbf3f3235a91c44fd222824d827c1cab5dee7fe1a7a59fb83bb68fcd4194223415d82a16d3489d7e0c7fb1c17c5f4e08ee8b9ae9498f017513085936965b15124d7b0ddb2e1c3d76044691366b5a8a6bcbf2927c62a293ec02cbfc22e5856d01d3691f594adcbf1d99b7c14d51561683e10d0698c5b7601103231dbfaf09b581f195a7d5e67c7fa1550d368bf072c3542b78c41f3607dffc459923e1060dfdb691a8752bf1e1c9343ed621da8818d674d79859b0cf7ae8f64348daa822e984fbae8a83244013bb5ddf3ab4737d4d7586a4ff68006b64142f26520ca3fc20ae98a4eec3710e9306f3255aaa490eae994104012293b78d1d57b259db496e604e5f3752abf51adea5709715ad52e9eec065a152da2742724f4330e66b8dd5d66373061fc6c0a079fcd927f4c879635265e3eef0117bb669dd6a32e529f2c0ef19282a17b3495628493600247ac0a8677e75714fb08ded732cf7988b5092ceffea4415617461f6b8a17b550f9b83460f97a6dbf96b33bc75d19a9652b7a44a7eee4362625aafa9dde93e211ac6a93d8257e39eed32792d9cf32acc24992f613b23fae6e4be08a6a97d675d2cc3f24d921483eb061cf28d8068b50ec3a3d120d3809c6f77d070ff68c8227fc9d792874849e6aec27d03d9d1751885535d43f8bcbdc3d82135a0b84d1778961a508ae436a353c2f4c07410f8162c829f20aadeeaa1703b4e459cd19d871c564360dbe42ca01834627ce98bed7414035c44e689299c0b755a42df17168cfe3bdf207ceb9a0f2a43fc31758ca514ca760aa780c713bc42a05b1fbeabed54ae1787b1d2ee64eb16f9e572a0ecdec2c74309dd33d7621f2128ad4b957c11ffaef1b9989a323dc37680552ab11de6d42299d215d19ff0f64480cd3b5ce393010954c054491087d110ee0e899f178409fc36e7b1881bf744d36e21d490df7998dcbf729cc929d552b7ad3f0838cb880f32486877095f8b9d6bc079d81a3814fb8828c545999d8dcd1ae3c686ffe54a63e97c35d8944520de504383281cdcfda3801458d720521c4721ee6526571a329bc5e0467232702efcc5e7bb94013841615458ec92840f371dbf2c587ae8bb50a1586c3465fb01e2a181e07c6e8d5ca9273140175e434d864440f6c103b9e2adf6990abfe03fb6d8ee8acf0a05265fc847ccdb83f24057c84dbcf27fb14d00f71f86344631f877860a2d9631cedaf62a7b8b7c48dfde2aed9a9462deecde8d5011c86b5289133be8b581af4622189bdf802f44cdb8c203d8ab6d65e390410248b735fe419fa0bb25d729d1360992a7d200f391c144d0923fc58364a3edf588b70833f9aaf33d8ac1779fc35d1003f89e10c6836d2a85e78d95308df093332e772a4d08411007f7cd93ad765213fd2c35432b5e84557fe7b913596eb16665a59393fc7815a9b1db470bf5cd68a0f60c48315dcae420686bf78db3da66ceedb60bed742264fe56bb2e2be9f1b0845f97b218da679f6a195a38b0dc59def14a35dff0d327b70778ee7abf33c05261d18f17d463656d58102f1d0f2774824e217f7929636fb6fd718be61a47b9abfaa1c308dbb28ed34319a1c4d2a6e57b4b9d750c22630fa09eeb649e9d0c117798d12dcb848c0c88e436e22baadd2a26665fee56b2acf45958edadee704d5e2431594caedb86ff5eeb1a9768df59da6387a0cd8f6261ea0d801b3a0279a1227b6a060374df986589c582e3dcf859b064effd1459b929fddbbecd7fd884236de713accf8f47db4ad4fc9a2dc0170bb2337f2cd53035cd33a7399a32b008f77dcd51eb3b00dbea8823d82ebbf9b701dcb42c624d59d1c40c9631d532e40a22ec12351ee45483a0158fc038cc7c9721a08c93085fa0c1cb77a003de99a7802b7197f60263a2f1ba4bd62174461b7a35483b914a7d7ed06e89409ce8da38e73d5f95daef1b06d45b58b52f71939938bd60595cb12c559ad4836f2440b72502a113bf9e3d294e1333aed15f0e5e982be6b48419d7da0e39512230c79d9a5d2bc690097cf088b5c6846a0d2c5751b86a3b26c9a7042412d24903509a4ab49d66e261574d50e3ffa945fa20572e5956b03fc3d4e23127bda71b673796c80373f91e76bd92cbea6bcf4082ac8271032bc3beec5291f26fac5109214e0794e4be4ce9f1b644821502cf0d108043b0140bf4d233be2f2f63c7146f35aa088fad451df6797a5993ee89fa6d7e4bd08c5b74636f62d204e3a696eb2dc66a8e673ca4f00ef91e503e12a111d101318147b0d7c04b67e8fb8780d16453970361a6190c647bcb86a0df3884587a6b1c0def5cd4d2fa8227f0b36836caca112d0932e5628ecd5e207bca7b919e9ddd629df68c0dca04853d1c68556c6adf2c2462a4d6dcb22c166e4d00c71cb14503036e9bbd9c13ab74d2142625c4f0ef84f1227b798c8141ab96ed9d9bc5d51876f5b7c3fc6f0958b7b2b2e374f22b394b25c920b510a405ca6c0e6ac4a1ade17c806173f054a1e3ded6b877923c196972e6c54b888b58df89413c40dd4932b4386c5a9663951cc92d69d76274b6f41699f20cbbbc002c1d3963f9ea71a3306a40b472e6e692b1b0899a2d564670564407d7fa045032ee90f434c3a6f030fa19d08b001bf089b9948a95ebe14d28baa6de752a61bb0c0080e6c70561a8f2e0454835780e180f7f2e302620d888533197177e180d8047f9e655d3061b414b3c54bc57956d0171e06999ee859a9aa5900c34f143ff188e054bd21566aed3cd85e58404e934b21cff2df8d7179edb90becf99e1acd52eb9db7e3ee160036efe81781bcdc27f7509803a5ad5e6d54af935032b3303784ea25a5dab73bc47d536b5df6114d81c213d04fd61cf35eba4d581ad4f6bb66295e57d3e90b648b0193ec2d874f2b5185fb3b2cea0a36767d56fdc51d3f2a90f107128041e53ba4e02e60d52d91054c8e447584e31cbd733e86b4d2eb3d8ea22b165952ac8e62ce726836424f0dcd88614a8dd0561fee9798873211674ed4b80a3880c1f465adb807dbadfa68d1214cc07b36453982e57de5b571bc520ebe7c37bf5046ba1e32f4f00031a78fa7c4b53f8c32faf204d98ed9c4d3949cc016984f7557673772cd4d7583b055c75efc39e0cbfdb46e316fc1c84e0d1396e013923630816e2bd9032d558a63f674e1eda1c476d04b464c2eb3d9e44c1e9f6f7a275ece6b563a2ff5c0e20ade39c9804590d80acd4945d626afd64d6f251e8a5d73eaa39cb6de6b558b5fcb2e698d54db84d3cd32964d1db09746608286e2339aea51d52e44ec39dc7205f789dd1fcdce5dc78a742ade4f68ee1ea54c9511095e65db0ed8db69212ed1e6d56c9616e6662551b670bdff5503f189032a2e016eba214c6ae512b19bddee8bb52ff67be4fa1c31b9089bf54ac81f1beab331f3a738b7a19cd71aed6e66c7bed60cc21f837763cb44f8cc3af952aa013a992d5dd9e060fcb270c939a92b675d8dbbdb4084998d6dd0aecb173f2c1223eddac4fe63e950659838b894df970d2477047ab29bb6563058594973e93d76adea1e33cb57f50ededf7fdcadb1fe3d3e5731ceec168654d775bbdbec646c462a4c0098f2fbeab86c00d0cb4cd5f38ee348edc9497260827cf6cce266371956a573e187b7daddba89888890901dd90b580bee0a96012db79c8505db61e161696161c1b47a12c80e0372e5155ca7e0685c6f5806f355c2acebd6f53a0577a3e5eb554ab6dc6561870456b9bb4a8bc41a9daaf149d37870db814a3204568b017f70df21c52ccbba10eb16c5aa5b96858554d8a2b5aaaa4adf6d6816c277812a548992afdcc2e1e03628a27892ad6cff93e3211584ec74a5586738852b6ffa7c362467f640ae4ca16dcd25378aaff713ad5b267993a4352d38733647956dd56ccbf690d25f493a6575a8c49ad5b11836aa3d965b56e9de7b7bac1b69f3de52092867170b79b9a7f41df35e5a433ab738c52d70d6b9749c96d62dc99b01b9ac7835bbf37246f1cdb6f229628448b6322b22d34b6cb32bc884f5dcb74cb1ec655ba2267bd3a35875212f679d698fdd716fe52babb389523ca473899e628aabd2ad5baeb39524572c558ed2ad532c6b396b5c4e4b3a2c798bb198fbea2616161d3cf674873dbdfc85c4dda097d8749c973bd36757926cbab53b2d4e71cfd502cb5cb62c2cf22779184bb67875629112a6c52cc2c55c2e954aa5d2b530fd85c4d1a8fe8299ee82b57c62d771deca4aa4d6b22cb7d45a6b956e2dcbedadbeae23dc8daa55a97866d33d7d4631902b9b70cffd6571e668450f4f3b05e46a96e7fab5f4f650de5e1d257a166c710ccbab9be29099edb32133973e4d40ae6c9f01b932984d9f76c7bea7843327ed8e2bdbbfa09f3873487215df82c19e29fdc25aa34a2b96de329958b2cc2cd906f2cd3a4031d82c8f95af575792fbea9665f5945e356bbac5b221d9be54fac53297ef4d98cb3ba6cb3fcb6362c117166e4c0ed3e5e54d98368afe7ab3f677056730572f6144b2c5805cf9c2d7118e46759c87d35655fd3ac2dd68b97257925c554aa78cb807fe94dea907574cb90205535850941b16b941a1e4496e8d82984f6eafa6887cc39126de4eb5dba822cfb6460139e5cc27c7431d4873c41c71f399a215e546d266b8bf264aa048c191dca000a292738302880a70c21edceb900717fe319e734562aab71c26f3353a55a3513087e20c55bd5110c7f0d16c5abc45737b9618a961592d48ae86e4aa8788977f546f42aa43acbec230f003ae0eb16aa46807ad13033e9962d9bc94f1188d8a2b19e206850ca2e4667956327cc3cd6e7eb73908401d40262013422013211405500790898e8e4e14c804131f209020e928c91346ac80094c8cc04027c1034211431be07b3c8438ea519fc418010b3378e2440a1158c1849421c0e7e3e80712055ef086305c1105e908414d84210752848438ea415330001abcc004392883156290e47060822c239432c80b524a190329118002242f4471c29118982047de204be90415acc832c27e5082ac5073204b5003174829e54fa906d2054c8060063290220c46184a62064c8ed880be14bcf7b270220911bc13e41865a189122330c20d625842032a4ed020a9a1b301acf1990111a44801118e906086a39c771b9d7235c8ef386ac8ef3e74cae677207808511bd2cd0d0a14a030a9a27a42734239edad51daee6d27e7039dab017546512014231e649b1b14a325de08de63d285192b154191088cde7bef3df8de7bef3df83ac815284df280910c120535cc19048914998304e9f260028b943c8438ea21c4912a7aa65d9173048b102861431a9ea82268094e7eb044129050e9d8b15bca96dd1d631355f471f40389023f8c38923208142329300891a42144404024a50c42d5cf47d20f240afc0801d29b69b91b42d8b221841042d830c61d50d93c908438ea218408aabc99968405366c29299325b47f2051e0c707a2f44ccbfd012a7aa6e5231a420861c396353e612234a9ac392110a24c282200198694ac501952c28292a4091827433aa859140d058125bba18a125af21b9086a878c9f9211ab2a2944512844228aa700050882f08f5f14012e2a887094a154d5efbc03f9028502184321e614a14e2a80795914406942a40a1fb7504af2184b00e5d359ea802a88a23ee6a411099041a5662ea3d06c142d0c382d0c3c2d0e908287c30e5bd2317f491f4e34713670842521da1d9410b9048d94a00b544fa8210491a42a4092c9a64f8ee286b42e08512edeea4ee46fae999868402dda093d033d250cfb49ca162121aa36ca20a3390423f3f3f295042092b3a1f473f9028f0a3892a4f32bc9440b975ea52424a3983c0a0d55821c907a50aa51429b726c2c044864847403803372469c20d2888ad846d22a5046fa801122980c029a184360419f227556041869751e389125200920f8610ac16236b41caf2f0193dc2c4e5f00eb34bde2d0882bc0f8820c7f996034fff80f977fa5e04b5882071d655aaaf1e908b176f0dc64ab9908ed3506856349b7881a15d5ab8aae002679710da0b9c5d4ac8d25e55ec8f3c0bce680bceee4fd8860b1b2e6cbcc092055bddfd5c308f16c769eb74727953ec5d4c3f3fd97584038ceb2c316f59c901070ae3de162b067b212222226aa955cc0f921f24f62ef821fd1c79543a6571660f0303630ff31e98bb1ca74f18fc69948439c1c0c09cce72eb843d2a482ed89bf290ec142a2717169737178b2112fb807e9e9217d4299b3d24acb5d63e5a1ddb585ec0b8c013342138ebaa2c8f5275719c8642bc1a4745ca07f480625aeea8189d4ef752797182c12d5adc05c6a3c5fd91979b6eb9cb05e6720bacf50966a8d6eabebec77d5dc1463d4c2fb88d5a0a9257732fdf545ecdc5d79089d2ea5eab840dbd57bac7e98b07d7d02584ab894b09a50ba985052ef1e22e67f9357411bd9a0a91ae2a10e94aba8e2e2917d24525cb13cc6544740dbdb886884eb8057cc1565eb1d24d58fdcfcf4fbda42c322125e5ab0a15242ad790cb593014ba868ea2346ac8e52f2eefe2d98b172e7ff10c0ab9bce7850b0c1e354a6249e9bd2fdeda0b9cb9f8e9960b0c0e354afe8441a146c9b3482894a5cbe9f2700938e4625a9dd3c90543292e444719446a02919c74caa5082e77717171b9b43a2e9793570391da519b91874859c21f794aeffda9d7ad577bbac32e2688b2bc6e700d115d43d790cb59602ec405c7c05cd65bfe905ecd45e9bd3f613c2e3e72a4faca8fd49772aea15703e9bd86b284c13c2e1ce3f26be11897fb1e2bbfb808139717a970114c7acc9b5e0475c13d4a1517316f7ae93e39d75d5c6e3d1bd300cbb2aeeb2e98d5e951fdc24598c0bc087d7518dca3fe051799af52625c6e82bf7fc083b75a5c8b4b2a5be01727b4e84a8bb9fc6417ac3d195222c396336494575c66c15a8644afa6e518b51cf78a729c64f98b9f093fa13763c2dec55670093fa046eaa31e6aa35773fd74bad70a1dc5b85b6f3914839f7f00b47011f4ef1317c1a407c5d77b11edcd645751ce3534312a830bffac1bcab9848eb8206c6115763f44aab420e506806704fa3823d2c7511a1f7894e5eef4e528439d8c6cb4a2da2eb0337a94c2b4c0e25f307817ec126981b59c97f7de6b395d885e4d3b692267445ba89770429d722c2c2c2ccf5c10cbe9851af55858585858825e9013a2efa1466597c835a17744aa5429ddcacf37cb1253ee0e07ae26621785eb81734a704627f28c0e51356c1435a3a396b49ed2571cd3382dc4ab714652ee0ac6a4bec28ab0af6e6145585fb9653299e28fdc4313d6729c51631e12c7f4658cfd22179e2fa2f41ef0d72f5ce4e222ece721c6a487c531fd79ebd557b0224ad8fabcbcfdf56a6131fdead62d16d338a601d6e298ae7edde298c631f60fb05efa03ec5770910864e1c8c94f8e7d0917c184498f798b8bc0cf1789ef0b5b5885ddd03ba5434ef2a318c45c16e2d5a08ae89473ca0869b711ea81a30cdbbee534a0faf50758b7b808eb45bc5777ce51acaa6eb920787a331042e82c77741da79b141e3ede8f37031fb1c61c9237e34e949e5c8e0b9aefe1eba201bc0bba010f847084a351f016b3aad870bed91fe02996b99f19dccc05b9a04e652e48740a3ec381e3c8e9880b7a33d00545787af48cb48f8316122cd75c04c2b92047d4ed4004e1b28bc1510f27d93529d9b529d93db6c674c87c94e438f77e73ceb9c6d9b318fbf1f111bbe8a28beecf099173ede4b5d6ae1d74a7ae5d773b376350d4049ae0562078e8e3a30f84afd835c5ad106b8a44a35c507c0284d0124e9c10113921e7c4c8c8080827444d88883ad5a4534edc9013724444464553f0d1dacd8db61a7a89b3f6095bfbc432d2997bda251e12db8955b5e0be99acd73006b7bbbbbb9b9b6e4e8a05d050922ccf6accd3045bd06cde230b9a4db71935aea0d9b836a35e2f88d27b839cdd71793e2aa9879f361806bd998aa1122048c57d0fc93398740d80338794e9b3670668c5cd1a4986b71480d5dbc06a4da4b74c17c5a292d25583b59cc25ab64a178d4533974cbf42e1fba851b0a380168b18b53ad539575d1a0529106e0f3513ad9e76149da2875d840c73068122d019ee13499892338994e1250c5a8ac6e165122e55e3f0f2069248366919e46ebc1c5ebea0d9b01c5ecea0491bb81b0738bc64d26e20e099a44186cfee7d267790e1e5944e654e4822bd603e1c8dfe5543ee97925a9b810034e4fe011a19beb085dc37c0d51aaa4618729f06d61a0a9ae1468a332054071d74d0e10ecb7c84ccec66602deb30e394bed93a63479d82a3e11e4f6b144783be62b24ec1d1a074dea74a691475b5e65274ed954a32b02cfa20c31700cb620f323c01b02cf220c3cf60990c0acb72180096e120002c8311002c8b8981652f0080652e3096c16058d6e258e62283652d3960190b0e58668281652b3158567a8165d6059659271994e161b0ec6a816513fe25288360c8f02d58d690720659b0219c290265f88b0d31f38a7c091be2b20ebda56fd98266b8590d9c4639f7292493ac11e7938a1320038cd2bde9327a21c6c27da70b1bce5e6b5ac8ef60c8d48afc62c366757cb419ef38803437867bcfb9c8ce949dbb5a2f911807ed0927a664e7681237bb195e1803f64b81b592adccbf4b2c1b9265733bfddaaf3cfdfa7ef5c9120372e588af23309ff77ca8735eb09a0ef7c90e86727ba2032735727bf284932b6a50f26659318a5efa665035e8ab996933f0b7890c3fd36a78b4660005b4536ba2c87cc3f7d5f0684747d3fed059a220aa66c9bcc45c46c1537aef1224cf89f86a14749d2115f7a19cc55a96b6adce6d543ca591a671465bdfeaf42dd952369ee2bebf47ab504a5b6b128897949684f4567785b05187d3ea54f86e166cefb660434ae1fb74c243e826b4595847ae1f99b7de6264ceca9958089ec3a4dd6a17d63f39566bcdb95623b7c3b673b9645e89136ada28c81380fca3511268d4e301a504524302b0071736ead157d580b4e20c95e9ffeca9d5a995b61fdccc09e5aad1bb22f7a45397cbcdba76ad035acefc7c5b1ef7fa436bd490236a541377b7c483988b1362e2664d8a04e0fb64038b1a57b4291268a21b64c3468d1a28d47f3add969f103bb8eef06a540c8c8118667717171036db9ae90af14313e01184a51c2441a1a4496e50285922673447daa925d5e3afa328864665433abb3c36d9b29cab53724eebf4d6ad8eac9654b79cb4b49d9cd5c1464e394cfa6d7f681dd1e6a019a59667bee7a496a73fe585b54f8cca38afdca44573bbe79bc634ce11a78cb8e75ab1526f59efbdea3dcb9aaf9a7f87167549f2553174d68acbd6bbf5cc2589f5e1cc5d364795a76577e45fab47dc25e9d47cfdb33af5615667626835cbaaf8aaeaab59ddd557d305613dee4672c5b2c7f32656aff90b67eefaabae3b7a84bb51fdcdd7951dd425c9efb06b4aafb8baee2a7613c3fc704c75788be7ae1d1277a3fe61abd6bb24d9da5979c53d2bef2b2bf5d15884ebbaaeab71fd85392498f51266719ebc60ad95ca57faeab2e256e79cd8eaa97e3dcb71d54b9c2b8eb90e6fd5c3491f2d06815cd4eeccf7489c39bbe3ca73e22c5a6fee086975ac8ac57c614ee6aaaa2a982f799c862b2dd3dc576b7d62d9903c2bab2dcce51d9be35d3cefd6df2decaa497106811ce168c0589f6909494cc01e585246a3765a966933e46b165f8cb10a12f0d1eaab15965a9b51998ed3d5f20081cb316128e5b627480094abfbd029d9907275f904e42743029dcaeea353990c053a255d649a8d8b97329e211584ecb4edd128f9caba755b0fe4ead128fa0a13c2f2c85ce1201a45ef2d56bdde7a96f50ab3e7a918d346556f52dcac06cecb646429e362598b92e96b24a053f6f2383c3a65dd469656b66c311ccbd54a46a7b25718fd0a56c22e1e5c2a1fc3cd39e7b4d65e98107babc2ae5b6bed2becb2b5fed91dd6abe3bc8bfeb22a3aeba4d3bdee77abab9f2400e595dc9e34a1044ae136693514b7fd7d3a17ef84ac64fab63ab275aab26af5ccc7622e8b7c5d6f96a77ff27595e2638c7dcb2267ad28c6e21faec7f75c388667871cbf43be1e710ccf5f1659e40b67f2435c8687558dd8722fa9ca131d506926abc12494e4779f0c45124be4f847716ba82230e64744f3c09f9fa6e1f08e227240393f84fee093e79b88ced3f2c03c69a658c8cb135fd2779c6e5647c4b4512efb4cf74860b518994bcaef96ebd7aa664b3072d1b5503bcfd6bbad8e189985318aba4c849095ec5e85bc2cb2c001440f1f40881c014262a849511452dc1454bb159cb994ee0541ffe4c859411942943c5fdd591d45e46a56ad7a929b07ca109a5c18c689a22d478c46c1409d1af50e9d90830897775c0fb47e0e2e39221fdf7c35ce78a47f722c8865cf6aaf258556f58965ef0d793efe659861d6d90379f607f2c45e1659e4b63bfd936116996288ea0c0fdb08397399873cb1101ef2dc694599fe645a942916e28a2646bd1cd73efd4a22b05a8cec1501d1a02b741a6aaf08894ad20f1237e4861c12924372480ec92139a41a3650358e3a21794622b8ee7d0893640b411138f990cc2be6385b85d59c0ee2dbe97b9b4eb2cbeec90f8cb2dc11ffe40743b9e5467ba61d1a1a6dd4132c779c398845eec7e820fcddd55c97b1f004d5e4848520361b979b335d8d7293c6f819a37456a78d7836a6209f646c33da8ce6726fc1826f4af2a951d062d0e8b62747a6a4dc2376b94141420598fbc11a7651a26bcdc1d6606bb0bddd8231c608e98bee41014aca4252571042994f6aae48b4e32b6a33a474aeef74e4df13b7e734823f7dca8f0ab74f9d936ff0ada1834f6e7fba7934fb0282653dfc43bbe51e15646bdcafdfebf79eebd6d1c136582f29f79d15dddd746228f466687707bd99760865cad95e9c4834be28f7ab929b151bca756fd8ddb13bde27de33823f7d7292db5b6cdce093ebfe62c7ee085b77eb6e6d4b50a5054a0411e10d4b38c11aa400a199e191800250386982075ca8e2861db81f142941c215228842064d084aa28a269aaca149eedf2c906054e506851348a21229fb04dd6d4a196c4003a01c10410a35e4b40fcc5034f4a650822f18a1862c0021080555703d284a83a326f8810cac08011346c0020a2a1c0f8a9a4842ab80020929c83737289a408207944740e2a2938709864c0014d402346021044b1c510e8e50fbde7b5050437e183a118514a0608d20f2411145497e0f4a0821854700d1052a3869811a92b8011b72de0ef22bfac9cf0924f93df8e811802e79849f1b79200971d4430848040618389f18218a48857d419088240d2152f4040a8b9820293582125a62f34812e2a8871063883224c53f900845a98cd40846b8a2f371f40389023f2885f4914a2ae98c0f82aaa6409364a0807c70863110ad200541e081134e074d2c816a3ae8017c504629b7273a5822c7dc9e50c111f906a0449e4ebf4c7cefad51113e4ae77b0dd5fe1e7c0fc6f7de7c818c11bedf9e90fb05c80d8a291ce51dcd66b6b4c4f84b0b982b43995030f10fd2caa64a4c07192bf9bd96c762ba2b257b5955a510ce2823ca65ee196ac7cdae858b19dcd628172fe6c44e06f7c51573b55733a9bb9352f9f7ec910b929b905259550de3748a348600e89354ee0ba0d9e8d066b40c94130d956950ef8a104ed47bcf505635a5fc737ff0067c46ab1b368e8685a51c02301a4d86a3d1103ebb917bc5e606592929604548c9da280d61af1a8b81eb3aaa5356ee54be2e9c0dc9cfaa68ac0c54350115119522a06a80ce035022136580b901293910db0c781acda67a77a0c2a00eb0c89bf1aacba89e9c41b5194bec8084e6d02fa1d8d1e0ce491d6d7496e2a794cf4a61399ae19b71dd70468d389fd7ee89863de79c337677ec88514a679c74bef7828ec01e1c054f21b5686e950dc97c90c8f7260cb6e166a8fca21db606d9704bcf5034651d5e7fd76531d3ad0e553deda1b88394342f5c97ad5a591d6f884aef1a0dfa0a23e2ba2c9be3b986a2bf2c0fccf797cd01dd2b452ce4e58a5b9b41710335ea35d0ab7140afcae849cebb5cd9926f14d321e42c3d6bd4b597f64e0c7796ae4bae9eabf9ead1eacc2aceb872e8f255cd787a592f4cd6b4e4e5a6dbcbc7980e63c9cb2d575f6ef558ddc608e37256e765de99e362f2b6b231e61796a7faacaaea85e599af7085c94f19ab58cd4f39e5a456679e569f2fd73605bdf54aebac267d31b38a77b6bac47692a8e2f0e5155bf28263267e4ada9bb1ec0f2e3fa079ebaa84d457b720853b9d2bcb599df90a6b174ba0a28418e45375cba5baa61b69b0de5d0add112e433a5bebae8badbd4962568babe52d87f0aa154b88ab8a5db53b2caf6f2d0eb63887591d59a9d5a9306c54cbb5ce39e72cd66372b177d6d91e7b937339997ec25927b1267bd3ad093b599dab76e7643a3d9daeeb34eb757901c0ea506badb516cb5bcc217134ee5d58ae9492e5ba64b95e59ee9de91576a67b7a775dce6232e10cc8255d4c8fcee462581d5a6badb55ecc279b2e3b21b4170baeee719ed572df725b86b13ab7451e67d5abd5a95eabebbaae030144a3ae5fb72e0a5fb0cd51e5ca257555bf90f8d029f94bca5f494e56475668752aec43a3ae07742184f0623d2c37d25a40786f852d5ac0d77b16173b58ee71bab2c05b612625a6f2b4a2bfb22ba807be6559dd0a93d5aba9a2b2a73acba1dd015fd1d4c992120fe97ca9b8586253c53df72c37ddb348ac5b5c1e760dcca50e167cdd4b78d3294f75b9a3ba7ccd2e58e6b2cb2bbbe3e212f7582e625e541731f52d18900b66930b1c8a70efbd17b298b0bca69f307a18ece52db096e33c17171390ac58aaf84a5655c5827bea617c65a2115bb45e3e9398e29efa16179394d2e5cdf2b4bc660ec97d959a158c38de74fa8ea8e05bd00adee597dda9de0371e6acdd71e54abe057ec160cfc0b7602ebf8e70372a79161a6375a8c4a2cc1173b9d6fa5a63cb6bb33a2cc7e91e7893d52c7d8565437225f30ee5a19fa79f9fa7f856ace5cd562e186244728501b9720bcec3f1a153a65f388dbaaedb57d50a462f1edcebf6d6e52dcbe56a4208a184724e29677c8d133e46a3208640b9018025e25c61f4ae98f2a63cf8f86cc454dcefb41cad691bce4ed2de4641d95c5b1d176374b8c1296eb7fba4b0fac709c8293b9fe72a6045e1e7c56a31b2869463ec6ed7aefb90ca6d500815215f7f6ecebd5b8df9d0a8b8c4fe0584ced9ab7d68543c0ec5c185af922d78b9bec1cd6af088352e6dafb6dd79be7e1fc5d9695ef6b06bec3cb57e5d978569a4779ef27c3331c69ba34ba3e26fa362161a924483d5729552a7b00527568b6f540bd75d92769fbebd1939ad93a71c9da44eba7673ba39a7986f48971ecaa40c290e4aefa3d9b84cf17befe634ceb98909716ede3987854c9cd138693e691eb1ec06d3d03c733438c66b291aa91a6f37b5d48cb79f5aea7a3b8c9632c08d98db67bb71f3566a3768de70e097f666757ee47a8a5934970239651c98036a540d189d9065004c5e989c81c91a984cc2a1e0696012060d057f43834c039e06bb34e067942f683368c03f6243e0f8cb6fb021e25b4e830de17e804f6c887a04cc89031b7233cb2336e4e604dc61436e2ebd62568de4a193349287844c221bc943e20535921e7a494d44f318a3d589f1bd2a9d6a397eee909d7337eee63b641c383870e0c0c9f391265ac7c181653029c3df44a0d4ac3411c7cdf3ad8cbda4f9ece5679cb548748153eec9390265ec0aab599d89f1d4479c3988864bef9ef38af5d4b7d4719ad25c1d72deec4e33e1ac8e8edf603afe2ed74441dc7ad71caf38ebe116eea1d644f5f1f5ae3a576bad155f53e8907aadf4b556576b35551d6aad2ef51a84f59aa307cbdd55195fe7659c38b3aa65614da4e3f4106743887aa8879a091d135a1ea7a3de6173874f763c2e9aee2ad6a323557538e75c755507d653533a7c64e770d09c07a339103438689ecf0304668339e7e25cd551718f8e940ea74387ab55878eda0e9bafd5b9bb9beba8b56b8de171afdf71afeed539a723e746c70d966a179355ad8e0e380177e77487a6fe2ccf4b4ee11aec5dd128f81cec25350a47bca1894d629308d4a97783d160d4eaccc339e79c13d37873c55a8e408f9e7ae8590fa1aee814113027752a1ffe55c9bf3a45f39c9fdf56275367512c8687fe02a7dc53df47f7c9ceead453ac8d1a05df438d825847d12818b119a7980eaf4157a594d220ea1c7640730d404ab00ba2b9f571099ac3786f9ed14c83e31248340ac2dce08cd65344a2e3124ee8cd4093921af12fe223100d7678e2243d14816e3aad27a07786867a41b3a131e297e468c0c37b87ef2bbe37e167863603fe745a297d959b41a09ce3c371dadac1416d30f9a467e02b268ba8349b96a18c529f589d8a65918cd228288fd470335994a13ccab01ed6cf3bab545dad97543ad590a644259dba397c046a363445a6b7361599e04d54381af02cbfc160153498cbafa8e5f08f0a97c3d3e9de6e71a122d3602d5369336051a72e1b2c06c134dc78f70c02e9388ae51c07e6ac4e0fb7ac1e4eb12c48cd7ce46c08cc3d3ce73dd0b8b33a3a16e4e149a65f40139dd42d8b521eaee3f5d0ea58c0a93b0ce20e67391abbca83e31453b7e393e75da5a934f42686679ee63bf33437f334a79998bae3c0b2f99c2f00e734c76906d4d3e8e1cefd063d0ff40ba077d80e397638c53137a7a7797dc4626e3e1fdf386a626ef00f3ef9e6f33477b76ef20d16c373731cdfb9398e7c731cc7816f306c14cd5ba36870160435711624c7f91a2ee33c7e077c4d71233e8d43bb03e70ef7e09c06f7dc1802b38887c08c83e18de7fcd91c3dfc066e3af0909717900581610e3ce4651e74f0f005e0cc651e4e79c0322399c678399a9c0d7999075c33fda4c159fd909769e6432f94538f879daa58ba26971e89464129d428f8d415d2f2507c1324d7b7dd411f71e693e9211a2eb538afd6387558cb5173caa686a70688d7f3d07a20b0d63331c3800f0f9587ceee3dee373dfce6e6a95b16bc9add99dfa162998f5c6baec7711b8ce67af329c79a08f466e0f35be378eb1a9bd3649c5d1bacf50c0e1c81e269b08987cf219d71fc87ef800999596491c51b72bde3017bce614fea377736470fbf79b33ca9dfcc572c48e69353b7da2ec0e7d91d31beb654ea388d031bd2f9e6a2c170bc622e07c9f116cd79688e03d3dc3c7573f39dc7b8ec936378eadd77ea5dac777718629a14ce8ce49be73ce729acdde0d453580f3b58c623e7fc072cf391735e03cb82e41c6bc5ead0c009b83a3a94524c84cb3dbc071fb0138c46c19f9e51a77ac099cb3d1cd23cbb727ccead1cec155d716378e86f7e8323510fcf5e51864f1a05df030dad95564a29a537f710a351f08d8297d404243319f4a4533e6022602eea54cee19f510f98cb3939cff9d5a9f99caf589d1c9c805b4f6b7dc9eed48a6378aa746255198d82a71805842b8390e854cda18da14e39263a55a380c34bd34b72a249cede4b00ce2845007e4149f900383b65cf09a452b15784e7a4534b6c5ed06c88b839c8ddc071f8078396c239fc4bc2a57838fcbb414bed70f847d4a91b877f4d3a956f9ed519b41b3734cfae0ddc0d9a4398c7a4dd9887522001af6797d83c6391088b2d6828781eb028038782df018b356828781a6c882137c7241c0df81becc5230c1a0d781c2c6833e0a3124703fe46bc4143c19947268d0694912193430172c0810038c0388c9836a37ee6d1fe1093673dead1fef022cffa01b83809e00413009816315abc00e0c5e5e492673d7eb43fb4e4598fb1985e4cf7774566a59443c9e260af7be5590fe3d1fe60e5d966d4c7ccfa178f6d463dccac77316525f3ac01b78ed3136bef35f8846b357874dd92db472ecbdd1d165db372876a7da482a07ee0d25bef2bba4a7794ec4ea368946359394e4328dcb3b8eab3d9d0bbb7129a8d2564a5c2ec0eeb6dbd9bd253299983427651b813ceb34ea853ae7b85e6ba2367d428198d6ab9502fd143ee86bbc2d17058c9c2ea5b301e8d6abfb0201ad57e9f0d207baef7c79b71af51bc8d327a7fbc9a00b419eb176703c859a3f244b60e83b3df64eb269c9d68ee8c6c9da5ca0bcea88b6bc155de28eb56cb085fc752f51f409c926a7f78351240bd1a20da4cff8a539bf2ba3554833670e034547f05c3d166fa25cc8786ea5becb699a60dd5c77935a736d3aeb9dc9d75a655b33ead0ab368c55533ea76db8eea540c0fcdf1406626e26519e359ccf12e8b0c9be50940e6912d9d1703483bca18f0c9d5e9b32ccbca8a28cad5ad77d1075fb121a29318c6f7a18cdcda33e22ea9831b8e38098192199b348adae8948df7deb31182fb9ed578b9dd9877d5889bc5bc0c809cb91a56c7c3361ae58e0347ab12892251246aa2974ac5cd2251ec41b321e246227763beb1c86ec8fd1a8f8404c9adcd9876470eebcffa7b0eab22c2e5ead107ada64522e48e4ebc3cf790c01d971f949289b0d8a45ae1c667d3f5e74f367f72cba1dcf5566becc219ac986b3426ce80342c507d2199abb0cc27f713eed51a75e10c8785b3563471339aeff9be81943c0f6b156ef6881e9566933d30e437df48af9b4d8e8911e1f2c494e8d5b836d3af4e9ea9e8b930ea090455605935362c219a0d8e46413ca4512ec8aba930a538498866e3b2ab4276d0b9208d82af483743059123064fbb11038866130f29957bba0f055b15b27b95274de1de1c50c72816edf86e352cbb403220f0eec2c22dd2313223d9bd7d3e6206341e2821c4d0bd8ff0de7bef870f81b93193930b538b576b47727bb059d1b4b072234a2ba58a5a97655d7b232e7b95aeaf8ce0de087b576e4b2ba5f99597be72fbec51a868326ad8c051c2e89bb1f1c7394f7323ad15c338e7e367ec17216ca606a78fecb985573302eb465456256f7d04f4464c3ae7ad11d41b412ba5b7de7e7a3523b86e44fd65bd56b7f0084e394654780434c708234dca901b8c8832458a3730c93182c9bb55dffe2650a99180dceece705d6e509010055661f4cdd890d8df4c65ba8d8aad325def9de676843b5c30ea54cc7bffb5274644c9fde65ad1cf4f863b5c307219a78d4c9fd83069c5cdd958bf763f44285624c6a011e95491ae693940c8701f16c4c974e29cbc1977e9831bc3139343ba20896378e64def99409c137794b9a3eace597777489daa53a8b82a1c122637a551ee5685dd122e0ae6a8681452a35cf2c532d724bb56e5d5507aefe9f4a3502814904e5dc0e547a7e4dd83f4513fe792c324862773ef0f03816378deed7bc870339475474cb8448a746a5e0ea80aa284836894bd30b7e3e158e4487697441ae5902e053a75940d2082e814ac6939ce453935ea113a18f30959c9f3d78636ea36aa898079d21b7f6040d886b8dc7de7e412712d734049a5574a83d574b83059bec540cdd0665ace567664c08536233f820b931b8f05f27bcc60f2bbcd8248949f8c9ed6ab4308df84c04308e1db88dd1169751ab1ccc2d93b73251d226f06f6e0c2f61a7c2dbb8889b39165bbfdb53add34b7dd1f756e05bb1f4ca451efd1cbb2c142e4d5b89ce78698e8eadd868dd8a45029435b8169251aaae9923643710b391a324f0a4cce5a682563dc49b4eb36b11ca74b6f57317845cf243d243a158fc02b60523cf2605214028a3f393e0a2df1c2eac4386350048a4a569acdd5d3088baf600f894641232c4ef7be77bd2098d4a976bd27cf08a6e1d2a2889f0be6c3325363599036fdbadc599d96f96cc276a2f073f563faa54e959ec363de3287993d0e873883d118de7ae38695ab7a56dfa1af26c40d6f6119bde90bb0afa0852ef7105ea65feac7acdcb262901d8d63a67bc462e6e9a3f58e99f8079feaf0b2accbba55554dff02ed0a8476873dc43df615ee9139b43237fdd91c974706b71cf0909763ee0e7186038630f090974b56470cee52430c36ac9a3e1e96faaeef1a1ebd18fb0e43a346bdbb26b71fc5e1e98a69791a4ff8c676f4238668b890a7ddcb1b623da7cf79baf5e28573d4be5ad8033fefe7fcc9add09be9f5d635f5d64abd2c9c51fbea25f8eaa64367735c9ed3e74fa7aaa2a7d3a1352bccbac3e821ac6845a955c19627848110c2efb8c3fbe40a9f706624cf9b6e3a4e9ff0e9845d182ce3914d6f81653eb2e92f5816249b0e8d60b4743726c2e5fb68795ef265c1e26d541ccadd6dba65c2a250a35e7f7e3ea4fbb8c42156b573dddd7d6f6e0c46a3de7b45d0c8a8282ed129164c04148a439d722e9b4ca65f3082f0c90e5776c7c5f038872195463d082184311af5dea8078da280521a52e9d43c8554bc22fa843a9572f7d1a86e202192742a6b3f9db24f5d37b41b11680d2d554a83bb11cde0cae0c4d01c1577031ab930341bb8042097c573562ca91775957391de5bf48a1e8cd5e988332aa55316159dbaa468375a080aed39c1dd80464b70a9ea378838d152d4dde82247e325a1d9741284a860c5cd5e918e9be203a42ba65c4646464646464646464646464646464646464646464646464646464646c6325dd61477a564a3500bc12540a32804af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af05af655dcbb690bbf1fede14420f8a56543d27e4f7894991dfad7768e45e14b27b4cc84968360f4a9b51e46ebc278ec67b146894df6b427ead8a0c17646472d8420e39e0a0051c7080810403464c1662625e60e1c50b175770e1e244c5e90433050c4c0b2bb468f15285971717292e2e2d5468696199020b8b490a93e946b977450a2b2ba528944a160ad65e47d7653dc1b22a2754556d42ad340a4a2713e6944b90322a21c786108a66f3de83d26cbafb8966e37eb84a572cc0c964ad74f5eaeeeeee8e8e0aa527d772b5d562752cfc627520ee275dd4a87787d428d43b4cbaf0993303b4a28a7141bb53f4a4d93c86d5711780d5e927cfe84591dfab227aa8438c05a26557dffa76aa55dd956d8d8a7352dc3362d80fe9c2471f6d46d2ed47a21523ce47c607445125c61863740da76b17e3bcaf3bc68e31c6f8cc00392a20c7d6849431c61863d31ba3a4ef784a6f6cee0c57c6be5ae76e54bb6e08a3ab28101ac36dd26a9d7271f216b3fa758dd86531e092d561a5378b597996a283afc11821842ef3b1d3b9b76379acbf7e5561d7118e068438cf6afd5c83a579e763b96844e428932b235a198d924d47c2e8aac694895bb1cb566bd70d31cdc1cd5c7e1825658d1a18cac70725a3c6c399733812d03172c3b832aa6f5da52e95600948a3a4b38d13705b51be30208d9247515964c34685b31a3550a89f1e960eff68947c5371b35396a7b7ee764efe876c40b93d418225f2d5a9e7887203407d016ca51759f2822b580933a9aaaa69a3aa58c518ab78455a8a56a7aa9694deac4e1fc82957fdeeae4a588a8d46412a5993d2a58be656315a9d18ab3716048f1e8d824084e166cd4847888efdf52367f1404eb963ac2c97edb543ffa8cb1766fd61383e340ac27b715ec45c76b5e1c8adf1a951308470b3db8062b8ef5d6131b030dc3cb1c44855d731d000e8c1b70a9064f7fe103b7de870b379f93dc796ea5483395e1659b81b43b89c61b379cf69c135e79c73ceb5e65c6bcdb9d69a733ce41800e5371fd09b7990d2579fab7e8794e4ea1107f756c9916cabf682bd0754bd97bdf7b2f880ec4e857be2ab5fdc5379e22bfc8278be701f50d0655193c984abf75c34b79554580335ead1a08a56f50b373e7b400fa8533bf1f556bdf7b5c6f0c09f9f0c73b33c2ef2b4a25c5f5db62a56ef84d01f2541f1c0d103ead492977704e528b7274f0ce5ac81e825edbd55ba5eb056d233d903a905a8640cb8a44d2c15aa19010000021315000030100c878422a16830135445ac0f14000f93b254664c98674992a39051c618420c010300044000404040d080002bd0871522dae1429380aab90fb8ea8e1707ffaf8d19a087911bdb6b35bb951d011b66ef40a0a86f2c6318e14ff7a92312ab9b454e9b7ab5e8e6804584687c343bfc2e362ce442aef0935640d687e75f4f3ade3b1064624ee278b353f688b72a99dbb90b6d42c3e0cc023cf92467cc34fe6c7bf3ddb2d738771b2bf9e8afd250c65c911d37a59f0b708715e916a9ecd06e1a7ed881d9b3680f00241c9d3c28197a4a8b4fe8a1998ba1c529fdc275c1282becfaeae18cd0e84eb2a15e64273ebfc7eaae12572090c7099bac4caae7f40d7f069bfb0cfb8c3519775c56b98a101582a7f5cb1cfdfa7e78a7104ba524367512453035881392414dccec209d4eadecd62db78aaa3a93595dbece9bd908eec0161cea01ce0efbc44f3271e4b699c335950df7608f25e805ce4579115fd844c8a71d695d9aba934cd9abfd44566012ef8c7909923a7f4d291620e5536709ff98d554a2980a29fd283cbec773d9a7534b1ed26abab43ed6c15e527a55adb768875ccec4d7e8275f8f238c180fb5decaab74b0817fe25aff7f6e1cb85b4117e03b08615908aeaf60dd57b51acfcaf17177fa62a77a8ffb03aadc2827624b901d4b0b2d6d136932d85cb1e4ba46d6cb71510a21e7f8ed2b8ff15b6d64d8d5e838fa3c6d25aae95d2b8524e6b0149e200f8485d588f14cb3bf687ee670b1946c4300d3d8d75387735031402288b6063b6d983a1c53c2ebebf25dd80e82d795723063a8f830781308c8df3d13688203bb5d93c66960984b3ff71ebba2d63412205f3cecd4aa55ac2ac4134e418b09a81f0511090d25416e62f68707f2ed1926a4925e7fbf125a50a3d7231705102f1370846c0e0f4365b3ad3eee78b3c878c11216db2a4dc1f5b580b3561d02a33ba423f83c24792d74d0f17b11b4c01f959f95286d5a023363d9cdb02c49ab883edb0f11ad388a0e7492eb2aba6d9f9ffb8d2a843ccaa1d1b12d8ae083e23093efaaa40050fadd2186a3575464f959d67519bcc4cb6cd432ee675c3d166f38f5ad3e65471ab2bff9bb41d64232a60510320bd63b355f53a978e8443d1987a479a5c134dd9ce0a5ee3ef897070fd3ccdeab526ec2f688b6d7babc66d3bfb9c82de75f18596516e579491ab3ced0acd3fbdc6a69f8a69b4e68112f014d73b5ef0886aedc14c028e070f7b1fa81809e837371e542a6c1ca8bc5e43897b0b2ddd7276a4b1a8fb95920c25565d4585ad26be716b07db8b6a0747217e99e7752ab1dc94dd0bca83fb5259429ee5405c7e3c1c9e8de786e5a364d951277d5c0d142cabb5f7899ae2cc4ea40311fbce0293352d7e43fd70477fba5be416be7359b584090a0ff573605820b3eb626466e00c7be72f7bfbff28700b3a52d9fa81c9db2f51fa02655d9d54b84423862c7b3de8f2a075486febcb2cafdf7e562f12bc21b4a449f8485107e081870ad3acaef7043ab94b49965298b1fc47afd1f5e22dec470cedcb06bd6646da67bb3658fcd2a1d9f6063d8c08e1f0ba1d8e91acd5c71306046ea9ddc123b7bb6c62e344b213b4a023f17fc5500d8163340bc0b243a34b46a06114fbc82eab74d72661b76d8be3b13e627f4105a0f6c70d54690ad68f7781aa337d48b89c187129b9e24000dec281e2a3fb450d761969487863d188ec3c2b713c0d42d3f93beaa86f5d6104b5e78bce81a17a340fe3c21791ec6afb06d59714fc384434082fc84d91653f1d566705644d4f747671619153f3e3f60268612bc0e7b13cf89f61aed5cc9745eade21b9c889c464708850160184c09b17938557f8f7d0fd425f3d9d1edc915bbc52de4d4bc7679b8e45b69f23277548c82106ae8eccaf9437b8f7fb810abcc9fae00add1d0cf5c5e245169df17f66c1fc757f7fed50a168607c65f76f27371b8df4202d434d037d3443880acb84137e8f5eb93a1c67600d698f0a142465f985739935f8d8ac887586290e5f2356fed4e5273963fcb2db66e8d232b068b644f9b810c39212dc79fc8a166dcd1224920528c38929352b60aecfba1dfd77dc2465abdff653ef16339d4438058957290b41fb53fe9fdfe26f34187a562817c3f85db6012506faaba6acf6bb74991e29227b9cbde76f53f85180054b82b3d85e1edb1e28d7bb5eeb1fd4976a2abc7e966cfe6a07d975238bd552b0c6435825e775148a8ff4bb1afd7b65dde04a175e366cfce1b51022cdbce8fad71432d407afc6d6e71a617ce1f394e172c4cc92aa2150e12e8f8ad5d6a757017ec23bab48c4291593e71a0ff0e416b5c4042783cf5535f496d84fe0952f76f4cbfe1cfd56425cbaa3aa374e81641aaee42a95d33c5c0fb386712233b62cb52e9a6753387012d6118161409002231b51cfd136a0b172c270bd58fb68791e19180cada472af352e38e0ad590dfc0ff1f315a9f117794c13f21b138e1b8f4a2a622d4066da4777abe64f5cb29e7e812155dc79158e28d270cd586ed1974f1d501828e6d1c30a66ba3bb443c20190c3f1fa231c4aeab44931e154fccd209341e838e164da1eaef796843efd00a4bc14db95423011c1c2cb83310c9b7a4766ffe85effcc199b674f9358b3434875820693fba1309caa0ebed0b8827c52aebc394a852cd0933b64ba72232a699b74dee95052394d879cc035d9e449c25151eeb80168c5430d178adf358c500c763c231aa6fc4a352127b8cbe3aad3dcf4b6dc153bc8ab3e2569ccd35fcd09a91b1f447c6b2e70e10f344fa092a6f2b5e3dce6bbdc094e5574e3bf12516bd924b4238bf55bec5ae3ce39699df114907f312e8f6c9ed32c83ed3a74d85bbc5b013e07e88a9fe4622c7fc7b75df3010092cca5213429f932a37572063d03d64d9fec52fd1a6a29539c04f17bbc91b5f67d443ce01f3624a2e0437cea90d88578c24bacef84031cea1892140dff1d7a90555729c97d6d9b3804d8b43925b51eeb3441316c40513180de78615c9d1467fbc6068bdc662fddb25f3ab3fb090c3b3f53f7139e3acc4b375c8688bd0f87b8ebd583f73bf32e485339ec0e3452cf563bc8235422149e679680f483df70ecc049520725fced1b152bc803036d0a9edcd640efab7e66e04081ae8381ab0d0ec8c2e9caffe9132999aabaf20d40bc349723aeaa30fef2fca7060b428a16aad4d6b9674f05ead9c68beb766594c0ebdabe40761aff1af853825d005192ebaebfa0d9a853ed540f8cddfdce6087a0ccc90a2a9bd8cfbde2b06e6919fe1fb376eff754a1b023607d745a6674a1141501486941f86e67b30780c469af0df8d27567cc69e155d43959e1105074bb99f93b7e17597e20e34ed64b4668fe71122d69a04051e1d02a23974e6a80d53208720a23427222aa067032a6a7b6cc3ba7c4fe60306b209b24f8564f76338788eeea6caeacd912e2390c8e879a004b4bfc8853692671e6d32cda05a478b523fa6ce1dd110ef55be12e1f69bcfe58b9c787403bc98db6ad6ae726b48cdfff424b7fc86880e612c74cea75ddd5fc5115c2fdd619f7e14d2902e61bd346b78a6417dcb81d0b8e6988dff390c8eca7951535d50af91e90612d7f21e4326e0414c9b8abd0ceda3be318f64b5219a06154d1d7c4034058b29041bb42f1775e95347389fef0212230192bcd113c8aebcbeb9271c695c2b8a1efc17af29843456d74adbd225d3962c2316915f26298d3994fcbdb5b9966c0d27982998d643e1f92520d5abd7dc138c2d35e485c482ab9ee78f1d320e504456ea03fb3fbf53c89f8d12f0bb0a916aea2b012f5755083acd0c5f3d0dbcf88c496e11cb4de2f26e83e0e0c37e11fb16e136a80efd54d6678e796351233a0cac66ce27b2a43360d336cf717ec7a097bc9d088b341d5ece2fc28ffa94deaecdbd16287952fcdb3908465ef202e16904292018a5d871e08dc4460630a8cc79c9f6313e06d2cf2bca3280793139900bcabbe99d90a11a9746c4f547206c32211e04b784de889efce22ba061730778755fdb32f7b861c133e7cf571380efc37f4c5f7e25b3b138415786c8edbab35ed02631d4a781c18020343c01dcd9bc8907c7472b23ae9f8a095bc4d8202ad9ebda76623fc7f3e805244087674b82bcc86b25469e28aafba78fbfc0d5dfc5455e08a6c07a3c56c1a69c359232d95742419f21293649f20e07e90d9ae1802625468f05c5120cfda3a54b856ed9cc36a104e3a0bdc6e5152b4472c1be3cb2055d2e4d73510f77e774f6d7a4b524c8c191e8f37f45467172b1c2bae597ecc544c293e86db6f69265e71f58ff40f0b93f457d83e0c0aa35ea95dfa774c0c44c488acc99700cbf084fb24a02c99aac9762991f94d341031f288706bec02221592743a8629fb200d7490e589da18a0f59e4e0fd9941a2dfeccbe1293d4bb5028983d310ad7496936ecbc0b2b73fb3f8ee1867dbd093278710889a5a7cbfd5ee72778000820f643945d25855cecdf24b6188e2f0a61ed76c09ed0c19fff042bd0ccc2d377937f837acf8beeeb6265eadea9f15e098924490a13276d312178ea34585080d7a007b783de8e247e8886ef0d40fbc61c7f9a39427fc108dbb72241d9f5d4d5b72b42a91c0cd22dd71ab5610ed66a4006718c17e6e2fe744826b3613bd986694483329596a310b44e2b89f9aeb2cf22dba343191e0927c56f10d4e45c3790d01165fcd2ccae02e9978200bffdf7400548ac5a548f4cdee0777eff6fd853aa983bc18c57c8026cfff66fb8d913464d46d982f64c9d3782ffc2cbdd21eb9ce0192f84b565cf5330b7322658716a9477ae69d31e7080ff0ab743e210ccedde1c0f036cd5527a91bac0e817dece179873b0b227f16ef9d77092f9ff153b5628117ebba96a5d40b5dbc2f85e8a518cb9951d0944128288b855613e255238b77bc6425cf17efc4f5c515d070a32634e32c72ae18cc703b73c1c51594e75eb053c8ad7c1683cd291203653d8e187391546ef273c707102234c1544e4d79f516ef1e48542b1aadba6e817cb557ee4b9b5ed5c365cf5a59b0ab622231497ebc98fdc29b9d0de776f6ef5b90d04c04c2a7c5bb191fb11f26a5bfe66c972af6322f591b37af010ada829b40369a3bff17085155cc38a242fa28dd30324574754293fcefd1252824dd16aa795759778caf8b37b09d1c5eb63db38d537b3e10ea492fcde25d8e3d7207508ed39f83cc6ecb4b40ddfed1a4003464d69c7a16c40c09fd70d92cdee749af0635e19aa29909a256c96f41d362c047d718597561a49ca7edb4b218de2c1cc9b08b77a963da3e416a762663beff3f32f271d4462e809e5cbc5b37c0326b99cd68a7c67bf13e42c16a923a83c5fb50f8fe6afccf0ceac0f715cda1d4a954844b46b04697b985c299e35950925a3c6972f50b4ee572f181a4488781a6071fd13c3e2dce9921b97c7340da133b5103c15c0555c48865e6a5510c02c6d2f5832ed741cdb8fea52b108285b3983296c5662a0fc33d0737cacc5316fdf90d02dec934221457e47ed2827d0081952c1090bd3cc80e29335977be1031e20731eb546de1a7c7953293b9ece2b069968381f8b07bb74541799ffb94203ad5e8e8e2e4845ec4c414ad4665eb8a7cd808b502d8251c8bebd7db735f10b3f208f1c7b17a12c40d85fbf644db470a3d1360d472192b2b3d51363302bd2af410dbcece1dec5364b0a4aa71dfbd33fbdd85da3eb70779f4dd5f9399eb6f094f5f146f80bf00c88627119d182ad787fc23078fdb0d9078463cd9ce8d913622cca3efbecd4ac29619d14672f9c6c4647051535a445c36380b49aef6d0f918ecee3706e99734f7527f952e406d1da3d4d1f686d87b8fcd1649e21289ba990a7bcc334a2e75588c62598da683c77667f61848b3bb4f1266fa9534513399668e8c6978e88786914bb6a4d8bb36cc9b18d3a7aac3cd774da69edd2d1c8f5999ec358613089637c9044261d3c4f24da427b6ebebcecf9b588233ae6ad6577e2e08229127581ae303ecc6c26ff116af597bcc5d220ffb5de0f3ab81c9d042c053c8218644dc24c34d94afce2b5b5c281c86cc2b3e10235ce861055d8f3aa8395bf23681f071814a8bb40a64e66c4e32fb82ebcb69aee38fecc8e2735723ac38c86ac9a5daaf26662b8b321204926af5e3b294ad6cfae7e0d6cdeefd040f703734f7a284579e09c50a5881123160a5b92d8b1687ccb4283dd5639dd2ea8bde9e7cc68eb37c29f077cdcbfa2d97ba8f5be299011fb3aa7a1987cbf9feff487e30c5cd7f8a2ee9441e5ad2ea4916db74a2a56baa26483de27fc794f1766896460e024572005c1d88c57e9904feb019d19db9017e4543c26f9dc8a71d3bf869abe5ff3142e1e9f69d941eb9f1d10ffde0a33ffcf1877fe4631ffbe0033ff8910f7ffc831ffe800f3eeea30f7eec071f6ef55b05368c62b7d771c828a30142da2b10924649529de1c0f3bf2c47cdfe983946020ba3ff0adff8846a9ec26c7fa1d767618a9790ee53a8fe2f6cff20acf708dbfc84ddbfc22e3ec2b557218bbf90eb5b38e54d58fb29acfc17befe08d37d842d3f42b77fe12b8f90daa390e55fe8fa2f44feb626d16925581bba61612108059686bba7d9acb3380e742d424f385d5a2c49b827fed23060918961fc7b2040c8126447726c6ab6fc9f100d3f4f80a002f31eeb071607c31dd3b2384324c02ddfb9f3e6d238ce150959cd7d04442b31161f9cfd63d144aa0d9f8ddf855845d372bb0ce902a832305df9bacb90669da56a7239dd0cf425d2b0ca9afd054453641be0fdcc17cd82a273acf5b3805097d63cb07193cc178c22a2db06126933b464f0bfe3c7aead2cbfc962c62683078854dfac5fea3d6042f102e5aecc45038808a318ff94d376a97939c06364619c68147bf6ed8c11040e1135211b5ab55d21a389767128b5ecf581427f2e92d3512e686b2b7a7ab2ec689ae47612a5bdb9f8ab4889d7274436e8b159ea65fe8fa9f2f277cea2c1ebd79eeaaec1e3085fe525b32cba79db9f28bb2f6645702aced46c32d30876ae9359ec611fc8a7bf9276ee3ebbedbe086ddd00a76ab96c747f67d74dfcc25c9b360c618a64bd4d75d576503dc8aa9c46277c32a489a251643103935095c995c024c26e7e17f98b93a6b070bec4f4394db2c92274dd4b43277a5bd7fe2b3628c7a4404eec88d2e05d9d119c1e2f12102ba617ef44e7120af4623e540851674967f5632420e484010715974e1ede501addc38031c584bd7d2bad6e25b42e454b9f37d0fbfc1c30170f468c6b32230c9cea502c7c52ab61ba0ebcb59490194b1652d17d0f65d981a6a78765a7b743f4b9d8b47153bbb4660345a83817a788c5ba38fcb020162d8d626de4fcde84854512450f0d9f4e4b19b531d2e97bef7b206601ddd211966650cd643b17036778596a46dc7b345fd80b22241c6f533e5ebe85e78d21ce64ebb7fd4bfda7f388671c0c0f8507878e5af84628a5e96505d57e96712e4b002af09fb16e1c9a5af1d22e6adfa46ffc520febf8663c692cb3160ee048a2a8fd990efa0cd5c9cff8b1ef8f5f2c79fde81e946efb1caf9a30ac7c54c4936f489e6ee9633c692b221fa5efa8e24da25a48ba9eaf99a5521e44b810bb38a4af962120133415d0962645587309417d870a60d539d6108e897a4345d80e7341b3a070ece3ca8dca69b07e49bc00bf5f22884bb4f22f202830c722a289fd428b122a835fe343008c49044158f038a7d15a369316a5afa71b55cde6a95c7708515ff5d6ada22da22554186cb4772c4f01fd2241f047c96845114b0861a247c1f63aa9c79237d9ba979a0ed3a66a5a5ec7353d9de79edf7b999189f1d2f0ac979bab851108c6db25edf03ec626a8512e9430886cec0a8bb341a4b6832dc263b2946bfff8a34daeb5921130401320620294490fcc16f1441244ae6bab9665c25057262ce29852d423da88016682dddc8c201b4a8861366695d19824dc9081bfa67da0c8d0c9f921689a9225d0a0d8c25f1899143b65ab946b175f3f53b3334dc6b8249e55b474ab06c87b9948ee78b68935ca819f80338e17a87c8d89156c980bce5094f03eb813c734f4388020c30031e78b0dadc4c10683157a17ec590cac81dde1871f5aa9de330b53970ba9055870c7647b0dbf33160ff1e6bc212bf7640571e7eb1de6f5fcca3b20927357e98e2b15ab0df893341ca48ab4156d5f07e6db3b8084f6626d41d15bb4b16db1c2a00a1684e03b0c9212695025026906e73c70aace38b1cb305bf6b8723776e2a0253a1a08117ab9e61be013a2548f16025b678e791db5a177f25fc0baabc25c552133412eec59bd5311ab8bc6df807fe119949986bb5916f8a3ebf42b642ad1ee70f4b966551db0b3034c3cf340588d7ab25fbf9a5ff2e69f86cfad4181ffe34051dbf1c5501fbdb6908bfc97539afbb7375786645f727715bd1648c8340bf76d83248dc6e4c822b0fb1778adc1bd60ba2008b4876d83dce31fffc52b9209e49ffb091c0b066ec3031be9528f1476da81061369eed6705639c3e3df687222440fde316b1ab4e53934662336be07038b22198fbf54750e4cfbb4bef89b49cd7b324a051145c713fc7415c6d9cdfb9f55b8989aa790e1dd73959712fa21f9e50c27da7e0bb8c4266c37bce2eae7581b324ad3fb5731ddb30e679ade5d752ea7926f2647f335c99bda537707e706808b51c30c654b069f91e4ab9a5c003b6a159e0425dd6be325b50990454387942c688e77b6a135685498c64d7146955207232d6ecf24272db24dff8b67c0ba2fa539fc10133047ce407729a51de27ada24ba3e4f1ddb6901409273c25c68e61b874dee0a13d7761df1f2e6ffe3704829d43ca8bd658bbe186c85c3f7d1ebd0d4bb5793ba12270a5bbe67f5bf522783b198a5b2baba53eeb44fcfa3337d9fbab3fdbd97ec46e231402decc614df4320a6dcbfbbf9d9dbc0b6aec7b9a3fc1ab8cc6583d0b5e9d4878d854ce213602955c3ba399f51faa8ca0a13a79edcb9e9d21bbc38d1c6cc3e985b95c3a3dd00987a66d821f8f9dd3c1be68974a7495ccd10a996e4819fd52b2349a8e9eab153e397bd1cdaa0145655e551c7174dd2336e2dd396624cebadc045ab877785d5c2378f0b44cbcac1032fc2117d445b5429a0c7acd831b36d18722fba1150fe263925203d9c54be9a4fe7c2139d2546f37934c68d90af232e5623b7b40ad9e05b445c5a9b78046a35824b07f4446ab44820776565a582b4b8da1239a0468b22c9b40e059f6f64772c54f3373afec1d35382fcdc53d85be682ffed59758251bf922177871508b91ee208e856674416ca010ca36a00be189a30b067680e178bdc05d4a3bc53c94f4925161663112cb3d04449fc2b97a2bc53b91c11a14cdb0fc610da43695cfbcb27f709c4993d77881557065c878aa4d0a29fb03f4d658317cecc941a4f2ba6d4f58083211e6bc584544009f03a31f2a1b9ecf51250345c966dae2d853edbb2772018fd4632c924f53e324eb3c6f1e9e16bccc22323522c1f219428c60651e04713fafd4e181b5cc9e80aed3517b2e2e5573c631beed38fcc0582ed1705e24a8da98117b68aeec4cd7f98d6d7f04ddb387dd58ad992a67b8f2174886f25301f266ac9c1591364ae15794daf6e90878cc0941dd33bbed3b81d7c4be93280abfa6377a0eb392d160e8fba18e9185eca5ba090538e3324a70402bc88d3b74493c030573cece583ddc2ae47f84e7ae57f7c85a8a8d6376e16b38ca4c5fb5d562e596f4d77a1664fce4c75e5ee72a4ffeb25f5e94784e45d5839281bf8e2a7f9ba2d75cc7df0a9e2409326ada315cc93f73faa1b8dab895b5dbc9da908b075c7ef1eb89fbf8eed7537d53d7feb06ffad2e47075f0ddded6ba8dad53f971089f160bae82f5995a2e27a3f4beec167eeee8f8ca1ea1cec4c35224f6a43a87a97530447bba876ee5c6447b4b44c56fbc4b377977baa925d788bfa5fefeb8a6764fac224d3a7420c6e90aa3a7e427e9c81fff193dc8078104d08442c3db5e3bc846cb59ad3e7f75f66c6aa527db34214cd4181714c07104d173ec278d858b896c433d89e0c4a8fe19dda2d0bdee8ffe1f2fb32796d615c19e3546c9ca032f556192162100116250f03157a58b0b79dc64f40f86ea091cf9db50bd6b004e3499181236468fec5c024e97d994a3c555e065fe3c3eb79ef053b4d2e73f938599c3954ed9e8ceb8e7e44b961db9992aa0d9468da40043996eb9c22294baf20fd0141aa7db835a1003f36fbd9a352f952a7d8d23b7acd206736601ac97457fe66da5052399201a02b473dee8c928e93d243ba0d7d60b90c645ec61ac12a6d6ca02450849770ba9b581595f5291e67c62ab8142119ba288a311ac64923448e94bacb860d7fabdae5e4a20596332ce4a600a1ea0da84033c952c10d7c0c70ddfc3af2ce8680bc74725df175b5ba15e8c12f078eb52dd2c7ba01bca1eccb5198b563f304af667be5895d060b2c22bda699313317136973a964b58aa195a1619905559eb1987f358bfd827126c75e87fd8c05b8335d933446af9348fbc4df80203366655e0370424c4ea168fdea5f9252be44f4d635c3dfeef7f33f2f985eccf4fa31c1b39a9dfa30804a524f54a4fa303de33957b9c04aec6856921a0487550fa7b12071054f652ce277bb64f224e2258b8bf5bf1af7d2398eb281af68035c222b537aae686ccd5d75ddab29adced4c58e54f197466ea1cafc339301cfdfa1ef612dbbb13115a50753520f70c2f361226a5b9170b16460411714539baee4e28ce639e08cf71a99949773b44437d21e0ed8097efa861fcedf396ef1060aacc59c2444552939abce8d035168aa82f87dee471d2f1697d6a9aea9a326711b03c01dc004ab7d6746d3c2df9fda0aad733c388126f50bb9dedb66f22e5c9ed8db97492ac19668e1b67714368564885a242d4dccbc6b6ee98be9be16e19d91d13e4084f33c3d545e92b57399c2ab00fcb8ddfafe6e29a032453c5f5623d06ee2c81b9b1d58af133b89b64c4f992aad5535535144afbe8f8a9f8c162c5fb8c0ec298b9bd2c7fde63650567290fb109ab024a251524cb5586c9444e5401ae2951a514557abcbac7c372448096a6bce15d2fda4ee49b4f33a658a71418d695cb5d828e814978dab891fd3e03ee6c0c757122773e02d42062f0e1c7d666beb5590ec1605b23ae5d24fa97275e158f624dc3d8b3d09ae8f2b22b993b85474cad688fd4c081a6ce95035b0a03099a3a2edf959dcc03f862d30ad7880f6ed24f465ddd83a448e9e296772b802656e9d238582911a096053e383593548dfc0ee96258a59ad3c766d60ed3b9432fe2ff4ee075534e4ff868706ca0cf8749a80cb6598cf22efa03aef18a831a31344933d1eb1f8330e594a8d938cae33e036f2d3715439f411212a40b0b09057b32321a843027c7a0edb09298e8583da24d4f722bce2d980844f5ced0545b158daa1fa7f5302a14a56246737ec4a2650275e78c40b33a5295360743c10cd7b666722b22659ee1e084c65ca3d0ef463ec9398a414bb7a8d86e5403898e5ade86911e8ee824c19e57c83469f4bf7323919b642cdffc97780484c42a60c7db876e6799534275ac498efdf1eac8c2001b5d42070623ef4dc27affdbb35e626eb1ace35901762e31a860cdac5ee44910e1c64c3cc358eb32799b273c3320f19bb99ceb3aace14bae82c9e0c4e8853f179f3ef518397651f4f2f9ce2b9642eed94319ca1b6e9c5450453dcc7db6f5a6c7c3c9744c902eee39d3bf76396d991069308297e11275b4ff625186660cc3baac4b65ee2a2c5f19ff6c3cf776d3c742a27defc022c5bdd0a92666a726b93cf49d7e88655383b7e8b34b0556e5fbd72561aa6b518d0c1533dba4b861eef1d630dc0a0e5191b9d58b63d4d1cfc7b2bc51335152c792b94e7489292e625ca15cdf41d3c76542a54c0680422c3ee2a48fa147c7d6e87d3329bd44ad714dcf08c23e124d4e710762ba226a4cfa03eb762ae3dc30357a468320f1c565aede0303634844e0f94468041ab7121109db7a0a2cd477825a3ff8eb6206b49b576fb810f352fa12f6507188ce61e2760d578c9e9061672e27bd98f42603146ad8ebe0e304e49cc9b1a5ede5e31d6d27e7c7e0959409fc633668d0bf0f1c91af43be968f50b01a9ba06566a2ed1124833562182acfd02a57e30160f322e5018f96809cac578bab42cb4a3487415a984d2aa7c5b57f73305abdcf3d8a3b79116ea7c6c19f6134399b84c382d55821d3e850bb4caaf534e0cb2314deb223f8ee620b0388071d3d0e0e5dac90c83668c343fc28554dc91f46214b2cb1da1fe3a69a1c6b69ca84d0b8667408755b847233d61d420a1719c7f94c2bcfee970e3c94cbb2ae666fcd8d6877c17d6d61de15c1d7efe574c22e1b8ab5714c343deb401b13b35257a9b78af310e76d3f43a65bc49656267a2b1d7adfddf759d7061d7ab63452d880b50b4296ddac1e07ccb023642c0381286b9a835e3489b6567e3b8ff937ae85d3f8fac5ffc3d6585683ce4c0bde50204ae24e33670ba6ce7a1c35491176e001597cf7ea773d16f4d9aedc55b2fef07b2b8ba02f767aa3a07fb1b854c8a2d757ad5f3addd581313b83cabfd4b6ca904870f3a05779584960dfa122a93ab57ebd86e46aca8002d93280a12ed734f68866797212004d573626d3870a5b182e5c40bfe5dd9e7846f265c761fea90c71e81b52d9b4a2e98ac560eed656107cb2e5accfa029827fa864de9231458582f8b5a01c644a7a683e79e9897a005f2d9a26f785cf19fb881242c1afda39a0ff2e88f22984d924aa4275ec314ae5213347bb72eb8a6531ca4534ccdd89dd724563ed89a5ec2fd73fa2718648b8b4db14490dce148c72f138c9c97ee4c71367f836fa2104bdae7fe09516cb9241731b3dd93bcee0d891f1815869311d1e0034dd626ad8b33259be3d9890df0880785f5da869575416636c0b65823c8810734c4babd07d936cdc868bbd804d45ea641907538afcf0dc291a28c6c5ffbba07d34301117bada0567623336e90334e216ad0e07ecb4164ae608fde21d386bc1f31f42f8d4014589139dbf0a34deddf5f0743be5ac1c84762ccbf016cd307b37c3071efa3dbec236a0459cde7e8150dd07b984f6ffd45fb87e1a81b643fe0db846d1510b7ee85693e31c0acb645d9b00b6d571db13c685db20a8a2b96c1120fc7b20abfe3c2c52e29d08b3071b377ee6c4b070f0c0bc523f298d3820a5f707fc81693b1c01379940db18a18a503a1d8c30ca4560426fce132a00f5a50b84431f27b539ad60185d781e4262b974cb3eac4c24b29abe3b3c1992325b3368235fc50724e8357be8d5879c4fe5395576c1ba9b52d8d8f72b0f8cac0de7ffb3d6082cf49c4d577be7beff5e771d45514fb6a1ba9adcf46e1bfedee47d172aefc8b1874398963cd8ee854003fb19fe5df11ab17bcfd185c4c07872a875baed3955605f66e5b0e5ac540f34581e9371b3ab6b0cb94af0ba3abc3230117153362c8983be7175be1589920ea52d924774c12ad915bb9ace43622d4d6f6f5d9df967d44bea02375cc8012b03bf668b722411751c4d37eac96a697345ecef4c5083c88ca2211a2d1615965a2203479439a46935d39a67fc210e7929ad84f64e91cfc4729c8b19e7f5628bfba6045224983fabe9cc84b2170aa9df9ce9aff101d4e1b7aadd216fa8149fa00a00215078b23e035391840b73b8aa529c403ad80b2853aed2faba99bc9aa2ac4fb87a6ca332cab8009ad134da1c65108553833dc4f8ff17409802026101825dfdad8360c57ac171450f5159ec4b847e6387ef02bf51822d0129004b1e09b27204df930703f1313118e5c04a13e11fd59aeb9398ae724de0ed3cd0c3e82a9a8e5084232841c4c516838ca58409958e8558d58158b74d2901ce002a2ff05341102fe4dc05ed2f0e20eb4f934d0e0d52ce00920b219b8d5668220e4a87d1e13248e37f2d1021aed3151c41ce555ceb155d722049909579c090b48f79214afff695c43459038f0243e71390689900ed12ec20e276fb1eb5a77263843d0ed2e1fe74857ddedab3e544489d34a70c6cc89f96efa77100144f886d1152780e3d75b0c430787f2ab7029558ee8cdd18657337ede0cc5ab0fe554403ec463e59ef3bb4f126da92435939614a77c3236ab0643a5d1eaad74f6afcc15635b566459f13276d82415ec243cb3e14eed5c5232d59fdb06023c154867404d11f9b861bd1e5fee91b0380efb3b35f8b81f7e6ca6c7facb01650eddaed5207b2e57a0757c40216e2aa00212aba4b4ba04fcd69bfe6500c9c62c11993b593bd97ab0eb5e12dd9bf75a5c2f70feaffcdcabca4a388f053c148121b84ecdcca8daa711e2b06337eda925999c557eb1b840e9bc68b8b5b661d06dd899f378cf88dfeeb0bd0360a26cf7cc0ffd692a178d60a3f1d02d9022167b589aa57d32d4e144831979390e22fb315bc3a19857970cc851143caa4eb2c146bbfec530258a92bea717169e4a35c3a82454de21cdb4d575c0bf70197d28da68879e15196b5bf775d6c04b5b9602c09e5551c16889b4e63e930fcb3b55e6254ea3b1c22862b36d944a3f806acf5ccf7cbcd71aa51b1f1a15c7279021e8070283e5e4589f16f28d7214ca774a923967e931610cd47edf8d5601fb715c0bcdf04b2e8c1a512912c05041f7124ed08a6e78b9a8118451a4c93f3813715db201506e921631be05480e2789f8775e7dbb2cc60e30b64f8a5b144b2538abd7a076f7e7e9bb525cb369a71d74a160c08b332dd756659f620ae7ed44da6c4c7944c2b6455da822156c9451c67dce7c0253dd54682ab87b65a59019a5061364a124e7efc51a3d74102a033140974b1ea3e9981a072ce8a590c391a1f821d45fd374a036ad107510a1eeaf440e56cef043d41a15de8603544721832ade605aaa93c7aac9f3c061628b6a91e1219290929bd1876d2b37016ea7de28ede3ef1993355fc8fa6ee87b98bbb769466b5c32ace7f6b79ef8b934bb0b2e4487a0398db3b49894fb5351f77d9340bd3e4323071224a01607a767366a640a5b0a31c5674e8def51367c2e1e4af31aa9db1e78e62a9826ef30b110ff411a952c38bb6b05ce98d8633539bd2ac6c84f749c55ffdac0c79edcc4f40cf343145b0c58f981c1e6fe5024c895c298915092c5600123e334a31a8078dba908b6d2c087c776dfc14f6b79d45c5f40122fe4f44fce9ed03e71572efc1b64f690b160c0ea992b9bad18bdc570004e4993f41de2800283030ffd993c56d071f8eaf2f4811f9acdc43394fa534674b2e0e907d03a0308298c280ce3498bbe9b34194b880c986436f7bbc9f34fdccc8350754aef6f9bc2e91584e02c813601c95bc1cb5f1afda088503fc1ad1b9800fe2262a3d968da35bfccb30179ab63ac7d6cf496fa92df210e1b8a9ad1c9fa765b7bf66ab0f8bc362476b846a9a0b23dfd48842c56e56489cca18d7700003bb3a2066de29dcb27b4b8803037bd65f9524d15101032a95f56cb13519ca086300139706e42c0e7b113390e1ae7539eb2dbfe421ad2a8219a6ce4252de8f551363d16fc011363c3d69ddb4f34dd2434d0ab04817d07bba8f5b038bc0fd2254e9322b09e62743dfc3e06de2b7da714350b6de63fed7afdf716fc32514a1ff660e2ba60fb7ae928ded41d28f2e51fc328e95a269c8e68f0c67b12cf06059999b8d3ed76ef81072c54a572b7399e9906f882d2cc9d2970423ea00544e23ee9c227a82cf4fb8c0a286ab23e0069b353fadd3c676b52a2b057e3b92b6a67ae28d367b9028a8a1a318489d3dae04e03565ef1134d8e84c0842d63bbb4aaa13cba649f91ae7881ac80017785c04d4dbf1f84c97b050421046da826ba3c8f2a79f9e66ba036d310fe408d7ba54ccff518959311da7425cd586f923a8f6205bdd0d537821f6f083d23190c69ae879a8ae3204456fa7b1841c768a957a67e827f2d920d01ce2554e3306a3ac4bae7311a0d8068879eacb0a67511d33ec1c10c453a4bba3c2984359a679a8a5d065d2b32c6fab1b82883e562a612f4fb26f8dca655584396947f8af9c30e8552e025a00158729f4041ca900742845b658ce940e0a993ecb405b4cad127ad9287a2f13109501a5d59a87872dcd27e269a5428f0285fdf96c910595613482f3236d21cbc6aaaf16730bb5d28b44136015abe657df6be90bd358ec9c27f57b3c12b382df034f5c52cf6caca04a45411223af2a377f856720d74dd01d53e1a5275e321bc586eb516d24c1f47809613314e21f1a6d46f937a09001e3511d68f24da766c8fd5b0e2014eb4370c91f2cc837bbab77e5c95a4d359e94aea94f6e34a87a6df2c4aad37390af73a1a11ff5421dcf85689a643862f5fef7a8b107ef8f3416eb1a92ca8ef2d79fee5c51523bf78fb32f2bcc4200e9fee0f562f0a3bd38115330e8d3be364c30a913d2fdbb61e8150dc368a34f33947e00dd1b9714c7b6bdc73c40afddde178d681f17634c4120b6d60d59be361b2ead19b2630bd1b77caa2e12bd8829a1a9cc21afebe5e5adc96481bd9538affb18e77f22f510dbaa9da9d676753f8a05406b73072c5f64447311e23bd82b8645b1b1a983cc42d3b742db33f63c8f11a0e7220e616f55743d7a8c1a1ba17076b8592d6163adce4804e9af6fcfb463baad1733e74e8085d690638a363b505d60e347d6b42e498bcbf948e41d03e12c3bb2c9f6512757fde67bea2379b74605fb03c8bc11f00d24997fd045e93373739d10e9df27591d57f0e0974e5cbb48302e4bb3087a7a1c02f5547aac02c160f8a0f3ce90e2abc59bd57c70af925d3a5db76504e659ff43dcb20e10b84394bec90f5eb6962230d7db313a35908486a61922e31fafe8b40f3fdbbd1d818effb302a0c288fb41ee5d92a040f43f4edaffa1d6d801ce58accff1ce5ca7db85aa5edcda42b054b37ab15837dea02a2956bc88d7e3eca54c5683d3145f53261904b2b98a76e7377a4a659550f524a224af23dc1a83ecdaf950afc611471f2da772f24152ad04a336ef5426380adaaf91523f028bbde5463b577b2a1c5327797430f5b91424ea17feac5fb6c7fc2bb168c35b0532abe85eae8f84f68f7e3854ca1631cff495996d4d416914a93e33f0f17b5ec63265d11e751d7ad955507f315144494fead2f0334c9ba113ac1cc4962bf9f66b11a67ad7e9bfd5af917db3e9e330065548b15fc13710412fe10d003a75e15d8d364afc0761c26a58bfa7ce929750458b6c853dc10ba6768a6827ca9b7e554854349633950c66c01e194e80c4a8d7d9383200a9d40a079c09c05015c252974771c7a91e12d0128966f942778a642e4fd9111edbedb6a4102d5b5447aa2421291fcd4b5f62e02c8ac3e0cdf5ecb5596a8f89386ad48201ec1f98895eefd69ef963861b732989b457f4f5f421d0accd03f00426bc0be6cf6e18d0e4b437029e02a9175bdcab71415993def97fc84682934a919b4ecd82d02169da71da3d301d10929d305d12801ed5d3be124043ee04eed001f9efaf00d032f9301957812ec0af420e1b8be931edb6b45e2230694c22da916e9540ba86192a5d4ec282ea6f0ecf9168186501cb731ab0974ce0c01e5557107bd4fafcb628b622e3c28bfd3b27fbabc333d70768aef360d39cdbe610c8e3ed1bf340f0a9ddb26118c2387f40c032bf0bc1e1400a65bee23031a6d79800ea2e3be1cc98dafe47cdff3868949198c2ec2193a3c0acc665f3d85f6d17218365e5a12e937676b9996bfca97efb94db0a6a8aa10df5a739f0ff5b4625f0eb9b029f544a7f285614d461fc10c30bd5e55cca5d2404ae1a8937d16425beb8c6ed5e337ec5341355aa2eb923f8577ec13dc34643d54fe0f538481499e882157d070d69f825ea05343d0243da63cf1e2eccc5f439520d33185cbe3b49b080933620815f6e7de8afe4c8ba8d7a54ebd7e27aa14667d948fe3cea1c5558dfce602bee12672f74989216e1502d91d756cea33947c23b37175177aca68f901ab32a9fdd44fa9d47f439c1a71e5258d07a33a8d0a0ffa1736d5bb99c02cd83ae011db5788bee9da546fb33139a3d0ba61dd977121c5980f5135334aec4de690fe94cef06b90ae265931f3ae541a2a3698c02e99836a5c7ab99432531ddbc25e053ed32505cd1e41f8100fb1953e2329cecb66c2481fcee111012459e212130861ca2895af9a299af52635987cda2ba527d2738203415b48f5e5477b4cbf5c59b3788d1e922d6d2df9295da7c73db0b550870795d0d27e0e546cbd2fc1741af875841a5e1448602558d42659b7a55685c55b566b987548c7a5c5e69f30000d6aeb2404aa424c603fe2db8eaec0dd155cf68bb9df0051b523527116e46dc0dc8c7ccd3c0afee374b6b505c83b4f6d909d82004c4908f2df36abaeffd7418e974e8359e761dbfa4fd05f941d641971c5e9182c29599a7498410878f1e430436691064f652422e3f47ea49e0691b799273e7955859765be52e90d9a19093551b0e4d8b3cb883ec38c5e0326ea495f885b3e4dc2229d0bb78a32d8c028294cc0ffe4215a50397efa52ce54b24de3c812aed31205b103e28e4cfdd8d1c47d8ced40bc038c278b672d405c91d42801aab71b86fc70ad674077dddaae019698dc51ac3cfcbd2f1224af71a5cc39c36f376c716e680dece0b1cbe08df6bfaf5302c52191a139e0cc8c4e4abaa3260cb88c9ab89401f476cfb3b7535d95511179783d18ed8b835ea339ad5a49040a61c1e5150bbbe3bb1379064c000f442dfc28b0e113857484f8c43b622d1574001ea2409236c53d7f2416488ea6cff206524a1f1c5c363e2a041d1cde686e73541d4e92f846ffccb8adfe06d01638ca2af7056aa8bafc717600ec3b1c62bba731856b1538b453983e5185c60ff07d97261b139fe8dfacf51bafa639c5cc269b572f9c7ff8011bb343a9218ce96ed0ae79f9f54a37e7c1873d4f59ac36004e71bcf38b01256f85ea1db2f2a02dc11ee6e0542ea5e55dad2168427fedcea25429d02802c10f36fb3bc93d5a437253ebf0c58c15f564f06765c1b668af6df54c198c0a05dded9ba156c133ac952cf48bbf52b523422a74c22341d1675e08721bb33052934a4e1be9a734d99417d248241ae248cd5dbdd54231b7d07c4278aed8d197b1f49d435a2fd95816d29d3b718d44f7738b32a63ece0b6bde39c7c917c49efb3b12a76a14769af7034171fe2fc11f1187da9ebd391b7df3837efd78bc0b6afd7a5652817a241d19c5fe4c9ef538ffc9b8c380862e40e6e7a4255550b23aa58cb6841a7c7a74eccf9de8c0df1da9a58deed4d954a1d9bd03995707d6f252da3944ae91676f037b2c9deab3d8044c2db3229478b466ed073f4c281f5c45f8fa840d14e0b258685ee27dc86236fab9ddb6f818ff95933f6508571594c18360fe23d8e51c6778d93e96fcff7485fb01416519f82d904a2675b0e8cad109fbec1764f49fec931303a5594461dbc529d932e4c3628a18e901de710bdeed19ecdbc51829a3f5979d9ddde0d817069c29d0d3687b88874925b622033e324eea0b8ab73c4db12c08ab5f3f919865442b51e2beccc6e89b0003693962f930cbfbfe088476030cc3d9312871fda1f55f7d38d1ab9b894a9a1fc2531f516b2981f578eaa0c6844cd91b01df23b04b03536113b0dd242c9b02ab6cda71e24142c9e7da90b45b1b4155dacd6ff61f3a23a9b021e93761960f7e7a43f5e778503e3e547f8f5c9e82a38d597a77a0c946f2fc214d0eaad4338c62f38678458f6b03f34559835f516165fec6be16b28c8148dc9b90b3e2593c71734e9c4c4a6192ffc79507696f5404f560ba3ceadddb11da1925419f683618866ce62678a99e0f85178cfabd263190560b3e7ec089619d52c5ab3e3190f2400c84b919370ca1828308ee0a46280a3d32da09fae5b29f9a799038f61c1ec21644fb5f7dd1da8fbc279ad4b7a729130a6081fd2fa6c75f4b739c68a4a8d444f12a1366d466778c3221789705b451b9092da5124d68cc5cb54f796de8a405c9d945dba0487a81d33b5890dc66f28969823bc7a08019dbc435144c224f8e0117cc699a1f4700f6d832413a22819eca66e1a2e3f350f4d3c1d51c5d2764ae0e3042a4e9c66b81f5914bce36e7d8aa31b0e40a5e772ec9a97764a2701345d6d3f9f5e0ce4c2dc4720578d8d03090145aa113d6d38ee8df2c161718b2c7017412b65623b42fca5b3ecc02211f85b03179d829b219ffbebee53d8c74b9f0551359dafb695ca56dad177ce53de388782653edc06016bede086abb7684711ab590ba4b5d1f16c30077fee5da01f563018d603e8232644893fbfee72c4363c0a94e8a9ad21cb0d5b893d707215f1a22cf9c474433b3c2fb4b1ec42937320b62f9821a117d4e89d015380a458a3e6c6e0e4d65a722016461d4b340d0620521e4de00096ddb7781104ebd0183da4de889d441ea8bced732b96a60bddaadef1b9bad17142ae070583c822871a3c68e92d17ef6a215dd4fe00080f42677396f44018883262122b34cf98a902f6a8269b88bc101f2edf173ad142d5fb9a045693e6b838373b833338bd59e3bc9917e5fc4a9767663818f62fe937ec9a60c4154607c11c57930140aea3a8d0036394637537a9c89d02a4282b499eb641e087bfa95056b40c14b845403432be5f7b552499e1a95992dc3fe787720200687255aa791e8864f4b7c6e7c360dac8ec223ed91a4b27c385c1f69139ca1a5dbf54fb8a17c254c43ef2fc0252ddfd541f588c3f0e41efc630ab16fe4ab4058fc362a92db71b838ba39c003c20952790f3ce1cdf3067f52d1157deba3c367b6fa233f3053648f8fca3391521bd104cd8c3f81260898077cba0b1d64a460a9c50b07b4a3a4c0abadf0577dcabb483bc0798fe06665a417700b20e0844e7beedb299782af08dc101d0a0176f33f3cd8f124825dab3748fa017dff056f39c45bc2de035e32caa165ce5a3cd8c7b22649f8dd82add7f2ed07b2ff16f8b978fd304c454daec109b81d2971f7740686c531f60e2a1e3cecc21581a7fdceaeea085f1178c30bb6315fa6f8a2d3efeefe4476402d07ef239d81ab5704b4062d4ed68890df1201487eb2dd08e84711d43e96522b05c2be5a65f6eb17716f38a81e62f722b8bfd1ee7fc956deb62281b3df5732869c0b7023c2779413a6c4fe4722b6d57ab9591a07896d66e6fc114a4ed08ae08cf068623dd6cdefc91545f961cf296022813b0914700aa4af4d57038d588bd14180f5b6ceaf604655f93d49fc1fe27f967a3ae8ad9bdacbea027ffcfad90e6528e904e8cd13074fb863b555420448098a946709a2a6e291d016e9c8eb2d94cbb926b5f1b259edeb4a230ad9f7a27f04ee09b5ec5e7f236723ec80cf4dd50865e5dcd057deb0c57918945ba329e30b9ac30abaf451862b4f75865b1b526ac6354d2c5e6b2aa487b1b14615e221045cbb264d20ca30c2f7fb03ebc4344b39ae77117915897ee3c007ee64f04083f3449d68924476a58a8a1848fcf848678606b3b5f05a3d0598464b10a224de1dbe0603dabe9aba3f839ae32853b606d3c48450cc495aa7c1f27492d21c8f4943abf050b5cad3e95816f71b3d04465b0a0c8face159e81b68c027190bc920e249fbc00ff900a67d446688d550cad282bde4887e07671c5c4073c31de714451a294ba7ab803e1e07ecfcdd41ba05bd538f4fb50299a24061701e1658abf82f14f586ddb353d02b93c9bcce1d43fe118d73bfef8b1d2b9a8bf5f8d65c09db73c70b03a8a1475dabadc24dd92775ec66691f838eb956878388fd80656dfe741caccdfd41453163651d2c04f5f9ae351243c92286bd08167499d24a9a2f6f3ca4d79917dcfb89687d6789a4a73a68edf5b3ad96098d173a671ead07a5a96354f8b732a139a1373aa117a33bc053523e79e72fa4be37adfc505dc23beb12a23bed791f44eaacab79bc22c2e25ecec0ae473b2f828fdf88eaadc755de042074824bb6514de8f9a5ab37986011ca474591bc7263bf4186ebf9c01308721a0b01a92728a7d0a3cbc48ede903e10a10c638083196a3bb152aa2166d059b7c093edd0ee8904012863b00083668bc4f23537e7371b68e21ab7158a3c1cc237f5ece824821417b2a6545e408f0e1830cf0657006b7f92be8c86e791b21b759924a9073690303b6ba289d9d42c85349cf091aeed4163cc83d3240fb3d07774316dc65a35527b326e17602147b7f490c71679624795d7ae3cf039eca3899536a546a17cb8a6ce2dbd1501c2cbdc3f9dc7c07c07f8f315813febdfa00cd0d0a29092b86e4f7e265f246c243d086f2d1dfe1cf4b8d451fa6824a1f9ef39f696f83ada6bde40f91b1f237f7bafb8f5eedff6fdf33ee2d625d18b760e9387932be95d0b4f97a327321b353cbb089239fff8ae6d94d5f92b76d2446c7d20fd3f63422d3f19ae27381ad6c4e6348df521b834c96bd364624595fba58cdce3585fb30e852197467d3536d2afa4c306b75daa9f2a178d191cc07cfefbd5e1965a70ac6f55b71b6d5c5549d145c3af5b87af4447273f8ef51510f25261e42befef23d01aaa1575e6585ffe47e9eb6c6728377dcf61ca38758c101cebbb6079160f09418ef5959e153d04c8adf5bd3eee20092dd1f3aece3279af65e75e6f3433b27818eb37a1b4c08566b355408846e1ff2d76dbc7412ab75a69d7ddfc3b366499cbd8a838e200183fc7a7b6379a164e606aa23dc8092e3f96d7461c999a96998efe90390378b17bec5ef7a3f9e2b7ec187ffc26bc5b0f2da04411d406daa270bcb9b46f0f19f1c4e978cd644292db1ec3b74bb6ba482ec75c87d6da92c929b5f7e1e98458bc8bdaf33f2cfba69e4cfdcd77aa482be2da23b15797d9fef42be4ac25a38c425a2b2b96a50d9bdfda3d4e8ed5ab64f9f588239eccd7aac7b11e6bfb86306126e833bbc930ce4968e1081249027164211477ebb3a349dad16bbffa38125bc10f1c3f9dd9ff34772bf2252b389cfde72597342ada413fc6ded216d51090fcd438244a278e1a15c38a9853b8eeee3a0e6fc463cd7aae777b7e925467100458494d0acc915b818680d7ba141b331839a3d44cde2c7efd8adbabd219d2fb285cd1e779f1fe35d9046e29d42463385690f0878d909c18557d57304f2be2b89a35ce1bac8fdfa1b994b5bb17708c50d5c7e17b4b16baa59aac00670c32250088b4a852232b24e49c219ebca02faeadede8a0fed2c207d38012ae44b6695cab2b8da0b8e883778b9211e2b5793d2f1ed1f0d902b4b0e54c162a142176422df4089727123f92680ec748d78d2426f475914b3571955057decfb3cb9ff575635929c2b9521ba06f3cc3d214ebe816528a6420afb776d772d67632a9832c39e310d5e36288fddbd75d0210c757bd4faa94f30c0f8c754e50cbf5b94057184c57786b11bb00213eee91d6556a0462d7dd13163c8a486c26d3610c43717dcf0cdb6c17ee7ba16cb09392f84ea82bc5729deba3eaba72b02c062237ea4246a3868dec6922e73ba89313ef2c838af0fc67c711c8a3fbad71d61a7c9d684ce5382bbdf724f16423adbaa30468ed542a313f2645852d820994a857d04cb0561899131bcae51b70a276225429f5342ed3962b8532d38e85017450b994fbcc4ad2ca6061ca2486511104d835ea29178588796ef1663cca752f0e583ffe1e31b9c4b87ade183a5a8f8624fa2a3a1e37710dded945a4190bbd513a994df5ba82c72551ee318f9d6d62a90797c750a481d3310b63240502f678d4d03829c5fca95323959873fba497e69a6203e2b38bd451e0afb76f3a0fe16ee5a55ee6e541ef30d998f23e942ec7202b0e8eef30e0ae3638b48d5af0cd8b88ac1ff282d097ba2ce6abc929932233c7cd2ebbf2604036379961ba6100deb25549a4e0f3bebb19ef0a786165cb9dd405a4da1efe1a4682601c187ae43b42093bc483d86bb22f3846e16f1bfb32bdc1827da594a709ea069599e4018ad2314d29b10f9741f1bcac0801a5a65762fdf22019f08e8199a16c28230a79a4745123ae548472b89a46da7ae3bd98e2bb29a4aefa3777acd616189a9e6ac4107badef4257a932257cf4e1da2b3dc5563af43e6493948a3ab77182a1f1d925e12a6d604ef5ba815e7aeb000bdc8820b5bdee8d8e07c2a673efc1b66e679a0b93398a0101d20c5069aa4424068c38501c11fe9cc3444493204e6b1c145c4d78765cae5a85448d6d97912b24ec43810fbc512fb5d1215a495e30f9974e8beb507234d0de182a6c267b93ce30dfb3ba4a95d19cd76417361b4ddf4b2eecadcf40e6d0bacaabf8132bea68c375501bc4f61bd30f2292ccfdad7feee4ad7d25a7fcb6a7db0d3dcc26e3567fab20a6b9d990a2d3e8c12445c7b1ee4b3ffb0732b6940cbc979a6770cd3b0db4d03588c7b2fe0c8a455437caed85108281fb6f535fa57770df60fa84eb4d07725e5a26975372724c4617dcedb2bdf8bbb1f5098a1ed8b52ab1f4b6e9468c0c5378de8054c7870843ddc679e3c1d5d38ae78cca97cb95386778c050375f56eaf5ef1b711f9dc8a8381d325306b164ec564b7a19ea18dc00aeab4c17bf46bd491add24dc78a3b979eb0b90ffb6882d675c09c0e6f928a5459c5a064c9ced8dfcc33948f94232d785c02d49b539d7858f81b3e843892b6a7fa477e96594ab35fd017d98226287e7fa7ee5758553d559d13baa12a76036deaee76be8a4b150878b8a64bfda6e69cc0dd5e8edfc3607b6124cdfeb99cad1b57faf131306a9cf0c93c1b4acbd036fe2536b8f83022e59e7632b413493e64ef5272dab0f91ba32a9972547140bd5753183802bb2c3b11d979921f17875f1fdfcbe942f0a9234aa2e4fbf7c4154226edb427c96500e4b726522ce79d82b7d7df38558713105c5fc1bd8ab0fd5d2e411e57961284ba964bbb9c564c1b18a5a0fed8b893046238c1f6e58d08fbe319ba36b29d4141bd911e341a51f4369e2726fb269968c8ee45b4930a73adf10a76a93dae3ef1415ca6a416fee39a0adcfab54558421136f3a614e63ef849368914c438fbfb277ab95ca71f53fdb210d6a2aa52fd9ce95fac26fc358ea619acc8f99f46ebf8682ee85408e3984ff7309050c8e5ecee379c7501d932fd51f26c9ce519d2508c77c058f4efd47a028029b19656864eb5e229e011ff92f3878ede820a3b48781df8c32f302bcc1c27e3ea0f83556f51fabf9afb9cdd155a74aad909f911e10a8711f55fd922b2a14a86797dc04c11e08eece3fd9a639255dd937c8a7bc06580d481be987edfb1311cbd70a3f5c26e9823beaccf67378ddc84afaf3288994cb5b389f03e5b7f9dadfe5e8b7cabecb2e8369094cf9b1e21265e1fc9db14e57bb2c28a4687e19fbb6759ae89aeb5dd0642001a9941de458d2a8da74bd424d4ef61b87abb8dbd204c1eec58791d0e14f26c8ef6d566a628d70979e5c444eceb18c7723073e5560c2d44b95e84da34d291bf628a6473360117a1b5302d6ffdeeb18d220bfe9792cde0d43c762e3dc183d1b1be6d7fdbc3b7f7a8716aa968f042a50227218ba9723379bdc6fc53af3bc02c37c598b38bc3a723bac679e8d4eba886175f19f19f4b0b8f2c61b8ed7509e5d1576b978156783df82a3fd5ae33bf8ce6e532aa2401b6cb4bce72b23e7d8d87f05fc67e46dff99f518a515ed414bd7e514c70abdb6b0a6e366f165fed07443c43ba61e9ab6528c9ce0bff9e9ae4ad0c67afa2a5daa4af543a8499615230d41eeed74757e5546285b052af0761b225da30835d061942396d94529b31c09899df14c6f97b5bd5d60218a30f8cf03e9d8dca7f1ed3e56784555076ffd76c5fedbe5388335125a162fd5574f8fd167aec1aa1a75d7f56c14e9559371f7d0481cb90ffeec7d47158d891df75236c9af8aa047872057d151b4a63b4a550566d6562a5c561c2931b7daa0d7a3bec2ad5569927e2eae2f444885e1c518bef8b6150717d861b0a6211f78e54c67048741fce2f8420055d85e0ce1cbd7eb0158b9a1af2dabfa953642bb3d41521d1c98e1057e92e51572b3229868df748ca0f0dd2f744d976c4c06cb51d1a3b38a5e28de24db3d6e2793151cd226e60664969010d5257a7669076f9a61998a0b8bfc1204752cc3a6340fbddba5c3a125a4eb8ed2da5c9ff1a1e727f5f79513aa98bdbf55aa7816f041ab9f1c71a5877fe5822f080b3aa11687fa32e21349bda066bd6e26650a407b28f61d5d7c803b5f2dd03fe4fdfef295cd45e1322ab3d166ec10f30bfbc58cb600e1cd0e352a34822cf27d6a88c70b055882af2318bf6217416de8207289968940e1ddb0e26c1dc8040d8688304e25562b4a23d41cdd000a7f42ecd72ba1b76981b886113ab7708093b2646f0edb65016b8ff12f235529fed7862af17c263e4a9188ac5f6b3ec3c772a6102745017b5b50176428700830cc084090991ab9e0072200cd392d849f7e9d9a22422ba806286a953b5ce5b6bef206f8238e9f10a7481a48263ba20d9327780a4b14ee92e6d22f7c566fd468208cbaaab3508ed387a19da821a6760beaa8dbd1b25eeb7b8370965d1a0f26dc03d65693166237ef62fbbdd49ddc32dcacf0a419c299e66ca58cc3e2c2b462150d44d34deb1b188ba452c693ceabbd9623b86c887b4f86bc4ace3aa458dcce90ed302fa208c939f244ef90c0ae0e9d5261ef5c6826a2f9154f189f9799bf1913f15f99c8fc8c263e9c083c1a0511644adf74f407ea68bb6fe91a48dddc275d33d7b33e0135778627b7a3627b62bf2d8d83285b51ec442e858e204329d48ac0a647a3cfca2c3c66325da29e402ee0310b6faa40e0a922fe05653e0bb4bafd984f7a424046f312380b67ecac06302737540912f98808837ee024ef82d4be0a013bb44df0062131ad5e85f2523e7c3b8fbbfa52baf88e6c8a6c037d107e952dd985d4738a256c9444a2eb4cdf8febc572a463fd18f21e28db2060282c64b180df1ee2d6353f2504237102850462ae72b433b09bdb23df2eb709846ab07e596b72b5af41f99e06977a4406282969770f3a0743f1b4eb86d8b16d363c76a72cc9e6a5cae783e8ec4bf0f4058a2f0a64fae804381161ca920d7d364ce67e56e0e2e537e2f218322ed00a4afb5cc1eccb806ab7b9efc5599efcb447bff18fab1b754d158b71e8cfd03a211c6c248b78203a202dc46e5030e4259b1dead7cc86921e17392fa9c436d173e289adadb265cba09b709739ef5f66742010ea263c29f7735e9453a2f5f8425361d3743c4622cbb0fbd2ebb9c9bcf0aa744b4f1a668b2c60168f2d3991b0a24ef67978aa2ad562e2e2ff2714568b9e5aff865ba3279e6e855f256a14dc783ad427d06aacacdedfd94742b22fe646a2b9e7669cb6b5b05cd2d11e51e00b51f4c9170d33b18db115b2dc9b88560ccfcb323bd6ddd7ca335edb7448bf503a4291cffe63a405aa529375c679d17a1072146563daf45ce44b07d2aecc66c8995356a3bee3f76c18446db0ee238ba873ba56938ee11a8c3578e5faa8f08c88ad980cccee2923b9b487af64dfac6d79c50340eff68957308a313dd809a5784ca854cb3a13f52472f4f3bbc0cb2d73a83d5aa3a27b85be9b279ca002e0c8e4c22fb4b88975286e0c06ac1768d8a491736b31e502b0bc457d3f740fd292a89d87496eb98a097b7625f3402c3f3a9f26df87912804bdd501f18f8ca6c286f771b62d13cbaf1e1d6c51a933a6e9c55d4efab09bd1462abe4c8d7f085ea79b3b3075b899cc207fcf3fd76f9096a15e3fe16a2ef5d654a259a1effb9099ada31f9f396da189e4d5bbe52ef534442a868aa01967a0aa25140eb82ae9dd4fdc2c4d9f2048553ef62bc1ff7f40ec818a060a910cc034557569c35bc1417431bd4c2eb81be82456ad64167497fbc7931725b4e92d91027556057412730285ea902f4dc18a916ee8c6b7d20a84d1fd860b4d6ac888f5957e8b15dba80115eacd149f10ebe328457a2849b381e4854b6919f061e6bea1d7f48eb81cdabc5094ec1b109fa0c94b89d05d5a155675b8e969dd6cd74a59c477bb9b83ff9572e4b04a5e2af83ca49bb86c9cb3366db83e540faa82e7f8e563299551c6a91fe4a902aa3bab6829cc30daa3ba13b66fe05b384d8c5f915eacccaf3c972f1612160a32986be4a9646460a0f9cbbebf008f4330602f5b46203a81277230c06f976529fb440ad94f3fec9be79ff88bbafab72840b3d207fe24d6818c828757ba1a413b02616eebfab7b37d938be0975855f16b7399af25a3d35fb4fbb1630e56c3f6802f3dd1a3228e5f4da8951336c7605e75119e7d47776c82a932c1cf7a40e3190e2c0526ef322839e704508fdc47c628843228d772368fabd99b4b4c14c71b8cc6a72ffac3d222a2609b664ede0db99072226afa8b077dba93bc8de73dec8975ee4b840a2f2c153e87e2f6a381a64c76522f86fe6f5bc26e78164907d1364244cc47e90da6eb27b4b94e8d4df21de4e982a2c101f688e3babdfe46733aa2da248ee8a59dc3497475979f85cd84355426a7c9705032a84a6c4c1be24b4a94d1459e43ad081f3cb411899a3cc43e6293e207bfa51c3da116aa76838243bf6cc96624caa8e22fba1badfbf2c2fcf2089d8c9bd7894425b1adcf1aca929f48af5ae663fbc3a7b00747d2aa0d2f9783e5cf9480279bd82b5353824f1e62df7dd708fc8f66ff0331eab3cbc9c12334f6b4c0fe692715f27f5d0f1064f70d5d930e9ded03a65d1750f3734a6dc0f3de8ddf3480afb73f10275303d8530bbac67cb31a80bd067da5c66218a2b7b2118f9f30a77d0ac3392c247a90eefdb289a35ca34f1cb74547699d87170ea62e239460a3e4c6e295fc7a08d80423a58f4432f4c9b191980ddfe0fbcd712d31bfb9390a0fab3b39e303c2208c320b9c45d08e88be407f94d7916958c2d54ad804fb91f3de8c8a14b62e986f2cd95029b18ca3ee6f7dcd846bc8f19c02a6e1b87b6dd5011ce19c2df7d71b63921ff2c5d9330a9201640193b537bc5cb188e30b5a3ce6972d2b4a8dd5bf2dc19dc9dc61ccfd9998ff9a19c694dc6b07d44b7a1f45aa22ef8c8bf9efee559295aa5ca85e53328fb7889adf1fb0c0245b865e12ba2d56956f3be37734261162ee7ccdb1973fc8cd7ff89b9f2481c480d8db1a12f1f3542e3ba54660f0ffe07f58efb4989209fe0a37e1feb9c900ef6a405e6c016500af8e7917b758d72a3778488fcac78ab4030b4325734cae546bfe6343943067328843dd632b3b11a5ddc38c10a0735702007c3999beff78bdd1fe2ff0cb7361313fff854817781c6cdf0ee429fc47b07f13c594fedbeb22a336ca1123f68cf4e40ebcd9467c72e3db1e3f108a9e487543f9ab7dfd67ce756892acf9c9bf661ffe6706fa7ba5de9818e059c73db57b4f1576b6e2be72514d6bd8763eb0a0c791b76ddc07e6da1b2057c89e5b159b0f1dcf5862a88b85dc1f0fc66e6056ed063561ef9f29711938996622fe5e7f1fbdfb8a12f3f8ebac6ca2b06254381133426475d51c078f86ec446d48460cd071c6dea775219093b1a37c5fff27558516fdf70d8845ba81fb54e8f36d8b10f0bd72f0102c93620eba39718eadffaff9b9ef7be44cbedee6a2e22a5a795454e621697bdbe7ae50fd55ae57922067e8e2b71502b947a70041d045cf671bf54dbfffd8270989225d25c1c41114dcbb6fbd24aeee8aaa0d96d6d6d45882818548b9ead455c00f02735ea1608c066d5e647244e7ad9479532a389fe6aafc70e03c616168d34406f192c8a5159cea32fcf8821001b0a44bb67dd23dc46fd31e4d153b9d38510288b9195a6466547df926b872e232ca021686b952f77fd3b8fed7c5c1892b5a15aeb7840431a6657120d0833675f40d5dcdb8ad5e0af79e8fcbeb00f4ccdbd81690003d4601f26223a9e73e2e645d3039007badf7d0b6622a6bbe798ac931d901bd7fa291796c188b124c3c6ac6beb1295f413b3fea6352b68222c705da8112a7e99cf773ece59ea0cf7b2a091afafffb72905d83765ab1bc9884d0e7d95a7dcf9f1d8bc19f4325c18f4f91dcf05afa7fa22b31507e51bec54699e99b15645d680a8f318a313f2923e79ed7d994bc509192ffb79ff315afe40f35e66e3e16ecebb7da0638c046b10e78ff887611a911a020aa434301e073acb115110cc0474a798a26c47773e680143f5ba6a4424b7706bbfa969b70ca0e09304eb6592d451775179256216ccb2e61f1be72f0f068e7e090b002e094e9cac19a76599353c0753b4ad3cb82a3782b74c05eebe7d56b2134358e265ae13f2ee3b4be176692666bc79c79bb1d25e96a0aa907066bc20a1af105ae1e8265359b5e9c7a6ef83aea68ceb6c812d5e9530dd363696d568e92ca39722baba30503702bfa1418f7a3cb29f8dff76af76b860fedf8d14baf9cbe624e6ed5e8a13dff0e9dfccbc747d91e3d42082ffb143ce0d85d0e805e21bf2177d5e176eb1db24161e31d5ee97509970d11070a94ce7a6b392ecbdcbc561e13a1cf3a7cef7732fa97e3be453faa05b865ac1927570b534f2ee3520f6e31c6eb822f72e18200bf953f0b97b8415e82944ef92c7c55d7abdf69da416a4226b4fc93719a507675560c73fd3d59f4b963c6ef28eb3e5f22a4b8658c3c1f01820aa5deed3a062d99763239b58f020125b84db9a54ab9a0a9c641cd64b3222bd5d8c95ba038a703ec9df23ed2151d0c21fe236f4fa916af8f8c3582c632f61264aee49eb71a1a56bcb10673cd1f9079d34bee139dd82923004345857ecc4cbe518308984c212f254c92e47374e9e616d2328c536538df8b09b7092cdcb91b36dd952c0b05829b04a19bf48388568f3e365357ba1680015dff5edd0e341381f27976a1cda1db521aa9847c0fa41275d2ea86d9fd7923aa89297635223748986d0efc7e6f51c81c55d5996333e9068a8462832f3f894349c899e94ed9fa1cd0fdd519beb25d40c138a7f0fb7b060aa82545075f7f2d69fa91536dedf0f213e9dd9c131e5c1cec47b3e93918e9b9d754998838f2d6c145f85c89627abd465e55f4c03672cfe6e97647bb2750d31b87d75d84e1fe75d17591460e5b116e85a33bc39424cb737e14695e7695ca778a3d5aaa0a85103f906117d036513626ce7e19910f4303223bc238dcff1ac225aa88b01c2a11f2801389c1d439abc94733ece9fe8e62a23e49d598346574efc5e0f47a6be50e7555001214ed0124ee416ad8c6bd8625c2c14b828d4eb1095313f7f7c9598e462f184a9bc7a7221dec8cc16ce01c63fb6d81eaa96acba7386e80caf8045915ff532ad17f8941d642e970b5c8cd735f1341554ba2f877fe0df121ce221df7d94f9b8821feef17a51201bb95c675e0d776fbeca10da260b75cc5fdf65f9d029a46d2f883c5d7463680b115f88e20a412ece6902a91301fd6042a9c1c26bf9578ef8aafe6d04d96c74974fd19b1321d47825efbdb8d989fc2165822718a39731a316f8297db6d25af3e26253a61773cf8704965f2a923c136c2f20245b2c00decc49d313ae21b03e660fb489885d10d62c384befe27d8b37d4b4a5b77aa63011d18d9aa1a2b4ca34f42344bcd1a2da880ddd8eee3a82b6c47a9b5d6bc9d60529d1f95923663e0715520a62635340bc717e4c4151c26d19cd5e3b470ecd9b668071ecf24819956af1e5d8a4928c0be8439cf2a728e9bab53ee0de8360c18db62228ddc1e8e7f11285c04d91fdddac212d4b43fa9b112cf36ba52275df676fce10cca7074edf007ac6adc9504518892c0ec7e9498e35cb1099376cd89823ecb434f6383c02f53ef84a120cc932273f6f40d1b95b3ed53dba178e8014d422529b2a0a8d0e75f30487f4f184184925bcc1d502254e7d4bb4fea3399e7d1a36a206c1c0ba864b728a62bab21423a45d08eb16148a868c415a4733ae4bdc2121418c6192e84d65c2e7d3941d30c9891566f77c0632385ca2c7fd70c602e6eb6b5fd5edefa9f3c0c21c28054e479b2d523bd06930b493b6914521e368b89a03c02c3fd8c36add98ee2b7395031e1b7abb8de7786337054f8998d11c9c0cb8ddf9216e4280f20471144704db05248eb3328c4c47c29f80a174e2934c2c1ab587410551d20716709135356128a1defc8279cb1e8b801e3d89a9a01a2d298277a79cf66e7d59542a60820b0716323d03241c646bbdec7ad7f134f77c6598b4597dd466e3b6d9106c0238b9eec1979b102ec7ff6580365dca57a1bc385bbf4af624ee14af0d96fa10c94220ddc784a9723b7689b700eca25d3e3fbdab97609c23fd40631b2c9a8d34e431154b6a59f2d8a01c201b5e1d94578b07632ea0416031d4d2053d00c4fad04bc34b543cf50a1dc25a0e546d0267e4377aa0400c3fbecb36bb20432a1a6ca010bf720d6c7ed1f5c61b58b0644d05869d98340fc9c13c5028e0be6d2016be3349883b396a5e1b120ca93472b48b3453ac76e1b534c468b7779076c2e58ec3e0af01bfe5f46deabec005f463c02377e032206b91bae9f8dccc96f8f8a37a51478e766fad546c531f2d8e5d31e6515611388e8f683edaaa56bad15313efc105c2a33d7b34b176a103618b1656e0b01288b4214e909157e575d7e66b770acb3957022c878167a149c6c6606e8de9fb20acbdea6ccd271c23733f031a6fc269013e1082c9cb021e7f36cf7de11461a8d01a1bb6a6771b156048a5caf3674972547909b5ab71bbcf544d8e920e21a3d71a3fcab8e62c84852361d52c3a5c8ed681d5bbba29c6700837989fcd7d13e927d0efef33e91375029dde5d13b21977b78e16d82def02bda4c68eb9763ba8d48ab7bba2724b46a4aff0da73b02abcc33a45dd19eb39d1d43a39bd4cef9477637040ea5e27b5fe0c24bf7d1073e68d700579c81c97d1c14477e468dd515d3d29bfbdd9266fc0ba7023aa07b77d2830bb0a97379878a51964fd1403f8b866cb6a9a855f07bd7e4dfce08047cc5fd9c004b6f7cce77e17e15959ab754abc88f7e35fe4c4e8b5d9b2d08410c4e1dd0a6ddfed178a823305fa45387c3f96b053ee7b074b878fac9ff9fc4440df3a5a184ebb81ec5156f18a76f1d2dd1528c68624e66c5d4b358429b268c16243bad0ff1f51ff6fbc8ff61ea705e584274ee0ec6de17958d4a1153733a4c047df530f275d1158d48c391178995612c13c3810d802d3a4f2ed00844af24296069e0718abc3a8e47128b7337fd184d8c230f6c00708ede150f86cfa97e8d446621451f6b2e46adafe4cf5e709b7cb33fd59ffee2300b444a77a1f3e8f4ab459e3e1ac111a3946508c7330b013a0988f0f5e76cc92e6bc88a3355cea10912880a60939b0629ae95a005611202640c0503dd6ec55312c1746f3ed50cab83ac61db02f84898ff5beb537eed1ce12104bc4537a004526ba2b2622e3e946d036a686e8e5f33a6182ea6cb759b0f44512fc8ea42fdb761d806ccc44b93fab07dfa8059630ffdd76ca49f061ab3a30043b766bfae03c63af53340d28439bb25eaabba930319c120c8e42d1859f3afb90e6c792aa41150b15bc77b8d1aa35f646939295d36e699d3cff264d28cf17fdb5c9a319089253005fe6382d35f99e06d528461afb719fb78ce1b436241b97418bb615e422c1148112341288863d260d2af94d01fe91e2a458429137b79a4fc33be19afeb22aab5dc668c6421303c55476153034447e7cb079bd6d3496c78d76faab972fa4f13e4a3fe3b3282a873ecdcc1b05723875d3dcb3ee7a2acf9bcad14469a0a597c79b8937566fa5f0e2199e1794ad0d3b4743ee6920e6db2a0226e0b54fab93fec6c64b23a4023a579c8ee0d6ebc5cf22bfefc67a71cda1fd9e7d5cfd88388a07198ef5424363aa2e0110ae2fe0c9b367ee81d34eafa491ce45633dd70fa57a84a9c20d03853dc343c5f4910a685caa36b656ed5685236387edaca42fa1058f201cbebcede5f1ca99949e3533b51389c65ac039927f5376ebbfc9996ff83a4d8d6db533dcea04e19f86f3f33569bcd2dc7075ef3ffb24bbf4e8e5bca4f0da130aec68ee5f39533a2291b87f0b3fa60be8aa2474c7625f7bb7297707757284420c81993ad927141960cfeadeae17b1cf957a57bdadb941c39ca5f32021ffdb07bf03b2c91e9fa9dd24e0e507a3c6abab8125d5b77c9163088e18e95165527a4e6f2e3d6d895ea97ac5468ef822f4c2c885d4e1e66ea45e604d7859e84dd7238cca44a559719188e29bddf55d7f6318782b87ea9f9cb7a9e661cb20e6cf7849c372d8ab3894ee9dc4074ef3e0a12edfea245d7fcea7116bafbe417db145dfe9a3afcf451b2c6079125c7497ff5ea3f2ca527cbd6ce0affea7bcf7fe2d1aa482b250ea0c2c90899124b38610464524a9cfc899002438f6acd9be89345bfd29d7d37140ccbc86745e3843bdb096b23cfe7bc1b377d37b25993b64ebd21013b6f624966df841de2c00d21991e08d13941f90da09703f1ed8514e14ab873f93b0e4ed81a7e635ce37bd43007ac726d229d84f1cf2877f5a8703543d25dd26f80e6c7ecfc70149cfd3b60b803df95984b12da64c84f9d414238950e2faae685b7378254ebd733c66ae8c229161f750e3ec6e9fc4dd5a7148e09f621b0c151589970eef57014834783f3a6400639ddcf2da95bcc897ac7b41089b7bc1690819309afdbe38b972f7093bb0a6fd5a12631bfdebadb917628c8cdd1386c40ece66a65a5bb7ec269a4e673de58578c4851ed3fcab67ea523dd4b7518304a53c8dd1a941dba08650976ee12f699d12a7b3c7b078e655a0ca63c75f0f51c14eae2449905afc48a212f68640c3c013bf2e1f2de3e5a894a7c176ad8a07408904a46ef0bf97c93903efd187a8ba9312e951b2cfb921e1dd4da2af668cceca39c79bb044f7c4346ba55418a9ef40f4fb9a8e197c44ba1472498f3ae7ba205e78b929713c79d34b4e22392e05749420529fb9149841be903435e3e983c0140528b9d6e83fdc7654f17f7bfbb21507902a702cec8fe7c2974d7f9c7dd7131898ad25471ebba3f694beab8b9880dd5efcb77e9acc480468cdf2bf01efb581d2ec09cefde389aa479c3fbef0b0408e43e059e7244d30d57205c19271d5599a2238d70c250e9240ad0711990b7791867392c596e7e5c5d8c13a6c818ed8e3ca392154aaa08a0050029421442522554d05afde62026f5379553ee8ed866724e79cd186f6daddd6413b209217bcbbd03400da60d880e3fd2823f21365abcdfbd0586e1211dfea6f7d9b84adf5adc85474f2cde91155cc3e5400922d460064c88428b05f1952aedf79b479a1f7934f316bb8d55daf6d8bec984e3b08d0d561314cd3323614976c9f0c91198c8b5bb0f6837432286613e141133c599266fda266add15c39c73ce9945ac2986bd3d08e329f69c3caf9ddb848ba789174fb43034b830e8e1c1139c285947864f706a909b3e4382894c23c32890c0c9af3c8d502437094cafb24308a774491c52ce7921a49292f3f2e7a5496965112dc29f76173ded195944a2a637866145b592bce9f2e68f3c65cc2b923b54eebc24d6f8ce962a0c3b499f16c3fda494af4e4dade8f68e9489485a359f842ab971c9898995cf153c75e8bda7d3d471c9a924cafd220e513b2177e48e5422792cd58aae91fa89aaf454f22415594486abb998feb190a47659f4854b4f674f9c3f4d3022a9746abe292ddd16bf5eb77a49a7a68b53efeb9d169c1d69a23039e29cf2177176a68ea4d8952f2abdfa004c9613a7572797cba2c3c2c2d22bef156c03c36a82ea2125516e32dc1bdf435756a952a50a6b494f26f23c86615e0b9bbd736ad5fc9c2d1c2559b89f7cc957142924897a453a2dc9d769d62a63c4e234bd3d53dc3179938a6eea74929dd95a323da909e970b48843f2501447235914f1e418a3f5ba2e572f1ae9544ec48948621228390a31efa24038260e1b3652a9ff74bab77782a28f6cc3ebde7f7a707a304e0829fee2f468b4b18310308727048c91330b77ce9794311494611435684286512849929be801824e32fc19c25056320494bfe843caa227171549efd42909710773442052b25c9a4cfdae3b77b2a5033a95e45f4c927bce392585de760a2f279c733b76a0a07641863f3d3e7908412693e97088e9557af42693c97469e3caf0d2e4619df76d78f3be787994b4dab99c3e787a213039cb2a27bb8e057f75eb20bc94266992f6d01372cab2285fcf6691e3371aaf6591067762da1693c1edb74d62c639e76ca2f621cc3785723cb64d71bf9824639dc28ee1d2e74bdd7daca3d1c8268f7eef47b9a4449646256f8b72687f287925245d2a4d8c762aa67a65c2b13be2c65c2a456a7aaa53712662713f1aa7b8d96b950b7323c9e954fc0da4c41d09d42909658aabbd56b95d940511ce15174ac95f1355ae94e747de07a5e4d12f8cf9867819345df367024179cd28bd223d7e06dd0748f928e5e54b98c23cb191f7c1e4ee3b24a55deb744ede1ecfb5b6b883c54e774af521e64525394e21531c25513119c418a38c9aa67d88a665d7342dd3a4c4fad9ec2863c766526f90c50d98506224c3286a108423c3286a3094a3e5d11db104c6b7c5be43be007bb4d12b147698e523fc97da81462eccb1615031185c8ea8892a63eca2a4f2dd9c5d57adbb7169bfdf9d7658372d939cb3603637addf1e138c7be731d97870789eb33cccf7f4313dec946233d3b4ec1afea173877d9e7ac5647bbc4b7cb5169f884ed42c7b86996cc7b40c32d95e63f6d8d33eda6bb641f80cfa80efcfd67cb00cbb7bda1e50d33af37cb2ec27b2d4624faddd414bbdae627687863dd3a0e661a71e96336c87842fb8dfe9e492c2d1abecabefb4d2e28e9741ed534897e1b3d7b63c66cb79e861cf3c08254b8ce5d786a4421bab0f9c4e4cb2c884645909a162a4e13124b7ff452a8d63048b5109ae155c98f56039176656dc897bda4cce4f6cceee089d02edcf1913ca847e8ae1cf1ab6109838503b519b75120cc2d9454fde7a91092cf274ea884b7a44d2aa9843b123ee17797264c4b7111f7123ecec1167d9c3983233198d1e47a3d168045bb543a45358fde6c91e9e0894316b2d8fedd6f2e04687b18ee26854bdc884177b309e2377f45a3a894a2aa9ec6827bb4de3b498e58ce64393da47d73e7a8d99c4c383b453b3c27b8969843d9255621f794cec3b5cd32acccec47c804e1189f97e11a7dbb40ef38cd0be2183e8d5291ee17ef08ad81da05750e27884784711c3bcef39dde810ff8b39df0148de07afc8d80182207229137922cfc9d20ecf315c22668e9d8a309dc234ecc87dcd5b830ab7f6699f5e31e92edf4fbc5c64f41563759fef66e7498e7bd7ab499974afa79f2b1d36bb972cc6c5bad265d9b1cc47f6ed5bc9f6d89e6ddb8be0c04d86b9647b64dfb6efe8ccebe6c458cee629c79d7be6cd7358962f39a7e591dd5a1ef319f681e5f99987c49c65e732ac43c1ad17d2e50da3d67ab56e1f0b7c8d2c1bfd46a79492a57cb54a6233cf6c66306773eaf42ac33a05e52bf348b5524a298d761b38a2b426c91f361ad16373a4611f118d4e4c53af7d7362eca666db6e91cc6fd96795d0d0c33cb3cfcc66c7f067b36d4efb037db6dd56aa7d441a13e95c314c533facb3d5c9b6c5e7b563f8b4d1601feaec64e8c453cbf0a4d927fe7a649fcfb05b2451c73c86ed36ad8ed5c9dbc8ceb8f8c4d6c5761c96cb975c99b7a796db99ec3418fe62cd4eb185cd156cbea59461ebca757a58adaf7566aa5924b1c676cd7af39b677fbded23cfb4e2791f4bfe28cb6c1fee8e304a29a517d364afdd5917441d96c3139f72c534d9378b611886f9b09dce3c314a7f5ba63bc55fc53ec25f1cdd7e4b923ff992f22565e8eb85dd1e466745fdcabf4692b74fc829d797aed9197a9a8a2f5dc15f23c9d644a5ccacf813729ad9deba20eaa0f71b46f2fa894ec991177396655936b22e88352c96425f23c91f112ddbfa27cb1a87fbc9d75b176c56478abc2266d9a9d7752acaa05ebde66596619d4dbcd9a40c18c074c31835082d0f5867879de04e194884838393021676164c4a2973600ae699245800535a86562ec936a40d7a72e69c73c619e3dcc2959f33dfc53c0bb108217c8511c62c8bd81c03b6bd5318bd037ed0193006fba4f21eb019193b869db6193047ccd8533fb978f6237a5ab36dfbf6aceb584e9de228ee3ac569cf3c2ab78d629d57c57b704010f5d886751ded144793bd44eab853fa2c7bf5b68dc3b0ad3ba58f4be8d66d2bdf013b8deed83d5662f98723973c1616afc63cc3bd7bb43dace6837bf7ee1ca95620534f4897594a2fad785f9d77ab42c9744bdbdd4ea2f1b2741b869d8a59966534ebbaeede90ee9b57df755df7cdabf89bd4fb6c5c3f70dfbe43d6aabd6e5a46332dc35e50aff0ba828b013b5c19e8d50f201578dd1deebd77071b40386c740ab3f17abd7ed8c0f162c00ed7bd90088a39e192fcc117905ec11fbd8227d2ab8f0a910121d99f2bd4810197d8c42636679eb3d7ac3b03fa99fb8d5b29877bc03b3a8561f4d24ccb84c8b21d3d40a18981740afba1851b0f7f29035914c34e298d38989009bb144af28d0ca3802225936e2bf7698c72843f211dfe6295e7308949c95d466f835a17638cef3c9aed3635c6aebb227fb1d6786e33fd50bbef682ed628e3c4a494d8164562df2685261e66e97d1d864dec13f368b0ad0a5107fd84d15d21f1b705498c69ba6fff626f413927cfeedb364b973e6cdc312c51f1f3b40776ee5b94a8439ec354067d5b50a6d73c3b63dade996896498c055bb99dc14e633a87b16478059337655c4eae51468ce4d1973c98e550bc82cb388ce3320c3f2150ca47318d7c37293dd7410e9ec35b15620dec1dfee227a44335f609a564eedd4935ebf01731299984fba3dbcae16f3ba53ca8e6759dc23229a57cce308c652b76580b2054a8c3fd0104e6c00e7f80fce8548438b733866955b3980b9e719f583de669dfb00ced0f59d67a90dd71d936df7d941e63499a79ccdbb0afcb9a8750109dc25c70e5ab941807038276ea940607ce013f66606e8131da2795f91e7af59d522d406ed4ae3de6937618d2ef87d44ec8acc2edde7df48f48ae2c9dda5ebd53a7b68abb4e95a4e5c171a911f566a746b88aab59ef83c91a4cc9fb58f2f61e1c1044077ad55d3b1014cada2b473bb571154f985e7da7acd1d0af8c28added7e53adfa06987a17d7149d6eaa862ea86dbe21f04cada7748d1b0d1abd1ca74ed2b1f8e15175f398bf7dd6496eac2b3af3dd37df4687b741f1ddaadfbe8a3779876aabec4d90a64cec5caeb4a8b6a5ab96965e52c2b2cf5f525afb3e28ecec5d188c48da6106e3db9548f524a396f341a1d0e1955cf7e341a8d5e3d8b47d5a67bfd0e692de76db7dd76984e51ede6c6aa840a75b8393ea8ef9f20e40461273fd7e3e4085f15c6d3b8575cf13b053959a5cab43efaf547966419193ec1a192630b81549a8374de1e00c8525a1e7dd9a9fe8dbb43a7ba534d3bd5738e6686c9fd0f26736f6c2346190b61184ef0417cf00a19fee4d5d4507a3110ad04d3ea54ea8b40b1a340b9261d4468e6fecdbfe2d8f25124cf7774f1c61f0c11dbeb358f48fcb496972bee292dd91d4aee99ebd17793ed1b48ca584c69512c8231f191c96581f5f17bf94eb25b5215cf9d853eb23cb6788c405162500bdc520473748ef52d395a2982e621320e3879cbf59be9d2fbee775af1be974cb7fcc506faa62b9b5e3b8a3bfad6adee39716c75aaf45a61ecd846c86ddb1e04cc51815e6938e409c7111747a720cc824ee95720c21ea04c0a075c99de3f0064005c8dded10a39d2be174f5fc8f11fd491815803aeb8155d5519dbaddd860fbde103f46a48e328401907b42a3e0a1556f45ba0cc0ea9822bae421294b1dbbb31904ec11a1a57df50ab5a57ebe38e0cbeb8a36968b85fdc018a3a628e6f282bb293f893b988986bad9f966226a4578f869e48fcb6cb731ecdf6faaac96fde162820d5340912cb400428e0b0e65141e627b639c1e7754831042654b1c191578c21090e0bc3d34736cfbd516144c88dbe9b6c030a6cf061c91a4da54b1ad9ae727083545b892d465094b0842096f43ad39ecca66f7ade40438530dfc6e1648811e17e5951961d46844b713284417f9d80ae4e8cb1a34fbd41423e384527a23ba4733add4b9ba8539dc5631aae16f486abbd71b2867b805c3e5851af7a23e14fd33cac48d3e2350f2bc2df89b493fb142bea1592a2c688e2b1a24ea53a87071723c288b02c5a86b2fa72e648998b83930224acf97f1327f74b1265d9980822f79b31c83d8790fbcb8a30a2dc535e52462b92aafe7c652dee80e72ea173031964a01f286012bed9c4e85b94edd5a9eee9d4e644a7faa47f949efedb5e997eebe9146d4a699054919ebd92bc2dc8db5e5b944ef5ab579906739d9a766df3e9547f7bbd7af56d517a057445ee6f40dbcff6d3ab1166d21dd6ceabafd1062155a952250eac8a8b9c40bebe067bc5a820b508f68a9ba068c7ea3c929c342848ca6c3dbdbdb46c7be5de7a721394ea4819ea44ab9a3e61073f3a4fe43ee5b9301311f3478ba44cb7b4565694fbed236568109634c8070b5d80321d5405590157dafb540b709545163a0622dc0c4f834e45415928f763ce0dae760863e229e641a96ae5f038217f310bb98f33f12684d9c89b889d7e500f23d2c4ec9f3c94199cb3e76acaf898e3bf185b7ec22c8b8ff132621ab3dcc16dca83dbb0094dc8d93f299b90e55d994666b263c481c3868d542aa3d8b156000072c41486ee607a1068d60eab0f77727354f80f143ad8f141532bdcf8a35373d2c3f828c54e4f299e94de20b4fe012488eec39e73ced9c35c691818a8156ec41f9d34eb997915c8f40d044776ec33dbb08d4ee1c83e83e8d43c0df61d7ef0e0f671ccb873b3dbd861b610989c61fa1fbf52c60654cda7f29c36f2bc98cf9def0c616617830d898d065cb8980e524f6833e43603cc3180379540344bfbeca86418000460460aae68e418c0e163600e011c5e07984375f81a70953abc01608e1987df01e608c0e16fc01c0038fc0aae600e9f03e69071781d30073efc01600eeff00880990573e470f805c01c315c0edf03cc813a7c0f9803c6e11b0073bc38bc0fb83a1dfe0798a3e5f03f600e17870702e668717808c015cbe183c01c2b879700cc613a7c101380ab7b780b5c000342c00cc01cf5f01a8039620edf0129a3ed70088b74f817717c607c92fbf127d688393768e48e38027d37f2d4783ffed878d778d7c05f47c97d1b9888d8f127f70de0ddf06e673a4f26120c3a400aec7002601b5490c822c0238b0038a763edf09cc93242801f415906b8e64556b440266b077c040a482c02bc5936ae8301bc080960e3d1f228c06bec08701bd7a10035aec309e04148001b3ad4d021d3f0e214604a0a52c0182830a61fd34872bf360b72bfeb14e4be3de248974c71c8fd159636b86043eeb7ac21f74f68c8fd1767c87d18289731e47e0c31e47e0e61c8fd9721af0bb98fb990fb32b690fb3058e43e00aeb022f7676021f75355c87d5515513215b9cf65d9168106f0ef8bf607d8849ce108d4a91e00e7ca11a85730f713604c7ff322146214604c9f8617a174aa3f801715a6a0c20a4157c04216b4b0052f7c01760a05830cb9ffe26486dc6f4943eebbc822f75ba821ae21baa15fa292fb37c221f74946e4fee804b96f5190bb02b52eecd4887bafce3594891b882eb95246b258d13ae0261b02abe4ec5265136fb08cc555e3210c1150864fcec09377c8f0891996e488b50b754098afd4ca7d254a963409604cbf8b7c70bf2e8ae99b00c6f44b0063e26551e4c1692a12678992afeb286e8c3a70fe839738543a55d4ab18734756574c0757831052d99500ea20229e08cdb1bb578e6e3c3eb95f3d0ecf4c81c3e2a4b038ce08aa822c6190bbdb00556d79c4ccf2e0ba08c6f4e0be72572028659ca3efa6fee47ee5ced5d5a906cafded27f7a18b6659cf286b5deeb49dc22212d891fd695dd1228a0395fc22c3277110ca1526e0c29f22b43250af3eeeeb5cd9d52bf8438429792573c39f22e8344b22c9ed93bf0e8a12b0463f5b022be9d4ac0573280175741b60b604ccf189473b5255858484848484842ab751387a51ae736d9d8b6217063ba0eed5ab7845af220bd5b42601cc0151a81fdd6186c00d6b664e7c992bf7ab9d07d2cd5b5c83824fcdd7a02026020290f59a13c641fa3d0420eb4a55ffe21a12fe4e1f0e8c0559f71f9d41c10721551e0a62222000593f704d0ff886f5c82add621410dce4034c503e62ce1e594db277b809760cbb705010a37e9022ab048180ac0ea38244967d64d94f2c7178aeaaf39cc18519f5c308e9a59772ccf72cff382223464c9f37b2f28ee537ac7befe12f0bae59c1f235a61b56ed3c149c1e0a42487f7fc3aa811845bb538a8174bfb8064ad5f60ecb9a79c3eaa26672e567601e29e193fb255c7ba4aa6f9f5dd775b92e91abfb6999898b48cf5a250c2594bbe1ef142537fe15b931942a0c7fa94e4a6e0ca50ae24ff24cd92815ca7d295774aaa37441b9ffea54869321a683abfdc695df2c8f2d496e249d6a194b467213c9f0b12be1c01c45dc0cdf2f01d401df2701cc11db006bf4dbcec4dc4530a63f8d583cda91aa16f44c38f91249994be9d5d1b93a97e812b974289639f18d520921ac92527a0ec3cef2a03fc0cb4829a587f079744e72dce54e1c915435de6426ab56cb8356cb03833eb8f274aa39a2ce2565484252d5a7f4ded3e94fa182cc77ef7091ae4eafc809e6ed6b2c4605e96e6f711156cdbcc5903571dd912a08c426a80e6421b0a7a7a7a7a727f737520f0987c25b4f1c8944c219bd4e1c6e614c248ecc9149648b257f5d84e1ef594b663c52e686d59fde0d2beb79a257402caf3a52c583abe1afba76721fc62b43fcd1ee8787b883fb755151a79a4aa71a67c9ed252e44c14b4ca5a54764885651174155dfd5ddbda44c075dee157bb6969499df0254f5c390e97686db860ea23e75ea341589d345333ec1a78b66a7ae0b830194b944520ac5dfa21ae02891bb94d383dc87de3c918444b9dfb98832e6032d0424ebd374b256ee3701aafa4fa042eecbee0ab90ff177d2c1fd349fdc4b3ad53c9dea672d18d32c2d47aaba737dd7d5b976f2477d5a4048d6d692aa3e0b53e27ed715f1f424ebeab0aeab57dfd5c9add32b98a45751e638335d78f5aa9589740ec1ccad0b73ad2da528c33cb385a15ec12768b822c35c1b1567ba00a557289c4badce18b0835a611cddda2ee3615f49f6d1f260bd2fd2c4cba88492fc22c31f32e8e42abbd1c843f5b01fd9dfe43af2be199887e8cb7fa02f47dec743cc2398210f318f1e2d8659cc8dace53e9aef3c1e33fb7793b1ce35721c8761346a5a76cedb308c35a88661ac21fbc6c6ec157f9d2822822eefd6d7dbe78a7be8d40e06247185b0ec60c0bdfcb2dbcfcfe8604aa77295d74eed21d431fad79d881998619c4d65372fc6929d3417fa0d864b551a9d0dbbc328cfc08ca353f344487906e603746afa002873af4e04e5786c27935e9d18ca378f7e889093bbf7e8b053a81ea5c7c79b3cba7cdddefd1e06bcddbb8bfb565e99efd560ae97477c957335a50fd93a6c77ffba5b0c3bd5e16bbdebc9bc79444418634f64660863ecedbb2939e6b8c41519669847b77b67fbae54ea0ef35744cc5d8da5587a2cc58f8798b1929795aef5ec358f87c548afd78b595a1ea33b24e6face75cbb247dbc38461b1479f4dbebf74884dee6e0f3d6af250f7b04a263df350f7a3c35c392f66fb4117cde8f6d7e361642d4dbfeb9890437083933b1cdcf91f40260073903e6f0198c37edae4d284d6833066c343622ea146a7b1ef0e33c9438d300ff6dd6ff2b723773d1290bb52e909c8a5cebebd1ea43c9a436ab4177f42f2edbc8f656648ac9247f5240c3b75f8ebd17458084bc66e3a06f3b43ee2b10cf3c0bd9a3c212cf49e9ee79c34fdf6c175dd61a7e8a45da91f4733281ff5a38fbcef267fdded2bb416f300618c7de7795ff7edd6fbba933eea3c9859503e2c8727f5a810961ccf32638fe249b1c51b2a9432f2f1955efe4886e12b5551bbfc916f880c43a8823f02a1ea2341eef923124f4caae28fc8673f327fe3c61b4203c04fef830d09001fed4c644d0fb268ee9a79798c4a559cb8495f369661e3897da142980fba62c488e1bd462d8607a3f41da51dadda4ed78ec2776971d8322ede725b5b7cbb693bbef83b915af0777281c3e2efb2d8c8db5760586b1fe334d65a8b87b498b2d79367aad1641a990e2d0fef5225db643a9972f8e92b7ff91118e77e84bbe9c5a58b4b0becb9785dd2a0644d8aacc5f0f017e3dc8b77248717305afe09812f540c97182e2e28cc4405a71f7971f2aad6692f20013e28456ef9e994922a1959277ca96a39a6e45ecaa4a4cce9743ab938cb8f9c4c3f62ba3c0cef8587c36b29d2f015e54d1cb1ec00f3561f11da1be010872a79fb106ae404466879c3b8621ded15cd7c8b570873602db0d36bec50a87fa9dca24a3e69bff656d1aca532863a6c19d3ebca6da9f4ed2fa8aa51df5418aaabd27d4856c48bdcf2ed159b7948f610d0f45b9ca68f75d9bfadd60d0fc9bebddbfab5df78480b66a282173fc2712f5e9ce35eb8381703b6ca9e04e34758cefd088cbf78f6c283ad42a95047a15abcc3c910c69cf0d70263efbea363c02079475cb0e02b55dabb4f7b677b68df8ec98c0d819df64b5bc64893d1498f30ca9c5ab0967fa98ccdfcd50fb1b8881799fec35edfc21bd2e22eaf985784cc1d8090c687e121f65ff72264ee00cac5fb6e720bfbeef51886c2432866a202183ff202c60b182b7fe1e2476eab5acef223a7dc72ee4760ab5a6e0a2dedd3ee74aab54ed3340d7f9d97f164ad6c49d6caa66966539bb6d5a9b6ad5e2de9958ba73326723f56b9cfb116d5a212f6aa437588eaf4672daab2755f87641dc25c75a881bcfe21557d4a652da2af2fb6da4e6929f7eb56c676a853adbd3ad55a944e75cc86b24bcd12f524b243768a1db243bd9a52c3a416d4a9b64343bdfa6a9125ead597bdec945a64b3c8fd5a94bdf20b7b612d2983b9a0aafffa81a2287fd82b37d6ead5121c07e854e378754b7bc198be1dd25e7628f719105bb4a2cdbcc9321e63a02ea02dc088a0c3bd443f46c0c9fd8e25d3c94513a76ff4ab0c011143260d6e1130a62f029c9825260263707a1573cb222a1327428c9298879887c8316345b89312e17e5d14a5c4a128c423d44052c693b268e2a9c415583091e96436a810e6e38432902c9bda140213c40f9f0b33ccdb12b76b9efb491e8d0797fba40f09bc16af33c9cdb9100a19fe50d1ca306e915c18b7b247a8991d08cb4bd7e68bd89f6078a88951190682e5a5d2595ea48986819cb0b42fc2824b8756f2742e618b638f54b5f0eabc2c2d26f5ba07516231083026d6d8d7d8dba0a22c69b1ec4b5e4d7c4119bc20c46a414b352c6f91b17836352dce12e7311bd4149c40c43abd856723630b5470b14e8faf3a23507cf56a623957b3b3f698fdcbb296593681e40e8cc91926921dfbbc8669b4635f39a4b4d66bf55986690f2e133dd289fe3ca5b6443725e268059b302465e864270a51e820e4f85877f4ab5354dc2f028d464d68b463470109c6ebe33c761aad46ed99e7d512cc11a557d29abeb27228df2355a80c95950ec4be54d324c3404a6f816b4eb167cae042a9d2b0e91207d72555f128a924c62f3be9ff4824d26948f784e81409934824fcfdf7f59e6cc91d2172f6fb7b306fda4eaf62d6e0cc70073a1577a0d08e4e2bc6a3cbe3a5ce8b0c8a340152ba7d1196b7a87552800212fbd4bc6fc68c02a2747b20250c8405778f54c5b7c02490aaf8ee814064c54cca9518764afbe06706730e313cef9bf983445bfe240f504f133139e19cb360608b9aaff127fe489d09a5e408a555114823c3fda09010198853ee481d9944ce1e1f19830073c09c23794af3239ce14fba4ad86294567a0b9616786256fc54c1b5427c6687682ab832872d7163e670e7a180d8975ec23525eb7203d14f19a400a2811b36acf503e48ae2080a6c1a8e5881175f70c4131c56e72f0201451df19cbc71e771e4886913634e09466886bf3be7b4b5671239a101512794a48a28e402521329010692127048c29e5afdb304153ec8a167b6a030430bacce4f0ed2300413c9b5021b743f2b68e287dba4508ac1117a32c594d70f1992a0054d73c59e285a4e9c60e10b53124921f4a30623488821eb8953078a324cf9e41537d39038c396e3b526f766e8240741c0885a4facc082970c8a5aeee47c50080937d4f992ad274d98810e0b7e7084c39938434450c87901dd5a424faaa8e2e504c8a5754f3b118190d0482f89038714e060eb745c3f2aa0527b7e925085096689b0f882155a60a26b39794212d549145c70828e7ae2a03dc969c113da15923d543043145c80229b59a6e50845a21f347441e8e70c33889936bba757f0c94e145634479e1b76ba5a84a8c06e0bc2fd248fc6f27839d4ab29bd323dae3cc2dce2dd613cbe78bc8752a6e5a4d1f3c49feca494d814fa71f1f004c012fd306105a71f574b62d3f2989997973b72477ab5a22ae6a1737d34d23d434fe24a8e97573c79c3257af24428b2ba00458a37b38521ecfbf13c64887ce3c65704923c72473ed1ab98c34917a89a87e1d180aaf917de014e303f1d54ad7814a6e64dde8429989a0c0092812cff11a133573ca426cb2c71fbb4133d594fd6b263a5ef68ed5d69269968552c49d7275fd6933c2e4dc328953c9247aae229cc1159126f38b81946428ac93333192f83a4b4cc4a0b3a1143163902cd4f02e5d8710c3c91f5499f4ceb7905754fd4015732c723e42f5eb135b99fe46991e14fd1121fb21cef2284fc4ddcb2a1dcd190c42839be761e648520ca433bd31a928c3dcbbcee9e76a27d7a64ee179fe048c931a8571f24ca4050aef8ba87487cf7f4ca899681ac1d796d620628d9e18078b92395c48e92e739ca1d21a02a7ec72484fcc99d38bd1a844bd6ced23292a755f11a8c5007bdf649b307e1fdc0b05b714fb5d35aa9379fe12904e647af1a1f48cb404ec846b3e99baa8d204905721f460861e68d73ca9bbf88e345239d924038b97444af4834343494fb714a168d937b76d7c4fd2811ad19c28d875820691c2554b831713fc9e3ca814ea64892e325132d1359f2891c5f2e9d8a7781e9acb31602139328e9d4949cfa6965980c9d504125c72feabcb2ec9b0fee733fcbb9a30c9fa44127c39f0d1bf93b51e1449e91a1132a90e428af9c43864ea2f444a1925d327412452807e5c82bb71f5c2288dc2c7fd003580383c9d92b96659ad69452b9d999cdceccc9715866671a43184367fbe0ca1e2c797870294b864f8e2043ae31c6d8b9bb5bca7b67204c49cbc34c7b334f3b832766bb2cdc3e36eac6d9b79c64a6cf358684db173bc2d58ef9dcf898df2d292379a28e9491aee87262832859c2d69593d247e066ddddd403bd931bd364e77a27c33b92a708f78b3a3c3942a25804235a2024abe20f12613f7d19be24ea5b61022e745205503ee52fce1c9d54e1caf131495c525bd3768a0ce5ccdb1a764380c2d837b93d98b329f1109dba3ab7890be58b850531ce39e7c4f2d113d23b13b6cc8db9035206fbc45148efd4499770e7778a1608c9c2b0c494f89aa7777aa777bae57cb2c14839a1f4b04ceba6dc64e84f435728e8048403366c1248554399206e54d2aa8e3b56cb5a2c703e421d26b81ac15549867ee24f084ccebcd86a234d48238f082234af3cf24899d87958b6a49748ef3e6fbd1286248f097dc98baf18a5557d538cc213608dfe8a5704cd1747284aa8fd0d887e2460f1264c91ce912efe6a483d662ec91eddefe892d7e2248fe52b33df597a47fa7cc98330a6c3d0f290b1ab5b85b1af53da8eeb5cba0e7be77536794c72280b052f55aa5489030e8bfea2e085881e7b47839df4d9e15289841de6d22d56c26c0f8c34adc5c13d667fe8268974493d481804246dca8e248c04b7d1e85986bd9a1643cba39bde87650e2bd989ad88591edbe64d26f492fad03e009367a720a60102126045da1322156850dc0210d00ed1dab091e31322158080ac4dbcc9a4a9893aa383297d036608f349d7fdfa934e481f57fff46a7e0dd4505cdf89705e59284a89594424f3bd93b9afc850968fc0fde24eef502855189e5e7a427a276fb03bc589424030398350ca280486e276752a084251a85d0d040508f7a327975e4d795261d7af831052aacdce2686cdd594504a2b3108897496281e62a6916996b791634bd830853f9a61b707232b06a5f74e6543b8f0f19a4e3572c459f3d87be81b7d8c89fb512a657898c18e54c1d6e539f5dc27e5b20184838719bca40ae6a0934fee3b80762e304a6e28dd2d55502becd5df30f280758471a33c60d766966bd66196074ceb326deb68672c668c8b87797e477b371d271c2a84a9d99452d4c1a1207f33674a08e52e7fddab07a99214c21cdae5372823b74cf37ac018f91e1aa0002ca4e014594631dcc321a44c0f10021139b10114390ad52bb41a05049ba820d61eba740e7af82b67604ec198d408a6ba743030af9e8b3c7db753d10c97fbf60cd36c2cdff5241515dab83d59420f46f10224ecb07a053bd0410eabaf20051086601452b042514e14642062554c0aa222e852820b3eacaac5314891f262d968431a952c92e0c392f02505900f4b7a31aae00b580cb16484528ebe9b2a2d7043104b3610a000c5501a9a90410f8b8a25b476583593b223ccb2d177932312594c91235f3d42ac3a69f00221169ce20a235e2c1e22b474665811063210b12a6d83137a587543a28a2156e56c006508428104108422922347b4e20d9498c16b46115a50842156cd8c26fc40093a3536550d442ed6bc8d4c72455064010bb830c4aaa512e9094d2821c492b105042c8858369c0e110b1baa524510cba6a48322d63c8641618915b458365c1c5aac2904851cecb06c38235a3b6413d7c42a7c00851d568dcd4b8b85dde6361162cd77b8c335300a3680828755d3dd86d3020e6bde625490d1ed47b826e6000a9c21568d4d8b0f0bbb0dd772b1e0168e200421564d876d482f164623c7db6c6df0d1a418828b35f1ec99376e0f0ef8d13720500ff2070f6e8c5c78d18028d369e2c38a3040c2081c56dc8118cc90c3aadb1496384310ab72ddf4a016768400c4aa550919f0b0a6b0062542ac6aa3ac210ba0d4087253e84215422cd94918c51674321199a7d6050d012101c867db28144020a23cb2ea804eb576e9c947223367f33652c94f90e6d16fde0f9ab7436a10ba3c1b9f52f368a864ed30ff071b7948114364223367337bc5c9daa5f74519311e5c99bde21e886899eba153f4c7f685cbfdc039a0881efa07e5344c64e66a67380e01465cdbb67197d2cafd74b237ee76c871d1464aa78728b7595a06b2727ccf0f22dcd123273ad55996511aa70f2afb8d1bbf813bbd1db4a5435bbd8a4c680baa5e304729c76b51e06a26484aa782a026a40df5aa338c78ba04843f88904482a44ccb329a695a77bcf776f886953db3406c2c0cb31c66328f79d325559852f9caf119dc36539651da1acd28d56866b23c280f2036d6744915b514cf9e0f02b96edc98cd9e2e7b9dad563ec1fd664f2bf7b3ecd913aef6959b35afae4cb9b2b2b2d211ae7035ace0041c0e356d00450c86581da58a24452c29aa10c5c5aa5d37bd7e81136f1092b18209570d8e9f26f8b06ca60c5a2488c92c2189a2aeb3ddf420d014243dac3aeaa607ade001167c58b08a273c2f56ac8111d0d0825086600522563599322c8cf0069c11a99b1e028cb858d28bda10abd411966625e99002cecbc6bd9df4a60f0ac8ac8152d0614d3c7b301e5c5384b39b1e9482084e8858b5d44d2faea00924e8b0a0147e705aacd802a119e8b02a8bec0859a4e002278858251bd28b65eaa657235f53706a786187357113548f98a517735de9a65763fa428b556353c30a4ec061cddbe017ecb0269e9e8d0d162c81333d58862f64e1c5aa2e5abae94d1fa96a19467a5836da100bf68d179dac099876aa4f0379706516218411093e4ec80094e113237a6864e8840c2cc895246343aae22f94b93a88c41a4e0c90033601ae4605a041910409d051136bc47f3219de06d41171628d78f81f387af502c680abec2cff4e5fe9e3b2740175442326b8a29727c195e9f214ea88ae58233e420993c2c1c30e9d8a67c15d56a969459b73ce39e79c73ce39e79c73ce39e79c73ce39a71791e8b4d4f9c5f105444df8a3b7bbb72391a8433e8b1c9fa8893aa20b27ea883cb18691a84362086bc4e80318138f836dfcc803dab08852b0107550e10398234a01c6c4a823428935e2bb8a1c5d2f637879c9410c39e410230c3162b80cb9b8a0c08042c1f8020c182fbcf0e2c549cae9d4d2859616175c70e1a2c5165ab46011626159d1c2ca8a290b2653098b52e95e712fc90a12698485d1c85ec1da2ea8ebaa156ae5aac0715b15db46a350aa51a169d914598651216371ce29c01c524a29c01c2d45f31079489c9566b810d429183b1e26fabb972fa0fb2f02dd7b91a753b7bbf7768f2f2028405827bdd838f6b8a044577c44f998b73992e7e1068637e48951da13ee178176481586deb7bd76b9ebce44e53c4ee2fe8c9f9c3c26ef478fa9643af66af2624fa77822133cd8339eeee9ee2080224f74911e1fa3f0c4fb12be33db6d8719eef67806f44ae20f7459fe555a1e9d2113ee90db30aa7b66dad8a1656cf46a07681b47a02d894b81683c15e815ae94812c7abf2b8698038401c9e6e10600e58911ad28a68892651cfe88a03c800c9d1cc144ad78c3c1ed000cd4a1e5817a91430eff8e9e5dc55107c9ecb00866b6b08998d9629af9b6411243dccf2332b30866ae34f2f65ad8b321eea11632e2d23813eef8f4582bac2efdd71ea7bb5cca170963fc74789a0d7175f909d6170fd5e3e5f02fb48376e6e58ff119af98e6540fed0fa7d7ef680821ee5c7e2cc63b068ef905fbe0637c477b9fcb4f8ff6d683397562893b97bf782ebfe7923130cde930cb13a671f9e9b531ac98a6ff43ec43ff3efcf5d06bfcfdddd1db5af177ca2f9a77a1aaaaea310f5e7e878431fe82e577c8189e1022d9e5d2f6783e16d26597b7ede1f2d3a3ed5133ca87cb297f2e3f7d479f8e694ea7d1e38469ea659c06a6a9f7fadef13f215da6a9ef57e8f5e85ef1bdef26bf7b6defd5f360ac51736393eb8bf786d5da1f60ac116bc05c333cfe77215d6e789ab1f55ebc6f88fc72aaf5dd6bf568e43fabc47d3b6bf55ede1e7c47036bedeabbeef40e56cdfae07d37f6bbf98b399199655c868c0fe0d1f208c08f9df1ce9bf17a1af52719ef7e8cfa533d8d687dc45c1f4fafc79f000e9f591f68bc7eaadef84b1d93efcbf77879ad8ff687befcc17e5e761875dcc362f87a681ff306b83c007e00f5d27bf9cbdbfe5031aa7b6d0fd5dda23adcc3e26f8821ec615cbea3dbfbfa2fb8b3e23626320770687f70f9c4342eef304d8c3791f9494c6466173c633ce6d3fa90f118180a00139199c6e11b7f2a3c539888cc271f4e3f7d36b9cacfcacdb73d574ff82b92eba10fb07605ea55055acd78fdec957dad6fa0763971ebbf76fd749f9105b46f6fc610f99796c78c54d3b8cb2b0d4fc638ecd4e9e5343cf993f75df62f7f88f177cac57e47d3f0a28b8bcac5e529fcd1fc430c0c3be532e331879d6a0c67bceb31e3d3a3691f32de7d47fbb0653b63feb06568f6f9dbcf3826ff1956c63b201c7f9dff184264294f2fd7e6cb334fde3c4f2f872d83dd45e5823f9a279e2ad50bfe4e59cef84fd7e131701131db5fda1e9d6db43e64d4feba87e0e6939eed6131ec97ef9033bed301f017efb3c99d10f98bf9091399b9fbccfd183ca3f3641c00def723c75c07ef1322c71cc6fb86c8316f57afe04fcb40d600f00e3700c7ac036e7200309139532b2e22661987b6478b2ca38536215c1c0865e8cad0090e72e0040744f93bee2f5dde61195e0fd19a35b93d43da9797973be1072f70723005165c50a4a1e7e5b0eba197c767dd67d451df9d461df3ddbbfc7ff64afe2df4e2f5501aae8c17dc439d8a9721e3d0f2001ff31d1de330570f35310f873f4808e76c72dbf260821dee68e8fae95494ff37e79c87edead44ccddbd747243147da6b7958bcc38d99041b2889eb0ac001f0f8580528e817c05358d7b687c443e69c710913b290e34b8e8ff109194805a19864474e0961b43190065e761d679960d7ac0f882f3d143ccc210ae276f54f19aeec2edce8c39018cf66fcc5a381a7716879d07881decba5f5313bf5f22fe697c77830473bd3b797de7cc19f9003e4893ff822629eff258c81075842c38b2d2f461d2e0c40005885537886a7c198eed59bb146f7181e8d353a18d3c9f04e8776e67419f8323c9803e07d1700de37615cbce32cc3ab8f6fa121eca1606d6f664aedcce984513dbcd77b1805ebe9a7d74738dc0f0e75e0229184ed0c5da7dacbd08992272fb6fe3fa527b96076b5ceb7f7cd5a5fbcffe5d6c33cf9ba591e106e5b93631af9bfc907ba5c6f3d26d82b67794c8e4976ae63c9d75aebcba1f7bd48587520dee1565885744918215a1fbfcb8974af9efd3a1ff01da6819d6a1ff5167f37b9ba30c9fe62513edac51e7a281f9026c6a1902e1f33c970ce595844d2aaf8e2a16ac531078b326b0e5e4ce2e2a16028e1f102479de64237e5c9839db2a73906254468d7c8881b3421b960ab8f61b82c193ab90116cfa1d71e84623268c3a621947ea31d0876ed1503e15ec235a673afd14cda0d90d2355cd3a4be66f4d22b0672c3fada75c3aab1d33cccc35e7a108e7b897b91d2b14356d54a1a775445558c02a274ed414a2d5f7991d14b0fb2d2f29553c0740d554f4f3ae6a1eab3b3bcb68c6e582d2edee22d1f79a8fa95d28ac45fbf80b03c7bf58060c11e101246d5934e85ac60228b35b47070582d676169b961b194cebd74ee5fbbe25db8f06e582d568e7d055bb961613eb890850a1259d88b3401c2f295435611168c82d76efa0a46411cc474ed265c53d304f5c3740840960907c98a683086249200c2c161e534cb741b1ced5dd0952a557c820544908214a498f0094ade0d8b6b57a762100c0544647158d68296647ded6a97540175e0de21a942fd8052057b6e5834e77aed83c8227938a42a7e64231e9a8670f93e093a00716a1258703f51279e4ef77ee2981375aa670feb8c395187c77734113313c1720d02092231e8c41c2456b8755be23e2a212320a38214c19e61150f89191e01392a216718150417c1ce3d080ca3806035a85a311091851db2340edf78d2f172a42ab62b881ebe93ec76e50883bac546bb8973bb004f8530d93d18f9da533e750993c2a9cf634f750dd890bf1b9b0c7707e73a3a46d849725960b21f0123e59c97524629250ce6b1ec24e17e5167ce59a34e8c4344454244dc519bc77674a626fbb281ee1775e28ea6611cad13779070b123dcd61ee3757a858a3a50d5c7d1a13d31c5020a678416ad9535034cf5bf2ef2e4be35035c41989a3d80aabe8e54f95c7968877a25318a76aabb3ed4d12d58a3ff9e13cfddd1411a32ed4e72b66abe5689c51f9d292dbb15d42bd465e9d413b993903fed8adc97adfbd7cbfa98b9a8577526b9f7f435a3f46d8188ac99e34d1c14563f73a4cc7ca255fd2ec333e74fb4cc3d7d87bf6ebb863f16970c7f30f99b3e34f2246a998bb3518a06e930dcc965c3df9c92bf3925d7eabde0d6df03a9dbef816cbf0fc2ddb0ea8532423942c5fad1e7638e2f4263fd889e74fa22a3d717693231105ae70beed03fdb869692b53b52e6fed472c29d097717db1d19ed4edc59a953e267cb37ea71b976ecd9376ab9603bc482619c4eb5a81679a6dba1a1ec356487b221c8b2435206b2886c110e1ce9645b6a69f5f8f060ad89eb50a76a51a542d4d8ac459dc2300c6b55a23a54a7d4a13a54a754228d5a1e59d6e14cb159745dd77196d27b4fa7d76bda1f2d8fde678772f5208bd653fba3e53bfa478b0d038ce9ae2b6af18c1869f9bd91d34d3f9deea5d625655adeef0effb018156f4bf640ee6d8be974d36f58b96fcf00653a6adb708d5041a6363e3b8402c2fe1e88fdadb7265c433164954e58136ac1274d7b69af6baf9447fac545ee49a7b8481320f7a417a91f1db2a8118d4848aada6a415a575140d48f1e44c5a8387a1017dfd703b9aff71103298d5a52d5a4ef68fac3be963c547ce99628fd3d10fafbf87b5fc23597e2a14b040a88c8a2af4705a9bfbf5d9194c9282dcabaa29efbd1ccf295a8bd6a8b4317415a4c6fc1ac5a94ed10d692322879ce12491994c42820e8b707a9e7701152c54546a7981eb2aeb96476f2fe9d3a0dcbead00ffbe85d9c6c87ec142ab93fda192d6999182e9b45afe0cf12545e4672e7cf12c16fa4937b84b3c407f91b29c93da3f6ead557a3f42a222117f5eaab3ed9cb05b6452fc8b244588b05afe00ea382d49b6ec245eeeb216bda20eeeb67c983ac5a7d60ccf54900902bb70fcc4121d03fee339e2ff3c9594f6e966c72bfec35e7c4b587c7fd34a1ac9565aeac25556d87e6d4a880356dce9f3ce7153ca2f68239a0364594a158b85c8862c831db2129834d3bd4397b591feb637d6c26246532dae18fbe84f2e6419675490b645facca75d816aea9bb71e74d96873ca442a302acd147f98839c3c955deb8f3503b431b4646d830c092e531edd0847362b3b3c8448df39232f77deb23652eae45377b99282ddd6b7dbcc8227996c8b343db39542c9df45f5c733ffa0debab4543a41bb978343a2afeeaa0226974201fe19a2611e3e4fe085ba29cdc27d9a2dc768864b3cfc03c8d8031fd63ff2c9e27b8d8b3572c8b704c38395bd2a920dcac6577ac12adfba76901ad14a8b46cf4c59920754cd10800008000e313002030141089c4a2c1603424cd9aae0714000d9bb850744a1967410c43c818630c210060000000000004c00400781338bf47b54435d27c8cbb7c054b07bca72ef0083da4986847bb9c27300fe8d871c1f4d10d6a3acaf4fc01176eb8b46a6e3f5f1ba12c7a42507171f9825d810fe61c34615a209bc28e9856b1d9f2b391a0bec92ebd2e5847ac89de207fb22aea6bf0d2bd6f222be8606087e8d55ffbab0c60c92d5c70ac3d9aa971a40c310d69601dc2a9a51252a2d2c1c265f97029612cf209b390e722cba43e74f560f93a0076cc230e7c8129e36b9e032cee3e1b0e649507483e309452d6e0c100f68eb79c0d7a749e2e8ca9ad894cd74d2842bdadac7f055ade47fb6304b417f89911b919b144745924b2e673f89667e373eae6c60051afc4ee4a63311663198bb11bcbd88cc5d8c66a2cc63656631babb119cbd88cddd8c662ecc632366331b6b1f53ffe2fff9e5b5cc5dcdf29a0202ba2491c2a2a85c5278015d0027e1684aa954986b533c35d52b725236482e76c6248576be30da437289e918329c4674a63b802e125e596222233ec0833cc344248f3cd76d71e736ca90b2b01d3394d43aabd6898d2d747c7f7e3d84b1d759196af83f8bdc1cb3cba98d571e14fe383d7b6faca4a77a92be1e0baf70bce68944ba6068d9892941880b48812be1654bab6c51d6273918eda7050983e11940626a64d5759f4ce026f73ceab8069fcaf0562a06ae75bfe19a02693d5826495a092ac0b03747de853cc613fa7efee5cadf7b27f4c8777f8ecc3f1fd0db6f33db98769644e87fb7baf5bcf35cf17fbb73adcefe27fffc1edb8ceef601e4d9379fbdcebf6798db9f5feac8febb37e9f7f701fafd3359e23f340027049412b18c9a1a1bb6db70f389c7efccead7126c898c367364818c941e9c14a4518b380a970ff8879ef5901499410957c9a216e485936e3629b415859aa70a9f13cf86a16baac3857fb4c5d95ab275defd0723b3d5a48389d2b1d7d51f47b3100c1bf9a584159514ad9ee10b040d75b6e56153032edf4a87672a910b8776562a4e139b848d3bf430775e1c0dcab85dfc11b5d1cf3646057796b6c4bbbbd3b71a2b7d71aaeee767081fb6eed6da23b98b8a2fdcd43a3aae5fc8500102b2e3e63c7f86d0eb136aed2a6402e7ba524ae638586769ecc8d90d9315e61daf2b6373c8f349060e9966634f4d702aa642003d049331d7f7e722f4a00b3ba72dc4586d7e33dffdbcf605ae9c31303e3eaf6797da15e0850e10910859379f845838c4dd6792d6cdb95b0a3018a762023e80b0a23765ee2b118da13fa40210bedd9a6acf3e006d6925248aa7c6e4bb609434becb7d1dccbec3a9b849d650bc90be3212533a4252bafe3e579ac02e40e6631af572f72e08afbfbdf0c0da7cb3178420d06e4c3c77348fb422a335c68147928459cfce4034b6071263a5819a0002d79f477e3c87cb19d8c58fef3de6030a68618419b5edd89b55b9c3643dd282fd58602969a13242b60afdf516f2799bc99769d3ea8a134d1f40ab8edc0fa55038c0ae2b9d3429fa33109b90ee84db4b7a2708387b43fd6e7e37f8dd092439c47e976d4d9e3092781073b076fd63de71c817a8509087e0a638f585799fa082a09c8e58b8026fd1e452ec76f7183745b7f4f51bce596b9ec1d3488b5c1287709c9ddada2b38a69e45a897cfee0361dd4adaaf21b6ed8000e8a9676a69fc67d4c9a0abc74306fb5c9b0dfbaf2da627b13167a11e9128ec7908347f9f1c252221a965198f2adc5d9496d14c820ca7b1f2e0d2796ee60763735671c47e0f5a66be9b981b693f24caec0af567328259ffd5220dc9605b7f085a4caf3945acf52a32299bd2794cf626a940dbd0c10e42411439551213ebe8d897ff274d070bfea511739ab2cd9065461d4879da57ccceb983588b85ad8578c719f604dde71018b8d0a5d21dcfee8b3134956eef19a3b2a37747cb423eaf436951bd6e7e8c9259e18e5ca133b82cfdfed0778871c43978f9c25e7b59adcff3c6a7ff8b5831651b1b0dda34223703eb53fe8f99e1c103a0b3d96d45038163c68b60e9e537213c7eb685c61b4cbe5989cbcb0bc0a01f04e443e8f4e4d47c0c2d064d072ce47dec7b1cac2369692ac65f6d6c1124dceb9d291d7e36bea8ec13172a3030b12cb1aea0cfd0c5dc0712f5953e3dd2928a0fc321bfc5fab4e74318dec3955896849253e342cf3c23be401a37608066a7251bdf702a991b9a27b4c97a2e7f534440ad06e4258b004104d93fee83d5462e32553533f2f7d5dfdcca2982735b2a2f6d5a6b3ed1f8358be5ccdb6c2c5092eef0960a46bb1e734d48bee54729a5a0b62676334c10a68877676f4045155dbedbd06b368d5cf3d373e2e032148bfb2ead832ed5ddb8b93f6270092a3c6318f210cac8b9841c21743d66d81c2684c5803dec9695b01b0264f00491e4eff42d14e19d9bd7095a3b3116713f350dd00ac6b995ed29399c0be1609781ae5eb76fb55e312029a534c143330a3121c651050f59b50412c8776c49a5e6a829533260df9cc8039a6ced3f7946a357f9387fb430ebd33f20e3a437602bc1fae720b89a4155f36c5052e96703d2a2236d0540bf926126f959a11c4ddda4c70dbcdac0a1402e19c2e241ef1a8cd6c4beb33b08ceee9f761e21cc1ef15a77c95e96e73472c54ba131418443e63062b95f56647e6036ae1ad73490c319a3752a843a33b1d15e7311aedb511008bb5e825782a39059e3ab686e7cf5526faf500233034312619c011465a4dce62efdca85cb26faad32fd7c241bc74a39d3abe5298ab47594b9f98b02861534fb2e0e342f814a0dd5329469453931196cb9a76e277e838fea4303bb7bca8bc1b882d4e95c7a1b81eeba759627b681cd618eca3f8e4e8823ff61349c669305897b0b9c6ec4b6b30ca9bdccdd6fa910282a42f2098b889eed5ca7a387b08ba4d55c7f61ab6ca387dc1c3a2af80c84c9a59d1660f7c6063f8e9b6305c0bfcabe31a59a955c6f22929707fc9bccee86510ce82ff20651ec164be554379db48ba43dcf3a3cf32b646501e33054aef1d4567ad4ee7e2270da40a4d136dbce38b9671b716150965f0f7536a0556d147bd25daf4e56400e0ec952e7b264a067a1ba4776e5c72d0618d1eb758c9a5508f52b5ef3e7f749490e28b557750244dd8d30c3521fa201aaa17420867213198c87901dc99bd124c16203fca9cc1043c5d5225d94f3f51ade7e51a2ddf89a568f775772c06b0393447eb01cf75459ee91bcd8411052d0454fd7444df20883d7044e350a52d5395de6da9c3de98c10eee8f39c048e11b7956cfbbcc74146ce03102ac22b04d057f78a9fe10e383060ec03a137208743cda4ae325e56eec9dce334185d842db4543953ac2f223d19a30175d5d057429d5dd01133416a42fac1f0f5593b5d1601361c7662902f49967fa3cfd5875b2f532eebd16dbd798a19fe72915176c71ca05e4aae182ce308fc15aad5484e3a9352e54db471d6e780b660e4a9fdecb96bf58d58781132a83458a027fb004c55d7dada6f88f2ece0129d5b4fd28379db5fdc8d919e4f8c112f8d54d3fe2d9ed8160be03edcf57e1d18f75b8242dc5bda61e32081cd47477ce19dbabdf1453b354836e43a86d7b05c20d0890431295d9ab936d9d45b88344efaa7cc550a0a94b8c505907e7779d388a7b1b9cadb03b97d7cc3c0468215d39a37eb6e64429dd646bcc72bde58ae0af7e249c44f65e303c1e2eecd9a6c4f9d73d4d7568384adc873eef71df9b132a11b81a084079ee009b2fe12add4a6637a1240007d1c4deeea06ad2c4fa32ee4bf9ed629a03c65b96241aa8826059f449d32c292e314ec0607cdf5b61b85cb594c953809caabaa03d25d4b6cd0cb7a70b11c152cf7641fd017532c9aaa13f2155ce94d044b518a0680a050b8860c132fd28809b303cdf3681b5c18061cb3036d5378b7e50d46185d2f8e432101f5167fd0d389f1ccfd80e9b26a681409f20cbc9dfced028966741206bea7a261397d1c7f786cb6199bc0242dc148251b9fa1f967d6c46affa646c1dfa4c71b22013535ea019b210973e4a1d0b63495c0a70f9c40f24cdcab8175af8dcd05c16e3bcde3e061063942a4ae006f7c658929e13127526c28dec8a62d9f3d8baa1b35d594e0836a694079b68849598fb2fe01cda7c518ed0645b53b0c4261833f9544464486f483c410fe489be161127a03362772995403f8e3c690c5f16983cc906386878b8c347752c080533b4cf150d7d937faf75a7257f0080b4e12ea20bdd139caa633d1a22d12b9e63af00bf9b3fcc9fc227e4fa11d03ab71826fe7bd44447d516441ca972947fada1383223409bb8fd673469d26ac9724122ed926991922ae03f654a4dd9b32a24b6266f6ea7789e215e51809083c66a7fdbb46ea7e90ea6e5083f90c71039405ac25a5210d0dbdce53186181a30d973abdfb3cdc704526e6c412b3723646734e382f4bbd2fdd49aa62d9def67dbc886c146d01c095a34b59b4b7aa59552f8994cecd770073dd75324a67ddbca0c094c62a939bba49ccb3102400c99178adc6d044d3860adfc20bd388386f623a390fcbd46b9a44da060635cf140f7908807bcc2b6571c9201f9f8235099a3e1b385483bc8b1d4d750878f2772481e742c37924fb3edd530aae80ef320cd7646e5a76799c0ab3b488007d01bf9038542f60d067355eb98b154af3a004c424ac5b59e29d77fcb93e806f872aba0396070b71b53497125d4ab454681b82bb6459f16a9c98d7a04f4b3f5541d12ca4c7235143ae64f2f75965f49e0e05780afcb02e72ccb415c59bf9de35a3de7e5165104ed973684ab1492f34b02119e79b462f571a69866ef221b2357ac6342a242302f7f35710b2a1d8c853bea403debbb927d34bc3a4f8a1f5737e296fcfeda75b6937496a729d9980119a34ec4263062978e08daf4f2098dc318e93c3735e3b68aa18e6de69a30439ecad234a58fd3cc3742f10547fc74cbaab41e6ad0efc56d1d71669876eb2512b39489b82c97b07f592c8d83950ee2a1d9f0bf101a2688f63ea128b0f5453f7f1fb813068e5c2e6d19f5368c8bb079517657201e2d69269a928475cc8ceea4caa5cc0518bff321ce4eb86b87308c1767ec90f6151739779e82bdec7da8779aee196920cc3d4b6b05e20b49b2ef793c80f08e2c36684fca53db98c5b8d9c8b23c5d041626f9bb3e7f5e7774d68e323208ba8c2bdaac4bf689ecc52cf678271172537b89cf146262bdd742c2c98d1baa8ca08297dd030ad66ea525aea433ffe71c5d4436a5595361532e89d6d6a58bd3fd8013db7b5dd8d5fc6a252f554a81ce6806e868f80525e848a67af3a74df5d9f9f8d2fbe5233fac340cefdb30b9ce7bc5945175a046940bf7d9c21d82700014735ce3b410fbeaa8ede577d5e6e310813f1288aef3a108d219577f531ddc6e685c8ae70d6a4ea8cd58fc82adaae2889cf4f3efebca1e9d1ce900557f079b93ee836d214dab9801610c7cd93858f14ef3f670e4aed2ee8f9bdb9dc0c5cb59f1f8ebe6257de2a03b9db6d6f355120ad8376c26e1d8491f2cabdb8a1f876e6045e291cc3b778f0aaf4414691f7a6846341825efbdbfc121f0da41b344131f98c0eafb868e702552a882335625d2b2a3352a4844dfa48f9964099a5a8fbb4d6f84b30598afb99ba9c712169900b129114f231d7c5838e2061462873fc2fa6e8a0e16003e1be0c035eaa4f1c844bcec533dcd937b8018c3c8ad9983ffe8e07f925d4dd2f900eb11f5b23b1e9fe804c6a299ebf520c9d99eb9e4b72319ef0d7317ce910c7c0a871862ef8bc21adfbb66d656e13277d44783c41ed69275d0bb5a6ecaacde6930445aa7c901d78a11008f9298f60cb759d96f0f5b91960f09f241ccceaa672f437b93dbd2b885b17a3cb7943e4c85c43a2160b595e688d598ef420ae3e74315c7302852e50a39d432edf8cb01fbeb088376867701b0c1a1c7a5fc27e64d3f474aa4549e440bce86dad9b7962edb98498289cf3c597be522fc22363e145b9a7599bb1f289eec1c1f219c8c977ef325a11be00d8e95813de110cf3c96e56e38315d11b7591bf33c1b4f0807a80df11262241fe200d5028c4d0ca486e6cea7b9f140b362e67b301efa17fba64ff3f2c4f04230e4d4622bf16c5963dd991a5bcab21b850a66321cde1a55695a4492f5c2a4cd4992b198dad870978eda830b8709d35133287a8bcaf64cbf52527c1b30a2c012d3d7488d7726ad4145440546b50bd8da00f8677890466f994e31411214757faf3bfcbd7b0c8daf68deafdeb92dfd06279c9111f9ec4befe2d0d18808dea22b7e2014d4369104757670fb3d7b3020e08379de2fafab7376daf0b7a8e56a05e22b5938dafd5ccc5df21c7e91a06a49ce570586dede92db425ef9b88ec5c66687e0081aacaef2af9b1ac10b0797510f615de04d1852755056dcfb9fea94c3a7f4255839320baf56724df5f5f0281c442370b943f2ebd7dbbc88bdb7a505a59b6fc096498d8fc9abf1c4ea96008c33032964e985b0f10803f5c834f567d96a1d7125ac075fa987ac93406a1b8963268196b076c61dbc1f93c08826a581126fcab7bb1bb5ed097ee7e691083ed52c6e5b0078ecbf26887cdcf3429b95a10bd3c33ee372ae36784e1cb87064ff271a63ec28571e59f4a4eb6c3992d920e882b47d3174f4d7c8cf49edff84d0c089576c3ae6fcb33a3ca9a1607fc2497e31f1a216c05bec2048141b10f5838f60894094b7a7bfa47ba7e45d891d5f126a3829e8f5fb860ef53e2f95131efe3530d1ae120c3536ac5d712ac73d094e8bfccabab09020912042cc42c081723fd819a0176938d5463e6db9efa20306c3ebcbd174739110cea7ec72b32703c8a0630b1f512c4743fd9bf08c97025c3f67a1f41a284e8460f3621ae2884c56c3391f56869ef182a2b37f7e6c0892e790355ee7f67cc9d28b85e032b27cc4c8e4ef7cf3f355cb3850d336e47529076df69f0381c31207ec5c20a688aef57f8f66b6fa3f7dc41cd11b896bff63347e30d711ce656ff91910ad74c33705eb1d9b65f5d40e764f7594b3ac7cf70365379c1144bc5a9dcf6fbcc9b821b61a3ee09168ab61fc675f57de640267daae9525319e92a7fe7545d2555408f1d94d6095d9cdb56a2db30c984d26d496bc9407cea866d3a23b4ebd7317ed393b888d42a5055f2b645c1a9427b3e363bb6a41641367a076c62a5975854c0bb5bf4bb95dceb4acc7d483944a62182b32394e500061f5d0374c885a5a781bd3800176d9f6c5b8b3afb0c6f5cc795506c15be2f96b27c4376052e4e332c2dadc3220be9604c3d9f11880f13f0f2aa1598ce2c66eab143ac312878b289f0820799e2833516cb930e5f4a41e50746211347dc2f5d01c077583a1fb25a11d2f7c950615d3ad46d63e832b5bb7d61c8978b88245ac4d2afa1fbee7ddb37fec39bc4c3201f16c546d04d439f9617b0f4220a355e1f77973363e553bca83b7ce6a74dc756ea9821326ff3541e684e3a7ac00d43478549b884ab0ed04c4c0f229c2c0f65933d1703944a47fc95812475eb683044b6f5cefed324dddcf68af1b7921f2a257fe9b715c32ccf5e0fcfb6af8c2e95feb20d8ca481072f1f42bf592d5ade2771ac44af7c547660f54444221d6460713b2fe8a9ff9468eb603b9156a561f0348e3a84265f19031fb04803b4930ab1c53fb07565db59d005d6eb6281e48611dc15531f8dc31c0da7ddab88d48e12f41fb34b3a1ae79d3500217478aa86368f5474318166c8301471ca0d154e5870563a449d9b43797109b8e117875c29fa10f694c9cac61493d66c6ce04cf6ebf66b70a99dae3646d877666fc0079dc23830277c83dac6123db7565dff52d759d3cbd5f4ab155d4bb4166a75edf6090f15c7fc76248074f5a70e73626b287338e19e1d323f22565749dfb909fb0b53e02a052999bb37dad400283c837ce054d62391efa08d1b33276d92659729663a4bb9c3b7924d894027021f8a7562b4b144013d791a71586106b57f67aeb9436a334570fe7814b7984c078feb0acd0c60936d76f64c1a7e866d7a8619f4d303454e5231d969d028cf106eb10bf48409d9bc5c27d6a5ef91bcbd5e59c78e232038168f66e89219f8d14d378dfd103b14b67b7f9b322a57da3b3c5775ea6584a7ba438bd7eafd3e1c4b885e376af312eacd5d5e087464a12e49dd77bbe87f9cc8f543f1dd2abbdf9235dd0f34983d0459e3a8ac7a2946c415696cf5dd93f4e5387430f51b59d9c8149fdbeea8a774a20ea0bb434e42ecd2b23e4a5ce4ea3c958588a5d11cad7acf756f01bed65584b03cd76370253b68b2abd9c62c3ae39e26c0565215ce77eb00765276357a190f90e530e7be92cc5399b0320505a2bb70f1a364e225dfced637b09c1cd1355ea2fffbc933b8861b57a7a0c2f76039e424a996a0715153822628d6915f78279dfb97aa5a85fbfbaaa7a6e0e75ba4db867b6c6fa1f4ddf0d9b338af2e41df49df813048ccb5107a904db71e060bdad9fe7706842416c02ea2f70f2b689bf6619bc9e1fef98f08423f9464fad5a8fd4a7fb5cdcf09cefbf15e15a66383a5efb1870afefe18a1ab2c8601d1fdda63ada718353a84566a2da983dd9d37024f97e1ba6712fda53c5fdee2a3e5790039788b674e61210e99ac4a3f7fa8842f5f58c4754d2a9be12dacb9930f7f4932a0e65aaef4c694d4d75ab55c5759f6322c57c656e90cc2d79e9166ad91a199baf44318084aae44d765503033f68c71a39c6809dcd9aa1621f79a82ff8ccde7ebc8c6443347d01bdd08042b13b0d242a5355c2c87d0e16bd8cc4635cf6fa46c35fc7e8cd79708382c625f906bb4f9a194593891965b6a4c837879699e1885dd54d793c3ed571f475da08b49d1a185f2785965301bce8611a6e4e4893d5a61329ea28a254513a7322f14842dd293b4cfe3f61049e7844f7b9594b7b17707d20ad27a9ffe8fe68f9930bb0324a70ccb2986decb19237ee8e4ccce968e07d8ea5211cb97536e2d6b6d394e40c2cbcab10bca19b4dc152aa834d4c28baa112a4c44a9a0245d3c35593942a78cc75e98d0afb283f5bc3d11247d74339f683307c1380644cdcad9818409043d6c36cd3ad78f211c92cd69825fe2830bfb850dccded0a7813771b0acb191f14d7e8900ad488a476010b7a118604d1c70298a12736522000c92777bfb92a8c58f125b1ee516b432d13d17ec1b94f87adcf1342cc2c7152909103631398afd4fc5bb1f2a8b593473343828ced8821cfa4ed8d3fb2b1e328b7571e5bcb3d99c307903d24a39d6fd43cf31bbf624efd26b1f7baa5dfdd8c7fc136cd285c3360d4c8cd7093e606c6076905d249d3a359df632b531c9fd0e7e95f72436cfe9587802029bd1e44051ae34454d01559323b58f7d6efba6a71000d0b7fc7dfa3a86b5f471fb153ad1f3a5141f03dd28a9ffb02b6204ce77a85df833440ca1f9ea14edf27e374bf5e3154d55addc5efb3f99a1f372d03e325ddbce83888e62920da087caf3912c4346f637d1f8bda7a6f6f9875c196449efbad97af0b4e05201228d131fb600e752c893c62999546e614346d59fac8827130e914c264d1e9cff7f869d9e701b9230880bb361722093203ac1bea47e9224d22ef8a7834df8396c1743aa625bb07d91192ec49e822d42b4fb4049585b19000e615c614600485246d93329ce7a49e68ae0917a1e61c84347dadf02d91fb266e9c54c0ad9d3beb3131e4bbc25aedb2b23233da409dd54a5adf6e8902f218df5503ab3c322e3ceba3f82aef56eac02ee07402d192c2d28ca35e454b1a15dda0f09389082ca5bf6b22a3bb4e78e6d07a4f9d4a93464bda56fb25d85f962d7583369c06ae0eb211a1b7e4d72ce1da92e21ed775834ecfe112eb93098b2cc6cf6c10359b1ac641ca17b63ef9eb544c6d01514ea77c1b2fb0b3aeed74f24799511f57be99ba80eb9e5b5564841ba015b1d242dd35f5298c18719a12f7849288953f9fe6ae3ede21326deb7ce23014d6aecebf72aff9da1eab2d01e6f9ce4a6d63ff2896a4d5dac0d978f7b006249db726f044f26d768363c5ae08242e8ae0aa12452c95aa4876a36be55055c9d661d7def11a41456ca032a5b25457236e09f4181db17bbe8ca1a251380f5605512a82227d290600896ce4b1ea52539917795600aecb46d7dac26d1363b1e8f41be21d570d58be4199ef8b2c5427cdf9f2cafe13797ac8be470be31f6c10cc5666b0479def2b3b59257ec89c0d072e654c6693c1f1f6d00bbb50195c976a193c9eb7d5fc8b363e084396c01e44746a2ce1a2ffd8afcd840b7ba59cc8aad0655bf0cbc79bced12a89a025e6c2f4025b3d863cbde258f5406a655c37016789734208914c083e926a5b1eea31264bf27e5ea5f95bff8b5e572ec9e8646c95c4b0d962e684061a206d1f4808bc3e92929b8487021a878ffa20f913fe62581c61626e857734b05a885c5b42a19c84c9245b5f4c71295f1c398c45e3f00ee0f9295b5e7aa51bb4c3e15e601f2dfcb9747bb1703e66b27e290695edc5cf1e59f7632c5c31a19e3aea1838b77cea4729ce946f7b345c8e7926a49ad9b1b5c35b73110a5d687645896bbf5eba5d73d2689816257284615e6f36fcec257903e8c5ce7056ace317bc74ae98dc7e9f73cab808047a6f998585d48672001ba5955e6d9b89c125c4d9a7bb49ea7d83201474f0999e58cf967ef402ff84933a0426b47c28185fee4ae6277f424e29da300984cdf40ed1fd02945e6c81da6c3167ff3e99051088a09707d5823edd10dd9e661608f2a82bb6bf5819f309ef455b373b5ed23f4443a06bc17a0bdabae79c218b6ca9ee0b45e88dcc65d453c80da8653feefe185941b2ee3d420cc21d843e1724c09b7acc7141e75623049fc3292d1e67a064621f5e1ef7e633ac56bb8a447e94c148688fcd712e1e74458db7cb5519c0d9381ba7127b1cf0313ce36aec9f06d3522224cb4e423fcedb0100033a0e3af420d06fc65a9383524e0c67acd6bd9c73b02ad2fc927849da4b6b099a5ef1071fe54c1de88949a34069ee36cde7b47036ee7b85145191511c7f51c80550e0d1b49f0b7a6c83e3a4427d8101c12eb697d5778e737c10da5dd066f893406272181848b3fe94c7b19a060f853720c126016d9689d16bbd6b636d04366a30dc3fe436aff3faf702a33e5a5dc5bafe25696eba0292e016285c31ca994c300fff45048d29363cde4f70130db161c0f8fe9dc48923d838c84770d16518f70fbff54834c1619f142a9c5d871d90475025111e2fd1c8ec63d5f266c4e56961282b9424c933026db4f125d7ce1a31e54bee067423835db634379c4003b407e55c3ebb5535f9a1265fd4b6b0041a20bd1a695a4e3a2ab4e6af6397fb16cadee7049e5c339b02610997757daa4a6aff23911e32da13fdc275a9692babce660251cbeca304494630fc1c4ab83978f554a2c029bd3f3b7be9d79f5edc0ef9cf11e30d9d4de56a6b2ce73eaa1040c01c2ab54df04f99db06c0dfd23b3ded7fed7cdb2683f5d2be40de83e1a3aa2228f106f0692e99e691ce8638e82b6a1375b493d33105945c0e3e49fb9a6483d2a3c2f51cc30789142eb07c87b8b91d48402a1e0b9c81086ba0c9ff9ae16059ff8ccfdc5ca9bc8fbc2699a95c49b9f16de99c3db44d34fdedc6d8fff323eb15854e7bee5e3330e5d813598bca7643791d715b0397603f5a281e31a0fb3c134532736e960984401fa5b1091203a63e16666258bcd90ad4265823a99d9dd7e73850a455d08aa3890c2443b87b129879fba0bce868c7629075d90c0f8b93843c9da57f68ecaf97d7735043b83f7d1c8a65fd642c0bbc0933ca6f715374b82edca61ec2b862364d7b968ed7a5aed92ff91cbd484d2fd9183f8a0a3b5024e2a53dd21e4af494faacd6ebbe6e6b169790ebfda49243ced089ad5834d37a6ce52cf3c33c246a3be5f7285197dc0a2b10dabfc2ba590ac80294c2d7b7a0ee2782dcd38a21548570b45cb62727d357525bd982a86a0f7eb1c26ca316bde18dc440694712c1fc7b1146def70421b0ce04cd1b91ae438d7a6e022b3e112e24bdf28b6fc2ae8d4aa495e26a825686a4912521e92d69ec5abae8b4d6ab58afe6c6dcabbff10698252d0ee3e4179d2f633999b5733cbe11eb9e98f7dfdfa5640d88712ac0be6a16cd13cfd0574995d699d69486326198d4f770aa9b41528cbd3bb12bf911bcfccb6f4ccccbc8b8c1ea912771c2f714092a8cb637e9e8bbd32cfb98cec640bbd9befe27b7719f743dfeaa1a6e142013017ac0b28da76f4f5ba0ede6b95d0a797b15c13dfd93b27a557a9b05a031d72090d3ab216eeaa632c90196395ddf78569692d544a81fc6dc6aa44a37d858575cc2992f310721dbda0d7c5af4356ef3bbba6100062dbc20d2d063a4e20601402b05a034348c18fa297f1ff09fef07fd8efd49c1df1538ebeb4a1eaca34aaf091cbd78b760c3873567d7bf81a8b092c2101dffcd78f4be7cc24263f4f0d5d6039cf6f45bd47d4467820de889030b28544ec26fe967e4dfc32b0f3a7353eb095ca535ffbc259122add4ace8664cb42024679804a26a6ec0b9284c3153eb55c3d79bb92f2ffb633a68e346a9ee70e5a49bfa40947c3b3fa4800f397085535cebfd523856858288b9d6bb274f66a62d6523adddd8c0ca486a4ab53fb2de998dc246296ea07f8b498091c0054a5c6eb5a873838f51aef4abc5c865a5cef9b0be8829aa77501040bd2d26fd2c9bba8c52dc38c1ac6d074432b78da2bc89e486f970eec59e1bdb08bda3c7458a39741badbe4103545b6905a5b96dc4856e80c2f475ace6d6c86a90f7e772bda769f0d9ce34d607c57c7a62a37dd28ad641a0db94ecf06931eb2df11f71486c96c4ddb64c8b9079d9fed3f8849cec8f3d4d4da28f3a98bb80ba272442852197724e4391c109b8afd1bb6e9170d4c8f96990f63e444662c045ed8939eb366a4a87242f0c25108b2fc3a3be54a98546e27daf80d1c9f8413e3fdb1f6dc83c36e0709917f92b938a5c9ffd6a4df43cb11078209dccc5656e076598a042426ecd813bfc4a1aed936f99731fdd6c8411f5596820456329f807bbedb84fa8fcf75c3429aae5bc1d9ec573504af4d3e18520910a7fd5e0fb286d7853d3f0eb2130b9377e20b23da8a34eaab109147d9346f7614ca5be5c2adedbf470f0044d80d4c3a89f402dacea1ecff3c9888d46ac924e8b1d3dfba4816227aa963a6792535472bb7c6ca9f9569516d5994af2f621967e8f9cdf13b559408ab92196b6e691bcd614a1d696b0727c248bc3117515acd2fed90561297bfb712460e4d1ebaf7c707b1972accbc873907caa510a3e6dae82c6b60470b8b2e57672e1a091b8457c88b97bc6a0a186fc14065b48b3b89ce81e8fd8c179d740c01f3f4a2c2ec8d08cd80c2f741f433f1eb55cc13d10b23c1af874b321d7a3319930353a0f6daf271523bba28e0a6d4a540e1ddeacf9759452a722f027dc5252207efe8bfe3675fa91665f042c706b215b5f215425c597018b82cb523187a76e6b59f590f5a152aa2d5f2e908121c825c4b8ac2111c98c93f52e6ebd28a719a81bbb61155949560ca8f438fbb2b44cb7c30cd45f0b9749865286ec5487be216ba060226f8ddb7a329742b4718fda30e36c599d37b5bb18b2d8a8d4f5c4b2cea13cfc1255a007c448559b73b104a2c531e00dfddeb8ff35373fa64f816fd05b5a3993adbe83bb74e00e8776ee96e0e28baaec22cd654674b519cc6482273e749a8d6ad7f4e5a185ab61b07d3a40d9b0cff3237622960c5f47cadef428e60f20c64a0d596d7e0e1a7ffc4630755487fa0a1c0bac25d0f5c71d5ac2dba1fbf6ab4a912ed2aa2f8e2120c9aa4661f454b162f2b4a507403b5ce338232d63c5f8d9b9b18126521a873a07ed72458d217e03af17683141e20edf44a58ca7b13bbd36985246d6e4b19a59cc88e47bb02c43836bfc0358a39e139fe5b6c5a383b92f1d921be16a1b551edd1e78ab540136c9445c969b445974facc4a8acaa1dcb5526a352ea5a8d55e2b759fcbb0d9ec3594d9793e470f6720413ea5ce58a73b41a2fce8b1dbc218199fa74310b9e28198a2fbc44c19124629af96458c6dd5075fc7c94bdf36abcae47ba5f88ea7e856154175baf550fa4491ec0357bef449f33496860f6f325096f9a913a0c1885390672e8c3cec8499f0424c83042eab60e193e7456e5e180fb48500646726559d897b1c3fabf5c6e0249d26d067f5c0c424b38ad9a50d4d5f60624fdb2fd54ec8f2968d8501f58e899e27ae1a34ee9f5471dc2ca1b0354922bf4cf6091bd9e4cf20f9291895425cc224b0771774186606acc185c085cafe6a83f69cfb01ee42104a2ee889af9d7c9096d83d1f694cd56dcbc4aba686e634403c91b57fdaba0c3cd809b9b597c7e8623124e9aa5c26139264d0b70dc137e9fb305a0147e9a89c30d0d7cd347ad99dbe3a554ac4d88d1857dcdee18c650cb1e660edb91f63e6ade402a27b482ee3fd44391b5c8ee0f316576f54d5aae48385137cb740e4af833bb193267ee99679d650453135e45b31a0970dcda0c3d22ce1f70d696da411848a9fbf5c12cf08e26894aeb2a2a6e1ef73b6c283a83da9401c4afe4cfa8e28d86d36aab18fed5a88869edb2b58b863de1fa27a7368bc0252cb0094a51927ce4b1777d59a06963e301a93668bce048f44dfb7a2f363d5ab07a2b12b415c23e5ceb2e2455d5db044b57731c85aa1412f474007f8ae31b856b158cf402228c8b25b3e97962ca4926dcb8d7043b8afe4c6a6d456cc0dfe1da56285ae245c0972af6ed026d06c0b2f390ecd19f26bdd6ce85b1a3bc03530afad849a29d986a6bdfe0e7bc0d9db16b8fab9bf345f5dd73298e5f205fc6e824aea61d6451706bbb84b03584b4bd61021d99a305d986397d6228dfe123abeab4984a7c546d6e2e367ddf3c82e834de1d0d754a182d4f3ae40960d64337339de4809367c3dea69f481c445a2541027324e7200012f2d55cc44d807f8c1e6e9dbb82bd28c5c32e2bfd8ee05a195a14e873c363e42329eb85b9bcbd903e342066ec932052954b14aa224e7889f550831381964817ce5db678ec68514c1376eeb30dcab9f157e4955b0b4d2be3df704fa92fa65d4829bb203d64621fa0ca3627dae5a7f45bc0416b13bc199b3835e264b6f5b856521c1728bab47cdc17049d63ebdf10d890df09da78de07c50df2a0c2b389c7beb5bc755f0644ad63a33afe1088b4535384ba26809afd1a57c05380d2331a4535cc05a037ee36a4f7da20b5f3cd1a4cb55bd3273063a5378b0d9143542a690eac2242980695dbb3754e0cab81a0084a8d62328c099caee277acdb7c54aa0b5d4ef4e37a59899f9492ab0b1ad82ce787fe1b7f518b86d31867959f9b069572103c1ccaf7cb1c908c13807a958fa344eb021ae0371447635cd693aa22988e15a764cffffbe2bd59c329eb5a157b0b95abe4c06dbb8741342bb7ee81c9b92364d5c2a783b5843307e0b1077a8b1876e235f4bb8655f157dc60b5f5131724a98b526f16f13ca82321046c64e3ea43d05d89c38cdc2e269dea327c7c0febfa904112a9aedf581b7d4492f146ce2538f712c441f9cfc9068c3a4508bc3416666ba4884eacd59b31f7a34129fc1557bb3685a585640b9e28aba407bf5e48aa38f0e4d59133dc69387a245dc3355de115a4b97302c4f6b12258427f669d5a3acf8a89562c8a81742897588848ae1f60f234be9d733c45eaaafe84a0a5395346320ad3b1c740112c2d07c6bcc4c0de75c46b2d44944fd2710e5238bc78b5efdf3aea37d10008b072a725da62b8ec37578348c60035016fbd4e5d42ecc523f4f9c9380ff2d36cb4a00d89d9faf9a0ccbecae95a8e96301e032e2894a8db6493330e25a976b8da85b34214a30d2ab87157972edc1ea766fcf0b8e2a562074cac209b47697f9f47774837d1031e75725f6854414ed41be7052978dbfba6e58132403fa8090a0ddb0134a7de16e9d0a51fcdffe36dfdbfdb7916435fea577e9ebd5107442bf885c699509f29643834a4f88b2c600cdcfad803109f9f792fa8ecd744c5d513fcd68219920f271a39413288e48725fe4b0e3c72b69e293cb8b8c6218fe8cd36722f1d73ed4649dea7f1d2f9aa9b89442e2b1c5925c080e94fe98918ebe93bcb583f4a9d520dfe0fa81468fe248282e1f44242755eb5241efaa6f308ee634d5ef981b32cd59d3ac83984909b699152afb6b5e3ca90b98a3f7fedfe08da0e91a1ec3eb2f0a5f273b94e9e07ec786b3bbc36d269a22b417f3d8c687581b1fccd2711182c2a8286885ba63ab70b9089e3c1286fbd30c414a795e5c0c24f0d9e4b0c0be8acabcd68850cfd3e0681c08f58633e9f2f72b92b731883120eae902a5d7a73b05e24ecaad4fe134d0fc6abca549573f09902af97eb83a91d100fe54b8c7e749368d9a2b206bed2ec0d4885061344a7ebdfe9d35d6aa13f6170c6a94146b39f94b7cb45efbec268620164b4bb537da12e8a5953f4e3eec34fe78c679ad2529fc49d96e096b47ee66fa351690c93b3df7d6609a9667abedc4f60e7db2ab4ac2fed6be87affbb68649db797af245ec0a96567a81bb9cab5992aa080924496abb913784fb86a20c8b393dca36cf794943e5bb98d4f7264831076a3ff7ef5dba0908bd43d46a396a20958477a47eb777ec9e9416960a7f31b2ad782eba8944db0080fa96d2252a7e6557cd9f22f7e094bcc7439ac13b1711fa7d84ecb95215533862e142246bcf696d6377c48d36ec167c6a9fca5371a6e0287783bd762a277580b745cc206fc512a972ed5e0bb266cee7a8aba4fb9574718a6b68f17a98043306ec204921180ddc2e7f8c3d9dea6c26645e2d246b697d2fdd87abdc0003525be21be53fb54c1d22694a1859f77dfbef8894603bd1bbe1bef5f2c84f1f83c6bc8284f2d48309afb43020e7cc88ace60752336073492cc4cd90698e64752ead7b396d49d60b2c13894e51f05928e8e4c200f4f2d1500c5b2c1f6002a7bb4011c5803e941a1345b7019adec679265068321918a45a76ce33f2a95ceb99b8d715ac2dc2cb7e8b30bb81f5680559c1d488dd96773d4f2d706cb0443341425c4f8e02d0d30203f2944d7973cec97c1b928b9a0e1cfe8294748b4f17013b2dbbde895b060a12ac534aa194b095a6c60559058dcd7906de3d1c73cfc4279c8bad653579494e309200f908cb1fff1b166270a4f3fa91930739b1b781f718991067a9199977ea259a4369efb72fee379fae51e0317f77db06f3b34dd401ecb939e3265820ab6fd008a13d77a1b82ef7f7514bb5f61b88d50506e6052aec0b949e6020c3af5e79f37ddd1c6f32ce1b1dd4227b98422fbbe8f051dee3b55f13a0d42f863fe8bf498c08daa1158c0ae2b85a77ecca9989a11020dd078687de055ec6cd8e392b35f8526d049f2712e96f7e4e8684ffaea2c3ef34121ca531825335355f8f37a2a4952a9cd9ef109a375098db376428975c3a43070f5034fac773a56d04c2fae23b643a00d32b05752d9920989dafa602bd1c7abf2b11662f243ccbda96d567c8074c92bea76867618d0401c9ea0b14bf125b510237657a5e747eca0b24d6f371c13b2d4d2479531d4113dbc3624d75af1cf83197910ada59082ece982a07559bfea6b95645572d2d33a3481046603942a73663e03c74fc23a785b8026373a7a8f248431735351ac179b51c211aef0c43475a7df7143ac4d6bd85b9618881ed58023e3d919ad9cb2f17addbf7278811e148131b664ccff41e791137f10cd7c0b28b11fb078f9ff775ecf590a90085063d957f60f3d1f4dd0dafd6492f25401860c66a4b8b8d2279742a56245ecd3b3422219eb035ac212bce69bcd108f76948f86445bbd9cc494a72a48f12d2839f4116909c96045a7c197e49c4096be1877237607b54b276ab95baa80fe7fcea5b64fd78facc9aab28494054ca57aaf1cfedf422355890dd667edca74d0999dbc0f9271cb120057b27b71945a14501af5e483e7a71ad9ea28235cb04919fac8cc885107efd86583c03f3435eb4b6058ba52e90f35b9a4b6c1fcfbdb6a2f250be8139142442de4f4ebb51bd46e07933de8494acbdfd98182245673db6b05da9995e3a1cf2766ceb665be71743fc857835c2c1cb570178af9a4c8fddbc47bc6da9b605e830af999037f332e6383cbef7b3cd58f52bd0b2983b9066847e8a26d1c229d3b23c7bf22b1feea19e41170c755a376b494de8c5942e54ee19f8a1cdbbeb8f74a9ff40aa8b1e6c84b71e74e224f6461e4d3bd751bda3a75a683ef8fb1d5acfc0c97788b73ee841f334d050be61956b05157be8d954e40612eeaf16a425b1683ffdc70fff8c587d274f01004b2700f903785fd11cbe2d2ff6aae78fad9d9e0650310494c8ec585fbd9c25d97e974a721d755d8fa8083b3a13e77bfbd03d9c8c3806febd1564f0b0c35e333174411f18df585550d7bbe6e008d4a013e5f5cccaff2e090d759824684f1c54f1ca4d6baad16ec8bf31473394ca3ff306a353bc0e8ee227670ad4eb245040e2aa371cb1adc4d4d9a1d206d1fd519e8f264dd1dd0a6455648acd75d18bcf52c68ebdfc46a24f79121f4b052dee6dc272646fd725634c489eaf47553573a668e4f636665a962d2fe010df9e719e475c7e99e08797cff05db6ebd5fc91fff5f550bca22c855942d65bed755f8592a251dfa5aba5569f3acbeadae5c75882c8fd33fa58df656db8bef0560b151607a634158ddb1c8d310b4494eef5fb4b2b84d43d424138d3560fee589132dc55819977aff2e59290fe7cb114392a2e1a8556835c534b59101f0637cea257bdf747cd02af4fe15ac1618589b808855c38dc3f69c46f848d9bed9a411aac0840e937b9ae1c30cdad02389d25617823e9e85d517c48af4e4970a114e6e4a0f8ba7d240780fd39c278bc8b2094f21525ad2eed025712d48097871cc0131f4ada992bca61742059935daac10c132816dcec671f4682f9c583354f85cd5fe4458248710c951d189d63e1ba168a360c3409a57868048e1b8631f7ab0e75663f1764eed76bb09361e9e1c64a619b02827b31d1dd77141209fd55d0fc83d27453ff3273d1f9355c1342daea92fa63e2a877fb0a8ec1dd1bb73ab728adf897f0f2c9d3d7768189c7ee603c72da2df2066d5e721a8dcd3e7df0601c6ebfba837c422fff557a4d0ed679f430e9e73da36a168faf0bfa85f467ecef10db1bc51a4d627b17c56b75a89449e1d609236ca670575a753c920e297fa8ff64cb1923a5f00b95c893de4e40a51a4abf6b4e42364c40125607f865ef5edf89cd45fc64d677f189b43f077e4bc80a82b87eebedeedba3b45397c51ad285d996137cf3fe56fd918414dc051828eaf554abeb13361c758314ffe5f1c8700c95ccfecdfde0963e3a67890bb241ec4a52bc033dfd9e4e531bf99717e89b734a6fcb11d9caf079cc189f15df56b0c60b4e7ac184db2bb56fbc1cfc9af1dbd0bb9f4117ec479c28ead0dd595f458282affcebd2a71ef0c2ae3ed5d3fed58f31e906f90a55d49f8561578ece61720128e5277ad4ad61406e375d87b00dfc51b2290ad129552de71af4eb33e2c033d2dfb0870b76262369d6a0842ee89484d90c098cd971b3cdf5d175f08307ea32c738f910e5784599ac35a6914cb4a49d27fe11f25fe624fbf36a0a6bc400b1c6db4912ca7310c67293599392a677ba0d0f876a694dd45a0f44d7b82a678d8e2e3e20f6c2a68a65d3ba2aa8bb2be10a5d827c6423160c1661fa6d05f0f3fa4cddc12b619295de0595bf8a643a6e55a8ccae33091fa4aec632f7ac577a539e3d9d4d2ba045ddf267b9e027b33cb5ddf61ebf0086951eb52b2945600f652a929c5e77c4923d14c95ce39ef68eb78d64ffea4f13533a8f04b744bfcb1c17fb14f21efca214553aada2a9d834142bd8f584d3799b29ced068eef9e8a8679f3368be357c303d469ad211572d6912653b148558c92c110a890640a98570e121d0902b2f193cde86c68c97977c091ae689e8db1d9c240e1065b4fa31127d09edb4883e03532406e3a97dd48afe7271dc16cf762af27e500a03d2126e5b4488e14ae992dd430066572f0ed6d01446b806e05f9dac3849844700b099a66a97106de24e96b623f4cf65e9e68568b4587f7cbc557f5a8278f5df06d19c483400bf3505ad0862128ba0d1b70da71f664e636d3f76df73975c19cf774658015ad6fdfce3305dc6d235425e53c10039059d92d5eaae8f9b234e8bc4a25a4a79771e71a7d17ab24ab2a4bc89857cc684c36c358d2dd1084fb979724b8bcff1318e612090ba919534e9e4365fe81a6e4faa6fe046e806d2d176c6002057257cab75831fe84c6f7541b434b10b31a717ebb673b990d90a08d6b35d26b2a7b9bbe17595b3329bcf67eb3e0e52687c659cca3ca30daf286c7927c6e336be0b8275d1c06a7e89d0b34d2ad5a6af4d14f58e0d0f8dbb7087406f683f62bade803bb0d16d6c5403d848576ac3c5c99d2bbbe8c7454963b10e2e0e4f85da22b8ec55c40c3ad15615988250bccbdef1d3bb2b4e7a1d261a9944ce9b89fa132c79a5bbc7be62e89075c587af05a921615e11141c59d6d1e440f73a2a26a8e18f92f70dce6235595e0eda2a249b66bad0f4703e6e3d40d4e3e50bfe3a8831f571b3ee929494485907e1c8f34d22e7fa1bcc730fbd9d2b6b9cd9c9548b31523eafe05b71d245f4f0f1ce69071be131e24382ddc438b64645ef3e3293161d3e0059e4fe6e24619648fc0c8007af807c746da281b8d8f442a26c10a82a747c5b389b05840ee1a05e3960293fd2387e5842138a9472862cce92cc6e03c97dbf041530a7404ae363fec0f7ded4f194f69489fb91e43d2e55b788288400603333758584b6d32fe19d9b7a1041d5d514eb8b838f4ce3218a2c22950bb46e2717aa0a6b92836260ae526560163777de159b0a115698a016b1f28bc57d7b40face393c8f42491e49fa5b1316fecc8efa636288d8e09e720bb97941e454199c34362442bbc5b17a1e3264874c3395ff10cd09104dd2b9976b7f090d3773e665e41b5d8eb82ae67546ae4c825f101e777779428998cf4cf2975139e2438dd91c9e8e18efd811ad69aa13ec2c567320c7194d74ec3bbdb44dcfdf709ff9f36da4288f51ffcbebdff12106a742ed9e6cf2380fa08128bf3b73a10ab5fb7567c831b18ac64b75623562a1a4b0d245d634b3a748524ac45726c655aa1d0dac166aec59544baf429c3df7764f65a74b7a24d089a6224b373d30d92d1873ff0b11dd97cde51ecd9fbeb21e8b00d458a7803f9f2d30429cb8caf4b9c62d0c9ae2d8a9493878859c87165d9d5edaec518d34d8b62d8afbad10cd9b3cb77b8a6819fe15f2e9f533ac413a310d29efd8d1edb37c731488f9b4f22edaef2ee4d2c667adb946ab580c82a537ec87edb9df2ffea418f92a15a91b991367b6f4c53a206a04f6e906eb2eadb1d7f2dd882290228143cf15b66e6e4f5d36b212f8c1468a36610dbc809344429bcddbf3a23dfb5c2e21ff88fbc2047b765ba81977e7c4e76f8d7774666162dac760396e0ecb2755e84ce4f236c8b0d62bcf5e28dacb3c6e0458c99ea103ebf7bf29d84f2bfc8a9be929cdfae5d7886e654ee4b2a871bed528a5cb82c8be3fe2a49d576c1dcf94d164c75082127dd13fab566cdedb02b71caded0c3350b6c1c473ce2179220ac823116579a97e025cf07a1e728760ad4112a9f19db1061850d85a6e0908f23444e7bb81fca0189749bb9e7b919852db77b3a8d79cac935d35d5675c9c534470746e096076cea17fae980a51f65d89adc8ec8c013a6ccd6870ce8eb639afebc79e60418ff9b7dbc585c9ee010396841809f40665013a9b12c1a0d90daa159b2290bb2a42a94a1531569a22df8dae954355255b8771edb5c4222faf7345966301475b99e41fde42802018cd9f8513aa1f5dcbeb94ccd25c97dcd007444bb3c195e054d6a30a3ba963ba4ab04af48a176bd6c92470b2b06002db3a9df68800aa1b84b8331463e2257dec974b1a76db250ffb0deb134a9a393c539b4bfe615b3413961548b80f89b1f62251bd0b3a9328ba734cf090c56ab1b6a0741f542d8c46b8adbf1964cf631e77f36cb8f25ea44f8981204b136e516d3722961c5a064a3daad52d894f467a3c1578ab62e671a23bceca87047313480f0cfa28f6e245d865d9fb4f71624ecd436d27e53c8ceaba3b24e02627910f0db52ad590ebde670903863dfaf1e60cd83844d492e915b8cc5070b9ce98b6f8af391749e6bf4899b6dfcbf5249e1d45181ab750652cdf0fececbb1d736da75fe8a7401e9dde065ab04e4c7a77110eac9f6569e4dd745ea49bd3311bb7ac629ad774420ca1cdbeaabeea211712cc5b69085bc842155a44f2ecc797f317354d1efc802b19205c6d745483fb3590ad4647faeb1ad0591d9b750a5a873df5c5d0e832c61d1ccdeac9192e4a3851d63caf6656b12bb5c95ce14ce91823aee764b2be7f0ad78c21c7fe95c60c0d64ca45ae88a7cbba184146e97a93aaf6a2040c8ebe9bd879de57476fd4991fc1b62563fb417dbda3527e449c011b97c76a211758042a88c437429d7b4dbd6d526f4b2126f59f7cf5f53e47df9705f20020f8b110dbc6739dd117c8b398790b93239b4b5a434b357b49ef85ac7829da3ee205d87dc539dc209244c0828f3a23a4f9825a53754c15404bcb39c7bfc0d83a9be1ea05555415d83f5fce9202f8d24c3110be1426efc6f0cb09cbbcf3cee166c939c9618eb82820c4a438d287dc084155b17d630901e4b6b746177a8f4d02a7c1198cceaa359b97e63dc57d85e8aba84fd5430c233bac6692d1528dfc566aea91f8b64521f3fad9bd2504893b7d4bf345da0e3f7a01eb71d4d4a20157d38c54b8b6854ee14dd8140438a0e6bbdcfb2b46a5952a674352d3be8a89c8662b6393482af5c9242d3db9141a886ada086ae2e6b562951e6901516778b7200924ec29d84d4441e9c8e29f84f370f61e7d6533241c0aa8370b5cd42de611cb470107d73759c296439943cd3bca7769b3c0f42f1fcbd7311e2f995025cece3628dc5cb4ec91209f2e692d8860933aeaa660785cf2fe7d4b89a993246c397952aadbcab232f1cf2fd987737b6e8c9e9471bb74c7498926df800b7f401701757b25ae22e1cb1c93ec939fc542354e1d8ba7d82e6db3858d7c98bf8db5e390a72f7a1d739277044b57ee16e93419a190901533fe5570b0eb5f82907e32b77c4e3e01e0ce9c323af74d843923bc0875f36a1be585f958eb90de1f42bae790aeb000d3111c2b6906900bad4d11267e94ea55208d87738b5c2d0d4ba081f40070bb83d9c5557de7bfeb60bdc592eddb59d1d4803c47733b3a2faac17cf75646c0552cbe853d52e364c920d2254dd3f57b317337acc6b801a74bed62d2dddd685d6d43e943296fb140d41a696dc94b026dcd5130b01c0ed4b4cb9f76099cf11487c1c0ff2ef7701c8aa43d744cb9de497a404c67da62f29d8e7bfe203523306925be999322db43016f99a6eea74eeb5637b11d3e09c69d6395ee14cdbb12ea3fae3446c2ee718f03d1c64071ef998a184a739c2d2506957a954bed200e37a9814e4207e42c29237ac2b485f002aa8bce57927c297f7c0d62a935622a62eef51e5eebd2c3517d4141f9f4796b2ae70b83ff28f73520a237bac874f327f878895ff871987d70c517dd2f76a54984b1a469a0fe2408b7b0a53439629f8d036ff478eddfffec0bedcb6e8d7f6a6677b9c6ec63b5e1d172b55c7cae2d641ffbed16450cc229ba06ea41c6cd0d31d688886560c497a73d25a5e32ee336c79ae25469dd4d8b0d22f88d66773221287f195244095830398e3a38e91ca23fdf9b055f8878daf7bb8ced0971fa8a36b7e9aaf687eee503bf7ae283692f0a68a18bd3f8ab3d10bb3ac5aa1916a9f868b12fb319a97333c32d782e2d4fedefea09a2e48ee54ac6114929dca6454031e3de4e1a2d9fb891475a43f3eb359b9a9bad639875cbd8960cc658878984487fddf7c90c755b1a4b0cd8095a49a0ae1bede1055a4a65583e0fbc749a06455f0fdda4ded90483d4f7ae0be560e820c03b8b74a5295b01ee8b75450803aefc10a3241c0fe02a7c269c53ad69a79a9fc4a7ed6602b34414fa6454819b74032398325bb911c002aecdf59666d7f427655add2a9eb455e686a3e0d7b472a9523a3ca02df05a82fdc9fc8dcb264566f34d40d338ee53aa302f6a69bbcfe1bf74b724be4b5236c7e2a7cc1a16fa2d52b4df2471781963d08f7a1673e75b087bd1ed9235769dbbe35dee032cae1b2a4114e0e1e960ac6aaac781596731374b7560e4706903872657ac5680b909605fa1b7d2ae9a04ee46067b11a8839ba53bd8405ee845a14f74febf3e7807d08e96a56814244d3e23e0655867ba96f03a572dd477d1e43422790e9e091a7271d2cf59de03aa85f45653e8b1bccb6e28dbd9b7941638077a957b5368e99c8d4754621cf25c56b231d62fdd4614430e905372c77c114206a30c0a5bd73e037271c951d66e8ec08d8e536fcf4315b5ccba032ba25b6d3d341ad480b52702ed60a436b660959086792ff3c672f205ec4d70f781af607d095ed5655794c74899eb63400d73b686c8f51929784897ddcc2dc0104d696234daf788f5a617ed8d48b9af54b40971809d7d115c70298a3ed0b08e33f673979ce8219f07163396824fa836d73cede4095a21efad59c88c4d1fc5f72c8c593f12db914996bf6bab2a82dba2d054eb27366479e285076cac1743affb92106e5521a209ba504d88473839fe7dd4769f0e84903034e98533d71bfd7ee0d24cb2ec42bf0a1cdff60e5c64d3b74decbec5776506f9c56d123f781ccfa91190b03a07c0c6cd99dedf7f0be6a5c0aa6c72da0cb7111e8aac0c4012eeb64e37581c42b537eaf8a62fb7939cb702c0d056a6a16a7e0e76a5983e098be0978070a1693cdf285f91550274e909f972478fff89b4b19780a64d14333dd73521ec7ed72ea7988800b823eb3e3324513d4b6b645a1ca6b7404d1c2468731f5a62b1967f545436ba9863b07aa5884308dbbfa054c7cc7efb2cb32eed691c1b8da18c17de485ce8ad42ac31463917e47926b85c9268710d92a460ae4e070bec753e611e87832a16fdbfb14e0bb3bd869e0507c2f8685ff11581d1f4aad266a19b59ef37716966949a3090c3fca9440d513637d8886000f537995b9b95fd07ade78828bfaa4c49b3cc6372b0d61e511ddfda1a4a23708bde6f14b346ba45c71b63f684271ae21e09e8ae3bdb82ee2fd4fd085805e9e71d15e6d14c3c81fb288e521bd0251785003753d00238e6ce918ecb7f24190c514d2f894c5a06289f3fa597c187f5478f54fc631a3fb5d94a3d0765f0017c169ee56c58943958bcbd00d825921686f3c3c71eb28e6a3a569ce83732bab691d7feef85064edab8c26ab3433ba90c64df5bc17eeb967dd9c261794842c6f85099c6c25761f0ff20cf5ff20b9d0b6709b83b2908ac1209cd71eba62782f58bcd130bfeb0157a5563ba2b4c082ac79a056e4a45214103d69f98d7f8f9190da4395817e1c962a660b2f6f2f447cf2d09caaf05375925c561e8b14bf251c13ef34b3e3834d3ef90c4ef5efae42ed5a7f74b0bd09c8a9630fd1e992d190132bef25ae5f24b902cffec9a690d687aa3e62f2aa442747e52fb7f89159f41255a16a9b7b47f26a000762e9b7fd267254e7e1eebf3eb00291aa19a9fc60a967cbcf6e562cf546ef1aeb104e6ae4debcd4993e546722e84040eb875ec9baff1c9aadd4935eda73e0eca2a08d9e41b478f743284037bd6a4e7594976e6a4ce863955c89d7cc7d30b6323ea5912e37ed11a6b014c1700d1f0dd794175506e079798a548bccdf850279503f310735c4a979d7f4eda10763da80fc3d8de0685fba54779befecad45db427ea1188e3c391834eec59090c24b2a550c10bec8bba27c503201d60a1884ab03f1c26406c9e0bf1c78ae3014558bc0aa87cb0638164e63b857eb803795decf067f3fc02580db9e447909f4ed4023738c88eaf43baae7c901b5af789fefc35c5b216d84c8aa94604fc6250abf0c1afe50e1ee5ff98dc19c3923d7a46f0f912986dd29d59710f608f9d73868bcffc7c78c7db79bd3f27f76efaf8bbcff0bdae7b6b69a06bbc52b001e78dc52a2a39a352a5bd3efe67d64492f62a901f8dc86a60792556d33628edff7b090604ad63bf04730ca34595447bf9a52d32f01bbf32aa782fcef635f7413b7b9ad5f96163c6b91627288ed6a1b904ae21f13186855e188953a17bca6381a58c153898f04d64e3e54153740ed8128da3133cd494bdeb5731dfeba2f359e8d5515982bab396d0ede840e0cf1ecb57321ad0155f0e477c5fd31678d76a3b32a3e48d85d2ec97232ab8ce42e47c342032ad67370672c2fb1d73164e572b787477579c74b1dd7598e8f9b6eada2127c809cc76a23697650e7dd8229cc1adf91efd8aecfba64a5465254f026158c3eb17d1c0116a41e6b4f472919fa6a7fd6c26c871f03b2e7eda4048da83f6c916fc3a073f850444ec603fe6677d200207feac1efdbee2dffcf134a63f23df2b0d3be9e55460682b4256fffd3ddd0c3ca04197ba3d2ed77e3382de74628cc90bb98afc67ca1c182a00fb9af1118a8b5f643186d47312b4c6540b4cc5d414a8b079b3396b068c3b72704362e4f0395ec9fcee8cbc4dfda17f320daa4c6c9a614e884486aa3b1bab906564f614db524066ffbd143ad06b4cc8b79711a1f56bde7ce9ad91d30191a428d6b5a1b7af58824833aa5ef5c6d622430973ba74eebcf003240d0a58abbc15638c36c74a5decc965e6c91109b2b8f4ba41480fb4c9609c29bf39779878beb2d7d1d50b0301d95522bd7c85b04f69efb48ae819c62cc2d353782746db7aee9bcb6072c5c95b16ba38e8a042d56b79e24b16e9759fb819a93e80ffc0806f147642bf5bffc710f0ee5cde2d2e0fc15bd99483fab39c614fba988fe8746605b9776bf720f66a253bf27798e36ff0b3dedf34d45c4c94a2684316d5714640b69103ef130754ccae13163669d2fb2ccbde27787ab9ce658a3142d35dcfdc329cdb2f1d666bf4e8ddf9a32e82de94c7a5ade4bed4597c8f78be3d42e9ea581e1606165a6c816dbec5e11f16f61e5bfd350e0df3b4f3573e96697b9cd93d5d7e2794a36da67c881c0cacb437865be0113f35bbd15b2473ee2eca6348a79591e1c8b45f42a7ddf559f3f6bd9032e4c7c792918eb51d4c2ea0b2b14ee402e4b5ac46160561d29c0d13ccdf130f15556f5c66ba146568d2612dbd94e3560d38f15fcedecb321393373bb0328325e0e398e9b3fe8933d5d252fee222161410ef9912bd0506121e3769e92764704a8888b3864725e0901d70d7add42c2e6e81e0758cf32a840a8945a4a59ce34e23e3fdeebdc7063e1fb0053374e29bff81f681a7724f72a0d6fc2f5cc7d6624085cd4e3384bc5ead935d37dd4d6202635b60c225514f8e2d034d083758d71e3cc12f559d5b995d246a726d1ae20580a7ba0b3ff68372263a629a8343b8e9bc0a6eb6b8d496b5a063f3ef12a20f475b9786b075fb1665607b105ef0ed3d14a374dd2b85d97d703221048a38a912a7f03eb07a02c048ddbbd6eae8084c180ddec675c54de61f6f2495b03719a74707eb46246a279f63486c5f19f37c1416b1c46a8c000f76d09b5279991597cd0ee1172c2350a4551d86a76032e91b4b6f40ee1907f2b145f39f87bfe34d10aad501b98744873948238bcfac5162436fd03cc59325b0671de846befa94420a2374c28664f97983a1f915d35a9263e9aebeb234afb5a35c4cafdb32d6c9d0e1407af987d48f4be7a6a32a7400da100b3e35d200b3e6c2ff865299803600dffa4f2f08b2e18aa3f68a0b589aeb57ee10b8e57ddce6354d3c8d92315801de2a417a52e05bc99569ffd44a0bff22f23942654ec82b9cf22cbf804c2c8eeb7e60a45169ca3505aaf9e8171ad78aa42c7389705806835e083c8f394c5ab55e02cda866c9fff19c77138832a403e8d82063b10d0bfa9f3316226897c3625fdd0f99bc2f7d11183598d6584944ff430893b56c418d9b6b92d6d78ab91bea8a1e366eeca8c2c74c479d28acc92202db5f7e49c2bdbd6fcad063f6b0001e60d174556bf952460177bf140983fbf25deb1e9ea21a0e25ad92794d20a936ccf0c43294695826e57fb6ca2015cba944a1b6a862196363555a91c17168b2ce745333dde4cf488efe26a8d6f1715eed47b65ef64ba02f17bd0ccaae3e878e5eab15eecc6a83ade32d5d9c694a17bdb9498c77e0dbca4c021d5594a2aa3d656f22fc86b71eba657bc983896fe44a660c10cc49a9798a0355069761a30b25e5a947c7d0d93580208e9e4c7e1185e401098f09ec590c4c52c29f8644c2d97c6784a8a12a2e299dc72a6500771cbf2a1c019d2586dd9bc7d045744ac434096e033926a7cf90ef83bf824fef4e43777a0b80f4cec4d2e03e73115700fa7e3c9d7d8b440be37e6fa9a1896393c11f2e667c0aaaf789610a8dc02da52c42bfcd436a5b02299af7ca46e901b846122406073f0a35d447dd91c2cedffffdbff136841e0c7534ee6981486b5d2028b39da4b6b708a82718304a5cb0924d71f0b4487c0b8f25232ca16fa8d228de07ff045c8a20098887fbcc39d25104a41b80e2b5291004023def8d9124c8a1d0d4ac007bdb693ac4ebf0a5885b3e18d124dd03a5acbfc3e363dd820edf0bbc0222bcc2c5d593d5ead2bfc25c9b596f7e81955b0f3774bc26778352f14e922dfba339719d0bb47cd84dd47d619e19dc766a4c237fb9c19c246801625c6b06eb8ec834bbc337591394067a9bd9bc0dfadb805c81ad51efb343c1a01e0d6d0ab3a9dab5ff379bbce709eefb4767d9e56a4087e84b6be07c876b0b29a123f37d023454d0a6e8fbe94cbe258cec88f2c2481ee9819e810d71214598dcdf2fc89d777d1d9a00e3f4e382f7a2774952a59d036928fa132326c3474cdf4727f5bc4d3295e24a7fe75405ce230481a032fa12b4fd3ed4d3b659c021c764cc0e23365711c9ae4981556f74a4149f03b5c9482fa4dd3ba3805ee00fe9d9a569a67594abef8a27cc9667b9145a287c6587571c59e98c25fe87a783c5b1c4ac21336c5b4a576da88f55255338544d54f0a80c47dbd7d32d81ecaf483f8a4a570ee1abae92da2fc5555521eb4baff1cf16f633aa2035a85555ef19f84221b09a46e91b885cf75e96e6b202b7d6ab6eaa92e71c3cb891ab7b74f844b9ee6b6be5ed4e0a5aa3bc7db5076198c655ea7a5bf9349541b536424a036a73d8c0780e3e1f43d186aea07c4a436694f89cb4c7e2cfcf174c25c7a3ea3add0fc2805f5a59f2bc7c56f83a10f6c27d8900dd9baba111914cfe20198487aa2cda7922564cd237794ba2d4b2c206f416abd792e9225e5b7c0d46af27f8ae5ff2f63351580845e7c78a0893403683444e06953043a9369d39ed33d39650d1d2106515ef199103352f9c7423751f23515e4f9d5269d74e4d57e018e070a31c583c8b5b9efa693dc132567b8bf2fa749ca6628b8c1f6ea15f2a4ff3896df1773d07db721717999d2138240be1dc19311b6855843a178446488b1378329f77b1250d628230e1c4eca1e67916a0c7b6440baf4c556e9c451134490761417c4da5eeda311701c917cbe5243bd32c4b4a5b2e189ef6b9eb0ed0eb6422a03709fbf4d09a56f67654f195c1696d2aa4a8490005c2766d0115580631cd8d48004c5ff12454e2f23090d3ad78f106254e952b0eb1619b3f087bf363e8b17d87ae16b0cae56aa72fc4b8782cab4092c1f0c986cb34b4cb1d95e48f790f5ebd0c2400415e2143e22faadd5321fd1e924836e32427333725bd16bfd8124c925eaa62000b5a4254edfb1e069c0c0eac6f21f99b8997cbbeddbaa3c7dbcb620a1e483b1aac580248df3461e7fe34e3ea8e1743150e0eef44c331f15a37fbfd2d7cde7a5b997c68df6b8009da9f2d9f657967e9cadccd6ce70b4df3f2af82c046dfc926f6e588c335f5a7b323003591b257df1d60c220109f20116567a5a5a70600ddd0e49393dd0d071027806add30b1051dd24449fc3f91fa6f20447af7d0a3ce84bdfa6dc46654315bcf441850348f488eb5d54873eae16bebd24a77443d8a91215f5cf44f08d21921e7b50f27541f277c746d0bc1c1ff6c67bf650be519cfa393a22d095b0cfd1765f0b15de21dfa138c234e987a3af19a7a72de3a0256083af5143b1cd0e3965e05a3a0dc5483ffb2bc3c13477fd68c65519ef48b9d59e7794fb8fdbde9623e44d07b1ae56d1a22d09d58641b19949b348d1b002a4e968f5853b0d30760a5a47956bc4a1c7b8db8a8ce4cf35682618b2657d7f3d56739dc4be96a148aa90e81080677550e9e8a4328590451680c2c1a2806bbb8f3aa8c5e5861fe8306425fcb5517cf9ab74cadf3788e4c086b0ae895414dac21f5c82d13fd4c213b4d649e779c8378db85441000ac6e49a8d4db6e09446b5ace7f250ba5f573339edc3610e469c091c9db8ef7c929849e197833e280aec79c65f776014a62ca917818d3ce75624fa54b1e1cbb46d6620fa1dcfa734d0f2250a232f7a37715dacc46df0e8220f722432ac91a216ce22e06a941cd3aa510ac69c4cd3484f0f6449deb9090dff8049f89cd0450e5344699345e5d97bf3c9c076d1d73d4c2f010853ebfdc337924758ae7c5831384047cce99f04340d793bd24862ad44bda24cfe8f7f40b6a9ad603b94b46fad485804bb51d242c9ebf982996d0c2504ce364fb9dcaea789b45aea4210eeebe80a66d681ba6339e995a2423f243df9ff31305b6a4dcd2f83ce3bac784b1b97cab16259b09e222a6b745e3f3ceb8db4465f0522bac12aeae44e7a0c17c8c78ff990baf969d991d21e2628d9632f58de5def298a2719554974c628a3beeaae0ff54762f067c81c6996d443a99aca661742c7d4bf6a373ffd7ff92ca04bf9e9b9bd405590c46b751a66decd00654f0316e26103bc50a0b676e5d1c021646539274dc46fb4215af8cc8e3f6a4daf6325a957d880982b4e4e4f4e5d4f139075e46292c76ba03f2a118188ae9302084c68313dbcd6ad65ca1fd6ed97837daaa6dabc01ca8eadc865a01b342b248fca64b40ce359a822ea7c5f8c48f04aea762cc91f6a6f0fcbe996de326985367fa4ebe81a0ca8f5a41728dec2d2ee75a92bdc4a39e0c8b2d8fb91ecd7a6e9f00712df76d9a9c00ef07e09b6819bb39dfd79225773ef7d0a485ee46424310928b9e390c55292b4cd8f692339631033853b82caaa2181eb64b69d490d6487647414c6c2dd4dbefcd47695920cd947a9570a1f92d2bb9acc3180028154c6be95d966a9153108138a1c78778ba96c144832876b61df888341e7c9d7ba646f7aede7d2fc1009bf8efb7cce5ecffc3d460c7d2b362a143702e084b74608df9947d63c55830daaeca50decbd24bdf32d44f25c6d4e870c6c9d5d618ffbc4c370ab3511a603cf1f14c2b034c578c3a6b0bda6f637e952bebd643d5179019ed255c244557e188e19d0f96ab769221c0ccd96cea14d1ad26ac043745a94b142c0085929e20f666013626e3a6c0222740fed41050ddc4d0c3a3b92a59e5bf9bd6b7d167e98d12233fe9a888106ff94ab7a3abbfce5aebdfbc9d30fd08db9cd5dab559ad51c0e331a9ff71ccceead390c27676ec8afaf75d709132f5f7e8461e019066ea7ce62b78e9926c58bd4c1029bf80eeb0e28741c69b1019c7a370d4e49f36edfab49a79a45de3869effaef4b6c4f72b0e4dab9eaba420ff10e4a7aee3c76980eb9316636c04c84d34810365caa4a6b2f1c6a7247db55f066f2c302b5f64f283a7b4678332214766ce85b0b92259247353a4ad18471f3691d1bb0425f911f1829dd86c4c6aa094b5861fd72050ad20196281946ffa58b6e39ad7b2a352ac9e9eab5b4f8e833e9d187ecf9cfcbad3bdde71cc2fcb88253591818841f263b3ad4f71688eed1cc988ee9701d053aad508fac17341c50b1cbc8fc659fce9b1d9b06cc2419558cd1bb7a1358cb5d476a15c7a1d1ace6739fab8b4889907cfc8dc856426dc64b77ff831c0107310e8f4ff4d700ab1b96f7610fd34f5fae999a81ef963ced2be69be68281edde443619f37b215691cca226db5105fd1902da4957245f1bd68c17c66288c5ef0b02d06a0813aa0d830d42121d97b71791311f92ca03089a1f9c15695cf12303e554bc042773c56b4c52e38f780fa49b7d5fb6281645dee6f8df4cf556becf92cb23c6f6de15f340b90e8118710d1f7266b93c5a3c165b03f6ab3389c686612e228cab85f359715b4f9e303481f1b1a9eef1bbd4420e8dfc3f498969b365725c51c923e4314f6c328af152e6a158d84c5663418c295c66d8b2394fb6c9af0dc1638cd73fc6930079862eef0903113ad3b8b3790e0a8aa939c3c3625eebee541ac7bae37179aa8a2b8bc4d0bbda98c44b7fe9d626d7feebe5dbf8a1dea855e2457b81e8085a4c63abab47f08f0e23d7472c9d3f9485a32269fb8615ccd32a5201588690f169f513e894fd346ea7471eba2a13f629f7cc00efaf051bd14498a84ed6424dec6fb3838fdce2433bcf78c641c95ed3313baa64069562c9e48cf14cbfca57cd4d002c181b15070d79683a3d05e741049395b7d6fdc4914ee94409d54f1ec51111af92471b734c47780fe0085d3cd0b5cea44d057476468646546400646e350506a094b0732722270efe7a36f4f1837bf4c369ee6d7b61326fc5d113c6cb408757a2e10e96df525569944f1c8829410131b114fabbacaf9c65cda4a6544254900fcc1c72ebc46984dc67feba456b87d8d3cc975c493b2f1cef64cf600be15279545323c906bd88e3cf52c645c70ca2f876bf0f07c7191677322d4c5b1cfcb166af77d145888f6c5def67328c546ac6b1d5fd6b519d01a32777539b928bb2876733a4e3f7d30d49d3890efe0a33fc65db5ec148f686a41558731811dd09d4072c920e4b3b88228dc13a43d899db0b77bdc36ba450339cd463727a9a5f5818433cc801a8dcd1050878f5b9b43ea498b91265e54688ff8efe9c7237b81e50a40911583dd2f0a760bcfd8950bb57390143e9bde10f96a3ac936fc4561a254459827df261bc719d57233758ac876c3544089da86e46ddeea1fb9802af2a071c5b4e68ceb9ac86b7ef70c1e268037baa0ab06f3a1748e3e965d8353a77f241c3fe1395d0e6a55a30ee7a7109bd34196a34331830b3ca56b920f6b6159ba948895066f07a51415cc44b5faaef18b411fe3af36911b5331a4643ea6e1b4d708b02f364264fa8398aab0dc2e4e1545657a53f9b118f2936f033ec195229206587e18b731fc033a03e9bbe45b846fc759078e2600a4683d4bfc5b53a96e72e696727547e670658508b4738cb824669b5599f48d8ec620350afeaa35bb7097a19a5b900f37cd50489ad8e09b2fb51e5110c1a5d4227fb2ed62ccf9d7799114d4ce606e8b34d7f046cd499a81b7fa1a23dd9142de851fbf1691cd974cf0bcc45b584ec1567f654367fb38d7c4887a8e38a63857e74bda8e13994e7bf50cc17baa18ed4693c1a1030abf3019a9c820443a47750d4f1cbe4617303fc9e24bbe2d1324d256acfbcdd674e15c8f20033c8e86548520be24cbf7208843dcb01330f279bb80b280db688852e4fd3b0e88b9c15020765aa453f89dcaf539b8d865b90aa24e0016444f2c6050320110304d28a0ef25506fffe493ef7767c930631b56e309bef6d04a5c762a5d4204b0f0f09e6911d5afa6a16449b81416991a8bbc501f89737851e68c081bdd5a60292c4bd01c3ab9836a9c0351b028111fdeeb4802a87c795f375c65fbc3a1125628ffa2fe50a23bcdd937c9e3c2b37807d8fcdd9ab96af72476aff44f7fc32e47e637fa54e4ca59809581e45a221b24a9611fe8731638879207e09bd0f2560c9dbe31336db059484dd0ce8e11aa4050ab841dd44c8d1decbb285421b1c438e607b6e20997937feb87019ea0381f6cbdebd6864aca98aa6accd4a9b458cf824b9cab0f9851bbb43a98c5569e06826e22f2957d74aa7da77ffa092ee5380d0d83fa54c275b30b42f6f8052b08de0492d4c22afe2f0ac0ac34bb11330cf20d4a18d1153c30a15169fc6fbac8be84d6de0f178be5c839e2a5bc4d4a7f6cccf452fcdb85392852f0e60952676dcf1e0c2629d44f18cf3ca5803fe5fd7bf77b4447d3b318aa1217471925d4ac5828559f2b6e21cc844caee2e5806c27688fc5b4552a7cc4bad1c7c3237a2c7063862a767f18ad8e188a063c6957e2dbead54e798f84e50cd99f2b0f9eb8417358c894248d12d2c62f3d6cd2fe329d3b12055f799587b8d5d94d01ad38b23668b2f5f929b6fbf414ca1f9667457c94fc75f584b193a4a3223796b34231c183ca925090c76323a3f3d5066209dd453d725d193189c7ddd9a00cd9322417b89dc28ba1691266430ede363118dfdb4ef4f72de371abe1758627f6b64647853dc521d18d7f7d63aa48c2d9ab18db9d518df25dc99e82978695d10e92d2ef12e5866436bd2f5f972ac7a779161dab522be125350eb13f56e4011e8d416ab8c6f3fc6861a84917daeb511e6c11e88a8338ec11cc270e055a54325ef822a675119cb0abf1f6d9d7625a2abbb0cd077a5484a8aeb1f8baa84c26549cc1da8228773fd1401b7d9109f66313969d836ca3b998d018f8eb82ae020118192b691d9185bc6aa8b370f1959ef52d9d0036f836b0dd750f951d9e51c1aeb5d187273d8b0d11b62f1c3e2e6e9cbee2da8e7b24365dddc63647bb9927e498dbef32a2b5c265ed2ac5715423720aa579de8ea8420d109c7931a8c4375588beebc8c0c18f048a8a00a92ad0dddc0d1a3ced24e96aa55d699f03427dd75694b651cfda9f610cb16c4d6a0ddb0c14e0afeac0169efae0997725d373e29533602953e8bae3fd4e58d47de233c1279a6724040d1abc1ff47ae83679a6a4e61b9732101bdf303bc5c3b72e38d71911cbde8926c4cf0916ffeb3ee02b3826056ff15ade17a3d611ce6bfb025b73c86dc26b2a0030358f66e4df084b559bf0c2e9b13b39e2dda30e8abca6118817c66cbb18b7016972f60081621e347c87a4244927f07084452703c4a562252603c00ea90b6a688a324e051ea5340ac3927316d6bea669f9e8c498676206ad3d62ac30fd985eb9100219ddec9d18698161b7c45e6c7568f0b42a8b6f7805486970a90635ada06fe5233c53378ee14521267db7e0006be0b82d5a1d8908178e021c0e43a4b6c28b9a76e3533cb12bb2802f71ecc17fe309c0d6cd21f40f38d0b9140e343bcfb79519b7db8803ff26cef7f644321bf3293c11aac546606d05a92694185a621ba96a99be67a4db0244da46db0043b94b6c64016c0c722a8dbdd8b413786b8fa0ad396bc4f7ba37efa81d7cc101b516cf3c969e9bb7848202a3357174cc8977bd1b9aa7175a8b63b4798f47f607e679c771f9926eece5a07b30e4c66fc40743dda837a36fc4ac3c6080b972e2e90a0f7bc5fb9e20b5bbfac96e391425d50202e695714a6bf2c74152c135b06f48c2ed08e977f740f444f3f5f5eedfeec9c29978d71ee2e4188896ed6849e2481c72269512eff67ec70cfccf7a33858c8c261a5f0cdd0ef0a8cc578102b61430cb51c001f443bfe243f7523cf676d544b80b63989442e34bf978f3ec280662e2e4a8a41acc5fcc4c22ae28607f9380990ad4483089ba664840eb9a3cf03339939c609478bfac16a7f5ab8a2464961e54d197bd18e61dc0965273089932e826d09f539a8c94131669dd51542174c22bddb40d468c19b98c3d46c9e64f97ee0e348e482949e0eb629b02af4c9ec54afae4ca215d3856d71c7011d83bd5d8c94f60f6e9b0a48c77a55d9c8d24926adec8e12a2b312ae6bbfea87bf18a0089f82111b27c77140c6c4454836885c618068c7b303c67a2c9ccea4f5442dca05378eba5a61310a6f27700ab83e0ea42e8792d1757502c642c4f7e8d5d9ae761d7087258613ae1b490c3c0360082f3d3b71afaa55deaa52e756dcd352c429ef666f69dc2007fba66d68698911e858af5f5ac4f5b4ea46b660e3db64d277e43903edc54e25500ddf2fc3288967ab66616995c9f754b0ed66d79d6da083ee2d14912b65f1e8d2af63a64763ee9951bd25e571d984d04714698372aa3e0b40d6e224b811cbc44864ccdc57dc111373cdf7eb850b036b17e139123c2142ccc40ffbf412394b0fa1266d15c778a074d254373311494ea99dd70a082984030972ce482d1ed86002de44ed9c6a767c72124b9275bb11ecd134d03d71a9d5164e9e83fe0590b246c781c80e16acc126405ca9df5917241224621f799f851114c6615a1ab4701c8cc8e7075f82bee696025d59cb52d48bebd8b763d414a0b628516305d2f1e0f83314759311771dbf069b5bf3b6f677aae6c2d1707f027f083d85fa17f2815b63019c7b938f980916751f1bac2f3b584943203cd45881e1e23c17776af7f530eb503bdf0d5dd660cb9397f6d1f44109ad5ea47edb297bdade62df66a043ef9dab2dac18de2136a6d5241e5dcea0beaa638b9c846dea1e6855abe22d0c760bffedff4dae6620d128f2b9a84e32219a1563f9a1817834c46a80e66755681c8e37646998c1d0c27e381ac3f1e6625716813fbd08658b8976a18bfeb852776d0ee441014c94854d97755d46dc722636ade5df961c226433633291eac0ff63ad6e54a2aa512a1672e6ff55a1677ce7cca5df7815f8b0c0aa676aa2c5a943203b1dd2bf2d0883debbc14a0c79650b9c0a17eb8004a7e8468140cf0a310a33ae7e5542168e88ec037c0a2fbc2a9dea0411e0e1132811bf845d166650311d11fe779112661f5798eec797c19c245d9a3a0e4fcd2b91f4dae870072e9a0bebd4ffa71d3e68fcbd501bdb29c04d6c15de0462fb0f1ab086b242f8bfb2dbddf4e0ded826d164926504fb3dbcee3f15224d7e3349ca1ab082867991d06b934149db95bf9d03a51d47ee8270957a433d03485197d5558a04efb8f20cb9146609587de5b303ed6c911dd3fe59aa8d833dc5e83060d7d33259656d7919e83665334dbbbe96c96e9a0ef410bc054e209e271e3e4e08bde4739944f4d8008abdda15d8f816c695c29cc42ba4729939fd00037b9b290bb4c4453162a1296657fec8a017de3e94948d40530522826d87079972cb791692b44059a54b204bdc33921546f7456dc9bd956b96cc66649814fd680bc3c3921642c6fe4b1e7845ae0dda0e3c15e12d6e9563c2ed8c4437d44120ee740dac889b2f57d3489f61b6570dd7e6d7b819b69bd314f64aa068ec8d9a3249fcc05312558d665de91d722e062e400261013c3f483db5624b48b22d70f0500d67bd3d8fea474dcab3f1a4974759dfa351b4ebc38e27306a0be9b78196f2fe2bcdd35242ccc21eda8b55d14fe5db2feb65db4ad5ca30a69bb943502714080b6cbd942a27dafb06b1e6383ca43abce2cb4ed72d0a671c25f638dc0d77783dd8d3f78970ddc7ae16afbeafbc48bbcfa2b4d7dd5e79eb128df311ac251e1b0d8ff4717a45df2b3553dd960f82eb883205b4878735b505612a06497457cf4252cb61571d3beb0d045ec9ae8f5bf1a563b5badc6a6bb3ef67bc5387de0404ca3efbf0c63cd84bb10a0518004561dfc02726a37c240242137322794ef3794ed6690cff7d98400b3e93813f0f7a001a56b8ac6bb50d18807e00bd390228c1f71d2f1a42739382a8c6676ac68f10b3022e2d23e61b6626d940cf0f40b7ea0ba919e043f75fb54740c75390ea4aa8b312fca7bd30e067546b7d310d0bd6417e92d2607b3d36b35d2bfe124679f21f191385f3b192ceb2eb011c6ce52548ee1b407631de2b9a8882cf082af3efa6611470ddbff153195aafff04136813049164ea5c65d3232ae533f2c49e01ea80154ef5a6ed8645874c7edd3bf111f9d0439eccc8f85ccc9b2668f3cf8494dbb7fd9e57b0db2e66bbeb81e4cb446a0e8ac826cbe0ef38c62c5454b75031871dc9177f1d30607b041bb54bc80b4b862ae5afb74b998cc91918a5f9ab90a0dba652f10d4d67fd8a9a299a9c8fe19d51e68382019c77b4aaa6faecb9bb868b9c664ded4b0fec2d2edfd9478b180ef6b9e13f7827d5544e04c33d416e383965c1fcde8b686fad990303350c5b136d42c3b2353a5b5fcf4079d36a910ffd4d9da2aa49dcca190d3717c2b6941ee1a71802c793b6a22d180685d015193b7dd081f84094c276aa96edc123941e0b964813a15f028d3ab171bc56d8f3ba254bb428916f1e843db8e8047f454cb51fbeced8bae670c82e0728bd17467a211b0ff528a719ff719d1a0d1416fe6b95e6633d244442f4264a27a7fb9ccd831e64453214d5b609a7f53fb28529de005d05581b31d6d8925eb830372a8c89ed007bea79163801810b83c103b17a0b4f388b2b5e0dede3672e0a227def2c1bfe2e987e0c856a2cf047549f1133e93c0a5af94c5f5b36a1b1d080eda22cc231df9c3e499175a04251b913cea38db985a7ee7174dbbcbdaf848516b818b76ac7ab8af9d2dc8116930915776dc580c94cbbdce499e6a4778b9a47ed11beda10245327c5abe1b6ace5782564a31e8a910de99657b9085a1e4563fa1fd9b373e019f4cc96bf691cd14562270e6ec1800b432f49ed3ff3cc3cd81aeef0f2556df2acfe21f4ece04adf64aa0d0f4f7b7af916a22f8f1480d92312e2570db769a70772d44e6cceffdf0075b9efaa7d8a0a57e92c260142456fe665db1bcbdea777c135d3f8d2c7be9996f4aa5e32721bd7bcf20c4a58540156410ba99e92195019c1efc990b2dc3419838ef19201127f3c78eea8a360cb4b57a01f2153991e4d7f75e30cd242bfe21cfbac3a1be4fdc44f9e06707a5399c9d964915e98e75883321c3e080177e74739daac5bbb5f8648f664f3f0546693c83eb7efd3588facbf295ca12fffacad023da5e4de733b8f1837bfef6d91d4c9cc376f188cb654ce7cc7d7e61fd594e32e3ca9589dded366cd3e3d9f7e43aef7bfabc5c79e86c6854bf87b5e3682717796fb78863b4392dd3c0a7bf584dc946ea44ebf71031a124ae9a3eabb29d5e1300a6f559a31f9d3acfe05dbea7dcbe13b84e77f5e3c99dce319b0790ef58d1e55e689e81a448d31e2919d206c2676ff58ebf9e825a1c200236748df377fb2190ca314c04196aa7532e04a11ac75def64e024c201217370f6a1449507c6f56058a7a7e48f617dd9da3f79df3f9c731005fecb1762b0a61d2507e059c0a3ead13cb60109334572774601e08f662c25a52036a94d0701f597bff8599f34daa273c4f8cc39d63923b6e309e32a6854f1324c46a11fff21a8c815942890f9cd28d8f1951c8e11cb90080c67afb4b6a9f64e0fd4a48df8bdea63c4b1c1ab5c6c23d5a1126ba0781584abe851755ef15370c11c3280454408b3010b1ee23cafc1e09408afc53e1e3e9752ec90743a92dacfb1230fbfcd8c462035b953260dd041ffb50a578b06489f73d2d23951e61cb8e84d1550fcacfee6a77392245d9060109f4b28e788d511132ab1d5fbb07150fae35079ff9aa79ee4df78842b1a5e6b24cac8fd2a5b4e2f76ca289ec08c5f3192c57639dffcc05ab9df194a55f10916e7974b700919890f42fec40cb6c48c99103d9b5949385dc84106f5768493bcd7d8c4adc707d6458938578ffe2c49f50ff236dff0bfa58e61a07f2206717a4f53ac2be81d5474b7deca2f08a85722b750e768843010d099ce3c0230608e5a30391471d9d6fa47bf6aa49517c921d54975939cecd39cd34cb01ec0fecce56d879f3ff4122a7993decb0082c00e07e72879dcdfbb8e4f25a2b4686880759cc37580ef4dbc8803d1ae5eea65a300132736b21b3ad54807d5bade5f8d48a63252c7b9afbf2102a8b9f7ff85d1d118a5c26a84cc0826c330fb86c32e446885076b23b0b2ac2a03466b48c51911bfd1a6a1ac1d59c8c6b5de6624c698d4b7fee12fd4751396d9466ecd68a3f851a8da7bc98805a8686f3c025ccf7094bfe25dc309eeda9a3097dea9725aee65adecd8dc6e4f598b61b2c32a4ba6f44ee58f102e73e29c3b988acc17cfd72118c397171edd850612f4038d8f586847aba6f1593beb15c042c5c37081f16820d840b6703121173711309a05fddeb34c13d41d4e6556456c8a1f7a88444cc30e72d73fb1eefbef7d76c5aa61d8d24c6d4cf34e696563443e1aaf8c8de28d4221e84ecbd052a26152fa5ab8b053b87082a95dd6b78731e0ee190d88a570355ee789f1adc91589bab2b0b455b064c4fe904582846b6c4dbea650b643468b146ed94dd677447bc24e47c163e7cd1f8d4bdb224f92375986b5423a46380092d5b8006434afe125582fc0ff659f6591ab5d273c5f68ed787c8be9a7d6eb448610654270767960aaba4a42eca1e3cbee16f8b8afd67011efaaa0e3cfe5034a61e7dd5efeed2ed5bdbcfeb100f6bdf600b75f90bd20d5a7595462d9073d1ad213fed850ee4d49f8a7b19351a5715729fb4404bce8033a1dffa35c308cca4a07759b3613cef581b5ab0a0e8f3b3ce0cde051a95742d98e85b475cdb847335d1c0dbd1e041c868270e9b0df29ff2a1ae6e66b71fc5a3137b9980c8a1bae719a4d7f1e87a8ec83adeb0c4d8bc82684ecbdb7dc524a99a40cc309cf0a430a93f30905c598c718fbebe5e1ebe5404d72fe72d9ebe53f3debdacba504f0f37a9eb3490b5f44194d16126392b09a72a90f5fcafeca78a13abb4e5055b4e411eb46a13fe750437199617c8b65d1f46cd25c9e5d1e967997c79a6cbdcb819abcee7299cbe53fae11a6fced42c4cb91192f24e020fb7b31b8d166d0cb34e8be94f137c987eb62143a029118944a06add56ab5235a49e3afcfeb421b7c308768d57be37d1aafd313e1148205e4d4646bbc51e855931fd6ad52245fbd6b52bcf7d5fba88954efd99caad56a22d0ae53f59e6c75360211ac2491c49624aa27b41ebe3a9d0ae2ab532a4b9d38af7e03478e1d2e7c751e4dbabe7a0f1f47452504a9f20307a81c967ca1d12526f2dba81448d6b330a8ce3c60a5851dda5031320115adba50939487af4e0444d557dfa0c94f024d4a50850720a238b142db218b10f06b0a56f89b02db5f21fefa8e097ffda7c929f5d70a1546fc75a0267fe69c811ff4d97f9dda44f19ff8dfd7542f93cd29ea69ca56f594deda1d6b6d6878cf87f7bcf2ba779dbc1cf57988cf799294cd773ea750f25c009ee3ee53936d73eea9654e79bc515a46e9ad56fbf28ef769bc4e7f9dee93c5c262a3c4cbb0aa9a8ab23d51675ac24918091fe15ad653bf615955e5bf53f4520ea29edadc625dcaa1b94fb7d1de5a26a316eb3a61d95b93f33a3deda5ef80084b6b7b7a63f5dcad16f58c8056aead28f11941b1d5678f1d69d8b469d3b64d2db5963a16ed477fea846a182dc3340853eaa3fe3c0c1918d378eab7063950a883c657bc83c75a633f5f863b425feb15faeb9f0621c7018eb5cc5aa0dc32ab03e8ab7317c7d3baf3228f7bbdadfdf94bd457a879c45a46961bbc256dad3537e950df9fb5d68296b4955a4b29a596524aad632fadb5d65a6b398ee338ccc3fea594526befa594da7bafb5f7d290f14d6950adb5565a6badd4cb5a6b4969537ab184ed55c7846a6badb5d65a6badb5d65a6bada5947ab6d6da12c677db78eb372aac95da3a29a594524ae91da90bbdadeee4db6ddb5bf6d76aad13b5f57c5db8d53f843be0dbaee4f1b4523a86f787b00cc710110090a8f974e4dbad0d0f2618a13965411e62cf73661d8f58567d6535c7be6a593716c5b26aabb6c2bac2b28aaa2f6208efd125a167545b4559a1e14a8097e81350cbaacf18b5ceac57efa71e5b65ab64f7de1096b5eaa15a56a35a566d334665aa2f2a04ecb7adbab6fa8289adc2b7da6a4a1b65a3b2bedd4a4d6ba9be1d4a19fe457a9f6ece7cbaceadf53bfac86edd07e7d88b68730ca9b7d2d25053da4b4949adb4d4251d7ba99366522f350d6155eaa5a45b138fb078f3a1593ed43a08d8ad73a3959dc2aab251788ed63663740fb4492f0c611dcbea54825fc2a42f3ba9d6aed445a223b8455db989957b48b9caa1a3cdb4512bd2270294867d7eb5942ac71ce954cba88d42ddf25e3a556d555dbb76edaa29d2294a45a7e854ed399d4e4d3ad539531b3b33d3a93ae340aeed94fe08a76c3628aa266a958d7c13e86b102c007bb77f5469c648a249e10f8b4903c7ab7754c252484ae87d6504a39f577ed8c69f574638d2fe35fd16222cc318bd212c67d5fc5a41af3b40311477622dab3558e078f50feaecc6eb8d7f8e3352c00755c28906bb117d66cb727d516f7886b513574d372a50ad8320e8ad562b531ab683af2e7ab9c0ce41d1f34fa44bf5c51d699295c0b593d311a333e8d7b2cd22bc8ca0d4efeb9c3568af7f08c3b0f2a82f9616046fd11558cba27f8aa75b3aa95b11974033a04eed1c3fc07dabfbba1a993a69258579a4210df314299419838639d3a619a39dde10d61ae96ba35a1fa1600f6199c11e5e0663f9a8c9922e75b714a96fefeeee1bc232cb3eb0c99637094e7a54a34b60cba80d566098393187931e1d2525293549c510011b0789cfaea8b1c3035ce155d401be8ecf560d1d276a1f2debdb636210b6f04ac2c8d0cba0153b5e0abd8e97347e4ea81935a5a6a8fec53867c868064ddef8f46931491c2e162483662054ca90611834680633068fdf9e90c7abc8c3127553d8e3c84793d71ba9520e660c1b3a72743884e58cea518177c9c2dba90ea7627597088ae58e0773f7c2adb2680178bcee6ab5c672070ed06ff7aaf4f57abd3c8f948503e8b7f04a1f64e13cecb768d142f4aaa3e52e2a8b0a64b985dfeb1664d9d7aae16207f5eab9e500995be0d76d00fc8ee50baf630e0764a7d841a7d8e52dc7f5e5d38dadea7216ce800bfcd5ba007b6b04bf88d4b108827e1d43808e3e2fa7def279b9cb6f877d5e2e778de50e978fad0b40eaa2cf16042ef0d71882057e9d87bd60ac16380bc7ad06b4e8c0825100238ffa320fc0687be4513f3b203b403696f433c57efdbb22bef4ba68cbb1df4cbdd2966b2c2bbd74479374748173ec8812d24ee3c22576ab860bff40ff2e106b165f7e81e84f5d5ec5ce1788f47bd4595b905d388b71b63a70e1ad0e5c8c65d157d71543a80d6881dd85abbbfed3b9dcc5bd9dbbc02dbcd5f2da59e02eb1741c7fef056276b9fc7541062f185d2faef7708d2f175704805b70bd4711e016deaade02451efd2dc7f5e55774397e891db8c6ce89aa8b123b9077adcbc271ab3a0b17e2fcd6e8c2ab0bb1850389e507cfc2012096389e858f62b9e359788e2675b46a88a38cd07db63c287a1f7958daa285d3568d16158816c0ca0abfc558d26fe1d559f8c742bc9126a45f81b76841c5f0e9b7f08195a3ce6cd417372cc0c2bf560d16ddaae1638ab09c511fd87ef080833934ff89726b7e3da28f1a3c63ad499fb1a4ff53ddfa388f7f3e22adf58022f4f17266f96859bb8f13f5cb29f596f81a5bfe231afdb810a7fd8c506aabba5a355aad76b53aa823e8b2d5479c3fffd5aac1e3b3859da879bce79b679411d69ed1a701d8be1d7944fbadd6027c88616bc5d8e316d2203a8348069d718366204467d840c01c2a678cce415d4e3dc776ada02fbbf4f1ae3184ead9894ef814bebd5524a4c88d12829473680433467b7b0e3ac307cda09dc8b7e316e1db6ff7b8ffa20e6bd570798f265f63d9742cab770e6b2da03a08cecec7674f34f24628d6c35607f6331d43b05e6f8d7b6d5dc02b5f0b62e8a44efa2aed8ab47b05ea13e8c6e6f409845fadb5d6f1723ea7d392ba37ee68590f3a522c1e2d6bab4977f4c8d9cbc9a347bd620802fbdc58adac40e4e7959f5654a8f21fbdbed3641ebb8634d2996544a363e9f2af13c5ae73a2068d8404d1c09b5b61d12b5a807650a448d002b453abd22b68ada890c3ebd56437b6469fea18dc683e30b8d15a0e7a49979a469d268d73dc718de1fc32ccf5850ea1d7d98ef9c2ca1fea66f4b29f504e50817222cd4f2b293cc5f809d5c4d253ab394466fe748e6b0614fde7f59b504d247de79ed3a29f3cea77232d8166c03951cd376c9283aaab588f1d51be9d479b1b42dab5ab26b1d33493ee68d9954543ad6c08cb79dbe1403cd0f4541779f59503d7d9e7973b3d07de51564448e15bb46851abfd388e32426b24c3b360c1224d952f5335dacfcfcf14bfe3b6c99fdfd9e92646500061abd156ac581184c8e7e40411f339dfc287a517452063dec7c7e7822bb6777fe27b7a7ac8d4be820aacfc80e179787874c23bf5f59613c42b298b8e755ae27574747272726e44a865799eaca3c3337b7ac49288112430d1e064071d96e8c992e39f4e8e8e4e4f8f951a94e7e1e1d1e1f95838a24787c773fce3c9e1e1e9e9a92205af13f43a3a393944f279c7b3ff6497e59c8950f319e773760fb283d0a48e67bf81238797a6cff9c773e6f19c91aca16a32930217aa90a065253e7b99e2b3fdccc2b3d3a61ecfb948841f371b806859a204185a3ef3d9e914139f9d52b5f0ec144c769a9d62e5ec5d2be133f8b902cf798567efa4ec505556ac54504115efe3e3d3a2c52823cc52a0a697129e8787a7b7d88878f23a5c5688b121c8995a3844edeff53cc4107f1dbc55c854be4b43509150458512d8b46902eb7609a97cf81c047c4e4eced199390bc08721d4f040e64a146892f852c693424e4e8e9796a929878787aac9ebe8e8e48c257d1da729fccdf1abe3d93f1dd13a59261d1ddb85cde7e4e434c562574c38c1c7601fcbf1582c16f3369f33f43939f7ded845aa335bd3b949b2855192e5ea88218020c1c57278461ed1d674747472726ef818f9b158179b4a467278ae1469fa582c968d30181d1ee738f61f1dc72e0b12223a023e761b4df238760f4068b2c7b1dfc0813d4793e163df3166c963e7d1a3491fc7ee033b35a24748494b503cc64d516c51740a85c7388f7f1c3b05839d62d11bee1e5b2993f4b8f59885636f22d8fb4827619f649e7ccc6dcc0a99351fabe063b1d8b36061f5e373b66265c4e7f0e7c7ca18a75fb162c5ceced25fb761d6fc2dc28a182e5651b42086090c96efc9f2998787c70a98a3d7d1d1a95750e0e42aa946cbc9c9c1517566996a14c61f6851a30687323560d1010b3e027b181b799c9d382e3af6c8881ebe1c0980952f3bfc05c2712c26ce96f128e08a0eb51c9074e8a203adf4ab2f653958b19cc322a41e17c1e6b1c7b0effc38509341b2ac034912497e544141103198c1b39613f5377bccbf1ccbd92fd59d9a43f8a9e7e4542d3d768bad54653d76d0e674200b882745aea8882c51c663c13a9509cb2bf5d4d6329a800b45557254397b617aec1663ece5f638e831666a52676ceacc4c7de7b126bfefbcf31f2059d775576bbeebdc46e71e740e4293d83bbfd1398ece7374bea387efba1cef3aefd1a48e77eea3f323847cce8ccfc99931afdacc9721ae9c1e7b6c6776fba1a91683522688682b73250565c6c9e79c512546329479aad172ce5d75aa335bcb4e4e5c60820952d2102c2868a593f95276637eb10f5374f9bbddbd19df58f6018824595e380ab2c60a36430d2998e049172842c67419aa4aac9b6145682832478f67467af25ccc39ff01920509115db979ce6d3499e39c7b00c20dce71e4d871e439e7d1a4b7c239f7a17384c475cfa5e0c473de734e999a6ce271cee9932d5cf29cce734e39a760e815c5a237ae76f51ccf733ece7913e1bc8f74920a27f8ae0b97f8ae5ba1071200df753e3e3e6b3e4b7dcef98895cf5c3eabc0c267ff69327fce3d3d3da38c304c41c9f3f0f0ececa050f53a6e9ba4f13a3afe2b5620dd900114d255105027d850058502090798e5e4e418497aec166307c3324e1e7b6cc70898c7fe83712c16e36a12a679e84ac89221905e58a28898560725abdeee0db3e78931c6dc168cbbce0426b83b76373c8edc10a48715861cb11486c322e4c4bab1bca33d32aa4c6e48a3f9da8a503dc74199f0e4b9a8108479867928e5613098ffc01c48068339910f0ff30d9a8c3d0c06731b4d760e730f603ea19e73cb711c6795d0e1ef96254c7821723184d3ea6badce6c8db290e5098810139871010b0c94122c58f041c1b35382c168d79d797a6ceb30ee5a8cc08419345da66220e20bc6643ad8910b857544979a110e8e87443c0ecee3e0b80c070767aae9de1986c069ab3ab335ce0acfb0a866831456125dc2d478a0956ec497322f309815246a8f791ee3a34e8830450cc15aa2e1871768a517f1a5ec6258ed8f6a35a36bdb89c78ff111be918254114e9e94808818aa3a266ceda8667494b939ed1163c22307045102d4114b9e585ac24bcb85a57bd4b2da353ab27284148e5ba67eea3a713a5184931f351792f03086882f4319489c306e5a79bd73c24596683873985e8cbb6eb46ca678ce0ac6ae2a3834ed22cb1c0c07479c559476c021aa8b95140f4394325eea2fc75561e3e4615488279e1ca5692275a504d50df7c13a18458193e2072f6a94fca552830222b2a28858a3e42fd49a323e58a726611bd081c904226c519325aa4be9321c98d55fa7bbc503d255a4f8f1b02b0f8331e500c3530d462c70814d61999858f028c03c6799e6104da8948010e9a1aa69cbc7711c375bc6c484abdcc2b80002a6ca1362c4544101151a7d548213b092a83933031621e8d4a7e44287d34738467752799ae78ee8c492c5256a842a189810d1f2b170eb70ae9520a6f8d48c6eb01103267cc8228309416a41d0a8105feedc58d5f05c01604de0e088968952188c8a112ee038215428b1253919726b810b82bbe1ae731cc70d790e67e4a6b29343b5995a02958226782e808212964c99b2d48407a92824780a19b46409694043890906635382e78498a2f62f42100917d8b46c8eb4f09294f135515440abaabec5420d1d0e0e8e0b50fe82cce5d0089caeb34a2568a13415c6ba0c8603c5a4c9d868995a46bb98cb082d8e4faa74c2731cb741939d17c510c6044d94c9414b1124b2fc97321e0ac7d44493b450e6bbae736a92eb6a4a5a9c145d275a27cbd4796999409fad05d826272db5b1051e00c0d414863c7c187e18baac674161e83fa123a9a1005048c818002a4912177fef2467486d75666b20922698b3b59651a747556440319e2e84e96ccdd6acd14d4282878369a044520e4adc7290f204882f4319af9404ee56083f27591abd4963b8cfe0883fa747f4fb3e0f87f8efebfcfb1c4816f4b95093adff9c08cc7fbe41933bffb98d2643ffdc83cf41b8f1e978595325ab8915d417dae7399aa458fe3392f2dfe738489ae734c08e73e8508ecd18d861fe6118c63862d832ceef13c5c1194becb0f13adda78cf1386b5248bfbc4ef887467f3e368738983f678cec9c8730ce73e6d00d62c6a03bb3490a1bcb9d3c963f5fdefb94c45f2274f8fe7a582505515d5a38c0ac4245d55f87713d8806211a55aa98e2f5d76d94f0d73d6832fceb1f247900fcf51b16c0a1c35fd74093397fa16a5cfeba8eeb3b5618c05feff1c35ff7d1648d1a41fdc8f2970a69c95fa747a08048f17756fd850a22c45fa74e9a74fdbd6158a50d0a0f82e0018c6cb4aeebbe7a0228b4504d8d41d225ca85c41a97a9353aa2ff84191b11a320aab411f303ac85273e7b646bb6d6a435f23c0f3d8f3579f39eef789ecb82848880c8efb98d263ff7dc03109abceef90dcff37c870aef398f26bff79c1ad123cf7bf8f09c4b95ae6b2a7200283443663f4902fcf7d150f55883c798a34875566f9e457c444b0939507182961be815d7973288e44c273d9355010d4e32cc59411549f2c30d5e92a0b192b1ad79374eac592dbb715cadceaed3d330c28bcf5c98304b5acc18a17205752d93e783147ff3586f2da3a3ad79de0c481840cdb00396e7b89a75f3b52101901ada2489015285a39fdf1955b3ea0d7b9a7bc1b1cc4e5172766f0ce79cf986df27c393e77c9ee33828196ccf4d3dc7d5acb0d5482d4cd5ac6eacb77acb93a90a0beaada6e981bf89e4c7d5db7c0b4beb82111cbe4e2dbb33165b5b2bc65e5a4ba7b5165f1e15638c31b6a4add82fc6175f6ca71779f4817c13a8e46e1489215b806082c673a73ff833bcc0cbd88b5efefcccdcad2251bdb5f6acb3ab0b74a2f6c4f9140c1007f9620cf41883f7deeb79163defdebbf3784a75ad745ed71c4b1d32be31e6c4dbfd6c1355c4f6f677c9a2a119708e6f8b5f133403cee77f3dde734ee4447b6b19e79e77bdeaf5e8f81571c5e28d5a1b63dcd7daea02bd625c71cd65cdb4e8bf5a1d8bf962a7484f6d4f8fea78a365b78ab77d7eeedbb9cebf39e27522046b8c31c6ee5ad221cc9eef11cccbbb749d5ca91923c3843e8b2096c5ca390c73460f083dbe4c9d439cb1dcd979d7e834ba4697cb29c62d4483e2d301f6f61ead15075c6af9e78ce15109432f87b0b436cc5935e9c3f98471544fdd2ab58c262dd923d112112d52bd31d92700f86cd5008013b58de24909bd3c555fd8fb934720ffc612b4c067ab860bb74d5170082d7010d816042cf0a64ba33ca52d0e2cf00f4c0bbcc3ba4673c83ef52bc29c71916606d4e944e3a54914533c81e2648a6ee12990d38bc2084f6d9b2f6fadc73f0d420f5a36d5237ad032ee5e2a8e73ae8650cbb8b1675a7df59e0e4cabbf63083d2ef3af4794b928f2fc375b1cc8bcc7afd8e3af978b62495facf22fff39c3da6606d45fa58c7f398c7eb95093d55f34fee5447308065981bfbce5af52f62ac17fbddc62dd8cd646ef17c3779ca8ebbdf7565147d0e7a0d02f5350e8df6c7963f9c17b7ec532e86f0e3bd7d8b96502bd61df750e5fa71dafd9eb0abf62e8f92e5da629e10a2fefd28aeb04c81b7504fd0adff1afde7b2b100dca8a1c0c583851d38f899e940c9cb6a8d1420c726b7be1f40559002740d50fc067abc6009ca8bf7a2f0dbf7556f1649f557f7978fc8ee5aca2f1d5b3cbfa5799ec4a5d2ab1fb14fa5c24fc3a394c372debd4a427ea88b3733c2961696dd65667512d3126e2c4b84815ea975c2301bc8aa50e1a5ffd8a3c9eed2deb0461f59ba6c93b7a80c6df6c168f58ea208027da0288b365041067cb0660ad1d47408306a58e41a3104e06620b0cc4b0beb81e43f4fae2fa8ee841cbaec3106fcc18d75988b3652ece960940bc2bc61eb19c56e2051e00b1ec2fadad741fb1bc609efa0b27ac124826963756df178c32c29693b740ec80ec5d8c2100f9b5b666958a82940004142c185640e189463bc907faf4443c96d5819ca856d97d021aaf93381b92c20e510c4e6a337819d34411249f7318eeecb873dea486ef0622d02801f3c2529829346e9c4d91f24850c3991f90a4614202232c64312af0605a814a9328421ca9ad90a7801dd3952749140962890c2a34b1e2a2553d480104113532a839a24178fd3eb9eb903dc7756742fa1c378650a010d64843830c59a260028315eda67039a8baba296292f5cc1930df7e237533d57e53358710f0ed37b63aabb7bea9b5df1c35498d7cfb0d529d15310d79a2831194db1435b4f69ba4261b856fbf59aab30905144f905071464b145f68ed374c4df6094e516e9eda6fa8ac99642d53a6cdb7c3d0c0605973e800df0eb3aab3bbb484f5edb0a576185393d4846f8739d5d9246287a3217a48019a2a4ed0da614f4d36d2370761ac5c20c19a25b0bc406b874535d946a6a8aaaa7c3b0c0c0cc924eb97fa05a6f4ed30224dc6bc1d86044b9a4334be1d56abb38b54c28edac3a82669916f0fa7ea6c1e01448a0843f0b024eb08ad3dac6ab24df8f6d0aace10e04488119714aab82ca175911b95344d72596dc22993ac3df4f0d4c3a60e9dc2a739447e7bb85467352ab46a7f6135f9bad519009288c1c109186c474c68edafac269bc8b787b53a2b226215c3093eb040431836b4f6f0a8c91e8274244c527a1531c92a830c60befd25d564f7aa9a431a7c752a5f51dffeaab5bf8e9aa443befd855467454850468ce812e60411a668edafa426bb846f7f2dd559d109455698220815504a2084d6fe626ab249708af27a6a7fb9d64cb29e504f40e3ba65cd211956755693da5d4b5dc2b7bb9cea6c3ae1030c549a7858e2cc145abbeba9c93efa22264a96a8e287a6144e50426b774535d9234c5155b5bbc03479bfdd856492bd66cd5377b5bb905c4973a8005f6b2d5b7b2baabd3555671960c28516b4c0d083146568edadaa265bc8b7b7acea2c046cb8d8108512a52894d05a845b9aacf6569bd69449360a5040e5db5b4d4de2787bcba967e1d31c22c0b7b7947a769d5a4ebe1db46a07b19aa447df0edeea4c472906db9a29578684a1b583594d76adce8a52a0e2c9081263b0b07ca1b5b78e9aec20dfde426a8ed60e1631c92ea288a7a014380556cd21017c3b68abb3b68afa76b0d60e1eb5834875d681929553162a78d8a204ad1d4c6a125caab339a6094b14148ca192a48ad6fdc3294a934fed20956fcd249b0b9736686e597328003fb3b5efeadbbfa5f68fa9fd73aab3221d926c21024b1ba52278a0b57f4f4d7eb63a9b68964c39dd8690a036456bffa29aa453ed1f55cf3c5afb8764929d250b91269192e6d08b6ff7daf4cc32f50b6af4ed9eaddd8b6a928a50f40386249a00820256133134cfaace8a6a10020b9b3049a4285982d6ee61354953706393a6671faddd9b32c9b6c1068fcab77b4d9e93f7348796eaac9f4a8fe9db3babf60eab496af4edddadcee60f423831a20686118cd0426befb29aa46dbeddabd51938448d91094bb0d888a0b57b474dd229908e78494db67b4a5d11936c24489e4a75535dd51cb2d5592f955dd451529393a9c9e914a57b6ab2bda3d224b76692fda37fb44173cb9a433a5675d647198b698aaaaa3d672493a467ce10c94839690ead98d19bad9d8b7add8cd0c1aa8c972b686894cdb7735675566402242a456a3d30d1d002ade99a5b9aac76ae0dddc23571dcd31cca795a85adda31563bbed559911112a40481c20d669a18a1b5e3ac2669adce8a80085102273060296202111a558374844b12e2db39a52661df8e8b98249d3205ccb763a926435c358762df8e6d75466d25aeb5e3a39e4526b02d794284ab334676a051299ca234e97d7b6b264999306983a6c9ef9635873ea6cb14d5e49ca2aa6ab2fd82b948264949a024287dfb25d2a4d77e93e690f7edb7566714e9da68cd462d09282552aad09203ad6914df6eadea6c2a018526883034f820c409ad699a5b9aac26a74cf203b6c93af5a82fa867211db149ed56a9c9d6b7d72226592a21d564ab67b33e617558a366151fc3e904499a62b8e12686d65e939aa450d4d904024c1455d68cf0430b0cb4f6cad4646daf6404e69636dfde689a6ccd66d61caa567576a3aa2715df2e45114f98a86142c476025ad327be67992b465471a5821454a2684d6f535455601ac9240d600025224dbe3aa96bedd4d633057536d9100953a48420ac4a10436beac44f29283f80348142820f4d68b4895b9aac76da864e99a43865d4452adf74a9d2a6a64e4f387a3452f7dd5d0f986fafc0247ba6acadedfb83f61b5d448296274d5058502471a151263ec7959a302414b961072c5aa321f1f7fd6105d3f1eb3f7e5d16f4c34e057edd83eb3770e4d8c1e6aff370bfd7c7efbdd7e952127f637f45bf4e9b6814fa648ba253462cfc754ab5c2af5330f48a62ddda8fbfde463f7ebd895c1649bd74bbbfde4e37fcf58ed24f4d8e7ebda9dc167e03e29c2fea8f6f02fdcc21fa134ab7e8a54b6cadb43507a2ded5bbd2d1ab833b2ddbd9f1cf3f5aa3eab5b8b654abd7e2cbe17c399cb92e6355aecb5ef781b5fb3cf06b81aedaf4e5815f0b74b55e19045baf8a14be603755515058575150b625242724ac2aaaac345554534b362a4b3f584758f9f544bb566befc5f662cc7139775cee3acffb3ed0fb40b0d572b95e2dd7eb158630d84d08bbb9c1c189c5727256ece8f0ecf4f0d415361d9d1d9ecc9361a0ad15a7da98cdb12bb2a2acaaa2a4a0b0d05c454941d96ea270da2af6c572b0d05c591d1b0e686bcdc901ab5d61ab6e585560a8b2daa4a902433515036dad2b5680d5ea589e9e1cd0d615a0ad3a3a60b53b96c7f6ac006dd5016dddd901abe5b13dd6e7c7fefcd4a63f3fb6da1eeb637f762a4f544f4fadf2a954b552f9f69f282c40162c6a53162c6aad2655a4ba549d54a55aab466db2a2acaab0d05c454941d91aa9997aa99d3a4a3735521f69227d5475c3ca6a93a60a0cd5145d7aa24ed50645852e5d9a34b12aad69801e59238b8546032deb3a06595b4e5bb56239cb20191cd087d1b296cd18cde16bab3b3e1396d9eb4e9d515a0d0353a6606c404469b61174ab084bfbfd16ca373100aa32a8672f6950e546f79c434aefb5a3902c480353d46915611d6f8c1fb4cccb072deb1b20dce82b6139a76e7cf041b5e28d8943034d56a2a90fc219fe84b2c2c297d376c366be0954ba9cfefa57236c3361cf5ae57548c5706671ce17f5033ede7a7eef4e9d759463ba4e1540670cea5d8e00d36c5f7ab7da8d1e1609a187f5f7fe9d85b79fdb4e504aa12b57b0706639a160fcf5d9dad17ec7105c4e378728a2a69ffee3b3522b12dd69a3556623e79c8936b071ed94b181a55682e429fb820c2af493b4a4118e2b4212648515a838c28354181a47c39525905c5942cae39f57d05031025a446bcfb045c71119315ca48cd9a1890ca611b4381d0d39a204628c54cd10668a10474ce8218c2d87b11d2422588d8c18866499a2214c126764b8c106136c487499c18a185a6592fd84d2814987244f261439906049973042aed43a0623d6608152a6b6444bc3e00415152a30196107234a3c695262042b7546295823d9822a4479692677c80cb831c618d7484822412d23f1c24e4d52a1aafbda5d01e3c407febc4202937ffdbc42020e529d101a44a5a1890c06358247084d70c5a69ed09622f9183903e38468e1bf9f578c884983011a3529b079828419969c54100487a42c2f4792dcd064ea2271c95c321e6a10da96e9a85974b4f65e111c918f7c9f06a1a5f49ab966baefd535c3b5a94915c9aa2aeb62919bfed5a620d8025b934e4a279dd4f57a8521ece6a96bb746ba61d1255a9b51b4bb566b2fed5aadbd17db8b31c7e5dc7120cd20edbc0ff43e106cb55c2f9c1b70c6a6588673c50a70ea94210733bb60ccf0cd39e79c73ce39e79c73ce39e79c93b68e19d5b4a6006a1082352e12f708af825dc3558dd00c193264c8902143860c193264a88e6a9d57598ca81edb71f1136a0a982952416c77530a524aabb57ebdadbccaa6bd851d0484074ebad88c3833a60b0a2f143529f282912a24b200910226340061c6a6546584274d802cfda8425e52887019b36589254cbdc4014e6c2122ca179bd40fb4aa6486075c1da1ca22458920bed0da85ae5d85d45a3d579b9492ed39150445458af77e425141636988d12e9554b1850713a2b0f9426bafe1f0ef6e71d6daed1404f6795c3ac537bbbe810d19cdd124a5d4a9d207d441d820639f7c83ba057ee642d2004df33473d8467d03105a1de0224c3e060bf40bea379e084b21211a3218d4819aa4a1fd72562ddd2550f66756853b52cdf44d0cc252b6b3e3f4ed3fd3c68068ad7a182b5acd564d4147b40ad190c1b0c1dd6614ad628c8e6106e7ed9b39ba7bc78317d070166859e7cc5d0bf48bf6e9f5e2a08fa3d5e1b8912d603442a11ef439378640ddf37650fcc6a096715e5b3538ae5a6f94615b997a908fe7bcb9f9372c8023674a9d8e22b0cf8d32c6d80d1710964141321aa865ed2deb9d1f7c64c389a6247dfb065250ae7deb0a42eb7684d93d188fa7a1f5cf3f7b431bb60ff7593afab4bcd2266ba52effea18561bcb7e3dcfd9ad6710e63474984ff649eb1c26fa786e470eb8d46852187ea38fb713bec40d9aa889d01f099169797e5a4122e6f3a83a718326ea12966105db655509485bf508282de23870846f3659525abbd64aef9d24087a0608e8d39f73a827ad6ebbd7cc9ee1cf9bd008ca9d8ec56f07d731669108e948776a0d633bb375ef7d4b3d8c10a761bf8e451777b6dcf6bcb3331566d0e7bd3bdf42ffb4f303a355dde88e50a8d3d6f43c86407d764045b055a3d65b5b1dd0d182ad39fa50b028a3a97da5f8ec77c3c3c2f372c5775ec2ac376780ae49edcd77e30c9d896fa6e1bb403a23360386509373caea58f23c8b0eef67dcc21e8e65df0554b7d92213875524ef380ab5ac8968f40f6129f4cdc30a111109f9f3b09f4bfa8149a3656da7834de221589420f3d38e44dc2834bf149a53c800f3457b0f65f858b6ec60a12b44580605c910faa0b0eadb634234a47e9e52a70e7e09bdc6c03021f5568df93d82b15c0a85618cc61829ab2cc33731a079facd21e76973f65ceb0739e7dc4e73cedc98dbde8028d9721ef95db0903ee86575cebf5084f927de778922c80f7e0961df85b560b0f9b0f0bfaedc0d5f62e89fd8fffa7218bec00f87af1b873928828047f875612b675052eec242d798c1ad65e7d8f1db4e0402b28fc539bbe2293aa9939ea87c7b2b65f0a79d7c5bdd8be6fa146fddd467ce4949f3894aedae5d693ff5cc9a5933abc7eca662775355cdd9534f1d05f59dd5342beb4a8565a62018d364e5d53ea219633a0da12a7e75a765d5ab832dab1ec6ddddddd8f3bab187b1e7652f77672f77672f775bb0bbbb31c63030c658566bad15d75a6b05aa5dab257b46538c2ba51563d03bcf2288ad255bad16c618b76ce630c696b4b5568c31c6d6f3382ba3651946cbb22c97343e37c618638c31c63b2dcbfe53ebc59c7fed7996b4b57b86d7b43bbbe7d5ece5e979df02e80bcd18d9f36ae5aaf7799ef56cadd6b3b55acfd69a3beba0d1dddd3d69b5d692b6f60c8ba94fdcb772cdd97bafbdf65e7bedb5209d51e6cb97c3b831e6b8ae95e36e678bbb1bf7edbeb82fc6184fd9e79e57f1f3efe36aadb5765dad5d576bd7d99a73ad3967dbed3346750f8a903af6f6ecd8a987d06d49dc33acc51863cf7a9d23c618638c31c61877adb5d60bfab89e6fb5a4b53dc35a3b54abbd97b3d8ce5a6bed66576badb6564bda8a31c65c473dcf5a6bbd5a6b035c8f479e1963fabd96b4d562b0765bcbb5acd75a2bb6606eb570ed566daf6bad15635c311ebb65495bc19e815d20c618e8e70ff5a09833bb76668ce99ccf5a2d9dd45690d6d9d37a5bdbd65adbd65edb7deded6b6f5f7bfb62a2dae2d7954e3a474bd2ee198d7b72d5b15f8c697703a3d9a864cc582983142a533300000000007315000018100c0885a2d16818e6b126db031480117298566c5e9e4ab32cc96106216488310410020004464004464624002860f6df913cd2da655ffed56cb696d2dfcc65ab529ec73265b77736cd4637ead04b33fc9c83ba329b99589bfd450bf8b02b9b40461711337ba6aa3a55d046127c678f584ee49ead0771b5cdd6396b9f2b23b86e1ed5e2bc065235b85bb83638c0f58547ded475453d3fdb3822634bc29f4c896ce8ed47e9cc0950c836147b165859c8674b559b50c98fa5a95ded3a5745d41c5d2ddcb70885d32c9edffb120b501edb74993da9dfe354ef513a556f227dae6c24bb23494298a12a926430aa3c92bb04564e4a9dc60d4a2d77c349c9d83715897e0dae50a691fede2bb90e507803553096dfb898cd8bd759eab2f966f9fdca63a2ed792042f98f73cb8643753414f76191283a16f18f2524bdfb20c20d48bd9c4f566d83b2565104e8f6980f886a67236a06219087bd30ec8a6ae987e2c6a03cf251e3ec5a3fd5efa98f0d573f2fba4068155ca9e3b0e701c779591c2bffbdfcdb0235ea43d2724270b87904dacc45b43ac392735c62df85d1daeff6bea0afc0c0cdf86306417677e3fb6d580fc07c7339a24c0a7e9ec38521de48f08cbde33e01e21f274d06e4a5bb607dbab0491b4d99d719c251bb143c350cd22c8e34e957d3ac8dd55ef30133d9dd8fac8c6329d3d679651e0d1878d7d41ad950fb6becbd873d6f290f47556b02221b56864cef6a8073493ce716cd0fc2c6bfeed40da5e6e403123979dae4c147c6a4e0287cee77c53f3558ffe4c960051af3feb21c20a3fff27cb00a8df91f514e38ac7f593a4881c7fdaf14c7d5ee114fc302d111acef9e3dab15874f1f09b22b105164010541bb628fcb97d8f592c144c677d1b08c50f877b3e6c44b435f46f0dae3c91c75a42604e2924a66886ea2471d308b2f61e8f6f7bd983b1f0a037ce5139aaec41dd65e8a938a956eecfb17e04be6a06b590e5c3690d14ba111fe13ddc6d54761224e37c3395011f419f899e38916d0730a16075662b77a4345d82dea29a3a0e055bdf6bd9d6905ae7b8445c9f75a761b009d00b89a0bb500e18e519f4f2625b05fc6b8febef1ab389152a0572c84ce8974f72cd093e4c6955276506ad8e3d5199afb48e71cd26bddce904f4bf2325add078c9abe8c95faf04bf8e82a040866c71588e8732293f19d800f4d2f59e83027cc13c8cc5912016412f0275196ea4df786c316fef4a62126c92bbbdfe85b0b4ba5fcaf47ea66e54174db843f14f6a4969bfed49ffa4688aa2437140bba6042f13ef87131612a77182821a4306054ed646790eeaac385c1a67fc3583afa06107e29760849f61c480ce9303db9a448c2921c2da1b4b129784069686d84ce4912e069d00db3457031a59beb2c20d4f109f84601cfb0a49990e40966d50926714bbebf63205bb20e5b30c139619936513e41b0314ab362e91c95d93a8709fc9b2ffe03a1bfee2f35b22586f91496f29067123c23530cddcf3949c8508b4a99f7dfd9047ccd3588edf7844a936b5064c47a6c7df78db75997d9bea2bcd11cad6dae00df562545161d78f85b88e3652a83ca27e4e95a3523351bf9401a5e54244bf6424418902806f16b92285cfbe11bc4721fa3995c8af35dd0ea154c95412fb40b2d28a31226d5a2bd67891c8f08fd9401cb44c95a26c4fcba69b61800cfd2754aef2604ccf3ea541ba0ce8249ecdca9082af5d159c735841ed8d32d834d1c50a70c0512926997330574faecc096a542615c2a207005723ab390c2aeb40f8e717af33db0d5e711254d5f8445e10ff59c38da25058f1ac30dc35f4189f3652c7713d4bf12b0a6b41e13676d4e599e4c00f61c15ac8ddcd809f6291e885b82482ac43d60a5ce05a649956448e17fd5f4355015744d898273937896e15dbd4c724d20e4137181f039c9380e8e4631d76faf0e341788299d3812c7b18d2776d26fb886a39a257f6ff867c0b27af8a97c21a420eba1656fc4131ebb76b038324c62f860197b8f3842466255835d42fe484ae21ae173b76c1015c605596f7b7b94efeaf4232f17cf3191f9ed90bd6f0f33dd966b08e5c03930f371744116972d451063ae0c5e1b109dc5fc1a2d432d299fe4efea7a4f8798135ead003ae2386038ace4c456f308d2013275071d82b156f1c07142e236a0ce0d00adbe50d610f6c50eda33d668993072c69878a44a2dee5881a79ca73c9198000e39fc99d390121687941bb678f351621a60b86cf197b3ac05457470c0929bd286d8e79e0b8c933f129bf671b48ae2b66650a626518df2a43bdc3a66c5327649660a11d9dd6874eecb096271817a30a7ea0c90fc8a35004823c90e0b0252613150dfb35f56cf692365db32f92e08368391e9bb7d737e0e80ee8559aab2ce122c70e1e357aa884cb260c98024cad0786b4f0d8f8b94105b71a5e6798f6a1038fb6c2ce0bc2bfae26038e1be4b12215ecd50882b21b73b2f90aab27abbce54a7ee5e4bc5cd7cd0419936753d68888734e30b7e3ec9a33d2ea03cd58d576f97c0afb2f84bc1b7dab9c0d9d197a991e946b4e67e0886bb063d5033514bbec532789e6fc705fec5c2d0c56a0fdbef92e1695b9e2bb674ea92c005066a673e6b8e3e2987846efb46c7b4705e24b9403c34dfe500dcd6a066d6167b7c2474e7d859bf5510b75a19fbd38c8c9116935ac62b023e5e5e9ac6a3e0fb75764d0d827839a503b16b3da4707e127a529f76c189e0ae8aea06e87cf5e137d5c111531768d323e6068e97d143325580cb36e17a3311d97cc255fcd6a70b22ddc0494faf7c610902a25b436b5de4d76fc481d8d3ac7a7cf70835057f77bc6ef46a3237302cc1d0a0690487ffead9efd8477dc606fb2572301d8066c13f47a9a5567284fc777490ce0d0057990838f0cbb3083b2cd0bf3c4e0ea1bf38d88bece89d79f06f58c87d6d2479a4c81cbdc1662e94af012dd04283aa14ddafea01f03e8a76e2604e04a1b8256767168ca8aefa41cb402c2512382d1a75e4b49a75ef59e66e423c8aedc5d084d57f5207b7b25e27898df0587fc0b4241c529997e1daddb46d9d03bbb284588e3c71fe6179cfb33386e604f802711a9da5270552d878410c506a1cc05842f4e49211ad217f1f206a06fa638850ade7310d7d95635aa0e04d71625e790e5aa08e130e1d93baaf0690a7ff9e184005db88332ca905ab7a18749580b3633a5e8dd8805829ed754f4b47c85862d9ea623b4d888785294e1d458294ff2e1d163d72780e069023e2fba06a700639bec1243a48962858bacbba0c9652444bcf6db5d996d9381e19711a6844cfb64b17685da35c175e280c96c6e6db0737d0fe135025581acfedbfb80410cdde3dbc510e1a03cacd1e8ed0bfe2fbdae19e3efdaaff98b059eb297020409a7bdd69f30320f30bedbaff6db600114006659ae1a3dd36b886b95f5f74e24819e4322a754f50fad72974d34eb4c45b79a8dd98478f21f061773d89ba2e4a3bf608aedbad09092ae90e3d09338283827e36b37dbc29b433bbfe2fa95d8db2be9dda99e77d674cb6e67736e6e565115586523ed238a92406805b88d92b4700c5512187651566279d02b24a7d03f8db96571ddaf6db87ca6f30007306d9d875649fbe6e6b4ebe065ee940c238e0be37837644ef66d099d9c85638d71686831343cdfe60f3f943dd98e944ca082ae85661a97b22d05c82e61057f406d20a772bcd7fb56d26923cc6c6156aa6e9213df8291ee6b85ee22000a215ae6fd0d9f3870a5eb5c4070e725c0fe059e13ed7bce90ee3ac5a4d4072af437d18f82f85667c006685d3c7566f4b70cb14ab8206078bcd843689e217c80a97f6e126a8ba47da235b870d41dc191822ffc33344558e8bfb9a449fb4e7bbc5d6c6a4915410f01fc83855d8ba20bb563ab53db6f6e05b36c1e07d6c622915608955f4de3282ce4a3160e997701397ce861a06d36f60b5c10a124bac7c158ec65288bd0f92ace9c190c68c68de5ce14656c0cf5923777a156387503e210f9cdca465bc0a472312bdafe580e9e13759e78c45bd11f4c525dc575aac94d58ba74ca252c5c3414fa328004ea336062918e2fa07965684e5fcf1d205d4572f14a53cfdcdaf70e9a0cfc0d9213f4e040157e1d28b83759213e9d6a84fc8d3487b68865706c8b0d48b2b7f6d15ae1706c01d84ac89ccb7c534731e4e8cc3cea98b2f4c16a28341ef5156e1c67087a3006cdff21f4bf760e1065cea3ec3c7905d6edaa54daae48ea6441e7033bc8c52629a7aab20f59bcf9d3ad2a820a245bf0b36e5988061944a13d97e9f8f51c45e4e5ed04b4bd48fdf77b3e516ae91e6d98d8a0d3ec99c49b57ae42a5b29858b5b6c3865d110102db526e3bfc91f4b951f9feeb49a11e9e4510674186b13608c27a72a8939de1f27ef77a3670bba0ecdf8849e4cc516d6686148f2a58ec68d935ffd0e8e9f5811f5c6cdec32f78e41ff3b801bd69a3deffefd7e1e2ca1fb59821fcd26e902004bb0da6fe2a7e7ee2129829ef1bf646276cf7e194b4bc43ec03a3295f88126b3b9e8ba7d5f4dc822406d11cbbe0007c6ebd95cb87a240e66c8c9e158da332e0e3ccb3f93a039db04437717464ac7d85f25ae615a66c5e1dda43fd0f1762641203cff0e2333b4649e0d211cfb03d573d4c0b92357fd413b0435da97b092d648a0e5fff0c6ee27f0b115e563432e23453f5025135cd4bef98970e6a713c4ac861aec764d66f695accc2dd33f8231af4c9780045b4f8f8d4d9e20363e1212e266b0c39ed9f03d2c9959517364c66ac182b76f47342b327f7fdfc6acdba0f53bffc3b3907f3ca44c9eb4437de230e8e211c7fc3fe2371d718e1e31d636131366f057b91c43e63116b6e167dfb399782b00da1b3c7a402de6bf3c07aea7ed84fa073e569a921352f26769018a0998902f1897db3161c50b58793a34d98bea37c0ad44d786cb3362a35a061b9a2e5fc56b1557b1bee195671038c8d43b45d6b4ee814e48d98202accc6a05094daa81ab66799f591962145628d7cf711b93ec4ce6718c4ddc42ef6e013b46e4c6a895bb60e20d3624dbaf39874801a550e0c97c1779a2f7a068b219f67d2890c3b786865ab204e3881eb80736299fe1941eac50183b7d7f7ddda0d7a11729024f2bb3900c865311c59108122de7fc9b6f5872f6656fcb37987300c7210e86628c63eae75e80f13d2f59aa3416f52f0bb61554bf762da0b0f2ad6eef07444a9e11483bd7d0d81fd6b8f5dc8949746bc31eec99c0d9e5040ee35113cce3ba64f991122c3582596a35a8007332d76f5c147855d7d26957e03ed0badf71b6e41e973551e971f6d155acb94f6503574a2a971f679e7ba0d64e5bbedcc53f4ee045e5933495b84e0419434e64cc655b808cce6c7603c2d5a7241276e7516665b5a5773c71f320cb27acc9fae3d543849e1601b6cf2713b712b9c7035615f3fc6b6539fd6511be60cb73e575b3a7d24bea660d1622b962406fa4a4649e92271d880f8039610c8c238200a46747ab6126f216bf11a480b3d42cca120be683a3473a47b03e05537317268a5676ebdbb5cebe9d226653d6296877319afd6ade0b1b4ec89a41356cb97171c091e41cc95cbdf28d996ad9f6f33fe661487002fb0bcd6ae7af213bda731b976c2564d4ec52e70841662a3b4b93691fe2ffc2ceceea5df71f309f33650ebab672a3e098040a87411b6f1a7d60ce5024fc9bf0752288ae68f1468e1d4fbf9727b5118489953cd47091b0895bcfbf524d1787f816ce6ef1ce9c7c35832bf8cab066c9c01c5cf778f563835c5027660aa5fdd10ff281034de82480309a5d929414ef7401220b6fef6ece4c35e0f6aa1f64a2adb17d8714471554c01d0e78b0908ad15f601c23bd9c61153f9342efb085b2a7e13c23c92b42dff7b98e1b1082fe109e92ffa030272a680d38bf53ced46b2ada3d25937a1f54579249fbd765cbde83c31866786fed26b980735362090dfd6bf78cd23480a8d58695e2972858affc2549d78a778be9d7c0469ab06e9ce37e68bb6f9d62d76b9a697e815cb2d2497764373c10e7e829d8f7ec83a04cfc694df8d7a4850982f63757659af0cf1bf4a759182b7c9e2f12dffbddce526ec9410369949e2781d0a0dd52e0457cba23aa8ac320d597c1d110c11fc27c09555239a4f2f54f342d04e81a3a7e10114119f248eaab9d53ca94b33ac1f0f34612cf105b07af75b4b4ca94926da93a90b8d87623d9e81ebdbf441873f103e4e2a6898e1f9d113fb1898cd657417edf7498b941829e4de5928cb24514ceb4551ad42853de2850c893f89b49d3549cbc84c4085a876f70bc4f0a0fc6ab7a8552d079cb4f992ab08cae6091c6946de4c85a89aafa0bc250e84906fba3081dba5652670bcd6b0898793491818524dfa3423ad2c2509a124f3ad6698952ecb31f963958541c2f26c706d887c7f1e7e31b3e3cc4f9e48e7bd4554055edc772513c2236638189299a4e6fa25ff82c352a779657e4f898673a37becb5a2c3c5293492c343ce918cedcfa80dd2b083ef99c92306679d4aeacdd6dee1391b9445e718ed7b19dbc49d4f9987eea18ce98885fd37b8bb8b26b171cf38d6d225cee72428ce5cd9e98f76c3e4d562e335c2f4b93bbf1b21f117becbe104248a601c2cc4d00b7e73906c1c13563522a08c4a28cda1296b156392681203b4272bab5b285c68d096a2b4c82b6223401722fdb8b5b145613ccac02c8db03825ee8bf6c877effde2ecaa99d4a880a1b0cf1e7247c145f894b57dc5167e47e200d2ea3d77c247b09adb40a9a13088902dbba0ed4fa67ef2f8b65f021e6bebc272b9e0b94555c3829380d20b8efccd1455e0d7725a9b0b0b91934ebbaf3b9804be69763ea1286208a5b265ad25a7bacbab6ab2dc3a48ed00b8b127a430ed7337f9d22dfb76318f93ac300654774c85d4299f2762a2bedd1b0494a64e39d21435eae3f7d09c3968d958186998ebbc86d3674d0c480cd81b50ada2ef5adc9e215bbdfabfc305899082b5d27b3ee629aac4ee43c98c4b53f45ad2a58286bd099f91489632a98a81479182cd3a5726c94ad5dcd39f4af5ed41be79b7b8953860f9b31a89a8cec491e472f0121b0618b326a4f680c50c86ef3286a348a4fd248671c92b8701842812548a8a345fa3e56abe5ee1b992151169e3c128324bcbcb8551b15e29e91e339675223cd8a57fdb5e771ddec44447fdd6fbcc985a53c80cb91d046226056615e3b1949c6a2a1f233e645c58db196c3f417fc61231947880031576e7a64d20fdf785282cf5a2eb4bda325d8197e9b4ea8917dd232c2425e7a9235934a02183b7af37635135d05ea8bf0c8049a00e5bf1597494678334ac2f410d79fe355105cde7252586ae2803ab01da27a1ed739b5e1c6c1d33432bbb9689f2e396b888b11b8ca9f84e5fef3942de0260b3ed775230a112f8b85b2b96a457a86295bb5db9fe3a610a9510262edbe81ea8215190f8c76dbadc8c826c05fd02ccc0d2e89e4c077ba6212e501fad2986be08b88b38890c705cbff6113a8240209c6b09979621a38a774c30a5943dfd1d862a0158a009272d571e66ea8fe1624ed6ea08f0b871ba283f3dc912b094cc3298d5bd2218a5ed41c2e98f6fa95006c707829d0f2272eebb5523870fd506b6a21013e47c3063f8c10c6010b34b7ab91fd98f287a1cc0dd37ed3de9a39612103f8e904be2c07c373c09d579bba01bffdf91e34549271205c6303288490acbbe8c584191591224c0db2b6509ffa8aa2963f725c2867547dc2094dd9de8a44634cdc73b134089fda7d4c90d6d8588326ea8d4b551ef7c85ad2dfdbc11cadd41c509fd5f9fd10b89132c7d482087d1683275dddecc9cf93606bad7a4c7c9ca1943dea9a793a4aaa07db06412fd7413310afd0587980f31a1e4bf79c5f6998599885433ee62505b0de70371d1cdab70db870d1c87422eac01ea719f818a4de3d67600468e026cd354669e0c34e5c01462580ddf0d97f2a3e9e82d08573e910a7819a2f88288a7a0dac9af30004a7487cb29373572f8285d84d3abdf7a846594d3f06106c47b9a33ecf6010a3f49e6a0345cfec07d7e89b1dfdd4d26ed1253b2e253761d0c1b600c88cee4d0786df6b3f9f15e8672c0e8a55a42aa4a518b9b5c679e48eb8451a0cef762205e1072e17fdd5828a45144a0a7043ce32104e41b279011b469483592ea8effeabbc30946c8e112ec2f65bdf0f720a4df80bd1e9edef535638c9e54df0186ef7128fd401c2b40391d4c827fde626e78026dcb0d2c7c50491c11d9d773c1850f782d2c5050ed90bc429d9808557d013ba858ac2b77800f4897184b3dbd292ca06f5300eb6f640a7606788b2fd6719659c19734957cccfaf16e1578f03af4550b3a6ebba1d9acb0d516bf495c1fd7c4c2e53c024263af50ff0915f6901ea341f0109eaf4727b93a6b85df9688ece487963c3a22110078d0cb586c8249e2e3e6425f85276da4008f08947f2b20bd3bbb1c5cf71d8524c8c0d3e36a2ed520105989089d055ae80c9663a626c1b61ea0dd0363fcfc84e41e78093c4e1893485bebd65b9d2f89c1121c6e30af5651c92cadb394a205b811f7f03520ec0a74416a60761592a181b9ee4bb1b4b5b46651c8e87472d6319460722400e7b6a6c7ff9e343d8a525196a50a2e0313e00846c1f927b7b0a34afb76099ea3befc601eee4a5506552ab8a20d0fd5808260909d7ba142087195cdb1fab49fb39cf59a0eee901b91cc4b02e6af440c5e75b04c703d791c903950397a8deee3a774c46ba4dee86a38edcff2be24bb475746985bbed06f547d20719f409755b938039e1f55d7df667d94aba70abb138260499f70e9c2ef5c99a5fec2bfe9d1737a84a15f4f178047da153b16488277e5a869d5809f398068cfb050f53194d1e315d3212f202a1770d32e163a58a02d0c80e801eacd20859a1d2652a9350961e3cebb147d434503e7a3ac132f7b73deed7620041f26ee49e4283a17a6737020c8775dbbc1b16d6be4b89e6b76c2266fd666b2b54b5b4536e688bfe30ab62457dd1bee708d7b5f789b1176a56fde541bb694a5fa57a716d458860746e680fe4c7edde9d86df3128d431e0746baafbb42ea0a97d5f85695ca6f0cd463dea4057e1bd0feba9608e9752d8c14179b2a660e19f1362fa264515b2e9069a74694ec29c79d287b7684739e22ba9007e1c6867f02364e151ef9713478f7cdbd962da77f901b221ef8bc6e1a5eb1b81c72d407f44d1f76178a1e97a38b38ff1f447513c68aab888506febcf0c143465cd01bd4252d0c95796faa42de0f59b354b96772f9235a54e94a662025655d2e3824008daf85365df41d444f15814d48258511200159d9a8ce3157b21ad2a1bb23fd562fffc8105ffb0a6af0ebae01c3c1a41f33d3ccc701af380e8c1b6b7352b6d83ddb7a85545f2f749ff6980bbf5e128fb8d4667bcd18a211f61410f7417945f42b13983d08ab12f9cafe6a90847b63bc70d802a14f26b039be3d19e474e7bda2c289e223dc0fcfa7af7d84b8d4a015cea55b0c87f1825e0ad7a67e97fa4c0a1d5e8efdb0915172858c89426fc313b5ed4ec65ec8abe0302c623cef0377746475b26dc543454fddf8c4bdaf4a28002726ff606e0b0b1b4dcf7c061f9332abc798821bdefccf8d1ee16df244585f66fe24dec64f2a1d1eb43cf6508be4b8959d72c93c1c6c85a104bfa8b500e84ff26f339c4ce825eb1c105c1e75e4ed5c59843ae8cb0bfd611a2928c407b02ab5179963ad6d4e7c9bd5da9776f81dcbfc1d186b9efc2294e1699b7933afa0eb73ff5e019731fe5908fcd9003e864231d7269a8ed8732e944e782a8cff3f9ce10038883215a0c7a6d834d29262a50d6d89900543e3aa7f81b28cd1eb7c32c5e94f99466c1e4560a814f390d3a3fa92722e021a8d26f53fa78eed252b93730974e499b2363a3899142e28ba270052dd83a5200f07d54b72707dff552864e15efa3210aec79e175377fd8a329d6ddefd41ce74be875d981d5a9d93b66ea9854d070078353943ff1ca14542c1f2afe0e270c92777f5fc1f1b8dc105c76f23813c16c98ff3fcfa09d4bd5501303225de70753f4d0db6c9bc596296eb7e37436df133a4518f24edbf51d99c2e0288c769cd023afb98d670100e2ae53fdb1ac16a78313ac44727d70656445e0145b80e6ddbe8421acfba22952902c470d2a56b4b49e711093c9475d6fa4f827a9920cceb14c5ff7576b0a11e6043f222dc70a2fcf3c12847b470bc5f9087fcc6d511068c8e3695eacc695641c3e2718e487fe53a0f7e1d0cdd8b3328875c431cab20061834c9abe589c2a6b315e6f78bd11d52b65315b3b051b5ca05b957fb20962215a3e8dc15c6201c4d1cb15b9389de8bee900a24c396332a8c4a74b897c903901565e207f9e5243101867ce9d0c056c079e51089c2a7ce8fb9972a58a48ccce4290498c2ad3115b8bdab29eb6509e8a613ce036af779a0171a2458c0adcd8e20303986e5f53081edc0c76ba678ba0dffa4dba41317336ad6e2040bf1268979bdf82dc3e61f4cda38b2fdf6379c6dcb6d0c371b3e3f415560cd90a5c6735e5afc46bc23da13842e5610f1ef484a536acb78099da24076964fd1aa35c9470252825add626fb29802b098887c1e2481138967ac2a175e7d6fa9cfbbe8c1ac8635fa0d2584569351db1c7cb0e735e1cadad00dadae5940793136edea224fe7139c0508acc1414c6e36b08fd623a2ba463006689b178f40d367c8d3827c1df9c929058f74189f91642c3f413ec41a9b6ebcaf863eba8996606fd6cd3b945f237e35d6064dac1007d0089c3880180c600495ff43650bf5d5bc14aedf6347d26fd9925bec70d23bf16c99241a35a418958c5524fafd2466f1cfaf1be892d1e725c21e86615ec030bb8505e7ba6fc814298b2d292c5f53bf56ce291bcc59c220c629a2f5a21881f56ef03c7a2a5cf5ed098c8410568ad20384e735339ee5e50b675eed7bcd8b2eee8055cec41e9fe4b1458ea657dc2df8e9cc4864c3f7b48caf1443b57343177cadd3fd93aaefec68017b90e5dabf5e6e8f69f3ca496759a4063826285eb77af88c1033041a2877cf7fb0f3d0e4854db9e6768983e82ba45ba72b6705510b12d75214b6c119c0af6f1c87726232f0174b2638bda1368e2e914382877fd6858329a31c2230039ae33afd06098cb70f3133a4fc7a0c1f161516ea841a9da8d9add713a6fb1901bf3be6e9fb0abfd9bd0cc9796a08eef298849165659023cc1be8eb668cf0c953021b21041cb5f85fa31d5b1333bc419833575b6251850f1e98a2daea609f20f1400583665011c3a35b7608e83c1be26aa96b9e0e8f4518fb8a1c8f91b551c8d49984019634d346ada87179d3252d05705083cbb361b8830a51c57dd1af7edc5f1c96147a210f1512bce1a9827c522893acc8a6fd0f5dd7e6160dabe0e2c519000001a3e764ca1161d60ac0ec8428211e2ee7dd232042e64d533ce46f219a94459a942b3e6a872714f40de55f9c860670513b54cdab1ccba74a19054bad5061bb4227a58c8f68716f1ffd92e5aa0471d5e65c7ba5a936339595413b2eaa58dfd0ec1fca05117ddc487dd2190572378d9f754a914504534e8872fc886ea986d0a6b9deed06edb6b03c7f7c898213b62195f369da7d0d83eb3bac80d8cc09ad072938f3599a773437bd730fe7101eca365e14d14c71b7cf1194bb8fbeaa46ca209e3fab9596b672c29143a5895b67f11ec0fbc506c445bc2760369a2e44883649320bba3ca1280537601022b5facce0662d844491494fcb8e9501d757a0536c08507a94a4d11cb3a2d7ea48b5ec76679281868fd849236708b70c52bbc91eaf4022edc7b7452d69bb7feab334e54aaf86a60fa0d34ca70a5ec85902a459ec568a532574cf3dd8e505630c12b733d68a7526ac3fc49efe8fba9b54e291a2ca606a5c8d3573dace20cbf26547c7084a8797ba1adbcfa27fd38ac6b02171c2930d9f637576424e675e3a545e2a611d0796d6f3798c278ab4722f77fbe0077ead62ba974399b47d9305b7ea76ef18058ef2c70106a84594b962aa3b94d28740322baff8402d15c11436b2ca7f8ed9cbd03f6802e50176e4b2cce19e3df5e48a1df81cfa3e211165ad21157bc5bb126a4b676be6b51cae2c343fad84f18d1b7c1c555cfd50fc1fb0dcd358bb475ea7edf65d2a8bcbd87df5655c37d8acf6a1ad9da6a78af0af5afd5020726ac0f3e69f87f0f504f6dbb38e57fbe1826056dc59ca93d6c4410b48e06ede9a14cae58d208d947544735f6a87498619ebf181cb9f9fc9f644b6e476eb8b942ca0d44cfc8effefa37529c975f2a7e7cae6985079e1c23b35d5a2941777bd68cd6cb360c68d46e26b7ebfe91a61f79867cd6deaa152c69834c82e88edec7ab61315ff9a8260da87f4250ae185780ac47b0632ba0d0fb33bf7be708e4a1f3a98b4bf9ea3261d0d746c0aff0c44529cfd63a65dafb265258ab5e57f93c1d20c0c0eb9f1e5fa3e3e243a572467dfb39ca5988a6163b3d069e21a86fc44234d89a6cc7e57eef3b21c321cf2a4e099c830d1540e89dc0077df78fa5b9f8613777db52cdfac030332807397bf587898881c5b58e7ec4f181926e8f28af87a4e8945dfbde704411d1e27f7633d3a5cd2c1ffa71511ff0d2832835ab3e4ea012c21fef042ea9aa39331fcef5f5c11bade172c648fca3038bfe5b94e48c48a5b438f9e8ccd6974f7980b3232e84e9c8bd05d53660997d54cfbc58b4a9a9feb450c6fb6d56fa46b37413d1b6d80ea7ef180d13acb70b29fa00f69a8ab0afc8ab2bc2863ebff3ebb50cb7b3486a66e36f81f66e9fcd3a9a30735ede95d40cfbdfad0335dd54b59d662f7d4b02b368dedefc0a65a889b612779ccfabf9fcff5e40ac6fc34a9bd25678bad1452fca9fdeee79d4fcd778418619ae56033843e24a5396199756a41a0d1416adf45b12208e8431058c3eda1ea95acc49328c15d72e3a9068c4f95be3a6e889059f9ed324cc3164a09546095ed56b5996171bdbeb425f6ac7c99cf739b171771501011c3357b8d700dd9c49c7eb100cc78105a524878c0c1a3607441b0292a35b25cc715b567a809f66ca0b2ec3ed42a725a3703e1bb6d859e8bc4346dfbf24cebd83af9b789d61240969e31c958a0b10e6007f47a928c48d9e5e60a7b364b89596c5a7b8b457942281817a7fe87fbd847c6a1e0488a964edff6792effb831e457a50912ec21bba945bc87f35b2b7d0cf2706ec6306345634b87117146403ec7c59efe02abfcc5b6adeace619d7fb982a5c700e31d85dc1e954157c93d5ef279b420276d495e57a1a1e7b2c31abe01189f472fc1291a00e40e588bbe7a827a686b3af57c433c99518cee041d6b3b48b1a2ea5d93543ecaa90e30656ea9eb9ac5d4dd44b6a345dd7a60aed4c734ce88e77227651f52d0360d9bb757da0ba1af6cc3c52bf7b04fe75728572aeafbf9f8c6de08c2e1a600e49cea68f7f58e5ed8b2ba3d20a0c2994818f476bca9a9c5c9db90276c7bc2ceb4440853bd72c1010b7fe4b27221416c5e226a5a62f00ee4b646c86eee618720463bd47ee9310cc190a63b7593369f195551b3d38b5c35d648e72655d629f80d4142093b1e7c740f935eaa9f9856ea001e796e2073f979109c6d544041f5ca31648db04314f79407e17a928b60748d32d7a2c9fd75d68422f49409a011153714eab9aadab014dc88c1e91834f089c6c3f1cbe12a1a30f186248568a93913683ed1f0ba98cb800ce2a94243e398f0e71ebb1f636c6104c5802aea60888d5bec2a244aa9a8cad4c73ef9bc2bafa21e2a6425e05c4fe559ab8a079f90e556e98b1d411cbb0cbdbda34d8b8ea949e64c99b2defe1b6041c3d763bf0fd4ea9cea135b8d556a68aae27497f1732a48375f86c2667845d6250ecedfce54496aded5f2fef001056385329a4532a5984de2a5893aca8de080cfa042501444e6ba2eba243363fa05b0e38e413763057d41c4548fd7435e1295ab4f318082724afb992b18d6a0e5f8ac2aae995881ca5b0d01629c10fdf255404c3dfc2942168a9aae0f07499f5818ae058eb783d409efd42c555ad28bc407eecb4061a2576db49f93e06ae60fb68c534144d9c38c752bf91d028ab1d6973647fed0bdcb6d61c2c6d1e8226913ed37ae78c52e2a3bae40f74d381866361897fe5c82e344618457b42a917162a82288598e0658c41cb9bf44df1ff176e6e512e949133fd0ad88a7bb85865e3bd164a05573b205ac767e5de674305cca3d5a20d5e3849728455e24e6a25b88a71ddba0135f776df3fd598cc109e5c3c71644149b6e3cfa2d2336604b59a56231a9ddb7c058242cc46292902a6616bee021834dc04f071b70311ee7b3ecdd1f437b3e8942b6c65b433056c9c77ebae95250c5aed7aa3efb0170a9a19a6edcd09b8891412fc881373f008b20220c65ffb9baa7937388952392acf51503e3cb36eb03e1793a1131927a2ebb3020c6c619f2dc97923867ebe60b1fc5da5c8485163001af5f498819c2c0da91b43f140421154f0cc5161ee34882ac335ce489925f0901680554afad90d0bd95441f6e404b11100d4d8aa6846208784fe40ad86faa001dc232a5e17069a02a6c38d51584d5c2c61038965bc9c1433af1593503064fd7123c4ff12a5e074cb327ede15eacfa4b54080506a6a751cba70c5860a6373229e8d3ddc04f653b3f15521d5262101b0ef1177290b160b7e608cbe1f2f918db5888d1160ac8571b5ad7d85417c3d278e2251cf099b58469c788fb11a57dd1b5f7bcfbfc1d4a78062ffc50a1455449a44708e5670a293e8fa8b3cc77c795e93e347f5ddef1645a5d950a30a115711de76b886a24b3909284f272e07f074c2e1976180b9bca1208d69ac1a62512422f0f63a664622214a79810d1f408e3294277db6ce71fb90c5d5892b9fb73ae1f12b5231ccbf889384c92e912b2ac03d3c88e0498b23aff1cd5dbdd4e676ef0c8d7eaf39834ed8c9ba98fb088d06425d418eff2bc4fff4af5f39cbb8a069b1268152a0a38fa176ad4aadd64ee64292c44410dc3ef83122286e330a6cfdab0c6ec0fc3d074d36c0d257b8d5bcced64ff99ed48af1ebc2b66058459c4bce223b36b15361530bc3294d885c1417e0d3ca86ca6de4ca2f7942d995ae3cf14363eea2a0e2e41d7230e8b85cc2defd0b5d2da7e92432349dd82966931ebd62155f8e0a37e19e62150ec8361cbdd49538a8ae8e1a7369bb7cfe92485b7d1c1cf0cbf69be9b9be6ae470813cc7b8c238a83a418d98539dd8fbf3a00d8dbd5ca66456681209bae9159400d11e336736e062735e24b30d599413cb84c47552305c274befd571e61305a6975c3ab63faca8afaeaa73b0965d4027fef9fa0a79701f0666149c2ebeccc90aa9bd70667d3493a0a66ab6ae40dfc6aa5bb962fffd146e79ed981ba22010dffe83530358a0f69d663618d72b14552ba913047c444072b3cf4dafb3fcd20ce5a789e309adb2c169c25619b911a1e116ac8cc9343561959ace09d70c60993d793b0ca85af235e64d687f7b90b3e755b6a07a12cb094d14df745bd9acf2d8f41005cdddec8ce087ee4dec8c3737b14eb8faff899338e093e352537080ab672380aa3dd14961eb06164fc3a123af3f4784701cbf16437dd8d0ff095767a77c73338b1f503e316a85a3864ef82e12fd82f93d9dacc14bb63e94a9283b26cb380feff3e163c556efac8894315bcb7bc11a07231de6f79849e7a19e5314839adf6cf569458ce60a427370cadf8543345c9d2c22db5cc6c752893bc8d926510f6ad0c244ae2e4d128ab75e2e1dcaa3d37f0c5f4702131af50e7a85715d991a06bda84ff432e9d8bffa7424a01a779d94574c6a57be8fd6172900be569fbcbac010bbb8f248e27bf318078e3e6b13af6dff6903c50cafaa63f90ae922e5f64d37ccb165fb3b1af6f214cd4ee2e71c0598ce25d7305928947f5aa3563553d295f020329a4d6e7a262dfac81a5a5b0b3dc2c624c0af84d0b5711d57007aa1a00f641de86e4f915da80388c24b4a636638598dc3777ceb54c641406a4f4d8c0a049d0d40b8676e63d0c948b1532b7995088ea68b286defa264f1a710fad4dbc6e2ea69011af1292aab053482a019c77a202d71ccce751af0c80f5424e0b8f3b9569539d330b47f817f16be898050212fcb5bb41e55c56cf08c736b812b1f7cbecf0c8bd6571e30481eeb09763f72369d7316bb0cf34b04ac5d105c2f3b1e08456f4455a3fc8fd35a6321a4cee66cf5cd2b887bb74f95a7640a3c3ebc3fcc2b693f1e57cea9192a8ed621b2413e8f8d86d8e9be1904f2b3f2ce1e04470e69449c3d196a3e6ae231bf90d25bac5717950d69881f03eb6a757100dc7f75640688a2fd570c63463aff904a03f951d1316f3a3f02a9868d173e725ab2d5ed5cee3eb9fc242fe84aba5d6fa27d686e53785f7311ca4c4450838329d8fff620b8d3fce892c922116646380377ec9cec340d08402075496e1e22a2115375f33f1c20ceaf7ee2b94d86687bf8b4b98633e51b20392ab80c1f321dc433f83f3cdb1ff452b4a55098bca4190a366df4b274c95801a9f42541f6172480e9402f81f40232e7c57f4b2bc4a0c6462f8a7d34b9d8612f64bb4da3083b87d90d3a823be0c0c7c95b95ad1fbc3084788c6eec460bccb0a9db5607dac6862279f75eec0bfe83b734854509016b574e7e68001440cd4398b98f925593a69f7f25b1c7d404bba188d854b94a7e234f637a79d92fea81cb34a838a80ad3196186e000a07a93d77f04e46812d1cdeabe9ff8266733be4752d64d42d5d373340f9fe73f69f085443400465d7356ddb3c640f0b8ea87890ac396c283d31ec9ba7dad459a548d6e402b6076af6e2258e91001d16a34ec699f10f77a554b264fe3b57cb958b411720d49b532ddf873c01e132f9f1de8eefe18efb02311d5266731726d01b469214b61a0b40eacf5fda15cecca9f653735809794ab132d66ee1e725b4db2aa9946fd6acb4ba0f1453ec9c843cddcc19eda87ca35d8985336b03acd634cb9ef171eb993aa79fe9e68b37901e03bd8c20f5120610c770ddf07d026051a5b7b3b351d69be2d3e6dc1f9a2697e6750b50f0aafa8fa3f9a3d6ccf9644dbff7345d38318aee277b11196f38b41abf1c5b77ec9403409bbb1304d2d7fcc7d8f6680f5aaa11c795fde0b0081517672837fd8975de9f67d6bb11ef4334c6e79db66df7a138ee21cd6e720e1605ceed2f1fb5c5bee9441317bbd62974328b8f2783b368fe03f907255b7d229b78b7165090af963b05cd00ad360a3b9c6ef59d876bdb4ea8735aa3a7ea1145b194de98ba489d6dc145f42aa369edeb1ad725ad38a6712fb4a004c68f1351a78b6eaf9ec9664d850502eca7776e052d1a54ed806a1a00f5d2b5b83843ab9581a6259c41ad8f0aaa458558e5ae16c05382dc397a538338798b732e99244512a39626994d259863b4b9304588a40bf0a842b4b456e63b476521170e2e514128160f08c3e62b0a30d8f5d50cdbcacd52a40174a2f28d4dda387450331f12d533d990350be799cde044cd568be0f2e0cd43bbf05c9f338fbf9648daf95979b063ade24ecb0369235de51ee2023298ddd0ee42c21ba5347a7622f5bc22bf96e3b33bb224f017ab12e683861f2498a0734a4ab3e5f0834932c5f8e2963dd2ee307041d2f9f34f24745a517d2642379e7052264c2f1e316fa386a3abf91350153c73624c905f8208f71fc290d213d3114557caf26b57233c4500852b5ab48aea99f5d9de2891048fb96666949b2bdc815c1db109d7e08c4a1de03f3a4dcc075ec380dd9317b349e250476a3742799334fcbc94fe4ba28557a421d7cb3c11a0c040ae4185bd3beaf094eea6e59676cf51dda276feda59926b3489bc708ad118c8fd69db9fe9f80b8a554e8882b76827e07fd4635af339a1608aa3bb50be3e0dd75b979f93fc2f74e07bf482ee17672619f37a0bc68314b5627bb8b50cf8e68d7aa79303fe97ee02514970a54e7ac980de7cdaf32d779170a570d8da356b9203f9cb68c56e4cc43d0a4e60176eca5a569b1a3d94f6a06ff71e9b666f87e3b5ab4b091084487f9ef7045cd313e48da107a36888d9fd44cebb2d8b389785827800aebad75f4bb8419acc7744bc52aade8621d2b29df002d533a8cfe548addc4c3710bd09c98fa2e2dc5e0980a16acf9ae925e8cfb45ededd2514c5e470c97d6ea582460e74750583d625a4862b5e20196b104c79929773c38182d7e0a21629d3420aa645ab4c330e09e95bf27ad79d64c00ba7409c8b7c50c885575ac5e87a2214a2c7c74dc5fa49225102fe4d25f20a53fc43d35962ad3f05080c6e6e5ff126b3bb9e707570ee6f4bdd7d0049ca8c2c3d5ef645e02388e267e3d4038a223e6bbd3360a12121b56c7dac104400b52bae41f417de0b4e11fb77ee7277424f56714a562ba4090e1c0bc45d10b341b6991171ab32ec0a444046e0a4bc431acda286045350b0c7d471548ddf2eba39a87db2b591aaf047010a73bf7227c760fe5345bbd852b056952405c00bcf78a23b0c2a224feb426fc5e4ae0609d7e60ab2aefdc69e141b71230abfb2238131824cbab83919eefba1347981124a73b56790385342c5d7c97963a19cad611ab6aa31d2fafba472cc62cedc849d7dc69e8878b6ec6a6a0a7669ed664a973a38f0e38865194726d9b28b3058064fa3fd356ff690a6996343bd9ea34fc927639e33d47bad58862e41b50e518f7a5e67fdb236a713dad8766de48a6fbd147eba7eaadf8690634f3e905983d844184b9d5117fd29dbe95355e5ad5dcef61ad878e406ca14a1c955a7f64919629f5f10a3be42742ba63e0142364a70a44b2e90caa48fd55eb4b7672b745085977c4b97caa0530ef5127300b1c890cac5fd01d10f0c6633f89fe6d9cc91a4e308a97c5821d0969b82efd831e5c75f94bf60940f0d78eb5590666bfb63d9000aaf6b5794fce628c3ad2ea31786eaf073389d48bd4cdd1473b3f105e45b1bf4daaa6208ac99f853f94574b78af3c1a2a6a287c0eafdb28affda43d09368f49cf461278fbfdeaeaf4c8c623ff8fe439bcf16a6428b200dab19d13327d8658abf6429974972650d3687800e0d106c120183b5b106866a37bd8dfab27f98ba843c0c5109ff3ea47d28aba7bf6e0b212f5933a822945bf59df4a939140e0db65f59e38617b0e696bf5397c52ea077cd351d542cee543f49295499bfc5fa16042362ea4f90061554f26ffc0422efdcb45d9c3f36fef888a3409564ca98fe73decc567f425c2d2675e52a172a3b9fca2fee1e6717dee0d3983f789682e5cb09589d40f3bfbf50c6ff2144445cde418249e095d8b5eee24019602415dc7f4408469ea7908fdcfd1068ccd2043a8753b2aed00127a35d633d0ec33dbbee774dcf4a91c4fd0950754a2a1518e729dc0debfb37d5cdcfa8ee4eab5d21f4c08009c78b67e533a0b93f8ed04162ad0b7a50811885f846dbe892c95246057048d34437c22cde099393ad275760140ae397a03380f3612738424c5ab2331603bd3c84e1c00128050c6e6d364120bfa95990bda6e9e5d986f36add572807cf27389e75fcacac5ce6102f31e2492c521c2d58dbf4a3f774bf318749ef6914e894270a2825ae070e63ec4bf144174fff405be796c960922b0f83c9e130af63a0a88adde1a067b9a4a6563278d7361642a71e3f9330d84678b0819ac0f278707ec862be570a6d975d9efce248a013e77a5330af38e2cab6bd50ca0d3708c5553ea3d81629ec428a5cc62972c93420ed0ab3a795e47f24d48b4b8d16df74c391a09cbf164a55bcc26e7f143f8927f3908fe5c761565397cd694a3230523083ac6febc12f0d8cdaf959df08ea1f6722b7fcdfc994f880b1b01026697b07cb9403ee2fcf630cd8bb09ab9e4053f613a09474fa2c625ce26fdb7747e6cf19d005643d8ce2737c814a51153673ce2939b3394b228132e00218db5165518be4ef2219cf04344f1e544c42ec432385213e7098c44c652c179ae81ce4ea077fc90b163cb4975844b7df07e6ecc42c7185634e840a8b5b0997348fdb68d10d4191ae58404b3a1b22f48924433918803fd5baa2eff13d2740e618ee356dce8f21a275c3b317cbe0db0b5243915d1a6660e32359f8a3b2a9c293d32c630a9b0b4563eb54462400a95498468422cf4a90aeeb895a8e0d358d30e8f9280c15b93c50690543acbd1c31377698cd05b975b86b2ee6c3e5a5e4214699966902311f0afc3c26edfadaeb50f3fc8cb579bae3e7bcd25b4c45ec1f215bfe1c77e168da7820b06923327faf8d933fe1c5a6819a321669650af765134210aa27e24d3a1903896a313a9839fdb7af8fa132e07f4822dc2e75ef9a7a9b94ae355e247837c407f9034705c8201f9bfb80d3ca8c2e25667dd0109aba0287a1bcc4980583a09b889c5aefea083b79226de099169b4d2b930a6ee03624316b644ea2c1a112d63499778fad3dc7569d813ea273ff498b0c9f83d0df66913a1dd1df898ee0d7726e0a4c70c2fb6ac4bf8a5448ad28c858fe0039747122f27b0c0e0dbf90f343dcae2f2cb1fc490010e7886ec19f237df3cbdb4bae831d9e37dcd664a9067cf6cd870c523a36405472ec51bca3c83aacbc9844c5b58b816b5142f32d9ebfc105dd9a7ca88513a5096613c71940c28d9607ecb42b635b665db687939b65826ca8566c58ca020537afb269bca1917eeebe8335acaef4d7bf8b6fd7e3564c07b62d1b77c98d3f83f695486e2fb3b14a3ae46f85fee6dc901e0f115a1ed8accc17462a818f74f9244da5abf28e0289c9d466bb7236e791a71193a3c9321905c7eb6e68f86ca4031eeba45a71f65dcfc824591725ee071c8b2a80ba81308a52211feaa5d60cfd4e0ffea9a8422882d56c6eb8684ad461cad665b36b864cde2fcde9f652f2666b7e93fb3babac9d0677c4c38bd291e2580d680d33ce6e402e6eb95822d404aefc1aac76c7ea901d2d2826845acfbdda9d9c6ac62e0beb0ef6d18f7349ec6be978f3a3ecf973b45451230a05db2628e076556fcb79a274024ea3b9223f005336526da6c41b873d58353b104348c95e1172315cea8045584193ecdcc1b73311f89d79da71b9d4f33a42622272b2d5dbbec288b7371bf20ffb125b40f1c2a5b53d5820afa719e8582d8046c815dd542b3409916b041edcddc6db495e5ccac90082d3193615adf019128918994059b16864aa27e6d9723423c543ba5a7555611a01069381a066f53a42488c8fd8e3e1f06e4fdd24171f8a0f22f9b5f2944e6da755bfc3c12dd52098b87ae86aea8f243a810dca3854dab1fd1112673c7aa911e1331aa82f22beddc17c93d02cafec71ff5512adfe30f449fb2abed142251b5f9d0b6add774348a020be2ac3986bc7d13c30d7e43b20e6d07fd9c154c2e9ca181ba4e1e68b4a9d98a8cff7b16866c65eb4db1f68376b8cf87881608e0633042c5e98a7be3d68ace14e58d26b442a961c6c73e0fd12c4055fce8c9f0bb5fcfec8947109ba40e9d4f6af56625b7b4d5b65b2244932af596c4106ce66fc6dc9560850172196ff9856e102faea1e256fc93d14c35ab6ba42e727d60c0ed604f2ef9069164529056f302e760fe41c4481cc1bdfb20732867bbf7a1f678287b20cdf5f9f969e85286576333b681a1944232f27f194e20ad76e9a9f576f36a8ae3501f37fa84e957724ccf01d02ad7d75f5c8eb41c4621a71dc4da2a176e7b070ef8ac45543682a589a3afdef58a58bacb969ed824db7d5a70bfec22364131f409e0f96286aba44afc79c86a484609b437ed4d5892f836aa284d4e346fb6c32846e673cd47a2cd5c979defb803f4c264e01e8bac4ff324234bf2743814a0c265dec9395cc89eb4beca925ec91feaa9e95d9e6b872dce5883d5f128e608314001decf3d54c94405f6912438f8056641fa8f50c23530631bf2b13af4136bc016282e5b047f625c79bf11387909d2dfd11149b8ebfcda160756c94a9e1330b2ea9b215deb932852a5c56c942e5fd35f368efb08a5774fdea195d80872221255fd27d225832d04be3b3ba633cb766964532e3646005c6b7dc6c022f1cb3304274d299c3b880f985ea5f33884ca9cdd71739738a5d150f8e8e00f9c867167cb785cc9d296aac8a46a5aa4f980109ce261f482e1ea52b3588da8f9f9af56f80ad244302afb37cf616bda48c6f5e17dd8885a6d55ab5ff757387212670590987d0482d4b184b1f1a74bd6fa38e4f26c94829822e3e43c8c07a77ba1267b57b65e558f5cd1af6fc5f165cb408e920722dc11a632ca3504e898026cc29a0a7c35d4b136bf5063ac9dfdb0e9c2670729be68e6d82edc2901a66544ec9fc14e4fbe6da910b00e306a76863cbf6374edb3b1019910415dd2435e57f52b5b0cd6ec696751bb844619e91577cc00a24a5d99899ede9dc5c25cf22c844109bdb59efdfd6e1b127274a8b3ba35e39ad4bae15b65e073281776bbcfe654cfd38a791c0e9633bf2f4e2e2f78e42cfbd970fa124a88ec19e1e70b02b6fea77ea5993474d945b71b68076cc5e99a07f7e7a488817f5ca594e8bc95891092645d66796ae6a62fb61ea8809015daa03b09891178990a544b659eb6333b8f7fc739a41caad7c0da814b1119c10b670200ad0cfe1845c5e83780e682773e71f3d9fb59a2f94f820535f9aa495f04e7d65823e827c982b61a8ef0f7fb3dc7778979077578ba803ee25973b2347eac0417f02b9374bb6281338c2a4649865ab2af16807a0a3754e3b749ac18c44f8b4e1ed49a11329475a95ab13c25792e999e773221e8323d0a5651aeaad3312f282f4b374bf14e0a501597a6de0c62d8b9ee6ab795a928692746570d68cf941a8c3e91cf0355394e5c31245a3e73c0cc2de222ed3f86e6afb1cda0a8646a72ef1c00e820b20b0c2da1b91b17dd6675713b783de53ee583346ede388be16d7912298a71842fb656992af508e587ad6c1d733929e282e405f885dab790453a83287f03a7877dc20ed1dd01d2d3438145ca98daf31a6686d99ef23c3df3cb1e9e767a3673ba46749ec55dbe5da802d0db272dc976b62d2de7b453a4e3c5fb49a052c83b76aa8ba8c57ee227177177752e51cb995a4179c0bd79f64b6079f94716f65af07644d0979e1d1d83240f42fba3f92a7c18789e2356da43e07f56690d8a0494310c2910bc1f206239dd32cf00837f37f9ee113f0a9d4880723174967a6e7915332b89734f9f5deb079970e6fca2802752aaa11d31340e49fa54d93245610d047841d013be692d21d07b434fc01b6a73d49488396b7905b284d094d899194b3da0873a3a0ecef58767b36207a57820d4585a9a90de151d82782da40c9c29184cdd0a0c42e057c4a73084776f2dcd721959ce1b384f7ccc0ea80b6d1638c25d1e1e536961683f44878608313dcaafc21b62a46c041cff8619c3e9f28398758f3c97e039881f88bdce5687719a447aa02c612d4a38894894a005517757b342fd4a3d6262ac02c3d79a62e0110b0e148beb81157682bf00ca4d39b1185d80210b595d903dd1170dc80b16a27ae71873d133f9fba3223f6a85cad445d34bb4fb10cbe9b13faf0452c2c57ccd2fc71212fb0d066074f4a036b906ca3152b1807fcfebb68224ed2339fa6743b0e060faf9ca0f0004e07024d3d624434e45fea3aaf1d63d147f634a0e8915a748ddaf8668c4c939ce309d70dcc9c27f15613c5bd82f98a3b5df77264b770eb170d9a7217c063bf6837af7be2917fc8968df262ecaa836f10cfee6f67598fbda014e4cdf02f9be1b15700402b2e5913a7190ee5dda3e1b15ffb1e10e91952e67721869c187fce1991d558be64a8faa33463d4a5b06f7997b75fc1a20124341bb5ec56a754301a3384ec2d0639cb7550be4a91a3cdf3554b07acc9272f7c84f868187400a6233b0a2bb2ee24abb587975b1244bfc1ac080d0e828d4fdf2de2de430ad6dc7764944599ca9eebc27339e1c4648f8d86091fddfccae5238cdd115a01308c9886308b35d9ff0e694388759f33d11dd0be58df13a4e3604673682e0ac0f28916bf76dc19ad72207bdea90460168c31d8e805312f80111a30ab8dd36e9f58fd662faa6f2dcce5546cdc5af236affc0960088632987222f8b127e826a89a51876b5d5fad6e7a0ad7d34bdcc22118d77af6bc518a59c57e479c661767a0539dcd1d4610ece426ef5d2a8d498c5ecdc4a4f88ebb58753344c268ce13f4481951c83f60570bef9e240a55f5a60c743e9ad3a4ae668f8292f9019b2b98aad229a6ca36260f161aaa61ae056a857b47377c9c11b50e58f9b377f945d969ba4bb13a9762974c520d5062785f2d02ac87a71c6242cdaf3688e4d4c94355fc4d3ca66ee885051071f67018aa24044a8bc71de5623571eab16195d41141d7c008d7250e23615f557a97184e1a3f735176041c95f75b4607df27119cc39c5a2084eb7edc5d44e9ae290f10ce3e5b94bf33de62f377b4633da97ea4f304018a9c99c5ac034e61326bb284f6a2b9673a9ea22959208816d2f11ee04298a340cab7dffc48484a456096d4eeacc63467a291fa5f0229066d317f39212e0e5417b44295249292feac090f27cfcdb468792625587e46e5d2d4b874925b755ee2808bf0f5cf9ab9ab3040de51ed0ed444bb98ef8826388aec5512395040564890f59af65e235f1075447a3152432a402f5565b851e6e12b80efca1c9f1ad53f0a7a1f991e8a0cdf331a9af8862423ee23f6277d8498a565ff378214a246fa906fe20b98d47c003c2b7926ac70aaacdc6707c78de7f6e5a50e7f0c0bc7e27e510ea82853de881f01b9cd49db0c5fbf8b8653619081a8dd571c9440fe2866c18f5146349b745d709f6393d474857494a1babb316af7a67bb6bac76ba7940d8c85cb49378e016eb57f0c7e8fec8d5d69371e03d626d95baaae28cf827a508a776ad8fb516715d284e2db2b31bd8d0c8911af8776d3873abfff63d49c18ee508c3335c648e1068a5edf744bd0b02ad871866ee1d8b4e58ef79f8d61291f71a9abdac67f628e1e5ce5f91428f20e4837967a2f731a95232e734d8c8678a981aaf65f594ff51b9349e0969d747af17e4a63ebd36d3acfe094db3398f6da914f176623ac2d28409173c412996e10ac9abe2265e17462a1221f2514bd75f3da6df762d37747ed8b5d5bc6d9aa76255478014a724532f540e6c56972619c913978ca5d453e736062366f399e912b0f7b032958fafdb6ce2e6d52ac59dc8b81a02e863f18e94f66d788f46d9ae2b9507ef192cb15bddeb67466a35c292f0dc20303dda670450a5671d24e80ed02ab674149d53107cd7a332b5d71b3a1ed7e5688af6a739cd82d95ae789fe59971e71ff682abac0ea0bb9083b64d21d1b86b5a4dbe89092caf6def358b9d2acbc249230744303d0631b96ce71a97970102ccf60f35560defc03b7ae7ef914db08c17b8683a8966f4d28fa0a2362a30b402bb9059a900ce26aff127c12793e529d8d147df43d865a66067bc334cf704bfc8e45556ced903ebde10f1337d1fba57d1b3d132395847e61733a08c31b0a70af48a3d362f47cf39727f89909c558d9bb884df911eec7f6c9a715b34d4796c5b22dcf9d51b20416efbd0a63c4b86e95494c8753bf00c1fe7235b6a42304eef8313160ec97fafc21560f6b9efef1cc3670471fe411e64c943954a959fe0e25b1a0bd2660611b30e94589ec7043e56d891853ab0569da96dd3665ce056d2f401705448b8977a10b83dc5cc994cc942a26842f3d8345ed024df5dd6a406dc700449abe479b011007212b1e30b171f61d807329688c99ce0e93cdd2d2aedf70d651130ffee09e92f2c923becbaa379258092aebd64bba21b4b453cb214cd3f8a6b0d042157bf24d4a488b34cb3af87d25cb04d4a02dcfb013c5686ddb6acd81f0275a7d08da8d0d4bf9ea7cd52e283cf84ef16556c7f92060606f705249f1fc6e05434bc43428044050f0ef7f2070cfb7b86afe5dd2268fb57874aee1e3f0f8cf45e15fa8091069898ad80bd680fed55404ff365d459b1e6b7af888e399993011fa91cc207de794046f2c0ee2264899aaf22d23dddca76e1faa506efca1cd834abcd25ac87667425d17a62308e35917f03e7fc79eb1b42fc9caf1f8cb8924329b1326dd90735342deb171b75705f4216364cd042481084ed19be55a11fd0ff48529b183204ce215c4091c78d80d54d30c915186431ffb6ea4456f523247208a9b5e97134e2124cfc243710e910112e03304362bca2eb0ff90aaffb31d2568c38299f79482386b7cdacfb2e81d719e31a1a0be735ef2fd58a3d198a2114e83d6b86114fdab6221ad0594f288ac8a280c1ab750ca4ec6380bccc6113b1ef4198e5518a7ec9e64153b4f08a4b8b2aa8405e1155671d20163de6a39ab33d82e55aa3b4c614f5ae500ac526a6bf836e815c55a4eb50a5c349f2b6acead56c974b3ea48b54af2ca5262aea8e6e9f693a3244f192b3f467e14734c2926de54d1c6f1eb99c3ec2ec15c311b1bbd1549c0cae91e3cf99bf95160d9e75248780d3a8d35afbb4fbb00b454bc19efb8ca4310227901d5c62fa083ac63146c57ba5da5cbb13c9a8f52a12d3088e5b5633ff8331ad93d17e9053bf3e2eb31a3604068346aa7d563139e3e40eabf576c1ed66664cf5a40542021c49101d890e90287cb87fc36c5352f7972a9e432c7e2314935c598f02b0cc634ce769fc38d1c787eff2816b7ba21aca22afe59b6af3cb1a9eba88d2049c00e6203b96393895e8f5bb6250a5873856814e96c241bb1c9570aeb134c76cc66dd75b037176cecdce90fa2b06d2116c76faaed2b7cc57d50897d823116d95813ac01c56fd7ebcc30e7907ab0f6d3e04237fc3a48355189997940038942d171b503e941acdd30e344bf47ca00a0bf1689c74e27534354a56b3b8432624a25712e28b68ffd6ee177f0f68514130f9dc523593dad335d80392d59785db7850f2b950fba2fb9781c1948004ace0f214831e9d2f143dccccfe1bca48ec121016a76d17b4d7fe012cd2f9a343f7a620a590690c47b7f07c72ce36129dde1d9d0560d0d7942f383db2e8c4f8386b0946787429a74a0649e88c1e6c86304eb46c6adc6e3c5d39e07e5e37c1f02643406dc989f21fabea4555e73f67439bd80bf0bebbcab9035ce08d3ff2b252d237ff548b0585e6ff8230dfacc143314986499cf2bacd74596b092cc1b9c582e8b4ff6a6e900b67ff1cc49344c4f207e9e5f39e42072737e44e77cc026d74b67de09f4873e89f0deb833041bca834741dde2df12a33646fe132cd74e8abcef572e06eb3de7bb040e298c10b9816ef71ff58491d72fbceea8cd1f389b1a91123a26f76923586583d5cc850f991bdf6e61ec05bba999934594e3e71067af6eeeeb5b0ad3171a56245f1a913eb75a9cc9a56d7d365071e0ffc282f495212cf7d04449f093ffd4bc339defd389b85d54ade5abda1ca7333e6f15048b820da7aec551bc4d054bb74aebca368359287e19170853b9e2e3849f714c26b6b4e72371956be94bc059215ea6c5e2f23d346aea3eb85634f2c61b5a26b5a546a23ed56fd071b48000fcfb594cbc43194346b2ec2baf646e0951b80808a33e4ccd467b0e6c0afb45270ac384ea8e1ed19ceeec32bda53ff2c47adb85f17fe16b627aff5a107a18807848590651ead323675febb86a90188930b94fbfde14c8dc05fd307aa2c93131f6cbada774639fd634ae81524b0dd731abeb9cce67f50a3f115ba99b7bbd6be2babfd46dbdb2b7517d38a56e116b3e8f20ca386186b7a226dd2155fe4540d6287eaebc3791e253f7cd39d74b84c90de0e73637b1764d2a45db5de48f1d6fe7ea3a973c3c6dcf830ed7e8dc393a85174c765cfc736ddbc53f87dc5a6d51eb55eeb39229ae9afe7d2c6038deee38f8fb30a273d75039e1b62fff0331899f5ecb373acb957d80309cb6ca0c2e07a240b05ba4820b5bce463bdd4089c5a9b35d38129dd532034cd60d6d330419f61b9dafe9c98437861d20ea6e21cf3b273a737bb43e45f372571712cf5f6def8f81bbefd5ad584b7587f2cc5bdbff7d464fd865015d4ace00dcd554ddc0acf72e26d31f71db9cf6053d3137cbd6f07f326fcd8b0891fb4e672d56518b690f696744cc5d04031a64934f06851d40036c97fdf7722f4a4cacfcf3040ecf482aa575d15331a8292c9b18fbd2285bb0ab6172db97e1ef1353afd02a92ff8bf1dc4904135305c0dec14749d847c86e58a55b6754c7ad2e669e57d5544e9e4ec3d22d055c99694c4812df61f28bb65d0b33f279837d6dcd740c77d147eb4688afb31af8049d117ea6aaa6b587ad73a69ace49a4d4e5e4216f50adea4e6bba0a0426f0f5aa32ea054bea11dcfc5c6528cae0275c8f04b62efbcc85e10f0f3af48a1604fb552f744938a175ec0b86f3ca20cfc39a825ea88abec657a5242a098c479250f56a5da535366010842d822a1ed2f19e53bf935038321f9f701aa63a7c33215a7d071876b1441d292133b3c67220b7f0f23c1538334686bafc2e6d3e984a1a227096f052cb01df1138834e90146ed05641536d3cd49d5a05ee07acf4fab43f0532b939fdfb07be9c9d4e9f3830335b5385c89c4d9a8c560b1f64c8cd0a631d533ff3d89fa7c34ae5094064e5fdfc06d4463abfea971545bd0fff8b74eb5492bec2dc5f9f2be5a287cfbc747de11a4965ae25ad70460dceb8820a4112d8fa0e3f645eec3bff8acdec509750cda9efeef80407b1188140ea9ba16a8d403a12ecf43cd5e6217a312bb86ead314c19c7e1c821f03e433a505f7f8b1af1d724de1bff5ed0f9d59e18c3328dafea3953f897a93aea04f044365a31b4de79d07ae1160a582f4d7884e406fe771d885411b546ce557e77a5b7e381e86ed57d012aecebeb7c2cce1de8e46533e69c156f0d695d678e017edafc03abd3a367cb824c570ced09288d959b080aa347aed1000c5619f7e1bd3ba611edac18f17491acddd8c266f7709475c44136faa0bd39c879f88da829b7a00464c3df90fae1f0b9c6285b80daba124418e99b0ba3aafa8b4df2175c19ed3376b4c1a1748423c7540c210e2d7c0659d626a7b5160f6a1b5b8e79ad6096d0d2c071c6e1069a520fea3bd37b462979fc4c5751a87f114da1b31f69fc6b647d4f92fe31096dbf178d4c9c111078a5aec2456abf5f6b097995fe1720f2ac4fbd59b8df732ccb8884be446cc7a87559b562378c714d2e613dc3ef81809104b797afd438492a61f82285a18dd44aca31553bfa06441532c3d06eded679a587956cfa287314cd94310d49039d65c989c59fee9a7358dae3e82c3be3df7c5cc4bcfaae1a1294500c61708d30a3f63333c24370ff18e2c6e6bf32dfa9862b9b8f551b714fa4c56ad21010d6f4065b6726376b1ac278940f25a875f4bcd8d95031736f9623a9886859cbbfdbba2b485c8358278eacd98b6f2044c478768d1ed0795a476587a1469039acbbb1d7213c18fae40f669c207f7d1c3f954cd990a321ca9200aca11e8106bc88797284f4088ee1969bb3bacefe6aacc0ae9de1fa916814d31b3af142004c4d4b0455c916e69e189b8bcea85a0af55dd78a034ebe877e982bd3dea06e41515bbad71985e2bf6c387c27a4c8e85c9421e9a546b7c9280ff03ea5d65085366344a5b761792cfeb6d7527c4c5151903ed456f749357a6d839686bd04fabfd3ea5c2fc20c4ec6524a686084f20d4af0c563518851dd42562cb5d5fb4e50aa2c982482cdc48bcfdec572b55f2278cc1f7472484036a9ee3260f31716b0993753d5318b4e30613d2b357bef06bb50b42e00b28622a6af1794c230757a7d92e4d67f4d724b2b80474757b3d2ba6256e201bf44e8d45e53e7ba70144be3bbf56d08528fc9fb77d58655185f356244a6e36014bc56728e0851de6ca077010564e4560df7f9fa48b83dc1b8d9d2fea0c99412054d45bdc2a64001a8f2cf3f2232df30b6287d0f1b68ff51797395c6ed629a67fc8e553a46a137f535281474bdd15a9ebea6ec3c7ab922ea899fd4c75bb949b9ba8fb33ac928c4fdee2f2af08e7e709467c2effb67881abe22f402f3207904f6cc0d2135eb85f14c02bea323e652ad971514b3584ee4cf0749ae877b47831ead524ec028100c4c7bb2ce35950fdfbb1c6fb2d7657ab2fcf6f046f0d80c484fd50d1ee64019bc734a90fa73f91290e7040502e0a3b85d66718383c322d3fd41fcca3046552be74c0b9c262821d8836aa06168b6f2a6f6d1e627475a68be9c3f12b7634c385684d4c19cf503ca15279d4f108846a30e88541cc770924d05d150a456345553e55cb59040eb5de008eabd316af619025cf4962b145768a5e88be40e0a33b1414be68a17b3bb81f2de8ce2e3235133928a257b9710b9f79629c9149b09000ab8094e4c183170177ee0970530cb19ee85eb37dc70e3868d36d8b0a1c2061595145a4a0aca1a50504ed470726292061313531293a9040d2525a533944a243448a4d16c34129941240a95211402910104b26758fb19c3e7e31183c7038601043f9beff3c0e0799d2f743a1c2f7038d58c5abb2e741dc7056edb6e7f904919c02fee0be097fe200ae0970f6204bf308a5fba73d00a2f62e7fb9cd3797c1d3d7adcee7175f0a97544410b5788c133c22ff3f97a4dcc69344fa3633ee331f626f89eccd7791d8e8834aa252513941393c77a9cb3e41795f7bff1954086f155122ef71252529e6c988e2210e0c936c2e516c2457518973b082adf3c60981daa27fb08372b004d7689e327ad552e7e7272d62eccca33009e7f9281618e7879729ae10c249d7a729671793c39cdb8fc7cf2fc33090c23c58e27e71260fc627afed96ad50984e092e7d2f34f2e18661209e2c95983cb3f894cd1aa59fac91ff5e49cb92d4fce21975f8a4e9da0a16098f99a2d403cc974b8fc4ff04b7d7e245ae5620be954e739cfaf0086996368e1f21bc12fa2672402d8e1ffc33443c7a6fa3c7f4aa742e0b3f716f4fcbe9a30330d9c0697ff500c1fc6e536192f3a264cbf0820928d9a303d868b48f6dd31611aa612c9be48788a8728c584e9303a8cebbf433c8110e200f886c88469571022d9b72b4a246b8b48da3b5f13a68d00f16a9638fe1c63c2746bb6f8b38ce1aa493363c2f4cc6cf1987533c43f8d62006239623844f2af67f2f1b02b6f02ca00e04d6e3caf0020e41e45d15764842269df0d645c7fd38d7e4d98091b63c2f86ab6c0268cc76063400176fd3d95d0e3c0a3bf0d3b5cff943e5cff3d5cff09cbc375a7c38502bf381c98c53d0d5f03e67510dd94394b668934128540f6e3013fafc3a91db73d492f990232607453445709bd949f293fa749caa74c9eed99a2cadbf814959f9ff227df18accadb78729645a88840f8ce1494318c96c58270fd4d4c25a1a711baabc4557297ebfa9f989046a62e31526a9a3f0af883bb55f4349ad56a560af883bb22318d1efd3b57e3ce4c186703b79074e6fa4f91f435aebf1b98c55f050c8f78be1be08332533ce2f9ee21374099d07b4d43f6b85307ef5075cc4facea99321966c2668b3fe5caa9ef43efcdb0699a45b3b1a6396cc24cda6cf18e48244d2391b4252293449348f6759777ef252269bd2492d5bb27d1ea4824ab48749a08ca3821823253ec213dfacf39e79ce037d8ac1e798240b8eb3466f147e2353d7aa2c7885872ce625ec6f5d07b7f48dc619de09adb2da214e172c177b9a0f8dd006b132c3967d64f9e9df3c1efd97922e9b58f87dd3efc3c834590aee848fae4efa3dfddf657577db6ebfd56e3b12158cf917c426e8bf1fafb8434c6633ac6e3be4f386340a1dbf7faede50b3e2892ddfd608b2845d80bbebda0b37b9d59328bc7c48840d8133aad79f87bdd04f8f4f2fd9ec11f1cd269fffd149b00bf459422e8eda7b7452a924eeb84a4d726c769d637af9162432962ae6ef773753bcb69829d4d9b79c64a35f23f5041abf0fc0060b081732c3bbe0bcaa5c727b1e3575c08c027f72d0b9634d1f0ab340de5a8a36251bb3dea1ef464d3ea498d4ca147d54b5b5ee949e3f67baed22bd25e189fa4531c852231afa47c3f9e0fe5dec1775006f47842f2e3796ff33c0565ba10d8cdf35de884dfc8384159f7f31b28f321b76ddbba6ddbba6d039f0b3de8b1b487c8a5b3f1537b0f1b577965d8170c890895f4724b78e6ed507039cf239dd793a4c7f61461495aceb657b50f5b3b97fe2c11a147f4614997bb6defa37de398699f50c811a5ab8e7ccf8547e6edd1a96de33acac9d8edbd0e0a7630017e3da0300afb52d4dbbdafe06edf3d68c3c92ce04f50c6d3fdecc12c608f978d96417cb8ea9b9d0d77002757c08132dde7b51ac089992ee5e4f634159bf75ee7e289cda1cf11bb7df4b2488fedbe6da4edbe8c71ccc7c8da9169a394b67a24bdb2536467d3ea14e99915e914d9d13c23f5929ef9fd4258d5d9f0a93b1b2444b86467e3a95d0640c74d39f078e5f985bb1e0fcb84134ff4e8cf448ffe272a3b855512177f1ddee33a59a760c28923d783f0d07ba6bc6512c3a4803c0cf3b3c5ebcf19e7d4f72bb3c53b1a76aceaf1cf9337841c315bfc390ffeca84492207bf5c40c8849933338c0e12f302498cae9a2f60d7a27a464ff4fe3372978a93c52cfecd85257936e311c909c6ddc1f5076766163cfacf368283eb5fbbb8fe338c6983b9c5129d6a8292fc3267c02c73c86cf12f72b9b849513a7b09faf595a0fe4b74aa1339b6afcfe424e1b8b0fe53f4d1fe9cfb0cd25c73637fbbfb1d9a99b96b73777ff39c734e7ed27405dfc2a8639cdbdc2a6a7499a4ad591021fae871f638e7b66d1ceb7113b78d83f898b39da97bcf982d0345da928c95c7288b9a939f7f3ef7e47ca761008b4808f94b560e4da65ac5594ac15aad9e60b18c652c63ad66562bd69d27e871169973ce5973494bb20c09b7068fc16f146a3a90e9401c488f2e392f5d31991c04e24026b3b0033866a6052d603f01d91a080884bb1d0510fadb039940e66c67ead91848ff9ce00fb28a3bf936578ea79fab820705901ff352fa611965b1b658ac7bbd3e5c16b682b47ef5ebe626169bacc9cac276d5f301c297ec3b9f6c2040a6389985bfc11fcc6af7646af8912e28db7571b45dd265ba502484c85c9030994c2624841c2113720412d447cd11dd48a28006699a99515de57def2971b9459309d5a3735e8aed6e2ea81eb72751b7566bf96f78d789d6c55dc21da18b3b5c7c8a2e28d58cf9c2b11f45a250d6b4d2a7fe1eb777e8a01b57045fd9d1f9938df31e873eaac3a195d2af2277f53995d3e1d4aeeb38d1656c2566f4e9268a60f0d1639026a2c77699e823160b427dc47c7810266242623e2c97048927b39ae988744ff26f228dd5301569c94f91d070775df74d745c37eb7cc627ee694d8f318aa491748a9f7294b964f5d832424391c4485a0615a98bb6e8eb85b67aa4467a6c9bdbe2a4adebea94485d2db2ba686cf5a265dc7efaa22ddaf2193f59651d1a3c939d11833d56f0b983fb936e1437e957da71e79452ba51d1451c7b4459daddcdc30aa97ec6f5f7c194dacd0b4ec25c7e0230cc375bfc3996ea9e2dc972f907c03076b678ea03339a76d429ce873e0027982d9c821c97f9ababc067cfe36191484209249836fa2391c437617ad809e363346188982d4152c02f0860167fd067edfd4653f4c9bfc7849162b6f82cc20402f8850241fc413ddafda70c2cedd15d2685bfbb3f0dabe0d1dff3ceffe33f8b30c1c46de229e03fc49f69424ee0f57744bff7423a452915c9feafbfd3954fdb83a117921eb8dd1fd1a98e483271bbe77113d2a9af21f30e701351f4392cec9fc055ec6dea508e1c5ea6e691523e0401091d38018f526a81324738ca89d54f6eab1a3d3a194ff653f17b1c7bf4169be85fe9d1c7efa4f3e4b66d9f49ad47af5525e6a74e38fe4a8fbef26367ebfe4a7631939b3e58d23b5817eb14e9951d199df2cefbd64a2d926ae60aaf814faef4cbe9856ecf03a5bfdeef82214aff94d1784294167f74b75f0c465285235c3118491558703bd703c6e561a78c85c276877e633cf5fe38b92d72314baac43a24eb6fafd4c13a988acc551d8c5562ae32a9f1c9ff8b552d91b193879df5aa9421935d6f15243dba49ad532a31959a19dbc1a8ab660c4cc807dc932b46b064bdde0dae57f2e8330f5625a652055675303ed52dd8305c47e33aa9e20456955a7ef2af54b05ae0c40e0cd77fe2c1720cf764481692b9eafdc4859e9a9f5c25d6af125341d2299e8216acebaf52ebd41aad2aad54cae8144f81a676bdd43ae3ba4a8dcaecfaac912ab4eb2b2dca4baaa871ddde9ea556a7c80ee62abd3a457a4a46fc992c85710d70c9d2184598d43c5e7347b064bd3c2ced91d6be5cd87dec57c6cecc5615c2987530a9b90a34a981213569c2c9c7fc1233633a3280d4dbc1382658ee3b86fef6957c9cb06fc957c3ceed848ca40a61dc2fe4dc2ee42b634997f18009a09e87a68579fb7627233bd96dd13353809df77bd233f324113db41e3d352a5ce78a601989155e97f4d44e3cb5ebefa175aabe7f5f4725c69161bf27556232d3fb2fec3c493ae58921e8de33eb1408ca743a61b547b8b720159d2c468c1a925d77afecc8e82e76fd3b588f4bb0a44aec44c6712199d8004e8c49cd4fb3d4aa695dffad66522b912a26b5ebcf852a313f11614316b3b84c2546febb8a7be7c40ee62725585225d6c15462d77fe3e0a06256e1340821fc58596980d76a2d03e91ffd4388cc0f287efcf83199798601168bc1645e2f984cab0593e16034dacd0d0763afa961162c7047e0c6e08ca0057704ce08dc189f58ecf5e25aad58ac569a3b6d6cbad52d1a6dbee62b16abb53a37058ffac72cf273656666669eee1cc71ce6b88d726194609362bbf351e6f395c2ef8f9f6150f64144651f75fb3bb77fa6d592a83b6d0eb8d79847081975703d67cf9e73cedea87bbb2071461057f1cf37b1cac5e5ce383073cf6d6edecd73ce2073eab8f37bccd77186d7cd75cf3069ea766ff36d13398ee368f7123d724f6b3599384ae9c6dcdd4df2135cf4a624c7711c731d5b94cbb6fd48393ff177ddd57e686f9e1accec547461961d8cdbf8ef54a49de1feb802d210bc2b33a02ff5d2a71c1ab428c31b2ef5781c0a3ef8a5d309b927a438c1139385ba8e9a79428ad63462c46c71662f84748183697044162b4f4e2d660c780013067306896905009e9c57f01e583d720c78c483c9933c8724e2203ec9726037bc68a00d294f721292d1c061200313fc05d28d27790b97ad7085cb51b8fc97619e982d6e02bfcff3bb0a847295e843464c989409f338565003e0971f5838069c1282477f548f49f4982d3e04b3f8b35c7f0088e2124c04992dab27c2247f43245b85596a77bba84ecd558ffefe42706a5ec1a34b8f216c84130c1ee7fb20c20807b81967f84f33dcfeb9ba825323e0d15fc54b4131391143e0c4b780d0baf1c50fbeb091031fe44005072e1ca414395204e5063db8c1890d786003132f8c78612a775096d44007352875014617242e5a5c8c887c4144b4450eb608d1000734006951440b4b73039a4f1636c8c233032f6600caa094c137a40643bc187411830e0cb88001e705445e50595bb03a17d0c0051c16138b16cc16cc993933af98574c164c164c2bacb87d44126768408939e79c73ce39e79c73ce39e79c73ce39e79c73ce94705ac1e3546289d9c2c46c098113b3c51f05c9894953d1072526cc4411c9be4b3061228e6035613aef1f0227a4f0273ad5613b94904adfdddddddddddddddddddddddddddddddd44984a4aa45110231c20a4660584b9ba51c50ffa60830a1ff0416505ae3da44c71640d1415f4400f2729e0411e4c5060040fa613ece0a6c4043ab843a90460d8814482561d46527ca186680439a043280a1ccc0104451139d8276e50fb88c00671f084c00b38802028dff039518334bc26ba704387e4a20d9c0f10614365620b5ae7011aac81eb80166ae0401a6e2f4193dcde804f19f08b0698a57ff0196eff1cc22f19982cea9ca7232ac12cf3c92abe1012b2f111d65c14831fc77ea0aee73d8b503c713b9d144e38b36071dbaffc30fe0d20dcb861e307366ca8f8404525c5959282720405e5a4072727263c3031311931994a76505252d241a9440283441ab54623d11722512807a110080720902d62ede7069f8fc7061e0fe805087ee5f77935f0bc4e179d0e870b0ea712a9b5dba2eb381a70dca6c5dd28cd825fdc7d06fcd22d8321261ffcc24d2a6a151c8791cde7151d1c8e4be4b49e9f0bc3929c568b512ed2e54eda0ddd4aab88e17c5ff7537044b15611c3efe2270e0839b0a7febe2b10e308ef3bbf02f0bf5f81f79de7fb3d054091fdd48914f044173f35733fb0f339ad1e9b6304d529ce789b39a84e71c45a2d67d2f8d4dd98eabe5f07aa72c7cc71b98ce44c32f637ffa4f5e3bc6a77664cea3332b16b9e7e7761c9ae59b9ddc9aaa5b164d7b4b7ac0c528aed6b64b4349cd5296e9bdc5dc3a776568fabf655a79ca97bd7a6af68339d72560fe939e79c5de3345b775a781eeda63db2d738d8f9ed1db238ed65dad47bc362ce3675a770bb3b0f9b42a9bbd39531683db6a7e134cf6b9d3ad2b5378da647c1b6f7e4304bffa45fcd6316aec32c1c07c36c3acd6befb4dad8a63b45afd19c56998556a32fd6901e619da21bb7d1381a47731a85bde818f4455f9da24e697a6cfa6295303a46a748eaa2645097ab9855b4645ace584912ba8e43ddfbcaaaedbd903b21e57c872376fddd57be5de5956ece3c300f6cf7dee9f0fb684e87d3e9d4f7389567650e57e63967cf9e73cef921fbc94ea761b87f6566666666662448c0a8b43527cd5ca16169123aeb7166a3b95b2c047206161796dc62b3268d2dd629e67ef5c8e2df7ef2b6ad5eac6da3a1d958dbaac7b9ad56dbccc6da62b14e911b924e911beb6eab8d8c3bc56f0c76db641b92eaaa8dbabbbb0731c25d7a8c3aa801ba4e34a24f1ee46bec4aa77c643bd5ed37989ead297dea2747d59a3830daa140ebad8bb9dadc7df4e8efd2a3af518344125318e1d2a30260252452e154e79974f945fcb91eca8942d45c090204bfbc308b0eefbdef5640e37590fb0619606fff1174b8fef6136280477f4fc83d82a44bb28de7b6ff14dc86ebef8c86fbe2e2ad71d370fd3bef64b8dfe13daa532d76df791fed894d70cf7df7dc9499457022ddf1c3d2f78d7eba12c19d51a8d8fdc2728c87f537f1b04ea76f97b467f018081bf3c260161bf4ac6bba8ca6f5ac6b684deb5992d9ac5334096da35456d3a9249d226bd33a8dae69a186e2979b46102346971ea38e20381584477fbe4297aa1f80cb8fc306c398424e71ff959c706a0b5d7e3b456f9a304eb8cc9617f9e50766f1479286e9ba78dd222a7c3ecdef8422a9c4ed27028d8b06240ce0d1bf06e93826c3f5dff80bd73f9dae85520409c5ecc3f5b02b5bc6ba0d03fafabb8c5fe6fc29fee03028335f9cff90d17d8a6c1d8f8b9f92fb6f0b1b05fd8c713fad4f6cf6e192fe2809984d6c3f13502f89928026a678cb59492b6be54dd9adca8e55de96f94924e35e22194c248b89643522994c24b361d558372c6ec5e2582c8e86c595ac989f6035666b4cb2b71967311aea35babe652a2dcde8e6b24637db8af4f2534d95591bd3ec6963ed925e37b7df65aea2df9fb22bf9c51f151b61ff32b9bcd52a3fe588fad1f4b6bb969fba14c96e4f91acb319b16e8f58a3d86d8f6db4d1cd8d99ed02d2eb36e9d5b53ee5a704b9d45255010415b38ade3250066fded8f99f0784efa45268821ab7e97cf1cb54a0c2906bea110f9ef7998265d18d9001ab41e22e37d234764ab78de3ba8de3baae560eed6ae5703a1daf7e9c4ec7f3be0ff4be0f043d9e0fa731dfb3f27cec901094468f51468d8d19b01ea35f6b3491a659a35b5da4576bdc2039c3a606092d490d92d81c328db4e6a4994326ab69ed66b81a6c86cc9bddee946eb3dd29dd368e6e1cd775b572bacae1743a9ef775bcef03418fe7037a3e1f6b41a05048341a9148a55209872294681456cfd72990b6aaa7b36f9e165942b3eb0f853fc1b2d7faac3a45bf37310a7a4f2e3fd7035b864b7aadcf6ac2ccdb365e0fa6d7aa9f55f8616db7c960498f26e6d17844fa5bae4239628a195345144e1531dcc7eb629ff276b1cfea7e3183dbc56e7f66e687d5633f153fab3d58d2693413e935992934e328d702cf6b97b94327627a1a4db8e40fa7f05a93caeeee9c3b417732b3f88c9c8e0633e7f082cd48b9e049093ebd273738d9c1ade08f7adbb66ddbb66d0bbdb669078f574896d8adcfc37edd791ed699eb7cef7958bacd39bfdfbe8f43609979f378709d9e2763c92ec609a303842ff8a00cf83296999979324fdebc2d9cd7e364957e204583a944a4c7b208ee4231fb702928040c8d11828560a1971ae0b66d4e7870dc78421cb51eebf3b02e7339072b8716ac3a29f954bf82c0b8f5a4cce18327737cc1aa12cc4ff5eb112b048e88845b7fe2813c295927a5ab683861e5785810fc0e58500fa1191bde846b5830078b4ff541d0f3e077360c8220087e8e18b00a470d476d0b90d2b88a7bcf7bc0eb79cff57c37eb545f0fcd625e8fc7f39695230b8fb8c37e4ab54f8bec6477fb0e98c023d64ff57bc692b6be8d960d23b3bb6d2f6ab14ae5c6452f57cd19238279a9c62fe0ddbea446e9a6647bd14a54b26af4db8b58acea7e13d198e103c6ddba4b8637e10d77327ee9dced3f2d7e11dd6dfb139b4e958355c52b6ec551731bb1ab72038a2091d585e10d67a365a325ce746a0bd710579dda36707b4f5822522ad2a38d96ab5cb5f4728537db17e2415ce9a1b44589488ff5614a5a704bfdf026c403a74a5af0585f5cb92abc214516e70b6f4a34cc521f14724c179668fc549f2b95b79658395844b61c4372d074b62d3446888c5bb7326c37f4eab18bc11cd031dc7352b039eae71892a37e89e52ad0d7ad0453b9f15389e6561bab5b9f2c95602db96e2dbd6efd2db4d13a291bd03120f1a472e3aa4abe49e5c646ebe3614f6980a75a11dc3dd198a53e080a39cd78d81c437aac39686e2573d0e460f5589158d233f3d1a799ab44e40f2c1cb21f56b79e6e6edd44f244bbf554bbf54f3c51386346618e959fea87421c353f551c3257e198f9a97ec531bb1587ecd6f770acd129ee56cf83e0d7c771e3794019706ee07bf3c3317312070dc4516bd5e413bdf5411cb55bdff30fc70d1dd070d5e89427e1510e0ce368708b5f1c72e0d4e411ac386eeae3a8d51cab5b71d42ac78442f613f8a0901d0cc39b4e79bebe37736bb846a7ec577175ab15775890821b2dc392e1cdad8f02feb78a99f95631587c8c1828e0f3259da0a0e899bdc0763066a9ef353fd55adfab1fd924bdec7d2465669ecc3c9974daf5c8be1c85cb5cb8e2f61786c6e8d11343af1eeb7ba1170b72b0ea730e5617bbf5393f29b95b4f4a3f55f2a4bc15762be76b470cbdfc549f0cbd6efd1cac5b9f57aad8040b9d74dc43e8c4e4f28b49c62f25a5ca71dc47fa70ba6e244603e6e4b2bc7c9919060339b503861e4de8adc215cc554e830de9547732d329ce033daf73da769bb26a56b0815e39bc60a65369b0ac6018365cc12f6eb0820d7d9be5aa1abf4ceef3564e8bd97cd6f13e50a65ece88d3e96a2ed37ce6a74943695dec038241588d0ee6344fd201819e673d9ea5f5b3210ffd3eeef39b1a68e569a60fcd5b7956b5905d799a6964c18ff9c573b9739a49646b8f1e8fd7bde88af3ef36ed1b1148c7587b8e829a98d22aecceff0ee6b1bc21b7df2302846fa78339ad43e9ed84bc196fd5639be69cd79bfcb1c7edc75f2bf34b27c4118dbeef9b1c8e57caef348e0c4bceef7cfdd9c93ad9ad6f524bbcc439d1ffd2ee646fe5a9e117fa334bda691aed9bbc959d59ad3ad5b7c86d8fc8f62bd2a359b9d49b825d79ab3e99adf2567e6aeff356282726a6921269244a09c926d712830e02152846fa34a967c6a58286eeeca9a2ab7962c134f134dde10edc126c5a8d8d8a56631bd18113c373ce39a77f47eb11f4d3673db6f5a200326f8f3294c66294c5dab62d16e338aeebbace43995a6baddea2f5ab5f3737b1184be661a8ac3251f4ed8fa2277d01b3945ea42c66b93eeb947fa9542ab9fb846139e7b1a8319d2fa548df209115129fa42eea83db2415c2eda763dcee64f549aa457d9272519fd53d49bdc041f724fd6208ee490a060fb827e99121e893f407978a33587c0c0dc26db29bddbe039f6c6abd85db74e0b19fecccb8fd275d89dccfad2c3ff513a143a87957f3273f93c562dd2e4e2dfc1222499c274b6e3f8887e0749e54e93c79e3f69bf0109d02b03e863e89e3f6737fc843d01fe6109b35dd592a954a5f7b2c3d8347ba178547b8f7c223f59d7b6af2a62ff90efd0ecbc65cc16bac5631dc73b6677d0c8753fad26f61ed0107d17f125657f3e83709eb171c44bf29ac386021fa4bc2ea05f3e8290459c3b8fdf50b7e11e5807bb050456601581f53f610ddf7d71e4c9518de635163eaf74f91ac41b8dd792c6a0ce73b2c1bc339c229853ef3243d4e16511802d900b078be1a8e583f20e7ceef4a48a0192c3e66060b1bc31c0479430852850769c23c48f1ce1c77bed7bc0a777ebb4dd78f8aae8aa62765c0c1f9de93b1d3e3847e7958da41a04d9bd2d0af8c251fbc9df00bebe5524cb67a55ccb8a1ebdec9995c5c2bb4aec7c3ce5943850a129532aeabc854623398a71682b9ca33835dffee8a59e970fdc994eba9f1b0d39b336e8bebcd2d9cb763bc090239b9fd32962cb5b8ee9ad45cd5c5f87bf5eb74a7f36d34b3052f24595885606077be0e9501ab89758a0c9511aae91469520b91e142b86408c9f5f7de0b31e145e07f5b2763bb6f35a93dc1921d4c25d6a93ee352310a7a652c17040b7e8b2ab11efd03329857637935965763793596576379b598ab3e972be68ab962ae982be6ba71d537e3bc5c05d66aadc9f43f8ef5e6f60be4bc40ce0be4bcc0b2e4d05cc59d160a358eff2693b51c5aadd69a4cffe3e89d160fec7cd07bab7a27acbbedaaddf66adcaddd76d75603fd82c20b7ec7030785a4cffb11bb5024bfb7e07b4e521e0cad4a4876444e503ee5e40425acd786749e4c93efebf7667e92d5b2e6d5ca122c3f34f04b09ec8706c3787ebe0773d5e7fa66fc42faf95f92d09b445f2af9f91eec4e3a4552e84b159409853852491432e373d54821bd25b392c745214f873ca492a8f46149ecdc6fe62afaf33f9aab463fc5b208e7822d52e953257f037e2901e805c378bef925f45dd63ab52c391d587eeca7766559c4ab81a55703cb12f43c1f57a2eecdddfce6a3b41b0c0015b30a0e15b38a0f15b38aee0a60048f81e83ed30d7dc6d558af5da71be7db66f219d2ad55a6faf5d32af559e7e297ed4d9beaf3194dd2299e82f5a7dedefcbe99696642833fafc3013d2c6b4e112fa605aba9d6f463b5a61f6d622eacd124f37256637de6aab1eeaad558afc16aec0cb66a176ce58da9b15e63dd568ea161f5b2e52e7fc16235abcab234a6f25ba3eb85ba196b4f33cd5cdc854d3f7ae9ea2f78ddcd68b59b15cb695c2e97cbe5723d61dd1de5e23273d55c9c6bd70b16ab91d99465599665e972b95c2e97eb891ad7b8c6b576b9b846b7dacdaa594dd365b7cab22ccbb274b95c2e97cb552b5d1b8de167dd98ad31c9de669ca1686559966559ced99ccdd99cc1ca39e3aa35fd385f1e5396655996e55cb5acecaaab3a067533d69e669a599b2a93b54cd6b296c5b0ab9c4563b26f1a1f35f6172c69633cae1eeb1724d455c8ec2710146dbca3891dedf6aad3e96a9e073d161f2386280a28beefefdcc02f25b01d1b18e6f3238d5fecb7f544a1e76dc8dd0ffc1128331a6ddb087e836f437a4520e935fa81fc7a4266966f24728fb7ef284c72c1ff808fc605dfdbbe6f5e51e869080515abeb118f84c4f7baef41e127ce6c47eb6a6067a6531f161df209b779bff7af6bcde79e4341196feb84dc4fcaa22ccaaa20070d8f57c894cf65fdb96ddb5236944de4388e136d8f2e4bd2d2138525252ffad1553404fe498cba5c3572f9a9eb28669a809d77db4ca21b3f8d562397ab40a2eb92c411c7a08453d05779318ea09f224e91f2f455c229505ee569385aa984eca793e9f1b026532b46c654828ae02ee97d746c3493127e5042ea721569af909916b460c4f2d389046464058f63ff0481f425810e1859c1a7fe0f1ef8e4fe71d64120f492c0af0cf6290864bb24f02b8305fd68660d20239068677ae44624f173c32c9c3ad8edc9af74c08c5111a2426f5ca5c2d5b2a3290fbe8948da3b328964bda3f788a4d32ef995b59cd90a124b522d6b8cb23a464514457f12764472b4bafd1df98dc8af2c6f8bd4c81812c13671624ac87e42a151994dfc4d2492272229fa8f281c71219148249de83a100c1330afffc889df36f1c7f69475eb6fe1139475abe7c1d0b37dc9f6207f91e8edf6a0ed4b7e03fdf622913c79ee39500125bf899e768a2cbdc973a2a9144dad269ea0ac2b7aee45ff09fd26929b08c8ecc31dbde83f21495977246eff791f2e0a45df3d024a0ffe0244e23706ce7b53149248cf7d28f41364c026a280bfbde8c11f3df7211450fc317ad1877e148a3672f49d20f3969e247e63b09cf81c91d844e941b109fba251b8852457fa8f48c104f88bdec122acc827a2147e4b9e7b91489a88d4244ae117f4dc37a800d09788e4bc20d0367ad17ba27024da44dbe7472f0271a30fb789b6e74cad4e6daded4d2d53b93d693279fcc1678f83329e0ffd047f8044d197c26f0c24205f597a52387a50689fc122bc149248240f7b1e2cc2231af9e77db4e81914854222e9046591fef39e1f8d44d27b9efcca8f8b2acd0dfd6804fa936f0ca00f85df1996b22e480cfd49e8c9afbced7952c8771492a0f7be34fa164b30efe7494e741fb1099117217af07df48fd168f4a42824abb822d18f3ea2d17ffaf07991e83fe187042b7a92b2c879471f7a1f2e0a49d07f1ffa419aa076c9ee41a2fdcefae84f38af070cfdbf901c01ed9aa076557073bb37959de24c456609e6f51e43d05fa98b29ad1215b38aa6ff052a0c21c9652abc666e1097a93084d7fd78c1fcd2c493cc5063f30459126a8610f3c16d120c8c52ebf625c2925dab8927bd5ce5d56aadc9f42d40bc6733e79c734e1aa7711aa7711aa7f1afa6ebbaaeabe9bad5b66dab6db5adb6d586e238ae566b4da6ff71ac28d438fe9b4c9c9671fc37993c5f2d11d67b8f25ecbc478425df470311f2f56c5c159af9a9bf566b4da6ff7114d56aadc9f43f8ea35aad3599fe51a85aad3599fec711851ac77f93c9da58add69a4cffe34842a1c6f1df64b2f6e5aad55a93e99f6c9931245a1361e78108e765098f08f15ecb6b792daf65d31fcfe6e3d97c3c9b8f67f3f16c3e9a8fe6a3f9683e9a1affbe9aefabf9be9aefabf9be9aefab09ad42abd02ab40aad42abdb0fc26a28d438fe9b4cd682b03b026b23b036026b23b036026b23b076fb3d2e146a1cff4d266b1d74d53af3ccec7b66f63d33eb99d598d00c040acd40a1192834038566a0d00cf424ea7631a2f27b2e46240bb798114b246289582296882562899ec68c62a31b30f498d18d8f6ec01b7074038e6ec0275161c7905ede4fa2b9aa437a915ea417e94522bd2a6951245a0b89365e92446379b2e59224daedf76af590e211fa211b5725f169b94a88efffb85cb5e3db02dfffb171d505beff73634b0bb336aed2c0f7db1b576de0fb41a5ab96f87e10cc551cf87e908dab3af0fda09b50e92a26be3ff06d4a3d39aadee553ea787992656cd3e305c0b5217e6480ffc1c79393e63e39cb983f1de045443c3961e38f27a70cc893d326c8878a7872d610f0e4bc49c007806c1ab2cb057c0e063cd92f214f36ac018fc3014fb6ec010f3ae25720f064d722f064df48e001f0213fa5f8ecaa0a3ce92fd2611f089d89d03d107607c2e640d84b84bd8170d23410ce0c84d3e5277e25c2c9f2133f064226fcc47f8130889ff82d108e7ee24f22f41a3ff1570076f92910be2eff04422442094420643fdd7808dc5cfe2342f6d303420784eca706f00b6140c87e5a40f8baac928090fd94b2a1fc8fd0e6f2cb84fc448407086342f6d30dd94f26ef23643f1920643f0d111620643ff580095f42f61301427e975015b29f5221fb8947c87eda110a11d20ead4b3f0091ac4188a44589a4a9f42d22f93eded203219263e95944b2e5921d9a8e90e41a0184a45dddfe1f42d2b6481b23ed2c07f92949d02cb4bafd0008c9508b0cc53ebc61835f254c09514272ce2eff49681292b35512964ab28e42926f441f12b4bafd20f253929c0ff9294910b7f14f7e90fc94dd0abd90ac9703a5e3a8942cd8553dce18cd4800005000c315000028140e084442a14016e7892aa90714800b75b856745a9a47d4304a21849421801002a0000000000060004d00a09f8084162d9fa7ed9e4d7e9ff1327737fb34d53269fe0852419a09ba4c7934cca8c36690df76b78a0f9c6fa9963a0aee2a951977360dd2361b67a1223ff0b86d8c582d0a446950448193581b1101b512db97a7070a2e6e26a8bec67211380be9768718871cc299431f5de8a2953851d6759d217062e6dd1bdc9b112164b9999cd560d6c70bb229b5a780988b1bad4a930fefab2113ec2c9ed5f4412478396d6820ed523c320e072b02db4bb927578d11fb36600d6b7428c8f69845d25d5be4bb67cd937d75b152a7f94ba369028cb1f451985336f53344bf82ec11e309a45e40691571b6ec1a33f02a7a8faf2bfb96715be94b41ee478f30e465562a7879b41f992501c0f06b129ecea26140416dee31b5d0314474fd601aaa86d2a9e62163dfd736987a195e6e59d86708ecc98f519403a0e60649d661cdbe64e765cc2e311464d05cf337d0f955c7a8244c8f9e68844cc29ed94023a23dac4ea247489c54f0e46323fedf9dd44262c5339179fde91f55c78e1e2ef055167d61d5e456b751055b60ccfe9ed52e3b1a5695fd9470232cc8b74a6625c18958c135d1ec7ce90c91d2c5451df172f117fa93cf5b9c04dbfb622e1068c27b5d7bada8c8d98b743b60453712778a1810063a49266245376c111656304ff83f7df0bb944dc40a33f571f1797d1d35331b0c552ac7689cc7b80509a6aaba8815949bf58b1079e3b5322d493a87d08028a3e3857a91a210287be205b9c60d03db9e5be3730a1ca6692979c0eacdef9b9f4b6ffd87f0de993f8b581199c5424b91cf253ccc2f46572858d15f766a4074e3549cb996f25e1d9e65428a46b551a0821722ed8815e66f5a78ee24d3570d2087701a68b935ffdf6f7e69e28bc48afe54d9823b624583f583c2fa04b0bbed1ab9a4186527d0a35db47186ef1ebf1de18230478c8815bda67165fc18ca2d47a51c8806f6ac5b7d5e9fe35baef6e285d7b5b692db8315a7fff50a9fbca22d4b7ce8e2b8b60661b7c059a386d6137f50331004d11fb7d099bbbc92f2079b973d5b53869d02c4c4056b9700329badd64f668487b7049c76fda0199d14544deb5f3e2e4eaf4097abf31d431bae75be3406d1a494aa44dfa809fca87e7baa639e888be5376c52f1af97600d6374399a8383a0585968b4ca963118dd0b33e619132aa3144ddb4cbc7f69db19716b24a39c8e03d875ff26f87b33090785ce4ff0dbff48f0ad62af7d630b18b81e9738c9623dce63bdc5e5a56572da2a716bc57f26f8ac6b139abe17f51320316f9d1e6a7315a1cfbe8a7ad61e6da19f0e17132b0eebc1c2f65b330a34e2a739293aa1b3b01758f6397dbb1a806b6bd0a6c0a0181014fac86145f61088cf6c6cdc4a20d03b36cc468bd996d3a8818dd8dbb82d7b7fba107c799b74d9287fe9858062f32338285fdda3c9908dfb57f3049a281dc190dc7b23dab7c9ceba4fa45b60f2ddbc94c2744d53f3900b675ec80fb2d363554b91d5ec4e9c8e5576cbcc4eb19244f76012f4c81ce1d0baa1d5321bc9eeec9ed44a2d27158b39153c59b5df10d1e34314b7a4b6ca85e759fa45fc26395eecf10e8b821502a70ddb7f9a1cc1141cbd929e59e99fe6ed912a8adb1aa4b09c09ea49cb914a7eca4bdc49171104f47b2380b2445455d2e1369b6f19a82ff792b861fa09b019619fc203531fb1399bda683d10ea3cb6f2869442742a733b7773971df277e921e6817d4008f52f985204c57dcd3bf51288046fb6cf203baa196e0d3d6dfd5bdcc3c43bfc598894f5e043c135544fd619ad463ca34d62016e255eeb608e6ac23e01640e563781c22882f87f8f98805dc0fcf8893f59942c2dbd2a9b78db80688e0832468daa3cc06ebd18ca1cbbf280b413e865837d7b4f4031c3764d62bbf7e6283276ea110cb58811d03409110d1bd1b052d196e3b18da4de434642ea1de6c34aa0536f7a4dc1ad1593dd5337dba967dca51c5f9126cb3e83ddeca8384478921c4662c90f0ebda1c9ef8b84fd52a5478075c3226dbaab991a671c621b6bb0414525fedd95f9958df511f0881d0d0ba0294944c3c6b5e90bcda7908c8d867ddbf59b242d637bea9253f1070e7ae8f083cea623f9a69f701139db303036f3faf8d953954d006a87c24d7f8351c9c8cc1549cf43279a1bc5c91e0a64df3d457adc1ba69a3071cfd429164745d32462346e60830225c405c57c65cb63537eaa86b362c8b1e7dd057882e9839a8d04eef3fd81e6cb687322a28c5a4414a087cb5f5631b8390a96923ef55bc9c0530aa5a77572e707bcb881cf53259f30b39d00510433d9398b45ad020a6eae0473071c3af480431def8e8f78ec338c2d37d430168571c3d802630df67bdb7386b719c44976dc00712588373e9b98caece06f7b08d837fb50fc8f38b1aac9dfe7aceaa07cac8bf30e0e42807d54abc1407cdf2fd03e924411851fc9a142d29655ba226da9122898eb4cd0df17649a7cdb33f52abce0525caa2bf6c43baf7b03c70c07b618a3fa7763b79d882eacfc654d1d842a966d47da7ec6d692acc33046884cf83e04106dfd7319ebe21de18635c5d3b908aae5ed44dc1ef93c526c9f251b2cd8f6cc8b07a5a9a570e68781ee9f623abf4049ce6bc65359ca071d343dbb52e82330c68b5d0976dffb5de9cd06ea8053c1315c95d7eefc4486516e974a33012736b413bfc10857b15d6e34741782e71d55851c01ab8585a38a0a195877223317bc28d2074a1eee696501fd1fb0ea88a8bb44d81cbe21431763de502d746a2f31db8089d8b13e034547eade54d900fc4b248add81cbb23bda212f11b8c146440dc5cdee92dc6165b051b32f4f3eaaac2383d5102d7ca9bb3de14da6a31f89b18e8734e3cf4e258de0f4481fc03160d2eb2e8cc6203865db6cea1333bb0d61219081a75fd50623641bf278d22a30e1cf6aa3a94868729472cc1cd4e5690d6a1193096dca80a020964e1053de8f19bfd2f8551f07d8ed2d9366c0e9ebf3ada69bd911a4708770ecf6687a9f9fdf50079c938fb93bb36922916df0cc3b53835fd1c1020e70441b4242ee95b5ca1c05a3d81c91953d5092ec805ad987c36f4f1e7fba8457370f28676099e5e7c6a27c124d412f3ab917915afa362622f9a0a09093d2b9261c05b877820afa150132a0159966229fa65016604d654d4ccef89f7ef4a0809f2393360bea349a28d7497ad034321da659ba9b657a12b11b096b8f4c25b56fd4dd8e84dbe813dbb72987ea56c07754be48bdc71f37646872c60f2fd534aa44c99f43d4168771c26ab0ef38f74da64a04906f526450a6db6519d6d19e278a98f4412e034cc28702563f6599a7ddef359798ea9df989159d0fae39f001ead926d58c1ead4ee9417b262c55efe6e322076f79dfcb5972e1b1c9e794960c6953028e921786f20987e60b9c92410229a9f7f457c4b250fb152f75c2184e9bf49088d912d860d28013246233107b03b8e2a5f14efc489c8e80923736d33a799206bf835935e24dc557fba535456ef4f5a81cec7a5d38bc1ac9cc4fd184353760ffc44256ea3dd839bc9b6ddaf4700c397613e53e355504410eae3d92954d1f9ff721bd792f200e09217528a2a7cfaecba036508151c235d9ca6925d327f72b26775da68ee31359f6d80ef56292589196eb73dd9bd7caa507ad2efaf652bac7f6748f9e165d1aa8233969f1a0bc1329e93d87877a720413209fde3b780cf264382412f3af017968ca2a37c07e5c4b7a634e0f23f83c2c25858d0e6e4603771f41a986bd10b91b56e0c6bde988d94e5a671282818647d6a93ba1fa3d4c0774549225a09ebdbbd6e5d3dabc45c7d911a2d9b74a14f012bdabef6727e533d7f1684e36b60b42bcfe0c9c5144082fb4a8c42bf287bbf6412567a21df11ec7c37bc7fadf341a1786a3ff28093cfaea66b0f0ff9f188fdc0a99fd12a0a8e4c1de038532e43be0de2848ba46210e6bd6504254db52cfd47acdd76e644c9a4a5765431291db4bc1d46526df1141add258a130598f498f8905c513d47619c6f90f821db6ab66a996917ed0446f49a7315eff9c1b6bb7607b622a576d3633f1fded098f5b286e02a3d53012449091608f2accf20963bed5a5b64c6947367ac12e8dee5c9fe67b0d1bbacd1d7eee75031637ababc510a837c4cd01f8af4284c4286f3dce2e772b2776ca11b431226c1f01750ff6ecd60c7bdad2b7f05e5130095164ebf421c627b24ffc26f77850342d8a9f00b9e41b16a8633215d92f76d2210e8ba63e3488fcf0d732c19a08a0b3f7f424276c31fa6245b4cee0c4c697f54dad90b14aeceb5cba1e1eaf4e9697ffaceb406e6851d0a7f7f7c95fd0040057819a872e68a2c501758112a93c7c484ba0ad3cbc60175f64ff2d4a46a1839594876fdd8d19848846923644871e8f45f8082f47abc52c040fee39e3d3fbbc485073429daae03f8d4c34d14d9b65186941f0fad373c003e5e19d225604bb149409c26468af155065826354b74b84010885eac54351ad31ade5d4072ac472709db8b582d3157241fb0598e95f37adb594efc264880d6a60443b619a13251ed44f77ad319f008b30df420bbd6e2f9c171b04d819ac34196ab0a896f6a7fedb5f230d27a355990c1202bb09260266c30076c7d51aaf99582517bf3c22957fc84665c4da0fa8af5cd65f51ef22c735201f8df632f0cd87161859ae4db0ff3e7e9bb551f592221b9e57a3b0a24680b5f23fccdcc835e184e89da9bdb41214b26c2e59dcd7c93e456d9b86be40f69aeec062bd9ead2af5196c85257e7292cbb1df6ded464d5128072093763ccdaf256aa7f556be2dbfcc827f2ab55ae351d13f3a30a0ad48347f2bd2b905b9865189e3396afbe08085d0e5d163ae1c6bd3057c0847c1d526a72df5a79de316f4ccca16d1c2bdd43bc888c11cf31535e1a2f441bfc2eccc569f7b1ac14c2620f54529dd9143cb01f5cbd151eaf8a65b87426da895599524b306a57dfa324e708e70ded11191bed86dd59ff7c23341bd1307782c883b9084f7720186e725f99f0ea929422548b2767613ceab1fb49606a2d4f814f9340cb4df4804f1f028763e8d9a19f39c92cc3edb7f4a6d830fe77428e725bcfa712ba0c7d62708e853160b3313e96300f7a318c0404b18c0666c10059b03f842edf4d72f38cda0a2d9758193cefa6ca683d64fe038ed0746326f952252ae0501867ef76c6259bea090247583f8e92e300f7b6891c82a39f6bcd77b19bf2a0ec084f62cb8864bfc10fd5180ff0991eb81de8b6708f99b36718e6f588aaa0cd9c49c4973ce3caf1d338963f98e352a33ee68d6eaddf5dae9c17ab6351c0bc38d1ae6ba58857a9476767bdd2b0627285d6d4eb51e70c620a9e53835d48f959e093b38c6e0d222824f94ed786d16f053144be0b81aa6b686bf542ca5384dc795cce39582c6e87c1753066926d563789ca1ca1238a7ff13a386df2dc6cb1880da48fa1838073ab022378a0fbf885314101a769b28ddec738bf85866110dbc7665841c47bb8dde291d8fad18460cf7350edbb2434ca72087c359082ec42afad49d74cea882b1fc780afe3102cde359fa96ad74dda3423af6ec57c74f6bbce611768902a5e6513c5383ab2c6782fa9201f51599cfa8cc8f039e17c32e4bbf01be701a765ebd63149c64b3695afb812c5ba17a680be9211f96242488dcfe37de9e5f698963f8d1b3f1127702e639ef8a3e1233d27018cceb888f315adfe127b3c48151e9363af0ac51eae1e87fea77e03df305041f62f6dc91679b9f2d08d0cd6d759e6d2d592859cb5eb1d15a7811b6b50f45f0a28e0505fb8a7c1ef575a5406e1d3123005cc3745e00c7b1d77d96ce6f88676bd975574a15def518f95d4f278097a8e1da747178fd7a4bdf2b5ef6cd8185f4bd84e4a6b71b117c23bc41daae077a0670df82b20b5c3c78868b5305e2a2be695c6cad1fa528914b990c00915eebf7f1767d150094e5b3d905d2a526a4c8606930ddb92f10f7bbea2973f8b1e2a28c4024281190c9e54e8a8bd4ca8da8acc8d704f3de2c1b9332cbae0b67d704a3a8523f78901843d4da6ba656408fb3fae22805e3fdcfbf591bc2665322fe0fc9c04de13ebe8d806a21b75cf7d3428c1ea1200c14998407c780dcb8c1c84bd494a9dcb066f11edec345a363bcc7769f43e79c07e64f5db03439aa965cbdb578d7fb904bbe092240468f883da1f4dd3f09ed52cd2f90479be86f142eaece0c0537f042819ef9628582ce1d0de9051737787352c66841c3bf765b6e39f5fdea21f36331b1bb09f16f05154fee73021639fd91c479e6776f803f45e3e4d488100a2013ac9205f32378866c3ca5b431021480822b7261d99f202016d3331521cb02c9c952395e4286315e38bb731898c36e35f795ebd784be0291b736f9cbe2c60454186ca95306d531cef7091c614b18d210e4bbfd266ccd510118a0558002f410fd412f5d90cb22384d6cc842fb31d2f5d2e92ce34cb433e1005cacc6676c8c33e946ee625aaa4ee247409c4968480bbf9c18cee4ff6c1adf34b59da4c5ebb1b71cb081de47d98276dd6b310d8e4956a35053054166453b72185a012476e6a00c32084d0ffa6714ba3d57b624b91a7d9c2e16c29781175b353a801893d9881eca6ea1f599bedb0fcfb15b68c696726e21de10eb9086f7181349955f2cf134aff6323662d7fadfc808811999612e32f32e9c99cb8b791f9151a05bda04ed5921b33e84ccc6b896e438cc5b7ee741e9f66c3a4a7d38611aafa1d80bd20619308c4e552c47784d617455dfcc754c8507cefd02978e430a3ae9cd6cfb42a6c6f3fd045a439bcbfc8de84d4d2ee0d07140a23d825971ad26ccf80b3d0742c8624271b667645020474e4e416fc2cbb2422051cebfa54f21157b0c1aa05fbd4172e0f71d342701b1ff61552eb27dc698fd6686804aaabaa1b0fbdaf8fc6e5090d99ea6bdc17d10c70bd442ff85953f339d5805ee363fb79b887b9087d51936488e078f199ddfc371d1cba92957d1048123e99ba8d90ad730b21bda20956f6e12c8279cde31f51875bd57ec6171d2537d7a9975d10c7dce500d4b1c73c7d2e5152308998c78bf544b577ea66526272d654f74355800820ebfaa46c73cdb9108b267650039d149f019d76c21f20324b5f291724dba38a8327363611f59bd6bf3c7d2efd8206bbbee4f3d07f82ed25cffbd4098309c74f06cdfea3aa6f0480a8c6964a709e712ed0e80c4e7822123596e5a0212c606e8008d8ea2a21c1465217a517d70d15fd8c096486a411e183c3465cbc0f09bcf0921d2d2b7b2790940006d115bbebbcd0db3dae898875d2b9bbf7038ac03319c93f90b40a336645059931b8210abcea105a79bccf45ce8f1942542e2656debfa9e11801a2700ca32445e60a7c2c454d51d980d211101e8a971fed8f12f2c0e29692bbd3cbc7b04a0662478802ad18f6fee647f3a4700caf02253c6e446088aa49e387905c1c035038e996efc269a82e51fb42478ca088d152484e7e223670946c60a4e3d14abf6a04291e861d518c36c0e86972a7de8c1e812e9141c4968189574785e0a4eb29e7486c29d51df0605ff750529fc66e17f1a594d78fde1a029881cc8c6ec14c630ebb5fcf3a82263795a7d1fec4828b5005c32298f585a15b707812e822e2eb2e6776374166aca597dd7072d1c045f477056ce1ca1e2d0929396718672db40db4ee76a71a329bb0404a52cb5652c3d7e1631bb9e240c03cd26ac91bf214299a5cd5472c0a6eb07c6afe91c0098c5d43998a455a39c4943cca7e890963e5f662534bdfb0287815616cb779196f720dda9384247d20a504adedb13e2903eb07cc8fe9423358a080eae1f43a47a8adfa2f8dc1c718f5282e763e1d36e1fa877954d5692c2516471315629d373816455ad94a88728cd65771d9dba4b00afbee1180389f40075eba07d31855561813233b61f88cd012b7e60753f23d5c5679bc98317b1a1fa4fbc7d1eff897ea2cec6f9c448abf7f522ebb50890357d704329cfd08134518c4f50de3a81a8b5be405630def0700ffb78e57a40747038745162413037f10b407bf4922a13d5c4eda7f7ad65b088de53e762a2d0fe68a2b50616511b8a34be16b6bf4058ed302dba464f8d6984f1e920431de129a7a26dcbbd196f3a547a2c6c5eee7012ba3360dd6819d5f5838174e7af01cb89ab62fa112c16d8538615e573b94a9d4dd5ae7f84ac7bbcbc7fab5a571282c9d632e1e2715c5697f9c366e2259a275b605b461f7a2a63bdf0e0e61f2888a6684b9d41de4b714ccbec2d764ae2012442e6b8660d22f5e0d1ead85721cf50e03ae0574325ac02b101e24088953c8a22a5efc08a4067a0786f0ade2ddf2c216909802014e4a0d3fdca6fb8981343d577ca19d5115b14ba7477276706aa62edaf63a24b9b8b496c0eaad85c6436e927aa248e4a85b9676ee31a426ab4cabaaecf16d912efe9398bfe205bffb44c54815bfb78090ad311eb96eaad529771c769e9551c5bc4a7e0c03306b07bda72f576b577482602191daa78853897d81b847cd4dcec5d5d17af85312cbb398505b07a1490373be1f8862fab649e3f088d7f155008933436ece37230700aa59a9496b25626416956d762f5ec2c417efc23c124fcb8e97cb08ced7d1ad03ab48147bdf6b07774751e0d0a7ed2708a40ca9658ccfb71500ac4f8b442232c596c0610a770c0bf4ea119d8c9679a9b092dc94890fea75effb2c713b8b454962001b00ce38de09f0d99f5340863f4f6c1adc61b5ffc5e9031a333390d28fba3feb5d802e7dbc54a20283cea921768a5175b214e931b62dc0dd6feb6d30fbb99e5d1f63ac23d2aef8bfd68b6fec49f2b4843c21649eb65f7fd54617036c3796c964c23dee6723e984902b6ca37155b521de3fe76d790ad83f4c62012a69819e5964e48426c6d85eba36bfe2597e07d1fd80952f91505d5360cf62881c6cd312f494b2cddfdf026e17274537a7e084ec948aff5702c259e236ea4250801d0c2b1e77c347bf7eae73233077fdf147081f00599f6f68d2a2cdcb01c4f3a0673acf0a14d5fa31352d6afaa0a8106394a55ef849fa2fdba3c6790384dc373ec9c6379c60985a78b0ce7a7747b8947a5488f699adf3a0f8c827f0028d8a4206cf4b9bfbc357374bc05f49e827051df15ca7e7e7635bb592df41aff9926d5242cb2551bbde9e7f5fd81813cc5c4458cd19f71e34e6d12b3ca2ee4e5ce29d611461bb90da1208694ed84cd001ea59f7280677803173d45268a3006d35cc7b3386eed729ce7302090e8094171eaa00263473b7f3028683f41c66151fd8773c28eca1293a5fff47ed7c18a95f02175bce1a24dc2183e7387a91a62da6b939abaf0a01d792061a351d53a01b59fba039b0445e415e53e80a8a205519544e6854ca51e4ea3a80aa3a4e1dfff908f1286235c2709abaab211582d2d3c740655fe8b2df670ec380e9d8da2e3410810f8619f514da9d4d240939319a3b85a131d4edd92f8e149a16e563c178ab2c42c97a06968ca12e1a8c186b618def2a5e755b204146cbbe098cbfe73b6c3ed147e47d87950fb1f2ab4cc335feabfdd7250bb1527beee51029ad94145142f5572f4900061e879ad3f0afec3f19eb9c7cb3814ef7ab35eadedd44697fefee66fdb3c645f1114489762a7ef18be9da6290e94b313917e44e27928023ee26073eaa9b7d4decb9333a22c0bbf3a3d07a6ea4ba158b32e629cc8bd4790ddfbd5265c27b11cfa60034b3d17156e1433f32ab3bf2500ee2f4396611e6550ffbbe58f0e2408ab2ab5f2926372c36726196c84ae9299b579b3afc80a79f00bfb7d0e181dd31983d0ec0dd1ec8d7a4c8bc9731a23cacb24a8846b24ad01060c0d68e7fb5b6cce4063e056a759a464a4a2635e8af6aa549de1509139da064c154d6c14dd3be168a79096a4da886748eb9337c9b1f84bed5f67de0f8e76b140b755650042665ec5a60e3609ccf064de88c8be6001b1c5b6476798ca60486558256886cadea63c379a238f9e6b1274e44a010b5a6c5364ae873ba444c3c911e79c84ed93b732f01b35e124c7d7b7ed668eec71a30ea8338f898edcbf84bf8b083d2fda7cea474e06c55916bba44ed142302b4a4e6a9a930b1c370e6460ede37c1e907ce169b0a37e65570d0da995ccbff0522bcc6496f31b7f6f1c8ed521c92483e9cd145f6e3458e57dfebdbf99222aa1daa7750eda687f9b508122f0707c30ae959652c5b145da557064e075aea1e7f9ba265b7b1fba690698246230c6b77bf2423ae34679238734caa8a6f500a2658234f42833f84e219c31819ff09306c361ad925451952883346abc7fb1ecd99333dbe588fd170eacf30695c4908681f53468b97fee1ff439e1f5d77ba23bc05ff3640d9ccd8f1d60c0845c18eb3ac765a610375fb015f955c2e6052de14f889303c22c05a194400c1c5836e919f3bf6d65197d239d7922027ccfeb335827bb72a47c97dbd5a0c003ecc6598e388b3ef424087477ae01c9dce37ff534af96ad7f0eb43a354ff2d238bd500ae9fae38236c7a251ee7160a585ab87f3b5889e1ec4cbdb84b7ec83d88e26fe0935b9852df41903118dfdb95bc50d78902654f401f1565f7e294319d06085f3b9be8122fc2ba188c3fe989dfa4414d5a088a2128c00d47734acc99ffdeae038f1328503ee75b4400a427d966639b363562c73bf12de7c49115bada8113a2842ac9b5c1793bce6823c5cedd0f6aeea7838f4ed3875b580ea3a1f4290185f3ffd8d1afad5612fcc81ea3eeba619a2d32dfaa8ad600906bea174b216e83e66a3f6577b9caef0f60159712b17e0837e091e1d131ad6a22d39522780bfc37a5ceddde0204ecbf2248b51eec91da15dbc280bd6ee3af91798a6774ffba865d21e191c715fea0ec3382c8a7f12e7dce2056a4383fb3d809f84de5aa98e4d651bb66d4d80a91ffc74dca06c24420c5d2043250919c293872d29f417a1e465f128a525d133235af5ff1e505358162744916fd596b906d22e1ed04982c91fa2e67ef1b0b8486740333bef1e15e3245b03ea051ef183c53cd23b886b79801243fea0c41a3c3e437eb8b7d0261fbb3a6b403daa5bf7b70daec3c844e30d55d083052c9e02607d4b84a84a29d5dba3080947fb10a7f42609a878d5728247beea1d1e1920357a5c23d8aa7ec15508aaa8f34b9a72c6549d464118442aa45eb73daa2f914d72f6ed2fb8bb1794c663d94d79ae83b286ee84194726c2dce1c5c997426bbad054993d70f625a249b1c797a847219e18a8ac3b10abeda7cc9a901243f8b3bdeed598f050f4232f0dae3e44c8b0983a72ff3eb138983dad8a8adbf9f685e1a2601ddad92890304438d007916522e4cd97eef8b61040a9eda7b25b2ff1359d92578ffee48f8c030f237c9ac8dfd8b2263729d8fb393949f20d299846906f9823e9f42724df1d097a2d095ac797f0f466e9f4a2e9f1a550641982a197bebac4ea75cb7f8164af4c1170da0bde2f5cda8bf9a273ae78ddb04d4e8716fffc10f2eefa4186baa11f3110730c007c64eaaecbacdf7a5a5707e215fcc3f35c126d44f11eb6e28527105db07e6b0dc01a6266fc09b46df5bfb3cb512aafab7446f2dbd4c2c25d17f7df4e009b14fa2c5af74000dc618ab25fccd0056afada57bcc5a9ce9f4a3a7e961e6cdd342cf24c16f0a1421b9c70ba171a93b575c8d9c3cafc28f57249f0e8133a508bdf0d93928472874261b1683112839c6641d24275af0bb6f7540c2a14a52c10b2c6006b743637adc880768e87ed61bd14a52f0076201122d095beb803dbe19110f58625c9e991ad998a885d095fccafbc11ecf01a398bb1001d5671116652a5ec6b6dea77a7aaca0a51e01b51c71884bdb9fb516a25633f23173719ce9f6f81808d681aea97dc38db8bc1bf5d02ce0ea14970e913d473a34c3f8c643b40965f8b6bdffba4a28ab5c6e6120f09b0901c2bde06c6a7351083eb90a6f83e84ab828179da5df6a9b9dcef79a9dbba65e2e0e0333a2b862529424a778ae5eaddc145d7d10700f071e686c4f6404ab1453941a95c526067b12683742c6cc0499cc54dec4b09689838ebbc4ddf11167d915fd0047abb4be07153ad66030fd1964d2a69ebe1874ada8548f44e101d7b1f894760077e1be901575c5c5df604c2510b5b5e7405c317eb8a1f9d59a422eacc65fd789bcf058ec932233aca3b7bd77c254c3390452095b5d0900213c8eb150870f0dea3342747e2702fa965ed497e9f29e08e836b70bab8b67fdaa754f1995751a97282279f1ffc094ee58051236cc52d92bb3015bdac401bdf2598c8e8fa8c6a00424c317e1b20b63f668b7c0dd5f28be68e160d4a96d04c816d086017dc0c894b1ac8349a26c9e820756f78a5dd3afe9e593329a11dd284d74acfa88e2f54d6f22562c4c20ef73d84d73f431464b45a50e3f043e56864a03023934fe977f07c2c279ea95a2b2bf87bdb604adebc60ec9688eacff37a974050edb465c0e1bd7500dce90197199afdcb9de671bf1d170fd96e162ad6e4b661e78fefb01625184aab09d17066e3685a23c7be553cc21a21b1708b03cbc208b9b1c3e1dcde15c1fbcb48135bbbef301e7c33238d1f53c3e18425372770630571436a25f4fe4187f2b0f337b99d79dfb10d8786e1e1b8888c417c74e7fb90f984430841cc4c88f7cff54af75e4a7a616227e5ff9ffee56c383e2adaaa55b003fc08cc17a7d970e86ffcbbb94ab4022c8168819082a4ca8b4c704a1f726619acb36bc302d54cc8bcc771c2add8caa260fc41bf2314dc1115812a4fc2fde65060c1b8f142c7d63837ee3b0dc6be67397e4766c96d7d75328ccd626dc12780e13a04849e330dd8f3a3d7528338b5bfd5b16e7852d33dec9020240abfdf0e59aa8f70ab6008c8a0a3acacde9a3bad12344223c7fc543beeeb2708ca3c3e6d40258d28504a4242b77644115025e6b3611dfe9c03b69c670d9b8d86d091a2301d1c7a9d469f8b4aa1f020798c7871566ca17ac41eb363772dc1f0521cfb7e6e7631c5119f6283cf2710c8fa93b4f8323838a920de886ec34a5fc013ceed18fe2dc6d03b8b6f2c31bff76cb54243182ac3f67c40774c19b2dc20251b201e0218f01af39a954fcb0481ba665bbfdf1be83a4408f643b8069bba7900c61f7c819415b9345fa0839d713f52b47a1c160b52f282f4ed1505e59d1287e74fb4d40744e1ce72a96b494434cecd412674b3156cf2fc430be905b571b1daeb58a602f02d3297ca7020efa37b2d8d05478e156e6c8056300aa3d37ed02fc11dba815464dd15c55e8c1eefa07cbc0b980718557f949de50e7af8cbb4d28120b618df990d8ca6e392473bc55d5701d277c55c2e222695ad89837a1d7cf54231a1f6bfd69ec76bcf8289b09c1cea02ae432f3da9cd6d373e0a69e3e2e7cac38195a65d50e7c176a54d23ac273b2bb65a1ef16c0700c07410f27ea137840161b373b0f7f4095ac3fabcfa5f7eb80db067ba3f9cad76437117503b90e1171da270279e78da0444751c61e63f80bd3326b20354a2040341242a63a026b3d629fe45ab0b1663e2e35dcd75f4f9e520c2bea2c608a33db64f007a4521cbde3c7882c1c2ac5fe173d0583cab40a86a9978654ddc8c634874b9452e8f473ff51d88e7cba84f3a3582af0cb095b67162b798993f3198d870dce881a6dea6fdbdd0686c65382165043e6c0653c5b096c44953ce97b0512c4e852f72417568c08e77dafe379a8f1e1a8ffd964deadfdcd00acada413bb052641bc858efe7cce81fcba420335d618b9fa979dc0bb0f9ec71a13fd3a4ca6729a0aacb01efffcbd33a6a3732ee712735c50338af3bb70d80e6588f8078e97f3f6aaa3aad514609a62ee2faf38695e76c4332fb800da4a5cc597a5de2e3d43bc402f8cc3595f727a1036aab57d45a96ef7c5366fe730f2c7e96717a69e693a00d9ab7d82152b9aec6bdff839b29e18447bb4aa39e0810b3760b06cc404c6af82464d67931a2b48f229b5817d50839f2cd89c9bea97f49aaac07bd9cc0e80a4f4148bd327aa8b15bd44acb516ffed39d76659654a43dd8f5301d72b161a1a6ca68d90a0704d1c0d0174a42950af41e9ddd7ddf5f63752673b8545ec1ef460903f4298e2d7392f6920bdf6ec1147872cc4f4447cb7fbccef2710303a9f099967317f94e53c1ff850b6c8d002ee12a1f28b8d10b83d6c3a8d402be28245735d73588449792669ade1c8d5cd815874ce151ab239fdedd54de687a8f351184364e5266e306bcf8c03f028d91cec53a2bc0b310be46ca338ca57a14f1247024b010cc2c2fe941d2e7c10807147ccc06891753f54f609d5b09726e6a2f4651a70c26a6516e166f108ad39b187af6b4dbe36d7aa72110af0f5794b337636a54ca68bafad2005d11219b32847a5652b164e2a4ae26113c01f4125e3e8c6768883d748bf1337128d2ff5eb47dcb657360d83e68f00dbacf840f7308c7b3ef9561b7e735f181a65b17959ec1ec60d69103b4e80e7802bd1ed0fd509f654cc39911d4010a0fc67175932a0eb8436e3fb1567a4f6212b8e7936f90b862ef82e9443ad201beff70da7d7fc0db6916d2ca4dabf1cabbd14b380892eeac7041d428d5e62448cb9ff94a1ae99db6886b36b8e207177cf977b837a624dce671cf4840e2a1536c4a26c6a9c60374e61e81cb14bec2530137d4df8d530ff183056039abf14c644f06cf757c77c1d1e0d4873d7bf302121c72074bde0aca1e6f62ec1635c58c704b4abd534cd8c860b7991b317ead80885cb7fc477d9beb3a124a37e369f04fb11d93140bfabc273607c6773014a384261e77c9b8fdd6fab95fdf36c8f3d6923a3e9def9e70310b576aff3ceb7aab336eb8bbd0e225d8c3758ccb4fb9ca789c3630d0f6feda9c9b4782fa24c652dacc5a1415c4d45847933dfcc7a14ca480dc9725d38429e22be37f7750b5ef15255000440be379979973d7ea5c1adff32050a26b428c6a20a1d9d758dccc643406689b5407c6d405cf00907e49ca2e2db585b576b54130b5c7467afe27a05c060fc67478bedc9f8478d3c841937e6d53263ef406ebdd3f2ca7c284ca3e2221a2f68d85f66ef2c02adbf046e20f47188997aecfcc76f24a55fa0ad8eabffbac8e55f6ec4455328235888b90053b31f2687e8227e03d960b31123d6b45bd7b46bcd2d33d99634b125b3c9838a643d3f916aa62f740be7f5ad067a92c34039609dbf8d9dcd66d53e74f2ced22ee87bf50a32ad892c6f13b1079fae96dec731699b73c104da170b834487921a6fb971ed586bfe49185d4910b92f0301f8c0f6f7bd633e56783706a31d16329de1b048117406ab3390d49395bfc7183305749cb431135333d859ea295137b42176292074ff0c6d58021e272b3f2e860ca3854b6ff400732d82208f0d411e819c2c0f776bd3ce4f567d6c4ba9b5285676aed2d21670b86d4589cbc9026710f5c5faf0ff97e1e2626f78e564ca238617258afce1e9b7c5c545bba62ef7d78a2caa82e4006235433f65a3e6790182888a4ef48da5e7cdb338454f62a2a9802a268d0b46c10c81f2492b618aec8de3daaf4f4f135b6bb727e90f5f3d55cdb2c70ffc9c59edd88714a78501e434c606c185c46fe03a2a18c4df2ea37f11cbd6dc28940adfbe729befda6485d1f754f0c938857e005e7e3a5e61681deb228c160781b75fd29c89101c47631178d8ae871e7a1e5d7bc37f031a2367d92fd5cd16a163da92174d6243505a4e3a351afbf0ac822bc9bf03ad2df91d4c0d86890e3d9dcefacf3dc1957181d4e12c978c56e35c60e2b43e0b94a38e90d10077650589930eb8dbbe10450f8cd335f6e0be07cabf03bc987213bbab78a95543b05f6093fe009157b2acadd52f64b4d3a0c29970146f4cb0ebf2b770657c383fb76c736bcab4f15c7a272f06957224e7e61bf583406bfa0a3274e2484c2499ebbeb99101d600b6d399b94a85fabdc4a333a0484d4e9efbae99f2b3ee875186ddab350a836242106b9ca5d79f9170cf831265b0d7c59d5acfcb01c7992a1e6263a768fab5944ae27d7a7b205e03e07de48e2f18a14bd901305cb19957e32871d1d1aa17d1cfbaaa29c0d7d30d2b53a9658ad58d46111d8562129eba3df1cf79e88f4ce86ce8c3a41ef2b36a332461baf9be71ae2f4b84d462583319385f3da4fb56572ca4851892f44c5a4318adb4632f61f9422867200ca96cf982614a5d6420323b0bcd15b188d1c85623a8c5ae55bb713a3cc4b62d03467014d45bb0826c6eabf2efd438b50c853fffab0f5ff61ff5fcff52f31ca4d37f2a0b484784cf15fe67838a6fcdf773c00f570df0c60d4df391ec87da3204b3e2939e471802e5b66751cc77020e5e122a67c12ceb18ede3cecc69a0d21e9ca142b547cee4d70f98191f6a2475c46c6465093d8d850a07ab93986199018e8a5fa002b469e497da6a2bf417fd6e37a85e08c97eaa92178d84e895d49b9c9019bb72fe7e3327a59e56784aa7c27da83350df2165b1e909b6d41ec521e1e4bcd23b041c27e719d25f0b0c4171d2340c60631e43c40915826fe7371b5993c154490f51f3154000cac27ad0921f49340264925c2bb3772f701b45795a3e9b12a4444c27ab1e1ee4d423adf0d231602b82f16b60e07c6744f57894295a0c38fb74b87c120c827841b6ee1ebd9ecb6bb7dcbbd692f16763649f9d4cb0a9084cdb6566d9ab89838b572d84155cf4173a05ab46f9165a692fb217dab1c054561c556ec3295a3a09e45762e03afcb335b426682705cd5ba0618e6a8bbe0992083284d6498956ba759d742003d45171bd72e8ffbdf222e94b9184a2e48ca1d89a92f41daf3395455440324913c926e85af7bdf0b3d4d15f039539dea289f1e2e986a30e74f9335cbec13398049b1bf178a110793d568eec3e7d0a1eae6b9d2d3f99f9fc1a15f13605fe17de7ebec6a86c8fc19930ed4cfddffb468a6cee472cfb0de6b8effb2148101ba3fd8ff4fdd3f58d695b92ec28a613ddb2d432bbcffc2130882e41e475041f6d470d241b4c19b66cd95f3bacd2659a3ba1a96591ecc16f59eb037b6e3767b68743b41fa9408cbf6f20b5ec77faa2d084ee26cd08c23fb4147277e29261d36e231366639f1ca0789da84056bf1a327ccd1855e812842ef4b5a41d7ce4b3431c33c2bd19c38bd01e915c6bd55cef2cdf6aafdeca2d00ffd203278ee7fa522bd30184ea064839788049da1d4384121a134b9a55f8906000d5f72bbbb1ad02ce8b5f8d480cca9cc351a4f5cabb9d7e55fd10458382dbd39de2f11cd0205975bbcb5834edce677a1f78359de608a43a2272d73eb6960674de52643c8d68485a264428749a440133a1e7313a627aa3b0a8792fe286b7f61e2cd192e8602f1f9f7ada0015260ea3f931938c627ed35051d681c6138f0249968f22e79fa1b62610d2f1e6120fede6d21b2cc368e274f19b0bd127f9810ae8495280f198260a6f819bc8fabc683888e2e3018b25ddc6f3e237035efd0b79758aa0ab7fc4ea15e4fc7dd5f46c110f54ea5ab00cb2c880f8463412cca5e29725e69a5dc82b5f54351615880cd9fdab74782cb6909205078cb7075056a650858671886014d86fe1c9301258880c8179a0ba9b68022a241f6117fcbc0d973b9d5934e592c508680b18a13e6dcb19bdb4e13bcec99b83914ba605d15af4c9fcdff438e761b789bcf70b5956c9cdd8203eb3eed39f6a5ee9927da1a74ab6859d9a93c24f2eafb498d6b46ecdea6c304a916a8895cda1e2f348921ee31b0117214de7a095006a22d468a7240d71a9341601592301219863263f49909e989bc8af7a192c4d5d0c4d8bd894235d1829b44df1f0aa4109b9fa49b21b1a98ff519fe5b0a3778b498803cc0212beb8d132f25808bb1091cd7329f21faafea8a4cb9f0d2c13168abe945f7f6b259bc85942364cbafd30108f105bb38f93797108b20542b27b0572ed08b4f20164381180743c06b22c1df8dda632a308c8a6b966383c03cc65af01a8471f5680adb8f75f46de9533c1fd4b2790a863db0b8f084dec9b5d448f52402bb30a4d505938d3297abc03b80b49c7d2401fb49ae63bea0228893c9ed0120e8ccc97178378cb26d6390358e0273c13c14feb97896108b7c061b55bb01a604059ac45bc2eca020eabd4560d9b397de1630a01eb9b206c18c072e32e5a53a6c97eec8a3ad512bfab503afb93e5409c9a1de4e127a74418922ec770a0c663d1d8844bfd338dc70f1c15cc4996a54ddf53f2f5275084594ff2e9d2ededb5a05a7560454efde15f923852856b1f5441d5b93e98d2b89ae4bbe5ed46451608b11d56d404171799ca632442e4a097f757402275c9828c850598d08efabfb6157439f2a650d1b19a5e973c9b22869ed06aac8612d28145ab63bdc670e10b4d196ffba319c7e80f7ce606dbe8f897d9907e6e6fac55cfa89eb3102d9e62b8e3c042271864cff856a44f143ff0b062eca0bbf00f6f3fc077ffeccd24cb61edc69504cadb0708d13e5017245570895db01bfb5e67cc95a2e7710aa82f463954bd5cb6dac7fb95eca77e0a2fb8d1c7631470953f51e9ba15076298a13e5a859c68360d0ca1e27105b35bc645a28d73c01b1780384fab4f4727ec20146840d3cd4f50c7bc2acd8273c0e0d644b2880fe832b7c704a4939ccbd2e91a5a0c62b3acad941a2cb18f800edce977c88596d80567a6bdba9b1a3cf80c53324d09b5f5a125f3c6f861df91220d8718db6ecce2e9c927dafbcc59740e90288f8692a76d997ae13e79f2e05cb4d54c18c76b712666d1e0acff66b9868e32492a618de81797c35360bc104d9fdc594e18c31e24b32bf79c3a41736bbf9c08497676e7380ef9281498c0ae4d34bddd42b0f6f3cca89f92ade23b013b0a3223c02e8494fb8a2831efde8d186063dfad0a2150d1ae8a38f365a68a1450b6d74d143033dbad1a3a70f7cf8436db4814382948f80d326f4946154567d666642b3b77218d2e1d8ebae0f9249a00445f9b421c39cb6a8164da4b3058ba801ff754b3d6e782aa35aaf687fa76e3bfad38dc4d262ce68bcc902b46f5c3d81b43a1253a34009232d0d0422b6be1abec4d22cf540fa420365a97dfb22c5625412c44dcac0853e7a68a08d365af4a1431b2db4d1448316f4e8478b1e3ae8d184165d74d04013fd3ff8813ec0bf1eddc2c3c8fa220438ba0a2d80073db823080673f8e391874d766a07556f5875bf4149f95fb23c517d14491e58144df61bc9569fe44832c83ca5047c91a6adecbaadad7b15d56f73f9743b90b6964112c25697314da31ec79af3d6996ebd16817fcf138da3cb524bddc53166a534e504fce626a3575b619bb9e930acfc021e92bde814de29dff5c884c7d5b9d2f73a7ee5b0e5ac7d68c38661e927d4a15b256a0b5eb5dbf9f356c3ec2af2a3bc465fed1b9c33433b13727daf6a5f5521122d90e7618ff25bc15974ce177310233ed2724570d3e32a1ce641a4dddc4a6f102f2cbe04dc238a19705316a9c1b520084116847b093e8c36bb556bad2663cfc8b9ad44ee79b13a5c9c3d23a35e0aa1ef75d669ad3745d2fdaa955e92b523c4de4aa2f75c5a2daecf96d25d6b95d2d4ba6aa4968da2e9bed652efc9d8327aeead514049483d531d3aef13f2a007fd466ae7d6ed0097e90e92437510258fc4a9782bc421301e6d6731bb02634df40d8878fefbdaaf62edd0018fb51878764e36b38a9210729c2e43266d254b577b3c279dda728db0e035180b1feaafa3ed88fddeb28f17b1776f052f3ed95fda3199b90d2b51a5b424ce6a9e57b8845d518da6ac6a34db0133ff6437b4f33cbf6776b4ae96544aa62fec35985e2bbdfc34b539e3c8c3f7070dd5694b7382dbf9a72c0caadc001d1b9d614eb5471fdb135a40a0ba1e80cb8e58e133afe8dba8bcc2668f48e9d64d01522541768537befbf92df1049c679ddddaad678226649d0dca8d3be23f5f152e5d3bff3ba9edaca7384aa2f9e0db683e8a93848d1013142386b136af6e92a604da4bc0395c524b164fd525c783ea83e32e0a0d00b74e9b639a466b86d26687e75617d05c318aca13075fdcbc88b70d80e9c3e11dab52ec6bb9f338bebd0867f883ff9c107d6db7cba68e760e3ca69652d6748c9bd92f908a520706d9a4a5fc6868e9ba20f54e5c33f808037a156b4c10e29f3db0b9ef7093f43c8fd9d4abfabfa59fc9e897ad9e7f484c11e8653b233be52ab14639736b5fc5046310ac4e1d94d3514673a5adca2eca6b1cc163e0083adee8276c23f93058f396ebb00b37b156fe30658dd80e1ac10e05f6ba856f64dd54f0122201e067285a88035bcf20184684bb00bcd975b139d27554e32657a6b07b6433c4709f1cdd46daa8695eed2777c1b42f8de7f9b9ef594474b3a764dd0c66054f595d322739c58cc5411b18c2185db52e4015ba9b353fc3893a70e5f86f87692715c222085d45d0ae9aa99978ea8c98702a0e22249283f1609f6c039628af8960f7e3451d91e1b1cb7bc0c1a1bfd06e6ac3848a03013d1f0b8b7747aee6de367b42c30b1efd7b4c9951898ffb84650273f33eaf3c53d2e5abbb5352b1e10467fed27af2ff0b89c0ac4b3cd2886b2ca81c33feee7f8406b0ebe988663c345aaa0910ce6167a0f0b6075e742b5a8090d14c07ed423124beb3def3c3301fcb619ad465ba8766331349cb25575e30130975dacf70d1a3531550eb843056723d82aac2dd3fd7eaa77c5521432679cb167fd90e1ee09220985928af79b216b648ed32eb6be769bfd85cca6e141cbf1abbf7f0adc26238f6982fe0b45fd86b5588f81a9b603d05614ca1b251747785d499ae5e231270ce4a1ccf139991047901106c9656892a1bb68cee690693fa1601a387930d5c0aa67ddb948817c396b2d6d7666f84458a3c8e3a5c7e625c6e15576d8d773619f8fdd86468671a986e521121e41a603f06f1a95f4e67052a89b38d2c352a6d682cf41d4e2289ca36725a15b902e3cc8da82a1cb78906c9a1b1809a6f558a6d5ce85e428c7e05c9b60b3663240f4eac5f9e8d7e5cdaa4b103407a1fa068e00544c00266663285f0cf263b888c12dc5088fad6d2131c20d84e10aa2dbcaac3ef627f8ab77df781c255e59187720201db311dcde8ffa1e3eafcd8f66568393bb19dcc88ae0a69236763ed435ccd4ecd8908ffa972862839d440b32c7bb136731c54490a0fe236acc094c534307d2624d1bf0798f6436c13f087e6e2e10ffd834872c9de977b12d3f9a184fcd50f9d5648df8a09c7e799b458188ef6a6dfb5936d1a79c38903eee16d66f1f44c5825710eefc042c1a3a5a825e452c6385d05794dfffbed04cdb60eda842297bea8bb50dd5594656723b46bfaf526831b4c4dd73122cfb023e429d4d67013981162be9d4e5bda83ea6a78cb81f16af8fb3991b392e122da224ecb358fc0d55af1663d1a58d6dd19fb6fb1c1be541f6587f74dc5551ba72a6f24038099f00eb5fa12b115443f0123160bba478061e3553474215c47b3b08a3794536a2035c3bf4d22233906a6b15104935c38c04f031239ca6574c63915dd65ba87cb0e49c0e7a6a2aacef01b5d9d04db5345275ceac2c0f54699b93d7b4d41532719b59d13baf33b6da442a4d06becf64a5a288a55b2a3e1959ef925e2f66abf162e4f8a16fd793e1b5046e644fbd3bbc82d7f1651c0cb3f13079a532c9b6c4458aefcc7c452f456fb586347c3ab1728d6fb8089f1e9af157d447f6ac30a89a0bff3f46d4d8e5eb7dc999fa3969478f5e3156879f4774f53bb40e0ee9704aad7eceba8077ae5a7ac0db9905565523b29caa8fa53f597e2dc87a90d9bc222ffaa4db76642dec3db194ae6844def23d562639e902cb719b48437cf3f16b40a02f4afb489968af80787ddc91e8a6c7c67f4188d03604c4b4be658968b8585ac584cf8b3121cc57076afbd0247850336aa936056aa93a9137d43a751bc20ad85a6826d7e13c9704b0150ad100d84df3c5c1c5b6bc7bb472587fc8ac78021226a6e262bf1e4450ae412ed53256205986e864a3caf7629d438c953068b5186c331c57b75c7d58fe25c06ed1c79a82a7bb280fd60c98bf3e508bb67beb44f0c2ea706c2e31901a56fb1c5f354dc22af99c4cb6b4c72556d065b85084970b63c9e7149f3a08a57d68555688d1b3cd8be8313782b8ec07930b9149730b4d4fcca9f91761876753ed5f63ecb50774c79564215de934d5dd3eda9d897146f1a21fd59291373c58798c5c715ba3f80879fb50cb8bbb481fd3dd821adf8aa3aa626175e2b5a7f07606b54e16528c54de246e8890ba94bd4260646a534490add12adde20e391042547636d47630389dd302b890bb5f3c4b6e492b51ceca52879fd450bb658dcade50ed0c44f3c8f70921761983034819ef9e79661d6bc58b0d57d3ebd406ce3d69d9fafc085dccb97108024ed2161f9eae0a7af6566272139ed85ee4a88fc3ce52e5161491b9b6d952e3c456ae08ec2e75b41baa5102a9fc3a940a1d2a42512bea07013d717ca25c49ac8b5f2b637da27caf78a6601fb10588049041392d67e65f04ebb70031ed63eb8943d10b66238188d230801d6851bd8b87bc6af0ecb6adb33de0d0831b389d56207be15ba0a36cda1534a6b387731c126868e6462afb9b85aa34656b15c444a3b480c57be77d88b4e2f337dbe7f684693f9195c86803c9798cc2157034d942ebc1beb0a3c4c14b8044bea70ae5c20b54e78f99d20d58822f26d3577482d822d592f9efec331156786c15790ef41c36bf83b28451226af434036d87ad9ee773a1aac22730b8aedf35551f4e719ccbfd949e2a2073485b99fb4bb83eb1e07b7ab48f3830b22486f6e634ac23ca7e316aba42a46ec70ea320c373f8f6a01d3450434cd1ff5c06196dd1bd67db76f625a771d380da38fc9d0c8d7088ac215d9bcbb4061f0ffe0085fb6d4ef48b5b0136aace05f389d29d4d33c9952f561c7a136068a69e409931804a21380bcf31618645fd1d8395f2efb28d4a5290abf59143bc97435a6334bb26f37a69aa9c469060224f4a1212244d402bc0a3e5465bb48515be1c22772f6d1e5cbdaa8c9c3e0d0101b5e5f42957064767ef1c988a5f75205eb9923b17cefb0f5e4b07b73e8d9ffb020cb7760243be7f6e6a5c7b5af2b65dace1754332e80f686d1df6d0b97eac61f9913dcd59ca4c0e834e02bfaa5ce73684093bd55d602141e266cc4f8b813727f4ca2cf7a58fa18021ada3af4b4f53ac8060f1ce31dca21bbf7d634583483d867a143a46358a003d5c86ba163700585eddcf003b4319a0976c437ea2cd3bc7145949e8924f47f3da502128550315240b9c91ccd7178fa482c510b6594d97000c4941bd401652690189c0ec5fb5d9bee5174089fd3c95a0ab76d681a4fe4555aac62d69ea3d9d9940b76e75ce94b83e0b05b742556bf350acfdd0734f32f216d9f12a18bbc42a87d7f15f1062a9601a3d05eade6ffe56eff5bf88225634887ff5b06666203700977b53b73ffb640440476c776ade8a2aae58a4640832d8636e6fc44c275639295535fd3def33266ed3407071fe83ec6d5f944b15dabd1c57fc72f7f193e4362fb2d6fdb3390c5ca159d96467f313d31d0717c1a64075668dc25232bd268e88d04b0618aa0a6838137eb01d4ab082229dd8cd29951e98f0b70df5b08570b4038161ac24d3d22fa03c136ca7c3d96156c66a8a41382bf4a716d527f7a389eaed3d499716eb76bc1971d3401cf984d288991489c078775c95d73d9012dab7786ccce155fc29115ce5f26420925881de383a6495525e0e756c77c8de025f39b627af759bb63955960b0cc851719dfc62778143c3255cc84558db5186aa3557c15363ca3658704674c30a17c7a04d301a9c058f58cfc210598c96ca7360f04e7480a20520ac7195c82e164d27d3c936674e862d18f38f68604951628cc76c0ec898850f8470422c0cb89dfb017134eb421639d9ac13224a61975d309b9acbe5836bd82f2a3c9e244c75adbb7c377d1bef072b2f7a49b6a808016811b826c8d0ce9d24ca4cfea9b2fcc99dca012bab2b5909b302b98f9e438239482326cf2eebd23c9a84fd625703a26ce1ab18ab3fa7f50f8d82df64a83f97e0a0944b0804cf8d5baa0b3038e720db41582512a01ef03bd44ec77003f0a5e4441dddeb45ff3f8c4f6cb0b5256a323418a5c23149736fa1c5d3122c229b3ba81331a846e6914de06faf4464ea3165d21bcd0033addac7ac684784b1244e2c2cfef3c85414aeb7b8f5d2f41c9d62601888560e376744d3d8f429ed8712299b469a8b515065b7a3d723955d6b152a612d521c46f260cb908ac2ad48dd2943f693c88f00361ed5b64da1b575d9faf4f7cf18c785bde93a67793b1d55b552d8928682292c43f9edf986d357f87f4381e4aa785eaf6e93f105d4d2bc52866ca10959bc0d9597063a20ea9d8bfa823218a6e940201666cf969dfe400e849234e1fe47f461ccd1b74f60b897706653f354feeb58485cf9a561514463177aa8fa7f2e32c55a38d0cd498edf1e8cf96f25e1d55c6971f7fb1a59c193d8438ac176b6393dafa6c4230b912ebcd7efee4585808f0c8dc6160ec30087419e625647f6ee46ff26ef037706f7237726ef237f837f33778377337f91b7837f99bdc9bb99b1cb8f1068a960876f338c108e0cb79c34ada1f1b91e4caf960ac8b9274e204bd7389607c8569898dd48b3c10f7130921bdf43c0c28249ef7ac88ff9f3d626111f017058fb4d6d2c708e9002d1a794ffcc2cd7134680ee851372781167a61d6ccc14c3dc90a63fa9e1d1da4837fc1963e910b2bde8198e4e5dd7e8e14f9417fa1d06a7f9e1db57d0878a9b507617d36f805c00078bec0bada200a9fe688707706278a93ecccc72c658454e4c430450f8c8cf1067b6e11018cbb6df0f3af9232041eedbe8b1c4cc6b52e36855f9caeaa97c7e9c172f88bacf63d61df45282e96c949bcd3d0af90cc2eb200d9fc3aef45c35f0db4355c3164b761a852399505c15eb0e6933adce0cc2862859c7ca8b305714a431517c3d6aaa8367141323113ebe708e87b2a56de86ca2a55a411131c1de626d60c56a3a1326bbe1067f808b32ce63404c673c59bfad1d0af9e4b78e3224238c87cfa5ac45fe87697f13b0c7da139152e405f5b99e06249854c4615392a7414ee485c11c4943415e93e47b5b2fade5d389a621281ec437b63e72f0437fb64e6a52a5a8989d23dc8123bf1d64301a9a90e0f9860d96e803cb409aab71461d6beb406b38ee1168c9e256a044be96ab2aed0b364c23a6af0762f79c7ee4908425da4ef5c878c14b313cccf7614ac91770b91cec06acf357c380620254151e1ca6688cc3431e11c00557eec51b67f0e60712839a1933d9586a0b72c6089da43267b0a2da867378ac0a97e9431cb784819ae7e19006a3d4163dd73b6d80b60fad7dec2affbf520505be220a2b810228e030dfc87d554e07a883e6395abd21a4c344d10efe3a4263dba9809db8647904953844a192411db8a4e208de7b733e328604845fb3894c2007059ceafcf158710cd0a0aa54f0e954e99ec35d2420bf57427124f17e2ef913106ec86fa4ef39a856c76da225b4241d3f317255a4156ffa1033adb7b347a7e5cb634f79010a171407f70796a669dfe340e82cc4bd72269ec62538bddb7223fad43f0570a9621680b23c20fc2fcc6600fe03fa6781a8764a07133b5bba5698c4bc89dbe5909a2c7dabed06616c42e2c22c4021a6af00241cfcb05e0b09a3df70f51a763f016f016394a73d03f04f4139b18183b95d311f3d497bfe95f6d3287cdb82b2130581445fb06d6dd591f02afc8172ab4bf9101a98f438c2ef17000cca0b11b9ddde258cca180118c668c78fe5ee55b95061542674511b9ea61f13942390e4105109c48bf9253dbd787657ed9ab2fa6198a6762cd9f0c843fee39a89336a2c599a88bbbd1fc4537c1c146c60abd5d56e6bd8a88ec3eb46477d01b20d8df908be0ebc5c41325010c9a85f3ac809050a4e4d5d04dd8daad65c38843a6ad09305bbb54e0c7441e3159d196330fedcb19a339ac0fc813ddf9318430050850c34bcc07290035009633373198fdd8017450c409ad18de15281a8115d5d2f3739f10da3adc3f7ae9f897f14f841045917baf038c247419b5408d4512ebe79144d4d880e992a22f24a47aa83747624876b8d656ab957f06fabc3b15080a7400a406ae97539d3cf46168af64e63f70a9ffc323a057849522fb2b970458097d4c1ba2aa68c9234f07a738fc5c18059007fc60ca874c3198f08458deafa17849f4db730b5347ac0966fa43862c33ab235d80bce943607d4c2aab7c7c384d36720123e6e552be6f65a0d84e36c5ab66a8d671e2e25e324db02a8f7c5730cdb8d692d053d2d53a9d8ec36c472d53b6fd41b79deb02883b28eaf53785a83561a0797ee9f1e24e81371750512a3c5fff1216c7682da2b6020e501629b772d62e06b9d59833a125184765afdd5f9a7c3b73f88cb20b26e9c2b668e8c1bda2f1329c9fd144d09d7d2115bcfd033ee8e21bbeb62aaa559b317d0773802094791b34cd2fa2bf8490052e21fa838aeb506d1553e204125f7f71e35e3bc03128028cf845a27adfbb93dfc353d7cbddb649c042b5cc90d46a5c379fc22080c60e8037b0a18740e6b8dd53b07ada010bac7aab7aa8bd63169d0f504637d5f06e4695ad0244afe2d6ffd82727b0fa26ad9dfb53b6790a643d40eb962cd7176305f9fb9163e1583de95195109fc3cfbb251c03da9b7dfe721fac1b672197ba6e2637e05fff20fe9bd3600f66064643c188cba6f1cc918856b2c9b99cad5e7b20c62aadf1ce969e403dd90b2c69a1afc6f70053ea8cdaf92f732c8c4247e3070afc2fcb9a223518b8aa6e94be9800ec61bae80bd45441c86e01d7db15759f57043796c3a5a5a9ca9a452b33204349dda0d66bedfd1d2ee693c0b2427ed4dab8e2a01e15e3d2cedb96645891d5e41dbacee559cc99138484d65d9b12495a7fc2dc3dae9a0d89de606187367d2949f661ef0a3597d4267e9496cd5d00fa2b5fb301e314886a44b5b7f4336842d284ff75677fdc1be76976258b13aeaa7286ba7765dfe5271dd6bbf92b99733c12e4a17e59b66f86e73764874518f3db65dcf88932a09c0404b0cb6b77815315c265575c4b963c16181024701e5e22e8c4283bae6f012537acbba1fb87de6f6f9c8922615ab33d192c0501588d192d37327711d4eeeba6c90d2a68f4a6ba3db3e5df51135591ca8caa7536372ac62fa3f9d5a2873952e5ef4694301f118fd6818000775177708c261290dda056f30ab3d818b3f5a90a2cdf3f915c1480cc2cbb631cb623c90020d76092f5aa4d246d855efd8a9f087224504c81380ba5dd4185660d2b592b3cb05e79e94374a55e9923ed09ae26212426b156629226bda21a92e5f54243b1d4ea1f2555c200e0c533387e9334a247ab7c062aae96b7467ee6135ecc90bb8507429bcc30f69598c088e43116968073c5414cdc5e1ac7718b32344ce5cee6c011e87f466800a99140e2b475a148f67c63e6cf19e3409a4741192e4f2b94c38fc800923a03ad53ec7825b81ab6565cc8891a5bd3281fd5a9f95d0b6b721b72e43e469a61dd2ffadc3a59832d5fff9ca1d0b82fd3d46d6c82ac5c19c60553b9a1ff7534adb52645813001e17a0428f4b6865a83199545f5514a948c9a8d20d32b5651ff8d23fd535a4bd0b7e4f3e6fba75aa3dca4e5b1212f51c4ce184dd81dd5246b7896255c209e7832c65240c0a3cb260f2c144248d1a75f2c1a93444a61160bd7f11614805801e36cede659af05697761e00c4f92415f5d852328d89e4d66cd7a7a4d7a9df4311ddd369c36203146a8ea69813b035a7f3e903527496f60b0dfb3d3036f882d685d44fe62224b228d781d4d7dbb1465f9d4738027e42de475f77589eae723a9915ef533905e01cf23cdb277979fdb7f28db2ed20667873ee019f18831618a63c37d31dc96aa8f61f56147f5deed1213d2d81920a873b82095a5539618ca96ebe25f109fc46b2c0652c08cc844a1f7df001f49c917c1243790ab268640f473c13601a1ad4010f14c0b025fdf50758118b4ed2bd7574671814a2f937d7209a63d2efd74641e6c86f2211750a6d5a56471690b87e23a4e3384855e5f17634824f955e4266c6f1aa0dadc6bb2a81e6b5cb222bcda0f8918898dd8e75b16922e82af409c89b4080f7df055c7b41ec576f274ebf797071d2668c4d51d40365851922c5e9bd19216bb96f0bd25868844d4b24524620c4dcd7f12681b6fbe02597c3fe6d3a1e228ac7271c26f2742a96a35334a4a124e2c47dcb3119545490276370cb3e750e4f46499e8c8f092fc0faf31ac7339aae30f64e1aad71b7a4005b4a16d23968ddf04a7e8160e9b4b3a5d714e498a39380716cc74e1d24bb1bffff1fa7fb1685bd2737c77d0095c875941873321b0a56915408e06c5db94fab3a74acf668edc8fd3013a1fc0a7ec1ab80d9301f1a3e4bece74abb027c255009fa2fcfd7b664737c7047e83f9d1ef96f964f2a80e3742e4c2e491ee8f68ee33a5537075fd89bd19e9419487cf7d9beecacc8e9c36c9f804b3408037471e476af178c47a7cdd0df735a9dddcc92b8b1829779d6739fe1a98635766df95d8fe74daba5f9855d96667ccfb57b38906070c9dd007941346cdf0131898da1bdc48534ffef58978a002152c689d8d4077354a9a7f0b8108e2ceb5815762169fa29d2b6c5c7ecc6c6315437c68e1397decf0cfdf5f1a51cd6bb29685d927a148691fd4e1290de6c683c8d93a4a6dbea33ec99eec26ec00e1ffd5f40bb49bdc95656773539c0e5f6234af81919efe1bc10b7607ae278b49109bfe104aedf0699b1a5dfd59eb690880cb4e453f19ce594bbc99597bbd4c82e9bfbb22683c8ef1530ecebb86a06b0e802eb6a09bbf5eb44fbdbc0ef8320de46cf4cb8862b890e5f2cb61546085211e9016c78ee7a647178c75c6b129b788a88630d70e5036ed1262260c56fc7d4c32d03998bda8be2f03082b4aef63b00e1e8ee98ebe884295e0871fb54b838128c84f081ff4769e815b566c50b4b549a18079be61dcb57894b3b3f41b2ab14bf7c5dc16af1701da2e842a56686e78b223aa0bdcd5356cf4897e2cf3cef31bd5d1db7a4f5e232afc72bec17b473ea9c557fc50bdc9cb60eca7446e8b32333860d09472f3c58ae174c7419380d7737370e7de401f90c25c01cafcde0619949d19468e3cc9d17611433b1955844f93e6b1d4b3d40a96c196f4ba2c81216836838115d44111c983ef6fa6daecfcb72c9053de2dd133f7978b29dec764ff1639942a4361198b6d1283aeae247fb43580dfdef443c15a5941e343d01462cc633a2d8f502cf012a93923709ca4e041c626e5144cec76d4a5998660d447298fb016caf3a3381d084598529f1dd24ef74065ca71500d1e11ac63da81ec1e87489e99c49a54e8bd89fab5cd6132b93ab8459f2f7ca746c7e044bf065664048da32f4fa4e1102b7d9884068d604f415bc4c86ee0d6e604101ea67f0fd1cbc4ac45789d5329edcce1d33574915bc31d6afa32c4fe74f4d5918e8feec6d6871621240c7b200909d9c58150a6267155bb8d236d51197ae0742a04b8c51da25c0ffffcdf184965d2fcde67265081f746c15cf569b81810bd7c2c1eead4dff7ac4a7f38568d1e4c4fb413c7f371410ea76e130df83c404dd67afa07192092e9e706a4b85990bafbc19c205fe2bef2f27cfc9b802cffa030518ef8f4234b1b2e3f5d6c762d854f1eb8a78496fb2269f444b6001b7392d194e41aec10e1064415ea27959344e4446215f1e23c4b1d5485b4c8ccf2480a0a4d00c81cc1012796764383f6e39e98aa3c49e71857198cb3a7eaea9d11cb32fb93e328bf0c7ce54d9d5122e9ad6abda5729c57b4c2d89548a5edcf42ade9ceda29cb1a1f16409403b0d90fe4b57648aa0c02a522d9dba0ebb141007224dae32d9f832b1d6741628e83044f267c81c245e31fb7f7ef3aa4b7e3aa9f2cd1455ce8092a4ebd2c955ef5c7d8eea6e934cd18e738f94295c316195828f254c2662ccd71d224726cabd0b0db5a464f59c604651cc41531c815c29e23cdac5443fe5b664811636bdafb0129ecc11eb3416717a0911f834ae91ad9a65b33496996a84219acccbcea34cbdd516a127cc0b38d4920c9c9b09cff86ed3a52fe7c10ac41c4e7747f14368b0d73746ec652abc52de7ba95c4c49fcff23609121b92d8538f889abb4bc5fc50612f47bf5c0d391d354c846513a92cedec6f811006efd294d6db69e41f8bd3aae8546151f77971d1b2621974f4567ab3b5862187bd43c0491cac95260fc0a87e99c2e44ae58904bc4b3100bbde8f4316c03dee650bf6c727a81df9a728ad06ab165e50470063cbf528f0738cafd83ef2b73ae38168ff3c4c813f4fbdbff114c52c590a3466b0ca7c6e603c3edf3e4a5a84c490c0560e421ccff0a6896935c59ae014d6b8b18d69019163b764002472ca4dde044bf9ee311852ed1581c99efb761496ddb8f6ecf590fed92041e64a70b58983a4b67eef8116699598d085df018ae70cf9e198107989c211e7622c360e3b5e1b685d59c053bbbefb67588ea739112e21412098695c39fd871fae4c3fecba0aa43d037dd8ca292f1930f486546ee0ce2f2e867337600d1ab5985203ef3f76d40f2a3f72ca9a7c0ad5e1b1046de7d8107379aedf7148593f76f21c50bc397dc1c09a2a72d4b5694e9957dc3b412d4bfa1d283534ae8a9657445a1574db4bfdebff319c0c800ca7fd951db0a72469687b6ded9a8b3040dd1c80d107b47f22a8fb45f9ebae1835fced9c8a6a652f9df3c699edf39955b45febb6493858dbf9f3d2eb06b2564f726fe957f5258ffb33a0669ff0c6e2304f73c9ed4d75bc48384debd8afd39e8c95691d97792560f5f07b72422a7f42046cd7f2f6d422d76f5166518ae5f1cb3b6b0fc538e620a61331736d5313c6be9667fd5cc8fdaccf093b4bf8b43b21a4ae1f60a6644292771f8f8e0d40b8323b5e3f046b5dd6f784226c91fd68fce46f532811182a07da20581a159d216efce5f51f0a6823d072f6275ac4408a654351b8fe434fab9f237e9b1dd4ebef58652ba5633c47d8470e70b66dfd7f852039245b267aebf784df8ed8c99c960ab3fb3fdc85db43d66f12856e3f27675cc48ec514557016ac9f67d27d884661283cc9c8dc3d8469dd13db3e7c01569d78f0fb8ad8c32a0a78016705a0b0d83e50e9f177202a929908943f8a6322e421b7237bffa8412b887059a1021829382d088637dd98fe0ab561625d064f3db0291346e65ac4bfcc56fa33c3bf32b7f1b55fd04c66c4cae62af5bbb323a73c95e939dbd7707fadd2ff145c71329cd6979404f43f27b53fdbceb66cb416c13d92ffc5ed3da74c7dec35a8fab58631f1a1e7f6dab50efb6eec9b14a6036a2b9fa85d2052b2a20e56273554fab6921468e041387913e603b05125dc867215ceb33cd360c59074e4dab5972498ad44856390dca80343e800ea70a17a185344441b9ec8737e32feeef3a73ed8f8cb56cf2dc28c6cb391bff76e22f79652262903a00a200a230a31d87dfa24f6093b2144d855f9dd0e767845d73172d8324db6c662b7be08638b33d8aa2064b165dca75382c00319f759db0395ecd013abf7d1ccf23551997d1fe871574da70841877d655b2c8cac0cf867c87486b910b7ed87b76d5fa4564686fff7496cbeef2b8560f071129bd37b36209de5ac5ee91d91dee34e72df3fe93127d9579b433b6b233030ea0b6cf730302a0ddda7af356c7b07a63df5d385a106f50e0bb3370888d3aab72d0ae38d7bf582b0131e3474c62e3d8f6a451e9456a9ef1a2b637f87d10eeb819ece6957be26a79dde7ebb6dfda46bf67bdf7948dbb6ffedeaf633eb78406554e6eb410d9f67a05f10eca75342fa7fdae66ef2fe74de15e42d75e1109da9dbd6a763a8db14002c6090ce1201a5d773cf4370efcde0df3b635fdf543b3d593520edd7fb27d1233d7b566418cb45b575c7cd3208eb0dc8d3124bb812ae8447f128d809283e6b61c05f0e18e3233cebc412ca83e486dc84f824016267860fe482b6e081119e0494266258c7f36e899383e1c630c65636c6444e3636dd3463a6e81488559ab91c111872902e1371c493a28a18f8a28e20d1e52021c25da2dc2562ba443a6badb5f6f6e02dd8d65a6baf142f60b10cb90919f2c4e709d013264f9e78de1522707777bff74a9182d748e486938301c7882846141941c5882ad7ddc3ebd7fb7a6861f1480e892e07c9d0ce50cfd0cf776df07bafbbbbbb5ff7a4a8610c99d811d988767c58d0821684e1bd774a1640f8c3b72b23986372180d429783d8912db8c766b3d570d3e275228af263b4ddddfdde7b2f1539886ec84dc890236e47e08ec81dc174848e07161a72084212474500a5c087c2f0dcbd09957f446e3839187086d0f1217886f02187006a1982c99b9ee709ad3c229810f18408284444f13cf73ccff3dc7377f77befbdf7fabd059198c80d2707030e133b4cf430f1c34410134e96b8e7eeeef7de7beff51b04fb4ffebc1b2437e4266448103c5e103e5e10405e104cdcbd2f9ce1de7badd8d7af7b9788f7dd6e18b1258293830107091d247890f04102e8db710db1811d278c706083271c09a3a0edf7de30747777f7ebd88be20bd5e72a60a282272a80a282282a28f23c1aaa10edfcabed7ad78fe0287c70bf4ae4de5bc44e113d45fcd040bff0f9300e71a05d2841e594b372b20de18672434c9ef5f5a93eec7b895c50827dbd0a1cde740a15b7156e78628694487125f8d981256cb2f30410e0cd26c09920473e014f25607a6205631e1a8d586a9ae4704f4baec6c90f0ed9e9cd354c98280fa1bdf7de4b021b09764818048527303ac18d545109c5ed914ebe3ac4f3ca989bd5f33c2c3c1b84e8e466b84f3397ebe5610953889380d69ccd66cb210a2a5e1e3e65aadb94e8069f6dadce5a6badb5de2dadb5a5b5d65a6bafb5d65a6bafdf7bafb5d65a6bedb5ee45b1021af90728fbbee7edc41b868045cf0e42a8011058b002221f278c9e707d3def8ba287fd6d77cfb9d71d1c7639d872d8c9a127879f1c82b07f784782e75e0f3f0ea33d04e51e9c903d08b57cb57d388b189ee36ad3098191c3e82de3c89cc36808981c46b7b93f7ddd4c79a089861d62f0c40f6c47528ef82188085c12f13e19c82085dddd751c46797c8098d4f43c71d8fd2fb4a1069fec01285104d1e006273e7b2487449783c407c869e05d72ef7d810ef6bc0f0556fce86c5fb8208a1146e4bc20422f0f32e42664880f50aa0d7b5ea6ee7957e85ecf81407d1fd107aeecfbbedbd4692c1cb84d60cfc31e082ca00327765862032a94d0a20826987022873af7dc89d4ff7d65e0c3be7fef2d4b1d0f48722d687a42c90b2fba701510056d71cab9a422b839c203403c441e60dab91091d0089e7c654e4b2d6d57e73eab45b5e9141adcd0f3d99909621ffb1a5fe35ffee52574427926d927fc6764656c1e8b3f38fb785cf358e6f1db9d95e9f198f638dfb08ec739308ed9c76ae80811f3f2f8616cb2a79e5db6ec5b9c06f37886cb1cb1303a63beec2b9dd9f13259791af96e5f686a195b845de3e54619439a3ac62e4dddb24dfdda21164ded8a81a95b3130356b07e06be8161e46d75e871ec0e7d02c3c0e2d809fe915be8726c09b7ab57d684d74d69d235646fc216574b5218046e972f976b3e23499ecbf371fb5e434f33d448d376699839499b21f65f966afedb64df8d04d3001b5e4344a514c282494120a09c584d2a172329adad05278d131312ffb163e64196f5a2873902de8ba63ba6e9918136b72ef005810c00ab90068b2a6514c3fe28ff8636ad58d92fc217b5039d40ec584ca0100002e58879bf00e5f19e1ea70cfddb9e96f53420925f0a0d12a883f1fd18ce6f122a8f0616abc514105140f99f8f30d99260933756aa3c6f14645dec4e826b0117a7670ba1c939340c3779cc77bdce7ff6cd975a73ad1afc94ded996dc4b0623172bcb111a3af0d9d374b4cd3cd5243a603b24ab90079a69619a646ed986e72e363564216b61aaa51791ce6309b0c86874c66753f642c1e3c60543c5c7e3c0c0f2699ac05869a9a65dbe83c6461ee64b7e01d6cbbb7cb7471b97d7531dce63abee33c22dc193f63460c47ab460dd57813c3a1b39b799374933786cec88c2e53ad9b943d0d8ff7af40bbcd83c7872d1e3c563c625b066a898746e5564e4cddef19a61e374b571fbacae8d5d08a28055d7be8da4364634544674cd7a39850569c4603f3fea826a7cdbc7fc843c3bc69a2a0c52b4898379fe667340c4d998384f91aa7a9db849941a35178d9eb6774e581693161348f3749192a676a71c7e8263762ba094c468320093375b885b68ac98aae69c584ca59188dd2b9298aa2a94fa6cedb8636f5b76dc4740d2de6d03862746b9bdadb31dde47e0d8de365afe3c318e38d8e32078943070ed90b87a9b18ca6e95b0386aabb7ac56dae739baa8d54ca345f2643e5641f23fbd89fa8dc8d29fbef6baca95f5ef6f2bd08e34d4c2c46e7dd320680eeaf6c72ff45d3dd0253de1b9d91315d9738fe996f640e4de2d0e44c9356dc64f9b305a62b8fdb5839a1333259d577872fd1d4364637b9f1301ac5046361f55f6e94a8234ba81c93ce69b2f7ab7764a89cd36a88cac134b530537b0cd1d4d5d474c77413d8dbd0a81ab012b5e43047e5646870e75185fca7af35f6049ddf849ce872756490f8fa3469d41ddd69eef3ea76ce8ff1d22e54aeae503972b7fd53be339ea81caa099513f789ca19f96edf6d63efbbbd84f04d8265f0249f0be9230730b8d86b6dfa537fb4d0420b2066fc8c1f6fdb45a7c5789ab3b09bf7741606e44fcbf463e7066afadbfc6983f69fd649cd9f56c8c79f7628853f2d510f14fe7426d7f98ec79fd6b6a3ba908e3f7d28c757c755df91fde93dfe63a38a95a81a9df067c5d55c8d3f2bd34ead42bbd210e6f48392f15ececa80b89bf2cc9e2e0329cffca3d4edaf03d4bc81d2283547b0325fb629cf4ceef2245b6acab3e57d94e7a7509e668ff2cb289467265b66cab3e5dfdc519ea64c19ea9c58999c33a9a33cc99696ff591953b6dc28cf969795e79bb1f2346d947967654e303026ac3ccd37cbf35b4e28cf16d284f2244b1073d9a53c330980f2245bcaf26c795d9e6fd2284f9813938539080363b694a7f9dfd22acf1652559e2453ce996c69f937cd3364e96a03ea407ff00472b10505715646740232bd34f8567b3b0619320882250e959076d7665f2cefe4025d9a823a06196c2e7ad294caea87b5be4878960b2c9b90503d8fda80a016c143ed8b35dddf8f95096db61fdb8fedc7f663fbb1fd844343df6de8bb0d7db7a1ef36f40538a4e2a8594dd9e5fa136f31e6432ba2a03d1f2af3a7d1bee958a32ed8a9af717c73bdca0db64415f2cf5e033bff4cc7e853061a4df78cf676a0327f1edad3819afe3bb4970395f9cb680f072af3a7698f87cabc1d8f062af3c7a1bd25da534265fe2ded6d807a362af38fd1380c2af387d1180c2af37fd13808d5f4bfa1f117328d77180854e66f43632f28ee0195f9c334e601d6612b6efa9ba0311754e65f82c639a0327f178db7a0327f0068ac0535fd4b8d97a8cc5f6bac4465feaf711216d5f42741631b5099ff081a1fcdd0f80a2af397a1310d28ae82cafc63684c0595f9b7685c85caf283ffd245f2bbf0cdc7d24fbc5f8f6fa9522ccffcaff2cc7fe29b0af95daec7b73c3e4be734b03ceb6eb972ab64e9dccc25ab4983551cc4a980b7aa04b30a400124b1b9f959bad499648fa992a5bb194b56d34882b7ed47db9f05df46f0e9f8fdb7e434d129dde16cbc01cb1c64cedb3639bd3de5cfaca61205962ef7836f1877b4bd8a9bfe3690274bb7fd593aa789cf6af292e090a126f970edc19290de20a94e2e85f0c756bce2fad3fd31d830ae6c7797617b585bb013f06e06b6bfad806fafacd4bc4ff1be18d86eddde6bdfa260ca15409b4ea901d0566d3aa5064fb618524a290d8d88da88483d889ba2288a03104b1a00376939a48a621d22a4c6521d7e88829bf9c5f753144551dbcfda9e60622eb552aa87b8e935faa38b9b42dcace29ff583b839a40a71d3e9edbdc5cd6a43c993dedcddfda457c4fae24e7d4043d617f737422b4df4a70a701a0e6917de9f34577bea4ba5a93ef5a7be54a0fa0395f98f9f185e8f6efbb5678bcd450f02b0d082fa245db16714a1f5073a73002a73ff251b6cfa2d4ea3a58b339cfee95b82501a3ea8cf8b813a234817e4d922c461de05f9615414e17be979d4c3d55a2975fa8eab5b316273f6babdd8fb28a5f59445485d58702c472c3916dcb57db86bbb3ad7077766169c3fcb91687331f1fbd08a32de533cde60efcbff692336b702d562d732e6307f0c03e3a69fb60a0ffa94c8fb5a9e466c6ed78731ad90ee2fbebfcba8dfcd18c8ef3f17eefe4e3b1f569b9fd04f19b6f8fd37deb0d48d023f7b250bee4f953acb3bada4b2af7c374514624e8b80cd9930f5fb3e6a73d8e6b68bbd5615944f290843ec7df99429f6befc51a25d1562f2201cf63e8feeaa109307610f5322267ce9ae0af9db9312edc24b431390f569dd94bae949723d3171044f0184cfbd2346d6c34ee43bc28e81d8f11e9206f81ec921d1e52019418f77c4f3283e6c7540e4f0bb63778c3d6cf47d1e2437e42664c80f421646fdf33c22f8b382286387012728c8c2bcacc30f3e92bf3ba5a788fc837f3878587724c7e6f261063920ad3bfde1434e4a154488d6eb909b90214c8c2c8ce6309066d89460772f102b866e4184784a904655908e3d889021b8890f1479d6b111ca732582c3c9c18003825d88439322829c3c231fe09c9b00baedfb84103c1d9af0e1478a2e9af4586b2d08920f03a5a568bebed81fe927e0002f50175a1e08a5e5579d3e36fd1e942646696078509af7fe426972cc280dbf8d4d3fbf60a83ca3287ecbcb1583c9d12a4f96d34ab3c3080635aab9e90d86952a45a2587e1080991d95c7c8851ba2a041001b6440420b354031c20076a8cc60818618c810c0121888b0829227620440c7a8a5c601275e2acc30e5460a9022d68f309a58d980f182ed821a1f3e5248a1470f1450a0a19999e1c163c70e19191a4d878e1c39b6bf04e80c8e8b63fb4780ceccec6cfb4380cec478ccf637426760a8acbe7d1cf717523750395045023843181284edc58e00914a63a4bed02bd407f5069c6a034ead0107a7d2805397e05425385507a77200a7ce805337808313060e183843c0b98223049c20e07c81b3c30102ce0f707c80d384e3054e0f707880a3c391004e047020806344aca00c9ee4c32f1258eb51f1ee0cb0752286ac256265be5c34831bc04ae486938301c7490e72c24ea70063ccde69889c85511d32c61f911c11183c1b6e31c592d37db29b420721725384000b11549453f264688a11844f6c164673a681ed8877739ec5f807a07dddfd66b3d97898720316fcd920bb213721435cd0a4e9eae8d8f7c9dcbed89d08d61dc1539aaefb1124ba1c2421c0618f88e7197f95084e0e069caf04b67ddf1d7bde11cb739fd8ed9b73c2863d88a17d7b74706206482e4881518ea73b925364446453410945255e5ef8aaa72e270bd1f63ef4b4f8defdf07e88c31a3cfbc4a22ef251300cb178e21074bdf7b8f5b944b1cc397dbbfeeafb2eb1c4f7ba5c7f1fbfeb744add76589ef796a7589e751c590077f8e258cb2f3e755a4877f8f7deaf61735a78454dc79bb0bc6e7a65188a007e49322086e2a981f0acc1f3e922a897617ba20bb6835da934e27f3574f699137e8f72bdf835feb7258a2bd4afcad3f757c356df2b519e57e3def5bcf7ca22dfa36e58b280baa50cd4e30f5f04c1fbb09dd3c2171f7645ac610bcf1ab61d7ed667adbddef5e12b04c1ebbd422f0ccb1738d6bcd79fbc100cc3ebdd7f09edf06abc51a87bf5dd285709030376a5be84f971ea2bfe963e3d4b8fb09d9bf86d90077a6059e4bef8e19f30302a8d95f15795777fff618945108fbeb2c87defc3172bf65e2ccfd334fa3ab6207a462c4ec6f7f851d67b9c7377f867cedda6d14695e215a4118bdbe18b294da24aa38dff1b6be117114b3004477d8de0d07bf04f386b8b7393fea7ebbef7defb79b8a4cf42248327196d8b876fe5e59cb3a78b843767cfb39fe31bbff7d63fc7b3eff0ad0dc316ee87d716d3c1b97eb97e38d6583ed7ff3ea653634b623b4efb3e53bbab65920cd4cf8bf9ec33c7af2e02be0cbbead3eeefe9a7efbedfdff28cf1ec337bf7c1ef6b3cb6c451e0a3cad3f7fd76f56bb9c1fbe0fdfc2c80656ee1fb5a9e2bd48fd9623a95a6be57e6ba73c676767e1616d5d7b248fd5095f3e79df29773fe5478e8de7bef0d4b9dfa623fa5f1935a7c941ee90ead68ade7591ab3b96943dd761453a83babdd7ddfe7f2b48b7cefe59cbcbfe58e2da92fb59401be7d14d3f62a5e41e6e49c3edff2acdfe882b8bdddcd39c59684188f37f8abdff77dfa6eb036edf3ead89d85dd9d5b65afe0edef46656e77b4c6700283cc7fda5dc6de27d9f5b4b1fd1a5be3a1cd694b2a4d8dedecdd2a77627120b41ebddfae4967458ab3f7e513fdc07c02437d9ec0503c41d9f4412130b45136b5409b2e5dd9d91dabc3b494f3274544372a2ee44fdc4993f3f88effb8cfae4917a5ca2d77441465a8ea54a0fa539d5426364ac5736e759b5a31aab14ddf4db7b428f40fdd51943a7dd40bd55f706b5fb0f7de3bbe7031c6f805ec799ee779e30bdef77ddff7bdf0d9dc0f51e210f993cbb91377a2d30d0d555bb51995e21079922f649bfbfed6cb26b7f4b2664b4fb243948c1576924d47156ce91988fea5afb3be3b90f8bda7335b53199b6ac58e29280c6aa8ccfe0c4b89ee4eb8ad8caa67003cdbde808a6a0034c23ea9516e142aaa010bce16fbc4b64fcfd8bebba6746b9971ddef9490ba9ca16e5b279ed0d931b6085e16e4f76015a7896fa9ec1ba4b35e79dea0ef7e3b9d530d5d933e2f2696259f7794563765826753293b38d9e70a3765892b9b4ad9e1a765d3293738aa82480ba0ad6353294b4b3ba4306438438ca19664cbc04e7d1ea94de91cdfe31537c7b296a43363bca9213521e99c9664d32d63a45eaa8664c54dba55a8bb86d4943f55e4b413bca58c9c5643d2b949778a4aa501721a8eced01bb5a1f4a3e23498c73b6fe7b3d91d908f97dbbee459f98a3ea3ede2fb046e0eb92ddb544a0e423b95fa71fcd08e6295fd832656c1e123a7c5bc3fce392d2465587e422fc86a41e6573d8df1c69642dccc19ff870312c8879ae5667e961f2bd34261f97dd68289d1a49bd9f5e2c77c88c315e37295a29b39973254b83bffb8c719cbcfcf0f5efad9d7e64680e8d3d3d9dee3016dff1f77a7a634e434af62d34da36b4a43515aa21039cda9d874cbd03525a2a25791528fd3bccaa6bb45d7947a947c5c4a3e414ef3196cba63e89a5210931693a49dd37c8a4db708ba96b44bbac24aba62739a4bb1e99ed135259bce4a4749c8697edb74f3d035252125282a25283aa779149bee1dba96a46b4a352939719acb60d32da36b4a4e949e904a4f947e9ce6506cba69baa6f4a30484520252a2b2e9d6a16b4a4a2c4a4e9ce631d874e7d0b524274fc62737a7390c36dd38742de95645acc2e4347f62d33d43d79298ac8456889ce6469bee11742d89a8082cda719a3bb1e92641d79276784e3c3d4ef3299b6e1aba96d4e3937d829ce65236ddaf6b49414c3e2638a779d14ec21d79473f4ef32636dda5ae25fd00612021a7f90b36dd00d0b524212817ca90d3dc059b6e175d4b1a8a62a3e49ce6449bee12742d29b7e44b5446772dc9c869cec4a6db043d33c650772d890a95d11ddeac4d1985387b0b7316173209559adb545ffcc3155c5d08659f6111a111db4324b687496c0f9bd82efe193ab13d8cc16efd1946717b64628eec477d759526eb562fbdf282aebaa02b2ea8e97fd22b250af377e9551674856f95269794bee4f7bf4d6399cb095cbf37c6970f897e4a9bbac2d5831f1353c2c08ce3388e8f63bc1943183dee2ff721515a8ff77152dddd4e7577aaabd2b162505762503bd66c369bcd664f1b6f6631b39c4932f5e70c369ba5583f83fd8ca5592991856fbbdbd24292bba7f1343e0b60bcd1fa59186ff4ec6b5c3f8bf5ff37340dd68734f4ec5f9344e4d360b1582c166bf6ac99bef12c3d9bcd66cfd2b3190bf6ac598aa55f7f6621e607c09acd9ef537f4ec43adc767cd587a369bcd66b3d98d9fcd66a9590af6b399bef129d48eb491b6ec792c3d75cf4615c27f79d2e6b48cda9136d40e7585b45d8c4d40b29d500290ffe15281fc8faf1bc88f4a9d2587aa07a26dfc0fadfaf0d6146a77a556f7f8f4c5d259d8a8fad086ce6e8621dd2f9f1ab3eec5d289a5cea5639fd274e7095497124c38419ff50876630278f5e55e441d64ec5f5651dc1c675fea55143a338033361a81d9ae920249760ce29f29d7837fe25b0cae0f43d75320c976951478890f8e9ffa3be6d49d3fbb740c319c1610c210c2d8e35320c91e4b0abc4a235967860dec0ac4a0d43c53650c63d9a486d3fbf0f16361aee4747b7cbc92d3d7bc921ee50d7a2535e575f26279c1f242b1322994ab1ed9c70a676dfcb9c2cd34dde579da7e592895791682cc1f7a6853636a2c72138a9b3e1433cecab3ee19a53407efd9c73e9ce9554caf2e40d63dfb733514e56b9c523a0e8945b5dfa2919bfe3b65e21b8ff126856ff6c7f15fa58ba583a5bbca712c4528f95acb328a5890af1d538a50e8b8c26b8b514ed559442137fd09993fa7807c6deac40f4a3b9f28ec7ce6d839e6e24a5d971185f2c710edd98e13df84b0697e0b79449e2c3f2c3f4e73dab9c201096d7f1626a22e0653a5322bdc0a56b89baf869c162b57516e88f856032af33ff114db9fae7035be3a72991eeffa55d3b9b2e2e3cfd59295e9517eb9f263e94e25f9e564a37824c3cf1e3fe7fcb432edbcc211c5486d97cd79da2e97ebebcb78e3ca1a4b4165fe4e666c2a05079e2d05072a9b4ad9c16868873486a45270d0edd5a6527038da1c08da21cb8f9b0eb453a94c8ac8c2fcb4736ae7183be7f15978dc1c4b961d169f141188f1ebcfd68f632ba6357e4eddaf3fc9a15c753be64f5b94bf3a2dc612c51108dfdcc4551ce6d8ca6e697b13b2484edde2d0d0fe441d24ec843fe1b30ae34decc32cc6be36dec462300b8b7d089e30b270826e3d4c93445fe3b013acb5d67e61d6adb7da6587a1d86ab55ab5d6db580bf48fb1317f63f4ecedc7e8931c6f5a25b9240eb919c54dff51060bf9631ffb5c1b6f623e6411633e00e34dccd39185189d83ccb6d57afb226a8ca9e58fb110d3e3db96fe1ab731edb2e9b842eb73eb5b9f64d3ddaaf171ace56f7d98f5f82dedb2c394386af15bda65fcacc9b1367eab8c296f62a83be792cae8ebed4bcfbea549a22cfe4b9fe45098aad43d8559445cae706e7a2e7df543b2048d25cb4f939e3d665107c9c2e3a611f326b3f4d4ed0a7fd4e167ad6354e1e5c35fe59cf62a8d54a6156e95cb47ac70aba3550e0a799243b63dbe0bf957c83f964d82f6f8f9efe8427eb2682cc921377dac40dd63492e19419ef8c6b44f51e8d4e454e62248961da751550d482b3bc7f7e31b9df12a7bf567de81e08dce0c41e61fff64b95fe34f96baf18582cc6329fb3bd3a7b84f72680258f659dbd037822670577a02f7e8c57cd9c78c3766143ab3e4349cd36056473d3e4e3e7ad450f34a52a8492185202b53c37e2535bba6e64fef35d8bc926d73faede34f650d2d364a7c0821fee97dfce9f7fb1e5f264544a740c1b44f17bf45b98aab3cc9a3ed14964a112d6d4f11f9d83a7f8dce3df4bb3ef559533025a65e079941970bcca9d4e74fe5cf31dee4d4e7186f52f9a5e9c651311512bc3a3bafc7af83cc317fe6ed22b78ba6fe55baca33f5af0f531ae3f02d958a99ed72b6a5277053a5b766ae7f95f8e6a6e35cae2a2d1c6e76b6bcfe245bf953e5392b31eed6f2ec2d3bd738cc3fff6cbcc956a6dae47c7435481472b3fe2d95fa9cc7f1c3318f39db4f69232e4b6ebaebcbb9c91a6b98e5c7d40efacf589e1a60dae31b804ce59ccbd4833f6a23feb36525be85e3c7240a01ed9cab8d969f3a6b67db23d79e9ddf85ced07cfe12e84ccbe73781cec4f8fc27d019113ebf49637466c6e797d199113eff0d3a43c2e77fa1341a9f1f079df9cf9f83cee8cfaf83ce949f9f466900f8fc3374c6e5f3d3d099123e3f0a74c684cfdf83d24ef8fc9bce989fdf86cec03eff0f3a53e3f303a1341b9f3f007426f6f957a033b2cf2f003a73e3f3b340692f9fdf053a03f3f983d09998cf5f003a33fbfc2f505aebf31f80ce889f1f017406c7e71f4267727cfe04509a8ecfbf003a43fbfc0ca033329fbf017466c7e72742693c3e3f0c7466e6f33b80cea0f0f9718e58191f9f5f741972c8c29cb5fafc95d2d89efae29f73791af19f9dffcb65fd31e5ff963e2672a8d2ac70f5c59f2477e4d0aae7ca66f95314623d1e6f568f558fc702b84d6b8f25be09c93b2b437d85233def9c5ce1b67f0fdde2abf7c69a6f5513d2c2fcad1664cc4dd3c7d7f4f86ad3c3478f14fee4a3c7bb0d4b9765d8afa731d9868e37417afcebfd7b684a63f2d3e88a03d85302fc3c1ce5f3bc0eb0548173ec649af4a5fe942543a0b0ebc4f294dd0c1bdc74ca1226b6950eb983248a4082490f4954f80e280fbc2542ba90b28392a019a20841073d789ee7d9364085072b79401339502145124a70c0c10a11950e4081c30b41f4a00415b922207a9c8ba22c7668c94e18e5a042e1811d6e5a94c5ce179484072f5eb0c3c5152850020839a83a16182111041829c0610b972841f04044133d6128c1a44349c90c3f444508810b1c984220f524911406aec8c66f406349151c505901164b9ad0820e21081b725e308de00ba6a5effa844533142d39cd60bd295648e1529246c0840c92e890e087ca09922802410f94628050440b549083db077890c4f402950ca622481190e872907c476e0c1d16dec90af06bb9487439483c26709fe7794b4401be7251e8cadfe9e42d7104ead4daba1abc8062092723eb08fe446f7504892e07c977efbdf782f7de5b89d8f71ec12751a53b9d3026534172436e42865ca117f91579dec93b79a8d3e974c2179f562cba2b64da303e7927d11b87dc840c09752058877001132f88124584e26dc5c4932ba48409c6908b530842ebe09b1e130faaef64628c3dec611083270f7fdec9f3bcd3e9f3f0079ebc13f63006b100935cc0c489214e180a162672c3c9c18083b1f5f14e27d003bb389d4e27efe49d7040347af71476a13b9df0099faaed9eee91130e8c183dabe3001632f04e27f0c83d9d4e27f0df03330df75e9f7d4f5eecf370e0830bdf7bef2986839dd69113125d4e2c7603218cf854e6f25e2b4e10c5a6fc58b95294d0e1e4445660c5a70a10ace041921521907a46404315b8194430c5077ec8793e495fa4c007a15b0f27c842075ea03a00be80861e7cb15d72333d77f79e90a78a6d91ccdb63fa4801810f5e921f6eb0a1880436c04249151bfbef34c70246c6a6455e38d9dea6455e90e00404a42641cc708592211ce5c006dbff756c7f981d3520a0371898e08110fcf043124588e08b236c75200a0252cf931e224ae05738c10216608c31a637b0d70659a247f46e399c338983e486dc840cc939c816af7bfb8a8e46fb457163d0030fe355d6618c943136bf6cc6b0124a88b91ec921d1e520b938dceb80191891821944a1010a766c2ecded9b750c97311deea54746f4e0884eca0e35b824419b96204112504c41820de460e335a0e2081818f974118615306cdc0a18107ca1c31357f4ecf480063bc091b5a7e54da791301f08c31b640e419bc6a65272b0edd5d18b68e79c73f6c1d206c0a6454d483ff8d97ad3221f348d348fe00751766ad3a21f389102b47f5329453c9b0a6ef3d8540a15dd6ee9b6bf4b75e2aa4fb62dd4017565d376f0ca06754a51689eee3aded07c4da948c6d3ede38d8caf29b57ccbd794f61d6f627c2de90a9da15b8417e16b4a3a7486ee999ff99a12141e4ff737def0f85a52d38ea73b8f373bbea6f444e6e93e8d37325f5302a23ddde07843fb9a128f8ea73b1c6f747c2de9498ea75b1c6f727c2da90a8ea77b1c6f707c2dc9ca8ca79b65bc99f1b5a42222a78df074a3c69b11be96c443c2d34d8e37247c2dc987c6d39d1a6f687c2d89c93fddaaf1e6bf9674a49feed578a3bf9604543eddacf1a6fc5a1214a1dd1a6f00f0b5a4287486eeed1a6f5cbe96b44467e82ee1e97e8d37253cdd263cdd2de38d09ef4f48accb54300e2f61265c6414e5089973898476ea476d0443d98e9fecaee49eec936d5927f3645bd68941ea903b57a850a1e5af22c24bc6ece96ec9489dae6c97393539ccc1773df83e5c9c26437cd7cbc8109fdaf448697a7b889aa54b116531b39a583ad2f5a9f133eba559ba1451ea6665583a0af35fb952b83d962b1c4ba72ac242e4c9d2ad702a15eb86abd55dc93307ab74ae6dc6d8427e95919b2b284ed3b19adc9c4188fc271a90274bb742de751c9f8e2a5073cca7027611232e3b7c232e3be6b34e1531719a0d2be303084aa3ba85a0d2a8aaec406954389e4aa33aaa2f3ed0550f75a503a5dd78ffd58ed35efe56822a401bc7c3510edb5fd503259446955b6d80aac0a834aa2054da0502a551794169aca75159a92ffe391a966c5ba5faa2c6a7a8382d9745c28f79ffd06517193fe64f232eb90cefc77c0d5d73111645fb372dc2a2043b74f1facd2f7e55dd2a0d0b57a5d2b08e70958695c3dd8eaae470db5f755469584bb94ac362aa2faaa54ac3b2525f544c562acd6aa8bef82f1d31e596a0a8985aa0b212fed802cdf96c2912fef8e2872edad04d765a6c4ecfc2551a95aebef867eb43afb2a0307f95aef638bd5b99d3096f9ef0a7dde69f74cb041406ba5ae0ccf59ab55ea9546a64e1600f3bb239bc0484e9c7fbb3aca8de1ee11c90a51f4cdb0a0b08d404a39a2d25d46cf1786b076afacb742b04b505046df9d0ad270ef35fb56005a5beff6a68f5be82b2ddf5ca274b97f3ab56a93d8db8ecf1c59c2ad2674b88154bc712426b86b355c3f607c2d2b53ed0faa165022a4ea33b4565fb7f4390a78ac8cab032f82c232bd3ca59d88eee58ba9d7d924335a42a55907248b91a1a293703a423d4ee5443aa52850ad2d1c946a58acbe4dded52c1211de190726ed25d43bab95943a2e2b42435242af8e6650d890a149719992ccc7fd44501cb53b4923349b6b4fc9b26ccae689f2c3f9989a5c88b226bfdd6cc94ade4dc5469749c465b50371b6edb1e962af57326c996967fd38481a92c3f54dcf496ef86b35b3e2a465aaa6cf1f17c3b5b7c3b9feb20a5bd3c1619794d6efa7b3b3773308e2e97f674230882a567c54ddfa90f43d78fdae5397131713197ce0549dd34227ae34deae9c802dea9d2731c783f9ee77372b24f4fb6ff58973eebce4c4e3f27a01a926eb7a3398f4f77d674a4466e3a0b95fd7af175c0ed189b4ad181891dd62348a6cfca4d5171daa912715646e7d3e960f3b1fd4531e7b42597d121a72001c4f617adb88c4a488ce263e39f1ab34ae7b4f3cba99a9ce634d8fe5fceea6e58bb9a0569e4b45ce6d47d939d36be8cfc74a7a8ac8e6e29192919a9d458a9141d6cdb5323532a957abac7542a952add9481688f7f47175c20283ee8d2e7abfcaca36c2f6219df688573735c1dd1f166b52412392d7f8a6e11ca9058b43d454671d36d0fb944a5a900b95f512acd8b244afd18c51c749b4ad9014763532948146d114a94a29d0f1340b89ed8a653767842ffa5c7cf32f2d7a5ed3ebbc6476db3f8d239839f023f8b422e71c8559e398365fe910570bbc0317c7ddda94ba9f126b37431ad2f17f36128822008bea88bcc5e060a04044591c90564f6e347d74ce5c28f52559eeecaa008a65ca954ea6baaeaf6d972e9222029a652aeafae564a9c3d39ba00fe98fa161070e6ca7157769545c49f7d2e417dfad26e3df5ccca654bfcd9cc9563ebd8c2ccf563e92a6580dffa1439e4faeaaa4b39b7522c63edc7ecc71fabb7add1f5acd1f52a71ac8d5fc4f5e3c3d1e56295ab52d51a7fb45cee238aa22882b35629b6de873e3d109dfa1a1bbe3eac62a8a98f181fa52d33387b10cce04c7c3064a14e73fdf8772cc3f1537fa65276836591f1f3a74af145e99963f7f8606d95b99431fbd7a79e1cb2f95f62ebc33fef4ed92dfe996377ebc13f2bcf4e7d1e6be21789115f14b2adf27cfd29c76e1b28904aa59e35dea466baee711c7fbc7b96cb6a437d79bdeb53e38d6bd4e34daa14b120f33ef3bf7ee4d9f92bcf1e75920dbe5eaf3fe90cdcd0d9c8704367737a52c8ee00b4e9140fd8369de281a02d0a892aa033f9eb1e7d3ca5b0bcc7b2c9cedbf8286b5c8492a5207fd32949e8ec93e5471412856ee4490ee5c74fb63ff6016271c2c46d206b483ba45d2d49a796a45343ba32ea5a924e14b53345947b98ecfc248b966423ed76586b49361787b607a19ca8946b18ad8a182a8546660000010001e316002028100a868422491606519e88f20114800d6fae565a5a9c08a3610ea3280a838c31c418630800041862c810916d84028c5737c6a85f7195575c92c85675535fb260776d052cc9fcb5ec064d3e86c8ad766f1976d294e0b748737157122951013834deb8e38d2f465d67280acc41167d8df45fa608e35c048673e49b4f7aa99a90d281bd3f177f3b058697f4be6fea5289730d8f17ffa5d6deb78d1acffd29347290cdca009bc22b2d0f11df844f366114f4c42dcdd5dea2e1be4204911c8b2863a73a03eac6dc075a4e40c77e53ba4cc5bb8b038784402145940e2895cd78cd1f22f420775045b4aa59bba098b77844a632a64a468cc18e6a7df5512247a449dece497c0cf4025a30114d435eea72219e55e5ffbc50a758ac7e831bbc6250ea8cede0d19cb497978f36ae849e2056844e8ae0c81838a1f71a7d062d4ebf3a1e395085517f09cd8413a2a09b497b2fc259ac3f7ff3f7d9bd0653a2696b931999ced158e828ab2b87400e8aa0ea6c307dd3cac96d08117433d2ec85ca7a2cbf5a82f951583544a996bcc81c34c4690fd1c627225745a855d1a244513f320f9be523c10419337e24d47004373ebf9c856e68024f6d2cc622f5fcc87b7fb54f5c8c45a57083487ca1d4c5512d69d328f49ee9c86182031773b721af983e9bb27b117882620595f465f22f1f6492598ec21d9bbcc13daec971040f1f308bde46ad454fbcf68ea87c29e54372f9ead538de28d2a07502022f889a974fdf934caab085395cc0de928b213589ad7e550bd24c04ff4e3087cb9cfed1014906e8ed375d39b0a363e62c35754e25d8ebd7faab9330c3ac8ffa799b9c9f2894f9c1d009838dc1211f78dfccf6274de757f38ba6c9f940698cf6130706e64410ad7a1adf402987788cb2073ec68740f6a0251316f5b37b3ba896bde0538deccabfc67c59339c4d8295939cbe88a80f6a9803bf88b7c5ef73006185344ac4cb0f4f2fae9e80c8f6b78719eda92863d4fd566e0ae74c665c61b6d28950cf8febb9381af002d9b206ca4e7245c04a6f6ae6571c378c71e35d50b6548fa627dc1a18ab44926d8207486e7759460fe885e834450b50f6182cc85d40f4a0c07bb13ddb83113926374b775ea85d40f8471f1361ebd8db056fe364501a436ca47ec81239a3fa8212843fc45a1747da7ab02109eb4a01c941b1720157e7230d4c21075f6e07060b1c7d0410fea5334cf6bfdda1d5384b5425f3117d66de88d8f5a182b285a701d3db0c9152241a3b6af697628aba281c986865720a8a303d5ebe4aa360f496007f8ea769764457070240b79ef3acd837209d6744304551304464c111c4a1bdc5af7c889870e841819e0e672b782952ae5d7477eb6ed62b33d505f88e6f04e2e0f839336fa04969be5646479bccb37446e3239f4e702fc5a47321fd6e248a7659146f5f1805ac5a34946e3f29d6b16e511b4a1c971ed6bd73208888c46953bd28ab7b0ca8f88c1c8298fc3f04776e47cdc679935e6f40473d7f9be33cefc295a91f0ee65d6694a4325407c88543b0c142c337427250568ab7ed9ed8323c5b08d24d3747cfa5236345cba6cccd460db9151da4880cf6106bf67a82f1b089499ea0f927ef2f505771782cff72a5e2a92ab39340da6d42ea04fa78b80866132ca8c77a0257293f3bba6cdf7c5250594a2169cdef57678a67c16cf796cd2ba9be2923c5f5cb53dfe3f24ac307b554c2cea3fd0a675c6da15b89bc1287e3e258732f0ce12dbded31934e31f970fa114c44646ca8903a778119894328efa332fd467c825d9048290d553fc1c586cfdce43903891e6f26aa5568aca609bff1fd2a6cebb6e10afbec283883137448e5f30d13b74f902999a994adc5829421360961eec3b7f87c788aecb70b4590bcae6d05298f8ad062cc9e23ca114bee9e92f7a6e05f2f88f49afef9a988118fbc3c0b31fdf444ad2d74b821b7d88a9dcd2f40bb3574c41a975eb17a2b2c92be65ef10532ab9f62b24a5f4c7fdfe712cae4207c79ac72e59629e4527d59f7a35a7e96e3fcd28dc54fab3f94d17e4f687cc3fc290440b233af086805e6a7b77460ec11b46d7e52bc45f6d87107c4bdca7c6c1baa2eafd15247c734329584fcfae1722af70adf638d079ba375d06e50a97b3b2a4a8d95a95f3aa5440029f52b9e1f6fefbc0a653a9caaf27c42ce54adfc4464ae340e4209c38bad21de44ae0f0ed3bc051b93c1d5f0d281373c43e50645ecf08e5c847cf76ebe81323c0b88815ac447ab3e819bd9995dc6f9bacb93ebc196a89daaa838e4f573da2a444dce76dfbb9f49f3412815316142ef40abe8356a574122043146fc66b3c2df87ea1217e5d21357faa74956c2d88f29aefb3bfe5b4ea5130eb11ac2041e7221bb4e741b3c824822b71832d594f735ae47dd523990364c2fdf266bc7d48fc295b60e8a923ae33b511bf26837b5f3dc3ada8ec168c734fe5ea9973db9b46b72bfd25f9f48662a3dd26e3631a0c8a2193fa7098f205cd689ab96ac357aec15fe7305e5a3211d84cdcbc649f05e9cae0356bf249d24210a5f15f64ec03d3f40e8312ed394b68ca486050a9a5490cdbed78cb2809d19346769e5114231144c61179020349f588026ad1a0eb5ef40dc2e3656fbcad387e9c8469c95c187a2374b388e366b046bdaab476ffc4178e30104e719f22ae6d17a82ec0d1465ad939c01c3f1d9e51b3d4f79d1758d28a35de448ed47d7d8ad59b6d1281f6c6bb1d07b29f4143675dc780e7d4f9e99451b1482ef60c16005417a09deeb48649278d02dd1276ea1d1208930f27d88ddbc8c8455135b81e26201606f1e67d5c58213a9596eaea64daf81608acc30c75bdc5155eed27e5616221299b096972372972727b8e181e61c3d1ebedf2876e01bf088a4cb8019310a8f48442444e373afd873f9fb98abe869687cb2f5f62e2820d3ee30f3c59b190864ccd88efd668e9870c086bda5a912af8b46ec93b0955f4ac513b040d792fd45343468ff2435eb596ef207b4d4601d6ebf38768cd600121aed98687792d520941b0e1200f151bf216c26497ce0f373bd10b3d0c67edecc483da8ee484d8dbf09307c61df185e8dca1ea183de863efefee8b453ec6d783de60fbf7a653f83e328267ba5b714edb7eaeed704f691cd4db0b30d993185065e6ec08ce7dbaabfb5290ae865c9016e35ea445862960872dfd2ccc19e1d02e7188364a34804f94228cbff2b43eb60538580cad588f13b682807c96e310bc45b613ea43cd92d10f5b400f50f713a5cacf1b6afe05f8a746388f46283930727c3dc692c3d65a1dc56a044bf6ce9b8fdab64b8b5b4fddc6764ac380d37df9e515be999d6a7b41e0441235d33bc42549d8d90732ec89068e35b34708595ff901d4b322933c931e211046b528cfffae81cf817d88b47b1acc242fc170e469f03fdb822e2a742f9183ad7124694562738567203e5d44022d1ff00c12cf19e750f8e8cee9d39d019a8cdc3a98fb041943424719fa2aaa08b1ad4a12c5d05b7263a3c303728523006e74365a0eb571f4a36832e43a8206f91e5765650178db7c3e24a836d4d0b5172024a3dc59a20e7890e5a81f454d9ce34578e378a77eada28337abac86964af48adc29be4a88a66ba2cad75c38b75cf724ffbdef3b0bf3b65fb2f8ee3ff180e0da22d3adb0487520a61b1b33e075ea21f9eb39934ac05e679670b8156c680cfcb0226f469050740ac590181991f7b8fbb326168f5bf96db2599ac628b9d1bc1794843dd03b73aa26ccaf1f50bfac2e7179d4d64a7c0bcecf5dddc357a8a03252c6878599e7ac8cb9742b0e9049e6db9fd7ed628b0d4d8ee3fcbb8fcbf044a29c3895388e5338dd48423e836872e5bd068923707fa92807bab7c98ad27f6d41049aff6141d1a0d362dcf51c9f7b32714a6b2da4e812f86a3a44a9fbb9e1bd26a6717a00c0266d6bee220b2b63bcad1d443378eee5e48515e280973160ed82370743f1e7e6fa3dd7cd8416e72478d01c29635e00c7e682d1a23c4f8d02bd0df3dc0a04a75cc1f30b0a8389240fd8a120c4f33e866c90e0f6f05c415420c2959d11fdaf6d3200c8bdcf7f6110f90e12640c3e1ede06c284465118568f583c8cda41a583ab1caa70fcbae6312d70c65f452540e1dbb13cdd0080ed69c6c89ade16a985c156a861c75f45540087df8f6153101bf379912d5dd6f83150b13fe8642adf81fd6743804ec173419c9e150230536ebae2b048ccc7895bcb6a93b07d76b2040f1fd72a11e77349b69c8e435a2337edae845e6e69896c88f4642d00c4f1a92ffb31b0b90738c7ce80d9f42f2c5009a8a1c25594c727682d00704ff6427aed9524e73a214ac2e1f4ec181d79ea90aa9c7f606342a84cb58a68e7be57bd45809f167295d8e3e83a1122b929f58ec7fdde6871dbcd2dc75d38fd204973238c70f0d1f5932914acfad1c69e6cf187669a75520a1995ae6794f6366234981d197cf1d03a2629ebd5ae4f740ae2381b56d750d6d7686e1ad015ba534faac6e785703e453554008d26cfd9d52cebbc9618c71c34563d80d3eead6994cc21a9e3bade12a8a52fa62605bcacecd8d67b9945c1bcdb8d3196783e0577a63a23a0033feb562477427897aaeaf70d58942fa3628c00c9813061216ac8fe55ecc84e42d0017bad287a146eea11349dae9c2603322a7b933a2f02fc39713c7263216eca84deea168fab5be1fd19b1d57df9232134af3174b7bafa74888641d65fd2e2bcbbcd46a3740dc9330aa88b2a087f6792baddceecf23b80d1d8cc4ec6f983f99916fac38758b34e558f5c33b700228c68c63acdf498fab6af9f940031e982d29482f826239e585bf0666be83989532e5d5f3f1e953e65212d3361e5223886b1f9f1f0900c4ac5971bdc392f47536fb7227a16f1fa3947bda890c32d2f9edd20ccc7351590fa730a1da9d4fcac859e786911a457452ab5cb004ec0526d2e1bb5292a887634d27d8a3a084859425789ddb692ca3108b833974869ddd95937e6ba61ef2310f710b089ec46772526e0dd2fc0b83d5849fd3fd8bfc9ba7a77db9382a27ecc26bd0d988751dfa90321981218ca32a2bbc6c68beb504848c37456351e6c40e0a18592957d1ab214406efa952925bf934d49236d9686e4aac950b09809eb7ecb0e0cdb18f6be286b7061ad3b1ad120180bc660b2bd9316f7844b198a70e951b83a8070f2e266430a4f6d53dd2e850ba9e4a4ca979f1227d834687f7092653f6fc96ea81ac1191bbacb5e0941fb1c260b308b6f78afa93a2629ec52589cc0bcdeeb1cc3e057fd16619841259828a1eb034e4a6d9c4e25108c06a2e529ecfaa53c82b6a5ad6b991a6ef8406b5ba58a9c62a43d3f23881ea3a93365d4e77291c97449ca95d4ac61b7516a863087b1c53b858a30e30b5930162b0878a99c6efe1666344847d4b64bf286c45c8cc12a98ba869f7620449aaba84aced01f9cc6d25d9c0455cc88de3c4c8e6016d37de21a9584331178b97ad3cbad50cb481766fc86097ec99ece9895cb523818cd74182e5aab1199c8980699b8f7309a4c77fb3741d9a1648ae85a718ddae00c8120725884581fc7b174d42c04992e8dc643eea995733e0dc4836baaaa9e1beaebeba38bc08130946fddc2755189541f2e03c4b069714f0483927820e282fff24d0e80d6513037c4f4f25a423276f348c76d5ea1e456ba40070e2a57d3816ff54e2a2377b5397b14faaeeb5f0a82d789c84e6822374cdca796874dbb3659966ccfca6c1a52f5a8576d01a35c62092870f97cd152e37ac422003e0806aeeac5ccec50c6599c1825e7b4f02ff505317a7ca1f93267c3a868a8e907def1948da1cdbe17eabcb818029200bb88ea1eb395e12838f0313aa77df727f3c418c15a60887983fb5ec1e88682a1d22e70df9e2ab8bd603e8a08e03770d13b44312faac3e433fba80f66689812c07398bc4d651895d6edf3c73645f5f3e84581bace27c4edcaae3e8f5dd0751d0132384bad4c36e4470ddab44954d0fb877bdf381b292d801520dc86b95fd299945ae61d01c9eb82fef858709b3b58c8eb82f62676d9442a6c3f48876b6be00002311abb9e46c5b23100e9ef1fd08ac270afbba21bae57226bae0b8e91b69f8c641f1fd4178a2a20f0366e3248a98a506eaa62861bf212c3822be58da952e478fd240469ccc1a8a3d70e269eb163fc11a823b3191285ef75f1d0c575c12a726968f52f751d53578ec5cd8ffabcc57521fef84b0a0124c0faf8c40270e652dbe03406d25437a85aee49a60382f23978dfb1940221d144c996c2b48a7e591ec69fec82f5773498158a65e2f43c0fb4fd30256a17ae5ff23404afbc0660e2d4a0ad61375452321a365786804120354797cf4e60d2454285d76a01e2910b5617579e513bd1a07c0c0de979a1b4a83478753637df79ddc519e6661530589d445d2654a411b0b002001e055afa6cd329854340163d10650fffb24563b684592c5d9a03ede620cbc9300884835b7ae79325518805fc9027ea0ab34282c694ceeacc5346f183634f87727f26f262e1708cb1daf2c502b21e1ca6abb3bf7192ec946675539f436b34f1995714f8c5baf040ad46032c9f8b5324e5b5a9d104046762373d52f81eba9254b53769bf38c9b335f7d3699767476c02c047426282be592e3b1dcbc3b2c4827bf979f291635487600de71af8cc6a459baae7cd72c0d297129b733d12dc2b0c9174ab1d64da0f4ca3a7aca2fbbbfe7d4c4a9026fcaa9c5fdc3975762c6d8459bac385c4846d672312042c508e6bcacb03ceaef3d8c3c3bc530183415633ed7b2d6af3ae2c9e8036f79f2dd52e2465f0114a85993f45c301fe110089486de41892f9e1223fd7e142fbc0f01c31f7b4ddef8c2cfb8cc5d4050668210dfc9051227dd61efd49a038c6b6cf9753e022b24095b7cb14a820b3bc7962b8b9109261583ebefaef8f18da66f297b8a09d6504c0d20a9c2078fc1d013e145690403f6f0227d9dabad19de33175d860ed23ce73154e770016aa408ac9959edfeccb76a07687db26e87050b30e5f197e027163331f47ddeaec1001dc3f3b358681733bebb86364f13a5ab4d5ed9b0535bfd233d4530ff786d0e56869164f2443bbd13e0e05008476f4afdca3cfe0e13056c47aa9b16f698f060b7f4692b0d6a5310dd650c0f0e38b1896c96ae80c522fa4613dc54611eb273ff2e6a3200fb3f0a9de05ccbf466cd12cd407228019e2908aa0e8dd56314b3257ac2238982c22bec8e16d3078cecdcd13cda0021d1c45d263f203066864948ff48d4e7b71f52dfe973eab71d2023f48b9b46e12435d46ef26a06e8cc558621a984e790cd02c2babf472642fc613e95bba1182451a6c7ca68630e6300cec9b806ec6e98eb77593c3847d619a788d6dca18585b00e1a092225ff200011fd614e96de308b4a0a168ef3426880e3745fb9171027a9b51d084c0e54621c1a3503260f5a810a8bb23491d85a3eaa0b153570988522f972ec45edfa59acccc3b0a4aa0d4ad42a03e2a44002ffb3e74b8385a9bcdcc26bf64dd9d53420542be4d52c113f4e9b03e936a2a0fb78067882fe29b7d90010af1f30c4813e8098670f075940b92f7f741fde5082da9134765e279d5a79bfb96a12ebd649f1884e1dbf3b95d6248a8b62beb158829388b28be40ddccf745149bd25c43371d5eb0c268fe136554c3218b51062c78c8ef1adaabb862825c080a693ba7981634db73cfd42b61535fe02bccb5a52f14d47091466806e27da735487246710a7fd8aa86ee097208b0da88c36984209812ae0b9675577256b29cc0ad2b2bc520b6c838eb27d920de91639508980e8b67e99ec57549d72bbc78081ae098970879f4231fa1320e64429482b8d19e84a57fe492f96039a999e178cfc132fb07f3805a951d0b82122201dd80affe015e331a5686a84b4270f0a444daa1ef4cd0fa1b439210f29f526eb63ebb65ea23dfd98ef79bfaa3500fdda66b1cb3847cf07a2b34f6736d6468c0acb40a8f8c50afdb1d234b369b85ee6f850ba0df22648f103bc7728b47893157db1b912fe9bef582b85a2be5f7392c1b47d5fbe1a565812a0970af384289c09ab05908a33a4c78c724c3d99fdab3113253034d66b25828d8087ec447181523903c9eef650cf495e148fb2324e530aca41013080e222039e3a8e907993a813f6810264c9c29f6e665102a1d63482c416f1829cdc37df4827d21b0ddaec08d39ee3cbc1dfe5bb80c1deff2db1d004318247c5f006e842ea8565759769cc6a2aac91ea7d6a257eb4bcc76621e6dd8ead0ca3e12ca2ca13dfa8420886a6fa0df6f7e0265ab80a78d0d29e8b3704c1a6a135ef35b4d4b1d2c9fe5dd9f73d851bc1b549f4e68bb5453d892a888df48dad7eea96580cf84136989a462a7f2d03e2a61818e5e7b96d93aeadf7c3c39bc38d356b905eae1e9ac729bdba62d0ed14406b243fac95ab52a0995a9c4c6061af3817f4bf327891182d1ac4b83f1ac00e583f17d3a11e69110555751161d0b95f79696ab5a3f8f138bd0955b9e412eb46ac21c9ff9a3faa438795a9a6a125714b3b0e32a0ba00460f7e96106e8f6d0a829b26155be5afe2dcab7baa760d0a41c9fc44eff9164db7c3fcfaedbf12fec57cab0f81fb40d3ada844ebc25687349b67ddca4547cda34a0775fe3316aa5eaf42cf5b993987c156297a8bec00a840ab9026420c92f2be8ba146e2ae68acb48a70ee76c0038227e00861925aebd46c7ecd0b759456e74a973c84dee46561c378b2bb52c1fcf02b2fc4653d31bb819c908b16ff71c7d612d4a14a755387e23c2862c1b2d0d9aed9ce7c8e05405d5d88f179f16cfbb5339366d8cf1fe8d1e65944ce8c65cea101c29ef82f7beebe2ceed3606e1cd10566d73b416bdec4105827a8cf0e2c0276e37f2039f77f136eb08b6233a8c2b8fd4002b708599d27b62c84afc52d99d25f67894b3f9768121251621f7b9b33bc025ce71b172a8597e25b3b0841ede6a20672d712402deb2a015100d55eaa43dea8f7c9f2460ace8f934b9c06d708664ed2e75dcbf09b1f9bb5da4892ebb4747f2e822e96db01a6f58e34a4d76379be2c051e708ea00fbc0776e609a2c85bac6374a6469a9618f86deb9777a497a3d870c4d365d4d3a6dc7ea4bbd2c0dee042d89f2528cd030c0b7953b7983869616484501a379410fa33b4599ccd0f5da5d79846aa42b746638687ea12056a74546552484011ced6c60ead20af5e6a477d1b60cf0a682cfaa4ce3c5892dbf2d85eee5a091ca9eeb6c3b817ddb5243e7883a7355141c0e662b13149cba0395794e515e8707490dd1699f3f89817624c6d45f4b3357669289467f9e710372209cc8460f8c1e2f631b8e8ad05190c4e7381124b53100ebb90a0579a9a0a7e21f03e385393793236b2da33214a0b7d46213aa267977064f765ad4ec5f6ffa6b138b6cb2445a1766f17932ab427a2514558fcf2efa70a9278014fa31e5be4a6017c2e4a476b4a07de8ce168f8aeb29f3313780d7ce6070301616cb019f44ff352be1817c2884246c726ebc78aad7bc98d931badb5ca92f09d7040ccbb46bac997b9a6a228974cc73ced00dec17c488b6b4caa0194038caf5d32aa2b0b3f9c6fe3fcac0bc3fd557454a778daf35ef0ccccafe19cfa25372acbbcfd24bda0660f2a631dae56d96f5e649ae50108ef386b846530dd4616a77a16fabe248ad437a3efd8fe0c00492920d1c67b768b7435db1bc87faee1490dd556a43f1c1811a342cc0502719625b01185aa674960a022bc8e58057643b9af6444034a2a629919a00f1a53fc823a33e96e1d02778c9225c0d69be27990d03494bf0cfea39c545d9f10b3fc2c69151e64c62ec9f9e6922c3d4a638fa09ac49ef0224bf8382ac296f47360d27492fee2e4674d897d29b687e24adcd50cfc40c42e8ef714df2e1c1d150d532097fa4e2d37d7b0db498927966276f4d09bdeaf08d3ff35e18977a39ceec83d49ef8fc670709ba3be8b1e5f750119b8220f0b6fc777286c8f170d8fe80589d31bd2ef3b25e2db75edc2cc41653501f483f85b385b2f7a9b1331030b7f59bca8f178ccf1b3bc824b8b465f1f610295164fd1acce02bc7666e140bd2d86ec3ceee05851f09c557e30f3d05a21b8634e3eb8c724840a9cd9d9e1d6ef62d8456095befa0407e48e470edb9b8b0cac7820e69e98650bcbbdda033f57d83eeb20aa69e2e372ccd9bb4cd27b2b14d698e13edcd36f1f20930b08b7436ea091c0dd1f5c3c58de7046a27270e23df3f064a7498255cfc788082190a6f12b33b95ecebea72efdcc7dde3ab80f625a00d6d63d436003dcac8449f5f12d31d12dfedb5096b011448b1f60c269978d2f395e59529cbed41a9b56e520f248749cfeb93c8e036f1d465e55181a781117d20012702c4dc42b16cff8dd80947947ad4b6087fdb3944ec1f3ae66534f939308d56c3689c67a7667bbc5cf2cc4aa25604002e3860e109eb964bc9cfd5ff6c0cee6184bba21eb4bf2a94b872038b0d208a3f64884c886f231cce1089e75c539c9aa11258decd5a7453728f2244975f0e4c4b66c0120827b8c8a74065f217ac1a1d313eb5a644fd3dc0cd79c74060c8d473e40d93ee5a8b79e9d6cc28a12f97d2372c9290091bbcc8858b2dfa7b934571987d1ecece718c2bbc971538f651a5bdcafe728d5334ceec0161c86600a327d95f5cbca974061382dae7a5800af8e863d035fe692de36f44bc0f202731c5d0538a3fea2de4030dcbce348468b71906ab9a5e6b899676edee25cb20466aa4bfcac7c8688686a1040209970745b5d6aa1686fad7387e8e5e0ed7d94fe763b17e8e5a72b4e236fd9c3a93a319a202f1d53b18ae5c24c127dbf3be63d3f0a8322dbea7c346ac260b031b6648ed62bf7ccbfce290880403a12fe5e15daba124f6b21ed7f9ad82e4212572ce395b08fda52c5113d20239c0c3c37e54fd50ee04c6874e85b624e9f3f033e5ca6218281f513d0ff84b0c403f4783c18c248f2188612fed2597ecd851a31bd6788a9e8a4e0a5d274520178fba9f49d66efe181fd1cebb510bce5c64ef411d2fa6dd63b832ed502cad0af283c3827e44d5a63de76cfb32f08123020bf23ffa11895a85365b394ca67b17e5a0e1ec206ec47017a1405402c9998ff24a421fa8d93ec672a72228ce2686e6f908f586f81a1c5bc7ff2643e3adfeb9b67b7e1a40d7f8bf97c0324ebe16c3dc2bc5e3d711b44be73e2b2aceb1a0eb2be40c0d50d57e5143b7fd89a236c9ab6766521e16484ab9abf79097c843603b3510ca2234d71c35edac63e6d4e62ea36300bcb7752d449f3cb0ebad5a337c6e3e5524c0304055df7f157e38160300cd443d4e3bb7d24855d10e517b663381a01cee830787f4f6b6fb7edbc0e93a18fd3029243968501ac434a92ff40bc5fa1d125840c27e6f02acb3f2498d7f2c16ce85dc3cc090354843fb1bfee1b9f1e412127563f3f47bc395903ccca1863a7597c3d813db91c5256bfa60e3824e0897dcd69e369bd38a60363f85baa16cb039c766debcefc2ea950eed04813a993f93ce9033608fdc74be663704c597f0fb5b014a6fac51c0d4120da06fbeee149a73fb8f1741ee0fd66bca1cbafb074f061b09e0e377638e0b1773c175ee16ae2722fc16bbd77b4b548f0c063a74ee09fd61606c3e93c5cf5b5afddba8757c54af5c7211f9ee76d83a7bd27e991e8f3de3a5c743deeb5bba72b9c40831705b150633c662913f30d6c28b91d12c914e351694fb0545934dd554d9f85baa0f85a7ded3a4938e168762863d2bfe568c6592c50d5160505405ebfdc396023ebe470033bd9a8bd7ba6a355751e270e3b4e6bad5ca5008da2aa5710709778d7b5662cc3bd14ff688748dfa6b3d86d00cf5f5076c429f521913b4c2980c849bcb7c12fa6543a95d7690abfbfab5a1476fed495faf749a8cdcc624f43bc217d8b9cad6bf0d3292acb828b545b3ca5d9c4850a165cc51bb3c05b695abf7be4cbc2e214407411b6a3631991b2540e0702092cd4979208890b50eab3cb48a1bb9cc673a2057a20f07a6406675facf0bf185eff57025dd8bf9d8efe5ea1c25a7c990d08b3c8878381505943721e4c7da009aed486e38d2b8e3690a6b2ec1837da8f903dc821beb545c46bfb0c4e3c25fd5316207873ea4d2bb338e4cb1d82e71aa778daf301b8934902f442123ec304b5c13ce86dacde9e712580048268d0aafbd966666534d4e17e2e728e640297e691c36392c109698070add829b496a217a2a9d664841a82632bea0ccc9e2e0fb262c737cbc433b235466130bca93d5b4e651005ce3b5e6c43bbc69042ea9ef5316c7d1fce1b786a7a2fe532b172ef631168507933fbf34dde9030567ec304cb6611c913d9a94ef0912ecb0bd21164da6508e65593f26e5a59b72e4e0473aa9621eb6b507655229eaff0f81bdb86c3fbc8b762cd4e8dbfb2fdfaf1a6b0bce95dc4cc2d4f821f8797e7fc34c2794c4105dac7065ec9aa8e19408563b9438aae8c916222edfde52854706d8435ca67ac8f5ef7dd3f4cd1a9123a574bc5dcaa505a25089b3eca8da58e2b6af32eeb3650e5ab872a6372a3395753b14e5e0cbace7489d8815cfd3eeb37208855b4d634b63f0a6059a4ba6fe8b8d33e7c0e32044bb6dd2ec4a0aaa6e00d1de9aea4e443e1b55964e3297b8e80004c96f2e1d0c3b1d9d787b7345ccad9cc46f3217461d00daed1ccdd3ecffb057ff7c160afc3d92d87590cb13db42cf2c6ecb4ead607e8acb3ecd4a92e1e0c4621add249ef8f8ded567227969711b73e0ea65383a7bbe425f7bfee590e5d7d0fbab3fd38bdebbcda49740e73a0fa52918bc11b47764f3d76b123bb37d69271241acdd843aabcbf8811cd06f3b18845823b1b69edd31989bdd604570d0c35fb1103971db65ae86cc93942a9505cdc5a14ebc2046b829f4eb16ec0692d4641a1114c19dd154162ce04797464dcbd211deef66978ee8b232a277b039f333f47c0e14aedf440050883812fba6318d0d319d9147ae6167506639f4c1ea309a8a393b8f07242f760acf67f83daca5c708a589807b3ec23a3cf8df19c91d53034b9f4f54d256fea670ed17e1afa11e3e6d111b6eae6c94cd91a883bd89990efc07550db7eb894b7be3c59b1872d33e372befe81fbc75f0c93b3a03b2c6b50eeddd4735ae860d36e0a3801bb745e05e9a62ad63d162fb250790891f800dde4c2907a9dbdbbfc1378411dc851379fb1a2c2dc921f0c6d161ffcca92cf48a820d02301af1f418737de0b0312000630e051686a4f72fa1da94e586004ccb1a1d5287405b1e71ccd768d52793aaf0a7f84abba78e3f3826e7b4dea1ad425757ae69bfd3385541580ec5fa7c1a2aab805c73df3e28b4e1f9ecf948adb832327057069c0bc2856388528a051da40a4b8cb8470c70a4e180cb6ce183f42084746d9b303d6f567411c9a048331912a59b5c602bb9ac1e7ebf7af0b2ac3d9e17751c30d617039d863b990836a64015f2418134ad87010782830d4079648495424d0c1b9e99444e13cfce1d33eb9eca17f5a8d0ba877164b1c15f181e001ebffe058b2151ecf6bfcc87532c31e4846e1880603187c98ed51e0d8ba51e055346ef5e2a00a17b2a641639420b5b3f6d1a34c4c6e180dca3b2277a4bf2777dd937049a2e6444c9d97058b1ed0e46bcbfc4937f0d70e24cbb22d0f8019098ae19cd621d47841f1265b1eb643f4f047acbb6d7a44a5cdf923e0af73a454526534526d5c8bef76e6e9f8651e9ac40521a54800f6d737ca2cfa98272fb9141c068f2eab4695b832ca9de365f9a4c44812d9a18658f4f549fb0c21b317e90b32a1a3ecb8860631b9e2687e6be14f8d9f3465781b48d5775904f4abf0e71d1e2a4b0e4172f08c76bca48bee76e001195c672675f00006a908fc3167523aa10b7c827c708b9184c3b2ccc5bad0075af15ce03ca048635d4940ed0593c3fea58e6c79fdafe77996869de3307953530c057d69805630254ec61d1963dfdfff6bf8ec278a8140650338b8776701d502ff04a2213390d46aa03100dd611a57cc105e21b9ce045a1fb204e2fc560986e8a644e687422353467525c229e25448dbc0e5fdf29973cf646bb430b3a654c6874aba5d62d0d2315b537c3080986e79ab81aa03478346d941fc8d562a246a0de1027251bff1ab30fd463cf7303255dd3a81c9b810d35a2792ab2bdd0bacf13b0f84fb99b695074c829c730d4289b9b4020d4cf18268e640e8332f28059bf98b85dee4f6469afb1a8481e0ef2ccd83991af845163924866de8478fdea9d25292720949ae797c87c4124d05bc4a2a2b16d026416456695717a6ed3db7841ed2c78406031e21ced35c6f731059c0a3c763eaeec684fe1bd2a56a865182bd018eee39d132562c44045ca235f0ea8aacc7695ab7fa650ab59b2a4d91c2cd7faf66f03d86eaf8b0f3eaab5cba3b0b5f7ca01c17f4042f81907aba8c3a7664776dc8c63230d005b4f22964632a12147ad49e166a8393b7c70e41e238d983a96ec6bb881a47f9ae8f8b93ef89f60a384f66562d09c6c439d3d328256f3ff4b3dc7a57e513890af887f58cbd4e779267f338f0f0159a7f8ca5bcf259d10deefb4689fa735600b739f45d81177da4cca73d5e50cbf25f702b1dcdc975cf5b2e0edfbf97ef43e5b14c839264a67818e15a9620a09c1de006f5edd346d269cc483a924d88c873054fc3104f6de693e099e86d65b276b7d6ccbfc72623bf9ea185771e93b4d8f6d380c7626c19b3694bfd393e2e91e43d959ec2cd6097acd86c73fcdff12407115709de434b43f8d2e5c6d058dfb55a37c50ed95c115f3ce4aa5044a69b405cee96d35298c38f0624d51ccc1568ca5224dbb194ed18a1fa7e5f6b1ebe104838fbbc6bf80c8b8e2f8c9b66996d6a6c14758684e0c86a52b3164969c86c1a60c44f681ab140c576e68263560cadd12b3c2fe217a17105a9d4001c96806574ca3554079c629ac10f668f0f4bf52c00700510a61c5c910f40b41b36dec9c2ac976c14a1867947522149d13fd70d120e0ca160fb4e0c41c5bc3891e92ec72a6b597717c6d109024d01c759e60e293b0675b844c40bdb7139f6895106d62833bd599801517940a5442f0bd476cff49bca47bd44d773900c03666a2f16200c41ed34c736d08942d6646ab27127d316724d0f1acf5de99a1c6f3141ebb87d652bb216d960f00b31263cb0bdd27b1396c3070bd599536e3771459404d46ed6142a7b2c8e89098d0370d98901115b3d060679a053e76943fc5282a6d6373511bc6fdc62b9e9292705f7889a95012cc539b83b18ace1987ba2a426fb72af509f599f613e103f941ea13e523e507ea23f293d427d28333bd61c1a6b4099390022f8376d8820f251ed323eb9302b4c314a88ee3d6d1c3cb244a1c5460658f4ebb01bc041afb0bc605485609335a30a60bd456fb5de728a82dda0629a5db11410196c100aad1a4a4d1471985e3e121a203942d34ea2403e702c3d5551911c098c0cb4371de84a24ebecd41788a3b8548b556ca0b57cf47057d1e701c5a195c6eb1eba8dbabea4479b3806792455516c388f87dc16f2093cb1c12cc839d109130490bbefd86202428b43af7dcad651491145703620182da5359bed230405b05e5f192173ef070dd083179bd75ff742360f038933b082ac5e915a10b2bf7e8a34e4c1e9190e13486777f443856b7174a632bfe1b600f1ab644aface66e2437b9e96de273d1628782e182a180f4bce38b460aa0f4634ef9411d20b11bb5d25f4b0e6702ded462b2c95e35440149e6b48efbc1ad003f4f8f35a01e3da873c062b39768167a815aeb782f884299000f5ff1e74e60e02891b0831beee38f4dddbc8c855d45205b19e245596a4754dc84aa440801706230a51166d543ece61fc9fd24b9b4ed44187cd24c7f541836167995c1b4a2c701832d31573a1d1a96fe2c71299212e60ad2109ad80926709a842e94a9a8919cd4e7bf3ec6ff20d9189264b544d29cdfe67459434a43cf90c43c1eff43532b0d0c333715528fdba58723b47f044b8f939b8b52124e0102248ae2c04855db10e7d6ae14c523abd2c3c91989fddb061ba2d38c29eb275fa0acf4fdaf6c3165182d4f17da5bfb4567c466589ea125e36f86e85a9a820fc4a994e86620d50e864d4e0582fc1d1b8cc6d7afbece399acbd7a1311ea22004dc1d8aacdccdc415413b1ab33a58bf8cacc412994429611c283849616be6e13189b21868088a206681d0f56a3189fa054a7c081942f1a7b97349ce04e5c02450eca5ba7c07f5a74bbb2abf1d38374338ef01fb49a61269ba02c6c25f1da7ec4f9114ee91c828b618b06d48677d19d0f940b34b249185a07ca83c5a78301268d3e49cbd6e0841f52958ab08902b3b36bb8dc8dbdc53d4b9531529163f9771d35a1cf3ae7636df6e661d5b7a27fa46d7a0c52a6862edc545b400e6d3eba346604ae873688ad8593958b887366d0f15ba30b248d1814cd4352d90e670ee058de665d13a1a03fc3eb1089b56ac0a44118696621337b16ff0aa8a1a59ac67389128f27747fbd5d085a86de5ec27b96dd93e7a42c00fc3dfe256ce99e8895025f90218df3a47605d97c6d3ef16b093889a7a2864d924aa73851bb5b79325fc4c1d0fa35c24d6d008c3836b85f277b39eab13656126518d4db55e1d4e71c408e93a41b59c1a4a1ff801f0832626991aea57e90b74457254f1dcba9967afbd8523e1203ceb20a6a325796a898999c467dc4d44be509e94e681e812a06fcd8c6ddf6da8862924e02ee22e26e6937a31ae99bc5cf276c423ece1675440f72dc502236326b3a30619398f5509690dbbe4ba9146016825d60ad800fca13a3294b0a2f74470961edfc326891331fbb3a9361c1d011bc077773165c84dfe0e72652455304d985c704ce331066919c9c88b07ffd964cd78152e4c5a488cebeccace8dcdebf69b4fbfd0e0bee6b62c204ab4b21052ec93ecc1e3df93fba0bbdda977bce930d8d4d493c1e57cb0042508a8bd3a215d5d00737e2bcea01ded7969c259b62d6a5ceebde3e6eef27be14c6911d7edbb50efc45835423b9c4d9ce3be2e5be3ba88404ffa82316e615873029fef1bc1ed2c3dbd186b5da6e70f21bb20bfd35ed30f8bb88a5ce9ee799e43185d877275350af0f0c6751c60bf1fb524a8bf42189e10119835a9a6da72eb9e540d476fdcfc19b8ec51655a1e7605c88038a51e987cfe0b905570ac628a7309930fcaa1827e9fb6838d9b46d87d7759cb5f61759162c4559f2a90854f960648c623c28f3066a9fe3e7213d969d78886bb27a21035f27d113f63f01a68416ecb3b8d9c6e406c4b7bacf14480f4594dca00253dc5415e6f3ba01e9c472a13f2db29cdd48a814d7de2f1770b59b512ee1d4d356481b2e853fd0cc5d9d88bfcb40e434fa86dd05685f6a43954338885c4b4ece4f5586d6df7323c36bfd40d03f349201bc5c8ce46951617aaab08f1fc5469be4ed47f7681f6ae2ea4fe7c1da020f89b87b8a638bf5538448f4dc0921eafdd7fd848c39aeddca1f34dc2b88c8df647eac541fa00ae8b70459e839b24a06eb5fa8c059934f1a67b514792d686adc8b70c6bf6586f4c735818122226ef6d2243daae9ee945ef6142568b951319c220d640b93e63d5db26d87e5fa4c30f700515da4a54d9e9812caf8217c4f1c80690872a6e78a9f85d23ed418a8add467da329606597c19c9eb8b1498c13d7095032a463a5c20e2c786722ed26ea6e043697cfe8cffcba8d277f25e392bf725a8814f2e654691786ae19629a9c80cefc2773bf9e4ab23771f514397baca6a14c0e3a91b8416f48393f949d39a4ec590b454a977c4166698a10df63cf36cc8e3f3cae480465cf7d7f3ee75d6321f045d9b32eb6e367b2c1cbff91baeb9d3744df59c8a1e9de64f0ae49b232c65b034b79dd87ad8c5d86b7c576d4adc9d05d34b6f31c1ed36d6d4c353c8e7a7de1a4fcd94b886e46003a55b61834c752cacf72d0932b8f33d4bf8142901422ba884aade7bbc498b7683361ae4c8cfe1a108998f9aa419c8141f54d71f9f69f60cf9f33379b16a7100d3738c5f799811727bbe20df0c6eb1d62b019cfa64b11d401b3440582603470338fe23b0300723b34c68e959ad8e7f60c6e13e236d62907ac413fe5a5caa53398d53f9bbfd2abde1dd47195b1155a4c0b601b803417b1abe5ddb31dded13351edc75e4b77533a72628798a55057bb680b257d2ed6a00a0bf6588e08c2e65db48532de42276eac5e0d07331a40d1b0a142785c7f3271427cc44ba041128f69830600c541eb056a0637117aaab7ff492e9e46606797d948d8a473883e5aeca4ac0e5a5169d42621736aeb1c3719a3f28a648b95fb07a16911aea6539f124086b494af9ffc01d82f22bebb5077178d301f92b935c33bfbf32209a69c14692d4dc5e7dbba01e9d92404ab7eede226351d04d3451fe7029c394479d15025ed6c3ae0633fcc5a8ab522bc50572b0e067b61880d397317ae4290a85f5f083b4d22c06aecb4e24600b932f70259c991a79fcc15bfdec85a25538dd4e499124ed576b7b135e026f887e9ba35b60f19a7be251762380149eea6ca73961c8b16dc64be8feb439a0a13ea52de1db84918e39263f1875ee3c413b936ad34cec210e24f1780abeba2879e166ed6814d8bfe417554c607a598e6f0427c9dfdb8d0680a1f33ea17d2ae7a30314b9d812c379e64237b51b1dfb3988514b84721cb70ee1c7e1b3084e1eef11b4854f9f39892fa43f5d7edb7502b4376edc9feb2bded0e49ed4351e76c0fbb7dff83d667acfa42fbed69afbd531dfd44b439b4d77efb283b5dbccc78f4764d56c240e8d885254c64f47028a336a3c433125bc5be8c0414338b83a6e33d62abe313c685256eca420a82c6834b8c912b5976ab65e1543f887f5d2579b5571b8d96464f9b0a7116337d00bd5dd7890f35eab913411285ce44f0bc51fbc226c323ed9889f22cb83cabdadc88c3836fd9e542c15e279bac6abc243a81df500dd922b23a80fe20c87077db61582434746bb62032a332e21c32a17eaf590240f808276fbb3f87222b42eecd170a57313acaa7a235a6ffd5b50268713cf24766e1e7303917214598a6366b9bc2ec36e72a700f5040295e80b73df7a024eaa1d5ed3c453d68c754dd429e78ecf97d250b60d8a99e3c50f5c60f1e13559d5f76542bf5b0e4495487f36715bccdca3b72f4e0a060bf555848401b603664051e75a468913e3a7ecd77588b801723b347e4f286b5dd5b4ee0fcb68aea059acff838fa482a697528ebc49114b1c2bd2a7ffc9468a32f7038d9ff626f6116f50e44b64d7204b35fc4884121d9bdc92b98c38c1b50ea281c90d3adda4759cca6780b2be996e6e6f88398f3d0a0ed4fc87fae98f7b4b4317e949fc2589931850661fd30951b08ad2bf7fd51f0a2dcde554056248358291cb9ff495445983cd74e5e9db5c0ef6a9ab2fa4291a96f5ff9a9f294d86819da4b12221da11bb2434d334864b207b7576b9e5c988101c84c23677520b480d212ee6c1ec3a376d76e73f893067a53156843e90fbb13e4ec55da6a0f6953c18b315c7f04c2f79cbc7b042668bd177b56968c538322dbee8e0a3b8a6273f0a11052ad858c9ffcbeb74faf2238cfaad7e51dc915e95bebdf0f39c82bc11e78d4020b23c70a4d97fa5dc0216389d6ead1fad8878c1198c6b87687ff1694dedb8491f29698843910f8e629a2a0bf54b6b64f560d6599af01d0f4dbcf5722ab412312e909b4e82960765a6232fb47dcad91436e3abeea57b5bcb7263a647e15196df34143647c4a44934c37f83d1129dc241e3644845e27dc8650596e22cc0e7893f40e5bf76fdc75ac2f7854d5451f4008325487a619c2940680e24498e5026812b220b39ce770b87b49c6497bf3202aff1ac0b2b52e2edfe3da0ee73b1c71e84627aae80793af2292984f220157020a822136e9dc2cb04eb60a32c350ab7fd1ead54ce18914d24b1e3a06de70955cf2e7a52e924fb9d6aa79840527cd90fb3d1c3095cbb02e6461e4104dd31dc21d7caf7886371e47e025575afc609d216553362134d4c196c66cf510a7adf44ba508ecf1b877d742c0877e60e8318e3e3e09b92049e83389126ea923df2923f28fb8139dd2bfa6c6b278dd1d5c5884bca4c7a884268813318f7650e17bf7b2f881c60d63b5cf40b1244672c003c66e093bd9f95061054a98678c4a6f55278bd0cd6891450ba1d449f76c9318d94ab83b7216e65d7afcd94585186ecfa5c38c928c8e9af756b07244156c7f5caa7af81d0b4ee0d069c9f4391ab2b3b81cd4941aae7a8d8e81a048d9fa25a0b2dd6f84e68889ad312dfbb34c88104f86bc46b706c1cc162732694770954c28569673fd56198329e7cac9ba394eaef10ac4e6ce295639179f97a25c3a94ba1ef5c7f05d8f0c8d12ab7c646d7afc1937ffb3c8532f3faba553d9cede74bb1159742208d869b42b798eb6b2043b10a4fdd7d2d209b2cefb244881a46fe3860ed1f18cc4ae25d6b3448cd08211be1e1448bf3d946b5fd972a8f13469d3ff1f5986e658590e64139cd21c702bc73285cf6801564be57c3243f24b2996f232f2daa957c2a7b1cd3f872d9f92759909cc799ecca413ce6b845f013a63be68d77533aeb905b03f04afc0177c7d86ccf55f0ee6c8163fb336ca6190eb9fd440ad2321bf41c5b9f2062a3ccd4c5961c58ac1504bf707fae682534e9d538a9b8b36317e63e979befa483ff2a78e094a6eac7e6c6fc85be3b9b77796999121d5aec5d13813bcc81a97ddf438f63896bad3b489848bc0868df4e4affc500f71ce4ed181bc73a4094569812289f44ad4ef2c515f186f429c58eddc3633579e1e09e2b6b4d6613173099cbf3e03ae3fcc842e25a1d820733b7b9b05c02e5952bee4322d1cadb1fee9051777c01c85ed2e7125cce0153619d8bca00c09432da70e2a17c1ef591dcb64c17d5c82eb2631d0c4b859dbf53932406188564c14f3d6a70c7a9ebdf6d281f64e8953619feb53e9b565f2a454e79d33dcca791d94b33d8a741af3fbdd40416bcfd4f8bd16f9bbf3dd59da1efb112dc23b06fcf6e4c8d5b851045d1227e34ce3666001bbde943562112ca124be9a95f5082f881091fbb28a5fc755ebf9eb5e2b8681021b4a83a9d81bb23a6621d2d9b5f08151235653b177365b0271e66c25879515bda1165f39d2cb11efca90358623131c9050d21679f02bfc1aa851c6e6992749f6cf688f812da94fc6c508a34bc128552ac0abe232df8bf66625c3e4079e9ea6006227582b0dc3025563acd938401067e55a6b42d067ac2d9b5551a18b66f6d4666ba2cd5a82b42d53223dd1c9bdbdfafa7aa206d862421332fc2456fa6ac0816292f018e7e73a618d20b604357def888b067a7c0f0cedc335c1a8893a4122c071bde95eaa195fd1bfcd7b76a8bd0842b8da59b60f1ae23d717bac080514099ee9bd0df4b59fc96a4cad50492d09207bf71a9ead9d4e9ea4ef23c038e0ed89d699cf73461c863b823c81c61189dd1a27363b009e912fcc6355b3dec67f09eb6d16df6d8fc418ab040ef884e571552e5462f8f54b1cf38bca5815c1de004ff896132617d51e1cd1bfb7ce88e001366284fb15e06e33fd90ec94dc278761cb9fc3ce2a3f2eaf7766ed2b25fab36b93ee1488e73397d8c4e95dd700e5f57664c1216de04c35cd2a5534e0e141625077b8034b05d5c229cfa1068a0881c23a47e3c451463f22e394c04cb11cc7bc547307d5e1311cc6079bafd9285222728646ca149af1bfa367537438a9828e8422168bb00813f1a38eff72ac4c5a56c5d649bc1ca1177346355149814f69c0ce6892a908060196a8109204fd063271220b0d2875b36098e2f4b4717ef402e073f9d44b688c2480be59c8858428c9ccf2769712a4e3383332fbaca97301dd0f28f798ce56d8fd97fdce2582b47ac0ecbbe4cf29a12123040bde22770e05a8569958e7ebb33fd58673d82514449c46abf6e4dc24cfd3855e5c7eac4b61d95c4fbbf24ca971b2a740971145a2de6dcaf25119ce24ebbe883d5765ee4883021ef810ab7da81e74f827a0e87df7e348d18891a23621e10d688bca20c6359c5f153236bb88c84e71ef961e776b594cbd33b4ff5e21ea8ef8846b911c65702fc0484934f61db26edaa8451efab8e6c7373a411d19b1ef6d5b10305a5f8d4e95133032b337caa291da78444312372cc3ee46f4531a8c47d40e061aaf745ad1fa6fddae32ff6b22dffcc05042a21dec2f0cd3d0fbbfe0f4a2bce38e466520a1104adecbf41bffa726c18ec5861e34c730c901372ab2fe3aa803cfabf9a3b3f833ea8a599df19afedc19f046f828b6db1fd234a7c1fa214df00b4de42a31659f7bf31cde4f9d3d62bf77acbb9ca4005f66e7e9495772f1e9c7cef10350b814f4d56c4c26ace3be30a7eadd69013764ef8e2629cc0a5a49ceb0685f17f4d26581fc309246dd8b91054f8d68d0bf16112a8ef4c859463f32c5b10dc86584c6d5b75666f95d08543c909a090d66b8060cf9464b617eef5d1c4fd3f4fce49b4d6e8844aa137aa03a9e3f0e5d77852c4c80739f68d48c94d0073c361bc87edb307544235ae593e6dd010b4e233ea27bc9928c9bf98246fdccd071bd4fa4f45d9bc9a7e199b6887935e95e7201f88b7b904177c0b522c4a593ebd2a66bd51f7de12fc3f797139556564ce412c05df88a577256f5294ffed988b331e9765bf219913481a51795d93e28fd741fd0ae95d2c2eb2223217bef6c3942cc483b279c5e46187f592ce05bad1e9bfbd66bdda7004b0b1294e56714f212cd9751798af11313618aac57c9df4551bbf42980afa346f18a3b88e2ffc463fa71dc09abcf0dd9e0f84b42d1ee3c9d7a93a247125fe4857b04af8da024737bd89fb654a9c2c25777ff4e7110ae41ebef84b2af3d68f3a6dacc354e740cbcdc9d6b06e3ec6fafec260d16d4d02406ab236bb3f528c3ecaf212614200002dcd5e99178b823016e3a7400c033a58e31e8448cbecf371b66b2b680b97775c0e43f0f4e9c8bcabb3bc45e03d89a55ff7bd10ea02856861b7e43ae18c91c327067ddbdefd5c94e9b5d5ac9384be217c63923da14594f295b0ee0e156272381a4b828bc8837f5bf23665a6a89b0a31db5b545d14a1a8da1fa29530d2589ee84999213c0f475b3a23dcf181b6bc1dc70ab389b5912353e4bc7a3e5c8912fe884a33805bd614158be6c9441a4734c9b4bc4e85d1d3961defb99aacf1b6d59604b0803f4a94f96ffde0160a564e7cb157381245eeeb438aa998dd7e873f36e82d1ad0f15d9cb80b944dfa6627ea17db0db4adb3fd122f7d8890173c4b709d051a74741ef102a3d7d3bc5f1c79ef5c4ac44cfeb8cb995061ae2e23ac45de62c1656e2efc201202f011e49b0d4961fdd41fb724132f48800a8eaf62d7f278d6c5190d21d710310422325fca47cb3e864d9477263d5173dcb1bc7cc155e5f04ee8899c7aa44e06a4cfdfe5df34ea08edfcfb01c38804fd3f29653d747c48f4e09acc001809a923c1232faaa6de9e9d7fe6264e80f56781295395ac4c540da2ca0546afd6eb95b543c7fe40720bfb9cbae0bbd627c3f3e45939b5777c33b6d5f31820e17bb47b64a891620e9d73e4a234543d57b1b1fd568e5a1fc464669bacea6a28cd85aae25b69cad4bc36d3a2e92ddd0b16c14da81e354dd8263977e2ae0777d61891cf0fbb5c054a0082ba344019bbf74830f54b3bfe850a7e244102e156bef517546af23059179cf158f1c6e3cb5f56fea3a080626877c82b703aef525580b60b7c07bf7e0e2513b2d594bcfaeb0b7d143c3dc82e5683d0f9ce217c4daf0d9d6bbb151ce6507c570cda5b5de26f0302e70bd4db57df3b971fd185012ef68cc4c4408f00d8c1f5254a05fe003e244870923cc7f42a7b06d132f700d5725868c783cf2f9d78020757f392f4eef60dba858815f011504ff8a913118e360f71d239212223f310538c8ecfb6a0063589d8a5ec32604db4c8c338c66abfe0e2a7c72d59ff15e0514aefb02079616f05e541a1296de3b62248e4358a566687e7dfc6c4602078fd1952f12bdc737290f61cd8471c56e30b2f7519736121ecc66b696afe6c2b2c87c75076f0d8bfb6e3d4a2c8bd4336ecc86a9ac70cf2374c2e50ed832ee129c041d018721910bc94591457123da6857165a5564bd98629318e69d7c2765022a52a7222e8b1987a83c13c1a10019391a1796a12f0d9ecdfd2cf09fa4efd5f6e010240829b19e28d21594c85309403ca101a1263bd59fbeb1ed01579e7baefbb553473d642de4ed8c42a4a20fc84a26084536bd1226d0aac0dcf9a393ee1d9f26d650c7587f3d8dcbb7e7670f6bd69458f3656c5a25971d8498d516f042c933c78ed19eff01cfb09a660e496a4291e3d5caeb634d494b04654fb16e9c9f7caee18c0404306cd2de90a20b7e9280cbc04478a41b1538fc02e2e0564b9410a612a69d71f9a73c39058bdf41d3b6455807dea01106926a44a8f66b25d91765beed247d0e871b0b937c83d6933fa4e73232b0923dfb6f884543e3f0c323564bf63575940c502a07e6d63c33986e0e30aedec1f5ee0abfb436e18decab6590ec0480e4c60effdd90dd4846f1dc1acbfa6efd8d0dbc68c5121fdfad5b5c8abd2dc02dc64061b06d8053dacfff05b1e7941dd24f617c6240fbd7737fef3a269b8ddaf5d8795bab27501c9c8235023307cca0a93d0c40f89fd6775f34c65d5e9bfef408eda349e84fa9bceb52202b220512f210559c6010702c49de52690cbe960a845c405ecf362aa668324e5ab306f55083bca01ebb7004d7bc9d04af07a87eb87ff9a80039e612ba1a9834479a8b5fb4eab1b56124cb94d68520bf50179d55bb32ea08e1d5311b135ed04b9fd9f24a26b2555f7033d77c91eac2adce36101571a967935cc27ba9e650430909bbac0791c34a98aea095724e9bc39d1deb01316a03654c13d5844daff4536001736f559ed65fa0e7df3f8acf18e4b3b79825d52b818f15bba9f8c3e0d29399b2eab9f346a897d2d276e064d5200c57e16d6440f4baa4f914162897d433dff854f9ffb317cb7c328603a8dc51747f63c10354f0837ef98bd9b54de80b9dd9bc0f8998a4d0174ff8a29da2b248d2521277654fcc327ad67c5b0034881dc9583bff044cccacedbab4098c2850f7ffa8cdc3b9586b3039bcebcdd45f68908e5507518bd11a45ca69d590c3de28ecb8a801c7519e128396fa5012b725ea0d7e3f8857c226b5f76906208446236c77d9a81342c719183235ea4b7878cb9e613cea94114e05f04a548db97d9836fd09f5d5957b8e3e1762e59449a913f0287504d0fa43696b7bcee5cee6640a1534e30da8ad1718dacf07f3751734b46d9557b62e3044f1590d14f4bd19e60c1fe99284544ac9b582909853380f894b4f8cac7360742422360fb7bac0b7c22cb88ec80addb7c14763671e102f5aa06a3195776941ff9eeee62f8850ad05e1a55a9dbc210fbdfa0283853a2e6e5bdb6c0474e99c3697f5605a6fdd49cb39cb35722c10d83c51d039d42a25e6f3c006ad51566cef5914a243a498ec165426ac2dd3c5b26b9449dc81380677b14e158e06faeec27f8ff806d5b211349c635e6f29eec7b2d21ae0db2d06a8cc35765334e6fa347e43ac316261ace1b75932e36a19043e2a7497b50ab4764e863eef50070507d64fd6ebe538f7d6d852480a04e07e512cc42c9895a9886cbff4667a6fecc10396a1ebe792c8308e8361e314490d70999eefeb91712e2f5ae5d88c4d09cb88691d691af7516a9e63f3a8205916f078b91e0d9c73ecde4e33aef7199a2616806192a923b404b57aff784416735ad879d1e2e93477cd7fb004ff20f4a99b7621b67902a757e438fa609c1e4d915f8b9d53f503f7454e326010189fa7bb7da654ada11290c0a0c552ad6b6e277dc31d4753850d2c056d5099beee9b6b83a7ef82a4d0177ceaa04d6da7d45e02791644e594203301d962dc899292baac92825e438ba5fb9cbde3d995881082973504e70b4d20717c4d49444e78eff0d30a77678442c66b755b6738c52c1d87865027860e508bf832501c03b413dd99c1d3dff1712ff2b8249e4374699a3ad034b8f26b74fc8fbee4efcc9345f32f038afbc77b3d718b22d6bafdc0779893f7b60da9761c8a2cdaf5632b5c468f95b9e4f821032540e1ab30dd866d102f3c0c4b99a341894050760430472f247db350bc4e0aae6a68046d4e79c040f586ccf6a92b87a0007d29800434defc8164804e30d176284d7900ae1752497c9567d8b1eb567944a41b500211fc8755f4ed1058927f9c4cc5a57634a5b0f2c05cd0ed00d20d95ca051040e3ff5b9875962c940c9ceb6c37a86ce5796e3e7aa29813dcdad3f004019261eb49c0157304b00542cd4dd09f27a8e8eb377c1228a7c7ff97af5e819599db0bb6387a75c49648536b140f602a438b04782f9b30275aab7554411126bd73ded4c6ed014b0313691990965e212e28367a6cae35955b37061b3cf0e1b2090298b70aeeea5b3729e437554232f337cb31dd3e796be44e856f29d0a9fce3729f2869353f0fae11b89d5126796ae03b1be6516fa7af505d3d206e2f4cb4aa218e0135a2e2564d400bad3c174d0fe755744ac67b5b641bce48512d2ad9f402fa13d21738b33f68161c1eefb7554aa3f83598d23fb390f358cdc5d757d8a672310fcb69f636f8614951c13d9b46c4cc43a27bdeef9cb88b08aac503b62b37ecf71b6e2f27da38aa0f9bcfda79097b4fdcdeefc41f5a8acb58cb5b5cb345d1180566ca0fe09313ca84d7904b801dbc9b4e17affeeab1b371a979135fc48bea2dd5875eb1394b4a7b8294e23aa4002ac188c026c4ea02da801281592058d6a831a9233f284e9572ebe21d4962192fc93114238d77e85f41d559947f6bbf0c9891acf03c74d07e1302fe60830c780f78bcb526d221b74fe2b6ff2a058109190d37866db43722daf06dc90b217bef2df7de524a2965ea07bd07b607974263ea372632bd278e62f4341a59a1a79d87af6318861f47b1f023193d855e181e273c4e288e9ea7473ba3d84867141bc5463aa31d2f04a2a3193d99601435fe2687a24c53462abbfe37a3d88e51d47dfd736a6a24fbcdcd6f76ddbcc8aecd8b1e73cbad3119fd54e8690a2ccb4655e6d50fac6884243d89ea15cbb248ea1921adca64d6da11dd92a26cdd1971612c0c5bac2702b1e44f18f2f460ef39180a854221ab3dd61ed441b8ed09ddc5a50b0fd69db045f798fbf344a0ccf2b15c48d3dd85dd94a96fd1216baa9f139e216ef4f1c6961ff5f621fbc0f5e0360f61188621d5d5cacb8dd773aa8c9e62904713ec752fed4793d784a27acc7d29f484f31a4d3013aca646bf49cb1af3923a9e982913acc6382175ccef0021b6835d4d39bbd6b94db09a3a1633a67e8b1c2f621f6367d75f0812473d8ec451c3189d73ce19ca76b5c721db1b2f7aaa7f40067fe34551f3deab09bbfe3852077dfdb3903a7cc85b087287f7fa4ba1a8d0eb78d8ae9f028a5476bdceaedfd941b8dd3292e1f410bee59eeec1bba8ebbaae9b733ed42dda076e870f92b70f798717e920dc6eb9a7c18fc0994929fd88ced7916cd72d1245503cba7bcc0dfa18bb9e451ff629f4548ef3d8aedf5c79cc38bb7e5aca161d8e3165ea433ad4a1a7fa6e8755763d4bb6b2eb3fb35def09af4c9931b49ad2564f2886c451df853189a362bd85b15d67483bad5aea5c2de1493a659d73ce39e99c342d2a390f860c45a6b4539df3eeba1145756296dca998e9e91c0bdcaf18a2272e57ee218aeace6d8ed2d0a63976373d3aa7e42163b81b38d804676c183d20dd604b6ea7282063b8731b8b3728913591c6890fcf3fa7a1f9883434b2c6704e7cb89bc3ef30ceb1f12fcf711c88bbaec318e79aca51471c9743ca3a363c796364916dfc4dcf1a2419bbbb94b72cb7e08c2cd5cf216c8c004525afa842c94a4523a4542fba517d602a97d394ea4d3680e2a57a91020a622a214eba97ea3b1714155ee346253f1eb6e2964078747c4c85c2288a4b8dd8cac6b8cac65867e3d0e50e3f6229da66e5764d62487318a4333de1833a444f185fa4adafe57dbcaaa50c7383ee490564189065824c5aae813dcc80afdfc099ed38e4163d611aee3442467739cdcb8538e94ef248da63418eea4593aad0c4a51a69d18d8ad3520d2494b0527561ac542ffa33049b1dd5487f602a4eef18820da0a8e414f2886f4230f7676e5523e2c260373a70398b32986329377b986fe238774890e78681b18701673ea7dc77411e6490fbd2731ed4933ca897d5c8b2ac06952aa9aa3735c684cffc3069b98784d09b13873c5617169f6fcc5b5eaa46bae483fbe823918673e271f62575d08d71b76463fcce09dc3da1821cb12017b1d311e981c44990125bb1311e82c4461845216327480e2b61dfd4db8544d1631f6c7bb33fd8af1ab3a9a6d549de36fc849ef0673256e19b8d2d948d5f3505a6caba6a0c7e6d9265ae8d61de0c71f4547bb85a481c12077e4251f578dbb66ddb42dbb63d04ce6cb0b983ae36fedd62a666a831f89c1738636c2c63b709d5b53137613506e38f273c053dc9363edea931630c155f4ace948d31a6b231963b37879ef037512bc27139d7d108b400771ef4ca208fd5455bae1e2dda64024dc7ff3ec199f0b4e5e11eeceec16e1f79bcb08b7fa75094777c4ffb34bea1a729e80987ae2d9125944d0f430e3fc670ef1cbe919ce7799ec7719f0e2de00cc53835756132063fcb640cfe9865e0e90da38aa7a32d8a6ad9f813b4817e84f947e481062a86f6de3ffa87154bdf3f7106f950cf6df5e712fcc420777fc4d13ea4610ef3909e3bf4847ff116c39882e7f27d7409daa24b5c2d5c2e6c339d49cbc18f7207df78e0ed429eb096f8b70b8c7520a7886f240efcaa441e9dfb3cd8f2098a689cf8189d136946e2a8c6e063a91aa2b6d186ca093dd863ce2d77a8e7a6208c08d38e3f63f4846f4f1a270bb6f1a78b9ef089647cd30dfe3efae73ad45449c43735061f739c278e397fc69174d152856f6a6aca98ed18cac61bbeac1bbe47b3a7c66eb0c71ba76def152cf5b1d91e6f9c54222d83dc9fcf343213179175558b28690c286effd81a242a3c7e05262a747c0c4814cbf13950532dc7df8007fa28b200ce3678187f86b9034f31212075602a240e7cfc50631fc8130e591ec23787c2172c3cc18b159c80910053e5263358283561051213605e764271348dca90384aa225905c94208e2f2d3a1207be172243148ee10212a385252671e083e218ca61841f30240e9027091207c63754240efcef988a89ba5bc8133e3e9e62eeb83029838f2fe58e8b042983ff114710ccf93e3977dc2348198c6fba8dbf9038f0c7cf1279c437381f1f47993be831f88a9ff13f9f476f4932c6c73735256f36ae5267779f1c0f158b3f58ec775335a85afda87dee904d900ac8f6b31c27b7dbcfed9abd3d0736f7a9c7ef7b9bd68ad853875b82e004e6c622bd1b6b1925e6da53b7ec0f8c3cb58683dc6ded995c71e68a839c1d84ee197a2944200a51e840145f185105288cd041152b29f03c176ec36bc88eaca1691ac69b76b7db7558c357bb370a110ce1042aa0000853cc50014d43aaf18246103857cc68f00414d048010abc98329864a4804e279a10b25d6dadb5ae76ed8cc8a0e30229aad4a8c144eb8c1fb4400a4150421094526a03fec005486aad52d4d82e4c382539393a288208275b8ca10399cd4aca769872ba9703780bc2159dab71e0ea10f300bedaa6b1dc6d074e054e8ecc40055880c1031f30515928a871c60e30bb5d0e70a24c87980774b802db1b6239c07ce46003b774afbd685e342fc2114da1291664a22548f614b9443722287b8aa4ec297aed299262cf5f5ba70642ceda0a62d7ba75ac2d8e97b5ed49231033cf79549bcddd6aedc7b5bf2d1ac44d724fb29bf8a9ff74355c56d514b4a1a50604eccca2bb7736218e9d59d99bbdac9d3bd62be723390f5a758843ba55a497a4ddb1e631cc77b52fab437257db03ce6accbce7d60a456df7dc73591b9cc976fdac0f2738dbe73ed67eab38e4aa55ad5611c85ddd5577ef762fc16aeb4db6c793fd047bd4bd895573b73dd84bf032c1f7740f768b40ee6a735771a22468ccbca8c544aeb7628b9e6612f434b7ed7a5693e3b2a85563e63771d47e57e00cbc424f139c51d4b5f482b33de7c119458d27cf8aa2c02ba3a7939f17bd6aea246ad554c79231b38ea2277b76a2d6ee587b9ede98e28f156a16328784e690f9cd219438d57944aeb7d9be8a2fe47baa2590bbaa2c80edee9ecc1b9f0a51ad9e4fd5dd25bbebc08356a224aa1e8421df15f8cf3f1ff09fdb00fec7e71e6bc571faaeec8c9eba7bda5ea1a7cecebc95f779f7c4cbfa802f7d3edf6fabfb4da2fbc5b953684a1e014af7bba4eb6e760765775276d749b1bb7f3e1001dbd36945e4dadd16ee8eafac28aa7bc7a2a8fbae43b23b9bddd5eefb8282f7b64fdb31c21eb96f09436c09dea32bf7e9cf7d0d736b12a8ba44c3f7cf3f9f58a201fcf74f1cebc1ae939e38de177891d0130cd9d38dde3fe3e7e3fdf3fff8fc1bd153f7f1bceb3edda7fb780edef37407bb7f1d8b060e6cef3ce8ed7ebbeef61b3f93dc574d5dd66dd5949dc998ee5dd7ddd6eebaeef24627fef8601e296064bbdaeb82e322c505e68243627d5a144542424a62d77f6e286a74197388c405c745ca2787e1277f5c9ae4d14385c817e806ce703138405ed93cd6d8f305091245a9ec791bb33a01f80c7588e6b3ae61861ca9e3c6612da903e6f33308a9a3f4f92984dcb1c26451d4e8f313094501400472ef71b8095986171c2051d7081b7abaad9b848bd95c23b018db86a2b018b2759360d9aee093d8aec766786a807728ca530379aaf7dc804f02e099f4dc1a103b5379a2a07b9a0946d37d013077c8fa8cf4dca6e7a30bceaee748ac1a53ef803a9ae086a61207880504d237e97fa4593800b478182df7e7a6a640b39b5249cf2d6e07cd6a0a065663ea6c87acc9715b6b972934a6feda8505ed2285d5bddec54508d2650832b5fd3bc654a2484648520a2409051247fd0a9a0413ab9730b1d189a258482c7a988f768fc4917e24b17ad09b4c27b1284a76a5c3984a1bb7719cb41e960b6c96bc5f74cdcb8b5c453a1ec106dd164ab0419730b0fc7ada28dc2c4336e8f5237d02674024cfcdaedfc01e2d9bc4a2a77a1f791c22d21b3893efd2a26b5a5ee4aa16d109fdc31ff4f9f5a4503ce57b5987ce8133a19026da1640ef4451a138d22c8e42a6c4418f3b39a98785ee134581c471c8ceaf67d1a7992cb6404f756ab93d24d6484ab2494d8c2e461861cad8f5588f758f216bd7bbda933b77572a2720b8abddc2274fa7166e1a8560649a100a0a99432c6e69e2c9c6f7ecec53e15bb3f136e9c6324a19476c8cb180dd9a251be3d6c634085a04618fd7b571128cecf136d998b5313e37378f7e0fc838646e870ad1441243c0eec412370ed95f11995e63228f768673b00e45ed60596ce3f0bd4e8f4378a861ee2b81eef4ba4403fdfc144b3474a7dd87ec215b6e3bb3333c637d4fe6856d4d6c4d6c4ddc184fab5def8da61390b5d65abbc1e8a952966f766eb01a928562385c51688299a6cc6432136c36935991c928ca8e66deada69c7990d22470a2ec3a822285a2f228a7358281580ed25457af5553d986db61cc1be9c89d6d6aea3735a6669b9ba69860bfa9292bab31e12bdde1b3b655e8299cedf03a7b3c0e8bb6f4146625d985b5dc41a3d0d67a1f9677b32b7d491cf51e0cf98896cd1472ce4bf4dc54735be431197d5b92c7e368bf149a1a8940bf626490056463f40412e9d156d9a0c7c9537d96f79ec58b441d479eea475aaa3c293dfa8df454d13ac3503e74b5ebf2e9b5b480214a272802b17cb207148158f2c703729b765deaf66632780cce6cf7bccf0bef8133a1c864f4293a0fca89f47138f018ec51b748bcf1a22890c64450424284628463cc1d2de14e580514c750165a0967e195d02abc2666d78ba2c297cb3592bd5ed995976497cd2f30640963e10e45853a14e50a5d9e9489e373be73bbd657593d43eae85e5f5d6eadb295adb12c8ba4cac2e750d438921de752286a0c651415c6421d9a922a2b4fb35a99629565d7128a9ab7a1a7fa3016eae416454d30db84b1dc02c1db56b6c947649b6c938fc82d1094c39d2459fb97c4e6e2350979af5748cb2ee43d3165ea5db4d7e47a4f3c29bc1b6f0a0f8a17c5c3f19ce8e4debc9709e67ddff781f623bdfa1353cc138158f2c7d3d2752da10e855c2e05ef9f84a6292210cb277bac4b68dac234c5e698a89874767dfe98aaec7a8f4966d2a233c1b4e6e2f9287939e9dba5a8f47a0f043baf05fc42a183ba07f0def77dffbe2fe4e920dc0e1dfceee2e2a281d5d3c00e7409752d2e737fa212e9059b383d250e2f7f59d33da3dd8321dbbb62323a0f3af5dcde78ef3d20e390a7ce9e36b6abec298ef416c89dc92138033aa84d30ada140f42cfa9f00b9ab6a8299b4306d3177b498602698096682996026d868f46f3ebb76fd288e6467481da1d78fd0983b5a5e3fb24251ddebc8edf1dbe348168a631ec964a63d8e649e8fd7c7d101b18ac51e74e3534dd5d098b5d9f492a32897a97a81a66a3e18166538c165851418de6ad5a128aac69ea049d74ed7995865f8955efb472938c384bb37b763d1de3c72df9ea2d49650735997755934344e2c309f70032c56a210422815a6b059a956dbe58db1eaac4496524a29a594f26a524e49659556ca4fd8cca9a957564d8d3471cee88a65d38ae18c52b6c789b3e56c8f73a438f5b52515c7dada52de90e28ffac412c12bf95881d20f51adf0212a79635c01b6d120cb163d4d511233c8de9cd6bed65af5e75603a931cfea4ec8600b123545ae72625df8fc5cee8f02d1c099edd6dacfad157fd8cbed514d833f411948fbb6a064ac02452d99facfeb8ffcf94d3371e1547fd3238d2b7cf53cdc3b8fa8fdfe106467bb6603077a5e1fd6ca55eb114720d53e7fb7a21db2bf4d8fdbcd1e3f0752633bb7d050635b54635b546335b6695c311a178dabc66a8ce36acda954c49793eebde84b03f8fd456bbf9aeed626bde8b949fafb22df97eebda07f364dffb8ef625aacc636285bfb5663fbdb625e8ddd7b3f3148dd4014b0bb8736edb9a69dd35f6b8f9f6b22901adbdd472035b6effde1667feee9f1072834ae29ba14894c642e65585ae5c2294843cbce2213cf052d551f17347885c6cccf7c4470a63521b7205137271906c6d37d5acff36839a7e4c8dcb3df68c404b53d57f330f76682ba459d823decf6d4b0e8c99b5ffd3e0b82a105bf0e4967d3b1c059c7b2d6da197b33f0d9f3a5554dc984a1f970e1589cc955c8638843e73b568d9907673927928c342b956ae8698ac257f8cae12b8c72d9c8f6db826d8862505ae96a41337a9aa0ee1ed6610d923def65c085637122710507505c52c712d2aca652a2164569f7525ae6557bb6f6837c5b6193f049f80a5fdf0cab383a4196f97cf824bcb9adb0899552655eeb73d4147dbdadfa99bc6da71a33bd992ca369bc28c8a0a8f0bd4901acbab763ddfbb163895ada15793cc968169866c9d12c317a9a32bf5af42aadf6fc2603ce3628f2089ad9d5459269caa6643586148d2145ed6a4a0536d18bc6f0c9d91852e29c62451c7a9212d684ac9a42bd869e66c8da6c64ba47d04c464b150568065cb88c58f221737cac1dc976a7a6e8674de1936235a682337c1e942493d1523545192d55db1339f59953a2a845458e931165cd4264b947516b56593d9eab64b454b9a0579d4ae4aa31584bd5488f79578fb6fbba6e0b9c79581435762c70065e991e241435ded6fc6d25e141e91afc225761d1891dc510a7ebbed9ce5a3194424f6388232df54c89a33ec4f168ba4329b6c7f4e8b9afb5764bb08a5aa016e80a457d5bd666e1412bcd131ad7ae63095cbbbe7ee0b2b6157f543d1afd8ade0a1adf7b403e0e1944859e262847d4fabcc84551f2a41745d9264f4452481ddd715c4a948c3ccd1be0a79a12b5aa8c448996909d0e454bb0c0c267b8aa311334ab31dcf6ea57efbd51c11e75d77bf5632277274918f2f73d3c782b5125182e77fef71d83331fa8e7f77ddef77ddc0783ce3a444ff35a11b9fb984139f2dd3d50158a1a878074286a8262c71ac18727993e866118be3bd193e961181e74cfa43b1b90ee589dee90cccea4e5fe3a164521e96c284a765d8e241904caa127f123b7612e65ea04134a029403d2f94450157adaa1a709d239078a752228c7ab4ef218e26c6b45cba2a71980590d5be1aaa6a46a3eb4913ae46e9247516bb6e7ad8d91382cabd65a6bb5e76aade704f093d451459f27c0dcf1c2e75bc84151f615be6accfcace8c9e50a3d552632a7872f8fcc1fba8cfeac6acccc71177d80bfa011f0f015be449e2978ae7c56a2010c60009e35aa672671cc6f4e8438a0e712cc811e1f2403e9d498c9dd1638eb31773dbe58fa8e2fd305105643545a378a5aa59936d5d093b5d1d6e64480e7903af2e70f8080176228f9c097b98c48833f4415635f62e68e96ef2dd5b168ccfc766295c2cb7c880a04021d040285da07be8c4823735c3b96b5f61a38633d9396fb03e97ed13de6363171a1858f1dcb85cf6fae0c808b77418f5c35663ec75ff4015ae6ee583505c6b657d2748f909832f307d0a324f4a8a4e70663755e4ecf2ec047cf1ec15801c0d89ea31794b4dca6514be29897d1a71a337f65904751cb544351f5dcd634ef21cefdbcab10079c492bfbfe7ab4dc06d0e3b67188a3e806db8c2556a0a85a4042003d2a40d412d960cf0f600467e30b7b62916f00408b5a5a8f3621cd821ec317ec796faea0a56a04a347d1aba5ea1d2e6b87c0197805f44e835eff52ffe5b0feab7fa9d5747b0d94c0cb055ffa1547d2157fec50c56b7f6df05cfb65ed4ea4c1a3d5abef393d6aff1c02e03d13f8be68b937bf4dd75fcd71b713b4a18aa5fb7a5dbaef6eaf95ae4843bd7d278e40882310b35daf8d33cc3037787b4efcbec8560472592d57fc01de23fe087f0fe4b22c08d64043681283d4fdf2d22781ef2fdf76ebf54860d4be99a00369a8d7238ef641eab6d4b39adbb3aa55acdab39ad58fe00cbcd21d64457a7e35e89f1e8198cd80ee0dafb8d23ec11e17c72d04bfe9ef9c7e01b76d0b41ff68a204bd037d9a079500bef7a8689e87df36917be8e9badfb1b3d9dab7edbba63f2af9b2f6278e9745d2c273df45073de73cf9dd7d47c3bd7f79d7793ccfe6d157cb0dfa3e0242b6c7cf3f11c865edeee59ff3a02f73833a9d3fd2a30876f6e7223d8a40b63f77d12310b3fdb113bc425352d522be90439f600486ec90c8047f82426ece012760028a13bce08913d838710223af23556072240a323852a58923642c39e28592235a3071042706477ce03a8283258e3881c191254a1c4992c49115243972048923abf902961ab3c57ac274014b09b3052c2a93052c2ee6112c2ca611ac1fcc15b06ea60a583498362c19cc14b0949828601d318b60113191b08498441859639ec0886c1e3152c6641901631a31628459c4889449c44815b3c6c80ee610466a308530f29a41185962ae8cb4a00d234554c1480da6421136f095226860368a30014fa1480caf51a40b3c2b4204ac46112bb0144c53e01b857defbdf772db76efbdf76eb54814d84a9127701a456280d128d2c26714490196152982a140840af80944ac60271031035721320636830812701388c03013885c8177885081cb207203bc04224db0128828c13a44929041c4883188102106912162356c8451930618356624a1860c2af4524a29a5b77eb1adfd625b6badb55badd65a6b6dbd5c78910512aac8e14117511c010a23289992840b23b6a821428b9a21606c14210d2298310432a47c910517586421842a70787045144180c20a2551925461041088f8c115430cc149286c34200d0698b1003214f0c50e2e746491802a62e0412a0a141430287921890b46204008220e20c41039d89049c30066e020a3852f0ac00501b288a9e2c483014421002802a0e446120018210641840e6288b3c1421a2b98014386e98b1217a42c5eaa18f14014850b142d4a424942234044b05cb11a22b3f149c3630648c6f785c705d749c15670546c39d09e5c272c13759464fb47da47a616463575431b476c378c7280f96801b41cd70692530b342555b50a458610011a5934414417632ca9a16b5c61b3c42866cb28604cd99e2da380c10221bc920faee403eb94d1c48d8a069fe65e8813fa21542cf598dbea20706628910321920481042fa880a2a24f0871058a88618095645a23842770549a92fc835735cdb3ac2c376baaee6b8a344075c5d2777da9624d55e9134b1608808b0657b4a1bab7c0af451338f11100170d7056aafb5be0febf4893813060372bd515a56a9cb13d5d9a126e9033032b926801064cc5895ead55353d3bdab82ef2485f9af612c50ad2edaeef737dae4f1cb78fa34d451b98b0aeba58a29fc8e4e741374d13c209fd2fc119ceab0660bd248e792764ccfc0f463ad8f396d660cf7fa2a644127ef0609ab651255d146f2ea127ad0540b44aab8405c10551a2b8a0caaedfbe7b43a6d8dab72836c87b9f7c4d9713f2385d9bdea0624107098454d2f930e4896314ebd0d393cbb2fdb19aa21b653991a9e9923152079528267b4ab1e7542253f445c5d7dc6ea99ea3bcdd8af4459b7ca74ff46ce54f6597403d36f4c99e54b468def31a7542caefd6fb38646f5b0df4dfbf53f13ba6486c2637e64fa5ac120ddabd7b1af87fff889e3c77d5df1b7d21a12850f4e1ee6d6e4f8cc090bd8941eea6a7df866cdc44ce8fb2c61467ec49a560c2472397cb5b92f3c7e9a2a83188562addbeb41dfa5c622f01beb630404ae95f9047fa023f5bb93ed94ebff56077106dd7219eb7c96de4ae730e4dc6d06b9674efda070d0449ba45fb98413419ea4997e2795071e4c0fe4ef548eff8d329470e7a91b2382e67f0236ef74aa5672d83dc1f18f9a5b394ce83e658e53815975d905dfabf471c397cf0568b17a58c91a49734e8b4fe06cf751972b081faa0a84df441db9b57eb499eb7cd535104775731c8dd56bc4762a28aa84b54c44ce451ce7ee8b48bba662ea130ccd3e952924b3eeef131fe156984c8306850b3129921c64a85ef6984bc90032a5eaa7b211267073758a9b0e8e48777cf877cf4db8bba4470f727fea0a77a2ea129fcf9e9c2d345519b48e90b332105162200c9b1c1b943ca99b26a2ca6431247ae2466711c49af87b9ed199b3a29fdfa8faeb1963526ff823335063266de893d9fc591ab41d6010cf93b901c1b046f982e8963becaf248254cce7f40726c8fc8e49ec9154bf4d325fa1b28cac32ab972b64d683d8365ad124e5888a0514dab3aa0b8800a852101436f706585cb067ba454b48de2d87c51546964a2a7f1635116c5311b12b507e869d218e451cee8ebb5fb86041133e17950eccaa3dcf9c19b2131c60e2cabbdedb9ca99c164383b50622b282c9cd9dadbe9b66d13ca063f6d43bd276edb4637ba6d1af4aa7f6c97a04b70f341dba038f2d841b4bd69afdb0e24c8dbe5067237fd64d163106d6f078925ed3cc840b777ef8233b54e16c492f699b11d8d0716da68a38ded43fbd53e68ccfc34d6a1a7fcd273a0289238ce4dfae4c611cc69d318a6b649d7ee91740efa8625f2dc24d279d0e9aa29babd8a635e411c4730e2f8d3491c73c4f04dd7681ce53c0381ce722a71cc5f22e411c74a205174a28e4854fd9c5768d5330af2f48459863ccd03f1f2f91f5ebe4f977087461fe96e7179287ae872f49619bb58e7e0278ee1183dcdfa7d89921ee72e7d242df78beec18ef438cd18271a7bde458f738d3ddfa27bd88acc22760f738f3376830f6a836835641fb4fd895847bc31716ccfc73efa011e91870e4028ea2fc0d11806f987adebea6b0b03f45e02c1dbdaf334258bb09251d688b2e76b4659e3b5474aa964f0f3e69c62cfd269b7c0faa16eb4be608b2d8c1d3cac2def49b9e94ca9e00bf434af136583b6b442e7c9f628389383be5e5401f3df236551faaa29cc89399428762d79b9e82861f4459bd029f674f998aeb9844a19b35d725327f62d6d124aec51c2a4e441ed3da7291db95935bded8d6eb47ed3a30680dcd89a58a2972ada84d212bd485f4ae491b2e60d9455533ca88482652d42a83662b19a819e2270c30c3938270dcc10010a448717e82907b7e769ced18ea51506ff96f38a4c3fced74a7fad48e7e4645d41686789ca9cac3ce890397bc09290bd502bcb723d91620a8bc4668623b37245269359b1359665577605bb315a28354555d2b26ca50edf22d93ab107dd9d6d59a932171bebb24ba06053afac3abced50d4686facc8428af78d6554ff63c362889ea6b42cf5f4256ca2a8b1069898a8c4eb1498558e32858664000040000315000028100c0785a2f178300a0255b70f14800a889e4672501a488320063110c3500c83000331000000c000600c3164643400e217a41b2dbadd568c7799d450d70446ba4d18ed32b9a1ae098c759b34d66552a35d130c759b6cb4cbe446bb2618e936d97897898d764d32da6da2b12e538ae8d20f7ab7d8b977b95f79977be8bbf5b7de857ee25deb89efa61f7a97d873efba4f7937f7e8bbf46fbd8b3ee2ddd68befa23ff4aed871ef765f7917f7d177f567bd1b7de25dd617dfa51ff46eb173ef72bff22ef7d077ebadb78bbbeb5d475d675d009a9d7601343aecc2d076da05a1eda00b41b3a32e8046875d98d1a6a79faeb039d461f850f939092c809d1e931d66f835f3a3c6b2121756b7d58d893a5dab2d130fbbe1b49e7683693de886d2f4a81ba4e161379cd6d36e30ad07dd509a1e7583343cec86d37ada0da6f5a01b4ad3a36e908687dd705a4fbbc1b41e7443697ad40dd2f0b01bfaba5d571bef9ee460b789a35d2737d23dd9c16e1339a2e5271307effa5834e25e769e16f9e8bef4f0e1130aa302dd93b01d2297919f5a830a02578004186365bd4e57c9a36088fd7cb5d1e94f9561924dd889ea7bbbbef2f611f48e3ecd7bf5436f1307de27357a4f7cf036f978f7890d774f3ef23671e47d42a3f7a407de268ebd4f34f09ef0e06de281f789c6de138fbc4d387a9fdce03d790c69019c10be11488d66f85f797c17482dadf4bd727c23501faea39645ec6cbdf62fbcd1207aad137bd387f21293d3eb8ed29b0bca4b5f2b2f3a026f6b222f3a215e31717abb2b797147d5d5cf6a377aa297f5625e7a10de62b8bcdc557ab940f3d6b3f0424be8b54aec4d0fea25666eaf1b256fae682ffd2d5e7408765b17df4517da2b16b7b73b8517d7685e7d16de68445ed68abd7440798be1f072abe8e50aedadcfea8536b1d78a98375d288dc53ee0775de0be59f0e696f2dad3e24dabd0db7a8ca69efd4b89f3a67b73efad77e19526c17bd588375db4d7985cde3796dedc939afdcbde074c4568b1297284ec4981d6685aa5ee4b3c1c4d806e10bd01a55a9f96b3120120409032dcff28e83edddadb14cb1b2181f6c150674135f8601ef8154ce811cc08fa007ca1cd35dbb46602e27dc96b6292bebf799a82d29ae4fe377f927c693ec3119c72e5dafca2303c647a55401b6c502084526d291224c16f442d4b9edb4b66962dcff77493496a6d2ebf49e2037a04579e4fbf104d2e4ddf04d684c0bfd1c59e529e6b5cdef84b1377dce77ded56cb81e11e879f7779c4ebee0fdcc81e4b384c7271b86aa032d532da9288b9b18dd2dd0f675766837b9c5f8ed41433a86a1aa0fcf96d1cf699e7b0bf3a60b3ec0e6a95d10bc16eeabb1fa74a4d2f30fbb0302085bcfadf68a4ebaa96eb824e5ca2907acb653e7107bb423ad4c6eb7e9ddc8dc8349aa93ab24c32447f173fe2c35b558da6f882d47d8333295ead2217a9a138e51e022da6f073716655f099d388826e593ad3ef0f096d624683e23ebc4cdc8f4a6d4ec22dcee96d7f1cc146bb9a16add2103d46cb7213992abbed32bdebf2ec98c45168cbc4966746c6592818a2caa8ea1e70243d02aff267b310c76ca255604720e764b792c811e2cbd1d31f4fce11944b3f53e5e6df0a2f60a1df7bf05c6712aa75c3ba53fcff26a9fb888320c34687cc22e6cc2d83313391728fc3695b667dabda870c8eb7789c14f94ad8f88714a26471ddfd83a07aba96cc06ec5205283e9e5f601920ec8ec8c1612e2b284c50efad726ba4f45a611896ed3726128e0b65623fb8875c7423482e1c73252dc03f9f30b99ca893a099fdd67494e386ec3cf49bfc6edcd033bc70d536582cd3dbc13bd017bace9f004cb4a821cc5738c62b4bba1ac4ba565ac7a92ca6ae269578a73e799b011909072444580d6a45f27d124bee45d70d9ff4119f63495c46c088dfa05997da210b45e45a404e32dac478568c2415f599715d2f1cfd642acfb96487eddf7a41e219e2b9369ba0fae9d91ae0f102fb08c6e0ae61a6909fb9e85c3bd39c848d0cebdd9bc8a2b359e1211c6ae796419631bf0cb1491d3eec8a733d55405c4b8f11b14da0c505bf23539cefd691fcbca9b75eff508fa82999830d9ccdbc7dff2d6d0844430a34ea1e28f0269129f78919a629ea8e0f639870a79f28d373f030c38aaffb8eb1235b7d1af9fffc04e64f4db21c037506e9f4fb9138676f20b58bcee207cdfa86d90da46dd42ddcc5e5a5011e67f1e2fd3ed2d3174e2fc7b42b115f8eed97696e840cea3cfc10e1a36c5e4ede0f442bf41dd18e6710acd444322ae1a16c06d33a1d246b1e9423f4d83d65c1811b0ed34d1aca7fafcccda9235a9334d8c1f892a555964d10317ae43a31bc412a5a0690c007ff388341ca1b98dd1b8053d06b26444cc4d2be118953a3cf52c906dc26c38ba78b54b50fe2b3915e2ac47d58feeab132c80285787a467941c156c9f2da9b82835ff1da3bc72df44de8e69acfe1d6e1223581c0c9215d14c2318a0edada930cc69cdb36de6b51eedd5c7b9226a5ec341631c1456c4d3523446aeb215fe746b2732d825b15e66c65c89e0557e87695c08cb4b094dbb80a381c97490334f5a929114a919e0e684ca14126b3d45270d833ee18b12d041e4c219766169e552364dd459a919d7a3877d09e3d65c67cb8611eeb91ab8f2018ee84cf7a22b7887784bb93d4a8cd495f31e4bd55516e2081a4ee753f67b6a886e1db56d80ddc1e55ed0ca37dd57828cfda54df90fd6ca9741fc4b04aa5a7f1e0b4179c45537e458c64c36fcd50e75ec8111e7303cbe0580ea3d95b04d2a5b4694ad92ec1af0ed8fa1c19ba14f420ce7f8de95577d6777511643573a53c34c7ebca8d40879da9536e14ac3a2aac1871da903605e1d231abdb10088fae2801ca5726fd57fa1a6436109b5c10ca73b4d21549b78c0292d0966344efb2d67d012a62a3b2f819d26ef0457e77027142bc5afe8c7aa2da170911ed2c2cfa71c32fd0ed1ab5df0f35a562b5d5ae94255f8e5aecb11f39c110ae9986937b7cf9a7107dc16cfa1dab509b2594be0c02dad7eaa6c349c10661b1c4bcb532a589e3536aca250dfb5c32fa36e6a1312e35e691b15fc403730fdfbcf3f070458ac938e04397572d94a92db419c0f1721d26d4ae0edef6c2fbb73ab2414902a7dd397d625a6dff592cf31f6d3e2a2f96719a7a74c7d993711eea766ce0ff2455828391abe468b69d61606390b7eb41761a47b8e636d68cc7e2d582c31ea6178610f4b7f465503aa93b88ac8ea22246ce2728a4af31a2267c78f84c3d5f44bc57bcc12e99bfa12f5bf8e8cb8b7a55aab38bc2c6938db64ce04928798de589c2cbb4562a8d8bf2c0fd1b9e60ff13ba92bb2cca25506c8779fe56b9f2e737af4c3d83f3dfd5bd41137f051f58357836968114f0e121bb1dd832c826b0fb90293c3c889f5dc1033f069aacdb6d79508a25462174d7c73940830352c6b90da2168edabf71ae5254f4fe60d49c347eb3920effe62815cefb2166570e8205ebda2d75cede410f0f324b90e5ed2667de0219fb36fb51c2df85aa4a432c1dc9d48ef05340c52c5021e630153ac42e00b8a62a6319fc7ee0e41795054c38731044c20953808054ca358e54bd03a7b7caf5ec6ff2b90f5df0ac2e1d01d7b7080ec1d1f27485c30159daca2ac13375e09db0247855551e2f263152613b925aaaa211ae94f888bb40723fb348de8d966d4b589f51398e8cc9facab7cee3fc050e3fca7ccdb1de684e940036e216ef01c4d2f1a44a060ebca18fa470c4103441addfaafdce65b72d705ec199c0faa03d7779a6f46f081d322fa5d28734dfc627cec4ca605e1373b9a3c4f619a8421987b2b75400b396661fcb26e384b0f2595e34bc3221af48058bfb163b9f846b986f9dfa52d5cd27159109492b7b2c2b72ff55a823697a8bf278d1fd26be5824bf5bfd7ff92f5e49dea059edba05aea4c636006d9239281f3ab6b61fb6586ff300050ee2e5ac7be6571dc07b793140afa3e4f2988349cc291370b2f4108ccdeeadc937a0024c32d00b777d2f05ca5251afe19ea29a9ab72b6347cd319ee9a16b3dcd20d94137d3e40d33a63f8c5f039a9a828fc2b636eda3f82fa01ca86bdd84be4cd30d2b961c88a6e3c682215d7549abc5c6f7e43fb100a4745070df809d7bd78b5fcbd50c241b4b4e53456d2bf2463affb00e6d116ecaa85e97de54801d69fca63e69af99d8714c9d4710e5980c08dbd9f06f6795e3cc53ae91a8f334ebf0ef82d02144b577b1893365f20a115ccd2115958656b0b8bd07cde49cdcc2ca4103941fce2b812c58845618fe8f7272b13f4d3f92430671de1e7999689e32e62232240353a3bdf4b98bef0210a6d28ea30697a2790c44a1730d1d7f2b03b80522bd8811b6d36996297e304e7966af26ee5c74a24af448c75b35f4832572a25697d0820a8b352845dacd2562aef1c23051765a47d48b54c2a69814b450ab494cb34c046d74623707f68ed19157d3e7e7485fd1fa02a55c6562d136a1937de16926b4357cc64cd8e044cf3a27acff51a3c2093e5d58c39268705ae3590e75b047973942fdf038557e46161ef50a580afc757739e728da965d49027ee64de31831303bb64fcde0dedb03cbdcc5594a90d1f553d930f913be43e5ec4fd589a0f54f5b492d2c892614a03d4c146f3460bbc14adb2adf95e30990fde43f223215dafd4fa73ed85a899f201dca102b078968b446227fe8f48e700825ca6a7cd8d43be8e91c69086435976090429b3f05a668511377c0dd3ecf3637b0983008b72f19e5080842ddf4db2791755bb9aef3b3f97332a0e8667ba02ea8d6badb83c8297caf26b1e136bdf669fedc763aee5e9697a20da7e88be75e76265b6abe305be6c015534c12f0650d2d202a7420436dd36b4fce86be0aad8b1f66f3d32e5c60200bf1e080c4b4818312e7e49da5ff6fc6707514cb19ca282705a09122663bed9d715edc85305299f747512b886f413ebdfc6b912b9ea9881e0ec6549915770b0cf5118d5117adec7414af964969208531dac1234eb70fbdca382a276cf5debda93941f62cd15403b3478177d98d9808793483cdae3c7aa774cdf8011b1497417a7171f1c8d65665bd321358708374ec3fbc1b01a8149610480a039a103543698169fc518d5ecbdf6ce262b4db2ef7fc97b85c13c3da47b48949204f96713b1e71c2cd1f2686df31c4f1180f0c5ce8d164e559b41d86db66cdcf8ae65b0f2d1f94cece22cc4a367ea7612772ee290b17100434a1a22978143a39afa98c5533dbaa001daff9711a331801919af0abee9af7da3d70f61cb6978faf4fccff3e2241ff272494de8ad6cf66503835c006091dca57afaaf542935c45cdc196b1f3871b19c44fc03b4ffe263df20736d9feb8291fa22cdbe98e0411a207585ae821b6138d0377bb3caa998a106d96b9f11a7c86878cf2c3daaef97e806ba85a8d7bae5456b01114a4e4e464e4f8cd3c967c349977683b9acb18a1e0d7ea5e0512e0bf1a8c112d024f4e58e00eb4d1169084bc12e886c41c021f6d16cf91cacc3a36ec339e5ba9380e228eaf44475b27dc7e980ca04de8afd2dc44ea6a573ea7186083abd387e3683510e7c227f1cd9601118fc08993e182883ce29c92f0c1c6ab95d7bfd02e98f6122f7fc87de91cf04d3473f4fa42c6e0682891875df93ab3095bb7d2dcc4c005074ed834f88bb3505a43c06ab3db89c1ccb83696be97c1b9a42ba7f40a855e8386e44f0eeefcc1d498e6c59abfba184882d4b12384cd5cf5d5cbd303dc6bf4d2531275cfabbfaf7404562e0fe4a3d85292b709a30caae9cb55f5db133ba79be7b542582b5998223dcddde50b9858c097ff66a5812c8cf0d4c4b2b4517f729d4f4a00962c1aeae74e3d2558390a91d117a4906594b294c97ba050fbf78970480d586a2dc5301f18c34ef15500039528f111ef03b1df98258865844513d13b1c223710715fbd907fff49672ec8f53a0a9673d786305cfc5783f614dd5bf176259917e418753e7e17f99e7593dcf3be2d7692c4cf54761824d7b10e6e0a64b88253933cd17e0dcd56f8a6bb3227d30afd4e5e9c8988c9a085838fa1bf9738774b7204f2ff5ad7820e8412219bcb95187ca4c61461e7fea9c50202f115094212b3af6a15ab53eb96418fbf56bb88d074138663368c2a960c237cae894481bf56e784837369882c74537ae85e2988fd78e25d2fb3fda1c38d909a072995d579279b002cdc056e09482e37c333b4b881dc7befad34bceda895e6b5ac136ee228d43ab1bf96d7f6467e009105e4c86e958a6ee04704aa9bd4c950518faff37f1295680f73aae5efda899c167c2e53fb92665797ec6a349549ffc95d3c2e2e08e7bd3d723a76de9a33b4ada5310dfaf8f264702b66161879f0fc9e5f9198f24d9b5dd41300e04663fb56dce0f42ce996e0f69fb621595d98c92aea26024491c65ca3d5f2082943d75c164030ecf24b94b2f8233f2eb3348f359a59b68ccc73bc2829347fe5e96323374cd5253012ff69aa470b8c6df90620df0ca572c7f437914e3a4666f5c4cc669f2767b43732454548ee2dae1732b55556b72eae3f217042d1a5c4f6b2290761f9c75fdf4bcac4508b47afc27d60a2024483eb5250b13b2b191ce2998efde272e664a94c6c80b8dff4a96f4af70a90135d26a1577542bc627515a5207431e51e3eaf614b7393338342d34a8f62aacdb14faa659dc5b94df472bb0d06de6bfa5530bea0f38e38460035180dcb7d0c719d94be14a590e392df19ead020ce8eeb1549891ec0304cdbe036549ae32806685122d3618082a2eca71c813d14184d94809d601e533aa031594c0e90acd42591b3dd99f982ad873b8298f9e09e6bab8edb5d5c53545f74eb48aa6b5595e6e745b7557b6b04b8ee1b29a2523794dd64b00f0c508ffc0ef6680f58413b0d3c17c7eb8f11779f7fec97f8c474639e05bbd6e77a5c9d55d5d9511428b7820c5c423351f44811e8cdfd42d47f54147d0ab52bdd18952dbbf7d4762d9cb79c0c52f75347ba211b0508b6e6f0acc4f4774b7876a0d058efad9106c923f3e820b063994f6a5d41f26c97f0c401cb3a23a0cf76ee13499db9cc07f17065ca8fe6a99d898fd720df885c1464b2abfd81098209896e95736efc27f59dbee6bf4653e470abfe86f8740199276355f5dc01798b0dbb7801f3745ad5276a5153c8646ae4e2a9e3f434ea8342ffb692c8d560ec8c7bd67c1220820d5a6029b0af771c14fee7918c4cfd1806f40631aa1fbaa96219d6a724255713f9e6515fe4f0b8b9252341330d6e5734cd05398fb366c53dfa5f370e9a54fd761c39d2eb9de3eaef121ca7efd99da3d88cad1093668b8d2570ff6e05ce0e97eab7ee620ac2e5fe6968b44c9814f19577c6176141e611cf853d12627adf4863889dde98c626ed7953c174fb8df7ed43a694f881035fbc3469aafa3c900fffd5c8f2d9f7d2562c37ef9ff9aea44963ba0ed24463eb1249ddf5748108643cb4f34e1e81b3bc04ba0239790d0db98437987291030caa3f4761289a4457356bb49feaf47014228d21d81ef24190ea19d481a6d172deb2908ceabebea769bd112c45fec591ce8e70c0b7393162d435acfbbdab038f794beb459b5422c29afcf021162ac7ee095b9a5f3487167d32133267cafe5a5a7f33f5e47557139d7587b4950684fa6be34ee936536e733805b6f712172c8d8ab26de9e8d7e5854859418e07a525ee353c40cad29239fcf9717d29cf9ca8874d2de0d5a8bf3359e4c114934481d173f7f727c34032a1f47c6b4667e678cd7e576bc8cfc2d7e521c8795e148a8647353f8a0c1d58fe4e9d7a2efaa035951e77b87b3d3e65478040d14fcace9d4f534bf563f0557864163c5290ed99d2f3eaa3da951550873f119ae33e61259eb3cd3291fff24b9443676e813327e2dd77acec7dc527ac21f19c1c6406342c86bf13007e30a5f4c2319733982576230037ec49ac7a46108f6664b4775cd95b7ad2258fd09c51fad8db3bd3dfb94cdde378841d91861814e8a5cd0e925a5644bd4c270f6b24e9a736e01bafca126bed234260ca0b4191cd12e921af1362c43e70516f7bbd8da7078c866ff0345a34849457a17943f4667c060b8866ce4741815580c6296151686b3b13c033be15e4527efb00b03a7937e0548e046e7f21c678e04ff0ab92c3673b0df7d1c1f570b2b470f8d193304a7e34da27215d04e47b7792ac8011031b797b12e4a39132669df2549a01dd17f9a677c1d2f449f50ffa2b07459eae3cb74b28187621da7ddd17534a5ed5fd99af44faea425dbfb8c9d776a11c3c2f60b810844191b64aa5b2b2377fa08a18bd0cd7e85964680ad15525841483b4d63f4729ce944acb8c3e682c697a06de0c23959ab2deef6c03524c6bbf4a36a9ac02ca9db50111404d01a85bd6cbedb5c4c78d2589e8894fd91d8acfc5ad8ebb0f1f08fb4945a41be29a42ec6bfd6eaf03ed405d6dd6db8a3125558b826986370812060648fc19e7df41e7b8137fb091d174ad4925725c2a6aec739dde516811567e09b18e262100420d3edb04660ead7e70075a9eab27a3b074f530971e6a33884490899b9b562c6c63ddff5890b174fccc8dbeb0c6c7f0cf185b787b8372f00484bbf39c42bf58789f8bac9326e1088fa81a9928b4c6b012876cce06885f8b4922b02b6ad1d6055a357ecdaf79007014acfed695cea7f3465984ea62a72dacb349b29a58293ff88bff1fffc647ea75354c8e1288d2acaa4ddcd5898f58a1899aa317497a640c720af6ef989d59ad679a6ef293fd6b67d88039cd5cf9bbdb480c93f254d10619e488c5d67a1c73bc2320cf4112645fc7010919a4832e7e6591a7d5943a12ee14cdd9fa9f3c4ba2879136e2e8f4b2f09738ff16988bc7b004a8eec00a9b807a90a269232fd70b6b78b868c1617e38287f7e3f3c81b559d99be875f36f05ec018069e4a40abe503d56cf68d86966479aac054bdcb48f913510fa55c56651bb0f2f5c3da4f7531b42674aee7c5f3c9c339be0fc58fc46e63434d20aacb1e3638ed11f53f3419a692e0bcfa029d3219330f5d1e0807d8b1686d4e0b678b83d112a5cfa329a5978b316a5b43b7fd8ffed0208d0fa99aac4b0a846222b84da218b4864b1e363ef80a583cd9c362dd19c63a83e9dcde3f0ad53854a282bbc54837ed7376a2380c1a8204c3c49d6a701899b5c170e4339ee96ae4f9e46c140634fc74796d043cb6a9f1a575d0c2ec6cb5f9bb8c1ada7d4d863fac2ba2fe24989d8c78f7017f4619a32ec9c84f08a7fa48aa8479294df3050fc1628c0f4407564d63886c37b4727e67dd747425d7c9781554209e4f94c8a92df08a0a9148f3beeab78cfef3f9997b19723c160bb63f74ec3a2bb816c17c779928d18d14e0f679260a0f70d79cbecef5e0adad85a451ccf6652f29969a013cc6a23602bf4b8acfe5c85f5087f69532c09806aa2f73364d24096a5fa30a080d0f3e020cc6eb71dce18e75fe531187abb5da9a8c4bfb93098ebf4b669981d04b6c9f9d3e20ab085c43a77f6290f377dee2b35ea0430b7130e2ce2cd27394c202ea5ac59087411ca23881d8d7b06850a90a497f692c07f94afc2bb479b8c57efc3be2921e3dd438064127b00fe1b3eab1bb5bbd17401371aa13a3fff6f8dddd61245a63eca890f919032f1eda13850688d45adbec0470d30e3837406efb51425420a19f8c00df02821b22c5f16257c54af06d9a1276fa3a1fdc84a5babc01e8f1a35abc9b080ca891e24585ec234a0242bd22fce4049ead6236fdb811cdb380f784a79dd911b5cc538426bc5cd6e247335d2bfc550a8ff4a27015480a200c9d6bde1a1dea3bad1f4b813304c0c5887fc8dc974a0a615ddb5f67e917c461eaaca7a60615cf2603f8ce0c4bc31589c40dadd548335f14de0f03f570a94059c73493e97e48e2a3e5cdca039b686f3d74cd671d90677a0b4764c5ffbd8e5886cf00695ce017891d5512f5b075e74203bd282a8bfb861509c3d2e57b98f29d8d96508869d2c67ee3e840a43258ce30a2b2254d947d1418f5bf3f1c24a39edb74b5cd6d303f1cd176f5e4e54df65baaef400062f33c421703e9ffa9c8f72dfbf0457b9d6fe0c3af70fdf8d63d8367f5af0dc5859fc54f955534c3ea1fac5862aabc9d5aa0a1d3cdcbe4c7f568c6b00dd959a441c6f9e41291a03674c08ed4262d4e0c9d9e7d02fbaa2054b0ae0a919c172db616cb2a730e61be61bc7dd7fdf36808cfe3e9237a90aaab9add081a3eec8f9ff38bedd9f482c1d0ddd220a9ddf32174d0dba1d510faacc96cb25aa111d05ff93d24b00ac94405a86ddaae4153d8d21716da7e1553efb401439406611f4b485fa4c7483b3adfc679cefc1312d971ebf5968ea33a6c5e3c6449a40c8de688767c78d4966454828fa3e8d001cf600d43c3bd30d0a07b63747f830c5ffd0684f0882907ff6a491d1dca16693104c907ec6e8ca1047928d4fc9bc9643845f492d50400f3eb2f09b711f2c1075e63736999fba7864024b3b13724ccd4aa5c8d9da42d23a0c5eaf38938787f2e591e58a96108a4f295c30721f7a96fa57f2a7c7f9fd7a0d2e8512cc32582300ba5a9119395695614554cd42ddfa7355d377c2c883308efb449ae6dc445c665ad5872052539f034981941bacda09acbfc665ecef66353ec19d4e948f28397f128415019ec0484ea3996351084f71062b2242218f5d556fa67164224d6575fd49ceb92bbccfa8ee146546cb07029a4eaa8ee146669b6d48269b2a165233d5d61677772f2c391ce648a5bd4e4341927956c4f63be6dbabe5b557b1566db5d708ed6b41f1ac38eeaafb60f387482e27bb1392f354e6c6a3d5b27e4a55438d11f886dc9bbaa1a7c266def4c1de4735725f55ed202248f1421667121a643a6c374e462fc064a08ae4bdb40340bc4cc88a7a04e56fa450ccdb3c789532a7815597e06e8290d2cabe2b13ab317f4240198b3cebfb8e706bb48f49ce4f383f26f844e44be42a230c9cab7b89ab1a6371c86d959b2358b16ccd95e0b447c9c5c3437ad1c456475e86343809a3d48baffb6c1cfdae362b6e1d081547d39749f01521c865f420258b0dafd1fd1845cabe463defb56f9cfa134cb3cd662a27031d432cbd73b72fb0deec259482c3672228f6cbb85edeb61cfaee0d315833a32bdccc66c5b48f5fcc9a0446362b56364438823584a2bfb064e2e20d4808aaca198c16e8957d97d38e0679597fd0a19d90812044de77982dbf76114e40f4e23253e535b165153de1cedb97bd061044f75009e6584ec8af0f580210492c535a0f6382833d45e6778bb7b8ff738af386b28ab9823310541832eeb594bb2b3db0e46465d6d4cae4d98483e74f64603a237eccac271f96189e540d4e711e8505a9ed82e0bbd3f6a6c09bd70753d0c601bb6c20c39be82dabb8c38cd575601051953d5d009288230fc8b6a1924e44d842871d9accdaa3c0948d458736e758cbedee46ec89ea9069bb0fbe026c9dc27ff85cae5231045d8a91dcd1262c6e2849c6a79c56b1ee02756c3b8d0b9099ed0367c51ffb12c64eab6830e7829f87114447a51b6b446129393f85049f7c6ce699d05252b1d7bd9e025cd8e16a37b3f81e7216b592a8539fdde0b73bba9002fcbf4364dc0d89bb3cfb6b02c1c51604b3ede01ad80fc951b800813ef0b6611d6fc065c7f5a48cf9331fba25c1ccf0e125edcd0b42b3011dcf7c4956b520f6ee4f9a98a6acef2ef174d08487050caa3b66db0dade2d295ca7ecd0cc9520e5e4d77cf850ea8a4b2478eb2fef788122a6094dc8dd647990f96b6bcec6bce374678f8eba7358133b50360caa3858dd362d37ca185eef702c3581e9e0607921905135495206053768ca03a49f1f63f2ad28685df8c068b533d434e7aae050bfe5526d1cc9e79d607b88dfbdefb4adc3a79fc74b6acf3e1a3ac6f39e512df6bc3e03c604d8e554417ce1f7bdadf9f069749c7d82e645b16c2daeb06f945360eaa6e89b62658789f9edd160c7f14f67a2b62468099cc9494c3967e90c729338495efaccff4ecd44056ffff0d15eb02d47b113257231ea1313ab22290496c4f3ee4fc68637c01de3130982c121e9380f2927142af1dc2e3c8cf3c76b97b43cb8f620c43cf9c21022694eb30b98abe70d2af821a3a8d1c1517fdb0e302a1b1e7af42ade571407b6c129566d96467c46746c57fbdf5518a634785541a6ce19c63cfd634c4df59db821a05efd0b5595ee1732d2d08685c6aec8387d75b8f122d8f8d7489ce0ea8c646c258a094b1910069e1f50ed2f2ecf2febbe93d95449791688f95d7c546c8dce2f6e40684ad141fbcf019704b1ec346a8d4d7300de121591024c0f005afcbaa05bb7fb091e167d6cfb2a707cd0af1a67afafc7e67fbf8437ea794cee15c3c573185e92d98b6ae9154d00ffeff92265fbf4a1948be2dd7d92a986e6e27622d49cf5cba5cf466b9b83ef57a82c3fb353a1bb6fe11b5236769ed1c6c26f161ef686442efea0a8643304246cccb4227a3784ff2b6bd558a2abb3cac823a5c2a2a68a9ed3fb9857fbec82215184086873c8fd7ff48f0281d94c33130462e9e232dd316b760885839c1726636209bb83178027bf349f9fda88bb918e3d8f103979ebf46b6d7e815f485138a9c27994ceb6bdaa854610dc03480ea4bed8d3b97359036b579ca1b639cc106bb5c34f3fad111093be2081f5ad208aeec8e1a1c7e847b108c9958c87210d00749e8b4a3d48a41563748a4d823c7dec2674599a73062234ae5600fde6a4ce240d90891cc41595a5713c94a593cb1ed6466e03d0717ef9f5596f383a124732df2c52214c49818489d519a160fa29c85804658972c7fffebafcc92efd341fbdc8a7785b0e7a99e02b6db79def8e365a6e031f4c4f2a5b0cd3cca5f957a376613e00c3171f5c9763b100f1a896a910a4360f86106c6f33429e99d93305894f07726f8497271974cc9e0ec7a01a36c7b8d56747e2df1dcaf6f08c637543ec0ae3b5d86ade26757b8af0d54df0f42cc353926ebf674caed869f34aa1b1820f550204a54b5d0326935646fa79692ef80012660ee4b706c7b9f2ad87db8819d595242ad5425a6004ab9d3e6b0f12814d35c85bc19326b02e1155eb512a3202ab369025f40ec275e45385ce4ab95989b69c0f6f864ee8806a66a8d270903193b10ecffa328f531d062448c5ab5642973ff129a182f83cb67775824e83ed8dc57c2088e93435fc2279e1fb38266be28d9469919670a7f4352646d55e1c447c96cc84099da69118dd3a1618032dbe2909c69ece1b42e872d1108fe8445b54d2220ffeb323773d75b2c8a662673c403094cf9110a0df9029bf51cd6b1c00957e9e7b54352586b0b7340d576a8cee1b2154978add8a361c8e213ab2e481913f500c9e50b08a43dfb15d0bb20f129f40de7df7ee7f95aba94d8158a02bd8c5bd85e9b75cfc8fe00ff69d43bdbbfa58f3724225423ab9ecca41f26531239cf0f0cf14e2c74f264ba96cde80d572c5942ca861b6ebe3d43beddb9cd082f22ab43f0f44c75a0f98945386a75f7d998baeb896c5b7cbd05b51da5ca2c8b66421ef521895e72986b992292fdc097c89cbb2d59f87aad4f595210be611f1af8b7768b1a6de22806c30a22151db317a026f022410a6db27ef0aa63c9312173e16239b77e05b835c03603988111edf512169d68625c6718d0b8ab581bd9a235b6b414e7a00058081c7769f74c39230de37616fba3c0ccc276567082a110fb4443371ad255f33027d201d8c5968b6dfec6eafdd590ac423da2a30bf73a635590dd10cc0df256ce54a468ecc98bb9fd7c69110d2a1355513cb1abb8b8e2a92e6f492e51202aa415917646df1221cc73fb570eee8d28844fa4990aed6aaa32a37e50c05ed1bcd4ff8daa800877275359dc4ec71b295ca10e130f5a2af6ee449e548b17faf51c4a86f9c6628837860aebf2e0dacb38534d26fa5296f776f4a406a253ab43fe75989d26987b723fced0650eea0958dd27fdcfa919050d2115e202d5453d970e30fa18d9f88c2812628ec6370ed4df38d48324b1d96de715bdd68bbf5776874e73b76e8123de9e7d1388053e41ef06bf101d87983d107cf7243c924b759b00285cee2d1b863b05738ba4d6c3baadd8f83ef3455f69476bcdf0b72f0469e7a17d94baa1337521968ebfe87a69422e8f60e2e8a28d8922e33046bba7a9fe8a8aacdd7b03998d93bd604ddd06f9a351a9563895154647f2cd2a7067b1baab0591b79235023d153106cd6275a8d241b176934973c3c7316c7a109613626a84db6e8f47f4e4986ff75aa394a5cb9bba511d6ed5165e5181961baa74547e6836dc32b5aca3bf1d2e2cebf86c056c5e63d6dba081ae63ef2643e9b06065a75a6387ef6861fce6be8cda824f419a8821ea20e6941f7545d6595366a59b909ee0c976e4757510544618ec72e1737b40e8acd849b88dab26faed4ff7db3cea0eadbc7977952332db4064dbc99c2ceb375b0a6f6ce8c3780fc2bf26ef749810c0ce2c7c59a31a8620fa3b16273348032a922152ea8f869c86cca8ae1dd2f8740bd8eaa69003e07374e1013b6a95be00c78ee922508c6a1f5a6a7c2dd2aec4cb34b25aa6e283756524aa5564fcee49df0a0f86934d31bd27000803b9951d607276979624b0ca48776a91b81dafbe59cbfa8d6b78a7958494b9dd0601bc89d01879661b098a616d6142932c2fdfe7585e2acb0f0f7c9c6ae748a06a63930be642f2c6c96208446af9e3afac7370fe5e3cd711f84864bd2fba00d9bb5d045d0238fc5d2261340c1bb088809f4ead4f0afeef567cec6048d5bf49d5f1c68de7bba793bbab4a631a2692af9b7a17c8cb3d1137387f2e30253e2c0fefe740709617df4c6ed82c90e675ababc56d16db2c87b8bf253bd5153e18b1fc19d13347102a33d60ea3fdc95c0868c2db98092adc9a6136696f282a7527d629f406d2857a43d3ea8a8039da104c2e89c26860c0e2c3e5851bc04e2363a7e440fd5f7237099d0492fa597be8d7020d13e4206adf8bd9871ac71167439470af0847a2c2dd649d32550defbb7b0207791090783e125b273135f0e8d2225c2179ea69740ac99b866843646cc383f7db6d65cda6d657295c7f8236b3ad5e015bf18f1bb0c753c319f7770a8b01712aabf93d2a49c1b65706305916683404ba3cac0a4f213a46dbd6100b0086421b442d76dc3b67c29ac92405220e3e5568459448d5aa0b3be92f53f3bc00678016d39a56f0989d19732d42634f4c009510ba1137951d3d42d5c7528370193c3b7ea36919e0e6c3b380044c490592e8d2954196447a22caab60c847d243f758f524956acdcf1def49452368f635eb3bf46843c08f2e55ee341c112b531b13f75fbd4d4b1938606546e8b693cf0abb15c60ddb30c778c38d25533e6eb2a1fcaa43362b11b9d8c76572da01246e380582f7ad14d214bba1b2fa9a428ec970bbbaa4edbb9bc40c3a0500c7b2dd3c8dc2b15c32541c3ae09848b5d1b355a6770e2ad7a7a7e945b188f36672a251e02ae16c5ebb62c0621bdf0005cd34e904cd9fb4853f0dbe25d8fa542ac8e93c8c334f0271deaf49730ad7e40370aeadfc901394e04985d525223651216cd6683724b1ac89d36343967d2ed147ca47d2e3eafe5bfdf3d5e2bc019cc70604ee944b689c726f7e7076a2ae2bab0ac9e092235739e7c68bf4c313e7b86c5a0c05eca103d038e33b138056c76657a7bc952090ae60b1306a0629b992ac9d2764560edc531d08a4c39bab1b7527af93f18302d67dd63528e22a0d8a17c9985bf00bcbf278197fb456d101896362db89031242f2190b19c75b900c21f0a929aebbcb5f3a43370da8c059f8c0b3f9d8580d8f7274e63d41cc3184cc6d633d645691f5565f2d1ff74ae29f17a1b1b028cb10a813af69ff7ec4dfcecf5a9120411bf1ab72757c7b21e3c2d7de56808080a89d4b6e70705c28dd9581af41ad484e7c0d0ca76b4832726699645ab070c075e5354ecb972dca1f25cfe3cbf57bff687acb7f344a5bb929a9b2118620f64d1b504a2e151609f41f5b0b87d1adeb3f1a9531e4ee68cfa51a7b5d3536e2f51ff9d9d8be5edcd16dfd47634eeb06c5a0e43f3a192c926c41fee87b3f8ad9d6d2ff6706c996ca1800c9c33514a69cc8e70450921cd28282c2cd3d345261f623e44e4c291fc0eee16d9285d3a84720de4ca20e7b5401f3bacf986240800498ce99730e8387d5602677878954cabe1f1fdec2476136d39f9fd71b949ee82d13133c002dc441e3ed91b1b39c2cea201f5d232e4330c55e3ac05fe3a68d39b1821acc3475fc0bd8d1ee3731edf41c63b746512d2e3638ec69d498ad413730b68d8c4408dec04aa3e0b9b96bff279fcf9e12682e82ec5565a090b841d760a793e2b5d94ab828772e0aef69085801a1f69bb771969079a2a82eb15147f90bcba55368f7e6c14e18973f006d086327423bb46135300d8e1ecf6a54a32e750ce447f1ad3f5806bc766105828128407fe63684663108bdc7f8c2e06358052c0051ddc08b65e71491f27cd5703102c4ffa98bd2ec6722cf2fd3f9d1a9d3549ec1ec68a70fb5f92db13dccc1632225ccf7dd6b585d5d37ff628f2682c95a11aee0c5377841c0a6c87beb656ea6964982f7743c48218cb56888c96ce0d53e5b25d511d1ac07132ac2b3623bc6d37a7477258bf60d2a99b6fa20913403d43b111cbb8a05b344396654760d587ee57b5c858c6d59ed0e390c4898a76107c9c8b57b47fd9cf3a24b1ebbb5a9ec46c9590c951b870e00fd68b32adc47d20c54ae7e785c57484f4268539aebeec1092776dd0fff6d8614d60cdd17f797ee23c12668c75eb403f240e50b516c00662bda472fbcf5afb498dfe467864e5f29e6c5276e483ba3736c304b7ec37a585d26eddc9c1f81168a4c09a8b12c29ac13a0d4a59770e6b6d471706f43e64d3112f696250ddc7bafd43c7200f166b212c62ece674870d61914be2cbf6c0a560c02735df8a902d015210543dfb00339100a11293b89d1f3d3ca12c045955cd095bbf9e8662ab7141c2d50c2825e4d942185b399a70e0d9a6d37f9a480e399d1c602ecac5af71251622d7b1d67c6118983bdd646dba87c20186eb4357e085acefaf3e8397240e19a744d128b26cdb8b219191c4bcf0a22225d055ccf784d43b7e363ed59382fbe5a69aab1d1161fe8974344faa0ed243519a475a805b866f340a1f25b1b4c5256fac23f0d0c07355b592b3d91698107a7c5a9b52ef2de523baae60b60b099384cba127e6704a8fc0d0e7af7e8a74ca54259d3adfad686415851473c1ad44d186e85daea8e66667fb8a08f1918a8f6098c78e2fd53585afef3b91b6ced08224eb92713561bb6a12f9217e58719fd180accbfe904445d24014dc0ee8414376e45812482680b654a33bf0251908f7e6f4f540d0a0286756e43341fdcdf06ee64907d33e9b6a601f88a5be90c1fb55348f8f6265a2ae09b00f23aa6a1ce115a3c43d0e016abfe4c9cc185a8f72d09a2f7c5f0881f980baa8f32e7b554018a18e6fa2f9979e1127340e2aaceaca90d9fbe1589636bd32b2788bf42a1539a32ea2e6bddd602c3806768643905be224932dcfc2ca99656c9c86771b7824dc65bf5065e62a5c732ca44b474bd85cbb663700b64fef3fba352237bb3025af25f8aea40dbb9010db024859ff15a01bd046b0fed8b83084b323c192cbf87162137e779480ff58eccbb36560656423882016d4b004ee9c99259fc0cb046a6dddd6465dbfadfd81ef2cc6aa33dc89f5a5f3d1fa8a2bdb4f15b28fa5eea3b67a390df3f0aea4098a5005c632156247502cc6cc641e0a0ff23315ad7552a8bc709f1b39af2640411f4803ce4e68f5cda075afe697396ecf1419c3de8db5450a7ee3b3aa3d46f6d673549bd2d778a95c11adef092a60a893cd7e28d176e9f9f0e435714209a17aa14b99100eccbbe0c2e2e5664ccb1872d44de73143b2852c814a9c76b6f4d07cc99a6a1fbef6538fd263225a54c7b6601f3696d45cdaad77eb058dbec219a48b9fb923fdce1fc6e46f47a018096bb66e81b0bb2a5578f155899f89533c32a1dbfa40e1fdab8bb53197a96878ffd9816396084e79a9fa5bb880788d40b20e5d34a170b63039a6fbe8b28706775d51966cc0c988d8960e934d94685566dba58f626926daf87d258f640969bc84887b1f7b1c51b233e99a5c99446148b16a24fbd743367da6a0968065aceb7e3accad4d873c6232f26dacf9c37770743eb69963532caca5d58ec41feca0c7a0dd6f008880178e4c41532a01e47c52fa315df25f51f56c4e01f86942b03299f5d701f0f7c9601932c95c0c874308ce056c00b80545ab2ad85930c44e346369120c52032b5d02128139dd2a5c84bb16c74ea70ce8225f10f65d21666061d4005881946ead210944d690d9ca5a1240e405d3127874df667d2850b691898293c9955a5a890b87f8b665352e0f80d86e78839fff346c288f16dd4a241e7a6681bc7017dd4914c6d9413d5c11f25e1371a2606cdd0791cbda78626e9c2d9466125083364c51546895bb5fc3a4a1d5b77e7609f1251cc1508c2a3c659c86677a427a29c4a863a78c46889ce35dd57c4e78e4e3f89c61a04b7d9f78f6f77636ced28464ef93ca18f9142be4a9d548af61b132bd4eb95aab9475d4639f4666b09300c093d260c4723003f25d12c2a7b040a348c2b75ac913b6cca870519d7a0599a7243533e359b2d8a32ce86655ef0f1d328c2fbefc7d92e293019893e04205f79a663358659caa18a44a3df91f8f0ea4ac69393a77621ca268e25fc93c4c6de80a50e9fe85a64fca56420b329ee05f612896acd4ce5b7eb91e859925761b44e46ecd9fc2965cc04994602c57ec4d0663712ac2693a58727d9650db3c0fa0572e39ca9a6a9110c5363fdfb4a7075e32e535c9428d6543610663bd971398b07aca9ca95c2a20a8367721e0d2c1978b1d474949ebcccfa246761049acbb83b654c64b4c8d1b36f0ba985ed1f1c403af77eb7c1521f8cb90867704f6eb42db6e2520c8d35085717dd1e05c7d31b671a0280631c26df65cccafd7827e1d94289c115bcdd6e60d6696aa635eda23411ebf0c2a242b93356c382ca3830169a93d1989fab53d13984d7a81ace913e280a88374eca312c5cba33a3cd9a725f1d9d14064f2a99221d50a04bf19e21455428684d81ed302ab44bd961d8605a788dad116f7de61f12d6aa451aa007d659d8ec9b6094e0b6a7f2e7d3c2b9a6168c9a73671c3a2d8210a049360d4fa14d18fbdb19bcf591d46b96ddeed6d0641902d9cca1b5a12132661392e983ad524bf5075edd493f92f338b99a9b549c0cc6e122a2490461dc24e5ea6eafa07964645cf2515455165d18b26afc90610bfa9d2401ecb63ad083c459618591bc721964deb1498c3d9ca378303cedb509625436b131d0a315a0ba10195c091d9a78033c04185b032e9112ae0d9d521b7a97ab48374be950f743bde56ab806f007bfd06e7407952a53b7d57c98e7df00677bb1b7e3c365d8114d41c55a2b483f6809c94ce683426b00cf08e72fe8c8e2100cc5f398e00128e2b2dfc59e82dc0fd71d9a33a604dd9c7d0b29a73229087b70987310e7d36dadf9488080a3fb05bca8af32d233e8a2941e8c4b7f1a804b997bfbdbec38a7ca37c6b6d1c7b96747d8954395a82dad7751377a8373469dcd2dcd07141f2393602514572683736b76ca901c6fb5b2dee76fd10a09f8bf758e13821973d28581994fcf3cc3e3da72245161f39cdf1c9669b40ee3feb7aea22a679bd57ddc5002892682e6139e476d65072cadb4c1a86b5fe362521dd931caa4769eed056640aef87515ea098ff9cb0adc8360efb4c04670355f480cfbbc9c9b87980ca9aae2f222b222a1227b01a49c6db85f8a8299f34497ea184631b02df242726c423f7ebac2dd92f40822f0267352f56252e02bad0e79acf9eebf71a75eb43a14e93226f54f5d3fdcac2c099be4d55abf8d51abde9f9bf8bcf665729daaa4acb75ab714e7c1a57168fb34e2e292b018818e6463056cea916e1039c6d9fe74db16a9fa6fce59614395c66cc4209d6aa887d7f8edec59a06aba59b600300fc03bc4db1acb73564239974698c5ad3292bdc795949c15eed43e18519cc9b60fa551c49cf51ca3f4d8342a09b2b63490f7f5ad48cbc34a6b6d4ed717426786e9a31c6dc8c3384e81aec475ffc074d090209478f49c9e121a2d41f9cd00d14619c7b9a5b3c32ee9055cb7ac43db33ca63c6519a5c715b92548d70988bfa63674996dc688619a22495d632168baa242acafe4224987895ac2493c62d0f0b48135aa156b67830f21c9b1210122c308acc54fd1ee4c8b8f6b040c8a14258efdb9cd2f45273b4b3ed56ebe88183a44b6133e0cef416a8ffe4ae875454f32408e64f0e3807ca26bca683c86e102d81c70a222e8d4413912b793c7cb7b8be475d96cb3e58bc22c21154414ed84f9b1644540b9be81275e7b4fe15580fcad4eadb114942ced94e637c34d5086f7aa444861aa2caad4f98cb5ca85f5bf8c3db3eab1550046a19240f06577a63b105da4a9cd381759240cca1a2243aad3dc203bdaf3f58a2538e02ecc1a3d639354a36fe4ce20eb0c962404110700a589bfa004e935ef590336f98c2106de0c97c37727a3fb4528556c1421397e2738d011f039f0920e0cf6a1d521b6943115db4e81216e5ae057aa3746d8d76a9a1a3f812f1f8ae2989e55b24555d25b2898f14511fe6a60eb7381aebf5435c688b907649860a1e6e83ba4f587873c5fe2eb7550a9bd730d95cc23c211a19c0cd8f202ca9db3ae82767ba336f1fd70208dd6a0e371a9d24f82285109d9a22f13a61482bd96e670d74d50aee091caf0ca5e28cc64e813f2f3941399683b6a6b8f94a8748df9b000256a0f47344a407050a43fd1bccf9e5d45da76ba6795ddab2467ffbfd80cf7b4a76a3b4fb018d87d1a3ad09fbabe8516aa848d5a94b18054dc44b7c8d14e3e82b8111869442c05f3f1afc117cb41aa25a38a03705a18ffc9e44bf7eab4f98ff720d734999d9638a836726d2dae6228277cbffba040e34d067db24cce408b58358010e90a12f4a64783ffdbe2f31808a8b9230ab25453b2e9e21fa4aeba211919f2e7c589bfd4a288b5a4a50b60cf24e5c3d9032a5599ed8e91a7b0c3c8a6bb2752fafa82b82ebceab8de911579229daa72bd99dc5fe06c8f0ea81ea2c2b25bc032065ac45ebfd0ac75a10f875db3c22f0b25fc826340aaeed83d8b0bd8c1a39a0b77dc6314d2ce96810b4748c578b67cfcbb83ce2ed0d3dbb78c10a9417f4d2d2ad4da8a069c218c9eb5f16ec3593f0dd985450fc8151b0d0dcc8dcd626603c199307756e56bb163c9b6a45b63ba00a8719da93611ae595bc99b276ba587938e50f9cfd77c0304f9718139608678acd7428b20865aa5a96736a7bd873d49833a16c1a1ae86a5b21c09994c9290aa794f8e949de781257e9aa0731cda25684ddd774697b6204e32072e7707ba0cec4bc0ffcdc9641a7561a0a268a2841e7805d15dd3bbb31e90c5fc05b4e68eb63f3b3dd7afdfd3151c566ccd2d38e176b1d81bb8dcbcd2827cb7353a746d3de4a0b275975a5e067ce3c5d2da1bc0ac144f63c60520277e4bc64e7e672e110a568a627eb9798a8e6d96030b95c59699a6a227b392b344cdf56e62fd24350f9ed3b68d425e1fe5ca039e05a9cbaa6556dbd9f948372e8782cbf796532b1c3ff5ba724f6e28c5624697586ddc6754592fff6fe0b974929e9333c500a5fe4e18535012165120bf1278fd19442c19617bc379523edc34a879d627f6820fb54032433826231539c85951e89c7c1f04de061aaea5e43e23777c1556742825d261dd715033286af6478408b03d53d8cbd3c06becb419a4624f0f64615ed740543a45e9776bdf0c575d94c86e2f559adaa9204699fc9a0fe3f34476bf50ccbc5ece781a428015c0802da4649415e5050b24a075959f056e6623cbb707455082672b4ba474ad34613de54cbf39a6037c7d4cbeffdf1becf9379323143a76ff5125a8f8308390040610c83b78378a457f2c0e9d3f292306335c49ec2483f3aa292b6c9de7bef2da54c29252903ca035704ca035e7813275d14b181fa8e9186840b1c4a0a588e962c5e050c8919a8e0ca6d0b1363e404a888260518eede317efbdb1bedddfd4c17309dbfbd92b3b717f3cfeede524ae9b9bb37bfbb375540c7185b4e0c9c9399b9bb7fc77fcf9fd8cf9ff567b7f7a4ceb3bfdfa77bc0a8fef9b35fce76f77e8e66767fcf1c4386c41cfe1d13f3cc93ffffdfe77fff647729bfd9c6678eccccfc372ca594923912d1ddafc3013e9d99999999999d1feb48c4751b2d8d11b4ccfc1c638c3de407dcfc37e6f018638c31c618a34f6766b6cccc7c801b3233db389df88927adf418159bbd99ffbd2ba3a21b8025cd673223f09597c3136e019cb99dbffb7d22a0bfe7b4eeee20dc283f7603c890b0c4e24c64e7de5800cc8ec4dddf92a3d733d14b1de7398d7b6f8cda4a4e3ae95fc8469eb408008151d1b607316b2cda6ecfba1b74f792c6dc9c61dd533cc99163c4debdd2da31c6f648e733b7ad95c6f44c746ff76f77fff677e71865f74bff2954a9d733dd31b6ab67e6117becf2a4ddfaedd06da41b5d52768624c69237b33de75dec5264e7caccccee1fb20b9772e9eeee92fff9ba3428a3cb4f947be8ededdfdca60d0ca3e418e3c76cd9854b452b575e641ad3c7c07e7e9dfd74c678630e06bb6777f7cf39fbb1ff7e6cf67bde3c589e57029bbd924d3cbab6bb1b0c7ffeff83dfe5f993bf5fce4a3df72cebe98e7d7b9582d033ef6ce78326b0b9633cb3bdd19f49ae31478c915fdab637b37757464596ed2846c566e67e8f302c63b356d2e1452bd96aee1cc1f07b71777f6f7790bf9e89b65fe8b81bed1673c8124d81276d0eaf67dcdd63e20ba3c044bee5151782dcb73abc58c3e6e8dd68636e8c96b954745ac4a868a90f1abbbbbb3b65c2a8682911a3a2add27fe018b6dce409d00db76f88ba402fcc30b01f3db10ad4436bd058eda64046c0f8f962cb8f0cbef8c1a2e5c795e567caeb47091afc18e1c50f9319fcf4d0c54f0e5cfcd820839fd5163f3f493f47b4f00123063e5d64e103032c7c5c00031f28aef06961f17982e4a3022b7c7ea8c24709153e22b8e213c30b7c5670814f8e959e305c3d5e4cd19385143d57a2e8a152a5a7092a3d2c68414f11143d401cf5ec30a56704527a6678e2474f0b1fe5feffff574affffff69f7e838d153a4099e17133c5ab478aa5882270a2578a224c18304149e2290e009e2089e2116f008b1786878c2e382131e1e23785268b2a3c568678b22769088d899a26847ca0a769250c14e9321768460b2730221764a90829da020766020daf101e2c78e0ad71d05d7dddd9d76bbbbbbf7eb6cf941870b1f74aee841c7ca09748e4ca0b3c4908e131e7486d841c787253a3a28910131118c6de549910fda8d4f8a92c82c5914c99e7987d6774f3bc45d0ad990d4322c31e221078b2c75ca1b97901b1ea60ff6dc048b24ac4e6c8755cfc414aa0f36c40406608114034677039212d392a2194a5e5549d112a41830e810365f650898d9405a3f80e8c0e299d83a72b50f1d90ba276deeeea6cdcdcc4cb9b9bb6937ffacc244e7372e21374250782646a972c58710161365eb9c73ce3752b29a738a8d6bcb9c1c82981f06d73d88ccb97109b9c181e8fadbf9ff9355f3ab64997388eb8424134e28018fbbbbfb0f49fa2a61d4595d2460f25f59b0218c1b549ec4dd5d87249f22ae68fd1003060082d022d3f047944794b704a225f7e693d66c6a15cb52ff182602d795de6b39338b556e04df6afadf37468950aad4b3302713979251ba985c4a392dd0f41d73e1e96d23caad667a0ec8384d2fd33a4cf52427b97fc8ce9119f11cc0b811fcceb7de11ad846de0b28da8b6ee1cb86c23aa23733f4b238ef2a59d3ec168b5ba4dae669a96711e979ab3611a039ae905e66370a9c8a5340d460252cee052ef5d1ba3e9684f3032b894bf3c7310a82e89605fc7a51e7496d4df2dd0d66a32e8b4f26970a939a783516ed1510eced8b807f46d1963b6488486e41ac7650765d003aa334a5a4bbb4606c918be32c8c88b8cea396d90c90a9ba6428bcbec1f4090b87a26de9fdddd4dc5155e0dd2ba7109b9790108caff642a5ae0d597362e20ad1f405a783d121c97176ae4ff38e429d6f2a85842abecc2508ecb0babffe720423608c1101cc742d011a5ad07098a17cd67a8cb8086b468d80a492ad47a34c5a752165c3d2fd3c70f8e2b28c6fbe061999a3df6e0b8f80042721db9f86801084bc9c70a419e8f9e242f40740addddeda48a165a8c11575617bbd1882b42dffa028720dc3150c1a1d41de4c625e4a6882d47addb1808a296157250828215c4b0c2d117532075374f1fc2c1c111410fde5706d2fa012416e1c5961536f96d707070965031aab2659493c348f748949f9366eeee4f5cd761617ec9069e2a421cc9c0ca0f2ad6b233830e715a8d1f4b01043b50a820016354e4caf5150c4448715d67666617239da421264451450d19b42c0a66662757ac5c7aa3132a8a20c15673ce89a3d9c093719899818ab020bd1b9d40b102478b4c23654bf9ee367ced7f86968d733cb2711b26fd1ffef503a64a1b354508bc9d4d4b30ecc6265320592209a2ae4170b7917653b2559b2468e86a2b8539a7cd8f96cd8f247a6e88bacf5343b370bba73471dba75155400d40537a6042770469ddb884d0e033c5051f686c5c405a3f78a478b1525275d4c03a52a6ac84fe0033708e142168c00c10c447a4c800032d808d0b48eb870b46a41cf9a90308d2ba710949c21e9062a54226801b18e709265ab49920ad1b9790186af0c40d5b60a82d59a6a03282b46e5c425cd07245099718362e20ad1f2578099143cd82b46e5c426a90338832834fe979905c3891858eb70c720b279a802105ca34482d9cf0614e6c0699859113abf720425c4184a05aa041128a4ac6c3d4888802871abd44d6afad866118e5c1ddddf4bb7edffe84345bbf1cdb43738a6559a6fd6b55fb8c4b6531468f3172a9a6f46786b5eabc927eefbdc4ebee4aa510b51997faa3a694b6cf0fbbef5defcf8fdeef66191d05e936745e828e702190d04877b399d5b20a708d7479300f0e5f2e03c923494957829d343ba9019b15562e3fb5a2e5b2a5acd2104b9686648c391efb4a905563798c92e0565f82aa4b8b38421945976d95eec8a66bf54cb6e555df63230dd560dca9a664435bd3d94b3fa1cd7a1bb5476c0fcec6ae29e170c9c4ea19c6b943b6f4655996d4b56888e87b3102b4a5bcb08fb02ccbd8f4aa9d9465996bdbb6c5d4cd731c6d4b552925b5f4e31a0aeb90ac4537946e5657ba6d94ebba8ee330ae2ba594d2d22ae6606b7a99b6d0ef05277b69394c93bd98865a1a1ccd48e4521eb5252965116ae547026d911079f08b6bd57e75a538bb6b513ab9a1342b84eacd4b3f21b79445896891e66d19f04c2f465125863c7b85ede240218c02deb432c6aca4d9289459addbe8a75d13ab6b4c26d665cbea9ac86d72d10fbb74a89ba63abb2f40df0b4ecfb0ed5e36d0f462750da7e5dc57877419c596eb19da335967dac2336cbb52894b91d01d5851c09b482f38a62d433107dbd7148f6d0f5d66758b69a865db5d6950f6aa328a2891468189f0078047b361a51d79cb80173fcbde5d16a12b13918909a38a8a7874f5f33f5e6ad9bba339e76ff28bb5564ae927310c7b5bb9d4c7e87289b4f433b264bed5b22dcbe6ff094361043c695da64cd9d17f5995cc45a138621a1614a6f92ecaca7f6eb5ff331199884c4cb8868232db32e08526224dc32c36b3232cbed5b81409beba33465fddac0ab5e5c11e63acd66b0c819b00d683825d185f568567383bf2801776ac8ee59f691bf682e79c0ecf2db709615687e7dd5fd5e296206fd8b1b82bc18e459ff0421351b7b84863067840441dab6b30db99882e6360c76255c7e4576ffdeafcd246bf183da450db57e2752c46b14a5a0be876accbd63fe9cdb29321e90d9c1d774e77a71f9da104e83841f7c830de562918bda3654c4e13685182168831c618638c4ee3cd2c3f0497ad45d378dcfe28b1cc62567eadd4a7fdb714f4ff167e52ee2cdc757871f30d0ca7a556a3da6b383cb86c338e7c8a81f1fc32053d36d16443d122d34477767777f719a7d3783333736f3e9da3097c19f49d2ee8da683dd29a69a96d968cdfbf3c6fbd39495e98b55a727eaf851766adacc534320ad338d374273b09ad5f23cc2be5bfc0fb97524a29c18f7b30d285c71c6d9de5c5262a18a12d0992405bd7eb17a7389961851bc32896b2684bf51b9f147921a5647e4204927ae31322786ef6b911fc96c0b003d7ed6f46f1881df79fbe7cb9a3c7120745989189e0f57a6189491c94a41fc98bb12810a44b2691496412994422716b35e4c55814082f2fc6a24058ad56abd56a255d72e8158baa2bbe726c4e6bb55aad56abd50b0bc542b1502c9569f8badda86419f6be5ddfaebf50dbb8f558c2cd3d475481594cb3f50b77dc4a802b6d3873a50dbf189e2c49c9491903b43060ec1d775acd1463b451c6c4c41cf3ba789f336ada52c77d1ea3a6dd3e18464de752da6336fb421a77c70576d01ded0e0226ba5bb15b31861dc5d54cb413df5bee9b377b2bedc6a5b6edefb72bdbbaf51bf7f9fdaf5d4d8fb2cc9db8d23613f103ee9b82421888d1aec178b368358e52826fb6a22e75791bbe4c1be9376f9596b36e356cdb6036f0ade77723406863e8d7594ce54018fa31f72ef103ba39063ae8c51c725696b5372aff4db11ba37861bdd96f9369bc5b7291693a328d2c452ddbba767d49670330247237b03468582b5d1c80dfa9031bca5be3c6c986de95b1d46ae087b2321fbd373eca84295103e2ad616bd768413dc332540a1c0068240e3ed903d548f3cad01a321d7cffd282da818262bad78c2c3370ba2fba2c31011d58b6d1458c1fd4e0e2ca579725d2c8f01657e298ba57d7e3fbec0ba94907b686a54c68d1ecc065ccfb425f348912d1227a44593030316c783ac99ca40c80b561033bd9f8e495f9e40d003d25d9b00122750ec50bbd1bbcc97c9fd56e93f9fcd6f81aa9b1e019b641d72568b5ea5e2693f74bc3dc3f2d0768f575af6e0bcf74363c5dee5e6ca5bc3592b60c873d9d622e8cf79bccc7f7c6f77512a34a2b209c9ceea501d9901271955a719c93cce9747a9d4e27ee749239792083b2321f1375329fbc1b845a5029098eaf14e49f06c4c1a7adc0aff47dddab6798b335d36c78a24450bc1aab18828c654b8942ed64d96a325f03e295d9ac0c92116bc3d6b0dd96120ed3c858ae011ec093b1914bc9c87b92399db81a3540beb4881269140c69d86965521b58c98940c37ed5d2f8e28df9c2d29d0196206550a2121c86128515c7e50b4b495e94e8d5bd324ae9a4443698367050a9542a954aa552a9542a954aa552a9542a954aa552a9542a954aa552a9542a249ee22121216111e7643997aa3409bc40277512b7ac420524d684bf6d99a8dddd2dad92c6e4c538b8b2b18be3cab632d648a9856c312bbf1075a547e34a972bb1dbb65a594111e4b4a8ae71b15ea9ab79015d3811f8f268ef0b6fdc10556f09442eb3250175315ba9446f5b25187e573a184ad4fd0cc4ea44f558129336142411e91f0330e9ab27435bd546a55748ab015ff9ca57bec2e812a5204a41d02b243823c78f78a18d19390e838d6a63460e98f495ca89618f65dd29b718966573627662d9cc2666a75fff8434db1afdfff9454ae99c737eb2d6daf43b95e2a884adda0a26ab190004006317000010080886c4425192e4280c497b0714800c51843a665e32960623c2381c468114c4200cc3900c83300cc3500c520822c8901b00cbd44840ea3b67ccf526feb5ae22a6fa791c795a6949d57a0ff32e5005ea54c1858e3b85976b27be2c6c27fe99366793ec1dc1b7a88ca68253cdf43feaf99921e9509203b7344428ef42b9bc4b82446533b977a5bc8ec0b6a7aaede3b8ae4ce4ee894da0dd9d73ff3b441fa9ce1491c11168076c1c40e2d648e15432a083ef8e080c7d9c778e99ec46bbe844e201af85fb9c4fbca509fd0f2213721cf225cc1e8196504c4ce0c1020dd5d43a7d365ec7889891e8d0ed7f488c51b5c12eac0b34426a21178e5705a20f877a254782bea80fb9d035e315a4c3ab4d4514c7baf23e81bd36b0841317ebe9ab2f46b580e44a6cc30243b267c3b604d6308a09dbc40ba8bb0944baa317701c5e607b010dff3e3525fba1032002723c3510b5c78de76c9f0be9b4e6464f971d46a4522e0c023cbeb531bbf57cd9c98855ca85c3cc835e773a5a3f8aff3726a7f1a157e20007029c13080274982808708f08145a2efd25340c5cc11e5541feb26575ad294cd0aa8f4a83e53ac0778a7aa20a03cc4199ba1ed9a9c2a9ebb9e84d6678255035ac175350e0371e7e26cf762c813a824e806683cf22451269a4481824517e063a118ed4eb8165d2301be052c7017a1a247cde73c066d129e2122ba3b5dcea08a63e82126b1cb9e2540890f9a2e5a0387a38542a0ab907f510740b68c2e923497d5cd531b153e0cb850a702b910182a8c8c12550a2ef286d3ff6448c92f57be36a2bd88388b87036ba00cc29820be89669f4325ddfdc450acd0e12b33d62aaa9e313666aac4dfb9f89c913504b5dfed02407d4c7589d36f74902034c007048b265538d0ed21f4ca0e1cd59b40c79cdf55e8e65f51086b3a3a3272100a2a7ab9e7c90211cc8241a0bea711e4adbcf07879e857a79026ab296ecdad5804f2c28d5d32cea0fe9b12511f71574b4b87f8169b2f2046857f0c195cfad00e9c67bb76f132cb269426227f84bcfabcde755b0a10b382c12fd69d8099ec91b25b4b51444cfcdc47d97abe827c3a7aaf7d93a709b3dfcde327caea334e137fe092d3f65654426a6e50ac91e1bd86b7d34c6e98201a8e13a4de3c3e49b38eacbeda41c87f8ba5af100f164eb94160efa198d90bef9bc8dc7a9ef971a2f651bee1cbbdcabc4aefba537034657c51d8ac0604d750b15d8ced5f73a7a4c4d434bf718568c32268115ba7875f1d6dc6c4b130a89b9e374180277626feb0876236a0701d1449722e9b3cbfd813afe2a8f338b85685b4817c3662a26e85a148e377770f4ab45b80437ff81c05b9f090fe4d6c9694118ab8e7b2d06de388a3bdc4a53a6d3b257d83373a53e78d06e25354f5902ea516bf11426d31dafa412ef23d501403260f7899b371b5b994d533de90406c9ccf22cfb45aeb56417a5e448b0659434969815a0340a41539724157b52c9e9488911e16152ed209f9014a4e5b8019a339c925aca559746a31766a817cb92286ed523f92e6666eacb7641ce123e9ef21ec30169205c51b798bbbe7797539f82efbf11dabe5f611c985ce1c116665747508e4f4f51d7e7c82921f73e35ffb8ccc9bfbc8a7fd598b2024c7d62c210eed0549992dc52ce41bdce85b558c81b009dd322246589cf3d73b25ee6dabc214bcee7b8600ca9236ebe2a826671e713eeba8588c26fe30d5bdadbbda8c4e67b6fb050a33a1431d12a57eafe9b2ae205bbbb07a5ae0e9c83893c62e2da2b428b6344e036af3f4e99ec8618c023543cbd5f09b7eadc2808e8bbc3695970be87227ea4b66cbdcd20ee860632b3f9354f721df4bc99c6024dd4db13a5371070174db75d9fd002f47abaae33dafd28c2eec99ea3ca5e3750fe039ed7470b9145377f20d235f1d9cbb23e1edf72111089baa58d421dc8667c0e6112186605dfc289ee8855cfa94c4b1061a9fac6c9b9aca8bb81aa8c824710f189164b88015595030f58d1454bd0ee2ebc447e41b954adf73ff8bd24141063c041036ce774190163260d6826cfb8849fd89e44397058c865aace92dfbcb894281fa5ec2b605219f07a5ab1eadc96c62d7285e482f212778b22338d171a64166fe6e91cccb4d487a3714a343b422516dfd5fe15aae6f1b41d50b9d3f8e720b1bd3153bcc30579cca838738244bfc79999cc3ae14094dd592451347c44b3463e355afb28b4211ffa4bd1c9bccb912812eb2163b756d138c0e62620ce1c64afe0cb521345945a6762517b2b55934f9a81cc967c634aa827a540ca0b4e662075646103df1794f74c65a60e57307fbf43dcb47cd2b55ff51a89a6dacbf5aad8d784fd926d225425742a966659875414b47a9ab48e364248390d1dd628930b2fde623068c33b5ce294febf8d7a9871c47be478d0f9e0a380f39e240763897b0f5a5ba7fa8d2f28a674187b984caf09d59bca78cea039e8858d096f7e4d71a066131320d338f91dd6c0bac898d18208920d64326bb593088e4276762dab0c1a88e63b7644bd568d9d3277b61991c2f85086b2bd055e567e8b19e73e1d40a842de791ae5099ee09467692970e613966010850060da820102c669a1285b300dce4c118692640622eda39e5ca3e23342a28be2dab4e307f994c7c98e16047e9922284d49a02f9f456852a24bdf723fbb505414dcd83c6c6309370ab5a6df474680332bdf923dc11513bc278af92e841329dc0dbeb312fa779c6ca9c0ade44d117eb19feba7630412537a0dd1d41ba88fe17dd798c1b3628d45062a715c139a98c212a09900161928d75e834d85b2e5515bec4c0ed38dc2fe339624b2492d5a91f3098e47d9fd025a43f2bb60e3bba3fa848c5ef8f5b34bbaae65eb6d2427c3826edc348473255150fe71a1874e7b8795cdfc137ee248a858a42925367098b7560dce903d89994900a0df11846dace9c7879ce559854eb3df3483c1d047a2c5d57d2cbe1f7d7d14a1653694097e3181582420e64b763ea242a140403cab3e220442b1f896fd080462e2f9e02316171f5bc7458484867be1be70c1dfd4b7edf8e5374a38a091fa24082477d48d8c96a65c8f6b2dd333cc57c40967b6ea0816a88b4d603a6fb66612901b2e9d89543551579be3b220c081d81c321c2a299a0dcbb22919edb16a037ab6c7b2ff52873e8de5796176f720c08f15fc035dc22763e020d0c0fc8cbc4b127d5f113459e6221fc29d7f0ef0d4db1fee5496b42b4af71110eeda6bc0a947cd09ac6c67e77bda5b312248316515434b78cb5eb92427af0ca7f170b36e0cafa0ec607d1fbf00f96a8d6fdf5849b3f7a4886b8581456709410884cfc0841d5127c5643cbc9d1b99a2c16839cc2a4e873b355d752403f1f69a622c1b5a3c613be9eac070f87cf9a46c3e2b5f8ad3aa7fca9be73a6a8bcf908544643a10b020c525544ac8fd4d2825e410767ee40a5199d1f7d705e6e03608b0a5735f4ab5f840213656786d5db55da16431f09079c6f26b35e797b69bd27199b42ca670be7ad8d353d85232e4a0d8cbd8c397f13e486398c528f037d65b36247641ac73089af05c497441507102c05005fa51d40747845c166db11adfa28a9c44169e061fb450cb9e6fc586d956483952b4364d03ec8ae2316a83441c4ae30a08e9d72c54f2905416afddffbb6d1a5f760d75c9eaf065969c288f1a4b2c6daf5112eaaaa99943bd87f8db95ca7820b06e24c7ffb9f9e98fca0e03626603dc7c2a0efc5bd4da2567289f1293b811d04a1121ec7d507225383014bc9f1912fcacea152f0a5c2ccce34cebea0ab222a1aeeafa1920dac5dd627cbea4ae90499e1ce28665996bb511b0d5374d315552e341b2472dea481248ac23d45514fecf4c13d369067a82e5c140b13ed3eee10230fe565ef0c543fd8c85ba5f25c488656eb8107d2ca998ade8e1b05c327e7f04e909823815c99300b7ae2f8c41f90087a59bda461ee1d4b3028815676ded1e96ed9b4c6994f55a53d4932693c796f977a7a0714513693231e7cc5441642f21bf2e77191f450cc8e89e69edfff87934ca3342a875e62982ff8f5f782e42620afc492d5ff64a546de987eb49e23f5facdecb7dc42f47d3846c9b705513a87927c06a1a269434faa95cd64e59928b8112df8bd5803ddb95cdbf6841ccf93b0e42c7dba66502a41167487ddd7eea87072eb3cdb851c9b5a86fc8b477b1ab356a471963c22264c7d488a443353f464939b41bb08e93923ea899554f0db58e1cbb3b72c0dd8c22b08c4af5a4ac702bde2124959f3376a69e19c2597791ca230c6f89ed81b9190312cba99e2853d4256a1de1e89d06786665fd1e5e30863066ede6601a4a6eb99122a05ce611838ac15aed09527e4cc8ad4892f480f822e172852da7fad162ced6595aa45f479e4b161a39e33f7b59b9433b156fad10b1f12c2da2a3a8e73a436221a7552eb0ec1e0c948f128bd80e60b82817b672153d982a6b380a7c94465ccfd2ea5c1e37192896ce80fdb5d1b4f9c64ffcd2f24f87257495e934601e0f7e7d4ddd4aa993eafe7a822145658b651919cc96621d1b1400b21f15c31b688d8782bb1371940c18eba3867b7406a5d208c33010ab54e782cfc2bb9852c0241840e76231261a7a5a7072703858038d07e15651865e1457a037bc16105e980b649da0659b41180c2c3f778013371c546d20843f82dc5883d30d0ad8ef15e66f6bc7ffa66fc6610ac713414bf9344f0d285417487f172e28a76d9fcdd37e1363a7b08b24696ba6823c19ced270eb0eb0e7c15f4a160f0ad36d91092b8ce8e12887959eddf26aa49dc0a7b55d18dbf3f9505be55e550e30bc9a5683aeb2a2027c4150025c214f0b1e47d143cb09688276e6bbcb14336d5b4a5784d565652dceadf872dc875c315adebf303f0efd5fac6a0c042e8217d07547f9cc225860eb2b11e174f634068c824aa83674a0c031b803113c9cc2220665338a6c958ccc10e116495770605f2abceffb5d1e353e0bb5a34e795585628c6eb147c8a9a8e9e37a662f07c738c92a302ce9502400689eba15135cc2656a8eb7183bc1f378d3027ca3d96746039bafa847219304f4d50dfa95a52f60f37dab0a2431001777acd638ab3c174d579a577e2bd4e9e23f99d8e256adf05495c1979905cd2cabe17e984783188fc18024d8cf832fdbfbeff551aeb1cfde46cc5508f8b8eceaf09d30960844437714dc64e30784f86ec05e01354e82700dcaebaf89674a82eb21cb22215ff850ef5d874f16e3cab0edda14b3d9a9347aa154c01aadc97737b03c0d681463a79b8ca3fea115588c42e20e5294cd45f146c4fa7dd7ba22e95e7731c47833fa88a0b3e117931bcbca57de26c07a251a5808cf60c3578a429735c647a2899f2cf5ec46b8b1814161ef5d3d60b933b048fdecd2fa03acde666b24cc5473a033c48e555d07158af3b504ac1c920e066eff02a322a9a9e164429df09457198ea63a798b0cea27e0adf4ca2a2309860a4dce7229830f6947fdd52f418048882ddb2ebb43aadbd51ffe48501258820b9f70fb97c5e28eab3227c196613113c72371c61191a2773eb0eae3a4669819717598df89e910015cc7fb9afe66c4f87e54c4c11c290464622587437fd6803e9bbec237de18d9e7f446c986ea0257c71dbbe4597a3ded3f024f69a25b4f90dae71f2f0199e88dd3c45e607df12adc3825649d650cd84a0ce22b70840ac31e52c44c6118b1ae3687d3c2e78dce4a26c4a7c85932d750f91e5a18b985ea63685151813040151b21791e189590cc8efb9a2d9417114e65d679b9ea442b90510e9b0357eda882209ad5a3cc5426276bfad300d15f339da868a6a6fee0d038f470d4f6c9bb3765cb5a023b00784ed5a3e9969d9d95452957eff9088079aac7bf27b5a3f3bc8615565c45ece5bdb130f5f0c7412f1c6a18bb54973605f40caf3acddb6d834428fa5b2b67f0b19d7ada55cf07848c53b3e5e9f6f82c906cf66966c7cbf7a221ef9d4a23c85e98940dba8f5c925d30fe44143d7278c365a52065c7fdad428b8722c9aae4b0495cf5d8d8aa7e7f1f1aaef9b3908a88b5bc8b1582b543cf501c5e9575bf0e0cdea4abff0c12bba1fdd53c30e1bf2579171b75ad6569f2281dccd9b546c89c35de2f375f66a78c968d48b86a234ffae286e60e5d2393af0e8330b3f611a13ee7cac42ba4e973b23bdb35f0212687ea0ba81b6c7678048bc01a99f4e5e52d4e9516da5c029d715357b68750cd7b650d49761f1df5e9c6b3452c60ccb17f9afc20f51d7af2c095e5a7dc95c9988a25c69f9ecc1cff27f4a2d4830d0fdca6761a7f3e48c79b4f16248976da42e33abd9676c72d6f77e75c871b328aac7aa2c6ce0d2bfc5dd3f24aac34e536de84d9379478e5af914499b49d2401155aafefddf407c17dd801e54e0d602c897f92b805475df43829d65cb099558aed0ce04f94d53dd7d20b18a8cd68839c71932eb5fa78423f837cd03610d21185247b700cccc4e225cec4a25340d9577eb7c89b702c5f642fcf6a85c50736c2eab8213a4ddfef2070c2120472f574f77f3747709420e4cd550846c3eeba686da7d4ba0987689b36b9d8b2731f95ec2c99d8c69c5437409c6d055accbbe50e5ae66d2bb7c14676bd7a9c6435d50218119bce0d2300c26828ce755c30c17bf28afaeb0265e6cab64b97e7272721c6168275199a18ce4f77e15916c36d3d29997fdcfea547357557da4a1d7319cbfd0ae6e04c2e938ee00aba45d0b7b4959f0df5eb5c9dc31a596173a3880d3184474991bb6599adce276ab2f80e586ae50cf30a35e4fd20b462b1a5fc9a548ce661da814160db61d5a12b2b565ff2a30d609ae68998920a5d29cbf2065312613b577301923f3ab85e14a78121f03be8b4795f72b657e81724ec8bc392d5d0d5c64b4b53b33b1937531628a81664007276d638142e2a99c3d36546d3e78dca5fd7fc95530d437ccfbd10b07fbe7c42d4879be318221956c1c928e608c4aa30cee61a7165d003e5670cd16017f18e56c0812643e3e5113dea07f7ad37e71d68b2192ae341c2ab86b360677fa714193b003cb2e0f36d3e03d4c085575a86fb56ff902b74a1f2a1e81b1d90a39d77ecfebfb9890445785bc878c5cbe7df807257f59753121bc14241125822d5cb367e97927e882b25c9c9831e828b65a3950d913eab5c0c5eee05755daad152033f8d89658e4866274164382cbb7c320a4eb56541f941fe5f0d6c2fa361413357314667e596240c4de5cc119c6ff4cebc42dcfd7e80d0083e260fe0a1b580053250617b0ce3711af712da0b18942db9230dd6f73faeb14c3291937ad430c19a4de85808c38e273c7087712582a682bd04b4167f4a21b1692d7299a4e1d08463c05babfc8428dbcee072b80730f40f228846812a8e00ba3076dbc6abc5f8872886c89c421e8a0331e3d353c49d4bfbabcb10e18d765a1b694fee7a0164b11493f539855b6b3c6158b5060f12f6b21f27f422c576e5bfa109178540e9c51e26c7a0f21f0aeac9044fd4f8c01caeacb8637cc8f015f97452d38be998951706a8e0842a015ac794da4c86607c3dc22e8180485760902c4b272cf1a918210e2f07e1a97d960854695960f118b3f97f9d8a76540e7cf70f557672fab2324a732f590026ba9b48009ce7e928a00a88e1dedda283645a5cb67c31cf3391c7ead2342526b9562e333f2b4cc06e59e76742cf0fa8d9a2fb62b058393ca0ae49798efbc585a874f851718fe263656035bf60768e63f4659735417dd69d39092550ab6b22dcca33f54390ef749332307b5bfeda92f06ed1e73403bf4f0ea023fa6a0058efe5f6c055d0a0a985999f7181a2b064242421f02f258c9395f2e55c14700e88f87f727b8cc9149c4ad5f8928aec658d21a26323196cdac102d8f66012c56f5b02bf86e43f81c731e92a8ef05a1f55edabe88654f8b488ef9545a9cbf6a0ad38dc47404dfb0544b2ba174e90e36d63d6474f4a0473b0681c2c3de3c9873c4054524d5fc05ca42ce108f1da8181b2743391c2c0764f03702edbef6a37b7121fa723ab794787c0f46def5c946599ebb213efabf4306debd59173e0e3a8657a18200ae9913672cb49342a3b1366fb44dfbd455659cb1546ebdae2d70eca5aacc142777bdb9d046f28b05ce420db33b1baf85c6333814bcba87c62eb313d6f54acc1a5c2510d42e2e530161d0fc49d7ca2250b1f8a8ab0f1895ae62086b14f048ce324c8482fc23f9bf02e167a4e4de53075f22d5ceda193a510635e6bd06426d82987addf4a2947748673c9e2d0fcd105427c7a79c97f78258093ab3fc3646958d9b62f7192bc4dc9dccc7e3f75943255d32d722e885b9475c099563a31068799e0b760d5472ecfe5821b80521a7ed0f3527e734ae7e5fa07b3b84ab49e2e2e3cc5489a12e705e073ee65631c9fd15288f4cbdb1d26b63563f94e135a0d969c04b8604180534c02b57ac2c8235768a97d922993961944c734d1acf0f1f5f9b451643250f21d5b76165c3fd04979e438225b188df65e0268213adc6411c6075574ad389239dc89a021dd05847f959951661cd4ead84b50e4f0ab1e4b63d1520c148722f05cf09838e25e0289db77dc1855f7925e16914c5e03495d7b7221afd811b0fd41a9fb1f41eb6497e12538c50c6d70a60f94eee0b9005340c651973e4a921cb3b4096b3007e609a8cfd0f2da1b07110586074a3ad14e01da9c49e07d25d1533b007d017e82ce14201cd53571273e77253c454720f76d66164e7cc34ceb682b6b9bdfba92546a33603fc5e237dbbcead7959240a3b6a80d5a83b296335a258e96ecee7c5edf142f6191084569d98fc76f5e66cf0dea8192c5c3e760a0f30527ac4093b978767b81f39bfe1ee3e6d8f1ddcfad1c20ceb92a25f45b3a245e86a4632834b6da2ebb44ed3ebfc1ced472d8e2d535a53a441fe2b700fb33724e82fff72e34db7baf47441c797bd72905c96d0f9eea43419043139b5d75693308fbd7a17584425bf1676c2adf5e80e69a4fadf13e73cedaed8072931cd91f51090a8e807a8938257933d1971a9b9ac67b802074305dae9b31997ddeb8a925077e905f751e5c5d3b251a44029ce3808317da889e4410d093df440703a15237eea6ae120de29dd2814c51466b155e4657cb0da13dee15dbfe22b87a998f482ec8dcd71f791f14346aaa8ce662c177873742bc7fa821ffbbb7c7df08d0765fd2fbc06058af8133e24d796c288669f0a4a06e7e50e21e99d1587efff3abede1e80771f1d2306b5168e8b6fa668c8a3b78c4d0c45f376466d4755c342e6e2b9b086ae5452897d4e68d18069a1165c15bd66a00ba688571a863681ee8532fe6272b06f227b8010f3107f051eb838a4260f9e0c523de00fe223391d8161a02c085aa2d9078b9df12a8b5395037fc183bc52f8683d95d3640973ba861c45d21c4a2662b47919a9d4238ee0f8ceda90a380e6327bf7d1d8b96764f6960a3fec8a3dae590c707268b22311c1e6eed25855e136d932d9ac71bcf2b8b76905d432234f3e1aecf6197b13dc219a87abf13b2c191323fa491a7c1f7ed4048e81883e3a06390679e198f587a4f177c22c9e7a1a8c6e8e2c5393944d7fbc4feb02ed2749ee790b90a30dffa8c123595dc3b46987c5b55b71e2d8bd7368b4643914b88c280745774195a25e8051f96445439f5abdbd4061f8ff0b1cc6264d412434c78c327d06f6239f51be99bb02170d1a667cb83ddaa568bc5aead9f1e119ba0d029524ade854b0b1f689468f9773482a25daa8fc52d80a9aaaff4ff2311bc9b3417fff8bcdc0809af788bbe0709c0d1bc3f5cc2ab39a01357003a02e23d11458f391c9bb7d349634a3a169516d2ede4088a3e2d8eb2a45e8282fd69af264a51ab37ac4a6b0bac8d077a77ba1cfcae226eedf2b77dd92e513ab2f84785130f286bfc8bb4b36dc12cdc0241343dd111fe08ea53fee9c3cf669c3362a15c6fb5e12ffa5f92944f223c128599c0e28ab9397407d03987044ede18a10153e612817722161fec0a25abb2d22314645c549073b4018bed2af56d640caeddc0641594c6c7f97a107ea24fed1e6ec9ef05d28626ad2202315aced637f73945b266628eac3b3afe78ed41b7e8e3ea03d1b770382e0a8d31d53402efc59f1b5c36b5058b280c2299d48434a0c36e600e9b1a9c280006eb3bf9e57063311c2951752db122b13e83f3f1bef029b777465f3929013d63541ef34722e456722a0f19d1ccc594811ef2c385e7701001cf55fc725c1ba93c6d6a668977202cf885f6efa58511e884db7ddfec21aa0913aacd12465aee1a511377f134edebd4c536a131172db1126c7afb1f71fb768de5f69359cda4b3e78560eb0dadf228fd4ca6a2b7a475f3094608312b36a9cfb01e514da33985fa5c615a8ea6753c6a6a3923b95e2330d092833b4d5c55422e802b3f7414be0b0bb2c535ba61c84f0737764b7997965ff058a3a9130954e954dd7bf402e8068131c55168b69c2148873208a48f9f049c449ea02199e00545bcf2f21a56d11bcad057624f5821acf4a2b62a8ab6b1f36c9ee3a2c9cb84aca394cba5fbf4e4e73ebda794b165ac49682814e5927803962ed9ccb217e8c57895b19b4924a97c2eb3425c908b408725f48f438289ebbc7dec673f7b606821845193372837f17ba24f21a71082912e19d13687b25b35f136daf7f5a697f072079492eb7bde92a82adc92aa686e0b4bb050c287cb4014681b4a4cbf206acd20230fda8fb36804f2ef51d864fad85c3d7d9f79dba47e781d75de2fcddb850803269381ebb386d514788fc3d3fb9e769caaf7abc2f5e8778e9f67bcd5917a9c4cb3eef6cd983827b8c7f1a1049b5292baf37ba294a17aa0abeced17c85088c0dc58512fba0bdfe6c3ad376fd9f8bc857011ee514239a33c6a4333510c6080b4528708e3885c0070507625822b041da6c9f16114eb49b6c26900ec11609de7e0bed440fd619cd7c7c85ee36db30472a5c1db192e1056ca30e1208adfcfce30ef8fe4b85f95b4309f38a58787324c7a20c2f0e490bc408211be77cb61e14e28e8d06ec8419b47828b81155bb21681777b7fa6f5876c234d71e525d07641767139cbac9ec6dfb884d7ae1d51d973987912dcdb65c2bd85e08c7dbb9c4a277ed71d80c142c294b659017c660cebd02556dcfebd7b61aabb1267c7e16cbe6ea641d44f1e4cb3e643d9b61f8f6f9c0c943066638190937effba75159127204ffc7e2d392eacc424160545ff9a20a512340e665175c00be6a4cf4cc47220efd7833b6af150608a2239633a424aa513478b5ba4fd790c1fb34e41c1e3923ae934f2db71893857e5a14918749e2589400e628514666f6a1797bca48f34d380f35294b4e7f56230d5b05452fe2b42d087897f0b27896892f4418db3ddefb0649d1e3dcde7fe019f04f51114ef6c2814b0d757d419e1c62d7d5becc48ed63192ba71573ad8ef110b3a379193a26e56cf438455564d8614eddd3e34007e31cc66881f5d2ff4b51fbfb181f03509712a87b8d9d90ec7b31a0de5ccba946050a45d0b660b6ebaa95c17b36689125c85131d85742aadaa6c69200417ff029b9194d27e9d7d3bc08671073b3896618433c375f180d2adc0d2c01bb03f18106aa0d0e74cb6cae7dfae1ef79167ef7f499bee538e09b5a5ce0788da949d33004662b4fae6b5ff74414a83a5cf88a1baa18520c32c1045a605aba0f1098cb9652956dd1e77a0008570c040947da1a30754f173f50380c1d9871371aae22fa935f97798580c45bf1d96dce12b2f90ee1c3e964c24c72a9efb5e0a6d01d2b54483d389dd8fce9a57d9f7e096a1a35051b68d3a8e1c26a94b1eea8cf4f3502085d2e8f4bde030b3bcd83894e10535fe35fea74548949a0eb64a66b3a953a4b03d50c4981df6e76fe89394ccba852b651fbadfb38e64efab6e9df2e5dd04cc1294199d5edcbb32314b6c6d81b3a8fcfc4bb9137fee4c92e5039ef4e7ca1fb3b3355a7ab0480d37ca7a4492b3c312a17d81d76d3aa02a886724c2ecdbd9c440acbc667849fcce88106cdfc9f1c39b63ba08ee969ff21d7efc4ff0047b3cb0ec00a733ab7d5fa3b8bbc0e87f83b8a0aeb945a07743dd11c63ab85487d7cd37fdef035536895423293421087fbd11bdedb3e8c15edf5825afe388bbe1c0444440c0b52e486b330921ea155afce4da8069263e7cecca2c06e7ea00cb72d368c4e42c1b7a910c5a24fe8e08c252bdfcd14870f1e987c3d7ed89c06044a17b3f9eca40f326b2c0310323b6cf1a1e3e348c3fd0b6950486dff34dd18d2ff5bc6c2786130f60089ec6e85060058606a910527bd364e0e86867a40a8c45bb5ec830e26aa98ec4ecbcb678f5c11c182a208698fa1103c4b73c6f311b265ae4c06b34055cf73198381e30e420274b0ac8f8e72669f08c901d99735180ad9861708749926217c8af8f100ab4ed1f3d2039e2d572898cd99936f1aa8339cc27c07a9386a1a1c384f849ca321689088903cf951330a2b38d44f8c0900339af2620c2afb861030d2f251209b3e1b4912b0f7c164c401caa5e65d8682baea49580972f79a02162b5528984db186d1115073e4a27c07852cd4e9bb2057a5faa236b77a62da3fa90c7d904c450c72c3236890c868410aa91d1f310af3a980391021c7af752ce4e8b0273889e024ec61b2ac74e8b02380c9402043206302d3ca357e3ed6c14f0b198f4440a50d10d0f6a5c2e2bfbea7d962a7e93dabd42fea8a4f014787031d0973131216ba2fd0465ae28234085843ab3e609fe71b9f0d42dac525b965f41d53f00ed108bef7ec9dec55768244fb64b9fd2dd7fc9d2f4f1fb27da811887f9c0d3c7bbbc16e70780c94201ea52533393a72b2f7a85c524760ac363f79f0baf17db5b05222bbaaf4bcd1d6fca0cb6cb4ee48131775849f030ac7c8a5788ab923904a96763897d1beaefd83025ab03fbdbed921b7aae4f97cc026b52aec572581c551966f344ce2e6ea9786c9ae0a22e29c1865c0689d8dd55b86acb515d10587a90db622ae6517affe3497c3a189e5750ecb505a664257a68e92439cf3440a7e125b219ac8246ffc6c4ccb7dfef72f131ca380365f77d7124a5d29ed90ce9306193462ccc1b7f3f2d6b91d2a7c85858df55284a94b602b59a25b7b6d5e7e02b4fc0004680e39080e65403d86e63ba6569347bd378996c215f24a61aca3e06caff837449e9b033665c78086b723935d7539968e30f58c2c25245f82469856398e27efaf670a45d42c957868248bbdf909796fe1aff6a7bb4a3c5835b7f49948ed6ab763e144822c44b7338334fa5d7748364b1d090b138ecae44985fe12f3bf898473e02f24e097017e8deee1b6b66e6692c106e2088b5eb1af2870423bcd889e19f18c26964209194f8d99e7974c8288a50250e1b5b9e1d7285dfa9f7984c4fabaae110f6f45c529a552ee476151325416a9c1c0cc26f373376e4f53f487b16280f1516988547e51c81dd0296c0d1509f851294457f29c0e93fa898d28ff60e6aa3f22fcf7ea3393bf900621b29be4abe36343579d5fd65d629dd68a43e70dc5c7c74558de2e9eb7f4d9f0204522d6d61791cd40264f08cfec4fa1a4f424bd33ad494c1e7006087ba8d845da3872ea5282c6017f2237e00d702c3ae8e2079a82ce5a1e82afe55536c9a40db2dd371fe1537a76413a97d4cce0f25814760bb51c47da2055c618e82aa2878973d6152ab7dfe743ce975e2c019edca40da1fe018fed73772aab498884b7a0f3d38727cff67a50070f69e129a3298597761cc0632b1c33348b5e3e9b905d07f6bf450a4c54248409a316b8e42ad4e0d3e339022f01a55deb435d4b6f6e336e93d7295b70343079e5d98c92b547ce0bb13cf4de5fe2b8451fc194bd812f23d618424ec47b2bc4be0c4c082c9691fde0634e4e4559aef3c4f514379150080a3d015ca77c0abc5df554d35700909b418ba89a6ffbac5443e7bdf225aa7c50012450a8755fe7e54c8ce5fab2e1cf42354119cde74731e0c70bcf2ae5a0ef149793d12d5a9a1022d37084eca494c4f20cb6448b9ceba55c44253c1f0ba8bfdcf87dc0c620c3295f732be021e0288dbd14b18d30d4f7f90830c84acda5c4ca53d7f6a4417b2ec4b5272216c5aa89a00be185a52c55ae3b47ea3355103e59eba634250af830a6c482bd3a94ee23a5e0c88ae7a183a9015303e7894283f81e2c4e13306e8c3e2b14bd5e1afc284bb398084c8e1a338798c762cd64906e1a01cbb8f8aff4a32d778c2062480c1f5684b589abd91de440a50b83e7652350c23fbf081b5c76ef44638bc7e018445a632b461fb1789717ffc443dcf4dcc2148844fecf79b94e7278bef28d956890442dfd820486fe2444bdb4732ec1624d9baa892d91831afb0f8b37904f0082a9646aa7bf7f107d568ce780c185adbd292d912bc11dbb1b881f8012b70f9e00bcbe55449f2e7dc07044beea91ade0bbcb073e0437dec87c0d8cdab0d3ce62738aa4e0712ba135ccf344f7ddb4ff5e8e17aa58e1bf3bed55fecb426176ab651de71b8adba66994a78ef0cb59d7bcbe85df621a6028c76c7a3e248d04d1db61af895f20fce2aa8fffcfd7f5450ef9ce774c59fe25cfccbc3248108c5af37832e518030a0f56549caac476a2bddb1db2c40ef2831eec30eea1cb2497cd4db4ecb968e3ac7b630c024e148ee0deaa6c5b99c976bea603e205bb43700cecb5153d822bfbcfb7fb7456d507e84a00c3f1daa9336802e8361aff153ec2b095dbf411196b14dd08649c445138539503e01c8a00a32dca64a5620d7b71a4f79a2a2780f229a689d2096257f48901c980c820cc18f68a0e653a592dc202f251d304c5a7e4254c88d263324f8efad4a2cb6398c8f50c103aa837cdfaa81a6959dc86dd00b34030bade200182edeec868a2b45c6c3543562fbeb6a3ea1e6c455884089227e65fc069e904eb95b2106e3c209e5643a23288e71e2ee9aa496d3c3074cde1cee6919a82235478bd584d950e1048538d2b0eee66d828b7860a6d01e69075ca632bef74f06b4d4df69815079ffed58a2354e5303b73ac1e140499f21a274c80affa9dcd3204e1c829d8646beb22c530f738a879144b5a66cac78c818ece27365eea3737f4fe0d5fc77c2ea3db0a97cec1b696a5ddcad1623260ca830fd37bc7f1b317533369011e06f208e6211f82ab0d78c95eeea150884d8bf7ed003529e798fac3d0eddf8178e25f386b21dd6d3ea667d550b421ee98f5d43a0c14022075b0a931cd60dc8a6c5c1ea021b867544400ba7b663a4a07291f7bfe6bd9e964cb317a9d36b89c945d739cf3b3d79069bada54e0f1d565d91d0dfdc09a5cc22a321791653f3bc345e6edb08006a7bf3f2d89b6fe9eb03b9876a151d7885335eacd3b6b4add2042191a0279c0e36398b9406075bcf28d0bd439e4ec5b4f78d36aed5dc87627221e4bbbbedd48e5236e452e6a9bea423bd2af28b38d60701020dae3c1d9a89c06b8ab9f3ada6367049e249eac4dc751160337503d6b909b56f75830dd21791355d0321aa2ff93d54367068cb763843ebfaaa939517099744b92b51de83360093561664c563ea622abe89472dde38a522f8d44d62ac752e1d69c597d9bda96f22271bb02d2201875b6d867b1262631345a2b07f147fb7f42e460f018d41e510241d264eb1bcd6987e91428b2c5738931b52fdf25869edb82ceee74579d7d111b4e7cb567d69ae870ddd48b75a502f9db954f845cc2f20f1ce84168f69e182c5300ab5efa5850bf08d6f403f3829860a3cc0065eb5d1b4dc73459bc458b095e8057aeaa5658dc0a07f4cf17a6382abedc4488975dfd6600922a5a2242453c1ad8a546df65d54d34b9f2693cfd8fe985d93ad6e6130b388d92fa705b1cda6ce8950921df2744198b68c3dac53197e42bde558c3daf3d984262d66c0e799d85b0afa07bfda008bc6956856f530ce10b490b695f18f39e9061127a91df13d05e4c24e8f809d6bdc62ea2852749f335dc2883a1eea9ea5afadbebde92fde8153587d97311456b37040049821632cbe13cc86a86532ee036a987d0c27d969b706fc9ed8e9ba0a711646881bb39d4be8149f67d9e13cea7b2b37c5d2965345b500b22a9ebb3feb042160fa8a98f919e1e9ca25d8643c011727f3409f99079242e0ea77604ffb27d46e9124459bd5ed48bbffe692c2db24a536971610ba3f09c57ef1340233b12a9fafc907d09247aa7bec7e4a4efaa71a60fad0fd50d18f16337e219f427d61da2cc8601bc2b0e32e14080500deec487158dfb26c5c131559f44c3286c1a570fcb878b02180a952cb14061d78f24ba5686aa76e85eee4aa366004dd6b895829135da28ce936ff50299eeb4d190035668244646bd633e5a955e02e9ad4b9eb02ab7351641904ada383a14b6531cabb76fe5e9a394db70b7c3770aa261b82c02e868fdca0c9d4ae091c699091e8223e42bb1ef4d4d0a943e75ddea57b2f9ffe4b2781dec431b1476520b0fbfd0966b1faa6eb8b22ddf6be5842862e97a973e7201ba7a35f14140ff731278e1641128afb8c316bbf348a3e1df3ad8dec97eac678a0467dedb2da90a6666d96b657b4f3a2de65eccd4e93b322ce41e15dbe656605872cbbbd4724e6157256a6d0ced872d65c0ab15cec6203f06984b9e7c4f270285175212aff3a673cec4023576807af63d7f36e96263213c4470240bfbcd2cd7aa69a5acdee5e9c7f5a788824a3bcab6d92fe73fe81cdfb054afb4bf811f8d81aa9702d0e3b9604cccab028c8427d6981eca2b6ce9a22cca029db7501fc43b36da15e1ff4b4abd51dc4304d39bb0363db9b562fa532f3d2748a418b0296bb55511d77a13fc33ed229c112511aa9feb3ed39a473d3611a9f906fe0f08d6a4f1175e625b89ae02c3a96991acd35e97c852a102e783308a2f4e2e68ebc914d9666ab0cfec9a301f7f56c61a612c0380b1a30dab7aa51f7eaa02b7fa5183dbdae091d87ba6e9ab36383fb50d17460a5a4fedef963fca4c805b85e514a358cc8a84b3768ac03810216d3cc1a60867924fe2fb930b1fde2f47a54e14315b8a0cc119f740aa8c968a59a759bbb15b327f4781e0b89338628352bba6973768b7ceafac6d5e5c25a176dd66ef14fbbbef877b92dee4293d72dfa63f707be2e97655d74b275897fddfdcdb1cb6565174d5617719fba3ff275bb2ceda2cbda25e6fbae6fceddae6b5db432bb447cebf2c1addb7d59375dee2eb10fbb3ef0ec725deaa69fd525e25bd707d72e6e4bbbe9f3778b7ddcf5c1d7e5cad72aefaa3e04d927120ead4776aa0161eebd02156125feaa901955e1b1b0eb9667b7eb5217bdac2e11dfba7c70ed765fda4d97bf4bece3ae0f7c5dae17bb69e675897cd6f5c5ad8bdbea6efa8cdd225f767d7075b9b3d44533af5bf4d3ae2fae5d6eebbbd065ee16fdd6fd89b3cbc55a178d6c5d21aeefe7cb5c6a5b07584e5761d4525c0d941ad61d829c672331c2088b10aa2d5d73ad8b266b97d8a75dbef877bb2feea6c9eb12f5b1eb03be2ed765ddf4d99358311001fc11044a25e39d5520dc15a70305a8c4833d76665b3cf9ce0ccbf0df0154e3c86efb72cff91b61a358d7ee8bdeb3f11015f7cd7a1435640044d33aa70511318077ef3667035f5df8bbf57b3977532cdf1ae465db7bb73529a5942925192f0ac7094b092b2ad7dfae4aaccb6abae375e536fde3333e6e337aff5944576e139ff65c87b36816d51dcbea1f1efa73fd44643b989587d7f2ed6eeb79cd8b3be2fc44046db81496648f2075d6672cc471b2f59484dc4623ea7a4a42dd57190c16bbdfd6735d23bafe7207176a303ee23f00e2c49740db0089199aa08432703ce6209432aa70a10604af56b77fdc267b27f5cfe4719bac9b55e08c3f96442531612914936716398ffd66d1f513519c32c2bac5f4f8118a4464ca4db458e222e0fa12399ec493d415c820c8205415906013744a9537e13b958338bee34db0c4e66e666e666666eeee5ea5803d8a185cf71af8573b3a8360e3a4327e1ec38e58c5fc7fb87415409b94cff8d716582960ea06d71f4bb98d43516140c5f5af163273abc5296081bc3ce5bb76fb3feeb9de7d56067ef9c68c777c1c68fee73b3ccdd30d6d7494b2fd423344b99fcc853025832033e8a552d083b9fece6258df699513100714d086f9739eebbfe3334f40953f013d7fc277bcca7507e2333f9ad8cf772651abe2bb94524299bec339e0ddc9b4c03b6ee3fef2cd3bd177a00df71db7f11d38e336bd036776e01629b831aa2bd66fb0ef10918264e3c043a796128bf1f4922342e6c445eadb6b27687313e333cc91faf8b14215eae367d0667eece8631ae52dac86c4c969852b52afcbdf94ba0d6be1f8625f086670f4f47404309c43afb4d202f3276ec6bbc46b821b1bda289dbe8404431ba5975aceca633cb51c142a4e996fa792c6a4e4b3707d53f35b94b0e1f5a7e73f7510437d9528d94376a7aa594d872f93d93115961f8b278ec9cbcb9747cd6f791f6ec33b1e0168c32a68d2332af8b8490bc74a809c4593d177eafb39a86d26f6156b7249a49f5c8a1b420a7979628c25d493b41c9607528acf72eabef8a627693be2afac7c3c3d0b27af0b67a45e96d3974e7ffa52cbe9e16d7952cba99e9ea4f538edf0c61883a3cdfebcb055a68ebb5207db8b6ab82d74fb7eccf3f10f7690df10421999dbde9069bb021623136d00e6b881f033002f007328c0e153004e00a2fe8358a0029c0214d2e2c2cf81396a2e54d987df03dc010754951ebe0dfc0e700da0837528c0a521c9cc80aa110ae6f058877ec872218d35410ba409cb7fc3397c4c05f8806280d4c2e5d2728af5e57ed0e5524a77293dd6700e1ff577e01c42fc90af43c7ac94c5b4624b53569af371f6d3708e0a5c00dae8f721c7b8dd2f040c83caed9f51b8890e40af1f739d81bd1f62b800c4c10168a3bfbf029c63086e0292d163802d20f24e242a6bf58170ec98e5c2d68953e9a1fe6348881ff28aa11ba7bb37618a7617151850da415c4304c942c98d3fe7d018735241d22229fbf83124c40f1ac404d6cc228a121fa4212a57b16b109419dc48259021b629299e55bf949ca6ac3e7e0c09f143d20068685e018631dcdddb27eb4aad68c267be9e645de7102b584e08bd823259a58fa21f4342fca856acc089398168118104710d11640a245338318592296630c592299a4cf1648a23f46b0bdbd587582103d7ec1986526d1faf1f4342fc806209144da07802c511a0800285165044b97161abdc0a265e5029dd21c318340ee986f2aa72fbf4dd43dd4650e144cf40257506bda49bf4933e42472aa0f44cfc3a6a428b9e2f3050b0b9a0152d40e2c2a870dd38c4891790219e8cd985b40094305cde140841928927414b78b2040f430c89026c356514168ab9bbbbbbbb4b77777777e9b38a2f906815696019f970fd1812e24755810f500e7aa0c415344802111c4918949084ca1adaf9a03305574a0964484a39e74422a75c09042eae8c3423af2606d465c4ab88fc992da5944b7091435c46bc8a4820741187442bb0c012e52b886b088a02a9c49552c669c5179bbb8c78151962851818a5439690c47d487b73fe4d0f892f9a9767b18428b258c20e8c1a620b9af8e040052d3842174e8080e327a862085518e1ba471ae8b8b06167c1ba825504aef202e236700c3920793324ea2a9e68b10520630042ad0208b64ababa1b080a0c10d4c5922a88d0051f424ce10b2a852b90da7d3610fa049264d78d1380e8a4130a1559bb9b26bce8043204cb8550c030c3a8073417424903cfb517423143148d06cc9b768c28c89a20ae21462c214c618113252a08e309511237884ee3630c213a1262560d60e1821e2768d862e809be6201cd1855d039e48a82094e7c68b0821fc0a0c78a32b00823893b238dcbc718c2dd2ec4628c1c4cc12c5072fbbf5b70fb6bda05b7ffa65f70fb7d00e957913b7b911928e3e0c80c9a68b2040963a842901170fc6fb4aad7308625d75f01ad1ac12a6214410d5570ad416808c7d500a5480c59e4846bba104a1111e409302cb400441d8b2c70e19a2ec4420b38e81590e100222ba224f9211ac313709a8c1594536c4082b88608d2e3722ec1dae40d5e72ce2594e8e8e3f56348881f3e2f9f994da74b4a1f68d07ca8474e31cdc6c18f9443acb0d1170e939713360b3c435c572411da5e3838683531b2828a2ad02145c2e002a9514fa452a9fe82fd6ed46436407ca6ff8bdd379f56b1da6b3fa24b6a4058cb46af71bdd34eb4d7636a1ce9330e93379ebaf0f5ddb8373ad2b4ea03a9cb7c6ff8b7c680239dc2912ffb0bb61f369195b0673e7bc36d603333ffe49decae6eefdcee55b61a52448aedee6e9fb2d200d371a33de8fedddded5d8d4c7bb089857009ac744376976af74099f4efd0aa996f07d77844ee6e68eea33947ed0c54bdb2109c8bdfde4fba3f7242686f593dfa37e7ddcd400c1423576f841ddce1630f9fbd59f740655a05bdf63846bff186200ad16617db93dd5743239d440432ee27bbfafc318e8e50242ead33d228eb4f1af79fd2a79c52be3bcd8e8c52bad3ec5c1aa07bd391a359b1d3ecb427e7119a9d38e3bb8c1e57f30b1811deba9234e409dd961fb3e62295336b601db8f8ce4dc724374306ebd071660dee84d796cd0960d55e1fe98fdc4c517bcd4101acda8b3de8959c0056df111d7afbd93ffe1cc2a0cc97b1e01476970f6ff94c6d4f01d6017006fde2ce17bfb8f3555665350e3d83fd645850467b407b17034b5d908ae5f756c66a0f03ebf6e9d3e79c937e1106be904b3918d8ed90df7fe47e3717da803d7ab8fd3d48f91d991c97719dfb9048a257d773fcbb1f96713fd80f5f4877303d7ab8f07bb8fdb083e9e1198410426ef89325185cab7777777777e4d15f044f195b5ed91991d707a318638c233ae26ca4f2e3a47fd391f41c47a4915709e39c51caf871877b195996452965b41fdb2abd4ba5da6b293b6acb60f98ee4631f9fc4fde490cc5fe27166e784074bfa2ab51c520fd9c50847fe52fba19e5af581eccaa75fb3ecbe8c517062a46fac4febcbe73ae3c538889a051b637711ba7719151d3a74e8c8b49aa305ead039ae24c0953ca472b8b2e64a01c4e070e53773e50df7ffca4ee5f25fcc95a6d395f6e54bcb7f30b2fb88d0716dfdc2d6ff6a96e21c1ecdcbd08889b93032b74b42e4c7f746df335eb8140704dcc15ebf0b9700e8f5ab686abab16ff937e47d41e2a99693fa1bf7a5fb247f3c724bcf2edd27bfe5a9b6437e8c7f4342eeadf42f5776e0c614b4215f6a39a92027ee74228285b3768889cbb2222b5cad46582e424f06911f0d4528b81fcdc50084928629173e64c178c0db0f655c603ffbfed65a0083321506f6fb1b3f5666e6626446a2553c6af0c51119619db342d27fd988f40eeb97b8df20ec8868f0b9eb7460c744764cc84f32a7943f23fd24727e12f9d827a19df599f8f593601d7dd228563ae59c4168415720fa012e012c00e08cbf0d1eae7fd4715dc696ad35806f5cc1fe932b9b86c96d8b4c465fe2986c317644b4283b9dd831995d7d8cf4fccef16bda832ee91094aac5e528975f07ac1506fc3eccb8518094ef36b07e166a724aff9a8702ab3c36be8d103e7c4cb24fe8cdb242a9c9c724365d3ed57264d47e7bbe52ab91f23d1ff8ca6e65a52372e4ea60ff6d4fd259595959792247ee4a47a4249fa4fdf653beb4d696e4363f09a5733efd24937e92f9d927a99df519f9a34f9275295969373b1d5776b125268441996e089f462584df6b2fe290af43ff3be2c2ee1bcd973f47a3d168be8c818d3f391dbe9d11bf4124038e5cee20a4f960a743ffe337e237c8e8257dee8b1ffc11773a37fd59cfc0af1e84d067200c8a53b0a6ce3f1a8d1ede1117a43e962375ea7f476eed6aadcf1c84f6508339d816d80fbe4cdf5fa46d4edf7f44ab58beffc66d5cbedf0706f880386a7ca36ee94bff6e83ea3a6b511775bf87d7f4ade530393de62c23acc8c5863400deda1de1e3623a2fff8dfe83413ad87f472ef618863d912317eb88c0bcfc17eb577fc40f6f0d1a1c93968fa9b52302539fbb914bc704ea5d50a87741a5dea5fa0c74f92429f8a84f92fa199fc4a5b33e03bfe593cce85cfea5fbf6e093ba1b1894ba2e8f4a7528eec4c9f40c3fcbf6503375df1e1339728df80dc22fb7af9ccef6df915b3b224620394112abaa05a17dd67df1663c580b025aae08793f1804a570fbb7d16bdcc72f3f9b9c102648d4e038e197238eb91990b462678c9e07cb18c63c1a3dffe879c45f03656876b86c929913b09b260429804a90c738e1a7edda7793ce4149497ba36cd60a71f4dd1ef346a3e7ea44fb7642b36c8cac883378aad273bde4e326edc98a0604edc7c43d9f35fa180fd6c4e2c15a5ec6bbb30a37c58036fc2b37c78036fc350e422ca5c40a7afe3332e8364e263d89e144a431b7a333beb3846da5d210ad82f9617bfa5b37447bf3690753dbf3cc350458058dd4b7d2b66d1b65ca1ba52722936b31831b173117629ae9372efc4e8c07cb8c3377dac3994c04292c28c239157151ecb41f75353ea369ff7111d6192b0b9772f4629d8db84ec10d6ab08323e37f2722fbf28fa3d30bd334edbfe669c82c5dd36691bd9c659777ccc87665b23b766532997e3e669a73f2ebb5715162b1cc155bda34138934595634d396518e37577b7e0203dad8576c51c2440b4f0b0b6c7d0a0471cceb2f3b188ef225105f7626702204e9e59b00fbf8129026207df6b563f9621d0cff08863b1807c41fbd04e43ff6d97f76c5ae135164c27efd337760eb7ffdd3a31f865ff78585ebef0518aeff048308d7bf8aca04295c7f124777288fcff88fb89ecb9c4f6819689abaadd5dee66a556fadcdb5b9b6d626656b6dad4dcae6328db41c4adbae200ed478a0b2e69a4f998945db31af7df662753ff662755728ac722904c30b88435efa2b1c4be1567bfedc7ad552f7552e5e3ae2d85544bc3b62ef98b7a8c507dae051c2726207c9f53775da8f0664d27e66910664faf9e91fd35320ed477ba2fd683fda130dc884c5d7ebd541fdb372168b9559b1b52667415b1736576af2a47fd34c589e746b654133b019b3c844df04d38f031641f7c3010b38e5ce39211622770371445ed26e33faf95b77b3287647381122fee8fd4735ace8c1193d931dc619752ce4ece3335e54c38a1e06629ff8a3ff1868d4599f99fe71089772dbad13269b9c5f8d72f6426d87cf09a3512ebb50cb993d983abba254320dfef8c48facb9ca73471cb358eb71447bfe43b4b73dd4728cf0d7887c0a0b7da6fda6639ac36a645b7cc2429f597977fbf799ed6da8e26effcd5551910dda8e1bb8e10d37dc30b71b6863db348ce3abed98f46b576295785a456789356789a7c42a2929b14aac9292124fa6e5502a85844a42d06d485f8166ab05d4026a015def48ad1ccb63b6dc66f24c9ed99a3cadd60d3cb959ec8be9caac330c12a9a7709d9999b9bbbbe49499fba77d3059dc545222c2f5dfb42aae7fe59870bd9b70fd4f45b8fe5912ae3f66c5f5c6a27fc03cf847ae85c006f0fee1719b24aa852295126a55ff2c4a55717d8e01e5a682482e9fd9a92ccb93ea791f17d0506d59578ae85fd74315dd9ad51df2199eda637d7c0828081b12da71ed10edbc8a502bd40e8a15e4333ef5c702a5825ec81b0a6ad5f4783ccf4aed5897555156f4bafee3334035c80aa586bee5b9aeff1069a61c353f9ecfb7f4a46a2c919f889a8aa601c177b2b41d7cfb497b1a93f82497db6c3d3d24570fc9d54372f5905c3d24570fc9c5e3365b6b6bf16c2d9eadc5b3b578b616cfd61a729b128b850d9558d85089850d9558d85089850d9558d98ed76a6d2a25b45312da2909ed5cff2cc86dec2a2b721bbb0aaad5da54eadff3eccb5ffb719b595453e379ffa994b53fb55a9b4afd9f8850607bea90e469f1d6a292c7c56ad674451f212f09c9e8f35ac5557c01bda47d3990afbe59d438cd097d27229ce6366e4723729b1391a97fc03af857ae9fb4478f70fd475c500f5d6f1f401baef58f0d40890525964cb548b86d675fd5be6c917d554a77a450c48459e433fe6ee3f2f46f200ebff4279432a8e88171c0e85b9e022d4f01e833f45dfea6e90db441e9a5b4db316b675774ce2a242424b463579429e5adb5b5fc1dc524525712aab1c34a4d80387e70a9004b4e80a52840958973683fac83371280b868be5949c8b25a76aeff89a834d4c2a34d994c33cdfb5237bbc2922a95ea4b8a65c59ae6e987738ca00e18ca05c3218e70f4709dd42f69b49f50a6ab6e36b1df2cba74d52a7819e7b6f8cca25934c970084bf1965cd76f200e6ecea19471c51d71bdba813660f891c415ce69c5c12bacd083bb63de161fda3f7d164d32bc7f665103bdeccbbeecab81faa79ff44fffb46a3650a9325df58f50ff08fdcacabe7ce7751de2344e4a282594d26216b5a400e2a0ef7f220323c0ff1406ee6194fde9fd4f60b07e02e3fa77f79d8aae9faa5c6f59dd9624aeb79c200cd263ff9dd070fd2406024e6bb8fe1892d1b7504a9997b881e384c9ce0d9cd1b770489448400d8e125c068e13262b5a0eaf68390d997357bb2d6d9a69e69b71fb4f7dfbb379fb31d2ed276db779f84c970df0b9dc7e161c78b0953e737db1998d8bad752232bd4e54d87e76c5dd89a89f7e94d2ff4e4495564a29edbefaf3b1ca9d5ea7d31727a21351abe6ab326f3d255689b5f56c3d959ebe787527a2ef9f4da0db30ceaabd97a5b2d3bf95fedbb6feed856c25cebedadb3a17da5225a1aff4a6c74a9cddb12b8ba43db72b8be4ed4e69a4d9a2f6fc590afb5a9558a72f0273ce2e10610657002f235c97e6422c809e5c08a5d6ee45ba2133bf2084dcb07bae0c61e66677e6666e08213ce2c6bd9f1b3233bcc2c91f4605c4e83146194fe0eeb4bd5bae04f92c74f7116733ee8e1de30fddd1ddbd7b34aaed1d699c5d70f79791d24944f418e79432c6e82d90524abe448edcd128d6151ff323bf9c73d2592ba573d239a99452d69fdc17ef1c1db97134a99c734a25300899999fb9f2f0a2a89f3dae00e9e66e6ff7ee6eef7666e6238a3877372761ad8df165c7a71c6dd6ddb1ddbd7d70dbe18a8ef66cd69ebb4797d23dbac7eeee23622c12dbdd5b76814188c11cacbbf3f0a28823f3d79831b5598c314e4e022123a531c6286394eeee53522a3dc6e8558072ca951fedd58f4f638cef3ee75b6e4f7e94404c39a79453ca19ed8d475cfa72423a5fce28a5e4398624ec1c0109459309f695e35b6907d3433e7df9b463e29f558e52ba12d39e6d8f7e3f3d72e9b77604688910d4708b20fcf8deef72d1c528c7cfc38b57ab68b785d53c02164a6872bfd49d9df51177f4b4c2f628adfd8a19e5be327e3e0183bf0008eb333f96f337cdcc0c21841032335f1d71ca079888899a89321a9a18df7710b4839e8b6d999c70c239e5249118eb2cd32869db987310a916448c5246f89f96135f46b7190fd657b2ba83e5c1528ea6c75832d678c49f51fb21527ff9514ac923beffcb5cbfd8299b5c76d93b48036d708b85618c2c72cb8c80c11c6c7c8fff523cd7e51c457cd9c31efeb1fbc10437bbd963b4fe8f226a11eef3ee637f3fce3a0b0b3f06c1f9f59247caf12d715fb54d8477b54ae143ca6559d6416eee24a4131e257e949872652ec44289a0eb1ce5be239756eec36a16b90963fde21d75f2e7532d87c2ef87a56ed48d7246dd0e76eb3ebf303d5c6a9c90f8455888f4a759a7c337fed0e528979fb6b6a32f843658cad30b2b8c52b0f2638d3aa5fad16947ce9fcee830fac65a143098834582e4c20ba95cece963a5f848fc95f035ac70faa1ccd73f2d52d1e557d6b194f6f845ea5e5e5f5e5fd206d026ebde416521a1d6a25553a891308e77cde4f24b297be00cbf8c3610c77a5796fe93b9f294d9b090cf3095a901411f7b16e2273549c8b551adafd6c27edce3dc3323c60d7bfb8e5c98b114eeabafcb36285ddab926df21b72612d7573850863b21fd73e10d473024fc08fb080ac95c846d8304eb9cf8b76ca8ed688f329e5cbe93b7dc2f75ba5faa45c8f5e713b411ffd3e1364b0e2722584c36583c605aa1317d60c50e600504b624003ba4b4cd947436cddb8ad0321c3422191680ac084602001602d248866464546f1889a0d2ae1a4127474730e52481b401e2901faf2c418c4778df7e1a6e824ec5401c724a88e5384117b7017afd988ddbcf01b835a08d9897fba55c0c90a231952e040029458a355549a951f528a1dce49ba480314608dd1d768c31c61863948f79acd5da54ea3f7e7cfeb15fe5719af3f37189a8b97ef22142a11db1bbac3d0c8bd99c592bd12b1cf9372dbbdec2fa778c31c618638c31c6f8dfe9c6f83efa998fd92c75fa184fa606de8041774286375666df030037d55e6c1533a0bd6c92beb9d14bf9ee44d45c9e1fa8b9fcd55c21fe44f8b89f3f696a3931c638ea3edbaa0fd4dc1346a22deb4b0d891a7ba106c4e8e37bfc58ca8f89dba93df9a47f9217a95d6f6165ece1cf80f6a6cdfc0f42e1958ea21d5e344432f3bf98930f522cb34856f071e2c341ade2218e92f9741ecc19ca8541970aa13ff4a0dd9c5ffda5fce94f9dec5cfad55f3629baf2a75db1d69a5864a7aadc8813527f3e66b51f78ce92d6a3fea45f670773a1262907b3944c8d0e1f8400428411485833f069d593569d3252a6fdc03a7020fce5937acc977694fac16b57a590fadf1c693ff853dbfde02fbbae2343971b07652f0ce3c1c2f620e448440d37042c074b3fd28fa3a7f2e310ad07003ec6396bc581e52141dcddb3678883f4f22333abe2cbd672f829378a1889d3197221b4513520e2d3c748f529a4726917847e1cd25e17212fed82b4d73a7ca511beb26325ed3d467aec85907e94514ea774b127552d88d1539a91b051137d416a29edb9da7b5169d547ff05718cbebfc18038e2377df91cdf511639f0b9f2631ce930cf807b623f569ade93797860eb7ccffbef760e487bcd1511bb320e4854c0fc318f8c13bbde02093ec2ed611cc451626d82016dc8771d005df92e74e53bc6ace5b47ce51ca79f4f82385c35e367f75fb5b901cea41efb199c432ff5278ec5869bfa1b5037f51d977ae778a8f2c0a23ee552b3b9baf3bf9559e42f0355a5f7f7200d54a148a84f612847a1fe4bfd457dbfe23036c0c8b721074497e561daa67bace39074bfc4e3749d9354ea5f9ec6632c291aa9d463ff5896395f6f150c0cccc7c0c0c0c478096a3b4a4f3f9bc1f2f3e7fc49065d5124ad42a5fca25af5ff5fc6bd3ff6f2feff18eaa583edb1c0e8f0657923f1faeb94ae775b67842f4bf7951ef5582a8bdcb3c603f534de53a90c83f901f5349e06aa2e6955cccfaf3eb549abfcb57f4939e73dedcde7385fd2defce7dce7a5b51d4fe3311acf3382602169414887f9e11fe661be1372fa223e33d44b8d078c0edf1a6f24daf0f16174f8c6bc917875f875615ea77461607ec68fb420e4dbd019e15ba36a41b03c4c67846f4cf7f99ffec61d458383776a3c509d90d2d31772fa227c599e06072ff4d80ce5e61fc3394f7bf361e6367f06c72d96d2defc13c7aef6e6bf703c8589da9b8fe2782059335cba4fb2ee7ccbc917b4313f3ec17ae740edcd377d0be74fdaf395eba36be7cb67e66bfe7cbd4a9dffb437bffaf94f15ffa2d682784d2ab308e28077fe8a11beafcdd797c2b822e8fdea9d9fffdcf923ae8878eb7cddf9942bc2b5cacc4e48ed23317d8ac29fec2805f02bbf7737ccec73a6e0179ef08cea0d7cb0606541a333e8253d03ef572d15a47903a11d647209cf10b6b853c615d60643655421c3a90190f6040f83fdbe85ac1701d3a374e3976eec607eb84c4820bf48bc4c563012609cf98c33bb9d0c4776b69dc060aba2c7e8d8e9c412bdb3b0fc1d55d1fb16e91f20841076d1a3c7e8a5ef96b176417a7c49a53c4a97526a41f84b10b41ca52e7c9b179832c246395f83924915211481a88a12a61182aa5ca11981a8ca145045e0a90286cc083b0a2883052d8454589b03e3e7ebd8e442cbc130e666ac9fb96f8f276f5fb7d17fd8f6f5fd354e67dbb6ed891cb95b47241bd5efd6ba3b2259a7d31d1326e227913226899f243ee993ccce7a125297f299cad4a74b8ffcbcbafcfd1f594e1d60950adb8fa561e7a602362e459bf1a2b562cb3b4d73699ae6d2c2278d31d698a3ab081a5f44917a63be88bd30ff71e7fac2a34f4f14ebd3a3e2d8e3d3a371b1e5a3fdb66ddda77dec69cf47fb2ff668bffd4d4388913816bdc6459f25ed798ffdcaca62ab46d7aab18fd12996f4a6ae593ee31bebbbd1fda7d55ec2d234e66e58ebb4d4d534acb9e8e2622bebbeaa3dd64108e562d1d52aa8dabad86a2fb6bae8e2746451d35e74fd401c367c8effaf7dc0fdd740e8feeb27d7bf97b44d6ca99aa755ee6a4f49ab0020e36de35fd0e28a8b84eb3dd441b82e8099b813773253dc89abb88a48b29865a61b04e0797fd31149dcc934ef311e2c0e0f034072a25631517b39fc77a36b2e7b3558353a6405787e097110e0f927e7d0745cfe01fcc67df16e4403e0dcf585e59f82c52505e0a21468c39f005ccc42d402ebe05fc345970e5c9cc26a164d8dae4d5d755913912f81383af6449f2eec0d9f75b0bdedbfd8731d87277145389fd2aa0fe8b8fd3e80f777221e40b783ed0170f1661d13fb58c9a180365ccb4142078e134d00335ef7f712a8388105348861e80a60bcab891538a1850a5210041c6f25387001e0607bced282fd626bd3b86e96bbe2aa5589dc750426bcf0a40a5d58c5200c900c1f1c610aab1dac60080882e182264278c2670a19a4106a228515193b88c22a098e6bccc99b6d399b0c070150c48e78758eb8dbf78877eb986c00e0e095e1366dbb618930d20083970cc8a8e20c2c88c209497c6135d4f323c41367f8628a1a746103317a78e20a66f081011766a802c7ff0624edb9eb434d38c3bf5d7eac73b9fc9bbb68a06ec74968839f7baea10efc367430fc6c0371c0703d7ac18238b4c7b1bdbf47c13671f5723f67790c56d5f49f45dd2fc61eb7e91acdea812cd4ddb8880568236e01069330f4c42df0605d6c411bceb766c17efdfa1e767e87d4f96ad562398bd5aaed088b0c4ff02007508040062e646330421aca00832a4bcc20c516c25085134c90b086276c600a1b54210bd60ea4a0041c7f1a5c0c0cd7ac03773045c4762558f7d5ace57d49eafee74daefb8f3fb9fe33b8871eff0b17033dfe1497821e3f8a3b418fdf85b3d0e36f39b170117ad0e38f499d6c76b51df16a9dce11577bd67ac4ab755d11a65cecf9318d8b52dae34feba22bb62e334687563e242ea98321c24f7ad317d15787afa983e16e47bcfc30a4eedeb476a10dec99f38ce875b701fc6006ab254118431ac2806108431552d8e0054b50c2058eff06a424b6a8dcb805db388b673c6201e260e7d9c215439872e115499812c46daa140baf8882e86a51b84ef78b2d2e7444d153b7b05f6c35bc028a29d73f4ae1017a5de8840baf005a72f9495a0e13fbaeaba33d263b8f639f5f5e788511a070b128a567fc990c76e39c7e89e13d24c5151063e81b773a7ef96dd5b4c778b09b92f65cd39883c19ef47c33eede481d2684d53818a5542958e771567b58b05f6c5d674db91e64636cb156b1a76dbc0a4eb80215564eb8f0041c9b234a86b42014851080508429e0f8c79fb639228329aaac21ca1227c8c11438fe11a86d209082283471420b5c14410c1cffe67aa73da7ad218bbdbff3b48af40ae8197f2da210b5165a74cdd478e868afb5afb9d14589d2dce2e145945671773cbc7045e128edc1cb1c5dd759b56598b5b10be8796cf98cdfd8729b66f94c1750d52f809ebf57a0480467b41752a20b12c5b8c2630b3c4dd48f7144401bfe90c8032f709ecb721b8702eb9cd5b2419a8821ad0ac2584b6699c5f002da405fb95f6cbd7095eb35064b984a08e2360c67f847d55f88321bb59ca904cb1bc79ab66ddba63589233674c3dffbeecb305437892d78a39456cd777df18b3ac436976158734464da109e5c035c788510cab8bc1aea57a9a33fb0b175fdb7c87124863225075b31637548f0112db614526030078b7567dcb7d753cb61ce7801b04b3f2a75448edcd28f3e964aa552a9bb4b9bd61d1366268d6aa4714619630b584054869b1212c395c20b29ad961752dc23b441a78cde6d0516a5b4d24a6b21dbb773c26752c3fa2ccd1a351ecad463298e2fc6411cd27e6529401bf1316761f9d3dbc7482c9685059398bff4973cd8ed49f131a872e8b17cfccaf291a5745958be3e46ca2074480355a6b7d2f42c2c2693667a96cf397d0c9665968357a260bcf4a8c7469964e1222a434939d272503ce41ccda7239752cbc76729ae29182a4b21a9f14b3c4e8dce490c8db78fd58849693ec01bf356cba1f11896b170b1bdd2cb18eee3cbf2266d47df5349a77465d71999cff227964a593c3ad1aad493fec4d22ad3c74f71de133f86731f2c935cccb3683c625e1e73e9a75a10a596d9c1fc10f3a847c5743b5e5e9e67a05030df29140af52e3fb5207c46f7c99fa8ce08df54f749f972d278bc7442e6d317d2f245f896deb6339c2137eb3c11fbcf73895f8adf12ff149f8563a2e62f324edbc19787a08df82497adf98f8768da9376da92cdde3ec3f8f64d436e53e3d679532cffe761413e07e1ad8ad2aa96d48cf87c12f765231ebaf16bad31ca507b910b567e3ce43f33fa0483a09af6e28ccfa494f2bf23177b89b9ff8d6358f6d8c7178370a7b22c0faf5c3ef0cdda2379c17edcc33d5fabb5b4d67777af1e8039d89c96ae72a94f9d1e6a3c4e9f6a31d178f9ff62ae6b2d97c6fbcbb4eae5e5fd69baf78f1007f7fe12daf0ca67e2bb7b1e0d5f9acf5e07fbef88ffcf3f7bccb398cf60601eebbe93217561e3a3ded3a99e5587a99f615f3ffbfc61fec6bddaf037cdabe8e2e2f2b2fb50577b792c669586d719dd57e492485e4924d2c73d3a24128944ea88cc787749b2e12507d3714c569e5bf918f78ec88cef8cbcdc1a6f43d7e9d4e89830a17d926dd3b4df9268db27d1de7e9252b7f2496c977aecb3e71eb759e96217f3d06db66e46a541e30588c7745f85e9be3a837ba4abbef8cbd7b417ffe56fb4175fbee5e5c5f4508300c43175b167aaa3b8ef8b905a4be7dc97619209d3275931ad68d56d98287d92adb46dd66d98b09fa4644b2ba5377d64f92496c5f476e54d1d13299c242b4e486fb21f6bfc08b17802d1fd76f081f273637cd840516ee49e1bdfc4ad7096db347f92939e078b659d93b0085a5df79b8e2524e89191a392c0630bab5619e94b46ab22330c7c7877f4eb789186f9a1bd2bc217763cb6b0eaeea69b60b031d83e40777787a9f6fc53dd3d447bd62773b7bb7b8c524677f718a34fa194d24ae968d4943ecc568468cfbea494bb56664a291d8d2aa59476eda65e60f8314ac9416ce5a6bd08594a089921338c31469f53c2c8cc9965c91cadf03cafb926523a9901d13520b827b39c5b8831c618e77f36cab84b29638c51ca39658c314a29631318acb10c1f4e087ba502edd5e722bcde840e5d424a6f436638ff4e660829840c19fefc491f63e69f348b5a6bad3c85f07707d3837e3ffd9631edd5afb5d65a49a451adb58e46a3da09a9a13f52ca87cc74c56bcfbe1711bb9b9bb9bb9bbb594af739299dccdefd52599e01a5b5a8b4ec9785390b51d10000002008a3150000201008864382b150308a0331993e14800e789c4a6e52208aa3244761184421820c32c41802000122223334b50d0023cd8360fc383d7ffa88ff00c497bd6c35057d49b0f2ce774521e9269c52a23220a07a2086e6181084d46b749faf5fa9893a1f6cebc88e5511a5560325830d5afd78fb83ca76922cc1420a379517a205a5c6c5739a317ebc306080c548101819bec931a0800e43f487425f2edc15f1e7b95861ed8982660ad32928519ead9525b62a886e179d0d89d01b939294316621a682f8451c3c456bf5b87a8b69238a60b3c146994765db6fb5e85164da43a8aa0c858cf05a2f0f172281d63eddb089b7f836818f3b67f6e97cd814c397a5c0d99b69f5d24c80f07dad56008de3bcea50000b947814c428aecd1e9a535bad6fdb3a5a2e7bb8044403fc8fb9e1a793e69c003aaf7157620603d3955010de0f6f862bc367946eda29113daa26ed10a1260883389ec051bb4794a0350aa760243b7fcbd4ea66d3daae58e64499a0bdcd56776c91377f67ede3da09073e9360b741264496bdf9cc2a2976da251f3ad54fe07ccf22a6d2d545f0853e2811ef6d0795697732cf07b8a612e1156826d7f5ceb9425c85ce915b335b7663a94a23fd16fb421c19672b09df21dab1cb115bb41f283d00a2241da032f641ceb9400424952ec73aa572656e6826df7e2115149a349caee614f4677bfaea7ce3d938b9ae00293cf9f4665afee02b6c6bbb2828d2e6f37f4baf6beebd930dfa91ae0b5019cda6bfb9ef3849ba7a46fc0e1ae52e83aa24da9a98dec90039e28c9c99f48f7f596046b1ff31174af2139405e035d3c948c9ecbd8fe880922f7fb3b10d1a402e80eddb9b387aa1ce13353ec94421f9d54af417d00257eb2950457d2dc4fdb0c0d88aa1633b605c299d09d030c456e51ec4a8e0b752599de24e0726623e7dcb56547b69a1feb79c7639f32d07190efc865f6d69217e24530ef9eddc1f1e50b7da087955cf5b95c412605e6312af82bef4638fb1382cb4a512ae0a587b6b4c1f9126d358fd786e351e14d7da82b3bf3d44288396d664f4fdffc647ef08e18a572e371754bcb959857f77c97a082c0157666dc7055379781106049fd18bcdebb3eba309de956490a2a8c8022becc0f5dfc248c243fb1b4010104429a84ec0c1898a47e962642f4c9ac0b921010c1cf3b0fa371eda075b885c435ced75583f1360f0904430b9497788409c0b8f6e8e8e165de8cdeab3fdb0fa7112f9f0306af6ab944a15ad26a9e7e9d715f446b9fc67169b5575bbc1a0932b3bd1ed0c07069af0108d1c3a1af22581215dec34f26878272ca9a064db9e2ed9b4eaea94a4cfb84f64b2235893c88240e904794b17326620061109013200d0fecbb1eff5182bf47e65ec53a6b25b317f767be1cd1d27127511edb0a61e6db1a6fdb4d33d0c1fb45f33bc8924a8d586f103043a058050cde0f7bd7ec13236ef8769524bfd929d29a6436b735ba75f7f2f766b8bb01796bc3c0997a62dbf0c0fc9126f47650504e11d0b44cb2da7ebfea8820af73572c62fda824867c210c2aab7f52fabdcd651e89497397fe9df8baab8270a6e742293715eea5862188151f6f1b8069e0175eed246871ab4bfaba86ebcd0919b89d8d66449cd868a615f78a743dfd73c9ff0600e5fc8b542f66fb958b729c308a0595e272a188488d035bbdcdb5e7dd7a73341a6e82ebed6d2b1b3c232beca0b613f3126710efe445f880266b953a4ca59af56002288f88626a57e3e2b180e9fb32f169fc3e14f01144d8091f71dcc40c6085481d68090975b0da65593198818a389665b11f3be141cf467120501645ce87e89d9ace6ea280118c06f6236f41053734b0c087a2d08099e46ebc2cbb90a8363d07068ba2f86f22a7f671643c1a141c4cad02c307314fc5a2df365bafa072b16e4287349c6e8d577591761a8258aef8bb2e011a0d2b80ee7c68537e348e0f629316b23b13ef3887868f226c1f76b0d820f4d0cc8b50ae470ff5464b7d751daa19951589587de1f4ecb96b4c437590c382644a8e60fbbfb64f3347cc084a840ffb424890e59aa4ebf0b6cff27110ec36f523427f492e846404f9a75094a7a21a435865024f917453f33dbe86fd50338b844d1a0ee546082db9fad07f8a32a11df40998133094b78025c5270ba88324e4f05f7b3624e15b14cc61acd170b38d8fbd5a3106520f74350f850db534cbea237334dc4da3388b9852465af346e7c55c6ab2f5d4a056386ff2815f07919753d4bec3db66c27cff8ae0b551fad298f9bc7ea54901b376a51b71b75417e0840c4d38ad0663bbf06bdbbe19f6b5ac5c3e84affc8453fa07f48db0186278d1ca1ac44b9a604e6bf0cf98d5eb42e5911f4396a6a777f079a807f589554115608b35fcea19b9b6e66a3fe1d22b3f0f30d8b726ae69eb59a1c48707a0bf78eb3e9e0235c6009034e4bc29b81cfce4c1a47d0990a2ba760acac74eb4589f36387fb8b7a926e3151a5100c2fcfe3cf9dd9347f7972ad910907f00aa9799b71fdacad38ed5b921008a3356eb4fdd88d06342a723c7d6844ab4b5bd9d6be47252a666f9a5c8a0cceb20135d68a25eed86eafe91462ae91a6cc01f7d4e8e868af8739a3e96544c133ac301e1f15b5c6c964b0cd76909744de88a24d0537fe8140d4858c9486a38db6e409d83fa517686be2e691a0c1dc03b522c3d895d5bd054e41e8b35ec9420c566d0012c510fc6df53901b431aadd94ab6fdf0e66052f51461028449ecedbea8d8822637bd2f4a06b44009641e897a9ca398b6725a7a1fb6c1c8c51ec04ce2f306a62e8056c1712428d37ec4d83021e2c68e6ca751a889d4663336ad9a5780abcab2493d6c09e844145c083061f3edd60ac29b9ccebf86da524096a9806338704afcf11e829b9c9a7c4ff051fba898027442c87e04955850dcb50566e3eb92b755b2d7ef8d6d353c386e003390f6cb982daba279a6e56e0d8e9a533c3e274b2414ed3b30288087a305d51c79e098aa2743dde4f2a1822db203d6d96e2c72f89085c2d76135345c57ac2f844ac5d377e6c27e7047fe0739609e6bba46348264f4900703936d9776529858061ce19c7dd3c081fdc1de8a303263ab773c321281a4362582f203f1bd84a4a007d8f055584e2ee3ec921a0275815e52063473348c8c7195036383a78656713973a3c66a6968f7be60dd8e3227d3cc1e2378640253c3fd8c538bb5880fc2aaf8a21845fd91ead30c773ff078a428b68b1bc59c3fed6ec35a1cbeb297f1f4384db16f0d90516fe74bedd39ef2d1d67f590153b96f1d206291c263f356439942f84f955584f795d4bf4743178493f53d396b282af883a26556b86673a1dddc226d4eea43b529da9a9d24ada23d1a471746b1cb498c494eb8cca8912476850f4e85e93cd40fc7abd4ba44ae74a4584f46ba3ab48ffca050e6e032d0a0878b4186cb3f9b3f01433c5d93cb0404a29c4da4b43e429ea4cab9eab60df0c15e9c8910e99f9b8d20550afca6a1b37abf20089deee7dc59e356a05602b17e64cf1091a76d90c25435919f33e8d2472aad5ec5d7573169d91ea4720082b2701323e297f5908127d19ac921d0b6d805871451cd0f1fd0e690d495219d190afb48e815c3764ec3010266c19f876e00ebd6c194eb806d4d2f92d08542efc2d7ed98b2e1bff9077b44ea83e7306c35a1769f84462b94a54216d7148a23851576a32b840dfe8f7ffe3d8f32ea3a9e366bcd7e1a6e197f790ee13d9e452958ec9558430f4a6540892daee5e266a93c503e51c2e1ba7226a25b29da93fee6d4dac89b992197b49ee6af822bf7918935620dfacaf30c9af062064f115b62a7455e46b0ed397cedc8c56dd83f6742f3e1451f9429dcce158feff5a3b09d9894c9d39c082df05e86b8ebc11d82da13acb976ba5e31e6f0ede124481975c75cb2e7ecb3966e58012e150aef9188db6eb9344d6c3bb6c95f5849fd0017d577a5d6e362df7ffb6d3e977787f6798718c7ffce31de3ee5830b1c9178650d26c37ae4a425250b3257772fb68d35a237b8dfd93d767cc4f51d0aa32e7290042669f8c85dda61d67cb7d0b3b38ba250ca66c0ccc0525234b653191ea4b889a6b95cc51fd7fff05da7fb2c0cb45024174b94b90569ddc2e510558df899b65e8840463871953b81848347c3a75c5f61e329f9bd5ea289bc132551871496138ac72040ae5585539b07d3d155e06f163e87af6841959b0f421e7999cb9c2dc587edd4e6a945d4836ae4670657e23b7fa70aaa0863b8eb4552afc226d2480f3d53eec1b7fd416c3a80423338576b50a9cf23d84f86e5688de6a0565ea17f0630a02d278d57765be259a924efd185880acca5312358b76a0f1396f8619766e87fe84832bfe655c15edb00afc5433365a4202910582e71f01e6e7d69080bf3fecc4d06e449839c384e469f189b2a4da7d9d608b91633065e62b0744ea886d25e31e51df78af0336a8e07523407974380524ed4d1ba680aa88ff52d29ad53ba26f70e69a11fd5c744c7cc00bb3cb0962c2a664f56d0879121b10dce702743fd8cf5a1781e035fa221b83c877c3eb4dec9e48182df66d81db250456eee1cd0b46347d04c516b1883cafba1799d852ea880d653769ea5b9979b869753e1bf35e893a3f0eeeec96aa0a56e32d49314061c906fd2ec91e904319ea63001fa49765d4925ccb7cca6b5c21f62c9a37f2b44ad2a08392b94b8c4a4d645e7b55d9387679e8ef2ed1378a9230510d247a3c1ea1ebeb3637beb45459245615a31764bec54035d27255264fd12fef3d89486d61298e42fac726985d0995b14f92332158b2a64dd97188417513a218fcc44b409f9c949b4f734c2c668277e9dd84d2d81595eceffb7dfa138b8fed5fe1c8413580f7d50cd9fd7a213d4bb6cac352730f5ef58f22bf7a3924b032a9682d86944c948a3d0d6f8db9b050b9870ea586e2316da1cc08f7d044c779dd3e5ee9d68ad86ede11505742b724e35026cbd1b58140bb519095317e76162bbe3c5f9e51b1c8ce1a8ef8fa6a8d8b5a0c8d806f74f140158eecacc804f0fd0556204c4ebe8caad4e4806992b97da9b619ad789ddcc81c0c3f9b41e1011e6dd29a2f102daf8d7edaa0b271dd27cd49eb66c2e0eaede19f56dfb787144f807dea31cbc411aaf21ee123af5f7355e43b1d9fc36de75885795450f0d8dc667cdf2dc7606b4333c08c31a927146a5c64e8cad9878a28ece465541de0456a388ebc130f7e94e5b3def0fd16f309eac767cfba94e92f587090f3f1bcc013602f714b770b81c38e38fb0fec214aa223ad1b80af91eb4658226fb296b2c936b946e6582bdbad3aead2d89563b88955fbfd2597121a73a772f2027d19e39169e89c644444e6f6cf6f231119963945e02e07031ee061cca937e58290a4ed50ed8432ae4eeeda1a3243c5c53ce37ec5de7691cff47efbd8668ee0acabc4cd5cbebf3b46b7f233c1edc5f4c6de4fc76da3275267366164fa5ca6c2813a2235ce8c6443db79158a8f38003e7c349d5dfe59b5562fce470715010da61142b7bb75e5e2faa6d1005482e1b4d665d4062bca9e6b8edeee85e24d0bed026d4cebfb6c3bc3c3b3db7d56609a4e323a26994305b64756e41826d5f42f3c8191e091e1fed8ddbae393301bccc34b657b253c26a212c246853d72471d2fa497bd11639cc59a5e735eca848348b2285c01161fa3fb96e91d9c70c71c046a3421d46f9a77f2f6b9c94b4e8aa8e66f096d0a4a62a5dd9ede6106175cfe887e9e4ed18ed98beb880457f0b12d39a80eb0422e3d4aa86db8034363c4572492597a720d7e69f0eeb2a5013fee86dab1860504f71381b1cc9dc6d9adb5b540fb52aee575999a7aa8d440c5cc65faa5433de687a2965579adacdb63ab4cba33a5eaca2e50288cb19b55454946e882d64254b1b6109eed550fb51a70887fd9b604ec8f74c88e29e74aef4a0f41e83a1d67c3f79c168401f6b1fb49c51fb2a108f2091854ee322a3b724679ddf9040c12c3a13a03f41cbc4714a04b4d501dd31fcb77a5e6fecea62562bcec61111ba232719ed03c11c8a293708b77b46a01d56d372b0b45a002af8f9f11a0a6be2b6d1b5e3e7b823c22e0a9cd6376679a5e7eccb1a4685055b6ffb395f4f4de523bd00389431f3611ace8046d05103a142891f3fd45ef06ab1359dc12ce19965c3b9024aec95736d8f1acad85a2685a7af9087dc3feff29e50a1a63d386f2468ceef25f0be541a56c3e12f752287d57b1b63f044d9280c6224026da99318f47f823361916754af933a689ddf7e0db78b894f112b632ee2a5744bb24418d41874e310917f061fcce0a690cc80ae966795ddaa1997ef855076450b4ce1ff67d15807c989c535732aa654446af53d297ac8afafbed4d7c34e9e425163ca7cc5dd0108cb4d11172e635d92c2dbb22c65121df7b46a747d00287a0671d35f670f6367098a8b1fa0ab7496b1eb1ee9a90559a985210ba5a6d867d8411656572e5497f6b77ce2b161ecfa2f8b6b3b6d9a3b74fe71bf5f0d3c3f75c073b1c02daf83e8c04b4050b6d3b30b8db4f821d3e7b5480310fd331f903516a9c25367e2c5f87fd5153419847a2ba3e543290f124fc96dd9e7b805a94774c863807489b0d7cfc0bfc82c881f321b0dce5bf5427503a05d4cbad74c6e47fd7e62012e8b4bbec10b9b46b90a7f7b9f8bc3142349565e51f72653ce8eb9fb067bdf198e5c1b32570f1c23b5d82040473e57c9c58f16e3df4233f9456c254960013e0057309972b0721efc5d1babbafa1c32a9a52cecb5f328e37a7835c6321f7ac82c015d5cea66d74d858668bcb91fef12bcc4f022b479a5fc619d380b697d6f652d2999123043d1fbb64e0c8945d66f1840e2edce47f11dd09d2f0e765fc073f12b5e91190dda215858e640be4b71cea529c3e27d2ff05f217523a606086a93e4ce251d82ef584d9ddc08974c73888341cf1f9174076d1570d42b141f8ffd1e8790cd43140e5638d9d6571cde89cc33d9755f9f4dea409525a1b4f4a4f4ac5cf5844a69be138e9ccd2983ab501ecef16901190a24f5f7938cbd7bbc27e2a348fa0215717652bf0c494dd1576bb60666120acdc39a54ec2e9ce5dc6ee6a08765a45583d798d7c94d65d64e75dd602b2550bba18aa17516ccfefb5b9da0176b657361fadadf5e83c9a54946008df8d1d68a5a8208fc4f303011ea14e547593c1bf404f42d0df2da64f0224b01dc623d04da2c61e1c88e8e2c15900408462238380311cd72361d1643cdc5959ca4847a85e34a26fe59e058cb8daffe63badd2113347b006644a1d712746fd99486d6c5df6b830cc0ca7d09681efa6728124b1199362ac563ec0793283d35a04f47293426192dc91b2aba7555e6ae15eb5de04eae9a20287d822677d5d5736c3b82faca4a16c4d9093c158050c7d4205c1e552c176d4c41c6f76410a707257c54667fb54f7929b6f4a9fe5f544597bf1e18ba2841a5272c29628e5af9014372b8aa89dde80dc2032710efaec2ad2471e6ad58ee5b8e0be39bfc0633f8fbd475d5a3c1aed3fcac5c6900fcb966c8f8d06c61ed30974d486c1c1383c511f145abdaab9e55152be742445f8ce1c908d85b708f318523be8a3a5db16ba07323b21299081c3b4e98ab08c873f7b7b229ef9698323db66354522f52ca4346ad1179c8289ac704ade0a2c73d2c1b72e789cb0708c51097242ea1e7a03a4dd7effe251aaf78077ff0555a3096deed1f45e1fcb4b2267003121cf3d0a6a8c84b6097f309cc1a33712b7ccbd40c988b0d04535ea8722fce44a46993679c3cba8b1ef7f066479b6b28906faacd7d93acc881d58d964fcfba7307b7dd5803a1f7e8091e9d2fe2e5b26c717e3b2c2f147372e6a581d7246f4d14a4110fabada92b2f77c7eab871512cb9daf61f503dea0cd0b0742b6eaf62483d95d1ecc1fb45f2790c68e96705ab54b9f4c77d600893ee4e625944f3c8bd98aa5cf12d669cff464bbea625317c2baf322280c0537f0c174560ea446972b4cbf724f99ea0606e8b31a09ec63ef8704917924849891f9bbd046838cab22d00fea37e286131fc77f4ea86d1307aec79b2268ed9e0b276eeed12adb02b3dfae62824580ab0ce6c7a1554b403769c423519132bc33ea5df95be54c317f964f9ad13bfbe0dfc3380491e12000c24b0abd5c194059934df9173010b035a0c5e6b466bae4245bdace65eb0e84d17924c5982823bbc09617d01ada25836bbc5589eb9906c678bbef6c1c5f00c791701919d67659362184e765519ed6efba4bd8284c9830a6b8e04c40a81c98f0ddc22aa942ec2d320dc3a8358da0f899b59869e8a88418045f11d33f438a5a85885a7a29875ebe3d7ccf45bde5a4368f547357c5635450d911f8c9ed7ac2f0476986af215d9ead013d28826503bc1d9120b576b4d857b50740cf4d5d5e5c6fdfb13c8a51775cc7a2fcd7e5e65cf37b9706cb377747c559541db07608ffc7ffc49ef87b48df59e55d44365a3851b9a29297aaca8f407b591f9dafd6cffb34a53030b02a038064a56247e0a5938d0f812d11cc34d43ed63873b14ad7782ad084c93dda9ef201ce8fd57336bba0d1eb77d98a0821c33b4f528a8af94baa998680bde105d82ec9cc215095917196516907400e8f709dc922ba8a240aa6ab55b0af27ea7b39dee5337bb16e6920d1e64c56c73020ce462c8879ca28f67651d7d0e957281023c34d264b3ef5594149887c01354c7aa08f2605b4838bb93d46b19beef653ea4ab9867255a47c79e4adf62ea4ae6733fc9079d3fc46a39491842c726b57733d3e7d9e3ae8d9f7c4006593e772140af1fe8232fefbe9f54843ecbb7c0de16a7fbb66322fea726dfbb48a45b231c4ae897ad8f351817ade34d14fed1c4c2e882817961012cd4c01ad3f4e9c3951959ca5957b490c8f6cf5df8136049d0f5119517e579b2ec212956e0fb540e284ab9ef1134a40293662eba1e239c0d42cd315c21afe3c885cc0239099fbb3201419bf02f5eeb64d1d86f11490558d1804d7aed8c216a15ed5e340c7b0f197311600e5f66fcfa08b0756723090de92d49b005291cb1a9a172da7458372836c81f2fcf8a61343e794ba91d412f0710975b004874ae387572dbe6c3ac41f883f2904b931e814d48474f98780d8011abe0e4e4454698d10e10d3a8c900fade224096652cb7347e2cbb3bd928ddcb0f1e822cee4ff982e209af6166e9d559623a03f313a5494f512a2eae185fca16a309af2614f80081118b0020588cc037b8d435e01b59d17f0d7e5364444689ea2f40fc0586923fa80c433219c44100e975012229a19e432b3160fb25ae1b5ce0d11ba7b0f350c06fcbcce40daeec77e41ec4c0603239e1dcba931e2d00f0677f014f3e1874e4b42668431034b168e994b804f64783508d6dac495f31830cba6335dc08c4b9679f9ef73d03e72473a0fa3a7f6f643e6f0e6e763f9a4d7d5eb457729b2a3eace521990bf8994b55780a73623211ffe73122e82080029d3e194aaf8be2d26421b6f6414ea701a7547b452adcebf8f49ba940c1d8ff3a4803998cbe7a6e4224678bf6a37da4314df1624a1026cb3456a783aa4e2638f58be43341a7c994d2febd4640199abdd42f89fb43ac6092045a313630652e5a321efac710dd302790399ad3b3d327c6186cf695cc13807b4d4cca4b9c5ebf8b2d3c6860a5c9c1d583e0eddc6664883ce56d1c1d20b8fca2a0257c41e556fc4903f79c85d6590925be7e07278b72cf4512acaf924318a0ce01ed936a17cdafabaf60e7ebbb59bfa7d39de31daf83a7f34f48ca3e1b8ec10f683a5e206d559a9e99784650b354d5c0ff5a1e091218475058b6d2980edc153f284f0246383466b8f5c1dd58a4dd0fd863c160273c312e3890eba99e08931a797e5d0a12f937d2e1dadd820b55cff0f7d7d09eb402837ecb0bc0690c05e34a906b396bc4ada7644ec778370ab74300a8d9f8f4e9900f559edc7d7384f2f069f0b8bf2921cd29d45c1ab38d20d3ffe5612de07d6c152cf99af2c45262417fdab85c695c47af01112cc51847e201df3d2f297431614336b2466b72d85669375e367885e46c9b951d542ee365823194ca10b530ad22428a36f777bc3068b0a1338d745cc6b44047ccf93380bbf2b3c032733323106854c869f3860678bcae787bb7fcfe3e00cc37577b8b4f676047ac8c8e82ecce53a18815752428cb6893ea1eee0683f3d548bd4b93aa174026eb07bd6143175c4e2434c6a1f457b12f771caa793554671f118d570fe3ca64b4d1ee631348cc45a03dd269d555f94a120a4081d13a4f577a8e63b65abde34f5784abb6af0b3fa4d1d27a2b0feed63c862a6f71c7bea7a990928b858bbcdf4df61ba7a6dd39dd9c778e08c40ab773953a3b72bfe7e5a0abce289bbeb52ed18280711b2a5cabe66a37f91ef9ca5fac8e6ea791521bc7669911fe5b6c6efe84b04ba0e11dd9521f4b50bd5aeac6c1184428ba3b10e9ec0837e02babc89e8943efeb31ce9bfb313e68bb560b7ba33195a584b7567212c1d3770ff180f5b12d7c7ccf96afe5a97fca4c28271ee19b439ec031b40717338eb3580c877e497d308dfe6b02d2b15809e30f4323fe01f7f3c83395e6e8dc71c235717a9e9dff1db560a3cee2e13c5dc78076506108cb3db7a69dfd30f2c9e192c43dc703756626c4a6545c254ef275b6d671bf432229cc08b5df80342216bda158257730bc406e733921d5c0d9826b025e7858b0d9c2eee471d1b8b40598a7a8794c08a93cec8689de94b3788e9a44914c61a928965f063de0bd0e6c9402ec8a4398dbe276e6c9c4d6ace3068bf1637b0e09f5ba12baf905fbdf4e9a6bfdb08dd3d0c26d145c910cda4266af03e9a4f9b1d71a10a4898547a00325999f165f1bff93e8406eeb67ea2d8b7e5565ba01fdb45a76eb0030fe2c4421cc374b97dbc86e794f43df5f09e543184ed2c708fa00aece97a3f576fe83c8c0af895f61cd5d9e609fa192d3831e007304581cb15ac451f906186d81e912bf2c2e4ff59ff26afd29cb82aa5d69b5c0385de90e25adf9d5bb5567fb199bb5042acbb9c38b8500d27a83da4fd0d9e5a30add382b07d7ce2119c5b519feb8880518300eff7d9dbc0b52310993be860b0b2ee4a6420d0c163300040c748195f764786c8a9d672f7c5a896da95b91d2e31f91a7ff367d083918c4d33fe08e91728b148f9beae643dd59f01729a6978baef3818e8c45a841ecfdfd734a3e9a2ab4c79212060bd56669d44514d375447f1f34cfe78dc251a2b5c56eb5d0b506dc1ad3edd9fb92bca123c7963d442fd2283b65acd013772eb42f7594f3339e88fec6e6c0d384211721e943f6812ac8439f2963831dc0a75c575a0822015e087b9e04b41631019a247b103d3512bacee4c0d204215721c943f14b14930c28e31413cf26c198a374936c9f9f41f3cad8fa1983f7e307f32c45f022439354cf3c67129a5eb9740850baebc6389e14717359cbf4fafa053663c94498a826de244275dd479441ce3604b32ed5592dc9e62bf5d966f9c197dada1ce9a69fc7903d16766c26a299808a46ee10a317391aef31bcbc6d045d258c151ab93080613574958a93733b1f38f525b75514b77c7cf219b6faafca1c82f884527e9792c562c7dc03ec7fe6a77a181eb55abedda1eaf1ca31c7d51cb39c03a6b2683e33c88d6cfe6044f672a2f4c5293933c887060355c2e66df114b42405377d28877c1da1b1c3f1dd051e640bbd9b25117e966c8a05dadf5101cb47070216a9dbb661ab25be3ec15e121b8006d83a18b560716a2e814cfc05aa543753751b7a5d37c77d4be18868f817c15f632fa412865889f4c8a73d8f51560b8d973e4f9380eac518b5af3664188b86118e250c7053a098db04f0281b74a3ec69e2812a5f8a7bfe45cdde12dd07f0ab8d25078c3857104bbce9f5cfc82207bd2217ab17707e5a273eb039a33968748a301f5701f44924199b8cdd4b96c2a89ab7251b7d2ed4b63c533acd9c4885d30ef582988cf60d1ca685f316b50a22547f939a26825f42f090169f926750496e16e4e45b1ee28c64e349a73b5eac46c7815635655e5ba66712bfaa3c48a353cd9d0fdddc314a698bcd072f3ff2b051491a0b525a28c2f8326c06214349be211183a8b909cd765a5679a48bfe91427cc0187474fd4f1e86ac73b28ec749cda37a035f04bac68e236401fcff4cf3beca4f6f14c3c0d5be2afec84ed3d783022803e5ec0e498096048e962f6ea4b94f7f3a19b3a896efb0352e413c0437583e0356fc505000406961e4ed8c8d3056b07a84a160b6264f9511cdeae3c5bf0baa3c3f020080bae8d77c0f11fa01d6681bbfbcb54e0c545467b605f303934e43ebf6d341c98b2623f13063a78b02f1bd77db706cfabd109cd4575627d019d9f6f147c1d8e308f14a7c33e90bf8609ffb65bc2716ee6d1b98931b610d84d359fa4d8b74597fddf1f8021cc73c5df018e765aa49ae4df2a3c126b75f8df5c6b706761dd07c4b9d32e07de29888b3f181c0105e6ba4054d9cab1751bdc1c5709bac39f44d064c5de6a369792eaadb7cb22c442b983b8c55e39a13bc8175000616469c0c14d59436ac9c4f1354ddaaf0f7b2b58b1ad83fd60e4668246c1b7e60813481920c645926928fdd54140050cbf21e02dadec6e255daaaed1dcf18c296f71139b4ddd35eb2204a155c6b02e64cf066e44ac7a7a7ff5c3f576749b8848be66f02f3be8ad50d03f3e109edcd8fac23c97cf6ebbabd1a586e2384c7335628dd42e1b7860bdf1c80b5c94bd39211878bd9865193e0f7bdb84a90b0ba04b2066a73e755383fcbf10013ebcadea5a445ddde4f2028085cc0fc5518a6857a8d2e7b2f2530d9499adf4d1a17ce1f25054e600498963167fc1864331f92ffc478fc2d3c10e83ebb95839ad622524059f8a0ff04010bd00bba27d846b6f07bc5566b605873156276dca952dd67bf23ae1ec3c86de15c0f7931043e4b1cd6ce30273b4776f43c2926917865132af1c7ee79bf7915015dea3206b9ff2fed106ba954fdbdae576f3e74cc219497d39e46c20facd6cc661d52c1ec424ec37c046dfa9d980ea992b9fb1813019b45cf21a05ab4bc94646bd994998743745284fc3c7d80f83f9d09055380c9fdc8f0c21e600c1805afb6ef7a4f28d01961b68b760319ea8a96d1a2d4659c6b2b41895ba899a623c5547742886e5a77c1eb7d03393734762d5804c917230d2db6ce75a4e04fa9613d23759469d1f8417fb614c46fc4523ac8317ec30e329a230e0d201e9979eaa364ab13bca13455bc8b2204433912ce70366dd995bc6d0d003c09a4e65e3a6d9ffeba004951139db03a29d5ec37aa1ff780bface45c984517b70811b72e1a3640d1a40c3f93dffbc3c9895abac3166a8f04112529a1285a20df4031bbe510e45c932e38b7c90d48907a5080b2fa2d7d8508bb5c500f2ff4fa2a7cf2a8502eaba6c95291c19dff8ae95789e4937c828c000b155d3a3b3241a6e3df6016e1b7c655d3047d8f19afd364a6c50e19d819aedb948d1159f529a0f71209acf74636ae61cb4ba1fc76baef1dee82d350868b9cf18951900a3ee9d380fc59f8912d6160966096b5edbbc60534df35edf0f48475f3fc349f8fcc74d448fd80a757ec6038d4f1a3a245b663ff0d1834f5841fcb3de7100f56137b1d9c1758ad94a31f159f6bd91a498a2913d0f198e971103521f5f5711a4ba316356ea8eb7ab921e2d8f2e1d8f942a52f14e44fb4cbf07fd932dcd2b9607345c86cd079c5473ae173a39a04bf1bcf047368033fdc24d3bb448e7856624816430a1918877a240321d23d82ccaa727a49e0330fffda1102420d242dd165dcd0dfbd2d4d61b99ff1f43a1c0993fd22002ddeb4f9057e56993fcfaad430982c64ea0a636d1af28066b5e6b99b746e694e67c456748d4040cc4ac40f5830664f7bae483fa1fcd0c3eac57f39fc980e5b5a20792a27b57fd898a5b601a578526523fcc32306874154a977528c295cbcbf2ff3c18f16e32376e0106c8dd420400e2be0ca8dcdc9546224c6240986f44dfb47fa6d03d457660f6b3bd7c65541e53b9ebd03844098a511e82cc9172ba366b53bc069edc62cf9dd3b165bea590c8e0584184113810e808739f7d762e861d95684712cd25b9968dc7dc63cd62711326b03c2de1dc5df16aae3705c97b8b18d96ba9b08b81a5f52d18f3698dce3e8eda0ef2662e7eb6ae343506c634db48ad406de9a70a22e14cb3fa50d8728104ecf5d1f5bfcd1504b27c0bb55facd60e12248b7a7271689de7f4bd89e2cf4b447df9fe726d98d9c6a49028463b9dcfaa1a447f4c00f480a6843b904d4bc084d80b39d78da1637fe5693e97c9dce11b5ac6aed7d94826086ee293fedfbf7f79e6f7f389c18c6e97509515438b930a28a66a6b3e11ea6715802f67cc1be1098f33331485dc0e2682ae97f1443e3ee21e43a9a72502b16d32d110fbf73ed1f9e8194cf7dafdbe7e697086b954dae46fe98f85e32f2345611af034b24a93b5194761b629eee19372a95f927f096d6dab5f9e3e925b1ba542b3bc27c3f38dbc81b22215560295fc6ed6a1c229807b3c5884c09a786074452778353124c0cc1e7a186ec9ec6f4b3965e1e5524a43ae5994a83e034673289727cd41262ac191b0e51c7b3abce02af8a7463ca66fb31bbcd022f1cd9f461c1f6fbecbd75e48fcbc78d3f91cf7d05bc40e9efea26c2b05afe82de0519e61d635a4cde37f61242a94318ebc29f985ed8cb768fa87771b086341178e644000cc2d8d7f8d82b10b4c1bc5d1ac3384e07af607e000d93f96a99c3b3f13e3a11716b2ee6629939b25dc28b93e24a0446409ba570480fdf5596cb9347baaf9defdec1cf002aa3eaa86609bba54be85f01600720ff41e8061c22480f447c648121dcccf99722bf58623ded28f38b7f29f84787bfe93c2a5534c77c50a67521a578723f67304c47a9fbec64b729a75cec28eea051c5da1664f3cf8ce670dae6001acfd01f42cc03fbba8091dd683df8cc82100333d7223167db441e7118f957708624b2f2610c20f05faeaf187d250c60384cda5d621385cc9d9298224cf62484a8debda0c2bd1faf115cbf0b6402b257c3044b762450236a17cb73a5a5966bf24dea36ddd28bd0ccf58ff03958ee3822e8c75c00dba98c084bdc72199e41b1ddd886411092ae317c065f9a38b4d4301d26895d628ee874f89de051daef8ec33ec07362b6d21cf6948c03c0e90983e87e25da468606f67127d050de0e7494b309560744b8a80b610348da53f4d65e786d0522d17e2f3b98a860bb3dd61ebe50d42b8e3c24340dec9f2142f5c384c5b8fc70afca14a6874b704f2c443bc486a9ed5ccd9c39b937c97315f8c3be5313c227f9586b351233496cb8cde86ec1b6bcd81cfd98b4c0943003c3c41825b79ed5c6b80965688c6544a120fed393774e6b6d81f7152d4008ed305e7cbaaf3a2cf10a314dffc00291b5e630d549425830874164e5f68060654116983f80ebb975a42f4ef3a2d8e15bb3ac9c0ccc491f7d8259481d6ff7806ffe775c16c9991fd56dae17733c4769a8a6926772b52e6f48cb40a75e3b5199bb9fc83d6eaf720be603f6e104b0a314c62393ab86aec4f07df3256ab82a3c6de9b2b145a69662fb840847f6b7ae84dca2aee2632fe6f85001d9379dd9c037976bfff5f70361cdf70ce66d26b538b8bd0c02083538a164bf4c11734545c684cdf9d0039b902d6f347018dd4a7617df32900246c7c2264ba62ef9d61dac68bbeba820a2c9ec37bc07fdf71a8a498226a482123068127bbb3e82d27404ab608ff7ec3a315095686f9116375598221a3ee6cd30799896420665b227949c3326d3ab0d673be1202fd538060bf419db8c755c81dd996947c4f5de03fbf0de3b224c426ac50433e400e1556f958a14912c739611fb73ef762cbbfca603737d093c70373a8aece0623218408b7eee9b4b5210830eeda3451b02db827b9e62bbe4d5469505e0b4403340c610f5e3b683ca21a0f1e34f091458dd5e38300a8937d61887db509257f204c6e858393a7539167e033ec8ba113327c565c5d00eeaaa54f6fbbdea3c9166004526f47bbc9b28c6954dc5757b863fe2be7ad0e00d672e5f3bd6ec2fc40482beffba42535af9b8544f839e41817263f54940a88409d20325d3df25ac5c6a9943396d8097b8c9884f10afed1504eb9165a88fd64a71b5a98b1b2a8407dd482569d812b43cb733c090f65f6d6a7d3c967e490d80b1da40b29f13e3a0124b42156c064eb5be5ae196815d78249338cf1a3fa5b9c4f6160e29f9f2131a96d19b1add20ea72f59b5b49aa0137e2d1409416f70d75b82d0713a5be0f1c00d339a150f65615a192923e86afad53307839415a4abc7ab2a624bdcdd84026223fdf861523817437f8c206f7fd7578d5c747e47218f76950b1865390e42c83723ef8d2277e441dfee9291621332bd4ce881c7fb733a125c4a42b622c94153c831e05856c143779b95932d50ab1c520b11b99de5e622f02d81e6039215b1970e1f1132b2c64c3b5ca00a4343c18b8e8df0512d66244ee071e35f62aa619deebf5182539c1730be35be6eb957c59f2dd7a39ebc03806b91a94822d0abe317aef9494cac7204a21c5b32d7fbc6da67042cdde274e8bcff278674e16020ec380bd13d62d827d1337d62cee78f88d9313cb1d2583faa52ef78c9ad447306964c2c914ff4fadf5e6879550b11436b207eeae54385fcaf5d047e494970575fb7a57ab111ba722ceac76ddd75725678e8ac1bccad23b3645df2b543566caeed5bdf40648c85340000c5d4cd0d5d0123c17490519040c955e434a576a2ab35496ec64dc0f1e8f504e3cd14a2d27ef18962a276823b9468e74c7ab8bf46ee2deccac599d6205df9aad4c68a878f91a4e38fd60b8d8126d4967b2ec400aa1888e1d1ba484a8de4d23f48849811d2d1d9b5918d8544773f0cabf0c27bc70225a48b03801bd3d1788e1ef0bcab229f50061447f929b5e1bbd10073c227e1e1b0c4a64ad752cc8aa21b65c58481ebf74b2d880b1027ec680a05e0e9bb8bb13a2690e970f64fe428d0fa87b9c3d7bd3d248c0458f9e637e5173091d639605bf0cd2b669ff8543b3e7d8dfc5c268f7aec313ce948bc9e1c1bde83595dd00511f5ada5b0f177049bea03e1e8eb65fbb59ff7b6ca47e80ffa4312075205f9ae90563cf904207bb0fe182753ff6e671887dfce9ef9310d4a92013ec8bd417baed78d7382d2b3cd6f660b2df8fe1c342de8613c3f71314ab180fdb2b32ceaac6c6f44b1e55589366ee256660d18823e6e5f044ccb738bc2663addfde7420075069abb34241d695293ffb7d6ab1db81853692bbef119fc2c3724a297f734839826b0a8ceab01bf5329478b80e4dee4be195279ec56f1889ff93f2662fe26856610e871ffe7c16d4d89f01919fe38e8c176e9c393826bca8339c2b10c5756c605692bcf3147fe29d6e5e23cc9f4da1f804a867575213ecad51b64af22ca8038ec28df898778aa82fdcef329b6041a35abf62e1987610521b6383e89bd8c2d170504de4c09ab186acc4201fded40daa0b71994eb77b520b4e345dcc469b0e5f4bf60864c36a0e81dc88b02e34d10f01c0431b5dc60798f835cd05320ca19d04aeff3b0658fd0cd2be32833eb6ed52a59ee3944b543c8f5fed69975d93f85767a3fd59cceb7cba79ad51f5f94e9d217e2310dc73aca057abc439cc7b984c5bec4edec66e9abc3edf5713518aa00671e548071ea45c80e2a76eb662fc9beeac92deb7519e60c30586f782c61bd71b2b2ee2b07fa6e8e2bef87300b0fddd50219326d405257408609345e276cce0bcb724bf9ddbfcb6c237c6219b957bd719cdc793821028893e7b433e5267747d109ae051db345ea154552141871568fdcbd582b5d241c557ee4ce5c668c73c42377184f35fd8f858c5b0d401893676c073364f0710f14ad45db60a8d9673ea0098a215e85578691ca00383b3467d21b0d44dc17467f1bb61655875d5da7e91108cce32a3797a64be4e6852d26bcc41796ef41d81266fb0a04e8c970f768b64b117c23d967ae0581be336878567e9ab6a19671499d0327d52130488dc165c0ca9e0dd69ee156566823a30e0f9b19533c265e3c8a8318af3745f05a639871cf2bf931ce692450108e88007654a2b129fd671f0ec6eaba416b9d6e6022684c10403a0b4ffab7fb8825c9ff7ecb16b7f7df049f9202dae328120844ca83e9c667b68e23b965de0ac3b9f2f3e971538e1822d185c03513ce4ca54e131d9b83302f0846e9b1871e1ba344632c7a9d95c34fb0dc172a585b2abfee870515a3195916531232681289bb3bb560fde89268a05055107cd4b9b8cce488af55a2cfa0140c7cdc58131743ff9bdc736cca43d2da84cba2f6bab9f7848d6a4006e891c3084691b356201205234cfd11b5fbdab7c2b00d9422b009f26cab0ed091f089d2cf9dd8466401c6613e8ea829b325ed9798a6e7d543e8918154c4cb14333fe9e38e9b25e7f1ccda9dbacc5942d296e71559c2da3a567b269eab5f8b79cafa8baa7b31b4832c21edc5b6521b176915da4fb888826f6c78085953fcce4b0915288c3c8b486339307a5c0e49b0679b6a60a089b10e8fca33aa55ae5f11fd201686033d4d1dd3b53ad61bea4bfe1deb936cce3245920d57ea595d22657b814d3440ff6e6682a07bee04af881ba90765b3522f20f3e12918b14fd129607868b7c5caa76088f706758a875cf96e5374d8a578695000eac8d77d2975f725271ab45f33bb4bf9e1a7cca8d78d2b6fcc3c22f6d8482c839fd47964cabfd83aca46d8713de2372d8d94238a92b808d051177f0dbfb5f5ba2068999aac8559892b609dbb5cf9d51ac2215a23e8cf39d0d17cd4ad60df0b1300be82ef4629de53e351460e1bbf3a38e2dabce42e07c0730854b69d2fff2d4b8961953698283f09a63ed6e43a5e18b6c178a926ccaa42e7965347d915f4f98d446a39f5b96fb21758d4d8ff573bc2020ac4f08439a58a99e5190214d669fcacae30496304565f612fe0f80f9c78380e995a399242969363ee81be4b5fd4223027e4e57ffd62bd51d780c5480540e124fedba9aebc528a255b89ba2db3ac38fa1d6a8125b3b2b857cb55736774e4ccf3c2c299cf77f522aa5e87310a8468d89ad78b84b834cedb7bcfa987214d3f30e2dd40214fc40146a214f2a3e1dbdd0747154549e82249c7420980cc993853f9e1f52165549408473813325d511131f004523b7a62c6e26454144a14c8ac46b791088db2c22967bf99a34b14161df448cc765c5b41d4a5134ea6f167fd556934e28bd024d759453031203531166b35025ddc007bcd4a3f6ce7040b01089727ff8897b84f207d1c488fe5ec5388c01ac88283b84693b443e45b169d0c4068dc517b479492ddfce78e5cdee26389b9de618879e7d8c223b820478a1e54d7765141d1826dc02d1d78ec0a195d90585836c7479a679e231c16698d8f7540240da5888acffcbd7691abd136ca146719a794e15e919627ad6d51633e92cb7523a3e5f3c8b97f44127735e537e1372cdf4b7f50d99e8b6d94b023d06d1e773489f1084d3c491f6f2841af7c92e4d5723f0dddd94cd4ddc9532662b7fe5a6d32d7e3e9e18448418173d237a3e372674b7db8f1c01e8cb8ae37685069e2fd36dc2e0a2d1ec4ebd916565d4001a10ddc86ea81fce57d2b8a6e36788667e7980d97e08858f39fe5571ca557a6b110fece5ba781ad98c154b9d2ea1785b92bfb7c9196a392f9b1a8aa1931a3335c13d4f3854c7273f0ad33d551baa455b77b866b108498f84c38bec5f47fe80ccea47affb14aa1dcbf67950daf03f6e1784909f52d99a797b5972fe80fd919f9c51e1efbaa586c5646e2d12b0ffb70948f250b2318e429608d13814f42e32e058adfe3965208d75456db8b027406f4f262083538dca5fc713bc0dd92621432e6267cf8986eaf3221ebfa7a5821f67f902eee02c8141571a56bc9a2a2170c13878cc4246a62ca895a2757813d4d341e85b487a21c82c992d44423304a9c627416b3d32b6686b3882c7757304d98060015a249e30c5b265b26ab3d8f7309b5b155103e1ac0cde7228c082a0d077cc9a3cd3bcd410b6b155ce2b104874ada27cfe745a93348dcfb3b9f38247675447b4a31d43e29eed6fa02b15a3cc45d1d6d4027d6badd7b4fd0a760c7d6517ad3ef2d323ea0c56e3c3d25a215860b56d42bacb5b94a6dc0ccd75ebe0cc04ca1749fd2f0bf904e2cdb57895f2933143aa98bbd759de0cde7332ba2e55612a5f2de4e3991f41e8c209e1eb48c79cf09e30757518083f1445e8636e2056ca5ebee32ca0b00dd5647b2cc72852554c3c42466421499ced05d9de42a95890107bf966f085d6ec3aaff2e56c84e0800278e0ae011359ae989ab0bc7cb9a1508afb3914648a1e2d3f53af50251fc8d0aa64abb838ebda1a36ea48187cb41014081571df0a13993572e2782fe23d23a8e2666f7e3307f3f40ece82089c584500edff96e1bdfcfd5e7ae6d6b17bd69bdf1ff7e9d075026d9d8eededa2277f20108eb70b14533d161dafe2e47a62d830d2846e989c61ba10f00db5370cac95ab1b55476cc77258456643ec02529a37b6f2923449c232e12b3ec030a8b7c9f19130d11f71e9b4800842653f764d5a3616bcd62494d0b89a3a5d8d4b4b592f37f22ae79785307d235d182b6492e88a62a99cba6a3e9caf20291bd4dc5e14631449c52904f779457153f8794771da535ad96fba41f5d200df11268806811b923a9f45e5e5bde112219963b6a84c8c538af7673f5897d66b9d37dfef22ce640a67c62f69b1537b9778a59ef227f4d34c2bfee8f6ac94e2dea357ae380a0e6ae439ee950b984b76e4f959feb50fa4f91f0238c498361416fb2c191b957093e2139602c95c8c84da5b6054020a57d70f170349cf60fdcf98c9ea683929d8c717b87ac0e0b8ad77cdea2769a9234aa49304be5fa968169a61b9dbecccd22f8a18e9e954c32901fa4fb32d91c184ebd8b5818194185f5e231fc1c9853f5f5958ba7a3edcf20ae303f8a51a13c3141d2155874076e84d8905a80b59c2f3583f271e18b0049c1b808bcc292883975c4bcbf510493f4c97f61de883d9b2f9bce85476e6d15390161f0d43f3919b1503508be8a52b52421155a0b76a81b9e27e9c2f7892ac71de3d37e84b8e2b6f91c2874d1484629c5c68d252431e2e1d31c4d494383e903a18430eeae825864caef4291fa6d81d7e2bdfe36f82878d32ce0f36d20794a7e8276755b69c58f9e952d77a8bbee8c9d38819718a09d403b00bc48c7c74bf9c6eca2919f10a53d3400aa2c061366ab899fec5ce295f0a7ebac879f92626194dea7f1ad80b80a8a3a3896cf3de65254641848f097e02f1f7cf2c3712c87203513a380d4c6bd454dd5a1246ce69ca314f05c4ca023b9cbe492ea7c7569476e0581e7417e0d0eeafd0e12e0a249ebe2801b5905ddc101b3ca4e9a13ee42797fe22d2ebd0a0fc18fb7959b4be4f5f378bd59acdc176ff79ef1854d401f370bd403f16f2331dd0f03f66092c02fd975317542d0a4fb86b4ccc4695b92f481afb0aecffa435d19bb0103e3358102eca8a60a9f18fd29b7b755fc1258b2ee142b9a267c6925b82a51fdc758ddc1bd9d43a0b8f14dc1f520e984b14c17799b5ec90286d3b4eb461755d989103d0bc83118e3c2af80467d18d34da65cfbabfc7c6a64987f705719a057ef3edd4380a0e081db6d64dbee37a1b3e3e8e82a5c734f0b41984c58e03688189f2c4b85570828792f171a88f9cb7542c77df7b481b476fc46ef902404195a170d2478c4a0319f01078d132298688999fad26b310509a8b116f99c0b3709fb27bb2165ebf709f86b2d00342a9b8ea542ee0b759fead1467f0d84795816903b01f786ede0cae6806c925b14bc577a37386d78df03f088191426ea178682c1fe9bc5431dc68f176088912f308fca171cfbc98eca50d6f31908962f928a7f107ef7af45ab400ec8af9a44e6536a5ee8e14b12ff388390dd695b2aadb606095359686a311cc1e01f54c3fad34d082c0a842f4c671907a6a6f6612baaa2b86aa21f8e7a1b6276420f8fc08229305b5590261131b8f428ea0dbfc8f03216ba28943f426c232c3a76863fa4b7a64bf216347b6f52fa1a6b829c68947f76cf27535212cd11a1659fdc5ba38ac35c05309f7c0afc9510ab2f46069953584e4a63629df8393303a3cd6be96f07175d2af13b5f843fec5056659db2d910d718c11af1ce463785cb7abf7f6319b7fc6746587c9d7543bcc1f35f7b839dc8ffbbce15cf8fe2cdf5200046fa956d38a4560c9675a02e0900b67e32479b1799bb109ccb52859fc00818e769ebd753f7ae7d2906510f7972d18d1c366dd1e5809a63c97c7dd065336c4fbf093a748c859f5db2a3cea369e3d6a6a844f11260d37d7a5ad325f048863d406560f15ba075da7360ca4390a4ac78af3cd1c590353432df3198f55be8ac84c5417a86cec40bd6753740e0a9e0ec53d178028336a96568a6c7bcfad075f1076dce75fd2ae1048efa679d32801e0f7452cffc832461d8f89043a6d3c181027aa7d61cfc1cce28d7c7bd2712be9c82f0f94b7c9f653c47baec688cdb47aa0781361bb1f580332513ea501d77d4c50c9fdb5a0762c05ee5035aa3117ee478cb5614877a34a217c6d29710fbf5612e7ce5dfb3c2204ec95347b064b504b27de078fcdf521323395de50525666ec158c685629fd999a8faba289045360656cdf90a3df85e7073337d20baecaee59cfb0ccd12d43b02e6630fa15060134ca407bc9df973831a2a89d88097849cc2694f39c0905726b3fd1ad8aa6aad6670b0b3041674f2d390490ef121c9955662737548727826e1a5b2851048f8ae67fbfb9199ddcc4b3b2399bdf4b9e83d8dc61524caa5c236710856e029bac1390c99af600af258f6257f2c34b620042e53adae860fb6fb095057c81320b9d11d1d8e497d0c2777d5358dd6e07be55461e63f604217ef1678e8b26f39c941bdd8e656f37d97b7b35be4e4d281b29fe54609c67eb70186df8914bc93ece0fb725c7a8c23e7b80ee9d317ccb8523709712dd8cace448ecf8e4b69c596db84765359a3fbd7ff71fe6ef8de55078eb129d3ceed6db6c579f0ab56a2cfe2dc66cf50d08a232c1927308ef2333d89ecffc8712c6c117fb5d9907766585c676e748200e17c21e82769324ae2043e4a6342a8bf3480ba35d81d5dd740b153875a17051a2c31f3cb48ca6e0ec95f059d94d133a73d5cf93b71097b806200dc08ffec2e1a83d0a4756535d0d532e0bda0d10e405daaf8615ef980e3749c7cc792bf8901deac2ab1bfb994de9b3c20166a4abceed778b26ee04808c18273cc0b8857dc497cb5d72a3584098d177952fc2093e53e9103d12386a714d28f574e033149c885cb458f4206dfb7035c8ccde50bd338032006334742cf801aaef6ed01e8cbbd3a1cda62dd0723230443c15cb2a6623cbee3e0acf8d7332fe2627f329179e36eedcc1ff488841456ec1a7c765c31886d0ef3f431181974c5d1165ca2773c15e5b27e8533f2e6af4074de95afd03dfd8bffc1c2352068c4c45a2e6fdfbc076c2e83f89d016876f0ac321f88adf669054f341b42ef5579b8013a84b7be82f042111c69f6e51a9d1517cb843cd294240800bcf5a0855c3898e28ec213caef3b6cab44569ef672ab635818a83528dcbd4702016eee61bc7d69d15358f62c00f20259525ff5d1994294781cca5f2a285cc6a1b785318a56703543a1028516d657980db55e8da5b5ec00b16f20a7c5ce1624031e7cdf3ee10fcea209f976de92af3d0d9fe9a4c689da11c8da7f9ecd4d0e05b2274bb4b1a484dab26e744dc3205df0e90566894dfaddf9ef8fcaeac33b8c978ee48ae87bb80b5c9a1e68ed0df9235fec211d0914c781cb60cdd09e26c8bb19364fe7ab32c8b0b3ec821d933313216a2a3b3d16f0ce0d700e76ae81e760d5017e169e86c5292fd03ac2aa76cec057bc9f9fc6baa1f50a3e29627dddabcb75b1af7f0cabc571a34c5d7c13c921aeabfa2975ec27776dc953a745168a9e74b76f5276eb8375487685ae5a42bb4b44abf32151a877b3ce823ae3d0531d5b52db01dc95c339012f7f0114d084ff870820a5d4819f8b5c68a0989361e99cfa13ec5bf6392ce3ae74df744dddc6f142a4651c5eeff0a4416b4699ac3db451765a39a7629821aa288696ce772935bc2da00389b3a9db59b7ad495c0117d4af8a182d88ce4ae7b0f0db8759081304f51e44fa5c2f94c29570e43f06f8dae40bb0ababd178236ff5bfff6b82ce7460f655581ae2f892fa6e8164b2dcd07fbf1ad37fa6be9c3f897f4c753857c9224454cdf5042187d58359f5304fd2e98b6bca5e4c67143235cf43b31727fa0ca639a6fb45ff40f75c69d22ae8eabf8c3e5686bd6ebc3bacba83f1525cd8ade2c6885ed2fb2984407626fcc6db1df9a103dcc5cdc3e39d6d7cf428b47d4b2423513d8d8e86462996185b1ef1ccbb47255fc4ffaf0404307dc8ce1b908fe0ffde2ec0c1444a2586761d247f7b3d5e8fa1c493e155d1cf2b2fd3de8df0e03fd8d775fbe19d6f0d846e0cfc040e31530e2eb7f84325e6bdae3755e69240ab1944df1d2ae6803b5801814f450890d505f9a8a4216e3826800f3a79151101c1a4743b3f65b1b1cd6ba4fc2ef149e76a950fd34e77dde071ec3b1a8a7a47be983dec0b34efc2d57d7645cf4177b8f877a8049524659f2dd97df2cfd93c2b73590ecc19df8cfe9a10cfa3f48c5ada1188348db03c03a3f24b0271ced74d5fa6d4ba5d8c7268805de8d1ffc7e49430ee1960a996357db193a7be74b9679c691e308040406b852578283e43c94ab88e060dd688d7da9df7cd2d584b5268e9c2d4f7cfd414cfede98240243750ddee7b17a98433e0bbcc9b87eb4eafe8a9fa74b6284e5230f25542dd03791f4b305c0500a0bbddf9b410def0d8b2814a9da673fdf698e6c2630612449c77969041053a0c68e9c0e0bb6f812654de141c16acfc7de360ec75e3adb63f10f893e661b3d50930f79071695c94198a0e759ac43ec06b7e0f0845b2ae87473403eca42458d3c35a116995ff6fdec60316de06fabcd5a6c29f99d30aad330d99198492b4715297b14f098015aa16336ca5f3f83746607141a581a63555aff0d476fed3a08a8f9fcba00b3316d602e61196c135025d27ba957c4d17926fae66fff492697faa04561ebcb4f3e089f54e997901259ffd78e20628fd30d76f4f0f43000c4d5fc5e9a8b661cd7865bb38f62c827abee352d529fb14a213e0b6dafd11a33583635630b4f76869a363e8223401b65a36279c6a387ca914dc05ff1d1f4db562a50956b70d7340743a09c4bec6541d4e336ea88f6027515fe981954be922e26d1028302010b044cd3fda9fdda6ba2515c7659c3abf9cfdd7ffc96e44a45a3664182ce6407d061495bf7538401741fbd73b51cff56334a8419d2be6949824cacf6f166ba58fb101cc7fe3b9f9bbffe08771d348d3ec3818200ce61735be25f10fd9daf563265a29bace699fb24833b89c0c71292757bbd930cd02ce86f55bb7a72b4c06f1523404fed9e535f3936808ac83ebea46da6355efa3e96385e9e26a4a30acbe8ea3788a66fbc1a4915f7bb919dab6155ffa206810b307d93cc9fc1437182e377b35f09c7bcbc5f1e668710b2542c4d7f361db6a23696aeb730ab4c4a204f1121561d73ca398f2f70a147ca340f0b02b591c35b5423a60450ba488cc6b569af2f99afd090a27ed6c9a792e0a8004488549b3c3d7b2b7de5a0dbd5d19d6f7b93897d0a27be6687b8783d33a803192657d8ee0334e26f956fb7cd5f9174a02f8debe8d777ed845a3ba7d1acc19785cc578420bba3897fac01188278cd9f4e09000b6e5a8e631b85480a63982b2824826249b328a5ad238f09c58c0593ce0d6821c7e3514f8e6917018790019fae6c1ef0114e9e83d4a60bb0368cf87204f6434995c7c913a646fcca5ab8e6c1936e3cd5fc0d12131877a2d424579a91e5d34552cba61591793d5884e11ac029907735ead6457e5e677acc19158b7fa45ed4582533b7d22fe946ee8e3497f4f133950f4cab85f9a2ba1f251816780881ac95eafd9bb78ebe2060a77834e52c015337082764fdab1b16997f1828c453b531e11385c214b532d7d4749d68a8ca05576b8a55fa647485e1f20ebfa57de853a5506db9200ceb84ccbaa2805d0a8951dc3d4f52230eb812ba68e063a261f2cf7e300947670ec3b7b590caff0bd6ab42a41187cfbe1fb5cb49411a227576ea522bda351b6c73b7fdbc6af5089c4aa645199501f9d32bd7bf8d829cdd566d67ab74bcfa42e3f32a50acab81ec488019949914cffa5d99397152c4992c99a1999a524b793174923c323f8b49dd0f916ae6e10391e019354f201bd0d82193af358e67de315ed2eb511eee34dc9a371499be0433c1071aed075905323ebba93cfa612f6fc0c77aee10060d13fcb0024016cc793ed95118c3d94e733b5459f69dea7a2a1ed1be39558d7e4239f97e08b660f407693622af231003ae72149873fb484a6ae34409a1f8790f165b87752b820baab9e738e9f55f3de04108090f06c28de5ab34c3e41aa03fadadccc0cb360998c931278a4abe4d18f2dd639d5592fdc1a09bb757a086d79be9a7f92bc600bfbd5d20a7ae46970f48c26a7f2f3c48d89e918a66459217b2d82daef814434ee5918e793de6d9085efa8de24329b179c8c1d9781f6d4459bc3f10507bc3fcb3b1ce4338cbd7785c4bf59abbbd1e9623b8bb8bf9fc922e7abc4ec6122cbd98641d49a723cdb3d5ac28bf58258018d0c8884c0b7bbfa51845ba57ab927cb930b085846b0e6e344a95ed7208a08050153486f8726de76a2e3893e50fdd55b108be7f3aa682216d8f059e5c8b4cdae0162824ae613dd58c4d1a8ad1a46c19a50d410d67bbc382be656363bdad57d354baca0564eb2800374397b24939ecb2da928b3b1403281d2e121e031639cb19e8c6484e3e2b8749edca265dc97975fa9164670fb8bcdb2afc533a8bcb53c3c3e15cbcba6031018121bc13f0330bf64188137d024d573623ec57284f8dcfb99dd199f9694423ba263ded858c9f708bcca44d6847e059a523e999b6079ad5adbbecde73f04ce0fdd4a017954909f79704f8ba34acbaa22c32c332d1344fd57ca944af0ca2c7ae5055c3581579278cafdcc4e8136bd201fd988eae1d33f7edcba6feaf4f2503884771bd4448dc97f02a8a598186ff169225896283ba44525ee6ac07472928429e332a7f1187fffe9572b27627c9bec28a6df43191787396ef1ee0f58b040f42e1029ad8f1a6106f58e5ea36a10568ffe08eaf00de68093c8f61322e56cd0d7eafac1d929c2e37c7d3566817efc584a751aca6d268f6ec21c08941d6d4828eb33b436d43ecf483179f73572524cede47a796ed2812a141b82b6936566e2c0e72360e9f4e9178e38a71d83804de95e1dce1964d720c62799a391cd4ef2ab5078a6028d8f514eec2787b5e5a0f95dc926ae1fdb406dedea37dd6822d67592a7934f87f85d5a0b1f6889fdb388b3e633398264fad621c24de06359942b009264e7416899c960bc826ad4b64a6bd1a3e9a3aad5429bb64c629e048d2a0e9cb64a287c996e574f74aac2a235b1bb8605ccfe08f47c8fbc68c9345188f82e9930beac7a0295710d486fc6ad6cefa7cb5b47a5153466d55eae939952ad1183132717c762d85d5907c7df3630a062c74d9f4645d9e683e922edca7fd6b0741f43ca1855643e7bc6a9e9e41aee76d53a267f0ea3de1818c5251534a92a473b4a62cb08049a01f4f066a5633b8d6c8739630e125af2e0f00c5638f8fd5ed8150970c3c3555a5fae13f71598009c6023cfa537b991903a3d6dac12a6ed4e5137f93f82e59cafdfbeca6e117970ba383eb326720fa73d37f0ec20bc097311be6ff6279295437189f252da372c5b0bb47c7d00840cf19e3cc35c3b1eba7a6ead5a2e6a54eb901c712138b05942b918fbe4dffabc8f4be81e1f0554055de4d14bd3fac72fc6f93f5fe8c354fb182a9e28e01cb21bcbb9964465be0f686dbfa6804fb72476884e563346c80b151d303393793e96578995b5b06e50afc13bc60793038396aa1d82ab13c773a2b4ce54a6100ba2482ac27355fcca6680b4ff1be1f618b622df2ad752e51b03eb8f7ecc08c468243ca4f71662edaeb66957c04cf84b60ed768943e2f5ae4d264cadaadac464a32a6a73f1363cb08b8a9c6219f5fb3e60186bae8d432bc4480eff21d9d15d76608443c9bc24901ebd2a07490f4d0d05b11ce361c6593744c1a9af61d90de5326d262fb1669a2dd033ad5ed13250c498a10e6661a525d01a0f15fc899fb45f0c8db9522f47d16124115c50b8fcc2a2567454d670e53e81ba83c965a29766e766509a685a91267e45884a46b2deb7294fee10138f866e65704c6ff1839c51ca9670825eccfba3f757f45b2fd4cfa953b15262ab6a20249a55eea001f427c1df1bc57cf3a66791015e9e23db02366995af256220c1d48f32589477da4f73494eb68381d66a81f1971950cd1c3fdd52018424c6835e8de9225f99c56a98c66453f0026ae7fd26849048a10dba905dc8cc4dd978c4fc14f676546c1a52016530fd15175eac827aba12f827b4026a40770e748d68db0b9cd809274d0a9a582037f509430fcf39c34e1eb536080efd16055ea8391b5ab1c124d8e61740e3b5e8ebebb075f799ea3c812a5f690e2c06495e1d90658a34c742dac2c61a5bc562751620a20a382ce41654f20035589c40933c9c7fa503bd634a00bf57f4b625719032e243f08a1cbe2a4e7847923b8e2a3c2059fe6fa8dc17ac055f22eaeed9be60155d6d23d2fd40fb15c75cc647eb721ecc6329ac9c8c750b0c2df7702914947668b61cf975493c689cffaf08e48d14ecec7a01d5cea140e7dc9d4466168b80c4a30d5218e9de6fd32a7ca89ee3fbe6dc2c84e0971f0f51635aa51be9afd5137328e9277797663570c6386ef894d7fc74fe5cdd86ff18dd3f7e999cd0443d48bfcd878f65c7693c245c9035124487c657175a97c405cb8cd4cc79f7bcaf23304b9327a85c4264119164280b3aea2b67a25cd94bd744f5fbd67334f655dc698966919bc1659321594745d1ef46177e061578330a4942ee2b71a50236150a5cd65798b8cb210246a5fda6e875475b854b13b903bc5911438aa01fdbad2d559cf85881db104aea71b30c7682c59c884d70f6a3c92892c7de3b0bd3bc535473bd32afd3bb04337051058489f921af6bc9c47221c55a92d5980e08e4d118d415275ea54f6ffca0d5757167e934072a345f2b345d4f9b20811d91997cff6d4b27235d94ddd205a52c3f86c40f4addb8b8dec829367bc69d9183078b1233dba6654d8392e8394cccd4b3de9fcbfac6292d9a23fc5e8a270c8c82afa6d919313a5671afb52a4b2703504935f0a0f1aa9caf8efd7bc7f24820e8ad80e199500029b4ed83de4ff53d934730f5d877925e9281b485883c44df4db7fcbba53f843a90331df39c680390d6968a79cd1fd4d83a18a7bbf97f430180541fafac36bec77715f76b4d375295d94ce68fe0ede31f1c8ec01761c5660ea575554d5f72c27197911f775d28ad11f96eb2ce8812ef1439450e418afbcaf9cba097c9ecbf84a4061a8cb2f38c42661dc94e52a792c7c2e60fe4b7801bd83c92d921ecc7d01eb1e57c3909ee8e83e3f3cc1853f947c620be7b4b8827c8116232eb94f033780f4b2177125d537e3b7d5d51db66e8042ed0d855a30112e1d3d73191207edd1a6c86807709c2c6d477eebc405efc9ce6b8ffc0663da012920dd568af4f9677f1c77a839c9fce3df3054ffab6bbc4f2a311bcb779e75df074eceac1cf9219c159c8dbfe3abe75f913d57d48f8957ce41fc3185092e09b4d862069700a481a73a93c86d5a9997e07658232e8b516d6de3642102ab8ba02a12b720cc980b37aec6bb4fa2c8d0c5c0f3d0627e8b7db7b0f1e1f06c03dbaa77370015579573b1bfcfc7d1add2aef61897daac7bc32633bf241c6f0246f282afda5e2357007367f24bbeff0547becb867c0d6f13fe835109b9c6056755e1dcfaea9484e0a3f95b5511749a0f9609cc807c9e27a5ec770edd5ee60b0dc0f9dcd9d0795cea544eb1e713a09ca0b327ab748a8eacb4a88202c1c1df2d12d1737b7dc6e2ab6e633d2bb5b9d1a840c55086de291aadd5994c1a7e861f3301a240552096d2a3ae2519458afc5a7dd00656d80b01e153f0924a7c7e98a84ecc57f2c6b8a2358738895f80657a961011339f69a20daa4e197bde02bbae72bfc10201a85219392625d289e191b7b27bca47026b34f8531c10d69526b40e5f106589658ce33285394424aba121224bd6204efc128091f2932fb2293358fd52007ced80e46b9094a653d9a58a39214de6b18871570cf243fdb1b900363c58e17287d4ff42ebd543c4bd234bf03fe32076f71103c993bc5fc325db5ac21403deef2933b49df27d3a31e0ef753b8576e32a1ef8596b7d412330a96377c7e7116ab1c090735ca0ae86079494d04c5a79a96501e661e259abb3177520fb5e66f1c871572177770b09f993e24663bc91f47a9205b16a6a57cb542f341cfee2d4b0dc18a038b292c242f7f0992eaa9a4c7a927bc9cb0840828fc93b0b3a4579e652c67a21845a7126d43b9ddaeea832435163ab06b3664b52c4f479fd0e7f58fbc04f8bf02f6511c70a6c3a43230fe0679eeb624bd4157be3d37c3a173b34e52323102724dd5246faa5b6d42725ae4b24ed20a8c596427b5b516a46a0ba1e81c2b788cb13e58f598582759fc471a9cf4d002dac3b792d8cf94c20d97799c35dc3abf35c9b6b2d445ecb4b373576d5855f54a18c404c39f889d9d2d5102334aa2c130199dea4aaf20d5aa1d85450993581910ab3ff282a3bbd5e5fe957805ae2b76f5a7ae027d5fb3cd97fb790f816565717630b5f332f9aade77e485c49bb09761e7b138213afb19c4d203042c39bdf94f34bcb1b58f79866f9fd0abf6e263da63ec894fd81fe7a921d8c0c30dce15b3239443f3aad6b596dd9381e047871a6be118c63391fb644d7e2bf0cbfd7cf773e7e98aeff55940d28e64e7621a1cf05a396521bf0cff364c1dfd57cc7c308a35fe954917e6a368ba53bc0ad40d05408d5808e82bd30b2f2773e0b0e8fb4e48e397568733725a910e54726d16a004d27ec4e1ed1cb18ad9317004e0a5c22f6826755c749853b50bc7c82ab2abba994bec12edaef9f4da3b8999b07dfa75a0567f40879e913c97f1c6a60d496e15fa4501aa819e223d5af5b700e3c83beba614884983c147c0f44575b2b48016af24551797acdabb47ad56b32cc4067bdb1c1b75ad57fc90f1e364b6a5d18f4dd9642ddc9ba94613e8da60eff7836c5f0325c6d6b358d25ebe4bdda548b2ab7f49881235d8c80cae8d02acc1ef9cb444867d92e7cea642200c18327442ecc5d7f1a7d91cce4111db5ed1c54aad096fb64f61a75d56b5475ae89b38ff0743f4629020332f47cd49c7ca04d437cc4cf6c042bd9dd99d4c7c83f91953aba209ad85d0ffdc36a51c0dfc6be0da4c47955aca1129540f720f393a01c4ef5ed070223f4162bcd442dea4966b851156314917cf9d695d28c89a9e29bf0fa4b97494075fb4004a5daad4b9ad65910d521d9116585b33e981e272cc2aac4c1b43c698d3f07fd3c5dfe7b77a784bfda7c0e7d4d8552332120973ecf1aaf979d6f6ceaa8a166dbc36ba2c51c7a368a1208034e1ee6d853e8b7ebe4ce06fec2508acc11951626690e9f0a1538ec4fcc93d1f4da99ecdbe39b372b794254f22a0be47390ff85be7096db86ef0b256bb4953c5f20bc2cdff9d0c2a7dc2a715f93c60002aa1d37996e04564c344a45a8eab427c82fe71f9504e0728cfed23854f33c4e86f97033c27b80d138e94a209dfe0794ad8f9ccca3b019ce2f63a028173bcedd4e48a596a4d7c6ceae5095df67889c3ba66aeed9226ca616bd1f2ae5fc24569464b3d24c4a39d475fe5888a72730f2595d522ae9255a58d439fc0001c565ff68b3df5069944cc6c99f41577b3dae9aecd3276484337b6a293e00634254f2f568afa59209eba861f6498b2d47f3ac5972b1b645b433e4e0b3126e1637f1e838479f2b543caaa31b9ab2963921b106ab29f7c193f615f40c47a1da940b3410133774c20713b767599709be4f9662652db8e2b279245740958754fb5840ce98edc877b5e2b85aa96d01a74d65aa9380fefde7e20a8f84649af8e259d19a64308e693a63151ba3070876a3a928e2240edb28f58372e97d5ac2c15fc3bffa41655895dbad707cd5cb6b8a426408664277719f93042fbbca653791b71d46a839ca00dd5cad8a3b379bb253c72d6f1aa6b292d8800492c17adc6a8aef3b86857e007cb813cd1075b082917db6ddd9ca76afb6251dd418965d7191edd9e2bf3f093c0e70d2552ebcd3d4092c749097fd8d2e659145c9e9b527b358ba221df656612b5624f4c205bc6b3281aa7db57ab9b460877f413f6231db923b3c2e1f400f98eb9ac5c73a9d953b9d100b249c76491963459ca0cf9b0309d77e4350c0bbc9769f874d705a13e8534bf8e9ae9ddbff494c01b8a85f05bb5a94376b126e90e8fcd4679f999292387e8b75307e44f0cfc29046a430ba55b30d819a7035553fd48eeda421f97e94eef99ec76f2dc6020dc40c118e57954d450bd3bb29e8931a0420fda67b3ff6b36048200b000c447e7630bfadc6d04cc183468405f0490d1974a3239d8ff6e2224c9965b76db7b6f29539201f209c209eb0a3b68d43f47c27d3cdcca9baea9cb01e2df714495dedc1bf5e16f02c0bba516d21f2b234cbb95f5d6e7f07fadbc6ed2380dfd9537999e9b6105c1beb2e1decb4cef73c8c0d3fb976d59e8acd5cd1585a7d7b221237373c533879d36eefc97850e335b37cbc0feab17ec346e7a989ff19b4363fa1dbd4d7facbce94d3f9d02f19e66140805d2fde4eeeab3a777f538dc9b7eba675b9ee779eed916f56c8bfbecc6dfb3ad77eba3f52d8f5ad373abd9d487673387396ce37770d31b1bb747abbb2d3e5adf7d8fd6853b9887531f32f33967d177cbd9961f32ef7a19202f74575e0963a877f3106cfaec67466d63ce6457602c006ccec1d9471e0fc08f02305a79497da4f0ca9546fad27c5612394b0a11179cb3a2ebc6c010888822016c357ee63d3bf35c1493e9b92d2aeabd655b5cdffac62adbe27ad5cbdcc05927c3918b69c3ad5634dfd17b7de672e4b010c2bc2c84d5a27ef5b31bd3177a3efd1ef3e9efe03efd779fddc1ad93e1d3a56999d5eae55736c64f179777f9199b51d87b97c5c00fd5cbfc4debfd07d5fb1c8764462ef62595471fc37e1f33db3d3d3296b994bafdf72f488031d1ae5ad1f34c893422f67892ebbaaeccf2dd7b76bdf76f10d6d47c8e97f7ab1adfaab9b227c7e55e573e842899973d37b07f6c013beacec8dc99f7a7f4334d74a937eb64d8f42e7fbade1575e572f30ddcbdccb7ac7745ad71751caf3eb3dc9b25ee7ae0d097787571bcbbd2c9307d99cf3a19f65ee6e61bb857ae8e63faadcfaedbba5966b89fa677982e8ef7abefdee98fd5a569998ee6ea389e31bd777128bd342dd38ee311ec3fedcbbb7df909b7c81351a787d1e5e7b45d7ec1dff2bad6b4347746e6650bb938c611fa73463c3f5bc37bff7804b33c00beec5bf9be8fe5d2a7e91dde0532f1b79201e07ed6dddd79c4cffa7b36c6cd3beed3bedcdcf8e5a9ad51e3bf77d5a8f17d8dffe20f9eedd5b05ff631718452b814ba81fdaee8eb08b17c8d9bb995f7e6a5e91d99faa56919fa71e566b765bfdf220f8dcc75b959d5bde0bf7a589401715bd3b7108743e3d6afacc31c26ca6ef5fd6d5ddf59d7f734bd03e2ef5b16e22d1e997365330d78d59299f9da946ff75edf4c03a63e98feea3bd3c330fbfbbeeffbbe9ff95ea6659aefea77c5d0d8c5cb2f38bb3ee705bb7ccfcff551fe66618c8fd4c70b8ef18263d0964bab25f3a8a7379f321a43ebe2acde4def13086ddab46953af6bfa2bd7949932fddbb4ab150d7e5b4cefdfb598defb6fce69ba3ea0b368a001fb8accea4546c65fb0cc95ce72bda43f5c6632d495a7ab1371eb5b5fa3d5eaba56e7130a8d0b8dd344e832700fb5ccd39f32d65b0f9db57a19ebbfb25f8beb7eb51e0667d19f8d691ca23094fee966aec6cdf5661506d2a279d7431a1affba8e66d274ddeae61dbc7a93cd2f9806ecb59ee61a707cb6017f37e04f07fc3dee1c32727caeb8e67178b86b6c0e0b1de6656568c0dfcd5ecb9a5636079b333b97efbaa75df719986dbf9fd6c7d7266aea1d1f9c5defdd9c1796aba3a1791e91c6ba3c8bcd3b47b0eb576ca601bb26bdd9bc18de8b4b9122d588bf5c6e6eecf291e3fce9bb7ebaac8429a13696efe2621bcb17dcd8c5368e45aaec7145e1a4b8e414579642ae87eefa8edeb8ee8dfa82612ca204097fe588041cff654444827cd256c68dca8b341861b11f7f7d5f2288acbeedcad4fad936f5ab794dde795ee7ab4f7dcfd66cb5e26cfd6cad7ae5b23f1aa7f2e8735038f56df34ee60375030a6b38f41167b59ee66bc8a49ed29f9129326f68a2cca362a8f14d5d7f7a7ab3cbfb8d3c31c87c5f9c1b5098ba0fd33790ef698f1ddc3d7db719857dfaf4d95defbbefe1ddae7b743b4edf64f3fcd12bc0f5ddf37006d07e6a5bad07d2b7c5fbfed9e27df79fe94da6dbe2dd17566ffa1eab6b32bdf73d4c39077ff337d77fdfbade15f5bb405cddc599799a83c2f4dbe6efe6a0b0ebca991fa59ecea06abc3f3db9c8bccbd49091f928ede67f4f65fca33fbb9b9d3a129a5544d24af01c71569cc2adde2d0d96a13734335c77effa391b773fbfadb767fa1edf9bbcf7bb8379c4b632dfd9c6abe7e1ddab7be82ed7bb7ec63bd77717babb687ef4de90e65bcfc33bea83e6b69e4794b1d3429a15cd67fa19afa3332e0babf7ab3f5113f5feb44a7dabf5ee5d97ff2cb53908a6b4c60c0d7dd7574b33737375dd8cc232f0f7dd0bfe7ed678e8340ffde57ae8af99373df49afa32356e46550b1d86e6661998baae14fa5ee6660e7fa63befe9bdec7aee5d287d6f7571fc5bdff447ea5bdf7a61cef99f7f765d1dc739196efdcab63eb73e033b78fe6a07b774dfe2bde97770775b562ff33bf8fb6ccec1fe32b6c7f7f457d6c7f726dba3fbef3deba39bef7a1e91269b5ebecbe621b8f590beb0835be6b7f8f8defb1edf0e9eb7c507fdf93dba9b83e03c7ad3cd41e1d6cf8bdac12bdb98c6e61ddcba349f7a69b30b39480e1e7de4c9b42cb551a14e23296f09ab41cd2d190f92242db24a56c488b3589f258cf5a9140a437a2385a4c0ac6b0114ee51aa8e1e467a339247d49714e5b925063da1a2252aa1018971201e6d54a839f20c6d53a81dc4b946249127472698092af050131f0ca9c01088892878be3fb5384d7bccffde2d7d487fcc9c1630a51ff31f8ca716c6d738a8590a751295b5e0acf831d66158e8acad54c2220e4d1914f4ea5e3a127f4f83621e85fa7d96b11f197473c42b33126b6afe0b12d236f533232e9b1bbb3aa88327d6e4f8e8799ee794cac4bc7fdfaf7e7e560e395d7d2b0c238cc200638aa67cbf92f9bcfad6cf55ebfbd5f7382b19eb45ab9b1fcb7c5cad5632dffa29d3fabef5adf61a77df752a45328abf502f9fc49a3a737fa02802bd372a9d1ffd497b507a5b7ea49e3ebd38ae4f3dc410c0f1396ef4893091005608013ef2449824d498fb5c14c871733eb74575f91a3f352f23c0cb2eee55a9601166446990f732e6acf8ced129e42c28f4ba9043f156b1f5a61edff790fb4bfa79ee261b61d188bf5a9fe9f3f77d9f23ec7bfa997abecff4fed3048b91ce49fb462442b0a1222f9a0f056c65e58f0cba3266dd1fa79fc63b8f35afdbd17c3cd283e6bbc6b640e0c6bffe757720c0df7868c323ba465fadbb580c489b65151c7f4a218bb24f70d8967e00f4cc2048fef82b07898370a412a73ea33d528f034cc5fc055d880096d3a2def894d580c438a3a7f94fc664cc8b380c8b78d114d963c306113d3436fb8ffe866df9befe944fb2a859f6c81e1b369234a1042ca73e036863c37a40c01d32e6037c4d12f40e2f0a41bf3e10c01d114604be687700ea883fc098f841481e60b106da18e169e739f204c78e3c4f241547e66809232e86404bc062d758c6bcc051c0f13312e04b253421be17c925c82d7e803a24163cbd43429152bc4826e10b1a56585561061519546899420c29c098a28a020b1456bc4815a19e707282a90925299509a4257c5d50228f8ba9842e09a328dc169b165a1699b7c43a628c58401dee7e04a8a34dd383c9220380f1bcb6a318450094e3bc48fd66ff4f098e0b98d490554b3fb786ee82bf4a31f5f2a03724179cd54918026e236418336841daa506e18fcd120bc01fec42f61d04615ad541dd32a477b468e2e91ea2735c2698f0c5dddd7de3469d0ac2f4e7171cdc07ac23bf31a43f382c6fb6015b14ac9085aa1e96f2e57df2e3287777140a09ef1faa3f92eaafcfb2cef1b0ec66c19ca4ed237d95dac71beff631de9c83bd9f2f64599665f54d9f57dff4a5ff78258cf19e877bdb8d0fb72f59e8f58e097fda0ccac039499f85f069ec707cc1fbf9777e0fefc2b83d37da9e931488fca87d76258c819f5d7851ce825eeaec0a5ccf285f8b34229182671a99b07925c75d9a9689dfd11ea39f1cd731726f21bde12a8c47b7c939e76cd20f6999534a2438cf786e366e6991cfe1cc27c900d272657090245f5667416e47c81057ec8f3db19b7bee66afe338446c71fa4934bd438bf199fb7825c78d3edec0915e1dc7a38b339ff4f1e679751c938ee04c2505fc69e1068e793e29722d3170df37da3ce3cadb223fd6d4b0c2a2eaee8fdcbbb8784493f1d9e778046b3f1a71a47e8ea665b4af0165b2ffc57e1a32ee8ccfb2473f0e27e33b0ac4b3f72f47e3aeee8cbe5946b419961a9651624972b58cf61aedd13ffa2cfb164b3f86d52086f1ee753705e3a65437ab9ee5aedcd2a9a6228c6923f57671e2cfe7b6a7e91d19c7d57a2789bba48b139ff4b3b3a9e332dfc0927473df96edb3088b30fe2a55ad5c86e77f9f6f60ed27e9bdd7483777d6b0983948e2febbf906ce1ee6d1f48e7973f7da6ba318238e33bbdc90268d6068f1f2f202c3f2674388e5dbc85771db77583eb70494d2092c391e60f95c10b0fccc0d6129b9222c7f6e0d61fc8ee8e7e136b2af2bc2c8af428536fd9954442a922f4945584a1f12518491cf31814e7c3082e573439c14f95c13e992024bee09969c10965c142c33974f0e7f65a98407d10d09fd85000ef6d28744146b3ade1767b5142ac7c45ffe1c09b811d42c63586e321675f09f40f5edc98f954d9c25fd79780cf9ce923efe72ef8a1aa7600c48ece39763e22cf9849a9f0996a4225211698abf624dc32aacdb62421b9b3f1efdf6f071d4d8dae8b7a7d1bad1c20be7afd1e546a3c88db2d1e52e94b146daf8155a8e9f49ed466fdbddcdf130bb872fb9994c1b98842618f5a4e74cbf00192e0c1fe9f528aa0cfeaa30c810e45d199ce5bf0067bdf0bdf738df7bb7beff02648859621cef7524e639d24aeaa3defb33ea473f51b6958c6cf7d4473d90fa38a847a1502825b17bfc358a7814eb6d24ceea1eee1b090c83a1fefb5a51b3fed75921dd7f84e19250592d10800fe361dc1dba870f6d20f6ae8ec4a8277dd31b940dce72dbe27dd6e23db48971f22c0c0b90010615aba66d7a681e876101df0d15532af1f79ed59137d5dbb32a67a1eefbabdedcf861a454b3daea0ee32ea1cff25d1cfa2befafb22cb76174fb3c0859344b4caf7fcf23d61b94ca5f1e7defdea81ef5ae8e44e520f1771b751bd6307f95debf8bf8ab9538cb666f2a5dd24f1d844ceb37f88be45fbdafef3d4eed1e67d55a8360b899f4df4f92bdc1da60739ce5dedbe0afef6df05763ff9c1b3c1524e2b2509b078658d33d9c0ded36231b54b54c5eaf996c437a87d34e53d870b1868330fdf0e19324267cc90eeb1d0d7938ec7e064398d1679b3d96ec97f366158ddbe29f53388533a4d2038cc99ec565f2663a78d2ff59d93503d4d19ffde8b397e101b046870893fd119280b326e02cd35e87983dc75515a4e2136bda0a08937d16b12e70967981b3ecbd99e0ec730ba198f867190777851e27ab17637b0b392b73184782095faca8ef028f19320b4718cbf0c9cbcfb0af8be5acdb726519cb052b54c11a04e0a0882733b0020d9cb8814dfc87350680456108482c19c2a70836f1e14be4c1cc7e3ed451232f6c4da3373844097b3b827be93010d251bcdb663b2c6aec11a3b3321ecec5a6dd3bee6ecb8f91e3fed1c887f87018c60176964262b81818bd0e8731a053b1f60d65b42c6f20068d0289b83b07c7a3488148dc34868847d13b7edd7ba7d11bedb920d4f8b577a2ccae30210c3ca31be5d0b8e9c51c395876ac5c3cf133e7a4033d584a29e58ba4c00f4a70e63850348a5508e483149cb92c3bc00447772ee624103951821473bedcb66dd3b42ccb1177761fdbb6f9f6316edbc72d939accb2ef7edb342dcba48c313bc7e1b0611c4ed346797653a8fdb083783690393f9bde7c6fce69e737cd7efecd77d63bdbdd511fdd37ced637e36c5b0704c79bfbcebeb338dc770fe9f6dbe8a27666775d4cf8d2b023122487b35af888f37f0ca265db631ab61b8338cb6ba0a18620f46594d671843ab258439645274f48c1d26a18d21868b83c60696760485fe098507da3024b7bc290de402e93312c2d0a6329e5bfb01e8a9786ee9fccbe851cd8ffa36a0950112ec0d2c6c090d6581304c2b80b617f1eef8b89a34677c8c377ba23b084141c18022da1049639608221d01255b014f21706fabfd7a9d87b8e6ad855bd9a0b40987853dd04ce03fd0248904210c604918764f3b24208f035114927f1be733a9f523a2fedaffbf9d9ecddeedbf680e37b477034a205dcae0423f1243928cc729c5198ba942a808ff12faf7a1209da52a74e69748f5feb3df76e3abdbfce3bb845ed74da3fe9bbed6fcffbeeef3d6fc3de0ef69adeb43ed29bf6f972c85f99b3a1ea3ee66767e59014ea3e4ba1eea18df94d8edecceec68f9143735e099de51f33e71663f3103c33c4abef7b77b5cc475f878ed2afb37907bb56d3bac9b69eda77b55a4f23bda134bee056248a519c3505c36008d424084f1b1f73730b38e6a150ac81016162626266704c0c4facf1bc37994c5eab75695ede8b59ad56fe831af3390ead6cc0f8981adb516acdb794fa2bdf9623aa7e83a0f0ca0a4b000210809f38aae9fd8bdabde95ddee78ca5f43ea416d29f0f5b4f5b552ac48e5ba88710bee4e0ab9fae7eceacb825d4991997d3f74f9c7e2a614ceb33ea63fb1fde9cbf9af96967be67ae3472d3dd748fa3f6bde964cf1d7971238f90863bc7bbe97b447dae8b9aa5504ffd3885dca08371fa733cecf2d9c3de7b3fdbf3dc5bf188ab5b27127fc160b89fbb39c7c3abf77eae6c44e291070b75f547d45fbde0ff3c3c1ef19a0a715fe16dd8f8d60d828991175c43ffda6479448fa70b614c772e3436a3b0c972a8999ef9d6fe7ba731a0be9de6b71b91f8b7bebd6fdbb26d5d3f5c4f5b96ae7a75730e5efd9c6de3a98d9fd3b6c8c8dc1eddbc90faa8f12ead6fdbf2a3c6bbbc4beb6b7c3eba9fd49adeedbc01b76ce4e0d65318da859a39ad7c5befe7ecffdaf38cc2f3fbb6b36d3499da4da67620d4bfeff954e65220fe7ee5e7195d00cdf76714067f7a597e6e5e5bd76794018d69be6573bfeb7a57d4be392c0f29109aa71787e6fbe29cbe730eeab3d96f0e0ad35ceff459ff49bb3a11a35e27e299ff66be1f7573e399ef19b7d435d7a80f89fb7de6e64514313ac14bde7ab0f7c3afa3e7ba1d9b8490fe681c87380b6d607cf2441bd923b2e72c911b60b0f8046eb6fb71c7ad27932598fd9b8ce7b82dca88da95f11eef5f95b31caa6a84e1b0c79a7718b3a8d9c5c3156b6450c528771024048e486278128398239e910f5c15463ea87040409d30a6de745d37dbc3515137f4fbfc0a61617792a6699aa6699aa6699aa6699aa6699aa669b1d68614c674dd6ccfe39787783ddaa337391ebdf1ecc563f4e8392fd9f5cf39b008c749bd8f7a6ef38dafd66a8279e7fb489e235133a77ab927033a944247b6e0792d400e96bce39777b02491aa87a3429e0a9d057fe2a8282fd65289dee478d8bfa4e3994cf42647e5b7da30735438bec7d309854aa5e80d8ebaa26592253a4bb38c6ac9ad89f670ec367b6e734da5622ae5a9e6bebce3994cd4f4913219dd646ad4e7aa31844c5a200ee117aaa08c3f0851b3cb55b787b14299c19815337b99f9a6651940d5e8b5ccff371313360c2a8c42055070f65eefe0b818d05fbbad7d4bf7577496aa77786d4721a835567904080a25601558c5ab4c128eea4d52e788314795f2074fb0fc39f240cd2d1cb587d16ba3d73614f7d9e7c650833a7a0531c4ec4dbf598dfad07ee4e1381abd36fa388a7174616b01b0a69144addb081218bb07cb56e246e0a81ee9237d1b41bda37e6ada28f57ef30b06ac4e63eeb7dfae372992a56a7aac4d24b166de0e0a421284447650108c91df47549620bcbdd4eae78ab52e8a30f2b567c9be59548dc45952be4a755782e4d64572c45593b66d9cf7d51665153ed94c6325e58ddee43cfe721e67b9a3507f4d96f473c2f6760e54d3669a9d2725d7f2a1f6dedecee6f1b4911e208cf1e7293992ded16da47a759334bb47ccdf2ccef63a6dfafa9ac5e1fceb9bacbb7f56f2acd68c148465911abf3ba8a5f09af9120e11c51e126a2a4644b2c7461da8dbfb43f91ef31f7f05f96b7b09611267496fcef7e47b127fe5cd91b8105087f6d2e54f8dfb4d939aa669efd2082c7b05581e413f89d7d00b1d46dba40f96de4870f3f8abb1911ee4c91b9560649f67b3ca93dc1dc9e7e80b8dbb0b371a83bf969bdbb216f0d5fcc9941184d93fe3674f6a517b6d7b0d6e5083dbf6d967bf35e7ae6d3f47ee23ea0300db67dbc6fdd8dc3f070aec6088bdc7363b6fb3f0dd6a9fc1cecba0f6be410dc29bedfb05553e945af723edbb1bb9ac3da43eb4df340e561e90a4bf32f5a08eec61cc80f84b7ff938c4dff1ee2413c2fe7716eceeac3bbb396659e69fb57fa089224ff03cd153398fee5444f183ee8e318a28a670514411e5060789e90d0e9d053ca23d640f522b6293c02c0a8c2288c9866114414a7a84611441b1164cf8f0456650879611c1ae9839ec83cc65ffb1a6fbec59b1667ec67df639a08e8731b63a0cf79de51c867b2ed6a81c46c5823314188159e62862e824090cc32e79f1318c82881f2cc3591cf72ddb47ecb865bbd049121070afd9c62398c1180863f106ed5166aa11c7714738a224dcdd47a3241c1454e866d709c9ce8a6e0a4dd33caf68073fd4e3388ea3b4888421d00e6c6077a0845449a41ea0d8119e22b01d24a9a55ab720ad09ee08e7f1944ca59264523104da01cc743299e4f643a5b26008a4832e4ea8d329689bc22b14540a85924c244ca5031ea45652a9a25857858c29c1791802e940072b2c2b2b273cc425c1e29d4ea7130b4bac0aa783166095b3da02e96008183160c0f0b81e4c40c468891163842190132838610844d48116192d2d1e864e8ef0036e2f563174720424b8d8901340c0e842c60c19339c8022ab904ec4707c0f3ac1c40923b037e6b298b19a31a3286218c5124b48268ffac18ac66ad5c4d0c410285614a435216334de317492440438481a34e84ddf0e43a0278ab89c98d2ef01359184c310a88923d8dfe3a206f3bd193366ccf85f21c27a3468d0a061ad4c6108c48591eb596bedbd404d04510c8194f0c5f5b6e113250c3d34a0e2870a1f300107f1044934196118851248705518f1d4fe7677bfa99c945e96691a0947dde84dcec6808de3386dd21e6460c2065a2643902733049962ca14557cc832ee03544449844a4ac00620500104281b914c63a287521613000498a6715eb478d1143c3708c1c8fa061d8a747448c013212046503c19baa1488b1a721053fd400846c2c1d090b7f92026a5a4fd00c90aaee0653e30c2c30c29051217c48852103d214573f884931c0f8a7840a5161143258007468aa0e294801e04794ce6e905396cc1011d00010310fc9c0008a023404794509004951e101183134c2164e4c80fd14f154a40a894c0821f5e708526889e8826f879e26708240fc2fd879f1a38e17102050f4e61e8e4892f92c438875083265954a2e435b81c49104829839628c148b6c9c0402a79ed08aa380145508fe657cb804e7084936f1b14510861298190f2e501234d7e8810852890b091d1072c9d3cf145e6433548400018029da068c6267c79415559a189648800ca10a03ce142a1c10b9411b04c219585166b58f1810ca6256aa0eeee7e0512d8875a0e03432747b0822765765cf82603c9890fc828a594b21601e319e242e88787229e1079a888a2498d47d3340d062304eeee311a608ff500bbd4244c4ad93c28ec3e1cc1feaa1eec2e3df2f4111c183a612207780543274c18b131c16b0247185c17477020c65885368d4c9184296225d8a2882bd8c4123881c20756c4807372c4c8899266c1d089131e28048522149ac184362a84cf39571a028a1b0401c7971c0c216660832faaa8908a18441429318522d8e00736aa4de2a40659e0a8440e700b35358414590320709482abb1828b1a28e10120604108127c44e0c09358420d950b16444a5030042382e861048e727777777777028626e9401242b0463084c0e2256980040d8e910658ece00194237cf143165988800a3dd4268208c41037ce2f6d3a1a01fb7ff67d8c31461cb533a9c94d5e96b3fab798ddacfac89a011206c0fe9c5767d005f647317942f530ca137a84865084082fe881084a496c20032d38afa25432fe85d572e1d0c0c89122c0200b5e5c21042b489880440aac40820aa6253c5cb124ca10b00c705023c73b8981105840c181296c220faa46c19218b380fda5bf000a76211828d102048329a0c420065720f101550e7794bbbbbb4ba9248a1c9cff048147090c9880420a9bcc6137825d70777777777726f00d1c9f7b028e3e00529203fa25f842f4f0e2356dd32dd0a2084bac5c50042b808e608227769c6fe0f82ec89023de9c133f0b42cdfffe7a29820bec48c0fe9cc7022718166137e2061832e105a8052bc0fe2d7fb9043065ce0ca143e82a96157777e92edd25ea642a55d247bdd98db84dcb6474081d42870ea1c7f8484de4109a74c92365267948018e318e5c41a800731802051104f783a2eda566a406511204c3027a06199cd5f0670667b5ff0cdc07d1015ff6b53f007cddd70a80b5af813b6aa0c1dabbe00e09d4c0dac3c01d365cb8238700f0f5af7d0bbe68bcf60080afd56b3fc3421da7570620abb512d63aacadc0d70d6f8224b843879669d50e2112be4caf7d6bafdd9c037f30eafdca80b2415c5051a81bc459bda38b48a077b4917e19432c2b377b4eef689e0cc0570791a4c78896e96f9192ba90ca8c22604c7f0956e1701f0902be3a069095a4773493243dbda3952822d53bda270730a68bf48e6e62a487ded13f2dc3d3dfa448cc71376982fbafb51de569ac14408afdc0f083f390574f2e475c51a846f9105c4f1687f41aeaf4af1937bb0b43308e76b210c6641d03f8fa019b497f2b6921f23e4257d1ac7e532b91839bdda76f670159bd926a25707f4fbfcf8ee9bb9001ed79a07e6e9e0bfe82f8f43cb2f6f5b3c4a89bb52f0dc1a49ce1fafd2e6c207d733fe9a7e6bd6c7f01ac792ffec259fb0cecd4a01aba400e3b405611ef0148a007fa25d837fbc9f4efafcd86ad9ff459e2d3cd6db2a599c1f60fc218d2669f741f6618052b6418cee5d8b8be2d3fb21c34acdd17199b871bd23b9f9c58f0f2cb6c2f5a406423640874e20a4a6cb81f5222226483a39664cfef90bdf63bd4979fb7584b03b2d71e02f5a51635cb26d8eb4e0e3bfb1de4d76f698056bf67934a7a720f6951fb663a8516759e47f1c942a02a80c0d34eecd917ceb4a8a58d923a22f233c12a4744c22a11988d07a515d23e4944a148555ffed6b319d17db5b5d6bba47b39a43d2085c8a6de252b5ea24354e8e433b637e9f3de7bd37fa5a74f874ea7d3e9523a44291deaf8d9207f99bca098e7799edd824e9ef458ead6815501f8836168410586404454c86008a4450b60fc8494d2df94f8abbb91833519ccacb450c9d6d3bd113fe016b87b8d275500d8d174fbf4299b6960bfd9e24c85bc4cbd793723bc06dab0aca4a0eeb0c47f07edebefb0bd647d265277a9d00e4b6690bffd0ef5b5df41f6d0967e08685f1f02dbf76d80f6f567d0bebedf19b697d3525cc55911e6acfe9b037ff029be66874e9f736c3fce922b558ab3562cc42c2a16bf5b6cceb9c5269d74ce49bffb49ed16e4acd84f2ce6dbcf1644bb0e6edb267bbab3a66961147ca21ea9a9f643fd22963d9289c45ee9f475a9044f4c097289818f0d129e740c229dbc9b5e65416f3dfea242724e1b4d590b815a74c0091e9b4a690c81404910d9d41f724222c866c94a6c48a7a546a0575028cea2124f6d7392a77af25ff9d3699a56569e874fd8425d79f74e5feaa7f4567ef6d6ddbd71cefadef4254bb2024fabcd91e7d666788ebc922d619fd6c39d7d398de184577e9ebe6471dc7e2fe90bfda552eabbd94d7f5a79b72b45d5c2cd83029e2d0da82f3f487d7983c8e7220ce979f846ba5947db2890095445157c7a616a5be6ec702cd6b256163865e1fe1ed3d603a96081143122546cea0f995060b2b4c5e2fc7c80db6eb89bca979dfecb6e8769dbec743a954a7f3afd8c1eed220ecbd2a9044fc46c869c7c40a4fdb6d9c05823b95893699b9699503122b020b21972f240cc6649cbcfb2d3e92433e9133be5177749c54cb0032536434e4a30b159d29f2bdea0d86290159f2b92bd36a7d7ee4b16e2cc421b55ac917ffad9de8d3cb54d8b8fee4f0f71d6d1f0e9bda53bbd482182b56997b4745d94529e244a680947e0b11132040209c1884dfd2125180cd92cf93e574cbf225e404d498d51bd08157f7d373ee4dcbf77afe8fb1edf6479bd34141d6b28fca50d4156fcb61e2eb91de1d91e2d02bbedf0842dd4efe9c338234ceb645da9848b645ad4dc5570f4d1ff954aa597f48539bf2b95defbbe64bf6f2a51884e7b1e9ebd037a6a148a77b7d3be642150154c54dc75ad795d773db1865bc2a7a7c7e350a31719b3c7e698a9963728c207308bb605646955db8208f6d7064b655ad42c03e71e7af2c51498d8d429380a19525fc890f6800b6236f52e21fd1012078a6c9a8ae3d8623873b08b27387e463e1e1bbe7ede62da0c6aa7dead4e8649d26a2f5f48f64296705f5fc8f6b2f46e4f5fb240fc4fb2e2acfcca0e8f9fba2b0911b26406f9f50aa92f6fcbf7d04688fc960f09bd79a7c7dbf1e1d1056939dd8853059f1ee2b640708838870cfbcd3560e8ac1eb231bc2baac7340d67ce47fb21a2e62d96b294c89a2c8c5a4f8d75ec892db66ded4dcf9b2c1dfd48a6d40aa51d4b57575226d247b79e986a23f929656a96464123e16629655f789be2acf8d18e9382e36f549c159b0a75de6cef6ef74f49cbdfb1a92f7f86d7ae90257d67a82faf902b7be28e4de9d62e95ac6432c4f99c90a878703c7dfe8ce078ba18902cae5e6e08472b608c1160cc1530e674a9108c21a2429b8853f6854d1616e104d8ad09431a03dc02b74f13500716f010a703b843abd2325047f72a2ab588a8724258f3c1f19f0a51290e13bf0829b2a7a4ddad88caa4525434a9cc39ed46a5684a51d1142a934ed90383c1601e0b4bc7224c95ded1505a267e6ca8b52a1c17fb30c94220224c019b2cc590de38c95e2ae4acd4cae7542af5990aa59ec4f9382bb5924aa556def473c5d2212a44b2148a9090bf4ca4154a329126c9ddfd8ba0933a4c329d6cc41cc772efb683ee994d7a492b99a75982c160b0a65fd731281d8b3fbd264d58be27d245f905973ebfb605d686bc53d3b60d2359129eee35d6786aa6940ad431eb11e7be1e70ec27bee0b0aa66cb5f114cab7c30dcb19689134785512a1e16f58713923ddd43b2198654fb216229a52c6283793ddb08dc2b79d2fb4c85b6582c66e9ecb91183c1fdd3d3424f8d9877da603db01ec753458444a48bf20b7efc6a188908cff670d4d9b487774f86ab5d0281aa20c2f3243f7cb2115716e0ee81fdd3791dd4b1eea3524a9c5084899c0fe9f321f5f9e30146a65e645a8595cf6da4d47593d259ea4aa559a27ffaae731f8eabaa9bab8ae566d5afdcfcacd4cdac9b5d51f6e4f8bc52a9f3ba8e7550c73aa8833ad63f1deb58ff7450c73ad6b158b3a984ea136d06356f3d7983c54ede9cf4530cf9d924ab0967ce4715a38fd41eeae9e9d1a287c04c805b402ee0ab8baf3581280a5e3dd9c6431186e3532a387e137d46e6672a54bad17ea87983e10883c1604331aaf084e1551937c0f0671d82404428c2337a57602a0459f11b053553a10d4644a7f88bf43b645f63cd0e3b682f1fd5df7d1c80348bd27f427c3ee0f8f1804ba54cab80e3a704c78f894f8558939fc9201fe219e0901450808512984dfdd2733e38fda79f9ee7b9d7d37aeeeea5ef9feef9f82b6f31dcc46b640f4705e7f3432d95e22ca1084387aa853694c8663a05c7d75650fb3718e7c335d98c6c30ce6733b219d9605b910db6c1b6229b1153e56230d806e3b81a2b753f41b4715ce961acc9de7b5944d768d955e5402671ba59c2403b45297d305a05c7df62b1860ad5d3a554604cec3f5d6dc85971836d4534227f75a9fb5c2a953e6b43a5f70de6acd2cd8fbba152f7a79f9dd58886b428ce8ada108eda90a675257a733a913623540806c55fb90ec5936f3d75880a4198f842db10152add9eadc7379437593c1ff45be59dacbf4377f726bddb961ffdddf784e141fae374bb19238c3146a87d790777fefef4deb7cd3a193ebde7107f167a9712392b6a16da5c214b66c8befef6f50a894ea060441424301b2652091cbf07973ecb2638765070fc081335216ade62dc5df20346c1b158c32d0161e23b81230f9e709b106ecc452425db02544511d50d70b62e7886b711814e80580266330425e463b3e4b41161018ebff55021fc22e148a3e048a3098e4a87849c157f1342a543fe827f44dd8ab6a27ab75884899d2a47158a30f1e4e33e1126beffcd3a1aeedf82b6d810b53f6f317cfa2e3a51ce27d6401b8eab95f3c1dcc91e51bfed11dbcf16ab964271982de62fbf3d84a26c3f54682444dd8ab62108133f3795185150029cb7221cb7211c4b3e259f52137f99de0a383e15823a4e1f9f62d106884f8dd007a81cb502ea287da443387ea6597844b40b4abda89f2914a81654097409d409272ae483a37fa642f854a43eea74aaf551b5fee9543a994ad59bdd88db3418b02129c513b59dde1a095d8c8208a556a8e42c96a5494c95a21901000000e314000020100c874462d170400d5345701f14800c8b9a4a725a1c48a32447511032c618428801c000003000423034db009a1172e3cecf1b09b274adf3e078e4408d7a7e02bb10c3a2fe86ff46ab7ccedee9aeb8bff05384c5418a65a4bc0bb078283fa38d40cb43cc3b591b16fdfb7b5b38ee3fbe518ddc6dede65cffd271a203f389e1166ecc46a36d0cfe446018dcb07413574a795462af4f8358068bfe80708cc22a8e9e477b1282761f20f00d3914a23851fee3bfa70ff08c025d6445e128ac472ad822bddf3d1885ff22fe7e2f6aa5b334466ce8a49833c0978fdf09c22358e289199bc496aa67ac9dee76a912c1be03e17dadd5cc1f4cb301b61672c0742b1f401bf60a3aa624f373668a6d2a97017dfdbc3dc9dcc2d9b9610a623ca85d0027f021d435b1e919fee38b69b2bc29c23f60b81f3ff8244f9fedabc6bf4b8bc94a4264e296ac220956f6f70149d1a5e6dced1ce83ec3b144bd259259f4d5f4f25cb1bbdd9d019ad85062dbb14b2d209df0828983966166823f7946de1d64e5de59ee93838afe715f1d90073a15c5a495bd8d26fb2255b55debb4d55096343e1ac6383a3db1be856b32f876b83b7718bab13f3b8d956d2024323a37f47d8863fd8865acad08eff43513b8fb921ad256c0c1cac665c0c447a6395f496f426c20d7eb87ddd1e820aeab20ed1ed3a150befec509f4e75937b5dc91eb64ad414325540618f2d2ada794d8344bf7aea963a40db9771a004aea92bab0802d330825698030a060fa0ea475b5e58d6086ffbe5d1ac543a8003abb47df7f4c1c72ed70d3b4acce1620c62912a4a4eb65a28943daa3149964b5af3ffb825b30a72c6838ffd232fe27c38e26c0a665d66d8988bcab5670c2bc8bc2a0a48b279dd939d91ff2e86b13a99ecce715301009cffa742d7cc327d71e2bb21ed7de4dce7caf533a0309bcc472be62fdbd1ddc5961886b861faa05bade5bf6c446174741ed8284ef06ca5f5bda26c949a4d06fbac462280170a83b95e2c6688dd4543e1c0c95137733500a7d81956e20511ce867ba30806c672a14123f8f1d167b0dbda82b45919af9497b05ae6bd747529d53453915c749d4dc631a92766a2cb237751a6f5e9975abdc9f7e9d4b248e0882fa5622e3a4094521ef3f5ca11e1358bdea1179669d818b5688168c94877fcf122cfde0b0674ef799d4a119ec75162c65043a93ebb9b48882a2f089b14ea8f53acaa9540f905de0549793b3de3f1fc8501250082bad36ac9f817dc824891ab17753af61f3ac662c2226908f03b83ebd1258ef5a9e1bf81f64c2f1f33c94fb890060664dda5eac3c84e8bcd268239ff4c33e62c46383b9dfe0f6df18c75058ea4ec90d3893b7e27dca08e150b5779048bc5b654b2ffe75180b1e32bd80aa80113f59274cdfd38d33b6364deac315792853284b71795c91d4fb407ea94590cc69262e401e4934e4ededd2867aa9504fd8a53ca565e33abbaa811deb95eb785760f625136693150c8cbff678c2e2e62dd04ee0109cc5cb6479c03942727d921b9fabc92427371834ff325f04c447facc4f1bd14c2b7fcc366b42c6800d62c100e6e578e91fc6fbc7ed27d44c59863028585e818ee0f19354160767e75433ada727a7fa1987550b9f98f28429ef999fc0ae4e2f8dcfee7e99d830de5e2998b97f470156e0ee4d3456f241a99abfeef8d3f8674baed1380de363e26f0c1f7bc0fe6561509bdf7f1726989405f47fead8f85093e0c15349e7c6028d3c095502da10cbb86ad344474474ebd9e342313291cc049cd6e4d59bba071aed1d08cefe0ef0a9d0d6fb4e3d43e4b3af8b679bc814d2ceb1ae92f2cb756ed6777db28a8a555992ed730a6e29bf6eaaed5422b77e30b92495dc90d978cee56a3c8f495ec45a1de227cbc589cba5c5e914137797808e705d2c2d247a00dd08b0a1ceb2d1621a144e755fe2738ecc63a87b13d4fe19134d81c2bc4747f1da96e5332709aefbe05f5e75930230aee8d16aad4a52bc502326a5750f547468e3d6120e160c0184596319a91ad5fb0c3b73938974168a596b83610b6e2c22aadd84582d3632d970c6fd6721d3b885bc64c355087496a656db0b1cad3542e2c33d352dce92434bb3d72a47e1e1a9e93d6c68b1bedf4d13aa74ae857db5c092eda8de0cb07708af126878575ae6617c0331b71330c1203f74c8cc8fa04443567d8c200b5f3efbef441f46a024abb63d8d932e29ab79d54671e13a41a8a62710592da1b42803b1c239c303d3b2f47b95f86fa15c3d593d85ba178b5ae6fddc69ae6dfa2dafa409b4e1e10aac1b9a82e990caff04f8dd154aef99a5299ad3d03176cc9816512d35bdde1d76409a6c61d6f108471f0739262875b6c994d8837a5ec65b8d02b04b89a6cc7ac295fbead6788749fcb95b1f208965a3ea2ea15e33ecbb92854117b5bbe7dd984be8f2169af06af12ccd9ef9cd4b2d4a83ec2f9ce5d5a31b28df071ff8286a110f37a849670cee00aa28a6716669dcd1787d4830859361394ff48c754a2abc155acbc468f130d9ef66fd77d704c247d5b82f77afeb7d4dd6e6c473871af2206eacebb80ee285202245de3bba52512fdf8e92092716a7543988936139ec7e36a5bfa917651068deac2a7b10cf71a19099537a987f40c9b8fa779bf829bdd5a526c149a8b753b5c463cbc8abf902033a6a0aac816bd9e4049f1425da0aa02c03edbac6aa16ecb4b95651b4edf153b237262672847073f39f5be274f5ec9ea0631805f68b2f0c239e96fbd57154524330cd9ffdefa21b3ed9410496d98c25f509ec2a3d746410dd058e7e92ef3564275a319162999abd10a4e81db7976dc9d734b3fe8b05541165a7e5efe871e96eba59826ece46aa1ce9101e01de17e6be930a4e392a32fd256cd425e347f2b90b75a9b3830e1d21463550b0ef3bf20e74060eed8f4786ce296250befcdc5785e54b2ef359ce71c1f84c29f4465b40ed8aae6169f7ad6f124c7ea7457ace23ae446b536fb6d0e66c3a661125e92624aa8293c4416d01dc7578831b4c4e97de05f212c2c580eeb7e1749cf6e5ee63ed75b63874dfdbe886bbc8d1125270445349c4c4a1556b2dda0126a69794abcd9916c60d7e9400c3c4cb7f02caddf06d9aa7c7e1e121220b4050b1b068e95e34f0cdf040d01f9d389218611e10a21179a42beee9f720f261ce501c36bfc1b367af28e2fc128fcf89e4f8543254ffb4887358e2ca5c6867527fd2e2257453d098271c02745008a447c9632fb7b2fd91be342d693653604ae178b33718bdd9a5daa1e85802a23c59ed580b46a2cc3a0d1ad0ca5ecae0012a3b19d6346b7ff22686f568c04c29e06b302eb7846a1aff043efa1fd33f59d509f1043ec9f82f334b6d63d6adde88a417db91191ce0896f5987868d334aba2542019c597ace027d1b8478873b7835686a25c9a9e19c3b0d6f46326533b6edc3ca9aa9ebfef0dd8e4abfd11194d0d42120e428dc41ebeab963cfc23b592c7a9ec582e8b5fe38cd244783f6a612ee081e0121879f9922c98f5e4038e9451ef91a47394a3f5e9fd93310b625483b5c957bde2268749e8840ed08a6082b512259d0cf432c200becf0b685d84396969fee42337a8a04ab6eacae46e76b5082b939db5ea96a5db34691d80a83725b36d6611ab28f814303780765c8c089bfa3c78084c4473c26b266ce33dda6955db3ab57dd091a1ffc59d8cdba4b3d9c0e33ffaf20692c3f909748e542d6848781153ffb7fd0382734e742e971b8f109eb02d5db14e1406cc165974bf71736cc7f11e13d180e2621219001c0f0890934b05fb37b63be4a2c5b6a2eaa5f3756ce5a21f8f96ea94a736bfdcba89a5b719015bae7a2af88f7382b47c6ca70b7e64d858806e566060e3bb569c6369e401e27d81aee19736026c0b249bbd0c87429304f08d1c39cd60922be20c9efad801b43a7a3400b58dacf769a0dbd1a62610957ff65446dd2a9e4cfebfa10feb92fa16d38faf1044e2f9ab01474c250607b38d7dcea2e1ff2d328c7d489f6563e64c0e3fc6465d5596f3fc409b0498c5d34ed44286e227e28967c0da488432e91d6e61054cc67dda30aea6ece38167232a0f1cb787011a489ab17ca65c45ea830eca0387ad353043e7242636bb1c034af119c389c333140630909f7e1db1910e1aaf526b9de187bc01d2722b7531506f32a893413476d960e31010c3896d21e0d41bf80d96eb4d85aebab7773731ec608c0627d85dd8f8d40235f68dada5b5fbf5b7d6336460f83a7826acc5de66f96847fddff7717a147a97c33dd546d547dd769b2f294df2ad56cf8f52a8e2089e2ef2167107e8e795b246297714dd0a648dfdb5499d91922446506cba26f38fc0ab7872b332088d966d61c9bc15c60db03502721a18d9b33a87e14b2656b5de6a128cd1f2879f45186f1ee445bbd76e734d676f4a7831672996a420709a95ccdbc76fa3ab9c04191bab17a576e85d8e7f84cac8f3114918443dbf122458ee4e96c886e1f1554a15c1a1c01707d4d08f820c68d32ca8a958d3045d3b62fe0495469a9f225ebbdd8f714f8665ed20844855c379f76918a3d4990278415553a644017dc5e899c0161997522a672bae7e37ab862dbda72fcaccc092ed37514ea3c8338101d61ded3b20b6594eb39a98c4d94d8a060b44a4967f4ab24e4cdaf18b4e98f234cfe9cc986ab35f609d5e8f353afec1e992216b25cd81219f5906eab301456b7cfbe4987aff839bc9810759a23ae4acec39164ebe171aa9bee638d7415cd5a0ab794a5048da4a32b95090eaa585c2e2c930d984640c86d00800b0709b4f9998e23cdddcc26a9fde98d5c1286ef373583ffe3bca045c2cc27624360b9a9c4ecb05a3bbfab1bf1dc0b3add8c9a70042585bdeb2c7190d53235f1ab476a8af4bc95aa9764e3e4816a5927e2eb953ba2179b77aff346227124c060a89f0189ad3c4aec31d9dd9b7d23ef9e10c4a4270a0bb292fce207b2e6f021572f685619396f0414d47d26a036986cb069c1ae69dcceb4d63555bad10af07936bfae99cae9bc4e13b31768879af611f8e29bcac23e76a56e251c9ae8b5eaf2fefc532cec741712e0fc3034685894d74b78378d21ba7a0183e43448530eff5ce12c30d084eb95226588473c1f2e482431b72f569e957080a3c587570af0c8884ca959cabef60717cccb959f6b1506962f572d175ce74dd0eaae61f61b6ce9843311bb76f6e2b605fc51caeb0b069499ab896ba9551a02d6aa6cfa9a4a465bffdd40ed8dc621b7180ccf8690fdf1bba71dc492d03a5433d98fe9734b847f6fee350d4c1b9ac2c2c410ce0977be382685aab658ab306530f3141c4cbd04c20ddd19edf05b0c30aa3ac779ca9f283112ca1c108b75d9566b48a6f17ad6998e45e2dacc1cdc4265c8bea6dba0f88fa3423d08677d7057dcb235a4fbb7ac30a27940af4d5d3a479b73827ce48abc9d1c58b519dfb52dbe7546c3b90348e7f533387e947fb99802d17355b0a3978162600f52ec1aa8612e32f022727b2e5bcb9de07124a111f98707efa7b2bec8b03c2dd0a8a50b745b15c04c31960e2eaa443cd507003606b66e44434bf07282453c18b0c67e923715316eb32761df53b9d07a703a4b8db4528008aa6ddfaf54e5e26619a95b9e211dd5b371a129b41e742ffa654b108b92ab34982c8bebb8729df5a5b9aa0dd39fc37d052ca159e364e0cb27dc070a20f0d5c2320c5290c97366dbbad2f1e9d3f410dd565eca14f8379824479cdbc706c7f0ace69af07e25cda8a71191474abdd978dd6a6257ec37f9d45114928e7b73becd22da1b526e0d592906fcec65d8c036ce212b8a0eab6ed3609271249d311b05ad7738fb6396c60d60a5f00b6f0295a8feaea26ed2c77f34f901927ac037c46253910fa085da35e4444e10e06ae87bc066b591b6b73f8a1acbaab4bae3b8f958b427156b44114d6ae5323a33fe0a91b24a770a67f199acff54407f5cf5d8be6926d608543be9354eb492d38c5d541ecd61462e7c48a9bba7acc6c42baa425a3352d95772a09a150ef88c143c7636f1e18ea3cbe00edb6064410181de7174433281b66dcaf316925fa6598693cdc82c4be8892f4ba39e0bb9cac8a1adcb6f40fccc66528259c4b0a3a3b9474981b01067a11f69d930061087e45d6a1377d458e766e258b6d9c0f332274a90f5c661a793dbb7645a07f073445531914357f0cc44916abb08fcdbc340d58c1b3dad637e35edeb849c9f3afb9dc1a3601ff4506d650e4c8601c19838d571344360ec41b80a1d32968c9756778e1123d469596f5ab1b60194d01bc8b9d88d7ff0d8ff8ec18b03e9ad630c7042bc740d0e07edf6d87d8e826b49c5b01eb3b403ca121d3e3394266a75fc6ce12c3de5350b3db065759e58e19a490d004b85f9900d6d9d8ab8048b64b2a775076ce47fe5d5ae124c78b252699454582e6fb265c48e716175ead1f62c930dcee2bf46996083890e48d4a0f6aedb4a22503ac2930dd710e145ea4fb60bded2a17dde6ee711c5901a69c0a472783fa8fd5863b24e2ac2417c207daf22e653f302de83f2c1bdd090693419eadb9b4878bab48b150c281f0c95a9f75a5e79c9a5213965b8bcada227a8cd150bb7be5fc4408d1eca607375c310a6f17a0056cde576b93c4fce9d37ce214b0a82611edee055d61c9962e0fda5df3aac5a6bd3af738b8e61e9f80a62a1dd5311c73584f84975a5845eefd51c20c153b7f34aa1bc91706e72e5a00800651b4d7e743f0bb10668910372c696ba6a6d6fd777e39e7207d18416b89eece57b739fd8b816e8121f98bebc17b0d251a97198af76c85bba69adfbce62683a1cad2b2c4b75e42c01a98cab6fe7c8ceca7eafd7edf0d7929ddac83c05fa48a516a1abc27454d2eb835c37a18a899cf7850e943fdb39535ec5234e706c41180134e3d038bf4118fd51fd7e597430f605afb14af1d33e98ebdfb3cff3e0a72afd8c22430d72c9cd9cf193b86942d6cd64565615ce1bad6551c852b87d848909204c5eb40e2a2755514135a1fafc6545e933106d6e6ddc8ce7bc0ec44d9decf9f8fd11c0339e47ee78b0a13b3200355c285b03cf7a8829dc31ace294681d504d9be9c77c3569095b1925d7a97fa5d547b81e82f5d7507745c53a60ae3642871033d288be2be1423c4fcb8ce8c8c9cc1aaf3e1fc0d0a2717fc3bde7285e3fabbbbb12cc91d3d07cb79a4ae4e95943d0000237def3c3dfe3c47e7ff0c1c46a23be27a3048104670015064a7b23c740b7d4e1c168acc1bd2bdeb4ff48a093e21e8bbb27b4901d8b4a18567107ee70ead314bd3191f3e90e992c5d683d74e48e4d902f6812acb37a4bd7d57b8ebb67f8392182f0e493b6ae74c88d39450fe9bbf91225f0d452f3764b4aa844ef28b695ce80ae1c83596590e643f799e0674e3d72568b2b15baf6e87157c0a61f697d2e78b7e9c62e0859c52a6109e07f3a2e4e44cefb2442164c86a103817adee6b6b1456df3e89e9a94cc8916285a6073626c4cc801833a94153c83c1714365214340f5daa6ad4a97d78fe40daa6480aa6e5206cedeaba1bce6aa0c3353851143283e0d6a7ee9200f428a1de2de134afc51e5f3e483608c8a943da24595e14a517567d9455335baff5790710de113ad8f8d1e7ef6f59d8eac4d614e3d485dd2ea3e746f2f81b97b7b0ea05678a621b778bc6f2c17deb59cb269c1fd611b2e3606ad60e32d64d1f9642bc8dc431b117a4d408bfdab0b469daa3675b60f391bd4e1f3d8d85ea1299dc87b6e91cbfae7091d60583dab199c1274fba31c3bd7fb66202629928f60a481f8d6398dce81e1e8152609e7d546727fe9a4591a643cf0eb98b4392450b6608f6433c0180c5eb095aa6dc4dff3497267e19942f954dfd2521d6effd1109928655fdf6205bb88d51d919ae3422481f3110dace8fcb5b43904c4ae586ba56f2312f9d8df07a931d67fbf64e4a3b21c2fb176bfb8f81dacee704cc5533cddddf88ac8cdefc1bd296941aa47da1c697274820065e179e30a3657531a87fadba2715e2e440b3f905e74d3e35e7d6f4b73097cebaf46088843205bd39e40d7e6f4c5b9d7afc5bdcb411852525a6dc4d31094fd3da0695cd531efbb081daa7f9d9196f5e5d706a3a6e6f064e9b9013069b671792e0ccb64b8006a9a71338c9020e8e8a2da6812af2d421deaaee7d1b28f2341de1e2bab3b1c00c70a0f56509fcff259a8d35cfceb1223d5efad180dcb1fef68d598647b26f7feae4201f628909eab01ed2f5e3938b29248eaffbdc7f0ec020cb858bf42746201cad1cfad83294c1e23665eaab4cee55c341aaa5145564335181fabacff1b893d37332029288b14dbb77df93edb476cf6dd7b58c40ca974023097570e9e653ef8d8b0637e639dac3ace83dd32018e14632d298d34e3c40c9434bcbf62a82421f6b3c5db5ed46997130e3489d00ea29c457b7f068bfae229084a8fb36400dfc3010b0d9dbddc695de3d0f8e0acbbb58fe0bb17ad1fcaf112f8071130de8bfad9806d7e542e4e0d6fedf63bc0707f447f74e1fd0dc3516cec5424b3e10c2b3c2ee6d3cfc10509b90d990a60f455b9cef57757f00b86b77442cf94703e417eac3b821884faef6e90270398e109d079f5af58a5dd68d0a5b12741eaf398974b922892eb244a3545b4c0aa4e7c90ca9b19296ebfd2618919c06e7767a3ba4b3d2634c6e63d889a75ddba909513842b98b54bf8cb119572a35e84f4cd3764ca81775da4651b88711b57b35bed5ee6c58be9f4d80e514f8a7d0dc20b760fe3fcdceb40a872d857dd10e18704fab057c2df08277de7f4d1ca74972b4ca5c05df326c0fccde975ba5ca60928e8b02fe60dc77afe975950a727e9d9a3c1a707041d637e614917209b6ebed7506657eaea049d59ddd05883c43891efd8440276fb5955f08fb11c67955132bb289d75b317b5cbafcc7e5bfcb67b221bf4cc5725474ceff6da044d75497ee3fbb4546640a4ab7b03683ebfaf314826f53a460ac0b54c8433c1287628185456f9ac196b9cb725602ebf38c35f86eb725ff25125e7ec45527a7bf4eda4f7c55167016832f770953f58b6f355c900c28f2bdcb2134c131c40f1b677ef55efebcbfa0e30819d5228836661e8aa566947a35d482d7c42b43dca22385e771e33d5057ccde221e13cdd539d9c5dea36271b5e99661cf03ede6a0e84bca6a73f09813318d7b4a0cf0a57475e59d36f6a11f0db12d9eb952939ade8b2681ed74fe749a103309eb171c07223afd92faf698aed2bf2927f968462f1b733f2e694ede558169cbf7c0660db1e075be17ea22f8b37b8c095c98cce7029276dc25671bfe916a647d5204826c0535f76716639b074ec03d34d39402183fa27be5d871975d35b56b9c6741621336e07e1a9ff4f581e9879c97fd1a3c880bad3818780105b6c46cb8112a5bc52f18371296b340b6094f6d165be31a9ea2cac6a555894ec10f572e703fc0369fd4015950fec2795b5df4915d7a98f95810a1324a8a8b173ca0f920e145c7d92ea9d161195040f4cb53700bf09da77f528dee484aa1751930b07b377250ecc0750ce37eeaf80ef1ce0c44459ccc19783af4dcfa48b33e854314e7e67f11bc49d9d273e008803e03c40cc0d8991c658d7cd9d87377f80aada4d398442a89f6abe2572e854af7025ee3eb5d3f06b67ee8659b52364bd952ccf7367ccc88efbbf05cf639830e59a8fa60403ac7c7fcb97d9bd896d9b4ce7e43185bb5ddbef8699269679606e921eb16c7e6ed8125a9f2a2571fec6fa2aad8585e8053cf86727094263fe210349b9a1445241793e1cafdb58943d00bb45c28023f019cab77cc50b453540fde8ba6e3c4f0bd1d7f6709ecd2a23dfcbdd89eca202f1afad3c4fa9c677cf99b75072be9dc6fc45220f962517f67ae910d880448650aa786ccd66bdc56d3440f2f9563ed52225f4501021534fa935b3e37e2c194302306738cf3e78e214f6eb08d482c221afb4259b640ee08013a6b75055975a1b728e74e29759ecc29bfdd180e4d8451ad18bf0fe244c93c614ad4beb3d232d448fb24645200729e010462660d06bb592539fcf7cdc59b67777b97c00b296da278adeffd7060500d2553810ef5a5859ccf21be1d91c6eda49e73886a261aa68ca4f16c909f01a6fa007d4d34fa72dbc3eaedfc21b84a5ee89f2f3311e4cbdcc08d827e03c50f025e238131367476ed39e28d1b277fe53c48c2db14fd5c99701f7ce7cc4e3993979ad176b60f84548aede1b8a795adf9c3879143aecef71677cda5b57e18d189699ddf080ca029ce0edbfd479f267ad680e32dc216478339d07d148810e91024fea72b829dd82a470fdc0a6652e262c7cd9ff6cd0585fb1186080bb4f7b30e697c5e554c61940db32d3cd07c54d8dce3615db9087bb4286e4238c6d80daa65137b5a1817af882b5d302f4ac33e55a0e7a4f6882cf34d03b098117247796e21fa0c2ca663ec043b3dd5a3fd4718ca0a7648e60b9e05fafe29f398b1a25661af5f04b8c9186e6e924a929202554eaec9b74a57c26fb97ed1cfa03652ddb04d04941121f3cb41b3c45eeb0c232fe846bd415a20ccbccbc397d4d05c22adbefa70ba21852dce98d6551c7b7fca6823d53d83ff8c7b242d86d797c98a42a1b75e3d286fc00efef1eb0d5b462beb740725936ea6463ab326fec906261c42fed248719dea0bf497cc8b06cd46d61fc70be2629d8e80ff5a8c22b389a550003324dcddbc8dfbfe07b8285855d8928c796bb8c99aa0dd55fcc82316857614f475d7a748ec614b51519faaba1b0abc38738c67cf5aabd2e136f449926e5c1144922b04759fd8cdd599242793465631489bed832518084265b2b935d985d25798f8832aefce6990130d164b9afa30302bc57e9d83707cff7ceab7145aeeefc6204cfb43525bc2358e133f17590847cd5c900da97b2ef9d871af8a925a1ece02998a5e973218a50b7b8f32b73d4827c1a0ae90e9cf0d4ce2a3ef0ab7ce122ebc154b055dda31548dbb285b22b9e959eb8360af9f74486a048dce823fa9a575d02ed93cd1ed1566cb0a92e815d3171e74014140166d2895e801ef864f25f1d7c024fc06ab0b6989b601f7d1c02f032cead4bcc2ca72cb6d0baf3b139df73417cf10359162b8640a057d34c569a42194508f2b8136c764ddf54679a7926bba80628fd5bba37d1c8ee06058525b0ce06cc5cdab3f6fc9684c05050501d23e6ae25f96de3b72f49ed1b4ee27edc8b17b14f58d7c13e664b882d011d145db89f88df8d9a21f6b24463a72e9bf163865c5c4683bfcf9f7e99c958fe6d46567194162005e876cdb0a103fcd5acf897e0b4a97e4310bc9e7ef8e66b8529cd643b2d522ac68e23873fc1cadf09ad22e8bd624da3ffce55ac8170ef575a46fced947afbe595470ba074f814e11c5bfd44d4d50b5e4184db81438e70cfe0c96458d39f7ba678a64ce3c720b509784b55112a7cacabbb7264afeabcd8c6e543d39064db2521a0994ab4912c734c275449aec356ef121579b5b326bb86e9b61945a808dbfcfbad0f8f4abd3a344dba01aa0f07710f20a2b327094eca2c0abf86164400bdaeaffe36e82503e2aba7536ff52bfb3d975a7d4d6aa31c95929abdae04b0c7266a636cf6302afdcaf6b6e24ffeb94184483a9a6e9f2adea96b231be987b380625a3b681188a038b3dec36a1ed9a37416859be6575e7305e19d73b008ccc5e165cfd56fe35a896a25ef24053eda6adfe4a776eda6d03b8998b16bdabccadd3856a97d988a729b7c503597b9fcda9f69333aba2847058e40b71313621d04d9f05c89c08d1cb7def9505ca3f2d6d2d8e7798960e57bcbf38074bf34ad012f439386d8933cc3739a062d11fd80c2f2abbf0e369d07c47b7096f9bc383efa3c1344f232a96f0f7af66909bd05e387ec84b9819322b756b6126e453a634796d1ad5719cb40228640fe68db010855a5c81880c719a6e77c2ddc03e9e1a962dcc3e055cdb69283f88f3ebb4bb2772f0cae25337d52b74ca2c58b6c34dcc917deff68784e8b37d370f771f268c65327e27bc2af27053e0724f2ebfe3f7b5e2f5087931fa6d79fff0a60fa70c9382cbdb822f3a7d4d97f3981667ae3063f73eb474a002e78d0e0a638d8698d11ea2b19cbffab798d1c8ad9dce3d3fc1364fc096043c2671b92c53e4a52b89880bfab54c5507605f3cca55e3d24c890bda108d0f26e729a8534a8e205c2027d5a5458712dba16872a2edb889a697983a06861b6a50f1bd8608c67039b58549b27d185d93a1bb3fa1d2d3f32ab9c15d3068ed59b341253ec82110dfba4d27631973f5a772861b57aace59ee7a4fb2fd972c4cefee65e569d29237ae3125619dc87fff8ee0b03a8dc672cb7599bbe9bd77cae9e7be8e3fc83ee76db03378e6c60335b77f469e259037c9bd64e28b73bbdbd8cd37c630a685a10edcd4628029d26448acbc4822db833c2abed5fa9c25d4b533bb8d08be9b79228b1123ca50f308d024efda39d3f46c34caf4561d7b2f6b3491affba18f85b2964f5b4fd3b912ec5fcf43a8a3e25381bd879cfbfc1a3f04d327e3dfe5a88551c4df5457ce86ff68605be4c00922a0b6bbbc587213a54e95037795eeb320f396cf1193515df3cab66e3a5014f47c1dff0aa78f3597f93e98c1382cd2fd9157d3fc339121f54376fffa1d2061463deffa95de2f5bb81dc3243faf0b5f93302d88bce1f3435e07181d5cc21f3c44dd8bf1378ac86acbf778127be7fe32e2a23b0816675c821eedd2fe2613799fd9d8928bf3df94cfc5072336228236438c9f3ef8a7dd270d4ab8d35df8b92c081bec587c475ddc3a02d364a9a4c02dfd383071ab95fbf09e4d613b2c5e11678adbd4b8188717d2ab43da1a77d2f42a2439b5bc77b60d67f843ea7d67f02ed37a6b89f9dce8fa31076946c3c9ff231f014bd298c184c349cffc31ab870f2614f9b7e9e3f6d9038f05bf19003eee9ef6e108032458b381461286aa2818a36f55e3e9cf7c045223e286f13503e8aa848614590cbcdac19c6a65510e65b454674f8ac01a11eec51808a84058abd24de79c90dbca282755aebf94d14634bacd156055f120dfa9b0923eeedab74722d8654d1890c34dafafef698cdd0196e38c817d0ff4e731e05a2fdc78e3635db970eaed0281e09ba543a3deb037e34abe0924e054638ee55c305ec924a93ebcee06e0e82027bca0aa808c27c220137788c3e0ad9d417c36c48dec69da27753dcf2081bcd89639e0d1d856f3e8c3b8cbfb4cb88fe479c21d19a0cb91e385442e230489596f499cf2e7bbd1ba2a2d78d56dab8518edcdcb869496ec7dc548edcdcb869496e8eb9518edcddb8dd8edc05fad078a0410d7a7f163af70f107ddaef142b361d7a92a5db4368d55dcfd6ad4c721beb432f026e616369a8df8e7b02a75888c2c76adb3325688e1fb64f2bc8a4870db191a5db93a1a749770fd0d4969e375badc01d364b595a714e825e6aab674a5640bc71d826a444bfc7d0ab8dde2b5ad56e5135a8cb31808da917f43d7a2f0684b73a5cdfc6daf35a2b1f08ea2eb68a4d6dc34e9f76c53ca7d68e980f60e469f1ffaa8705c821a55a583dd41012d74ce0da622c540651d7be589c349a12325d309cf64cc4e0e16ea959f8ae1018a8492080bc327bcba730f6ab26d9e8942038c8a366cb7a7547887697defb936519b963c702215dce4105522dd373d98617d04e456350a49a2410d1c61386687e1b7f86c5b6a031553e8c74ae62509d8a0adfa8eb0379467efc02ceabe98b5e38127214905492c141ae06236200b5d8764e1a2489facc6a315a1a22d9ac8793dbd5b02f99b14109ef23817f5a570e15c47cb2a3c681ffcfbd5c29a842079545b4e680c3c9cadeca2138b1c8cc7c4be5a3ec84941f8675586921fa8b864cebd76d7bcbca6a619a02ba2efa301b3e1f0b3907a49ecd4b28d007843545e0773d504c7a170d05c1f9b971798f9a8a8a3c5811054892188d920c54d1d4406b4f3e678b99d5b157a6476e94d32bd98614b2322ac4bf0b24224f7026a7ab4b3402d19d94e5585dad51107d3b478086c1e8204a72acaed608449dc621ba14629781afd8ee5e94ec55d7d720ee931b74157359cc1a980244e40b9f14fedaab6e8e061166aac9d824f14e3255b4fffef0e821b2193dc9dacb5830e3a04a2308ec654006afb24e17106b26df5951d84f6593561e02ad938484a5bc4343d7e8f428023b09c136446b45e5d1c4d8b085b14ba19b3162022e72038136905aed0a55707ad9b02fe867885a59de5cca07ccb6949eaf22f5823c29718056d34771e20cd8fc7ed21cac4e6abe38240ff6e8bfdb90ac3d7e915829ccc96ea26da86a0074e4dcb4034f1d433a51d8b0373ec91c9675bb8116afd45efc26e12567aeffb8e09439d20a7d38201dbdd0f9f55d2d596a5e001aafc3e2cd2fd2f7a1c2c142eef899661c9e6284a029bbe748ff7b1231f6b578707b0ee9e2e76e4a543d4fa7a11ce944916d1f29ed9ed36df6f338434abf0d1b9d38c7893592f69dd400417e0a6fa1171ea1dcb89d612cd3c90f1e1a921aea858e864fda783008a69860460c11486e0b5fe38b9092916482551c96e83408682e8e6f81a515b7e2d21ab741a5dfd56e4c8296180309c03fe86f4c20d44f9d07b05c690bd5bfd158f4972a2f6216d6db39d97f6fe22fb534c18edc3b757cf67df610e4c9b6789424ced5e54ff22cd00317dbb53154b781a36287d8dba62b0c408201123dd43e40c7372dd1df10917efd50609d31fb7bfe6117a7c5e06821988d9591bed956da88949e6a40aee743bb5a85db70700f733f2c6d65760d6f2332afd2e860b7732087fd13d07196702e0832e9961713014957f668b7d574b7803f2fcb62c143127b0fff165fa72532aaabe6ef05dab0e532f8f7d6e8514e732a20f34b21755b76c88e986eb430603821b66c2e10065985f1c462bfd56ca39abeff5c98e9542496ab6bb9547495beff2706baefcffc37bd7634fb49eed93b76e7f8ebaccab69afaccf592df14f41be382bdc7c2ba1c65d6815a28740b10ad7a551a2e485ecab517d8c9bae9d3bf177d524e05e52db0af2dc32021ee2c7c22c2720a8f10160f2967d2adab7faf336e90444d4fb4fe8050293fff4032b0f163d2eee43fbbf8a943078aa5cfd597c6d28ecf90c5f3ac541bc9f88f24c03296dc1b7b19fe3e74feda5727350634c692f36a1d57b5682654f36c8a9315159a11bc1b77c63155983bf2d5d088c941105cca97c6b3f6c92b2fa03f37b7318f19393f848d0d436bf4034e985d5a262da54c8e99a973602349355bfb5b7adf944e382c9ce82870d9d03d8eac26b4881bc6fdda7c5670ce9261978ec970accf5b8d49e9db201f5f33a2ad4fe8b9d913200ca2c931498245e8112a8055e217760638b64cceacba14817bc662f04d3e41e3f82142d5b17918eb81905830cf2487d3412755ab8961a137f7934bf86689056418da611bf9b25f9a1a00f60503b45d53a82539eea3608f0e9b1dad7d8ad97afaab8a95ee2fb8dafe535818edea2e57492b92fc341160f425dfed02a70216ef179d08d4f86d1b65db1d6539c1ee3f2f0137593f174294619d0c0b093fd4d88623cb3c48456c8f5baeb34c6d096b9654f790c61aa82a4bdb9e42fd17da393d23f5086c565fd9900da0dfe2b96ed4f4e7977c3afab422b6cc59c2f06818dfa84666caaa798c26d088215675ee536d9368caa1a6d6188db6d80c881def50a093ded44fa7ef9d41d9f773199abab32c1d5a7a7cf90fc237294524788093e0b2f8c453a7fe1525f635585f949300f6d41acf3cdb7a31e22a3d480fc28397cbeefb412d3b55774824313521724982a371202f3fd22fdaa963c00fdec3fe0d8d2ec7d3cbd69856eed2128068bd15e79dca78dfd95965e7598c17b587822ce296667023985504921bc3d890a323bed713dc199e89d33703614f5cd075fccd7c52003d4e30e59a3a5678598c2b42d648ee7b813c595eee9d5abd6b0ca4e0737f3f2678f5e590292c280f20ceb0963da33cef2e6b353605191361505adfffc4f33394a2019e597e561acc212be0c48f2d65dba553891614b06df1d15397e23573c35e602ffeb4d91436ba92e7af7c983b17261ced44dfb67e44bc7055f98508dd733a4f5bd87a1fd58a99e8618d820ce149795c54a8c9540f088fcf8041fb38e42dc807206279b285e3a9847fe80269dc8f2ff5c57a1f57fa8b3d9f4ec98bfd3f6fa917f33fbfd213eb7f9e9247c4c8f88c9994da067729d9bfb159f2e22a8dc5ff98560a6eb359a21a106f742679985809b340cdbf8436166ae8e0be7728fe68b82db7720b9d3935a4d4b5dfc94cf873fddfadfb404ebbe55be37fe514ce24ab58333877f63daea3f77810a6b75f861e1ab05d28931865af625a7f61f1ce1fb06f980275d4c70da1e64273d86811ea5e9631118acdb2f06edd8c23ecad794467b89acdc15f18ac649caa9487515f455cf96ac44f7711b9467657fb36381afb19bd8ca49ce59177ee96020b8fa539d4d6e5e9cdc351b89a348f1b51353a556e788ef9ca10ecf06afa7d9622c6ad5de9cfeaa4a3897806a7bef6a65fbabe978f1be0f5af4685fa6cb06820aa6742a7435f0469513d0a34fcf36f753dafbfa1cebab0868f519d6f90e5c017509982d57e5008e0333dfc47727c8bc09c8e6d14d529d4ca72f9e149f42db76a20db56e85b60524f4c74a8668f184db5daa9ce0ba9e9f86e27fabae0f19b83bf1d3489ccfb5501365d6c4b9a9d6f70c5b4e4d5926579b3a572eebed55c1f538706a9613c31fc5390dc3f05162d69b4f46484b89343b7f73b31db6076d1d4faffc58c2752e0929d57c5612ef7ac1599e3304a14fd7b5835c7126d5f01a6f8246bdbbd77cf8d18a6e2932782cc246276aa65f7c0f1cfe9b08cdc71aa52379501fe9f69c905f6c9536d267ad252afe8592d4278ff6512c8a5349897a2d490742c1b4b3f3e1ec3575a1f2a02906ab2a3c8367c7cfa485d0dcf5b847dab373bf530ddb188eee9c33788fb294a1ddcd967ccc32d2a2fef060e5bdf3d3b0058c17854a38a9123ce4cd123809984b0455ab979448bfeefc98f514bd9e65176cb8fda23743b77450ab734aca43e8f0fbcd8f1315a4495c1ce41bf8f0c55427a918c1590b05529964dc6e1d7e5e69037c287f1090da48e69d3767bc4d7c16369e98005674879ef9e9a0e8ec5cca4725a148ace5d88c8380869098e008e823dc2c660003ce63154cdb5e7c1249ba9ba412c08db00ee2e3902a2aea5228ee12c6d59e6bfd4a48024aede338b641f460811b6894fd5ee3a90ebfa9375793f7ffd1a297966bfd0f991ec93397d5e1857404dd16301797dca3c22e6b9d7e140abbbe6081ad204540876be5ac4c0c60e4b7f2dddb0d27e11d33af9002d0c6217cfc0fb3f1561b0cbb6aceb4a07f4c2aa01ddead023b659dc9406b09d3d84214a0dff632791999918bd3771f410c838a1cdaeb9679ce75e3220aa041d4a0687b67d773d3632b585815f844ba1da8ebb038c647093697bb3498f1a4cbd1802b5714a719549c3d0ee9fb3228c4bb49d9dcb47d4cb3bf5e3dbdcd85b30ecdcb2ebbd78436fb6ce977333b0dd1ed5be3a29b8b976e0b7a51124e352cc2668c3898d7d2073827c887251bbf634f522491112f53ba57702f1b409fda2b0e8b0cc1cfd518e535fe5d23adcb3e1c8bd35faa460d92965549817968ac365a943475fbc7a6d73da9337fb17e5028c375e0b9e0bbe61a9989a5d3931de0f953fc8fee981022d439c132b860496e05885f4c0d38c5b5367e63fa399be0673f94e350859426b1f1c98af9a3ec24c3d737122dffd33a87fb986b4cd44c2f6055a3844e20c96f19a814b1f79af5a4165cb66b840f2ce22a22fcf868358a2d2706bfafb8e865ae2d32393bb1efcef9cc8a2eb1238b962136738ee9cb2809df1e7f83b5f89f875efb1f53a9b34865a8f5cebe3310a0e5b06793e93a90cdc1a077987919180251119728ec8810f14e9358f3908758eba64c54a57764a7631391204f34511cb9e3ef5485867559607bee3d85f1de6091270a60ebe87388ff75acc0a96a08f7fcb8ac867a12364f0e380e285618aa138d9cdeded9e5260aa7161c44ea75b174435e219bd4a65b2eb4c25ec80d969c64284b905a329a6b98ccff31d49b60aedaa6a540cb8309c12b5038c2fe488d382de4fb3c66bdeadde40763156577b70d79e027965c6a3be5d095af149aebaa1a45664c1e5698ed0698fc846212844fff7a1c47748e4fee6de2a08fdf49fdcb1f8da41b315309d0744be6e503ee90e9227c879477e48c832ab133d4049c289d2c30ed01dbda0b530aa85ba59d3442f4f01e381cb2fda104f5c7c58df7cbdcb6d0d79cfe351709e93a888660b603c58d5370f5717c7704c384bb8a567841382d633959de1841f8835ef5c9c6e9805bd2e7c98873d74c2c661da2cf181ca09697d455901f99ef828b25564f348a495283f38b65825d1d37847c461d495ddd8cde0b5f65a019abe7cf3eb85d6d4d182e63cd939c4eb454205bda908bff8b5d2e5c4b4e71e6a8085a4307fdd37a2bd2c727b3f72e5b5cae27b0d61572f69230ae7b95bb88b821c0a3a7f72e212052aa84d7ac66ba205bcf3f09ab802a609131e4bcaa969ab64578e6122425a4d3c40cf8864e65ca2b37dacdb8420fcc2394f1f103c3ed67cf2d9b938d123a473a7b41aa1e548d9cb7fdf3d77bf016bb095cef377cffc00aa7eda075516deb33a272a1e39d0f6a7ea6dba8c88a6fe5f0dc3a1e4573e70107a12e10f2b8bfecbbe9c6025c64d5fdd5375bdb3b925c2e1d2508902e127b20cc20205fa292801b37f1b61987f4e5b2b30084ef3e297ae6d27755b1b74c8eaf3724bc10378d433c0e3e4b0eef181fe9deceada7e3abda9d39f6c9f351fb3607a81094b8fe9340fb1b347994ed296d603b40980a17bbc5976983b6f167164dd83012d904caf0787a5bf3e0f43224dfa5c031256c4ad198ee2775fd0bda3b95ce141d8c7b5cb64909651f34b9223b25aa719c9ddd202f0b762995f3b195d9cd6f845a3913088bad9fa159fe3b438bf9691f8b13eb5c17a9eaf969caa64cd033b395427d9d92c4fca724cb3cb22cac2c269fb634e40b8f5ab4534f4f68e2f41dcf7bf2ebb1d3502209797cf8c89ba2da464efb3076662972f9460963c2b18b94c44c921294a7929531ce0301dbc15064e1e3014f739353a614f3e2a9b4b8b15a72d992f0e6a592ffb2e1799a1186790a130319d816078d6bfe3ba9e02cf7a79237c4644d6a9cc5129764191b1bbeb59ac099d31505989c50761655706e9e0892547390ea4e8e79e95afc22846e0ca093b397a4dd22e1da9f18a1339af0c238e23c4dd623ee81dbea10006ae80f6f91d6b03fbfca3d2ef3b50b15f9d50e5d104bdd22939522984b64e3270a6b44ff8dacc7cd1453a34878e29bbc34030c554bc832f26835196b28a7743d42da3b7d8c057b9648df0109d03601bca65585c57db7439a4434583d22893c1af0b5eeeb1c083cc6727e5124f1512784c8c0280d76afc7f5f775488df4bacde8980d2266a21673761355e36d73a619359f10fe8549ecb119e201f1df264936a98c8e51287eff83abcc99d8d4d002626b0b538a4a5976078c8ebad22ce7fbdc33655827a35212dac5dcb954cfb3ca824c2c242fc1124d0d845f5def618d3880778b328c042eb1ea527199928a194c71825d795b3a86829abce69b183bc2906ccc79829f24ac2445a90819cc64895ae083d80d66fa005db071e766e54954e080f699918eeab175cc4d4d0d9098bf429fd0e8fd556ded08155b775932fb005687dcbfd919b22620dbd3d57b8d90b926b218048ed3c37f3b9a14a646117f0f607b3ba203795584c131dacd44dade86322804350884d5dfd8fe8e4ca1b81d979534d34d3d52f32c05a380dcbf10f2d1d0dfed16c5a47538d11f3d77bdcc896c2b7edd52852b207914ab3796f540a440485568c1d99f21e2b210d344d712f874c3060cb2a014e62fe0b134b1fe16399e323cb71d3697cb471c649b50e106a6965a7669e89777cdbe302478be7b591bb3c04640bbcd8493a324013f6f0bc1886e134b00b3160c8d38657ffa540fea7f6f7f62eb702408d3525c4fc4d0e4d5e91ec64963cf07a7f010cb6084b91ed7d372b5b43774214b2771af3bffa3c86ff9e5254b400a8c92827e19ee19f1fc45b20d75551c43c4ff016d2e5c2965ed21c93267826a42d88f153d417a4d5707dfcbaa64291da8de4a4f74bf34af457d1f4b0a965ab3a53507379bf92f0383c05326df2cafeaece23dc2d691ab3a71457a454c6a7c49221407f54d7f3e6aeb302251ac5785130cf33f8f8c300e62402f14d2d5c7dbba29c9edce81033d9f03e782134de0a1b86eaa2942786660bee89db4548f5f4b2bb50102c39bd5fe881c0517b55f69863855cc1b776da85d63137473725241f991b5720f1a6dc8ecb4a2b60e776825b851bbca1ee3802a8817ae0928b0aed19e3fe01832b1a2ac3bbe97c42cdb2b216b63ba304e9c4c9298fd163aee08cfe8b502043b2f198c94f4e59d7968a7dfa5dc9bba779f073566eafa6f3cc17fb99aa614961061e486dc71d04a631e9e41e4ce8a32b54344db167486dd3b016f65c2b4d7470e7209b9602e20ec8a328e8b8c022b04233be8a5e8fba9efe373de786453da94dca9d467db088d5a367cd82f9de48bfc3b5b90688bd3cbde38b0f09d3f553409d5b56079f748b1914581c99e209cbfe9ac13ca8e1d76b711935d4ccac39cadf2331af2ad2bfb4f6ed83cfc26cff3e0ce691bc1c65f5ca81a9fd94e4e46a0c4e35418bcd4bac2058d74b5074700fc1ae51b96df5c21bbbfbba2a3d09be7b0e27f4b551081ac7ddd62e82b5baa319507abde1d14e9b4a480b34a8d43598fb87a34003f18c7835dd6c9166a66e7f21343468da7839efdca03f58c99180b7ab8ea291b5a48079cdff438d4d567515bbbba1f56a542c5c7ab7b33a61f2078a16aa70dfc53e8410b2d94af662dcc122f1b34f871d6f5879e2c76c88d32c942b5ee89ffd31aa393cd1e0f41c4fabf7f5eb2890dc447296790c6a71063cd1dc582b845e83c1ba4ad574057291f19a67e3c1f553572961632e6eef5ba0efb13dccf36a3cdc3ccade8751aea452b5953e1939df7ba5c1f3d06473db7301a153c6a2d04fe833962f7f5a79478d569e00eb4f9e7431d33a885422000e3917cadd2f657f0800f3232415900670080d4ae53105c8c4fae192e8afc024b78b196931430ab7cfc55d9b99453735a38ad9cd7deeb169592276855a1b70f8fe50e9e942e31bd7b0725813ba30c361caae1a4eedc13686bdd24b3fbcf96741855a50456a037bbf137844c72580cdc507bcbb1084f0947a473453f2cc3c64f2e1d34ee232ec53a5fa9b4596a4fc52c53cce7642681745b3b6b2a819207aa614f7ad16a96d7d8050558fac5f0b8beecfe661a99d70ab411c0036a8b19035c59fb6e3f6336ace1052ce5d5992a274cc45e736a6f80ad82522976d6b58f01f00072094abae1f09e87cc6bd2b3f40ffd0129018fe2b2a47412ed7bcbe23ce3e3c723e50c05a376b1dd105570ec9eab00fcb8c60eb86e61f437b671e24b9e7b43d31d38bd69a7da0d9f4707c020b09cbd88db0a45257416423953bb8cdcca6e3855804a4a2aedf6545b27190d038e3eb3c338f862dcca719f1c8bb621adc3c0aea3525c4ac0d6112eefcaa049c3453393e45cdf193574da7e407eaf594dd320d63425f4fd23a595e547b679b8da760c27381201491c7ab10daf80eb1db7214d4faff37d56b68ea955a2f84c19a1ba4c0fa6a2f9a06808e447d45639f459a9dce732c87635aace64b43a2c1b94769833fc68f456307330d6040277bba0e8ce3434a5f4c0232099c6c8188f86a806481b49b121bc970ae2ecd876f02ed2fa2d45082f5582e207a9c35d279cf98d0cbcc380a919f57f0592320b639236ebc236fa808d7c433ebd0d021eff1472f3563c5a84939142a14b322a421298d1b220b093b6eb2fe2587ead2dfa38e8d216671f67ccf4b7877f9c0f28b9d23f01a3fda61b10f94112cc9f272f7e71541a3e5a1ff03c7e4040071d828e29faea827b54122a06369089e314b7e085316d8a45a2ff91bfe8b841285a878165602b5af57102270498f9f681df380e1785559e4aa3bdbdfe4e78ebc3177c5aba86f50fbde51d9ea286e49a3ab58a9c8fff0633e200dc7ca4373ff8c8dcd5054c0d6998cff704ea43053904806662c4306924180f0406a79359dc427c1c4a87630664b27583aa6b2d6ffc006d27f35b1ee7c736816c8e310baa8f73a21f8645068cc05b2ff7033b6a7953923e6da237f531d2f4e5b7a5b072a3a2df93edf9a12b5ebe21480fdf085d6481066ccace3b62fe2032abd546a64ce79ce368fa9f0da170c9d7ee7bc4bdc3e052f8c4e5c8934836c0dd0d8ab34a5d3cb590a56d673a622fed7258ba29f256c82f460a3b8bf61d0b5887b4dace9d91fdb6a9ba3be07c2663b6a517d8fdce5fd9e5841d5d159e40b07503fce1fb91a0a1e6757cee694e6f83c7df2f074fb7ddb9a99a5dfb6e2ae2bcfac07f699c92020d12a418bfa676c4b0ea2c0f1cc9c7fcd1eea9b6868e42062c9fa617096b676748b5624ed4bbbd98bfac37b5a7598b48ea017b608cdbda3256dddc87c4ace2896adeec9e9ba48e01de3fdcc576292d658ad32b7f4b1c18381d7fb0dc85714c89f70fcea06f94832839fdd544910398504ff265e4523ba09b454a8613e89f0b6137e5177de8ec15916b1415f6e2aaac04b1508cbd8716b81f9d91e1cd1515c694b6cdbc6544ea97be413b54b4b2a25eff8f5b6ef7feb3995744b2452dac271d812042951314115b67427adb3c6e36eb736d86a8c3eb349a52fd9e1f539aba7124068b4d4336dca5988ce1985a770ba1836bd3cfa60b8eedd4c0abe4059c653cfb28acab0e788614392845b7ac29209b420761fcd037e7df90ac573515b778d3d09b917299272636b5a6aa009faa52d2dfd7b04c38a1919b750b740d6151a40093faa4013167a7225f0bb930af3a0974f4c64265e5f9eca208398082cc96725ba15c03688ab526533214d29d36a109e5160f244367ca9368d26f06ac4f6e9ce083e32403fd72ef68cc4f98055e4da2be7692885c17db27042a785ebd29600ffc9f06c3d5927bf439d42c91a2d77356652a2e22342be72d00093734c9e782b7512dfa58f39e119c99f12c8a7a00c1a4d7ddfeef893d9d69a04ac236a141a771a7a2fecb3a66325a44c12a76e0eaa5f1e2e5cf1833180831475ce6050769726c3e3d3114b864990560135aa72c48fa5ffff2c3008d29b9478e4e64a57d9f0cc893265130d4447150c0303f180a15e2e02ba0dc47792fbab8a2a80eb940faa1a043cba8f46903639c086c138b45ba4bc8f70b8042cec62e955854bca8bb25426f63af0724666cd19f30c58f894c2a73fffea71041157421b03acc48064b8f14a0a6188104f867802a72649d7c0994b210fcac877f35412daf3b11271eae86f212cdf97d406757a2dc096c21fab04701c528657e67aa40c2c2a2f7c50555544dfdbbe286108283d75a8522b50b041c004aa919e1c2fc486f30c7d715c5e776e135ab2055e75ac5405876dc37ebe8ecbe99ac234b8e4f1778ea18dbf5166ef18da72316e30f5d94830198631716ea91fc42c7b23b24bb1b2684e7ec082ae5e7f2dacd4e6433457870ee9cb0884f75ba805d06359ed4f2804ef848353955f456e9f3665df3f2b19ccfc53d4e642510f55e8adf3e462c07a29e55eee95ad0b877a653d945e301c19293749438417c67d4ae3aadfa3b80ff6a2f89996ba0115f76438c78c2845e61e83f141a984c618ed1fccaff76c83d451b9c0b8c9a4b225545840297d9747241a08e33c032efb70feddfe36d1a70af82ff87b9e716847cfa7a33f66eef1a0378d0ba1e75f0d9aa64631dc2cccbdd9c27f0fe674eebb097a20c4b64b1842acbc994eb63cd182fc0f9912c9d6a13aa0faef34ae95cfb0192734384398502bdcc3c0f3c35a67bce395990af9c2f1bb4ecb11cd40f03a8a074c7eb440493c118eedabf319b6897470e6197c492ef095afce417d215d519e5444c64b37783400d5972a485900f2d75d8868abab263c88e7a3dbe0c5055e698019b0511cfd7fb285f5a371a1884110a7882c6c2922ca3f632a26f0392d6d94aafd7568a5333bc3096974c965847025a4f195169a919706482a2b71e9c9233aaf2e3b7b042284c9f188380eebce0dfa5019e486b3a1e10d38a0aa936fad8180c78ced586e28ed6d223f0e2d948f223a5b9abc1133004fe133f05f112186b78c67e505fcbf9ceaaa4a37971819b271415fe909f125ff4782cb3cf3894b530448a193bcfdba9823b1e557bdc96d2f177182f40318aa8de40acf1a4ed460f6947cbfc276a552080a154ebfb8d9bda182537d792077dff918e5794bd0270f2489ef9a0630db6923f4486f9475a8ddcc751831c4e824223107528554f4f92300005eb959ffd25109ec365036eb3f2c5a2b6bc41431bcfb4c9dccf2e08363fb130c87271c525270d1e00b3df0d580d2a7f1a3244e710432b403d1a702bfc617bf6bd086cf18a56c4e2fd827fd306a93dff6ded40b37a2f6ab005f6f8c0fa66be4db25a5015dc8599b93b823ce2ca6ad788819e09e7a0b6dff7300bac094132f9008ef789ba2657c282c61fc873de9ffff529920d34b7042db6abd55099e7f08a58012417a11cd2b9e319080d3f383c90136458b0bec59fbef6b48797d50c174e66309861f9f87891f969248be7edebfbf8964b1c02ecaf2448bec05c7b23760d49a4548f8ef623b895276af8392c954bc9a6cb31b8b1fe1b3c05c635684afc1fe9b35cee74d7e458cc7bc0d9518c3873951edf2cad766ed8fef58300662ecdf07f2157478b1f9ea2b408f1d809ee0aa1e6785630529aa7926e0ade7834828e02a105ba3ee83f27b83eb4596e26ef041d1f068e0c8a7ca4afbc9aa2e6a0c864df2ead410514981257a9a46ad812a9b81c4f6c5c602868dec5b27dca2ef7dfac5a44b760f1e9daf297eb7f6c065ae1549580464c24865a2fa16d60c5e0c4c783aa3f5a72a875ec0b9aab31b8a431d3fbdbdec8a641edab6117894148f097ae934cce4149f1fc26ad2e3f15a46a3f299268fa5c34982dda339da47dec1b155bf261f62226e2bd8e820c27d7b26e98dd4de87440d2ba0510fdd8a08aae9c5680ae093ddfb84c4c4cf11a9330c34d7261215216182204de2066f761cd7e77295eb2b7e5628e426cd036c278320695e83fc88392f2b6b14147b31f254fa1a14dc3e401660bccc321ef48a85356ac2b18f9fc3546869d54e2e8f8fd30d97f5c9b3442d3ec7e6da4fec6b25ff7914c63253b6177fe01aead5a18524f9144f85b7d3b972a55809c6c32a7ba2440219e53e576b6406414697bead3777002b8741d332f6692d907cfcd99451d48f37df6e4ed95dde3cb096d7e0fd5c85125fe82166e580eab0bd5d650aa5146085dd3a9874b5aeec9f2db02bbd516fd47a3e69a1f7ed14f30dc546fc7e385976e37e13c6910ea8b92e1fe25b31874c7b5b4ba62f9282ebbf8c877a2e505a93e9b409027ea0c78a9691c9ca477777f40b4ebdd1e986b8dc3e9bdca12e1f2cfbe9755448ea74cde658c4ed4c5d9efb1122cfaebe839b42fa385f8ca3e28787b0327761c32112d3a75f741667b6a86208d5b95c94089eda457e971775dd130ebada2be3fd0f264545d2355fe50957ee941644d0d631a583d18721b454bae8f47853f5f04e9bb80518bd3193b244a5516c26507fd220aa8d0444ab87a2b82d646fd9b989ee7b121418d420c11da50692ad4dc3a059a1bc0ee015c67b63ce4daa83f36762afcfeab8eb3d0b79e935ad24723c5f1b747737fed009fe7f13f15ef98d33d0f0a4641720b5bd4e89b1e813a7b74e4b0134c88981e21d26f8e4ad12ef4de16113c2e22041f1bcdd8907f0d4f337f2b0e09af16f19b3330c3b65a90acaf9b766e4bce045bf6863f368f12c8354909c3d06f870cbbf0bf745b57d3b2502066b791d61a0ce49b0468360a8e3ec3657d504add9df7d537ffa85cb2c39f74abf28eb5cd4a1fa7a42684be163e513c53c689344b835a415a4e67179dde95b699066621742234b4ad221498e5464dceab4632dd1fb7a8edf073e1ac96a83147850c80740f9301af4b6acbcd3b878048a28ddd4a929528384eb49cd211ea4b504fb3ee507561fceaa08da42037cbb3ffe5b52fd084b9b6062907a05fe739cf8a248221d8ce8e46fa5c403b0b4d42f55a39f6d893b151ec58420446c9325374a4f6970f47a4fc80610ccfc778aad48b28b64befc6a8616fbb5c1fdff89790b0d48c2de684a6f7024323e9c312eabb31655cf0d3b4aa2b6fa067b5edfdfac789a6810d069ab1509356cbac1a2f12591ca4271788c199afd7267a94f43daa94531473ef9c1b0fa643fe6e8c95354d7b30568111b4196ff0b2c08ad96089b71a320c716a180480101f539b06676c6947c6db9878ac3628a1173c8f83d8c636d68b4c2e3e5b1e8ab5106d0a4241ac9091f92642c88e6c63d39b2d6eee70c1234f0ea6a31b04741014d580a06f18df63b170af89a0bb5fbe3848896dc6b7f5af529c1b299f546b0e34202caa98c61d77e05262fa46616779c261ef5924beec0cd7a3551c1f4abc5a916eaefb1306d25bf7fe10e5889e772e656de2b209ce9e016fd90d9cf3b4725f428ffdca4ef05c0723172595e1d6e37122168f253517e001974b300cfe1321c8d40504cd9d3573d5cd9238ce37b32a54cf471ad6a1bfa7168927e72f81db6cd6e0f3e4bd017300c0de540ee4eae28280614c4f12217274a08aa6598e841ad2d5551d9c83120c3a822e82945d55782eefb925dc74baee3df6b0fdaa9dd81defa2729a7d8ec6c069dbe8c66d9e724ce458b0b62d9a2bd57996ba50365198f19c3e58e007bf5681ff5110644e946af01a73ffe7b6fb9e8d23a047dedbf43160d7446b0ec84bfb92fb70036c0b48495f4712119fefd4bb8b886962da19f5482256b100c151449f01e85a572194d22599c83d11bd0449c23495013fa3880a4c558c367828369cb16b461fc55569c7d2da3b103160ac865581acecad1fbea762c01cba95458403d83ef77efc0217878c51ca8e8672c0e99b6ebd8debeafaf7073f54b43092f8367e7f4bd4dda5b5d97d79744085ff6d962ab0d67ae202086f9ca3eb07f578e718b603e0d711c09291c8157d7aa34ecf8dd5bb67a88f2f97a3cb922e2734a07ddb6017971acf81ca01457189951471513d087a96c648443c60a53c652f7171d09bee9f21195123e3ab32b1e5a4e16c0c2b5256aa2f1a2aeaea934dca228f52b6cf7ad0a2137b3d0fd39b0a414a2a9b26c1d3dde3c91b796eb465c0a99d0a84541bdae9d4b77c3a60f449fcf002e3ebc1a62e13f5c3d7e56d82154ab3d8e001e7233aef25d8fda9979db7e46a0f6fdda19f8243ffe1554252f5411ce74dd6c803ee4fb6091eeb754768b7acae183aead419381dd7a83587876ac28eec15dd0117b426ede0885ec8a6a05448dbc91069161d1bfd89ec1d65e550fcde60bb2f1e4e7dda574b2740e0f5b36b76db4b8e2ff8f32538ad52ee8bd5678ca4712a7924c27c2a21e57409fd71156eeabb7d1e2832936c132c72d0d504688b7a11e54d5b4548551842886c0e94c1410a13f8ad9b901d24fdb8f93ae592c82c0ecf581774c37e04d0b3189a8c1acf5de6a4734099e772133954c72fc566fd795255784a64298b712d24281ececa4aae1396c4d0ff74dbfdb9f083cfe7d5b29a2b977c7f62f53e8f43106284dc60334169cebe5b7f76ebbad7edd2e2acd7fad854875b2062aa9d5be17faa4d7a3f4225a13cfb09e3dab0d1069b228954d6b5687eb52df8689ca81801e642636df2b2a7d05efda3890b6d78e3ee3f2ec0b4037dc8fa584c9e028014515d09c8c7a46e1c6adfe1299474b2d66b449cff2496c1eb30347b59277850bb6c05a29b43255e7a7d4bf5cc069dbd15ec40e553f8aaeded72c20a75e325c6f99137beac76c736a31eaf38e57ea23842497f94e5e6bba8ed43486bcaf4264c6c87ec68a25ce7a5f2112b4e0d193dd9913dda05b10029d7d5518f9471f6e2ab13339d07081f373a6cce5f57cc2edc8b0de3ea4b68a9d137307ed040837f5cb261b175e0ff7f9993bc07d62b51a37849489563c1dd59a3733251b0d2c827edd7b223bea2c1a6e196726d6baaf6b15ac80e13a5c235f6b2b8a2b9aa8a0171378fa4c06db6b9b11342065987a640176cfacfea10ef6feaf8a29a4ac40f1bf8393629bb7b8ed5a6fbd9c05f9b9ab2645347caf3385b5e19169934cc29e6689bc02c753649cbd6d72caafe8610425cea5f0de96897c4156c383d0e0f3b70ebc8f3bb68b41895b2934ff3a31935ab142d875a1ce07445188daca4364220a79378aafa0fd0e66a7b1bd9f2ac3ad6d5e42fd4455e34907725742e286a8b161236bbc54ed5b8989292f2eb5d76efefa0aa97a2c312fc072b55454a5a62a4ce0f2b3f98aeb4befd8fde697571a57e128a957e13a4512c6de1d22ecc2a256affc2ed00436179c56c33762aa1e810b7155127c26f57e25f37051c3de4406bbe88216450a4b5a6ba5e0a181cef076aa6cd6bb5ceb1a222e01305ca7c396ae7dec0e006b1de918e2d3ffb162afa188d51767cca98f4cdff7dbfb8c26adc1c9bd381e381ccca3fbca0092125b8a10d67ddc6f2484e1a62edb42746436e54b827a4563886c29b2d269c4245f56f788533df6cbb920c247a39b3890928020e1a97bfcac031553d9ce19d50e5ba9016c6f28613b3b16bd8f0a88a7cfe628a33cb1f63185cf80c210e705be39950528b5cb200c27031213194a13f712d2ee8991f4a61652469ea3517be1d7328115a8780a3a6747c6b99c2deddf2ea2f27e37476518cca84fdbcb4152ba35693b03029b27090027fb667a8f56e75d25f1d094b44365ab5c15fbf05c4547ebaeb18d1b8dabf40309e5833770b4309d948d16f4d2d30e44b5190acd595acb40b40b42119cc700e5722b172a3f22b25a43af90428eaf08019d5491e3a5d3abff68119abb28398a0e8e4532b8036b03367beec3a643ac2febb264620d67e59bb4ae2ed8c006d3cba0f7dd3ce35ce6aac2c21351490ddb645e6e159594c2105d89738629c142786e84157f82f6d2df95ccd934a0c68720243fcca72f1582b7b8535506bc8a60d0db17df30ddc290fb3ec0f6df090a27a492b8093be79f60776c5e0bcb897ea32c68324437c03ca6a56f69b4c3c4fe59d2e0eaa2e5be6d7bc0ae03acb8f11cb29e0a3ebceb506d40e9890f4f9b4c145267d01592226f3d7756aaa6a53ac79a9274a66c3af7374281258646fd2b60bdc4436191b76213b9790aebb98a4cc8a590393748bcdb629a169fb45ef4c3ea9c15bb1babecfdcabf3d21e3d103993d119157d6d83f9cbdb0458c52d2f7e5a466b81ec25aadad0939e34ff06c914aa48eadb59bcab96431c90b049b226558b52a40cc0341b72e67892afd9e24dfb28b232dd038d8e8e68482efba87c3720de636af42e8de6ac6716a346758b3ef2aec9e38974129e902bc91086a643d70a9e203826d88164b18337e252c3b9084a098fc128ec86eca311e0043f9a8a7f7525526cc46914752277b20c1fe48ac5f4e2ac9d28dd332a2ea4e065a621efe3d76a3aa252dee14ddeb28f7f06c231f6eeeffef8ac9eb449bb4466430957b83dbd2f6d665d0b0ff14fd5d6c3c81c9755f42f80a4be0b6bb1da41258b447267bf7ebb16da4d1ecf9824519ca98754f0fd3138d49ab7ec7154a3ec56b245d5477fbd3c84f7ef9c7859abdd9ab2670d8b5b0c6c9223618c020963a9edeff65a1a114b64fc47111896059e18f763b3a19300774f768555366a2225c1215bb0dcc7797c65c331dd71d094fb8ed0c06e0d276713310ba4718ebbc7ae7fcda278cdb81c431f7ddb8e28dd00b70e1e3b5e603e6f8a8998aad03c4edc060c466b62ce17488e47d8f2d6c1317967ac0f6137f079cc7375b09cc98203db9d37ed147418f8448d70e74e482dfb19845a5222271b0143fd76285842f3f136228622c91c78dafb20df4a1f2e2b70bdbc4d810c1b725e1bded9fe3ea29d1d6b3b74d80e6dcb00abd8a6e57afc9c7ce8ebd02db0393e6ff52e896040720f124997f148b8c2c769fba83438274ff65d27024e4f7632411313100a865f589f4447b3361cf642e5f0fd5b80d8926d70822968d6df9788a03295ff422ecb4ecb1516f8e608691c3b5d90dca02ae445d9988d328bf89f4461f54c93e1b3c604c6ee615a594e78c143264c03a77d9e4965f15166ed10114a4091c548796141314689161fd476c9c9a8d81a7bc45e382926e9c549f07bc788b7b4dda2eee211283e23f5270335e19682e41634c192294db83134bfa1f17ba07a1c210faa99e0f0d9301fa299df1b73ce28dc20f056416fc7e2f8682f304e0b6e6773b04384c92aa0b5a8fa00327cf7f290ff7906d6f5669cfe81d613a360eb9a6918a57be1400ef14ece065bf035ef11b8fac7bd219cd438deaac99d44e1b4773dfbfff5064b4350bd32d3d7a8b4faaada692fdcee65e00a7fbaea64ea2f288ceb7cb535b3cd0e1e0e29a204e38b7f077af3380ffc4011d8c41ea851658e299adadd4c2102499295535ff08ad7e8ba0d34b81bdfc2dafcb1b1c4070b55db9d64c43300fde40a973400986c370be4b0c707840358b6d5646295e07f4bbe88886f114d6b0e7040966e113bda584de1ed97dba3c2e6db42a765dbcf5978f9c2c84ac831ab064425daa42b333ed6142f1fc80125cba0f3928a603a203da4b3df9242d31d3ba44ea61075417bef7f8b8c969e73098b9153f5e682adb5363924f23c00480cc6bbf97d899205d48634dbb137416871a7c6c71d44c0449b78a258c9a1c27457864fd06dfaef9ae15b90a2e8336d4c70b306b41f3d88321f266d316b12fc84060f44be8fd1945471aac7d413b97b61e078c955b6e803c19c071a51273c0d45dc0cb829b911ad85f0bae97d8606b1875720dcae3c55f0319adb65566f8804223df9a956820c52988deded1c9607928d4db9f9190b8ff2209905b461149a8a4f354539b64deb539ea4f17f6ab89c1ad39b021caff839933d8748d78dfbb63e7bd8a866117132bdd453dc24e39180fa794363b45a24bc64aa41069ae4915434e88ae12f0e2a40bc6f0f5cc14fd54822e71adde6e1cc57713df3130d17fce72f2535f7c984a460a99fc826d777e5a6c1ef135540535666d8abeb0b5f7ed667b03b4a7fa87cdeb369c90cb07b28b1d34d59cae15ea50ed4b8a2033905ebe96ccf3c3e2a782e82ef6163b62c52f0ce16710876a1ba8044160f1d7e81642dce840da67e7a0cc29353eec1418498fab6f51d35640e3b2c7485dcf588fd2416cb0a96d433b49f46d0e2487aaac2c7fc1fb9abb23284c7a65d1079e703b4e87ca19ca040d5119d84c71635c8a13062547716b3a61c04abb593fb16f3e74e28f83f8b2d76b3b8d14aff8becf5ee63b9b6ba32be2013261ecd80444adf92f04d3ca819f44053345ee0ab37d53fb4ed3d179c948971b2b6d755e01fa77592b46b685b10067f6b4a5113edd8489185371cc71ae7cfe7b1e17c185fec4f02fdc30efe126d583deb90dec9e21f9dd7bf897ab2fa9e3bad3f753a6c229cfe3adb4538ca5d1451f51d4cce81d2470353f6880432a3de5b4bff0c12dca21c926065dd9ca629f84542ff35d5f3fe15a3bd22355f1d39a1955fff412f5fc65be86642f420257d99b46bbde2d5872b3f667c64312c4570d6c09dcffda58a73d9047d6a55c080ad9e6591979aba5b975d848ef5f7ad16ad6b4037eff8a349fdafcebaba7f81d89baeb8bb9d908843e51755356f4419c7fbefbf7667f20c1d16665986d9e1cc892db0ef2ae406bdf937038015bb194a690a5c25c095248310daecd9a81cb88f341a00b02d1d5fc2541d31b560dff23c414b4e9105a0bcf67d6a8aba94d1b8c4b60450749927de0974e6289984e0a764ca9e5eca1a9d2d2fac3d7256c642c47fd786c822522b9e1eb4209d80b091749a56fa8ded66e17791c5f194029626eef41be3152e56fdfb6375f4239090d7db22f40c3d020142a71ca84e32175f7d6cc8b0468c64c95de96c64c2bef55cfcf999d57e7cd9c8e0ae14ae8ee7951594d1ec587eee10c51bd500ef83c08672d563571cde779cc74a43d93b0d5f95ebb11fad67c6004baf3bbce708a3ffeaea22df5e4dc741fbb107397bc7990e5dc6647a9a8a82566f92a7a811c7fe5d31cb534198713f9ad38c2ec13e2310901010edb3d8039bd90428d85a60dbfd105ca4d88421342e29e42b7372d3d3258547940cee2382c3913bfad574aecf86cb0aa3f9b72a2b8e930c8cc649905e097c98ce44dcc8eb2c4424cd510448efb101cf612037e4871618b917e14779295b207af707c0450b01534682651e61cfcda70817400b73e7b5076a2dbb63be3a4681703f5fc53555ad0a43a9300b291bbd55538eaa1ed58b60889fdbde65cf16f04d25c9480cce772a26cc428fff01b9044d382c2ccb53df68b1fe38e702967164643e6052ae3b023d306586704093414edc78af484d1e56d7b79bd7883f3ab7b63d32b091019f0a2423f2bac50e155417a93fe902cde3b67847654e0ebd4f0185151bf03c39fea123267de4c73e8f4e18b90a2415a5eceed016ad28a88e76902f4e508b956e56dbc9ee019f66688e87e52ce82af0b93a6684d51feefa5e95e53735e02033d06c3e08a3ea0c5082699520b6937ce6466d355f97abc58127bd2a0222c425e64d2e9081786152736c9e01a2f2d9ea503dd8ce54d540289a641817bf99c3b59c3fc3815fe28b73388fe67d95b25ded2b17111f5acc2738a09a612db129ac6c1ffb48e1353379a1256b99823b205823ea6ca15c546ccb91f23bbe57a05e27991e423030d04bed73add05e4c09ca8c612c485500659f6d184d426c98176e549c62f07ad66d3f81d042b99d413421b1b2e1569641d15b7ad31018a5547e44a51b4e8b63ecae7841f002c751000f4c0a4b8c6a0a497b63620d2800725265bd1beaf5928040bd12d50b8536b01d74909f2c5189a3b35c2194e333cd22076612a1aba86368775060a0d8f2d9bc524255f92efd3818744d303fae59e935c30161aa7036dd5ac96399a70398665bf8b7b69cf63a22d2a6d0ed218f92f36bc38d15c555f52ecb5070dfad3b6d443f1089fcf67c520d7c8e7e03bbfa917b5d19ebae719870c9eff752b62b401df1a89d092b677b72db7943225290365094e09f3083580edcd173fcaf27b80e38abb9bad1e75cff3bc9ed20436a574522a6f69cc4016c012251c0871b68a95ae3244feb214aaf2431ec51ba8d061eb1f5c627e0091c9f0630aa3959fb2149a020aea81c9c306b89e53fce4f16e6036c5ab87990f79944499d2bf57daef6401c0faab0b0ae996cd56c8043dd9be03da45775c16653be6f4f024db6c670341a86896c72bc48157eebf52a8e8870248ba05fa7ae5ae16f08afde689a4f3ec9267589a38fa3b5bebdbf79f47661e4b35f421b37dfb13cf5c923ae60e99ad0087cca779a4b9a90d6728ed59bd54bf862e6d3a1cd2e1943a64eea73674d3058eabfce26ac889fb4025f74d0d28db1975f8bd0ba46ba99d4fb9afc7bc7197fc0bbe67eabaaee331e121dbd770ea3a93699c2754f773a474ecbc4def3a3a39ce879bb4219de9bb698d78d669d35beed46d731a993a3a69684469584dbf4d130c5b383f607a3ac3990e74d78393fee428bdf8fb7ca09e861e8aa376fe8bfd5477f312a62c7d94ed26b9a3b8e60e4f6b32992836997e9b3e8ebf3f61eea7bdd43d7c0a86a09da4918837eddc6638bd16a5ed4c3f12f1b821f4ed735ce5386ce97796fb9b1b67f5dbaf443c9a39cfdd8f3c9e4d4c32676f4c61e96392ebcf0f3c373fc071210e388df2c5d2524b29a635049b255fc6b65955425b0ef6881eab05898a850eb9958ee599b7309c535aacde88faf91be9b7f0fbfba707dd55024befa69cd4d3a7e178f3b27ffb42225ebe5c68fa13f6aa00c110353f1f43e8d36bfad1148e37b992c2d38f5ecdb59be18441873c9d65f85f3884d2704ec9db26499db52dda21f6efeb34b6135bd39ced61d377a677d61776ddeadcab5f5b8911cfb6873dfd46b73f75790b375c5f6eb56e47f54f78c2a0767693991ed5cfbbea7db74a3fe278190673c7d8f575bceba6f7fdb0415a5ca4521e5a7a9df6acfdeebe7d9d6ed61676afe39dc51da67256b0c5896f8bff78fb2db4db141818717ad3d1535091ca4517285b8b24a1f12441c207891f77cebba540551a842664368310246a35f6eadadddd21e8eeeeeeaeb6723164724aa90da2d840cac655cbc594da42663308f1800f4a28b1c45aae72b5ce2249683c498cb4dc8d5aca050fb5c11b4e3788f9d84aff68f5c31651b803d460688b23b60350a1551004b9b2841494d77a031a68e9806f5b0888846080c467796589a369a57477cb4cc852688a174c3104099acb61fee00517ce073ed88408a204eeee444de70f974508dd86e2ee1182f815a30ea02ae5dc6710d2058d7651737777777777a7eeeeee4ebd7f542db6a0face8e5e7de463adad9656eb0f237093194dd93a4a29a5b4298dd2a6bdd51d946cdb1ec0b66a69a9fa60a8ca0b0d4213329b410817475a04a18acc92d078926c21cb81ab9d82d2663b084dc86c06215cc0ec775b4a29a55dbb76534a297d592d7430d59e3c49b6f07196ec06fbb9f922d1ee152d7cbada474597096aa3a2bbaad89a36fc01401547d7340b8a82664bb3a2288c50fa7830d473f2b29891e0ebb098a5e0231d15e1715af8d000bc3c803551dab0983285c9ce5e477556db011148540bd80eb8905c8b22293a70653b5900fdc8e1ce1f3200d9e1c14b8a12a076b488a9ba28323f2024e5966855aa2092324b8554bb93d0789230a185892d4c7069a2a709264d3469c2c9d65dad901069abde0f9a115c9a257b2e9366491734e9cdda4db6d92e884cc86c0621506481c2080a2d506c81820b510f1193ad7bb21cb1c30eaec0a028628894906c0b9742488a8f344405e8470b199d2cf703884c06203390c2ed404483424a1107a8f82932b52006b65b052a48628a1b92d0d60a1581748ba0e590831c6ce18199cc8b273eb04375400bc208425d4adb8f1910990c40889875ad3d71c061b3368815536a93526fb5c82c098d27c956e58828997ead39d4a6bd5eaf1d5270b254c86c062153b2ac7283a24cbf7b0a134a450e573c01eb1ae405259fd1db4800656aab1249dcad4895a229997ead96f2207b20f382073040e2091d727027587c008b1c6a90da3a2cd1db0cb255c141934c2d0d82891c9e3ce9c2054618a9c0045584e8a9724516b58bcc9488e2aba283a14c372641745184a787162f5a119e2b4bf87053c40f5e794696423e10caf2d4cdff2c270dc1eeebacf9b77faca16c7022a1a3b27d74c0e587033fb2ec7886118490bf084a2277f387ec58ea2077ed052d3bde913bdf320465223bb691bbba654b760c80dcd91eb2e319b9db64901dc7e4eecab2e313b25011bec88e07903b1289543232bb081921283bfe2c3f2346b62e4b78e5f94a7a360e5d8c0ce66526a6f4c84111cda3704d29a5b4c65ed66d1ff1d56dfe00229301c8769465124b0065fa2d8f665d5775b872a54a9d40592671032d13a84a27847862441136f8c10623efe19504134b84a288a2bba193346327ebf0dcf9ecbd4c1452bf43674ab64c90e9532029d2d2ce44023852a019193a1a08d013dbe95ec90e05a2300f7a7909c116e9e8fffde879a0f7aad7e90f7b9ee7ad40107c594d95ea55d24367d1d4d7af47e95f301725532067d14f010151bfb31e9657b638227beeb0dc79015ba42f2dd2558bb4275327344aa623e84399d007e9b74bee50cffbd2d352e8b5d46f5ecaf3428fcb0ae0e835af71497d8aaa429fb54855ef3ffa4c66a75ed42d5538fabfbcf7e3cbcbcb8f2e7bf15ee8cbcbcb4b387aaffacec35ee4b216e9a7b013b5485de6445ee4a9421c30a54aa5e88f0fa00f7559a6ef329f8192459f3a38cb14cc2adcb9eb5278abb5485f05d0551b17fa1448ea503d7dfa43f7f4690fb3005dd8d381dfe19ef4f4290f52c7cb534a3da441644a8d18a90b52f023654101267d39eb5baa72dad3a954aa575dd5a752a9efba9f5df7fef548b9f7f097542a95fadb624a154a3cdd8d386953faa44de74fe2fcafffe66ffdab77b22c692821d5b02999ae823225a5f47d760d27dd2a9d529cee56ce39a77d1a9238d00d912d4eb19334a36c77c9d58e0cb364f55fbbc4ad6138854e8c48b77e767763e182407983c8908651cc33af9cb533a90de0cd6cce64b41b727888352c744b6629e7d783051c40fad3a71540b8015a6a9f524add2f4fcdce53b33711ee2ec19979ec0afd4666d8e941c8558b73d5e2ccc1c9393c7a669c59b38a21e59c72ca407041a084101637ec537cb7afb445e7a9b95bec6eb1a97790b533acd31b9c9c1b79944408112e382ef0254ebbc5dbe7748b53b9f2cc91828d3c6fb2ce8d3c69e409c2f8a9c2dcc10202c299c9713d80dc8f37383ce68e1774e68e1f2ab08000a9a301d2a69fc70cb66176d901ff85b923c8c4f18389f80d903a6c741349206f12c89b0cfdda01431918584a960c0e4fc23477dbb6fb1b4de6deb1fc8bddfffaf0bfa1d7620b35749ca3db9bea77e31c95e44b7ff43bffe2be5ee5574c936d7d974ab859ad7416cc4234d6f45bd77d8fdb68eea4fd56c1bdd64df5a76ff53dd7bff5dfebcff9dd62bee4dea7df4e5fbaff4139ca57e671d64aabd388f3327691f7c578f166cdb35f38fea9fb90c6c31c1e676d551b676d9c3519d389d5d0c4185f70fc67f32067d9a7b3d622ec147a907d2e1c57370c4be1166e7f6ba512129a576fc49457ef9dbeeffbc49b177bf692427ddf29fc60387daaef537d7ffaf17b70f5e0cff85af8c2d3aae4799ee7799ee7799ee7799ef7ded7c3935f0c1d0defc33377349ee3996711e068fa6d72f94cb81345efc6a6d8f7f638cc24dbdfae7f936c9b08c492ed8dd24fc659a362c2606dbfc3908a6c6f3f9d4868be6fc4f48265467577732d653abd23f70f40ea78e9e6687c3070fd7577b7fd2e9a60c3d0b040e447ca2c9a5c606da58f98043991d7a40e27a6afc766c217c3e9b71089e87d1d11f73ddc8dbba845ebafdaad226fb30a6e09b8fdd6db3693d036bcae2d30f3b5ab0b23c4f349e7b07f6724e108934bb7502fdf40ee7e613a143c2e358e0a0fea220feaac7527d98e3cfc27db771c4c6fbfb3b4ab48b3ecdbd143f0a33319bd27dbf9c365b505d492ad6ca36cbf0877fff4e37dd0be095f0b5c38b6fc5680f97e1b2f07d8a553c9c6dbf0ea397c7a0f97debbc571f7de7befbdf7de7befbdf7de7befbdf772ffc1c05dbfd77397f11d0ecfb167d9ad55e974efeabfd5cb5f7d37050f7c5965f9bad7bff97daa700bdb3341a7b177c3bbf1b55023f3b46853db86e7931bdec52fdf43042aa59ab9dddddddd5dd4b3d6b3d63d6bddb3d6ddddcd757f306ebc0efb7f78a7bdefbbdbb66daded73da356bceb22fdebcb8fadb45cdb2bf6ddb76657c30dc8ddb78cc5a5169fb308c523856995a8bf6af004daffad3836f2afde7bd1153f6debf14e6fcf737f39bf3bf29debcb8fa79db3561ceb2ff7d0e8f6ea15aa9fffe7b6e0938ce3cce78a691bf92cc0743e98b99a3924cc302911f29b3687281b5953e621224753491d451730213cb1e96d246e513f6bdf53ffde80ffe11faf2b5e0e15853f0de5d5df482a294842fbe2d76d1aa8b4a5d94eabe17540fd4ebf4376bcdb2466656bd85e100d5fcf42bdba772e392edffd7c2169edebfde9eb448bf00eb8f5d946b5dd445d9fe3c82744dc9dadefeac491dfdf65f46e624a594369b17ce20a1b9fbafaab7f9b500f36d7a98ef37954c6f8241955e68ab23f074c95bf5c47a9a64ff7ca83e5309e6fb7b882ad409a58d098f3978e48e2d710a5568d18e383a4352b6d56facda36dcc3bb02443deaefe703e6bbbf9f8fee63be8bf9f9f9283df83348683662c494bfefb9ffbe184e5ff24224337b610cccc38443b6e70987a8c2222d5a9d6e8cea648b25d383789447c8d614f2e0e414e9b7a5b06fbc8f4b8bf63b4cc2b459f4395cb3df0f5b0165cb55010ee9bf5fcb16896cb19f7aac9594206084ae872469763a7903ecc99584e74e371036a75b3973ce395eb12613c46964ebfef40f86ae218f6e19596186920b6768d18358016ef46320b85a59ec35cbe5945287fce829860cf2c2ccad2c96bbabee15cf3ce9f4ee4d4da4fdd16a0616dd15f82bf16fc49c2170be86c021709690f011e8641ebddcdf79b18cc47edf0cd3fc79252436cf23939691a0f2d47164beb21103e4f9f405bef26c61beb08c816ccc196f365a373a435f7addc51c93f6c21f80d267e89e64be66ee41431a5aece68f87b3a7254d4ad7498faefa2786cdbb9ff6b768ab749d74bf993a7d229eed1f5f201ebd2caf07d6f7704c0266225eeeefe6d2d949fd6b8f1e1607a4f59dba407f7ec5fe55f69c73d27e7f8a3da4c94aeaec1e74f6f69c6060022a4244f8c1088b208482b842b6c20a502002112c496228879d7628b98594e0417777b797a5d0d00db606af1f5604b776fd01442603902267c96aadb7d0abe7a3416442663308313aaab6764102c9ea70512ba5b4da2e42e868463e41bacc4c9b9d4184cc6610a2b305100e18e042821f6650039a95594b28094e665d64a051cc59928912197ce1e448882c96d08213ec003174c35679ec10ad08cfeb7404108a4cde54161d01a107299d5910109020a365f46af16a2d7c5a8b9fd50e3026ad561f1004234c3e3f8b9fce0208ec02e37450c2c40a1a7491428b0dc4408bb3e0d545cfa99da3943ad1d32cc9a48993274e58777777affda392a0b3f747d19422ae8aadd5da4005ccdb82c884cc661002050d8a1ad18bc887e887088808460485fae4f0044a7711a56b1dc09a25a1044d890dc9747450b475ace2c0001c64b1c40f4af4f05282af20088b23bac620a6d2ae2092a5288cd21cae782db1a456e50638d8a14fac101a42164fc4502a665050d9e2f6e64266330889c9a2d82e8050ea2e7214cb32a5daf0442db259b9c4d69eb427cd9251ae1490ca4a270a2b2fce7cb001920e51add22532b5b5080fad08cf951f34799910048de36188253019c203433489320257810ab83c41bdd6a1bb957822848506354e08b91356cbd7cac317b9d65a33126870573b3861ed117420051282006b8e5a7ff840b5b6d6058ad0083b28a2cb0f9e305a420a5046d49a105180b9595872a0830e2200c1ac881d4701d89d82dc52477b515b624b1235ae6ce182e84a11669003100c20d7bfc93182955c9f87ce173be4fa2ad467a15bf2ca173ec8f55fa895042484174cdc18c1113cbc66354882077880d9eeee6149ee6e22bc20d75a8950c50ebc3022d78fd12d995c1b8b6a6bad5a96c895524a6bfd22f725f9c005677de336b743a822b7e5c1874a29a574083c5401bb0fac514aa9a5318183f173e5a6ed41ae94525a49be7195c485e3053ddca9d6d29e000004ea8128cb26408451931fb4000b2e8af01374d304579e527bef7541286ba9d65a29a5b4d62a849e1b39eebadfefac69042184c032840d5870a5083bfe034e760a9a28fdfba0c9d2b8d8a20e20a5a9611e6b287e8bd3671098d071373fc1065ee6c9967ad93716d843c4f6f22dee46efd2ad49e1a54dc4cbfe950bb0dfdbda7a44d762ff6cb19f0a912c4665962546a5bdf673955a0e8bd14c8685a6458665e8bbf6fab77bc9913aefa32175a2c4a347b1120b8af261c1a528599a1c4a96bfc599b84f6d8b03d5b6d0a810c966596254a6744f3b69a086d24fdaa77bfa85c56846d322c332349bcc2813ca9429650235993f324bd3dae78b8b9cc92249d339de2887b21cc5bfb116e7a6c5ceb9d9be1e1df657c06b3735f2ef97008eebd1dedddddddd4466287d785d877306b964a2a558d8b1166911a08d65fa1d6b2b272ca58d0dc7fa5cf7a13ad02b79393c7eb86beef8240ed1949b7e27e3d94c39eeeb6f9f0bdc578e238546661e470b28c93cdbf6d28692f0dd9ec3630e4ea51b1eb94ce98dbb5e703d91e94b4aa9099ecf9cab0ea8d2499aaed65a25161e3226ad5418d054ea60f0cc394094ec56d3d30903d1d9605251d2837d8a513dccf6f7e57380ab2f861a266f9e50285337132add4b6dc4737bdf7b57e6533940d054329d68e80e02e7768a99413d49fc9a4a26cfa709833d6f240efcd317c3f67fc233c37858c2ac5ec6f439c08ff238e11ea76db57239b3d0d0624d22c45935a7fb914738931890ae2993481ddcd77f191921a493e47a3bc1609ac13ec9ac260ca6a1833ac895e3acfa17d4b2daf20de375b8fe67aac55653060e4149c20370cc29caa99ea55be06bb95b9a4b6532e66449a987e5094f8fe61850bf82cca7be4bfd3c9d4ea7d3abfe25759a7141e6518f0a655478f52f980515f7f763607067e9abbafad309a3e60b0c4ccc858181f9d497be18b68f0991ccfc128e27d5c384e3e9415438e3028cea61c221dc09af5e855950c924563c72e42c2727670513e37e9f04937aef8b61fb98f08be1e561421d577d3d54309f0f553884fbfb43c0e799f9e55318554d9fc2e3dc40ae285c3f49b7c0af303982a51faf4cfb9432b5d41934959a878d559b23ba4a7ff37abfef776fdfd4cae6ee3ee756fa60d89cfa117f9e9bbb73d71984e2ce4c639ec73bfd280b48abd4a7b1b9a3bffe5899e48a43aecf55017ae98be1beff77a563243790aeda44ae0f859491abec4943f706f2d95edafee2b9616aa5c54a635980f47dd629b5faddf724cffb4895f49f572a5919b31e10dd37e6a6a85f3b42aeb46e71a1fcded235a943ba7043da22edaf5d65b9e27b8407ccb76170e148479f1247f7b65d4bda646ca3d2fe6449c33aa843dbc8f4c76d7ca154ee10270efa63bdde3fa568ffba6b13edc750f1de6e1f5d63656bbeb5d6fd2d387d66cfcb0ad0e78c4e9b6964ab46b6ea7777f7bfb4e8eaf76f506a797b3b8568814fbe6fbbcdbb17045737f5657bbd89a146f610c70b0168641ac1a9390097e072ad2f6b37b9d6fcfaa06cf5d72a670c2f338c91cbd2c87355802375a19f8648a697299ebf7d2f28c9fd331c623f17faaf11fafef487f8f3cc1a04d34faedff510d1387ee4d1b2d7783d1b367294568e9c559d85423bad76bb1ca9f3be92093ca1522f2a9898950c8c9918324c9891036ca146ee88de4301776e0c0489a8c58a0303219b4746dd16b0d392eb1fe5dac9385a27bbcfd12a0d4fecd9601b369ef537bea3f97adc0871401b376cd8f8ae86778371d87c41389e85a371e0a0eeee34bec6bbbbbb8e7777f7193f807777f79c777777d7bbfb51b78e74ad7777f71cfffe8af292f28275eb48e3bcbbbb1f11c0bb7b51b78ea802f0eeeeeeee9e42eafde74fb78e9cdedddddd9d48b78e7ca623dbbbbbbbfb911b37ef5ef346669713be1e4e801d5e001e27d0a801c36ad978146699f53a5d03772e000178ec38c1b10e57612c330d2c69f88c193f80192f3506803bebc09d391a1ce66032fc733c25f30c2c67bc6464de258372e1ce39b8f30cef5aa74ee61b8bc5623966c02b73bbebb0c631ddd74b0031a518dc1967369b05e08b59c50820168bc55248799db76d839dba93ccdbebf59948dd715b2c168bddb8b9dd79c36aec76a33e0ad806dbf81b58e6f9b11e05ec99c2dad530181458106c4aae39d27a179776752c467b629449ac49ae39829fc6d7bc17b5abef0c3cca335aae3982f339bee65d4abbfce5acfa974a7e59c1926b8ec8f8195ff3fed32e8701c11c0683926bde9974eb88cccf7ccdb79676f9dd52f37d84e3555ff33dd42ebfb29a2302f89ad72bca4bca8b4aaef9867dcdf7ab5d14066b1f58ffc01a884b0a1f80aff999a55df41a815a72cdcfa29a9f53da4567ceaa5f33abf9d9a45df53a019fe457945cf3534ab7ecd7fcfc31c1a60f6cbe6abe48bb2acc59f5574635ff42bb6a8cc8f635cfc20acca9b39b550cf025d788edaa331a9bbff99aa7edb22f67d5af79d9ad1b8fc2d7bcf8f5a8e998bbae8ecee999bbb858ac67b19ec57af672170783bd60afcabd5e30d80b1673d79dcd62b3d82c96eb8dc57c16f359cc672f775d18ec057bc160eeba2f67d5bfb7ce66b1596c3673d7168bd1598cce6274f672d70683bd602fd80be6aeed0583c162eeb2b3596c169bd5af3377d998b3eadf0b827596ebdb97bb2cac572bfb7ae587b9e6b7a63d413ce175faeed0110e2027ac5113d2c000e0665c7dcea85d00a8f13a4d03cb8c71671796b9853b73b1582c9683c6e3d0a8418386c6eb34d7e23057039b51f3326a6870885fa767609965e0ce39b0cc38b833f7e25edc6b66e6656668ccf819339c998c59cd4c85239461820c9971e0ce33586699982a5613c31113400c9e8931f33a7d61aa0babb9301c17e6fd32305ee675da05d0f9beeeebbeee2b0029cc8859c5cc66b359ea64820a26d529c462b198bd32522f9f7a9dde706cbe35ccf4c538a14c9d6de7edb5bdb6d7e6cd98c037cd70cc7cd633ae83f195bef3d6d9c662b1d88d8d4cd7eaaf16e62e8ee6acfa1704430bcbf53b146e849f141a47e36820f7ad30f317840548df45fafa9dacca3a1927f30ddcf906cb6c833b7727783870ff0dfc49b1c154c0a2950cecefdebf067736664601cfec5c152010a46779b45b8da50e7f96373759b5844268a33e0bcb16452c9d7502060015d9220d96cea2513fc44f727d0ccbf51fd79f81658b2c19f863e0fa337585ebc7d487c1f5552fe3e571c2202ee1fadf7bb84998c3b705a07f1fa1db17546b8d373f4eeaf0f03342dad4af5f90b4a9efc4f805997eea8c990311301618b737c2fd4843aec9f2c56e0df95eec6dfb53a9542a9d48cf855f4d00cabfffc9eeebedeb70fb3e4f7d2b68209f3ee6fdeb914f6f657ee667568f7ad5cbcf078c97f96e06483e3d0cec807c1a15904f307ee4d3cfac42176832ccc3fc8b92a07c0a472252968718e1fee431d8c8ec92619036fe30f8552fb8662ca55078ac911dfce6b6c6637f83a610894c26bdd7fd47fa2da4b8fa037196cf1d1afe7096b471e2ae1b563b4b80b8ab56b9047496ff92fa4ba4b34067c9f7d5ca43af0a10a68656d2deed30fe78df7ee758de273de9effd7ad8e76ec7d9ef2ae9fa77f862ee37ec01d393c1b2c5ea7da4ffda7393a9be698ba9662a954aa54f2626e6933f7a669ec6cfbc06ba7086f4dd871f7ea8012f9c2185330908bffb0584a17456ff0266de7bef677e26ec702c7dccf77de047c21b092bc9a54d06c7003173818e12d03b33e1487df20a8fb411658a31c30a2b36da67632ed0e48a008eab5c2f50091fa15fcc46db68db96d7cfb8d1365aae255a392fc0d19dd6ad982ddd2a39976ecdb7594012a904e3fb6084ac2594fcb924749348f8a5db7b7cbc162b58034713ed05fe74ab846f8bd554cb604fae3ef55baef08523f5c9df9bb8effbdda11b653f2202fbff0279cd815e5942c955cee0b923cb355594eb1f4149cd6045251878549261fcfc7ac048616931256b31a786a44d7d6b05482285dc1240d28f261aa9b48a691e2eafc29a0e4c1ca5d77118f8f4259c9299f03c37cb88f1f55358fe796ec65f3f55673ccca796903b66bc7494ea9d66028ef18d6deeff18dfddafc78738608c8ff18dddc8b5b4f8552957eef29a647d5f698e815d8b14659810fa11ee719a4ce17b1b6a78ed74dfb909d88f304672f3876e24c5ef3bfad88da4cdf7333c0b89e3fbae7a0d84f732bc8fe1857ef4f94cda7ccf2901fc668a3cdc614e09e0f7a3891613f32b3c2ac9ab9f5f8fd54c0266de7b1966bc50069f39eb7be9ac985268b380a5ff8ac04c8a9179184a32098b537213f1a22c13b296e02b9cfa18fc52e4acef759a7b183ca69ac8f555a32985c2269a67e25cde7b60cb11f49a35ff65f3b824806faf004713cd44eb16e93b27caa3d352435c72292485241f70bc4017e83ae9967ffd0be54ee9d64cdf281728d777ec91f00be66a95b401b07b6f8eb7c5fa2f3835e42c67a568db1670ec4cb46e8bf7ea56f7d7f77eba35d3ff429b3d76e6ee566b8a56aaa195586ba38a3f010e913f5f7994dfdf590a5d81449e1bc8aee96a8a7dee0e7dedd09778ac21cbaf0b30edd0d1fe4c0ba46c43232629f24d1e956497f3355fd95978bebc8a4ede98d936be9136947ef5d58b6048fdb4e3a7acd3edc4cd8ddfd08c37967bd6242df69daf24b2365ff395848624ddb2d593d01dc08904709c229828e8cb43ee20beee120fe0773209b965642b8914dd55ebd7bfe18f35023499dec30bd43ca4f4fe5dfad6f569d15ddcfbafa48efbfed2877bb87b12fefe6ed8f3f469995c9f84a54bee8652dae8b8e352097b166252c423cb2f7d387f2693e90304ce1fa7cf8f9eee67ea7b2f773a3c53c3990474cffd02beefb9500344c8e085df6bc03b2203f75e48c375563f17b6f77287f366a0dce14222b2dc21fd78730d67c097d9f4d6f610c5edab9310e45116d56e705aec2425f770046f5843eebbde24342469b189807c5c73a76b44ba77762c7e29d6ffb08741c9aaaccf466800b39122d93aa0c5ae219016bb7e4e8bad737f7b9d9cfb55488bb76fdfbedbebe4f0e81c1e3a5bb5b516693107e83f7d0069d83fbb8cb2283b90bb924c9fda4a16e5aa64f3172d5e2faf2f51747168688846a34d1978330fcdf467e80acf33bffea4210a5ca8e643f6a7b7a6c5e9ee5e23837ba8237e3104127492c6c79b651e57405b723f2dc2289bdc6b11a4ddf2bac591deeb3cea4df724e9bddffe72dfd9ce1dcff7b0b73d09cfef48241289449a4fe2f0f613df773cdf31c8cd2bfd080d470a031db92c5b49ee90f6285b9455061d77b384a87ffaa78b60bf890c0ea32fc9f49510abdb3b10570538f3d831a983f45dd7de0adeb58ccde9ef8ec58180ee9c4358ba45514f7f0e1d69016964ae1fcea21f3b754fe9089ac8f487bbf1d8f5291528468f6c29576ff1cc576cffc3300f658a978a797faff4a70b32fdef2b3a2a827918987b1fba71d7ac1dc9705f0b9ebbcf016e40fdd34d9ce3562b0e88ef75da63bc144c72f45797c270332a187886a2a22bb3aaa4a35ad0518dfb60e02a5757ab5bef8c7dd2dbf7b00566f63e06cfb4bb7713a98304b27ffaa789e815b40f8e8af931f5abef5629771829fbb5674b8f2c77a51c1e3246edf632feab5fbd6f5f0f18df711e8cbf5f0f1830300ee82f934abd0ce96ba186ffca57d8be4c4a065b9aeca954ca3fe5c33ff59d7b5e0adbf755caf3562927c5a4300fcd282286ece782fdfa45f3879c9e67e619176872f7dd97feb6e830b069fbcbbfdbf7e7bdfc7c50a35cc391265b2234632a4bee479ab106c7e49de4d637fddd392e99c7b692a9c93399ba1b97ef576cdbb6f9f642a4cb875890aefe912cfadbf649e40cb285faed1d205daadf1e886c5951ba3ae679fb29b75741f290aeefb7cf91adeeb75fc996e9b78f215d30bf3d8da4b205fe06836fdeb6f5d830a30bccb673543baa6f5ba84173b24b752f08ae56ffe24fc77e9afcf81347813b71a08ec5621deb9f86d23fdd64e5401ec5a5d4262d521f1aea4c9b644a2914a2ce42e9c732a5cf69018e1d03dabe764e32fdb179e826f75e105caddc1d280be8404022cdbb96e92b53f7c9f48443a6a57720772275c81ca4902dd3ac81cd64e2a00fd355c802c03ced1f51c659f4c7ffb19f74948b51f74db87b10f70f674390d7378f28876756e243f49bc9dce159260efab47f1c681eb9ab63614c385e124ebdc5a457e197ffb0eabbef7d685a79050de52cf9f50303bf166ae41ce08f16e9cb206da80551a6ef1ffa94fed77d67edd7faf7375beb46eababa551210dfdb2fe4a6004707ca14c89d74abf4f41d26759cde5190e9771525a4eba66f205bb1b9e385212c5a8ac641ce91a27d15e62159f62f56410291a2fd17ec00c9b28fc23348d17e0a2791a2fdf9b22c4896153b4c2345fb1f8e2159f64d7825a58d186465ee9812877d6ae9adbfdd4aeabaad9266ec6f6fff842d3033e94b78c67e7dee3bae7233dc8f32afd09c0c5207f7f415205d0ee43fba653d06994a591010a8c3ace8186e2bd286f615a31858111445a6b49d80712fa58e23de1b29924f3f9a38ca7d5db225cb7cdf8af71d09454291502414094542915024140945429150241409c5a170676e8951c691a5d09226f97edc8399844dd489299370a946c21fd19749d80bea9c4997499874c459e13209df86dd4cc21b1712b645554acd244cf38fb4d9de629a49d83311165cf5f9e84c236d36129e20f7a6373df76d1eea4b5f0f140ae380dc77b763dd2a3df897e3dec471f6c112064da5e74aa512c73d674bd8c68ed4a4c5a8c4cc585539ea14cd0c0000000316000028100a864442a15890a599b0d60e14000d75a4486a5a9d08635990e3208a838c4186184200000418426084c68a03fe82c0dc7c7f272f92c9a73813d4140f000464027634a886013b1fe8fcc3933886a4303ae2158e79fb4e63022f6a8684882d2332f7a8d37db7e3d883b1ed69a03667eb73946c4d854174d06189c88d3fbb9be4f9670ef957912962e5489ee1acf9d79b04613dcb7646fa633fd1a99a90dae8873d9f6016c200d719e76e2fa05602f2b657ca0f6f4ebf4627e93165ba44b11d10dd28ba7da1af67a3325f8a1406a35fff46eac8087ba4fbe207e027898351ee2ee0ae4c3cb4fd021572d15ad76a2f466ead60cd7af70a85e85af2ba2f3e0ce66657545a35119b455994a4fa18b4c0bcb4596f3d30a526140ed0805e2f35e08b299e0443342ec8b66335c84c22ae29353a2b93a32e904a6b30a6c070ef9b2605e2f5c4d0b952875db16254958e11092eddeb7280f59cc0d358c769ea01bbc85bf2602cf223f1fa72bb93db9b8ad356e5e4032da52206400de6012ed947127469ee0fed5f2b2aee482d5eb6da1d2e28b501808dc1624a41482ac43943f427d0fa7b9976443b20d07c760210084a751833c37a905b526ae0d315267713eb25be62006bbb251550a648749d8f5e8c5ac19c1cffcf469f9f8d005f5656adb77590ed84839635a243a55ee08da8007380b1ebd95ab9ec9af80b1f1026ee5dd179d2c9da7ebd0c3ac746f12025b40ce6009f89cf19823ae708d5b4f01f0a043aa664bf65f8bcb22fe11f0a0ca7d7a50bec60521a82e72aa92da09d291cd9efb137ce02d2803712823fa93e6b875d92be37ba166879a8afcceee4d082fcdb0bba7761753f886b34cad06ca5a50775a520abf2131cd07175a37746f153281eddbe77a5b5d5fcb289fc882e5a9cf9bb98cf459bef8279f10aaf36ad3020a4cb860450ae596fafb33c19991342ad2434664e58df60a75d77aad02ba815ca0b6a37eca14bad7160c03bae855b71119af2c362b4652cb00a534aff3b444ce014aa797f8b2749df8bd4c8ae14719dfe9a6abe140ec2c02f18ab0826afd4b8297bc80575a21678042abfc4b3ffc1e7a395a2427b81ab5c2b67195a25858656615d3d4845ee25a816af6eb0297febaa365e28add27027381acd445f8f2b2b297a4a0c8a13f87df33bc84776e7bd29a962ac0282b72f2dfa2a94e2153f60c9eccc70f23c0122559d24205f40bfd58b0d5a374a5b62ce71f90e52897c34eaa9c427938e06e5f35fb9cba1006882ffce6a9a7a047cf62fce1fce82783cfc135cde4061866517a83a038adbe5f0720c66096edacdd6122384b880658d2272fefbe872d7acb5ec8860038b12d8fbc3e9974d1fa5d5c47bd30463abac44917a066522524ec72a7b89681609236f8a0119180baf6481174b2312c2e8e54abe48099f8626545e7cd95342945002b320948b73aab92d340803cf7c92b4563589febb7f8e3b4a2bec11537b6d5b92aa44277fb2d9e8f9f929784531bad473dd5ba049a3bab2ae413693174e735ea16162aab3906f15117771ab92ed64d7dbf975f26db7d447ca09c6c5409720d80ad51908eb0434163cdebd83a7cdfa06c7893ff5115ec9583cd1b3074510321ca7877108a661096d2263ecbcf9cc547585f6dd9d521bc51da8a06a2f105e201bb905db6490c3874619c38881ce78a97b62f49728ce3d1e4d0dad121ab9dae87d7f177bd03e96e485a0b431b649fa72972674e75b3dc419c77c36280d5e9cf00369ce8caee46ac08c54a208aae67e02794509cafa7b0e1e31ca9b786f259095a9d9a48d06b7a79d24141af4a3228b3a6f9acbbf2fb9ac281f225cbfc0424dbf4ae836ee519ffcc6fcaf96fef784d9a583ae630d183483cbe3aafc6fa9bb4719ce22406d074ef99edb3e3c10b8195b38d05292f6f126b3c9e524eea46a2c9d9906da957450919ab0832a7ae5a879a52ac4fddb1f21e8d9382a4622c8778e8c1ccefb856dfe10719a83ad59998faf53b88ce64ef8270840aa244c245ad19733939d77fe65fac335e597acc9bfd79ea243598aae7d4edb80b6530f7e1d324d5628d7a4b4dd968b43cf0444234d7b6ca4dc883d275f999a383622752e1eee37ee2c4b340d61b50b1d39f70ea28dd1c215fb1195b4ed93a551de9a4a7a7ae290e1bb4de0713bb03efe0478894a943157514a137a2f712034c8db302b990f0b78ea90718c188404ed72cf7d0e5a3309d1a54fc8aa46abf630fb3faaabab98ac8b2c9b48608eca56da02f1ae4d05150247a57c2a9abf5f2cb78831cd6f770c418046a6ab98ab37135757e56e625c34363a5bf8f08686de9f183e0777e268f0f991f221ef1d567f4155cb92967a42d7b81ba3378824bb8b2192d41253ee43116c00ec3453a2792fb65ba26fac09d5452405411f7eac907682768062e78e2b32027d1ae196a73141033f1662b64f98792b16ef42ee571ccba7188baa14b8f1916e2b29ced7b492c04d55fcde6b57926251f06d14786bcfd2b98a0123bbb731e643f8f5f610a2d57a7042b8c772c7037c927add36804b66b6a4edbc302be13427eb51bb04ad5d1bfc32119842a83afe6a5c6a8ae45f723c7847e28bd59fe8b3797f56db38995fe713c95aff075f019616cb9c1d0254bfb4181cc22e2c684572c1aacbff20c2c875062f630f417b7f6758de4bc548f630d4133463e48b0dded180ac4add7738234f5191b901e46744a47d03f5f14ad6eb384b7ba14c33f6d7775d004beea96fe50f266fabee3c7d0a16ad8b97a556438a56fa61009044dad5d2074fe0ec08eb88ff708c81ffe8a5805ec02669ba532b96682cabb2016824b70c2477948d3f135be7a6d9cdd1251b2223456deb9bb8f47aeb3023a087154c6b2ddc5668ba0375cb59533fa7e082c63e8b8dd91826ab96db1070857b915b74d2ce1ef83223235f77332b98d8edc26841755ace785afa7575abed6a200a9adcf57dccd0bb926c8dcd08a07f11f3f1a87ee14794d48e0b717a8a55ba53a37ebad0b4a26b36dae952f2272c2c6f60c976b69e49a78c1792dbde49c10c7e7522955984cd559d7a9e3f046a9ecd6f411ddbf52fa5f2bbff1a1235c00cba68b9c4d0a08df87982a2177fbab13c0f81d861b55e0581fbbae0bba84b8469d9c734c5052c457fdee50eb5a485e60baa18ac77e96d6c31e82d2502f731dd41ee94dfe7fcca3e25745c18450aadda10428926d998a196659133841a86094a4076c204dffc1716024b2da36a9d8b8f861adb58ebe33456268c33e1a9d29890423a717578311dc63af67c22948b1117c0944e1d686d45267e4616616d77d1d0b788004b3dc81e5768308e818e95397ffba29b7d5370ed8bb845b2dc5eb2040229107e16fa5733b46e5ce819822a93b67c3c5271be3cd34e07e4df161bf3ae8d3ba733641ea56db9551635b9de86c1d20590dab44d7232d191b69545e4583dc01d4c8c80f3998665e52cb0ca4ac9f51b007014f0ea0d11ec1fc295ea0f0225144fff759cff9088932b9a152d9228b9916a887c2e6b14fcd86569bae0fb4bca6f1c01cbf6fe05d243008f635fa6369a4590444e77053d81d3853292601b30c67b3f2be9074a94e91938aeebd71e30ee15c64851282ba032016b4c4fd21b43ca7dfb70d0c9ddd4d3133d3b490d343b15ec95722ed483397a441dcf7ee5baf8584339884faff245367c7899b11115f59bd6a64bfaddfcde153480ae027f3d1db0efe4d26b0b4279e29b343747edb0611f5efab7ae51ae1c2e11a6763644c0129622406109f68062aaa13c08cee99ca01a2176ad16f3056c966a893891ee6dd52cdc6c9ac0d8573834d35d199f4f208666727407ea2c25b0b508ee36132a44b7f25c3864ca301785b251605d83d9a05db00031326654459c6b9771b559320c4033f96e3bcfb291da275033aaba2681a705ad1f1804c6b68c1d34e01747a4231c934cf3570981dfa82d7422e212a8b881d8320097cc07228c37dedb41fc3a1c7e084025f615440ea9c58f19419b0d83e548a84af4cbad7503a918c53cdc32a841dbbe7fdd8704babd1b117ac294ce1c593ac9486f43642dc43f3473c5c23bec9e9361d85586c82eadf4809f52c92ba53ac4f2b87e4df8d5a4a618554b2b3896cd33562a5830936490dd6409543f4e00e8860d21880659469786411e2e0f5ee0cd55b54b82abf0444d1ed031a021c569ad725ea3c8c049bf7c3588698ed5632216b1e318c771f6dd38711d0f78c0fa477b816b76c9c057bbc3d13745e93fdd953931b2dd4385683fdfcfa2258c3d75b8f28e933d9f110aedede752c71765a0cfe5faf2143f25fa8375ae4c657e3d6bfac4fdfbc3bd13a03c0939a1ee31b0f97250fa9a3c002697189f7ab2af1b00c2ff82d4ea3efa285889e1a14272d4ed4241006b012bbd0afd46ed02b98a05d6748a5928e89a242165bd52d6c32ba246402b226193020408d4b079ad60f86db39a388527916fd746021e90118243c018c25db1d5e8303d103174521ba60715e6563f34646a3de8984d1e426eb1d6079d4636dd6b91c17db10dc665467bd0cc85f7dd66496f26659fc9812fe9bde3834e6fce12135a0f685f590c4bb93dc323f156f3f3f1a0b8dcec3ec0c1d2b423f9c6802ce5e850a151cc3a66289822238b3597c0431702b823964d35489119fde0372138f42c596e77c7a2c5ef06b065e634c93c012f1f2932e927da053e838bb08d982e6318ab632542b464a2210b5bbee33524f0a82edd9704d1981e08143a8449ca294fe1648227284630daa60145096dc2f4feaa2d8c07e6ea6b0f2d4c070810a777ad8f899aeff58a851aac35e3c07f85c04486037101811b9033f27d683381e6c0a8e1f88c831cd32efde8f136324834b45a5e66fe10cde84332879019ce8cefc5b84abc47a4d74b48dd13e36e0aa6bba260323856e8069054f572d6a321a7860ac4c69d42b11bd9171b4d26a50948d34c597525a17c5b393765fec9d49b5817e28afb9c9b3fec15656151e5567f70c33b48e3bd353e2e8af6877d253e4c768ebcc2df38105208742918c56c300f018bb677829bb3214750998b57518f2605b7337c42afc015317ee4d68ef8a32d1f2c05e604cde2de8101d037174d1d3913c8dd3d04f0e0b4d35f76c5757a26a0b399ad474bb0de9efefafee54dac8158e33a542e914c1068e251612c15660fc266dbb0a1078d68ac644d6f6995c3cecff11a6a30b24eef6889741893460ddf9d84455c657d6d3ef3cd719a4963e3f8c4d3e7665746bbaf725f2b9d0284a4928e832162dfc71ee176de878db9e95439f767a1306052e1c7b87728b32bcf027a54382998db3d5962a504a91ca337ddd8c7260a834f080c2e0858e0e9c1bd52965c7f3b2b715aedd4833d6d48a1756d59047ac2b8331717e7efd28042e8777c9a6d0e66c6cea22defc82a36995a664294744cae3222de427afed2771edf7a31c00dfccbed99f1b138287b57ce79f558f309c125d81d4e52e7b57fd849305e5c4c8a141af3f7903022e89921d71e42188b28972b87ec3fc4b7cf26a53988850a240e88a694b21650953d83703b508bcc2fac019cde9f8e344237a2759f2cd4fb2074e605b5d0bb4bd0528cf91be643b9a18b8ad72b41b56ba4e5d26a474a50f1fc9f11474f162f78852145d8b8a593179e194f5cf21358e32a224e941170fdf0ebfdd127c2c0463b2fb238102fe9c426884893ce65c95a47090569d6d344fd1fed327d3fbac7093be87f22bc7ea73b786ecb0183c421557e5d58c8bf47b7d08017a26b234c486247b9b150cae6304f8989b048c1f24e4a591ef48f4910df494996239174b1721640519ef22ac21edf444ce32e11dc79eb2c7ff30914f0042f2b433baa91cf8c21188ba78ea13cd7684c2fcdf07ab99e2871ea1e4da88f2db4b942a71c8ae15ef54b7c2e3b97e5699cd20e6274499fdb385ef4ca2bbc2d019a2244cbd46a4333c68554e8ecf2d74ddefc3a61b2c225cc979d535d618b481ddff11fb77dae57e6abc9c5ac289572a2fc8e2e60cfbb8085511c811bc856b92eef03ea664d7187abdb52901a293310812567b28637870badb5d577a7b6d1750b39d78bb866570566b73d120356888cdd5e7c27294ac93c298db81b6d723a4062c4f2211ad682ba8a047432e760ffe333b338692324f65f6ea8b45e0cc4e0e68076a8a3fc82693863a4243d118ec5187f2db0a674f7036c82dcc4c4b8d381ba705f9de282ef107d142a1061ed0387fa6b0cab12505da02f455ddc27c9241fc2c96ffff24d20a6924168de803b08067612e64194ab14b72710cba92ba2944a9790535fa8348210d89ba976b2949178205722cb74e82fbfef72e4b7ee03ddcb30c928ffb304ebfa04f746a504b43d4d4b4a791f81f8ba49427832588c403f55be8c4359b17d13700b689559b7508f53e18eaed27d5fc45e6050fa65026aa0699562cb644a4805a44623512c5e2e51a115a3131367ed00cda578f415fcfa289d8c4b1ddea75e92ea928d0b477fdfe0185ddaafddfde38bbe07a39dc66e6d196df298f60f59d134f3c4e89dff874c449a7160b8ceff612ea225128b1c04fb8a39c18332516f41ebea460f7c5e3747e5037269d8ecc4c3899407ac2c934628590fa82706c425d2e4dac7efe4ad9277d450413654ff367567ff824285225afd4a1e5210ee056ff2ffc319c751739b5958b0a73ff8c2640f0adf5ad2ea42a29474c300ca1889f5020acc66ae5e22b8b080a3c0147b303184ab85ef395698596987dbde48dcef66cb0b252630c9b1ae6d97dc4449124cf6cefa4590d58c78f8330b82e9a80d04c60ef945a8fa0153323db4687a4c0ce7b92655fa9f4740c19e1bbe9634f01efd5ef4e39700fcda15551635c0c52953c848f557aa58c63a389fcc0d87c99802d109bd17955ca4046e51a22d3220a51298a1a45c9786d15e11e7c6973d1227a479d691179416dc400bf670a0ae7b1cb50ade48822095c36a7f65aa7e7f0d9665f29476b58fb1107bca6ae81a9266c6d673dd2d45b43f48d16c498ddbad42e161c8bde14989f11e3cbbd95d48c3581d31e4d3fd6559cbc0a717e49bc6322cc826b0e0de567b7e7079bdd654d0800d416c894bb75cca6607a41eee39fb1de4ee83b27ee853122abdbd5eaf1e60c7e5625497c5202d79b50f44be509b43b266f5a30f52220ba647fa23e58aee0504f548d1f2e9dbf9102b6da8337d48c86361f77a74182e3030447028dc88269bf4a4885c736e82e1bd5fef78854e8b51620e393acbb21d57616291b51f165eb5a56bf336092c38b6a557cc126b55cce6a5d3ae2648f68e33ab6539b99dbc34f3346beb323b5ed2878597766e37f13ba2f3930425ac51a2fc0cfb61290eed096d32dd9bd050c024b8535a96f8dbac5bd78535bc410c769346e6a7c4113ac59d4600d7a8640d04a26d026e3eeab69504f251d683f986db1e39366b7c9d62dc986fd54f74e6614f9e7a3e8598edcef970a45e11ec00520311a0192b7ffbe60c145ebbb3215d73342af5309d65af673a383ef1f92e6f57243a2db691787449cff2384e8025efe377c507b5bdd77bb0d86f7338a018b3426037eaf69eec50f4952fe9f9d4d511c4ba5a87a946fed1e19d14abe4cecb288f7b304e20e8e4c64f183ad709ff3f99de18cde10bf4027b38d3402fff4e2358e3a58aa81228197ef56bb0bbfc03e3d0916d9c8d805cdde2e6c1b90bbf7817f0fc0b9420972c271f7d9ed9022cefaa9bc203b3082d04995c949735f1cdd4138d807f8108ea89d3a985a023231b7854d4becbefe6eb611732bef40efa3d90ff5a2d9aa0ec385ff5798267226e285f9ab89306554ec3322165c934c1e10b659b050669ea5d0e55532bf17ba933af809a19d59e43525e910df8ab0a0104439dd2c683d75c9bdb432f243d9d3ade9f7afbba689ae232e49a69d6a04ec723e10ca5298b971a0534ce0bce907fd20b0f25ddd5eb15e2dec032c64af8f9fe7e3321a9d7425dc4e762e3f492b565c47a5de2d237ea4cb52ba2a005f812cef34074e83c06365cfdadd38445d36248563a368e209fc5c90c5ae8897369476efe9d3cbb1515ca2be4f7d14275e0a9cf845c433ade82bcce47b2cec3eafcba8709d543dd0874a1b755c057bf8138b61332cf34f24bc5293f94b7634ef371c6b763bc61e70c7d5ddbfba77b37bfd8f4cdf612c81c2b8a2eb188d8def4c581334d56e49c52585c02b90082ceb64102f1c947bed1e68133bc2b0050b196a989d7e66ef3c5990999fa68ed50fe99c2df369fd32eacbef135322d5c9591541eea6b1dfb2b56ccbe2369abc9866764f1ce99e134cd889273414b60da038dfedc74c9668c76876dd40dca8c7cc37b743750444450a46d10f2f50198cfdd7864f2bc55827ded178cb57f3186ee72dad069d1e009437c0437cf47e70860b55ddba45482558c8af2d4404cd5b4355bed0dfeb3c52a8bb26c325415ada8a6b89c8f1438ae3e431797304f040f72c023fabf87107a062712c40707f966a9d1726f41515ae8c62edc6702071fd4539da057aa1e2968a2a09a5e6887a7ee54b9963e9b8785dee28017138cd02f3e8ecbb4c49f96c49e5ee17f910ca15d5e9f74d7a4188eccb36eaaf77fb2c561ea98688f5901a80f41c4b3c920c1ecd1d80024f3109ead2e4e4f766f009304e4f7028132fe411db0830ea53bb46488a6528bf07211918db9de9e30e655638a9a2ad379a072b8a11c0cc098296a1509c39bb9c6de21f70392579d71737dac11517f6a93ecd7970d86a0c079212f536e2029dc800c8b58d437b83e6c1d242acf051b562673ca58d8dbe8c8a9ed17a48dfabd434012df25593b3120ea770aacaa2f0d00fcbbe6e8b2919ecec7e3f2a115a7e7c3ad90cfaf9086884779b0803d812b5b89208bdd125e4351de50155dbe3460fa560acd564d0b2cd53cac149ac9338d49224c75909d1122bc32f9b98f6fcf4aae9b7dcceedb5021aa68baf3ac75d90a20b506b27a69dc0ea89cd133e4099be52c227bd8d8aadb3e03ffb502683a51603ff3b295b0f8da5e90c56e1012150ddc74bb51845e7ea91227dc301d71904f7bb7688ba10dc33a2b4c1c118ab0d7bca7082acc0527e2a80414007ad3fe44d39ecdf4b6e904e55ad78d95f601b126c7c1d1a14fb2b928d292803c48ed6644ff8350079763f2965498dd4a0d152e131c8d3f0890210eab648b60b5d004428b51cef3119ac7c526f7e4e962d3046ee8587729665689e847dce208e549200e685873f1eff920f62880ef9c1e78e9fd82cf3d8884b3652d3b8418e32eb212acfc1953f6698dec95e0e180c73f9f71208db6ac06f6d2ab47a0aae79fafab54e6007dcbc2df3dfa4fd34299f060b4661962e93c8313c16520af6aec7467c821942034161a79eaa56c3ca89ac0d5ebcafbb118e65c81f3798f1d7db3a2440ce70bab6a360bc87b98bfc23b298c33e864d5781ab965a4983732b5b5eccf63db57ffa5a1be42491c886da88ede131fd944262ae4016e0baaa54ed1da8848f14b3f413aedfbdf2c73d411b9831a1ecb1d01bd1e65e6e5fce27776eddbc22555f0cb60b9c38963a0f77f779e6012f7daebb24ae14b20597ee587cb23f2f29d8f7df57bc925601f368093a67dbb8f790d6137a9ab74c0ee7c6543ef230d8fd41e5a359349310832e63c035b35eb83005e4a86eceb7600f1b896687775cb0f426094df5d5796ee2455f305ad27a6775786c7306134448a4ac6f4a6147989b691a611f755703248c1dc91eead4a5c1820755ce1736612d4df0382fa1303cc5342c457c96a26a48ba050e75a2d93797b04b3c0f3cad255a8201420d6a81ffc9559e2e32e651b66ee568797d4422d49d7251fa209e61a1dbee91bd02579732c102d1de9063d5c2cc9d9ed213f6e94de95dde06b1cec7a82c23db77c8120dcbe26235b0b530bb38b48579f9c7277eb31493409b99a5c635d7bb1967c10e57dc207f767053c684f03250e3ce962f52705ba84b283a34676b2eb633ad06f14c23cf6b09a5315d5b6e118e410e70b885b485516120efe3dc0056474baff5de8dce4626b16c245db74fa021a8a2962f73258af492ef1d0f99ddc430a74f1d3937784aba0689e17ef0aa8d2a15c4d3ed003e3392914e470d880dc9ceb6323d422ae4c246ff16686af5b7f77cbd1bbbf401859b0da4622b353410f2601e1101618f686eb5421a3823fd7d950782875ac4fd0adfb54b8ceb74fe66c26fe17c142dd8241e8a6cc412125c04b85fcaab974b7aa4d7109521209cd01711ac6d930cb851901895a35361160b844d8f26371179410d229d7cfe7df087bce691c1fa10046be013ba01c60c9cc8b62148470882c1a2a7aeeedd371aac15de632f7baeebafcc8bedf7b242303d04867c5668e741228c5c64a94486708c607602276c01144c99e1753060997c02d64cecf3ac28563a5c2ba6028c33b35a8b38f44b5f7c37abcca837c652f458ef87042ba86d26b50700d85d7a3e41a94ae4bd13514b986d26b51b8060ad752e81a8a5c43f1ba28e9eb0c2803e721f9e0e1d7c63d05f35618c82ff2a39c1f1f47ff3ebbfcca9a779f28b8195a9dbd7e185c8adff831a3faefc9c18f0fba9fcc1f777815baaa381a8d466c8631d98a02060a54ee38fe33c83a2e7efd368ce42147896a2f03482abffda32a3fd0b7d892aea4a14d99b44dc2261f253ed06155b107dffdeb2061e44dd5d038cae1eb1d19f6514b1651910bb599f79d2892d8bd6bcfe5c7b26592dad9bade941f74cba5e6ceadad1e47e1396f1377c7786638b996da6caf621d53fe9c5b291db9c3b3e01c259eddb261c2a36dd23acf4a7a01aece554eca5cc9036bca016c755d9ddaadf33a5f5ceccdf8b737781ffbb30f0f82a3ccab55b3c70c267c2d12756e2b2483c9bc60eaf6cf0cb5a14e56e7aed7c86fd8ea9e30a0cb3cd35a929d0c19b290ea5cb4aa17a889c59ba6ce8bbe3e4b41a7e35c8f25def5ae7b1f831b8ac83a1720a9fabaa02e382d317e89977c86e31f634e307e222bf196fbe62f5a3a21e739aab3e6c12e6e289e44362f6d55768b801ee7335db33194fda530477b9091d92a4cb2355f71d263d6aa89ae7613f64ba70356d0d198174f38ba487bee9ba43361cdf98f97201b4ebd679085f7ccb6a3c3373ddf71ed75109e6e983e65e1900e068da0b756ca249d27527b9797bed4e33547b69da2666d65da37dd598dfdd3408fe75aa1aa90e9f5a5a4b338fd68277d25074bd1f19be6cd4e1ba7fe5c433af41a46e8749ba4671cfe5218526b5e2e3b2229abdfe7d66f5ae04ffb692a31e6c530e07693f4f2403ca087176e559c485850721350dee48e6fda403078e6a739b24276c139209e4667f621bf14bd81a4b996e0e08809d99c8d89eb73a1a66c58260bd4377b8f0cc8579129695766dbfd0b2af2ea82988b67fb955e9dd5c5e9a802ab3c12a67f7dbcac5fc41ce0f19cb23da6b44fecd9219776406eb2cbf0d65702bec4a6590117c0eb1efcb5a943d10e324c6b97392b04812446f89fc2c9f424e01ffdd1f5a56b1d9e1d04ec117b654f99b34a485d36c6320f28008da760749e9925225316a5cf51a53181ea3ba61f3539d2f4dc59acdbcd44e04b6c06c19e0f7a6802560b517a8b0046049de2b1cf4012c6d9d4ccaf0cda7108f8c799d7940118d7d3fab78ebd2c1aef1c5bd69289fea2aa2416e80bac970f6eb01262b6c82857940334142289f9a2d93ffb38dd47f9d29347eaeb2b36caae186ecab4db384b3f67826a8da66ce16ce576f0f538af446812ecf80f945ae9623b7f3e319334c2fa49ee78b0b24508ec0e0711269dbc8ee90e88241b5fe4aae61f2aff7d030829b24fcc402e4d917e906a827ccf0f12260c56083147571828ecfaee7d2dfe8935d7bc8977b26e03441243f4a445cf852fd83e62ef3b9c354393cb86853297c53fc9ce60e1647bd80eb31d11bc308b3f0acb309a3d0264c8eef63d0e1cb217298cf054a77d1e7aea640c9ba54e12091f4aa61abb14aeed231e4ce0e935bee20ec9cca08f8c634bc8debbd1e2dd4d798df5965221d39b3dcd2a6e3c33078819dc7b1fb23bbf4f87118af2cb778c44ca6b7aa127945a333fb52090ad980bf0ce79b4a2e06f58982a42f1db1f789dc8b52d25a062de3d85d71ee71c2e7ec086a29817fc7b9cb26790057369a4847277cbcac21ca7c1009d1e6d3e9e5d78f90ff5c50dd2b2eeb09fc8f102d9f370bc0e879493a051b0bd2c4b81a7dd2f74960af9dfdbfda203eab2785a2df4d25498edc465ab30ab0551ce53183c415b2ba00a3cfe2936c3a2e4273bf9552d7273434aaa63f6da4e108be829831207dbf6e2142559d62c74d285f8c713fd460d3b5c175db7d0495381bd8107c8641e53b3741c0925b3d0a562316d746cc18e85667f91b0024e3ded69badc96855e2a15ec0d3cc6d7e413922f9af341c4093460609461684c321e3912347cbdadf435420a979ff7bd7a17d6a5fcb42c74a27c102d50a27908d1652acabd5391540e6808cf7b26508d201c54bbb9f16b4f427fbacb45d74a212e3209daa598177cfe65f6a2b060d343d43f7b0a78c6f22f46cb85afdc2a90b3fd2c2b52276d3202d43a0768374f70a659907b92cb363dd9afa8e9d90ca81f883379dab9bddec9dfcc5afc38c705e1402203d2d4fedae3688c72d5ff9a5770c09595c02d7081f007428b90fa9565f2d68400453ae7e4d6ac3b5f7c47ebd70fb25e2a3ddb5cc83bc05caaea0828ccae679d29ac4cab6362addc4264120203d9f97bafe839cef8d2a2652b6374b7bb330eea188e678e517ff608f9d2e1d57722d5f76031c7506822012ace43d0e30a90dffa35ea30a7c39c5d84081fa64115e2dea0ddf9f5c3383d37d7b0a05230963132d9b27975afdfb681a68733ab51006ce79af1aea257d3a8f61a3b17c9f83dc00c642ee66056a4a51a00054148b934a7cdca87f457e8a13a088522586f05976f652ab7e974f3c3b400a8fc0e10e9eb459a75e131aeb5fc5436cefbdf007c8b658174668eb6b11e6f1311e14e4bff21c23205defe196d2446beef05ca3ad866c973bc184875808ccf8b9356e04b77db9df9789781e71c77c04e0bfe8a5920d69cf49be9b3a78649656e7038f409fb2a9359ecb3e284da03494feeb59f1688725042cef781709b32850fe105ea707277491e7587ec2c96d420a14ac4ae702675ce9ba7d31bf7c6ba0be134ad88106fdc3bb5776ebbdc6fd098f0837ba46c8e1ed85a40984f11e7c691087c23dc35d07d440dd2319801e81d95b57c7debf9347126d1ac902db3172e9c378c638cbfcbaf4a4d929658cf9d66b9c8aa175064c5b73dcd4a324769ae93c3b8ce172d9d09853969fc057e34ffdc2f0899517931f70b84aeb79e4a63af30550488d4a777197270fe0486eccd5ef0c00e58b36d1b2f3ca215fe81a91e621935007b39c96e0314ab926ab5da8d740a762b74f700b9b0a0ffdbd090c4eff774bb9d1fc3c130190c9e6bfd4b734204a3027e22e5e009e3b607b996df467a638a2dc9e7fb1f6a3649c28a9d86072858664fdd9552f1c1301c5e5022acf82b538752e9c693046a8222c20647da35127162786712a1c754b32a43de6d3053248441741d01da62b80c768fea4d74159e459f3e2133ce06c1b1a8166520168d7a0cc6b1a87024f572bbc8007c169146a439770e0e8cb3ef17d4072fca9491fb68a141e841b8db503f37acf43421bc9ab4f822c2e725e8d509f75a3221b2873787227dbb1f47e930359904528ef72fb09fc0e1567b0e1584f9cbf32a2ff0032d8ee7aaecd7ec22de20f8ce7613c23c64e66bf3de580e006a1c9bc11d0ddc4526f4bd03424ab5b63a2207a1cf6d768cc1d7612e6b38b7369ea139975f3436cd157b1df4d51f82e589ac1b403a14e07b089a73144b99649f277c0fa1eb8f4c11c908d33aec610486dbb919c17d7ee0e34ae65cc754002735419fe92f3f300485cfe956b9e01906c5ae0974757d0fa891d83a14a692eb7dbad26008b1d20f15ab36f0f594c72bfc1d5502d3f4e642d55e33b572c47733be4c75adc1ee0e2016324b9caa172c571eae5d7c67c9db8358bf67edb171b36936d0f720b6890c959d24f87a2c715f00850941fe70cc9e8af42d71879edf59501c361bd10c2685cc18e4f90d70599df7531db59ccc466152f3276c0d6809cdeb7f4185295a373b2441f3a3ed5617a62c643bc973e1db523325aa6c945bd1ef199facf515ac7ce218d2a43f26b3757758bd7ef82dd0c20fd46bc1b3d53f2e29182c30cedc45e2001053c82b4c80efe92a3bebd3321175d52092544b4797a55e151952b96c7f1cb00c54a2cb3b51c2af3d23cc45b3c3bdfbd04a8085ca7e79499863efab94ec356d5e0972e3a239d1cf3dd964e985d32eb27899f9f2b90c1715c70ebbe620fb639d8af263c524437c4422200aca483d837ac04398f23115ab7689746e94aabb1655450c6d8a2136aa4f18f6bb35e0065080536a201a48da63e2dc1164cb6482d882299418753ae86109ea2d1000e0b02a526fb13d8bb0d000c95d2278146392674acfe4c53265c7a60cf811e6a0eaf39af257fa6a51e80f498d2af0518f332762d625af56ed84cde4c12111db9f4ab9c8eb0cf3d5f77e7bbc4cc448a659714547f62d9c560dfd671c202c961400bf38c54d7e12c070e2b415220f981669acd6eac804cfb451775c3c716fa6e4267ac94f4a6223701bc6864ad9be1888e43673bd0ba1a6a476810b76b8f012314aeada4a91482476e3c7eeb1c1e1f2a0793b5c7777cd524714cf538835bb20b0bd320c6eb020bc4eeb266ca72fbc3b11f8fc552c73c6e63c87d22f305d8f57f2c7853a1bec034710d84def8973f7076320e2a5e061bbd32dc14fd12137b5140fd64715972e95074fed69965867ee5f4f95129925ef6613769820d5b0c58061987cc601e1d1aa686943f02aa13b47a5c17fa468d13c3c7b8a5776cffc5d2b4a793f81751e31bb8fa94e72431022dc80954c7b84b2f05a83274340cf6aec92c3b89154809827f78cbb722714c25ed3486ae183f394d1767d902665b2840682d28445c9299e698190d0a74683169d3b4745e00df1edce3403c8d31c32f6dfa8aac2d8ec13b4ba1a949936414a73a24424059e6506e015ca68ee052f42019cf5a47e562a786aa88ac42398acc102a524f7705231e28f19f1ebd050d19a2fafc9fa30bb3d94d0914827dcaf5923c5df9ec6627b353250619224d3a848bdc4376098fba527f4edb36a9f28060aca7c3fa9d0086c165f78ba96971886166416ad706958edb3a6d7e8d5513d1aa0789cb3ed82694805c11b30f1c0c9607ba54176529fa2521824115a9d0f07974805fabce214d05a012e19142afa63ea71318765e620399222382503309852a16e0d18c7c7e2f92888c67c0c859cebac3345ac9f9de1fc9d7ee8a08365f208599e7d8c8f49623142bb35a5e67716ca0ea3455cd657a897a90887fdf599326c91fe73bc24cc2d6da36409909558e8c792afffa28c30d100d62c630380bc24a346ed75fdb4014d2c5ecc44a2ae9fdbe41dfdc83842410821f69bbe9842345ecd6871582ca69b6ddf094eca7a82d8df4415e4a29e84a9a1e3278e91362480ff4b96dba3faaa7d6e50c6b0dbb8fdd011709f21ba622a789a0f641c19a504ff716b822c32c9264338d97b5432f883fe850359e4c94d863aa566f12aa2c678e231317f8ead7e05623ff1a8696a38b79635bee10e98d8f02482cf1ea3918f047960aa3489148ca1fcf21d64c4db84f35f864a199691775071122a8d0119e46f2386280178bc586242a97dbb8296db73b5364003d1472bba9a5b7018002bad6bd9555c9982326c758f820f47d44115f9252424e6d668383c4b1a8b4c426ba9e8c4da29d2b1a9e0de8b6000031618f75fa3833fdfb0cf61349363799172f1035c80a39c4f693a503056ba4d0e9dfe307cbd1ef5ed587be006c207ac188aef98854317188095f0a1198d6633776409d7d5519fbfef39e69bc05c1e60b28dfe38ad550d5e1fd62f1f2c4103352b4cfd55761e42cf9872f269c7ff2ed4b37d0f31e666198b7ed01b6204ace6936297c77b6d5ac5868990fcf45d52ba6dd8e00d8c893b2d5f848d9d8368332c722f9b9e469cbd5c004af2f5d281f78b9eea30b03fa32a8c1b8a79d4db511b3573112467ce2c8201f7e36e8c9f2c9c251afc53309feda71b86755003ad31e2f37566d25070a9712b78c56db00c618cba15eb1a67f70de3df597f4e81b0de749bcd2b39dd3e2b604263f3eb002ca54699f371affadb1e477d37b92aaff94a511549e7e13a2e12a828bba45d886e39792100ec1b4851562b68726a74dfadf4d235e05054fdb04065498794daa269fe45f0bca0a352522efa80b40929fe7ef21ea2fe4ec911b884e73b296a4e540234147e5f25a245a06f39c777eac92895ce544de09b6abf9ed631744dc6c8fdf8943a4c570f61b9216bb60193564bf426bce54484be4b5044f3e4942d687c62e7d6ae639a030c30842a2b9e2d193c026900271f3d7efac5764989528e7df4cdf3c076ec065b3cf0c22eed4854f2699d211e79abaa2ecab7c4ac8a2d341f829f18aa5dc796b9c63ad262c0421d52ffe1b44840efe7a0833dcc4823fc0d0849f7fd4d20f18c3b9940ff09c18b6713aabb7a41e871d8adb8e2beafd719ea504fb2fd218e774d04e4094742c49ae5738395c5342eb9acefd63ea000c25219922246ab62baa211a96b7a7a0d9f1e19cb188edff58accf0a336fe19747e90874be86fbec1e000cbfc28cac113350c05fd7b35cb303ca3597d8a7c2c6987910821ff082ec5a7e27a024ea64c41bc9776a4ee023323ecca693af52a8480c1595d184d435942baab607cc46b8887fcd718eb6e4e3fdf0d2432ae403aa1264c7d2875ea42c83ff0357a2b01fcfe63dd93d76d6c41b85defb05b61ae745d6e953fe572b1f7fd6f7bafc965491daddb729958b01cd1256db1704410b517809fb74a2f685e21f2261704181a9e0b9c39584a28ffd5a676854ec33ea512608daacf9477f4a419a8a410ce2ba83c07a407b0df3c3b605832206f79dfb40d90386651b2c5b8ed6b125bb38f40863330ed2a1ad30ff1a7dae7e39718daafd033cc2c675e6807fe848a405d9379efe40b309c850fd53031315262338a828a89633460447005fdaa76fe820c740744436f698e3c4d235c1c32bc72ff558d69b2208533dde81144dc0084611ee6a9ee33ebd508e4930ce44f989a1d4194a948db0a9293d3ff6efe83bb4b44df59083c3699bbb2a187e947b66ce5efbc6cfc740af71125978206b4104b3b4b664741e3606410e04a0064df0ea1a9f0d0b48e2faffc6e17098676a50ab3eb32a3dd27acf51b3a45b1d04fc6429339a1d11813262c14e5c448a4d5db643022b0a1070675744505edaaef818fcbfd40e14ea3e613d2c771d859f003f8d47191581bbffee2cf2105433c3ef7263540f43cee6a63f20fc2248e48a7bc1fe09920fc3cca02229d319e4bd6c0953e1f97e90deac94a89a1ac7adc8ad06d9cdd0d3b04414fc031147f093c1ad8bd5bf13dfb444925ba8afe5a5e510c26849bf71b679e50ce3c7f51843c44ef224a4b73c66ed1430981ddbaed67d440cdd3c60d489e33884f31de90607552638b436ae74c3a813f0a4449824e1c4d35418b915549eb0827fec6d427aed46166125838e83177b17c936851274900cb9e18bf472454c5c5ae21f61b411d1422179240fc211e348325a80ff5c7f703f84cf3a8c687c1d5f03775270e7ffaec1d61a99e557544ab4b8e2c6d6eb2c776cd57c930c3d2c6dc249a5207e8cf150b96f852fa076f1342f997e05afb0858aff5e1422d9acd5c99e2bec6166f9fc3c98e8bc98036bbbeea02524620f017214ab6c790663aeb6b92aaf5f6bc9e936b312470c7c5fea9cb88358b94fe9b73fb55a045decbc5263ba9350b243e4efeb36f3ef44f19626a46901a73f7ec731061a6c35d99c533b15d96889d978607ca50e153cbf21e147b4140969616ede5747e8baad29b782e4670ed7dd395b2c9424c90eec8fa0a0ddc33e1d6aed3e20dd56419a747b61d7a5a67a17521d8ec266fbf5f7a41642b30a56103795c68bfadc40b8ad043b1d2b57be8bb2654bf7a3c30dbc52a854ba244dff974e1f8aaf0dae44764d10f02995fe7777e2a89c92de69d058e45497b44d45b25987295b0c6bc67e55354eb2ebe0c125c025b676d0b380bbc884b17f5d0baefd97384bb80ee29b02a45303c62e325629066ce9a70e3fd48ac210ce33f652e5e33922732347683bbded5af4578dfaa5971eef8b347d0355e0246c049cbd27fcd5de90e0a65345ad33a13203d7dc3d88f74a0ce8d58b864f11bc1043ad66e97829ee70250279e8be6322b30ad8636e74ef98fc92db043a819cca0d06049422518d940bfb5c1c7482b0cdc9799adcd061fee5be152edaa5f975b73d5ca01f0ccce8ff81ae766ec5e14a18c486474188fb4ceaba11a3fc82e8f1f247e7f6af60adbc1f1264471a579b2399ff9362d38d5a551aaf9126b8af178f9575dd1940913601b4efe209bb0e5fddd3259e7a23dc51ae2b0fb8086f861562012233cf7bb2d93e088ad820067bdfac157fdde6be9c4ab1d7ddc34acebf22a968e62fc5e2ce6676314285b8581761517b5227e07ac4c01e2179c85f4d36364cc0918e1bbbc833423dc8ab80cb7eb0637355847a50f3770c26b8e96ab4807762f46171fc65e7c2cfe7e7e5b9292bc163a8939cffcf76c9230783857c4a04eae261e80e99d304e3f30474007edcad5a339556c944dc3c6acd2cf698f69509a358cbd805e4278501588bdf5374e972a5fcc095f55859fc70bcf32ac051497c32534063a75929b8c2b288e1726cca5109bb2074040ecc3be4be6478ec809f2e0a12667c15a50ecf9bd39f11f061d59451dddda537ae697ca59c0ab14bd6b0acdd6501150e53d40ab00f91b0d2dd1db6d9de66a4d32f228ce0938c7be31d8ff667f01879e89e399550c45c0d9bfa13475264d8c3214f1995fd4fcb105cfe010d6967299fb7f06b35bc4526e13a91f0f3da63dbd147733952a9c6960b60ebcf036877fb3656f03ed8845cc628092738562a42aeb57dac4a97dc4c19d7d0cc347f86ff24ce7d49422505415a8237f19622bd87519982cdeb87075a5ff59d9a67ec004b8139ae7c3a1a14cdc56a87c8826df5816ab42ebbbdcd313b5134d863f142843a47f8bc3f4530888af71bf512d46b5547df397d6ca29a1e1440fd2a60ceca9e3dc585fb76ea694ad4b86a162e0ffeb0c6e56feeec9526510ed0fb0a30696807bc18a54ba811186d6b8d1b46ae7fcbf06c447191f2a5f4c7cfc35c81fb0ef7f960f3463e845db4ba4c363c37513b49fd20b30e236babe7977b26fa74183a5d1ff5b3a6025b9f0ea1b263a344eb489d2083d7879d19b5313792f2cba6f915992c1f299c5b48085eb28a50f896872b79c8e5143cdb6609bd243a4430c9c868db19f5f3c9e058656c8035b1836f684187a19437da8fd163930db13e9f2f481cfeedadc86625782b993dfb2a70d79948ae0d96c8d79c60fc87d57401259845e5782182092ca762f48c788d59b8a2b0fa1f14fa359927378e051671350b46ce343046c1542a61c4a23aac646f892cfe7dcb9c494f2262d5324264379bc2f6697629994ef85a2b5f56d7cfce07f14d81f46f30dd730fdb8c251ea5036e6fb673f8bf2a7b1253261f9d10844651a0e4e2299d25a08471d0067cfdc79e0805b383148d07cb7dffef20e73fed012e9317b3a0e27d93fbd0a074a97c6254106c53163479028bbf5d063bf18d896a4875167f2bfd021ca4dbe1d9f6de947faaea8c80fe68f7e11fba5f44ef14e37dc2d3c3d172e46e596d05085f6a5838949c497e77afc4712fe1720fe36ba9b267adccc0e5aab0aa3ac74c8cd682ab52250cfe8172627085163907ef47fafe2e334856f5643f2d78ac9c2013b7240f93e0457e15e15839f524fb7f22fa00a4d77c9b4c86822159b68b868b25fdc3e45be43b8fdc757110710a89ace8089fc9ec02cef4226ca0fdcbeb4d6dfb43f32b40106fe2308e3cc8fbc024d7bb87a62967077776ed42f615d3918a678b414ea235386acb93e4e043f0fb389ff6e2b38a6087af0b031d75cd4e02cc703c756cfed037e32fc089a9aad429552f4c669cbf17b7c74eacb726257fe72a0040722e712c1f42524be747660e5e36ab660c97217cc6fd449ec4cae010942e1203f81f4151fed262b9c98bec3295a4d8aa261379be940061c2e65648c381e94d56d1e87ad87b4e0ff9f2d68aa8c1c9949c8d3950f5b836f83c993d41dfbf93b71a7fd2b8642b875502a16b7aefe69aa8a4d0787e680ad3aa4b670f31328ca5402809185b2a143d61e36f9d9f001f9d04379b3592516c6dfbe769e107f8ad789fc079c100045d9513e7b1bd0071f17268a14ee3a3ef68aa4c2b852e845b46e13887825e83cbe5fd4777194ff0b47046054d204c0c62f57c3a2760b39dc28670cad68f74174043fcc8504816d85d7c1f4a2b85d83a99f127f2aa65151ea7e62c5170fdadec56ed6956076eff783cffa6fe325b4b1cd608af0fa33a6611de7519f050611c18bc8ff81c2fe2dcc3c4b3d8b5eb95e0fe8fb97c60674d4fe48e1c775e6f4277a591a14c5a299b5c664e881804435777eab68df17e87f0d5e648c85b9152dde1ea26705803900fe8a2f6408c4dbbded49081160ce2770a2b8607a3fe88cb9e0493bdddb86f6575a287f69c2cda576bda8c37d67dc70bac76b73313b0107e1104e70e15cc48e77c2d6e5a75c62802d8d43d61823ba0efe4fb7e91563108df67eea151c01586ffbbe3f05d7447881271ad7111c3c3d8ba3895bd9700ba2f6f56d93b7fd01e7ba7ea305b40bf9f794873641fe52493839cbf8c3cac1d0126ad0ad46ff46b91af3c9b518f607c3445520a5b373a7f153431ec66043fe4714e4e8811ca3a6b44390b25b115684ae69659e7570f4a64f090e8a42dc6146374b9adea5f458a14496362479be2b4a0ec3c76ae187c0f11077061fdafb415370087e1c474d05a1e7300b2b9479f5377e901ab085b8c109207bd337dd5595f882cfa1ce16b52f0331ffebb9b93ce11af2c5a707144e42207424c385dd07d3bf714eafdd7a971f3afc8fe91b1baa0ba03dace751c107a89da0fedf80a08bfa94cebadda427fc54a0ba4ad01b3092dd723c720cece103a3a2c9a14e7139b67ed9f1ac32778116dbd470559fcde0668738c410c2d7ef6dd051c5cdf06d0e50b996eb40df6a8452a10e8642002f789f1e531d3fc91abe5aab5e90bc13a048d062648ac18b3044c94931b78612536d21d7ef5b0fd58582042b00642725a78aa8f02b3951bd8e84912c084e3db1b468211651d81ed83d83248e37850494cf3983c51be7916b63416b430e2a908bed1c322b787663d029b3c9ec2024e6fdcc3a350d4821f9d52e10976c654d32cec3a9d2c0e87c8213a1d6049e6a25ac0b192eb0a8c028bc275d4711921d1ce5be29c8c006fb73f68b30997d0313c32a910e1d72cee4666ef6fef17669ddb05a8dac78fa0e483bd58f0749d7da0ba1c2cd37943c76837b52eba711594d6d8796a520e184552a88e2eb52689439d28131ae4682383008e7c0a3b792674302e618d1d10c8bc35939782ff7fb20a7357ce5bb6fc3485366894310fa5ee80d9ae4a61206b2297fec25b7178062ea8f22975653350caeeb65917ca0715b0141d6eb52a49c184a3cd10d41a0b39f033ed03412936d168d0de5204eacbdb00c50c3f9037245afc827ee75b13dda08c4749ba3901e618f4e21907c3b87ecc89b813b6394325a035972562307b6dac48da957ce0955acf6496669ef8db4016372ad53a55120c58116d77205c2165668f5300c9801cd4e7cd01a277c74db0c2976d820429313fb7851a8c27840032876f9e0369d31f1adae7a20d22b86b64b0602c656574f6a4d3efa4281cedf2372257d8be7452a873c82355790419aa1b319bf839d8d56714aad656841947dbc36f69283a2416e3c65faab0161da9b819073326b323a11583891be2f90e588561c1c4c444b461ac845d23feadbf6a0ded57c1968c6bb41dae374d8a96b6968dd3c86b90cc614636def2c55d4903cd78e31e634683d6933d820fc550d28df760501cbc119dc6a95a2657012e5a287d5c06e380aa216b20dd2f2abfaf6417532c825f2ffb21a5980435b481a97d27c9766121324adb24f79c36b918e1c39c797b13eb5ff45015c5fee67953874ac454e4a8f9f42f0a8eea6391aa24e28eec05a82f5b5ea5de5d1c359c5447f548fcd9e466dc29a9594fb36994e91d430554695b6ddc11f2c4a42717265fff5e6cc4b2a75b3b5d5e45f472b2039b6aacb28d8381a358566199b4b6ae0123f1d06db739b505bc3f3d48b595604b17aaa27a44b83c87ee05dfb9fcf405f2fc9e61ad60ba114850408997688765ee557225701541d369e98352bc16790a6593a68d08e6930ecff37b73e6514804d01fe58a6f1d69a2c6290022b9406cf7e0223779f2ee1743475d6c440a9815b32b580a4d927c15b1adac5f7fa3f65938e8929c87e3ea98c864d43993c6cfebe32137c1d7dbd13be1b6de51ee84421b0132a09179e83fa0c50d6b48b202f32aefb92186c5410e50fc9b0419cc44093fc70b668a7d16f5d6d181abcf460f4b39042eb002c7be0a15142d5f2a41479ad2b30f57add04f5981f8716df63acf020d3c219452f173840cbb14e0d7286a13a442df5ba85a7e9eee6151f8d9372d504cde10d2d685ac02eab459e206823eb19f90cf828403fc93accee151913bf28e1435b7f11c58f887d5d046e5e380526adc8faf41848369eb1bbbb9329fd68b26fb801de88bdea772f5e1ac01060161dfad70d98f5309588337b1b398217c3b674d495c99a9e0b81f9f02f614c2a41d9cdf43c2e24f32aeabd7e65657689e8b12e33577e811b4cb2e6d97c15cd190d538e26324273d2558102c568cdd0b484db22e13623b8c523669f2fa6d0d7038f863491c30274ef9b919e2ae07fbf8e18974096ebde914e0dc9d5d4b973e0e15f28f85f50903e8cac42314f79115d9e79f8ee97103018b768798e82eb048fa0616320828fd5920ed16d7e81f84b9698e71fae69e6088c56bf5937c7f6b29245952d70cee2cce77ad8379bf23802b6df2d345e22969f19d026690b56bd366756ecbfaa41f3a78c6a7a9b82a8e85e8e933e2a09502117dcc31c355881e6dafb31dc34c9ed1700573f0f7272c5fade26a2ccef94bff38949c49d6d3e0d172ddbbc5925c63fa2bd6bf3402fa251c0626d4e02a562895c3a86fcca8dd2b8212d41716f55932baf686c5c0ad23a3257396a9d9953e61cbc1772542f84449a5d07d9d944278c4dd838b932f5f5dd6ba020d2ff90b01cc6b7cc9c37d67623c73fa005e490a5144fbc603c91867150f2dec87180cdc944cb200b161105908221b3f18491f411452b6267f1d015fe15dcb89133fbbf7a1284c0e006d139e980d2bb6bea96114bd41769aa6bbae198704c8832c39e89f1229f24c478f68fabccc23a94758a9556b25a04a06ce7bdbcbf31ba560d00c3213b3f87ab57afde642f34659c079761d75e0285363f1b74390e0c17b51b379b8b5416111b906222ee8db0d84a202806ac4905a2bcf5bb53906b18bf13a2c0f6ea427154d46ab217b5461f575d7437779d86b5b7ccfc033535cb99b559e354ba732b790adfafc622015d18539fa41d57a618b32e9decdc15756290b39264a1746d113d04fdfdb2e2c727292bdda1baaacb9944c8db6470a0dff98e3ad0f7b655392c05aa6bee78c4be07e1fb9cf6284f8c96802ae3fce3ec4f009879f1e20811672b546f3ad82179b05013106edf7314ea0cd9530a386c447586c994cb95180ebd2b6d96f4b35066ef75a538f5a433e1e6f7b1a2b1f9cc3d6820148fc046ed12cc6b5c0811ca93e198f443a330a991afcca1feb88fb7a7315cad6366c1c461d2c77ad3c4eef740c89ff44f383ad08d2928e804dac107f3a7a44969b05f1096df38d0c6255f97ea4fcf169885ef4523bd808cdf4f7f61b39694111a31ec962ceabb07455f106ad671491793538edabd9663913536e3504140883e7b5886639653eab86c9ed69547eaddf96d593c2038f4cff5f15c6650ebaf2340b160b6d4096cc339a0cfb9211627fc9010e5ddc8959a348a19079f935dbcdb183786b48e139ea1833f17a640a88ca282a3f686dcb8e46fb3953f03398112f2545c4e675a346db4a074617b267a0a2f8f8b2d5178514a79b2056095847026d78872464071b92982a852f845dd1abfa305718742655d8f47aad5a24cac346ffc3d7c638da49f8dbaed79aefb00b593149752901700c76b5a3cd80c780f4568bfc6bf090ec0109034d0e54d548105c9dc0032d2eda857d2e8c1eaefd42fbe694fe8e2116923cda107091b86f97e4c5231609db98d7ab3e3249841497977d1789bc84dfe85d001a9648e7ebeded12aa9a48e6861e125568684e25d0d760d868006f02e18b276c7f6407c88bec54cc6b8e8705ec29a2bfaa31804a0c181e22f58318eac6a8c3852c8228f428cf0b92efa654c3035cf7154822d740d710ae1e7d3d39929e8de904208929221f9f1e6cf6b7c4a2fdf7810df2c6db766911a2cebf590c62c5da94eface1a5cf27db3e3d0598f3654c304c9b7c706642b04a444848d4d0c9261b271e6e9b6ac9bc71cd2599adacbb6ba484f4344bb1e49c9044442562e624211cb715e78f53a8a7b3f989c1aad144c7745fbc6e24748a35aad48cb25687a77afa9bbec2d6763b9c491b8b8b1efeb9b5e9e0650da7f1404c220f4a29292b8680dd338d6224e29ec9100713d720688592e40bf72339d7477abdac778b1d28e50eb16aad7de6055c440873a00dd6fda9b1d46cec361e30450e5b311e6690d8d96fbacbbdf6fa7644b59b7d086ebba6c4acbf1f86006dd6ca18ede2844a130aec91a464aae0a5db761889233a67aa8c8c1d88fba52c2b8d89bc4b1d58dab8ee161a3d5a3cefaf390cebb0d8ad5a0ff41ec393a9172670a853a8fd4de078744437501db3bfe5331090bb89c1fa8efa64261830913a3722539e8eeda5fb8967f17d01902c15fcc1a8e123b33c0f1b8afb8bd192014825cd3ad1c6f5ee47f5d8bd44bf9b71a21745632d9cdc4c5cfe262d9540496dedb790776e8d031c877f32c0afdfbeda342ec06e4d79be13519e2e92b85ccde8b969e5a9a43e905e1f14a6080ca7ab2240ba540b599f4af6f9399d33e6c66f18e31d41d8683f95b1284add66161d221b2c62938dd74d629fee1e8dfc73bc045266062e78e115da836ba02c325c6033e1bab356db01acd2d8617bd35e8672d6b6b2680a5c9162d35a2dd3326ee72bb04d3399dd62448d7df3658739de4777507a53b230401e5ac80338325ead76a2c341150ee83b2483fac19efc83eb415defadf91c99428e4a4d03238a0a1c993db203b27e6852bad855b7fa1e281c4307e51840902631ce811e87cdcc55af60b81ec4428cded76b53067bf3204a5e6c2ad9847328723cf02d90fec1561cfacfd7101a9d0a81ad401235bd88b4380ec449d816f7cadac37b8c268f2c2f5334e313d09cba2dc2d71a137d182374574f097d57aa0c7fd989d383a45d994a3b80c4abd3730f7232376787b494db15583a2079366de01efb65c35b03ed47d7934031646e98402066a5f0f81894d21c0c7b1c24360528117569b4c308c903350729b3eb912c2cb39c4a1aca1b0adbc3c7aa20a60fc66f17e9c54ae51fc74afba1229ba7efa133211ba0011cf060382c4ca5d6d38703f81516cbe100a818a94fc8abee4f78323fcafc75c3c46048e90162ed1ab98470a950fb790c00ec027d2b5e81dbd6074bb50e85945a2228dd4dc35477e2ad36505976a6e68beaa3780c6b93bac5a2c46d70d57ce8ac03e5fdbfbec49eb027b003c980724bcda4f6e6fa7b002c74483b38d69eba50cc443300fb0faa2467be7ba707644cd7930ef990b3788b76fe2d963f979bb145a9ae815af2d02685b5201755962310508bdbf6e5b6c2e95e5eac235076baff140af3ec606f913e71ebe0e30ca4579a42d66a1a3392b8442e47f08e8175fa27a4f78bb04e95f095b1a1c8e0a16afd8ac077481a04b565062987dfa6ef6967e786cc919c2c0d14c42af48adc22d00cf4cdae28e49f16da882881ea5ca3963159c1a75238e51b7571a02c81b0d7751ded43569aadf628198735a9b220fc4cc61b8b15d7948a9d10bbb01b2fdb609ba63b88e484e2bf9043f4281357028417ff1e3edc18f9e32dae00c285f435836435473d3199292e380b61394fa13c9d5640c36b43d4a604cfad2bff90fc8e9653a48fa170b60885ecab71e78feb5ff5efd6a1af1f69616940aeb7c962e87787931d4462f542596ec16780e8aba7bab56affbdc13585568fbe665d441631d3a65c1961ce9346062f99d29afa470192160935ff18392b305c37e650d16c5e01276f137b3509eabe28e82420d5e3b4c0febe6e9d70e80f9ec57e26a9336e6344e64c59d4e63efd871c734ea7a5aa6b1bb7e22e1fb89dedd22f199dd76f5e5e0e69deffb5c062801290925dc7cd9aa6bb0cbd1fd28158d8e762ead32004a22c572dc61094a70da0f872a84060c0c78b2196b44086038938784795a28980f9c7548ec27f08adb2d639844887afedde0f4e940a6bc0a661b33d7b035a6165037f8c4aa82d50d3ea927ac4ef8938a50eac28fbc09a8893eb82ea036f0c9baf0ea82cfd409aa11fea04298fae1276fc4642016eb5b6e1988c5bc962dc316af89460fd811c462e2ee7ba5022723d7e9daf99e9ea87efffaaee44a8e005b4e96d8f07b890c22b14512148493fbf5c41be783f5a48506af839c18d7d58bd967199f8a2898427194cc51cfe74c98e9c90cecdb7bc1754f7cab5add304a8ac7ea0c1e28edc89a7c6b4e40841f28e498568fce90f95930f1fcd83cdd733e98a162b17bb3b500eaf251b9f6bc9c10874031ab8f706f8e2a331a916e34e313129268fced06c699cc64cc8d82c4028b4c587a7f96e65f0aaf3b579181c0902a4ad8e662f242f1aac6adb5c3b9929931b1757829c66238f2d0d3305d868da240b4f80f4145c87a2214a69fd7b045251a76a260920956d08a8e08d278267042ac8a3e4861fbc92caa4fb8787f157ef14120cfb29ecb443e8f3efbe9cf3746b16075dbf5a2e8aae03329662e9c57ece8568ac4f08ed7b73cbaa35451548a788feb9af89e2e85d12b2716d619196481ffab96aed504bfe1b31c0924c13ba93c66d2d9871ee0b99d6420ca5819895e522003d0c961307d24266f49d906b7b0bf930ecb7bff6f4101fbcf5f443bbecf1f670587ab5482b1101e5f827ad0ccb8d967f6eac4845c8c5ddc07c953ea4800371d226860919479acd5b43cce750136e24f4d4ca05f26e9a6a827da91f7d90951c700f9123f273d326086cbc78ff0932e5adda7be4f84b659405d8f569aa2f1728d487f805b1df8200049a337fa55cf1a4e1a5b22f17daf0b6af4855fa343d783caeaf5b9c8a218307427d23d1581796370f7bac8121201b1efff1f03e14efbc68f4227b02965772fe962eecb03423570e58bfda8bc55569b057490bc16b35f4dece876f29efc13e25595d7cfaf87198ffee9dfdd4bc0286040683430f459494f276d4228d75d42512a6b0ec6f2f771b60d0200fd5a00591da8ccd91f8ffee9a5892b4fa06ce1add3fb7f2bd0288a1dbf5bbbd2a710cdd9d2d937cf7392ab967220dd12dd22c2a628b04f59b85cefdeb86475547e3ea1068cdd8e5f4534bf959ea2b183aa730d74e3ae30dce081567079c996acd4c698e8f971e9a593ecd0aa28001316fc2a2b3d229c308e2f234558d00954144cd34d262ed0170aa71b094026022a7a05a4d0db8864456ab52d050962355b71c79003d63b4129ccba62fec9745613eec290a694e64637d5007a2b1c8ba564e8f0ac5640b0ef54ba65d697b5347bb270b3b6b55f5c477cb1684146c6a4c48f73243df1cee815dd278c25b6862f4b545e64eed2a0a86c30d8c11f818aa48f1b7817b22244fd6291f89b7e436551170a0f37f853fb0ee7723119a2b407c8539ae27f93394ff55be02849f6e9bd5db19af94ead3759e2369652daafc43db89aacdf0faa04b77a75c626328912d8b7d8c5f129219afd245a5bc648f96e5675dcedb496f0112397805e9ba685a874f3433c3551a13134b87c94a602c9dd3d1eca07be3e20fc319d31e41e6cfe2f1e968097763b991338ee5793b360e81a7733a9051ebd415fedb5bd2e2d41999a0c70a2a2d9457afcc7128f792cc484833d15472650ac184e0e165a8b364f508dbf481e810b5446f1c55c51822c81dc498f2208aacc2506babe00cad5b96290203fbc429f3d9d556b427a9fcaa4f9f96ed9913f1f30e093e1458156bd9897fa916b4d82aaf9050d813f88f9f5be05b05f700ec805711402f9f2cc8a85ee2f332a8598c3dfac49b2d93480081e0f8404845675ed509a4f4670d65446f660c2142c12b46aff00b75162a8b2c302fc40b70714939c5d72312aaeae230e02e1461356d6ebb87eaf380a6aea7d4264acfe57bae7cdbcb5f0c46de1b81468e7c6f72cfcba7196e4eb00665709b2263dc8168a6fac7a8c131d5502ce6f0a356c48081e11c3ab0aef3524014d412d43431a91a2ca94446cd4d385f74dd6123c1184de2fbea6589ac9c73b33be361044dc5f15f4be0fbf8983483c6e4dc65a83498fb9c28283b3d0bb89cb69bf4843e2716e1b6269c9a3a4c5d7efdbc5acb11969cca82306a64ffe274419a2d9779085d4b3049b343a64f8f418e49bc9594aa7e3430ba97fa65863bf5396de386eb9893205e8c89aeef222a5997d1eba3d66d04f923d303c03d46c7c9bef220ada1fe4c5a36009f139f8c60ef45522b78869a48ef319f0ebd5c820729904056e1598c1425a56bf26f446dc79946cc29dbcc1546da68ae76467fd3f48db85946be1e928b04cdabf541f52f2452a8aa513034925f33b5be3732b6f5b8b9698d5bb21bf272c04b7dadfb9e18dbf020071e55fb0e430bc2b2a70d55e25ddb9c3c0997351f6932ca1ba2ba6f2fa922dc09911e216f02e98d5afc5cf3a0583b6188ff298c923bdf806a3d4b7619e9ded358fb71f287ff0dc4b05c97aaa8633f067084381207c4a28b43bd256ff47be61ce7992eecff8e1cabc1bb85c1f75383bbdc8a68760d35360d02ecf81d6daaa61ea2eccf79191526fd84ddf355895581e1532813a63ca18d608e6fa4c8d7fb82adef0b23f0291376ab39a72a7d85f3314ce8884bc1900a9cc888204d97afee91b19a24368b18c01873448c35a908e11851483d4d86a0d0426c07b51aafc78b6b7d4a2b60770bca61fc45c2a21120969b204d4241d5459d0117f51c2ef87e88c21ae2ddfefb9aa6d14473d1d93de5532d654af10dd3d71f77b22cba70c51cc788b0da1313b15193136ee21033290d5d376219bd871689bed2ca26ac567939798f4f4d62db4f3456d9dece734b3c202bb4d2264bca1393086f3ace2bb294d0ceaf4f662634e062d41b5df5b21ead599b118922e786c73d3c84970805b8021c5dec2beb8bc40894c346d98ea18ebe52baea06219027b16805e7ba76f8f24a5c2649031de3baeca01a92f62cf476a0d91b267aafa296c985af650f1c4642974da9b07b4f78ab18fc3288ab7f646d28647d4000ee651f3d052ba1f35a9bc5ac4d9f25c254d652afef5254143e50093105a04797642de722d1a4ba2a28865242467c311a0e430afc02de1e868d1aac450adf0105b838305399d17588a17b2620129d9de5b2a53b1f7b24331d1df30782ddd1824110e96a25177dbd1f25ab082f9ab99cbd1795af3f5a2d464e7f5caab60f7e8479ddf67f6f57a9878489dcf986299056e9440bdc5f4dd5e5d6a233f7e45b9b2d7da62cc31384afea4c64eedf217f45eb7ab197e71b69fde96b8c870d23b979a2d8c4b887f61245b21418f6164423f97688f53ac555ec8ac234634804eae27489fcb76b8244afe1346d05fca7049c47641806452970380d41c6baf076790bc9b1d7296a79f63b7499863c8de623fd3e4770611158967aa11c23b0166ff9d79d64b78e69c7e2319e48f41ba3ec79f9b28b2104e99313d7131f8554347df60144cc0e51d079049b686a66b1b5c1a59c398951a1da4afb7d3dd8c07352c567128a27ea29b28a6134c2befa5962ef1fe98e890f9e3fa1f061a591914db432caba6c5fa3e53cf53e6361284ea3225b6148c7c4226c569adcb31b89e27c57d365221db1019f5a4680c186e6cb13e3af1e6f674cab534065c67086f3ddd6d6b990c69aecd0b058893e85437d1a4ef6f10ef606f592c690aa007c39d55c19562af33caeb94aa4e81ed83ea2e78c93aa89022dd2d032f7462d7e89dd0b66337bc77a2b3a5547ca79fafdc3683ddc810b7fc0ed69b279a250262ee00727ceeb2d69e4c808ff542f9acca9fa3e0037ac78407ce7ab515230d87a34bfa0fbfebdd045c454dc0a7223de497d3252050e28cc47206b79151af75cc81f2db10fa58bf0a2cc172944417c903ec5b739e72b91c1e05d740593fe68885b667f020220151f6b72513020814b1b3cc5ea5022c3e91e263f9d22edbba1b64bd72bcabf8e03755763ca3cb78e6c8bf2bb055d78b72a136ca3f323bd8e2e492e3a0a5e30201864124c3b3cea1ae796da3a1dfc03ad56f677bd494208f1bccc3c89cd8fb476d102a9851ba62b8c89aa71acbd915c391eb7b855adeb17a9b3d265157de3c93c276714362adfa55f39c5f970ce932519a0ad31fa0ca37eac076ba46ca938f7142810bb9d99bb589236367dbc3daa4af6db0dcf9a97e3d6302e479038a912e825930d859a5036fd3cc97f370fdd3f656ca76c15977fea35b74e29cbcb5495968db8aaa56b378b12d2fcb83b8c2f6f8da5d7fec03003ee2a88748940e80cd79170628ec3d4059901b2ab025258d446813b2b7dc524a29654a5206c6072408f307abd5ab7ec6ca6af5aa5ffdd47456305b712abfa1de8e3b9fd3cc15d44be29956bde488196584f297bf34a959d80fdb147b63e24bc6b973a3e07b747a9992e7dfa3b6a171a3e07bd42cebd972f73ee9ee518e92a34af550d35119e1497b1783bb3939ab9a73ea642f6dc08c5dc7fe7606c3bd7c55dccbd1f430a6570de1ee3169429af4aa416d633f5a2e62fc796d67cf526a34fc4f49f9e449f974b2d2ac98facba56260b0154c4c84797721e657dfb9fc8b97b893f9894faf66c1bc63c73cf25df200edb5afb97cf612907f7f7bb1f1f2f355aaecfde5df9f9c4cf6f6e7ab38990c633d36295ff576bef4ce3e8b74f9f92f3883b26dff341b5c5e621e97cf30cfeae5e39878f51ab67221e6e70b1c65264c0c0c8cb599859916c7cca53b7cf79ff37e2af52f2fef9a4eeaef858181c1f261b80c8a0aab1ec7717af52aeee533ce65c56550bec796a55e7b18fc527f3ff56203abc1ca18950a77383ce9e5eda73ecbf0cba7ee7db9f38257af527d96c17c4c062509e6555c1665f3a40c93bd4af51d751597cab85596bd486903fbfbd7dacf38acc766adcb5bae53611fcf381890ef5bee76f7ed7d9a8eb51cd663939fa952f251afc27a6c1d0990e44e7b89717892276597d75c2c07738a7b19c72f873d8aeb7c8ab2f62d5c470224597b16aed311246b7f7ab5cd8c56fae6e59c4eb8487f6dbcc39330ccc4699c1fbd3689e45ffda6df7528915d8791ecb8b318b06fb1effcc8a3e0f4bc3326b9cde138d63952961c1dca977b45a128e437a897cfc4af75db5051c851af1c85b26d9b1d3cc991fcc86fa87d656b9f6a3ab6d6af55e2d4cf6beb50af1c3177f7758a99516caf592921cd7af52dca9126a15e39a684b44de74f72fcf8a817ca4a2aa86ddc3f7e2a48dbc8f8471f390ac1f831d606f427c56f4c81d83ce9c5c865023980724eea3ee7ef68c871ad3e8290d74e1304a14308b1108d9949a04896b4cd7b9a24c778b38b3b9fe2473e1365ffbd7846d9aeb5d7722c2519beb67933af992b531ed121b7411c92e3a5e91129a5f44fd4527a9a946ed86ca11b4629a576fb160edbb27c58ff0963d8b7c4568671fb18b7af9d8fdd687ad0b4687ac019621402d22c8f415adb7751c8bd4adbc4ed59deb9c0341d16161a5e8e728b0cdf348598dfd522c3cfdeb36fd1d9b7b842ba92df24c555be17d78ec6074d104d8f17695a3440708647d38326a86de04ff822d6da688232a8c521f905e0678358150fe259c4585828c59d164f9cc96e6163f96ec5c2f563ac9e79cd5cf1fbb41a335732ae8319e3ba98b18f5cd7f210b69c9ee5abdf989e05773eabccf2b40577306a36b0cc42dfb51d969f9fab2b79958df3d7d276e24cb13fbbf431ae7b0128b38a5e68cd5cc966e0cf589979cd5c814f5f6a3af44298d9a5ed8516ee6a7c9afb7442e66f901f297e3ec343facc8f8d29f07766bff42dc6ead9ff9ede8bf03bbf62ca696af88efde8c9985170da69406982244d8b0648d204599a208a7d2c8675b1652d4d0f9a1e5e5b52b8f765d18f9e8cf853ca1671e763b3fce8ddf5e7ec6ef76f209a56b33ad2f470a7098aadd44345c928a4a3dcbfb5b67e9865adac555bd0cad6aaadadb5b564642680bdff0df6eb53e0e500f1c03c8987dd5a590b6a3b10766cafee71db89514a4d47e22b72b7b5ae909c0c0df927efc89f1467596cd994cda3cc2c656acc9753e2a32cf18cb26dadacd5aca06c83ad1cbfcb5a4a046d5d0cca5aa956b4508c4c9124b3f26b32858f4c04a48c80fc9a1041894c9164fb20773b883b673057f83df3fac90e797a74e4fe979f56c3618fe79effb04f772fb4da49904c80fc9a1041295f09b5ac598f5564941b77f4dde2eebe7f7d53adf6b79a9d4e185bac71cf67ba8c62ecb51d8a79306ae13b0e3f82f2fd67aec0192ae68114dbb859624c6f9c3090b2bdd092edb1a3cfbcde8b31ca8fb1657cef5c6c6ee6f5426b88077dca7b4c8b7cca4572df4572915c24cd9ada043a278616e57ed939a7206dd351b6ee1424f72948b31a893c058117493e058940327c5a65eb5c29c33715711c608e631d3f39fe5d45b5a2155c2e97cbe572b95c2e97cbe572b95c2e97cbe572b95c2e97cbe572b95c2e976b07fce9ae42aececb745a2d254a8c18d936f84ab6cdc2dc8f16418552b38a72e713b394ef93d24a69b723472cfde5ccab591e9588f1e7859653f787910929ac642ebf26521c652c8290e4fe99177ea1d52cf864744da24afc06fb86704e086986327ae5584619be85b8f38130c69fb0e914b97f52a34c8ba892a1dc48b0fbe9c7382e67ae440ec7e394526c1da54751da464afa6478d945925f0076401967153015603ea850a142850a152a54a850a1724f1ce0802bc924479232ce5963b6515ae18bff550ad65ab31db5b7d88ac162fd8b7f1163e56f05e1062b950d7e0643e8bef7dc882b712125246f21f55194934e5aabc56e7cd8cdb4f732cdd4dd4a8a7a48b7945a4829a948c991128844080e81ad5727356c8f15b67b8c52ce28e7a4b4564babb518766f86dd2cd33493e964cafab4354b4bca45f5d2d5467d2a9535e7d2ed524d45e03f9f813b60d3a06c757777299b3f8e37f60e8218941bf3f8c38001e35ba331057df4f43446c34e31f805771bee56f9f4f9bd8aadf3c7692a57ff7cf5cf57b271e74add76af527e303309a7276d235153a08cda06eb5ce9a4e437322d7f7a354bbe0c7752f299979787e1ba9f0cf34fd38179bff9c9c9fefe0dd95face308f63aee6718be01ebc87e724e37bebc3c0cf7327da1956f579892059fde3ff40ab4fc888a908aa2e04f5c4b7acb8f880aa2296c3f96c85d8b602970a2054e08d1f2237242690a4e0011397194b1fc889c70728452d62e5000e1716382856d0b13141622264380424add32b4f18142410950c8c208c76f6aaae89a186a66e05481038b53f3000c6115406a1740dd5b4c7e444f6042b6f9114141c8054e76309998353fa22a7ca08a107ff8594283162c1d058109200c71240a224599924c89164b77f710b989b440054d88f0684244299bf26b42440950b892a889c8c44908290492d10d174287a2247e2051d9c29226b8124a2c71f3231ac29111b68de85ec10f490ce94144111e50c8e91b4cc182296460a708c288a4b84234842548d12352e1de2936980de80844ddfe7ba261737c324ef9466d07ab4f4a09a5a9e321fbd7e8dc81207b8dcedd4fd6765a6874cf73021440c83efe304bcd462afb773b7c539ade43d7de4e8434a04efca6f13e724fc6fbeb6dea7664191aa75376567eee0e3be9c2bf09d8ba1b436283cfd332dcfee672ec788e1006f83b5a7e5f7f20842cb810bef720d4610845f91115bd7287941f91109c901b497e7e634e13f84f3abfd62053c891287137e2d8837cc68dbce8e54843397a70a0ef8f837cff1bfe4fc3410607fffa159b80be6319f872646ed4b7ff729ed673c3e2e7331478f4656e0cc9fd3a7e728ce4fe1d394fbb4106e21b423148ee7f39e8a0f8d52ff796cff40fbd8afc66ce21191c90e6519190dfc8efce712e28cb6f88943b4772d0c86570c026982f735ce7063c92c161e21dfe2898810839f8c1d2d2d2d252ce0e9f4847b97fce976d0407f913f777300916f94cbfc3253922913f7009217ec48f0c01f38bd74f35e67cd2e9d797ee92f60073077b7899629efaf3bd860aa977b7035bb9070ee5f738ee1c7c59bf65fca18c7fc5a1efdc6b2aebfb4c6b3f07a734b91e07642b7fceeb9ccfcc3d0ec82edfbb8adfa3f197ef9d3f4fcd917d8e1c3d4fa9d5ca3e2dd9be4f96b1bf59f69e65d93fcd06a8946d8f03f27b32fc3389d4e3800c9f8c9aebcb1eb804811f9ada94ebfa2174eed180d9ffd50d83d6878bc160ebfc9a3ce124c37f26d85208fcec095015afdca48a24995f932ab45835a9e2491771afff8befc5f9fe62a5fedc5d681249c1922960d1240a1148b80d80a801104a649f5106272082a690b3e694d3ddda2bf4842b04295a15a8bb0e57c991dcdda3c71885ac9831c6185360afe4f82b4959934a9a4a858ada7da20402b33c120941116394f88918a38cb1e618638cb23fb57a568c3519a78590c8597e444230689d6ce04e8e442736709a1f9113203ac81f4eb6861e40d28007329422e91649c6f763c854a76df5cc0b9222d433ab1a9174d0c0118cea1094d8c6220893978cc5eb08cb5714299934802d199d7091b159db8ff696526cb188d9505c5c07230f2069c0034c9c2cc9f1a50caa2198454cd94aa7492312132b90daa626d1042647485512fdb08435854a4c8e8024c797f2959b4a08888280884c8c8024c61f42415784543e602ab054301fd7a334ab919a752485872321f9ccce7b2c563f05de1534c69f346a3b52d2778fb2e353267ddaf0bb9fbf7ddc994a2b40f5bb0844bbe80352bf2247ac2d26c4bf81ca3865b7abdde52e8faee88aae285dd2255dd225a76bbaa66bbaa66b521775511775511775d1eaaaaeeaaaaeeaaaaeeaaad6655dd6655dd6655dd6655d16f36e4d076a59165b7fcca2a6d33aee53d389316a3a524a59359d39e7d47428a594d29a619acefca1a4a44449bd2c4a6eddddad5b8fc9a06473cee9b3e53bd71fdb63776cef19234d6b1271775e863f7ecc1ff047aba544c90f23467ecc1f4a4a4a94e8cc1f2708e1121736053a272a51428198136bd6dc0b027c7243a72471a154855ac9fd5d6c5520b93f0635ab63907d391486e476779d097457213f72477a32c09fd295b458427e6fadd8fc5f0ccaaa50b6b2d6c87de472f86c7ee34a6fc6bf5f506a14477a33fe0ee02fb9298ef458d3919e0c7f1b69e4a0c0d0f915d9425ce46247f299f913fb514ddbd05aad94b54a59250d1084213aa66939c7c5296b720c9a3967a479c08be23d24cffa5a2b3696511184b5bebbad555649e9f49997109f73c621d54f5bdc17a37b317a3a5bfc1984ada34934697a04d2436cdd266413d2ac2803c94520cd8a5d9019859a15ff02db4f969693a961fffec5dd662db7d9fbdb16835c9b00a5c2d6dd57c43bc4a03c6f50cf8e413947646ab87332353c5bf2990c8d25cd8a9f09913dc4d665423221cd8a2d83adbbaffbba433e43a9b0753713f2ba56ba4c89561694a38f1c85720c3284488e31498e325b525fa44df630295bd978ec6c6b714713d49a8ec5f24691e3bf3b94e327352b5e2ea23b8fe3ab846f152c055b4793b24c074d0f9839df5a57cdf7fb3e2f963fee4138cec17cf76327a77a9a9654a9e4ab54d2ce0eded7f4293fc352b02571e163abe4f8b2e53fe7d47c6ca6f975d7747a74b4b28f0da21544abe5637dac0b8ecdf2b1add88aad206a0b2688cdc7fa5815ee7c6c863b1f5b5b59f5596cc5968f671fdb0a22b67c66bead20b620b68e042d1f9bef773eb6d56a4dea63b33fcd8e3b02c59616b60ef5b2f6af8e7c71673fb680d8646adccf3ebb381524b622909c73ce297455128b4059c5e588b97bc112857af94daddbb6eac1e669456a3ad99cdacefc1ec7fed2c2147d7397f44cfc2851a64ce1820bafe2556614b2d2ac28747af9915b714ff2d7d19cef5c846f5f2f89bede6261e3912fe743ad86cc922ab5cdd756dbd848abb4cd7c79e7547fa794ada7334d7a32ae51b3e27d12a493b23908786e949b596bed75f92833189895e4308ee7d4e3b47415b7faa7a9542fdf6a9a7da9925685bb9fac7acbcd9f79cd5899d34e1cb7a9a9332ff78225173d6f6969a9351b6064f8b0071725190091934c64e77c3a0320dbe88fef1c8f6b34608d9b89964882bb7e87d13e37bfff91b0a570fbef8d1772bec10759e2136072403e84e07f721eee39e51e8accbf314a9e1cd01b9255a8995ac893037acf8f7b5bc893f341871f577ac3f8e47c1d613451f9103e8e5fc93da0677484079a7be8dc811cb08b7c6546e53dd4c18cb6f7ae6145d85e94081b42af304cdd08f2c3b04a7eda832c116f04c88e57cd52e2fa3b875171b375351305a992fbb3d5aa592fa8d8e0bf17c17d07d8e27f0c960e1e400288cc41b2041752a6466c65cf3946539c83c2f79916facc7ed9723346dbe4f09950b30193907be0520f8c4cff56aeebdc1d7cdcc41dfc47f17b348d270df82e011cffa7d1f0fb6de35fb31c74188a3931b2b61ca44d7c44470065f933fac673de932c6b64a8ecffeb1a047e7ed0fdd806fc7ed136f4655e4591464c91e9bf0c9f834f3b78056e61d536f2376d67472bf716207025d3874b79feebe0d2eb567ef3044c283d6c8aed110d819467e699f145e0e707f93d9a8721dc99df2fff3eeee5c933dfc3f770371fe33aec69605d37ff3dfccbf13c1af41f51114632ade161a8e5e0e11919011244be362cdec1f29c534a196374f7ee3c351a1a0d0ca30133f52a351d4a03c352a3817132369e92e0619efa3d3a72e7b9d64cbbf9b07fc6fc888658f29e8cfaf20a2a537e4431f881288895575fbc06ee4bddd5cb507bf8f086fba040258816104208c29524729ef6ae141bcd8f680a4a32cc365bf73140c74186ff545e197e8c191086e0de97fd78cc43ea19b48a1684b8734bb2c9da43043430020f2528b8b8c244ce641205c534e03c603259423a1321deebd6c83864ce99c38d1b6afc06a749131f0ef1d00d2a784013ae29a800085bf0818714660e379ae5a9afd58a19e4aec62b31c4d031ac7ef5a8192e30dfbd883262d67d06c5655036d4643dfa0fd650c8f264909be9519f7af327ea854fefd0eff154dfbce8194fb5cd8b6675bfd89e0c10773fb9e54d5c17239b369f9e512ff29ca89faf3de5eed574b4cb7daa59f4ad46c3cb28abedb0b0605aafa6d3f250a3617ad5ea4d31b2ea05ef1023abae7d51bd28e2f2542bb22346ce91148ed1aced36b1e58826140a85bbf9d953eeb27030b7ccd72acbe96233d3c9e84bbde7f83db0255a1e2075b126773866b4c72e62845129768c1831da46fac39e1d397e4c0fccb1fe48c801ff17a36b24b91ffb4ca2b2ffecb16b2f46423a3a32322a2aba5dcd0cccbed5765ef8ec576df3fe452e5ebcd84554ca6278d3f6cf512cffbcc5e5ef85417e0387625e5430ff5c86f5abbf774a29e57c059072ce2ab933c067b2009847d2c42ee00cf3b302c8a732decac05dbfacbacf322b1834278e1973621fb98856725765adefd3f94a1abba805a0a6efb2296b0c43438a8cba9a6cbf7b53684c3cf2b1ad4148488e8c187510f9d5867c4a430d807d208c07c0e318039879d68b5c7432be7e179532f62fbcf019e6f23304104000b6e76058186460037c1777b2e7b932de66f76ea8fb2cf75b2e8601bb3ce40c80bbc8c39443a494524e6cebd370f00bf0c20b2e7c6b2adcad520f83bb97c11d6b85bb9a21bf7101c3d70cee6a58b8ab79815903c01d2b853f06eefe84571a7e9ccdc961168cc21bbdb40b3843addd96ed2adbeeb3ed58d9d6e4fbb64f2b1c3370ccc031a361bda68fa1d66d5bad585d4dce6a90d94fdc418abb98332c33bf3e6633494d5b0c35352cd6ff6a055fb6b3af3870cca8c998e9a7b6239fc7da90d9af75db56abee67e4ec376c92b8a3d8c72ee00c1927f39c7966314f48294dc016f32e3217b2683862e8b07cf6f631cefe4dc0966a16b6c2326badc52c8e1819e65b58fedeb7d6da96bf9c8f844f9aeeabde854675e1b32e866c2beac56ff65de062f099fe175c8a3b698fc23276c31d4cb3ecb770f657b87b43f65d38fb2aae265bdc655f3f06bf7975d5adba67d5c81939f3dfc13afbf5fd7ff2c41ec77f32d60584a1be89eb62aeabf72f761195f2aa59b5636512c0d6eac97039bae506326586793228e0c9e8ece6c027c61cb3cb797ef196eba06635d0e53abf689b9e37498cab83a0b6691c35d936207edba16a8a6101a99c99526d837d7ba0da7b2bb683ad832ff8aadf7feb434d479ade7219977a62b3df65f6efc53dc47cfbbe89c3914a693bf631a664ebe00bbefc4687c9529b05b325b6fb5db68353754e5311edb38f6d5324e8737c6ea6ed6c36f761500e426d73314ebb40a9bff7569b4396e590653964f73321f5729d670c65bfba6428cc535141d4a717d582bbce36bb32ebb86ecb3f3aec6317cb170ae199ffb2bdf57fe4675907857a3ca33e6a36ccbf2fbf9b6f2dae36f3e96e6269516f7107ad949d8fa3ee7716c397c36ab86f7157e3befdfbf673681becb387417006fb19c6ac75f90e0a650ca5ed64a84f65980bc66e0afb1376b17bb139546bad28fb3008c220bf85333dcbc63d8b73d0aca53eddbd28d9fefdecb1b741589c619efbf42d26edcb8f8f3dd46ac8ec578c719d8fcbd4a63883f29d8fcf04d00450dcf9b8a9f369176d075369366419c3eccfcf01062174efbdf5a1d075c9b097990c0ef1b5a7407c0dff64cb7535db2be9d7fb8eb2f5f14cb9961d1dfb3ec08a1d165077e2cbc42142ada78474c353f1a15147d86a5a0551c5b9a2350e0d0f684cc3118aa46ca5ee7ef292b2060a2a719080b455b74f92d078b2a4675eeeeeeebed12c96fc1b7e331ffec3f19b896ff8606fe078c3c8c89dd0210774736f06063c18e0370a7cbedc18d7342b0a0d234cf161a940426e4c43b3e05b2e6ada6646e3f8d08b8cd36fc8c8039c4fe7220ec871fc718b88fd1a718bd8e0cb586394a948e37b31ce188bc8f85229d48b9543eab56f0d36f8d93f8ceb1def900dbe4b0c638c66bd8fd163f418e3ab31c6181f96c5185f8cb1058a2456248127c8cfe77ca8d970036f1e5050cd916f5b3932524a652a3ee5c85a292e22dfcb91c3acd8e0cf7884c20a22cfdda57ceed7a584eeee1ebd637477f79975775f9a39cc346b77f7f66eafddedddfe64842f56bc6f081f84104208a34df4d73348e8324a196bb3bab8b1a78cdd7bfd5e479be8b26768f85ef7e90e69d80d21edf183569ef1893995307d11b92111e70d19e31ce2314a49c51052def0a464f85d002615409c65b405153fd81ac000800b2f646260562f2a17540bcb763269d9c52c9dd21bbe1a638c314288719a879f1c65e8870f1bb69be443aea3b3fefb3a791e524d87e219343cadc67c883b9ec813a1167f723460865afcfa64c06ff83f144625dcd7f9c5682f13221cd1024a163eb0c024c79f903ac0a458c146415b010d9716476a70842b2ca1c8658424987a44710224241d3470ca8f68085798436c109a1bd7081de60990205c42c66196b1f111fbc0dc4351cb5621cb8f352527c552984d94d0e48a1bb309146735c9c2da7f2fffe9470c7b0fc3dec3b0fa287d8f6af4c5dbb24c4a2965b4892ea594524a0921c4f5c9870faf8410c2680325acdf41085f0e586b84efe16b56c32cbb256c09e18b0ddf25284611c4dc659345939f6f3ed3ab664da0024b403f1841084d60222427e2b9da5a8a267e0025480fa12735d88112210884ad7bc0821378108557510b8b9cde41ce61c5d883dc9f5af9cdcf132d3822051d0801a8084472dc89dccff2417e33da26b2fc26d368f0607b2dd444b6a940e8fbf02632fd0d0947201d3194b3fc9a1c91c4894a840804053d5a8c648010852770a1c404273049f283def01fd7882888780aa29041f61b842c18bd2e7c2012258917207942480740f4e007510f8478cd7a1fa0d5560bfd1f0facf0400a10428b097177c7ee4b0ea494f2662a21504a69a6112d4982b5d66a26a2255bdc7bafe9a469da695b22852d3b9d4e276de79fe68f68898f4cb4640b79b545e1d67af31cf36c335840ae0cf6d85facc7bfa3d57fcef914b373621e2ac53d53421ef179e0cdebea63f8951f24a07082054a94903801163c07b9db842eb604036ced509300cc59d74c88b1266c6d45f57181252ca14a122194dc00092ca414418a15989420d8254a48212293d202547e4459b8800a1660c213a00cd1c411243e9c095971b07db7e83b4df627c3134f727d3bb4b3e5cc8bda26b27cdd6ad56af0283a169c7951b3fc7b389d3823a328495ea5e5230811244b8a9e747e49a0b66998318fa24b79d1f52d3ad93a1ff2a15b39f3a3fd1d1536b411450d1b9e4892fbe9c53d306736bc7b81bd68d52c8f4e6a0d3dc02c351bb6fcb0ef940fce9c7953b792d65aff56ca75eef779cf3a334afd4aae2fbdc862daed3801e51a05b972beb4945bdbe956a64b19eea817b5cdc55d77f700ab156a349ec53d70a8e21c2fa299e7f850db44f15ee452a87fdab52b58585854315bc7c4b0a8522eb8908a49b9f0ddf2dbf6f65b5c8879fba91893c9c5f42ccf6332bdbc9f99708f0b2e0244cb632d2d8f612dd88be7b1ea2a0fec5f9e47cba37eb670efcdc4c43ce5bacf31df5cb7e51896cf5a9905cbcf7ef5e285db56d6d23f7dd4744c8f8366ed4d0fa1cbabbeabdd56a5cb772c130c0bd7c3f232a618199618530ccccbea6585fd4b0af53cb637e3f2d8f368717994caa5bfe54d2c767bcbf2a74f71d567fa51dce62ca7c738faa7b718723db8efe89fdee1b46e47ddbed4b08fdcda3d033f082a60c0a8d8b2d7ff3de17ef8cdd51fc0474452bed072d8f3d8bff36e5bc831ab9af65d3953cc4ea7774da7d6c6454e6f92d91b9a55a8a159e59e16f23c3d4e3f093b9ab217257b3f8ecbe7a97fbfabff3ede776d07feedfaf56b8d6ae2b4ce4cdca3926fcc4c9c76d2fe4e0d33c28ab0698fd3dadf17678ca91b41ee6ce25e95ace11c6d7a9f99b3bf188735a6993eeb1c19c65d9835ee8191319a65af713458f7de72ef6b077fe2ad5912e788573be04fd6158bfb9e0c5d8d0d967b7c46bcc39b4bc811f7f8d2ed6ab7235bbc43c55d7d1c3f4c28e58977784e8470a723c787f59f931fb9e222f277e40ec78f906c776000d0509e3b3c2742797e57825c2ddee14dc913df30e20318ac80a2124124bfc88f8888a07c3b9b5c111def77fc08c9a12d55164cf8b0452b3e2cd2cae1138237251769c1600514ad1e1800344482d6732294f3be2b419e5f04056f4a0ec5ad3725e7611def77ec408411579cc04aab9523710ba8d59a21c81e7180c10a264b392c5a6451832b3e2c2de5d090cade7212dd7e77b2f1cc2740ee26863e9af59a3049e263034f861c35b9c8fb9fd78487ff1e8e18a8878c9cf841a81c1f6d93cafe319994adc391a18fc70420ec68d3f17ef3999f9c5705213b28620748905af1062b40020547f42007a8878c1cf841a89c07d4a373e4073520a801393a8edc005fc78d8875e040ace37d68e859e107211489021636d0c208392fe7fd0831450f882082c9510ea890f372de7735377cab9503df47db1020bb10f4684406b4703129b6361191e475d8302936f85d76d2dcd4820fab740260ab095c02892a19daa08fc813892979bee3400a587120c50d8cb83fd56cc025f2fc9904161e511247788019fec33cee5c0ef864f4fbd4dcf3961e511247f29cef0d6bf0ca8febf1a5a50cfdc980fe888820c1461f91e7cf7f44449090e5f7fcd66cc4ffc6f0650f35bf772222405c4f8d187c502a009424b9e3e18a26ae16b9f34981125644e4cec748115aee7c9490457edfb3832911917bded2d295fcbec706963b11b0408afcde06973b11e4e0881ab5d57a3f8d80b26422fb1240328c0c715025c3c8fdf7d403b3b441840449ee8ff147c6866482477ee7e21f3f9ffea894ad3695410ad5cc48004001000315002020180c8984029158240f1455d81e14800b8d9c4e684a96c8e228c841100419658c31c41040880186009921a25901befe17bed8664b303bf6b04454b65200c1d66110601c3055eac4edcd938b8942bc5d5214e1bdcf938bc0d8f1f6efb63560febb7561930f4905afa8aa642fcee429c2904a0ccf563396cb4de73d1b3002bca095cfc072ad3d5ee9244523dce905ddf4c8f07190be798ebe166b9800fe5adacedd80005fb0837aa2acd5640c2b3f51591e4731eafeabcb4b224aec746ee0854b8ac465c69c73c91881fe75552e17e7f7ce148afabf90c964b1967fce0a50277bbaed6a8bceabe01fa8b6ec2f231005a64bc5a169de8851e0c9895858dcc19c3ee7cc20ac4ed72429c284c48165d68bc4f4b873422651ee2a3b0ef49ea6d327ee0613154a0b1f27322ba0ef2c99cbfa58a06186c0c2bb831382414b8007ec5dd0525beeaf2aa31bcb1378e1fd7ff8b1b89e58435e0e6bb3a0d202412fd2878a89b1ca9e90ff220f1cc485f312cdf4d4ca4488ac5cb46e7f956a434f4f46f2b58029a1edc5d68c5aff4081b578a6490e90bc379300b062b3d20148ad477d1c00587283c44b39202d45b864600fd9d8200bcf0329b9ef8e2e830cf6350edf5bd6d413d4587254e5f0c6c61b50ca37c0f12f07d507d3e9605296d40d881a8fea6e5decdcb7819cf29f77e098ba8c1b10a83a0f1a1d04b3ec1e9ff7f78c55b763ccb17783e4c704ba8a01a13015f40dd1977fbda1edb8e3675eab4008cfc268c2eac851a0edcf68608e8a7762b8057415afebd6d478e335cf539ec065a25772584a9fd4aae003b55437e7c70c8e5cacb4bbf27b7ca14e8bf7d9e2e63cec861797aa16d4dea1fa5e09c0161d66c67e03471ee70652b86d4f97b3c19020855307229d4ec7aa5a7763c060c18acf11cf1eb8f60ffc0dc0f98ff98a8b30dce72700d9a41713135d286d159e7580283036b44f854405b531c138f5345b246b7be615154b02119a97da0c3752f6b648fb2bc82de7dfba97ce546f5ceeb934e44839bbec152d1c98f953db52cd7b3168432253defa7c934ddfb712733cf43540479805c92bfc65c18e842637d137675232f4d363c58f13388e2d514021c34d6639fb821ff75dc2dc334b90786ca67f884095b07bfa8e76b0a9172c79c4eefc0f526678524574aa9bf9b392eb9884321ed51d902ffd86454a84d07d96908fb462e1667892768eb6ecfa301765c7b0f2348da8fd1c97185842a15ef4169bd1f209be72328c4446a1542b1550a73338e188bd1ec8815d2529eda4b057d9cd477d1e741f6793dd8286690814f4462b927d5cec2d9b1c65d0ab89d3f5747d4fa9bb8f24987912484ca20b107450cba02b30a803033a10181a4a9407861770fb305d9b1f4394dbaad94c296f97beede0ff8bcee9d525726effd20be56fc20f7441a27844fedb224ac40aa6e91122d0a428ca2fd5f4f0cfa4ec472d1fc8c86650588830f7f8e0b2e491b2fb7710ae77a363a53fdd1c1f14fa10a0170bb4238e88d1e97080213ea0053d4b7a167b2df5b0ecb5d8d3528f654f8bbd967a59f658ec65a9d7b287c51e4bbd2d7b2cf6b6d46bd9d3628fa55e963d167b58eab1ec69f1bd5107b73371681d1ee4608957b15abb7d24a86ecdd8d2ad6e77cb0d6c137502081eac2ac0f2f16f408d7afa632d1d4b4058bc6b8216c1649604351b8db61d95065eae82da1234b4b5eea8e0de0fc3916d0f1f30b2a7d6fab4aa27fc972b8cf3bafbaf2b0dba6359348b761d736183285937b729d4b60be20114ece682e995483b6fc6a546e550fd2f5a5ab079db2784eab159ed3b1c344a5ea3425ac7310fb201d9b7e19277394b94449d50aa2ed1080f15d5b36e06d07f00e9d2d85436ada236e3c259c81476d9c3aaeb2620fc915b4a0c1aff6114f325aadbe0f0c3e8b10081b10f23a6a270f27f9a4689e5067c606eb99ce2dfbc01988f8c6f89047ea77bb98fd31125d96c6514a2fc2ac3a412a38d953d7220bcdf4f0b86d584943843d86b6b21fa15a5432512e5906c71896669bfe515c7decfc653e5dd323d76facd729f56d62c6ab02ba14b19b338a4d3ca12aa12ba76054d89099350554a6ac76159ae4919c659dc7f5b35288f4b5795b3649e819b71d1750ab5061826193b947bdfec9249a384518ea2223494f9cb5db71e6ad5a2e619b05dd4ed21ed73f38c2c536f9dc5c31f542e06042cd276526e84663489aca05f6ee1fe584f123657b78320801f8298fa854798822791cdff2fd642b5385b640502a17bbc73211f2c6e0a2ddfeb12732be852dd27371c83f04d39061ae571d9aede9acde03da59576b527276959e9470ed1409222670bc4e324b25b0efc1e30dd615914afad6c815437feeaae6a444965275982918ce17de37ae3f4d496c32fe0abc861ea72650d5c76776f6eab84c8e73d13a715502a1d9d278c97d158bf9fdd0dadf6f89ec2ea6948f1cdd5133614620f7635e2583639ffcc2540034b95d3f3d08c7f7cb217247b24452447a91d2bc98997605bd0a301ad4752ffa9c749345f75d6e17a3fb76584f3dc3bc345f74798ff5a37768d653a4a328177bca333a97373ce101421f2d60c523a6aee351aba27944cbfca60fc37d73c1810cf82df6cacda892966bef99e7ec49aa60b4f72c3e8fff009f4b9c0d2c1405dc6de8e0a4b23f1c298f6c482e8d08d82ab40069d2344a26f6b0c6517e6eb43887db0d5d923070e9376668632b2b8ba476025fc6ea9152ebaadb8f625e5d0000f901b0c415cc47b9ddc5193e9ae6412055f0d15c9688312b807b7daa8bf8a6251e5138b121facca49d7114aaa2a656caea2376948a95ac1c13662b0632758cbf109721cac9167d3e9818f38c78b7f997abe7f9caed590828513ed5871cb63caeb0a0ad24247f0da2ceb1595c0efad164d4ff8ceab7c94cf40235122f5fc5365f046e220dde772859f36d54a19e7dc39a9d71fca8df219613dd1b35105c694959cb9de2c719ac10f2fe37135d7440919f7ea1fb8382940d516cc83fa64a067ae92e6c819ae2c3d2c40cd388a7579f5bae24be593ae50d9918e62b7cb123a0e81773ba7053b6ff008ee407baa398ddab51b1e6bc632111cda69d637bb2d8811d3922f9c1e7c74853ce911b13f38261c11e23778f33968793905673ca58b835494f9ae69ed83b97a65a66eb8bbc466d0c374efce3b1b50c6028001e5a28a59d7fef5db61c544fe35d9f9487c554a28636584988b0f87fb3750270584c8e073ffaa50a7d032f0f21a95b9a26276e68ec0dd80ece03e47c2588d02e84f088a9c4dd36613f9cea2cd096f4f965199dc33c04c67022090f4137d8f20132fe1e118142193876f31ada484b8758559784cdcc21878aec1faae76f431ba8a0bf16640f8568dd9d35d3e7bb8057cce4ef793c64a015f71aa62463b5c061b1f239dbf2eab90b8e326937cfbe0ca660e2299b33f4cb56d56ddecd66c811e6e7df8c5925b20376871a6c3654dbfb43bf4a6e56f71dbacaa7427754f4e2f76a3db480b092e15aff9ed222e11f0580c7e78a024dc20db8141929059e4f248c4d501fe795ed0d92a8ef4debf71655c90ab867f8e1260941ddf210151ae6bc2c938eb261781ee71d051e061dee8781d1f7ec39490d1b1ccaa4126d475595fc4814db19fcf42c2f0a5cd3b2b7e5b96a7718c10bc3ee9a934f0b6d8cdc620108827342d19f01bfa72c291f4b09aae51040af4c584869a358f5c2b6c4e8b1061c815307bf8e99f9c3608f6892dc884e2856696e8907170acd83e375c19531e0b80132258e2ee024fcc3915ae8cf3bfb600187bc060397770b121fece89008b70900181de702d85c271b14b56296366923e48b0fd28fa12ca74558044b0847629e385dfd63c63eddb39e8ef8cdf053fbfdc8d44b45172579201dda3400779bf4d50244d7f5eb9e3b6934d94b7b8d4c64a2b24ea1a1ba488a0f528eb53679179df720d50ddb9b7a7198d5afa2192adfb111fb33960252f8382414526c8b91c74fd884a2be13f785acff2f4949148cf0672206b5917c5a3a869632d94f7b23a06ce091e250e981b0cb92b6bb10f2432bfa271cd56dc65f230d6a207087eb76e656c25bb1d28d67bef3a9a273e941796e9a423c16350289d9d1b2ecf54ccd83ce282d08a84c5dfc59fa8420e02894e00ba7c20fdd591d3908e00c078aa15c84e0fce88e17992c1bf83fca4a5daa207481e0f6bd6817129c01fc06e7c4686d935c20bd23612206cf6b22898064f32b5c13379e125d93478eede3c498ff24950192d28b8a0679791e85603d001af8fd218b0f3232e75825c802e62b0acb4caae7edbc3284cb6c4324345dd22d54d527333ba17b915dd83702394972dbdf780ba0e97a7093db2dd8b8966c5de092eccb100f5d0cd97838ef6f45d7aa9b3c62d802458675a97f03c916c5506438270b60097a6e1394c82f8545d9027322e84355e6421201755b7c166c23577f4ca213086781a97347dd36894261b664106115973c0090b6647a1b60e34deae30d4b1d45688d533f083cd56d6726df1fcbea64b29a847425ae379d55412e520096060459b9e9f241f50365691b0aef80c4b0f30cd08aa7aa4b4fbb06c449834e344c7f7b57c46157b5a3684be07cb8e43ff2635179c9caabe26234efa30e32feedf46c926b0cbcf6f4d749c46788351735635780aac12a78f11a0ac25e1f81223b5812fd7b7a9f71f5eb07960266ec1c1e521af799814b86e08bb09fafa8201781c71a5e03d1b4b933e4f717864a75037f21c57490d8fd3b5ee6895e83050f0cd8aed4817f3c0c7cb6408166c474e8892ed7c78baff6d7199dd39ca8fb8f8af6e49fcda51c42eb455045d5c8dccafec8b048105db51d61d6d458d3a6a7ebf343ee595e25a58f6224f50bcdd49e38fcee5a20837374f5a9187f0087aae3a0eeba2befd133cb4225b32ac7037002d10ebd87223122c8a0824105920008f26df76cc4894814b390531384873d78eee4fec7bb3902584cb1f39e2b369b370dabc0a3ec9fc7f7693ae98b46c241fed57d89ec029bc804d03dc8213bf04a893cd6ade3a6a14cedfaf7847696d811206d91836a528500005a8eba1c79e7d66fa4e013d5b9e48412fe57c48abbfadc2323fea96dd5f2e37591d772862ffd7b70a46211a330f2a2d502ac9d4e726e95227fcec96f76133447bc1573a57ef13b01a3ea1832cd752a797ed73b5170fc07dd9e81a83b52ec7a32ac277c3ee2ffa66662a7dd3f13824ae66b52ffb0a0059c4db117d1c6af4071c305d2e659286bb3dcd40c1b4b8898086509b2f80a7b17b8c7c2fc128d2f7b512b427a2776bf648a3c8a3d3cd3535cb24f9ba8a3748631d39b6eaa5f0f6dfc657affcc82c8ad64a1389daaa9a886878261c73bcfc5b531e769122a7431e484bb5c6b7bfe41b3fc01b51b7ac7c9055a606fae794dc1b3031cc60103ee3719fc3f90d6fc5856fe0ed494ca62b0cc1fc96bdbf3432c691c820d64dde5def8df07f46fb015b95b60d3672451bca631ca12790a4b26b2c8509ebcc404fa22df38a79618715ff4379fb0791e63c4d0ef40f196d4c9428ff58448f23e4586dd669f57f2319bcfbbafe2cc5b588add7744088faa9a29312734bd7560379ba84a9c475c59c4b93a3b3b17504b786db309fe631b28cbe67f1bd15c610dcae80b91b2804fab77ec92e0095f63eccd18692103ed4f1ea34f11a18b97552bd1b2da93ddb00f12b3d41ebda4db081c399f3a762f43d0d4d869c4a2bc8a2f411b6bc626cee39ad730a61203e571ceb1a0ccf79692d0e89647c8a71646b2084e263578ec0ec1c5e4ad84b3440e2a180c8828d0c28bce68dbf265a6703e0bdcb0f4acdbe337707dea6abefc1ed1df212d066a74a1cbb9625a3b63de13d9ce7e0ef023fb728d90afe126b94dbb21371a651b12506e35ccacbc04f3567686f7d3249808717786a022ba35091cbc2a64e06dc30a7bb9d8dc1dba17338c3905e750887e3b27612e8131322039869f92473c840da1c3d5347281a0d243a585d9b2e69901cf3bcd014622553632ee72e4a3a4c71ac79f45b16c6d3a94395516115eecd8778eee04e589c7110dc388bbb1269612df70d1b67197d35182f2552e17c607883c223a5faefa0c40e6dfef02d6ecb42db70b75dc06be43a82f8614bcf35c343ab72453230afee5171b4a293c1d1f07b663c955367822953f0f165cf8af69e85434007d6d566977bb58b39683463fff54e271290ebb390a0d00e42f23159d07fe3898deabe5169fde516ba6f5a6a0a2db95ab4e48e2a08f95e585c47008aa314bde22ab6a8ccf9ff175b7431bccfb23c8b5b1a25d8ccbc0538bf91b8d0736b0bbe6402b986019208a95ed984740000db553e9beb5b3d0f616cd56889f5edc38851c3cf1d030702a3b51770041febf5856ec8b55e948c9d89912fea869acded49883614737cdbacca9192b8d567293c8cd45871ff4003423f28d9d4734c9b7e859feb9a61a68cbbf098d9d19a9e5aa77a2571dd0870739fb8b928439ffa83cba38693595e9e23c623ec84bfb1ce527a51cb6f4d4a915d63dcdd10a078d2f7702e45926807ce36d6c2b99e623ba1aad39e0d142c4df69e51e79a6fb4c93add8b37ed335a5ff74e6f1df735f39921756a2d1568e9ae153c1df1c04cd4199b7dd3798bcc4d8f4d599ad5b4c855e74aac3a72e911608ff6f6c0a6708bf1c4ecd1dfc660f99fdc382da3a6cff8dc828e3cfc34c127fceb22569da34d81db596691ab49f56d23b8ab25a482e440ab3951b085262df15a6d100a47feb75a647364e762c0edecfac3cf522275e88fb340765cdcffa5c4580efc910a429726790abbff2308f0b2274f641afd14057818c0ab7e1c5630af1168f74f3e599359f676a0d28ab788a53e05917945a0f7bc878d82a9eb124e1c1a8610c964d653fd065670795417a58ab5e39ad00c74bbe237730bc3ef1f7565377a6d0d8be93b53ba8ead23f01f61b5524bfacd5240e4a26f80f680cf814ba0c04a8ea827c129c71bec76f2e447a7590f60dc01fa1ff9655f132153d7723142d7093729847543acf9c9f4bd8728554f5e1939ff39c2471a99a66868483aba3a7f520e36b76ae244edcf7ee39ded61711459cd848ae084048b4769497ddd21e8acf08478499ce4338349d53deb59fc9951f0c5b7f8d58fd5802dde44a2158645bbee3a7c1a7db1090c7aa613054973a0c76524086c20f83c720aa1c9d0accbf374878b5e19f46805fa50c98cd73aab6e60ef13e6792e93c790dac95998d9f0a7a24d7d20b75abefc985c7af061636f5817b3ad8798708982c4261b038a69796917df18eadefb7fa833ee54d647cf070b936b7622b943e28cea5da3f8c155dd7658c89e63cfbeeca83504e9b447993c1eb1290f5554fb98b7fd1e171b2c891859c3dacb2768c1fd71a9ed975f198bc299bd0d52b6425afb03f728684de6c9a1bb0af930c69b7930b4e03ed2c7451c945d239f450b865d539cba16a5fa01a0f7b91e671073d7d3c7d928062086872067b40a0b8e807462cf5fcd8fe4d9a2314acdd43b73424d9e7bd4df57cf1043a50045facb3ff20a2bb63c4f308a8e80446ef098dccb09df565b36c8a50e6ea6947e7b0ddbc9aa95228831eef3b408010ecb4b9f720449544a62f83b42a7191414596c00a60374a86624a59a2967b284d30890a6b3f8026ee05767da722b37436b9f31cd2abb85d8b6233a4d36d5dbfaedeefce84c300a8aa34067b04bff852862ede6cf6cdc96e1b4e08c9f5fa3c1dfac501b62f371d0bd84dace88a1b8b7579a55b95260e244f26eb0df243c578debdf7228c90d5ada0ad043e94bc830691257cec95d96b8bae210b201978047da545d4e83677ce6164e5d0240c14c25b329d2452ff110cb49ca889ed0797b4302afd3f3eb2124a8b0d0e9d79ba629c10c3fbedf183929345767f8abd1b1c215e27986301aa0a015584d81b87bc1c02a8816908346440622c03c8469cb2835b08abd92401e4ce495990d450323d9e7a67f159e077fab958cf7509733953428b135d1db87b3290f167e203a7a9b3488c6fede80377aa6db54012363262827c43a909b9ee82b156e1393e973b2fd2cf31e6f577065852ed527ec6aa57032fe8107a608c505b9c09fa923ea74a4fd2372e59edc32fcd02ba9c719d7496dd00045d19f23d383e5b67cd4676dd4a0f1161e5ba2bc659ad700343c456e9aafc247ed057084995e546f81dcc694bd7b15bb74c565659134b8acec128139e0162a23fe16ba38eaf12cb895882e0527d8d25cbb89454499b743e0cd8dd56c29780a9e8e65c097f7c300f73b4c6c55afff06d893adae4c064d9f061fba666eb9a1a91823a17900e597514fba91d87b14ea5819d7981568335a6b00bd4d9e2e2abf80653c43a1077d33bf75abae8b80976268c08ec43e26a22350ef1e77f305ab10295d1f45293b040714c6f9e9d168042ed766239cfa06d4229a0f8b0da88333640c823e02904a7e86aa3ae1711385327d63eef15b2bfa39446427aa75711ec9420b04c99d6ff989f1a01af473fd9f4802a6509376bc78b5f8ae7cfaa9dcee37d8afae90ee1e64f8e87f8108248807fca161915096d028b2205b62e732867ccfd9fd7b5364580bf057579f58d268d7fe3e872d5ba725f412eae0aad16a4ce71db3122aa09633255c0ce2d501be014fcce96305cc7d85659315f19a5a15ed72c0bc14f694413fcc9eddd3650a9121450c223f918d5f29ffcfa0a0b9fdff73fe12ab214a1d44e797b073c073303b80801db3c5a780401b76928fa42e4f6bc1413051b96c246c1f77f42362c8d477c55884c51bb1cbdbfb5f32bcc0a2fd6cef6498a5e407acee1df8cdfb2eacdf439297bb22a41049ebbb8d8a468d1a07bd0b8400605915e3a81951681be5202be06d03006b4c1e32c19fdd3796394d28256b01d27e750d414c070d50429996cbb9b0f2378f0c3729c43d2ab9f8a6c4a7abc71c6e15e2ba8f23f4ff80dd3982ddaf7eb5639063ca968dcf5291f3607abb3d0136bada81db5d07f6e910b1a0f573e2667bf0689f585a8b2a1373d3e905006f4f625fb141d3ff7ee49ddb4ca2eba4df8d1cd84e92640b5f5d1824d766dcae3dbebeebaa53a860f46907c9a405d1f4b34b331cbd23a9e0408773231c5fb285e008c15af5d851ad121265e81641ee7cf309dfc1f9d812a837e990deb2ec7280afdb83e1ecb419318468de91af45f779602ed19d31bf54dc54edd3a201b74d55cae717725910d219762c1dbece89019199af0b5b45bbf2572b9a01ecea248c41d8be47fe1889527d7006fbfd5edaab98f618aa94718e9f5e30c252b3d8c763fa7851fb26a515fe503bab2082cf166bd09f9eee3fe4a4fc572bae4b59cc69eeaff19d8f2be3d962557f34a61bf36c732d938d8a348965027c88f4a1049f6b0ef615e01e718d5d110c563e4d08bc8b8ec319683ab6ea38b70a092d58092480b4c6c0083ba777e3b8fa5b8aa0905787320360ac1994b3c56d32e5548da1344661356a9026bc6c5963b8600b93e46f844e3d331ddefa8106658c735ab4bfde59649046f03a5b63101bfa715224342eb1966be859575d36727e21731ff4672e0a65c1a9dd51fa55b009b787094c0526e45ad8dd0537eed44d5a5e5911126561f3505acaeca5fe8bc05ff5dd33282a51b6c45a2474dba932cf4207437979620d95d6202f751199bcc068a007b4792fbc6602a5cecdf8c76b361586b9354309a7b8796f43a2c8286154b018b29507ff081a721803e9ff495d53c6bd8efcfd64ecd4ca8073bbadfb656ca26d6063f752392d82e0647467ba61559c04da4511235d0134a4bbdb3f52090970f82b4bfe2e851dc48c272d8a235177711a01547b7172e77c22b9e6ccbbbfcb69c968836b6ddab04d4c7ab867d27528c02bc02b197ca10c29b408c780cedddfe25a7bdbb626cccc93296130b36dd2a9e4d20e6c0444d7a41cf43f708bd7cab2142a284030a16b94149ca57ee3cd083f985d504330fa203b0102c8a58bcdf6ff29e4b908d624e111b36f2bf1948a5e41435f172617298ee8aeebfc1bcab668853680a07ca234e9530db93c602d660032096c3d4ec395115703d80aa7376bb7332894b2661166820150a07500d06b810e4dd1bc54d4fa52c98abc02a2f1af6ef6f60e0b8c1159eb2dafd822555204a966674f444cb6a33bb4cbbc75f279aaa159ddc74d57998279513849322558f854a228571c63595fd410dd4c2e396ff30acd55a29a7aba8410851ff3dd8aa6e00c6f994898f13e0340c1e85066c6b909af8ff3f4bc7b658329f5c94df8a33fa46f4b258f7185ae2b4c79a6f24616e3b653ea8b3b23a9e408439c9f2ec30b0db6c015ff66851f9c1ca28db0801019a45e43e1a7dcc6047a063a881037511485ddf2a715a22c7b984ea1e807696f1428f0e83b66349426cabcc33184a32fed7d6633a5ce289b2121f2abfda3bdc2492b1fd5533759a808cee612a7af8da76eaa734f8a394a230a780597b7116866492dc29fb575f121284239ae16cc1f8f9d17e803bf182c1b95b50e6daf96cdd8c84eb394612fdaa77f9efbd84489316445424b48870e0fa7dd295987023faa744828799ea24a8125952ee5c56ffa130ba1d1acbc530f00bc2d7d0f937c9d2639a0f20de8bb195cb9a9bf8655bf6941dd21731d2a3eccde03ef4c704342258f8d61fd2146d8d1ae9c385b89e5371649e70b29a6083b5f77e97137fa28d77b3cadcdbdc8466f5b9486128f11b2b9aacb6f2e944c7149f248058e29e2cae2b51f4c3031daf1f481e4888d5ee12727ea887f903909e124a2e3b236a99b895a1adcb6c32dd77e44576cb200ad5ac73cab9a91647293b8320d0bcbaa53993d35802050e85711c6833454716cd6800ba465773fe775368e1f0e4d4d675dc623a2f9c4654048e6c968024bb909ba9d88a207e55c540f4f08759caa8ef4d1140b865ab2fdd4df1f5b880301b409856e1f9b9b40e65989bcccd889ae019c0b3538fa31b37e90ffbd73f2336a2f1b934aeb24bb7265c3aa411550feb569b0bbceee6e151fe8ac14d63d1202210255ce124402b38c5707d4ab8624b03f118ba0f7d7b639ba34c0c710ed60506fd207ea3f174a80d6141b59900aad3a49a02eef005e3d1b18aa0fce62d83215d63b65c7d474d29c2054c472ba8b64f4818e2a1ff37f5007ae79585c412723be8cf0062164b892b5350f7a69b78d90fd7343ea61e6243b631caabd5a2bafcd43a1f1dd53ff7bdd04b7e248f50076a166af43022e9edeaed7190cfda0c62d4e2f2d7b2eaa81c97875e3d360ccd878421b885670e63686e8bd3dd6d646167e0d05adc4ca4a7f054ad56eb29befd5d49ac607e0c5b5c90f53f7980f495c508c6b26abcd3d7bcd852841a61f62f6c7d2c5c8d0a25e030c8178dbf4ff108b294f8dba8d3ac43ce744bf5465ef8cd05acb3d338eecfc978d68bf225b56082dcf14d6d3a1272200277bdaaed0e738ad6623ffbf399bc1a2636aaf604472b5da12ac8a2ccd1d8d10dca1fd35bb66d54d5aca864d0f313cedc1ea4533f89d08e999f58c48cefd9824907bb3448aed82e0a0d66af03a714652acc1b9d316c97dfcfdb83019737636a0f18464564048bc44c01b9f2df22cbbf533815f4d7b0072897a388a1885047894e0d890ed8b69c4827500b94909a13140f06a522d1fb6138d28944e7c9426c8400056344e2518931630882088378038f769216d806adacf7f5b5ba0dbb86c5b287941544fb1c4b9b64284325dce30f5cbab8207a2730a39c4f99bea100fa6b0506442141a5dc575e6c46ee50fd3faa6feaf51256aa83aa12d3ea5d6b18b8eeb5ef3ac61a56d9d49a0ea690f61369a43c40f006a258dce69f272a944ff8dbc31330d82824f6bffe4774e5284b37e24c43c0942a8b4a6f4f84a9dfc39a580c627154e757942a117a3ee2da5e596ba85c4b13ca4facb7aae347b42a1476e48026c3460b0e30555f7a18aa0189112149ba8d2ac06d3beed6ac14b1356082bd54ee30ef2da80a885c1baf298b258eb85fde12db2d8a730e5775194fd29f50ce0829fe80cde5badb44fc78e1243b080e3285c99cf8259a4ed0e31e1bc5f8c0e7e1c4ce00da5381fda34efa79b5f319e1e422eb87a7ab3123b40a9431cffb925510f3ad30b822f599523bfa3b05bc3add4ecb62aefedf280e588153f16ab1c51c5b2461db5fa2a54644377acdfb35fe29a4350ff07a6de60efb7d9eaedec674eb33fe462c44f4ae7c64f4a31ebc35053c52798134d1ddf23b11e0830536f682b26b0e2a5fe106d7c605a4aa944e9bccf70445c534ca2bfafc4e45a8f87c2c74107d6524abf97855539fb440763b3474dc41021a921649aa0e6d4ae9a6940d249a7d74d589dcb1a56c3bbb7c764830d25790ad40824d5d14bcec9fc951214215edc09f15e8c537c0aef335a97840ff44c198822e7201b5d6af0bd3023665623d82372b8a9f1681acde41c96b1bbbe162ebcc9832663f00a90d4e168f63a514805320fb11da838039e0da71efaee69d87238195a85bea34feff44ade0bbf5ab2e958f5c79612ff73543b88b1bc1181a6cfc10a861acaad688ba65cb68011358355c8442f5bd741155a65b9f0114d0619506650f7240db5d8ba9f11e8e4e0c020953a3d8de7f4fe1c17d2885b30d8242c932db2e9b8e77e8f851403b92500875669cfe6c1c3ba132d2119da06f01f184f182af9109323768ba709c093fd6775f0916660ca304e1e091c95ce699e8b595f67d22d0666951b7f3def22400efed56f5be13b5d4f69cf874eaf9deb21a74d189d8c3cdd0716a676aac7deb23811fbcc8b6e64e1d1bb3f134f2cd6287b659503e30ed4fd0201c96c5b63eaffa14700c09c1f4df2f6341288a2c4cf46d6ed57a89bceb97b5c2a90cd834486d22d7549b69362b5220fd3a4a683575a8c9ec933ec949c636ac909671b415f829e96829c7e17de28acdda2f0fc9d0a5f5eb2d747bc1c3a3928bc89d6bc5b26aa94e6e38691e086b04fa007c451ec095e4afd14e62c5ebb0eb3d5198ba6c383be7260808c157a81861e114172e62485aa5907087f0157822c412f5371886b33174259ca91808523596c43d6a532b4522a28467d22e4337762bf3eab7eef2fc81a28844dde1938790e43b6d4fb6abb2b925cbad02bc2d924a91f55f0e4cb6258355929f5d9743b7da6c71803635c560169a32c401ea5982ff0cf968cc04f28fbeb197d032c002f9eb0c6a615acd6bc595acb9629b160d39a91b096204701a27930177988228a5de902abe7bc297ca41364050206bd7d28db5ae16471521d5ae96aa2553a9d731688193ea817f72be8b5f027ba8bb5e22d3b82a4025d9ad0d38c19edce0605c82c3231d46aac4668ba6ab25a1a0ab59225708139d3c97a7af834000989c038cdc46b2bf5c3725ae45207510ce382a8e5dca4d4f62931d630a38fed2422aa4445f289f9e3291b4ea0ac82b561683db418cd509401fcaa1e54c9970e66ad769899e5a71356fae70abdd8020b93bb9315345fbc8f5d2125200b05f318c260032d80d7b70ba9a57c52632003360cc0cc568dc867d5f34fd767fbcd4975a3bb3163a1a3949c3f4fdfc9d8f419c254caff6887f1ecfdc7dbc255d50c078172085af615c8ec02fc78ed543c8a6d11c7df6a5a789b3f160e470cdb4c0f98daa10402557f9b0f18f6c72fe64b64b40ccf1b9b18824016ae9ee3fd635802c1f5b787ae850b069609b215835c792025dd2d684cb81cdd8f0f378430107e06dad504bd0f4db6865c62ec36c77c8a0754ef6eff8e05a51eea533b0cc373746d62e57ab37474c24ae349b1d5d04d21d7db3a837acf4bd26a3acd4627c6608de559ffa071d2aeb816bd88be564675a5927886a99f12d78ce24ab24765a97bd362253a4b14bdf91d936c22d89aa2a35ed956eb5a702032928a1c537179a7370defab5663eb95f769509bad55cf9fea462d38a00fe9e93ce02c30e311a3778d315723b0b5129073237bdf7aa391172728eb0d906c8bec005fe481d9dd883edc3bd682303f8f8bf832165810ac269a91954ae0af70f2870e66fffe3385b382922cb959cadcb4561439bb6fd0ca65ad9395b042dac0dcd35a700dedad08ccd18fa9e7af5e6c68f6ea563e2b2cab94da6662c065affea0ef9bc6860d91081722db88be575f9c3fc62cff886141be57cf50011b3b769d5baa37130efa09790f6ae3d3263547b5aa107c9641ecc6271369d0b168766dd39107710c46962487867ee3eb86a6b0a627650d37d792e6442c7431305e1a9540d48eed4b115ff26440c459411939cc7ca72cbb23c4d3a9b758b1d82651ef9ad19a1e11cdbe611868a80aaed61bcbceb3537aa764f0013e83808568112539df1f1781c7d548d791ee32b86316eb452767b2b76dfa557530395e142bfb4e6a3369c11b6f29f4a4dfab03d08cd71db1c7fa572821263a804e46e5df07552bbc90e8b0dbc8080cac9539f461e4e22725abcd8d0dde47d181cc5d2758b70165409d6a4063ec10f8993ccb2d80cc1a1aa78a36066e70881132bdd4fc55659290081c773333914cb742994e5bb1844a5f15a0ca7e60e1a6552cc48472625747d94cf90e2c1ca5dbbaf0d9f222adaa19f9610872c5e5c0bda200f93f0cba351060086e777fa516bda136cfc3b5f8c6749b37762424786be44781fe7dfa9751080b9b35f77c5825e5fc82d601452caf9f4cf4b63184f2309b899a906dab2e9d3684c7eff340c2497e2066c667f33946fd42acfb0a7ad50b86a478c84a4fadee0266b0ebfc355fe6173a4eadadfbb4c3ac6aefb8f6d148b04bbfaa425e6102ed899b08197c039af173758456183e39bd4cfcf4a024e2ed65c28a6d05343805b2707c3699436d248795002e0cb8e1740f98796435101d4942ee91b4630ef9eab4535bf940d409358b50b7c27a5994853e0453a447901b4e5ebf8b07521f218d45e13a030f88c1bd13d556701047a2c75ef309256b27bfbdf574d69f8398c1e60a87fb42d4c3e02f1d47a293ab218757434f571bc301aee7374a1bc6052a43f57bf8abd023d9b9acb16604bc576782d500cb2bbef943c1b3fba637945d69bf08274c54a61a4c94c28d5daaf9b7381ea292241a5913c308abd58d990a098590a96cfc2659526d26d72978999685658333170234212dac7c19e2c1bfe06cd6cf7c02e345d69084bf8eba260fd74238d731f2e0b15955dbc048536832d628941f8539a7e527f017249a8803dcfb22cd3b18d119ac09a500c11188c3315945f8d8e54b9939dbb93e35de1fc3beaafe32f5309c2ca480257c260e1fb3b4eb35715e714f754bbe4c00e85a4ead4e1b56fe862d3d1a2680442e71cfaeab24bee392de28b0e5dcbebf502626c91664b3fe9fb3fd919ff616450b3bfd10f263d76ec9e1e14819c8c32ea74e087771f9d8bf72175e4b00ca6e662103e6baa562eb0960918fb6564e1cce393ade63ba2d63c8c85ec87cf8e8346d9337556925bc3b840b8e57867807311bf94697896301574cf5d9af8764016b216f2cffc178a523e19fc7f8b0e05693b5f4ff5d207fa3f3f244e252e52e29317952a7ed7c5740f0d03039b1365c475f50414cb925fcc970726deb5e07d1672190c48de2cf9422279ea53b25512a8b25cc00e44eaedad892a9023b5bb47624f40ee2bf2a5d240c9717f4f797438204d7791b4d2cd35c6711cf8a63bd8da41bf797d8c5e72637c8493a00a6afff135560e9d3fa63d22881ab50f0ff1885f83b18c7e6c53fcb7e0bb32b9b961f1b9cc7b36cddfb41c74ef59ce75caca56acf6bb01452c57d350026a0de3fa3493a9cd41046a43d9773c91e39d9846a40c0f405d1520787b8986eb8796c50eaa30286f57cd45bdcf8ebd861ed92f27b3a2ee7c17ff3fb9bb79c9ea2d173bccb75fadaaf6f7b10e17245c224be26e65afdbfd3a25c5bbf4539cc7a8345a8327180b4ffd5195ac40a14426efc0da5971a6676d5d135cbf2ffd518ae4fbce7811e373af652512bceb080d74b4c45e3cd3090d48341e3d56b01e6476551ffe5e2fd60db7cae3a7aa798065e4380dce388e1cceeb44bb3053def38724b443a789d4862dada5cbdb3e374066f321ec5827852db16ed08a5a105ae82be09f68011cb679071308a5099eb6af4547c26aaddc124843b87e5a40066755a3b0782af8e668191b3644133da5aaf059c9b039aaad92c464193c3d5c15dd37053b0ecbe795a92b07c71a4555d9df4a241a9b80afd2771f6d5574f6e492665890f98949488f9295d57cffc9f64d4c590fe16214b306e807f30a7508b76a447531fd2ca6144a7b3de706c09aac1769ac5a9dcb41a1c20dc84d840f1f4a4bc98c97027254ca8a65eb3ec39f6c8e2f5ed4575c640b396a054997db1a4af650fb0ab217913f2626f84ec094a65e75cf1c8ea6b44b7fe7881a417cc9ae797ffd7b0e703ddfe23d6b580a9f1b0677ec8e1e069ca050ce50d52dd139e7cd001ed1fbe0fa3e179f4100ee78392f3f01864494d970ef4c5057944d9d120e500d00ea3d579145f3fa54041bbaf478019f198b9f5fbd2ad773e0d5cccecfc33d424d37c27886331e72742e17b0945bd6b680fcb6a149821194ed3a23a0088bda3b93bb261c735f84a3d7de2913a189e3aec043a14edbc7e5c8894850cc779d8f385bb473adabc09eb980b2cba8c27dde5bab27f98a38dc74bcb5fcfdee110b1d0fa7956ebc1d8a09c520dbe06422c3c3031bc6fca9d5c5f034b22bea7072526c56f55f2a60b0486765cf51cea6f39b168a24b9dfe49df08543ff4e197ab0339eda9f4840124f29e4613f8b13ea60aa188b895a2c366e2d24253f8a7195c5084514037d8f1371358415b32cd23e221f5a339f600b62ac1230d9020a5c6875c811e432f520d04ed3958340896de767fc4608c6d551abb51b5fc76d2c3b2fc8e71c8098f1f664208cb6fdf367b9709ddaf83432ce6614b8f1e68cbf0766818c5542d64e8cb27bdddbfd4d1c7a3ece06ba2ea4de88b9a0c279b79f8def39ca76506c12f96f7bd24e962b3391b784702149c167854b202743470e46424c8dc3ae80fd68447a92535846c85aab6d0f8ac4d6c6a07fc15c19e339e623b84b6ed0bb7ed9e336b7d554f2c0a81b5849f0e0a11d6e2c1b102dd4bde090573aeaf311625ca7e4fbd93e8af1ef08eb405b8fe1f730b0cc36d79020e1ec5fd54ba768fa04f55da369c4bb2a1d8913d988ea1744ae6c45fb1f46339ae561ca9efe5942c06a43ebc27b1c0c38255487a718b2aada892e2940e025fbb87feafe928ffe6d916542afa2f4b63b8a60fde6f1fb916c9f2183a492bd22b2e0313c57559b1d5e9d18720628f317d68b8ff1de59fdda95ddeb1a4fa1fb3b9fe77ae7df9e6591b847aba6c9300d2473b2e6b6e4571d56e91d629e13c485fdd9915d5cd32e8e439f163f5a770f3eca8bb3b1cce83c7661cc3a05189fb8fdae9130e673610a5d6958399da4a1fa71436e57f8f2335b7ca05796501757d13f4629074f637c292e09e8514a710fa0a46597e3dd844b117ea1bfd707a048eed18f1a20402e69116fb10eaa04f8e4fd2acdb7a7d5002c544738b8fe858d5ecebb1411703f7a0e852ab02294c1948318ae7e8f15b6a11a5b1d343ae96f62d8eb79963371f0942ec38980a5d9fda1386c743131d74e18f9db7d7b65b5d63a931ccd0f4276b96680f4378a3153a3843af4eeeac3242a8649e116b75d221abaab54aa72cfb6e2095a253dc1872f7e7e462fe1423ca39a105b5ef9739f98479ce99980d584eae3e8eceaecd072c15fa9feec36f8738407bf26d287d443fb613e39d7281b749bba39c31b7885f2233f781c0477363b730bf280d588bac7bca38738bff4d7bf26d287d443fb613e38bfc617ce4fae93efc74b8317c8c36ad2c9385925d90c94d7155d1fc9388e3d9741c1d99207a7f322f9fe57b812957f16d200c7f6b9bd6b98176a883493639f0320e5afa1fa0b9bf2e488d86be40995d3777e8320e1aba8107d6c0c762dd7ecc71fdc2f175352c508c133df36970e4ea52479df4d834e638f568a4b845af594c5c418c5f294ab8dbfad375ffdcff47f121ed314fb1585e74e7b99b756f3176d5be25cbe32d34c622f10676ec5b7b9ba1976b276bb101e8f05f0537076971146753980baf481d16851fb0be6a1f96a0b910ca4f8119f445039450cddd2f68bdc198079dea5c00a37f9d8fe3a32257b0c53fc9edd7148689954fe434c28703b442dc56ec94adc13b01cdb51adbef2951482dd3f306e73784c99dc0d2e7a3912879ee34b42228bf7ca89d3bd386cbf593af42ee2431502ff5cc750d5808d21870278baff27a90de2baaedecb04c3f9d146e6669e154ed2ce1e784c0a79d5106366fa34214db2e315ba5225f10ed13ae00d7cec1985116c98da823b47f8da65fc8cefe8132d03ac34d8843a910e7bf93e09ae29b515b9549c23171e4d6984e82c55ba3399428ddd90d8ebd1230c16e124c89888ad49de292b1c4d259d3c5a4827d5e864583d78c94336d2d0a43936033b446a28283320976d2911551e0884970e9cbbe2458f4118ddc632f9d685c12ac0681dadee6d4c7ef1be3fb90e60797123823c3fdaa3e22a7c381f7478d4918f37077293effac88b8451a540e984bef3aa2589f324c4fed94f49007aa17a5f323bb5bcac43d8c89fcfd4547bbea1480fc632fc3a573815710d0dcee3c30f2e244312628e2feb0244cefa052ed938650c8293b82af02b07d9e95af58773754fd59ca2ab6234b2c0542a9ab533da33536e30a2ffb8657cb5e8bd0d40b4cb92379563ba09edad0e89bc2073b7d9ccd0270b3406b7828b00d31fa04ab1de95e02ba306b126892d076674fcbf416af22eb9bb1a10fb3c951d244eff2f4e65d1e5999632517efd5d591ade1843b7c9a4a570294e67714bc3ac1d94ad8a2de0cba9657d939bbf16ef7a71d61ab9fd8d969790ce7dac4126aa5884825070ff15c81dd940f9480172a5b5d77d496c91192604544fd36771a72dd60c4623eb36be51765feae204fb51d7bf75ff03009ee446c1cb4e1136621894a07d5d370b3b2a13dee1269c726c33ac890a163a50b125a43170577be0638822dacec9739812ff4d5c1c45b31a1faec7c9d27fa74d7fdbbad6c126143abeaf11ae4bcfe121c51bc689486ea21bdce2895fc1fa65f1810752577e87231851aca1c57cac182085c6713ba227d5e44edcdadcf21c5c31ed2da96f61332f3ee530f696ce7bb6322e25824a3e79fd921c68508ddf9994518c270da4ec16e992bfd3b79bb509a6d79e6881eab38812c1bffc88783b2ab12aa7082a4af3b46e015ee3cc78863a30bf49ee8c642562dd8d354bcb6951f1780a7e8d749a21bb220206def94c31d3e967952b8e159f5bf5d81ff64adf671da842e070476e5650c79c2bce4d198d62ae65de0aa4b5bf6811a87464da3ab59b52b693f610e713cc9b8a2c9ce340ea442afa408772204c87b7fe520ccf1c75a47b7d3a9841da47ad04734003efcc9c867988076a7bc644ba24bf8d8139aede4f9600213f7683455baddc1ddd67992659141a44b5d7c881550e8ef6f241542d99aad62e8a4358f5369571d5a0fbae25817d1fdaa8b1c29d990463ac0e92bde70b60dde2f9b78cf9f0cce46a141cb57457a6437090fa913386986472a4c99a906a9395c816ce4478404c38245e051d9060838a14228fd1cc32897b3ac306217fd432218cff7e6f63d0efcaff35161a668748015318865783e0841c01329af40632f786670a96e18207b759fa296b6c6a8e7e1b26562c9dab58bda74b74d31e08e6632ea9b6605bed01576977cefd383620df6f32ad068dfc1724c812833e50313be5d07141fa8abd27913389305366a6364d6988f5f02d33d509d8238c7e44c2a607c852e1b4dc7f5ef0dd912ef2622b47dd168303203baa10fc882575c548cc18b45daeffc9179b5eb0d5526609d48d5bc2223686b22f549c0069d8124884dd5219c177c42de5a2d9807d01f029a9489909518f2d4cbe00e130e1ba6b64e43cc7d47fb0625cd3f13122633db49c0f727f271b53373a624280651724e694758ecff92389022f25dcf54f23a5fb1d5f99c660be5e64cd5cbbc4a2b4e7027e899c4664bd5e47cd31e97e8338c9a7a94bc0b699fc958c7a57a1d159c2e50404c3a87f862bc45b688438e92a75753b0a95e8a18f1ff7ca86d91cfcb1682db28ce65844aa8ba8f4f5e5f0bec4e79a7d769e37f375d1e01e8016f1c2032df49e670af045e46498791ad39626a4dc0976f0e764aecccddd9bdd9398e19d3c7e97242cfb7105ef67d396ff6a16a4d363fa47aad59707c0b07218938b91cdb2a8f9a4c8c3078eed61b1f9943fb34c72f7a0de90bb6c147dc292552caee2df99ef052387b49ebe4d3405fc2ef6479f1f4aaa3f75c7109e8338cda97647ffe123d3079d4aeaf003225b02ce7b0b68b3c5990d5122d3154a8d43011a6a706e68d58b668df543a7798561b125375790d7a2ba6cd4440f29a3155c5e668e5b81f13ee696599a6331de2462198047131ca305803d9368e49fe2631f10f644c0faf980e5e92ca0b63614c750c9741e0893ec6e491ed3f09fbf73490496ba54495286392839fce92e01a2126823f19871b288b085eed1cd3b74a9652efc74c56d43acf7ee7d9decb505a1ac5a90e94824144eb6f30107c091ca691dc0386cd92c70e37960ffd3f04ee6038351e633861bf9c734702aac8159c81236a0302a83ae36151caa3b4c9dfa33563121eed9361c9cc908059a8e81ff8bf537d9f3da410b8c2b622ea85402154788e8971700f852a0a8579f9c42aceae0ca18568db6e130246129d92f239a9f1054951e1881643fb7c0a1191ca08ed99c3bff8e57f15dc9ab1675c2b33ad0d528a1d04fc105baf3d07eb3b382a688c1b1494e6a2ca81d616293b6a54da8cd6aa050e52311bc8dc589beadfb195de4f5665265267c852e6e99db4b3f33add74c2bde11f763025be4182061e2d5c2b612580ba04f0a2222ad7908ead1ff8a05ce24644faf45f6f84cc5e408108c432a2ed485833683aec8b3663c13352076f9b69a19776056c96f601ca341f3bb52b357de3468e8d790be391e84d8bd208c20e60bc41742c82599aec5392b02723a4b8547b95e05e206136dca9945bed1e4b313274629ab19ed1b35fc1913c75313b121f11f7ffec2fd51b88b5ffd86162808643c1f609ce61bb981757a9863864a902b1ccbe554021cd4c0f2cd9c3abb33d9620306df08690143ac354a27e224b614552bc5b04599e819840805b33662ca18aba29ab241c6c9992d31359aae1f5d7e28096224c4e30c2a27b2c11b1cecb1ae447e114f238e2b760f1ab05579788d74e8914f6c657f7cd243456233e7a62d72734caf0a8fa68b0a924a3051d2929e76ee61c9d5bd9eda0b90c3b444b741f54fdd012aa5cacfe10d8060d6b73be26264541db9db1fc20f799d826fb83c1258ea7836895fea3570467850bb750d5b810533b43814842f30659d38e697fe6c6018c2319ee171d58eb0562a6a09b2bf3104d96aab70033357d6b56ad0e014c8304f0b44ef14d657a0c591e7b51e57211dac2bd05d4d0fba97c261500b42184860ba1a06c675002bf25cb8340d93fa8f983b7f4962c672aabfe4b0b497744c16ce42226845229fa0c7f1eecaa9ed1a880c4b604433bb748b4b0345ea55981a713aa0021a6c3f653bf3f6d4e7b6d6c9d802d9f2738588926ca696159148802bc0cd35069a2def91c0261aa0eb659941a68a4acffdf0efa44fa2fe24fe480198eafa51a562fbeec5f8640e2ccb7722640864b4852e947255c27c06c324c3183e7933c476241560fd8b85ea32310e5d079339201efd05a965ec7195780a11970d9e5c8efb2fc8ce832e9e4af50fb29afde0a98de8e8191d1bd05a52335820d0178239414e899b3df40da6e2bc627e8c0626029576ce2a1de2933a9e435c29bf41f7db3d726a616968ee29eb0e19c20a8b08627ffcd6a10ea6a8ee8cb5c75c4e8833430e7598c56b3b86f593e343943d253e905da9e99cb48c589da3031a0fb5db223d97cfa540e41806ed698addd2d44e03da5a24f47abb17c15fd002dc7c305c5fe8e6dfcb570946811b41ead66ba6f058980c0b6764d05e49f78f22289168cf9f8e1f7325bdfb0ff28cb3c20c91b458a2240b6bd8f811dd802d5b49ac19e66353f81ca1358426b016871afb3bf63406171faa6d574e4656595b7423930d17f688615c88f178fa0d5ab82776977ab46c78766643b85138114e24a34fc7cc5fa63a8a8918d09bfb158d36a66fce8ae57f4396320a75626308b8e211dca218f2db04cf48e7e7f387390a8055bc3b97e7aebcf85e6af4763b5e741fc532327a41f017a956d4fcd4178dc8b3cefa0f49aa75b3e18096c1ff65f49baaf4577620251d290f70f2588087be0cdf495cf0d53bf321ddb2759f48211a00faff032bb9df6129b0e70df2353842aa66e33cfd52c8029684d6846782af6d07423a1e24799ebcb41452e1b7d670a0dfcd23a6cbc7ede9632fa7cf70e1566de2251400c8a780b32f70032935a4943b6330344128c63f1e54fd8773b84449504c18c649af4c8dfd7c59cd6cad5c093e25150dbb95d585b4261c45e161be672f72d5babf44f4b837b6a1cb179e84e6cd1e09179ac41d64f97377ec2a0eab6be1ff26fee080f2c2052af483f628b77f05c0aa241346c86c3ac0c9f54cd35e65cca18d66568c09e07e46d76f1c7918dd35df5dc1c756db11625a68eb817c7229a0f18c69a990c24625b6eb8f32491db719e574b5659549440a750895d3aa99aeca343a2d79f173cc9c40177fcbc9c5103f608e8de640beeb99224777b85ead84095a0400ad05d67bd1813d61640056b73513afd5b1548030940a6662b5f9805eacb436620e177a4c57750a3f6d0a0c09ecfae2791f4c9de0e84dae8f0e2ab09ed0a0a9292ebdd3e09c0f0afd99f91f2f34accdd5aeda7794056c8654c433520fc6ecaaeb32100e2a6ea9ba30c6a96f123266c1885b36f43fada087b80aa9b0b95a27d9c05efabba236f77c9e34e52e6c5261b5e287224eb6addb523679ff799c7e629930fb33f491c5c553acf1fee76c8e3941f020b88a59693ebf5ce9e034ffa6c426c8a00c20c2853b9418e2c420ddf734cd1f2bc503f61534af2142176e040742f4deb62216bf40d263470e19a7e4a7e45465fae3ef0f837a9efa6e34999915b715f3e08d80a5c6f61ac86aeb12c949308a65ba2c9e5038bf009904658e7128d51483379c20bd6806cf7e09d4242eaa0d0640b6782b9e97bddfaf9a045706c742a314152c0462e858b168c667c50280bc9420bbf4ac5eaf631a789712c1be872b4b0055128f8e02366a86282f2d08928a6b65b74abd621a3d6740c7c6b11a74b051a074b2f23ebb334b38d7515551b15ede9c6aa205f968be3c01a3dbafb1dbaa5571d18e3fda4a092958fc396251db7c5b51197ac7c12434b1a28c132c0e771f26957954b1cbc6e2fdc8da82bbdd98b02ff6844870eccdbc21ea7f6c79f795d0a2d9e59011cdf68b7c2b42774f93f9faccb899e3ce254029e92cf1680d9d4e1f7085ccc859799c9104d9a1be2d8db6d5319ddcd97ed6d13486eac4f445989e8b3c966af7de6270c2270145cfa37b92b2f4264d1ee11c1bba9c5aed61a810a8a457b01056857b8237251e32177fa152e67c4c7356391ccf56b02bb202fe4e19687cbfce2ddbe0b4aafe3d1817a5031245d735b408d0ba3c19fc6b4522bf2032a8c1916da626ab0b40babb8315f4dd87df69a35cea3eb71768e8f738098a21520b79d97581590bab65cba17a72decbcd0e6b768d41433f50187e703daedd922187e7ea05d7d0ead000e69ca027176e51b56879e15fde9963b5d3adf6d889b6dd99cfc9a00bb9b986d720690225a546f8ad95ef69813a673312f309958a07046fc6810f1e1f70f98ce38a99499c5423b1cb623f38809b4b447c61d8cff6a37ed1fac9ca7c9ec342bea8bcd5fd88f144e8177e6347548b67d53a98a90278992b41df5f82dc3a09858cb00bc3099d57c6e712e433e09879ea9c3b7580f817cc56a8690788b9887bbaec8824a8ec51d2d58924cfc76e0a3989adf1864421e7d3158d95bfa9ef9143257b93d5147a343e68cd99fad4b1beb1d438a2e94818bb1d32680165c56e9f5bcd1d4b3c0e9c9c25ec83ebdd67660e1f20c7c53bc7058d0cca9bcfe02cadfc64c1cb020d16f794c996e18ec2e49de0620d8c0385cddbd9e1a2bb5fb572e62d69bdc624f7212423fc63028a48eb3e7b12f82e1da3b108aa3e9f4a62c4c12b70268cbe43e140666887763f5d37b1c299de766a2aa8400fcd75007227da7cd388dfabf7119f94e3b99fa5d6441df049d71fcff84cd516cf53b7b4c53e4dccc4ffe602ae9129f25fa1082b9fd382bd420e241090c76f267451d8db85c3e38cd76cd840fb7b0f500bcb2acf5cee3e4f358b473530dbabd46060410b01586eb4cebcb2e88b7f9671a5330ac7da51c3beadf18fb688c63246da0ef30c331cd78513ef706b90c1262492676bde859138a635bd70e4018a8d22ea0fab916f72aa8ca3bba2cfd893630492c320563308c090d2546d66e6c37d6a6aa4cd242e01a10fd6fa54630cc8cb8b867248358393c1a9f01c4f50cd7505022c317c935f8b0198eabcc5f0c39532758d2734ce7bb74c8015fdd9f285c58dfac8373ba5b5fb722d758da0f614fb82ae056d00736c5a1559567b924c68de152474a9c1f736f7f94fcbaa0cf9bbef1f224e9b1a0f02b8417195a9e24399bb21f1577a7cd91e89a28848a3494c59a9a563a4cb88a9d3782855b27560015d9dfd0ffac69d1d78ec5142a4b22b97d7b0e23f65f7a91d2665e2872e2be5933a0edd5c69152c2e004153049ea4bb6a31fb916af0bbb9222f294b94b5fb3f8310b2f1a27166f69cd0c935cbd5b851e89e4a1de4f840bc7e63fda5897899b4a9fa551d12d58495aab9e2542b1da591d4c011821989eaa1e8ee3925449ccf764a0bac7fb2b5cb47d0459aa42169fb0cc46c95b9b44d308798ac4b2c93f9b7a405a56c52e4ca67612e473847ea04fadb040a3e1adfb561f7acfa16398faf7ab95553bf55e9b9079e63357cd4046d206d937736c2232752c11259826b1bc70e5da983f4a993f47c28b898ee345547bfbbe6e077850446c2aa96140f2618bd0ab23a86b4ae96cc8b954305cf598b81a050e61dbcbf54a0e707acad4c202d32c9a28d8c3f1b3b8ac187275b36c8f29423e72c67e5384de5068858de3bddb3895c00561705381ee9b415d6c530d591df145e65a287ee914ef95682d5cdface5da0277ea425a8eecd25c26eec9c197a1be9b84843c40bf5472cd790855db6c65d43a59c269c41669431132d5e30132f0841c12981f329f5870efc11aa0d323e4600f35201d360e3b8376088628b385e83f24270758440388fc23f9a78c20127072892f437cf9d179c2c40aa1c03c44b91262c95297b9bdaa75ac187198351571e1159f5d38ac5f4a60b71131b882e6b567df280e2e5b55178f78444866b9879d273509630b67bd06b1c9b5a3856f6496c57300c7be80aabb2eddc7a231ec5ab8e52c4ec20e9393db1ec31210608b3eae65330e9505cc9b5717ead2c08ac6fba7e9ebac9210cca2bd3b5c505947373c864b7c2c56812b8ee2152e0d9ec81baff865d17ad43f681179a21bb2b9d1c66559352607522a3e1bbec6797bffa54ef78f6b259c1eb354be48e5482c86bb7dda3a6a6afe1f92cd98a8e321912c94819af011c39bc73d09ba950622ce89631a97b828d0adcad7825c0aba55b235b801af4cdfb1c4e357bc5de1180e7f7e358088c62ab47265f49a78efb2c5946fd534fcdc65efe68c83037f2371703e8e122a2ff2c9e17529bb74f9031e1fb2902a4efe64c05e2468ef4924830288656cd26e7e4ab84183953d3910f53ec1a84d147ae42b0b9294940b78f9a2ae2250e1516e13b982870d1f7dbd12b78ce72f3f76f19efe5124b151bac43e4bad7a88d6a180646ae65cad5388f66502c95a2c762173030511b382c9e8059a88dd0d2b06bb7ed1fe6f7f67ffafbffbddbebffdfeebefd9ffed6fbffffa7bf67ffbdbefbffeee77fbfef6fbafbffbfddbff66c065c796c2e66b731226dd40b6d0fef4a5cfc1834a3e7ccd6d536eb9c93774d4fe5ac08a3aa82e4054fd46b40aeac35cd1dffe07009830bae4a7b39c86b74682a5f4779d1a85ae457a42488525a312ddea99881006fddc0cbc35fa91f2c0e9daa45e298bd051701daa566621976f3f01653b080fa4c435209dd58c4d45544575ae1b044ac6ebda8dce1b8575d59f19e2dcadb406cf00a55d7328d8abfd2950429ff1becd3a3a80a98ba6a26a2b8d26deb93dab30a55fd30a62d995850d2350fd0e5791c85e4fef83ee70a0d3882f3b92a638d5f31e89d97816ed8d100338a2d7c5f6de77f757bcca89a2b3dc0d69c2808191319dc9590afdcfb366c8ddecfa407e6c182936718067c50bd169083e94ec52db98c3a809739b34136e31a51de693fff16e36c8afbfe978e24d483bdeb049518adbc2a480197616e630ca21473e4e3b7ee9301e1a8f543233bec9189ccc1c913cc55635061d47dedf4bb82353d607b3ad922306fc3e7fea3fca900a3512157e762083f22fcf830fb00db72798c4a1de78f6f7b42c181d28e2d9da275445a60c1c9bd3da2bf09805a29ee486612b748ee7e8979d32d28c869c8f311cc0fd55bcc3ea09f0040892e160326e3d96bff86eb1c4d52be0df62f850e652f9b778b798ca11946710818b772f0e78343f1353e965e6e2e151d334b5e6e63b8a9715a259c0d770f3e82c2b71c76ce495f2864fadd9896349f25999eef48ec500fadd2ae3ea558eb59d16a7b106288663487df4ad11d8e989c0ed7ef8b750b49f994e4ae8de0ade7cfea2b3eb4c7d4ad0b0ca7ce9865cd4871634cc52e1ddc24ea58bfb44834964c7de2c542f5acf0d7c81ff323fc40778831f98d78ffc6640fbc5dad7a7877974582a867b3d657de7221f2dc06ace90c8b71747c5f075dcf49b8499f29a719a5f687cd1b4c5b1232c790f2344d91f891e85b870da5214c85b81d0f4a50e2ceb55326ef52ca44a6830ae9e8c6efc07bf49c5819e8b228f23ad9054d61b309cb3fb0ce2b6e0ce613d42ef4ca8b754974d2c5cd80b9b2b53c2ad8709b591bf2cc5a6d7253d384bd47b6452a71f1074a1e98dc04b01fcb5f736666ad699359c16f3dc4d7229416a51b75cfab0842c2a504a0f3c595d9e5f567891b13dce2247f2e722429454bae81e1aeaef493aa5e4a27fff372b9f035b378ec17f38a2af99a56bc6a0ea8c7e3181621a10ff2ecc8c49bfdf16e23c6f647baae345efbe50d35fa2922141a053cadf4cb00a9d3162bb9cf0b95e1dab23781954117caa6b9217f82cf35152b287dc23113b09f3b046bf99a99d0b5fbb74793d18e3362af23b3038e44ed1585b99c2dee5b63059012f4b75053e365fcd7067a690fef2459ef8378ba95172abb6f3caad6cb6453bcc0f095fea807092a5ff46655bf10eee1736076602c67eb0d69bd72625b8dd4f17f5b7b68b387c71ee1986e7efa5e8fca005a5646b1f48e281f0d5defb54298b13e2ab181bfd851b0cee978889bb1a318e8888913fca26e70c2c98c4eb67fe82e1e6a837bbfbdc6e2661fb69d07de6c000d9169f39941f3b73931d767bb90cd04fc46702221478e6a498f55d4b43cbfe4c4c87774130d06d9b4b0cd5fd97ef8c912b9289da6c30dae02f1aafbc4ce82e16aa98bc58ac3d106d5fac6807565ac49ee0d71e1a975e6c14773649d412210fd759f642a79e16b7e768a74f1b02fac66d0013a7e69c9e623830e0535374e3cb97112a75011f542cfc7d0a3840095281e0a464630bf826103c0d3d5de63a49758212e6684d109d0e4850905177b198324a3956197814b74671d5101a0aca632625fd55b113750fdf7f8e350cc70abbed333e0e4318935b497eb904562806fee1c9680eb8afc6d67e3d890702034f8dd7da329564f976064abfb248d674798f3f544c33d81615600b10b621858502f535aa87b24238d96c6901971e7e459acc87e6f7ae5bfafffeee783530772c1a98460838b1ff3b6bd0881e9a9aae675f0394bc93c8c76e602b0c029eb1ba53f8572c82e00a88970f1f63e981958b0e474219d49ab81a3bdcd3ed8a19ddc787ca4a378521ad34eec4f7460d5d2facc825abdf2d0f91b93820c0868c2cb5f96d9c8b0962406ed64b81ea67f090f7226b80dac818c643bd96967dbf6dcd8a3dc1d8489a5c366b39769e04a2592473e4ba5da6faba542d176515952de2ce37b29bcc418e88f8920f94c86271b7da5def4a883e3a81327d7f8bfcb9be3a26214713377e2298d870ff5da8f43d13d5097a11a0715e6eedb7d45db1dc4434f6039a425bab5720d6596d0e6bf9e7b8e316f85ab805bed96ce12f999c0676b6b47594d5216c7e86cc83e9d07a2893e031523b518be9fc7b721f98a0720ff6542bd658d23c3c64f88eb86b5b51b289880fb2b87e13b3ddb5ddbda59449a65c0a970a490af4ef8871d8e3daef4220600ec31797fb2e9ec8853dee764d2edcf55a8a52a9542a95b223fd54f79b88ff247aef43fdbad3f7f44d553ea1286e19715013d7318c193f1bd4a7c2198fa3c608d146389c49ea71ea6d429a7a21cca67f4a8da60963fc2e210f2cde0c6e19a43683df779d8780d49b1ebf874398523e4c8fdff418e31ef8efdfc7298cc7ee7b10751a4355fe4667426f745f5b67420d00d436e9f482115ec0fb5d8df1cdd6ed6f925afdde6e7326f4c6fdcd8afe436f547b6fb57fc5ea4cac75a07aabbdd78138271f8a86768c814d7fa85bb1d2ea9e3790fe5028a84fd31ffa93a91599fed01f147cdfd7e1d6dbc95d099bd4276fdd63d7f547ed6d919bd10ffe64d08a0cfa70bd6dbf895024017f7cc5813f6d6bad4eff8a20447587f4ebc2ffaa68aa7a843424a2efe9430f6938aabe1a86638ff0c353f8db6f1f8e5d105fc754b96b70e7a3de84207c1f6f18e3500a8cc39fb009c63804f21fec3faf52794c1782210ad3e850a12a6412320999844c908642a0f027041a32f1c9dd1dbfb7789ee7759dd7a9b07752a954aa90c990ddc1ce6111e412fe8452b8b88440219390898b4bf8e3124ae1e212fe844d5c5c5c4220ff7917ff79952a7b9ec2ddb7b8d0c8f85bbe6bc18dc10f99844c42262193a08e0343402150f8134a11fe844d42a01048a51aaa8eedb7806ffa909353c8c3635227e0183ec8a19e73279ebd6534bbdcf22e88edac1667b9882a550e41ff0999844c4226aa9009bd51eb90f56890e4440a3abe608cc5688b231e200d21490c6caa8c8c54462a2395168c8cb630f1000c7f4226540c110d5141444d971261a1f1355a2b1c219310680bb8fb56d1f81aad150e2d60aaa2f1355a2b1c2193b0c9cac8680b158d56c824fc511939c9a61ba98cdcc88dbecf7f8c544f874c6355d1a19049d21514dd40d1c6e4debe1397bb22ea3e2ae43a6eaba61085428936df77f6c2132a8760881a8dd493f7dff7210af4c207b9ed3ee8a87004ff741ac1f074aaa8d1aced983887e1481ff4ee7c4573379ad54f947b4107fe50db75dd833e9ded3af0e7ebba0ef5a62e7caf3bb53cd76130e3d4832d297c3abda3c693cbdce7e3799f7dd39b278755d8372a34c938e4b672a4948f9032cd406e2b5d50c9b4be575b1ec420c65c8b68e304b861fc20c851ef29debc3799365fef07cd141c4d8bc16f69c12de0b7e0f7a162faa2cde93b83380582f85163532335259a4e641bf04fdf219053cb9f9e4114f51ed5712d7834692a35a26ceabb9ce25a4c9cc26ff168c640d408727f126d77e0105f368de6f6de0cff8e038128b7440517606401e4b6c205510ecadcd79ffa55eaa0d99b1125b9c19fce48cd3d7ed6ee2871907e3be8249bf56da66e027da801ec0feb813fd9ebe2091758bca721689e1c7efcbde70fa61e7f0f1b97e1c3d90f79b8073d887b77f3e432d8dcf7490473cb9f5a463335c6c06c7a3c9a36b34ea319037d34bff1e4b2090a100a100a550d0a6b4785af6b98b528db6ea4211dc10e0b26d0048ee60e1d6d5fc1f5bb0eab3a5b01db787fb34987403ae45498aca020f7a773a6ec8d2014f4067d42838468d013cf71853c47474d970a7d58305dd34f36b72b601c64054cb389559fa949b30942416fd011289bdb1ba9bd03b7151c180de5a11f2b3828caf55f6a0d100a1f7a83667bf1d0cf50fdda81505003d0f1729c0cd3689e9c497d86721d37ef6950a6dd2682b5887e5c740c35a63fef1cbc10e30627b752e507489e185f60c1f26d4f6cf702360a70e336314a007262b4a01303069c1845d95c754f7c58b06c4f5c200ab0045d0baa880103aa844f8c1b54f94115319068d8dd6dc35f461578ac149e1002c701c6ab1ad955b486d3e85a86c6800a44a6f7777f7f1bf1ad70dbef06acaaee5068856203a69ebf1a70db6ddb6ae02b040d6310348ba9ef71db1964f8b6c000c02e3c68e09e28ae83e740a9fd8ed2cec2befeae6176517652657c95c16ce2ec18f42b8ce82c59400109a2b08429b210864c87238f186caef20e511c657719cfd873cc203b1da328cab662e0de7b2fbe5c60db35eece87c23d51ecd889505cec310230c613a63ebece57dde7008798fb9e2877fbaed119017e5be00f03e00b8266d30c6b3f3a44cdf66f85e2eb1ad53f2fb087b339c366307381b7afc1d10a7c5dc35013d37a73473b877741e49b47f0fd59da2b9bcd9d077c0d836172575942ca3ae01be37d0f1da36c2fc36edbe6a3895cf37d776a695bdfb8d9fe11cf9bb9e50764efd5b55e297522d73b42a94fbe0df744a92d7e17f74471d567a3504aab3d1aa18045add55e28244161a9ad09aa44a16703a2dbe0b33334f169c2022fbca84208616c01022b8e80b0f91ce00331880203217ca1a4854c9501184655c05882c2931e1499aa284219a0c050810bb9ab80d181acca5de509636cc027e5d51d0a3d606441fa4c40c0f46deab39cd8b9659486f0b592cf1da7248a10efefa8e4be372af11e0c0236d249b9fb9669d7c1e47e7bdb32576c19ab64eb7237c18a5b79f279b76de3dce6b7fab67ec1fdf61b10eeb70be5e4f332a71da7514994ee9544d9fef4dedff047173eea3b1ce2fb50a8d1c6bfeb64407108fbdf288244c0db7b5bcf18226fa33944fd6aa5810a9a2045ee2a4ce8f19af0a3842577952584d1d51825a6af61f8e38e36ed63576394ecc874e1485b404fbb0e9555cdd35728d3d8559603b9dfa3e98dd8c6e4be7df5e2dcd877ec28473daf38b0226fdfdbfbe9514a2ac8f6b4a3249b1e1c7d47eacddf4220dbf7f65f4af479999492dc4a76a44625ed3af42b49bd13ed3ae06fd7e1fa0fd49f44d35ff14b892dd318f503653f144dde67412ffcd1bfb9926c76b6deef4ecfdb8c21e81d4d3b7627b7353882d21192aa1c01a9ca11ae582c55a48401060b9e486182942fc4f8ba9b28d74f09e54be3084e72fd19439cbefee92b8fed5f3cc77321eab79dcf1402b90f3e1706b1933bd0ec1e77dcbb60d166c610f74d6f7aff50344d6f2935f17361eabb6db47cf727b37beec1f7fced832190d1dc01d23dcad489789c3104ea4d8f1a69fc4934b977f33e37012ae3d39d83d9d9983c93d899f7391c74a707c10cbe64b00347737bfb28f051b64375a0f8229abcf37a3b6b33bdddce89ba136e6ae4bee277cd1a17e3ffbecfac81c5188efce1bf58bca991bfd1e6fed69960b6d764f24c2693297c7f3c9abf43f6d50bb0b983ff0e3cf80084e72000874594f8adbeefda7fb9778a20797b6b6d8d188ebc51114af8df26725f3fd35bd16e9c78418f413d883289a62ab0f9f96b4c9f46fb8fc3c4912d188aa66f05f4829fc96432d2c30d0e30a95e1240f196bcf7c1df8adc68627fffce725f0af0e639b8f18867eeaf73dc7722cec9b1f98e3696b35e857e21f485086c2a77952f80be2092c0118c32f7d5e6f8ba3d0e9bededfb681d34d3edad0d0a840fbe6a1d14b43d46110f4f5759f42dbdf77ddc4dfcbc0bdeef3ddab97da6a6dd9b4cdebd4666f0b2f75e77b7bcd10c13b08305d73a6a346f4f416eb4619ee814dc9bd7d8a18a666779f8681bf43fdf66606b757b6f0f3748a5aaaa5a6badb5fa1ba163d428eed53b9bb58e43a08ed86cc7ee4aa7e8f6cae41bc1027aa863df2aff032cdf138ce42a1a416afb689f4ea65a8e7a5092645bb96ebcd4c6256fa28d1dbbdce11037e43b42d1b1396cf53ac6186d9b46738f31864ced4735e6b9cd03b3c779b9f3e6863aece5f7fa599e4decc6aac40d7144e1674528db9b446bbfe344bb94b7b1a36007661ebb63edf6c263c2b57ffc4f7419ec53631a6f23f6b1d867d51d16fa4ca2cbb4e832a2e5a9311d8f7f16caeedff16c1b56753cb9220915e132a6118594059bd8c7621f30d78a7dae1dc1179ece2f125e9ef3ac376339cec499b88ee3388ef3aee538ef729cbd96dbaeb596bb96bbd75acb59ee5a13674d9ce52c67e24c523c276c3118adb86d8a166b67706cdbd6aa1c51aa06491a722464887d01672d37c506ddf56ddb38ee6edbb66ddbc6fde52c67399c3a65e805637bdd142f388e26593abb244c41ca02670a11eed294239c9688d06d4af8eecc9237b3ca82b725ddedbee0d624bdaebd539ad89bb4e5b632c589e904dfb66ddbb66d4186f49190205244d0f991d74939c1a57f871c09f1bace8a8e5b4929aad58eada32042a46c91bd6cae3cba456145ca0744e0ee5eeb3d819422eb52a094524a694784fa29c12e59919285acf295b5d66edb1549e0384eca90957282294db89b014abb5ba6a04e698ac8abfb0ba60c4db181ad754acf14a4295e4c210207e5ab7528d75aebca569f5a4b20022df8c0075b70404a8f4cad5ae45ac516b94e3942aed75a5f32630ca42a3510c11352622053a9e45aad4c71926b9257b7150e1c1367a58a266c1b8e35892d5f3d31012beced01efcc524dd2ab67db36217017e8642dceb64960db70a600b93ad38d4b3549af9a5ab320a2e205d2c983240d391232e416216f5c6c76bb4bad4bb4848fdbb6cd6edbb6d5206f9bb576ab8090182e8012012470414566a341deac10a1206f56a46491b7cd6eb7e3b61ecf6e4b13d8b624e09c4b38672ab7151808c120a8aa72f075457d65882a0539925981723f0da1119d4cd770ea2753a786edda7a321f60c367f23a7b322170c33d994a562a185e70e1c5653b994db07e0619004063860ceec381b5bac1861a6ad03076004ef42d149f11cc65732773b5d65a6badb5d65a6bad4b1dbd8279543e0fb4721244d4156123d5d123ad9294700cad843e48e50403f938a13c46dd11465225bdd26aa9afac76781caa15be17878cd7aab2d6aeeee60ee4c4490daa414242434344444545464849494a4a4b4b5772770709090d0d111115e576234752eaeef620a2a26e7a8587c7c70708c8496e3ab474456929490929092977519b586687a46e075fdaa1ee60eec0c9e0087543984855f4464b47386c2f6d325468a9a357308fcae781aed095a149b51ed124249a94e44e783a1f0ca472f2429c932ce3474b389456498fa432f223dca9f0ab568f63456bd79db811ca36d62b002e5ce5d576ede4eb1a35c791df21e76f9c6fa3f601a019f91c0680f3669707105459feb337bbac43f626ce3abe6b4c0fbf63ace186b76115fb04dc3c028a2acb5f88ef226cfe88779e1a233e9d01003ec87cfe1f9ec7d322d50b2f3d9e9a5d26e29b08d89b38d7bcd965057c2ba0c8bf68be6bc033e09bf2d0142afcaf31a0a9dbde871a93c42ff14abc03be6b0cf9330f4487b14ad5bfa29d0302bdf2f2fbbb3b329a1dce194dac3a4753f5b5d1fc156d345746461347f6239c9126cd826437630cc866f42087d58c45469a918b298000de1fa685c39bef61f8147ae57f24538a507af89a1ae349ae2445144935a6f254d6ea861ade5401d1241f9a747da84f7a2502a05a8986ac4c2942f1518faa0dea1662457a19ea52655da92c9729452846bc103546c8f77819ef020c6faaea146a184135c8654a114a03bea6c6d4a4213506bf4b61a3187201c24354a614a124f133d5bbcab2bd6a37f2790bb452392e4528445e087f5a815e41a073d09f5ebd93ca7255e79da0d82f458f00efef4a354687f7f7a51a13f3fe7ea5c614e0dd00ef5f7d6a0c0f0778efe17d78ff2a546364debf0ed51820debf12d59820de7bbcfb781fe2fdc73b90f7af4a3526c8fbd7a51a63c4fbd72b3546c8fb5b9e1ab380f7b73e350689f7b7403566c87b039258e2997892fab8de9f3a798dfe2e9188488a5d5933f49910bbb21c302e21766529413f0906d01f227665212176652d40ecca52c02844ecca3a623442ecca2a620c22d2072276651131266034e9954c7f08b12b0b01a30fb12b4b88b187483f08b12b8bc7683a51a60f84d895f5c368fa50a62f237665e5d174a1dc83d895b5633c007d1e44fa0610bbb2748c0510bbb2761863c4aeac1cf475107d327d02885d590318cdca93e90b40ac453528d387b1319a5528d36f056034eb50a68f036b342b51a6bf4aaa2c1b46d395bab26a8c34885d59e368fa954cdf79dc27d39741ecca02c0386334dd4965c52052a35c592f8c2d58a440d449a60f8aabcaa23b644aad91996c6383f2d834ecb8d4ea947a11e313dddddddddddddddddddddddd1d528eab4056504abb0ee98a5aabe77950d1bdf79a4c4a35e0388efb3e2a9ee7792078a5caf77d5f187651363ad1534869ffa9adb8400556667083165d604556f9ca5fb4f8400d5871418f152a9e5869411856a8004176a3196c91e5fbba759cb6f37fb5a6e0c88868290549ade388cd4672d3d10487a09db7cad96ef38c94fda910fd7b25fb53a5ecdff97fe781d6cbeda306eb95d6c83ece38526427ff57e95b4781540431f8e33efd8d76848649e973df89b97bdbddf0477d7f53f883be3f886dfdc21fdf29e471adacc0c929ec3b7e2068c5918e1608fd868a2c163e90c00e889e886183a3a2ecfe2faaaa851a851933b20fee83cfb88114ba1832c216bce08115b260e14e29a522cd1e5a90a2c062eadf552a81cfca1446580a8a3bf276803d01417ce583af9c870b28cca1380e3bf12697b357c8bed817fbf272852c46f140a19286a0f9c589fdbe11ac2f6f45f3e55f331cd8610faede5a918628f10205733e2f8353a7d41802d990c7a932a16df82365255f81e1615cc1a263f1daa3140285402f7fc59797edc87fb6a3ecd8a22c10e65e502193f0e7e52564b251d98c7ce55b91affc0a35b14e3cc7cbbf58af59c0a63321fbfb5f2115788efb39aa6d1d9d793084eb477ec4a3de177c3ae19797dfa12fde24d7b7b7891db9109c00b61f03f3cb5fa11ab34a3d877a1aba30d278d8e7f1f29f7d7919bb3a5231e42bcf57280b36bba8d618175fd51897f10ab58c29d468e2d3e8d34212c0fee615cafe6df13b71ba2eb4e0b312c593fb5dc3dc96b2ffc783e2de7c0276f9fa37c7f3cb787ab65192eb9fb98e66fda3a4a51ad66aafbdf65e6bef8b45baf7723b99bb1ceaef1845934c7b90db4a07acc84ad8c491dd746f1884b77cf7e8c2821d1954f89053e1449555c4813fbeba5f6be52e77c3aff52ed518176afdea329a60aed7da07b9dba18fab74c1b816c9a81ad52dea91e730775cc9c8e1afede47b8dd4fc42bef83be4715bc2c0a6b3600836c905b3c0be209a35bff05b8b68823ef9f43ed417c6aee18ccab9e0021853b5e7e0ea4baedc165a1fe0fba8efde3cb3c97d0ccc2eef61cb48e3c13d0f97ff381751e57d1dcd963f9d9427b7bccbe9b168ee64fc5f4a74f9cf43223abff4e09e7b19c12274b62506e6d40842219a28d10ec126199970bc64245f45009b9d7def2c67ebfd11e4afd85614d2361adc5ceacb148a122b876fea3f10c4f75e2cda58d4bd18778ffa107f67c3144ac4d68e3f526f9d866348df0b7b7c7f3fec1c327120cf115eb1bb6d8a528a7aff41794ab401df894cb730157eca9be48b1a6d520f32a10640fd0d9fbe3c05ff65343da71c08673a9a9df511957af04d4ac3d415a2c6e078099f8ea68ff0e9d3a72190f0e90d3734375cb4da0dd72c16236fe8d0481a11588c36a3d1ca9791ff2a65b49cb3a4bd6c063bc95356de94319c1bd89f3092767e1119ec3cc91bda8ce6c96eda4577d3a638e8a65c74d31c74d32dda76531cf4d0d30329527a783014a98055850d940421c2154268ba204013c0188f95b8841d8e5c9074305a70020611b10a3cf176185921c8e1c8250628602a4e0d881a3d983e142041b703ee0ba3af8b787872570e094b5f1421dc9b5e498fcfcb5c254a9cf0afef047dfb4e78df7d8f4a96bccc1d9538e18df7b7d189edbb7174621bef3801d41863f43bb151998b3eb6c7c78e4b6cee5b1eeeb447db68047c5dfb52aff66e269784e388b66dabf7de5b37b7d6ded1f457a224d31dd39f7e7f185fd76a5d347b6cbeb91125e64eee5ca90cbeaec6b88c8b4be812fbf45decf18962a4874c7f891da318e921d7efa25c91e8ba5554047f80edf3f0991edc40d1ffa360134ef86f238f3f7dda32dff7ddc779f63df71efbdf53b189eea9779fb8d3894b7a90a9ef893d3e54a6fe921e648ab00fbe902a63323d08be677a1f2ae3fdf7a691a78896e97ac426bca7ddd8441421ded36fc2f4fe617006f73d649bfa5074fcbb28dbdf40b1654c628fe937b107fc252fe33d05479eda3346134ed4f7469efade7b638fcfcb805fc30660506cc289faa691a7bebfbf0d8ba842ea839ee84365bcef441f2ad3bd49ec59d2838cf73e5406ac218f1945d807bf01b5a7436247061c9b8822c4f4f49bf0de9b303d7d1feaf5c425518cf490b9a73263646eb481a2e30f45c7befd1945d4a77fc320fe5b18c47e8741eadfd1e63729484854a8f07577f7b70eb4bf2a2521c9de8da39452aff33ed31736189e50b4fb4f279459bb3fd5ddddddddddddddddddddddddddddddddddddddddddddddddedb55a7bef66efb6715cd7795ce7993e13f88160189e08700a4f289cc22d2d20757101e9cb0b485d7869d16cb568aa3a8618c09631c3ce98519dce005d78e105186050a962906165c8a84e65a85a3af8ec770d130ccafedc56412bd2cc81e1b5c5d363cb67c70275412018eeb47cc0efad683f1c06850f8af643f0bdc50382a113b103f295bf35779464f0ad38dab003df8a5bd8d9efb92eb0890aea82ba279d10cacb8243cb93ada5f639d1dbc99fd8eac9f6f432773730680461adb582f79eee9f7cf3d3a9d573a228f7168f1ba9283f81dc6ff76b7872d1bfb5a4b5a4b5a4b5c4f26c5270ca5adb6a92b2964bd9964f6b496b894da52cfd14d86a62bfc5da168f6d19a92d3605da96cfe5f073292ca2beb5a4b5a4b5a4b5c4f26c54e8befad45abb8d366df97094e3ba7794d0da4f5b4d9ad256cf0f35995a3e2693a93bbd6c4de3e9656f3477baaeb54485b7307a469387c50387a820f244d0d301362d501774846d4c7fb3d905815d50f7a413ea54d00d755474449e03f4c656cfd7e2318dad252d9eae4907d439e980ba269d13faddce898705d36cda4fa8b584def84693c90b0b24748429906d629fd820a1d692d68fc906790eb30bea82ba2716c836b14f5a4be88dadd5d3e2016a2df1b259dbc9dd68d24c47f3f4ba2253166aad1575b91bde0fc10db5a32464610951a027b2aea0c2100c512814fe53ea4fa810853a8520c8cac2cac2ca524fce3da9a068e21d25a8676141e1f08351280e73281c78585958595a1e259a38ef280151cfbac2c202a24c1c7e502814eb0aea5b70e841b5b4d05fb5a4beab31a7c5a831f52dffd2d292a215c9e4388c323b5616561694735f9cb6ee361c78388edb51c2bac2c282c38fc7bac2c282434ff71d0e3c5cf7dd66dade8c552f15beaf8cf22956bf0fbfef349aa795010e61f44e63375624503c6df6c68d6365616551b1b2704326db35f9ba86c92d7d4f29eebc2c8027503c75201798eb3a2525700beee8c4d5e778c0217143e092b8249c3a7064610959575859468e8aaf8a3823cb19790e8e869733f2b2c063a48e31c68d70ec3a30075509dc02d36c5625ef736c4b9ea3ab587858593aee883be27850952a18150b2b4b37b2b0b0ae28b1b2746f1ab9db8d668d724aac2cdc47c5288c0e0257ac4c59b23ed6e78e76eca285200224232401010b10a2a837a094ba7b550a4229370506e2debb6d5b7785e3386e0a6ce2aeebc0cef2a83210989b029b5d06029b380301d21eab603b0281cd3f8140e017144af5420385314ea55236e411b33e3caeb5b6c525855d5c5c5c5cb61bc3c9c754094c90050cdc7ddbba96222b5924e1dedb7556b2e041165b383df171800a0ab20aa42215a2acf21515a95009c31085a2c20515ad5051a292a565032e25707171717979b14205c98a1654b8a0850d5eb0a2850fb450824a466e2b5a442186948f8c18a298015aa9e2822a3708a1f8402dbeeb5214c434a092818069a8c054eba0b9c31df0bcec83fbe055d0400896e4e00757b8f2021917c216b5d65a5910c4dea21d5c2ec8bdf76280861515c862083260e2e40932b7da20df7bb95aeb56b77b2fa502470d5293665e454ab7de2dbe0e95db4a1115ca022c74f16d9bad5880d1cd1c256ddbf68501022c4ad06d5844e1725bc1c228c80c96ac6f41700c3912526dadb56eb787bbf7d6400acefa4ce9c013218832f402294ba8465470e00a2ab65a93f47ac2ca16db13dd05185930410b2b2882d052ad42c51342b8028be792db0a161ac8616e2b5850e0e485aab2e877a3aab25e5e7c95f455faee3870ac56356aa86ac5b8ebdcfd25d7b08e76abe1eea3dfbf478f74277bdfbd10ef3b6fec468eba53efce43cde861fffecef735f56a452ba26608e1a117faf0b7a6b08e601146ef617dd871a463e4af36f5930d83a8d9b93008eaa66a2fe5daf34efea37b607c1775bf2e754a4adcbd74b5f9576c3b8e529a378ecbf7396f34eb8c22fceb0be97ca44037ee587f172b528fedb9f71bde8dfa15dba81211d5a525ee7297bbdce52e7739992a82442051fdcf04a58e5d59f78e3db6bbfd35a265ea5f918e91bd085a912a95d9a1d5863d77bb77063358a2946edc0fd7536be5ba27574871efbd9d6705151cc7719ee90a1e5cb185e7799ec97493700516ee631236a5580ce1ebc2af00a39add119c64e143bd48280b3308c3968052ea8e055117a57ef161d1051660f4a0dd4548454d908a7a8a7690050532144a042b82196400008d19326250c1f0820b9c172e2d298c3a85e067f2ba0b743bf51cd42bf5ca0b8f7623d8ec8ce07bb7ca19e9baaefb4efeb65e71a4efd301777b53ead4a93b75a7eed4dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddda95377ea4edda9bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb53a7eed49dba53777777777777777777777777777777777777777777a74edda93b75a7eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4e9dba5377ea4edddddddddddddddddddddd9d3a75a7eed49dbabbbbbbbbbb3b75ea4edda93b7577ead49dba5377eaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5f2bdda9d4061794524a29a594524aafb547f4a50a2b86aa487277af220c2b5534c15a6bab00ead9b66debbc2a78804c9e89c888888a0a9ce23399aa08a22a6a4f48e0472b511819ac4454780da225f4f78114064030e839197d2014dbe18f273bad4af5886bb3036336d33798df8e0132345edda0bb6b345e9960f5d3ddb59b9288d781c4dba849a9c1c31e87df21870e30385e4759236572580199597d6dc6c7ccdb98f1e1a376539eb01bb67083d00d4eba5b6c7c03921bcc1b62e8ee0434b6210736d8b86631221f8be5d09c64493b9178181d5a79a4f592953830332c57f99ab958e511584df635980e1dae1aec46878e198c099cdaccd76231d2b5fa19d6112b2033af6376e6f0369838cb1a1332d23573c292cc1c313353be66ae99991f668ef800fc0fe56be63acb236c4862c310acc6368cdd39bc0d181b1a795373169195b1873d11243fc322b20232f336604ed84d6943236f4a9a0d596943fed821c405c3999d658dacc1a9d16ab4f226a7269bb94a976c263b6539b31f684a236aa7ac84b960343439b524e54be643870e214600a1438790eeeea1710d491ae655c26235d82b363380ce093b65e50b0643525b42095a397be5d49250a20621ba3b09251ec666363bfface5989f6b10bfac3969e54b561e31ab4152ba6839b32374e8d8e1829de4899363339b2540870e213c2029654966323592a871a3bb87684c4312ba6168a50c466303468706e62a716a652de767af9c2390cc62b1b32683b5623112898dabac71d13001db98861d1a560da353da202965e4b3669094b299d58f588cb18621bbfb6b3ca6c424d106620b44148841e28df83778781a6070e0c0d1c291c307e0676231d235f3e511d8491e81d1cad7d3cc90781b30acd597278c86e46580f85206e46dc0d45e64497b9527ec069680b701c3ca6105e46dece0e1698061e208266e3e2664e69ccd8c20bf5696363f7be5d44e595973e6e49a0b5693c1686792f29ccd684c942779d676f0f03a73706a6aa4103535b286091c5a49e42647b663474d8d1482879bf2f471d6ca2230207870950ba81599c580e8d0a143c78d2b096d46a3f1b8710dd9f1f2a16afc0778dc484ad9d37266b422b09bee96d1788622c0349e616809255a3535b2e69350020687a49d2f238fe8ee201acf900bd078864e062219667a09253e0979f3ad9cd3457eeb8ce5d45ee5591679e53cad3cc99256e46bb09af355ca80011003001401000c34a8d0c0699857f92a67b322af1323421299d170be067b52462b8fcc8afc78189d181158ad36c3f9b2e6ace5cc68651119f9629d39b3d9f9b4198c86f3224b1af932d897457e05a313abe5cc60474a1ace9737b0539643d321f2e549d26667cd45c6701ed340008def2594f8f266e63a73482434b39f0185194fce584eada425a1048c2ccf98cd0022e3ca4c36c34469439e335f73c26cc853e745b61acb18818c276408208621b4707288ccce6f7d8b569e64ecc99a0c46de94b572f63a73889cae126746e318a6c0d13806590c2f9bc14e597984569e3932f2e6c9a7cd5cb093bc999d39a4ec55d608512141b545772fa144ab5523916495055433950c18a82ca1c4bf6049280173e6ccfe55dec0ceb2e6a4cdbe15c3c9793d093b61dfa295474a5911198c24853c0cf935ae93bcf97326832102ddad80c630b41a2616235d640d8d5f28c20b3edd2da4f10b046898199611df7af9f8d66aa6a4e59ce411b2c625cba1c979d51481dd18602616237f9879b27c596186c62ef8c0059e2594f816103e5a9f8412b3d9bf4a1c9c19edf5351209f92fb2267777d7d8050708a0b10b2dd2c8d8f845e9e58a979aee25948891ae6f95b11889f3ad17ec935002a6c675923835d8ab46d6bc4a5a79d660454adaab3c0233f2af23b0d255d2ca9a6c86532b69af432b738ae86e1e1abf7c9fb4f2880cf62a5fb023331acecfcc08715192c16e68e559be6a37fc68ec02d4dd3025197395352e1969a3a4fdd0dd371abb0c6998972c674653ba6425ada429695b63971eba1b89c62d4add4d337b1d12c9cf644f7e0d76b6ca1811b2c645963459ced74824af920613d252d4dd411ab7e0c0b07efc30e455ab95349c24a58c74d572485749e4618ac0942b59790456e486c62d3e340cad3c63309a5a0c46d2bc0c8d5b54dd30b4190d90d4d2292b6b42344e05c1bccab3a4e1d0ca5306abc16684a482740ef935b2e6755e64498b917fc2be74c960b57fc162e41119ec6bb0eecea1710a77c3c8ca92c89747c81a1d1979f3b39910ec83ee1ed2183b412b69687288b8489cdad3ccdec645c69eace19035b432c8c3bc6465ed65b067cd68b3d7cf4e981206b6fa32a75683cd4a5a592364c70ed68a871bd7101e92cc6476f0209bc14e1c2037ae213b76c462e40f3a74ec2802a391cd7ea8e91cf135f285f0c0c38d6b486d470260672ce7c7ab5c000f4966325ce3130a4e489c7c7437d9385472691cf6a0bbcbc6214e77c3d4ca92e65f87c4999d32d84d79c29860a22c6966de46f9ca89b964b01a8c7cd1482432b208aca4954766b52f6b4e5a49539391342120166c34066f009e3122640df62a6533228ac860b11c92a67c315112d1216f66de060c4b866426b391e5e0942e17f932d2459eb2d255d2feaccd6e60af994b567e49e4c70f43ca9a7355d290b527ff2c8f3835fea0f079e0db01a6567e49e426a756236be7eca6e6d489c5725c31d2f535988db2a479c9c837d58088c6a61306f6b3f35f321256d69cb3d3a696bb7b008dbd257816f08e78dfdd4934eeb43035ee64d0dd4734ee6a08d0b8234077c39cb0a7993d0ee5cdac8683016433d8ecd489d548243a389c33190e5f2b67afafc1623934b55ae972e5d43ebf0e1e4280100153bec81bd96c267b5959737eabb421cfb2e63c6539b31bf26f726e6049c89bb2e6acd5cad8d7605f83d59c4fe3e36164b3f2c4b929cf93fcda097b19ac24f2b1180cc927216f665e36bbf91911303ab118a91393cd9e367b9d587996319c9b99eb5fa5eb678ad46e669e56d69c650d922f227bbdbe06fb53561e295f9661bef52a654560b56fc54819f925874577e768cc5500d5987b00b76a98da499be1e0e4d4feac9527c9c48d2bc9ccdb80295f5f44062b897c0d4633ab299233a3d59cff2a4fd20593e5dcdccc64a42b169b9d497874370e8d372eba1b48e36d67a3c18db70574b7118d370b53d260b5f25583fd8f1f86bc4a22309aab4624a7f63ab193467e89e46b5cb01a243f3b7fe66dc09cb39911b5b288ac462b8ffcf861c8ebc8c82f2283bd68649192f6b59cd7a1819d33d9d3ca22b259ec67321a19cb71c14e1a89f3e49f64cdf9250d9663a434a2bb8b687c7de86e1f8d2d16babb47633bd4dddfd80275b74d635b4377c7d0d882dd4da4714541772fa07115d2ddaec63e85ee46406387c2446317229544457703d1d86d77c39435b2c645cbc1f9f1c390968e8c7c1ad8b7de4679ce6e4ada09bb81c59898791b30334dfc12df040c0c04ceb256cb27ac36c32981f8561330301090cd78e8e4c87c12afa376ba4a1a9af25b1098f92f8b90b55a79f33f7e18423393cdfe63e4393bbfac8991394678bc8e99b3a608ac44c284ce897353ce64af43fe7898b2a4d1999dff2a6b39afe39295345a8eebcb9af3a63c6130b292c8cfce17f23a6cc0943931f2c8cf0860002f1fa72c67e672e59997914f2b6565119ad9e7d731a34323612e184d292b89ccbc0d181d3256d256390c9979daec5bb3f371fe252b67582c1898154923837ceb94953432c84a004366be24f23ab118e982e1e89c1f8bc1907818da8ce6cf24e5299b01f13a66ce5af99a791b303f7e1892e32a9394ff92914848daabe68421799ad9973122240ee9fa92c89fb59c1faf6346062b02a3cd66de060c6d76baca233f3303fb5779d660b13f6b34184df9226fbe06fbf205abc9667fcaca1b1d12e7cb32081819ecac95afd9f9321859e3fa18e99ac5beac39ff6646a3f9da59d66ae49737b3da9fb4194e192b857048b8d09852e91316c3a9fdcc49cebcd098e2ee6e694c9d74c7c823b39b92d6dd61f7cd416d48314975370c8de902bafba53195e9ee0324295f3218adacc960351acc6b7673c3551ef91a6cf5b232f63c7c49e45fb19c594ded59dd7dbbfd06ee24d46830aef2081348485a77d3e8f61eddad6adc32e81a0de60ca46aa8a42cb86535e914a2191000000000e315000030140c080543c12848f24c94db0314000d7b98446a4e1c8a83b22446619042c818620c3184180023302334b415771d6023a2124fd320d80e12d9ed100776a71061e59c6b12323010ec3cdcebe6fac2e0d3b480f4dc96e610b0bce40397912a2711c7fbec75a7c4a701fd7c1c711dfbc70bd6895a7f0ce5d590c47e0989e7aed7359178d77e0a8517c052914a47f584c8299b23c1c97a18083b224e42db99389a8902126916fc89e7cff29dd99512d26b3d002b82895ecb7a4cf045bb7fbcc04d806a248ede4263ae3076a466ae2d6c0d35fe282d902df69bd0d93e4f14998df123cdf87a7703982692e4865d08d17289c9f2910d7846c4386875bad4c9a8e8461370232d608e23a65cbf94812adf7ea4b7f8cb9e498016fb2ecb0ea42de7e4a575de2a84af2238b3ec33785f515a3a4f74a43d19fd43cbf1cc1c28a7e0d994e33b6fb87df92cf9076c36dddb7dbeaaaf7e2932a45c5a8f449e66ac2d5a822a60fd1e268c8dfaa013b4115432b432de13e20f157fdc8bd577028bb997d67b4599e7e19080eae9e99d8349aef0ea09604c3255fedf11657bbbc22604f9285f421597091aa3445eecd7439fcabf084d784ad9bed7f01fac05a4c60161f85cb90eb81f178857cbf18f12e375839af7e2d2933f1e1e3c8ac80ba5b1fcedeee5051c96142d33f3647022a47e16556db101484a2c36a3f36039abb618d98ca295a25172affb04c56726fd5e09d2365b3348045ea3ef10004f2c2ec114f43883913c27c6e94802a550b8a4068beaf5eb6b228aaa38ad9effedbf4d79a0ff8f1565bba44ce2b92b5ee1349ae9d33049746430f73ae58ee50b8b46f857092f3d6479d3a1874b08a1836bd7d23432850afa4607a35b675c7617e80677c58c5d9ca0fa4c86730eb04382ab72d5b9df8f68e2cf1ef5c29f067799cad6eb1fffb0b9915a606f0dfa06bdfd1b5971314e2aa5fc08749fbc200c8184e153047c8132ede4ea51100ca4d3ff43843a85ba694c44fe0213e8365c2db3fd344e3aba57a111c2bcf7a762bc46042134e052910f55567c6c2e592b14a8fb33e2e323a28f0434acbb3ebfa421ded487baa33dafda6aa8a1b74e3f66229c5f5701f17becc2fa3b0264529066f52c862e9d3a32eb591445284893ba56dec37c82eba5e95f44f683c2e5e5eb87534870cf5f5dfcec09d6fd9bc434fe7455ba1c84d0e82efe9e547bab078f095f2462a48a6134bec239f5d2b4e3c1dfaebdfa396f5d067108cf2c6281ea01528b48b6585f231f957fda15c5095bddfcf1dc140e8aa8e5da160000cca2026fa53bfc0b325e11ee36d72f5d2d0b6b964e7f00456fe6b000d14ad770aa95abc141a35062b7779a7edb125aff86c285f59e3cb775f54e7f18dc3c0b5c494b82c13fcb79ece5eeb7e0066e7e15145b771800ff6f1584d023fcbc6610e0d8b6c6e87ef438e00ea105f4443e91cffe38f937ad88598491a91471bcde0973aba06043e236c545b338816c6e9c5215ec5997c676433b0c99d01d73940e502f9a8ffd24bf51fa7dcd99686e2f22b196567916fa40a086116d0ca9efab250800a2e3b2f03dc00c3c688605037bc7beae6a3c17ff34b9b05e28acacd23f14a9c43643e0b626efa3ad3cca03885f80108623e93578b15128f870aa11a3465fddfdc9cbeb181271509d40c3f182ec957b1aeb81cd723c19a26c9cf6a90c5825d89a7208fe0d6984687b14ab40a31a6516e5a4ec019335ad6640765ed9bad1d47ad9473473b8b4aca7f63f53669cfb58fd51af962c0bb17072a98a48072f580ff5d85082cb0a88e242575b2f1da387e96eac8f18a2c1502380a8060f00a7a2b8edfc88072941e3e38350d489a0f4a0a72d30e01c263238f9e91b49ef309e584d52dcf4310d3dac7952e17555a4d1a98eb8436cb15ddc197921f2639d1b1b778052f20589704448674716b7448cf3945a478ba003e1946975171dff2d73e6a81365352bb133ce42cdde5863a5b376795259bb87eb40d87dce42e97ae0055d8da07f4fa2ec5915e6bb46e6f6b2fca0fdff150b00e7672eec3d09422f01600ccba9bb972f46ec24fbad6e370b86913b035705dbf94559f4f492d1d4b39c37aeae665ac983334ee4530f04976ad810587c5bf3220103b564fd141bc1131a5e7e0260525b9aa7872cbb36e14de1bf811b49310edf2dcc19473431d594159653e295cf21fab3f221ded995baeddfdb443e65fad08e77d9a09b6e2714f8c0000eb7d540b7f14200ac0416d47ebf0f92e54a66331591d61340ab22297a12d3433ae04228a2f846aa3d45d869d7056b4862ce9a84a3947c4fbe277b2fb531864929d994bb601b94585146f4a8423dfa1b7ebff310f699800db06ccf24ec01d7faa0de0f921166a37b8c2097055925835403ff20d689005a953eae60f29179183fef6112bfc896f456f7dec7e8a217f0ff89092a120d5993e2cbe658735647c47541023f9ce072dfa37c2268359c74362ac3775ce24896edb05621ad949827c9f8cd03fe9d9afb3b54eabf43fe1361434ccc4cefaa7881db2de470c2afbbf87ca1368df6d76d23f18217ff98d5788e146d9beed08cfb1e5c8efbd7c048ca1e2e1c1bfd17fc60ff18d87b1623a0d51bd0fa9b6893806da42c6056319163cd0981bd89c92a7f0a07e7cba639c2125535bc63da2bda075a29e37f8801492f3ea9185e66f785c7a7940f768bde4a506a1c9879aede3f89900396026cc03045aac807d02241ad3432defe1d4630558dca07c053dfe0c164bed64aa9aa1746becba76b1841a40f3900febd5b61187a53fad7aefd57c7bf050929d1222a8723f81bca03cb2407a65a4b6340a267d5dfca1970e83b9fafa0f203552cb853482cca01536423468122054a82bf30e821a1fe2df425542502906112d03fff314ae37cefc977c46e889bd4c0c6e6d2c03cad511d7c71002d931bfb27dcffdaea850ace414129d592f840f395b6743efa5be0df3f49ae17c9129acf3ffdfd3f6bff83a9af820b3ced33348430e3dcc77cdfeac98ab25c029b226afa448fffea9726f3d687272578a9c7ad2409590206a8b357396283707264c2995dda720788bb12e0310ec513527e74c8fc98f449e2c1cbf4c9d05801a82571e910bfe55e9b483a36167b282c14512ad5a78b3569e5776c2844e9bcc5781a8de363e2c56d25c7529e0dbbac574f612fb6902b6256fc5aed7c4eab56a892f3a8aaa877c43536aa528c33bc4ee595c7dd01baf861fc590b6f2b43288ee9468db7b7645ed4532a675c3a0bdddb5683fc97e45c3f4711194ae3921533c12470658368447ca3d00f791d1c688eb87b8059cd0fee7488f08059e10dcce52f3800ffe1234e47f69e8e69caa3e4f0e2c862807089bb4deeb7583fe0d26ce05e478f09206ea5ff7fa264d2d4bfb009293f95ec66eae47947602b56add802099c49825d5dc8582a7ed7a0b0587a6952a4e74561ad5e6befb1e5102308d62f6166f9ac828f1533f389b42fc37fce04c6a82cebdf15bed8cb8a39b2718b2b68f3d9a2ce2a2cca91829f80a04d50f1f9fa62cab96e781582f0466740d5d29096f2f8047f959038b850e20038e0fe5ed0b4e7f89a2e7088ae1ce7920472d3d27cf76c4fa15deaf7128146e697c4ce1a3853ec7b7e1bddf8346949e99601aec4cfac74011722db980c3848ef09f3ad32a56dd4c9f3aeed50b34cade74d2ee08814072c76823a246ec5c28f0ea86624375c26be32cac35b99d4c5bbe691c09a256a2ba759899b3c8896c1efd3fd35f4b1e9f05714fa237ddb4b07427348214cf9efea0d737aa92d790bcd0732046d5bc87ddb9f99bae58b0889936abb45d20e54dc01e8f2fe966f073880153d29bc14dd173d6c16849f08c13c280e9268d618c2c6deef843900d7b702185905855681cf8c6c7bc582acda3bbf823b0f1def1e82dccaf3ef0102d7f93ffc4093886ec452926f297c2e660b108e1f5bcb192afe651ad708b5a5f5d1dc28a3dd61069da2d5b6398ca72e2bfa4097bb0fa3678e31d7500d2fbab7c58d07ad75986d5cc32c407d352203c196245bb1014ae169e035bb640c87bf4581405fc1ec08e057620000939e9fbcd55e613f231e0cffb21cfab35c14553d8008db084e3c37491e9a1efbe834a614a0f00a914b5b77a6b4ec13034e4131131c9591c610509a58344e811afb09a52faa092caacb363f9361294fb821d81436138e24241c099a0c4d447e364e371634039809b2c51e64243c019e14274162962e67163c13704ec13f050569884fab09fee9782db06b37f47092fa10fb309ac7c8076ffc087b09cf4123c23383be1b26ffcaf5fddc7ff70bfd034352f8d6cebe7d80ea3af8927d73d9ecb12f082ee8e780d394c3ad121f5fb5c2cfe8d9e1df541b33cbbd43c6038d0daebacf926db30dfb68d22c65181914a15e73f65ce7f8ec8d2b6574504f87c692d979e3109a3c37ed3d971a402029876600eb682740b2870cd90c86ce2163c4cbecf0e2e1132de05944b45b1f02c91830574bef25595a2cb3529aeaa9371aa0c8337a16cd1474218f014fe2b9bdba2bf2cd406c9a222e9408b765b385d916a0f9ddeadcfea028d48dd1d0ce0c605537414ac4073680b2b46f190213104c6c28e6e1d3b97c11df8c68699195861b1d266dad4c7b42b1aa0dc2d477561f48860daf7dc349059ebb5337f1cc9361e70f46bf4dbd6459134ba5d2c686e2b4659612955f28309193a511f0b669632d08d5a544cde65b6296a91259510c9f03b6e510291aad0c8076b2405a79e06bd11a32f705ec41b285e24490064d733574353f644e4a4b2b734350d35bca25581ef1913ce3c5ef3d0f0dcb9196f4babce55a632ec49a62fb970650cb11ce5542a2e3107a5d0c1986bfbc20f6b2c3118c3546b5535d4465162cebd1f65c93247967541848531bd161e66e8b290e3d4330e6a33d7afd79ea98c4065612932bba2e8ccf18b3419b88db966a92e09ede59cfc39d64c89bdfd56afa9baec9e131d92096f28fa5f4e0a2b16b9c3911f2cf0b440bc9da02c04ea20dccba73384fdaddc5124cb0f733c0492cc6840af112b25ce3cfcf88d1bd0c1483839fcfc419d54ed55655720e3324ae6afe4a7e1e4e891548270d65505b912b7751c137bc369414b555ebe3cc92381bd03b150bac75158be5850090381398be31fc3308e94700498083b3c67f459689b9aefa199fbe507328b40254339b515b76679d5038a7fb395083d64cc01efe4f99f48175c1770407b07266ad736072ce7fe55ad6e26023668118d9800c06d7bd0358d975efb7f736743960cd0f7fe69b89ef3d54ef00403d1395c0bed4fc71d19bce0e60022274224532e60d6c1fdac108b01b26b1651c40868dbac902e27a36a1dca24e37820be09653748252c21f78cc85f587c81ed517d89d4f26a7967b4f16f3934efb134e5bea17fac070ffa5aefda779b6a041d06ad31ffba0a369ebf9233e77f6607b676eaabcab0f8e29db3b7867e71ac6bc0657f3307ed2d69e025d89451c5a0dc415c15c046c1dabfb85dfff6b1303e1ea7928559a00c90bc8011cb92da503fec97e1f782d58ca370942f1fe3e180012e89096b25412bcf7e7fb46c10bbe35566a3fac14d0cf2c080fa8316f5ea53f5c042576a5d8f6ee3293aff4a2dc1ba3d343abbe36b21d61819890b44a5dfdb15f929b2e80b861c265efbafebfefebdaffc8eff44003d136de811eb8469ed429dc61c27d3b29ba703c4c504bf9b67c482d074c382a4ce00243e46aba4821607bdd401a324c80672712f6c20713108393607a975184641eb4490b3342d6c7bb4001268e464b16b3af70f9f4858006833388ad56b170018313388b26553041a9b9b6619e26aa8109b0bc2b78965fce592e830334d6cfc427b57a4c23b836eac1c4ee73736775039bd4c9287a0ac3194cc4419ef04e4eaeb0fb0a1373270b53429a1c46e14d1c62ff40ebb660a1a3e1481f6e1a1a0d33b2739f235e2143e292110037d66390d4613c9937bb21c61a5d7fcfd17cad370533a58808681dabfad50fd5399a28d335dd180f728e80385383dc4e16c139475ba81d748bcd2d52032030461ce2721a315b93f0c439ea9baa5faedee6373ac5cdcfc062cc742b030f1589756f962ce22912312c9bc6821b96b379c294193d09c545cb4d45e8e79c88e85fc161208fc78ba3930862c6f0ca13fc4f88999ba9eb62cfbcb16a007ba063c54a83a018a50aae95a1ea19b3e96292c8effcd6a58b614a2a0c8d275da6b9c260a5b94cb993a7a149a3cd9f4871629c9f95398195fc281811c29ed778c52c7d446ec5a419fb287892c4a4f005309bf87fcc536a614caac3c9abf4df5002ab90f8ba1e00db551abecf42b60d4040712a950de92c9f322ebed443907b0e289295e4650a84c3579d1028db88bc2394f9d5a639386e2c54760899d1f8686fa44cec3f9f5c408a504309feea0d22f7285fa42e56d13811a0ca07941eff1f6a25a85398d7c1c06f592b492c15cbad667fcb8def105c13e680010ba3a3233f4d5a0434b2b69c4e6bf76930cf61975555ae50cb6f6134869ded175a69af5a4d478ff9c8d43f2ba56586b4a75907f31bbfdd989552ab4b11de5c565208db2a1354917d736ebcb292fdd84141c43490a6a368083c673e65a534864c48aad74a1961d4466232d3491745959b976dc03515c40c74e293ebc43de903a91a2b31b2b59e5b2cf38d475eb59eb744a303a8ddfa409b91b3446773aaac022458b688597bf54ebc610210c3d66289ba0bd1f277ce59737705ec437ed6fadfa3c0ae3a7781744c447be311cd4ead313166d18e9a50d32cfb8bfd10683eda7008d247136421a6cc92c2c7b06cfc006e1621b0daeab1a07468e3ef27689025955c79280f5d09f9c313733dbceeeb2fbf4ff50bc66aba87c938c6303b379664263b62d18ad1185ed88ab048f3d62d78c17ee18b253932738bb07ac8ba88164b7b1c53d29406b03525aefbe4f1b0be8441d674006bce14bab3582f3a794d88603858bb5f86449f88a5a47585b84c141cd33fc45262d43eec62fd4176943e5398065013413eb1a6dba8329e7eed2b6a0642c4b37b33828808e7496578d77aba65d0114625997d5ea921f35fc99b526814ebdd5e7565cf3e6b5c8b544ba8337810f0b7d09845683c8d577a83ce1b3e78cd93bf484a51adfd905663602e2785192fc252e1da9580c4ae14d4d695a6aa785d75a5c6fa58cd9d4c9fd9be88141db82c695cf5b3b5d5a7b133ca60b6ba1150ee4c5eb5acece6678e5192ca50fd5e985019c510cc67fb6a1205b454ae705892609b016e9e6c11f00c54d803ee4343212565d85e22f9e9d471142719403d4c645f8f724f4f3448ce000f8d76c843d7fadb6bc2dfac45092030c25823b3892d82b97d4095e7e73d00207aa34f1dfc698c6c0e474562592e334711f12a728eb1d58b4869e19e8f840fbd271f475dbeb1bd58b101cd4a2c32bc1dfa4614e3491f1196b153d716610b84ab8c9f83b47b94d0677eff5af7541181934a5aafb7d1c76bef161676bae0962718e6659635dedfe5b3d4757d41010468a06e588938cb87ef6783a56b210b744388ecc39f5fbfa7569845aaea9a53886cd486074a7c366432164b11cc257cd8c0d9efcbd7d19e7b270ba388faec968bcd41b81b4c2fce473590a08dc5bfad9f1d5953c6f90a3fec5176e47e370e5b73f750db6c9c004a2d310b97db37a81eda48d40c1e44b8486210fad0527a7b65eea31e2ec73f10e92b84f430ccd60cb0858c73b873fd4617a4c1355d0193a78f71d3d9fead2ec9b7574a3c6f5a692c7e46d46b7ad960640ab510f27e77e320cc52e6f4541e4c62a1f8c111749ad19ccbbb326771e1afe4d723521a666253b6f480640b06799456a902ba1e699daa1f9619eb5f8c40a4f44dc3158e432a4d1a8e6248adb8523299854ce963c89139191ab98f861ee3a625d83201206ed7eec2a568e00b0790d32a723c46d0246c39ed327289e4d167fdc40d70e365eb781b93fd80e7df082b0d7f024af030fedf57d235146542864631107319427f9431bb78cee06571ff6bff51df31f100d9873b40d2cbdaa465ddcadc54014722c6974e755173b9d2d4930ae829716402958fe315d3ba875fb5bd5d5c1e2540b96712c0355fdd581f478abd86abae1538805418cecd8686bf7c8fa96ba937fe06c60c347b2fbcdf70900bd7c804e8d022d4121f7a6f4f5504516fd573584e8500109906bf14a698fe2de47dc014a7d2cd8130e1ea6aad8c7489250383aad5a2ccbee3cd75d438118b104fdbbb3b952c8916cc45b5bc11dfd12412356062580167222cba7ebdcc6abb8f22b4d7ab04d46efea0abf941a30f3be71f2c7922102ecbee5ed0e9c7ec30d786e01d6e5b6a1bfe92e58792945ba36da9480f6b559ebeeb818fa82385016cca12e540d297766f7c64b101a87a7c640d4143b6f4e58e9d71fe6428e658ebc31603d8d9b21bb0a8972418bb9a0b255c440368757d7d7d81263d4592265d377a67b80057c1147ab234ed8c664a9a84e50d65c48646a841befe17620d916fcc01ec8db380afce66ea6b242f6dd0ae0347eb974151d567b18287156a2614a99ed4ecac1a7e47b8f3db1c59bbdc401c2dbab59f09ef4bc22fc6f65dea987e157d2519bcdf5adf62cad9a4948302d60aee356c87b9d643f961a1c09735001360522bb15c6cf06704684096af1a4cd3d0ebd53ac9ecfc7242af32ada3b653f42ed8e19a51241e4cfedfe573338ba18dddb75b1c64b92acbc8037ad6fd37f6837f5fec886d0961de6e22f527371b5fb0f06d6c76f0a43243521e9d20418fdbf7019bdf5028069f4d97a6f38b8d56b6737db1e2b381e6d6c5ba311a491aeaca6e55e102f48c5191808b77f97ff12b6897fa962e06a3453ad1a19d613b718f665807e2ad880a4627747d1d2d0fac468522374cb88a4ed43366963661b1e5faa804b40acb38c40c9926a2414736001b6dc2218b9152f042e06c0254b7668f2176cb2597bf7f0d809e1f543fce6c6b9c447135a86db5cc97576052585e7460eed063f5ae350da85243556a52c3d2908a67375c1b54f18719dc903e66ae938d6b12be125db0a5bf7d359b2a87ab08e644991324dc3ac6e144f6a7296544367f7b8d7160d17b8a59f22b3974fadd3b2080cc228a7577187ef51033f7b7e55815074c59a317bbad9b2770edfd3c7f8d09c292bd513328742c84a934a83783587e0dcac1ee6dd41cabb4d7d1db25c8a2787a470fb88ed90c1ef3d316a5535cd0f6789fa50574f7bcc88e229c025d9e95550b0a87205ca821fc4a078776c4d33de19037c8363c72f3be22309e8addd662a2ab0fc33841bd14ea8d4662bd53c58393d272ca3e91766b5196945b4e8357e7388f94ca229799cc5e51bc61ed4851e18c170d9493665a73857eb80abba44a82993868a09cde47a44328b08eb6ae006a30f307a2815a75df2c82717e3cc249679cff94dc6945d040c93c69141dcc1fb15fe3bdf54f67e4fe948e958aa081ca79e4587f49fc87de505ca82ee45348c1bf32162b37a947b50b0f02c600c3c07818461d10d74fc9500e981384068ad79dc41e1f18cad6ff7661a59fae681d6af49125e72e1adf1b28a1fe0fc9832bbfd39eb1ad48374a2acb2baf9720d88ba9a58ddc7ce5bd855e8995ee3a01ac613b441b43eee30ebb61ffc83e0c14ca72a0b86854bda7100a54564f3b01e185404812bd0b960afd768b36b8831024697fa7eea282526822ace530a37107e1b824e15df382affa449b5a63fb677548c30217999488cf54edfe6444bc5000623472e894050c0e0d0f8619820816216fa398fd8e5399ca41539cd084c7b9987e9bc51d58cc6bfd8a721001d9e3974630ae098a35e7b8ca10978fe61a31d1b20868db18117e27c4470d85aba1b9fbb1e9aa855f6b4de5723ac124f1ca5c7dc8ee431fa81c8898580f2f14a1b42acc560c0d0775a94783a15b51eb616d10aeea4d1320efc341c8137f8471a5b1fe2da2c84230d65f3d1314519de73554ff5f41e720380523f4924ad460242798a806f4c1135fcb97a99e9ea1d59b69aff4bf7882c3d109a4cd60274e982ce3656f784a3b553e960e16a27536fa2b9deb11beeb1a30ff4e898af5608117e73a66e9b989dc9e9bf16b481bbe64a4376630e08a5bc757a54634ae210d6ba0e11a6a5023a6e11dc6f25b01c988c24352dc4d5511860a22fb8e39ee015bebb2ebbbeeb20bbaeab22ebade85aef5ec842593ce1a17db57f98dee68aba126b08b8e50bf821c57c5b09b834f791c6212702b2b8fee1f1b1d1232956f8aa2bb0a39d68334d16d23b324bc3e2e5d85015f3d6da2f6716d1dcc641413a1bc6266396ace40d23020fa454560e71606ed7549f006f5e75a04924fbb4d84bd13394626eeeb89318daeec38200152f3ade444a0d80ad797843aabd72eea5910f59baa60c18b396d0e94097828a2c88ac46af22b2e2b29d740e0a99a2dd9af19055e4d5f9c32a549f3487156a527602de6b4760462f560eaae4e2c305c97381b6e43335e2143b821d83c1c090868243c099a1ce92cdc6e4c70163413c8863dc808e8243c214e02d96c1dce2c60369c01c69e7db54be9d1651411aa7c6a0fb6c62a94526203e15bd609b81394f88f8cc7e608337088204611a3c91802e466e37e310659012c3836f69b22469371482812e467555fb24421450aa0e75173b20d4e2bd4271b1c4f64cec18de08477681c308a9983c314699c8c40c022203f3be73b1bc0046383b3b1df7ba90a2a29221c9167f5c920d8b4ae92fe404493730a6e87b2bd4183c0586076b8d0097112181982189959de4b17d06911e1a8fcab4f0ec3a5e58af40622949413703928ef8f1ac48c02f3c35dbbb44643441420e7a576e60d86aea86733101b64ce83d37eefddfdf7f9bafe393d046ee64ebc8826fe84c92ff17c4855e5d78c3d5ea5d4321b00ef590c4e78c54cc1a668f37025206011f0646872e4b370bab1c119d06c283bf64222a01390c9280124b3eabab380d94106187bf6422761139104083124b37c275d445744c510f2867a738cceb397cc1afd74ee45c9331b2ea43264aa542c74554f8ce470e4105f9b7bca712c3e64bea31d3d23c738168b3b0fde1f857d0dc00340006d4b699f724b4b8cbbf087fdce12f9625ee34497d5b6f798957e53115a74a51b5798a2f976db47311ca22cca732be06bdaed4f365cc626398e3d818296cd07a2bb52ba5de79c0b04df9d5e406f4284bd1dc0af8b61c7177e6752bbe9c3fa3641ca0de63d0c573356b2d7bf388631b6701cbae3ad1fb27a796533e3ca717d0c8d373459688cb961dd26d220aeb0f48e09ac62062ed4bda48a2a7ca88e8e6af8af3da080f8c3379417a5d17bd30c07a272619220f6616370db1bad129295f7ad0dad28e86ad23e250ed5b031ba41ff3458961ea4f898e303f6137b6c494ac50f037f1730b7636503fae18501fb2c97c0e384d4420ae1a6241205f8b8ea867161e8de5352769dae4fe2a5b7c5f8861306b6f0b0573d6a9b0f1a6a786186649971997aedfecbdbd0ef920aea03e7429806c0100edf16e8659d776a89643329e3df6b11a643c1a56f9a4d62880b6ea0a60248dc9062f6f2718f3cdc20127721ada8585c68d3c6d5b4491ad800bcdb29bbdaa0e19b588331ee5ec5a31f0231cfca6eaf1521492e06ea33c6e97bdbc59fff32a6a2c097615100dc56984dc0260101a72990e1db2a0331726a011e34000d81d364925a348972e5a09f37ba74cfb0676856919a56a35086831ab25f588661343dabd7e93130985ff5f42a8fd8efb5003f17294eefcbe61237dac3fa478ad1f1e9edb6823dbf3edad4b484a9410ad231cbcc693286d9a7322305818341256ff3d4f95287808cb3783a0554fec93989e6fc3346ae4ffbc5772a855dd1dd50f0eb7f5e6cf7d6e166405e6325a3a63f9148738979fca22eaa51ae954113fa3313c81448fd2934cc1ed0fa234863fa52e6f28d30e0d2ba94ee984ca0b7b19e1c335f1dae84f276e31c889c2e46ae6e379b3cdb56fe52808b4d89ba6ab9a0ffdeac917d863bd24627757b34afb053562d6ba027b8e794ddbf9239afd96a76a4d6dbafc26318c5bc7bd1f8e7b9ca49438efcc0c8825c74dffddd37e57b0a58b17dcf246609b3d4f74e405938283376f4ff002f37a39c12ffeb4656c604d52e4d5977a695ba86d4547b1b5bae17d924157beabf0cb182f8160e3c81716a861ee799381ae3957e824045f2ae22fc5cb74b8dc71c12c640646fdd9f8ca796d481db087eaad5c5e3d52615e036014f69b5d878b51957211da5a33ccadf13d7e61289c5bb7d856ac9313be4ff23a65ff9f76b25dde56cd5ff2dcd7b294c3dab21aba00f4a55223df90ab471ac8b9255125de0faaa76602baafb30daa96a66cd1c79be20630155f943f53e06557428c83167835ddec9d79846681aafb56b040b6a70c6b039428d458723d70cbbdf54238e5657d9ccc5a4196823b1d451dcc93840be31b77899d402c7ec52039ff391e2239ab76d8ce744fa9971815122e04e06d151afe8dc0a9e964d0bbccfad9a53e1d7d321438251f63f61c76d9c70bdc73041922473b0b14f77a0ec195d2f1eb1a8a600584e030bf924a97d0af372564a522e021aab3455a6f109ef6409b4f31c62571d917f28ef18793e71c096e5977ca7f2006cb72b6f79f607ecc701452e20f9f8475f2822196434f4a23784f61de711efbc83e4c33965c373410516f6e71785ea33c259b4d0d1fd3069c88742aa24371c2d1fb1249c188035c47ce4e01060e56743dd1806d992aa551c0050fd6b458674f271541695378cc332192dd4b845ad399eb8754e5b02dd8d28f34e850a8fe7f77f1fc6232d41943cdaeee07b5c1665229a1d26c0cddc15c3693788d1f35772698e86269aa3eddf757ff88116e1d4a8288006e23782c0f06f4cf7001857a4c4c67b01d0eb64dba199e0d0833cf8a338cfb38a823679731150bf58b4ff6838b30c7030fe12f6186988e61a8c5d5f02107434398cb03fb15792b97fd34855314b67132f9f1385722ee5fdf57944673c42003ad1f8a23fe012e4353eee8d36aecdb1085c8023a65b4bc4441400eeea0e6ffcbc78870f9beb430b201299aa3fca0ee4bcd4cab81c4f0082469b253b3e747087b1025d3e9c9a43fc5f2f71138ef94c7ad7f5f6fe339bdb1c8dfbbcd432648b47b4191a820edd6a7dae63ac4e8328032dc9637e37c5bf0ef1cf32f1fd51982fdfc3f7860ebbde6cc70b5da74a3947c772a4458c6501d2a651cb6a9a8ba7e4fb20e05be65c1438ddc09157671c1ec02ee132ae90aa8e905b99585902ccc1bff36d4ea5050217ad32871e80dc6d9a4a4d8b9c0aceaa136e7aacd03dab17314be3c1111d03a2b8d191fd6dabc9e21408334cdf46eb457d45e177e150b0ac22489551c08f9e2d703e578c1690578f2089b0b8bee13045b2144138c06d595fa8cf2a3072496d03a2def8a15122f52939afc4f6fdef0611ca7b43c39438b0da460625b62c890da45067959937d8b12142f936b50b6553b53880cec0a7dc5a8075a70aec391e2e77af47c39c2e06071ee0ee9294689cfae3dd1f34c8a4b656ca7f3b2e5de4ea7e27b99e58b62132d34f5b32cab047c72915f20f4b139a70f206a63f50550a5936d7000d08d007355ac2d47eb282c9bba8b33b3880efbae03a9a999afbf4947968309a6e5fa6f547165d7594cd878209cf6cfd146762bd05b31a210abd5900624d013a261479a38010d323a6841dfe200ed33d0bb124fbde5c585691670e2a78333c94428c265077279c4a887736eae3812425a07487969174a198056a99beb1cc60e2a8b5e6150f2faf3a0f1a1818f39af65ee20ebac04be0e59b182383355024605488671c86927d0a0802ed054bc2d99f0ca227666f5e3a25a0ad38dd307031a1ea7f90665cfcc51b5fd4a1428c35a406580d74e6ad8fada5fc48bed03471668f52f467efb3979967018c1bf98f8452219902f433da4cfd5a3b7d3aa62ca037d35b2139dc69e445f9c4fda6a54d55a2e97708bf598bad250e07c035d91129be612c509d0f1e7c6484ba4e23b7ba53272e32411d93ff2a5cac81e03619df1df19ed9eb7642cc1138a32659d723f62b13926605fb3c83e18fdf75bfdc2f67bf084e9ae81148dc96f1fbf75c577ff1be6c8e3e985cbe93bb72d66343810fa183300808f688372c91acaa9a4a67b17b2c3c6ab2a898deaf24deb7bb5e8c882674a32879163619a6104297a9f3395a015bcafdcf57afa86a5bd4139728e9cdfe781bd7c163122181bc002c927932b405663d8741311a3159f3de2e21095a285bd584049fe68c5605b76628f876c70d0ed71f29a70f105540d75414b51e3e97061f3e6d6cd9b59d4ece5f411c22176cc2db0dd4d04b75bbc6c1f6921a74079a3a55da96cdc4b845f560c6e4e7026791cbcd06e950ba81dc20f9b0fb4a8deb3e2e0732dd083da553b79c61ba850f1298f3516fc171d99b22cb6d2b4474d04c03d5d46d9d99918352001a28092c97cba3e1a72523cc343950b65f48cdf78c502979622b0800398642028b816b5c230cfc94e09f3d50c67c12146d4f86a8f4c6535c821ec98ca6cc06f4e3b3094ddbfa8d3c9c544e8a25af781dd61ada24ae873d731bd399ad44ae058adebbe477dda5728f2578a9826e689b04c4eef274e233bc252906b3486f538b412be19b511a23e5fcce3d6717c2f3bf7c3f21c9e9b967ebfca2cecd61cda33fe1feb1c767325baf2981be6501cebc9327d654546abb7318feed973cd2bd365433cd4235deec1a2e3d4c4c010dbaa4835547b89d7372789aa36b81f685edbfd80956c14e8c84bf4b6643a24a750551d9144ec91831190147e038973a0f7260fa35847595c8a9e75131ffbd9b2c2fc596120e0ba3b815248f64668870f43d6a1189183b614344e4f5b41f9a262f85d176d7691a9f304a63f66cdfba16ddf7864861d9f657173b0667ca17c7901e4f5039d1455ebf378c22d12f1b333420aa6f3c8b5726f91ef78cc95232f5a284d84d56510791a45a2f260e1682d4841ccdc9ffea05c84776d55c3f2c33203bb677efd69f7483be35b7db3589bb0ad00fb5a518a319a11b51bb1d88552e5be6bb004ebb08f0c98c17ccfe93f8a15fdd246de4b9a03e83d2e414948bbc0c73ec0d53d1006afc2f8a8fd761a91f7ae94d8c707c5652aeb47dc5e8be64b7761ee93b975b1acf28c362437d4a3fc84274a1666ee4022150fe1bfa6c44dfb3f745ac209ae737a99f2d509df1940ebce70a247e58892558c782222e85632959ebe0c536b8dcda3090b13466270dabb3b1da169dbfc863556a6b20554a00c05d0d6d3155af5ecae1a4209beb2b7c34b588431f4146e59391f3e1e14e590bc3f584a72a7b4c50bb32efe346925c36072c52f93141dec6b02cb683c56250cc2bbb6f2659f2b077d62fb850b667dc32d51dc8e708957e6a06c6f8ca470c740cbe22fb51c392c3b636d538aa848e3feea393a7003190fb5bab301299b9786a6990ede5a3d6207f9babaaff0069e8c81ad45a669b6555b193babec6f17bd54fd5f7a1e171add4a6f1353155f078f8715f842faf2a1a5233fd85be91c0d40aadc899de138eab796ce94fbcce95c9646103c2554c9ca4bc120e02d6a14742d298e7c31d62a534a947d6007b10535c1c8077c5f69ab9b8630e886ea92c8a010a1588bc0b57a77158b997c39ea4d7bc63735431b4dce5f44748cebae6ea04aa1d62f6fb0c25edf2c9f98c2ddc0a491739cff4e9e43f4665e36ec113f71cabf2eff807991c68c87a3a5fc791699b6317e2fc977e86c30a4a340fa95050d8e1818b61ee360074f73f3d8a8078d5f85b3bf437f274bd8bd5784c82b32f610763c915bd3b0a611415b7048df42f186021f4fe1069e65325d2246c66daf6221df8c800ea44e485f8398fecc28a88c253a4314a4317168f8f70f9d367022780b233257e2bdd00c49958e1c2b54ab9ea15042e985aa70e5a0dcdfaaef9d0127ff2633e9cd5d0f46a008956b85417adab8136551b2bfba31c5eb5da3291b2440492337d38296d62ba05a79d10c67790128c563332f1f4cfaead0cfda76dcda10402aa6bafaf23b7716344292fef33931241fdc65771aca0c621fc1497f473231d9d41c021859c349be4161e75a5bafcf7ed29f2f0dfc596f5db3ecb99aaeb976a20fd50f0d55844b8b0cb690b94f0985908a4cde2d8111352145690745a59c7490486cc007c5849f3555cc3796ac905d1613987918147a76a103e5ee9d2b6d71d4808a876e5c494920224b0129e66b14f5e6a744dedd6eafd52678630664dd1005be7e58cbd000d9eafd5391594ec5c62fcc96b7d67add5538b822244fd4fc8aada2fda17ec732de567824b08ac934bbb7bba70ab46572f270374b2b30b8aa1d40a57bca4816e74450d7c90dbc606852eb8815f991a167a64169951f43a694277d5224a0fb71fb23bf986b0605cf929b92ebe0a2142a8436800b3ed1317ec75ab43782ab122d87cdc4995b8ced4515df24e8e5907f7a819f6d9773e06ae2dd11a5ccf0cd7169bc2a38b00b4e614952fe67750c600badc10d18c614c454f670cc62f6cac0903467567674646383a1ae4ad96a1497284fd7c5b287a34fb697232c578dd19f4e9210dd80e01c1e5f14c03d8aecb0b1fe8e9aa1d58655fb8c2714834da11ac9bcdef3acbea4b586bdbff8bc6704445760cc53afc8b495c6f2e7e8b924614eeb6c26007e3c5e1e30e4610d3a0ef26058a819b98e1a2f25c0c586d4bfd4f143bc09bdb4d9d15e1825bd535ebbf201a35a8857c2b3d02e319b8b815c425eb19bb7dcba65eec37b73b189382862c3edebb7e0250aeb1b293476f51d114289e5e580fc825f3a7b06ba72d9ad65966b8242ff93d12bae8138cc0212afb7ed2181515f31357d1c72335fa25f26b3f16554fc123bd44bd6fc32c69892d76ec778a2f3066a4bd9e662b4dfd43228046539c2da53e1d2202589ae943c46c3149b7e411affdcc8a50ef5d285565ccca4512094c51241db5ede887cb000189e3e52e5d226b6844a11a0f054901d0352485dc700a7d226466d09e5d41e34c6c0ca03d824b883257517e0667b7df706b60872f1ffe2bd0515da204f0a656c65ae8f03033a7d2dcfb62a574f9d2658096fd791fb715dfd4be279f80dde2940d32302596f8b9bb955dc8b7b28b7e06d667b1d1cf843f62e3fa8109ff35876d5c050e248b170551ea816a1e8d4b62e162b5587ce7523ab8e4e89cfb363c6968cbc28eb25161ad87339056bf620912671a439a84b6145abdb58261a97c6b84c2721c93018e9200dc000ed07ecb5512b63e035d48bee67bdd5ed2929ebf503e3ac17724adb917a192cfdb15cc26c49e3a055e198d481a3a3c1ab160c8b94d3820da751fca32ea5685212bc47d489a1418562480db5e126b5022937a278d39230db5883c9cbb3874388d06cc2ad62a2f967fdf976222a252abb6b7c0a2b64be5ab6b67c98a66e8672e9f55c43674cd8d16029794f426cf0026e5064ddd3d377fe8180046110649c19e675066d9a6aa15bdc1ef53ee73619232fa692c7cf4f47bfe75b060e78ec4f4a47bde04ec02005dbe969f87edec15205587d4559ca3f363a7134872bbcca1515654a1d7b8cb5fe0b4546f1083d62b182148aaf48d066c99d0bac94c161220622d0aad0b5a5b07395de80957e936b9132440ea45bae234ff658175058180c113f442a878fa8411f9c3c23a76e4555c2a6c961919d8c19ed07ed722db3c667b97cbb8216309730aeb319b633d7ca486364e861f2bd112b7ade36b756c9cb12f05c76f7df11de5c70da9d03da0d09e8325a06532208e7b241b2bac6c13950f20a5784fabf16ea974148125982ff597e89f166dc0ced0b074c42e787b6fac20557b6ab4adf9047010ac1075162bdd7e4343ae5a9f5d7cdf093ecceafffad166ab108a29b1a952c5c912a02a7c15e6f4c2348400fde76e4366ffbcda9a575e9cacc3deec5e44ff2d585988a334dfe304f0ac8a09b50e683839cf9a60d1e5a99ab98815afda7655a06be06fe505f3e12419b073bc60324e27b2d740d752d6c3f2e2fb8e24a414038b3ce282a29fe76e56f7b029af01c556f82b3392cbbec49b332b09ea5728187f3dbb36ebdaaf9e441f8738f5ac48871ee8930de470d6869dc43b8ba92bb4a1453b7fe4bd33cb8da2665ac73e8a3af95ea68b49417a3ff980ee9bccbb60e7d89f809f2e17b0eab06ee78c1b5221bf782f360e9d5450461c286a15e598fcbde1ed0c63466b2b1b0a90acbd1ccb4144793fed324de7d7269ba609cbe9fe8c0cab2bd6250de76f5878bffa8a45dc0f0499d875c9604da167396b23bac65705806901b30122427cda0289d3bc3a8bb3a19877eed783a01b5419c35df67a1031de4388e9d21b8e97c64c4bcddd191db7bb5fe66aca5d7f7013ad6d1fa027a95c062c90327d3871b1fadf1e019054b0b689f321a8833715d1d2981b3beb77952077c48b82600dd5b3be19924dc9d4d4272136f28f968cbbda92b80302b042e3ac53ddbab1887396e529b0e81bec852d150d5a4e88b525fe4e1fbf3c49b824853ddf85888144eaed882d32237b71c00a655180d46c44cdf7f21d95f80018810a399c106cda6a49ed4ac30094baf34cece51922936dcd67dd2f38e7d274e064b923483971a0845c8f689f94e4c209a34a488ea5c95bb2dd322fadae770a650a4b567cd54514335f56511db0bf22ec63159b8e8d000804149bf2f7a307b2f61825ede599ff12b0f4b8eb925d9f0ff938013f00f237c076bee25e8fa82d1f1673328fc55e8ff03e65eb077251ceeaf923168ac7e515de823e22fa37c35aaa1d813beefe72fe9dfa5331855c983d3921f10a35564587b0e5e1858568811be58204ccad951978f20505119d8ba8886db38d134292ad18b96519b50722aae56f5de219e9f8580403682919feed75d1245e1a7823956808e1644296131b6c0afd655fe44978c80125f58903564809053c4034e0403a38003999f7abe88773bf08ca859462caecf14dedca900889738f400119403794129538e11e5809e062a4e6ff7ecb2ee0f082421947420650ef9c2b68be25495acfeac2b4de57e4cf1296d307bdc7a086b58d9514af4d58d3a80f911b6e9bf488f7491bd42e317773253f889bdd79dd1851c1815268dc56d92de78ecf1527b6c7775013a197959e8893626ff761a2724c9e3c5c4c054e08143492909e48d92b150349d022a4e9ffe80d79d186ae56017382c157496e6c3bcff4035f99cc9a5cd703b173b0181d26215bafc5046212139ba218bb6b9a25b31782128f39bb9473ef5cee31fcc64247516c01dee0397996e2f8aeeb0f111b1b80a27f30918d8c0022a4be497e136230f5a2c7c0b614fca8403d1ca26a5f2d3fac51ae36c1b73993326edb88d588acb582d93cb2bf9fe3b25d5fe376a44eef04bab5a07df2836f10b7729e82e82eedd099450034cfd785e82b2508062d71c981003f81b19083d8383e67e5cc66a09d910ea102982e16b5e598e617aac6ede54c366471066ab0b17e7707e9c8e21217ef0f0a77e84509f774b5e03b842b8025e2aa6953a94b21c8b282f61adf338d5a4f08ba15407ca0f5ab67e401b7fe590b402ad7d14f215dd6515f93f8447b82f709018c2900b5eb830603850832dcac55e822142bd29d40df87c976d84b17c07e7e72bad3e62e2b1a6d3f654dcdb88d8bc8a0225ad831252bb401cf812ca8d17fb608b917388173efb4bbcb424c803691530090a3612fb94b4defca4d0fa5cb76d5d53b20ec8331e525be11e11207cb07c3071270a8194c9bd5b85682228e380b4df549824c521e9be9b4baf7c1cb713138cbd2281eb00950cace6ce57ea4ac18791d152606d7b2f0b644ea4b925dc288f021d85e0707ab529b64e2f8273b1ac62a9a0d24eb6c8bf5b10c78708f0f0d74f8d441c42b4d562ffa98cc648dd4c8598fb63356d27104943e6e19b374ba98de3cb23bd74cddc02b304a961d4e55af74566e442f84a5bc84b1153967086e7887bdc063f122565c823909185955c40ac4a1e851c4f14437cfa9d38d3492f57b61b10b6965be07e95349d13e50d49b9aedc27d0b10d5a78b111dbc207bd1a0d411574fb03eed5fe8da9aecfa97ea28f89649e9e3a8f307f711269703c53349fa8bbbcf7d9e389da6fb978858f8bb2b2f77b1a3a3c7cc510be5b76eee9d7afd7cbd1953bd3e2a2afe04dc6af9e24f9b4d43d636b49e8fae19eeec611191a1690ac8dd9f3741156e73719eba30a3dcd9bc310c27e6450fe9cdca122e334e96e87a4445b690e2b95a736a1c30a2700fff4a7f9c71206d2481275e3b700a3f50d919b206cc96b0093e4cfdd2f000ea072a402677d11194b6bc7406141a926ca707c770b83d333ac91e138adfeb62da1e30e68f036a4c631ac6269a297f4b6a112c44ce27e8707638114373d5d9e02f017fcc52b0408d810acebfa0ff780fb8eff24369eaca82f129a5b16db9f28701f1309dc5132b4749f9cfeb7ea75731327429165a86d877e82d59f3cfb26eb11dfe4939487ced0b684829dfcb2d31c217c5997af03f27a2ac705ca4fc6fa24862c2b13e9f55789f4a82c7443d0c36859c28a417a9e654d5095c52ac38165d17f61005cf3860c57270589f4dc06e6f37ffef607bb0067a06d14644a8d68d0eba4c132008d68801ef2f282488dbaa01a903e458d788008ad52b6a9718a423201cab9fda8109b2532e598246f5bb499128f6c171b45a11a59b9b3725da149863a14c5618a540ebd7e92fcdaf1ee9a225ba4b02857d445ed07ec0fbfe8bdc55db87136342d21cf10de2f3940dbe1b2950aa1b12693c31f7cc821049063a40f7d094bfe9882d92648d78aff18f73be59316c222c0bbd2c4364dd20bd328805a16c21008956120c49bdd93c3bb429cf8a2fa03f20df81feddfdff1268d522922a9692a701638e8fbe7abece508997a9d878752d8908d5ae970b20cabd91c4d9ce0d604bcffe733525350e287a72b18608ad21bf8eb2773956fa40dadffc3c175f47189a133c1e3249697f0a16361954c94f30b19619ce0dfc550ad1abbf1b4412721b0078d1fa32dff8a0f6c60af558efe77a4135db1d1cb86fac696750ae8ad1bf8e1100b20d776c0f300c31201181e2c20983a2f58dbf888a2a9cfe62ac35b9b65a1c55b1070d1b93fb9a1772085784789960d889c4b037f9948f1f8cb614170326602ac0412199442adc10901ae537725dc64c0317428375988c2c24fec3961f035a088d9a09febb5fe984c4bb22bbd6101a84f302cf2efd4780f3732348c25f9b67c137802b2140751fc167246b9ffc97bf950e407a5d37b1213b09a62b3408e7d27109c493d909961e5732261ac442c3522973aa2a2ad2d74fb160885ee0faf3eb52a942bf62848d6e9f5bc96068486fbb302b88e8b820711376d858b40f5291610a2e03ae8271381ffe1f63561a9169c38ad549701725e2440109411e83d8b7c48941e54f52b89312d45de82e2a71225d6a13c5f89d58e82907e74932f926cd7d023571822050b88305bfce8f50ce65be78027573a3e15c0afca2e095dba7b918eaee80443986a4bc245b35a124ac6628ef15055a0f5c4a36f8bb50bb2b62f53f03ee58d88a4bb64f6f4be7a8b3842b3768b8fed4b720709e7ad9b0575f76d4e6d3355ef3afd0c2ae6f2b678f8387eaab23ffc92e1caf15c508c7ca8b651122d479ebebaacf60cf6bb88ef12d8059dd8ce83c354ea7c846f35860a8441f9c93415fa494029daaa27c658e96311f58473de49833aca8c2b8a55d7ce07629e4ebd3812245e5d2404067b1af275cc42fc0459c47aa6cff7b2ea7a60d3ee6ed4f0f6a000d7d940ea8ad55162e6c8da5e8ff36bd86debeb701befad4a7a016e2cdb364acf05f5cca80820c64bd14e6f95d87f9d638e19aaf571dc6a8a6024900a017047ade2033e27467e310bb941bc52c735b5ea493aa400287fc8dba712887cbb2a29c31436645ed224320958c3f4c699f8b5f1398433bb9e976eb921659152cff7f13f8fa7698b0dc67ff72368e2ccb9ebebb1820caa1e1f12292b3ae1cf75c49068f8fb8707487ce359ec432b3b3dad1f42c33278cf788b55914804568f91350068d82a9cfa110fd4f904dd69d7d7793cff6469715fcb21c0a6323298c412f36435d58f9783fecf13302b0646eb2ce4380bf17335523500d90bd520ddca6c04b51f075a76ff2a57956dfa9fba273e2c548c1649082d2e30260570e6ea44280ea77f339d101aeb20c1b7bb99b8172c67c92c61b5e362e4b4087a61f2c889d15260436b46143f110be8c9cec7980f30382504454bb04689332dabbfa6d877989913bc580e0b61070739892f70f09447703c659f5ff0be99372a95ef53e8d0660571c48b6579ca91d73247a2dcdfb8bfbe2da36688b50eb7ebe468961051b87e4f0ab3bbfd4c5d14f51b7a3613f626e0f5bde2e9db052641f2bc3cb45cfd6f93f1df2aca10b44430f8da66a80fd33602e85ec91f1ba3ca21c442dae1914fbe299030dee77883285e8bd5d4e6ca52f3af154f2401a8684a08277da0ad3ea443c4f9a383bd76ce1f9b2c6706d24a7631c2e5aa092ab6ab7eed1e06d74a9ab12a274b85d79893fb5fe1156dcdda1f054e55945f6a600ff524b51d8ac4a917dc309c62c78c94c85796c1012537f46b2f2d2e7ce3864926369ec68c2c5536deec17d530ff02ad55112262a42b830968e1492fe5df64c8ce52640ee18c450d16e07c6c73bf0068168803d63d12a152573d472d602bdfa24ef73f350e04789659f38a72e13eb1acedd3834e182cd40aeb1b452562092ac5ec14cc01b2e74137d4007cad5811449aae92ab18eb50cc8d447917df323fcb9ed7a47ce76a7d81022b1ba35521f7cf85ab1134a9058377c3b3c63a73b52d3f0b883a912061885556a6e09246355358d759b12ab0b441c27c8e31c18e8b4253e481bbec321158ff70a25d4fbf1ca68e8103f2bb7b03385b804a41cf06a4a97c3e590be48d49555756a09c7e9d8d054b0aa21b43fcbf0a66c332156e68d6592a9e34bfc8ccb60ba8d493e1bee9c9faa09177e4f38cf2992b515a734f37e15291534be8ee7ff5de15e123e52801ab31066bf1559be646747f53324b96eb4b7f734b06ef783a084bba49fdc595f0982329193732be6d71cb51654d70976dc8a36e3c5586f3fb93c2d363c10610e823274aa0fe2d871c149d6b67cac941a717ae0a646f51ad986a67e38ada922c809adc8c723c60bd5eaf6042266a1af3a3ff4e5b4b68c85cefec87a0a66aae5fae3ab5346213dbc241a8f1a9aeaedb51770add962b7a43a653c0709b02b1097344b97a11908b9548dbb7a22c5a48d0a3c90b66e91810f5cfde2b1d1c0872816032dd1c007bab1476be9cc3ccd495b78d41490d337e9d510e71d2207044e8d48cf76c1a503ac8016c690869fbd2f663986359843d82293007fa9783d63d5dfb2eb33aa05adb1f59b0db6d1b186f88cece47c4a180ab8f12490608d094c4dc9ec27dcb4111f9fb265a9b87aa81b8434476918280b821f333e0920f6285c6340666cdb863e5efd5fcdc5ddff6e7414d1a1d52f18718540d6199a28ebada0903e60d15906246c152032b96468deaf2d6eba7dc7241f064575b02deeb2b861dbf9050da637e4a0b04cb7de0ebc01657d9b0c87b87041343243d300e06d0cc99d68247b26eb6535435c0c8bdde2881871d789c2ced00a8d623a7b31a74e9cf347a563ebd2fe6a5d0adbda87dc8afb010714201549f59b1d467aa59ad56a35a850b66732576b511d4482ab23f6e4679f15f9fcfb481cac6751660ae1f46a06d9c05b5e4eb3a2885804d555cc1294d53871c2758b074af74b8eea8c825a711259904b4a4d2c0e0c22df705d1dbe7ae4631414f321cd9e2af98b827bbcc5f68b5d03512312ba9666451f7ebd326f1f5a7017090beae80a56765a21c40cc5521b29842955b331f7aa05fda1c810c6b03dbd9349a4bff8f964064d22b21e08e27598ee434489faf2247ed2eaa576294e60d4a8fc4346dcdc0089763b85776c3d1b66367fcc76eeed03c12fe5cb04ac19ad426ddbbc389681f7d606e68449ef502b5f61648d9a525723600c2aaa953e2a914d5f03318013b2c01bbd35dcf8472388a8691d42bb2fcc654afd5c4ce7c51f5855d9d117fb86c8189d38e920a51a88d121271ddf94ef1241cd890c73b57078637314195bba4be26764736e391c0372fb0e8d804b86b6211c0a7e69bf9a2249f5e65a737bcffd7af0d2dffb6b5ed318a83fbb512bfd7087d99c4ab1ae2d2d506c2601f9b892bef8ad4f9cfb05cdf4e167bcaef5220700ee99cff3b1da7ba647de675336fd55b752b2fa4c5ceb84fd76d455f68aac84a1b82d8952e26ea8c5fb46707496705593dc0c81084e3f29012cd9ac59420487699bf3e88ef4bf428dcc9535c0f9b74ffe0ec38db6c73e44922ad796c2e58e7796082ae8264b4f07d57f253fb02db97c4acdc76ad70f0d743829b8b9fc3090eed981a09f0e049c0ce20e6e83106fe1f39da7ee63a76544eb9e6df544ab621a6aab53152803b4787d25228da3752cbe5f234de012d27074c1491998679dc6bff6e9377b113cfdb1ec0db6d7731925f5ec5b3f367365fe8b7402b1a41a967b9cd26e8167db3a7c70527e5360e515f6bb0a20518853b669bf78f5a8000eb4365a25ce736c265133c494250b223f73df3ff309c514658e0891ebdd41336facfa4680ad0adf47d4c4c5d19635272c5042698a8d82fd74a8fe962607fa7b2b9e5565606f5d3072808b4ae5896966573ce280d986ca6de90f300ac7e07278e4e43a76fa1dd2aa38fdb8f1e501e3aff4a2c41498f67dbae8cef4db3e6a8e8c4fa62d2f0bace74b7c0c0cac9e3c455568a55e2654bbb813403de13f3932a0d095f55d9df97774497183a6b7b39ddcf1541d8da59a89f33ffec7e3bde8453352d708a2adb70a5f952d861782407ecb680e59256488b7fba6c328a79793c46a21f36856575ccf5d35c2b6692dbfaa489b684ac0d64249e2088de83f91d610c5ad9f26ff877efd159db148511843c5e5c54b92b1855a345645b77683b3b65baa4354eb733bfd511593af68e9761f9ff471ca021c3832d9c405ce74bf2207524afd41b1c4cad04afc602d354278e08692475ccdaa0ff210de3231b9ff6b0cdf0e6bc672f5afe6f9400aeeb9b160f6eb33a0fd0d4c772819f743582ea08535084b3906dc19788da014005dfb1403554915e0a7fd43fe98d5c166912f745db480b708a6afe30cf0fb219ffe810780b4e880ff97b0806e43557dac286e1d84b8d974687923ef52e4babea28037e507f51f5cadd1e92b507d3202d21a6dc4044c702763b146875cd0ee788f457ff02631c6bc0da3ca0f59879a8ed40be7ad5d05de9a7eacaeb831bce30ee83214dd43c674fc632c194f5ac12e41fde34d6e58484ef0ef3418ff9bbb7ed456bbc974a614eb8767d2502d6651d9e1cbef58a4d0d5231f334ee9df747451103d3a6575977eb64427a35816b544fae00260fee06cdc825a9dc62990e0f0c46df3422e768a62a10a88aedbeb3b01faeb328ae4b8fdbd8b416304cf64e342b51754cb1a9f1e37545d2b10224d4caa6d72f1d00648602f8959124c85d83e3901c95468a97d0fdf9804457ecbe231c16768aeb0ff7d2d84558501d39ea21662c8271aa097cb36b6b85f5cfa950a1ad61942d306730853700945594bd7136181ea55c9559be3b74796df73b1e74bebf9a10ffbb6ceb33474421a0b8e19f98e5acd7a2af37631573db43ebb4243d2081122d2ba355de0c3ac661946044f6e8bb37c9a5db9b015b11d20f705d91e205e92e98f66f961af30826303802b433b40c7b9d64d1f3eb8d5a44a20e5902e911d8974efb3f7118718905111ae216d56f31b35766c643fca9593bea461144f5cda9b03e8aa41cbb96f2badc4385515f97ce21bfa16246b02466b5d0455a7bfc07bffe066ad76270ed11023f63f556e83a3850536ca2cd8adfa01be185efb611ec86aba1219b5138b60bc60ba47fa4cf7cbecce7081aecda372f2a94fabb5f36b438aff6cc865445ef42b115adbee29e4fd3e46c56bc1c45d52e2941295fb2b061b7b50c9d3157dce1a4789125f4e196f107aa7149a4a9e408a644f6cb00af3457174494e9143ccac0cbc284969510373608a6c99641559ea77d7694eaf8ef812c63204a2ba7eba17ecefcbd66b24435a99749316937fe17ed4b605a4dbeb361ec6610b852279ae479ac10ce370ae12054d2528ece43292b4eff3d1d25fd74787fbba52474933d802455342f8b19d5538bc970f90ffaf83c1f6c4a6c338dc4301a000ea7603cd058b2114bf2a211c3fbb97647c4fc71ddcd723212d6144d8ff5694f0f7de5a8226d8a1fe2483a02801e36286429f0eddb3e1db560feceabd8de1b244472728bfd2b21049e08b82bb3dc48c9ff5b27f4576e82e81d2de4c841c6ae9786d3c8a85d69f425d3ae6a806a13cb2702842219232af3304227f70fa7f9ef1da0eeb763c15d9556bec316fb7d815066bad84e860d0acc102366e718170f32d503bb3e69feda651787cf0786dc5106f20044c9256950729ffa514e7bea642746fd69c5ab9663a0bfdcf42ac6caa5f166d5a940743cc7ca21d37c4d1eb441a1da1426b329f24ed12682c625518e8ef125a671987ef53397036900e1cadeba5a4f6f425317be64656fba89926728532e8808618b19eec852678d2afdec151632ee57feeed23e703a8b1415cbb0510d1dfe4a6f632204212551e80a6956ebb22f4c7b2f808faa23ec2b338622861488ba11f2f21c297d68a66597875569d30522853a82992070df250ec5b98d4d7f0e11669d6654af1c69f2c4c848663d6603df5b9640842b86ab86ed6e0f76183b1cd12105cc312573167086e34d53cd0a7537ee268c1b46b4e0546713e800e1477682dfda1e2dba02b12d6018a83910c57503db9fed46dd9de44da0b2547447d0f4821b20169af4bf37fbd07a8101e1f7504656903020467789392ce62e563a88b32bfe232b37561de152c8cc3deb183a58d72227edb63acb06eaa5d3fc9c404da1d4f9f0998d7b1e1815ae918527fd6842f768e038717cd6fbbe4db0706f72ba02267e8be6671d61416c60f4578fc6a830c766454ef834c5fd787a125c74cbef868957051446214b7e1150722f5cf63a1e38290f4bfea9acc3fe13eb387efd0df0f9b5cca535474557cfd1d802d2ced27dec089fea792bb37e8dd52ec05ff613b8f650c93294d82887be1c70ac50ca74d27f87a7b21eba255bc10cd3551b66cc4841b61fbe59a17680cd4a4076d2bb6d59fb2e39ebae5b3e8d500eb2179b2a3d5bbe5913958ce9434fab7e29d31b5904ba838604a0f972a1862081df412ddcaee7cb26431d24d2dcbee41b190eeeec8cc863d07f19edd5837c614a44ccd50bacb02b028ea948a4adb38246b8ecf62be1a8fc6600702a883f632e00db89e35bf1e6b4122396d571fa811555e733474617d911d0dfb5a6f48e4f4563d750cba149c75dee764d3b87102431b13ed8a3f671f28bd556535d15e771ae1a2fc17752ba5e5eb84081af861794db22ab221e854bad0c527c4daea76c9b86794ad3da294b87a9a65b16df354e9be80f0602b3546da72a0e31ef1e8ab2dacf96ef154d4dfefaa4a3925a753b6aba7de34ae31e4498eb17f16f86c354a06648b6300cef1efb3b8e072a71ef52bacb038cacbf0f4c3eb44c9eea5e74b23d8e85a4accc0b83ea3fabd5515f730e74055040dfc880e6c5059202a48141b596de9c35b373c6b37ce512503df792bda01404ada645c3df49899dc2fbeee48d3de3bbe8dd27a729c3abbcabb82658a4cbca6389782f4f6cd78f6598b39580bd0cdfae14a9611e4ce712a1ca2d31842087a5db1a8b8374429af85856b120a929fab338831198afc9821f0564353247987cd6af1af3a279e6a7b190b69b66b06181ba5063295955aa68cc296b0bc8e9df5c014b98e5966e62680d4579a159116eecb36f4d5a3c9016dd9214997870bf6ac43e874391db2947001138e3631b61fe1db7163af96312b6d05d54faf79e1fd6fb6eb81bce0a0868187ca70c180188447983dd21a64d91175f9ca99605a31107905c17170e12ac2840d5664bfa4125602134a095b17928b1990b98ac47e2426514a925d70f364566e2fa33ee2d9e579d05b62f689f45fb8dbccea13cee4250526e8d8ea5985b555972a975de3bc74ce279dd69db30e372e14937bce4d0ff5c77490ad41e2e603f2c96be8320604b2b5af9d19dbdeb4c4541b8a4935dafb6492b872ec1b1de315bf2f9087cc6d379c112cc3fcdd7583cbb49de672ce5640791c317c82530ffec8d831a1085874ddaf843330ed2744eb1f4e7c70b4f9921ff31419ed416c8dcfa8376f274436f2a319b7e47255a1d9c89f638b83abdf6f14233f176b15782b96d486ffdc47fd199309a9fb1d42c2680ee374b2baae901a6204999af98aaf7994086c710bf6efc7db292d0b6fa407db16cd7dc444076b8263540f3f057f7ce3e63644b0beb484c8fad93f2b8fb584d783599953956b985f98b7120fceabd98a1563df3335b1cbf06ac5c0e22bce6702b5d977d676daf014c7fc5bd3f12b9daeca205a7f8d676594177630d4f03eaf275b7ce5a9677905bb6b0ea1995a681a8450a8e947f63c79573e4d767f2903cc586f55c54d4ed36e5d2261387e389b3f2be237cf19a4c39a41ae0074f84122af879b1e56524008434436696e4ee7a31dfa32488cfbee1584296a6c4b7b70d8b2c9eaad9e70fd2176a69ee5315a2be27806dc9badeefeb5f792c03ab6de83ee330c40ae3d701e3e6d13de19383eac8d211786bacace0d669e728cb8483502099133a4fc64a489b47a820b81c35263f20f829f2541782a6ad16203821b59637f1e67d156cd4c884ae31c82c99f1968b78566b59fd3df278bd456487a1e255157dd7738a1b701afab89a4dccf74e89557135d7461bec289fed282c91c96f8eb04cc08a4131cded2306287ced22ffc48443f9e8c6e9b2441abd16abe4fec41c384a43c762f41164016418142ff549f81719beb9a62606980f7642b0a3b5157e056ba623989f1ba21eec0b7c8ec423b1f19e43807405aa9f2d77c4a46ca49eb10b25b17adee5350ddc8c747000fd32e08137149c4225a8527e5f3445764b210e60504c0e9d2476cc58057709a88e01c6364521ad436f15941384af8c8a2945ba3105875fd0f91ebc74d98eafedf03c87298ae63c51a61f59a038e72971f5133c9d0cbbb29bf4bf81789aaef2e2bd338844f70c4b971776c1d7f191c1cafc6e0e6a50a0d300f539bfdba3ac7d1775fb320a0c32c98f1a323ee79c0564aec1668040b78be7d4091802f71db3afadfc6b21f33080758e0c6076ad7cdd2ebc7a783d5cef8214121975885328db0f4221e731fed2401b256446610fad1e9119e3ddd700780e00674f87c102b1de74b4783cebab36708b04c14f8b252af9b70be88843432dc0a0694fa55adbc997aa8b37f02f6468acbbf6590d7727b19d0159c5711cb84b4d2b3821e1ec7ebf5d4d7c93a842891cdd3390b859c7a439d7d46f668ee50e090a802066e8d267894a8cc93d87986a2fbf38318906d0734eb1ca4b8e4c153920ada60ee0d258a4f4d05b17891b1ae6f28607b22f447c787e3113d06e619f3d6a2651b538be8b751e568e4aa7985e5667bc4bb45bc4e98d82829a7a84b17b29670c23c50208386bd35760a1372e58b116b86e5f60f27aed65c020711e52ae489d1c6729322207bdae2932256f990ec3d5708e882068ba440aa6360716ca4f919124f89ab93a8d46e5d84c3c7863dc8ec0cf4bab5b31c2cce127690677c2e129b1094be757bcd15995854539de740095a5ee89cc3d6271232b1f4f9c8ea42e138ee9ecabc9833a62432599843ed5b9fb4404a1230a8613ea72f285a97d4eb9ebd179b0e47cc0ec6a406f9315e472f08fc95051b70c307371d9464aac54d49239a82f5c3f3e329325ce764141b55637c24d48d76f3c9c61c02e5bfcb2c72c6753e99d7dd9e34a4746ee499f607329c42313700032cd70ea9d430ab149ea27507683e91d7b9e8cec3d6d964c502f282d8a09ab112d138bf236558b1f1b5053d456abc6b48a5fe58d4f4c8dbec0b77b0e2b9798a9e8418ec8cc7d1d991c6561882b28656fbaa52a18c427b3d60d10740bd78bed736da8d6d2707a95516585d7c3bcc8da236d9a69ce498a46121a3b85c501424f32d79b84e05848d057e38c55d11541060896a7328380a537034d15f3cf9365d876d380c172a0e3c144701aa005566c767b0b8a542b788d72d66770a59717323e04a755e7f539191fef6ef79dbdac868b9d8b00d347b8c5a55a52fc88d4868c7275b06dd10b410cf1215abf8e3adc3fdacae555c95a9aa4a6a12778e6dcdd634dfc242f959ae12504a9934a9da8b5b97185d88a1a2d8b6c4e841cbb2f7e724680209bcd04860521b12c08c400d4a4770c510b736230862b409230aa5b65549e2c99934c9366194f1ea664b270c2fa816c61554bbff3b6184f143a916064c0e4f182d6ed01f198c2d287d655bb5fb951f01030a182a4aa9ee010305460ba514d72011b8f11a1a710f12011922e000d56a2e8c78f21a1014a229d237e2c96b42c044089008c100521fe781e00a100001820d04291f88f22aff3e3f5b5be7da65f69b27d762b686a9da07543ce0030f6cc003d903d803443c10830752be48a308edf1c5145f9cbe90418b51bd7e280441d207a6f22055cccfc86f72aa8cc6b58ccc2d7555fdfcc4b83ec354fe433cc5334895f76a65eb2bdb74000cda811ebc50c30b1278b1002f86f0824481eeb551559917edbed78603463840eac20a5d80a00b0a74f1a40b255de06c200a1bd0801623339264b80ae8c7921aa42ee91fa449d7676e6bfe21db2dcbd4db3437c064032a1af001a574776bfe26f90f0de830a23d34b023034bc8400732b0800ca0301005033ca808080aa954e1ab7c759df727a99a8ac56d19a4bad9b2eacd5615f6e7e2c9c3fe5cc5c5175c3491427b7061002e7eb8c8d9420a5b78b10506b638b2058ca68a01aa41ea1220954af54f6a3130a6ddae7c6a3130fd575a0c0c0741b2fca02fb1d9d2a3ce2a950ae4d6d4a68ceea7ad2f626bd60f8b84485cb77eb2035d80bc408e05ba60811a58c0011678c202475800890570a8400e6a901aa4ea547ff528a35a2273b765a982b418191899ad0292a93548fb6d6f59f2d2da2f712ab01285022ea0801614204281201300c204aa98803881127dae925431a08c56126121faa9455b495d59bd77fec3d61f2db6d0c2005a1ca105115afc20811f48e00512e8123049c0079559528354a08ce4feaada74fe591c210b29b2584229154f7e7fbf4d044a10811d01225fc954d24e4f543e6ffdfe31ebb172559581c00620900008180002220408f0002f3cc08b07bc28a5311cf35769b73d93e035e3164ce7695b0552816a90ea75280d55c1a16d5bac31ff0d500ecf73d16e9c1a5e648f54524ccd1095b4ed5edd13891a9b227b449319f357e7b77c4cd638d9ba2a047532e9196f73ff2a6332345766896deb6b6ef978a792626cb7399564bbcd81a1193fc9cdcb9626c7b76bbcf7f78e5dbdb4ab2fc577fdcab6b003602825bdc4ca7103e0a094e3067891b55849421aa02271dc0014a53d0c80c34913cb80337ec40c00833ec9809fecd2b7e7b31c67eef3c70ca8456fb7aeba870158a841a9c67f6c2c3e5085b06082451024211b2c7aacb058b3e6f60a275c115ed14229fd9b6db7a95a69df0a0658a1adc8d138635035b46d4bfbd7c666d17f2fd2a9828d2a1e508549b57c9236a5dea30d155750816a630a074c31448a2448210129869022250a2450aabdc8334fd586466cbac6fc2b5ce25bffbcdd6aee830ff57ed6af6c5f658c769f9fa27d253055db786c3dab74e95cb7265be6595fe52a6351235137bebf2dc736557b22dcb7aefcd478c4a56d71ecaaa4521b9144011485cb1b0b18c10224b0001d054c41016b50fa4f92545546fb279ffc95cdb6a5da5b934a6b6bd6e6593595aabfc4ca1aedf7d7cdfe1fdb6d0e9089856cfd5140910284a8f6447a9ba60d080aa9485b13e046022e90804ba9f6775b170e026280002e10d004013d50c04129d5faa95fd66c6996eb6eebb22f5beeefa4bddbba6ca070020a22a0d8e10c4ab51c9e5a41d5c5a1aaca8c7d7c241ee855661f8dacfbe4f66daaf6ea4f84fb68b936cb1fb3c5a9a9249a57cfa7bed9cfb5a9b779b316ffc9f0cf1b761b6e1df444cf13943a69e2c419d5091138c1a24e9adc0fb7c64496f522c72d2760fe37d9b57e6e730035c2ff4d1ee009ddcf03d81c4047136350eaa4093fbbed3cd4bd925a7a934c9a686fbe3a2f6dc63b37ebb1894b29dd244cbd414df000e50c4a9d3421699ceb72f75393746a3f45eb826252eaa409ff27b9754141f1227b84df6fd9cc041c9496b66326ca60ad30ab6add99c86286091695f96dde301104a5f486094a6d0c8082df64e8fa0c82420600b2041296d0c1120e58e22e615ae247017c1093314c2d69dca799f659385546bb9ad5bf2580b2d559da8fd6c773775ec16fe14e8054ca3a5131a9cf2a000f056051220a4a445102074a4c40890228f1a3c4e8490e9e48f124e7495569964b45e238edf32a888bf012c0a09a3eedd4557095319979aa8ca6ea5a6f55e53846f563d63d30f537696bd7e718154f69bb1652c1f0d26a17687f27f52b8a17cdeb458c225ba4c3750417095c197001117181280344478876502a805ab5ce37e63ff6f3d3feeefc1ca2c6fcb93b4c35ff876ad5bd923ab75fd66efb6b3fd1d798e7a5256148dcb26a595afba5d6329aa68dfd2b8993f8fe57b62fd1fc6d9efa45ba6ff78ba418d59f580553f90f65db2dabf3f04bd186af326b3bf6fc7d093d8c6e7b10dd65049c0987d945d852ecd71eda3c24b18524309084932438130a6617e69b1bd55a7f9353757e6dddfa56cdb856192e86045335de36ffc83bdfda55492593e69d866ad7b9d69aad8b0f6dedaaaa27c2a50dcdffa15075f359dacecf9cfdab15de3d3f50e8fa1c660d82aeefc93e155fdec52a53abf6eab8e8e6538bd5f6530cb31d435595a91504d26a51cef76de7a932da07d57e9a19ef3735a9b423ee788ffd14cfd5b6392a15a99727e7b6b4b8e77fd60f1e4df5bfa31ab33d39c73cdafedf3baafaac8bcf2470a9a350a19dd01bd55eb6dc4fa47b69b3c61ddf6b6d5037492a55e5b6beca3edabc856c06a55413f2f101ca1647ab2fd122d98f499ea1511be15973fbfb9f0c478e5b19894c80d619d4491392160393cfdac92ffbb384aaf6e5d98242a996edb84fb2ea9eaa95e549b6ea7e51d4e588cb335cbaac5adfdf36e50628d5ba0dc39a4aa2d164e619b262c866088652243812272470c034c059789e76ffac2f5ad614582460418025b278565458c9c00993ae435296b873feca362321a34062808482cc64f7557811fcf94e68250955121f1ab591ca6f2a29a8d652259554172789edddd6ba222acffbac51b59fa8de1f1a75b9cab86fdbc3fde6eb40291d3fc96572694637c62b4620c61ea20ac427349578f2f0be555917a9e380fcac30c7bd3c8fa8b8f0969ac57fb37a18721b23239ea5695abc3bff7deba95f9dd78ceff353f7dac753bfee6f9d356b95b11565f2c9f3579deba95f95e4a92d9badf65b6bbdb2bee773b3deb76a5828eca64282ca0a95495538b53cc9fd2e92a7be2e6d25a9785863b737aa6775f3dcd9569216aa1aff31dbce5be7b8f158cbd20ef9a86ae882908ad074841b476071043f22889337a8761f270607c667a72c2dce737b038220187ecb6e5265cd97c861ea2ae36dbbd6bb724cf26831b6db6bfbb72a4c0def833ddbcef358f4b5769d5fd996d892a315cb52ef2f35cbd5d2fd839c94f143f79d5c41698f1353e3715229d5f8eb876a0b57fea3e327c2e5f3fafa224d9e90c353750fa9f5369b1c694200264d6022032650981861b262440e28a5a44a6aded2e38bdd460b3222881129459451c4058a10a2081f9698b1c4b5c40725545042866a7f76f9bcbe88aa8217ef37ab9853655424157f7d915ef43daa4a52913e972709080aa9c49c2aa3dd2fc264e5b8b2460cc32f0e5f3f0482fcf54540508877ae479baaf1d70fc5703855466371db7985a938a62cf5b6d97eeb5596f6e4270ce7bfefb595ffc8d8b27278ead6ddeaf145fcbde833eef9ac5a0c8779fd107f5e5f59098b529ac3a3644be2062dfa1b0353cdb3da24f182d2d28e49a0d0125ba224333767dbda6f2669a19463246950ea1212d2c289f61082811005ce9a710bdb7254e5b3beca2031825c414504b90045011201d009542925a9fedc5df5bc92b8822a52556562647ec3845d6ba08ef729b6f02bdbf259fd471eb7266287528aa23d8880e1e70a3f68fc3cf9e17e527c3e40637a7e6ce2f1374ce53fe29b792ac8af7da0cf3e1ce36a6a199df7679706ab8c95f9bd5fe513618ec76c4b2b726ed3f3859e357ac2e881404f103da8236e505af2fa5923c9ff44e37fa237299375b67985b13635ff27ff7be748e9480f476630e2052369504a5d680f236618018111248ccc50a405452410c361eaccb50f54b9cf3e6feafa44fbb3cfd9baff7b475579c72d9ddfa44b833fda56f3acff7b67ffea7bc6a5d6e2eaf368371992e4ebf17faffe162151aabdca3e0ed1852152402905698f21a050eaa449a859ae4a62d2a46aaceefa6c3344a5a5b5e1518352274d5eb6929eb4f5bd3c59943d6bdd4965c963529a79eaea4b4c84b7f9dd9676e45f961687c8195abddf85887841040ab5952c9fd77b2d0e9120bace41423481fff852c4dd9a2d3d666c5363e2cea1519737202854234443fab0b8255296160704857692b0c3c5ce8fa62bc7403a5fe820d181b94fb49fffce677d56ffac6f25b14bb32ae925565d96394d28c7590227c84d106ea2a09406417bdc0c91051b0dd83cb119804d0d41cc20882c28a5dcb29e6b5657fde89eb017bdaaca68a3de26ab3e4b88a5aa323f55b3a6ee5b5565542a8dcb67bdb24d050244eb5c979c97a50d10201514a287a707c84689f62a3a75eb957576599303b10120422074a80942cd1535a9217050aa91daac3a737bc36d2dcb77556eab6aeb3eda1d1bab65dd6dcfdf52fd14d9232666f1f2371e35e7b656d5932f56fefbec27595f86e3523c7f86f80cc941b306d5fe79d61c97aeaada9f91e8d01e3434d0bc081143481634efb3bfbee76f01814aa0940ea13dc00e802ab025b506a554e396d52debebeb59bdde18950a866f9cb5ee35e6c2d4feab6d7bb5f5251ed12aea0b2817a0108052a176acd01e28969318270d9c8e68c1340493024c25d30d9f10be2928a55c5d657ca4823e393e425acc0f4c25f9cd275933de26a96539a972ccb12a6747d3fb9fdc5dafc6fbcdbaa96aaf3d5b57e72712a77e557ed6df3f4efdca48aa16a3628ddd8a20d84f95fd96e55f9ab89767abde2f4b3b3eb763cdb892ecb9c262cb727c7189455cf425a97b7dd59b2fa15791de3f9ce3d67ef3c5ca5fd655dad23e91aedcca68b672cd3ec1a5c51d677cb3c536e3fa1cbbbe67bbedb9aa1cb3f86fb2da9a5dd60c82a13d4a42a094fe407b94c42851a0c42af5a094e2d01e9e0e3c187859785378294a356e59b8486f13fca9321a68536540522bd164b49badf9ea7db4451f544155f8e3d6a4aaca68a4ae6469592fd6acabad3f645ba5fdadaa3220dfdfbf65b7fdd16238cc984f9db3dd9a0369aaf05eab7a82b766f5d3568eb97df3d5c35791dee6cb967fbfdbd5977f596569c7d2fe66714b0404bb28946a77b4e9b6a04c9a54ed3e2bfb7426ada4adf77e264d6a4784526adadf4e9a306952b34dd7439319336952b59a6db837ec354f50c565b1daa7b9cdaaf73f91c937b407274408edc1914980545be3a8ea2ae3b2b423d619edee455f62bbb36df1dcfe1effba74596e05d850dabbfa8b2d9bebb366dea09aedf6d66fe95126eb5cb9653dcb55efc5233e83c2c7bb87fcaf1e6bfe2c6d929ad71779fdd04c104ae90eda63868719164ae9477b683ca09406a13d340e68506aeb3b7f0555d2e32d84536bbdc941719d76d2bc92787e6caaeae6374dabaafc39920aaa56ba0cb9ad6b3ec7fa78bb5efba1f590814309325e501aa42384cd4ff863a343a4ea5eb96f2b699c699f55f98f9ebf95f5c644f9ebab145bcfb98df84a7e654d991e921604407b908040baa2e2707d6b3f35a986205c0872842020087244901e407240295783fc5420b5e4a1b4ed475565542ad5cf8fdde738eebff9acfcf543e2c9f35975ef5a03edfa4a2a10204080684598fc6df2be6de7b62c2d102d8040a15415c3514a6d680f209bc6dd6ef37c166913d3831815504a6b688f982574a03d6254949e3cedcbbfaf1faa9f7511fefaa12265898bc4a8c0b841290d9f5fcc7abcd9d6df7a0c4d5ec1caf5a85d9ff98f4e74727c704090bf7e280ccbf25d4c9c30b1327ac59f08afb2d6dcf22059656c9a3eaf9bfb3fb6db1c9bae7bbaeed13d372319fd68417b00a2f230ecbf52c9c898adb1e8c571ce9336885219d02a7a786dfcdbec3c242eddf3fa229c776e8decffd9442e4ee79ac8edba0cea367ddb1e34b46d6b7fb74accd626d28bbee4db769bc36d3ab746ccd626c273f873cbfaf9e1af2f72ffe2bd9fc8c76ce5f02fc78b73fe6a9c24aeefb93cdf6d0f5a65dcb325faf281f8b54f644ce24812ad9ccead91fc46cad226c8e64b136f212d749184e1fd2778b4f9698693f1c9f338cc5f5c4646886c447bb8c490c1b011dd17fca0231e54d77ab36044a40b40190a864042a40c4a296becb6f54369c683d26c07cd5e28cd5c32164ab31c990aa5590aa559466986519a514ab13828c5be4029e6054ab12e508a7181526c0b94625aa0148383522c0bd81528c5ac402956054a312a508a4d8152ec0d4a31296050a0147b02a5981328c59a4029c6044a313728a52a180e88e81809e10655551c011c109ce2094a55b6db1b664de9118dd43894e2b0b8a594865efbac9a9a0017331c04b70e5b6351a8d3039d3168056fc64395544190526c0994624ad891044a3124d02d28c58e40833389afa179893278951acf9a64f76953b7dea9f979b5435bbb5c5cb3c6ba4f5d44d5f8b6a669cd0a048875fd4dd5b80904be38c70b1d9b6fd9f16f8c546d5713f7efaf6a9ebcd69c1fd68849cd96a6f62275e52b7ca3b510ceefb47eff8c803029a59aeaf27c11ab0ab356f1dacd1f1a9fe807892ba9f7cfce7ab1ae327e3ce296ce7afcbacaf8550a550da76a9cd47afff0d8e89ed717b9fcf545740f0d135d6fbb7b910e12300c7b7c7882807492843a42d800f9080585214869493123508ab541291685528c0d4ab122d0919033464264801181526c0d158ae1607c935308082147428c54b0522d28b582f640a3a0bde865ec3eed0cefc17ed639dc46df33e8bebec8c5f70c1a813fb80df53dc3fbf90cf53db9be27d7f43d8380a8cb025ad0fdd73e0b04476cf2f1cd207e4ffe0ac357bf4458a30a940aa3d391ae73dd4cdb790bf7fefc8e4c49e8fe9f16eefc6fedbaa76a9a4aa787c7488e8d4e4e9803644304044bd1de9e1aa465fd12793ab73f9947f718808ebc2e98a0234f87108eeb7bb48ef319732b090686d4416a495539ce3abfa9fffef7e89eccd375cf2aebadc4a58de8227be4354ed71ac8658174eed6e3036932b7286d027c82f2d23edfe95b1f0977c8b726d31a8b50a9fb4f7e33a8efec97febba78e44795b69ff2df12986adb148a68584044a69adfbbb69af0d9f4897a506ea799f37f76d46a408504a359e227bc495c3c33bc69b747fe47dde683130bce71ff7ff68fc6622fc22a98fd49bf58d56daa1f17f554b6b53352dfed83bb5ff2bbfc935d9c2f5cbfe23cb549ef59879f23fd15ad73dcf91641eddf35362bb93f591bb85f20f59a1e7fbefeb3e7e5ddbf307d9bc42de6f7ede1a8bc29b9f434106a534071dfd0007a515ecfc2f92df6789edcecd1f74ff4bd166243c5df73c10b737a33672ed4d90ee097fe63749b315beb55ef419b33a7615e9f0fd98bf48dc754f9220ceb969b7107fbcff24e2fed6dc1a217d725eb6db1c16b74486465dde903efbcd338897429cffcafe903e5c3c83a814301d5aa056c072504a4b3aaa19a07c6b37ffd068c5cf9835da96cc0c7f22dc710b6f53674aa5a09442a1a31b9031aa3db4d4a66d81e088072d50fafa21f0bb2df9d64cdb9ad99a6f6d66b48315463b9cb1eb9b7a0c87ecbb86ec2b091a9f28bc0f822048b12f463ac441a90eaa7c8591f85d856cb5a60ab950281de91084fd3bd201a3ab8cc7f3ba744922a9e08857dac8c8c718d4c71694d21b765d724a290d74e4034a38f2a1a2b4dbfdf9573e72287ffd50e88344f70f6ded0a49528f7cf818f9a094525e62dbff86ffe428872750ea034a69b802ca47396c41f9280705e460d27094c392510e41843fca61a359a7a4460b00a294667464860c70b002adba5f7b33c2418def9652ba0389d227344a3112a55c103243106cc7e8863736cdc4699b4cd77a536a83246442f8814b8bd91934a381568bfa9fab9af5584dad4b252e2f1acf8fcbb1d66e775c5e3a6eb5f468c95a5a3c4281b53e8aed6842311d8f528c872194522c507a041fdca067a411025a82333e4029360421d020985af7802047145e106c8d45bc4b72839400ddfe419d6b239d9f39f75dfa669d227b44cbbabea9abeeadfe79d336ad23aabaa76a79450aca9a735cb592779ccf244046789e089736e67f916b3f8752aae9280015d09eb4a75887c6f3eadd33a694b2e8280038d0ce4f24aead3655abd9b2ba4dde560992caf526b158d4f9d6664090678df968d48457b6ad7aed4d91d0d0f82c1c1e6a3263192ea3c98c7f509a754a29a6a318aa20a3c9cc93f5cd6bec717d8feb7b28a535741483115a645ba31860681dc1e0039ab15dd9cac59acf5d85f05a53b9a6c59daa395115d9232a267f31a96f4ed5b83552351e43822171d7ef682d84d375cffdae7b34954b67958aab412a57c9b03abeb60e8d966396925e79fde91fc48560ad3011ad85ee5f9b2fc78ce4963e58ac78231d4018e900011540edb6d655c6f6febd36f73ecaa462714b4455492a2dc6c4c16055b5a566fdb6f765be85fb4f913d526db730f94b2d06460b523b4fc5cacf12aa9a4a956dedbcbbdfac1ac7af1f52c5c090fa9f60aeaa5a26358f79fd104cd52bdd2be9b7ad9c9bf648d55ed91ed15aa8eb9e2f459b91dc8c842c3f48f7846118cebcccf2ea16ff1ef6e7376b317c8d21b761cf4f64bf6c8d45337c06355af1f352339c89b324772a7925b2ebbed427f3ab6d59387c6b222e676652298f349dee0cd7d9ede48da5eb7925d4f62799ef76772e9e7c86f753cf74bceacf5f6159e2a19ebf75434a290c949274a4d24229df1aff11973c5c65bc291116525a9c75155be71ef969d6bf3a87ba671cdefc23ff4b29a6461a2d4594d223e828738352da5520d5b463784b5d870ca93130a61d3590db3f93f81b8e4f34c34b3dce8cdd77e2c66e3ba5c8ffcddb4a5be98adbc9db6c8a3b9deec9b36f12bb113533767eee194a3120508afdc00758115df9c268074fa014eb010fd0c0cef8dfd1424a742f2d6ee9fc2ab5a971dd4ddc476bb67069b6ac4a75cdd629ae483aa86addc49d3f7655954a5585c404a942fe772a901aa4fe932186a943aa897bd8bf141263e20e3396760c87d4dabfdca93333f5b7ce2b4ceafcdc2a95aa6a26162b29c6c4bdea5c591dbb60eafd2798cbbcca6d4bdccae796e9596f52d5a3aab6668d57bf6bc6dac4bd6ede455d75af2a55dd586b1f4cdc6b69cfbe31910ff5fb59ad8f6a3f2ecd8ecbb36553ff77bebf6e843499fd66b5d89a3d7f90d91a97f4fc41ddb6b6deb9f6a6c47627a8352eb9f646e8fe885b36bf2eefd8bace5d6a2dcab05698556d1552335ebd584bdbda55e39ff77d269dab4bef55e52a1f95fd9d2d7fedeafdd4b5735bd69b4977cb649d672e8fddf6276b8eb384a76abcfc9c71a594f6a0348381662d598bdeff0413510c0b51e8b1052294d20a1ec15922f3f383e5500c876235f793a842f8ebfd4f2ec50040311e147ba1540b9452151df9f0400b45946aab8c4bcc6bc6f5897e3189fea9b6ae726949bc9fa8eafeae9a7bc7db029d3635e38a3b668d953fd1fea04a246bcccf72cc3c366c7de779ed9e75f8a93febbd755e1d97f624c2a58d7cb739a44f3f7daed6426497ce45be142dd0c5f6e77f276bdc35a9c9cc138620d88b3eb4fbb47bebf026246005a5f7931072dfa5f7d6623f5b2d5cb97561125fdd128277af2426753575afdd163dc5f0bfcadcdab63e91162dcf5fdd7393f3780bed316310145be7a618932b1480f2ad7dc726adebb44d46bc328f779ff13ad4f829f1a6529d691c9f9369e951134f56c7abd79ed1ab6d476d2663d7fd19be9f2399c1421b490e4e6b5cf2e79f4498ad714950108e89595cdf33a89268b6de2945fb72b14e02822018f6f1dc6198ff5ecc0ab169439373fc2ad27bdfd06c8d455f3e0fb7eeb62cf518f2b33c5be7a8efc9715843038235a369da682110fc6ef73880ca6db5fbb4a1b93c9ff12aebf093e7e759e3d4f0648d33de1a77f1eff849b6defbc3acc35e5ad6d5f9523c754e0d4d91be01c1fb455a04c19afd77fb701d114d6b5c02821bd1cdd8b2705eb674c32ee18c2564619f158e49b4c29049136d09b76f2dda2af35a029125b450274d2a93264a88a2842dae124c4aa9ee51424dc2b9b96625e10aaa0925e187520deb9e24504ae99798e5aa364868030957d07c72bcdab6aca22e333671890413ef188b98a5b7d9f5b543a5fef9ab47244730c111f211c023d86084328ce005d5bef5d7ee95799234dbad118a68d7d90846d8a8116c68e30d9acb9328f3d46c399236cea0426d80d1edc537dbb18d2c28a56dac28a5393cb5a68d6d48d728706822e6d5fe1c012252b34d1435a26cf1b2e56ff38c02250a4b8b1204bdf9a3c0501a65646f2e0f1b4560230beaa4091b9d0d1a367614e10cd27dd6c88b50540423543b8950033288a004117e88c043846c8d32d6c8628d4ea94f0555b7e727d2d16c6b3f11a98f54508544fb21dbb3c63eaacab935f713e91f31d1fea0354a543b82b3249f6ba80ca18d218041b34be70c210b8d0fa108f3cfbf1ac2cf1060b44732044ab110cea09462cb124216d73e91d0f5590846d02fc77c56b2c6e65bfa08080ab9740e8214415022080250230d0ca8c100356ed4e091c618696440d354fd79b83fcc5a557fc87610bc384755490d53b5181f552575d73d30f9f7b3328faabed83a5b38e323aa9758cd96ed5c243db72cf3091e71b6e67eb3fe98f5fd214d94b1cd10b742692ca1e58f398d4a1ae2b603e18d4aca0f0420400102114aad8981a003266b7ee0801fc4c03851855bf0c11a949eb61497d24a3e18e2831b7a60856de34c28adcb3d30410fa6a09a132695074fe041107850031e6880070aa0b43375a94eeb4a349480060ed008030d2bd060a101b4795aaf3e8f5bb13e3f652ac9defc2b9ba00aa4a63e4eab41aa494b75fc0ea94155461be2b6d71b5433e257c720f8eab8a60675d28c9f049f9185cd19fc0c98fd447ab338ce980cdac12ae31df65f5d97cef65f49163b50e57d8a799fe23e7525f50e504e9af498e10693265533c30554fbf3cf242e0e6b782ac90c1a74d0041d00410751e82088c7555b65cc7fb5eae74f0e5e90832a7250801c00e540064ae98ee1f29b1c071fc0c102704084834a296853da1b8c416fc0a2f95cdda0854993aad9e00636c882445a65cca489f6597f4bf31fb4870d5854e331bf750ba6beb2fd610318aa950187d66db76578a17bca30292d03455d4f46a1b493f8569b1a2800d70025d6fe23e32ac425448337ac6bffd5b9f67f55120dc0b02e211a28806a5bd74e88063f1c9734c028dd7fb73e750dcd9984357d6a68c64f12831610c580490c020083386050060c380c7478411a2fb8e2053746f55b77aeaa2486e1f94b99a26e841165696b90aa226d8d39f6a99a8a53d55789eb2685af22030d32c820830b3298902143860e17e0c0050570010ce567f953653eeb1e9c7ab335a206a946c0f868bd3c4b4b84cf244c3cee2f5719f36a656cc5f75b2d9e168c5890031680c1022b5890040b7058011356e0008a0354499aaacabc4aad25937525c9a8600815f848c1165220460a6c0a04808228a0c00528c828e0e109631c610c088c318ea19d40082778e204f80437984006263881095826d0a1046c94200a4aa98dc561025efb40406a0df2242e2beff53ec1bcfed9face35554c5090cf0c4f95d1628256ba648ddb3eafaf6d3326f50fb5b44145f688aabe443b6a5515a462752d561289736b6e1da43af5eb660b537b4b07a9b0ce1d547596abc6c0542eb375e52357f1b33403db0f470482352c6e89acf86bcc6458645ba1d9daacb075e66b9ff5048745b69503086a28df1a366d789a58110f127579d31a97dcb7f9bb1db3c6e10141db2d4e144e1cf1011bb8deffa4b495c42cae84527ae9c80603a074f38ee85ead6d5bdf79be7002a5d4c5c5e5e57e67529f25e4e2e2f2f205942fabb5f9228752ed7e0103a514091d750005d89245da8bff4d9724db7049b8fdf2815cdfd381d2c80b2350ed59dd4913264db865f508fdcab67876ccd54f896d4ba76b0c24be92d2aedec8ca963b1ddfd86e734c5ff7bf5942961564faba213b8e5fc4f4759615d4792e0bc4792e0bb4792e0b94ea5c1608d5b92cd0a973592053e7b2405fe7b240a5ce6581bcce6581bace6581b6ce6581529ccb02a13897053a712e0b64e25c16e8e35c16a8c4b92c90c7b92c50c7b92c10c7b92c50ca6581502e0b7472592093cb027d2e0b54725920cf65813a9705e25c1668735920210e0cd9c22dec926ce1167249468e8ffcef643794663674d4c513e288238e3828a554939987e7559aa6cd73cbfa01c155c6bb0781e0f8578f359cdb720cf79b45b61516d9564d916d3db7624de79d34fb7f8a6cabb49c735b625f684001b48f58882adc3a54d51bbe359e05412fcfdd3b3cff90ee64e639c2b92d71f8cbfef02f42f7f0cde2969501b06fcde255eb0e3edf4ff4bb76bc5dd7fefe2743feb2660f91df7aaca9a1296dcfba26044193ff8ab7ba0d7b7e0e82e31381e0ed3c34b9edf61269332cb2ad24454c7be47f0bdd949f6db739f783867c5e76fc1b86df3af96f53ef7bf2a0af89595dbc459b4aba3c34e32789e9bcb3923aef84f9279887e1cb9649b4ae0d94521801d01e4617b0a1b4a38ea19456b1004fe3344ea6b4ffd3f373d1863576dbe2f848d71ae89fe0a0cc63b636111db3b589509ad5f4207c100c83a0b08100acf1032030c08424d8c08b20d030992107132d2578199560075854153cc972154ce0038a238c418018a03022811eaee0d13da00262882143051b206083193fe8408e01782014c59022e4a04322a5518c1428c36577a7719cb6c96497de228b5b964b97e47ea2318e2d6843a3d5ba87d21f66b4fedcda6e7372c29b7fffafec4f69cf8b89f0cd78489857b8b4e13fc1dc087d038a8ab2b458a80a65a12b238c85c680add080c180b5742a279ae200951d58b296961595140ca319c588500102a32c42566846310c4bc98860180b9661584a8e271996612c190d4018960363a119c6434bc972e48079a9984a96a95c81a96058f6825d21c35ce80aa692a53c8621916158d68224cb21c3b21c2a19e6840ccb72641811580d189692b5c460258505068c060cc3b02c95cdd092826d81e5c8302c4b09b14ce5c5a594edc06a5ab09501a4e864990a97828ac18481a143021955a1d9063095141895950c4ba12b0fc08c80d18cf6e8d183621453c1322c0a584b0604c3b2952c4bc1300f9bc15ab01d5996653970b01f59a692615b8aa6e386961f301e00c0218b00b692dd80a9602918cd7eb2fa82a9d00ce7a055855191427b88014657309006590a96035361c17860295964590b9882a152b02c53a9d90e17186c05c358361520461b96bde468c9300cc358300cc4b26c08293930974c258508f32173a5c8602e3a32ac8505cb82c876c87448d12185a6502c062c4796613c547aa4a86437645986e5c05448cc6500988e950c5bc16038e5900d9143874b86892d3b58328c08ac05c352324c052382e990a5321f998e8c255bc152b00ccb3010d321d391b1a860292b29292c0583c15cb01d188609c176c85e5258b016152cc33010c372d090c980a964d88a0a96ca746029d90e584a4a96a9642a582acb301cb217cc056b51c9300c03311db21796144ca54505c3b053c56270a50459c15230174cc506ccc505d4c124871d3001a8605996236379acc70c9b0e221896611986613294859a14890bb0379068b40ab5e1c619425c18e10941b68d8d8836a2d09f1e84407dda40e37d7a5841057ab8d03e3d16893786e062872aec581f5baa071b66506dc0e08193e5310013172f98c9625ef8a2c461816f8b2f5099285cd88114c58b8ca4ea4207d9620312a492a4b04394ba63872d6a0000dd22004ea86a050b5a559ca03485529ad10029a1b4c828024528df5a8e275e08800328312c3c525c58586e706159494999618750133d3eb4c0e4786941a9ec9061074b113b7a0a8f141e2d6a38a105941c30642c2e2a241e3aa04200e525c98eab4282a189ac94c30a12152c070d0ca00c319233722253795131129306140a05b6029a4d642a38a4c8fc004a901f286688e1068a14219a4800941b5c94ec90410b283b35e416fe820528aa06f4607149e1b132a4b280299a685119a5703c3491050cb80001c2132d704400864cc74a102396944a916702c60102b002f3b2f3f2832a5301c2923a000ab810e200685831f3c40aa29001141d273901277874316027807283a9891796548e971618524e3c42a4e8f0b2c3d2444a87a0162239e8ecbcb810d9117469c880d24385647a61490580478e171d3a3e1cd105949716223b8852405949e9b182e52022c7cb8a901c406c80d071bafc682192e385e506187062d841a5c7a506197c2401d202d303f443132f2d1a8bc7c33bf1fcb0ec5061c161054c31b9ec50f951836071617951995929a2820a025bc921a587151a369796312595059496171a5c4e4d5c0105d3516a81511980ca00727c0105080c2a392b4156767019808a8f18b8141d0e00459bc152c81419959415257c38a2013ae7e02582109c41061822f842035130b144111f227f541dd1c48825499004fd1819820888f2607e208000aa0a0d6600440d017cc0e106962d7490030e7441840e10a00e33ecd09143062b480108bce0800632c0c516154002f363025a884648210aa166801598ac11f2c2e20516579c5c82a04607bc0053a61a64d0f1d2c2e223871398a0c95f9f9e217876742c50c502120080281f0b4410822f985092e464b241061534cea842929a212617961c17b08005acf0e9a911f26307c6856c0b9916323854dea851c8dcc8da58898209214b230382cb0f76f82043235b41369482043680161d567cf0b821ab219b019361148015006423ac870a0c998e9597cca5a52553c152302c07e511434a0e292d80a242051415233980c014f5683531da009495951d2c3f08a109152e38951a7668c00339a280a262c48586171f363801c5a50815235276d0d173ec68d96941e578494101c101949631a0c8d0a40997530a154fa4f088c20e36a0acc4016565070e4080b2a3cb90008a8b0d30642c425666561ca0801974dc108103a84c0125861e7ad41499d14c8b0da3380eb012a405c5429312430a4d4b4f91513102440f395e727c004a8a8e1c38a89074702998ca0e15d2cbce4a10962272e090e32507123b64d821834b0d3a66602922c50b07c881430a18075829030a01905069d590003aa8803b62c83152c152645270547e78ccc092b12861e9b19283659402aecc0003964347ca8aca8e9494942c8525a525c5e5c5874a0a0b121600c4f0f33262c9c182a5b0a894546654b0961b52a240d101f379000a0c1f686294432587969c03a8b071001fc24ae3f8c21282a0061a67d8a08c731514c717b0b842e7068821279da51085991f3d6268616162844f4f1c66bc800c1eacd8b28840105ab091c60e6ae0821388800333da0fe10c04ce6e05df5798c21b6bfcc007332801130638a289114b7c7a84d8e161871a68d8c20a5420821018608950071f3af310030c6c142189160f28717c210b5868c2a4061a4669d480062f70c1094c108615552c203ca208253e3d3c3b3083063a604116448620841d98518319b8a0055d68400a289c98c21b69fcc0052d58c1089e80f2974767c4e38d2420810d1bcc40052910a3035850f157098f4ecc88c70eccb041052680c5137f8f18826747470808030f159a0424ecc08c1bd040052910238c0e30a08a279c0cc1334408782a71310018a9d03892808422dcc0063498810a5210460718804515543c618412844e9a0031a375810b468ac400031174f071c514522c51b261800a295e4520708923e50b2a5e58e142b685160fa87c917520e300d6655cca86693a6432524a90944a030f980e990f161c526ec86c58a901a3c125000000404a0f951878c0d083870c3b6ed0e1e365e4d2d292832525478e9595148c528a037dc162059452be67feea11e7138b2ab040c0080b95aac2d48c2bc7af6daf658dd562a18db00082850f4aeb109a0a3384e60957b44129c74e344d6332bac28b99ddaff82b7e62aee8aef0416bff6e2bb7a20b3fb2e206568c81c9bdca761b31b242017c6b9b35b6be35d392d332c40a233413426906529aa53025a4b85a53f73e4720a9142a754a99525faa94f2525d8a4b6da9140a853aa14ca80f554279a80ec5a13654ea843a9d4ea6d3772a9dbc5377e24edb296542994e2693e933954c9ea93371a6cd94fa50dfe9337ddf57fabcaffbb86ffb522554e9543295be52a9e495ba1257da4a290fe59d3c93f77925cff33a8ff3362fd5a1ba5367eabeaed4795dd771ddd6a5381477e24cdcc795388feb388edbb8d486da4e9b69fbb6d2e66dddc66ddb46e9573103df5aebcc4e98bcc490605e6096a84b54256a25bd905e94a8db0c1564f0adf199df7aacb5529aa16866a294aaa8704205114050f1430555aa0abe9054aa0ad617554cad9dfc124635640815743445144af3977c0a1de4a0927efc18a234fba67800781eb999c2a454d3cad2e2f0c7ad71492fd2b1fbb4b1fbb4d164e6d1f70ca2342b75254a338fd2ace328cd364aa90acd66344a33998c44a91059f76051544a53a68822064a29f581d8cda00915491041c443f4148ed08026504a31299cc043cc5ea1f100a53433a2034412a4f82145169070052c0ad085081cc10b0c74e027002a28e34429c5806000139f2b16508115504a57b478001c980fc02f0441294d99808a45022c1c20c106a53465062bce884204b258010f287f7d11bb4f4b05dbed4d69820cdd826f8dcf744433e3e6adb128dc191ab5ed3601598c12208466f1b644f5b3de4fe2239a4a2592ddd6ca3dc1437b2d892aa4af3276692308f881d20a661cb6c622287080efef9154412826a0712a08e40304a463031d3df184279cf0041a4fd8a082fbc3990adedf333ccc9afc1c16b7446e4be689225050c00833587c5c76fe4421ceb85bb27e1645a7b41ff4fba76b0df4780bf1be5a890101095486a0adb2deaedaf3bbaa269e9c3566bb6f5666a02a6cdcc7e6398eba92f7f99902250d05501a03f3ea66eb438eb5d70f853de4403120bfcdfa12592aa0943aa1a32682a0945eac073554a78620405c74a80ca1a917b7b2184a33184ab31f40504a9fd0910eaaea5756df7a1fe8cb1217b97f350e135e684c40f9417d41411a26f13964abf6eafb7d407d9cfbf0a18282eafdfe5788aa71526b319d6f7cfe2d354cab6a1ce43f54b0668d592af3a5c9ae7325718d81a9cf4bbb533555e79d2a55cb6695ce3d93aa18128c8ac57f7fff275b1c67cb1abf35dadd9fe84b99ce5ae1b2f2119b9ae6374cadf64855d508d1a832c61d8fb8acdafe6b9f44a46a2a5550d53ae63f4cdb82a955e3cfe296658ff4d32c6d4cc630959bf659e0b76ccff866108f16e2f7bf67c4c9c9ba47ef3722eb9e9509ac348052da848e4e2f288b5b96ee191161229f0ac6c0d8adeb3c97052afa9b2d1550cea0d109805307a5544554552a9faac500e9ac156e01e1ad5aad18430a5b686184b2c424ff95354393f3b09f3a6475eca2442815a209244ab31f922069e9bd737f9531d725cebfe983e3fa1eb3b589dccfc93af73b3f2dab4807c94ed15f4a6ff02d49f4707f57ddb790784419f440e21974ff5e9bfbfd8346495c0d33c168042e9e5c5b654c2275abc81ea9daabf7df26e7ef33c3539fd57bb2e51a3f4bb3ee1c1e523cb936626e6f545a8bc91a77ddaa65f943b884a92bac7be55a1f9f8884499bdc2d8977fcf2413cb90fa5ad99b5cff1797d001423d4223e324b7c9408d58efb7e93a7f2ae7bbaeef9dfe9b9b8b4e2b9807184c41494d25a2b136eb19716c42c4c218709d8077d223c6245a154bb7c888e5898524a5d5c5c5e341717979718999bad0c9ff1886634d6343eea3b330372b377168c13bef5decfa4b674e7278e8b8bcb8bc6cbb22cad7872beb5876208abd3ea862d6a2f96fca5f73fe19808dffd770046d0912804f2075abb2dfafc6b504a6bb731a4d70fc1a49ca35fdd1ba2086059846778affd2771d89f87d78a67c66712769fd6ee90dbb2b4216bec56a494a25a742492688b5bd7684999ac936404a0341b00a5990028cd7ca034eb818eec1623eb80ac529af1607f6c4e4b4b4bb603a5990eaaccc70ea5590ecfb33671e85cb7c26ec31bde7cf5707fcf6ca034aba1c8b69e08af28cd68c866a094f2f07f92526c860a3134e24e6926030d752ece020080226cd33f88c807f1b334f71944a4f3e8e47c89d3b9359222c49021fb1c535a62608674c8b116c36b0162c24ae2303f14a092c29718861ae7fcf72ae30c0a23c739363b4e8cc818c9b6d14270dd1344d52b2c85fda03d29a7d6d72ecb3a5d37dbdf1649fdcd5d9ac6f1de76acdc5a5d8ada55b975891697b6934cd2e676d755c6ba6b16376de6bd3f6761d688f7b79e65be865bd8894ac584637eb776659eaa951ceb9a6d2a1075e3dd7ff4fed889ca769b73f7ffa898d477059707730263c17f9bc92b953cee4ba55028127300b6022e65123df2e34a5c09753aa5502c10fc014156b72608be3a0da602bbddcdd495ee67ba5f891b39568d2633cf9b2f215e8606c052205a8f4ba14cd6bbe477bdfbab6c8150e0911b6af4be2b96b6ad94b2a831b6af13afc9bbe268b7f1f33cfefa22274075dba9c475ddc994baa76f1b33668247dd9269db46b1347e25d393ac1a53ef1c10e4ba671e8b95a03b596fec52d78e23671a539b18e33d9deee94391a6d326a6b88f04df28a63eee64ef982aa1beeb74483c343d9faca05e9e9c66081b418ae4c6d2d63daaebc8546a332521150141d3b6401004351646e795c60f457eca8e5bca761d18e2f8a5525cc779269478c931c502c1d6771e10acb1a1a101411b9af19394a56d0581208d0b13414aecbc713b7529f1fb501df92c101c828540f444cf54e24ae2f77da43d912c10e4260c0426f276df77af68326da8eba14010fb8047fe6fdb73a69249dc6c97628160b875e8b2db084d1098074a5d2af527d1927724bd0df501817d6145d415bfc489291477ef772c102c6d56611d18ed984a91a8cfa6bcf15e91648160892d09825edc6d7b72e44cde5f146ae49ddbb266fc243d4d300e7426f14fdf684f9ef78fe24e2c10ec459f41b0a6c6080d0882a078695a5817dfd78dde97eec7a5badfee06521ecac45d51ec502994692b69e024fe359d52a7d2494c95488eccc0fdc83791f7447e9ec9f4dc63c07b11852aa5be12f97f4da2e5822b6d26722b8d64ca9ac6ae64dae223492b9652a7ed34964aa5b17401927cf25e4e2c6d26d4e9a63acc02a68eb39614ed46921dc7d9efb8a686872444b3bff3b4f4de19df0c02c111abc09b4e1e99f2be93d87d9ee95e1608ee601438dd27c9bfa5cee33cce435d160882e0045229d144a6c8cdf4759c77452d521e79da3e75eab6f18aa84f9480e91b4fa771fc4a25bb799db7e52fc33ee26059944ea7ed338d244afcb8d1fbc408943a6e133f71e33a4e2437938580676d8a437da5d4bf2da13ccb0241dd6b6a48245297e4621cc01ef0995225ef23491337925be79d1c70372e753a99464ff4502631d500ef64ffb9d30965ba5f2af595740e19c059d254fad17b53e944fe5f2c52252b8e9ce7791fe9799df8575ccf94224f6489b3281135a2de8a53ea493b7a62672253ff91b70a72f33671fb482e2576274fbc54881df95deedbb6f1fe49144fdb1463ca9a4c24f9a4475a54aae46152946c378a278fb31eca1351a90f8b82e3de3b6d9e277e6309553279d80250a5514c711fc79d4ca7ce84da30057cf6345aef6e9f3579e388ba09f852262d653b1349963ceef4895c6a2c711802b891346da267bd54476e25118541e15992fb50f7f4cf752f724f6c9b78afdd50e2b5a5f144be13228a14bfed53a7d358ea38d11e4014b7ce94e2aef8a8b7e389dbc19a20af3d9538b1fb4ca368df8e189452c97b2b6e29d4386ea812ca32e1a54c9aa933fd692b5dce5e1397e2522c10aca98981e131c0684271e42d79dbf54ae2c96497d8c42b8adbc9b47529af4b895d01c43b9e4aa81257e2bc9358fa93122653ea51e37b64b78d266f4b3d2147d4e9add77dd6a24a256b7a79e38f1fc7dd93f7a5d27fa4939e2a4488090d91229378c54dfccf339d4472349d5ca76fec386b1a4fd69a50e2276e44a99b3a9dc852e9d491a31d39ef3cd253d77b3b9a388eebbeee51b7094e7e9f379e5025cf5e6e3c6ddfb6dfe9ebae27a2b6e7de33955841499c3e72ebee57dabe0fe57dde9b9d784f5cb799fefb52ddf86d9da7bb9449bb9fba36f57df6ebb64b8a271611f9c46d5f1abff7b82e357a4f6251b4c4d378e2509d97faed4d972cd108959ff5bce7bcb1238750274f3ca5364bda8f34895c0a89d4772853f77d9efd4c5ec933e1ff3c2f3576e20945deed7e8a75bade783a799fc76df6a6fe5b7526ee72a78e1353dd465e9407829d2553b7843a99b6fb7f1237d18a4fdebb89964b75a72d25a2bc0f04bbeeef3d59f18e5ee9f49f571abd6f145328cea63e93783a3d571251e22965d2b6efff74c9cde46de268ea3ace72bf75dfc9134ba2edbe375d5275f2b87fd1fec7fdb86d1c17965226cd1bbf0de59950d64bddd4286e2c10b439422437af841a51236712addd4ca493117553f6fe9bb61377c7db84436d9b456d9d67b29d49b4299289379228cb75dbd89122ca341a6112b7b1e3c8d1c4a5505deae415216ea78b32fdf7fde691a513b9e4378f333d4af43a723c993e4fc97fb63b71e2c6a5c692488e5b922d65d2c6afd46d9e28a24edb674bddc7f241b279e3e9744d7ffa50628a3c99302784c492289ec6ff3e2ba23a92e3824c29937622539fdd4e22e995ba148ae49c009d36136745524c6d279123c58e086bff5e94e78d9b4571dc1537f2a7336d62574a79a5f74853f79b8ffd389347a6521e99eaaec795582018d280a0d8b33d2776b7fb4adb764f63873a522aa54ae21d4bd7e34c27b2543282fa4ea6126953a92e551aeded982862519ef536922c952cf9df8d25d310d62bddf16ea7d2dbd4fd4c7f419013c1735163ca9e4a26d4684991e32e11d1e47dd62b75db772251f6340ac189e3e5366bfa3cf164bdcfa119da2989259489fc7ebba85369f4523a9f78224fe2e69544d1f4993e148b26cc180477efc9213deeb9172f6a4b9946d294e24fe06ca514c989a714ea4fdfa9234b2c10acc909411083e246ecacb5d77453a8b777336d2c10cc5f86e31385203882616863b3919bf71b377a2732b5a54c2992d461c7a5c96d82b0a7cd9ebc528a1bbdbb91e20562fc521d29a23e912c799b1539991ad3f67dde563a95465469339952ac9ace3b4bb3856940b075e69e2127931dbb53b7755d4af438eb8120cde9e48d22398ab64b6d29d358620921df943a919cc8a546eb7ddbb24621a02545f17b530af5759f88ba1d0b0477e7618d1225b59fad1f68c0546afbde33954a9b6753df277e2c100cb786fa3ed1fbb6f17a5b57baa4004ede673dd3572a91d754427da867812008f616098204309d52974cd90d359a3eb2fb4fb140f07f933a5fea64517623b79357fa5029516c81200f3bd7acd00a51429d4ede764fe4fdba9335b9f45e69de09e5dd52e79dba944d91a378592078b3d5170441b0c686e4b2403d5dc795c60e65399377e2529f37b2407095f1500cd779a9f18a1f874295b6d12b5d1608862058da5a5ab7cc88a5d296bab774b2a437a65029160882a0a775e49f50a55449fc4cdb583a912c10dc9f6552258fe43c0e95e2523f6ea98f0582fcfef3f07ed10a046b2ab7402018b6f4cd76b32c0d27b5b40e573b0c5b82f07387210e40ee87a6af0312f303e6861f38fc008400380c600701dce0838f1e70aba561aa0f3ce4b0830f3af868ed90030e3edc40f6d3062e7c56e8a3869249071a8ab4abef3083e9eb6440755cd8fd906571cbaa01e0420200a06be9310c436ec8f475e6f8fc34f2b61e3f62e85ac370ed6f181ea41dab1f3a38de392e7a202fdde612d352645b3cb070a12ec355c6ab952e6fc85157421f546052b81f598771e12b0cc35ef402a03bda70c94116d8b76c5671c9011741c480c3b169776050ecd0416b7084326ca82a3cc24913264614b14449122442414044fcf8f41ca1946645b22178e8a80b38e8288a1840645074d01ab451860d95010507182d4fc04129a500a8e2aff89144144a31951f4a6966a04082820d9456b082ddb25c15bcdff58a625dd879420428dfda6bf7fc339407891127b86095bb2d4ffe43b68765d604a5b4050add5b47a50241d51b4d5801a55b38e007a5748c6e5798c8ea644b84356cadc255b64a895558a10a112a9f4a0e18cd6cb050650baecf2b412c919b904835436a4cd1c5309d7c2320d0f6e9e41ba9b5d6dc44895a7471f8abfb6111420082150be82135e4972b79084d909abf0cc35bea940b44a17224c70d3abf75c8903a6ebeb3d51a151a00a1a3243880d20ade07935044ffeaec04135c9519a2fdeafe46020bfe77178b10e2c1b1f9b1c1a934b5e8e25c26bea5833eeb1ea11d8c98d072bf2ccf1e4ab3021880d2ac868ecbb848d07e7eee37cfa0d6b824f37425b97b465296e78ebdf952b45df7dc5213f927b8c81ee13ab76f6df26cb790de19c95fd678feef74dda3a3b59069b7d0d501eab8858ddcbcee294b4ab3250a4069a6c42db19227a44f59dadc122ba1347b714ab3a27c9294662e4c694624e2553e77b2eeb99466e7f7dfa34d90a2bfbdc4296a9bb8243aef65f7167579c32de996784b4a4bbe25a625a725a825452842b811e16fe16e59fc346bb6429ed71e99d6bbaa25cbe72a4ab31f626078d62083d22d0997a43516519ad59044e7dd9229338728cdf4d6bd28cd865e5fa414e296988593e5ddda6759f66d7f5e57dffc887512be5f6cfd91ceed1be9362d9dffb674ce9625f45b1fb93cafab6f3aae41a7b423ceacf1854a8e576fa4b478c4f71c0289cbd3f3ca36946643b665f95984d38c9f842302c18da8260604f910dc898943956a68c64f82eab81375964ca793ceebbc7305412082f2add56e7f7e3f114a3324409023ca6cb809eaf1e111c2e9413244b8c4e6488801408d1a8e889f94669852da92b128a52e396ef8d6fad912efe3dd7fb8414015340134015f60408ba12168911110aee688a042891ad7e7152fb0eda47132e31395a56df1234018830843d8c802023e942209c20794f638a0015860816b281de2415594c890110f4e40f4a528e2dc79ceb80ae92a016afe72ab437aa8f94b97c631f9f84938366d3836ed2a97660b534a8f083142a3dbdf9d5f9d434e79280d22fcabf38a6b748611fa1deb9002bd3b784229de1d04c11f66a8c1b7569a2d1c9eb44d667ca297dddb56d00c0d504acdb002ac010cf297008c0afcbe25668d5806a8f99d0fbda98528c5862084377d740f7644db9a24b9b8b8b8bcdcbcfac677ebf1b7b5e182c6774e062c200104f0adf5e7f75d5eb2d65cbf6ab6b119f9000e4a33201f16210f1b64c1b706a5005489328a28b59dc760fa3aed12fa215bded8fd76eb7cdff77ddf572a954aa552a9542a799ee7799ee7795ed7755dd7755dd7711cc7711cc771dcd66dddd66dddd66dddd66dddd66d5d2a954aa552a9542a8542a15028140a85429d4ea7d3e9743a9d4e2693c96432994c26d3f77ddff77ddff7954aa552a9542a954a9ee7799ee7799ed7755dd7755dd7751cc7711cc771dbb66ddbb66ddbc6a552a9542a954aa55228140a8542a15028d4e9743a9d4ea7d3e96432994c2693c964327ddff77ddff77d5fa9542a954aa552a9e4799ee7799ee7795dd7755dd7755dc7711cc7711cc76d5c0a75327d25afe38eb4786811945224e8a8056f504af7cfcc8c9b23d1fb8d78dde89ec739b73cb512972eff6687d2ec662b4ab1338e00fde81e4a3332ff9016a2347b1bcbefa8a373edcd97e7d52d9c9e6cb3cf71d4d9e62562229c63f3b9f3f88adde67fa237798a3baeef2971994f9c18fe4fdaccb3cf2e5656df58acb6e6b1666bab68cbcaadc65f4876474a33918e50f06341b0468b3655fb9afd80514ab7172750836fed25869c5bb3679b710bef91e35b5b67feca5bdcbaaa2692e960740219beaa7a54af84d33cad93917975bcad7906a7342322c42ae3fb5befad53da6e77ee5b7ec7d7dd7c6d2725279fa90a419d4c78f9445f9696685fac93fce65d97bceb3228344d0b8226afb96f9a78770eb6b875d1a4b8efeb3647751c129ae30c318240f9d64254c79d96631b090c2bc101092480a808091c4069c6e70a8ba7d108e0e05bfb46a0801ceeef386ce94d86e39b7c667ca2b2c4e2fe9fb2e4e17e13044393a33aee1c612835e9288c2c46227c2ba95bbff9d63a16511d17f2fd66f9ac11f76fb13ade7686eff8e0509a957beb8cba2c6d527ad0c38acf0ace088c1aecefdd9a33bb731eb4ca98737c84d2ac86d7088c9f950890c0b7c6ead69c79f54de364beb423effc04aaabe795d5ad59cbd2060429cd4c5f4aa5998a0880a0941605aa71a844f168b7a19c740c2133025034000000f310003038241a0c076462e188cc8d210014800163b46cb2569bc9a33c0822649031c61000000000001091d9a6010a9250647e35b69ff09c55405c0f2abdda386623ee3886e2aa1068d776da86a8309e7513eb5f1cfe68b84746b87aa5a14ceb081937ed4f227f2f63c2af69f1cc52a97f8a5824d1e69ba7796fa695b3789efdd246bde247cf8c46fb6ae5dca3497be1d4efe195418c2c39fcd3b945632e547cfa522cb6b43414fb78ee3f1715374fc7b13b77ee8a47a074f5a364c24105ece2f2a96f6fb4c7981db15a902375ac21ef5411f9066abc989c075857c74f0ea54af1c3eb06d2272000804982c091dcdfe8566bfdd70a95a85c9d2cb2272784bc09604434a95f3471b14753dcef93c286b9f7a879278f73551c152e4ae5cb55bfa2260d3dab4d422f9d752cb28ca0c5f9b05befd63037b2e9df1a99e006e4c066712d058642ee9a0cbbf98a2879aaaa12a7267ff15c54b2fb4776d87d2a1d4eaa62a0143e267803737387bbb9bf56dc3fe8ee97e8ee0774f73b41773728075f0c1170e8bcef57b5cfa55292fbc5022b5895ced40313599127e22843c42f31e03ae9cda0177218e447cfa3a3c380a2b6da54ae46ed2c40cd3f168741470ff2c1c6b912f325469280ee0e6d788e91314e0f0140306747ae19106eef2939dad31a87450c1c402872fca5fee3a81f562f221d0d9abab5cfbfb460a7570a9e81beb4003fbd52047a2910bd4fac9c78e1bbf1c9c7a683de47af585934df7b23a1891bfac099b5acab4fb9ca4f4fce247aa501f4521c895e0a88c557d13b028cfd6747d3aafa741f26169b0f84581cf03b9538d67f4bf329bddca7fa7c2ff7b140eab9cf96c5dc4914b16e92a38af12fc530c44246b8f2c16a2d1693edd2d83e9ee55482afab09aeaf3a937206bb9e4a95468d8027fa321128734c9df201a85883c9bc3dfdc57c8a35653f3df304a34094ed05a0e8878abfaa7d77d93b2232749f9b8577eed2615762e5a163b5023f088269e85725dfd4bb3a952bb54aa1b73ac4be82b68cc722b37e34b9feed2d10b8dce03280398c11e051ec58bc143d35c48d30b7d4982a1fd8a5ea8fcbb6ae52c1d413cf13400fb23be9df0b551bf9e4c521b6da2ebdd155dc218ce87a7b603094b80357dc7921b1dd9b20d7eb7e9b96ba4166e026b6f85529b28d67fc8385cae43fdea2d89800febf7997882deb1bce88c93a7d7a8a45bcd491241b7a8a94ad59e011bdfd78873410a0f4df710d28a8958e2992d566d4fa9e9eef8fd8d24154def207d145d9949bc6707cf895ea991429930987d16bd0844f8501df38c182a9bd295a52df358edd5831b4c5b8084202331f11a0fe238ece3246db5ee6944a4cc789b9dde4d4ec1028206ba1371ac5018b574447d1a752c3d221f500c7d92ffc8b59f93b1646bfb043bd259d155f8e9169e19dadf5884b251e8c147620813628334770a19a7b33869568c843d32ad633685521a9b3ff3bc6d25131744e52935f0495c06ab77134d5c367192bf335a1f51e69ba1a8c2b7fa2f6b6e173e1b7bea38784b55f8c6b8ac9e1d820c4d3d14f35b24a8a802c6d550c8dd852a2fc5bd6faec0f481b0366e13733dfd264bfbc9cd9710fbfe582daa28e05ef745d46e23eb756e454b1ababb32e25e529b50613400ee74882d75d43aa80c8cb93b0bae124294cfe62b1bd9046b708a923a0d456dbd35f9a729deb9d27de0287b674e522a888da2b9e234907ce4f44c0b54d26fcaf4def73146ebe3080d0acfb0926af26b4f2b639411b4082f05bc666a50a003cef12cb2bd2c46ae67ca62ef3de9977ff4b50034b69c3694f803a033860f306485b043c9903ad12dad9d218d0bd896fa43c021204eaf41410752320baa300c8f02822061000cd00a193d0d4a1ee080992b69b0a0e48828586760ec91e83f238f6444602bc85ab88f0b9b1210b041a01bb301cf38be4b2dbc313f943498c711fc32a85d6fc543be331aaa0b623a40b8d190a93b20ec25f631e907633687fd1c59743482b8fc9786d2c0265466f2006502648d376f90112c049777b3f3c0f6a1fedf270fcb1b2e8a0440a20ee0688cf943f2f3fe4d7fec192e56f5070de3f3260ecca490e426678c980bfa464d722e961853240c3de94788f349fe7e032e6677bf8b16827d49d59c8b3a1cde961a43fa90b762e2b32acd7a026a5349ed3cc10591b48f844b8009dafa0346e290a8aec67e38ad0910ed5fa80b71561732cf629a24d658753fc83e50c0862df34cdd3f287900140f83dcf560feb9d45e6f060c779f79a4b0cf6fff377a353dad70ba529a8bdf9a843d6682e62cb87217974be4b0f0fd5e7eabbd83d16fd8fccbf979dfa43b514c7f6de9c57537685d66ceb5c9db4182ef3a9d164d145af5320f502a9d752dbfdf44eec0ba3724fa49c27692d4aa919bd511b7598baf38c3816e98d270304e48d22b9f5bd08fa0492f743d2386f78c7225debf94551dcf339e2304ed2f09070e8498b4708dad512785ec5533fa82d41c84f396643bc4d6fe7e509e9691193e8663f8ea96e2b3ec99ddb28781ff1bd59f23262e185394096634908e8d4e1275e0c80aa5ffa4fb1dd90a55ce3b39f984d6a010f28e6fc33ff42583f872e17388891b3c727ce77e46d45352c916c193e0ddc67cd47def504b7efa81937b28c182767daa40e34139e2c8f47cc939707385de29127a3717aea982fba2e018e05706d0abcf9036aab4495713920fd5d97185fd8cd3b4e5c7f8a5b583237006c178ba926a9b30203ff870d561ef99f1d24a4530ab1b1deefead11d535b9ee664aec39fb3b11c466ee8c503741521e3606009a5da7967acd498ab87e069c94c94ea01bff9d37b0f48b7d9fe81cf93367111bd1212b0bc5846d29fada54b17924ef984dc927f44e3dc2ce16957a5ed7387273b2b7206ba497294c199681468e07cb89c810dc1ee9614755451fc85a343d58491d1c466163bccc0916fbb5d3a1a3a98f3a79b76223c4ebe80d5e44340a21e8760f07affaaaf9496bf4ed22f38e32195c1fc3598928516e20fed7e82b1b24d07deb2994ee2e0fb0b6ae10d7e478d025382216637e5876bb71cb08569ffcb04242f7eecbbea3e706b10ffa27f0e4c97d3dccbe21c08087cefabf33bb37d1ac2276e0904fc10dc345b92a4866eb1a0f6cf52612ad7b00ccc6b28207ae47b2f4b4836032306487f20ea2397b7e1faae09265a742b751dc56e719959a76ea26d7fad0ddccee00b1eb395ba23b349e07a8ee42072da098a5659e0a61f5bea33b25a74b01a431d4aa0c27871fd885ece92888c9dff55fb376557e6341275336520f6b74157051ab8323020f45105fcd3efd0038674c7507f6fa3bf43a1b76bf4decba1e1918fa1272f80e367468dd48b5f789e6afdb8ff8faab4a9b506703d1bce69e0bc1f86cc1213bf5eaaa186a7d7aee76e0348b3845d9fd640a3bfadee500e198122be59eb1e2e7bc01fe411f4cf61752eb210c4ce4294eb8cfa7b776ee7b85a722384345f475f7139af94518050fa4dc23d464085535fc04cf7ac6db4a7e355461f5907df0496393cd4124c942e3962e677e5065f4e5bedb32092485abf311ae0587d787e877b48a6e5d262c9412e08affb51618b40391362983730c82d60caee0cf42e2fdc426ec52097f31de6b2ba7702a7475ef09b7f27b9e241eff8afc2f64a29e7cb14762d234ef4fa47c1c529cdf49e31d38df807f1c612f096b02d8a897eee830f8f3f534df94cd636bebff63d228551e2e27b536888a178cf41cbb0730130dc5dc862d196266cf21c178e5419eb46ae2ef259171945c8f93d71fb4360e4451755275c783b258e392ec58be4f9008ae708761cd0a6b240f4a9b19a7097e5bcf8718422c2275093e031945d66cf596d8f118ab9afa8e62dedb6799a5ef444ffe68de3165c56c133b7ce169586305ccac0e2a4e21f4146c498cdf62a1e4f869a9f3436699d7b551c078676bc8e8f6c2842ee8b4f586c2b3d70be3de4c7a8d8610cf06299a9a43e0e7a3eb0fe80c961b38935c528ce2b6305eb7c7f3452f328c62836c75f5bf0c7c0b7aac434951d8645d423fd06c8ab73fd2011fcf3a6d0b5c6dd932a7e47d42f6a4540feafe11e9b9f6b22bb39814e647e074773edf11ed431dfb269cf51fd672c0660dde03f67171e22ebc59e6eb929618b3a644f520aeaf7cef81a1b29d45418e3dd9a81f46dc0bdac640669a0e65b4cd8f15df6c7f504710783fad3e9c908e973dede40097ca94959f619ae86338c1fe36db56d923f09f8e93e38e967f07b638a1b3dd256f20330a9817bf417a27b3c341494e17984c8eff7c662a3986fee449a984b2c67175763a3a3f28fa54ce00698ffbe12038c2607d5229f2ebcc732c78d66f72a9b3250a8e04b3bdd7ee6b0f663212faf5c9b497630d37a4376fa9d42f12b4d6b9609d63ac572158deb7aa0b66ad603ccd3d5661052d15baacf6be9df9bdfc30d420e0730b3ba5b929f3307887e0bbcebbbed18ff5f8d9b5330333d95fb990729ab49f9728af90f4059c6dada4023de817cc566338331a74be011e52fb4f7ec6d17e8c4a54aad61a6d7f4fd48ebd52ea5049a95cafc02ba6a024885775418b6db67a59b6e9e37f60e46c802a5dbac6554785315e18b67f6478e8982ff69167f7d5aa345956c265656d81b20b8f6e24f36c22130d23110ab5d8e5b2133a653b20f932dc22ce9e86815fd52e3b1f19109d9313881b47b2f1aa45153661c12388609c06b0242cc66482240daa91ffacc2a06f753d6b5de810a72da8d8db14d50b7588dadfc862e31d2fc800518e16223f428e64e3eca83d486cc1fd3624eed4313d34650ff9ff59452feae8c76cf388f17a1b994b9bb1a0eadd6ced256237b6e337bd832448c5133785b94c540303ed8eb15ff58e861f90956f955315aa67bd359e35763adb4a4acc8ba243dc4b6f8c09590c35bb742dca5d4e6d0efdf83aab4d000f35e2285cdd6c6df3f05debfad08adc01e17f2f96a446fa0bee0956317c3c276adffe8e3b22704bd304ec0f7f8d14105b19f909fc17b27e4f43394e4ba91713a6362c7d298330f9261ff9745bf967ffd87f1b14f610518b7d66dfcd116bdfbd340411c906e248eb0947513be97ae571a4c220871ff37ee56b1c1240513d907d3fd14324faaf011bc30cb5f6573e50914cdf3465ca937a8fc20703c64cebdba13ca0b7794ffb7d267051a443640c1fc6d930e4a8c241d6468ff34eba6fe24f2c087f47d230e4a9a2731b828fe35e0be9c3932838bff83194e151b4d5e00f1beb0ef4899f1e4851ce70f43ee1537548a7011fc37c54f6163a50f83c12ffb9c953ba4a420f03f62c7b5ba834b0103d767f6fc2d38ae24c0513b382e17b494939bc6db82b53d3d9b2d6c875dbb67edd46a37a91d18d3877638bf9609e5075b8cff9aefa5d20692269051ff6f95cf0a1b543641c5f0be513c296c5ec98781c15fb6f3acde31651504e2ef18c5b57aa7970300087dcf344fcb1caa0c80e3f31cdb3cad7f1619c085ded74c75b0dc21a40e0f363f33d4f16a4690117853d22493460a42f03e9571766f2061eab3ec36806688a684a131ff659eb753ed080464078432b545edca34227bf5c3af4157cdb579b686d4937c88edd219cb754942987a177e1b74956f1e66a60dfa59f9fe5055847eca5a727437faf7a562ce8edb752e7b6b940f477fddcf835d840b6ece5bcb50c0d4276d98fec770f7f74dc9e0e9931de14629c4078c6682a9f673f92e0963c8fffea0399f857bbbc0f2e6a068aa397ea93d96e98a022a1fa154038ed8f0a90b8407f1ab07aa77ea4ec877a8634af8aacd842592892afa34f622b24630a30f68954a0bca2bed92db6e9f9fe833f3e22b7579f3d2855b3210aee385a97eeed2c6afd54d724a0864ea1e86d217b2831b39c3fb7741ba040bb82df8b42c0ca36b1143b87d30db3f85bc1435874a93e08029a1de20123bc33378d4e7df03248111015a9d38208c423b2ae889384da736eb783539c151fa449f734512d1c1a010de54e69c3596e0812c10a20bf36908146a95b8e47ef7d935bb93db4961476af75a1e0a9d5cddcb17d5864385d4e5341b407532fe7a22dd6175f4e006d1965147d0750115c77a76bf301b3d3f6fcda4975093d76711af09728bbd971135fe612f56b8563f8424b95510d7cd6908caef6d05c4ca3be7eb3780fe94efe04c7c39aab9fbe65e630eae61fff0bdc2b8a030e53b4d0bceb406bb4e8326b7c929ddc1c228e2a1269a009da2a9ebb46bd84925d6d851833a86fa0918f8909bdc3a7f6e8c7cf78a278cb20ff45ad1d8c745d0e5f094f4b8f64f8af829faff0c8bd56d1712a38dbbfe7bbd5893f03b742691bdaee4fe59e50b6df2b73aa1f94afeb47d0fb7e3cce01b2060d4770c4af24d7a0e7297c72f4436b88b9b2c11b26caed1970c0b8c2a6a8629c6d2d7b846db593d50cbd85e99514e68c02f527ccd077cc6649766c9ed36c1142837d1dd455fcea5567f5a1e048222115896e6cc54b67395fe4f9fb7d51192915004382420fc51380799af1ddaebd4440badfce93ea3a579aa231eff93e970f62da9f3c43c9823d806527523fee9880fb4ccfac3fffb0f07b8fd59f2fef258bde5027a3cc71c30390bb8f1ea64999dadc279cf3e815e06e24cb3974e578300b2b58d2871a074921b8adf6f9a7fd95d3435dc6202187a1616af98f1f402893864b8e3b937ea47274ae0e2e911bb46c9eeac89d6bdeeca308dbf5c95def662044df8735c61a990fb02e4c0bf844cca806a55e013986b50cc2acc7a9b0974bc4a2b9dfd20212b162e04cb90c18e16d88a032d3c28c6c7e63dd0667a4f7fccfbf715f321f6b472cf00ee2e08bcf383a2dba29b6cfa21191ca2fe71c6bee9d3784a6fe13de5f892cf01885b6db3ba24c24d93d0d51989c82ed32268feeb4ebeb0f6250ec040f27722319a85ffa54943f57de4ba26d8e06b6cfaac495ad868898cd1e2271e6ee991662b0d9572bae8669d3c3c3a4618e1a32e70edb9c122cf0616905b815c9c4268549c0327935291d0643b2832a0101f6e9659536b5be4ea2d98b3565718b0ec92cc1508807bd88443e0afb401d551418e27ce801e840821e62f6ffe4c3843c1f91a6f0a7d6629538e550175303850893e567480cabc0fa47a9f849ae76a27ddc1edb1a7d0d9d5658acdc2425a64e75d18fc8803fbd242db8e177de5cd2cc947a87caf1356a2504f6e8d6f09b69d6fa9e84a6cc36335d1e914463f65bcd248fa709be47cd5a44bca2821f889cd041484fe3a47277bc2ab1b4fd870e1ee83aa4dfa47bcf7273d0ff44f8dbe351adc5fe4fe2dac362c77c4698010e4ce02e3e40e7d303f041888dd9149cea5f1556933dfc0aef05f8aa17a2c578d1a88626f82a1c869a3a77a52e32f737d54d55c5a4959fd25d4e3eaa10cbe78a9709d07bd0a3299c59af17da4489771ac51fa54d354d107e0379f891610b80a0695a76fc922d7ca8a3f5d04e1bc2d23aaa498f39b54621ce40c4a27ff31c6dd08785662fa4cfbd34b085be1f450d0d1483e51ec80c2f6cf4e7bce108f86c473f43caceecbb7c74f26c926aa6e378627f012557b2a44abec00d788eb0c1fe18141020934c4ffdb157badc18f36fb4843c7cc9a0848826bc353c99305823136926f32c5656d5a43d3396452d0d641305823688abeffdfbcc08eabe9d8584163dd08226117124a726745620d809f624421889711acfdac93df3ad906c28b38e20b32b996b8862c28d22fe729b63e27aa298bb8861de707ef6208382da8c79bfc2111e2d7abc27752c20596fb102d7e2ff51bca37dcf0cdc071f30a71f42f0d21761b6ae4353641092e43044822f431365ee098febf89866b3c64cbd7993a062aa142328b43940788a4ae7e9942f7aa3423987aeb764ec83704d9fa7a3d81db1e072c45c6d5c28a882447578e7aa031c01ed86a3347e91d176a83fea5250bbb9478ea904974a3c75bcfc68e58a92847d9499beca2f7dfc487a7937be050b0045cb53ecf0bc322cbe6dcb1931fd1f76dc0301c24656005394ab6b9a0f101d74fc253f9b5d1fd7616408e1d31115f8c1cf29f76c29421dce309bb429b8cf2fc115ee7da8c2530c7ec35a99083c4d671d814781f661b223a1956dc07cc5ba9e8b4b1341052b0d0df8934ce1e0b3f502d75641a35f93a63d826cfa9058d30c192aafd9836f24ada02e1ad8de4bc3438e6a5a3f4bc37dc2740ef6eb3c00cf9e7f90bcbfbbacf39d95a256d98dc91005fae419a375b845173cd81b4c2147197ff4a7482bb3bbe292951bf6ac77fbba442522965a98a3849761b45f0d5ffaec7ad5591d4af0e067d6625ea854bfa3dc7cb516e820510c89d8d4c0b95762796e3e355d3684a08c17c818fa0cc0ac9433831401321f72b90766602e82393e1df024bb34198d24980cb55509c066971973bab6868b7aef83fd3b8ad667acc9ffad7cbfef141385f969fa7ace5172d1f824770677777e10534c8365d0deadbb1f9446d432aa818f5768c3af114292212c910a73d37349b6f522297358e9a390a71092a0d1a8839dbbad69f730c90b37f7efd74d499c916448d8c3dfdbc04cd94e9fc4418d03e78c3739921b39cffa8e8dd2fb4ba1f484a6f9252819e7d5611e6fb3f25d0813fcaa9ffde592ad9c709e403e3adfdbdd5e940a015cd20a6b508c9d2f4ef0882a20f0adb1ed1df4dfebc2bf4388631da697382be16bbb87d7f5e552237f1e0dd963331502acb0c655038c2950e11caa287fe43825a3e7a7e547ec3d1aea7f116a2da06b161315d4c30442994bd6e7802f4119061501ab8358a5a09189bce2d5faede4534608c8500d09d3fa231f258e003c698617177b41c71d8de9da15ae5558837defd72908acd795a57e7a02c22e856d3dca67bce86f911d15cff235ba1b6ffacfe669abc476c3b1dc63764e0dc86e804aa5200e8320a76919f1fe36601f13f2db3d8368fde33b723e4991ca0a3696acdb1f7b405de2034cc7d6ea023cba57d9a656dd2d2c074b6008b554756f0e1f3d59adb27c229b078078d3acb9d8c74afeb0718b9456c0219613ab28d92172ee11f6bf4473c7c9cf7818fe53d82a18d5ab1c467c4aaa308cf647c97bf9c2b30cbfe8a9147b6c1948d87a9327d6633de4478b2c0e29946ab3731d6c2e3356ce9beb75a2cac6f6725c50a7dbc992379cd28d16c6c9bab4064e41b4997d938bc6c624d966b0508215be6347366d0743c4e238ed50c8e9d0d46fbc2eb6f38be38621c06d09c7b0f2afe5b6ccdc5407c267507b0c9b06cf08478ae11b7417e9f010a1fffd40f9c2ec84ff8ac1ea534ed48a2c83420d56987b6d6a226cd33d47668418ae64dbb486cdb39733fb84619e20e00040602e85fb0ca379a8de08f9c6f61beba2d9a71e06771d7e5ea3cc9fd6283ac8fbc3d8e9a15ce86a347e5831c6c0732adc111460a9bbd5cae15dac73d4cec30475c571ac0bb9b0f529d42f4991cfee9b8baa9e3a5fae605afbe1e75f63e87eede2e111e9b38da9b39562b0a01af97819a58a6f97a9c158f861d21d86d404eddd930ebde1f2028be6474e956979e31d0b1c33e56dcf3516f05991cd8a2ec3390dd80ad87a7cd87fb3a0223148a95c28625130377477dea3600d7bae091325114cda0713e3ce75b8701f107db16190d6b1a4dd67dab153431ce50a61d449f80800c0f62813571ce5d156ee22e1e82e9b9c0ca58f45f74f414ad8d395bd4922b502211d0839f6990fbd6325af10b7e3e77e1ef44aa543c2f55c8a9a36eacc99c271072efef68a8cce6e2f5dbfd4a280a3641245169fee205e4fb871f0992b935dcae82df1e5c3cefa3be769d7b774398254c21a5dc8d16ba31d9b588d29dd5eaec247308bd35723def30cc64f1c48c93b257785bb718674176747063df4b62fdecc76208736d473d39d38a25c06f4b1ad8c4863e2e7be0d0f6d4ce082a90b39c046f64728715e888b9f4d9c69c978ba280e19da231c1616b3cbe5e28b4bbff9fa199eb613937cc3023bb975bac8a0c0e923e33db3a5892f79e4713a3bb72c79af841fcfd4704298e71b0477693caf821867680c791f92e79a48e7c231847cfc41b13785c11baebed241db66e12583a62ec70ba3cdef7f6d8cfb95936eb3c1ee886bc096b639d5c64df92c9ae89d1dd595bb8d7eb148b87c663e62c1bf4a080745da38a1e2fa4ce53273e7a827870f3462dc9d000eefcc7afd0befdb370c92568d0ffef0964d17d807a0ca36e44f1572f720f4d44d04850cc970693bc6605daa9cfe30e97d17a2e7e3bd4f10757cf7c5dcb6586cfecfc250fcb4ccc3fc01c719f256fdd82c1526073e0c0ace34c3f9a6cc5e48088f50430dea4617a056fbbec85b7b064af52a0ba43cd8a2235c2eb2915a9b8bfe6b5b8251c56e0d4b2f958266eb4c5b2f09662e96787c7e067c7ee1ebcc92da61cf8fc62fad2de98a69ea2b21f5c4983a789e22515a33742a1a2606e3699792f88970c77d4c4b5cb2c5c1b12dce1b77449cee1460e9af346fac7f209bc659606e0706c61904d584901703625de599fd7bc3de891214b5a61426b88914ed84c563874adfb4c55bc0b4cc19f067b13381a504970890ca458f1d54f5a4b0cee1989b67e9ecd6f7cd6861bac2297c2d872489c965abce7259a255fa85f9c71d249ff3c44a2cc12c35b73ce685e40dfa02b62734160d315ae9a8356cd0e4529125347ece03125451c1f02352c83fc0dd855cbf46cb4aba2f5942d46f47bad56a004ac5235d18046ce4d1cc2a66d3a744b6ad5c31748c6fb28043dce9f55222f51e4bef1ab6f50b99e0990c5dec0de53973e99c8de9129e99ccf0f9d827c9ea29bacfd2ba641aa4c2b58a43265713ac498b19d75e83cec6c1cb5a510c9ba34a214c44442802d4183a655a91cbb3a590c215c39efe74b5020fded849e9ee42aca71647b077b3dab32f0a7ae3ee93b297238e04c895b97dfa899290cd87fc4664c9aca92896d20e8375a6ef759d5b682d009dab0aa615d6a1293af981e44759f19a75f2024a3654aeec8f872d787cab012fb5e570e54f01ef7aa5d4346de1e72ab5d80a0f8c6bca7c38f1d2c22eb226d4c50f8a9e854b4167dbce517a0dae9f914c10e035a65488123805cffe2c760ee23f6f3471c5003041320d623536e8364271a5b0ca80354460aa636a617c5c7b2805c0f6b9673edc2135a59887382e8933343572e175a3821b779c57521012cc82103cdd3dd841ea714980d041f79e60e764a63e9d76959d43154c13d6aa34e72c8322c1f2a27aa3a4bdd42c7b2235132e584bc89058a63fa846ef65ef3e759861bea09ee35b227143307657fa41130a13d9b99d17d2241ae7f36c442cec5cc4c6a189e0e161a383abe1e096e8f8232ff79650f41fb63493d4350881fcd2d525e8039f0f487594c155207195f9d85e09e11b3c26681eb441606d85703bb74858796a0ce0588d39efde02674229c4827ace30e03309cb6db8c896a50e06ef461050edabad5460caa37cd485cc53caad52671c054a6ace1f3b13e14e4b232655172c182963793ccaf08e0c4b88ef515889ee4a114604946d658e5fd67d14d0961f7f924d87c6d37b216f32eb52834352445b482db959f68800ea496e189f41ceb4d02823447c3e19658bc59b46f0d7df1982c4d38d47ce8a45aed5965025cd8e6fee2e338772d3fe72f4022b6622af57e86cb076082cc02b8309be14e2151883dc491d46be722f420feb55fde4701f9fa19ac2e82726b0664718784cb73440c95e1b810551f44ccab690ab6029d48a5fdb6097a899e443a76dbe3be83700dcf768bbb3ee94ee2e6d2cf56c2e73a7fee16a2d62eb1a048d074261111ad64300cafe6689ebab8029f9f83028afab2690d87fb74371dbfdd10854db3b60a00092ad17a1ef04a6ce9fcaece379a1ca81728226e41d091683300e22f806fa8e369f4aea49effc635505cc8b4597142477e7009fe21975e24fc8bcdf72c681e145fca71fa49d1c4366b68f8fc66203dbf0f1a418c6a7d78c6a919945869d9bdbaa2f24985a7e48d71f788c66213f3c90daef72cf5d6f04b9a7d9b408ecae14ddeaeebf59ba6d65e873483f797ee4cf70e23cc42a398734136c5ac028bad1aac6bfe80d2cfb6db3e84e3c61e2c458e50179668464b26e0e7ea2b926e1ace87252a4ed6aaca128a99ab52765bc93214b585c30937a7c87cd887ba9d772106cebc3dcc0bb9353eb82e59d7e5316057f33416cd213358791fdfdbca92f1a739ca5c9aa0ddb1fd268e3d8a639883b2a35a098b82bfae741916595d9ac2224aed00abec29ca43f81d219c1b4561f2b40620e1fb5450a2b33ebd9ad0d480fc83c5a56bb9a756603bd7bbfaa52c1753dbf5a4928db4a920492715140415b2cd641c1f96c0021d53a8f179a5febfcc4ae14e743be9438592d918ad198ccc784dbcbb8532c9229b9b45c05f07ce5b10b355625d87d927b8b9ced18233ffb940dfad351791e4c3360f39936bb3efea3132c768b24f0ee85319ed2ddc66805c763f27356a9c89df88e2c4dcc9a61a3ac67ab3dbdb80e99f58934bd38c1c7006b46fa55d5c10e4cef48c03fedd772689f8e68312fc20742ec6ac168ef1df79611f4dba985f40f1f3eb54c1a34adbd3a4388ab0f5595141ded756d1e2ca051be5352ef6d68f47f35411e7b0e1d1cb76b3fb6725a87acc9058329c540f9bc01700aa3b1a7f9d16f4d8306558b0580906c3a157eda95f2cb99fb7f42ff0e8c2e22c27e2fd38ad060c2fce12807852374fd5088eda7a1694ba1bec29426506b08a4bd69d17342d7b6292b6a317903e38b84b5a2214abc769e5730d14df2aee4dc895a6c4cd3bb476949d3975c79fd49960465fdd55dc69d4c63053acf56f2885be928c60ab592fcef38a8a8c33aa780122ec2189183439703a74e3aabf91ccf75246ec0b92b9219cd2ca0e15713b06b306fd17586bb58c63f21f9afbb5b562a2803b6e48a7dfae4a6e81010e81b536644e87e16eea2851fd745ce8af1a8c3c2f50350c84850a24ca2a3158c7c1c88dff4f35ab7bcb1ef8332bad9d3c6b73f15f1e17bff14e0f7162bf12d9c3467b0d14b21ba01820705da7e466557818dd146c3791ff269e81dceee1b176f1b69226b4c23fd1f342cf1840eec110388168ee7db7d4d32b681476725e71e4be3cd02e43be8319791491064b6a4042b05680fd3a36f88692668d6e353b43e71b93d0605d9eeda35aae789d3f4125113104c2ffe3ec577055695bd1e9092b75b92996fd38d5aeafac4fb0ad39614abed88f4e3ae7f8c805c6732002889a337fc0d554a5c2fe3a1e7d8d9d9ba2a925993d443b63103437b8959743f67d56848f75e4707aecc729167f1a830b872b98bed582ea7840a583787fa065dd4ae50bcfd8721075f240e8cb726e2552da5eb627042fe791dc38af48cb2c352511df562be08e601b60884dedaa0eb9bf05d01e4ab738db4004d4ce368d738843771516f6f719983a32a0b170eb6b96567f26549338e52dce34e02badea00fc37498884b6b9308729d88851ef508fa951be713a838522db853f19961823b963e12350ddde16f6ebf7edf18bf27e825871eae4d4af88667e8d3e532e88f0617f5a75496ce69bb3a173eb2b9d4c4894f5bcb90caa62cd998203e2819835051386ea3f3a077e0aeb90986cd29c7699be36f740d323eac77612f2693d438e5f3edc6ebf1a629ebf81ad74513e454dac4a78201382c80524bba2085472542a658b1ce1287115a57ec239f96f18d157d5b81e0c9b8687b214a880c62ae80213cd1df0627a8a4b0dbfae1051c061cc07cdc3e04695d80253089217795e4f9982a026d1f3985b360db300208cb19bd16996eabd3d26c87d39cac7bb9758c6c3322c2534265ca928e19b4c319391155512c7944470be23c5b69b73551efae616778c3737725bad53020088b7b993429cdfd72aafca11219302a8119d9c6d3924a0d7410d8433e56f3372ba675adc10d8551c8a9e53b03b068beb5c367d39cd0a5840581f62fc6a6fa3e9b3c2c8080e69903775d249a44d26b6a644b419e37b06aeac5363ef8d63ab10a0839005b763e985be0ee4bb6db3b118fda79a8c8ed1d20cee9c72634dfca36bd2db47b857dc7c4b1b09d5628c5233aac9124c1c0b15107113facdba1714062b2503f7207a32517b72e9c1642be7e1ec236bda90bf44f53ff84b6573547b051913bc2244c040078b172a1ef671e3485ae467a5ec97dbff792b2007a9916ed0122b72f9ade0a8003ba2d2de73f5b80415f595297024f9ac144022d2a264c1c08921686773cd7900061f267403e7737e969baf824b37f3cba3459d0af3e4156699529967e1c2c1e167b111b5be302c07c2c6b592b75916a600cd197b4b8f1d55c6c936d66a9baf1e029e35c6955beffcc26d090b93ff3da4113faf044474e0f42d70bda4e35ae746945bbc32f3d1336cdcdc2096121481fdcfb1274336c51a894569f4456360be427b17f09aeee1749825947cf0e1147617e65dd7d1cf6ffbc84f137d1aef431eb0e60d23380ad17cb1214aa0589f2cdf579587a48e30cd3434d5b413bd383e4413f1b75ca6aac239caee9c238c741590afe92c6c594f23a33553adb9a07ad05593d69de9fcae6e45c318ac7decf2a4a0711174ed4d6cb952c40665bc25d00b2e40952eeadc809ea9b3a36ee57aa6ba430143eab3c863dbd945c684b1c9bb66b049d5329ba5162cc8b171fc46ee19577c0f444293945cc95626f5cd61fdef637a5742c98ae3e8a9522752f42a0276f49e3694feb5a1aebca4b0418f2103ca29eedb3131baeaa81f8aff8efb8ce327dc0fc017045c371ad8c541b315df61c4e17f80e2aeebe914a89f458c940c70a09d1962ee75b6c906e2729f4794a5f7a9e3413bffb5a6b4ed864bdcbb3635f0ac5b09e0b0e88bb0be384ec64d3cfa713e7c8221698d9da8ef43f39888603657f4cbef9e2b2ea63c8063babba3ae9d4be520a3809568f2dba332055cad415d05c22741a1c32d1224e61b9d02fa66e80c4fb9e1c760df7b94d20470c0703783c6dba8368c5c666952653599f23b1a6405fc2c808398fa371227a7f4acd72a1465de7e4e32a5bfc33edcd9546cb92a97e7d389ab5b267a68765dd9eb7d9d9ef6b1c15261dc33618708c170af5346c93e5fb22209bbbfe6726925fb1d20785a14210341916ae69dbff840f0bff9aa4e7088891213c47bd50d7624cb5cf2f8b1a2e673ec2b6ebe30ca9c92c87e10d000e48a2ad530622dcacc1708a68ffb1a9829ba3852bf97540470b3b176eead6fe3eada57c6e606e9c5718e705981d91c6f4a76336fb8a349baa87caa5df21cdf38d7a40da6a3022b016690385a5d22bd6f34fdd19dc1b1f2cc09c0ed39eb5db4864fcd4d69e7c15d50e3b42bdcd1de9ba6d19e4a86dff5a6f177bbb978aad1b2a37cbfe4504d8b4f7cb2bb6242935db545e2baa5a529a180b1857e0c0c6a1cc7a9c6c3ccd2965d3dff4617907ccf67d0c3125d3ab0df5ce0b4381a0bd1a83f14e46e05fe12081047aaadb812d34bbb8a452eb62159c04357156ec1c973f3f16d9c7684db27464477b99461a7bab034846c7bbbba639bad6a723a8a1f410c690ae9152fedd080bda211b5a2d838dd5ffa6f6f7a382915cf0aa9da1291cc865d171e6e6fde700e3f9d095d61fdd8c2d4af75519bb34ebcbf6bd38fc99f7a828480967169f9fa675c0f29b6a8f7fe58f8668be03657406d2efa93bc28957290e9c3d8953b160a3b94d51383e28a2a6a081fcf809ce254baaf0549bcddf92249ae92fa34f9ccc1b045f1f7351441fe41ba01be4bf047eb2c668c6091c48c7c70cde42d57d56e13158b04eb529558e1a282b0adf57afb5bb1fa3dbef2f707fa9c2da18f796dab2a4071950d626ebce278b1b841f01a725077a240e8c66417e768ca2ac703c25004b243c89969590ddf28a9eb0474858fe882fa05b41153aafa7dc4e8fae4964141548623a72ceb5900112e7be17c110cc1458de3e66cca5538e3600122dbeefd0e2783ac822b7418896aa1df1e032221554b58ea66240a3a7d2a2b35ec4ad439da599c2e59a498980c8e36c123811666a86a55e7483854f4a5ab1e11811fef26404cdb4c2d65c4fe9f2b48c6f5bd7d1dbfee4532ef61e3b11073ac9c3f74f8b10563b954315c50b8b763ac33ba907c11b88f6430d3b1d2341895231741c358a9c9bf7cec9a02c335a96cae5ef7a1cc0ec9dfcfde6b4ef3bcfc40d0ae7a2c56c18cc2bc456a729e5edd9e29035d41b4e0294282814704940aadd1d18cebfbbda2705875cb5657400070d6888d7c7374b1aed9e73529337ea00c22d7bfe2494c8f95c29b3ddc73683f2ec163fd234f596e8b5b1106157cf7d79c16a8ba13450ac11c7b0baeb74ba9a6cdd4f22410c3f8530e999e3203ac118c6326675a31a689bc28bcec8537b642046f0153b205f457135337201ab6dc3f15399480f7320be2446f650fc8464b5f7c2b296ece656236ac25d34936aab16f8c9d1f09310544d811e0a73f45071599071637068b7d60ae02eaccce5cd2a2e4eb64d8b64d17f62a7ac1296b90b8abb1e32131fc03abb430e68ce3e0a89369f7a0ad16ee61aab149c33d66c47deb2db49c62b2efb7daf1f2323e3280a3bf491c1a49472c351cb0cd93e758e57dc06e42d02c1782ca493d064496af3e8e1b20a95bc5aefc4d5f2716cbc206bfb318be01a61e9d98b5fc48b733ac98ee3ee5e7229a06f08055225138519b74ad0d1d1efe87b163a7cf4cb6336d78ccff46a47c0cd7e2182db9bd758d8f7980b43e8cded97ab6b682bb7cbea9c1537cf9410808a0c4ad3708061c01788f37724b53a2753fe590cac84d06b420792af9114069a8d0fc4a5cd2c7d400b3cab0250baf48f027f54cc64d34a3cf24dfe2e45352ec7a754b5d187adde39390f064e5e6b2788a0e0fc6aa61bbe3e642f74f877eb65df6132ec85c7a41e877290e2b8d3c55f4c67f5de270bcb5bd50df49a61aa47c75abf306dc71ba2f1de44cf03307f8bdf1fb4eb643f2657712c0b74155c1c273bb42d1ba06a18ef5a509f7841949a4a910aa7a49c988169384709603dbee0c223eb61c53d34b563b4e08a0d47d170605d2278ad628b8c2c3d12cd20b8d3dcea59858d0a8367cb1e71a7826765a325b79b0760553b48f822e85cc292ae1eef11ca05e5506e9b375c02392d3c362f71d945d79a6341f9201b6a561b240a571f6f7a2903b56d04ba4c638ecea39546c7b461e3d2b8d151d0505877162605abcd57eb13112704414a531f0e1ebbd730875a0d333a4deba568f8e333092cb02e85544e38cefda7422e504e034d4ddf93c7cebcfac2a4f3c09f5f1aed25a2ab8504f35e63f909dc5fd6729209277ee181cc322094c0f4958ab26d7ef8905f2a626ed0fea6a4c3afb0da30fe0b786d7f48ce7148a1f68af46494995ae74bd4e6e383dcae107ae69ea4443909aa600433b1c0c092bfd6995c1955a82c96d235b69916eb406ecea502f711889bc5b9a590b3de18b70db3edc80c717d0d124291ea07f8c918cd82a0c79e394ae89789b64f5d3cdf80899e01e8c0b875e1d39ac82a53fe724a7f0084070b572910c6d18fb1f505c95afbb5988887f4a70c65fdfd4009b0f3e53b7711732d7daafba4698dd0a935e7edb51a25be27ba2f8117c33bd08c4d183f6d3d6e4df13225498829b62127a0534e583a49f068c7a6d8d6159b49621aea05dc25358d743006cf3e5c69407ee06b38b98c063f01d40d8b3b075e16e704bf5ed34d9e2aef05ed1c152735ed9d08d48bc2eb45209d06382e241e7c13c442be4de6b5873b9829a1fd8439ca94beb416ea2b0256268c9400ca7d49b9c60598f88f05d93d85a672e5c58081b1437bb29e46b104c0473aff4e30bfa6567a1edd89b00490f3a82296f737b926ed6911b2f41786c43223879e628d7b89d983dd266265efe8931da750c738a25531f6eb8047be16e7302d643f492117046619e2d319fc6f80a9f3872d17b51402be5c84ca65a88cfdf8ed26be241b81e7c840cf8f086a9f12e81df61a94997be6fc72c4545db9a80dc44e5cf8b8b9f61e57938cc01904c0e478bd38505911769bb374997a8a544b8f3eabbe60ca05f36e30c89c9521ebe4ac83b5ea82607350d9041aaad2faa8330bdb1e929e16a57add5e6c222f7b146d5b32f3e586dfc50a7ee88708797b5bfee711cd0976db42dc87c1878db324324ac366682c62b3d83b09ffee8cb6279d5084f4feac3781f73c7c140841d2938a893094f04e2e14ddcc28b27e1018a8d896223daad92220e386a30bea23222b1037e293f05eb39b2725a6b8788e67f536eb4b4ae7f0d62418a445c86b7cce84662156d1874cec2911c947872701a13a83b6404c9ca8fdb7a53812dd7ec2f8cb56d617ec6e8220552621300fcc391140216ee3455578b7f48685709ab2ca9479a89f6fd32d4eb214cc61c2e9f086b5b279692451664e126ae91de066016c0cfcbee502876874d08812628a0ad5182da2fd69cc44031fadcf2a84b0b5b3b2cab2128da5ff4e70f5d69b251403c47847f802cf13b3ae9a3bd818ab13711a0c1e4408f84f2223f2c24cec820d71da9ed02d82bbeb9c1deb147fcade26abf79331643ef0d49d83943450ae098d61f5de5bf7f26939e4608602769e4e7f4d289277b4999a9d9dac3003d4010631316ba9877d42ba8eea388857d4fb967c3eb8df6d3914b7884687cfc19d71d1ccb12d9524c408e39a6ac78044bdfc65a7231612f73f679ff5f103a851bec51a2cde09fdd42ee72049d370a93ab3dffdaeff92ad99f46dd377f7e795ff095a377cb181baecd75ead3d96b6b3d62a97933720837f06797135dd09eecf792218f17df8eb43be270a6606904f34228341ad15271df09232aa4ae11a03b736a12a6facea1d32192bc82face8c219f91e825c866157cb033a4ccca88a754f6f4e12474f4470ac1c13478970918370036b73c61e68330cee0098b18d2f44d68a1bbd92bbfcae5747c476da80b3a927ca86df7c83cf5d0cc4a660c5d2becffc302ece2a1b531235c5b0b7414cf470bb372d825c1cf5308b04ede789458fd8be91fd4c49400af06f5799e403f125a5e64f32b06c122a57b55b8b4a305755115234f7a01866682f619f463ebebaaf3612746db21ce79181adc992d77537a09ea9d4faa9060dd5fffa79eb1ddacffb9111b3c3f3f94dc5484d9f38ee0a9cb96d2ab2115eb7b8abc50a390189d0391bff15316a9e724f156b0497602e8eb6e510709e8817440d2d79f93a83550db77843e276f37238eab754890ae0fc8f94375e3d9ad61e79d41dce6299ab224ff126f646c23d7f2c036137e432e0c5c2e201c3f22626ac3a9cb7025feef23e6c6c204957e32e40931f2d5492873c010ff05eb07c32ee5f7289e59936398c0f04cb3bddbdb16d5e6c12ac7363d403773b260a2c36da0d13f2243e7bc5dd3ff2905eadb815599345e86c0296a3598cb5c9d16f0f32daf7dce9cc8dc848f3d7df8353c32bf8483753f3ed1090eef1c7329a704837e4c11b62f2f26712f0db0b98784a7e4a56940f0bbeb1a2777c4a1784922066624085212616801b3a8a9300e920592fd09b04c50505c6207c80939588fd4f1552cc51741e7f075caa468c91065d748bb2ea0f8a3a2ceaf89233c2ced79e7fc066cba6aad6ceab236972788884102d54235166721b1ae9f245538139f57b629011bed3f3b750dc2f1bc8bf9e35332cda05522d3c0605405ca59cabdc47c1da3720bf80e5491595fc0674224f1e6b96499cacef58cfc835f98ff387d7fe7e134b7033cc80fd14c16346aea36384903db0d6b3b81bc28877c51aaa68438bbbdddda6552aa0b720d4f58cd34751a037d924c2469fbee6872b6db0268668488a339b99db040e72553dd4b439e9808ee7248b7faf91542bb47227a8d8b160ad380c461a7d82103a5cbecd0b9a8382f5ef5212ea227168fe8cc1a089d293b741c4db12fc3746665c2b9588c67223f5c59bca49069cbae0d3a303798be5009e8c69a364581070b83d8f98499cfeb126839667224ddc35a0c8cc3d576b69215ffef061d9ee27609ce5ed1a64c437a5422146dee23ad1ac6b46d77396c6880b36aecfe5b9781aa7237bb38f8b40678600637a68e97675bbabd153dc9399d1b1673834b3a37bc526d38c166a13fdf2368804b26d23b1d58c2680d6eb2aaad89573cd59f3b684ac8eb8e33def4ccaee1fb53d5cb1a8110d77df069023816a80252497b80d52918cd377e363c0ea6ef59a0eece3d40b507dbc5f657c1814ca5ae108a655ca65cc0d6b044b6e8c043a1203d1505f717df09c7b0523fe1f339de24bc14506e52d1070013b4b1d80da01890661fd803f05378ed1cdbe2e877b6655b6efad2417de96aab8e62265b3c34c353c70c6070d1f119d96ada55fb80e3049a1e65d9564dcc7c13e5f9ef64ce70cb5b144a3d5a847ed461be487558994f7097d43f0c5905ba01beca700d05288eb471bd3bafccbdddac32755614b20fb2f2b45228a52a50f836c6476296316918dc2a13d8972036a5d20a74baac96793789e4aa6c8a3e600a726689206a4aa2084290fa3e4d6d73015343ae00a9f9c2ed9d6f708322df5320c69b2ba99527e469da0ca952089237169d6a0735781e84f33e43b67c69e8f723aa2f863566309c7c3c0610a48b4cf885a58f919f24cf26cad1f3236618682089607926cddc4a8d7fa945a17d83a872b13c1551363e18ab60721c48247ba215e8e548b70559a18edfb667424480e2fe5df739176a7249622b2ad5e69056a3f55e267f8e3c69360693023f0e1bad75ff401dfa2287edf39648c092a65d91f368c3135ad4faaccfd78764b88637fd9ea6a999f20780099dcf9652082358049bece1d1d8a7c98f3e30df8ed84da1008712e0868d0d180313f7405e150d94f85845d81b690a30b4341644f6b2f74c8abc7b892d63a21b8d5db1eb5fff9d5660eab182f0bff1e06a5570ed76d3ca4cd1c5d3c283d83c845c2843e031a63dce75b4b1cf219cced5e386f9a1de034ba39f486a9e406fc28c478ba3886da07172bf687e73d17dc831be17eb1ddf06876af77436611ad04206324b263b8e2d2f82e3688cf874142a5a068a79b352c4cc74efc15c4c390330a9ca1e89139e10b228d5e3dfdf095e4b42e5893cd72ea367c65537c20d99f529d74cd7b0a0cc154efa83bf3552e984cadf13030fdf385cd8f712124b32f04086adc3e1ce4ebc134b180186aaf78029681d485ca400b97a2010cae3d8e911082610598c2b3d09a0dd24c31f81bd4963fafd8576aaf1f753c3f34080f63da0e831bdfa81f53233276f00d717841e5a3535333797cd9d74034e3d6b336373c9672c7f60b1a5db5c23cde23fb165a63593ceb0357114220f67c10b72f482c6be0ebe2f4715ec745ec5b1a004cd87261dec3e5d0fb3338a78957a2396c16ec444f0ccfa2303749ead6b5006dd5f67c7fbe83a2ea2dccfab99a988bf018878af09f76ba4d1d9ae4170dd5a3f2a05441679bb17c7ae5802437139a8e3d33a3cb7344c21fde76644e6bb21e9c43c58dfe2f584a411e05a638457394c8ea7c62b64ad247f198e2ae60a5ca6ee744447398bcd3ea178258d57f0773d7e39fecdffe931bec60799620ad70e5303520b2f306bfe7177962eefeb0a81e4c2b3154361306125f682d8243244a72316f8e176a01b18db47043bd08694e82a4b8f883b79b2aa539d5314ef045e5da1d1ae2a96c6d4492d8215884fc1ca79efe8007ad0922f96771f4f1b2bcb8d40deac9480950018b06cac864b161c06feb588efa9f54db16567314128ab8ceff9e3b42df2121deae8c38b66639558066b7ad80d16f74b7855a4a3821f2121f392fcdfbf8fd7aaf4e9c7285f0dea106adcbcc2b0d66f4051c4e5856e43ffc5335d4d846fc238632a3f39e7a50fa5f7f7cf9a7772cd8fafd42dc9cf06c103d5702eae1f662de1c32f1e50d66f5501d50fd8943b293d8d4cf638e50e6bc8c3805175c66439f422193a5e6bbc8a0046c8674044d09b6d173be0c2b8d1fdd283af79ab808b71ea63d98e38453b6a735c0d2238cb84bc899376c7e7942a0d829c5de1210dc6e5e52cfb3c05ab9d64ada50121f70f5eacf0fac99dd049653c39fcfdcb645608bede1e01bdbc5ee044215acf4ad1aa096d1cfe817ffcd110877c552c0f8910b116e74843e1505328a808cce91748b85ab5c84852d363ae527adfcf8c487a55d50241a2677a24be2cda166a148f894010b4c7b5e4e80cf433f98058d789a22c55d727bb11d9118440b521414aaed214749d5737994748696027de0c785011534a305e8e8996cb856dec4c74af69499cb0a7808a80e4c2dd0766bfc63543451b37f9f90e8f64367af0a2fee7b196ee14f3cc655cea89b29e8fb0156b42fc9de436e65cd72eb9c1923a2e8ba94ed579c5365a1c0f7265558d7fce248df8872b26c9fb6d4bd2469148d8f359fab9b24466de576475250cb6d9129febcb75051b67f40e4995d37436c6c080af9c3d26f90509f88b51a468f1a29869294ab8c2c4c22f604452357ca2ad80a7d8712246e5dac02796da23767cbee909f55264a5d6e3f912b34ac50dff2ee2ed45bce836987b9ec8559705183321260979c528395f903b3e88860fe9ae41ac2f8210acf62a5e9418e7162d6275231204d06d0927f2613704f11c97646e6468f11cd0a3ba1a1276dab1b969886ecc8ce4ed8a81cebe33013efdd6f62e7ea137c72524949bc4afe25c2cabe6471dacec3daaaf565b56269e34c050c54f49ea32202c194702ca846f75d6577662fdcae93358b38104e5740c5802573ef5201c644c0fd2884133b60c208568ed9787d595e4794d91eab4b647b04570783d4425c5ec7205721056d29770409188503594ab7e1c38319282a8986c43986eccaf90b6beeb87b989bc75fcd07e598cc08c109477de0721724e9360b7717d0f563ee234977eeb0d82351162535a451ff130e37e89fb63f10afb40b06f037760768127734cfb86dcc8b36e0f5acc1bd0f3511a692a133e2df853f5fe2b39093f79e4e32470ce908c5f809dc80fe2a1931f645116472cf664f5f7c1e17d960c7e3c2e5739d26c9177488b0c85bdba11c1673b97e7811817fb111868dbae21a70b2df0e44f201b871094ca39c229ca92c64ef75ce773f6738c51aae7379d11b7a66190337370b332b330ba7a19707583917fa6e333170c10d1173b6ac6164decafbc8264fe8a85dac17e27fac43fd855464672e9d7c542d4125d8a03192cf06336469977f4bf01e73021464049ac75d7e9f6bcfbfafa450a1a765b14d339ba6228737c8a44eb01371f62d5c7c7d0dcd2c18404561b21f0b64de25b1afd71498c0200c2ab487c77a5e2f9f1b469b9f2aa138219c0342bc5dfcc68d1aa8e94b187634062d1dfafd480628244c0bc6f4a67bf3096b9d562ec60d28b8e2b2d2a778b2dc3ab065faf36a5629bd77e5e30ca80302cfc2b55630e138dbb541d9d4c804e0184353c2749a4ff365d0771bf55713e29a2d804731bca93038e43d0e17a110e9d6e7033a4c1dcb32dafda54dce3645ee9e8126d7aea6d59f4dc3f3f88c03332235fd92463a18a0d85d9b9da02c044c2bbeddfbb9021a28b24148b895387b396eb09bb7c4f0db1add960ae239696be0491db9df68cc632bb1801c933964e6ee6f1c43681d74feddfdd8126db3ea26c7aba4dba9c700a8a1a1c2adae433cd9f9e1ebc963a18c17d2e5373e3098f10ec25e24b42488025d118830e6553c207bfddd5afa76acbcbc0f11b1de2bc6a5d5f94a595fd5670acd49b5f70b6b575d9f7e1857fa8e4fd5735a365d0af4c5f8419eb7066d9892c4c590e2e7e83507cf8e3a1f7c0cdc4a542561661418d3c574677b7678139a50bd38ec99bc55fc0ac7dd599f356aa3f619f7513bc7e0e9c236fe919e8ffe879d1193585f2b0929f1c21aa39dc74e6587be937db55103ea090bf73bf897beb0920238f983a26eae2a3eaf2e4b0f4355321dc5f98ac89821e1e266d8c684fd10011ca2b7486b268342865981a8d2b4f7f19ae399ea7f969bd7a292a8baf9b4439a3fbe6e26c79c156f74c0321fa1495a0c3a91cfa6ca67909ad963a6e25ed7cd0a4af138e538621f0acde1ac9fa223f4e1b4ff525ae6db32a8b0bdd79fed6515efee3afd24b0f38bdc71d18f53f217dab850707a0036e463c3d4e1edfec7aef24d966351457b68b7f7e027832976d0d1191c0bec6d9431bcbc6d946afe2b158db0ab4a4e25a931ae2031df62e98592333949ecede631c690bcaf0bc19ef509a36133549c15097860bfd7664aaa9de4c46c0948f17dc64e29052e849f3b6d76e27c36dc6f0c4c7411396d92ba01d1f7ef72bc9fab0e1795b11d5ce3fe05aef25e6f151b31cbb5f79ad748379bec61b150ebb5233b5dc0a37f570cb825505533a7a8d751860d2a260848a50b27dfe0c3bb4a538cbeabeeac3ff8cf1ea34267e6a7cfa1a3448b9de006634a475fbb89ba6cb05e86eba8fc9bc37b4f739c1a4b42b41cc021691723ee83fa530cb64d687735c08d47322f9a4aed62b9bfc187d4ab03c316543612d981adf8e4b80fb099f6038d4d7fdece3bac5c763297ede650e2d3d96d09e12bef6ff0145980dd8042a9981df3690dfc66ba893a1e5126864189133a217d2c0982048ef64d2f92042f4341afae75dfc65fe55b73cdd20d96d38bad05c7d010cd87ab207ec370155adf2fad1292503888f31327b38f3d1afc6e810f94ae1a60fc4a8101b896f87173f8411084ea47a01c13a21617b6dbc84149e1caa65bb58de9ac73fb4f08a3df9ce04c229c2e7621d31b96a4aa5fa8f47e067515d78edb49cce53aa11723d76fb35d897703a7cec37c7b628b77ca1abf10a0edef315a9c1293c69c373ec9283f3f8172e0f05253bea739fff09f13fc2bd47fc67ec8d11faf13ac4747831bb80b8cdc77b50552e1591dfcbbfadb9350cbcedec55047a6359163cf075ff55d20ff17154ee861a067e925cf8266dfb2f108ec65c9610d350475a2b7b2e9e00d159f691746277f3188a3b35e2125604ea0bdfba01a4a1702756e6a2ae601d826759a5be2a20029c69d3c1324ffb39be2d4943095c02da979de3796ec0a272612ecef0b2854a949d955858e1b76ae127cd89a81d24518ce552d351345b1f6a23db9bec29fa3d3bf92eb781a2512ae000a2e854cfc028622806aa6c390ee6bec5ca80250735fd6bc6c2cab37a3bcb35c4341fafa801e78016f7ad096026dfa49210e8202c3cd68d3be7384b944d15d32e486b656859eb8a05be363bfe7cd1be53a33bcadf68c023a9c303a0f490ebd516764c79de9ae35b6332052cf8357f43d1cd105c18c3529916b43202a597c8c4d10c780a0fe1e600a19f238cc1835d03b412c6c5db0a430a2c75e169886aefa5331dc52436f1ebcefb2d650cf41e02e7e1498780d13f4acc5d98c72ffde7e98ea1f7dc5c2c13767c3580302b60f6a3a2e041bb0729a69c307f0ce34b9158b18e0ed73ae0322b81ffdbbee2aa2f7912dfd91bf9f0b54b27d6382a101db1710a38fbc4f16e3b3561dd153ee2ba93f962a2384d65942c678bc053ec2bdf6dddd8bdb941fc537a46a299ff20bcd6b56a25cf66b9e0ef3a18ce99220fe251463fe5c5cb6ccb0b33aeb80e4ca926693e6fbe606dd713e1e1af248cdae2459b9033cfc9e1c8e59325950c5b22d031b21c128fd0cbb887ca2676fff5836f86b12289eb3abbbf9bb1ca5754a6d48b028963352c4d97707ba7261e534c7024c805f4bd82b2f8e22d700b33364236cedd8640de27a4220570d2537fcc96292ed571442461586fc5065cc07769a098f3a1c7efa92f91b0e6a8226deeea16b652374b48558d04912a20825ae7929066a5bebf7504f03b809fd4284ac316fb95d207689a343e64c355075955719e57e00e9e527c66c7415111559790e6e3dec2cd46ff1f113c9f5591e548b4a084f69e627a0dd6b92741b0332b023b9ef29c6475ebacb03d6376b0df6d3ed2684c6d1a0c7f058f30bfb263333332dd8e22d74b7fb9f0259414e31713a2e0853245d910112c760f90182e34bd5448eb8bbed087ee811c8d41db29e3f99f7ad7d07e1533e019c8df59b71f43eb126d4ef37206cc7b4d44dfb09ef9f270caddfffba8fa13d5593df7fe1167154c9d64302a9c25dd3dfba87ec1daadd1f74266670f7c5aea8f49d3c21457be070a818b48de55fa43b9b9e12e6d5a6272d3677f5faee18e00ba610c591c2e919bba67d03144661b2e0df7ba803d442a34a53fab247065b82e0eff3f98798ba9e8f37a4d9005820be0806d3097c411162a9150bcdd94705116a203cfe870029222a250e94787b863e0cb32bb36cde0c86f2324fe50bf01cf3c45cfd974fec4e1cf9af3234fec24eb8fa9dd665087c43136d340b2bc11ebd4336909a67cf473d944856f85239793e34a5c4c0ec86c912f03ab04d90f808bff9db0cd5e5502e1d2e4685ef1a2f066d988d52b37bd5a4da2de900bd4f6bddc2e069cc7131afc483539473c075c6a86285e13385af1ad5684f441d9508ce7a14e7564757e3461279697dcddf2bef4a078c9c26c8b97c4e225dbdaa92bddbabe55c2b7a038fdb5ec1797d497ba5f628dac2c8f923b78b99efb3c0af867d16790cddb5283d8db6f7c74a5dbe0e3d179f504474782d106b3b4e4869ea58e9fdadedfde25e2aac29c1150688c0841a259a36420c98d476db07aec031f287b63fcf64216c0476adfa9e7ff50e6dd80ce67772beb5f7a6993f97bf723ce3df1fd2c4efed1bffb6e563d347efa43afd999a611dccf64f2ccbeacb83fd299bef57f36c3a393b88d63e92d6d3fa5ed5c1242015e62681f8542e856f04bb7af8df9e71cf220ae99d940557ac1cf02b8ea96ad46ba5a24c616daac21a1b470107606d0563b88a382af168a6a42e23ae9483f863fa8c7075747e3b2e2829b88e2d9c4ba71290aba4f5c42ef61d7bc531dad7318a574b84b604290f7ca009864765f14dde411110c528fadf60fb37060a2df1b927c00ae407be91cb63aa745e39d2b756bb9e3236ae6da8689966537914e36252a09ee02ad946c819937096274d4021be8b390d75a558bd55e2d50bcec3f9056a2c531754803cfc47cf0fc73095fb8764b600987472c65e6246c971f66c71f995325203b6117aba4a96a1cebc23c2790ab88c495b794ae77783cd94ec57c2d13ca2cc9a8bc25fe25d3f29015c60ccb42b906bd563128337f452590326fef03f4ccf6fcfd7e77944af827ccc4c094dbc3072e1e916c2707d7294b9a66325a1ae7f6cdeb4d32d81cb5d4cc5e385a713f4a94f86168d21aaf70e84d1fb7107da8965d50391a632fd147efeb1522916eb5fc193bf00a5403f65c3381f1cd2df263303260f6c5575d1922c7b760be888ec9ad130221ea14fe8ebfbbf046be6e1e7636e856e0b76bd7d6773b724b39d7eb724b4e9fb2cc3f8e437fcb9aa26763597d8554ba63b906f0bae074005d0276398d485093ffb01d6d94e976c09da3108c89c6cfa33997fd3cc226439f4731dfd6cb5fae6047d5497b6352c490085654eae1512dd91d2cd469b31c8157f8f4f4db6843c459972e53ab9230c4fc8cd07cb7a7d10dedd86d069fae2128fc6fc9008501565a53f0bd2190698ee6a1d2d77e98ed0d4b17712b7ce86df20e74f1785ae06d3400651003b1809fcd1ac8f8f38ce87509b439cbc84e3f969ae127dfd72ec8f8facfa4f4d61de5b31f26e0b659438ccabb16317b7d7639b7713faf989f8f5f4c89ae6a3acd9e6f88bed015c590b43cb5e5de590f953bb9198147aec7dce4125a30034968996ee75568e0cee029c0776487d7131cbfdf2284c1b5fe42370913ab3f9f9bf4146976b2fdb387ae004b2c6216585dba73fc90751f906ff508068fac47bef5b47c151ed5accf54a1d8f43f991e8879d478d5d039bbcda8c8d98fe90ea6130ec4c5ad1936f5726ca14e9e640d45537e7767b934c560d93801209d11b4dcbeec619cfbef1099937731375b238f98f9aeb88f2014c4c0da9ad2df4482d163a608528358b8e2dbde8de0e1c3f9f6f2f3fff0fb89b1bf6a3f3553a94c1cf2a649942cc490168b87fcde2df5dbeb1fa93d2fbff536e9c6648e758f0e020457cda8e223a778f556c047055c81ebc4002cc646661ea8d39bb1b7a184d112f68094bd81edd7cb8e97cfdcd5e065767270ed2afda7c8ff79d0b1f1f2aaac12f9ec5bf4cf29388c5bbc0f41b3af0c6849a61a32a91cee4446e0a8840da273725c39b1a917fcb418a2bdc09ba4c82bce56dc23d8e0cab63946ff407f943efabd540cf444cb970829871020520781aec2204824468f4ad49f6f6c83200e85165e12bc434de1ae74412fff43940264ba0f94bfaf1890503926d67f3c7fbd369cef419baacc5a2ce7ac42706e94d21cfcf5ba83a90dd2b830b801d3c3199623f8eb9b21e79c682f14f0ce78dad3a11537c0d3b107027c63c08107563289b54bdf79fb199ba2c0032443fdcb2d9328d5d2526035b364280f2229c9ea6e0451e36e21c8c50ee0f0028199ddf30c899f777929b33ffb217cbf0baf34916ed3ea4af5bd8886f926a053674ec21b6af9961e3ced8aa3c9c1f40916c1e6fa67f6830df01d9c6ff583924dec944416dac14d1f6fd9e4824f82800fbcc3c753004f619156b192314d174e33287b0844b3e65ebc5ef198d57401d19de8185465129f1d86fb9cf6795a04097e697e329fc91c2ef2f31da0e67ce73cbdcb978b8e155e698375b8872843c19b0fd41939ddf985f5827200edc2caca3c04bad0d4c5fa163f760309173e54134be3a9c8bf53a1bc47c8c7dccf2f364f6cec98d9acd16904eb5c8a7bc9401350ce1744d674fd9c946f84b3c997432cb3f86ab530e13326f6a3e50ad03b787333721c41b6ea80e10d04cb115058a790798104278b59ddebdd2346b9600b134336c7eabfbc7cd4474fcc75d95c52983460cbc984e115c32f44b4924c99a4f084daa2d788e5171838adec9b6798638abebe9e195d9ff75efe2cbd3cc4fc86c15da5545708fadd5c3b6370d4e1f421e348afb04da372f652b2c01b304443571d30dccd8b5e64854d80e0d79cac6592975199c47a7aa81734b8d3fec408ab4623f1e968783373b7aac2a0d9d869341e7657ebe2c74bc49d13f236bc68b72b9534f7187df0932f7e4ea9a077ec3945fd59b9bef7fd08cb6637e0a6a27b47e5262e5fbdd2e725712afe80ce509cbd6dd302359cd193280acc164564dc97bc63467409a1c8f210bcfd53c7377649d5cf89af591239dd76b65fba56034eddaa78a99497cbf275d8cf6ce046e2c05276ec021923be3306fd8896480ac5e852bcc7738e40da02aeefbe2b83bcdc91f956015ea5a4b91269360553c991061c5d12de589a24af1f1870b495853c38c887f78f367c1aa81db544ebeea196e0e507a217c2853f569cb2215b92807f7b16f38c8a09a8f0e9895e4d64c639e246f6ef14966fe905806a03f0bb1923aa2703c2cd630393ec4c9b6295180186bdbb185d60c7fee3841810604c48f0bf59ddbb0868d3979788ab5ab47cde5da843ba80c87a9824ca53435397bd777d5302f3a2cf09d4772e36e894703a3c29bef77d46f54ec990872c3c5d80134805d5c5a0551b2ba170d4a0ee07149b47376c6ee8d908d3dab408c7ad5d26ec94a5b119d3b735d723fedf3a34921cfad0eb5159b6df44f56bd88bd0511055701aaf948e042873031324203e11a0f906fb59d2cf9a0f64b490fac340d50ca04b961d0d2c73b974746c5eebd2a048937545cdea0dfec43b06b4dcf4a6f28f4d7cdeafbb45280077604eccffcc65594210a2b91b5034d8f137c28450dd1c48750ff6cd98281826ddb6ee16c8be1de66521df8fdbad467b7ee1bcbf38d16ee790eeea8c04dc9b11425f587b0bd49d7866133bf2d9eb854c0396a9d9df032f1ad046ee0e32d9c1a4528f0417cb57c4123df1721bed43eb9f5ef49672935fdab9f645c95b88c9a2255c9c1477bc47699488760731f0128b83d263d59f9795535bfae259518bac898ed9ae31b086ee9883060decf5610e9b1dba9a0f05ecbe4aa64a1464c08cd4d7e98c7ee85ddc3ecf50cf317b1904a6168c29fa9a91002520c793009c8dc801cfbe606810175ab3838b864904144104426c622e965c0b2b3f34ebe7c7ae9068462aac52ab5602f4e166323fc97208c80dfb5b651c894aef141c459ce0f8646a4f30c758c89a31aca3ee9ce6356b029b4209a9aea7f69a690e978dcde4f17975be53fb2fcd2e054f409929258193bec1d3e543ccd6004d31f2491ae9f0df5650828ed7ef7f8c5ca8e19ebca5f40f8a725659386ef09d08674d104bc738a29c6ef4a5cc85d6a0d121bcd608916acd353a9831537cb5121a210c7b15ac6d44d1f10b5c0a8b7e9469ae516975c574475d0cdb1b8d57d2ced1f33fc32a233157ecf1aaa8daebefd1877ce40731b8dfe5514fc1075136bbb5bfa96b0b1ebd75f2d0f2c828d9930ab609215b105b4e711a07ffd8de3d78afa40775ef90378d15d5f49eedffe9d1cce78c210228390bd795337b8e3ba89f4aa50fc91104550b35d992b6e968de05d473e2923a92c8402e5c6854047169af833693e59dee658464c3b5b22eb19bffc072da628d16f6cb1f227825e2c78ca4fd420a5f0fc3682cb9ab8bf3a0ea655f129a7c393a81dd71ee25b6c42006c5941d86091954cde2f4889cb6d61786b044ce7e096f36a725fdf78b620d9c54c217aeabebad163014145c5d45cd16f10657194ab7acff238de7d3c90e5efeff82949180135108483f0d168e4d0f944c0bffbe9ede67e48451db3b26df10043599c254adc850d221a5aad6986884eaddb2faa3ac402d0936e58e919d70c482d231843a234dbe6cbb492043d69988d91b35ca1c2fee95c0f8ce85d59faa849e3092e6fe22a3442912c06fba361c7de2ea9c588dad1a7c7f960c138a0d7e6a96cbc69a39c8ccbbce7cef8e42c5affd024edbf52f77eabbcc0c20da9dc202f7b367c1036fe346059064981dabc08d137d9e0202d080fa9a0a576132fa30baafe61d209e179856f719fed001521d995972a068be523cd44c512bf543fe334ec201698cb1d58f5d521b8e35158064273db19cacab8a9136435de626e5d4cd04127e0bee1b9064a8367e8b856b07616bf70e652d4bcb637c56f8ec3904d5c05c088ae0dd21b4a65eaf669fed443c795fdae569fcf1f731661fad7ae4f20aa5fd5a636a8cdc9eb54154515168800cdf0da388afb7cf3d1c769c5e96e1b0fa60181a8e14d9475c264df06588dd1a178ac13170690ba99dddf4b53ecac94bf1309a105005a06a2e11e8fe5f98b96902508db32c78194a40420cbe2a904e529f8e607f7b2f10d984eddf2b561ecec333e564de024a87a36d3be1c20486679cb15c4e3da0f438d6d973f64dcaaf8468317827e6846a1a1fa151eb1966fa76b695b4f5d7db96443c7fdf4bfee0c97ae8c1e67bcedc54341e817621afdb4d4b03daa7e73cc62bc143f33aeb50ae35106a32892bc7a1828077c854fc7eee2bb351346edc34d9d534fd5cc61451b083f18056ca0990af34584f1b503bb37cb231226602f818e2b2cf7085010f9b86a4fc5647e5c59b4a4c855cdac6e83ad15fc85c742b725562de4ff584d5b5e07c630145255463b4c77997f42a8ff47e36fd124806e97cdac183b534f1e3c14ce95984fedd1e7463071d3f03f429940fd20cd7a9fcd87415433b3652fbfaa0af4a583439d04e11d5d4b05061873b04323c7c14119be30607d5253321f79db2be63f145026c3f17d789130baafe5f83f730eb21bba9b8206d8653c2c4ce0c506f6a5cb27374bd6d34055bc920dcdb142525e2d2ce1e2824d948e50c835a3fe2cd7b5df7cd570bcb64cb58cb75db396a1457c177b2976386831f3f57b8e2a7c8aed0d028a41c954bfe611acd338e0f272e34c6ec9904e8138ab07acfc748b9811e591e5186097437a5ecbbab7364c09fb47e83be84f57cd33dd35c612c373b543f4f411e1ff704d11774c444a7aca3003ced48dd4a274295291b0a0b340bcf78700bc0cedbea7ff0d9de3b1cb9cff1933376a71fac11ca59253b4dfc2352e56136e1fb815cd364a7f4a4bd2eb0a4e4836f053c2608eb7dca4c410c26538a730cd93339340bd9c3251267bf9d8fab3ec6a5280cfd4f923c31c82cae715f55950657b80a0852e9cb0e38b4ed60597b0d463616e1c2508e917e47f98f866165370f0d4f07fecd31af893324cf26aadcdec74da878a0517156d087b3fd0cd81e0abae05dd171370a5fe6df4b301ed2c916782773398e6dd87ec2a0d51e90139e2be55410dbe5a66a98d1421ef73886e1e119d0ae148de20143030a2ee53166c7490c23abc5e964834f3dcd81872161a19d72d9e1b64afec1f473792e46172d1ba87ab94c0f677be7db11f62e7f6ebe116d752dcb72f381e2f9fdff0d33ce1065ae666a2287d1586ae541a25d8acaaf1b0e5cf0f9959793832f50b1e02d2ea848904e0d33a0568d21bbdde6795bc3c84315e4c9f434f3538a0920acc6dd77feff8b0dd1c35242cc843f56b2360c35039951408bc1272619a22ccd6a6d07831cb118a3d14aceb5422baa345cc3ee29eb36733c203f05269d6894f830b7c44999d9f9be0bf91c18e7207d6a47648260b916acc22a578fc1ff9f70b017c3e3e5810fb3055d38add506013d4fedf4f5f96ebccf0905a9ad4d18532010d9f06cc0122e43e786a117d678c8db6bdb97289d782a7ee3dc9677f5d198b09e083c8d79a72b26c246c1055c2367b765e83590ceda3d265fc3218b8f001f853a5f6f8fd4bf0ec1c9f4da67957b83038466f65227e3553eb0dbb7a0b01fd425fcf1d953167ac62e4fd5799353ce1659f6c68805b964e85b8414d463576ad10e40fc59202ed5ae30500d783e58590c23f7c2ac18409d49961bb4ac5f3933c866a0b07db3c839a721dc16c0cc93961d6db8e2b7ed362869dc157760f41d553c68c1108c6a329afe7930a2a3e9c584e3a9d49b250066593604aca5fc210e881ec56bfa0d5433529ed44a3b4b65cdd3835bea11c02ae6a5ac1aa2e286a10c6176cfca0a4c448bba3c7366384f3b8da292abe90617fb5db53fffdb35c7b1c098020cfc500ba5264e274095b2c9c581d08b1589e76456e8f41521538a6282d1486d4a6e37ae24f1127b0de9502c96506cde351bc22134c85e398227a627f8f177b1b2c1ed542366ad2003e4ef9f2ebbcda0e0f9af102aa59decf73a9d46d0ed0ee65ce987a7b9bca508c05971a5006be018fe6c3efc3a29ff277415198ae473d2f8eab253579a6c7b0bd67228f1d3524c7d00249cd88ed2e0b08813a343e897fb879fd765167a6ca5db41ee408a3096ac2325447297212707a99fcc34dff001af8962614b129ea3b877d95dd3237ca419e4ad85806d6f441512192918682562d8aeaa38ae016aaf3e0dcc508e12737ed9e7700ccc77b72354c391945bee8f9eafaa2400685f987ec8992305bb6f07ba8486c3ede7702a542c78e5728b94a0b482bfb2715c86e0811faca5bb7979d4094b29f42fe477dd2ddbe7970ea82ed219034b1ef674db3c3deaacd425a4885ec306d9d9e6473e31f6349f88ea657e7bfa9180d417bab4b6574f729acd6a97cfa302bebf629e07ea174b7189c228eb18505a688fb3ff7d24a1e18faf602d8c7b878aa7b2c2a8099cb4c2dad89049654cb6d86ba7ddf93b017e10b11b94ee8cfc7e72ae195d70018494d6843ec4256697278abb7d0ef415f4d9bf33cefcfcb2a0d3e4e601210f17977b7383d202952c855d62f604e9619b0ee348ed4bd5f991e6fede4c0ea0830a87a8010cc30e00c1ae67758e78b9a7f3d7dec3bb0e2c93c71fc1d18128cdea8d5168876300bb02dc521088a9c070a6e084d2021b4589f217ab6ffd25fbaf713f7b9b92e22bfafc28f52ad603dcacf1305c7e6cf1100ded4b25a7377329d38f59246d16f47ad3d5bfcff5e4a5502f7cf3bff6e7a0c983006d801d7ea53d361b1c1ad53cd7de66972034c3b3e1232397c0e540735a280f97ad99b6b3caf776f7d7cb142ab32b192cb2b3db03a619272115b583560f531534435b2623d028e595e289ff4f04c884407b6e64e4b49d6a4d67a453b71cad8e0e4bba49429629806169ec49e9ce587365521f448dd282e4f0ccb1203a60fbe4b373eae18ac84adfe2d2014d3428285b37129bb67170ea4f1f10548a1f0540ef871cbdf1fe67b00eef7e5fa9f88b201e7beb9b4a2ffa719f997a7180f979d50c59047a9a4b6c82f8a1c901740bd883c7cd83429fd53cb64d985d926a2822ebdac01b04c53a65b615e42cb9a72b9b999884d9915e2581e3aa04db40bf39c33992e5f8eb259d4e80fd770fd11e93e6194ea90ee4180383c175ced97fa99ce1ed77010c8d3f71c6a7c1e5fc15197a4677e972e29c7be1f82bf0c1f4222252088de6160cb87dd6597f49c4917197b87b25df39b7b78332a26f981f7de3dcaaf3e9985ed25bf7bfb44fcf0d37d440a89a95058281f2ddc609964386122301c32b2b63d4c352c8866c152f0600dac6d08377671b5f91cc00d24e7126638b7ba625b0e975da17e1c3589ed5783a0c1402035fe72da376a645f2df555d10390765771adb15db1f37cbff19c9ce6fa362749b899972bbdbff49ccdbfe5bca19d0ee14de842f30a3f307fd6c4f1a1eb2af9cf7fcab27d1b94d0aae912d0a4bee8a46730eda7a95abb952c05b8c1aca43538e73a00e44d57b753904e338ebf47afd7707a2081eb093d252f597451124e8cdb3872ec9d901bfba4436aa476e9ac04f9c7cd28dd1d87023b4f24b189c1e3ae73a76942db0a4639ababdd4892b192a41ba84605e53fe86e4efe2a327592b6e861287bf25c552b5dc57f4ef1de73e5ea492c56bd4024f2147e5be38a6eb4f2cf1c12e85679b0986adec3487357ce0677c46e4487d8c8be6b79a5cbfe3f6d991564ea89d846af78757f9961a7ad80bef3fc1f2d03ef8dd7bcaaf228afc1c3f9c983d5a0bbcd4ac26a18d28e297e7fe2b5dc2e2fdc6e917b822144bbd847fe4e1fed3b9653d1bc40073de6b0f1292c232df7c65ed46ddb85d98c510fe36540c6f016fea8c624e8a7aa790be24cabe61f299088ec1bb2fcd5907fc4ff9bd67106f026c6de744615179479735d90a2b308a394e8f584a5dcc8be46ee06ac039947f14269a34e709de48a40acd16651043ac0a0dfb47e4d23cc98ca10dcd97dfb3240a5e5ec1ee09cb83d041db21cd13bf0f62ee9e925e2811626be8b04b05589159c34acbacc4381188684dd207923f000585c0998ee08a1e55ca19176e1132b953dec9ea510705bbb230daa9728303c0dc464bbf4d7caca4416752d304cc8b22560e6b4d6890627520ade2217081dcc02376e325ae1649ac1bbde4bbf83a639d9a45641b9dd48dd0cdc917e972f3a44863b4c6d0b85cb217c828c57da2afe31f5261f72ef49d0fb88cc482e1eec7d3b592e259d187aa57791db0bc48b7c863af3985532a6222b7703e1ccda24c72ac0fc594be2fdc88a119e46b8fb8a62ed93aa531051660767efcc9ec8f67ba89a90c2f5abef7b9a09e3eb70398248f49269621ff73a07c076939782a6b25b19607613e81b86cdddef07a1ecf9f6a779afb9234c8c0c202afff24f397d9dc115d24f907ca6c3cfc68748945fe4943c1fc2ece29c2f81361f86cf25326b3bdf0d56747bf7740eadedab86379b2d5c9d6d1a827cd545afa89cbc0fdd5a93f44093595bf34e293bf9b96a6652468fa2683e2cc4a56ab0c3977bace4426afe2d6e2867408d841b23d43ee9d700386a5b4c1336181af3fcd12f3af053b67b2ce64a4e30685d1f83f4787e077841a3d78185a3fe52177f78481ed38157a69008a5fedaae2df8472d61a292e7cfdefcae41d7f751fbc6f009c2c1a4d0f3aa9371144f9b51e571da848df9cbe77a0dbb7e457d04701b7f8f25e6537c6876806a17784cb1de499e55a100cd54c5766b61d6f72f6da5f50db9f940376c943a08f58aec1224f4111816954900a2ae1b69ac16919fd7848df1ae694f00069d8c164626ffa39f7f69ea5869efe10965b2fe61a94c40c5c86fc55eec371f46077b87822ae51880bca3db47f2ffe245731b0244bfe83d437de3ffd295d63f81d40296fbd3a92e1b5c6d9235b9b2ab8a9e153315c6d0a97659ba33fcea98ed22eb9f8e623467d0f5c57a9e6468466865d8012c96b9b5a927fd98e28e6ccd40e0cc641e9aac7a7fae2f8c084736e58e71834588cc0544b328bed949501a89156e95239ca3b8dcfc2af4b54b2899c3b037fb91c5b4ab624c15c9924f4d2e15fa0db13077131e6e63ccdb677756c2eb192dc4b78c30ac340f1616ff59c314b5f7db91d832e7ee760b318d2ba0923e71321c3e3f6e3bde8a9dd2a2fe19b9f0c254261e4e8d34ee2547612e69f37f1f16dd487cbdd14a4df76fcc998f34fdbfe12c5be098c0132a7b589b25f29422a3587607c470847ff3ec112dc0db6a9c2e1455d73210d73ab495f0d382a44e29da2f07bb23448a7dc9ec85ec60cc2b4ee969cfd524db7f889b30008d87cc510c1498f875968e1b1a24bb011832ea60c3a5d55005dff8073013892208a96fc2f21d738d43cb05861005cd3d994a50cf7f7eb6b03700d575bcfdace272541796243224aad9308b51d6aa7ac0fdd0d4a75b947ef3fce34b4f136f423f8cd73f71ae3e4e77fc0b6675efc635bd9b7c0609c199e695978a6fdf9c35595c8a56ca976c2d43f94627a01d4d9103e6f5db2fefb0d8e7458c4803e46a88e94ba26f44f96386b5401ff38fd8978606d2d6802c0a6286d72c8d06b7cb89ae649a61270318ce695ba9f4fd884a728c578fdec4ac23009a59ff94c1e73815ebf238d6961f2a4648e2fcdadbd4109f193b87be7471d5c5d9737abfc1a9c60e0d46b021d9fb7bc4a3a5d84b0e38880306fa8489afdd65988e3ec3e88ac95555a24c35680075d45914ee2862799e95d45e0bb8321256db5cf65c5724ee30c4c9f2076af0723c4521c3319a4ca14005395f78573a79fdd638dfbec0313d10d1430d7ca7b4f73be0052ba54c5357b852333caa3fae084043590fc1c99f764b8d8cdd6de9cd78e86608e6e974e72066600b64a1fa90e832f6a9c21124cb9e414172084ca67942ee74ab8f313bac602ddd508822ed6816eb4fe06f48b7dc77d966981bfe9df1e9fa8dea6e8a5972358bd57b1ed9a045f6d3b8bb1e30175e288026e7310782f9e75dc4ea5cd8706348a3e69df1e59b4ebc51641e5fb81cc0de2e4b4d1379c17728a5f86e6c25ed0a629867f2baee781e1f555bae6c6b53ef0076bf828c61f22a39b45e0a0551f112cb97881cb5107962c1b7449505a6f400d66f8e894b82c825087150fd6ba9d40ce398ac799f826ae320f316baba43d32195014c0315464ebb49a5f349ba86146c9088976863e855ff897119bcb01bad0aaf6d0c9e3dc425d82db9bdce123c8e2c8ffad17cf5167af3dcf0593c1eab07ae17323669a628fa9d5e34e8b630d9bd9440f4981cb38b5cbc4eaf5e375ddf6f66415e6c198b714c7eabd7d9ac08587b6f2d97e779eed593e247dd125250d6ad9d31ba8bdac989619bc0e96f0ef331a8f149fcecf9983cfcf1d8566f35a7aff7ce312ab539126ce8ddfb611302e734691f653b6c4cd723882da98730f1040c1554e778994d22695ee48eb5f14cdc8920d778b60b850d219ef0a3e2f56e7009958412622d776bdc2c6fd32facc37abfb2f57e1fb0fcd7e93fabb8e5df706e974b3beaad9cfb51060b609984cd87a6d1d1aea7ebc72c552c8f562ea1fc64b41cec1aed7e6e7c279bdbc01f3049f272adfc8059b5b1e38efb6aa85ffa16d02b9e5fefeb3c4730cc2fe90056beb581405a8f57f48060b17bed89bcfe6993e81c02092124b7344718ff4d66362c412b08061680ac36bf2f5923f87f31d98abcf34adfdc17598a4c1fd765f6febb0ad43d2368126aa093f199627775333e98a16f7efe5cdc0e09514f595be5d70774c748362b5a20c385e7cb318062ca56ac7e685eb84e37f783f2c88e410702a1aecc9824475185b53b8c0dd894dc6fa8a5d02c42eb45eeb7ea3ef2c63f8b854b7e5b93fb04bc748dd0dfa60c973921f64f0a8f218faccdb4d6952590cfffcbcf8fb1aff02d23c4f65304900237f351bad41041b09f9b0ff3fd7d09a137903413821249e91dcfeea746db3fd2fbf36ed3d61ab8298e00cf356e07ec7fc4179a241e1f3885ac12b715941a285503173e36477d4c4c7251c0cd6b042aaf8073ac2d5ee7e95e646f62f0378080a8ca785b6647fd191e6a28f6a25ef7f5b2c12ffbeebd18bb1445c68e80ac0314e787cc40484142b9f82cae966ba35bf0e85da1bb4d882786ba241ab2dfe96bae19259f0ed32b6c4a2966044e3016c84ab9d74afeb6cca0df1dcec669bc0991c7b38977cec852a2bc92788048d723ed24fbd2c208c8b0ef1602f4096942bd2250639a3d358d472d65b7514f199f7797d10606c0ddec695677e8b4c180cd12d31510205d0a6d9060de630f431aa984fb1407e0e6c33c79efe298a6b0983061372204e11a69b3a4a3550710efc5b2f1c597661cd0d8199d6b4e93141eb3e11f984131afc21f49d0d215e8613ac915cdc2b1cb92501a39b064ed02ad2cd30e6fde9af3de3c9d9b54d4c88833d453d81ed21de96fbfdccf85e9070e71bed009755db76dc337cd62569e43f8934fe4e51886b0dca296ff134840dbe8d0e0722fa4e179c3ec97ce293dd6e9d7cb4a84b40eea5dc47aa081d82f6c461b9238f4a7664cbc530527ecdb0baeee2bbc69143b33153da31b24764eb042bc59d32fd2857a45333af3ba37a8b3cd18ab6c7b1f9ac7d3dc1e6e75c6e0a5021c36ab1c27700871a40fcd7642dd8b1a53aec9b4cf6b9dde46c2be2a1e53984fb6691a3426d1a278d13fe5d31384271e71c452d7c6c148b31011c2a8780a76f018eca1f950e7bf7520e08e306339909f1936639e08da88b87fc70f4580a805bf638dc29ff9d176dc7db79f3767f6a53ed4e02be680c4b2762b2cb87754cd8668896a0845c1936dc95e4c9222e814ea0baf47c030edc859e0f3730ae26e93cc3333cc3333cc33346e7edfbdbafee1324534ad276c68280e0ec7b2253da29a584ab9d7ddf6f38085f2110a8755bdb6df66fc30fd50f470fcbe1c477be9326b4e915cb6b2f777e16b4bd18368342d9c1013074102922c60f0e5028432a365cb1583a8b4ec2fa3c73b815cf29214cc564d4d8823a3a6083158ea7efa6f1fa0a9dd9580563a3bcf3ab8c8d66aa48576f92714dc8df5e950a44e87abc58fd82be8d101ba8485694defdde5b93d32950b279f54c94d8db6d8a64de3079116323b329453af386b5389f849c9914bb972671ff2c062dfd3a7cd81805a7f3f9dffdef45d111453a5d3671a72a73b81e0a2be4c66ef6cbb1472422844960ceb0018a6430a5e5c4d7261d561cd8f88417da5aeab09635ff6b6c60c31389d1e0495f1c99e34d1b9d6037e7ce8fa73d6ae952b0c189e57141cbe1ad4bdda53636e16ab76d6e2b870d4da023ef9385a833a1e96cdfb25c721ed661a2cadd24d4cfcb75aa6b828d4bf85912d1e131663107bd0e6c5862c9b6fa94dc97a5164345b05189443697a6f07b616f94810d4aa0e52c9d5a535988d16c4cc254da726ffc1fedd948e20da5b3ca732eff13fdc0462476d16f3d8f78f1836f7c600312e5e9958dccafc165e11ed878c4d29ef8d5f82673d9361c516993ea9ff5b283ea8df044cb3fd429f539898494f1447ef4e0e11c8442314308100ea40d46681a6414d5754ad70b5728145c8af02062469a808d459c439a526e9bb5c3f53614f1cba345cf255663899f0844bda813ea5ace1e97073610b18bf29fcf42354dd48728ecfcd5f7644efd65111b86e06e947c72bf162fb7a58a9061a310f6dab9c973495a7c9807360861d0ae0aa529e3fe563606b19834dccec2aa3d9d04b1aeebd6660c429334058213f9b611b3cb731710b9bc39a79597b5111e2236fe70ced225d48dac880dfd904c2fa9db0a95d172b5d1874cc85c67a23ed5d642f8604b9e044e60630f8aea18dd236c3d2ed343aadad7413c6d539e6460230f9d7b6c919b4229152d36f0e0f9cb329bddea396e6a60e30e56da8f8c5b3268d1a336ec80125aae9d62c3ac7a6cd4a18d26a4bdfca193d4981f36e8905b9969d1356d861f4960630ecf297d17fb693268961f36e4905c4db3a5ffe5d82e1787d3e5766f6f78d1931a0ec8d4318d25ae433dcb1bb0f52ca9994b746cdc90e71acf991fccdb651b6da8e34b8eb9c84c7aaa0d36e8b9450224b0b186c55535a5d4eb74d3a900ce000d22d85083b19240a5e154191b68d82a1b674868f6bd9c4f8478d1c50ce60e329b315c1667c332b46142574c2619a35d36c860f810aff9204d3cf944b03106637447b1cd24ebd317831daa639665ffb01bc630ec15a2a145d5c77a94031b602876ec4eb5987392a60a7470c0c617767d93aeb92d46bd182f983bcba2ba8c1aa51baa50283f032672c68320870e6c74e191fb52c793a9830b256c7001a55e90fec9cc5cd0b2b2e38c360185f23e104bc2c616bc30a5cf7bf4e263d8861652a5335c5d06a57d02e225b09105acb28105459bb8c69497a552b5e23f7aa4316c5c210defd138d716cc4d12b06185cb2fcd3ac9682dc783c78ef781f8c709289421d8a8c292b811327bca4da74a436c5041f1f59cbc93d2fabb9e61630ab64853723bc56f5a2f85b307fdcf8d1f5ecc3c0a67595e2f373bbe5f0485e53b6496c51c5fb4e586f0b0f184c4ffceffa4bf1853c709957c59f1dc96dd79621b4dd0a3e953ee1a632ee9c28464adc7ab15155ace9b251836dd8a9a78bfb3520969596ee9479a7aeb2c6e9684be74e61abde1a5779190dafab77f2de1228347407bb86fbbf4d8ac2617d830c29dc5b9117beadc425504fcfcff44af265925e3810d22e021c583bad2dc78191b43405b273ba5f3c7838bdb10c29bf13bc6fc2aee1bb71104ec7fa4d908e562ac7788126c0001f55258df9a97ccdd367ec0dac953eb9d9aa2351b3e58530bbe3632682d35552f74a9d38bd13e848eb1c5e0a0062fecaf7b517de939867317b89c26e3b67969d9a48bee93e9d95b2bbf97ce45a7a2d1f3f4c7055a4c5a719b4486bc180d27d4b805cae78338a594ea75902dd0168d2284e8aff1b516de0b1e1e5dcadceee1203568b120d3e8d8627ccb115e05020fc8b103020f20526316d598c64fd779252659e8d25a7cf4f482fca0aa110bc4c46966866769af1ab0b04ace4263f8b8252c3284fc0c84b0193c681ca1c62bcedf8a33b57bf124a241841aaea842666957cb272bbe1d66a8d18ac49587af95cd8258c68a7354453f3f4e64efab58d09c5d4f1aaf4da8aa584cfff80b2f6efcb6a9c05cd05975ccb4e7fd50b1acb7e89c9079192da758ad64fd3da798ede6811aa660849fb6947f61ab2595023397d2c3aabcfbada45878cf9e4ccb59962f51a5c8101e3546516612cf2e671a299a1aa270332cb4fc2e661ba4354281fbab26a931ad278d41815eb3d0dae1b29d3655281420d4f8846eab1ffba5cb2443e889a50cdb2444be5475e292ee52c6ecef14175528141662030a6547101692821a9c48374fb8d82bf71ac50a85b2c38c5681fff83154506313bba7c8d8da495a9bb48626d2bd313acbf4559ab4c28342d9318608848c8004144a10333a073532f1f86c3c1521847041a842a1cce07f088512460d4c6cf2f7a511f71a3fcb150ac57d7c8f44a19c1a97f0f44a9ef8d3232f5c1d1da86109ed44982e2d7cbaedb712e778d3714ebb1c9f264309e35e6ccc398c97787812af694f1b5ed01165322aa821093cc6ac2d4263cece8c445d374a3d47d5cbb1e7e0400d482c070ba54f6d63bcf13450e311c8cc4eafd7826cb134351cb1cbdd1b84cb41eff9fc4568f01ad8408d461cfb2ec6faf3692d9d11783439b21f85d2811a8bc8c4c83f17e75ad09d53c421ef54bf6a0c3d3a83512311e9296df9b44badb9f43510b1ecda234b67cd189f9f51e310c86f8c39c9ff689b234328da0565721e4ee6438570947ffeb3d18f9afd126a10424f7ffdd6b22cb9e69fde0434a83188e5f57a0f667a35a7d61004f2b22643ef7387f8981a81604537c93ce12e8da8470d402cc6f8b6599663cbcd7fc83ea827ddbd5fd2e47ea87dccfd4cbf28cac5afd107435cd35a164467def9803a6fa9b7c5ea3d4ba1e4a0c61e96d6356bfe3a77695c430fe985f60d9ed4bf187e418d3ca84935ef3395abbe060f7a57cc6df7db6ad0fba0c61dcacfe13a6bc95d51630b6ad86139c6de5adccffc9276831a7548f36a90ebf0c9e5b4d1011dcf99779478cbb6bac61c4cd572a5d4ab28d53917d490035aca320b2d5c67ede8478f13e80042e487077454a0461cf096b7450b97efb9463c6ac021f751e9b22c96ced5666abca1dc605650a30dc5860ad458034275e9b2cfb69e5d4c0d20a89186ee835866c5272db87c8542e17106e271868f201ca881064dc6efcbbe17d3cc3a03c23f799645cf2e9e3a1d44be0335ccf0cb39c59e9576bacc52a1506cc04278fc271e4fa44810336a94e19c3d4fcfa85319a4e5c30767800935c8900c5a2e7a27d3a75153a931064784cbb296f68a0699180ea74bf8d84bbb6b1d223fbe066130fd8f9fc9b58500112264034da801063de5264f32be0533fd17aeb22ed9615cce30ab178e416955f889de4f5f8d2eb82e6939e66ca13f88c78534e6b9af7cddf74f2f6961f028a3c6161c2de9dc1f5375df530e26d4d0c2a28e7ad3a22b65cdce02a7ab499df072b1654f0d2c3c6f4abf24736677977305f4af752aada7c5f12c87196a58c130297f3abcd76368150aa50aef79c6dc9a43e6dea641851a54307f28d3e072dbbf9c4de1156da93a6939dda9470a66e9a0da4d684e2d310a09ed52989497a5cffa32040635a050ff6f684c4f17c7d34fa8f1843bcb748490b9756272420d271836897fc9b428d1b2a04a8d26e862cbe1c32ab3ab6d63e4204387028400490aa8c104b7a36f8ea22efc9f683596c0876659537de66dcd8f504309fda63af517e34688421902468d24acb11bcdc5ccf36aaa0364d4a006129e371932b4a4c5f0d3552814215f8333841019f2fd030c1d429e0a358e90963f65b28cb14e8ab042a1e818f243b8870f30ec78e8a011881a46604326dda2c7b4984c5676fc0f203e3240a1fc0f203e5a8c1a4540ffc5bc2e694da13e55a150388c1a44d036cc6829c4c550fa552894f4427810d9b1030339c0d04144c8d7c07a5063085ac569f33de549373dcce8b1438c1c19c841868e21fea308100c502863d410421fc37437fb64d09c532308beb4d13a7573a691f11a40f04f89ea0a252eae5e19d4f841e7a625d99b793af94b0d1f289bc389d2ee3175612ffcfc9a1b643ca5c3697971cdcdbefcb173d20f779186deb5b6106f598a2b148a0ffff183862e98d97ad70fa163375f197203162387599df120c85161d0c0028d5c2483d2d7ec5a1d473f30a0818be65af6bc16dda57139150aa57598d12a78050c6105e830a355a083861668dca2cc23ab2e8fc69625e918346c61e8dcf64d15e9b8008d5a2cc9579179542d4e455c8a7480062d54d52b1737cbe6d267082142a1ecd0610610211c3843081914203466d17bd09c7eef9beb25cb28825e0364344087a1210b334b6b61de2d33caaa50281ea0118b634c3b1f3383c549062d081fad233aa6aa5eb1b4a5abec3c4d36793d68b822edee62e5e6c9f92ecba0d10a3e95a86e9b784d7d62c5e649a93ad5828ba175854239e367c0834710168347101aab48985032fa33ee3b334582a802335975d162e3bc542a30f5a2fc66cf52673dfd4791a5818aa58c2f9f164fc5cb72552894b5a2710a33498d4f2e9ba96c8f29f874d2d4d7a5aab8788542f931821cfea3070872e4d021031aa540c8e92d0faa5acc1e8d29d020c572122e3a9ed2d7736914bb692a997359ffe3ac50283b8ad01045e19e32aa659b1e6b327450283a688881462816b43ae728263ec6d7409138fd515b7439e5f7a642a1bc0fefc1e307100ae57db8077e8c804219320320402a0a18c20a8040e5301b78808e20343ed1658d6a312de8510d7902d55f1a3c061ba5593a91c6369d35cb498b860b27102a2fc55bec9c65536da2ce9d22655e8c101a9a585f479dea8db1e454150a8542d95121c224403432c1a88b57afbe2ff31a4c68525f2c4da33b89c60f1883c6250cf1229a6d84d6287ea261894368e71c971d7ed31bc841860e19d0a8c4672fcb69d4973584b7564528e1bfeadc766659d54b1f4080a013d098449f6dde7306f1a4aecd400e0ce400e3012aa02189e5c5701165d6a2933c1298791c9da50df7b2970f6840225b71b5ea32f5b2063d82f5ac597671e5e3ae4d8435a0830c1a8ea8f3e30875ea3cbca06cc4b2a4fc435bce93d7a01f34188190de1f44fa9ba952a580c622bcb037a132b4f8493345ace96216db3b6991574ac4abb7bda21d4e447474502843824003117aea6d6b8dcaca87400b3a8516945e0721ef1d64d010020d43b83997299945547d1e7d042942c619449046213c172d757e4ef36e597cd020c4e682699657ec4266dbd1340661f2d12d4b3fa73dbc8200067280f10014d01044a9c1f3e6cc5a72a9af50283bd8c10b293204888fce410e2894f7223e5e489040143372458fda1b25bf20679091830620da9f7d4169290de6990a856283ff41a1a4d700857206910cd0f8c36fb1b97479c86c75951790d1023268f8e12d1767536ebc16dbea43173a8b67a654a465a642a10c1943071834f8b0758c97fd2a1ffcb414096d75b11b793034e76ae6cf16d4ca15ca064670030fe650219ee5fc06e1c61d2e9959cc52f79e89d0b1c3f62d688b9a883b4f2b140a0d9e42d901460330d0001d75c0c41b74b8c41b7358c41b7230b5183e867b7977509be0461c980f3a2819a7db83fc2c70030e8dbc3ddd9944af73bdf186b23fbd46a7101dc46e389f4ba74286d1a65cb80de6facf73e9f17fffc306bd83fd884eaf2ed6cb1ad4eaeef0b2bddca6f433a670430dbc68c9ae93505dcad53388ecd811831b693884a8cfd9a25b9cccd07016bd250f0ddd1930a5346bcb5aad1a4c665876d37b4a96a93061ba5186c59bfddcd019b705990cd9c9393f2d8ee5b9660cbbda87471321b4b62886cd93b0cfa26cd3b60b83e1b9c42929e7799a83210b699fa73a566796f305a4e6ce6d90e15d94ef85c3fa648ee7825d6857d3e6fc3ce62cc8054dc6641facae5af8560737b660f68f1f6bb2636eedb5a0bd8a562ba52c1c525d90f3183737b660e1a031cadfe86db9ef7405376816637550429f16b7422a4fe92c3229dfd6ba0a684f6df9a4e9f0cf2415f475e17544cb7db5c1bd3105637c413b54342f6dbb21857c4b8d263d177747013b255b16d6dac45e28ecd96734846e3cc1b56b513d9c9207379c607e1152c47ba996733004379aa0bee452677f07f5724c8542a1c10652708309c8174ba995466d41aa40b8b18434d409dd911f2ecbb24a28af335b557729eb9724fc3d3a75358f961d0f09dd58ec56884c1b73eac611b47e91594acf1e2ef30a85b28948911b46487457958af652329e1b4558785b5ff574ade99444b8a3c78d49a710fffd57e1c6108ce3b2543ab898624f7c4308c9392d9e852bf9f82a08e72cc9522de634108e3b5bb71775744eba1b3f28c4b685d720e46b735eb8e103fc73e78fda310324bd48af64748ca594da8fbc38c84dfaf278d02f7b4976817eb71399e5fadc35550e892e543b9747fa8811236303418e02818ef781a640928b76d3b39d1af9f69ac1c5196a2eb4bcf415486e618ce1695d6e8fe539b67093980fea56eca467b538cde5667ef9abcd9f0d486851ad691fe929a467b9c50c24b3c866e4052dc8e7a44d258b3a96b6bb913157fa45128b449386df890d0b73fe7c4d175346dffa157f6fb69c2efb364ca63284c31802892b1654555d74aa4abb512bd249b59bd22de9a42b6685e575b55e25940c5a962590acc29c7961f337e46797aa4867f09eafb196734e457be2b33fe81f33f751518a8b37a667bcad4a1d24a7f05fdc509dc5584f9d3485faa2b4bd98476cf2204929b08e84145747328aaa93802111c531278114908402bb19df922fcffc69c50724a05873249f40754b5afb5293d99f7e6881c413c9ea967bee5afd313b51072d8f525dd3b999c3893e2717f4c5f89a25956fe2a0334bf24eaec592214d14bbfda2adafc638a14c387aaaa9a142f7a99e04135abc2083122573e306492ef14bd2f54d97ccba51b644ba5bb2ddb26bf7fc925482002494e811040c1652048c02904cc21c25331f5e42668b9144999d1acf056d33338a040f20e9870732908108904062fb1077beb3b79f7d9247a0ce7bd4d7bd1c543e150a4504248e1872c6cf6001248d308cbed7350fdb2f3a8d3090308247024816a1b7984bcb929ac7c6b042a124203c2a43b882248a388b39a9eb9874c65e4792881e41c048c108164082083f6da7e8e80b560d480ef1aebce017a7f63ae70c2245480ce12965da498caaba5a2b148a09769014c20c1e4c849d89bc1802202184034806616ba8d91fd1afcf5941f0e811040c12288024103d8280f1fd03080248006106cdd61663df75cea95028446eb08121ac000a6508c91ffcc0a8e6ccaa6ec2f6bf216c20e9432962edc7374e5d34f960a66c12e52fee5d3dc91e862880440fc8d4f9ca65c92b93e92e05923cb4bfda8218999e3cb50a855202123c1c83966350cf69f5aca542a1cc000890cafbf01e4820b9c397daf9f4ebe66f314462070390d4a1ecae379d3c8f6983404207abb339f03800891c72fbfc5d9f744dd3ae5028422089c3b6eaa6d5c5919d2a53e1e1c307f3e861468f1004796f12381480e40d88eed22f5bbdc88c2003398690c0870f3072a0e00439329063060dc40706be063d7e40e2863d43a6f120ee4bdb48d286466f893d7997447a5ca15076e8b002091b0640b286f284a70e23b3e749a2060090a4c120d34ba597da570b094103091ade1cfa3ea679ee3ba50a85c203092467484f3d6d4c9e230189194cadee4908193599f2fe470f340649193671b3f739fc4d6b40d20f0f10f90e50684042864efae59e66b40b246358b76487d09a294e9d2a148a1874f75455fe95fb8f4112063b7824603037ced56b47ca9c34470e1f3e3803397450686881e40b66c65ca2ba7df29fab5028619078a18c32988c08907401594da79b733c19adad3822e1c2dfe275dad76677c59507906c411b919f25612d7b9cb2b2a33284c3d00089166e7941bc309a344eec59c84eb98b7fd8349df70bf181980c1bb00928940b9060e1a0e9fdefe6afc5d811c915be4ef1ab2e9f9299df0a9058e1dce9c6afa5ddec99a40adafce9fc3121ce83840ae9f978e984e8b3d582f4b0010f92292cd7bff4e28af852e180440afe2673f3922f8b214b30208942a68472edaeeef76c4002853a8a47eff5985c2d7601c9138e3174c97ad1fa25a556289422244e58509d49a8d3e288cc234913321f8f1dbff5b63e284998f06bc714952f4ab4d50a85b2049396cc2ca8b9987221514222f36a46766b889260762fa929af69ee26010912d4d0c26d75082ddae1ca13f9c16510213902eb59bcd33187eea0bf182446582c5d91db395b7ab28414a1fdf8325ee3ff1a3b403890c3033a82b0183e4888b068f97d27f4e5ccb28908244338ecf368fd9ce5be711d342011c2a3258fdef62fd8c73508dc667abc202ff7eea8420204742e1945966ed21a433fe407bbe83129db74e1d5f22140487c80bcca6e39dbfdf8aa3f467ab18b27f4b9a031b73d5ea150787152f294b5d861b4c8be8b47e80cfb31235ddcad47c5063c8010e171868f20419842d9b1230c1d4118d145e2e4cb9ae5ed689ae4447e70330a4c30920b7d5c0c1f33da427a58a1507ed88083e400012edcd062956b90fa7bdee275d5cd2753c7fc41a8a2430723b6f84ad8bda7c67541c83c768cd462f3503dad2c253aad0a85f23d849041c6082dcc6f994f73b394eba642a1b8901f9263641697990b9fd14648bf466461783be5614eae666ea9502865fce841a4881818188905ff2d87cfbfb71ec5a5b2438c1c64e4e000087284a103031a1043c709466051cbd9537c16b4581dc21a794532dae9cd59d219fadcf70085b263c415a94cb593a3eddb5faa15b6a0e7e48f65668cb0422f7d2d097d1e8357ba8ae377babe1c7f1ed356a15054c1089763189711269383c6164652d15567e1d5a46bb606fd1841c57eee724cf246ce333f83915334afb53f62da165e3283c78ff741a10401d2221831c5a2a487bc79f9ea550d32520a43f3fe973a2dbc382f648c9062e94c2779b1343cf457a150466127bb4c5b7b7575768f11519cb7f7a9c5241b6633434291163549537d3a784787f4f0f1447a546cc083c897010a3b5cbae617b3745dc8239f5075aba594cdb2185c1ef1c4a25fb27491efdbda76823d2df31f2fb38dfc5030c2093dc347c6f836352110204236818acf82e9e4c28988ab0994daaca34cc629b5d93232c1c9f849b8d462bea85f0513c69c5e4cf92e7a45b85cc2982dd1e2bdb9141bb3238c1c63e8d8c0f71042c60f19f23c828c58823ba9adef9bcb64f33a2ad1fae620de7decc594fd181c18a14432d725e96d19730693481131843c111a8c4c6239850b9f35e786cc6f192392c86d5f372f45dfa81b03144a24f2ce733d2edcdc68970a85928000110209a4c9106fe2cfbce574e2f7d1238f58d5946bf60d32cba33ae2602696f6a6e2e578a9502895fec1425023bcf1ad1f99d12deb67841186073b4dd3928dee07fb08c2230c1dfd0e2403ef404440a1e8f891451cce749bcc574ac83d05238ad8c4f7e5ad37ede5fd03c8f78f11c860241166721d295256c7e48d083b67ac4b62f2a9e3cb0d3e0c216f032021b891431cad2b3b650a91293a911f43470c6196f385121be5b64a35528852456fd0172ce6a34f082d3b4d7aecace759ccc82072495dd3f546f506d7082382b02cb464f259cc5de972c64820b02f3391ed35bdee0022e5fde937ec3c8827fde1749fc54a4dbf123df2439e23fb446e36a8722932d287e2beaa4574c9d3a7aec1081f12154a9cc76baf8c9a913de482c77bd5963ccdccc1881e9433d931d7d44b99191f2379e8f63d83d624f545cf8730820783667a513b9acc4128ef70a816cde57cdab3e817208cd861d932a6ac0fe6f25857a15046eab0d425349a670faa7d7660840e979c54171919744b9d168cccc1644265140b2b14ca900d8cc8e14e0fb78d3baa63142b608cc4214b0d52e6544328b156281438241afe59f7e51863382b140a854259c1c81bd0aaa6aac4895866a90a85b2a332e2066ff46911c2e47fb654a15028140b8cb421cb46d88065236ba8b21135a44694fc1764d4b1bbd2909f952af19edd3b6b5b64040da91cf5b9eae55dd1d2236740bb67cc9cd5e5ec49f98311332c2ecaaabe854d35161646ca50081946e6e37d54d1eb60840cb6daa60f9159af50ad303286ca7336b826bd3f9a13432ff622b2b4e5159dee60240c8816bf35d7f6ca653778ff41e30a2360d863f4daf5cd1ab3c83a18f9829935f2c520dfdbfca7e189112f98344729d3a6e468f11d4c84359023088be1af8a912e20536ed09c459716512646b86076ecb4ceb254196e7cdf82e1c6c5ed2cbeb441c8a37768810bcd52a9ddc7d69347b250bc7ed7bdb98c2ecd46b0701221db5eeacce518ab5028435e30728532bae9529fb3fa1c066131888c58a13a15598542994103f1c123043368203e24315205c5e5c76e3d66174b67840a6bbcd02142c7f65956a150a6600b3a699784eb7f36b3c71020249042a7426d5ec87d1aad552894428c44a1eca04e6f09e55bca45c30814d0db272cb49c59deb0c130f204f3cba34ae83897a29a2e8c38e1a436f693da17938ea772821f23a050ca186902aa598c5b3a69972f37269cd47e9c11f7d4d9e8120e523cc6885342d6c73c20020a654819234ab8c35849cf9ae9f3a72b14ca11469260fad9e8acb1173b9a3c1841c22145b6ec99336d3e7be40895cde79c469c14b50f234678478b1973cef7a8a1192902fa5c12ea69ebb9a3a7c1081136303204e7b2f4994a4d9b745ba150503022845ff6163f757251efda912018646671df24ed4cf9151e2f24c80e327450282c1801029a3ebbc7b7d10ffcfbb4ee195cd28a7fc4078bd9b129c25b945baf1769f80f56224678aeea9d46116cf0c2d8ab16d11dfbfe7bf0404378041982811c22c811860e1e4f8475e8c0c62ef0bc9f37d7777afb5fa1506ce8a219ad5dff6ae2c4f70a8542a1ec38e3043672a1a8954e715a183b35e3e25c424791e531687f6e61ce347ac7cd53abe664c0862db4d5ff7eb3efa86ed762ef19f7a07454cb59d2062d1031112e9ac8fcbaf42cb49643d43ec87579b4b2d06b44be247546c8437804591bb1604c06d35fdf6298952a45cce07186102234b0010b0bfc57e86816d582908e7720227081c91032f156fba334cfeb068689105c119da3f5d9c5b2adf8e01f424c82708c2d88ad96835c584228941d6388c004088b7712b05bf02ce669cde9bbac6c911d673c082a43388c1c6c30f9013b42b56649cb372632f101731dab639873d194b617fc87343dde315e22e7454a9afacbd6e941fdbb8bc32beebbe5e5b3e84229d185594c5ff0d6ac24176670fd9425b442fb3828c185d1bb5b7ccad342efe920f6856d9192f77af93e42958eb250528be3e467c48be3d15c1443092d4ceda253a749dd3e192c94cc82175caa3da199d4c8aa44168bb7daa2ae08d18ff7204a629146dd3cc2c5524af629821c61e86842092cba17592ec527e17dba57a433fa5562b4687a4a951494b882db7049fc7dcf98778a94b4e22ce7cf3dd7d7b1ae2e6185b1a9f25bf4d946934b569192f5c285bc2d33a9228dd73ff72784cc65a6220f675729b72ffbc951e1cb9e597294cc290e274d6f1afd16cf7c892976fdcd8e794a6eccbda414b6ecfaa29f5da78d6152e89b6e3c7d10fac5b32b9433841019a364145cbd26557132fd8d1651a02fd5330b2a3e4f964a42819664a389d062f29854151e409c0425a028457adf67e99fc87b379c3435ff39999e40e87c155d7fa0a4132731ff0fb36fda6926a384138debd5c6129dbc4a54a46413cb996cbccef64a63d7c46ffaea834e37eda76642d3e1dad32853956002edfe4a6ff3dc3076c9253cf394312b458cfaaca283124b28ee5efdd59ec551aba412589dfcd857cbee7e5aa18412cb099df647ebc520f224f024cba5512bd2e37b36502289eaceaf37f646b6bd487cdde71a468c950e9440e2983a94ce789712f6574a1ec1bb242b322959dab2381126320685d2258ef8eeb3e678931b71c8c7df689131c21317dd5abeea77a519942c62930daf59fc682a3f66831245e831d425f1a3a466514a44b7ba2bbfa15eec2c8588f283f0f459b91a5dfe106c784c8f1ecc84a8b742a1f8f0d16306392831c4f95e7de3feca9e9623525208d7e3ecf6736b4cc78710a2aa71e1dcaf938cea8330b39844df3a936e870481f2d83a57df22a38b0d2909443a68cbecfeff51442f014419bfe5dc96ee59cebae40f793af997f41e257e48bf3368dfd28292c9eac3263e66f879c616ffc3073be685eeeeb6d839cd28d9c31a9f42a9be5a0ff776bea49b7f831e71854249257930546db39cdff61a5aca28c1c32137fa62e8c6e0f1a58c3b98314debe710aa78891d965b96b3697f616dd5ac5028ce2fe44bea90cce01f3b94a8b390a5a0840e65ba94af9b4f2573a8cb6f45a6fb8010e15119522448084ae49070db0c62a1cf547f150f94c421e9f2ecbdbe06a5315628941f5c03670a65470666d04c640c21252881037a4b860e2da2371c5b9eb3764efab50c94b8e13bcf4c1369b6721a8f1f5f21c2c3df062110a3a40de794c1c57f393bb5247807f2a34ad8c04bf75fe274b4aca1e741c91aead03d651b548adea88c12359c5c4c87bd3d7d2e33f81594a4810f9abda3db7cd878572814225f06190c284183991a3694f0dbd0b931a0011d18d0807f739031ce781090517286c55c1a368a8b722e871185b2a3c40ce6d4555a7af14a64bd923270ba36ccf76e081813e43025c8614890c38c208711410e23460e138207f80862460f1eef234811223c6830a1840cbf79e9649e1a54fe890c2563e0faf4bd6cb285bb9287a1440ca79655fb6c5cd2d6b192306c9e46d455947de74c124ac080ad6e7baecb976bb42f1ca6b9c5df4f69a5f42628f142f36a291762d4acf3150a6587134abaa0bf70a1ccd3adcee814a1840bfd6a928fa9efb97c53e13184878051b2854a4f75bd98b9887b50a2854dc3f8bb9f7cbb9c072559307ae624d62539f9de6021a5b436c82afd2e8853854231e3c728b9c2417bc80db33fe56599a0c40ae92ccbf0a243ce6568072555b84b7ae7ba644abbb841be81122a2ca7ce7831858a91c9ae8c91c3022553405478c6fc577721f50a850264c80f2019d8b145ce289142e1594914d0294289d0233ee68250e8dab31427e75c4bcd462879429d5b2c7757cc5bca4b9cb02c6c327d993e4e5fa6a4095b67c504ad3309c0a064098cbae8e90eca3cc62484122518da726bcefa9e2d689f509284e39796b474c8bc3059091290bfdfa2b48c84941ce1cff2e95a8887d0194b8c8086cf4199e875ecfd71505204aef4bf98bb9976632c214257aaebb35c3a6b3da9640857c8aef02c7a0c3ae94528118229dfecab63ec692e8994044193ed8229a99bedc45502845aba5b4d6a2f0679b5e4079c528f1f4f58cccee686121fb86eee6266695e45bb65e0e8455ddda54a8dc79836d8811c1cc8b1811c1ac811031cbcb0439b9fcc4987b4b3a0806317de8c52710d992f5b7a0838747149575175318d2aba5c7c6935239a1b6338252edefc9af3768ca70fde2d12aaa1736e3dbabac5610b73c87fdd96bf4f6892478f1d3976b80728141239e0a885b3f71d84dc790222ec830314ca8f2742847d2421386881d2524da3a55c725fc9c0318bbfed83aa349d9ab5c2218b3f6ba93075b96ce50643078e5870d2365c37e9b95ca2772022c0018b8577396d37ff7b18d12bfedae0ad49ca69f5b02b3e9775fc6368add06c2f5b8477102164ac308b34391d3eddc67d15a7d2af5deae4b5307255184de62cbea8595c578b0c1ca970f34fffebf8866f0915b95849e014b85849e005384cd187879fd4d41e83ac14b914b2e597b3e2557452582d1ffb3dbe20d6a4a330e38a16eb2be486538aa277f10d5a5ed2ce9d130a4543ba5cded2f7c66d4c8003146cc89c9764c9e5e7e027ca5c2e2ed55d7b96de13a68c255a9041ad5e6a9d386b7927f5d2e99990e1000e4e2c9bae0c1ad7f2a8bc6c421d9db342c630b90d06706802f1ba103b63761e2f99f0348cd850569a5b9e0a8562c6fb78000e4cb01a3d28b5515ee2fa3a9d3fc75d74d1b7c4a9c5d01fade5dfd2188e4a2c99cc942e869b2a2fcbe0a0c43a3a080f32a2b4ba94291c9330fa8cbf7e8624f1fd9c1e6df2b75b52241262313aec6879b20e24f0386662553c1e1cc0f10874e696acc49e8e1ae48e28dc93be4cbb1032b4381ac1eb6d56c6b67130c2b433ea57ea62f6c884816311d7ba243fa797a365f78ab0d55bce93ea2dfebd89a836436ff64afd8f514474dabab418845267f1e13804565aaad494591e3ac81067d320f284beccf39f1de028443a6a7cdcea6471a1e120c459de7653db2c0bfbf12052ee49e924934cb22a17c462fa7868cb53eec92543c70a700402999be46fb8cb9e6446041c80d8352f5e94164f0697ff60128daf22444cb86739c0e1877e3c4636e8d27d3138fab0c99a16fedbe44397bf41788decb83ee300c71e8c25d73d89db79b7130f70e8a1d5b4375adaeaac19c79187e570f99bdda49c7a14071e987f498bbe61b294ac38ee602661f6df9b3eabef0fe10a09100e3ba4514ea677398f031c75684fc3d8659691ff8238e8d0e8dc2fbc8bd64b5a0e70cc81fdcc2cba0995b7f51501871cf84ec25d4664678b3b0e70c481d1275baa5d0c99845df981030e09cf528dee0bf659ca08d90085c2421ec71b3097c57496ec749f8bc30d7fd2bf91255f1b70b13dc473f064a15332c0c106e73f793c9de99da5720da60a3deb23fdfc5b901a92a7dc3ef3cbb93fe96940b39cb3a89994e8698f7f8c2007193a74dc00071ad0a804c8c07106fb3d063fef9a0f3fe33003da298489b9d6f00ae12843adfe3109b96273bf0e709041f3b02480630c972821938c5d394ac7c460557b52262e07350fe108433f2363b0fbe4efa1c50186d2c5207737346eb45da15080b80b707c61cf228116e0f082e94e94278f7fbbad1f0147172e157acd3b831513e0e0c2ddb9d9ddd46bd0ba1ec71674e9ede4f4b8e4e9822a14caa3008716b4d2952deb55eaab56068e2cf039659e8c41cb9dc9c7818564a6f01cc3b52c7be8705c01fb90132dacc59a3ae1b0c22752ef72647fb9b4e3a8c2e29a9c99a6d18270597050a19193d956735c96ec9ec292dafcd5e3c974520a668bd6bf994dfba6501496ad2f74b8164d6204853be7470de6bdb32dfc8485159d932f7e9c8016e7b467a5bac6bb4db83fce9d6d85ecbe96097e46f9fa526367ebe25802ea4fe95e738d412c43c30938946072eb60ad594d82a722f745c7ff643d0e24bc49f4a926a5b1e5d311ca1e1df466fbdaf88b1138ed5c1dac7c74abceb1011d66e028426f72eb25ba05a543898308ff29a12e7f5acfa63d0a700c815132c3da74634e1f21f4f2462d2b1197359541a84c93c7c5659bcc7000813d55aadafc1fbc415faeb4cc6e4388c30798ac1272d7269458d53da04309377a9126b5919e3af2a252d918440913ddd9ed02d73ff1b836d78f9edfd0c5417f967d4d7acb1d73b9488ac7cb4e4a3d79dfb8c03607b7ff94f67b2b136edcc2ceae1e3c94be1c79d9400e0de470c10d5b28ef1a2e4b26ae55d7826b71f794cc2b42f4c9f8b8418b67f7e55cb1d71f5b9d856d5ace1ccf5af21c347d4316e6fbbaa0afffb31c4c15dc88c57297ccc9d25434d687c523f3b4703ace579e77e3159df2a454d7f38c0c6a05dd70459e419c75fafae9f26eb42200375891ad8f999c504bcd2d375681f8db4c2da8312d964e15c8f1d1e2669eb7722aac4f7b1ea3414596f782164e96a6ff3109374eb1ec55a794ce2e68a9636e98e25432eef2410b4207dd288569f7e57f7db44711757083146fa509955d1b2f3f47c17a96b3a0c5df249ebe0a85328442d9e1811c18b8218a4d841cbdcf39b514a2502c57f19f7564774cfa1937405196bb06d3902d66f537b8f109b3758bd0dd789eaaf58499c5d8cdd963ea98056f74024f2bc23f5d922f69d30d4e2c7f3e6d178396856f87dfd884fd9d5498dea03aa8adb22388191ec60d4dd862e59b83f8bb698b821b9958d2dbd7b260e63a7b570a710313c8a49b64bc98736ecb928388103172e800c310372e81dcce184b83d23e42af98c18f281413dcb0c4eb5e2ee9dfb41a4278a312cbf1b4547b85ac337ddfa004d7f39b215cb21cf13209bc46c960ae3967fab92189732a977a7cd6b247792312b9a793dbb9c39afc0e12282d62cf7b3c738ab705371e7187ac3d13fabb3b641cf18aa78c4e9e2e2717d1e04623922d42bf64c87968130c6e30a28cd79a95f6e3e2e8dc5884a3638c95e6a99eb7203714a1ceaa79577c8948be8f9b9b74399a8b88e6345f2955997f7d01c18d43206254cbb69aa54ea86e18627935dcc38fdee4a68a71a310bb6a8e366bc26338d50d42dc9aa51673d1cb8367a9502842b83108845a0617f18fd55e2b148a100ac5cf0d416c7ff2538c87dc664c20dedc62b61432de87cf01f167f9b327cf2fe2fb8d3fe09b7564ea9d317149150a258c1b7ec07e944b2f8e3e1f2d396ef4e1b4590e79fbfe1769086ef0c1e476bf01e2148a066eecc13023cf5e4c424bc74e0fbca4c26cb45f34822b0f9977950321f2c3038cb044b78deecffaa3cd4598a17f5dbe977369d75478f448890c147880031c380351283c6cf0852236d9a77d83105a12554ac4215cbe112f07d51fd4952f10b1b59c3da8d3f01787b03ec952ee3177d4a081f18521eef9e01ef3459eb85c21b6eb0ca1c385bbde951077dedc352ff5be89078512023030308210748042c1c017833893de1c5408e982cc9f200cdfde8dad76cdf5f9221097b2cdfbfc1332b72a832f0061102dbc18d36de8aafe0743fde93c3ab6f8a1b4121b314ac7bb907dd187f54c6c8b5ea534d43f832ff890fa879766b3d42ecb827bf065c93cd35d4353595fe8c1a45a4ce259165cd0b9731e10723a6f32e4b494a9812ff060be9c7646a7dcca4711334e50460f0c5028fac51d16af5dc4b57bcee1bb0c7ce00b3b2c9ee595dd3866617f1d7069d65e7e55ff9847213fc6199c022036208342f91184025fd061ef18a394cc41066bc12fe66076d19f5398ce41ce9603574a9cfe4e6b428318072f3fa64cb1176d727d0187e59763de24579d425431be78c3927c39e63e0bda415312e820d2c3479031841081c1176ef0c44be5b19ed42613b5a1d130d9f0296683ad63ca5e3c31f9e1ae012d639bba59acf713aae19cf728f24da8129a7d91063d4d3c9334a5eec5be4083993dbbf49294d176ea2fcef0e7d1699d357e618683fe52cb789ae514e51765309bbcd00d32f87dce5f9021b5538febee1b4ae9abc6a0f7e8bb4c2f5b7c9cc5707bc699fe65fa89ee8b3060e9c227cb7349d5325f80e1d5cfaa16337f5b59075f7c210df52ec79c7757b3a42fbc9076d079dd72478c88bfe8c239525d2e0fb249bbf7f13d38f005171ad17255e676882fd9163ecb6d51c5e3e8369516780ff32264de42744e16122febb768da4ac8aa58b8b468ea35595dab7f85937e41a76c71d7a5efad5089fc794986ce71b5a98269ac44e6f5f0f89d0a7bda8e2e880cab0ba780901ea784da96d4673952c83fa66dd1741d85e3ce9e8e50214ec9a0b02ca717253696e6c9fe04e7f4bffebcf36f754e404939a1ad34ccc84c36410dd76b1d748cb13bca04fedb35c9594f6bed9760d8af4d3f1b723f434a78ebd446c80b9b113a49309ca6d277661ee3ca4860aef38b6dea1c612984fa8866d7642563846fc4878c4c6e75625404b3cb8875daee502a26422f379fe592bab297650859c8cdd8629ceb209442706bc405d71783c9d68280c70bb53b2dcfa7a94048796a78514fbdec31055ffc409127ab6a19b42832f6850f8cd172cedea25bb71cfa48cb492f8ee16f2ddbeb079372054f78b17c9e79d6f4415d3c3e10970124040a18c240421004880828943280f8d0b127bb58befd582e4b3a8bf1bb102243f84417d69abadb2435e7fdcb85a97409edfdd5a25a3ac1859aea6a566dd4c90e9fdce2a06bb4c5bccd27ade5c416a99b3d711ff38b1934649cd4020d1df33a93bfc620a5c541e80fea7174ebcb3a99c59dee75a63fe6556f61129cc8e2ffcc9aa125a16fb4a0935898b7ee65d5f8973cd4b0d8731697d45b4bb29d3d7945254ec9a509290f4e5cc17f465132e6d18fed0e4e5af15a887e66d0d5d2874f58d14b193d6d8554bd1649e16415cb499977164f4f4fb62a5c3fdd32111a2ea96a87154e527159ba68171f3ee8f441c5fd9a3f64edab8aac4fb1bc6d4e1ef3498f392c831353f477c26ed73409972fc7492914175377ee9c103ae8ec0929d297eceb636475cfcbc928d09ce5b423456cfef64f448186c7dce28b4ca16b3d09c51bb2ad365a922eb84d830827a0b05be4fd68d13bff73f20974f82c6dc9521a3fbc73e2890579b23f7b3c5997f3492750275ed2c2e73ea174c989ce565dced5e7611756fc6413b898a3ec6d70498e5435b1184abdc65c57272dee38c984a7eabb65a97e4e8b1626940dd173d6b3a3859bc8101d75728973f6e64ef24ab3e7bc42a1e05284c70f11c241eac41287e9b17ce1d462befcc04925ecb069c485ef87f67f4289d24dac6574b6d1a99f4c02a5e5692243fd47d59c48c2a42ad48e12fbbf742b9158927143ee4db9e42d3e81134854ee2201946e0eea2f8773d73c0e7a0c2972f2083753ad54b7be78bd57780ce941a138e25199d43afa88cfcbb39032281426c2cee3a4119e3af70e510ae14aebb01346ace1ccb4243b6242c76fe01ea050867ce064119dfe9223d485cefc5288044e14a1a93817df050d5b2ded4c82314e1251ecb7fcfac183e6963b4144ea2993fcd4396a903b8c934314ee9db3746332758f28141f3ebe4f0cb1bcbf17e61e73ad42307468e0a4108e76e1b42c7a0e6a6c42606ea732f7a533703288f72a74864b22eac2af50287ec60f302894337e709d082297e2d3730b6a3a76a42303148a7f8f20401a00e42410fea3870d7e14e1f1a347198f0470020837780cadb72f277f40468dfeb722838b2cf5008282149cf8a16e39dd57c717a1e7eac39b559bb69396dff30de4840f970899bdf5eff665dc43fdc2c6ec59c4a8e6f3440fcf5aa7efd4d46ae3e681f5cf2c17354fde89f0a07ecb6234173d56777d87e47a747977dc4fa7a642a108011284471036430327765043d3ae502842fe8c0b9cd40133f1dd59ec509a1fa78356233ce65c9bfdeca2839339f0826712bba646e3d772d0e3ef8b7616a385e6353889c39267113aa2fa47456cc6091cd2627ad2cd1cf7adf2e40d59a9e7f8b3f3c40df889d07c59e7edbee5a40d8885965a903df6e0840d28bff0b693a2748c2e443859431af38d8cadbbf3b2b08f31cc385103a674e758ddf8671afac1491a966ce664b9a0d4c70ed300c2091a8ee93ac49fc6aec67606276730ce6354be6dd02f7d192766488f0c27cf6763c617e3839332d4829227366e3a67a637382143a7b21ed6621d327cc6c918aecfd9f724109c88c1da4f9d6e1da7439ac2d0e968d022476edabfc060c9ec9d7b1bd2c7d2219c7c6151643446d4e5dcc283132f2cd77ed0b497ed42bbea9be38e76f8f0c13cdc998590516309275c307db2cc23ae3f351818322404275b3883a50533b8982c2cc6203b68c177bc3b2dc20916369db72dbfb98c6bd08c1e952135c8410ec238b98227ede553525ed0d013912262e88915fedb0e9ffb478e96f20a8592e3a40a7fd297c524e55a4e679e50818d6d962342445fd29c4c211dd387b38ea10d4ea480e78e999a05395d1935c249144ee15532092d4fa0b0183f4c6bd0d224363b79c21ecbf4c6665966ae9db0a0a48bad39e7900d3d07274de0b4989aef64cbcb634e98a069965ac29266395182e97163cc2ce9a079f5318214f1d7409022fe7e849324947fa525ad71b3e6324f90609eb717355a95a9673939c25fa147e5269d1801f5f66b712683bcf5c749116c7b1d174fc8ce403c88080132e484080b3aaabb78fcaa2b7108baa49378b52df5315e2742d034ba3033eeed65ef054e82b0fcf11fefef938ecdfb3801c27f62358d79a92a8c931f18c24655947e7441f53f4e7c908cbd7d764e2aabaf492f105a630791a9540d98f062d9c492001926bb584e85300f65e57eb72ed6b20a17f7c3cb2df7b92834f495cc6c315b1f17c764699a2bcdd4dde97df0f0c14f6448193f7adce293d5117db23c9d8c2df498e4088d6ff6b2707d19425e8c1b98d4c27659d02d9eaee7282d0526b438a9b817fb948b3c99450c93596cb99b4a878c482b8d892c8c79348bcb59763977042c308945a5596061691609249357a04f5527e562798ba662e28ae52f9742092537768654c0a41578f2a829fba23b0bb202ffcccea4a5cb73ccb20a2dec6b64f2d6e8a2451569a6d9557d7686d92a140a0b4c529110f3a9259e546ccea322394f1a6adf222ff8a758d6a07547a6db14c9e7855facceb87c293ad3ce5b7229292ab9921ed235c6205482c92890498b2e32b9e82f8dc64414ea75f2169497c616fb1998492890673affebbfc8a4eb91d604146709b3ce2d355ace974fa0d9848e21364d4ff4c95d3817649896562404088fffd1c3c78f1e269d504fe5b9dca27ada68193f58080f7f2044de8413cfb57019a4db2330d984994dc65bdd3439ab214307911fa33284c338269a589cf3b0e36e65021939fef6498759f3547af0d8800926b47d394c4798661e2bcd4d31b9442ad5843231d25ddc8c25902e66d3a6a559f198450426953056a86c4174e7a4b4664209be44d55b47ace64d26917dbdb7b439b75b8b2692c8ceda6c5eda53aa469348349a5a9079ee5c8e316c02894488ccf1f4c7b9b4bd4c1e7196dcbf9e950fcd413b307144355af3ea09a1779d35e2d0ed7de23cd7bc58173161c4d266b1cf62e6af916193452c6a4327e5e94ee78b4c14c1da7af6a43dcba7613749c4c18377679757362855032688f0f6b4668c8d2b3b91314c0e5109b7d21d7ea4b8e45209818921d620deb48cb6e97a7f082685588469c1fc7c14820921dc2c6dae77a9345ee9a16032084d34b5b8e1aa5fcc1f419c468c163efe81f8c3cdb9f8be68d08d09209095294b7d92a17b347f60ffa45bd5ef77fc78454dfc70d438ffa4b49893279d3edc92122dfc5a7b0e2d65c207becad37466b9d3c8914219a28304267bf883facdee63de397d267a587737de4853622a9b1698e401ef318d9763e45c344582f098818f228842d9b1c307ff103282c41f0214e400410eff1f3618417a1368c2040fa7efa4743426ddc118997f9773a766415d82891daaeb7cf1923879ffaf124ceac07f59f6cc5a664ec22398d0c19664d226c38fec166e2498cce1bc21cf37f4678f2924874cacfcb5a43db8a4a2491caefa8a9575491338a0be36346b84c817f41ad4a087062894b53a81c91bba4fd53267e9612ee58674777d5a8afcbadb6d40b3acab3bfef9f2c808f91798b0c1d42d8e302d8bdba636151e4280f0c880c91ad67e397feeeea657266a6063c8734928dd555a2e266930f4c5322dfc759bb85428941b7c6503266840cbede4a6c9d2494f9333ac664267d4a5c9c40c786cb297bbb7589f9f6052867df4425a9b0caa745fa15080989021fda41ee35767743f7a54783c0e7a0cd16186c91896fcc37c72a9c5e419ae9888e158311b4e4d87b61853a1505848c5240c5aca7beb282118b2147fcd25349674b92fa44e7f89be8bcf67232f382fe6e6ca14f69974baa08b6d4b4a7c5f78695cd0745a7e9a0eb66be316da183d7d43d78beab5084cb4509c888e964fcb9d59ce82ed76aa83a6fa93df60a1d6ad9774f0b0b8d1985c21215547c8c9f8bcd69b58410f5e556139488563461d254ce7245f43263099c2e9c6467f6b677b6ec36022853d3e83bbfc52b6e8ce240ae8cc28a632f6896a90091450ef4c9e507a264e38f9890ce1225db4d34db0f7259dad4346abed4c3035c3e7ee08f124c463982c619d0fddb471d9c5974d60a2044ce655bd5d68d9944d92d0e8c6d4e59ad4c7db3c86308f337e0668820483684ca66d5ff2edfc084c8ed0cba9c2c5cc716a73e6021323203edca68b37753249a488182a3029c29ed3f76878cd1a4c6442040b914aa8a412b358280e0703613020000600c1ab9d360043110830483c2491c60332d16ce57e14000044362462502a24321a1614c782613818120703a250200c84813096c42014c36014a9f6e5c605c529eda1e65c433863fa5de3249c5ca2d6dce6c35c5c1938d226a76310204926e09b40b5bfc58af97bd88e33aa6dfa72d8c1e8764a98a7e862f1d2313e62d3f58522250c717bea27428ad437f731aae3698e1682658cdfe28275570d06a9447b88d9d60c4e2fe6e0b81508c38a06d7b39844ca86be07a1e1836d32571dae02ca9e1109f351afa1521d5d412f963a68c9b0ce6651e404dedc5e734611bd7b66a1f123ae7cf1dcfa8f31466c2cd60cb301f3e4c66d09e6de84a82c2e48d39f1af99dc07876985213fd3697c37911337623748477886cd44344c4c1e592cb30fdb7393ba6d4abbee2f12938b77be7d119056986b2492f66c2f21d3b6698552c16372e573e165b6624752e1a664868e09fb8a467ec85796e6f172509c43e2a4af217a57979ed4e566f9baf5b5b16c85e0a4d39c4d15b969ff869e2c9ab57e94adfa221970d60be9318483967684e10e9625150d16ea701df20ee208b53811a01a69336b60a7aed5e45b755d5f8a40ce6fc88158be11871c5de1833414279ecece29f6698d0860e5f33e49872eb3b26711568e069d3bd7111b3e22f658d0a322f73287fb36cdb61371769a750669e97db8d809aa36e886ba3aff158b3852de6b269a49a3798519a753428dc50d2a870f3a286626d16b56e6a31decb37f9fb6d7014996c997e1fd2b144d72515157afa62e5069b05150c17c74cbd322758c0ece3943ab4afd88b47fd77f316e8b0a7755e603c7f2b9d68db524617bb3ab269871121b57e331392a53b1edae4fdc4ca44229a959970109726d3c795d77f7f131ba1347f8c2376cbf07b57c05590c2662920b6d5dcd62eccb4faa7c25eb94be1b4c0e63c227549ad93bebb18189f7453e3d0ff23200dab2c7565088131a550ce808d15d81d648b6b8f4d45bb358e3fe57d3eb673df16bcf49e2e2fe0caaef296026cdfb05fb640741562f4f3cb85fd7b11915742e832dd6a52e6a6eecf3df1bf44e3c2df228358eb8e31cb452edf03070af1b9cc6de2984246ba7b394dfa51e6524bc852051d8d44d5abdc74abbd6c87c651c18f360d76ba08e2b53dfd6f9728a5a2748d41b4c4c3abb7795eaaba62c98954ea34a98aa1e3731354864f78b4ea0d29d36a5dd3bf8ccb3ee206bc073905a2e988f5641eb954d17b4b52e821cf1180e29859c20ad0ae377a205ae8648356fc5b9d392d9a01f4a7d81b292b9b550e5edadf7edf0178c9cafcd5bf1c0f82a6ef7ca38e3900fb293042e3ff45830cfedbd5446b26923a499576deb78335f9825b2dfe75a1ccb5a3c0f34cbc58220b14b89e19d26ec7666ac4717da2343a57341679c9092ed9d396c7f8a84683fb478ef87ab689d83f8da897c06ca80b75a493865595999b9ef802bb0b2d24ccbca0f77013b3ccedca8b0872ed705a56c437b81787a00f8f7a4ad86fe619878fc1cc637019bfcdf1ed5aca4f512b73521550d002115d28c8b9cb7bb619ea07f7f120d733fc3f705962cceccf59642e7cdee410926fdd9a0c1d05bc0aaa51b4f337733059eff5137d17fb696f97183cae4c3b50f960aa45c66928853e8764674b6d78a99734b53a77ae3ac5f30d9b80eabc647efb821682d0f2b8f0aa76e480f0ca30e407cb435460431cd57ce57f978f42c698c54fd1d128085f852a9f8eb28bacb446a7bb914942f251baed9efe72124271e6026bddb481485c0f9de03aaf75ae89acef6403c8ed1c3d439e4fa5441cfbace84186e48922b1ddb8e871168ec76125b67e720d9c98df269d3be9367260f864daedd39cd11b0d1fcf81fc83c5d1b191c75f573bcc3e78ab98f96b628d0246a8a0b85331e57022f9e521cb6006fdfe9778b7237e31ab882e6dc5e482adb046eb27b5162c1e38ac1a3d56efb1c71b421e10169f24ca3b1904408445d6469f83f7f5ed82c467fde9d9716931ac28326e9bd8c4f3f98c44c099012f29f4d1a55c98c55eeeaf873785b83dbc41bca7819d411ff511be3df7f9827c34a7ac7884de2604b54bb783236f09b70b2d7f6d9124dad3389ff93e1b484b54281c5daef348c0a4e307b482ec6b0f6d11fdbc2e8d0e9595358a66c9a534bac89de734eeb6f698c8a6ee7b42270092dea36903042f9a43d4327b4c22a6dffc3a774176884124a42d809edd3f78f0522220a45af0604c239cf45f47b6f91c2ca790c6968eb53140386992dcda25f8f75afa55c41cbc136e4995c13255b764ff0e890281e253f11d54ef160caa4d95b0b2e267f5a02b7d2cce2884bf98808981f14d5d84aaed42237bde5761984de73e53df45f8036868a48b01a3420b8779cf094585a2c6af539a940bcdda77652c782efa6d0ce0e540b49c1e4c727d7b50809538c22cbf5260a15b261800e5dd621960a3a05f8160eabc1dfc94497c894882864d4695d0cea62f796268ce3e87832306572293458e0612c6f55a884d5ba7564fbb2a112267faa5cbdc25863e940c10eefce40d8a1626d6f958be6a40b21f7a6da06b799d480f374f57d62e6d6869710a61f357c8ba3da7cdcbb7d4412ddebb76e1f68ca78a48212d124dd691f2023a0f0f3dc529f0e5cac96cd0d02277d398b7bb1f14505012c31aec864a59c9d88da6c8009835604089018382db570cb35c927727f80790e7fc78cf80c2975dc591607e47614eeed1cae72d47415d3e7b980ed9bd5c1d0352904641dae183925b5c59807e39798f39e46b15a508f975d7a4b8ff127e97af3eb58e93143f8ac6b0f211ba6a2c8024d5430b373aea320b8b53439bbaf46436c9f0713c2ba402980a48397606507bd285180092d51aed5e2a9cda0706d795b01705bc047adf946f4483007179ae73835a42a30a4c95ef48b616e79bcc1be56b0fd7e40f838c3491b04b8a96d2d0fdb856a573aaa60a135ab9aead39ba0a73028a0343af07bd49003b3fecb4386c6885e55609e2afe4b9338c97da873b7c731d08f28bf2b488c1bda7fbaeb194ee6e467cb9169230c228ed4155f9527f9e784e9cee68bd9d771da8e4fe938476e69f3ac7325a2c5ab857a3e3c7c0f1a62dd8e21635453f03d4a506f2967632b0bb26c2ee6a35ddfac3f3eafb057074382e72dddc6d9df6fa172aa4a84f462379e15c30d21704ceb4b2f1cd3430216e4095e8906b48499139d4d8ea113ff2169921568198039b06dcb7ca91dbe66fecb4becf0f3e026bb9a0d56557f063990562358d1d8ff90560e50514de285e0d40bb3e6d3cc2f9f1aa9e45beda48c6d59d8971ff7f4935ffcc4e404abf94769134e0daedcaefaff22862e43ab2eea895af8b2443dd2426389584136da16b9ecd98740e66b98852280aad024cdfbc7fff2ee8f792b7de8171589d60485e5071a5e5c143ff372ed3e8fa672ac48e673a0afbd79f558582ca17bcf91a66b5ee748298df6bc2a8a5d9b9b7083010182d26a1e984b18700075060027fb3fc6edcf4b065cea8150bb27a4a8cb095508f0c6b409805e955b8bc8e193052f1ecda82ee948617686cfaa144b957ee4f589888ec53524872d94e537bd5d0ba943e240bcda540894a8da00efe2bb25cdff3324b09dbdfc446d8b10fb1d6860db605226e35f8b36d3cad3b05dcd43cef58e617f7b201fd64ab7abda9aedf475b9ae89ac7f050215eda400289a415c0daf300d6be81afc8bd0a28086eb01e8e2db6ee17343599ba1b50d7a94ee14929f325e05083b729e6e6879f1cd084d6139638d7e6864e4b44277633939533abba2f39ae5194e813ac43adcb880851ca9999eb01871f49f71ae04542092490092b6f4883f5b052d6f133183bd9294d363fcbf397c5d0f698f2e03b40335da0200f98bb4e5b88589bad854b0e58766588b79bb9ca246a29440181e9626eeb065d83a72a393936f26d874ae2efdfea957ae4807aad8caabde80d3fffd197a1bd31241e6348f6a2fcacf4a31f78d97ead5540548308ad2713674f80c7d875275f9bce5df323ef6c3502fea862ef8568cc5824a4ade074fe7fa24d10d58ef76ccafea3f031383d244500b5b43979a6c33528998f7b342f4b59041b3fc5b8e2224d3aebf14cf766e6e1f2a0111a6b93e188738fcbc094910cfd19753c988211a8b7de1d41e814c84357bc376e1ea3d03b8b5cc489fc343ac4035fa2aa30e2f71be5fa861f6c69fb88ebd2eebf8392831ca3ce7db493170dd642d79b1b45ef666223d8a50506ceb9a3b40ef586dfe715a1c4111c343b365f3925c838925c71c603aab6e00d124703c4a43263a839827d1e20cdb9ff274a53b7cb28a0cb2a2dab6a17c0760218662c589cf683fb14a348a10ca9d685cecd5521592b0f66272e2c7085c2b104801a9f456450f67a21305f7f0524ffee803b1f1709338758956e488d59452276ef1a3089cecf0ca20a78b585ec2140297650987ea843c855acf51f343c74b93be67096caa9d511557ba12297f309d3adfd3ea17d30f2357501f279e09592ee295ad09030d02ec7dd4d5409c0fde08462f6a0774ad2602f9c1fd77d5937551e2cc55065a9a2a8752b027879ee05be6d21d05ae6beb8812495dc865a9baf270999bd18aecb28e0b5e74a851296582cb75915f0b32003d51839090981a4ce5679b4de17c7d653fb41e374425b20b04ec90a97ae82caf8981743081fc08d26405e95c67510a9db835b5cec68253611ac27af22936550b9c28dc7b5a6666c0300609b10344f5634dce663bc04349265da35cf893b841f420a27acff14f1971e1a9680f21a9f5fdb0a4be3b0b0abef9f5e62d669f0f9b5572d0c902d01eadf180b0052e0e9a04c63fb8a74ebdf68a7398e3eaacc7e5c1eb64afc2292dcbe82565b6267bba2bfd81cf205ab42c878bf974db611fbea2055cbdc3b8835a4e8004687be99486d3be9fb3b3a028dfa05a1eb44a6ff9472bfddbe0aa90a4cae71d41d764845cfaa19636f112ae7e13dca39b23ab9f5dbcc691629014ad020a451a6b6199d6afb00f565f30ffd0236ff632e8798a3a87b1dc046cdad5baf038b76129feeaa7a4d4c5ff10664f461fec81b1a28ab7d2aea76d173b657ef3bbd37cfd6f58601d64694d10a7a93bd4c00ced956c6397f57d8eb7e096104e3ca6eb9499841016454522c33fd685d487bb9381e6ba99c7830cbf98a25e9150555585bd1f629d4b073d4b4cff5d6f3dcde564884e652db43161c1971ed335d0cd130da95137d7b388b154b267306c4ab1ace5faa326cacbeab7c9dbbd53631a203ea08eeb0b9ab27efb4ec7bc923679aca98f26ae37354cf9724aa5a1f033ac950c1754bb2389232480dba1e3f01e40ae5139efbe395a4b4f513ae66477563ae7a01c437b107dd0ba72f6975084e897a0958f0a42656e9f22fd8f4f4486e2ca378e0806e573ed0fb359230403b229f5e829fb44f30852b3299c25014f517b4855548826dbc93dd7c38e2c0710a43f7153c610ab5a774bf1f88075b41c5af9c98256876b0bc6d4190ef7c258397bf12f629beff885d82f91b8f9e81c6092c099f0d5a81a2e8d4b261717bbe30dc972e3b246595c942175d1cd2cada2b6956c7fa5ec33cd7e5428cd07fae4ad7231f883e55b2be57548acec731cfafbca2f6392d78f35aad6f5c960bd779199da8bb6904abf649693fc5b08d272abad9687e8ecd68510fc796faa3aadaa804a44e44b6e99393f0a89b5d687a92d744123334ef452a0be68aa690e954e6f2fa7c8d74b522225412a9e145a210f588f176853410c5a3c0328f42fd98eff1b214df203f9a3a45dc652615ecf214ac2450906190b2ece55b1a2eb9f83eead8be84dd6bfcb333a420ca6cedbbc89e251c60c41f623e9e5fbc4bb7ee9e4e9712b9196a606e21f9dd4a17f2400100e27bc6451b3abc4742f24c9eed0fe4d239c12f7cb15e9408e7988d06349b15f9a938c68e4dacfb2fba223f624833a3e0a2bd911b5930740675f9bdec2e51416e3e570715342985dc2909883f57d79972f35ad49b18bb5f33347093e06b3e6b5efd9bb2b7b7dd493b382cd48cea28172999fb53c1ba963e16bd8225db1820dd5989fb4fd8e3e27433d6f89a8588eb8684879c772779363b28afe1322c87703576151cb69a06af82235905c8bf3b25af36d1f23fe7d1e7ff73ad8cb97af2f93c568fbec02921b9b3120c77c2e37a6e8f4903b823a4833bbcb3699821707a76812c317501598344d6cd0bc1317c5ad41488fbe2b985c2e9073550f455ecaf7f8fa80f8218b5889e8f38ac5b42ea6d66c2ce01d13fcd4cc7e4b76ec881ee81c884cb6e5454310034d01a7ee15d721b818e02d1f1f39d3e9440f8feef5970e7c323dc40f4d6398cefecd4e88a4e2c0530f286ac7c4a0df2b6a2ddd95d691a294b039d23678416402b048d72572b5825d3aab41bb7987c64825dd7d5c7e210502b1068a08a8b86e3d1b9686d48434fec59ac828e4dc003bc5cae3d3156438515bf45e85e4fc5f55619990b70bcd5c0cbc8d194ea1ca3a63987f9af396a27ad7f4c1518485a725f215dca30490de8f02c6a45819bedcf8f856e1584bf2e50d81fa703d2835ea3b10f450315aa2960eb0939870749b67ab3a3cb18cee8201cad63ce2a02b69aea3b3bdb8c407225ef6057da7ed143fb8fb286d85b4b8812c9994f2e91e26b422b2e3b0c0aca2cf9e7339bf5adf55ce624ac3aeaee270239468b4a05fd1fa9ce62af0bb71585d5dac82d5ba9e38cfe08275096c1ca9b85efa39c204a70290e42337412b252c461cea0c504895f8d92477f99e54aad9bd5220cfa2170e41ea40e8626284575fcfda17d5fb6c6e93cdcae616550ae7fc5d2720ec3f922b64a563105db64be1bcdcd33f8db5c421a3e1593be74b6afc96b31872e879f9dbeaf0d9a89697b2c18cab0959235789c1c535afdd09c3da376a63422ff6d9aee0e34df7d79e0045a8d73cd28df9cd7875e6d0b6c682c14fc4f036ce7bde9a6ed003c8c69a7801138cc0a51a270e047b074be5eeabf9a06dcbbc2d87a714f2bcfd2377000cc79c4d89399b2d93e2601a3231146a7c2e240162a56de07f26e4cb14187833570c312506f4f48f8ad46edd830af6984d5c00cec6a13c9646f5149686dcace4076822e2a2826b7b40d3ca1765b7b678bfbd8dd59a18d3df1f5cc73c1b4e64ba436e315e2edff46f07cf2cb65caaa2629c38386384fc520b4a76bb870342bf404370892f824e2250f84ca77e42351f307e658a6c38ebcd4c9ccc2c265b18d99bb5223372dca1017020310e63147c6e037aae94d80b1260a99c672cd537e150d29dfc1925f4a4d4b48456c43438d8e435e4cd14f2635760e267c2c7e51f45c777b9b25f2218c1dd946f11efd5f52a17dfc5a5d6c0a628f77db89b2a75972cafb1a20f21cf50bc3e841ab4c21430498b2f4b3cea22625671f646a51eb07f0eb28d5ab7a4e52af18192cffaba1471a5b7a03f0e0d681c4ae05ee75ae5b7d208e16560f3689c4eea07a898a2a2459e2e57164e96fd340119c07eba430b708e971f1348164ee1f8e7a700e8dc0ac378475ec9d390571838598fe24e05dcd4e4c5d5a7fe9f8297ab298f8b6a1e38f793aaf658a0b009652a535c891e1efc7f8fed4569e15478391e66b38f6eb5747c2b4ef56f7ea04aaf61115aaf027f881d76a3ab6b76e73bc39fd92b29816e177f22a9721054a135e084d3a6e292900fce5612b0505891566b48cdf2148268bbb83d90677a87faefe7ffab385818a9a0190de4edddf8155a649542c527f3596527609110d4c871bb09d54aa4a96dfe4fe1dcd32f4f7440ea9161b423c57acdfcee1e22ce94fba20426d627621e52ef9556a7c529115a85abe9d6a2e2a3723ad96efe82ab43f52e83e517a14448ee9a1b0e54a5a0dc592e13fd471f1c9c0a5ccad6e154e6e213a0bd658cce8266bba7a2b2d3c88a30aa727fce23d23c6c3556994e80e1f21296b3833fb058c39d389cbbbcdea118d83f6f4fd4fd64b093de0a66bc6c57579aae6a41c9174dfa7650824b82abb7c290450f15560f5c9c48b4c38a38da118d7e4fa66df269cf2c35e6534cd5a9ca4786ce805ca6836d75975263d1015d6fa1abe320e0650b41c6520d919dc2212237b146fd08afc33a1824834da48e46be3810327811f783e7f04f9908a0a900e1cf3acc2de0089638c0eb7ffe07ea0c1a9858aacf65f5ff9c1e43e79f7bd9f046bca42b17439248531a1451c508cf8478537cb9a1b4866470091ce4a60fc77392fefdaf224c76ff81abbac187fe3421852aed31cea4ecd713741a0413675eb08e58da0412ed10c643b4b69cf023301935126490afe4b6dfbb81059126421b2f14d48cd6d7d5b51111f9e6662ab3e20f34ca01762679a44e0e572ce5a5fe0a1eefb08929183b30c8c8f0593c365a1df5f257be6db6de34de6b68863f62ac8571805b39e910b10cc9c21113c2e9ca5de0af65c7630afe2554119caefa35ce59b5e38c259f1f9825e354fb2b7e309c5b34a86305f1484d88cc789cebe2c3f65b0285e27480c31a4d3f798ce5418a749a4c44b24736c3ddb829b8556289e97ce0029fd13384017c9b271e962e0211b5c78f17b023ecee8ae87d3f0c063fb6d9fff577f033386aa008e1594b3512c55da0a05b89b02acb3e0a2439c308819dcc5800d83f2d0412032c372580cd91c247a7a08ce32e1a71802defa14388f00c3be9c80a03e1488ab9f8fd39b2277ce0c16ca35b2042be9dca341748d2e75feebb39ebd828922824e88ac6929561c956d2b7b38baec8810701f18da442d82ac222c8dcfe4e5baab3c0945db668700bd510e0d87917a09d344e8aae2e0856c63b41b77a798a46fc4a34a0bf7f664c2700e866cabfa99b74dd3e7559dabccbb803c7586f61624347a121ebd79759692af3cd866ba11b7b1d045a9daff4ca14162cd8590290aad1fea79750769af8ae92575b9d2b6d649435993018522f5731394f7b90d67b121f7959e8ada194e082c6a7b53f83c53e293939565fdeb44875a3d463cf4db6dbf6ddd9893fd9e53da080dad1fda09c17790829627d979a933fdaf5e1b912088a03c4e2413708b729c756137919706e741727c59ac79717cf5e2d671e85580eb56bcae3962fb6a1b4a13edcee1ea2a022505114a456f5d042e61d92cc5d0abe08d8a3aa842270610912bc526c5ae2fa32ec43e8322a6c54a82459b68c41e3f45c320f149ded134ab58fd30d2b2a2dd15b9f7f81f3cd7130360c1df464c5784a8f71514d6f743fabdeec806b888dbdbad38271056ae6807c4af7c99e4d920e7c4da7f841900c0bf7fab59e4efb2a619632776cfb40e19bb4e1b7cf06f83f63067d25d65fce4fdbf1751f2d136706f97366c787fbbe1fd138524ac6d5dd75f2d4429ef55945497904aa6c7bd41d49bb9f73babb415ae114eaab85e955683669066b3d7ca03915521100b1189c8c4c72b397638de12d2a103ffb80a98b99ef258df84c07298c0b686d6b4ea2b6dc6161b8c2b0efafa3ec8735e635a45eda7d2b957b9726559c2cc5e6c904134fad8d0559003bdb2ac070bc6aea01e872c2ec1bcb5a49254f464b1a038a86ee55f8d5fce42b9ccdfbb27a5c1d9c8ab242b39f803b8e8ce42b98fda0a8421028e3e0404605b9ce22f4217dde680f2f5152abacb61f0f1c768f52218b13600e6629e0109fde7e1b60381dde5b92a4ab0517766fa6fe49b17a2731c311a763f7ca22541519f61ba6a0872fbf91e0c541206e8a7acb422f29b1eab411f3a1e02b0459245ca6a04c357f3647d0155598c54da233e48a08f5015d0b5406915d4b5f4a0ac043bee5d28052a748bb2c62253b9a1525697db376e68eba2b413dda31fa9341437184f7e78715fccc46942f286682f0b11a804b2776fd5ca6b95cf820442650e8d75c408153466639e0ee95bcda9594845c8050930b136bc46aba0a60ed3b9dd4f28fa677368a1ebcb7a09f7048feacb39c23b2d7484afff149939a41cc6520c827924a537301b44d13b860c43f4371539474133daa862d3b984ade2e7119078a3a748f28e343c632b977f6c7f53d73306888cf8bbcdbea32cd0a8a2d602ec38de4ab1f3431a077b17e6bebd4c88306d69fc941afa2b0f79e80c84487ee8f6ee5ac5484e246ebab1c45166bf48fc134790a5721b628243d4c99ef2d9cd0fb65d13341b2a13eddad46af10a3446b0b2d6e533056c671fb96081b2318dacd83f365ce7b47396e33a74ec64239b7aa4e4576c7ab8478bb5ba0db6f3b170b557ca7586efcf8645fa2b2b6b87f93263726b1a786326de6098721fe0bba0a5a6b28867b808311ef2d302fd34b45dadcf940579fe4a3e612f39a5d398a62ee23f9122abc3581f322aa78a93ca99f28cc35b3e951f9059d3208416d1b498e5e04a6c977de5228c24891ad022ac3bdd8a3c62708cb8797fa0c8d40ba4947a84e2b02fec4647595596b6fd084d114c073abc0384cdf1b23999609fe2b28e43c21939968d615d2b7b5b4dc1a8623b8e23804f62bf26fbfb8d4ba86be801c704c959e289af56968a079e9534335f1ed3453f7c2ea27b1403a52a58ca24846a123a4ad5b91643996d435784beb6fb26e9a193454b86f212db4fdfe2505bac773ac7c1518a45d5881108f5b66ac579a965f2e06404276890f34d03e11aae9bea1119fb2b0a83660a5309457f959adb13b2af4105ced30910a15b4d60bb7782cd2061b39ae1ad6b5ab238eb21eb7664b24fff7be73d3d1ec193a79f2cda2b2af2ba6d3a902dca44b002c90cf08adab23e67ebd03bfe5c03a733756722cf89edbe7f1c336249a56da882b2a767781d0d6c01224504c17b78e39781921a05f954414cf85484a964c6a7d96673c8ebb43c5c82d9923f89732cbf3e4a65544734547916036462f8ada2280c0787d4dbc0f3a90b3098870d93ecdfa0cbd8afd974f70a08f9b8922b801ca5b3194fc4d6d6b5380a18d9f36eaabac9b53f1677896d127adedb6011ca581800241a70a2119f778df8e58fa5d6e1690cc3e54803063131538ee09a01da7a8652ea2e7f941294a8dfd1845df4e375fcdfc4d93e39996ef9bcd1caf2e07ac083b3f2e1e76799e4e0ee4ba029407e9ebf28d0f2be914237329c53cf6009e244b5161c94846767534caf6918865194f421c128572a28acd976e0b883c47b159437f36e8caf1eb285bb0c46385c3b69ce1ddd89a9e66a430e0db047bca7a3bb9c8ab9d54d0ddd941c37454d1512b7566955c0da90406dd0e00aef609e74b3606b1311f59523e410958067c7159b54552f09aa2893bc502e61b102f45d20c79f290e1f5a2445c0c5680e5dc5432a8eb817ba3da3c0642b4c5c1923f35a1ff7c0668f0133f2f5c848e2e16b3d4e3c8cc671e325039cc4f928ed0554bafc1e6043af0bf4dbce3a05e285626f5f19257b0c396b001c8ee16cbb7c83e27103d64798c1d3f174d6ba9cc35d7c6b79b6bbdc66becb2ca30c8d56a064003ea2b5b2a5e6c4df01357f6e5c710581df0edbadb58362e3707de2b30eec70c35297f9d2cfc5de5ddda086fb76f0c2fa366203e7251900b3da2262c235ea3412a0428949e98f49034ddd7080b4392b563e555740b1b8764f53c48eee543d0c33e012fd72d82c3e00757c983e2d8ea4611676f9674f14bc6013899722a29c2dd4e7b8330c0240d497322d83c99aadad406c1cb9f2de193e12abfd06d94a3199746e5d4ea3dcfaa721d157da37dc355bc3b159ad53b64b0866feb9c8cedc2a60d1a805a5591a58c85895ff8450f0f26a74f67a8ac953bf0ac2ab07a8d6537bf14b8fcd8dfbf6def934a2fb33347fb05ccb18c9cbc86db7c06b0e7aa66de1337e27cbc7be06edfe3b7c6cf9424621668517625fe48f7c5607994725e94927f06861c15d0d1d7f3a5b2f273c3428f95ce92b69eaf5724757ce867459a61a46cc10431e8e4aef260176a1f75ab30a226c68c9cd85b141abf7eda065a5bff4b81d0c4afdd2d7ee14a81a4e41bf4b7dfcd87347dad3e04dfaf216e7e7a784fdc8428c733659e183011401dbd92d37e5938729489e1036474d8385b1c493b064f204a93ecccdd25fb52e0fdb59839552ae4d8586bc25e19ff5cfc3899d1bfe2186f90d51c3ff051f53713184ca2bb9cf46c18ee5b69af4454b983c08f9f0c3b12edff0995b85716d50c569027a4a49b9bdd208b52f85d03058fa52607b5c1e972603aa0e806aa48135e697a07828048e0df032f21ef3b955265a142e54d9cc141e8ae442cb6ee900fa660554e50abe074a16675f610d2e5f616f43f453a986568ef2c1a04bacf37b2e48909f5050cce7a07f382a48b988a0796a181ad0258612a5a3aab9f82d9af2b94da5be7cea01f743bc2771e1a5c33ab3977e4e5ae4c36bae4d1c9dc58398c6c94c19a0c3d26514a9313d8d449bc1f424a8a8479456bc12b21b0264264edbd255fe4c02e61a9d7e922a5d709b5d47c7e3b13c24be0dc1f616c82741acf6604e40d489e5cdf2432e0d9326ffdf977e081eb0cc8d77681032c5a8d1a164259bd7de04e1574db9b1cbed77539d3fc6e941689d344802a22ec56a15119de8c3e26181c864adb182b8afedff9f7ca34af4b526747f693412d83a5de125ab6659b45fdc8809ef0b505cfb613be06d03ee2c4d4d63b20393b716a7bb3a91570dc92f8dfa71b225ced868b1efad4949b37129bc12bf7117a903ce1e7f1558e92e6f0356d1cd0285e74d2a77ef1fd986a7545c2df263eb6125608c0f600d9f1c46535af129f2851f1c3b7c95f72c1e235747006c133933664dc3a35a1b537583677b70d6b85000d16251127db03815255fefe6b65509ea2673736e2ea581047e4efab3b2d486dfb005516cd7647011d9d14627cebe732455b2b460b75311ab8678c69290759d540c280f60c70a8a7fe8a5c5a2c9a0c7dcf7101d2b3a2d58e9a8a0b9742a4efb84e717fa8233304e5d12b78660d310c0c8e925060cc69a4d8bf9ba0eb162521468b30d20d91d39f2f8f018e8c3e1a20d446b08c9da6f2d653cd73ea23e934f390a6ed71e2013c7b03964ca982b531139c440cac7cf82246dc8c960cf495a18a8f9440eb390d4d5d51ce76152cb624d37f8dfc52543423b313e5a374208e158103338fb46395fe443e66a86cc79d2eb8aaf92e101936df81c63c559e6cb0077f803c7399f0ca7644671ba119bc7ae6f115ed52458c2637985b1260a92a639d6722a48608badc8bf7c7b59fc190c99c1e4da049601cad7b18ea91539c02465e732d0cb454a41d8665369b401c086286766daac0dcfdd5f0a2cde1c0a751d305503eb67d0258b23f257e6030c3b688189607ca4f6b258154181169fed836040d3e8391108e9857fbd35b4bb1c24d018b8a44a90c5837184da992d9822e1e2fef39374f7d99bea127264520e7652f2f43b2d90028664a5bcb3acf3266ef706e72d7b0fead8a77ebf0e2af612309a4fd52bebb635c6940d9f82786aa125d15cfaae2ac848538b046c79fc41cd74fc4d142625621b4228e8973b862433bc616e3b00b3f022fe4318096de1044d1bf526013723408d1e2948c583dae8082eea7ecd5d5c49cdbe98f51b589bb5b2b72e741e48aeb7c95526573cfa5184fc50fae5f1124dad2ad5f3830ddff695fa9b5361e48b428450d0c2d4526878e197a120073f1cc28c38f1eb8667504c260ed0c191297892c2398c71da8be49a2829408dc24910546939ae7bbb99ac0c106aae9c0e384401c542d1c2fa50f19506380d03c17733912b70f9449fb23d59e08add05226b2835dfd5b039ea476885465773dc4436555c20121182ff48f7b3415580591d18da13a1d9676dd370e96ca29f791f963cfd6071fd2e9d0faa22bcdda85ed53ab0f8f722069a8170f1c081b7d606b2f7025f06fdf7c52a76795dd64cb54b3d1f55c35627dcf7ecda60659bea40fd45033d6ed0bf8d368cb30a89a4823fa2ece3d2aae337c66b19a069470c7541680bc46d044a3ac17d5dc643307661e9e3bba4fb5d55008107fafedc0d4104f702d72fbe1068a22d82d3e25f2942c527ffc99546fd7fd7b869d14e10138b4a4cf69addf6f215df982c49d5c7e0f0664efdf2c889e7258db767298a0c07636c9b00c9655adf65917163380f42c5a5647dc34eca9962f01626785400392b7e25b0fa7eb890bb8fc3b928cfdcf7d411663b75f916cb6a4f6a3cbd95db28d0d89c1932c7289bf504c89d2dcd8ae146f27dc4a67060e9b81dcec83948dd69b49a14b075534ccc2abeb32673e4776550e12fdcd07a9a0ac1d458d5f2cc04fa88384b6f7921e3743cc92580f15ee49378abfa574ea4a02584284e3eb820fe4340f01ab9e007f38f244fac07769571bee32585284725d31e1b35dbf9250166e68f1e1121be353242486c0b7d98ea2bd03e6cfcfdd8602af89bbb5f89d70f1ba2c149c23eace98c6b8c99edc127bab2532315916ff7a5f088ec636a5fd42e482ff0f95203dbe5d00dbb208b774c2e5526df1ca2c3129e3e13eaf58e40530012ff16f33bb7ec0004e388c984db4e2f1ed67348b35ef644ba58007b6aa2e5e1ad954391ea2ec21d9e72f24c230e4d1054c4a8ae189c69ce7cba3ecc50da5971a496176968405297cfad005c9376d48da5925af1247e96626113fe4eccf8017d9e007a041538ea7f7484aea772425220343e9a0a00868c4a7eb7554de82bed8257015f33b4f5fd621a1915fce766cc13bdd6cc5d4c3cf3073dfd4092ad95557f912cceb77873615a9527b92ffbf4490d53c621e8d453c3e426321dfc1367d1d53dd334eb4bc248ae066aa79358c6cceda19462ad4cda9212cc18a39398eed0a5e87c121bd3fd9cc22533f4c0f60388dbadf8b34e5f9613fa96666395299350b6998dff836313131ba62a7538f3076bd911586740dfc0bdbce1d884d60fa4cc159ba4dbfae60127d0987deb998aa67d9df9742b227bfddaf9403ad9ac8870639d7ec5ab8f388741fe4773972330c954fed38d1993509c35d63975abed98651bfe9a91258af81d0021cf931bc2ee5e76774d11308d1c004f5d379bb3bd423790f5509a45f645141005c714ae2286d3bf7c883d247052bd20bafc8a9b02e324daed4f5489873e071f3cbf10d5d048c4f663cff7f9523ba7ab92fe83194505ad6a2cc755f74b265777b7eb00f17435d5d2508dbd28bac1455813695a82abae2399d13b7e3a3102a56d1448338ea5053fad80e8d6b04fb04b57e56a62c6a33205535e1ac8b78f9bc9ac216d5f5350e4257f6d6c71aa1009cc0e552f6954e0d642e93c3adbee305ceda7971eb57cb945e2b4d20849b3d51952782638f1a9840595a48ece51a51bd0d2d7718908a85b0fb4ae7383a6561f15b3a4bec477f171133f41b2cc9e22193c6403bf45ea4c58ccd2fe3a4504100b1c0427796fbbec622d92aa0c0c09d2245abb6761eea957c09276c4d1a8eb8431d74638e64e79d0a453e84cfbb56b8d710a522410636e7a5ba832f0a505b29cbae556709eb938a349db0f012ba5b10e0fa53c42b5deae4c7b4230bbfdb5e5639e76231d46117f3e46b4d41a4fa597b0fb8f6c190339708cba24a355ea4053b3d192c804a01cddf8d8e18575a39e3c49026b4a882b4fc04c226a6a52da9c66251ee4141167ec31382e5afdf5c11a381816507f1f48b506f8992d8386906822445cedf56bdfa1bf46d8beacd70c4a5d6f28108b7fc03d706929a4d9c1d95272ca4de87263d7b9d1f544ec6b3c685fd141a2b69e2a6a4c4c11cd3e4bbc3e51aaa6f059d1423846b53a42fb06c159c2b4627cf6801f179ac7000331ea887c63a54cf21b3e7e1e6352adbf370674d6637294893fda923e80d69e5a623b8d7b300bc518ae1c188e62513d29144c79bd3708854e0a8903fd742cb3fd5485fd4bba7c62428721ac241b21e309c8b2c3362e5322c4a7b6a0c4088446ee27b6213212c024ded38607cfcd2a7d810599724c6bee1740374714a814b1660861b762a28fe9c9566f350f3337a3feeb7e8af0db6a2bf17e41b3e6db7a31aec525ed510b0b96dd4e3fbc825804257b22b204a7c2293f33bb46720979abc1372edbbccd0d5bcfa590bf276ed83ae659791b45fb5d20cf2b3332faccb02d40a248162a0750cc6b12518738f50dbec70452243e85c90c85493eb1b87a259d480c27711fc99e7f8f16d1a60ea1f1739dd09adb78b6ff8adac3c75093f746f4545727e3450f42e30b357f934ab642310ce72f1e23dd6b568095fa2b60c1836e5410dc110107d20bf1f5c5ee09fef9a90e8bde17932dbd4144cbf902c0b2ce1352d6b3c3dd911d5c9b5c6fb0b034e350b0556793707b09ab8d6b925eafb4ba6085032a1f8bcb442581b71b23b60814714c4ab997a42757d63efc8e1d9a909b25a354badd39acee18ffac1035b7dc1d1dee7d266cd6688d0d5249f240e1d84607cf12c037d1388564b6bc85f156e603322319e138599a55504a4f4cc0f3ce948299defc4c1dd14e4f392528c64bd4accf1516817f01c966fda5d6ecc304902ceebe06c1b594e5ca38b97b195f69e392916e51747e8d2843d677c66d5795a9d374098dc255a37af6c81d397d0f851e052063b0a672198e1cf1d2ba658167901b498cdef915837f380396932fe1de71d190de43d01f7b31a6a9ef4d42273d67ee258fc77faa9b38f593dc6a37cc92e0bc3f4b5f0cc0dfb21bfe832ba9433b8666da0317a2c6fdc3a3e90a6c74a4b2a772af998be0d4fc2d5d73eccdbbb10ea35f43948d8b6a532a3e38c4c43d6311d8fddb6946aa0165a5bf056c8f3960eb7c15442fab6347cca489843288fb0557fb9caccc154e4c380767f412115669b719a21b747c14bd2426e4dedb899fdf985a1a5b6ba3858c8d43a163470061865ed5179324419231130b72f348ffe9ab37fd5ac0621223d1ba2573bfbbb0ee861200e12307285ec1567d83d48395130b8053f6d33597f051fccc28b0740ec1551010f08154a430fbcbabe2a76d79806c55ce487551a2c9cd6035a5f957355f8ba8f80af70a88e6a89cb34c06678fd72a53c65e9bfe47dfb3f43d6552c0decb28ec950434dfd6088683f4846ba5286326293645b9aa4f93c09d5b6e63f708634305fe8d114defb95fbb3ed378c2193da463f33e5746ebd72f249c44f3e4a1c999a782b1dc065eb2d1a1af5bf5d1a54aa1013487d0316a21f5efcb43c5f68111a9413d5729207babc1790314ed784b43f266ae9c1a5046791f414a1f84547b6aef1e5553cc86f20927517aae9f3adcb3c8eb23b0830a7e45890c26148b1675b4154fecedb1fd6d655c3fb46e0b4887f6e0afe3118826117229204e41710f1e6b051cf95e681189e73b07487d0db85b9e404a83bb6f8d65a9da3b859176fd7541ebfeacc134fdd37097b398f93ecb6714b36da9865bfed858f3c914e4df6adc10253179336d857e12db0e666b893f00fb9bebcfb88dd829631ee62ee7c06ac326edc3886c39bacf0648f65c1d5beb6781c11e8f14875946fc859160880b8a1302c7612e36127b74196065812a30f5738bb8742aceb4869b32e2a731c2e50c13de772972eca300a997547a57d25c40511c99ee07ef574e3716d41f4d6b7d48c9c8d501b2b7aee3506005ec5b5684f5b65c2b5038f18da129e38ed689b5d4189c558805be4c9d5f529943dcc4ba159873c1b2cc856aaf5041a7c4d8c27e605c8a9651734f907adf2cea7d2e46d26521b42e4119b6b1450bef5022661b7e41316897678d821e9260953f4a7e10fd6e07ff7f464e014556003a9fd81a3970b2241d03333333333333333333631aebc1da96e5d6da1ea035bb934c121d9caf1cd0e8b896529229252969828e40b998d0b89870377314038e01a10186010250b1f1a49d59f3a6edba9dad76d2da6a4d978a9af62a72b2145285929fd4319b4d9eee4fd70bb9226748f94693b4c98d19e652882a5326489d6d6b887e89d01e26d72b77b187a94bcf2d76c9a747dae98f2146771a6c2c39b6e91955f5838f78573cd85472cfda33d554eb87f93d25dc16ffab96989e6c33c9b1fe297ee4eb1e6792b494ee507af407d3a7a38984f17622afbf94fa9b2179909523dbf456ec3a1f490aa9c58410eded7a24c1c611c4bd448d1b95824d23ac88fafb205a64ff2c46d26aad2a1df2a7bd1d2ed22abd3edf65727b3c29b254f56a86c8f959ae2e91879b3329334eac521122ecbaada2c66f6ffc87e4336544fd2c86aad613b3314431a65485a553288f7923030b38b03685bca657ea51ebeedad212a2ddbb491f7fb959b1cd206851956a73a582686b474f3e7a5aba43a409049f7668972f4b4fdd0ec84ab99a1eb794f269c91c6cfe687fdaa9f5c8ff392582b0f1037b8fadd5af9b12c2dc60d3c72ea5beceb82d634dd9868f94b77c89beb13dd2faf67fc4eb1961a3877a56b2ccdedf479db783ba9242aa38a93ee000d1189deacdd513383fb47d9ad23e4fbce8fc635e5e20a8c0f1a1af795e9f52d6576022707ad86cb9bed0e5b194560387877e1ca947a8cedd9077c8869466a722c47a711d1d1ea5fe1a9fbb6567542f2f345ab2c03839b86a0b9791e9095924d8f238383c8b9c16d98f1b7652ce0d2ce5f25ea8f6947f2ec7065c8c154299ee9d1af078a94d55cb979fdf2a0e0dca597563958cacee496786a79125d5f9b4daed441838323cdf09f316a6e4cfb30f162706e70759cfd531bdb5140cea51af2eed255dea95f342db47dc70ade6869215c78596da7a27760f6b9c8f725af0ed4ffdcd1f7d3eb58785d64f22af1f27e56c9b1667056ccb327525d266abca51a17d3953f175524d0b6d52c107f11f84bf32a1a7df5203f35a52f88026003236a8a03aec75b9d86e97ff94277d6952b6183d892934c50f91216cac7d6b322de5197eb343bde57d6f52fa9ef6091f5d4bd3b3709495790921841aaea21236a2fc2f564f2a1fd5ad6b6d4249445e45e9daf721fb9897172b58644c702b5b7ea66d40794e9d32defe524f12369f5c52eaf15017136042b8a0864b0601ccba786d71ca50be6be8687713b1a1e090e1bd0fe6628aef6ca90cc11923a9cab4fef61b058e187a9eab9cfdfb4189f802278c4b7ef29bedd24c961e0c64bc0e196b2ad5a8f517aaad4fa6fd704acf33e645276fdd14df7afcf8f12ed2b2c6bcc89fcbcd85b8b8cd7cb6e9ab8751b1dfe21a3ebcf93caea89fb5783ce142bcaee1635e67913ef5d17dd48e25458cc571eafe7d12e38713ae2b962f54c4949dad8628ad78bc57fe2566fbf57655f8a657eb8ff641ad2a51f1c9b98e965aea8eb7a7c0d4aeb93f2de6947c89e048814a21f6f4f4526b35770b9c2858bdb159aeb5d4535350bc6a9b4b533d6d3da67d4297ff5ea636b24b6b39d18ffa86bf8c137bb0b3895e658d0f7ba5ec49cb4c3cb75e9afac9133d2d9d25f8b8a975bd65eeeda5442e65c412b77f335c8f93842367f9aad8eea2e30709c43a5d39f357c6504b848e58777e34d5f7dbb9a319c78876858b59ade7b9a6d89116a788d5e565de545bbfcf9e08b552ed52dbd2b5f66243dc520c653a532f846af2762db359539797c509821125070ca4d400a30692422a81051248e14a4d8c15192c0da02a9a559202040490026bc001a086864b070304f0569a8b152c7de5000168b620000200077380a3c8c9d46c89a1b9020383809388961947a4e6690ef92e5966667ec600c79014b4f8cccf14e0147232355762689a9093a9e922d30639999a9665860b0c0c028e206bd7de3f2c79c5ac4a5c5e5e667e0b4c1799f6f2428345a6e68a0c1706b3e5afc86899c9e2183881bce266ecf166d6fe5801c2db1c696b426fed1e16f326f407ce1f6a2d4c551c3fb4a546ab8aa1aec6c963fa588b25d6cccac85799f2d15a3542ed14bb47eb597b3cab6ef443d51c3d5af3cf7fb0f5f2f25a4e1eacd8b1fbb5cf6774598283c7c31c1d0fd79f5a67cdb903559161b2a6f96cbd1d3b12af473f1f6dcb8bd23b75682e3b74eab7f669453a10ad8692d39f4bcc9fcd718df8e8f61e66bb30e558d7fca0b450ba1387b3ee47ad86b2d12d941c380ebd39794bd6ca7923315af9aca52d136b436e7027968abaddd837691b4fab47fb87f451cfbeb1c190fe52cc434f22b3aec11a42f7b89d4cf93775d4487cda3fb95a734dffcd49a3d97286ca587a4e0f42439def9b9935e69c81b82e71a655ab9231eee298d1a9ee5f650b815da8a10d2184104208214402612b8d01d1848410879041c83077761240a04018487210c53018c3200cc32046400831861001c1061932649335065bac929dfe37248a178074a8d881fc6fb6ec3d91e06f7b510d003e911f459895c4979286f5c6aa231e5c645b676aedece9fa85ba738f8134ff0ad605ac8b497eeeb0d1387fa3c7dc0e59750688421eec8bc32de85f0b41197a0dfa81c8274b2884e2b245be8b0cdb7a9bb1818e7cbb2025c820840c0d673125e9aecd20f30f5e93ccb7308d7cb83eda6b0c2301541dd69e85271664e6226aac5eab0c58c59d0a8e3f0b15ded0173e65e547e87f367062dd7cf4fb0c9eeb26874328123be04d28843372b733730794c93fa8802ef1c3fb9380c1753cde885f1bc683c34a4ad9f434f23d1e0bb588962c2c86f34366fe59e7c16f3cc966f3026ed1a82b3fe26858cad08e271b73509feb11976e264497caa4a7e5a39873df989befa930bfc4a432fd323db372ab4f9c113ecf6f77116a5ef57c5a6bb9687b9ad47fd986bfdc607f809648dd9c68d9e1c776a6cea6bd752b6939935863d3cb36ebf65ae7924a6b97630c95afb67ad0b58a9c864f0b8f47e4cfa739a9c0cb868f0908df8e267d58af0326c92e775ab670d28a93a35d3b21907848877a7e5c629db65b0a7d87c22f155ca62c44a36e05387d0c6d4fa1ad6da87dc66b07557accb25a88ee0d4dfd136f3547eecf26a03aada724646cc400b2958963c4dd6fa35c2b990b66b529943483a73d1b58947e4dd4bd25483fc6331b5110d4c56d1a5424e774f1659fc316a978b9ba9797fc0a2cb12ee4683da497391cce011949ed9ddd28f4ad5b4c78df7588a370c39b7d3b0da4256c08ce1fbb86c7abd56dad35ed65ea9c112c98433c2991368bd01402b1c5036d7830a0e8b7c10d3f645547f6d9e4dcdc6e67ef375b767c4eb8c2294ddef047f26ead9eb04c4f293fba434c9e825fdcecf11857f6ce356c513f7efe56b97c703a5ed098a3514271d25a4d0adb0afc11b26f58d52ab12f580084d5722b58363ad422580cad58a2299bf76aae24dbdf5c31ae84d72e7d15329117dff4b0f1bd0ac423f9a99637ca5e2713c08910f292c1fcae33d97e560697452e1d567f0a95e34ed2d1f97d6a7bcd56c1c4f6daeb6a55e87bf64cd4669df1f53d69a63e745273810a7214736210a8513fe7954d68fa5a6069e48ddf4e3765230a954fbdbd188e697270cd9e55441d802497253e657053880001b81b6168ecd3f6a357f586cebca04bc88b248f91e3d4e874d585380673abe05b8fe2dbfa6698a37c20d1dc2d0cf2b5b8d7e9031bfcbe3cf8b022ef4964b91d2c384d0858f8b13624d258556aca7ced92c4ff2dcded540b20321eab01429090ab0b206249d27e0312e411d2b740779e71fb84a0e38f6391fdbdb11f95028384f56250a7da83188c0a0c5c3174178f57027e691c7eb656640e", + "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x79e2fe5d327165001f8232643023ed8b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x1a736d37504c2e3fb73dad160c55b2914e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcd5c1f6df63bc97f4a8ce37f14a50ca74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xa37f719efab16103103a0c8c2c784ce14e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", + "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x2aeddc77fe58c98d50bd37f1b90840f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f0b20e4c324cdaf58ec9bbb3a1a1f89f606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335": "0x0000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f41537f3ea2172486175726180b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d": "0xb6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d", + "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da932282e32d73608bda32c7c926f206c352c64a40ec236d0a0823065791946f6254c4577c6110f512614bd6ece1a3fa22b": "0x000000000000000001000000000000000000c16ff28623000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000" + }, + "childrenDefault": {} + } + } +} \ No newline at end of file diff --git a/node/service/src/chain_spec/bifrost.rs b/node/service/src/chain_spec/bifrost_kusama.rs similarity index 98% rename from node/service/src/chain_spec/bifrost.rs rename to node/service/src/chain_spec/bifrost_kusama.rs index 3505195f54..d0dbdfcab4 100644 --- a/node/service/src/chain_spec/bifrost.rs +++ b/node/service/src/chain_spec/bifrost_kusama.rs @@ -21,7 +21,7 @@ use std::{ path::PathBuf, }; -use bifrost_runtime::{ +use bifrost_kusama_runtime::{ AccountId, AuraId, Balance, BalancesConfig, BlockNumber, CollatorSelectionConfig, CouncilConfig, CouncilMembershipConfig, DemocracyConfig, GenesisConfig, IndicesConfig, ParachainInfoConfig, PolkadotXcmConfig, SessionConfig, SystemConfig, TechnicalCommitteeConfig, @@ -96,9 +96,9 @@ pub fn bifrost_genesis( .cloned() .map(|(acc, aura)| { ( - acc.clone(), // account id - acc.clone(), // validator id - bifrost_runtime::SessionKeys { aura }, // session keys + acc.clone(), // account id + acc.clone(), // validator id + bifrost_kusama_runtime::SessionKeys { aura }, // session keys ) }) .collect(), diff --git a/node/service/src/chain_spec/bifrost_polkadot.rs b/node/service/src/chain_spec/bifrost_polkadot.rs new file mode 100644 index 0000000000..1ed5a6ecfb --- /dev/null +++ b/node/service/src/chain_spec/bifrost_polkadot.rs @@ -0,0 +1,238 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use bifrost_polkadot_runtime::{ + constants::currency::DOLLARS, AccountId, AuraId, Balance, BalancesConfig, BlockNumber, + CollatorSelectionConfig, GenesisConfig, IndicesConfig, ParachainInfoConfig, PolkadotXcmConfig, + SessionConfig, SudoConfig, SystemConfig, VestingConfig, WASM_BINARY, +}; +use cumulus_primitives_core::ParaId; +use frame_benchmarking::{account, whitelisted_caller}; +use hex_literal::hex; +use sc_service::ChainType; +use sc_telemetry::TelemetryEndpoints; +use sp_core::{crypto::UncheckedInto, sr25519}; +use sp_runtime::traits::Zero; + +use super::TELEMETRY_URL; +use crate::chain_spec::{get_account_id_from_seed, get_from_seed, RelayExtensions}; + +const DEFAULT_PROTOCOL_ID: &str = "bifrost_polkadot"; + +/// Specialized `ChainSpec` for the bifrost-polkadot runtime. +pub type ChainSpec = sc_service::GenericChainSpec; + +const ENDOWMENT: u128 = 1_000_000 * DOLLARS; + +pub fn bifrost_polkadot_genesis( + invulnerables: Vec<(AccountId, AuraId)>, + root_key: AccountId, + balances: Vec<(AccountId, Balance)>, + vestings: Vec<(AccountId, BlockNumber, BlockNumber, Balance)>, + id: ParaId, +) -> GenesisConfig { + GenesisConfig { + system: SystemConfig { + code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), + changes_trie_config: Default::default(), + }, + balances: BalancesConfig { balances }, + indices: IndicesConfig { indices: vec![] }, + treasury: Default::default(), + parachain_info: ParachainInfoConfig { parachain_id: id }, + collator_selection: CollatorSelectionConfig { + invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: Zero::zero(), + ..Default::default() + }, + session: SessionConfig { + keys: invulnerables + .iter() + .cloned() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc.clone(), // validator id + bifrost_polkadot_runtime::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + aura: Default::default(), + aura_ext: Default::default(), + parachain_system: Default::default(), + vesting: VestingConfig { vesting: vestings }, + polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(2) }, + sudo: SudoConfig { key: root_key.clone() }, + } +} + +fn development_config_genesis(id: ParaId) -> GenesisConfig { + let endowed_accounts = vec![ + get_account_id_from_seed::("Alice"), + whitelisted_caller(), // Benchmarking whitelist_account + ]; + let balances = endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(); + let vestings = endowed_accounts + .iter() + .cloned() + .map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4)) + .collect(); + + bifrost_polkadot_genesis( + vec![( + get_account_id_from_seed::("Alice"), + get_from_seed::("Alice"), + )], + get_account_id_from_seed::("Alice"), + balances, + vestings, + id, + ) +} + +pub fn development_config(id: ParaId) -> Result { + Ok(ChainSpec::from_genesis( + "Bifrost Polkadot Development", + "bifrost_polkadot_dev", + ChainType::Development, + move || development_config_genesis(id), + vec![], + None, + Some(DEFAULT_PROTOCOL_ID), + None, + RelayExtensions { relay_chain: "polkadot-dev".into(), para_id: id.into() }, + )) +} + +fn local_config_genesis(id: ParaId) -> GenesisConfig { + let endowed_accounts = vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + whitelisted_caller(), // Benchmarking whitelist_account + account("bechmarking_account_1", 0, 0), /* Benchmarking account_1, used for interacting + * with whitelistted_caller */ + ]; + let balances = endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(); + let vestings = endowed_accounts + .iter() + .cloned() + .map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4)) + .collect(); + + bifrost_polkadot_genesis( + vec![ + ( + get_account_id_from_seed::("Alice"), + get_from_seed::("Alice"), + ), + (get_account_id_from_seed::("Bob"), get_from_seed::("Bob")), + ], + get_account_id_from_seed::("Alice"), + balances, + vestings, + id, + ) +} + +pub fn local_testnet_config(id: ParaId) -> Result { + Ok(ChainSpec::from_genesis( + "Bifrost Polkadot Local Testnet", + "bifrost_polkadot_local_testnet", + ChainType::Local, + move || local_config_genesis(id), + vec![], + None, + Some(DEFAULT_PROTOCOL_ID), + None, + RelayExtensions { relay_chain: "polkadot-local".into(), para_id: id.into() }, + )) +} + +pub fn chainspec_config(id: ParaId) -> ChainSpec { + let mut properties = sc_chain_spec::Properties::new(); + properties.insert("tokenSymbol".into(), "BNC".into()); + properties.insert("tokenDecimals".into(), 12.into()); + + ChainSpec::from_genesis( + "Bifrost Polkadot", + "bifrost_polkadot", + ChainType::Live, + move || bifrost_polkadot_config_genesis(id), + vec![], + TelemetryEndpoints::new(vec![(TELEMETRY_URL.into(), 0)]).ok(), + Some(DEFAULT_PROTOCOL_ID), + Some(properties), + RelayExtensions { relay_chain: "polkadot".into(), para_id: id.into() }, + ) +} + +fn bifrost_polkadot_config_genesis(id: ParaId) -> GenesisConfig { + let invulnerables: Vec<(AccountId, AuraId)> = vec![ + ( + // dpEZwz5nHxEjQXcm3sjy6NTz83EGcBRXMBSyuuWSguiVGJB + hex!["5c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b"].into(), + hex!["5c7e9ccd1045cac7f8c5c77a79c87f44019d1dda4f5032713bda89c5d73cb36b"] + .unchecked_into(), + ), + ( + // duNwrtscWpfuTzRkjtt431kUj1gsfwbPi1bzdQL4cmk9QAa + hex!["606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335"].into(), + hex!["606b0aad375ae1715fbe6a07315136a8e9c1c84a91230f6a0c296c2953581335"] + .unchecked_into(), + ), + ( + // gPQG97HPe54fJpLoFePwm3fxdJaU2VV71hYbqd4RJcNeQfe + hex!["ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034"].into(), + hex!["ce42cea2dd0d4ac87ccdd5f0f2e1010955467f5a37587cf6af8ee2b4ba781034"] + .unchecked_into(), + ), + ( + // frYfsZhdVuG6Ap6AyJQLSHVqtKmUyqxo6ohnrmGTDk2neXK + hex!["b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d"].into(), + hex!["b6ba81e73bd39203e006fc99cc1e41976745de2ea2007bf62ed7c9a48ccc5b1d"] + .unchecked_into(), + ), + ]; + + let root_key: AccountId = hex![ + // cjAZA391BNi2S1Je7PNGHiX4UoJh3SbknQSDQ7qh3g4Aa9H + "2c64a40ec236d0a0823065791946f6254c4577c6110f512614bd6ece1a3fa22b" + ] + .into(); + + let balances = vec![(root_key.clone(), 10_000 * DOLLARS)]; + + bifrost_polkadot_genesis( + invulnerables, + root_key, + balances, + vec![], // temporarily set vesting as blank + id, + ) +} diff --git a/node/service/src/chain_spec/mod.rs b/node/service/src/chain_spec/mod.rs index 70252e7c87..738912770a 100644 --- a/node/service/src/chain_spec/mod.rs +++ b/node/service/src/chain_spec/mod.rs @@ -18,8 +18,10 @@ #[cfg(feature = "with-asgard-runtime")] pub mod asgard; -#[cfg(feature = "with-bifrost-runtime")] -pub mod bifrost; +#[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] +pub mod bifrost_kusama; +#[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] +pub mod bifrost_polkadot; pub use node_primitives::{AccountId, Block, Signature}; use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; diff --git a/node/service/src/client.rs b/node/service/src/client.rs deleted file mode 100644 index 4600164685..0000000000 --- a/node/service/src/client.rs +++ /dev/null @@ -1,515 +0,0 @@ -// This file is part of Bifrost. - -// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. -// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -//! Bifrost Client meta trait - -use std::sync::Arc; - -use node_primitives::{ - AccountId, Balance, Block, BlockNumber, Hash, Header, Nonce, ParaId as BifrostParaId, PoolId, -}; -use sc_client_api::{AuxStore, Backend as BackendT, BlockchainEvents, KeyIterator, UsageProvider}; -use sp_api::{CallApiAt, NumberFor, ProvideRuntimeApi}; -use sp_blockchain::HeaderBackend; -use sp_consensus::BlockStatus; -use sp_runtime::{ - generic::{BlockId, SignedBlock}, - traits::{BlakeTwo256, Block as BlockT}, - Justifications, -}; -use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey}; - -use crate::{FullBackend, FullClient}; - -/// A set of APIs that polkadot-like runtimes must implement. -pub trait RuntimeApiCollection: - sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::ApiExt - + sp_block_builder::BlockBuilder - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi - + sp_api::Metadata - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + cumulus_primitives_core::CollectCollationInfo - + bifrost_flexible_fee_rpc_runtime_api::FlexibleFeeRuntimeApi - + bifrost_liquidity_mining_rpc_runtime_api::LiquidityMiningRuntimeApi - + bifrost_salp_rpc_runtime_api::SalpRuntimeApi - + zenlink_protocol_runtime_api::ZenlinkProtocolApi -where - >::StateBackend: sp_api::StateBackend, -{ -} - -impl RuntimeApiCollection for Api -where - Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::ApiExt - // + ParachainHost - + sp_block_builder::BlockBuilder - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi - + sp_api::Metadata - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + cumulus_primitives_core::CollectCollationInfo - + bifrost_flexible_fee_rpc_runtime_api::FlexibleFeeRuntimeApi - + bifrost_liquidity_mining_rpc_runtime_api::LiquidityMiningRuntimeApi< - Block, - AccountId, - PoolId, - > + bifrost_salp_rpc_runtime_api::SalpRuntimeApi - + zenlink_protocol_runtime_api::ZenlinkProtocolApi, - >::StateBackend: sp_api::StateBackend, -{ -} - -/// Trait that abstracts over all available client implementations. -/// -/// For a concrete type there exists [`Client`]. -pub trait AbstractClient: - BlockchainEvents - + Sized - + Send - + Sync - + ProvideRuntimeApi - + HeaderBackend - + CallApiAt - + AuxStore - + UsageProvider -where - Block: BlockT, - Backend: BackendT, - Backend::State: sp_api::StateBackend, - Self::Api: RuntimeApiCollection, -{ -} - -impl AbstractClient for Client -where - Block: BlockT, - Backend: BackendT, - Backend::State: sp_api::StateBackend, - Client: BlockchainEvents - + ProvideRuntimeApi - + HeaderBackend - + AuxStore - + UsageProvider - + Sized - + Send - + Sync - + CallApiAt, - Client::Api: RuntimeApiCollection, -{ -} - -/// Execute something with the client instance. -/// -/// As there exist multiple chains inside Polkadot, like Polkadot itself, Kusama, Westend etc, -/// there can exist different kinds of client types. As these client types differ in the generics -/// that are being used, we can not easily return them from a function. For returning them from a -/// function there exists [`Client`]. However, the problem on how to use this client instance still -/// exists. This trait "solves" it in a dirty way. It requires a type to implement this trait and -/// than the [`execute_with_client`](ExecuteWithClient::execute_with_client) function can be called -/// with any possible client instance. -/// -/// In a perfect world, we could make a closure work in this way. -pub trait ExecuteWithClient { - /// The return type when calling this instance. - type Output; - - /// Execute whatever should be executed with the given client instance. - fn execute_with_client(self, client: Arc) -> Self::Output - where - >::StateBackend: sp_api::StateBackend, - Backend: sc_client_api::Backend + 'static, - Backend::State: sp_api::StateBackend, - Api: crate::RuntimeApiCollection, - Client: AbstractClient + 'static; -} - -/// A handle to a Polkadot client instance. -/// -/// The Polkadot service supports multiple different runtimes (Westend, Polkadot itself, etc). As -/// each runtime has a specialized client, we need to hide them behind a trait. This is this trait. -/// -/// When wanting to work with the inner client, you need to use `execute_with`. -/// -/// See [`ExecuteWithClient`](trait.ExecuteWithClient.html) for more information. -pub trait ClientHandle { - /// Execute the given something with the client. - fn execute_with(&self, t: T) -> T::Output; -} - -macro_rules! with_client { - { - $self:ident, - $client:ident, - { - $( $code:tt )* - } - } => { - match $self { - #[cfg(feature = "with-asgard-runtime")] - Self::Asgard($client) => { $( $code )* }, - #[cfg(feature = "with-bifrost-runtime")] - Self::Bifrost($client) => { $( $code )* }, - } - } -} - -/// A client instance of Bifrost. -/// -/// See [`ExecuteWithClient`] for more information. -#[derive(Clone)] -pub enum Client { - #[cfg(feature = "with-asgard-runtime")] - #[allow(dead_code)] - Asgard(Arc>), - #[cfg(feature = "with-bifrost-runtime")] - #[allow(dead_code)] - Bifrost(Arc>), -} - -impl ClientHandle for Client { - fn execute_with(&self, t: T) -> T::Output { - with_client! { - self, - client, - { - T::execute_with_client::<_, _, FullBackend>(t, client.clone()) - } - } - } -} - -impl UsageProvider for Client { - fn usage_info(&self) -> sc_client_api::ClientInfo { - with_client! { - self, - client, - { - client.usage_info() - } - } - } -} - -impl sc_client_api::BlockBackend for Client { - fn block_body( - &self, - id: &BlockId, - ) -> sp_blockchain::Result::Extrinsic>>> { - with_client! { - self, - client, - { - client.block_body(id) - } - } - } - - fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { - with_client! { - self, - client, - { - client.block(id) - } - } - } - - fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { - with_client! { - self, - client, - { - client.block_status(id) - } - } - } - - fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.justifications(id) - } - } - } - - fn block_hash( - &self, - number: NumberFor, - ) -> sp_blockchain::Result::Hash>> { - with_client! { - self, - client, - { - client.block_hash(number) - } - } - } - - fn indexed_transaction( - &self, - id: &::Hash, - ) -> sp_blockchain::Result>> { - with_client! { - self, - client, - { - client.indexed_transaction(id) - } - } - } - - fn block_indexed_body( - &self, - id: &BlockId, - ) -> sp_blockchain::Result>>> { - with_client! { - self, - client, - { - client.block_indexed_body(id) - } - } - } -} - -impl sc_client_api::StorageProvider for Client { - fn storage( - &self, - id: &BlockId, - key: &StorageKey, - ) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.storage(id, key) - } - } - } - - fn storage_keys( - &self, - id: &BlockId, - key_prefix: &StorageKey, - ) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.storage_keys(id, key_prefix) - } - } - } - - fn storage_hash( - &self, - id: &BlockId, - key: &StorageKey, - ) -> sp_blockchain::Result::Hash>> { - with_client! { - self, - client, - { - client.storage_hash(id, key) - } - } - } - - fn storage_pairs( - &self, - id: &BlockId, - key_prefix: &StorageKey, - ) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.storage_pairs(id, key_prefix) - } - } - } - - fn storage_keys_iter<'a>( - &self, - id: &BlockId, - prefix: Option<&'a StorageKey>, - start_key: Option<&StorageKey>, - ) -> sp_blockchain::Result< - KeyIterator<'a, >::State, Block>, - > { - with_client! { - self, - client, - { - client.storage_keys_iter(id, prefix, start_key) - } - } - } - - fn child_storage( - &self, - id: &BlockId, - child_info: &ChildInfo, - key: &StorageKey, - ) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.child_storage(id, child_info, key) - } - } - } - - fn child_storage_keys( - &self, - id: &BlockId, - child_info: &ChildInfo, - key_prefix: &StorageKey, - ) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.child_storage_keys(id, child_info, key_prefix) - } - } - } - - fn child_storage_keys_iter<'a>( - &self, - id: &BlockId, - child_info: ChildInfo, - prefix: Option<&'a StorageKey>, - start_key: Option<&StorageKey>, - ) -> sp_blockchain::Result< - KeyIterator<'a, >::State, Block>, - > { - with_client! { - self, - client, - { - client.child_storage_keys_iter(id, child_info, prefix, start_key) - } - } - } - - fn child_storage_hash( - &self, - id: &BlockId, - child_info: &ChildInfo, - key: &StorageKey, - ) -> sp_blockchain::Result::Hash>> { - with_client! { - self, - client, - { - client.child_storage_hash(id, child_info, key) - } - } - } - - fn max_key_changes_range( - &self, - first: NumberFor, - last: BlockId, - ) -> sp_blockchain::Result, BlockId)>> { - with_client! { - self, - client, - { - client.max_key_changes_range(first, last) - } - } - } - - fn key_changes( - &self, - first: NumberFor, - last: BlockId, - storage_key: Option<&PrefixedStorageKey>, - key: &StorageKey, - ) -> sp_blockchain::Result, u32)>> { - with_client! { - self, - client, - { - client.key_changes(first, last, storage_key, key) - } - } - } -} - -impl sp_blockchain::HeaderBackend for Client { - fn header(&self, id: BlockId) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.header(&id) - } - } - } - - fn info(&self) -> sp_blockchain::Info { - with_client! { - self, - client, - { - client.info() - } - } - } - - fn status(&self, id: BlockId) -> sp_blockchain::Result { - with_client! { - self, - client, - { - client.status(id) - } - } - } - - fn number(&self, hash: Hash) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.number(hash) - } - } - } - - fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { - with_client! { - self, - client, - { - client.hash(number) - } - } - } -} diff --git a/node/service/src/collator_kusama.rs b/node/service/src/collator_kusama.rs new file mode 100644 index 0000000000..024cfb6e82 --- /dev/null +++ b/node/service/src/collator_kusama.rs @@ -0,0 +1,983 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#![warn(unused_extern_crates)] + +//! Service implementation. Specialized wrapper over substrate service. +use std::sync::Arc; + +#[cfg(feature = "with-asgard-runtime")] +pub use asgard_runtime; +#[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] +pub use bifrost_kusama_runtime; +#[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] +pub use bifrost_polkadot_runtime; +use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams}; +use cumulus_client_consensus_common::ParachainConsensus; +use cumulus_client_network::build_block_announce_validator; +use cumulus_client_service::{ + prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, +}; +use cumulus_primitives_core::ParaId; +use node_primitives::{ + AccountId, Balance, Block, BlockNumber, Hash, Header, Nonce, ParaId as BifrostParaId, PoolId, +}; +use sc_client_api::{ + AuxStore, Backend as BackendT, BlockchainEvents, ExecutorProvider, KeyIterator, UsageProvider, +}; +use sc_consensus::LongestChain; +use sc_consensus_aura::SlotProportion; +use sc_executor::NativeElseWasmExecutor; +use sc_network::NetworkService; +use sc_service::{ + error::Error as ServiceError, Configuration, PartialComponents, Role, TFullBackend, TaskManager, +}; +use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; +use sp_api::{CallApiAt, ConstructRuntimeApi, NumberFor, ProvideRuntimeApi}; +use sp_blockchain::HeaderBackend; +use sp_consensus::{BlockStatus, SlotData}; +use sp_consensus_aura::sr25519::{AuthorityId as AuraId, AuthorityPair as AuraPair}; +use sp_keystore::SyncCryptoStorePtr; +use sp_runtime::{ + generic::{BlockId, SignedBlock}, + traits::{BlakeTwo256, Block as BlockT}, + Justifications, +}; +use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey}; +use sp_trie::PrefixedMemoryDB; +use substrate_prometheus_endpoint::Registry; + +#[allow(unused_imports)] +use crate::{ + IdentifyVariant, ASGARD_RUNTIME_NOT_AVAILABLE, BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE, + UNKNOWN_RUNTIME, +}; + +#[cfg(feature = "with-asgard-runtime")] +pub struct AsgardExecutor; +#[cfg(feature = "with-asgard-runtime")] +impl sc_executor::NativeExecutionDispatch for AsgardExecutor { + type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + + fn dispatch(method: &str, data: &[u8]) -> Option> { + asgard_runtime::api::dispatch(method, data) + } + + fn native_version() -> sc_executor::NativeVersion { + asgard_runtime::native_version() + } +} + +#[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] +pub struct BifrostExecutor; +#[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] +impl sc_executor::NativeExecutionDispatch for BifrostExecutor { + type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + + fn dispatch(method: &str, data: &[u8]) -> Option> { + bifrost_kusama_runtime::api::dispatch(method, data) + } + + fn native_version() -> sc_executor::NativeVersion { + bifrost_kusama_runtime::native_version() + } +} + +pub type FullBackend = TFullBackend; + +pub type FullClient = + sc_service::TFullClient>; + +pub type MaybeFullSelectChain = Option>; + +pub fn new_partial( + config: &Configuration, + dev: bool, +) -> Result< + PartialComponents< + FullClient, + FullBackend, + MaybeFullSelectChain, + sc_consensus::import_queue::BasicQueue>, + sc_transaction_pool::FullPool>, + (Option, Option), + >, + sc_service::Error, +> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: + RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ + let telemetry = config + .telemetry_endpoints + .clone() + .filter(|x| !x.is_empty()) + .map(|endpoints| -> Result<_, sc_telemetry::Error> { + let worker = TelemetryWorker::new(16)?; + let telemetry = worker.handle().new_telemetry(endpoints); + Ok((worker, telemetry)) + }) + .transpose()?; + + let executor = NativeElseWasmExecutor::::new( + config.wasm_method, + config.default_heap_pages, + config.max_runtime_instances, + ); + + let (client, backend, keystore_container, task_manager) = + sc_service::new_full_parts::>( + config, + telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), + executor, + )?; + let client = Arc::new(client); + + let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); + + let telemetry = telemetry.map(|(worker, telemetry)| { + task_manager.spawn_handle().spawn("telemetry", worker.run()); + telemetry + }); + + let registry = config.prometheus_registry(); + + let transaction_pool = sc_transaction_pool::BasicPool::new_full( + config.transaction_pool.clone(), + config.role.is_authority().into(), + registry, + task_manager.spawn_essential_handle(), + client.clone(), + ); + + let select_chain = if dev { Some(LongestChain::new(backend.clone())) } else { None }; + + let import_queue = if dev { + sc_consensus_manual_seal::import_queue( + Box::new(client.clone()), + &task_manager.spawn_essential_handle(), + registry, + ) + } else { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + cumulus_client_consensus_aura::import_queue::( + cumulus_client_consensus_aura::ImportQueueParams { + block_import: client.clone(), + client: client.clone(), + create_inherent_data_providers: move |_, _| async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + Ok((time, slot)) + }, + registry, + can_author_with: sp_consensus::CanAuthorWithNativeVersion::new( + client.executor().clone(), + ), + spawner: &task_manager.spawn_essential_handle(), + telemetry: telemetry.as_ref().map(|telemetry| telemetry.handle()), + }, + )? + }; + + Ok(PartialComponents { + backend, + client, + import_queue, + keystore_container, + task_manager, + transaction_pool, + select_chain, + other: (telemetry, telemetry_worker_handle), + }) +} + +/// Start a node with the given parachain `Configuration` and relay chain +/// `Configuration`. +/// +/// This is the actual implementation that is abstract over the executor and the +/// runtime api. +#[sc_tracing::logging::prefix_logs_with("Parachain🌈")] +async fn start_node_impl( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, + _rpc_ext_builder: RB, + build_consensus: BIC, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RB: Fn( + Arc>, + ) -> Result, sc_service::Error> + + Send + + 'static, + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: + RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, + BIC: FnOnce( + Arc>, + Option<&Registry>, + Option, + &TaskManager, + &polkadot_service::NewFull, + Arc>>, + Arc>, + SyncCryptoStorePtr, + bool, + ) -> Result>, sc_service::Error>, +{ + if matches!(parachain_config.role, Role::Light) { + return Err("Light client not supported!".into()); + } + + let parachain_config = prepare_node_config(parachain_config); + + let params = new_partial(¶chain_config, false)?; + let (mut telemetry, telemetry_worker_handle) = params.other; + + let relay_chain_full_node = + cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle) + .map_err(|e| match e { + polkadot_service::Error::Sub(x) => x, + s => format!("{}", s).into(), + })?; + + let client = params.client.clone(); + let backend = params.backend.clone(); + let block_announce_validator = build_block_announce_validator( + relay_chain_full_node.client.clone(), + id, + Box::new(relay_chain_full_node.network.clone()), + relay_chain_full_node.backend.clone(), + ); + + let force_authoring = parachain_config.force_authoring; + let validator = parachain_config.role.is_authority(); + let prometheus_registry = parachain_config.prometheus_registry().cloned(); + let transaction_pool = params.transaction_pool.clone(); + let mut task_manager = params.task_manager; + let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); + let (network, system_rpc_tx, start_network) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: ¶chain_config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue: import_queue.clone(), + on_demand: None, + block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), + warp_sync: None, + })?; + + let rpc_extensions_builder = { + let client = client.clone(); + let transaction_pool = transaction_pool.clone(); + + Box::new(move |deny_unsafe, _| { + let deps = crate::rpc::FullDeps { + client: client.clone(), + pool: transaction_pool.clone(), + deny_unsafe, + }; + let rpc = crate::rpc::create_full_rpc(deps); + Ok(rpc) + }) + }; + + sc_service::spawn_tasks(sc_service::SpawnTasksParams { + on_demand: None, + remote_blockchain: None, + rpc_extensions_builder, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + task_manager: &mut task_manager, + config: parachain_config, + keystore: params.keystore_container.sync_keystore(), + backend: backend.clone(), + network: network.clone(), + system_rpc_tx, + telemetry: telemetry.as_mut(), + })?; + + let announce_block = { + let network = network.clone(); + Arc::new(move |hash, data| network.announce_block(hash, data)) + }; + + if validator { + let parachain_consensus = build_consensus( + client.clone(), + prometheus_registry.as_ref(), + telemetry.as_ref().map(|t| t.handle()), + &task_manager, + &relay_chain_full_node, + transaction_pool, + network, + params.keystore_container.sync_keystore(), + force_authoring, + )?; + + let spawner = task_manager.spawn_handle(); + + let params = StartCollatorParams { + para_id: id, + block_status: client.clone(), + announce_block, + client: client.clone(), + task_manager: &mut task_manager, + relay_chain_full_node, + spawner, + parachain_consensus, + import_queue, + }; + + start_collator(params).await?; + } else { + let params = StartFullNodeParams { + client: client.clone(), + announce_block, + task_manager: &mut task_manager, + para_id: id, + relay_chain_full_node, + }; + + start_full_node(params)?; + } + + start_network.start_network(); + + Ok((task_manager, client)) +} + +/// Start a normal parachain node. +pub async fn start_node( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: + RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ + start_node_impl( + parachain_config, + polkadot_config, + id, + |_| Ok(Default::default()), + |client, + prometheus_registry, + telemetry, + task_manager, + relay_chain_node, + transaction_pool, + sync_oracle, + keystore, + force_authoring| { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), + client.clone(), + transaction_pool, + prometheus_registry, + telemetry.clone(), + ); + + let relay_chain_backend = relay_chain_node.backend.clone(); + let relay_chain_client = relay_chain_node.client.clone(); + Ok(build_aura_consensus::( + BuildAuraConsensusParams { + proposer_factory, + create_inherent_data_providers: move |_, (relay_parent, validation_data)| { + let parachain_inherent = + cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( + relay_parent, + &relay_chain_client, + &*relay_chain_backend, + &validation_data, + id, + ); + async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + let parachain_inherent = parachain_inherent.ok_or_else(|| { + Box::::from( + "Failed to create parachain inherent", + ) + })?; + Ok((time, slot, parachain_inherent)) + } + }, + block_import: client.clone(), + relay_chain_client: relay_chain_node.client.clone(), + relay_chain_backend: relay_chain_node.backend.clone(), + para_client: client, + backoff_authoring_blocks: Option::<()>::None, + sync_oracle, + keystore, + force_authoring, + slot_duration, + // We got around 500ms for proposing + block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), + // And a maximum of 750ms if slots are skipped + max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), + telemetry, + }, + )) + }, + ) + .await +} + +/// Builds a new object suitable for chain operations. +pub fn new_chain_ops( + mut config: &mut Configuration, +) -> Result< + ( + Arc, + Arc, + sc_consensus::import_queue::BasicQueue>, + TaskManager, + ), + ServiceError, +> { + config.keystore = sc_service::config::KeystoreConfig::InMemory; + if config.chain_spec.is_asgard() { + #[cfg(feature = "with-asgard-runtime")] + { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::(config, false)?; + Ok((Arc::new(Client::Asgard(client)), backend, import_queue, task_manager)) + } + #[cfg(not(feature = "with-asgard-runtime"))] + Err(ASGARD_RUNTIME_NOT_AVAILABLE.into()) + } else if config.chain_spec.is_bifrost_kusama() { + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] + { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::(config, false)?; + Ok((Arc::new(Client::Bifrost(client)), backend, import_queue, task_manager)) + } + #[cfg(not(any( + feature = "with-bifrost-kusama-runtime", + feature = "with-bifrost-runtime" + )))] + Err(BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE.into()) + } else { + Err(UNKNOWN_RUNTIME.into()) + } +} + +/// A set of APIs that polkadot-like runtimes must implement. +pub trait RuntimeApiCollection: + sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo + + bifrost_flexible_fee_rpc_runtime_api::FlexibleFeeRuntimeApi + + bifrost_liquidity_mining_rpc_runtime_api::LiquidityMiningRuntimeApi + + bifrost_salp_rpc_runtime_api::SalpRuntimeApi + + zenlink_protocol_runtime_api::ZenlinkProtocolApi +where + >::StateBackend: sp_api::StateBackend, +{ +} + +impl RuntimeApiCollection for Api +where + Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + // + ParachainHost + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo + + bifrost_flexible_fee_rpc_runtime_api::FlexibleFeeRuntimeApi + + bifrost_liquidity_mining_rpc_runtime_api::LiquidityMiningRuntimeApi< + Block, + AccountId, + PoolId, + > + bifrost_salp_rpc_runtime_api::SalpRuntimeApi + + zenlink_protocol_runtime_api::ZenlinkProtocolApi, + >::StateBackend: sp_api::StateBackend, +{ +} + +/// Trait that abstracts over all available client implementations. +/// +/// For a concrete type there exists [`Client`]. +pub trait AbstractClient: + BlockchainEvents + + Sized + + Send + + Sync + + ProvideRuntimeApi + + HeaderBackend + + CallApiAt + + AuxStore + + UsageProvider +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Self::Api: RuntimeApiCollection, +{ +} + +impl AbstractClient for Client +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Client: BlockchainEvents + + ProvideRuntimeApi + + HeaderBackend + + AuxStore + + UsageProvider + + Sized + + Send + + Sync + + CallApiAt, + Client::Api: RuntimeApiCollection, +{ +} + +/// Execute something with the client instance. +/// +/// As there exist multiple chains inside Polkadot, like Polkadot itself, Kusama, Westend etc, +/// there can exist different kinds of client types. As these client types differ in the generics +/// that are being used, we can not easily return them from a function. For returning them from a +/// function there exists [`Client`]. However, the problem on how to use this client instance still +/// exists. This trait "solves" it in a dirty way. It requires a type to implement this trait and +/// than the [`execute_with_client`](ExecuteWithClient::execute_with_client) function can be called +/// with any possible client instance. +/// +/// In a perfect world, we could make a closure work in this way. +pub trait ExecuteWithClient { + /// The return type when calling this instance. + type Output; + + /// Execute whatever should be executed with the given client instance. + fn execute_with_client(self, client: Arc) -> Self::Output + where + >::StateBackend: sp_api::StateBackend, + Backend: sc_client_api::Backend + 'static, + Backend::State: sp_api::StateBackend, + Api: RuntimeApiCollection, + Client: AbstractClient + 'static; +} + +/// A handle to a Polkadot client instance. +/// +/// The Polkadot service supports multiple different runtimes (Westend, Polkadot itself, etc). As +/// each runtime has a specialized client, we need to hide them behind a trait. This is this trait. +/// +/// When wanting to work with the inner client, you need to use `execute_with`. +/// +/// See [`ExecuteWithClient`](trait.ExecuteWithClient.html) for more information. +pub trait ClientHandle { + /// Execute the given something with the client. + fn execute_with(&self, t: T) -> T::Output; +} + +macro_rules! with_client { + { + $self:ident, + $client:ident, + { + $( $code:tt )* + } + } => { + match $self { + #[cfg(feature = "with-asgard-runtime")] + Self::Asgard($client) => { $( $code )* }, + #[cfg(any(feature = "with-bifrost-kusama-runtime", feature = "with-bifrost-runtime"))] + Self::Bifrost($client) => { $( $code )* }, + } + } +} + +/// A client instance of Bifrost. +/// +/// See [`ExecuteWithClient`] for more information. +#[derive(Clone)] +pub enum Client { + #[cfg(feature = "with-asgard-runtime")] + #[allow(dead_code)] + Asgard(Arc>), + #[cfg(feature = "with-bifrost-kusama-runtime")] + #[allow(dead_code)] + Bifrost(Arc>), +} + +impl ClientHandle for Client { + fn execute_with(&self, t: T) -> T::Output { + with_client! { + self, + client, + { + T::execute_with_client::<_, _, FullBackend>(t, client.clone()) + } + } + } +} + +impl UsageProvider for Client { + fn usage_info(&self) -> sc_client_api::ClientInfo { + with_client! { + self, + client, + { + client.usage_info() + } + } + } +} + +impl sc_client_api::BlockBackend for Client { + fn block_body( + &self, + id: &BlockId, + ) -> sp_blockchain::Result::Extrinsic>>> { + with_client! { + self, + client, + { + client.block_body(id) + } + } + } + + fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { + with_client! { + self, + client, + { + client.block(id) + } + } + } + + fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { + with_client! { + self, + client, + { + client.block_status(id) + } + } + } + + fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.justifications(id) + } + } + } + + fn block_hash( + &self, + number: NumberFor, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.block_hash(number) + } + } + } + + fn indexed_transaction( + &self, + id: &::Hash, + ) -> sp_blockchain::Result>> { + with_client! { + self, + client, + { + client.indexed_transaction(id) + } + } + } + + fn block_indexed_body( + &self, + id: &BlockId, + ) -> sp_blockchain::Result>>> { + with_client! { + self, + client, + { + client.block_indexed_body(id) + } + } + } +} + +impl sc_client_api::StorageProvider for Client { + fn storage( + &self, + id: &BlockId, + key: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage(id, key) + } + } + } + + fn storage_keys( + &self, + id: &BlockId, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage_keys(id, key_prefix) + } + } + } + + fn storage_hash( + &self, + id: &BlockId, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.storage_hash(id, key) + } + } + } + + fn storage_pairs( + &self, + id: &BlockId, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage_pairs(id, key_prefix) + } + } + } + + fn storage_keys_iter<'a>( + &self, + id: &BlockId, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result< + KeyIterator<'a, >::State, Block>, + > { + with_client! { + self, + client, + { + client.storage_keys_iter(id, prefix, start_key) + } + } + } + + fn child_storage( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.child_storage(id, child_info, key) + } + } + } + + fn child_storage_keys( + &self, + id: &BlockId, + child_info: &ChildInfo, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.child_storage_keys(id, child_info, key_prefix) + } + } + } + + fn child_storage_keys_iter<'a>( + &self, + id: &BlockId, + child_info: ChildInfo, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result< + KeyIterator<'a, >::State, Block>, + > { + with_client! { + self, + client, + { + client.child_storage_keys_iter(id, child_info, prefix, start_key) + } + } + } + + fn child_storage_hash( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.child_storage_hash(id, child_info, key) + } + } + } + + fn max_key_changes_range( + &self, + first: NumberFor, + last: BlockId, + ) -> sp_blockchain::Result, BlockId)>> { + with_client! { + self, + client, + { + client.max_key_changes_range(first, last) + } + } + } + + fn key_changes( + &self, + first: NumberFor, + last: BlockId, + storage_key: Option<&PrefixedStorageKey>, + key: &StorageKey, + ) -> sp_blockchain::Result, u32)>> { + with_client! { + self, + client, + { + client.key_changes(first, last, storage_key, key) + } + } + } +} + +impl sp_blockchain::HeaderBackend for Client { + fn header(&self, id: BlockId) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.header(&id) + } + } + } + + fn info(&self) -> sp_blockchain::Info { + with_client! { + self, + client, + { + client.info() + } + } + } + + fn status(&self, id: BlockId) -> sp_blockchain::Result { + with_client! { + self, + client, + { + client.status(id) + } + } + } + + fn number(&self, hash: Hash) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.number(hash) + } + } + } + + fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.hash(number) + } + } + } +} diff --git a/node/service/src/collator_polkadot.rs b/node/service/src/collator_polkadot.rs new file mode 100644 index 0000000000..13eff25f8e --- /dev/null +++ b/node/service/src/collator_polkadot.rs @@ -0,0 +1,959 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#![warn(unused_extern_crates)] + +//! Service implementation. Specialized wrapper over substrate service. +use std::sync::Arc; + +pub use bifrost_polkadot_runtime; +use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams}; +use cumulus_client_consensus_common::ParachainConsensus; +use cumulus_client_network::build_block_announce_validator; +use cumulus_client_service::{ + prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, +}; +use cumulus_primitives_core::ParaId; +use node_primitives::{AccountId, Balance, Block, BlockNumber, Hash, Header, Nonce}; +use sc_client_api::{ + AuxStore, Backend as BackendT, BlockchainEvents, ExecutorProvider, KeyIterator, UsageProvider, +}; +use sc_consensus::LongestChain; +use sc_consensus_aura::SlotProportion; +use sc_executor::NativeElseWasmExecutor; +use sc_network::NetworkService; +use sc_service::{ + error::Error as ServiceError, Configuration, PartialComponents, Role, TFullBackend, TaskManager, +}; +use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; +use sp_api::{CallApiAt, ConstructRuntimeApi, NumberFor, ProvideRuntimeApi}; +use sp_blockchain::HeaderBackend; +use sp_consensus::{BlockStatus, SlotData}; +use sp_consensus_aura::sr25519::{AuthorityId as AuraId, AuthorityPair as AuraPair}; +use sp_keystore::SyncCryptoStorePtr; +use sp_runtime::{ + generic::{BlockId, SignedBlock}, + traits::{BlakeTwo256, Block as BlockT}, + Justifications, +}; +use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey}; +use sp_trie::PrefixedMemoryDB; +use substrate_prometheus_endpoint::Registry; + +use crate::{IdentifyVariant, UNKNOWN_RUNTIME}; + +pub type FullBackend = TFullBackend; + +pub type FullClient = + sc_service::TFullClient>; + +pub type MaybeFullSelectChain = Option>; + +#[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] +pub struct BifrostPolkadotExecutor; +#[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] +impl sc_executor::NativeExecutionDispatch for BifrostPolkadotExecutor { + type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; + + fn dispatch(method: &str, data: &[u8]) -> Option> { + bifrost_polkadot_runtime::api::dispatch(method, data) + } + + fn native_version() -> sc_executor::NativeVersion { + bifrost_polkadot_runtime::native_version() + } +} + +/// A set of APIs that polkadot-like runtimes must implement. +pub trait RuntimeApiCollection: + sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo +where + >::StateBackend: sp_api::StateBackend, +{ +} + +impl RuntimeApiCollection for Api +where + Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + // + ParachainHost + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo, + >::StateBackend: sp_api::StateBackend, +{ +} + +/// Trait that abstracts over all available client implementations. +/// +/// For a concrete type there exists [`Client`]. +pub trait AbstractClient: + BlockchainEvents + + Sized + + Send + + Sync + + ProvideRuntimeApi + + HeaderBackend + + CallApiAt + + AuxStore + + UsageProvider +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Self::Api: RuntimeApiCollection, +{ +} + +impl AbstractClient for Client +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Client: BlockchainEvents + + ProvideRuntimeApi + + HeaderBackend + + AuxStore + + UsageProvider + + Sized + + Send + + Sync + + CallApiAt, + Client::Api: RuntimeApiCollection, +{ +} + +/// Execute something with the client instance. +/// +/// As there exist multiple chains inside Polkadot, like Polkadot itself, Kusama, Westend etc, +/// there can exist different kinds of client types. As these client types differ in the generics +/// that are being used, we can not easily return them from a function. For returning them from a +/// function there exists [`Client`]. However, the problem on how to use this client instance still +/// exists. This trait "solves" it in a dirty way. It requires a type to implement this trait and +/// than the [`execute_with_client`](ExecuteWithClient::execute_with_client) function can be called +/// with any possible client instance. +/// +/// In a perfect world, we could make a closure work in this way. +pub trait ExecuteWithClient { + /// The return type when calling this instance. + type Output; + + /// Execute whatever should be executed with the given client instance. + fn execute_with_client(self, client: Arc) -> Self::Output + where + >::StateBackend: sp_api::StateBackend, + Backend: sc_client_api::Backend + 'static, + Backend::State: sp_api::StateBackend, + Api: RuntimeApiCollection, + Client: AbstractClient + 'static; +} + +/// A handle to a Polkadot client instance. +/// +/// The Polkadot service supports multiple different runtimes (Westend, Polkadot itself, etc). As +/// each runtime has a specialized client, we need to hide them behind a trait. This is this trait. +/// +/// When wanting to work with the inner client, you need to use `execute_with`. +/// +/// See [`ExecuteWithClient`](trait.ExecuteWithClient.html) for more information. +pub trait ClientHandle { + /// Execute the given something with the client. + fn execute_with(&self, t: T) -> T::Output; +} + +macro_rules! with_client { + { + $self:ident, + $client:ident, + { + $( $code:tt )* + } + } => { + match $self { + #[cfg(feature = "with-bifrost-polkadot-runtime")] + Self::BifrostPolkadot($client) => { $( $code )* }, + } + } +} + +/// A client instance of Bifrost. +/// +/// See [`ExecuteWithClient`] for more information. +#[derive(Clone)] +pub enum Client { + #[cfg(feature = "with-bifrost-polkadot-runtime")] + #[allow(dead_code)] + BifrostPolkadot(Arc>), +} + +/// A client instance of Bifrost. +/// +/// See [`ExecuteWithClient`] for more information. +impl ClientHandle for Client { + fn execute_with(&self, t: T) -> T::Output { + with_client! { + self, + client, + { + T::execute_with_client::<_, _, FullBackend>(t, client.clone()) + } + } + } +} + +impl UsageProvider for Client { + fn usage_info(&self) -> sc_client_api::ClientInfo { + with_client! { + self, + client, + { + client.usage_info() + } + } + } +} + +impl sc_client_api::BlockBackend for Client { + fn block_body( + &self, + id: &BlockId, + ) -> sp_blockchain::Result::Extrinsic>>> { + with_client! { + self, + client, + { + client.block_body(id) + } + } + } + + fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { + with_client! { + self, + client, + { + client.block(id) + } + } + } + + fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { + with_client! { + self, + client, + { + client.block_status(id) + } + } + } + + fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.justifications(id) + } + } + } + + fn block_hash( + &self, + number: NumberFor, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.block_hash(number) + } + } + } + + fn indexed_transaction( + &self, + id: &::Hash, + ) -> sp_blockchain::Result>> { + with_client! { + self, + client, + { + client.indexed_transaction(id) + } + } + } + + fn block_indexed_body( + &self, + id: &BlockId, + ) -> sp_blockchain::Result>>> { + with_client! { + self, + client, + { + client.block_indexed_body(id) + } + } + } +} + +impl sc_client_api::StorageProvider for Client { + fn storage( + &self, + id: &BlockId, + key: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage(id, key) + } + } + } + + fn storage_keys( + &self, + id: &BlockId, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage_keys(id, key_prefix) + } + } + } + + fn storage_hash( + &self, + id: &BlockId, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.storage_hash(id, key) + } + } + } + + fn storage_pairs( + &self, + id: &BlockId, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.storage_pairs(id, key_prefix) + } + } + } + + fn storage_keys_iter<'a>( + &self, + id: &BlockId, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result< + KeyIterator<'a, >::State, Block>, + > { + with_client! { + self, + client, + { + client.storage_keys_iter(id, prefix, start_key) + } + } + } + + fn child_storage( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.child_storage(id, child_info, key) + } + } + } + + fn child_storage_keys( + &self, + id: &BlockId, + child_info: &ChildInfo, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.child_storage_keys(id, child_info, key_prefix) + } + } + } + + fn child_storage_keys_iter<'a>( + &self, + id: &BlockId, + child_info: ChildInfo, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result< + KeyIterator<'a, >::State, Block>, + > { + with_client! { + self, + client, + { + client.child_storage_keys_iter(id, child_info, prefix, start_key) + } + } + } + + fn child_storage_hash( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + with_client! { + self, + client, + { + client.child_storage_hash(id, child_info, key) + } + } + } + + fn max_key_changes_range( + &self, + first: NumberFor, + last: BlockId, + ) -> sp_blockchain::Result, BlockId)>> { + with_client! { + self, + client, + { + client.max_key_changes_range(first, last) + } + } + } + + fn key_changes( + &self, + first: NumberFor, + last: BlockId, + storage_key: Option<&PrefixedStorageKey>, + key: &StorageKey, + ) -> sp_blockchain::Result, u32)>> { + with_client! { + self, + client, + { + client.key_changes(first, last, storage_key, key) + } + } + } +} + +impl sp_blockchain::HeaderBackend for Client { + fn header(&self, id: BlockId) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.header(&id) + } + } + } + + fn info(&self) -> sp_blockchain::Info { + with_client! { + self, + client, + { + client.info() + } + } + } + + fn status(&self, id: BlockId) -> sp_blockchain::Result { + with_client! { + self, + client, + { + client.status(id) + } + } + } + + fn number(&self, hash: Hash) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.number(hash) + } + } + } + + fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { + with_client! { + self, + client, + { + client.hash(number) + } + } + } +} + +pub fn new_partial( + config: &Configuration, + dev: bool, +) -> Result< + PartialComponents< + FullClient, + FullBackend, + MaybeFullSelectChain, + sc_consensus::import_queue::BasicQueue>, + sc_transaction_pool::FullPool>, + (Option, Option), + >, + sc_service::Error, +> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt< + Block, + StateBackend = sc_client_api::StateBackendFor, Block>, + > + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo + + sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ + let telemetry = config + .telemetry_endpoints + .clone() + .filter(|x| !x.is_empty()) + .map(|endpoints| -> Result<_, sc_telemetry::Error> { + let worker = TelemetryWorker::new(16)?; + let telemetry = worker.handle().new_telemetry(endpoints); + Ok((worker, telemetry)) + }) + .transpose()?; + + let executor = NativeElseWasmExecutor::::new( + config.wasm_method, + config.default_heap_pages, + config.max_runtime_instances, + ); + + let (client, backend, keystore_container, task_manager) = + sc_service::new_full_parts::>( + config, + telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), + executor, + )?; + let client = Arc::new(client); + + let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); + + let telemetry = telemetry.map(|(worker, telemetry)| { + task_manager.spawn_handle().spawn("telemetry", worker.run()); + telemetry + }); + + let registry = config.prometheus_registry(); + + let transaction_pool = sc_transaction_pool::BasicPool::new_full( + config.transaction_pool.clone(), + config.role.is_authority().into(), + registry, + task_manager.spawn_essential_handle(), + client.clone(), + ); + + let select_chain = if dev { Some(LongestChain::new(backend.clone())) } else { None }; + + let import_queue = if dev { + sc_consensus_manual_seal::import_queue( + Box::new(client.clone()), + &task_manager.spawn_essential_handle(), + registry, + ) + } else { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + cumulus_client_consensus_aura::import_queue::( + cumulus_client_consensus_aura::ImportQueueParams { + block_import: client.clone(), + client: client.clone(), + create_inherent_data_providers: move |_, _| async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + Ok((time, slot)) + }, + registry, + can_author_with: sp_consensus::CanAuthorWithNativeVersion::new( + client.executor().clone(), + ), + spawner: &task_manager.spawn_essential_handle(), + telemetry: telemetry.as_ref().map(|telemetry| telemetry.handle()), + }, + )? + }; + + Ok(PartialComponents { + backend, + client, + import_queue, + keystore_container, + task_manager, + transaction_pool, + select_chain, + other: (telemetry, telemetry_worker_handle), + }) +} + +/// Start a normal parachain node. +pub async fn start_node( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt< + Block, + StateBackend = sc_client_api::StateBackendFor, Block>, + > + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo + + sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, +{ + start_node_impl( + parachain_config, + polkadot_config, + id, + |_| Ok(Default::default()), + |client, + prometheus_registry, + telemetry, + task_manager, + relay_chain_node, + transaction_pool, + sync_oracle, + keystore, + force_authoring| { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), + client.clone(), + transaction_pool, + prometheus_registry, + telemetry.clone(), + ); + + let relay_chain_backend = relay_chain_node.backend.clone(); + let relay_chain_client = relay_chain_node.client.clone(); + Ok(build_aura_consensus::( + BuildAuraConsensusParams { + proposer_factory, + create_inherent_data_providers: move |_, (relay_parent, validation_data)| { + let parachain_inherent = + cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( + relay_parent, + &relay_chain_client, + &*relay_chain_backend, + &validation_data, + id, + ); + async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + let parachain_inherent = parachain_inherent.ok_or_else(|| { + Box::::from( + "Failed to create parachain inherent", + ) + })?; + Ok((time, slot, parachain_inherent)) + } + }, + block_import: client.clone(), + relay_chain_client: relay_chain_node.client.clone(), + relay_chain_backend: relay_chain_node.backend.clone(), + para_client: client, + backoff_authoring_blocks: Option::<()>::None, + sync_oracle, + keystore, + force_authoring, + slot_duration, + // We got around 500ms for proposing + block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), + // And a maximum of 750ms if slots are skipped + max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), + telemetry, + }, + )) + }, + ) + .await +} + +#[sc_tracing::logging::prefix_logs_with("Parachain")] +async fn start_node_impl( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, + _rpc_ext_builder: RB, + build_consensus: BIC, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RB: Fn( + Arc>, + ) -> Result, sc_service::Error> + + Send + + 'static, + RuntimeApi: + ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt< + Block, + StateBackend = sc_client_api::StateBackendFor, Block>, + > + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo + + sp_consensus_aura::AuraApi, + Executor: sc_executor::NativeExecutionDispatch + 'static, + BIC: FnOnce( + Arc>, + Option<&Registry>, + Option, + &TaskManager, + &polkadot_service::NewFull, + Arc>>, + Arc>, + SyncCryptoStorePtr, + bool, + ) -> Result>, sc_service::Error>, +{ + if matches!(parachain_config.role, Role::Light) { + return Err("Light client not supported!".into()); + } + + let parachain_config = prepare_node_config(parachain_config); + + let params = new_partial(¶chain_config, false)?; + let (mut telemetry, telemetry_worker_handle) = params.other; + + let relay_chain_full_node = + cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle) + .map_err(|e| match e { + polkadot_service::Error::Sub(x) => x, + s => format!("{}", s).into(), + })?; + + let client = params.client.clone(); + let backend = params.backend.clone(); + let block_announce_validator = build_block_announce_validator( + relay_chain_full_node.client.clone(), + id, + Box::new(relay_chain_full_node.network.clone()), + relay_chain_full_node.backend.clone(), + ); + + let force_authoring = parachain_config.force_authoring; + let validator = parachain_config.role.is_authority(); + let prometheus_registry = parachain_config.prometheus_registry().cloned(); + let transaction_pool = params.transaction_pool.clone(); + let mut task_manager = params.task_manager; + let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); + let (network, system_rpc_tx, start_network) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: ¶chain_config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue: import_queue.clone(), + on_demand: None, + block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), + warp_sync: None, + })?; + + let rpc_extensions_builder = { + let client = client.clone(); + let transaction_pool = transaction_pool.clone(); + + Box::new(move |deny_unsafe, _| { + let deps = crate::rpc::FullDeps { + client: client.clone(), + pool: transaction_pool.clone(), + deny_unsafe, + }; + let rpc = crate::rpc::create_full_polkadot_rpc(deps); + Ok(rpc) + }) + }; + + sc_service::spawn_tasks(sc_service::SpawnTasksParams { + on_demand: None, + remote_blockchain: None, + rpc_extensions_builder, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + task_manager: &mut task_manager, + config: parachain_config, + keystore: params.keystore_container.sync_keystore(), + backend: backend.clone(), + network: network.clone(), + system_rpc_tx, + telemetry: telemetry.as_mut(), + })?; + + let announce_block = { + let network = network.clone(); + Arc::new(move |hash, data| network.announce_block(hash, data)) + }; + + if validator { + let parachain_consensus = build_consensus( + client.clone(), + prometheus_registry.as_ref(), + telemetry.as_ref().map(|t| t.handle()), + &task_manager, + &relay_chain_full_node, + transaction_pool, + network, + params.keystore_container.sync_keystore(), + force_authoring, + )?; + + let spawner = task_manager.spawn_handle(); + + let params = StartCollatorParams { + para_id: id, + block_status: client.clone(), + announce_block, + client: client.clone(), + task_manager: &mut task_manager, + relay_chain_full_node, + spawner, + parachain_consensus, + import_queue, + }; + + start_collator(params).await?; + } else { + let params = StartFullNodeParams { + client: client.clone(), + announce_block, + task_manager: &mut task_manager, + para_id: id, + relay_chain_full_node, + }; + + start_full_node(params)?; + } + + start_network.start_network(); + + Ok((task_manager, client)) +} + +/// Builds a new object suitable for chain operations. +pub fn new_chain_ops( + mut config: &mut Configuration, +) -> Result< + ( + Arc, + Arc, + sc_consensus::import_queue::BasicQueue>, + TaskManager, + ), + ServiceError, +> { + config.keystore = sc_service::config::KeystoreConfig::InMemory; + if config.chain_spec.is_bifrost_polkadot() { + #[cfg(any(feature = "with-bifrost-polkadot-runtime", feature = "with-bifrost-runtime"))] + { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::( + config, false, + )?; + Ok((Arc::new(Client::BifrostPolkadot(client)), backend, import_queue, task_manager)) + } + #[cfg(not(any( + feature = "with-bifrost-polkadot-runtime", + feature = "with-bifrost-runtime" + )))] + Err(BIFROST_POLKADOT_RUNTIME_NOT_AVAILABLE.into()) + } else { + Err(UNKNOWN_RUNTIME.into()) + } +} diff --git a/node/service/src/dev.rs b/node/service/src/dev.rs index 6d430cc45b..dc57faaa83 100644 --- a/node/service/src/dev.rs +++ b/node/service/src/dev.rs @@ -22,8 +22,8 @@ use sc_executor::NativeElseWasmExecutor; use sc_service::{error::Error as ServiceError, Configuration, TaskManager}; pub type Block = node_primitives::Block; -pub type Executor = crate::AsgardExecutor; -pub type RuntimeApi = crate::asgard_runtime::RuntimeApi; +pub type Executor = crate::collator_kusama::AsgardExecutor; +pub type RuntimeApi = crate::collator_kusama::asgard_runtime::RuntimeApi; pub type FullClient = sc_service::TFullClient>; pub type FullBackend = sc_service::TFullBackend; @@ -49,7 +49,10 @@ pub fn start_node(config: Configuration) -> Result { select_chain: maybe_select_chain, transaction_pool, other: (_, _), - } = crate::new_partial::(&config, true)?; + } = crate::collator_kusama::new_partial::< + asgard_runtime::RuntimeApi, + crate::collator_kusama::AsgardExecutor, + >(&config, true)?; let (network, system_rpc_tx, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { @@ -129,7 +132,7 @@ pub fn start_node(config: Configuration) -> Result { deny_unsafe, }; - Ok(crate::rpc::create_asgard_rpc(deps)) + Ok(crate::rpc::create_full_rpc(deps)) }) }; diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index f9685ce9a2..93d1fb5abe 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -18,91 +18,25 @@ #![warn(unused_extern_crates)] -//! Service implementation. Specialized wrapper over substrate service. -use std::sync::Arc; - -use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams}; -use cumulus_client_consensus_common::ParachainConsensus; -use cumulus_client_network::build_block_announce_validator; -use cumulus_client_service::{ - prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, -}; -use cumulus_primitives_core::ParaId; -use sc_client_api::ExecutorProvider; -use sc_consensus::LongestChain; -use sc_consensus_aura::SlotProportion; - pub mod chain_spec; +#[cfg(any(feature = "with-asgard-runtime", feature = "with-bifrost-kusama-runtime"))] +pub mod collator_kusama; +#[cfg(feature = "with-bifrost-polkadot-runtime")] +pub mod collator_polkadot; #[cfg(feature = "with-asgard-runtime")] pub mod dev; -#[cfg(feature = "with-asgard-runtime")] -pub use asgard_runtime; -#[cfg(feature = "with-bifrost-runtime")] -pub use bifrost_runtime; -use node_rpc as rpc; -mod client; -pub use client::RuntimeApiCollection; -use node_primitives::{Block, Hash}; -use sc_executor::NativeElseWasmExecutor; -use sc_network::NetworkService; -use sc_service::{ - error::Error as ServiceError, Configuration, PartialComponents, Role, TFullBackend, TaskManager, -}; -use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; -use sp_api::ConstructRuntimeApi; -use sp_consensus::SlotData; -use sp_consensus_aura::sr25519::{AuthorityId as AuraId, AuthorityPair as AuraPair}; -use sp_keystore::SyncCryptoStorePtr; -use sp_runtime::traits::BlakeTwo256; -use sp_trie::PrefixedMemoryDB; -use substrate_prometheus_endpoint::Registry; - -use crate::client::Client; - -#[cfg(feature = "with-asgard-runtime")] -pub struct AsgardExecutor; -#[cfg(feature = "with-asgard-runtime")] -impl sc_executor::NativeExecutionDispatch for AsgardExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option> { - asgard_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - asgard_runtime::native_version() - } -} - -#[cfg(feature = "with-bifrost-runtime")] -pub struct BifrostExecutor; -#[cfg(feature = "with-bifrost-runtime")] -impl sc_executor::NativeExecutionDispatch for BifrostExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option> { - bifrost_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - bifrost_runtime::native_version() - } -} - -pub type FullBackend = TFullBackend; - -pub type FullClient = - sc_service::TFullClient>; - -pub type MaybeFullSelectChain = Option>; +pub use node_rpc as rpc; /// Can be called for a `Configuration` to check if it is a configuration for the `Bifrost` network. pub trait IdentifyVariant { /// Returns if this is a configuration for the `Asgard` network. fn is_asgard(&self) -> bool; - /// Returns if this is a configuration for the `Bifrost` network. - fn is_bifrost(&self) -> bool; + /// Returns if this is a configuration for the `Bifrost-Kusama` network. + fn is_bifrost_kusama(&self) -> bool; + + /// Returns if this is a configuration for the `Bifrost-Polkadot` network. + fn is_bifrost_polkadot(&self) -> bool; /// Returns if this is a configuration for the `Dev` network. fn is_dev(&self) -> bool; @@ -110,11 +44,15 @@ pub trait IdentifyVariant { impl IdentifyVariant for Box { fn is_asgard(&self) -> bool { - self.id().starts_with("asgard") || self.id().starts_with("asg") + self.id().starts_with("asgard") } - fn is_bifrost(&self) -> bool { - self.id().starts_with("bifrost") || self.id().starts_with("bnc") + fn is_bifrost_kusama(&self) -> bool { + self.id().starts_with("bifrost") && !self.id().starts_with("bifrost_polkadot") + } + + fn is_bifrost_polkadot(&self) -> bool { + self.id().starts_with("bifrost_polkadot") } fn is_dev(&self) -> bool { @@ -122,410 +60,10 @@ impl IdentifyVariant for Box { } } -pub const BIFROST_RUNTIME_NOT_AVAILABLE: &str = - "Bifrost runtime is not available. Please compile the node with `--features with-bifrost-runtime` to enable it."; pub const ASGARD_RUNTIME_NOT_AVAILABLE: &str = "Asgard runtime is not available. Please compile the node with `--features with-asgard-runtime` to enable it."; +pub const BIFROST_KUSAMA_RUNTIME_NOT_AVAILABLE: &str = + "Bifrost runtime is not available. Please compile the node with `--features with-bifrost-kusama-runtime` to enable it."; +pub const BIFROST_POLKADOT_RUNTIME_NOT_AVAILABLE: &str = + "Bifrost-polkadot runtime is not available. Please compile the node with `--features with-bifrost-polkadot-runtime` to enable it."; pub const UNKNOWN_RUNTIME: &str = "Unknown runtime"; - -pub fn new_partial( - config: &Configuration, - dev: bool, -) -> Result< - PartialComponents< - FullClient, - FullBackend, - MaybeFullSelectChain, - sc_consensus::import_queue::BasicQueue>, - sc_transaction_pool::FullPool>, - (Option, Option), - >, - sc_service::Error, -> -where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: - RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: sc_executor::NativeExecutionDispatch + 'static, -{ - let telemetry = config - .telemetry_endpoints - .clone() - .filter(|x| !x.is_empty()) - .map(|endpoints| -> Result<_, sc_telemetry::Error> { - let worker = TelemetryWorker::new(16)?; - let telemetry = worker.handle().new_telemetry(endpoints); - Ok((worker, telemetry)) - }) - .transpose()?; - - let executor = NativeElseWasmExecutor::::new( - config.wasm_method, - config.default_heap_pages, - config.max_runtime_instances, - ); - - let (client, backend, keystore_container, task_manager) = - sc_service::new_full_parts::>( - config, - telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), - executor, - )?; - let client = Arc::new(client); - - let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); - - let telemetry = telemetry.map(|(worker, telemetry)| { - task_manager.spawn_handle().spawn("telemetry", worker.run()); - telemetry - }); - - let registry = config.prometheus_registry(); - - let transaction_pool = sc_transaction_pool::BasicPool::new_full( - config.transaction_pool.clone(), - config.role.is_authority().into(), - registry, - task_manager.spawn_essential_handle(), - client.clone(), - ); - - let select_chain = if dev { Some(LongestChain::new(backend.clone())) } else { None }; - - let import_queue = if dev { - sc_consensus_manual_seal::import_queue( - Box::new(client.clone()), - &task_manager.spawn_essential_handle(), - registry, - ) - } else { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - cumulus_client_consensus_aura::import_queue::( - cumulus_client_consensus_aura::ImportQueueParams { - block_import: client.clone(), - client: client.clone(), - create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( - *time, - slot_duration.slot_duration(), - ); - - Ok((time, slot)) - }, - registry, - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new( - client.executor().clone(), - ), - spawner: &task_manager.spawn_essential_handle(), - telemetry: telemetry.as_ref().map(|telemetry| telemetry.handle()), - }, - )? - }; - - Ok(PartialComponents { - backend, - client, - import_queue, - keystore_container, - task_manager, - transaction_pool, - select_chain, - other: (telemetry, telemetry_worker_handle), - }) -} - -/// Start a node with the given parachain `Configuration` and relay chain -/// `Configuration`. -/// -/// This is the actual implementation that is abstract over the executor and the -/// runtime api. -#[sc_tracing::logging::prefix_logs_with("Parachain🌈")] -async fn start_node_impl( - parachain_config: Configuration, - polkadot_config: Configuration, - id: ParaId, - _rpc_ext_builder: RB, - build_consensus: BIC, -) -> sc_service::error::Result<(TaskManager, Arc>)> -where - RB: Fn( - Arc>, - ) -> Result, sc_service::Error> - + Send - + 'static, - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: - RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: sc_executor::NativeExecutionDispatch + 'static, - BIC: FnOnce( - Arc>, - Option<&Registry>, - Option, - &TaskManager, - &polkadot_service::NewFull, - Arc>>, - Arc>, - SyncCryptoStorePtr, - bool, - ) -> Result>, sc_service::Error>, -{ - if matches!(parachain_config.role, Role::Light) { - return Err("Light client not supported!".into()); - } - - let parachain_config = prepare_node_config(parachain_config); - - let params = new_partial(¶chain_config, false)?; - let (mut telemetry, telemetry_worker_handle) = params.other; - - let relay_chain_full_node = - cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle) - .map_err(|e| match e { - polkadot_service::Error::Sub(x) => x, - s => format!("{}", s).into(), - })?; - - let client = params.client.clone(); - let backend = params.backend.clone(); - let block_announce_validator = build_block_announce_validator( - relay_chain_full_node.client.clone(), - id, - Box::new(relay_chain_full_node.network.clone()), - relay_chain_full_node.backend.clone(), - ); - - let force_authoring = parachain_config.force_authoring; - let validator = parachain_config.role.is_authority(); - let prometheus_registry = parachain_config.prometheus_registry().cloned(); - let transaction_pool = params.transaction_pool.clone(); - let mut task_manager = params.task_manager; - let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); - let (network, system_rpc_tx, start_network) = - sc_service::build_network(sc_service::BuildNetworkParams { - config: ¶chain_config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue: import_queue.clone(), - on_demand: None, - block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), - warp_sync: None, - })?; - - let is_bifrost = parachain_config.chain_spec.is_bifrost(); - - let rpc_extensions_builder = { - let client = client.clone(); - let transaction_pool = transaction_pool.clone(); - - Box::new(move |deny_unsafe, _| { - let deps = crate::rpc::FullDeps { - client: client.clone(), - pool: transaction_pool.clone(), - deny_unsafe, - }; - let rpc = if is_bifrost { - crate::rpc::create_bifrost_rpc(deps) - } else { - crate::rpc::create_asgard_rpc(deps) - }; - Ok(rpc) - }) - }; - - sc_service::spawn_tasks(sc_service::SpawnTasksParams { - on_demand: None, - remote_blockchain: None, - rpc_extensions_builder, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - task_manager: &mut task_manager, - config: parachain_config, - keystore: params.keystore_container.sync_keystore(), - backend: backend.clone(), - network: network.clone(), - system_rpc_tx, - telemetry: telemetry.as_mut(), - })?; - - let announce_block = { - let network = network.clone(); - Arc::new(move |hash, data| network.announce_block(hash, data)) - }; - - if validator { - let parachain_consensus = build_consensus( - client.clone(), - prometheus_registry.as_ref(), - telemetry.as_ref().map(|t| t.handle()), - &task_manager, - &relay_chain_full_node, - transaction_pool, - network, - params.keystore_container.sync_keystore(), - force_authoring, - )?; - - let spawner = task_manager.spawn_handle(); - - let params = StartCollatorParams { - para_id: id, - block_status: client.clone(), - announce_block, - client: client.clone(), - task_manager: &mut task_manager, - relay_chain_full_node, - spawner, - parachain_consensus, - import_queue, - }; - - start_collator(params).await?; - } else { - let params = StartFullNodeParams { - client: client.clone(), - announce_block, - task_manager: &mut task_manager, - para_id: id, - relay_chain_full_node, - }; - - start_full_node(params)?; - } - - start_network.start_network(); - - Ok((task_manager, client)) -} - -/// Start a normal parachain node. -pub async fn start_node( - parachain_config: Configuration, - polkadot_config: Configuration, - id: ParaId, -) -> sc_service::error::Result<(TaskManager, Arc>)> -where - RuntimeApi: - ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: - RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: sc_executor::NativeExecutionDispatch + 'static, -{ - start_node_impl( - parachain_config, - polkadot_config, - id, - |_| Ok(Default::default()), - |client, - prometheus_registry, - telemetry, - task_manager, - relay_chain_node, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), - client.clone(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - let relay_chain_backend = relay_chain_node.backend.clone(); - let relay_chain_client = relay_chain_node.client.clone(); - Ok(build_aura_consensus::( - BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( - relay_parent, - &relay_chain_client, - &*relay_chain_backend, - &validation_data, - id, - ); - async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( - *time, - slot_duration.slot_duration(), - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from( - "Failed to create parachain inherent", - ) - })?; - Ok((time, slot, parachain_inherent)) - } - }, - block_import: client.clone(), - relay_chain_client: relay_chain_node.client.clone(), - relay_chain_backend: relay_chain_node.backend.clone(), - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, - }, - )) - }, - ) - .await -} - -/// Builds a new object suitable for chain operations. -pub fn new_chain_ops( - mut config: &mut Configuration, -) -> Result< - ( - Arc, - Arc, - sc_consensus::import_queue::BasicQueue>, - TaskManager, - ), - ServiceError, -> { - config.keystore = sc_service::config::KeystoreConfig::InMemory; - if config.chain_spec.is_asgard() { - #[cfg(feature = "with-asgard-runtime")] - { - let PartialComponents { client, backend, import_queue, task_manager, .. } = - new_partial::(config, false)?; - Ok((Arc::new(Client::Asgard(client)), backend, import_queue, task_manager)) - } - #[cfg(not(feature = "with-asgard-runtime"))] - Err(ASGARD_RUNTIME_NOT_AVAILABLE.into()) - } else if config.chain_spec.is_bifrost() { - #[cfg(feature = "with-bifrost-runtime")] - { - let PartialComponents { client, backend, import_queue, task_manager, .. } = - new_partial::(config, false)?; - Ok((Arc::new(Client::Bifrost(client)), backend, import_queue, task_manager)) - } - #[cfg(not(feature = "with-bifrost-runtime"))] - Err(BIFROST_RUNTIME_NOT_AVAILABLE.into()) - } else { - Err(UNKNOWN_RUNTIME.into()) - } -} diff --git a/pallets/bridge-eos/Cargo.toml b/pallets/bridge-eos/Cargo.toml index ee624b4e50..b6a1087a3b 100644 --- a/pallets/bridge-eos/Cargo.toml +++ b/pallets/bridge-eos/Cargo.toml @@ -35,7 +35,6 @@ vtoken-mint = { package = "bifrost-vtoken-mint", path = "../vtoken-mint" } substrate-offchain = { version = "3.0.0", package = "sp-offchain" } pallet-balances = { version = "3.0.0" } -pallet-randomness-collective-flip = "3.0.0" [features] diff --git a/pallets/bridge-eos/src/mock.rs b/pallets/bridge-eos/src/mock.rs index 6dbf327513..ab49686d22 100644 --- a/pallets/bridge-eos/src/mock.rs +++ b/pallets/bridge-eos/src/mock.rs @@ -54,7 +54,6 @@ construct_runtime!( Currencies: orml_currencies::{Pallet, Call, Storage, Event}, Assets: orml_tokens::{Pallet, Call, Storage, Event, Config}, PalletBalances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage}, MinterReward: minter_reward::{Pallet, Storage, Event}, } diff --git a/pallets/salp-lite/Cargo.toml b/pallets/salp-lite/Cargo.toml index 75125a7853..647b4ec5fa 100644 --- a/pallets/salp-lite/Cargo.toml +++ b/pallets/salp-lite/Cargo.toml @@ -28,7 +28,6 @@ orml-tokens = "0.4.1-dev" orml-currencies = "0.4.1-dev" pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } bifrost-bancor = { path = "../../pallets/bancor" } -bifrost-runtime = { path = "../../runtime/bifrost" } [features] default = ["std"] diff --git a/pallets/salp/Cargo.toml b/pallets/salp/Cargo.toml index 804be73e48..3827581cdf 100644 --- a/pallets/salp/Cargo.toml +++ b/pallets/salp/Cargo.toml @@ -32,7 +32,7 @@ orml-tokens = "0.4.1-dev" orml-currencies = "0.4.1-dev" pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } bifrost-bancor = { path = "../../pallets/bancor" } -bifrost-runtime = { path = "../../runtime/bifrost" } +bifrost-kusama-runtime = { path = "../../runtime/bifrost" } [features] default = ["std"] diff --git a/pallets/salp/src/mock.rs b/pallets/salp/src/mock.rs index 982cf9b16b..f188f8587a 100644 --- a/pallets/salp/src/mock.rs +++ b/pallets/salp/src/mock.rs @@ -17,7 +17,7 @@ // along with this program. If not, see . // Ensure we're `no_std` when compiling for Wasm. -use bifrost_runtime::create_x2_multilocation; +use bifrost_kusama_runtime::create_x2_multilocation; use frame_support::{ construct_runtime, parameter_types, traits::{EnsureOrigin, GenesisBuild, Nothing}, diff --git a/runtime/asgard/Cargo.toml b/runtime/asgard/Cargo.toml index 89eff95a14..c35d25af3b 100644 --- a/runtime/asgard/Cargo.toml +++ b/runtime/asgard/Cargo.toml @@ -50,7 +50,6 @@ pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "po pallet-membership = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } -pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } @@ -60,7 +59,6 @@ pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } -pallet-society = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } # Cumulus dependencies cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.12" } @@ -145,7 +143,6 @@ std = [ "pallet-membership/std", "pallet-multisig/std", "pallet-proxy/std", - "pallet-randomness-collective-flip/std", "pallet-sudo/std", "pallet-timestamp/std", "pallet-tips/std", @@ -155,7 +152,6 @@ std = [ "pallet-session/std", "pallet-vesting/std", "pallet-utility/std", - "pallet-society/std", "sp-arithmetic/std", "sp-api/std", "sp-block-builder/std", @@ -218,7 +214,6 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", - "pallet-society/runtime-benchmarks", "bifrost-salp/runtime-benchmarks", "bifrost-salp-lite/runtime-benchmarks", "bifrost-bancor/runtime-benchmarks", diff --git a/runtime/asgard/src/lib.rs b/runtime/asgard/src/lib.rs index 68fee3eab1..87e2291e50 100644 --- a/runtime/asgard/src/lib.rs +++ b/runtime/asgard/src/lib.rs @@ -817,8 +817,6 @@ impl parachain_info::Config for Runtime {} impl cumulus_pallet_aura_ext::Config for Runtime {} -impl pallet_randomness_collective_flip::Config for Runtime {} - parameter_types! { pub const KsmLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Kusama; @@ -1115,7 +1113,7 @@ impl orml_currencies::Config for Runtime { orml_traits::parameter_type_with_key! { pub ExistentialDeposits: |currency_id: CurrencyId| -> Balance { match currency_id { - &CurrencyId::Native(TokenSymbol::BNC) => 10 * milli(NativeCurrencyId::get()), // 0.01 BNC + &CurrencyId::Native(TokenSymbol::ASG) => 10 * milli(NativeCurrencyId::get()), // 0.01 BNC &CurrencyId::Stable(TokenSymbol::KUSD) => 10 * millicent(StableCurrencyId::get()), &CurrencyId::Token(TokenSymbol::KSM) => 10 * millicent(RelayCurrencyId::get()), // 0.0001 KSM &CurrencyId::Token(TokenSymbol::KAR) => 10 * millicent(CurrencyId::Token(TokenSymbol::KAR)), @@ -1594,7 +1592,6 @@ construct_runtime! { Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, Indices: pallet_indices::{Pallet, Call, Storage, Config, Event} = 2, Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 3, - RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 4, ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned} = 5, ParachainInfo: parachain_info::{Pallet, Storage, Config} = 6, diff --git a/runtime/bifrost-polkadot/Cargo.toml b/runtime/bifrost-polkadot/Cargo.toml new file mode 100644 index 0000000000..68b5ff7bb2 --- /dev/null +++ b/runtime/bifrost-polkadot/Cargo.toml @@ -0,0 +1,169 @@ +[package] +name = "bifrost-polkadot-runtime" +version = "0.8.0" +authors = ["Edwin Wang "] +edition = "2018" +build = "build.rs" + +[dependencies] +# third-party dependencies +codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false, features = [ + "derive", + "max-encoded-len", +] } +hex-literal = { version = "0.3.1" } +log = { version = "0.4.14", default-features = false } +scale-info = { version = "1.0.0", default-features = false, features = ["derive"] } +smallvec = "1.6.1" +static_assertions = "1.1.0" +# primitives +node-primitives = { default-features = false, path = "../../node/primitives" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-arithmetic = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +sp-version = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } + +# frame dependencies +frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false, optional = true } +frame-executive = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false, optional = true } +pallet-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-bounties = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-democracy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-identity = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } + +# Cumulus dependencies +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +pallet-collator-selection = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } +parachain-info = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } + +# Polkadot dependencies +pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } +polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } +xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } +xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } +xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.12", default-features = false } + +# Bifrost +pallet-vesting = { package = "bifrost-vesting", path = "../../pallets/vesting", default-features = false } +bifrost-runtime-common = { package = "bifrost-runtime-common", path = "../common", default-features = false } +xcm-support = { path = "../../xcm-support", default-features = false } + +[build-dependencies] +substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12" } + +[features] +default = ["std"] +std = [ + "codec/std", + "scale-info/std", + "log/std", + "frame-executive/std", + "frame-try-runtime/std", + "frame-support/std", + "frame-system-rpc-runtime-api/std", + "frame-system/std", + "node-primitives/std", + "pallet-balances/std", + "pallet-bounties/std", + "pallet-democracy/std", + "pallet-identity/std", + "pallet-indices/std", + "pallet-multisig/std", + "pallet-proxy/std", + "pallet-timestamp/std", + "pallet-transaction-payment-rpc-runtime-api/std", + "pallet-transaction-payment/std", + "pallet-treasury/std", + "pallet-sudo/std", + "sp-api/std", + "sp-arithmetic/std", + "sp-block-builder/std", + "sp-consensus-aura/std", + "sp-inherents/std", + "sp-offchain/std", + "sp-core/std", + "sp-runtime/std", + "sp-std/std", + "sp-session/std", + "sp-transaction-pool/std", + "parachain-info/std", + "cumulus-pallet-aura-ext/std", + "cumulus-pallet-dmp-queue/std", + "cumulus-pallet-parachain-system/std", + "cumulus-pallet-xcmp-queue/std", + "cumulus-pallet-xcm/std", + "cumulus-primitives-core/std", + "cumulus-primitives-timestamp/std", + "cumulus-primitives-utility/std", + "xcm/std", + "xcm-builder/std", + "xcm-executor/std", + "polkadot-primitives/std", + "pallet-aura/std", + "pallet-collator-selection/std", + "pallet-session/std", + "pallet-vesting/std", + "xcm-support/std", + "bifrost-runtime-common/std", + "pallet-xcm/std", +] +with-tracing = ["frame-executive/with-tracing"] + +runtime-benchmarks = [ + "frame-benchmarking", + "frame-system-benchmarking", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-bounties/runtime-benchmarks", + "pallet-indices/runtime-benchmarks", + "pallet-scheduler/runtime-benchmarks", + "pallet-timestamp/runtime-benchmarks", + "pallet-treasury/runtime-benchmarks", + "pallet-utility/runtime-benchmarks", + "pallet-vesting/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", +] + +try-runtime = [ + "frame-executive/try-runtime", + "frame-try-runtime", + "frame-system/try-runtime", + "pallet-vesting/try-runtime", +] diff --git a/runtime/bifrost-polkadot/build.rs b/runtime/bifrost-polkadot/build.rs new file mode 100644 index 0000000000..26e0497ca6 --- /dev/null +++ b/runtime/bifrost-polkadot/build.rs @@ -0,0 +1,27 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use substrate_wasm_builder::WasmBuilder; + +fn main() { + WasmBuilder::new() + .with_current_project() + .export_heap_base() + .import_memory() + .build() +} diff --git a/runtime/bifrost-polkadot/src/constants.rs b/runtime/bifrost-polkadot/src/constants.rs new file mode 100644 index 0000000000..0885f32e62 --- /dev/null +++ b/runtime/bifrost-polkadot/src/constants.rs @@ -0,0 +1,119 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! A set of constant values used in Bifrost runtime. + +/// Money matters. +pub mod currency { + use frame_support::weights::{ + constants::{ExtrinsicBaseWeight, WEIGHT_PER_SECOND}, + WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial, + }; + use node_primitives::Balance; + use smallvec::smallvec; + pub use sp_runtime::Perbill; + + pub const BNCS: Balance = 1_000_000_000_000; + pub const DOLLARS: Balance = BNCS; + pub const CENTS: Balance = DOLLARS / 100; // assume this is worth about a cent. + pub const RELAY_CENTS: Balance = DOLLARS / 10_000; + pub const MILLICENTS: Balance = CENTS / 1_000; + pub const MILLIBNC: Balance = 1_000_000_000; + pub const MICROBNC: Balance = 1_000_000; + pub const XCM_WEIGHT: u64 = 1_000_000_000; + + pub const fn deposit(items: u32, bytes: u32) -> Balance { + items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS + } + + pub struct WeightToFee; + impl WeightToFeePolynomial for WeightToFee { + type Balance = Balance; + fn polynomial() -> WeightToFeeCoefficients { + let p = super::currency::RELAY_CENTS; + let q = 10 * Balance::from(ExtrinsicBaseWeight::get()); + smallvec![WeightToFeeCoefficient { + degree: 1, + negative: false, + coeff_frac: Perbill::from_rational(p % q, q), + coeff_integer: p / q, + }] + } + } + + fn base_tx_fee() -> Balance { + CENTS / 10 + } + + // 1 KSM = 10 DOT + // DOT precision is 1/100 of KSM and BNC + pub fn dot_per_second() -> u128 { + let base_weight = Balance::from(ExtrinsicBaseWeight::get()); + let base_tx_per_second = (WEIGHT_PER_SECOND as u128) / base_weight; + let fee_per_second = base_tx_per_second * base_tx_fee(); + fee_per_second / 100 * 10 / 100 + } +} + +/// Time. +pub mod time { + use node_primitives::{BlockNumber, Moment}; + + /// Since BABE is probabilistic this is the average expected block time that + /// we are targetting. Blocks will be produced at a minimum duration defined + /// by `SLOT_DURATION`, but some slots will not be allocated to any + /// authority and hence no block will be produced. We expect to have this + /// block time on average following the defined slot duration and the value + /// of `c` configured for BABE (where `1 - c` represents the probability of + /// a slot being empty). + /// This value is only used indirectly to define the unit constants below + /// that are expressed in blocks. The rest of the code should use + /// `SLOT_DURATION` instead (like the Timestamp pallet for calculating the + /// minimum period). + /// + /// If using BABE with secondary slots (default) then all of the slots will + /// always be assigned, in which case `MILLISECS_PER_BLOCK` and + /// `SLOT_DURATION` should have the same value. + /// + /// + pub const MILLISECS_PER_BLOCK: Moment = 12000; + pub const SECS_PER_BLOCK: Moment = MILLISECS_PER_BLOCK / 1000; + + pub const SLOT_DURATION: Moment = MILLISECS_PER_BLOCK; + + // 1 in 4 blocks (on average, not counting collisions) will be primary BABE blocks. + pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); + + pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 6 * HOURS; + pub const EPOCH_DURATION_IN_SLOTS: u64 = { + const SLOT_FILL_RATE: f64 = MILLISECS_PER_BLOCK as f64 / SLOT_DURATION as f64; + + (EPOCH_DURATION_IN_BLOCKS as f64 * SLOT_FILL_RATE) as u64 + }; + + // These time units are defined in number of blocks. + pub const MINUTES: BlockNumber = 60 / (SECS_PER_BLOCK as BlockNumber); + pub const HOURS: BlockNumber = MINUTES * 60; + pub const DAYS: BlockNumber = HOURS * 24; + pub const WEEKS: BlockNumber = DAYS * 7; + + // The `LeasePeriod` defination from `polkadot`. + pub const KUSAMA_LEASE_PERIOD: BlockNumber = 6 * WEEKS; + pub const ROCOCO_LEASE_PERIOD: BlockNumber = 1 * DAYS; + pub const WESTEND_LEASE_PERIOD: BlockNumber = 28 * DAYS; +} diff --git a/runtime/bifrost-polkadot/src/lib.rs b/runtime/bifrost-polkadot/src/lib.rs new file mode 100644 index 0000000000..80a35849bd --- /dev/null +++ b/runtime/bifrost-polkadot/src/lib.rs @@ -0,0 +1,1020 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! The Bifrost Node runtime. This can be compiled with `#[no_std]`, ready for Wasm. + +#![cfg_attr(not(feature = "std"), no_std)] +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit = "256"] + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +// A few exports that help ease life for downstream crates. +pub use frame_support::{ + construct_runtime, match_type, parameter_types, + traits::{ + Contains, Everything, Imbalance, InstanceFilter, IsInVec, Nothing, OnUnbalanced, Randomness, + }, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + DispatchClass, IdentityFee, Weight, + }, + PalletId, RuntimeDebug, StorageValue, +}; +use frame_system::limits::{BlockLength, BlockWeights}; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_timestamp::Call as TimestampCall; +use pallet_transaction_payment::CurrencyAdapter; +use sp_api::impl_runtime_apis; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::OpaqueMetadata; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::{BlakeTwo256, Block as BlockT, ConvertInto}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, +}; +pub use sp_runtime::{Perbill, Permill}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; + +/// Constant values used within the runtime. +pub mod constants; +use bifrost_runtime_common::{r#impl::BifrostFilteredAssets, SlowAdjustingFeeUpdate}; +use codec::{Decode, Encode, MaxEncodedLen}; +use constants::{currency::*, time::*}; +use cumulus_primitives_core::ParaId as CumulusParaId; +use frame_support::traits::Currency; +use frame_system::EnsureRoot; +pub use node_primitives::{ + traits::CheckSubAccount, AccountId, Amount, Balance, BlockNumber, CurrencyId, ExtraFeeName, + Moment, Nonce, ParaId, ParachainDerivedProxyAccountType, ParachainTransactProxyType, + ParachainTransactType, PoolId, RpcContributionStatus, TokenSymbol, TransferOriginType, + XcmBaseWeight, +}; +use pallet_xcm::XcmPassthrough; +// XCM imports +use polkadot_parachain::primitives::Sibling; +use sp_arithmetic::Percent; +use xcm::latest::prelude::*; +use xcm_builder::{ + AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, + AllowTopLevelPaidExecutionFrom, CurrencyAdapter as XcmCurrencyAdapter, EnsureXcmOrigin, + FixedWeightBounds, IsConcrete, LocationInverter, ParentAsSuperuser, ParentIsDefault, + RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, + SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, + UsingComponents, +}; +use xcm_executor::{Config, XcmExecutor}; + +// Weights used in the runtime. +mod weights; + +impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + } +} + +/// This runtime version. +#[sp_version::runtime_version] +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("bifrost_polkadot"), + impl_name: create_runtime_str!("bifrost_polkadot"), + authoring_version: 0, + spec_version: 910, + impl_version: 0, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, +}; + +/// The version information used to identify this runtime when compiled natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } +} + +/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers. +/// This is used to limit the maximal weight of a single extrinsic. +const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); +/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used +/// by Operational extrinsics. +const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); +/// We allow for .5 seconds of compute with a 12 second average block time. +const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2; + +parameter_types! { + pub const BlockHashCount: BlockNumber = 250; + pub const Version: RuntimeVersion = VERSION; + pub RuntimeBlockLength: BlockLength = + BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); + pub const SS58Prefix: u8 = 6; +} + +parameter_types! { + pub const NativeCurrencyId: CurrencyId = CurrencyId::Native(TokenSymbol::BNC); + pub const RelayCurrencyId: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); + pub SelfParaId: u32 = ParachainInfo::parachain_id().into(); +} + +parameter_types! { + pub const TreasuryPalletId: PalletId = PalletId(*b"bf/trsry"); +} + +impl frame_system::Config for Runtime { + type AccountData = pallet_balances::AccountData; + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + type BaseCallFilter = Everything; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). + type BlockHashCount = BlockHashCount; + type BlockLength = RuntimeBlockLength; + /// The index type for blocks. + type BlockNumber = BlockNumber; + type BlockWeights = RuntimeBlockWeights; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + type DbWeight = RocksDbWeight; + /// The ubiquitous event type. + type Event = Event; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The lookup mechanism to get account ID from whatever is passed in dispatchers. + type Lookup = Indices; + type OnKilledAccount = (); + type OnNewAccount = (); + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; + /// The ubiquitous origin type. + type Origin = Origin; + /// Converts a module to an index of this module in the runtime. + type PalletInfo = PalletInfo; + type SS58Prefix = SS58Prefix; + type SystemWeightInfo = (); + /// Runtime version. + type Version = Version; +} + +parameter_types! { + pub const MinimumPeriod: Moment = SLOT_DURATION / 2; +} + +impl pallet_timestamp::Config for Runtime { + type MinimumPeriod = MinimumPeriod; + /// A timestamp: milliseconds since the unix epoch. + type Moment = Moment; + type OnTimestampSet = (); + type WeightInfo = (); +} + +parameter_types! { + pub const ExistentialDeposit: Balance = 10 * MILLIBNC; + pub const TransferFee: Balance = 1 * MILLIBNC; + pub const CreationFee: Balance = 1 * MILLIBNC; + pub const TransactionByteFee: Balance = 1 * MICROBNC; + pub const OperationalFeeMultiplier: u8 = 5; + pub const MaxLocks: u32 = 50; + pub const MaxReserves: u32 = 50; +} + +impl pallet_utility::Config for Runtime { + type Call = Call; + type Event = Event; + type WeightInfo = (); +} + +parameter_types! { + // One storage item; key size 32, value size 8; . + pub const ProxyDepositBase: Balance = deposit(1, 8); + // Additional storage item size of 33 bytes. + pub const ProxyDepositFactor: Balance = deposit(0, 33); + pub const MaxProxies: u16 = 32; + pub const AnnouncementDepositBase: Balance = deposit(1, 8); + pub const AnnouncementDepositFactor: Balance = deposit(0, 66); + pub const MaxPending: u16 = 32; +} + +/// The type used to represent the kinds of proxying allowed. +#[derive( + Copy, + Clone, + Eq, + PartialEq, + Ord, + PartialOrd, + Encode, + Decode, + RuntimeDebug, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub enum ProxyType { + Any = 0, + NonTransfer = 1, + Governance = 2, + CancelProxy = 3, + IdentityJudgement = 4, +} + +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} +impl InstanceFilter for ProxyType { + fn filter(&self, c: &Call) -> bool { + match self { + ProxyType::Any => true, + ProxyType::NonTransfer => matches!( + c, + Call::System(..) | + Call::Scheduler(..) | + Call::Timestamp(..) | + Call::Indices(pallet_indices::Call::claim{..}) | + Call::Indices(pallet_indices::Call::free{..}) | + Call::Indices(pallet_indices::Call::freeze{..}) | + // Specifically omitting Indices `transfer`, `force_transfer` + // Specifically omitting the entire Balances pallet + Call::Authorship(..) | + Call::Session(..) | + Call::Treasury(..) | + Call::Bounties(..) | + Call::Vesting(pallet_vesting::Call::vest{..}) | + Call::Vesting(pallet_vesting::Call::vest_other{..}) | + // Specifically omitting Vesting `vested_transfer`, and `force_vested_transfer` + Call::Utility(..) | + Call::Proxy(..) | + Call::Multisig(..) + ), + ProxyType::Governance => matches!(c, Call::Treasury(..) | Call::Bounties(..)), + ProxyType::CancelProxy => { + matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement { .. })) + }, + ProxyType::IdentityJudgement => matches!( + c, + Call::Identity(pallet_identity::Call::provide_judgement { .. }) | Call::Utility(..) + ), + } + } + + fn is_superset(&self, o: &Self) -> bool { + match (self, o) { + (x, y) if x == y => true, + (ProxyType::Any, _) => true, + (_, ProxyType::Any) => false, + (ProxyType::NonTransfer, _) => true, + _ => false, + } + } +} + +impl pallet_proxy::Config for Runtime { + type AnnouncementDepositBase = AnnouncementDepositBase; + type AnnouncementDepositFactor = AnnouncementDepositFactor; + type Call = Call; + type CallHasher = BlakeTwo256; + type Currency = Balances; + type Event = Event; + type MaxPending = MaxPending; + type MaxProxies = MaxProxies; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type ProxyType = ProxyType; + type WeightInfo = (); +} + +parameter_types! { + pub MaximumSchedulerWeight: Weight = Perbill::from_percent(80) * + RuntimeBlockWeights::get().max_block; + pub const MaxScheduledPerBlock: u32 = 50; +} + +impl pallet_scheduler::Config for Runtime { + type Call = Call; + type Event = Event; + type MaxScheduledPerBlock = MaxScheduledPerBlock; + type MaximumWeight = MaximumSchedulerWeight; + type Origin = Origin; + type PalletsOrigin = OriginCaller; + type ScheduleOrigin = EnsureRoot; + type WeightInfo = (); +} + +parameter_types! { + // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. + pub const DepositBase: Balance = deposit(1, 88); + // Additional storage item size of 32 bytes. + pub const DepositFactor: Balance = deposit(0, 32); + pub const MaxSignatories: u16 = 100; +} + +impl pallet_multisig::Config for Runtime { + type Call = Call; + type Currency = Balances; + type DepositBase = DepositBase; + type DepositFactor = DepositFactor; + type Event = Event; + type MaxSignatories = MaxSignatories; + type WeightInfo = (); +} + +parameter_types! { + // Minimum 4 CENTS/byte + pub const BasicDeposit: Balance = deposit(1, 258); + pub const FieldDeposit: Balance = deposit(0, 66); + pub const SubAccountDeposit: Balance = deposit(1, 53); + pub const MaxSubAccounts: u32 = 100; + pub const MaxAdditionalFields: u32 = 100; + pub const MaxRegistrars: u32 = 20; +} + +impl pallet_identity::Config for Runtime { + type Event = Event; + type Currency = Balances; + type BasicDeposit = BasicDeposit; + type FieldDeposit = FieldDeposit; + type SubAccountDeposit = SubAccountDeposit; + type MaxSubAccounts = MaxSubAccounts; + type MaxAdditionalFields = MaxAdditionalFields; + type MaxRegistrars = MaxRegistrars; + type Slashed = Treasury; + type ForceOrigin = EnsureRoot; + type RegistrarOrigin = EnsureRoot; + type WeightInfo = (); +} + +parameter_types! { + pub const IndexDeposit: Balance = 1 * DOLLARS; +} + +impl pallet_indices::Config for Runtime { + type AccountIndex = AccountIndex; + type Currency = Balances; + type Deposit = IndexDeposit; + type Event = Event; + type WeightInfo = (); +} + +impl pallet_balances::Config for Runtime { + type AccountStore = System; + /// The type for recording an account's balance. + type Balance = Balance; + type DustRemoval = Treasury; + /// The ubiquitous event type. + type Event = Event; + type ExistentialDeposit = ExistentialDeposit; + type MaxLocks = MaxLocks; + type MaxReserves = MaxReserves; + type ReserveIdentifier = [u8; 8]; + type WeightInfo = (); +} + +parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); + pub const ProposalBondMinimum: Balance = 100 * DOLLARS; + pub const SpendPeriod: BlockNumber = 6 * DAYS; + pub const Burn: Permill = Permill::from_perthousand(0); + + pub const TipCountdown: BlockNumber = 1 * DAYS; + pub const TipFindersFee: Percent = Percent::from_percent(20); + pub const TipReportDepositBase: Balance = 1 * DOLLARS; + pub const DataDepositPerByte: Balance = 10 * CENTS; + pub const BountyDepositBase: Balance = 1 * DOLLARS; + pub const BountyDepositPayoutDelay: BlockNumber = 4 * DAYS; + pub const BountyUpdatePeriod: BlockNumber = 90 * DAYS; + pub const MaximumReasonLength: u32 = 16384; + pub const BountyCuratorDeposit: Permill = Permill::from_percent(50); + pub const BountyValueMinimum: Balance = 10 * DOLLARS; + pub const MaxApprovals: u32 = 100; +} + +impl pallet_treasury::Config for Runtime { + type ApproveOrigin = EnsureRoot; + type Burn = Burn; + type BurnDestination = (); + type Currency = Balances; + type Event = Event; + type MaxApprovals = MaxApprovals; + type OnSlash = Treasury; + type PalletId = TreasuryPalletId; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ProposalBondMinimum; + type RejectOrigin = EnsureRoot; + type SpendFunds = Bounties; + type SpendPeriod = SpendPeriod; + type WeightInfo = (); +} + +impl pallet_bounties::Config for Runtime { + type BountyCuratorDeposit = BountyCuratorDeposit; + type BountyDepositBase = BountyDepositBase; + type BountyDepositPayoutDelay = BountyDepositPayoutDelay; + type BountyUpdatePeriod = BountyUpdatePeriod; + type BountyValueMinimum = BountyValueMinimum; + type DataDepositPerByte = DataDepositPerByte; + type Event = Event; + type MaximumReasonLength = MaximumReasonLength; + type WeightInfo = (); +} + +// 100% percent of fees and tips are deposited to treasury. +type NegativeImbalance = >::NegativeImbalance; +pub struct DealWithFees; +impl OnUnbalanced for DealWithFees { + fn on_unbalanceds(mut fees_then_tips: impl Iterator) { + if let Some(fees) = fees_then_tips.next() { + let total_balance; + if let Some(tips) = fees_then_tips.next() { + total_balance = tips.merge(fees); + } else { + total_balance = fees; + } + Treasury::on_unbalanced(total_balance); + } + } +} + +impl pallet_transaction_payment::Config for Runtime { + type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; + type OnChargeTransaction = CurrencyAdapter; + type TransactionByteFee = TransactionByteFee; + type OperationalFeeMultiplier = OperationalFeeMultiplier; + type WeightToFee = IdentityFee; +} + +impl pallet_sudo::Config for Runtime { + type Call = Call; + type Event = Event; +} + +// culumus runtime start +parameter_types! { + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type DmpMessageHandler = DmpQueue; + type Event = Event; + type OnValidationData = (); + type OutboundXcmpMessageSource = XcmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; + type ReservedXcmpWeight = ReservedXcmpWeight; + type SelfParaId = parachain_info::Pallet; + type XcmpMessageHandler = XcmpQueue; +} + +impl parachain_info::Config for Runtime {} + +impl cumulus_pallet_aura_ext::Config for Runtime {} + +parameter_types! { + pub const DotLocation: MultiLocation = MultiLocation::parent(); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); + pub SelfParaChainId: CumulusParaId = ParachainInfo::parachain_id(); + pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); +} + +/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used +/// when determining ownership of accounts for asset transacting and when attempting to use XCM +/// `Transact` in order to determine the dispatch Origin. +pub type LocationToAccountId = ( + // The parent (Relay-chain) origin converts to the default `AccountId`. + ParentIsDefault, + // Sibling parachain origins convert to AccountId via the `ParaId::into`. + SiblingParachainConvertsVia, + // Straight up local `AccountId32` origins just alias directly to `AccountId`. + AccountId32Aliases, +); + +/// Means for transacting assets on this chain. +pub type LocalAssetTransactor = XcmCurrencyAdapter< + // Use this currency: + Balances, + // Use this currency when it is a fungible asset matching the given location or name: + IsConcrete, + // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID: + LocationToAccountId, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // We don't track any teleports. + (), +>; + +/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, +/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can +/// biases the kind of local `Origin` it will become. +pub type XcmOriginToTransactDispatchOrigin = ( + // Sovereign account converter; this attempts to derive an `AccountId` from the origin location + // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for + // foreign chains who want to have a local sovereign account on this chain which they control. + SovereignSignedViaLocation, + // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when + // recognized. + RelayChainAsNative, + // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when + // recognized. + SiblingParachainAsNative, + // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a + // transaction from the Root origin. + ParentAsSuperuser, + // Native signed account converter; this just converts an `AccountId32` origin into a normal + // `Origin::Signed` origin of the same 32-byte value. + SignedAccountId32AsNative, + // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. + XcmPassthrough, +); + +parameter_types! { + // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer = 3_000_000_000 + pub UnitWeightCost: Weight = 200_000_000; + pub const MaxInstructions: u32 = 100; +} + +match_type! { + pub type ParentOrParentsExecutivePlurality: impl Contains = { + MultiLocation { parents: 1, interior: Here } | + MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) } + }; +} + +pub type Barrier = ( + TakeWeightCredit, + AllowTopLevelPaidExecutionFrom, + AllowKnownQueryResponses, + AllowSubscriptionsFrom, +); + +parameter_types! { + pub DotPerSecond: (AssetId, u128) = (MultiLocation::parent().into(), dot_per_second()); +} + +pub struct XcmConfig; +impl Config for XcmConfig { + type AssetClaims = PolkadotXcm; + type AssetTransactor = LocalAssetTransactor; + type AssetTrap = PolkadotXcm; + type Barrier = Barrier; + type Call = Call; + type IsReserve = BifrostFilteredAssets; + type IsTeleporter = (); + type LocationInverter = LocationInverter; + type OriginConverter = XcmOriginToTransactDispatchOrigin; + type ResponseHandler = PolkadotXcm; + type SubscriptionService = PolkadotXcm; + type Trader = UsingComponents, DotLocation, AccountId, Balances, ()>; + type Weigher = FixedWeightBounds; + type XcmSender = XcmRouter; +} + +/// Local origins on this chain are allowed to dispatch XCM sends/executions. +pub type LocalOriginToLocation = SignedToAccountId32; + +/// The means for routing XCM messages which are not for local execution into the right message +/// queues. +pub type XcmRouter = ( + // Two routers - use UMP to communicate with the relay chain: + cumulus_primitives_utility::ParentAsUmp, + // ..and XCMP to communicate with the sibling chains. + XcmpQueue, +); + +impl pallet_xcm::Config for Runtime { + type Event = Event; + type ExecuteXcmOrigin = EnsureXcmOrigin; + type LocationInverter = LocationInverter; + type SendXcmOrigin = EnsureXcmOrigin; + type Weigher = FixedWeightBounds; + type XcmExecuteFilter = Everything; + type XcmExecutor = XcmExecutor; + type XcmReserveTransferFilter = Everything; + type XcmRouter = XcmRouter; + type XcmTeleportFilter = Everything; + type Origin = Origin; + type Call = Call; + const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; + type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; +} + +impl cumulus_pallet_xcm::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; +} + +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type ChannelInfo = ParachainSystem; + type Event = Event; + type VersionWrapper = PolkadotXcm; + type XcmExecutor = XcmExecutor; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type Event = Event; + type ExecuteOverweightOrigin = frame_system::EnsureRoot; + type XcmExecutor = XcmExecutor; +} + +parameter_types! { + pub const Period: u32 = 6 * HOURS; + pub const Offset: u32 = 0; +} + +impl pallet_session::Config for Runtime { + type Event = Event; + type Keys = SessionKeys; + type NextSessionRotation = pallet_session::PeriodicSessions; + // Essentially just Aura, but lets be pedantic. + type SessionHandler = ::KeyTypeIdProviders; + type SessionManager = CollatorSelection; + type ShouldEndSession = pallet_session::PeriodicSessions; + type ValidatorId = ::AccountId; + // we don't have stash and controller, thus we don't need the convert as well. + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type WeightInfo = (); +} + +parameter_types! { + pub const UncleGenerations: u32 = 0; +} + +impl pallet_authorship::Config for Runtime { + type EventHandler = (CollatorSelection,); + type FilterUncle = (); + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type UncleGenerations = UncleGenerations; +} + +parameter_types! { + pub const MaxAuthorities: u32 = 100_000; +} + +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); + type MaxAuthorities = MaxAuthorities; +} + +parameter_types! { + pub const PotId: PalletId = PalletId(*b"PotStake"); + pub const MaxCandidates: u32 = 1000; + pub const MinCandidates: u32 = 5; + pub const SessionLength: BlockNumber = 6 * HOURS; + pub const MaxInvulnerables: u32 = 100; +} + +impl pallet_collator_selection::Config for Runtime { + type Currency = Balances; + type Event = Event; + // should be a multiple of session or things will get inconsistent + type KickThreshold = Period; + type MaxCandidates = MaxCandidates; + type MaxInvulnerables = MaxInvulnerables; + type MinCandidates = MinCandidates; + type PotId = PotId; + type UpdateOrigin = EnsureRoot; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = (); +} + +// culumus runtime end + +impl pallet_vesting::Config for Runtime { + type BlockNumberToBalance = ConvertInto; + type Currency = Balances; + type Event = Event; + type MinVestedTransfer = ExistentialDeposit; + type WeightInfo = (); +} + +construct_runtime! { + pub enum Runtime where + Block = Block, + NodeBlock = generic::Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + // Basic stuff + System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, + Indices: pallet_indices::{Pallet, Call, Storage, Config, Event} = 2, + Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 3, + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned} = 5, + ParachainInfo: parachain_info::{Pallet, Storage, Config} = 6, + + // Monetary stuff + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 10, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 11, + + // Collator support. the order of these 4 are important and shall not change. + Authorship: pallet_authorship::{Pallet, Call, Storage} = 20, + CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 21, + Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 22, + Aura: pallet_aura::{Pallet, Storage, Config} = 23, + AuraExt: cumulus_pallet_aura_ext::{Pallet, Storage, Config} = 24, + + // XCM helpers. + XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 40, + PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin, Config} = 41, + CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 42, + DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 43, + + // utilities + Utility: pallet_utility::{Pallet, Call, Event} = 50, + Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event} = 51, + Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 52, + Multisig: pallet_multisig::{Pallet, Call, Storage, Event} = 53, + Identity: pallet_identity::{Pallet, Call, Storage, Event} = 54, + + // Vesting. Usable initially, but removed once all vesting is finished. + Vesting: pallet_vesting::{Pallet, Call, Storage, Event, Config} = 60, + + // Treasury stuff + Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event} = 61, + Bounties: pallet_bounties::{Pallet, Call, Storage, Event} = 62, + } +} + +/// The type for looking up accounts. We don't expect more than 4 billion of them. +pub type AccountIndex = u32; +/// Alias to 512-bit hash when used in the context of a transaction signature on the chain. +pub type Signature = sp_runtime::MultiSignature; +/// Index of a transaction in the chain. +pub type Index = u32; +/// A hash of some data used by the chain. +pub type Hash = sp_core::H256; +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; +/// Block header type as expected by this runtime. +pub type Header = generic::Header; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_transaction_payment::ChargeTransactionPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = generic::CheckedExtrinsic; +/// Executive: handles dispatch to the various modules. +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPallets, + (), +>; + +impl_runtime_apis! { + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } + } + + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block); + } + + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic( + extrinsic: ::Extrinsic, + ) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents(block: Block, data: sp_inherents::InherentData) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Nonce { + System::account_nonce(account) + } + } + + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi< + Block, + Balance, + > for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + OpaqueMetadata::new(Runtime::metadata().into()) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn decode_session_keys( + encoded: Vec, + ) -> Option, sp_core::crypto::KeyTypeId)>> { + SessionKeys::decode_into_raw_public_keys(&encoded) + } + + fn generate_session_keys(seed: Option>) -> Vec { + SessionKeys::generate(seed) + } + } + + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info() + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } + + fn authorities() -> Vec { + Aura::authorities().into_inner() + } + } + + #[cfg(feature = "runtime-benchmarks")] + impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(extra: bool) -> ( + Vec, + Vec, + ) { + use frame_support::traits::StorageInfoTrait; + use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList}; + + let mut list = Vec::::new(); + + let storage_info = AllPalletsWithSystem::storage_info(); + + return (list, storage_info) + } + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + use frame_system_benchmarking::Pallet as SystemBench; + + impl frame_system_benchmarking::Config for Runtime {} + + let whitelist: Vec = vec![ + // you can whitelist any storage keys you do not want to track here + ]; + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + + // Adding the pallet you will perform the benchmarking + add_benchmark!(params, batches, frame_system, SystemBench::); + add_benchmark!(params, batches, pallet_balances, Balances); + add_benchmark!(params, batches, pallet_bounties, Bounties); + add_benchmark!(params, batches, pallet_indices, Indices); + add_benchmark!(params, batches, pallet_scheduler, Scheduler); + add_benchmark!(params, batches, pallet_timestamp, Timestamp); + add_benchmark!(params, batches, pallet_treasury, Treasury); + add_benchmark!(params, batches, pallet_utility, Utility); + add_benchmark!(params, batches, pallet_vesting, Vesting); + + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } + Ok(batches) + } + } + + #[cfg(feature = "try-runtime")] + impl frame_try_runtime::TryRuntime for Runtime { + fn on_runtime_upgrade() -> (Weight, Weight) { + log::info!("try-runtime::on_runtime_upgrade bifrost-polkadot."); + let weight = Executive::try_runtime_upgrade().unwrap(); + (weight, RuntimeBlockWeights::get().max_block) + } + fn execute_block_no_check(block: Block) -> Weight { + Executive::execute_block_no_check(block) + } + } +} + +struct CheckInherents; + +impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { + fn check_inherents( + block: &Block, + relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, + ) -> sp_inherents::CheckInherentsResult { + let relay_chain_slot = relay_state_proof + .read_slot() + .expect("Could not read the relay chain slot from the proof"); + + let inherent_data = + cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( + relay_chain_slot, + sp_std::time::Duration::from_secs(6), + ) + .create_inherent_data() + .expect("Could not create the timestamp inherent data"); + + inherent_data.check_extrinsics(&block) + } +} + +cumulus_pallet_parachain_system::register_validate_block! { + Runtime = Runtime, + BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, + CheckInherents = CheckInherents, +} diff --git a/runtime/bifrost-polkadot/src/weights/frame_system.rs b/runtime/bifrost-polkadot/src/weights/frame_system.rs new file mode 100644 index 0000000000..9a34bf0220 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/frame_system.rs @@ -0,0 +1,84 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for frame_system +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-23, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=frame_system +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for frame_system. +pub struct WeightInfo(PhantomData); +impl frame_system::WeightInfo for WeightInfo { + fn remark(_b: u32) -> Weight { + (3_385_000 as Weight) + } + fn remark_with_event(b: u32) -> Weight { + (68_651_000 as Weight) + // Standard Error: 0 + .saturating_add((2_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn set_heap_pages() -> Weight { + (4_193_000 as Weight).saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn set_changes_trie_config() -> Weight { + (22_114_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn set_storage(i: u32) -> Weight { + (0 as Weight) + // Standard Error: 0 + .saturating_add((971_000 as Weight).saturating_mul(i as Weight)) + .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight))) + } + fn kill_storage(i: u32) -> Weight { + (779_000 as Weight) + // Standard Error: 1_000 + .saturating_add((826_000 as Weight).saturating_mul(i as Weight)) + .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight))) + } + fn kill_prefix(p: u32) -> Weight { + (14_414_000 as Weight) + // Standard Error: 4_000 + .saturating_add((3_271_000 as Weight).saturating_mul(p as Weight)) + .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight))) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/mod.rs b/runtime/bifrost-polkadot/src/weights/mod.rs new file mode 100644 index 0000000000..a4f290fc44 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/mod.rs @@ -0,0 +1,31 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0 + +//! A list of the different weight modules for our runtime. + +pub mod frame_system; +pub mod pallet_balances; +pub mod pallet_bounties; +pub mod pallet_indices; +pub mod pallet_scheduler; +pub mod pallet_timestamp; +pub mod pallet_treasury; +pub mod pallet_utility; +pub mod pallet_vesting; diff --git a/runtime/bifrost-polkadot/src/weights/pallet_balances.rs b/runtime/bifrost-polkadot/src/weights/pallet_balances.rs new file mode 100644 index 0000000000..1df173a892 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_balances.rs @@ -0,0 +1,82 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_balances +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_balances +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_balances. +pub struct WeightInfo(PhantomData); +impl pallet_balances::WeightInfo for WeightInfo { + fn transfer() -> Weight { + (186_397_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn transfer_keep_alive() -> Weight { + (149_209_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn set_balance_creating() -> Weight { + (91_298_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn set_balance_killing() -> Weight { + (102_324_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn force_transfer() -> Weight { + (185_362_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + fn transfer_all() -> Weight { + (168_296_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + + fn force_unreserve() -> Weight { + (100_000_000 as Weight) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_bounties.rs b/runtime/bifrost-polkadot/src/weights/pallet_bounties.rs new file mode 100644 index 0000000000..1ce6d2f33d --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_bounties.rs @@ -0,0 +1,109 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_bounties +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-16, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_bounties +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_bounties. +pub struct WeightInfo(PhantomData); +impl pallet_bounties::WeightInfo for WeightInfo { + fn propose_bounty(d: u32) -> Weight { + (137_877_000 as Weight) + // Standard Error: 0 + .saturating_add((1_000 as Weight).saturating_mul(d as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + } + fn approve_bounty() -> Weight { + (35_317_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn propose_curator() -> Weight { + (28_655_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn unassign_curator() -> Weight { + (175_914_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + fn accept_curator() -> Weight { + (118_264_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn award_bounty() -> Weight { + (78_249_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn claim_bounty() -> Weight { + (410_681_000 as Weight) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().writes(7 as Weight)) + } + fn close_bounty_proposed() -> Weight { + (169_412_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + } + fn close_bounty_active() -> Weight { + (280_834_000 as Weight) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().writes(7 as Weight)) + } + fn extend_bounty_expiry() -> Weight { + (74_952_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn spend_funds(b: u32) -> Weight { + (1_383_602_000 as Weight) + // Standard Error: 2_279_000 + .saturating_add((150_816_000 as Weight).saturating_mul(b as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(b as Weight))) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight))) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_indices.rs b/runtime/bifrost-polkadot/src/weights/pallet_indices.rs new file mode 100644 index 0000000000..219fc805df --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_indices.rs @@ -0,0 +1,73 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_indices +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_indices +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_indices. +pub struct WeightInfo(PhantomData); +impl pallet_indices::WeightInfo for WeightInfo { + fn claim() -> Weight { + (110_804_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn transfer() -> Weight { + (143_279_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn free() -> Weight { + (112_222_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn force_transfer() -> Weight { + (114_400_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn freeze() -> Weight { + (112_784_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_scheduler.rs b/runtime/bifrost-polkadot/src/weights/pallet_scheduler.rs new file mode 100644 index 0000000000..136c0042f1 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_scheduler.rs @@ -0,0 +1,76 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_scheduler +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-16, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_scheduler +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_scheduler. +pub struct WeightInfo(PhantomData); +impl pallet_scheduler::WeightInfo for WeightInfo { + fn schedule(s: u32) -> Weight { + (79_887_000 as Weight) + // Standard Error: 4_000 + .saturating_add((353_000 as Weight).saturating_mul(s as Weight)) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn cancel(s: u32) -> Weight { + (75_324_000 as Weight) + // Standard Error: 32_000 + .saturating_add((9_873_000 as Weight).saturating_mul(s as Weight)) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn schedule_named(s: u32) -> Weight { + (99_023_000 as Weight) + // Standard Error: 7_000 + .saturating_add((350_000 as Weight).saturating_mul(s as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn cancel_named(s: u32) -> Weight { + (68_604_000 as Weight) + // Standard Error: 97_000 + .saturating_add((9_926_000 as Weight).saturating_mul(s as Weight)) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_timestamp.rs b/runtime/bifrost-polkadot/src/weights/pallet_timestamp.rs new file mode 100644 index 0000000000..300a57b234 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_timestamp.rs @@ -0,0 +1,56 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_timestamp +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_timestamp +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_timestamp. +pub struct WeightInfo(PhantomData); +impl pallet_timestamp::WeightInfo for WeightInfo { + fn set() -> Weight { + (19_335_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn on_finalize() -> Weight { + (10_593_000 as Weight) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_treasury.rs b/runtime/bifrost-polkadot/src/weights/pallet_treasury.rs new file mode 100644 index 0000000000..99fe095343 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_treasury.rs @@ -0,0 +1,74 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_treasury +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-16, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_treasury +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_treasury. +pub struct WeightInfo(PhantomData); +impl pallet_treasury::WeightInfo for WeightInfo { + fn propose_spend() -> Weight { + (132_753_000 as Weight) + .saturating_add(T::DbWeight::get().reads(5 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn reject_proposal() -> Weight { + (171_186_000 as Weight) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + fn approve_proposal(p: u32) -> Weight { + (38_091_000 as Weight) + // Standard Error: 7_000 + .saturating_add((293_000 as Weight).saturating_mul(p as Weight)) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn on_initialize_proposals(p: u32) -> Weight { + (150_370_000 as Weight) + // Standard Error: 3_556_000 + .saturating_add((177_794_000 as Weight).saturating_mul(p as Weight)) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(p as Weight))) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(p as Weight))) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_utility.rs b/runtime/bifrost-polkadot/src/weights/pallet_utility.rs new file mode 100644 index 0000000000..3c1c131d47 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_utility.rs @@ -0,0 +1,65 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_utility +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_utility +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_utility. +pub struct WeightInfo(PhantomData); +impl pallet_utility::WeightInfo for WeightInfo { + fn batch(c: u32) -> Weight { + (41_767_000 as Weight) + // Standard Error: 1_000 + .saturating_add((4_248_000 as Weight).saturating_mul(c as Weight)) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn as_derivative() -> Weight { + (11_279_000 as Weight) + } + fn batch_all(c: u32) -> Weight { + (47_341_000 as Weight) + // Standard Error: 1_000 + .saturating_add((5_234_000 as Weight).saturating_mul(c as Weight)) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } +} diff --git a/runtime/bifrost-polkadot/src/weights/pallet_vesting.rs b/runtime/bifrost-polkadot/src/weights/pallet_vesting.rs new file mode 100644 index 0000000000..89c3da1b32 --- /dev/null +++ b/runtime/bifrost-polkadot/src/weights/pallet_vesting.rs @@ -0,0 +1,90 @@ +// This file is part of Bifrost. + +// Copyright (C) 2019-2021 Liebi Technologies (UK) Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! Autogenerated weights for pallet_vesting +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-08-18, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("bifrost-genesis"), DB CACHE: 128 + +// Executed Command: +// target/release/bifrost +// benchmark +// --chain=bifrost-genesis +// --steps=50 +// --repeat=20 +// --pallet=pallet_vesting +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./HEADER-GPL3 +// --output=./runtime/bifrost/src/weights/ + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_vesting. +pub struct WeightInfo(PhantomData); +impl pallet_vesting::WeightInfo for WeightInfo { + fn vest_locked(l: u32) -> Weight { + (139_430_000 as Weight) + // Standard Error: 29_000 + .saturating_add((723_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn vest_unlocked(l: u32) -> Weight { + (144_165_000 as Weight) + // Standard Error: 13_000 + .saturating_add((713_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn vest_other_locked(l: u32) -> Weight { + (132_758_000 as Weight) + // Standard Error: 24_000 + .saturating_add((752_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn vest_other_unlocked(l: u32) -> Weight { + (138_258_000 as Weight) + // Standard Error: 13_000 + .saturating_add((723_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + fn vested_transfer(l: u32) -> Weight { + (249_078_000 as Weight) + // Standard Error: 23_000 + .saturating_add((741_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(8 as Weight)) + .saturating_add(T::DbWeight::get().writes(5 as Weight)) + } + fn force_vested_transfer(l: u32) -> Weight { + (246_188_000 as Weight) + // Standard Error: 23_000 + .saturating_add((749_000 as Weight).saturating_mul(l as Weight)) + .saturating_add(T::DbWeight::get().reads(9 as Weight)) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + } +} diff --git a/runtime/bifrost/Cargo.toml b/runtime/bifrost/Cargo.toml index e92f3d2818..34b1110556 100644 --- a/runtime/bifrost/Cargo.toml +++ b/runtime/bifrost/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "bifrost-runtime" +name = "bifrost-kusama-runtime" version = "0.8.0" authors = ["Edwin Wang "] edition = "2018" @@ -51,7 +51,6 @@ pallet-indices = { git = "https://github.com/paritytech/substrate", branch = "po pallet-membership = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-multisig = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-proxy = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } -pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-scheduler = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } @@ -60,7 +59,6 @@ pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-treasury = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } pallet-utility = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } -pallet-society = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.12", default-features = false } # Cumulus dependencies cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.12", default-features = false } @@ -133,12 +131,10 @@ std = [ "pallet-indices/std", "pallet-multisig/std", "pallet-proxy/std", - "pallet-randomness-collective-flip/std", "pallet-timestamp/std", "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", "pallet-treasury/std", - "pallet-society/std", "sp-api/std", "sp-arithmetic/std", "sp-block-builder/std", @@ -205,7 +201,6 @@ runtime-benchmarks = [ "pallet-treasury/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", - "pallet-society/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", diff --git a/runtime/common/src/impl.rs b/runtime/common/src/impl.rs index 1e55202b1c..3735fba9ee 100644 --- a/runtime/common/src/impl.rs +++ b/runtime/common/src/impl.rs @@ -32,6 +32,10 @@ use xcm_executor::traits::{FilterAssetLocation, MatchesFungible}; use crate::constants::parachains; +/// ******************************************************************** +// Below are for the common utilities for both of Polkadot and Kusama. +/// ******************************************************************** + /// Bifrost Asset Matcher pub struct BifrostAssetMatcher( PhantomData<(CurrencyId, CurrencyIdConvert)>, @@ -83,6 +87,27 @@ fn native_currency_location(id: CurrencyId, para_id: ParaId) -> MultiLocation { MultiLocation::new(1, X2(Parachain(para_id.into()), GeneralKey(id.encode()))) } +impl> Convert> for BifrostCurrencyIdConvert { + fn convert(asset: MultiAsset) -> Option { + if let MultiAsset { id: Concrete(id), fun: Fungible(_) } = asset { + Self::convert(id) + } else { + None + } + } +} + +pub struct BifrostAccountIdToMultiLocation; +impl Convert for BifrostAccountIdToMultiLocation { + fn convert(account: AccountId) -> MultiLocation { + X1(AccountId32 { network: NetworkId::Any, id: account.into() }).into() + } +} + +/// ************************************** +// Below is for the network of Kusama. +/// ************************************** + pub struct BifrostCurrencyIdConvert(sp_std::marker::PhantomData); impl> Convert> for BifrostCurrencyIdConvert { fn convert(id: CurrencyId) -> Option { @@ -149,19 +174,36 @@ impl> Convert> for BifrostCurre } } } -impl> Convert> for BifrostCurrencyIdConvert { - fn convert(asset: MultiAsset) -> Option { - if let MultiAsset { id: Concrete(id), fun: Fungible(_) } = asset { - Self::convert(id) - } else { - None + +/// ************************************** +// Below is for the network of Polkadot. +/// ************************************** + +// This currency converter is used for the network of Polkadot +pub struct BifrostCurrencyIdConvertForPolkadot(sp_std::marker::PhantomData); +impl> Convert> + for BifrostCurrencyIdConvertForPolkadot +{ + fn convert(id: CurrencyId) -> Option { + use CurrencyId::Token; + match id { + Token(TokenSymbol::DOT) => Some(MultiLocation::parent()), + _ => None, } } } -pub struct BifrostAccountIdToMultiLocation; -impl Convert for BifrostAccountIdToMultiLocation { - fn convert(account: AccountId) -> MultiLocation { - X1(AccountId32 { network: NetworkId::Any, id: account.into() }).into() +// This convert is for the network of Polkadot +impl> Convert> + for BifrostCurrencyIdConvertForPolkadot +{ + fn convert(location: MultiLocation) -> Option { + use CurrencyId::Token; + use TokenSymbol::*; + if location == MultiLocation::parent() { + Some(Token(DOT)) + } else { + None + } } }