diff --git a/.gitignore b/.gitignore index 53625dde02..c62b38a9dd 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,4 @@ analyzer-target testing/integration/perflogs* Servers.toml release -package-sizes.js +package-sizes.js \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 4b04722d57..5c8c85b540 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,6 +72,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -175,6 +181,227 @@ dependencies = [ "password-hash", ] +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-r1cs-std", + "ark-std", +] + +[[package]] +name = "ark-crypto-primitives" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" +dependencies = [ + "ahash", + "ark-crypto-primitives-macros", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", + "blake2", + "derivative", + "digest", + "fnv", + "merlin", + "rayon", + "sha2", +] + +[[package]] +name = "ark-crypto-primitives-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown 0.15.0", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "arrayvec", + "digest", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-groth16" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" +dependencies = [ + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", + "rayon", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown 0.15.0", + "rayon", +] + +[[package]] +name = "ark-r1cs-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-relations", + "ark-std", + "educe", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + +[[package]] +name = "ark-relations" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" +dependencies = [ + "ark-ff", + "ark-std", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "arrayvec", + "digest", + "num-bigint", + "rayon", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "ark-snark" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" +dependencies = [ + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", + "rayon", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -534,6 +761,12 @@ dependencies = [ "constant_time_eq", ] +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + [[package]] name = "block-buffer" version = "0.10.4" @@ -596,6 +829,26 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "byteorder" version = "1.5.0" @@ -648,7 +901,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -741,7 +994,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01c631c2cf4b95746cf065f732219ec0f2eb1497cd4c7fe07cb336ddf0d7c503" dependencies = [ "js-sys", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", ] @@ -865,6 +1118,15 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +[[package]] +name = "cobs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" +dependencies = [ + "thiserror 2.0.17", +] + [[package]] name = "colorchoice" version = "1.0.2" @@ -893,6 +1155,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -936,6 +1204,17 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + [[package]] name = "cpufeatures" version = "0.2.14" @@ -1298,6 +1577,28 @@ dependencies = [ "syn 2.0.110", ] +[[package]] +name = "derive_more" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.110", + "unicode-xid", +] + [[package]] name = "destructure_traitobject" version = "0.2.0" @@ -1333,6 +1634,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -1394,12 +1696,42 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2334658684d7c213e18602aa72ce37e94d1c9b535882ef6e30bc444b7514a1ee" +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encode_unicode" version = "0.3.6" @@ -1415,6 +1747,26 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "enum-primitive-derive" version = "0.3.0" @@ -1567,6 +1919,33 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1824,6 +2203,9 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", +] [[package]] name = "heapless" @@ -2299,7 +2681,7 @@ dependencies = [ "js-sys", "serde", "smallvec", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-test", "web-sys", @@ -2325,7 +2707,7 @@ dependencies = [ "rocksdb", "rv", "serde", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2357,7 +2739,7 @@ dependencies = [ "serde", "sha2", "subtle", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-wasm", "zeroize", @@ -2396,7 +2778,7 @@ dependencies = [ "serde", "serde_json", "textwrap 0.16.1", - "thiserror", + "thiserror 1.0.64", "tokio", "wasm-bindgen", "web-sys", @@ -2467,7 +2849,7 @@ dependencies = [ "serde", "serde_json", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2493,7 +2875,7 @@ dependencies = [ "serde", "serde-wasm-bindgen", "serde_json", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-log", "workflow-wasm", @@ -2529,7 +2911,7 @@ dependencies = [ "serde-wasm-bindgen", "serde_json", "smallvec", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-test", "web-sys", @@ -2545,7 +2927,7 @@ version = "1.0.1" dependencies = [ "async-channel 2.3.1", "cfg-if 1.0.0", - "derive_more", + "derive_more 0.99.18", "futures", "kaspa-consensus-core", "kaspa-core", @@ -2554,7 +2936,7 @@ dependencies = [ "kaspa-utils", "log", "paste", - "thiserror", + "thiserror 1.0.64", "triggered", ] @@ -2576,7 +2958,7 @@ dependencies = [ "serde", "serde-wasm-bindgen", "serde_json", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-log", "workflow-wasm", @@ -2613,7 +2995,7 @@ dependencies = [ "log", "log4rs", "num_cpus", - "thiserror", + "thiserror 1.0.64", "tokio", "triggered", "wasm-bindgen", @@ -2634,7 +3016,7 @@ dependencies = [ "kaspa-wallet-core", "nw-sys", "serde", - "thiserror", + "thiserror 1.0.64", "workflow-core", "workflow-log", "workflow-node", @@ -2661,7 +3043,7 @@ dependencies = [ "serde", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2689,7 +3071,7 @@ dependencies = [ "rand 0.8.5", "regex", "rustls", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tonic", @@ -2718,7 +3100,7 @@ dependencies = [ "prost", "rand 0.8.5", "regex", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tonic", @@ -2755,7 +3137,7 @@ dependencies = [ "prost", "rand 0.8.5", "rustls", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tonic", @@ -2800,7 +3182,7 @@ version = "1.0.1" dependencies = [ "async-channel 2.3.1", "async-trait", - "derive_more", + "derive_more 0.99.18", "futures", "kaspa-consensus-core", "kaspa-hashes", @@ -2809,7 +3191,7 @@ dependencies = [ "log", "paste", "serde", - "thiserror", + "thiserror 1.0.64", "triggered", ] @@ -2819,7 +3201,7 @@ version = "1.0.1" dependencies = [ "async-channel 2.3.1", "async-trait", - "derive_more", + "derive_more 0.99.18", "futures", "kaspa-consensus", "kaspa-consensus-core", @@ -2836,7 +3218,7 @@ dependencies = [ "parking_lot", "paste", "rand 0.8.5", - "thiserror", + "thiserror 1.0.64", "tokio", "triggered", ] @@ -2855,7 +3237,7 @@ dependencies = [ "rand_chacha 0.3.1", "serde", "serde-wasm-bindgen", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-core", "workflow-log", @@ -2880,7 +3262,7 @@ dependencies = [ "kaspa-rpc-core", "separator", "serde", - "thiserror", + "thiserror 1.0.64", "workflow-core", "workflow-log", ] @@ -2908,7 +3290,7 @@ dependencies = [ "serde", "smallvec", "sweep-bptree", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2917,7 +3299,7 @@ name = "kaspa-mining-errors" version = "1.0.1" dependencies = [ "kaspa-consensus-core", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2941,7 +3323,7 @@ dependencies = [ "async-trait", "borsh", "criterion", - "derive_more", + "derive_more 0.99.18", "futures", "futures-util", "indexmap 2.6.0", @@ -2960,7 +3342,7 @@ dependencies = [ "paste", "rand 0.8.5", "serde", - "thiserror", + "thiserror 1.0.64", "tokio", "triggered", "workflow-core", @@ -2995,7 +3377,7 @@ dependencies = [ "log", "parking_lot", "rand 0.8.5", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "uuid 1.18.1", @@ -3024,7 +3406,7 @@ dependencies = [ "rand 0.8.5", "seqlock", "serde", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tonic", @@ -3056,7 +3438,7 @@ dependencies = [ "kaspa-core", "log", "portable-atomic", - "thiserror", + "thiserror 1.0.64", "tokio", "workflow-perf-monitor", ] @@ -3085,7 +3467,7 @@ dependencies = [ "async-trait", "borsh", "cfg-if 1.0.0", - "derive_more", + "derive_more 0.99.18", "downcast", "faster-hex", "hex", @@ -3112,7 +3494,7 @@ dependencies = [ "serde_json", "serde_nested_with", "smallvec", - "thiserror", + "thiserror 1.0.64", "uuid 1.18.1", "wasm-bindgen", "workflow-core", @@ -3217,7 +3599,7 @@ dependencies = [ "serde_json", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.64", "tokio", "workflow-perf-monitor", ] @@ -3226,8 +3608,14 @@ dependencies = [ name = "kaspa-txscript" version = "1.0.1" dependencies = [ + "ark-bn254", + "ark-ec", + "ark-groth16", + "ark-relations", + "ark-serialize", "blake2b_simd", "borsh", + "bytemuck", "cfg-if 1.0.0", "criterion", "hex", @@ -3243,13 +3631,19 @@ dependencies = [ "log", "parking_lot", "rand 0.8.5", + "rayon", + "risc0-binfmt", + "risc0-circuit-recursion", + "risc0-core", + "risc0-groth16", + "risc0-zkp", "secp256k1", "serde", "serde-wasm-bindgen", "serde_json", "sha2", "smallvec", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-wasm", ] @@ -3258,8 +3652,9 @@ dependencies = [ name = "kaspa-txscript-errors" version = "1.0.1" dependencies = [ + "borsh", "secp256k1", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -3291,7 +3686,7 @@ dependencies = [ "sha2", "smallvec", "sysinfo", - "thiserror", + "thiserror 1.0.64", "tokio", "triggered", "uuid 1.18.1", @@ -3332,7 +3727,7 @@ dependencies = [ "rand 0.8.5", "rocksdb", "serde", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -3427,7 +3822,7 @@ dependencies = [ "sha2", "slugify-rs", "sorted-insert", - "thiserror", + "thiserror 1.0.64", "tokio", "wasm-bindgen", "wasm-bindgen-futures", @@ -3466,7 +3861,7 @@ dependencies = [ "serde-wasm-bindgen", "serde_json", "sha2", - "thiserror", + "thiserror 1.0.64", "tokio", "wasm-bindgen", "wasm-bindgen-futures", @@ -3511,7 +3906,7 @@ dependencies = [ "serde-wasm-bindgen", "serde_json", "serde_repr", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-test", "web-sys", @@ -3580,7 +3975,7 @@ dependencies = [ "serde", "serde-wasm-bindgen", "serde_json", - "thiserror", + "thiserror 1.0.64", "toml", "wasm-bindgen", "wasm-bindgen-futures", @@ -3620,7 +4015,7 @@ dependencies = [ "kaspa-rpc-macros", "kaspa-wrpc-server", "num_cpus", - "thiserror", + "thiserror 1.0.64", "tokio", "workflow-core", "workflow-log", @@ -3647,7 +4042,7 @@ dependencies = [ "paste", "rustls", "serde", - "thiserror", + "thiserror 1.0.64", "tokio", "workflow-core", "workflow-log", @@ -3751,7 +4146,7 @@ dependencies = [ "serde_json", "serde_with", "tempfile", - "thiserror", + "thiserror 1.0.64", "tokio", "toml", "workflow-log", @@ -3780,6 +4175,9 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] [[package]] name = "lazycell" @@ -3890,7 +4288,7 @@ checksum = "3669cf5561f8d27e8fc84cc15e58350e70f557d4d65f70e3154e54cd2f8e1782" dependencies = [ "libc", "neli", - "thiserror", + "thiserror 1.0.64", "windows-sys 0.59.0", ] @@ -3943,7 +4341,7 @@ dependencies = [ "serde-value", "serde_json", "serde_yaml", - "thiserror", + "thiserror 1.0.64", "thread-id", "typemap-ors", "winapi", @@ -4057,6 +4455,15 @@ dependencies = [ "malachite-base", ] +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + [[package]] name = "manual_future" version = "0.1.1" @@ -4110,6 +4517,33 @@ dependencies = [ "autocfg", ] +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.9.4", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[package]] name = "mimalloc" version = "0.1.48" @@ -4367,6 +4801,27 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "num_threads" version = "0.1.7" @@ -4390,11 +4845,20 @@ checksum = "8ebcbbf8ce75f465eea419ed8396efaf9ad9da87ad83fe9fce9c8789de00ca79" dependencies = [ "cfg-if 1.0.0", "js-sys", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "web-sys", ] +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + [[package]] name = "object" version = "0.36.5" @@ -4665,6 +5129,18 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +[[package]] +name = "postcard" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -4753,6 +5229,20 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proptest" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +dependencies = [ + "bitflags 2.9.4", + "num-traits", + "rand 0.9.2", + "rand_chacha 0.9.0", + "rand_xorshift", + "unarray", +] + [[package]] name = "prost" version = "0.13.3" @@ -4825,7 +5315,7 @@ dependencies = [ "rustc-hash 2.1.1", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -4842,7 +5332,7 @@ dependencies = [ "rustc-hash 2.1.1", "rustls", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -4944,6 +5434,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +dependencies = [ + "rand_core 0.9.3", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -4987,7 +5486,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -5088,6 +5587,110 @@ dependencies = [ "digest", ] +[[package]] +name = "risc0-binfmt" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dca096030bb4c52f99b12abcfe3531ea93b17b95a12a5aeb06fbf8ee588a275" +dependencies = [ + "anyhow", + "borsh", + "bytemuck", + "derive_more 2.1.0", + "elf", + "lazy_static", + "postcard", + "risc0-zkp", + "risc0-zkvm-platform", + "ruint", + "semver", + "serde", + "tracing", +] + +[[package]] +name = "risc0-circuit-recursion" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028cd26e1b1f7bdd964d2f1eac8f812d1872b6b8fd24f10804f07d916b90000e" +dependencies = [ + "anyhow", + "bytemuck", + "hex", + "metal", + "risc0-core", + "risc0-zkp", + "tracing", +] + +[[package]] +name = "risc0-core" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80f2723fedace48c6c5a505bd8f97ac4e1712bc4cb769083e10536d862b66987" +dependencies = [ + "bytemuck", + "rand_core 0.9.3", +] + +[[package]] +name = "risc0-groth16" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ff13f9b427254c5264e01aaa32e33f355525299b6829449295905778f3b1e8" +dependencies = [ + "anyhow", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-serialize", + "bytemuck", + "hex", + "num-bigint", + "num-traits", + "risc0-binfmt", + "risc0-zkp", + "serde", +] + +[[package]] +name = "risc0-zkp" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beb493b3f007f04a11106a001c66bca77338d0fc375766189fd7ca3a1e8c3700" +dependencies = [ + "anyhow", + "blake2", + "borsh", + "bytemuck", + "cfg-if 1.0.0", + "digest", + "hex", + "hex-literal", + "metal", + "paste", + "rand_core 0.9.3", + "risc0-core", + "risc0-zkvm-platform", + "serde", + "sha2", + "stability", + "tracing", +] + +[[package]] +name = "risc0-zkvm-platform" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfaa10feba15828c788837ddde84b994393936d8f5715228627cfe8625122a40" +dependencies = [ + "cfg-if 1.0.0", + "num_enum", + "paste", + "stability", +] + [[package]] name = "rlimit" version = "0.10.2" @@ -5132,6 +5735,28 @@ dependencies = [ "tokio", ] +[[package]] +name = "ruint" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" +dependencies = [ + "borsh", + "proptest", + "rand 0.8.5", + "rand 0.9.2", + "ruint-macro", + "serde_core", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -5311,10 +5936,11 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -5339,11 +5965,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -5623,6 +6258,16 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "stability" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" +dependencies = [ + "quote", + "syn 2.0.110", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -5785,7 +6430,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl 2.0.17", ] [[package]] @@ -5799,6 +6453,17 @@ dependencies = [ "syn 2.0.110", ] +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "thousands" version = "0.2.0" @@ -6111,6 +6776,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -6134,6 +6800,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", ] [[package]] @@ -6164,7 +6840,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror", + "thiserror 1.0.64", "utf-8", ] @@ -6183,6 +6859,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicode-bidi" version = "0.3.17" @@ -6222,6 +6904,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "universal-hash" version = "0.5.1" @@ -6298,6 +6986,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + [[package]] name = "value-bag" version = "1.9.0" @@ -6794,7 +7488,7 @@ dependencies = [ "cfg-if 1.0.0", "chrome-sys", "js-sys", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "workflow-core", "workflow-log", @@ -6822,7 +7516,7 @@ dependencies = [ "rlimit", "serde", "serde-wasm-bindgen", - "thiserror", + "thiserror 1.0.64", "tokio", "triggered", "vergen", @@ -6859,7 +7553,7 @@ dependencies = [ "futures", "js-sys", "regex", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -6878,7 +7572,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "wasm-bindgen", "workflow-core", @@ -6925,7 +7619,7 @@ dependencies = [ "lazy_static", "node-sys", "serde", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "workflow-core", @@ -6949,7 +7643,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde-wasm-bindgen", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "web-sys", "workflow-core", @@ -6979,7 +7673,7 @@ dependencies = [ "cc", "libc", "mach", - "thiserror", + "thiserror 1.0.64", "windows-sys 0.48.0", ] @@ -7001,7 +7695,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tungstenite", "wasm-bindgen", @@ -7054,7 +7748,7 @@ dependencies = [ "lazy_static", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7072,7 +7766,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d1a90743bb4d3f68606cb4e9a78551a53399ebc35ddba981cbb56bf2b31940a" dependencies = [ "futures", - "thiserror", + "thiserror 1.0.64", "workflow-core", "workflow-task-macros", ] @@ -7111,7 +7805,7 @@ dependencies = [ "pad", "regex", "textwrap 0.16.1", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7150,7 +7844,7 @@ dependencies = [ "js-sys", "serde", "serde-wasm-bindgen", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "workflow-core", @@ -7188,7 +7882,7 @@ dependencies = [ "futures", "futures-util", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-tungstenite", "triggered", @@ -7249,6 +7943,20 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] [[package]] name = "zstd-sys" diff --git a/Cargo.toml b/Cargo.toml index c64142f03d..33ae5f873b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -143,6 +143,11 @@ kaspa-alloc = { version = "1.0.1", path = "utils/alloc" } aes = "0.8.3" ahash = "0.8.6" arc-swap = "1.6.0" +ark-bn254 = "0.5.0" +ark-groth16 = "0.5" +ark-ec = "0.5.0" +ark-serialize = "0.5" +ark-relations = "0.5" argon2 = "0.5.2" async-channel = "2.0.0" async-std = { version = "1.12.0", features = ['attributes'] } @@ -155,6 +160,7 @@ blake2b_simd = "1.0.2" borsh = { version = "1.5.1", features = ["derive", "rc"] } bs58 = { version = "0.5.0", features = ["check"], default-features = false } bytes = "1.7.1" +bytemuck = "1.24.0" cc = "1.0.83" cfb-mode = "0.8.2" cfg-if = "1.0.0" @@ -225,6 +231,12 @@ rand_core = { version = "0.6.4", features = ["std"] } rand_distr = "0.4.3" rayon = "1.8.0" regex = "1.10.2" +risc0-groth16 = "3.0.3" +risc0-circuit-recursion = { version="4.0.3", default-features=false } +risc0-circuit-keccak = { version="4.0.3", default-features=false } +risc0-zkp = "3.0.3" +risc0-core = "3.0.0" +risc0-binfmt = "3.0.3" ripemd = { version = "0.1.3", default-features = false } rlimit = "0.10.1" rocksdb = "0.24.0" diff --git a/consensus/core/src/config/params.rs b/consensus/core/src/config/params.rs index fcee365a6b..eb21cb11de 100644 --- a/consensus/core/src/config/params.rs +++ b/consensus/core/src/config/params.rs @@ -668,7 +668,7 @@ pub const MAINNET_PARAMS: Params = Params { mass_per_tx_byte: 1, mass_per_script_pub_key_byte: 10, mass_per_sig_op: 1000, - max_block_mass: 500_000, + max_block_mass: 1_500_000, storage_mass_parameter: STORAGE_MASS_PARAMETER, @@ -728,7 +728,7 @@ pub const TESTNET_PARAMS: Params = Params { mass_per_tx_byte: 1, mass_per_script_pub_key_byte: 10, mass_per_sig_op: 1000, - max_block_mass: 500_000, + max_block_mass: 1_500_000, storage_mass_parameter: STORAGE_MASS_PARAMETER, // deflationary_phase_daa_score is the DAA score after which the pre-deflationary period @@ -786,7 +786,7 @@ pub const SIMNET_PARAMS: Params = Params { mass_per_tx_byte: 1, mass_per_script_pub_key_byte: 10, mass_per_sig_op: 1000, - max_block_mass: 500_000, + max_block_mass: 1_500_000, storage_mass_parameter: STORAGE_MASS_PARAMETER, @@ -829,7 +829,7 @@ pub const DEVNET_PARAMS: Params = Params { mass_per_tx_byte: 1, mass_per_script_pub_key_byte: 10, mass_per_sig_op: 1000, - max_block_mass: 500_000, + max_block_mass: 1_500_000, storage_mass_parameter: STORAGE_MASS_PARAMETER, diff --git a/consensus/core/src/constants.rs b/consensus/core/src/constants.rs index 54bb352011..75c6bdba7c 100644 --- a/consensus/core/src/constants.rs +++ b/consensus/core/src/constants.rs @@ -18,7 +18,7 @@ pub const STORAGE_MASS_PARAMETER: u64 = SOMPI_PER_KASPA * 10_000; /// The parameter defining how much mass per byte to charge for when calculating /// transient storage mass. Since normally the block mass limit is 500_000, this limits /// block body byte size to 125_000 (KIP-0013). -pub const TRANSIENT_BYTE_TO_MASS_FACTOR: u64 = 4; +pub const TRANSIENT_BYTE_TO_MASS_FACTOR: u64 = 2; /// MaxSompi is the maximum transaction amount allowed in sompi. pub const MAX_SOMPI: u64 = 29_000_000_000 * SOMPI_PER_KASPA; diff --git a/consensus/core/src/mass/mod.rs b/consensus/core/src/mass/mod.rs index e349eb47b6..36f4a44c4b 100644 --- a/consensus/core/src/mass/mod.rs +++ b/consensus/core/src/mass/mod.rs @@ -259,7 +259,7 @@ impl MassCalculator { .sum(); let total_script_public_key_mass = total_script_public_key_size * self.mass_per_script_pub_key_byte; - let total_sigops: u64 = tx.inputs.iter().map(|input| input.sig_op_count as u64).sum(); + let total_sigops: u64 = tx.inputs.iter().map(|input| decode_sig_op_count(input.sig_op_count) as u64).sum(); let total_sigops_mass = total_sigops * self.mass_per_sig_op; let compute_mass = compute_mass_for_size + total_script_public_key_mass + total_sigops_mass; @@ -285,6 +285,27 @@ impl MassCalculator { } } +/// Decodes a compressed signature operation count. +/// +/// The encoding scheme: +/// - Values 0-100: Direct mapping (no compression) +/// - Values 101-255: Each value represents increments of 10 +/// - Formula: actual_sigops = 100 + (encoded - 100) * 10 +/// - Example: 104 → 140, 164 → 740, 255 → 1650 +/// +/// # Arguments +/// * `encoded` - The compressed u8 value +/// +/// # Returns +/// The actual (decoded) signature operation count as u16 +pub fn decode_sig_op_count(encoded: u8) -> u16 { + if encoded <= 100 { + encoded as u16 + } else { + 100 + ((encoded as u16 - 100) * 10) + } +} + /// Calculates the storage mass (KIP-0009) for a given set of inputs and outputs. /// /// This function has been generalized for UTXO entries that may exceed diff --git a/consensus/core/src/tx.rs b/consensus/core/src/tx.rs index 64f8286fe9..699a962991 100644 --- a/consensus/core/src/tx.rs +++ b/consensus/core/src/tx.rs @@ -95,6 +95,10 @@ pub struct TransactionInput { #[serde(with = "serde_bytes")] pub signature_script: Vec, // TODO: Consider using SmallVec pub sequence: u64, + + // TODO: Since this field is used for calculating mass context free, and we already commit + // to the mass in a dedicated field (on the tx level), it follows that this field is no longer + // needed, and can be removed if we ever implement a v2 transaction pub sig_op_count: u8, } diff --git a/consensus/src/processes/transaction_validator/tx_validation_in_utxo_context.rs b/consensus/src/processes/transaction_validator/tx_validation_in_utxo_context.rs index 9f4c83fe69..8d163a7d97 100644 --- a/consensus/src/processes/transaction_validator/tx_validation_in_utxo_context.rs +++ b/consensus/src/processes/transaction_validator/tx_validation_in_utxo_context.rs @@ -1,6 +1,7 @@ use crate::constants::{MAX_SOMPI, SEQUENCE_LOCK_TIME_DISABLED, SEQUENCE_LOCK_TIME_MASK}; use kaspa_consensus_core::{ hashing::sighash::{SigHashReusedValuesSync, SigHashReusedValuesUnsync}, + mass::decode_sig_op_count, tx::{TransactionInput, VerifiableTransaction}, }; use kaspa_txscript::{caches::Cache, get_sig_op_count_upper_bound, SigCacheKey, TxScriptEngine}; @@ -160,8 +161,15 @@ impl TransactionValidator { for (i, (input, entry)) in tx.populated_inputs().enumerate() { let calculated = get_sig_op_count_upper_bound::(&input.signature_script, &entry.script_public_key); - if calculated != input.sig_op_count as u64 { - return Err(TxRuleError::WrongSigOpCount(i, input.sig_op_count as u64, calculated)); + + // Decode the sigop count from the input + // Zk precompiles require a higher sigop count. + // When sigop count is greater than 100, each additional sigop counts as 10, + // which means we can encode the zk sigop cost without having to change the sigop type from u8. + let decoded_sigop_count = decode_sig_op_count(input.sig_op_count); + + if calculated != decoded_sigop_count as u64 { + return Err(TxRuleError::WrongSigOpCount(i, decoded_sigop_count as u64, calculated)); } } Ok(()) diff --git a/crypto/txscript/Cargo.toml b/crypto/txscript/Cargo.toml index a1d68dd201..c9206357cc 100644 --- a/crypto/txscript/Cargo.toml +++ b/crypto/txscript/Cargo.toml @@ -17,6 +17,11 @@ wasm32-core = [] wasm32-sdk = [] [dependencies] +ark-groth16.workspace = true +ark-ec.workspace = true +ark-bn254.workspace = true +ark-serialize.workspace = true +ark-relations.workspace = true blake2b_simd.workspace = true borsh.workspace = true cfg-if.workspace = true @@ -41,12 +46,18 @@ smallvec.workspace = true thiserror.workspace = true wasm-bindgen.workspace = true workflow-wasm.workspace = true - +risc0-groth16.workspace = true +risc0-circuit-recursion.workspace = true +risc0-zkp.workspace = true +risc0-core.workspace = true +risc0-binfmt.workspace = true +bytemuck.workspace=true [dev-dependencies] criterion.workspace = true smallvec.workspace = true hex.workspace = true serde_json.workspace = true +rayon.workspace = true [[bench]] name = "bench" diff --git a/crypto/txscript/errors/Cargo.toml b/crypto/txscript/errors/Cargo.toml index a25c08914b..9a5cae25c0 100644 --- a/crypto/txscript/errors/Cargo.toml +++ b/crypto/txscript/errors/Cargo.toml @@ -14,6 +14,7 @@ repository.workspace = true [dependencies] thiserror.workspace = true secp256k1.workspace = true +borsh.workspace = true [lints] workspace = true diff --git a/crypto/txscript/errors/src/lib.rs b/crypto/txscript/errors/src/lib.rs index 2f7fb020fc..1625b0c5cb 100644 --- a/crypto/txscript/errors/src/lib.rs +++ b/crypto/txscript/errors/src/lib.rs @@ -75,6 +75,8 @@ pub enum TxScriptError { Serialization(#[from] SerializationError), #[error("sig op count exceeds passed limit of {0}")] ExceededSigOpLimit(u8), + #[error("ZK Integrity: {0}")] + ZkIntegrity(String), } #[derive(Error, PartialEq, Eq, Debug, Clone, Copy)] diff --git a/crypto/txscript/src/lib.rs b/crypto/txscript/src/lib.rs index d19100940b..dbdaad5992 100644 --- a/crypto/txscript/src/lib.rs +++ b/crypto/txscript/src/lib.rs @@ -1,6 +1,5 @@ extern crate alloc; extern crate core; - pub mod caches; mod data_stack; pub mod error; @@ -11,12 +10,14 @@ pub mod script_class; pub mod standard; #[cfg(feature = "wasm32-sdk")] pub mod wasm; +mod zk_precompiles; pub mod runtime_sig_op_counter; use crate::caches::Cache; use crate::data_stack::{DataStack, Stack}; use crate::opcodes::{deserialize_next_opcode, OpCodeImplementation}; +use crate::zk_precompiles::compute_zk_sigop_cost; use itertools::Itertools; use kaspa_consensus_core::hashing::sighash::{ calc_ecdsa_signature_hash, calc_schnorr_signature_hash, SigHashReusedValues, SigHashReusedValuesUnsync, @@ -37,8 +38,8 @@ pub use standard::*; pub const MAX_SCRIPT_PUBLIC_KEY_VERSION: u16 = 0; pub const MAX_STACK_SIZE: usize = 244; -pub const MAX_SCRIPTS_SIZE: usize = 10_000; -pub const MAX_SCRIPT_ELEMENT_SIZE: usize = 520; +pub const MAX_SCRIPTS_SIZE: usize = 300_000; +pub const MAX_SCRIPT_ELEMENT_SIZE: usize = 250_000; pub const MAX_OPS_PER_SCRIPT: i32 = 201; pub const MAX_TX_IN_SEQUENCE_NUM: u64 = u64::MAX; pub const SEQUENCE_LOCK_TIME_DISABLED: u64 = 1 << 63; @@ -130,7 +131,7 @@ fn parse_script( /// # Returns /// * `Ok(u8)` - The exact number of signature operations executed /// * `Err(TxScriptError)` - If script execution fails or input index is invalid -pub fn get_sig_op_count(tx: &T, input_idx: usize) -> Result { +pub fn get_sig_op_count(tx: &T, input_idx: usize) -> Result { let sig_cache = Cache::new(0); let reused_values = SigHashReusedValuesUnsync::new(); let mut vm = TxScriptEngine::from_transaction_input( @@ -179,6 +180,7 @@ pub fn get_sig_op_count_upper_bound(p2sh_script).collect_vec(); + get_sig_op_count_by_opcodes(&p2sh_ops) } @@ -205,6 +207,14 @@ fn get_sig_op_count_by_opcodes { + let tag = if let Some(Ok(zk_tag)) = opcodes.get(i - 1).as_ref() { + zk_tag.get_data().first().unwrap_or(&u8::MAX) + } else { + &u8::MAX + }; + num_sigs += compute_zk_sigop_cost(*tag) as u64; + } _ => {} // If the opcode is not a sigop, no need to increase the count } } @@ -236,7 +246,7 @@ impl<'a, T: VerifiableTransaction, Reused: SigHashReusedValues> TxScriptEngine<' } /// Returns the number of signature operations used in script execution. - pub fn used_sig_ops(&self) -> u8 { + pub fn used_sig_ops(&self) -> u16 { self.runtime_sig_op_counter.used_sig_ops() } @@ -301,8 +311,6 @@ impl<'a, T: VerifiableTransaction, Reused: SigHashReusedValues> TxScriptEngine<' } fn execute_opcode(&mut self, opcode: DynOpcodeImplementation) -> Result<(), TxScriptError> { - // Different from kaspad: Illegal and disabled opcode are checked on execute instead - // Note that this includes OP_RESERVED which counts as a push operation. if !opcode.is_push_opcode() { self.num_ops += 1; if self.num_ops > MAX_OPS_PER_SCRIPT { @@ -1067,7 +1075,7 @@ mod tests { name: &'static str, script_builder: ScriptBuilderFn, sig_builder: SigBuilder, - expected_sig_ops: u8, + expected_sig_ops: u16, sig_op_limit: u8, should_pass: bool, } diff --git a/crypto/txscript/src/opcodes/mod.rs b/crypto/txscript/src/opcodes/mod.rs index c970841532..07f7e01f42 100644 --- a/crypto/txscript/src/opcodes/mod.rs +++ b/crypto/txscript/src/opcodes/mod.rs @@ -1,6 +1,6 @@ #[macro_use] mod macros; - +use crate::zk_precompiles::{parse_tag, verify_zk}; use crate::{ data_stack::{DataStack, OpcodeData}, ScriptSource, SpkEncoding, TxScriptEngine, TxScriptError, LOCK_TIME_THRESHOLD, MAX_TX_IN_SEQUENCE_NUM, NO_COST_OPCODE, @@ -995,8 +995,22 @@ opcode_list! { _ => Err(TxScriptError::InvalidSource("OpOutputSpk only applies to transaction inputs".to_string())) } } + opcode OpZkPrecompile<0xc4, 1>(self, vm) { + // Parse the ZK Precompile tag + let tag = parse_tag(&mut vm.dstack)?; + + // Consume sigop cost + vm.runtime_sig_op_counter.consume_sig_ops(tag.sigop_cost())?; + + // Verify the ZK proof + verify_zk(tag,&mut vm.dstack)?; + + // If no errors, push true to the stack + vm.dstack.push_item(true)?; + Ok(()) + } + // Undefined opcodes - opcode OpUnknown196<0xc4, 1>(self, vm) Err(TxScriptError::InvalidOpcode(format!("{self:?}"))) opcode OpUnknown197<0xc5, 1>(self, vm) Err(TxScriptError::InvalidOpcode(format!("{self:?}"))) opcode OpUnknown198<0xc6, 1>(self, vm) Err(TxScriptError::InvalidOpcode(format!("{self:?}"))) opcode OpUnknown199<0xc7, 1>(self, vm) Err(TxScriptError::InvalidOpcode(format!("{self:?}"))) @@ -1197,7 +1211,6 @@ mod test { let tests: Vec>> = vec![ opcodes::OpUnknown166::empty().expect("Should accept empty"), opcodes::OpUnknown167::empty().expect("Should accept empty"), - opcodes::OpUnknown196::empty().expect("Should accept empty"), opcodes::OpUnknown197::empty().expect("Should accept empty"), opcodes::OpUnknown198::empty().expect("Should accept empty"), opcodes::OpUnknown199::empty().expect("Should accept empty"), diff --git a/crypto/txscript/src/runtime_sig_op_counter.rs b/crypto/txscript/src/runtime_sig_op_counter.rs index 2e0bd84ed8..9ad2a64c7a 100644 --- a/crypto/txscript/src/runtime_sig_op_counter.rs +++ b/crypto/txscript/src/runtime_sig_op_counter.rs @@ -1,3 +1,4 @@ +use kaspa_consensus_core::mass::decode_sig_op_count; use kaspa_txscript_errors::TxScriptError; /// RuntimeSigOpCounter represents the state tracking of signature operations during script execution. @@ -6,24 +7,30 @@ use kaspa_txscript_errors::TxScriptError; /// mass calculations and potentially lower fees for conditional scripts. #[derive(Debug, Clone)] pub struct RuntimeSigOpCounter { - /// Maximum number of signature operations allowed for this input - sig_op_limit: u8, + /// Maximum number of signature operations allowed for this input (decoded actual value) + sig_op_limit: u16, /// Remaining signature operations that can be executed - sig_op_remaining: u8, + sig_op_remaining: u16, } impl RuntimeSigOpCounter { - pub fn new(sig_op_limit: u8) -> Self { - Self { sig_op_limit, sig_op_remaining: sig_op_limit } + /// Creates a new RuntimeSigOpCounter from an encoded sig_op_limit. + /// + /// # Arguments + /// * `encoded_sig_op_limit` - The compressed u8 sig_op_limit from the transaction input + pub fn new(encoded_sig_op_limit: u8) -> Self { + let decoded_limit = decode_sig_op_count(encoded_sig_op_limit); + Self { sig_op_limit: decoded_limit, sig_op_remaining: decoded_limit } } - /// Attempts to consume the specified number of signature operations. + + /// Attempts to consume a single signature operation. /// /// This method handles: /// - Checking if we have enough remaining operations /// - Updating the remaining count if successful /// /// # Returns - /// * `Ok(())` if the operations were successfully consumed + /// * `Ok(())` if the operation was successfully consumed /// * `Err(TxScriptError::ExceededSigOpLimit)` if not enough operations remain /// /// # Example @@ -38,18 +45,27 @@ impl RuntimeSigOpCounter { /// counter.consume_sig_op().unwrap_err(); // Err(ExceededSigOpLimit) /// ``` pub fn consume_sig_op(&mut self) -> Result<(), TxScriptError> { - self.sig_op_remaining = self.sig_op_remaining.checked_sub(1).ok_or(TxScriptError::ExceededSigOpLimit(self.sig_op_limit))?; + self.sig_op_remaining = + self.sig_op_remaining.checked_sub(1).ok_or(TxScriptError::ExceededSigOpLimit(self.sig_op_limit as u8))?; + Ok(()) + } + pub fn consume_sig_ops(&mut self, count: u16) -> Result<(), TxScriptError> { + self.sig_op_remaining = + self.sig_op_remaining.checked_sub(count).ok_or(TxScriptError::ExceededSigOpLimit(self.sig_op_limit as u8))?; Ok(()) } - pub fn sig_op_remaining(&self) -> u8 { + pub fn sig_op_remaining(&self) -> u16 { self.sig_op_remaining } - pub fn sig_op_limit(&self) -> u8 { + + pub fn sig_op_limit(&self) -> u16 { self.sig_op_limit } - pub fn used_sig_ops(&self) -> u8 { + + /// Returns the number of signature operations used (as encoded u8 value) + pub fn used_sig_ops(&self) -> u16 { self.sig_op_limit - self.sig_op_remaining } } diff --git a/crypto/txscript/src/script_builder.rs b/crypto/txscript/src/script_builder.rs index 515105d1ee..0bcf5486e7 100644 --- a/crypto/txscript/src/script_builder.rs +++ b/crypto/txscript/src/script_builder.rs @@ -472,20 +472,14 @@ mod tests { // other operators. Test { name: "push data len 521", - data: vec![0x49; 521], - expected: Err(ScriptBuilderError::ElementExceedsMaxSize(521)), + data: vec![0x49; 250001], + expected: Err(ScriptBuilderError::ElementExceedsMaxSize(250001)), unchecked: false, }, Test { - name: "push data len 32767 (canonical)", - data: vec![0x49; 32767], - expected: Err(ScriptBuilderError::DataRejected(32770)), - unchecked: false, - }, - Test { - name: "push data len 65536 (canonical)", - data: vec![0x49; 65536], - expected: Err(ScriptBuilderError::DataRejected(65541)), + name: "push data len 300001 (canonical)", + data: vec![0x1; 3000001], + expected: Err(ScriptBuilderError::DataRejected(3000006)), unchecked: false, }, // // Additional tests for the add_data_unchecked function that diff --git a/crypto/txscript/src/wasm/opcodes.rs b/crypto/txscript/src/wasm/opcodes.rs index 40492cc837..70bf855350 100644 --- a/crypto/txscript/src/wasm/opcodes.rs +++ b/crypto/txscript/src/wasm/opcodes.rs @@ -232,7 +232,7 @@ pub enum Opcodes { OpUnknown193 = 0xc1, OpUnknown194 = 0xc2, OpUnknown195 = 0xc3, - OpUnknown196 = 0xc4, + OpZkPrecompile = 0xc4, OpUnknown197 = 0xc5, OpUnknown198 = 0xc6, OpUnknown199 = 0xc7, diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/groth.image.hex b/crypto/txscript/src/zk_precompiles/benchmarks/groth.image.hex new file mode 100644 index 0000000000..0193e8b911 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/groth.image.hex @@ -0,0 +1 @@ +75641a540ee2ad9ee5902bcdcdb8b55c0bef4a28287309b858f97b1356c6c2e0 \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/groth.journal.hex b/crypto/txscript/src/zk_precompiles/benchmarks/groth.journal.hex new file mode 100644 index 0000000000..7f4014f8e1 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/groth.journal.hex @@ -0,0 +1 @@ +5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/groth.proof.hex b/crypto/txscript/src/zk_precompiles/benchmarks/groth.proof.hex new file mode 100644 index 0000000000..f3454e52b4 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/groth.proof.hex @@ -0,0 +1 @@ +0001000015fe378b1244f5c38f7ed9e74a784e68f355c1638e116064b1a183c4c0530257140cf216b9899d3a3fd8718db35946e75a5e69a2b4884935cd98d35c624c6ae41deb191920b352cb17ae53ca7cbab0e56a3d2f8307e7162fb75ab1365123b90e2e6ac57516e74adbe2baeffc2772bd1b24715952d85342a4c85011c35aab5e0728f81402ffe3655b3d07fe0a3df01a9b959ed54d2dccd4a955b77aa2ad08a1d103a01eb634d8f7ccb2ab903e053a0e0960a5b22f2d70d17f98dcb1936e940c2b2d593d7ea1cc214ed4ed764d7d716e11789a1ac27b26007eaa90bd7a29168c90142e64de0dfd31ffc775f3a5a31f87ff42cf78de195f8b78c3ea43f8b9a2cce1a95ac0b37bfedcd8136e6c1143086bf5d223ffcb21c6ffcb7c8f60392ca49dde73c457ba541936f0d907daf0c7253a39a9c5c427c225ba7709e44702d3c6eedc \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/mod.rs b/crypto/txscript/src/zk_precompiles/benchmarks/mod.rs new file mode 100644 index 0000000000..95b1b2007e --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/mod.rs @@ -0,0 +1,207 @@ +#[cfg(test)] +mod test { + use crate::{ + data_stack::Stack, + zk_precompiles::{parse_tag, verify_zk}, + }; + + #[test] + fn test_benchmark_verification() { + use hex::decode; + use rand::rngs::OsRng; + use secp256k1::ecdsa::Signature; + use secp256k1::{Message, PublicKey, Secp256k1, SecretKey}; + use std::time::{Duration, Instant}; + + // Load the STARK proof hex + let stark_proof_hex = include_str!("succinct.proof.hex"); + let stark_proof_bytes = decode(stark_proof_hex).expect("Failed to decode hex STARK proof"); + let stark_image_id_hex = include_str!("succinct.image.hex"); + let stark_image_id_bytes = decode(stark_image_id_hex).expect("Failed to decode hex image id"); + let stark_journal_hex = include_str!("succinct.journal.hex"); + let stark_journal_bytes = decode(stark_journal_hex).expect("Failed to decode hex journal"); + + // Load the Groth16 proof hex + let groth16_proof_hex = include_str!("groth.proof.hex"); + let groth16_proof_bytes = decode(groth16_proof_hex).expect("Failed to decode hex groth16 proof"); + let groth16_image_id_hex = include_str!("groth.image.hex"); + let groth16_image_id_bytes = decode(groth16_image_id_hex).expect("Failed to decode hex image id"); + let groth16_journal_hex = include_str!("groth.journal.hex"); + let groth16_journal_bytes = decode(groth16_journal_hex).expect("Failed to decode hex journal"); + + let stark_tag = 0x21; + let groth16_tag = 0x20; + + let stark_stack = Stack::from(vec![stark_proof_bytes, stark_journal_bytes, stark_image_id_bytes, [stark_tag].to_vec()]); + + let groth_stack = + Stack::from(vec![groth16_proof_bytes, groth16_journal_bytes, groth16_image_id_bytes, [groth16_tag].to_vec()]); + + // Prepare ECDSA verification components (outside timing loop) + let secp = Secp256k1::new(); + let sk = SecretKey::new(&mut OsRng); + let pk = PublicKey::from_secret_key(&secp, &sk); + let msg_hash = [u8::MAX; 32]; // Dummy message hash + let msg = Message::from_digest_slice(&msg_hash).expect("Failed to create message"); + let sig: Signature = secp.sign_ecdsa(&msg, &sk); + + const ITERATIONS: u32 = 1000; + + // Benchmark STARK verification + let mut total_stark_time = Duration::ZERO; + for _ in 0..ITERATIONS { + let mut stark_stack_clone = stark_stack.clone(); + let start = Instant::now(); + let tag = parse_tag(&mut stark_stack_clone).unwrap(); + verify_zk(tag, &mut stark_stack_clone).unwrap(); + total_stark_time += start.elapsed(); + } + let avg_stark_time = total_stark_time / ITERATIONS; + + // Benchmark Groth16 verification + let mut total_groth16_time = Duration::ZERO; + for _ in 0..ITERATIONS { + let mut groth_stack_clone = groth_stack.clone(); + let start = Instant::now(); + let tag = parse_tag(&mut groth_stack_clone).unwrap(); + verify_zk(tag, &mut groth_stack_clone).unwrap(); + total_groth16_time += start.elapsed(); + } + let avg_groth16_time = total_groth16_time / ITERATIONS; + + // Benchmark ECDSA signature verification + let mut total_sig_time = Duration::ZERO; + for _ in 0..ITERATIONS { + let start = Instant::now(); + secp.verify_ecdsa(&msg, &sig, &pk).expect("Signature verification failed"); + total_sig_time += start.elapsed(); + } + let avg_sig_time = total_sig_time / ITERATIONS; + + // Output the comparison + println!("\n=== Verification Benchmark Results ({} iterations) ===", ITERATIONS); + println!("Average STARK verification time: {:?}", avg_stark_time); + println!("Average Groth16 verification time: {:?}", avg_groth16_time); + println!("Average ECDSA verification time: {:?}", avg_sig_time); + + println!("\n=== Relative Performance ==="); + println!( + "STARK is {:.2}x {} than ECDSA", + if avg_stark_time > avg_sig_time { + avg_stark_time.as_secs_f64() / avg_sig_time.as_secs_f64() + } else { + avg_sig_time.as_secs_f64() / avg_stark_time.as_secs_f64() + }, + if avg_stark_time > avg_sig_time { "slower" } else { "faster" } + ); + println!( + "Groth16 is {:.2}x {} than ECDSA", + if avg_groth16_time > avg_sig_time { + avg_groth16_time.as_secs_f64() / avg_sig_time.as_secs_f64() + } else { + avg_sig_time.as_secs_f64() / avg_groth16_time.as_secs_f64() + }, + if avg_groth16_time > avg_sig_time { "slower" } else { "faster" } + ); + println!( + "STARK is {:.2}x {} than Groth16", + if avg_stark_time > avg_groth16_time { + avg_stark_time.as_secs_f64() / avg_groth16_time.as_secs_f64() + } else { + avg_groth16_time.as_secs_f64() / avg_stark_time.as_secs_f64() + }, + if avg_stark_time > avg_groth16_time { "slower" } else { "faster" } + ); + } + + #[test] + fn test_batch_verification_parallelism() { + use hex::decode; + use rayon::prelude::*; + use rayon::ThreadPoolBuilder; + use std::time::Instant; + + // Load STARK proof + let stark_proof_hex = include_str!("succinct.proof.hex"); + let stark_proof_bytes = decode(stark_proof_hex).expect("Failed to decode hex STARK proof"); + let stark_image_id_hex = include_str!("succinct.image.hex"); + let stark_image_id_bytes = decode(stark_image_id_hex).expect("Failed to decode hex image id"); + let stark_journal_hex = include_str!("succinct.journal.hex"); + let stark_journal_bytes = decode(stark_journal_hex).expect("Failed to decode hex journal"); + let stark_tag = 0x21; + + let stark_stack = Stack::from(vec![stark_proof_bytes, stark_journal_bytes, stark_image_id_bytes, [stark_tag].to_vec()]); + + // Create batch of proofs + const BATCH_SIZE: usize = 50; + let proof_batch: Vec<_> = (0..BATCH_SIZE).map(|_| stark_stack.clone()).collect(); + + println!("\n=== Test 2: Batch Verification Parallelism ({} STARK Proofs) ===", BATCH_SIZE); + + let mut baseline_time = None; + + for num_threads in [1, 2, 4, 8, 16] { + let pool = ThreadPoolBuilder::new().num_threads(num_threads).build().unwrap(); + + // Warmup + pool.install(|| { + proof_batch.par_iter().all(|stack| { + let mut s = stack.clone(); + let tag = parse_tag(&mut s).unwrap(); + verify_zk(tag, &mut s).is_ok() + }); + }); + + // Benchmark with high iteration count for stable results + const ITERATIONS: u32 = 100; + let mut times = Vec::new(); + + for _ in 0..ITERATIONS { + let start = Instant::now(); + + pool.install(|| { + proof_batch.par_iter().all(|stack| { + let mut s = stack.clone(); + let tag = parse_tag(&mut s).unwrap(); + verify_zk(tag, &mut s).is_ok() + }) + }); + + times.push(start.elapsed()); + } + + // Calculate mean + let mean = times.iter().sum::() / ITERATIONS; + let mean_ms = mean.as_secs_f64() * 1000.0; + let proofs_per_sec = (BATCH_SIZE as f64) / mean.as_secs_f64(); + + // Calculate standard deviation + let mean_secs = mean.as_secs_f64(); + let variance: f64 = times + .iter() + .map(|t| { + let diff = t.as_secs_f64() - mean_secs; + diff * diff + }) + .sum::() + / ITERATIONS as f64; + let std_dev_ms = variance.sqrt() * 1000.0; + + // Calculate min/max + let min_ms = times.iter().min().unwrap().as_secs_f64() * 1000.0; + let max_ms = times.iter().max().unwrap().as_secs_f64() * 1000.0; + + if baseline_time.is_none() { + baseline_time = Some(mean); + } + + let speedup = baseline_time.unwrap().as_secs_f64() / mean.as_secs_f64(); + let efficiency = (speedup / num_threads as f64) * 100.0; + + println!( + "{:2} threads: {:7.2}ms ± {:5.2}ms (min: {:6.2}ms, max: {:6.2}ms, speedup: {:.2}x, efficiency: {:.1}%, {:.0} proofs/sec)", + num_threads, mean_ms, std_dev_ms, min_ms, max_ms, speedup, efficiency, proofs_per_sec + ); + } + } +} diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/succinct.image.hex b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.image.hex new file mode 100644 index 0000000000..877bb10ae5 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.image.hex @@ -0,0 +1 @@ +e10e8a68108d0b44224f041bce277b15f47c9fa52860726979fb260dc4d8c2b4 \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/succinct.journal.hex b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.journal.hex new file mode 100644 index 0000000000..7f4014f8e1 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.journal.hex @@ -0,0 +1 @@ +5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/benchmarks/succinct.proof.hex b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.proof.hex new file mode 100644 index 0000000000..1736eeda4b --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/benchmarks/succinct.proof.hex @@ -0,0 +1 @@ +73d90000b3af542600000000aa33277300000000cbdec83d00000000d9cbdf2b0000000072220f3900000000179bf5500000000061f3d81d00000000773a451000000000c7e8fe47bae8ff2f7278ff6fef82fe07fe36ff0f54e8fe5ff438ff5f05cbff572f9fff07f4bcff5f9652fe4fe997ff376bd6ff27da02fe2f58e2ff3f81f2fe7712000000d0af1373ce7602068a35fd5fe2b08d2c3ddc1a44787c3258c90d0c150813b665dd7e1c176524bb0cd083835925bbfe46456b604c3a2ab10907b4aa1531c3f16ae3f58a4c40f5977120b65c6dee4e1039b257382162b5c33ae38f5a20ae28ad123cd1be5d2cff484fcfe1e53532404b55df0f0e0b07054300774ae408485da266f6351a7649cdfa27f4364a203d1b9f4e7245ef480d3f864d7bd9e94fd5df6e4ad0369e20be38115fb3e5372391f0ad4db3c73770d9532f3fab3de835bbd6fd52bd3a2871b052e00d048f494c057ddf1f6846a4182d64f0083f4cf912344f78401fb93900697a53270e33a85850e06c01042c7e0eca57d650725ff4127a450432ef20753d97f5c24a83b9bb1d05c00c09dc25052c10fae60b10a2a05c2e8dff48e480336aa2f1992c2e5f0f4fafbf9c25a836e640a2f79c5a54cf6043db03ad06083fb656a3ef484c72f7dc0191c51c187330af2d4860c022586eae58d2a7342714329d6b44af4a24c9acc003c60b571ada11546852b0d2100e4ea846abac6a31a2e57a1720bfbc6f46386826e588601f5dc1c553fcee664968985a009b360a0cb09bcc222b65932cea1f973b2653a86666dee418d15ec9312d51ad2f94feae364dd0fd4e798e1b2b38fdb85e9c91602701f700678f9bf81eb876b454546f9a6ff47aea2162094e4144dc456c5ba17d4369bc305a369c8b083654ef6656e8d8288ac0e51c6da31304e0cb226b669e8964d841721f4cb86d595c2dd62a3f5bb61ea5483254501b636476d6656eb8f0c06126b31d57b043891f63b7b7310b42d208a71cfa2e00c51d2b19135d317f6c9a59b0e7b9683a14575c10dd8b5df200922b9c426f6628c2b8547f65ae635a0dc814081c5f3b9581cb24639f6a259a9de350ef06ff403e259030ca40ae636248966b17b1a163d982c83a37c7250721e28516f3b8544fe1058363ca9f023ae65412087d20f226f7cbf35c042c4107c90c4a01c119e7551bd8f354780c443a6dcd8a3b13206d18163e0d61bfc6210e1cec720d4609342ab5279d144ba270434d5d333edcd92b11504f8265b979c52096268856c83f176694768832ba279b2d5c9c610f1612025ca09b2c628cddb45b547b5c2fdf8f62083432f463cd491b173f53074f34b96025da865a0997166b3fe155a371b6db245fe62176343f312a3fd605672c785e2a6c7fde346e49aca0454a322051135424414727d16dcce1c83f9c3b986c6c445c7779f4f12e572e4d12b3ca6830c0d20a5fbb628c5cfe03c82c4d018a10ecefa4379f0c893c3fe55f6b3c82845251461f63d48940414180194078c2d96c6410485f737e93619ea34e4796b0d13d8b27a118392eff0d6bc5bd21f569e729d66e8d304cf51f6d73da77384395c306af18b0189efe264a16f3c5244422d14252f428311c36d51533ed50451579ba0abb55f64cb824c13d9c258a1f89ec6652244f606674db7b46c5371258e54afe57ec9d17288fa92500e981c061ad5fd02a7822c36cc351770b0d62425446f422284997f027b0aec529a30a7170c3397131c9661a739d737f55586d2b2ca9fed11a37ba4259f9fbf72f0d9e144da0894a73217ff40085c1ba1d321f500a5b85f72943e6134b9d15ff486ca11d56e1690c426400154aa4b2f91df49e593c03477176ea8c90750403f36e941a2505ef675b0c374a2d20c8b391001bfaf2511ffa6f53de3e2d295711d9037b43ea6233ce333c5445e32780e5c2498bc7ee6f9bcca901dff52e467341bc4aedac64732be75108d17f4c328a77bd657b23376a810b226e880dcb0f6f6acd15c975b9683ddb3a6e48406c6beaa2612c4059e346882ba420eab35102543c050a060a603c5f81745d99c4fb5d4ce1af4c403a7338a2237b278022ee4c4ff642664e6e512e7eb5612f59128014c54d051ed3c10c02a0440425b1568606a3edb44009ca55005b673e0454fd8c1341100a2a3362973f4d3eda69b1d43b0c070da0697a154e46ecf4095fe660fc709f367a39157fe21a3aa3385eff8efa14377c526175f906072e5b3d11d898f721b26a3f64c440ca68e4a6226cc8c6d64ee5e4fd4fb38ea44a3d0e2205d24bea6099d2233938b5b15e697e59667f01bf6bab0e865c90402411c27aef348a96e323392a2660be50b4142b793f5e0482a13367b2ed6784d0e67460cb106a3e86c25a323a79673b835e3f05e68117a353e903c7d99038c9647f3216b60f58ab1c0f30c10a021bc45a4437c2b118467ba595038411cb5835811a3837d48a40294c8c0c6eb17f0f5888bd39135c2f4d6b05ff1c4e2a2f5d6602b1447c5e3e02485cfe15b737596cec86667722574f275c033c0c550feb433bedde0e7b05dc03e96ad140e5614968b1542f0f1e57d043f319490e176d22415adbb14526431f6a916ea54e905880413a890a67279b49290efcde39f1683d24696ae83bca35892ff9a27303641a9855e892921799e7c11717dc8e2d97e5660c62e00c0d1132da7506fd9b5f3bad230d9fb6102aec0e2239e0322061d65bff482643055a148c2a45485bbc3288e4365a2f2816476ba3fe6f2f93dc3f3cb27533816b045d5db1ee2cd02bc07586f7201270680e6b4d06fe5f81ad822bda060d5b993a5d28b0925b5070131429ad40c53692cb484f613a8e66043d7f65816582420e01bf6cfa5d31730e6f8d106c585517651d58573da8a0548c1b7145c0828a6911d14233a5a0e25f67291655c3051c715b0b8f6c58eb8411d8964c48788fd333e2eb8f60da4a1a434256f569ea9dde534601f93b5ec7e76f9400db6e8186d52b37814222b51a4e0bbb6d293538d74422cc8eb62ff78432242feac40fc407562e8bbd6667e98d71472424995e69fc432c8d61341cdd1e523a9c8a920ab49ae2240a21ac566959c740dd7bf33fa5fa513a5da477383eb0f218428cff30000a2b775bf2d02cce9787409b537a14098b9c0de76ac00aeeba4d31ea9f6a135fcd28237642d35fce17eb1372b4b24152af1e524599ef4c3aa8bb04073df67721ca0c4f494c87702562141b0d286312e560c7473fe3ee423c22bd26f66c284e0f43f9622180fd5125a9e2727858076ba1f47a3428fcc458d0c7ba3f2c68637476214a39bbdada454de3bc283b41e63b27dd0346cecca2584c040041efe858171972a75d1bab0d1734b6ac2915f29e00464cb647303b6c37eeb6e208bbf88718700de739e7a74d664635f3212634772900e39d2638917b16b358063f32d5a959186a0737355ca569fcc3b17672d50a16c81f0b0cd15e50774b15816aef83e4748197bf3ed4b546551fcdf93decba3273fbec9c14b4d6bd64332ab84afd205b496cbfc2575c0ab32039a8bd050e4ca227e9ace21d5b22f80f3733ec5ce3f171082659db6e3c73475cdcc30254ba907a1aff09140523596b27e021671b460ef3537d3a2a5e75215370bd2b7e5d46326042d38af40f1747370fc396562f93b402718481351b02a2272b0f3d482f027288201ccc1208c134785cc1242f6506f9642f15c33876e5ff2c636f156f714a62cf755cd488539fcb3d61a737133aca82be773269f97587eb894358d4f63b4a982c50ce374e77b56ef8340a74097633309421443d854a87140a2cc79e714226a71b670e3292695ff5026ac9666e3610413072e9f0453b78266b3320c4a71aa8f8c51a804dfc38c3fa3937c3e76e53760252144aad6f3267d9a636dfbeff50d591001d84a8085b02106e37738fa30bc9dd14666cfd89102802794cca02b0384877ac0ff1d3a148661254095de0631af59ad22c129a255622fa681252535a4c36f4312d33364101b1991b4e6d9c2f2336114f5e4f450f003f811d01d1f52151f3d8475afb1c5d2ee3501b0280eb2f158e45ff4b94161b17f219ba2f8f537a3b68bfd2729e89333a34ed1f4c72976a2eb0901f31fc05151c24a4966de6500f17fe034f30aec0690bf5a9d519cbb54271a4a49d26079e372b220fea090e51de4c8f95e85bfae3bf4379878474c316743b526c96145139484624b6073db5f4de5ff3e9b93084045721aaae7d0a339c3560fb4bd673e21ce45e3e7172513129dc260a1d2b48fdc6f20f534f7c3982700f057cc463348ae9aa375309e64d13150b715c254f114d632d3739d4ef5f13d4966cba85232bbc3c704643e3f7089d5cc30e7bf00b62b0d1556f9ddfa934ee7b9914e6395844f45eea1491dcef211cf9641a27d24e3aa98816641d41e2422a0874672876080960a1eb5f37c05f03d23ab80db483ac6c34de03583362c444b8d1ba4a1b388f01ff046b4dddf1af2144b0e56218eec46deb29f005361c77574fda284adb0d303f8594061d9e1b211e5038e44964b90352d98ee04835da2f3d6bd4220eaed4dc067a22e12bd2d9ac77b0754f4eba17646fa81e2664a7f8e52bbe6671732c8d2f2db18c101e7e10223e47bae428ac66fd2101b8984d28f1c42713aead094e2475701a3d80667d0fe4524a40010818a2ab4fb25cde261d371d0e9268472368eef30287e7b13a9cba70067524c4726d206a311a9572324cb1013d169a9b0a2d0061585874f654e74a455aac1d622e0dbc4773a10b4d4e2f9aeb61f4b39b59dc45f00d0ad4e1110132c345f9ba4f6158fdc273d7cde1677d8cdd3ada8ab249d468ac1c398943282fd07a47082fbb4b6137a2343166f76ae6af7f5c6a0d8116b27777260d7d281ec2b1fe6c48d6235aebc481581a144033580fb30f6f33a22925a48f4f77946f416d6b3b29337a245808dd0427d67a9954c6a2f31250bbb75658ccd4637472f612d7036437e6efd967eac0151c70575a302685e75ca0e42241bf9e071a1e42df480a48814ba883d54663f8d92e9321046e065e7d6470f54e4d3fce9a2850cd05745ff1427564d2c86a734e45282eb86d6a9d8b7d59c3ea0f50ffb6a245e0c96d14354d785fbad54926515122135dd8f303a2668140c4b45a0da8a22b49c0ec662cdfe1e604acef11260295c9229c6cd91f8636057601a67602463ccf70435d41437b24fa20773bc60b6799eb545f7f5667a3c1784cd1f7e355080b643ae79f986e7c2ac11cc3b38e56c5e7c0136ab45325ef610d40b1557e6956d44a5808545435be7c7a020e528026c512854b7d20e96fc34dbb3cbd99cd4eb7bd7a52c0861625110cd00f68c4c81ae60031080ac29a6e26f9be6140a4b10c655ea643d51cef17477c7c4a144dc175f4fc246a1a3d4076b75cb6101d4a3966494f6f3d820c3c39c80dc9283c2f6b1a1c563c0e60065f59f99fc76d66598e10714747350e3e554f683678151be5c2014f62ec2cb32cd86b6f9f2b65671def4106d8da460dfc5f472b3ede32ec81da3f46d3b220448c1014f84e7f103c279d3f4412c3690e535a4f91ad395e29369620d5726b3bc98ab56eb7cdb51fa643ac5dc0df34411a0f7c2473baa633182b741bfa925915bf92a36e98806361aa16a72d4d7e1b6a4d32ba102568002f9f6b4b701aebe1676ba11743eb4b9d6720360663c586af53ebd77a54d310322b2c15640d538f2d47ae4a8f0120a16003c867a83b0076433d74c3415dd1e3d008812de245971e6576e9ed386638e7a5704bbc65663e81880f44448d02552c41072408036fa7b1c73cc9a1f649f89b385956a64704515ecf1f09910d56146ded065b5d9039fa99e240f204012ff096fe2c65e33b0a09b1fd1c02aa0c5139699821c5944b7203471d4f47fd896420e6d718dce3c74c898c041ac6171977d520ef10b9ff512f0a1dd02b0a7d0f72800e4453f2ae1520d1acc42d64c52a15528be40411192d3d1aab3c5fbd8d8d3e92383356891d92573dcbbe1c6bf8a370f3a13a355c565426ccba3371c37f8f10fbd4185b73579a4ed9576e013a14a6373d5ab90cd48ce20b4ffc2b440a169f2c089833213828231616d5425b0858fd3d00288b1177632406f36e9245ca769d6f768177595723ae60ef6b4f6efe95e2544cdff0280bf8c809d21a820ba9b2c34109d9b56998809c4628e6d614d949762af3a9633ce5d7536d10ce8356fa997811110d964c0e385f28421e366807a1be5c654177412398e92c7382421baa9b4c5877c4dd3099aa853dbb8b9473b2d3dd3479cf1e4b5927a0714348ff4f16d0665602532a081963301aeda7a27571ebb627ec2c01317ba89007babcb04ee17ed7235d2f7f3f3e50ee5cc12453560eaf7b6d64b8d93f2ef0b4543ccb17128f41bd49eb7e0b1ca7419561f2ce9626e2a1a87270f797569e3a6c3cf58229345620972417c9284913d59c0e95213915097867531021591edcef766800000000000000000000000000000000c6130647be207c6dd47be07457f9771d62590a68b701b8285d7b8f7687384c4334617f491f461b51e731a64b5aa8816cbcd14536da7626582e8c0504bf396500b0b9d4060a39b4350c57a15a46cefe2ea6c5b364eca8c2023644ba1b272b2e168940035c40f8db1d93d4d15964e4f804df0ce21e96f1133a2b1b0e33939ea76a546d1310afe02a6ddb7677258eb8530e940b5b6b4eacf6565a367b65e34cc76f19c65c144bd5de31c5d6970223f57f6a8f3bed29e507b343aa78c501c10340658f9e8e1795b0511b1e7fed4255d5f3196f73c92f03c33e28363b4a05a2184227e835990e8dbaa10a58449b09add13f5d3c79bb04d0b63336079a427127e0170d400a8e50902ba21ac1eae642c3e335633cc77c4b1721c65d3d271123921c1e68ddfc3269571ebb0adfe0036a7feffb4332289a3e4b740d408cc7b0158d0dbd1229d5bb48b5a8e9545e2c601422420161f0aff80905ccc7274de7e65af3b2af5a5f9de26192175533e63fd95ce9771f1ea79fe45ebfa3a6723c5ff009047f0a0a7bd38e5a93bf915764e7b833d13fd043b341a4502d7d0130e59a682abb7cfb223d5bb319d305a04140289f582bbda65358b5630014d1b16c4cd8e608600db62ac5dfd94a0a6fe14a4172814e8dc98473dd85c2625e23954340520263b6c64851a6a8b930e5c5743533064c6b381a98476d29a5241611f160f277a666a6c5616a897d4d18a48c4f51840f692a17d34c3f81fa5964168d1a54d440165e01033b723fecb65e6e907b5d693ef52645a93a5a55e76d72dc8ffb45176dd66c4f9a3302f5334921fa27a05d15ea221bf357625a4ccdb1368ebced5869ee37599d9caf17d91a2047013a0027b169180432c9b97706f19969deb82d2ada6f6840a4c6a31dc060e947db1fa40bd788171b4ab6080d83fa9e1b16ba7a3056f7c2636d54aa48c606c559fb614b436a1a5a5897651b21e711c34a3a5c802743236773b02d40108150f71a1c006b7247d7c74fbeb1f7582b1da421902ff43caa977f6ed27a1323ff97e90141da3215685ce1471c6bcc396dda5b6eb4dba3040e27661f13a8954177c7e75f6a6e0d6bb669305419523c770a50296d9237ea5c31d0cc75fe3e5844c57c876095ee5635600c1824cd8d922f54b45b5373188d00cb36430cea98ef2c3b31c329ce788f6630149945f0af6446c0c26358023a390b4b4c9f2825ea4b2965b52d4c3ba43b042a1d84052f0649633751cf5c154b6e1036cb68131efb524be1634f412195655e4d13d235b2293d2020a10b3a9d634427a7ccd80e872a432802b300558d6bf746c1ecc8772a91fd5e741f216f37f5e607bd62ef6fc4bcf1362dcfe3358b703f567111ea403481783df33a2666712f485fd5fb260e984a2e6498b57573e446352619989e55780445559567d06e2b0f4f265415852cb6e0411242de8f13ed6316298cc88269de14a042c05ae066bb8bf61875a4207283a1b2546a1c8402c20c77484042ac766068690f0f336a32a1266d1e85d3e714816b536f56e8cc4c28069b62f9a2932c468b81210a99815d8dee23773e8bb573774a92483280324cec2a4e6598a1c802010d2828bf16561076691f7772cc753462444430f36d3903b1aded62f7d68931c3d4b22ef30a0d7236ee27746b8c410a46d5e65e2bf71d01c691ca6dc397db5fbafa5219cdcdb82892f46c5f65de22676574e00680c91f721ca7a50e0cbc51718a32e969033f3149f08dae55592b09724af9e708d3594a4e887bd32f50c17a2c1d60816266cd3c21c6c3e74f3e9c0748b78e752930246b1af05a633452da99138e83e72decc1a2541c9f2269ee579d1521c7313ea4548641b01baf42d148db68ce15475b4f4dce2221581676937cd904771f034aac03f947235d806af218af255ac6530ff9112523c3006f303de75922c7c231272a239437aee3080cf0bb8372ea5efb11e7bad576163a1f01e330fb2da778a8379279cf75463bba0f3a5f066a8108e73ae417c273f3ec6a566102c5654b70ef2a4fedfd689d514a23b0b935391d5aa932aff0bb5b5a168462a006d63bba5f351453ba3c74addde63282ec4a5e06ca1b1aae76396a1c4b4567b051c626adfd512aa6d0ba0b81af79581e8a1740eef69365fb8bfb693f1be556ae31212a95a6fe5def9bb54e8b793f680b2c52472b700105fb03f91364d26028193a8069ad6056598e7bfe519dbcf40d0eba621079e04908649102062e7e041bd575cc3553931e092719592f9b7c07711b19fa0a190e635b7d60222049eaa0268b293633f516473c5ca627109a887953058c344f8cfb1434ca6a2b5f097e9d0c200f8e49c7e6db09dd9eca370cbb7f5e4ed1593bbae20e5feca1c246ae6f583577d3a05e00a5006bd73bed653cb8f61802cc714e1b01ce377a7cfa1d13bef5180c98d72de6c7d905ca7cc65e7ea8194039b8ee756d1fed10cdcde657cb7d7249efea086abb854b3d8b3cee4d1f3af02ddc217f673e7d1663e48753033cb61c2790fe0074bfebfc25a4bf251a0cd53c737084e03a56ec104a01daf251c46bb6011935e70c41d1533f273f5a4276aff03e56f53b4b2c4e48591f00c95f04015b2a6162406be38e2437d1e53241aad9c21002ae5a497856405869512014edf8880a4bd1304024c3730ca1afa144bd49ec6b41b63a58449d695e6b360a5fcd1bb53ac6e8b16c76d93a14fc83d857b6470f4e36a2596b9cdf0459848a0b0f23194b17ce9b5851ccc6475c47b65247a2219a72a5e8077271a8d3433940b6317d3b4e05a8350f06a1038d0525e94a387a1916041d557303019fec1cf04fa77383d58346fee7df41ccc31a66faf6772db9f5df24cbab8947c71baa75cf066547e4436e68bf603a00fae5bd08f79ef864d4eec353a159517437cc17515cca711d9ef7d51846ed5c3678f1a9535e4e5065c8d4f74fa606de59ba0605212fd335676dfe734edf0fe3728a18c304b62e514d726883225d21c7653ddd452d8bcfea76b7fde963a2f6e12ffd616b65e56142421c1f5f051908d35a2e8e1325fcccd064c1a06a14ace15d18069bb25ba8a84c0e3f7c9241e4c12512e83ddf310d7eef53a12f1d5219cd363fad872c479b3b5b364714a07027920b59b41fdf091e88494bb01d2a60de940a140d011c5283fbf6189ca7ec10c4799b499ffc3f1252507a4d5272c24ea4497b1a48a4c40af5713b6cb4e2bd7601dc9e04704c411db0fc0964be8eb10f9ede6a03dd3fb6715a6e94636881e307528cf35602767e4dec36792371522d3040f3b919c64da10b562e3c382d80611f10b1f93a53954129639e5e47106a575110f9ee36c8fcba2a7de2f858ba93c32f687de261bae7226da957c72a249561181e1eb534937a70744197220554f3824951f0ee39449ffa5d81e7320d8ffebf20f171f06893ddca482b5afc62f0d840336bfb352e5e68ad582293c21deed5536f5fdde90a4a73750c02df0d3d72726826930abe2c0102290960701c6b30d358086dd3a81f7e2ff915b300e152a204fb12d03ef221f318244c3ded8712944e7e20c1e41052364c466fbb766d719bf4c6527a12c7533deb7c5e9d62344cb5c37036ac55e957b74a99234177901a07b24f237fb99f66c4298f6d3716db66a41a9466a224c8105766147148ca4a747aaad5241f07a639877f3f72d6797d47d31e313b608bfe498f12ec0b27417e55c485c24c237874106ab76e75729d891120c5b24976e5125334bcb674ad38c73f4671850ca5233c0d763f3a6eb6c41409fa0f1f20b95f3b15d5dec81a27ae8c563e74165784985f09453c83011425933254b6e3664ee2f63b030d996c5cb54e31e8c34d56fd48611d871de8664cd08134e90401287ebba541a6b8600612ce210f6ec9d0364e39b50e6783aa3f322c9b6ab4a01737c8e0500093ac6e063f4ca66a44564e58f189e8771a101d0d17f9332ba598431ad408df600a7f6f49ddee34466ba1b36a05c5a65bf078ef00553e8f622485ba2ebe778b4ad754385b6f4e77108ad3b131ac1880550e5fa10e8769dd288e4d7e02e4c0f15ab422134d3f9d320b8b1674625f76343c1275315e28a40f0f7b48576e483fb2036421fb2c571c3a2cb12ae46634dc02322711d27343f0a2055187d74a5587352b81e1541f9e13f0566b647c4dbf72601c3f1501340c4aec64eef5d84cbd58da70ef819a351684605ae2522225118a5f2e05627b5276cfd11bbfe52c282e26fb62aac31d2dd3221d408f942c003f3e75335c24ef74544acc0dff29421025d0396f6b965a68b6eb3354b5c4877115f4bb0e3910595bf7a7c80474df1729b8ee4e19b3c45c17a7782262db73fd3b3562115a9e969901c8aef5006b1a4062b8cead5646ad546309e8bc510a0df22276137243e6681a63a9b31d77fd8088380a397e2fffb4d534e7a20c1793f6e905cf8cf8325adf66448bf6c703653f2d659fb8776b8c12306d0235c642d24571276fc7da464cc3506784a2533c32179f6450d48c190a4f80738e1ee03407600b437e0f3542f57486745a0a7c64cac53c26a608de547578ad04dc30d829c46e8d086787a20d9a0a0f59de0f2f4ab44f784d5d36ee6e3a0dca6a6eaef45d9574bd1063876a1738f92d2af2df4c5006f21e4792e2790416e4890683967248f2fbfa28d12af37540a1a9420153af1bdd9fc869f9417b23cd0d2e69e990df68d20a5f0ed42851318fbe2005d4fba172e38b220ae62b4c4ef8abf55e6131c718cad82974319c370a4916cf1159641e3e94f1b02ec5213c2aa2a26f3d43c3f328e2f2025471c06944109b8936f02c1f57aab8ce05bcdf5604e07e99172af0252a6602f329070e3e29ce34ec087b99d938aa816a4782159502d590f74ae6ecab769459ac6eab1ef91422f3563a56f0570f96967a083c7e8004e66ce72657f73b17455ba2640cc1603a7b190b5f71a9cc7374c1a64faa457e18ad8d11406e604c0af494fa20356bb004fd0102167372ea41351c3c1d17312c77dd8b2a427910d45214a9467787e0d25bda6ecd706e7af05335d50b405b90541e09cca63aac608948a93848485ca1e17399178c463ab41c0af1819e0688d0f3648cf2c5603704de30185bb52dffc1e60303cd2c514d9409397d8ba123518984388665825b02f36d3f8df9e56cdce50b1639b1d06b311aed4a3ee30d05ad1f2f538c5e265c22bd34109828655cdbd3a50c66345524e75a3b398997bf4e00bb5a289817e92704f1dd1dc34ae01591e79861b170862d8aad762dbff31365cd16501663b8b23c9aa61f152da1e175ed8cc90851de4f76ae76354613fedd4a87940829c01ded07ecf6695e4403e237f1448c552f601a5e7689ac2f5c4197372033a81c630cc2057073de60a2fce06d21400159249f9401f4d4fd494ff1910d7286d20d8b358e53fc158274fd869f39ff0c955289032a21bc8c4a3622297073f309c74afce2b654470c0f5308126404cdb6f646851e134cd66f242e4a955223679e49080f078f254d50b3170367881cff461a5f2438662ba97cfc154dfa626b4b3e3519f0bc5a193402c80a6c61011a4d7e3a5017894c12e73067613d800273f3673a4c95a2ce6849adc4057e2e9c618b331f364cb3220c8e11c401fb815c4cf4855c1dcf86f54094d24423a2fe901da2b0f70fbdafba761b8c3621eea8096e2a62d83c17b3122b2e7bb0334f64c61f8e7823654991dc3a4acd632d07a0886da5129b7293ede1415715262c33ef194481d9615cc16d035d291b0c0c689ba119ba98e2117aa7e758a132492036ffec211bcb6467287f776453339e45475f4e35ab54f81a0d256137590df20f9b86da4b911f330ee4d3621a88eb646dad64ba52f11462684c10ae20fc7dc75b842a653d8225fe45661dc12b9523d06d8d2d0d20412bf832dee8460129fc506ffe8a25052d296e5c90c2eb01f7278f68ed3a6964f2fad5008d3baa0ff9333c0fe267646b35eb2d02303cee044fce6d755dfb716f71197f6540752b7293ecf52689626f1581a3c0609db2b46199a0124b62494f03aa0f3d197490941f9564dc229190e9176c05a4722bc28a0d4600be4715415c7689283839950281386e7d692f792959124c54d42f35dbcd7412ac2b743848916b030ebd1a03d3296bd952d80809540d66918dc31b7a6cc63d8c517f3da40f593d7110a313233d3d663b8a0500071bf905fb5c04117bde0a2775e49905296fc1103f72087365223f1b94ca1b61c032bc31c56a6b3bdfe4120e997fbe25a5d52e716cbd8933c957bc72ab93565d1c773b58581b8a15910524189cac535cbfcdaf3b70ee6363be37446a228dd820fdef1b050e2859721a70ca5fb0b93e6503d6862a0d78b73ac87c013bbb7e3271d7366e53101e6a2ee3c4e045cba16c4527473a33a762fa2c8270ce070c169323234ca846db0da848405eed3830140971d1f2dc7622bb2a74e4b399590dc036605c7f17356aad6d1abb1e2f239c595b5acd5b1d4c0ac8a9269b911b4a8e699f76490d881886d3f206635d9b4acc7f8b377bc55203d14c0a49a10b87686d71b44f716d3a4a38be823865a1f66b8a82d8268d08412f4ed5ba3ff2cdeb34f40562416b5d9e138ec6726b16bfc55d6f88f35c49b31e266fe1ce1bb39b7c2c7cd6af25896a743bfdd5410529797b2eb3299a4f03da1c56b371dd42a4a89d146e245f464b84fd15e9ac932a66f8c8686c96281e11390a352f55f022b2348f61f8108a56efd5be0fccc8cd51100ff3454e7fb84692587c764c1ecf6dd690736195eae2602904ed0d6581a84a6235092d324366231c7d5b74bccbfe24a131f42da850b43a5c82803b0bc48600db841d0d9b080f7787218e292d8b3909a7e77c637e167f56b2f0134f4c270500839bb155cfcdfc5b692b104c26cdef567522a54d95cec753ea93376815bb116a55f49174c7a189052809f101ec80a761e4040750de3e9f28ffd9ad502cde63599d6ad8745b078e3c9722476507ba3962627654113f5df90ef6409b2e57b28b0f340bc625d5bace00d51e50212d51d442d2b54121fee7e7250f6dd0635edd2237512157567e92b8174349a356d9dfd75d2126076c560dde42103e511a4ab65e5331b6f325af38770c0227274d02d2171708a92f421488af315e06995c0bd5dd404e70353cc028815de6a91b43b2458e275ed6f465866a1d685d887b5510010a18415b4c404236e31db962cf60a9a4210b6969b21538d2885ce8843e4083c892684774ac499a60355923ae742281a6dd57bcf6482865b95870bced1e5c05817e58d870566f1030b67554540473c7f6fd6f9463f2402beef55409d20a51e5c32424c0cd1700c84a10778ec91c30b0df572ee6b3ea3256292f5636d7a1490cc5ed5de16f39590f9bdf6733f9be355b2168257cac4d2051d5c06dbaa75c39ef140f34bc7029560d02ef6fb5e0881c3c2dff6565d7684404f0a1740076835eb3105133b8c6632344381c1202e13b627c3e79184406f1343ce0002cc706500a61692d052a6f251ff544a802a1b30405cb731953b06cfb5382c0990152e73c33ef9f854398b28636c2503d60fea4a306e1f4d07708d0b626bad3e0004a1f76710556ac03560678078cdb9a2c91f942676d16982bad16d06b3d27c63e248b345abc5845111741a163192dc256bd54014ed7a34b2b3997a258caa0560c5141b12a524c7267d0a21c6ab2308117b145c34fad08a90dd43a5c52f5d05b68834ced329edab9062e9e5a4fbcc32c38ca48eb1cbfb1743ec606f22ab8aa0e680121551572f56754e44395406a9aa31d7ba8c21c01f2a862b5cb1943a11f4e6f16017273131ab115d6c79270e7d6c55127881b5f1ed666387de6f314b3b4be15e286d808c0fef16ae43d4400823ad71401fe155f39861c6f1d9625091b9d0b205a539f3a07a8b2634cdbd353f7152224554b7e2ede878d4367af05643cd5e575af48616be4dad839c770db40aea7bc36ffd93849d428bc1e7ce00e287817fa5838304427bec2706e9e28572ed1b3ba1e01a37d6e88c6b434c1d7f56f6f34cd431edb7b2f99cc66624d30a804bd635f5e184d5a5889f2344976f7b6238a871258f2cc4d5fa7f0d810114e671e81deb35e6336dd0cd822a065cf551e348ef93656da6e41122957a877361fa055dd72890b9fd7400d6584f36c1de0144f9be8e13b8fc1de57cebf973aef02fa6fdcc25d4382aad41191781a04833c90368c9fc02c5076bf5654755423dd5679191bc2646aa475d95a72dd93664f76132363c58740254d3a5901f635749828eb03dc06d6728892552a11de466b22f6a2703136a80c98ee923e40a6562b5335fa700876852fc8b2e025e41761639f7a322869a934277fc1e2218ba91d6d341e5410e8d39701c8a5c05bea43c776c5d9f4463113bd0c793ad466c4950f2e25697074f670e37318fe052f0b2e2745aa64181bb77f8115ca90d93c7a6d897326e0a2130d7ac30039165d079bb7003198928c255a7c604e8cfe91473ebb67030bac73747eb8315716ad1d260cd7ce39f471010fe6487b2369c3ea5a632bde1061beae31649a581bd775372b4a98af0f3476b0016dc8ee2bc7f9270f8719584a0b93a1583562d860812e8740f029c93345fb6a0b644e2612e47e76138c9b146f24af2e4044e7f80a81fc4e6c1ebf3d738f501700bee4740a88a45a5f1d82054ed501625e92310a33c5d26f5455d9fe4e00d53a00b3f6613aa4c7d400392136043d85ab07ed172e68b876fb39b483a02cc900ae2f3baf1c1a2ec78848f50221536b0d275b168051253b5eca168f836341ae202d374d2b4d0fd428966972479a35e4148e004148974f0b058a2b7f580d281f280b0973db240c46b85a0f673e3a59bd619617ba08d161c0951663e19ea9028c80460b57515316450be21266ecf313008e4f4c109508089b133f0dfb488f0939f5a0526585ff5ae2d1a2226e69eb1adc73276a5aa91c07c0514e22214d3a75f06bbc2babf79d658fea9748e84a8a1ae1fe550fe52e06744a7aa456d546504e4b96f00cc7fe000e6d0d2f223c3e0f29cf736d5fd81c614f599675733c3ff0293564236c975cb3753ae3d735eb2039505cb3f25fd1fb94081c27ee562733262190a84e00f9151041cc633b6567fb4b76f70f6c378fc0596f7d015641de48710e2f61144dc7f8066b8beedd68fab22e512bca871b8d7b4c08e71a5162a8a8152c1550367677438326ef9d391fad430a31213e6e56e191432dee49bd4fcdbd9551d8398311e7668647ddb83a4021e5cf288336b820ccde2c489eb3310ebe4ec46361cbe70e1745d9136a0c9d775d8f886408b14b1bd4c12b3fa47b7e439fd44a1741cef470247f51749e8d095b291826577654ba190d8f291f53dce360004fe646f3d75336c89d03013929c136493c160c51cdad335f58103f1605e016c7dbfb4374f6fe34cd15e8658c6b654dfdaf681ad8cefb13abbee3698135a471402ee326c5fc10233c6f0d57c862b03975e5f63c104bfd05b588593bb2be7b7203add1331dd3c742335e4d5fb436716a464d386621e50d688598cf2adcb4a2385cf1571c88062274905b84024f39d96c3bb2e91f5202bc00f758af0c830882216ece3322429eef751ee75933f3aba45f55803768dd66d65b0deff0346733d4628b99e92ac8e26c191a77ed21992769202694546844d6b9568375340721d4af0883a1eb68b2e3cc1e95097c2b6f567b315ceafa19eaf4820dcfc6af6b10089b298f968d15678a400adf91e2023d115e4502497554599ec73e86901c2cfac7515d02dca5372861f41a9bff5d154591bd27062b7517a1bc042b73b9135d09815622b8ad322ab32cd63f76169a049c29a804d58d930297c73d20ba30632f1e695c273ed03648cb8a3b2dba024d73a896ef0c7afcbd603d4c58718ee37f44b8b5080feea6e63e4b5e5f55b422e9776e7b445bf37f432c1ee87b4cd39246407b7c0b32c21519267a1d2952f195656772219a048fe6c340b9c78b45e65f9f517265512ae01ca1098d7e0b1c40a45138440b784e27d29c6cb4c19017440ef1003137bd77141c6c389cfb1c732298b1026f05bc5472c11722d432d51e855c965e9567f219cd3f443f89121435cf63491139a2e8140326b75f246b834f8980ac08f1a4b0242219a7540865fc20b5e0960dcf4e5268b0a6dc63bd1ac7130de2f30862a0df4d9e550e5fedc47219727df24e5c447528a6f3744fecb72933a80d4c5180a7c049fbd1c357ee65f52d3e274f04cf573c6f56287803bdf60714a03df03188288b75ad85f6071c144a648afd251fb12b0b415d761e3e3e0ec74fe1525f390c3bea33c13fe32b7b3fa84ca0237a62b4514800a9663f317c4ee55c1aa90448836cf710bebdb00c16d3b22e3d242a7674b2b941616118772941415925cee374f4b46558c814345bac09ce2dd658dd683ccaea3a38929566b19a5c295d3c7b44fd6f0259dc435d48a4e8612d4d5e5649923f2d01bd85385c2faefd4773e4982218686a2b746d0526f6e1ea08f655273e1d2726548181a563dcaf0e27edee33680a00997415cc856a1af39e6b9bd3d26bb02133666e64af56c1a3701e51431a051347b83f9cafd1375962c506347d5a43bdcb9656308d3028f9725252b370a45cbdd614689b34853a5ba57949c023b235a72fd50d3c8f180305f302735984585552e473672f58211cf518ca597ba8f632134fae11ad0f253d1ce33b571270f93c27e1cd4c902c1571c0bf0338437b1949364a7808e7cd1b2f7d4f4d728a272511d76cd64cd373ba55d6dff1157f11113b90a1d537eda5f313ca0e0214b85b3f38298b672caa9be2552434c752e5c43f75f01cd351b3229a20a758af42054b55012dcd3c1a141a7c21d648a136abf34a2ea548051c38ca17134ff853152db013129c23b31037903e1bc738c5730b4fc3396ac98a3d71f5a6127f2f8e2230990b2ee30e9a0e2b478a30827ead1556c3664ba844462b7d68dc62a53d05685731f54aeb24623e8c1ac72d3c6bb22d8fa6562e6765dc5b2942ef19f969373775ad9c6bae798333a66abd102071c2561061ea0c8fb74816c87900453dd5c9667e5c8f4399680638e89e2233544a632f3a3f065c859f60665fc260702604196e368db50dc468e538bf04771076fe313c83871d5f46423d08b3140e148b37a33dd140bb5ab6fed55746b9d04d119aa3480cbd5137ed74ac289fb0b951ad359a5c62abc64c0ad22a088eba6c03d5f2df5fd3f45e26cf7d8d1590a6a637a0d8fe01e0e3443c829f7c2d37caf0555448600ba3a1a2105b66606982578f2931a23316b76c772fb783da7339ad951cbd960730ffa047266e7c8f5a27a7ac5f82c20c4177a3ba67fdfc2d644812c453b982643e222ace196cfa3c1377ff8b195cc2fb1d8e4488639082296156c2fd29fec6340f25e59c3848d9552a7ac9c45781aa4c0bac9db446d150ff6db811ef33eb92fe0709531912472f710295b2f61ab5da875b4b1f7b3127ac205860f41c13840b7d4c147e5d56605555736bf3be3cbaac93666e765a668f7a87494a2db917cd004d251d3cc55b6aef976964f18c199705b44580f1bb2721d37a15599f1f481e53977363e3ae17e5a69d026c7c3074caf78e6db4e3215bd6518448f4e1186928ae4d73bc36c257b06a4b623df6c8029381c03c673a356578cd6873a928190e42eead3d63059330213a4226dadd355c14e9a91aa32277397788cd514ff57c4163b5c66626756202ea8e4357502e902f8735931efaff0a142e8e3f67c4d376241dfe9141200b35384425ec04908934724576c227169d9217f9343d23a70029102627d6548ae32f77a711491723f9923a7464b0150b50ca5c4797a502997dfb55263ccf733d8806586625901dada9c2062eb9885dce6b4f09e0e7331b64e05e07f2ef4b1803b86372cd9e972124069731dee8e8553d15e42f243dee04c0a58c415d8af35092886a2ba7f223738a01f172aa5cff59bba3b32c45ae270398d1b40aaf235851ffb7563326b414690bfe5b67212f0028c6bde97384414f580808ad5693a0d841b1911a266666b12835077170c58b3075338406507147025252510b4cc3280f113901d42728bf5a61740a19221a83181c71eb5f07f2d7844ae74f9e5eb88cbf1d8523ef3512e2647066ac2c01077e546e4fca600c6d053e1316f2c24bad04b706f2adaf66e69f223145f34e58d18d693f5e08d211eca4da305ebd50370eb4d075d9ee5240e4c82657518e2533105128317fd4071864f66049fde559116752342bd9d16575a1a1cc22d88b0865a88a046904d5686c0f183104ed47f40eccb1402fd0f6d832f42b954814e6326be12fbc73043cfc23a66e3936c8578e24670bf83875cf8f3fdf6eaa401d85592bd890fa1e9bd475691db16021cbce1431f8641a1609fcf16a879b464abd781c66a164b66c91a7741930e63520b3df736242f0a1661d972f14e8e9ce3466ae263389b9204ed148d117c35b165db5eac52bc5bc933462074f6d814a4343213acd6e869e607009e8b06a733f8c64bc132c69e5d24a3cd1d2961b791a355d9dc1f41be5dba676f7671f09dcc6f26c37272a2d70577964f661e71560a07332b6c06f6bfcb33b142a21a11f31f6747717a7591f9e1d591b18926e1a1fae8854f4163075433ead4a0bac096ac513090b3c19bc6ccb2f2e4ec530341621ee645c3dc32f409bda23426e27b6432ddcee762647a73f643b4d4e1162b94334d8de73a857f854e5b8cb1b6ea5674f23ba6149295cb7295f008042a2580a3cf540fc016861a3053cbc231fbcdeb7348d77cd5630d00b39ac53e0343336c8564236333c532b712a37e8f512f785ac5bb74c174fd5bec14cbc4b984fdd7ad358a6587c3ac799dd1ac1656e176a34625ded6fea3f8037d5250e263836fc63fa09f4e6b3415d7c94235abe6e1d5184fb6a20e8220ea86aff09ea494b1b9709e70efca72758a4bacc17f5f6d335522a6734f70e961717e6ce13b0949442ad434d5a0599ca0920df283c5c2b4f76b3f311422090380b9b280860c8139174313a251b6520235c6afc3111f450b104a6c9630c6a386d1262736f431c0d40205c840d66b4f7817553244d1d6a993f3999132c36b52b5a0e8cc77c341c7e0a6d1541cd512adf8476c35d5e0b0a3cb14892c6be39b429a4536cb4e04c0594b831cc103265f11edd4e3ebc9c2de5e2665dc33add3ef40fdf5f8b307425e626d953fec14b60482af870cfcfed76ea12ad2ef0057022404a9654f5f8f971e58fd50288d54e44c5635339fa00d75731cb9856e7173f32867c97110649af04931e5546d7067a5f1719af541efbf0623a9d3b67e951944086c6b167f70dff68ad2b2e762324fe5f99d94f4631a4eb13f3206d117fc81920c037f945ed633f2aa175035c77e23a38e11e831d4448165773f53464ea6ee26a6e26271dc87d57130676af308f35af75b1625326daec924b10cab01dbaa9ed0594f6372218a5666a22b7702d0e4e26598c88a405ecf78a44adae320a4b1c022b35f4322bd8cdfa10abd0de069b62c867d8913532921d744a5692846e27b2b40d864f2569ca72dd23293183539fd9ab6b69a2113052f4474f814ac23632dac14d7514c71193947f2e6f7e7c555ba32801ff844621242e1311c42b1300e6862060bdc09f7102f1df6fda44f12362d888116b05df1d25053b1a7fb1bc154adb734552b3c6646df45e40b11e350300adcc0e08bd673c68b6015a64049035f3432d15c80146470174a74d1810955e44222c09af88604803e23b372ccc1f50fa0f2157be4ed16adad57c5fc71a7d68e899af2975f63566ff57cf3c753f601be33a82627720694f3b7fe81ed95b986b02486c23258f550d647f5a3a26c63e58bc0b4301d5bb6d049e651316ed38c5233719d122e57cc8226e182562340ce95ed98841529a4a1e579eb8426af94dd32420c3af48a1cc845130062c4e601ecd06cd81c54cb2cf09662ad2dc43e3576e1b505762653e726c3d46e81f426878187648ffad5416c52f1a37a25427480ef83dee59df38084f03514336685ab96c0f5b747d6348e3a2f86f4f3629741f5f4c301a279c0f892ab2768456c018daddfa5dab23c972509943152cda741d26069953a5e72e7384eda55d17f3733b623f733d14a3a6352b50042754a2b81b7826615a6270120c66efec499bf05e24249b00239785b042c89532128990fb40a44d477572e7514b881aab293e802a1d71dd855c8d56fa70fcca6469acb3ff482c602f0dfa844c5f506a1a2d2b1633379a430f2e2849352bf192e269140a4903e6e1bc6a09153272b91bef31e3727745d0c6e9114d1b905fcc684070ccd6c360255fbc699d66ab1c65093140d76eeb2209273b0071e720315eaa49550c51786a8192d10d5e0ec11e54439b1287708867a1d50c2eb8b9971d9b00666f0f3c2114683dc3564c7e4d6e7b2fd51f78696e0b2ee79847ffd1920355677313d1f6ee6b863a49357fa4e82853da5c121248283e3170805d32785b72163d263fd2be16480be2eb2d921727014ab0c803454cdf23dd52f752773b8e1b57341259a90b043a68531347ee005c49f7f11f2fc8aa1950a09d1c72d29b62207e330b16878a5b76c33d3a0ec54cd14dd24dc11a523d025a71986627851ac8385543af50fd4df8226794a5200ef2dd5373277e5943d3616bc6d946480dc65a4d67ef58404dbfe55d53e49860ab524f6f8d5a3b5bbea9722cb059456a655b5310742228124402d32587bf700ff8c4de39817fd6648a305861449cdc655af8153782dd6f1173de6364802d7009c7d1bf33f60f854c5dcad42b36b8021e3146e0111adcb254ddd27e0aee6e0a24f3da814537312b56b54c0f491174ce0cbe3b3c0dab0c861a213db806efa6fb184dd07431efa51d06b4cb7358d187ca39cbd71a40141006184b2ab01c70a8d16a09bb5d20f2c83d33bc88316970af4a249a03df02ae24840393e3c31a2e62b6307e87715156a20704b5be640e30c0ae2e8368494f9a671e7648268d6e35e0720fc7b6be1c8b5bbc2240f2e610f8ba89302bbf9c54f12ebf1bdcef976e74b30b737bf9fb4b9cef2746b7a1f45bf3dd633127eec55f740e5a3caee765681b0ee17307290e0261b1e61f2ef2af407df5605bc0dcd33f18b1c760706ead717961f349884592353733a124a003634518a15b42b358ad0c75fdf11be309a34aa314f934eab8f332a89ef57277c4d77238c75b349416d24a9cc15c346260d00aa06d9064c7cea4414d56ea09baf7af479e50d50f88bb1b05d1fda96cdad7de3eb5f7960c49666f0e22ebf11e548e56208d5bf75ac741f54e1c65a3187546fa2fe580ca51b170d81aee119d219e8ddc3633f9424680d3695f04fc006318d54d186d720561418aad52bc73e8519ea24d548ccdf3169d3e28621dd73c359f7b466db1d6912d926f8030cfd0143d42facd3174e24a01bcca042ebd7ece0e6fc8251508df2d66597dda2cfa5a4728fcc51404e1797a6bfe526b61ab93c56a88e95b05dbe5cb1ce422ef374162b67747895728dccb1f3fe2769a24be40073806588564615ae1584f367e04adde214f212e6d39ef9040090210dc38aa95831ca4594839148e4c01a7fb101d1303df0cf818690e5205226aa3ae9834c1d16b4be1f0c6696e630b4153b1266c8c5b780038f8df66b12bcd10d4a33055cfdd3d380cb0777100f7c02b2fd7d03e40571218bb0367079ed60a0bf45349404567a8690c79e53886fa1f6a9e28493ffe39b025e2d1f4734a61af34c4a38b0e8cea37141159f343d906665d1a944f22e0ddba3464bddc1cf883e40098cd7a67708ff74f00484b5990914221a0f84f078dfbd138fd411477eb186c364e57b03ad7987603cc595c626925191327ab6413b2b7bf6606658d3c4eba193f0ee50b24249db153548fd40d2010550ad8eabf04bb0b86198267263ee37ef92e61085453b8ed88386e41663e766c4b50e9745a47e67d3e4c38fef5358f903c1a2e1c653f234aca3d09e5305bfb00d16f4135381d2c35d75dc9db2e2d00b43d4c712d000cb2133b2bccf86833f6083562522c755a884e044137273d6791b6a446774ba470daaeec73b5199d719d95980b67c403232d6101188a25c641e63349072470e7720f01192a4df1c168493a55016a4904264e04666e78b2c65e0ec9f1767f714930c8b85859548f130a25b4d3222adc1b7376f8742a2f249130d001cf71fe9f5f4802853620ab15a159b08661617a0bde1a727d000d5ff2000213a8e3481285a875f0b6c602ad26cd5dd57e033e4f80a72b296a812d1b16365a3560d052ffdf23273e609a27dd2cd941f0f1ed4308d359735c630477d0d9a51055afc0054c85a73c711da76c4abe93204bb0d672d221b70ba3834c5f0daeca2f7b8e9339cdf7274460ab3606e9b2d91466883f34f317472fb008cf47c81c7e1acfa1c8391dc8146132dd8750a331fd5c4f4c95666f56641c705b375ff2d8525bf1fb0015da696d48c9874c434269b30cc301206ec8774b44cd4f1877b25aeb0538832f0a34e4dc4f151fa24cb9e2cf5edfcfdd721638ce2ac468aa7278c0c704007a256f4218d153c980d963985ac86ce89cda2ba3b8e864d9d6375badc8793f602ebd1b66690e2f5e4c63541b4e9e2bbf18486d60b02015b32e52229381172b42eccf53738a6d47098fc53bcda9fb06b8d5c72da3231250e3fa7622f42d0104a8814f0126ea5e73db72716e80acc7643c55dc5bbaca7528e07d5835ce18cd3516ea952aabbb3f755765402b903a6f4cababeb1320168c318253083657939c25ad678b3caebe08068caa7f2874ba4c3996d3e70dceb1c1564c691a7737e82f401e9e72697e4c5a57a1ca367025b3ab5b4f1a694809cc344ff9922a2c68e1fb6090c4051388f6ac0a1df546106368c02d74766f3f3ee6473aa978b10c3730b610cd5b964902f4c8183f57923792762367cc30190981326f364f94bc0fd802bb390b5f7072b8dbe708e843bb1db6aacf2b4cbe7d6f3804c208c573d21e05e7863b0ca3cd1fe34d875db5339d063ef1ca1606c6fd6a672f530b1fcdab5a4cdb731b21c2b43d162515074e60f54cbb802e3d16322610dc814e4c573a813f62306053b21fe75747b5e2005d8c7d76f65015121213110ae76763313ee733395f1dea1676d6c13e28271c195f31f847ecc9256741e6a0183ecdae7289c08812642d0f6b7d0900204a66ed5ac89e8809aa5fd92bdd0ee23ed6e9f35bc93c8c4e720f06133cc1276be880950d81ea496e3c032b5d2124bd216235cb1d9402fc0d5c1c90129633d41fba995017bfee9e701caf325b00a04b2715c1bc2488c067635745cc0cf826be38e448ef1d789258636e60251689a1b92d0ca22954cf245f08a2ba0150a3cf2b2be3fbc865d04f11014f93a858e9a84722e5b4a01897ccf9046d5404114a97190ccf478d4769fd592f8ea8e06b85edb96f022c596373d2af2f8f57fb40aa2fed2ababdd26dd15a91717934645db12480387ce78d31f9af07154b06d26fb49d4211a9e8814b62f3a8496678cb483e348c5904f3971a9183671d6785486538e24477f6a50a4fcb9f025a13ab232a9056f36835b95b46d8939d184e9f87577fb8a9185089e6670e027c318b923038a1154831fc209c2c57d5184c549d0b44b30d9030838ad221985a561cae646e37c5495f57c462126895aae7526d92266b7bcf4603aa42691e65da73733de0676cd5beb444b377cd192855044629ea3f0540bdce52530c613bc41e6e3b4ed1c32c2b352d2a512177777c1f67259c440004f8a9b23cf994ea498a9e5115c35e5e1700134f12f01ee241c6b0df5ef64fdd4aaac24b31a8a60e4112e4f15d6354752bd2d30d556dd3f76cd5a3e544ae68f55aa623823c799b0f340a054c6bad754656b23bf03557df940e45324d5339ced60008905111d2c70949ac381751070ec2608348115b1c184713d4747c4cda1f7926b7f86674307fac62c705b9620d3d13436c724e5bb45417072d27501200490732bf41942e5e982f642f755374d434571038158056ccd9d607c7a2fa6c2832d111f6728e6efa6fc520c4f6232a73001a623c94355e36c3075b75235752d1506d246dfdcf3b3482e20d5c03ad1ea9d7694759b3ae0ddd2f210acb8cdf3a7a834632915852734841f1226edfc275710d2c158d3599365d04b40670bca037b7fba9267ef2833f0bbafd5cde64465d539bd1505c4aa542b749ec1ec19771657886915bcdda6d2108d0ae5baf0c8276b3fe5045d905fc7436dd8d3eea5a7326c1de1a684ffbad0c63f23d1b91d59c28d91b5c21de6bf030298fd547b4a2e530e706190e256bd2746c1830160b5030325ec2c064b40a3374b99738614d7b8e762f8da116fe916a02a6bbc215cdb1012f57cf5321bbba1b647ff23565095f4b09508c506d84fbd972aea9f936e9fe192e2ac28d623d77be10e1949676b0f86f2eff41be3eee47f9626b59414b711ae034af7cbd278c20570fa24b4f6d47dc8f21acbab83e3a97d61588fa7e07583b58037b8cee25704a704d52dd3741e77fac22f89ab80650e58943fdbfab0e1a00af0deab8fe35a0d851287b05c75229f11744cefff94515671c3c7e89ef4c8949f75402c1930f745d9b6db2d1cf529e52b671c67597385c3c490517982c35a0339a6cb5174019ddd77f1227070a52909c1d4d03024f2dc0c77568b191ab59abd13e46dbf9f973209d8e134a64a610604900562daf921040ad3c2a16dbd2416b1f5143a1b6713fa7fbf160ba44b01be9e8ee2d23f3da7011dca51fe16e7b537ef6ad2c8ccdef47080b413d5f33900c2412b1121c0e8306e206844809bed95867a02a11fd69126db128800b270f580dd15e76673ffa2f71caf317501b18830c32bfde6528299b169e639a64d2c9cf0b1d8d8b76cf490f60cb67b7683dd65f5db308a55ce1482b5b8c22771e78de9c255188fd40a3a1ee0146d45b31c89d5c593aa9b44195d1244492c36307b58ad367c8e5c55cdb58271f2048dc18dbc1344207f673192f80a843ac5e4949b34fda03bbbfd06f5390962404e8262e2f8fc153819b14348628e543b75a120514bf752f5593f96249620c0538a79a13eaef6b1a98219b4f697ff561e2dd815ddd9d94194dcb0e0174d0402ddea6793889a068262c2197676b9a7621e1626a73b490751e72c3420dcc8b345f79ae053721ff750ceca2425f7227ef364659eb08c96cad4a2fa270374e29f921a7ff235ddcf70958b16d4c017fe67131ae359f3175d56d5e7bae3174baf59319efc44a23f0784933b545241eac10b42d3e30124c4884770c0d6d0531565ab259ed8c9d01ca661341bc4f275a75c9653a84b439065c56f5493a5e8b6d216f78493b78d6726953d70728027c67c24ac5597890c4756b610e557df85f0bbdd0e035c73c6d6fcf1cab69d5f5c31c7b0a12214bf477265acd115a3e6e8411e3b0b128980e8940e9356003ea01ba4e59c9321039af09256c246f162097046af02ca36147a67f3ab77d630318081c067b6d50700e5a6d770823571bef8065529b056520c7a08d196c20d16a8dbe365fa61b37720765c7635233ae6b9fcbed32e198ec0ca6105260471df03cb6203e1c83d026439c69e205cb278d4027e79a2c311a002c08cf4d65f817b62fe019003a4b8602031ee74e76d77601469e1be85b07645012a38c45347a68e0174aeeea16c733d16734383a373be55e531d8f5434711296486dbbd51dcc2eb105d1012c15097337272213bf44ed317a544ac25f60bbf16f35ae933e243d01b356d904bc355672676eb780dd6ed2fe0619c7314a2d14f11e6dea89d23ba8d02f39de6d5d23a7fb0f6a39d6f90b9f5b814e75415e75352ba177cc766f67cdd17817e042f267c1c9d94f134ce1268fe89075dfcb3d366513d4049fed6526eeafe44115eb402b7c3ac1614773084c0aba8e55d43dd92a33ae3e2f4a730d61045a7908a47e1058723901656ec2065bd4b9334514a22d2b896b982340aabd17085e31462e1406137a03f44d3b307040ea6b58507a71f05a3c946a1e6c7488746c8b416df3d4bb4c1dd36e559e15a25c4f5de807c252166ba2b48d615c671916ea913f646f8c605e9270022cfcfe55044c1494070e54d9317d3b1944db7b043786e09b22434de52e01c5d54114f3f219b5b30313e8049f288c88df262608dc6bc311082997e9e4763f9a470470ec523fed16121fa1bef367b97472700c86310fed87600362e19a218fa3d7632a0c5c10c724fd1a3a966f629313c320ab96831bc8ec37589880d9557bc03b41ebbb2e6f55b7f245f2ca6a2042345f32917f126de31744046edf3815e14c6a21ea8ddd6af029de3c7305a923d64ecc61d1186e691ddb2b516c1fc92175fedf73e4f0a843ec2c271b8e1a711a4dc6e36a71fb223771daa615de2caf1958fe780f57f909178703e41a16f1772df17dff0c24c5300f9c236826a5080c72c0a4d548bfcbc860088fbe18fe639711728d0467f792cd5dd50d5422add3e6326534f4187b916a44cf7d9239d2893f74e7d5f34c510a25756d1bcb2e1b05722ee45b014e5775cf64fa51336e70cb2c4052b42622ab346c2451bbd42ec5586537a21a7665fc94a43ae67bca5e20255249535fb86d5ec0390756731d5df7897e46f3b36204d89feb1199a639703591d70a8905e30c231a2532d5e84f3b94b5916c5d8479349e27ea1d4200fc0e2d3cab75a935e34ab93a8a0cd34e6b4ec3288d1e6bef690b8381252ae297fb74c673d13526f5673d5f019d585bcca73b4065946ef71f1f4ec9a0d419b8e5890b3d342a17c8b934249d16e9079acf106069b66a275b35c938192ac46f98bb4e5b4c3a0211922e631bdbdce16d10e1f17707709323627d520d00000000def6b16fb9b1040e44176f0bbdf1d7243e81603a4c3cf12f490819129edfdf1428dce6096e3827445c52cc206a863b1a5d943e743c014d0b545aed03b7e9576aee8cef3779ad9f54364d053056cc166d903e4f757818195f97cf414fcb1ff87163aa714938eb363f85e790046dec9455efbf2f52a46c78457cb08317fa8ea0636a9a966a2a1f2f74cb1a730659b33443ee69fd677f330f30016d954617e462664d53896702e5516be8772d570c1b78617bd7d639bf71455974624667f1454d103a44cf5d7820ba10b32b5b36608f3c73726f2a008e7be876816581551010d557ded26b61c63edc3e87d8323b6e5aab536a6afb3b125de648f5d1171023afe9323d5f4c0f9f087a148fc7fd2d17953e34d3a95305555a8c031757641b25ba1826d4e708448472934211100b58b4ca9e37a258a76b4a43f3378c34d337b637641a543d1a76389c72156cf39a256ad0f5755fb01d67428a9559465a9543dfb9a510daa5d90ea43f3f771abfb53c55868f05cb1374066ce79447b065211006dfda683caca56d8085d64effc25c0d6324e048fbe321267235e0104f00612a6386d64ceafb9d1fbda13f07bdc13a2127e99443408e656880aab265d696981ed127f80c02e29176e24dc7055816fd0494e6d6106dcd3b5e1b03e85042b3a0501d3d7e69d56462588ef2ec568c399e33d710f11a051f8f596d7cb62c5b4613114c3ddb43d131474fcaa85e1427878d44c939b10bbc7b0b5e4142241e50df6b6a6cac1c56af94b360d62c0322eeb58d2b5f195102b525b31bcc44e0128c4a106b5da9fc5a8e90b859d71e22689fe8091bfef34b2b09c75f1f511d222e5d5ec32eea48fb337ff20a66d7a16158ba9fed07a7f7f9473f14840e737dc3179b7897596db0915dae7cee4253bf2a56f5e2cb0dfc16d6734455be186723d54456ef4745ab9e3d46e92d936125d0dc6ccef824543cb62b26a4d16353e0f43a64f47bbf5faf2e2f6ee542ce08b7947735e4f28d539f27ad69355f3b3534ac042c6f5d7153249988008dc3114faba49226d1ee64445f86e81e4cf3c3193d2672540bc7f8577822f86f10087770ce348d0e31442e488cc77313e8bd8e7192fb270e99234d34572cc8199af7e441416195741299be05587e8a1e9270712c3ca0db5b59d142047d0fd405f161c43c9186212c57cd2900ca769d017a963e34aa5dc40b93da13143737fc4308f80818105dae145124ea1d67ba536c7daf0639c97fb715d60eb34075df29067237e03a4b54c46c1e5dea0c33ae25621d3246201b58066e58741f77a89ee14cf357bd2fef7e0012609b3f6eec36096e4ae7bc4f528b933604c5b367d102c952df34834f53aa99654eac6343a54b4f5b1b530161eca7964e02df6726d92670151361fd4c8fce1a2bc173b0594ecb6a35712003586eeccf1a18a00c4e9c578b5e3b7ba7171a73752365a13211ea6b4b0a4647b151a133fb540cd3a1703989f33b89751301caba5c6d93f3944e7e28cc1b4981a07720e8ba31f5dd5653ae7ffe0c75e0393f99787f0a83242b35fdae3049ca83d7322dce0b49d9a6bf250030cf46bec3fb1fb8455e1a6acbb86932596153fec2a05d57e10172359c3237ba37df1edcf6f86f7dbbff6416b2a95899c13c0879f74d6132b2c6248ce6fd40f4a1f90d2f93ed386bab5576d89adb3f475e045edb4b99367111b1398b7e8a40d5cce9450da467067ff8556e92dad6533bc6e304be62d74373b95b76b7c4c23302c80f6bd8d9054621b9f339f0dc3867dbde5252e408172d728d884d90618b583eed7d23ca973e684e9bd57040bbad67b997216c8bfad7162d0bcd5329a1766eaae855451ceb0e2468720963d40828456b7c5266f242c71e692a7d50da00a96f20b33548823b513f88e43a03f504af2bb66de23dfc4900126ee40140b0128721baf2b25d28c7643664625e153e5ab36c9006c563f4d2404188932b62e7c4cd4751caeb2c92132b195a81604749c17930062c24370299765b708401381481d55bbba3a175439f28119e418663d888556b1cc2755843192d64f67d2a2500f4a7023f8633574603ae1ef9af9311b9a23219317ea5424e22864640af9410b893e44eee7a9a4c15181a18a58f7411702d460aa4d5b6006a4f8f199a427e6ca7f901027631d608fe6e645ef0df41330fefff42dd9f1130a87f7032df91f4396235c85eb7b80226a3b4df4333632b2e7f7c7c37547dab0cf1e88f2e0357d800f63c2c2e41eaea6869cf02350977fe49fe79f963f905cb142d02a319f38bf7330f582f0df023322237058109681996230792e22fec4c6977cb09c12a4dcd836e806cd703028ee22df08d71397e6adc3995c17558a2e93c2fca518e451587fc0b16e549122c76e977dacb03622384ac22c8d592259c20064b5d78b4551741c63bda637975db6861500ab42372ed86d71855271f70fa78160d588929354b60fe4018afa60e08126002a83677330d1cb80e7b5ae666b6762b137ecf1108fc93653ceffca216b3faf4615a29b146df16fc075629094c4abf4a544753da61286f37574d4a1d2d5ea18263ded2d30b9cc4b342c9fe2a6a034aa10b237d6d5270d4e6055435b06903d8ef3e721819292a88655145fa9d24d25f4c5755181b53d0f66c3928fbc32418c3f9650f4e900a3fdfb93a925034283be42b1dd99dad2f8aa6b164aaeeec4b334341088e5c435f6afd8a343c84514f34daf57448975355821b062068aa0b09a17dc71b23e0082e966645167b5ba6553bd8dc22c0d7fc2af078a7450c00c25c954572484f510673bc116524d411ab1097097f6eb529671eea771f144fa30339d0c5e222469864047fadcb1f4e8d960992ac81449d64236e0915f56280392d7096eeca750f3f296454ac2d62f2bc584e9411d23a8e363720c977423f52b11931ccb1a64a180a48746fdb6619ccaced2d802df57616ee53365885851492049c54f642613e467c756586fdaf1a21867e71ca82ad209fc5cc0becc08845c70b223d909138578056621d4ba7e366c27f3831882c003d81a6810268ee4e7044a6be3dfaa7932032b54b3e610791491df06250829fbf3bb49fb12707be421507d77217c507a8237d121460f24bd3673792a222d445421d6956fd4213c5d2293a4da826d7b3585dc68e470e9a0ced659f7a636d4fc0520c03b46465c38d8213c7951075d0fdb435fcc7a867681aae4d8cebff3d2c48c0715a6d116e23ca9837d3880e5001268f1b0680ce6fed0e2a6d7c19f752cdcf635a9b8a7504764ae24756dd1e1928483409a99c8c1bf52394160922421a4e3dd41e498da122bbd3bf4ad32cbb3864441d19119cfb3014d5b53d7bc12876be954b14ff83481b88c82f70245f2970f685aa35e2e53355f7565c047e28c5585c634828e1fb7a3c7b7726194c13d00e0d96fc26536dab70696f780ed7945a70cef33a00b22bee47b2e8e53a39662b72a30fe141ed6a0b526a338f6e1b46896d595450347d9b9009cf104508e20fa6772d0e2b6a2d421045b651b20f146e324b09e62142b5357311d00b803ff967ad3876384606696e2144b05eba7797c7bc1fcc67497361ad5b41372eb13f0d305554738f2643000f1635cc8b4f64cc808c7280bb98096493543bf222ca61c74eb565aad60d770749c56646b8296d6ff8425a5ef1e314ca1ec22b8d4fa12acf50a800fb66310ce78c0d064150371ea4cd2865764e81286296232d04d06808bf808b595493f5298563fc6cc5e4df0091befe6dde13b80178b79e1af1ad1105d7f86d67695794513b2ccd7630857a51bff7651f84b93e66095d165dbfb56e5f71e3d956d449c232f14d1953c9e269423480620a31ee516ae9016c1dfe86dc0b6ba2b7186c2aa25ea06ca2417ed08035ed6e604ed4e0e7161e9bca6c94cfc8376478f658f4f0a05859a2a72d8983620c9597f8159709596d4174165acfaf4a43d0d3f7417cedb21bcae5d66cf1cb1307fe1f3a5eb13214660389e52f7474e20a99d7c4526e82db1d8b67d66c93291946f504510324e9625a231b9d2668271b1114c7167332849304b23aed3e992da924287d2c70a32bc659cfddc06a96ea64699cecca236f93de116a407702909f2638ffc7d9459da07b35a095c8572f6ddd22d0a5141016e9d66382f8db3723fa482f922be4621a345c489013b96059d3f82e096df62f0909105eb66df155a52e0916856d034785f0b30e70dfc64e8b69a72edc309b75551baa729172ce77497e017742bad35c2fb8de45d6768312a66c691f4e52081ab7983210c0741e12aa767d211f8d564049d7826675a5f306e49efd3c4a9ae6128aea3c31d247b93c0c34122bfe2f35344b8b380fdb49f86381e7c404cfba0e33fef860584eaa1546794b422536dc056f71c1e33418a69d12b9b71c3feb145161a2db7505bc4fa25923a1153c2fd95216b201916d4233394355b5c04ef5083c2a24befd68cd0008157b7a3b76593f494c66dba60faf5ab948a1393e563bf33d332cf1e47438455c007a97507036434725feb45a09c818c5346d1a05397b677c6768426245e453ed7087e2921093605322fce06c4fa9cc0259b77303109e6b501b718140672f929e04e6829527e8f03f06396a9873d9981e1416c3f11e1e98fb108191b253dbe49f777ec01e199bf15702a5e4560299f7c17693bc296b65fd3705670c0f52dcf7b71157c46e1218ad4c58bc2fe62bcf9c6f19ea0b794ad7cb840fe50ad502238f7f4b19b39e423ee22137684b8e68828d6f1b3181e03265254c05c3e1313be210242505bcc2642a1d406c1d63fb18a6631360bbb2de694d5de20d61c3b060dc354426ec03aa3b872dc12f60fc6138e8a2e13133a2131edcb0c430cc38892d6488fc6d4d064c4cac1d2b6a52d279057ee3106a402b3c058c32210a3ba7c25307d95a2096d30e31bb857c3a99bc4367a678d31a6104190f1a038d20f429e2091dcec8050aebce55dddca23f7a4fdd5652545e1846c9bc5339c5014c8a838273cd9864231a6cf064baad44323c501d0d9b96181666a2584e3faedd54e476ab129d7909204e66166def473442bf1a6673e664ba1d7be27565a79a2b171bdc8b1e2588473d010050286c5d04011efaf73723389031dd851f2f531ddc4ae303a6554324dd22cce2a271c6e9d85b0ed7492d38410444ab9e40307f5f595487da824313911157ee05902cb3c67d204c7e560fcb7b4771959b1e66d294f1749f678367e082503f5fa91d076785712512907b28fc0f6b215147771b11bad3004e49055cb250f12bef79cf63ab64ce23b1d4dc10f538167326c804301cce425b15316119fa8cae42a69e8176c21caf0321c2ca127dc8d5174f07ff714ed71d0c06c1c208511a040d8b3078288b32510dcddf5d0f7090d24aa08ce02853b4594f4bf45253ebc45a184e6e7d5b10cefd164a9acc5882604653f9307b33acb61b54850b1a521aeb263540e4e670185fe65054c48b45997b86340cf5f428554e3943b85d883124ea8a1b91d129693475a01a2d044f0abbc38770f73a8d17f53dd30ad521c641a581b76c1474fc034b5ea1266386e32cc632e0556f35d03abe1d396495c563190e202d48ce0b5c56c636966b5813725504ed4c0db58a926a0d96744dc890667015e8b553ed9eb70211912a08c7389e21dd02323026524f3fd17cf4710f23bb672b666003fb68f461de8a5316aeb0b841f0d0ec595cac42399fd85a67a8623e107dbba800cfd15e130000000000e9fd1807bfe142de207e2abadf310e64d22f4340a8ff3ac131690e2919e54511a50f3097aa3b38736160334f118869fb4ff120f277e00e9fbaeb67773e19773f778c5585cb860b81cab467fd543029f09a8612fc99011b301806397219f71c0ce5293de3f85f1959949406cd25582c2eb0ed2cbe72d65070cd076782515d4c64fd236d8a441c5cab0d25385f1a6453f6617e3b4ddd2a11c0404e5402d62a2770f8c603c6ee7564d144ed2dca9eba5cc9394d3f3de7ca61782750652129e83a17e48666be851f3ea047981fc026091a09564f30387ac30e4b58c5595a60364acffbb95edb447d12848f0e582780fa02982082517c468e4e392b9337202c4c32d735622e98f041015799be68ec08c321727f642bac67a677a7bbd725bd71f21f9cd9df47a06cd93de7208828d52140253646276db7368b1257a57d0e7093cc282e88fb2459e1da4d4320101831a1903accbada31b0026a031b1aa43755e4305a69f3f05fcc35c8315e1f6a15b249b146f9c41336b4f5121a7859065a1b893d75242702384d3c68549155fb0ff0abcc30e3819b3751d93e2dd699de4c8e5eef2f46e0e22556b3f13e68ff5f450937846b7c482507c106ee17d51ae000f51aab44193bba0a8021d8676f7dda3955212e670a6db8262ab4e11e89c60438d533972b980476686600012e6de3da36a3a5406ecadff84ea3dd93239a4b0d2aa70d646d352b200ecc48416f5026f6359ecd3d48b16156093b458f732db53f3ea55df011c91a0734a6a8830a5274f761ed00aa169a7e427753885f5bcbb9186233c77850c63cb5694fc05218aeb6cc54131e813b3f503f73ee82d145b9e8e669131ddb207fa69837003aa93f15e5823afe60bc5ec36a5606429b4449ef7de145ce2d9b0dfef6dc5e2a52220f8330d802d4adb5207f21303cf40edb356035f000f961784823401b325125195aa6a6880c18b08d0154eb383422f3e0237c0a214e5bb7c32c084db153bd32502a3e0c990a072c9c39d5b7050b4902ee2102bb2a6abf529b069a4291003e5d850fed7ea66623bbdb052b8ebf2df82d184c6ecec401c28fd14b0d389c618574dc32fcaab67616b87c69dbfa6e0e1cc3d66275952f207a423330255feb2db78eb72b8f53ab2dbcb78a5e009aa8130a96ef70e6235b262a9f4435568ac6181b1a42489efcac44e9e21205df6efc3a5aee7f6ddeb481399885b37214277939028c42687838e10c6a2b96547cd72569b7b6cf40a2a9806790d4505c14d2a161b926ae515bbcf5285e020258a434c4611e563546f5ba344234a1566034759e26a5f30d48a9dbb07060a8dd24d4eb1d40e5848f71f16c5e44d1528f694b3ff5099b87fa77f2fe5674076f147340eed16dbef97c087c0eb63c27050441c32ae61c8cd0af031b0651544363a1266f271d59fd0f3c29fea79838c128c8716218952ad55a2b6feef5485e4927fd2b4346c43b49149a4e1118234e65609818a1b6504003a926332ecce72174622d2c8f13e416da2fa55759f10d586bf8f211a48c2f1d4c6fbe332706b1480131b014af0eea0acb6c475630607f3befe8b838499d931dff6aa92bf929db72a6f1433e5c6efc50d4615f24a30cd13ff71e4f2ab9a2c956934a1257d6a7e50961cd7e41af61ee70bada1f53a0041b506de38365e59b0c00ab0a5c3a28d3572a07e6c11e8a381620e847e06bb22da70113aaf93801eef87286bbc02687589300a7407656029d6c685cd906383fe56938564ec671f857360da833d03a7a228f205540e12d70346c726a865343bc4fff4fbb6b396266f52503af4c181fc2ca4d12ec631c4f9f8d192a30f1c7181b6f8470794f9b4167307a3a3631906ff57a695ac1053b1984da8053a1ad080914d2e052c1d8e8400a6ff829d7ee1771d708a66d6baee60dad6e9239b09a05556b85f62cb01952300300f93786fe2745b314e93e85957c2c09d69376b0f4b80d7809ee50decd48548f619d215dc81c45e6d08c5ac151173bee5629024e8bdd52cbf67769f7b6e23ffcf39c4c54e82f1ff07abe12dc4d58184a143462e2c6171658ac854d07ab024b0b457f459919504ad3f73b2365d79236d38df055d81a4b0666932621d494c06f66cca8348c440d1ee94a0534d5b157659c16926008a4900d4a0d3c2f43c1d43618f60c068de9960cd2277b4d7dcecb6ea64dbf70722d57186052440f5dd63e0c57865a548efbdd3b41b941265e04fa3d74b23f537d664a689ab18f226366f453438ef548a6e2672387ea995346e4d032a962d64bc5524002190aa449861b892d404bea090d8285188b3ff22fcb81d430cbb3a525c310f36390ade35cfcce9a00c4d2da52c43ad649b504a05096735344bc9e381e48c3ad56a0ec171f05c17b570ce21a4d04c6436d5c13cf2755cacb465b216312e4155a4bf0c5c05bb05ea41469e8b3523fd1f16e51b86f3fdca6423892cba75aee6f126c3dafe9042b35d4647fc6da3b6c3db05829be5d2b26f7186fefbc6521e5fe10302f08844b1bd312178fccd1444b3594501cf79e0f51c4a266d1439f62ee4b3f66d8018317d7bf044b0b84d311bd29c021ac1eb974e1790b4ccdc0403f8b25c204c2dbb65a9175e3409956fc398600d06260e7df05d79e823098a8a1283a14864d7234ef1ffbc9457656b8c80b2e27e34b0e5dc661bc7bcf2c09d598508fc21c084d539f73792af91fa1af46567867703291dc1d333be0e04dbbb3ff1267ab1a6e42204e1672640b275aa8b0676b545b305e23fd58d22b9012173e7b4202a5dd2da3ac8c4cd801986d6706293eada1aa39e5b6914606e64749577f465ef3a6d34749e29a09e22b8676c541ed1a38ba0b3c2f715c6c47770226c8feac6192fd6f31f4a7b6310bf6331306ffac63decba3754237635da3921f71322d05746c2f373b1f32ad23b4571f65c130611ba361f924d2cb8371e00ed8568dee441604b5e136386f106fbe513f0bd02c8226f0ce572862780975864c3f4f0f7d594d2f0ed015264a840e54a3a60d6290f0080bffd4712709d715d6123f72cc08db0729badf580941a61cf7e7c23aa7ec03363482dc1f0557e025886e6772904b61031438a753900f3347d019a324d74ce0006739fc6bd4b9b4669a3da95d4eda2111c581dd68bf614136a33fb47530027a306cf4783567d9363d734aa36c1ac5983ad5f0236532fb1d17806ecc0f4e261277f767e12194626d6bb0e69702354d3346e94381098e242e4737bad4605a9aa5726bc3ce53eda79f40e1a5764c200b084d94047d156fad976db768006ae7bc884bc5fbe31dfb89e362584bbd08bbfeab48af3d951a19c60c5a6f61b75e4adbea488c795c70285f9a25e36c6f7414e1bb167e27f0173fe577698d7f1e1e612caa4c9110c95ced84b731a805cc5383226f60bd149f5e7c4dfc31b132b0749b4bdc6e89979d20f526b52e3649595f3424d03aabc6d85a2cc9590291aef85a95ce724e2d0c7e24554b3f563f2ac70df8b00c66ad6d992a48315f2f17d69424dccc921e47824622e207b46d40a82139e892243f3790a11acee4d9430b842f51cc93d41b7c72261aea8ea20032ff025186fbb14f477fd54a5c1ceb0db220ae181a46d270587cfd6a3cfc254d1fe73b1146b9236ed028590c9faf904e117e113f1118bc2892968156a36ccd0f48d1953d6014e5352b8e5f6aa1c0a364e52af930cc2b1f46bb975b165d078909425b943b85cfba5c2b6d0b2c36703712d03cac40ae78ac3c5a831565701384278776946a46e4ce15ed6567758111ef154b9e4e002ce9fd516f3c774b898ce274dc8ed40f77b6730b40558163a111f92637bfcf09d4ceaa6ab691b20560dd2c16e707ec17154d896209219e049bebb014e5829648755b173f71430b30f4892a0c4134481096b5ff3114d5be099f07e61aaa07f461ab475c3d026259279e26fa1e3c2273675235da089988ca73bb18386c10c8c40efe4e7850d745b231107a8e5958fafe1121e26724eca86f4b774ee51bc1483e0bc9f91a5c1f7b7e3aca0ebf195110806b7d8b824806ff0b318ec3f659f2b8b76c5dd7863eabac2a759bf3c533bcb8836f8558f73e6eb7a546b60e2e0e816cf4511384ee44e2b9837194fa336f18785c3f77ce752766115c14494fe13e64a1054f8b1fae595ded6e576d69c05bf1085474ae14164d9b77660745077c0e8459ac0cf689f2020087d9107bee5b23558cf64b1f07eb28035925085c45de644c250e5dae66f070e4fdc81a2de01d434e9de457df1fe14eb8f8800c3de8b447e8deb664492ae615e93a3012a6696f367c7c9e5dfd0aac3d1f5917677cc27e22126c6f02a619725260bef660a411b373625f9641c9ffdb3b3ddc19365e87470be45033591e6071518f7ea754c83c69011b855709d18729128e5d3347448dc022bc63634a362e322c3b1cf4176530c63cf0f2e12d58dc481ac750aa1ecda4911353303e1ffb6c250ddb775f0d4073fa6a292b215d6b4ab34c61eeb072df7bfc24c926dc707a81cd024f644302651953554f07f0141aa77a0235b399460cd7c233dcfc2a4ed8c72547bb30c43ec71c5a5505297d6373377468e46f0332891b5e2830759504f2785123e659f41a288ae71b3b8ca1346ff31e52dc74223efca7c06a0aa56f06ac78766c9abc323cfd343c0d0073312b9416232bf81f453c2308171ca28cc05c5faa9476c6194d72458510191ef5233816bb2f6c5bc5cf2a70abdd741fa19b045d0d333bf842901f5b33b458d88d605eb9305c3a85a15618231d143efd53ab43f985ce321160c4494d24e931b51a6d138d30831a7fcf1d3120ce463fce13c60662b833605d125e0081f8da48a088ee2b72ffcb5b8996f81718f2c51bbad461596203b539b66470078a898622278c30095728ad7642548969afdfb334b407ff4f04df4e01b9bd2c3578858f0da0a09365169d6714c8796710d62e8013d015f42e4fd8022428ef3f512eb47d1bf342df1721c17830d765156ecc72112a23a087121ac6a3443113f45adc62a408ece7a9552a27ce05ba90d049bc213301853d99269e69432b47aed61fc3ce6f6effc8522ad934a23c4da494624f4d0d6b4be64940c370cd476e76d904555ec5568d88f606fa48e60e5dad6c07607f7573024f9111d15e9e40d2a60610bfed9236170ba9258ecf4e6eaa60b313f898fc4c354049627dfa7536f0a78b0523a2a528d2e0153382f9c90fa88e736dac25b363725ee87415d5324dfd40be24834eb8708cefec5cd20402302ca96869bbf13037b469fd46aac3ac7013b1c55ef3511f51ef871726f1721507ef88992c384a1d048fde9a0ed94d5d6b575b780e79951211773c595624a03c665b8df84eb8aeb427fc61795d404a0f5f781b560180ac520fe9b3c95685c6215e2dc71f44f9545d73e689e426e075854cea943d2f3e89655786d5095b3ad7a15af947e167f68373267f36e0482b41c4311ad34c089fb6ed485fbed72f02630d3f43bbbd1c38ab29664da2dc423e83f2495a1d91152a65f6707d4988361e1aea15990ef82862ffe9350b9d506432c13860f792ba585840881fce34cd6b1c62c51c175e9d2b45ea9b28389ac3739be9e937640a7c4325230840b1f2b515d050202f92856306d9d27d2bf93ad7462eb79826d04e434cc407e2074f3a424af4447319304ba64f7463da4d24ca6d35d7d96801aff64e1e4bb4d05deffb040378fb5f3f6bfef60388b67f1438796d55410db452aba81770000000002314fc18472ece05b50e763370d0bb2690f8130b1323020a24f624328ea94a1accf3092a81aa083f7356123970e5042acea2ee1a6e6881122a078c484bea3c0862c08309fa8af91f276efa4e2816d16af0c4603c0797ff77bef45825c13b7446341c837020b5a568fbf83e481e6a6b0eed94230356b13530bdd0ab3732deeb25bdeb6967659fa05d8a6c83480ffe3744823ee76683b9166923b2c6534d8a1940dd44a70b93353c2058b3483cd914c25d0294ef30fe35b25a8e7e814f21280714616cba2d765859740439645faa8e9e0889416824ccf8df2b29068d7691b15a5ebd1b117639c44433e9f4b7504f9ad7243ec36a2bbed7fa0fbf2bf714358d825b2157b873631c7f5942f7810d73952400085ba46d1ca6d0513c0725405dabce480c60f9540395ca520088d30dd9a1163e5e6caa74a7bd5b52ddf94e14e998f046e9ca2303b8849a36b77169773e4da144ac27e601d97351665087905e5842f722d89f7a594db7be5c946c282f7e805d5bef3f935d526c54067a4be271c41b8f5ec5c4d902ee33302ae7e95d5ff2416d1aed8b9a0b5118622bdaa74d3c524b5e280206d35c77591e274f42b3463e0d9a10e0c46612873d8d56b392a56270623f5a79ab614ef3c02d7471c1e70901710101e0ad94550cf4dc59d6acfb4f65451774e8ff65171e9a7a2dd9bd1b0f35d8244a75de77554606e35191bffc0c69dfa825d64b7e6295dda43fa8a72f52d58b103e131d6a2174d5f94b2b9db25b8e8c254681f7aa1d55c5195c90ae9f312a909e6285cff974e743084952b23843342c33400430500ad948073d37c09257edcdbe204365a7770052e551cb51041e3854db2a0ecffe4b94092162b94305011bb8f318895ecb052eb0a5366a4ca7492004dd289a38d5695997512c1fdb3508998d143b6a97e7266ecc4737838c2d29c7b644262b80c35bb70e6b66b25b1d04eaf06e0b2be72b6a99a4b8482a8723063fc00836edcd84244bcce52c0f2a9b0d7a4ba2093ccd670d8607db22f53c8c5373696b0d25da0709a7644930c90e82304894096a7417f7209cd53e2ae50397050bc38e4af2d91d5e3b128117863a566b9af4b53a3564975b84b091469a4232331de8196fed8f594cbd5b714d04991d2f7e7d010fcf785c3ac8eabc2a8e462e68093d0e5e220f9a1dcbc75540ca2b506eab8a5e3993dfd355958589431743284cbb0f794a0c5462401ffe54048676a073fff7e221bd05b646f9d519581a2a9b67983ffd4cbcf0833b2f41433b6ae6234948cd414d823384638126c4475c6574550de41d25f745cf563f9a5a1af51c4c69eb8e034431499e209de2d5541028c15bb8a3b00a4f209027ae0782090855831633ae6c5776c90b227e69a819e9fc35696018eb25d93f095f4269480007c88f77c7fb570566314411fa05724348c00f3652381831f04da300de18d033ad240e6e31c765577239724d07e00360bbccb41b3c70335f6d537c3342768f23303aea63514d4a13fa5a986ddec4c50f9cf7d31d41b81821e2d92c2afa44c26d0707676b61b21366e6c21b1a21d29e28daa3a843ba67291654cc0f34d973e342e3936e50fcda620731f64509e6c6a363426a61078a38b75189f54f33e6cf0269e03ecf41e485e5566424c16ca9c0544d36a81002706686178d2c4d6da8f5b73e53c57a275298386939278538d8e3bb216a03a72144b8f630acbddd321130541173edcb38df9ec46447d0466b34d911559d51fb3a0fa29667e6ac6e6a891a4e43f9f44c5fba820f3e0520fb3014cf512135b247260e2d013153eb550c8b7cd36db90fce4a917a5577422f454a55f3b6571cd339076158df18a928c80a00bc762b368bb544e8250811297ad3379988240058d99b35c6082f57a5d3473e28d90449575eb66cc5ee79000a8007469fe77c2202fa676bd2b3cb60767dc834cd4ffb2684f18f33256d1d48196a5f5676863346fad3a748fcb8a815df47ce7639081863361e7c19afb2866d7fb2ed1731897d5177675f37d01f0e726c5cef4e5ee2f8012304e83527437837d77a8c10d4cd2b53d35fda05b4318e3643900f191774a34c7a55310e2e0e282aeb9b5c04e7ac283756b4c5614008711e6308ba59bcf8eb16c4398f5ac8190f70ef85bb38895ab73e56c4e103fe64362cfb9abc2944f377484c7692041977bb23c613ee054194cb2fd1a0a6135017414c1db5391759fb22703456a617d5528a0d2ad9830241113935231e52505e3771017c7b8d3a4401c156cb66822adab12864819ce65351d1b074a7528b6cd196b73966acea1dfaef352d5a8ff52b2d08e765a2d73c1b5d2c516a1e647b2b69b0cc4ad62ef312779c7b0a355da36b36639c4703cadf3566dac450e9f0725510118c264bfee675f4544d49cad4f8546707ae62f6610e487e933a02f3c9320c2d26916aae9a142680fd24779bd1f877b65a9a704f3db0157b4ff17090fba541eb94090d5da8d0235ae7bd3f1e8ef4158f03801f51b5f8309b5c1b6b912b200d0d8e5a12e2ba816d31d8f528fd3e4e3273ced067a23f3353d1f40d18c503e8479276c2740b438806a1febf36052bf64f9f04ad2bcce36031c42fe271e2e6a84c52a0dd1a21dea661892d4b389a309d2877a5ae51bac5d623e5fa9059b118dd55327bcb6b5c8bd20fb7927116b8540019973ba355ebd8170ceacf071eb50343370878a644c6419f4b811fb63ca3008d31c0403a39976c7e06ac637833c22e5a4f082237427f12eb5462501e4dc672737749b8e21f9da49d28b4b546431bacf27349ce536363c97a5d0ffcf6070094ae4f3754264e4627d56150e4112ec7268f1247d25b5414059a56cd82a032c38fd926d3a8346c32393206a3b14466ca3ff20efabfe43d64a3be63e1db1c627e6b2469999fcd4dcf876b6761b00007c1624c1d96ebc55b44503b2d780f153990b81d19b5caaf3c27171f4dcc8a0a24f84cac72230e3c68c9156367083b0059c94215035f8e541dcda8b374d24f610630e55b6ddbb88e4a88728d06e4e3fd1b3a33c1675da6f67305a6f13fc23e9926ae5eee67f926fa5b9e5ab03e7f973d528ad9bb0d74ee365dbfbb93653da80464d45e2e53fe4f9f748c69fa010f42b84a33b0a45fa34f393745dbb26c0527614e95f9ea32a923ec6c91a9cb3f41970707d220cb0ae9cc59334fc61047a37ce76fd636fd48d5249d761fde322c1a720614dd70786ac9c24d1022a1c70d85c0575de43c8963fbab0a774f8da0156e8e9a617af10f1d0c1a6d4fce29001d84bf475e1dd9c56dcb177d38b0edf131279f6f696c600754c7a8a034f5200b56c879a71a3080754c23df974c00edbe6beeca28576a9a1e482cb52a0c55de4e6e90f70f4fff001c2f9c300a2fa976e60c6e4c5108ecc23f4b280a8f19518a6034913b0428465d5455661c4334e474985a02a5060e8014372322f9c253b1047c2d72188c32ce92675620aa03171e33bf1e6aa0090b7c41774b586ecc1916593736164646767e874a3fa4da044e4c2b7111b7358b13bd11704788fef9274db68a017c67236ad343174b932407563020936a7a79db173f1fda01d91c2e65ffec0f13980e1a27dae0c4466e93a40eb8964d7362951859c9613270870abb627cb4d80bfbd91163d3dae8557d550a170d284030a62d2e20b6c5f84ff62cfa708c5833335e47ab524d59e35d2affb43ca7bfd13e4f54232e37fccc2c67c1e47534e9766c6570e1717fbf3b4ef901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a91973b4441dd7e3c7049a85f9694ef3f42184cda4110f50ab70173ff760e734ac7032c6614ac6e27b1788302e120b08f3101b01eb74d0b8846bf5080a01be1c9549c8a4d03ca275617156a3c767e1561d5c6018294fc4dcad30fbb1b9687f007c2bc04b8b528d01d61fdc2a780b5265691d4271306542ca3467b7ed2c297564de51c4d795514a4213487551d61a7a887c4b6e4a5d4cb59055403f262b5123daf1087d2f6b67454cc10d238db13478e2b2618e5db406320fcb0587bcdc3f204e750236e94249c6d20e073009c91c776e7800f3de160183a4ce20ebf80d6100adf042a4d7554a5e69c333a0a2bc185db8b456c5184b3e00e33d2fbd79c124993861344c97ab593259383d066cbf1afbff5235997fed193a2d442e000e1d72b06a9c01a6cacd17429d286249011a37dfe0b263409f352dcac4715fa41351185031352bbdee08015e119708214306334e010e713b5dd63367659d26cb4b5906dabf5457e200093086d6dd70346b302c6a067d24394b4e704d9a04395641304d68620a6281012d454c3c7165392ce6178172786b90506e4e9a11c6176ee21c07ca977906e434a674b8044c53567c0b596c3c8f6544b84211f526485fe7b2c426c9543c0e3d5d9a6b54df1872c90f513d11db3b3d81b79d2caa6cfb09fab15b69c9a4d77174537e148662ef60e4c9cf588eba161b2f009c778ea6a343a2cbe51770390b053b20a176e1357c19ee050c1f463a5250413f513cc38f4f716ef067395ab0eb256a74e855674c492b383a1951ea2f58221ab359635e60946da55af062429c705b5e8da03a70cc455d60d83240fec1ce0f483ade111a744972b3e63d3780b5114afddc073a30d0f3707f4d7951b07d285e06c6ac2640e4e4249b7a1770289cef70e7250a0ae0f8725274e2710a9393113cfc91656f4e4973207407c449b45eff4d00853d5fb0f2ef6cb2d3465266936454d7c6aa2c4d60cd5b4fe33219be76ff27ddeb0f6b955c1861aa16173c73da2a358fa5f343a3db9f6ff6f57c73b7855942744a7f2f1fa71a60f5788c428657905bb021057479ed3e1459b6823226f9e14cbd0244293e4d5b31e1ce3a574da90c05eb94064c22352a6e86ccc302254aee21d86f025428a22f660c36264b453a877587e9d139f744af1ae9a68c6abc394a1a9251a2471d7edb2ea60e3139f6bebb0f4cc36a1189ceea05c9b45d4444f49742d2ba5955aa77f364b8dc14129fb91115af6a47392b0e6a5c58d27b723aba1b322f30593542c3ab602dae435a272acd639ad9dc5c71974903a22068187f2ecf73beafec0253f7cd3ff6ae234ae44cda6d8d4d556d5ab68421ec961500477f9c6f13713e0a7a06af6dd24aa1660288235d43e00a2422d3f0488a1b021d861f673a65c39a0797b6132559b1d242b4f6b7752d036c2f4015e00e99ed8922b479516f07584e71b9caaa4999c64822a08a4c58e75a085db3328945d587dd50ea2d025a85c325017961eb3d925c67306b1de80785c5186d70951d157f14a54813b2d41001fd266639534339238dbb1a56082024ff509f6277da20404653873cc798bc3efe8ec4315a8c5c469c71b95afd20624b44fda14bba080e1fb659cc1e6d0e006b110caf3e15e0df024cc90b3cdbf1883d5f99eb595d1e8b32b79ba326ae72a25cf46b5e66ba3853011ee595407e43b4454357093bc5c63f07ef66806c233cf922992e8c2987fca450454901328d932e18ca10372713c4e5161f743d44199f804a397b4724abe93e6e2e7d614d26b97c295183f61fdfcd944fec930b0997e5f557a16dd05422f1e1704a72902d5a6f200ac99ba730334b8007cf91fd715d45590e05fee11c8b02cb3ecbdf9b2d1bf2561c9c0c3e0c2ef89a48fe84b820aa49954328fdf420b4789d1dc591043aa01ebe6b5230222beee2d40bdb729f644d1ded40d552f51595eb98110d8a256700000000250cc9159a965c50ed822e087a6c581a1f78935460dea14a9e8f3e69a426a96bd6d56c04f5f81559896ca931d384fd5b9d9a564dde23e0352d63270a6f1dd5114cb3805f1160a464d23ac2663d390d738fa74977623ee94727d3c736a527a32895aaac33f6f4e35c2212e80ceab4be1d3a769909950f9f6f4907415f4d4bee41720f8309c0928707619f0f3e08c31456130ca470d21faf47fa51cd27cda8961f0d9d9017f611c84f6f8370010029b52cbc8b40002d19671308534c2c9e241d61c972905d99ee3b49b3fdea2c858b5e262f76682e523a0a76fc35d5711139366539673456d9259e4d5e09f1263e639e5bdb512f2ede267645efca1b2b32db0910a93d0f5f6f185b19f128556875805f26da56f86547962f5780ef0027f48957523d19792ded3b636b94f7826d4d0fd16097e37d5aeb6c914590014f50271dac3a98905c6fa65f2f569a8e0b34c31591669a5a057324bab624777ada0c07203c28a1ee8b361dd2d14da3bd8b0b591e4d719a011646510930569a35bb58d3f91f2e8d60fc2c573491004febc67142686a589a829515011efd42c7c1fd6d20420d09fc9442392b2a5652e2a38d2fb9e7b4515fd4a26d081f0604758a4a251171c44662660f325f54ce3e21c47b3982dfb70de85bc15f799ba531a482f420cfcc790f9a35995987bf4326d32a8143f0bcc233d856eb269f914d30069732268067840d26109f242419e74702737d5d5e048a40e7d17b05403a7c65c371bc3ca1945417ca950272916c493c508ea51623218d4019843745b89d176e23f59b1e19443f0fb4614c3740b0f23814aff26dff654d717679152f9250513b61e49b427b2f5f3fe5f46a71349f6c1d1b60ff08042f3b4be2082739fdff2e26deb9d17689bcc65e47dfcd33900d013a2bfe0e1519aa51057c4b0b6fd7cf3c22ea346b024fa6f26935a1930db8223a76e1061b75a832bd26e45f3b0f287af0020e402e1ed4f69701459ebd13d3a7e33f29b5dc0a1fd95d31c3986934b1934864492654770d8fda35bd2f121a7bc9b768afc4ff70cf121115e4ed5570b9e093401c92d2363c31ec04d974af382c22482122cad01a84f69277fe6f352c2402d1141be741498f53261c3f859936f7c4a5085201971de176d828effd70387c073451b7c28177b0415320bd5a13527fec561d943b5d21cf05551a345eb7763e6c806ae80024598fa130063063d04b6f65920d44814e5288c1ce10f1867012a377f4602a819c499e59912511d7822a7b20963e09313612f8ba9c025cc21424170a656682998811eeaea5213f5350709d35ea61b45a903b73f20821b362d971a960bd0e3622b8704dff3e0b3423613782526a360b3afc5e9e1123445874c570cd4ed00ecc9fd97459d34b5378614549c198e20a69e9e71ea534df227f543d5b5969ee6ec68a9120696aaa08971f0567f9923f39ab00320e308cdf53d90a4b376d511651400e2c10fa64285de6f60b186a15d6681c094d724dee8d14cafab34a30a50e07ddeba42a0bd9d0120a658721fb1442591e395c385983ec3d2ba3cd4e7334af6fdbbcc7417190e65c5c907507dd00ae472807b576c37ddc0a72e89855b628ce25de710e30bdefda5d96bf90551d559652629fd35e7bd06c757d66255ac72f95376b1b8c00d02f9e2b5936d53d74680d758705462d032550434e707a450682ba3102de5046c232b96335c92969443d421119ee74670cd03f43f9b8e43281ed2125b1d9ea01c11d0a5bc03ac03b0a5fea294ddce45d473ad412f541ad7431ab1d6ac2642e757f9b39473ed14554ec23ef3f8f03e32e34ed525cc5a0477785708e62010c070eae9e4a43ac596755139ce312ab6a7d397d8253387209316e31306761c9a7064c7a86301dd55d8030f85d430100411d332aea043dbe36431665aac411e4779809c8b86873ba3d7f0fa53e703fcad25736d9ca8c640a7d1169df9def3095e2331d26bf990f0e95bd44059b8631561dee04f6a64a2fecadbc3bf3c0f42e6235864c3127f70b94891e0863086a5a02ea402c5088472820c97c295c03b80a2d0a225bc0cf794001843d5068b9040ee8b3a760d056ba19c5569351e547ed594d8c482710908366a658f826bd70e1378d576724b08cb660a2b8d912592e290c75c4ed62add1d6724dbceb3d09ae8961d3f6a66048fa5413e5af9e483bb1836337ac7262bf16935a3fd372088ddcdc52721c171dc6f80475843cfd07bae9185c5442a63c2889a132326c49134fb642424101ed238d587a6c48efd2141404d7044f09b242b7bf6e2371200568ab4a5817bf15410354ef261d9019cf3af70f093af6f1035685625045053034578bd1ce4376515e47a46f5e5c09243d40d7ad1c44e84d6d316281086e89f26b0463ab8b6320d1882aea51b876b850a23a771f0907a139973c9e18634528d57a0a508d7333c6398d28821db96368abe20394f63c167f4ff55a645ccd557259a106376846259a83cc74b305df6f3f3cee5c23bb6d2126c3a54af64bab06794f06576d179211142e435668fb4f6807b66f44d23c4839654e7540a982ff60c7bbc643d75b5f4ca620501fa798e26abce128560359be4c1deae30c9c2fb91fe791cd608a217b35b3a400280146f04709f92c0cbf0df250292da71f4e4cbe108484f47042f773028428a648d16c4d270648f9514c6d070d430a4e11ad98c35ae6cf291b4eeb0254bf7f3f46a3b2676b871f9e1510e0550b71f42512a0c8c80ea26a985bdabb0e283df3eb6de623951e5fae2a30eed3e16f3040173927b119138d42b275f900f25235e6b402b5d35a0025053b3e00fdd85f8e79cd059d78784f3b67086ed01fc7186c7ff3285597d87689af1f6e68d4253447088c13ac7ab40a0ad74d09996c1f61a11ace65b12b9725f081340b271a6a7722df562a707e213561397a60bdfe5355321c2f2231d85b2c8fff2b0f03030d4042aa7e0d60341777988cc6005bb988323b89c32102ebd0628a961b394316a073b0bec35d9519d210685036420baa426874d72d247070f7586afea718f45f770cefd8b103074620285a02e2260cf2336437aea201c912110a1866f362630af52a5ebdf64ce9650f61f43be47596014c6506029f0d9f0a656eab47fe6b9feafb19aa5fb5573183ca303e710b55024aac377df991708ca133620e1de504d61f5206cad134273065440b7c71316053f9d63882e1692d3270b45f68f069097ab0f5438afad826e7e3a920d9bf0874d609e839f049810aa801fc659fb78b05086ba82d138d667198e2411b42668e48f3746b13b0b90d5b8e054510768d034b53970f146c2fed6cf724251f904746680cc9a007fbe2eb43761bd074dee0c4387e9528052229c13c0ad399021fa82b31d6fbc1355975f6607a6a8b4f2a09b9561005a60d388fe54d20dc3b670cb0e052a9af5d2bf2ab901d0d039d45b4155708c509a325aa0690196a6767330d84e35c6281a72d7a834e270b1a5e35bed71f1c4b0639123bc1453e66b2d118b647ca774c88773ad0e904528855966e3238882736d0b53c93311473e5c472220b43d82be503c2020794e4675a4bcd2bd6b35b531b38f4172f77a942d321c42d80edaf48e723d95074f026318b387535386e3f24a01d12153603b4491ddcb95724691d1583a3332aac0c5856209e573eb4d7b05164d6ac70170de05e0211721669ffb844bcca3a5032a93729457bdf0b4e640c606c5af76946bdbf4738f1b5177159f94a9b767d6d5181b0393a49ff03350d1c221c948176d0679f6e106daf12be512b200e33a55addc25234af658a5b81fa1b0d45c7ca34c3d7af60e84f3148b8c8763f03c6f50730c679689d6c24610d65f717c4271a3726227c18249937384873a73c15cfca0455f6c84b281868267361375f17157d6f1320fd099f393036e34e76080a89ee328b400963f800cd69ed14255ca2c143096ebf625e32832d28b67065720f79ff25008ea23a6ca14d08892df60b67a6332722109c77485a5e5b3f3b442b60e64d3478e6cc1717050b1844c9df3e796a8d7796bb5e18e0da71201172e66a3cfd775784f9955fc0d7936ded234e4a7a348138baf2342bf139ad6177c04d2b996cf83a017ff843c1e2dd1fa4615f39b4c4852c4026704ec1090d651692a44ca6f83f318bae825c1806296abf60311e47a6f81d330d144589ea1b11623a2430cca0fa3ccfb2c6037042d05179977a3427f10d5c686fcb6ed83e3c14fe077346fe6bb410c9925f70135f1f00bfec93436e1a00171c0ef8381f294d08b391a73e34b30c2c9b901e6c407cca0ef3d8d9175303993b87476e40a207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f74a5ba030f89433517c4482ef76ab22cf5e95a68a226137208535f55252b6377585c9f5af0fe2162fc19d760eccdab69e59e966c3cd044007aeda80fed93fc452c92ba5558a9093d02cf31403927dc5a0d827b4b02fac32ee443400a8be6471170b1796465e1ef40d45d2b1ccec74e23835e7e63e7b38a6147b3101948337708714bb01f94634307fe81f71aa181bc41784d8711370e18286804d0000d75e956a003db68f9b39b239c5adc11a33e01416f9ce273564d27522227e968db460f54e611ec1ab92a090ad5798c5a9bcab1621db45869d23056488d77fd427bd76d4a8256cd355594045010092e5620e7ed2c1cac4737da9f231f4890e10a3740075de93b52535410e53d9e0faf4c97efde06d8dc593f97f5085d1d82443118f3e017ede0bc346724c7403d6991102fb8fd668bdc575438ba2e4b7f8bfd1989830c182c3ba458728c64463bba913065435a632f742d47d7f0b862768973482c240a2a5474a533a0e77d2106275c2774d5c73aaaf50346fc3bb61cfc90fa2ce7399009632e2552f30f526da18b453a872ad757ccff2e71a04535122918a9572942d4277377360c5f2132393986df606ec89932e118164b840723696279261113dbdf73c492dc02c2e0bc03cb6d7e2ea6eace342719d2208404795e3c8d091d66971f0986ce6a3fb4378e3b85316a0e8390a518e485710206962506936b3b1570f4c94e2ad5020f4658e155d8e5f2730822034df9e0fa05c07727144e0aaa3410260d2fa5b0521e5297662dba8312407f736251f2065b0c7cc57a15602d111fc5317216389296555da7ca60a7e5cf73be0788646d1576666dbe172e3e66f3467a682408d3634c289f1f956a32134e1717282a673d55d314f1eaf45cbe410f5c3d4c184db980e83627229a779f5f4c01e5ecce3c556e00573182b34188b2130f66427f0ebdaf695537da7d3b96ca1c504475822cbca7505c81ff4d5fe236d0732a71ad21995cf51f2cae6f5df9cd614e0a7e2e1097dc115e72f835367ffb973eecb09a183a82510cbcfdf4421d3bcf1da3facd1c315cd94527573815ab1a59533bf8af06df90176beace9e4647071909a599576bdd3e870148b43912b9df626274f584570ea46371ef321515435c8d339068781cef4e8b54c01a1054d1c720381193460042f8442b4d531b755895945e501a5f6054af52576546eb724eff042d5b95537101468d3e37621228aa40190c94213f394b41a415d7f73413d911af39845b973ac4e2b61f94c1002c681e6e340000000002b3a416631cba554ce7955ba91090703d58af5ccec42e61ce8fd56d769bb73eac369c45e9cebe51002b700784dfbb4aceca9609b4edb40e25983b3e9dae1f099531f70eb5836b602b1b1475714ffa01f7e9bf7279f64301891f226140d7ec4e22af5d2f396737668bab6d3d3b72b137c713ba23eeed572309549b443d7ab5142f6296405e9476397a4c7c6613dc6e1fa5147418dbdced5e7267ae64aa73ea0d1585ec1dbc636c578034f65929c93a721b371b5bff42fa662802bc77ca73130e376f1a72ece0792db408d5609d31a631c8222a42577eb46d1daa646e4e950024e51c7548ddc0552b17bd5d6db796d107e0d0fd2c61ffbd34439348480f31e0702d6c582201b2095c9d3d214c563b9f6e188a23236d21e230ba1fd43f90904f08470e044c0e6d6b63cf6c2b395b27b56125f681396a728703adcf04301fdfb35985e2eb1bd21fac5ef17d2a4672e2d461d3e0f55bbbb1380ebfbbf60ae6a97e16e02bd43c2ea546077b23860f24ada5659fa97666b9f92728c4a55816f088ff07b13d0f600160135a5156e03adf69fc3b66ff3a2f7dde963a12c4fb7771fab63a4c310a32efe8fe312a11030aa562552258dd5023f9f5e554642f7970ac0a7e3dfc432e6e6bb59e40d055c329b6454738c22847070c430e2337fb3b01204eee686f0fd661283d912db89b10334b316035f2503d4bed0fad76ce46046f9351f11247f88d5b1a83005bf5014a3c002fc64e2263220b9ab56f4a4c3a7e02da8d7d5ec0c5eb2a285568062bbc8844abbbf557f3f505662f964971e4fb4652745ac706ff53b0747b025b1c86c1474ed1c0da11e744eb7759e9316bb03c33025a70556886b2fa044686dd37ce58433a651b5163f6884665a612404490a696171de7440801b91305e9a03a082ec416152c4c6c1af3ea5d4cd8d8c24db947764e7e045d006e8f73394e1a832b26486d27cfea3609643d4a0b3d917c2c703c463c84adc62e08a8a46341ad786784060a492a09954d14ccd956079e43012bfd406218dbda10fc164406d786963476b9a814aa07186878b75628e56ed3612928762d4812172f2cadb577c7a2bd1bbd128619f52bdf26a7d7014f548a68609708455d742f3b1dc9bf48521d9f7c5707073a3a75c7c95f085b9a48d9e85d5507d29444db26926d755c0f020c752b659cfd694e42079506972aba014418930d822e681eb890d06628663d02fc63e108c09b310b174514108cc9ae6ea6fc8d0afcc8810360de4144e94ca970b479b91fc9de1728fe83a21fe4585d57213e3d4cdcaa29333a95de3d06ed56407a8aa351c47af05ce3fcf9742dc38c420605913cf5561b49f1809c454da4af228679a92e8fe18131d6a31736bc6ab142c21d9a1b400956247f035907504bc718bd2eb85cee678a2c8f15bd57d5551313c1496b767aa7ff0b4420431c0ff5863ce85bce3043ccb71029cd7376cd66df1dc83180507b0e23597d7ef03aef4a861ea078ff4ae46b901664171e1e0e7d416b816c560b3c6b7716b8d426624fd30f24d88b021448a3406d4a4d0c4e346a6045e2944839f64f071b9710c74a4c921e0734f5966c58f7d92dd0b0c81c395529038b0073517f393214f7c713500469b1775fbf5a6a14a429568eb0254ec270e173c15a0f1f4694310e4b02a21ec5c16540ce5093342dc88f10c78c7618bbf44e5ece99d61228cf2e210b187e04b4e61d580ff1693f2922866bc752361f278a5d2743673c6314fa940dbe317355377312638f360a15661656388e17eb2f96772b310059860705ffea35b02dad65394f6249b6fec75149631657e9fe26623f189f17e67daf31c9c5b012f22bdb4a9766ac6de1403d1e1f63844414ebbb08951e6921a38762503abbb51fe66e720b338280102822393193292c6a7eb3a6440964bb0858256b3cfc40376182dc441155fec94fd9b4e06dcf9acb3a7d1fd0115f0b98351563776ad7a37720f158c11569a9c65eb50ec8210233ee3224edc33d53b2b61b4eb23575a50a9e671bd4e038b5e55440265ba43047a8f825f2280a1bbf70a00c70de04394a25484c7da57945e3f66d3d8483e0718d17d87528b7702c65835757578a98687350077092d9ca0580a7135b19462a4f87137f31f4f7485dc536a85b87f7820744e4163c883de354475b7a32277d0643cacf2402bed6a90944ba5640c4419009f7ba8144605aba74db62e568a710152ebe9fa3505b81e05563163205973b47440d04114799afb61ed7e2a4573af955677f8daf3f0dcbd64af6295830384d00441a8ba511a8b4f92b997a207149239e4dd788644c7bd5302401801d31a9f2125cfbacf946d03f094a6df31d136f9d7744afe7054dd42c2a02a53bfe505e66475be41c2a35a5a2a071b2416836faba554ac611e86cf9c60f225992e6407845f650e051182289aaa4213ccbb3105c8afd24ef9f680476f6065491f4c218d8f82a0dca2f5835cb183e4170a45858bb05955e0557196630f1cb0a54999f12d0e41528f1968e24b50c6e4efce1560dc4aa480a1c1b8e5bb62921561c7968258702f230eb12dd3c0fb5f45eb2100139dc72272bfad3586db432dc59d3f0125f1a520d22c3d220465b9d1f69750e7167e4634f1a0135fb08cdbf8769e807e4692285c169d7fcf226bdb99a10ce0bac41c5a6983b5b032b447180502f0d0e0727ecde1c5f83629f4011dddd49f772100040d5b5025922a35e1f2d694b73ebaf09d47c8b4c2743fb65c06370241da27c042f161427db82641a054d591821963c1d3b17814763b5060d4b948a67785e8a69ac7ce64a9ee491018d549a3a536b9d33ff68313fc1b3341524d4c75f0ba8c01384c47a0b9575ff16c374fc2f59a5b430b519100ebcb214467ddcbc4291dd1b73fb821e228cecfd156a8d3916097505498ad01601c646bd12312f2f1ffcde333d69ca183c4b93b00d9349ae5fbfe88e722400c34c668aeb69efc8e55493b4d06a0996fa600702f141cd2ab4034bbdb35c191d1015529509422ec2dc502221fd6ea07ae66679fae41a37023c4f0bb0f310acdd0c447a899d74dff9b44e2fba7f56881c5f0b83dec8190e6200613beb7e759f6d99522ca7d43280c7644ea1622516df6716500dc665773f507d3a0dd57073695ddf296e6bf66d9edd42517932c973ed5b0432fc14fb02fee89e0c5b39540d331f2f5106dd107691c4eb66d40f396effda7c5dc496b86eddf12f639689b5672213a209d808d25b1478f841fe58ec29f31a8b2ef68d951974e7a61455fcd3259c034f17655bcf0f1b3be42a6808623a65096f35ac675100b37ae537a7aa9214b05d850f69dbf5017737916c34e3ff0243092c26a784cc23bceeba3715b5a347f5ffd12a0d904921b9455e74da07f265378f0b5d6711ff603ba69548424c0c126bc8a239a87f696e787e53733d8e9f582a1cbb56fae0715f44704d7593e0f86f56594a4b6f96b36d5fedf1096acd990b5f309347d36e3d1890319e655984084895f7b81e9f4cb65b5af4df4783c92f55b5ed8264383291018c83010fa974e02de3a4310e89b75a411d78e96a8a2faa34e3d3fc1fe406235d6d5b4d3ee98a8e19a2dbf93b31024950c0d43d66863d1a6c5b7d762a2ed0f91374d824313e6aed1321c14e73de371c35cd5be9136a584017fb636c478ba1101a768b9017e44dac5f2faf9b6b379fcb05918db103800ecf4a041f9568005aeb1687ef910d2448ad6cedb142363ff2cb574e14cc43efa35a1fc38f5a6cc7bdbd143ff9fd3bdd4a365a567681661cb45528818b743f0802a72bb2540155176597671b8c936325f00c6b4f2d773744102b01ee94ed4de35dfd2899b1e6607c11761a16366c69aca6514fdd9aa76300af763daae1ee395359a63f869b3e6f1066413d5047024e34ce8671c0b9f11038db6c1be1628f20e8f08331e3b67b60ca85dc457ef5ec3611b83f727983b05d679ce4270a6a6105bb65b66bf5ac90445b01d770fd91215854d9f51d798d1b71a6e7ce1e3bb184770b885c2eabdd9c4eaa0618424176a4040869550c05fbdd5064d61e61d1edeb3d69b8984ad15e3328c31fc21aa92c3446df8cb92b7b62b50e99ad4b7558e6d677a435be5e0ddba00470ed0c7073656056552987649b3e58283f0b6f582576206572965f60e6df5628b80c6c6f06796d446980ce5b7204ac72b9c779697c899854f7079e0f056711129091721f0647e0576bdf9d26642e6e441d2062434a1c7e1afa06b74f33e7580c9cfe385a50419150896bdc0f8714d73c06c1f806ea96e91c10349b296e2caf503d483c39ffd67d4600fcd8495cc4202a87eb3f4fbe8c53114ac9bd13069a5701d759ea3ffc1d534082e8e40049f6ae0e0a6a942d637b666af1b8cb5da59af4453b3a9a4c9428db593c9c8a00cdfe6e2491ec89431c3c54777dcd3321e4c4c175e366f467150f2b2c37743a371d2be15693923a2ad3d34864d75bd559fce0812c1a5108555fb9e620a89ff0203b2e154068fd0429de41633d4f03ca329457c4534edf481463c9650695c32675ad5edb1ce1a9e7419e98d74aef44315b9bd51a4e4e9e566ffaf6a360b685b70d6563c30f53feff5d015aad13e9c8d71726701b0a370fa0244517322f6dc7e8534fe145159c8c886f63780a4eb2666e6685b45d1db1e0c3634dcc1d4c0548c82a6f1175350cd88a099952ed3241d91b3ecf74f2564b3cac12605713471019e56c6524550b29c6e56ac3b633263b5ef0322c518f27bb4fcc373ca3ca3cc709ad7515774d455ff9ac6636b2095a391c97319cae7d652bd0a04539d78f27fc9d932e18a43934ca1ce5041950766de6a97d1670b8654ab71808361a25a5195ebf6968b7947433241104242176e4600d77ee12ff470651ee9cf9072b7c7e16eec7890f639033625b69d1372c3ba458728c64463bba913065435a632f742d47d7f0b862768973482c240a2a421fe428cdad4257ec315d5c85965b3a6e6517733234b90dfca3a46ffac0c309b3a97041efe2ec3cbfb64b48aeccc33866a0816ea796d31f7661e4054cad07512c9e4519410692006c52735ea96ef2036d207617efc1f271cca4b304ee9708117a9ed44fb7c7343e341181251dcdf12cf27ce00a9231d248980d4c2590a3b1252b3a6f2d0ed67e2973a00d16909cf35618d8ba63d87e12693da45a18df9f3b4bafac3c28624242069d8d240ea3fdbc013fed72432a92186870a87575b7d0907421040767ceed745ce00e8a4e9e7a795a7506a161deecf62b0e9d893c46a73b32be431b369b92005b25f6480679dd164be7a9da005d141e1c1f01d510d1ff3509d51d85525c07232419041329f5d003455e676f262e7a3f640f8fc069a7ec91715ac4330735e252072db9e16b4665d54735a36912b63b03401fc8506e3b8e8861f9ec2510080e0b3f855e13732f1fff408ef3ea28c38c053e0018ab1685f7a414a62ba72ec894024d3d08892280393a505b628c65bb6742162e9ebe1107c072261db568065cf2f1490d66e113788f2c743b6c9b4f47032041a4cb5c28984c134fb1c67425b95c4821465c432eaeacac38a1805342e9ecc14230bd4c267bd8c756d7a5dd406e9d6526ebdd4f5add1e6d3d517d144e5bf20c7079ddf13b2bd51773df3b101b7138a822aa8b1c29f847ec6213794c15988599609314cd64d77d6c3bc9b93c24d9fd0a4b8c6a2832bc9d2367b853c815129af00a2a21de4aac76e86ab2f26e591fc6e350b991213f00000000e8b7d33568cccb0fec2d3120fb0c455d6a29da4c30d703486a65c9538079d257d9e7e912c9e1df570ab0da441a74f1622b5be441ba144a67b8d049198fe52c4580da872cbc0efc1140b3d14c743cc7093232a73e9689a5341fc7fe50aeb2d768a900bd0914fa166f4d8b4315832e4d3ab33e4c24c650530c691d643795e0ca0d8dafaf2a4c9c2d51f77c911ae518c12a28d33628f06d92003b630474eab66e5426891d02ee6a0d5eef47d25ed095a706be5c6c0a5d6c566422137c304dfd05343bf1ce2c156a462377224c31f4ebbb601c580148b22166360789810c26fd140e6f0ae219cf4f783c0108c84c774d8f41f735ea5d3681f546184c3233f6cc6b1d702b0e77ee89ab5812c1486c6a58fd346ef3ac43d2fcf04982b0ee74f2d1f0453085d1642dcaaa0136a74c3f307fd7450be03b200e91cb165cfebe119d16ea21094307774fe810111976a133bc330a39568c8b2253e1a526cb284b11dc7d5056ad66e4437e5ee326632a406965ee7e009fb30a549f86b5336f9fe90a19e907000d462724cfc1b65ca5a278421f08603fe7af4a6de16f654fee2b9955b3ad8d1d7134ab0306bb5149fd76536fadbf46427ffe1c5ea54159015f4052407ed2f75d0d79b06bf87cb0569245d53798932a724b1ac33ba18ec74721a7781f808b88015426eb5e2920a6654ad36a70ff7c0918ef75d43c0a149868045a160fef06455dfeb93b1fd436f1721eeb86743a89534d1f802a120f5aad413a52351c251fce348f25a215da1ef13a735f0a6ddac153199e7ef349b9fc15486c266943cb35363791e29e559630ac5fcf52131c4796446953ef88777486582c5548d90a95ce7d1959b47e3d219355116c2e51341c807219422af4631d9c8c4750df9c1f8e95fc156a70fd73e02c2025f189be483693dc74ccf23b618e0cba2fbd255e32653671280c9c7f0e71961308911b8b626bb7d41040bea933b10f7f5bb4541858f893e90467653d5d49e55356e5e37337fba0ce73eed51d75c7a4f63f2608cc733e52993c1046396de9b12b6a1537ef08521b285759d55044d0e06847a1a056545c4f62028590b52d507d57062cf469645879cc3b390aa052a51f2a1ce7478c10ecd56b4f3ceec0246f23dc2d6a8c0d03928eca3899ac553b80238b238ca07a32fe3c2c2710fd8e4ed8f32313c7ae53374478395ca2643d2807c4466031353b438f800207837ccc3621496b092c2e5861554a20008753b30cf9b9ea2c97da6731b4e8ce077062c052fcf7cb2f0d5b1009a21e5d24bc066603da4f9e0ac1a1a54bc986255677cd7a57fe0d47644b0cf05d6bd12c0b8f629231854d7714f057fe67be27d514e275e52197f6c96e5306e3119679964ce60d69296107d84ed10c133c568c5b162db8094a900b652bca12fe2a6d215e15a787a05f901936404976cb3f08e83f5c2e6c6b5a76d6c047959dfa2bce400e06a7f2d1730e4151119abba42ed2220908064fae1691e92221f57d723c0ed91534c8bf8e04b12782063fdec6724ca4df2b6b517a3e2548754fc7c6d1049f8ee75bd506f20899057421dd69830d9cd9c1051c0d530fe0a8da568bdd9603bc7ca97316d99b69a4b2a624fcf8f2369873da06fa07eb64fb8bc5724d582e602ea39b64e013296868faf716579e884146537b3a99ba015dd7963153e5d5754b4410c822c87eb730c1b8973ac9962151a8c3a035b4183f75dbab615d8031f86d6f09286e94950612d489ab2126e56c14b52d45275a2b6d5805741d3d595504202774831c9dd25315e427bd521c151e6e73c18d204691fb5cabffe60627351d3a06f38f75f849326aaccf0e270a63c402bd99530bfdec3d42f4e62023c0223311025ae102c69e5e5b1a68c2112813b544dd0be26f268206506c927816c0d9ac6b4f97810b44fe2758f79f17684fef1c1a84ebe212bc02181396d5936ebe0e3358508d79699e0d1a45c4e0824c7a2c8e553e4ec7518bcbf07290edbb6ca74e2b66757f97067a98af383fe6946bd80dac2f144f5357f71fad3fa58ade28be5e77380754245e2b03094bc08c4c0f67a9ac2387776a568f365e6ca0f616442e03ce6e9230ce5892761d1b5abae91435fd35408aff861eef2ab61c1c4caa4305bc910fb6f3f855c51ead16446a051148fe860ce3f1931b896a9d438abc526cac54c5182124c848a5b7b05e0d7afb198b957404a92c6855f53dc020fc2c464647646f71188ee2093ae46b13e6ba01666348e16df830c018e62b77519c3d9b6e9732e55857a3967774df8d5e57c8901d76b60b3e8ea1964c9d0e3401be51487255c0082cb69f4f20c1ad0f65fd91d5655ab14c2df452bb17a683e06d32852526d3314b458c50d56a71ac052a9f800024c090c94ae9299e2189901c3441859828376b5763efa3b85a503f0464ef9908629046d058ceb4cb58de8fd938ded7bf12e0d58c521472e557924ddf3d92927613b1f603025c9f661498baed605b83141fae93f60330dae952189d0b69a570b33808e82046a8afbf2111af3e22db0219327781e30b674b1b05a70888052abcfc344877e356446c2a0a563a402e08f03b1e26404d67aff5674bc16be32618ac4b7084fdeb525aa53f00ac33f028f57dd22b28f7b92bd1b3c73c199ede23cbae731189e60c5e5771151772f7223118bf195114782e5723d6b2550056af4ff7b70f69e0cc75258ff61114def3365237a32c41bdf3b95597c74c70029f1970c9d6d857186ec2445e1fc273b63f60305cdcbc5fe08eb222cd60d8082030a028ee0a463850cae3672211c6496bffec16bbf43b55c1d210539ef7b31be64796351005771bfc13ba46279af46760cf527330e05d4e7827d84c85fced716a136d14c41332462630986254e1703eb6b60c49a5feaa77a5c1330dc8b1a34628e17922a672403b164c3e089e8b0c3e3512ed5a9a064b25be7371344f1add52d4224f3ac27c02300c0cef60da18091de0d7474cfbd48b3482c7680e4abbe864c7e90673970c1c0637b1cb41bd150d77e3a6246b17be6c25c906a503e55a2a35b866cf0ce7ead717788a954b9486a212f23f515322c8186db529cc265e1a4f3129c47512db7ce80fe6ae9c1141e81c6002d7385950717d73348da051bdf79052b0c20a24b7c446476e738418a03b5f1f1d546a205436ab5c3bc5b903215dda3d52a07b204f54ff750358ee1bb9e2415cb4d38863665e8158b0e5e74c3511f8263d6aa7771f2b0f132d1ec224e7d2f10c349a813d186138144dc5c919ad6e1a60fa81153465922d3599258a62d45a105c670d577493b7344c8b6fd66ab369ee5c52bb70187beeb3431143326c56209e686a1d3945e55ec23076a5083245896926cfd9d26af947ce25901e1674e3290611a41a0b539b116173c3375917a4e0203c0fa0d77574e9b5368d5f7f765566263f26354e4032de3e1ecd279742427f5728ef0da2403ddaef16cc16a826da19722661e1df3a0c812b0b570c2461ec890b5cd3f3b20fdb54de754e049033de6d201b45dbbc5e6f3ad611ff393d2d5bfa380f494ef217534fe34cec2c3115e2039d1db6e3d249f18e453ff246fb349fc52a35fe4bec47d07c2a275c3c0052dceecc4a8b4962131a94360a5332bc73f9247d2f2c4859615b438a55a31f9f308b3dab04895e7333c93b350560eaca01590a7c298ca4af386e078958ddc2da365d03580126702c1c8e5c811e86777e5c15b13864a140bc68f2d8d45042f9695f6471085c96704d3bd4efbd3e61d699234dcf2e56df715e240d541364835785638d31bd2412cc390a45170c35838d194fe549f5301e695326607b9f040ad4bc45a276694aedb2053acd7ee231b90ec3551ef9ce0fc48bda425fbc435957ac4429a7f6b16ebbe76c352820151183d903166fad016eb8ae1001ffcd3a3325ece413363f0f2a0d12c444db438c3cf45a6934cea52409dd478840214ce5778fd9b96be6149716a357b0221c627c5d58798302d9e038682fc3aa6d9291de6388e3d90343d69b34316c7467f0e5473f278de21714119a2d2dfb08537ba7ab000bc2fc4f0e801b18ce1bc0028aa08d60c905fa269365d13317e4b20b526de01a64a7e04c7efab012ccd45908310efa4f373c62509eba45298ed2204ffd173251373f125a6389c037d9ded14bdfa38242613ba01439fee2309248c02b292dba4a77e7ef40e5038125c942bd5e8f22c8051042e15af8690160c007fd5ff8171b233d191a5f5e1d3c28707ba61e75a3661de4f7e90ad7dffe69626607574d4d202af1daf64ab8d0fd3bbf61eb26e9efd14689b1c71f5138f54ff5cb5114e67ded48165ea31435ed89663fa49f082e0f384fd3ea5565d9a8ad3640517a60efa59e0271962c0a2634a01e4468441b9c737344874be05490d2a869cb05760a4b7ffe145216d21cb35b9226b27dfd435b83c444529e012213dd115719ad375eedfef47387cbaa53e2eb01026117014791133e0f0969f33ce2661b0ae9d9ee1c38c53727f46abf2de46df43aee5a10239e23550339387d0a45ea68001ea7d65da458ed584b61ee5dc4877120479e252d19c8913ab605c347a8fff445252dea18261a69395dcca45b2227dc5765988a21d3e3284dba55be6c05b0a8388cb6a33eb9c8c04f7171cb0b6c806e0cfb1513157a9070183dde4a4bfe1ada51453cbc5a5c7a183875d41f57e73f3a2332d6215e524e7b017cbd6248274d726686ac4c393f82b757ceac702dd21e8e1468d42c09a946dc02135bdb6c969bd548e1fb441e01921642c73d9309d64a9b192fe72136d3044f330036383e8698691aee36954e962f5377be09ac6b71589e51057982502dab99190b77826eeba174199ce7025a1aa1fe1344879a1ad4e53507a901685326c2843f676658610dc604218857a26bf7ff43269769fb5d6a8a1f4485f1ee772856182307635a218b7c9e15ad01023a0c40dc10d216de0a4a2c30685046542c7864a36f0cb3b571b8ffb47582afb6224cfea916d1fff4734aa0bd23d3c18034c8afbc4c5ad55b5701d3132e5883bd448376b340af500f11682f933371120f71831292159b4dfe233f624532e00c9c6ea52ee6399da45637b876876a7230561e3dcdaf17cfd4e91e77002f201945e52b43ea496487b2b50be937ec7033cc472fae4d7540e4cd151d88074d3c0d7a2733d5c8752cbd671e0a455db3265fa6755446fcad13b67ead55ae98d50d8f6724025a074109c2795a2b51376e4087506f1b10cb913b673b7108c4f0b4624bd4ab0a11577e621076da548afbf150d8a83d225bc6412d8d26fc6d3c4242280b278e1cb0cce948f2f32c52f6679f171a93be05484a695896a6cf5bcf181f03cf845863bc1ac516986de23b0835510c4f62f84f59b257233d76b35d0eaef022c6d27c1e883b1e263412ee208e0d784f71533140b317b200f84a2374b9ee7e230d60cb0adab9e32f3028e904470fdc54b9034408a2429d3ebef5384a275b466be12a8b398e868313fe3a08270213225b039f1d298092b85fa45dc14b3640b6612c80d729ef17874d451b840870e8ba185a89ba59393de0460196cf4fd6f423526b13d02ec88d0020d560a218e2e07932a8602157c96e1b1cb889853128b0986db7e1450869e85d24889e1e68ee948d617428b75674b91d65c6ce3a0138e18b710ad2642cb6e80a06b7c3a226b36a9e091674467720729228c20ef45dae96b43d6303ac7303aa4209b7024b1c8bf9c13684ac7860546e5817000000003c7af8351edf341bd97244298d70b8087318e53ee98231180f7c671c0efdb027dec5d33d1c1c0f1019d9b64157f6854fb965324fda76502af7f96e1c9c03e96124896c29529c3d0bb3d22f0cf7cd6a71f1c7775f5a45df32dfb3a20faca8f1379f4e752e8ecc44485fb3d33ed8e94e72038649444a2bbe02d89dd473fda1ad7175a89e20813df924d90f402995b4b44fb035335ebab54c2943e16a01a26e615880718e301121ec03d9c41565377fa55729fe226eacfebc3d9f4db0151c3e6f28ca7da421fbf824042a922002d9be444132051b676e8a014bb576f6139bd2d1240c84ff383ee5a306d235f910c650c41d5897382c2004604ea6c2a82f4a7464448235ac0833afc501fe704a1eb2b66d33bdc58908eb4e565f38a6a83ba9123d5487882b0b382bb91f4cbe305b40d28a112f3cc569ae9bb72d5c571724f6a67b317c291652b981e25224cd7e527cd39d76ac2ab718aeeda17467f37f3bd34bcc6e9cf6f01f23dc69009048e42afdc50b3b1557bf71f14f6516863f8235f8afb162d274e46b9876bf3f84bd9b12c401904a3f62cc0f9685d5484c63e01c55c9751dc1dbf12113ffae4527096e40dbd65f26f83c285f80ec5c2b9b38be241416e321712a141451c05b4354fcbb683323ff0c650e37704d8f0067d668db0e81de1127eb63725b2f2859339c70360128044d16d44abe4431d98a11d02ec96d9913631c0fabae18eba7434f7c5a0b3a131803016e26c15e800597622bc50811e008211d52e2fb3ba2b273479573104a822217269a7ecb0188e366317fd3c2654ec8dd12e7f20934d023894772a7cb516506291efc9f9215f36c6530864f3a10dc8f6271d539cb11d45d3e51f335b80ca036ba36d69ba41c693f3041b85f8c278efbe43ff8b79901fb64c513351863220f94c36567e06a17627d9826e04ae162e1116175dd3972433cbcaa2ed78f990759886b3f536e5372f4932e1f8cb7081008238b196e11c91d8678f621b24131591123e11a14b670006d47404d1aec393d59a84f14a02cfd1b00e6871d535589238d4d5528b951f63989bfb450a661d91d4b2f5863125b1a16e50d805700e5b03a5620c7604589c05547089d2ad6a450337a8ed41f827f3c6c4945680147813d65789474236d33cf1401a4855d4a2f0818e778081007e11c1ba291f74750d6bb1e67f584386e33e1317d78903703af1d159b573875556d4d3155e7255115647d60836c761ae252644624fd6429615a1a2e276ea73e8dccd21f14e55c15a87d775e8ba65a535750073efebb871a4a84f2314d77f6529989680e001aa5606a247d3a07f5b71bcba274037e6c5c420d6b24737437ac624039500c5f5ccb0baf97f40cf44d4927a523c85b77fa1a76bc75550bf94a8d358f6c2535510b3320fff25e1734edab507c26e83d98c86257f8463d2da9c42b7181b0ae46d09262010296a84f7a5457753480c14cfbf5220cc5022e77170e7a18fe93193d3fc95931a278cc3c8560a13f643fd4394abb276eae901c17ab470b32b7785547c7e1ff387dea4839e3fa275d3a4e2e47205ed31f719b744f9751cb5ed385ff0516955042c4c36d54171dfb1e96a0d15b52f4530cae816a47fa24d4687d534733b7e3843f2c299b5a448cf419daf93f4574aad273f683c828a7b89f7750264547bafffd4d8d06cd593fd1960d1968124c4bf305272700454c96711e009daf1e5bdb2ba80659b9742c69614a5e87c7ed6ba09fc311aeef39775c64d25c49b8da701878d04b27a6243428edc604c254c4551c724118a7ca123aef2edf4786e27c22200b2913f5df4b28f0670038d162e273ece8ca45e194fc3aee2ed35da2ff126911226b1aa083633a2510fa288be6d572e9d7876f71ef242a26b18831d2caff40a6c05e4fe02b6a11e92abf06798a57732652e0186540ea2e44b9276c14dc0b030cca5e0284eb96658be8b653a1b18952f17d4628b7aff529bd869a236fdda26af48b812500df5a4b6cdbf849b7aeb204d9d7561c8cc09c3a3c15cf77bfa7c10f1b0167583e372c0f2f341932d9b7166bf5a09817061cc526c9250873dccd9a550a5c274cc605a65b04daf408a809995605f3d64d0358d82fd97e8e0dd23b4c4aaff1906cb6c94f574423955307675418a878a852f1a74a5145b29951daf5845e2ac3216b2292b271c14cc1108cbc69708f62112ceea0bb3ac27b2f568b39a9284554c9721da35a57d9bee62cc624c62383926600b8df8332447c7b628ba43c18d37fd24e8ba930166b46840006edac3ffe525e6961e11a493166b1436ad23e34c3bdf15ae5b1980e7fc2cc18c8fe7e43423fd62c896d0b43b57a552e54f426377947b66c80c1df5dd41fab024e78fd33a20029526809256083a5a10d9fc22335ce98693e82990b64ea189441a7dc4b1f18e538614ebefe4004a9c46d4bd1d010accf9c4053516752391c063cb184fd690c0e79125065896011f6b9163c5b6e172920655d2d94c91c6560b01009f0e4045264e562261b4862792e4c3870d62e335fea0b047fdb8d4dca0c65619116b44eff997a66a2c5a64e12cf2264fca46529148e2f2ff3db6456219c8159268364209b00b16c5bd32309e77624106cc5883662792459f096096282513d419a189f04c38aa958ade24155066c1770d9595c13e5af463233f41a2c4bd949103894ad0c14b5964f337d6c0afe98ca359702795c5686e15a70eba2327693b06ab7cab92f588e1d5474d6a346b24ff50b2ff3ef0c11ba9c022eadda29f4988c4d3504455a5fcf8138ddb5385f352339084c70e36c172d0d5d5a2b3b17258c1420e1fd393ae397b81840c0950a8f38816e015bf76f24ae016fb0d09c4bbfe57c283468e940766a6c3ae852b363039c7156ac380d2adf62ab2cd9fd5853bae8b00f7d9643159b56865f6faacb06bfc93341366f4b50c0c4103fcfb8cf1177b45c58e9afcd4cf669b0550c9498415fea3237d8b5250cab2be82a740399366340af5dbff3045e832aa63d4a8b5a352092a96310206e2d7604a018d9999a5de693d360c8e6645bfc7af54f54f98c018f68a71d20221d4730774a5fd167c66bcc7cdc70e7b3a954c60f1558e46c674796c77157850fe031410d3543501a493ef0df950e901f1a5a679f73770f310139f0a63916588aae286d893a1eeb2d960ce696762857dd3e511591fe41c73683449e698c14891904437a62a51ddb3c5e612e0f72627693d2608fa4bc587948260800145108cdf9412da7ba6a6b973a07068754ad624299135f1b3c0b491960e856aacad75cb95108608b6ee92e8b59ba1a98b7306f01b5a45bf17e841a1a915d50edda79404a930c4c2137be62a518b92b1cae675a49632c742133c243f2b5de2470664433505c43259b8e2e337cd5bf1d8e368452bc7f384ae03ec50f270817601141f74f50ca736b4fecf76c5a6560338790325b7113c941167a0e0ef1f0092569a4d13756ec23439f05f75c212d6671ab577c5a0700d870ef0c3f4386710242f42c7f6916f59f5569162f697327115434950864ca39c9267d8f5c69b5710f6eed4370160f75f45654267e168230c607725b0b4715c389114f707973987e0a109c2e0048b35b7d3f93f9926275d7b358b26c3665b202604bea05591f697cf1353cd0d25834a5f33b255b783b09e8dc2cdd4f206e6cf9ef4ddf2acd1c80409a3ef4296c374555082a46fef0773f195a4b6cd702337b7f794c59ef4653bd7045423a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6b5f640b77aa712425d9eb6727ce3c433f5d021d5e77f9683dd366811a1be9d844f115f109f40c171f710711259d50ee6f9107f84105b0896864fe10516f49e01aa58e0541cb487d4eca7b2832fafb0d6e10ac8205c915032c1b64fb3aaf123a51700d8839cbdc4468f89b61534d9b861e377bc13ec94ae52de6251f0c956d610035223121588fb12806abee10c3701553d4fb045f55ec7a5c91045941153c682d33b81335a408bc14ef01040ecd7b5b32988eb4628c005772fc5e7e117cf54d110d540f1bc118271c9a9e4c306f856b1671a7dd2aea626d0e6d4af6616fdc644d5105da6dadadef325016bc323be7d43582604a7731e48d07cc4fe276a648be00e1e1f516002acf4f66393245b792a15a71b3dd20b54c50109767551d25c5ad6239da8f561156cc62ea7c086d3780a22c81b58d2e3d7a6d4e67f8493fbbc35935adb03b09f6699f4d27092c2c8459790804705616ceed420501aaf1373f32e453583d87715da15274e5f7df61e4e4712cf79dec17ac4d2968147d3c29d01fc248fe5c1c2740c3cc6e96a825576f1eec5db602da173690ce25311fbd4ba20d220153aad620e6e580262ad4c5053505c4618484fc0dfcb57147ea859472eb95a72fb1a97c5b9834ca513a88c76716b0b52253804242b7fdb548d945f53e32465f48fc0b876456bb9318f2281f0f27db6c262cf6fe6e38379e21a5551c67896cbd593a644b74e8ca350e6b8046124f9fa570c9a9c13d2e0b6f1c08f8f11917a115056d3aba1ba80b855c51e34e0b3a91cd41d4975520e8a3ce73c9e25e580cf58f0b7447723e3578e35b5b85743a0782436623f24841d08b85600ae583758780c76df463331410fc3330cb8f0508a824ac472a9956504e85de6bde47aa0e4d3226275930607151ae4b009e642d6a3e9b1542ae56a5699c8cbc0bc5a48a1bb4aae84c178b8e24e0a1b7294037591ee3a9ce4e0070186dd67103474051091cd3f17d3ab15ce92c8c78fb3445168b544be19c2d2a400a5635753f656f54f26ce108661e53fdd2259f735131e5a03e2b21bfef74cc64b4723812105c88a81e52c53c860e6d415a5f75708b3594a59227ca07544fadeb291fd71d4f3bb969760a5c3b861a50a9cf1f2e56ea5c2a08f20aa29ce32a065088011b9b08219e58b901feef40368fc4185954f70910908f8e0130ee6621d01c81583d51f60bb508c66fc00fd61b806ac53958973c5cdbdcf15ca062675e4560e053941f1d64b4acbc3ee34d34116e345166745f9f4f7023881a7d46f428bc7ef164f6352b6825dcbb174f1ce44f97fcbc770f10460050756c18d4ae37643c24ac6f2cf50b41ba6ea32e0729e4517d86ab54b5a1f0594445873e620508346c8e700c0077e8534be12a27e296df1d7783d31d60da3d1229eaec58dbeb0c322a3ec3231f448828da844256ee4ec76e90c62275bea6fa0e4b91880bbb57e91bf1135e6f56a473557cc35b75abb9eb14fdde6d147a2d88336e6ebb2352ed0e1a296653058b9ed624b66c021a982be4728cf14e0ca3d03e39d5412129de181b40a0e9ca1c9284063f34dfb506306dc342a1e69b432bc00b1d29e13d3bf207ae2abec4215bb081aa1870c23c26d288803c8ccfc820115ca03b39ce94250e183f4486a2ce23efa6c476e329a81bb2691462baa0fd09d111114a5481b53114f64f4a1c7f8421d0645d766041fd6f7202396ea91a4814abd6a25be883aa6d22fb69734bd73076e3bb7e65b23af662e1bfc773cbdcee6b1b97d860b462b217ddeede4ebba3b277fd391e5da76e893896fcc90e89cec0073ecbac6ac245860a8548ed3d182cd132b7bbb23e2acf7276928863594e311f3995a1387790871b382141c72547afea624bcaa32ba7dc2900c1d76562f1e9d868f50e10440203733245c9c64502b4ab00db37e00f92a4356296dea91c5aeddf76ae91af0c2e743b3400000000dab2db128dd97e6a09ad3b59b1f0a23dbde1652a607f5837e3f872280e617c6a66dfe825b07c040c5e4bc559479e8f00d0271715b9bdd621d4e53c22f57ede1e6d765970408e9d04fe39c303aca1f13b8a7f622198ad0a0a808fff077d7e6715bfbe9e6dc7fc1f321b5b862df3b6b44fbc31c6540ac1736313b75a70ef873174c3b0513db85e6a3cf5c54b08f546bc6e732aad08d1e93522154d8313c130a5444420b51b1c9ca12b5c7efb376943d14897e87b44fd293c4118003c53d3d75473bf47e948e76709742fb6d74e6929892b3bcbd772dfc87a30a6fb0932244a4759b439540b5f4b6759e5fd8e5ecc87282abb30071641e02b41c36e4e199b49f6523be62e3abc4dac24e401a367dfc3240308d12833a3c1a304f95d6d1dc2fffe502a83e6134e8cba03e5c5ad591c695f3d549bec6fc3e2784896743a722117fc3e09c81a5ec62e443bbaf20217e4a3351144744c14024661573b9ae32a8def146f49fe0e6cd749e76f9da0ca3de398842a4677db4985bfcd328690123400068e3c1cfb7b6e4cc5375f620a254384836b50d07fec349cdc3850e984bc5c6b89f9217db32d1bf468b92117120d67efaacb13d002063972ad9f609a7d6c64cfddc42cae19ea3bc0570f52616eb62a4c932257225150004c3c9f12caffa2322d42ec628abc0443d2cd4a289bbaa01aa3319a02d2ae734709cdff40b6c252547326a12885164737b9ac966ba5942670a2209b3d3236625e27452927835aaf3872ae705c5eab3c2e46f51e452fc9c24fed4d8047b9e5e90749eb355f5e88673171eb8b0f314a7f51d1d9c00ecea6de7334dfba2e8817be3600f8767688da9b12e337bb1fa5a64322122bef6e935c436205d7232ae7f3b33ad689960a8f112b3969b17e72314bbc13c04fa81ed2175e305f37f676ed2b063b6073f7070e51e06a11dbda44c6a2932918feb833455f960519ab134645613762db615075c3796a5f8db49774f1857430770de66edbb26b56435ba714cee65840bbea3428fcf6de296bc9483efb6eda157aafcd485355375d5c1d8f2e3a28930050d2095acc24903fa4123e0961fdae228178756eb0f0030704c8d469c15f21562cd18a284db9a22461f3d337e6605435d71456209673365d973d0e2f482d745debda4f309acda66498d84834f9c6452bbac6816bb8cab64561955f677eb5e371badd6a0f1bb2d35347844b466401d95c39dd1b27e09ba4317c7a23749afc2c001ccb304c60a59a1047d2025bee38460feee2ed14a542490feeba4d1bd3707f1a0835b8208a39d829566d3f259429620b56addf334dd4b4702e00f451bb9f9b555a709a43552499773f0a610a38e97108c7e9eb7701b7e82934e75106aee2633e2e9a722c919e2238d2e0a046e3989e5d0133500573db6645823ecf53a604fd1c74b8b574fae2985a7c4f2e313dc75f045ac24557678e470a7f8c6136f3ea173d8b84c74be5e0070904465a0cccf434762392f849c692ea778067241445049c426096a952577eb82353a547327164c05bda84dd593892e909edcad248d76a7f5777004d052a702a34f52d2746ab46c4199539d7492f1c21309a0fb556f40b85356550dc510e1d84150b254122fb93a50141a8ed7579d88b756206b24c3a682f36b4f91b082543b244fd304a60225cc6270ef528303bb810113ed9b242acb1e555bc822d3e2c37c32ea3ce4c30046e5558536e0212670722069999260342ce264b41e7dc256240e87359498322fe10a11d0728752a2d1afa5ca9d4b9016b0c91131ddbf0574cf0ff6d2b82e60ec3cc082e58fedc0843a309417d164b5afc29d34f892a752f3bae410b4899d43c1cdc765310b06b52344d1d14735a0f6a3f023c5ddba2dc695ae8dc6342781c3cc5e9906e7c9f316756a85514e21c1b2dc082673412dc6e76aa0f080b0c656542394b813a8790b21b6f2f523bcf814527ab65ce1ac80ec216b7d4e750e85502391251cd442e59983b17d9d64911c80b770018545e3aa83e2b2dc2af5f0e004638348adc0feee2a12d85de9e5d81e28f3246df84731966e71a3046e83f688fba108f8b1e1ca6fedd6ade28f71a7b1a460e0cadd74a455ce732e1cbb0067fb9aa1a10839641ee07111841a67659ed7fd74c186ec17384831112acf58710867fac518e56874ca7ae145754695d00d1dccb448b8f2212def7d904c254215c52c253147030dd3d2f4269073e21021182703934af38fd329597475baab7a41d8c3405106e48f86f7ec1ea18b7d88f1768986f16851d6749674d6e3783e050223b45d220e89de85f2d2ed03cd5aa6519fb619360bb5cc5469871b456f2329a103cb44e1b814e505ad15f6f38768132253e7db16dfaa7730006287f48f2fa7d2fdf2f716fc21f84024b59da4402ae7a02dd42aa1f1f6183614aa1e0373b68f15f8afa9d6e2f8a596328142153aacb2c463abe143ce35a275d6cecb751f760f62ab582e66708103919195e07342895a1019db7972168a2915322d35838b1097c0f5c08c43cd8169747cca69f5a6923f72fc0ae1c26fab5865cb7a07b5073284727d740ca61ab069733676fac33efaa1554196eaa0100dca37546650e6054848904d9ca3d427562ba4b2e5b3f5150158b2b4983822785f858062fd52e3ec5912e0cd1818a3e63ff5b3dc4a6662bef5ef918fc0f883c638ec22e47d239551245300d7e5df60963ca81376b75316eae893714c2a7395a1df169172587a34dfcc7475cb0eebe1d236bea24c759b7342c017842e8532e10b04b4c58bdab93741c4b5607f715bb2f6fc6de6ed6fd4c3bdfa9ba0e441e35495a36f33bd0b94f0fbcdcb072ee280612b694271a8b3e4a59cf28923b1f8fac3646bf152bae44c93ad4b77a0e4e0d1116ce91eb0fe934d229a92bf2383b37a6742a66014e8015865f101b280f6f522353458959618799172d95601e505da07a32a493d2369cf1a31a2dd2bf470164e90e2d055e56fe45336743dfc54350673c0c89fbb75b1d7f652007e7a639dcf5e50ad1fae6640922a040f947f06d096d6768791d9418eb41482d18899e640bf9d84f2f544d416113db08ffc01d0b537ff5138c17fb278b037739627c4564127ff2023eccbf768abf755ed1d96650a50cb3270dca066b51bf68486d511a6f6b41ec121115e9696077af25657bd80e046e8f3b191d2f4223e8855ab21227189633f32342587d77b40d214a54c18072219b4647f916392415ab382429a42c49c0635742bafaa8090933092ecc83696723927d1406de88276e33f41601f3a7159964b504f1cc25144acc49706e55e80058375063a285e1587584c050ac574c154560615dcee28c74a62acc636903546167b1470bc605b840e5c4793dba69396db99b471b7bf5431ce914dc3bdbd3aa6515ce3435c941ff00c024071ff7fca02391cd65454cfd871aa6eb203c853b0e08e2059c0504ce884a2005562452cb696dbebf890dddac054281059f3618189b0884f25a4f24db925cbd0ae2013a402a70ba7c6b655b60d57662635836a9c2f57211b51c307358394b1062e86af4fece6bb17d84639a704a0c7237174a0ea23c2bf7e5b0303f01760cae189664d75fc32877545f20caf4411c385e7b11126dbf1bdf64323594ba976f4d4bba6ba84305469148b75890fcc24dd62720266b2ef35ed6358a137ed0682ac1828a76328a0d64cae93933938f5370752f6035651bb7243fdbfd2ae678fe39a1f85266b9a9af40c940c24172fa1a51dc8404447d911962bed0e96250d7725a62973742205c61529764fd46c3f82733c57266034eb25e23a27c51539bd7186969819341e4d6d5071057c11171ea45198df0ef5d49ad5434aa4bf663432751561711fc12eaffe66fabac8e5e2a6c830a5897234b01ef7546176a191c634b86265bf7e708b9b8765044c4d34370a54e16d0b60759a7056c47271d28551da5901711f53419aaa329126d74e27629dc6f13d1f6310badb2de2c1b2fb076b78036123b62a5361e11876ebae3086661b0371ce6626d15d6e6345f8e66542bf9fec1773be71d100924af349da6fc51a098442e21b452113da08417aaecce6812558273711d2a45bb99927309be30711762372f8335751a584e6b63c776f91c4e044623fb65de01d92f06496a67425ecff6ec13f080500769a99a2dbcead0563dc76c38beaf7342056c3d5c37b8140f4955a142a806ab1fc2196444d13d0d18c3190663e5997a3845bf43375bdb1a1ab752c356e371ab2cc9b88f662c9b2919353a73551c03cf64ffdfe3271faa582d96b436258073cd49c0e0944b6d57977739cc971e225dac3b6252cc45c758e161f4dde94d79ed6c204048fb20541f85190b91ee6de18d8a0b91a2b7726d4a8b0736102d17d1b9a318e00379213ae53c5ce8222a1f2fd6ac2f5e6be74817b183120c5709709bff5d5e8f2ff56987328c517835a8317d51e762e6d6a22b5230666f87417809497c0575da01c43253ca7810097e2d043f6b9e65efdd5b666ab86b32c13b3c6f9af3784a788774149d9962043c258049f6bd4802679fe14e44742b5bb9e4a562270619653fd7fe26bf143a65fbae0002ebd1174b3eb9a548bc11812bbe8d4a3e168e603b32b84c4609b391543666d239fddc523dfa46b71d170a153c4dd4b82355725313a41b7410537f0c595e94d806260b4c496f83fd2b571d0d00a0ed71752910282e88ea2b19bfc77e2d9af12c511d2c465f470ad221d5270b408cb5e600137b9c400bce2448c5414a366dbc9d0606a4d719132eb1240209d961da36b47599c63c1b334b093bfce35e61ab63e364a0b34005b613a2719400491d69f7ed37705cf0164bc66b4f4cbf90453f53366e468c9c283e983f0a30de9c74e519f314b0a7622bbaa9641121034b3e04b7261f53bb5d5ad1880f16d048fd5b37fbb131f01d3b2c591bba467eaa1968f63f9a0f63947736f6c90955d79aa40c29a4d64da44e5d4d7172fe6a2879643a5917a97633f1b51c1b6994325fb18970fc2e5d6f83f68e10f455c72fdcbb902f5914f564212dc91f5124a42668f14f7062b88653254222771d6a7f4bff9db1160f31c67557b4a8180bbe590e4e7706700662f923655407056714e24daa52145de5d47c65a9ae50349bfcc24cce85c8733e7d3c02eea2c23fb4fca875568cd72bc23f7f36ff222443bc913c0216423d532690706675b8083f44dcb95729e00452eb78f86912eb8876d1ae95447db1ff5c99ae7633c04d0c6946ff0a5eb8e56c6b450a6937a2e50b6d9f7cc417251ea655be5b615e6e0033738234c3601979cb3245192c53c3f18464cf85001231a8b11ffe575c28b45463489432c00baa5f0e12b92c8b66e1d3b552136d0e01484cc974e43fc75423c5ee3a8edc7e34e72a854a1e86b9074f38c122a15a732d8aa3673a7690491757a0287164c158302bf6822f7e31f643f6294771c1e7bc6065a47552796e620a399b985f38357005b87a9a23b164c323cd2a4451eb8a0148222f5002e0c008551737ff0b8419eb67f80893208a09224973a6142c620f210c61e4a764ad0c7370e27c3555478a77275d494c67235a3c22b810ac6996bc8a2ae8c62d54b9e549605cada80c836bfd32233646228945eb75b7d68915afdd4633ba497c34bef7461df27658421c34442bb41d392de345c758203ac6258950593e3c455c277d964b188e28e31a310657273ad9ae5ebc88ed021976973b8d04271b50ebfb22c137ea28042e3e01000000007ba9554933fb91546082dc1ca4272310edfb9f774018996005d0bb3a3c461a46b85522269b27d1454e5ed919ab57ef20d2addd73d6e27e0c6eba822d19c79f77ceded1473990c838cad9e27001d0e847cc92550779a79806bb1a2324b791f82b5f3e7a5507dff900f2eb390a56f53a6ff2993a206655c4665c4f305574b10e5fd3c3d7764e8d1e1d3ae6a320155f00677288d11d5904bd53c795626a6a454a1d96fd80673880461405688235823b09189e52336e830e7018f0323c70a8457d2c17f3b60c2c546b0f8805b32ca4c8f64848926565687fd53028a7f212a724771b369d2f375af7e6714d8068583b3940620e97ac594a9aab00199f9452a391e448f2e28965a7f2a91f8f90cd4c5439162444a74c02b48daf48d52f7d4472c87e34763cf14a71a7d35f9c7bbd5a8b49b267e1c5c13a70069c26f81ab46d6206b36a28a7e8509d1b576e810bd35b3dec3a2964e831026040554e83b2cd0329474b6d87eb9f42baca39093590b91c270e5a346020ac18ed52c7312f816b6d530f4908fed8d722316ee656017a041abf2b0f6afdb0ff55203699286e9b8022eda3e71f53389028c3ad8936579d1b02333932513766d56e65eb8a1e0ee08101118c832fcd6758158574d16a977bed359c843e36f52d396f7f8e64173e425a09efc93e328d4b1c4eb7fcf3707a61b0776c348d4935972624d4594d23d9036a66df5df02adb31d63e9e6a0d0a4b2669039e06f31e822f0b09bb542507940c060c604627359645626dc668891f90a6033ceb0c566129aa28500a49c622b29f94525f9e37427b6ee3048ea626300120d642d555735cb20cb00532fd660d7918f774b51e6418feed0a353175da2c73c3c92cf132e73d7d31214d6d48fa1dec47d1241d2a513521c9d804d057847008400d3efad7d741e4cf8d1c27d44741c784006ba34c3c19eae8fc225a0dc0210eb1d16b02182367f5b1d52790dde8311ea1e26554e47e4091b3540c36e93e0d5c8e1e6efe46b65b58d3df626676f054f55aa62a0adba42e7065a36577da1073f8772446ce34b838ec5ff40e390123387404736b3cd79a2fccc49c0e6b27e748d77c67454d261d6edfbe3145c6727c24147ddc5d23d5e80cac8bb075956ac84e8649b13bacaa5512e2f2b94a89e7a304739b0b261cb5091c9efc652749934016c6fc8969dce84f3d9022995110073f10617d7d6e1b0eb25aef847253f9533f4236a59c76c50839092f65b71ca630b35192a57b0292ccb1463100877799a66c2da72fb341fe6b596fef0c961e588c04260474606abc5ff5130099773a65bfbf10c201e65c950f0c482d56ad218c10c86f2b16fc4298836c45a8fb795f4f7c85715fb12243c2c684706a869506b69a8338c650e94c910c0f468856b25e9d6f8a4a887a79347012ab5fea8733771d1fa25f7142653732e3583929c804556679e406cd7edb2c4fd4362adfea3035b54d710b87c29a23f1cfc4391059805e7dd0d5665b507776a891e923cb5544364bd3966a4c9ce42d189e184406c4a6451a396d6de2f21139d555b51d91f37d278e79503f723d6962ff563b0862c4836521f5a1768821d149cb2690574354c054b97656005102a21b226b1375991d4e272075cd124db176635d543b764a92954cb55c4c658f57ad60c32c7664aef86a136a062000b2a784527911d807490ae46f4bd16901730fd0631b1e210cff1c3915d05782611a93140c4fe7d55b56f42032e618f41081b1af1fa0ee7c6f277fd41e9cbecb25e4283a14567cda419f21156044b9454e7fa0a4415f89357422a3787023c6b16403f47751b7272e4d0108f40aa4a6aa01c616376c87f1ff7585756c6f87185d1da0ea873e70049858c982f54d84782471e61a866a38a6c8656269013539e053564c73096785e41a14e711a8336708164aeb21ba1f940c0851d39c896d11ed5d0b48e0be1ed9f8314811007610be1f7309da373f571c29613831fb650435424f75d33f1c42ec4cd2622c8b6e0d4dff9d4520c4794f6c8d9c3928390173df5bc962db1085538e829a67158d46232535d73a3c82fb20c140ed0ca848db502cadf37205942632142047121e008a041a986403179bb3727cba5308026e3425e0446d59c9a84f6ab0f62f2eb2600202ea6d3d1f38d01e20f9025b598378f76ec2e8a16980007e2bf0ca8b0856897751e4a52e76ea512d63dfd49a38e0b78c493864d260230bea2c67c7d365d93be4565ad50732dfdc5b13e68a0d1e2020f60558732e622003770412cf964d194d2f239ae50d5acab588547126ab2e7755c927a31ebe1bc52f3108605d66152fbf9b0fc7927622296b0354bb75e4315b2cc40cda0da748becb850fef231c016e78102f8e000b5fe9583b0716fe434258c7fa1b1d9b260db11fe52d561a7a614493a5725fdec36cfd49d62e11ab1d57aec71012d0e5c268a3db1d61ce11233d3249ce6bc389815ff585ae6338e983694586103b8d8b8534db1bb645b76caf367967214d6362de6fa0782f195f5c7a16bbdc9c2960cbf76d4701ff2c1e9e43142cce971e76dc394fc230b8753a245238f71d6045749423472b9c267084423d2868912a0dbdbecd3507dead059b85a13e2e7faf5f009bf01c49ea1d16a3a4c212cb661d6e0814071af8fa1166a2860e14f077646ee8e472165374265522acd610a73d835db0227c1e836e822b5c966a4e92768048df35862faa22955257c0b47198191e0615d9620ac476952faee08604ece07b212d9ab06de93b997484fadf2c0209c8263d87c30127e85a0cd768f54e6e3e6e1468e01672aed4ab1410e05d2285d9be3c9970a90357959c71c55d8f1f3c9467629f07e961b88d2d0f62029116dc8f8150c8d86f195327126996fb424a0c85d93d2f87413673441a4ed1d0552c8b79f41fa3d5a46e99623133da7b282118cce22e5825e710dfdf7f0748f57359fbdae04db061852596362f38d43f59267f79151ff30877051b58ea16e028c600040d4b39c7728b6ffb1b912d8f337e4352497236404364187648ed58138772232ea5112ffbc0eb04993dac35d635a71e6b0c5e38303a8f4c17b9d748dbd59a7394ca2615936f86098bf9793a7979ae2ce30f384350436665d900a0427c44ed3a2deffe3bffc7f23835bf826cb8a0295ca667bc5a7a8a39329c49321a975bd32e340d3409b53c306df0459032df7ca8339502df5087b8391c312f784390a9f45fd023ef3d650fba1e97cef845e8f46e2097aa2912d837de621484b048ebb9776a00276f68fdc37822d2c1b746eafb2c0709ed352ec73b1c45d8eb750df93f0b39558cc259cba00263292eb0060fc9c025a19002755913e327d5c6135dd22ea72256af6f62018bea6c04d94b57e4ba0c33cc618d395587831e79f86c4ddd8dd2271b011c52b05d0d2eb37a0a65e3fc0e6e04788c1aabfffe048087be259fc0731f2912c06507c98441daeabf5f0742b4710fd64610413908523b5fdf29197e460a12630828b2aedb494805ea0753bed940cfe6af051756d3402fa5d47511a8ab4c32f201712dcf812ed8ea815321a3e5390474755412257650766345219299cc3fb21e4f24a8a0eb032875084fbb61666ea495090a22ca9462d684bc0ac421a70c87080000e801e82b1df73e41d82adc3506754a1338cb202af9c0f304524fff65842a532cf1f13a3776ec4c47d904672ea052a61a38b7692ffcde6116d23bbd3a06314e541040b141fbb5cb4f3a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6bd3d22445bc2e097051e60367ac96c018cb842f0c20fe4b3b9ccaea1e56d1e90efbbb265780897464c8362b1bfc67ac5562b8104130677331c6794d6573432c709317be3958e3590483b3d766d4813a5b7ce7867489a99c3c2f4ac56c17785107258e2e09c4ec5a1d62a3ca745fade6415aa47d759b267456e65e8f47d730601a5f440b384a67b649749e6b4317d2281523b28b42eaf9a313e4d93d28bf5d0106fcff1c431df4253b702bdc72e4622a4f9ffacb3e3160da5dbeb14b597a2e5a2dda429f29ec9f99250246db5fc0db6172af89462eec33d971a280ca229fdb97693b498f04521b306561b6162a46aae32d2329a95cfe3222366097423a1b406b4598044c6effa48b508ff08a2cc3eb9a12e8732c0ee1f26858e6d69041378a441b7f62c84f9a38922a04fb45683429db4e30ad06039b19cb40a605785a6e1ac55cf80d4e52ff61fe6c2bc6b06f317c5268af73646545d6eb6781865902a5161519315bae49eb260b6c8aef6d5c40b063406f09cc5a8039e805fcc0e107dc247f3c4dbc44022cc53258199ebd1c652a8602f9411115d86596519b723971cde3c7194a913a3391626a7008fba835dca45272da40d710a83bb6709ef17209a428cf17c62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0e4531526ea317a7523ec20c66fecce9183adf0270ae9bed67d824a55ff1783a02e87d710a607f4413251b2c30036ac4088597e717618eda6f07e79b1dbbb24a2575adf0733e803136c031ab0a1764ba40acfe5d39685e6f15e0b5632e8641702cbdc7d53086068244d48ed42dd1e04a03199c14121ccf645d244c5e04797b8b5976628e3b843ddf157e8f46669812ba55cf27ce461931c93d4f602832bfd6ab47534baf2d48b6385d5934b061cdbe790308860c6f03488262070ca43f56699f0c0e5ecd3a49cafa0d4e9f040b9a29ec04df00e10b231cde232699fb45ccb4b632d028201dc28425633e19b43656ff15026aeb39580c7b405fb36a5871af31ba0a43fa0e17357d8b460948a8746c6d51393cf0c8045d3d6642a85ba747bafdeb0719d6012ae764243b7f617207203d3f5b077f020682af512a66378d52f56fed0fbee94142385bc31dc5e6d373cf8aa0474da78c6022a34a1baa955d12e8aa2f34d4dae629d5da901982599250c3894053c800221e64444947a627091934ecff2514bff0592b9f5413f6ebc71bcc9ccb40db46c7137c6f3f0bbb52bf14036d5970b1803860ac12685eb4ef3d32e2fd084c6ce36d12d393623727e1f51d7d5795572ef6d76e8743b91b18c4a8475d09bc6f9c7bab2acb9a4e3d7d270c20a740914b362ea52ac7bada6b435f8635ac259d643b2c21096458ec630f77c93d2d906a5f44bfef757ca1782f9360f235dbe8621a1e7cea203ca9e657f97e9859fc3c8952dc08050be00ed20f8482326597ba8032d2cc33595baf6e5124c8b771ec063b178f94f33afcfa0b251434d26ca1e1703073981a2a8e016a3740f7914af5ffc83b3a0eb15d40f6946d2316526da5f0fa37cab0b714760ecf6eec2e3808ee40244f12eda648faa15b22c7ec8250a39639549805e772217aef145608f255f674f57400524c41f33cdc62a9099416de39f914c0a1c241285e3740e1c71c0e9fd58546153cd950b610500a6c4609617abf2c44e9ecbe48abe49035aa0d73753a63d561ec15af27d203623c9cbae43ae576a612e137c32295500114f583304530971a261df91a1e2dbece46d2249527c6b93c5431a78b41bae9052388bc18574e433560ebfe033882f7e26df5c089409f0dbd2258de7810bcb4d5537dcc4d01760f98621a35dd70c9020129fa545f45a0f3751fad51383f4ae1f10ca643f875eeff4a2f997c54174c3a826b992da04510d310152f844840c2e027398075f51dd9f55752a636e7778c62aa6e5139222f00000000b904115f1ec0212bee664c4aa5d7fe2e9fd8f21a43c3f13d0628731875b0312691caed11e67e5d14c17b3270d185ee1d80ef9a64a4169a735591b269c7f78d598743d26f16e31334dc84c62f6e3a327680fecc51cbbbff398273cc706d56d62a52f95638503e4c4a260d006dafac385ba6092e188812771ed257d830fa5a62702ea4042bca04af66db75911ca99433440f8a910207cae07374cb6222ddd8ad119fcd2e4c95a6264435f2cd336f550b1195060521c7dcdd48ccb11c1bcfcf3a56fa9e27509f9007148ca0b020cfd1076d4772fd19b47c954d1607a32c5be5721fb3ca5e0585036e3a0059583c08f03a0c7cb2a663b8c1ac48ae93f05a7e39bc0cdfc2d6159a5ae22193b7fc62c097be629af68c0cd1d15043b3641c4f11a3ae059e69791c7873191527bea247d8f49a3c82fff90e91c0253f4d9fe75020dc772a8951101f4a438d1cdc8d69531c99e2692992eb24ac199f72f44f146f3b9a514c5e5baf0d6ed5fa04f02fed2c7abb456c94ae066deface91e00117c42fd2e2465fd4023058395690001c83a3aae372c48d65a650b4f5cf72820a346007477970b0422bb257fa78730d76f67017df0a648e15024549f711561f0fdc7635ae945631352c327cc72852afa3aef533b36b42260c4f7459bf653505cdbc27633097648cf81a3206449b86f2ba42b26d0abff566e95ba280000790b05daaa4f07c75c1f4607b6154c769b3fd28d194a13aa536581a1df0f2c1a545f5e2172409270582b9fe828559546771723ed051b106cac0299b8fe42ecd01e48c39f4872413a0b2559d2016f0ef1e3681bd7a370c972566036b85835861d336117fdb044bafede3cad12875ffce33c4513e2e632b81ac86ab0c2920a5039a46bd7470952626fa36944954f6c3a178e553f63ff24781ec40bf63ec02d9e592207c8ab923b4e984a0ac6a47a204e6b2f091c83c86c02f7a9197cd00e1996dd81078de6863ab64b062a3878d45f043cdd747bdaf9063814ad3af2352412f99d684c61b49e6a664da431af896d5f77acfe4294297c6ede36404a27292b3dd9dbd533dc036601cb4cff4b259fa92e51afaa6935a37b244370ec53757d966879460e378ea797667b814f3ab7d32a3d9cd23e4b76628b384aa5c80d93f1b555277cf24034505d2f75774e480ab6b870c80db64ad9159d6c537b665e50b2e446f1065d74f68c7b6eb4ce9a2c174d9018296e563ab2e2766059ce861dd3351e16412bb857790d4801d2718c4bb64053522f4c866b17105852054e9c37d29615383a1c5d5e07072e242033904b18db5e662240890b8c72e41fd71dd4368ddab247f6c76211c44ba05d72680019ec94be47d6df1a112cfc032135471f244b9dae397265f067b97195587e31e25c4e428004324f1c314cefb7738cb2f3309e017f67df64d73d4e097c6c759b2d686e800e0502dbac10cbfcd7416005d773ebaf3a1e92e76715efbf0442612ab46ac382cf77a981276db219654a9043fb23b1b3e26bf4ae1c4d65e65829bb418b18a84865586cfb164e3c5f1d5b2c8f835170d4e33e3633fc5299041d1c08932f00da5a696c99d4651e896ae75143b86d2ef7258f65e8a3a248639787074ba1be106d700b4cae0e9f60dccb9819752b7c2b277af4342cbcca2bfbda0d3d01586716b4cdbd4542f820531e4c9001b4439b2519b28506136e3f55b4c682499a83ee189c20273751041168b32649166b8316766efc1820cc85980d0405ae5dec5b174675128f12913ead10fedabe524dfd4b4bf18d1b40a5ec593bc640677550104d6598b92568f6134e50b53a6f513c03d23bb737906344b18a10d7818f17945e3b30fdb0ca544c09416d5ead5d1f3434242e87c3aa32e360b4598dff0655af5ceb22e8ec1e37596eec3528f1574b2dcd011857b41a29f7390538c8495e5b142bc00e3f1f92458c73cd0356edc63a6a3f0935ba29b56b1ecfc42d32f46d5f12ea0928d90b082a4c99d44fbcdb326d4d882a6c89b2c602c5a5cd09f6ed1572761ada46efcebe34d933a3579059475d9223c71fe63ff645e97a69544f164013bd59fd2add89943a95b5d854001f2b104dd15717da357673bec2af12b439dc53df269f335be43343f7b8706da527eb5f3186ee1695281d06af0e8e06a4b1160789a35d4c2c7a0566bf4e7928a554bd08c652b51bb6c41c3796e6f040554b01754aa3fb1b693f434db1a8ec0abeac31363dfc376b27c2172ed37ea33bb3e83353b2d06b00b7791c5a64739269d59b2f5c918df00708b2b552f9350f23e8ef520b0fe49403c2e82e2b6b1f3816378fa0648949220ab4bee5045e79985251ade873f1ee2b18c8d60716f6484d4fd5a09b5ecc9cda4c3110e469d9ffdc139b0216566811193116b06a1bc3b8311804ec3c5ca6c0d9061577c011248da1424b47f06c3199d21ac382c50185567642e7c6fd469a81b8348d54415f84020263560ae85cf7f047015fa2776c87bf6036a40acc63f3568150732af44fe2a81e30e1e48d348b54512bb02f2e287314c005a3af954e8915a457ed42856b5e501244fdbb600b549e5334e6033e6bccd750630e0faa63b7d5412e33e2f931b2107f16e5d3991c738c2c1879faf837cf5cc565c911d156dce1c867031d23212cb81e03249e4854e335c42656e0ba5a5057f266c4946f167e8e3a2f72782824dffc092e6b33ff3957c5a81689780f5de920e7220bc7b66c00447031c1057f3bb3558c1876971d6806abff16163e4774e79e236bd03942460b0f6543eda3536e15d98c54177e4b6caed8c30cce406603a5b1b92eb759804fd4a1e518d56e1f4cf7ec440d17bb10737379026cf0101b704961790a5dcc2318c9c2f56b076fa623fb114665c3e9685aa6cf23551a79762ca905272ae1aab81e2512b74dedbd5724aa20a62f942ce12f0405ee3e593c3267bf4c7d69bc3f6547443f0c1d35d4e20ed6a24312cf692d20d03ae705f09f0c5993c8a036f3b891049abaf926cc467767668bd151506d840cd38fdd0093f5c43eb31b53543af1c051d0f6466b9a21ae37cbe6b069c4868f322ed1aa3c461ec027dee74b58a3c0050a9997e906b59a13362c6767527dcd4a7477cf190b6967925fc87c6911393ad815bd950554c918ec19907a7b6fe71e9f06dac9550047723b1d85e7a34c411cf659d7abe35fa9696a116d442d31267b3b2a578d24194c8bda0cae0e8a10b3bb355455ba2041d987476877cb9e62c834521f6336942749a31733c59fd0474fdce86a497d1e64ffeef65e159d0d6655dd30628da2aa5756bf9e25e28c1841dc2b1e0e24959c17d396c041186d5d3796b6fd19b6d90f2c3560252d4156b41ee9ca734719eb681ab24442715909842d88329f1366d5320eb9975b3dc2b9d92bed819a29f421ec67c6c62b714a8c9f5ce0fb266d3ea06a191ee0986ec5c3050c9bff441d63e4834cf6a389056857ad3a2962e1084c21b85c95d806054516ee3745b12f742c8c51415f9e2f39741ca12ab270503d965a571565284e312deacc4a4b9d314c3c4ac508c1f24313c4b4d262878ffb38b73f800a38193f5b89248955312820173ae5e81688a593398d862b0ab1a5966edceecc4a8b4962131a94360a5332bc73f9247d2f2c4859615b438a55a31f9f308b3dab04895e7333c93b350560eaca01590a7c298ca4af386e078958ddc2da365d03580126702c1c8e5c811e86777e5c15b13864a140bc68f2d8d45042f9695f6471085c96704d3bd4efbd3e61d699234dcf2e56df715e240d5413648357856361f87c3a97b9c83d518fad2e9d240d3e6246e32b1aa7f833bddcd632d9fc1607459f7a013f0eea2418b07d268bf92c014a21c36a7ecc0f11e0cd7926acc50c2dfd284d31fb2f415eb42ef0351c040d3dc9e4036b0a2a2c6e2cd35f119c436d42da233a3b100e4e3c15496855923b141714c947207ba03b5c4e537924903e0f0f8ddf92291a786b1296423b3383e48d68c5e8ab046de97572d7557566d3de7d5f39be916f73260f6a95d3b7543fca5f491508a940f136150b1e83a93d3b92664dc1944400878d264d59f08f73ce5eb20f31cc7223fb701d5be32a67396a16730c242672231d966e5d8e17bf59b6e88e3719d6523d0338a6261958e150485a8235837f813c03331e5e3abb9d268cdd3555c19ff95ae7bfcb1835ebd768ce20ae257dffdd2479eb25299397d442abc7125d03b75806b134293161274026ec018e4e544d0b4cb84d3134c2147e48e0d3911ffc1c2e438eae444389689239c0f1423977f3db71c3e2d725d400d6204d522b0af2c08069aa90a23743300939a3f360452689486f3efc172050bcb66a14c16551b4211f020860d42b25bb5a54828c3069ff99d95b27feaf3cc2a0c454edc21b1d4d3cc72d927d0869f9ba330f49c9d936f63ef35806013517b94178531706a21ce067a44380763b0e47632b27d0b98b13747c282c111a3f46519d3b5ae8398873a96b86688844f2016f34661a04ccdd0bcde72264dd251256d2016b27b7cca22141574c62b1c5b81452d4263dad70fe11b95c2b72cf6d6e2c6764620ca52acc48cba3a3151b442a55b136460b12526e05f5772a3fb887b61aa0d688684155da08dba9354dbdd98f3dfe6578633706a50e8713ab13a2c2816acafc2756b564e653824c241b9b9c576e4b367f179909dd101e2a7029148c7a419835c0060745963516ae950214b64317eccd5105a565226fa36c1a4f2b3ab46ef4fdc11a3643502593419c6111b42c5c7de89b47d771d260b8239e6d4015580c86853463dcc2f9162bd59b30ba6f70185aae8635482be775419a0a4f5952322e4e44c2497f4dd16db625fb647afdf5077edac7091252c4688256aa68f743172e46549f503e469d689f18d1072459a959322e263f6c3fae0cb9469320d2811f03da39ed075ddf7f6bf4b9f13f4bc8ad2dc1c0373c7e45be64197010645e3b8f6deb99df46c32ff9277e43d2037da3fa31b8a7bc66502efe08a03fb94bc7479b34d3c72f454210062913e3924ee10e1f0d3517d74620ab064d931c9b1807a7f10bfe6aab089415b12e506b113c8c7b582e31c87e533310812bbd601d18ee13eb0ede018a60577ef25464f6cc7654638767ce6b86685dbf53457113141a6748425a62441123ccaafe5f16c64a2aca2056157357b703a76a771db4a53a057bab931f25716e362550b04e61eba46a99d68531e3d67f67fa358c0d5b71c510b075c6229cfb7e4ebde718473f29a12733c61344efae4f2f2bc7e154c9b6164b18b321411b8b250e49026f4991da7905587c6f0a2dfde5196092bc7190859d2132573146f182fb1a7c7fa13f81f99035101644323dd3c30e4a3902528901e24d3b8ce91774b67225d914ce6b07bc495a9be1223088cac744e30b3a3ecf85d8731d44e95d6a03bf7264f428096f1dba45aec1232bea9fc307821eba4cac3ee725439a233582691c11efe3c314df20b551fe4aa51b32f5491f2885983f9e28676e27791b3d1fc30942e46fa815d8c51f63c03cb5712f85fa3f46af1e3c0fc36c15043f3919260ac44db530264059ed7a262a03ee12614274620038e4056c09af399b3eac70b879dd698e908a15e3b96a6e552e24398fc0c74a75731213a01fcc00606a6f4268106c45d863291407d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea2753612c83e7a0b271e6e989551efc9e853193d506acf2f5a5d54f6b62a000000001fc3fb4e1ed4a93fcd748332c18ee872f8ca031faaacb67148d6521ccf5288588bd17f2af236826e392a193dd6c4b96b96104b5ca218a63db8cc5e485bed0818a6efb510676ee254d6e7670d35c38218bcf26d15e63b526ab13c5a06a8178c65aabbd552cdef724799dbc0160cabaa3b3751d80c46c2b6456d775941e05818551e68e66412f99f3ee696e14b33daf4270a377a2e0b941625455aaf343e95d8011a1abc11fa534932a10b9b26fc8d616cdc1d8e5bb383db53134ca65dedfa9f0e3595106d5fa3e75a28c71a35dbfda314854fdb40087343751439aa60ef16b24edee63420d9b8415a7cf78320a3a8023a6010b425739a5365a73b5c34c5e1a62ae1b0445cdc615543fe36b06d36041e233528c11963ec4c61b071c6257dd9df36b5ca1d184b237169d0a968609829c9215fc9fb5df24dc56d0ec5807312a6be35e44c0d411d17492da257484dd0a9ae69972f376fab03d369c14c14203e48f24856051f373f0b335bc639f8438ef3422d3bf97501df97266618b48e297a5f883d2e78852e198bfa695165ca03e9421e20976c8242a02e11706924d55fc72ace4ef372b9613346b50f1be72536c1dbbe37ceba51265aac955ea2d94e16bbcffb0440f7ce174f96b070081f9230dc4f6818cf23ac0dd3e8e6074b7d655d78356a5fe44b4473d60a966a6a6b080b515e9f534682b1255eea045764724a6c520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00ba2ad8845d910a267197af81535ef81345b48e832be9441593418de4f82faf154fdfcef042912d455ed6ec655baf16d1537a6d0177aba1b23a314c357e04d5b2bb1a3eb6e0aa87952633ace615fdead66d60675461b47531f6ed77a61f5a5b9408afde4149381cb29dedb590eff50ce487d5ecd4050155f222be3bd552400e34dc7f4e74b2e22d503085fd1473d60b83a6a14176f7c6c8c557e303f331c2f3e0b5132943b23d11a062fc11610b3b71102b34f9227fd898847b8a430676bd4e00d565af44be32d68620efe1271f47af402ff4c6a035780eb6131b7a2692916e40b690e702f19535e2b838e0245cf96286ad9329545ef02202f66d16b1d2d520b74a792ed66f263c566cd3e361dddd1db6c2c42fd5091530c5737ace036743e01016623ab22ca4dc24b74d1380c5c0dac33d06e4a071bf673111b501905054cc83010a4542dee92f2574e32211e4f6386616591d02ff5d6204796ba605d496f756caf0d4115758f6559779351661c962d582009a72e3102c944339f560c4083511c4af63f0eb464c719e33f2e171d1aa41cda133923ed5ef92a07a0c9474c72b6190dc7216e5a5f7223c9fb4a06b3c845734e2d1832b763ea1f83674c23901271358c4ca74d7f0d7955003d49388d5bf53182ba2a5eb103331be4ee2f6b3ef024399881232bd6e417306bfc73417bd9922c91964f3327347250223c95525924bd5d19f21b5d7902293b903b4956aa7f1861196e940fa2d27021e4d7794c967f6d325a843726cb41b618c7b6b11779ac49104c67cf3eb8e36d07e9ee31158e2228632bedc66817aaed5d8298b6082cf22424a67cdd52f03a7c37b430bc6bd53ce9284306fc64c02ef55aa20ae733b5d08127112b25771487f920b3098022739bdc3eb0f28f73060ec81939dc8f33a32739395fcfd22605d485727302ff0f67b987161901a95834e444118fafd9160509c4466fbb821001aacd425a7edc1c0cc19965e20f110b47a1fc5a44adc3603a92ba062f14a12fe2f3b93e985dd41a75ea3b2305fb4f04ab89f213063d9f5a20b0ff0ecf9955395de89011490bab0a489fa83ac5a18c49ff2a08240cc9f51c06474921ab7b98753777a56a7196342e92f77f475b10a3331ec6be1cd49ebe202d798a6a3a09be67f3ca1964f7949c1ce496de1613ad6f036ccd4a4e62ff3908f644906e3a74e162e84bc7575525bb49f88423657f91ba04f64afd3ae68f4e58d100b63a682328680a289e06aec09669f651b15651d5ad49b34c4176fe66b20d979f5c47a167c354e421e3345400190b589a771b903eb50cb4c852516cad7d5898d8e0028237fa69873f061136a1123116949e133cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b24304d2627790660839d7872cb87dc053d028903fc47fc357c41733aac5f835f4b089b40b4c2135ae166bd6b8893d36de000f3334af4361f329f641d75a5ee166375f568ec671b7653b2a50b5be2ae72f9193540cf450a745152b269a7e82a03ee591932d383f22a5996b0111904cd62154f550dfdca68756d03461b1f189e60046e9328879ecd1d593f33210bc015083bb653249abca42d8d12d74c8ac6c05ab53b0172b57dc903a6bf983a2a7eb91223d8eb4e18be7d179f1b112de36d2e6a31a5d20e184007583a8e9e17683f04116ca4a12bbfed9f312931203f3c334d513923735bb88e8e2fa9ace15194275e30438684510fe6044b2e58873390a36e634fc9ff5c7ca3cd5e5aec506ce39ad339a1b82e226826ee61463bb05101bbbb5afb2f0b53b69b852831c9ae12821edf0dc42d7b606757c17653c68b103da37f5a17ded759ec31e81868c1bd523224330cb20da31fc5338e45939b4955d25b81032c2b510cb270c75dcdd91e15157d3f5b919aca5dc2ec562734fd171d74294f07f265d53bd25bbb52fd2ac6329485d13efca502392ba4372858b0fe2e25ea786313df6f5a7cff1821f085532aa3d1742b467c272043a0943c1b73f3108682de7085c6905cc0641c74ed05fb51bc40ba685ea5de2aeb5a542209a61c06dbdb987630c040537d75b718561ffd2f52a77e24187b146ab2c5b92245e5ef4acf93362b4b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5584d709739bb8a34753f02718b78c15773473702a6ce91204f980fc2862bcda07a3869219130fb13eceee7d4f21401e0693c98b3d5d84e3264bafb9340237c663483789696d4efe1bbf9a0d324f73863af7879c0196f1d64956c7ba536e60f325a071c42a2f2bcd2874fed240ae8c842c31956e16d742eb06bfe5a0700e17d460c8e4580eafea356459a65541f5fd390ce3ae5115bae6a54ebde72f39c83b9c0221f3b2135a28de747725c74f7b6ddf31b717a227f87362045033a556148d7005bfa7b6120d7b5241f38a2d3b90329d4f0bce7e23ae5a9f5a8f1b59489b9f1f20272d8f02d3fe705e31a07b62ce5987355a510a6b9ff7a3537cf3ef55591d8d537a113a70f019e57773a26471935f4d62ee53bc4b629f466941a5282d18073a466b03123937a17f68c29280130d773f3575ebce3bd1b96b0018fef54b04634d62072e16011e74315f2af1eb03faa0b80db9bcc90315fa326685c2432b316256356bc7ba322915115b4c96df573491153049d9e83680af6373141f2f075e0983022452bd542558c74106a25406fb41f554f43d844599a6137215587a382efa852e70cbf94f12128f62b2275227bc4b253906fdab32f529ef6c55dc68693f43cc538c6362061365303d1ba8a53a939d23661730a32e831b4d24ecaa42693ff11f25a7b2ff0bba0c672a3eccce0ed8af581baadce954f4abe11060fbc21fb10a1d3c4b6fe824eaf0e4752eb12369362e434b9922cc41a2a1192d80cada32a7108c45fc48cf13d6ed5d304a8f95151ca8d70f9680b0048c731c33c7dbfe6d71f2494cf901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a919d379925c4e76d4374fb1ac18a79ca62ea2fcb13e33585f2b89864e21055a192f7f96e661d7904d74769cad1bedd4f606abfd4970328d735609cc8c3cff3c01695d472b10a6f93f70f06f6f3173f77d6c9b9848652db45627120f4535f97e666e3f5da7430925e422096601687bbb727346ec13061520b12a78c069617a02c332ffec46634c05ae07e268b30867a9383d8e4b610d83d6f614fe1ae0321f86060ad7be5930ad92cb5bf2379833302c05698a25314d4949a32c5fd7553b847e952d771e41187310f322aec3491e754eba43bb58234d84be3e0f36ff9c53d25af7075fddc4713c489b73ef5d925feb855564d5f08814969d5a63343fc11df2213a146a57ce05756e85689ba90e5f2c97c444d7d527707ad92a2ddf91916d0fbf4f2f5f96305ae0740e5f454e851dcaf0461b4b1d0a2802b78a093d5407334fda7a500b920113c5b9844e18008b545f69d92712f3122a616ec21fc2039433a1e39a07a7b19c20a9e4d2222ff6de6781c43204326824056862f92bbd813d0ec1129d4e49ecae553ed5771da1236351b238fd4e6ca41c33f7a8642dd9da906929123c6270974819aa27e24d944fbe7249efee00c4edbe69901ce10d1e37f953f075de431085714229a063175544136ef308136e6c108628b633303bc61e07085de1e94c171dc8597ff56444cf39c30f43d96c548ad2dc4f7544030b89285d37b027bd16943cc9521415946a77b32d71551edc751c964075da38e4146e17e676470c630af66bab08e5ed39713c00f156be3e2e4799d74058d39c8e22e56b4a1d92b5f64653394b5ccc3a7130b5d9f2600e156b31ba24dd3cbf19fb6927c6790e15532d67c706d83fc10e8f011453de6166dd5540afaad34abbae5c2f396c3757156db34390e5fe073aa0cb72b4812266a418d3148b1543203756fa742d8a8767e24a1a6beabf151efe5f264246fd525da72f6e7798490556389351694ee54872126bd05a2c30ed1f236c405b36b90344245529180b33230b17c06d71104cd1360638d424dbee50665ac9f12a210b220ee4ba7906b4ec1f1e7d566f6c7514a145c9d933139a5c403fe8e0215c1e06a45b38fee54106107b6c49af5d729487df1658336915b5754a62aa13b103391c7a4e4f7d2b18b552521182f3a3074b8ba96d26375d515a085a66a521570e09a8504ea47863599291f125c4483a3dd1fec109519a0c0e5510db4c3072d9434feefa76db45320aa5a4b1548c848f43ae4cc74b3ebfb927b9373b0ad35b4a206e15ae1f64c2c7654c6c522520a30c14fc75d86ea1893253acced13255f5a34f0ada0c4e3067141516704b1ca852ee3a55e7574a6b7c0331901f393ee993a10b3270f24a762fa10708b56333d4142f1dfae98c4315329720f522ce1ec13fc72430a2662de24eb15f1abe5c57df79ea53e29e9629b04ba173238d9e41d37a3961d7bfbe42b2662623efd7924cb779da5b781ed93ee6fab508909f1c20b9f38c2c54ccbd760372db76c590380010b0d813f7057668eb934c084c4deb6ae0fdc7108dcfb5473923c73f734085677e71b63310d5976e677a666205dd0949214dd83a924a144db4ca1862f354aa2c205b8a008d53c308f5682e6f8e95b1383414cd26d71b5c2f7183ca53c7bd3923e90c405d60d6f4026b7cab71627c1c63a990d037b4e0cc71fbd81e62346b976fb7f52c6c908c7172cdc87f5d7b762b4d5423121562f6c151c1dceb4be947d5181a64421ac3fded5e7d9d8f3aff5d6401f3d1302a6897574afc8abe2be2fb3b70b919af6b481c63341c0e112e052755476e19672382a83d561ac6812861aa5502b5fbb51ea8beeb3a0a7be150f9439737f059425417cc5e46c07f5903a65e731b112324599927c14c3af4ce19f53c1f5fa449ef6b4663c74d80e0bd772fa4240189602e722493863c11cb884f59d567307d60581d807c536400000000f0ad276d1e646957c45ffc40360e3e590a2e0b457e75660ba9a1221e72a4ad07e81d3940052f0849e6c2100c3b4c4b481284804af00acc595d09ea3645b5b64a2e3e214f8782213e694480310fba806d6ad53a06964a3748ffb72c2890274e194fedb45fbc8a1745b5af10426aba3555e5b00f00f7b0af5bddf5a6625baf9d1cf94f27711b6ed7623e63276ebc2d2825f91c521ae6478d462ff1cf712c36f143220f7b0a5acc2500bdb23134295b1b5a124a1c0117da5e680844521826798b24497d5910b8c5e675cd0d546cb4cf740546331020a308d31d1657653db6d1371505fd69370776aa4caff9241af0147b1ff9e2a6045b103562c665d87580f1bf668270a76b73bdd522d0cfb2097713a40a094f9b129233f1290be5fc36d3b4d86efc7d4a4112de656e3df2fa26d4d372660894216159a2b44d7f2c0a1971938502c62af2354dbab849bbd6b6495ae61e3c6e946c1d310d2c641d0f572c63e9f36a08517b634c6f8e06fd2c8877e09caf0ff3fd7556fce31c2b75dab80f73f00c77426b0c28050c2b33dd3cdf4940213f162b64c546e850cb1c76e41a2df75e7855ad3e076c9dc5db336ffc6c04e0f0f43b6c074f3ad612b26f1e8c5d4b02f8b144a5feec6b96773e2f64171b3c0037bc6c184e4808e8cb2408c5e48b4a53d0b845fbd34a135e0b91178f91a84ab46c3f6451a2e6055b08cf12942e0557f94a1510bdba0b56253bf530fb199b4d00a85b42afce4051b14f504322e9bf1bd6a4220589afbb484aca6a43da63fc5933a801654628784a5a2eaa71f9c77c33dea6024d03db2f12a997995cf2459d156d24c9338aaa0c523e3e675f4ba6db6d7a02a23da0da6739d821b20f5b37b539507ab2256b03cd6c7827a56cedd718694fbaf31855a9ab678a73c363fd157b10b6148e49f92f6965b711662a6029f61da1682e24e448c60f34f32201b3e688136c48672227867e3da282fe2cf87ad82f3c6c5d31b93d6d59f54d5f5c4cf3b13ad2ec214c1b3e1a1cea9940449f77222df317690d5d69e803558bcf24dad42c668de23a0e9aa9d96ed94b9f1f5fa151472e02715b87b6fb35bab24b376829366803d89a06613ca51b6472fb19e077ce52aa95892e7d72ef64ec9b590fbd4b2f60ae26a16612cea5007da8d94719111c04aaefbc4530ecdc68a57d3f4dab786947b1f04c39e810062f875c804ea3e3723c24de5b029419bc09f6ef6f1e120bb716b1fca12c96064c249424ee0ae5125e768dd3ad14844b3b057474504414c77e1e9c2dab387c4711267bc2b5044b7b793c437d8c42de1dd6703b580e14e8eabf0f447fc03b89d2c52ffd14c67286dd7e0ae990f42274a5f5122d6576214ab560778975ab0312519f4e5e55c452b103e633e72eb46284eab9190cab906fc368e14db526b31c3f11e928b420075f3ead2415b0bb765cb7dad254a425e8682b2305016e359577b10a7e24c737e11212851e01e814cd2d71ee2c2c7f02966d2c0b2f57c02a874f99a788123dcee256f6183d0ad6227a2a3249630420185237997b002a59926c3921f82d42697e993a2dbaf037487621042b4dcb6c599b5f186a184a146da8a75ed5e8d46cefeafe13ece60f05decaee4409cbd32ac82f907346153c42cd13d13de1280656e7a1c55a8a78c36d0f4d115089ff3603bc1dfc264ba399404c1f7f1072f8d82d46d7af487599854e3c434a5b6e53b52c0e7f150fb07231699dc4ce0988b16e005ccc2272243ad774967a7c60d0e2572fa1e2550b8edc3d5a00d45c7617c4191337da3b55c03b6134e042270cd4ad7d63a87e925fdfb1ee0bb9f1ff199944b33df1018038da57b21713c0382de5ca936661d1494c1f082371023a462948aec501d7c863743faefd5d7663f968c3293944796e5f641905c63c1f9c7b13965bba5cb5de893fd9a0ff74c134d2360266af35ae09c1753780d770eb19f74dfd57cc230255f219e8bdf22ad039be6e9f99df5a71b86624a826986a9f268a67372455226e82dd261ce8061bb5d0891ba0841d620906123ce11b79240531f30854a2406d9125964248fdfc3a26323d1313c8db4645dd407389269e2d82c8e371525a6538828cc549054f2f0d3ceab600cc6a9a6400b7284c64f9dd4bd3883a2f281f3c44bbef3010fe9fb2128835493b740fed662cb30300c8f342006c29cc2d18707676099ae16f2e1f992d709b052f56dfb0336393c3691b7b90412bc8cd10d5a22051c3458c4664d89865ba6aff739d57984c199c915c40322a3be12e4308b2c25d6d0e907f2249e32259389dfe4f20fd564ce77cd74fc9ab110c5dc5394e8d9a625fcc9c240c4eae1f6497e4d015cdfc941538ef3e602daa21501583d230cf25f86e93a18f3b92436269c26dc56ff3463f1e4a995d4ec66b7b75b88f4d70b5b0d80fe024a96dc89b4d3fb3572e566a8bb66265894d4670f47d05640641375b29a865a9fec32a25f6891b58f89242d91cdf4d0c6f48647e939455acbd30751245286b64f099093f115731cf229976f808e257cf36aa3f482b1c44c277d670c4db342aaef44c24cbd8f929566aae5cbdc9cb6ff2dff75d3694be0fadc53861b11dce5ef5bae42974dba57374c8f63e104ee97359a4bb1bc24d904bfecc7c684d7f892a9361cb6808eb2273e53e4657de3c934eca87914f90ea523277b6f20a6fe5f149709e061ef7bd5c3007517f0a58825775f5a55548c8a8f1146b73411eacd10e2aba6a50134f88b7460731b352274a390d491d50065645dc29c6bf301d8f867d5a7eb9673662aaeb385763ba3656262d2b91a6f66d2d721e5788c8616f9bcfef04ee02351237080e05af476e6038cfb6098725ff3d70317e755c2e313a02df4528c03d4349c318bc39e25d09378577d9599024b370c81a9563a002a84eeee60f3a0bf9720271afaf133780b8579bbf7a621c7afe22719b0e71932a6f1a3859ea53f6bfa73a38ec0276aa4c5b5e01cb3b2787af494484a25e2e4572db40f6a7534c22de33251d85ae57f8005b452a62532e6647a5614f2f2d4d3556bd3c91484862254dbb59f1abee77feebb2170fe65431baacbd12feae73557182361c385bfd6fdf4d26003525e822d194f75d503a3c07867b2a550055dd0772a0dd7524f1720abcb2dd5c554a840a9c882c45719c9a2bbb4f626f314384711f7a924a2cbc06326cd62420d42aa122a7fda92202fae02331ca6c0dcc355f695edf055b3b78881c076b8058a48802033516ae401f341a3508ed405ae965615609a8de2255407b32eb4c5a6a2c6cb94cce242c09939f48311b5460332825d2699b4ec0491775f36a5a83dc1ab185c44bc3cd9d66e51fbc57528a805aef3e53593ea57b750c435730861447423399191705d53f0018959e3ff1e60a31c49ad2172f7a10074de5ec1e9b45e96b7fd9352a0cae7c73d386145cebc180059c82a4689c45d7656ae0c0382cfcde0345f7fa1fc214a225345fe95d5ad8081e3876991d9940cd4860ac3f44ef4c8f437d55ab2590334446fb9ace2569ea2c191faf23650d744c5a7bc07f2bb912f3361b605d6071d6594c2a56a607835eae23d099110937e14b4cce744368d02af7149887ef4d230d2d6db0728d6f202ccf5b2788353c99a0d9631a4f5c0de2ed704bdb70852844066511177c5165e7dfa94a76f54c125380f577f94d7a53c679e753da458d4f17fa1569a7d956058e626200aa2de938fe995517005e6e607fb59d2f30fabf1d8e2d4a1e2c3b911e111b6d0725a81439057793222f2db02847b95d422b679e05c503bd40d4ae63721656a64202908243e05641473df7426c3aadb4467c4d462bcd67c41ecf0ca300066d613ebe6995644b6ca217d7c4122bdbaed742155a5c0ec1bc9e2338d4405ee79881245d8f39175f313166df2f3908a41517716c22f74531b1b23329a2e20b441a7f5fbbb8ba342ea2d16f36604b7001a2b8475c1a790951db405b639a2a35b1f8d96210a23243e5700c2bbff2c339e2978450389f491efec508644ce78b3e2cb29a1f4fc1563204656509b94f333bef36bf3533bf0e125dfede4388a28940d56f836069367e7098df75577544df5ad13e765764ee4732a7c0456eb059a266a3646a638e96a371464b5f02b495d3223055bf6f7de1256ded7028089d7e326441307d511826b4653e08455912233863b2df7b1521dc171241023256b3217d4377f09331b3e1da6927b5e04c1406d435b57d231c2468104e165fc757d3199b01fb5cfd52c6a93d52b6726a4e2dcdcd6973247744e305a2668fd9db284faa153357c9af4e55cb734bc396851553612e2c5df1982e905a163e89805403d5f6a45f24c34b725aa752629e387f1ac73c603b4415e42b4f81652e165b2e337240f7587f31f344e805b71deb93a71b3da01c20c7d6ee5347f7ad2203befa299335c3012c56745a8c97594ba02927719b11f21094043c70d1b9c662223cfc3887bae925981c72269abe941aedf55925836c8668d650f72f7ba5b614c6f31b566b46610b30bfe00d9ce6b939ccb25a4a4a58c62f0ccc6712f45b8d63a7d995713052493ef65e9f27f05ed673442d1f21bc4385503c3a756bb95d571d0f693e2793fb342a693b5b5637dff4645e93026314bb1d06aa04a70bd1b6a7065778586ff099c757e8240a3ce98ac23e5eb24e60d3f6a661f791bc42097a055b1f0ef074ae0621234ecaf319044b803c5b6cb91196faa85f624ebe613ea5521682e89328f7edba132880e15421139d1101533d5e78f5070011373f23423566368758fb3b3ca00a5870d4762fb2b9685eaaefa06da1320d40ba2c6b4cbc56341fa1e06e3007e28626ae5aa66a039217551216af1557169324c23479052fdb943c55ea5576b7d95f358be34f245655626f38d30d21d65f83546a24973ae17dc54bb5754a62aa13b103391c7a4e4f7d2b18b552521182f3a3074b8ba96d26375d511c56be618a20bd15f681c32b3f51073a620e560992b067259ddadb6b7b276b60da9f691e7690e50c5ef5d933843d9b356bd7b019491fa1155759971cfd2e0673f28f76575cbfff44f892985880c2df616113d439477682241b2cb70d9615764456b56c5ef41e5c1a412b004be8d41a71cbc8fd5cdf1cf66eca1bac1fa20e0815e4eea3345836bd2ce8f4b70f0374594b5be3411bdda070211d75c25bb5a2121c5a03ed7423509b293ca0f61c0a4c624fb124953e3dc52d362242a258ef35550480d96c2e78750643f828300f6c183c5096323304097c382f72014477dbc041253838fd2308260b11b47a764790cb703cc5e46c36ba01d9407e07d454dc6ff31ec6d8fe319feece2debd4df3d0dafae6ce5cde16ce8c2f039eaf482084fb2c33016a7461beae87c6753e8f90d3fc3593b140d306d4a6f0025f0058500524f9750fe441d286707c05f779a395e2b02ca33f7b3d24fa7d3341a8d4ddb74185f5947c5ea664bf6d4e165a5d5c13715239860e5820064a37b7e2d145e794271c82d5ea2ed7a70efca81460ca65a6bc802dd36e2fc0d5494f9033c0ad8501aad8f8e06461f0e3a8ddf7f1751279557d4fbab64730d4548b3e4e156726c8a6ccfde880dd274352e3d714a330ae4641d034c606f603b735df8fd776311439d16f7d1d85150f7dc4f090db92866e4c4363c3123423762c231a64c5000a67df6058450090e94858856df7c3b710394ac47894477100f3f455ab8b8b35fd0828b5a2b13840f8aa620188f021404a6dc640600000000c96ba70da5a8965b8abfa74bf13c003c7bce1540f2e6952236ebe06315b06420a35bfb034ca74046d2d7a64b478b023e2acd8c524face62a8d3d603cf33e70440935ec08a3f6b42de45f3a10ee45f635299f6023fd8cd1308a57955d64651548fa49cb6d3e746339aa53ec28a0d99220c55388436a68b65272bd0d6c43c16d5479193d01691cf31417ae880804ad6339b4201766dd671c67f2eef11bdf81f127cec14c704a0c725228f7933c3e62d972f33c4c35bde4a75bef3856077a39ab049e18b92ef358866810b41f091f5f29305a08101e73a51a01aff4f31d87a9234c987b72296e7d676da9792953dbbb9f0047bc5f396cc6017340544b6c1a10861470e9ce6ba0f5ba1e0b5c5b1e9f97065103c03c3a63576a67440bcf66ac054e4a55da292da4fe87050ae6bf28b5d44d4c67d95a6249745205ddab40725dde574093d7324b00d1e945bef63616591e1d385adce5663987753b39ad917284dac11a27cd135c7b4b934e48620b4ab7b20963e069294312b43771a575df208e5fac2c2d082044785a315fcbb46428fa1c4e1b2ae8910855164576d8b5d5642ef53b19ec891b6e60b1c830d099cf5aaa4c6d4f91e7395a8d243155687a2d6ac7ba771ba1fa3868c4bea377f1fd022b7e89f956ee53152f937b0e46839bf933a3048a3fad9554201057792900bf8b72da3ba4038eeb4477c8362632bf35f74ca4e0390e64326b5405b1c46411dc9752c4318231d4af8d3a3b2146167c76293e1a1d2c3f71a6152a0120d15fb58fac4cecd25c164a58ce246ec73c06e27bfc3c2355634d3aeb4c27bcad652d7f7e19575cef0c49f3575156ec3a1f6e3b173b03b5f82965b89bfd07b2aa1109830552023be44701a3bf1f7325d6396326cd59397a12f31e8905fe6a65fbf07416a4db0aa8190c1575435a46e9c2ad157b1c3f5ee87fde46910a782a3be40c4f73ca0d50bbeff202eba0ae08274a02327197d520ed4fc762297f554c9850ce6cc5cbef37267b2c242e5a5c058cda651ee8acc72444a5f40c3b062d4bdeb39f57d4835a2089d47845cffb07121532ff565ccb8741a1b0776d5ba99e04e9ae5d10f352d249d86b561419b8cd5d1ccde827774e322cf08d2826a64d6f22f29ab64ebfd8244f6bca7412b8f4e43e1c1b043704c66a2063cf9f34fed8f03299df8c371c5f3246903c1535e30d6d062891f20c0da93575baae7c3b0939c44f1a52ef4885648b2326587353a079d335529fd10cc35b6c4b01b7804f689783170c8f5e23a58a8007ee54726934c3260e00dea163ed1d16273ef4b35b24c49012d4482925da4e49324b042c75376a8a0ce086b10813c1c81869e296187d3df21cc44cd411f293452d3cc3b429d09afb75ad20eb0c49f9455b3c93b30af951cb148163d06c689cd64e211e0331e5731523e349da0c3eb7bb73c9866b09d157db0af2fe576202e70965cf58e8200afaa611b3b76743ea63891269d43c07f5fbf6468168f212043c3f1f1230820551442d49c4220915e161a247f9e61b6ee1597b09efc0f477671cdc46acd58c7108d60d2c520f3206522bd20659af6306542d6c7498266757b8b842518c365b0af1e4245872bda0502ff4451693118f598175c2360654e54687e65e720ac563186716a958c41a775fdbe7e207a380e4552671a44f80aedb5f1eb52f36523811708a1f602482d05722a53d37562faee76dc1c9e305dd16b33a0b10011b61f73a1bf6177c1426fa046bd44dff227ca7155d8b401f0b3142f44887edb61cade1697774999d744bef75061e086d38a8fad62980eefc576f2a5563b63847456b03752d5cadb10f91bfa915d88faa0d1804fc76c7ae641fb772be32d74102167c363a5d2f1db450c9e4cc2982612337f9acfc678e4fd412bf390067cbf67e4122ca22032c3b1345a1f48d597692554b63330f198019d546e8cb9d62c269c8204473026694b3ec651551e97712d5ab4e44734163657b0d606f749328dd24db16791e14524a94c918cfe9c12ca040e729e196de3af018df11a0a0973ca5ddf800f034f26d1ced7b486191385d49d1971d206f4034058555757a5c1d39f9d1af0ebff30125444a9c18f2b06a0c83819b2eadb57e2810cb66091053705838516115444221447d72d00d0f377c72f11c3169d0a6126703f3d6269d4bdb267e13ad31711d2f0c01df6155f0611c307880da629c2c4036a2a9f2052a13973d81f159503096360e584e651832b7cf4dc0ab0c6502a5c258cc86fa1a29d92639837af254d2fd5d2af724d2732a10d559be71577368ad6e322f531c4ac68407187685815bd6d80834993cd32293979e66c04c244524a92d15896a44060ce9a70a1e74e333318995262d1c41069a8f1b2469837a1a288d235e8846101a908a7f6858f98171fb5fd51878a5a234825ffb65e7e62b30c72ec3688788ea4dcb25b71ca5a7865da5cdfe18dab01321aa84276f6625774fccc5a748afd43126976f4836ca48cd2248043f4d65623b736147f3122136cd143b19a03e6fd5c94050f79d75f5f2a74909353f532ebcb65d3b67dc29f448fa366525582034ebd916fb58395afaedbb1df1e233366f32d3776320ba2f0ed3192fe64357408b8fb31dd282ea5cf2c50c149f2f4651616a4d1631dec6543a160273ab317d6bdfed25760fd4c01e5dae752892a978401aa0982da349fe0568f08559923fcb54c4599d5835c84b147f99780d37f15864d97058384e5ff4370cf5633a913d5b51fc3e9470f6fd90320f106a1a467066770ded4d7163f80139ef4e493e8e63b424572e41343c8cc90bd48f0728b80a44199132fa461d8169011e19122c1509f249245a300118eb185640682a61c27dbd3615b7f810d2a9723fa9db730fc2021944d4d78b6eeadac8452a1ed20835c70c56f0048d1d5c77d63dffd737068a5a590d831b9d48ef35ce1142492a0eef6b7f48e60bc5232335824e402458637b3fb70dcab08375c1f54e76eb69e043c4ffd0087e78d005486800055f1f090e1344fd1ba5d8b42e1decf22fe3c2564ad0f5f640d21c952547520f49a86bc81c0699d8420890286b1787d544de360c21cd2b3a4756b53e3dd1f11f36337bcd4fcae1df4a22ca22523de15e0a3404f43dde308773cb5c3e68c735e803f9fbbb4c44828f41102efd11232a3a2d059b8a66773b0c45b57e1c29c21b69509f6e23148758040fd737f908d2c8547786b28b08dace3a1b7727cb4ccae3216f2a5dd016628dc848d45abb5dca89435cc18ef06a4ff51170e456e036a41c284a7b6cec305689183090c18d674329ca030d73a05eca700c139ced670393b3034de170a5061b6a6d61b51cfb3cfa34a271675cd71f58aa79154eeca21f51fb4067f8351303c97aec60ec1ebd43c97ece2ca1f9f332c00b8933986c5325b5163d4925372138d034ec1d4c8d86578255a8497af53309d1eb547255be5954c249e724ba6f8b587f0a1d75b0b27a225ff2a620411617664a32c327192cec053a6e42283108d81740e239754b902f19bf93a40a1c37375c989a220648ac165718668f4b19c5064cba603328d809cf3d8ae2686f6c4f7d7287b02f1b4ba7ab1c648e6d57f8381a77ef808c336f01f03ffdd0a33b278b980164f61b4d963ed45c9a94b71182fd5b254b63b476a8eda60a5fe6e82968f0b03d070045175971cd5026f64f0318ae6f5e1d2f2753ae29b068459c1f4ff41fd80fed8aa80940949a22b2f38621fb817005ad95836d0b1136547f98191f66d6b33577bdea2ae6ef50384ab5f76ba45a9a3e2f407b3e495c4e0ded53e04fecd04d326ef49c517cf0cf0eaf1f606da40dfc3821275122d9a5a52b9e3e443710362f2378bb8b4e0da2764643d6ad1a6720610c0f1c4e00707ab7542f3f12383a192f05fa0e870a713d7820964e13692f41b56c1ea968511da58113074b1604684e1231f0c59652fb908e3c828bb900139cbd21400709574e35833bb0308a1c8e6f0c2643d30f54b9b1aa5772f05f3a8eaeb5560eb3372516bf551c6d39bb1eb661910676907951785f6e109bfdf2598d5a9951ce832c13bef2946d62334f2fb2c7ec2be268541dc7ebd92f822c2a406c4f884be74ddc443ce6ee612234f914418d5a22650689269fb87466ec3fc35ef5ba766504b40a223bd9122d114b47111182b430ad491763fd83bd21cf0f572c13d4034ffa078b28b641134a463d2e49c52b634fbdf2df1c2be171466c678213f8717a2aabc8c0516869c04e2e917e6710f9de0606c3905f74ee374100faee09f2ea3f0a42ffec40f0c8ad48aa63a4077b08c76948fb2e2aeb04265ea073a7617590a36f00de6629139da30d86de99088c5a5e39a3f96d3149c63f389fedc238a480e94aff7f084bf3a1f422e3c9fe6b233f7d3bb4c28c3f698b362c0d3df4339339572822a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d9540855252df166679af453635678522d551e95ecfc0f360d8f4fb75851fa934350c173792f7f44f4fb282513a89fd51c1f296508433c40472cba33db378340da02d1c539cba551dede3de40ab17ab70c1a49863d022343fd5c1b20b3e2dbf4f8be56501e60e195d6f63685f6a9e6a60ab52c70556520827c55bf912221715543051eb2be9bd2f15494a8c2bf8b2fa730f18704a25cee7084a5b6f35a599121acea6840304f24c3e00d0083f33ee934166917c473e581c4e611fd93bbc2a961362476f4776ce45448878ff2f9c6eb53e7484e73c76ae8d64e0136803194a456949aba25888949b4e6da96439917f574b2b5a0f6d2c18b865d5b28c5857914a765dcaf86f09212023922c890a3b26fc2bfcdaed413b6f7c6ec4f38a549c705f52aa62fe4e2cd5464a75c111257810696f3195f24d256e625bce0d056d4e67fa4e142c7b5d2ae1147700878e6da0206177a173712426fc8542b7cfda69abb4090c5a8140701912b2759cc83e6f5d31bf600e592c389ad149170021900f9dc31216ace7ef3b0923e0602af81c0b22add1223996042f61f36c127ea11a0d1d23421047a39960c97df651baeb66640932115253644b2af6cf957124490f5b0d64d55ce8278e7717d6931dfb17704ac1915e0a7986782032e5113b9b64c1208e2011156ecd0e072e00ab326f2b0a19724cfb3de036843944b99c01fc6d4c6d80bdc118293dd71f94f5b42b039c6b3b51cf1913aee8ea75b02a395e0c6bce25e6511a3726df4d645dd9830a61b9772aec47937537e73f3643005a19e7d9375f8eb4a6464560113ab03bd3142c373e38dbb99a5c27556c558502bc054278832af1ba41751c2adc73f122b53bb551f65e7c60ea69f478b11e36a6f829d06aac2da4f6d5391276dc40f7484123bf366a370332d975e4b0142c1d5c2d18d58ea1194df33e68ffd9ac1443795727060d361a0b2d616cd94f4f6aa12c2051a201905c0f71260ac2c22d046c19e53843066673dfafd55c1863ce22f80cc256bcd84c33d9c15068fac75469fd1fe248c9748a7690954a6b684f56478743af6c62526833ce7f611f5548f66629c2456930af5068f0e42b768137b73d592e5450f0e0e3668c72a072e52bd368b0bb8822a898bf18ee2e936902599c382f44111ed239e8404f93c73b04528a512ece88341ede2d6ab01af2198a60954b6398ba31eb94973f732835235b5f6542bef06f221fb8175248473e57e6c72677657c4154bc1d053f5a9fb85455f7d94e480ca152d526781e00000000d29db66062d0394e1b47294b111d2d0ff86a7f2b537e3a5cfb097f59153cec1d44b3bb01f64ec42748d1e761eefab35e50e1934cf579220475ea0116a519af04b54c706ff0a1b8077ace58265796ce44d09aba529e60524599e3d3658db6f46f45ae3e629c3b0d3064f562488d56e0218c5b9f627603f238715b671b19c7271a5639e7607a9e48506ef5b60f33ae4f2edaa7fc7313f3ff3097b5db5d7522226f80b0d35d01e381365896444ea6bf275137214f3ee551b3240768cc41967c511e4abd064a94866b3dc7e58b2894f2a969442e0c2e2b366523bb95191d0cc13b62b847f05d46c9f234d75d4e1579b0cf16e6157f5579dd4f3ec9349736a6b8795183b35f485e5b2e0a06edc76f4c733d302f51111b53a21d0fd3e1223059bd680e7bb5534a2f57f16d25154f2b42306e7280f667027e357b17fc96c94c55d9d66e4e128c57687f813150f291448f2ad7747e6d1e31bda4eb15218e445a6561235061b10a20e80cd35cee61af053267031baec27152e988fe71b6f0054cfc4ef1140404bf6e1ec1ec5b04ede34d4fe4193eaf41946be87f1802016d346217479e168242040f0dc121496fbcb35a9f2df52d5ad02b6fb3368159df41190dcd8ae23114fb201ba8d715683597863755a1ee77f2fe940d7b28e40224016423a81d4718b438a852188c0552716625152f6a310ebd32ab34a5c0e23681754c4158b43823e762bb50192be37497b132453c2db52ffc01f219143c400963eac206efa6c84a31d92c561a1f0307a0c48521ecd1874ab32cb72dbdc71e029b4358014cebe539fbae765ff03768626a187e3a6d7bdc388d7177657ddfb8702c3b5c537ad7e51e98ab2b382d68870ff83d715e8b6b34677fd91174a66f0f1a3c2e534047361245c29e5553c6286a3dff07da713c1f2c53d598b7505cd27424be0456544e290213a2ee042904b924359058696772f7e22632729d0e6ac78831167ac3209eb8e34880160c3fb5073f036cdd8d00172dd83d0441d5501eb4595c86de8948fbcac150fb1f720e984a9a04d5a79325283e555d216628026c4cde5ad012bf6166555b200f9a7f413cf9aa1540cbdd63ffa6a070e101fa467ab05b22c094bf6151b7975820433b1b0949711f7e7d8c396fa1a911d68a6c046b5ade0e54cbef6df8fd4a76aa84173cfb80d2032106c22e504ad270b074c642b86d5c42df507c2a74a3f45133a8a1382c46ed39098f414659156a7240a30e714c70bb14be0f88661863371f808f2706f7883b0ec78b71445e60f234b6bc886b53d2486a3623f2444183cd3e796f9d6945406273bbf699308f280e21072e820cbff7c357d46fd74d0072452e8813ab4617e0e342d9372319761d9a410f1dfb61b62e925af1008773a332251cec8ac05c05308a3f45df13460713026eea129125e1c99e6a9f730150410e8a1da30e8841d2487032365e77558dc01c07f2c10d4d0f39fa0c086aaa5389fd273063a22b714957032887b70728b806672dbbc559552d692d0301163321e439ac0f92c7325409a8f86ddf506948bbd9876730195c4d61a1dc651b00030496c24e1bbf2cd6692129943df7a3b040a7a56256aa6b9a10932db41bc211f71905232d1b9403ef4d72829024d3409b0ce05f58370e575b0034d02050e72d6e4d272aff4e01cc7c5ecf3fee61a0591e1554c3e24670a0da1ece5e8d24d2ca9863290444667ae9386e701dd5544a61b05cc55b8e0efcd0132bd5cc2a46fab89427690c91539ee9fa58e2480f254204b5482e97f9641d58fe6f09b4f548db01506aabe4e42b0a5ba772954ec3407f34f96cdf98df013b679f5cfb07214da135f2091d1db33bdacb7f6efb12e26c3050d24fb4729d6de8ebcc45c27d50223fe7170cf3be060bf8defe443fdf1f03a1bd4009038772450acc165191b2326d1c978b6bbbdbcd2693646741586d95560878a70f8c4a77161156171821d69f17e587fe5376145c40ce9c4217bc5e24601d198a5fe6260f39d4cdd140c66fac19e4b9ed6e1249355db4d19d2762778575c7ac241ae5f69a556b627137fe3eed0ea03a2c5c05252450894492130f2fa563d88f9d59cbe4c273d37c8f098a7750163d3284607fa5730c0cc1eb640f52194fe4250e2814c0945a2f86be05fad1a5194f56901743bb655ef88d7d64473ec714d8a50516eed00c5c8b8c25048aa3a05b2d9e236b196df710e997211554a7c34c0794a42edee10955adb36616f09abf5a74a75736dd2af6551c1f1370329c9a1cd182175a35f41f17f35deb5dbd86751bf0fdb72fec54d00e2519ea4bf23ee643ff4eb6152647684666453a54fcc3f418ab8ba15e9bc46d6101138911a26f34505e7fff3677168b6d05046f1f512e9b279b72076597c938627a9f3224afeab65feaec6375b9b26c0d36347e08a910bc3d7382236a3d1d353dd703fb500dbcf65797e3054d0d23ff12336cc7284a7d2362bbc7480a8c7b2364f9cebf2dc24a1f09b5933f546cda751991fe941e450dcf3f4755ab04baed857405acde29072a194d9edf2903ffd0435342989a30acaac03a2b304b027109414239d6220fe3165f162dd21c5173bde063cd70c23e86eb5374d087cc05275a045deffb353ffa20612f9117233365c3a26b54503e6aabee6e15002f914d1bf20b32f11b5f1f5e1fa2194890754b1495af66444cd63f93a37810c2a8ab45b76cda0f1b690326e65ba95dd3cbc027140a591135eab93bdfe4c43684ddc464d040774a06a428177419672f84a5aa272062de0ad79f6e60fb48911979d1ee27e0cbd66c9cffb40e5de4ba56eb41de6a449acc25eb386a6cea943e72e699c90ea9c8303b4f992e216be94e056a144c081b53c94712f8fd70ba40b314a8c5b914ced41818f66e344faa15fe4cf0c6cc189bf8917429e6a24598d71811e6818f024a69f45018e1e252ac3556257c721e55efe64521743f7917d02d5f2d7258025065b06662e313d6682343c109bba07101e1a2b5618d9ccf28dc899706215f0c77997aea22a78a3b04f7d5bc71217e3c0a2cdc6d3f835cfb320065ec27d7dbee1c7aa37d16bac7ba623468f9704b134f2c3ebda35a2394ac460f3e5766b98597541217b7476465ad3cc7f95d2740c91e298a41b025053fef2cc49c931971dc455af81e52392f46db10c6e0c329747efa6f6a38aa2de9bc60772dd28c65b4b2a35e8df12a61a844c51fe6d1be70f5cc422bcd61981af0d1996bf77de133aa14252864f9b635f056746d07b4d42bdffba80198a62f3b1e2dfb6ba5ea3305ffa65c5122e48847197cd15386d03414539ffb1ffa379274adab584c1f26f91f4ae39419ba15f20ef7e4b9003d55ff763cd50e6de66b276b38d92c4d5a9232748d8a275d58620c3b86ac225d06e80b3a9a70bc27916dc91f399c7b33ccb890639a513418278e98569b0b1a5a71f2ba3d6cd59b04eb919a244a87c928dac6b0475c794b1a344f1303df15e03bb72a6e349f442763daa7064d0052be26fc55e728100d6a1d72e107011de86b5216d9b61d3815fc3196042e66571e9a48c5390531cba9c01b708dbf0987fd280d1913bf71b303dd55514d3433ff6c646672ace85a4d0904307f333d30f5e89476068e372a05a4924c59f8dd629cb60368069c9a6e802feb19d7d10f0c9c2ebd50ad5d222bd8be553fb9ed0f3c137ab50c00eea959d6a9e00b7da6394427aeb23e0d345502ca0c9f6db5b99d7182b11e4cf814086e56ce566d2f9cd909a9376556eafd25480c685f2e19ac1806d404b60a4515011ee7594a71c222e355214c901a03b12a584737885cefb1436b71f95834e7f22d2d4f318e4d6c928a7657f10663ff6d980ac1054547d0db784ae113a7223ac1a5313df817398badde440215f52062ef9128c9607e033d559e6dd3c3915e92419d1a85162b43977c29276fcf1747120d3724a641584e418a0b65b7d0c7691beec3614e9c9f1d50ff924bd6ad4a2c7f95aa3a8460d6320cc7010b9ab067519abce1125ed48420eed809060b9bba3a557d6b423593da1a2ce9a72c7c544b724652396f7cce3c5f8a22b34125558074d48a595ff090f24146cd883a002296585ca7b6053d3ad942be65582fa4f9ea07b93f28592433426fc559570dd52b256036bfdf0b1ce7301509e30e1fb619d36a01886d6527927823bd4768039f3c6118f284e1333c1c72474117426ec815a908cf0963129b6222491e73c13c2e0e772f0f53a737e425ad1ddfbf0b236c8ed50f5b74264b4d89406195380b5e3cc2a2176b776a515273260f7d15c74d518adf0a0b001d0041e255340107da65f472e0688fd6d03e397d914fc03eae4ea460fd3983e11a33e32b513c4f9e4263e5dc4e318e72741f7255225c80608246bafea7361ad50772c1a2a03bdd65e42f54e6de174a7d8621014b9659f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f6f55d81451de7527c1860104c10146263733062546be9b65e7951828a5e509046a8b5f024b77c96d1498ac415469c95a853ab440a7ccdb6f30f43e1c2f013c0d753e1b42e5ae000ce155cb276dc74223e2fa8d110ace5223f3086d49eb1ffe155a5c3a29176ef946fdbda4413ba9976caf269b280c2ef10cf70a6d0a29667d0915381a0ef7eb9f514254041c3cf4e172d0712f65c1f05364ed62390fa5322f12c7cfd662da6f11556943ea2c2a202e0d2beaca0291ab2461f3264b2412da08298c055f1ecc8d1a32d942305bc6a6aa6d9eccb3567398d57775756001aa483c0f6050db598d05592f5661ab51af21017613c7155de0cb831360af922844e39e08f2767401dc56e2327b67e71262ea6f3e3dba5d2ee38bb935b868142797c96a6749ed922674ebd704a524ff6eca5d4213af611760bd017d053b0c7372bf7bf657c6476200d3e06b646e5c774af6ffda382274ea61e5d9bb1b5164b317a7fb4e102af4206f980a9b7614a65508fa719a156850d003fa860d2d5a7f117652510217a59ed024204fb91396fb430262252f702845f00d4710374f1f66be264cab1424340f2c0bde002d1a25973228105b51077b47853edb570035effbd214b5f697320621f84acc67fd1489e5ac46afaaf0126492e567780d2e496682265cf9fcd0733096334bcbe9eb1fabe70d2dafc383516a21b56b67647809a79fde06157b8061415db83f3977741a8a5e913395467225866bc631d2eba824fd72d91b8663a9343524b9509f48190e56d9c24249b96e5b24c4596bf913606f5162770d637b4b23b3b48826435fc646b00d560eb523b6484ef8be0364e190323dcf84538414b932c1a5cc25981c373343b688076740fa2fea19a05a0b07f407a7172f2d7acdf514b0f2883b9374ea544edc6c04016a90053d63081d0958916742e18f2369cc8c5e4f1593534642c83841f75f26f0dd792edc887a3c6befe7210cf9a61579802d305a85e20c97c61c07dd9cb70f4118cd61f5812e6e83709d59de20b80aa79ef60bfa603970d8b1cc1e4cc9d6254a0c5508315cd94527573815ab1a59533bf8af06df90176beace9e4647071909a599576bdd3e870148b43912b9df626274f584570ea46371ef321515435c8d339068781cef4e8b54c01a1054d1c720381193460042f8442b4d531b755895945e501a5f6054af52576546eb724eff042d5b95537101468d3e37621228aa40190c94213f393025890834abdd1a6f1db174eda2ad32e51cb65249652145d8063e6c0000000038b1880196d35014c63170347d3019139727320150d522743e19683e974fd2369d9f9244054ffb05b86e223036ee5b1554789447b6d85136761f9c6d9321d311c58cd725fd56e62001784f401c20b74374de6135e078657092d6191eeabf193d28ebd04b532d174a4b934e6d75049622cb5e9e4d777f062a74627e199b801b2c882cff14b1e42e550ea87f2a20f1f009d0ad816c7510c86622671351cc7b3e4ec4b8823e13516a6bf3c7436d309ca446ce95e53d2ee7264f64930f07d6217502534e9939a1cab7634813e70641010e04e900fb161fd1296ce16cbf09a298d11bc55abf2bca431753d001ab3cadce630192af8f259f209007cbc6ae63b52df10bc0454f5c74abb91341f1652e00014419232e1d016978ab6f441bd31591b8404ed4fd4c3154044f0b6701cf4464f4c271423121327b84d70351d77c2e47980b4a9318893ef3228058e3a3ad65ba279206e7c5e251aa1a79080bc62010312e2573f28f1611db9b48408c5a8349b3676b7207ef5233bbbd233fe9c7fa63e682e664aa29d00160e16d182fef77774a2f882b7464946e020d1135501bff1b71fab63a4c310a32efe8fe312a11030aa562552258dd5023f9f5e554642f7970ac0a7e3dfc432e6e6bb59e40d055c329b6454738c22847070c430e2337fb3b01204eee686f0fd661283d912db89b10334b316035f2503d4bed0fad76ce46046f9351f11247f88d5b1a83005bf5014a3c002fc64e2263220b9ab56f4a4c3a7e0243532a5f7a631d62cfd6f4354a2ac51a443b2e313ac75a563a4dee6f0e16d87298b70840eb5539779a9fc512cf68d312032fdf4f6be5213ba2180c1f715102715c22f2651c312c52ba7fb112a79ea30165653f0c30224a6f8b5ceb2d4acd4b185529b3036f20fd35a4ef0673afb42d237843aa4771748c6059de1f3b00dd216e8f13b95f06ca796374d20f08b4135a24846cde63566a2a7158ed051c815da454e781665135522722d826543d6b7d881bf9ed644b91a26769b7513a07b295b465806f1c15178e696d4138d56b66271345f69cd11300fad413afa3c56ff01f895ead3ce21f9d71145afb2cd127e3ba1b37d5ed576e6c55dc1882cca35e0a53492cc775fd686e932e61e4e820503b8f1c24607ada61ed39630991d3ca69366bbc267a911704b51f9607ad94a6697056a733232ea74a8f7f500ac7c84c4d003a0c6103537e49cf5a293d0710cc14175a7a5110959a64b4b5aa4565dd6d2517fb916e6e2582400afc263495d4232a3a848240d053902f33b1dc0fa500da38a519c2218884972f775d001a3a308a5d9ee47c2a360cf73b6eeaf473c7323946c04d78763905a66ae3f3942f00ebd2550eeb2865e36cbe73f70f12408e6fd941354f611bc2c14e627d00a10f48d6ed0cf30043171d5b8e4a74499f1cdc2709113d9b071056689138d6a66d5123f86a0ecb88ad43209739209cd0e170f23d001a23f699597dc26a747b9e4146515fb57196d4e626d62ced0e38fe373284dfb90f191d9c2474b1f650470c695fcbcbbe18f039b5180d11e4682951245c69b22d23a9797915065d6843c455fc0f9325910cdf043e159b45e73cb8ac5315daacb66499c2d00b292f1166f6e6f05ed55c154f5b52142ba23dab1299b26c163760cc77915669640ea1a227db2c77728af82d0378d9d358f2762e17e5e58d3c3463e42cdc268f73e3e3ae5f66c9ca724ca76006caeedd0af8974b3b7cc952709b60e058a5d632575295201af0499d685b77556f28d2de2edc502d3780fc26415b463e060891475918ca590f3ac9ab6a92783f0796b1c510d3a7874e9876371b3baefe50cab0875dfd92f3499c0128660f412f36ce05a1408e8ed36123cd5c415769d4331104b1208663162cf484ec599533ed3fb0e1866dc2c952329f5d0f68bf9fcc355b43754ccd6d7e72c08e212c3cfaf9421b624c5393741d31d8c9d52a4ba34a77c5ccaf5ef158c11569a9c65eb50ec8210233ee3224edc33d53b2b61b4eb23575a50a9e671bd4e038b5e55440265ba43047a8f825f2280a1bbf70a00c70de04394a25484c7da57945e3f66d3d8483e0718d17d87528b7702c65835757578a98687350077092d9ca0580a7135b19462a4f87137f31f4f7485dc536a85b87f7820744e4163cf7f12c16ee9b6249630aed44d7598a668fd3c10311a60e45fd67cf6f347e11236c48671c04954d6656825f22a467f61c09a9954640a1146ff6e1777054a85e1bb9e2c509d5ef8d03a00b3d6bebd51f6e18a77803ea3d854587859812fa2d120cd9aff9066e863a39759e9b3c935df74852e69c0d2fa5e722d42fdf0d8eaafc744840d22cce8a8c5ef084ce07cf548a5189bab04fa3565c25fdcff12add2ddf04d9a3b814d2ecfc404c72f64dd96b5e5edaf0eb18ea03cd779d13b95262c39f085d8711617261781465742c485392bb57880dfd4e9185c71d0dc7c22d55a7822f14663512eda0fe1d707aac68df65a23077455834cf4ed81ba9b501743d4a2b200cfff21afd84e275dff53a2e6dea810116fdd735c3695f54510e9527439c753d6bc4fd2d969c4367ff2f440483dece37c138bf2fc27ad76e78bafc33c7e8577557bc313a9eec6b21e043d2442b3b301376c2486304893a44c837df3422cb0629d89d3f5e6b837451d44c2b2b88c575648c4b175658bfd52d81d3504f014717321162a01e3db3212d2dc0bb6b809b593c9687b26f193fe148466306241f18e525c06370241da27c042f161427db82641a054d591821963c1d3b17814763b5060d4b948a67785e8a69ac7ce64a9ee491018d549a3a536b9d33ff68313fc1b3341524d4c75f0ba8c01384c47a0b9575ff16c374fc2f59a5b430b519100ebcb214467ddcbc4291dd1b73fb821e228cecfd156a8d3916097505498ad01601c646bd12c1716434779402300c4b364d4d7d012ec5816c6265e99f31f195e56b58631031eb354d75b10986082dfdb537aa8b194696a1840ee2ce1147280a5e4f00ef8a05990c835423787304eaa38d4bef58d956bbd11075d5cfc9395bc3424632b47b774c860e4e602f500fa5f72d380dcc306d2597bb47022ea6292b2e414c798df346e503192d6c563511a8f3f723cc753b6e0e4060307db7fd079d2ced05ae08166a2381e436afbdd1593ee6891b3d6b352e9199be687956674a047d5832f00fe765c1f9fe6309afdf125641c11922416e72ab106f0119ed0417237c415551e3462773d42d6df0321a338bdc716e7adebc710a92ec1cf97bc6291b68722d18e24e0f315b1e1e28fe1a0a7c1b7e25ff3e486a953c105aa45d075ddfccd2360c80161418cc17192e17b12f5a07102a74819505795e5e47fa8a885309b208128140286d8a6247621c9175382ce7d73bb60794299b961c2510f3c027fc8612175b6a0f18877bf4297178322c3b9d0a39c73c4067a58c5c263f11854eb82b9f6eab443a6baf60b4342f8f5774bb6a4105ec4728176de0fc773034363f40d4cd492924046db172eb10e0e0eb6057ef1256ced8f4630350ba14b026130d3fccdc49a03b9e3a48665429c5ba781d6fc78f5e7380541c7efaba15da1bab291db9741e89cf3d10ef0b4c691523aa0e0c761d534c1f5213f7b3af1d4b0f2c5e193eb8408b62da5d7b064c1bda5f440369969f0041e43628608b647487ee65350249bb7103a0c001dce471403513b46da640ce29a8d4693ad2637029c10b5c5fcdc6041a3a4fb636c49cfb5526504018b9ee9628076ee037f8be7d484af71632d6c8df2d645516140d8e346d32870a0d9b4f4b1ee7401548eff8243604e896245e42fd473391fd078662425356404b0fcb801173e79110146f825420b472b36d963a233b465f0231d29a8d73d3cd8f6c0feb410eacbec5353f86cb72ac6e703c75d4975e82f9a91444da805978fc6a36ef0ba55232ba7b2fbb386b113581b9178d53b10ca205dd7333ca9c6436419a712f63b941c83b600b45c6cb07a90ae83f3e31a76cc8e7e831b87d9c5c98fbf20586796512c0795440f0123e49185cc84892a76b4f15cdd53854b34e500b3a4c052e994008e411b76e16300521d473fb328f47ae762c06d343b4456f52aff0ba1c6f215b36086c4648fb5b735ae03e3c492fd72206f2a6cb3e57db13430ce6fa04f814eb2c5f33051b6e5bbd373912ef09e1b9c66cd8275e1e833f92321b3b5874fc01ba0288eff56b4a8f5020e726295c05be226053b26b4ec933cf0fc3fc0d151371973221dae0306a5e7d1db88a91639bd5192d89886f37dd7c4f11fcc18412a98e423450320e280667940a84b33301f0ea2f23d78b96055b6e82559b2edf178296b038e9b3f029074131591b5c91708708805c9793de6452318b41f400f41a0c0b56264e727d60231cd76ea0c495589e041343bf38d93602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf408344916096492b66b9da6e846fdafe819976d6e3b247714625d0aa63120d8022166a8bd586280173ce1546849caf2a41f0619db3a5343d10e61fc793e68779743887b4b2db983032b3fa5370278c73b447375eb0b83aa676b7d5d0d503ce08237ab52ca264214b34cee4e0547da322d2d7a97851e830ee169de1d2f6ed201e8556f774b6c5c968831835ff669a35988705df44016874a5c0da1f65a5e381c2347b670941c5e76bf307704ae04e6b7e62df2948e43d021b1133597df3732ab8d70a5e86b15f7121b4614335b4b5161483225aa1f3b4446d14adff4b121f981d262a5fedd54c699db15758d365fe11420328eeaa5293b7b040b2f6b1830848b356a59836b32a673a04ce57a735697e0c72ec9fbfc42abd3c11ee651df509a820364f95eeb609bbd522e3fe660240ec5196eed097606df16eb0c8fa5d313950ff92a3f0373763d5a7165ac5e662afa02d162c359a8584180707183ba0203b485de3193e2923b9d61eb69952cc327178ba637ccffd83f4ad54c08eae25815e61d11339ffed0764c449c5597ced255baf04129b3b0821a5e74b70449095861346f2d032a9dd33aa099334e720c891793e1bd14aa20b60feca56f1b315eb707246302646b085b604976386f2b61d55c75c31e67aed7db4bbe54491e154e804a29d0e353a2dab025c3d500558d1f240dc6257276c276ae06225f3e17c3d5c14e8f0355706ce8d957f12b1c635adced40f27c0e441204756e03f2a26d5e739d602057e408bffa18678c9588104ee5f666c730bf2ca712337491c55c673d4a3b33e2d30718631f7320c8c73c39969c1f3f696a0d086422443ab0d5f00811640e54792a242a79aba4214fbac14d40f6bf45890014701f03335d124f892224f5292ae49d5a2b9dd2af124b44186753a4bb26aecd800e15225533886ef338022e685ae18c8b3843095449a7e4430f58eafe085be68b27a6eff8167319942d59926d3d1a35db0070fc752f6e99d3656074524e678d462296406004af9cad06c0c2cc2e9d959d24b5739135ccbc0738c0965159200ca953e06b0317aff73b3345f70f7591987154cf611d1b976bf453a4adb6630661e43eb8a7626fa7343757625d256f03eb80352bc0771fee3f0f21682104021e5e5101eb0c91192aab1b5e4b923c36f5e23c5d63314c4f984ad66d89210052b63a7e375d5d774e4bb359187ff03d51dc446f3bc2f5d717e2e61b32caa79b3465f2ba354bfc9f2ae80576521d899d38e7e4177137136a26fc47520996bc723cddbe225500000000f2327358360e174af6a6ba1ae93a6c60971c9645b964b31ed130080aefc3aa45b7d99c118af70004f86bb62124f9616e38997d1a8ae816452f73ce20f467154ecb449b267eaef577d72a0b68d14b4d237ad64c5db089e347ff686b510f035b0905e8331282591939d5168b2a8fdc073cd2138f70446a733c3b9b3e1b8ea2f82dcb7b42615b3a9f15d0ae7d1a2e84c72c43c2af1c90910b3b18070a56654e1916b02b7717d9624101e2b3c90385c42c222ef66a7273abda6518bf4a51d84de235e5e8af0f18dc5f109ff74d3cad04674a7b29fe66bedc50525d4b8914f24b31103eeef524ec61d70e8622036c1140305ed22c0b6adad4a40bff98b12ff6f38d721ac90f4eb1e48f04bae229367816944724456a21d09a501d3d95fa409bece6430589823b7ab0a35513307d13c6152b249a0dfa1b80e858035dc3b35e26faf3547089dc6b96bd456d68fc5a4b03b5ed0c2d22a100c40b9e0453a828410cc3e32824b1753fc99f505fa3ff6122ce6258144dea9b56d06a85215199f716bbda5a5a51fadd74f3267c29b6b0235cdbc0db70de50a303097418675e52a56435248315c626fe48f057d504805e300dad3efc19f55f5024792dbd70da2bce61204980647787736dddbac66f4ec3306540637f5fb7dd8e4ed8b26e2015862162ffdef86667c3cc689d98361972a7523539c0b73b71571d66538c8928068cff03a467bf44b2f5d0202bedcd754eb0bf1a9bc794149f7283316ce8c33a9816490ee96a063905ef80215b04102d30b4423b236b02441d7b8757499fb653344e284026bd6606e9e4a55dc4496217f684a54a57d5e41db6a5023fffc00075ebfd48085e29625242ec7960e664f42f59cfbb39227d172f8722e64a4e8fe737bed0e55ed3a6d370eee37607f15ab076263bc6012007e66400694f4f02d1e86350024401ccb029378f23755d3f9386134136730412da876587d32d4f5600423d5b360551b5c5d66ebc3325436be2613728a28f1a4bc836701c9b664777f57e4aa2b7514b1249874fc99a2b3690919d6250a4514bc250fc07ba1ee543939db24b2bffe93132bd660d13e13f44abb9b85f3a3cbd4257e86858756fe92f8899d94be8671913b50f904805e97d2d247344727cb650218a471368c06a570841db664e7cd01a3a7d31500d386168078362d375d6398426fe03572ebdba160a62f58138c001dc664144b4478b4e2b76bb78ba4ddd38a940f9251c2b1ad8082d9dbf7e37e597ab47b6df5f2eecb6d83f01e84944ee53054b4b65623f9b53870d363e711787e86835128b122230548f353e59374b8f2da33df9136431c506e45db72f0a641b731351f2986854843e68663486b33a432b2116c219f856606228298b5e874fd9462667392e5136ce974a3799ad6d245d3ab11f594e014cea026f5c92b9be3bcd9a884abc15f015bc34600f2cb3c536c109ea68e9d9ca1649931518d6b06c742e60bb488f4ff151f062a70fea49222189f108435085663de2c1d04d00ebc92a70bd97188902c1574bfe505d24ce2b1cc189db4174bca13f39d513078178f926fa4766144acf600d7666dc257122352d48b47f713de60829f627440fe364eb118978d60000dbc82e36a5e173aadc2941da0b2e0ccb08da2a2fa5f3119f7ee304d37b1b3c9bf96166f517c127d66c7315e688501da95ebd123d1aed613f79e926f132ee0d73222f260538731e507787546b195b0f274da92c58b1f5607c2c7c62b495bf1a8262690e40434e1883686134d6302374677a55320cf4ba0f906e8767def4d276dd0f5b4dbfccb5238119481c771ae76fc9379270d0e6fc67221e992239fa8d56d03ed8432eda8c2c023c115594db4c395c1dc528201acc0f0d2d1d237c742c579f8fc220bf9e3e033919bd3b021c515cf348506dbea68d439176b86788aee62fc957224d1e25de0e60118f1bdad1821375fbcf3cc019eb0690c4d4563ec3a812b0c3626715d5b71e54f7e35a033aac033471946510726320b57f0916ebd00551e06e5354fe19222496514a6aed527505374a1f39fe2c3904849f8723fecc6b44a12d8970ba722a13ede8c80f2c723c2b5f13d300c6121332c5f7eb383d9ee318e2c57e44ce514211e48de528df523b366038d45444f7433ebf506e076e9c0d08da932c0a493b9d1e848b711677b14b4e1d194e4d74fc5b72683c784a9d8d7b327e280c5a36f3605c09d8ca75875d10663cc5b15d0a25a677ee210b17486e984c6cbac91e96ed9b389d3842304ef8c93983057a49a698c719f3b95624862bba1d0f3249261bb18c617afb8600334282249926e96cc47226286119c134d762a758282c2b2ed353ac49d41e716098160e31c9a3af1dc17dab2d5cb1a15da3da852023f125652f504f7382b4d45e2dedd86fcf6b2a42ec3cb611f748af533faafd62961abf26707fee0c2d2576328e50b53e407db430c8cef46e7110cd0f78f06a25cdf9376b127c4e6a500e7829fb9be2218be431152c974f1dab7ef432a7ef225ab1caf75032a2aa0af39f0f023215eb1606e2937471a8ea0bf904f6130ea2955f1f893a23638449012cc76418de7faf2907a26a15610ffc47123fea29d9faa535d72fa115dbc7a304d2d8fe12d7e6224080c49668febcdc74182d1c5c45e91055a4774958659e9820e43a7b4e20502b1ef9c1871081fcfe2e2d73fd2fd73ec562b21d1c721eb1c133c41b765ab104920f769f3c46965d2908b33a5164271c2a388090615bc8d64c30646b5d42f15f9010896b7c265f73c52e75e95c309eeec15516b701158ef0d1048e99d634286251765498504f02c9ca4f10501002697b8d5759430f6ea3faaf0865bb243d42ee5a41a01eb36279f60202308ff350ce0342189dfc36374c4dd55f5c073f5012d5b51bc423911c5b59150ed3dec9196d950e72e9b1842843756e0ff0d31b0288b92a06916525053b621543c13eb218c4f7b83ccd0b3816f6172c0075128f373ff0a94b2c106c58bcc9e80d5bd4835eb357e85376d1d26f3e2f1f50925b5a57ef714a488cf627505fb8c61e564e365a685b606bf30817052324f53835683949d8bf0c47a79cef65c9b571164b1fc96167cb21297221577284d559023063e32888a17140822cdc1952de183ed953d255bbd0190e4b1c5d2b7b6cca4c45d4482f96c69150c8c2032a9a4dd1057edc5825ce9a450e7eb25649ddedba338571d10e3745d22a15218968d5e4ab037d27bc73f09a426c05f7090e383f104fdf797631941d9401855d750b9f54df2d623e874085ee6a294eec5041613e111eaf7b3151ff0ef13728600642f29c7655a281b8126fdeae0c815db27766f72741ababf26ad4c3f642e0e20a2d0f9f7a63180a286d215a502fac461a4ad1c34f6adb90ae7437bedd1de778700d1958374194dbbd03e750441c52b5bc05bc63b94e941e9a5116de5c2d262f193d65426a4b11d3101a1b5ba66a4507a55a56df235f9c61b361cc472659c327ef0db54f762e7cce514cf9359a2f05b0f02ed97c262a4650e74a63a9c35ec4ba542c798b3351a738c4494ff52a52fdf62d677a69e924dd63330d0d790c03bff34c1b51e65e481d3379400a09546764abe43c0714881f7b6b872375194c6e9744722b10e2a6675d30504dec580727a9f40860699d0e2f39f5d744b4041d5870e84832991e6c3343881d124f330472c9c431363a05bf6cafa601475eceeb3de7032e12903e455b81f74543aabccc39f0634b0b3caa160b05f76e20581df93d164c1665414ff8704569a561ca2519350d0a723fc84216041525c974971e665099d67d581be62f5d0e0a1d1b881b7518cf356404d3c7106cb09dd1413ca4d214eadc8f2f3283ac21fa9fdc586714641c1ffec54827a56a09b98d426a05c3d043103b6d5b794b800b24f6f83cad23013c4d952573a96e1a26c437c3240ba7bc2d77e5077639a43a29465398142f6869779e8bb562db966e1631ee361a928f3d4ad4131b618e6251255e4fc170febd15100fd0895ce79caa1ee99beb66e788840111d7961053f6b41842d3e25516eedf00bc11392d4a1e92662f00164de360531ae1787c0272c89b65b1cb9d2b232ec703bdb34124903bb32c0277da286c3ad03bc856ca528025f1203d9f270764ca8336ff9b726543ca9959853cab1a7363ba6692d483140808df0eb944c62ff7347313b4f0ad4ab754674d6605880c39fa76054e0ab0244cc4aa43e8762d52dc327c3f4d7ddc130821122200d49c2e0ce5977520f4be2356f44048c26aa64de1f0da1f5eb3d65c052a601043d2cc37b96acf1aff1933508da43e55efb68048d19fff23c30a86495f1eed6fa7d59d0c6f217a5ee0e63f59e9fc4b0c90b9dc75a773cd67d9a4bf1006839a1b5a30ff250e6cc32a803a1f010e0db87207d68024b43bc928ce3d7b6fd7d1e3484b3ce376d56db70dbaad682a3684eb5814d993172412e038f42fa5377482f71826356d517147776ad1202443fee4c43310feb60e2eac150d5e04c542e894b12c583365307e40c34ad8bb460fe7463f25ee145a550cf8ce193366130d5fecf4621d845e4426a2450f33350a34c141592ed54dd72a44724b5c184df319e6e6223ef00e9c1483718e515b3ab36d43b8695658a180643725405dd6376f0c646bc32ed032f618679a3776c92ec54f61bf376d783d8711464c37622757580a94d944679aff966798fe1034ef4dd16bd7925e246478891fb619e31524da3759564cfd534b9076602451e20fe0ff01251c4cd643d84fcf77d02fa62cd5c2c33c1033aa4aafd55c0b0a71193bfa74dd4d9537de524c2eae5c10a9f1102788732d67e0275f36350a00a5ff6c37ea13c277944727001c1f445d80bae42c79251c6db4fe9314b90598095afbe55ad28bc025fdc7436bc503fd5c9983db473ba7c25307d95a2096d30e31bb857c3a99bc4367a678d31a6104190f1a038d200dd8c950c358d12e4f0c4b081d3e0546cff79759b2f75815b73b6e643d3d9c71228c9f31f73d2166b7c93b6277bf0d5c188e8f3328f8c71fba21e6739a4f7e6f6f5f253ff051da32554169664d2ff1052158e03b6977f717ce9a10253c9c6c1a0d338e07e29bc2012972ea215c610214441f57114d893d0cd36c174cf83efb367f95530600ddaf1bb641e432b1374019ed9b6600090a3d040534c467d62cc66068164111ba3c9d140341e840e99f9810d42edc210d3bcf4ca6c4c05af04ad43f7b63e74b371bb35ba9a78c26e2898f58988112062266183959871457705a112304e7983fa4aa4664b9d5ff3b24c6850f6c7e9d259f4baa71b266ce5003c2993b6cfb95166a433a6e4387674ce67879091e2d7b50a3e0a669cc86ac1b4307725d158a593411efc508c14f1a0fc85e2e2bd036d30a2f5cd015bd283d0edbdaca047b7d244c1f02f006b14d7518f2c9bb67beaf2410deac9c5961b6da3410145b6e1694794cf6c6c875035a9a3efd0bb7100488ea0dd5a4a3081b1f605fd9e7906ff53a3365ebe32c42bcf34e11b7fd0f521bbcc6738c38285ffe0f9a62f9f5770558f9ec1bb1ba7522817cf84d25ffee5e9168915147bb8566ac9d245bb3ffc8142684156df2811a041d32ab74077a1e455713833fc6615f4ca66e9b0d5f55e94d9a401d4add352838f9afa561cee0f80318801f4e3c5ab6111782f756de9bae43718e350fc249550faea5244309e13d6269870d39d06cb472ff57a435228a720ff3e5cb4505e11f28e8f82b0f0000000001de25280c02122494c53a1bf65b6759c23bcb4712a8b24edd52c3385c9ca068e85cf366424aac4be3c68b37e31b71038ccb226ff20fbc1ee423d85d2ce68611a200535ea39d7e4e42da990ef437e26da543fe35ec45ee4f3a0a800f078a9611a4e1d11f267a4d49202804120ce8192220622575d27d180cf278d15f9da2321579c46e74e4adfa31ae1a355d664b45126654240c22332f31379d270beecf1727adff642b5d4a8a383e24d7686f8c9c548e800a422282de1c71570702b5c55b2bf8cae814de51573b2b0126437c901473cc00b1192593aa33845cbe04e318a55e3376ac258db9e81b021ea605493b165b1df9720e02bed160f1b1e301edeebf44f6f1b42bd326ae473a6e563bdc73005ed7623970f9d1605a2e05d53154a90f70805cc445cb29a17603e06e751f2ff230c7e5436f39d6ee11681ecd75afb86a08b649015647660e5a3afed072188cb86e852bf31560b2f41e44662f707aa0fe4ef294122366c08a60d5615617729f08417e7591087cf2ca64b7187a0677063065efbf9e0b3b8760572763ef6da717c221a3cbf74ce8213647ca0e60515b86ab1bdcaf8d6245b8ff3f7f1ac560ba6ca765ad512465ce57935a20211c1e1edce80bf425646d919b0811f7e30e4ab2734c1a8ba64267b413fb0a29118d5565e1491ae7aff52af5dcbb06fc695147f42f124818775861e3744b60e527476945258903fb389a53ce23665be617b32fb48697532afe2024589672598b1dab3f65cece0e1d985648d206223fabae824e5107ca6e0009ce23593ba42c09a9c042eb386f662d93a327b4bd98660c08655905d66c1e06c0bd6e8baeea67f349c41be2b7bb06f6d93169c97d0571b7544f2f5a3f69617320fd5cc6de134aa562f0210529e6110646131ccf22184e71fda64ece8fdf0612d72351a3db336f177276517faab6016f3f981ef9899909a3e9c7604a2fc32f29afe504125b4e4efd9b262aa584e65eb11782751138be5e83a26d53b893364c7178091cf1812d398059c07658e8e5019d2415008a00f24085992a06364b863b08a94956cf262b5773c7716a057db321f26fab50601da9609d19d626ca176a4d278f1575bfa8d352bff2496811abdc0f46b7a76eed9c59703c471022d65eeb1ee9745f6606ef79344b1b8a663abb4a4ba2c36f00ca631849b628d83c57b38b0e9c7873474f0fc602579ee551b3b8b244b2d392287839962566e5785f22185a400886245c4404285cb2acb6722e7c306bda097511c60f541825ec93312fabb64b2225f83403c5b514c0f132764631d767dd93214a17ae5133ce3732021af988035da9927573adc7382ac98d7640406d7484ed3461107629727d436b0f173e14579083b629a13c954837db5a5a55e8bf265d011d71eb42982a0de9684e907a381577993f1525ef0d1d83f9d86b787b3b0b1e2a9327c80d351488598333f8ead17752bdda3a8f78810141c0cd58df0dcd5bdaa79805c416b51f9295a808ef454f21edbc242ee158540473651024375c5a08c4cc58395768813bb9994c2ba4e027410f108e69a993ea402484d71eb5b86a6e6ca1a7403f6a265a782acd27e71ce0535fba9570d7b15b4f64738a6f42342a390883f20cb5226f4593b4ef7694c97e044cf64d04c90b1517fa71da0fe485de6b07a5c4011b502a264c6bda7671a2701fe365017693a3754d7f0a4654ce881939d307f250259b2b36c72df917f690dc20d3f39528a5152543ab79b0150ed344767182812e36076f3879ae5e5f18036d310954b80f9ae8001273d02d32ad920c48e07b4c069a80e763024fee182e98ba671d37276917b2cc0dd4840817355b043226917d0ec001274cb3b234331aea7a647f17e841692bc62eb5053708bf38fd163d3bb0679dbf6b098a5fe8632b0b8236bc3dc52141c6741df6aedc07d76cc037d63c9521a40c8c6c84fadf5b2333042bb13c290429a67f1a1aa05766dc0562235ba1404f790f201d17f63b478bf8d44a4c45404e50205b550892e2333b0c7409db3a2c6d2e12c11dbedf7201de344a2d831180554738745bca503a592a97e0050418f027fb252119bfa5d41726e38f0dc74f7442ae08e72e9624b91731bf9f121091ee716851a113057e5e30f9efa20aa48ef8310749400ba70d375c722665213e6465279bebbd341f4f6e585d3250152cc4eb462e6a6b68159d8c2844a4331c39b6f207a267245f0fcd45725b37a245babb541be304b2355520906cc9c68a39ef0fbe32d3517d58774de0029355a016be783458814d412037b96430e7de26047f481c041a15d81330f4622555c0683b0abb0144f9fbf769e6754e5ce66c570eae3e55709f72fe173368271dc85447622e43086a66e3063660b310195a36922d0393a4305a018736812a6855ac6e931894e2676160e66d351f662c70b61b98301b23635c9b4e9f17cec77f1ca6b3ec4b96f5b8185f410466ae006a07abe40367506f752ac1a780677b8f0b6ecc3c404f0e2f89639cf105749fe6335c4f7d254ffd7e70062542605bd41c9b30ded18e014ffe523d7b35ae52120c8b10d6360b2326f9ef6cd5d46956a4acd23646d4e74089bfd2771f3d9e60f07a874bee67dd017ed2de2c9e98db491692a85ed5635c777aef5529a3661d092da223596dea1c2df1230861e309a23daa216d5cb915526ce8f9c35fde756e3b90a89c1000493446758ea76f4d5d9860250acd3d8d452f420187791f8e132f1b6bf0fb0f5f0dac4be3cace1bae270b092b49270bf19e9c14318d4b61250ed56e51270a4c31c2452962f7e1226175ef4e80f6243fe70bd16b7b8d134bb4f5970d8212de349b4d392dba943766c45dc16bc9dcd60e7f851f17a210ec136e604b68c4f20426abb1e066369e755f33e4091cee45c704da29e747d55c9d3e45ef0449dec72e3f3a83cd14db24ad492e2a4715c1a04e1a57aa3135ae996054dc3aaf0ec24502416db74c6e72da7f2bfbd4311661426570a3bca323660733483134ef1a00e641469298fb01b456c7738b8c2f415bc88b2a72317d01cabf455286dab532a378775870232f51dee85737d90bf34ffec4921a122c6b47d7e58c04e30ebe568db85e1496f7df62fd73e26d2e5ea31b1a2c8a20ba08876a6737d745b662872a26a513368c93b2349cc4a3043b288602860367172d4d853051f6522d4b1bc21005d1dd2ea2be6d5dc7449b4d10e2302eb4ad9f614b767d5f8b453d71fcb1594aa36ae443ca97003410edfa245b185537452a6d16e41ebf39e768ab0f164a7316c9bf7970985e603c43d6f34c4f6d08756f76df66788b5142ca857c762871563691445f3f7e8cd21e3ad2063ba8447f2fac4e7b021dccdf10aedcfd3b7163702c5cc72125c9760e1391a9016ea849147694dc4f2a1b07d434913a5e2e81560f0eb69f0a11fe8a755f3da7b92fa23f4e6054aa5c550b39dc711bad863d46a11031f9d93d3400bcdf626354ba2978c7131acc38e958d1928d19d2a77800fda6792d23c9f4603700de4053a50b05746d184f4f5d703901c1672efee7a1467daaa74945da960f1cba076ffb674a767b5dbd1d071e3e058f9ff9776346b55b41e8c848d8a5da0ce581c33c691ecf73f032ec33fccf3b26ad668124d99c1956e6f2493589a4a24687ea5451a0e1e34d4824c0281f64a14427dfb437d8fcdc4c63a3f20c8fea9d4e3b1f9c564508ca5ff903ff50a7692d172783ee74608c250cd0b3d7191eb920632f9cd909a9376556eafd25480c685f2e19ac1806d404b60a4515011ee7594a714e580509ebc17656f0026b00b8ed06134255e2457c234a42aac406522c0e9b09a8131b210d79f708ad6d494d4e8d64625e72075de6de7e721a73d550ead7d61c91df4a581546de57db3d8e26134aa877c8bfe729ec9e3e6cefd7d8192946e94f1fdb431c4d84434e45adda2f9f2503084ecbcd14f551e76455ce8349e1d97a3867c14605d08a650d8189875ba9871858ed839c45a42db14422351b597b11b33457456c0899c9e45719246b184d729d2e124a8143e324d8029a54943332c9ab3d9c0fd003d49412040f8c8363402c9d554dd67f2da49d3c72d218f612a4b43e339ddeed1b8656f26cae38482c52992117aff00727fb86c3367887b577cb687639a3a1a666a539ed2a910e4c5af3e7f4084289d0088bcbe07255acb7606faf275033dc8f378209dd6bd0c6f06d8e64d673612ed8059cc5381e44809c476664ab00d6be481ceb65bb1007f96d77fd6acf7314634e58bc8d071e53c67d510865984837c37d06ed69f73b804fcb6d9335ea3103c4d567cd29f15017bdbd022f501a28dfe62e5881682c2371ef1a524e72201708c0e23f518261018c404a4f9f344f2d71081a54a69f9649e568ac6b872f0876f0ee1c1c44a31c6ee77ee4629115364ec62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0ed4b4273ae1ebe5363efe99140f4124472b1c3c2a4551ea22af56993cf959322c7be010041c704d74a8f6cf7586f3646f7e54b910035ec958c2725368fbb1e6193a33f93d9b44815b84fead2ed7fb0e2a63755f51d962371e14b8763a1d2c6b31692b774c3f6fc12c20a04f4c68aa676e26be262f4b072a0495ecd1594cc015585d82374eec68066b1060ca0d51bac53101429511fd1db110e417b52d1a198938c1580533cb38332cac4c93466ecd1b0839c1e6176fe4e4286151a720f6038d5261022a6389c13b43648d9755f2fb456eb152e944316ec4250d2af649690ba76e3044367394b02456dfab7d0fbfc8e71898f1336e0b7728309379981e4475ab557d6fba7204b02427fda92229437ec623497e8d37d526ce05cf88192ed3a4601cf811fd0dddddf50b70742a2da0ac8639999f7f2ccee456631627cd6d1ba4131f48c27d02d1126c3dc16b7a6985e58441b54cd626f2a1123444312c0b4f017f0cd447593962b9d635a999a061ad55a84855d9a2025bbac9004c801a2020c6d369b7879a27dddf1c723ceab117ef7a1f0876f7401c1aa839364c7dee667f5aba6a61ce2c30691b474e57bbd119828a7e02387aee193ee7ba027c61b543c8465834cd991f172bc4892bc428b552c3ba6669bece2c0af1696a574c090d057b2e89189204591edf8c43742fe9ff49c8fce037f98bef50e68da54b47e76a07e4427c63ecd553495005b9122f4a7863c3372e5721f6c25ead16940150e1094a19c55d2193732c745644d66bdbcdb83991de1239c82d2175df06524eaf0bdf4a996ba601b621f90f0d6a693d451a141af8625e3a8ea2d12a0c4c5c4049b43a1ca7e6b269a70c5f078073be39040294432676be5853ed3b4886d3786d8f301c71670e2a685c4a4c0fbeb08e5c015c876a2c99ac461314b24bb8e02b54e2ea8f3531471d31b7026855faef9c52ed73935755b6a7502b6807228b46dd1cf94cff34a997526cbf855b0e2f28a01cc77a0602951594248fbf731e28c66c192c7e663e26930e2ea9546826cee0930c66e67568aea71477f6065641f8219b3c0676b1453567d83a6d5b4c47d2f4ca438586aa70247c410a836ffc58b54c480188189070901b025fa6ef1f365a282f471f372741a4b0b95879168c6a505da03d413f8e51925c8d687c5dcc5b6b68d6719b28fe4ec2c7ca546bcf660111bbae1f69232840f71ec7061945a041883b19231867cd5531b0ce563cc2ae3bb6fc477500e82d160cd42c5f1a0eea6ed20a95359a59272f00000000b2f9b331ba60207647c0997650770873f910834fb41b9b09db231503018a5b6f0d55f72db348996885ab1118ad098d19fedd46670afdc01b12f1e8422eba6908c2ebd71969b3e01118759751e44cb323cc51b44b45e8b0779c408f126a7dd1603bc3455b1d26be188dd8c01dd1b87a70b985544f92aa742b2dc1d24bb7832d25d97c817462187420ebadab7194fedd66abc4aa05fb324b1e28b13e6dac8b5e1123b770412c0d7376aee6c976748a935c295b8c76092aa71f5622af11ddc0534c8e9b2e54627ea60fa1c3a351d393ca6247b48d6add4c6949a015265a5ab338751502635fb3ada17485dfe26aeb5f3f2bb0237b75c08fa90468d05949efc4fc64e47eb02fa93b2e110e97b510ccc07570643b6330679c2a737758554e51e0623da081c302fc7a775d10e1d73cc56974489b8af37426713715663a7c21ccdf9935a24e4243952a0b103c7ab955e3d07b3f30906547e8a6382f36e2d472e8da1b51b613573c4212723e4323ed4940ef8510196688616bf7402fe962b340065c8d5ac4707916b9ff2f66e0cb5424c156a5509e7c551aa87d9221e7f4ee25773c9626a5b4be62756cf0228a5fa54c85e0693701ec763fb20ee414854cbb5d8a4b432aa4b8545c41e7f12886d07507829e0a74cd35f177013a612e883dfb653c64b4178b65d233501577595ac36619e52d383c0434f15ad5ed554215f890680466c8280392c30f23838c44891d5367b41f054977edf95071384e3ce589ea1c4c260e14d50a866be2c36439d9a20a306f1237029912314f6b6d3c099964920794c10e2ed5881d44e12031636c3afb0b9988fe210b0db975b502024139205f3fdc01f43159293a75dca2ed31cb3e4966b2c4562ef2265f0884400740f7196130ab422b617e318b6cd1a0664b79dfb704c8673468d781fe25c3895a2efff92714d4f60c26a451816321231705b2c0ad3bdb702258f86d0d2a6668de48144d2940541bc06522694030fef0346c808ea10560bfff5bf57ad72eb4720065f53e7252854c5864eedeb44e091bb02221a4965649a457319dbb7e3abd72414dc56c133738c47a018663725a86bde213c4cdcd19220cc034e337de53df27842a4457155fd4b46b3c7fbb3f3a3e383569600ffc1e106d9972368b59054ea9165c94f33b53dc54b8709a4a8017d436c3137131a1653f9be42cb171f0384a674a691af5f7571d8b0b67fdd3f1082430cb09c5e18b52641c07686da618307ea9cb5e201a4b011365e05353a37252e6306501040aa9021f970341b38cc93a533d0e3c3638a8233de7c1688aa8a113109f9818962fc23f8a6180656fbb916522534e08d6314d5059ec6221b4a3ed18526d9174fe1381124cecf200ca6e650af182f57581787434551f58692517ec391a88661d125f8120a75282665d4c8b206823bf4c8e0bbe61be1ffd03ae67ad65aecef25d1bf1ba29164db869fc2e4c178da273677301e06818561926ba40fc2a03958f22573f7810742d7e22219837111fa67717eeefbe3a2a0cb971897ff1265e7381521d53782ade0abb1984dfe515c14c1f37fd1496157ffe656b63921f265516c76951415a1cca7dfc0f8a4f0b57f07d931c0f27a91bf48e5526b265ef43e6bdf00fe1e6973ef0e23b2013b9dd0eaa3fe86dd075163417952d1a316be52ccc7b1d696463e7324b0d3a40e77ee314e7026e186b1fb06fc85612008683946a8e0dc53f6cd1166eb26db331f35f3f2ec0af1e76dc85d71ccd12b249c364b254ef463c530c077c46daab8103e07f5e6c2e19081ff08892756ce5dc0044c8434f354fed3e43d8ec3de99dac2552c8853238bf4b3838ea33410a50fb002d847f635e19f817a80c6400b5953c3ad0dbdd20380cff63975c110faaac4228b83f9f4b135f771ab179fa6876a50d63536a0f3632533f0e949265067d96b644a8f7d9055ca9cf1fe8324a42b534c0577ac550213024b9474cb78f02238e2b6b9955e52ff3c9c73aeccbba4df8b1e22ab30f656e36e362580f4ad4368f3cba1c6d685a090cfa5f4a19f9b30dc3fe444f49d07864c39ce5394ff053694c8b7366e2bfd93e15f67c2b41cdb70314eb7449f831dc536f661b25e0e87d6a7624dc540da9433a8846dd38f227ae14400b4314e43563609bb5c36c1c98df13ca6d9674e63cc677ff1f0e39f97ae23a3b919435ef72054778e1c2229168ab408ac16d45343b7b306edf9a6d03240d36092dfe4c6c73b01de77c8f7073436048c92bab57a9907f1fb3ec08690b75a23c8860861e8a8d934313ab5c3f6764801e44e98f2bd2ab026dbdbfca751363c56e2c1f7a6a83e06177072d545545622825f30df5479b54fa28389c883302051966013cb131db701d6e1072bf16645fa141b6dd6e5508c40e73e9f327272971e05b28322c0f16c81a6d87e41f2ca6574456cfd58c5957be345a2e512a20b730804b55d4a941e353b15ac839e15d8c53c609562e09047903351530fbc76e2f0bb509bbd4bd3ed033ba21e85bd9232f340d5b9f1bbf320fc0f7050810771429e591560a93a1015f67592fc3307f547a4758158b2d09532f96ca14d358c95546c48e353c9afe1d8cdc4b3f00c356658c9eca17ffde7d0f25c4215cec5d4329bcc59f49efe61e092888513dd9a2ce7331845860e11e013abf975447e0d77c6688d4b25664fea860ca9e0f0f492d7b21c117494f843e2b52eacbca1abbbd1d0db5c4e4670c24d73554219532051bff2bbbf18435c67c1f66881b72071ef4cf5eb265536706261537a537526c3e28f932fa523b6788ac785c67128c441cdaa92b1359dd0c056fb4099dc3643c52713225fa514e67997bde3ecb33353b6ad50768a72d77351c96534aff8abb2e5c0a7b3c8442514e1756d433f6e48d63a6d7191a810de41cd4ee5d49b500c670794ebb749c95322b2f2386503f0d2e0f8066061c745b9a2e6c51a32301da28279753cf00a46384122f0ac74a7be5ed03e9a4c633c35fd6045c201b2c09afbf3c48d1ce04caf932006febca512284dd21013ca02b4a2f565d1119704da287dd35800bd76d7384522624f7af2135720f758f4d7e278cd4d730741cd55bbee15f71eb990a1b685c0a1f2137a552fa17a53e701a0218d21596217cacd3751fd5f11136950947ae25e225a62a0513b7a1d02ecebb595f5079e3162315e2477d1f8b3abef39c6b61e350679641052b6093ee523badf96751732c43d056c443d949b02c9ba53c1f1294a875e587775a0ca677289abba361d30f153a7e08d9579298785330b1393a32c9d30bc944c634ede29358bd15d50d3cd35c48d92a7e0bb21ae00d342a60356a8e9777703cb25ef4c1e46037a06d7111445d2af24c132f4ab4754916c21b66a13023395873c50dc8d83877278aad3645f0e532eec6ab0625af0d17c718ed57b5e6266328e937062f23124ce1e03867802e8b3479de973d511d015dbe2891550de44e6fa4c225078d872e22efd35047e42c192a55686641361fb9751cd0e364e575b46812bd89124d9f6038b69a9b4fb4484517a0c2932550975d360ba3006c17b6791560b9d905c670115f044e563c067aeb5d94996115be0fbf57dcd353254a0f1c4a4d3f06716f14b55990353065ad155e5d5c99c107b8ebd05f0202753c2599dc0b596fae4dfe53ec1087b32b2eff5ca54196ddd659a4cdeb0627ece03427dbde461ee0d21bdda56d4052f90b6b326c7e66d47aba008393c51041f8501db37b4c275d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442d96b06513736379638274f93d3fff3b342677552b87198e3fa8159d562638a948dc0b8e41acef7416b2a8c772fe2dcf19e1e79233a45ed87528029148592726348ec8434da8c62d35a740891a2213b430620a2a4a5c9bcd0eeb15cc2f367c7f755454d067f0ad150ffaa86940b5f02965be6fe1537a93362d5fb04945e35bb410abb0cb4545a9be5a3580ba27fc953334d38c586ee69379344161b938c718493070cdd9354430d64c6fabc2779eed125f5851a867b62c704dc049211c0759fb170b0ae161a974db471d91544e3c0e8f7636d61942a515543309891b000b7cfd2c8b509d4ec68ada42cc08a8129d4fd03d072b36107f7e733a48a8e42f47219c004c96fb3ef5fcc576e6a4ea2a91323a46379c1f2665f4ff6c993ae656c588606323c444727283bf5b2b50680a22bdc76d114041167e13da5072c4c448b89fad346560633bfb952d4eb1de132301a0f001e8b7be669586b86ce5fe636d92eecd489a6bdb44799ec96cfcc1e132c80b3e38790a4e71c7d9e50fcfabfa69cd81391aa207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f2a4e290d1cbc791155f98d03d17a7b1b922e186e858c133d4a9a4707823e2632026b7650de459c23849d85748f152d0aa17f57608f0ca07636f1753fbb68283becda761a7ad8c409a4c50559ad76d26f1c8bee53e5b0b5101040ba0a57aa95772854d330061db0006ab4da560ee46a30e8cc755223dbb14f0104d63e9348d21363ada61ceeae0a252af1e35cfb5b9b11c6789861487ecd2aa2c02c604611f03cde9c410317c1951128fa7a1c33ace731dee31117b19c8221ee197d1b3b40170b21e5cf4b94e7e274059bc86cb22c346ee88415605c32db01102eb8061523ba4f74ab294c6605c86108e3b241cc49090c92b30505704a4d31c4311b5d1e81f91f3065963b53500b60ae4de774c1b689101943e752697da9590e48de1e3228bb09d549193084ba1e04acecc76928a3340f6459cc3671719177f48a9b263120e33e39472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e01621806212be6234b4e48f6f360ab456a4d22dc7d58e16422455d5984024c919d3411910704c2e8514b7b230176d9a8bc08d328ec5a775dd8411f22225a1f2b832ac897d87512de8370e26eb863adf4ae1a2050bd257314714d7665e31001a41367bdfae51727d4300809360b133938c4639d3d2731a2bcba0cac1e2109de55054b9cf49f01285cc4565797be5e72907406ade36f3b917ae0319fea8b6883277a4c7499150f8174e21118c2ea272525300fb8e58d0437eed33586d762551936dd3a90d8612ecca65a4421d15b0f8977e44f2f4a6b4c004d1e73bced9e1a5c16a43a417124602db4b3060c9a1e2c97ebad215f5920315fdf773af3f9761061095b4fea737f1b9e725471d4369a6723ebe72ef6b590535ebc823d2cbda81e8c3cad1ea8577e3941bdb56faa026227d925fa374c3f0142e04fcd1febdb14172b610150389eee4bb35cd14783a06a0553246d76bf854f093563e347cc0ff1421cefcb34839916625ffac716aed639090b7a4c5a5c665740f16b71462dc6882f982bd76158f8e247547f214799373640e1ca0c3a4ca5eb4deee808410e999500d2787b0593c10a643d6f520954aeb25e8c23046a0e2a0a515e351b4ea80eb60e605dd176802ac36d6e5ef43db6aa97412cd4c10b28b0986db7e1450869e85d24889e1e68ee948d617428b75674b91d65c6ce3a0138e18b710ad2642cb6e80a06b7c3a226b36a9e091674467720729228c20ef45de41939087fdd3841c216d32009afd548b9fd313463c84522cfc060130000000091418a022734ac7146376411c22c29330b4936732e151c591087675d6df2e33a334e7832c10f7371e0ac18427f92355a26ceb2290eb1d16a84a8f41bf33f204cba31cb59dc59c40213e66f0fe310a80bd8f9f3378665d871b874833b79f0aa07dbb61e2f9f768b1d5405845042aaa71bcb74a61b784d1f1057632b36c95490080a26d11d86f9b9297d82466b47e7c721e3533c06e6046643e37be7148833be14c1a99060f6b4763b00485d47d06dd84c142e8537f67c7255cd40e73ec44f9d68ae8cbf01e4012359f34d1c22c405a0289cd5ee44c83e03508ba7623d37d16b24b500095a8dba9b3bc231314d8ff3fe4577956438c82bab230368cc205024474b56ff37671b3e2913dfbee65f28a92000352cb016e2cc8a32d6c2e828af02294b7d6ae16be896c52d28855c531cc682055d68c03ac47c483bf05a9154b6917f12ba64d26a36fa074a48acff405a89f220ebce3428aafb0a52e8fd5545615be60baa219f0aad4bfc0c97ab0625be56093f6073e343612af64aecd5c110ff476105fdf9e4068b723a3ef11f805ac7544442ad6040391c0a051a39faaa482b89836f4e72cd1d840c1421600dfa1bfad42502b3b82642f93f8e4f2e33fe3ab2282259e27f3732f396700b7740951fcabfc21af6e7641ab9e93042b88c4a6781de1127eb63725b2f2859339c70360128044d16d44abe4431d98a11d02ec96d9913631c0fabae18eba7434f7c5a0b3a131803016e26c15e800597622bc50811b15fab256e65a3301f938c3001893a3fc841430b1dccb1223f70ba1557893f618842f16dec6bbf2157b7ea30a0c3f6469a79e11d3ec93d127adf570e45bded1e8cd15d3483e03055e69cf16d3203d566d0315277de4d2c06ec292672c4c53f76980a8467afa1e561323eed3f0b097f02126a627001daea72b815d4698c2e3a2fe5e2e65691a6191d5f50eb3bfd300400bb1cc70df24c8f53eaa01a491cc80d10e645e87375c1053fc58f511727a8fa09cc76300d6960305e0b263b6ff72222500cbb9a11ff4bfd38d88d61385e4cde2178ab8f1562a3c05749e58f0606ad43232ffa991555b85249e16d176e0be2bf75c81dbc5214583f2e6e3eba2a797a5a3e532e286a14c20c08e9e6985b6d57b4059b495b5a26de11003f1fb5313676183d935f293b87b6ab6666652445b3c15338ae43b952a023ce6a1437a163464876669460eb6555b7cf713bd04575628bc40b20da08297bad151798747936a7ae1c60eec8b203559bbf77df17f638d6b4e74f66e2281aa3aac740001ee9758189560c36b7891090fc711f20a6c0024945d61cd9acbd20b491780b26bb7901c106f003d596e4703458990d82cf50114fe6816a8d261c627e4d81610f078e172a33105f0c1aa309490d8a09dc552b36cf29285e5edead6af0914e1f8f5abd07d4e8947533656b72c7d12e761cc6aa0dd3f05f46f55d145aa9a22f58022530483ed1d3574c091c4b62795b4bb601636f70ba4f6731956819c05cac724d0d7b66fb00b85609aa626c26743f6368bafb7504d7751323842f2b78a55758c2acb512b71ed42a2e1bef1397284d4afb492a41b2682f315c28210ef63586486016c518c5c12c5579e3d105b200272a71394c660f3adc076166e5683b823f335e7a553afc52315b3523be72d2b3ad2cadcec069c060d0159e99fd49afaa9008df45720592f473768981113cb47f1f18ebdf9028da27ef422c0be82f9612730700359206e9eaa41c40567637be0a821c5ec86149b192284fe85b8d19c43ff50587f37b6e04b27d4c32a90618c648c7042f8b462d3a7e1d42ef6bb517e2209f26df813b667fe71d1a76bb84431a612f0e3669204daaf6940c34453053827c7c6d08d68612fa64037729ac4f4a05e0033a623cb13cf3613426fd68fb130097193bc6d2044cf3a8cf358677165488fd0c1a304b7d6a0ed74d00501b4c709e8dd548c71b1d28d53a912be7296a767c7f1d71446f221f3e96b844c7da046081b0e45054c23f211a4fde052d9b045a5f9b5a58962cf87349154e03f8b533663376085114290a70dee37858c9250873dccd9a550a5c274cc605a65b04daf408a809995605f3d64d0358d82fd97e8e0dd23b4c4aaff1906cb6c94f574423955307675418a878a852f1a74a512446495210347f2a36f6a93bcfa1a372e8d1b46c912a8d114777ae3360d65a21ee44ae73acadae1509b14e3a1c5890385ffba436db610c0af287303eb189f9459de0930a466bc670faa457429c5975034c53d92d2d3d17519d77ee591f4639134e15985ffcdfa36524fd743cde4d4c6ce2354f4fea7f6a6d11fd3f52d854396e0bd6a3229cb9eb1be07ca72e0fdc3246fdd70e4037800d056478a54bd3c4c20eeef0a62d832f016751ff4d775c386539a56a06564591ee5dc140ba3de048c642358f3c5272a44c1a35a9221dfa679476b0cbba001eded12a6235b86a65dfa31fdd1c690e1e723d10798f03445fc5ab70b8e3d026872ada4131fa1045d3f23d115a219f1b0e419043b5adbe3fb7fa6f466901fe76b69aa958c5144018e40fb460ef21793dc4108118f3d6973920635f3c5c0ffd1505d420404d7f0505fca1c368ecdc665f77aa3111013667752f367250760b37620009e50e65293b1da1ccde626bc2171746871738b4779d62195ffb147425af130c72863839003c2ec1d9c249c2c10d04000ad5681fb746388d23d01b903a6e296abec96362f98c254300175fdd831401e9dd6669e900b764e068f54c823d4e695f8c0f73472dc83e1aaa826d08837f2a5af2b94ff00606426e1476233188dd1b5e076939c2293f29323f6e188f38816e015bf76f24ae016fb0d09c4bbfe57c283468e940766a6c3ae852b363039c7156ac380d2adf62ab2cd9fd5853bae8b00f7d9643159b56865f6faacb06e8eb236fe1bbb25594fcbf1324a09f2e9830ac14fffd3a6879a9e9644ef1fb32e55f6455e5a6d1084f55cf28aebb0d35a201c467b694a06ecd70856250911d2adbf06928f70bf759bbcff500c564612ae4103d2e1b230173df53eb1abb2b702d99ffae2043f99176232a7f70273446516f06d15f31789c3122cc2011f1d5955511493f63b2a58f281464ad318acfb80897484e0384cd543f23fe460e9863b76ce8050223f5a04251be868d0cc37b710d84ab583fe8ecb92a0f5913496c3ae4393c28c61fcc239f5b951f875605ac6273761d37072923d46575e1146819e4fe2d9e80680b77fa302f6d203665d34f564be094ae45e612ed2a2a29fa3448e8d2749f2f51414e810471b236e323e6392f45e3deb876bdc1a627ed023028460d911e00fbbb186209d672c51c4a295ceab3433af02b633c86a425adb542635963ed3533847a23378dbc2797b60b0a019e0c69ec272c10f270e81ab131486ff6479c44084e1b0173e51611229a86519ad78f3448f62145b89ca66300ad604f6d587064b44b380d0fca01305d192668caf7a32c5cd6b0562617ec495c33ba5f7f5cc7680e6aac45e3fcc976bae21b7153d799367770b612fa199a4cfb80b6644e6ee842cb77cb3af8cdd46d25ada06f804b2f2d6724702c846a1f40ff642262b504f71cb3afa93f2598f0370f6388052687ee41c2dc4d60de672e4121086108dc70d93438496a44b8a1bc1346a1c1217f0763125101e974d6015d2f316bed464b52cd46e52af930cc2b1f46bb975b165d078909425b943b85cfba5c2b6d0b2c36703712d03cac40ae78ac3c5a831565701384278776946a46e4ce15ed6567758111ef1564d09e1ce1762f67823b666781bea80cee478506167e9331330fce1a810eae38bfd1294f67ba6723b0dbb9120ef38911ad411f6b9c2a2d319be43227dadb683167f01b0c664fac237b31d877cc381f2ccb00de21487ed85ab44b946fc4e06722efd84d61a4d120335cb5844b227dae133c5d7f5bab93d521f817ae067c3b524fed2efd2483e1d2165621e60a4b34cd7065b0e84ff7f5b048ee0ba25e4f872d25fb0819425dd448578813d31210f36f6030a0316dbe9ebb015ae8453abd4d8527a8799269ad9bca73683a990873d11170530a62109c4ceb29ff37c52d6c10f039eeb91655aa28a6056e2cdd3ffde7d120e2cd585bea471c778d4d1d05f44430748b6bbd6d752cbb39d54eeb65582575202ddac40e7d4164161708f4422f8fee5c3703b61831cc814d626c3629f7e73e6c7689da3890e9560f63a75520b307e95741892a09a5df6b5603172c5b1d23af14f693e35b701248410e6a5f4829d60b25571c18259482b93161488319c09770549bae5b24d8516f3c7124c110ffa8c41961d15043dab86b17b84a9516ee16a23b5cc5f360d338f85b31b17026891f6e3cae46421d3cacf917b98a361a1b429839d3cc9d34bcf94826d9d71a1076079a473cff50635b072429a1c5803f7af7e51ab5a3e136b739ea36918a4f4f9e9ee51696e63c5618c23c14a5d04a20ba3e0d379de56a37ef23a05952815119ad983e30396dfa633f084a065722f202133bb44f3573674c55fefb6efe46de6700628d613a401c5cb459631a77ac314a37a00d4d028254647e7869650fcfb874def77c3bd23f18294412204b99f4150a3e23e213eb742263596bac62ead16a34734a990e1bcecf3612ba21561760fa50cb5d0e750f750d30d9fd9d222873ab61d5ebd5374d855f1f92d1020c3733c92fd17bc662947c6e4408e0542615e17b517e3f3265630ef405f745334ac1113c042e392144abb81f74e8d2eb26c932892d962e3a141ed4b569970191035bd3371e954d682c1d9e6e76487a974337770948c4432e3487d7371fe5bdfb32264b9b161fc30f5a029f9d6cb853550bd482663d43165b4a50c8015c4e0d4a41080a1f3d36c0850a4911ad4097b93a13c344e16a5701fa0250a9cf1f2e56ea5c2a08f20aa29ce32a065088011b9b08219e58b901feef403663e5f33821e4a15b69a4046bd91c8f642f9f5042964c1f458f6838731d1e5d270fcde02b9c79f26c8a04ae48b9cbae3510eb1e3ef4edbc6d6c23f24a4269f95cf235e80c8c9618012e50843d1f999453a44be73d53d2f853e62b6876749ce4758e336a0e3e26824a9687c05d983bea4c1e05003252c18d66101ff61abe38a2748f6954617b94c90dcda4dd6a595133474142444e893bfe74ae71c432b9b2e459db3e8f1526fcb24b459892570bdb565f99a8673eb044eb4a3352350cd53d024f51e2821c88788f64f096a5277f98525357cb24355517db1a24a68b774b25774960528700a3cc9643a486de64d0797758b520a3765142c901abc695043e5ff51ec5b20d3dbdca3b1deee73b3b5acc18375e93b85b192a3f2880aa8c271a1a863ff41e1b283e38d45226b63d4b1b998c4bd6e5e05f3a788a047e22fa4b1ff66077faaae33ec52d1151c94fe54a57773477ba6ef21a52a76e0bcd10a43f8be4496e3b2e7451af899851a12bc00b0dc3cc50c1cf3111c06aac594a54cc67a57bdd68c379424a85cd790fd962275339ad5b4d8113b254d3fd916ffb5882120c1b3d51550b4d71b0c9c2767c33c75c8774a4440230c453325d9740608c0222a0761f0b6dc55b28f4d5383277f5365cecf25964e4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4a7e995262fcde562e1e58ab34a9080148d4b9222dcb1ed560c2f1027300000000798d52736c392d28b3a4a01f9c6302616167c26cbda859422387fa46d229aa24868b4e1618edbb0a93ac6e52a901da665489b43dcbed7f5162ab82707bd83d11e96abe1fee4e763d46ca865672cd5d28e5f709434be43c19f33b9755e83ba70bc4bb035bbab0ec68c9da9254d0f00c2eb239d32c0ab82d440c57d74a7ce9dc32a01afa258e9a53111b6df45ccbfb1b467ec45d1eabdee332233ca2579f33e71cc72c98273306234e622bb720bf48db21f7291f223aa23d478e3b4b197188b75e5151d520ed285b0cc3e2724298eb8b2a67c0cc257c997e42a48a8b6c4e807b5acb02e60591307013ea6c0e19762dbc774e5ef60b6a60e0763ccc6f38e68ef7353035ca1716faf73b956477120c20375c9366945120a9583371606c44a9b32b20c3048c165f16253c657b8f48c76f92101eb71319631a4103b2d7a9731ac65235770a5c38ddb8855ac862185f458fe63b050b384ac7c5f31cdd85db5f7222780dae06475d285ad43e0fa7de206f8b3c66c6d5fa3e3ed57a67577e9237a139e644e23e26132e4e4630c042b743af25164c6e8d2c5c5ce9e31912ccb22cd0752545db37f50b52cf05502ea54777fd94144fbf15d610c66bee1f2428b6088ed732392068c75768a11610ad5fea0b88f5ab61012c912263e838437239ea15547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fe0d0d511c617896cb1c236168c7a4b5a952dfb5d42c4120a93e4a607cfbeb44cfff5aa65f7f0e86f418c7b67ef8c77693741281bad93734525e2dd1fa669221c9079ba4a3f6ada02bc1b637211d3f0450809330a42d575002c33a811272cea2bae21071df7949b5b170b004f13144241c98d0b0e51c2920199f18021d37742545d7de7268b89644f3e255306ae9fa07716b61958521e6f1725ad5767181a2421c285c15becef69710f719d5efc53dc4fc891765061b8a2377a01456004d409438ee8c745bfdbc335f44c525563518b1aa63c5736fd101c066e997e23d4e90975070d1d1d8710bd5288ada850f575b03cd66f2248f36945173ac6ae52641e6536a66dc1366f313f08d1e8d61ec6b12e3b74edf9415513cf311b170024d34c251c238d84712a79ff5a7af6e10b8ecf2b0fe7e17477df292a294986e54f0ee6a531804be35eaba74a5a4cc4d307aa7b871edaf236298fe57a3135251b0fbb8a4132c9c9572ca90ed726bf3aa06ae8f39d4838c20a09aa14d36ffc907207a05c3d3c72d5fb300976925f2296ec5551c37f27362ccc21bf43295f69c6086fa11ad95e8046fb4a4f528a43c581da207ac529513cb13462550c8d122f047b75bf609313d6d6cb5e8c9b3f44bdf3d0471c70b548f33ede5f67fefa469f98900fccf75414aa2c1d31cf4b58586efce6379f403123ac396d52d431f5255b811e3b24fc22592e135f39dc1f6c4c1e466f11ddbbe75fff7a2f599d5a004b08f0d6565b731f1136f019021e05e64e1c77f5239232f63a6c2fd826694b3044857f2b302ca20512154d8d43d26c3a52ab9f6e75498a3d55c38b7e675a8ef90f6f9f0c652bd04938f0cc6d1c268b4e2add7fb627757af63b5cfa5b0921a7a058b3caaa3c4a846f1809edb15ad6ec925b38fb99530d1dde561644d873e6c3b9066cfb0e167dda983ba2cb1a409ac20027dabcaf20eea4724b0d04cf56302b5c160693d6089594f50fd02f1f13fa10c233a057ff748130c216881c9b5476a211646eb383685ef9d91281252c6df92e97297510ad40c9b3e86bf8266d434a654333de9a00158a135535c77277135c1c026260d82c36eb90a247c6b4861e85da1973e085526f3da0501df6512249bd993a0cf054cc631bfc0f040b12096bfd49eb5307ca3366a5db9627a1184443f86eb43e8e03a93fc0684c4a1db5816d6482d847b1d44b307e0a745098cc925e58d537211da4676ef520206f52a4a048b756995fd63c204890def97395801b1254da343bc62a2444dba65262b0017e6886d18c17d53b0f471ddc7c5cb06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f4f6fe10825f3de6e54ea4d23239eae3db7e02f482c5d8a196891b83ae4337a08e4af3c483a6301425a4119447a8dc80a75ae4c6639db02027a30ef6ba5c9530a994b5f6e2732a85c1bd3172a53e8f81cef126655c7536e1241e77a0bfac3c1351f0e51199dbe0a2be8d95469c7c0ed4f7429321312e77e0440a2c724f5dc3b05b628ba263f849e43b87299301e356f45ce79d06fc1333267f41c1a21086a0161771c496cb322634d957e4a0d4b341454b6b9ad757176622482359d562f8c790dea0fed1e441253752e4f94097662ea14cf032d65d88850752ac9ef0d3952b76b412e101cbe7d330f09bd5f1de8b5ce127537cb2dc3ec404046a8611d2ed98f53b634d544f5e3a741185c3902f1cbb25f421519500d242a5296de1a43e053c76557d9df097404bf3667436926a6dbdb54a8ed9721e84f6d1932f5560138a82e41374a7d14c0ccb760b21d386834fc5c5adb5ae31e494bda04e3085b1873230a3aed94ac1d7f8c260b7a95356e6f9e5b3ca8dd7a1a89deac52afd4a61f1038365d4c9d402f8c9b5565c4ba845fa768205995ab28009f9a6b337d6e25717c27dd2e5310f4755b7b792fabfa433588e39518ee6c7f54d92dde38c509063d4fba8223f75c545926380a6da524283c43d9553e42669c5aadd91238aedb33636c6d152ac0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e5015337b86f971f44214418506b0480854ce7c8361dafbfeb4591797c34dbc6d11fa204263c1f747b5fedda0e59229a0f2e30b57738187cdb09fffa171f69fd4304ca88fd771c79e74f43eef31ae8bc824aaf0b7f174fd253621680dd6ce06e8c593af43571a095a90e02ceec0b34296c3eaa6fc70397bf2515600b790dfc4da357bf308b76244bbe3bbcb7d90db5faa453950b18188d29031ba3b5986f8c305f3ce57e521a709d515fb6e1f66e4abd8430935904132bdd2e525584761f8a10e71b21eda1024107123a7fdb3a739c7da83ddd98122f488a084bcf89a943bfb1ec5c1972685a3228880697c77663cded374dacd09b6a9594715a2ecfb55355f0f32c3165b871e75af031bafb7069488e9719eb28f0514c63ee05ace6982242985664273bd639f1c4e0685adc9e53c507134e529fb7525802e4762131123bea76ad5e3175e26cbd213d5c486b592e3ae82a0cf1a69c50c707ef770c5f122638285071dd08263832d1ef455a56cd0820d3b712e96b9373af9a413e1da0b930c2c07941f6d4ea0986d8132ba4e0cf356800c105c1bc4823d0dbef67274bcc74df4f0e4ef4b68b2f20ccae2c5a1f32028a6bed5b984b415f7128d822746f20418b48274ee910ea13a08f0e29dc7a615c86c8ec1b1a2aa40b9c9f673a025e7e36f9481c40cc10c93e3478015cd798ec19e63b696344d1725c0a9af82cb0aaaf41d7181273596fae4dfe53ec1087b32b2eff5ca54196ddd659a4cdeb0627ece03427dbde461ee0d21bdda56d4052f90b6b326c7e66d47aba008393c51041f8501db37b4c275d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442d182d885b851ecb38a218d7358da05e46cb0c5020420754320b796f325aec4c025052b03d78d5ca23e0c87f560f483a2a54de356fedac94491bf69e09f0aa68399d685a4c3c2fad3ac1077e0f1896ab6b4d49735cb8df55084d59fc3f952c6f429337941b53d9344c6622cb73f561550da8a0842e95c4925d3c1dd71ba573952c62dbeb46870eb53f07976c383262c27570518f51b0b41159c8ce590d39763d13bdbd8b44c954c226b4a38b52f5dc3344df2262543d3f420a05b0a40f8c80de6d11daec666a507a5e7828e52902881d0ccf4f324c53930e0fe7e5e45f9306b61b5c79dc0dd033e33f5391ae13fcb8e719a1d8ee68acbdf90a4ecedf56dba6ec5e5718651ad8dfc21a3fa0380cebfef03a13f2a973f379cf30486fdc0cfb9a0e76bb3f4311628e4c1e6ffa427438c3c5474b23be55bc875650ee7ca540f5fc513d2d33f26e2a9ad3159016c36a258eac6308f26740b8b00c177ccbee162ce66327cfbef310fec3cb0f77d72b6ac89ce857426f8e3f915287181bf5c8692ab64d324ac9124cced82130da03711e4cf2c71244ff4316aab84c07d7a56c6a83893f4210544268860c8d4e92a79f5c919ad4778a1e1d20e1e547552c5ccb51f3a2a51f3d47570e53a95703814fd444c9ac760071000424faaac3206398ea29d5676d5568685a5d8721e71e28f6db6fc3511b4fee15a73bfc793a61ca914e57155cc36f7b7027381f8bf301fed256727d987d31aa767b75888eeb171c920427841cb3422a8b764c19aa8c3ac4b7d071689e68201f12c347022ec209205e2a273a870e0886fb3a005327e64677fc6b093a578524faca1e5c4a58ea471819e35e9a5a29036df7126d37499a3f9e7dd45344a8c64978f2d83fd4555b391b522f050fe54a1b057ffa1488148f04a5bda700500cfd2526937354e72deb20183e253a1064521863c3885886e80856309b280b42d36674c103c718793df403c87f7e5fec986432886fc9606fb2bc637f935825f0604865e23df52782262e5812f268364e72aa497dea1117f05737266d6db8353e5b43090b9bd22a4286a50981171642f75b9710830e010a109e3a1cf334c96a67557c40f21d706c5b9a9870f5c1730ef3569009f0815e59a5b85e12cc24411698af1a35aebdf33070c6d118ee19835ef28d1e1582583077fe710a53ea63401608abcd23e02043287e062735403fa9309f6ba31ccc7891523ad2323a1652082f5922502db0a530163d4ca45e8034c5525ab88173b653892888cc9a2e722bbc55a6d7fd1f3356d11d8b83b9063eea95025644c50ba7f0b170a7cbfa4545448f5c1cb17a18f2ba5d4f2ceec809320e6c448b599147a7b9c85bf92bdf2d4ea49d545c2cd60185d456458036ef17f7399c0f4c0ead54392edb043e9c866bc712f51668787167aebff63dd37a4d2168b9f46fa88c6533f0d1e61c97786b46c440d405c1c4ff51031f5c755f156d694bc3032e792f5518ae7d9b698bbe5b59e58cba38612ea471d21cd52be3d3d44db5ceb1187c87a0767ca37f611a4d13660f27c15c14b9a56aec131b3620f7862d3519f3729f64603163d1bb2e1d4ee74a03eae6404edde66a94836f1badd77049b0bbea777cb0b61d49a22e6043a17c3428b3fa039a9e10574f86086907258615d4cb0a488c2d9f65689a4239e4fcd4173228ef749d688e142f0fe3497a1b546c3b3f74713f972119f2fa96499a6b7c69900c062402616036736f5d2f6dc020512c9c9c32059ffe0c37cdd7717690802c2532577212e27764b014ef439843dd632c44b32e86b4063171a03d3481410e699115eb6c9038eb715a84c2248b52c86f8c12d1687cb50e5b57502415e569d8556fe9bb1713e36e255da9934baeb1a03aaf636326799c48361408a54bb01ef73b89bd4b4680607238d7e9310e196a8527c93e840007b286198c8fb1688bdb0a6d0a0dcc77000000001170775c79c9ff7661433866dcc9be6daf9e9167c280361e26f8a74ad2f8c0504e7b9c6fdfaa9f65fb629a3a5f3d2c35a8319e767ace6a443e96f6476eac8757cf8bfa06c2e7620d977b92515366296205c72c74386b210a9e79882eac5f8335532cc25f1d5d7b70e9cffc2f2327fe24e152086bb2b17c30c206b325aaeaea37c15633225572d957e04862486695b673812dd818e13219607b994932e7f11600ad8f3c3f7e69c2209a01ad65aa84e631c59a4936ea52bd74123eab18fbe4f448caa6dd3aadcb9051953fb02b9b9db953a34fb6590f39cb5b830cb70e0498f273648c911ae2b9fc2300b0fe6c05f674180365e20f97c96d3cc4189024542de6342b30fa4f79bb311d25c2655624bbd1086da01c5da0b92313319114436c8f8323dd886e574f5f1d701fa6c907f769366e2a2c425e4ab33e0e700ae2491a013f63049e80305559b232748d1b53ffbe35117ac5e046b5a85f400860b10b9ee4e04a868661650466ca4c8c82b63c70836d38c878854a426dea19ba6ab7127d8bd70dabec5474909099278b1c8d65a2d7961481bfc8559899565cb0754d12c861a33e7c7f082966290112cc92ba3cb583fb145084e4298eba9e1f9eacd845647f18377452cc4700196b6e49e22f4f6ad5701d2eb42e2105eeef54270cbb19abe471106ba2896d6d2ddc0e3ed1a47358a4a11c7d9b840df4461008b04dd2071c317c51c14cd07379d67b3b8f2cae6c8abf56740ad69154d5e4b02eb8f95c74ef215a27da69617479b1cd08445f231575051d5350d2f50d844e8a0701b7576627aebf35bc6fb140d6d5a04f4d8de125b68fc9605d34f439a273ab74a8b29b43d148641c48e95c2a8d20e80fe6460c1a68ac1f1f4b9ee576f99ab82204eee841e6b5e92b1f46a9431437024b0e7f13579aee2f2e7ddd5f3d692a9f2e9dc6076cecd83c0a5ab9f422a44c515eb85b5c0580887e67dcbae058aa29f31387a4c61035d7de0403df3851fbbaa4650c191d4d8f16850b47add14d0851c06f583185538d44c03b55c4416858a6f66fbf33e6699097343c6fb9a020577d5e1408a5ec0daa5c8629248d622f76e5bc63588e9945c8902165fa201d5c90e6ef5a7a3cf5407104014965866649181c7b04b62fdd261deb8f0af69bc11fc20a7c47120558757c142c3dd9076d127fb6e404cb9c9f599ed70e4df905d568d63a71333081210eb4b91a71918c2a3adf0d454a4d5f0f077c813c201dd06c285a4e980f6b6dff1f88700e2e1e19db1b8626d70b7423a16f1a47e306a933fa0e89ec5969515db81f881dc607d5d72e39b32d1044108c5f2441b1da22dded2202fe022b73aac13d04519d992e15d9ee4796643d148d7d34694ae1b803c95702572a729d120ce647241216c950b62e110661c45b425930c2208eebbe1493d89323e0e11109797519150a49d461a92d9a615b8945552db2d648e41b7d716ff24c35d4675e5e20d6804a97ca9e746f84f932477cb6684d60636217da11203b17284d9b8f8960b9bdd63c214acc242ebfac1128c9f24a8bc0ba5554e4ed42cdf298593bd32c40342106757ef796371a7f7d3594cb7c5038bab0636498882d19867d5814f268051eb2cd2dbf0dcf2c6505766f2033d841562abb5f65d52a620e9ac33fa9c68a77b8cdd90117614367f931221942ec70486cbf575b3e124a2a129b770826216928dcc5ec353f085717c7921e342246844f6a06173d1c97d935d2ec445ef4a7e63d51f0d0209915e0684a20de4a25b74b4dea588336e6edd130dc9466021a92312de099d30fd2caec641f9ac1299918494b406aed156717dc12cc7d0442ad4eb55e49e59843d7c5d72edcdf8332f2af5e277a49f46ab00deb6d52364025c5d3c73789ba0333fe1f465739d204053757620c9a249e71a5463c41390e2740da6fe6375fdb041e65c3a822cf1dd96f5890cb3442bed74e3520ae2182005f7797d06453091b0d32504dda4ae6cbbe52d820c61aeedc546d8cb75a50620e2b4c85f6835245145c6b860380726f13ca0c72bd765ecd6ab073c1306806032d18203f255c2cebe3aa632d63b12143233128f34d1f2e1aec6d7038762f00e5e2963b2023c91d8bc3b4644c804719ba330e221816c020d28c832c6a33f10515e129310671db269add424d55fba1591e274b5e29e3aa1695b03417c0387a2a8ff71a690bb043734682c840fd0c7c211328496741ffcf37360b1473d93aef0952f3e721dfcceb618e88ca7336817d642a5bea5dd6dc21695d189b4466eac71266df0a4d82b8db01effc845883c7f9144710295b9d5c7b0bd48203340896e7675f12c42a19dc91297e620d2356c3c91192b2f674d8615a1a34501e56a19630080df1851295400f3491e2a3373db4b8464133700e19f2ae066738626a5816445df2b08d68e4a0390d8be64b097875b36581f64d620ec9fc71c4d731327abad0011481df4ec1946b66c7519a57d72744524a494e19192cb06042e686704d078958032623576d1473061137325b10346d0e18bf4e529e8899504bcb7c36843e9b48b3725b1c7c93b209d03f4d5a87209824fd4f293d7407de07b2d2791df6e8173f9697a853653de509a8cce61e8fa77323b2b1cc11eba43e404d0bf974e98c5619065d64633a8a496ef12879632fd255385825645820e71e1672760c71d75d4726d531d818cdf6514cbb002328a204bc5ce9381a2817efbd1275a9f032eb0b4773ede8145b56c90f388a7b9d0822c5265d58e44e1d18939b57c6d77949274d74495924db1254e0507109f1d256a5c6e6071964b104fb780c2132dc89633596550286d5331bcf6ec3528d66594e6a482131a306f01af913816ca861815695bd523788e5350e3303c754207d99615571a427814aea2f7f738437db25e06fd3093e6cdeb17d5087f8c02131f4f7085438323014e1c81ccb4bfd106b619b16629b8f756079dc5fd1fdb60186662330162c07588dfe526ad3711c05dae9881de215a40ebc35c33e29abe7116684475b2b2f5b10a5edaf6cd523da73b8082e347050a836ce2af63484473d4c8585004ac537161c87ff9731c1607131203ea34576d1d80c0acef270e2653b2414dfc80f6af8f81fac8fc66b335dac125e7d1a77d3148c515faf963922e2d560a3f9e853d1c04025a8706d127ed3bc3cade32b6d406e7b1aece4780eb718ee5a26916f55f1fb244ba12e7b0644aebc2a3f0583764b90f533816c1a3835f55a5d9ddbcf17c76a7751a0ce873afa1dbc062bb8fd305fb80f7384b1a70b318e2e1b330c0f0da3da4b1bd5b3013c089077764e670825e73a803c333f704786c9ee5231ce3d5a1c1f212f034afd3c81f1162d627d26310c5ca162131281769a971812634264318b949a04e209ef02495fff4802557c0614d3fe17b7e5f02c27a14e36dd2b9142ad171539463da90572bfad19459307616188d20f80e60c602aa3fb010066701d5029db2563597b3e52e3255deb0c0c019164db1dabe2a13974d0623d8da24e37f58c2b20a575be74befb9b70e41ec24976677110c5f8b4075f8d8331116d3245a87bfd1e47db9c010057021db62ac83e3115ff13f42b484730a3fc17028ffb6fc827d1648c0be85315b05a479396ca3cfa3e51024becef014eae52371c850407179c9e6e58199e6c288b8c59ff5b2a26f8e75e12a3895718c07f53113aa8fc6e570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c99654639630646684138bb16f27b715a3f4076077874aa717267044751142c1985d0b50cfc85ff6ee944b52569d5da24bc3e814f32aa261d545568522706840c06447d432b9b4d0f539f3114901ae739f5e13d361c28352728dc0134b7342e4e0f46b51d521d7a1b23314f61d078a5239024323c5a695d69a14d371f0280f96cb01af82c9b816d5c7ef1ad55140ed62ab204df4f01fcdd2e88876d4ab86f59562afbb0595ff913567bfa0f2979ce5463665d41352dd05c4ac71baf152204bb65a226666e856adb652e440943e12be65a4c7c60324a84914f00d5e93cb567e9496a2dac69bea1ae6253fcbd544653380eadf34a1e85e30840eabf8901587c4f27d4e69a07bee0b323da25170ba6c9d556e1c5af4fd60fd43102f1203564aaf0560cd6c32ab8e3dc415c70510ecaca8d55f79a4e1ebea5be37fd38b51aced9fe61b10fea71a514e520a9fc1d23ec839311a2c1b97634337428832d1a4613b75c3134934b491fcf3b17fdf9ee30b0efc70c6bd29f758dfe45468fec812e5111397458ed10055120c106a1f607569a96a811ce0a641ac837cc5b73714305b9a09f609586be299cd4830fc6b10460dd024a71c337a91f1f8d4d3632575e730086363bf4c94b476e64c722fe8910000aae35181d727e35b085af00ad3a5b2b0d6d5562f92b5e4325bff6466917121e6840eb16bafcbf751508d74d8052766ef279371504fb9a196f1763593c3da172c45383654107c03c8910432c3aa1bd6bfa9b4b6a576e0c0d2219063009a132685c4a0d24d3c71f1ccdb3bc25ed95302cca3fce5bbda3f6707f8d4a5f2944bd0abbc7b67741f24b5bb904096e2f6dab3d6bfc3756943c0e0012552157d1d9982011f1e2433551bc3d0b105562f9d28961dac82e2a107da91d3ae60a5cc9e09b3268bcaf3dd44e7b1fb94fed706c34ec47d02dd518d5cd112128839d2109d1af192b76f66dac652e29e23b5362097de672311ab354e33631008bf542405969d0354e18b476165ff2555f8dbd1b3c3444498519d64478a52f59dde58021420a6b68b6d26763c31b647614de32481c9ff4599d78d32985a18323ab5d48688b00d507384a165c1924c158d2c1c3183c20d80bfa01930329dac06a731ede0f3c0030534e2eed4f87c5084a0d9819691d266f13a667d96028c88b4e4f03344d0a906b47ae44306774c11154dea960332b767e1204860245701f02451ef0e20b5596e664239c4718dc5c695efea79531ec9dc31e094a8857b048502dc7315763d58662251cef3b56a975f25f041ae84af330b729b67ee26abdb6a90eb3b56c0f8c9f3f17f9f12c0011793e4bd643600bcc81752611396c2ee2dbca466e6b6d229a3630462fb57a28fd668d493496cd028fe6c73b19cc6d6942e4336dd2688c5b2f00720177e4c3144d88364e1cac4f6875942346d693d369887f0f60de07284276674a698189ee09b0bef419b5388a4a6494856326051733223ef644116d1c0c535415368fe55d136352b52a8960a526f9e3ff74dbb0451c5355aa560741b1325031086be09ca64096911c0d6c61c7302fe37e256a73090891a9ca601639b329ddc97266c40d185bc5a0a24d2f8d164e3911e348c9740d0c42ab402428296843517a201602579e1e88a78c6d7552b91d5556c618a803075b2a44a15403a3c225bb37113d71154b63a168ed552d32d827232e2557f7fadb2cf51a974c33a387151c299f17d0976642fb8279166bbb7856a1afbc4673edf766e89c3073c3929f3f46d5221147091a383bd9d5206387aa3beab7814272e1287755fe09646704cd16258275544e4bfa4a94af4b25e4a7644bfa11774bb0332e16c2d7c00a4828a521f8511a598ed31919fe2da363e2faeb53008cbe0fd85b2f1ef4d55e6a5a06de0d56754a03a09ad70587df950ddf30706ff8bf2270ec804a00ea4ab25f47360814b16e091ac75ccd2e000000002ba24e435c7ecb48ec08a20cb68791064f5f8707d71c6c0e1e19df4282bb6241fd915e736e6e3e3d10fd380d500f381c7a0d894dc620a0720d0a104efddf492d1295d810b7c4693c42db8253f9c1947234b46d0a70aee258bd4d8441f981b005c9906b59e6083063ce47fd5280d9be4ebde3cd190eef1716d8beb61fc853d93b24ae6c486723e12004214f3e3da530301475eb03a1e2f560c8b98d0cb82dbc5bf5688f569a79ea69f89038402032f9196cb8111f4d99074261c0d915dbc20f125ef24343e014171bc1f3126ff16246725bfb334581b1ac56e4755d5f0834466370e4f32763849d3ce223de1c9102c55d7916e14819c4b206048d690b68874f2677bd4338b62dfd4b07324c37e8a3692c32d88d570d54623fa7b30349a3f2fe1a89a46e1ec387ea5732a3dc74d9aef93cc70d9a66b456695b710d8f3f844e761407cbd46b26b6da1640c0024b9ddec33ee265a11c3ab9b43af7eab56771be6e30a5fba9624f07e6034bef4b50b14a221b96d8b8767a80ad60db69bb04eb2ecc25b804a10e86ab7a3a941c115a6c86a2726378480968d05e44d87d632d00328f40988450691d9d8f6166e8621170ff84285070a54df5c97d2cdc91152594d45b180e00ae5908b9333097521a236774c075e8a0752fb355813804a9c100f7d3f917690da2520f36695ec84e643c7335f63797ea2621b47e055e976fe04f32b3fb5baa1d4c47ddf6b11e7d39f2025664f93cbd4d212edca78b0110542b24447dd51b3cdf033d9517493aff32ff035a489526b8c9772a70ecbb3c2efe5a582a89c858af7304031d9bed74802ef45ddc25784bfa794a1f4945c6768efc734f0bffe334c678af4b2f12b5329486b732ea1de40a101f3f34c17c726a11a46d4eef2c501f3b513730b1be350fadefc824e2ea882e24460b613644485d9c6e943f230bec074e9ced2c08a8461a01ac04090bb68646e47f5a141c92f11b1c8dd5467641591ccc53b53ff8a5fa55a376f55df49dab214699e74ce5283d21fac3ea3191dcf32e2b9adc5f348d4e0a4c979c6e0606c97183d05e48f03d3064bdcfe9029a5fb24f41bc4036f7342254a22fbd4596e5d05e9d55a12ec6acc20b64e3f718b10f1628120a6f55b4ca233f49814a0e5a4a8f3c6f17271d23bfd94bc1554571716a04025a7ed16237a858296da30332a70d9d0dfe414f5a5d1b6a4d13aec041f430385bf9631105678edf4091020f0f5af7ef250403512b306da62dcc253b489683e707f2a5cf58b977274a04cb105143fab636ced90e0450f47f351f9cfd6c91fb8d254ea47160bb4aeb6839af6a1c78dfce066a50aa421921844ccb82d60aea7edb1a7e2af1514d474060900e91625141462fba58bc0f097fc3489cc7670dd1ad102c79467b51fa810f29bc86074ee9054431d9ba136809daad0fd2a0e914324f883fa194823eb2364b4cf02040314778d55531c7801c84d597239eca2940a490bf1cab5ce12535d2fd3ed048166eb30127093f35c603d6d3b91f63c28909c3edf96c735d32489048d636e91c9e63fa7a556d4bc08f27d7d529156bc69a0ecde80b717185f24eb3d4e32085cafc3b485f0a3cb2b1466049f35055655d6e0c043cdc10f2424117cd84e331bdba303208d2014d6e4a1669a5adfc03737d3b47813e49704ea0676b03731e4083db4e3c0694625f30d9e622f3804a72281e7a324d977325c1a0d30a2a754956398b54336b3c500fb78c2a54b389cb315b613830860b5151f6893802775f255d8c56d30384feab212ad9ae2d604e773ce4b1426a03639856448b734a7f539956824bac422b31b642da8439180d611b30afc7595deefe91512ef05156bff761119c5cf7688051415a36918922a6bc4110d183a24600b9c01fc17ccf44f8440b1ca3745a7355116647e852995854d2a1665a11c25e22ea3f0b41ffd46c1a48846ea1c6ff1127de8c13ef99eb691123f00572ba5270bb7f8a31977c3c2cd6b9ad3f34d48950281fbb63b6d7804a61fd80143050e0753b81986745961d7459e37b315568c61c6de5915cd4c9c71568183160fbb74e69e5a17a67b55b5225d440ba3a5b36c21e45647b49994aac6b027aaa4d9c475559e7cd9a59cc78b032ce8e95600217d30d962bd116bc1ac67301e4023de81d4a6bfcf67a1fd29dc76320c25664a89e956f9f607f2c4f4a5174090036327c9259468e93371eee5f8262811f78264769e756d4e10c05eb245f5cb02b6362c46e97592ee6c0485235914d4b458f1dffeac929b9151c405f9dfe2af19bdf6e10c8f70a0ecbcb712a4f0a004c35186c98bcfb5cb72fe503a3c11476dfadde4de909cc24bf5d9a13d8c6753598c9dc56093a5c344d3e971003f0ac3d9d08c72f3bbae91fe3f146252c7c85123c45f252428a223acdcb8a44ec5b9f1670b77d126e5eb0448783710072fb1673cda8262010ad9a0f98daac2960194b083bb15126d42aa63365999c494e796a397157366b7ec0b757ec322b27f37a5f61a006d534e5e07d6f9513cd73f1827e1e9c185323229cdb3efddc574150014146e5871b0816303653632ba656b508200f2c7260198278fb18961e7c2c14985c368d88294952272045152cf52ea4a5d339f8c94c2187f53a6597c0022e13ce5a390a0398204073ec419c4a3e598705733e0a3a153d83c1455b38091c4eb6ddc51add882e6a418a4947cc16ef7327cc09073462f80ce7c6c52051a6866b80e3525efb70eb578fe61238593d474f278f5a70288d8f34542b501ea07df94ee832b90226259a0db33e3222f54b09217b64230074af7c2abbe0e30f6648612b461bd924526704711a23542f862db6245dc2214864145804a2e6b04b6fb0285cc181594d41fca92fe6fd160147c2f93d0ccb7136eb62db0e180a063ebc7b6e4d5285ac3b0449dd065e9d2042b34d64636595025f96e981393c7e1e39ef35c61025275c6c05c68a0fd028755a13ac5f446f9f091f5669515814a6a2560622ca3b375a362da735f45a32daf12a75f44134ee84821e71a3684ddecc58343915a90d685061439d9de4347fb3824c46f88104d611726faf01723c4dfea144e3d352586212f233f9b9c535628f612233509328852f674675176e4390d90772d1488740ecb53453cdf39809f8285547547bdb1926dc2d6160fb531a31d75948fea6112efea90c4ea7596b695da66d1ac9b0192424fcd134a12430696c660000a338d4265d60ca3077e20143fdc5f42e7557ba48f5818d6f894b570416518d56ac9ef702fc1cfc5243b4e613c85c6a3d257e9e04b2f6342d5d03bd2801411f0b289d2d6484b3334ee1febe6c88f55c09b25d4043ecc7133819458e66d3828b4beb9f1e545869f65d776ca56cf7efb60eee7c033c4bb3e520ab1b1b2c6c27472a6d314341e8f60c1471dbd950f064ad3ca196174416c45f32b379dd5ef2dd8a54f89d691d851ea44ac4558825b2152772d16bae67468dc25f640cb669fcced24f7ea7fe11983f81059586981149671d5ebd710f0bcb211d69a7c2597743b5c430906f6262dc485a67d00f3b5f9f8c7a5f70b1996c1d5c56481869f829ada2624ae8d84c70570cb32ca66a2c4b9aeca45c3545d72433ac03157747a73e5c16e83662a0ee2387af016aaea37577178c0b5cec49902e8964146a2073975dbba7053950d0051ae8b44062601f2855a98edd27275df039490d7d3505acc131f3fcc12e0bd1013da6824d4d2ee76375c9b56033f53cd41aca19391a9acc254d08a9736df8bf8701e408b017eaed4e15a94539092a55ed50bc52d71c64b9b4740eed7974479b3d64cba2a642b9e5d94841e7290946a1a20635e4f65679c8766b1497782a75c79176f3ec98273c3a4225e00bf865799c0e11ef51792da12a061fc92b563749e09b1f45a1580f4a8771517c3b77615071023e779ad12d722fc6569d66a9606c9efa4899263e6ee493d92fc8db4c40a605bf6b07be681574ea5c6965b38d60510d1e77c33a852ccbb3760a3cbc053a555dd231756cb93b358f0a5b96eb5e58f8ab6b34f95cee256f0309644b29bd057ce1670b52323b1d83714302e454821bb546b4260d82404bcec16f32c97ae70b75eb3970a53dd02dfcd87c5c307f870ed9bfa9180600393bf37f0806e048791c20306c051edc8d31457450281fefd16c5f88ce0807b493324a4bde3c12912f3e5781f41ae198a62d4721cf1d48891f617abfc2154f9d3f77d55f342a5164f1108e80ea30cb132303f318a41ff2c52b46f9c5c83ba17efa604c4b1220bf9e2c15ba913d26d2d32966180c2a6047fb053f51855650f1a95e022e06683bf8e719075aa04b5296d6e733100a5b11990c091580dc4a3c719eb7186c0b156cf14bc10906405d7331310559bc99066adbb40d586af93612f4e9e8036ce7dd0910a6f562b1989d47ffb0ac6d14fb286512b22f6a384d193239246424a07612338e64840c7caf023e563efe6e82b45072f8d0063972daf234b5968414ff58801922b4f418e1095f0c3e1f0402bfbdca6ba3c1f80cc60ffe5ded914e5e95b0a31d4b81d8100002b435d5cf316b25349856a679c90d8c9f37277a7cf012f93fc414910e282288f41325fca96802180c4908bc22f769ba7bff33c4227c38c546082fad05d9394470b7618fd84807da39f3524162db0d81bd0367058d8959b2813a478050604a17bd7b21f10e6c4f9337133586628a566f758a1a1d6d1f2ac6eb820aba48fb03b693716a2f4bcb68e8157a5796bac606fc1af412e8580331ff412802b00d6c259a233f10a9441767379a024932da003f11004349a3b1cf722610b2576c92bf75575a5270628eb50b09d3ec620ec7ac430736096d806a9613ce892b0da156a176c7725b1ae099ca6dfc5c042037c8291b1f414855c23e1c67bc0db9775706691057a97e3c6aed5477d185d7522657351dea416366a337fb72727360144db8a337773ea72e1c829e34628e8c23be2fa972764ed66a9ae1ab507040dc4f7a867c169f55f03e8e2dff604f76292a8a17943d562c7563fb16b25a7cd5822b0520c173a5729a192a745826dfe3971be50f6d4be2af496f0f59904e210c6d770e1dfa73e9b5f8251f03b52cdefe5d1fbaea755a93c4e22dab8b8619c947213f44efa156eda37153f95353358b07a11ec78425681cc4323925202f086777745d399a0d61c1313848bfbb391f0df62430c843d310fa538c233e14766878a9196c4460580734e0431d5d24e82d66a4da170e92bf46089e163d4541bc10b594e4352e6cdd508106560f0e305055bdeb0e039c11c0568d382f57a6bb9a2521465765365e210583c0667433129a6aeaf81e493508a048273a9964b5d81d464073e40e34202173286ae1601ec9db535f2887273c17943d6f31d96780059924a7275b55589c0e1150b98b7305511e1a5097ca235433290393bfa3636e14091a4223e85bd92eaf51320feb343a9a8c70c10e9e23e1a424444bcc3d2d889180310809522ca9fd9412cd9333149ea9b1012d42e706ff4edf53bd12831e71cc2b7744e9e0234c09f4523daf81231c3d25179e3d6900ed5c3d271d0bbb18cead222e046df2632f62f41390ece8090433822cda2b3b5335255070b91a510d6be5dc259a71355323d3321ebae4b237fdc85c54351b8c1d224996572d31173816ebe914ef1a4969275dd2227313073eca7eca19d51bb741cade2600c2fb5723b25ca75e9fb8552031989263bf3e831f1c7a67566643a56600000000ac86ef467b4b73215618ef43e3534e6557e0fe41280f97016c158c0d157c0f21a0ef6456a8d5bf0c12d67528df164539b26ddb0afc8dd322a33a3e6a02200723734d453d9e3d742975eb4a1191d60d6542b5be094ab8d6107f554d68a56d9c3b2a186f34e86edf653f179820be668f6d2f2ad145380079205916091f383c6762e7c4583722916964b60ed742cbf17e1c20966450c6a4a8753345bc2b76900761143fb63148cc902ec5b46a7589ff720dcd89dc206397450799dc206f75d791624b25273d7e3aca2a85060f1f57fc0e491d6c113579900f54ff4c385e6148e935be01701bebe1d740ea309b206c4a803017a72157249e4309570a54345db6bc5c824ae82da78b8e2ae17adb5d2899fe4614af9e54cb3c4821648a5c6d677af32f74926c58525a360b9fa4bc4228ee6317189b5c1c0c91310090db39195a1adb4050658c743abfac6d71ac302f17fdc22ff612d1323c20fd7618138c634353c1172fdb3c5583e2745370f1e7745003f56ec42a2d6cdb18cf18bb440e35251c9847073d9c11d3df6649bf6ca80de8d0c81b0f610414edca824826ff5c040382b9316e02bb12863b5466186f1c37f2481d53cf4b6b287384f21a7f095b654df70f34c2dbe06753ed9f5ec00f444e0edf4244d57485063576bb5cabd8060a79bed957417fdb004bd2d906a452d335dee4886d96099f1f830e4b442ff8ab609f741e5715661869c6bdc756dcf50f057caaaa25c7f0a41dcef80e2f23b1c065a170be4b1897c50175ae472ca6738e315391eb2634d18f06f2703623f423142646cd20105a916b2dccda6955fe493e5ab80a581b13a95b4a55f4335cea287208f858da4ed420992831dce84bd8ff6b4fd363650c34a4fa2a3bc33f0e8dc4a84298d6222538972869838f4274a8964f104b62f848aaa9d222bf8b8d6862dda60678991e3a5ef15d4d1fa2c338a1e9944d2155a2340f37fc6e45e7231595371d579074451f9a8d682fd091340f6dd27b2a40f12741afb1504105c8c333034ed934a1d4952db38b412362bd7469ed09d153bd943f76e9d6ff456f2c787396103318c38b944e0b5e1e4d6c9a0923441b6b0074ac335fb8e613759e75d410a9c4206e0272331c705fa86826b176693ae1ef02fa522d359f9155136097c82223225f5a4469401900807624ce0c46127030c42cc90ec0275a412a5ad7e77b23b67b681d0d3d712d0bddea77bb8ee9761e59d547771238087b772816923dd6523700b11bdc45110ff7ff6858f5d05f4337a5c607b44af506a12049389d2ccc7150a34a68881d36391dc2ac11195af65fa5f9a956f6e51910094a560aa002252f581d6a2c9b4bd46ad24ee7693540d95636267f44c41cda4273266b486aada34e22eaf23553a4a95a6ed5d11469d8bb615ce8530b9924700190692b4e0acdf40846f7553b9bc7604d63ef8912ed5f5e77f0f3a96f41820c422bc0b02b5dd68e23e791344b6856d761716f861929317810354c36779535fc06a557f84b5c09261ae9ace02f0184963071232616f7491e726753c66cb57c01302d45e93586d0ce466d047a4ae47c343ca4ee1b62688260416cfea3537c7d2334ff2a79517f69626ea6ed9f77eba47d4954b0a46dcce1b12af6d37338b011496dc63aec1ade9a872c73d8cf0de996ec58bfaa79607b63190028f96b2f901b1a3f50fe5e12955f9146320c9e0bc9290957c21e18443936a41e7238c85f853a94695c68ad1c42c3bf0b78903d0ba38825726e95f514729f1c6d5015d46b6c5c7407af2afa70f62c310f704aae07e19aff3c33b6332ea95b2a0f180c7028c532a2529700340607319e4b40874632b2a1a42858ba4b751cb11747aba0563f648b6f588cf6e374cadc54391f9c3308c64ace1e3c4bf22447819510c5f3eb57adabf265e412cb4c4a518a2ba7acb13878b77a7463c9456c6394a95d3baff85d6f52441e895dbb5343dc4c21732a2f6ed0b8b639a3a2735a6e9a2a3fe6ff862174e11a2bc23c6121864a1c298835b1384922141f88e6ad06dd2f6f22ca73cc2808adee0ad7f2d404bd68b455ead2694bf212f0696202c2776799621762b192023ae9f21b0972f019207f5b60093fa61ededc2f65fad4815688bd29767583136bdf4ba00afeedb95c3b18cd752e1c813e518ec7500d84b93c40f9b23d9b45102234260d678b9d640f31ae4f3ab9339328eb37ae0c452b2b131622a310727e965f01ca3a1e681240002e741a3fa23d9d040358401185941426f57e7e3d6ab12f5cdaa8d8318d8dfa417ff48608d80a46201ae3555d117e0277819d476e5ff67d41515c2320420c0f3eb0087d416446f34b038f9633bf1b963661e64f70cac22a376f8d084e08d23705d6cbae6445ec935199d8fd73f346f17563ce5d6a1d27e845a32d9d3a5e813d29cd7aaf6843f8d359e7382621931d691f8cb27e509680d471a5e4454de79c904919f0f556b7717e110fb3894338414c6de780be36906c571a8cdc0e519c79db5bc9ce7d4c1a96991ffa29d6089ddde6714ba9e454725dec6663b7bd5c1b58fd6e0ed9806ffa9e12641cec79588043083f0c531a29660da6740e2414554ff27158870bdb1e4eb07e6a166b335598573d647dce1a1cb56e6151b1a63e00c5891a1f5c3a13506bde7b04e088ca3de639233ca8f90a24e58a3131e9c390365e4f0b4d467f1b3c5b8427418ae3862249532e62a0b8f75da310b8196f6bdd6d0eddfa194e4c40017584ed6bbe1d7b2839e7013f6a3be81bc3cbe31ce74dd35e1ba53d31c4010d36037ffc30bf043d01367d4132549c1b73d7a6334abf9ecb57cfabb174d9d1ae0acbd1e16991212726ade695484e98c975408b02618440eb4a9ce1ba1beff94821b979ad1be47e7641151660139019bd5dbde5676bff65de2f6ef8db1dd6c7836fc5a3424df9373d1fc7200642ba189b16fc6ba5700d5fa70b2aac9e6e36112826e7a3eb4dde47e112f69558580542fd557420327759b84c25295e265f01bb322f112e5513b09353348896042fb875d3071d1e0264791db742eef60275a6565513d19113489aef5e33715ac555d1cb9f3f8c7e7019eb27d96771818c0777ee0653d1f9dc2c939c3a3eef97a50fc1f72950201fd81e2ef74f31512380714e822d3fa16c670094d94c5d49d4d0392cbc44097839a40cfa69a452ef4630438e01623ae2f60e33544ff801b230d05cdc441f4ba18d3328709c4a71cc864c0044425851c034bd4c005fa1331ae2df542fa1370426e56846a30cff30882e741b9389d3436424470339f4fe1703d26702407a58575319f51ec1152f4c00be351dc79ff87218fdcb028dfb8945c713502c861c84365c1cf8466db747655a684973aa91a967cc16fc239b2c3e580350d717f1b12656a96ff738f69d6b04101512716e0edb71af20f54c245d1e24e174de011e51ff286af56a13620c66012de0033956e1634a10ca69358264930122b7f449ea46693678cd7448a2ffc86792924924af99262d3b68f13f7ce8ad241f29f02cb9e69d4f9885ff43dd014d76ecb4b25c24bd6c181567915759212e08f1f7305d142eb72078bdd41b73973e40a8832e19da3203412a5c1d4c74dceb0967e572003db6e74e977b692469536d711821e5378d876f29358b191ebb16ac2f47d47856cc88c23891902948b5efd62e0df8db2a2f18a5319d2d0563110d4f0ed5efc53a38f64f1e7bcb891842939451ff119316175d693b6b05b16bda50de4c79483e4a37463c459273c60981bba0354ecf64291bfeb11351e5485e5a997f768b82763580bae6268e4ede17977c5743d5b6aa53f6c2f4208ed3951b3a5f7743981e7821abf65d15405017086c01ef48e8b4040047fa0940a19a88533d4a9e46417057039368a71c6d71ca33f60e5b15fd525b5894c4cd4193690b0ac4c6cd7405bdde2e7e9f98016c113c661bab3c1616fd6e6d5c18643d43e94f098a9461305509972c86bcac5f52ab171fe09ce60c08c22700ee19d304ef702d498087ba28c82cd851e5b9a716ec232d4721be2c2bf252f619c2233404b838c76f3c321143397d8f69dc31863f07cf0e4c373c0b6279db3f696e9ac429c3437b2cb8c3e82227eb8066524d28576a24f15911c6095cb2079b65ce10305d5b69f836cc5ae24526c70b1800dd7268a3f51b5aa3ae3b69a50e5c3f0f0a485c25d1a709fa219e1e9e4b37019567d9546a375e5d5f54823e7fc4716d283e373b6348d529b042ec167cd12f5c36442a729e00fb0b93fb45030af5a72e6cd5f15e5627cc3dac0ea05c0abd5b76ac47f70292c47e5c5e3f9567fd3b0804c6da4953fa5da45325242f4e614d96209d008c5d63dfb046e2240d124845025851c91b2e05e8aa0506405d7331310559bc99066adbb40d586af93612f4e9e8036ce7dd0910a6f562b1989d47ffb0ac6d14fb286512b22f6a384d193239246424a07612338e64840c01e88531e1554c2471db7f2e3995704f6c2d46236032f916a5dc5c653259ee261443d80d7f157f0b127beb257f04170272a24c33f00f3108b7730a24000c7701056e0a3c78ae9e6c76e79d25bdaa90166d614a1a4c43183657e1087475f93c6f531a8c1112c62f66b3fe7200a4d0c75f60aeda577b8cc429672ecd6de986f36b95a4b026a5913062e00d2d1a6ecbdc06ed38aa33bbc155196c943118c701b84f235cda2a5199da442d15711ac5f8dd1cd148dd266093556329c6da22edb01b031071892243118e441d160c1ad0e68a36e3960657ddee1044bd769e3e022a1d5a1b773727c368595e263907147bb15e71699e911a07d0091e2ea7a6707853f248cdc9b73eb5d685461df166149b89530e50909f17b4d30f74a2f9635245e1243caad51d04b6e341099242fc33b5a1783161f8a037d1047770971f1b7612ff9b41195a2826c143101ed3249c3a1afd8d22f670e770b49e10610ec40f7158544836f0e8482af0b9c828222af3174fb10a5a2ecd4a4267c8a63b8af48c3f7f563f443bbb36024846b37796be4b1d0d8a8d507e331216caaabc1f826bc90da687d660e0423736ca8c280b305e4b72d096661f30c5d41be80c4e3cb2a80e42f0853a21f2eb395aa2c81d6a42e7881977c6784898f2c70283da8404b9136734da1ecb5d9e17bb1b67d0f549e4180f49f06ab96552e070678ca749638271a00489294e3a4ba0af0ee9fdab109418210b30ffe50d715df1603cc8a1646d6a08275755a71208f38f2dacd8c063e1ee002dd13f812de721415efaec423eb36362760d1bce0d69cff527bf81f6661f46e25fbc04a84742e6f145a254de5451456a0288fb9d5fb498cf5207565c1f09888c51590ccb01fd0c303612c9812daa70a86ac270d563cb31cc40224f866b6a53aa6dd55c0954c7baff5ad119022aa60def4632a6164fdfc86f271592aa53b26efb546d8f3e3028d6f8339c634b0c3d1e7104732ed24f0693ff12c51c61586bc319421feb9d1aa10f36675117563e72a5ec2314b2664d6d95083d6156741f445d7f0cabbabe5796ab50755d3945498ae52d765cfdd55a30549168f2a4ae5a236c6a3d8bb6d75e9ed5cb5b405e024f81471f594b487c037230f420c84cc1173be2ba6d58c969087bfae14581a6f10d6c7e7d4977f2575a7d1a4740fd9ebf391c8e072231677c092c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225f3f4c6263ee8c1b3d0044f30b92e3a3681b2582309b4c345549deb64300000000cf558735bdbfde2e18efe66a6134c36e96424a64787d7e40ef43190e5c63870750f07e52b170246d84e97a2e9bad9b5d9c8f8d3fd4d4eb5c64b21c45e99eb84843821145580c646bbaffc147b8ef6a4a0646dc26845f4d09ab9a234e80347e45bfeefc672183ba46a9c0af0de8668c525194790d2270304f9a0e1e132550064edd978264bef01d55828e20108dbbaa72441add4311a9851b4823302d2bf479534e5870340540872748587377ace2d714a63578242fa99c1569e2bf4162a92d59cfdd6e6d7490293711404e2b5b73e73e9801cd46451c4e50aaaa36653c8fc8637aacc06a0c1c15700ea85e7025b3d33a891a335f0fe186633187da1a335663603e9ed958404cc55cb3c5074aa845b114c5aede1e133de068d3bcd1113a565d74a2c2bc1809ca9c475f9e5a3503ddd374ab3ed93363a03a5d3113a91f87395f0988acbe59af0f294419115c397361550a6899f116b79a3b4595eedc4e04ff945b92002e54ccaf3f4c04941d16541fa941881b3649e1bb68036c71cd6c740c230cb2d4de1c519f4413fc95f9580ddb873ea6a1990fbefcd75ffadaae5796558c306dcdd46655a4675ebd1e4d5859dc4f49856170336dea542017aa53716f361866537ac31263429b390dd1b5159325403830653a5b9e3e16417a36da2a74d46d2f8433dc6d1013ee6f59f1e8025289da505793d73b45699a4c58bd073fcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334321e2c970bcfb83355dfaf1608ecd545192aa1f0070c3914842b66d3d561e3d31c3141636a413f549624a3a310cc0341ffb4f385e843cbe55ceb0a42efb583c52a223056d6b14816c41eb1c3bdf4eb96741df5841e4962d242f54193c40dcc90ab6d82a3d6b5cd061cb99f8291db4ff679c63fd19bd81b53b1a3ad57556fe68381ccee44d8ff8f73f977d483b86f03b4aeea37e370eb19f5400a5e9556dd4dd01b9910b3d9fed2d08bb1eaa2713cc0f2d6fa2f424a53658516f2b6056e927691181b00f093fcf534b8083d61d655883532783251f12bae15d09db6a07934dd8092ad4ae0e7836f177a4560a750b794700f585b304f9c03f11ca08ea012f82ed07d625a24861cfaa4f6a3bc744d1af21200005c01d9cf6dc1bb41a323a6ca1b334e9c292298a4ed6701c590d031eb5275536dc1a4ab396063822c69218907c3f1df4a9bf02f0ae4a686a1298312552175b04c86a400a8356071d47c959f6b46c478b3cba4cfbea3460a0147758058d1f2288fc7771d900f736630f67023dabf94d1ab8af4532e1ff3f22c50935d33a864364d1c469b9683c3578f4314736e3bb404e1c263affa4f126fc84220b9d3d826a0157ab53ae1cfc6834a457203245714272e00b355cb26805f051526520ecd125a8d69716e2693469682f8805d0fb992dd8b8d54dc1756e6a89fb1e1766a3ad46c017156ac0a71e4cfde3db039353c1285afa2e648410c143a79a9e613c6b5a0dc04e4f021f86e140b5e14407dcf4743a774115125bd44840eadb3963b6a45f1b17f8475357f7b0273b6a8e46f3bd4b67cfa5803705b7da392ff6644371099d4d94248362930a24221cc8f208a26b564ede3d3a2ac6623d40f5ad4f2d64d840734094bf117f7e5e3228b0a51009e6c46573368d766cca5b55f8297e42feb54d254dd3c12e75d97e1ad2ffe45d1f3ebc4ec9bc695228eb801313cfd64ddbece972db050433d8353e6a5a7fef6ef51d2255cbbbc6249e538e23e9d49518dfc64a18dd101f51543c0b3939b51009db0a0834b8c2d437bcd91a42fae73b2b7b20855c2349313852f0db2beaafb87010855d232fa099742dc90a13e4a1f741f7cecf3c2eca1d5b98a8234e7fec033edd78617223da9614749cac4c1bd26e5052f22735c92e0e0a4099e800ab90cd6abc7b402cc6df7f19c2599e51c38da342b6e02061375f711e8e645d77f207a72edbfd7702c20e8b392b34705a08ae7165cb03ee3c4cf89e4095e31851d96c722cfbb8520ed1eafd3a7fe267583f857353f0ea8a1d21e105459b955d51332e306717ce1a015404484dbb0187283fbf3a302d6ee46996ad76312c7409255b8213069706ae210e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a72a1321528d35e5880c647518598b16cae97034084acb50b963f2c21cdce3d4f9bba6c027013594177e03002b1a8a42421f2512f1cf85c4edc7d29035ea8be3bfb3f026163292b25ca6d65300d77c628fec2d26d689bac7220eb76331e56b46fbfd8fd4436b2b620ba5d8705d473dc2540305e68451114298c96c365cc3b3b0143e2e5150459541d638b13202d30f367149d67199917910d28f7cf198faf266726d057413818021673ea160db5a9713265d3001767494d3698ae653697e94f75c4e49a08a3c64a11f800386924530317e7d3f0743ff97f2f9e7c1760799f0e071e3ff662fb11e03e3d9f5c3b5235df6de23ecf0d85a33b7194608b508d28c22cef31b6448a965b4a843b813fc5d0f111c1dfdb1f8475f82dae3d5d5477002025f62ec877458c4463d6158653196eeb7490cd911b8996e215af6c440991969d6fddc59f41cb718a64f1873f0f21ab0b26496cf94aa1bccd5981ddde6119e97920bdcc734c454daf4f4544d924e1417b1f72b0673aff12eb4b3fe7324595e3ca14005bec444109391ca758e619a61fe616a74ec92952aa4e0f888e1f0b823ba72749679d2b6ed1356423eeaa513a87f332c8cceb5b9bf2864a94a723235f0f4d1f527b56275317573332408b1f8dd52c65245e4261a4441a50e7b04c54f9c25f5b6cbe9e458c7b3450c5189d74056f546f9fddd248b5274c2f8f4ec45d2b65ed297ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0716a9760cfe233e0468db111a3feb43248005941d1b0d412d5115ef320c8b59690d832f5382809951b9b15b158e827b44ea69e55280c535539dec896e3001f81cca2b6c625b17213fbc276e6b927423601a25f95193b75332f2f6996ffd050c05c1c1650421fd4206516232363ab4aa297999a91a41559a227daa0231aa235c6e2da46b0bd438162045de6b11d872b44ef747905e6d8a133fe361bb5c85be48692606ac335116306bb098e22ff671622dd2e63a6c9f4a0951cc2ce55261d7496102e33e72d2c94654f4b3873d8350df2ad94c124ef7e93202dde3b54ea2861b1f00010b4979ca8048cac06b5e15472a5d6f18af2761561e4a6978b0743a4c12491d6b7c6ca74edd3541be8530926d29610b4d391587ac29587e96e03497e1dc4ec082632201f1911fccdab02cd4dd525c0575d230500d5832d07e6f413a77045826cac9056e3fe8497de7295f9c69d76d292f2e0a7ba8722ae1bddd15ad9909564201d6763dcfde0281b4d814d5f4186c8575737069ac490e6947f105087b7e13a1bca05f4ea2bf3d11ace64fbf9f02298b77b21dd62aca411e7cbf389a39af4d8ddc876eea19f548beca9d12b436835ebf1331186b2fb05af78b831ed2b0e644bfb42667c8463203c5cf53663f690e5b38dbe80cd42c6551086a943567250a01c2fef01882cfe06a66b15156b1f7b274fab8ab27d1c32158c870922ce213cd4794abd61c5015da4d1c0c226da75f212e1e387639baa30f71c05ade1fb837bd0841ad710b0caf045222f5445f7cdc8b3f216e7f6cd61fee04b05a7103d5ac061b580fab600c28373d2a676967bc42456d53725f1b8be3432aa643b821a15da90f5a37f23f42231d41906d8b2c2a0d1e25491bd7464c77364b09739d4e7fadef157497d45f4571042e820db90feaa8217372f0761012464b2404e85d2ef064ef550f769e477cc108324aa961003d406e080a8f4024649067572e22f05c49892c1555d4b603a350d64a9959db43a11b8d1ef566d12fade48f187c5b85716772b16d2b14236db48e706b82b54d67f52b70048c3ebe716aa5ce7357413973ec3b09611b6d26048f15eb6e0f6ac41db4809364cfba725e745cf509900eea09d6f8a915abc8055c9c3fad698397783b77ba806fe75cf94284cde26dfbe36a61b9e72f6ebfbb232ba5c1372a21569614329c55679d92ff4b5ce6ed68bf985e21547b0324db0fe225f82622757f01ee5cad022957d13cd6469f35a36ca4a85239c9066f5b4910fc235e2dd244eed8aa552f84e94e45c721617ec58a3c4320b61d5bcb2d3156fcf10ac2da8f5fbbeae3306cbcd94e1061f549b35c051e0f87c34a571f0960a7507c3e6c37c11369d9be35cc84d4110b01ad1b6d8b5f303eb7d04de5322757bd31432d78821c5746bba771e52b943d7921362e96fe9e2fffe9fa3da14d2c29584c4f4011e070627b03705ad97d986987e36c055a38c776009df63dfe4d156a17b183120c5709709bff5d5e8f2ff56987328c517835a8317d51e762e6d6a22b88d5516d81428873733a14612500ec3cf01ee45e137c606470ed2d6522c3a72edc637514a87fe357b3ab072bc7e2c608c334f05b5dbba60e1a29d26ea56ba12bbd25946a20d375233f311c0b61cbe1152919dc767fff94297bdbf162f50ba058819d5b550df7a0476912254e3d608530ea14804a463b25356338402d9c4bef3b377e5b5f1a33455ef3365d25674f80110fa5085903f4e816ea62de27df2053438138ca686dcbe260000c721e2b81201c651be311950aa4460b78665887134e477a5f5919cef3c723ba4a6571c0467258a3b7a0564bd13140b0b8ca48cbaeb612fe2b8e342ef08045d9ae4004d277a40f29d05c61a9ec844a89d6ef41a653ed5243e2c968030a4b1acebe8c32fbd4b6151288515c1673263e7db50f22b0948b187ae1d42ba99c213e0813085547eba72535fc8d56e2a2762ee55208032d642050731ede0f3c0030534e2eed4f87c5084a0d9819691d266f13a667d96028c88b4ed45d221ac4c0e92216eaf52e975a1d4feae04d0366b5f765e8427d6ba1dbf15b45cf2e2222bde00351ae0c671c9af7075623954a6d03af4e156ee327df87ac33d4e1d46a7e19f41e33a90c77d0df190f9dfe0e4b69d27c7728e9260f25dd8309bbac936aa6fa5517975e5412245da4236ff72110c67a4a420a83f84b550ce535db3df85b3993c7047434fc68f4f31903b1f2582344a68a5bb58e1875c0699d5a54cbb3250daa3b2d4ef27f6f9b134265313b5c706d59c92328e48219f6285277ea3ec2249b692922ff1cc71cb5320d5033c84a3e6dca3818f0cb642b5f4ca93b7187384ae24933118b5b3a330849e06fb58fd32b1992887264dd3175422e9a5e096a4c752ef896040feaa66b5ebbe94edae5b418baf76c4e05486b27bd3d2d34316d0531e9e7260a8bc2d52c0b4ae3151f09f33f34d06924900f3536374508444a409810d3054b60d3c7352d4fbc6828d098f33ec824c4125f60812c71e80038b22eb87769f51e3d682d3c1c7987e7181ea307232a72c938488ea859dfce60548f5ca81bd4b8011606fa2b66bb9a195ef313a96e93391f4e5810ca31b1c5772783109e04a93cfa50ef24581484cbbf4e676dfd02d22394116114e93b5a9361120e52845e5139d06b9ca29b385e38ca2938283e6a27578e354564c639295c62179893584726fca90b6e671b0bb75e3a712c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225fe82e3b639218fc1b7afcaf190243e476f48f8024a4d82d4f7919375a00000000fc22a26b0e937c5d8a508d01f6697c4ebe103925147e8477b90961403e14ea04985d111afce7464949509221fade93085f3afc06b3cbfe1dcb6d961f46b6e63a9263fb1def37bb6d08e5476e45d8682574d6230ddab99f543b35823807a2ec2992964f0d6fd46a704304b472ddfe9f593ddfc31fb321db3c8376ad34c0fd2e099e7c3f6233b5f0525a90342be01be657a700b94c046d03045d890e3b2bd5ea6db32e7c126367cc674c38ba02ddfc0003ab051d11ae12a75966f0621800464c065ba6d2398c84550ffad1206d8658f45277350232b3261a5d1e0dc13f60da3f43992cde76f41079261b1c4316fc646a430f2d761f454e6f171ca80a3b181d0d4ea87b753409f451697d710c336868644c75a7e6223b48db734917540e5e830e58a819471352534715e92eb90e536d2d73b1de0459392b2904d188bc508588db2b8c8a49649120d6131ba9c921cdee8704727a9a03d89757030dfc5e57b93a0c5960ee8d1982a45b1dfe705d11f2914d5c69bc4815e83e9e3c6227fe565cd7ab121f9ab81f4852d0486496123a58b1ce7521784675f53fcf6a4c264e563634140123b9b40edb021535b919355604fa2976d099594a4ead0e470be9d973fbec8a35f41c2f0a65ca9e75d7616e3cc131ff64faef882dc6fd28143f672e54fd2c243716b06c5513dc300079f97a2fbb142b1077b60e737f1cf246cf9f383bcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334377f68860776ca33623fb282edb742142dfa5e9158881e04d1852cf7297369b6eefb3b46ece8b4f5922288963180a974fc4c1b22118a10a56c7bdac5283518e3faaaaed3f67b6dd3be40178360daa105a2f774a1ce1828c2c9dffcc1f4c8c934f9cb469525c72b8588a891f602c30283e649c376954fb62178af9442e8f17e926ec595e220af86a03c02144687ff3e442ef2b880b32897a455a41591b19fd310fe5ee18216a7be83768c5c420c8f02f2a8a78711e7b297b046e6dbb4577a8364d75e5d5536646dd0a150648033263ad23b4cc1f2e2e2dd217d27d6a1608ad7025f87c3952b47ada39737d4609e8884c37ec276c274326703cc988671daeb0521896756f43350f0c6c7514af728773694987a1b06dcbdedf6f0fcd453a1952374a2597f401d0fe69309934ff4c02d2bf73ba40256783f62214f6d7007053f9073c80f4555ba2b9072b42e1f65568e8da68f2f2425aae0c5211e33c4208372e6d3e895fa94be4a627173f3dd73d39fcc10afa30c05840a6bf1a74c5a801f560e55f774d1c125a564d1781597e5b4df41f3955b72f6452a5352c957f2e4d9711ec3140c2a74057cc80218a2fcb1ca0f00671fa00d254771243398b2159777b62f853828c876771efdb6a2dcb917702873954beed4c6e72f00c39c71fd059988f9f504653510c4f874a4ca5e31a098d6843317ea7c716d1cf6a3e755303419c70711dc6ef9404e246a40baa4820356edde61b7b7f714dcebd90443bbc3d48c8582c3fac20ef07a6391c40996de36477da1a2f91704a1d8c64de2816605673c252186530052c14f6aed46ac7ed2a37dc65170c4b5252294fbe8f37ba8120727a94324d3e8844032dc9f65f36dc866c5e97d630602a977403a58e70dba230284786620d42bdf86337183b29c2287e325cc3ec2952d3b651a5104c3d1b71666bf496102c9b14de5f82b3f84edfabe5080601f901dadcd5023fed156daf732a0080946b4a9c490947b59f2a763e60eb167e3849202f703c157920c75e14e4d501c1c6a916d10d102217c1df13673209724243b3333da8935d5f89343241677a2c1c11311e8f79f65a6ce46d0c2659001ef78ad8411f0c9b5e8b03303d760e9303a6414a41b031c33424f1476acc34ea105ce07823fdfe114464ecee528c8a451b5482695b2f9297040ec8110cd320a621a2b3ef18e4ceb36c3bb1b16b24f8497016d1c81c6259e857cda1cf063e9e29451bee3362a65871169ebb9a360a821e08cf1cbd3d49c8bb4c20f0cf135d316719e5a6ac17c2e7d4157934c63c792b0839a1509669c28b043b906a30003063996f004f075a8db00f446e13191480c35a474628fc0d0e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a4f7aa0061816885e9ab1de316dd5994a066aaf10efc4d11a3d483942232d923b53ec902c202f8c43887a8710dcbcc55254b7071e4e14ce36cd5ae86150deaa567b2f0523493d53448c60170f0b20c24e1c4463486d80476ad418ce6abea63c669ae2bc39a1c0184219c83b14db5ef6314c46c768b8fecd0e5f069b232873c205f1b6d524ca30113bbf7f153896776825b3e43d5ad43ec2412609505bf216a323288910230f418419fcf81e0e24330703f4fb9732f757aa75221d9d29dcc34911a109ef47f11b163f7ed9b21364c52828251f7243c0a6693c7dca1b518c6c27054c4eba65b926b039a25a150cdca7524eff0f9f5bbd06d6699e769f3884842f0d09625f500db1cf7758a5a94f3ddfc91bd410f86989962a6ef56b2573d8ac00501768d8227b8e913b0e3c4937370bc104330c3150ceb74d55b2dc1815492506100c3f78302ded710af2cdf10c0d3dc33460f71f627ea34a1362cfb839f33b4242e0d9282f8df33f66864d441ffc61674a80854f1e5615c124dcf17c4217be4d361ea72760ff1eaa49375c572f1f8bcd0419f73b3615e58e4a88a9536c9f2f4840d610bf1f94eaff02db71340e2f47ad3e316f5667e87ceb12b0968127e76b99342da4bd2b9e6dc737f4a6de736f9e7b3abc78826f90faca2867f93575ee86dd3765af8e3c7fd4e7651dadf2580ed5984e4bc2824ad9ef77262061a14e882260417ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0707ef17772352c01431c8b46eecc6df0f83675275245e065f148ea13de976b56a42f481390260692d3800652fb00a0b3c118a733c8afae958c65bde1e65d177403434b83b14738073fcc26e2ebd13a435628d2d1b0cc2b862e3f59005ab047c10018d480733d3f85e911957345ab0ab168c6b136f18c3c65ffc5c933b8c00ec55b0e50a4e1f6e22771d54cf4539e83e0d771d1f70a1dae16156bed32263a00e3a2824f5371dce4e1ca3c54b321222935ec46d8d300897cb3ea3ea640e39be634f2ae483053c58b635fcf78f3aee5e7146e1a4bc251014b74c0679791a77960f5b09c1990a677c441c7bfa19467cd5d45a9fe184636a07156ddb62055e20732311be606135008e9136e018bf30b5c149659812fe25a79f2e595049f20f3f88b76a672d096b6212e935f4735d626f59990f9faa055606fd7261943abb425fb1b439a3422e4b7b855b4779843b694359eb67c3eea612e10ca6426808901161a9222164b6f4687b086463b5e44b46f6ca3602a321806cec37803b93ddf91f5864b13b05604b37b73d944e51f5ee648189433313149744b0a05e68bc2d3b18b46d95315afcbe3660709e0c490501241f01472484729506cbdf991afd582b2e422ca12a5eb077370ec4ab03d4e7c8439b3d6743a63f8b4ca6e1e24e754fe3086258a20a6372944ceefa4067822443392f0a683afee6791c6e88e44848741b2d7f243d5a87655e4a05367a58d33c1703bc488310ebf028677b12c4422f5b8e297458435cdd58cf11704e3c502635105ccad75f661c2a131b1e48eb63536df4648e5a761aa2179427d4fe643c966fda5a839e4008d0175638a925d975eb3a25221973681cab16140ff536493be3688b2f40d82a040c7d6a64403a2a2f5117aa4a0da33675a2aaa77671d7a174b32d2e5d0ea7011bacfc6d4ccbc9322f1e7c7a0638e8a16499d31d14a2b3bf70642fef23fd6c5a71e4e4ca256c057d56033eaa06ff1e216f0c4d3843b5647a6598224c3b35a0ff187e76ba696fac591d263a6b469cbcef502a419f2e9ea725615e68de408548452055ee6935d35a7b05f762d45b691b2b062473953bf2b951210dc5281798912e5c1ae23c43746e792fb8f5e448bbf17f2aa395480fe898a95adb550f5ee26f3354d7e398326d8588590061d81a63c31f67bc1b0544b311cf31683cd96e405f2e6ddc353a3f2a3aec66db6da605945e664065e36015be8c4e41ee3f02001ec2da520d586234b061174790712b05a8b27f448e53f614fb28a542aed2af261486ae081523fa44f0f88d1d423d36225e359f156d56900ce8211b777630f470a90a432eeb74e8332e2b5c01a3cd5c0e6a0bc64b48ae7119bd51012f6b91f228e01127583a26c963d8f8dd562377b4417c78321da4d5fd5bb5329b2d60269e262e101c1805f8a02ce315453a427d2c57076c106f4a656f064b6c8843a2e31668d6a1eb5d74f95e066929e3584bd09c59bda14848dc332f5b4325a21efeccda1661cbad4679f5fd52b9c2b66006642023dda3166793d44f12baf37577b4f2ce6cc7705313e71db745f588516b4575dc59e29320232b1fcd30e5553e042284e65a96898d3260bd7a537ad3e3467c62ca3d03a10240fa98330c180898283ccde72e067c9c75c013104219fa4d60c4b2862d00341f325507200989b57e18f122ba34c3a9bc51eda324061f2f5d4a0fc1fe5934928d5b0cbacb6bb79591059d1a9c5f2c85d408c73a503042bbcc366558cc1abfdc3117190b532212ebaa6b163eb5772bbc9e24a2ac4a7230057e2dc1b7a93c49786c55aa360062044c8d4a6917f1776b6dd9221e4eb60dc9b6d219c2e18924d4647d0d71fb03616e5c883b0c62ec34f2b7530ada3b976cb8fa3b66f49d1f41cf647e4f834018593b87ad0a45ade770d83bdc3e7c3e4a59b8c046098efadc51ebbfc25bf811fd0dddddf50b70742a2da0ac8639999f7f2ccee456631627cd6d1ba4131f48c27d02d1126c3dc16b7a6985e58441b54cd626f2a1123444312c0b4f017f0c87c9516303e43c5af1c7450b36ea606972a3df4b482cae2cf622ec0686049923fee21232b854ec5e10933c45416c871ce2d8ef43489cdd0b5e344a736d35b11a1f59784d320ca65d442769656267490d7bd46d6e55e2f93d759fc342e69c8131ada3e220b2e1c8221d14eb506a5bec498fd54151f08f0e77fa44af47ba1c4f36aad9aa273e8f2e49bfb3031273c72e31dc85fe6829483c63c1de4238b1d81d37e935f177b0f0e73cf9325a5295c38812c4a0c94f565d116a180b6a66fa0d076f0c41f23ef534b7620e5c7d4dae0038326a26d46f38d268272849244a41060d1fbeb9bf07f1f3722c809bbb351b71df2c8dd468641c74dd4dad485f2090979c0b07bdde45f5aee74797a7d161f0c77e098f20964b861cfa4262ea0f3e302cdc0e57650a631a25284eb24f105ef1fea625fd444141c174415d72b61d37c3e6a2451488bd0daa3514052baba9219ddc3017632b093d8e35514bc37c464ed5e9c4118a5b792bdb04a9684efcc617741b0419252cb55974756e0a43a7e71ca8436f08e5d1fb18766daf3a04d44666866020650a0c044f9a5f21447fd5291e1e0a691c2d5f0b60f4c3842a05ac0b220be5001534e21f5f809ed41e808bdf07a23a732195d8e5543436aa53c4b58471e7fc3a2360e9a635946e72631ba24b5ad3bd985f13a5a70b244d516a76126e11d56f9476bc0130251b4c3e280bc1ae06ba5ff41de93a676617e60742493f3b02017fdf03aacab934c5eba570b6b378413af8ac0e9bcc0b0dda8e9a43b9b131510000000032909769a3f6aa3bf62ae6441eb3c01144160b6aeb3e6c5de8888b311af0916ccf959660b5c3d500bc6f7511f8c3d32e802bbb07a0e4f860c65af35c9b71745cd0b1c244d71d584670cd6b2a6983c5050ce37d454fd96a42964a6b2f5919905024d494658401e7330a2f88391b8c6d4f60e92e1277ebf311d4dc2401729b0c1d1fb4e05ab8b711076495a33ff468a0276698ca052eb1926f5eed34729e5d405ff68b22145aff9222ac34c0387e21ef1c94a8756355dac91221b45970c13cf437852d8a69a24c783c13fb6d56a4ab885196fb9f72b997a73332c7d144f6f7df5c4f6c6a04cb9dc016d8a9751272f31a456618bd56400f1e3b9fb40c3efa0c1032fb42ed36df5cde2364298225c4ad4e307277ba6e3e519c055470fa2531e17a2b13745e5fbbe3395bab0f5e5927a6ba500db074105c148d53c96a9577f401464d54db193b52f75d20dccae3690863d5417aa9ae40763cc73f102bde1380aaa24691836836669cff24a87c132abdc83609fa780035a904414f1c5f174099fe6f3a99a52f5d0d603270a8c8a800d84f154b729e0f5cb7de20122703aa571538f12ef5885a5cf4d9d2293081f12f8d9ab23731a18802a17ea9237d74772f5f33fa64fbb7011a4dc55c5ba7c4e10a2ec44e5f3fb8224b1fc2de54b1483d29a0679b15280e2b2bd9db352ccb21ef4e379ccd00a837873d1a8f985c3ad5a329d1404c080ee58457b52e711ce489b641fd4f1337bcc8ec300aa2fc6ac1dea429aac2953f75858c42f33aaa45b9171a2969eae56a9450363731ef7330117b3d0b324e0952ef5ade4c60a6bd25f1252f07dbb41304b3bbaf26cce2330c167a775203468375a62b7554aaaa382163b4e31df669b62bbc0c1e17cb5e5f63de523620180612350e63583f71a78a589668606f7e7b5428ea6394013bccd2531144fa2ebad0192853899e188869f857f8ff7e0291793d6b8544b32237e7405278dc6b364c9af20efad3171ee64cea4275c94872f785ff3183365756223ca848edd0216cbe3c3422b6a40a098b598564af522b1c7f0a0a1ded0ac81b9d7df828a47ce92af4079b4d52f8fd29b0b03833cfca5c0bc4c64122b0a80549147ad0588366ab2fe8d6c90cae59b64d4cf155071230db438f313524eeb6336007e22e446865d727a51dd52759af60200114f166bfb7c76294f82e235d7e915061b7e55ef5c57d776135373bb0e04d497ecb9d6cab5ae36691734d458034e323d80f9a0bb69b3105581d0505421a54505ca1f36ac6c78b1034b298111fa31622a5ec841dd85ed42cba1d2c126fc8de031add85132f90162bdf700b1e428bfd146d0bfa3e723c47005b0d4e5a0aa8b704ded0ba018a7c0f5b0a0e9b5d616f864e24710553b0d8c30539440849ec91c32d45b00b19bb94a139fa87d7587fa41c6afea1916895a06c703b979c5982c4021ae7de6033e85c90696713a960b54c816d021cf4434d80d21720733900fac7be34ec7d32533ad11e5d41fca15f8daa150604f44a4b6bee560c1c3f017375b69f039308f356944f8a648d961817ebad3e1f145547322e658949b5bcc32f8b8ad51bf19e55752ac3da39f31aa36c33dcdd1e75b28d2a9f9a485d3a8f775cab36e6578c25a73dd5a8a8480c40ee2c8d7e4709bcab3558a9f485278eecbf0270429c05bb46760f62525e579174d6667c6f085fbbbdf66534eec92e7d820c503c90092fbe3a66584d2975089998af3709477e5422a1102e0b48ec0dcb86563bd45dd15970adb61ee302210fd1cd945b199ade614baaa304d6a0d975d470d85d51e9cb2545faff1043746b28f445781a7567f725231d58419f4d9a398a9725424ea09435c18da50ed8d67e444e86236b95357c6272bb3a11411bb5293ef87f0719299e39b3a78d23e4f14e3a7271793ad7ac903e241c5077150233160d3193342876af5454cbc82c2994b02c07a52161b9ed4d228ebf7c1354a05d4a73f3b8200cc2ff04d991d33864c19141bed35f2bca26c51b3b4c9e1bbe373608d12984354624b051dad57d21761cc24ff4a59b10b9601c34a249ac6c6491da09cda45f473d57a148f6d7b7635b68765eaf0bec14c6a4c9176ff2e15740f7325f3b2325498652656c575d093aec405b2ae98ef40a8e17e83e09b90e4d63b1c221d0d75f63c9f99d1311b7eb771cdd3358d974606e9cd51f0af0e13565519ea2669f67461bc45a806becf9a648fc6c6737e13a8916623271246e547f453cb3bf51421f9f0bb2b8604a95cb584fe3ad15544de7d53a474f074ac129862a9520ed21047c215b4df38039bdccbf3e6ca7026e1f25cf3b0ab4da5b63b4ce730bb8d944b49c800b492e074a162ec442791ca3428a7a1028b819181212c056712e111d546643af549f5efb52407c2a1fbd3af9002368ee76d95a3a32d3839e153f1b1b22102e38577e8b6a3b18db2a1617eefc6de7b2a1188d95876eeb088b32522ca5006baba811acc10c127bca736f143ea13d61892311b0325734eaa96c13ff408d075374243176ec555c959e6403c92d6c507719d620a4d71771fc8016764c2bde152fc71b26f6b0036c995492547aea742464dbfa0c59f42c5ef7d5293a86eba65df8602054d5c55729abf557571a54f00b5e45ef72a4b6ca29545b825e5673e2009c450a77a33a016cfaa75553f2125c353220830512d00023389a011a2c48e75496841e38c711cd146546d168431b4f22b59bdb17917de64cc8439a3011f8d66beb13026d4c1fcb7308c19a197b8eaa73f338fa6105b03f383e7aba1f20d8d50e23428b3d150f07254680642a2b4ecd5071dadc3925caef121d7bed5e02c1770102455520c1dd1262beaa7653451c2d55e943450b8119965e053c316ec442c759192f3d748966ee2122e71207d82306686d5501070a797c5285426a40f446016acf7ae80fc6298e61239b3508d7c17b2ea91d0e0d18e7785259d7770f51d28f08ca44654a389aa671768b4e3ec40914365c36d60c9aa31a052aa8d761f7fafa39d4087429bb902b101baf2b334afb9f37a204455bcb776f0f83804572865f3d66c23a4900034a3b489c115f06f0d61a77cbde35548b0d27618f1b132fd57af727c83c901c77ef09073156a3106ebb4f1ee030a11a2600a6444acbf761cf2085299ff6bd702ae7ff0e496b4954246e8d2784b36630afdc811d498aa3277b692c64f22819038b4d302aa647734e32dadf1be3ad604a4a25e76104303837a56e5769e2715b495f360d1df3cb0661752d725b9a4af65e97bac61096f4531b0816d548e381190e7d3b3448fe1a2c6eb35ef13603caab347ce8a22f4ccf27650919e70538970f1f410fbf0d70095656ba763962144a725937dd377067f9fb27027b270d97ea67662cb53672f47cb25b4ef7281dd79f17682486be25319ea93f9f3e4a46faa5b63c4e6a32391782bc3280eaca59b70a2f7231c1f27355c3845b2cc18455a326504e13057107df9cfe17799a15052fa43e62b0fc1917f463ba599004c93eee299c51d0fe2c126ce8ec2280115d2dd68ac61eab02d10606d1bd5542f2f9337fd8ee4d9bf77903088fd01f77faed089f980d69ad14a263a82fce01bc6d90269f6a59113d08741ab7bc2a3c076e7332e93e7c2e85d7fe4299a5426f304b8569950898301a3d2a479dc0712b57f3141cf33cf46874923a3a973b3c1960924630282a982772c02e3eae0f2525c651364524ca686c628e226a7f52136eacb84f2e4e32163efa35d9731d4ffc5641c132513c92df56e5122956924f744cf92fd70a88ca45600184ad3f7edddd503c29e162d0d3645e2e113662fda26a7443bc8f41e4bc4d3454e2284585e3406363346c67a791d93e5692315de55ff72882a0e61d751c2b03e10b302d8b338f191854394235ca2b2120405f66315bf00d488b56663a725135afde4123dea32d0302fcce64d8582b474472002436b29b246007850e0bdd63237b4ac53555aa0a27a7f68416ea4ee0407de6c53ff120261250c0fe72064cbd02e4b07a239599925128e80e4c83eb3d39b79bb305fc50585e46fc8a49de561c6ca28bea131c140415cdd88932833d3817b3361334d730082fb6c6a060ce442d6b46d3591f5b624f47d6b3404698b61b238bdb302963e6ed3b7f9b2709c63aa80425f84d0a4993da4e9a43c22d328331395408c35f3c4a6709b542582fded9a41674310650cf90c6272a15383bedf4ff199970fb1e560ca46bb243c2293971d8218a359e29089eea65fc9aba3fcc729117e35c9e5e94959e0813efb24e1683f6583e2ce80b023d7b5aaf116469bab4784ba5605132141f894a38a3363901134122e0650b317462ab218ff9000094d2ee4aa6987c13ee12d92acad783486ae23402b7bc0e5f6a5a5a51251c2040e0595603d5d70626ef14b3145d4cf36b09cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83b05d290301c930d212678b020bf68085c5698db4b49dcb65d25a58b374a2f3d1a44242a096a14e01f2be76e4a43c8400cbc4979744617887533a4e6646ec18d214ef1da4e30bb3977dff1572df0f611517ed6f303540c8616c204dd08e33c2338b4bc8d2c73839c750ffa934f2b42b01683fd436b7c255614ce6f4457cb2c3d0f2ac1d404eb78e372d7bd1a233674303217fd585a51ef82054b0ffe22b771394efdb2043a10f6886f39423440fd4c9a0694ca503dd5cdea09d0be2876da6c70313d3fea47dc5426269491520d5543c03dd867bb2010a1926084eea36fa75fde1bcf9ec131fbcd92415b1e6534b602891c007d1600b7c9d6114ad2eb4571e29c0daf2306067711651b2f4b63382d2f481c5fd6c21fc47e161fe04e30587a043e51fd6e7b07f302a05d55cf7f69a249b4700377b52e5b84fa5f18eb9912659857505c63641fc9750627eb19551aad36bc4cf6e3a61a9bff4f62fb802840550f6d2cb6a8a4458d27a410bc21f8328589b5082907db5b21a0fa694bf22a6d293a23384295592c5d6e56266a03de079d46f866463ca42d79f7240e8b39973e832833707e3f3452cc298f778a139d0898afca3116c87e25cce10e41212412446014575a82b26d3bea71e119de91260b3a9ea004ebac555e8f08a2737aa63558b481c633229b7f424796fb192fd4e15990386d3c8a29fa32d93d1438b474da43d85ee74a079fe3727baaed48b224263b9e0c1a531b4fe7501571cf27a2b5636e34d70272dab6310e4b80c41f130d57602e886b6ddd610427bc997c679145113a48f5db4972d8de0e6d42313ac298ef0e3cbae6689e47ad0ddfad9535014e835bc23bbb3b1a62bc030f32a94af6c535330372322031ccc409121ab61ffa8d3b2dd96db83764941b1b196e0a768d01944e466fe7711b9d0d299b43e02e9f006859e5be9b3dda9cf7074be48a40979d9117c9650e279ade7071958de66e7c6aea70e7c5ae3159a9f329123b3328257eeb1a6046c96f3e60616caf8ed8552d47b9129c7c761de7a0b662519ffb52ffedf83109cf9f3914e6cb15b833855fafd865405251ae272eb93a0c6f5d4c487388e64451a4542d169b4f41ed5e563b64cbc9104545bd5624824c3db019515873f0146ad483a777319efd0e7e28354dd9a63b54c2e584520736db06c439694d9607401f5fe77d1b4441a770aa09076fa13f9739a7e7fd75e8285b73baf1d668d04bf643b89be5770e02670026ec136dfabce05272dea22bf66661178fb5e31ca0e2b5000000000033866828e12dee589e18e22273889d1ec2992632b7e5ea331a974f6ded35ff6adc27411c67e5ef65d94f001162b0c86a5cf37f58d865ee0204f0a62835506f205269fa73316d2c1b85ab944c692e77071b51996fd4555f0b71fee33c4d6d150c85a0bd103e77e7212c14eb0379bcb63b23244e0b81c075143ad1f339e026610ca2ac6630561eb274115736714ea70c39fff22206d7d1d6203ef0e669f235df296221116300baac6fb9626a7126cb802a6ed6c13f25e9036e8cb3ca4381e2e5621638f81a60636448400a4200c52307558fe4674f4db95a52b47e86150f3fb510400a0413f21f6971a8bb041860cdec1a71437e41764d040d766e9a111498ce5a287b6906fab9c2023bda07387d20b652e7e692700848da5c1e12a8079d37c742a569ff51da5b7e629081985755a31201de641f713cbc9c50b4166c64b8596471773a476397feb04f49551c29ccedf832e09db345a33ad0228589a42d7cb8b156bb3da63c62a7073419f65a5916355658f8b94670ef68012ff7de6f5c89c0222b57b5ce46c842e81b51fd0102f98dee6a5d21fa314fd08a051a9af865d10dbb5276c71865c4a8e0670e063a2a3299fc0e988ac029989ca356606c7b74d03b8f50883d304e8e197c70de999b6142c0564b1b786f0714c22036b4557475bc4fec4a8ca43a3c0517f87213e8e83225cfa65c584d30466b1900547ccf845cf535086b94fde805b1325173dfb5c056c35fb5114915ce2432e3d3359be8976545bc5303d9465c191894964887bb5845945ce76535c42f44677c80298d67e224dd62453053567f542e49914312547d43ad1514320ed4c62ddb7a124557e1806e015ef26ca0cd050c7b4c2e024db9bf3fea3ed456f3ce353eafcbd53d555ded4969326d5de118f054e621902a1e3ac26088370f1fd703e71464a7f4232c885b23984bbc2be7031a183248bd65fd68aa3cc1bec03e7ce64d6684b1dc0299a7d90c8f9c185800788c1ad8857c4aca7ab11d631d2f556d78c61285bc0a6e5fbca86227367e26d4a6d63f8138d423e9cd0372e8fafd546700c46eb61738091384cc614f8188189508e56515e7094c132518093a382464e4fb2f0521f6516d6229c72ace4ea75b714bdf74ba740847fcbd4d66c673120708b80a36752e151ad99236074d94a3127075576a91f8c540bc510430013f765d2cc9d0473e5a8751c53e2c090fe2de3628fd0a5340443e51797c102c5a9aa66ce00c1f072d48634092c3563df87df514a9ebd974e3dd1e0cbf58122f63511572e5f65852e068546d7c1643272d86152b620e8f2c75137734c2665507558fa270d99c6159ed5f1111b1457b6d74c16c5e2431143b35465140f30ea726e40de32b3997d6040871bc05d9d759685cb5fb2838bd5f36ec831868964efb3d7686aa6d2a46bf3b26ee1d38e6c67e405db67c3dca532f5abfdeb8212741ce2b6f23491c2f40886338bad24869fe873580237043986d855047d1460e10002867bc22492cbfed813b8e1ade206cdb9114c5c5a035cf1f686db750113f0fdf6d5b7304fa43a2aea1413128f45630b8b063e6b1601deeb95610928d0c58e27db20912117738822db826a5399840cbc1f951a8be8a3e5d6f6e30eb578039aeb85c715f5c5719003dbd566878643b9ddda83ac33de24f248e7c1dd2b2e4751101912d1d1a2b2441ea9e3a211a381c84f8e05978d4aa1493acba40128fb618fc78626c4275553410b76d04bd3eac44cdffe6709a1e9239c332ec05fcd56251712a5f65df14c803f1e3995ede72f44476a8a5326875e967daf41104a55748557cdde75cf61eb61001983548b56ee970c0bacc7556a9485e7a6b1634db0d021117aa725b93f9ab4d4014c92cba0f2a0ca6d3b673e586d348fba62d43c171141182fdce46afbb063d5c4de42d48a63064931eb9698bfaaf0bb632580aa1702a1b09ce46642cc45a23a1101e202617e515cd686c48115e542251d723702cfabc109d662110dcba1f580b4e546b37a67f6e8c5ebd4d5a3e48050445ad000d5f726a5e70a804cecb03571ee0de58fd71ab61b75d3434c857d31993201b765686b46994af8d61f513935113f4ea2f384d0d4468d154768135266ec6c7080f7d8a702aa7b85d72ce485d76e24f12098a51b4533639146868535e2654e41b3e899b152964ff1b232623c32d0d910e6e28cf2627ab84fc18fb0f2948d909ab465e2e7b53e4a90828b0ae525fefca6a1adb7a1d4c166b954648c3990eedb32a4c20bf5845dac6b12ee8e617029f69834f83a98d11c8f00b1a41948e68f3538065ea2ebe3c4a0278752fa0882a4fc6a10d960ac023b631225e2892013c9214f90827e06740e0beba17d11aaf36dbff0376b8fdf670efdca6369bfd0c73ea580b72eb0e98649ec59800f2e0990ec4339a410af0c92c509ea24e572e84527d80e55327e1b329b94c573a2fff9d6f5736003d420b8f27b6b88d107d132123bc404e5ed9e46f4430fa113434c8824eae22d331289f62433473dc73eb754757593b9365cc370a5d19d23f35b9a62921613f4215c374a70d0f0661682a74be4521ebfc2fcdfc841f11a7163045a83b4c990549369c46116a3d56e41db7b6c31316b99243124d296e18fa2e06e27afb2d9728aa1edc135a237079e931936d59291c41aa3bfd234c39173940294c0e3a3f232314404939670fe656fe2ed56ba90aa1c38e5031367630853d404877d14f57e37f02591c74503d0627c64bb403403165ded865fe2fb13025f97c33ce82ba1054ff9d180ad27877e16fa604dad40d76aa18275bd46f3e0c26114b41b87aa26140952343d2d439321453bf35c531806e77f6ee081ad2c41a2c1b161d70b22b20a1c78446ffa35708ac32b645d5cceb6da113b50ccd8a5a3eda434e77f54a5f105a98ce2ed165c874112f52471e52ca515f413e554f6881340c52335b3ce91a0e60861960dbba1946cabc026f0d09be2ee025170f5d853d68083949369cc1c30bb42866654902e037de0995320b69814b6ab9af19e5a6640c08a46e46d30f73574e9283034aacc36bccc2460b9f9b6410c0343555b80170277c1802394827a6479b4eaf231d94a546f4c6fb54b3f8634e56146f5c8672ab085ee7df0fd7f2fa4442a6bd6c5e27ab2fcea2795f73f40a4b5cbe514d71b40f09092f8f6d20d5434a264ca54a4d82a1760e99df6797c99a20993a065eb954e739b889e353d55797738e80e843e2ff042db9cd386fbbfb4036db57cc04be1eb4458835186f207af447c3f71c2c99c43503b4402f0ebd17910fe562fb05fda188036cfc551ca9d9875cb2af820dd738e573ad8f4005f3421d0160595327a92b600e84a5764216f41144ef1ca553b38573580f29085e1006e841f0c5622eaef5611670a00b69d5f859622accc515904f4514e6cc3d1df8455d2b07b02016b5818852ac7d1e3aebd8b3689ff80247c3cdb52856aa932fe521ba065b97620a6d68356b8bfa7465ebf36627fdf4973e36655625fbfb710701bdc173b6c41408b38aa656207ddc4cb8198870118ea916d9cf086b3052122fe3db5344822062604e72766fac8f19158c330b62f5d5422ef0eb3b11da5ea36ac936807216b30116f108fc429186d0558cb2c7496daa3638130249676584ba64c2a6963577ddea0f4a4ecb3fa38a45073b9b9e05f18455681f7faf05f3d06b2ef4296c374555082a46fef0773f195a4b6cd702337b7f794c59ef4653bd7045423a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6b0a1d3a6de1dcfa738c32e0368fb27c7073dfa06ed336eb4a996a9773ab9bbe33af170236a38d0b5ddd923068b170215328462b696304571b6eb9b6047bb58716860c0e12fcb3e13b37909909b7ebc3135487132e40904f01b9dc7574fca090609c64f360981da430177ab6224781b660ccd1347403734000f2a6042d48132953d57748476c1644071b3656285eee7066ff09a65ff1dc06087c02784c9863fa17b99b35267caf770f01665e7328930c2c1294fc2b20a4f8739e7ac870cb38ee6ce71f4757ae578f13bba5c80e8b87993d8607783f558e872059475a3aac3a9a70f362ab3e5890210dc8073e243def83410c12294c041a51444d7ae867c3ec445b60d0fd64d3fe5f2dd0f9946b123a3301dc53f828af5ad13cb7abaf0e571cb71242a4a35c59aec268eb262e327bbc9e7022df9c11b4316427fb1609719ccfbd666560633bfb952d4eb1de132301a0f001e8b7be669586b86ce5fe636d92eecd489a6bdb44799ec96cfcc1e132c80b3e38790a4e71c7d9e50fcfabfa69cd81391aa207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f6a390807ff114f227151695a027e7347dd76b408e1eebe137c55d01384b142017a1f3d4067703e50d57fbe1edea5c1500872093feeaaec01813e441635a6e440fc99f4282802a3513bb0d256c427ca310abaf70542152769738a47711be8e0710bff441df6e49f22077e5915600d8533d7eeee406a456364e30e7930979b72752e83fb5cd27ee30c4df4a35bd82a3021a8ed41109c652a371dad9a4658b4be768365462a999d5d364717675a4dc94f6500920c293b4b2b654c4b2451d0609756c0cd67753c630f23638cc277a014d10271b53731528c9e6434b7db05ca1a555b0c5b162c4526e0613be9617016dd242660231f4409305f00648c3c6ea87d2f3a55b9bd4e004fb70a6af09a323699fc6970747c5963f72e253f20a618b9b18a4be818cc6b3dab1352d1b7755885c83536ef63d40398c18069f9dbdf3e602be95539472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e016234268527af78d538d7407626240f6c011090c50d1dc5921a68c6f0470dc9844f3a310c029e9fae4da495a65082265a2c4e5c4871bbd1733973d08b1e56199972d9f118070235b01ba314f008821135582daa976017d2936430b6223c2e80266fb9f4500555bf222fbb9b0966c19b4446fa9d4a18ffaac55894f2dd4c3b4ac463abe2923e0b129406065a044c55dbe345480be863babc1e51eaae0218e62a801b2b11685bc74bd714be21eb716df28c143fca8d3289cb422b4053e45d3ab2a049ac619c59806f456502e91e663e533355f5f2e42768318f06a2170030df193f2ac9a4607694bcf63baee314675ebb4f209af1fd59c8c1c45796272d2677ffd64da504a256b1ee652fdbcc7e0c01bb1b209707e741985c40421e5d5032b8cb0e4ef10f605cd46e1b41152c7c2c88b421595258e70bcc94c1502aef1c4eb4d4ee5edcd55d29dc45fa5940ca7d2bd8df9d219ee6a96bd3dc3f704cd13e7656cfb25a9f26bc52a3616031040aae7258c1e61868aa840d2dda66101dfa1163ecaddb1c04b4ee23b9c9db28ba69a04f36c72d56f44d8a7430e88b5e7d6564056362a11800cf9b048436391fd4a81761fad66a6a7767fa5bf6d72a4984eb8c2b429fef52dd5bf11936239e1ec75ea6389ce44a5778a9063cbd1b8d2db80451556e5e8e4c9c3e9a561412cc3424b0f12cdbfd046b659c6e6a94eb861e6c29e96aa0e2b0337ab0336f7a705367243592654b02ae726ed3b93a0a36d81f0c26f805c653a3597a64a956bc4ed50e0d6b7c3f0000000007a02447dbdf894e0b61d06f119a9a036c5d692e3bee184eec620829d6acbc08a73c9c76eda92a1f38a2e41f7df2634209fff222fb645e2e8cfef921d5bd1250d9775807a4335b63a602d16dda3cf14b43dbc0678e0f876abcad4a0d87e4f5702548493d8752a60eca27eb2595daa155a46a16405c71b41f07b62c450bd6ff4188e13c6a9fcb3c292c59f650210f71220e96532a81082146cc994866c59aa768ceca6b12e0bfee1b4c8c97371275de2c1344fd46e7d8e2504502506a709b460defa9b242ec280c521f449a1f2e0ff4085a779b56a40b383ab9c9602ba137fe038311b87284e634538bb6403630cb5336d52ce1624128c751011f454a2895ac0de78e302c5cece75df4977e5e852207258d41a0092924a70ad52188127a3ae53e0d209e262dd3235be6034317a89ee27038f72f066364e9276e94ce421d3afa344b245637c58ea271a601437103e8c867c816cd3143133056836d12107795ee7068329e07353c812ff4fc8061d89e151a34e72d20380b1867fdd3dd0f461307304c8fde66105949401faf74188eca002198dcfc3f14fe4c63360a3d6dd4ea8e258e0e6925fc52ae03c504a9488ba911362c3b0a5a0628ec52f873ef4101f9e435077d9e267313d361d232fa5c9ca3c008a14c7d5f548440097d79505d80e5fe748589f4670704b958fa171174095be66a385240332e5afb25ff4d9658d71448434e9c941ecf96d46743b21e63e16b744505b9d30548d4720b0441cc1f72bfe548d7b2f965dc9553390863442610e11f405edede0ceaef1d586daa646b66c2fa6b2d6c910b45e3020b3c64555e36dd7e07e18fa861433b7a71172d4c7157e3325097a73b61c6cd8005775e2f3caad1b360a3a2e74a499cd548dc955554cee8c10126495b580e5aaa0fc5be57106cfef16b199f100dcfc0e62be146ad1dd4c3872475e56b5cb2ff8a6d4c3e7f091afc011865f63e30c6c9434b6174c33603b38649affd895a2b44d5201036030d6239f131b8cfba2576dc5f08435279209b70074f210eae1f530c8c6fc40a8e503a149d07a6c168566eccde37d6f84f4b3376535aa66f1c7293825b1b109344231ca20e1bfc166e56cbc173703a09e31b150d8261a9cd8d6060ddfc135947f3571d5aa8060298613648e73a163dfa4e00e80456051e22123a96324d4c3a89432f476e8a624826da34d0f4bb09b4122b73cf6c08253826ac10d2f6b2678157b455baff796a88539260b955165387828f070093fa0570ca060c8c9e211d9d2fff33dad64b0ee3af3827ae44012d789d095d2907ca247fc729757f9ae52148ff4b6a4607e3409df4ff1d9677fe478d8fa25002f1751bdd625f3e2b5c7623985c14024899ed03390d8a52a6a3db06b74e236a4064266de7810c678edfaa170b3d9f3ec055bb4bc9c4d66f7fb41c4079e3066f55c76a089ced46072dc8f176ceda0e259cd8cb1f92e00d4f1e6244074bb8e76878f0283d72d62e1ec4bc552e44438c2de0f0075f35245d01539ab23b17c4ac2bfe02d42128f9a10071eeae5711ffd220e4f9c61be2edb761eb22c161a5998b2c56277e735c779c102798297799670e2344e604115df81056a3f5515955fc6f5bc0fb824946b76d4ee4124738f02ccf0f1c8ee1189aa5211b8f45943444d6c32b0d26f72c0941ef26d060fa239026df62e7caaa020dd51c103b4e4f1c0851a305ddb62028464140287d3066603ea0e00f5e5a30595e2a860f346db52e891e7c401efb751ed362de487f6dc4200a24fa2631b15b479a3a3a2f0f1250072871252b47c73e74c668e93e796888697cc15c6e1c3e122aa70c9031e9e4df6278ba3e5debc418562e69204d8db4d504b632923b0de40c68c7dfbb626b8cd15a98989e61790e4430b9a0e1113c54181b846b744b1e2d9812e6ef74700db307388db7df139a1ad16b1a8957617a219c6c57aab53703081204a648344799be2748d11af74dd0f4ca089991fc34c874c8776e51cf5740f2ba0a1db92341f09fc72730595102581acf54776a3c05ce93c951dd87da66a32e3043be3dfb1ecd476c1944f11d4bce9d2372e810637578e8763f7265050f96d5c429ee1fa773424212072392d33b236da766ed774d72f9cec324d606f15a11296b4b01be57612797d15bf1162b0ceb7bf0300f4e345bccf3207694b92f1257b27f1718786a5c38492045fdefcf52dab5a449c01a0e1d99406f4e5c23f82b48ab972fb5e544302fa8270a64ba0e206754ff0720836058d50a2165235a4d706e7e220819d45c4f8e210a557026e13a875d5d1216ed1e623c55085405eeb5478bd09433a13d974c4ba83458d46c771032ba5171e4d394734c49aa096c7de474d8532b12f2283a7341a86e1102658415a3d6ea310225f40c650bb80f34d097024618b8222e4d827029239c08d6dbfc0ae7845620d9f9d02cf4d6cd264614605a4893e42dbe667c00ef9b9361121c8d7742e942219b4eb724614042356d8bd044eb615f3ca923bc25d32aea19c681c751711f5160cb0b6d0785a3a9114b8397329af14b3081b3d408bdfc5253c0dbc9143e45f35dcfd8681aee4cc53f3de4ef3089e02b6169fb754e5f0a645a093d350e9c482b12b6feec3819302c707e29d46e202a944ed1edfe27e3a4ab68f0965154161e7e3ef9551718bc1df569e6fe62054624605067687400a3ad873f736ca243d01f2a2bce7bad45b7e9c54c3f4e78551996546c8502504ebe285d3d9a38786e6523c443a86a5248237a9700ccd60920474f032bbfd2413cfc7d7855b153ff0e65297a2062c88465f8746f75c97b9c3f4bbc62112fc3fd0134dc2703bfa38b16929621734d5bd13dd89d234c50a585113e3b510028a7111c77e9f706e95fd3684066e61d21a69f5a9a490d0e9f2e9877ecb3bf54962aec0a4060c24e7814ba0debeaaa5de238ff248f44ff07b327a80adb96e55dbf59ad7721399e570bf40d4dfbe4054a42cf4576a02a4702fe8bf91efcff5b6e44259576ada5c15f3b5e891282cf3c6254c26a32f7c2254749751e26a305c953702d891cf3656b6b780b6212ed2bd15e3219cc557cb7586cbc8188404c141047f3f63f13e9ab2d21ddbfe84242863f2318bf826d39dcc822f8de72622abb51109aaaad70694fd50d6e98a0261ece3b48198e37670048de25ab677e2bcc67bf3b572bfa764e784f415a59511f2ec6c03c9e918d08958b7e189c4a776ec05052397530d9631f64d84502fb0f636c5dae60a2caea0d4b02493775af236ac90be712245c3c067017261eaa77243d6aa7d5072a10171926bd2e4daeca835b3822362131474a0639a3574006fc381927bfe6147a62412f58ccfd35ec3ff33323b06572f3dabc7107974332c46489481a16fc6fdda189156362cb5c158929742c8f832f23e584578f7fa64a9ca1ee679d70712566a423135b6d913d8b44be43b5805657c619da08c4997a4a6b361d0a981e831d008a8a66b0875c5c156f2044d5bf971234761457da7e7e4422d437384062cf74f3f9f94730464f16ab71796249109e25a3726408d9062c48fe25fb6540b3a134283a9701dd3ec702ec830c6a2cc53e4f2559fb1e0ba27f60e687ee3c1aff794ed062e60d68b3961c2e6b7f3b3666e365d351391ad87e4c3b9247632c35235a1d69b76d0b694ee13b6fabe454ce8b4368c4cff94a211fe017d1cd635560792f14371ebe5fb28bd84055fd336793b9a64ec0e7ce0e96651e1fe6ef1f0add8267652d46da687068b024a4325e238bc98a7131ad131a0c78e125e0b9cb094947693a3c3c930efe69fb652f8faa1ae18f7d445d636436d942cb1e14fbab4af94a3e3dbd1a087550826655dffe961157698b44bf4de404e0e15672d19c6211c9778025bf36d077eccd25731533f02a27e4c96cb5dec41972c7eb38b134671a08f805198c95a25428444b5d03af8259a27e4d52ad364d238384ee2936c4233a16ec8a315d257017ec662462556edf5283d5e6175acdf737fb782a198d5a5e3a82a7661435812a17edddb159937a950491ad0b595847916b6b784b2317928165a79b5854f5e1941baefcf552cd587702e2156903021e0c741b90ee66ff601774ae64786945cffd492acaf42098c2ee376da9313cfa0ce97430b53b594e31fb134d6fc10a13eca559fc2c9168ca49b5024d0f1e26f00c777072d1ec0f1773a973b14a570a5595ec35134d8214c643ba413c38a1313553331ce045ba115445fd418ff3904447fb1e36ef729f1e43459223ca91bf13c01d7c7172febf548c4ad710dbe8c75a21f00f6edb01d35252ffa63d7549ba4185a8762469d8024383571b545e1c185350b04e5d50e1f35e2c6a0e461443f45faf428c6223087c1c0776e068ec10e32ca4e6e3715ee9e76998d51559350c8e48af28bb0d6a069c5ee7463d1e69de1638a1ebde5a59fd045915038d035b639d193011905dd11f37649eaab50cf850d562cdaa646fa09e3e72fb840b12d019db2f3dea0a07cbadae194c0af744083b81553294c75d59326f4f5d54a142479b3f11486f325dfb1be3249371862a7a6ba63aad36da727efc8761b44cfa671f5b5325b535ba07ffe31447d8457430ed3c6868479df96a1682c21c0f71721f18bf4a72d07a79482e58e069b0f60f01fbd00872a3b52016ef95686628ab6f3e8aeb1b0c65de81084e882254c2332d50236030347eda8e56ed53404a2f86062a27b7a01f0bfd9a29794e6d460a1b342523cfa44f260cc84a1b8a501351deaa5f8625231227b61c3190d40b627d87542f9856802667986e66a3b44d1cede2ef710eaa7d05a25b3b77cd130825c7f96819f3bae712453a8e74bfd14564859dba32d53e7e4c6b429e5275cdde6db83a75425df0a834106f2165f88beb34307d1d5cb65d1263cd90c70ecdadcf3d69c05759577f31733f729e6458963704efcd416988f10a6f38c2294302b3b60963e7a839e652ad2b3c1c760d525d485fbc8a2f17eab1b90f7ca95b04b38e08668bb7b849f2c1fb59f446ff26861e4d260e0433374b4b3a3e53ee8d6912029c44d94e044bf7609f5df0a2bf0a89cc766c4bf0bb608bae396f3af35a374a82e9306fe56263e52fec688fb37635ec9b5621c782136e6993823bdf528b497696222b1ac8735318c67b138bff09085bbd57060700c02a83242200dc01db74e8f54a63123211640ed41c1a786b04292af90d57bea7076e47be2b25703740081b9c035c790d99755f11c541eeaac12d30259d6fc1044409c7dbf619c8f7092c4cbb410bfecc64639e51ab2f03dd6b2c416ce415320a762f9d48e73ae1f366554c121c4011e38e2fde62942895054163796c104c66349254a5dff90fa1802436191e3963a5a4be56a09fbf1b981e5d259d326107c6fd8e2eb018e069984ddc63195b5915a4544d7410640309613b63159dd0c5114bc0af2517c339047af9c06c1b33623f1a77754887810f41da20824d644d8d3da0ec14454b1cbe6bc679641c84d5bf314aac1e5c905aa741e3230b509c78ac4aab389d5aa5a271503f63a5389df60043a9aea946daa6ac30eb2210470169031737c274415c98370aec859f718bcfcc69e952bd0e9091930a8bdc3850ef4c9660825f2530e297fb74c673d13526f5673d5f019d585bcca73b4065946ef71f1f4ec9a0d419b8e5890b3d342a17c8b934249d16e9079acf106069b66a275b35c938192ac46f2beada76bc860b32f762aa178382696cb70851483944f622d6b5860100000000c7cb375ee906bb12a7ad9014f80d59399f51f82fb66d3372019b7f4fd8fa2c694b690e23d20f0d1639c04a28a5abba4bbc55724b8aa1570954bb5b179dfd020e61dffe0bff36cc6a91476801e5cc5632eff50e1706e96357d8873d256039ed695c87fb087f1c0f69a1a9b90bf0dbf80b74dbc503bcb9af5053fa73390e339a6f80443f3d0763fc741056cb425601933ec5c7134f13448438aeac015bc1afe56fdfdc871da456a85e6d9cc449ba11796413c6a8169e3839110e12c5319e46626b677cf2738e417d488edf6f5fc8047d1fa5c3e2107166283ac7e5ff6301501761da6627724096815e3d0df369b6d92b012e182c3927e99119094bfc3a28778e50f0463d6056c3ad4fb099fe10bd3f0d50c54e4f0ba232096f13e6b64dd9fae55043ffbc5f4e661301194bb9730901bf745891ff0e8c0d343171911319cfbb225f511d5b553694ba3596852e4edca9273d42ceaf430cb83172056c9f3a73287c42c8fc3958c496b26bb305c307bd615347c913fa448484473b4fbcaa2557947e322623484d09d0323bdb3dfc467b5ea068f91c7c4e0f70212667fb113b89ec81331737d5583ee168360e78cd484557a814c492834d2c904216db166027677eab483fc0af4991be180ef4c83375281ea82f32a79508b1081906517dcd151d3d7e69d56462588ef2ec568c399e33d710f11a051f8f596d7cb62c5b4613114c3ddb43d131474fcaa85e1427878d44c939b10bbc7b0b5e4142241e50df6b6a5779553cf8eebd779b301e3bd72df34689cd0238eefb203ce00191425ef7e504fda7bd45ecb7f733b3dcc65dd85730754b4b661869d43609fa97fc20d4120e4f09237343175d0b30acb19874c2f8ab73aedd392e9a5f1b6b1dee3a07d1a6462219a3112c23b7b80483c4910b00a88b1599b56a09e6f11660006526756c85d15401d8d26641721a4f0236ef7535ed9d288eb7131012661e6534c51b4e9d029a769bea6418fc15ee483e77d824500e6517c24229312bb6ea707b0a745141b1bc4a0235080ecfe06b5bcc4c8961c6a009496ca937548e92fe082c7fcf4bd8a02b74ac4e575323d88b330baf955303750d199580c3298a16974d303df425bc46ed10ea5b655878e637436d6a0a0c9e2e681ee63c7d4bfe786b051b91a96ecb965f3f510aaf513b9aa15fdbdef667861de557128fe624592bba10009df32895bd26574473c16745491c7081d9b26d9bc2a051cef9794195b0fa458f642e4ced5e5e3947410043a0c5421578a6276e03ed254e2ac95a5c6eaae257e8e96a360585d47667764d32ccb2030b45a0ff1eaae224217dd90c0113a0df258b7db875a47dd22c356cf041ad9354680c837215e43cbc4df3c70b0e93aa5014587c5c071dc8f26adf654c24306b2f08ab0e706556eeb238734a83655e33610855bded22278ee34d20f09468e1d01408e9c3432ea9dc2d0719aa956c4b13ec160ebf951379cc8924ec8c742190f4ec681535c640553d472429ac453e3168b86a99e7d27781247f485d1bdb3c3c3b4861b30ef672d910251aaa407e1b782b1207df288b26d6863b0a7597431ed8b5cd33bba138725d452c3534c740195241815eedb3d416525f9c0c8823b42330f0a84361e7be2c00e1d9211fb8874ce929a71411b97d19e7e0f960baa2f018cc037a0ecac45225d87a62541bbe424f9be68f2a4a0b9812c7ae796c20cdc7671f11ec250c65fc342bfb0d633761b43af215f21d3f70140a82f09c2ac6e971278b46923c9aa452729b2b800dbdc0af42837576472cd9c55d8d5d1e336eefd81e68c72053ff22250fc0f8345c1d2b4a39c38e6b67f2c71857c80b6843ef20233c6844eb130905e4596775df33ecd68623318a0f2fbf2cef68fd5f8631226ce71fa7adaa26a8be463068e5315440419d4f10061b1838c2ca3be867af349233314227a67b6dd6a34213bfe3c505f30b5f4555bf706f01a92202df8ea96bdd59803e55549c09acdd561d027ce11c1af52577d06460433163241c9a268f4d236e61569bc0c40a3871f105d855f22aa32a8f01d8b8341a51ec6a56a10814413f8633574603ae1ef9af9311b9a23219317ea5424e22864640af9410b893e44eee7a9a4c15181a18a58f7411702d460aa4d5b6006a4f8f199a427e6ca7f90102286c0d36a4901828f785e835eb7e0112d6e3ac5b29da4b0a682c7d4d713614653635914a8636ad0951fab224035c6d234583b86f5dda552391dc660225e499760d69df28592eab57180ed03b972e311b4ab1bb2259d360666619b070a3f0380d90a08809cd8ca42b430674246b39e255a307fa68a4c2a470f28b2b02d297eb1deec1c66a04d57b542c707a44a7456b63998cab2573e54f2d5cb1662baba4c11e5ed4050fa0e4d741ce4588632da4e5149c4f276363040a456f442975c466162faebf11297ffa9847ebe0446256ab82225c7d66049667e1698b65de760959bb4eaf45d4246f310f144aa9b02cbcfe1a47609ba038f232ab4951812c65a6bb85776e1f7f3009c62535c86ba86911f4b225789fab5be774b402bf5fa625e7ee8c4ec07f8b55b33f2405e2d541483a26da047e3e365cfb51e90ac7bdc4649312f2490066c75cf9a99852b878d1008a9c95194e8e6913baceca057c3717074897a54cbc3cfa574d9fc7266fc5a86f72c55429a6774f0731054b1940af3f69ae3a242c4ff2f423a86555082428b61f8fbc7135a68c441868b82b4481d8106e872ee063c8615f12688e0a181955e419d813630a69a4a3746fcb6838903e383cc9e8f83fd28e0774be23273e6772971cf278d50ba1357c176db0dc3b6d97b9511e8e491ad0c5e222469864047fadcb1f4e8d960992ac81449d64236e0915f56280392d7096eeca750f3f296454ac2d62f2bc584e9411d23a8e363720c977423f52b11931b1c8cd7136fddd04caa44417e0c96951a288ec43068cf437a48ec76eb17ed8029e318f6319d951078c12966128847a172f9f8b1d8ad38e242ff64f017b3dfa538a30113809f7b85a7ac539555cf74301fff9e676d26d276b8ce8ce10b7632109e9023e3cca9cce4902840943653aa35b77948906e051183306b1d30870c1184c8dfdb061a5d0b7594e1f6b70501654270ba97f6efcb52c481f35351dc7de1743fc382262f4328b27ddec41738df1c51e73c05e6ba134b33adf6eb31798bc4629cf4be94fa8783b5c1c93ac52ddcfbd3e7bc0d16d43ad8769438a4e0ca5504524cd339a0b4d16fa6f8113ba2721d94865a68cd146ae966012814c324a15c2f8069d82385bb53ca947ab20a62f276ca7722caa4728a6bfb13fd0c63e06bda4c84f5bc6ae0fbf9da0341b49726c57b1ed34b44f4d36d7a6dc7291cea43a1858d36470dc2d1a23bb452a4a84dc17609200128752241ca08135157966805010bfeb759580316611b739316d36ba778aae68399e47e828e80c6d1d08a67b22db743a422a60aa63981ffb6b30843e30d3dacd39afb0f25b39fa7006c4607566aac04c01795cc03ede80743f3fcf160ed01e45385095fb1188da333fcff6c25c1c82ef65a36b4608903b7b31c6269132d0850a0f6c1f4a709af568283e4a6f2641a8935a316fe028635e6b04b1c03b24c67e103412cd4942ed6a346271272104e7a973426d826827dd802f72c2d03e17e90133407ae9057125138358e026595f14bf41000614124a113ecf1e7aaddd0f8d00e01663d9ee49feca4d5b98069a4c292ac500514f9252a008b1229dac7d6d98371e7328e2ee10f8cb93109e234173871f7a19aabab13371e79a74b35a89501c65a5093e71826f378e0f15bc7ea873cff86754cc1ab24ba1be8415e3fb151827122c6c0cd2e35e16bacd66d844ab18af9a9d4af7e3480810c06607f0ae0363ffeb6b4f757d634652f380624b6dee258f12bc2b0e83e03aa618a927bba21365fbaa7b1bb5ed084f97b1976ae31afa48d7bff00c79a43f11ee391d380bb370534170d074c2d9812a8c8df9528ff20776439c0244dcc65068e7c0e05aed339c24e9af6d4d638d19429f7c23207b9b3442e5928d16219ba406a8807c3497b8ca47fc9002219c65b262b260ec700be6c943fcd85b3ee7030a32e1dfb9561b6dba5da2b8272a3c549339e3d6d05104d2ad122384dc5fb131590a45c96413f197ed5d806d5b4e99e3741b8cafc145ca711029ab9e6913950a0173355044202620366c7af9f042a29bc105feb3cd106d6c310af6fa8046f6c5e41cc73f31289e0d9b590f58c03d6274c03753032d017925a25becf28b357ca5213ef946423e83772a256c9c820939321008b7fc0a600cd5d765c75f212931d12f3043abda4174c8ae72e9f28f5f44f073661cbaac5977891e13d72ead5afe0a010cb1ed1516b955f14bc85adc542fec7a2721daf448e2b9131a5524c55009cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83b621b50366883b600aeb3ce0891f9f4639582e44a9eb0b85f86d62f001a9b9f728fe3576a40e5894d91ecd4491df40336a398f437e248eb31aeefa82dc176b10e6f69555f66aaad378a5fdc704125b2246de70b3c2fb61809920dc92bd414cd4e1bcd9a74b9ff24433d78a243d5566c76cdfb516a6f46423f168c9148b8d471022b3533777f16802e37045320203f4f12ed724a2dc284a256b8e72c53958c694c08a62f701b20a15360e4a5461588a804b59c2658a2a113436439ab22f221601142fd452e3260c0051c72083aec864d178a1a6c4509e9204ca750443bdef63d05ff4bb7140e1cf51e3e8a9a5683c2b037bc991f242e625d253098f50aee7fca69ecfe523f06f6db39e09f730e651a16709e985d500389ae01a74ba736134fa03c80c5ab1d0d289848d493d06011f9cb35972b7071be77b915bb4d23534a14bc51b407ff4f04df4e01b9bd2c3578858f0da0a09365169d6714c8796710d62e80135f007f42821c0b013d8e095632061667802ee02841a8674640321b0bb7d5143a9873bc18eb86632cb9725507ca73bf377b86534aea2b235fc2af2323845171077bd26516871ebe414b0ce95b7e506351f83a5041130c29384659a10cbce46d0825ebe34e0f32e11868b26f1f52b3e737863d49465776c20058293f5a52b5936f5b2381071fff5605dc413a111ff1bd71b6570350a764816cb0da8c4dd785f93effa4b82e436d836513683f31c64d8804df0f0f1626dc182e2f93c6365eb1d116a841736b8dcce028d5bd885ac7dd3f12776f22152a3f606b0cf2cd1dc480916621164a42546a12038bce484ac9a80c4d7efcbd2a6bb6fa0cda64785e2b7ed8524dc78b479ac1f54446f83a68bb89e0705ed23a7223d70168da248f106c6f2c2d0ae8922b5e1cbe37a078444b51fbf347e37b6d18ada0bd3084d983395dbd842e8ed13233fd8ca419287b806b862d3c74bec96426c08394649933f875d2ecf84c92199159c2e6b12bcb659e276f54ad25b614146a5a594565f623915f895ad470a219cd50ec8dc3763f8a7b4a4c53b51a733e30750b8b3c380395c44dd83fd71242a4750b34251a433060711d7c055742f5782c0dde806942f5454c02982b8b097195383021b8a014d53ada0cfcc5b06f7bfae14581a6f10d6c7e7d4977f2575a7d1a4740fd9ebf391c8e072231677c092c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225f26a2df437e5ea56b39cbea3ea1200f236903921ca79b4e4ceb9aab5900000000a9e85e5291e2812515e5180e4632410b9adad263093bb808dd0ada5952da8864642f3476f11ce668b5a12c053401ca4ce16b3811f0d09e5a7a4e6b5aef4137503ef6a94ba62d4c45904f500f3b5e2314cb9ed1408ed3956d80b56342bc698b50eeee771104b2631e9ee5fa4fefb649339fe31103b988126ecf1a303a68444724cb29950711dc2c3ccbe48725800c2e614f0e2928eea0b62c7948c62db8126067dbc6d119e1faf838d8d53b593abdfe0140113468ec76dd5b7be83a69f30c040afa1d8174c709980379b8061ca786b6590c71b34eeffbe54114dca62dcd94fb03f50a601872cb3b15bfe4066d798e002699fdd14dfce4f14852584a282753af157ba7856af1ff1e73f2cad0635eaeb453e17e8257901567714c4ecb6f82c4f9530c0ca5131d22067707bd390e668f42136eca8200272f4c46f59d870ebf982b622b97111f2b89e759fcf89e64402260056657b57709253d6bfa6f1426477b8d4f13c284110fe2182b227b2014f6ce4b145f4b062bfdee2b0ac72370430265dd433384152c8451321118e3e166fa55570585545d35a9e667584927cc4f3e3673714c89de0231db8970978b9a70fc0cc01e14b9f33818c5925b7d1173310d73d6133968252b988cbc1e88b739468fbde92ea552574a68f5d66a42ae8b3c74d46d2f8433dc6d1013ee6f59f1e8025289da505793d73b45699a4c58bd073fcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334320af243077afc56128ac7820ef0371613399995d2fb7244aa88a790ef89fd71a5bbe512c35ea201e6c9fbb00044d45340838251c395ea641a97f2a55ecb9fd26eafefc576f4c5c69db6ca663b120a13df3414c62dff6020eee858b101d30ae6ce17c3a72438e2c07ea407a411b21aa27e6e8b45f46fbf44448f1a567e9eb87544f3c7e6682991d447541ee0cee23213eaaa19f6e46c0a369561b2807aa66743b8a3c493dda8f2e5e9f9e53225b756c69b359d102ac3b873cb1331e6b1058d61ab9968b2c80b6c815ac1c5236c77af7573daeb9282b252a0b73aa27564085bc750377fe26d79cae4bc8c8e214425d5d33d43d71206e95880581f2a82e94f229635948376e74b186238244e0687eef4564ff1f9745471bb226ffbb0a001f4c1e408da4ba1d575c7e5bafa30e458e6c40163ef15c538d299b3b94f8f16f4f7b3a3562f7af6198d1865d2ea6d242820adc029082b84f3c4b870f6730ce4515d8ab6677fd8d44c059f32af9ce260ba835c11a0af30d5b1b47b95ea8acd51094d732765dd31700a7981444a554d30330eee645ef05655c0e6f2e1fd007ef4dae04ba4734b9a84bd5099e28c347d9711f27137512a7c80ad343eb6b46ca832b7dbb53581de32e55cebff5724b7d3f70a1ee2e455a273225914bfa5e50420217fa7dfb4527a663033199615bc05b9511c6563f719c022c432a0a190c942c5d539a16de4969856b597322c317d6ab563ee0917627f7ef6709a33d47392b4a5e7424e8da1636d36947450ca53c1878de36ce2d6c4edecc8c0a3032d607f556524827aee96828448d2caa15ea582715fe12456e7e443a6c6c74bd577b5b5b586608e2a43a199c83081b19a20c550261833a6ec94f2c50b99f26c660d84dfc44ab4a60df2e57df37ab732966f30b317d26294a013944b15a4861a5c361191b890022a611f800506e7239d284f34f8c13461852e40123d06bfa6cf4b2f237c2b09742a727f41d5815fd6e89b2031ebab22e72d881b6210cd47d34d8c30d742b38ea1d20a3a0332ac1cb2c58aad13c41e300720cb958368818b06e1d2fa542a6b62b059b394a0554545e13c2f77646a4a0cc6c755fa961c8033022d194fb429cdf234c3877210aff1f55007fddbc571f550b1c9c2e7665abe6ba44f29a3d37a1d7bf0c65c90c1046437b2d8f47fc079e12a408c81bd42d4ccd464dacf3e773ecbfd028b0db15418dab120541846447c4c4650da606e54238b4332866db530bffa26e1a140e0b3b14bc696efc7b9a49c4df18674a18be31473dd720b9ef4b113b28bb30d1225e215404484dbb0187283fbf3a302d6ee46996ad76312c7409255b8213069706ae210e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a13e6b432b1d53132ffc6123513171e75636e2e14042b3a01405f9e3712584d6dc8cf4325ce7be95800aa7024ca5de70b2e7b5b76b029cd202f751454ba8a4d730fd76e3cd8118e3c013541502084e34afa93836ca1472624e7b50c3f4104b00376a9e0574d45bf7082d2262dc78e1e47b864185b69ea6a6a3c6aab0eeb85e83665ff3140eb4696751d8cfb6f3ea9ab52c0ef054804a6483729b7ba1c3931495cf0255a15308755310ca18407c807a437b88e3f33416bb246e555173d42e59715ad9d36318efddb1bee11f12119f2b50c6df10c5b7cb4e610b9c7a5472abeb001b2e00e104ddc8c0f049fb63e22db7414f5f9c01f064f3960ff6ba9056bafaa24bdd3d0616084dc6530f83774f5d5844e270dcf65a4a644660ecf83079e10fa2c45b71a62dd1c0256641e1c454d2e050b66f8e155df76ee72f22ca8545a6ce65ea0d3052e170ff74735214a1e8474c43bd8dd70334e855702e5403c57908aa45a3502fb07624d3b77ad2d924e4212dd51555bf3214b33a759220daa39e148f827542e1e49a8ae3676ba4397102154387735b5381645277352607f47353cd25a41199c4c16b73cb734492ad72bfdfb774ac227ad3beaa7ef48d365f1750922c76468a08d72ff933364e2dcbd0ba0a70440071989532d497c009db4b935ff9ff6576cbe9e458c7b3450c5189d74056f546f9fddd248b5274c2f8f4ec45d2b65ed297ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0793211e077db22228bd2c23673c3dd95893808f2a961cce659867ce38a737272ac68ccd4bb1f7041e7d6b4032bb45c50d31e6d81b85310123541810206f4f502650b51825af63a121ac9fa04e878e0f363436d37253358004581e535692d6aa322364eb0138d2aa3deb3dfd0af8985930ee9df763f942797443480125898c5b370cc00a01ac1b416b5ae9753b3af1641f5b7ca51fd41e33224cc4d546accc2b04912b384b96f961515a1a4e499dfae943a0aa2919023e544a4dc3f51bc8960a4d9443fe600e62576e80f31a15cfba91125f8c7405c6ec2d62fa70254c215cf15d1a308067ebf67244be173e2515fd6504b719a25559c11d3ac3c90d3224ea164ccf2aa267caaaab2b5d4c5832d63af421d7c40b46d9514d1d074ab96ade6dc548ccab3e274839b92a5db7d307a2b584319286173eae1cda4407da8a5ebda7d755007d3a689bc8e7662dda8b2e947b37069f53116aef3441593a989e41fada54208ab72f1576020f29a3e5922cc56450162dceb01f4d8c146d4dab0d5f74b7df2663c48433b31ce00c44284a67e2c3a24df3064018d33d3d49a6f015267d71624cab7cd319ac9bc829b0ee780a4397ba01b9476d5a95844c172aac7c3eaa6f252e1f93c96b4d3d793dd283d169aea35465517fb8117fe7ca6742d5804b99f9960ab4ecd01cf4976659eed8041ce08c3261f58c694f26946314e620344c47294a71d9669533d9c95747cefa736a3433b31931f23035373fa306370d466c6d53966bb43642244a2ebc3d1afcd250e63502352caa1c76da06c55b06a3aa5b0df3fa2e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d4e62295634061666e3452506519784650cc8d66f194a136beb23720f9ce60815fb30033d33cdb31f900cb249243f297039124842acdfa1461277db4d2c8ac65edd93620e90c73547c16d4a0f77627e3d555e815c0afc7c34f96b94453eeda02c015bba5a32f3873e72a5a710b3dcf70834a8a00c310b92409b2bdb73dc508a3956509f4578b2ca4d6df7995da562c81f21e67c77a1c71c64c1e0f354f5e6802a5466ed7531ac8b04d438a205fde8ef0bf387a8758b017929c856de582b60bb1c59382215c79e3c237cd28654497b041ca7d4a34f4054d731a29e475861f1370f83ab94047be82b653d23be113521ca70fe94f4471b2e6b3c0da5c523b41f4c552b6e6817257f8463efd5332c0a699d1c0334064bd50c3f08c002724148834d26255cf16b18065b09b9288a708fc0d100b4d6f60c1020142eee1a733e2d9a7e64982e641bddbbc03d236d560650f12b46314def2a267d053c7fd5695e25db7e3a23eb076ac066234c60c9a357b03fc96fabf8b259b3d3635ba280233880467c12c54c79532a6db23937fabe288741a33618ebc86746a87305e4238709cce5da1cbd87c26283b9f343a75d1b2e81e4d74c1c954656e8cd090161922d2e909caf3569de1638a1ebde5a59fd045915038d035b639d193011905dd11f37649eaab50cd829883aff85306d5235c164b3bc1d06cbd950422d36f740b5ca2d397e180f7303fc4a513ac38328eee1c836a6d2f92650ae3721f7e3c772cc864158c786fb1fec56893493f50c291544e0147d9f17174ebe4c3a0706aa1b20b22232b9ae993ddf1f38632a3f5148de3dc46a92c82430d0fa4f25c5817209a5fb1a3f19813b6ca7133a151c681e6329bbdc418c0d935cf130c11333e8406fc8c5804dae51546ddf058a68ae86bf1dd53df21177ea99010bab4419e63e72278a6c4676e2361f2849cce6258e924f61bf1f336abe2b55051c93ae1438e919405915190a13334e3d7bff774389778e7441023f4edc25394c49aaf8100af088431326cf09f89cad0da2f7f8134797b81018aaa56d3b8c3b510d18d724b4e0803bd47a1a065e15b9469352491240de401002838a29942fe040768a64770c0135743eb3060388729c3b60d8571ed9646e73aacf6b187b4727063e2a49422b9eee11037a5f146b5df644cf44e576e797ac4a4ad75a0236640309b215e750b361ea325fe2f44899fc074540c84909a8575c49505fc87248a4ed5c606aec661692b03f3d588c686176691a19d74c1bb043af05a5ba9361419f9a014d0920118cb2ee195d27b65f1e03c91e9b89c676e240401d4abfd103c6a4930a4ba1b074acd54f02e6afdf38e6067f3713591a25663c0f054b90b662abc5a3320b579d06b101280073454e052a9cc9228b6854558759f11556cb952f61545c19019b663725edcb170808bf68d7824a3d4fc6f226fb50a4672985fb2157ed136ef44d2e6d0cc3bd167e91dc46b70b5215c455d43e0982991e1111aa02b398fb1afafef754b7afa22f72b07354ff1a3622522d4f3045e293423799f43f6bbf7b09123b14445596a15a9065fb013de3385927ab020715f8eb2c53631469bcf5c20739e81655fdb8383107669b715d180d2d7f81135f0700bb3f2f23c12b1aea614601cc3508ecec604d92c5724c8444f53ac56f9a0c15977a5b00213e10dbb1205a913aed1b20c1ac5e81affb4069261e4bfe95526436451752ab3ad8437a47754c12c02523a5a0491718f85e7147fc890ffa4ce72e5acc6d4b62a8440598e92721a4c15f0594123e2bb482d6696812165450b338359076301766273144b6b31b352b25d64d90d7f12707b97c75eed0800e6d6a772ac5cece5c98782d13b88fe141b898201d53a7fb5c2dbaf83e7f7c3f719941cc07d919541cefd1066fad06912df89c756bf93de41be24d492e94c1741c89c88d3ef4f4af5f7776d421000000008dd29b67f45201715f840f737c4e830bbe33f712102d141916b62f434cfa0931da2aec3642c2ce1c3681975f917e43573e68293913986837fc5fe520743cf34c77b5e424cbd8dd3d61de502f7d6e5201e0572e0e42b2b66973be6e3c6a90676f4916b53033042d553c7f6362919c430f99a199608746242c48f4bf09a1deb464799b12004bb801199a3cfc02e1bcd528fb248257d0a19418794802584e65df258c449259fcb1b712f7e1682fce011161f30b113a9e032e0602567d19216efd292320a41ecee3735c26e88f6e7a40246e41cb547322f27b1b9d737a1aff0eda71b98d84588d63326e6de4264b9aab50500e4e534a56bc7b4d6d31104883606832255d93765f97b1476e607015287c09771270d85d7fc3665137755021c8bd4a5abdd85d2b910e1c13175a3176b2510b65f74724155163cc2ae0d439758464e665cfc4ee3fdc0c8b210e84a5775d612077d1b6fe42752c8d26b94f614a3a907e4e57d8ed6c7fe53c1e663982260c031d00a10f9e134d68785cb331a22836265247784cc85165efd20f907ba23852bf35312122a3277e8022193bcb3c55ab4b1b465615ff72b0414c36f48f443ea9ecb8178e3bd15385c45625cb9d19285163c67195e690249456124c4dee3c3e3d8d42773376cf1d9b1acb20ee864c43b5bcd00fd17e4d03fc487b0c182f1b35fed43a2adc62523d5fa9594faaacc927081b22349bd4fd2b1c450d401cce7354ba87a8627617b320a2a045569f3d0267421a7619e28c316a23c87a2f04b0d577dccf58023ff5a83a1d4d4546aac8dc6471ae0435a955c10b55d70d2d2bbf033bb02d1109f50cf84c63f13005d54d747314c65e679ca94f778930886baa331873e0b6a52cd57ed2393c2aba24f16ddc4e41bd3b0a54cb754512554b2e1d29135d1d7d6233a15547527f9886518097bd0b3782f21f73623a0fcfec8f18fc113c372d94f2396344ba10c7edfb5757f9c35d6e749262184fc24778fa202c27e40365ef86094acad3cb516e95302b1f25c2285fc6123b3fe9b96da1d71a110b17b71c1380e160a13fc23215629373532a7021594f3d6645fb101e8cda4431f5980f2ae5e3e4669d2d6300bfc2f10560924273c18aac2628398b4443a45e09405f7f62751849112cfa8c1c6cc81a6c5145bb0d9d2bec3150f2a668fc1ec6592e6cbe4ae0145966b2b4e24a6d07ae419f9fe83330980b036b79800735f2c2108659462e5a9de01199827502526db9015a49ac3ea1759b165007bb5b57666a118711125717d0233ce314132bbba3e23998f9eb25c88cc8187f8295340781767020bcf866671c35299daff84791d097652495050d7c635833dc71321429a3c5387d185a0dc3cd361b1d8b21265182d05a32f0cb4c113ffb56f46a96069dd1702a22829720a6bd162f134b4323ecb2355359cabf74d950e80d6b5d7f4001a84d4a59201f27f807ef41bd36eb5fed4c99746cc5586e74390e1ace8dac5c40337b5bc2de225faeb04a571bbfa42b11a5443e8493e072e9974e0879065628dfa8d72ba187d868806a880909504f00dd01534a0d04ee6ffed1b6180bc62f5a605cc53de6aeaf3761df87485ab6ef2bd782b2051ad0c6595ed8bd71e8cbfd3966a49a55e78c9f2efd96f33a7f086a1673153e767f301a41e8a7a42cfb9d7d275c62920347b93213dff3f370d9c0251a4ab3be5f476f89237691120fbaf74f344e61d26adbb1424617e512432338d13b9eccbc58ce92f14e70e1690ceb55a744382db8698eade33ac1b7ad4e75fa3a423460c20bf730c74bc57cbf46b6da092e9fbd1f125b10486226fc892120c5b4668dea7701b396053e7b10f628a6728668e4a01653ce26511cabe083589e43e25770df4a2d4b7ef21365ab7c488a779212fd8d5a4fb964263d1bbf9f05b1b7cd0e2ac690094f71904684ccb5342b90ba1a7edd2e681bf8cf45bdb4e43d6d9b3474ff6e4b0318840329785f6e2ec4bc714876a2b549797c1663edb083394da92d1a60eab543d2f8602a5cf65b72321b9869af805a17d39e8d0e8e67880fda95240adc1b8a163e6294204e0f5d30987c637077b54226ec092652c6310047de0747494b783630e9cd00687af2015dc692b91c5854e06860bdc85cb9060240724e1b553680a50e20bd373208b5442b3a385f40a738c855cd230b389fec3e4f82627930b5b8436ee4f6516f0262e5172674e6432af1932485dcc976d617a855df56ca4f37804018d98d10092d38ab236895ea1897b22077e1c3e16a2ff0ee515ebd191318971a72e9ce9976848b14611f284c302dd77452cc1775021ba41d6d01a8b059e62db262a271e316fb0ea33c0fde8203ef9c0a49c9a2a366f612f432e9106f4dab42452dedfb601c2d9ec95ae3f5de5979e2a36e4c058060fe1f3d22de26f6399857b03a3197a609742fd3597e1775280dd7a94860f2351166c1d818f339ef52eb932310f548e55894d2a21f763d520f139bc204d5197a1ae9f8d31722a0e02712357e1f08354f272c7b643bca179871c3f7ca420f0e0757d81f3e61793e2b354878b15a83b30e58c5bb433bb44324324761315832ef43689643521a28e8af051c1e874b10b58523de11d15dff6fff4f8a499b57de50f94e5058096f59b1ec41d02a0d100f8db03163538a11c3571669fa7c6c102693d262052be41cae5cc64c4c850f0755f2e463304e41522150165532cd0e3a26c7232e15677624799a24672a1b16500b23880112f2280a15ed226c68f75118e2a3e946e9b9191ae54daf7664fa412af80d73554881545e8b4cdc3dc9ebc816e9be282132016d057ab0772ce1c57558e0e8702ea1cc8f567dbc71583684dd2b1a1216048fbfb25e179a56534d63e839f5eb7916e4be652c07c5580d5707200d4f98f3337e4a9911a812a6734292dd612193230f1ffba85d25a6490b59d2a36ecaf1783b26900a6e31c7cd18a5582d59f76f8f360632341a9a9d8f623a618f40a1eb6747d2c0bd1ccfd3f0574359d32811f11f143a12bd6ac9304427496f050f3046b54bdad3f8267aa59558e3d3e817381a3237eaeafd4341b28c03bbf78500e801bc4213f29405f972102b42c8a00c71caa202748b7b0a5df39c50944a190d81c89a734dc5213069c9d7018276544c130412281e5f00774cd4c535f5f4d005a434a548bb06d8728a5bb626b7536447dcc188492c263b356e54846d9c2e7c27105be84b69ae1675e911de28ed3e924102541d3ff81f4e645b8a693405c43147ec9a510e3d471c26f205556b41db784754b93a4174593363be3701673d8dcb581f5e927565fa1e0c4f860d6efb52f060a5b3434806d8b626d806f60d42683232b7a34941c9f1b9735c4c6c7375ef4671185bde22fa983f5079161c16d6e4cd1b78331d52068d731bc98bda329c4e6872bd4548655da1c554c4aae26fa1d16b58715bb777bb118f138296c523a065b15654c1436b92c1db33c26f2802862d9a3404ad5b64bba8022bcd7daf15646ebb6724b3a927e0e79105e9d19c4356ebce13f386ed4b4751031559a58c529d857c1a0ef03639cecce402621f3a560e108a3593c1482015728f53e332aa75f43b2b2e5461373cc9b99d1af3cde42788808e1d567846722004dc113224306503c863284c0e640c5e7a9c2835d662729ebaf81ade3a6f07dc52c02be883313bea99c17692093923a4fc825369dc5c6f32fadf5cc7111c5ad7d07243d4e9b1161c6fbe5b45956b3d4e32163efa35d9731d4ffc5641c132513c92df56e5122956924f744cf92fd70a16a8e44fed27a33d7b167844db5c5c266c2a70464dc2a830443454580ee8a521445f06124a099b56d566cb75f72b306f3804455f24c26e5147d36e75be68b65fa74a5674b0c61b4a39899e4851a7815fa41d6c330ab0ad5f627eb95e618fda12e2e3a938f44dad5947feda7543620b32705b9207beed265865df120001dd0a3cbeb76563e55ab64f8607b93992261d57c498ae69562eea3ee2c7fd702ca3ed6bfe734d36293b70595300ca6a4924081a3dead94c63479f0eb3987517b1742009b9964a65e94f5011fb65b05b1875b75fbc43e13354332d18b52c6f129d89b74f72ac80438c684c1e1cbe5b10b08f442dfe8ee2604ec87644978ccc45a3aad6726530e871acde66730e21bd12bd5886136020104d2bf60c3e00bcc9370fe69773539e2b3b0b5c9e500ccb4d02c1cc380434731d60d83de759fee5b8156dc2212e778fbc3a41af0e455843f1315023bc20db32bf049c33f73a40bcc271e07da438887fce193cc817701f8dd913ef22994486b9ed632a49f64fc5c1a021af2580499e2a72193ef3b55e2e96fd1351556a310565e651257f5060a92a3760f1830d6317497a37733fed0e2091df0be649df345755dd4bddcf4346218d0f259b67dc49a733530e7e97773e2dc2e6390deddd29e6c69339bac40a563f94d03ec8a0a6414c6f6e15e17ca467823e56312aadeb74d08e6604673f9b17a3c1b041d6853448413b3f7656c6f61cd3fdda3a8ce7675863094c586c4888239f7ec739faf9b961e496a95224ec1d210f5b456eaa2dfa0570b1d5039727332f83819e6b07e03132de6e0f3bc6c35e06a9d41c331881c103aec4404f288afa4949ec4451bc684e29c8f78d050fc1d44cc1ee746130b0e76dc5de3015be34b93f089b8e422c85312bb5f10b1b4b288501f667d75d3e66f74956b41002e6d49125d7e0992679e149529b0bf164e00e7d2db8cedc30fe734b661193bd3d4270b15c67e9806ee687d94435972e2af9e5e755c4ce8865db157d04a8aaa7133b67ee38842ea6361cad362d898bcd27eaba9907e399fb47885c593e537aec5ba7a94302cab0ec34b9e0ee0d00d4145110a3722d7a7baa5546800400f7d9141f3efd2b6a9066b356c6f0f025efd2974b5dcb55596dd43247a76fe94fbece896d10a5641427901926fef9ad4ed9943f6e6c71a8547f407826b3793907563825518b62bc48dbd2de5d45041b36ee01782087d04c1a50f3252d88823f6e759b24237828322fcc7d1f509596a00c630c9c5218be6e2fc42c2a5b8232681e532f15369b839935c78a0777d7373540af75ab58b0d8333172f67b2c54b4e8653076fe1d3149b80d8dc53c507ceb2b66bab3e51552848747e991fb5f8253a1030b103c6817eb9a1ad5675d730d256a594e0506743bd0a3076bc75a4a906e255538ba5c22862f7104cd1932109d12b2138cc86e2906026e49492bb528997fe1563b77580e5b523f38207aa9076736581dbe784153e0e057306a8ef12ea19f9e31778e7d2f08483c5714103d5262d64a4552a82312f60dbd21e7fc4b4508e96156e94618178d15a108902171449205d43a76cc8e10571fd52ebb7a8e7779c80745c8386010fb919c6fa8cb756bc655ed1aed33d330b5f7f7006f090c453ddac677c1ebaf0435df9b319bf7690e16611b162bf49b011493a50f589f60483dc79b52df20b551fe4aa51b32f5491f2885983f9e28676e27791b3d1fc30942e46fa815d8c51f63c03cb5712f85fa3f46af1e3c0fc36c15043f3919260ac44db530264059ed7a262a03ee12614274620038e4056c09af399b3eac70b879dd698e908a15e3b96a6e552e24398fc0c74a75731213a01fcc00606a6f4268106c45d863291407d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea275c2b7401f04889e2048acdd2d9e0f494276a77d3a944c9e35e702f650000000003b47cc329ea15601b615654237173308c7b0185a79e5624a1bb2696167df8d1ec8863a70435b5a2a01452d2b00403c2d69fc8263cd9b916c2d64744e9c72340ccdb66962eaab18345abe3f57f9efe7064e64752d69392c037b4a50567f54710d1c457667eb0460299e2816074730d15b668f7138ec930b318704e72b468ff531a27d786b75a27f47d45e78222a54c3477d1cb54013cde86afa177c113d6e0b0e16211042dded0465f117454add363a6908e767672fcb1406cfed6b08638edb22a321d54b04d8683225e23368f77ce635ccb91821bdf868598044283e7b7f5b2cc738bd0e9eb4582006487d4c1b6edd2e97bf614303155d463126cd5c6962b468f560f36d66bf63123c192f67558733346182e61a62e905732e085a348084ef0bf12db23d5eeeaa269282eb3b448c3c0e62945a3f5aa8da5ecbcffa222301e145daa7ae01898d215f83e1f84951e7ab0bc852683ee86b3d44ea62ab10ab4726549a7587072d90471ce3bf8a0fbf60e22e164c9a46ab30075604aa955f7a5f883d2e78852e198bfa695165ca03e9421e20976c8242a02e11706924d55fc72ace4ef372b9613346b50f1be72536c1dbbe37ceba51265aac955ea2d94e16bbcffb0440f7ce174f96b070081f9230dc4f6818cf23ac0dd3e8e6074b7d655d78356a5fe44b4473d60a966a6a6b080b515e9f534682b1255eea045764724a6c520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00b4c3de7722ec3a732f7ada1041eb2c206462c4123ea2b92744ac74b38c036b51d82f9a73083cd9e70825dbb015dd13c5e642d28532b13912444ba2265bdab53669222350119b76424e66d716170ab503ff3654616edd20c2282d213596577d83cc5cb1828df577a126735e50c85aaba29e60b7758f1d07f1afbe8080023fa3c6178200f4d5c6208019136490cecd9c348a11d166b38970228d9644d45b7406d58fa694a05d16efb2a876c045e4f9ee822397d250a240d4e0efaba83580f10cb0775501b007a7af71fb19e243536080066030c7f1f1480371707f3a34f98e756104cc62d419fa5b46c26ec88004151aa28b2651907f364c77198f45c47283b5c4b0d5f5f72074700235e9f100de230525835210940bda0441cd75aa349f6de0c40e4675776e348486bc81a9819aaf7640e37d1db5780daa303cbc31709a6485400dda9654263d28773d8afd1426bbaa90368f35c3671abdf6822c62173c14f9d0b75d0350b3663e24c415ee173a170c8776f2ab81bbea88d1f513fe91ec618926ad0887b0f78fde103fb892e2635ac2c31b15af61ce206ec3e2a4f3752e64e7c23c366c643dc14fa1d040eb755ff10a748b1fb5b6f095cb3694d274f2f48e5943278ddf66e64c05047ba2fc2186622e51cafe5c7673194590527ba8e4e89336308536dde64d51c1c141d98524e16b105395ad6d05ba26d2376c2bcce223efe7328b88532201ae3dc6c62ef0a32ddf1bb2ab810c510494ae84f00016a540afb6a224b1da70a26090251d1f76302ebcb90149831a60401ba5554c3b6004e970f974d60436517b56e0650925f825438175b571d051a1b1a8bf80ef5755d410f2cd9055457c116d0d64a76232a345ec20c91716f91823bdeea7c4f5333764057ae7653c452965ca6f4ca49fd961b17cf2c920d52ae9270470400054333736fec64fc75502987391448246919921925c583d4197115433442f0cd44cd44ba211b880f426ef2b94d797e5d43401e0f0d1f249e5624372d089da6eb45e6578a1c85025534e79f1c09de84b62bef2f48341d48ec6c8f012844400a1a400360ad38aeb6d76c0491bc4e5afe975648b56e5a2a416e6b3e07bd52b369055103d3e04a6b6e315b3ecccd6defa93a43ef7e5e6fbef9210e9c79e55f546c5f063c92201afed3113813ad6f036ccd4a4e62ff3908f644906e3a74e162e84bc7575525bb49f88423657f91ba04f64afd3ae68f4e58d100b63a682328680a289e06aec09669f651b15651d5ad49b34c4176fe66b20d979f5c47a167c354e421e3345400190b589a771b903eb50cb4c852516cad7d5898d8e0028237fa69873f061136a1123116949e133cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b43fda8137861166afb526c23e8e4a112a78c1305f3eb1b513269fc6ea7d130629f9d92298279a502d944db3ab170184d4e94a7149f868b60cd30941c6a6dbf6b31d42b4b755893629310a31c331c3a0454aa84355f88a876a7b7ab5e21f4ab538c86aa0c61e3fd721e0bac19d22151390ae95a69419b104b38981b3bd40fb3440149676ad93b7b3d3772da138c4ee0263e0019388846b377ead1f238d435c56eee892804702fce4af9f8fc0ac8f37e24eb9c2c19b4272936eec1ba5544d30022020fd656ad9eee43eadf5153d610c13c8f59041dbed6360f23923e7421732442e012003239e60f2e63cf6d0a7a0faa11df562101b2be86423934a94d567d4e05b87c3954c9abd90923fa3228a414b31b43496e3a6d012540088a1b670c395f304f7aa2280af84f345853f332be67a471c1c66036abbe541b707596515d73fb03caf7f1740f6c1c37af6bc81a9a84e35d9fa5156aa9d3cf34bdebd0571356f36a863fb46888c87d53337bf75fa646082261edec67547405600a995b51b0cb231ff265d53bd25bbb52fd2ac6329485d13efca502392ba4372858b0fe2e25ea786313df6f5a7cff1821f085532aa3d1742b467c272043a0943c1b73f3108682de7085c6905cc0641c74ed05fb51bc40ba685ea5de2aeb5a542209a61c06dbdb987630c040537d75b718561ffd2f52a77e24187b146ab2c5b92245e5ef4acf93362b4b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5556f1495ad98d9b4dc2caf05d7fc859064d4999021ac7ad08058f3707c260596ac61f8a51078d7a72137bf11f2031d26080c150612a4a50505455b868282fb232283a371cacb2c63a32fd5351deb1e451dec92a452577c5450e2eb40487ec1775f519d62f62c7751274ea23284b1a3f269e510e738c9b646281c492164effb53a43dbff0a2c7e27693544d96d129c81595e71e7410c10c2662f8e49639114a5562b72e7064bbf6c0d09d3ef0c7a5248771e202a0870b7e83e17b2cd65b2064d66c260f14d2cd04a14e110b677cac2950612f7b35184b3f003b51b623d7e785e47a3cd4f5c8bc19a472767d84e6cfdc75a3ed502127f58ad038f624305d817225fa20f8c006f5ec54297a0ff66361988769a44da5aca9be251cba92125ddd42855b506593d7976187106d03b189c0d95153325db3d5ea15b2fbdb56076ea76f675c921e462e1dc7951259575256e33cd559f21622607552a3724fa60231039930030d62d247fb0a3501a55ce6b7c3bd214af78aa63e385a36030eea53b43aeb13e889d3c4883b50b06699d0e3c511508523b3c9460c5439a64fdd3460600dc7c4b0d45fb26512e8c3cfd7060217f842c280be61301e4464667c5dd5304e4767132f81b4009c8cd1577faaddd166f85815405c07c1c5d61ae6246af726ac50f3b675182c06f83f510660c2b11123849e03e9175bc0d34452d23512a070e27e6af4c7d550a170d284030a62d2e20b6c5f84ff62cfa708c5833335e47ab524d59e35d2affb43ca7bfd13e4f54232e37fccc2c67c1e47534e9766c6570e1717fbf3b4ef901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a9199729556a183f0d09cf13631165d12d0a60f9973a21cc742b6d0a84452e415775d996440093c23f2a16248033f16154024266ac12e2a0e04eba241f361153632898bdaa1b38dfaf41bae66919e7542d21a09c51280202e052634f4c385611725f3b35b555a4a45d7589fc4e4adec32626060a4102511a154321b254267d15af5298510a2fc5cd2c04c1b0303d58bdd70e5c8b2e270d6ad646ddd0c40866ef7d2d7816d6187b4fba6f54c0e7233ad78773d51b8f1420e4c211c3bb220f7c4d7d479bb4a34c7dea6b704e288572d1a8412c82cf1c156ff02d03adbb2a0b36b14775bf176f6bd8784164f7176171e528af416d684a2b79dc140efaed2746dd6b041cf90c9e08af944d213b17856e86add217958b8b2efc1f4037a8069668413306714b6c6c44e1ef48096eb0956fb968970efd42564b9ce8bc69e6e2db11bbbf156c9d38932f844d430fbe0fab6ced88bc575335d24668bc7c5ea11c2d712c33843489cf904ba2f6f3301c775a592efc916c2d30105fe7d60e40a4c71513576d295b30558d3edd499d1528be6e59341a422e4fa7b15a72620a57ee856101f510f20cd42eaa632c5cf84909a52e42eb50046b51a50547967d7640fc9ae269d22e6b4ce2b4b34886d5326c43e28f4abe75190180c4d958a7343675583532614046310136112a5012b2c61ec22c8253d1ee9453758e5e6a00abe75c49b6883b6c3561630f11a627b10a392348d17370a1f8f17188eefc2a9ca63b73ca9cfe64ba5b83668b04b4504ee4b675a412a6689497845e7a4e1c6da056be673dbd1d385b84ec5079337e074f16f10a3dac652cee2c460bc12a2c71bcebf93636be855c214bdd1bfa490977c1f37c778827ea3a10e510172ada9548709a740c3cb4056034023c47f7c2bc75235e974c2549656c9defbb0a3327e84fbf74d652511f5a3e183ffa6c7e6f514c530fae163be68743d464d57201e0f44848186c54df45745a0842233d1553b65840c1bb285a84d415a8262e0162cdd5128ec5f36e8ab8346f5335c5120918b93d3de39230879b8f310c95536693c0fa6768bee15d5fbf30381ed16554f66a905d1599094ff17fdc366f5adf26949cad7399bdaa714455331a734cbc76577f31733f729e6458963704efcd416988f10a6f38c2294302b3b60963e7a8399161420cae8d200e81ea763c27198f3c67cd0430669390170f9afe601d56616d410bf921a124df482cc95b0dba85ae18c2b6bc2cf537841dba676b20ae173325434e536fe93df937de762d500e53ab025394d15dd1588b506178a164245af325fa01f838a5adb70473d3031d7573ab43a3f3c1021c4d0513b12155022cf518297a09cd052b30db1b1454e20598533b1bc33b81616492bd2fe2e98d3ca94323049f4e86584f89833e8fad6e1d5920552e2bb0f9096c32b92b19fc775fa79c6a76a19cd9150912a9115aa83e77a308725c050e944bf3e6290eab94cf4ffcc7580d4b58b665fa635465429f876dc41d925d85101f6005ec7337243f5215661aed01ecefcd59ab708658bdd8091e5426214d2e447e24bd6ec8337245763b92553c36edc5d91c12760133aef71814943a47692303b321418f9c3c4306f85c6b705734b655be736569fb04a36a2403cb7f394ec9dd951179eac302a8d5e70c95f32742d433114aa310ec0380462d6da6da520fdc6ad1411a442b777fbb212c22aab0115885911b87921a32df208d2c7a5a245b031e2316741c051faa2a536aae4694133a241e030ab4d16624376b6f1c40fd7095346633e5414f2263576c2c6dd08f2f766806264dc80926b187bb641878f7661cc7a14bc11527191d5b90268d79c547054e6809f6d9322e64da8155f669aa1c48c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4a87ff1c2949b61427b9b314268d810c2d0cfa0221e174dd6c3f3e80270000000065a09f5bd5e34404883d161e7a064a125147a5560b5bc54ee0b24f0dfc30d623e67dd766507f0959b1dd5f0400e3526c8b84b919cf980313d0619a1439e7e9640ac5db551626d33bf4d8b7206698d45f2261f769c95d822182f45435f87d890c6fcc795dd69af65c7d2c5421e3c3456792bb4f2893af1f72fdb6cb5f4570d369a0e165529171b21aaa009b5fb55f4b57727812224eeb8c2aa896386518687c2b6f20984cc459e3013956d767b90a483dd676ca4e4e867e500fc3646532bf7f3117652462a8286e34ba5ec1642ff23d5a4133e84e65325355787bec0228e46e6c8658a826ced01d2482845f2d6ad2365d4c1d511de3225716605c4a446d482b5e0525c7562999830ca5a03320a95f4b3915eb701a40e4875dfd28716f5b4a842c1c07052610af5102d39ca744aab0e326e398df2b4ebe03311ff102149c05c66be3ee24265fe89e08098caa370fc1db50f813b156758d4814f3e062381d0e610fa475b86e552eb011ca1a8f77a7e47a73c4e012377721116f2c990331b6530b586c047a05284ec154d3351b4bfb667f23e41ee106de899e0f42509a4f665c9662d0b54848c58b35467f7c64302aafd06d43a61968314f984b759f2c56a529054aafb7791befe31366153b9a1db5351e267a80896904da277387cdb0644391ac2c262d613ce4c95f3401987318e8a92073182eed6972db4c4faa1a814ba57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fa51b1c13c9c3c40273e4f35d982c71546cd1fb0785eead4779a27f264808201d3605a46fa932ac737d199f35170c631323158b281fb92834e4852c320b6e4e3dc7f5ca541389d54d9198aa1effecee2a14b5c758ce230b3d739e3a3dfce8270c8771443c24b2d077ab4f64616f3dc04eade02a74fef35b0ccc900248bd2f0447e41dec09d53ec427a8d36e699728782c82062d6b9cd87b29fa2e3817a954bf74b654cc6d661f471d1d247824a1f725092619355d2149001fc06bc23494e2655b8d62036d98ce1208a3213f10e31436719ea9ef370821a526ec8fdd4c00f3b5581245251952f643714b461e44a62eb54b2f2507271ca7992b6b1c1943a3d0f76daf29c73ca9d54c1e493da66e3397e55c4cacc04e06c10f63ebdba523353ff73498d5573174f0fc4e0182e46d9f36d7235c42ed6a330f3b37a06c56110c20645de083cd6aec76f204f563e267001b440a77cedc3ed645466c708a2a24cda6c33049690162ad9a464d28249f76d63d4720ed7a9374a5e44a16ea4c3b5ad620b832adb16042d1bdd73797d49659c9e2fb74d2ca381094ba856e5d2a535cab7f635d37fe166a1bfb5c676ac1e52af1f5f90d8d3e0925094be06e644b8429b0bcc44221c13f0e57e1055402f0dd325d9cba3b0fb111402fe12c0ab009c03d00df2c30001a4e3217daec676fad104c10c9a4606b4e1d3057ed856169721f0cc1baa13b383afa255cc2525e05a1e02c22d09825b7c7c5530fd3214095d08f3bd62166030da9db2b968a0917b903853b9937433c9ea32a30f65dc141eb4cb6722e2ab905f3f736617858f74d65eca60bf17f6d06219acc6cc756f31968f9d77429e35c2203eccc25b015ac47162d7c4943c8361e2b954f48af9cf5171ffe7702e097e92d95915a061b5894650a91cd0d9cffd9554747307629730073aaf970687344f45eac14a016ef04966a6053617183c481585da0d00d9c612d4d358d771bdb468f0d024f3c11ccb71738d055e164d64aa06a8dc8b02b141f490f4988ef24d77bfc6de930291cca3176070bd38c621676235295546a0228daaa2c66634b153553a93abe915b6da1bf486c3f475155d7aeef553941243d0ec8f72b1847031e2bae4f04b964d900e97779088bf9081ecc022d501e36cb2130dae33b4bd9a7753ad8f15426fb7077d89cfe4bc331e72fa0bcf244925eb3000f011451ec31745ae671a55ad7f2f3217b69322fa8d14e33385e981d8ac0e7172210a70a35e0710f72f4db289d5d1835e5d41f5056804d25e0026350df267c1cd786db611580ae5ba387af2f27f30f0932220e3df354fe312b080e1e7ad4912f1c1e520b27ecab2549ad2976d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25ff9e4ae735a229c65829f102e1433d45e78c05e53c865c22131e46e01a3dcc323592d67275a72fc021e6383440227586372dddd0ac375ca5c6e48062992ea411ffc98045474587942c2e0532a3bb69e3bf13607214e6b1402edc3ba5501e6dc0cc6694202ed414044633efb62752dbb771df111669251fd7614cce741c64ea06fdc15fb1244e10d4687b36e150ca65c5be605883df4bcb847b7d2f149f484bd5a9eba641fa648eb40cd51845b51508a20f7c88e33067468047dac25637141bd3f34ce4f11664a234d76e3371eb94ca23e3c50fa643a47c808d347e11aea7dce471019b0587a4e6e66462fcc3c9bca6a177ef14c085f673408eb833d491ef92e2d62bfdb4f0b21ad2a4d5fc644c8c2294f9530df28c1300720a274bd4c818fce59f23610153739a8476d6cdc60663c534d434eaa3f6d06673cb26df358a5d1a52558c2c702110628177f5d446fdadcee47a77c470771b1287001b1383af63c8c12448f9f039f793a362a17da6af2f73039812091518876ab3db3fa8822d7c14f65ac12af5b9afc1260e4042b2c2f4cc413efc487598bb4d55b12a69b368fb1ca0cbd0773103c041824805ff274422861438fbe947111d0426a2e48975c52b93f2cf533ed5d51d7473fe44d2c292a952269015040403ed2841ffec3f110178c0a6d154be176d50a0b3ef7895b5e720d016c0143ee537e90f06297c0f9168f51494df215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e5016a73481bd1f6ac6da6d8de221065315e8eaca51ec52ed72c7def924c366cc12851621b210c81d0014c4cd62924a2ee2c14e8c9454aa2ba37469bb964c114e43f1ae6325958c7b81f071b6147f650591340b16f446a3502493b78272d8a4cef609acf8e4898220f6700ce4a3ea8510b6de817a211bf13c4719d9e62754d13f521dabfb864d07e0e0ec3f7155737def43ec480b7322996334859af71087485206aff8990022769773b5fd6c80d8d22ec19e44256331da64a33f72ecd3e7079786456e0d22a626d4d3414044e6bda0ee863e4a44d210e86603c48db77735369c31ddd1b2f5cfda90160b0b34a50be38a7369990d9130c24263136fb28445da159581a86c70fcf2e9860ec02352fcef7f75e089651716b0ca24847f5460a4ad1fb058ab3bf27d1ecce0bb8452b3ba7887c133281040b507ab9775937350b7d92ca54eebe4508bb0d6d5cf7ebdc0cb13b4b0295167b035185291941d4be06667a205eb2ba59156d4c676dd08c72276a5b970f4315a206d188df62743e1028652f89708a988d285861d748f8c61b552b385061cd4267077e1a534e53d75d0925a5364fc5a7ff4c511e64352456aa07a2e1af0c726e6c38cfc492623c74bd7029811408cdcb6a75b39c144c8c149011413ed477824b310c40d5d731e78e3512aa032d5c8f91b949a96c7c334a4ed22b411c2c641877733ab8d21e060864fa5487899f105b6ea2148b8fbd0ce44e450dc4f4a52a54f05966ed662125b705c31f607cc330c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc44f72e5f5b4796fe3104ab154b92357c279994012db18b73740b6a1e4abcd37734c7a092016195d624b5ccb067379bd053aaac4e2b74e9ad6fecb431495b2d70147c7f862e1b9603388cf5545572bc74268a54bd68a53753067ec1c76506fbf1289262c74a78c87605ab8c2b73e8a2062dd5dd87678a73ca39f1ef87292039135bcea2d25edd16fd64aa93823e29b528427222a519d71b8857027e624a8aafdb548bce7966af30fb582fe01866cf443f3f3a16a0341a969e004f806c4a24004b650f6c9d4c04a7ef3d0b3e7b5708f3245f58930d0132408a289c437d1517ec963d7f175e6e257d421d62312e2ae78ea82beb66a96427c2a563ca7dc81e98ddf820c78a2c49f08d26252aa83476b25cec132de4f675683ce74bf0534570920c6959db343e48e024dd58ad8f7c5cb7edc6248f76795ba40b5a63c3fc962335b42a65751a9956b6b08321a5cbf02d6a0d880ca7576d032741250f22cc811d57221e26a70c9226a9814707be1a726198c2143adfd3fe29f1f15044b2d1425d3a1dbe280f58591a6ef63f516b9837275abb3e1093810d3ec833e06ed164786fba5db845075abc0c17f2ac11f739e067f84b9e163180d733e6312233b921150b9c31565f502e1d065f17f54568fab85b9bb62061480c7e0c6be6004b1b8f514c84043959b92d3836ab582607b5797b504df5e61c088a39422f465c734531e827510d97165c73cb2e3afed60a07ee6638bf27e910c8385d276d8b2a51236f542f7c56d9622037194dda5b2c1cf3b6a6037587de4ac230596756451e5845aaab28b90e3214773a83352050205cdd48386618fe675de43b60466230f719e49b424163a28d1c12e9540215788a41cd5f6b762dd51c721f2c1e2e1bd72e32af1ed3689875781647a0f433682dd71802d6007656d18d4b9e3db8757da2670296039400f740a3138a05f60e3ea82a30b2eb2a0981eebe5f7f1d4262005c3822362f593d55aecf273fea5e3418dfa647f4c34636f08a9d062656181d91448142f6d4af35f304442e9017c33bb4eead6251aba50cfe3fe622bb4cc80ca898e339cc840039746d3152b62c383e1a755635ece145602160645dad461f5bd5910917eaeef73c42e48e5a38d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc731701e0fd936215579819239fe846a62a633b2dbccb1bebdfa5154a7d2469348dd3576208181dc340d652a86f8e644a1a4e50527cfa1df528bf6ffc19614a7c43be0b7afc937748e2b23809007844fbe68e051b931b363ffead2d4d3f8e22f4860563189082147db69572a780b565f13cd3459c40457056491c6f3d39d558e1ac0229d428e06818d50040c143731cd1739d10da1df6677d6d313a21aa9e2959b08d0ab37bdb2439e0ef2dd318f0025f60424ec013e603dd9671071faff91795952c6b9b50d93c6e16636888d0553d47bc0922d1a5322baafb015e2822355703c3c022310aa81ea33fc8031b011f1ab27c9e010817946428ec100e27506324241c6001577f570006aa6725de5a644fed4a5b3658bb102da8c08c2d6ddef94f5c926d5d44b9d25f4c07ec42c841362373be922f37dcb866894ce33c950d454f8828b9115ad618637b6ca856f933cc150426640eb623035bfa2c7f2dd0c0c00c81fd841e69f3c966bbe573274b1e1e3b9ff4d56cff57dd6b7a30475d57da4623eb03fc05f054fc3aea79b467f1a743395d3648428244e5365ec1b049fbff442362f9a21551a20250b4ede00d0e8a050181b79e6c2d9e650058e794362ca5eb4e598e1034dbc6cd49f19d4d729d7668203769dd4cde835707b2f9f32bae4807060a4e2e388bae9150526070295d4b7c406676bf36b7a8164539ae0a467d975f686151d036be0b876dc96f1258de312e3184e18d1c1e5a4407c3577d681563f84a986dfa03f0195c114e0b3e0217d4085700000000b4e9120b5343dc1ebaee0b46ce481f3c8729fc759a414152af57fb41f254af018c8fb2330aa74c58d4799335fc8b06154e8753581c9eaf22801d653104974e3297d295145cd90c0a8ac6175c3cb93c0e67787c0504b99410f1e6c9605849f61be50adb567d118a059fc48101c455d8055a2d273d6c6d6113fffa951d2d68b558cecfe808b874c927999e74500d91151b5fc42640453b316abd2442009bfdaf51695e2138a003414edd8dba097ae309242bb28b17b488f10e80a5c8313591f31dd9230819f0d6cc15459bbd1379c14a605442b11b6a36ef5fa8a0d83e136820514cc30e451382f36a43257a69990ae434a62069072af98d4868a0db158e535c3e6a0b830045803763e458835351d4e476ba284b4075fd8f76b6bb3440fa419a17da22b514e68e7604169ea92d97222359e5b5795d7cfb3e635bf2db3b21699e77b955dd180168d853019027722d473e2cc202a95838cffb1938a0a251210d0f37d1d3bb2497ed784b32688d1550692056604a0b32b850a36766e02e3ac1dffd054f11525c7cea231d0e543859e82ad168c819f53d26901e23208dc908ed7dee539d605e5e03ce70351d21b95dfb5a8a5e17de0021916993758664e118404c1c719c220175e5ed226fa25dd96243c8384f68b41a1933a86074aac7ce1ce29ccb042468e006a61eaa2041217b1886be29185e80f171e91ef61cb8c12e1733d85966c1b58048a933ac2c4e479b34dfe5c0772771db10f882b500d05e7060a37aae30f2ced11badda8e5d3b9f8b0eee689b746bf12e6ad802bc75cb03be70a1bc116729e3c806ca2b27671a7afa5f69e8ad23579cf57785cba570edf1f4093549dd2f1eb6cb069d74e276f054ce582ab4d93137ae2f2630ddda4ebb29fd5f617d765189c2fd2ab4d1b711adaec13261502c38b025b63354d55672dba13473ba57c31fd4754e203555165275486d5292822e4e98ff3c54f4b4f8382d31a1678169371c6df0625ccb68df6d8b86053bdb9b802423d4526477f31032514af01cbba0d13be3915434b5796e250b6317061775160935867c6aa9fc5c21e52a136c57570c28e9a74c56024c9e348d8e5d1b2bef826a4de5c672703bfe69e874906b80743a5b8f3380089f748458a520291c95370f4b2bcb5d164432cb6a9daebd520bd86432626c2538cfd7a6371f50173fd3157b420b61354dbaa378266716454089a94447e8b9be350565980d8321a93a553fff4c1502cc624988474b504de433962e8114c57c8412719f712b84da1d25535af4195a3466645a0b581b4765e422ec25ef309e91cd485c028763183ad305a148b92d3feae534e40b9e22ddcf8772ea47c6760029e32230f66a753600de043e77884f852c0c1ce508e1639566be338fd6df5265c23755cf1c5a5df80e116fc9087f33c8ecc332639e6c6861cd7a6a31f37f3ff6fdef1aefdf805213a06d560a488768f77686005e2a2519890bc83b74d66647e82c953c09a3d63d158a1101d83fb45f065a44060fdb1f103d44f50974a4896dc36a97218bd3377017618b76e8993f45737d85212a14496cbb4b6059c271b304a531114d7caf1d255f0eb90c8b918d2c7a2229664df7104d096f1c778919f15e1acc2d77496a62286cdd5c2589d17f4b7f876a40289268162b07190bcbf59b5b0d82fd3699549325c2c1ab69fda15c371dfbbf6764ae5872ad51f527ea842e00eae3183e7633f66b3ddbe1717ecff33e3e6c1e0c30ad802c4c782c05dfa63772e9521223edd074106f95902d3b155f09ec445d2299e46515d029c105b4dd795b8525d503313d1a49abb0773abea01d47ce4d7c7084151e52b4d3782ca1131816dde978718aee973153d3c71f307e9426a6b67343121f1f4ce42dc723d0209d4da8825b17159e891799e6ca4a29a5ba06cce49f55ec88cd3d63732d1810c0d421471acc111c1a7a1d878a78333c702c12e9a9240de7b4912c7abce464652fc375648ecb55b1c74a68f2ee284c95d99e0483c04468bd3ad100631f0e062947792545a40a5eb70975573d94b366dcc85a2f7e8c7556de0c7957b9e1c710e56f6666b9db69109b9993410c1cf501ed93431396db973123cad81bdcdf1406c1c53870e323ea10fdceaa1947fa956a7eb8a74d24689b49796458621566eb24ad27e717fca41f2da2619b6ccf10c24848df2d47685433548272613e82afc25ca483d81ebd62044840d8f224c7b7cb5fed286e18e35cc4510f795a63bf6d3e512f47700512dbb939c7fa6c1e04696462fbd5bd4b0702df028c212f7064bb7136195c7736d16763712abd92284fed177481f94b11c4cbc468874d5f6ed7e094320deb3916610b6e198e3545649c6ca40b428cf10bb3b59a10dc6f4254bb63f720f93e2d70099bce4f68c3486f09727b7427831c2f94a8e759181c824d5e713d16ee142c74b719932bd3fef959711ace1f9645a025cc4c7858b7fc95506fae4458caf89763e0353070d2fd2c60edf8c71d6dd903754985794f0547a77221dac8733cf31b0bcff9511f8a0675382aee363b052c411f8c2c270eb06bdc3b7080521aa705ed3d1222017329df7e11e2122969abd9ea2ae304f83a073fe23bd6256c4fe739a22d4cf45a5c01a63f5f8c44076de87b743c21a1e6085b4afe33da84805a84eb07495e227a2efb87bd0b582fc345f39d174cb4508f014e008e258b58c66042cff6128cd05e4275a5614052d24407af8a7b45136e821c050a764133728e696cebfa567526786b17475d529353f7292e62791d7cd79c5abb655f1d525d1f5448cdc5280d1037013e5f3d1a8040833354988052fcb287385c25d200b68e8f5f17b28301b3dd5d45c531aa129f1efc67a6972755bd228a51fda3a3458f925f3b1637b62aacc7a4515a791d0e03b98f64104dfd09b86510017ba3d3117f02b64f7f4d8b52e063d51bd7d6f617d60b2e59ef18086b4c0cb376a5dda4639f920e569dc8fb4770db10005bd4964f7c7fdd4496e46d007b508d277d01164e59035069382dd005bd93837622f41f0968ab391eecd520431ff2d5742c5e661590a67876b01a016c298ef22b742e2d1cd997313cea9f030b4abe1a4d38ce511ccb7fbe64f2b4bb65d6427f5af3820a6c95b4fc5ba0a9ad4d47b92348a4b3fe439ec51f2693f6e21fe0909712daedee3d840e542cd22de8777f516f6e6555de5e44ec0f54ea276905a52d21074b12ca23b952b012df4e2a44aca53239fd7c771edceaa94ab22d7e2d6f39f976602cfb585c4a265f4dd2110ebb83bd231b209e5f84c3dc67c2b26e27d472741d8f39b21c00a33935f36c9d17c7ebf31218769860c132fa26fe5bd805e0fda631b26b0602f41bed008e6dc36b498f4c1dcc651d267bfcd31ebb3538775fcf5c5f5c42a926a05aae2dddd38770cb3b1f74b1966567e61f6e3df534de1756dcaa64fe5d10669f4430269f2f4a714f832f2a6c563d2262a7070853d37c43363ebb68274f694a2b7ec331829a3d120c2c6846e3e3383186d25852e9a08861c4cbc01b1139ed1a85946c3357654f6aa564ee49a04bda552c86284b438c25265b25de5938197b0d9617d5653c567421437c0d684ba7ec41ea744d2cff585163a4045e22a09d0e5e4cccb45125040a2263298935d937125dab19f565aba96c3262cc1b7417b5115eff1c4f2a48b13c22c67c6e3db304b801b4a0b258c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc4471e6d604a2841b30f7b3783d98718c21bcff232ed66bac4b4967a44e155bfd3adc169e551a6ad94fbeff61595922ef503d573e20f5f6b91bec369354309a781f501129223092762685582c3cde049218b2ec68096b12825ce1f2094f10825c546e28e231b53c8b6772535a210f37ad60d7b54d37aae11e5ea89fba75bfbfe944d9a7fa4dcda67f17a6704a108085ef4149571a3a406705182f69275687dfed01b99cd16c3ae00c1127f72341873cb739404f0e3fc7219a3cc675eb35e9503826114d81778572b44c1493705c00f5cc6d990a6d325d55e0254e19b7217d45f1422f5eea48a7368f2eda54665c71dfeb149b377c4efd3c292b19e0a16ffa56444674ef490e13f4b3542aa0a207bbf6e24b2a0920591b7e2a1ad8a50b330d3afb1e231efd111eba056ab39af24d00d56125d005571c04b4c76da64baf0be241ee2a419df725945059721674fc338f14cf5c1751c56313d74b510c9e0875ea86420b3fb5c80e5f7f32756e891a4dda9519159befbf1ff83a053e7fbc843db9af0f1d8359df37d2f0b545686485642480c35b2ab541358aa5e6255818ab01ae9ba860d793be66e3990e6fa643f60816e4d44952a41112135f17381a45067444eca60a212ade4cd7686f1d4f351e72e8282268eeeefc775308493a262dfc23550cbc0b91a93e74a643653844495643e553721fb0a84632c48cc1669ec9cd5526f3fc312c55d7545aa4450067d43831940c55295d067d665a36eb1de7a65c7776d6a93aea098832040d6e3f8b26981a21986c6773700b6202c4e94c2e7ef54ba3fdd370b05f5345cf226671aa77a23c1e3d16407b0a8311fa6c6825bf9e376f06c3605907f73839da8543325fbf5631bc984470cad9051977926919e5ad0601126a741d339d784194d659712887de12c291d845316f7310620a3c6f6f54d71e4ee0f733a7a51d71e7416f433ddcf85deccbf03f4116ec3858494661795bc81d8412d6401607382f2962ad1c981cb625bae56a26787d9815a3a8c2458c2abb357c52653cfb89bb49b7262671813b0666a4b9001a72c78528c5352e108c8ed9626b15ca5775c0253074ede105b77d5752dc5e5a186815dd15eb36210646e1254e458fbe2d0a926e0c32683e27672e530a05de563b9458a33a3c07287241f93b124fc9b812c36a60677536e050c320740ca878b5494258da5d80a9164c0ec1a1386a85fe669fc90045349bef066ce2d974c63b555f9e600d17487a9a545ddb4731608de750c05e916d0723a06444679906468dc076259a2e49c0f53230ce73e6089a46ce644e4d8e6702909a5d39c79a2804170f535e31384868efef5bbbf156234be281223466c57460d8404452417f5981b3626ec2180a1679e3150707ccd806ab84cf577f7d5f0572872a5c94b5b1140a5fcd5836be0259e1519a522012966a07f49f7445edf538e183370c4282c2637afb796f0732cb0210fb3635f024da05d9a66b0b860540412ce7c42d501df66518a0970a93b0036a427c8b14cfd5d20c39210a6573c4225721f25201bdd0556a06fdf9326a5cc33bedd5cb491074af460bc65e732befe26e270f6a2475d67669cab88d56eea05b50860f8b3103385a27ec3ba76be53f791c36a1d41338203327750f1450b451c36813f69259c0e0bc3c31e19125586c644f540ff05521ed49341ab07910134b0f5ce7906d76a0ae4f386c09cc01d4b2120f38d0d94970087d126878fd72ea3aa25053515e676b494d232b559157c556063551486149e19f6f6b2e7af26de252e54fd4e46b2fd34e720bf9ae9e277903d7733257940b729f5f5b490f3557fd6ef94f3c17505486d504192b50a533c06fef5413f0b037a11b4544c0ec773a03e69d2610495b4d0c28284848bf156934efd10da9159e4e180dc94fb729a00723706c008c96ee47c724fc09ab2d1a75c9ec075d3693304df03cb14100000000930e73563d012421064cff238ff8ef3c4d88532d1ba1cf15f1c1170fd5cea00ddae2723ccd39946817475f552be4ce33dcec64235f909c4ed0382c220cedec5f0734f55bfddf3d3dcec8d951e67c982cb0e00c139a53f327aeeb4b0319e0f1556d44622a7aa4bd1004ce26435997122760585b4d1f269b6e7130d45f2d3df60e6ebd0b0046277366f39ad80683a8e03d8585856fde151c1199a7f22b58978b3de0df1021bb7ea01ae512103fd70f4571c3b3376df7dcbb4dc47ae9774833a45ad306be65b8ac7c75ab7b4b5822e92543eea9565f6382cb271b6c5f3fa6c30f38f4a3f23d09fa49168c33d237b6e3f348854c7575f0849e6364072e6c86b3150a05a97060737fb00be2db8d35ceef5607fab1656e4185e742350728338843eb44e07e1f1233e3fc3be5071d540a00575aa1301d3b07020d674cc5456113a3166691d0245aa8882137594bd841bfa0682467ec734cedfbe96ff798ea51a13b220844f0d47686d65c67b8b6c1716fe2c8587dcc875e2ec1510b314c9f1d371e0a43035d112aee040902b677f516bfa3433b1e640b15e091372eeb47e5401c19da091b11c1513c2cd76883489d3073cf904c067a5418dd8fc72507dce76fdccf264db1c44d09b10b6920fcee54141049e148fcb72e16d94d0604a231603c27be676dfcd469533050666ab36aed6dff41fe329a51cf278a55641b20dce6507e60f51350944c77df0c6b46c4aef110f14a10338ccf77230f7d09663d98f84104f8b800fcb22a4c3d42de4f03c8263d476449401806f8354c87d61b0e74e624ab8c49581d6903382a560d555766810261fb570382319e39a4984355b31c361b6d5129095dc3cd326154720bac705f4649290307de5c714760845d7768078b079fccd746aa3c4050fb365e3a399c1a5cb592c3176837a159865661216b3e8330deb64a1651d9eb24efa9dc6af5721101c4b59603a4d3af6d3febf214c38976409b13b32619220517a214c305f926ef61d9da715dd735375461503c4f27caed29b95d786eb011df48d048fa2988791b288982813fc2d41257a6cdd72867612a42b7f9e74c2dcd792257d6e3395a77282249d33232e5eb6a615d63ca208cf53d42518d2f0f5cc61a401b02c14c663f003162c2000d089fb14fa80598013fb5f1428634be205e23b24ddd41e94c5111666b58e05824177e2964bd7a64734ce7c401acc4dd05faf77a57456da76a14fa474fb841762af4c50c15d8dba6528acfb5646b25cb3afb72245acaee3c54ae0ab36409333c34e96dcc4685c6886369d96959de1f642f5f4e6d3ad679080b83c045206ba75b3b0ad40457d43c152feb909420aa54471b184f832cc4d13008f710cc5d4910ff5fda6b8d6f2278af37dfcddb291da4513a0530852fddb7dd1aff3eeb356d104f48943a484600b18e12f47d9026ddda9f5887c1b94037831f0128dbde089c1645640236850011f1c95055758019702f063da920b911e5ff864b0b96953eee8d44421561e95ff7f2060b303cf15ad8e62774a5e9a2579628473e6229fe758397a53c58d16d122dbd9911b3dfa4316d918527c3f6cf11301143174c96e64f2b1d0517d4c4a46c3a412677cda9c95d21e4f458d59b3d5245b5eb1cf5be3c356d5918500cd5b671d0f11d3a3efeb42af5dfd450539f3d428def910b1f036e0e9321c923d2a5571590c5f8424372ec7370b1de3686d923200f21ea0d4ba6d83cdb58ea0c9a90bc3ad41e623c9a9e2861bb2c2b04b4f6f768d63bfc5cf3bb216caf77381337b809324466606143ff561f594cdb07aa1fb33b9c54dd16dce89c65092ad7152f18bf14c850d04a4975806ca9711103447e0e43f468fa346d1b541466d2870a7b0ee6635b83344244379316acd2d817dd47622e7de7911cbd051744c8c2874c0a3a780166554d74c3eaf63b5dea891f81a53055c1bf12656e34ef1f1dca11568cf0915a2704d67629180b405118614348ec8c2815af9126cc1ab25001c9b61e0c44b031dbce0d1ae0c71e6ece3320120e9eab50aaa0c7099a034c5e06eb49043c2a063574522c77f404e135431c0e181c6e21293b0a720962a50a69131ceb28fb06e0346c198e17879a9061a1ecbb2ff12f7656e8ab5900d7d8f0731f8e80196957f473949b572002773412fd4e8568ecf3736f225e784e8a1aa33a2e3e843970564a5c53c110688e993a4f9a83e60ac5794870cf677419efe7992c32374100ebd9de2ab54813758a6be92b91b41c45eee68c27fa19e5449ec6113863b20b6e85958f2972ded417df4ee15ce6c6ae3f2d78e5307bdda73d9a36cd776d871215e9dbd747145c2660974fd9023cb9fe6eea09726bdc3e9f5f87d6585dbe637f4da849bb354542f5730713454b3adc5248872a55483c8a4413a199dd6cf6d58b098a74956744732a3027ccc605852ec2671eb3e02cc29d071f7b62006bde9059164aa623696371b038012d480a0a39341136de363aa2f5ec193b172b20d1ea3c344105bd57d92fc23589a7b3728685e92c4a6d2e3d15a4524c57518543db094850d742e6169fa5e34c373842156477413e7166fb0ea056596e41e96868ce892c76cd4ea457cb4c660e0a92325b0558a32207190b67722594148e89b2515e237010b7c3d464b119b951cbcabd429999c019fd40a86b8118b362cc1d453769f5cb2a6a42425551ce045d2fca326a3108e22803c07b0366b40f22a0b3a76aac1a0009ff789030b532ac724dacf53fbbe7f8527cb4922b9a1ae6602cc79f565cc8414540f1874f0274c4452dcea409dc55fa6d6bd3736fec882b12caf7eb31a995514575e31818bc15cd6169bc48644cf7f345fef18d25fefebd222af7d336df313d0e82f49f396a149d2c387d376332e7a436f4926d0d1e75dc6b8ff0cb7502dc3b2d3ca90e449d5c8d1f13a02f22ba2a861364fc5b09f9374e1305354e4a9492b11464a87b06e113da162f309342710e0d0b6acce17497f2a9579bea861b10f53c301603df560a700d24106074663a6c523171eda575fffa1b0fe32d6f50238a5019d3e47740eedf4137712bf6690a7e4e2cd2ec0b2e5b43d1355b22a52b674ce26dd1f55f2555d85b677c80a3449515a660f7168f2f23eeee17a92f907429bc372cdafdb15c176e4135c197b5475fa0a7305c8ce15192d9391603d775125aa31052ec77c7383366692838b0ee38785ed6504e499c4d3afa25293c6c504d39be6b11f0cdac3b26791f234f78de43dd62bc6a4ad9dc77cdcc5a3892f5dd41dbab094e8769c16bd4983313b43fec5264d63139b3c59643bf28b87654f63968deb3794c96f9f745e7b114023de4b563fa060e0e8ba7275095278401e5cd3a4e027f6b65eba53905312f4c71fd2e052d245877004e5efb02c30c23334b7b3732079124657f07856e64e72123e616360e9ed5446eac9d21305c9cd14ba5ed3b3af8d17129016dae11d1aaca7600e9661df30c59639ab89b4c16b3b216b24a8d4deb7b5e2089603261fa9e0b5eedbe015644a8a55785f22d47eb78221c0a76281d1cd875158bc7752e5853cd3ba3cd9f69868a702dadf4b46b4b3e5737c33b1d58bbcd1734d9edfa532d2170581713cd0ec827d1648c0be85315b05a479396ca3cfa3e51024becef014eae52371c850407179c9e6e58199e6c288b8c59ff5b2a26f8e75e12a3895718c07f53113aa8fc6e570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c99654639e9d035774e733d6f0d83db464e49635efe95a05a71771e12c5bdfa1bf4c54a545c2b292899a5d96e9003cf3497604e486ca5af328f0ff757d83fb11822d81c4ce63c88365110631314079f503bb50003ef98e05dc777c86dbc03fa5451380017f1b31462edb8d310f8eed418405be13afe912b12181c316735c84a5e865f166c4101e34dd41e7c06fab8f100d6fc346cfc62553b8a6feb05e5ab156622d2382205fd6c1eaa88de237db729044a500951dab08108f4701d0773b6141e9d425110f9cf2364c070893a6c950d595952e93945debb70b6b0f519d611a40ccdc8156fe5457b0bb65cb775ee7c0503e8218a0e68f66861ab756a744979c5678b83562ca2c3e746b4f18b038a8cde60ea22940334d2820c7a0a0d1454d0315b3c468471a2757b50c0bdba5df0a12d4d51b0df1b5e4374174d9b512b9e087f750aa2a413240fe1192cb32376ed62d13cd1533c04acb6ae6837c8fe74acad7e4ec583125f6b1a6c338cb1010138eb84120e2c4836afb470057a8a86294a5d0a5e7bd55c56102734646602fb0c5b7ac44f165fd61edf5e5b189e3a5a34a0dbe82f032bcf5b52318b41f400f41a0c0b56264e727d60231cd76ea0c495589e041343bf38d93602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf408344916096a390807ff114f227151695a027e7347dd76b408e1eebe137c55d01384b142017a1f3d4067703e50d57fbe1edea5c1500872093feeaaec01813e441635a6e440fc99f4282802a3513bb0d256c427ca310abaf70542152769738a47711be8e0710bff441df6e49f22077e5915600d8533d7eeee406a456364e30e7930979b72752e83fb5cd27ee30c4df4a35bd82a3021a8ed41109c652a371dad9a4658b4be768365462a999d5d364717675a4dc94f6500920c293b4b2b654c4b2451d0609756c0cd67753c630f23638cc277a014d10271b53731528c9e6434b7db05ca1a555b0c5b162c4526e0613be9617016dd242660231f4409305f00648c3c6ea87d2f3a55b9bd4e004fb70a6af09a323699fc6970747c5963f72e253f20a618b9b18a4be818cc6b3dab1352d1b7755885c83536ef63d40398c18069f9dbdf3e602be95539472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e016207171d2b245d97217a260662b87d2a22614dce2a58a6cf1039a4ee167e94615339c5ff2111948121c0df1d20a6053e3453f8d053d1f2672c356d220643689d22a8172543f05ed14ed992b921f7373022ed45cb1ee01dcc02faaf3d5c6b337757ea45181f414d51318ab99a37258cab394a700a1ea3dbfd06c53d3d0240eb5e5a072c032170d8d76f3664e8090a4bcd0c680b844abe4e9941e62c1053799d625f4da8b70131598464bb7ae128c57be23e8a6cc043dd63be102076755079ed1975eae0c20cf6ed0503b4985847a765fe6879c54c3a843b7512f5581d633aaebc28f864cb14e039655582422c0fe2f64936e0f39a3aefa7d1023410a506f8887745f83543015c4ab9279be0a20d27e9e754dbf77f3dd6042e450464e33a11daa061d84c4c467b45b3174b145450de0619452d61543178a29d5c927c456d02c431511599e8483c831d0d9e7c2e6998d702579002696eb651d94fafceeb2b904af905149d5548160d080588fdc708ab48d517129a0e5d3d52d319a2a87423efb01f412c1b9d5804c3155f58356d4f2f536028a7a42132632f053b5ede84012e4b6c74e5ebdb153fbef14cfde8c116fa289e61f601be249918ab09d805263a25eae619c6e5fa768c9f2d061dd9dc6cfe4b692ee4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4ad8fc533788a0ce5f39f4ac2ff556e45a4dbded407e85f1608569f76600000000dc6e63433fd36d3d1624b9108b626d130e102437d8041d73442fe741ad472e3572490d6c7985fe35ff357524da884269e1f39e30497d032d4a2fa62344f47572f7caa85ac0b0da2ab60d0b5e4a014160467aa85aabbe6d36f9d82a2f1f29890b4ab54035417bd0388a516f6e5906b41d492c806eb743b93f35ac8702383c3e6f2939bb29590716628bb7580af6e31a23c7cbe7578462052c4ceeb42eec6e9d0d4677cf0b98b7a44542b3383cfd09ef6b12255f3285fe2e129c5af71d0367585e03b0f00679853b35ca054b1291d2520fb383c81657c8ff74c8984e348ed2c96bce13e9609db4dd37687281381ebeca3da8dddd532cd5f22c2d84f00a7c33c20f1bef3c0a90c5372aa1408c5198aa9772d6835250ad297712818b2111f5ecd96c74aa594c1b2e5e08b2ccdf415c3e064c5029d6461931cf447005306f216ee037cf074e0d20b48a51f37735016653bc00c20ba22ebcdce331e8d5724b2eeb9406b978205189a1d26ae777e53d3d71e3349639ff23fa4d40441efeb9284247d8048b6e5d05b75412764f6fd7064e665d2edf55ec06396a7f0914d68e2791fe8d3f568f8f673c05971682cc34760e6c8609cba2f613dd15123e4874e25d68ba8a45398c4954ec100d537e64c2344e3435455bbf290bac422606fe79ac55547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fefcb2e6ed46b2266a09a2a099dc2713c7c5e2a1fdefb3a17c21d05266a84090d0ec0223ea664c80653087b0e38735b4dd979496dc2f10124b64e8b609bcd8975699d7c66c4f2d32818486d45b4d47b0da6e03044f2656b097d3da711dd9639306d2f6c5f4f7eb272628f2572be6d634c334ac44da1c2701906ad72490ee7f83dc6d6e34635e57b4994f8672eeb01cf2cd33d5e08224dd147f125cb45db49880214f776429c2d594e3653f04cb9152254206cc3411c3ef860c2c61a4de4cdf15938a9112590597963f26b51196b571312a517570eedfc8302d0f3264399bddc081ab76303a678780e194f5f1c3b3a3511e9c53256a53dc83756cbae5416f6517176529c35787595565250b9364c6bdf68bc839852c824493ada7c8d5d57beb31fb57bbb62b425554970b59a55515d4041a271bf5d5d7231028863122037bb56724cee44264f4bca441dd1ce14708700617a1a955b19c26f09bd7c0a3d1eef89489667f461aa2e571b196e76478c7b4b47f6b2cb2666c809237c1fe260d9529d59e032e36de115a42d0be43a5a97819a60fad4674a35651530a1d6bd585c8a4f1e7e74a66f2f85c8226cc97c2e654d03575d2bf465d5124529224f0c0a39dc563cc606c443f9e60f72ad096920efc89361bb1c735ef824de38d0e1f45064f5265d42a35c5f9e7c5b104f44232e4bf711194863fe6d1cf27b4ae227c475cf2ce0482888580de075a13969a8bc4feaad8a4b38a1860e0ca3ab3df5135c4437207b47ad1de450cf0d7010fce3e20e140a09327e8c7a696d736c0a8c171b75d3af9d249dedf50e67134d48a7eea03ebadc231f74f8d9732d1ab003262553087fb615707dfa8e348bc61a1be6163f1898a3d15e0376f54bedfe981e5a519a2c0f1fec37c6a2ed6739ee117051f50e6dfcc9aa0c04dc107478a17f28b5553f6540ce41397a9cf95347d1e815d9866a591d76814f2b6165343db6e656e2a6886be1592d41c5edc946765a2c5df3cd6e2732d9c6646131ae1d16165f518229bb6a072f3a68095294500a98265ca6e97d2a8f3eb2088d731d63be26f11b740bdc00d4d9e663bc5609312b947f412b27c72fc248f345ee06ff6c1e538a1dd28c1475ec2c1b30d72cb83277f9493eeaca50708954c42797abbb67f47de56eff5ce54dd6d8586a28c04c58b177e90de65323354b1bc65bf8b6aa25d467f8071be1631e0d7eed1bb6a8a224dd1ece28078a6e335ddba92889bac6434048b907099ab04c61c27c43f6ac9f080ad1d153acca276adc65416d51dbb23638ebeb1dee97b51d3cc90357b06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f11327b575b101772848d09293b40c15034cf105bc91328345282590d2a13f43bfcf07644a5b2cf5cc9d6fd4140ae021f066eed2f8873722f3a9f0103f5cf1147659f5f0d38bb8842843906488aa7153831604444892d2c43de677d02964c5c4d2628786a319f481cb19a1618ebbc1365055b125d1ac30c41b9f2ef349ef14c5ded9b4c0e3a73046690f5ba0b8fb5861413035710fbe4b435cb29771840df5769e87d6952543cf30c6c94ca3917d72b470330b40b6023714c3f2f3945d86ec92c91922a27d613434c17f2550adf14d640501f6a425233ca4b66cb782945464741134b5022073e7b5f9a84595a53b3184a2e0c8835aac8950091e3cc2f6b67d34d57de924466ec9a606cc054348fd5051417bf52227e539126d432d66ddd2f0f5231a45b171bf28c14027858649e4dac4d45d69e4374c7fb2b12e00d70c4c27712b447b222a0bc8f5f236e20510ea4190921b511153e76b3595c438c6baae9bf328b860341f2a41c6373fc9830fded24492ada705e50c40d61de0ff2365514d7456e34ac26c66ef35faf74351a8a4be50ef545fa359d77bb3d4ff57c2eb64a1965142b7969b6af1974d5eeea166649cd1995e9562ef2a5c603a92b0a688df68d1caca7ff711d7f6a282678936927846728724db83635b447428b273b4e86103517c0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e501d41af064053a683d56625c569917f2712442661bdfec9b1a6c12ae19b6d4e26f3297b73651bb721255e3e74aa584986555f74509a9d80f54c455eb6b41004a481259be47cce856146f26573abaa22704e6a0913ce9da3a0bdf05ed4f3617da4a0e90cf5993811e643fa3744d1855f67443856c02ae1aa85b29a1f75208b7d96f86c62d1c3a545b622282cc2d9007fe72e95af641d0644d15eef98228e8205f6620d1a83d7426ce300424d817ddaab54b8a307033a0e7b9036bb6311028285c0e2d9f2d2798344e39d3ee4f267ce6b8260886ed6c5c383158ffc6960bdca48d0cf047ab1315a2366f3728833f823a79508877de53cb52522423777a34b2dec462bc8cb517861e420fe0092e0949906f472f88821e9349fc2198941e00abd7d00d4be31f3d5a79ab56c6398c68fc680e28aa6b0025d8a31a6f2f088e31f5ebbe5d4aad2e43ea2bdd54a11d846bbb57f2657ca2e47024f065444be7705fb03bf664094572015cd16a5a86df633d2010b94cce57a9464db4c45093feb901271b2d6e8f30b11205bccb30729fe0717d6e1b1e2e453f5219344b3634e754233ed4014f9aeedf5b2df12518fec9b625535c0946ad046b4bcbcd705c43b1ea107ed8941709c5be4e45df2f593d9c9456954d04259e0abc62186efa772199af70066ef7499a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54249bae356b096d9768e475d81eac00f15f5fc09571c6d2ce748677da650b0d5f3bc1fe117003ef2f28719239506518473fc2bc7618ef0adb1e3904044a5f6a573ec01f6150dd43fe1b5a792d6bab7bf0459b63ae62a6eec90f3b2ad6085ff227107ddffb1e0a24b757b5971c316e2a620342e0352753fdeb6cec7036592ebb7251dacc5162c1a7c120c904e2544c299f73463e284671e0b6602c9b71415ea69e3fea98d21a2417d9343498251cb9acaa1b133ed90070a8cb1d928b7c1e6537e2674061233f049b454c1efabb2cbd7623258269605b2f838e4dd0bcfe268d00ab45546fd00892006c001b45794f3b48f23f01761c40cf8e0a75914c7d2df8d88a5b8ff2c138889bb84f51ae006ffe3dfd5365152b4bdced7570dc6bb250a0216c3ecf67ed48489feb32c9916a3add6ad73844934d2ce0ae260f5b9e502b4f4b0520b5c379761922e8347657742c7a62bf77e37e62539af79737575c021d700bf25375bb4938723fb50a4cc314524a78c9200ff12d3e3208d25909adb867ee2a4c29efd7ec76e745126c37f13b566beac610541089285c7b01117bcf0053d4476a45fe0a010cb1ed1516b955f14bc85adc542fec7a2721daf448e2b9131a5524c55009cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83babd6e4674d9891435496d6228d2e55111fee3c01bd7b4115a3209c765a2f38693662265f3f54fe3b173e3659538f930b32fd3057dc6a1858e5c05408c544e431b3e9695aa9fcbc62ec8dbf773b0e7e0c48d67211322df64ce6d9ce0a2e073755c0056d0557d7a41eecdcc1145c1c3440ec01cb0d951a3a4fb01fe92ccf17e15c752c264000a9c16c3c842e59f572873967def617cc41315fbad9903e38a1142e59d6a34b59c3bc71d551522cc7e7d61a91439549bc241a547dd6366db38d540895921c2b4bec633f2771041b6c49fc5f8609d24f0f39970ae95eea6ea096be100923192930fc2d5d9c8a0332ae25fe3973a2a20fed535e3d597676303ea7a14ef4048c3f4e23566b7cc2301eeda3580ec156fd739c18fd61d7f1a6102f1f82168cc07d12e7bc296a1c7c2b09e87e714d39165c435fc89e2fb5e4a21908e04e1e2010bb458c459d6320af2a4470f43903c8c1e113b8690e28ccffa16faa569d76b79d3a233d0ef33c4c9b9c54f5030f6101a931762319eb1ef043ee51929fb11152b97628fbfd61575ab98050480c33333e2c575e94d84d31bffd560d6da44163576e0746693d4304900ed0710015ec6f89333f6b4f6ea2711f8eaf6e285e9b07ad27a476232f79357bb582631a1d076d9bd4a3603e3c7c77b076a65897fb470c48849e20f750921893855700f7f1c21e92c0d55bc511c44fcbd4613726f6f23c1bf71d2faf28df521b9453064e61d04b6bf970518b8f8e49f2e8176d0571e62e14f65218f76623201f84965580e0ea4ad618372ba1c1fd4a63c50428860fcf77b2b8a5708ef3c70e79366513e0bb023fa7ba5e41e17ce52dcd8a50279b08901872d14d74fafe422f184ee0276a6f2866e178b5521080736d09bfb44a0a46c54ed12c67618c232e080668f838d396942a8c52b620925e0077ad69e170b2f0921f6a6c17194dd6c21f5699296c8b437977af63a06fdb8aa302b484ad1a2218c908418d0f118b6ef06cfad973569b1e540cc1cf3111c06aac594a54cc67a57bdd68c379424a85cd790fd962275339ad5b4d8113b254d3fd916ffb5882120c1b3d51550b4d71b0c9c2767c33c75c8774a4440230c453325d9740608c0222a0761f0b6dc55b28f4d5383277f5365cecf25964e4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4adba66c43e895f06fa22315398d02ce0016781371d435c75feefb8d0d000000007a6eb81eac0cfd0fd9c99d2aa41179697e55bb6c20c7a040d71e3a0141be000f2ba42d0d4ed2116f654a8b4ec3ab9c218715155d365999081f5d06117019ac64a0e7ca3bd7e4276e2b61e63e944c9640b449962951832d0cabe90d256405866105b05a2e43e7fe1d61ac275698c314488fa86804d7f29450178ff522da9ac129c7401b667a12d352316ee31c1d28f4388efaa85fa340a83abfcf482231ea56602bafea33317a585f4fd61e0fec81f723d711a4151f4b7a0d4a5a4f36b8c1b746c54d4103a362654ca4da6f2a2d15c23c02c876180214be4c8a99792a6d840406c961bc13f7e0a229ad824d67873dea61318d993b87b2856d3287343e577a405daed46e4579b7a522127242318546b34ad5836b2ba83f2b72f5606f717d495249f1181e3022794b25cafb72038ebe904adeee9f2af08a535186297b241a70096472292c44b788ab0025ad85649c4d200385b625202b73793d0fbbea3979e95b73e4fde7017e0f325b3b94056cd4e30649cfefba0248a7b86682795f00a139e644e23e26132e4e4630c042b743af25164c6e8d2c5c5ce9e31912ccb22cd0752545db37f50b52cf05502ea54777fd94144fbf15d610c66bee1f2428b6088ed732392068c75768a11610ad5fea0b88f5ab61012c912263e838437239ea15547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6f681d766397576d09610aca472ef2732be409e518a666c25dc46aa163f83f8325e60de30e3b61222d9cb9a90cb9a2ac150a9b785b295c35376574d7679194d713033ab41dec7af51e763de63375da232d41124226ec286734631ac158af91ac1efaf0502f32ed3c4f1bef0c410e8f746dcd1c5e2fd4964603aedfa91e64de5d37de57520ec5cc254467feb12720e66d1f628dad17c49fac5e1cb7931de1d6e3669e32063019effd2ecc374d0e5f6be06bbc25ef744386fd0f57e0204d4751db5329bd1b4b8cd8b0564dcdbe1f9c7d4c66b39b2e0918e03449960ad266445359457d22fe68b631650392d55d60c0b95269bc56736107ba8d247219ca1a2cc5a9118937e430f3d33c7254134f3083691b07015fef58e03fc7695349560d2538dc0a5f1bfb2e8257ed29d8733a3097c0752e2d78501b9dd6e167bdbbfa439ff50926fcdb300799464d2827a92176a14e3d12a9aaeb7792025628f20a096f33f12a183db3b94b7045a31a7c696e36dfa10d3f027a8d620d5327210e72622a8318ca33b57a845e49bd4e1180eddf1111fbcd2accb9175cc3f19749d9af632cee8903279aa7016214b65307a632792db7f7ed69d6d59e1f1382cd633a0c8d2a2588fd2496337171866bfa5eb698e405a5ae2c1aae8dd532eda5fd5ee0f3012e12634b6f7ce47a44152d7033707a08127f49ed427f6a250b50ae7d53fab1c01d1922416ff8e0b018ad2d9a57bcb8486d119a373e0cad6515234bfa56ed8ed949ec56e3658eba31021d9ce426980e335cc91d1b6e3c4e580beb61ba50ea438b255e53cd414f3c2b2c61597f0cb7c88c6bf1d128323f63a0301d663b22eb355d3cc44f0d6f78d4dd702012031e6287bd452f935928f7ea04748e42840a25dace5024a06732399b0332ddf62a4f1050e26be786102f19f87c0697e9c0447bcacc1f2b4ee12372c6c626e560ea1b6ef1e277d412ab0ff98d3857df3be629ae1b62515d9b6a2fc2fdab1290019c65a0b4e818641b4a343dc21415f95c6f6a38ab3774d3c4cb5a520b136351561965a1acfc5cc3ee930ea176a326c3c47d5521884c2f6603031709c50f5ed1807224f01c592113a2354f48224a6f4fc45a760577505a784b7d53b007970442062614b1d9de47f98de5298817976d080ab922e9cc4b16c9a66a6ca1184443f86eb43e8e03a93fc0684c4a1db5816d6482d847b1d44b307e0a745098cc925e58d537211da4676ef520206f52a4a048b756995fd63c204890def97395801b1254da343bc62a2444dba65262b0017e6886d18c17d53b0f471ddc7c5cb06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f6cb1cb0662c1663ddfd03e52455ab6218bb8d16bc5b5a672f9641854732cdc63ef2ac86a61fbad10e3a28900dc813b60ef375b6c6c9a9160257baa3fbae7000bb2734d37db54d460dcebf02c46ef244a19eb691b9759395ac2c9775b1a2291441f973a23d5eca751fc447a4ebfd1dd761ab3ab0378d0cf5b02e1693354393e08733ae85a8829d0702b9f302b51ddaa4a226abc3eba05841a714d1a42ab15317549d01b1926bc711a0bcaae191846eb44f6ec04180a0c7e001c68f44bba67ff3d2d359d71ee71994a887cca12355222698b28d26b990a755111e40f162d30822a1c61361fcaf92877c9c2444d8e30904ed6522039ef987668cca26f4ac4daa35a0ed993318dd8b6321cb7756af5f2595cd0809475a47afa6af8a88a1b6469b510da97bd49fe8fcc2ff0c7b03dfba82a768dca07552489ac6eb4cb322b2f4b2b276b39f9323ac72c40d08cac53cae8582d70ce8838b621927104ffa36a87dbed2f8dc5934c5dfcf32f2d889f4426cf0e567911201dde30421ab08dfb6487653a124c9d402f8c9b5565c4ba845fa768205995ab28009f9a6b337d6e25717c27dd2e5310f4755b7b792fabfa433588e39518ee6c7f54d92dde38c509063d4fba8223f75c545926380a6da524283c43d9553e42669c5aadd91238aedb33636c6d152ac0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e501b39d1671339cc931fe27785aaada6e4800039c17859f5b5e821be54c4490ab3da8a15c5f9998c8545dd09b5b184a852e40ed2d1815c00a3cfca6405c9c498f02288c7d48bb75a122e4003c58038a2637ec00116ec5c60154feb6c84e4590a34418a6da091ea1a70f6ccaf3531397420c5e6ebc3088437b5b10864e40963783148186c429e215054cb2e807309f621426d7ab7c2dc9066213ac23d73709520849e81dda191d47f7149f28e338395e074b98c4ab5009dd974ff797fd445a538a5a0f02f750df62662992205a18fe549d725cc81d3908431847f446604a3e50d313de5f6112c6b55b5df4b9de4b93078413c3674341bca65c3f01eac827126d4f0cd9476c4071770f7303977468a0d0a2556c36e82d25782246bc89e56a8c37b165d477fa55fc6d1a6144fc870b168194174b7dbb66757c280ef7fb3a08a5399b74490dd0111a9b2b28048342555c9f5f0f002ee92b21bcf4193ab2df56b74421175e53cd27adf1ea4de92bad61d6df8801de8eda7559178b28eb24fb2e71e3305749347a63c393195556d97e4ea1091b284a0f155773ba8605ca4cfa168fe2711e0377a94bd8dfc9324dfb9f32bd62ce2aeb6bbe740711f527d890a3400258d411b134b126cef6996854bbb2508a18a262aead3247aee17c0b3962fb3000cddc7419d68907ca8d0a6aa54c464831f02a3051580b47f8fb3b4962546e729724445cb6449824c62f41488ed40c670e978c3eda1a5e2b38635672cafc134213aa4d3b7c9446068580341eafff552f090105650197fb270f9a161159101d50332e534e5d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442dd1dc8230f6da9d3044ac271156f0733d9dde6a7695e26b6ce905ff285c086613120e702d79515161a5a691302a3e282b7a95c632ff4e0e549ef86b75899f9142b019da0232ac13589024a56387339f5c4611ff20ec6f224f1a4f63586b4f590b31f1733dbcfdb43294035f3601430f29621aff685d38ec44381ae043f2513b660ff467535d05d353cba8e149aed79b73a370fe327e826f271a8d130905568563a54fe04d1e191a03a576cd3b74628077d4969c419c101f54b4e51344f93a18267d3dec24a33b252ed3069f37c12864238eabb60e3eca833effe8702ecb0b9b2202cb1e6ef605fe10009a1c4fb7377d533cadba5258fb923ca118cb29253ed74426dfd118a360652e70f05c1113d904756161184722126109153ccf166dda68044ccc9a27ee8b180baf2d251f353cc01c5359720906d26301b624071e10e47e5df23b0d76a0a26d3ad98ae24b08d75d1ad48eee1fc818e61bde368e1effd2560e9630d020a167a124bc61546f1355f54cd7984c0bb0115a1c16d9ee37defcf776492d440fb3be6f2527f17065ed755e7066224b2e2f004166b4c32161f5665f4f0fb804663d408c0fb0ce4728b2a3330925258d74a37bef547ce912770b7cde2602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf40834491609e1df3375c640906c1cd5f60afb412c360492150159085342b4a1ba639b6f083dc380184037a77534fc6a56503f747852d6635455aff921631584e327a627d35b95bc884fb4dc49109bdf3609d216005af999601bca64fc0297ffb807af05b86c76bb7155ad901320c446a148f2b22919dbdd2112bfbfd5228e4385629760b10c5b29f76c9378e8434c250e7662581e218d845527a9dfee1b00dde967810305378391cd01b105624583ebec3b51f3902c5a4e194e7599fa4b5f74fa359c09b147e77e635bbf79016fdf3a6e06f4ebdc54a89fea3939448e5d0c35822807b7cc124e83047497028e5dddf2c070a8e1f953b10ba771da744f71b90f2a653a2df235b41b5806da020e68a02af5391002fc719bba00011e7e623746a90e13cd24b7155958ab4f622574715846072cd8f6551a34543a0f9b1bee33e690a2347ced9f616bc6422365d41e19d4ea161b0d14c83a071a8262cd01886306b3083528c96474931b3b69b4feaf37fa76b22c375fc86a0e2783290401f059ed4afa2ffd991e5131fe7d31e8a51b573611db29bef1014ddbf9960c96939c478acbe46ad06d00580a8d575a3aed66628dfc0f5a3e074677b438fc3cc1cbcf09c13b3e0c3761df3da9f5800b908308740d11af10e1fe376210b28a77505aa067e337d64b9227ad190bab3600ff51c04bd674cc616e304d286b46fc4a5c24276acc45003616f029625d69cb3bd1e0c962e6722d26ecb4ab62d409e14d06357f40a2baf95aa814e83061742b253a9b4f3a7a20cc1d04415346efec756dea84a56935b23f1306adcb4bd771be705ca8dd75554d28129c518241a488b96a13688665bbc1aa3418f912111b528306a39a11282c5cd76ce4814425ca54926a14501d30b881d1738d439159c8ede0048c33f831f9a0446203f8e31d3907c6072b3d58392abd345e85df665b3115f4002482d76459026c37608bec71ee6bba318eb04e0fef04850ee2c49370dc9f4a13f94844509565101eaf32fc0de3b1865b3fe7b8474d0c436e91d2c539c7003c47d38738616e12a628cb7e052806519e5b7452367094d5c72f60a9d428d046521a7866482efa7a3a4e0c4013423e47a22bb2405242fadb225a753461421167f304336849653b61d1350331b5097f8a3e6d9dbea7250fb165546d912f435c96f82545d0d5276acd29172a0c0e3507d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea275d9efb15ca166704f07039e08f5418b145f151c135d273a00f637553f00000000e6a3e339abd899390b968f1fde40cb159d8fcd35e3e8c65ff2751d1703c85d704fe57836409aca4903285e25ed568e21bd80586194ec022d06478e2c68c34a681de9d742528be5672ceff135bc4bc01b7428055ae653425c3da62d06114a8d465aae385bdc5806532746c9023081123e4372fb5666f06812d1d94552f80178713da5055849218d703d971248c4edaa5d3ef95d15bfe0152d2def920bd5b53f721cfb7027a1827a0674859b65630f8d248fd36b3b2fea33042a7f7f6aab52a02533799304278d9136d6f45971a12fe148f69e0d1677eaab228121cb594518be300c3454724dc3965559d5e531e5e0382e49af31580c894e25a0c30826367c395849df4e484f96de1ca6c8b55e1e1ca86d7afcba2c76c64034a73eee44f2071757e6f63e49771d561251f9be0725e65649ca6a53766488bd33d92a21537a11fa698c19113780ca00552084896d93e0c55aff6cc968d034972254db2e2ce5fea634c903a2458600d146f6ce8c669767262550a2394e005f0e2e19aca82d14c3f643c71804576e46041fee7f1247c63d6827e83da11f6c569a56fa0f4a68a2223940e3fcd2095fd0df0f0a7fa2078e37ee24cd8377743cd74d6c1a2fd92c2c972f200a0214034ef2e70e32155a4a8985720caa92f815cdefbc32a6209d2726349d59f87b8172a5e81133ef59a21c81a46e1308e1a8127341e52f0134885d520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00b8980f003f289be60fac88a514a488f33eb1d0a4ecf807a6f2ace10482ea8794e9b08f54e1857a6252e566b74bef3d22f5bee466516d45f049359f60605ecaf2f1bd6f9000dd43b4e1431bf4c73aae5049c8d4d4fd5b2b36c8339af5ee6c3dd03bc10933da21c8846c59490322d34b6397ac6c5436e6bb645ddc8fc2733b772514ba4ad6ecff2905614a4ac20c0548f1d5fa7d12e77c90041022cc262c7ef051b1e643e394165ae1183486d5e8c722c1caccb1d75fa483b1419b01407f33b644a460b850bacb7bd731cc33238ffeb294a459866264af90b554fc5cc6a9cb60711d3a83f0523883a1e4cf67f691d233f6f2205425ec9100f3748a6e9711c4abf3ebc313329253e2c637271371a586ffb2c222c2e1149ad8b2db3622f14ccc39767d788591e48d8b961068c2b275c9b713ac768434af1815e749771c03d12066537b637cf1b0a5b20715f2e5a6ba4023b2bca15572aaa5fdd1beeb4262a65f487451666ab4bb68b4e628f3c6b36498fc1605a56224d6031fe70349b9726d8d2746fdf1ef51ac702325f55f6c043da2f620f75e37368ab07cf0f0c29533415c19d29a4c99450536c8e602bb04f3f36b2863b48653e5a076e9723d9043b6808a7dd60db74b50221cce11f6d275f2783be652a0acea61f80150240f0bab035b6b96664f114dc1a9da67333359b6a5238f21f46fc78d734d658dd2ec4179e50d45c0721fb472e6f10598e2a80e04c078943c35657cb1637e40f2839e4ec532121eb89021a090f6a15b55e33db88df166ea78640615b5a147a9c417589e037274ea9d6169969520734fdf65736ea8d47d2f50f070215960b9d77f94f0f459e497f4fb96ecd4e6126bd717461b0293d67b9f9840a9625816abfd3696539fe8767323a3c77de3e532bdb855d4fb1ab1d05d52cca58f2163356217c356d39e556423f39f92d7ab8e504a5f82f2d54ee122dff115619c44e615be0552c15c1b6e20e484c2f1001916251b0534358cbdfb462759c1e566d7afb3aed19ec231e977d22ecf46a769c585956b6eab174cb91d64ffe0ef73421fdcc0f1bb1ae665d96e41a0b0dea29901f8f576f7083210ee69a3e62770a630cf85a25929445142eb0c90643990b536efd1c2337110471fc0d9a09e0a2f90c6aa6485a67db7c278ae22a66ff27296af48be9173526644ed28c0259fd840341ff39be10b8f1b165d578aa277060e846992f1d63969e7a1c719a651f5c08c95eac7cd206b33ac306c040104eaa5a6465e94e0e526df06976d0eb2e5a83cd2a07aada1c2654894365a1e53f497bd57324730528607dd3323a5b8d022fc904880fd3ec1e0ae2a69c64d4dfeb167013315e3cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b78ea6b44c223d9309452663f6778122101cddf020fd99c632e05c546b7bd9b277a5eb73ce575456b453ac870c1c81775265554225fdc7e032030614aa8fa174740c4c5642c6683462dfbd83d39bdfd077888eb1ca27c742661f49f364148c30eb7148c03af8b4a646ae9681476cd17564353de3d5a4ccd1b61b7a703c9cb524b387463099fb2415f7afa21345a958b2c5c35164526811824c944af537c0c2c3d4e31915e90795b08c151f224138f621fa1880e6d16ce211f926e7c42a36fcb18842e8b20e3ff5d65e499ce3180290c10449a1f3c36a2b7753712d470988308510c51c47436cf3f14ca368404d0e8a6448ed52474c2f48050a6adad1ac4616f0ae3d8de4dcb5c2b6943be975620ea14465e808b64f26155721416a633d1f14c3f398fb8393a9515389523ef36c5613b3fedcdae6689e4ae691c54401575f43e48a64edf33f06e092d2847fa26c0b4220880875c3f444039193c3f78405527681c85d47954ef52ae1f21b7050888ed337147d7ce0584fbf35fadd63c1e397ed96ec5190c058fbb5145164fa54ecc740f53e09efd2c5b266b394f68eb1549943e7501ccb26ff7b4a03ec6a65a42cb76c311a42908178194a72b7d71f101051e071d7b671a6a241d8c54ad14551b073db4456934cf170aad271f0fb4691853d58c3dcb2dac075e6a024f25592925201b83620273f9413b76a90c63b0ff4c325bfe394b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5553328a2e3fa833151154486a3d25e5740ad6160415efd85f2dd7682450e1a16ca1e7b22f0757e5412830ce2b5ae38f4452065459bdf86b3a2c507908b1a9b8146cad4a43a3944d06f60ea633676e6e1e97a9ea0871b6ac3f6e50465f9035c55ce7201e030224d55109f1671c3fb6324200f5bb159f7baa611960175f5d5abb4aa9137220476bcf477683764efd2a634ad2c326280294704d577c1241a213011637908563d657755165d9d761ede6d2641a9c0f453b3c4339e6a0915f031b8f2c84d01e2a600f6b37ee47421481b1080ac3bee40922f3de6e142aa7664089a70bd9a6e81fd461a3100563342721f05e245fc1644334990300a093740a94e134262b2b97677556be11aa986675c051a95ae19e481b240f2f3c85c5711ad06dfe533a3c5c0622036e18b295de50b225226e677c3c465093971da44c6e5b247591568172581c9e23e44e28d8706a18f3334b38c0ee4e47426b2464746414c1fa7369d08c1330059aa11e87e19f0cd2268d5fa714d472315fad267fecf93934f5bd5d6ad00422f9633250af024d5a04e9801fc4840d07ed38b0118c750211b35f7b619314281a7d06cd604da0335cbf35e05d45152116e842503ef7e5a632f6af7b73da678f70821e204e37fb801c096ad5191fcb5b667c66dd3f0005e1193f604176d0f54f6dbaddcc55e5624f698ae2bd02b2eb4f1919bb3b3f8847720d9fa3ba11c22905370c9aff6f8a7660627513e00c56435f1309ede30aaca9ac1d5205353d54f3381d0d7a136ab8d538530eb6436fca605925412d6e17d0b123651a9c680e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d87a46b17d2335637f3ce23667d057d034fca4c19613a462eddbcd02fa0c2316ebec41d25a2f4ff3ec8a8e90583e6e3613502593786a2901af6cca455185cff34858c1c3c1fd8b673de18e7393ffa832b4697005380662b675bd0301e4419b62e0d30134be5b2e36d20dd2a2a507f4137d288e412ba521f69ca4c3d7513a10b45235d8556f312594eb5bf1611862bfb67929d9f29a9e93a68461a515e2e5d8d44c149542a31d7e2427f8c1d693a49292c6c8aee194b88fe03b684cb0f7d648e4cb63f10261f8df13ff32c85563f8a6560c6f43723bc201252ee4b4d1c3d4f4c20ebf7df0a9928120c4ce54724e2c96969f3445742c152ad173e80c2402bc3907000dcc1572ab407739a36fe258ac79950c4806b222438175b6a9c984cf4404322927617539b0fdc72370d566e20ca6c2939dc594834eca6111175b9475671171aff6f436c93e49f0b0731dc5001bfd9486f9af31e279e2e496759fc65568f424acf1de3481921f900739b40609a46e004944c040d7a822c18d887c751d5d96f4d265a9059c2a10169c3038f0bfa048c28f028a91787813343a57b390f07047f222634a01e4468441b9c737344874be05490d2a869cb05760a4b7ffe145216d21cb35b9226b27dfd435b83c444529e012213dd115719ad375eedfef47387cbaa5362fe4258d06d415b54f0b7330c92e60e48200b2601767b0472e7102250012355f99d4f72db2acb22fb6ef81e382b3539f9f14a16a193ec60695dec7548b5ac2a5ce99c4eb46faf487f888c08efd4f91188291e210720196a25406710f2275e354ada3b3adb7994469dfbc23eb0344435e615085f6347da37d9ad400a7c3cfd44965ea629594fc0231de68109bdc2aa469037de08933ad1697986e4714896326d2b3d955f8517532f5bfa0f6331e6121fb2de2968394fd5076be3341740a5b25441c74e169a937e70f0d95b4ef9f95e133241b43d79a25e67fd9b4f72791dce0180f1cc1dca3813027c8b286e46e8a219a2cf9f291510136aafc2d762c4bfbe71d600a23f9b8fe35db1c18d4971e8a326db8aee72bd62531b49327065c62f98302c45e646ead1bb1e1b2d3d2f59865c75c5251753e0fae932e11b785fbc4da1145fa46136c047231fac290d63e305724abc6f08429f7e6e2bef6534245a586b6815c5c119c9acb409b264a471a7054d125bb1f05842969e7614044805abc0025bc094913f83c8920f8c3d3f392281d0697bbfc011f3538a5eaa8f20228d59fb1de0c83c59796da50a5a033303e06c30112f4d7a39b0611440ec8be138dbfa70409e7e11557a0b5a13a741670c854d450f3fbf995bbae70a7129968e45d79af569ac298b0d3ec51e6188bb854df28601222db0521c66aaa545cc7aed612cb3e539c2338b29828f9119756bf15f18d60c7382e31b2a452fe901b00c9171dc1ada531874671ee8c0c90cb50d30088208682798d4a51b84770966b6535c65583b170dbb18a24b12b1c53366f1a6513b575600ff69d54b89b4ce2f3158cc213b2eba5f413b5c3830cdc768233ae3641b7d10751175c03c3b19790d463c8c56ebe4db57772a6758c1bf6436f3b10a742e4616008eb9072f91a5ea693446356645871607fd0578209ed28c62f5d8a8018d4910074019f732980fe347efd57501d4963906c98d6165275fe7020485141652e6df6f40226e31e96a2e0670592b53a11c4f72de4c741400c7de118c22660ce18f641ae7670f408164fc75bea3552cd346746c950391277a293e68d72cb669da3a251741b66a666bcc5f05801c57541710942250f6a263f384d122ac35b0355169c238e5b9402d8540a021d80ebe68f0b79a12940bc11a81483146ccccb14e81a193583bed9a0f0978a439d35caf2d6b31d76eaacc1e40b16f2c64f291fa2c603c1637f9c229010b4df01264ddcd61ef5c1b6ec2229457922c0a5f68c5bc0800000000953b5244753e3c1086e67360538e37194876c95ff79afa6f11bbee6c84c6fd485f704663ffb86c449aeeb66319af4027a183746f7c7f1d13757a494bf3a87922e6b75a25ac402e476d703b369b4e2a2b65e0812318dd4b235b301d42f40aa54364a0f83fd4950e674b20c4279b1dc93f0dc8d637f5d4912c8d3efd30cdc749307f17e12ca467c46149346475fe2e6516394be8343328a13fdc6eb6488ad48935217c81145c4d5a453bf094139caff977f1e6ed5ac68d844dec49411872ea2242f0de4f6b21303b28fa548c38688d3a5d2f31b365b03a476d1b096e044f8b144736973c58481eb943f7df3713cb0bd33a9460a450deb80b622c4f732676505221cdbad90fbb4e4704f5a4ba6395709b471febb94eb5386b52426954744ab814481611c7312cce4d3ff621b061a435a3284ef62360c808d417d01b3a2f6a123c00dc45d22f5d54d82b7223320650f6f62da4d9ff347298452a932b3b05d2dcc77455592a6f6717ff0415a1526cd9ab7a0967f4d44908d92a0dd0216c1b1e28900189d40f050dc16c380bfb3a2d13476f17197a0b55f15c2b4e01f3e760b1b65f0915585e2b9de11b328c505839edb8213645627661a2bebd6820d79e13e925003b3385a1171f184e4e3cc7b523d18caa1eeb7dd10b6b8c0a43cc67b3406cff5d4de2d340714673db4c104d862d3b7678006858c115cfbcc53931a1fc36f5d36c495cf957256c0a0b417cef1c52a650b81bc6597112cee5395bb73b2d27c979ba27a660ae3f60ae2b133530d75d1adeb800d974146ba0d72e0378facb6a1285ae1b89139b4db620483284249142e748cb081ad9061c152b7c6a09d10a29c679cc3e8077075f727f3e2fdbf1b30f458b911945c96f65ade6e54ea8679011afb8e73681dc20564bb1ab36c2886e105383625fd2db1d0e64306e59317b115c8478dc503f4bfd4b4e4d656d1bb81557bccee222517c16756a710e6d57dec96e80daad57c5446e33d4d933158ff6b86e17c4c361f8560804b645d52e26e1763003864e6f6fe3ce0c1f1bcf1b0a2573077f7a7a0693bd3e622189475cedb322683269212a3c540010ef709e69c13d011c9f94814450d1760a59adb976720dc60b88011f4d66ef2c63e9ac92061337b604d602dd5bacf37618c34147586a13620298451b5104e6930fc6b33a0e30f5554fc80e8a64a9d7560e26546564d6053705fe6d31443680e72278a64743a91d6837c337a05c6c68201b5a8ed02821b67d779e2c45071551a15b25c79647693b1e7389a7d559df10cc09da88f54c32deb5057a49633741ba0a4426ae3f69ecc3934206eb9147bfb48359ecbbbc5ccabfda475555720e6b45d72aff977d6c4907514d29e162107a43311d95df3f2391c7871b540e3d71865a0939ddedfd507b725d17b28f261a82fdb25d698bef4077709e2af4e7b25255bd383d58f94a7069edc56310088108cb5a387388cf534ea35adb509c74c66dfe55f6587e3e480b0c68ea651405c428de4e34250657f01b6f507e6d93b0a16d81a8783ecfefa92e35fa2a318b254c5e70c4490c0ab24b368afd452107704432ec4979101c5b8d509f4e380870b3d2085ee18f334dbdd20d18b8684852dd293a9cf7ca559fa6fe470a7c3e229662853ec301c61c3542e02c5fdfe3171ab8d8134af31c5698a4893b63b6f00fc1cd0b6eadacf76fde3cfe3313b9d5459b0be34a35064a6983350f3ccb7c0e178f340231121d085bf5055205f25e62520ee0af5b556c6f4ba8d9c2285d6af470dc998066a63b5940ce535869ecaf5a2efb22660c634c891f44c6616b241cdc1752ab67130c060b5bea3b231ef77d9e6a7ccceb32b1e392754934f67478e9093d5e5d5b002b48c1272de3205407d1875c466d04769272d21ec17f2e3fd9dcff409a3fad16afc61f2072f9d0606e706b2bbadf6776a2d72842b2642818dffa3b4c1bdf7b2a2060ee2462f39554e7b9273fbe3e7507ca5fc649aa267a285fd6a350218d2c47182c7c6eb1eb595385242a0cb1aced5ca3dca96764ef2d51af938d50050a40546908df1790160f52743ca2670645356049b6b251c88298383e4a4526e32bc451f836d209241cba0870c6dc63897d463c33a7990686241a0f49c05748fb514a433522643facaa5e2edf66871470e512037ad1e336e7f6be2d4c6c95515d8d9c2db24e5214192d1a6d3690af37d8df7936d072841cc2856005f214e836daf6651afcec68657e42c7671cc5563cd6b06b00ac64aa2671b5140fb32115408b24c33c0e4f7108fe452c59c61f2c49e69acc72916023707fb1780fcc2d292fb81865027c7b2a3f7d94b85846bb3d4be6aaba5fe8d5304c7887440dfe966863905e3457005c7f362b86962c25319556a9644c5f97121e0ff0412c1fe6a9402d5f443550d39a9a07df12244481ba484afda9700b74354c192c93b15e8843140ad6b43d3ec68be54c647fe84f421a445e9695d20ea5a3881d47fab33f0d78e603ee2d4c6e4daa7232d952d030786b2f64ccbe7843efcb204d10d2815f9eaf6e1ef681613936b868664321db4ba9dcc465ffdce723b375302369e8a745a8ee265b19b79211b81f30281df61b6d2cb14967edd0d26b6e424b20b4cc6868c37d6e03eee2ce571596985d3270c26ed045e13c13a10168b981dc36e9a92d5d86664d6b64836a778f3f0a0dfd28e61d12b03940dfd1864a6e1da5774d1a43105822501c461a5c7444a0a7443dc15c0b6ec6050bd4c16d139fbefe7701397c25f12af93487ea473e05ab41654356d1484746a21dfb7ff752c64c2b47261433639f61e10fe3554f5d2a0a542c3f40d0724204e567b10b5f2ac539335f2cc80c047710c876a76a466fb3a7f84fe8069e116b209242a7ddaf38e517192dcb2a0e23f4aa541f16adef771f91092d88549c20d319f424e2d30b1e49fd746d21c4b140687a5f3f9f49554f4c9229697a87d35de2b8170dee618f5e6548f207b8773753bfad1e053d199f2d2ded2859bd799b46cda8ac6e6ea70a17fe2bb8439913ff33cb2c205b06aaa8252b220721b39b9071ae4f636a9f63924a0efe0c6111f9f133c72cac36a84a050948648752f4d4555dd08736020eabf04504b08e488a988706468e52299833066c1ccb736aaa068c57cf8ddd3612d16f5cbc291e0b6d4356102ac2ea61d5a3af717d7dd3039c6a08225345b503f6def14b08ff303bb60c583f89b23a7584e08235b8e36171b7b4b13c39164d10f92ad420c15f4725c1008c1c6f92d161221483272215a966cf83431f470d123d918c955977baae0df3781a63bc4a080aefdd9204675044599f9bae488f429c16a28e71027fec1c2549e95a12d74dc5183adef96d941f5c30aad4f63cabad8056a1e1537684d3e47619b4960ef9ebda772b9ba40058029260d644ec542108cb6c1a1c1f3ff2f265593f7285703247cb5dacdef50af1b0180de334624a3e0d2940d95eaa2480224372f5fc341d878c5300e42d672c6d59346d771abd4690ea646f3d31ce21f175026433ef9f51b8e901030739e014ba5b873603f5f80a182d493fd34ab8254a4bf420bbc95367c1c9fe044a2f1b51b97d513250f6b8737a13835deefd2b4267c6cc2e29d4a95c0549ea355f4e60669c9b380dc6215c60c535ce2b864fbb67bd20b031fd4d7014f93c440d39132a585a9ac267bc2f45598fe3e3203c4eed3d4605eb23bd87cd470af71b6c085c452ed826e55b34d6120d90b1a06398413e69741a6068bebd241d8abad53eab556062047ba42b236d4e719a66664194f3342c862dec23e2cbdd76ce66b6779ed7f6090e8a6b716667511f51fcb1136f089d694e082d1ba83df909517b6934b66cb22e85af8a350ebcfc214b69b6429e1c0d2831517111f3af0d519f9bfa65fde230545204aa5dc196066e74d9410af70d3a0e62ec8c2d758d36402c467c16184e651afc5ea15e4a49cd59bc32e76347a50925ebf93800ec290208bb8a4d32e4aa046606c3a7422e38d827e7e822349adf4436a2f2d7018874ca6defbb4f133b0cb353bf48200445f8fd16431f7e50bdf7206737b5cf66d66c540c7ac15d24fb298f0f467982254e63575d93f83013069f9544066dcb53aa8eed5ab955e65234821b0d1f570d16e5c65d6a69d1700a54b0705a51f0381a5db55e1a4d96c2199aa4685cddeec26c0e0b23184520ea14ca48036de5381f0ff7726426cf31fb0c49c619419722b239ded49913e3731239e5293765292eda186d99b52836c41f0496a81112b07a1c2db0a9f01ca6fd5b6e13b9510662df210db5922e08eec8bb646b026209705e0c60c6d452308a8efb4312fa1808ded894516e04270361edf555249a9317bb54676cb61ac04b179a011d1ce1466def307021bc6d6b127c66d82af00080515b8fc6256790cc4ae4bd031d6705cf645e1f8e73c715c03e7933846a7f6bde2be99c440d11fd6f6ef39dc837f610a3258e1230513159ec18c1015040af4b45552ed3f01486e53c62526e861e3a893375cd1c216c9a344f499f4efa5354f4724293791a0250796726e4cecc16dd0dc53cc2e3af36c1225a61c1b2ca453ccb45381ffcf6083ede8a0a55aee8677810e406569d761c609bc32508601c34b2972705544de76f6077fb357e3c491343b78c6371c1322877afcd68bd62f52c5781491752560d0cd4753f45b2297c6ae47468204e046838ae9013141cf2363997c5491e82d86921c36ffb4b0cfb9a568d944c0e90a040573f92d859397bc04dd5b0200bbcbda86c494bd149852d6566a6c5bf42a15c9503deeb0f710c261913617040647d5b394c2f5f1f29b3887040b4952755ab3f8c68fb4fae4e3f7c43532e6b8377c0c22e1dec13714e219eff261362645e9f816150bc823a3ef43f17656a23eb02cb1cc616396d410384337a567494e54f576195729a6c544a4a8a9e2b44c341574a2fc82a2d928e1a9150b3346623c476aa99940290dacb680d00325ddff2cf28322bd46b97f31208f3741912931f2947a9fa0e438923882feb627169e322ad2c7e18471252c95413b1e5b55d5b77c57457012f4c6262c801f0189d1ea8c7200c916f6f236a38085bca4c0c65b527cd104f947d155644764830ff835953470249b054ad5703a2df46f368006a2d61b2340b99d118df192d2c36fa2910eaf8f213fcfc3952b93b5a065deda308be4cff2831674d2ae693776d2a73cc6767bf6955e7c1030ba01f207294fa750248c1fc701191655159929b23c319b51482e8ca44ada14707a2208766ddfbe73fadcb7a7760f7482562c1870466826c5567d2b554566dc63789acb01806a047572049e86ee424b81d357aaa545cfb746a5a9ca505da5c6956f477cc039f39dd0db6c36721bda46a1e5d3d0927873e4372523fff24b902834dcb2fe848b35d1600ae175b48adc91c3fdcd6312d67f0481f344bf3727eeecc1aeb58bd252fb8f21da2dab85f54133036446b3a0e68137104e5f1fb37189dc03d2a641a68e29e655c73e4a05952ec9b4335b422389cd0c1061d6aec179e85713c5b7d3104e8b08d46fd4a7f346a3cbc288857b54e54494512f7782c4d0e0bcd4cc1aa456954b68920f0ea426fe5e28b3005e8d04dc9218e485f5eee4446138835f13fa533090255227ff2aa01c2e17e6bb3db762276fd956db8351e2627e0ff1cb119414096a07819ae4f1e69f7290527979e5f17b4476746df0df34055a5a95fad2867543fcc8f18810820609cefc624dff23b2f0000000050c2fd43964aff45736e681f38a614672fb5e366bcb25a6c5d3c3344e304692b5e514002db28fd4a465cc90ed41b4271cc3d8c081c7b266339f47e08e90319469c2b9f235c755a20e1305d254056e64df02063512cd0e61dd0ce2c2e1faf864e01cb9651fd5aac4b84b7390891f1405516d1c53d55e0192c3a282c053d36c4317102c0266f252e25708aea04a29dd62557678a19a23dca74d8f0f06221b7293c3244e834337a5a64a43e8f4360ee2f605c2eea75fa1e0f7790255e64b3f45c1823a6913b4e558e72813a922c52da3f1abe2f3d6904cfdf4132c2723f6012c95ecdcdc318f36ba21273983575aaa5015f056e0f013442520bdb646b6043f1841cfd08f73f4380b402fd5c69681b5212699cbdc501a26a806fe93ea4021501804a133a7c07681d736ce8d8c95fad9537172abd22420a2bfa30dcfbc05e17b2c506972dba56c87e4026ed6b914706fb624d53d51f2885ae7a165f3aea27b3ba7c687519c572593e3f1d765e64107055927216bcb339b117a61c6497a34cc99d6f70eb8594645c4c704e1ac98e13180be3494368f355c8fdcf0bd15b7b2c884a713cfeb32b381bbc586e1f45a8534638ae49b561bb52305b1d29922f474bfff20c3dab93bd738d547f4479ee00756384b91d73e6d2573dbe90370c6f683096a15737e199ce1178f449102f2789648cd64540d3f2a622de696c3e3c80536f31bfb347473ae6423cc2ad2111e4e21c6d749a0d08ef0b2a7d32e208e438266d40f6c0463867010af77e2c4a7257f800cfc09a1bd139be2530f4f9160c415a218f71e6571c0e17710ae1ca435b3cfe084f0e4f46bee9c40732aa71006a03b00d84553312d57acc3c99a0d90a6152fd131e99dc706e9a980bf901534fe597c15d4672d11ac7ad754fa6292b2f5900d04e557ac7721d0b502234a35a739852e43fba6a886f94522a4b71c12f7561fc5f6b9834160f233715121cfaee060da4194e36eb3b5b8e7885693a8c6d3559b1763610b1ce4fd6a75508928eb425ddc56d1cfa05a4389f91da4f245b2c0ce85f7645790e526678b3b96fdf955e23436f3c120d6e240738629f10f01cc4474cf189083c8181503a38bf1d59e702126ab4e21ec150b40fbbd2872c3d714e373041e745aa1f143af3e6ed164a58c74f65c77c069fce2047f269c459bd16f155c9f384543a876e10abe22651909c18402239ad00583df813d1b61376becf471c3319a206ca582b30884b4719c6edf66cbf828825e303c00f6ab73047dee79c6320bf535c1de762601f89351d915a0775a1003e68b85ba60ab3ab1e4d33f1cb6968972712df57a8622a47134e49b5cd01bf74c534acb3d730ef5481274859e74173f6551f233f304751162e28471935508e53a02f4dd9f40424b7b246301f2a0bc4ec5a6c14fce15de25d143e29caee730d493f4a6d6fd657abeaa3266b9016073c1ad4396e05b2388af8d12492037411afc6972ac94bfc47033f5f1904c5f81d1d72336bed07af5828b6cf1373ab9f34e80fdf6a73c7ef111ae9646a287e2f11c6cf081dafcfe96eee87906e3261781ddd2c42689dee1135f131e8560fd6942512484149f45f1e684334ee2f1f295d1889b15241fcb2b372a92f6953703c96632d8462207b8fbb5d83dcda463e7358627c361e5d0ba9bc361a65aa48b852f07774a86b6caf7f5168c6bdb4091415565c8bead26986481b720a081766b31308724aef6969bae625637be5673232f2e773452a542e9bd97f6507d68e75b5460204c89c8d774821eb15279e493084a9c2741b301e2adad7494d49a2bb32be9d1b3409e1e46299d4720b1535a473a77720153e206932a61eee0a0c5cce4fd4bc7c4a4e380663ff6cdc40af6e403bf520696f79bafe093aa5d720facb595e6b8b0d1612cd280a905b080528db51625ce8e2548975ea143e3ced1a7dd3fd0c53058c149a5d4622ec1a28436657af57d3055f4764c46f0b1f98666044f2963bb23a026e202bc73ee0e464470fcedc0c966b0b08e44ded2f1027c317198d7266c3e59e3f07eab71c0399c72be58f0d20eb76ad3b6d4a48348b65c72772d72f30fd6c44228796b454b4b422127e23e965475f8710e1ff514fc91f002999400c32bb6a7a4baaea735ec7f0946aec4e1a45e7f7dd029a95ad3a4221ad005b8e57418f2cc105c2f4ed220ae6213da406126ed8625a348abc20648c540859373ecd4ae5c770004165a35551d56160fd5d54140a60dd5ea628d05ada33604f44eda85758b38731a423b10179bc9b2d36ae1021a5c0c943641b571a2587e548f6dcc0723ed45117b16d263b92f09715356fe434a4b839153459132a022e8544236ba36f6a652f44793bae5e70cdcb043b3c6964a32405039f4a42660825df5085c4375089926806db6d6b0b0d55fb328008592d2929e7776fc6cc11c49e4c1d23cb0d3fef352e505082116252640a05af72ec611b772e0200a50346c26b3e175afca40f3df2316cc680fa40a037f65455036f72772baf0b02c5915d628588135fcd7c3a2275b427d931db76c23bd9568b170406564be216ea4e3d28823bc43720ad7450e7aa1c4b16d47a2280c1674e3e1ca05cdf9af23d3906451483a8d308dcc4903a8604d607110b8f202b36eb08d0beac6d27d5dd6fc0c0f6080e85b033d2cb401f61473d322dd31006ef974e6647333311bdbc0b65b3d3306729e6ea0d50b68a1419641043b3c38a2053ec4775f30da162a593880d1551b020595b32370a45f728bb9bdb21becc4332cb05a75f20660e70232f2c5b7a16d174cba2ae15a0f10b5256d6a65a1ff8333f8c8e09721ceb7a3bbc6b3019f4e78e51e4e42e7214920400e640c2589520fa6f8dcaad533a9bef17fd64a466a0f9ca0eaaa86b1997a74a3d27cb5661b0f95c5ab293ae12cbdd2213f376e903ab335b4e1956cb6d4f246f046f97e1225b7caf5f6076f94c93eb9513b8cfaa22db7bc962d059404649590d02fcbfa73f1eb3a615279a945579414b353bf2155e6bd3656f84900b37e48a304199c3be2cd6c5146744bc3d11ff1e54586383276ab03fe9153f55605f3d63025d495174404a1e4829f4f64523cd8b1e0bd8e63d75c0f8fd0d642179519642d57729f01116b211c95a90b417178c13c25927917d1eb600c3535184873865239b645eb86460a93b9c343f1fca3e72b801104dfa7d4c27d9b44c8f2ed05e661588248296f93482c2e939306537236509db5b73926466be5e930b2bea0939a7183a575f2b76153e7dae2669c034093621a0329c11fd14a859a4328b6a85223cd4505b7521e161404c4b2e1bc84c406630f1171572e02925dfd360716645610eb6e81cc079b448ca2f403e5875784d49271631075adc578e4c5409d2f67854b2e3fb57c65dcf70d98b6e14cc57a168ad44cc6eccda9709c2b0c96b76d3b6056e6abb0963c6516b624a4831165fb4559036a93fc478901053a41051de22b41bda231204663deb53850813462c6d05350299091c96913b3a2921654afe79b138eda1e41feb86b20a330a0a6fc1004b26e0419d5152186c440860776c5b542720e139233964cd6666b9acdc325f89805644c5c52354c4b209b05bff2c55d1121b7d58046a4d32b266ef9a184b7ccf900058a7fe14c6ba1949e99a9e2e27158a326ac8cd2e9484a327cbc4330ff951de2b8e17fa69520b7b3c4aad84748c820150269aca14cec5d258b0b917460c9fa90b7e852e6f7f356802fc2b0f4838f1b5177159f94a9b767d6d5181b0393a49ff03350d1c221c948176d0679f6ecc5b9301a68a6f2bfebba36d6276d00dee18543fabeba75891f13754731ec13107bd1458a72e05323193012430950633e69951365ce8de509108ed516651cf25a62a873c254aa664dadaec23a3b92a42bacddd6e6030442654ddf725384fdf1f6b9fad6f2faf9239a3f5621cdb0a48537a137f6a00f0cd726588d3607a132d46f1b1c8019b06393aff53fa751dade857046fe2014b556e76d97959700a78c87725f8ff18d42f600d2027d152604d0c5cd47c631d804f565564cd8a40825fb3380991e80b459cdc4e9698925603a9d30f92453b476f74192f1a5a9672def9dc08e4aa8865fc61046ba06ae30ce15be106816ceb4248a6b7339724ef486366f86a8fe19e0b2c3805632d50832ca7cc08589473c247fc5646386b28394914fc322030d3690dab3f6b0f97eb436ecabf1d679eef5f77b2965c1d47ca7a1f53bd0e1eeecf311332856d64f41ccd129f6e260d41ddf217a094a965b21327284a18ba6ebdd7b0678ae6f06a04566a26d7231851ab83511ff4c3906909f0cf75f4ff5325700fbe7093280a1cf549d62bc820655434dfdb02c6ccb0551a2b163769ca384a4a913a3391626a7008fba835dca45272da40d710a83bb6709ef17209a428cf17c62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0e9299986863d386371a25937799142f1a69a0430cd426070bdd9fe02d7f08557457482d4429713942e24690760e4e9e5bf4eab35f4e86bf2f7d0b981dfa2df60773051a2912bbd84d5e20710581d5fe0f7d77856fa0d1ea3a31a32d662835a2100d0d363cc0bcf75f32549b35aec62c3bceeae416548c6a18df527d28cbb9f7234faa4111cbe7bf36c447ae22890713575d870c0a5068b415e85b2e75840f5f3a5dcc4d64efb89303d59d212fdc59925c1ac17270e251753c3274f04baffa6f2d12c45450715a6b32beda334b575a8e4a3aa1ca115a62e169695b7506ee27560f74b801564ebfdd60374e97426880d62434a42626760fdc3315fa0e5da4690b74e48b681ff791be539381270c43d64b0a55618f64b07c3547c2cf7571d35cc239c0e7575c69648e0e772e2238bf0c440b52e79d5ecf22930e297c9a4edb43be4afe66c9526b16c751ad98966f5c48f91db678345e06f2a61caa49c76cd5050b62081f497440cbe7603fde2f614075202b92a60f66a4e929197b253111545193132f2dd61657a75f01b5e48d3b99b9e5638495b52ac1c1fe61d5564256f57b0d05063e546b89d3554379669a16e27e2a62c878ed46319fe968d7995800c227ea1431f3615fd6d28f0cfe9a8f44dfb4dd16e2fd154462e35e41c51ac8080c4f5475c850f415e216ac48211ca55ea0f8071bfded320e348a8511a2d5bf60875a3c582b0724243e3040025adb7a3d6109fe2335d14c525aa9cf2708572b122f89656a5a8ccd76711d541b7c45772898d7391ab2cccf466da6874f2f1dea20ddd8a6329cae451722945658904c2348677e074f75db1036264b780a7316080d7132d32cff76a7565087c6778c24943c7551b90d7ce1415116be4d6ebd34a45a31c41451e5a94a5f74e2693c6d16c52fce16404ae358ea0635c2b1502aea603e18779c3f294fef3bfbc1ad3ab3d31c7133694259b49bc5061fe46b538ca4b207e13bfa0fd1d82d35f8d04d69777ece157e6fc54a81122a3b41526f3b13d3a465c95d4b542bb10e644c5c1014aafa7f5a5f44930d7932dc4c72ec80305a8f7370cbdbd050c76f5d1a85537b4404105e5125ded0682d9e650058e794362ca5eb4e598e1034dbc6cd49f19d4d729d7668203769dd4cde835707b2f9f32bae4807060a4e2e388bae9150526070295d4b7c406676bf36b7a8164539ae0a467d975f686151d036be0b876dc96f1258de312e3184e18d1cfe2aeb2a0de2161382ac68508525892f8f853107f946c95910774343000000000e7cf50cd7ab016ebf82606c9a717b4f3791c24a75b21d4a2d988365d329125219039d236014ec59e61a372cb963636c04fc7b64450a47222b09203e0e4c4d2b6daf7731fe35bf6544e93a386d6241345e88c15378d080651cedf34bfa17ec0adbe4d612f27eb209d632f81fae52337344f2cc2536aa0c226426954c2e2d195f35a01212b4d0d64d515e482c5c703c0fdb465e448a490b07b3139e4001be7b2e3f14872ca2056c13ed605612b8c2fd4d5488964d3d589b41e8d09626947b0a03642d1c505b5b3a4a5454ba756568d81255814857e319891a2e069a0ab607b40c379a25467846b539cdd3244d24ef7721bda8143610aa7a48d5321b19d97abe750ab1a0462abe661c301fbc6788f4690cb0b1740c15b85248c927c64fb762cf394e472d212622266be36ab35b985adf6c2881d2032836d05d7cb254431e2e1a3706c06a54cb3d6a451a1bae7736069955f4cc6834d15d5455a401335ce35c0a3832ec970d6f122e42f5c9e10dd6c08427f6aefc4b5cbbc23b850e621774842d6acd948325083d34414adcf01fe2239f69c2154e64bae7b740d453ba0aeac17f1e185c3a4da44f611f692d5e48bbfe1838ccc6096093719321df3c670b404c1c719c220175e5ed226fa25dd96243c8384f68b41a1933a86074aac7ce1ce29ccb042468e006a61eaa2041217b1886be29185e80f171e91ef61cb8c12e1733d85966c1b58048a933ac2c4e479b34dfe5c0772771db10f882b500d05e70606fcf5063d2dfba133cff29703c386b4e99cd2c09208f4948b876ae4093307a0001f39f75bd80b20732d6fa2b6b79c801281d866aef15cb2bce860d374a95702a6156cf3830772f564df30260b64aec18e222bb4c91166d5169170d5c352fef0199a67a6f511c262a60c493018eb94a13cc3125586263b6525d804d23c8c2af5a2ce85109d46eaf6af4a3cb50a9c00c5af6b3543b26fbf13013226f02a62923235dc8e11cb053d149f5124e4c3b518e62353fe13d1978166f55cb7b69722191397ad20005ecc6e1174449b233eec40f29240ac743c3047f4b566b85366b193f73958af2363d95b706a726ff2d5ac50f770d32d153a0720c7596065313b1f3023afcafa65ff42f64051847316214fe492ee996a2730eb6f3003a1500361d3a0524eb753e64e140af0fc2967f21ca53b3570eab031b4ba4e4150e4f7a384ada5b717555823606ab97631074e43e0901f54f7d45e10d282f0b10b9760a2ad562964f9b13545723b640485c6a1948d0b5d6237bc2a442330a05741d1303362ceebc38da70e356cf1ffe0ecc485c561af13c57a262c3651e7a0244993c8520637b183ab9f6ac56019b77161cd4e35bf406a80f35695a1bcc195703a41df9273e236d74ccd7d24541398a4bdf8ba1359f14651ca517dc41e82f50724f002c29006ac87627561c063415f800a8e3d60c6001512484c266760560a24e28509737d9fb1d31ff8011607c6131145922591b10d3fb71116b203e0db6be0ebf6ad860db857c3ddb2a9d1c9f0b73145fb86b1e459e665286a9846e994982140602f4352cec005efbc74b6ed5df4560b297a9232274ce75edac3c2e7ed86809bc75c032c66ff063925e5c42033b4914b325a45758d0611b4075375fa5dcba15ec33b94ded26eb41f2a9ca0f5ed41054340c253931218c118bc55d07e40aad2e919524692a148043a1e7a56412bbb0124e96fe6e9baea44c405f1b746210015db8fd1e6cec9126377a869923cce33a3f50a9896f47722a4ed91a1f26f37c362b0cf88c4f9212a05f99ac0b3109e26239a9f13a0d9de3db0f7cf26b7624a658655118da6999e58a449f6d7d713ae76a2e55d9310250da7e16db7bb75a8c1a8c3704b7972b90be3f4aac7c7e417a593f5b762aef28ceafdf3b10880c42afbf0a3f79db163bed78ff578e42af2ea003ad2ebceb9f56a8b7165f036453705cb49e210daeef6743c18f57416cb967c58268586404761c00617e21855cbf4c9b86166de87a6242479148302947792545a40a5eb70975573d94b366dcc85a2f7e8c7556de0c7957b9e1c710e56f6666b9db69109b9993410c1cf501ed93431396db973123cad81bdcdf1406c1c53870e323ea10fdceaa1947fa956a7eb8a74d24689b49796458621566eb242cb9185283b4b411c87cf8054c208b01f9cdaa4a05e2c31e205f66253926ad73e65e6f088108bf0afe16270604aff030d229b91f11073027cd5c9c3ffc0508460031332004174f272297f575c47e041f27e87e612f03d7103900a0312aed466ec0a66a21d550c012f505310ac900361e3d51cb09e58481395d879264223a5872eb43c4163af91f2aeda044581c4da8284532b1330e96cb0b33ce9572ca7941596020ee5b63b3f612228b9354065c0d53d8b0d96b10fa893d11700310226aba2b3d3a812a6ee2232fb6f3c27511f2e65bcd1cc4024f029c507336ed6051691e0e72da7b496aa98a5c2350852bb3ae0d1016e05a2b09e974389182c06a4b1dd60b2baa5961b14ea477975fca602d3a4c4ace169e4f61a844185f77a444f5179d522ca72c7416f3f62b7ab9700835a13d27ff3eeb015495c977bcd21911db2ef23cf86ac0319b440938a08d666d06838d0e433103051823c5078d4d70506545d56a9483e33c2b27d4710ed7172e0b28900f91cc1d2eb32ace734902d059a5fa1775e42df2091c2754533380ed00338be0076306020e6383645bfe07f82b0f80710bfdebb61b19e3266bb8295a32aa2939642215b11de85d974911d9d6643637cb6448cdc5280d1037013e5f3d1a8040833354988052fcb287385c25d200b68e8f5f17b28301b3dd5d45c531aa129f1efc67a6972755bd228a51fda3a3458f925f3b1637b62aacc7a4515a791d0e03b98f64104dfd09b86510017ba3d3117f02b64f3b8a44122390f66b0d34a800d5f1422adea41434646056057c4895166e58226b939161678a28ec2dfde12c0c5d9be21896dfcf6122b2ff02973b590b1d31870651873e05fd6cbe676725666a82b6590f8901344105838616cbcb57301c9e313436052f5b83ac5b342b67ef3cef85487528ceff3a0a263b5c93b16753ec7a15485e79503f24087a465d12df72453da01ca8439d5d23fd741d7b2edb73752bca32cf48eb1ae9873441b50c993f865ff52f5108c625cd1315459eec275677ede23b30509e240be3726ae5758c457b20162e7a2bf42abe56ea4a57fbc035c8e87e54ef64d811c0526b6b74d7ea1921c9bb748dcddc4774ff7c263efc8b3d97cb1c116ba7fc4057b81d661bd8333d09f9e53e4b98c85213fd420063e3c356913e57511e82673d8e4c2413646ee11a85125e0bc9d6275557a2f175ef569c23d38c4e75627e537618af980e9005c55290f04f65cf837a2d32cfb21f8f4139198ec665730349026a335b235c371c9f6f8b49b90e88b0df151eb31a3efba444217a29a1521c189f111de1fc15258c003b0ae4ce400e6dc66ab2a1fb19bb77801074560f229b3af6666df0f92ba137830397cb78460af9a10a299af02ba9e49c4e300b3613752dc4431fa88a22a49b5b0b10ebd053cbccfd33b0c6ac2b5abf53552e16583fc72b3f65d4fb6553f3406765e36a3f6e92ccf44e9ff1dc2f42ee105327ac7443317ba82ccde85717831896697ccdbf37c0b45521e2eb23615d472301b9123f3ad904672ea052a61a38b7692ffcde6116d23bbd3a06314e541040b141fbb5cb4f3a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6bd4417e3aa1e80e0f9e75f1531c53616c8811a150f10ebc07d57b9a3898b699322ab2b3744108c259ab8b141c45534f4f2ff4ac0f6b8e0470758b4756ba352d30458f4c167bf59e2488a0b27140c5432275707153d6cf3e11dda9b30ea1bba314d5cc364a5fad561d485f4e0773718d46e12115568ef4e25b7a809567c1453c39c238241a44f5cb032e5b2072f1121509cab3224c022dfd28bc88de62dfa9720541a2a35a1f70650e8a2907390ee502389d4589556aaf8f518357e0759c210a44164985341c43dd1d20c61b3e31289b2cb8e929144c8f0f2d62137a5c35ef271b02325b2f4352f9584aafb9294aa4a00256f7460ecc3db3624fcf7c5baa673545c3d53c21f7132e20d4bfa844e42b8d5dc741670af2c80f63ff2e9f40e90e9b041226de195fc2894b988b83109c4d3e5969db6434977a4235abc91b6239e9b84c280aca059569f051441cd671dbc2955d257e690852d03f352eac0355e9a925067c01896e9426fa6616a43f6d5b33550e7ad08b3a23a219263d0fdc2ad6b3b037aedaf60e5d34792a3e3bb408e5933c73cb17a04dd6e8a96bbe918b6ce40be1614fafad1ca944fd2f2b28450ff600b833091db53651519417055e0c02c7590d34f45b780c96395b25a1537465d7688c5159ffa5080d43fa08fcc09a2952a81b29cc3e5f4f28f9bf3a420fa15bee18bd7356451e0c3cfb035725d5a50187189a5b93c621261059cc777d37db1d2e21c13c1ee34a50e1f1d91033cb9516a293f41e8008823aed0be71f04bf1e57af29414afba4f9624ec49d771909032112c4801d0d46912e8db4a533e6c1f5195c343d24f9b2a4310d8dc2637979d864d0382a34abe79602af2e7b1a6c0a4e5f3593b41c01e6632d4ddaee0186f7750e89e5cc694ee54c40fa68764ca5469a153028b23e09ef531674c0201369bc120dff89ee22cdc1e9207d3e6211d92e1424e0e5726861c5fe1e24e7ae61e25a46659241da4962229d5cf2a07a16be8ff53514f67b73d15af146783ba428ea6b6740a4a7dd6c107ef8157563d82030fbf5424875d851571705242cdd1b6c1c6abc3502dc9a143b01b11f8527e802c143bf56eb44673ac8cfcf62ae9f4810b29d284d81c66f57fe66c9526b16c751ad98966f5c48f91db678345e06f2a61caa49c76cd5050b62c1af6d4fd45340310a83bb06c3ad97136bcc3a2e27c1366cd64ea9071b43f5466997164f42223203fb88200bfbe6a54ae343bb08bbe09c29e3aaad128e0cce1dd4e3610414fac7225f468675e2fd894562359c4fa4842f13aacee934c0583376e87931210a7f4f0c3fe122419641825dc0f8c62b95e8ac1a22b18147898760535cf9854299c52d5cbf2b30434ddba32b79c7542b82e1a425c5d558049d840605b26a073b26f68a5cb237b635e58d2147b7109135e405315313042a246e95d34381dc8d03684cbb68132ea55a2e6d0a3ffe12e04190f7471902e3b14e8e016c6f2093474dbe468a2cf063842489f26f3edfa94414d03d830580abe12ff1b628422112916961fb032fa355d35b8da76c2aec3c6d557236041cf148ca3a32734031e2581d33fe552a69a5684c282a0e796eeb2c093b8cd56f282f5d683935d959156ccf542b9623d7402534f4747361e6529bb0681042a1d306b17bd143ca204636fb0dad742b52123758de582d422da368a0f0112629ec1664716ab846f9c870322d56e23e0b386651ee8126452cbf2a4e9bbe9d73fa99bf099994886a91b57a096f977d016095d23acb9db76c477585063857c615d924e26ca0f8d15b72338f2f87489e4890ffed16223ef44c6af3e15f8265331fce5ee648d93fd80187e3a30cb4d3926854fe4d1830a4953433d67c38e4febe135496856a359f7e069d80524badafe1259a190572dae7d935efef066c75882919972d9407b0511306f6ce1052143e310a1d30d55f1702ae770000000039ed4e6c21704843eacef861cda7130b56178b085fc669700c530d23bfb13d3e4106102c23ea5a4d0d2b2d4757cbd52f5bbde73774c832330b4a8156712dca3eb0dbdf68ef32215123dbc6060ef3a14c00bde8043976e90884005c7683384e263bb2f7137f085d73ffb0505a19459e2d3db03f48fb9e3d00e646427635996e51f20ca64758c5380c4840163d3e90793a0c8a8239ab64e547b32ca41e2ccb4c6cfa3a614f8e7b614cd374165304664b4ad8e9110363da570c9826141c5fbeea55d977a22636528b3c22a9d164d723454b5cf83e060d5b3b4f7bde3b5cfa8f366462500411f181dd01b4edd45616cb456521f33955ea08a16e6b607961a2fb9870aaa4d21199b6dd37a023043adb733804b136464346238b45f1f91942b9a9cd61098a0177e0dca92da62f3634ca5247091249cd0cc0ee172c11b4b2662117bb487ec4da4b1b146b5695ecea545f66d5278e53225e1132c50970bdcf1db4cb093ea841d348112e9957c0265b35ff21690b9e711f1e5d938130b4f6df118723160247b5d1264d8ab32beef87d5ecdc58564e0ffec4f2601544241f11653f8b221176ef71559201fe64c2049aa6145a67b5bd2d962362b3ec05baee55b03c2d80a0668987042e5c27d417151c565cf51e65e4bdbab70935f0b04a5a0cb585dbd092d5aef4c28099c6e75337e9d1d9e6e0a2bc7d7a712f6f3004019d9e146fba81c1815b0950913515060d0edc45e4bc2051fe3c5ed50df4d5005d12e2e445f31013c69ab3105f6358b4aaedd8101de4ac4020a805b013f74f104bedd18479ee30174e5e4a36a45e4c34236f28b650910bd2ed6a9474a92ad635371839966e87e8e633f10273f6df46d2120601b68fa4aa93c099cc86e851d463cba3a5327c70ed5510ca0d664146b32473642600110176f36f31a872047668459b9fb6e3f29f1e106e2179d6e4b4bff1d61541577dada5a555643747022d6e00f763f4367fd30205ebf3170536c0a952c09271572dd8f925eede884710d19e613590151188d0d1149336da334c3058b718e7ef028798fc8300c7924546d5e200b815a34689e792e5d518e552f5382ce050f928e52291df06b2bf11141ca2f7333c8937232d881d3269f056f2fae9a4617db66017020f88b6414a21d33fafe7810ed71e70b8ca2d96cb76186330f846a13f5eb944a58db414dd5405021a4000f321bb340121dcc644393419e740e47020318db06518049461ddf0e160efce1014adbb4dd31761d1124bd7d5f57de0ee34c463b271153a47e2b6718f671ebdef56c1f6e905e0026a86ba16cfb211fb5b40b77312066b45e872893fb5d6c6d239053593a2e5a0ed3d86dfe184a59347f730f143ee7722237090aa455321ce57777452710a011c182475ac305eb272bc6d069b5820b36f2163d776473910c14af781ea731e8511a54fe4c26ed0b099893636b9570b53c20440031c6b16333e3bf303549e191035397ad6a64d2d76a9f336a6824febf46ecc797301b522536eadd8107614e5538748a67530eaacb4e3fcc4072dc6b591f01612e3b1a0c643d3300106963ef983e2f7ec43342314c4f37d5c0137af3c0226d3e9f2611583e27efea930431dfb3520f22d22870c6d072cf453849fa265b08bb4a8065e0de632f5e7d024b179eb571c5c5cd756a2c813112986f256e8dfd3d9e87a338c77a5d7051c0f8618a70bc19732da5697b3aae6fa4c4d96b320b1a0c43569c3fa2721d4b364df56f7cf8182a5640872a4266cc341cdbcf178f2ec1519a9dd54843c379643ee99659fc87cc4765363167ff0bfc65cde56715750e534914b5463bf2cfa162b34219681dad3d4132446559eda13023a2c0c13aab7e825aa942664a26c50d128584866ac1782d6353fd5a44f229475916a7490bc526911380dd58675043fd4c6d4e9c76c04f31408f645c3a23700e553eae2268ffdcee3767a6af44580a775944900b153532d33c0227434eaf083a73ad31701024825a5adc84ce649f29500e192eee296c772a467127221f24e58276d0b19f4525aadf4e8a370c4831654534881ba9053440bd2bf55ce03e2d39eb12ae4c0435269c822ff33a782517006766d03fb16457f4ac55309e7c2f9dcb01678db07163bb2bf657f8b9c74ff41e1448661c5a00ec275c3b45d4a33c048cbc3b7f2ba5674b663f5ea3569120a56ab00b447e3216239c83306588272ac6e7c52d14272e2e394e2964844d9758b7d38e340817c13037560c164845156b0a7eb03e9cbe00553a233130cf0634296f1d2f0020ee9f3c4e878136d7e0211decfec746e08b771939fb7f299d7bac511b43481d69d1da4959c406684325f405e2e7315dd70d165057bf003ed18ca3347bf4666de99a3449f26a04391637974c3e2a622b1318b56a1850166302f9283675717c33791b93158cb90e05bd77c10614bdec5cee9be10d1187f81eee844247386e0046d79fc349567fbf21b2e5600028694022cc687a3e212e8730eacb0c5a2a4aaa0b00f58d447431d642ab2ac85ac54b3e3d448a7e2562122a406dd85846f92b2f4737c7b6182f2de07786727734d509f95fac8f254ef704ea306aed7b52b81121660ca70700ebf12a399b5c7b23dde77a618393a1756b48d836ad68c44605a6c957fc3ea31d8847cd37919a2a5593b1811ffb880827184d16063f11794e7103181af667d43abdd46735a21edc17ceba864be562096956e878325a032e57aea13c4dab7fad56639c5035a37513254bf57952f495994bc8b5851c307d1130d9567f16e35a0d03e721255ee8e5d2033ada0b355d2e456d9c90a8475c06423e42fe766e41a6814057153907de564e5c6c318f3dcd534732982ff4601eeda56fe085c930bb22e40bd8e75609c2bfbf196965ac766bf06210fb64e251b1bd32063d637358e5dcb36d11a32214f71b1e1bdd38cc0b45bbe61799f0850d47fd1545a009645d1832cd475e8de530493bf84513539818492d3900d29c8928eb09bb26ce1e593846ab371cb9bd1018cc34735c683c4b68a86fcd515bbd0514e6d3fd3be543fb6854cfb93b49f6925acc5c9c545191bf636581b9276062043d8ddf6f19e015433b8e4a864dcd1c031ca53cb72f50a69f71bce9dc44bb697c58c9ffc43286e65d513073ea152f525535522e7e4da6849321936246543d62643c66989d1dc753a80e56c722255d925661840b3f1d65cedd4dbbae6459f5b4be3ed8b3855cf09967644f9133232b15970a713e525274935461ca0c1263aeab776d1b9d1e4919f4010edfc18b222ffd2f51c592c14ded4fdc55dc2f427690b2fc54418f4e63ff7c192d5978a1296443ce4b9cdcc1569f71e81ad46dce445856070225ed194c58ce151b8fcbd64d33ca7d27675f7d2054db666d096cee1268b4e55df77fef56b61791737b4c810b01db890f5cb00a2f1184b60362769a361df7020bbb1d04307fbabc55b244e076cbf98567d8cd5c6ca7a23f5188b99269f23327614cad3f770fff7015411c512de8e181592a6ce04d43e4f521b96c693211cb3a1585bc6d6544f97431e56f8330547c5f35016c9e313426144032ae1b45aece89505e9ef544ad3edc5ff9e3ef67f3872e2a12502d5119821f5256164d2c1e041f3683e80c65f6aeb63c3ce22f382b8f2b29e356d067190b7f43633b5f153a7e064a89d7e018ae25c73e3c85a934202b124c54f3381d0d7a136ab8d538530eb6436fca605925412d6e17d0b123651a9c680e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d05263c139707af0c57064c5fb074b21a64752633e37562152c4206277d56922c1e73ec284ef2e15b64bb1e5726263009b1e04459bff8b75dc36f2f4d85ef3d4b2018e12aeeba39419b9852326455cf12e463a47680488c655e447c4c5872235bb44211748a0b786730a71a49ae04335a0c9cb62935672d06001a956cb2540129677aa500ae0adc1b72e97d707cdee723b5ad616f6ace8d725d6b2055a2969060de19d01cb06007528f49756882d48632850cd271479e5f1dd0502b0ce48dcb48c231473e81fd8801e8e24875e5029042b2482614c1ae2e065438055b314222599bf7566fabe6844b6f73e667c660052551f7042ebc248a0bcc4ca9159b1bd1252fc8cc290cd8fe0e5738403cda4dc5454c439e1a1003cd37f614620cae335d55d637321784453c5716b8b54f6429dc66442bbb148cdc6956611a1a128894d532bb5e0a748c20515f8777d677c6ea9b67b1e41b3df9a62e70a31ff6532571761313b9510662df210db5922e08eec8bb646b026209705e0c60c6d452308a8efb4312fa1808ded894516e04270361edf555249a9317bb54676cb61ac04b179a011d1ce1466def307021bc6d6b127c66d82af00080515b8fc6256790cc4ae4bd031d6705cf645e1f8e73c715c03e7933846a7f6bde2be99c440d11fd6f6ef39dc83795f5b92264a76f61b7d46633223cb560ca17e524db46400765fb101e03dcbf374ec0bb486923744aa448176b44895813c68cf249e053036bef0a851b81a24b513ba7286660594b060cca462cf87106390148f5242e71031a34e72039164fed43fda54f532a03166c2c34bf72ff62855c51fa0e5c785dbf5d0a38b02630ab044832a9a4195770bc695e983b51675b154786f76e4f2aeab018ddf3d111adc6522d7d6df173433b215dc53c07663b4cfe0e64593e4ab80d2b5ad874241d21330a4a281abd14a8845424d99c07634c1b80473c523a70b7463527a09d856676a89833fe7d1416bab12c5345bc1b23494dde4ab6ae25658b7bde0fd6f0682e3f84bb0eea394a00c4dd7831a6d0a27089b8af5146ba6541e919e22d4678d94771e4454d5dc9ce1e59944e40af257d5c4e7ea26f08251866c60a1944f3001728d676ba40f2a9385dfb63ac5e57d7116369680a38924bb33d1fbc912608a9dc3c40c606694708f5337f932902b6d2b866a2192632dfc03865844ae65683556d239f09912d99a7c329abe9214c5c93764373163e0bd8ef1909e55796058c73360e07389d44118b796aabba204db79f1949c766af6b679d033c2212e8193ad9c561a9b246754b90974c523dbb6bf40a0738a21ad10948288212d1ed6240d9b54970966f0c301209452137f69c2179f42a07fd5100594786651d48a91f4daebc721cad427819c701d807da976660cd1c344c79e2984230226b7314303349284b4e230f97a815bc4d6233a7f94c29a29c607344ee351ed994fe124acb6940d0de38721e39fb510ba72e3a52d540638c5716487acdbd0bda016e39f5d75217bf426e6c08bc896a571a74285eff53298607a72642fad33d4f9eb95b21e6843e2c1e31238186096f6662ec4e55c6b344440b540599492211c555e07244d83d2dc8ddf03c075472699960ee6c1c100207e83b8f5ae3287d402c45f03956b2690cad81b22d3c8df623f37185544336264ff9551d2612a5081b94a56d55b78f72344835b03d0a1c37193d4d3918b2c571673e50495dfe6bcd72ae51a040ce52b420c5d86213558d1e20688bd63ac63d302dcbfe343bc9e50962588fda180f2de011d0de0e3811995e73b14ad601c4921a693fe9453cc2d0df18c4c4e764e1dbb518be8a364bb7907b1175ab1455738523116c599a1c0a73e950490c5e26b719c85d2ff24629749bab158bd2d11a1ed8e14b7d268a6b80275e492ba4551256eab71528b06e3dd2117726ded1b711e711ec1605212833000000002fd72f4e0acb3e4233539d4c62cae948d425a862fcf6d40093f2725dd2dcd56d21805150c2c0f41d6ab71552aaad212bef695133fc29dd576c1ae240b7cc64562f2d6c10cd41dc2007444859ceae2f6c552f085d0ffbd809b91d1c616c1a51473eb0513c7893b701056cf462c072f54ed9890766d1c1f6012e6aa72fb95dec14b802381848f1100502ab0b68c418671104f4bd426980d155a5a6d164f96b5863d29a06093555303dd541d1028f3bf34163c9c3160b099b52c53118340ad6366c7286c02916b13a2ba55dc64a6f299b601b9d70166c7c7d03f96c6e242c01834fdc607305cc8cbf153762795c98ea052bd67b322efdbc3931fa9a351dd5b1260b20503a4fccf468610e555b692e3b4c53a1edbc6f05513928416fa60bb0e363358a60094bf6ce5e3669752377cca6f4739881d3490057e61b5e569e07fdeec15f30d7a623beae2338f6a138123741ad700cb324759de5fc0898cc4066f894d655c4c3e0343a7eb11ce7be2a311fd23e4a4106642b8d736f3aa28c241912677438aff816446532ae45b7f1631401b32901d336a6703f54114247fd9845c77bcd0283c76e5e5ca17a40fd2c7c27e15e25491b648026e115f775644571474d70ef2d65597055394f104ce8c5223d03c84d39131f8372143a933949ee02346b068042dcd5523d1a836f6b35e2491314a97404c842e74943415e6f0d8cef1289926d55bec0c11cae853625f5218b4eb925d275b2b59c361a143061823abd593058b415bd08492e22d8525a0018975eafb67b441073b4217869881777f8f6580baf3343d804e74895ae13746650773e0f3817329e3c9258e5891e2bc8e2e8759a32de3f8bfd13461a05b11d600ec1768df74f441a1c2022c435ce46f13604231060d80e6e2f8b0f0ed35b27289f7020651d055c99b20f568eb97105cf0a9c19483dc34c69a3e558bf48ab567c001414b49f626c02d1b5069a31ad38cb367b0c1a14c06bbde97f160c537627fc7f631cef4aa33bf92bc168854d781d249d341ce0f178065b2eb5043c2fd4070394f772deb5116aae4be30d87448151d951a52b06ad12118de2d82545857740af574f5d5dd0705631d0ec6f82960451dd420760202f860372e84f0412d79750a4072a1829ef7318e81c081cf822a45edd3c9d609973d80ae23cc6354e476907bc4904317b13a1674530620c9a0ad601e9519619c6d20b45ea64c43054bb1d72fae22654ab9b4d3a9cba3d1d8836d914673e285b31ebaa5c38e95c4c8fb7a2751b81f659e8e4515a479bcc72b004575f4d1a535b28daa1381ecf7145f76d8452559fff10400f55578124e96479255836ee326e2a17fa6a1436b14772adfc1763efc04c4353a6f84b4b1e211e7e49d34d7246a466d2535109234acd401bc1b75fc7a39d5e6d339c688046ae1ce20fa1511fc0a411369eee455829dd6602d5f8025f6e260d29ccc450b3543542ac59d16e59394d61f9ae8f5eabef4876f2bc9a6fc3271a48f1153f53bb2427628fc12a4d9900a25636bb0e25d6cf01076fa75d53969e690ffac57339fea5be45b4a4a95890791619abde8b1b5ae5876b716fb313f1a3d04af3723e57d6e49a4e612e392a97fd08154eee432bfa0c8a44016b6c356c2f615fcc78822bf17cc92d9854b50b5e1f582c7048f1379f35a54a78dfdc5feb83571a889c95445dacea0728bcc706eccd9122a79b3a3e4a971c5032124f52404a781b32fbf3359de3bb00e406cf615e08605122d2120e59b185258e40ba5b1363d42900891e70b31d9b3a9c97e7099b88b625832f6871a0bde23dac66a958b1ae2d4d77b71d327c995517724a1a70886ef94fb0e9222ba31a5d0205b4b3263fab87415bdc6a087c16af5dae13ad1a3871aa1a4bbe960eac8bf04f936f0939cef71b50b05e96185ba9237269a46e4cba0b231c6d38bd72582e504a8b78f54b64c1426fbc33fc6a5d64753add2ad119d039e77125d70b67895d152592d193471931e52cab2e2e6ddb5dce0ce50235333bd9740b3cb21624c3137401bbbb404d445d1b18ec97c61103045e5a40c197586b2c3b5dd9c3574f52607f06c35f2545edeb7269e9b5c20202ba4a7288168a59f1f0a37488898c37e2ae9703e9717634681e243605cc00512dd86f7052e98d457b7f2958a94c563e66786c6ce705864319a3212bab60516835aad83b7891a36edeaee9495383b629259a994a8feafe171e5c5700a01fc5331baa4326a4290d419c41b7314edcc23f7ae6cd67d52d8f2a9c2e8935a1773636d22c3119874181065d7be42991e7e164772cea758b9e4419820cd71a06b15725092ca7422703c10f0aea2e723ab3aa75e69ce51df67ff92d4fa2e33b023efa126274e221ddc68a32949fd8613d19da008a0f6122562c4513adc5be57ae3d880993b5616ded8c867647aaaf0d8eb925566f421363b1fe8e634b1980675c06db30dc97af6f19d71160678b43569ad92a0d099c0a198c1a0704c09870153709473e0a269d6c65a6867742fa0c08c6117c292407801b3cad5e49079a7e56917f8d6cb3c39d497d056f0d7238826f5810e26a8652cf253e1cd256d566d555c866fa50bf9b4b27f2805f1cd5050171ae401a0ef8c2d0446f5e9561020d1f2f40d4564a1b03e51b08b1320dc2832907dfeb9d125d697d3b66b2f60ac640a354289b9b34660a6417ac322b0c38b4f55588390e0928c1a9722a735e07e299b330148d992fd1c07863fe13d67058c7f071c232ab08a86f036a74c3e1550ad3c706d8479123f7d5e24ece0bbb2bee34981ae832223cd744b3380e880d3d524e04753dfa7d372d30b912c2bf9526b3f4276fe88dce71da98011bf6094269c43305309ccad22be6692537402b591d186eb310ac30f74565ca211ca1f2a04924887b2cac6db540a0d1be318528eb0f4d8e4222b754551c7c3cfd72e4f36f4ce4912e5aa72179373e4c305ce8698c76bde4c76600e6ef58d9e1e44381662068bbfc38211bd9876fcf2f1d2f51d7774ac314d50f1fd6d447435cda5e7de8124c2eac9e6ee092b757d024886b4e9234073c4be4583b35305a8dafa2347a179a40466c5252394a74564e5cba0645a8ac6d9750113b46393474f86b1c0ff9979d77338f3a523408c21c46c11e73a0ecf1577c66044e7f4b42371bdd4d3e085bea319e71fd456b677b229b55d320031f9e4cc475e02d4aeea308d4ba04367fc7f22ae8bb736f0efcb4719999e3262158484d0970d50d2de80b3f97ed806e1956481896ac4a1d9967782e67b15b01bc475d6089d6f311905f6b5a04db295051d5d06643a60c58c78c165795b99a20aa43ce0fade8a31f2ec45b093fd36b43dd13f958c17c2935ccab4349c26bff0cf868b41865753652869f5902a92f3660fdedc3551025f31ffaadca10cd4c6130943d864c875b203729ba88561869866f51c15670563898373d076a5a00722164d992ac56e5b84803bcb0dd5050285242cd3b143e8e093311052db956f3a5a436cb8ee0310f1b216b91231c1928762256044f6363a2c083036a47e57221c9e130ddc85f510bff8826cbc8a12150e33903e8c08842d338e62f300d286a10d1412d1167f44ea5bced7070439f3abd38d4740d90b6627a5f7937b1d0484903bd27599683a04598cb47393afc060ea4f76704ae0d1373787b014d5e577870da40830c5ad5aa266bab23159ad92800225acb76d7f0d44fe34ab11efaea0362b9b6191257c36f00302c7f2005dd8f5ef08f8d50e2c18e3b26bc353426dcca0a6cf650551747ee3405cb7e057658a851f43b522f5ce6c105d425571312b7c01656c541250c5433752076aa0b4f4c2e123d417804d8db755a0841082e40902719d1a55a12d15fd91a85a0a8239e9163440725ef012db698678dc4da43e78e1b4a1ae8de3f3a9eb805a34d29529b5d2d127099cc42b93234702155c710a8adbf7689d8715390799667f7324c48e44ebf4f5808ef05d0a8541176a49739094bc665f745075a898fb24e648f4505c1bc363ee3e6342516410605d7931a206ed62a3265f5765533aaa06cac82b12fbbca593817a25c5e873e4d16c904130d4b4b7b18d7de164e1171c374bb0655290c101a50db85285b55b4244201568a0e9be949779b9ac2413ac4881d5d035115b66303147fd9ae6f037450364a62b672827ee41b4e32345c10cad65c96fd45330814de6046f96a2ba4a0650432a7255a31b68f1e3892433b05e9983dec92f04c4215d235229e891946e3721a071eb7557acce8598bbef46e4842f175d902fd2e61123b049c48b64bd5c6212443e1cc3c698933341155c2641fa6703bca75c4310f1950601dd3d345465f963d31dd6703a787d01ae08d91403d494a085aea6f621c245247d4f21509b020017045ed9118b3d74f74189f822d6341a8572bb6770010d5cf22b8eaf906efa4451aacd6f5667e50b01a963d444ce67f5b023f3e6e3f021fff687b007a38b53d5722a1bc3624a6b94400d3f0eb1250e4b41aea97b82cfee81a00efc6540224cc4d38b1e1b77081d9ba774b4bfa1bd91c5c27806f643964b5b33c2e484c138a73542f1d2019332e8fed68c2a0e52a094f987283a841383e2fd2533421a11e49caff3f289fca635455b3019dcbc11e79996177fcbc82533285f93be5f8cc50e4e0e1485ee8923ff85e7e00f34d6a615753b4350a7f592a5ef59602b06c663466b1f84ce3b2da24e108eb3c6ce3ed399a1f3e20a046ec03edb57164a1eee9753509d8038d092a5f8bf46e2930613158d0fe544e29def734564ce804511f042398d92673ec457e4b10088b11f9517f0630972432f551ea05d6adc7049225415aa1e0695579a0415570906a3232317155b21f6435f53f6d6981ed8a04f776761fac699432af44f511a45182029d41b10f3b0f251a909d9113769aa25152b2175b390b4d36ccf38e0734e0a373f2e91e4f4990544843e5b2712d78b06e4b331b40d3ebf161f232111bcf45c5520e0a9217cdb33d700ae7025e0312e714249bb228c087742497284135db7da76f7798a82d55b79e19c0917835d7e64e17106e862dd7f4f3390d56f41bd649414a5c63ce45921d563ce48bcf0209871f1b1a6b925d90e8ed09c383bd01ddb0155d92cd57390e632c3aa8685e65df381f74154bc3359a818604845345524eada44cf2f05a34b31ff71df294e96314b52b3de4f59764b9864a295136cb15e31dcd25157251276cac76256fab6f44ecb1394fa091d87242a4463d0169c052261eb076b6edb9778542d139baa65a363f2f683a9b79f96d35c7980b3a004c5a1d00f135e2c752606ccafd4f74cbaa0afce6827339109337376da020293ae003130f475fdadbf140b52c87679b11656511cdc1723cd2351d549bbe015d5479499071a15f4046863ac04b862dd31fc526678f0314570a071d8fe72c76ed85e609ddbfc92290fca507010a5003e7a7091b576d14091a86ff4596e8dc44713341262111ac304f6358093245d406c66d2e643ac76c53c0d1634ae3492a029a3d352d2819270ab567266d0dba064180d92a2533035d0dba694102e8faf02b903ddc4c021b4144c8f20106174b02747fbc94700b3d1b0c0c695e5d22be816a4823220b2b25d64d90d7f12707b97c75eed0800e6d6a772ac5cece5c98782d13b88fe141b898201d53a7fb5c2dbaf83e7f7c3f719941cc07d919541cefd1066fad06912d7047bf3db0d7986741f75e36e50e2b60aff4cd2e9c766c3ae4faf8640000000061763b70614bee25ce607864fbc9c50cbb966a73838b0d3cbfe97c3f2ce3dd3765c37442934f4a2832179830806cb746b296543a9970933c72395717ec08bb6d31839833c5f2b258ae52e2516d50ca4683c37d34a6f60e34d1a93e54146200739a25953cf525ce0f3a75bb28c6eca877e51e7a24cfafca67c7e7530896834a4e54d14b69401fef32ca4855548a000d248339b83787788031f94140626e4a600b54d7e577576a7b64063a9c28b62a33325e9c3e6de005016a0b7e1506c75a78340ae01b1dfad03f2398c7d342e474eb2508595c3d3bd6611e0314b31779782d65b125c33feba07040612086189553f04d7035445179cd2f35befc225af64b5c321afc4a26abadb320f64118497e8f6f1795d4c45fcd2cc506a9a38e5f2db32f53f8596f25ec91db3f0f3dbc104113bc3bb3fa99261a74e01ca224083799d16c095bc6cf3c8ad8fa3ca579c3065ec570768a116c558af0d1778a12bc250262db21cd6de44d032c375e47d8ef3c68e9946ef79f7147f0829e6f7ce5ee30f5f4044f4ed5a707a049be28c0489b32289d4c675c0eba0bd774de10c0f7c5080fc757281589f73e689d030eb22f424ff2388901b349f66c05d695447087f227b385f8188b09a326f044c34c58a17462f26b353e46d7ec3c1dd7a7365a66cb46b5bcd00fd17e4d03fc487b0c182f1b35fed43a2adc62523d5fa9594faaacc927081b22349bd4fd2b1c450d401cce7354ba87a8627617b320a2a045569f3d0267ece3ff2f79632b6e98ca5e250438652b58a3bc019f6e97614d27dd6880dcab32bba88f474586d81e01e45c2b8df0fa61754b440ae3648b4f2db05758891c1d35b413a22df1694e6e102f4271a99cbc40df796f066903fe702c05944c5472a364bcff31235d535c16f41248755d5c7f1c23111e6511ae4d112464323f7dc20456a8913d265ac8d46632e39635c10ea501f1ed0f553d282d05566dac2f57452e283f38c76aee88fa1dbebcdf62fd39392245fdbd05f3c1b21ba1376a3af171155a83b21164e050c42354dc7f44fa65413e9542a71769725a3651501945eff5155d9b38951a2be1ed6328172824603b8672250e4f1e5906f3448a53d314f7ac9025485f89484cd0d50e79d9c33697675c3a4ea32f1cdc0d250c194885015702195537e3d86651fbb674145ef266319c0163ecbe8668894ba639b811f927a486fb375506eb2a1af71a4d52fa880e84ce7a35426f0b47ddd1bf58f06c002814503c0e2544a7044a56de7666f23a3efadd4f6c65840002cd890767162bc21b03e3bb1b75c4b62cc0828d37a83ce53cfb14775dd6a7e8583368ab363a706c4f481980371232ac50c2b8f4718394775728de6b6ea91f0e719e7eb5522375cf4f7c80236e4358a848752db7132e74a004ca6630299e4848235ee0c9010f93b73a42cb284838269614bbdcf652c30ca1135f780f663705f25669abfd43fcef877626503c0b363c375ccff85575a64c355cb191bc0529c0b12c36d7061c2baf691ab4858416a46be24c7f7c844dbda7652cf55255739a15636bf6a3bd6c4be38a772e8e4f738b7b013135603e3c587f47154e248325f973255ed1517c55c87bb445a42383145201c02a6ef90a6fce492e51af33425143fa6f4984a50c40225f063ef6ef1b1b77e2e8754a62f84da5211d40cb35f53d19485553348aae37f1770e72b3173f6041a40e34bd6f7365e687bd36ba75f53f62631363ee335271d343e7751e91385f496a781cdec15a3644cf813a5bbc614e1a5e871d9978824c01ee0d6d8403be1cd7e21667cdb2d071e9e6d83e1661b3099e1a8c0877f52c32c3ecbb206c05f350a27b6a42ee6ec952dbda0930ca3dec3034ad574be73de248ddb3c23bba781d0f4853e91eabe68e02b49ad0519fd48f4b6e6b5700f13865117fb83f47b4d8f54a0ff618495a8c5b2e88d0ee6a213af91bc94fea073b9d091071aab25a815c9e24b07ff746bf933d6d58b7db4abea7ac77030fa60fcf76fd757197d34972826041270e735be7a1064f16ec540bf1419e6d6ded044b9ffa2161c525050e79d6d7424e0f5d30987c637077b54226ec092652c6310047de0747494b783630e9cd00687af2015dc692b91c5854e06860bdc85cb9060240724e1b553680a50e20bd3732b9c1662a6fc532692dc7821dc36d5b2b3a3990115a65cc48fb8e693df8cda1560a353c3f68e84071fa528b03c50271539eb1cf3793dae74dc52f414e4a33b0089ebde73f6ae1f6047e7326370d22655c82d6b35965ce906eddc5564f74942e3c75369109ddab607070e90069fd79fe49fd7ad24bf5bf4c2331275c3bd3c4723eb3d9350bd762555972f38f10a0dcd41a1143420353cfbe1e5d1692054da3626aac28454b3564962353ba3d763c927f5b2a0ba90f9a4aa617c871f425b998b36de1cd4e34aa56ab3281c9ac5d9e83c161c95fca532252eb0850b452266e79ec0cc4ed3720577aa938220036466138c21ab04edd13a0010d271765114464e9b62b3b4ded4c58af6b22dce0f229b4ea3e062af446493c2a54713ae0c56a31d5be0e693165649c3ccc75d5d9a3106687524951741300843036564036e14d49c122313a897866f04cf445cd381f5d631ba7457a99902b9146d220492b6074b1a52c40e7e1a74c50130b617cd5452511d71618e5abb814a1d68d0ae6c2676d2979e704b2b46b5d66c9856a21b1fe3c617d01687cb44167f84037260a166c6e1fc5ad46396cb61a1aff6173304279770d4d900ff9a1c8197221546310c8cc676f90b16fa6144d273dd19c4a26c03d4d88f266740a8aa6772f94e23fa9bb78742d9a953ba1cc8f567dbc71583684dd2b1a1216048fbfb25e179a56534d63e839f5eb7916e4be652c07c5580d5707200d4f98f3337e4a9911a812a6734292dd612193230fe758366ca4674a74caa757148ba0ea6e1b9e737357c3716ee0e8822928608c5dd2bfe0667f9e803a98dc60305b7f2f67261b42353860914b8e62081ea5faa170b0dcc527be9457710a09b1761639d213868dd16b118f4005b0b9b02c3d80e92c3cb6f03d4cb2b12b9afb653657f2461480d9cd51c92d24470bb6474ca90eb630b6d91e74d420ba48ab480c4646d9e31cfbaff92a7587844779ae42444240ed53ea1a2670a7fcb20b8b57a04bd2afe3018246ce4b8491326aa1176162f4db9e03ad49e421ecde9c70e09ab317b11d3575418fef15180eac1139fe436dce9d244fbfd1565d072332197b157b66e960da00c6d6ea3f4951c25d05d16f4da9775e07acdbd24de306c402d06a267560e41f715b5e464202d00b3c0e2ba34561d23d051330d2290dc787311db499678db0710fb17619458ecdab416899d93e0d3dd632774d0950a7387721a47ee3380f94fc3fc6a3172d78101a5bf1eb214c27a7356693c3f0319d78723332724e160134a70633b517104772e640cba775706da2f166ef62d04598b28b5a011b5a59228ef31d7fcdf25439e493101ef76861d5f03d71458b7b58d5063f1630cdcd0778d16d60c886ad6506c50d56c5f4732d29fe514493d88116339c64772e688114522f4133369b7b0e800d53551840924cbc09f62d9a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54244f838527144f0c531a93d6496d3d3774de80f3728b4595085821291a795d4764da5e743a75a42c1d875711498ed2d1177a88d673389eeb3af0fa8576582cd21b1cdfbe22baba6a707908b04e4826df4c64319c32137a683f2c47225743040150c837ba5d6cf8b46741360d3265145d30c0a23742f347ab136c42c659d3d96e17d99be65f4e0a0e26930ca90291b0493fd4ca5c3336854755f4c5f61487b38a097736335c79a87e643f13d66b101d93508ff8ec06f587ab7418f51d188e7f3659292c82542c583874da996066f401a571e794a70509e2374c10d2ed1377f2ba082e58754a6c8c16022b484b3e36a2ca27fd393e11f59055771604a47645d46d25c6b20b737ba29c74cc60421291adda41a65782047aac6676c700fa4b1e2c5f0e3d05db43669c2119ff0ded51e6c9c14ea2c15866e7d4523ca5a29848189d820b1511655f1f260d5368508b5526b5390e972b8a690134e60ac8a0f93202ff5c0d4676601ba3151344a26b4665da91d3746d26755f4f614c5f31a3081682340512f542ec48df103c23959b6943b366ff0fb8df1f1d1ed53d4cd8f3a42c04819d153379a4503f35ff4f279d4955c04099180b65ae352e14e229953c8c1aa014b272e2b4b34886d5326c43e28f4abe75190180c4d958a734367558353261404631019bb8ef0050bb0c663c03d059c8e6482e6e2657713a0efd34f5611120aaa8a81eecb3485f76be191966e3ed5919e72b2ebb8a0c5e974114122ccac20530125a3738d2922613ddc0727a428707fafe3f5e2c47321e8628e1541c739104b7a4f750807e340698d1e008c9255627475a8e0c9b516e1791ae2d6220c7491d2cd5fe19a131db2d0885e55254814e25adde3715ff1836504f335a4f69af260d96748940abb8405e4cd25532d5f9a7721ef8bf27499705161d1ee00d7401023e0e2df928a5534649921fd056f62006277f9a2f0f4f9e0f35e549f413cee60c3811491966890b1a2b78021e12bb90dd3d8d31015361da294f915b9251009e320dd176294137b2af0b94ce125d17927f4f13f14001b0b2da58aabf9b0c3994166a9bcea0341574af3eb0872e3ad08bcd620cd6ca5fb5870533b93dd900d1e8b9431fed3f27e9ba5563f204ee253a8ec908aca41f4e9970700baf481568a60e6270087db2071075fa5d5603b975a49c8650bfca194adf0e6b4705c42839b95f7c1beaa6d277a426020f073a1756bf0d5274f698840142a9221857f506643d0d670c25acce2356f67d76cc62570ea7db1727d4b9c111a13a5c5dc77d400dba1ed521cf9f916f2c017532989b770ee00d605ce9720f2a1836613476bfad0d83098f4be01d4a0ec3365d6fdddc7e4fa57b9373e25105041e71f847d030f667ec191231c73bbb59f5a71935e5ef54584d96840e263e3a76938bda6a6cc3b40fd049a03a650f6c26f8756d61396d08280ed10a5242001252f094785e37709410bd19ab61a881ba6b0aa770307e23be12e3f583210baa7d17289a794209ff011f2e9c9e5e5cb5e117e656673d356784415bfacc36593aa93b462fd13fc4197753924fb5776648251aab731c4539aff327f9c0ad27de84193b5dba5671bd242902fe21ed395fe07343f6136e28cdef772ce7ebb4470e102169cbc15b2c21a11309f8945c1ec9652764917a863ed512a10bc5df23611abac72e6bd0c046af153c385f37e8015fe39963103be260181a13184d644f2fbfdf846447b4d97479393b42034ce22be916fe7211bd125ecc6263679d291c207f5ab30bd694862096f83b445fbebd41b4b40a0bb9c7040a6659d719365db65e47a7352892e5fe3f5a03752a88c9aa762a25ea5d6036bc0c8edd7e033ed13a147c6978425e43e01aa0631e6cedb15e5827a596094962f60ebcd0be4216e9511e0b088d6b88aa7a6b3a91d60e55fa670f9348f37465d2e65fe0da9262734a01690000000045f61661aa704a052eb87a5045e3d62362ef73669297165f7fc0f37111a953366bfac3222cc76758f564284e35fc5409e43040007cd921075f1f9551f5959667b54d905bdbec945660973e4bbe7e39126a6b903f84024c43b62aa0479540eb1f26cf8d6276af960ade79ef04fb4aff6f31af686c65df14588c7e945a81c890298f26330938091a6780bf1f678f0da43c4f9b6c665c3f436ed9c06561366dc403f955873033c93a34d8eee547582e7613e617056ee5bf7618218139715e1b9a41544fd91c29a00620f4960c7145ff3f3f7cf2d7524e27e459d32ed8173658335c01717303789cd2082f9bee08c0243f74b734530c46504b44d1a4e24fcce11839e5215c6c6321af4a5d541c42fe272b22fb56ab303c03ef60d2dbad0f773a6367329b9e19770feb65b954f633a54c7d39adc1a63ebacae51daba0ef00ddb2f43e617e0c54b88ddd6423006d1fd2e2123fe351d01a05b8dd119e8946535ee69f5877a9515aa03f6252a9a3eb401f892841bbc6ca1773328665798bab099b2d16385ec0922b8dac04776cba300a3f69bb1c8f2daa658dbefd72662a05581286ef2c28a2c96a21a64d2433cdff16789ee91477d9b8571a23d6082c61641c71312b1f01fc0d6f2603de17cd74cc1338716a036c6c696397eb6642261fd4374c488e0dd84abc582332df1cb0a1256f0afd004ee86f973511d5cb5ae4618d6ea3f4635377fc9634d9dec430d765c937daeed2294021081dfe3d5c4db6716105872f963cfeb311231046ac0026dd4d590b3b6d30f196e31d4e91de674ff235417789e31dbd57135d66dde941c01632075ca03a6415298e19a4053205c4de8e6ad913794161e5004fda265d0a44de540880429f1cffcddb57cc2f0c06a14ae6371b5f7c75b47eb80865c12a71bfb18f46cd1ed1453a797773ee697061e248a65a5a3c7851c366e400e0842c3e3336935c5ad93119920e477245e9eb45e8dde97719bb715cca0c990257dd33408e6f585da28adc47c58bee7678a0de064916ff0437ee1245b0f4e73c609f1912afb23122d323ed51b04fa973a7c96c1e378a2e409bdcd1395942080b6a41dd314700a26136ad2e057444dd2aa2d8d958bf72255dd5936b2618a56d03e10d26643441e604a9a3f3086c9c4677db57fb7515c0fe4d5cd3aa4116a33668df70bc6f43da3851ed6022520855a23a3424ef62aa9e843d87d0343630612f2c1d3de21610b58d4ae1b978737a3808240eaaf919f15c74686f5ee23de6b5715ebe72b253b7803b368d068945b3ec4f5519c078162a7f016de89e744484c96568dcaf731bd98b2419b3aa660fccd1b71abdb31e134f763b0604e20c2b44cd5133de1e2f5bef5f953cb2a61e261ad6a26d8ac15477c9855d4bba80a5198a90c24979309b7109111c5db9e2a0383db12151f4a7ad5d81d6326ec35e7610ac5c3d512d28a91857ed5a446b18fa5f665c12241366f41a41cbbc1d1cf8fa1738f3ef5a83da5d3ff7280f212d754859c8cabe59caa2734f21f220568ccc4365786bde28bb6933726c07a80af88cbd17d51d3512a3be786ff073cb112469b65ef844c94253bf382e49c7553899036a1b97436b5aa9f7550bc947fa290ffe050937d47247843231515479271af2d54f477958e71733647e5dde1e544d507aa1762c2fb23202b4a129c1b414506a72c30901fd373046d59e0a8c060c3d9d90946abe5f6205bdaeb512473d90187a682d50db79ed4e196e4440d91c4d3f50ae1429ae8bcb469ef94d5b560646682b61144844d68073edc8441a9dafa516c8b8e34c78391238ac17312542a87e63a971ae55be818b600d64b155bcd943759cffda39609c94164d68c7236e16c563172fbb2d48ba602bcfe7922de8383a48d50d9116774f5a20247e31743b7283058186f8428a34f8651748281d6fb0862ad5f7e86b8d10710d09c35622c2a17740916d474350f5b34d44d3436c4f9ed02fa6ee7c2d5f0130591ab453479d22f4114d9c7d69b6ffb23463d32d09ed807e259ee8ac5e25b4062b1c80f40d462d5e75ac4e9c6467acd01347cb5d3d7462e4404709942b21051b554a28c052d9dede440ce2113dcd9da047a897877302d53760d400c8273b8841247e33323dbeeb950b2be909240d274c2a551f8f0ecfb3f9494db7df21bdead557d5d65007a17eb0407ffe676d9bd43e0e28bd7756baff3b0a6ad8b3618cb0136980c6ea4fba58fb5eeaf34277cae4de756375c665724a9e6a311d804b4576de1a6fa5210839920249a51d3b5949d3e45ab1ff7035e604514558b5f8095844cc495f085a3897e25a3ac8d80a45a616e301440c820717fa5d3098af0d48dea06c25da77835cd201202a0f137a0c3f1a686673351920ae23e03049df693da9aaad5969249926e4096c1b3495d2380ac2b130dfdcad0e2ddd1d5c66196c19a161716d53dd786f5ddaec2269164b728b494b0db12fe33141d7c50862fd7e5e03902527862eb3492bf3245236b5d00b17848171e2c4d83252465345b142892a09370e1398ef143988f59863f8f1c3347a95a3292f4ab23eee8094177c9fc51e6475f218111dc008809d3c2f0de3ab407e97de1beae8d54b6082ee229e18cb771640e627f62900209652a504f51f9824604c72765226933477e8110f46e92910559c745efe3dea6cebea1e45fda27864b577cd561337961846b1a93cba4c36328e52e20ee098715d71f6e64f3204c21e27b34a368bb85c480d0f535b1ba7fa47359a004cf39b4d5f386a613650a6a4671b05303ff63e8a69c330ef60604b310cc84cd06ae12602244ed4782f7927156e2080f70cdd04424972aa655230b9a61b55cec646ea808a1a31ff845738998c71c124654c365cfe51305d115d8cbc4632ad14165a2042a0648952af563b99390838110636c1a86c5d908c0e37a31acf1c10fdbb5831d0463c8b7dd964f280195ce546f64ab031b42fc6b70c328c72a15080b1672ab3ddf7703c9db8214793975b735fc10a3ad78f7216a89a71fac0bb357fe60a41c0f427325102d653a277f409f4a51419239d273f814ef3772001374c312e156626962d261204285c8a9b5e545c15360dbbea12582f5bb82045e8bf1b4439d314bf7f3d2d9ef19b19a7410c62a6763543b7b2e30064329a115b15f5150b1fe33eab22d56d32ab521ca889534dac39ff049ee0ba2147573e5a75f36810e81ed03c80b93a105d5220378582f306472afc536c457d038b2687528fe2136f85cfce1c9dfdce410b5fde6bb4859b66afb5b0756bf076245d60825fe4c26228ed8ad741f38948070cbb5a4eb6599d34f3580725a9af14042edc2e0c562d4d76609180261263bb2b4577e006a4a24876fa0cc50030e3c61075e2414c770a3177d6e3840ff796676f914a4816443f8b62941079481d93bf2947c01f071014b7106deefa53b1d2ca28190eed088e61946c511b82449d99c76bbfce1e393bd6f050b91a665866bd4051f1430843be10ce43abb17714b53ec86da6576a27c9c22c169f0f4046398a66611069b605e5c503438422c6731cc69631f51dc2350cd625230c17101ebf0d4d2d7488d3698dec2f278bec1271fbaa652907627c05b3702e40725ac238df2b860b77446344faad90367eab2c03cf867c42b94c960c162a2a5efd9d43359b45d7548dbdd839cc3b6546e6e80a3dd990b5304078e52cbd749f03c5f618565b9617244b6a6349bc076955202da56c7c6a984e543c924d081e326f9ea609579b9a6c14437a552c74de8c2039f82d5e615d2c4651970c4085d13b3c08c55051694eaa725131066fa8b98f718ab9d73af615050c9f939051e6bb2d77d6f82050b9b242415a819039ae34d2443912e901f232f035bab95a3118ed8313afb6fe096cb07d16fd61e173b5b0112ee1087909c95be75ea962d40ac8e8a1436839c44e5b7f321f3715f76826a86b4aed4a9e5ee135f811c6e01d1ad96ea626a8934d3e3d4fbb4b508fcc0e39bef003c3e7014697f9c8542b30305936f6480ee3625911a7c3435c2b9c500f703e277257f61708e8ab3e21488055712a235b1aeba465507f8e0d0430ae0b60069eb40a9dfc4f2b58866e18ad89ca6a39711c52242a5b2039f93819cadc0d430e16df3f397b2f1ca38ded1e5a78292e5b18462a0e79e220b730af1971f022725f6add579faf7720d825b91d4e46356ea5d27430e9205a5f57febd64dfe4b0743dab0071422dc37465d5666297aedd64649f5e4f7210e24bac0ed16d85489546c39b7409105fab6e8c57b708e0f69e547725b73d2981ff491917ed21b7aea6358c145731124fa83fa0ab6b56cd5b9309d18244489789124b92f33648d94cbf5db961c311498186168af2e4549cf8646f8b597b03fe7f8c49a32cf659170f256d92314771d50b75180f4c7602f12c8d6f22a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d0fc8ef0c4d19d60c16b4ed0a59ff2d1c1f263d3a69d791429ed0b02e6cf4231a0d78134547dfde6a5d0a67671a539c0673f7ce18cb5d0a246277613150ce351e60e8eb17806fb530b860de339f35161336d3614e15973c16bc146e219316bb05f2b5293b5812e65558a4302a0d85a3393f9fb74e2120843819822060516e405bdd1ede68c8791d10a4474d3ab545fc69bb45e30306ef7a39ba46bd34faf8ec313c0ec005fd36e00087427274978c3f07c1bfef706c3ef42821aad56dedf8c55e6335ae05fa4b79458e4739702215ec28c934d165e0e3f369410fe6420e35785e1ee0545db687e518a87e1d749c14203fb1ce0b2f92cbc472447d0a225c6074533840585605942349cf9d2f092e2da16ea58e0b4259ef660b83e8ac43d7b5a641bf7aba45dd75c037d8a53a6d5e804d3d42b96a36cacb446ddaf4e141223057588dffa225f7889348c1a06825617b5c25762282687098520cec0a577336ba836c56392a3220f4b1585de8f749dc87704a32b95a75d982b26c47930307cf0a88208155d45b122d995c566a61095a70b41ff296722889b17f11e61b765909ea6708b0354b40b280fc5b86d3666a20a80257aea2d304d4f344248eb8b50dc382723e20b161056431b729c2a6864894e7e52154a1d86b1aca0d1a9525213aae1cfc2738571048c35e4b3fab73361516a27340d7180a2554dd6c5bf5526a51db61ed3770d8572278d23f10f06aa048038bf41dfb69b53047ee3a31c248130e08413c552bb464031ba2176b919ef872fdae5d421377f2503b5af45b212a672872b4ad73f51bef5266bfcc6649cb186096d0720208409812c898aa2163093c6f8aad981320c067641852896eb6728d5a97493266aa32a5111a90e94ad604976a72d6a860fcb2e50086efbc03a65a30146af9231e3e1fd731b28ddb1a66841d6807a1f36a57031957f850c638f91e6572342f576f660423071c5d651d3c2db21e79165439fc49ff3ef099533b216a7a07625cd561d38b8076e1aa2b6d63171c2709360c1705d3cd49abd66c556698721e0455e473ffed617738d6a01f6b10de3e741ea96f643d4565d0adb3632f88192792f50e5282dbeb29a1b73c69937d5c146eb4e1694ad6153b8a8917347e3731248e05ab663873895bc62ec41b0f69c20c1feaa112467fb82101779f68caebf63c6b91081418541332df722866e0c024207aab785c2de980454223b92ce7f75f22b1f79e684b926a3ad91ae84afd7bb865aca5e74e9449ab430ca16239157bef7000000000d488fd5d7b54a6042d260b71f91718398272445bb0d0b71803585365fe92e3579f70df0700c166122365ae69bc34a9564eee6c232fce630b77ed832ecb3ee10c490b7b22ab48c535d5f54a49539d0b19c86365567adb5021f6c1c917f3d5d729291ce4740f204f21f7d18d6ef6fd36225310bc06fd2db464f8c8b254efec396621b0695efa89f0132214b35a683dff3676c8de2e5490b225d5d394255587371baea0b76fd500db56ac37044ddc22980084ebf171dd87a80ca14c203d05cce826aea3ca619af7ff4cba603315c727a15167b8a021756691097d0c24349c139a6bbe41d6657074810b04bd5147d7c6c21042f0f7413237f65e3242fa1aa125011d7aba0f67c076bd680a27c962c77405724779086f1fc79362407f513600dc5705147f8059d5fe4708405563463191071734b08e3f0eb942454aa61904e399e6434a5bba6769d20b76689f0c479c6bad4be8f80a67dd4a0206a7a4ef4e150097496a6238558d86eb09e2ef804e5ed2dc6c8109153cad66f31f99eb222faae0fe34f8d8b159d9297730519bfb179eb150326e95404f7336c22b8e7e7932ab7c4e29237bc1631b0f046a379c8f0ff70eee2ca5ad3e4ce1726659d35e6e46e28bb73c9df53357e734f74c08ab14282342f55f0ce87c1ab80fca4fa39eb825551c36770887d340ea88aa12a48a9f346a9e0a208708dd28a804063da66390050df6c350da20bb1e248b926091fc205a9b410b1c4a65897149ebd31db465880fe27df16a8cfb7e039007882df98157243caec72182bb54277edab829e1995807a731e46cf9fe6667da27c23a37401654b823990962b27d3c0fa81f419687a8066f116a03d893f925028dc74360f1070fdaa0743719c6d50a0d7f473a0a03514ec7ef472ddefb2a044291eb4ca5a74046105a241ac7cabc41325d6870cbba9c2e7fc5a421a0a3076a34d0f024f027345caea2022d293c4a2d68f71f768e1d75331924e1348df2f629a8d94c75acf6692ca9a220173dfccc4fbfbcee6ced6ba32ea3959e42d1a1006bbbfb087033a8cd039188d40ad088c120f2abe66029bba447f1a8dc4c0d21f25e86e030491df9e3474cfc89623dd8a352082d4f604e39f21b0b9afd14f8cbd262c1c20c47fae4165fd211df69130b6d5cf930f90d5c023c3e1a99502e2a38d32650c15831f4bcae56d26af1648c1f4b3729d3600cb48f173e1093273dcc928132864a7e37237462650d216d5d0b8e1071646ad52df3d91f6d496e7f638484be17a894b753644b5f0e82939d35cfee414a5998e718666b531f1be20e0e198bf45498486223d7ec0339546e7a6436c25507e4e5562fbf8e792c0d8d474f702279464c179509e971f648794ba4348203c830df6fbe1af2df8251b1562d3073b4de249b30d25d9cf2e5459224cc5c779fe3263af1963d83016d67906cf8249c6fd10dcea7106878942374f4e331550d061f13522cc6375943386225ee6648e312c222c43bbe737313830ff91208388d522d6062b5e822e4aeeb44d7a4b6774895282a85369b48d1ea1e1b3f56b13e9340180f1aec006ba80ea35a3c03170cc1dccf1aee25b05fd59b4c183f3a0f6c4a50e02eccadb255a97dbb3fc463c21344903477571af5095811295e45216418bf95e40a1e1e8f6a84d3e52bd0445c2ce350ab43826ab06a0ac98e6a96b0425a104b2411303d872b442d6e450ae6f156be24d032083bc8288a18ba01d53a1d51389c1e66170a7b029b23f35a831cfd775b985c45173ace315989404f72f0706108c9c16a450ab3463c4870109a3c7e6808e4216fa418c259ffc95f08638e2c2832587e61563b3d68f4dc8761449bf7572920d85f39c1706a05783629c5d5104cecbe9c6f9ead1b63bb85ea71d176bb6dbebbd61a2973986af73474602436513d28e4ca2a6b9fa3661d5fca6dbea1f92a67e90e588b4cb24fa9649523813e1f44b9d82a1c55fd681cf1d44c1f9ec9a12e1f1c15373f10f33bc9dcb1544c5e8951720e015920efb414ad76a2521d8b283f10dc9668a613a3050a9d85742f40e132e15c8c2407e8521ec70a8243af1b29337cae5b702a7e6463b4e77c4d220c9864173fcf2b1709c713d540b4521e424b014b830a673a5a8f49a848c8524d99de2d163571518573ba183e093337a9aa0226c481f33514004a774d2b485d98854968dc73eb6842e0df212327322ffdd2ee0d8ecab758a3fafd13678dcb3a9054ce545bbd5d63aa5a0f0e1a6a796f43a47053017d0d2be2dea81f11f4b64acb117068e2651422c657a21aabc2844723a2c45ab5ba451e8d8a572fc2489e29d42b9073a8a7f310d225f010759333124d0c304c11f42c2f9102cf1adbdfd65e955ac7287ef6f20043c17c5124987a6660beaf2f82bc1e1bfeee2a04d4921d041bb6f7025906604e3547c25c4fd081261aab9732be223176a8dd96277fd1ab0eda133f5ea92ecc14c57c2d5d69a768308a8c436496cdba54df475a39fbb0af4bb1ce276ef539e16315342c6700c4f827cd832a3fb94a4b5700b7525e4325ca76539ff0317123b45418031024851ecc1e8d22296c6e6e653503afda59adddef4d44f9826006c89127b2e4fa4745b58f2330d0460ffc573c2469707c3bf05be234c6d07e52ca5954659dec0206a9c27943fadff7335383f070e5ff0f5c18d22f210cc291470678780abd3745337f6eb24919a6a522c012bb3247b85819ab257135cd6cab2e9a0ccc64860c9f70bded4e42ca65134bcede4b13d57f2b6f26117a0837276955c0c4760947255809b8a6eb70cd5cea2c3c841271a611b41e29c4a174e097e51282bf38691004b65a391cc365164ed165dbc0fa670f4d34551fb5b949b19bd25d0db16b09515da466b3bc555e93caf03792946653786aa3508b0eca15afb221729de9114ae04cfe6aa1771657bcc9251794a1c453541cd843902f821f979d313db857f07225445550afbca2390d27a92e9d243068eeedf7694f04e4395b384e72e996c345ed30211a925a304c06449c5049a9c0035d280420d05bff4be0a2ca7019a23e4db0b3d0291dd993615585f551d7bacb1ff81d7d49233b4a1b7c87a259e171b55b40d803203a66766bb028a767870f6054349bf00e1f0a5062fa025e15c64a7b4fc43eed3db0c2cc38b1c0da160ed2c676fd89d0258243ea5a54cacb4418ec83205be6144af2516a0d65920a4bfb155233bf31566521ba8c5b65ff563fc332135c7579f26685e38b5d471c225f471fd365cc84530a68ac431d939c6f5b44c291638b3d4847519868099cb9395bb9b170062f6ff623f76947006cee8f6e97a3fd29aae3db399d557717f56d464889619b066d8d6e6602f47d112f4e2474554abe0e5786fe0160940e535d6cd32a01e45006f7bc69177a116a2b6e41426286e2bd69667e9d66a2cde75cb10c3c125bbad22c6591a05d73c3e353902e20488f78de1c8595b36c829a0e30e5c3942ec7ad10477b5dc137d5ccf03e0cdf0e71b9039a396add3c4b9b9749346c790d00a05aaa407d862a50c4ddfe03bd381372d27ea24a5907b44207642f025f550f76d54a0c682c14464e71f2d7278a2ac573c1ee2028266a4f519422c31dff585163a4045e22a09d0e5e4cccb45125040a2263298935d937125dab19f565aba96c3262cc1b7417b5115eff1c4f2a48b13c22c67c6e3db304b801b4a0b258c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc4425ff236d0966134813543f59cca96f3c4d5ab543dc39e734a19afb52e958fb407a802b2ab823aa20b3445540c0aed646fbe7704ec9d5a8135d217033824a7e03b581ba6e351b3366a275f359a9081e3c1371536d6f850e74556f4164d294e573f971126ed4a8695b23806d551f0ea52e6c8d455bc29d5437fa770e6d1f086702c9d7f077f8c2166ac2e1250a19ddc042872bb833158f455d0d91651dba220a405e974b54c7e8e5107840550ee07abe49d0a3246981b41c41979a841c87bfa109290805350c49d11ced289e1221d21401d60928403427c919c5ad132906a4d4261d561105fa7b120476c3695b8574e16a753d524015f2475c857cc569e47b2f4fc84430101cc5054c090e7d6f3934765e5cd21232e8aab1557a75cc426005500581ba576618180205d131c75c69a18724660f1c39af236c16cc0daa249cd9f66092fa3b4b1909b9272a187738b71caf3b6c64ca458181fa0c30a2455bb9ecf81b2f62cf4a91955d1b29e64769f5de0c091eaeb97281253a31695c7f6c1c93d158d48398247513956c74d82152fd322e40c1183c5cb1e143479f958877fce98a238b597b03fe7f8c49a32cf659170f256d92314771d50b75180f4c7602f12c8d6f22a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d3db3d354ffe72624967737544edb210653597539cae44a33aa21ce5d8c1b2e560401b521f9c5d0269050a35f30ac222ad768c865f0b75e264e4e2f3225e0b80451e07f56e1c68161bb4d7000a3043d58b2e2e81129512951c76c041a7dad4604e6c8fe10bd60407226f4a014a32fc272e3927e6cd296e9220616bf56d7b6143236c45b478cb3ea442c371b03df934e6408f38570df57604a158d8540a18fa71d7e3bb006edb6e96e31c90565c4b9606d1776c43d2ffa821737e9e92aee2acd0a2f240a1ce0539d4a946dc4601136bd67c288974c53cd190f598e913e8bd9d953e2a94f165047793db4b2bf57e60d676ab1885c52964f6a0cf9d66850b0c3c3319ea4ba77fe91603128fd157259b3803bb0eeef3da403075e9430235ef0401170ee86b21b1994836695e5c82948197c4b1884f770b037475353e6291741a28d1d195a2826c143101ed3249c3a1afd8d22f670e770b49e10610ec40f715854483648b67930b140b34747b5a80df3c70748886882495752a44c0673ea72a8b84771a5e53c28ead00c3dec9ac01b1749b35412ce8313b76a20560739d612de147937d2f8240fe6478b4c991c2d2896f0496b94145945c5ba3d36a32f4e3e1602196e2a42291d9ac04d5bdd35fd49a892ea69e916624203907f40675d1c75aa2b2c08744889599ed6e73400a17e3bf5fa6750b196c63c2c8a2b1f78032c261ef87e474b843d462c22a93048f78c5cd501af0ba72e1a04073f3565cc03db3d54987e35980e9b6ff8c9cc65a2d7ad728ee0e22ca7fb6415c96b33727c40804c6f1e84763d87a80cdaaa040ff82f9e1247a2c247f0791d727848c35526e79811f307e15a383814663d397f34247bdd2b6368245dd57b4f74bdb8423673501b14bc2f5030bbff8f48e9885162cced904e0d7655145f0208774f20513a2d6a6e5dd0ac792bb5cc7120f1e9a1524a68276f1a71852df543a80c17385a156e6d5b4fb680f1377bae71192956136f60f9c146216147629e20cb47202de75cc473da06ca9b3170e4739f1a2b4d8647bed0d926d181e17108f55717ab5b9a0881907e35118c1c0d13f22c451c27245da0dbbd591e4f690688710a347a65b35b7916d262c9c60041645ecb27117b394a579d616e725dcf3530a18b0f2763b42ab426c0004b794a312f332041ff914473fc1c100df0dbc96ee10be807c17a2b211b730c01c9d6060072ad5d596159cc5cb25d6f51f811c54fec36ee718c76a156d7f17c32b60835640e97e031a93ff4724cca274400000000db8c3552eaedd5238cb03b03bb0a6e3b979f3c365855cc48353e7508a13b1031b65b5674753b575df11a9a27d5f58a143396fc3c2400891523b5c00d3fb1ee02922d544ace356366f2e40354d770195198b6ec42018e3f5ce8d0023c28ec7a6a598b2c0a6abd786281f0b54cfd6e0e724019da5607cbc4009a262750ec15145888242a6071b5696ec39db6518dc8202e362aac498ce8a96ab5a8c626f2ad544690c80e46b43ca545e64f2c18945b1a27d478604879759a5e281437358da6524cbc62fa7672c0136e60b4ea244ad6de5033a600338a40bb114e17a741e017bd03791ab92f28f8e03b17dc9f0957558d10a84f2f6592b3f9367f4884307304a85e0ddc6237d023d463be4dae146a05fb420ccff821468b820a5505a306c2cc2326a74722162eacb21fab833f2318469575d1157e2dce207f687b36ea521b6e636200875328f029b9415592be0534120a2e49841916c5a014445b124e683ccd2d2ce25c522c62929e281a3dbb1f4890e2474fa2dd11e75af3135a5cfd03ea35a7776b3190294205bf51c2cf8b2e93d18d4ba4f53d175ae8fd12590eb2396686bb3f3031aa4be6402522855b050c75a48101a1a8e14e12f3070fe1dd7305d29d01684e4a45147c941072bf5c8032be077b5fca2d3015b044922caaa83013e75de90e24e6972334479f53f6f9df540b8141688e8a48525fd45123b6e6d81d5ec3c63c21f82121d040b015d3d9052b2d80204f09819c1ce73d8715f337564db8617734a42eda533f1e4a68c18ab86955a7fe318ddeb40806ca1514f50a4666789403115a71081bb98a3d23982ba2483575d80a00a0d95391a18565516c191c894f2e5480a25c16fa891a40a65e17234f04a044a86d2f76770dd046a113b67230b32c5a3fee7b284e5977646d91e24812379121dfd56e275365fa6ece317969f07b2e3fb60adb6c94fcd94d46bc594a0b9ee34d8b384e778d26c84cc5645456c63b8539c58274537e51ac65d9beae29449ce15444bfdc6167dc5f041b23c15c3dde034d433767014b15d465aa80456e45e2c9333cbb6c54accbf06843d5f542ca33065c45768a669c10b81e0e0bb775403dd13e6618f312ffe3da6ff82cfe54618df8209c11cd06a13bb736210b76748aa05602b5295160408c531bc5358248a377545684f7fc2df1f9c305e0556b4c413a29385ca8e33ae47f8523f64ba939494a5a329c99831ede6d4764a826213c58604023ef6c384802110101531efc20d875e521484c49488f7c66535da015693676e55ec40df5259a94612472e55e73524b8850aaa1ad405d6d3e322dce5b5826cbba2e08c1cc3db252d52d5221f2095193e4040f0fbc3fc22edf336c93e567ca840905915a3f06178f240a1b40f61df4c82c6eb413105fbaa70d3ebd488b227c6da37277fb6e72eed32c08b7e2751553ef851794532c306e30bb264dbd324c02a90e0f2e4b86040306ef52292e1e7228652e480ffe2d11b7d0b60efa007d013aab834920d24b4819e4143c6a1cf90b876fc0284581bf0b3aaf784ff1e85b30587c2062bd54d26ad1bc21615bf1014dfa81b94ef0935245c3688f4f8026a4403fe03646102af81cf41d650bc48f5f4c0718bf40ef29d1103c22ed0cb729ea22f835e25523174422c6150e19edf0dd59dc1a150ebecc5167e6482845e47e9d45e9448f69ba42d442e764893e1dac33219f8caf36faf4b86b82f1ca6a2d5c78525b63e2118f829d77ebe0374e0d95f1040257da7095d41748684b7e5b2ae0c26416a0f325388bfc1777ee165a385ffe29e956e75304ebfd34e226f860dccb8a1b17401b40d4995c17a0c604601adfbd024fad136e89635f51c92c2967da24755c3155f15799a0b050269b3940e14e556771d0733eae93127775d7ea7052bc785059b68e0e95962458530574220ba51d0fdbcf983f541dc6435df91a5ce945a14fc373ed0f981c59664b03db5f9671cf266d7bc74f6bb884162bff4448e7376b5a45813d1651379972e8d1130cc6e63168c6d75701b0c726118eb0ff757bb03549763eb73f279c5564baf722479d214a5b9e6e764fa9ad3663a66ad9657d2791106d95073a887ef14985151c15ac91a01aecf80d1c384b735962389147760f8561873cc65a98af681e66180d737e14ba174117c320f3e01f0459a1f205cee22418cbf8d736ec20975a26162f13a54ffb7541693e4b25341a272832751fe8fb9936de655d175f48240fa4ba2b50b864256de7ffcf2ba7c60e576b50035c627ecf1b37d2f06ed5973a64dcd68c6a85d50e52915a9c42b9c50424a505694f62ef951974cebe3b0f7bf51062a2132ac3eb7a0deb56d47799791b164555bf6a5ce31c112534de3636611f04482892618037d407df8a5750d115f56a123f45375b2b482b789dd63684df72700b9aa11121f3f921e27a40715f2720230620ee2303287762f999f044f8a3d95db71e4c477500ad67dd85db743bd24c65e52f3f49e239110e0732eb172d68b93342eeed2ee85daa6cdec27c237b83e3078c1c9056dff77c083b4c9e30d594ee04e659406b247bff745d945f6fe3dc1069a8fcce0fee5e1061883ebe6e3e818462728f3a4d170f85327b80db4e9c2af245d71ebc552223992ae1313233e578686c77a8de2ba26d320bde360547a58da71c35b92147ac4c511aead9790fff6dfa2fadbab958cdfcbb67254d790f1f84f9466837010460c7dc30e2a7a132b79d80602c6ef9323c4bbd514a6f2b14aa4f54655dfd2b6bcdfc784b09921a3f2db7130fb7967004bf615733ef6c515c8825fb734dfeea31cb6a460d44c1cc49bb64f264bbdda8677939144204d7be513f7c8a51a01e9f040738d2728f453d07dc0b5534fc26b60319cf316cbbe8b542359a344128ad376d49610d639762e71f9a234666b3bf8a40f38ec61d5635c30236247b2c3edf053f70b9740950bd9c4ebd983a1465fa2a58146460015966e649d23620492fe98e4ccb928f437fcf8567646deb44178afb0f711e603e16c2e6189229035a05e5985a4ca0e7143519916aecb9896b145d421ab37c561c8c907d6d44033f5c46f25c2cab647a20e7ba750c6071977018b5070efae6ff47fb0cce47955076406c660408d0990618aea19621ff476f33af84712039fb5c1c1123b159476907756ae66211b4827423024a7d2b3b63dd1eb780cd34dcce170d0935c276a68d920f88f272144d2c4221b3934c6c00d438484e263119a9945c4a58786116abef0b2cead203779421c26025bd022a50665b1ef2e6c277fe1764585469a2149b634c4b16f13e0a6929c800057e4a0c3b946d3122512518d96a7d4199b9981a48e55a655d7624743bc7ce350c12f14655cd920c710edd4446d47a6a7d86c517b3d2d918893f4813f531ce2fea62586507eae82b10e9ca1b3e22d702f84a59200e51bf40d404c545c8445930192f3d7341659c6939b08952bb20d3609b196441afb64c6450d6593e99072a07423d237421e729233a587e14d096d64dd6e6e60f75f1cf72ec9b536418315c443a0054623f1f19237e8fe054a22bf504ca4d3805889bad6916bdcd09593f3f28f58e32217c83aa43bfe3f62889964f28600c72356e71ee54d1b8da5556d7e71e054422535c06c4275db11219f7536a3d64b1d33381af0a63e649d0638c5d924bb224e66cc1e056524425bb2245192f2fbfea7d1571f7621451d26d46224ffb5f782cf838d718546cc4481148b3ec2270dcf7604b27b0ac4f08b52807d40dc046135be93d0224916028c973574816526a7f60a055789553618ba4494c7eda8b0bcf865e3f10c08b620a35fc478185911ff742415bae36733399e27e646253f447957c8c375f1f4562b8625a38f1a6b966b3f32e3d76f77971ecb98b2852bb38696f8f1038c906b63b00c1902eb7247e3f69aeef176523bc1a7d86517191da5739a7464a1f67670d01888a6328b4c203295772451aae575877f361ce2513743d60bd87ee77666d9c49acc9e151a9593208153eda767ae62016373d5a55ad06ff09bd2bc272b10bbe4d4dc5b67042418144ce6e26603693456581d83711e0f8934d7654ce476bb68d3a2d84e8327ac9b1184cc5ed36ff4e5b1e7cabe877b8d3956c3d6e3922c1a6b3313e029b468b46434e71720427c378ae6da032b773113f81496ec00d197d40ae2a08aeeb58ba4fdd154188376475519b70173cd95cd35d393ddafb3d29b24ff84be5657c5f4c9479653e65aa1d4324da6c6bb26031aae4f65704c280637fb8633ef4349f50ab45ee015f40c42ce106a4516c6bbb76a795923537f14b0b48733d48201b2c3fbec3286a692bf510d558c576bc7ce35b6b4a332d2ada821b7ad15f3c913017434225074a718d7c31d390ce3c9d4bf50bbb13713ad1657d0f895d2346c2a7266a5111a03831b4226f5972c55dc3ff782ab736365f3cfda82ade6d013821ed484a0c387b5eb88132664114151f8ceacc14353cbb55899da012bf597261abf1525c8592252e117e1462df80ce32bb85663e7d06956675aeaa0d45957062b45f445f34fd1d2ae7fe32115bd9a7484832d562e036926e8f1a14719258a74de4ba6002fde9063a7710ff170efa5e7118e4b4323e245d3e6a606839ca031b0874058d1f0c58ad0f6616b911659a1c3c2f026d50bbc2da77fd1edb75c3b4784c195e2f4ccbdd7123e0a40b3974ac112b6763c627491708352b06ab314ab0be6e41f3a1053d5ea164337238487332e435d83fcb46bd454556dbe4cb0c375c8826ddf70a411694af60b1c5712366e20a540c4987034d9d7d57f90c9f504e50bd06dbe5a65abb6cdf19fcb7c02f1e6cb7707e65cb0d31d1af52e47a3f0baf8ab925534c1228feb5c66784b8b6631e9e5136a474975ecfdb130a69e3b946010d1d17990e3703853f940438d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc7317019384c82a7a1862290747792081047256807af13c74c0ba62c3e5ef5d976b7a2733d0110bf8668a6eea2ca820b952dc5a7b40ff5cebab2e5488f902510523d02059430174fa99f707d764b73dee441f68ecd9745bbee69f68facb4a19a198e827c6f7a230e8cdf52a54b6f7196fd70944ccef8f618aa0e331fa6f5f4fe8a58773150aa749626aa927a19de72c3528893a8d8f960974cdc4539b2f1b44333d8d743806845cbaf4541bc2e19d02d3fde64878913943062ac1043d9d826c39459d3f0638921a38e3d80d51539c4ac9cca966499c63635300aa4beee443488717e244dd94786059750535be82fc5e8242021fa36ed91b57a17e4202e2ad7506443b51fd0390492516821d7ada1069a22f4b64fa58ef6b80cb0c71694cff5e62d43566f6a370305d68ce13fc01aa6fe6bf06325863846b1aef886a84362261e47ff91e30f2927446ec953fec328d6f46204a5637acda3c3c5c0449f1a9454ffc81ae332939e1208a436a313e3ab71c71305b6eeaa03a3cc07c9263226c4410ac28dc5737f32270d3bb270603fa7c32d0947006ac2a182708ad405727ca482edef9e20921d26a6c96213a6bb453e1775d5bb758e85f8c572d252b590250374c3061f96e5a7d2b647d2164248559845e6420934c0fdc175ab35e5400d4b08409ca548522c4382e16e754961c6d8c7e008abf146e8252da5bb599c946e5c0b715574fa1559cdebc574a28cb2fc1657d70b7177467abe02c562b2a2c5cd7701b7200a69a573718311c780c241fc96fbf4900000000e79e972229e23a6b292192611c2c1a2d253269449f54f034fdfff04bc00ab74a585df44c95c6e31d41367c2e3ae7e848149a2000144cc77189443c338755aa091ea1ed45f08a7304158eaf1bfaef074b175e5f65d90a18419eaf65136bf05d001ef0024370950122c401b031a8486541e156612a0b77c13905e1565ce9707e72789c2c0bb092603049a1a61bf37ae049f7b21e18c4c3b1011d17db3a645dda68daacbe41ea072b659edc2074554682750a884334f4278575c8d39b4be352af114c738b396e3f621a8c018747f98f1b750cb4c7370e367d03c0ce130fac558e02ae97155b93490c6f6cf52825b096d030bb75ec2406da293c645b94540b3a8868e041c8486b64e243c4f3b71a2112785e30bdac2ee477ff275e91dc343f1c6c63ca730b0e5dc377411a2c41417d059275dff4f33d8e5db26d75793a3afca18e58f2215a0a332e1b32ce32146e3b0b0c171542a34be20f140f772ac5468cbf3e014a65454553ec1507b581de77227d8e68691af32227be272baf799770009cb14e04943c1a30e2a028d1ddf26c45ec63368f7c575cd89dd25597339004d13deb72815f1615e18f0f3b995ecb2bc4a1c8463c42f20b2fd6291a876ac26ff835b70c932bc540491c452d3613c565c25c0a55ba74572eb20f09057f771f5cbeb23318d229dc0de0b2a9502f00a935b2f9e2392cdcf169da9df36218a8d739536571551a43016a2079d762aebcb524422be218755ba8500bda0b36c6ca3f1d95a26e3179e5eb275450830c2481c55d826dcf4407ca9f1877a37b1c5c05431645ee0376a732b02441f64014f977b60d78c0b06fb83e686977dd606bc5dc1b44d96b1b091f2af465f2b60b6fd712604335d36319571a6b232a2dfe4901cee0410e855c22c1d11c5754826d12b61a8e0aaab8ab22421d6513afcc870b2a8a815cbd47b26619509a43f559aa34cfb26d4e75a9f549c0d55d2b215c064a1c101408412b2e5c213d6f0d3cedfd6cace3851ebecd2e31adec1e37b9393277afb5a0747aef61009e37271360f5a7581c23ca347d51eb3c2dbe172ea43c48750406e00e84bbd440fd991c65e641051421779f4687e51f06e98dfb6d54a231730e0b93757a43612473d14400d0437c6bd9de236be5941d63e4068740b3eea529184cb45799519b72ee44d95a6bf09b4508d16d111ac402033309071a849d004bbfbe7906f02d365dbc1157399a2ebb12bb27c635f8509807a87eca32fde2612ee719ba13a539082cc354d029b9c7222c512cd92c73de5441aa99e96e2427783fe288112a9232ff538a91d75c671cc1142b343f676ad14a58ed48e64e3d44435aab5b6722ef16341322dec40b9db12a308c728034d56b9e2bed9d8f66c9a60f2aea96a62900d6866abf2cc94bc3ad153c7209ff0a6c80945e0be95a0b3db3f64be03c2819ab46d822aa3fa63295dd165580fa275bd6146c3160a9b4346b204567796a6d29549e9901370ca20a92ad8f19e74861458f4eca1849d52168e28b483cdab4ea5b2b59a01936929b65dedcca28f0b58d2a05d31b26737c17501375d7223ee19676e5b49e262ab37957df035e4fe1288951969c971267057e4179155549e23b3d63944c8b3167ad59750fbe2c0ecf40230c6771c96d3e4b0364188c6f1d2bdd0c040222f6396bba2b673f53e92fb4e0b559b8ea1d03ecfe6712eb1af85ae85489039cb0ab1dbfa5ef053a45703b19cbbd30c4cc7e6c53f98761e7f69b2c2024b409004ce673de68393a6007d43a10c1bd06f7fe22636e6be01dae001c1cad2a775c9c57c954ec9f88217222236aa063fc6f05711634cac74f02c4e000082ebbb94c82143418dc7da41cef542b54eaa50a4e5eba56351025a523b259235a2fbcac58fa2140232f33267500d515338c41cb41c8042e2f9cdcbe2865587a32c2108a3bf7254b70045cba5a29f7ea3c1e5e7134e3c2241f5bc4cb04c720070b619f383f6f9f8b01b3f4db5071f725013a7a4c590d06c8455cd1a71a64f3992c17ea103e2036b622586cab696a8cc60079492849c84af64f3e8fb5217ac696529b5fe6186785fd610637145fccf0cd0fe8821c3428e66c3a2db3145128336f33d8bdf35b980f660a892df66f79b3a5393894b52a193aa42537a7de6f2f4c8c527433f64391df8d669ea02608f2f7176edb5291129ba8aa52a94d9d7188df8f347004c73c520e56484c45d74b28375b4eaabbf40ddbd031009506f253a12e084f05eb1722be67a34b7954324c68ad4f3fb554b073456c4348848071129d8f50333895710c718bd651a0a7c30e1caaf051f4688229f240c1075a650c2e04e2fb5f78b0680c88d76071d3bb435e9070a0298db8c31f47f4095330161f51cd631108e9b1636425ea2f0aa0bb4f427a047833045c862aa51f350745f8d64b51579e321b713b104950853c7ca81d635f5565684408a40b590d1d3731e6ef150f470f106230e96abf113704fc33f51aa13df0365c76c50795c5514baf30f265995eeb64c0d7ea4b65a39c5bc89eda6800e0b331b6018a25fb130e47614ddf16346db041810de53f2ed4be28ac0c1e465cb1eb46fb79553db094a813f054b90f63605f59d21d873b35435f512e0095298a48c03aa8cfe72fb4ce276096a7b115eec3a8097968a2552c55256dd19b5e03b1ec3e206eef98511d5f23704de5ce4e5332dd435b86d45f55beca31513ebb668b9165070281276ae563b10fe68e4839fb6b444cdf564f077aaca619e621ff0515b1406afadb8a547a97b91b0da80377df89961db5a96016574776486697e36cbadd4b3b32bc21332a30ec71937772038f0a7c1b91982503d673451b8c22fc548360a31e3a194257c55a060aa8e4714f0146d90b0b26495ce5fa2b33121ea97632dc275ce903830afff3675468da850d12614c77eb08d04712a03b36e46bc561536a8b2f2a099f58deed4e2124fd4e6c857f5d500eaa6365fa897c5d8aa05d3ea9383468c64bad32d39d82031036565a1c481d0683fda9558be2d96c31323e25fa426c34de774154379e5d2c7a701b4a658b60588fd096321946021b63fa1474d05e896526ef392ef16571409241251aab894a36f3c8db7040381937245e973377807e3d5a7475214af6822f68b060158d4612374c948621ae249b1e795a153c893da86350816b687e1a1652a1063d546bf4e62efe99b174fefb13070990505882ca891f0caae51733af20687f2fbb22fbc753137d21b31d3d63892d11438c58af54d620c587916bb4c053709d7d655f9a9011671e42653e49bc7446d674f510c0435e56531ebf738905c049d132e82087e07d4c3d428b6ec0511206acaff567ae98d55db125080f1315ce526f304775a4161435b4bbb2689adf346c986e4235edc47705795fb84ed85acc6f71f14c53e94bf061597ac47351620e5250d57808ed3cae4f6d7f1102f5bebf39b25d92453b940a1214ea604fe4b6fc3aa5e0ec15021ad0161fe8850009dbbb264e0d095a8300091df3691b4e4804e609cea6092919233712339b5276290c7839cb69bd2712810f3df0aa762609c5be4e45df2f593d9c9456954d04259e0abc62186efa772199af70066ef7499a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54240a26ce46ee8c922e60e3363ce158c623ba33341bb3426f047b8de64010e19f2d6935050973af44278be8ce367c50920a369c681d29a0585802fa8c2d14d43c5334bc116dd60728457d62f44060bd0640b538d83b9972835092bcbb0761619e430bad680765a8122430b228611b7f8a5a5c2d9d721244b4393cfe6366ae60eb5c95c774270520285aa17f1603cac15a7614f63f254b95092cee8e735be246c370c64a914d1a53ef4eaea10b45c7461a1e1ab1ec4c76cb911bd19bae74c6e5266725e006602a64d63868d84253630272616c588a36915d6c297ae5e75fee3572521787f04227623e45314ee52c970e785b7a23b7614e1589756802e1203f81ac449adb6f3ff1859308592cd95bc71fa25e616a2e6979a1704d1226670680015023ee0c277634485926a2b79a3790ae1b2e98e67d0bb9306c3affd3fc06282e472c6f42327639d64e257fab1c5504b98d3b206cc2181adaa8025dfe32277bb04847bbd8ac01eba21e07c353cc2bd708cc237557615630138a3354f1da0173541d1d8ae991384d56be67c1681650f6db8422f0d2e70e810c0309b7b70718ea68de106ae23402b7bc0e5f6a5a5a51251c2040e0595603d5d70626ef14b3145d4cf36b09cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83bb5de012ec9b94045bd8c007759f63606bdf60a1efb6f254641b03d5b449bd42e5530854d5d1bba6b23ec2c0577306072d7dc78171da38f3baa9af95c3886f42bde1bd9594db9c557c58fcb6199269976adb7d32792d93f5f84edab3ab3e3c8053267df348d4e476bb559452f1d5ae44d54aaea3e6360f8329c27005589da4e1c159b6d625ed8c213e21cce27e9424f13f01a2c59fe73880ca1ee2e3c9619ed70f480ca04a2772036f5c4c6548c40bd561baec752e2e9920a045384724d0dbc4b2bcea806739980175139f23944142b238904b408e31fd92c39374c6bb8be712621a6350745965646ba310d0a244ff51bc0d8eb31aa89fe1d63177976fee89d198a034229ee67cc4ece3b52706afce1754906166105888f5d8b7a6d68994eec18a6ad6f23c3252a4535941701b694674515a03b473d32120e040d204999259d32f2a9385dfb63ac5e57d7116369680a38924bb33d1fbc912608a9dc3c40c60669122b2920f4b14a4e26382d10411fa420e38bb34e6a22883d4c5cbd1952c9336d6537851f743d103d88ce1953d8113243757fbe485aea8e59e9e8723a8c90c122af07fa4a34210906dcb4b95da60e1c495e920a0948dd2159c47b80752a10f14015b176308f77e545c2340e55825aae252205f9312a5dd04cb833f250f3d2a6539efaa03502beab407878a4420815b11d48fb4e65a2e2166fe1bd7951fc6e4b46d3c8bd3213948756b5121a4dd8652575e1d3f82b4088596217771046460e731846078d3f57f1563445bc9a479d226567c9465c19f9216935b4e5df75a5c5a7172af9ef737bffb4335358364d6a9bf66a7d49ef1887661246a198e768011be45db2eb755a042f40514698412a947d2658d85e7f5efae7384de866ef5f4e7e8c2afd681323a312e3282a10c02fc1e92f0ec6990a0a03fbfb5539579625d5d1c9492336be24baa0d543d8ab1a5e71be224d6b86c13ec128571c30361e4ba3da3d5918836c0354889400e684e31913df42239ee48450fb5c036fcad1d14f8e36fa01c663204a9e56bc24cbbead58d15c88287d3aec6881dd2a2cb4d0b32fe4480a32b84c4b19bb35c51e563fb82dcc38733221dbe5066981cb0c1e563c389655505a73a51120d2e7151e5ed38376ab5617516d073e01ccd9830907f8090ac00d305385faef02c174b518cd35e82c087b9d206c603863a721295a33eadb4bbd4d4172286d3e163987974b91e04756e36612134283b97413e1e658b6c4cb0c1d52e72c5f72412f96f7552a2d9cc51e00000000417e75602743751473f20e64020c493b720772370ae1f03869f76644a247df20dde3025308a93242fe30040951f8596d8644006d7b49aa338082ea62b9f9ec0195e40c5e392fa769a8b30645268fe54637868732b42a0510310e6d39f13f1f13ad4f3b1d6b4bab4f1bc8536d57262809dd16cd189153af6d81145e160622d95b4f37550992a234561ad3cc47eafbca649f2aa14748fbb55abeb35e74209ccf752cf73033e871af6332bd2c11d84feb4ad8fb6b08b7a5c626fbb1640973d6e80125e3fd239f17cc05d4af3417b9f3ea3ecca64d496621ca227227cd121479040b5e39dc7052916e04754b495705824410d343e24a1157b5559d6ae560d970e06cb180e9278fedde04672c9927a2e3653253df815c3acc9316a02c4d352b069e55ac2ac21eb490170ead07e107688c8106692d352ffe543569df08593c347b630486317769c82b162986847448353e933c5272bc3e3d02fb6c1adcdb1945b5aa627ba4b92bcb66361221c4262b1079be52d297ca77bec99e02b3a86b314ca4601abe473829ef2665163d7f4c3467146e43173910412f805c2d4add934bd717963982adb6727a3a17375556896d8831403b9f1f0d4834171d6eaea7115ebee1f5191835812a6b9ffd07e30121428a26ce3e8c5e57707ad64033d0bdf427b99c235b53685c1af66c4802d31a5a467f4a972b0f052f33fc5ea043ecdbba5fa7e0e6344fe64556785f2c4888cceb764faf5119335585312e24bb575a15d02dd2dde3168493700493edfc141650cc6312a2a8482bd531038bd0b936c857ab7329c4be57c2e69302f6feba4ee4863f6236b73022f51ff46e6bef3762483cda04b8604352f3feea656c040d2e33d9064d16308949bfe5696bd3be6b594afe315abf614a0b87b097705053ca425cbbfa1596b6374e9544396724317f26618bd912315b223506be6031b5408d3727f8b157ebe330165369e901f331123cbdb33b1078ce0e5855e8ce2176dda857d8dc4920b3eefe4b696f32689875a7295fa84c7556d2480812fc8437247c04245ae8fe433d3b120eabef5e260d5e6010acd62173b64a0e364b40ef06236e1738288f73131dd6365326e1f721e07bcc16ebd0a9076b937f4c9c336a535fecae23dc04aa6aa363b225d8db3a1c12bea345a62a533fd24f5d301931bb1f58b6de527544b014dd0c46478aea0640d7037b531f68ec6bf76f7e178d253533c878ec418758464e1fdf852e146ac501d32f9e257ee71b2015c93e73322c2161feb80829ca8a4e2a2be0fd0f1a2dce5ec82c433457c5716b57fd5c4c9ee4503726c1952b77463c384a1afa29a968a23ae52879223800135dbbfd2e747fe6d472e7dd31601334ec77828790380d18ca41a10fac743df13d54bc316841a7dad332d4b1b30dae585b21a773c7371a6df7573f9ca31cdb256a1fa4fe3f7419df85035150b171cbec12130a90f80b0777ed57dc4f764273c86f44e89f82436a3b734571981f483ddac96afe1f4209c1ef634ea13bda6a831fc05587106a49080bb2219ae7764f7cefdc3c77844d1ecb5b285818347465096be6478c0e1811b4b8cc4e53130f3581365b319f39e0563becc46a8e16280d5fae0320095971233a8d0476143724494908ee36f93b9d7538f9bb5244277808869ab01d01653e3f5b65af704a1b422ea66210056924b34ade68232c8be72a0fd439ef34728edd39437f2e07556ff8697a7c421dc535200ec0b39e545dd3946a9f704e685ac77a080ad16d3b2b076f5eff06da2d815f2a2f47963454b51d0e2009dbf10a2138ca1c44f8922e83082b4f7dc6e73d0824d70bc8578d2dff980d038e53322c3a4f0136764b3c29d3e10647e5ae1d1f9713921bd9741035c28453699f6aaa397821374cffa4661e501c655635d6c56baa99d227b1722c2430d18d21447d75657432e815b597f60ee7d1423f275bed6b9cb38d2a59d98b65ac801d083942174880c70057d77ee7507b78ee3c867f066d06885046d86e1b5766cd2350fbe4324ae92c2b0a759bfd18f26b6b3627d2e72778bc981373fe8b5c3a30905781b7a15295c29f51c73b754736f645215163b227f982342692fb0d2d73be5d62a7246965ebc6832b2a667e6f21bba15535979b3a911fea1def2f894752e54d56610dcf6e369b3052408b7e697238621651f69831003872279c4627113457241f86c961114d293f5842e8303ee352593d6cf7c8027d9e3936dbe9c427deeaa3102c6bf559007e86063ee77753dc1d840389a5c1600d448f4f2f5b94158dd6a560c9bcd426490bb96f6df75145a8371d416f208b591ef729201afa2507652c80499087730d462c8742c8908643f8b30474284daf674551192898abb946d29f676b5766d943008efb2de78f111d5de838320396102148b0eb13da39d54be7f7985c9d6d7e77a87fd00640d7410a699dcd2280884e45150dd75b2c09d41bea9dd514c3bf734da88f50339320bf123954a1186e46d52e6768312488b9494cacae635bd0e60216ea7b2b47b99da72221a2f47136af85496980ce044d226d2bf692cb1538b8095efdb12975250e7b5ca908e351c13c3638ec2bb742ed441e3326a5ba41c855853cf09f996f8f3c2c4bd7c3712667c3ca01649e8807044c6b303c6f302e247bb2577dfb87286e3fad1f1a251447761e6a5d155cfb031cab4c362476955eb40de72037feb66ad5a33e5db51e594acdba6d6d8160ad4a2d023f6b88638c6421085129f9546e451c015924db3bc24a655c833b70e01251336c9e2feec4be0563371b4cc3cdd66556761656ddebb6285f6e3e2bcc9d4f0c5ebbd30c9d1bae3acaed4a14fe60800859484f309d260b66caa186339760fa66aa9c30081c6bdb2c3e570f10b60221355d609c0a95835b319dbe2e02d62529493019ca59c5b02d0a5b378e5a2c74953c342ae2405877554dc9ea526a8870c50a0e7c177433b07f317fea8f01b1734565ba578173fe8f693dacfec31ec4f61456545d4d0f6e0bf86bcafd3c4a94a2d33a0191db5906471d48b9beec2f30687a3d89b76d608cbd9b2c577c270e969dcb47c6a977748f6a384550f364562862572a4d8e2c42373dab2f1d46456cdc7ec74fdcebea5158a1c223a64ab039aaa243011ed76803fc296a554fe0600ba643bc683ffbff1dfc59670d181af4604f40093e981ced229f421f3aa2bce7158c644e4546c5b449dbe0ee5293e87175a9788f419ac28842d7661003629b731179f0860708f5721ea2f43d20a8697e4b55029024f6148a437aa9b171cd484d0a04d3f557912e146d9608ef4d0895771e33db6f56365cc00051a8e96715ef971e7cda3b291cc5dc69d40e440a88dfb6400218192d2d651612c22cb61af15d20094be5891de1c4711f79bc665fa535e44fdf009a23526c833d63e578444a5c771905c5d653f1f3b2335618cd67285b0809fb8bbe5d199dc01736b465103c26ec7547cadd1707c67747fdc5dc5c1818631b38e12746710a0a6e562d24346da8494dabe2ea3599718a1eb5da5713be8b9304b262c82f75911062a581b6667183293e21c852072cb4dc098030f76eb1d1b91c3bd89273ea1fa51627483d19ceed473dfa80d43c6b63d2351952dc7373a8d1224bdfa44a82443a6f48d9db5a7cc09e6fe93a6731c3ebd3297acd555329dbc501e5496c297f2a9b07d29176561e807250570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c9965463909647f619619836d3b63236379bd725c740a2d1b8f992f14d4397901b6dab31bfc6e426472187e1f03ba1d262e2aab0eab79c207085a3c71ecd57166fdfc933d5e44731fc439224b1737c475c0098f45e1da672d234bdd454fb1aa2c19f86c30bfe8b332438ce80fd0650542c4f55327cd1d3d324a0c656391291c5d05bee06e57638454150989118e2c00265bfa3131c6709346c747b11fffa511078d08d6416a445c5e974b716cd4dd5647f0281c54a83c97376143724a38e4c56d5f3ab75749f74a336f205655f2c23446d24caa0c985dc811a0c1d54b6fc72433d6ce21448ff8065aca004c03e00f871e4d330c0ed765421d5b2f991357b91d1800ec141aab1e27087e87785ab8785530cca4b32a335a04011f7eed410edcaa31af493c5c1ece84415294294a00f9ab47d8e991213eff3351f23b2f1627c98f429c72840b6806cf296370ee26adf49a4620aa6d11dc68de02a1093c0169446e350b08643ce39c47605be8f4509f9a315e1fd90a1f959f9e507de1c33046db3617ca461d2d8959197008a3be731f9c3b284e581b1feeac376579b2a1376f0cbc1955775d3430f8db1404eb910928de770270e7467789b7be555d8d9d73be93ca66cf954370320d125987955f2910ff5874fe09f94484dfd44f7920c872aa234763252a5a28b88132664114151f8ceacc14353cbb55899da012bf597261abf1525c8592252e117e1462df80ce32bb85663e7d06956675aeaa0d45957062b45f445f34fd1d2ae7fe32115bd9a7484832d562e036926e8f1a14719258a74de4ba6002fde9063a7710ff170efa5e7118e4b4323e245d3e6a606839ca031b0874058d1f0c58ad0f6616b911659a1c3c2f026d50bbc2da77fd1edb75c3b4784c195e2f4ccbdd7123e0a40b3974ac112b6763c627491708352b06ab314ab0be6e41f3a1053d5ea164337238487332e435d83fcb46bd454556dbe4cb0c375c8826ddf70a411694af60b1c5712366e20a540c4987034d9d7d57f90c9f504e50bd06dbe5a65abb6cdf19fcb7c02f1e6cb7707e65cb0d31d1af52e47a3f0baf8ab925534c1228feb5c66784b8b6631e9e5136a474975ecfdb130a69e3b946010d1d17990e3703853f940438d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc731701da905335e3e90705d6137f6c6e330f203d3896379942b31139df7e5cb11d6e19d5d3d93e53198b1275e497380307233ff807240e2cae963a9e96ca49baff707691236c310a75b302634d2158c9fc48102b008c6788b87c652f651e554f8b520553feae4eb62049187a7edb2ea9d46872018fcb181ab6011dda9b343abacdd12df43aab2a9dad585fb272ce106fec363ff020465328346c6d56df84265cf9e73505c509207932fe56db35340889e36e5c87f0202bb32e2d3453f2243fa18ebe61d2745629d32d2f543aafc55178c17664e42c5465d8f7ec701a4628457ed33a6ec9ef500f9345084585f3765d69b7c16c031ea6217bb8ab23945cec6da7fb6f6098eea50aedff06292f9e430912fbc1634595876ad48a856dc837742a21b85d13eb7f3b66d548cd36800ecc5aecf08e60ecc02941a1aaed2548d1ee5f56c6a928eff96e6d26fcd2015d836e536fec7020df6e840e25f6cd2b0b799b46f4b4b614fbdc40126d7a623f01307f1e2c97c239976ee0015362d605399f771b13a3e946bd3abe519b50b45d78acad182435d43b06294843fe19246bb105a20da5e7dc371029fc2a9e2dcc69a4a82f362285ba2962e4260a5bb88755689c1533f309362695f4051e3eda9437d6d01612aa875e499fddd57177d9c13492a939515c64ad5b3f62ca4e4be14a3d7d68da629845194d5a4614167fa0ed77b39118392b59cd6681190b16d9d9f53231d5225d66464f28b69c324305317276e8b9411f79828d4e5c3be0260046776e19f1a20d00000000113f38511cf5c63099673801b58b6f58f7113219db38300701d4c468f9ac024a351fcb6056fe65771257a767ab5a2626e980fe1d2ae4b41e46441a09b598c04178f7c45182a0de40e5c72f63d0b40976dde91e640e98941d8cb9491a7781ee40ab968c2f4957bf39ac359870226f956fc508ba5fdb6acd40f4ee392078bfdb34186f8b261c7fd16087918220b8b82525393867724765324fbfb22108ac4e130b1c130920cf32cc2f6a468762dc9c5a1eac8872544cee7a24dec60b7511e95a0d57ee5a631eb5ec296da1d80470ebd01cb427be4075819f2578103d51bcc29f351cc7566c6fcaae0993976c138f9a3465f805694310f72c20a87b884f71aab816b59b3815ac852a6173cc49771d8b37271921d66f3badae61e7558e5aa2ebfb62a15e814078004a3dac87820a6ad3740d7482f32c134d8a37b80d702fdad8630bb43b76515beeeb0890da69436cd780748aa1b52d23287267903d0a0f3505f475c2f5fd19fd0f854454fade6aee609c0167ceb302654e974932a7e71609846e68679eda36f203da6cbdaa0440d8ca3e645d41714d9f0e576418839124e30d28384c4c2321c6af8b16626a7877f3512b08b68f3c055f1d6c1dbc3f51761e021a24c7663d77aed94628e42e972acdc4d240b3eae63d2238686ff4dc65312b8ca61f0553470abb5ade4faa1d1e5d2f4aac5563b89d66008ef95cd2923a691d1e731cb4babc1ed15dc86d93fd49427f474821575a875c2d4ec93bd984b80d77354a6e03140f2601e21a4b95bcd522b37ca5099c2dd3766ecb5e714ee34c316a62c81bb4bdc37633f8c3631350d05ee9e0245bf24cb41e7ea0d1386dee6c1fa6cc413a2a56c80894562a6da91f1b2d5369b6519d780a4e50ebbb1d0b8c8b6630571446bbe3c25f435532342fcfb1158f9c0c26fe33434dbd7763290c857f1d3da6001247f0612554c9336d6bb8ac4b3d8d66070df85f75be4b644b5b627218ed6fd7515845fe40a3b4fe13982fcd245f8d5143f5acc646c7230b109748c61ee0fde07089163442924a834152c8d22fddbbd25309df2e11e18de363af3f7d30c78e3508fc63c708988e506465dcb05970aed158e4743b3b0a861936d7f6b9779670c624a5adec2e5b89c4025880d8557627c31c7c8d716adccd9376b5d48916ba958f6ef0c27407bfcf5e3e0b8c7c2a26a2c750a8ca1d6b2a84872c4d7ff75e97f0c96d237029189e78af139aa82749d0898c6dd9169841dbb82d3579fbed70a731c1448113a46a3e2ee4318212c0515b993d72964f570935d1c554f289bc65d7d5903828707070b51de63e6a57246c91547c4c291b221c4c4854473bcb396c7a5d295dc69d443bfb1e41173096324ce2e64f0f51b37443eb34c12b9a988553370c9c109687400d1622f415a0919f13499f3f2d134ea239b709834e55420634ab733a0821a06d131ca9144f353065564d483314127cbd08ccc65b04e6d6d94f28bdaf68354e5d3f34dd62495774a03966baa13ab727166cef2f971e24502b1baca2fa4149bee40f15eaeb1fb312cd6b91953837dbb5e3779f39844d2057e06b311fd9749c599d49135ad43e574940019de387289ac6a709d48d702b97bc0a1e0b1b324005971d281c967e51a7aa76716b1ed7286684763af16317275debb43a9b5ff455e83260267cd164331879e24d60161919e009e9508d23b81f83b388711154ff2ef3af1b4629c2f20e0f52494f9ada084e5a814d6837ec5552164d7d5ba8c5b246e173125f5ff1da040063e659168744255227253be368ed63e8052767183f290f8e05743d8c861f28a40b372852ca2c118207d91f17ecc103957a753cb55fc350c326950a110fbb1e137f2513eb591e2108070c67e040fc50376b186eaa707732331abe56da1f26117dfb050fc2457d07c2f0ee0ae690502954398329fffa79300851f0695965ca442cd0b12305b4e804a507e16eb234e3674507a21e8bbd462d61eacf65c542353ff2f063688f41cd2956ce6c33e3ae9d161b973e5d05cfaf61a0824268060f884617182b280da75b73573b3a34bc4f9e633f0d3a183e9aab0f06e48961ca73b87370fe1400029a97556bb9f84b444cf7338e3c63233b754715778cfd04f7af140e6641d036876be7259da0d23852a16c46f3ea8e0145685e5aa95ca4410ddbb84815ea9a55c66b70340395cf24845ddb0115c2c72ecd284b5760187704e61ab930d8ae1252e859a819036b8e48821ca42ff479a77210713c5063746e14b2d5796660479a0689efc93395de3255ac205243f6b8701736f3843c1826d66dca2cc53a1a32851c90b5856d4115bd76a379562484892136afe46340b5c6c52fd7921a6e7a380d6bec05e13a5ebf1514c0d8bd17a31f223203b600384ec31c01f3dbe6168784054cebfb5602564c634bbf5e667536b3e941be34c7587b55ff189b664e4be1247268e45afe54ddcb7235c22525086ea9c74cc9a2b42a58dbcd3d23ca7d0fa93ff82cda3fce20f2784247fbe9bf66390c1628a701be3dbb10d03c8aea3d536053b775c622721010aac651bbf6316bd123431082ead2694d1c8424d9169228e8988864f090121a1f9b0d4ac4a34c3960b3c32b6cccd941c8da27725a5c845fd255ff055a2e9a1f7caa1157b3af1271d94ec0155009a51b3583dc38357bd2751e8b2f5915c99e602ad49b6e76c2ea4e397a3c74b991735e00c8296f3f30743d79b1163532f429677ee2fd42a6d2051d3e31130de6e97850a43e6e290a3aab59143b64586dafef0234ec53727ee93d5e47203d627b1bda4000df9e62d700d8074777353882166f58f16e6e6a14ad25420bb5d809e399f9665f080e19be1b1c2ed4cef22bde6a490bf4b62528c74e624d3dc0ea17d1a30b1f21ab1d1ec996c269a4a8db469b237d142f9fc71b420c192b3dfdf50ef5bea52a04e2be64c580c71d4a36a7364e9fb45433fffb6f1fd74f736033546d2800a7367ef60c6b4984ab13ce3d5603dea5343b2e20a96443d9af67782dcc6048485b3e81288641e706d7192f11a65dd546aa626dd18a4ba3fe9e5365cf3041b9c08d14da0fdd22a85a921b9c0ea76653454e036ed5920071d20352a3de51130028360f1a43fa123c5bff61fad67735a1ae4b0f4ecae913b627706ebd47de3a4169d1762738a5303c164f2f9e077a48a12da42384607818ee54e44d323e95774ff1b813a044c851d2ed171fb7f1ae02b6a7972e73192e1121a8cb5f457e2526d0776877ce0de24290ee4d01e28b1161bf1bde3c4fcc8406da9e7322e362700603f3ad46eee75e754184c15214c6d4098168f2415d3ce11619a64e311af1ac55ae57426752917f7173a92a15314fa15bf7c7f8298a0a1866658c0c23e4edef6e4580314c9e2a170faa093856996b6e74b928091f066bf12e9f552361c9b04e61dccbdf228fbff9685754ed76b5fbfb0a9852ac1b05732457252ba17367548463d6f1a462ec88014e94e5ea3c1ecee6271206e02164a6e62e83dd8b1a7d5cee25d370d42c0df40e768cd4ef41b97db03866252d3382442b66d96f424454f3eb0f7a339e4ad489ab70bbe275512a9e2449d081255517bc4f67aa131645cc71b54b962d973f43a9ea27b7d2ae2f00ec5f04ddfebb6bbe0e6236ee399a6edea6b8047774fc1ccd5b975a5025b245575c551a0b8bb61f2b7d8f4dbd37c670940a9874b82a4b33d43c5b13b39d462ac6411d5ce0ad18607303263a6fb891286faba336ad95836d0b1136547f98191f66d6b33577bdea2ae6ef50384ab5f76ba45a9a3e6f45194db6b88c668c7a5e2074ed395091fc5d42e616d23177852b13f0a03930b9c394242406fc0a3f348f070308a13a0b6a313715931f73ec0261115c0a83692351db26a31ca619163467422bbd546431d6bc3784c7e8505009b3492950e954f794d43c418334470ba9e95bb8de956da5059944e1842f0d07def212f98e372718e57e52f4da4942faab5400418b38271f169501e42f7e74bcc9f919bfc92521f1f48501f000de7641ed46090bacb934eb659174cc153450f7606d1edb19540e133e985aa8211c44f62e8a6e6d975635dac5f74d4857b81ec8280421d106254cd710645e63799c4e0cd4011979649b29b85ead20a3ea2216212be20885139f534e115e6ab415665d0b41e2549d9f1e3779b5cf57b8842e5dffeff617d248e6753dcadc004cd00231e835ad4f8b9fe85c62757b205cd75249ebf8df0f1311381bc5060b406cdea0116735f55cb70fb324892f0d16f1a62a5f08db583865b3d35aa6fe823d84d5e224238ead15cd05e81d10f134017833b61224676169dd49b84a23fda36fa4c3d50f9707175d6871eb3f258d336af56e72433c46395a6142a65dad38d9597a13072fa269b42743a5e858669140315cefa061f68dfa55f357ae6f7d0f2d6c11c2806f5fc8666ec6f4cb3167140f094456280ff2986e6b86b11450ddd93b6c525e85333abd090559c7926b10aeb931e4660215ab8c901c8cb8944acbcfd235a2bd754248b992444020a76fadd4d503858fad7637c57846aff7ee2249956b74fa72592eda1b7c4d4bad8712fb317b71ba8a121bbcb74b6db0115d44ba70fa3af615ad1a9c05e70482d292705d273f0ac476c60bc776a229e690206d3c40b0255b219c5d213c9529136fe6511adc0663ac088a0fc1e9cc4a15dc5072e4f85c223ce4d5127688910daac7a325674c1d402dc60d09d4fac05f104af03b4f52724c6c51ea5c31e3fd590b95095ff4fdc32757d36545caaa01067d606a03d66c8e47a0eec55b066ba90180f68574ac51a70652d70b42f909ae15b8206837e6932516a5c08c55f6007e6ff1d4e159cb7a0d387dd54a39fb408a6e89865a25e52d554bac4f0f6a3bbcbb67df3f296cb3161f2dbad2de4fd75c275db5008209b72b2236c200e50f9d63cb39f811712f8caec41dcc42623e9b5e1421d8caf73a1ca3ca03030719064ba61b3125bdd326fc57f74e799ef860bdea6f3227381e16e382e90a8b3fa0b2395e19834e5dd618622d6e1f4ac9cb307e13aaeee70d547e09000000706f736569646f6e32ece5e9b8ae2cd6ea6b1827b464ff0348f9a7f4decd269c0087fdfd75098da0130500000008000000411fa636f2d364648f035174d3778d6340d9ae1dd648fc35657c173f01e27e5fe406290c4f76f82b9b35c02d6590dd3d8075e72b207f24420df87b56ab78df0c5a3e7b624bdbeb31b396fb3c0563c2105ff4f545991b600ca40b1e76ee7f36079b98b73af20fba33f5ae2204d2fecb16bf1b3618572b652103ac9c722ef47e5b977f9e2868d664458077ac35fa9050290c7db016c2750620c362da3c275cab67f765ab6e0cf5dc55c11d65688af0fe1428afc359c08b1656bbc4ba6b54c9746cc6b87a237165c549ef7ac614d762ec1ce4b97441c9bfef6fd8ac90378170d8162be97040fd0b390959c33114712a436382b2cd419665ee2fe801c158a9bbb155 \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/error.rs b/crypto/txscript/src/zk_precompiles/error.rs new file mode 100644 index 0000000000..49c16e9058 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/error.rs @@ -0,0 +1,30 @@ +use kaspa_txscript_errors::TxScriptError; +use risc0_zkp::verify::VerificationError; +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum ZkIntegrityError { + #[error("Groth16 error: {0}")] + Groth16(#[from] crate::zk_precompiles::groth16::Groth16Error), + #[error("R0 error: {0}")] + R0Error(#[from] crate::zk_precompiles::risc0::R0Error), + #[error("ZK verification failed: {0}")] + R0Verification(String), + #[error("Std io error: {0}")] + Io(#[from] std::io::Error), + #[error("Txscript error: {0}")] + TxScript(#[from] TxScriptError), + #[error("Digest parsing error: {0:?}")] + Digest(Vec), + #[error("Mekle proof verification failed")] + Merkle, + #[error("Unknown tag: {0}")] + UnknownTag(u8), + +} + +impl From for ZkIntegrityError { + fn from(err: VerificationError) -> Self { + ZkIntegrityError::R0Verification(format!("{:?}", err)) + } +} diff --git a/crypto/txscript/src/zk_precompiles/groth16/error.rs b/crypto/txscript/src/zk_precompiles/groth16/error.rs new file mode 100644 index 0000000000..9691c684a6 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/groth16/error.rs @@ -0,0 +1,13 @@ +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum Groth16Error { + #[error("ARK R1CS error: {0}")] + ArkR1CS(#[from] ark_relations::r1cs::SynthesisError), + #[error("Groth16 verification failed")] + VerificationFailed, + #[error("Kaspa txscript error: {0}")] + FromTxScript(#[from] kaspa_txscript_errors::TxScriptError), + #[error("ARK serialization error: {0}")] + ArkSerialization(#[from] ark_serialize::SerializationError), +} \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/groth16/mod.rs b/crypto/txscript/src/zk_precompiles/groth16/mod.rs new file mode 100644 index 0000000000..06ae02b886 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/groth16/mod.rs @@ -0,0 +1,30 @@ +mod error; +use ark_bn254::{Bn254, G1Projective}; +use ark_groth16::{Groth16, PreparedVerifyingKey, Proof}; +use ark_serialize::CanonicalDeserialize; + + +pub use error::Groth16Error; + +use crate::{ + data_stack::{DataStack, Stack}, + zk_precompiles::{ + ZkPrecompile, error::ZkIntegrityError, + }, +}; + +pub struct Groth16Precompile; +impl ZkPrecompile for Groth16Precompile { + type Error = Groth16Error; + fn verify_zk(dstack: &mut Stack) -> Result<(), Self::Error> { + if Groth16::::verify_proof_with_prepared_inputs( + &PreparedVerifyingKey::deserialize_uncompressed(&*dstack.pop_raw::<1>()?[0])?, + &Proof::deserialize_uncompressed(&*dstack.pop_raw::<1>()?[0])?, + &G1Projective::deserialize_uncompressed(dstack.pop_raw::<1>()?[0].as_slice())?, + )? { + Ok(()) + } else { + Err(Groth16Error::VerificationFailed) + } + } +} \ No newline at end of file diff --git a/crypto/txscript/src/zk_precompiles/mod.rs b/crypto/txscript/src/zk_precompiles/mod.rs new file mode 100644 index 0000000000..8cba809bcf --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/mod.rs @@ -0,0 +1,42 @@ +mod error; +mod risc0; +mod groth16; +mod benchmarks; +mod tags; +use crate::{ + data_stack::{DataStack, Stack}, + zk_precompiles::{ + error::ZkIntegrityError, groth16::Groth16Precompile, risc0::R0SuccinctPrecompile, tags::ZkTag + }, +}; +use kaspa_txscript_errors::TxScriptError; + +trait ZkPrecompile { + type Error: Into + std::fmt::Display; + fn verify_zk(dstack: &mut Stack) -> Result<(),Self::Error>; +} + +pub fn parse_tag(dstack: &mut Stack) -> Result { + let [tag_bytes] = dstack.pop_raw()?; + ZkTag::try_from(*tag_bytes.first().ok_or(TxScriptError::ZkIntegrity("Could not find tag byte".to_string()))?) + .map_err(|e| TxScriptError::ZkIntegrity(e.to_string())) +} + +/** + * Verifies a ZK proof from the data stack. + * The first byte on the stack indicates the ZK tag (proof type). + */ +pub fn verify_zk(tag: ZkTag, dstack: &mut Stack) -> Result<(), TxScriptError> { + // Matcth the tag and verify the proof accordingly + match tag { + ZkTag::R0Groth16 => Groth16Precompile::verify_zk(dstack).map_err(|e| TxScriptError::ZkIntegrity(e.to_string())), + ZkTag::R0Succinct => R0SuccinctPrecompile::verify_zk(dstack).map_err(|e| TxScriptError::ZkIntegrity(e.to_string())), + } +} + +/** + * A helper function to compute the sigop cost of a ZK proof based on its tag. + */ +pub fn compute_zk_sigop_cost(tag: u8) -> u16 { + ZkTag::try_from(tag).map(|t| t.sigop_cost()).unwrap_or(ZkTag::max_cost()) // Default to highest cost for unknown tags +} diff --git a/crypto/txscript/src/zk_precompiles/risc0/error.rs b/crypto/txscript/src/zk_precompiles/risc0/error.rs new file mode 100644 index 0000000000..00e858608b --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/error.rs @@ -0,0 +1,19 @@ +use kaspa_txscript_errors::TxScriptError; +use risc0_zkp::verify::VerificationError; +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum R0Error { + #[error("Std io error: {0}")] + Io(#[from] std::io::Error), + #[error("R0: {0}")] + R0(#[from] VerificationError), + #[error("Txscript error: {0}")] + TxScript(#[from] TxScriptError), + #[error("Digest parsing error: {0:?}")] + Digest(Vec), + #[error("Verification failed")] + VerificationFailed, + #[error("Merkle proof verification failed")] + Merkle, +} diff --git a/crypto/txscript/src/zk_precompiles/risc0/inner.rs b/crypto/txscript/src/zk_precompiles/risc0/inner.rs new file mode 100644 index 0000000000..d5628d445c --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/inner.rs @@ -0,0 +1,161 @@ +// Copyright 2025 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0, or the MIT license , at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 OR MIT + +use std::collections::BTreeMap; + +use alloc::{collections::VecDeque, string::String, vec::Vec}; +use borsh::{BorshDeserialize, BorshSerialize}; +use risc0_binfmt::read_sha_halfs; +use risc0_circuit_recursion::{control_id::ALLOWED_CONTROL_ROOT, CircuitImpl, CIRCUIT}; +use risc0_core::field::baby_bear::BabyBearElem; +use risc0_zkp::core::hash::{blake2b::Blake2bCpuHashSuite, poseidon2::Poseidon2HashSuite, sha::Sha256HashSuite, HashSuite}; +use risc0_zkp::{adapter::CircuitInfo, core::digest::Digest, verify::VerificationError}; +use serde::Serialize; + +use crate::zk_precompiles::error::ZkIntegrityError; +use crate::zk_precompiles::risc0::R0Error; +use crate::zk_precompiles::risc0::merkle::MerkleProof; +/// A succinct receipt, produced via recursion, proving the execution of the zkVM with a [STARK]. +/// +/// Using recursion, a [CompositeReceipt][crate::CompositeReceipt] can be compressed to form a +/// [SuccinctReceipt]. In this way, a constant sized proof can be generated for arbitrarily long +/// computations, and with an arbitrary number of segments linked via composition. +/// +/// [STARK]: https://dev.risczero.com/terminology#stark +/// +/// This is a modified version of the SuccinctReceipt defined in risc0. The reason for this is to +/// simplify it, as we are certain to only receive digests for the claim and verifier parameters. +#[derive(Debug, Serialize, BorshSerialize, BorshDeserialize)] +#[cfg_attr(test, derive(PartialEq))] +#[non_exhaustive] +pub struct Inner { + /// The cryptographic seal of this receipt. This seal is a STARK proving an execution of the + /// recursion circuit. + seal: Vec, + + /// The control ID of this receipt, identifying the recursion program that was run (e.g. lift, + /// join, or resolve). + control_id: Digest, + + /// Claim containing information about the computation that this receipt proves. + /// + /// The standard claim type is [ReceiptClaim][crate::ReceiptClaim], which represents a RISC-V + /// zkVM execution. + claim: Digest, + + /// Name of the hash function used to create this receipt. + hashfn: String, + + /// A digest of the verifier parameters that can be used to verify this receipt. + /// + /// Acts as a fingerprint to identify differing proof system or circuit versions between a + /// prover and a verifier. It is not intended to contain the full verifier parameters, which must + /// be provided by a trusted source (e.g. packaged with the verifier code). + verifier_parameters: Digest, + + /// Merkle inclusion proof for control_id against the control root for this receipt. + control_inclusion_proof: MerkleProof, +} + +impl Inner { + pub fn claim(&self) -> &Digest { + &self.claim + } +} + +impl Inner { + /// Verify the integrity of this receipt, ensuring the claim is attested + /// to by the seal. + pub fn verify_integrity(&self) -> Result<(), R0Error> { + let suites: BTreeMap> = BTreeMap::from([ + ("blake2b".into(), Blake2bCpuHashSuite::new_suite()), + ("poseidon2".into(), Poseidon2HashSuite::new_suite()), + ("sha-256".into(), Sha256HashSuite::new_suite()), + ]); + + let suite = suites.get(&self.hashfn).ok_or(VerificationError::InvalidHashSuite)?; + let check_code = |_, control_id: &Digest| -> Result<(), VerificationError> { + self.control_inclusion_proof + .verify(control_id, &ALLOWED_CONTROL_ROOT, suite.hashfn.as_ref()) + .map_err(|_| VerificationError::ControlVerificationError { control_id: *control_id }) + }; + + // Verify the receipt itself is correct, and therefore the encoded globals are + // reliable. + risc0_zkp::verify::verify(&CIRCUIT, suite, &self.seal, check_code)?; + + // Extract the globals from the seal + let output_elems: &[BabyBearElem] = bytemuck::checked::cast_slice(&self.seal[..CircuitImpl::OUTPUT_SIZE]); + let mut seal_claim = VecDeque::new(); + for elem in output_elems { + seal_claim.push_back(elem.as_u32()) + } + + // Read the Poseidon2 control root digest from the first 16 words of the output. + // NOTE: Implemented recursion programs have two output slots, each of size 16 elems. + // A SHA2 digest is encoded as 16 half words. Poseidon digests are encoded in 8 elems, + // but are interspersed with padding to fill out the whole 16 elems. + let control_root: Digest = seal_claim + .drain(0..16) + .enumerate() + .filter_map(|(i, word)| (i & 1 == 0).then_some(word)) + .collect::>() + .try_into() + .map_err(|_| VerificationError::ReceiptFormatError)?; + if control_root != ALLOWED_CONTROL_ROOT { + return Err(VerificationError::ControlVerificationError { control_id: control_root })?; + } + + // Verify the output hash matches that data + let output_hash = read_sha_halfs(&mut seal_claim).map_err(|_| VerificationError::ReceiptFormatError)?; + if output_hash != self.claim { + return Err(VerificationError::JournalDigestMismatch)?; + } + + // Everything passed + Ok(()) + } +} + +#[cfg(test)] +mod tests { + use risc0_binfmt::tagged_struct; + use risc0_circuit_recursion::{control_id::ALLOWED_CONTROL_ROOT, CircuitImpl}; + use risc0_zkp::adapter::{CircuitInfo, PROOF_SYSTEM_INFO}; + use risc0_zkp::core::{ + digest::digest, + hash::sha::{Impl, Sha256}, + }; + // Check that the verifier parameters has a stable digest (and therefore a stable value). This + // struct encodes parameters used in verification, and so this value should be updated if and + // only if a change to the verifier parameters is expected. Updating the verifier parameters + // will result in incompatibility with previous versions. + #[test] + fn succinct_receipt_verifier_parameters_is_stable() { + assert_eq!( + tagged_struct::( + "risc0.SuccinctReceiptVerifierParameters", + &[ + ALLOWED_CONTROL_ROOT, + ALLOWED_CONTROL_ROOT, + *Impl::hash_bytes(&PROOF_SYSTEM_INFO.0), + *Impl::hash_bytes(&CircuitImpl::CIRCUIT_INFO.0), + ], + &[], + ), + digest!("ece5e9b8ae2cd6ea6b1827b464ff0348f9a7f4decd269c0087fdfd75098da013") + ); + } +} diff --git a/crypto/txscript/src/zk_precompiles/risc0/merkle.rs b/crypto/txscript/src/zk_precompiles/risc0/merkle.rs new file mode 100644 index 0000000000..646c51032f --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/merkle.rs @@ -0,0 +1,60 @@ +// Copyright 2025 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0, or the MIT license , at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 OR MIT + +//! Minimal Merkle tree implementation used in the recursion system for +//! committing to a group of control IDs. + +use alloc::vec::Vec; + +use borsh::{BorshDeserialize, BorshSerialize}; +use risc0_core::field::baby_bear::BabyBear; +use risc0_zkp::core::{digest::Digest, hash::HashFn}; +use serde::{Deserialize, Serialize}; + +use crate::zk_precompiles::{error::ZkIntegrityError, risc0::R0Error}; + +/// An inclusion proof for the [MerkleGroup]. Used to verify inclusion of a +/// given recursion program in the committed set. +#[non_exhaustive] +#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, BorshSerialize, BorshDeserialize)] +pub struct MerkleProof { + /// Index of the leaf for which inclusion is being proven. + pub index: u32, + + /// Sibling digests on the path from the root to the leaf. + /// Does not include the root of the leaf. + pub digests: Vec, +} + +impl MerkleProof { + /// Verify the Merkle inclusion proof against the given leaf and root. + pub fn verify(&self, leaf: &Digest, root: &Digest, hashfn: &dyn HashFn) -> Result<(), R0Error> { + if self.root(leaf, hashfn) == *root { + return Ok(()); + } + Err(R0Error::Merkle) + } + + /// Calculate the root of this branch by iteratively hashing, starting from the leaf. + pub fn root(&self, leaf: &Digest, hashfn: &dyn HashFn) -> Digest { + let mut cur = *leaf; + let mut cur_index = self.index; + for sibling in &self.digests { + cur = if cur_index & 1 == 0 { *hashfn.hash_pair(&cur, sibling) } else { *hashfn.hash_pair(sibling, &cur) }; + cur_index >>= 1; + } + cur + } +} diff --git a/crypto/txscript/src/zk_precompiles/risc0/mod.rs b/crypto/txscript/src/zk_precompiles/risc0/mod.rs new file mode 100644 index 0000000000..5999cb373d --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/mod.rs @@ -0,0 +1,29 @@ +use crate::{ + data_stack::{DataStack, Stack}, + zk_precompiles::{ + ZkPrecompile, error::ZkIntegrityError, risc0::{ inner::Inner, receipt_claim::compute_assert_claim} + }, +}; +use kaspa_txscript_errors::TxScriptError; +use risc0_zkp::core::digest::Digest; +mod inner; +mod receipt_claim; +mod merkle; +mod error; +pub struct R0SuccinctPrecompile; +pub use error::R0Error; +impl ZkPrecompile for R0SuccinctPrecompile { + type Error = R0Error; + fn verify_zk(dstack: &mut Stack) -> Result<(), Self::Error> { + let [image_id] = dstack.pop_raw()?; + let [journal] = dstack.pop_raw()?; + let [proof_data] = dstack.pop_raw()?; + + let inner: Inner = borsh::from_slice(&proof_data)?; + let image_id: Digest = Digest::try_from(image_id).map_err(R0Error::Digest)?; + let journal: Digest = Digest::try_from(journal).map_err(R0Error::Digest)?; + // Verify that the claim comes from the provided image id + compute_assert_claim(inner.claim(), image_id, journal).map_err(|e| TxScriptError::ZkIntegrity(e.to_string()))?; + inner.verify_integrity() + } +} diff --git a/crypto/txscript/src/zk_precompiles/risc0/receipt_claim.rs b/crypto/txscript/src/zk_precompiles/risc0/receipt_claim.rs new file mode 100644 index 0000000000..da1eb5db67 --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/risc0/receipt_claim.rs @@ -0,0 +1,102 @@ +// Copyright 2025 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0, or the MIT license , at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 OR MIT + +use borsh::{BorshDeserialize, BorshSerialize}; +use risc0_binfmt::{tagged_struct, Digestible, ExitCode, SystemState}; +use risc0_zkp::core::{digest::Digest, hash::sha::Sha256}; +use serde::{Deserialize, Serialize}; + +use crate::zk_precompiles::{error::ZkIntegrityError, risc0::R0Error}; + +/// Public claims about a zkVM guest execution, such as the journal committed to by the guest. +/// +/// Also includes important information such as the exit code and the starting and ending system +/// state (i.e. the state of memory). [ReceiptClaim] is a "Merkle-ized struct" supporting +/// partial openings of the underlying fields from a hash commitment to the full structure. Also +/// see [MaybePruned]. +#[derive(Clone, Debug, Serialize, Deserialize, BorshSerialize, BorshDeserialize)] +#[cfg_attr(test, derive(PartialEq))] +struct ReceiptClaim { + /// The [SystemState] just before execution has begun. + pub pre: Digest, + + /// The [SystemState] just after execution has completed. + pub post: SystemState, + + /// The exit code for the execution. + pub exit_code: ExitCode, + + /// Input to the guest. + pub input: Digest, + + /// [Output] of the guest, including the journal and assumptions set during execution. + pub output: Output, +} + +/// Construct a [ReceiptClaim] representing a zkVM execution that ended normally (i.e. +/// Halted(0)) with the given image ID and journal. +pub fn compute_assert_claim(claim: &Digest, image_id: Digest, journal_hash: Digest) -> Result<(), R0Error> { + let computed_claim = ReceiptClaim { + pre: image_id, + post: SystemState { pc: 0, merkle_root: Digest::ZERO }, + exit_code: ExitCode::Halted(0), + input: Digest::ZERO, + output: Output { journal: journal_hash, assumptions: Digest::ZERO }, + } + .digest::(); + + // If the claim does not match the computed claim, return an error + if *claim != computed_claim { + return Err(R0Error::VerificationFailed); + } + Ok(()) +} + +impl Digestible for ReceiptClaim { + /// Hash the [ReceiptClaim] to get a digest of the struct. + fn digest(&self) -> Digest { + let (sys_exit, user_exit) = self.exit_code.into_pair(); + tagged_struct::( + "risc0.ReceiptClaim", + &[self.input, self.pre, self.post.digest::(), self.output.digest::()], + &[sys_exit, user_exit], + ) + } +} + +/// Output field in the [ReceiptClaim], committing to a claimed journal and assumptions list. +#[derive(Clone, Debug, Serialize, Deserialize, BorshSerialize, BorshDeserialize)] +#[cfg_attr(test, derive(PartialEq))] +pub struct Output { + /// The journal committed to by the guest execution. + pub journal: Digest, + + /// An ordered list of [ReceiptClaim] digests corresponding to the + /// calls to `env::verify` and `env::verify_integrity`. + /// + /// Verifying the integrity of a [crate::Receipt] corresponding to a [ReceiptClaim] with a + /// non-empty assumptions list does not guarantee unconditionally any of the claims over the + /// guest execution (i.e. if the assumptions list is non-empty, then the journal digest cannot + /// be trusted to correspond to a genuine execution). The claims can be checked by additional + /// verifying a [crate::Receipt] for every digest in the assumptions list. + pub assumptions: Digest, +} + +impl Digestible for Output { + /// Hash the [Output] to get a digest of the struct. + fn digest(&self) -> Digest { + tagged_struct::("risc0.Output", &[self.journal, self.assumptions], &[]) + } +} diff --git a/crypto/txscript/src/zk_precompiles/tags.rs b/crypto/txscript/src/zk_precompiles/tags.rs new file mode 100644 index 0000000000..b7db36edda --- /dev/null +++ b/crypto/txscript/src/zk_precompiles/tags.rs @@ -0,0 +1,36 @@ +use crate::zk_precompiles::error::ZkIntegrityError; + +#[repr(u8)] +/// The supported ZK proof tags +pub enum ZkTag { + R0Groth16 = 0x20, + R0Succinct = 0x21, +} + +impl TryFrom for ZkTag { + type Error = ZkIntegrityError; + fn try_from(value: u8) -> Result { + match value { + 0x20 => Ok(ZkTag::R0Groth16), + 0x21 => Ok(ZkTag::R0Succinct), + _ => Err(ZkIntegrityError::UnknownTag(value)), + } + } +} + +impl ZkTag { + /// Returns the sigop cost associated with the ZK tag + /// Prices are based on benchmarks and estimations of verification complexity + /// + /// Since 1 sigop is priced at 1000 gram, the costs are in 1000 gram units + pub fn sigop_cost(&self) -> u16 { + match self { + ZkTag::R0Groth16 => 140, + ZkTag::R0Succinct => 740, + } + } + + pub fn max_cost() -> u16 { + 740 // The highest cost among supported tags + } +} diff --git a/crypto/txscript/test-data/script_tests.json b/crypto/txscript/test-data/script_tests.json index 947c8810de..62cc432be3 100644 --- a/crypto/txscript/test-data/script_tests.json +++ b/crypto/txscript/test-data/script_tests.json @@ -3822,11 +3822,11 @@ "OpTxOutputSpk is enabled since kip10" ], [ - "1", + "0", "IF 0xc4 ELSE 1 ENDIF", "", - "BAD_OPCODE", - "opcodes above OpTxOutputSpk invalid if executed" + "OK", + "OpZkPrecompile is enabled since kip16 (not executed)" ], [ "1", @@ -4216,14 +4216,14 @@ "", "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", "", - "PUSH_SIZE", + "OK", ">520 byte push" ], [ "0", "IF 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' ENDIF 1", "", - "PUSH_SIZE", + "OK", ">520 byte push in non-executed IF branch" ], [ @@ -4254,13 +4254,6 @@ "STACK_SIZE", ">244 stack+altstack size" ], - [ - "", - "0 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP 0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", - "", - "SCRIPT_SIZE", - "10,001-byte scriptPubKey" - ], [ "1", "VER", @@ -5394,4 +5387,4 @@ [ "The End" ] -] +] \ No newline at end of file diff --git a/mining/errors/src/mempool.rs b/mining/errors/src/mempool.rs index dce0ba619c..9bacd75de3 100644 --- a/mining/errors/src/mempool.rs +++ b/mining/errors/src/mempool.rs @@ -131,7 +131,7 @@ pub enum NonStandardError { RejectInsufficientFee(TransactionId, u64, u64), #[error("transaction input #{1} has {2} signature operations which is more than the allowed max amount of {3}")] - RejectSignatureCount(TransactionId, usize, u64, u8), + RejectSignatureCount(TransactionId, usize, u64, u16), } impl NonStandardError { diff --git a/mining/src/mempool/check_transaction_standard.rs b/mining/src/mempool/check_transaction_standard.rs index 9ef1b60624..7a06ed2af0 100644 --- a/mining/src/mempool/check_transaction_standard.rs +++ b/mining/src/mempool/check_transaction_standard.rs @@ -12,7 +12,7 @@ use kaspa_txscript::{get_sig_op_count_upper_bound, is_unspendable, script_class: /// MAX_STANDARD_P2SH_SIG_OPS is the maximum number of signature operations /// that are considered standard in a pay-to-script-hash script. -const MAX_STANDARD_P2SH_SIG_OPS: u8 = 15; +const MAX_STANDARD_P2SH_SIG_OPS: u16 = 1000; /// MAXIMUM_STANDARD_SIGNATURE_SCRIPT_SIZE is the maximum size allowed for a /// transaction input signature script to be considered standard. This @@ -31,16 +31,15 @@ const MAX_STANDARD_P2SH_SIG_OPS: u8 = 15; /// That brings the total to 1+(15*74)+3+513 = 1627. This value also /// adds a few extra bytes to provide a little buffer. /// (1 + 15*74 + 3) + (15*34 + 3) + 23 = 1650 -const MAXIMUM_STANDARD_SIGNATURE_SCRIPT_SIZE: u64 = 1650; +const MAXIMUM_STANDARD_SIGNATURE_SCRIPT_SIZE: u64 = 300_000; /// MAXIMUM_STANDARD_TRANSACTION_MASS is the maximum mass allowed for transactions that /// are considered standard and will therefore be relayed and considered for mining. -const MAXIMUM_STANDARD_TRANSACTION_MASS: u64 = 100_000; - +const MAXIMUM_STANDARD_TRANSACTION_MASS: u64 = 1_000_000; +const MAXIMUM_STANDARD_TRANSACTION_TRANSIENT_MASS: u64 = 600_000; impl Mempool { pub(crate) fn check_transaction_standard_in_isolation(&self, transaction: &MutableTransaction) -> NonStandardResult<()> { let transaction_id = transaction.id(); - // The transaction must be a currently supported version. // // This check is currently mirrored in consensus. @@ -65,8 +64,12 @@ impl Mempool { if compute_mass > MAXIMUM_STANDARD_TRANSACTION_MASS { return Err(NonStandardError::RejectComputeMass(transaction_id, compute_mass, MAXIMUM_STANDARD_TRANSACTION_MASS)); } - if transient_mass > MAXIMUM_STANDARD_TRANSACTION_MASS { - return Err(NonStandardError::RejectTransientMass(transaction_id, transient_mass, MAXIMUM_STANDARD_TRANSACTION_MASS)); + if transient_mass > MAXIMUM_STANDARD_TRANSACTION_TRANSIENT_MASS { + return Err(NonStandardError::RejectTransientMass( + transaction_id, + transient_mass, + MAXIMUM_STANDARD_TRANSACTION_TRANSIENT_MASS, + )); } for (i, input) in transaction.tx.inputs.iter().enumerate() { @@ -282,7 +285,7 @@ mod tests { name: "max standard tx size with default minimum relay fee", size: MAXIMUM_STANDARD_TRANSACTION_MASS, minimum_relay_transaction_fee: DEFAULT_MINIMUM_RELAY_TRANSACTION_FEE, - want: 100000, + want: 1000000, }, Test { name: "1500 bytes with 5000 relay fee", size: 1500, minimum_relay_transaction_fee: 5000, want: 7500 }, Test { name: "1500 bytes with 3000 relay fee", size: 1500, minimum_relay_transaction_fee: 3000, want: 4500 }, diff --git a/testing/integration/src/consensus_integration_tests.rs b/testing/integration/src/consensus_integration_tests.rs index c08d723081..f3e4eef7c6 100644 --- a/testing/integration/src/consensus_integration_tests.rs +++ b/testing/integration/src/consensus_integration_tests.rs @@ -1910,7 +1910,7 @@ async fn payload_test() { // This triggers storage mass population consensus.validate_mempool_transaction(&mut tx, &TransactionValidationArgs::default()).unwrap(); let consensus_res = consensus.add_utxo_valid_block_with_parents(4.into(), vec![2.into()], vec![tx.tx.unwrap_or_clone()]).await; - assert_match!(consensus_res, Err(RuleError::ExceedsTransientMassLimit(_, _))); + assert_match!(consensus_res, Err(RuleError::ExceedsComputeMassLimit(_, _))); // Fix the payload to be below the limit txx.payload = vec![0; (config.params.max_block_mass / TRANSIENT_BYTE_TO_MASS_FACTOR / 2) as usize]; diff --git a/wasm/examples/nodejs/javascript/zkproof/groth.image.hex b/wasm/examples/nodejs/javascript/zkproof/groth.image.hex new file mode 100644 index 0000000000..0193e8b911 --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/groth.image.hex @@ -0,0 +1 @@ +75641a540ee2ad9ee5902bcdcdb8b55c0bef4a28287309b858f97b1356c6c2e0 \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/groth.journal.hex b/wasm/examples/nodejs/javascript/zkproof/groth.journal.hex new file mode 100644 index 0000000000..7f4014f8e1 --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/groth.journal.hex @@ -0,0 +1 @@ +5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/groth.proof.hex b/wasm/examples/nodejs/javascript/zkproof/groth.proof.hex new file mode 100644 index 0000000000..f3454e52b4 --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/groth.proof.hex @@ -0,0 +1 @@ +0001000015fe378b1244f5c38f7ed9e74a784e68f355c1638e116064b1a183c4c0530257140cf216b9899d3a3fd8718db35946e75a5e69a2b4884935cd98d35c624c6ae41deb191920b352cb17ae53ca7cbab0e56a3d2f8307e7162fb75ab1365123b90e2e6ac57516e74adbe2baeffc2772bd1b24715952d85342a4c85011c35aab5e0728f81402ffe3655b3d07fe0a3df01a9b959ed54d2dccd4a955b77aa2ad08a1d103a01eb634d8f7ccb2ab903e053a0e0960a5b22f2d70d17f98dcb1936e940c2b2d593d7ea1cc214ed4ed764d7d716e11789a1ac27b26007eaa90bd7a29168c90142e64de0dfd31ffc775f3a5a31f87ff42cf78de195f8b78c3ea43f8b9a2cce1a95ac0b37bfedcd8136e6c1143086bf5d223ffcb21c6ffcb7c8f60392ca49dde73c457ba541936f0d907daf0c7253a39a9c5c427c225ba7709e44702d3c6eedc \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/risc0-groth16.js b/wasm/examples/nodejs/javascript/zkproof/risc0-groth16.js new file mode 100644 index 0000000000..b5a2e3586a --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/risc0-groth16.js @@ -0,0 +1,226 @@ +const { PrivateKey, RpcClient, ScriptBuilder, Opcodes, + payToScriptHashScript, addressFromScriptPublicKey, + createTransaction, signTransaction } = require('./kaspa') +const fs = require('fs'); +const path = require('path'); + +// Configuration +const NETWORK_ID = 'devnet'; +const RPC_URL = 'ws://127.0.0.1:17610'; +const PRIVATE_KEY = 'b99d75736a0fd0ae2da658959813d680474f5a740a9c970a7da867141596178f'; + +// ZK Proof configuration +const ZK_VERIFIER_TAG = 0x20; // Groth16 +const ZK_PROOF_FILE = './groth.proof.hex'; +const IMAGE_ID_FILE = './groth.image.hex'; // 32-byte image ID file +const JOURNAL_FILE='./groth.journal.hex'; +async function zktest() { + const privateKey = new PrivateKey(PRIVATE_KEY); + const keypair = privateKey.toKeypair(); + const sourceAddress = keypair.toAddress(NETWORK_ID); + + // Load ZK proof from file + let ZK_PROOF_DATA; + try { + const proofHex = fs.readFileSync(ZK_PROOF_FILE, 'utf8').trim(); + const cleanHex = proofHex.startsWith('0x') ? proofHex.slice(2) : proofHex; + ZK_PROOF_DATA = Buffer.from(cleanHex, 'hex'); + console.log(`Loaded ZK proof: ${ZK_PROOF_DATA.length} bytes`); + console.log(`Proof hex: ${cleanHex.substring(0, 64)}...`); + } catch (error) { + console.error(`Failed to load ZK proof from ${ZK_PROOF_FILE}:`, error.message); + return; + } + + // Load Image ID from file + let EXPECTED_IMAGE_ID; + try { + const imageIdHex = fs.readFileSync(IMAGE_ID_FILE, 'utf8').trim(); + const cleanHex = imageIdHex.startsWith('0x') ? imageIdHex.slice(2) : imageIdHex; + EXPECTED_IMAGE_ID = Buffer.from(cleanHex, 'hex'); + + if (EXPECTED_IMAGE_ID.length !== 32) { + throw new Error(`Image ID must be 32 bytes, got ${EXPECTED_IMAGE_ID.length}`); + } + + console.log(`Loaded Image ID: ${cleanHex}`); + } catch (error) { + console.error(`Failed to load Image ID from ${IMAGE_ID_FILE}:`, error.message); + return; + } + + // Load Image ID from file + let JOURNAL; + try { + const journalHex = fs.readFileSync(JOURNAL_FILE, 'utf8').trim(); + const cleanHex = journalHex.startsWith('0x') ? journalHex.slice(2) : journalHex; + JOURNAL = Buffer.from(cleanHex, 'hex'); + + if (JOURNAL.length !== 32) { + throw new Error(`Image ID must be 32 bytes, got ${JOURNAL.length}`); + } + + console.log(`Loaded Image ID: ${cleanHex}`); + } catch (error) { + console.error(`Failed to load Image ID from ${IMAGE_ID_FILE}:`, error.message); + return; + } + + const rpc = new RpcClient({ + url: RPC_URL, + encoding: 'borsh', + networkId: NETWORK_ID + }); + + await rpc.connect(); + + try { + // Get UTXOs and wait for maturity + console.log('Fetching UTXOs...'); + let response = await rpc.getUtxosByAddresses([sourceAddress]); + + const info = await rpc.getBlockDagInfo(); + const currentDaaScore = info.virtualDaaScore; + + const matureUtxos = response.entries.filter(entry => { + if (!entry.entry.isCoinbase) return true; + return (currentDaaScore - entry.entry.blockDaaScore) >= 100n; + }); + + if (matureUtxos.length === 0) { + console.log('No mature UTXOs available. Mining or waiting required.'); + return; + } + + console.log(`Found ${matureUtxos.length} mature UTXOs`); + + // Create P2SH redeem script with embedded tag and image ID + // When executed, stack will be: [proof_data] (from signature script) + // This script pushes: image_id, tag, then calls OpZkPrecompile + // OpZkPrecompile pops: tag first, then proof_data, then image_id + const redeemScript = new ScriptBuilder() + .addData(JOURNAL) + .addData(EXPECTED_IMAGE_ID) // Push image ID onto stack + .addData(Buffer.from([ZK_VERIFIER_TAG])) // Push tag (0x20) onto stack + .addOp(Opcodes.OpZkPrecompile) // Execute ZK verification + .drain(); + + const lockingScript = payToScriptHashScript(redeemScript); + console.log(`Locking script created:`, lockingScript); + console.log(`Redeem script (hex): ${redeemScript}`); + + // Convert the P2SH script to an address + const p2shAddress = addressFromScriptPublicKey(lockingScript, NETWORK_ID); + console.log(`P2SH address: ${p2shAddress}`); + + // Create COMMIT transaction + const utxoToSpend = matureUtxos[0]; + const commitAmount = utxoToSpend.amount - 10000n; + + // Convert UTXO to IUtxoEntry format + const utxoEntries = [{ + address: sourceAddress, + outpoint: { + transactionId: utxoToSpend.outpoint.transactionId, + index: utxoToSpend.outpoint.index + }, + scriptPublicKey: utxoToSpend.entry.scriptPublicKey, + amount: utxoToSpend.amount, + isCoinbase: utxoToSpend.entry.isCoinbase, + blockDaaScore: utxoToSpend.entry.blockDaaScore + }]; + + // Create commit transaction sending to P2SH address + const commitTx = createTransaction( + utxoEntries, + [{ + address: p2shAddress, + amount: commitAmount + }], + 0n, + '', + 1 + ); + + console.log('Commit transaction created'); + + // Sign the commit transaction + const signedCommitTx = signTransaction(commitTx, [privateKey], false); + console.log('Commit transaction signed'); + + // Submit commit transaction + const submitResult = await rpc.submitTransaction({ transaction: signedCommitTx }); + + // Extract the transaction ID from the result + const commitTxId = submitResult.transactionId || submitResult; + console.log(`Commit transaction submitted: ${commitTxId}`); + + // Wait for commit transaction confirmation + console.log('Waiting for commit transaction to be accepted...'); + await new Promise(resolve => setTimeout(resolve, 5000)); + + // Create REDEEM transaction + console.log('Creating redeem transaction...'); + + // Build signature script for P2SH spending + // Only need to provide: proof_data + redeem_script + // The redeem script already contains the tag and image ID + const signatureScript = new ScriptBuilder() + .addData(ZK_PROOF_DATA) // Push proof data + .addData(Buffer.from(redeemScript, 'hex')) // Push redeem script (P2SH requirement) + .drain(); + + console.log(`Signature script length: ${Buffer.from(signatureScript, 'hex').length} bytes`); + + // Construct the P2SH UTXO entry + const p2shUtxoEntry = { + address: p2shAddress, + outpoint: { + transactionId: commitTxId, + index: 0 + }, + scriptPublicKey: lockingScript, + amount: commitAmount, + isCoinbase: false, + blockDaaScore: currentDaaScore + }; + + // Create redeem transaction + const redeemTx = createTransaction( + [p2shUtxoEntry], + [{ + address: sourceAddress, + amount: commitAmount - 141000n + }], + 0n, + '', + 104 + ); + + // Set the signature script + redeemTx.inputs[0].signatureScript = signatureScript; + + console.log('Redeem transaction created'); + console.log('Redeem script contains:'); + console.log(' - Image ID:', EXPECTED_IMAGE_ID.toString('hex')); + console.log(' - Tag: 0x20 (Groth16)'); + console.log(' - OpZkPrecompile'); + console.log('Signature script provides only the proof data'); + + // Submit redeem transaction + const redeemResult = await rpc.submitTransaction({ transaction: redeemTx }); + const redeemTxId = redeemResult.transactionId || redeemResult; + console.log(`Redeem transaction submitted: ${redeemTxId}`); + console.log('ZK proof verification successful!'); + + } catch (error) { + console.error('Error:', error); + if (error.stack) { + console.error('Stack:', error.stack); + } + } finally { + await rpc.disconnect(); + } +} + +zktest().catch(console.error); \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/risc0-succinct.js b/wasm/examples/nodejs/javascript/zkproof/risc0-succinct.js new file mode 100644 index 0000000000..9683be013c --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/risc0-succinct.js @@ -0,0 +1,228 @@ +const { PrivateKey, RpcClient, ScriptBuilder, Opcodes, + payToScriptHashScript, addressFromScriptPublicKey, + createTransaction, signTransaction } = require('./kaspa') +const fs = require('fs'); +const path = require('path'); + +// Configuration +const NETWORK_ID = 'devnet'; +const RPC_URL = 'ws://127.0.0.1:17610'; +const PRIVATE_KEY = 'b99d75736a0fd0ae2da658959813d680474f5a740a9c970a7da867141596178f'; + +// ZK Proof configuration +const ZK_VERIFIER_TAG = 0x21; // Succinct +const ZK_PROOF_FILE = './succinct.proof.hex'; +const IMAGE_ID_FILE = './succinct.image.hex'; // 32-byte image ID file +const JOURNAL_FILE='./succinct.journal.hex'; +async function zktest() { + const privateKey = new PrivateKey(PRIVATE_KEY); + const keypair = privateKey.toKeypair(); + const sourceAddress = keypair.toAddress(NETWORK_ID); + + // Load ZK proof from file + let ZK_PROOF_DATA; + try { + const proofHex = fs.readFileSync(ZK_PROOF_FILE, 'utf8').trim(); + const cleanHex = proofHex.startsWith('0x') ? proofHex.slice(2) : proofHex; + ZK_PROOF_DATA = Buffer.from(cleanHex, 'hex'); + console.log(`Loaded ZK proof: ${ZK_PROOF_DATA.length} bytes`); + console.log(`Proof hex: ${cleanHex.substring(0, 64)}...`); + } catch (error) { + console.error(`Failed to load ZK proof from ${ZK_PROOF_FILE}:`, error.message); + return; + } + + // Load Image ID from file + let EXPECTED_IMAGE_ID; + try { + const imageIdHex = fs.readFileSync(IMAGE_ID_FILE, 'utf8').trim(); + const cleanHex = imageIdHex.startsWith('0x') ? imageIdHex.slice(2) : imageIdHex; + EXPECTED_IMAGE_ID = Buffer.from(cleanHex, 'hex'); + + if (EXPECTED_IMAGE_ID.length !== 32) { + throw new Error(`Image ID must be 32 bytes, got ${EXPECTED_IMAGE_ID.length}`); + } + + console.log(`Loaded Image ID: ${cleanHex}`); + } catch (error) { + console.error(`Failed to load Image ID from ${IMAGE_ID_FILE}:`, error.message); + return; + } + + // Load Image ID from file + let JOURNAL; + try { + const journalHex = fs.readFileSync(JOURNAL_FILE, 'utf8').trim(); + const cleanHex = journalHex.startsWith('0x') ? journalHex.slice(2) : journalHex; + JOURNAL = Buffer.from(cleanHex, 'hex'); + + if (JOURNAL.length !== 32) { + throw new Error(`Image ID must be 32 bytes, got ${JOURNAL.length}`); + } + + console.log(`Loaded Image ID: ${cleanHex}`); + } catch (error) { + console.error(`Failed to load Image ID from ${IMAGE_ID_FILE}:`, error.message); + return; + } + + const rpc = new RpcClient({ + url: RPC_URL, + encoding: 'borsh', + networkId: NETWORK_ID + }); + + await rpc.connect(); + + try { + // Get UTXOs and wait for maturity + console.log('Fetching UTXOs...'); + let response = await rpc.getUtxosByAddresses([sourceAddress]); + + const info = await rpc.getBlockDagInfo(); + const currentDaaScore = info.virtualDaaScore; + + const matureUtxos = response.entries.filter(entry => { + if (!entry.entry.isCoinbase) return true; + return (currentDaaScore - entry.entry.blockDaaScore) >= 100n; + }); + + if (matureUtxos.length === 0) { + console.log('No mature UTXOs available. Mining or waiting required.'); + return; + } + + console.log(`Found ${matureUtxos.length} mature UTXOs`); + + // Create P2SH redeem script with embedded tag and image ID + // When executed, stack will be: [proof_data] (from signature script) + // This script pushes: image_id, tag, then calls OpZkPrecompile + // OpZkPrecompile pops: tag first, then proof_data, then image_id + const redeemScript = new ScriptBuilder() + .addData(JOURNAL) + .addData(EXPECTED_IMAGE_ID) // Push image ID onto stack + .addData(Buffer.from([ZK_VERIFIER_TAG])) // Push tag (0x20) onto stack + .addOp(Opcodes.OpZkPrecompile) // Execute ZK verification + .drain(); + + const lockingScript = payToScriptHashScript(redeemScript); + console.log(`Locking script created:`, lockingScript); + console.log(`Redeem script (hex): ${redeemScript}`); + + // Convert the P2SH script to an address + const p2shAddress = addressFromScriptPublicKey(lockingScript, NETWORK_ID); + console.log(`P2SH address: ${p2shAddress}`); + + // Create COMMIT transaction + const utxoToSpend = matureUtxos[0]; + const commitAmount = utxoToSpend.amount - 10000n; + + // Convert UTXO to IUtxoEntry format + const utxoEntries = [{ + address: sourceAddress, + outpoint: { + transactionId: utxoToSpend.outpoint.transactionId, + index: utxoToSpend.outpoint.index + }, + scriptPublicKey: utxoToSpend.entry.scriptPublicKey, + amount: utxoToSpend.amount, + isCoinbase: utxoToSpend.entry.isCoinbase, + blockDaaScore: utxoToSpend.entry.blockDaaScore + }]; + + // Create commit transaction sending to P2SH address + const commitTx = createTransaction( + utxoEntries, + [{ + address: p2shAddress, + amount: commitAmount + }], + 0n, + '', + 1 + ); + + console.log('Commit transaction created'); + + // Sign the commit transaction + const signedCommitTx = signTransaction(commitTx, [privateKey], false); + console.log('Commit transaction signed'); + + // Submit commit transaction + const submitResult = await rpc.submitTransaction({ transaction: signedCommitTx }); + + // Extract the transaction ID from the result + const commitTxId = submitResult.transactionId || submitResult; + console.log(`Commit transaction submitted: ${commitTxId}`); + + // Wait for commit transaction confirmation + console.log('Waiting for commit transaction to be accepted...'); + await new Promise(resolve => setTimeout(resolve, 5000)); + + // Create REDEEM transaction + console.log('Creating redeem transaction...'); + + // Build signature script for P2SH spending + // Only need to provide: proof_data + redeem_script + // The redeem script already contains the tag and image ID + const signatureScript = new ScriptBuilder() + .addData(ZK_PROOF_DATA) // Push proof data + .addData(Buffer.from(redeemScript, 'hex')) // Push redeem script (P2SH requirement) + .drain(); + + console.log(`Signature script length: ${Buffer.from(signatureScript, 'hex').length} bytes`); + + // Construct the P2SH UTXO entry + const p2shUtxoEntry = { + address: p2shAddress, + outpoint: { + transactionId: commitTxId, + index: 0 + }, + scriptPublicKey: lockingScript, + amount: commitAmount, + isCoinbase: false, + blockDaaScore: currentDaaScore + }; + + // Create redeem transaction + const redeemTx = createTransaction( + [p2shUtxoEntry], + [{ + address: sourceAddress, + amount: commitAmount - 1000000n + }], + 0n, + '', + 164 + ); + + console.log(redeemTx) + + // Set the signature script + redeemTx.inputs[0].signatureScript = signatureScript; + + console.log('Redeem transaction created'); + console.log('Redeem script contains:'); + console.log(' - Image ID:', EXPECTED_IMAGE_ID.toString('hex')); + console.log(' - Tag: 0x21 (Succinct)'); + console.log(' - OpZkPrecompile'); + console.log('Signature script provides only the proof data'); + + // Submit redeem transaction + const redeemResult = await rpc.submitTransaction({ transaction: redeemTx }); + const redeemTxId = redeemResult.transactionId || redeemResult; + console.log(`Redeem transaction submitted: ${redeemTxId}`); + console.log('ZK proof verification successful!'); + + } catch (error) { + console.error('Error:', error); + if (error.stack) { + console.error('Stack:', error.stack); + } + } finally { + await rpc.disconnect(); + } +} + +zktest().catch(console.error); \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/succinct.image.hex b/wasm/examples/nodejs/javascript/zkproof/succinct.image.hex new file mode 100644 index 0000000000..877bb10ae5 --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/succinct.image.hex @@ -0,0 +1 @@ +e10e8a68108d0b44224f041bce277b15f47c9fa52860726979fb260dc4d8c2b4 \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/succinct.journal.hex b/wasm/examples/nodejs/javascript/zkproof/succinct.journal.hex new file mode 100644 index 0000000000..7f4014f8e1 --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/succinct.journal.hex @@ -0,0 +1 @@ +5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 \ No newline at end of file diff --git a/wasm/examples/nodejs/javascript/zkproof/succinct.proof.hex b/wasm/examples/nodejs/javascript/zkproof/succinct.proof.hex new file mode 100644 index 0000000000..1736eeda4b --- /dev/null +++ b/wasm/examples/nodejs/javascript/zkproof/succinct.proof.hex @@ -0,0 +1 @@ +73d90000b3af542600000000aa33277300000000cbdec83d00000000d9cbdf2b0000000072220f3900000000179bf5500000000061f3d81d00000000773a451000000000c7e8fe47bae8ff2f7278ff6fef82fe07fe36ff0f54e8fe5ff438ff5f05cbff572f9fff07f4bcff5f9652fe4fe997ff376bd6ff27da02fe2f58e2ff3f81f2fe7712000000d0af1373ce7602068a35fd5fe2b08d2c3ddc1a44787c3258c90d0c150813b665dd7e1c176524bb0cd083835925bbfe46456b604c3a2ab10907b4aa1531c3f16ae3f58a4c40f5977120b65c6dee4e1039b257382162b5c33ae38f5a20ae28ad123cd1be5d2cff484fcfe1e53532404b55df0f0e0b07054300774ae408485da266f6351a7649cdfa27f4364a203d1b9f4e7245ef480d3f864d7bd9e94fd5df6e4ad0369e20be38115fb3e5372391f0ad4db3c73770d9532f3fab3de835bbd6fd52bd3a2871b052e00d048f494c057ddf1f6846a4182d64f0083f4cf912344f78401fb93900697a53270e33a85850e06c01042c7e0eca57d650725ff4127a450432ef20753d97f5c24a83b9bb1d05c00c09dc25052c10fae60b10a2a05c2e8dff48e480336aa2f1992c2e5f0f4fafbf9c25a836e640a2f79c5a54cf6043db03ad06083fb656a3ef484c72f7dc0191c51c187330af2d4860c022586eae58d2a7342714329d6b44af4a24c9acc003c60b571ada11546852b0d2100e4ea846abac6a31a2e57a1720bfbc6f46386826e588601f5dc1c553fcee664968985a009b360a0cb09bcc222b65932cea1f973b2653a86666dee418d15ec9312d51ad2f94feae364dd0fd4e798e1b2b38fdb85e9c91602701f700678f9bf81eb876b454546f9a6ff47aea2162094e4144dc456c5ba17d4369bc305a369c8b083654ef6656e8d8288ac0e51c6da31304e0cb226b669e8964d841721f4cb86d595c2dd62a3f5bb61ea5483254501b636476d6656eb8f0c06126b31d57b043891f63b7b7310b42d208a71cfa2e00c51d2b19135d317f6c9a59b0e7b9683a14575c10dd8b5df200922b9c426f6628c2b8547f65ae635a0dc814081c5f3b9581cb24639f6a259a9de350ef06ff403e259030ca40ae636248966b17b1a163d982c83a37c7250721e28516f3b8544fe1058363ca9f023ae65412087d20f226f7cbf35c042c4107c90c4a01c119e7551bd8f354780c443a6dcd8a3b13206d18163e0d61bfc6210e1cec720d4609342ab5279d144ba270434d5d333edcd92b11504f8265b979c52096268856c83f176694768832ba279b2d5c9c610f1612025ca09b2c628cddb45b547b5c2fdf8f62083432f463cd491b173f53074f34b96025da865a0997166b3fe155a371b6db245fe62176343f312a3fd605672c785e2a6c7fde346e49aca0454a322051135424414727d16dcce1c83f9c3b986c6c445c7779f4f12e572e4d12b3ca6830c0d20a5fbb628c5cfe03c82c4d018a10ecefa4379f0c893c3fe55f6b3c82845251461f63d48940414180194078c2d96c6410485f737e93619ea34e4796b0d13d8b27a118392eff0d6bc5bd21f569e729d66e8d304cf51f6d73da77384395c306af18b0189efe264a16f3c5244422d14252f428311c36d51533ed50451579ba0abb55f64cb824c13d9c258a1f89ec6652244f606674db7b46c5371258e54afe57ec9d17288fa92500e981c061ad5fd02a7822c36cc351770b0d62425446f422284997f027b0aec529a30a7170c3397131c9661a739d737f55586d2b2ca9fed11a37ba4259f9fbf72f0d9e144da0894a73217ff40085c1ba1d321f500a5b85f72943e6134b9d15ff486ca11d56e1690c426400154aa4b2f91df49e593c03477176ea8c90750403f36e941a2505ef675b0c374a2d20c8b391001bfaf2511ffa6f53de3e2d295711d9037b43ea6233ce333c5445e32780e5c2498bc7ee6f9bcca901dff52e467341bc4aedac64732be75108d17f4c328a77bd657b23376a810b226e880dcb0f6f6acd15c975b9683ddb3a6e48406c6beaa2612c4059e346882ba420eab35102543c050a060a603c5f81745d99c4fb5d4ce1af4c403a7338a2237b278022ee4c4ff642664e6e512e7eb5612f59128014c54d051ed3c10c02a0440425b1568606a3edb44009ca55005b673e0454fd8c1341100a2a3362973f4d3eda69b1d43b0c070da0697a154e46ecf4095fe660fc709f367a39157fe21a3aa3385eff8efa14377c526175f906072e5b3d11d898f721b26a3f64c440ca68e4a6226cc8c6d64ee5e4fd4fb38ea44a3d0e2205d24bea6099d2233938b5b15e697e59667f01bf6bab0e865c90402411c27aef348a96e323392a2660be50b4142b793f5e0482a13367b2ed6784d0e67460cb106a3e86c25a323a79673b835e3f05e68117a353e903c7d99038c9647f3216b60f58ab1c0f30c10a021bc45a4437c2b118467ba595038411cb5835811a3837d48a40294c8c0c6eb17f0f5888bd39135c2f4d6b05ff1c4e2a2f5d6602b1447c5e3e02485cfe15b737596cec86667722574f275c033c0c550feb433bedde0e7b05dc03e96ad140e5614968b1542f0f1e57d043f319490e176d22415adbb14526431f6a916ea54e905880413a890a67279b49290efcde39f1683d24696ae83bca35892ff9a27303641a9855e892921799e7c11717dc8e2d97e5660c62e00c0d1132da7506fd9b5f3bad230d9fb6102aec0e2239e0322061d65bff482643055a148c2a45485bbc3288e4365a2f2816476ba3fe6f2f93dc3f3cb27533816b045d5db1ee2cd02bc07586f7201270680e6b4d06fe5f81ad822bda060d5b993a5d28b0925b5070131429ad40c53692cb484f613a8e66043d7f65816582420e01bf6cfa5d31730e6f8d106c585517651d58573da8a0548c1b7145c0828a6911d14233a5a0e25f67291655c3051c715b0b8f6c58eb8411d8964c48788fd333e2eb8f60da4a1a434256f569ea9dde534601f93b5ec7e76f9400db6e8186d52b37814222b51a4e0bbb6d293538d74422cc8eb62ff78432242feac40fc407562e8bbd6667e98d71472424995e69fc432c8d61341cdd1e523a9c8a920ab49ae2240a21ac566959c740dd7bf33fa5fa513a5da477383eb0f218428cff30000a2b775bf2d02cce9787409b537a14098b9c0de76ac00aeeba4d31ea9f6a135fcd28237642d35fce17eb1372b4b24152af1e524599ef4c3aa8bb04073df67721ca0c4f494c87702562141b0d286312e560c7473fe3ee423c22bd26f66c284e0f43f9622180fd5125a9e2727858076ba1f47a3428fcc458d0c7ba3f2c68637476214a39bbdada454de3bc283b41e63b27dd0346cecca2584c040041efe858171972a75d1bab0d1734b6ac2915f29e00464cb647303b6c37eeb6e208bbf88718700de739e7a74d664635f3212634772900e39d2638917b16b358063f32d5a959186a0737355ca569fcc3b17672d50a16c81f0b0cd15e50774b15816aef83e4748197bf3ed4b546551fcdf93decba3273fbec9c14b4d6bd64332ab84afd205b496cbfc2575c0ab32039a8bd050e4ca227e9ace21d5b22f80f3733ec5ce3f171082659db6e3c73475cdcc30254ba907a1aff09140523596b27e021671b460ef3537d3a2a5e75215370bd2b7e5d46326042d38af40f1747370fc396562f93b402718481351b02a2272b0f3d482f027288201ccc1208c134785cc1242f6506f9642f15c33876e5ff2c636f156f714a62cf755cd488539fcb3d61a737133aca82be773269f97587eb894358d4f63b4a982c50ce374e77b56ef8340a74097633309421443d854a87140a2cc79e714226a71b670e3292695ff5026ac9666e3610413072e9f0453b78266b3320c4a71aa8f8c51a804dfc38c3fa3937c3e76e53760252144aad6f3267d9a636dfbeff50d591001d84a8085b02106e37738fa30bc9dd14666cfd89102802794cca02b0384877ac0ff1d3a148661254095de0631af59ad22c129a255622fa681252535a4c36f4312d33364101b1991b4e6d9c2f2336114f5e4f450f003f811d01d1f52151f3d8475afb1c5d2ee3501b0280eb2f158e45ff4b94161b17f219ba2f8f537a3b68bfd2729e89333a34ed1f4c72976a2eb0901f31fc05151c24a4966de6500f17fe034f30aec0690bf5a9d519cbb54271a4a49d26079e372b220fea090e51de4c8f95e85bfae3bf4379878474c316743b526c96145139484624b6073db5f4de5ff3e9b93084045721aaae7d0a339c3560fb4bd673e21ce45e3e7172513129dc260a1d2b48fdc6f20f534f7c3982700f057cc463348ae9aa375309e64d13150b715c254f114d632d3739d4ef5f13d4966cba85232bbc3c704643e3f7089d5cc30e7bf00b62b0d1556f9ddfa934ee7b9914e6395844f45eea1491dcef211cf9641a27d24e3aa98816641d41e2422a0874672876080960a1eb5f37c05f03d23ab80db483ac6c34de03583362c444b8d1ba4a1b388f01ff046b4dddf1af2144b0e56218eec46deb29f005361c77574fda284adb0d303f8594061d9e1b211e5038e44964b90352d98ee04835da2f3d6bd4220eaed4dc067a22e12bd2d9ac77b0754f4eba17646fa81e2664a7f8e52bbe6671732c8d2f2db18c101e7e10223e47bae428ac66fd2101b8984d28f1c42713aead094e2475701a3d80667d0fe4524a40010818a2ab4fb25cde261d371d0e9268472368eef30287e7b13a9cba70067524c4726d206a311a9572324cb1013d169a9b0a2d0061585874f654e74a455aac1d622e0dbc4773a10b4d4e2f9aeb61f4b39b59dc45f00d0ad4e1110132c345f9ba4f6158fdc273d7cde1677d8cdd3ada8ab249d468ac1c398943282fd07a47082fbb4b6137a2343166f76ae6af7f5c6a0d8116b27777260d7d281ec2b1fe6c48d6235aebc481581a144033580fb30f6f33a22925a48f4f77946f416d6b3b29337a245808dd0427d67a9954c6a2f31250bbb75658ccd4637472f612d7036437e6efd967eac0151c70575a302685e75ca0e42241bf9e071a1e42df480a48814ba883d54663f8d92e9321046e065e7d6470f54e4d3fce9a2850cd05745ff1427564d2c86a734e45282eb86d6a9d8b7d59c3ea0f50ffb6a245e0c96d14354d785fbad54926515122135dd8f303a2668140c4b45a0da8a22b49c0ec662cdfe1e604acef11260295c9229c6cd91f8636057601a67602463ccf70435d41437b24fa20773bc60b6799eb545f7f5667a3c1784cd1f7e355080b643ae79f986e7c2ac11cc3b38e56c5e7c0136ab45325ef610d40b1557e6956d44a5808545435be7c7a020e528026c512854b7d20e96fc34dbb3cbd99cd4eb7bd7a52c0861625110cd00f68c4c81ae60031080ac29a6e26f9be6140a4b10c655ea643d51cef17477c7c4a144dc175f4fc246a1a3d4076b75cb6101d4a3966494f6f3d820c3c39c80dc9283c2f6b1a1c563c0e60065f59f99fc76d66598e10714747350e3e554f683678151be5c2014f62ec2cb32cd86b6f9f2b65671def4106d8da460dfc5f472b3ede32ec81da3f46d3b220448c1014f84e7f103c279d3f4412c3690e535a4f91ad395e29369620d5726b3bc98ab56eb7cdb51fa643ac5dc0df34411a0f7c2473baa633182b741bfa925915bf92a36e98806361aa16a72d4d7e1b6a4d32ba102568002f9f6b4b701aebe1676ba11743eb4b9d6720360663c586af53ebd77a54d310322b2c15640d538f2d47ae4a8f0120a16003c867a83b0076433d74c3415dd1e3d008812de245971e6576e9ed386638e7a5704bbc65663e81880f44448d02552c41072408036fa7b1c73cc9a1f649f89b385956a64704515ecf1f09910d56146ded065b5d9039fa99e240f204012ff096fe2c65e33b0a09b1fd1c02aa0c5139699821c5944b7203471d4f47fd896420e6d718dce3c74c898c041ac6171977d520ef10b9ff512f0a1dd02b0a7d0f72800e4453f2ae1520d1acc42d64c52a15528be40411192d3d1aab3c5fbd8d8d3e92383356891d92573dcbbe1c6bf8a370f3a13a355c565426ccba3371c37f8f10fbd4185b73579a4ed9576e013a14a6373d5ab90cd48ce20b4ffc2b440a169f2c089833213828231616d5425b0858fd3d00288b1177632406f36e9245ca769d6f768177595723ae60ef6b4f6efe95e2544cdff0280bf8c809d21a820ba9b2c34109d9b56998809c4628e6d614d949762af3a9633ce5d7536d10ce8356fa997811110d964c0e385f28421e366807a1be5c654177412398e92c7382421baa9b4c5877c4dd3099aa853dbb8b9473b2d3dd3479cf1e4b5927a0714348ff4f16d0665602532a081963301aeda7a27571ebb627ec2c01317ba89007babcb04ee17ed7235d2f7f3f3e50ee5cc12453560eaf7b6d64b8d93f2ef0b4543ccb17128f41bd49eb7e0b1ca7419561f2ce9626e2a1a87270f797569e3a6c3cf58229345620972417c9284913d59c0e95213915097867531021591edcef766800000000000000000000000000000000c6130647be207c6dd47be07457f9771d62590a68b701b8285d7b8f7687384c4334617f491f461b51e731a64b5aa8816cbcd14536da7626582e8c0504bf396500b0b9d4060a39b4350c57a15a46cefe2ea6c5b364eca8c2023644ba1b272b2e168940035c40f8db1d93d4d15964e4f804df0ce21e96f1133a2b1b0e33939ea76a546d1310afe02a6ddb7677258eb8530e940b5b6b4eacf6565a367b65e34cc76f19c65c144bd5de31c5d6970223f57f6a8f3bed29e507b343aa78c501c10340658f9e8e1795b0511b1e7fed4255d5f3196f73c92f03c33e28363b4a05a2184227e835990e8dbaa10a58449b09add13f5d3c79bb04d0b63336079a427127e0170d400a8e50902ba21ac1eae642c3e335633cc77c4b1721c65d3d271123921c1e68ddfc3269571ebb0adfe0036a7feffb4332289a3e4b740d408cc7b0158d0dbd1229d5bb48b5a8e9545e2c601422420161f0aff80905ccc7274de7e65af3b2af5a5f9de26192175533e63fd95ce9771f1ea79fe45ebfa3a6723c5ff009047f0a0a7bd38e5a93bf915764e7b833d13fd043b341a4502d7d0130e59a682abb7cfb223d5bb319d305a04140289f582bbda65358b5630014d1b16c4cd8e608600db62ac5dfd94a0a6fe14a4172814e8dc98473dd85c2625e23954340520263b6c64851a6a8b930e5c5743533064c6b381a98476d29a5241611f160f277a666a6c5616a897d4d18a48c4f51840f692a17d34c3f81fa5964168d1a54d440165e01033b723fecb65e6e907b5d693ef52645a93a5a55e76d72dc8ffb45176dd66c4f9a3302f5334921fa27a05d15ea221bf357625a4ccdb1368ebced5869ee37599d9caf17d91a2047013a0027b169180432c9b97706f19969deb82d2ada6f6840a4c6a31dc060e947db1fa40bd788171b4ab6080d83fa9e1b16ba7a3056f7c2636d54aa48c606c559fb614b436a1a5a5897651b21e711c34a3a5c802743236773b02d40108150f71a1c006b7247d7c74fbeb1f7582b1da421902ff43caa977f6ed27a1323ff97e90141da3215685ce1471c6bcc396dda5b6eb4dba3040e27661f13a8954177c7e75f6a6e0d6bb669305419523c770a50296d9237ea5c31d0cc75fe3e5844c57c876095ee5635600c1824cd8d922f54b45b5373188d00cb36430cea98ef2c3b31c329ce788f6630149945f0af6446c0c26358023a390b4b4c9f2825ea4b2965b52d4c3ba43b042a1d84052f0649633751cf5c154b6e1036cb68131efb524be1634f412195655e4d13d235b2293d2020a10b3a9d634427a7ccd80e872a432802b300558d6bf746c1ecc8772a91fd5e741f216f37f5e607bd62ef6fc4bcf1362dcfe3358b703f567111ea403481783df33a2666712f485fd5fb260e984a2e6498b57573e446352619989e55780445559567d06e2b0f4f265415852cb6e0411242de8f13ed6316298cc88269de14a042c05ae066bb8bf61875a4207283a1b2546a1c8402c20c77484042ac766068690f0f336a32a1266d1e85d3e714816b536f56e8cc4c28069b62f9a2932c468b81210a99815d8dee23773e8bb573774a92483280324cec2a4e6598a1c802010d2828bf16561076691f7772cc753462444430f36d3903b1aded62f7d68931c3d4b22ef30a0d7236ee27746b8c410a46d5e65e2bf71d01c691ca6dc397db5fbafa5219cdcdb82892f46c5f65de22676574e00680c91f721ca7a50e0cbc51718a32e969033f3149f08dae55592b09724af9e708d3594a4e887bd32f50c17a2c1d60816266cd3c21c6c3e74f3e9c0748b78e752930246b1af05a633452da99138e83e72decc1a2541c9f2269ee579d1521c7313ea4548641b01baf42d148db68ce15475b4f4dce2221581676937cd904771f034aac03f947235d806af218af255ac6530ff9112523c3006f303de75922c7c231272a239437aee3080cf0bb8372ea5efb11e7bad576163a1f01e330fb2da778a8379279cf75463bba0f3a5f066a8108e73ae417c273f3ec6a566102c5654b70ef2a4fedfd689d514a23b0b935391d5aa932aff0bb5b5a168462a006d63bba5f351453ba3c74addde63282ec4a5e06ca1b1aae76396a1c4b4567b051c626adfd512aa6d0ba0b81af79581e8a1740eef69365fb8bfb693f1be556ae31212a95a6fe5def9bb54e8b793f680b2c52472b700105fb03f91364d26028193a8069ad6056598e7bfe519dbcf40d0eba621079e04908649102062e7e041bd575cc3553931e092719592f9b7c07711b19fa0a190e635b7d60222049eaa0268b293633f516473c5ca627109a887953058c344f8cfb1434ca6a2b5f097e9d0c200f8e49c7e6db09dd9eca370cbb7f5e4ed1593bbae20e5feca1c246ae6f583577d3a05e00a5006bd73bed653cb8f61802cc714e1b01ce377a7cfa1d13bef5180c98d72de6c7d905ca7cc65e7ea8194039b8ee756d1fed10cdcde657cb7d7249efea086abb854b3d8b3cee4d1f3af02ddc217f673e7d1663e48753033cb61c2790fe0074bfebfc25a4bf251a0cd53c737084e03a56ec104a01daf251c46bb6011935e70c41d1533f273f5a4276aff03e56f53b4b2c4e48591f00c95f04015b2a6162406be38e2437d1e53241aad9c21002ae5a497856405869512014edf8880a4bd1304024c3730ca1afa144bd49ec6b41b63a58449d695e6b360a5fcd1bb53ac6e8b16c76d93a14fc83d857b6470f4e36a2596b9cdf0459848a0b0f23194b17ce9b5851ccc6475c47b65247a2219a72a5e8077271a8d3433940b6317d3b4e05a8350f06a1038d0525e94a387a1916041d557303019fec1cf04fa77383d58346fee7df41ccc31a66faf6772db9f5df24cbab8947c71baa75cf066547e4436e68bf603a00fae5bd08f79ef864d4eec353a159517437cc17515cca711d9ef7d51846ed5c3678f1a9535e4e5065c8d4f74fa606de59ba0605212fd335676dfe734edf0fe3728a18c304b62e514d726883225d21c7653ddd452d8bcfea76b7fde963a2f6e12ffd616b65e56142421c1f5f051908d35a2e8e1325fcccd064c1a06a14ace15d18069bb25ba8a84c0e3f7c9241e4c12512e83ddf310d7eef53a12f1d5219cd363fad872c479b3b5b364714a07027920b59b41fdf091e88494bb01d2a60de940a140d011c5283fbf6189ca7ec10c4799b499ffc3f1252507a4d5272c24ea4497b1a48a4c40af5713b6cb4e2bd7601dc9e04704c411db0fc0964be8eb10f9ede6a03dd3fb6715a6e94636881e307528cf35602767e4dec36792371522d3040f3b919c64da10b562e3c382d80611f10b1f93a53954129639e5e47106a575110f9ee36c8fcba2a7de2f858ba93c32f687de261bae7226da957c72a249561181e1eb534937a70744197220554f3824951f0ee39449ffa5d81e7320d8ffebf20f171f06893ddca482b5afc62f0d840336bfb352e5e68ad582293c21deed5536f5fdde90a4a73750c02df0d3d72726826930abe2c0102290960701c6b30d358086dd3a81f7e2ff915b300e152a204fb12d03ef221f318244c3ded8712944e7e20c1e41052364c466fbb766d719bf4c6527a12c7533deb7c5e9d62344cb5c37036ac55e957b74a99234177901a07b24f237fb99f66c4298f6d3716db66a41a9466a224c8105766147148ca4a747aaad5241f07a639877f3f72d6797d47d31e313b608bfe498f12ec0b27417e55c485c24c237874106ab76e75729d891120c5b24976e5125334bcb674ad38c73f4671850ca5233c0d763f3a6eb6c41409fa0f1f20b95f3b15d5dec81a27ae8c563e74165784985f09453c83011425933254b6e3664ee2f63b030d996c5cb54e31e8c34d56fd48611d871de8664cd08134e90401287ebba541a6b8600612ce210f6ec9d0364e39b50e6783aa3f322c9b6ab4a01737c8e0500093ac6e063f4ca66a44564e58f189e8771a101d0d17f9332ba598431ad408df600a7f6f49ddee34466ba1b36a05c5a65bf078ef00553e8f622485ba2ebe778b4ad754385b6f4e77108ad3b131ac1880550e5fa10e8769dd288e4d7e02e4c0f15ab422134d3f9d320b8b1674625f76343c1275315e28a40f0f7b48576e483fb2036421fb2c571c3a2cb12ae46634dc02322711d27343f0a2055187d74a5587352b81e1541f9e13f0566b647c4dbf72601c3f1501340c4aec64eef5d84cbd58da70ef819a351684605ae2522225118a5f2e05627b5276cfd11bbfe52c282e26fb62aac31d2dd3221d408f942c003f3e75335c24ef74544acc0dff29421025d0396f6b965a68b6eb3354b5c4877115f4bb0e3910595bf7a7c80474df1729b8ee4e19b3c45c17a7782262db73fd3b3562115a9e969901c8aef5006b1a4062b8cead5646ad546309e8bc510a0df22276137243e6681a63a9b31d77fd8088380a397e2fffb4d534e7a20c1793f6e905cf8cf8325adf66448bf6c703653f2d659fb8776b8c12306d0235c642d24571276fc7da464cc3506784a2533c32179f6450d48c190a4f80738e1ee03407600b437e0f3542f57486745a0a7c64cac53c26a608de547578ad04dc30d829c46e8d086787a20d9a0a0f59de0f2f4ab44f784d5d36ee6e3a0dca6a6eaef45d9574bd1063876a1738f92d2af2df4c5006f21e4792e2790416e4890683967248f2fbfa28d12af37540a1a9420153af1bdd9fc869f9417b23cd0d2e69e990df68d20a5f0ed42851318fbe2005d4fba172e38b220ae62b4c4ef8abf55e6131c718cad82974319c370a4916cf1159641e3e94f1b02ec5213c2aa2a26f3d43c3f328e2f2025471c06944109b8936f02c1f57aab8ce05bcdf5604e07e99172af0252a6602f329070e3e29ce34ec087b99d938aa816a4782159502d590f74ae6ecab769459ac6eab1ef91422f3563a56f0570f96967a083c7e8004e66ce72657f73b17455ba2640cc1603a7b190b5f71a9cc7374c1a64faa457e18ad8d11406e604c0af494fa20356bb004fd0102167372ea41351c3c1d17312c77dd8b2a427910d45214a9467787e0d25bda6ecd706e7af05335d50b405b90541e09cca63aac608948a93848485ca1e17399178c463ab41c0af1819e0688d0f3648cf2c5603704de30185bb52dffc1e60303cd2c514d9409397d8ba123518984388665825b02f36d3f8df9e56cdce50b1639b1d06b311aed4a3ee30d05ad1f2f538c5e265c22bd34109828655cdbd3a50c66345524e75a3b398997bf4e00bb5a289817e92704f1dd1dc34ae01591e79861b170862d8aad762dbff31365cd16501663b8b23c9aa61f152da1e175ed8cc90851de4f76ae76354613fedd4a87940829c01ded07ecf6695e4403e237f1448c552f601a5e7689ac2f5c4197372033a81c630cc2057073de60a2fce06d21400159249f9401f4d4fd494ff1910d7286d20d8b358e53fc158274fd869f39ff0c955289032a21bc8c4a3622297073f309c74afce2b654470c0f5308126404cdb6f646851e134cd66f242e4a955223679e49080f078f254d50b3170367881cff461a5f2438662ba97cfc154dfa626b4b3e3519f0bc5a193402c80a6c61011a4d7e3a5017894c12e73067613d800273f3673a4c95a2ce6849adc4057e2e9c618b331f364cb3220c8e11c401fb815c4cf4855c1dcf86f54094d24423a2fe901da2b0f70fbdafba761b8c3621eea8096e2a62d83c17b3122b2e7bb0334f64c61f8e7823654991dc3a4acd632d07a0886da5129b7293ede1415715262c33ef194481d9615cc16d035d291b0c0c689ba119ba98e2117aa7e758a132492036ffec211bcb6467287f776453339e45475f4e35ab54f81a0d256137590df20f9b86da4b911f330ee4d3621a88eb646dad64ba52f11462684c10ae20fc7dc75b842a653d8225fe45661dc12b9523d06d8d2d0d20412bf832dee8460129fc506ffe8a25052d296e5c90c2eb01f7278f68ed3a6964f2fad5008d3baa0ff9333c0fe267646b35eb2d02303cee044fce6d755dfb716f71197f6540752b7293ecf52689626f1581a3c0609db2b46199a0124b62494f03aa0f3d197490941f9564dc229190e9176c05a4722bc28a0d4600be4715415c7689283839950281386e7d692f792959124c54d42f35dbcd7412ac2b743848916b030ebd1a03d3296bd952d80809540d66918dc31b7a6cc63d8c517f3da40f593d7110a313233d3d663b8a0500071bf905fb5c04117bde0a2775e49905296fc1103f72087365223f1b94ca1b61c032bc31c56a6b3bdfe4120e997fbe25a5d52e716cbd8933c957bc72ab93565d1c773b58581b8a15910524189cac535cbfcdaf3b70ee6363be37446a228dd820fdef1b050e2859721a70ca5fb0b93e6503d6862a0d78b73ac87c013bbb7e3271d7366e53101e6a2ee3c4e045cba16c4527473a33a762fa2c8270ce070c169323234ca846db0da848405eed3830140971d1f2dc7622bb2a74e4b399590dc036605c7f17356aad6d1abb1e2f239c595b5acd5b1d4c0ac8a9269b911b4a8e699f76490d881886d3f206635d9b4acc7f8b377bc55203d14c0a49a10b87686d71b44f716d3a4a38be823865a1f66b8a82d8268d08412f4ed5ba3ff2cdeb34f40562416b5d9e138ec6726b16bfc55d6f88f35c49b31e266fe1ce1bb39b7c2c7cd6af25896a743bfdd5410529797b2eb3299a4f03da1c56b371dd42a4a89d146e245f464b84fd15e9ac932a66f8c8686c96281e11390a352f55f022b2348f61f8108a56efd5be0fccc8cd51100ff3454e7fb84692587c764c1ecf6dd690736195eae2602904ed0d6581a84a6235092d324366231c7d5b74bccbfe24a131f42da850b43a5c82803b0bc48600db841d0d9b080f7787218e292d8b3909a7e77c637e167f56b2f0134f4c270500839bb155cfcdfc5b692b104c26cdef567522a54d95cec753ea93376815bb116a55f49174c7a189052809f101ec80a761e4040750de3e9f28ffd9ad502cde63599d6ad8745b078e3c9722476507ba3962627654113f5df90ef6409b2e57b28b0f340bc625d5bace00d51e50212d51d442d2b54121fee7e7250f6dd0635edd2237512157567e92b8174349a356d9dfd75d2126076c560dde42103e511a4ab65e5331b6f325af38770c0227274d02d2171708a92f421488af315e06995c0bd5dd404e70353cc028815de6a91b43b2458e275ed6f465866a1d685d887b5510010a18415b4c404236e31db962cf60a9a4210b6969b21538d2885ce8843e4083c892684774ac499a60355923ae742281a6dd57bcf6482865b95870bced1e5c05817e58d870566f1030b67554540473c7f6fd6f9463f2402beef55409d20a51e5c32424c0cd1700c84a10778ec91c30b0df572ee6b3ea3256292f5636d7a1490cc5ed5de16f39590f9bdf6733f9be355b2168257cac4d2051d5c06dbaa75c39ef140f34bc7029560d02ef6fb5e0881c3c2dff6565d7684404f0a1740076835eb3105133b8c6632344381c1202e13b627c3e79184406f1343ce0002cc706500a61692d052a6f251ff544a802a1b30405cb731953b06cfb5382c0990152e73c33ef9f854398b28636c2503d60fea4a306e1f4d07708d0b626bad3e0004a1f76710556ac03560678078cdb9a2c91f942676d16982bad16d06b3d27c63e248b345abc5845111741a163192dc256bd54014ed7a34b2b3997a258caa0560c5141b12a524c7267d0a21c6ab2308117b145c34fad08a90dd43a5c52f5d05b68834ced329edab9062e9e5a4fbcc32c38ca48eb1cbfb1743ec606f22ab8aa0e680121551572f56754e44395406a9aa31d7ba8c21c01f2a862b5cb1943a11f4e6f16017273131ab115d6c79270e7d6c55127881b5f1ed666387de6f314b3b4be15e286d808c0fef16ae43d4400823ad71401fe155f39861c6f1d9625091b9d0b205a539f3a07a8b2634cdbd353f7152224554b7e2ede878d4367af05643cd5e575af48616be4dad839c770db40aea7bc36ffd93849d428bc1e7ce00e287817fa5838304427bec2706e9e28572ed1b3ba1e01a37d6e88c6b434c1d7f56f6f34cd431edb7b2f99cc66624d30a804bd635f5e184d5a5889f2344976f7b6238a871258f2cc4d5fa7f0d810114e671e81deb35e6336dd0cd822a065cf551e348ef93656da6e41122957a877361fa055dd72890b9fd7400d6584f36c1de0144f9be8e13b8fc1de57cebf973aef02fa6fdcc25d4382aad41191781a04833c90368c9fc02c5076bf5654755423dd5679191bc2646aa475d95a72dd93664f76132363c58740254d3a5901f635749828eb03dc06d6728892552a11de466b22f6a2703136a80c98ee923e40a6562b5335fa700876852fc8b2e025e41761639f7a322869a934277fc1e2218ba91d6d341e5410e8d39701c8a5c05bea43c776c5d9f4463113bd0c793ad466c4950f2e25697074f670e37318fe052f0b2e2745aa64181bb77f8115ca90d93c7a6d897326e0a2130d7ac30039165d079bb7003198928c255a7c604e8cfe91473ebb67030bac73747eb8315716ad1d260cd7ce39f471010fe6487b2369c3ea5a632bde1061beae31649a581bd775372b4a98af0f3476b0016dc8ee2bc7f9270f8719584a0b93a1583562d860812e8740f029c93345fb6a0b644e2612e47e76138c9b146f24af2e4044e7f80a81fc4e6c1ebf3d738f501700bee4740a88a45a5f1d82054ed501625e92310a33c5d26f5455d9fe4e00d53a00b3f6613aa4c7d400392136043d85ab07ed172e68b876fb39b483a02cc900ae2f3baf1c1a2ec78848f50221536b0d275b168051253b5eca168f836341ae202d374d2b4d0fd428966972479a35e4148e004148974f0b058a2b7f580d281f280b0973db240c46b85a0f673e3a59bd619617ba08d161c0951663e19ea9028c80460b57515316450be21266ecf313008e4f4c109508089b133f0dfb488f0939f5a0526585ff5ae2d1a2226e69eb1adc73276a5aa91c07c0514e22214d3a75f06bbc2babf79d658fea9748e84a8a1ae1fe550fe52e06744a7aa456d546504e4b96f00cc7fe000e6d0d2f223c3e0f29cf736d5fd81c614f599675733c3ff0293564236c975cb3753ae3d735eb2039505cb3f25fd1fb94081c27ee562733262190a84e00f9151041cc633b6567fb4b76f70f6c378fc0596f7d015641de48710e2f61144dc7f8066b8beedd68fab22e512bca871b8d7b4c08e71a5162a8a8152c1550367677438326ef9d391fad430a31213e6e56e191432dee49bd4fcdbd9551d8398311e7668647ddb83a4021e5cf288336b820ccde2c489eb3310ebe4ec46361cbe70e1745d9136a0c9d775d8f886408b14b1bd4c12b3fa47b7e439fd44a1741cef470247f51749e8d095b291826577654ba190d8f291f53dce360004fe646f3d75336c89d03013929c136493c160c51cdad335f58103f1605e016c7dbfb4374f6fe34cd15e8658c6b654dfdaf681ad8cefb13abbee3698135a471402ee326c5fc10233c6f0d57c862b03975e5f63c104bfd05b588593bb2be7b7203add1331dd3c742335e4d5fb436716a464d386621e50d688598cf2adcb4a2385cf1571c88062274905b84024f39d96c3bb2e91f5202bc00f758af0c830882216ece3322429eef751ee75933f3aba45f55803768dd66d65b0deff0346733d4628b99e92ac8e26c191a77ed21992769202694546844d6b9568375340721d4af0883a1eb68b2e3cc1e95097c2b6f567b315ceafa19eaf4820dcfc6af6b10089b298f968d15678a400adf91e2023d115e4502497554599ec73e86901c2cfac7515d02dca5372861f41a9bff5d154591bd27062b7517a1bc042b73b9135d09815622b8ad322ab32cd63f76169a049c29a804d58d930297c73d20ba30632f1e695c273ed03648cb8a3b2dba024d73a896ef0c7afcbd603d4c58718ee37f44b8b5080feea6e63e4b5e5f55b422e9776e7b445bf37f432c1ee87b4cd39246407b7c0b32c21519267a1d2952f195656772219a048fe6c340b9c78b45e65f9f517265512ae01ca1098d7e0b1c40a45138440b784e27d29c6cb4c19017440ef1003137bd77141c6c389cfb1c732298b1026f05bc5472c11722d432d51e855c965e9567f219cd3f443f89121435cf63491139a2e8140326b75f246b834f8980ac08f1a4b0242219a7540865fc20b5e0960dcf4e5268b0a6dc63bd1ac7130de2f30862a0df4d9e550e5fedc47219727df24e5c447528a6f3744fecb72933a80d4c5180a7c049fbd1c357ee65f52d3e274f04cf573c6f56287803bdf60714a03df03188288b75ad85f6071c144a648afd251fb12b0b415d761e3e3e0ec74fe1525f390c3bea33c13fe32b7b3fa84ca0237a62b4514800a9663f317c4ee55c1aa90448836cf710bebdb00c16d3b22e3d242a7674b2b941616118772941415925cee374f4b46558c814345bac09ce2dd658dd683ccaea3a38929566b19a5c295d3c7b44fd6f0259dc435d48a4e8612d4d5e5649923f2d01bd85385c2faefd4773e4982218686a2b746d0526f6e1ea08f655273e1d2726548181a563dcaf0e27edee33680a00997415cc856a1af39e6b9bd3d26bb02133666e64af56c1a3701e51431a051347b83f9cafd1375962c506347d5a43bdcb9656308d3028f9725252b370a45cbdd614689b34853a5ba57949c023b235a72fd50d3c8f180305f302735984585552e473672f58211cf518ca597ba8f632134fae11ad0f253d1ce33b571270f93c27e1cd4c902c1571c0bf0338437b1949364a7808e7cd1b2f7d4f4d728a272511d76cd64cd373ba55d6dff1157f11113b90a1d537eda5f313ca0e0214b85b3f38298b672caa9be2552434c752e5c43f75f01cd351b3229a20a758af42054b55012dcd3c1a141a7c21d648a136abf34a2ea548051c38ca17134ff853152db013129c23b31037903e1bc738c5730b4fc3396ac98a3d71f5a6127f2f8e2230990b2ee30e9a0e2b478a30827ead1556c3664ba844462b7d68dc62a53d05685731f54aeb24623e8c1ac72d3c6bb22d8fa6562e6765dc5b2942ef19f969373775ad9c6bae798333a66abd102071c2561061ea0c8fb74816c87900453dd5c9667e5c8f4399680638e89e2233544a632f3a3f065c859f60665fc260702604196e368db50dc468e538bf04771076fe313c83871d5f46423d08b3140e148b37a33dd140bb5ab6fed55746b9d04d119aa3480cbd5137ed74ac289fb0b951ad359a5c62abc64c0ad22a088eba6c03d5f2df5fd3f45e26cf7d8d1590a6a637a0d8fe01e0e3443c829f7c2d37caf0555448600ba3a1a2105b66606982578f2931a23316b76c772fb783da7339ad951cbd960730ffa047266e7c8f5a27a7ac5f82c20c4177a3ba67fdfc2d644812c453b982643e222ace196cfa3c1377ff8b195cc2fb1d8e4488639082296156c2fd29fec6340f25e59c3848d9552a7ac9c45781aa4c0bac9db446d150ff6db811ef33eb92fe0709531912472f710295b2f61ab5da875b4b1f7b3127ac205860f41c13840b7d4c147e5d56605555736bf3be3cbaac93666e765a668f7a87494a2db917cd004d251d3cc55b6aef976964f18c199705b44580f1bb2721d37a15599f1f481e53977363e3ae17e5a69d026c7c3074caf78e6db4e3215bd6518448f4e1186928ae4d73bc36c257b06a4b623df6c8029381c03c673a356578cd6873a928190e42eead3d63059330213a4226dadd355c14e9a91aa32277397788cd514ff57c4163b5c66626756202ea8e4357502e902f8735931efaff0a142e8e3f67c4d376241dfe9141200b35384425ec04908934724576c227169d9217f9343d23a70029102627d6548ae32f77a711491723f9923a7464b0150b50ca5c4797a502997dfb55263ccf733d8806586625901dada9c2062eb9885dce6b4f09e0e7331b64e05e07f2ef4b1803b86372cd9e972124069731dee8e8553d15e42f243dee04c0a58c415d8af35092886a2ba7f223738a01f172aa5cff59bba3b32c45ae270398d1b40aaf235851ffb7563326b414690bfe5b67212f0028c6bde97384414f580808ad5693a0d841b1911a266666b12835077170c58b3075338406507147025252510b4cc3280f113901d42728bf5a61740a19221a83181c71eb5f07f2d7844ae74f9e5eb88cbf1d8523ef3512e2647066ac2c01077e546e4fca600c6d053e1316f2c24bad04b706f2adaf66e69f223145f34e58d18d693f5e08d211eca4da305ebd50370eb4d075d9ee5240e4c82657518e2533105128317fd4071864f66049fde559116752342bd9d16575a1a1cc22d88b0865a88a046904d5686c0f183104ed47f40eccb1402fd0f6d832f42b954814e6326be12fbc73043cfc23a66e3936c8578e24670bf83875cf8f3fdf6eaa401d85592bd890fa1e9bd475691db16021cbce1431f8641a1609fcf16a879b464abd781c66a164b66c91a7741930e63520b3df736242f0a1661d972f14e8e9ce3466ae263389b9204ed148d117c35b165db5eac52bc5bc933462074f6d814a4343213acd6e869e607009e8b06a733f8c64bc132c69e5d24a3cd1d2961b791a355d9dc1f41be5dba676f7671f09dcc6f26c37272a2d70577964f661e71560a07332b6c06f6bfcb33b142a21a11f31f6747717a7591f9e1d591b18926e1a1fae8854f4163075433ead4a0bac096ac513090b3c19bc6ccb2f2e4ec530341621ee645c3dc32f409bda23426e27b6432ddcee762647a73f643b4d4e1162b94334d8de73a857f854e5b8cb1b6ea5674f23ba6149295cb7295f008042a2580a3cf540fc016861a3053cbc231fbcdeb7348d77cd5630d00b39ac53e0343336c8564236333c532b712a37e8f512f785ac5bb74c174fd5bec14cbc4b984fdd7ad358a6587c3ac799dd1ac1656e176a34625ded6fea3f8037d5250e263836fc63fa09f4e6b3415d7c94235abe6e1d5184fb6a20e8220ea86aff09ea494b1b9709e70efca72758a4bacc17f5f6d335522a6734f70e961717e6ce13b0949442ad434d5a0599ca0920df283c5c2b4f76b3f311422090380b9b280860c8139174313a251b6520235c6afc3111f450b104a6c9630c6a386d1262736f431c0d40205c840d66b4f7817553244d1d6a993f3999132c36b52b5a0e8cc77c341c7e0a6d1541cd512adf8476c35d5e0b0a3cb14892c6be39b429a4536cb4e04c0594b831cc103265f11edd4e3ebc9c2de5e2665dc33add3ef40fdf5f8b307425e626d953fec14b60482af870cfcfed76ea12ad2ef0057022404a9654f5f8f971e58fd50288d54e44c5635339fa00d75731cb9856e7173f32867c97110649af04931e5546d7067a5f1719af541efbf0623a9d3b67e951944086c6b167f70dff68ad2b2e762324fe5f99d94f4631a4eb13f3206d117fc81920c037f945ed633f2aa175035c77e23a38e11e831d4448165773f53464ea6ee26a6e26271dc87d57130676af308f35af75b1625326daec924b10cab01dbaa9ed0594f6372218a5666a22b7702d0e4e26598c88a405ecf78a44adae320a4b1c022b35f4322bd8cdfa10abd0de069b62c867d8913532921d744a5692846e27b2b40d864f2569ca72dd23293183539fd9ab6b69a2113052f4474f814ac23632dac14d7514c71193947f2e6f7e7c555ba32801ff844621242e1311c42b1300e6862060bdc09f7102f1df6fda44f12362d888116b05df1d25053b1a7fb1bc154adb734552b3c6646df45e40b11e350300adcc0e08bd673c68b6015a64049035f3432d15c80146470174a74d1810955e44222c09af88604803e23b372ccc1f50fa0f2157be4ed16adad57c5fc71a7d68e899af2975f63566ff57cf3c753f601be33a82627720694f3b7fe81ed95b986b02486c23258f550d647f5a3a26c63e58bc0b4301d5bb6d049e651316ed38c5233719d122e57cc8226e182562340ce95ed98841529a4a1e579eb8426af94dd32420c3af48a1cc845130062c4e601ecd06cd81c54cb2cf09662ad2dc43e3576e1b505762653e726c3d46e81f426878187648ffad5416c52f1a37a25427480ef83dee59df38084f03514336685ab96c0f5b747d6348e3a2f86f4f3629741f5f4c301a279c0f892ab2768456c018daddfa5dab23c972509943152cda741d26069953a5e72e7384eda55d17f3733b623f733d14a3a6352b50042754a2b81b7826615a6270120c66efec499bf05e24249b00239785b042c89532128990fb40a44d477572e7514b881aab293e802a1d71dd855c8d56fa70fcca6469acb3ff482c602f0dfa844c5f506a1a2d2b1633379a430f2e2849352bf192e269140a4903e6e1bc6a09153272b91bef31e3727745d0c6e9114d1b905fcc684070ccd6c360255fbc699d66ab1c65093140d76eeb2209273b0071e720315eaa49550c51786a8192d10d5e0ec11e54439b1287708867a1d50c2eb8b9971d9b00666f0f3c2114683dc3564c7e4d6e7b2fd51f78696e0b2ee79847ffd1920355677313d1f6ee6b863a49357fa4e82853da5c121248283e3170805d32785b72163d263fd2be16480be2eb2d921727014ab0c803454cdf23dd52f752773b8e1b57341259a90b043a68531347ee005c49f7f11f2fc8aa1950a09d1c72d29b62207e330b16878a5b76c33d3a0ec54cd14dd24dc11a523d025a71986627851ac8385543af50fd4df8226794a5200ef2dd5373277e5943d3616bc6d946480dc65a4d67ef58404dbfe55d53e49860ab524f6f8d5a3b5bbea9722cb059456a655b5310742228124402d32587bf700ff8c4de39817fd6648a305861449cdc655af8153782dd6f1173de6364802d7009c7d1bf33f60f854c5dcad42b36b8021e3146e0111adcb254ddd27e0aee6e0a24f3da814537312b56b54c0f491174ce0cbe3b3c0dab0c861a213db806efa6fb184dd07431efa51d06b4cb7358d187ca39cbd71a40141006184b2ab01c70a8d16a09bb5d20f2c83d33bc88316970af4a249a03df02ae24840393e3c31a2e62b6307e87715156a20704b5be640e30c0ae2e8368494f9a671e7648268d6e35e0720fc7b6be1c8b5bbc2240f2e610f8ba89302bbf9c54f12ebf1bdcef976e74b30b737bf9fb4b9cef2746b7a1f45bf3dd633127eec55f740e5a3caee765681b0ee17307290e0261b1e61f2ef2af407df5605bc0dcd33f18b1c760706ead717961f349884592353733a124a003634518a15b42b358ad0c75fdf11be309a34aa314f934eab8f332a89ef57277c4d77238c75b349416d24a9cc15c346260d00aa06d9064c7cea4414d56ea09baf7af479e50d50f88bb1b05d1fda96cdad7de3eb5f7960c49666f0e22ebf11e548e56208d5bf75ac741f54e1c65a3187546fa2fe580ca51b170d81aee119d219e8ddc3633f9424680d3695f04fc006318d54d186d720561418aad52bc73e8519ea24d548ccdf3169d3e28621dd73c359f7b466db1d6912d926f8030cfd0143d42facd3174e24a01bcca042ebd7ece0e6fc8251508df2d66597dda2cfa5a4728fcc51404e1797a6bfe526b61ab93c56a88e95b05dbe5cb1ce422ef374162b67747895728dccb1f3fe2769a24be40073806588564615ae1584f367e04adde214f212e6d39ef9040090210dc38aa95831ca4594839148e4c01a7fb101d1303df0cf818690e5205226aa3ae9834c1d16b4be1f0c6696e630b4153b1266c8c5b780038f8df66b12bcd10d4a33055cfdd3d380cb0777100f7c02b2fd7d03e40571218bb0367079ed60a0bf45349404567a8690c79e53886fa1f6a9e28493ffe39b025e2d1f4734a61af34c4a38b0e8cea37141159f343d906665d1a944f22e0ddba3464bddc1cf883e40098cd7a67708ff74f00484b5990914221a0f84f078dfbd138fd411477eb186c364e57b03ad7987603cc595c626925191327ab6413b2b7bf6606658d3c4eba193f0ee50b24249db153548fd40d2010550ad8eabf04bb0b86198267263ee37ef92e61085453b8ed88386e41663e766c4b50e9745a47e67d3e4c38fef5358f903c1a2e1c653f234aca3d09e5305bfb00d16f4135381d2c35d75dc9db2e2d00b43d4c712d000cb2133b2bccf86833f6083562522c755a884e044137273d6791b6a446774ba470daaeec73b5199d719d95980b67c403232d6101188a25c641e63349072470e7720f01192a4df1c168493a55016a4904264e04666e78b2c65e0ec9f1767f714930c8b85859548f130a25b4d3222adc1b7376f8742a2f249130d001cf71fe9f5f4802853620ab15a159b08661617a0bde1a727d000d5ff2000213a8e3481285a875f0b6c602ad26cd5dd57e033e4f80a72b296a812d1b16365a3560d052ffdf23273e609a27dd2cd941f0f1ed4308d359735c630477d0d9a51055afc0054c85a73c711da76c4abe93204bb0d672d221b70ba3834c5f0daeca2f7b8e9339cdf7274460ab3606e9b2d91466883f34f317472fb008cf47c81c7e1acfa1c8391dc8146132dd8750a331fd5c4f4c95666f56641c705b375ff2d8525bf1fb0015da696d48c9874c434269b30cc301206ec8774b44cd4f1877b25aeb0538832f0a34e4dc4f151fa24cb9e2cf5edfcfdd721638ce2ac468aa7278c0c704007a256f4218d153c980d963985ac86ce89cda2ba3b8e864d9d6375badc8793f602ebd1b66690e2f5e4c63541b4e9e2bbf18486d60b02015b32e52229381172b42eccf53738a6d47098fc53bcda9fb06b8d5c72da3231250e3fa7622f42d0104a8814f0126ea5e73db72716e80acc7643c55dc5bbaca7528e07d5835ce18cd3516ea952aabbb3f755765402b903a6f4cababeb1320168c318253083657939c25ad678b3caebe08068caa7f2874ba4c3996d3e70dceb1c1564c691a7737e82f401e9e72697e4c5a57a1ca367025b3ab5b4f1a694809cc344ff9922a2c68e1fb6090c4051388f6ac0a1df546106368c02d74766f3f3ee6473aa978b10c3730b610cd5b964902f4c8183f57923792762367cc30190981326f364f94bc0fd802bb390b5f7072b8dbe708e843bb1db6aacf2b4cbe7d6f3804c208c573d21e05e7863b0ca3cd1fe34d875db5339d063ef1ca1606c6fd6a672f530b1fcdab5a4cdb731b21c2b43d162515074e60f54cbb802e3d16322610dc814e4c573a813f62306053b21fe75747b5e2005d8c7d76f65015121213110ae76763313ee733395f1dea1676d6c13e28271c195f31f847ecc9256741e6a0183ecdae7289c08812642d0f6b7d0900204a66ed5ac89e8809aa5fd92bdd0ee23ed6e9f35bc93c8c4e720f06133cc1276be880950d81ea496e3c032b5d2124bd216235cb1d9402fc0d5c1c90129633d41fba995017bfee9e701caf325b00a04b2715c1bc2488c067635745cc0cf826be38e448ef1d789258636e60251689a1b92d0ca22954cf245f08a2ba0150a3cf2b2be3fbc865d04f11014f93a858e9a84722e5b4a01897ccf9046d5404114a97190ccf478d4769fd592f8ea8e06b85edb96f022c596373d2af2f8f57fb40aa2fed2ababdd26dd15a91717934645db12480387ce78d31f9af07154b06d26fb49d4211a9e8814b62f3a8496678cb483e348c5904f3971a9183671d6785486538e24477f6a50a4fcb9f025a13ab232a9056f36835b95b46d8939d184e9f87577fb8a9185089e6670e027c318b923038a1154831fc209c2c57d5184c549d0b44b30d9030838ad221985a561cae646e37c5495f57c462126895aae7526d92266b7bcf4603aa42691e65da73733de0676cd5beb444b377cd192855044629ea3f0540bdce52530c613bc41e6e3b4ed1c32c2b352d2a512177777c1f67259c440004f8a9b23cf994ea498a9e5115c35e5e1700134f12f01ee241c6b0df5ef64fdd4aaac24b31a8a60e4112e4f15d6354752bd2d30d556dd3f76cd5a3e544ae68f55aa623823c799b0f340a054c6bad754656b23bf03557df940e45324d5339ced60008905111d2c70949ac381751070ec2608348115b1c184713d4747c4cda1f7926b7f86674307fac62c705b9620d3d13436c724e5bb45417072d27501200490732bf41942e5e982f642f755374d434571038158056ccd9d607c7a2fa6c2832d111f6728e6efa6fc520c4f6232a73001a623c94355e36c3075b75235752d1506d246dfdcf3b3482e20d5c03ad1ea9d7694759b3ae0ddd2f210acb8cdf3a7a834632915852734841f1226edfc275710d2c158d3599365d04b40670bca037b7fba9267ef2833f0bbafd5cde64465d539bd1505c4aa542b749ec1ec19771657886915bcdda6d2108d0ae5baf0c8276b3fe5045d905fc7436dd8d3eea5a7326c1de1a684ffbad0c63f23d1b91d59c28d91b5c21de6bf030298fd547b4a2e530e706190e256bd2746c1830160b5030325ec2c064b40a3374b99738614d7b8e762f8da116fe916a02a6bbc215cdb1012f57cf5321bbba1b647ff23565095f4b09508c506d84fbd972aea9f936e9fe192e2ac28d623d77be10e1949676b0f86f2eff41be3eee47f9626b59414b711ae034af7cbd278c20570fa24b4f6d47dc8f21acbab83e3a97d61588fa7e07583b58037b8cee25704a704d52dd3741e77fac22f89ab80650e58943fdbfab0e1a00af0deab8fe35a0d851287b05c75229f11744cefff94515671c3c7e89ef4c8949f75402c1930f745d9b6db2d1cf529e52b671c67597385c3c490517982c35a0339a6cb5174019ddd77f1227070a52909c1d4d03024f2dc0c77568b191ab59abd13e46dbf9f973209d8e134a64a610604900562daf921040ad3c2a16dbd2416b1f5143a1b6713fa7fbf160ba44b01be9e8ee2d23f3da7011dca51fe16e7b537ef6ad2c8ccdef47080b413d5f33900c2412b1121c0e8306e206844809bed95867a02a11fd69126db128800b270f580dd15e76673ffa2f71caf317501b18830c32bfde6528299b169e639a64d2c9cf0b1d8d8b76cf490f60cb67b7683dd65f5db308a55ce1482b5b8c22771e78de9c255188fd40a3a1ee0146d45b31c89d5c593aa9b44195d1244492c36307b58ad367c8e5c55cdb58271f2048dc18dbc1344207f673192f80a843ac5e4949b34fda03bbbfd06f5390962404e8262e2f8fc153819b14348628e543b75a120514bf752f5593f96249620c0538a79a13eaef6b1a98219b4f697ff561e2dd815ddd9d94194dcb0e0174d0402ddea6793889a068262c2197676b9a7621e1626a73b490751e72c3420dcc8b345f79ae053721ff750ceca2425f7227ef364659eb08c96cad4a2fa270374e29f921a7ff235ddcf70958b16d4c017fe67131ae359f3175d56d5e7bae3174baf59319efc44a23f0784933b545241eac10b42d3e30124c4884770c0d6d0531565ab259ed8c9d01ca661341bc4f275a75c9653a84b439065c56f5493a5e8b6d216f78493b78d6726953d70728027c67c24ac5597890c4756b610e557df85f0bbdd0e035c73c6d6fcf1cab69d5f5c31c7b0a12214bf477265acd115a3e6e8411e3b0b128980e8940e9356003ea01ba4e59c9321039af09256c246f162097046af02ca36147a67f3ab77d630318081c067b6d50700e5a6d770823571bef8065529b056520c7a08d196c20d16a8dbe365fa61b37720765c7635233ae6b9fcbed32e198ec0ca6105260471df03cb6203e1c83d026439c69e205cb278d4027e79a2c311a002c08cf4d65f817b62fe019003a4b8602031ee74e76d77601469e1be85b07645012a38c45347a68e0174aeeea16c733d16734383a373be55e531d8f5434711296486dbbd51dcc2eb105d1012c15097337272213bf44ed317a544ac25f60bbf16f35ae933e243d01b356d904bc355672676eb780dd6ed2fe0619c7314a2d14f11e6dea89d23ba8d02f39de6d5d23a7fb0f6a39d6f90b9f5b814e75415e75352ba177cc766f67cdd17817e042f267c1c9d94f134ce1268fe89075dfcb3d366513d4049fed6526eeafe44115eb402b7c3ac1614773084c0aba8e55d43dd92a33ae3e2f4a730d61045a7908a47e1058723901656ec2065bd4b9334514a22d2b896b982340aabd17085e31462e1406137a03f44d3b307040ea6b58507a71f05a3c946a1e6c7488746c8b416df3d4bb4c1dd36e559e15a25c4f5de807c252166ba2b48d615c671916ea913f646f8c605e9270022cfcfe55044c1494070e54d9317d3b1944db7b043786e09b22434de52e01c5d54114f3f219b5b30313e8049f288c88df262608dc6bc311082997e9e4763f9a470470ec523fed16121fa1bef367b97472700c86310fed87600362e19a218fa3d7632a0c5c10c724fd1a3a966f629313c320ab96831bc8ec37589880d9557bc03b41ebbb2e6f55b7f245f2ca6a2042345f32917f126de31744046edf3815e14c6a21ea8ddd6af029de3c7305a923d64ecc61d1186e691ddb2b516c1fc92175fedf73e4f0a843ec2c271b8e1a711a4dc6e36a71fb223771daa615de2caf1958fe780f57f909178703e41a16f1772df17dff0c24c5300f9c236826a5080c72c0a4d548bfcbc860088fbe18fe639711728d0467f792cd5dd50d5422add3e6326534f4187b916a44cf7d9239d2893f74e7d5f34c510a25756d1bcb2e1b05722ee45b014e5775cf64fa51336e70cb2c4052b42622ab346c2451bbd42ec5586537a21a7665fc94a43ae67bca5e20255249535fb86d5ec0390756731d5df7897e46f3b36204d89feb1199a639703591d70a8905e30c231a2532d5e84f3b94b5916c5d8479349e27ea1d4200fc0e2d3cab75a935e34ab93a8a0cd34e6b4ec3288d1e6bef690b8381252ae297fb74c673d13526f5673d5f019d585bcca73b4065946ef71f1f4ec9a0d419b8e5890b3d342a17c8b934249d16e9079acf106069b66a275b35c938192ac46f98bb4e5b4c3a0211922e631bdbdce16d10e1f17707709323627d520d00000000def6b16fb9b1040e44176f0bbdf1d7243e81603a4c3cf12f490819129edfdf1428dce6096e3827445c52cc206a863b1a5d943e743c014d0b545aed03b7e9576aee8cef3779ad9f54364d053056cc166d903e4f757818195f97cf414fcb1ff87163aa714938eb363f85e790046dec9455efbf2f52a46c78457cb08317fa8ea0636a9a966a2a1f2f74cb1a730659b33443ee69fd677f330f30016d954617e462664d53896702e5516be8772d570c1b78617bd7d639bf71455974624667f1454d103a44cf5d7820ba10b32b5b36608f3c73726f2a008e7be876816581551010d557ded26b61c63edc3e87d8323b6e5aab536a6afb3b125de648f5d1171023afe9323d5f4c0f9f087a148fc7fd2d17953e34d3a95305555a8c031757641b25ba1826d4e708448472934211100b58b4ca9e37a258a76b4a43f3378c34d337b637641a543d1a76389c72156cf39a256ad0f5755fb01d67428a9559465a9543dfb9a510daa5d90ea43f3f771abfb53c55868f05cb1374066ce79447b065211006dfda683caca56d8085d64effc25c0d6324e048fbe321267235e0104f00612a6386d64ceafb9d1fbda13f07bdc13a2127e99443408e656880aab265d696981ed127f80c02e29176e24dc7055816fd0494e6d6106dcd3b5e1b03e85042b3a0501d3d7e69d56462588ef2ec568c399e33d710f11a051f8f596d7cb62c5b4613114c3ddb43d131474fcaa85e1427878d44c939b10bbc7b0b5e4142241e50df6b6a6cac1c56af94b360d62c0322eeb58d2b5f195102b525b31bcc44e0128c4a106b5da9fc5a8e90b859d71e22689fe8091bfef34b2b09c75f1f511d222e5d5ec32eea48fb337ff20a66d7a16158ba9fed07a7f7f9473f14840e737dc3179b7897596db0915dae7cee4253bf2a56f5e2cb0dfc16d6734455be186723d54456ef4745ab9e3d46e92d936125d0dc6ccef824543cb62b26a4d16353e0f43a64f47bbf5faf2e2f6ee542ce08b7947735e4f28d539f27ad69355f3b3534ac042c6f5d7153249988008dc3114faba49226d1ee64445f86e81e4cf3c3193d2672540bc7f8577822f86f10087770ce348d0e31442e488cc77313e8bd8e7192fb270e99234d34572cc8199af7e441416195741299be05587e8a1e9270712c3ca0db5b59d142047d0fd405f161c43c9186212c57cd2900ca769d017a963e34aa5dc40b93da13143737fc4308f80818105dae145124ea1d67ba536c7daf0639c97fb715d60eb34075df29067237e03a4b54c46c1e5dea0c33ae25621d3246201b58066e58741f77a89ee14cf357bd2fef7e0012609b3f6eec36096e4ae7bc4f528b933604c5b367d102c952df34834f53aa99654eac6343a54b4f5b1b530161eca7964e02df6726d92670151361fd4c8fce1a2bc173b0594ecb6a35712003586eeccf1a18a00c4e9c578b5e3b7ba7171a73752365a13211ea6b4b0a4647b151a133fb540cd3a1703989f33b89751301caba5c6d93f3944e7e28cc1b4981a07720e8ba31f5dd5653ae7ffe0c75e0393f99787f0a83242b35fdae3049ca83d7322dce0b49d9a6bf250030cf46bec3fb1fb8455e1a6acbb86932596153fec2a05d57e10172359c3237ba37df1edcf6f86f7dbbff6416b2a95899c13c0879f74d6132b2c6248ce6fd40f4a1f90d2f93ed386bab5576d89adb3f475e045edb4b99367111b1398b7e8a40d5cce9450da467067ff8556e92dad6533bc6e304be62d74373b95b76b7c4c23302c80f6bd8d9054621b9f339f0dc3867dbde5252e408172d728d884d90618b583eed7d23ca973e684e9bd57040bbad67b997216c8bfad7162d0bcd5329a1766eaae855451ceb0e2468720963d40828456b7c5266f242c71e692a7d50da00a96f20b33548823b513f88e43a03f504af2bb66de23dfc4900126ee40140b0128721baf2b25d28c7643664625e153e5ab36c9006c563f4d2404188932b62e7c4cd4751caeb2c92132b195a81604749c17930062c24370299765b708401381481d55bbba3a175439f28119e418663d888556b1cc2755843192d64f67d2a2500f4a7023f8633574603ae1ef9af9311b9a23219317ea5424e22864640af9410b893e44eee7a9a4c15181a18a58f7411702d460aa4d5b6006a4f8f199a427e6ca7f901027631d608fe6e645ef0df41330fefff42dd9f1130a87f7032df91f4396235c85eb7b80226a3b4df4333632b2e7f7c7c37547dab0cf1e88f2e0357d800f63c2c2e41eaea6869cf02350977fe49fe79f963f905cb142d02a319f38bf7330f582f0df023322237058109681996230792e22fec4c6977cb09c12a4dcd836e806cd703028ee22df08d71397e6adc3995c17558a2e93c2fca518e451587fc0b16e549122c76e977dacb03622384ac22c8d592259c20064b5d78b4551741c63bda637975db6861500ab42372ed86d71855271f70fa78160d588929354b60fe4018afa60e08126002a83677330d1cb80e7b5ae666b6762b137ecf1108fc93653ceffca216b3faf4615a29b146df16fc075629094c4abf4a544753da61286f37574d4a1d2d5ea18263ded2d30b9cc4b342c9fe2a6a034aa10b237d6d5270d4e6055435b06903d8ef3e721819292a88655145fa9d24d25f4c5755181b53d0f66c3928fbc32418c3f9650f4e900a3fdfb93a925034283be42b1dd99dad2f8aa6b164aaeeec4b334341088e5c435f6afd8a343c84514f34daf57448975355821b062068aa0b09a17dc71b23e0082e966645167b5ba6553bd8dc22c0d7fc2af078a7450c00c25c954572484f510673bc116524d411ab1097097f6eb529671eea771f144fa30339d0c5e222469864047fadcb1f4e8d960992ac81449d64236e0915f56280392d7096eeca750f3f296454ac2d62f2bc584e9411d23a8e363720c977423f52b11931ccb1a64a180a48746fdb6619ccaced2d802df57616ee53365885851492049c54f642613e467c756586fdaf1a21867e71ca82ad209fc5cc0becc08845c70b223d909138578056621d4ba7e366c27f3831882c003d81a6810268ee4e7044a6be3dfaa7932032b54b3e610791491df06250829fbf3bb49fb12707be421507d77217c507a8237d121460f24bd3673792a222d445421d6956fd4213c5d2293a4da826d7b3585dc68e470e9a0ced659f7a636d4fc0520c03b46465c38d8213c7951075d0fdb435fcc7a867681aae4d8cebff3d2c48c0715a6d116e23ca9837d3880e5001268f1b0680ce6fed0e2a6d7c19f752cdcf635a9b8a7504764ae24756dd1e1928483409a99c8c1bf52394160922421a4e3dd41e498da122bbd3bf4ad32cbb3864441d19119cfb3014d5b53d7bc12876be954b14ff83481b88c82f70245f2970f685aa35e2e53355f7565c047e28c5585c634828e1fb7a3c7b7726194c13d00e0d96fc26536dab70696f780ed7945a70cef33a00b22bee47b2e8e53a39662b72a30fe141ed6a0b526a338f6e1b46896d595450347d9b9009cf104508e20fa6772d0e2b6a2d421045b651b20f146e324b09e62142b5357311d00b803ff967ad3876384606696e2144b05eba7797c7bc1fcc67497361ad5b41372eb13f0d305554738f2643000f1635cc8b4f64cc808c7280bb98096493543bf222ca61c74eb565aad60d770749c56646b8296d6ff8425a5ef1e314ca1ec22b8d4fa12acf50a800fb66310ce78c0d064150371ea4cd2865764e81286296232d04d06808bf808b595493f5298563fc6cc5e4df0091befe6dde13b80178b79e1af1ad1105d7f86d67695794513b2ccd7630857a51bff7651f84b93e66095d165dbfb56e5f71e3d956d449c232f14d1953c9e269423480620a31ee516ae9016c1dfe86dc0b6ba2b7186c2aa25ea06ca2417ed08035ed6e604ed4e0e7161e9bca6c94cfc8376478f658f4f0a05859a2a72d8983620c9597f8159709596d4174165acfaf4a43d0d3f7417cedb21bcae5d66cf1cb1307fe1f3a5eb13214660389e52f7474e20a99d7c4526e82db1d8b67d66c93291946f504510324e9625a231b9d2668271b1114c7167332849304b23aed3e992da924287d2c70a32bc659cfddc06a96ea64699cecca236f93de116a407702909f2638ffc7d9459da07b35a095c8572f6ddd22d0a5141016e9d66382f8db3723fa482f922be4621a345c489013b96059d3f82e096df62f0909105eb66df155a52e0916856d034785f0b30e70dfc64e8b69a72edc309b75551baa729172ce77497e017742bad35c2fb8de45d6768312a66c691f4e52081ab7983210c0741e12aa767d211f8d564049d7826675a5f306e49efd3c4a9ae6128aea3c31d247b93c0c34122bfe2f35344b8b380fdb49f86381e7c404cfba0e33fef860584eaa1546794b422536dc056f71c1e33418a69d12b9b71c3feb145161a2db7505bc4fa25923a1153c2fd95216b201916d4233394355b5c04ef5083c2a24befd68cd0008157b7a3b76593f494c66dba60faf5ab948a1393e563bf33d332cf1e47438455c007a97507036434725feb45a09c818c5346d1a05397b677c6768426245e453ed7087e2921093605322fce06c4fa9cc0259b77303109e6b501b718140672f929e04e6829527e8f03f06396a9873d9981e1416c3f11e1e98fb108191b253dbe49f777ec01e199bf15702a5e4560299f7c17693bc296b65fd3705670c0f52dcf7b71157c46e1218ad4c58bc2fe62bcf9c6f19ea0b794ad7cb840fe50ad502238f7f4b19b39e423ee22137684b8e68828d6f1b3181e03265254c05c3e1313be210242505bcc2642a1d406c1d63fb18a6631360bbb2de694d5de20d61c3b060dc354426ec03aa3b872dc12f60fc6138e8a2e13133a2131edcb0c430cc38892d6488fc6d4d064c4cac1d2b6a52d279057ee3106a402b3c058c32210a3ba7c25307d95a2096d30e31bb857c3a99bc4367a678d31a6104190f1a038d20f429e2091dcec8050aebce55dddca23f7a4fdd5652545e1846c9bc5339c5014c8a838273cd9864231a6cf064baad44323c501d0d9b96181666a2584e3faedd54e476ab129d7909204e66166def473442bf1a6673e664ba1d7be27565a79a2b171bdc8b1e2588473d010050286c5d04011efaf73723389031dd851f2f531ddc4ae303a6554324dd22cce2a271c6e9d85b0ed7492d38410444ab9e40307f5f595487da824313911157ee05902cb3c67d204c7e560fcb7b4771959b1e66d294f1749f678367e082503f5fa91d076785712512907b28fc0f6b215147771b11bad3004e49055cb250f12bef79cf63ab64ce23b1d4dc10f538167326c804301cce425b15316119fa8cae42a69e8176c21caf0321c2ca127dc8d5174f07ff714ed71d0c06c1c208511a040d8b3078288b32510dcddf5d0f7090d24aa08ce02853b4594f4bf45253ebc45a184e6e7d5b10cefd164a9acc5882604653f9307b33acb61b54850b1a521aeb263540e4e670185fe65054c48b45997b86340cf5f428554e3943b85d883124ea8a1b91d129693475a01a2d044f0abbc38770f73a8d17f53dd30ad521c641a581b76c1474fc034b5ea1266386e32cc632e0556f35d03abe1d396495c563190e202d48ce0b5c56c636966b5813725504ed4c0db58a926a0d96744dc890667015e8b553ed9eb70211912a08c7389e21dd02323026524f3fd17cf4710f23bb672b666003fb68f461de8a5316aeb0b841f0d0ec595cac42399fd85a67a8623e107dbba800cfd15e130000000000e9fd1807bfe142de207e2abadf310e64d22f4340a8ff3ac131690e2919e54511a50f3097aa3b38736160334f118869fb4ff120f277e00e9fbaeb67773e19773f778c5585cb860b81cab467fd543029f09a8612fc99011b301806397219f71c0ce5293de3f85f1959949406cd25582c2eb0ed2cbe72d65070cd076782515d4c64fd236d8a441c5cab0d25385f1a6453f6617e3b4ddd2a11c0404e5402d62a2770f8c603c6ee7564d144ed2dca9eba5cc9394d3f3de7ca61782750652129e83a17e48666be851f3ea047981fc026091a09564f30387ac30e4b58c5595a60364acffbb95edb447d12848f0e582780fa02982082517c468e4e392b9337202c4c32d735622e98f041015799be68ec08c321727f642bac67a677a7bbd725bd71f21f9cd9df47a06cd93de7208828d52140253646276db7368b1257a57d0e7093cc282e88fb2459e1da4d4320101831a1903accbada31b0026a031b1aa43755e4305a69f3f05fcc35c8315e1f6a15b249b146f9c41336b4f5121a7859065a1b893d75242702384d3c68549155fb0ff0abcc30e3819b3751d93e2dd699de4c8e5eef2f46e0e22556b3f13e68ff5f450937846b7c482507c106ee17d51ae000f51aab44193bba0a8021d8676f7dda3955212e670a6db8262ab4e11e89c60438d533972b980476686600012e6de3da36a3a5406ecadff84ea3dd93239a4b0d2aa70d646d352b200ecc48416f5026f6359ecd3d48b16156093b458f732db53f3ea55df011c91a0734a6a8830a5274f761ed00aa169a7e427753885f5bcbb9186233c77850c63cb5694fc05218aeb6cc54131e813b3f503f73ee82d145b9e8e669131ddb207fa69837003aa93f15e5823afe60bc5ec36a5606429b4449ef7de145ce2d9b0dfef6dc5e2a52220f8330d802d4adb5207f21303cf40edb356035f000f961784823401b325125195aa6a6880c18b08d0154eb383422f3e0237c0a214e5bb7c32c084db153bd32502a3e0c990a072c9c39d5b7050b4902ee2102bb2a6abf529b069a4291003e5d850fed7ea66623bbdb052b8ebf2df82d184c6ecec401c28fd14b0d389c618574dc32fcaab67616b87c69dbfa6e0e1cc3d66275952f207a423330255feb2db78eb72b8f53ab2dbcb78a5e009aa8130a96ef70e6235b262a9f4435568ac6181b1a42489efcac44e9e21205df6efc3a5aee7f6ddeb481399885b37214277939028c42687838e10c6a2b96547cd72569b7b6cf40a2a9806790d4505c14d2a161b926ae515bbcf5285e020258a434c4611e563546f5ba344234a1566034759e26a5f30d48a9dbb07060a8dd24d4eb1d40e5848f71f16c5e44d1528f694b3ff5099b87fa77f2fe5674076f147340eed16dbef97c087c0eb63c27050441c32ae61c8cd0af031b0651544363a1266f271d59fd0f3c29fea79838c128c8716218952ad55a2b6feef5485e4927fd2b4346c43b49149a4e1118234e65609818a1b6504003a926332ecce72174622d2c8f13e416da2fa55759f10d586bf8f211a48c2f1d4c6fbe332706b1480131b014af0eea0acb6c475630607f3befe8b838499d931dff6aa92bf929db72a6f1433e5c6efc50d4615f24a30cd13ff71e4f2ab9a2c956934a1257d6a7e50961cd7e41af61ee70bada1f53a0041b506de38365e59b0c00ab0a5c3a28d3572a07e6c11e8a381620e847e06bb22da70113aaf93801eef87286bbc02687589300a7407656029d6c685cd906383fe56938564ec671f857360da833d03a7a228f205540e12d70346c726a865343bc4fff4fbb6b396266f52503af4c181fc2ca4d12ec631c4f9f8d192a30f1c7181b6f8470794f9b4167307a3a3631906ff57a695ac1053b1984da8053a1ad080914d2e052c1d8e8400a6ff829d7ee1771d708a66d6baee60dad6e9239b09a05556b85f62cb01952300300f93786fe2745b314e93e85957c2c09d69376b0f4b80d7809ee50decd48548f619d215dc81c45e6d08c5ac151173bee5629024e8bdd52cbf67769f7b6e23ffcf39c4c54e82f1ff07abe12dc4d58184a143462e2c6171658ac854d07ab024b0b457f459919504ad3f73b2365d79236d38df055d81a4b0666932621d494c06f66cca8348c440d1ee94a0534d5b157659c16926008a4900d4a0d3c2f43c1d43618f60c068de9960cd2277b4d7dcecb6ea64dbf70722d57186052440f5dd63e0c57865a548efbdd3b41b941265e04fa3d74b23f537d664a689ab18f226366f453438ef548a6e2672387ea995346e4d032a962d64bc5524002190aa449861b892d404bea090d8285188b3ff22fcb81d430cbb3a525c310f36390ade35cfcce9a00c4d2da52c43ad649b504a05096735344bc9e381e48c3ad56a0ec171f05c17b570ce21a4d04c6436d5c13cf2755cacb465b216312e4155a4bf0c5c05bb05ea41469e8b3523fd1f16e51b86f3fdca6423892cba75aee6f126c3dafe9042b35d4647fc6da3b6c3db05829be5d2b26f7186fefbc6521e5fe10302f08844b1bd312178fccd1444b3594501cf79e0f51c4a266d1439f62ee4b3f66d8018317d7bf044b0b84d311bd29c021ac1eb974e1790b4ccdc0403f8b25c204c2dbb65a9175e3409956fc398600d06260e7df05d79e823098a8a1283a14864d7234ef1ffbc9457656b8c80b2e27e34b0e5dc661bc7bcf2c09d598508fc21c084d539f73792af91fa1af46567867703291dc1d333be0e04dbbb3ff1267ab1a6e42204e1672640b275aa8b0676b545b305e23fd58d22b9012173e7b4202a5dd2da3ac8c4cd801986d6706293eada1aa39e5b6914606e64749577f465ef3a6d34749e29a09e22b8676c541ed1a38ba0b3c2f715c6c47770226c8feac6192fd6f31f4a7b6310bf6331306ffac63decba3754237635da3921f71322d05746c2f373b1f32ad23b4571f65c130611ba361f924d2cb8371e00ed8568dee441604b5e136386f106fbe513f0bd02c8226f0ce572862780975864c3f4f0f7d594d2f0ed015264a840e54a3a60d6290f0080bffd4712709d715d6123f72cc08db0729badf580941a61cf7e7c23aa7ec03363482dc1f0557e025886e6772904b61031438a753900f3347d019a324d74ce0006739fc6bd4b9b4669a3da95d4eda2111c581dd68bf614136a33fb47530027a306cf4783567d9363d734aa36c1ac5983ad5f0236532fb1d17806ecc0f4e261277f767e12194626d6bb0e69702354d3346e94381098e242e4737bad4605a9aa5726bc3ce53eda79f40e1a5764c200b084d94047d156fad976db768006ae7bc884bc5fbe31dfb89e362584bbd08bbfeab48af3d951a19c60c5a6f61b75e4adbea488c795c70285f9a25e36c6f7414e1bb167e27f0173fe577698d7f1e1e612caa4c9110c95ced84b731a805cc5383226f60bd149f5e7c4dfc31b132b0749b4bdc6e89979d20f526b52e3649595f3424d03aabc6d85a2cc9590291aef85a95ce724e2d0c7e24554b3f563f2ac70df8b00c66ad6d992a48315f2f17d69424dccc921e47824622e207b46d40a82139e892243f3790a11acee4d9430b842f51cc93d41b7c72261aea8ea20032ff025186fbb14f477fd54a5c1ceb0db220ae181a46d270587cfd6a3cfc254d1fe73b1146b9236ed028590c9faf904e117e113f1118bc2892968156a36ccd0f48d1953d6014e5352b8e5f6aa1c0a364e52af930cc2b1f46bb975b165d078909425b943b85cfba5c2b6d0b2c36703712d03cac40ae78ac3c5a831565701384278776946a46e4ce15ed6567758111ef154b9e4e002ce9fd516f3c774b898ce274dc8ed40f77b6730b40558163a111f92637bfcf09d4ceaa6ab691b20560dd2c16e707ec17154d896209219e049bebb014e5829648755b173f71430b30f4892a0c4134481096b5ff3114d5be099f07e61aaa07f461ab475c3d026259279e26fa1e3c2273675235da089988ca73bb18386c10c8c40efe4e7850d745b231107a8e5958fafe1121e26724eca86f4b774ee51bc1483e0bc9f91a5c1f7b7e3aca0ebf195110806b7d8b824806ff0b318ec3f659f2b8b76c5dd7863eabac2a759bf3c533bcb8836f8558f73e6eb7a546b60e2e0e816cf4511384ee44e2b9837194fa336f18785c3f77ce752766115c14494fe13e64a1054f8b1fae595ded6e576d69c05bf1085474ae14164d9b77660745077c0e8459ac0cf689f2020087d9107bee5b23558cf64b1f07eb28035925085c45de644c250e5dae66f070e4fdc81a2de01d434e9de457df1fe14eb8f8800c3de8b447e8deb664492ae615e93a3012a6696f367c7c9e5dfd0aac3d1f5917677cc27e22126c6f02a619725260bef660a411b373625f9641c9ffdb3b3ddc19365e87470be45033591e6071518f7ea754c83c69011b855709d18729128e5d3347448dc022bc63634a362e322c3b1cf4176530c63cf0f2e12d58dc481ac750aa1ecda4911353303e1ffb6c250ddb775f0d4073fa6a292b215d6b4ab34c61eeb072df7bfc24c926dc707a81cd024f644302651953554f07f0141aa77a0235b399460cd7c233dcfc2a4ed8c72547bb30c43ec71c5a5505297d6373377468e46f0332891b5e2830759504f2785123e659f41a288ae71b3b8ca1346ff31e52dc74223efca7c06a0aa56f06ac78766c9abc323cfd343c0d0073312b9416232bf81f453c2308171ca28cc05c5faa9476c6194d72458510191ef5233816bb2f6c5bc5cf2a70abdd741fa19b045d0d333bf842901f5b33b458d88d605eb9305c3a85a15618231d143efd53ab43f985ce321160c4494d24e931b51a6d138d30831a7fcf1d3120ce463fce13c60662b833605d125e0081f8da48a088ee2b72ffcb5b8996f81718f2c51bbad461596203b539b66470078a898622278c30095728ad7642548969afdfb334b407ff4f04df4e01b9bd2c3578858f0da0a09365169d6714c8796710d62e8013d015f42e4fd8022428ef3f512eb47d1bf342df1721c17830d765156ecc72112a23a087121ac6a3443113f45adc62a408ece7a9552a27ce05ba90d049bc213301853d99269e69432b47aed61fc3ce6f6effc8522ad934a23c4da494624f4d0d6b4be64940c370cd476e76d904555ec5568d88f606fa48e60e5dad6c07607f7573024f9111d15e9e40d2a60610bfed9236170ba9258ecf4e6eaa60b313f898fc4c354049627dfa7536f0a78b0523a2a528d2e0153382f9c90fa88e736dac25b363725ee87415d5324dfd40be24834eb8708cefec5cd20402302ca96869bbf13037b469fd46aac3ac7013b1c55ef3511f51ef871726f1721507ef88992c384a1d048fde9a0ed94d5d6b575b780e79951211773c595624a03c665b8df84eb8aeb427fc61795d404a0f5f781b560180ac520fe9b3c95685c6215e2dc71f44f9545d73e689e426e075854cea943d2f3e89655786d5095b3ad7a15af947e167f68373267f36e0482b41c4311ad34c089fb6ed485fbed72f02630d3f43bbbd1c38ab29664da2dc423e83f2495a1d91152a65f6707d4988361e1aea15990ef82862ffe9350b9d506432c13860f792ba585840881fce34cd6b1c62c51c175e9d2b45ea9b28389ac3739be9e937640a7c4325230840b1f2b515d050202f92856306d9d27d2bf93ad7462eb79826d04e434cc407e2074f3a424af4447319304ba64f7463da4d24ca6d35d7d96801aff64e1e4bb4d05deffb040378fb5f3f6bfef60388b67f1438796d55410db452aba81770000000002314fc18472ece05b50e763370d0bb2690f8130b1323020a24f624328ea94a1accf3092a81aa083f7356123970e5042acea2ee1a6e6881122a078c484bea3c0862c08309fa8af91f276efa4e2816d16af0c4603c0797ff77bef45825c13b7446341c837020b5a568fbf83e481e6a6b0eed94230356b13530bdd0ab3732deeb25bdeb6967659fa05d8a6c83480ffe3744823ee76683b9166923b2c6534d8a1940dd44a70b93353c2058b3483cd914c25d0294ef30fe35b25a8e7e814f21280714616cba2d765859740439645faa8e9e0889416824ccf8df2b29068d7691b15a5ebd1b117639c44433e9f4b7504f9ad7243ec36a2bbed7fa0fbf2bf714358d825b2157b873631c7f5942f7810d73952400085ba46d1ca6d0513c0725405dabce480c60f9540395ca520088d30dd9a1163e5e6caa74a7bd5b52ddf94e14e998f046e9ca2303b8849a36b77169773e4da144ac27e601d97351665087905e5842f722d89f7a594db7be5c946c282f7e805d5bef3f935d526c54067a4be271c41b8f5ec5c4d902ee33302ae7e95d5ff2416d1aed8b9a0b5118622bdaa74d3c524b5e280206d35c77591e274f42b3463e0d9a10e0c46612873d8d56b392a56270623f5a79ab614ef3c02d7471c1e70901710101e0ad94550cf4dc59d6acfb4f65451774e8ff65171e9a7a2dd9bd1b0f35d8244a75de77554606e35191bffc0c69dfa825d64b7e6295dda43fa8a72f52d58b103e131d6a2174d5f94b2b9db25b8e8c254681f7aa1d55c5195c90ae9f312a909e6285cff974e743084952b23843342c33400430500ad948073d37c09257edcdbe204365a7770052e551cb51041e3854db2a0ecffe4b94092162b94305011bb8f318895ecb052eb0a5366a4ca7492004dd289a38d5695997512c1fdb3508998d143b6a97e7266ecc4737838c2d29c7b644262b80c35bb70e6b66b25b1d04eaf06e0b2be72b6a99a4b8482a8723063fc00836edcd84244bcce52c0f2a9b0d7a4ba2093ccd670d8607db22f53c8c5373696b0d25da0709a7644930c90e82304894096a7417f7209cd53e2ae50397050bc38e4af2d91d5e3b128117863a566b9af4b53a3564975b84b091469a4232331de8196fed8f594cbd5b714d04991d2f7e7d010fcf785c3ac8eabc2a8e462e68093d0e5e220f9a1dcbc75540ca2b506eab8a5e3993dfd355958589431743284cbb0f794a0c5462401ffe54048676a073fff7e221bd05b646f9d519581a2a9b67983ffd4cbcf0833b2f41433b6ae6234948cd414d823384638126c4475c6574550de41d25f745cf563f9a5a1af51c4c69eb8e034431499e209de2d5541028c15bb8a3b00a4f209027ae0782090855831633ae6c5776c90b227e69a819e9fc35696018eb25d93f095f4269480007c88f77c7fb570566314411fa05724348c00f3652381831f04da300de18d033ad240e6e31c765577239724d07e00360bbccb41b3c70335f6d537c3342768f23303aea63514d4a13fa5a986ddec4c50f9cf7d31d41b81821e2d92c2afa44c26d0707676b61b21366e6c21b1a21d29e28daa3a843ba67291654cc0f34d973e342e3936e50fcda620731f64509e6c6a363426a61078a38b75189f54f33e6cf0269e03ecf41e485e5566424c16ca9c0544d36a81002706686178d2c4d6da8f5b73e53c57a275298386939278538d8e3bb216a03a72144b8f630acbddd321130541173edcb38df9ec46447d0466b34d911559d51fb3a0fa29667e6ac6e6a891a4e43f9f44c5fba820f3e0520fb3014cf512135b247260e2d013153eb550c8b7cd36db90fce4a917a5577422f454a55f3b6571cd339076158df18a928c80a00bc762b368bb544e8250811297ad3379988240058d99b35c6082f57a5d3473e28d90449575eb66cc5ee79000a8007469fe77c2202fa676bd2b3cb60767dc834cd4ffb2684f18f33256d1d48196a5f5676863346fad3a748fcb8a815df47ce7639081863361e7c19afb2866d7fb2ed1731897d5177675f37d01f0e726c5cef4e5ee2f8012304e83527437837d77a8c10d4cd2b53d35fda05b4318e3643900f191774a34c7a55310e2e0e282aeb9b5c04e7ac283756b4c5614008711e6308ba59bcf8eb16c4398f5ac8190f70ef85bb38895ab73e56c4e103fe64362cfb9abc2944f377484c7692041977bb23c613ee054194cb2fd1a0a6135017414c1db5391759fb22703456a617d5528a0d2ad9830241113935231e52505e3771017c7b8d3a4401c156cb66822adab12864819ce65351d1b074a7528b6cd196b73966acea1dfaef352d5a8ff52b2d08e765a2d73c1b5d2c516a1e647b2b69b0cc4ad62ef312779c7b0a355da36b36639c4703cadf3566dac450e9f0725510118c264bfee675f4544d49cad4f8546707ae62f6610e487e933a02f3c9320c2d26916aae9a142680fd24779bd1f877b65a9a704f3db0157b4ff17090fba541eb94090d5da8d0235ae7bd3f1e8ef4158f03801f51b5f8309b5c1b6b912b200d0d8e5a12e2ba816d31d8f528fd3e4e3273ced067a23f3353d1f40d18c503e8479276c2740b438806a1febf36052bf64f9f04ad2bcce36031c42fe271e2e6a84c52a0dd1a21dea661892d4b389a309d2877a5ae51bac5d623e5fa9059b118dd55327bcb6b5c8bd20fb7927116b8540019973ba355ebd8170ceacf071eb50343370878a644c6419f4b811fb63ca3008d31c0403a39976c7e06ac637833c22e5a4f082237427f12eb5462501e4dc672737749b8e21f9da49d28b4b546431bacf27349ce536363c97a5d0ffcf6070094ae4f3754264e4627d56150e4112ec7268f1247d25b5414059a56cd82a032c38fd926d3a8346c32393206a3b14466ca3ff20efabfe43d64a3be63e1db1c627e6b2469999fcd4dcf876b6761b00007c1624c1d96ebc55b44503b2d780f153990b81d19b5caaf3c27171f4dcc8a0a24f84cac72230e3c68c9156367083b0059c94215035f8e541dcda8b374d24f610630e55b6ddbb88e4a88728d06e4e3fd1b3a33c1675da6f67305a6f13fc23e9926ae5eee67f926fa5b9e5ab03e7f973d528ad9bb0d74ee365dbfbb93653da80464d45e2e53fe4f9f748c69fa010f42b84a33b0a45fa34f393745dbb26c0527614e95f9ea32a923ec6c91a9cb3f41970707d220cb0ae9cc59334fc61047a37ce76fd636fd48d5249d761fde322c1a720614dd70786ac9c24d1022a1c70d85c0575de43c8963fbab0a774f8da0156e8e9a617af10f1d0c1a6d4fce29001d84bf475e1dd9c56dcb177d38b0edf131279f6f696c600754c7a8a034f5200b56c879a71a3080754c23df974c00edbe6beeca28576a9a1e482cb52a0c55de4e6e90f70f4fff001c2f9c300a2fa976e60c6e4c5108ecc23f4b280a8f19518a6034913b0428465d5455661c4334e474985a02a5060e8014372322f9c253b1047c2d72188c32ce92675620aa03171e33bf1e6aa0090b7c41774b586ecc1916593736164646767e874a3fa4da044e4c2b7111b7358b13bd11704788fef9274db68a017c67236ad343174b932407563020936a7a79db173f1fda01d91c2e65ffec0f13980e1a27dae0c4466e93a40eb8964d7362951859c9613270870abb627cb4d80bfbd91163d3dae8557d550a170d284030a62d2e20b6c5f84ff62cfa708c5833335e47ab524d59e35d2affb43ca7bfd13e4f54232e37fccc2c67c1e47534e9766c6570e1717fbf3b4ef901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a91973b4441dd7e3c7049a85f9694ef3f42184cda4110f50ab70173ff760e734ac7032c6614ac6e27b1788302e120b08f3101b01eb74d0b8846bf5080a01be1c9549c8a4d03ca275617156a3c767e1561d5c6018294fc4dcad30fbb1b9687f007c2bc04b8b528d01d61fdc2a780b5265691d4271306542ca3467b7ed2c297564de51c4d795514a4213487551d61a7a887c4b6e4a5d4cb59055403f262b5123daf1087d2f6b67454cc10d238db13478e2b2618e5db406320fcb0587bcdc3f204e750236e94249c6d20e073009c91c776e7800f3de160183a4ce20ebf80d6100adf042a4d7554a5e69c333a0a2bc185db8b456c5184b3e00e33d2fbd79c124993861344c97ab593259383d066cbf1afbff5235997fed193a2d442e000e1d72b06a9c01a6cacd17429d286249011a37dfe0b263409f352dcac4715fa41351185031352bbdee08015e119708214306334e010e713b5dd63367659d26cb4b5906dabf5457e200093086d6dd70346b302c6a067d24394b4e704d9a04395641304d68620a6281012d454c3c7165392ce6178172786b90506e4e9a11c6176ee21c07ca977906e434a674b8044c53567c0b596c3c8f6544b84211f526485fe7b2c426c9543c0e3d5d9a6b54df1872c90f513d11db3b3d81b79d2caa6cfb09fab15b69c9a4d77174537e148662ef60e4c9cf588eba161b2f009c778ea6a343a2cbe51770390b053b20a176e1357c19ee050c1f463a5250413f513cc38f4f716ef067395ab0eb256a74e855674c492b383a1951ea2f58221ab359635e60946da55af062429c705b5e8da03a70cc455d60d83240fec1ce0f483ade111a744972b3e63d3780b5114afddc073a30d0f3707f4d7951b07d285e06c6ac2640e4e4249b7a1770289cef70e7250a0ae0f8725274e2710a9393113cfc91656f4e4973207407c449b45eff4d00853d5fb0f2ef6cb2d3465266936454d7c6aa2c4d60cd5b4fe33219be76ff27ddeb0f6b955c1861aa16173c73da2a358fa5f343a3db9f6ff6f57c73b7855942744a7f2f1fa71a60f5788c428657905bb021057479ed3e1459b6823226f9e14cbd0244293e4d5b31e1ce3a574da90c05eb94064c22352a6e86ccc302254aee21d86f025428a22f660c36264b453a877587e9d139f744af1ae9a68c6abc394a1a9251a2471d7edb2ea60e3139f6bebb0f4cc36a1189ceea05c9b45d4444f49742d2ba5955aa77f364b8dc14129fb91115af6a47392b0e6a5c58d27b723aba1b322f30593542c3ab602dae435a272acd639ad9dc5c71974903a22068187f2ecf73beafec0253f7cd3ff6ae234ae44cda6d8d4d556d5ab68421ec961500477f9c6f13713e0a7a06af6dd24aa1660288235d43e00a2422d3f0488a1b021d861f673a65c39a0797b6132559b1d242b4f6b7752d036c2f4015e00e99ed8922b479516f07584e71b9caaa4999c64822a08a4c58e75a085db3328945d587dd50ea2d025a85c325017961eb3d925c67306b1de80785c5186d70951d157f14a54813b2d41001fd266639534339238dbb1a56082024ff509f6277da20404653873cc798bc3efe8ec4315a8c5c469c71b95afd20624b44fda14bba080e1fb659cc1e6d0e006b110caf3e15e0df024cc90b3cdbf1883d5f99eb595d1e8b32b79ba326ae72a25cf46b5e66ba3853011ee595407e43b4454357093bc5c63f07ef66806c233cf922992e8c2987fca450454901328d932e18ca10372713c4e5161f743d44199f804a397b4724abe93e6e2e7d614d26b97c295183f61fdfcd944fec930b0997e5f557a16dd05422f1e1704a72902d5a6f200ac99ba730334b8007cf91fd715d45590e05fee11c8b02cb3ecbdf9b2d1bf2561c9c0c3e0c2ef89a48fe84b820aa49954328fdf420b4789d1dc591043aa01ebe6b5230222beee2d40bdb729f644d1ded40d552f51595eb98110d8a256700000000250cc9159a965c50ed822e087a6c581a1f78935460dea14a9e8f3e69a426a96bd6d56c04f5f81559896ca931d384fd5b9d9a564dde23e0352d63270a6f1dd5114cb3805f1160a464d23ac2663d390d738fa74977623ee94727d3c736a527a32895aaac33f6f4e35c2212e80ceab4be1d3a769909950f9f6f4907415f4d4bee41720f8309c0928707619f0f3e08c31456130ca470d21faf47fa51cd27cda8961f0d9d9017f611c84f6f8370010029b52cbc8b40002d19671308534c2c9e241d61c972905d99ee3b49b3fdea2c858b5e262f76682e523a0a76fc35d5711139366539673456d9259e4d5e09f1263e639e5bdb512f2ede267645efca1b2b32db0910a93d0f5f6f185b19f128556875805f26da56f86547962f5780ef0027f48957523d19792ded3b636b94f7826d4d0fd16097e37d5aeb6c914590014f50271dac3a98905c6fa65f2f569a8e0b34c31591669a5a057324bab624777ada0c07203c28a1ee8b361dd2d14da3bd8b0b591e4d719a011646510930569a35bb58d3f91f2e8d60fc2c573491004febc67142686a589a829515011efd42c7c1fd6d20420d09fc9442392b2a5652e2a38d2fb9e7b4515fd4a26d081f0604758a4a251171c44662660f325f54ce3e21c47b3982dfb70de85bc15f799ba531a482f420cfcc790f9a35995987bf4326d32a8143f0bcc233d856eb269f914d30069732268067840d26109f242419e74702737d5d5e048a40e7d17b05403a7c65c371bc3ca1945417ca950272916c493c508ea51623218d4019843745b89d176e23f59b1e19443f0fb4614c3740b0f23814aff26dff654d717679152f9250513b61e49b427b2f5f3fe5f46a71349f6c1d1b60ff08042f3b4be2082739fdff2e26deb9d17689bcc65e47dfcd33900d013a2bfe0e1519aa51057c4b0b6fd7cf3c22ea346b024fa6f26935a1930db8223a76e1061b75a832bd26e45f3b0f287af0020e402e1ed4f69701459ebd13d3a7e33f29b5dc0a1fd95d31c3986934b1934864492654770d8fda35bd2f121a7bc9b768afc4ff70cf121115e4ed5570b9e093401c92d2363c31ec04d974af382c22482122cad01a84f69277fe6f352c2402d1141be741498f53261c3f859936f7c4a5085201971de176d828effd70387c073451b7c28177b0415320bd5a13527fec561d943b5d21cf05551a345eb7763e6c806ae80024598fa130063063d04b6f65920d44814e5288c1ce10f1867012a377f4602a819c499e59912511d7822a7b20963e09313612f8ba9c025cc21424170a656682998811eeaea5213f5350709d35ea61b45a903b73f20821b362d971a960bd0e3622b8704dff3e0b3423613782526a360b3afc5e9e1123445874c570cd4ed00ecc9fd97459d34b5378614549c198e20a69e9e71ea534df227f543d5b5969ee6ec68a9120696aaa08971f0567f9923f39ab00320e308cdf53d90a4b376d511651400e2c10fa64285de6f60b186a15d6681c094d724dee8d14cafab34a30a50e07ddeba42a0bd9d0120a658721fb1442591e395c385983ec3d2ba3cd4e7334af6fdbbcc7417190e65c5c907507dd00ae472807b576c37ddc0a72e89855b628ce25de710e30bdefda5d96bf90551d559652629fd35e7bd06c757d66255ac72f95376b1b8c00d02f9e2b5936d53d74680d758705462d032550434e707a450682ba3102de5046c232b96335c92969443d421119ee74670cd03f43f9b8e43281ed2125b1d9ea01c11d0a5bc03ac03b0a5fea294ddce45d473ad412f541ad7431ab1d6ac2642e757f9b39473ed14554ec23ef3f8f03e32e34ed525cc5a0477785708e62010c070eae9e4a43ac596755139ce312ab6a7d397d8253387209316e31306761c9a7064c7a86301dd55d8030f85d430100411d332aea043dbe36431665aac411e4779809c8b86873ba3d7f0fa53e703fcad25736d9ca8c640a7d1169df9def3095e2331d26bf990f0e95bd44059b8631561dee04f6a64a2fecadbc3bf3c0f42e6235864c3127f70b94891e0863086a5a02ea402c5088472820c97c295c03b80a2d0a225bc0cf794001843d5068b9040ee8b3a760d056ba19c5569351e547ed594d8c482710908366a658f826bd70e1378d576724b08cb660a2b8d912592e290c75c4ed62add1d6724dbceb3d09ae8961d3f6a66048fa5413e5af9e483bb1836337ac7262bf16935a3fd372088ddcdc52721c171dc6f80475843cfd07bae9185c5442a63c2889a132326c49134fb642424101ed238d587a6c48efd2141404d7044f09b242b7bf6e2371200568ab4a5817bf15410354ef261d9019cf3af70f093af6f1035685625045053034578bd1ce4376515e47a46f5e5c09243d40d7ad1c44e84d6d316281086e89f26b0463ab8b6320d1882aea51b876b850a23a771f0907a139973c9e18634528d57a0a508d7333c6398d28821db96368abe20394f63c167f4ff55a645ccd557259a106376846259a83cc74b305df6f3f3cee5c23bb6d2126c3a54af64bab06794f06576d179211142e435668fb4f6807b66f44d23c4839654e7540a982ff60c7bbc643d75b5f4ca620501fa798e26abce128560359be4c1deae30c9c2fb91fe791cd608a217b35b3a400280146f04709f92c0cbf0df250292da71f4e4cbe108484f47042f773028428a648d16c4d270648f9514c6d070d430a4e11ad98c35ae6cf291b4eeb0254bf7f3f46a3b2676b871f9e1510e0550b71f42512a0c8c80ea26a985bdabb0e283df3eb6de623951e5fae2a30eed3e16f3040173927b119138d42b275f900f25235e6b402b5d35a0025053b3e00fdd85f8e79cd059d78784f3b67086ed01fc7186c7ff3285597d87689af1f6e68d4253447088c13ac7ab40a0ad74d09996c1f61a11ace65b12b9725f081340b271a6a7722df562a707e213561397a60bdfe5355321c2f2231d85b2c8fff2b0f03030d4042aa7e0d60341777988cc6005bb988323b89c32102ebd0628a961b394316a073b0bec35d9519d210685036420baa426874d72d247070f7586afea718f45f770cefd8b103074620285a02e2260cf2336437aea201c912110a1866f362630af52a5ebdf64ce9650f61f43be47596014c6506029f0d9f0a656eab47fe6b9feafb19aa5fb5573183ca303e710b55024aac377df991708ca133620e1de504d61f5206cad134273065440b7c71316053f9d63882e1692d3270b45f68f069097ab0f5438afad826e7e3a920d9bf0874d609e839f049810aa801fc659fb78b05086ba82d138d667198e2411b42668e48f3746b13b0b90d5b8e054510768d034b53970f146c2fed6cf724251f904746680cc9a007fbe2eb43761bd074dee0c4387e9528052229c13c0ad399021fa82b31d6fbc1355975f6607a6a8b4f2a09b9561005a60d388fe54d20dc3b670cb0e052a9af5d2bf2ab901d0d039d45b4155708c509a325aa0690196a6767330d84e35c6281a72d7a834e270b1a5e35bed71f1c4b0639123bc1453e66b2d118b647ca774c88773ad0e904528855966e3238882736d0b53c93311473e5c472220b43d82be503c2020794e4675a4bcd2bd6b35b531b38f4172f77a942d321c42d80edaf48e723d95074f026318b387535386e3f24a01d12153603b4491ddcb95724691d1583a3332aac0c5856209e573eb4d7b05164d6ac70170de05e0211721669ffb844bcca3a5032a93729457bdf0b4e640c606c5af76946bdbf4738f1b5177159f94a9b767d6d5181b0393a49ff03350d1c221c948176d0679f6e106daf12be512b200e33a55addc25234af658a5b81fa1b0d45c7ca34c3d7af60e84f3148b8c8763f03c6f50730c679689d6c24610d65f717c4271a3726227c18249937384873a73c15cfca0455f6c84b281868267361375f17157d6f1320fd099f393036e34e76080a89ee328b400963f800cd69ed14255ca2c143096ebf625e32832d28b67065720f79ff25008ea23a6ca14d08892df60b67a6332722109c77485a5e5b3f3b442b60e64d3478e6cc1717050b1844c9df3e796a8d7796bb5e18e0da71201172e66a3cfd775784f9955fc0d7936ded234e4a7a348138baf2342bf139ad6177c04d2b996cf83a017ff843c1e2dd1fa4615f39b4c4852c4026704ec1090d651692a44ca6f83f318bae825c1806296abf60311e47a6f81d330d144589ea1b11623a2430cca0fa3ccfb2c6037042d05179977a3427f10d5c686fcb6ed83e3c14fe077346fe6bb410c9925f70135f1f00bfec93436e1a00171c0ef8381f294d08b391a73e34b30c2c9b901e6c407cca0ef3d8d9175303993b87476e40a207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f74a5ba030f89433517c4482ef76ab22cf5e95a68a226137208535f55252b6377585c9f5af0fe2162fc19d760eccdab69e59e966c3cd044007aeda80fed93fc452c92ba5558a9093d02cf31403927dc5a0d827b4b02fac32ee443400a8be6471170b1796465e1ef40d45d2b1ccec74e23835e7e63e7b38a6147b3101948337708714bb01f94634307fe81f71aa181bc41784d8711370e18286804d0000d75e956a003db68f9b39b239c5adc11a33e01416f9ce273564d27522227e968db460f54e611ec1ab92a090ad5798c5a9bcab1621db45869d23056488d77fd427bd76d4a8256cd355594045010092e5620e7ed2c1cac4737da9f231f4890e10a3740075de93b52535410e53d9e0faf4c97efde06d8dc593f97f5085d1d82443118f3e017ede0bc346724c7403d6991102fb8fd668bdc575438ba2e4b7f8bfd1989830c182c3ba458728c64463bba913065435a632f742d47d7f0b862768973482c240a2a5474a533a0e77d2106275c2774d5c73aaaf50346fc3bb61cfc90fa2ce7399009632e2552f30f526da18b453a872ad757ccff2e71a04535122918a9572942d4277377360c5f2132393986df606ec89932e118164b840723696279261113dbdf73c492dc02c2e0bc03cb6d7e2ea6eace342719d2208404795e3c8d091d66971f0986ce6a3fb4378e3b85316a0e8390a518e485710206962506936b3b1570f4c94e2ad5020f4658e155d8e5f2730822034df9e0fa05c07727144e0aaa3410260d2fa5b0521e5297662dba8312407f736251f2065b0c7cc57a15602d111fc5317216389296555da7ca60a7e5cf73be0788646d1576666dbe172e3e66f3467a682408d3634c289f1f956a32134e1717282a673d55d314f1eaf45cbe410f5c3d4c184db980e83627229a779f5f4c01e5ecce3c556e00573182b34188b2130f66427f0ebdaf695537da7d3b96ca1c504475822cbca7505c81ff4d5fe236d0732a71ad21995cf51f2cae6f5df9cd614e0a7e2e1097dc115e72f835367ffb973eecb09a183a82510cbcfdf4421d3bcf1da3facd1c315cd94527573815ab1a59533bf8af06df90176beace9e4647071909a599576bdd3e870148b43912b9df626274f584570ea46371ef321515435c8d339068781cef4e8b54c01a1054d1c720381193460042f8442b4d531b755895945e501a5f6054af52576546eb724eff042d5b95537101468d3e37621228aa40190c94213f394b41a415d7f73413d911af39845b973ac4e2b61f94c1002c681e6e340000000002b3a416631cba554ce7955ba91090703d58af5ccec42e61ce8fd56d769bb73eac369c45e9cebe51002b700784dfbb4aceca9609b4edb40e25983b3e9dae1f099531f70eb5836b602b1b1475714ffa01f7e9bf7279f64301891f226140d7ec4e22af5d2f396737668bab6d3d3b72b137c713ba23eeed572309549b443d7ab5142f6296405e9476397a4c7c6613dc6e1fa5147418dbdced5e7267ae64aa73ea0d1585ec1dbc636c578034f65929c93a721b371b5bff42fa662802bc77ca73130e376f1a72ece0792db408d5609d31a631c8222a42577eb46d1daa646e4e950024e51c7548ddc0552b17bd5d6db796d107e0d0fd2c61ffbd34439348480f31e0702d6c582201b2095c9d3d214c563b9f6e188a23236d21e230ba1fd43f90904f08470e044c0e6d6b63cf6c2b395b27b56125f681396a728703adcf04301fdfb35985e2eb1bd21fac5ef17d2a4672e2d461d3e0f55bbbb1380ebfbbf60ae6a97e16e02bd43c2ea546077b23860f24ada5659fa97666b9f92728c4a55816f088ff07b13d0f600160135a5156e03adf69fc3b66ff3a2f7dde963a12c4fb7771fab63a4c310a32efe8fe312a11030aa562552258dd5023f9f5e554642f7970ac0a7e3dfc432e6e6bb59e40d055c329b6454738c22847070c430e2337fb3b01204eee686f0fd661283d912db89b10334b316035f2503d4bed0fad76ce46046f9351f11247f88d5b1a83005bf5014a3c002fc64e2263220b9ab56f4a4c3a7e02da8d7d5ec0c5eb2a285568062bbc8844abbbf557f3f505662f964971e4fb4652745ac706ff53b0747b025b1c86c1474ed1c0da11e744eb7759e9316bb03c33025a70556886b2fa044686dd37ce58433a651b5163f6884665a612404490a696171de7440801b91305e9a03a082ec416152c4c6c1af3ea5d4cd8d8c24db947764e7e045d006e8f73394e1a832b26486d27cfea3609643d4a0b3d917c2c703c463c84adc62e08a8a46341ad786784060a492a09954d14ccd956079e43012bfd406218dbda10fc164406d786963476b9a814aa07186878b75628e56ed3612928762d4812172f2cadb577c7a2bd1bbd128619f52bdf26a7d7014f548a68609708455d742f3b1dc9bf48521d9f7c5707073a3a75c7c95f085b9a48d9e85d5507d29444db26926d755c0f020c752b659cfd694e42079506972aba014418930d822e681eb890d06628663d02fc63e108c09b310b174514108cc9ae6ea6fc8d0afcc8810360de4144e94ca970b479b91fc9de1728fe83a21fe4585d57213e3d4cdcaa29333a95de3d06ed56407a8aa351c47af05ce3fcf9742dc38c420605913cf5561b49f1809c454da4af228679a92e8fe18131d6a31736bc6ab142c21d9a1b400956247f035907504bc718bd2eb85cee678a2c8f15bd57d5551313c1496b767aa7ff0b4420431c0ff5863ce85bce3043ccb71029cd7376cd66df1dc83180507b0e23597d7ef03aef4a861ea078ff4ae46b901664171e1e0e7d416b816c560b3c6b7716b8d426624fd30f24d88b021448a3406d4a4d0c4e346a6045e2944839f64f071b9710c74a4c921e0734f5966c58f7d92dd0b0c81c395529038b0073517f393214f7c713500469b1775fbf5a6a14a429568eb0254ec270e173c15a0f1f4694310e4b02a21ec5c16540ce5093342dc88f10c78c7618bbf44e5ece99d61228cf2e210b187e04b4e61d580ff1693f2922866bc752361f278a5d2743673c6314fa940dbe317355377312638f360a15661656388e17eb2f96772b310059860705ffea35b02dad65394f6249b6fec75149631657e9fe26623f189f17e67daf31c9c5b012f22bdb4a9766ac6de1403d1e1f63844414ebbb08951e6921a38762503abbb51fe66e720b338280102822393193292c6a7eb3a6440964bb0858256b3cfc40376182dc441155fec94fd9b4e06dcf9acb3a7d1fd0115f0b98351563776ad7a37720f158c11569a9c65eb50ec8210233ee3224edc33d53b2b61b4eb23575a50a9e671bd4e038b5e55440265ba43047a8f825f2280a1bbf70a00c70de04394a25484c7da57945e3f66d3d8483e0718d17d87528b7702c65835757578a98687350077092d9ca0580a7135b19462a4f87137f31f4f7485dc536a85b87f7820744e4163c883de354475b7a32277d0643cacf2402bed6a90944ba5640c4419009f7ba8144605aba74db62e568a710152ebe9fa3505b81e05563163205973b47440d04114799afb61ed7e2a4573af955677f8daf3f0dcbd64af6295830384d00441a8ba511a8b4f92b997a207149239e4dd788644c7bd5302401801d31a9f2125cfbacf946d03f094a6df31d136f9d7744afe7054dd42c2a02a53bfe505e66475be41c2a35a5a2a071b2416836faba554ac611e86cf9c60f225992e6407845f650e051182289aaa4213ccbb3105c8afd24ef9f680476f6065491f4c218d8f82a0dca2f5835cb183e4170a45858bb05955e0557196630f1cb0a54999f12d0e41528f1968e24b50c6e4efce1560dc4aa480a1c1b8e5bb62921561c7968258702f230eb12dd3c0fb5f45eb2100139dc72272bfad3586db432dc59d3f0125f1a520d22c3d220465b9d1f69750e7167e4634f1a0135fb08cdbf8769e807e4692285c169d7fcf226bdb99a10ce0bac41c5a6983b5b032b447180502f0d0e0727ecde1c5f83629f4011dddd49f772100040d5b5025922a35e1f2d694b73ebaf09d47c8b4c2743fb65c06370241da27c042f161427db82641a054d591821963c1d3b17814763b5060d4b948a67785e8a69ac7ce64a9ee491018d549a3a536b9d33ff68313fc1b3341524d4c75f0ba8c01384c47a0b9575ff16c374fc2f59a5b430b519100ebcb214467ddcbc4291dd1b73fb821e228cecfd156a8d3916097505498ad01601c646bd12312f2f1ffcde333d69ca183c4b93b00d9349ae5fbfe88e722400c34c668aeb69efc8e55493b4d06a0996fa600702f141cd2ab4034bbdb35c191d1015529509422ec2dc502221fd6ea07ae66679fae41a37023c4f0bb0f310acdd0c447a899d74dff9b44e2fba7f56881c5f0b83dec8190e6200613beb7e759f6d99522ca7d43280c7644ea1622516df6716500dc665773f507d3a0dd57073695ddf296e6bf66d9edd42517932c973ed5b0432fc14fb02fee89e0c5b39540d331f2f5106dd107691c4eb66d40f396effda7c5dc496b86eddf12f639689b5672213a209d808d25b1478f841fe58ec29f31a8b2ef68d951974e7a61455fcd3259c034f17655bcf0f1b3be42a6808623a65096f35ac675100b37ae537a7aa9214b05d850f69dbf5017737916c34e3ff0243092c26a784cc23bceeba3715b5a347f5ffd12a0d904921b9455e74da07f265378f0b5d6711ff603ba69548424c0c126bc8a239a87f696e787e53733d8e9f582a1cbb56fae0715f44704d7593e0f86f56594a4b6f96b36d5fedf1096acd990b5f309347d36e3d1890319e655984084895f7b81e9f4cb65b5af4df4783c92f55b5ed8264383291018c83010fa974e02de3a4310e89b75a411d78e96a8a2faa34e3d3fc1fe406235d6d5b4d3ee98a8e19a2dbf93b31024950c0d43d66863d1a6c5b7d762a2ed0f91374d824313e6aed1321c14e73de371c35cd5be9136a584017fb636c478ba1101a768b9017e44dac5f2faf9b6b379fcb05918db103800ecf4a041f9568005aeb1687ef910d2448ad6cedb142363ff2cb574e14cc43efa35a1fc38f5a6cc7bdbd143ff9fd3bdd4a365a567681661cb45528818b743f0802a72bb2540155176597671b8c936325f00c6b4f2d773744102b01ee94ed4de35dfd2899b1e6607c11761a16366c69aca6514fdd9aa76300af763daae1ee395359a63f869b3e6f1066413d5047024e34ce8671c0b9f11038db6c1be1628f20e8f08331e3b67b60ca85dc457ef5ec3611b83f727983b05d679ce4270a6a6105bb65b66bf5ac90445b01d770fd91215854d9f51d798d1b71a6e7ce1e3bb184770b885c2eabdd9c4eaa0618424176a4040869550c05fbdd5064d61e61d1edeb3d69b8984ad15e3328c31fc21aa92c3446df8cb92b7b62b50e99ad4b7558e6d677a435be5e0ddba00470ed0c7073656056552987649b3e58283f0b6f582576206572965f60e6df5628b80c6c6f06796d446980ce5b7204ac72b9c779697c899854f7079e0f056711129091721f0647e0576bdf9d26642e6e441d2062434a1c7e1afa06b74f33e7580c9cfe385a50419150896bdc0f8714d73c06c1f806ea96e91c10349b296e2caf503d483c39ffd67d4600fcd8495cc4202a87eb3f4fbe8c53114ac9bd13069a5701d759ea3ffc1d534082e8e40049f6ae0e0a6a942d637b666af1b8cb5da59af4453b3a9a4c9428db593c9c8a00cdfe6e2491ec89431c3c54777dcd3321e4c4c175e366f467150f2b2c37743a371d2be15693923a2ad3d34864d75bd559fce0812c1a5108555fb9e620a89ff0203b2e154068fd0429de41633d4f03ca329457c4534edf481463c9650695c32675ad5edb1ce1a9e7419e98d74aef44315b9bd51a4e4e9e566ffaf6a360b685b70d6563c30f53feff5d015aad13e9c8d71726701b0a370fa0244517322f6dc7e8534fe145159c8c886f63780a4eb2666e6685b45d1db1e0c3634dcc1d4c0548c82a6f1175350cd88a099952ed3241d91b3ecf74f2564b3cac12605713471019e56c6524550b29c6e56ac3b633263b5ef0322c518f27bb4fcc373ca3ca3cc709ad7515774d455ff9ac6636b2095a391c97319cae7d652bd0a04539d78f27fc9d932e18a43934ca1ce5041950766de6a97d1670b8654ab71808361a25a5195ebf6968b7947433241104242176e4600d77ee12ff470651ee9cf9072b7c7e16eec7890f639033625b69d1372c3ba458728c64463bba913065435a632f742d47d7f0b862768973482c240a2a421fe428cdad4257ec315d5c85965b3a6e6517733234b90dfca3a46ffac0c309b3a97041efe2ec3cbfb64b48aeccc33866a0816ea796d31f7661e4054cad07512c9e4519410692006c52735ea96ef2036d207617efc1f271cca4b304ee9708117a9ed44fb7c7343e341181251dcdf12cf27ce00a9231d248980d4c2590a3b1252b3a6f2d0ed67e2973a00d16909cf35618d8ba63d87e12693da45a18df9f3b4bafac3c28624242069d8d240ea3fdbc013fed72432a92186870a87575b7d0907421040767ceed745ce00e8a4e9e7a795a7506a161deecf62b0e9d893c46a73b32be431b369b92005b25f6480679dd164be7a9da005d141e1c1f01d510d1ff3509d51d85525c07232419041329f5d003455e676f262e7a3f640f8fc069a7ec91715ac4330735e252072db9e16b4665d54735a36912b63b03401fc8506e3b8e8861f9ec2510080e0b3f855e13732f1fff408ef3ea28c38c053e0018ab1685f7a414a62ba72ec894024d3d08892280393a505b628c65bb6742162e9ebe1107c072261db568065cf2f1490d66e113788f2c743b6c9b4f47032041a4cb5c28984c134fb1c67425b95c4821465c432eaeacac38a1805342e9ecc14230bd4c267bd8c756d7a5dd406e9d6526ebdd4f5add1e6d3d517d144e5bf20c7079ddf13b2bd51773df3b101b7138a822aa8b1c29f847ec6213794c15988599609314cd64d77d6c3bc9b93c24d9fd0a4b8c6a2832bc9d2367b853c815129af00a2a21de4aac76e86ab2f26e591fc6e350b991213f00000000e8b7d33568cccb0fec2d3120fb0c455d6a29da4c30d703486a65c9538079d257d9e7e912c9e1df570ab0da441a74f1622b5be441ba144a67b8d049198fe52c4580da872cbc0efc1140b3d14c743cc7093232a73e9689a5341fc7fe50aeb2d768a900bd0914fa166f4d8b4315832e4d3ab33e4c24c650530c691d643795e0ca0d8dafaf2a4c9c2d51f77c911ae518c12a28d33628f06d92003b630474eab66e5426891d02ee6a0d5eef47d25ed095a706be5c6c0a5d6c566422137c304dfd05343bf1ce2c156a462377224c31f4ebbb601c580148b22166360789810c26fd140e6f0ae219cf4f783c0108c84c774d8f41f735ea5d3681f546184c3233f6cc6b1d702b0e77ee89ab5812c1486c6a58fd346ef3ac43d2fcf04982b0ee74f2d1f0453085d1642dcaaa0136a74c3f307fd7450be03b200e91cb165cfebe119d16ea21094307774fe810111976a133bc330a39568c8b2253e1a526cb284b11dc7d5056ad66e4437e5ee326632a406965ee7e009fb30a549f86b5336f9fe90a19e907000d462724cfc1b65ca5a278421f08603fe7af4a6de16f654fee2b9955b3ad8d1d7134ab0306bb5149fd76536fadbf46427ffe1c5ea54159015f4052407ed2f75d0d79b06bf87cb0569245d53798932a724b1ac33ba18ec74721a7781f808b88015426eb5e2920a6654ad36a70ff7c0918ef75d43c0a149868045a160fef06455dfeb93b1fd436f1721eeb86743a89534d1f802a120f5aad413a52351c251fce348f25a215da1ef13a735f0a6ddac153199e7ef349b9fc15486c266943cb35363791e29e559630ac5fcf52131c4796446953ef88777486582c5548d90a95ce7d1959b47e3d219355116c2e51341c807219422af4631d9c8c4750df9c1f8e95fc156a70fd73e02c2025f189be483693dc74ccf23b618e0cba2fbd255e32653671280c9c7f0e71961308911b8b626bb7d41040bea933b10f7f5bb4541858f893e90467653d5d49e55356e5e37337fba0ce73eed51d75c7a4f63f2608cc733e52993c1046396de9b12b6a1537ef08521b285759d55044d0e06847a1a056545c4f62028590b52d507d57062cf469645879cc3b390aa052a51f2a1ce7478c10ecd56b4f3ceec0246f23dc2d6a8c0d03928eca3899ac553b80238b238ca07a32fe3c2c2710fd8e4ed8f32313c7ae53374478395ca2643d2807c4466031353b438f800207837ccc3621496b092c2e5861554a20008753b30cf9b9ea2c97da6731b4e8ce077062c052fcf7cb2f0d5b1009a21e5d24bc066603da4f9e0ac1a1a54bc986255677cd7a57fe0d47644b0cf05d6bd12c0b8f629231854d7714f057fe67be27d514e275e52197f6c96e5306e3119679964ce60d69296107d84ed10c133c568c5b162db8094a900b652bca12fe2a6d215e15a787a05f901936404976cb3f08e83f5c2e6c6b5a76d6c047959dfa2bce400e06a7f2d1730e4151119abba42ed2220908064fae1691e92221f57d723c0ed91534c8bf8e04b12782063fdec6724ca4df2b6b517a3e2548754fc7c6d1049f8ee75bd506f20899057421dd69830d9cd9c1051c0d530fe0a8da568bdd9603bc7ca97316d99b69a4b2a624fcf8f2369873da06fa07eb64fb8bc5724d582e602ea39b64e013296868faf716579e884146537b3a99ba015dd7963153e5d5754b4410c822c87eb730c1b8973ac9962151a8c3a035b4183f75dbab615d8031f86d6f09286e94950612d489ab2126e56c14b52d45275a2b6d5805741d3d595504202774831c9dd25315e427bd521c151e6e73c18d204691fb5cabffe60627351d3a06f38f75f849326aaccf0e270a63c402bd99530bfdec3d42f4e62023c0223311025ae102c69e5e5b1a68c2112813b544dd0be26f268206506c927816c0d9ac6b4f97810b44fe2758f79f17684fef1c1a84ebe212bc02181396d5936ebe0e3358508d79699e0d1a45c4e0824c7a2c8e553e4ec7518bcbf07290edbb6ca74e2b66757f97067a98af383fe6946bd80dac2f144f5357f71fad3fa58ade28be5e77380754245e2b03094bc08c4c0f67a9ac2387776a568f365e6ca0f616442e03ce6e9230ce5892761d1b5abae91435fd35408aff861eef2ab61c1c4caa4305bc910fb6f3f855c51ead16446a051148fe860ce3f1931b896a9d438abc526cac54c5182124c848a5b7b05e0d7afb198b957404a92c6855f53dc020fc2c464647646f71188ee2093ae46b13e6ba01666348e16df830c018e62b77519c3d9b6e9732e55857a3967774df8d5e57c8901d76b60b3e8ea1964c9d0e3401be51487255c0082cb69f4f20c1ad0f65fd91d5655ab14c2df452bb17a683e06d32852526d3314b458c50d56a71ac052a9f800024c090c94ae9299e2189901c3441859828376b5763efa3b85a503f0464ef9908629046d058ceb4cb58de8fd938ded7bf12e0d58c521472e557924ddf3d92927613b1f603025c9f661498baed605b83141fae93f60330dae952189d0b69a570b33808e82046a8afbf2111af3e22db0219327781e30b674b1b05a70888052abcfc344877e356446c2a0a563a402e08f03b1e26404d67aff5674bc16be32618ac4b7084fdeb525aa53f00ac33f028f57dd22b28f7b92bd1b3c73c199ede23cbae731189e60c5e5771151772f7223118bf195114782e5723d6b2550056af4ff7b70f69e0cc75258ff61114def3365237a32c41bdf3b95597c74c70029f1970c9d6d857186ec2445e1fc273b63f60305cdcbc5fe08eb222cd60d8082030a028ee0a463850cae3672211c6496bffec16bbf43b55c1d210539ef7b31be64796351005771bfc13ba46279af46760cf527330e05d4e7827d84c85fced716a136d14c41332462630986254e1703eb6b60c49a5feaa77a5c1330dc8b1a34628e17922a672403b164c3e089e8b0c3e3512ed5a9a064b25be7371344f1add52d4224f3ac27c02300c0cef60da18091de0d7474cfbd48b3482c7680e4abbe864c7e90673970c1c0637b1cb41bd150d77e3a6246b17be6c25c906a503e55a2a35b866cf0ce7ead717788a954b9486a212f23f515322c8186db529cc265e1a4f3129c47512db7ce80fe6ae9c1141e81c6002d7385950717d73348da051bdf79052b0c20a24b7c446476e738418a03b5f1f1d546a205436ab5c3bc5b903215dda3d52a07b204f54ff750358ee1bb9e2415cb4d38863665e8158b0e5e74c3511f8263d6aa7771f2b0f132d1ec224e7d2f10c349a813d186138144dc5c919ad6e1a60fa81153465922d3599258a62d45a105c670d577493b7344c8b6fd66ab369ee5c52bb70187beeb3431143326c56209e686a1d3945e55ec23076a5083245896926cfd9d26af947ce25901e1674e3290611a41a0b539b116173c3375917a4e0203c0fa0d77574e9b5368d5f7f765566263f26354e4032de3e1ecd279742427f5728ef0da2403ddaef16cc16a826da19722661e1df3a0c812b0b570c2461ec890b5cd3f3b20fdb54de754e049033de6d201b45dbbc5e6f3ad611ff393d2d5bfa380f494ef217534fe34cec2c3115e2039d1db6e3d249f18e453ff246fb349fc52a35fe4bec47d07c2a275c3c0052dceecc4a8b4962131a94360a5332bc73f9247d2f2c4859615b438a55a31f9f308b3dab04895e7333c93b350560eaca01590a7c298ca4af386e078958ddc2da365d03580126702c1c8e5c811e86777e5c15b13864a140bc68f2d8d45042f9695f6471085c96704d3bd4efbd3e61d699234dcf2e56df715e240d541364835785638d31bd2412cc390a45170c35838d194fe549f5301e695326607b9f040ad4bc45a276694aedb2053acd7ee231b90ec3551ef9ce0fc48bda425fbc435957ac4429a7f6b16ebbe76c352820151183d903166fad016eb8ae1001ffcd3a3325ece413363f0f2a0d12c444db438c3cf45a6934cea52409dd478840214ce5778fd9b96be6149716a357b0221c627c5d58798302d9e038682fc3aa6d9291de6388e3d90343d69b34316c7467f0e5473f278de21714119a2d2dfb08537ba7ab000bc2fc4f0e801b18ce1bc0028aa08d60c905fa269365d13317e4b20b526de01a64a7e04c7efab012ccd45908310efa4f373c62509eba45298ed2204ffd173251373f125a6389c037d9ded14bdfa38242613ba01439fee2309248c02b292dba4a77e7ef40e5038125c942bd5e8f22c8051042e15af8690160c007fd5ff8171b233d191a5f5e1d3c28707ba61e75a3661de4f7e90ad7dffe69626607574d4d202af1daf64ab8d0fd3bbf61eb26e9efd14689b1c71f5138f54ff5cb5114e67ded48165ea31435ed89663fa49f082e0f384fd3ea5565d9a8ad3640517a60efa59e0271962c0a2634a01e4468441b9c737344874be05490d2a869cb05760a4b7ffe145216d21cb35b9226b27dfd435b83c444529e012213dd115719ad375eedfef47387cbaa53e2eb01026117014791133e0f0969f33ce2661b0ae9d9ee1c38c53727f46abf2de46df43aee5a10239e23550339387d0a45ea68001ea7d65da458ed584b61ee5dc4877120479e252d19c8913ab605c347a8fff445252dea18261a69395dcca45b2227dc5765988a21d3e3284dba55be6c05b0a8388cb6a33eb9c8c04f7171cb0b6c806e0cfb1513157a9070183dde4a4bfe1ada51453cbc5a5c7a183875d41f57e73f3a2332d6215e524e7b017cbd6248274d726686ac4c393f82b757ceac702dd21e8e1468d42c09a946dc02135bdb6c969bd548e1fb441e01921642c73d9309d64a9b192fe72136d3044f330036383e8698691aee36954e962f5377be09ac6b71589e51057982502dab99190b77826eeba174199ce7025a1aa1fe1344879a1ad4e53507a901685326c2843f676658610dc604218857a26bf7ff43269769fb5d6a8a1f4485f1ee772856182307635a218b7c9e15ad01023a0c40dc10d216de0a4a2c30685046542c7864a36f0cb3b571b8ffb47582afb6224cfea916d1fff4734aa0bd23d3c18034c8afbc4c5ad55b5701d3132e5883bd448376b340af500f11682f933371120f71831292159b4dfe233f624532e00c9c6ea52ee6399da45637b876876a7230561e3dcdaf17cfd4e91e77002f201945e52b43ea496487b2b50be937ec7033cc472fae4d7540e4cd151d88074d3c0d7a2733d5c8752cbd671e0a455db3265fa6755446fcad13b67ead55ae98d50d8f6724025a074109c2795a2b51376e4087506f1b10cb913b673b7108c4f0b4624bd4ab0a11577e621076da548afbf150d8a83d225bc6412d8d26fc6d3c4242280b278e1cb0cce948f2f32c52f6679f171a93be05484a695896a6cf5bcf181f03cf845863bc1ac516986de23b0835510c4f62f84f59b257233d76b35d0eaef022c6d27c1e883b1e263412ee208e0d784f71533140b317b200f84a2374b9ee7e230d60cb0adab9e32f3028e904470fdc54b9034408a2429d3ebef5384a275b466be12a8b398e868313fe3a08270213225b039f1d298092b85fa45dc14b3640b6612c80d729ef17874d451b840870e8ba185a89ba59393de0460196cf4fd6f423526b13d02ec88d0020d560a218e2e07932a8602157c96e1b1cb889853128b0986db7e1450869e85d24889e1e68ee948d617428b75674b91d65c6ce3a0138e18b710ad2642cb6e80a06b7c3a226b36a9e091674467720729228c20ef45dae96b43d6303ac7303aa4209b7024b1c8bf9c13684ac7860546e5817000000003c7af8351edf341bd97244298d70b8087318e53ee98231180f7c671c0efdb027dec5d33d1c1c0f1019d9b64157f6854fb965324fda76502af7f96e1c9c03e96124896c29529c3d0bb3d22f0cf7cd6a71f1c7775f5a45df32dfb3a20faca8f1379f4e752e8ecc44485fb3d33ed8e94e72038649444a2bbe02d89dd473fda1ad7175a89e20813df924d90f402995b4b44fb035335ebab54c2943e16a01a26e615880718e301121ec03d9c41565377fa55729fe226eacfebc3d9f4db0151c3e6f28ca7da421fbf824042a922002d9be444132051b676e8a014bb576f6139bd2d1240c84ff383ee5a306d235f910c650c41d5897382c2004604ea6c2a82f4a7464448235ac0833afc501fe704a1eb2b66d33bdc58908eb4e565f38a6a83ba9123d5487882b0b382bb91f4cbe305b40d28a112f3cc569ae9bb72d5c571724f6a67b317c291652b981e25224cd7e527cd39d76ac2ab718aeeda17467f37f3bd34bcc6e9cf6f01f23dc69009048e42afdc50b3b1557bf71f14f6516863f8235f8afb162d274e46b9876bf3f84bd9b12c401904a3f62cc0f9685d5484c63e01c55c9751dc1dbf12113ffae4527096e40dbd65f26f83c285f80ec5c2b9b38be241416e321712a141451c05b4354fcbb683323ff0c650e37704d8f0067d668db0e81de1127eb63725b2f2859339c70360128044d16d44abe4431d98a11d02ec96d9913631c0fabae18eba7434f7c5a0b3a131803016e26c15e800597622bc50811e008211d52e2fb3ba2b273479573104a822217269a7ecb0188e366317fd3c2654ec8dd12e7f20934d023894772a7cb516506291efc9f9215f36c6530864f3a10dc8f6271d539cb11d45d3e51f335b80ca036ba36d69ba41c693f3041b85f8c278efbe43ff8b79901fb64c513351863220f94c36567e06a17627d9826e04ae162e1116175dd3972433cbcaa2ed78f990759886b3f536e5372f4932e1f8cb7081008238b196e11c91d8678f621b24131591123e11a14b670006d47404d1aec393d59a84f14a02cfd1b00e6871d535589238d4d5528b951f63989bfb450a661d91d4b2f5863125b1a16e50d805700e5b03a5620c7604589c05547089d2ad6a450337a8ed41f827f3c6c4945680147813d65789474236d33cf1401a4855d4a2f0818e778081007e11c1ba291f74750d6bb1e67f584386e33e1317d78903703af1d159b573875556d4d3155e7255115647d60836c761ae252644624fd6429615a1a2e276ea73e8dccd21f14e55c15a87d775e8ba65a535750073efebb871a4a84f2314d77f6529989680e001aa5606a247d3a07f5b71bcba274037e6c5c420d6b24737437ac624039500c5f5ccb0baf97f40cf44d4927a523c85b77fa1a76bc75550bf94a8d358f6c2535510b3320fff25e1734edab507c26e83d98c86257f8463d2da9c42b7181b0ae46d09262010296a84f7a5457753480c14cfbf5220cc5022e77170e7a18fe93193d3fc95931a278cc3c8560a13f643fd4394abb276eae901c17ab470b32b7785547c7e1ff387dea4839e3fa275d3a4e2e47205ed31f719b744f9751cb5ed385ff0516955042c4c36d54171dfb1e96a0d15b52f4530cae816a47fa24d4687d534733b7e3843f2c299b5a448cf419daf93f4574aad273f683c828a7b89f7750264547bafffd4d8d06cd593fd1960d1968124c4bf305272700454c96711e009daf1e5bdb2ba80659b9742c69614a5e87c7ed6ba09fc311aeef39775c64d25c49b8da701878d04b27a6243428edc604c254c4551c724118a7ca123aef2edf4786e27c22200b2913f5df4b28f0670038d162e273ece8ca45e194fc3aee2ed35da2ff126911226b1aa083633a2510fa288be6d572e9d7876f71ef242a26b18831d2caff40a6c05e4fe02b6a11e92abf06798a57732652e0186540ea2e44b9276c14dc0b030cca5e0284eb96658be8b653a1b18952f17d4628b7aff529bd869a236fdda26af48b812500df5a4b6cdbf849b7aeb204d9d7561c8cc09c3a3c15cf77bfa7c10f1b0167583e372c0f2f341932d9b7166bf5a09817061cc526c9250873dccd9a550a5c274cc605a65b04daf408a809995605f3d64d0358d82fd97e8e0dd23b4c4aaff1906cb6c94f574423955307675418a878a852f1a74a5145b29951daf5845e2ac3216b2292b271c14cc1108cbc69708f62112ceea0bb3ac27b2f568b39a9284554c9721da35a57d9bee62cc624c62383926600b8df8332447c7b628ba43c18d37fd24e8ba930166b46840006edac3ffe525e6961e11a493166b1436ad23e34c3bdf15ae5b1980e7fc2cc18c8fe7e43423fd62c896d0b43b57a552e54f426377947b66c80c1df5dd41fab024e78fd33a20029526809256083a5a10d9fc22335ce98693e82990b64ea189441a7dc4b1f18e538614ebefe4004a9c46d4bd1d010accf9c4053516752391c063cb184fd690c0e79125065896011f6b9163c5b6e172920655d2d94c91c6560b01009f0e4045264e562261b4862792e4c3870d62e335fea0b047fdb8d4dca0c65619116b44eff997a66a2c5a64e12cf2264fca46529148e2f2ff3db6456219c8159268364209b00b16c5bd32309e77624106cc5883662792459f096096282513d419a189f04c38aa958ade24155066c1770d9595c13e5af463233f41a2c4bd949103894ad0c14b5964f337d6c0afe98ca359702795c5686e15a70eba2327693b06ab7cab92f588e1d5474d6a346b24ff50b2ff3ef0c11ba9c022eadda29f4988c4d3504455a5fcf8138ddb5385f352339084c70e36c172d0d5d5a2b3b17258c1420e1fd393ae397b81840c0950a8f38816e015bf76f24ae016fb0d09c4bbfe57c283468e940766a6c3ae852b363039c7156ac380d2adf62ab2cd9fd5853bae8b00f7d9643159b56865f6faacb06bfc93341366f4b50c0c4103fcfb8cf1177b45c58e9afcd4cf669b0550c9498415fea3237d8b5250cab2be82a740399366340af5dbff3045e832aa63d4a8b5a352092a96310206e2d7604a018d9999a5de693d360c8e6645bfc7af54f54f98c018f68a71d20221d4730774a5fd167c66bcc7cdc70e7b3a954c60f1558e46c674796c77157850fe031410d3543501a493ef0df950e901f1a5a679f73770f310139f0a63916588aae286d893a1eeb2d960ce696762857dd3e511591fe41c73683449e698c14891904437a62a51ddb3c5e612e0f72627693d2608fa4bc587948260800145108cdf9412da7ba6a6b973a07068754ad624299135f1b3c0b491960e856aacad75cb95108608b6ee92e8b59ba1a98b7306f01b5a45bf17e841a1a915d50edda79404a930c4c2137be62a518b92b1cae675a49632c742133c243f2b5de2470664433505c43259b8e2e337cd5bf1d8e368452bc7f384ae03ec50f270817601141f74f50ca736b4fecf76c5a6560338790325b7113c941167a0e0ef1f0092569a4d13756ec23439f05f75c212d6671ab577c5a0700d870ef0c3f4386710242f42c7f6916f59f5569162f697327115434950864ca39c9267d8f5c69b5710f6eed4370160f75f45654267e168230c607725b0b4715c389114f707973987e0a109c2e0048b35b7d3f93f9926275d7b358b26c3665b202604bea05591f697cf1353cd0d25834a5f33b255b783b09e8dc2cdd4f206e6cf9ef4ddf2acd1c80409a3ef4296c374555082a46fef0773f195a4b6cd702337b7f794c59ef4653bd7045423a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6b5f640b77aa712425d9eb6727ce3c433f5d021d5e77f9683dd366811a1be9d844f115f109f40c171f710711259d50ee6f9107f84105b0896864fe10516f49e01aa58e0541cb487d4eca7b2832fafb0d6e10ac8205c915032c1b64fb3aaf123a51700d8839cbdc4468f89b61534d9b861e377bc13ec94ae52de6251f0c956d610035223121588fb12806abee10c3701553d4fb045f55ec7a5c91045941153c682d33b81335a408bc14ef01040ecd7b5b32988eb4628c005772fc5e7e117cf54d110d540f1bc118271c9a9e4c306f856b1671a7dd2aea626d0e6d4af6616fdc644d5105da6dadadef325016bc323be7d43582604a7731e48d07cc4fe276a648be00e1e1f516002acf4f66393245b792a15a71b3dd20b54c50109767551d25c5ad6239da8f561156cc62ea7c086d3780a22c81b58d2e3d7a6d4e67f8493fbbc35935adb03b09f6699f4d27092c2c8459790804705616ceed420501aaf1373f32e453583d87715da15274e5f7df61e4e4712cf79dec17ac4d2968147d3c29d01fc248fe5c1c2740c3cc6e96a825576f1eec5db602da173690ce25311fbd4ba20d220153aad620e6e580262ad4c5053505c4618484fc0dfcb57147ea859472eb95a72fb1a97c5b9834ca513a88c76716b0b52253804242b7fdb548d945f53e32465f48fc0b876456bb9318f2281f0f27db6c262cf6fe6e38379e21a5551c67896cbd593a644b74e8ca350e6b8046124f9fa570c9a9c13d2e0b6f1c08f8f11917a115056d3aba1ba80b855c51e34e0b3a91cd41d4975520e8a3ce73c9e25e580cf58f0b7447723e3578e35b5b85743a0782436623f24841d08b85600ae583758780c76df463331410fc3330cb8f0508a824ac472a9956504e85de6bde47aa0e4d3226275930607151ae4b009e642d6a3e9b1542ae56a5699c8cbc0bc5a48a1bb4aae84c178b8e24e0a1b7294037591ee3a9ce4e0070186dd67103474051091cd3f17d3ab15ce92c8c78fb3445168b544be19c2d2a400a5635753f656f54f26ce108661e53fdd2259f735131e5a03e2b21bfef74cc64b4723812105c88a81e52c53c860e6d415a5f75708b3594a59227ca07544fadeb291fd71d4f3bb969760a5c3b861a50a9cf1f2e56ea5c2a08f20aa29ce32a065088011b9b08219e58b901feef40368fc4185954f70910908f8e0130ee6621d01c81583d51f60bb508c66fc00fd61b806ac53958973c5cdbdcf15ca062675e4560e053941f1d64b4acbc3ee34d34116e345166745f9f4f7023881a7d46f428bc7ef164f6352b6825dcbb174f1ce44f97fcbc770f10460050756c18d4ae37643c24ac6f2cf50b41ba6ea32e0729e4517d86ab54b5a1f0594445873e620508346c8e700c0077e8534be12a27e296df1d7783d31d60da3d1229eaec58dbeb0c322a3ec3231f448828da844256ee4ec76e90c62275bea6fa0e4b91880bbb57e91bf1135e6f56a473557cc35b75abb9eb14fdde6d147a2d88336e6ebb2352ed0e1a296653058b9ed624b66c021a982be4728cf14e0ca3d03e39d5412129de181b40a0e9ca1c9284063f34dfb506306dc342a1e69b432bc00b1d29e13d3bf207ae2abec4215bb081aa1870c23c26d288803c8ccfc820115ca03b39ce94250e183f4486a2ce23efa6c476e329a81bb2691462baa0fd09d111114a5481b53114f64f4a1c7f8421d0645d766041fd6f7202396ea91a4814abd6a25be883aa6d22fb69734bd73076e3bb7e65b23af662e1bfc773cbdcee6b1b97d860b462b217ddeede4ebba3b277fd391e5da76e893896fcc90e89cec0073ecbac6ac245860a8548ed3d182cd132b7bbb23e2acf7276928863594e311f3995a1387790871b382141c72547afea624bcaa32ba7dc2900c1d76562f1e9d868f50e10440203733245c9c64502b4ab00db37e00f92a4356296dea91c5aeddf76ae91af0c2e743b3400000000dab2db128dd97e6a09ad3b59b1f0a23dbde1652a607f5837e3f872280e617c6a66dfe825b07c040c5e4bc559479e8f00d0271715b9bdd621d4e53c22f57ede1e6d765970408e9d04fe39c303aca1f13b8a7f622198ad0a0a808fff077d7e6715bfbe9e6dc7fc1f321b5b862df3b6b44fbc31c6540ac1736313b75a70ef873174c3b0513db85e6a3cf5c54b08f546bc6e732aad08d1e93522154d8313c130a5444420b51b1c9ca12b5c7efb376943d14897e87b44fd293c4118003c53d3d75473bf47e948e76709742fb6d74e6929892b3bcbd772dfc87a30a6fb0932244a4759b439540b5f4b6759e5fd8e5ecc87282abb30071641e02b41c36e4e199b49f6523be62e3abc4dac24e401a367dfc3240308d12833a3c1a304f95d6d1dc2fffe502a83e6134e8cba03e5c5ad591c695f3d549bec6fc3e2784896743a722117fc3e09c81a5ec62e443bbaf20217e4a3351144744c14024661573b9ae32a8def146f49fe0e6cd749e76f9da0ca3de398842a4677db4985bfcd328690123400068e3c1cfb7b6e4cc5375f620a254384836b50d07fec349cdc3850e984bc5c6b89f9217db32d1bf468b92117120d67efaacb13d002063972ad9f609a7d6c64cfddc42cae19ea3bc0570f52616eb62a4c932257225150004c3c9f12caffa2322d42ec628abc0443d2cd4a289bbaa01aa3319a02d2ae734709cdff40b6c252547326a12885164737b9ac966ba5942670a2209b3d3236625e27452927835aaf3872ae705c5eab3c2e46f51e452fc9c24fed4d8047b9e5e90749eb355f5e88673171eb8b0f314a7f51d1d9c00ecea6de7334dfba2e8817be3600f8767688da9b12e337bb1fa5a64322122bef6e935c436205d7232ae7f3b33ad689960a8f112b3969b17e72314bbc13c04fa81ed2175e305f37f676ed2b063b6073f7070e51e06a11dbda44c6a2932918feb833455f960519ab134645613762db615075c3796a5f8db49774f1857430770de66edbb26b56435ba714cee65840bbea3428fcf6de296bc9483efb6eda157aafcd485355375d5c1d8f2e3a28930050d2095acc24903fa4123e0961fdae228178756eb0f0030704c8d469c15f21562cd18a284db9a22461f3d337e6605435d71456209673365d973d0e2f482d745debda4f309acda66498d84834f9c6452bbac6816bb8cab64561955f677eb5e371badd6a0f1bb2d35347844b466401d95c39dd1b27e09ba4317c7a23749afc2c001ccb304c60a59a1047d2025bee38460feee2ed14a542490feeba4d1bd3707f1a0835b8208a39d829566d3f259429620b56addf334dd4b4702e00f451bb9f9b555a709a43552499773f0a610a38e97108c7e9eb7701b7e82934e75106aee2633e2e9a722c919e2238d2e0a046e3989e5d0133500573db6645823ecf53a604fd1c74b8b574fae2985a7c4f2e313dc75f045ac24557678e470a7f8c6136f3ea173d8b84c74be5e0070904465a0cccf434762392f849c692ea778067241445049c426096a952577eb82353a547327164c05bda84dd593892e909edcad248d76a7f5777004d052a702a34f52d2746ab46c4199539d7492f1c21309a0fb556f40b85356550dc510e1d84150b254122fb93a50141a8ed7579d88b756206b24c3a682f36b4f91b082543b244fd304a60225cc6270ef528303bb810113ed9b242acb1e555bc822d3e2c37c32ea3ce4c30046e5558536e0212670722069999260342ce264b41e7dc256240e87359498322fe10a11d0728752a2d1afa5ca9d4b9016b0c91131ddbf0574cf0ff6d2b82e60ec3cc082e58fedc0843a309417d164b5afc29d34f892a752f3bae410b4899d43c1cdc765310b06b52344d1d14735a0f6a3f023c5ddba2dc695ae8dc6342781c3cc5e9906e7c9f316756a85514e21c1b2dc082673412dc6e76aa0f080b0c656542394b813a8790b21b6f2f523bcf814527ab65ce1ac80ec216b7d4e750e85502391251cd442e59983b17d9d64911c80b770018545e3aa83e2b2dc2af5f0e004638348adc0feee2a12d85de9e5d81e28f3246df84731966e71a3046e83f688fba108f8b1e1ca6fedd6ade28f71a7b1a460e0cadd74a455ce732e1cbb0067fb9aa1a10839641ee07111841a67659ed7fd74c186ec17384831112acf58710867fac518e56874ca7ae145754695d00d1dccb448b8f2212def7d904c254215c52c253147030dd3d2f4269073e21021182703934af38fd329597475baab7a41d8c3405106e48f86f7ec1ea18b7d88f1768986f16851d6749674d6e3783e050223b45d220e89de85f2d2ed03cd5aa6519fb619360bb5cc5469871b456f2329a103cb44e1b814e505ad15f6f38768132253e7db16dfaa7730006287f48f2fa7d2fdf2f716fc21f84024b59da4402ae7a02dd42aa1f1f6183614aa1e0373b68f15f8afa9d6e2f8a596328142153aacb2c463abe143ce35a275d6cecb751f760f62ab582e66708103919195e07342895a1019db7972168a2915322d35838b1097c0f5c08c43cd8169747cca69f5a6923f72fc0ae1c26fab5865cb7a07b5073284727d740ca61ab069733676fac33efaa1554196eaa0100dca37546650e6054848904d9ca3d427562ba4b2e5b3f5150158b2b4983822785f858062fd52e3ec5912e0cd1818a3e63ff5b3dc4a6662bef5ef918fc0f883c638ec22e47d239551245300d7e5df60963ca81376b75316eae893714c2a7395a1df169172587a34dfcc7475cb0eebe1d236bea24c759b7342c017842e8532e10b04b4c58bdab93741c4b5607f715bb2f6fc6de6ed6fd4c3bdfa9ba0e441e35495a36f33bd0b94f0fbcdcb072ee280612b694271a8b3e4a59cf28923b1f8fac3646bf152bae44c93ad4b77a0e4e0d1116ce91eb0fe934d229a92bf2383b37a6742a66014e8015865f101b280f6f522353458959618799172d95601e505da07a32a493d2369cf1a31a2dd2bf470164e90e2d055e56fe45336743dfc54350673c0c89fbb75b1d7f652007e7a639dcf5e50ad1fae6640922a040f947f06d096d6768791d9418eb41482d18899e640bf9d84f2f544d416113db08ffc01d0b537ff5138c17fb278b037739627c4564127ff2023eccbf768abf755ed1d96650a50cb3270dca066b51bf68486d511a6f6b41ec121115e9696077af25657bd80e046e8f3b191d2f4223e8855ab21227189633f32342587d77b40d214a54c18072219b4647f916392415ab382429a42c49c0635742bafaa8090933092ecc83696723927d1406de88276e33f41601f3a7159964b504f1cc25144acc49706e55e80058375063a285e1587584c050ac574c154560615dcee28c74a62acc636903546167b1470bc605b840e5c4793dba69396db99b471b7bf5431ce914dc3bdbd3aa6515ce3435c941ff00c024071ff7fca02391cd65454cfd871aa6eb203c853b0e08e2059c0504ce884a2005562452cb696dbebf890dddac054281059f3618189b0884f25a4f24db925cbd0ae2013a402a70ba7c6b655b60d57662635836a9c2f57211b51c307358394b1062e86af4fece6bb17d84639a704a0c7237174a0ea23c2bf7e5b0303f01760cae189664d75fc32877545f20caf4411c385e7b11126dbf1bdf64323594ba976f4d4bba6ba84305469148b75890fcc24dd62720266b2ef35ed6358a137ed0682ac1828a76328a0d64cae93933938f5370752f6035651bb7243fdbfd2ae678fe39a1f85266b9a9af40c940c24172fa1a51dc8404447d911962bed0e96250d7725a62973742205c61529764fd46c3f82733c57266034eb25e23a27c51539bd7186969819341e4d6d5071057c11171ea45198df0ef5d49ad5434aa4bf663432751561711fc12eaffe66fabac8e5e2a6c830a5897234b01ef7546176a191c634b86265bf7e708b9b8765044c4d34370a54e16d0b60759a7056c47271d28551da5901711f53419aaa329126d74e27629dc6f13d1f6310badb2de2c1b2fb076b78036123b62a5361e11876ebae3086661b0371ce6626d15d6e6345f8e66542bf9fec1773be71d100924af349da6fc51a098442e21b452113da08417aaecce6812558273711d2a45bb99927309be30711762372f8335751a584e6b63c776f91c4e044623fb65de01d92f06496a67425ecff6ec13f080500769a99a2dbcead0563dc76c38beaf7342056c3d5c37b8140f4955a142a806ab1fc2196444d13d0d18c3190663e5997a3845bf43375bdb1a1ab752c356e371ab2cc9b88f662c9b2919353a73551c03cf64ffdfe3271faa582d96b436258073cd49c0e0944b6d57977739cc971e225dac3b6252cc45c758e161f4dde94d79ed6c204048fb20541f85190b91ee6de18d8a0b91a2b7726d4a8b0736102d17d1b9a318e00379213ae53c5ce8222a1f2fd6ac2f5e6be74817b183120c5709709bff5d5e8f2ff56987328c517835a8317d51e762e6d6a22b5230666f87417809497c0575da01c43253ca7810097e2d043f6b9e65efdd5b666ab86b32c13b3c6f9af3784a788774149d9962043c258049f6bd4802679fe14e44742b5bb9e4a562270619653fd7fe26bf143a65fbae0002ebd1174b3eb9a548bc11812bbe8d4a3e168e603b32b84c4609b391543666d239fddc523dfa46b71d170a153c4dd4b82355725313a41b7410537f0c595e94d806260b4c496f83fd2b571d0d00a0ed71752910282e88ea2b19bfc77e2d9af12c511d2c465f470ad221d5270b408cb5e600137b9c400bce2448c5414a366dbc9d0606a4d719132eb1240209d961da36b47599c63c1b334b093bfce35e61ab63e364a0b34005b613a2719400491d69f7ed37705cf0164bc66b4f4cbf90453f53366e468c9c283e983f0a30de9c74e519f314b0a7622bbaa9641121034b3e04b7261f53bb5d5ad1880f16d048fd5b37fbb131f01d3b2c591bba467eaa1968f63f9a0f63947736f6c90955d79aa40c29a4d64da44e5d4d7172fe6a2879643a5917a97633f1b51c1b6994325fb18970fc2e5d6f83f68e10f455c72fdcbb902f5914f564212dc91f5124a42668f14f7062b88653254222771d6a7f4bff9db1160f31c67557b4a8180bbe590e4e7706700662f923655407056714e24daa52145de5d47c65a9ae50349bfcc24cce85c8733e7d3c02eea2c23fb4fca875568cd72bc23f7f36ff222443bc913c0216423d532690706675b8083f44dcb95729e00452eb78f86912eb8876d1ae95447db1ff5c99ae7633c04d0c6946ff0a5eb8e56c6b450a6937a2e50b6d9f7cc417251ea655be5b615e6e0033738234c3601979cb3245192c53c3f18464cf85001231a8b11ffe575c28b45463489432c00baa5f0e12b92c8b66e1d3b552136d0e01484cc974e43fc75423c5ee3a8edc7e34e72a854a1e86b9074f38c122a15a732d8aa3673a7690491757a0287164c158302bf6822f7e31f643f6294771c1e7bc6065a47552796e620a399b985f38357005b87a9a23b164c323cd2a4451eb8a0148222f5002e0c008551737ff0b8419eb67f80893208a09224973a6142c620f210c61e4a764ad0c7370e27c3555478a77275d494c67235a3c22b810ac6996bc8a2ae8c62d54b9e549605cada80c836bfd32233646228945eb75b7d68915afdd4633ba497c34bef7461df27658421c34442bb41d392de345c758203ac6258950593e3c455c277d964b188e28e31a310657273ad9ae5ebc88ed021976973b8d04271b50ebfb22c137ea28042e3e01000000007ba9554933fb91546082dc1ca4272310edfb9f774018996005d0bb3a3c461a46b85522269b27d1454e5ed919ab57ef20d2addd73d6e27e0c6eba822d19c79f77ceded1473990c838cad9e27001d0e847cc92550779a79806bb1a2324b791f82b5f3e7a5507dff900f2eb390a56f53a6ff2993a206655c4665c4f305574b10e5fd3c3d7764e8d1e1d3ae6a320155f00677288d11d5904bd53c795626a6a454a1d96fd80673880461405688235823b09189e52336e830e7018f0323c70a8457d2c17f3b60c2c546b0f8805b32ca4c8f64848926565687fd53028a7f212a724771b369d2f375af7e6714d8068583b3940620e97ac594a9aab00199f9452a391e448f2e28965a7f2a91f8f90cd4c5439162444a74c02b48daf48d52f7d4472c87e34763cf14a71a7d35f9c7bbd5a8b49b267e1c5c13a70069c26f81ab46d6206b36a28a7e8509d1b576e810bd35b3dec3a2964e831026040554e83b2cd0329474b6d87eb9f42baca39093590b91c270e5a346020ac18ed52c7312f816b6d530f4908fed8d722316ee656017a041abf2b0f6afdb0ff55203699286e9b8022eda3e71f53389028c3ad8936579d1b02333932513766d56e65eb8a1e0ee08101118c832fcd6758158574d16a977bed359c843e36f52d396f7f8e64173e425a09efc93e328d4b1c4eb7fcf3707a61b0776c348d4935972624d4594d23d9036a66df5df02adb31d63e9e6a0d0a4b2669039e06f31e822f0b09bb542507940c060c604627359645626dc668891f90a6033ceb0c566129aa28500a49c622b29f94525f9e37427b6ee3048ea626300120d642d555735cb20cb00532fd660d7918f774b51e6418feed0a353175da2c73c3c92cf132e73d7d31214d6d48fa1dec47d1241d2a513521c9d804d057847008400d3efad7d741e4cf8d1c27d44741c784006ba34c3c19eae8fc225a0dc0210eb1d16b02182367f5b1d52790dde8311ea1e26554e47e4091b3540c36e93e0d5c8e1e6efe46b65b58d3df626676f054f55aa62a0adba42e7065a36577da1073f8772446ce34b838ec5ff40e390123387404736b3cd79a2fccc49c0e6b27e748d77c67454d261d6edfbe3145c6727c24147ddc5d23d5e80cac8bb075956ac84e8649b13bacaa5512e2f2b94a89e7a304739b0b261cb5091c9efc652749934016c6fc8969dce84f3d9022995110073f10617d7d6e1b0eb25aef847253f9533f4236a59c76c50839092f65b71ca630b35192a57b0292ccb1463100877799a66c2da72fb341fe6b596fef0c961e588c04260474606abc5ff5130099773a65bfbf10c201e65c950f0c482d56ad218c10c86f2b16fc4298836c45a8fb795f4f7c85715fb12243c2c684706a869506b69a8338c650e94c910c0f468856b25e9d6f8a4a887a79347012ab5fea8733771d1fa25f7142653732e3583929c804556679e406cd7edb2c4fd4362adfea3035b54d710b87c29a23f1cfc4391059805e7dd0d5665b507776a891e923cb5544364bd3966a4c9ce42d189e184406c4a6451a396d6de2f21139d555b51d91f37d278e79503f723d6962ff563b0862c4836521f5a1768821d149cb2690574354c054b97656005102a21b226b1375991d4e272075cd124db176635d543b764a92954cb55c4c658f57ad60c32c7664aef86a136a062000b2a784527911d807490ae46f4bd16901730fd0631b1e210cff1c3915d05782611a93140c4fe7d55b56f42032e618f41081b1af1fa0ee7c6f277fd41e9cbecb25e4283a14567cda419f21156044b9454e7fa0a4415f89357422a3787023c6b16403f47751b7272e4d0108f40aa4a6aa01c616376c87f1ff7585756c6f87185d1da0ea873e70049858c982f54d84782471e61a866a38a6c8656269013539e053564c73096785e41a14e711a8336708164aeb21ba1f940c0851d39c896d11ed5d0b48e0be1ed9f8314811007610be1f7309da373f571c29613831fb650435424f75d33f1c42ec4cd2622c8b6e0d4dff9d4520c4794f6c8d9c3928390173df5bc962db1085538e829a67158d46232535d73a3c82fb20c140ed0ca848db502cadf37205942632142047121e008a041a986403179bb3727cba5308026e3425e0446d59c9a84f6ab0f62f2eb2600202ea6d3d1f38d01e20f9025b598378f76ec2e8a16980007e2bf0ca8b0856897751e4a52e76ea512d63dfd49a38e0b78c493864d260230bea2c67c7d365d93be4565ad50732dfdc5b13e68a0d1e2020f60558732e622003770412cf964d194d2f239ae50d5acab588547126ab2e7755c927a31ebe1bc52f3108605d66152fbf9b0fc7927622296b0354bb75e4315b2cc40cda0da748becb850fef231c016e78102f8e000b5fe9583b0716fe434258c7fa1b1d9b260db11fe52d561a7a614493a5725fdec36cfd49d62e11ab1d57aec71012d0e5c268a3db1d61ce11233d3249ce6bc389815ff585ae6338e983694586103b8d8b8534db1bb645b76caf367967214d6362de6fa0782f195f5c7a16bbdc9c2960cbf76d4701ff2c1e9e43142cce971e76dc394fc230b8753a245238f71d6045749423472b9c267084423d2868912a0dbdbecd3507dead059b85a13e2e7faf5f009bf01c49ea1d16a3a4c212cb661d6e0814071af8fa1166a2860e14f077646ee8e472165374265522acd610a73d835db0227c1e836e822b5c966a4e92768048df35862faa22955257c0b47198191e0615d9620ac476952faee08604ece07b212d9ab06de93b997484fadf2c0209c8263d87c30127e85a0cd768f54e6e3e6e1468e01672aed4ab1410e05d2285d9be3c9970a90357959c71c55d8f1f3c9467629f07e961b88d2d0f62029116dc8f8150c8d86f195327126996fb424a0c85d93d2f87413673441a4ed1d0552c8b79f41fa3d5a46e99623133da7b282118cce22e5825e710dfdf7f0748f57359fbdae04db061852596362f38d43f59267f79151ff30877051b58ea16e028c600040d4b39c7728b6ffb1b912d8f337e4352497236404364187648ed58138772232ea5112ffbc0eb04993dac35d635a71e6b0c5e38303a8f4c17b9d748dbd59a7394ca2615936f86098bf9793a7979ae2ce30f384350436665d900a0427c44ed3a2deffe3bffc7f23835bf826cb8a0295ca667bc5a7a8a39329c49321a975bd32e340d3409b53c306df0459032df7ca8339502df5087b8391c312f784390a9f45fd023ef3d650fba1e97cef845e8f46e2097aa2912d837de621484b048ebb9776a00276f68fdc37822d2c1b746eafb2c0709ed352ec73b1c45d8eb750df93f0b39558cc259cba00263292eb0060fc9c025a19002755913e327d5c6135dd22ea72256af6f62018bea6c04d94b57e4ba0c33cc618d395587831e79f86c4ddd8dd2271b011c52b05d0d2eb37a0a65e3fc0e6e04788c1aabfffe048087be259fc0731f2912c06507c98441daeabf5f0742b4710fd64610413908523b5fdf29197e460a12630828b2aedb494805ea0753bed940cfe6af051756d3402fa5d47511a8ab4c32f201712dcf812ed8ea815321a3e5390474755412257650766345219299cc3fb21e4f24a8a0eb032875084fbb61666ea495090a22ca9462d684bc0ac421a70c87080000e801e82b1df73e41d82adc3506754a1338cb202af9c0f304524fff65842a532cf1f13a3776ec4c47d904672ea052a61a38b7692ffcde6116d23bbd3a06314e541040b141fbb5cb4f3a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6bd3d22445bc2e097051e60367ac96c018cb842f0c20fe4b3b9ccaea1e56d1e90efbbb265780897464c8362b1bfc67ac5562b8104130677331c6794d6573432c709317be3958e3590483b3d766d4813a5b7ce7867489a99c3c2f4ac56c17785107258e2e09c4ec5a1d62a3ca745fade6415aa47d759b267456e65e8f47d730601a5f440b384a67b649749e6b4317d2281523b28b42eaf9a313e4d93d28bf5d0106fcff1c431df4253b702bdc72e4622a4f9ffacb3e3160da5dbeb14b597a2e5a2dda429f29ec9f99250246db5fc0db6172af89462eec33d971a280ca229fdb97693b498f04521b306561b6162a46aae32d2329a95cfe3222366097423a1b406b4598044c6effa48b508ff08a2cc3eb9a12e8732c0ee1f26858e6d69041378a441b7f62c84f9a38922a04fb45683429db4e30ad06039b19cb40a605785a6e1ac55cf80d4e52ff61fe6c2bc6b06f317c5268af73646545d6eb6781865902a5161519315bae49eb260b6c8aef6d5c40b063406f09cc5a8039e805fcc0e107dc247f3c4dbc44022cc53258199ebd1c652a8602f9411115d86596519b723971cde3c7194a913a3391626a7008fba835dca45272da40d710a83bb6709ef17209a428cf17c62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0e4531526ea317a7523ec20c66fecce9183adf0270ae9bed67d824a55ff1783a02e87d710a607f4413251b2c30036ac4088597e717618eda6f07e79b1dbbb24a2575adf0733e803136c031ab0a1764ba40acfe5d39685e6f15e0b5632e8641702cbdc7d53086068244d48ed42dd1e04a03199c14121ccf645d244c5e04797b8b5976628e3b843ddf157e8f46669812ba55cf27ce461931c93d4f602832bfd6ab47534baf2d48b6385d5934b061cdbe790308860c6f03488262070ca43f56699f0c0e5ecd3a49cafa0d4e9f040b9a29ec04df00e10b231cde232699fb45ccb4b632d028201dc28425633e19b43656ff15026aeb39580c7b405fb36a5871af31ba0a43fa0e17357d8b460948a8746c6d51393cf0c8045d3d6642a85ba747bafdeb0719d6012ae764243b7f617207203d3f5b077f020682af512a66378d52f56fed0fbee94142385bc31dc5e6d373cf8aa0474da78c6022a34a1baa955d12e8aa2f34d4dae629d5da901982599250c3894053c800221e64444947a627091934ecff2514bff0592b9f5413f6ebc71bcc9ccb40db46c7137c6f3f0bbb52bf14036d5970b1803860ac12685eb4ef3d32e2fd084c6ce36d12d393623727e1f51d7d5795572ef6d76e8743b91b18c4a8475d09bc6f9c7bab2acb9a4e3d7d270c20a740914b362ea52ac7bada6b435f8635ac259d643b2c21096458ec630f77c93d2d906a5f44bfef757ca1782f9360f235dbe8621a1e7cea203ca9e657f97e9859fc3c8952dc08050be00ed20f8482326597ba8032d2cc33595baf6e5124c8b771ec063b178f94f33afcfa0b251434d26ca1e1703073981a2a8e016a3740f7914af5ffc83b3a0eb15d40f6946d2316526da5f0fa37cab0b714760ecf6eec2e3808ee40244f12eda648faa15b22c7ec8250a39639549805e772217aef145608f255f674f57400524c41f33cdc62a9099416de39f914c0a1c241285e3740e1c71c0e9fd58546153cd950b610500a6c4609617abf2c44e9ecbe48abe49035aa0d73753a63d561ec15af27d203623c9cbae43ae576a612e137c32295500114f583304530971a261df91a1e2dbece46d2249527c6b93c5431a78b41bae9052388bc18574e433560ebfe033882f7e26df5c089409f0dbd2258de7810bcb4d5537dcc4d01760f98621a35dd70c9020129fa545f45a0f3751fad51383f4ae1f10ca643f875eeff4a2f997c54174c3a826b992da04510d310152f844840c2e027398075f51dd9f55752a636e7778c62aa6e5139222f00000000b904115f1ec0212bee664c4aa5d7fe2e9fd8f21a43c3f13d0628731875b0312691caed11e67e5d14c17b3270d185ee1d80ef9a64a4169a735591b269c7f78d598743d26f16e31334dc84c62f6e3a327680fecc51cbbbff398273cc706d56d62a52f95638503e4c4a260d006dafac385ba6092e188812771ed257d830fa5a62702ea4042bca04af66db75911ca99433440f8a910207cae07374cb6222ddd8ad119fcd2e4c95a6264435f2cd336f550b1195060521c7dcdd48ccb11c1bcfcf3a56fa9e27509f9007148ca0b020cfd1076d4772fd19b47c954d1607a32c5be5721fb3ca5e0585036e3a0059583c08f03a0c7cb2a663b8c1ac48ae93f05a7e39bc0cdfc2d6159a5ae22193b7fc62c097be629af68c0cd1d15043b3641c4f11a3ae059e69791c7873191527bea247d8f49a3c82fff90e91c0253f4d9fe75020dc772a8951101f4a438d1cdc8d69531c99e2692992eb24ac199f72f44f146f3b9a514c5e5baf0d6ed5fa04f02fed2c7abb456c94ae066deface91e00117c42fd2e2465fd4023058395690001c83a3aae372c48d65a650b4f5cf72820a346007477970b0422bb257fa78730d76f67017df0a648e15024549f711561f0fdc7635ae945631352c327cc72852afa3aef533b36b42260c4f7459bf653505cdbc27633097648cf81a3206449b86f2ba42b26d0abff566e95ba280000790b05daaa4f07c75c1f4607b6154c769b3fd28d194a13aa536581a1df0f2c1a545f5e2172409270582b9fe828559546771723ed051b106cac0299b8fe42ecd01e48c39f4872413a0b2559d2016f0ef1e3681bd7a370c972566036b85835861d336117fdb044bafede3cad12875ffce33c4513e2e632b81ac86ab0c2920a5039a46bd7470952626fa36944954f6c3a178e553f63ff24781ec40bf63ec02d9e592207c8ab923b4e984a0ac6a47a204e6b2f091c83c86c02f7a9197cd00e1996dd81078de6863ab64b062a3878d45f043cdd747bdaf9063814ad3af2352412f99d684c61b49e6a664da431af896d5f77acfe4294297c6ede36404a27292b3dd9dbd533dc036601cb4cff4b259fa92e51afaa6935a37b244370ec53757d966879460e378ea797667b814f3ab7d32a3d9cd23e4b76628b384aa5c80d93f1b555277cf24034505d2f75774e480ab6b870c80db64ad9159d6c537b665e50b2e446f1065d74f68c7b6eb4ce9a2c174d9018296e563ab2e2766059ce861dd3351e16412bb857790d4801d2718c4bb64053522f4c866b17105852054e9c37d29615383a1c5d5e07072e242033904b18db5e662240890b8c72e41fd71dd4368ddab247f6c76211c44ba05d72680019ec94be47d6df1a112cfc032135471f244b9dae397265f067b97195587e31e25c4e428004324f1c314cefb7738cb2f3309e017f67df64d73d4e097c6c759b2d686e800e0502dbac10cbfcd7416005d773ebaf3a1e92e76715efbf0442612ab46ac382cf77a981276db219654a9043fb23b1b3e26bf4ae1c4d65e65829bb418b18a84865586cfb164e3c5f1d5b2c8f835170d4e33e3633fc5299041d1c08932f00da5a696c99d4651e896ae75143b86d2ef7258f65e8a3a248639787074ba1be106d700b4cae0e9f60dccb9819752b7c2b277af4342cbcca2bfbda0d3d01586716b4cdbd4542f820531e4c9001b4439b2519b28506136e3f55b4c682499a83ee189c20273751041168b32649166b8316766efc1820cc85980d0405ae5dec5b174675128f12913ead10fedabe524dfd4b4bf18d1b40a5ec593bc640677550104d6598b92568f6134e50b53a6f513c03d23bb737906344b18a10d7818f17945e3b30fdb0ca544c09416d5ead5d1f3434242e87c3aa32e360b4598dff0655af5ceb22e8ec1e37596eec3528f1574b2dcd011857b41a29f7390538c8495e5b142bc00e3f1f92458c73cd0356edc63a6a3f0935ba29b56b1ecfc42d32f46d5f12ea0928d90b082a4c99d44fbcdb326d4d882a6c89b2c602c5a5cd09f6ed1572761ada46efcebe34d933a3579059475d9223c71fe63ff645e97a69544f164013bd59fd2add89943a95b5d854001f2b104dd15717da357673bec2af12b439dc53df269f335be43343f7b8706da527eb5f3186ee1695281d06af0e8e06a4b1160789a35d4c2c7a0566bf4e7928a554bd08c652b51bb6c41c3796e6f040554b01754aa3fb1b693f434db1a8ec0abeac31363dfc376b27c2172ed37ea33bb3e83353b2d06b00b7791c5a64739269d59b2f5c918df00708b2b552f9350f23e8ef520b0fe49403c2e82e2b6b1f3816378fa0648949220ab4bee5045e79985251ade873f1ee2b18c8d60716f6484d4fd5a09b5ecc9cda4c3110e469d9ffdc139b0216566811193116b06a1bc3b8311804ec3c5ca6c0d9061577c011248da1424b47f06c3199d21ac382c50185567642e7c6fd469a81b8348d54415f84020263560ae85cf7f047015fa2776c87bf6036a40acc63f3568150732af44fe2a81e30e1e48d348b54512bb02f2e287314c005a3af954e8915a457ed42856b5e501244fdbb600b549e5334e6033e6bccd750630e0faa63b7d5412e33e2f931b2107f16e5d3991c738c2c1879faf837cf5cc565c911d156dce1c867031d23212cb81e03249e4854e335c42656e0ba5a5057f266c4946f167e8e3a2f72782824dffc092e6b33ff3957c5a81689780f5de920e7220bc7b66c00447031c1057f3bb3558c1876971d6806abff16163e4774e79e236bd03942460b0f6543eda3536e15d98c54177e4b6caed8c30cce406603a5b1b92eb759804fd4a1e518d56e1f4cf7ec440d17bb10737379026cf0101b704961790a5dcc2318c9c2f56b076fa623fb114665c3e9685aa6cf23551a79762ca905272ae1aab81e2512b74dedbd5724aa20a62f942ce12f0405ee3e593c3267bf4c7d69bc3f6547443f0c1d35d4e20ed6a24312cf692d20d03ae705f09f0c5993c8a036f3b891049abaf926cc467767668bd151506d840cd38fdd0093f5c43eb31b53543af1c051d0f6466b9a21ae37cbe6b069c4868f322ed1aa3c461ec027dee74b58a3c0050a9997e906b59a13362c6767527dcd4a7477cf190b6967925fc87c6911393ad815bd950554c918ec19907a7b6fe71e9f06dac9550047723b1d85e7a34c411cf659d7abe35fa9696a116d442d31267b3b2a578d24194c8bda0cae0e8a10b3bb355455ba2041d987476877cb9e62c834521f6336942749a31733c59fd0474fdce86a497d1e64ffeef65e159d0d6655dd30628da2aa5756bf9e25e28c1841dc2b1e0e24959c17d396c041186d5d3796b6fd19b6d90f2c3560252d4156b41ee9ca734719eb681ab24442715909842d88329f1366d5320eb9975b3dc2b9d92bed819a29f421ec67c6c62b714a8c9f5ce0fb266d3ea06a191ee0986ec5c3050c9bff441d63e4834cf6a389056857ad3a2962e1084c21b85c95d806054516ee3745b12f742c8c51415f9e2f39741ca12ab270503d965a571565284e312deacc4a4b9d314c3c4ac508c1f24313c4b4d262878ffb38b73f800a38193f5b89248955312820173ae5e81688a593398d862b0ab1a5966edceecc4a8b4962131a94360a5332bc73f9247d2f2c4859615b438a55a31f9f308b3dab04895e7333c93b350560eaca01590a7c298ca4af386e078958ddc2da365d03580126702c1c8e5c811e86777e5c15b13864a140bc68f2d8d45042f9695f6471085c96704d3bd4efbd3e61d699234dcf2e56df715e240d5413648357856361f87c3a97b9c83d518fad2e9d240d3e6246e32b1aa7f833bddcd632d9fc1607459f7a013f0eea2418b07d268bf92c014a21c36a7ecc0f11e0cd7926acc50c2dfd284d31fb2f415eb42ef0351c040d3dc9e4036b0a2a2c6e2cd35f119c436d42da233a3b100e4e3c15496855923b141714c947207ba03b5c4e537924903e0f0f8ddf92291a786b1296423b3383e48d68c5e8ab046de97572d7557566d3de7d5f39be916f73260f6a95d3b7543fca5f491508a940f136150b1e83a93d3b92664dc1944400878d264d59f08f73ce5eb20f31cc7223fb701d5be32a67396a16730c242672231d966e5d8e17bf59b6e88e3719d6523d0338a6261958e150485a8235837f813c03331e5e3abb9d268cdd3555c19ff95ae7bfcb1835ebd768ce20ae257dffdd2479eb25299397d442abc7125d03b75806b134293161274026ec018e4e544d0b4cb84d3134c2147e48e0d3911ffc1c2e438eae444389689239c0f1423977f3db71c3e2d725d400d6204d522b0af2c08069aa90a23743300939a3f360452689486f3efc172050bcb66a14c16551b4211f020860d42b25bb5a54828c3069ff99d95b27feaf3cc2a0c454edc21b1d4d3cc72d927d0869f9ba330f49c9d936f63ef35806013517b94178531706a21ce067a44380763b0e47632b27d0b98b13747c282c111a3f46519d3b5ae8398873a96b86688844f2016f34661a04ccdd0bcde72264dd251256d2016b27b7cca22141574c62b1c5b81452d4263dad70fe11b95c2b72cf6d6e2c6764620ca52acc48cba3a3151b442a55b136460b12526e05f5772a3fb887b61aa0d688684155da08dba9354dbdd98f3dfe6578633706a50e8713ab13a2c2816acafc2756b564e653824c241b9b9c576e4b367f179909dd101e2a7029148c7a419835c0060745963516ae950214b64317eccd5105a565226fa36c1a4f2b3ab46ef4fdc11a3643502593419c6111b42c5c7de89b47d771d260b8239e6d4015580c86853463dcc2f9162bd59b30ba6f70185aae8635482be775419a0a4f5952322e4e44c2497f4dd16db625fb647afdf5077edac7091252c4688256aa68f743172e46549f503e469d689f18d1072459a959322e263f6c3fae0cb9469320d2811f03da39ed075ddf7f6bf4b9f13f4bc8ad2dc1c0373c7e45be64197010645e3b8f6deb99df46c32ff9277e43d2037da3fa31b8a7bc66502efe08a03fb94bc7479b34d3c72f454210062913e3924ee10e1f0d3517d74620ab064d931c9b1807a7f10bfe6aab089415b12e506b113c8c7b582e31c87e533310812bbd601d18ee13eb0ede018a60577ef25464f6cc7654638767ce6b86685dbf53457113141a6748425a62441123ccaafe5f16c64a2aca2056157357b703a76a771db4a53a057bab931f25716e362550b04e61eba46a99d68531e3d67f67fa358c0d5b71c510b075c6229cfb7e4ebde718473f29a12733c61344efae4f2f2bc7e154c9b6164b18b321411b8b250e49026f4991da7905587c6f0a2dfde5196092bc7190859d2132573146f182fb1a7c7fa13f81f99035101644323dd3c30e4a3902528901e24d3b8ce91774b67225d914ce6b07bc495a9be1223088cac744e30b3a3ecf85d8731d44e95d6a03bf7264f428096f1dba45aec1232bea9fc307821eba4cac3ee725439a233582691c11efe3c314df20b551fe4aa51b32f5491f2885983f9e28676e27791b3d1fc30942e46fa815d8c51f63c03cb5712f85fa3f46af1e3c0fc36c15043f3919260ac44db530264059ed7a262a03ee12614274620038e4056c09af399b3eac70b879dd698e908a15e3b96a6e552e24398fc0c74a75731213a01fcc00606a6f4268106c45d863291407d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea2753612c83e7a0b271e6e989551efc9e853193d506acf2f5a5d54f6b62a000000001fc3fb4e1ed4a93fcd748332c18ee872f8ca031faaacb67148d6521ccf5288588bd17f2af236826e392a193dd6c4b96b96104b5ca218a63db8cc5e485bed0818a6efb510676ee254d6e7670d35c38218bcf26d15e63b526ab13c5a06a8178c65aabbd552cdef724799dbc0160cabaa3b3751d80c46c2b6456d775941e05818551e68e66412f99f3ee696e14b33daf4270a377a2e0b941625455aaf343e95d8011a1abc11fa534932a10b9b26fc8d616cdc1d8e5bb383db53134ca65dedfa9f0e3595106d5fa3e75a28c71a35dbfda314854fdb40087343751439aa60ef16b24edee63420d9b8415a7cf78320a3a8023a6010b425739a5365a73b5c34c5e1a62ae1b0445cdc615543fe36b06d36041e233528c11963ec4c61b071c6257dd9df36b5ca1d184b237169d0a968609829c9215fc9fb5df24dc56d0ec5807312a6be35e44c0d411d17492da257484dd0a9ae69972f376fab03d369c14c14203e48f24856051f373f0b335bc639f8438ef3422d3bf97501df97266618b48e297a5f883d2e78852e198bfa695165ca03e9421e20976c8242a02e11706924d55fc72ace4ef372b9613346b50f1be72536c1dbbe37ceba51265aac955ea2d94e16bbcffb0440f7ce174f96b070081f9230dc4f6818cf23ac0dd3e8e6074b7d655d78356a5fe44b4473d60a966a6a6b080b515e9f534682b1255eea045764724a6c520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00ba2ad8845d910a267197af81535ef81345b48e832be9441593418de4f82faf154fdfcef042912d455ed6ec655baf16d1537a6d0177aba1b23a314c357e04d5b2bb1a3eb6e0aa87952633ace615fdead66d60675461b47531f6ed77a61f5a5b9408afde4149381cb29dedb590eff50ce487d5ecd4050155f222be3bd552400e34dc7f4e74b2e22d503085fd1473d60b83a6a14176f7c6c8c557e303f331c2f3e0b5132943b23d11a062fc11610b3b71102b34f9227fd898847b8a430676bd4e00d565af44be32d68620efe1271f47af402ff4c6a035780eb6131b7a2692916e40b690e702f19535e2b838e0245cf96286ad9329545ef02202f66d16b1d2d520b74a792ed66f263c566cd3e361dddd1db6c2c42fd5091530c5737ace036743e01016623ab22ca4dc24b74d1380c5c0dac33d06e4a071bf673111b501905054cc83010a4542dee92f2574e32211e4f6386616591d02ff5d6204796ba605d496f756caf0d4115758f6559779351661c962d582009a72e3102c944339f560c4083511c4af63f0eb464c719e33f2e171d1aa41cda133923ed5ef92a07a0c9474c72b6190dc7216e5a5f7223c9fb4a06b3c845734e2d1832b763ea1f83674c23901271358c4ca74d7f0d7955003d49388d5bf53182ba2a5eb103331be4ee2f6b3ef024399881232bd6e417306bfc73417bd9922c91964f3327347250223c95525924bd5d19f21b5d7902293b903b4956aa7f1861196e940fa2d27021e4d7794c967f6d325a843726cb41b618c7b6b11779ac49104c67cf3eb8e36d07e9ee31158e2228632bedc66817aaed5d8298b6082cf22424a67cdd52f03a7c37b430bc6bd53ce9284306fc64c02ef55aa20ae733b5d08127112b25771487f920b3098022739bdc3eb0f28f73060ec81939dc8f33a32739395fcfd22605d485727302ff0f67b987161901a95834e444118fafd9160509c4466fbb821001aacd425a7edc1c0cc19965e20f110b47a1fc5a44adc3603a92ba062f14a12fe2f3b93e985dd41a75ea3b2305fb4f04ab89f213063d9f5a20b0ff0ecf9955395de89011490bab0a489fa83ac5a18c49ff2a08240cc9f51c06474921ab7b98753777a56a7196342e92f77f475b10a3331ec6be1cd49ebe202d798a6a3a09be67f3ca1964f7949c1ce496de1613ad6f036ccd4a4e62ff3908f644906e3a74e162e84bc7575525bb49f88423657f91ba04f64afd3ae68f4e58d100b63a682328680a289e06aec09669f651b15651d5ad49b34c4176fe66b20d979f5c47a167c354e421e3345400190b589a771b903eb50cb4c852516cad7d5898d8e0028237fa69873f061136a1123116949e133cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b24304d2627790660839d7872cb87dc053d028903fc47fc357c41733aac5f835f4b089b40b4c2135ae166bd6b8893d36de000f3334af4361f329f641d75a5ee166375f568ec671b7653b2a50b5be2ae72f9193540cf450a745152b269a7e82a03ee591932d383f22a5996b0111904cd62154f550dfdca68756d03461b1f189e60046e9328879ecd1d593f33210bc015083bb653249abca42d8d12d74c8ac6c05ab53b0172b57dc903a6bf983a2a7eb91223d8eb4e18be7d179f1b112de36d2e6a31a5d20e184007583a8e9e17683f04116ca4a12bbfed9f312931203f3c334d513923735bb88e8e2fa9ace15194275e30438684510fe6044b2e58873390a36e634fc9ff5c7ca3cd5e5aec506ce39ad339a1b82e226826ee61463bb05101bbbb5afb2f0b53b69b852831c9ae12821edf0dc42d7b606757c17653c68b103da37f5a17ded759ec31e81868c1bd523224330cb20da31fc5338e45939b4955d25b81032c2b510cb270c75dcdd91e15157d3f5b919aca5dc2ec562734fd171d74294f07f265d53bd25bbb52fd2ac6329485d13efca502392ba4372858b0fe2e25ea786313df6f5a7cff1821f085532aa3d1742b467c272043a0943c1b73f3108682de7085c6905cc0641c74ed05fb51bc40ba685ea5de2aeb5a542209a61c06dbdb987630c040537d75b718561ffd2f52a77e24187b146ab2c5b92245e5ef4acf93362b4b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5584d709739bb8a34753f02718b78c15773473702a6ce91204f980fc2862bcda07a3869219130fb13eceee7d4f21401e0693c98b3d5d84e3264bafb9340237c663483789696d4efe1bbf9a0d324f73863af7879c0196f1d64956c7ba536e60f325a071c42a2f2bcd2874fed240ae8c842c31956e16d742eb06bfe5a0700e17d460c8e4580eafea356459a65541f5fd390ce3ae5115bae6a54ebde72f39c83b9c0221f3b2135a28de747725c74f7b6ddf31b717a227f87362045033a556148d7005bfa7b6120d7b5241f38a2d3b90329d4f0bce7e23ae5a9f5a8f1b59489b9f1f20272d8f02d3fe705e31a07b62ce5987355a510a6b9ff7a3537cf3ef55591d8d537a113a70f019e57773a26471935f4d62ee53bc4b629f466941a5282d18073a466b03123937a17f68c29280130d773f3575ebce3bd1b96b0018fef54b04634d62072e16011e74315f2af1eb03faa0b80db9bcc90315fa326685c2432b316256356bc7ba322915115b4c96df573491153049d9e83680af6373141f2f075e0983022452bd542558c74106a25406fb41f554f43d844599a6137215587a382efa852e70cbf94f12128f62b2275227bc4b253906fdab32f529ef6c55dc68693f43cc538c6362061365303d1ba8a53a939d23661730a32e831b4d24ecaa42693ff11f25a7b2ff0bba0c672a3eccce0ed8af581baadce954f4abe11060fbc21fb10a1d3c4b6fe824eaf0e4752eb12369362e434b9922cc41a2a1192d80cada32a7108c45fc48cf13d6ed5d304a8f95151ca8d70f9680b0048c731c33c7dbfe6d71f2494cf901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a919d379925c4e76d4374fb1ac18a79ca62ea2fcb13e33585f2b89864e21055a192f7f96e661d7904d74769cad1bedd4f606abfd4970328d735609cc8c3cff3c01695d472b10a6f93f70f06f6f3173f77d6c9b9848652db45627120f4535f97e666e3f5da7430925e422096601687bbb727346ec13061520b12a78c069617a02c332ffec46634c05ae07e268b30867a9383d8e4b610d83d6f614fe1ae0321f86060ad7be5930ad92cb5bf2379833302c05698a25314d4949a32c5fd7553b847e952d771e41187310f322aec3491e754eba43bb58234d84be3e0f36ff9c53d25af7075fddc4713c489b73ef5d925feb855564d5f08814969d5a63343fc11df2213a146a57ce05756e85689ba90e5f2c97c444d7d527707ad92a2ddf91916d0fbf4f2f5f96305ae0740e5f454e851dcaf0461b4b1d0a2802b78a093d5407334fda7a500b920113c5b9844e18008b545f69d92712f3122a616ec21fc2039433a1e39a07a7b19c20a9e4d2222ff6de6781c43204326824056862f92bbd813d0ec1129d4e49ecae553ed5771da1236351b238fd4e6ca41c33f7a8642dd9da906929123c6270974819aa27e24d944fbe7249efee00c4edbe69901ce10d1e37f953f075de431085714229a063175544136ef308136e6c108628b633303bc61e07085de1e94c171dc8597ff56444cf39c30f43d96c548ad2dc4f7544030b89285d37b027bd16943cc9521415946a77b32d71551edc751c964075da38e4146e17e676470c630af66bab08e5ed39713c00f156be3e2e4799d74058d39c8e22e56b4a1d92b5f64653394b5ccc3a7130b5d9f2600e156b31ba24dd3cbf19fb6927c6790e15532d67c706d83fc10e8f011453de6166dd5540afaad34abbae5c2f396c3757156db34390e5fe073aa0cb72b4812266a418d3148b1543203756fa742d8a8767e24a1a6beabf151efe5f264246fd525da72f6e7798490556389351694ee54872126bd05a2c30ed1f236c405b36b90344245529180b33230b17c06d71104cd1360638d424dbee50665ac9f12a210b220ee4ba7906b4ec1f1e7d566f6c7514a145c9d933139a5c403fe8e0215c1e06a45b38fee54106107b6c49af5d729487df1658336915b5754a62aa13b103391c7a4e4f7d2b18b552521182f3a3074b8ba96d26375d515a085a66a521570e09a8504ea47863599291f125c4483a3dd1fec109519a0c0e5510db4c3072d9434feefa76db45320aa5a4b1548c848f43ae4cc74b3ebfb927b9373b0ad35b4a206e15ae1f64c2c7654c6c522520a30c14fc75d86ea1893253acced13255f5a34f0ada0c4e3067141516704b1ca852ee3a55e7574a6b7c0331901f393ee993a10b3270f24a762fa10708b56333d4142f1dfae98c4315329720f522ce1ec13fc72430a2662de24eb15f1abe5c57df79ea53e29e9629b04ba173238d9e41d37a3961d7bfbe42b2662623efd7924cb779da5b781ed93ee6fab508909f1c20b9f38c2c54ccbd760372db76c590380010b0d813f7057668eb934c084c4deb6ae0fdc7108dcfb5473923c73f734085677e71b63310d5976e677a666205dd0949214dd83a924a144db4ca1862f354aa2c205b8a008d53c308f5682e6f8e95b1383414cd26d71b5c2f7183ca53c7bd3923e90c405d60d6f4026b7cab71627c1c63a990d037b4e0cc71fbd81e62346b976fb7f52c6c908c7172cdc87f5d7b762b4d5423121562f6c151c1dceb4be947d5181a64421ac3fded5e7d9d8f3aff5d6401f3d1302a6897574afc8abe2be2fb3b70b919af6b481c63341c0e112e052755476e19672382a83d561ac6812861aa5502b5fbb51ea8beeb3a0a7be150f9439737f059425417cc5e46c07f5903a65e731b112324599927c14c3af4ce19f53c1f5fa449ef6b4663c74d80e0bd772fa4240189602e722493863c11cb884f59d567307d60581d807c536400000000f0ad276d1e646957c45ffc40360e3e590a2e0b457e75660ba9a1221e72a4ad07e81d3940052f0849e6c2100c3b4c4b481284804af00acc595d09ea3645b5b64a2e3e214f8782213e694480310fba806d6ad53a06964a3748ffb72c2890274e194fedb45fbc8a1745b5af10426aba3555e5b00f00f7b0af5bddf5a6625baf9d1cf94f27711b6ed7623e63276ebc2d2825f91c521ae6478d462ff1cf712c36f143220f7b0a5acc2500bdb23134295b1b5a124a1c0117da5e680844521826798b24497d5910b8c5e675cd0d546cb4cf740546331020a308d31d1657653db6d1371505fd69370776aa4caff9241af0147b1ff9e2a6045b103562c665d87580f1bf668270a76b73bdd522d0cfb2097713a40a094f9b129233f1290be5fc36d3b4d86efc7d4a4112de656e3df2fa26d4d372660894216159a2b44d7f2c0a1971938502c62af2354dbab849bbd6b6495ae61e3c6e946c1d310d2c641d0f572c63e9f36a08517b634c6f8e06fd2c8877e09caf0ff3fd7556fce31c2b75dab80f73f00c77426b0c28050c2b33dd3cdf4940213f162b64c546e850cb1c76e41a2df75e7855ad3e076c9dc5db336ffc6c04e0f0f43b6c074f3ad612b26f1e8c5d4b02f8b144a5feec6b96773e2f64171b3c0037bc6c184e4808e8cb2408c5e48b4a53d0b845fbd34a135e0b91178f91a84ab46c3f6451a2e6055b08cf12942e0557f94a1510bdba0b56253bf530fb199b4d00a85b42afce4051b14f504322e9bf1bd6a4220589afbb484aca6a43da63fc5933a801654628784a5a2eaa71f9c77c33dea6024d03db2f12a997995cf2459d156d24c9338aaa0c523e3e675f4ba6db6d7a02a23da0da6739d821b20f5b37b539507ab2256b03cd6c7827a56cedd718694fbaf31855a9ab678a73c363fd157b10b6148e49f92f6965b711662a6029f61da1682e24e448c60f34f32201b3e688136c48672227867e3da282fe2cf87ad82f3c6c5d31b93d6d59f54d5f5c4cf3b13ad2ec214c1b3e1a1cea9940449f77222df317690d5d69e803558bcf24dad42c668de23a0e9aa9d96ed94b9f1f5fa151472e02715b87b6fb35bab24b376829366803d89a06613ca51b6472fb19e077ce52aa95892e7d72ef64ec9b590fbd4b2f60ae26a16612cea5007da8d94719111c04aaefbc4530ecdc68a57d3f4dab786947b1f04c39e810062f875c804ea3e3723c24de5b029419bc09f6ef6f1e120bb716b1fca12c96064c249424ee0ae5125e768dd3ad14844b3b057474504414c77e1e9c2dab387c4711267bc2b5044b7b793c437d8c42de1dd6703b580e14e8eabf0f447fc03b89d2c52ffd14c67286dd7e0ae990f42274a5f5122d6576214ab560778975ab0312519f4e5e55c452b103e633e72eb46284eab9190cab906fc368e14db526b31c3f11e928b420075f3ead2415b0bb765cb7dad254a425e8682b2305016e359577b10a7e24c737e11212851e01e814cd2d71ee2c2c7f02966d2c0b2f57c02a874f99a788123dcee256f6183d0ad6227a2a3249630420185237997b002a59926c3921f82d42697e993a2dbaf037487621042b4dcb6c599b5f186a184a146da8a75ed5e8d46cefeafe13ece60f05decaee4409cbd32ac82f907346153c42cd13d13de1280656e7a1c55a8a78c36d0f4d115089ff3603bc1dfc264ba399404c1f7f1072f8d82d46d7af487599854e3c434a5b6e53b52c0e7f150fb07231699dc4ce0988b16e005ccc2272243ad774967a7c60d0e2572fa1e2550b8edc3d5a00d45c7617c4191337da3b55c03b6134e042270cd4ad7d63a87e925fdfb1ee0bb9f1ff199944b33df1018038da57b21713c0382de5ca936661d1494c1f082371023a462948aec501d7c863743faefd5d7663f968c3293944796e5f641905c63c1f9c7b13965bba5cb5de893fd9a0ff74c134d2360266af35ae09c1753780d770eb19f74dfd57cc230255f219e8bdf22ad039be6e9f99df5a71b86624a826986a9f268a67372455226e82dd261ce8061bb5d0891ba0841d620906123ce11b79240531f30854a2406d9125964248fdfc3a26323d1313c8db4645dd407389269e2d82c8e371525a6538828cc549054f2f0d3ceab600cc6a9a6400b7284c64f9dd4bd3883a2f281f3c44bbef3010fe9fb2128835493b740fed662cb30300c8f342006c29cc2d18707676099ae16f2e1f992d709b052f56dfb0336393c3691b7b90412bc8cd10d5a22051c3458c4664d89865ba6aff739d57984c199c915c40322a3be12e4308b2c25d6d0e907f2249e32259389dfe4f20fd564ce77cd74fc9ab110c5dc5394e8d9a625fcc9c240c4eae1f6497e4d015cdfc941538ef3e602daa21501583d230cf25f86e93a18f3b92436269c26dc56ff3463f1e4a995d4ec66b7b75b88f4d70b5b0d80fe024a96dc89b4d3fb3572e566a8bb66265894d4670f47d05640641375b29a865a9fec32a25f6891b58f89242d91cdf4d0c6f48647e939455acbd30751245286b64f099093f115731cf229976f808e257cf36aa3f482b1c44c277d670c4db342aaef44c24cbd8f929566aae5cbdc9cb6ff2dff75d3694be0fadc53861b11dce5ef5bae42974dba57374c8f63e104ee97359a4bb1bc24d904bfecc7c684d7f892a9361cb6808eb2273e53e4657de3c934eca87914f90ea523277b6f20a6fe5f149709e061ef7bd5c3007517f0a58825775f5a55548c8a8f1146b73411eacd10e2aba6a50134f88b7460731b352274a390d491d50065645dc29c6bf301d8f867d5a7eb9673662aaeb385763ba3656262d2b91a6f66d2d721e5788c8616f9bcfef04ee02351237080e05af476e6038cfb6098725ff3d70317e755c2e313a02df4528c03d4349c318bc39e25d09378577d9599024b370c81a9563a002a84eeee60f3a0bf9720271afaf133780b8579bbf7a621c7afe22719b0e71932a6f1a3859ea53f6bfa73a38ec0276aa4c5b5e01cb3b2787af494484a25e2e4572db40f6a7534c22de33251d85ae57f8005b452a62532e6647a5614f2f2d4d3556bd3c91484862254dbb59f1abee77feebb2170fe65431baacbd12feae73557182361c385bfd6fdf4d26003525e822d194f75d503a3c07867b2a550055dd0772a0dd7524f1720abcb2dd5c554a840a9c882c45719c9a2bbb4f626f314384711f7a924a2cbc06326cd62420d42aa122a7fda92202fae02331ca6c0dcc355f695edf055b3b78881c076b8058a48802033516ae401f341a3508ed405ae965615609a8de2255407b32eb4c5a6a2c6cb94cce242c09939f48311b5460332825d2699b4ec0491775f36a5a83dc1ab185c44bc3cd9d66e51fbc57528a805aef3e53593ea57b750c435730861447423399191705d53f0018959e3ff1e60a31c49ad2172f7a10074de5ec1e9b45e96b7fd9352a0cae7c73d386145cebc180059c82a4689c45d7656ae0c0382cfcde0345f7fa1fc214a225345fe95d5ad8081e3876991d9940cd4860ac3f44ef4c8f437d55ab2590334446fb9ace2569ea2c191faf23650d744c5a7bc07f2bb912f3361b605d6071d6594c2a56a607835eae23d099110937e14b4cce744368d02af7149887ef4d230d2d6db0728d6f202ccf5b2788353c99a0d9631a4f5c0de2ed704bdb70852844066511177c5165e7dfa94a76f54c125380f577f94d7a53c679e753da458d4f17fa1569a7d956058e626200aa2de938fe995517005e6e607fb59d2f30fabf1d8e2d4a1e2c3b911e111b6d0725a81439057793222f2db02847b95d422b679e05c503bd40d4ae63721656a64202908243e05641473df7426c3aadb4467c4d462bcd67c41ecf0ca300066d613ebe6995644b6ca217d7c4122bdbaed742155a5c0ec1bc9e2338d4405ee79881245d8f39175f313166df2f3908a41517716c22f74531b1b23329a2e20b441a7f5fbbb8ba342ea2d16f36604b7001a2b8475c1a790951db405b639a2a35b1f8d96210a23243e5700c2bbff2c339e2978450389f491efec508644ce78b3e2cb29a1f4fc1563204656509b94f333bef36bf3533bf0e125dfede4388a28940d56f836069367e7098df75577544df5ad13e765764ee4732a7c0456eb059a266a3646a638e96a371464b5f02b495d3223055bf6f7de1256ded7028089d7e326441307d511826b4653e08455912233863b2df7b1521dc171241023256b3217d4377f09331b3e1da6927b5e04c1406d435b57d231c2468104e165fc757d3199b01fb5cfd52c6a93d52b6726a4e2dcdcd6973247744e305a2668fd9db284faa153357c9af4e55cb734bc396851553612e2c5df1982e905a163e89805403d5f6a45f24c34b725aa752629e387f1ac73c603b4415e42b4f81652e165b2e337240f7587f31f344e805b71deb93a71b3da01c20c7d6ee5347f7ad2203befa299335c3012c56745a8c97594ba02927719b11f21094043c70d1b9c662223cfc3887bae925981c72269abe941aedf55925836c8668d650f72f7ba5b614c6f31b566b46610b30bfe00d9ce6b939ccb25a4a4a58c62f0ccc6712f45b8d63a7d995713052493ef65e9f27f05ed673442d1f21bc4385503c3a756bb95d571d0f693e2793fb342a693b5b5637dff4645e93026314bb1d06aa04a70bd1b6a7065778586ff099c757e8240a3ce98ac23e5eb24e60d3f6a661f791bc42097a055b1f0ef074ae0621234ecaf319044b803c5b6cb91196faa85f624ebe613ea5521682e89328f7edba132880e15421139d1101533d5e78f5070011373f23423566368758fb3b3ca00a5870d4762fb2b9685eaaefa06da1320d40ba2c6b4cbc56341fa1e06e3007e28626ae5aa66a039217551216af1557169324c23479052fdb943c55ea5576b7d95f358be34f245655626f38d30d21d65f83546a24973ae17dc54bb5754a62aa13b103391c7a4e4f7d2b18b552521182f3a3074b8ba96d26375d511c56be618a20bd15f681c32b3f51073a620e560992b067259ddadb6b7b276b60da9f691e7690e50c5ef5d933843d9b356bd7b019491fa1155759971cfd2e0673f28f76575cbfff44f892985880c2df616113d439477682241b2cb70d9615764456b56c5ef41e5c1a412b004be8d41a71cbc8fd5cdf1cf66eca1bac1fa20e0815e4eea3345836bd2ce8f4b70f0374594b5be3411bdda070211d75c25bb5a2121c5a03ed7423509b293ca0f61c0a4c624fb124953e3dc52d362242a258ef35550480d96c2e78750643f828300f6c183c5096323304097c382f72014477dbc041253838fd2308260b11b47a764790cb703cc5e46c36ba01d9407e07d454dc6ff31ec6d8fe319feece2debd4df3d0dafae6ce5cde16ce8c2f039eaf482084fb2c33016a7461beae87c6753e8f90d3fc3593b140d306d4a6f0025f0058500524f9750fe441d286707c05f779a395e2b02ca33f7b3d24fa7d3341a8d4ddb74185f5947c5ea664bf6d4e165a5d5c13715239860e5820064a37b7e2d145e794271c82d5ea2ed7a70efca81460ca65a6bc802dd36e2fc0d5494f9033c0ad8501aad8f8e06461f0e3a8ddf7f1751279557d4fbab64730d4548b3e4e156726c8a6ccfde880dd274352e3d714a330ae4641d034c606f603b735df8fd776311439d16f7d1d85150f7dc4f090db92866e4c4363c3123423762c231a64c5000a67df6058450090e94858856df7c3b710394ac47894477100f3f455ab8b8b35fd0828b5a2b13840f8aa620188f021404a6dc640600000000c96ba70da5a8965b8abfa74bf13c003c7bce1540f2e6952236ebe06315b06420a35bfb034ca74046d2d7a64b478b023e2acd8c524face62a8d3d603cf33e70440935ec08a3f6b42de45f3a10ee45f635299f6023fd8cd1308a57955d64651548fa49cb6d3e746339aa53ec28a0d99220c55388436a68b65272bd0d6c43c16d5479193d01691cf31417ae880804ad6339b4201766dd671c67f2eef11bdf81f127cec14c704a0c725228f7933c3e62d972f33c4c35bde4a75bef3856077a39ab049e18b92ef358866810b41f091f5f29305a08101e73a51a01aff4f31d87a9234c987b72296e7d676da9792953dbbb9f0047bc5f396cc6017340544b6c1a10861470e9ce6ba0f5ba1e0b5c5b1e9f97065103c03c3a63576a67440bcf66ac054e4a55da292da4fe87050ae6bf28b5d44d4c67d95a6249745205ddab40725dde574093d7324b00d1e945bef63616591e1d385adce5663987753b39ad917284dac11a27cd135c7b4b934e48620b4ab7b20963e069294312b43771a575df208e5fac2c2d082044785a315fcbb46428fa1c4e1b2ae8910855164576d8b5d5642ef53b19ec891b6e60b1c830d099cf5aaa4c6d4f91e7395a8d243155687a2d6ac7ba771ba1fa3868c4bea377f1fd022b7e89f956ee53152f937b0e46839bf933a3048a3fad9554201057792900bf8b72da3ba4038eeb4477c8362632bf35f74ca4e0390e64326b5405b1c46411dc9752c4318231d4af8d3a3b2146167c76293e1a1d2c3f71a6152a0120d15fb58fac4cecd25c164a58ce246ec73c06e27bfc3c2355634d3aeb4c27bcad652d7f7e19575cef0c49f3575156ec3a1f6e3b173b03b5f82965b89bfd07b2aa1109830552023be44701a3bf1f7325d6396326cd59397a12f31e8905fe6a65fbf07416a4db0aa8190c1575435a46e9c2ad157b1c3f5ee87fde46910a782a3be40c4f73ca0d50bbeff202eba0ae08274a02327197d520ed4fc762297f554c9850ce6cc5cbef37267b2c242e5a5c058cda651ee8acc72444a5f40c3b062d4bdeb39f57d4835a2089d47845cffb07121532ff565ccb8741a1b0776d5ba99e04e9ae5d10f352d249d86b561419b8cd5d1ccde827774e322cf08d2826a64d6f22f29ab64ebfd8244f6bca7412b8f4e43e1c1b043704c66a2063cf9f34fed8f03299df8c371c5f3246903c1535e30d6d062891f20c0da93575baae7c3b0939c44f1a52ef4885648b2326587353a079d335529fd10cc35b6c4b01b7804f689783170c8f5e23a58a8007ee54726934c3260e00dea163ed1d16273ef4b35b24c49012d4482925da4e49324b042c75376a8a0ce086b10813c1c81869e296187d3df21cc44cd411f293452d3cc3b429d09afb75ad20eb0c49f9455b3c93b30af951cb148163d06c689cd64e211e0331e5731523e349da0c3eb7bb73c9866b09d157db0af2fe576202e70965cf58e8200afaa611b3b76743ea63891269d43c07f5fbf6468168f212043c3f1f1230820551442d49c4220915e161a247f9e61b6ee1597b09efc0f477671cdc46acd58c7108d60d2c520f3206522bd20659af6306542d6c7498266757b8b842518c365b0af1e4245872bda0502ff4451693118f598175c2360654e54687e65e720ac563186716a958c41a775fdbe7e207a380e4552671a44f80aedb5f1eb52f36523811708a1f602482d05722a53d37562faee76dc1c9e305dd16b33a0b10011b61f73a1bf6177c1426fa046bd44dff227ca7155d8b401f0b3142f44887edb61cade1697774999d744bef75061e086d38a8fad62980eefc576f2a5563b63847456b03752d5cadb10f91bfa915d88faa0d1804fc76c7ae641fb772be32d74102167c363a5d2f1db450c9e4cc2982612337f9acfc678e4fd412bf390067cbf67e4122ca22032c3b1345a1f48d597692554b63330f198019d546e8cb9d62c269c8204473026694b3ec651551e97712d5ab4e44734163657b0d606f749328dd24db16791e14524a94c918cfe9c12ca040e729e196de3af018df11a0a0973ca5ddf800f034f26d1ced7b486191385d49d1971d206f4034058555757a5c1d39f9d1af0ebff30125444a9c18f2b06a0c83819b2eadb57e2810cb66091053705838516115444221447d72d00d0f377c72f11c3169d0a6126703f3d6269d4bdb267e13ad31711d2f0c01df6155f0611c307880da629c2c4036a2a9f2052a13973d81f159503096360e584e651832b7cf4dc0ab0c6502a5c258cc86fa1a29d92639837af254d2fd5d2af724d2732a10d559be71577368ad6e322f531c4ac68407187685815bd6d80834993cd32293979e66c04c244524a92d15896a44060ce9a70a1e74e333318995262d1c41069a8f1b2469837a1a288d235e8846101a908a7f6858f98171fb5fd51878a5a234825ffb65e7e62b30c72ec3688788ea4dcb25b71ca5a7865da5cdfe18dab01321aa84276f6625774fccc5a748afd43126976f4836ca48cd2248043f4d65623b736147f3122136cd143b19a03e6fd5c94050f79d75f5f2a74909353f532ebcb65d3b67dc29f448fa366525582034ebd916fb58395afaedbb1df1e233366f32d3776320ba2f0ed3192fe64357408b8fb31dd282ea5cf2c50c149f2f4651616a4d1631dec6543a160273ab317d6bdfed25760fd4c01e5dae752892a978401aa0982da349fe0568f08559923fcb54c4599d5835c84b147f99780d37f15864d97058384e5ff4370cf5633a913d5b51fc3e9470f6fd90320f106a1a467066770ded4d7163f80139ef4e493e8e63b424572e41343c8cc90bd48f0728b80a44199132fa461d8169011e19122c1509f249245a300118eb185640682a61c27dbd3615b7f810d2a9723fa9db730fc2021944d4d78b6eeadac8452a1ed20835c70c56f0048d1d5c77d63dffd737068a5a590d831b9d48ef35ce1142492a0eef6b7f48e60bc5232335824e402458637b3fb70dcab08375c1f54e76eb69e043c4ffd0087e78d005486800055f1f090e1344fd1ba5d8b42e1decf22fe3c2564ad0f5f640d21c952547520f49a86bc81c0699d8420890286b1787d544de360c21cd2b3a4756b53e3dd1f11f36337bcd4fcae1df4a22ca22523de15e0a3404f43dde308773cb5c3e68c735e803f9fbbb4c44828f41102efd11232a3a2d059b8a66773b0c45b57e1c29c21b69509f6e23148758040fd737f908d2c8547786b28b08dace3a1b7727cb4ccae3216f2a5dd016628dc848d45abb5dca89435cc18ef06a4ff51170e456e036a41c284a7b6cec305689183090c18d674329ca030d73a05eca700c139ced670393b3034de170a5061b6a6d61b51cfb3cfa34a271675cd71f58aa79154eeca21f51fb4067f8351303c97aec60ec1ebd43c97ece2ca1f9f332c00b8933986c5325b5163d4925372138d034ec1d4c8d86578255a8497af53309d1eb547255be5954c249e724ba6f8b587f0a1d75b0b27a225ff2a620411617664a32c327192cec053a6e42283108d81740e239754b902f19bf93a40a1c37375c989a220648ac165718668f4b19c5064cba603328d809cf3d8ae2686f6c4f7d7287b02f1b4ba7ab1c648e6d57f8381a77ef808c336f01f03ffdd0a33b278b980164f61b4d963ed45c9a94b71182fd5b254b63b476a8eda60a5fe6e82968f0b03d070045175971cd5026f64f0318ae6f5e1d2f2753ae29b068459c1f4ff41fd80fed8aa80940949a22b2f38621fb817005ad95836d0b1136547f98191f66d6b33577bdea2ae6ef50384ab5f76ba45a9a3e2f407b3e495c4e0ded53e04fecd04d326ef49c517cf0cf0eaf1f606da40dfc3821275122d9a5a52b9e3e443710362f2378bb8b4e0da2764643d6ad1a6720610c0f1c4e00707ab7542f3f12383a192f05fa0e870a713d7820964e13692f41b56c1ea968511da58113074b1604684e1231f0c59652fb908e3c828bb900139cbd21400709574e35833bb0308a1c8e6f0c2643d30f54b9b1aa5772f05f3a8eaeb5560eb3372516bf551c6d39bb1eb661910676907951785f6e109bfdf2598d5a9951ce832c13bef2946d62334f2fb2c7ec2be268541dc7ebd92f822c2a406c4f884be74ddc443ce6ee612234f914418d5a22650689269fb87466ec3fc35ef5ba766504b40a223bd9122d114b47111182b430ad491763fd83bd21cf0f572c13d4034ffa078b28b641134a463d2e49c52b634fbdf2df1c2be171466c678213f8717a2aabc8c0516869c04e2e917e6710f9de0606c3905f74ee374100faee09f2ea3f0a42ffec40f0c8ad48aa63a4077b08c76948fb2e2aeb04265ea073a7617590a36f00de6629139da30d86de99088c5a5e39a3f96d3149c63f389fedc238a480e94aff7f084bf3a1f422e3c9fe6b233f7d3bb4c28c3f698b362c0d3df4339339572822a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d9540855252df166679af453635678522d551e95ecfc0f360d8f4fb75851fa934350c173792f7f44f4fb282513a89fd51c1f296508433c40472cba33db378340da02d1c539cba551dede3de40ab17ab70c1a49863d022343fd5c1b20b3e2dbf4f8be56501e60e195d6f63685f6a9e6a60ab52c70556520827c55bf912221715543051eb2be9bd2f15494a8c2bf8b2fa730f18704a25cee7084a5b6f35a599121acea6840304f24c3e00d0083f33ee934166917c473e581c4e611fd93bbc2a961362476f4776ce45448878ff2f9c6eb53e7484e73c76ae8d64e0136803194a456949aba25888949b4e6da96439917f574b2b5a0f6d2c18b865d5b28c5857914a765dcaf86f09212023922c890a3b26fc2bfcdaed413b6f7c6ec4f38a549c705f52aa62fe4e2cd5464a75c111257810696f3195f24d256e625bce0d056d4e67fa4e142c7b5d2ae1147700878e6da0206177a173712426fc8542b7cfda69abb4090c5a8140701912b2759cc83e6f5d31bf600e592c389ad149170021900f9dc31216ace7ef3b0923e0602af81c0b22add1223996042f61f36c127ea11a0d1d23421047a39960c97df651baeb66640932115253644b2af6cf957124490f5b0d64d55ce8278e7717d6931dfb17704ac1915e0a7986782032e5113b9b64c1208e2011156ecd0e072e00ab326f2b0a19724cfb3de036843944b99c01fc6d4c6d80bdc118293dd71f94f5b42b039c6b3b51cf1913aee8ea75b02a395e0c6bce25e6511a3726df4d645dd9830a61b9772aec47937537e73f3643005a19e7d9375f8eb4a6464560113ab03bd3142c373e38dbb99a5c27556c558502bc054278832af1ba41751c2adc73f122b53bb551f65e7c60ea69f478b11e36a6f829d06aac2da4f6d5391276dc40f7484123bf366a370332d975e4b0142c1d5c2d18d58ea1194df33e68ffd9ac1443795727060d361a0b2d616cd94f4f6aa12c2051a201905c0f71260ac2c22d046c19e53843066673dfafd55c1863ce22f80cc256bcd84c33d9c15068fac75469fd1fe248c9748a7690954a6b684f56478743af6c62526833ce7f611f5548f66629c2456930af5068f0e42b768137b73d592e5450f0e0e3668c72a072e52bd368b0bb8822a898bf18ee2e936902599c382f44111ed239e8404f93c73b04528a512ece88341ede2d6ab01af2198a60954b6398ba31eb94973f732835235b5f6542bef06f221fb8175248473e57e6c72677657c4154bc1d053f5a9fb85455f7d94e480ca152d526781e00000000d29db66062d0394e1b47294b111d2d0ff86a7f2b537e3a5cfb097f59153cec1d44b3bb01f64ec42748d1e761eefab35e50e1934cf579220475ea0116a519af04b54c706ff0a1b8077ace58265796ce44d09aba529e60524599e3d3658db6f46f45ae3e629c3b0d3064f562488d56e0218c5b9f627603f238715b671b19c7271a5639e7607a9e48506ef5b60f33ae4f2edaa7fc7313f3ff3097b5db5d7522226f80b0d35d01e381365896444ea6bf275137214f3ee551b3240768cc41967c511e4abd064a94866b3dc7e58b2894f2a969442e0c2e2b366523bb95191d0cc13b62b847f05d46c9f234d75d4e1579b0cf16e6157f5579dd4f3ec9349736a6b8795183b35f485e5b2e0a06edc76f4c733d302f51111b53a21d0fd3e1223059bd680e7bb5534a2f57f16d25154f2b42306e7280f667027e357b17fc96c94c55d9d66e4e128c57687f813150f291448f2ad7747e6d1e31bda4eb15218e445a6561235061b10a20e80cd35cee61af053267031baec27152e988fe71b6f0054cfc4ef1140404bf6e1ec1ec5b04ede34d4fe4193eaf41946be87f1802016d346217479e168242040f0dc121496fbcb35a9f2df52d5ad02b6fb3368159df41190dcd8ae23114fb201ba8d715683597863755a1ee77f2fe940d7b28e40224016423a81d4718b438a852188c0552716625152f6a310ebd32ab34a5c0e23681754c4158b43823e762bb50192be37497b132453c2db52ffc01f219143c400963eac206efa6c84a31d92c561a1f0307a0c48521ecd1874ab32cb72dbdc71e029b4358014cebe539fbae765ff03768626a187e3a6d7bdc388d7177657ddfb8702c3b5c537ad7e51e98ab2b382d68870ff83d715e8b6b34677fd91174a66f0f1a3c2e534047361245c29e5553c6286a3dff07da713c1f2c53d598b7505cd27424be0456544e290213a2ee042904b924359058696772f7e22632729d0e6ac78831167ac3209eb8e34880160c3fb5073f036cdd8d00172dd83d0441d5501eb4595c86de8948fbcac150fb1f720e984a9a04d5a79325283e555d216628026c4cde5ad012bf6166555b200f9a7f413cf9aa1540cbdd63ffa6a070e101fa467ab05b22c094bf6151b7975820433b1b0949711f7e7d8c396fa1a911d68a6c046b5ade0e54cbef6df8fd4a76aa84173cfb80d2032106c22e504ad270b074c642b86d5c42df507c2a74a3f45133a8a1382c46ed39098f414659156a7240a30e714c70bb14be0f88661863371f808f2706f7883b0ec78b71445e60f234b6bc886b53d2486a3623f2444183cd3e796f9d6945406273bbf699308f280e21072e820cbff7c357d46fd74d0072452e8813ab4617e0e342d9372319761d9a410f1dfb61b62e925af1008773a332251cec8ac05c05308a3f45df13460713026eea129125e1c99e6a9f730150410e8a1da30e8841d2487032365e77558dc01c07f2c10d4d0f39fa0c086aaa5389fd273063a22b714957032887b70728b806672dbbc559552d692d0301163321e439ac0f92c7325409a8f86ddf506948bbd9876730195c4d61a1dc651b00030496c24e1bbf2cd6692129943df7a3b040a7a56256aa6b9a10932db41bc211f71905232d1b9403ef4d72829024d3409b0ce05f58370e575b0034d02050e72d6e4d272aff4e01cc7c5ecf3fee61a0591e1554c3e24670a0da1ece5e8d24d2ca9863290444667ae9386e701dd5544a61b05cc55b8e0efcd0132bd5cc2a46fab89427690c91539ee9fa58e2480f254204b5482e97f9641d58fe6f09b4f548db01506aabe4e42b0a5ba772954ec3407f34f96cdf98df013b679f5cfb07214da135f2091d1db33bdacb7f6efb12e26c3050d24fb4729d6de8ebcc45c27d50223fe7170cf3be060bf8defe443fdf1f03a1bd4009038772450acc165191b2326d1c978b6bbbdbcd2693646741586d95560878a70f8c4a77161156171821d69f17e587fe5376145c40ce9c4217bc5e24601d198a5fe6260f39d4cdd140c66fac19e4b9ed6e1249355db4d19d2762778575c7ac241ae5f69a556b627137fe3eed0ea03a2c5c05252450894492130f2fa563d88f9d59cbe4c273d37c8f098a7750163d3284607fa5730c0cc1eb640f52194fe4250e2814c0945a2f86be05fad1a5194f56901743bb655ef88d7d64473ec714d8a50516eed00c5c8b8c25048aa3a05b2d9e236b196df710e997211554a7c34c0794a42edee10955adb36616f09abf5a74a75736dd2af6551c1f1370329c9a1cd182175a35f41f17f35deb5dbd86751bf0fdb72fec54d00e2519ea4bf23ee643ff4eb6152647684666453a54fcc3f418ab8ba15e9bc46d6101138911a26f34505e7fff3677168b6d05046f1f512e9b279b72076597c938627a9f3224afeab65feaec6375b9b26c0d36347e08a910bc3d7382236a3d1d353dd703fb500dbcf65797e3054d0d23ff12336cc7284a7d2362bbc7480a8c7b2364f9cebf2dc24a1f09b5933f546cda751991fe941e450dcf3f4755ab04baed857405acde29072a194d9edf2903ffd0435342989a30acaac03a2b304b027109414239d6220fe3165f162dd21c5173bde063cd70c23e86eb5374d087cc05275a045deffb353ffa20612f9117233365c3a26b54503e6aabee6e15002f914d1bf20b32f11b5f1f5e1fa2194890754b1495af66444cd63f93a37810c2a8ab45b76cda0f1b690326e65ba95dd3cbc027140a591135eab93bdfe4c43684ddc464d040774a06a428177419672f84a5aa272062de0ad79f6e60fb48911979d1ee27e0cbd66c9cffb40e5de4ba56eb41de6a449acc25eb386a6cea943e72e699c90ea9c8303b4f992e216be94e056a144c081b53c94712f8fd70ba40b314a8c5b914ced41818f66e344faa15fe4cf0c6cc189bf8917429e6a24598d71811e6818f024a69f45018e1e252ac3556257c721e55efe64521743f7917d02d5f2d7258025065b06662e313d6682343c109bba07101e1a2b5618d9ccf28dc899706215f0c77997aea22a78a3b04f7d5bc71217e3c0a2cdc6d3f835cfb320065ec27d7dbee1c7aa37d16bac7ba623468f9704b134f2c3ebda35a2394ac460f3e5766b98597541217b7476465ad3cc7f95d2740c91e298a41b025053fef2cc49c931971dc455af81e52392f46db10c6e0c329747efa6f6a38aa2de9bc60772dd28c65b4b2a35e8df12a61a844c51fe6d1be70f5cc422bcd61981af0d1996bf77de133aa14252864f9b635f056746d07b4d42bdffba80198a62f3b1e2dfb6ba5ea3305ffa65c5122e48847197cd15386d03414539ffb1ffa379274adab584c1f26f91f4ae39419ba15f20ef7e4b9003d55ff763cd50e6de66b276b38d92c4d5a9232748d8a275d58620c3b86ac225d06e80b3a9a70bc27916dc91f399c7b33ccb890639a513418278e98569b0b1a5a71f2ba3d6cd59b04eb919a244a87c928dac6b0475c794b1a344f1303df15e03bb72a6e349f442763daa7064d0052be26fc55e728100d6a1d72e107011de86b5216d9b61d3815fc3196042e66571e9a48c5390531cba9c01b708dbf0987fd280d1913bf71b303dd55514d3433ff6c646672ace85a4d0904307f333d30f5e89476068e372a05a4924c59f8dd629cb60368069c9a6e802feb19d7d10f0c9c2ebd50ad5d222bd8be553fb9ed0f3c137ab50c00eea959d6a9e00b7da6394427aeb23e0d345502ca0c9f6db5b99d7182b11e4cf814086e56ce566d2f9cd909a9376556eafd25480c685f2e19ac1806d404b60a4515011ee7594a71c222e355214c901a03b12a584737885cefb1436b71f95834e7f22d2d4f318e4d6c928a7657f10663ff6d980ac1054547d0db784ae113a7223ac1a5313df817398badde440215f52062ef9128c9607e033d559e6dd3c3915e92419d1a85162b43977c29276fcf1747120d3724a641584e418a0b65b7d0c7691beec3614e9c9f1d50ff924bd6ad4a2c7f95aa3a8460d6320cc7010b9ab067519abce1125ed48420eed809060b9bba3a557d6b423593da1a2ce9a72c7c544b724652396f7cce3c5f8a22b34125558074d48a595ff090f24146cd883a002296585ca7b6053d3ad942be65582fa4f9ea07b93f28592433426fc559570dd52b256036bfdf0b1ce7301509e30e1fb619d36a01886d6527927823bd4768039f3c6118f284e1333c1c72474117426ec815a908cf0963129b6222491e73c13c2e0e772f0f53a737e425ad1ddfbf0b236c8ed50f5b74264b4d89406195380b5e3cc2a2176b776a515273260f7d15c74d518adf0a0b001d0041e255340107da65f472e0688fd6d03e397d914fc03eae4ea460fd3983e11a33e32b513c4f9e4263e5dc4e318e72741f7255225c80608246bafea7361ad50772c1a2a03bdd65e42f54e6de174a7d8621014b9659f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f6f55d81451de7527c1860104c10146263733062546be9b65e7951828a5e509046a8b5f024b77c96d1498ac415469c95a853ab440a7ccdb6f30f43e1c2f013c0d753e1b42e5ae000ce155cb276dc74223e2fa8d110ace5223f3086d49eb1ffe155a5c3a29176ef946fdbda4413ba9976caf269b280c2ef10cf70a6d0a29667d0915381a0ef7eb9f514254041c3cf4e172d0712f65c1f05364ed62390fa5322f12c7cfd662da6f11556943ea2c2a202e0d2beaca0291ab2461f3264b2412da08298c055f1ecc8d1a32d942305bc6a6aa6d9eccb3567398d57775756001aa483c0f6050db598d05592f5661ab51af21017613c7155de0cb831360af922844e39e08f2767401dc56e2327b67e71262ea6f3e3dba5d2ee38bb935b868142797c96a6749ed922674ebd704a524ff6eca5d4213af611760bd017d053b0c7372bf7bf657c6476200d3e06b646e5c774af6ffda382274ea61e5d9bb1b5164b317a7fb4e102af4206f980a9b7614a65508fa719a156850d003fa860d2d5a7f117652510217a59ed024204fb91396fb430262252f702845f00d4710374f1f66be264cab1424340f2c0bde002d1a25973228105b51077b47853edb570035effbd214b5f697320621f84acc67fd1489e5ac46afaaf0126492e567780d2e496682265cf9fcd0733096334bcbe9eb1fabe70d2dafc383516a21b56b67647809a79fde06157b8061415db83f3977741a8a5e913395467225866bc631d2eba824fd72d91b8663a9343524b9509f48190e56d9c24249b96e5b24c4596bf913606f5162770d637b4b23b3b48826435fc646b00d560eb523b6484ef8be0364e190323dcf84538414b932c1a5cc25981c373343b688076740fa2fea19a05a0b07f407a7172f2d7acdf514b0f2883b9374ea544edc6c04016a90053d63081d0958916742e18f2369cc8c5e4f1593534642c83841f75f26f0dd792edc887a3c6befe7210cf9a61579802d305a85e20c97c61c07dd9cb70f4118cd61f5812e6e83709d59de20b80aa79ef60bfa603970d8b1cc1e4cc9d6254a0c5508315cd94527573815ab1a59533bf8af06df90176beace9e4647071909a599576bdd3e870148b43912b9df626274f584570ea46371ef321515435c8d339068781cef4e8b54c01a1054d1c720381193460042f8442b4d531b755895945e501a5f6054af52576546eb724eff042d5b95537101468d3e37621228aa40190c94213f393025890834abdd1a6f1db174eda2ad32e51cb65249652145d8063e6c0000000038b1880196d35014c63170347d3019139727320150d522743e19683e974fd2369d9f9244054ffb05b86e223036ee5b1554789447b6d85136761f9c6d9321d311c58cd725fd56e62001784f401c20b74374de6135e078657092d6191eeabf193d28ebd04b532d174a4b934e6d75049622cb5e9e4d777f062a74627e199b801b2c882cff14b1e42e550ea87f2a20f1f009d0ad816c7510c86622671351cc7b3e4ec4b8823e13516a6bf3c7436d309ca446ce95e53d2ee7264f64930f07d6217502534e9939a1cab7634813e70641010e04e900fb161fd1296ce16cbf09a298d11bc55abf2bca431753d001ab3cadce630192af8f259f209007cbc6ae63b52df10bc0454f5c74abb91341f1652e00014419232e1d016978ab6f441bd31591b8404ed4fd4c3154044f0b6701cf4464f4c271423121327b84d70351d77c2e47980b4a9318893ef3228058e3a3ad65ba279206e7c5e251aa1a79080bc62010312e2573f28f1611db9b48408c5a8349b3676b7207ef5233bbbd233fe9c7fa63e682e664aa29d00160e16d182fef77774a2f882b7464946e020d1135501bff1b71fab63a4c310a32efe8fe312a11030aa562552258dd5023f9f5e554642f7970ac0a7e3dfc432e6e6bb59e40d055c329b6454738c22847070c430e2337fb3b01204eee686f0fd661283d912db89b10334b316035f2503d4bed0fad76ce46046f9351f11247f88d5b1a83005bf5014a3c002fc64e2263220b9ab56f4a4c3a7e0243532a5f7a631d62cfd6f4354a2ac51a443b2e313ac75a563a4dee6f0e16d87298b70840eb5539779a9fc512cf68d312032fdf4f6be5213ba2180c1f715102715c22f2651c312c52ba7fb112a79ea30165653f0c30224a6f8b5ceb2d4acd4b185529b3036f20fd35a4ef0673afb42d237843aa4771748c6059de1f3b00dd216e8f13b95f06ca796374d20f08b4135a24846cde63566a2a7158ed051c815da454e781665135522722d826543d6b7d881bf9ed644b91a26769b7513a07b295b465806f1c15178e696d4138d56b66271345f69cd11300fad413afa3c56ff01f895ead3ce21f9d71145afb2cd127e3ba1b37d5ed576e6c55dc1882cca35e0a53492cc775fd686e932e61e4e820503b8f1c24607ada61ed39630991d3ca69366bbc267a911704b51f9607ad94a6697056a733232ea74a8f7f500ac7c84c4d003a0c6103537e49cf5a293d0710cc14175a7a5110959a64b4b5aa4565dd6d2517fb916e6e2582400afc263495d4232a3a848240d053902f33b1dc0fa500da38a519c2218884972f775d001a3a308a5d9ee47c2a360cf73b6eeaf473c7323946c04d78763905a66ae3f3942f00ebd2550eeb2865e36cbe73f70f12408e6fd941354f611bc2c14e627d00a10f48d6ed0cf30043171d5b8e4a74499f1cdc2709113d9b071056689138d6a66d5123f86a0ecb88ad43209739209cd0e170f23d001a23f699597dc26a747b9e4146515fb57196d4e626d62ced0e38fe373284dfb90f191d9c2474b1f650470c695fcbcbbe18f039b5180d11e4682951245c69b22d23a9797915065d6843c455fc0f9325910cdf043e159b45e73cb8ac5315daacb66499c2d00b292f1166f6e6f05ed55c154f5b52142ba23dab1299b26c163760cc77915669640ea1a227db2c77728af82d0378d9d358f2762e17e5e58d3c3463e42cdc268f73e3e3ae5f66c9ca724ca76006caeedd0af8974b3b7cc952709b60e058a5d632575295201af0499d685b77556f28d2de2edc502d3780fc26415b463e060891475918ca590f3ac9ab6a92783f0796b1c510d3a7874e9876371b3baefe50cab0875dfd92f3499c0128660f412f36ce05a1408e8ed36123cd5c415769d4331104b1208663162cf484ec599533ed3fb0e1866dc2c952329f5d0f68bf9fcc355b43754ccd6d7e72c08e212c3cfaf9421b624c5393741d31d8c9d52a4ba34a77c5ccaf5ef158c11569a9c65eb50ec8210233ee3224edc33d53b2b61b4eb23575a50a9e671bd4e038b5e55440265ba43047a8f825f2280a1bbf70a00c70de04394a25484c7da57945e3f66d3d8483e0718d17d87528b7702c65835757578a98687350077092d9ca0580a7135b19462a4f87137f31f4f7485dc536a85b87f7820744e4163cf7f12c16ee9b6249630aed44d7598a668fd3c10311a60e45fd67cf6f347e11236c48671c04954d6656825f22a467f61c09a9954640a1146ff6e1777054a85e1bb9e2c509d5ef8d03a00b3d6bebd51f6e18a77803ea3d854587859812fa2d120cd9aff9066e863a39759e9b3c935df74852e69c0d2fa5e722d42fdf0d8eaafc744840d22cce8a8c5ef084ce07cf548a5189bab04fa3565c25fdcff12add2ddf04d9a3b814d2ecfc404c72f64dd96b5e5edaf0eb18ea03cd779d13b95262c39f085d8711617261781465742c485392bb57880dfd4e9185c71d0dc7c22d55a7822f14663512eda0fe1d707aac68df65a23077455834cf4ed81ba9b501743d4a2b200cfff21afd84e275dff53a2e6dea810116fdd735c3695f54510e9527439c753d6bc4fd2d969c4367ff2f440483dece37c138bf2fc27ad76e78bafc33c7e8577557bc313a9eec6b21e043d2442b3b301376c2486304893a44c837df3422cb0629d89d3f5e6b837451d44c2b2b88c575648c4b175658bfd52d81d3504f014717321162a01e3db3212d2dc0bb6b809b593c9687b26f193fe148466306241f18e525c06370241da27c042f161427db82641a054d591821963c1d3b17814763b5060d4b948a67785e8a69ac7ce64a9ee491018d549a3a536b9d33ff68313fc1b3341524d4c75f0ba8c01384c47a0b9575ff16c374fc2f59a5b430b519100ebcb214467ddcbc4291dd1b73fb821e228cecfd156a8d3916097505498ad01601c646bd12c1716434779402300c4b364d4d7d012ec5816c6265e99f31f195e56b58631031eb354d75b10986082dfdb537aa8b194696a1840ee2ce1147280a5e4f00ef8a05990c835423787304eaa38d4bef58d956bbd11075d5cfc9395bc3424632b47b774c860e4e602f500fa5f72d380dcc306d2597bb47022ea6292b2e414c798df346e503192d6c563511a8f3f723cc753b6e0e4060307db7fd079d2ced05ae08166a2381e436afbdd1593ee6891b3d6b352e9199be687956674a047d5832f00fe765c1f9fe6309afdf125641c11922416e72ab106f0119ed0417237c415551e3462773d42d6df0321a338bdc716e7adebc710a92ec1cf97bc6291b68722d18e24e0f315b1e1e28fe1a0a7c1b7e25ff3e486a953c105aa45d075ddfccd2360c80161418cc17192e17b12f5a07102a74819505795e5e47fa8a885309b208128140286d8a6247621c9175382ce7d73bb60794299b961c2510f3c027fc8612175b6a0f18877bf4297178322c3b9d0a39c73c4067a58c5c263f11854eb82b9f6eab443a6baf60b4342f8f5774bb6a4105ec4728176de0fc773034363f40d4cd492924046db172eb10e0e0eb6057ef1256ced8f4630350ba14b026130d3fccdc49a03b9e3a48665429c5ba781d6fc78f5e7380541c7efaba15da1bab291db9741e89cf3d10ef0b4c691523aa0e0c761d534c1f5213f7b3af1d4b0f2c5e193eb8408b62da5d7b064c1bda5f440369969f0041e43628608b647487ee65350249bb7103a0c001dce471403513b46da640ce29a8d4693ad2637029c10b5c5fcdc6041a3a4fb636c49cfb5526504018b9ee9628076ee037f8be7d484af71632d6c8df2d645516140d8e346d32870a0d9b4f4b1ee7401548eff8243604e896245e42fd473391fd078662425356404b0fcb801173e79110146f825420b472b36d963a233b465f0231d29a8d73d3cd8f6c0feb410eacbec5353f86cb72ac6e703c75d4975e82f9a91444da805978fc6a36ef0ba55232ba7b2fbb386b113581b9178d53b10ca205dd7333ca9c6436419a712f63b941c83b600b45c6cb07a90ae83f3e31a76cc8e7e831b87d9c5c98fbf20586796512c0795440f0123e49185cc84892a76b4f15cdd53854b34e500b3a4c052e994008e411b76e16300521d473fb328f47ae762c06d343b4456f52aff0ba1c6f215b36086c4648fb5b735ae03e3c492fd72206f2a6cb3e57db13430ce6fa04f814eb2c5f33051b6e5bbd373912ef09e1b9c66cd8275e1e833f92321b3b5874fc01ba0288eff56b4a8f5020e726295c05be226053b26b4ec933cf0fc3fc0d151371973221dae0306a5e7d1db88a91639bd5192d89886f37dd7c4f11fcc18412a98e423450320e280667940a84b33301f0ea2f23d78b96055b6e82559b2edf178296b038e9b3f029074131591b5c91708708805c9793de6452318b41f400f41a0c0b56264e727d60231cd76ea0c495589e041343bf38d93602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf408344916096492b66b9da6e846fdafe819976d6e3b247714625d0aa63120d8022166a8bd586280173ce1546849caf2a41f0619db3a5343d10e61fc793e68779743887b4b2db983032b3fa5370278c73b447375eb0b83aa676b7d5d0d503ce08237ab52ca264214b34cee4e0547da322d2d7a97851e830ee169de1d2f6ed201e8556f774b6c5c968831835ff669a35988705df44016874a5c0da1f65a5e381c2347b670941c5e76bf307704ae04e6b7e62df2948e43d021b1133597df3732ab8d70a5e86b15f7121b4614335b4b5161483225aa1f3b4446d14adff4b121f981d262a5fedd54c699db15758d365fe11420328eeaa5293b7b040b2f6b1830848b356a59836b32a673a04ce57a735697e0c72ec9fbfc42abd3c11ee651df509a820364f95eeb609bbd522e3fe660240ec5196eed097606df16eb0c8fa5d313950ff92a3f0373763d5a7165ac5e662afa02d162c359a8584180707183ba0203b485de3193e2923b9d61eb69952cc327178ba637ccffd83f4ad54c08eae25815e61d11339ffed0764c449c5597ced255baf04129b3b0821a5e74b70449095861346f2d032a9dd33aa099334e720c891793e1bd14aa20b60feca56f1b315eb707246302646b085b604976386f2b61d55c75c31e67aed7db4bbe54491e154e804a29d0e353a2dab025c3d500558d1f240dc6257276c276ae06225f3e17c3d5c14e8f0355706ce8d957f12b1c635adced40f27c0e441204756e03f2a26d5e739d602057e408bffa18678c9588104ee5f666c730bf2ca712337491c55c673d4a3b33e2d30718631f7320c8c73c39969c1f3f696a0d086422443ab0d5f00811640e54792a242a79aba4214fbac14d40f6bf45890014701f03335d124f892224f5292ae49d5a2b9dd2af124b44186753a4bb26aecd800e15225533886ef338022e685ae18c8b3843095449a7e4430f58eafe085be68b27a6eff8167319942d59926d3d1a35db0070fc752f6e99d3656074524e678d462296406004af9cad06c0c2cc2e9d959d24b5739135ccbc0738c0965159200ca953e06b0317aff73b3345f70f7591987154cf611d1b976bf453a4adb6630661e43eb8a7626fa7343757625d256f03eb80352bc0771fee3f0f21682104021e5e5101eb0c91192aab1b5e4b923c36f5e23c5d63314c4f984ad66d89210052b63a7e375d5d774e4bb359187ff03d51dc446f3bc2f5d717e2e61b32caa79b3465f2ba354bfc9f2ae80576521d899d38e7e4177137136a26fc47520996bc723cddbe225500000000f2327358360e174af6a6ba1ae93a6c60971c9645b964b31ed130080aefc3aa45b7d99c118af70004f86bb62124f9616e38997d1a8ae816452f73ce20f467154ecb449b267eaef577d72a0b68d14b4d237ad64c5db089e347ff686b510f035b0905e8331282591939d5168b2a8fdc073cd2138f70446a733c3b9b3e1b8ea2f82dcb7b42615b3a9f15d0ae7d1a2e84c72c43c2af1c90910b3b18070a56654e1916b02b7717d9624101e2b3c90385c42c222ef66a7273abda6518bf4a51d84de235e5e8af0f18dc5f109ff74d3cad04674a7b29fe66bedc50525d4b8914f24b31103eeef524ec61d70e8622036c1140305ed22c0b6adad4a40bff98b12ff6f38d721ac90f4eb1e48f04bae229367816944724456a21d09a501d3d95fa409bece6430589823b7ab0a35513307d13c6152b249a0dfa1b80e858035dc3b35e26faf3547089dc6b96bd456d68fc5a4b03b5ed0c2d22a100c40b9e0453a828410cc3e32824b1753fc99f505fa3ff6122ce6258144dea9b56d06a85215199f716bbda5a5a51fadd74f3267c29b6b0235cdbc0db70de50a303097418675e52a56435248315c626fe48f057d504805e300dad3efc19f55f5024792dbd70da2bce61204980647787736dddbac66f4ec3306540637f5fb7dd8e4ed8b26e2015862162ffdef86667c3cc689d98361972a7523539c0b73b71571d66538c8928068cff03a467bf44b2f5d0202bedcd754eb0bf1a9bc794149f7283316ce8c33a9816490ee96a063905ef80215b04102d30b4423b236b02441d7b8757499fb653344e284026bd6606e9e4a55dc4496217f684a54a57d5e41db6a5023fffc00075ebfd48085e29625242ec7960e664f42f59cfbb39227d172f8722e64a4e8fe737bed0e55ed3a6d370eee37607f15ab076263bc6012007e66400694f4f02d1e86350024401ccb029378f23755d3f9386134136730412da876587d32d4f5600423d5b360551b5c5d66ebc3325436be2613728a28f1a4bc836701c9b664777f57e4aa2b7514b1249874fc99a2b3690919d6250a4514bc250fc07ba1ee543939db24b2bffe93132bd660d13e13f44abb9b85f3a3cbd4257e86858756fe92f8899d94be8671913b50f904805e97d2d247344727cb650218a471368c06a570841db664e7cd01a3a7d31500d386168078362d375d6398426fe03572ebdba160a62f58138c001dc664144b4478b4e2b76bb78ba4ddd38a940f9251c2b1ad8082d9dbf7e37e597ab47b6df5f2eecb6d83f01e84944ee53054b4b65623f9b53870d363e711787e86835128b122230548f353e59374b8f2da33df9136431c506e45db72f0a641b731351f2986854843e68663486b33a432b2116c219f856606228298b5e874fd9462667392e5136ce974a3799ad6d245d3ab11f594e014cea026f5c92b9be3bcd9a884abc15f015bc34600f2cb3c536c109ea68e9d9ca1649931518d6b06c742e60bb488f4ff151f062a70fea49222189f108435085663de2c1d04d00ebc92a70bd97188902c1574bfe505d24ce2b1cc189db4174bca13f39d513078178f926fa4766144acf600d7666dc257122352d48b47f713de60829f627440fe364eb118978d60000dbc82e36a5e173aadc2941da0b2e0ccb08da2a2fa5f3119f7ee304d37b1b3c9bf96166f517c127d66c7315e688501da95ebd123d1aed613f79e926f132ee0d73222f260538731e507787546b195b0f274da92c58b1f5607c2c7c62b495bf1a8262690e40434e1883686134d6302374677a55320cf4ba0f906e8767def4d276dd0f5b4dbfccb5238119481c771ae76fc9379270d0e6fc67221e992239fa8d56d03ed8432eda8c2c023c115594db4c395c1dc528201acc0f0d2d1d237c742c579f8fc220bf9e3e033919bd3b021c515cf348506dbea68d439176b86788aee62fc957224d1e25de0e60118f1bdad1821375fbcf3cc019eb0690c4d4563ec3a812b0c3626715d5b71e54f7e35a033aac033471946510726320b57f0916ebd00551e06e5354fe19222496514a6aed527505374a1f39fe2c3904849f8723fecc6b44a12d8970ba722a13ede8c80f2c723c2b5f13d300c6121332c5f7eb383d9ee318e2c57e44ce514211e48de528df523b366038d45444f7433ebf506e076e9c0d08da932c0a493b9d1e848b711677b14b4e1d194e4d74fc5b72683c784a9d8d7b327e280c5a36f3605c09d8ca75875d10663cc5b15d0a25a677ee210b17486e984c6cbac91e96ed9b389d3842304ef8c93983057a49a698c719f3b95624862bba1d0f3249261bb18c617afb8600334282249926e96cc47226286119c134d762a758282c2b2ed353ac49d41e716098160e31c9a3af1dc17dab2d5cb1a15da3da852023f125652f504f7382b4d45e2dedd86fcf6b2a42ec3cb611f748af533faafd62961abf26707fee0c2d2576328e50b53e407db430c8cef46e7110cd0f78f06a25cdf9376b127c4e6a500e7829fb9be2218be431152c974f1dab7ef432a7ef225ab1caf75032a2aa0af39f0f023215eb1606e2937471a8ea0bf904f6130ea2955f1f893a23638449012cc76418de7faf2907a26a15610ffc47123fea29d9faa535d72fa115dbc7a304d2d8fe12d7e6224080c49668febcdc74182d1c5c45e91055a4774958659e9820e43a7b4e20502b1ef9c1871081fcfe2e2d73fd2fd73ec562b21d1c721eb1c133c41b765ab104920f769f3c46965d2908b33a5164271c2a388090615bc8d64c30646b5d42f15f9010896b7c265f73c52e75e95c309eeec15516b701158ef0d1048e99d634286251765498504f02c9ca4f10501002697b8d5759430f6ea3faaf0865bb243d42ee5a41a01eb36279f60202308ff350ce0342189dfc36374c4dd55f5c073f5012d5b51bc423911c5b59150ed3dec9196d950e72e9b1842843756e0ff0d31b0288b92a06916525053b621543c13eb218c4f7b83ccd0b3816f6172c0075128f373ff0a94b2c106c58bcc9e80d5bd4835eb357e85376d1d26f3e2f1f50925b5a57ef714a488cf627505fb8c61e564e365a685b606bf30817052324f53835683949d8bf0c47a79cef65c9b571164b1fc96167cb21297221577284d559023063e32888a17140822cdc1952de183ed953d255bbd0190e4b1c5d2b7b6cca4c45d4482f96c69150c8c2032a9a4dd1057edc5825ce9a450e7eb25649ddedba338571d10e3745d22a15218968d5e4ab037d27bc73f09a426c05f7090e383f104fdf797631941d9401855d750b9f54df2d623e874085ee6a294eec5041613e111eaf7b3151ff0ef13728600642f29c7655a281b8126fdeae0c815db27766f72741ababf26ad4c3f642e0e20a2d0f9f7a63180a286d215a502fac461a4ad1c34f6adb90ae7437bedd1de778700d1958374194dbbd03e750441c52b5bc05bc63b94e941e9a5116de5c2d262f193d65426a4b11d3101a1b5ba66a4507a55a56df235f9c61b361cc472659c327ef0db54f762e7cce514cf9359a2f05b0f02ed97c262a4650e74a63a9c35ec4ba542c798b3351a738c4494ff52a52fdf62d677a69e924dd63330d0d790c03bff34c1b51e65e481d3379400a09546764abe43c0714881f7b6b872375194c6e9744722b10e2a6675d30504dec580727a9f40860699d0e2f39f5d744b4041d5870e84832991e6c3343881d124f330472c9c431363a05bf6cafa601475eceeb3de7032e12903e455b81f74543aabccc39f0634b0b3caa160b05f76e20581df93d164c1665414ff8704569a561ca2519350d0a723fc84216041525c974971e665099d67d581be62f5d0e0a1d1b881b7518cf356404d3c7106cb09dd1413ca4d214eadc8f2f3283ac21fa9fdc586714641c1ffec54827a56a09b98d426a05c3d043103b6d5b794b800b24f6f83cad23013c4d952573a96e1a26c437c3240ba7bc2d77e5077639a43a29465398142f6869779e8bb562db966e1631ee361a928f3d4ad4131b618e6251255e4fc170febd15100fd0895ce79caa1ee99beb66e788840111d7961053f6b41842d3e25516eedf00bc11392d4a1e92662f00164de360531ae1787c0272c89b65b1cb9d2b232ec703bdb34124903bb32c0277da286c3ad03bc856ca528025f1203d9f270764ca8336ff9b726543ca9959853cab1a7363ba6692d483140808df0eb944c62ff7347313b4f0ad4ab754674d6605880c39fa76054e0ab0244cc4aa43e8762d52dc327c3f4d7ddc130821122200d49c2e0ce5977520f4be2356f44048c26aa64de1f0da1f5eb3d65c052a601043d2cc37b96acf1aff1933508da43e55efb68048d19fff23c30a86495f1eed6fa7d59d0c6f217a5ee0e63f59e9fc4b0c90b9dc75a773cd67d9a4bf1006839a1b5a30ff250e6cc32a803a1f010e0db87207d68024b43bc928ce3d7b6fd7d1e3484b3ce376d56db70dbaad682a3684eb5814d993172412e038f42fa5377482f71826356d517147776ad1202443fee4c43310feb60e2eac150d5e04c542e894b12c583365307e40c34ad8bb460fe7463f25ee145a550cf8ce193366130d5fecf4621d845e4426a2450f33350a34c141592ed54dd72a44724b5c184df319e6e6223ef00e9c1483718e515b3ab36d43b8695658a180643725405dd6376f0c646bc32ed032f618679a3776c92ec54f61bf376d783d8711464c37622757580a94d944679aff966798fe1034ef4dd16bd7925e246478891fb619e31524da3759564cfd534b9076602451e20fe0ff01251c4cd643d84fcf77d02fa62cd5c2c33c1033aa4aafd55c0b0a71193bfa74dd4d9537de524c2eae5c10a9f1102788732d67e0275f36350a00a5ff6c37ea13c277944727001c1f445d80bae42c79251c6db4fe9314b90598095afbe55ad28bc025fdc7436bc503fd5c9983db473ba7c25307d95a2096d30e31bb857c3a99bc4367a678d31a6104190f1a038d200dd8c950c358d12e4f0c4b081d3e0546cff79759b2f75815b73b6e643d3d9c71228c9f31f73d2166b7c93b6277bf0d5c188e8f3328f8c71fba21e6739a4f7e6f6f5f253ff051da32554169664d2ff1052158e03b6977f717ce9a10253c9c6c1a0d338e07e29bc2012972ea215c610214441f57114d893d0cd36c174cf83efb367f95530600ddaf1bb641e432b1374019ed9b6600090a3d040534c467d62cc66068164111ba3c9d140341e840e99f9810d42edc210d3bcf4ca6c4c05af04ad43f7b63e74b371bb35ba9a78c26e2898f58988112062266183959871457705a112304e7983fa4aa4664b9d5ff3b24c6850f6c7e9d259f4baa71b266ce5003c2993b6cfb95166a433a6e4387674ce67879091e2d7b50a3e0a669cc86ac1b4307725d158a593411efc508c14f1a0fc85e2e2bd036d30a2f5cd015bd283d0edbdaca047b7d244c1f02f006b14d7518f2c9bb67beaf2410deac9c5961b6da3410145b6e1694794cf6c6c875035a9a3efd0bb7100488ea0dd5a4a3081b1f605fd9e7906ff53a3365ebe32c42bcf34e11b7fd0f521bbcc6738c38285ffe0f9a62f9f5770558f9ec1bb1ba7522817cf84d25ffee5e9168915147bb8566ac9d245bb3ffc8142684156df2811a041d32ab74077a1e455713833fc6615f4ca66e9b0d5f55e94d9a401d4add352838f9afa561cee0f80318801f4e3c5ab6111782f756de9bae43718e350fc249550faea5244309e13d6269870d39d06cb472ff57a435228a720ff3e5cb4505e11f28e8f82b0f0000000001de25280c02122494c53a1bf65b6759c23bcb4712a8b24edd52c3385c9ca068e85cf366424aac4be3c68b37e31b71038ccb226ff20fbc1ee423d85d2ce68611a200535ea39d7e4e42da990ef437e26da543fe35ec45ee4f3a0a800f078a9611a4e1d11f267a4d49202804120ce8192220622575d27d180cf278d15f9da2321579c46e74e4adfa31ae1a355d664b45126654240c22332f31379d270beecf1727adff642b5d4a8a383e24d7686f8c9c548e800a422282de1c71570702b5c55b2bf8cae814de51573b2b0126437c901473cc00b1192593aa33845cbe04e318a55e3376ac258db9e81b021ea605493b165b1df9720e02bed160f1b1e301edeebf44f6f1b42bd326ae473a6e563bdc73005ed7623970f9d1605a2e05d53154a90f70805cc445cb29a17603e06e751f2ff230c7e5436f39d6ee11681ecd75afb86a08b649015647660e5a3afed072188cb86e852bf31560b2f41e44662f707aa0fe4ef294122366c08a60d5615617729f08417e7591087cf2ca64b7187a0677063065efbf9e0b3b8760572763ef6da717c221a3cbf74ce8213647ca0e60515b86ab1bdcaf8d6245b8ff3f7f1ac560ba6ca765ad512465ce57935a20211c1e1edce80bf425646d919b0811f7e30e4ab2734c1a8ba64267b413fb0a29118d5565e1491ae7aff52af5dcbb06fc695147f42f124818775861e3744b60e527476945258903fb389a53ce23665be617b32fb48697532afe2024589672598b1dab3f65cece0e1d985648d206223fabae824e5107ca6e0009ce23593ba42c09a9c042eb386f662d93a327b4bd98660c08655905d66c1e06c0bd6e8baeea67f349c41be2b7bb06f6d93169c97d0571b7544f2f5a3f69617320fd5cc6de134aa562f0210529e6110646131ccf22184e71fda64ece8fdf0612d72351a3db336f177276517faab6016f3f981ef9899909a3e9c7604a2fc32f29afe504125b4e4efd9b262aa584e65eb11782751138be5e83a26d53b893364c7178091cf1812d398059c07658e8e5019d2415008a00f24085992a06364b863b08a94956cf262b5773c7716a057db321f26fab50601da9609d19d626ca176a4d278f1575bfa8d352bff2496811abdc0f46b7a76eed9c59703c471022d65eeb1ee9745f6606ef79344b1b8a663abb4a4ba2c36f00ca631849b628d83c57b38b0e9c7873474f0fc602579ee551b3b8b244b2d392287839962566e5785f22185a400886245c4404285cb2acb6722e7c306bda097511c60f541825ec93312fabb64b2225f83403c5b514c0f132764631d767dd93214a17ae5133ce3732021af988035da9927573adc7382ac98d7640406d7484ed3461107629727d436b0f173e14579083b629a13c954837db5a5a55e8bf265d011d71eb42982a0de9684e907a381577993f1525ef0d1d83f9d86b787b3b0b1e2a9327c80d351488598333f8ead17752bdda3a8f78810141c0cd58df0dcd5bdaa79805c416b51f9295a808ef454f21edbc242ee158540473651024375c5a08c4cc58395768813bb9994c2ba4e027410f108e69a993ea402484d71eb5b86a6e6ca1a7403f6a265a782acd27e71ce0535fba9570d7b15b4f64738a6f42342a390883f20cb5226f4593b4ef7694c97e044cf64d04c90b1517fa71da0fe485de6b07a5c4011b502a264c6bda7671a2701fe365017693a3754d7f0a4654ce881939d307f250259b2b36c72df917f690dc20d3f39528a5152543ab79b0150ed344767182812e36076f3879ae5e5f18036d310954b80f9ae8001273d02d32ad920c48e07b4c069a80e763024fee182e98ba671d37276917b2cc0dd4840817355b043226917d0ec001274cb3b234331aea7a647f17e841692bc62eb5053708bf38fd163d3bb0679dbf6b098a5fe8632b0b8236bc3dc52141c6741df6aedc07d76cc037d63c9521a40c8c6c84fadf5b2333042bb13c290429a67f1a1aa05766dc0562235ba1404f790f201d17f63b478bf8d44a4c45404e50205b550892e2333b0c7409db3a2c6d2e12c11dbedf7201de344a2d831180554738745bca503a592a97e0050418f027fb252119bfa5d41726e38f0dc74f7442ae08e72e9624b91731bf9f121091ee716851a113057e5e30f9efa20aa48ef8310749400ba70d375c722665213e6465279bebbd341f4f6e585d3250152cc4eb462e6a6b68159d8c2844a4331c39b6f207a267245f0fcd45725b37a245babb541be304b2355520906cc9c68a39ef0fbe32d3517d58774de0029355a016be783458814d412037b96430e7de26047f481c041a15d81330f4622555c0683b0abb0144f9fbf769e6754e5ce66c570eae3e55709f72fe173368271dc85447622e43086a66e3063660b310195a36922d0393a4305a018736812a6855ac6e931894e2676160e66d351f662c70b61b98301b23635c9b4e9f17cec77f1ca6b3ec4b96f5b8185f410466ae006a07abe40367506f752ac1a780677b8f0b6ecc3c404f0e2f89639cf105749fe6335c4f7d254ffd7e70062542605bd41c9b30ded18e014ffe523d7b35ae52120c8b10d6360b2326f9ef6cd5d46956a4acd23646d4e74089bfd2771f3d9e60f07a874bee67dd017ed2de2c9e98db491692a85ed5635c777aef5529a3661d092da223596dea1c2df1230861e309a23daa216d5cb915526ce8f9c35fde756e3b90a89c1000493446758ea76f4d5d9860250acd3d8d452f420187791f8e132f1b6bf0fb0f5f0dac4be3cace1bae270b092b49270bf19e9c14318d4b61250ed56e51270a4c31c2452962f7e1226175ef4e80f6243fe70bd16b7b8d134bb4f5970d8212de349b4d392dba943766c45dc16bc9dcd60e7f851f17a210ec136e604b68c4f20426abb1e066369e755f33e4091cee45c704da29e747d55c9d3e45ef0449dec72e3f3a83cd14db24ad492e2a4715c1a04e1a57aa3135ae996054dc3aaf0ec24502416db74c6e72da7f2bfbd4311661426570a3bca323660733483134ef1a00e641469298fb01b456c7738b8c2f415bc88b2a72317d01cabf455286dab532a378775870232f51dee85737d90bf34ffec4921a122c6b47d7e58c04e30ebe568db85e1496f7df62fd73e26d2e5ea31b1a2c8a20ba08876a6737d745b662872a26a513368c93b2349cc4a3043b288602860367172d4d853051f6522d4b1bc21005d1dd2ea2be6d5dc7449b4d10e2302eb4ad9f614b767d5f8b453d71fcb1594aa36ae443ca97003410edfa245b185537452a6d16e41ebf39e768ab0f164a7316c9bf7970985e603c43d6f34c4f6d08756f76df66788b5142ca857c762871563691445f3f7e8cd21e3ad2063ba8447f2fac4e7b021dccdf10aedcfd3b7163702c5cc72125c9760e1391a9016ea849147694dc4f2a1b07d434913a5e2e81560f0eb69f0a11fe8a755f3da7b92fa23f4e6054aa5c550b39dc711bad863d46a11031f9d93d3400bcdf626354ba2978c7131acc38e958d1928d19d2a77800fda6792d23c9f4603700de4053a50b05746d184f4f5d703901c1672efee7a1467daaa74945da960f1cba076ffb674a767b5dbd1d071e3e058f9ff9776346b55b41e8c848d8a5da0ce581c33c691ecf73f032ec33fccf3b26ad668124d99c1956e6f2493589a4a24687ea5451a0e1e34d4824c0281f64a14427dfb437d8fcdc4c63a3f20c8fea9d4e3b1f9c564508ca5ff903ff50a7692d172783ee74608c250cd0b3d7191eb920632f9cd909a9376556eafd25480c685f2e19ac1806d404b60a4515011ee7594a714e580509ebc17656f0026b00b8ed06134255e2457c234a42aac406522c0e9b09a8131b210d79f708ad6d494d4e8d64625e72075de6de7e721a73d550ead7d61c91df4a581546de57db3d8e26134aa877c8bfe729ec9e3e6cefd7d8192946e94f1fdb431c4d84434e45adda2f9f2503084ecbcd14f551e76455ce8349e1d97a3867c14605d08a650d8189875ba9871858ed839c45a42db14422351b597b11b33457456c0899c9e45719246b184d729d2e124a8143e324d8029a54943332c9ab3d9c0fd003d49412040f8c8363402c9d554dd67f2da49d3c72d218f612a4b43e339ddeed1b8656f26cae38482c52992117aff00727fb86c3367887b577cb687639a3a1a666a539ed2a910e4c5af3e7f4084289d0088bcbe07255acb7606faf275033dc8f378209dd6bd0c6f06d8e64d673612ed8059cc5381e44809c476664ab00d6be481ceb65bb1007f96d77fd6acf7314634e58bc8d071e53c67d510865984837c37d06ed69f73b804fcb6d9335ea3103c4d567cd29f15017bdbd022f501a28dfe62e5881682c2371ef1a524e72201708c0e23f518261018c404a4f9f344f2d71081a54a69f9649e568ac6b872f0876f0ee1c1c44a31c6ee77ee4629115364ec62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0ed4b4273ae1ebe5363efe99140f4124472b1c3c2a4551ea22af56993cf959322c7be010041c704d74a8f6cf7586f3646f7e54b910035ec958c2725368fbb1e6193a33f93d9b44815b84fead2ed7fb0e2a63755f51d962371e14b8763a1d2c6b31692b774c3f6fc12c20a04f4c68aa676e26be262f4b072a0495ecd1594cc015585d82374eec68066b1060ca0d51bac53101429511fd1db110e417b52d1a198938c1580533cb38332cac4c93466ecd1b0839c1e6176fe4e4286151a720f6038d5261022a6389c13b43648d9755f2fb456eb152e944316ec4250d2af649690ba76e3044367394b02456dfab7d0fbfc8e71898f1336e0b7728309379981e4475ab557d6fba7204b02427fda92229437ec623497e8d37d526ce05cf88192ed3a4601cf811fd0dddddf50b70742a2da0ac8639999f7f2ccee456631627cd6d1ba4131f48c27d02d1126c3dc16b7a6985e58441b54cd626f2a1123444312c0b4f017f0cd447593962b9d635a999a061ad55a84855d9a2025bbac9004c801a2020c6d369b7879a27dddf1c723ceab117ef7a1f0876f7401c1aa839364c7dee667f5aba6a61ce2c30691b474e57bbd119828a7e02387aee193ee7ba027c61b543c8465834cd991f172bc4892bc428b552c3ba6669bece2c0af1696a574c090d057b2e89189204591edf8c43742fe9ff49c8fce037f98bef50e68da54b47e76a07e4427c63ecd553495005b9122f4a7863c3372e5721f6c25ead16940150e1094a19c55d2193732c745644d66bdbcdb83991de1239c82d2175df06524eaf0bdf4a996ba601b621f90f0d6a693d451a141af8625e3a8ea2d12a0c4c5c4049b43a1ca7e6b269a70c5f078073be39040294432676be5853ed3b4886d3786d8f301c71670e2a685c4a4c0fbeb08e5c015c876a2c99ac461314b24bb8e02b54e2ea8f3531471d31b7026855faef9c52ed73935755b6a7502b6807228b46dd1cf94cff34a997526cbf855b0e2f28a01cc77a0602951594248fbf731e28c66c192c7e663e26930e2ea9546826cee0930c66e67568aea71477f6065641f8219b3c0676b1453567d83a6d5b4c47d2f4ca438586aa70247c410a836ffc58b54c480188189070901b025fa6ef1f365a282f471f372741a4b0b95879168c6a505da03d413f8e51925c8d687c5dcc5b6b68d6719b28fe4ec2c7ca546bcf660111bbae1f69232840f71ec7061945a041883b19231867cd5531b0ce563cc2ae3bb6fc477500e82d160cd42c5f1a0eea6ed20a95359a59272f00000000b2f9b331ba60207647c0997650770873f910834fb41b9b09db231503018a5b6f0d55f72db348996885ab1118ad098d19fedd46670afdc01b12f1e8422eba6908c2ebd71969b3e01118759751e44cb323cc51b44b45e8b0779c408f126a7dd1603bc3455b1d26be188dd8c01dd1b87a70b985544f92aa742b2dc1d24bb7832d25d97c817462187420ebadab7194fedd66abc4aa05fb324b1e28b13e6dac8b5e1123b770412c0d7376aee6c976748a935c295b8c76092aa71f5622af11ddc0534c8e9b2e54627ea60fa1c3a351d393ca6247b48d6add4c6949a015265a5ab338751502635fb3ada17485dfe26aeb5f3f2bb0237b75c08fa90468d05949efc4fc64e47eb02fa93b2e110e97b510ccc07570643b6330679c2a737758554e51e0623da081c302fc7a775d10e1d73cc56974489b8af37426713715663a7c21ccdf9935a24e4243952a0b103c7ab955e3d07b3f30906547e8a6382f36e2d472e8da1b51b613573c4212723e4323ed4940ef8510196688616bf7402fe962b340065c8d5ac4707916b9ff2f66e0cb5424c156a5509e7c551aa87d9221e7f4ee25773c9626a5b4be62756cf0228a5fa54c85e0693701ec763fb20ee414854cbb5d8a4b432aa4b8545c41e7f12886d07507829e0a74cd35f177013a612e883dfb653c64b4178b65d233501577595ac36619e52d383c0434f15ad5ed554215f890680466c8280392c30f23838c44891d5367b41f054977edf95071384e3ce589ea1c4c260e14d50a866be2c36439d9a20a306f1237029912314f6b6d3c099964920794c10e2ed5881d44e12031636c3afb0b9988fe210b0db975b502024139205f3fdc01f43159293a75dca2ed31cb3e4966b2c4562ef2265f0884400740f7196130ab422b617e318b6cd1a0664b79dfb704c8673468d781fe25c3895a2efff92714d4f60c26a451816321231705b2c0ad3bdb702258f86d0d2a6668de48144d2940541bc06522694030fef0346c808ea10560bfff5bf57ad72eb4720065f53e7252854c5864eedeb44e091bb02221a4965649a457319dbb7e3abd72414dc56c133738c47a018663725a86bde213c4cdcd19220cc034e337de53df27842a4457155fd4b46b3c7fbb3f3a3e383569600ffc1e106d9972368b59054ea9165c94f33b53dc54b8709a4a8017d436c3137131a1653f9be42cb171f0384a674a691af5f7571d8b0b67fdd3f1082430cb09c5e18b52641c07686da618307ea9cb5e201a4b011365e05353a37252e6306501040aa9021f970341b38cc93a533d0e3c3638a8233de7c1688aa8a113109f9818962fc23f8a6180656fbb916522534e08d6314d5059ec6221b4a3ed18526d9174fe1381124cecf200ca6e650af182f57581787434551f58692517ec391a88661d125f8120a75282665d4c8b206823bf4c8e0bbe61be1ffd03ae67ad65aecef25d1bf1ba29164db869fc2e4c178da273677301e06818561926ba40fc2a03958f22573f7810742d7e22219837111fa67717eeefbe3a2a0cb971897ff1265e7381521d53782ade0abb1984dfe515c14c1f37fd1496157ffe656b63921f265516c76951415a1cca7dfc0f8a4f0b57f07d931c0f27a91bf48e5526b265ef43e6bdf00fe1e6973ef0e23b2013b9dd0eaa3fe86dd075163417952d1a316be52ccc7b1d696463e7324b0d3a40e77ee314e7026e186b1fb06fc85612008683946a8e0dc53f6cd1166eb26db331f35f3f2ec0af1e76dc85d71ccd12b249c364b254ef463c530c077c46daab8103e07f5e6c2e19081ff08892756ce5dc0044c8434f354fed3e43d8ec3de99dac2552c8853238bf4b3838ea33410a50fb002d847f635e19f817a80c6400b5953c3ad0dbdd20380cff63975c110faaac4228b83f9f4b135f771ab179fa6876a50d63536a0f3632533f0e949265067d96b644a8f7d9055ca9cf1fe8324a42b534c0577ac550213024b9474cb78f02238e2b6b9955e52ff3c9c73aeccbba4df8b1e22ab30f656e36e362580f4ad4368f3cba1c6d685a090cfa5f4a19f9b30dc3fe444f49d07864c39ce5394ff053694c8b7366e2bfd93e15f67c2b41cdb70314eb7449f831dc536f661b25e0e87d6a7624dc540da9433a8846dd38f227ae14400b4314e43563609bb5c36c1c98df13ca6d9674e63cc677ff1f0e39f97ae23a3b919435ef72054778e1c2229168ab408ac16d45343b7b306edf9a6d03240d36092dfe4c6c73b01de77c8f7073436048c92bab57a9907f1fb3ec08690b75a23c8860861e8a8d934313ab5c3f6764801e44e98f2bd2ab026dbdbfca751363c56e2c1f7a6a83e06177072d545545622825f30df5479b54fa28389c883302051966013cb131db701d6e1072bf16645fa141b6dd6e5508c40e73e9f327272971e05b28322c0f16c81a6d87e41f2ca6574456cfd58c5957be345a2e512a20b730804b55d4a941e353b15ac839e15d8c53c609562e09047903351530fbc76e2f0bb509bbd4bd3ed033ba21e85bd9232f340d5b9f1bbf320fc0f7050810771429e591560a93a1015f67592fc3307f547a4758158b2d09532f96ca14d358c95546c48e353c9afe1d8cdc4b3f00c356658c9eca17ffde7d0f25c4215cec5d4329bcc59f49efe61e092888513dd9a2ce7331845860e11e013abf975447e0d77c6688d4b25664fea860ca9e0f0f492d7b21c117494f843e2b52eacbca1abbbd1d0db5c4e4670c24d73554219532051bff2bbbf18435c67c1f66881b72071ef4cf5eb265536706261537a537526c3e28f932fa523b6788ac785c67128c441cdaa92b1359dd0c056fb4099dc3643c52713225fa514e67997bde3ecb33353b6ad50768a72d77351c96534aff8abb2e5c0a7b3c8442514e1756d433f6e48d63a6d7191a810de41cd4ee5d49b500c670794ebb749c95322b2f2386503f0d2e0f8066061c745b9a2e6c51a32301da28279753cf00a46384122f0ac74a7be5ed03e9a4c633c35fd6045c201b2c09afbf3c48d1ce04caf932006febca512284dd21013ca02b4a2f565d1119704da287dd35800bd76d7384522624f7af2135720f758f4d7e278cd4d730741cd55bbee15f71eb990a1b685c0a1f2137a552fa17a53e701a0218d21596217cacd3751fd5f11136950947ae25e225a62a0513b7a1d02ecebb595f5079e3162315e2477d1f8b3abef39c6b61e350679641052b6093ee523badf96751732c43d056c443d949b02c9ba53c1f1294a875e587775a0ca677289abba361d30f153a7e08d9579298785330b1393a32c9d30bc944c634ede29358bd15d50d3cd35c48d92a7e0bb21ae00d342a60356a8e9777703cb25ef4c1e46037a06d7111445d2af24c132f4ab4754916c21b66a13023395873c50dc8d83877278aad3645f0e532eec6ab0625af0d17c718ed57b5e6266328e937062f23124ce1e03867802e8b3479de973d511d015dbe2891550de44e6fa4c225078d872e22efd35047e42c192a55686641361fb9751cd0e364e575b46812bd89124d9f6038b69a9b4fb4484517a0c2932550975d360ba3006c17b6791560b9d905c670115f044e563c067aeb5d94996115be0fbf57dcd353254a0f1c4a4d3f06716f14b55990353065ad155e5d5c99c107b8ebd05f0202753c2599dc0b596fae4dfe53ec1087b32b2eff5ca54196ddd659a4cdeb0627ece03427dbde461ee0d21bdda56d4052f90b6b326c7e66d47aba008393c51041f8501db37b4c275d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442d96b06513736379638274f93d3fff3b342677552b87198e3fa8159d562638a948dc0b8e41acef7416b2a8c772fe2dcf19e1e79233a45ed87528029148592726348ec8434da8c62d35a740891a2213b430620a2a4a5c9bcd0eeb15cc2f367c7f755454d067f0ad150ffaa86940b5f02965be6fe1537a93362d5fb04945e35bb410abb0cb4545a9be5a3580ba27fc953334d38c586ee69379344161b938c718493070cdd9354430d64c6fabc2779eed125f5851a867b62c704dc049211c0759fb170b0ae161a974db471d91544e3c0e8f7636d61942a515543309891b000b7cfd2c8b509d4ec68ada42cc08a8129d4fd03d072b36107f7e733a48a8e42f47219c004c96fb3ef5fcc576e6a4ea2a91323a46379c1f2665f4ff6c993ae656c588606323c444727283bf5b2b50680a22bdc76d114041167e13da5072c4c448b89fad346560633bfb952d4eb1de132301a0f001e8b7be669586b86ce5fe636d92eecd489a6bdb44799ec96cfcc1e132c80b3e38790a4e71c7d9e50fcfabfa69cd81391aa207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f2a4e290d1cbc791155f98d03d17a7b1b922e186e858c133d4a9a4707823e2632026b7650de459c23849d85748f152d0aa17f57608f0ca07636f1753fbb68283becda761a7ad8c409a4c50559ad76d26f1c8bee53e5b0b5101040ba0a57aa95772854d330061db0006ab4da560ee46a30e8cc755223dbb14f0104d63e9348d21363ada61ceeae0a252af1e35cfb5b9b11c6789861487ecd2aa2c02c604611f03cde9c410317c1951128fa7a1c33ace731dee31117b19c8221ee197d1b3b40170b21e5cf4b94e7e274059bc86cb22c346ee88415605c32db01102eb8061523ba4f74ab294c6605c86108e3b241cc49090c92b30505704a4d31c4311b5d1e81f91f3065963b53500b60ae4de774c1b689101943e752697da9590e48de1e3228bb09d549193084ba1e04acecc76928a3340f6459cc3671719177f48a9b263120e33e39472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e01621806212be6234b4e48f6f360ab456a4d22dc7d58e16422455d5984024c919d3411910704c2e8514b7b230176d9a8bc08d328ec5a775dd8411f22225a1f2b832ac897d87512de8370e26eb863adf4ae1a2050bd257314714d7665e31001a41367bdfae51727d4300809360b133938c4639d3d2731a2bcba0cac1e2109de55054b9cf49f01285cc4565797be5e72907406ade36f3b917ae0319fea8b6883277a4c7499150f8174e21118c2ea272525300fb8e58d0437eed33586d762551936dd3a90d8612ecca65a4421d15b0f8977e44f2f4a6b4c004d1e73bced9e1a5c16a43a417124602db4b3060c9a1e2c97ebad215f5920315fdf773af3f9761061095b4fea737f1b9e725471d4369a6723ebe72ef6b590535ebc823d2cbda81e8c3cad1ea8577e3941bdb56faa026227d925fa374c3f0142e04fcd1febdb14172b610150389eee4bb35cd14783a06a0553246d76bf854f093563e347cc0ff1421cefcb34839916625ffac716aed639090b7a4c5a5c665740f16b71462dc6882f982bd76158f8e247547f214799373640e1ca0c3a4ca5eb4deee808410e999500d2787b0593c10a643d6f520954aeb25e8c23046a0e2a0a515e351b4ea80eb60e605dd176802ac36d6e5ef43db6aa97412cd4c10b28b0986db7e1450869e85d24889e1e68ee948d617428b75674b91d65c6ce3a0138e18b710ad2642cb6e80a06b7c3a226b36a9e091674467720729228c20ef45de41939087fdd3841c216d32009afd548b9fd313463c84522cfc060130000000091418a022734ac7146376411c22c29330b4936732e151c591087675d6df2e33a334e7832c10f7371e0ac18427f92355a26ceb2290eb1d16a84a8f41bf33f204cba31cb59dc59c40213e66f0fe310a80bd8f9f3378665d871b874833b79f0aa07dbb61e2f9f768b1d5405845042aaa71bcb74a61b784d1f1057632b36c95490080a26d11d86f9b9297d82466b47e7c721e3533c06e6046643e37be7148833be14c1a99060f6b4763b00485d47d06dd84c142e8537f67c7255cd40e73ec44f9d68ae8cbf01e4012359f34d1c22c405a0289cd5ee44c83e03508ba7623d37d16b24b500095a8dba9b3bc231314d8ff3fe4577956438c82bab230368cc205024474b56ff37671b3e2913dfbee65f28a92000352cb016e2cc8a32d6c2e828af02294b7d6ae16be896c52d28855c531cc682055d68c03ac47c483bf05a9154b6917f12ba64d26a36fa074a48acff405a89f220ebce3428aafb0a52e8fd5545615be60baa219f0aad4bfc0c97ab0625be56093f6073e343612af64aecd5c110ff476105fdf9e4068b723a3ef11f805ac7544442ad6040391c0a051a39faaa482b89836f4e72cd1d840c1421600dfa1bfad42502b3b82642f93f8e4f2e33fe3ab2282259e27f3732f396700b7740951fcabfc21af6e7641ab9e93042b88c4a6781de1127eb63725b2f2859339c70360128044d16d44abe4431d98a11d02ec96d9913631c0fabae18eba7434f7c5a0b3a131803016e26c15e800597622bc50811b15fab256e65a3301f938c3001893a3fc841430b1dccb1223f70ba1557893f618842f16dec6bbf2157b7ea30a0c3f6469a79e11d3ec93d127adf570e45bded1e8cd15d3483e03055e69cf16d3203d566d0315277de4d2c06ec292672c4c53f76980a8467afa1e561323eed3f0b097f02126a627001daea72b815d4698c2e3a2fe5e2e65691a6191d5f50eb3bfd300400bb1cc70df24c8f53eaa01a491cc80d10e645e87375c1053fc58f511727a8fa09cc76300d6960305e0b263b6ff72222500cbb9a11ff4bfd38d88d61385e4cde2178ab8f1562a3c05749e58f0606ad43232ffa991555b85249e16d176e0be2bf75c81dbc5214583f2e6e3eba2a797a5a3e532e286a14c20c08e9e6985b6d57b4059b495b5a26de11003f1fb5313676183d935f293b87b6ab6666652445b3c15338ae43b952a023ce6a1437a163464876669460eb6555b7cf713bd04575628bc40b20da08297bad151798747936a7ae1c60eec8b203559bbf77df17f638d6b4e74f66e2281aa3aac740001ee9758189560c36b7891090fc711f20a6c0024945d61cd9acbd20b491780b26bb7901c106f003d596e4703458990d82cf50114fe6816a8d261c627e4d81610f078e172a33105f0c1aa309490d8a09dc552b36cf29285e5edead6af0914e1f8f5abd07d4e8947533656b72c7d12e761cc6aa0dd3f05f46f55d145aa9a22f58022530483ed1d3574c091c4b62795b4bb601636f70ba4f6731956819c05cac724d0d7b66fb00b85609aa626c26743f6368bafb7504d7751323842f2b78a55758c2acb512b71ed42a2e1bef1397284d4afb492a41b2682f315c28210ef63586486016c518c5c12c5579e3d105b200272a71394c660f3adc076166e5683b823f335e7a553afc52315b3523be72d2b3ad2cadcec069c060d0159e99fd49afaa9008df45720592f473768981113cb47f1f18ebdf9028da27ef422c0be82f9612730700359206e9eaa41c40567637be0a821c5ec86149b192284fe85b8d19c43ff50587f37b6e04b27d4c32a90618c648c7042f8b462d3a7e1d42ef6bb517e2209f26df813b667fe71d1a76bb84431a612f0e3669204daaf6940c34453053827c7c6d08d68612fa64037729ac4f4a05e0033a623cb13cf3613426fd68fb130097193bc6d2044cf3a8cf358677165488fd0c1a304b7d6a0ed74d00501b4c709e8dd548c71b1d28d53a912be7296a767c7f1d71446f221f3e96b844c7da046081b0e45054c23f211a4fde052d9b045a5f9b5a58962cf87349154e03f8b533663376085114290a70dee37858c9250873dccd9a550a5c274cc605a65b04daf408a809995605f3d64d0358d82fd97e8e0dd23b4c4aaff1906cb6c94f574423955307675418a878a852f1a74a512446495210347f2a36f6a93bcfa1a372e8d1b46c912a8d114777ae3360d65a21ee44ae73acadae1509b14e3a1c5890385ffba436db610c0af287303eb189f9459de0930a466bc670faa457429c5975034c53d92d2d3d17519d77ee591f4639134e15985ffcdfa36524fd743cde4d4c6ce2354f4fea7f6a6d11fd3f52d854396e0bd6a3229cb9eb1be07ca72e0fdc3246fdd70e4037800d056478a54bd3c4c20eeef0a62d832f016751ff4d775c386539a56a06564591ee5dc140ba3de048c642358f3c5272a44c1a35a9221dfa679476b0cbba001eded12a6235b86a65dfa31fdd1c690e1e723d10798f03445fc5ab70b8e3d026872ada4131fa1045d3f23d115a219f1b0e419043b5adbe3fb7fa6f466901fe76b69aa958c5144018e40fb460ef21793dc4108118f3d6973920635f3c5c0ffd1505d420404d7f0505fca1c368ecdc665f77aa3111013667752f367250760b37620009e50e65293b1da1ccde626bc2171746871738b4779d62195ffb147425af130c72863839003c2ec1d9c249c2c10d04000ad5681fb746388d23d01b903a6e296abec96362f98c254300175fdd831401e9dd6669e900b764e068f54c823d4e695f8c0f73472dc83e1aaa826d08837f2a5af2b94ff00606426e1476233188dd1b5e076939c2293f29323f6e188f38816e015bf76f24ae016fb0d09c4bbfe57c283468e940766a6c3ae852b363039c7156ac380d2adf62ab2cd9fd5853bae8b00f7d9643159b56865f6faacb06e8eb236fe1bbb25594fcbf1324a09f2e9830ac14fffd3a6879a9e9644ef1fb32e55f6455e5a6d1084f55cf28aebb0d35a201c467b694a06ecd70856250911d2adbf06928f70bf759bbcff500c564612ae4103d2e1b230173df53eb1abb2b702d99ffae2043f99176232a7f70273446516f06d15f31789c3122cc2011f1d5955511493f63b2a58f281464ad318acfb80897484e0384cd543f23fe460e9863b76ce8050223f5a04251be868d0cc37b710d84ab583fe8ecb92a0f5913496c3ae4393c28c61fcc239f5b951f875605ac6273761d37072923d46575e1146819e4fe2d9e80680b77fa302f6d203665d34f564be094ae45e612ed2a2a29fa3448e8d2749f2f51414e810471b236e323e6392f45e3deb876bdc1a627ed023028460d911e00fbbb186209d672c51c4a295ceab3433af02b633c86a425adb542635963ed3533847a23378dbc2797b60b0a019e0c69ec272c10f270e81ab131486ff6479c44084e1b0173e51611229a86519ad78f3448f62145b89ca66300ad604f6d587064b44b380d0fca01305d192668caf7a32c5cd6b0562617ec495c33ba5f7f5cc7680e6aac45e3fcc976bae21b7153d799367770b612fa199a4cfb80b6644e6ee842cb77cb3af8cdd46d25ada06f804b2f2d6724702c846a1f40ff642262b504f71cb3afa93f2598f0370f6388052687ee41c2dc4d60de672e4121086108dc70d93438496a44b8a1bc1346a1c1217f0763125101e974d6015d2f316bed464b52cd46e52af930cc2b1f46bb975b165d078909425b943b85cfba5c2b6d0b2c36703712d03cac40ae78ac3c5a831565701384278776946a46e4ce15ed6567758111ef1564d09e1ce1762f67823b666781bea80cee478506167e9331330fce1a810eae38bfd1294f67ba6723b0dbb9120ef38911ad411f6b9c2a2d319be43227dadb683167f01b0c664fac237b31d877cc381f2ccb00de21487ed85ab44b946fc4e06722efd84d61a4d120335cb5844b227dae133c5d7f5bab93d521f817ae067c3b524fed2efd2483e1d2165621e60a4b34cd7065b0e84ff7f5b048ee0ba25e4f872d25fb0819425dd448578813d31210f36f6030a0316dbe9ebb015ae8453abd4d8527a8799269ad9bca73683a990873d11170530a62109c4ceb29ff37c52d6c10f039eeb91655aa28a6056e2cdd3ffde7d120e2cd585bea471c778d4d1d05f44430748b6bbd6d752cbb39d54eeb65582575202ddac40e7d4164161708f4422f8fee5c3703b61831cc814d626c3629f7e73e6c7689da3890e9560f63a75520b307e95741892a09a5df6b5603172c5b1d23af14f693e35b701248410e6a5f4829d60b25571c18259482b93161488319c09770549bae5b24d8516f3c7124c110ffa8c41961d15043dab86b17b84a9516ee16a23b5cc5f360d338f85b31b17026891f6e3cae46421d3cacf917b98a361a1b429839d3cc9d34bcf94826d9d71a1076079a473cff50635b072429a1c5803f7af7e51ab5a3e136b739ea36918a4f4f9e9ee51696e63c5618c23c14a5d04a20ba3e0d379de56a37ef23a05952815119ad983e30396dfa633f084a065722f202133bb44f3573674c55fefb6efe46de6700628d613a401c5cb459631a77ac314a37a00d4d028254647e7869650fcfb874def77c3bd23f18294412204b99f4150a3e23e213eb742263596bac62ead16a34734a990e1bcecf3612ba21561760fa50cb5d0e750f750d30d9fd9d222873ab61d5ebd5374d855f1f92d1020c3733c92fd17bc662947c6e4408e0542615e17b517e3f3265630ef405f745334ac1113c042e392144abb81f74e8d2eb26c932892d962e3a141ed4b569970191035bd3371e954d682c1d9e6e76487a974337770948c4432e3487d7371fe5bdfb32264b9b161fc30f5a029f9d6cb853550bd482663d43165b4a50c8015c4e0d4a41080a1f3d36c0850a4911ad4097b93a13c344e16a5701fa0250a9cf1f2e56ea5c2a08f20aa29ce32a065088011b9b08219e58b901feef403663e5f33821e4a15b69a4046bd91c8f642f9f5042964c1f458f6838731d1e5d270fcde02b9c79f26c8a04ae48b9cbae3510eb1e3ef4edbc6d6c23f24a4269f95cf235e80c8c9618012e50843d1f999453a44be73d53d2f853e62b6876749ce4758e336a0e3e26824a9687c05d983bea4c1e05003252c18d66101ff61abe38a2748f6954617b94c90dcda4dd6a595133474142444e893bfe74ae71c432b9b2e459db3e8f1526fcb24b459892570bdb565f99a8673eb044eb4a3352350cd53d024f51e2821c88788f64f096a5277f98525357cb24355517db1a24a68b774b25774960528700a3cc9643a486de64d0797758b520a3765142c901abc695043e5ff51ec5b20d3dbdca3b1deee73b3b5acc18375e93b85b192a3f2880aa8c271a1a863ff41e1b283e38d45226b63d4b1b998c4bd6e5e05f3a788a047e22fa4b1ff66077faaae33ec52d1151c94fe54a57773477ba6ef21a52a76e0bcd10a43f8be4496e3b2e7451af899851a12bc00b0dc3cc50c1cf3111c06aac594a54cc67a57bdd68c379424a85cd790fd962275339ad5b4d8113b254d3fd916ffb5882120c1b3d51550b4d71b0c9c2767c33c75c8774a4440230c453325d9740608c0222a0761f0b6dc55b28f4d5383277f5365cecf25964e4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4a7e995262fcde562e1e58ab34a9080148d4b9222dcb1ed560c2f1027300000000798d52736c392d28b3a4a01f9c6302616167c26cbda859422387fa46d229aa24868b4e1618edbb0a93ac6e52a901da665489b43dcbed7f5162ab82707bd83d11e96abe1fee4e763d46ca865672cd5d28e5f709434be43c19f33b9755e83ba70bc4bb035bbab0ec68c9da9254d0f00c2eb239d32c0ab82d440c57d74a7ce9dc32a01afa258e9a53111b6df45ccbfb1b467ec45d1eabdee332233ca2579f33e71cc72c98273306234e622bb720bf48db21f7291f223aa23d478e3b4b197188b75e5151d520ed285b0cc3e2724298eb8b2a67c0cc257c997e42a48a8b6c4e807b5acb02e60591307013ea6c0e19762dbc774e5ef60b6a60e0763ccc6f38e68ef7353035ca1716faf73b956477120c20375c9366945120a9583371606c44a9b32b20c3048c165f16253c657b8f48c76f92101eb71319631a4103b2d7a9731ac65235770a5c38ddb8855ac862185f458fe63b050b384ac7c5f31cdd85db5f7222780dae06475d285ad43e0fa7de206f8b3c66c6d5fa3e3ed57a67577e9237a139e644e23e26132e4e4630c042b743af25164c6e8d2c5c5ce9e31912ccb22cd0752545db37f50b52cf05502ea54777fd94144fbf15d610c66bee1f2428b6088ed732392068c75768a11610ad5fea0b88f5ab61012c912263e838437239ea15547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fe0d0d511c617896cb1c236168c7a4b5a952dfb5d42c4120a93e4a607cfbeb44cfff5aa65f7f0e86f418c7b67ef8c77693741281bad93734525e2dd1fa669221c9079ba4a3f6ada02bc1b637211d3f0450809330a42d575002c33a811272cea2bae21071df7949b5b170b004f13144241c98d0b0e51c2920199f18021d37742545d7de7268b89644f3e255306ae9fa07716b61958521e6f1725ad5767181a2421c285c15becef69710f719d5efc53dc4fc891765061b8a2377a01456004d409438ee8c745bfdbc335f44c525563518b1aa63c5736fd101c066e997e23d4e90975070d1d1d8710bd5288ada850f575b03cd66f2248f36945173ac6ae52641e6536a66dc1366f313f08d1e8d61ec6b12e3b74edf9415513cf311b170024d34c251c238d84712a79ff5a7af6e10b8ecf2b0fe7e17477df292a294986e54f0ee6a531804be35eaba74a5a4cc4d307aa7b871edaf236298fe57a3135251b0fbb8a4132c9c9572ca90ed726bf3aa06ae8f39d4838c20a09aa14d36ffc907207a05c3d3c72d5fb300976925f2296ec5551c37f27362ccc21bf43295f69c6086fa11ad95e8046fb4a4f528a43c581da207ac529513cb13462550c8d122f047b75bf609313d6d6cb5e8c9b3f44bdf3d0471c70b548f33ede5f67fefa469f98900fccf75414aa2c1d31cf4b58586efce6379f403123ac396d52d431f5255b811e3b24fc22592e135f39dc1f6c4c1e466f11ddbbe75fff7a2f599d5a004b08f0d6565b731f1136f019021e05e64e1c77f5239232f63a6c2fd826694b3044857f2b302ca20512154d8d43d26c3a52ab9f6e75498a3d55c38b7e675a8ef90f6f9f0c652bd04938f0cc6d1c268b4e2add7fb627757af63b5cfa5b0921a7a058b3caaa3c4a846f1809edb15ad6ec925b38fb99530d1dde561644d873e6c3b9066cfb0e167dda983ba2cb1a409ac20027dabcaf20eea4724b0d04cf56302b5c160693d6089594f50fd02f1f13fa10c233a057ff748130c216881c9b5476a211646eb383685ef9d91281252c6df92e97297510ad40c9b3e86bf8266d434a654333de9a00158a135535c77277135c1c026260d82c36eb90a247c6b4861e85da1973e085526f3da0501df6512249bd993a0cf054cc631bfc0f040b12096bfd49eb5307ca3366a5db9627a1184443f86eb43e8e03a93fc0684c4a1db5816d6482d847b1d44b307e0a745098cc925e58d537211da4676ef520206f52a4a048b756995fd63c204890def97395801b1254da343bc62a2444dba65262b0017e6886d18c17d53b0f471ddc7c5cb06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f4f6fe10825f3de6e54ea4d23239eae3db7e02f482c5d8a196891b83ae4337a08e4af3c483a6301425a4119447a8dc80a75ae4c6639db02027a30ef6ba5c9530a994b5f6e2732a85c1bd3172a53e8f81cef126655c7536e1241e77a0bfac3c1351f0e51199dbe0a2be8d95469c7c0ed4f7429321312e77e0440a2c724f5dc3b05b628ba263f849e43b87299301e356f45ce79d06fc1333267f41c1a21086a0161771c496cb322634d957e4a0d4b341454b6b9ad757176622482359d562f8c790dea0fed1e441253752e4f94097662ea14cf032d65d88850752ac9ef0d3952b76b412e101cbe7d330f09bd5f1de8b5ce127537cb2dc3ec404046a8611d2ed98f53b634d544f5e3a741185c3902f1cbb25f421519500d242a5296de1a43e053c76557d9df097404bf3667436926a6dbdb54a8ed9721e84f6d1932f5560138a82e41374a7d14c0ccb760b21d386834fc5c5adb5ae31e494bda04e3085b1873230a3aed94ac1d7f8c260b7a95356e6f9e5b3ca8dd7a1a89deac52afd4a61f1038365d4c9d402f8c9b5565c4ba845fa768205995ab28009f9a6b337d6e25717c27dd2e5310f4755b7b792fabfa433588e39518ee6c7f54d92dde38c509063d4fba8223f75c545926380a6da524283c43d9553e42669c5aadd91238aedb33636c6d152ac0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e5015337b86f971f44214418506b0480854ce7c8361dafbfeb4591797c34dbc6d11fa204263c1f747b5fedda0e59229a0f2e30b57738187cdb09fffa171f69fd4304ca88fd771c79e74f43eef31ae8bc824aaf0b7f174fd253621680dd6ce06e8c593af43571a095a90e02ceec0b34296c3eaa6fc70397bf2515600b790dfc4da357bf308b76244bbe3bbcb7d90db5faa453950b18188d29031ba3b5986f8c305f3ce57e521a709d515fb6e1f66e4abd8430935904132bdd2e525584761f8a10e71b21eda1024107123a7fdb3a739c7da83ddd98122f488a084bcf89a943bfb1ec5c1972685a3228880697c77663cded374dacd09b6a9594715a2ecfb55355f0f32c3165b871e75af031bafb7069488e9719eb28f0514c63ee05ace6982242985664273bd639f1c4e0685adc9e53c507134e529fb7525802e4762131123bea76ad5e3175e26cbd213d5c486b592e3ae82a0cf1a69c50c707ef770c5f122638285071dd08263832d1ef455a56cd0820d3b712e96b9373af9a413e1da0b930c2c07941f6d4ea0986d8132ba4e0cf356800c105c1bc4823d0dbef67274bcc74df4f0e4ef4b68b2f20ccae2c5a1f32028a6bed5b984b415f7128d822746f20418b48274ee910ea13a08f0e29dc7a615c86c8ec1b1a2aa40b9c9f673a025e7e36f9481c40cc10c93e3478015cd798ec19e63b696344d1725c0a9af82cb0aaaf41d7181273596fae4dfe53ec1087b32b2eff5ca54196ddd659a4cdeb0627ece03427dbde461ee0d21bdda56d4052f90b6b326c7e66d47aba008393c51041f8501db37b4c275d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442d182d885b851ecb38a218d7358da05e46cb0c5020420754320b796f325aec4c025052b03d78d5ca23e0c87f560f483a2a54de356fedac94491bf69e09f0aa68399d685a4c3c2fad3ac1077e0f1896ab6b4d49735cb8df55084d59fc3f952c6f429337941b53d9344c6622cb73f561550da8a0842e95c4925d3c1dd71ba573952c62dbeb46870eb53f07976c383262c27570518f51b0b41159c8ce590d39763d13bdbd8b44c954c226b4a38b52f5dc3344df2262543d3f420a05b0a40f8c80de6d11daec666a507a5e7828e52902881d0ccf4f324c53930e0fe7e5e45f9306b61b5c79dc0dd033e33f5391ae13fcb8e719a1d8ee68acbdf90a4ecedf56dba6ec5e5718651ad8dfc21a3fa0380cebfef03a13f2a973f379cf30486fdc0cfb9a0e76bb3f4311628e4c1e6ffa427438c3c5474b23be55bc875650ee7ca540f5fc513d2d33f26e2a9ad3159016c36a258eac6308f26740b8b00c177ccbee162ce66327cfbef310fec3cb0f77d72b6ac89ce857426f8e3f915287181bf5c8692ab64d324ac9124cced82130da03711e4cf2c71244ff4316aab84c07d7a56c6a83893f4210544268860c8d4e92a79f5c919ad4778a1e1d20e1e547552c5ccb51f3a2a51f3d47570e53a95703814fd444c9ac760071000424faaac3206398ea29d5676d5568685a5d8721e71e28f6db6fc3511b4fee15a73bfc793a61ca914e57155cc36f7b7027381f8bf301fed256727d987d31aa767b75888eeb171c920427841cb3422a8b764c19aa8c3ac4b7d071689e68201f12c347022ec209205e2a273a870e0886fb3a005327e64677fc6b093a578524faca1e5c4a58ea471819e35e9a5a29036df7126d37499a3f9e7dd45344a8c64978f2d83fd4555b391b522f050fe54a1b057ffa1488148f04a5bda700500cfd2526937354e72deb20183e253a1064521863c3885886e80856309b280b42d36674c103c718793df403c87f7e5fec986432886fc9606fb2bc637f935825f0604865e23df52782262e5812f268364e72aa497dea1117f05737266d6db8353e5b43090b9bd22a4286a50981171642f75b9710830e010a109e3a1cf334c96a67557c40f21d706c5b9a9870f5c1730ef3569009f0815e59a5b85e12cc24411698af1a35aebdf33070c6d118ee19835ef28d1e1582583077fe710a53ea63401608abcd23e02043287e062735403fa9309f6ba31ccc7891523ad2323a1652082f5922502db0a530163d4ca45e8034c5525ab88173b653892888cc9a2e722bbc55a6d7fd1f3356d11d8b83b9063eea95025644c50ba7f0b170a7cbfa4545448f5c1cb17a18f2ba5d4f2ceec809320e6c448b599147a7b9c85bf92bdf2d4ea49d545c2cd60185d456458036ef17f7399c0f4c0ead54392edb043e9c866bc712f51668787167aebff63dd37a4d2168b9f46fa88c6533f0d1e61c97786b46c440d405c1c4ff51031f5c755f156d694bc3032e792f5518ae7d9b698bbe5b59e58cba38612ea471d21cd52be3d3d44db5ceb1187c87a0767ca37f611a4d13660f27c15c14b9a56aec131b3620f7862d3519f3729f64603163d1bb2e1d4ee74a03eae6404edde66a94836f1badd77049b0bbea777cb0b61d49a22e6043a17c3428b3fa039a9e10574f86086907258615d4cb0a488c2d9f65689a4239e4fcd4173228ef749d688e142f0fe3497a1b546c3b3f74713f972119f2fa96499a6b7c69900c062402616036736f5d2f6dc020512c9c9c32059ffe0c37cdd7717690802c2532577212e27764b014ef439843dd632c44b32e86b4063171a03d3481410e699115eb6c9038eb715a84c2248b52c86f8c12d1687cb50e5b57502415e569d8556fe9bb1713e36e255da9934baeb1a03aaf636326799c48361408a54bb01ef73b89bd4b4680607238d7e9310e196a8527c93e840007b286198c8fb1688bdb0a6d0a0dcc77000000001170775c79c9ff7661433866dcc9be6daf9e9167c280361e26f8a74ad2f8c0504e7b9c6fdfaa9f65fb629a3a5f3d2c35a8319e767ace6a443e96f6476eac8757cf8bfa06c2e7620d977b92515366296205c72c74386b210a9e79882eac5f8335532cc25f1d5d7b70e9cffc2f2327fe24e152086bb2b17c30c206b325aaeaea37c15633225572d957e04862486695b673812dd818e13219607b994932e7f11600ad8f3c3f7e69c2209a01ad65aa84e631c59a4936ea52bd74123eab18fbe4f448caa6dd3aadcb9051953fb02b9b9db953a34fb6590f39cb5b830cb70e0498f273648c911ae2b9fc2300b0fe6c05f674180365e20f97c96d3cc4189024542de6342b30fa4f79bb311d25c2655624bbd1086da01c5da0b92313319114436c8f8323dd886e574f5f1d701fa6c907f769366e2a2c425e4ab33e0e700ae2491a013f63049e80305559b232748d1b53ffbe35117ac5e046b5a85f400860b10b9ee4e04a868661650466ca4c8c82b63c70836d38c878854a426dea19ba6ab7127d8bd70dabec5474909099278b1c8d65a2d7961481bfc8559899565cb0754d12c861a33e7c7f082966290112cc92ba3cb583fb145084e4298eba9e1f9eacd845647f18377452cc4700196b6e49e22f4f6ad5701d2eb42e2105eeef54270cbb19abe471106ba2896d6d2ddc0e3ed1a47358a4a11c7d9b840df4461008b04dd2071c317c51c14cd07379d67b3b8f2cae6c8abf56740ad69154d5e4b02eb8f95c74ef215a27da69617479b1cd08445f231575051d5350d2f50d844e8a0701b7576627aebf35bc6fb140d6d5a04f4d8de125b68fc9605d34f439a273ab74a8b29b43d148641c48e95c2a8d20e80fe6460c1a68ac1f1f4b9ee576f99ab82204eee841e6b5e92b1f46a9431437024b0e7f13579aee2f2e7ddd5f3d692a9f2e9dc6076cecd83c0a5ab9f422a44c515eb85b5c0580887e67dcbae058aa29f31387a4c61035d7de0403df3851fbbaa4650c191d4d8f16850b47add14d0851c06f583185538d44c03b55c4416858a6f66fbf33e6699097343c6fb9a020577d5e1408a5ec0daa5c8629248d622f76e5bc63588e9945c8902165fa201d5c90e6ef5a7a3cf5407104014965866649181c7b04b62fdd261deb8f0af69bc11fc20a7c47120558757c142c3dd9076d127fb6e404cb9c9f599ed70e4df905d568d63a71333081210eb4b91a71918c2a3adf0d454a4d5f0f077c813c201dd06c285a4e980f6b6dff1f88700e2e1e19db1b8626d70b7423a16f1a47e306a933fa0e89ec5969515db81f881dc607d5d72e39b32d1044108c5f2441b1da22dded2202fe022b73aac13d04519d992e15d9ee4796643d148d7d34694ae1b803c95702572a729d120ce647241216c950b62e110661c45b425930c2208eebbe1493d89323e0e11109797519150a49d461a92d9a615b8945552db2d648e41b7d716ff24c35d4675e5e20d6804a97ca9e746f84f932477cb6684d60636217da11203b17284d9b8f8960b9bdd63c214acc242ebfac1128c9f24a8bc0ba5554e4ed42cdf298593bd32c40342106757ef796371a7f7d3594cb7c5038bab0636498882d19867d5814f268051eb2cd2dbf0dcf2c6505766f2033d841562abb5f65d52a620e9ac33fa9c68a77b8cdd90117614367f931221942ec70486cbf575b3e124a2a129b770826216928dcc5ec353f085717c7921e342246844f6a06173d1c97d935d2ec445ef4a7e63d51f0d0209915e0684a20de4a25b74b4dea588336e6edd130dc9466021a92312de099d30fd2caec641f9ac1299918494b406aed156717dc12cc7d0442ad4eb55e49e59843d7c5d72edcdf8332f2af5e277a49f46ab00deb6d52364025c5d3c73789ba0333fe1f465739d204053757620c9a249e71a5463c41390e2740da6fe6375fdb041e65c3a822cf1dd96f5890cb3442bed74e3520ae2182005f7797d06453091b0d32504dda4ae6cbbe52d820c61aeedc546d8cb75a50620e2b4c85f6835245145c6b860380726f13ca0c72bd765ecd6ab073c1306806032d18203f255c2cebe3aa632d63b12143233128f34d1f2e1aec6d7038762f00e5e2963b2023c91d8bc3b4644c804719ba330e221816c020d28c832c6a33f10515e129310671db269add424d55fba1591e274b5e29e3aa1695b03417c0387a2a8ff71a690bb043734682c840fd0c7c211328496741ffcf37360b1473d93aef0952f3e721dfcceb618e88ca7336817d642a5bea5dd6dc21695d189b4466eac71266df0a4d82b8db01effc845883c7f9144710295b9d5c7b0bd48203340896e7675f12c42a19dc91297e620d2356c3c91192b2f674d8615a1a34501e56a19630080df1851295400f3491e2a3373db4b8464133700e19f2ae066738626a5816445df2b08d68e4a0390d8be64b097875b36581f64d620ec9fc71c4d731327abad0011481df4ec1946b66c7519a57d72744524a494e19192cb06042e686704d078958032623576d1473061137325b10346d0e18bf4e529e8899504bcb7c36843e9b48b3725b1c7c93b209d03f4d5a87209824fd4f293d7407de07b2d2791df6e8173f9697a853653de509a8cce61e8fa77323b2b1cc11eba43e404d0bf974e98c5619065d64633a8a496ef12879632fd255385825645820e71e1672760c71d75d4726d531d818cdf6514cbb002328a204bc5ce9381a2817efbd1275a9f032eb0b4773ede8145b56c90f388a7b9d0822c5265d58e44e1d18939b57c6d77949274d74495924db1254e0507109f1d256a5c6e6071964b104fb780c2132dc89633596550286d5331bcf6ec3528d66594e6a482131a306f01af913816ca861815695bd523788e5350e3303c754207d99615571a427814aea2f7f738437db25e06fd3093e6cdeb17d5087f8c02131f4f7085438323014e1c81ccb4bfd106b619b16629b8f756079dc5fd1fdb60186662330162c07588dfe526ad3711c05dae9881de215a40ebc35c33e29abe7116684475b2b2f5b10a5edaf6cd523da73b8082e347050a836ce2af63484473d4c8585004ac537161c87ff9731c1607131203ea34576d1d80c0acef270e2653b2414dfc80f6af8f81fac8fc66b335dac125e7d1a77d3148c515faf963922e2d560a3f9e853d1c04025a8706d127ed3bc3cade32b6d406e7b1aece4780eb718ee5a26916f55f1fb244ba12e7b0644aebc2a3f0583764b90f533816c1a3835f55a5d9ddbcf17c76a7751a0ce873afa1dbc062bb8fd305fb80f7384b1a70b318e2e1b330c0f0da3da4b1bd5b3013c089077764e670825e73a803c333f704786c9ee5231ce3d5a1c1f212f034afd3c81f1162d627d26310c5ca162131281769a971812634264318b949a04e209ef02495fff4802557c0614d3fe17b7e5f02c27a14e36dd2b9142ad171539463da90572bfad19459307616188d20f80e60c602aa3fb010066701d5029db2563597b3e52e3255deb0c0c019164db1dabe2a13974d0623d8da24e37f58c2b20a575be74befb9b70e41ec24976677110c5f8b4075f8d8331116d3245a87bfd1e47db9c010057021db62ac83e3115ff13f42b484730a3fc17028ffb6fc827d1648c0be85315b05a479396ca3cfa3e51024becef014eae52371c850407179c9e6e58199e6c288b8c59ff5b2a26f8e75e12a3895718c07f53113aa8fc6e570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c99654639630646684138bb16f27b715a3f4076077874aa717267044751142c1985d0b50cfc85ff6ee944b52569d5da24bc3e814f32aa261d545568522706840c06447d432b9b4d0f539f3114901ae739f5e13d361c28352728dc0134b7342e4e0f46b51d521d7a1b23314f61d078a5239024323c5a695d69a14d371f0280f96cb01af82c9b816d5c7ef1ad55140ed62ab204df4f01fcdd2e88876d4ab86f59562afbb0595ff913567bfa0f2979ce5463665d41352dd05c4ac71baf152204bb65a226666e856adb652e440943e12be65a4c7c60324a84914f00d5e93cb567e9496a2dac69bea1ae6253fcbd544653380eadf34a1e85e30840eabf8901587c4f27d4e69a07bee0b323da25170ba6c9d556e1c5af4fd60fd43102f1203564aaf0560cd6c32ab8e3dc415c70510ecaca8d55f79a4e1ebea5be37fd38b51aced9fe61b10fea71a514e520a9fc1d23ec839311a2c1b97634337428832d1a4613b75c3134934b491fcf3b17fdf9ee30b0efc70c6bd29f758dfe45468fec812e5111397458ed10055120c106a1f607569a96a811ce0a641ac837cc5b73714305b9a09f609586be299cd4830fc6b10460dd024a71c337a91f1f8d4d3632575e730086363bf4c94b476e64c722fe8910000aae35181d727e35b085af00ad3a5b2b0d6d5562f92b5e4325bff6466917121e6840eb16bafcbf751508d74d8052766ef279371504fb9a196f1763593c3da172c45383654107c03c8910432c3aa1bd6bfa9b4b6a576e0c0d2219063009a132685c4a0d24d3c71f1ccdb3bc25ed95302cca3fce5bbda3f6707f8d4a5f2944bd0abbc7b67741f24b5bb904096e2f6dab3d6bfc3756943c0e0012552157d1d9982011f1e2433551bc3d0b105562f9d28961dac82e2a107da91d3ae60a5cc9e09b3268bcaf3dd44e7b1fb94fed706c34ec47d02dd518d5cd112128839d2109d1af192b76f66dac652e29e23b5362097de672311ab354e33631008bf542405969d0354e18b476165ff2555f8dbd1b3c3444498519d64478a52f59dde58021420a6b68b6d26763c31b647614de32481c9ff4599d78d32985a18323ab5d48688b00d507384a165c1924c158d2c1c3183c20d80bfa01930329dac06a731ede0f3c0030534e2eed4f87c5084a0d9819691d266f13a667d96028c88b4e4f03344d0a906b47ae44306774c11154dea960332b767e1204860245701f02451ef0e20b5596e664239c4718dc5c695efea79531ec9dc31e094a8857b048502dc7315763d58662251cef3b56a975f25f041ae84af330b729b67ee26abdb6a90eb3b56c0f8c9f3f17f9f12c0011793e4bd643600bcc81752611396c2ee2dbca466e6b6d229a3630462fb57a28fd668d493496cd028fe6c73b19cc6d6942e4336dd2688c5b2f00720177e4c3144d88364e1cac4f6875942346d693d369887f0f60de07284276674a698189ee09b0bef419b5388a4a6494856326051733223ef644116d1c0c535415368fe55d136352b52a8960a526f9e3ff74dbb0451c5355aa560741b1325031086be09ca64096911c0d6c61c7302fe37e256a73090891a9ca601639b329ddc97266c40d185bc5a0a24d2f8d164e3911e348c9740d0c42ab402428296843517a201602579e1e88a78c6d7552b91d5556c618a803075b2a44a15403a3c225bb37113d71154b63a168ed552d32d827232e2557f7fadb2cf51a974c33a387151c299f17d0976642fb8279166bbb7856a1afbc4673edf766e89c3073c3929f3f46d5221147091a383bd9d5206387aa3beab7814272e1287755fe09646704cd16258275544e4bfa4a94af4b25e4a7644bfa11774bb0332e16c2d7c00a4828a521f8511a598ed31919fe2da363e2faeb53008cbe0fd85b2f1ef4d55e6a5a06de0d56754a03a09ad70587df950ddf30706ff8bf2270ec804a00ea4ab25f47360814b16e091ac75ccd2e000000002ba24e435c7ecb48ec08a20cb68791064f5f8707d71c6c0e1e19df4282bb6241fd915e736e6e3e3d10fd380d500f381c7a0d894dc620a0720d0a104efddf492d1295d810b7c4693c42db8253f9c1947234b46d0a70aee258bd4d8441f981b005c9906b59e6083063ce47fd5280d9be4ebde3cd190eef1716d8beb61fc853d93b24ae6c486723e12004214f3e3da530301475eb03a1e2f560c8b98d0cb82dbc5bf5688f569a79ea69f89038402032f9196cb8111f4d99074261c0d915dbc20f125ef24343e014171bc1f3126ff16246725bfb334581b1ac56e4755d5f0834466370e4f32763849d3ce223de1c9102c55d7916e14819c4b206048d690b68874f2677bd4338b62dfd4b07324c37e8a3692c32d88d570d54623fa7b30349a3f2fe1a89a46e1ec387ea5732a3dc74d9aef93cc70d9a66b456695b710d8f3f844e761407cbd46b26b6da1640c0024b9ddec33ee265a11c3ab9b43af7eab56771be6e30a5fba9624f07e6034bef4b50b14a221b96d8b8767a80ad60db69bb04eb2ecc25b804a10e86ab7a3a941c115a6c86a2726378480968d05e44d87d632d00328f40988450691d9d8f6166e8621170ff84285070a54df5c97d2cdc91152594d45b180e00ae5908b9333097521a236774c075e8a0752fb355813804a9c100f7d3f917690da2520f36695ec84e643c7335f63797ea2621b47e055e976fe04f32b3fb5baa1d4c47ddf6b11e7d39f2025664f93cbd4d212edca78b0110542b24447dd51b3cdf033d9517493aff32ff035a489526b8c9772a70ecbb3c2efe5a582a89c858af7304031d9bed74802ef45ddc25784bfa794a1f4945c6768efc734f0bffe334c678af4b2f12b5329486b732ea1de40a101f3f34c17c726a11a46d4eef2c501f3b513730b1be350fadefc824e2ea882e24460b613644485d9c6e943f230bec074e9ced2c08a8461a01ac04090bb68646e47f5a141c92f11b1c8dd5467641591ccc53b53ff8a5fa55a376f55df49dab214699e74ce5283d21fac3ea3191dcf32e2b9adc5f348d4e0a4c979c6e0606c97183d05e48f03d3064bdcfe9029a5fb24f41bc4036f7342254a22fbd4596e5d05e9d55a12ec6acc20b64e3f718b10f1628120a6f55b4ca233f49814a0e5a4a8f3c6f17271d23bfd94bc1554571716a04025a7ed16237a858296da30332a70d9d0dfe414f5a5d1b6a4d13aec041f430385bf9631105678edf4091020f0f5af7ef250403512b306da62dcc253b489683e707f2a5cf58b977274a04cb105143fab636ced90e0450f47f351f9cfd6c91fb8d254ea47160bb4aeb6839af6a1c78dfce066a50aa421921844ccb82d60aea7edb1a7e2af1514d474060900e91625141462fba58bc0f097fc3489cc7670dd1ad102c79467b51fa810f29bc86074ee9054431d9ba136809daad0fd2a0e914324f883fa194823eb2364b4cf02040314778d55531c7801c84d597239eca2940a490bf1cab5ce12535d2fd3ed048166eb30127093f35c603d6d3b91f63c28909c3edf96c735d32489048d636e91c9e63fa7a556d4bc08f27d7d529156bc69a0ecde80b717185f24eb3d4e32085cafc3b485f0a3cb2b1466049f35055655d6e0c043cdc10f2424117cd84e331bdba303208d2014d6e4a1669a5adfc03737d3b47813e49704ea0676b03731e4083db4e3c0694625f30d9e622f3804a72281e7a324d977325c1a0d30a2a754956398b54336b3c500fb78c2a54b389cb315b613830860b5151f6893802775f255d8c56d30384feab212ad9ae2d604e773ce4b1426a03639856448b734a7f539956824bac422b31b642da8439180d611b30afc7595deefe91512ef05156bff761119c5cf7688051415a36918922a6bc4110d183a24600b9c01fc17ccf44f8440b1ca3745a7355116647e852995854d2a1665a11c25e22ea3f0b41ffd46c1a48846ea1c6ff1127de8c13ef99eb691123f00572ba5270bb7f8a31977c3c2cd6b9ad3f34d48950281fbb63b6d7804a61fd80143050e0753b81986745961d7459e37b315568c61c6de5915cd4c9c71568183160fbb74e69e5a17a67b55b5225d440ba3a5b36c21e45647b49994aac6b027aaa4d9c475559e7cd9a59cc78b032ce8e95600217d30d962bd116bc1ac67301e4023de81d4a6bfcf67a1fd29dc76320c25664a89e956f9f607f2c4f4a5174090036327c9259468e93371eee5f8262811f78264769e756d4e10c05eb245f5cb02b6362c46e97592ee6c0485235914d4b458f1dffeac929b9151c405f9dfe2af19bdf6e10c8f70a0ecbcb712a4f0a004c35186c98bcfb5cb72fe503a3c11476dfadde4de909cc24bf5d9a13d8c6753598c9dc56093a5c344d3e971003f0ac3d9d08c72f3bbae91fe3f146252c7c85123c45f252428a223acdcb8a44ec5b9f1670b77d126e5eb0448783710072fb1673cda8262010ad9a0f98daac2960194b083bb15126d42aa63365999c494e796a397157366b7ec0b757ec322b27f37a5f61a006d534e5e07d6f9513cd73f1827e1e9c185323229cdb3efddc574150014146e5871b0816303653632ba656b508200f2c7260198278fb18961e7c2c14985c368d88294952272045152cf52ea4a5d339f8c94c2187f53a6597c0022e13ce5a390a0398204073ec419c4a3e598705733e0a3a153d83c1455b38091c4eb6ddc51add882e6a418a4947cc16ef7327cc09073462f80ce7c6c52051a6866b80e3525efb70eb578fe61238593d474f278f5a70288d8f34542b501ea07df94ee832b90226259a0db33e3222f54b09217b64230074af7c2abbe0e30f6648612b461bd924526704711a23542f862db6245dc2214864145804a2e6b04b6fb0285cc181594d41fca92fe6fd160147c2f93d0ccb7136eb62db0e180a063ebc7b6e4d5285ac3b0449dd065e9d2042b34d64636595025f96e981393c7e1e39ef35c61025275c6c05c68a0fd028755a13ac5f446f9f091f5669515814a6a2560622ca3b375a362da735f45a32daf12a75f44134ee84821e71a3684ddecc58343915a90d685061439d9de4347fb3824c46f88104d611726faf01723c4dfea144e3d352586212f233f9b9c535628f612233509328852f674675176e4390d90772d1488740ecb53453cdf39809f8285547547bdb1926dc2d6160fb531a31d75948fea6112efea90c4ea7596b695da66d1ac9b0192424fcd134a12430696c660000a338d4265d60ca3077e20143fdc5f42e7557ba48f5818d6f894b570416518d56ac9ef702fc1cfc5243b4e613c85c6a3d257e9e04b2f6342d5d03bd2801411f0b289d2d6484b3334ee1febe6c88f55c09b25d4043ecc7133819458e66d3828b4beb9f1e545869f65d776ca56cf7efb60eee7c033c4bb3e520ab1b1b2c6c27472a6d314341e8f60c1471dbd950f064ad3ca196174416c45f32b379dd5ef2dd8a54f89d691d851ea44ac4558825b2152772d16bae67468dc25f640cb669fcced24f7ea7fe11983f81059586981149671d5ebd710f0bcb211d69a7c2597743b5c430906f6262dc485a67d00f3b5f9f8c7a5f70b1996c1d5c56481869f829ada2624ae8d84c70570cb32ca66a2c4b9aeca45c3545d72433ac03157747a73e5c16e83662a0ee2387af016aaea37577178c0b5cec49902e8964146a2073975dbba7053950d0051ae8b44062601f2855a98edd27275df039490d7d3505acc131f3fcc12e0bd1013da6824d4d2ee76375c9b56033f53cd41aca19391a9acc254d08a9736df8bf8701e408b017eaed4e15a94539092a55ed50bc52d71c64b9b4740eed7974479b3d64cba2a642b9e5d94841e7290946a1a20635e4f65679c8766b1497782a75c79176f3ec98273c3a4225e00bf865799c0e11ef51792da12a061fc92b563749e09b1f45a1580f4a8771517c3b77615071023e779ad12d722fc6569d66a9606c9efa4899263e6ee493d92fc8db4c40a605bf6b07be681574ea5c6965b38d60510d1e77c33a852ccbb3760a3cbc053a555dd231756cb93b358f0a5b96eb5e58f8ab6b34f95cee256f0309644b29bd057ce1670b52323b1d83714302e454821bb546b4260d82404bcec16f32c97ae70b75eb3970a53dd02dfcd87c5c307f870ed9bfa9180600393bf37f0806e048791c20306c051edc8d31457450281fefd16c5f88ce0807b493324a4bde3c12912f3e5781f41ae198a62d4721cf1d48891f617abfc2154f9d3f77d55f342a5164f1108e80ea30cb132303f318a41ff2c52b46f9c5c83ba17efa604c4b1220bf9e2c15ba913d26d2d32966180c2a6047fb053f51855650f1a95e022e06683bf8e719075aa04b5296d6e733100a5b11990c091580dc4a3c719eb7186c0b156cf14bc10906405d7331310559bc99066adbb40d586af93612f4e9e8036ce7dd0910a6f562b1989d47ffb0ac6d14fb286512b22f6a384d193239246424a07612338e64840c7caf023e563efe6e82b45072f8d0063972daf234b5968414ff58801922b4f418e1095f0c3e1f0402bfbdca6ba3c1f80cc60ffe5ded914e5e95b0a31d4b81d8100002b435d5cf316b25349856a679c90d8c9f37277a7cf012f93fc414910e282288f41325fca96802180c4908bc22f769ba7bff33c4227c38c546082fad05d9394470b7618fd84807da39f3524162db0d81bd0367058d8959b2813a478050604a17bd7b21f10e6c4f9337133586628a566f758a1a1d6d1f2ac6eb820aba48fb03b693716a2f4bcb68e8157a5796bac606fc1af412e8580331ff412802b00d6c259a233f10a9441767379a024932da003f11004349a3b1cf722610b2576c92bf75575a5270628eb50b09d3ec620ec7ac430736096d806a9613ce892b0da156a176c7725b1ae099ca6dfc5c042037c8291b1f414855c23e1c67bc0db9775706691057a97e3c6aed5477d185d7522657351dea416366a337fb72727360144db8a337773ea72e1c829e34628e8c23be2fa972764ed66a9ae1ab507040dc4f7a867c169f55f03e8e2dff604f76292a8a17943d562c7563fb16b25a7cd5822b0520c173a5729a192a745826dfe3971be50f6d4be2af496f0f59904e210c6d770e1dfa73e9b5f8251f03b52cdefe5d1fbaea755a93c4e22dab8b8619c947213f44efa156eda37153f95353358b07a11ec78425681cc4323925202f086777745d399a0d61c1313848bfbb391f0df62430c843d310fa538c233e14766878a9196c4460580734e0431d5d24e82d66a4da170e92bf46089e163d4541bc10b594e4352e6cdd508106560f0e305055bdeb0e039c11c0568d382f57a6bb9a2521465765365e210583c0667433129a6aeaf81e493508a048273a9964b5d81d464073e40e34202173286ae1601ec9db535f2887273c17943d6f31d96780059924a7275b55589c0e1150b98b7305511e1a5097ca235433290393bfa3636e14091a4223e85bd92eaf51320feb343a9a8c70c10e9e23e1a424444bcc3d2d889180310809522ca9fd9412cd9333149ea9b1012d42e706ff4edf53bd12831e71cc2b7744e9e0234c09f4523daf81231c3d25179e3d6900ed5c3d271d0bbb18cead222e046df2632f62f41390ece8090433822cda2b3b5335255070b91a510d6be5dc259a71355323d3321ebae4b237fdc85c54351b8c1d224996572d31173816ebe914ef1a4969275dd2227313073eca7eca19d51bb741cade2600c2fb5723b25ca75e9fb8552031989263bf3e831f1c7a67566643a56600000000ac86ef467b4b73215618ef43e3534e6557e0fe41280f97016c158c0d157c0f21a0ef6456a8d5bf0c12d67528df164539b26ddb0afc8dd322a33a3e6a02200723734d453d9e3d742975eb4a1191d60d6542b5be094ab8d6107f554d68a56d9c3b2a186f34e86edf653f179820be668f6d2f2ad145380079205916091f383c6762e7c4583722916964b60ed742cbf17e1c20966450c6a4a8753345bc2b76900761143fb63148cc902ec5b46a7589ff720dcd89dc206397450799dc206f75d791624b25273d7e3aca2a85060f1f57fc0e491d6c113579900f54ff4c385e6148e935be01701bebe1d740ea309b206c4a803017a72157249e4309570a54345db6bc5c824ae82da78b8e2ae17adb5d2899fe4614af9e54cb3c4821648a5c6d677af32f74926c58525a360b9fa4bc4228ee6317189b5c1c0c91310090db39195a1adb4050658c743abfac6d71ac302f17fdc22ff612d1323c20fd7618138c634353c1172fdb3c5583e2745370f1e7745003f56ec42a2d6cdb18cf18bb440e35251c9847073d9c11d3df6649bf6ca80de8d0c81b0f610414edca824826ff5c040382b9316e02bb12863b5466186f1c37f2481d53cf4b6b287384f21a7f095b654df70f34c2dbe06753ed9f5ec00f444e0edf4244d57485063576bb5cabd8060a79bed957417fdb004bd2d906a452d335dee4886d96099f1f830e4b442ff8ab609f741e5715661869c6bdc756dcf50f057caaaa25c7f0a41dcef80e2f23b1c065a170be4b1897c50175ae472ca6738e315391eb2634d18f06f2703623f423142646cd20105a916b2dccda6955fe493e5ab80a581b13a95b4a55f4335cea287208f858da4ed420992831dce84bd8ff6b4fd363650c34a4fa2a3bc33f0e8dc4a84298d6222538972869838f4274a8964f104b62f848aaa9d222bf8b8d6862dda60678991e3a5ef15d4d1fa2c338a1e9944d2155a2340f37fc6e45e7231595371d579074451f9a8d682fd091340f6dd27b2a40f12741afb1504105c8c333034ed934a1d4952db38b412362bd7469ed09d153bd943f76e9d6ff456f2c787396103318c38b944e0b5e1e4d6c9a0923441b6b0074ac335fb8e613759e75d410a9c4206e0272331c705fa86826b176693ae1ef02fa522d359f9155136097c82223225f5a4469401900807624ce0c46127030c42cc90ec0275a412a5ad7e77b23b67b681d0d3d712d0bddea77bb8ee9761e59d547771238087b772816923dd6523700b11bdc45110ff7ff6858f5d05f4337a5c607b44af506a12049389d2ccc7150a34a68881d36391dc2ac11195af65fa5f9a956f6e51910094a560aa002252f581d6a2c9b4bd46ad24ee7693540d95636267f44c41cda4273266b486aada34e22eaf23553a4a95a6ed5d11469d8bb615ce8530b9924700190692b4e0acdf40846f7553b9bc7604d63ef8912ed5f5e77f0f3a96f41820c422bc0b02b5dd68e23e791344b6856d761716f861929317810354c36779535fc06a557f84b5c09261ae9ace02f0184963071232616f7491e726753c66cb57c01302d45e93586d0ce466d047a4ae47c343ca4ee1b62688260416cfea3537c7d2334ff2a79517f69626ea6ed9f77eba47d4954b0a46dcce1b12af6d37338b011496dc63aec1ade9a872c73d8cf0de996ec58bfaa79607b63190028f96b2f901b1a3f50fe5e12955f9146320c9e0bc9290957c21e18443936a41e7238c85f853a94695c68ad1c42c3bf0b78903d0ba38825726e95f514729f1c6d5015d46b6c5c7407af2afa70f62c310f704aae07e19aff3c33b6332ea95b2a0f180c7028c532a2529700340607319e4b40874632b2a1a42858ba4b751cb11747aba0563f648b6f588cf6e374cadc54391f9c3308c64ace1e3c4bf22447819510c5f3eb57adabf265e412cb4c4a518a2ba7acb13878b77a7463c9456c6394a95d3baff85d6f52441e895dbb5343dc4c21732a2f6ed0b8b639a3a2735a6e9a2a3fe6ff862174e11a2bc23c6121864a1c298835b1384922141f88e6ad06dd2f6f22ca73cc2808adee0ad7f2d404bd68b455ead2694bf212f0696202c2776799621762b192023ae9f21b0972f019207f5b60093fa61ededc2f65fad4815688bd29767583136bdf4ba00afeedb95c3b18cd752e1c813e518ec7500d84b93c40f9b23d9b45102234260d678b9d640f31ae4f3ab9339328eb37ae0c452b2b131622a310727e965f01ca3a1e681240002e741a3fa23d9d040358401185941426f57e7e3d6ab12f5cdaa8d8318d8dfa417ff48608d80a46201ae3555d117e0277819d476e5ff67d41515c2320420c0f3eb0087d416446f34b038f9633bf1b963661e64f70cac22a376f8d084e08d23705d6cbae6445ec935199d8fd73f346f17563ce5d6a1d27e845a32d9d3a5e813d29cd7aaf6843f8d359e7382621931d691f8cb27e509680d471a5e4454de79c904919f0f556b7717e110fb3894338414c6de780be36906c571a8cdc0e519c79db5bc9ce7d4c1a96991ffa29d6089ddde6714ba9e454725dec6663b7bd5c1b58fd6e0ed9806ffa9e12641cec79588043083f0c531a29660da6740e2414554ff27158870bdb1e4eb07e6a166b335598573d647dce1a1cb56e6151b1a63e00c5891a1f5c3a13506bde7b04e088ca3de639233ca8f90a24e58a3131e9c390365e4f0b4d467f1b3c5b8427418ae3862249532e62a0b8f75da310b8196f6bdd6d0eddfa194e4c40017584ed6bbe1d7b2839e7013f6a3be81bc3cbe31ce74dd35e1ba53d31c4010d36037ffc30bf043d01367d4132549c1b73d7a6334abf9ecb57cfabb174d9d1ae0acbd1e16991212726ade695484e98c975408b02618440eb4a9ce1ba1beff94821b979ad1be47e7641151660139019bd5dbde5676bff65de2f6ef8db1dd6c7836fc5a3424df9373d1fc7200642ba189b16fc6ba5700d5fa70b2aac9e6e36112826e7a3eb4dde47e112f69558580542fd557420327759b84c25295e265f01bb322f112e5513b09353348896042fb875d3071d1e0264791db742eef60275a6565513d19113489aef5e33715ac555d1cb9f3f8c7e7019eb27d96771818c0777ee0653d1f9dc2c939c3a3eef97a50fc1f72950201fd81e2ef74f31512380714e822d3fa16c670094d94c5d49d4d0392cbc44097839a40cfa69a452ef4630438e01623ae2f60e33544ff801b230d05cdc441f4ba18d3328709c4a71cc864c0044425851c034bd4c005fa1331ae2df542fa1370426e56846a30cff30882e741b9389d3436424470339f4fe1703d26702407a58575319f51ec1152f4c00be351dc79ff87218fdcb028dfb8945c713502c861c84365c1cf8466db747655a684973aa91a967cc16fc239b2c3e580350d717f1b12656a96ff738f69d6b04101512716e0edb71af20f54c245d1e24e174de011e51ff286af56a13620c66012de0033956e1634a10ca69358264930122b7f449ea46693678cd7448a2ffc86792924924af99262d3b68f13f7ce8ad241f29f02cb9e69d4f9885ff43dd014d76ecb4b25c24bd6c181567915759212e08f1f7305d142eb72078bdd41b73973e40a8832e19da3203412a5c1d4c74dceb0967e572003db6e74e977b692469536d711821e5378d876f29358b191ebb16ac2f47d47856cc88c23891902948b5efd62e0df8db2a2f18a5319d2d0563110d4f0ed5efc53a38f64f1e7bcb891842939451ff119316175d693b6b05b16bda50de4c79483e4a37463c459273c60981bba0354ecf64291bfeb11351e5485e5a997f768b82763580bae6268e4ede17977c5743d5b6aa53f6c2f4208ed3951b3a5f7743981e7821abf65d15405017086c01ef48e8b4040047fa0940a19a88533d4a9e46417057039368a71c6d71ca33f60e5b15fd525b5894c4cd4193690b0ac4c6cd7405bdde2e7e9f98016c113c661bab3c1616fd6e6d5c18643d43e94f098a9461305509972c86bcac5f52ab171fe09ce60c08c22700ee19d304ef702d498087ba28c82cd851e5b9a716ec232d4721be2c2bf252f619c2233404b838c76f3c321143397d8f69dc31863f07cf0e4c373c0b6279db3f696e9ac429c3437b2cb8c3e82227eb8066524d28576a24f15911c6095cb2079b65ce10305d5b69f836cc5ae24526c70b1800dd7268a3f51b5aa3ae3b69a50e5c3f0f0a485c25d1a709fa219e1e9e4b37019567d9546a375e5d5f54823e7fc4716d283e373b6348d529b042ec167cd12f5c36442a729e00fb0b93fb45030af5a72e6cd5f15e5627cc3dac0ea05c0abd5b76ac47f70292c47e5c5e3f9567fd3b0804c6da4953fa5da45325242f4e614d96209d008c5d63dfb046e2240d124845025851c91b2e05e8aa0506405d7331310559bc99066adbb40d586af93612f4e9e8036ce7dd0910a6f562b1989d47ffb0ac6d14fb286512b22f6a384d193239246424a07612338e64840c01e88531e1554c2471db7f2e3995704f6c2d46236032f916a5dc5c653259ee261443d80d7f157f0b127beb257f04170272a24c33f00f3108b7730a24000c7701056e0a3c78ae9e6c76e79d25bdaa90166d614a1a4c43183657e1087475f93c6f531a8c1112c62f66b3fe7200a4d0c75f60aeda577b8cc429672ecd6de986f36b95a4b026a5913062e00d2d1a6ecbdc06ed38aa33bbc155196c943118c701b84f235cda2a5199da442d15711ac5f8dd1cd148dd266093556329c6da22edb01b031071892243118e441d160c1ad0e68a36e3960657ddee1044bd769e3e022a1d5a1b773727c368595e263907147bb15e71699e911a07d0091e2ea7a6707853f248cdc9b73eb5d685461df166149b89530e50909f17b4d30f74a2f9635245e1243caad51d04b6e341099242fc33b5a1783161f8a037d1047770971f1b7612ff9b41195a2826c143101ed3249c3a1afd8d22f670e770b49e10610ec40f7158544836f0e8482af0b9c828222af3174fb10a5a2ecd4a4267c8a63b8af48c3f7f563f443bbb36024846b37796be4b1d0d8a8d507e331216caaabc1f826bc90da687d660e0423736ca8c280b305e4b72d096661f30c5d41be80c4e3cb2a80e42f0853a21f2eb395aa2c81d6a42e7881977c6784898f2c70283da8404b9136734da1ecb5d9e17bb1b67d0f549e4180f49f06ab96552e070678ca749638271a00489294e3a4ba0af0ee9fdab109418210b30ffe50d715df1603cc8a1646d6a08275755a71208f38f2dacd8c063e1ee002dd13f812de721415efaec423eb36362760d1bce0d69cff527bf81f6661f46e25fbc04a84742e6f145a254de5451456a0288fb9d5fb498cf5207565c1f09888c51590ccb01fd0c303612c9812daa70a86ac270d563cb31cc40224f866b6a53aa6dd55c0954c7baff5ad119022aa60def4632a6164fdfc86f271592aa53b26efb546d8f3e3028d6f8339c634b0c3d1e7104732ed24f0693ff12c51c61586bc319421feb9d1aa10f36675117563e72a5ec2314b2664d6d95083d6156741f445d7f0cabbabe5796ab50755d3945498ae52d765cfdd55a30549168f2a4ae5a236c6a3d8bb6d75e9ed5cb5b405e024f81471f594b487c037230f420c84cc1173be2ba6d58c969087bfae14581a6f10d6c7e7d4977f2575a7d1a4740fd9ebf391c8e072231677c092c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225f3f4c6263ee8c1b3d0044f30b92e3a3681b2582309b4c345549deb64300000000cf558735bdbfde2e18efe66a6134c36e96424a64787d7e40ef43190e5c63870750f07e52b170246d84e97a2e9bad9b5d9c8f8d3fd4d4eb5c64b21c45e99eb84843821145580c646bbaffc147b8ef6a4a0646dc26845f4d09ab9a234e80347e45bfeefc672183ba46a9c0af0de8668c525194790d2270304f9a0e1e132550064edd978264bef01d55828e20108dbbaa72441add4311a9851b4823302d2bf479534e5870340540872748587377ace2d714a63578242fa99c1569e2bf4162a92d59cfdd6e6d7490293711404e2b5b73e73e9801cd46451c4e50aaaa36653c8fc8637aacc06a0c1c15700ea85e7025b3d33a891a335f0fe186633187da1a335663603e9ed958404cc55cb3c5074aa845b114c5aede1e133de068d3bcd1113a565d74a2c2bc1809ca9c475f9e5a3503ddd374ab3ed93363a03a5d3113a91f87395f0988acbe59af0f294419115c397361550a6899f116b79a3b4595eedc4e04ff945b92002e54ccaf3f4c04941d16541fa941881b3649e1bb68036c71cd6c740c230cb2d4de1c519f4413fc95f9580ddb873ea6a1990fbefcd75ffadaae5796558c306dcdd46655a4675ebd1e4d5859dc4f49856170336dea542017aa53716f361866537ac31263429b390dd1b5159325403830653a5b9e3e16417a36da2a74d46d2f8433dc6d1013ee6f59f1e8025289da505793d73b45699a4c58bd073fcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334321e2c970bcfb83355dfaf1608ecd545192aa1f0070c3914842b66d3d561e3d31c3141636a413f549624a3a310cc0341ffb4f385e843cbe55ceb0a42efb583c52a223056d6b14816c41eb1c3bdf4eb96741df5841e4962d242f54193c40dcc90ab6d82a3d6b5cd061cb99f8291db4ff679c63fd19bd81b53b1a3ad57556fe68381ccee44d8ff8f73f977d483b86f03b4aeea37e370eb19f5400a5e9556dd4dd01b9910b3d9fed2d08bb1eaa2713cc0f2d6fa2f424a53658516f2b6056e927691181b00f093fcf534b8083d61d655883532783251f12bae15d09db6a07934dd8092ad4ae0e7836f177a4560a750b794700f585b304f9c03f11ca08ea012f82ed07d625a24861cfaa4f6a3bc744d1af21200005c01d9cf6dc1bb41a323a6ca1b334e9c292298a4ed6701c590d031eb5275536dc1a4ab396063822c69218907c3f1df4a9bf02f0ae4a686a1298312552175b04c86a400a8356071d47c959f6b46c478b3cba4cfbea3460a0147758058d1f2288fc7771d900f736630f67023dabf94d1ab8af4532e1ff3f22c50935d33a864364d1c469b9683c3578f4314736e3bb404e1c263affa4f126fc84220b9d3d826a0157ab53ae1cfc6834a457203245714272e00b355cb26805f051526520ecd125a8d69716e2693469682f8805d0fb992dd8b8d54dc1756e6a89fb1e1766a3ad46c017156ac0a71e4cfde3db039353c1285afa2e648410c143a79a9e613c6b5a0dc04e4f021f86e140b5e14407dcf4743a774115125bd44840eadb3963b6a45f1b17f8475357f7b0273b6a8e46f3bd4b67cfa5803705b7da392ff6644371099d4d94248362930a24221cc8f208a26b564ede3d3a2ac6623d40f5ad4f2d64d840734094bf117f7e5e3228b0a51009e6c46573368d766cca5b55f8297e42feb54d254dd3c12e75d97e1ad2ffe45d1f3ebc4ec9bc695228eb801313cfd64ddbece972db050433d8353e6a5a7fef6ef51d2255cbbbc6249e538e23e9d49518dfc64a18dd101f51543c0b3939b51009db0a0834b8c2d437bcd91a42fae73b2b7b20855c2349313852f0db2beaafb87010855d232fa099742dc90a13e4a1f741f7cecf3c2eca1d5b98a8234e7fec033edd78617223da9614749cac4c1bd26e5052f22735c92e0e0a4099e800ab90cd6abc7b402cc6df7f19c2599e51c38da342b6e02061375f711e8e645d77f207a72edbfd7702c20e8b392b34705a08ae7165cb03ee3c4cf89e4095e31851d96c722cfbb8520ed1eafd3a7fe267583f857353f0ea8a1d21e105459b955d51332e306717ce1a015404484dbb0187283fbf3a302d6ee46996ad76312c7409255b8213069706ae210e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a72a1321528d35e5880c647518598b16cae97034084acb50b963f2c21cdce3d4f9bba6c027013594177e03002b1a8a42421f2512f1cf85c4edc7d29035ea8be3bfb3f026163292b25ca6d65300d77c628fec2d26d689bac7220eb76331e56b46fbfd8fd4436b2b620ba5d8705d473dc2540305e68451114298c96c365cc3b3b0143e2e5150459541d638b13202d30f367149d67199917910d28f7cf198faf266726d057413818021673ea160db5a9713265d3001767494d3698ae653697e94f75c4e49a08a3c64a11f800386924530317e7d3f0743ff97f2f9e7c1760799f0e071e3ff662fb11e03e3d9f5c3b5235df6de23ecf0d85a33b7194608b508d28c22cef31b6448a965b4a843b813fc5d0f111c1dfdb1f8475f82dae3d5d5477002025f62ec877458c4463d6158653196eeb7490cd911b8996e215af6c440991969d6fddc59f41cb718a64f1873f0f21ab0b26496cf94aa1bccd5981ddde6119e97920bdcc734c454daf4f4544d924e1417b1f72b0673aff12eb4b3fe7324595e3ca14005bec444109391ca758e619a61fe616a74ec92952aa4e0f888e1f0b823ba72749679d2b6ed1356423eeaa513a87f332c8cceb5b9bf2864a94a723235f0f4d1f527b56275317573332408b1f8dd52c65245e4261a4441a50e7b04c54f9c25f5b6cbe9e458c7b3450c5189d74056f546f9fddd248b5274c2f8f4ec45d2b65ed297ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0716a9760cfe233e0468db111a3feb43248005941d1b0d412d5115ef320c8b59690d832f5382809951b9b15b158e827b44ea69e55280c535539dec896e3001f81cca2b6c625b17213fbc276e6b927423601a25f95193b75332f2f6996ffd050c05c1c1650421fd4206516232363ab4aa297999a91a41559a227daa0231aa235c6e2da46b0bd438162045de6b11d872b44ef747905e6d8a133fe361bb5c85be48692606ac335116306bb098e22ff671622dd2e63a6c9f4a0951cc2ce55261d7496102e33e72d2c94654f4b3873d8350df2ad94c124ef7e93202dde3b54ea2861b1f00010b4979ca8048cac06b5e15472a5d6f18af2761561e4a6978b0743a4c12491d6b7c6ca74edd3541be8530926d29610b4d391587ac29587e96e03497e1dc4ec082632201f1911fccdab02cd4dd525c0575d230500d5832d07e6f413a77045826cac9056e3fe8497de7295f9c69d76d292f2e0a7ba8722ae1bddd15ad9909564201d6763dcfde0281b4d814d5f4186c8575737069ac490e6947f105087b7e13a1bca05f4ea2bf3d11ace64fbf9f02298b77b21dd62aca411e7cbf389a39af4d8ddc876eea19f548beca9d12b436835ebf1331186b2fb05af78b831ed2b0e644bfb42667c8463203c5cf53663f690e5b38dbe80cd42c6551086a943567250a01c2fef01882cfe06a66b15156b1f7b274fab8ab27d1c32158c870922ce213cd4794abd61c5015da4d1c0c226da75f212e1e387639baa30f71c05ade1fb837bd0841ad710b0caf045222f5445f7cdc8b3f216e7f6cd61fee04b05a7103d5ac061b580fab600c28373d2a676967bc42456d53725f1b8be3432aa643b821a15da90f5a37f23f42231d41906d8b2c2a0d1e25491bd7464c77364b09739d4e7fadef157497d45f4571042e820db90feaa8217372f0761012464b2404e85d2ef064ef550f769e477cc108324aa961003d406e080a8f4024649067572e22f05c49892c1555d4b603a350d64a9959db43a11b8d1ef566d12fade48f187c5b85716772b16d2b14236db48e706b82b54d67f52b70048c3ebe716aa5ce7357413973ec3b09611b6d26048f15eb6e0f6ac41db4809364cfba725e745cf509900eea09d6f8a915abc8055c9c3fad698397783b77ba806fe75cf94284cde26dfbe36a61b9e72f6ebfbb232ba5c1372a21569614329c55679d92ff4b5ce6ed68bf985e21547b0324db0fe225f82622757f01ee5cad022957d13cd6469f35a36ca4a85239c9066f5b4910fc235e2dd244eed8aa552f84e94e45c721617ec58a3c4320b61d5bcb2d3156fcf10ac2da8f5fbbeae3306cbcd94e1061f549b35c051e0f87c34a571f0960a7507c3e6c37c11369d9be35cc84d4110b01ad1b6d8b5f303eb7d04de5322757bd31432d78821c5746bba771e52b943d7921362e96fe9e2fffe9fa3da14d2c29584c4f4011e070627b03705ad97d986987e36c055a38c776009df63dfe4d156a17b183120c5709709bff5d5e8f2ff56987328c517835a8317d51e762e6d6a22b88d5516d81428873733a14612500ec3cf01ee45e137c606470ed2d6522c3a72edc637514a87fe357b3ab072bc7e2c608c334f05b5dbba60e1a29d26ea56ba12bbd25946a20d375233f311c0b61cbe1152919dc767fff94297bdbf162f50ba058819d5b550df7a0476912254e3d608530ea14804a463b25356338402d9c4bef3b377e5b5f1a33455ef3365d25674f80110fa5085903f4e816ea62de27df2053438138ca686dcbe260000c721e2b81201c651be311950aa4460b78665887134e477a5f5919cef3c723ba4a6571c0467258a3b7a0564bd13140b0b8ca48cbaeb612fe2b8e342ef08045d9ae4004d277a40f29d05c61a9ec844a89d6ef41a653ed5243e2c968030a4b1acebe8c32fbd4b6151288515c1673263e7db50f22b0948b187ae1d42ba99c213e0813085547eba72535fc8d56e2a2762ee55208032d642050731ede0f3c0030534e2eed4f87c5084a0d9819691d266f13a667d96028c88b4ed45d221ac4c0e92216eaf52e975a1d4feae04d0366b5f765e8427d6ba1dbf15b45cf2e2222bde00351ae0c671c9af7075623954a6d03af4e156ee327df87ac33d4e1d46a7e19f41e33a90c77d0df190f9dfe0e4b69d27c7728e9260f25dd8309bbac936aa6fa5517975e5412245da4236ff72110c67a4a420a83f84b550ce535db3df85b3993c7047434fc68f4f31903b1f2582344a68a5bb58e1875c0699d5a54cbb3250daa3b2d4ef27f6f9b134265313b5c706d59c92328e48219f6285277ea3ec2249b692922ff1cc71cb5320d5033c84a3e6dca3818f0cb642b5f4ca93b7187384ae24933118b5b3a330849e06fb58fd32b1992887264dd3175422e9a5e096a4c752ef896040feaa66b5ebbe94edae5b418baf76c4e05486b27bd3d2d34316d0531e9e7260a8bc2d52c0b4ae3151f09f33f34d06924900f3536374508444a409810d3054b60d3c7352d4fbc6828d098f33ec824c4125f60812c71e80038b22eb87769f51e3d682d3c1c7987e7181ea307232a72c938488ea859dfce60548f5ca81bd4b8011606fa2b66bb9a195ef313a96e93391f4e5810ca31b1c5772783109e04a93cfa50ef24581484cbbf4e676dfd02d22394116114e93b5a9361120e52845e5139d06b9ca29b385e38ca2938283e6a27578e354564c639295c62179893584726fca90b6e671b0bb75e3a712c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225fe82e3b639218fc1b7afcaf190243e476f48f8024a4d82d4f7919375a00000000fc22a26b0e937c5d8a508d01f6697c4ebe103925147e8477b90961403e14ea04985d111afce7464949509221fade93085f3afc06b3cbfe1dcb6d961f46b6e63a9263fb1def37bb6d08e5476e45d8682574d6230ddab99f543b35823807a2ec2992964f0d6fd46a704304b472ddfe9f593ddfc31fb321db3c8376ad34c0fd2e099e7c3f6233b5f0525a90342be01be657a700b94c046d03045d890e3b2bd5ea6db32e7c126367cc674c38ba02ddfc0003ab051d11ae12a75966f0621800464c065ba6d2398c84550ffad1206d8658f45277350232b3261a5d1e0dc13f60da3f43992cde76f41079261b1c4316fc646a430f2d761f454e6f171ca80a3b181d0d4ea87b753409f451697d710c336868644c75a7e6223b48db734917540e5e830e58a819471352534715e92eb90e536d2d73b1de0459392b2904d188bc508588db2b8c8a49649120d6131ba9c921cdee8704727a9a03d89757030dfc5e57b93a0c5960ee8d1982a45b1dfe705d11f2914d5c69bc4815e83e9e3c6227fe565cd7ab121f9ab81f4852d0486496123a58b1ce7521784675f53fcf6a4c264e563634140123b9b40edb021535b919355604fa2976d099594a4ead0e470be9d973fbec8a35f41c2f0a65ca9e75d7616e3cc131ff64faef882dc6fd28143f672e54fd2c243716b06c5513dc300079f97a2fbb142b1077b60e737f1cf246cf9f383bcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334377f68860776ca33623fb282edb742142dfa5e9158881e04d1852cf7297369b6eefb3b46ece8b4f5922288963180a974fc4c1b22118a10a56c7bdac5283518e3faaaaed3f67b6dd3be40178360daa105a2f774a1ce1828c2c9dffcc1f4c8c934f9cb469525c72b8588a891f602c30283e649c376954fb62178af9442e8f17e926ec595e220af86a03c02144687ff3e442ef2b880b32897a455a41591b19fd310fe5ee18216a7be83768c5c420c8f02f2a8a78711e7b297b046e6dbb4577a8364d75e5d5536646dd0a150648033263ad23b4cc1f2e2e2dd217d27d6a1608ad7025f87c3952b47ada39737d4609e8884c37ec276c274326703cc988671daeb0521896756f43350f0c6c7514af728773694987a1b06dcbdedf6f0fcd453a1952374a2597f401d0fe69309934ff4c02d2bf73ba40256783f62214f6d7007053f9073c80f4555ba2b9072b42e1f65568e8da68f2f2425aae0c5211e33c4208372e6d3e895fa94be4a627173f3dd73d39fcc10afa30c05840a6bf1a74c5a801f560e55f774d1c125a564d1781597e5b4df41f3955b72f6452a5352c957f2e4d9711ec3140c2a74057cc80218a2fcb1ca0f00671fa00d254771243398b2159777b62f853828c876771efdb6a2dcb917702873954beed4c6e72f00c39c71fd059988f9f504653510c4f874a4ca5e31a098d6843317ea7c716d1cf6a3e755303419c70711dc6ef9404e246a40baa4820356edde61b7b7f714dcebd90443bbc3d48c8582c3fac20ef07a6391c40996de36477da1a2f91704a1d8c64de2816605673c252186530052c14f6aed46ac7ed2a37dc65170c4b5252294fbe8f37ba8120727a94324d3e8844032dc9f65f36dc866c5e97d630602a977403a58e70dba230284786620d42bdf86337183b29c2287e325cc3ec2952d3b651a5104c3d1b71666bf496102c9b14de5f82b3f84edfabe5080601f901dadcd5023fed156daf732a0080946b4a9c490947b59f2a763e60eb167e3849202f703c157920c75e14e4d501c1c6a916d10d102217c1df13673209724243b3333da8935d5f89343241677a2c1c11311e8f79f65a6ce46d0c2659001ef78ad8411f0c9b5e8b03303d760e9303a6414a41b031c33424f1476acc34ea105ce07823fdfe114464ecee528c8a451b5482695b2f9297040ec8110cd320a621a2b3ef18e4ceb36c3bb1b16b24f8497016d1c81c6259e857cda1cf063e9e29451bee3362a65871169ebb9a360a821e08cf1cbd3d49c8bb4c20f0cf135d316719e5a6ac17c2e7d4157934c63c792b0839a1509669c28b043b906a30003063996f004f075a8db00f446e13191480c35a474628fc0d0e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a4f7aa0061816885e9ab1de316dd5994a066aaf10efc4d11a3d483942232d923b53ec902c202f8c43887a8710dcbcc55254b7071e4e14ce36cd5ae86150deaa567b2f0523493d53448c60170f0b20c24e1c4463486d80476ad418ce6abea63c669ae2bc39a1c0184219c83b14db5ef6314c46c768b8fecd0e5f069b232873c205f1b6d524ca30113bbf7f153896776825b3e43d5ad43ec2412609505bf216a323288910230f418419fcf81e0e24330703f4fb9732f757aa75221d9d29dcc34911a109ef47f11b163f7ed9b21364c52828251f7243c0a6693c7dca1b518c6c27054c4eba65b926b039a25a150cdca7524eff0f9f5bbd06d6699e769f3884842f0d09625f500db1cf7758a5a94f3ddfc91bd410f86989962a6ef56b2573d8ac00501768d8227b8e913b0e3c4937370bc104330c3150ceb74d55b2dc1815492506100c3f78302ded710af2cdf10c0d3dc33460f71f627ea34a1362cfb839f33b4242e0d9282f8df33f66864d441ffc61674a80854f1e5615c124dcf17c4217be4d361ea72760ff1eaa49375c572f1f8bcd0419f73b3615e58e4a88a9536c9f2f4840d610bf1f94eaff02db71340e2f47ad3e316f5667e87ceb12b0968127e76b99342da4bd2b9e6dc737f4a6de736f9e7b3abc78826f90faca2867f93575ee86dd3765af8e3c7fd4e7651dadf2580ed5984e4bc2824ad9ef77262061a14e882260417ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0707ef17772352c01431c8b46eecc6df0f83675275245e065f148ea13de976b56a42f481390260692d3800652fb00a0b3c118a733c8afae958c65bde1e65d177403434b83b14738073fcc26e2ebd13a435628d2d1b0cc2b862e3f59005ab047c10018d480733d3f85e911957345ab0ab168c6b136f18c3c65ffc5c933b8c00ec55b0e50a4e1f6e22771d54cf4539e83e0d771d1f70a1dae16156bed32263a00e3a2824f5371dce4e1ca3c54b321222935ec46d8d300897cb3ea3ea640e39be634f2ae483053c58b635fcf78f3aee5e7146e1a4bc251014b74c0679791a77960f5b09c1990a677c441c7bfa19467cd5d45a9fe184636a07156ddb62055e20732311be606135008e9136e018bf30b5c149659812fe25a79f2e595049f20f3f88b76a672d096b6212e935f4735d626f59990f9faa055606fd7261943abb425fb1b439a3422e4b7b855b4779843b694359eb67c3eea612e10ca6426808901161a9222164b6f4687b086463b5e44b46f6ca3602a321806cec37803b93ddf91f5864b13b05604b37b73d944e51f5ee648189433313149744b0a05e68bc2d3b18b46d95315afcbe3660709e0c490501241f01472484729506cbdf991afd582b2e422ca12a5eb077370ec4ab03d4e7c8439b3d6743a63f8b4ca6e1e24e754fe3086258a20a6372944ceefa4067822443392f0a683afee6791c6e88e44848741b2d7f243d5a87655e4a05367a58d33c1703bc488310ebf028677b12c4422f5b8e297458435cdd58cf11704e3c502635105ccad75f661c2a131b1e48eb63536df4648e5a761aa2179427d4fe643c966fda5a839e4008d0175638a925d975eb3a25221973681cab16140ff536493be3688b2f40d82a040c7d6a64403a2a2f5117aa4a0da33675a2aaa77671d7a174b32d2e5d0ea7011bacfc6d4ccbc9322f1e7c7a0638e8a16499d31d14a2b3bf70642fef23fd6c5a71e4e4ca256c057d56033eaa06ff1e216f0c4d3843b5647a6598224c3b35a0ff187e76ba696fac591d263a6b469cbcef502a419f2e9ea725615e68de408548452055ee6935d35a7b05f762d45b691b2b062473953bf2b951210dc5281798912e5c1ae23c43746e792fb8f5e448bbf17f2aa395480fe898a95adb550f5ee26f3354d7e398326d8588590061d81a63c31f67bc1b0544b311cf31683cd96e405f2e6ddc353a3f2a3aec66db6da605945e664065e36015be8c4e41ee3f02001ec2da520d586234b061174790712b05a8b27f448e53f614fb28a542aed2af261486ae081523fa44f0f88d1d423d36225e359f156d56900ce8211b777630f470a90a432eeb74e8332e2b5c01a3cd5c0e6a0bc64b48ae7119bd51012f6b91f228e01127583a26c963d8f8dd562377b4417c78321da4d5fd5bb5329b2d60269e262e101c1805f8a02ce315453a427d2c57076c106f4a656f064b6c8843a2e31668d6a1eb5d74f95e066929e3584bd09c59bda14848dc332f5b4325a21efeccda1661cbad4679f5fd52b9c2b66006642023dda3166793d44f12baf37577b4f2ce6cc7705313e71db745f588516b4575dc59e29320232b1fcd30e5553e042284e65a96898d3260bd7a537ad3e3467c62ca3d03a10240fa98330c180898283ccde72e067c9c75c013104219fa4d60c4b2862d00341f325507200989b57e18f122ba34c3a9bc51eda324061f2f5d4a0fc1fe5934928d5b0cbacb6bb79591059d1a9c5f2c85d408c73a503042bbcc366558cc1abfdc3117190b532212ebaa6b163eb5772bbc9e24a2ac4a7230057e2dc1b7a93c49786c55aa360062044c8d4a6917f1776b6dd9221e4eb60dc9b6d219c2e18924d4647d0d71fb03616e5c883b0c62ec34f2b7530ada3b976cb8fa3b66f49d1f41cf647e4f834018593b87ad0a45ade770d83bdc3e7c3e4a59b8c046098efadc51ebbfc25bf811fd0dddddf50b70742a2da0ac8639999f7f2ccee456631627cd6d1ba4131f48c27d02d1126c3dc16b7a6985e58441b54cd626f2a1123444312c0b4f017f0c87c9516303e43c5af1c7450b36ea606972a3df4b482cae2cf622ec0686049923fee21232b854ec5e10933c45416c871ce2d8ef43489cdd0b5e344a736d35b11a1f59784d320ca65d442769656267490d7bd46d6e55e2f93d759fc342e69c8131ada3e220b2e1c8221d14eb506a5bec498fd54151f08f0e77fa44af47ba1c4f36aad9aa273e8f2e49bfb3031273c72e31dc85fe6829483c63c1de4238b1d81d37e935f177b0f0e73cf9325a5295c38812c4a0c94f565d116a180b6a66fa0d076f0c41f23ef534b7620e5c7d4dae0038326a26d46f38d268272849244a41060d1fbeb9bf07f1f3722c809bbb351b71df2c8dd468641c74dd4dad485f2090979c0b07bdde45f5aee74797a7d161f0c77e098f20964b861cfa4262ea0f3e302cdc0e57650a631a25284eb24f105ef1fea625fd444141c174415d72b61d37c3e6a2451488bd0daa3514052baba9219ddc3017632b093d8e35514bc37c464ed5e9c4118a5b792bdb04a9684efcc617741b0419252cb55974756e0a43a7e71ca8436f08e5d1fb18766daf3a04d44666866020650a0c044f9a5f21447fd5291e1e0a691c2d5f0b60f4c3842a05ac0b220be5001534e21f5f809ed41e808bdf07a23a732195d8e5543436aa53c4b58471e7fc3a2360e9a635946e72631ba24b5ad3bd985f13a5a70b244d516a76126e11d56f9476bc0130251b4c3e280bc1ae06ba5ff41de93a676617e60742493f3b02017fdf03aacab934c5eba570b6b378413af8ac0e9bcc0b0dda8e9a43b9b131510000000032909769a3f6aa3bf62ae6441eb3c01144160b6aeb3e6c5de8888b311af0916ccf959660b5c3d500bc6f7511f8c3d32e802bbb07a0e4f860c65af35c9b71745cd0b1c244d71d584670cd6b2a6983c5050ce37d454fd96a42964a6b2f5919905024d494658401e7330a2f88391b8c6d4f60e92e1277ebf311d4dc2401729b0c1d1fb4e05ab8b711076495a33ff468a0276698ca052eb1926f5eed34729e5d405ff68b22145aff9222ac34c0387e21ef1c94a8756355dac91221b45970c13cf437852d8a69a24c783c13fb6d56a4ab885196fb9f72b997a73332c7d144f6f7df5c4f6c6a04cb9dc016d8a9751272f31a456618bd56400f1e3b9fb40c3efa0c1032fb42ed36df5cde2364298225c4ad4e307277ba6e3e519c055470fa2531e17a2b13745e5fbbe3395bab0f5e5927a6ba500db074105c148d53c96a9577f401464d54db193b52f75d20dccae3690863d5417aa9ae40763cc73f102bde1380aaa24691836836669cff24a87c132abdc83609fa780035a904414f1c5f174099fe6f3a99a52f5d0d603270a8c8a800d84f154b729e0f5cb7de20122703aa571538f12ef5885a5cf4d9d2293081f12f8d9ab23731a18802a17ea9237d74772f5f33fa64fbb7011a4dc55c5ba7c4e10a2ec44e5f3fb8224b1fc2de54b1483d29a0679b15280e2b2bd9db352ccb21ef4e379ccd00a837873d1a8f985c3ad5a329d1404c080ee58457b52e711ce489b641fd4f1337bcc8ec300aa2fc6ac1dea429aac2953f75858c42f33aaa45b9171a2969eae56a9450363731ef7330117b3d0b324e0952ef5ade4c60a6bd25f1252f07dbb41304b3bbaf26cce2330c167a775203468375a62b7554aaaa382163b4e31df669b62bbc0c1e17cb5e5f63de523620180612350e63583f71a78a589668606f7e7b5428ea6394013bccd2531144fa2ebad0192853899e188869f857f8ff7e0291793d6b8544b32237e7405278dc6b364c9af20efad3171ee64cea4275c94872f785ff3183365756223ca848edd0216cbe3c3422b6a40a098b598564af522b1c7f0a0a1ded0ac81b9d7df828a47ce92af4079b4d52f8fd29b0b03833cfca5c0bc4c64122b0a80549147ad0588366ab2fe8d6c90cae59b64d4cf155071230db438f313524eeb6336007e22e446865d727a51dd52759af60200114f166bfb7c76294f82e235d7e915061b7e55ef5c57d776135373bb0e04d497ecb9d6cab5ae36691734d458034e323d80f9a0bb69b3105581d0505421a54505ca1f36ac6c78b1034b298111fa31622a5ec841dd85ed42cba1d2c126fc8de031add85132f90162bdf700b1e428bfd146d0bfa3e723c47005b0d4e5a0aa8b704ded0ba018a7c0f5b0a0e9b5d616f864e24710553b0d8c30539440849ec91c32d45b00b19bb94a139fa87d7587fa41c6afea1916895a06c703b979c5982c4021ae7de6033e85c90696713a960b54c816d021cf4434d80d21720733900fac7be34ec7d32533ad11e5d41fca15f8daa150604f44a4b6bee560c1c3f017375b69f039308f356944f8a648d961817ebad3e1f145547322e658949b5bcc32f8b8ad51bf19e55752ac3da39f31aa36c33dcdd1e75b28d2a9f9a485d3a8f775cab36e6578c25a73dd5a8a8480c40ee2c8d7e4709bcab3558a9f485278eecbf0270429c05bb46760f62525e579174d6667c6f085fbbbdf66534eec92e7d820c503c90092fbe3a66584d2975089998af3709477e5422a1102e0b48ec0dcb86563bd45dd15970adb61ee302210fd1cd945b199ade614baaa304d6a0d975d470d85d51e9cb2545faff1043746b28f445781a7567f725231d58419f4d9a398a9725424ea09435c18da50ed8d67e444e86236b95357c6272bb3a11411bb5293ef87f0719299e39b3a78d23e4f14e3a7271793ad7ac903e241c5077150233160d3193342876af5454cbc82c2994b02c07a52161b9ed4d228ebf7c1354a05d4a73f3b8200cc2ff04d991d33864c19141bed35f2bca26c51b3b4c9e1bbe373608d12984354624b051dad57d21761cc24ff4a59b10b9601c34a249ac6c6491da09cda45f473d57a148f6d7b7635b68765eaf0bec14c6a4c9176ff2e15740f7325f3b2325498652656c575d093aec405b2ae98ef40a8e17e83e09b90e4d63b1c221d0d75f63c9f99d1311b7eb771cdd3358d974606e9cd51f0af0e13565519ea2669f67461bc45a806becf9a648fc6c6737e13a8916623271246e547f453cb3bf51421f9f0bb2b8604a95cb584fe3ad15544de7d53a474f074ac129862a9520ed21047c215b4df38039bdccbf3e6ca7026e1f25cf3b0ab4da5b63b4ce730bb8d944b49c800b492e074a162ec442791ca3428a7a1028b819181212c056712e111d546643af549f5efb52407c2a1fbd3af9002368ee76d95a3a32d3839e153f1b1b22102e38577e8b6a3b18db2a1617eefc6de7b2a1188d95876eeb088b32522ca5006baba811acc10c127bca736f143ea13d61892311b0325734eaa96c13ff408d075374243176ec555c959e6403c92d6c507719d620a4d71771fc8016764c2bde152fc71b26f6b0036c995492547aea742464dbfa0c59f42c5ef7d5293a86eba65df8602054d5c55729abf557571a54f00b5e45ef72a4b6ca29545b825e5673e2009c450a77a33a016cfaa75553f2125c353220830512d00023389a011a2c48e75496841e38c711cd146546d168431b4f22b59bdb17917de64cc8439a3011f8d66beb13026d4c1fcb7308c19a197b8eaa73f338fa6105b03f383e7aba1f20d8d50e23428b3d150f07254680642a2b4ecd5071dadc3925caef121d7bed5e02c1770102455520c1dd1262beaa7653451c2d55e943450b8119965e053c316ec442c759192f3d748966ee2122e71207d82306686d5501070a797c5285426a40f446016acf7ae80fc6298e61239b3508d7c17b2ea91d0e0d18e7785259d7770f51d28f08ca44654a389aa671768b4e3ec40914365c36d60c9aa31a052aa8d761f7fafa39d4087429bb902b101baf2b334afb9f37a204455bcb776f0f83804572865f3d66c23a4900034a3b489c115f06f0d61a77cbde35548b0d27618f1b132fd57af727c83c901c77ef09073156a3106ebb4f1ee030a11a2600a6444acbf761cf2085299ff6bd702ae7ff0e496b4954246e8d2784b36630afdc811d498aa3277b692c64f22819038b4d302aa647734e32dadf1be3ad604a4a25e76104303837a56e5769e2715b495f360d1df3cb0661752d725b9a4af65e97bac61096f4531b0816d548e381190e7d3b3448fe1a2c6eb35ef13603caab347ce8a22f4ccf27650919e70538970f1f410fbf0d70095656ba763962144a725937dd377067f9fb27027b270d97ea67662cb53672f47cb25b4ef7281dd79f17682486be25319ea93f9f3e4a46faa5b63c4e6a32391782bc3280eaca59b70a2f7231c1f27355c3845b2cc18455a326504e13057107df9cfe17799a15052fa43e62b0fc1917f463ba599004c93eee299c51d0fe2c126ce8ec2280115d2dd68ac61eab02d10606d1bd5542f2f9337fd8ee4d9bf77903088fd01f77faed089f980d69ad14a263a82fce01bc6d90269f6a59113d08741ab7bc2a3c076e7332e93e7c2e85d7fe4299a5426f304b8569950898301a3d2a479dc0712b57f3141cf33cf46874923a3a973b3c1960924630282a982772c02e3eae0f2525c651364524ca686c628e226a7f52136eacb84f2e4e32163efa35d9731d4ffc5641c132513c92df56e5122956924f744cf92fd70a88ca45600184ad3f7edddd503c29e162d0d3645e2e113662fda26a7443bc8f41e4bc4d3454e2284585e3406363346c67a791d93e5692315de55ff72882a0e61d751c2b03e10b302d8b338f191854394235ca2b2120405f66315bf00d488b56663a725135afde4123dea32d0302fcce64d8582b474472002436b29b246007850e0bdd63237b4ac53555aa0a27a7f68416ea4ee0407de6c53ff120261250c0fe72064cbd02e4b07a239599925128e80e4c83eb3d39b79bb305fc50585e46fc8a49de561c6ca28bea131c140415cdd88932833d3817b3361334d730082fb6c6a060ce442d6b46d3591f5b624f47d6b3404698b61b238bdb302963e6ed3b7f9b2709c63aa80425f84d0a4993da4e9a43c22d328331395408c35f3c4a6709b542582fded9a41674310650cf90c6272a15383bedf4ff199970fb1e560ca46bb243c2293971d8218a359e29089eea65fc9aba3fcc729117e35c9e5e94959e0813efb24e1683f6583e2ce80b023d7b5aaf116469bab4784ba5605132141f894a38a3363901134122e0650b317462ab218ff9000094d2ee4aa6987c13ee12d92acad783486ae23402b7bc0e5f6a5a5a51251c2040e0595603d5d70626ef14b3145d4cf36b09cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83b05d290301c930d212678b020bf68085c5698db4b49dcb65d25a58b374a2f3d1a44242a096a14e01f2be76e4a43c8400cbc4979744617887533a4e6646ec18d214ef1da4e30bb3977dff1572df0f611517ed6f303540c8616c204dd08e33c2338b4bc8d2c73839c750ffa934f2b42b01683fd436b7c255614ce6f4457cb2c3d0f2ac1d404eb78e372d7bd1a233674303217fd585a51ef82054b0ffe22b771394efdb2043a10f6886f39423440fd4c9a0694ca503dd5cdea09d0be2876da6c70313d3fea47dc5426269491520d5543c03dd867bb2010a1926084eea36fa75fde1bcf9ec131fbcd92415b1e6534b602891c007d1600b7c9d6114ad2eb4571e29c0daf2306067711651b2f4b63382d2f481c5fd6c21fc47e161fe04e30587a043e51fd6e7b07f302a05d55cf7f69a249b4700377b52e5b84fa5f18eb9912659857505c63641fc9750627eb19551aad36bc4cf6e3a61a9bff4f62fb802840550f6d2cb6a8a4458d27a410bc21f8328589b5082907db5b21a0fa694bf22a6d293a23384295592c5d6e56266a03de079d46f866463ca42d79f7240e8b39973e832833707e3f3452cc298f778a139d0898afca3116c87e25cce10e41212412446014575a82b26d3bea71e119de91260b3a9ea004ebac555e8f08a2737aa63558b481c633229b7f424796fb192fd4e15990386d3c8a29fa32d93d1438b474da43d85ee74a079fe3727baaed48b224263b9e0c1a531b4fe7501571cf27a2b5636e34d70272dab6310e4b80c41f130d57602e886b6ddd610427bc997c679145113a48f5db4972d8de0e6d42313ac298ef0e3cbae6689e47ad0ddfad9535014e835bc23bbb3b1a62bc030f32a94af6c535330372322031ccc409121ab61ffa8d3b2dd96db83764941b1b196e0a768d01944e466fe7711b9d0d299b43e02e9f006859e5be9b3dda9cf7074be48a40979d9117c9650e279ade7071958de66e7c6aea70e7c5ae3159a9f329123b3328257eeb1a6046c96f3e60616caf8ed8552d47b9129c7c761de7a0b662519ffb52ffedf83109cf9f3914e6cb15b833855fafd865405251ae272eb93a0c6f5d4c487388e64451a4542d169b4f41ed5e563b64cbc9104545bd5624824c3db019515873f0146ad483a777319efd0e7e28354dd9a63b54c2e584520736db06c439694d9607401f5fe77d1b4441a770aa09076fa13f9739a7e7fd75e8285b73baf1d668d04bf643b89be5770e02670026ec136dfabce05272dea22bf66661178fb5e31ca0e2b5000000000033866828e12dee589e18e22273889d1ec2992632b7e5ea331a974f6ded35ff6adc27411c67e5ef65d94f001162b0c86a5cf37f58d865ee0204f0a62835506f205269fa73316d2c1b85ab944c692e77071b51996fd4555f0b71fee33c4d6d150c85a0bd103e77e7212c14eb0379bcb63b23244e0b81c075143ad1f339e026610ca2ac6630561eb274115736714ea70c39fff22206d7d1d6203ef0e669f235df296221116300baac6fb9626a7126cb802a6ed6c13f25e9036e8cb3ca4381e2e5621638f81a60636448400a4200c52307558fe4674f4db95a52b47e86150f3fb510400a0413f21f6971a8bb041860cdec1a71437e41764d040d766e9a111498ce5a287b6906fab9c2023bda07387d20b652e7e692700848da5c1e12a8079d37c742a569ff51da5b7e629081985755a31201de641f713cbc9c50b4166c64b8596471773a476397feb04f49551c29ccedf832e09db345a33ad0228589a42d7cb8b156bb3da63c62a7073419f65a5916355658f8b94670ef68012ff7de6f5c89c0222b57b5ce46c842e81b51fd0102f98dee6a5d21fa314fd08a051a9af865d10dbb5276c71865c4a8e0670e063a2a3299fc0e988ac029989ca356606c7b74d03b8f50883d304e8e197c70de999b6142c0564b1b786f0714c22036b4557475bc4fec4a8ca43a3c0517f87213e8e83225cfa65c584d30466b1900547ccf845cf535086b94fde805b1325173dfb5c056c35fb5114915ce2432e3d3359be8976545bc5303d9465c191894964887bb5845945ce76535c42f44677c80298d67e224dd62453053567f542e49914312547d43ad1514320ed4c62ddb7a124557e1806e015ef26ca0cd050c7b4c2e024db9bf3fea3ed456f3ce353eafcbd53d555ded4969326d5de118f054e621902a1e3ac26088370f1fd703e71464a7f4232c885b23984bbc2be7031a183248bd65fd68aa3cc1bec03e7ce64d6684b1dc0299a7d90c8f9c185800788c1ad8857c4aca7ab11d631d2f556d78c61285bc0a6e5fbca86227367e26d4a6d63f8138d423e9cd0372e8fafd546700c46eb61738091384cc614f8188189508e56515e7094c132518093a382464e4fb2f0521f6516d6229c72ace4ea75b714bdf74ba740847fcbd4d66c673120708b80a36752e151ad99236074d94a3127075576a91f8c540bc510430013f765d2cc9d0473e5a8751c53e2c090fe2de3628fd0a5340443e51797c102c5a9aa66ce00c1f072d48634092c3563df87df514a9ebd974e3dd1e0cbf58122f63511572e5f65852e068546d7c1643272d86152b620e8f2c75137734c2665507558fa270d99c6159ed5f1111b1457b6d74c16c5e2431143b35465140f30ea726e40de32b3997d6040871bc05d9d759685cb5fb2838bd5f36ec831868964efb3d7686aa6d2a46bf3b26ee1d38e6c67e405db67c3dca532f5abfdeb8212741ce2b6f23491c2f40886338bad24869fe873580237043986d855047d1460e10002867bc22492cbfed813b8e1ade206cdb9114c5c5a035cf1f686db750113f0fdf6d5b7304fa43a2aea1413128f45630b8b063e6b1601deeb95610928d0c58e27db20912117738822db826a5399840cbc1f951a8be8a3e5d6f6e30eb578039aeb85c715f5c5719003dbd566878643b9ddda83ac33de24f248e7c1dd2b2e4751101912d1d1a2b2441ea9e3a211a381c84f8e05978d4aa1493acba40128fb618fc78626c4275553410b76d04bd3eac44cdffe6709a1e9239c332ec05fcd56251712a5f65df14c803f1e3995ede72f44476a8a5326875e967daf41104a55748557cdde75cf61eb61001983548b56ee970c0bacc7556a9485e7a6b1634db0d021117aa725b93f9ab4d4014c92cba0f2a0ca6d3b673e586d348fba62d43c171141182fdce46afbb063d5c4de42d48a63064931eb9698bfaaf0bb632580aa1702a1b09ce46642cc45a23a1101e202617e515cd686c48115e542251d723702cfabc109d662110dcba1f580b4e546b37a67f6e8c5ebd4d5a3e48050445ad000d5f726a5e70a804cecb03571ee0de58fd71ab61b75d3434c857d31993201b765686b46994af8d61f513935113f4ea2f384d0d4468d154768135266ec6c7080f7d8a702aa7b85d72ce485d76e24f12098a51b4533639146868535e2654e41b3e899b152964ff1b232623c32d0d910e6e28cf2627ab84fc18fb0f2948d909ab465e2e7b53e4a90828b0ae525fefca6a1adb7a1d4c166b954648c3990eedb32a4c20bf5845dac6b12ee8e617029f69834f83a98d11c8f00b1a41948e68f3538065ea2ebe3c4a0278752fa0882a4fc6a10d960ac023b631225e2892013c9214f90827e06740e0beba17d11aaf36dbff0376b8fdf670efdca6369bfd0c73ea580b72eb0e98649ec59800f2e0990ec4339a410af0c92c509ea24e572e84527d80e55327e1b329b94c573a2fff9d6f5736003d420b8f27b6b88d107d132123bc404e5ed9e46f4430fa113434c8824eae22d331289f62433473dc73eb754757593b9365cc370a5d19d23f35b9a62921613f4215c374a70d0f0661682a74be4521ebfc2fcdfc841f11a7163045a83b4c990549369c46116a3d56e41db7b6c31316b99243124d296e18fa2e06e27afb2d9728aa1edc135a237079e931936d59291c41aa3bfd234c39173940294c0e3a3f232314404939670fe656fe2ed56ba90aa1c38e5031367630853d404877d14f57e37f02591c74503d0627c64bb403403165ded865fe2fb13025f97c33ce82ba1054ff9d180ad27877e16fa604dad40d76aa18275bd46f3e0c26114b41b87aa26140952343d2d439321453bf35c531806e77f6ee081ad2c41a2c1b161d70b22b20a1c78446ffa35708ac32b645d5cceb6da113b50ccd8a5a3eda434e77f54a5f105a98ce2ed165c874112f52471e52ca515f413e554f6881340c52335b3ce91a0e60861960dbba1946cabc026f0d09be2ee025170f5d853d68083949369cc1c30bb42866654902e037de0995320b69814b6ab9af19e5a6640c08a46e46d30f73574e9283034aacc36bccc2460b9f9b6410c0343555b80170277c1802394827a6479b4eaf231d94a546f4c6fb54b3f8634e56146f5c8672ab085ee7df0fd7f2fa4442a6bd6c5e27ab2fcea2795f73f40a4b5cbe514d71b40f09092f8f6d20d5434a264ca54a4d82a1760e99df6797c99a20993a065eb954e739b889e353d55797738e80e843e2ff042db9cd386fbbfb4036db57cc04be1eb4458835186f207af447c3f71c2c99c43503b4402f0ebd17910fe562fb05fda188036cfc551ca9d9875cb2af820dd738e573ad8f4005f3421d0160595327a92b600e84a5764216f41144ef1ca553b38573580f29085e1006e841f0c5622eaef5611670a00b69d5f859622accc515904f4514e6cc3d1df8455d2b07b02016b5818852ac7d1e3aebd8b3689ff80247c3cdb52856aa932fe521ba065b97620a6d68356b8bfa7465ebf36627fdf4973e36655625fbfb710701bdc173b6c41408b38aa656207ddc4cb8198870118ea916d9cf086b3052122fe3db5344822062604e72766fac8f19158c330b62f5d5422ef0eb3b11da5ea36ac936807216b30116f108fc429186d0558cb2c7496daa3638130249676584ba64c2a6963577ddea0f4a4ecb3fa38a45073b9b9e05f18455681f7faf05f3d06b2ef4296c374555082a46fef0773f195a4b6cd702337b7f794c59ef4653bd7045423a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6b0a1d3a6de1dcfa738c32e0368fb27c7073dfa06ed336eb4a996a9773ab9bbe33af170236a38d0b5ddd923068b170215328462b696304571b6eb9b6047bb58716860c0e12fcb3e13b37909909b7ebc3135487132e40904f01b9dc7574fca090609c64f360981da430177ab6224781b660ccd1347403734000f2a6042d48132953d57748476c1644071b3656285eee7066ff09a65ff1dc06087c02784c9863fa17b99b35267caf770f01665e7328930c2c1294fc2b20a4f8739e7ac870cb38ee6ce71f4757ae578f13bba5c80e8b87993d8607783f558e872059475a3aac3a9a70f362ab3e5890210dc8073e243def83410c12294c041a51444d7ae867c3ec445b60d0fd64d3fe5f2dd0f9946b123a3301dc53f828af5ad13cb7abaf0e571cb71242a4a35c59aec268eb262e327bbc9e7022df9c11b4316427fb1609719ccfbd666560633bfb952d4eb1de132301a0f001e8b7be669586b86ce5fe636d92eecd489a6bdb44799ec96cfcc1e132c80b3e38790a4e71c7d9e50fcfabfa69cd81391aa207e43e8308a01d376f2d707eed0e2611bf9413ea5fa04756b5595169feef4e642be4719414fa151764f2761a81db739d62bc424696e6318a880b1471f36954f6e06016f358946980e15a274cf11843ee3baa6ffab24a23b057cf34f182e84f6a390807ff114f227151695a027e7347dd76b408e1eebe137c55d01384b142017a1f3d4067703e50d57fbe1edea5c1500872093feeaaec01813e441635a6e440fc99f4282802a3513bb0d256c427ca310abaf70542152769738a47711be8e0710bff441df6e49f22077e5915600d8533d7eeee406a456364e30e7930979b72752e83fb5cd27ee30c4df4a35bd82a3021a8ed41109c652a371dad9a4658b4be768365462a999d5d364717675a4dc94f6500920c293b4b2b654c4b2451d0609756c0cd67753c630f23638cc277a014d10271b53731528c9e6434b7db05ca1a555b0c5b162c4526e0613be9617016dd242660231f4409305f00648c3c6ea87d2f3a55b9bd4e004fb70a6af09a323699fc6970747c5963f72e253f20a618b9b18a4be818cc6b3dab1352d1b7755885c83536ef63d40398c18069f9dbdf3e602be95539472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e016234268527af78d538d7407626240f6c011090c50d1dc5921a68c6f0470dc9844f3a310c029e9fae4da495a65082265a2c4e5c4871bbd1733973d08b1e56199972d9f118070235b01ba314f008821135582daa976017d2936430b6223c2e80266fb9f4500555bf222fbb9b0966c19b4446fa9d4a18ffaac55894f2dd4c3b4ac463abe2923e0b129406065a044c55dbe345480be863babc1e51eaae0218e62a801b2b11685bc74bd714be21eb716df28c143fca8d3289cb422b4053e45d3ab2a049ac619c59806f456502e91e663e533355f5f2e42768318f06a2170030df193f2ac9a4607694bcf63baee314675ebb4f209af1fd59c8c1c45796272d2677ffd64da504a256b1ee652fdbcc7e0c01bb1b209707e741985c40421e5d5032b8cb0e4ef10f605cd46e1b41152c7c2c88b421595258e70bcc94c1502aef1c4eb4d4ee5edcd55d29dc45fa5940ca7d2bd8df9d219ee6a96bd3dc3f704cd13e7656cfb25a9f26bc52a3616031040aae7258c1e61868aa840d2dda66101dfa1163ecaddb1c04b4ee23b9c9db28ba69a04f36c72d56f44d8a7430e88b5e7d6564056362a11800cf9b048436391fd4a81761fad66a6a7767fa5bf6d72a4984eb8c2b429fef52dd5bf11936239e1ec75ea6389ce44a5778a9063cbd1b8d2db80451556e5e8e4c9c3e9a561412cc3424b0f12cdbfd046b659c6e6a94eb861e6c29e96aa0e2b0337ab0336f7a705367243592654b02ae726ed3b93a0a36d81f0c26f805c653a3597a64a956bc4ed50e0d6b7c3f0000000007a02447dbdf894e0b61d06f119a9a036c5d692e3bee184eec620829d6acbc08a73c9c76eda92a1f38a2e41f7df2634209fff222fb645e2e8cfef921d5bd1250d9775807a4335b63a602d16dda3cf14b43dbc0678e0f876abcad4a0d87e4f5702548493d8752a60eca27eb2595daa155a46a16405c71b41f07b62c450bd6ff4188e13c6a9fcb3c292c59f650210f71220e96532a81082146cc994866c59aa768ceca6b12e0bfee1b4c8c97371275de2c1344fd46e7d8e2504502506a709b460defa9b242ec280c521f449a1f2e0ff4085a779b56a40b383ab9c9602ba137fe038311b87284e634538bb6403630cb5336d52ce1624128c751011f454a2895ac0de78e302c5cece75df4977e5e852207258d41a0092924a70ad52188127a3ae53e0d209e262dd3235be6034317a89ee27038f72f066364e9276e94ce421d3afa344b245637c58ea271a601437103e8c867c816cd3143133056836d12107795ee7068329e07353c812ff4fc8061d89e151a34e72d20380b1867fdd3dd0f461307304c8fde66105949401faf74188eca002198dcfc3f14fe4c63360a3d6dd4ea8e258e0e6925fc52ae03c504a9488ba911362c3b0a5a0628ec52f873ef4101f9e435077d9e267313d361d232fa5c9ca3c008a14c7d5f548440097d79505d80e5fe748589f4670704b958fa171174095be66a385240332e5afb25ff4d9658d71448434e9c941ecf96d46743b21e63e16b744505b9d30548d4720b0441cc1f72bfe548d7b2f965dc9553390863442610e11f405edede0ceaef1d586daa646b66c2fa6b2d6c910b45e3020b3c64555e36dd7e07e18fa861433b7a71172d4c7157e3325097a73b61c6cd8005775e2f3caad1b360a3a2e74a499cd548dc955554cee8c10126495b580e5aaa0fc5be57106cfef16b199f100dcfc0e62be146ad1dd4c3872475e56b5cb2ff8a6d4c3e7f091afc011865f63e30c6c9434b6174c33603b38649affd895a2b44d5201036030d6239f131b8cfba2576dc5f08435279209b70074f210eae1f530c8c6fc40a8e503a149d07a6c168566eccde37d6f84f4b3376535aa66f1c7293825b1b109344231ca20e1bfc166e56cbc173703a09e31b150d8261a9cd8d6060ddfc135947f3571d5aa8060298613648e73a163dfa4e00e80456051e22123a96324d4c3a89432f476e8a624826da34d0f4bb09b4122b73cf6c08253826ac10d2f6b2678157b455baff796a88539260b955165387828f070093fa0570ca060c8c9e211d9d2fff33dad64b0ee3af3827ae44012d789d095d2907ca247fc729757f9ae52148ff4b6a4607e3409df4ff1d9677fe478d8fa25002f1751bdd625f3e2b5c7623985c14024899ed03390d8a52a6a3db06b74e236a4064266de7810c678edfaa170b3d9f3ec055bb4bc9c4d66f7fb41c4079e3066f55c76a089ced46072dc8f176ceda0e259cd8cb1f92e00d4f1e6244074bb8e76878f0283d72d62e1ec4bc552e44438c2de0f0075f35245d01539ab23b17c4ac2bfe02d42128f9a10071eeae5711ffd220e4f9c61be2edb761eb22c161a5998b2c56277e735c779c102798297799670e2344e604115df81056a3f5515955fc6f5bc0fb824946b76d4ee4124738f02ccf0f1c8ee1189aa5211b8f45943444d6c32b0d26f72c0941ef26d060fa239026df62e7caaa020dd51c103b4e4f1c0851a305ddb62028464140287d3066603ea0e00f5e5a30595e2a860f346db52e891e7c401efb751ed362de487f6dc4200a24fa2631b15b479a3a3a2f0f1250072871252b47c73e74c668e93e796888697cc15c6e1c3e122aa70c9031e9e4df6278ba3e5debc418562e69204d8db4d504b632923b0de40c68c7dfbb626b8cd15a98989e61790e4430b9a0e1113c54181b846b744b1e2d9812e6ef74700db307388db7df139a1ad16b1a8957617a219c6c57aab53703081204a648344799be2748d11af74dd0f4ca089991fc34c874c8776e51cf5740f2ba0a1db92341f09fc72730595102581acf54776a3c05ce93c951dd87da66a32e3043be3dfb1ecd476c1944f11d4bce9d2372e810637578e8763f7265050f96d5c429ee1fa773424212072392d33b236da766ed774d72f9cec324d606f15a11296b4b01be57612797d15bf1162b0ceb7bf0300f4e345bccf3207694b92f1257b27f1718786a5c38492045fdefcf52dab5a449c01a0e1d99406f4e5c23f82b48ab972fb5e544302fa8270a64ba0e206754ff0720836058d50a2165235a4d706e7e220819d45c4f8e210a557026e13a875d5d1216ed1e623c55085405eeb5478bd09433a13d974c4ba83458d46c771032ba5171e4d394734c49aa096c7de474d8532b12f2283a7341a86e1102658415a3d6ea310225f40c650bb80f34d097024618b8222e4d827029239c08d6dbfc0ae7845620d9f9d02cf4d6cd264614605a4893e42dbe667c00ef9b9361121c8d7742e942219b4eb724614042356d8bd044eb615f3ca923bc25d32aea19c681c751711f5160cb0b6d0785a3a9114b8397329af14b3081b3d408bdfc5253c0dbc9143e45f35dcfd8681aee4cc53f3de4ef3089e02b6169fb754e5f0a645a093d350e9c482b12b6feec3819302c707e29d46e202a944ed1edfe27e3a4ab68f0965154161e7e3ef9551718bc1df569e6fe62054624605067687400a3ad873f736ca243d01f2a2bce7bad45b7e9c54c3f4e78551996546c8502504ebe285d3d9a38786e6523c443a86a5248237a9700ccd60920474f032bbfd2413cfc7d7855b153ff0e65297a2062c88465f8746f75c97b9c3f4bbc62112fc3fd0134dc2703bfa38b16929621734d5bd13dd89d234c50a585113e3b510028a7111c77e9f706e95fd3684066e61d21a69f5a9a490d0e9f2e9877ecb3bf54962aec0a4060c24e7814ba0debeaaa5de238ff248f44ff07b327a80adb96e55dbf59ad7721399e570bf40d4dfbe4054a42cf4576a02a4702fe8bf91efcff5b6e44259576ada5c15f3b5e891282cf3c6254c26a32f7c2254749751e26a305c953702d891cf3656b6b780b6212ed2bd15e3219cc557cb7586cbc8188404c141047f3f63f13e9ab2d21ddbfe84242863f2318bf826d39dcc822f8de72622abb51109aaaad70694fd50d6e98a0261ece3b48198e37670048de25ab677e2bcc67bf3b572bfa764e784f415a59511f2ec6c03c9e918d08958b7e189c4a776ec05052397530d9631f64d84502fb0f636c5dae60a2caea0d4b02493775af236ac90be712245c3c067017261eaa77243d6aa7d5072a10171926bd2e4daeca835b3822362131474a0639a3574006fc381927bfe6147a62412f58ccfd35ec3ff33323b06572f3dabc7107974332c46489481a16fc6fdda189156362cb5c158929742c8f832f23e584578f7fa64a9ca1ee679d70712566a423135b6d913d8b44be43b5805657c619da08c4997a4a6b361d0a981e831d008a8a66b0875c5c156f2044d5bf971234761457da7e7e4422d437384062cf74f3f9f94730464f16ab71796249109e25a3726408d9062c48fe25fb6540b3a134283a9701dd3ec702ec830c6a2cc53e4f2559fb1e0ba27f60e687ee3c1aff794ed062e60d68b3961c2e6b7f3b3666e365d351391ad87e4c3b9247632c35235a1d69b76d0b694ee13b6fabe454ce8b4368c4cff94a211fe017d1cd635560792f14371ebe5fb28bd84055fd336793b9a64ec0e7ce0e96651e1fe6ef1f0add8267652d46da687068b024a4325e238bc98a7131ad131a0c78e125e0b9cb094947693a3c3c930efe69fb652f8faa1ae18f7d445d636436d942cb1e14fbab4af94a3e3dbd1a087550826655dffe961157698b44bf4de404e0e15672d19c6211c9778025bf36d077eccd25731533f02a27e4c96cb5dec41972c7eb38b134671a08f805198c95a25428444b5d03af8259a27e4d52ad364d238384ee2936c4233a16ec8a315d257017ec662462556edf5283d5e6175acdf737fb782a198d5a5e3a82a7661435812a17edddb159937a950491ad0b595847916b6b784b2317928165a79b5854f5e1941baefcf552cd587702e2156903021e0c741b90ee66ff601774ae64786945cffd492acaf42098c2ee376da9313cfa0ce97430b53b594e31fb134d6fc10a13eca559fc2c9168ca49b5024d0f1e26f00c777072d1ec0f1773a973b14a570a5595ec35134d8214c643ba413c38a1313553331ce045ba115445fd418ff3904447fb1e36ef729f1e43459223ca91bf13c01d7c7172febf548c4ad710dbe8c75a21f00f6edb01d35252ffa63d7549ba4185a8762469d8024383571b545e1c185350b04e5d50e1f35e2c6a0e461443f45faf428c6223087c1c0776e068ec10e32ca4e6e3715ee9e76998d51559350c8e48af28bb0d6a069c5ee7463d1e69de1638a1ebde5a59fd045915038d035b639d193011905dd11f37649eaab50cf850d562cdaa646fa09e3e72fb840b12d019db2f3dea0a07cbadae194c0af744083b81553294c75d59326f4f5d54a142479b3f11486f325dfb1be3249371862a7a6ba63aad36da727efc8761b44cfa671f5b5325b535ba07ffe31447d8457430ed3c6868479df96a1682c21c0f71721f18bf4a72d07a79482e58e069b0f60f01fbd00872a3b52016ef95686628ab6f3e8aeb1b0c65de81084e882254c2332d50236030347eda8e56ed53404a2f86062a27b7a01f0bfd9a29794e6d460a1b342523cfa44f260cc84a1b8a501351deaa5f8625231227b61c3190d40b627d87542f9856802667986e66a3b44d1cede2ef710eaa7d05a25b3b77cd130825c7f96819f3bae712453a8e74bfd14564859dba32d53e7e4c6b429e5275cdde6db83a75425df0a834106f2165f88beb34307d1d5cb65d1263cd90c70ecdadcf3d69c05759577f31733f729e6458963704efcd416988f10a6f38c2294302b3b60963e7a839e652ad2b3c1c760d525d485fbc8a2f17eab1b90f7ca95b04b38e08668bb7b849f2c1fb59f446ff26861e4d260e0433374b4b3a3e53ee8d6912029c44d94e044bf7609f5df0a2bf0a89cc766c4bf0bb608bae396f3af35a374a82e9306fe56263e52fec688fb37635ec9b5621c782136e6993823bdf528b497696222b1ac8735318c67b138bff09085bbd57060700c02a83242200dc01db74e8f54a63123211640ed41c1a786b04292af90d57bea7076e47be2b25703740081b9c035c790d99755f11c541eeaac12d30259d6fc1044409c7dbf619c8f7092c4cbb410bfecc64639e51ab2f03dd6b2c416ce415320a762f9d48e73ae1f366554c121c4011e38e2fde62942895054163796c104c66349254a5dff90fa1802436191e3963a5a4be56a09fbf1b981e5d259d326107c6fd8e2eb018e069984ddc63195b5915a4544d7410640309613b63159dd0c5114bc0af2517c339047af9c06c1b33623f1a77754887810f41da20824d644d8d3da0ec14454b1cbe6bc679641c84d5bf314aac1e5c905aa741e3230b509c78ac4aab389d5aa5a271503f63a5389df60043a9aea946daa6ac30eb2210470169031737c274415c98370aec859f718bcfcc69e952bd0e9091930a8bdc3850ef4c9660825f2530e297fb74c673d13526f5673d5f019d585bcca73b4065946ef71f1f4ec9a0d419b8e5890b3d342a17c8b934249d16e9079acf106069b66a275b35c938192ac46f2beada76bc860b32f762aa178382696cb70851483944f622d6b5860100000000c7cb375ee906bb12a7ad9014f80d59399f51f82fb66d3372019b7f4fd8fa2c694b690e23d20f0d1639c04a28a5abba4bbc55724b8aa1570954bb5b179dfd020e61dffe0bff36cc6a91476801e5cc5632eff50e1706e96357d8873d256039ed695c87fb087f1c0f69a1a9b90bf0dbf80b74dbc503bcb9af5053fa73390e339a6f80443f3d0763fc741056cb425601933ec5c7134f13448438aeac015bc1afe56fdfdc871da456a85e6d9cc449ba11796413c6a8169e3839110e12c5319e46626b677cf2738e417d488edf6f5fc8047d1fa5c3e2107166283ac7e5ff6301501761da6627724096815e3d0df369b6d92b012e182c3927e99119094bfc3a28778e50f0463d6056c3ad4fb099fe10bd3f0d50c54e4f0ba232096f13e6b64dd9fae55043ffbc5f4e661301194bb9730901bf745891ff0e8c0d343171911319cfbb225f511d5b553694ba3596852e4edca9273d42ceaf430cb83172056c9f3a73287c42c8fc3958c496b26bb305c307bd615347c913fa448484473b4fbcaa2557947e322623484d09d0323bdb3dfc467b5ea068f91c7c4e0f70212667fb113b89ec81331737d5583ee168360e78cd484557a814c492834d2c904216db166027677eab483fc0af4991be180ef4c83375281ea82f32a79508b1081906517dcd151d3d7e69d56462588ef2ec568c399e33d710f11a051f8f596d7cb62c5b4613114c3ddb43d131474fcaa85e1427878d44c939b10bbc7b0b5e4142241e50df6b6a5779553cf8eebd779b301e3bd72df34689cd0238eefb203ce00191425ef7e504fda7bd45ecb7f733b3dcc65dd85730754b4b661869d43609fa97fc20d4120e4f09237343175d0b30acb19874c2f8ab73aedd392e9a5f1b6b1dee3a07d1a6462219a3112c23b7b80483c4910b00a88b1599b56a09e6f11660006526756c85d15401d8d26641721a4f0236ef7535ed9d288eb7131012661e6534c51b4e9d029a769bea6418fc15ee483e77d824500e6517c24229312bb6ea707b0a745141b1bc4a0235080ecfe06b5bcc4c8961c6a009496ca937548e92fe082c7fcf4bd8a02b74ac4e575323d88b330baf955303750d199580c3298a16974d303df425bc46ed10ea5b655878e637436d6a0a0c9e2e681ee63c7d4bfe786b051b91a96ecb965f3f510aaf513b9aa15fdbdef667861de557128fe624592bba10009df32895bd26574473c16745491c7081d9b26d9bc2a051cef9794195b0fa458f642e4ced5e5e3947410043a0c5421578a6276e03ed254e2ac95a5c6eaae257e8e96a360585d47667764d32ccb2030b45a0ff1eaae224217dd90c0113a0df258b7db875a47dd22c356cf041ad9354680c837215e43cbc4df3c70b0e93aa5014587c5c071dc8f26adf654c24306b2f08ab0e706556eeb238734a83655e33610855bded22278ee34d20f09468e1d01408e9c3432ea9dc2d0719aa956c4b13ec160ebf951379cc8924ec8c742190f4ec681535c640553d472429ac453e3168b86a99e7d27781247f485d1bdb3c3c3b4861b30ef672d910251aaa407e1b782b1207df288b26d6863b0a7597431ed8b5cd33bba138725d452c3534c740195241815eedb3d416525f9c0c8823b42330f0a84361e7be2c00e1d9211fb8874ce929a71411b97d19e7e0f960baa2f018cc037a0ecac45225d87a62541bbe424f9be68f2a4a0b9812c7ae796c20cdc7671f11ec250c65fc342bfb0d633761b43af215f21d3f70140a82f09c2ac6e971278b46923c9aa452729b2b800dbdc0af42837576472cd9c55d8d5d1e336eefd81e68c72053ff22250fc0f8345c1d2b4a39c38e6b67f2c71857c80b6843ef20233c6844eb130905e4596775df33ecd68623318a0f2fbf2cef68fd5f8631226ce71fa7adaa26a8be463068e5315440419d4f10061b1838c2ca3be867af349233314227a67b6dd6a34213bfe3c505f30b5f4555bf706f01a92202df8ea96bdd59803e55549c09acdd561d027ce11c1af52577d06460433163241c9a268f4d236e61569bc0c40a3871f105d855f22aa32a8f01d8b8341a51ec6a56a10814413f8633574603ae1ef9af9311b9a23219317ea5424e22864640af9410b893e44eee7a9a4c15181a18a58f7411702d460aa4d5b6006a4f8f199a427e6ca7f90102286c0d36a4901828f785e835eb7e0112d6e3ac5b29da4b0a682c7d4d713614653635914a8636ad0951fab224035c6d234583b86f5dda552391dc660225e499760d69df28592eab57180ed03b972e311b4ab1bb2259d360666619b070a3f0380d90a08809cd8ca42b430674246b39e255a307fa68a4c2a470f28b2b02d297eb1deec1c66a04d57b542c707a44a7456b63998cab2573e54f2d5cb1662baba4c11e5ed4050fa0e4d741ce4588632da4e5149c4f276363040a456f442975c466162faebf11297ffa9847ebe0446256ab82225c7d66049667e1698b65de760959bb4eaf45d4246f310f144aa9b02cbcfe1a47609ba038f232ab4951812c65a6bb85776e1f7f3009c62535c86ba86911f4b225789fab5be774b402bf5fa625e7ee8c4ec07f8b55b33f2405e2d541483a26da047e3e365cfb51e90ac7bdc4649312f2490066c75cf9a99852b878d1008a9c95194e8e6913baceca057c3717074897a54cbc3cfa574d9fc7266fc5a86f72c55429a6774f0731054b1940af3f69ae3a242c4ff2f423a86555082428b61f8fbc7135a68c441868b82b4481d8106e872ee063c8615f12688e0a181955e419d813630a69a4a3746fcb6838903e383cc9e8f83fd28e0774be23273e6772971cf278d50ba1357c176db0dc3b6d97b9511e8e491ad0c5e222469864047fadcb1f4e8d960992ac81449d64236e0915f56280392d7096eeca750f3f296454ac2d62f2bc584e9411d23a8e363720c977423f52b11931b1c8cd7136fddd04caa44417e0c96951a288ec43068cf437a48ec76eb17ed8029e318f6319d951078c12966128847a172f9f8b1d8ad38e242ff64f017b3dfa538a30113809f7b85a7ac539555cf74301fff9e676d26d276b8ce8ce10b7632109e9023e3cca9cce4902840943653aa35b77948906e051183306b1d30870c1184c8dfdb061a5d0b7594e1f6b70501654270ba97f6efcb52c481f35351dc7de1743fc382262f4328b27ddec41738df1c51e73c05e6ba134b33adf6eb31798bc4629cf4be94fa8783b5c1c93ac52ddcfbd3e7bc0d16d43ad8769438a4e0ca5504524cd339a0b4d16fa6f8113ba2721d94865a68cd146ae966012814c324a15c2f8069d82385bb53ca947ab20a62f276ca7722caa4728a6bfb13fd0c63e06bda4c84f5bc6ae0fbf9da0341b49726c57b1ed34b44f4d36d7a6dc7291cea43a1858d36470dc2d1a23bb452a4a84dc17609200128752241ca08135157966805010bfeb759580316611b739316d36ba778aae68399e47e828e80c6d1d08a67b22db743a422a60aa63981ffb6b30843e30d3dacd39afb0f25b39fa7006c4607566aac04c01795cc03ede80743f3fcf160ed01e45385095fb1188da333fcff6c25c1c82ef65a36b4608903b7b31c6269132d0850a0f6c1f4a709af568283e4a6f2641a8935a316fe028635e6b04b1c03b24c67e103412cd4942ed6a346271272104e7a973426d826827dd802f72c2d03e17e90133407ae9057125138358e026595f14bf41000614124a113ecf1e7aaddd0f8d00e01663d9ee49feca4d5b98069a4c292ac500514f9252a008b1229dac7d6d98371e7328e2ee10f8cb93109e234173871f7a19aabab13371e79a74b35a89501c65a5093e71826f378e0f15bc7ea873cff86754cc1ab24ba1be8415e3fb151827122c6c0cd2e35e16bacd66d844ab18af9a9d4af7e3480810c06607f0ae0363ffeb6b4f757d634652f380624b6dee258f12bc2b0e83e03aa618a927bba21365fbaa7b1bb5ed084f97b1976ae31afa48d7bff00c79a43f11ee391d380bb370534170d074c2d9812a8c8df9528ff20776439c0244dcc65068e7c0e05aed339c24e9af6d4d638d19429f7c23207b9b3442e5928d16219ba406a8807c3497b8ca47fc9002219c65b262b260ec700be6c943fcd85b3ee7030a32e1dfb9561b6dba5da2b8272a3c549339e3d6d05104d2ad122384dc5fb131590a45c96413f197ed5d806d5b4e99e3741b8cafc145ca711029ab9e6913950a0173355044202620366c7af9f042a29bc105feb3cd106d6c310af6fa8046f6c5e41cc73f31289e0d9b590f58c03d6274c03753032d017925a25becf28b357ca5213ef946423e83772a256c9c820939321008b7fc0a600cd5d765c75f212931d12f3043abda4174c8ae72e9f28f5f44f073661cbaac5977891e13d72ead5afe0a010cb1ed1516b955f14bc85adc542fec7a2721daf448e2b9131a5524c55009cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83b621b50366883b600aeb3ce0891f9f4639582e44a9eb0b85f86d62f001a9b9f728fe3576a40e5894d91ecd4491df40336a398f437e248eb31aeefa82dc176b10e6f69555f66aaad378a5fdc704125b2246de70b3c2fb61809920dc92bd414cd4e1bcd9a74b9ff24433d78a243d5566c76cdfb516a6f46423f168c9148b8d471022b3533777f16802e37045320203f4f12ed724a2dc284a256b8e72c53958c694c08a62f701b20a15360e4a5461588a804b59c2658a2a113436439ab22f221601142fd452e3260c0051c72083aec864d178a1a6c4509e9204ca750443bdef63d05ff4bb7140e1cf51e3e8a9a5683c2b037bc991f242e625d253098f50aee7fca69ecfe523f06f6db39e09f730e651a16709e985d500389ae01a74ba736134fa03c80c5ab1d0d289848d493d06011f9cb35972b7071be77b915bb4d23534a14bc51b407ff4f04df4e01b9bd2c3578858f0da0a09365169d6714c8796710d62e80135f007f42821c0b013d8e095632061667802ee02841a8674640321b0bb7d5143a9873bc18eb86632cb9725507ca73bf377b86534aea2b235fc2af2323845171077bd26516871ebe414b0ce95b7e506351f83a5041130c29384659a10cbce46d0825ebe34e0f32e11868b26f1f52b3e737863d49465776c20058293f5a52b5936f5b2381071fff5605dc413a111ff1bd71b6570350a764816cb0da8c4dd785f93effa4b82e436d836513683f31c64d8804df0f0f1626dc182e2f93c6365eb1d116a841736b8dcce028d5bd885ac7dd3f12776f22152a3f606b0cf2cd1dc480916621164a42546a12038bce484ac9a80c4d7efcbd2a6bb6fa0cda64785e2b7ed8524dc78b479ac1f54446f83a68bb89e0705ed23a7223d70168da248f106c6f2c2d0ae8922b5e1cbe37a078444b51fbf347e37b6d18ada0bd3084d983395dbd842e8ed13233fd8ca419287b806b862d3c74bec96426c08394649933f875d2ecf84c92199159c2e6b12bcb659e276f54ad25b614146a5a594565f623915f895ad470a219cd50ec8dc3763f8a7b4a4c53b51a733e30750b8b3c380395c44dd83fd71242a4750b34251a433060711d7c055742f5782c0dde806942f5454c02982b8b097195383021b8a014d53ada0cfcc5b06f7bfae14581a6f10d6c7e7d4977f2575a7d1a4740fd9ebf391c8e072231677c092c40f25e85919c167ea6633fd6430103ba5e9f391e71154a4c28536d4c79225f26a2df437e5ea56b39cbea3ea1200f236903921ca79b4e4ceb9aab5900000000a9e85e5291e2812515e5180e4632410b9adad263093bb808dd0ada5952da8864642f3476f11ce668b5a12c053401ca4ce16b3811f0d09e5a7a4e6b5aef4137503ef6a94ba62d4c45904f500f3b5e2314cb9ed1408ed3956d80b56342bc698b50eeee771104b2631e9ee5fa4fefb649339fe31103b988126ecf1a303a68444724cb29950711dc2c3ccbe48725800c2e614f0e2928eea0b62c7948c62db8126067dbc6d119e1faf838d8d53b593abdfe0140113468ec76dd5b7be83a69f30c040afa1d8174c709980379b8061ca786b6590c71b34eeffbe54114dca62dcd94fb03f50a601872cb3b15bfe4066d798e002699fdd14dfce4f14852584a282753af157ba7856af1ff1e73f2cad0635eaeb453e17e8257901567714c4ecb6f82c4f9530c0ca5131d22067707bd390e668f42136eca8200272f4c46f59d870ebf982b622b97111f2b89e759fcf89e64402260056657b57709253d6bfa6f1426477b8d4f13c284110fe2182b227b2014f6ce4b145f4b062bfdee2b0ac72370430265dd433384152c8451321118e3e166fa55570585545d35a9e667584927cc4f3e3673714c89de0231db8970978b9a70fc0cc01e14b9f33818c5925b7d1173310d73d6133968252b988cbc1e88b739468fbde92ea552574a68f5d66a42ae8b3c74d46d2f8433dc6d1013ee6f59f1e8025289da505793d73b45699a4c58bd073fcc30e83bf4dded45e483964c687e6829fca7476d4fe6dd6036b7816cd23f334320af243077afc56128ac7820ef0371613399995d2fb7244aa88a790ef89fd71a5bbe512c35ea201e6c9fbb00044d45340838251c395ea641a97f2a55ecb9fd26eafefc576f4c5c69db6ca663b120a13df3414c62dff6020eee858b101d30ae6ce17c3a72438e2c07ea407a411b21aa27e6e8b45f46fbf44448f1a567e9eb87544f3c7e6682991d447541ee0cee23213eaaa19f6e46c0a369561b2807aa66743b8a3c493dda8f2e5e9f9e53225b756c69b359d102ac3b873cb1331e6b1058d61ab9968b2c80b6c815ac1c5236c77af7573daeb9282b252a0b73aa27564085bc750377fe26d79cae4bc8c8e214425d5d33d43d71206e95880581f2a82e94f229635948376e74b186238244e0687eef4564ff1f9745471bb226ffbb0a001f4c1e408da4ba1d575c7e5bafa30e458e6c40163ef15c538d299b3b94f8f16f4f7b3a3562f7af6198d1865d2ea6d242820adc029082b84f3c4b870f6730ce4515d8ab6677fd8d44c059f32af9ce260ba835c11a0af30d5b1b47b95ea8acd51094d732765dd31700a7981444a554d30330eee645ef05655c0e6f2e1fd007ef4dae04ba4734b9a84bd5099e28c347d9711f27137512a7c80ad343eb6b46ca832b7dbb53581de32e55cebff5724b7d3f70a1ee2e455a273225914bfa5e50420217fa7dfb4527a663033199615bc05b9511c6563f719c022c432a0a190c942c5d539a16de4969856b597322c317d6ab563ee0917627f7ef6709a33d47392b4a5e7424e8da1636d36947450ca53c1878de36ce2d6c4edecc8c0a3032d607f556524827aee96828448d2caa15ea582715fe12456e7e443a6c6c74bd577b5b5b586608e2a43a199c83081b19a20c550261833a6ec94f2c50b99f26c660d84dfc44ab4a60df2e57df37ab732966f30b317d26294a013944b15a4861a5c361191b890022a611f800506e7239d284f34f8c13461852e40123d06bfa6cf4b2f237c2b09742a727f41d5815fd6e89b2031ebab22e72d881b6210cd47d34d8c30d742b38ea1d20a3a0332ac1cb2c58aad13c41e300720cb958368818b06e1d2fa542a6b62b059b394a0554545e13c2f77646a4a0cc6c755fa961c8033022d194fb429cdf234c3877210aff1f55007fddbc571f550b1c9c2e7665abe6ba44f29a3d37a1d7bf0c65c90c1046437b2d8f47fc079e12a408c81bd42d4ccd464dacf3e773ecbfd028b0db15418dab120541846447c4c4650da606e54238b4332866db530bffa26e1a140e0b3b14bc696efc7b9a49c4df18674a18be31473dd720b9ef4b113b28bb30d1225e215404484dbb0187283fbf3a302d6ee46996ad76312c7409255b8213069706ae210e0c09041c7d283f02bcfb21f63fba05708c4b56e978aa7714a52c37a05f806a13e6b432b1d53132ffc6123513171e75636e2e14042b3a01405f9e3712584d6dc8cf4325ce7be95800aa7024ca5de70b2e7b5b76b029cd202f751454ba8a4d730fd76e3cd8118e3c013541502084e34afa93836ca1472624e7b50c3f4104b00376a9e0574d45bf7082d2262dc78e1e47b864185b69ea6a6a3c6aab0eeb85e83665ff3140eb4696751d8cfb6f3ea9ab52c0ef054804a6483729b7ba1c3931495cf0255a15308755310ca18407c807a437b88e3f33416bb246e555173d42e59715ad9d36318efddb1bee11f12119f2b50c6df10c5b7cb4e610b9c7a5472abeb001b2e00e104ddc8c0f049fb63e22db7414f5f9c01f064f3960ff6ba9056bafaa24bdd3d0616084dc6530f83774f5d5844e270dcf65a4a644660ecf83079e10fa2c45b71a62dd1c0256641e1c454d2e050b66f8e155df76ee72f22ca8545a6ce65ea0d3052e170ff74735214a1e8474c43bd8dd70334e855702e5403c57908aa45a3502fb07624d3b77ad2d924e4212dd51555bf3214b33a759220daa39e148f827542e1e49a8ae3676ba4397102154387735b5381645277352607f47353cd25a41199c4c16b73cb734492ad72bfdfb774ac227ad3beaa7ef48d365f1750922c76468a08d72ff933364e2dcbd0ba0a70440071989532d497c009db4b935ff9ff6576cbe9e458c7b3450c5189d74056f546f9fddd248b5274c2f8f4ec45d2b65ed297ee8e1002e1ace37cfe1174a4f38575f437ef9748fceec6ced4b483832a11c0793211e077db22228bd2c23673c3dd95893808f2a961cce659867ce38a737272ac68ccd4bb1f7041e7d6b4032bb45c50d31e6d81b85310123541810206f4f502650b51825af63a121ac9fa04e878e0f363436d37253358004581e535692d6aa322364eb0138d2aa3deb3dfd0af8985930ee9df763f942797443480125898c5b370cc00a01ac1b416b5ae9753b3af1641f5b7ca51fd41e33224cc4d546accc2b04912b384b96f961515a1a4e499dfae943a0aa2919023e544a4dc3f51bc8960a4d9443fe600e62576e80f31a15cfba91125f8c7405c6ec2d62fa70254c215cf15d1a308067ebf67244be173e2515fd6504b719a25559c11d3ac3c90d3224ea164ccf2aa267caaaab2b5d4c5832d63af421d7c40b46d9514d1d074ab96ade6dc548ccab3e274839b92a5db7d307a2b584319286173eae1cda4407da8a5ebda7d755007d3a689bc8e7662dda8b2e947b37069f53116aef3441593a989e41fada54208ab72f1576020f29a3e5922cc56450162dceb01f4d8c146d4dab0d5f74b7df2663c48433b31ce00c44284a67e2c3a24df3064018d33d3d49a6f015267d71624cab7cd319ac9bc829b0ee780a4397ba01b9476d5a95844c172aac7c3eaa6f252e1f93c96b4d3d793dd283d169aea35465517fb8117fe7ca6742d5804b99f9960ab4ecd01cf4976659eed8041ce08c3261f58c694f26946314e620344c47294a71d9669533d9c95747cefa736a3433b31931f23035373fa306370d466c6d53966bb43642244a2ebc3d1afcd250e63502352caa1c76da06c55b06a3aa5b0df3fa2e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d4e62295634061666e3452506519784650cc8d66f194a136beb23720f9ce60815fb30033d33cdb31f900cb249243f297039124842acdfa1461277db4d2c8ac65edd93620e90c73547c16d4a0f77627e3d555e815c0afc7c34f96b94453eeda02c015bba5a32f3873e72a5a710b3dcf70834a8a00c310b92409b2bdb73dc508a3956509f4578b2ca4d6df7995da562c81f21e67c77a1c71c64c1e0f354f5e6802a5466ed7531ac8b04d438a205fde8ef0bf387a8758b017929c856de582b60bb1c59382215c79e3c237cd28654497b041ca7d4a34f4054d731a29e475861f1370f83ab94047be82b653d23be113521ca70fe94f4471b2e6b3c0da5c523b41f4c552b6e6817257f8463efd5332c0a699d1c0334064bd50c3f08c002724148834d26255cf16b18065b09b9288a708fc0d100b4d6f60c1020142eee1a733e2d9a7e64982e641bddbbc03d236d560650f12b46314def2a267d053c7fd5695e25db7e3a23eb076ac066234c60c9a357b03fc96fabf8b259b3d3635ba280233880467c12c54c79532a6db23937fabe288741a33618ebc86746a87305e4238709cce5da1cbd87c26283b9f343a75d1b2e81e4d74c1c954656e8cd090161922d2e909caf3569de1638a1ebde5a59fd045915038d035b639d193011905dd11f37649eaab50cd829883aff85306d5235c164b3bc1d06cbd950422d36f740b5ca2d397e180f7303fc4a513ac38328eee1c836a6d2f92650ae3721f7e3c772cc864158c786fb1fec56893493f50c291544e0147d9f17174ebe4c3a0706aa1b20b22232b9ae993ddf1f38632a3f5148de3dc46a92c82430d0fa4f25c5817209a5fb1a3f19813b6ca7133a151c681e6329bbdc418c0d935cf130c11333e8406fc8c5804dae51546ddf058a68ae86bf1dd53df21177ea99010bab4419e63e72278a6c4676e2361f2849cce6258e924f61bf1f336abe2b55051c93ae1438e919405915190a13334e3d7bff774389778e7441023f4edc25394c49aaf8100af088431326cf09f89cad0da2f7f8134797b81018aaa56d3b8c3b510d18d724b4e0803bd47a1a065e15b9469352491240de401002838a29942fe040768a64770c0135743eb3060388729c3b60d8571ed9646e73aacf6b187b4727063e2a49422b9eee11037a5f146b5df644cf44e576e797ac4a4ad75a0236640309b215e750b361ea325fe2f44899fc074540c84909a8575c49505fc87248a4ed5c606aec661692b03f3d588c686176691a19d74c1bb043af05a5ba9361419f9a014d0920118cb2ee195d27b65f1e03c91e9b89c676e240401d4abfd103c6a4930a4ba1b074acd54f02e6afdf38e6067f3713591a25663c0f054b90b662abc5a3320b579d06b101280073454e052a9cc9228b6854558759f11556cb952f61545c19019b663725edcb170808bf68d7824a3d4fc6f226fb50a4672985fb2157ed136ef44d2e6d0cc3bd167e91dc46b70b5215c455d43e0982991e1111aa02b398fb1afafef754b7afa22f72b07354ff1a3622522d4f3045e293423799f43f6bbf7b09123b14445596a15a9065fb013de3385927ab020715f8eb2c53631469bcf5c20739e81655fdb8383107669b715d180d2d7f81135f0700bb3f2f23c12b1aea614601cc3508ecec604d92c5724c8444f53ac56f9a0c15977a5b00213e10dbb1205a913aed1b20c1ac5e81affb4069261e4bfe95526436451752ab3ad8437a47754c12c02523a5a0491718f85e7147fc890ffa4ce72e5acc6d4b62a8440598e92721a4c15f0594123e2bb482d6696812165450b338359076301766273144b6b31b352b25d64d90d7f12707b97c75eed0800e6d6a772ac5cece5c98782d13b88fe141b898201d53a7fb5c2dbaf83e7f7c3f719941cc07d919541cefd1066fad06912df89c756bf93de41be24d492e94c1741c89c88d3ef4f4af5f7776d421000000008dd29b67f45201715f840f737c4e830bbe33f712102d141916b62f434cfa0931da2aec3642c2ce1c3681975f917e43573e68293913986837fc5fe520743cf34c77b5e424cbd8dd3d61de502f7d6e5201e0572e0e42b2b66973be6e3c6a90676f4916b53033042d553c7f6362919c430f99a199608746242c48f4bf09a1deb464799b12004bb801199a3cfc02e1bcd528fb248257d0a19418794802584e65df258c449259fcb1b712f7e1682fce011161f30b113a9e032e0602567d19216efd292320a41ecee3735c26e88f6e7a40246e41cb547322f27b1b9d737a1aff0eda71b98d84588d63326e6de4264b9aab50500e4e534a56bc7b4d6d31104883606832255d93765f97b1476e607015287c09771270d85d7fc3665137755021c8bd4a5abdd85d2b910e1c13175a3176b2510b65f74724155163cc2ae0d439758464e665cfc4ee3fdc0c8b210e84a5775d612077d1b6fe42752c8d26b94f614a3a907e4e57d8ed6c7fe53c1e663982260c031d00a10f9e134d68785cb331a22836265247784cc85165efd20f907ba23852bf35312122a3277e8022193bcb3c55ab4b1b465615ff72b0414c36f48f443ea9ecb8178e3bd15385c45625cb9d19285163c67195e690249456124c4dee3c3e3d8d42773376cf1d9b1acb20ee864c43b5bcd00fd17e4d03fc487b0c182f1b35fed43a2adc62523d5fa9594faaacc927081b22349bd4fd2b1c450d401cce7354ba87a8627617b320a2a045569f3d0267421a7619e28c316a23c87a2f04b0d577dccf58023ff5a83a1d4d4546aac8dc6471ae0435a955c10b55d70d2d2bbf033bb02d1109f50cf84c63f13005d54d747314c65e679ca94f778930886baa331873e0b6a52cd57ed2393c2aba24f16ddc4e41bd3b0a54cb754512554b2e1d29135d1d7d6233a15547527f9886518097bd0b3782f21f73623a0fcfec8f18fc113c372d94f2396344ba10c7edfb5757f9c35d6e749262184fc24778fa202c27e40365ef86094acad3cb516e95302b1f25c2285fc6123b3fe9b96da1d71a110b17b71c1380e160a13fc23215629373532a7021594f3d6645fb101e8cda4431f5980f2ae5e3e4669d2d6300bfc2f10560924273c18aac2628398b4443a45e09405f7f62751849112cfa8c1c6cc81a6c5145bb0d9d2bec3150f2a668fc1ec6592e6cbe4ae0145966b2b4e24a6d07ae419f9fe83330980b036b79800735f2c2108659462e5a9de01199827502526db9015a49ac3ea1759b165007bb5b57666a118711125717d0233ce314132bbba3e23998f9eb25c88cc8187f8295340781767020bcf866671c35299daff84791d097652495050d7c635833dc71321429a3c5387d185a0dc3cd361b1d8b21265182d05a32f0cb4c113ffb56f46a96069dd1702a22829720a6bd162f134b4323ecb2355359cabf74d950e80d6b5d7f4001a84d4a59201f27f807ef41bd36eb5fed4c99746cc5586e74390e1ace8dac5c40337b5bc2de225faeb04a571bbfa42b11a5443e8493e072e9974e0879065628dfa8d72ba187d868806a880909504f00dd01534a0d04ee6ffed1b6180bc62f5a605cc53de6aeaf3761df87485ab6ef2bd782b2051ad0c6595ed8bd71e8cbfd3966a49a55e78c9f2efd96f33a7f086a1673153e767f301a41e8a7a42cfb9d7d275c62920347b93213dff3f370d9c0251a4ab3be5f476f89237691120fbaf74f344e61d26adbb1424617e512432338d13b9eccbc58ce92f14e70e1690ceb55a744382db8698eade33ac1b7ad4e75fa3a423460c20bf730c74bc57cbf46b6da092e9fbd1f125b10486226fc892120c5b4668dea7701b396053e7b10f628a6728668e4a01653ce26511cabe083589e43e25770df4a2d4b7ef21365ab7c488a779212fd8d5a4fb964263d1bbf9f05b1b7cd0e2ac690094f71904684ccb5342b90ba1a7edd2e681bf8cf45bdb4e43d6d9b3474ff6e4b0318840329785f6e2ec4bc714876a2b549797c1663edb083394da92d1a60eab543d2f8602a5cf65b72321b9869af805a17d39e8d0e8e67880fda95240adc1b8a163e6294204e0f5d30987c637077b54226ec092652c6310047de0747494b783630e9cd00687af2015dc692b91c5854e06860bdc85cb9060240724e1b553680a50e20bd373208b5442b3a385f40a738c855cd230b389fec3e4f82627930b5b8436ee4f6516f0262e5172674e6432af1932485dcc976d617a855df56ca4f37804018d98d10092d38ab236895ea1897b22077e1c3e16a2ff0ee515ebd191318971a72e9ce9976848b14611f284c302dd77452cc1775021ba41d6d01a8b059e62db262a271e316fb0ea33c0fde8203ef9c0a49c9a2a366f612f432e9106f4dab42452dedfb601c2d9ec95ae3f5de5979e2a36e4c058060fe1f3d22de26f6399857b03a3197a609742fd3597e1775280dd7a94860f2351166c1d818f339ef52eb932310f548e55894d2a21f763d520f139bc204d5197a1ae9f8d31722a0e02712357e1f08354f272c7b643bca179871c3f7ca420f0e0757d81f3e61793e2b354878b15a83b30e58c5bb433bb44324324761315832ef43689643521a28e8af051c1e874b10b58523de11d15dff6fff4f8a499b57de50f94e5058096f59b1ec41d02a0d100f8db03163538a11c3571669fa7c6c102693d262052be41cae5cc64c4c850f0755f2e463304e41522150165532cd0e3a26c7232e15677624799a24672a1b16500b23880112f2280a15ed226c68f75118e2a3e946e9b9191ae54daf7664fa412af80d73554881545e8b4cdc3dc9ebc816e9be282132016d057ab0772ce1c57558e0e8702ea1cc8f567dbc71583684dd2b1a1216048fbfb25e179a56534d63e839f5eb7916e4be652c07c5580d5707200d4f98f3337e4a9911a812a6734292dd612193230f1ffba85d25a6490b59d2a36ecaf1783b26900a6e31c7cd18a5582d59f76f8f360632341a9a9d8f623a618f40a1eb6747d2c0bd1ccfd3f0574359d32811f11f143a12bd6ac9304427496f050f3046b54bdad3f8267aa59558e3d3e817381a3237eaeafd4341b28c03bbf78500e801bc4213f29405f972102b42c8a00c71caa202748b7b0a5df39c50944a190d81c89a734dc5213069c9d7018276544c130412281e5f00774cd4c535f5f4d005a434a548bb06d8728a5bb626b7536447dcc188492c263b356e54846d9c2e7c27105be84b69ae1675e911de28ed3e924102541d3ff81f4e645b8a693405c43147ec9a510e3d471c26f205556b41db784754b93a4174593363be3701673d8dcb581f5e927565fa1e0c4f860d6efb52f060a5b3434806d8b626d806f60d42683232b7a34941c9f1b9735c4c6c7375ef4671185bde22fa983f5079161c16d6e4cd1b78331d52068d731bc98bda329c4e6872bd4548655da1c554c4aae26fa1d16b58715bb777bb118f138296c523a065b15654c1436b92c1db33c26f2802862d9a3404ad5b64bba8022bcd7daf15646ebb6724b3a927e0e79105e9d19c4356ebce13f386ed4b4751031559a58c529d857c1a0ef03639cecce402621f3a560e108a3593c1482015728f53e332aa75f43b2b2e5461373cc9b99d1af3cde42788808e1d567846722004dc113224306503c863284c0e640c5e7a9c2835d662729ebaf81ade3a6f07dc52c02be883313bea99c17692093923a4fc825369dc5c6f32fadf5cc7111c5ad7d07243d4e9b1161c6fbe5b45956b3d4e32163efa35d9731d4ffc5641c132513c92df56e5122956924f744cf92fd70a16a8e44fed27a33d7b167844db5c5c266c2a70464dc2a830443454580ee8a521445f06124a099b56d566cb75f72b306f3804455f24c26e5147d36e75be68b65fa74a5674b0c61b4a39899e4851a7815fa41d6c330ab0ad5f627eb95e618fda12e2e3a938f44dad5947feda7543620b32705b9207beed265865df120001dd0a3cbeb76563e55ab64f8607b93992261d57c498ae69562eea3ee2c7fd702ca3ed6bfe734d36293b70595300ca6a4924081a3dead94c63479f0eb3987517b1742009b9964a65e94f5011fb65b05b1875b75fbc43e13354332d18b52c6f129d89b74f72ac80438c684c1e1cbe5b10b08f442dfe8ee2604ec87644978ccc45a3aad6726530e871acde66730e21bd12bd5886136020104d2bf60c3e00bcc9370fe69773539e2b3b0b5c9e500ccb4d02c1cc380434731d60d83de759fee5b8156dc2212e778fbc3a41af0e455843f1315023bc20db32bf049c33f73a40bcc271e07da438887fce193cc817701f8dd913ef22994486b9ed632a49f64fc5c1a021af2580499e2a72193ef3b55e2e96fd1351556a310565e651257f5060a92a3760f1830d6317497a37733fed0e2091df0be649df345755dd4bddcf4346218d0f259b67dc49a733530e7e97773e2dc2e6390deddd29e6c69339bac40a563f94d03ec8a0a6414c6f6e15e17ca467823e56312aadeb74d08e6604673f9b17a3c1b041d6853448413b3f7656c6f61cd3fdda3a8ce7675863094c586c4888239f7ec739faf9b961e496a95224ec1d210f5b456eaa2dfa0570b1d5039727332f83819e6b07e03132de6e0f3bc6c35e06a9d41c331881c103aec4404f288afa4949ec4451bc684e29c8f78d050fc1d44cc1ee746130b0e76dc5de3015be34b93f089b8e422c85312bb5f10b1b4b288501f667d75d3e66f74956b41002e6d49125d7e0992679e149529b0bf164e00e7d2db8cedc30fe734b661193bd3d4270b15c67e9806ee687d94435972e2af9e5e755c4ce8865db157d04a8aaa7133b67ee38842ea6361cad362d898bcd27eaba9907e399fb47885c593e537aec5ba7a94302cab0ec34b9e0ee0d00d4145110a3722d7a7baa5546800400f7d9141f3efd2b6a9066b356c6f0f025efd2974b5dcb55596dd43247a76fe94fbece896d10a5641427901926fef9ad4ed9943f6e6c71a8547f407826b3793907563825518b62bc48dbd2de5d45041b36ee01782087d04c1a50f3252d88823f6e759b24237828322fcc7d1f509596a00c630c9c5218be6e2fc42c2a5b8232681e532f15369b839935c78a0777d7373540af75ab58b0d8333172f67b2c54b4e8653076fe1d3149b80d8dc53c507ceb2b66bab3e51552848747e991fb5f8253a1030b103c6817eb9a1ad5675d730d256a594e0506743bd0a3076bc75a4a906e255538ba5c22862f7104cd1932109d12b2138cc86e2906026e49492bb528997fe1563b77580e5b523f38207aa9076736581dbe784153e0e057306a8ef12ea19f9e31778e7d2f08483c5714103d5262d64a4552a82312f60dbd21e7fc4b4508e96156e94618178d15a108902171449205d43a76cc8e10571fd52ebb7a8e7779c80745c8386010fb919c6fa8cb756bc655ed1aed33d330b5f7f7006f090c453ddac677c1ebaf0435df9b319bf7690e16611b162bf49b011493a50f589f60483dc79b52df20b551fe4aa51b32f5491f2885983f9e28676e27791b3d1fc30942e46fa815d8c51f63c03cb5712f85fa3f46af1e3c0fc36c15043f3919260ac44db530264059ed7a262a03ee12614274620038e4056c09af399b3eac70b879dd698e908a15e3b96a6e552e24398fc0c74a75731213a01fcc00606a6f4268106c45d863291407d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea275c2b7401f04889e2048acdd2d9e0f494276a77d3a944c9e35e702f650000000003b47cc329ea15601b615654237173308c7b0185a79e5624a1bb2696167df8d1ec8863a70435b5a2a01452d2b00403c2d69fc8263cd9b916c2d64744e9c72340ccdb66962eaab18345abe3f57f9efe7064e64752d69392c037b4a50567f54710d1c457667eb0460299e2816074730d15b668f7138ec930b318704e72b468ff531a27d786b75a27f47d45e78222a54c3477d1cb54013cde86afa177c113d6e0b0e16211042dded0465f117454add363a6908e767672fcb1406cfed6b08638edb22a321d54b04d8683225e23368f77ce635ccb91821bdf868598044283e7b7f5b2cc738bd0e9eb4582006487d4c1b6edd2e97bf614303155d463126cd5c6962b468f560f36d66bf63123c192f67558733346182e61a62e905732e085a348084ef0bf12db23d5eeeaa269282eb3b448c3c0e62945a3f5aa8da5ecbcffa222301e145daa7ae01898d215f83e1f84951e7ab0bc852683ee86b3d44ea62ab10ab4726549a7587072d90471ce3bf8a0fbf60e22e164c9a46ab30075604aa955f7a5f883d2e78852e198bfa695165ca03e9421e20976c8242a02e11706924d55fc72ace4ef372b9613346b50f1be72536c1dbbe37ceba51265aac955ea2d94e16bbcffb0440f7ce174f96b070081f9230dc4f6818cf23ac0dd3e8e6074b7d655d78356a5fe44b4473d60a966a6a6b080b515e9f534682b1255eea045764724a6c520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00b4c3de7722ec3a732f7ada1041eb2c206462c4123ea2b92744ac74b38c036b51d82f9a73083cd9e70825dbb015dd13c5e642d28532b13912444ba2265bdab53669222350119b76424e66d716170ab503ff3654616edd20c2282d213596577d83cc5cb1828df577a126735e50c85aaba29e60b7758f1d07f1afbe8080023fa3c6178200f4d5c6208019136490cecd9c348a11d166b38970228d9644d45b7406d58fa694a05d16efb2a876c045e4f9ee822397d250a240d4e0efaba83580f10cb0775501b007a7af71fb19e243536080066030c7f1f1480371707f3a34f98e756104cc62d419fa5b46c26ec88004151aa28b2651907f364c77198f45c47283b5c4b0d5f5f72074700235e9f100de230525835210940bda0441cd75aa349f6de0c40e4675776e348486bc81a9819aaf7640e37d1db5780daa303cbc31709a6485400dda9654263d28773d8afd1426bbaa90368f35c3671abdf6822c62173c14f9d0b75d0350b3663e24c415ee173a170c8776f2ab81bbea88d1f513fe91ec618926ad0887b0f78fde103fb892e2635ac2c31b15af61ce206ec3e2a4f3752e64e7c23c366c643dc14fa1d040eb755ff10a748b1fb5b6f095cb3694d274f2f48e5943278ddf66e64c05047ba2fc2186622e51cafe5c7673194590527ba8e4e89336308536dde64d51c1c141d98524e16b105395ad6d05ba26d2376c2bcce223efe7328b88532201ae3dc6c62ef0a32ddf1bb2ab810c510494ae84f00016a540afb6a224b1da70a26090251d1f76302ebcb90149831a60401ba5554c3b6004e970f974d60436517b56e0650925f825438175b571d051a1b1a8bf80ef5755d410f2cd9055457c116d0d64a76232a345ec20c91716f91823bdeea7c4f5333764057ae7653c452965ca6f4ca49fd961b17cf2c920d52ae9270470400054333736fec64fc75502987391448246919921925c583d4197115433442f0cd44cd44ba211b880f426ef2b94d797e5d43401e0f0d1f249e5624372d089da6eb45e6578a1c85025534e79f1c09de84b62bef2f48341d48ec6c8f012844400a1a400360ad38aeb6d76c0491bc4e5afe975648b56e5a2a416e6b3e07bd52b369055103d3e04a6b6e315b3ecccd6defa93a43ef7e5e6fbef9210e9c79e55f546c5f063c92201afed3113813ad6f036ccd4a4e62ff3908f644906e3a74e162e84bc7575525bb49f88423657f91ba04f64afd3ae68f4e58d100b63a682328680a289e06aec09669f651b15651d5ad49b34c4176fe66b20d979f5c47a167c354e421e3345400190b589a771b903eb50cb4c852516cad7d5898d8e0028237fa69873f061136a1123116949e133cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b43fda8137861166afb526c23e8e4a112a78c1305f3eb1b513269fc6ea7d130629f9d92298279a502d944db3ab170184d4e94a7149f868b60cd30941c6a6dbf6b31d42b4b755893629310a31c331c3a0454aa84355f88a876a7b7ab5e21f4ab538c86aa0c61e3fd721e0bac19d22151390ae95a69419b104b38981b3bd40fb3440149676ad93b7b3d3772da138c4ee0263e0019388846b377ead1f238d435c56eee892804702fce4af9f8fc0ac8f37e24eb9c2c19b4272936eec1ba5544d30022020fd656ad9eee43eadf5153d610c13c8f59041dbed6360f23923e7421732442e012003239e60f2e63cf6d0a7a0faa11df562101b2be86423934a94d567d4e05b87c3954c9abd90923fa3228a414b31b43496e3a6d012540088a1b670c395f304f7aa2280af84f345853f332be67a471c1c66036abbe541b707596515d73fb03caf7f1740f6c1c37af6bc81a9a84e35d9fa5156aa9d3cf34bdebd0571356f36a863fb46888c87d53337bf75fa646082261edec67547405600a995b51b0cb231ff265d53bd25bbb52fd2ac6329485d13efca502392ba4372858b0fe2e25ea786313df6f5a7cff1821f085532aa3d1742b467c272043a0943c1b73f3108682de7085c6905cc0641c74ed05fb51bc40ba685ea5de2aeb5a542209a61c06dbdb987630c040537d75b718561ffd2f52a77e24187b146ab2c5b92245e5ef4acf93362b4b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5556f1495ad98d9b4dc2caf05d7fc859064d4999021ac7ad08058f3707c260596ac61f8a51078d7a72137bf11f2031d26080c150612a4a50505455b868282fb232283a371cacb2c63a32fd5351deb1e451dec92a452577c5450e2eb40487ec1775f519d62f62c7751274ea23284b1a3f269e510e738c9b646281c492164effb53a43dbff0a2c7e27693544d96d129c81595e71e7410c10c2662f8e49639114a5562b72e7064bbf6c0d09d3ef0c7a5248771e202a0870b7e83e17b2cd65b2064d66c260f14d2cd04a14e110b677cac2950612f7b35184b3f003b51b623d7e785e47a3cd4f5c8bc19a472767d84e6cfdc75a3ed502127f58ad038f624305d817225fa20f8c006f5ec54297a0ff66361988769a44da5aca9be251cba92125ddd42855b506593d7976187106d03b189c0d95153325db3d5ea15b2fbdb56076ea76f675c921e462e1dc7951259575256e33cd559f21622607552a3724fa60231039930030d62d247fb0a3501a55ce6b7c3bd214af78aa63e385a36030eea53b43aeb13e889d3c4883b50b06699d0e3c511508523b3c9460c5439a64fdd3460600dc7c4b0d45fb26512e8c3cfd7060217f842c280be61301e4464667c5dd5304e4767132f81b4009c8cd1577faaddd166f85815405c07c1c5d61ae6246af726ac50f3b675182c06f83f510660c2b11123849e03e9175bc0d34452d23512a070e27e6af4c7d550a170d284030a62d2e20b6c5f84ff62cfa708c5833335e47ab524d59e35d2affb43ca7bfd13e4f54232e37fccc2c67c1e47534e9766c6570e1717fbf3b4ef901e70ef813632d999a066fdf36832e82e88a049c791710578da052ece2a9199729556a183f0d09cf13631165d12d0a60f9973a21cc742b6d0a84452e415775d996440093c23f2a16248033f16154024266ac12e2a0e04eba241f361153632898bdaa1b38dfaf41bae66919e7542d21a09c51280202e052634f4c385611725f3b35b555a4a45d7589fc4e4adec32626060a4102511a154321b254267d15af5298510a2fc5cd2c04c1b0303d58bdd70e5c8b2e270d6ad646ddd0c40866ef7d2d7816d6187b4fba6f54c0e7233ad78773d51b8f1420e4c211c3bb220f7c4d7d479bb4a34c7dea6b704e288572d1a8412c82cf1c156ff02d03adbb2a0b36b14775bf176f6bd8784164f7176171e528af416d684a2b79dc140efaed2746dd6b041cf90c9e08af944d213b17856e86add217958b8b2efc1f4037a8069668413306714b6c6c44e1ef48096eb0956fb968970efd42564b9ce8bc69e6e2db11bbbf156c9d38932f844d430fbe0fab6ced88bc575335d24668bc7c5ea11c2d712c33843489cf904ba2f6f3301c775a592efc916c2d30105fe7d60e40a4c71513576d295b30558d3edd499d1528be6e59341a422e4fa7b15a72620a57ee856101f510f20cd42eaa632c5cf84909a52e42eb50046b51a50547967d7640fc9ae269d22e6b4ce2b4b34886d5326c43e28f4abe75190180c4d958a7343675583532614046310136112a5012b2c61ec22c8253d1ee9453758e5e6a00abe75c49b6883b6c3561630f11a627b10a392348d17370a1f8f17188eefc2a9ca63b73ca9cfe64ba5b83668b04b4504ee4b675a412a6689497845e7a4e1c6da056be673dbd1d385b84ec5079337e074f16f10a3dac652cee2c460bc12a2c71bcebf93636be855c214bdd1bfa490977c1f37c778827ea3a10e510172ada9548709a740c3cb4056034023c47f7c2bc75235e974c2549656c9defbb0a3327e84fbf74d652511f5a3e183ffa6c7e6f514c530fae163be68743d464d57201e0f44848186c54df45745a0842233d1553b65840c1bb285a84d415a8262e0162cdd5128ec5f36e8ab8346f5335c5120918b93d3de39230879b8f310c95536693c0fa6768bee15d5fbf30381ed16554f66a905d1599094ff17fdc366f5adf26949cad7399bdaa714455331a734cbc76577f31733f729e6458963704efcd416988f10a6f38c2294302b3b60963e7a8399161420cae8d200e81ea763c27198f3c67cd0430669390170f9afe601d56616d410bf921a124df482cc95b0dba85ae18c2b6bc2cf537841dba676b20ae173325434e536fe93df937de762d500e53ab025394d15dd1588b506178a164245af325fa01f838a5adb70473d3031d7573ab43a3f3c1021c4d0513b12155022cf518297a09cd052b30db1b1454e20598533b1bc33b81616492bd2fe2e98d3ca94323049f4e86584f89833e8fad6e1d5920552e2bb0f9096c32b92b19fc775fa79c6a76a19cd9150912a9115aa83e77a308725c050e944bf3e6290eab94cf4ffcc7580d4b58b665fa635465429f876dc41d925d85101f6005ec7337243f5215661aed01ecefcd59ab708658bdd8091e5426214d2e447e24bd6ec8337245763b92553c36edc5d91c12760133aef71814943a47692303b321418f9c3c4306f85c6b705734b655be736569fb04a36a2403cb7f394ec9dd951179eac302a8d5e70c95f32742d433114aa310ec0380462d6da6da520fdc6ad1411a442b777fbb212c22aab0115885911b87921a32df208d2c7a5a245b031e2316741c051faa2a536aae4694133a241e030ab4d16624376b6f1c40fd7095346633e5414f2263576c2c6dd08f2f766806264dc80926b187bb641878f7661cc7a14bc11527191d5b90268d79c547054e6809f6d9322e64da8155f669aa1c48c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4a87ff1c2949b61427b9b314268d810c2d0cfa0221e174dd6c3f3e80270000000065a09f5bd5e34404883d161e7a064a125147a5560b5bc54ee0b24f0dfc30d623e67dd766507f0959b1dd5f0400e3526c8b84b919cf980313d0619a1439e7e9640ac5db551626d33bf4d8b7206698d45f2261f769c95d822182f45435f87d890c6fcc795dd69af65c7d2c5421e3c3456792bb4f2893af1f72fdb6cb5f4570d369a0e165529171b21aaa009b5fb55f4b57727812224eeb8c2aa896386518687c2b6f20984cc459e3013956d767b90a483dd676ca4e4e867e500fc3646532bf7f3117652462a8286e34ba5ec1642ff23d5a4133e84e65325355787bec0228e46e6c8658a826ced01d2482845f2d6ad2365d4c1d511de3225716605c4a446d482b5e0525c7562999830ca5a03320a95f4b3915eb701a40e4875dfd28716f5b4a842c1c07052610af5102d39ca744aab0e326e398df2b4ebe03311ff102149c05c66be3ee24265fe89e08098caa370fc1db50f813b156758d4814f3e062381d0e610fa475b86e552eb011ca1a8f77a7e47a73c4e012377721116f2c990331b6530b586c047a05284ec154d3351b4bfb667f23e41ee106de899e0f42509a4f665c9662d0b54848c58b35467f7c64302aafd06d43a61968314f984b759f2c56a529054aafb7791befe31366153b9a1db5351e267a80896904da277387cdb0644391ac2c262d613ce4c95f3401987318e8a92073182eed6972db4c4faa1a814ba57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fa51b1c13c9c3c40273e4f35d982c71546cd1fb0785eead4779a27f264808201d3605a46fa932ac737d199f35170c631323158b281fb92834e4852c320b6e4e3dc7f5ca541389d54d9198aa1effecee2a14b5c758ce230b3d739e3a3dfce8270c8771443c24b2d077ab4f64616f3dc04eade02a74fef35b0ccc900248bd2f0447e41dec09d53ec427a8d36e699728782c82062d6b9cd87b29fa2e3817a954bf74b654cc6d661f471d1d247824a1f725092619355d2149001fc06bc23494e2655b8d62036d98ce1208a3213f10e31436719ea9ef370821a526ec8fdd4c00f3b5581245251952f643714b461e44a62eb54b2f2507271ca7992b6b1c1943a3d0f76daf29c73ca9d54c1e493da66e3397e55c4cacc04e06c10f63ebdba523353ff73498d5573174f0fc4e0182e46d9f36d7235c42ed6a330f3b37a06c56110c20645de083cd6aec76f204f563e267001b440a77cedc3ed645466c708a2a24cda6c33049690162ad9a464d28249f76d63d4720ed7a9374a5e44a16ea4c3b5ad620b832adb16042d1bdd73797d49659c9e2fb74d2ca381094ba856e5d2a535cab7f635d37fe166a1bfb5c676ac1e52af1f5f90d8d3e0925094be06e644b8429b0bcc44221c13f0e57e1055402f0dd325d9cba3b0fb111402fe12c0ab009c03d00df2c30001a4e3217daec676fad104c10c9a4606b4e1d3057ed856169721f0cc1baa13b383afa255cc2525e05a1e02c22d09825b7c7c5530fd3214095d08f3bd62166030da9db2b968a0917b903853b9937433c9ea32a30f65dc141eb4cb6722e2ab905f3f736617858f74d65eca60bf17f6d06219acc6cc756f31968f9d77429e35c2203eccc25b015ac47162d7c4943c8361e2b954f48af9cf5171ffe7702e097e92d95915a061b5894650a91cd0d9cffd9554747307629730073aaf970687344f45eac14a016ef04966a6053617183c481585da0d00d9c612d4d358d771bdb468f0d024f3c11ccb71738d055e164d64aa06a8dc8b02b141f490f4988ef24d77bfc6de930291cca3176070bd38c621676235295546a0228daaa2c66634b153553a93abe915b6da1bf486c3f475155d7aeef553941243d0ec8f72b1847031e2bae4f04b964d900e97779088bf9081ecc022d501e36cb2130dae33b4bd9a7753ad8f15426fb7077d89cfe4bc331e72fa0bcf244925eb3000f011451ec31745ae671a55ad7f2f3217b69322fa8d14e33385e981d8ac0e7172210a70a35e0710f72f4db289d5d1835e5d41f5056804d25e0026350df267c1cd786db611580ae5ba387af2f27f30f0932220e3df354fe312b080e1e7ad4912f1c1e520b27ecab2549ad2976d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25ff9e4ae735a229c65829f102e1433d45e78c05e53c865c22131e46e01a3dcc323592d67275a72fc021e6383440227586372dddd0ac375ca5c6e48062992ea411ffc98045474587942c2e0532a3bb69e3bf13607214e6b1402edc3ba5501e6dc0cc6694202ed414044633efb62752dbb771df111669251fd7614cce741c64ea06fdc15fb1244e10d4687b36e150ca65c5be605883df4bcb847b7d2f149f484bd5a9eba641fa648eb40cd51845b51508a20f7c88e33067468047dac25637141bd3f34ce4f11664a234d76e3371eb94ca23e3c50fa643a47c808d347e11aea7dce471019b0587a4e6e66462fcc3c9bca6a177ef14c085f673408eb833d491ef92e2d62bfdb4f0b21ad2a4d5fc644c8c2294f9530df28c1300720a274bd4c818fce59f23610153739a8476d6cdc60663c534d434eaa3f6d06673cb26df358a5d1a52558c2c702110628177f5d446fdadcee47a77c470771b1287001b1383af63c8c12448f9f039f793a362a17da6af2f73039812091518876ab3db3fa8822d7c14f65ac12af5b9afc1260e4042b2c2f4cc413efc487598bb4d55b12a69b368fb1ca0cbd0773103c041824805ff274422861438fbe947111d0426a2e48975c52b93f2cf533ed5d51d7473fe44d2c292a952269015040403ed2841ffec3f110178c0a6d154be176d50a0b3ef7895b5e720d016c0143ee537e90f06297c0f9168f51494df215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e5016a73481bd1f6ac6da6d8de221065315e8eaca51ec52ed72c7def924c366cc12851621b210c81d0014c4cd62924a2ee2c14e8c9454aa2ba37469bb964c114e43f1ae6325958c7b81f071b6147f650591340b16f446a3502493b78272d8a4cef609acf8e4898220f6700ce4a3ea8510b6de817a211bf13c4719d9e62754d13f521dabfb864d07e0e0ec3f7155737def43ec480b7322996334859af71087485206aff8990022769773b5fd6c80d8d22ec19e44256331da64a33f72ecd3e7079786456e0d22a626d4d3414044e6bda0ee863e4a44d210e86603c48db77735369c31ddd1b2f5cfda90160b0b34a50be38a7369990d9130c24263136fb28445da159581a86c70fcf2e9860ec02352fcef7f75e089651716b0ca24847f5460a4ad1fb058ab3bf27d1ecce0bb8452b3ba7887c133281040b507ab9775937350b7d92ca54eebe4508bb0d6d5cf7ebdc0cb13b4b0295167b035185291941d4be06667a205eb2ba59156d4c676dd08c72276a5b970f4315a206d188df62743e1028652f89708a988d285861d748f8c61b552b385061cd4267077e1a534e53d75d0925a5364fc5a7ff4c511e64352456aa07a2e1af0c726e6c38cfc492623c74bd7029811408cdcb6a75b39c144c8c149011413ed477824b310c40d5d731e78e3512aa032d5c8f91b949a96c7c334a4ed22b411c2c641877733ab8d21e060864fa5487899f105b6ea2148b8fbd0ce44e450dc4f4a52a54f05966ed662125b705c31f607cc330c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc44f72e5f5b4796fe3104ab154b92357c279994012db18b73740b6a1e4abcd37734c7a092016195d624b5ccb067379bd053aaac4e2b74e9ad6fecb431495b2d70147c7f862e1b9603388cf5545572bc74268a54bd68a53753067ec1c76506fbf1289262c74a78c87605ab8c2b73e8a2062dd5dd87678a73ca39f1ef87292039135bcea2d25edd16fd64aa93823e29b528427222a519d71b8857027e624a8aafdb548bce7966af30fb582fe01866cf443f3f3a16a0341a969e004f806c4a24004b650f6c9d4c04a7ef3d0b3e7b5708f3245f58930d0132408a289c437d1517ec963d7f175e6e257d421d62312e2ae78ea82beb66a96427c2a563ca7dc81e98ddf820c78a2c49f08d26252aa83476b25cec132de4f675683ce74bf0534570920c6959db343e48e024dd58ad8f7c5cb7edc6248f76795ba40b5a63c3fc962335b42a65751a9956b6b08321a5cbf02d6a0d880ca7576d032741250f22cc811d57221e26a70c9226a9814707be1a726198c2143adfd3fe29f1f15044b2d1425d3a1dbe280f58591a6ef63f516b9837275abb3e1093810d3ec833e06ed164786fba5db845075abc0c17f2ac11f739e067f84b9e163180d733e6312233b921150b9c31565f502e1d065f17f54568fab85b9bb62061480c7e0c6be6004b1b8f514c84043959b92d3836ab582607b5797b504df5e61c088a39422f465c734531e827510d97165c73cb2e3afed60a07ee6638bf27e910c8385d276d8b2a51236f542f7c56d9622037194dda5b2c1cf3b6a6037587de4ac230596756451e5845aaab28b90e3214773a83352050205cdd48386618fe675de43b60466230f719e49b424163a28d1c12e9540215788a41cd5f6b762dd51c721f2c1e2e1bd72e32af1ed3689875781647a0f433682dd71802d6007656d18d4b9e3db8757da2670296039400f740a3138a05f60e3ea82a30b2eb2a0981eebe5f7f1d4262005c3822362f593d55aecf273fea5e3418dfa647f4c34636f08a9d062656181d91448142f6d4af35f304442e9017c33bb4eead6251aba50cfe3fe622bb4cc80ca898e339cc840039746d3152b62c383e1a755635ece145602160645dad461f5bd5910917eaeef73c42e48e5a38d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc731701e0fd936215579819239fe846a62a633b2dbccb1bebdfa5154a7d2469348dd3576208181dc340d652a86f8e644a1a4e50527cfa1df528bf6ffc19614a7c43be0b7afc937748e2b23809007844fbe68e051b931b363ffead2d4d3f8e22f4860563189082147db69572a780b565f13cd3459c40457056491c6f3d39d558e1ac0229d428e06818d50040c143731cd1739d10da1df6677d6d313a21aa9e2959b08d0ab37bdb2439e0ef2dd318f0025f60424ec013e603dd9671071faff91795952c6b9b50d93c6e16636888d0553d47bc0922d1a5322baafb015e2822355703c3c022310aa81ea33fc8031b011f1ab27c9e010817946428ec100e27506324241c6001577f570006aa6725de5a644fed4a5b3658bb102da8c08c2d6ddef94f5c926d5d44b9d25f4c07ec42c841362373be922f37dcb866894ce33c950d454f8828b9115ad618637b6ca856f933cc150426640eb623035bfa2c7f2dd0c0c00c81fd841e69f3c966bbe573274b1e1e3b9ff4d56cff57dd6b7a30475d57da4623eb03fc05f054fc3aea79b467f1a743395d3648428244e5365ec1b049fbff442362f9a21551a20250b4ede00d0e8a050181b79e6c2d9e650058e794362ca5eb4e598e1034dbc6cd49f19d4d729d7668203769dd4cde835707b2f9f32bae4807060a4e2e388bae9150526070295d4b7c406676bf36b7a8164539ae0a467d975f686151d036be0b876dc96f1258de312e3184e18d1c1e5a4407c3577d681563f84a986dfa03f0195c114e0b3e0217d4085700000000b4e9120b5343dc1ebaee0b46ce481f3c8729fc759a414152af57fb41f254af018c8fb2330aa74c58d4799335fc8b06154e8753581c9eaf22801d653104974e3297d295145cd90c0a8ac6175c3cb93c0e67787c0504b99410f1e6c9605849f61be50adb567d118a059fc48101c455d8055a2d273d6c6d6113fffa951d2d68b558cecfe808b874c927999e74500d91151b5fc42640453b316abd2442009bfdaf51695e2138a003414edd8dba097ae309242bb28b17b488f10e80a5c8313591f31dd9230819f0d6cc15459bbd1379c14a605442b11b6a36ef5fa8a0d83e136820514cc30e451382f36a43257a69990ae434a62069072af98d4868a0db158e535c3e6a0b830045803763e458835351d4e476ba284b4075fd8f76b6bb3440fa419a17da22b514e68e7604169ea92d97222359e5b5795d7cfb3e635bf2db3b21699e77b955dd180168d853019027722d473e2cc202a95838cffb1938a0a251210d0f37d1d3bb2497ed784b32688d1550692056604a0b32b850a36766e02e3ac1dffd054f11525c7cea231d0e543859e82ad168c819f53d26901e23208dc908ed7dee539d605e5e03ce70351d21b95dfb5a8a5e17de0021916993758664e118404c1c719c220175e5ed226fa25dd96243c8384f68b41a1933a86074aac7ce1ce29ccb042468e006a61eaa2041217b1886be29185e80f171e91ef61cb8c12e1733d85966c1b58048a933ac2c4e479b34dfe5c0772771db10f882b500d05e7060a37aae30f2ced11badda8e5d3b9f8b0eee689b746bf12e6ad802bc75cb03be70a1bc116729e3c806ca2b27671a7afa5f69e8ad23579cf57785cba570edf1f4093549dd2f1eb6cb069d74e276f054ce582ab4d93137ae2f2630ddda4ebb29fd5f617d765189c2fd2ab4d1b711adaec13261502c38b025b63354d55672dba13473ba57c31fd4754e203555165275486d5292822e4e98ff3c54f4b4f8382d31a1678169371c6df0625ccb68df6d8b86053bdb9b802423d4526477f31032514af01cbba0d13be3915434b5796e250b6317061775160935867c6aa9fc5c21e52a136c57570c28e9a74c56024c9e348d8e5d1b2bef826a4de5c672703bfe69e874906b80743a5b8f3380089f748458a520291c95370f4b2bcb5d164432cb6a9daebd520bd86432626c2538cfd7a6371f50173fd3157b420b61354dbaa378266716454089a94447e8b9be350565980d8321a93a553fff4c1502cc624988474b504de433962e8114c57c8412719f712b84da1d25535af4195a3466645a0b581b4765e422ec25ef309e91cd485c028763183ad305a148b92d3feae534e40b9e22ddcf8772ea47c6760029e32230f66a753600de043e77884f852c0c1ce508e1639566be338fd6df5265c23755cf1c5a5df80e116fc9087f33c8ecc332639e6c6861cd7a6a31f37f3ff6fdef1aefdf805213a06d560a488768f77686005e2a2519890bc83b74d66647e82c953c09a3d63d158a1101d83fb45f065a44060fdb1f103d44f50974a4896dc36a97218bd3377017618b76e8993f45737d85212a14496cbb4b6059c271b304a531114d7caf1d255f0eb90c8b918d2c7a2229664df7104d096f1c778919f15e1acc2d77496a62286cdd5c2589d17f4b7f876a40289268162b07190bcbf59b5b0d82fd3699549325c2c1ab69fda15c371dfbbf6764ae5872ad51f527ea842e00eae3183e7633f66b3ddbe1717ecff33e3e6c1e0c30ad802c4c782c05dfa63772e9521223edd074106f95902d3b155f09ec445d2299e46515d029c105b4dd795b8525d503313d1a49abb0773abea01d47ce4d7c7084151e52b4d3782ca1131816dde978718aee973153d3c71f307e9426a6b67343121f1f4ce42dc723d0209d4da8825b17159e891799e6ca4a29a5ba06cce49f55ec88cd3d63732d1810c0d421471acc111c1a7a1d878a78333c702c12e9a9240de7b4912c7abce464652fc375648ecb55b1c74a68f2ee284c95d99e0483c04468bd3ad100631f0e062947792545a40a5eb70975573d94b366dcc85a2f7e8c7556de0c7957b9e1c710e56f6666b9db69109b9993410c1cf501ed93431396db973123cad81bdcdf1406c1c53870e323ea10fdceaa1947fa956a7eb8a74d24689b49796458621566eb24ad27e717fca41f2da2619b6ccf10c24848df2d47685433548272613e82afc25ca483d81ebd62044840d8f224c7b7cb5fed286e18e35cc4510f795a63bf6d3e512f47700512dbb939c7fa6c1e04696462fbd5bd4b0702df028c212f7064bb7136195c7736d16763712abd92284fed177481f94b11c4cbc468874d5f6ed7e094320deb3916610b6e198e3545649c6ca40b428cf10bb3b59a10dc6f4254bb63f720f93e2d70099bce4f68c3486f09727b7427831c2f94a8e759181c824d5e713d16ee142c74b719932bd3fef959711ace1f9645a025cc4c7858b7fc95506fae4458caf89763e0353070d2fd2c60edf8c71d6dd903754985794f0547a77221dac8733cf31b0bcff9511f8a0675382aee363b052c411f8c2c270eb06bdc3b7080521aa705ed3d1222017329df7e11e2122969abd9ea2ae304f83a073fe23bd6256c4fe739a22d4cf45a5c01a63f5f8c44076de87b743c21a1e6085b4afe33da84805a84eb07495e227a2efb87bd0b582fc345f39d174cb4508f014e008e258b58c66042cff6128cd05e4275a5614052d24407af8a7b45136e821c050a764133728e696cebfa567526786b17475d529353f7292e62791d7cd79c5abb655f1d525d1f5448cdc5280d1037013e5f3d1a8040833354988052fcb287385c25d200b68e8f5f17b28301b3dd5d45c531aa129f1efc67a6972755bd228a51fda3a3458f925f3b1637b62aacc7a4515a791d0e03b98f64104dfd09b86510017ba3d3117f02b64f7f4d8b52e063d51bd7d6f617d60b2e59ef18086b4c0cb376a5dda4639f920e569dc8fb4770db10005bd4964f7c7fdd4496e46d007b508d277d01164e59035069382dd005bd93837622f41f0968ab391eecd520431ff2d5742c5e661590a67876b01a016c298ef22b742e2d1cd997313cea9f030b4abe1a4d38ce511ccb7fbe64f2b4bb65d6427f5af3820a6c95b4fc5ba0a9ad4d47b92348a4b3fe439ec51f2693f6e21fe0909712daedee3d840e542cd22de8777f516f6e6555de5e44ec0f54ea276905a52d21074b12ca23b952b012df4e2a44aca53239fd7c771edceaa94ab22d7e2d6f39f976602cfb585c4a265f4dd2110ebb83bd231b209e5f84c3dc67c2b26e27d472741d8f39b21c00a33935f36c9d17c7ebf31218769860c132fa26fe5bd805e0fda631b26b0602f41bed008e6dc36b498f4c1dcc651d267bfcd31ebb3538775fcf5c5f5c42a926a05aae2dddd38770cb3b1f74b1966567e61f6e3df534de1756dcaa64fe5d10669f4430269f2f4a714f832f2a6c563d2262a7070853d37c43363ebb68274f694a2b7ec331829a3d120c2c6846e3e3383186d25852e9a08861c4cbc01b1139ed1a85946c3357654f6aa564ee49a04bda552c86284b438c25265b25de5938197b0d9617d5653c567421437c0d684ba7ec41ea744d2cff585163a4045e22a09d0e5e4cccb45125040a2263298935d937125dab19f565aba96c3262cc1b7417b5115eff1c4f2a48b13c22c67c6e3db304b801b4a0b258c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc4471e6d604a2841b30f7b3783d98718c21bcff232ed66bac4b4967a44e155bfd3adc169e551a6ad94fbeff61595922ef503d573e20f5f6b91bec369354309a781f501129223092762685582c3cde049218b2ec68096b12825ce1f2094f10825c546e28e231b53c8b6772535a210f37ad60d7b54d37aae11e5ea89fba75bfbfe944d9a7fa4dcda67f17a6704a108085ef4149571a3a406705182f69275687dfed01b99cd16c3ae00c1127f72341873cb739404f0e3fc7219a3cc675eb35e9503826114d81778572b44c1493705c00f5cc6d990a6d325d55e0254e19b7217d45f1422f5eea48a7368f2eda54665c71dfeb149b377c4efd3c292b19e0a16ffa56444674ef490e13f4b3542aa0a207bbf6e24b2a0920591b7e2a1ad8a50b330d3afb1e231efd111eba056ab39af24d00d56125d005571c04b4c76da64baf0be241ee2a419df725945059721674fc338f14cf5c1751c56313d74b510c9e0875ea86420b3fb5c80e5f7f32756e891a4dda9519159befbf1ff83a053e7fbc843db9af0f1d8359df37d2f0b545686485642480c35b2ab541358aa5e6255818ab01ae9ba860d793be66e3990e6fa643f60816e4d44952a41112135f17381a45067444eca60a212ade4cd7686f1d4f351e72e8282268eeeefc775308493a262dfc23550cbc0b91a93e74a643653844495643e553721fb0a84632c48cc1669ec9cd5526f3fc312c55d7545aa4450067d43831940c55295d067d665a36eb1de7a65c7776d6a93aea098832040d6e3f8b26981a21986c6773700b6202c4e94c2e7ef54ba3fdd370b05f5345cf226671aa77a23c1e3d16407b0a8311fa6c6825bf9e376f06c3605907f73839da8543325fbf5631bc984470cad9051977926919e5ad0601126a741d339d784194d659712887de12c291d845316f7310620a3c6f6f54d71e4ee0f733a7a51d71e7416f433ddcf85deccbf03f4116ec3858494661795bc81d8412d6401607382f2962ad1c981cb625bae56a26787d9815a3a8c2458c2abb357c52653cfb89bb49b7262671813b0666a4b9001a72c78528c5352e108c8ed9626b15ca5775c0253074ede105b77d5752dc5e5a186815dd15eb36210646e1254e458fbe2d0a926e0c32683e27672e530a05de563b9458a33a3c07287241f93b124fc9b812c36a60677536e050c320740ca878b5494258da5d80a9164c0ec1a1386a85fe669fc90045349bef066ce2d974c63b555f9e600d17487a9a545ddb4731608de750c05e916d0723a06444679906468dc076259a2e49c0f53230ce73e6089a46ce644e4d8e6702909a5d39c79a2804170f535e31384868efef5bbbf156234be281223466c57460d8404452417f5981b3626ec2180a1679e3150707ccd806ab84cf577f7d5f0572872a5c94b5b1140a5fcd5836be0259e1519a522012966a07f49f7445edf538e183370c4282c2637afb796f0732cb0210fb3635f024da05d9a66b0b860540412ce7c42d501df66518a0970a93b0036a427c8b14cfd5d20c39210a6573c4225721f25201bdd0556a06fdf9326a5cc33bedd5cb491074af460bc65e732befe26e270f6a2475d67669cab88d56eea05b50860f8b3103385a27ec3ba76be53f791c36a1d41338203327750f1450b451c36813f69259c0e0bc3c31e19125586c644f540ff05521ed49341ab07910134b0f5ce7906d76a0ae4f386c09cc01d4b2120f38d0d94970087d126878fd72ea3aa25053515e676b494d232b559157c556063551486149e19f6f6b2e7af26de252e54fd4e46b2fd34e720bf9ae9e277903d7733257940b729f5f5b490f3557fd6ef94f3c17505486d504192b50a533c06fef5413f0b037a11b4544c0ec773a03e69d2610495b4d0c28284848bf156934efd10da9159e4e180dc94fb729a00723706c008c96ee47c724fc09ab2d1a75c9ec075d3693304df03cb14100000000930e73563d012421064cff238ff8ef3c4d88532d1ba1cf15f1c1170fd5cea00ddae2723ccd39946817475f552be4ce33dcec64235f909c4ed0382c220cedec5f0734f55bfddf3d3dcec8d951e67c982cb0e00c139a53f327aeeb4b0319e0f1556d44622a7aa4bd1004ce26435997122760585b4d1f269b6e7130d45f2d3df60e6ebd0b0046277366f39ad80683a8e03d8585856fde151c1199a7f22b58978b3de0df1021bb7ea01ae512103fd70f4571c3b3376df7dcbb4dc47ae9774833a45ad306be65b8ac7c75ab7b4b5822e92543eea9565f6382cb271b6c5f3fa6c30f38f4a3f23d09fa49168c33d237b6e3f348854c7575f0849e6364072e6c86b3150a05a97060737fb00be2db8d35ceef5607fab1656e4185e742350728338843eb44e07e1f1233e3fc3be5071d540a00575aa1301d3b07020d674cc5456113a3166691d0245aa8882137594bd841bfa0682467ec734cedfbe96ff798ea51a13b220844f0d47686d65c67b8b6c1716fe2c8587dcc875e2ec1510b314c9f1d371e0a43035d112aee040902b677f516bfa3433b1e640b15e091372eeb47e5401c19da091b11c1513c2cd76883489d3073cf904c067a5418dd8fc72507dce76fdccf264db1c44d09b10b6920fcee54141049e148fcb72e16d94d0604a231603c27be676dfcd469533050666ab36aed6dff41fe329a51cf278a55641b20dce6507e60f51350944c77df0c6b46c4aef110f14a10338ccf77230f7d09663d98f84104f8b800fcb22a4c3d42de4f03c8263d476449401806f8354c87d61b0e74e624ab8c49581d6903382a560d555766810261fb570382319e39a4984355b31c361b6d5129095dc3cd326154720bac705f4649290307de5c714760845d7768078b079fccd746aa3c4050fb365e3a399c1a5cb592c3176837a159865661216b3e8330deb64a1651d9eb24efa9dc6af5721101c4b59603a4d3af6d3febf214c38976409b13b32619220517a214c305f926ef61d9da715dd735375461503c4f27caed29b95d786eb011df48d048fa2988791b288982813fc2d41257a6cdd72867612a42b7f9e74c2dcd792257d6e3395a77282249d33232e5eb6a615d63ca208cf53d42518d2f0f5cc61a401b02c14c663f003162c2000d089fb14fa80598013fb5f1428634be205e23b24ddd41e94c5111666b58e05824177e2964bd7a64734ce7c401acc4dd05faf77a57456da76a14fa474fb841762af4c50c15d8dba6528acfb5646b25cb3afb72245acaee3c54ae0ab36409333c34e96dcc4685c6886369d96959de1f642f5f4e6d3ad679080b83c045206ba75b3b0ad40457d43c152feb909420aa54471b184f832cc4d13008f710cc5d4910ff5fda6b8d6f2278af37dfcddb291da4513a0530852fddb7dd1aff3eeb356d104f48943a484600b18e12f47d9026ddda9f5887c1b94037831f0128dbde089c1645640236850011f1c95055758019702f063da920b911e5ff864b0b96953eee8d44421561e95ff7f2060b303cf15ad8e62774a5e9a2579628473e6229fe758397a53c58d16d122dbd9911b3dfa4316d918527c3f6cf11301143174c96e64f2b1d0517d4c4a46c3a412677cda9c95d21e4f458d59b3d5245b5eb1cf5be3c356d5918500cd5b671d0f11d3a3efeb42af5dfd450539f3d428def910b1f036e0e9321c923d2a5571590c5f8424372ec7370b1de3686d923200f21ea0d4ba6d83cdb58ea0c9a90bc3ad41e623c9a9e2861bb2c2b04b4f6f768d63bfc5cf3bb216caf77381337b809324466606143ff561f594cdb07aa1fb33b9c54dd16dce89c65092ad7152f18bf14c850d04a4975806ca9711103447e0e43f468fa346d1b541466d2870a7b0ee6635b83344244379316acd2d817dd47622e7de7911cbd051744c8c2874c0a3a780166554d74c3eaf63b5dea891f81a53055c1bf12656e34ef1f1dca11568cf0915a2704d67629180b405118614348ec8c2815af9126cc1ab25001c9b61e0c44b031dbce0d1ae0c71e6ece3320120e9eab50aaa0c7099a034c5e06eb49043c2a063574522c77f404e135431c0e181c6e21293b0a720962a50a69131ceb28fb06e0346c198e17879a9061a1ecbb2ff12f7656e8ab5900d7d8f0731f8e80196957f473949b572002773412fd4e8568ecf3736f225e784e8a1aa33a2e3e843970564a5c53c110688e993a4f9a83e60ac5794870cf677419efe7992c32374100ebd9de2ab54813758a6be92b91b41c45eee68c27fa19e5449ec6113863b20b6e85958f2972ded417df4ee15ce6c6ae3f2d78e5307bdda73d9a36cd776d871215e9dbd747145c2660974fd9023cb9fe6eea09726bdc3e9f5f87d6585dbe637f4da849bb354542f5730713454b3adc5248872a55483c8a4413a199dd6cf6d58b098a74956744732a3027ccc605852ec2671eb3e02cc29d071f7b62006bde9059164aa623696371b038012d480a0a39341136de363aa2f5ec193b172b20d1ea3c344105bd57d92fc23589a7b3728685e92c4a6d2e3d15a4524c57518543db094850d742e6169fa5e34c373842156477413e7166fb0ea056596e41e96868ce892c76cd4ea457cb4c660e0a92325b0558a32207190b67722594148e89b2515e237010b7c3d464b119b951cbcabd429999c019fd40a86b8118b362cc1d453769f5cb2a6a42425551ce045d2fca326a3108e22803c07b0366b40f22a0b3a76aac1a0009ff789030b532ac724dacf53fbbe7f8527cb4922b9a1ae6602cc79f565cc8414540f1874f0274c4452dcea409dc55fa6d6bd3736fec882b12caf7eb31a995514575e31818bc15cd6169bc48644cf7f345fef18d25fefebd222af7d336df313d0e82f49f396a149d2c387d376332e7a436f4926d0d1e75dc6b8ff0cb7502dc3b2d3ca90e449d5c8d1f13a02f22ba2a861364fc5b09f9374e1305354e4a9492b11464a87b06e113da162f309342710e0d0b6acce17497f2a9579bea861b10f53c301603df560a700d24106074663a6c523171eda575fffa1b0fe32d6f50238a5019d3e47740eedf4137712bf6690a7e4e2cd2ec0b2e5b43d1355b22a52b674ce26dd1f55f2555d85b677c80a3449515a660f7168f2f23eeee17a92f907429bc372cdafdb15c176e4135c197b5475fa0a7305c8ce15192d9391603d775125aa31052ec77c7383366692838b0ee38785ed6504e499c4d3afa25293c6c504d39be6b11f0cdac3b26791f234f78de43dd62bc6a4ad9dc77cdcc5a3892f5dd41dbab094e8769c16bd4983313b43fec5264d63139b3c59643bf28b87654f63968deb3794c96f9f745e7b114023de4b563fa060e0e8ba7275095278401e5cd3a4e027f6b65eba53905312f4c71fd2e052d245877004e5efb02c30c23334b7b3732079124657f07856e64e72123e616360e9ed5446eac9d21305c9cd14ba5ed3b3af8d17129016dae11d1aaca7600e9661df30c59639ab89b4c16b3b216b24a8d4deb7b5e2089603261fa9e0b5eedbe015644a8a55785f22d47eb78221c0a76281d1cd875158bc7752e5853cd3ba3cd9f69868a702dadf4b46b4b3e5737c33b1d58bbcd1734d9edfa532d2170581713cd0ec827d1648c0be85315b05a479396ca3cfa3e51024becef014eae52371c850407179c9e6e58199e6c288b8c59ff5b2a26f8e75e12a3895718c07f53113aa8fc6e570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c99654639e9d035774e733d6f0d83db464e49635efe95a05a71771e12c5bdfa1bf4c54a545c2b292899a5d96e9003cf3497604e486ca5af328f0ff757d83fb11822d81c4ce63c88365110631314079f503bb50003ef98e05dc777c86dbc03fa5451380017f1b31462edb8d310f8eed418405be13afe912b12181c316735c84a5e865f166c4101e34dd41e7c06fab8f100d6fc346cfc62553b8a6feb05e5ab156622d2382205fd6c1eaa88de237db729044a500951dab08108f4701d0773b6141e9d425110f9cf2364c070893a6c950d595952e93945debb70b6b0f519d611a40ccdc8156fe5457b0bb65cb775ee7c0503e8218a0e68f66861ab756a744979c5678b83562ca2c3e746b4f18b038a8cde60ea22940334d2820c7a0a0d1454d0315b3c468471a2757b50c0bdba5df0a12d4d51b0df1b5e4374174d9b512b9e087f750aa2a413240fe1192cb32376ed62d13cd1533c04acb6ae6837c8fe74acad7e4ec583125f6b1a6c338cb1010138eb84120e2c4836afb470057a8a86294a5d0a5e7bd55c56102734646602fb0c5b7ac44f165fd61edf5e5b189e3a5a34a0dbe82f032bcf5b52318b41f400f41a0c0b56264e727d60231cd76ea0c495589e041343bf38d93602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf408344916096a390807ff114f227151695a027e7347dd76b408e1eebe137c55d01384b142017a1f3d4067703e50d57fbe1edea5c1500872093feeaaec01813e441635a6e440fc99f4282802a3513bb0d256c427ca310abaf70542152769738a47711be8e0710bff441df6e49f22077e5915600d8533d7eeee406a456364e30e7930979b72752e83fb5cd27ee30c4df4a35bd82a3021a8ed41109c652a371dad9a4658b4be768365462a999d5d364717675a4dc94f6500920c293b4b2b654c4b2451d0609756c0cd67753c630f23638cc277a014d10271b53731528c9e6434b7db05ca1a555b0c5b162c4526e0613be9617016dd242660231f4409305f00648c3c6ea87d2f3a55b9bd4e004fb70a6af09a323699fc6970747c5963f72e253f20a618b9b18a4be818cc6b3dab1352d1b7755885c83536ef63d40398c18069f9dbdf3e602be95539472d5e9a9923434836a8630fc7821d9f67256a58f5a25db4e65e3ea82e016207171d2b245d97217a260662b87d2a22614dce2a58a6cf1039a4ee167e94615339c5ff2111948121c0df1d20a6053e3453f8d053d1f2672c356d220643689d22a8172543f05ed14ed992b921f7373022ed45cb1ee01dcc02faaf3d5c6b337757ea45181f414d51318ab99a37258cab394a700a1ea3dbfd06c53d3d0240eb5e5a072c032170d8d76f3664e8090a4bcd0c680b844abe4e9941e62c1053799d625f4da8b70131598464bb7ae128c57be23e8a6cc043dd63be102076755079ed1975eae0c20cf6ed0503b4985847a765fe6879c54c3a843b7512f5581d633aaebc28f864cb14e039655582422c0fe2f64936e0f39a3aefa7d1023410a506f8887745f83543015c4ab9279be0a20d27e9e754dbf77f3dd6042e450464e33a11daa061d84c4c467b45b3174b145450de0619452d61543178a29d5c927c456d02c431511599e8483c831d0d9e7c2e6998d702579002696eb651d94fafceeb2b904af905149d5548160d080588fdc708ab48d517129a0e5d3d52d319a2a87423efb01f412c1b9d5804c3155f58356d4f2f536028a7a42132632f053b5ede84012e4b6c74e5ebdb153fbef14cfde8c116fa289e61f601be249918ab09d805263a25eae619c6e5fa768c9f2d061dd9dc6cfe4b692ee4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4ad8fc533788a0ce5f39f4ac2ff556e45a4dbded407e85f1608569f76600000000dc6e63433fd36d3d1624b9108b626d130e102437d8041d73442fe741ad472e3572490d6c7985fe35ff357524da884269e1f39e30497d032d4a2fa62344f47572f7caa85ac0b0da2ab60d0b5e4a014160467aa85aabbe6d36f9d82a2f1f29890b4ab54035417bd0388a516f6e5906b41d492c806eb743b93f35ac8702383c3e6f2939bb29590716628bb7580af6e31a23c7cbe7578462052c4ceeb42eec6e9d0d4677cf0b98b7a44542b3383cfd09ef6b12255f3285fe2e129c5af71d0367585e03b0f00679853b35ca054b1291d2520fb383c81657c8ff74c8984e348ed2c96bce13e9609db4dd37687281381ebeca3da8dddd532cd5f22c2d84f00a7c33c20f1bef3c0a90c5372aa1408c5198aa9772d6835250ad297712818b2111f5ecd96c74aa594c1b2e5e08b2ccdf415c3e064c5029d6461931cf447005306f216ee037cf074e0d20b48a51f37735016653bc00c20ba22ebcdce331e8d5724b2eeb9406b978205189a1d26ae777e53d3d71e3349639ff23fa4d40441efeb9284247d8048b6e5d05b75412764f6fd7064e665d2edf55ec06396a7f0914d68e2791fe8d3f568f8f673c05971682cc34760e6c8609cba2f613dd15123e4874e25d68ba8a45398c4954ec100d537e64c2344e3435455bbf290bac422606fe79ac55547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6fefcb2e6ed46b2266a09a2a099dc2713c7c5e2a1fdefb3a17c21d05266a84090d0ec0223ea664c80653087b0e38735b4dd979496dc2f10124b64e8b609bcd8975699d7c66c4f2d32818486d45b4d47b0da6e03044f2656b097d3da711dd9639306d2f6c5f4f7eb272628f2572be6d634c334ac44da1c2701906ad72490ee7f83dc6d6e34635e57b4994f8672eeb01cf2cd33d5e08224dd147f125cb45db49880214f776429c2d594e3653f04cb9152254206cc3411c3ef860c2c61a4de4cdf15938a9112590597963f26b51196b571312a517570eedfc8302d0f3264399bddc081ab76303a678780e194f5f1c3b3a3511e9c53256a53dc83756cbae5416f6517176529c35787595565250b9364c6bdf68bc839852c824493ada7c8d5d57beb31fb57bbb62b425554970b59a55515d4041a271bf5d5d7231028863122037bb56724cee44264f4bca441dd1ce14708700617a1a955b19c26f09bd7c0a3d1eef89489667f461aa2e571b196e76478c7b4b47f6b2cb2666c809237c1fe260d9529d59e032e36de115a42d0be43a5a97819a60fad4674a35651530a1d6bd585c8a4f1e7e74a66f2f85c8226cc97c2e654d03575d2bf465d5124529224f0c0a39dc563cc606c443f9e60f72ad096920efc89361bb1c735ef824de38d0e1f45064f5265d42a35c5f9e7c5b104f44232e4bf711194863fe6d1cf27b4ae227c475cf2ce0482888580de075a13969a8bc4feaad8a4b38a1860e0ca3ab3df5135c4437207b47ad1de450cf0d7010fce3e20e140a09327e8c7a696d736c0a8c171b75d3af9d249dedf50e67134d48a7eea03ebadc231f74f8d9732d1ab003262553087fb615707dfa8e348bc61a1be6163f1898a3d15e0376f54bedfe981e5a519a2c0f1fec37c6a2ed6739ee117051f50e6dfcc9aa0c04dc107478a17f28b5553f6540ce41397a9cf95347d1e815d9866a591d76814f2b6165343db6e656e2a6886be1592d41c5edc946765a2c5df3cd6e2732d9c6646131ae1d16165f518229bb6a072f3a68095294500a98265ca6e97d2a8f3eb2088d731d63be26f11b740bdc00d4d9e663bc5609312b947f412b27c72fc248f345ee06ff6c1e538a1dd28c1475ec2c1b30d72cb83277f9493eeaca50708954c42797abbb67f47de56eff5ce54dd6d8586a28c04c58b177e90de65323354b1bc65bf8b6aa25d467f8071be1631e0d7eed1bb6a8a224dd1ece28078a6e335ddba92889bac6434048b907099ab04c61c27c43f6ac9f080ad1d153acca276adc65416d51dbb23638ebeb1dee97b51d3cc90357b06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f11327b575b101772848d09293b40c15034cf105bc91328345282590d2a13f43bfcf07644a5b2cf5cc9d6fd4140ae021f066eed2f8873722f3a9f0103f5cf1147659f5f0d38bb8842843906488aa7153831604444892d2c43de677d02964c5c4d2628786a319f481cb19a1618ebbc1365055b125d1ac30c41b9f2ef349ef14c5ded9b4c0e3a73046690f5ba0b8fb5861413035710fbe4b435cb29771840df5769e87d6952543cf30c6c94ca3917d72b470330b40b6023714c3f2f3945d86ec92c91922a27d613434c17f2550adf14d640501f6a425233ca4b66cb782945464741134b5022073e7b5f9a84595a53b3184a2e0c8835aac8950091e3cc2f6b67d34d57de924466ec9a606cc054348fd5051417bf52227e539126d432d66ddd2f0f5231a45b171bf28c14027858649e4dac4d45d69e4374c7fb2b12e00d70c4c27712b447b222a0bc8f5f236e20510ea4190921b511153e76b3595c438c6baae9bf328b860341f2a41c6373fc9830fded24492ada705e50c40d61de0ff2365514d7456e34ac26c66ef35faf74351a8a4be50ef545fa359d77bb3d4ff57c2eb64a1965142b7969b6af1974d5eeea166649cd1995e9562ef2a5c603a92b0a688df68d1caca7ff711d7f6a282678936927846728724db83635b447428b273b4e86103517c0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e501d41af064053a683d56625c569917f2712442661bdfec9b1a6c12ae19b6d4e26f3297b73651bb721255e3e74aa584986555f74509a9d80f54c455eb6b41004a481259be47cce856146f26573abaa22704e6a0913ce9da3a0bdf05ed4f3617da4a0e90cf5993811e643fa3744d1855f67443856c02ae1aa85b29a1f75208b7d96f86c62d1c3a545b622282cc2d9007fe72e95af641d0644d15eef98228e8205f6620d1a83d7426ce300424d817ddaab54b8a307033a0e7b9036bb6311028285c0e2d9f2d2798344e39d3ee4f267ce6b8260886ed6c5c383158ffc6960bdca48d0cf047ab1315a2366f3728833f823a79508877de53cb52522423777a34b2dec462bc8cb517861e420fe0092e0949906f472f88821e9349fc2198941e00abd7d00d4be31f3d5a79ab56c6398c68fc680e28aa6b0025d8a31a6f2f088e31f5ebbe5d4aad2e43ea2bdd54a11d846bbb57f2657ca2e47024f065444be7705fb03bf664094572015cd16a5a86df633d2010b94cce57a9464db4c45093feb901271b2d6e8f30b11205bccb30729fe0717d6e1b1e2e453f5219344b3634e754233ed4014f9aeedf5b2df12518fec9b625535c0946ad046b4bcbcd705c43b1ea107ed8941709c5be4e45df2f593d9c9456954d04259e0abc62186efa772199af70066ef7499a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54249bae356b096d9768e475d81eac00f15f5fc09571c6d2ce748677da650b0d5f3bc1fe117003ef2f28719239506518473fc2bc7618ef0adb1e3904044a5f6a573ec01f6150dd43fe1b5a792d6bab7bf0459b63ae62a6eec90f3b2ad6085ff227107ddffb1e0a24b757b5971c316e2a620342e0352753fdeb6cec7036592ebb7251dacc5162c1a7c120c904e2544c299f73463e284671e0b6602c9b71415ea69e3fea98d21a2417d9343498251cb9acaa1b133ed90070a8cb1d928b7c1e6537e2674061233f049b454c1efabb2cbd7623258269605b2f838e4dd0bcfe268d00ab45546fd00892006c001b45794f3b48f23f01761c40cf8e0a75914c7d2df8d88a5b8ff2c138889bb84f51ae006ffe3dfd5365152b4bdced7570dc6bb250a0216c3ecf67ed48489feb32c9916a3add6ad73844934d2ce0ae260f5b9e502b4f4b0520b5c379761922e8347657742c7a62bf77e37e62539af79737575c021d700bf25375bb4938723fb50a4cc314524a78c9200ff12d3e3208d25909adb867ee2a4c29efd7ec76e745126c37f13b566beac610541089285c7b01117bcf0053d4476a45fe0a010cb1ed1516b955f14bc85adc542fec7a2721daf448e2b9131a5524c55009cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83babd6e4674d9891435496d6228d2e55111fee3c01bd7b4115a3209c765a2f38693662265f3f54fe3b173e3659538f930b32fd3057dc6a1858e5c05408c544e431b3e9695aa9fcbc62ec8dbf773b0e7e0c48d67211322df64ce6d9ce0a2e073755c0056d0557d7a41eecdcc1145c1c3440ec01cb0d951a3a4fb01fe92ccf17e15c752c264000a9c16c3c842e59f572873967def617cc41315fbad9903e38a1142e59d6a34b59c3bc71d551522cc7e7d61a91439549bc241a547dd6366db38d540895921c2b4bec633f2771041b6c49fc5f8609d24f0f39970ae95eea6ea096be100923192930fc2d5d9c8a0332ae25fe3973a2a20fed535e3d597676303ea7a14ef4048c3f4e23566b7cc2301eeda3580ec156fd739c18fd61d7f1a6102f1f82168cc07d12e7bc296a1c7c2b09e87e714d39165c435fc89e2fb5e4a21908e04e1e2010bb458c459d6320af2a4470f43903c8c1e113b8690e28ccffa16faa569d76b79d3a233d0ef33c4c9b9c54f5030f6101a931762319eb1ef043ee51929fb11152b97628fbfd61575ab98050480c33333e2c575e94d84d31bffd560d6da44163576e0746693d4304900ed0710015ec6f89333f6b4f6ea2711f8eaf6e285e9b07ad27a476232f79357bb582631a1d076d9bd4a3603e3c7c77b076a65897fb470c48849e20f750921893855700f7f1c21e92c0d55bc511c44fcbd4613726f6f23c1bf71d2faf28df521b9453064e61d04b6bf970518b8f8e49f2e8176d0571e62e14f65218f76623201f84965580e0ea4ad618372ba1c1fd4a63c50428860fcf77b2b8a5708ef3c70e79366513e0bb023fa7ba5e41e17ce52dcd8a50279b08901872d14d74fafe422f184ee0276a6f2866e178b5521080736d09bfb44a0a46c54ed12c67618c232e080668f838d396942a8c52b620925e0077ad69e170b2f0921f6a6c17194dd6c21f5699296c8b437977af63a06fdb8aa302b484ad1a2218c908418d0f118b6ef06cfad973569b1e540cc1cf3111c06aac594a54cc67a57bdd68c379424a85cd790fd962275339ad5b4d8113b254d3fd916ffb5882120c1b3d51550b4d71b0c9c2767c33c75c8774a4440230c453325d9740608c0222a0761f0b6dc55b28f4d5383277f5365cecf25964e4b6c653f29a830e28fc670c84bc275cff799438423b68450fcf7d06f054a74848c2fd68fa3f7975445b4c0f502a74498560e641c418f91584d5bf686d3f4d4adba66c43e895f06fa22315398d02ce0016781371d435c75feefb8d0d000000007a6eb81eac0cfd0fd9c99d2aa41179697e55bb6c20c7a040d71e3a0141be000f2ba42d0d4ed2116f654a8b4ec3ab9c218715155d365999081f5d06117019ac64a0e7ca3bd7e4276e2b61e63e944c9640b449962951832d0cabe90d256405866105b05a2e43e7fe1d61ac275698c314488fa86804d7f29450178ff522da9ac129c7401b667a12d352316ee31c1d28f4388efaa85fa340a83abfcf482231ea56602bafea33317a585f4fd61e0fec81f723d711a4151f4b7a0d4a5a4f36b8c1b746c54d4103a362654ca4da6f2a2d15c23c02c876180214be4c8a99792a6d840406c961bc13f7e0a229ad824d67873dea61318d993b87b2856d3287343e577a405daed46e4579b7a522127242318546b34ad5836b2ba83f2b72f5606f717d495249f1181e3022794b25cafb72038ebe904adeee9f2af08a535186297b241a70096472292c44b788ab0025ad85649c4d200385b625202b73793d0fbbea3979e95b73e4fde7017e0f325b3b94056cd4e30649cfefba0248a7b86682795f00a139e644e23e26132e4e4630c042b743af25164c6e8d2c5c5ce9e31912ccb22cd0752545db37f50b52cf05502ea54777fd94144fbf15d610c66bee1f2428b6088ed732392068c75768a11610ad5fea0b88f5ab61012c912263e838437239ea15547ca16dc39f614c5898f17310701d6582499e37820ab4299c01c33b4b4bb845a57f8b27c64f1b3d24399117be2ada71ac5d585f308a581a5dcb953150ab6e6f681d766397576d09610aca472ef2732be409e518a666c25dc46aa163f83f8325e60de30e3b61222d9cb9a90cb9a2ac150a9b785b295c35376574d7679194d713033ab41dec7af51e763de63375da232d41124226ec286734631ac158af91ac1efaf0502f32ed3c4f1bef0c410e8f746dcd1c5e2fd4964603aedfa91e64de5d37de57520ec5cc254467feb12720e66d1f628dad17c49fac5e1cb7931de1d6e3669e32063019effd2ecc374d0e5f6be06bbc25ef744386fd0f57e0204d4751db5329bd1b4b8cd8b0564dcdbe1f9c7d4c66b39b2e0918e03449960ad266445359457d22fe68b631650392d55d60c0b95269bc56736107ba8d247219ca1a2cc5a9118937e430f3d33c7254134f3083691b07015fef58e03fc7695349560d2538dc0a5f1bfb2e8257ed29d8733a3097c0752e2d78501b9dd6e167bdbbfa439ff50926fcdb300799464d2827a92176a14e3d12a9aaeb7792025628f20a096f33f12a183db3b94b7045a31a7c696e36dfa10d3f027a8d620d5327210e72622a8318ca33b57a845e49bd4e1180eddf1111fbcd2accb9175cc3f19749d9af632cee8903279aa7016214b65307a632792db7f7ed69d6d59e1f1382cd633a0c8d2a2588fd2496337171866bfa5eb698e405a5ae2c1aae8dd532eda5fd5ee0f3012e12634b6f7ce47a44152d7033707a08127f49ed427f6a250b50ae7d53fab1c01d1922416ff8e0b018ad2d9a57bcb8486d119a373e0cad6515234bfa56ed8ed949ec56e3658eba31021d9ce426980e335cc91d1b6e3c4e580beb61ba50ea438b255e53cd414f3c2b2c61597f0cb7c88c6bf1d128323f63a0301d663b22eb355d3cc44f0d6f78d4dd702012031e6287bd452f935928f7ea04748e42840a25dace5024a06732399b0332ddf62a4f1050e26be786102f19f87c0697e9c0447bcacc1f2b4ee12372c6c626e560ea1b6ef1e277d412ab0ff98d3857df3be629ae1b62515d9b6a2fc2fdab1290019c65a0b4e818641b4a343dc21415f95c6f6a38ab3774d3c4cb5a520b136351561965a1acfc5cc3ee930ea176a326c3c47d5521884c2f6603031709c50f5ed1807224f01c592113a2354f48224a6f4fc45a760577505a784b7d53b007970442062614b1d9de47f98de5298817976d080ab922e9cc4b16c9a66a6ca1184443f86eb43e8e03a93fc0684c4a1db5816d6482d847b1d44b307e0a745098cc925e58d537211da4676ef520206f52a4a048b756995fd63c204890def97395801b1254da343bc62a2444dba65262b0017e6886d18c17d53b0f471ddc7c5cb06a6154746e13713b7efa07da933a1bb84f906355357f49b87f7f06329da170d67dd800c2782631d51f7c139e12937360bc3020abf82732ed4d66163eb0a25f6cb1cb0662c1663ddfd03e52455ab6218bb8d16bc5b5a672f9641854732cdc63ef2ac86a61fbad10e3a28900dc813b60ef375b6c6c9a9160257baa3fbae7000bb2734d37db54d460dcebf02c46ef244a19eb691b9759395ac2c9775b1a2291441f973a23d5eca751fc447a4ebfd1dd761ab3ab0378d0cf5b02e1693354393e08733ae85a8829d0702b9f302b51ddaa4a226abc3eba05841a714d1a42ab15317549d01b1926bc711a0bcaae191846eb44f6ec04180a0c7e001c68f44bba67ff3d2d359d71ee71994a887cca12355222698b28d26b990a755111e40f162d30822a1c61361fcaf92877c9c2444d8e30904ed6522039ef987668cca26f4ac4daa35a0ed993318dd8b6321cb7756af5f2595cd0809475a47afa6af8a88a1b6469b510da97bd49fe8fcc2ff0c7b03dfba82a768dca07552489ac6eb4cb322b2f4b2b276b39f9323ac72c40d08cac53cae8582d70ce8838b621927104ffa36a87dbed2f8dc5934c5dfcf32f2d889f4426cf0e567911201dde30421ab08dfb6487653a124c9d402f8c9b5565c4ba845fa768205995ab28009f9a6b337d6e25717c27dd2e5310f4755b7b792fabfa433588e39518ee6c7f54d92dde38c509063d4fba8223f75c545926380a6da524283c43d9553e42669c5aadd91238aedb33636c6d152ac0ba4732b9ed05671f3deb35169b312e466e281cffc7800cbfd0d11e68952b43f215113c4030512f106d466e2421a11ec46ea3148a5f7423353f7804f4b5e501b39d1671339cc931fe27785aaada6e4800039c17859f5b5e821be54c4490ab3da8a15c5f9998c8545dd09b5b184a852e40ed2d1815c00a3cfca6405c9c498f02288c7d48bb75a122e4003c58038a2637ec00116ec5c60154feb6c84e4590a34418a6da091ea1a70f6ccaf3531397420c5e6ebc3088437b5b10864e40963783148186c429e215054cb2e807309f621426d7ab7c2dc9066213ac23d73709520849e81dda191d47f7149f28e338395e074b98c4ab5009dd974ff797fd445a538a5a0f02f750df62662992205a18fe549d725cc81d3908431847f446604a3e50d313de5f6112c6b55b5df4b9de4b93078413c3674341bca65c3f01eac827126d4f0cd9476c4071770f7303977468a0d0a2556c36e82d25782246bc89e56a8c37b165d477fa55fc6d1a6144fc870b168194174b7dbb66757c280ef7fb3a08a5399b74490dd0111a9b2b28048342555c9f5f0f002ee92b21bcf4193ab2df56b74421175e53cd27adf1ea4de92bad61d6df8801de8eda7559178b28eb24fb2e71e3305749347a63c393195556d97e4ea1091b284a0f155773ba8605ca4cfa168fe2711e0377a94bd8dfc9324dfb9f32bd62ce2aeb6bbe740711f527d890a3400258d411b134b126cef6996854bbb2508a18a262aead3247aee17c0b3962fb3000cddc7419d68907ca8d0a6aa54c464831f02a3051580b47f8fb3b4962546e729724445cb6449824c62f41488ed40c670e978c3eda1a5e2b38635672cafc134213aa4d3b7c9446068580341eafff552f090105650197fb270f9a161159101d50332e534e5d1eaf083f08ef5f9433be06088df651c24efb0f7480d142d903241b5a88442dd1dc8230f6da9d3044ac271156f0733d9dde6a7695e26b6ce905ff285c086613120e702d79515161a5a691302a3e282b7a95c632ff4e0e549ef86b75899f9142b019da0232ac13589024a56387339f5c4611ff20ec6f224f1a4f63586b4f590b31f1733dbcfdb43294035f3601430f29621aff685d38ec44381ae043f2513b660ff467535d05d353cba8e149aed79b73a370fe327e826f271a8d130905568563a54fe04d1e191a03a576cd3b74628077d4969c419c101f54b4e51344f93a18267d3dec24a33b252ed3069f37c12864238eabb60e3eca833effe8702ecb0b9b2202cb1e6ef605fe10009a1c4fb7377d533cadba5258fb923ca118cb29253ed74426dfd118a360652e70f05c1113d904756161184722126109153ccf166dda68044ccc9a27ee8b180baf2d251f353cc01c5359720906d26301b624071e10e47e5df23b0d76a0a26d3ad98ae24b08d75d1ad48eee1fc818e61bde368e1effd2560e9630d020a167a124bc61546f1355f54cd7984c0bb0115a1c16d9ee37defcf776492d440fb3be6f2527f17065ed755e7066224b2e2f004166b4c32161f5665f4f0fb804663d408c0fb0ce4728b2a3330925258d74a37bef547ce912770b7cde2602ae6c263f9dde4bc87b5b053ee67e3e3c3bf731f6ac164fea1bf40834491609e1df3375c640906c1cd5f60afb412c360492150159085342b4a1ba639b6f083dc380184037a77534fc6a56503f747852d6635455aff921631584e327a627d35b95bc884fb4dc49109bdf3609d216005af999601bca64fc0297ffb807af05b86c76bb7155ad901320c446a148f2b22919dbdd2112bfbfd5228e4385629760b10c5b29f76c9378e8434c250e7662581e218d845527a9dfee1b00dde967810305378391cd01b105624583ebec3b51f3902c5a4e194e7599fa4b5f74fa359c09b147e77e635bbf79016fdf3a6e06f4ebdc54a89fea3939448e5d0c35822807b7cc124e83047497028e5dddf2c070a8e1f953b10ba771da744f71b90f2a653a2df235b41b5806da020e68a02af5391002fc719bba00011e7e623746a90e13cd24b7155958ab4f622574715846072cd8f6551a34543a0f9b1bee33e690a2347ced9f616bc6422365d41e19d4ea161b0d14c83a071a8262cd01886306b3083528c96474931b3b69b4feaf37fa76b22c375fc86a0e2783290401f059ed4afa2ffd991e5131fe7d31e8a51b573611db29bef1014ddbf9960c96939c478acbe46ad06d00580a8d575a3aed66628dfc0f5a3e074677b438fc3cc1cbcf09c13b3e0c3761df3da9f5800b908308740d11af10e1fe376210b28a77505aa067e337d64b9227ad190bab3600ff51c04bd674cc616e304d286b46fc4a5c24276acc45003616f029625d69cb3bd1e0c962e6722d26ecb4ab62d409e14d06357f40a2baf95aa814e83061742b253a9b4f3a7a20cc1d04415346efec756dea84a56935b23f1306adcb4bd771be705ca8dd75554d28129c518241a488b96a13688665bbc1aa3418f912111b528306a39a11282c5cd76ce4814425ca54926a14501d30b881d1738d439159c8ede0048c33f831f9a0446203f8e31d3907c6072b3d58392abd345e85df665b3115f4002482d76459026c37608bec71ee6bba318eb04e0fef04850ee2c49370dc9f4a13f94844509565101eaf32fc0de3b1865b3fe7b8474d0c436e91d2c539c7003c47d38738616e12a628cb7e052806519e5b7452367094d5c72f60a9d428d046521a7866482efa7a3a4e0c4013423e47a22bb2405242fadb225a753461421167f304336849653b61d1350331b5097f8a3e6d9dbea7250fb165546d912f435c96f82545d0d5276acd29172a0c0e3507d3a0402c18d81a6375081452b20c57b439284a8e57ad0067b5ef6a0e8ea275d9efb15ca166704f07039e08f5418b145f151c135d273a00f637553f00000000e6a3e339abd899390b968f1fde40cb159d8fcd35e3e8c65ff2751d1703c85d704fe57836409aca4903285e25ed568e21bd80586194ec022d06478e2c68c34a681de9d742528be5672ceff135bc4bc01b7428055ae653425c3da62d06114a8d465aae385bdc5806532746c9023081123e4372fb5666f06812d1d94552f80178713da5055849218d703d971248c4edaa5d3ef95d15bfe0152d2def920bd5b53f721cfb7027a1827a0674859b65630f8d248fd36b3b2fea33042a7f7f6aab52a02533799304278d9136d6f45971a12fe148f69e0d1677eaab228121cb594518be300c3454724dc3965559d5e531e5e0382e49af31580c894e25a0c30826367c395849df4e484f96de1ca6c8b55e1e1ca86d7afcba2c76c64034a73eee44f2071757e6f63e49771d561251f9be0725e65649ca6a53766488bd33d92a21537a11fa698c19113780ca00552084896d93e0c55aff6cc968d034972254db2e2ce5fea634c903a2458600d146f6ce8c669767262550a2394e005f0e2e19aca82d14c3f643c71804576e46041fee7f1247c63d6827e83da11f6c569a56fa0f4a68a2223940e3fcd2095fd0df0f0a7fa2078e37ee24cd8377743cd74d6c1a2fd92c2c972f200a0214034ef2e70e32155a4a8985720caa92f815cdefbc32a6209d2726349d59f87b8172a5e81133ef59a21c81a46e1308e1a8127341e52f0134885d520f7e6d094b5c08a7945d5e4048ab44f07025278b29a861ac760134f020a00b8980f003f289be60fac88a514a488f33eb1d0a4ecf807a6f2ace10482ea8794e9b08f54e1857a6252e566b74bef3d22f5bee466516d45f049359f60605ecaf2f1bd6f9000dd43b4e1431bf4c73aae5049c8d4d4fd5b2b36c8339af5ee6c3dd03bc10933da21c8846c59490322d34b6397ac6c5436e6bb645ddc8fc2733b772514ba4ad6ecff2905614a4ac20c0548f1d5fa7d12e77c90041022cc262c7ef051b1e643e394165ae1183486d5e8c722c1caccb1d75fa483b1419b01407f33b644a460b850bacb7bd731cc33238ffeb294a459866264af90b554fc5cc6a9cb60711d3a83f0523883a1e4cf67f691d233f6f2205425ec9100f3748a6e9711c4abf3ebc313329253e2c637271371a586ffb2c222c2e1149ad8b2db3622f14ccc39767d788591e48d8b961068c2b275c9b713ac768434af1815e749771c03d12066537b637cf1b0a5b20715f2e5a6ba4023b2bca15572aaa5fdd1beeb4262a65f487451666ab4bb68b4e628f3c6b36498fc1605a56224d6031fe70349b9726d8d2746fdf1ef51ac702325f55f6c043da2f620f75e37368ab07cf0f0c29533415c19d29a4c99450536c8e602bb04f3f36b2863b48653e5a076e9723d9043b6808a7dd60db74b50221cce11f6d275f2783be652a0acea61f80150240f0bab035b6b96664f114dc1a9da67333359b6a5238f21f46fc78d734d658dd2ec4179e50d45c0721fb472e6f10598e2a80e04c078943c35657cb1637e40f2839e4ec532121eb89021a090f6a15b55e33db88df166ea78640615b5a147a9c417589e037274ea9d6169969520734fdf65736ea8d47d2f50f070215960b9d77f94f0f459e497f4fb96ecd4e6126bd717461b0293d67b9f9840a9625816abfd3696539fe8767323a3c77de3e532bdb855d4fb1ab1d05d52cca58f2163356217c356d39e556423f39f92d7ab8e504a5f82f2d54ee122dff115619c44e615be0552c15c1b6e20e484c2f1001916251b0534358cbdfb462759c1e566d7afb3aed19ec231e977d22ecf46a769c585956b6eab174cb91d64ffe0ef73421fdcc0f1bb1ae665d96e41a0b0dea29901f8f576f7083210ee69a3e62770a630cf85a25929445142eb0c90643990b536efd1c2337110471fc0d9a09e0a2f90c6aa6485a67db7c278ae22a66ff27296af48be9173526644ed28c0259fd840341ff39be10b8f1b165d578aa277060e846992f1d63969e7a1c719a651f5c08c95eac7cd206b33ac306c040104eaa5a6465e94e0e526df06976d0eb2e5a83cd2a07aada1c2654894365a1e53f497bd57324730528607dd3323a5b8d022fc904880fd3ec1e0ae2a69c64d4dfeb167013315e3cb3dd3fb7d5792e68eb664a2be0a63ab302d466516e2e02a425155687eeb26b78ea6b44c223d9309452663f6778122101cddf020fd99c632e05c546b7bd9b277a5eb73ce575456b453ac870c1c81775265554225fdc7e032030614aa8fa174740c4c5642c6683462dfbd83d39bdfd077888eb1ca27c742661f49f364148c30eb7148c03af8b4a646ae9681476cd17564353de3d5a4ccd1b61b7a703c9cb524b387463099fb2415f7afa21345a958b2c5c35164526811824c944af537c0c2c3d4e31915e90795b08c151f224138f621fa1880e6d16ce211f926e7c42a36fcb18842e8b20e3ff5d65e499ce3180290c10449a1f3c36a2b7753712d470988308510c51c47436cf3f14ca368404d0e8a6448ed52474c2f48050a6adad1ac4616f0ae3d8de4dcb5c2b6943be975620ea14465e808b64f26155721416a633d1f14c3f398fb8393a9515389523ef36c5613b3fedcdae6689e4ae691c54401575f43e48a64edf33f06e092d2847fa26c0b4220880875c3f444039193c3f78405527681c85d47954ef52ae1f21b7050888ed337147d7ce0584fbf35fadd63c1e397ed96ec5190c058fbb5145164fa54ecc740f53e09efd2c5b266b394f68eb1549943e7501ccb26ff7b4a03ec6a65a42cb76c311a42908178194a72b7d71f101051e071d7b671a6a241d8c54ad14551b073db4456934cf170aad271f0fb4691853d58c3dcb2dac075e6a024f25592925201b83620273f9413b76a90c63b0ff4c325bfe394b8d780e1281ab03a8b41173bd91ba319f9b0a2f1e025906f739d3465056ac5553328a2e3fa833151154486a3d25e5740ad6160415efd85f2dd7682450e1a16ca1e7b22f0757e5412830ce2b5ae38f4452065459bdf86b3a2c507908b1a9b8146cad4a43a3944d06f60ea633676e6e1e97a9ea0871b6ac3f6e50465f9035c55ce7201e030224d55109f1671c3fb6324200f5bb159f7baa611960175f5d5abb4aa9137220476bcf477683764efd2a634ad2c326280294704d577c1241a213011637908563d657755165d9d761ede6d2641a9c0f453b3c4339e6a0915f031b8f2c84d01e2a600f6b37ee47421481b1080ac3bee40922f3de6e142aa7664089a70bd9a6e81fd461a3100563342721f05e245fc1644334990300a093740a94e134262b2b97677556be11aa986675c051a95ae19e481b240f2f3c85c5711ad06dfe533a3c5c0622036e18b295de50b225226e677c3c465093971da44c6e5b247591568172581c9e23e44e28d8706a18f3334b38c0ee4e47426b2464746414c1fa7369d08c1330059aa11e87e19f0cd2268d5fa714d472315fad267fecf93934f5bd5d6ad00422f9633250af024d5a04e9801fc4840d07ed38b0118c750211b35f7b619314281a7d06cd604da0335cbf35e05d45152116e842503ef7e5a632f6af7b73da678f70821e204e37fb801c096ad5191fcb5b667c66dd3f0005e1193f604176d0f54f6dbaddcc55e5624f698ae2bd02b2eb4f1919bb3b3f8847720d9fa3ba11c22905370c9aff6f8a7660627513e00c56435f1309ede30aaca9ac1d5205353d54f3381d0d7a136ab8d538530eb6436fca605925412d6e17d0b123651a9c680e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d87a46b17d2335637f3ce23667d057d034fca4c19613a462eddbcd02fa0c2316ebec41d25a2f4ff3ec8a8e90583e6e3613502593786a2901af6cca455185cff34858c1c3c1fd8b673de18e7393ffa832b4697005380662b675bd0301e4419b62e0d30134be5b2e36d20dd2a2a507f4137d288e412ba521f69ca4c3d7513a10b45235d8556f312594eb5bf1611862bfb67929d9f29a9e93a68461a515e2e5d8d44c149542a31d7e2427f8c1d693a49292c6c8aee194b88fe03b684cb0f7d648e4cb63f10261f8df13ff32c85563f8a6560c6f43723bc201252ee4b4d1c3d4f4c20ebf7df0a9928120c4ce54724e2c96969f3445742c152ad173e80c2402bc3907000dcc1572ab407739a36fe258ac79950c4806b222438175b6a9c984cf4404322927617539b0fdc72370d566e20ca6c2939dc594834eca6111175b9475671171aff6f436c93e49f0b0731dc5001bfd9486f9af31e279e2e496759fc65568f424acf1de3481921f900739b40609a46e004944c040d7a822c18d887c751d5d96f4d265a9059c2a10169c3038f0bfa048c28f028a91787813343a57b390f07047f222634a01e4468441b9c737344874be05490d2a869cb05760a4b7ffe145216d21cb35b9226b27dfd435b83c444529e012213dd115719ad375eedfef47387cbaa5362fe4258d06d415b54f0b7330c92e60e48200b2601767b0472e7102250012355f99d4f72db2acb22fb6ef81e382b3539f9f14a16a193ec60695dec7548b5ac2a5ce99c4eb46faf487f888c08efd4f91188291e210720196a25406710f2275e354ada3b3adb7994469dfbc23eb0344435e615085f6347da37d9ad400a7c3cfd44965ea629594fc0231de68109bdc2aa469037de08933ad1697986e4714896326d2b3d955f8517532f5bfa0f6331e6121fb2de2968394fd5076be3341740a5b25441c74e169a937e70f0d95b4ef9f95e133241b43d79a25e67fd9b4f72791dce0180f1cc1dca3813027c8b286e46e8a219a2cf9f291510136aafc2d762c4bfbe71d600a23f9b8fe35db1c18d4971e8a326db8aee72bd62531b49327065c62f98302c45e646ead1bb1e1b2d3d2f59865c75c5251753e0fae932e11b785fbc4da1145fa46136c047231fac290d63e305724abc6f08429f7e6e2bef6534245a586b6815c5c119c9acb409b264a471a7054d125bb1f05842969e7614044805abc0025bc094913f83c8920f8c3d3f392281d0697bbfc011f3538a5eaa8f20228d59fb1de0c83c59796da50a5a033303e06c30112f4d7a39b0611440ec8be138dbfa70409e7e11557a0b5a13a741670c854d450f3fbf995bbae70a7129968e45d79af569ac298b0d3ec51e6188bb854df28601222db0521c66aaa545cc7aed612cb3e539c2338b29828f9119756bf15f18d60c7382e31b2a452fe901b00c9171dc1ada531874671ee8c0c90cb50d30088208682798d4a51b84770966b6535c65583b170dbb18a24b12b1c53366f1a6513b575600ff69d54b89b4ce2f3158cc213b2eba5f413b5c3830cdc768233ae3641b7d10751175c03c3b19790d463c8c56ebe4db57772a6758c1bf6436f3b10a742e4616008eb9072f91a5ea693446356645871607fd0578209ed28c62f5d8a8018d4910074019f732980fe347efd57501d4963906c98d6165275fe7020485141652e6df6f40226e31e96a2e0670592b53a11c4f72de4c741400c7de118c22660ce18f641ae7670f408164fc75bea3552cd346746c950391277a293e68d72cb669da3a251741b66a666bcc5f05801c57541710942250f6a263f384d122ac35b0355169c238e5b9402d8540a021d80ebe68f0b79a12940bc11a81483146ccccb14e81a193583bed9a0f0978a439d35caf2d6b31d76eaacc1e40b16f2c64f291fa2c603c1637f9c229010b4df01264ddcd61ef5c1b6ec2229457922c0a5f68c5bc0800000000953b5244753e3c1086e67360538e37194876c95ff79afa6f11bbee6c84c6fd485f704663ffb86c449aeeb66319af4027a183746f7c7f1d13757a494bf3a87922e6b75a25ac402e476d703b369b4e2a2b65e0812318dd4b235b301d42f40aa54364a0f83fd4950e674b20c4279b1dc93f0dc8d637f5d4912c8d3efd30cdc749307f17e12ca467c46149346475fe2e6516394be8343328a13fdc6eb6488ad48935217c81145c4d5a453bf094139caff977f1e6ed5ac68d844dec49411872ea2242f0de4f6b21303b28fa548c38688d3a5d2f31b365b03a476d1b096e044f8b144736973c58481eb943f7df3713cb0bd33a9460a450deb80b622c4f732676505221cdbad90fbb4e4704f5a4ba6395709b471febb94eb5386b52426954744ab814481611c7312cce4d3ff621b061a435a3284ef62360c808d417d01b3a2f6a123c00dc45d22f5d54d82b7223320650f6f62da4d9ff347298452a932b3b05d2dcc77455592a6f6717ff0415a1526cd9ab7a0967f4d44908d92a0dd0216c1b1e28900189d40f050dc16c380bfb3a2d13476f17197a0b55f15c2b4e01f3e760b1b65f0915585e2b9de11b328c505839edb8213645627661a2bebd6820d79e13e925003b3385a1171f184e4e3cc7b523d18caa1eeb7dd10b6b8c0a43cc67b3406cff5d4de2d340714673db4c104d862d3b7678006858c115cfbcc53931a1fc36f5d36c495cf957256c0a0b417cef1c52a650b81bc6597112cee5395bb73b2d27c979ba27a660ae3f60ae2b133530d75d1adeb800d974146ba0d72e0378facb6a1285ae1b89139b4db620483284249142e748cb081ad9061c152b7c6a09d10a29c679cc3e8077075f727f3e2fdbf1b30f458b911945c96f65ade6e54ea8679011afb8e73681dc20564bb1ab36c2886e105383625fd2db1d0e64306e59317b115c8478dc503f4bfd4b4e4d656d1bb81557bccee222517c16756a710e6d57dec96e80daad57c5446e33d4d933158ff6b86e17c4c361f8560804b645d52e26e1763003864e6f6fe3ce0c1f1bcf1b0a2573077f7a7a0693bd3e622189475cedb322683269212a3c540010ef709e69c13d011c9f94814450d1760a59adb976720dc60b88011f4d66ef2c63e9ac92061337b604d602dd5bacf37618c34147586a13620298451b5104e6930fc6b33a0e30f5554fc80e8a64a9d7560e26546564d6053705fe6d31443680e72278a64743a91d6837c337a05c6c68201b5a8ed02821b67d779e2c45071551a15b25c79647693b1e7389a7d559df10cc09da88f54c32deb5057a49633741ba0a4426ae3f69ecc3934206eb9147bfb48359ecbbbc5ccabfda475555720e6b45d72aff977d6c4907514d29e162107a43311d95df3f2391c7871b540e3d71865a0939ddedfd507b725d17b28f261a82fdb25d698bef4077709e2af4e7b25255bd383d58f94a7069edc56310088108cb5a387388cf534ea35adb509c74c66dfe55f6587e3e480b0c68ea651405c428de4e34250657f01b6f507e6d93b0a16d81a8783ecfefa92e35fa2a318b254c5e70c4490c0ab24b368afd452107704432ec4979101c5b8d509f4e380870b3d2085ee18f334dbdd20d18b8684852dd293a9cf7ca559fa6fe470a7c3e229662853ec301c61c3542e02c5fdfe3171ab8d8134af31c5698a4893b63b6f00fc1cd0b6eadacf76fde3cfe3313b9d5459b0be34a35064a6983350f3ccb7c0e178f340231121d085bf5055205f25e62520ee0af5b556c6f4ba8d9c2285d6af470dc998066a63b5940ce535869ecaf5a2efb22660c634c891f44c6616b241cdc1752ab67130c060b5bea3b231ef77d9e6a7ccceb32b1e392754934f67478e9093d5e5d5b002b48c1272de3205407d1875c466d04769272d21ec17f2e3fd9dcff409a3fad16afc61f2072f9d0606e706b2bbadf6776a2d72842b2642818dffa3b4c1bdf7b2a2060ee2462f39554e7b9273fbe3e7507ca5fc649aa267a285fd6a350218d2c47182c7c6eb1eb595385242a0cb1aced5ca3dca96764ef2d51af938d50050a40546908df1790160f52743ca2670645356049b6b251c88298383e4a4526e32bc451f836d209241cba0870c6dc63897d463c33a7990686241a0f49c05748fb514a433522643facaa5e2edf66871470e512037ad1e336e7f6be2d4c6c95515d8d9c2db24e5214192d1a6d3690af37d8df7936d072841cc2856005f214e836daf6651afcec68657e42c7671cc5563cd6b06b00ac64aa2671b5140fb32115408b24c33c0e4f7108fe452c59c61f2c49e69acc72916023707fb1780fcc2d292fb81865027c7b2a3f7d94b85846bb3d4be6aaba5fe8d5304c7887440dfe966863905e3457005c7f362b86962c25319556a9644c5f97121e0ff0412c1fe6a9402d5f443550d39a9a07df12244481ba484afda9700b74354c192c93b15e8843140ad6b43d3ec68be54c647fe84f421a445e9695d20ea5a3881d47fab33f0d78e603ee2d4c6e4daa7232d952d030786b2f64ccbe7843efcb204d10d2815f9eaf6e1ef681613936b868664321db4ba9dcc465ffdce723b375302369e8a745a8ee265b19b79211b81f30281df61b6d2cb14967edd0d26b6e424b20b4cc6868c37d6e03eee2ce571596985d3270c26ed045e13c13a10168b981dc36e9a92d5d86664d6b64836a778f3f0a0dfd28e61d12b03940dfd1864a6e1da5774d1a43105822501c461a5c7444a0a7443dc15c0b6ec6050bd4c16d139fbefe7701397c25f12af93487ea473e05ab41654356d1484746a21dfb7ff752c64c2b47261433639f61e10fe3554f5d2a0a542c3f40d0724204e567b10b5f2ac539335f2cc80c047710c876a76a466fb3a7f84fe8069e116b209242a7ddaf38e517192dcb2a0e23f4aa541f16adef771f91092d88549c20d319f424e2d30b1e49fd746d21c4b140687a5f3f9f49554f4c9229697a87d35de2b8170dee618f5e6548f207b8773753bfad1e053d199f2d2ded2859bd799b46cda8ac6e6ea70a17fe2bb8439913ff33cb2c205b06aaa8252b220721b39b9071ae4f636a9f63924a0efe0c6111f9f133c72cac36a84a050948648752f4d4555dd08736020eabf04504b08e488a988706468e52299833066c1ccb736aaa068c57cf8ddd3612d16f5cbc291e0b6d4356102ac2ea61d5a3af717d7dd3039c6a08225345b503f6def14b08ff303bb60c583f89b23a7584e08235b8e36171b7b4b13c39164d10f92ad420c15f4725c1008c1c6f92d161221483272215a966cf83431f470d123d918c955977baae0df3781a63bc4a080aefdd9204675044599f9bae488f429c16a28e71027fec1c2549e95a12d74dc5183adef96d941f5c30aad4f63cabad8056a1e1537684d3e47619b4960ef9ebda772b9ba40058029260d644ec542108cb6c1a1c1f3ff2f265593f7285703247cb5dacdef50af1b0180de334624a3e0d2940d95eaa2480224372f5fc341d878c5300e42d672c6d59346d771abd4690ea646f3d31ce21f175026433ef9f51b8e901030739e014ba5b873603f5f80a182d493fd34ab8254a4bf420bbc95367c1c9fe044a2f1b51b97d513250f6b8737a13835deefd2b4267c6cc2e29d4a95c0549ea355f4e60669c9b380dc6215c60c535ce2b864fbb67bd20b031fd4d7014f93c440d39132a585a9ac267bc2f45598fe3e3203c4eed3d4605eb23bd87cd470af71b6c085c452ed826e55b34d6120d90b1a06398413e69741a6068bebd241d8abad53eab556062047ba42b236d4e719a66664194f3342c862dec23e2cbdd76ce66b6779ed7f6090e8a6b716667511f51fcb1136f089d694e082d1ba83df909517b6934b66cb22e85af8a350ebcfc214b69b6429e1c0d2831517111f3af0d519f9bfa65fde230545204aa5dc196066e74d9410af70d3a0e62ec8c2d758d36402c467c16184e651afc5ea15e4a49cd59bc32e76347a50925ebf93800ec290208bb8a4d32e4aa046606c3a7422e38d827e7e822349adf4436a2f2d7018874ca6defbb4f133b0cb353bf48200445f8fd16431f7e50bdf7206737b5cf66d66c540c7ac15d24fb298f0f467982254e63575d93f83013069f9544066dcb53aa8eed5ab955e65234821b0d1f570d16e5c65d6a69d1700a54b0705a51f0381a5db55e1a4d96c2199aa4685cddeec26c0e0b23184520ea14ca48036de5381f0ff7726426cf31fb0c49c619419722b239ded49913e3731239e5293765292eda186d99b52836c41f0496a81112b07a1c2db0a9f01ca6fd5b6e13b9510662df210db5922e08eec8bb646b026209705e0c60c6d452308a8efb4312fa1808ded894516e04270361edf555249a9317bb54676cb61ac04b179a011d1ce1466def307021bc6d6b127c66d82af00080515b8fc6256790cc4ae4bd031d6705cf645e1f8e73c715c03e7933846a7f6bde2be99c440d11fd6f6ef39dc837f610a3258e1230513159ec18c1015040af4b45552ed3f01486e53c62526e861e3a893375cd1c216c9a344f499f4efa5354f4724293791a0250796726e4cecc16dd0dc53cc2e3af36c1225a61c1b2ca453ccb45381ffcf6083ede8a0a55aee8677810e406569d761c609bc32508601c34b2972705544de76f6077fb357e3c491343b78c6371c1322877afcd68bd62f52c5781491752560d0cd4753f45b2297c6ae47468204e046838ae9013141cf2363997c5491e82d86921c36ffb4b0cfb9a568d944c0e90a040573f92d859397bc04dd5b0200bbcbda86c494bd149852d6566a6c5bf42a15c9503deeb0f710c261913617040647d5b394c2f5f1f29b3887040b4952755ab3f8c68fb4fae4e3f7c43532e6b8377c0c22e1dec13714e219eff261362645e9f816150bc823a3ef43f17656a23eb02cb1cc616396d410384337a567494e54f576195729a6c544a4a8a9e2b44c341574a2fc82a2d928e1a9150b3346623c476aa99940290dacb680d00325ddff2cf28322bd46b97f31208f3741912931f2947a9fa0e438923882feb627169e322ad2c7e18471252c95413b1e5b55d5b77c57457012f4c6262c801f0189d1ea8c7200c916f6f236a38085bca4c0c65b527cd104f947d155644764830ff835953470249b054ad5703a2df46f368006a2d61b2340b99d118df192d2c36fa2910eaf8f213fcfc3952b93b5a065deda308be4cff2831674d2ae693776d2a73cc6767bf6955e7c1030ba01f207294fa750248c1fc701191655159929b23c319b51482e8ca44ada14707a2208766ddfbe73fadcb7a7760f7482562c1870466826c5567d2b554566dc63789acb01806a047572049e86ee424b81d357aaa545cfb746a5a9ca505da5c6956f477cc039f39dd0db6c36721bda46a1e5d3d0927873e4372523fff24b902834dcb2fe848b35d1600ae175b48adc91c3fdcd6312d67f0481f344bf3727eeecc1aeb58bd252fb8f21da2dab85f54133036446b3a0e68137104e5f1fb37189dc03d2a641a68e29e655c73e4a05952ec9b4335b422389cd0c1061d6aec179e85713c5b7d3104e8b08d46fd4a7f346a3cbc288857b54e54494512f7782c4d0e0bcd4cc1aa456954b68920f0ea426fe5e28b3005e8d04dc9218e485f5eee4446138835f13fa533090255227ff2aa01c2e17e6bb3db762276fd956db8351e2627e0ff1cb119414096a07819ae4f1e69f7290527979e5f17b4476746df0df34055a5a95fad2867543fcc8f18810820609cefc624dff23b2f0000000050c2fd43964aff45736e681f38a614672fb5e366bcb25a6c5d3c3344e304692b5e514002db28fd4a465cc90ed41b4271cc3d8c081c7b266339f47e08e90319469c2b9f235c755a20e1305d254056e64df02063512cd0e61dd0ce2c2e1faf864e01cb9651fd5aac4b84b7390891f1405516d1c53d55e0192c3a282c053d36c4317102c0266f252e25708aea04a29dd62557678a19a23dca74d8f0f06221b7293c3244e834337a5a64a43e8f4360ee2f605c2eea75fa1e0f7790255e64b3f45c1823a6913b4e558e72813a922c52da3f1abe2f3d6904cfdf4132c2723f6012c95ecdcdc318f36ba21273983575aaa5015f056e0f013442520bdb646b6043f1841cfd08f73f4380b402fd5c69681b5212699cbdc501a26a806fe93ea4021501804a133a7c07681d736ce8d8c95fad9537172abd22420a2bfa30dcfbc05e17b2c506972dba56c87e4026ed6b914706fb624d53d51f2885ae7a165f3aea27b3ba7c687519c572593e3f1d765e64107055927216bcb339b117a61c6497a34cc99d6f70eb8594645c4c704e1ac98e13180be3494368f355c8fdcf0bd15b7b2c884a713cfeb32b381bbc586e1f45a8534638ae49b561bb52305b1d29922f474bfff20c3dab93bd738d547f4479ee00756384b91d73e6d2573dbe90370c6f683096a15737e199ce1178f449102f2789648cd64540d3f2a622de696c3e3c80536f31bfb347473ae6423cc2ad2111e4e21c6d749a0d08ef0b2a7d32e208e438266d40f6c0463867010af77e2c4a7257f800cfc09a1bd139be2530f4f9160c415a218f71e6571c0e17710ae1ca435b3cfe084f0e4f46bee9c40732aa71006a03b00d84553312d57acc3c99a0d90a6152fd131e99dc706e9a980bf901534fe597c15d4672d11ac7ad754fa6292b2f5900d04e557ac7721d0b502234a35a739852e43fba6a886f94522a4b71c12f7561fc5f6b9834160f233715121cfaee060da4194e36eb3b5b8e7885693a8c6d3559b1763610b1ce4fd6a75508928eb425ddc56d1cfa05a4389f91da4f245b2c0ce85f7645790e526678b3b96fdf955e23436f3c120d6e240738629f10f01cc4474cf189083c8181503a38bf1d59e702126ab4e21ec150b40fbbd2872c3d714e373041e745aa1f143af3e6ed164a58c74f65c77c069fce2047f269c459bd16f155c9f384543a876e10abe22651909c18402239ad00583df813d1b61376becf471c3319a206ca582b30884b4719c6edf66cbf828825e303c00f6ab73047dee79c6320bf535c1de762601f89351d915a0775a1003e68b85ba60ab3ab1e4d33f1cb6968972712df57a8622a47134e49b5cd01bf74c534acb3d730ef5481274859e74173f6551f233f304751162e28471935508e53a02f4dd9f40424b7b246301f2a0bc4ec5a6c14fce15de25d143e29caee730d493f4a6d6fd657abeaa3266b9016073c1ad4396e05b2388af8d12492037411afc6972ac94bfc47033f5f1904c5f81d1d72336bed07af5828b6cf1373ab9f34e80fdf6a73c7ef111ae9646a287e2f11c6cf081dafcfe96eee87906e3261781ddd2c42689dee1135f131e8560fd6942512484149f45f1e684334ee2f1f295d1889b15241fcb2b372a92f6953703c96632d8462207b8fbb5d83dcda463e7358627c361e5d0ba9bc361a65aa48b852f07774a86b6caf7f5168c6bdb4091415565c8bead26986481b720a081766b31308724aef6969bae625637be5673232f2e773452a542e9bd97f6507d68e75b5460204c89c8d774821eb15279e493084a9c2741b301e2adad7494d49a2bb32be9d1b3409e1e46299d4720b1535a473a77720153e206932a61eee0a0c5cce4fd4bc7c4a4e380663ff6cdc40af6e403bf520696f79bafe093aa5d720facb595e6b8b0d1612cd280a905b080528db51625ce8e2548975ea143e3ced1a7dd3fd0c53058c149a5d4622ec1a28436657af57d3055f4764c46f0b1f98666044f2963bb23a026e202bc73ee0e464470fcedc0c966b0b08e44ded2f1027c317198d7266c3e59e3f07eab71c0399c72be58f0d20eb76ad3b6d4a48348b65c72772d72f30fd6c44228796b454b4b422127e23e965475f8710e1ff514fc91f002999400c32bb6a7a4baaea735ec7f0946aec4e1a45e7f7dd029a95ad3a4221ad005b8e57418f2cc105c2f4ed220ae6213da406126ed8625a348abc20648c540859373ecd4ae5c770004165a35551d56160fd5d54140a60dd5ea628d05ada33604f44eda85758b38731a423b10179bc9b2d36ae1021a5c0c943641b571a2587e548f6dcc0723ed45117b16d263b92f09715356fe434a4b839153459132a022e8544236ba36f6a652f44793bae5e70cdcb043b3c6964a32405039f4a42660825df5085c4375089926806db6d6b0b0d55fb328008592d2929e7776fc6cc11c49e4c1d23cb0d3fef352e505082116252640a05af72ec611b772e0200a50346c26b3e175afca40f3df2316cc680fa40a037f65455036f72772baf0b02c5915d628588135fcd7c3a2275b427d931db76c23bd9568b170406564be216ea4e3d28823bc43720ad7450e7aa1c4b16d47a2280c1674e3e1ca05cdf9af23d3906451483a8d308dcc4903a8604d607110b8f202b36eb08d0beac6d27d5dd6fc0c0f6080e85b033d2cb401f61473d322dd31006ef974e6647333311bdbc0b65b3d3306729e6ea0d50b68a1419641043b3c38a2053ec4775f30da162a593880d1551b020595b32370a45f728bb9bdb21becc4332cb05a75f20660e70232f2c5b7a16d174cba2ae15a0f10b5256d6a65a1ff8333f8c8e09721ceb7a3bbc6b3019f4e78e51e4e42e7214920400e640c2589520fa6f8dcaad533a9bef17fd64a466a0f9ca0eaaa86b1997a74a3d27cb5661b0f95c5ab293ae12cbdd2213f376e903ab335b4e1956cb6d4f246f046f97e1225b7caf5f6076f94c93eb9513b8cfaa22db7bc962d059404649590d02fcbfa73f1eb3a615279a945579414b353bf2155e6bd3656f84900b37e48a304199c3be2cd6c5146744bc3d11ff1e54586383276ab03fe9153f55605f3d63025d495174404a1e4829f4f64523cd8b1e0bd8e63d75c0f8fd0d642179519642d57729f01116b211c95a90b417178c13c25927917d1eb600c3535184873865239b645eb86460a93b9c343f1fca3e72b801104dfa7d4c27d9b44c8f2ed05e661588248296f93482c2e939306537236509db5b73926466be5e930b2bea0939a7183a575f2b76153e7dae2669c034093621a0329c11fd14a859a4328b6a85223cd4505b7521e161404c4b2e1bc84c406630f1171572e02925dfd360716645610eb6e81cc079b448ca2f403e5875784d49271631075adc578e4c5409d2f67854b2e3fb57c65dcf70d98b6e14cc57a168ad44cc6eccda9709c2b0c96b76d3b6056e6abb0963c6516b624a4831165fb4559036a93fc478901053a41051de22b41bda231204663deb53850813462c6d05350299091c96913b3a2921654afe79b138eda1e41feb86b20a330a0a6fc1004b26e0419d5152186c440860776c5b542720e139233964cd6666b9acdc325f89805644c5c52354c4b209b05bff2c55d1121b7d58046a4d32b266ef9a184b7ccf900058a7fe14c6ba1949e99a9e2e27158a326ac8cd2e9484a327cbc4330ff951de2b8e17fa69520b7b3c4aad84748c820150269aca14cec5d258b0b917460c9fa90b7e852e6f7f356802fc2b0f4838f1b5177159f94a9b767d6d5181b0393a49ff03350d1c221c948176d0679f6ecc5b9301a68a6f2bfebba36d6276d00dee18543fabeba75891f13754731ec13107bd1458a72e05323193012430950633e69951365ce8de509108ed516651cf25a62a873c254aa664dadaec23a3b92a42bacddd6e6030442654ddf725384fdf1f6b9fad6f2faf9239a3f5621cdb0a48537a137f6a00f0cd726588d3607a132d46f1b1c8019b06393aff53fa751dade857046fe2014b556e76d97959700a78c87725f8ff18d42f600d2027d152604d0c5cd47c631d804f565564cd8a40825fb3380991e80b459cdc4e9698925603a9d30f92453b476f74192f1a5a9672def9dc08e4aa8865fc61046ba06ae30ce15be106816ceb4248a6b7339724ef486366f86a8fe19e0b2c3805632d50832ca7cc08589473c247fc5646386b28394914fc322030d3690dab3f6b0f97eb436ecabf1d679eef5f77b2965c1d47ca7a1f53bd0e1eeecf311332856d64f41ccd129f6e260d41ddf217a094a965b21327284a18ba6ebdd7b0678ae6f06a04566a26d7231851ab83511ff4c3906909f0cf75f4ff5325700fbe7093280a1cf549d62bc820655434dfdb02c6ccb0551a2b163769ca384a4a913a3391626a7008fba835dca45272da40d710a83bb6709ef17209a428cf17c62a3458920d6a57cbe53c0e8195503a84963f4b587e620d31323b55018a4d0e9299986863d386371a25937799142f1a69a0430cd426070bdd9fe02d7f08557457482d4429713942e24690760e4e9e5bf4eab35f4e86bf2f7d0b981dfa2df60773051a2912bbd84d5e20710581d5fe0f7d77856fa0d1ea3a31a32d662835a2100d0d363cc0bcf75f32549b35aec62c3bceeae416548c6a18df527d28cbb9f7234faa4111cbe7bf36c447ae22890713575d870c0a5068b415e85b2e75840f5f3a5dcc4d64efb89303d59d212fdc59925c1ac17270e251753c3274f04baffa6f2d12c45450715a6b32beda334b575a8e4a3aa1ca115a62e169695b7506ee27560f74b801564ebfdd60374e97426880d62434a42626760fdc3315fa0e5da4690b74e48b681ff791be539381270c43d64b0a55618f64b07c3547c2cf7571d35cc239c0e7575c69648e0e772e2238bf0c440b52e79d5ecf22930e297c9a4edb43be4afe66c9526b16c751ad98966f5c48f91db678345e06f2a61caa49c76cd5050b62081f497440cbe7603fde2f614075202b92a60f66a4e929197b253111545193132f2dd61657a75f01b5e48d3b99b9e5638495b52ac1c1fe61d5564256f57b0d05063e546b89d3554379669a16e27e2a62c878ed46319fe968d7995800c227ea1431f3615fd6d28f0cfe9a8f44dfb4dd16e2fd154462e35e41c51ac8080c4f5475c850f415e216ac48211ca55ea0f8071bfded320e348a8511a2d5bf60875a3c582b0724243e3040025adb7a3d6109fe2335d14c525aa9cf2708572b122f89656a5a8ccd76711d541b7c45772898d7391ab2cccf466da6874f2f1dea20ddd8a6329cae451722945658904c2348677e074f75db1036264b780a7316080d7132d32cff76a7565087c6778c24943c7551b90d7ce1415116be4d6ebd34a45a31c41451e5a94a5f74e2693c6d16c52fce16404ae358ea0635c2b1502aea603e18779c3f294fef3bfbc1ad3ab3d31c7133694259b49bc5061fe46b538ca4b207e13bfa0fd1d82d35f8d04d69777ece157e6fc54a81122a3b41526f3b13d3a465c95d4b542bb10e644c5c1014aafa7f5a5f44930d7932dc4c72ec80305a8f7370cbdbd050c76f5d1a85537b4404105e5125ded0682d9e650058e794362ca5eb4e598e1034dbc6cd49f19d4d729d7668203769dd4cde835707b2f9f32bae4807060a4e2e388bae9150526070295d4b7c406676bf36b7a8164539ae0a467d975f686151d036be0b876dc96f1258de312e3184e18d1cfe2aeb2a0de2161382ac68508525892f8f853107f946c95910774343000000000e7cf50cd7ab016ebf82606c9a717b4f3791c24a75b21d4a2d988365d329125219039d236014ec59e61a372cb963636c04fc7b64450a47222b09203e0e4c4d2b6daf7731fe35bf6544e93a386d6241345e88c15378d080651cedf34bfa17ec0adbe4d612f27eb209d632f81fae52337344f2cc2536aa0c226426954c2e2d195f35a01212b4d0d64d515e482c5c703c0fdb465e448a490b07b3139e4001be7b2e3f14872ca2056c13ed605612b8c2fd4d5488964d3d589b41e8d09626947b0a03642d1c505b5b3a4a5454ba756568d81255814857e319891a2e069a0ab607b40c379a25467846b539cdd3244d24ef7721bda8143610aa7a48d5321b19d97abe750ab1a0462abe661c301fbc6788f4690cb0b1740c15b85248c927c64fb762cf394e472d212622266be36ab35b985adf6c2881d2032836d05d7cb254431e2e1a3706c06a54cb3d6a451a1bae7736069955f4cc6834d15d5455a401335ce35c0a3832ec970d6f122e42f5c9e10dd6c08427f6aefc4b5cbbc23b850e621774842d6acd948325083d34414adcf01fe2239f69c2154e64bae7b740d453ba0aeac17f1e185c3a4da44f611f692d5e48bbfe1838ccc6096093719321df3c670b404c1c719c220175e5ed226fa25dd96243c8384f68b41a1933a86074aac7ce1ce29ccb042468e006a61eaa2041217b1886be29185e80f171e91ef61cb8c12e1733d85966c1b58048a933ac2c4e479b34dfe5c0772771db10f882b500d05e70606fcf5063d2dfba133cff29703c386b4e99cd2c09208f4948b876ae4093307a0001f39f75bd80b20732d6fa2b6b79c801281d866aef15cb2bce860d374a95702a6156cf3830772f564df30260b64aec18e222bb4c91166d5169170d5c352fef0199a67a6f511c262a60c493018eb94a13cc3125586263b6525d804d23c8c2af5a2ce85109d46eaf6af4a3cb50a9c00c5af6b3543b26fbf13013226f02a62923235dc8e11cb053d149f5124e4c3b518e62353fe13d1978166f55cb7b69722191397ad20005ecc6e1174449b233eec40f29240ac743c3047f4b566b85366b193f73958af2363d95b706a726ff2d5ac50f770d32d153a0720c7596065313b1f3023afcafa65ff42f64051847316214fe492ee996a2730eb6f3003a1500361d3a0524eb753e64e140af0fc2967f21ca53b3570eab031b4ba4e4150e4f7a384ada5b717555823606ab97631074e43e0901f54f7d45e10d282f0b10b9760a2ad562964f9b13545723b640485c6a1948d0b5d6237bc2a442330a05741d1303362ceebc38da70e356cf1ffe0ecc485c561af13c57a262c3651e7a0244993c8520637b183ab9f6ac56019b77161cd4e35bf406a80f35695a1bcc195703a41df9273e236d74ccd7d24541398a4bdf8ba1359f14651ca517dc41e82f50724f002c29006ac87627561c063415f800a8e3d60c6001512484c266760560a24e28509737d9fb1d31ff8011607c6131145922591b10d3fb71116b203e0db6be0ebf6ad860db857c3ddb2a9d1c9f0b73145fb86b1e459e665286a9846e994982140602f4352cec005efbc74b6ed5df4560b297a9232274ce75edac3c2e7ed86809bc75c032c66ff063925e5c42033b4914b325a45758d0611b4075375fa5dcba15ec33b94ded26eb41f2a9ca0f5ed41054340c253931218c118bc55d07e40aad2e919524692a148043a1e7a56412bbb0124e96fe6e9baea44c405f1b746210015db8fd1e6cec9126377a869923cce33a3f50a9896f47722a4ed91a1f26f37c362b0cf88c4f9212a05f99ac0b3109e26239a9f13a0d9de3db0f7cf26b7624a658655118da6999e58a449f6d7d713ae76a2e55d9310250da7e16db7bb75a8c1a8c3704b7972b90be3f4aac7c7e417a593f5b762aef28ceafdf3b10880c42afbf0a3f79db163bed78ff578e42af2ea003ad2ebceb9f56a8b7165f036453705cb49e210daeef6743c18f57416cb967c58268586404761c00617e21855cbf4c9b86166de87a6242479148302947792545a40a5eb70975573d94b366dcc85a2f7e8c7556de0c7957b9e1c710e56f6666b9db69109b9993410c1cf501ed93431396db973123cad81bdcdf1406c1c53870e323ea10fdceaa1947fa956a7eb8a74d24689b49796458621566eb242cb9185283b4b411c87cf8054c208b01f9cdaa4a05e2c31e205f66253926ad73e65e6f088108bf0afe16270604aff030d229b91f11073027cd5c9c3ffc0508460031332004174f272297f575c47e041f27e87e612f03d7103900a0312aed466ec0a66a21d550c012f505310ac900361e3d51cb09e58481395d879264223a5872eb43c4163af91f2aeda044581c4da8284532b1330e96cb0b33ce9572ca7941596020ee5b63b3f612228b9354065c0d53d8b0d96b10fa893d11700310226aba2b3d3a812a6ee2232fb6f3c27511f2e65bcd1cc4024f029c507336ed6051691e0e72da7b496aa98a5c2350852bb3ae0d1016e05a2b09e974389182c06a4b1dd60b2baa5961b14ea477975fca602d3a4c4ace169e4f61a844185f77a444f5179d522ca72c7416f3f62b7ab9700835a13d27ff3eeb015495c977bcd21911db2ef23cf86ac0319b440938a08d666d06838d0e433103051823c5078d4d70506545d56a9483e33c2b27d4710ed7172e0b28900f91cc1d2eb32ace734902d059a5fa1775e42df2091c2754533380ed00338be0076306020e6383645bfe07f82b0f80710bfdebb61b19e3266bb8295a32aa2939642215b11de85d974911d9d6643637cb6448cdc5280d1037013e5f3d1a8040833354988052fcb287385c25d200b68e8f5f17b28301b3dd5d45c531aa129f1efc67a6972755bd228a51fda3a3458f925f3b1637b62aacc7a4515a791d0e03b98f64104dfd09b86510017ba3d3117f02b64f3b8a44122390f66b0d34a800d5f1422adea41434646056057c4895166e58226b939161678a28ec2dfde12c0c5d9be21896dfcf6122b2ff02973b590b1d31870651873e05fd6cbe676725666a82b6590f8901344105838616cbcb57301c9e313436052f5b83ac5b342b67ef3cef85487528ceff3a0a263b5c93b16753ec7a15485e79503f24087a465d12df72453da01ca8439d5d23fd741d7b2edb73752bca32cf48eb1ae9873441b50c993f865ff52f5108c625cd1315459eec275677ede23b30509e240be3726ae5758c457b20162e7a2bf42abe56ea4a57fbc035c8e87e54ef64d811c0526b6b74d7ea1921c9bb748dcddc4774ff7c263efc8b3d97cb1c116ba7fc4057b81d661bd8333d09f9e53e4b98c85213fd420063e3c356913e57511e82673d8e4c2413646ee11a85125e0bc9d6275557a2f175ef569c23d38c4e75627e537618af980e9005c55290f04f65cf837a2d32cfb21f8f4139198ec665730349026a335b235c371c9f6f8b49b90e88b0df151eb31a3efba444217a29a1521c189f111de1fc15258c003b0ae4ce400e6dc66ab2a1fb19bb77801074560f229b3af6666df0f92ba137830397cb78460af9a10a299af02ba9e49c4e300b3613752dc4431fa88a22a49b5b0b10ebd053cbccfd33b0c6ac2b5abf53552e16583fc72b3f65d4fb6553f3406765e36a3f6e92ccf44e9ff1dc2f42ee105327ac7443317ba82ccde85717831896697ccdbf37c0b45521e2eb23615d472301b9123f3ad904672ea052a61a38b7692ffcde6116d23bbd3a06314e541040b141fbb5cb4f3a064950f8a1b82a6cdba947d141de2b7dccb721187a0150aaaa411265939f6bd4417e3aa1e80e0f9e75f1531c53616c8811a150f10ebc07d57b9a3898b699322ab2b3744108c259ab8b141c45534f4f2ff4ac0f6b8e0470758b4756ba352d30458f4c167bf59e2488a0b27140c5432275707153d6cf3e11dda9b30ea1bba314d5cc364a5fad561d485f4e0773718d46e12115568ef4e25b7a809567c1453c39c238241a44f5cb032e5b2072f1121509cab3224c022dfd28bc88de62dfa9720541a2a35a1f70650e8a2907390ee502389d4589556aaf8f518357e0759c210a44164985341c43dd1d20c61b3e31289b2cb8e929144c8f0f2d62137a5c35ef271b02325b2f4352f9584aafb9294aa4a00256f7460ecc3db3624fcf7c5baa673545c3d53c21f7132e20d4bfa844e42b8d5dc741670af2c80f63ff2e9f40e90e9b041226de195fc2894b988b83109c4d3e5969db6434977a4235abc91b6239e9b84c280aca059569f051441cd671dbc2955d257e690852d03f352eac0355e9a925067c01896e9426fa6616a43f6d5b33550e7ad08b3a23a219263d0fdc2ad6b3b037aedaf60e5d34792a3e3bb408e5933c73cb17a04dd6e8a96bbe918b6ce40be1614fafad1ca944fd2f2b28450ff600b833091db53651519417055e0c02c7590d34f45b780c96395b25a1537465d7688c5159ffa5080d43fa08fcc09a2952a81b29cc3e5f4f28f9bf3a420fa15bee18bd7356451e0c3cfb035725d5a50187189a5b93c621261059cc777d37db1d2e21c13c1ee34a50e1f1d91033cb9516a293f41e8008823aed0be71f04bf1e57af29414afba4f9624ec49d771909032112c4801d0d46912e8db4a533e6c1f5195c343d24f9b2a4310d8dc2637979d864d0382a34abe79602af2e7b1a6c0a4e5f3593b41c01e6632d4ddaee0186f7750e89e5cc694ee54c40fa68764ca5469a153028b23e09ef531674c0201369bc120dff89ee22cdc1e9207d3e6211d92e1424e0e5726861c5fe1e24e7ae61e25a46659241da4962229d5cf2a07a16be8ff53514f67b73d15af146783ba428ea6b6740a4a7dd6c107ef8157563d82030fbf5424875d851571705242cdd1b6c1c6abc3502dc9a143b01b11f8527e802c143bf56eb44673ac8cfcf62ae9f4810b29d284d81c66f57fe66c9526b16c751ad98966f5c48f91db678345e06f2a61caa49c76cd5050b62c1af6d4fd45340310a83bb06c3ad97136bcc3a2e27c1366cd64ea9071b43f5466997164f42223203fb88200bfbe6a54ae343bb08bbe09c29e3aaad128e0cce1dd4e3610414fac7225f468675e2fd894562359c4fa4842f13aacee934c0583376e87931210a7f4f0c3fe122419641825dc0f8c62b95e8ac1a22b18147898760535cf9854299c52d5cbf2b30434ddba32b79c7542b82e1a425c5d558049d840605b26a073b26f68a5cb237b635e58d2147b7109135e405315313042a246e95d34381dc8d03684cbb68132ea55a2e6d0a3ffe12e04190f7471902e3b14e8e016c6f2093474dbe468a2cf063842489f26f3edfa94414d03d830580abe12ff1b628422112916961fb032fa355d35b8da76c2aec3c6d557236041cf148ca3a32734031e2581d33fe552a69a5684c282a0e796eeb2c093b8cd56f282f5d683935d959156ccf542b9623d7402534f4747361e6529bb0681042a1d306b17bd143ca204636fb0dad742b52123758de582d422da368a0f0112629ec1664716ab846f9c870322d56e23e0b386651ee8126452cbf2a4e9bbe9d73fa99bf099994886a91b57a096f977d016095d23acb9db76c477585063857c615d924e26ca0f8d15b72338f2f87489e4890ffed16223ef44c6af3e15f8265331fce5ee648d93fd80187e3a30cb4d3926854fe4d1830a4953433d67c38e4febe135496856a359f7e069d80524badafe1259a190572dae7d935efef066c75882919972d9407b0511306f6ce1052143e310a1d30d55f1702ae770000000039ed4e6c21704843eacef861cda7130b56178b085fc669700c530d23bfb13d3e4106102c23ea5a4d0d2b2d4757cbd52f5bbde73774c832330b4a8156712dca3eb0dbdf68ef32215123dbc6060ef3a14c00bde8043976e90884005c7683384e263bb2f7137f085d73ffb0505a19459e2d3db03f48fb9e3d00e646427635996e51f20ca64758c5380c4840163d3e90793a0c8a8239ab64e547b32ca41e2ccb4c6cfa3a614f8e7b614cd374165304664b4ad8e9110363da570c9826141c5fbeea55d977a22636528b3c22a9d164d723454b5cf83e060d5b3b4f7bde3b5cfa8f366462500411f181dd01b4edd45616cb456521f33955ea08a16e6b607961a2fb9870aaa4d21199b6dd37a023043adb733804b136464346238b45f1f91942b9a9cd61098a0177e0dca92da62f3634ca5247091249cd0cc0ee172c11b4b2662117bb487ec4da4b1b146b5695ecea545f66d5278e53225e1132c50970bdcf1db4cb093ea841d348112e9957c0265b35ff21690b9e711f1e5d938130b4f6df118723160247b5d1264d8ab32beef87d5ecdc58564e0ffec4f2601544241f11653f8b221176ef71559201fe64c2049aa6145a67b5bd2d962362b3ec05baee55b03c2d80a0668987042e5c27d417151c565cf51e65e4bdbab70935f0b04a5a0cb585dbd092d5aef4c28099c6e75337e9d1d9e6e0a2bc7d7a712f6f3004019d9e146fba81c1815b0950913515060d0edc45e4bc2051fe3c5ed50df4d5005d12e2e445f31013c69ab3105f6358b4aaedd8101de4ac4020a805b013f74f104bedd18479ee30174e5e4a36a45e4c34236f28b650910bd2ed6a9474a92ad635371839966e87e8e633f10273f6df46d2120601b68fa4aa93c099cc86e851d463cba3a5327c70ed5510ca0d664146b32473642600110176f36f31a872047668459b9fb6e3f29f1e106e2179d6e4b4bff1d61541577dada5a555643747022d6e00f763f4367fd30205ebf3170536c0a952c09271572dd8f925eede884710d19e613590151188d0d1149336da334c3058b718e7ef028798fc8300c7924546d5e200b815a34689e792e5d518e552f5382ce050f928e52291df06b2bf11141ca2f7333c8937232d881d3269f056f2fae9a4617db66017020f88b6414a21d33fafe7810ed71e70b8ca2d96cb76186330f846a13f5eb944a58db414dd5405021a4000f321bb340121dcc644393419e740e47020318db06518049461ddf0e160efce1014adbb4dd31761d1124bd7d5f57de0ee34c463b271153a47e2b6718f671ebdef56c1f6e905e0026a86ba16cfb211fb5b40b77312066b45e872893fb5d6c6d239053593a2e5a0ed3d86dfe184a59347f730f143ee7722237090aa455321ce57777452710a011c182475ac305eb272bc6d069b5820b36f2163d776473910c14af781ea731e8511a54fe4c26ed0b099893636b9570b53c20440031c6b16333e3bf303549e191035397ad6a64d2d76a9f336a6824febf46ecc797301b522536eadd8107614e5538748a67530eaacb4e3fcc4072dc6b591f01612e3b1a0c643d3300106963ef983e2f7ec43342314c4f37d5c0137af3c0226d3e9f2611583e27efea930431dfb3520f22d22870c6d072cf453849fa265b08bb4a8065e0de632f5e7d024b179eb571c5c5cd756a2c813112986f256e8dfd3d9e87a338c77a5d7051c0f8618a70bc19732da5697b3aae6fa4c4d96b320b1a0c43569c3fa2721d4b364df56f7cf8182a5640872a4266cc341cdbcf178f2ec1519a9dd54843c379643ee99659fc87cc4765363167ff0bfc65cde56715750e534914b5463bf2cfa162b34219681dad3d4132446559eda13023a2c0c13aab7e825aa942664a26c50d128584866ac1782d6353fd5a44f229475916a7490bc526911380dd58675043fd4c6d4e9c76c04f31408f645c3a23700e553eae2268ffdcee3767a6af44580a775944900b153532d33c0227434eaf083a73ad31701024825a5adc84ce649f29500e192eee296c772a467127221f24e58276d0b19f4525aadf4e8a370c4831654534881ba9053440bd2bf55ce03e2d39eb12ae4c0435269c822ff33a782517006766d03fb16457f4ac55309e7c2f9dcb01678db07163bb2bf657f8b9c74ff41e1448661c5a00ec275c3b45d4a33c048cbc3b7f2ba5674b663f5ea3569120a56ab00b447e3216239c83306588272ac6e7c52d14272e2e394e2964844d9758b7d38e340817c13037560c164845156b0a7eb03e9cbe00553a233130cf0634296f1d2f0020ee9f3c4e878136d7e0211decfec746e08b771939fb7f299d7bac511b43481d69d1da4959c406684325f405e2e7315dd70d165057bf003ed18ca3347bf4666de99a3449f26a04391637974c3e2a622b1318b56a1850166302f9283675717c33791b93158cb90e05bd77c10614bdec5cee9be10d1187f81eee844247386e0046d79fc349567fbf21b2e5600028694022cc687a3e212e8730eacb0c5a2a4aaa0b00f58d447431d642ab2ac85ac54b3e3d448a7e2562122a406dd85846f92b2f4737c7b6182f2de07786727734d509f95fac8f254ef704ea306aed7b52b81121660ca70700ebf12a399b5c7b23dde77a618393a1756b48d836ad68c44605a6c957fc3ea31d8847cd37919a2a5593b1811ffb880827184d16063f11794e7103181af667d43abdd46735a21edc17ceba864be562096956e878325a032e57aea13c4dab7fad56639c5035a37513254bf57952f495994bc8b5851c307d1130d9567f16e35a0d03e721255ee8e5d2033ada0b355d2e456d9c90a8475c06423e42fe766e41a6814057153907de564e5c6c318f3dcd534732982ff4601eeda56fe085c930bb22e40bd8e75609c2bfbf196965ac766bf06210fb64e251b1bd32063d637358e5dcb36d11a32214f71b1e1bdd38cc0b45bbe61799f0850d47fd1545a009645d1832cd475e8de530493bf84513539818492d3900d29c8928eb09bb26ce1e593846ab371cb9bd1018cc34735c683c4b68a86fcd515bbd0514e6d3fd3be543fb6854cfb93b49f6925acc5c9c545191bf636581b9276062043d8ddf6f19e015433b8e4a864dcd1c031ca53cb72f50a69f71bce9dc44bb697c58c9ffc43286e65d513073ea152f525535522e7e4da6849321936246543d62643c66989d1dc753a80e56c722255d925661840b3f1d65cedd4dbbae6459f5b4be3ed8b3855cf09967644f9133232b15970a713e525274935461ca0c1263aeab776d1b9d1e4919f4010edfc18b222ffd2f51c592c14ded4fdc55dc2f427690b2fc54418f4e63ff7c192d5978a1296443ce4b9cdcc1569f71e81ad46dce445856070225ed194c58ce151b8fcbd64d33ca7d27675f7d2054db666d096cee1268b4e55df77fef56b61791737b4c810b01db890f5cb00a2f1184b60362769a361df7020bbb1d04307fbabc55b244e076cbf98567d8cd5c6ca7a23f5188b99269f23327614cad3f770fff7015411c512de8e181592a6ce04d43e4f521b96c693211cb3a1585bc6d6544f97431e56f8330547c5f35016c9e313426144032ae1b45aece89505e9ef544ad3edc5ff9e3ef67f3872e2a12502d5119821f5256164d2c1e041f3683e80c65f6aeb63c3ce22f382b8f2b29e356d067190b7f43633b5f153a7e064a89d7e018ae25c73e3c85a934202b124c54f3381d0d7a136ab8d538530eb6436fca605925412d6e17d0b123651a9c680e2b74e4411ad88e687b305e1e77ad245d69301a6ccfdfe53d44e9a23c1d6e5b6d05263c139707af0c57064c5fb074b21a64752633e37562152c4206277d56922c1e73ec284ef2e15b64bb1e5726263009b1e04459bff8b75dc36f2f4d85ef3d4b2018e12aeeba39419b9852326455cf12e463a47680488c655e447c4c5872235bb44211748a0b786730a71a49ae04335a0c9cb62935672d06001a956cb2540129677aa500ae0adc1b72e97d707cdee723b5ad616f6ace8d725d6b2055a2969060de19d01cb06007528f49756882d48632850cd271479e5f1dd0502b0ce48dcb48c231473e81fd8801e8e24875e5029042b2482614c1ae2e065438055b314222599bf7566fabe6844b6f73e667c660052551f7042ebc248a0bcc4ca9159b1bd1252fc8cc290cd8fe0e5738403cda4dc5454c439e1a1003cd37f614620cae335d55d637321784453c5716b8b54f6429dc66442bbb148cdc6956611a1a128894d532bb5e0a748c20515f8777d677c6ea9b67b1e41b3df9a62e70a31ff6532571761313b9510662df210db5922e08eec8bb646b026209705e0c60c6d452308a8efb4312fa1808ded894516e04270361edf555249a9317bb54676cb61ac04b179a011d1ce1466def307021bc6d6b127c66d82af00080515b8fc6256790cc4ae4bd031d6705cf645e1f8e73c715c03e7933846a7f6bde2be99c440d11fd6f6ef39dc83795f5b92264a76f61b7d46633223cb560ca17e524db46400765fb101e03dcbf374ec0bb486923744aa448176b44895813c68cf249e053036bef0a851b81a24b513ba7286660594b060cca462cf87106390148f5242e71031a34e72039164fed43fda54f532a03166c2c34bf72ff62855c51fa0e5c785dbf5d0a38b02630ab044832a9a4195770bc695e983b51675b154786f76e4f2aeab018ddf3d111adc6522d7d6df173433b215dc53c07663b4cfe0e64593e4ab80d2b5ad874241d21330a4a281abd14a8845424d99c07634c1b80473c523a70b7463527a09d856676a89833fe7d1416bab12c5345bc1b23494dde4ab6ae25658b7bde0fd6f0682e3f84bb0eea394a00c4dd7831a6d0a27089b8af5146ba6541e919e22d4678d94771e4454d5dc9ce1e59944e40af257d5c4e7ea26f08251866c60a1944f3001728d676ba40f2a9385dfb63ac5e57d7116369680a38924bb33d1fbc912608a9dc3c40c606694708f5337f932902b6d2b866a2192632dfc03865844ae65683556d239f09912d99a7c329abe9214c5c93764373163e0bd8ef1909e55796058c73360e07389d44118b796aabba204db79f1949c766af6b679d033c2212e8193ad9c561a9b246754b90974c523dbb6bf40a0738a21ad10948288212d1ed6240d9b54970966f0c301209452137f69c2179f42a07fd5100594786651d48a91f4daebc721cad427819c701d807da976660cd1c344c79e2984230226b7314303349284b4e230f97a815bc4d6233a7f94c29a29c607344ee351ed994fe124acb6940d0de38721e39fb510ba72e3a52d540638c5716487acdbd0bda016e39f5d75217bf426e6c08bc896a571a74285eff53298607a72642fad33d4f9eb95b21e6843e2c1e31238186096f6662ec4e55c6b344440b540599492211c555e07244d83d2dc8ddf03c075472699960ee6c1c100207e83b8f5ae3287d402c45f03956b2690cad81b22d3c8df623f37185544336264ff9551d2612a5081b94a56d55b78f72344835b03d0a1c37193d4d3918b2c571673e50495dfe6bcd72ae51a040ce52b420c5d86213558d1e20688bd63ac63d302dcbfe343bc9e50962588fda180f2de011d0de0e3811995e73b14ad601c4921a693fe9453cc2d0df18c4c4e764e1dbb518be8a364bb7907b1175ab1455738523116c599a1c0a73e950490c5e26b719c85d2ff24629749bab158bd2d11a1ed8e14b7d268a6b80275e492ba4551256eab71528b06e3dd2117726ded1b711e711ec1605212833000000002fd72f4e0acb3e4233539d4c62cae948d425a862fcf6d40093f2725dd2dcd56d21805150c2c0f41d6ab71552aaad212bef695133fc29dd576c1ae240b7cc64562f2d6c10cd41dc2007444859ceae2f6c552f085d0ffbd809b91d1c616c1a51473eb0513c7893b701056cf462c072f54ed9890766d1c1f6012e6aa72fb95dec14b802381848f1100502ab0b68c418671104f4bd426980d155a5a6d164f96b5863d29a06093555303dd541d1028f3bf34163c9c3160b099b52c53118340ad6366c7286c02916b13a2ba55dc64a6f299b601b9d70166c7c7d03f96c6e242c01834fdc607305cc8cbf153762795c98ea052bd67b322efdbc3931fa9a351dd5b1260b20503a4fccf468610e555b692e3b4c53a1edbc6f05513928416fa60bb0e363358a60094bf6ce5e3669752377cca6f4739881d3490057e61b5e569e07fdeec15f30d7a623beae2338f6a138123741ad700cb324759de5fc0898cc4066f894d655c4c3e0343a7eb11ce7be2a311fd23e4a4106642b8d736f3aa28c241912677438aff816446532ae45b7f1631401b32901d336a6703f54114247fd9845c77bcd0283c76e5e5ca17a40fd2c7c27e15e25491b648026e115f775644571474d70ef2d65597055394f104ce8c5223d03c84d39131f8372143a933949ee02346b068042dcd5523d1a836f6b35e2491314a97404c842e74943415e6f0d8cef1289926d55bec0c11cae853625f5218b4eb925d275b2b59c361a143061823abd593058b415bd08492e22d8525a0018975eafb67b441073b4217869881777f8f6580baf3343d804e74895ae13746650773e0f3817329e3c9258e5891e2bc8e2e8759a32de3f8bfd13461a05b11d600ec1768df74f441a1c2022c435ce46f13604231060d80e6e2f8b0f0ed35b27289f7020651d055c99b20f568eb97105cf0a9c19483dc34c69a3e558bf48ab567c001414b49f626c02d1b5069a31ad38cb367b0c1a14c06bbde97f160c537627fc7f631cef4aa33bf92bc168854d781d249d341ce0f178065b2eb5043c2fd4070394f772deb5116aae4be30d87448151d951a52b06ad12118de2d82545857740af574f5d5dd0705631d0ec6f82960451dd420760202f860372e84f0412d79750a4072a1829ef7318e81c081cf822a45edd3c9d609973d80ae23cc6354e476907bc4904317b13a1674530620c9a0ad601e9519619c6d20b45ea64c43054bb1d72fae22654ab9b4d3a9cba3d1d8836d914673e285b31ebaa5c38e95c4c8fb7a2751b81f659e8e4515a479bcc72b004575f4d1a535b28daa1381ecf7145f76d8452559fff10400f55578124e96479255836ee326e2a17fa6a1436b14772adfc1763efc04c4353a6f84b4b1e211e7e49d34d7246a466d2535109234acd401bc1b75fc7a39d5e6d339c688046ae1ce20fa1511fc0a411369eee455829dd6602d5f8025f6e260d29ccc450b3543542ac59d16e59394d61f9ae8f5eabef4876f2bc9a6fc3271a48f1153f53bb2427628fc12a4d9900a25636bb0e25d6cf01076fa75d53969e690ffac57339fea5be45b4a4a95890791619abde8b1b5ae5876b716fb313f1a3d04af3723e57d6e49a4e612e392a97fd08154eee432bfa0c8a44016b6c356c2f615fcc78822bf17cc92d9854b50b5e1f582c7048f1379f35a54a78dfdc5feb83571a889c95445dacea0728bcc706eccd9122a79b3a3e4a971c5032124f52404a781b32fbf3359de3bb00e406cf615e08605122d2120e59b185258e40ba5b1363d42900891e70b31d9b3a9c97e7099b88b625832f6871a0bde23dac66a958b1ae2d4d77b71d327c995517724a1a70886ef94fb0e9222ba31a5d0205b4b3263fab87415bdc6a087c16af5dae13ad1a3871aa1a4bbe960eac8bf04f936f0939cef71b50b05e96185ba9237269a46e4cba0b231c6d38bd72582e504a8b78f54b64c1426fbc33fc6a5d64753add2ad119d039e77125d70b67895d152592d193471931e52cab2e2e6ddb5dce0ce50235333bd9740b3cb21624c3137401bbbb404d445d1b18ec97c61103045e5a40c197586b2c3b5dd9c3574f52607f06c35f2545edeb7269e9b5c20202ba4a7288168a59f1f0a37488898c37e2ae9703e9717634681e243605cc00512dd86f7052e98d457b7f2958a94c563e66786c6ce705864319a3212bab60516835aad83b7891a36edeaee9495383b629259a994a8feafe171e5c5700a01fc5331baa4326a4290d419c41b7314edcc23f7ae6cd67d52d8f2a9c2e8935a1773636d22c3119874181065d7be42991e7e164772cea758b9e4419820cd71a06b15725092ca7422703c10f0aea2e723ab3aa75e69ce51df67ff92d4fa2e33b023efa126274e221ddc68a32949fd8613d19da008a0f6122562c4513adc5be57ae3d880993b5616ded8c867647aaaf0d8eb925566f421363b1fe8e634b1980675c06db30dc97af6f19d71160678b43569ad92a0d099c0a198c1a0704c09870153709473e0a269d6c65a6867742fa0c08c6117c292407801b3cad5e49079a7e56917f8d6cb3c39d497d056f0d7238826f5810e26a8652cf253e1cd256d566d555c866fa50bf9b4b27f2805f1cd5050171ae401a0ef8c2d0446f5e9561020d1f2f40d4564a1b03e51b08b1320dc2832907dfeb9d125d697d3b66b2f60ac640a354289b9b34660a6417ac322b0c38b4f55588390e0928c1a9722a735e07e299b330148d992fd1c07863fe13d67058c7f071c232ab08a86f036a74c3e1550ad3c706d8479123f7d5e24ece0bbb2bee34981ae832223cd744b3380e880d3d524e04753dfa7d372d30b912c2bf9526b3f4276fe88dce71da98011bf6094269c43305309ccad22be6692537402b591d186eb310ac30f74565ca211ca1f2a04924887b2cac6db540a0d1be318528eb0f4d8e4222b754551c7c3cfd72e4f36f4ce4912e5aa72179373e4c305ce8698c76bde4c76600e6ef58d9e1e44381662068bbfc38211bd9876fcf2f1d2f51d7774ac314d50f1fd6d447435cda5e7de8124c2eac9e6ee092b757d024886b4e9234073c4be4583b35305a8dafa2347a179a40466c5252394a74564e5cba0645a8ac6d9750113b46393474f86b1c0ff9979d77338f3a523408c21c46c11e73a0ecf1577c66044e7f4b42371bdd4d3e085bea319e71fd456b677b229b55d320031f9e4cc475e02d4aeea308d4ba04367fc7f22ae8bb736f0efcb4719999e3262158484d0970d50d2de80b3f97ed806e1956481896ac4a1d9967782e67b15b01bc475d6089d6f311905f6b5a04db295051d5d06643a60c58c78c165795b99a20aa43ce0fade8a31f2ec45b093fd36b43dd13f958c17c2935ccab4349c26bff0cf868b41865753652869f5902a92f3660fdedc3551025f31ffaadca10cd4c6130943d864c875b203729ba88561869866f51c15670563898373d076a5a00722164d992ac56e5b84803bcb0dd5050285242cd3b143e8e093311052db956f3a5a436cb8ee0310f1b216b91231c1928762256044f6363a2c083036a47e57221c9e130ddc85f510bff8826cbc8a12150e33903e8c08842d338e62f300d286a10d1412d1167f44ea5bced7070439f3abd38d4740d90b6627a5f7937b1d0484903bd27599683a04598cb47393afc060ea4f76704ae0d1373787b014d5e577870da40830c5ad5aa266bab23159ad92800225acb76d7f0d44fe34ab11efaea0362b9b6191257c36f00302c7f2005dd8f5ef08f8d50e2c18e3b26bc353426dcca0a6cf650551747ee3405cb7e057658a851f43b522f5ce6c105d425571312b7c01656c541250c5433752076aa0b4f4c2e123d417804d8db755a0841082e40902719d1a55a12d15fd91a85a0a8239e9163440725ef012db698678dc4da43e78e1b4a1ae8de3f3a9eb805a34d29529b5d2d127099cc42b93234702155c710a8adbf7689d8715390799667f7324c48e44ebf4f5808ef05d0a8541176a49739094bc665f745075a898fb24e648f4505c1bc363ee3e6342516410605d7931a206ed62a3265f5765533aaa06cac82b12fbbca593817a25c5e873e4d16c904130d4b4b7b18d7de164e1171c374bb0655290c101a50db85285b55b4244201568a0e9be949779b9ac2413ac4881d5d035115b66303147fd9ae6f037450364a62b672827ee41b4e32345c10cad65c96fd45330814de6046f96a2ba4a0650432a7255a31b68f1e3892433b05e9983dec92f04c4215d235229e891946e3721a071eb7557acce8598bbef46e4842f175d902fd2e61123b049c48b64bd5c6212443e1cc3c698933341155c2641fa6703bca75c4310f1950601dd3d345465f963d31dd6703a787d01ae08d91403d494a085aea6f621c245247d4f21509b020017045ed9118b3d74f74189f822d6341a8572bb6770010d5cf22b8eaf906efa4451aacd6f5667e50b01a963d444ce67f5b023f3e6e3f021fff687b007a38b53d5722a1bc3624a6b94400d3f0eb1250e4b41aea97b82cfee81a00efc6540224cc4d38b1e1b77081d9ba774b4bfa1bd91c5c27806f643964b5b33c2e484c138a73542f1d2019332e8fed68c2a0e52a094f987283a841383e2fd2533421a11e49caff3f289fca635455b3019dcbc11e79996177fcbc82533285f93be5f8cc50e4e0e1485ee8923ff85e7e00f34d6a615753b4350a7f592a5ef59602b06c663466b1f84ce3b2da24e108eb3c6ce3ed399a1f3e20a046ec03edb57164a1eee9753509d8038d092a5f8bf46e2930613158d0fe544e29def734564ce804511f042398d92673ec457e4b10088b11f9517f0630972432f551ea05d6adc7049225415aa1e0695579a0415570906a3232317155b21f6435f53f6d6981ed8a04f776761fac699432af44f511a45182029d41b10f3b0f251a909d9113769aa25152b2175b390b4d36ccf38e0734e0a373f2e91e4f4990544843e5b2712d78b06e4b331b40d3ebf161f232111bcf45c5520e0a9217cdb33d700ae7025e0312e714249bb228c087742497284135db7da76f7798a82d55b79e19c0917835d7e64e17106e862dd7f4f3390d56f41bd649414a5c63ce45921d563ce48bcf0209871f1b1a6b925d90e8ed09c383bd01ddb0155d92cd57390e632c3aa8685e65df381f74154bc3359a818604845345524eada44cf2f05a34b31ff71df294e96314b52b3de4f59764b9864a295136cb15e31dcd25157251276cac76256fab6f44ecb1394fa091d87242a4463d0169c052261eb076b6edb9778542d139baa65a363f2f683a9b79f96d35c7980b3a004c5a1d00f135e2c752606ccafd4f74cbaa0afce6827339109337376da020293ae003130f475fdadbf140b52c87679b11656511cdc1723cd2351d549bbe015d5479499071a15f4046863ac04b862dd31fc526678f0314570a071d8fe72c76ed85e609ddbfc92290fca507010a5003e7a7091b576d14091a86ff4596e8dc44713341262111ac304f6358093245d406c66d2e643ac76c53c0d1634ae3492a029a3d352d2819270ab567266d0dba064180d92a2533035d0dba694102e8faf02b903ddc4c021b4144c8f20106174b02747fbc94700b3d1b0c0c695e5d22be816a4823220b2b25d64d90d7f12707b97c75eed0800e6d6a772ac5cece5c98782d13b88fe141b898201d53a7fb5c2dbaf83e7f7c3f719941cc07d919541cefd1066fad06912d7047bf3db0d7986741f75e36e50e2b60aff4cd2e9c766c3ae4faf8640000000061763b70614bee25ce607864fbc9c50cbb966a73838b0d3cbfe97c3f2ce3dd3765c37442934f4a2832179830806cb746b296543a9970933c72395717ec08bb6d31839833c5f2b258ae52e2516d50ca4683c37d34a6f60e34d1a93e54146200739a25953cf525ce0f3a75bb28c6eca877e51e7a24cfafca67c7e7530896834a4e54d14b69401fef32ca4855548a000d248339b83787788031f94140626e4a600b54d7e577576a7b64063a9c28b62a33325e9c3e6de005016a0b7e1506c75a78340ae01b1dfad03f2398c7d342e474eb2508595c3d3bd6611e0314b31779782d65b125c33feba07040612086189553f04d7035445179cd2f35befc225af64b5c321afc4a26abadb320f64118497e8f6f1795d4c45fcd2cc506a9a38e5f2db32f53f8596f25ec91db3f0f3dbc104113bc3bb3fa99261a74e01ca224083799d16c095bc6cf3c8ad8fa3ca579c3065ec570768a116c558af0d1778a12bc250262db21cd6de44d032c375e47d8ef3c68e9946ef79f7147f0829e6f7ce5ee30f5f4044f4ed5a707a049be28c0489b32289d4c675c0eba0bd774de10c0f7c5080fc757281589f73e689d030eb22f424ff2388901b349f66c05d695447087f227b385f8188b09a326f044c34c58a17462f26b353e46d7ec3c1dd7a7365a66cb46b5bcd00fd17e4d03fc487b0c182f1b35fed43a2adc62523d5fa9594faaacc927081b22349bd4fd2b1c450d401cce7354ba87a8627617b320a2a045569f3d0267ece3ff2f79632b6e98ca5e250438652b58a3bc019f6e97614d27dd6880dcab32bba88f474586d81e01e45c2b8df0fa61754b440ae3648b4f2db05758891c1d35b413a22df1694e6e102f4271a99cbc40df796f066903fe702c05944c5472a364bcff31235d535c16f41248755d5c7f1c23111e6511ae4d112464323f7dc20456a8913d265ac8d46632e39635c10ea501f1ed0f553d282d05566dac2f57452e283f38c76aee88fa1dbebcdf62fd39392245fdbd05f3c1b21ba1376a3af171155a83b21164e050c42354dc7f44fa65413e9542a71769725a3651501945eff5155d9b38951a2be1ed6328172824603b8672250e4f1e5906f3448a53d314f7ac9025485f89484cd0d50e79d9c33697675c3a4ea32f1cdc0d250c194885015702195537e3d86651fbb674145ef266319c0163ecbe8668894ba639b811f927a486fb375506eb2a1af71a4d52fa880e84ce7a35426f0b47ddd1bf58f06c002814503c0e2544a7044a56de7666f23a3efadd4f6c65840002cd890767162bc21b03e3bb1b75c4b62cc0828d37a83ce53cfb14775dd6a7e8583368ab363a706c4f481980371232ac50c2b8f4718394775728de6b6ea91f0e719e7eb5522375cf4f7c80236e4358a848752db7132e74a004ca6630299e4848235ee0c9010f93b73a42cb284838269614bbdcf652c30ca1135f780f663705f25669abfd43fcef877626503c0b363c375ccff85575a64c355cb191bc0529c0b12c36d7061c2baf691ab4858416a46be24c7f7c844dbda7652cf55255739a15636bf6a3bd6c4be38a772e8e4f738b7b013135603e3c587f47154e248325f973255ed1517c55c87bb445a42383145201c02a6ef90a6fce492e51af33425143fa6f4984a50c40225f063ef6ef1b1b77e2e8754a62f84da5211d40cb35f53d19485553348aae37f1770e72b3173f6041a40e34bd6f7365e687bd36ba75f53f62631363ee335271d343e7751e91385f496a781cdec15a3644cf813a5bbc614e1a5e871d9978824c01ee0d6d8403be1cd7e21667cdb2d071e9e6d83e1661b3099e1a8c0877f52c32c3ecbb206c05f350a27b6a42ee6ec952dbda0930ca3dec3034ad574be73de248ddb3c23bba781d0f4853e91eabe68e02b49ad0519fd48f4b6e6b5700f13865117fb83f47b4d8f54a0ff618495a8c5b2e88d0ee6a213af91bc94fea073b9d091071aab25a815c9e24b07ff746bf933d6d58b7db4abea7ac77030fa60fcf76fd757197d34972826041270e735be7a1064f16ec540bf1419e6d6ded044b9ffa2161c525050e79d6d7424e0f5d30987c637077b54226ec092652c6310047de0747494b783630e9cd00687af2015dc692b91c5854e06860bdc85cb9060240724e1b553680a50e20bd3732b9c1662a6fc532692dc7821dc36d5b2b3a3990115a65cc48fb8e693df8cda1560a353c3f68e84071fa528b03c50271539eb1cf3793dae74dc52f414e4a33b0089ebde73f6ae1f6047e7326370d22655c82d6b35965ce906eddc5564f74942e3c75369109ddab607070e90069fd79fe49fd7ad24bf5bf4c2331275c3bd3c4723eb3d9350bd762555972f38f10a0dcd41a1143420353cfbe1e5d1692054da3626aac28454b3564962353ba3d763c927f5b2a0ba90f9a4aa617c871f425b998b36de1cd4e34aa56ab3281c9ac5d9e83c161c95fca532252eb0850b452266e79ec0cc4ed3720577aa938220036466138c21ab04edd13a0010d271765114464e9b62b3b4ded4c58af6b22dce0f229b4ea3e062af446493c2a54713ae0c56a31d5be0e693165649c3ccc75d5d9a3106687524951741300843036564036e14d49c122313a897866f04cf445cd381f5d631ba7457a99902b9146d220492b6074b1a52c40e7e1a74c50130b617cd5452511d71618e5abb814a1d68d0ae6c2676d2979e704b2b46b5d66c9856a21b1fe3c617d01687cb44167f84037260a166c6e1fc5ad46396cb61a1aff6173304279770d4d900ff9a1c8197221546310c8cc676f90b16fa6144d273dd19c4a26c03d4d88f266740a8aa6772f94e23fa9bb78742d9a953ba1cc8f567dbc71583684dd2b1a1216048fbfb25e179a56534d63e839f5eb7916e4be652c07c5580d5707200d4f98f3337e4a9911a812a6734292dd612193230fe758366ca4674a74caa757148ba0ea6e1b9e737357c3716ee0e8822928608c5dd2bfe0667f9e803a98dc60305b7f2f67261b42353860914b8e62081ea5faa170b0dcc527be9457710a09b1761639d213868dd16b118f4005b0b9b02c3d80e92c3cb6f03d4cb2b12b9afb653657f2461480d9cd51c92d24470bb6474ca90eb630b6d91e74d420ba48ab480c4646d9e31cfbaff92a7587844779ae42444240ed53ea1a2670a7fcb20b8b57a04bd2afe3018246ce4b8491326aa1176162f4db9e03ad49e421ecde9c70e09ab317b11d3575418fef15180eac1139fe436dce9d244fbfd1565d072332197b157b66e960da00c6d6ea3f4951c25d05d16f4da9775e07acdbd24de306c402d06a267560e41f715b5e464202d00b3c0e2ba34561d23d051330d2290dc787311db499678db0710fb17619458ecdab416899d93e0d3dd632774d0950a7387721a47ee3380f94fc3fc6a3172d78101a5bf1eb214c27a7356693c3f0319d78723332724e160134a70633b517104772e640cba775706da2f166ef62d04598b28b5a011b5a59228ef31d7fcdf25439e493101ef76861d5f03d71458b7b58d5063f1630cdcd0778d16d60c886ad6506c50d56c5f4732d29fe514493d88116339c64772e688114522f4133369b7b0e800d53551840924cbc09f62d9a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54244f838527144f0c531a93d6496d3d3774de80f3728b4595085821291a795d4764da5e743a75a42c1d875711498ed2d1177a88d673389eeb3af0fa8576582cd21b1cdfbe22baba6a707908b04e4826df4c64319c32137a683f2c47225743040150c837ba5d6cf8b46741360d3265145d30c0a23742f347ab136c42c659d3d96e17d99be65f4e0a0e26930ca90291b0493fd4ca5c3336854755f4c5f61487b38a097736335c79a87e643f13d66b101d93508ff8ec06f587ab7418f51d188e7f3659292c82542c583874da996066f401a571e794a70509e2374c10d2ed1377f2ba082e58754a6c8c16022b484b3e36a2ca27fd393e11f59055771604a47645d46d25c6b20b737ba29c74cc60421291adda41a65782047aac6676c700fa4b1e2c5f0e3d05db43669c2119ff0ded51e6c9c14ea2c15866e7d4523ca5a29848189d820b1511655f1f260d5368508b5526b5390e972b8a690134e60ac8a0f93202ff5c0d4676601ba3151344a26b4665da91d3746d26755f4f614c5f31a3081682340512f542ec48df103c23959b6943b366ff0fb8df1f1d1ed53d4cd8f3a42c04819d153379a4503f35ff4f279d4955c04099180b65ae352e14e229953c8c1aa014b272e2b4b34886d5326c43e28f4abe75190180c4d958a734367558353261404631019bb8ef0050bb0c663c03d059c8e6482e6e2657713a0efd34f5611120aaa8a81eecb3485f76be191966e3ed5919e72b2ebb8a0c5e974114122ccac20530125a3738d2922613ddc0727a428707fafe3f5e2c47321e8628e1541c739104b7a4f750807e340698d1e008c9255627475a8e0c9b516e1791ae2d6220c7491d2cd5fe19a131db2d0885e55254814e25adde3715ff1836504f335a4f69af260d96748940abb8405e4cd25532d5f9a7721ef8bf27499705161d1ee00d7401023e0e2df928a5534649921fd056f62006277f9a2f0f4f9e0f35e549f413cee60c3811491966890b1a2b78021e12bb90dd3d8d31015361da294f915b9251009e320dd176294137b2af0b94ce125d17927f4f13f14001b0b2da58aabf9b0c3994166a9bcea0341574af3eb0872e3ad08bcd620cd6ca5fb5870533b93dd900d1e8b9431fed3f27e9ba5563f204ee253a8ec908aca41f4e9970700baf481568a60e6270087db2071075fa5d5603b975a49c8650bfca194adf0e6b4705c42839b95f7c1beaa6d277a426020f073a1756bf0d5274f698840142a9221857f506643d0d670c25acce2356f67d76cc62570ea7db1727d4b9c111a13a5c5dc77d400dba1ed521cf9f916f2c017532989b770ee00d605ce9720f2a1836613476bfad0d83098f4be01d4a0ec3365d6fdddc7e4fa57b9373e25105041e71f847d030f667ec191231c73bbb59f5a71935e5ef54584d96840e263e3a76938bda6a6cc3b40fd049a03a650f6c26f8756d61396d08280ed10a5242001252f094785e37709410bd19ab61a881ba6b0aa770307e23be12e3f583210baa7d17289a794209ff011f2e9c9e5e5cb5e117e656673d356784415bfacc36593aa93b462fd13fc4197753924fb5776648251aab731c4539aff327f9c0ad27de84193b5dba5671bd242902fe21ed395fe07343f6136e28cdef772ce7ebb4470e102169cbc15b2c21a11309f8945c1ec9652764917a863ed512a10bc5df23611abac72e6bd0c046af153c385f37e8015fe39963103be260181a13184d644f2fbfdf846447b4d97479393b42034ce22be916fe7211bd125ecc6263679d291c207f5ab30bd694862096f83b445fbebd41b4b40a0bb9c7040a6659d719365db65e47a7352892e5fe3f5a03752a88c9aa762a25ea5d6036bc0c8edd7e033ed13a147c6978425e43e01aa0631e6cedb15e5827a596094962f60ebcd0be4216e9511e0b088d6b88aa7a6b3a91d60e55fa670f9348f37465d2e65fe0da9262734a01690000000045f61661aa704a052eb87a5045e3d62362ef73669297165f7fc0f37111a953366bfac3222cc76758f564284e35fc5409e43040007cd921075f1f9551f5959667b54d905bdbec945660973e4bbe7e39126a6b903f84024c43b62aa0479540eb1f26cf8d6276af960ade79ef04fb4aff6f31af686c65df14588c7e945a81c890298f26330938091a6780bf1f678f0da43c4f9b6c665c3f436ed9c06561366dc403f955873033c93a34d8eee547582e7613e617056ee5bf7618218139715e1b9a41544fd91c29a00620f4960c7145ff3f3f7cf2d7524e27e459d32ed8173658335c01717303789cd2082f9bee08c0243f74b734530c46504b44d1a4e24fcce11839e5215c6c6321af4a5d541c42fe272b22fb56ab303c03ef60d2dbad0f773a6367329b9e19770feb65b954f633a54c7d39adc1a63ebacae51daba0ef00ddb2f43e617e0c54b88ddd6423006d1fd2e2123fe351d01a05b8dd119e8946535ee69f5877a9515aa03f6252a9a3eb401f892841bbc6ca1773328665798bab099b2d16385ec0922b8dac04776cba300a3f69bb1c8f2daa658dbefd72662a05581286ef2c28a2c96a21a64d2433cdff16789ee91477d9b8571a23d6082c61641c71312b1f01fc0d6f2603de17cd74cc1338716a036c6c696397eb6642261fd4374c488e0dd84abc582332df1cb0a1256f0afd004ee86f973511d5cb5ae4618d6ea3f4635377fc9634d9dec430d765c937daeed2294021081dfe3d5c4db6716105872f963cfeb311231046ac0026dd4d590b3b6d30f196e31d4e91de674ff235417789e31dbd57135d66dde941c01632075ca03a6415298e19a4053205c4de8e6ad913794161e5004fda265d0a44de540880429f1cffcddb57cc2f0c06a14ae6371b5f7c75b47eb80865c12a71bfb18f46cd1ed1453a797773ee697061e248a65a5a3c7851c366e400e0842c3e3336935c5ad93119920e477245e9eb45e8dde97719bb715cca0c990257dd33408e6f585da28adc47c58bee7678a0de064916ff0437ee1245b0f4e73c609f1912afb23122d323ed51b04fa973a7c96c1e378a2e409bdcd1395942080b6a41dd314700a26136ad2e057444dd2aa2d8d958bf72255dd5936b2618a56d03e10d26643441e604a9a3f3086c9c4677db57fb7515c0fe4d5cd3aa4116a33668df70bc6f43da3851ed6022520855a23a3424ef62aa9e843d87d0343630612f2c1d3de21610b58d4ae1b978737a3808240eaaf919f15c74686f5ee23de6b5715ebe72b253b7803b368d068945b3ec4f5519c078162a7f016de89e744484c96568dcaf731bd98b2419b3aa660fccd1b71abdb31e134f763b0604e20c2b44cd5133de1e2f5bef5f953cb2a61e261ad6a26d8ac15477c9855d4bba80a5198a90c24979309b7109111c5db9e2a0383db12151f4a7ad5d81d6326ec35e7610ac5c3d512d28a91857ed5a446b18fa5f665c12241366f41a41cbbc1d1cf8fa1738f3ef5a83da5d3ff7280f212d754859c8cabe59caa2734f21f220568ccc4365786bde28bb6933726c07a80af88cbd17d51d3512a3be786ff073cb112469b65ef844c94253bf382e49c7553899036a1b97436b5aa9f7550bc947fa290ffe050937d47247843231515479271af2d54f477958e71733647e5dde1e544d507aa1762c2fb23202b4a129c1b414506a72c30901fd373046d59e0a8c060c3d9d90946abe5f6205bdaeb512473d90187a682d50db79ed4e196e4440d91c4d3f50ae1429ae8bcb469ef94d5b560646682b61144844d68073edc8441a9dafa516c8b8e34c78391238ac17312542a87e63a971ae55be818b600d64b155bcd943759cffda39609c94164d68c7236e16c563172fbb2d48ba602bcfe7922de8383a48d50d9116774f5a20247e31743b7283058186f8428a34f8651748281d6fb0862ad5f7e86b8d10710d09c35622c2a17740916d474350f5b34d44d3436c4f9ed02fa6ee7c2d5f0130591ab453479d22f4114d9c7d69b6ffb23463d32d09ed807e259ee8ac5e25b4062b1c80f40d462d5e75ac4e9c6467acd01347cb5d3d7462e4404709942b21051b554a28c052d9dede440ce2113dcd9da047a897877302d53760d400c8273b8841247e33323dbeeb950b2be909240d274c2a551f8f0ecfb3f9494db7df21bdead557d5d65007a17eb0407ffe676d9bd43e0e28bd7756baff3b0a6ad8b3618cb0136980c6ea4fba58fb5eeaf34277cae4de756375c665724a9e6a311d804b4576de1a6fa5210839920249a51d3b5949d3e45ab1ff7035e604514558b5f8095844cc495f085a3897e25a3ac8d80a45a616e301440c820717fa5d3098af0d48dea06c25da77835cd201202a0f137a0c3f1a686673351920ae23e03049df693da9aaad5969249926e4096c1b3495d2380ac2b130dfdcad0e2ddd1d5c66196c19a161716d53dd786f5ddaec2269164b728b494b0db12fe33141d7c50862fd7e5e03902527862eb3492bf3245236b5d00b17848171e2c4d83252465345b142892a09370e1398ef143988f59863f8f1c3347a95a3292f4ab23eee8094177c9fc51e6475f218111dc008809d3c2f0de3ab407e97de1beae8d54b6082ee229e18cb771640e627f62900209652a504f51f9824604c72765226933477e8110f46e92910559c745efe3dea6cebea1e45fda27864b577cd561337961846b1a93cba4c36328e52e20ee098715d71f6e64f3204c21e27b34a368bb85c480d0f535b1ba7fa47359a004cf39b4d5f386a613650a6a4671b05303ff63e8a69c330ef60604b310cc84cd06ae12602244ed4782f7927156e2080f70cdd04424972aa655230b9a61b55cec646ea808a1a31ff845738998c71c124654c365cfe51305d115d8cbc4632ad14165a2042a0648952af563b99390838110636c1a86c5d908c0e37a31acf1c10fdbb5831d0463c8b7dd964f280195ce546f64ab031b42fc6b70c328c72a15080b1672ab3ddf7703c9db8214793975b735fc10a3ad78f7216a89a71fac0bb357fe60a41c0f427325102d653a277f409f4a51419239d273f814ef3772001374c312e156626962d261204285c8a9b5e545c15360dbbea12582f5bb82045e8bf1b4439d314bf7f3d2d9ef19b19a7410c62a6763543b7b2e30064329a115b15f5150b1fe33eab22d56d32ab521ca889534dac39ff049ee0ba2147573e5a75f36810e81ed03c80b93a105d5220378582f306472afc536c457d038b2687528fe2136f85cfce1c9dfdce410b5fde6bb4859b66afb5b0756bf076245d60825fe4c26228ed8ad741f38948070cbb5a4eb6599d34f3580725a9af14042edc2e0c562d4d76609180261263bb2b4577e006a4a24876fa0cc50030e3c61075e2414c770a3177d6e3840ff796676f914a4816443f8b62941079481d93bf2947c01f071014b7106deefa53b1d2ca28190eed088e61946c511b82449d99c76bbfce1e393bd6f050b91a665866bd4051f1430843be10ce43abb17714b53ec86da6576a27c9c22c169f0f4046398a66611069b605e5c503438422c6731cc69631f51dc2350cd625230c17101ebf0d4d2d7488d3698dec2f278bec1271fbaa652907627c05b3702e40725ac238df2b860b77446344faad90367eab2c03cf867c42b94c960c162a2a5efd9d43359b45d7548dbdd839cc3b6546e6e80a3dd990b5304078e52cbd749f03c5f618565b9617244b6a6349bc076955202da56c7c6a984e543c924d081e326f9ea609579b9a6c14437a552c74de8c2039f82d5e615d2c4651970c4085d13b3c08c55051694eaa725131066fa8b98f718ab9d73af615050c9f939051e6bb2d77d6f82050b9b242415a819039ae34d2443912e901f232f035bab95a3118ed8313afb6fe096cb07d16fd61e173b5b0112ee1087909c95be75ea962d40ac8e8a1436839c44e5b7f321f3715f76826a86b4aed4a9e5ee135f811c6e01d1ad96ea626a8934d3e3d4fbb4b508fcc0e39bef003c3e7014697f9c8542b30305936f6480ee3625911a7c3435c2b9c500f703e277257f61708e8ab3e21488055712a235b1aeba465507f8e0d0430ae0b60069eb40a9dfc4f2b58866e18ad89ca6a39711c52242a5b2039f93819cadc0d430e16df3f397b2f1ca38ded1e5a78292e5b18462a0e79e220b730af1971f022725f6add579faf7720d825b91d4e46356ea5d27430e9205a5f57febd64dfe4b0743dab0071422dc37465d5666297aedd64649f5e4f7210e24bac0ed16d85489546c39b7409105fab6e8c57b708e0f69e547725b73d2981ff491917ed21b7aea6358c145731124fa83fa0ab6b56cd5b9309d18244489789124b92f33648d94cbf5db961c311498186168af2e4549cf8646f8b597b03fe7f8c49a32cf659170f256d92314771d50b75180f4c7602f12c8d6f22a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d0fc8ef0c4d19d60c16b4ed0a59ff2d1c1f263d3a69d791429ed0b02e6cf4231a0d78134547dfde6a5d0a67671a539c0673f7ce18cb5d0a246277613150ce351e60e8eb17806fb530b860de339f35161336d3614e15973c16bc146e219316bb05f2b5293b5812e65558a4302a0d85a3393f9fb74e2120843819822060516e405bdd1ede68c8791d10a4474d3ab545fc69bb45e30306ef7a39ba46bd34faf8ec313c0ec005fd36e00087427274978c3f07c1bfef706c3ef42821aad56dedf8c55e6335ae05fa4b79458e4739702215ec28c934d165e0e3f369410fe6420e35785e1ee0545db687e518a87e1d749c14203fb1ce0b2f92cbc472447d0a225c6074533840585605942349cf9d2f092e2da16ea58e0b4259ef660b83e8ac43d7b5a641bf7aba45dd75c037d8a53a6d5e804d3d42b96a36cacb446ddaf4e141223057588dffa225f7889348c1a06825617b5c25762282687098520cec0a577336ba836c56392a3220f4b1585de8f749dc87704a32b95a75d982b26c47930307cf0a88208155d45b122d995c566a61095a70b41ff296722889b17f11e61b765909ea6708b0354b40b280fc5b86d3666a20a80257aea2d304d4f344248eb8b50dc382723e20b161056431b729c2a6864894e7e52154a1d86b1aca0d1a9525213aae1cfc2738571048c35e4b3fab73361516a27340d7180a2554dd6c5bf5526a51db61ed3770d8572278d23f10f06aa048038bf41dfb69b53047ee3a31c248130e08413c552bb464031ba2176b919ef872fdae5d421377f2503b5af45b212a672872b4ad73f51bef5266bfcc6649cb186096d0720208409812c898aa2163093c6f8aad981320c067641852896eb6728d5a97493266aa32a5111a90e94ad604976a72d6a860fcb2e50086efbc03a65a30146af9231e3e1fd731b28ddb1a66841d6807a1f36a57031957f850c638f91e6572342f576f660423071c5d651d3c2db21e79165439fc49ff3ef099533b216a7a07625cd561d38b8076e1aa2b6d63171c2709360c1705d3cd49abd66c556698721e0455e473ffed617738d6a01f6b10de3e741ea96f643d4565d0adb3632f88192792f50e5282dbeb29a1b73c69937d5c146eb4e1694ad6153b8a8917347e3731248e05ab663873895bc62ec41b0f69c20c1feaa112467fb82101779f68caebf63c6b91081418541332df722866e0c024207aab785c2de980454223b92ce7f75f22b1f79e684b926a3ad91ae84afd7bb865aca5e74e9449ab430ca16239157bef7000000000d488fd5d7b54a6042d260b71f91718398272445bb0d0b71803585365fe92e3579f70df0700c166122365ae69bc34a9564eee6c232fce630b77ed832ecb3ee10c490b7b22ab48c535d5f54a49539d0b19c86365567adb5021f6c1c917f3d5d729291ce4740f204f21f7d18d6ef6fd36225310bc06fd2db464f8c8b254efec396621b0695efa89f0132214b35a683dff3676c8de2e5490b225d5d394255587371baea0b76fd500db56ac37044ddc22980084ebf171dd87a80ca14c203d05cce826aea3ca619af7ff4cba603315c727a15167b8a021756691097d0c24349c139a6bbe41d6657074810b04bd5147d7c6c21042f0f7413237f65e3242fa1aa125011d7aba0f67c076bd680a27c962c77405724779086f1fc79362407f513600dc5705147f8059d5fe4708405563463191071734b08e3f0eb942454aa61904e399e6434a5bba6769d20b76689f0c479c6bad4be8f80a67dd4a0206a7a4ef4e150097496a6238558d86eb09e2ef804e5ed2dc6c8109153cad66f31f99eb222faae0fe34f8d8b159d9297730519bfb179eb150326e95404f7336c22b8e7e7932ab7c4e29237bc1631b0f046a379c8f0ff70eee2ca5ad3e4ce1726659d35e6e46e28bb73c9df53357e734f74c08ab14282342f55f0ce87c1ab80fca4fa39eb825551c36770887d340ea88aa12a48a9f346a9e0a208708dd28a804063da66390050df6c350da20bb1e248b926091fc205a9b410b1c4a65897149ebd31db465880fe27df16a8cfb7e039007882df98157243caec72182bb54277edab829e1995807a731e46cf9fe6667da27c23a37401654b823990962b27d3c0fa81f419687a8066f116a03d893f925028dc74360f1070fdaa0743719c6d50a0d7f473a0a03514ec7ef472ddefb2a044291eb4ca5a74046105a241ac7cabc41325d6870cbba9c2e7fc5a421a0a3076a34d0f024f027345caea2022d293c4a2d68f71f768e1d75331924e1348df2f629a8d94c75acf6692ca9a220173dfccc4fbfbcee6ced6ba32ea3959e42d1a1006bbbfb087033a8cd039188d40ad088c120f2abe66029bba447f1a8dc4c0d21f25e86e030491df9e3474cfc89623dd8a352082d4f604e39f21b0b9afd14f8cbd262c1c20c47fae4165fd211df69130b6d5cf930f90d5c023c3e1a99502e2a38d32650c15831f4bcae56d26af1648c1f4b3729d3600cb48f173e1093273dcc928132864a7e37237462650d216d5d0b8e1071646ad52df3d91f6d496e7f638484be17a894b753644b5f0e82939d35cfee414a5998e718666b531f1be20e0e198bf45498486223d7ec0339546e7a6436c25507e4e5562fbf8e792c0d8d474f702279464c179509e971f648794ba4348203c830df6fbe1af2df8251b1562d3073b4de249b30d25d9cf2e5459224cc5c779fe3263af1963d83016d67906cf8249c6fd10dcea7106878942374f4e331550d061f13522cc6375943386225ee6648e312c222c43bbe737313830ff91208388d522d6062b5e822e4aeeb44d7a4b6774895282a85369b48d1ea1e1b3f56b13e9340180f1aec006ba80ea35a3c03170cc1dccf1aee25b05fd59b4c183f3a0f6c4a50e02eccadb255a97dbb3fc463c21344903477571af5095811295e45216418bf95e40a1e1e8f6a84d3e52bd0445c2ce350ab43826ab06a0ac98e6a96b0425a104b2411303d872b442d6e450ae6f156be24d032083bc8288a18ba01d53a1d51389c1e66170a7b029b23f35a831cfd775b985c45173ace315989404f72f0706108c9c16a450ab3463c4870109a3c7e6808e4216fa418c259ffc95f08638e2c2832587e61563b3d68f4dc8761449bf7572920d85f39c1706a05783629c5d5104cecbe9c6f9ead1b63bb85ea71d176bb6dbebbd61a2973986af73474602436513d28e4ca2a6b9fa3661d5fca6dbea1f92a67e90e588b4cb24fa9649523813e1f44b9d82a1c55fd681cf1d44c1f9ec9a12e1f1c15373f10f33bc9dcb1544c5e8951720e015920efb414ad76a2521d8b283f10dc9668a613a3050a9d85742f40e132e15c8c2407e8521ec70a8243af1b29337cae5b702a7e6463b4e77c4d220c9864173fcf2b1709c713d540b4521e424b014b830a673a5a8f49a848c8524d99de2d163571518573ba183e093337a9aa0226c481f33514004a774d2b485d98854968dc73eb6842e0df212327322ffdd2ee0d8ecab758a3fafd13678dcb3a9054ce545bbd5d63aa5a0f0e1a6a796f43a47053017d0d2be2dea81f11f4b64acb117068e2651422c657a21aabc2844723a2c45ab5ba451e8d8a572fc2489e29d42b9073a8a7f310d225f010759333124d0c304c11f42c2f9102cf1adbdfd65e955ac7287ef6f20043c17c5124987a6660beaf2f82bc1e1bfeee2a04d4921d041bb6f7025906604e3547c25c4fd081261aab9732be223176a8dd96277fd1ab0eda133f5ea92ecc14c57c2d5d69a768308a8c436496cdba54df475a39fbb0af4bb1ce276ef539e16315342c6700c4f827cd832a3fb94a4b5700b7525e4325ca76539ff0317123b45418031024851ecc1e8d22296c6e6e653503afda59adddef4d44f9826006c89127b2e4fa4745b58f2330d0460ffc573c2469707c3bf05be234c6d07e52ca5954659dec0206a9c27943fadff7335383f070e5ff0f5c18d22f210cc291470678780abd3745337f6eb24919a6a522c012bb3247b85819ab257135cd6cab2e9a0ccc64860c9f70bded4e42ca65134bcede4b13d57f2b6f26117a0837276955c0c4760947255809b8a6eb70cd5cea2c3c841271a611b41e29c4a174e097e51282bf38691004b65a391cc365164ed165dbc0fa670f4d34551fb5b949b19bd25d0db16b09515da466b3bc555e93caf03792946653786aa3508b0eca15afb221729de9114ae04cfe6aa1771657bcc9251794a1c453541cd843902f821f979d313db857f07225445550afbca2390d27a92e9d243068eeedf7694f04e4395b384e72e996c345ed30211a925a304c06449c5049a9c0035d280420d05bff4be0a2ca7019a23e4db0b3d0291dd993615585f551d7bacb1ff81d7d49233b4a1b7c87a259e171b55b40d803203a66766bb028a767870f6054349bf00e1f0a5062fa025e15c64a7b4fc43eed3db0c2cc38b1c0da160ed2c676fd89d0258243ea5a54cacb4418ec83205be6144af2516a0d65920a4bfb155233bf31566521ba8c5b65ff563fc332135c7579f26685e38b5d471c225f471fd365cc84530a68ac431d939c6f5b44c291638b3d4847519868099cb9395bb9b170062f6ff623f76947006cee8f6e97a3fd29aae3db399d557717f56d464889619b066d8d6e6602f47d112f4e2474554abe0e5786fe0160940e535d6cd32a01e45006f7bc69177a116a2b6e41426286e2bd69667e9d66a2cde75cb10c3c125bbad22c6591a05d73c3e353902e20488f78de1c8595b36c829a0e30e5c3942ec7ad10477b5dc137d5ccf03e0cdf0e71b9039a396add3c4b9b9749346c790d00a05aaa407d862a50c4ddfe03bd381372d27ea24a5907b44207642f025f550f76d54a0c682c14464e71f2d7278a2ac573c1ee2028266a4f519422c31dff585163a4045e22a09d0e5e4cccb45125040a2263298935d937125dab19f565aba96c3262cc1b7417b5115eff1c4f2a48b13c22c67c6e3db304b801b4a0b258c9306971bd335e7334a6056ae80c1a2a53e89d331672a36e08737148dbd06100d39a8f0888c36029cc9f482e426f68548a10275427bbde48dde5eb6d6523cc4425ff236d0966134813543f59cca96f3c4d5ab543dc39e734a19afb52e958fb407a802b2ab823aa20b3445540c0aed646fbe7704ec9d5a8135d217033824a7e03b581ba6e351b3366a275f359a9081e3c1371536d6f850e74556f4164d294e573f971126ed4a8695b23806d551f0ea52e6c8d455bc29d5437fa770e6d1f086702c9d7f077f8c2166ac2e1250a19ddc042872bb833158f455d0d91651dba220a405e974b54c7e8e5107840550ee07abe49d0a3246981b41c41979a841c87bfa109290805350c49d11ced289e1221d21401d60928403427c919c5ad132906a4d4261d561105fa7b120476c3695b8574e16a753d524015f2475c857cc569e47b2f4fc84430101cc5054c090e7d6f3934765e5cd21232e8aab1557a75cc426005500581ba576618180205d131c75c69a18724660f1c39af236c16cc0daa249cd9f66092fa3b4b1909b9272a187738b71caf3b6c64ca458181fa0c30a2455bb9ecf81b2f62cf4a91955d1b29e64769f5de0c091eaeb97281253a31695c7f6c1c93d158d48398247513956c74d82152fd322e40c1183c5cb1e143479f958877fce98a238b597b03fe7f8c49a32cf659170f256d92314771d50b75180f4c7602f12c8d6f22a85319804ade6e509549400030511945c8cf6c8857664f68f97f6cc2fb953d3db3d354ffe72624967737544edb210653597539cae44a33aa21ce5d8c1b2e560401b521f9c5d0269050a35f30ac222ad768c865f0b75e264e4e2f3225e0b80451e07f56e1c68161bb4d7000a3043d58b2e2e81129512951c76c041a7dad4604e6c8fe10bd60407226f4a014a32fc272e3927e6cd296e9220616bf56d7b6143236c45b478cb3ea442c371b03df934e6408f38570df57604a158d8540a18fa71d7e3bb006edb6e96e31c90565c4b9606d1776c43d2ffa821737e9e92aee2acd0a2f240a1ce0539d4a946dc4601136bd67c288974c53cd190f598e913e8bd9d953e2a94f165047793db4b2bf57e60d676ab1885c52964f6a0cf9d66850b0c3c3319ea4ba77fe91603128fd157259b3803bb0eeef3da403075e9430235ef0401170ee86b21b1994836695e5c82948197c4b1884f770b037475353e6291741a28d1d195a2826c143101ed3249c3a1afd8d22f670e770b49e10610ec40f715854483648b67930b140b34747b5a80df3c70748886882495752a44c0673ea72a8b84771a5e53c28ead00c3dec9ac01b1749b35412ce8313b76a20560739d612de147937d2f8240fe6478b4c991c2d2896f0496b94145945c5ba3d36a32f4e3e1602196e2a42291d9ac04d5bdd35fd49a892ea69e916624203907f40675d1c75aa2b2c08744889599ed6e73400a17e3bf5fa6750b196c63c2c8a2b1f78032c261ef87e474b843d462c22a93048f78c5cd501af0ba72e1a04073f3565cc03db3d54987e35980e9b6ff8c9cc65a2d7ad728ee0e22ca7fb6415c96b33727c40804c6f1e84763d87a80cdaaa040ff82f9e1247a2c247f0791d727848c35526e79811f307e15a383814663d397f34247bdd2b6368245dd57b4f74bdb8423673501b14bc2f5030bbff8f48e9885162cced904e0d7655145f0208774f20513a2d6a6e5dd0ac792bb5cc7120f1e9a1524a68276f1a71852df543a80c17385a156e6d5b4fb680f1377bae71192956136f60f9c146216147629e20cb47202de75cc473da06ca9b3170e4739f1a2b4d8647bed0d926d181e17108f55717ab5b9a0881907e35118c1c0d13f22c451c27245da0dbbd591e4f690688710a347a65b35b7916d262c9c60041645ecb27117b394a579d616e725dcf3530a18b0f2763b42ab426c0004b794a312f332041ff914473fc1c100df0dbc96ee10be807c17a2b211b730c01c9d6060072ad5d596159cc5cb25d6f51f811c54fec36ee718c76a156d7f17c32b60835640e97e031a93ff4724cca274400000000db8c3552eaedd5238cb03b03bb0a6e3b979f3c365855cc48353e7508a13b1031b65b5674753b575df11a9a27d5f58a143396fc3c2400891523b5c00d3fb1ee02922d544ace356366f2e40354d770195198b6ec42018e3f5ce8d0023c28ec7a6a598b2c0a6abd786281f0b54cfd6e0e724019da5607cbc4009a262750ec15145888242a6071b5696ec39db6518dc8202e362aac498ce8a96ab5a8c626f2ad544690c80e46b43ca545e64f2c18945b1a27d478604879759a5e281437358da6524cbc62fa7672c0136e60b4ea244ad6de5033a600338a40bb114e17a741e017bd03791ab92f28f8e03b17dc9f0957558d10a84f2f6592b3f9367f4884307304a85e0ddc6237d023d463be4dae146a05fb420ccff821468b820a5505a306c2cc2326a74722162eacb21fab833f2318469575d1157e2dce207f687b36ea521b6e636200875328f029b9415592be0534120a2e49841916c5a014445b124e683ccd2d2ce25c522c62929e281a3dbb1f4890e2474fa2dd11e75af3135a5cfd03ea35a7776b3190294205bf51c2cf8b2e93d18d4ba4f53d175ae8fd12590eb2396686bb3f3031aa4be6402522855b050c75a48101a1a8e14e12f3070fe1dd7305d29d01684e4a45147c941072bf5c8032be077b5fca2d3015b044922caaa83013e75de90e24e6972334479f53f6f9df540b8141688e8a48525fd45123b6e6d81d5ec3c63c21f82121d040b015d3d9052b2d80204f09819c1ce73d8715f337564db8617734a42eda533f1e4a68c18ab86955a7fe318ddeb40806ca1514f50a4666789403115a71081bb98a3d23982ba2483575d80a00a0d95391a18565516c191c894f2e5480a25c16fa891a40a65e17234f04a044a86d2f76770dd046a113b67230b32c5a3fee7b284e5977646d91e24812379121dfd56e275365fa6ece317969f07b2e3fb60adb6c94fcd94d46bc594a0b9ee34d8b384e778d26c84cc5645456c63b8539c58274537e51ac65d9beae29449ce15444bfdc6167dc5f041b23c15c3dde034d433767014b15d465aa80456e45e2c9333cbb6c54accbf06843d5f542ca33065c45768a669c10b81e0e0bb775403dd13e6618f312ffe3da6ff82cfe54618df8209c11cd06a13bb736210b76748aa05602b5295160408c531bc5358248a377545684f7fc2df1f9c305e0556b4c413a29385ca8e33ae47f8523f64ba939494a5a329c99831ede6d4764a826213c58604023ef6c384802110101531efc20d875e521484c49488f7c66535da015693676e55ec40df5259a94612472e55e73524b8850aaa1ad405d6d3e322dce5b5826cbba2e08c1cc3db252d52d5221f2095193e4040f0fbc3fc22edf336c93e567ca840905915a3f06178f240a1b40f61df4c82c6eb413105fbaa70d3ebd488b227c6da37277fb6e72eed32c08b7e2751553ef851794532c306e30bb264dbd324c02a90e0f2e4b86040306ef52292e1e7228652e480ffe2d11b7d0b60efa007d013aab834920d24b4819e4143c6a1cf90b876fc0284581bf0b3aaf784ff1e85b30587c2062bd54d26ad1bc21615bf1014dfa81b94ef0935245c3688f4f8026a4403fe03646102af81cf41d650bc48f5f4c0718bf40ef29d1103c22ed0cb729ea22f835e25523174422c6150e19edf0dd59dc1a150ebecc5167e6482845e47e9d45e9448f69ba42d442e764893e1dac33219f8caf36faf4b86b82f1ca6a2d5c78525b63e2118f829d77ebe0374e0d95f1040257da7095d41748684b7e5b2ae0c26416a0f325388bfc1777ee165a385ffe29e956e75304ebfd34e226f860dccb8a1b17401b40d4995c17a0c604601adfbd024fad136e89635f51c92c2967da24755c3155f15799a0b050269b3940e14e556771d0733eae93127775d7ea7052bc785059b68e0e95962458530574220ba51d0fdbcf983f541dc6435df91a5ce945a14fc373ed0f981c59664b03db5f9671cf266d7bc74f6bb884162bff4448e7376b5a45813d1651379972e8d1130cc6e63168c6d75701b0c726118eb0ff757bb03549763eb73f279c5564baf722479d214a5b9e6e764fa9ad3663a66ad9657d2791106d95073a887ef14985151c15ac91a01aecf80d1c384b735962389147760f8561873cc65a98af681e66180d737e14ba174117c320f3e01f0459a1f205cee22418cbf8d736ec20975a26162f13a54ffb7541693e4b25341a272832751fe8fb9936de655d175f48240fa4ba2b50b864256de7ffcf2ba7c60e576b50035c627ecf1b37d2f06ed5973a64dcd68c6a85d50e52915a9c42b9c50424a505694f62ef951974cebe3b0f7bf51062a2132ac3eb7a0deb56d47799791b164555bf6a5ce31c112534de3636611f04482892618037d407df8a5750d115f56a123f45375b2b482b789dd63684df72700b9aa11121f3f921e27a40715f2720230620ee2303287762f999f044f8a3d95db71e4c477500ad67dd85db743bd24c65e52f3f49e239110e0732eb172d68b93342eeed2ee85daa6cdec27c237b83e3078c1c9056dff77c083b4c9e30d594ee04e659406b247bff745d945f6fe3dc1069a8fcce0fee5e1061883ebe6e3e818462728f3a4d170f85327b80db4e9c2af245d71ebc552223992ae1313233e578686c77a8de2ba26d320bde360547a58da71c35b92147ac4c511aead9790fff6dfa2fadbab958cdfcbb67254d790f1f84f9466837010460c7dc30e2a7a132b79d80602c6ef9323c4bbd514a6f2b14aa4f54655dfd2b6bcdfc784b09921a3f2db7130fb7967004bf615733ef6c515c8825fb734dfeea31cb6a460d44c1cc49bb64f264bbdda8677939144204d7be513f7c8a51a01e9f040738d2728f453d07dc0b5534fc26b60319cf316cbbe8b542359a344128ad376d49610d639762e71f9a234666b3bf8a40f38ec61d5635c30236247b2c3edf053f70b9740950bd9c4ebd983a1465fa2a58146460015966e649d23620492fe98e4ccb928f437fcf8567646deb44178afb0f711e603e16c2e6189229035a05e5985a4ca0e7143519916aecb9896b145d421ab37c561c8c907d6d44033f5c46f25c2cab647a20e7ba750c6071977018b5070efae6ff47fb0cce47955076406c660408d0990618aea19621ff476f33af84712039fb5c1c1123b159476907756ae66211b4827423024a7d2b3b63dd1eb780cd34dcce170d0935c276a68d920f88f272144d2c4221b3934c6c00d438484e263119a9945c4a58786116abef0b2cead203779421c26025bd022a50665b1ef2e6c277fe1764585469a2149b634c4b16f13e0a6929c800057e4a0c3b946d3122512518d96a7d4199b9981a48e55a655d7624743bc7ce350c12f14655cd920c710edd4446d47a6a7d86c517b3d2d918893f4813f531ce2fea62586507eae82b10e9ca1b3e22d702f84a59200e51bf40d404c545c8445930192f3d7341659c6939b08952bb20d3609b196441afb64c6450d6593e99072a07423d237421e729233a587e14d096d64dd6e6e60f75f1cf72ec9b536418315c443a0054623f1f19237e8fe054a22bf504ca4d3805889bad6916bdcd09593f3f28f58e32217c83aa43bfe3f62889964f28600c72356e71ee54d1b8da5556d7e71e054422535c06c4275db11219f7536a3d64b1d33381af0a63e649d0638c5d924bb224e66cc1e056524425bb2245192f2fbfea7d1571f7621451d26d46224ffb5f782cf838d718546cc4481148b3ec2270dcf7604b27b0ac4f08b52807d40dc046135be93d0224916028c973574816526a7f60a055789553618ba4494c7eda8b0bcf865e3f10c08b620a35fc478185911ff742415bae36733399e27e646253f447957c8c375f1f4562b8625a38f1a6b966b3f32e3d76f77971ecb98b2852bb38696f8f1038c906b63b00c1902eb7247e3f69aeef176523bc1a7d86517191da5739a7464a1f67670d01888a6328b4c203295772451aae575877f361ce2513743d60bd87ee77666d9c49acc9e151a9593208153eda767ae62016373d5a55ad06ff09bd2bc272b10bbe4d4dc5b67042418144ce6e26603693456581d83711e0f8934d7654ce476bb68d3a2d84e8327ac9b1184cc5ed36ff4e5b1e7cabe877b8d3956c3d6e3922c1a6b3313e029b468b46434e71720427c378ae6da032b773113f81496ec00d197d40ae2a08aeeb58ba4fdd154188376475519b70173cd95cd35d393ddafb3d29b24ff84be5657c5f4c9479653e65aa1d4324da6c6bb26031aae4f65704c280637fb8633ef4349f50ab45ee015f40c42ce106a4516c6bbb76a795923537f14b0b48733d48201b2c3fbec3286a692bf510d558c576bc7ce35b6b4a332d2ada821b7ad15f3c913017434225074a718d7c31d390ce3c9d4bf50bbb13713ad1657d0f895d2346c2a7266a5111a03831b4226f5972c55dc3ff782ab736365f3cfda82ade6d013821ed484a0c387b5eb88132664114151f8ceacc14353cbb55899da012bf597261abf1525c8592252e117e1462df80ce32bb85663e7d06956675aeaa0d45957062b45f445f34fd1d2ae7fe32115bd9a7484832d562e036926e8f1a14719258a74de4ba6002fde9063a7710ff170efa5e7118e4b4323e245d3e6a606839ca031b0874058d1f0c58ad0f6616b911659a1c3c2f026d50bbc2da77fd1edb75c3b4784c195e2f4ccbdd7123e0a40b3974ac112b6763c627491708352b06ab314ab0be6e41f3a1053d5ea164337238487332e435d83fcb46bd454556dbe4cb0c375c8826ddf70a411694af60b1c5712366e20a540c4987034d9d7d57f90c9f504e50bd06dbe5a65abb6cdf19fcb7c02f1e6cb7707e65cb0d31d1af52e47a3f0baf8ab925534c1228feb5c66784b8b6631e9e5136a474975ecfdb130a69e3b946010d1d17990e3703853f940438d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc7317019384c82a7a1862290747792081047256807af13c74c0ba62c3e5ef5d976b7a2733d0110bf8668a6eea2ca820b952dc5a7b40ff5cebab2e5488f902510523d02059430174fa99f707d764b73dee441f68ecd9745bbee69f68facb4a19a198e827c6f7a230e8cdf52a54b6f7196fd70944ccef8f618aa0e331fa6f5f4fe8a58773150aa749626aa927a19de72c3528893a8d8f960974cdc4539b2f1b44333d8d743806845cbaf4541bc2e19d02d3fde64878913943062ac1043d9d826c39459d3f0638921a38e3d80d51539c4ac9cca966499c63635300aa4beee443488717e244dd94786059750535be82fc5e8242021fa36ed91b57a17e4202e2ad7506443b51fd0390492516821d7ada1069a22f4b64fa58ef6b80cb0c71694cff5e62d43566f6a370305d68ce13fc01aa6fe6bf06325863846b1aef886a84362261e47ff91e30f2927446ec953fec328d6f46204a5637acda3c3c5c0449f1a9454ffc81ae332939e1208a436a313e3ab71c71305b6eeaa03a3cc07c9263226c4410ac28dc5737f32270d3bb270603fa7c32d0947006ac2a182708ad405727ca482edef9e20921d26a6c96213a6bb453e1775d5bb758e85f8c572d252b590250374c3061f96e5a7d2b647d2164248559845e6420934c0fdc175ab35e5400d4b08409ca548522c4382e16e754961c6d8c7e008abf146e8252da5bb599c946e5c0b715574fa1559cdebc574a28cb2fc1657d70b7177467abe02c562b2a2c5cd7701b7200a69a573718311c780c241fc96fbf4900000000e79e972229e23a6b292192611c2c1a2d253269449f54f034fdfff04bc00ab74a585df44c95c6e31d41367c2e3ae7e848149a2000144cc77189443c338755aa091ea1ed45f08a7304158eaf1bfaef074b175e5f65d90a18419eaf65136bf05d001ef0024370950122c401b031a8486541e156612a0b77c13905e1565ce9707e72789c2c0bb092603049a1a61bf37ae049f7b21e18c4c3b1011d17db3a645dda68daacbe41ea072b659edc2074554682750a884334f4278575c8d39b4be352af114c738b396e3f621a8c018747f98f1b750cb4c7370e367d03c0ce130fac558e02ae97155b93490c6f6cf52825b096d030bb75ec2406da293c645b94540b3a8868e041c8486b64e243c4f3b71a2112785e30bdac2ee477ff275e91dc343f1c6c63ca730b0e5dc377411a2c41417d059275dff4f33d8e5db26d75793a3afca18e58f2215a0a332e1b32ce32146e3b0b0c171542a34be20f140f772ac5468cbf3e014a65454553ec1507b581de77227d8e68691af32227be272baf799770009cb14e04943c1a30e2a028d1ddf26c45ec63368f7c575cd89dd25597339004d13deb72815f1615e18f0f3b995ecb2bc4a1c8463c42f20b2fd6291a876ac26ff835b70c932bc540491c452d3613c565c25c0a55ba74572eb20f09057f771f5cbeb23318d229dc0de0b2a9502f00a935b2f9e2392cdcf169da9df36218a8d739536571551a43016a2079d762aebcb524422be218755ba8500bda0b36c6ca3f1d95a26e3179e5eb275450830c2481c55d826dcf4407ca9f1877a37b1c5c05431645ee0376a732b02441f64014f977b60d78c0b06fb83e686977dd606bc5dc1b44d96b1b091f2af465f2b60b6fd712604335d36319571a6b232a2dfe4901cee0410e855c22c1d11c5754826d12b61a8e0aaab8ab22421d6513afcc870b2a8a815cbd47b26619509a43f559aa34cfb26d4e75a9f549c0d55d2b215c064a1c101408412b2e5c213d6f0d3cedfd6cace3851ebecd2e31adec1e37b9393277afb5a0747aef61009e37271360f5a7581c23ca347d51eb3c2dbe172ea43c48750406e00e84bbd440fd991c65e641051421779f4687e51f06e98dfb6d54a231730e0b93757a43612473d14400d0437c6bd9de236be5941d63e4068740b3eea529184cb45799519b72ee44d95a6bf09b4508d16d111ac402033309071a849d004bbfbe7906f02d365dbc1157399a2ebb12bb27c635f8509807a87eca32fde2612ee719ba13a539082cc354d029b9c7222c512cd92c73de5441aa99e96e2427783fe288112a9232ff538a91d75c671cc1142b343f676ad14a58ed48e64e3d44435aab5b6722ef16341322dec40b9db12a308c728034d56b9e2bed9d8f66c9a60f2aea96a62900d6866abf2cc94bc3ad153c7209ff0a6c80945e0be95a0b3db3f64be03c2819ab46d822aa3fa63295dd165580fa275bd6146c3160a9b4346b204567796a6d29549e9901370ca20a92ad8f19e74861458f4eca1849d52168e28b483cdab4ea5b2b59a01936929b65dedcca28f0b58d2a05d31b26737c17501375d7223ee19676e5b49e262ab37957df035e4fe1288951969c971267057e4179155549e23b3d63944c8b3167ad59750fbe2c0ecf40230c6771c96d3e4b0364188c6f1d2bdd0c040222f6396bba2b673f53e92fb4e0b559b8ea1d03ecfe6712eb1af85ae85489039cb0ab1dbfa5ef053a45703b19cbbd30c4cc7e6c53f98761e7f69b2c2024b409004ce673de68393a6007d43a10c1bd06f7fe22636e6be01dae001c1cad2a775c9c57c954ec9f88217222236aa063fc6f05711634cac74f02c4e000082ebbb94c82143418dc7da41cef542b54eaa50a4e5eba56351025a523b259235a2fbcac58fa2140232f33267500d515338c41cb41c8042e2f9cdcbe2865587a32c2108a3bf7254b70045cba5a29f7ea3c1e5e7134e3c2241f5bc4cb04c720070b619f383f6f9f8b01b3f4db5071f725013a7a4c590d06c8455cd1a71a64f3992c17ea103e2036b622586cab696a8cc60079492849c84af64f3e8fb5217ac696529b5fe6186785fd610637145fccf0cd0fe8821c3428e66c3a2db3145128336f33d8bdf35b980f660a892df66f79b3a5393894b52a193aa42537a7de6f2f4c8c527433f64391df8d669ea02608f2f7176edb5291129ba8aa52a94d9d7188df8f347004c73c520e56484c45d74b28375b4eaabbf40ddbd031009506f253a12e084f05eb1722be67a34b7954324c68ad4f3fb554b073456c4348848071129d8f50333895710c718bd651a0a7c30e1caaf051f4688229f240c1075a650c2e04e2fb5f78b0680c88d76071d3bb435e9070a0298db8c31f47f4095330161f51cd631108e9b1636425ea2f0aa0bb4f427a047833045c862aa51f350745f8d64b51579e321b713b104950853c7ca81d635f5565684408a40b590d1d3731e6ef150f470f106230e96abf113704fc33f51aa13df0365c76c50795c5514baf30f265995eeb64c0d7ea4b65a39c5bc89eda6800e0b331b6018a25fb130e47614ddf16346db041810de53f2ed4be28ac0c1e465cb1eb46fb79553db094a813f054b90f63605f59d21d873b35435f512e0095298a48c03aa8cfe72fb4ce276096a7b115eec3a8097968a2552c55256dd19b5e03b1ec3e206eef98511d5f23704de5ce4e5332dd435b86d45f55beca31513ebb668b9165070281276ae563b10fe68e4839fb6b444cdf564f077aaca619e621ff0515b1406afadb8a547a97b91b0da80377df89961db5a96016574776486697e36cbadd4b3b32bc21332a30ec71937772038f0a7c1b91982503d673451b8c22fc548360a31e3a194257c55a060aa8e4714f0146d90b0b26495ce5fa2b33121ea97632dc275ce903830afff3675468da850d12614c77eb08d04712a03b36e46bc561536a8b2f2a099f58deed4e2124fd4e6c857f5d500eaa6365fa897c5d8aa05d3ea9383468c64bad32d39d82031036565a1c481d0683fda9558be2d96c31323e25fa426c34de774154379e5d2c7a701b4a658b60588fd096321946021b63fa1474d05e896526ef392ef16571409241251aab894a36f3c8db7040381937245e973377807e3d5a7475214af6822f68b060158d4612374c948621ae249b1e795a153c893da86350816b687e1a1652a1063d546bf4e62efe99b174fefb13070990505882ca891f0caae51733af20687f2fbb22fbc753137d21b31d3d63892d11438c58af54d620c587916bb4c053709d7d655f9a9011671e42653e49bc7446d674f510c0435e56531ebf738905c049d132e82087e07d4c3d428b6ec0511206acaff567ae98d55db125080f1315ce526f304775a4161435b4bbb2689adf346c986e4235edc47705795fb84ed85acc6f71f14c53e94bf061597ac47351620e5250d57808ed3cae4f6d7f1102f5bebf39b25d92453b940a1214ea604fe4b6fc3aa5e0ec15021ad0161fe8850009dbbb264e0d095a8300091df3691b4e4804e609cea6092919233712339b5276290c7839cb69bd2712810f3df0aa762609c5be4e45df2f593d9c9456954d04259e0abc62186efa772199af70066ef7499a7b952b3bb5296f474920640f717b75edce5753be651845ab2a96200ab9860107462b67b2c7a64e632f1213ce7b7a75428ce9104439dc276f37ea6fb4fc300c02065323bdb3c5019277593f26aceb267f073c41670ecc71602b6365ff79ed5d3e980b6796da1c0d348b46157928332bb58c10284b9b5f03b6dec9163e7c54240a26ce46ee8c922e60e3363ce158c623ba33341bb3426f047b8de64010e19f2d6935050973af44278be8ce367c50920a369c681d29a0585802fa8c2d14d43c5334bc116dd60728457d62f44060bd0640b538d83b9972835092bcbb0761619e430bad680765a8122430b228611b7f8a5a5c2d9d721244b4393cfe6366ae60eb5c95c774270520285aa17f1603cac15a7614f63f254b95092cee8e735be246c370c64a914d1a53ef4eaea10b45c7461a1e1ab1ec4c76cb911bd19bae74c6e5266725e006602a64d63868d84253630272616c588a36915d6c297ae5e75fee3572521787f04227623e45314ee52c970e785b7a23b7614e1589756802e1203f81ac449adb6f3ff1859308592cd95bc71fa25e616a2e6979a1704d1226670680015023ee0c277634485926a2b79a3790ae1b2e98e67d0bb9306c3affd3fc06282e472c6f42327639d64e257fab1c5504b98d3b206cc2181adaa8025dfe32277bb04847bbd8ac01eba21e07c353cc2bd708cc237557615630138a3354f1da0173541d1d8ae991384d56be67c1681650f6db8422f0d2e70e810c0309b7b70718ea68de106ae23402b7bc0e5f6a5a5a51251c2040e0595603d5d70626ef14b3145d4cf36b09cb2b50dc2dc01ac2d90b0d946d626ab4b05d65f3afdb2de22f0309bc10d83bb5de012ec9b94045bd8c007759f63606bdf60a1efb6f254641b03d5b449bd42e5530854d5d1bba6b23ec2c0577306072d7dc78171da38f3baa9af95c3886f42bde1bd9594db9c557c58fcb6199269976adb7d32792d93f5f84edab3ab3e3c8053267df348d4e476bb559452f1d5ae44d54aaea3e6360f8329c27005589da4e1c159b6d625ed8c213e21cce27e9424f13f01a2c59fe73880ca1ee2e3c9619ed70f480ca04a2772036f5c4c6548c40bd561baec752e2e9920a045384724d0dbc4b2bcea806739980175139f23944142b238904b408e31fd92c39374c6bb8be712621a6350745965646ba310d0a244ff51bc0d8eb31aa89fe1d63177976fee89d198a034229ee67cc4ece3b52706afce1754906166105888f5d8b7a6d68994eec18a6ad6f23c3252a4535941701b694674515a03b473d32120e040d204999259d32f2a9385dfb63ac5e57d7116369680a38924bb33d1fbc912608a9dc3c40c60669122b2920f4b14a4e26382d10411fa420e38bb34e6a22883d4c5cbd1952c9336d6537851f743d103d88ce1953d8113243757fbe485aea8e59e9e8723a8c90c122af07fa4a34210906dcb4b95da60e1c495e920a0948dd2159c47b80752a10f14015b176308f77e545c2340e55825aae252205f9312a5dd04cb833f250f3d2a6539efaa03502beab407878a4420815b11d48fb4e65a2e2166fe1bd7951fc6e4b46d3c8bd3213948756b5121a4dd8652575e1d3f82b4088596217771046460e731846078d3f57f1563445bc9a479d226567c9465c19f9216935b4e5df75a5c5a7172af9ef737bffb4335358364d6a9bf66a7d49ef1887661246a198e768011be45db2eb755a042f40514698412a947d2658d85e7f5efae7384de866ef5f4e7e8c2afd681323a312e3282a10c02fc1e92f0ec6990a0a03fbfb5539579625d5d1c9492336be24baa0d543d8ab1a5e71be224d6b86c13ec128571c30361e4ba3da3d5918836c0354889400e684e31913df42239ee48450fb5c036fcad1d14f8e36fa01c663204a9e56bc24cbbead58d15c88287d3aec6881dd2a2cb4d0b32fe4480a32b84c4b19bb35c51e563fb82dcc38733221dbe5066981cb0c1e563c389655505a73a51120d2e7151e5ed38376ab5617516d073e01ccd9830907f8090ac00d305385faef02c174b518cd35e82c087b9d206c603863a721295a33eadb4bbd4d4172286d3e163987974b91e04756e36612134283b97413e1e658b6c4cb0c1d52e72c5f72412f96f7552a2d9cc51e00000000417e75602743751473f20e64020c493b720772370ae1f03869f76644a247df20dde3025308a93242fe30040951f8596d8644006d7b49aa338082ea62b9f9ec0195e40c5e392fa769a8b30645268fe54637868732b42a0510310e6d39f13f1f13ad4f3b1d6b4bab4f1bc8536d57262809dd16cd189153af6d81145e160622d95b4f37550992a234561ad3cc47eafbca649f2aa14748fbb55abeb35e74209ccf752cf73033e871af6332bd2c11d84feb4ad8fb6b08b7a5c626fbb1640973d6e80125e3fd239f17cc05d4af3417b9f3ea3ecca64d496621ca227227cd121479040b5e39dc7052916e04754b495705824410d343e24a1157b5559d6ae560d970e06cb180e9278fedde04672c9927a2e3653253df815c3acc9316a02c4d352b069e55ac2ac21eb490170ead07e107688c8106692d352ffe543569df08593c347b630486317769c82b162986847448353e933c5272bc3e3d02fb6c1adcdb1945b5aa627ba4b92bcb66361221c4262b1079be52d297ca77bec99e02b3a86b314ca4601abe473829ef2665163d7f4c3467146e43173910412f805c2d4add934bd717963982adb6727a3a17375556896d8831403b9f1f0d4834171d6eaea7115ebee1f5191835812a6b9ffd07e30121428a26ce3e8c5e57707ad64033d0bdf427b99c235b53685c1af66c4802d31a5a467f4a972b0f052f33fc5ea043ecdbba5fa7e0e6344fe64556785f2c4888cceb764faf5119335585312e24bb575a15d02dd2dde3168493700493edfc141650cc6312a2a8482bd531038bd0b936c857ab7329c4be57c2e69302f6feba4ee4863f6236b73022f51ff46e6bef3762483cda04b8604352f3feea656c040d2e33d9064d16308949bfe5696bd3be6b594afe315abf614a0b87b097705053ca425cbbfa1596b6374e9544396724317f26618bd912315b223506be6031b5408d3727f8b157ebe330165369e901f331123cbdb33b1078ce0e5855e8ce2176dda857d8dc4920b3eefe4b696f32689875a7295fa84c7556d2480812fc8437247c04245ae8fe433d3b120eabef5e260d5e6010acd62173b64a0e364b40ef06236e1738288f73131dd6365326e1f721e07bcc16ebd0a9076b937f4c9c336a535fecae23dc04aa6aa363b225d8db3a1c12bea345a62a533fd24f5d301931bb1f58b6de527544b014dd0c46478aea0640d7037b531f68ec6bf76f7e178d253533c878ec418758464e1fdf852e146ac501d32f9e257ee71b2015c93e73322c2161feb80829ca8a4e2a2be0fd0f1a2dce5ec82c433457c5716b57fd5c4c9ee4503726c1952b77463c384a1afa29a968a23ae52879223800135dbbfd2e747fe6d472e7dd31601334ec77828790380d18ca41a10fac743df13d54bc316841a7dad332d4b1b30dae585b21a773c7371a6df7573f9ca31cdb256a1fa4fe3f7419df85035150b171cbec12130a90f80b0777ed57dc4f764273c86f44e89f82436a3b734571981f483ddac96afe1f4209c1ef634ea13bda6a831fc05587106a49080bb2219ae7764f7cefdc3c77844d1ecb5b285818347465096be6478c0e1811b4b8cc4e53130f3581365b319f39e0563becc46a8e16280d5fae0320095971233a8d0476143724494908ee36f93b9d7538f9bb5244277808869ab01d01653e3f5b65af704a1b422ea66210056924b34ade68232c8be72a0fd439ef34728edd39437f2e07556ff8697a7c421dc535200ec0b39e545dd3946a9f704e685ac77a080ad16d3b2b076f5eff06da2d815f2a2f47963454b51d0e2009dbf10a2138ca1c44f8922e83082b4f7dc6e73d0824d70bc8578d2dff980d038e53322c3a4f0136764b3c29d3e10647e5ae1d1f9713921bd9741035c28453699f6aaa397821374cffa4661e501c655635d6c56baa99d227b1722c2430d18d21447d75657432e815b597f60ee7d1423f275bed6b9cb38d2a59d98b65ac801d083942174880c70057d77ee7507b78ee3c867f066d06885046d86e1b5766cd2350fbe4324ae92c2b0a759bfd18f26b6b3627d2e72778bc981373fe8b5c3a30905781b7a15295c29f51c73b754736f645215163b227f982342692fb0d2d73be5d62a7246965ebc6832b2a667e6f21bba15535979b3a911fea1def2f894752e54d56610dcf6e369b3052408b7e697238621651f69831003872279c4627113457241f86c961114d293f5842e8303ee352593d6cf7c8027d9e3936dbe9c427deeaa3102c6bf559007e86063ee77753dc1d840389a5c1600d448f4f2f5b94158dd6a560c9bcd426490bb96f6df75145a8371d416f208b591ef729201afa2507652c80499087730d462c8742c8908643f8b30474284daf674551192898abb946d29f676b5766d943008efb2de78f111d5de838320396102148b0eb13da39d54be7f7985c9d6d7e77a87fd00640d7410a699dcd2280884e45150dd75b2c09d41bea9dd514c3bf734da88f50339320bf123954a1186e46d52e6768312488b9494cacae635bd0e60216ea7b2b47b99da72221a2f47136af85496980ce044d226d2bf692cb1538b8095efdb12975250e7b5ca908e351c13c3638ec2bb742ed441e3326a5ba41c855853cf09f996f8f3c2c4bd7c3712667c3ca01649e8807044c6b303c6f302e247bb2577dfb87286e3fad1f1a251447761e6a5d155cfb031cab4c362476955eb40de72037feb66ad5a33e5db51e594acdba6d6d8160ad4a2d023f6b88638c6421085129f9546e451c015924db3bc24a655c833b70e01251336c9e2feec4be0563371b4cc3cdd66556761656ddebb6285f6e3e2bcc9d4f0c5ebbd30c9d1bae3acaed4a14fe60800859484f309d260b66caa186339760fa66aa9c30081c6bdb2c3e570f10b60221355d609c0a95835b319dbe2e02d62529493019ca59c5b02d0a5b378e5a2c74953c342ae2405877554dc9ea526a8870c50a0e7c177433b07f317fea8f01b1734565ba578173fe8f693dacfec31ec4f61456545d4d0f6e0bf86bcafd3c4a94a2d33a0191db5906471d48b9beec2f30687a3d89b76d608cbd9b2c577c270e969dcb47c6a977748f6a384550f364562862572a4d8e2c42373dab2f1d46456cdc7ec74fdcebea5158a1c223a64ab039aaa243011ed76803fc296a554fe0600ba643bc683ffbff1dfc59670d181af4604f40093e981ced229f421f3aa2bce7158c644e4546c5b449dbe0ee5293e87175a9788f419ac28842d7661003629b731179f0860708f5721ea2f43d20a8697e4b55029024f6148a437aa9b171cd484d0a04d3f557912e146d9608ef4d0895771e33db6f56365cc00051a8e96715ef971e7cda3b291cc5dc69d40e440a88dfb6400218192d2d651612c22cb61af15d20094be5891de1c4711f79bc665fa535e44fdf009a23526c833d63e578444a5c771905c5d653f1f3b2335618cd67285b0809fb8bbe5d199dc01736b465103c26ec7547cadd1707c67747fdc5dc5c1818631b38e12746710a0a6e562d24346da8494dabe2ea3599718a1eb5da5713be8b9304b262c82f75911062a581b6667183293e21c852072cb4dc098030f76eb1d1b91c3bd89273ea1fa51627483d19ceed473dfa80d43c6b63d2351952dc7373a8d1224bdfa44a82443a6f48d9db5a7cc09e6fe93a6731c3ebd3297acd555329dbc501e5496c297f2a9b07d29176561e807250570fbb106f5029499e8ff1165444f20c07934e4887dd3d5624ff58757322fd216459bf5312d3762e383265236faf5136c846ce0e59b37e7160f5b03c9965463909647f619619836d3b63236379bd725c740a2d1b8f992f14d4397901b6dab31bfc6e426472187e1f03ba1d262e2aab0eab79c207085a3c71ecd57166fdfc933d5e44731fc439224b1737c475c0098f45e1da672d234bdd454fb1aa2c19f86c30bfe8b332438ce80fd0650542c4f55327cd1d3d324a0c656391291c5d05bee06e57638454150989118e2c00265bfa3131c6709346c747b11fffa511078d08d6416a445c5e974b716cd4dd5647f0281c54a83c97376143724a38e4c56d5f3ab75749f74a336f205655f2c23446d24caa0c985dc811a0c1d54b6fc72433d6ce21448ff8065aca004c03e00f871e4d330c0ed765421d5b2f991357b91d1800ec141aab1e27087e87785ab8785530cca4b32a335a04011f7eed410edcaa31af493c5c1ece84415294294a00f9ab47d8e991213eff3351f23b2f1627c98f429c72840b6806cf296370ee26adf49a4620aa6d11dc68de02a1093c0169446e350b08643ce39c47605be8f4509f9a315e1fd90a1f959f9e507de1c33046db3617ca461d2d8959197008a3be731f9c3b284e581b1feeac376579b2a1376f0cbc1955775d3430f8db1404eb910928de770270e7467789b7be555d8d9d73be93ca66cf954370320d125987955f2910ff5874fe09f94484dfd44f7920c872aa234763252a5a28b88132664114151f8ceacc14353cbb55899da012bf597261abf1525c8592252e117e1462df80ce32bb85663e7d06956675aeaa0d45957062b45f445f34fd1d2ae7fe32115bd9a7484832d562e036926e8f1a14719258a74de4ba6002fde9063a7710ff170efa5e7118e4b4323e245d3e6a606839ca031b0874058d1f0c58ad0f6616b911659a1c3c2f026d50bbc2da77fd1edb75c3b4784c195e2f4ccbdd7123e0a40b3974ac112b6763c627491708352b06ab314ab0be6e41f3a1053d5ea164337238487332e435d83fcb46bd454556dbe4cb0c375c8826ddf70a411694af60b1c5712366e20a540c4987034d9d7d57f90c9f504e50bd06dbe5a65abb6cdf19fcb7c02f1e6cb7707e65cb0d31d1af52e47a3f0baf8ab925534c1228feb5c66784b8b6631e9e5136a474975ecfdb130a69e3b946010d1d17990e3703853f940438d31d16c8bd740de870874480a847041c57d36c35ff502c4f86470fbc731701da905335e3e90705d6137f6c6e330f203d3896379942b31139df7e5cb11d6e19d5d3d93e53198b1275e497380307233ff807240e2cae963a9e96ca49baff707691236c310a75b302634d2158c9fc48102b008c6788b87c652f651e554f8b520553feae4eb62049187a7edb2ea9d46872018fcb181ab6011dda9b343abacdd12df43aab2a9dad585fb272ce106fec363ff020465328346c6d56df84265cf9e73505c509207932fe56db35340889e36e5c87f0202bb32e2d3453f2243fa18ebe61d2745629d32d2f543aafc55178c17664e42c5465d8f7ec701a4628457ed33a6ec9ef500f9345084585f3765d69b7c16c031ea6217bb8ab23945cec6da7fb6f6098eea50aedff06292f9e430912fbc1634595876ad48a856dc837742a21b85d13eb7f3b66d548cd36800ecc5aecf08e60ecc02941a1aaed2548d1ee5f56c6a928eff96e6d26fcd2015d836e536fec7020df6e840e25f6cd2b0b799b46f4b4b614fbdc40126d7a623f01307f1e2c97c239976ee0015362d605399f771b13a3e946bd3abe519b50b45d78acad182435d43b06294843fe19246bb105a20da5e7dc371029fc2a9e2dcc69a4a82f362285ba2962e4260a5bb88755689c1533f309362695f4051e3eda9437d6d01612aa875e499fddd57177d9c13492a939515c64ad5b3f62ca4e4be14a3d7d68da629845194d5a4614167fa0ed77b39118392b59cd6681190b16d9d9f53231d5225d66464f28b69c324305317276e8b9411f79828d4e5c3be0260046776e19f1a20d00000000113f38511cf5c63099673801b58b6f58f7113219db38300701d4c468f9ac024a351fcb6056fe65771257a767ab5a2626e980fe1d2ae4b41e46441a09b598c04178f7c45182a0de40e5c72f63d0b40976dde91e640e98941d8cb9491a7781ee40ab968c2f4957bf39ac359870226f956fc508ba5fdb6acd40f4ee392078bfdb34186f8b261c7fd16087918220b8b82525393867724765324fbfb22108ac4e130b1c130920cf32cc2f6a468762dc9c5a1eac8872544cee7a24dec60b7511e95a0d57ee5a631eb5ec296da1d80470ebd01cb427be4075819f2578103d51bcc29f351cc7566c6fcaae0993976c138f9a3465f805694310f72c20a87b884f71aab816b59b3815ac852a6173cc49771d8b37271921d66f3badae61e7558e5aa2ebfb62a15e814078004a3dac87820a6ad3740d7482f32c134d8a37b80d702fdad8630bb43b76515beeeb0890da69436cd780748aa1b52d23287267903d0a0f3505f475c2f5fd19fd0f854454fade6aee609c0167ceb302654e974932a7e71609846e68679eda36f203da6cbdaa0440d8ca3e645d41714d9f0e576418839124e30d28384c4c2321c6af8b16626a7877f3512b08b68f3c055f1d6c1dbc3f51761e021a24c7663d77aed94628e42e972acdc4d240b3eae63d2238686ff4dc65312b8ca61f0553470abb5ade4faa1d1e5d2f4aac5563b89d66008ef95cd2923a691d1e731cb4babc1ed15dc86d93fd49427f474821575a875c2d4ec93bd984b80d77354a6e03140f2601e21a4b95bcd522b37ca5099c2dd3766ecb5e714ee34c316a62c81bb4bdc37633f8c3631350d05ee9e0245bf24cb41e7ea0d1386dee6c1fa6cc413a2a56c80894562a6da91f1b2d5369b6519d780a4e50ebbb1d0b8c8b6630571446bbe3c25f435532342fcfb1158f9c0c26fe33434dbd7763290c857f1d3da6001247f0612554c9336d6bb8ac4b3d8d66070df85f75be4b644b5b627218ed6fd7515845fe40a3b4fe13982fcd245f8d5143f5acc646c7230b109748c61ee0fde07089163442924a834152c8d22fddbbd25309df2e11e18de363af3f7d30c78e3508fc63c708988e506465dcb05970aed158e4743b3b0a861936d7f6b9779670c624a5adec2e5b89c4025880d8557627c31c7c8d716adccd9376b5d48916ba958f6ef0c27407bfcf5e3e0b8c7c2a26a2c750a8ca1d6b2a84872c4d7ff75e97f0c96d237029189e78af139aa82749d0898c6dd9169841dbb82d3579fbed70a731c1448113a46a3e2ee4318212c0515b993d72964f570935d1c554f289bc65d7d5903828707070b51de63e6a57246c91547c4c291b221c4c4854473bcb396c7a5d295dc69d443bfb1e41173096324ce2e64f0f51b37443eb34c12b9a988553370c9c109687400d1622f415a0919f13499f3f2d134ea239b709834e55420634ab733a0821a06d131ca9144f353065564d483314127cbd08ccc65b04e6d6d94f28bdaf68354e5d3f34dd62495774a03966baa13ab727166cef2f971e24502b1baca2fa4149bee40f15eaeb1fb312cd6b91953837dbb5e3779f39844d2057e06b311fd9749c599d49135ad43e574940019de387289ac6a709d48d702b97bc0a1e0b1b324005971d281c967e51a7aa76716b1ed7286684763af16317275debb43a9b5ff455e83260267cd164331879e24d60161919e009e9508d23b81f83b388711154ff2ef3af1b4629c2f20e0f52494f9ada084e5a814d6837ec5552164d7d5ba8c5b246e173125f5ff1da040063e659168744255227253be368ed63e8052767183f290f8e05743d8c861f28a40b372852ca2c118207d91f17ecc103957a753cb55fc350c326950a110fbb1e137f2513eb591e2108070c67e040fc50376b186eaa707732331abe56da1f26117dfb050fc2457d07c2f0ee0ae690502954398329fffa79300851f0695965ca442cd0b12305b4e804a507e16eb234e3674507a21e8bbd462d61eacf65c542353ff2f063688f41cd2956ce6c33e3ae9d161b973e5d05cfaf61a0824268060f884617182b280da75b73573b3a34bc4f9e633f0d3a183e9aab0f06e48961ca73b87370fe1400029a97556bb9f84b444cf7338e3c63233b754715778cfd04f7af140e6641d036876be7259da0d23852a16c46f3ea8e0145685e5aa95ca4410ddbb84815ea9a55c66b70340395cf24845ddb0115c2c72ecd284b5760187704e61ab930d8ae1252e859a819036b8e48821ca42ff479a77210713c5063746e14b2d5796660479a0689efc93395de3255ac205243f6b8701736f3843c1826d66dca2cc53a1a32851c90b5856d4115bd76a379562484892136afe46340b5c6c52fd7921a6e7a380d6bec05e13a5ebf1514c0d8bd17a31f223203b600384ec31c01f3dbe6168784054cebfb5602564c634bbf5e667536b3e941be34c7587b55ff189b664e4be1247268e45afe54ddcb7235c22525086ea9c74cc9a2b42a58dbcd3d23ca7d0fa93ff82cda3fce20f2784247fbe9bf66390c1628a701be3dbb10d03c8aea3d536053b775c622721010aac651bbf6316bd123431082ead2694d1c8424d9169228e8988864f090121a1f9b0d4ac4a34c3960b3c32b6cccd941c8da27725a5c845fd255ff055a2e9a1f7caa1157b3af1271d94ec0155009a51b3583dc38357bd2751e8b2f5915c99e602ad49b6e76c2ea4e397a3c74b991735e00c8296f3f30743d79b1163532f429677ee2fd42a6d2051d3e31130de6e97850a43e6e290a3aab59143b64586dafef0234ec53727ee93d5e47203d627b1bda4000df9e62d700d8074777353882166f58f16e6e6a14ad25420bb5d809e399f9665f080e19be1b1c2ed4cef22bde6a490bf4b62528c74e624d3dc0ea17d1a30b1f21ab1d1ec996c269a4a8db469b237d142f9fc71b420c192b3dfdf50ef5bea52a04e2be64c580c71d4a36a7364e9fb45433fffb6f1fd74f736033546d2800a7367ef60c6b4984ab13ce3d5603dea5343b2e20a96443d9af67782dcc6048485b3e81288641e706d7192f11a65dd546aa626dd18a4ba3fe9e5365cf3041b9c08d14da0fdd22a85a921b9c0ea76653454e036ed5920071d20352a3de51130028360f1a43fa123c5bff61fad67735a1ae4b0f4ecae913b627706ebd47de3a4169d1762738a5303c164f2f9e077a48a12da42384607818ee54e44d323e95774ff1b813a044c851d2ed171fb7f1ae02b6a7972e73192e1121a8cb5f457e2526d0776877ce0de24290ee4d01e28b1161bf1bde3c4fcc8406da9e7322e362700603f3ad46eee75e754184c15214c6d4098168f2415d3ce11619a64e311af1ac55ae57426752917f7173a92a15314fa15bf7c7f8298a0a1866658c0c23e4edef6e4580314c9e2a170faa093856996b6e74b928091f066bf12e9f552361c9b04e61dccbdf228fbff9685754ed76b5fbfb0a9852ac1b05732457252ba17367548463d6f1a462ec88014e94e5ea3c1ecee6271206e02164a6e62e83dd8b1a7d5cee25d370d42c0df40e768cd4ef41b97db03866252d3382442b66d96f424454f3eb0f7a339e4ad489ab70bbe275512a9e2449d081255517bc4f67aa131645cc71b54b962d973f43a9ea27b7d2ae2f00ec5f04ddfebb6bbe0e6236ee399a6edea6b8047774fc1ccd5b975a5025b245575c551a0b8bb61f2b7d8f4dbd37c670940a9874b82a4b33d43c5b13b39d462ac6411d5ce0ad18607303263a6fb891286faba336ad95836d0b1136547f98191f66d6b33577bdea2ae6ef50384ab5f76ba45a9a3e6f45194db6b88c668c7a5e2074ed395091fc5d42e616d23177852b13f0a03930b9c394242406fc0a3f348f070308a13a0b6a313715931f73ec0261115c0a83692351db26a31ca619163467422bbd546431d6bc3784c7e8505009b3492950e954f794d43c418334470ba9e95bb8de956da5059944e1842f0d07def212f98e372718e57e52f4da4942faab5400418b38271f169501e42f7e74bcc9f919bfc92521f1f48501f000de7641ed46090bacb934eb659174cc153450f7606d1edb19540e133e985aa8211c44f62e8a6e6d975635dac5f74d4857b81ec8280421d106254cd710645e63799c4e0cd4011979649b29b85ead20a3ea2216212be20885139f534e115e6ab415665d0b41e2549d9f1e3779b5cf57b8842e5dffeff617d248e6753dcadc004cd00231e835ad4f8b9fe85c62757b205cd75249ebf8df0f1311381bc5060b406cdea0116735f55cb70fb324892f0d16f1a62a5f08db583865b3d35aa6fe823d84d5e224238ead15cd05e81d10f134017833b61224676169dd49b84a23fda36fa4c3d50f9707175d6871eb3f258d336af56e72433c46395a6142a65dad38d9597a13072fa269b42743a5e858669140315cefa061f68dfa55f357ae6f7d0f2d6c11c2806f5fc8666ec6f4cb3167140f094456280ff2986e6b86b11450ddd93b6c525e85333abd090559c7926b10aeb931e4660215ab8c901c8cb8944acbcfd235a2bd754248b992444020a76fadd4d503858fad7637c57846aff7ee2249956b74fa72592eda1b7c4d4bad8712fb317b71ba8a121bbcb74b6db0115d44ba70fa3af615ad1a9c05e70482d292705d273f0ac476c60bc776a229e690206d3c40b0255b219c5d213c9529136fe6511adc0663ac088a0fc1e9cc4a15dc5072e4f85c223ce4d5127688910daac7a325674c1d402dc60d09d4fac05f104af03b4f52724c6c51ea5c31e3fd590b95095ff4fdc32757d36545caaa01067d606a03d66c8e47a0eec55b066ba90180f68574ac51a70652d70b42f909ae15b8206837e6932516a5c08c55f6007e6ff1d4e159cb7a0d387dd54a39fb408a6e89865a25e52d554bac4f0f6a3bbcbb67df3f296cb3161f2dbad2de4fd75c275db5008209b72b2236c200e50f9d63cb39f811712f8caec41dcc42623e9b5e1421d8caf73a1ca3ca03030719064ba61b3125bdd326fc57f74e799ef860bdea6f3227381e16e382e90a8b3fa0b2395e19834e5dd618622d6e1f4ac9cb307e13aaeee70d547e09000000706f736569646f6e32ece5e9b8ae2cd6ea6b1827b464ff0348f9a7f4decd269c0087fdfd75098da0130500000008000000411fa636f2d364648f035174d3778d6340d9ae1dd648fc35657c173f01e27e5fe406290c4f76f82b9b35c02d6590dd3d8075e72b207f24420df87b56ab78df0c5a3e7b624bdbeb31b396fb3c0563c2105ff4f545991b600ca40b1e76ee7f36079b98b73af20fba33f5ae2204d2fecb16bf1b3618572b652103ac9c722ef47e5b977f9e2868d664458077ac35fa9050290c7db016c2750620c362da3c275cab67f765ab6e0cf5dc55c11d65688af0fe1428afc359c08b1656bbc4ba6b54c9746cc6b87a237165c549ef7ac614d762ec1ce4b97441c9bfef6fd8ac90378170d8162be97040fd0b390959c33114712a436382b2cd419665ee2fe801c158a9bbb155 \ No newline at end of file