From 82e9c8344f668f427186d0946799a93991a25dd6 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Tue, 11 Sep 2018 15:17:07 +0200 Subject: [PATCH] Remove PoC-1 back-compat hacks (#709) * Remove PoC-1 back-compat hacks * Fix lingering Keccak references * More keccak exorcism * Fix test * Final fixes --- Cargo.lock | 3 +- demo/api/src/lib.rs | 14 ++--- demo/executor/src/lib.rs | 24 ++++---- demo/runtime/wasm/Cargo.lock | 1 - .../release/demo_runtime.compact.wasm | Bin 697253 -> 696725 bytes .../release/demo_runtime.wasm | Bin 697337 -> 696823 bytes demo/service/src/lib.rs | 6 +- substrate/client/db/src/lib.rs | 20 +++---- substrate/client/db/src/light.rs | 4 +- substrate/client/src/block_builder.rs | 8 +-- substrate/client/src/call_executor.rs | 12 ++-- substrate/client/src/cht.rs | 8 +-- substrate/client/src/client.rs | 34 +++++------ substrate/client/src/genesis.rs | 8 +-- substrate/client/src/light/fetcher.rs | 8 +-- substrate/client/src/light/mod.rs | 4 +- substrate/executor/Cargo.toml | 1 - substrate/executor/src/lib.rs | 5 +- substrate/executor/src/native_executor.rs | 18 +++--- substrate/executor/src/wasm_executor.rs | 54 +++++------------ substrate/executor/wasm/src/lib.rs | 2 +- .../release/runtime_test.compact.wasm | Bin 48110 -> 48108 bytes .../release/runtime_test.wasm | Bin 48320 -> 48318 bytes substrate/keystore/Cargo.toml | 1 + substrate/keystore/src/lib.rs | 9 +-- substrate/network/src/chain.rs | 6 +- substrate/network/src/test/mod.rs | 4 +- substrate/primitives/Cargo.toml | 3 - substrate/primitives/src/hasher.rs | 55 ++++-------------- substrate/primitives/src/lib.rs | 5 +- substrate/primitives/src/rlp_codec.rs | 24 +++----- substrate/rpc/src/author/mod.rs | 6 +- substrate/rpc/src/chain/mod.rs | 10 ++-- substrate/rpc/src/chain/tests.rs | 8 +-- substrate/rpc/src/state/mod.rs | 10 ++-- substrate/runtime-io/with_std.rs | 12 ++-- substrate/runtime-io/without_std.rs | 10 ++-- substrate/runtime-sandbox/without_std.rs | 5 +- substrate/runtime-support/src/storage/mod.rs | 18 +----- .../runtime/balances/src/genesis_config.rs | 4 +- substrate/runtime/balances/src/mock.rs | 4 +- substrate/runtime/consensus/src/lib.rs | 4 +- .../runtime/contract/src/genesis_config.rs | 4 +- substrate/runtime/contract/src/tests.rs | 4 +- substrate/runtime/council/src/lib.rs | 4 +- substrate/runtime/council/src/seats.rs | 2 +- substrate/runtime/democracy/src/lib.rs | 4 +- substrate/runtime/example/src/lib.rs | 4 +- substrate/runtime/executive/src/lib.rs | 15 ++--- substrate/runtime/primitives/src/traits.rs | 8 +-- substrate/runtime/session/src/lib.rs | 4 +- .../runtime/staking/src/genesis_config.rs | 4 +- substrate/runtime/staking/src/mock.rs | 4 +- substrate/runtime/system/src/lib.rs | 6 +- substrate/runtime/treasury/src/lib.rs | 4 +- substrate/service/src/components.rs | 10 ++-- substrate/state-machine/src/lib.rs | 17 +++--- .../state-machine/src/proving_backend.rs | 10 ++-- substrate/state-machine/src/testing.rs | 9 +-- substrate/state-machine/src/trie_backend.rs | 10 ++-- .../test-client/src/block_builder_ext.rs | 4 +- substrate/test-client/src/lib.rs | 4 +- substrate/test-runtime/src/system.rs | 31 ++++------ substrate/test-runtime/wasm/Cargo.lock | 1 - .../substrate_test_runtime.compact.wasm | Bin 52817 -> 52573 bytes .../release/substrate_test_runtime.wasm | Bin 52949 -> 52705 bytes 66 files changed, 241 insertions(+), 354 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6b6ab1bb6d980..14ab7f229bb92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2574,7 +2574,6 @@ dependencies = [ "substrate-runtime-version 0.1.0", "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "triehash 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2619,6 +2618,7 @@ dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", + "substrate-primitives 0.1.0", "subtle 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2710,7 +2710,6 @@ dependencies = [ "substrate-codec-derive 0.1.0", "substrate-runtime-std 0.1.0", "substrate-serializer 0.1.0", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/demo/api/src/lib.rs b/demo/api/src/lib.rs index fbcba1cf9acee..f83a6d228d3c9 100644 --- a/demo/api/src/lib.rs +++ b/demo/api/src/lib.rs @@ -33,7 +33,7 @@ use primitives::{ AccountId, Block, BlockId, Hash, Index, InherentData, SessionKey, Timestamp, UncheckedExtrinsic, }; -use substrate_primitives::{KeccakHasher, RlpCodec}; +use substrate_primitives::{Blake2Hasher, RlpCodec}; /// Build new blocks. pub trait BlockBuilder { @@ -81,10 +81,10 @@ pub trait Api { fn inherent_extrinsics(&self, at: &BlockId, inherent_data: InherentData) -> Result>; } -impl BlockBuilder for ClientBlockBuilder +impl BlockBuilder for ClientBlockBuilder where - B: Backend, - E: CallExecutor+ Clone, + B: Backend, + E: CallExecutor+ Clone, { fn push_extrinsic(&mut self, extrinsic: UncheckedExtrinsic) -> Result<()> { self.push(extrinsic).map_err(Into::into) @@ -98,10 +98,10 @@ where impl Api for Client where - B: Backend, - E: CallExecutor + Clone, + B: Backend, + E: CallExecutor + Clone, { - type BlockBuilder = ClientBlockBuilder; + type BlockBuilder = ClientBlockBuilder; fn session_keys(&self, at: &BlockId) -> Result> { Ok(self.authorities_at(at)?) diff --git a/demo/executor/src/lib.rs b/demo/executor/src/lib.rs index 19f0764f4bdf1..83f64f35169fd 100644 --- a/demo/executor/src/lib.rs +++ b/demo/executor/src/lib.rs @@ -51,7 +51,7 @@ mod tests { use keyring::Keyring; use runtime_support::{Hashable, StorageValue, StorageMap}; use state_machine::{CodeExecutor, TestExternalities}; - use primitives::{twox_128, KeccakHasher}; + use primitives::{twox_128, Blake2Hasher}; use demo_primitives::{Hash, BlockNumber, AccountId}; use runtime_primitives::traits::Header as HeaderT; use runtime_primitives::{ApplyOutcome, ApplyError, ApplyResult}; @@ -117,7 +117,7 @@ mod tests { #[test] fn panic_execution_with_foreign_code_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], @@ -137,7 +137,7 @@ mod tests { #[test] fn bad_extrinsic_with_native_equivalent_code_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], @@ -157,7 +157,7 @@ mod tests { #[test] fn successful_execution_with_native_equivalent_code_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -181,7 +181,7 @@ mod tests { #[test] fn successful_execution_with_foreign_code_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], @@ -203,7 +203,7 @@ mod tests { }); } - fn new_test_ext() -> TestExternalities { + fn new_test_ext() -> TestExternalities { use keyring::Keyring::*; let three = [3u8; 32].into(); GenesisConfig { @@ -244,7 +244,7 @@ mod tests { use triehash::ordered_trie_root; let extrinsics = extrinsics.into_iter().map(sign).collect::>(); - let extrinsics_root = ordered_trie_root::(extrinsics.iter().map(Encode::encode)).0.into(); + let extrinsics_root = ordered_trie_root::(extrinsics.iter().map(Encode::encode)).0.into(); let header = Header { parent_hash, @@ -262,7 +262,7 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("efdd1840ae46b687fc59fc730892d412a0fb051ef120f9e6dfcf1c416d0fc2cb").into(), + hex!("c2fcc528c92b3c958b0e0914f26e05f151903ed43c87f29b20f9c8f0450d7484").into(), vec![ CheckedExtrinsic { signed: None, @@ -282,7 +282,7 @@ mod tests { construct_block( 2, block1().1, - hex!("e360ad4a43929e521fd41cdabf8d772eb39f9cbf71fe95bada685e24bd3bbbbb").into(), + hex!("62e5879f10338fa6136161c60ae0ffc35936f7b8c3fdb38095ddd0e044309762").into(), vec![ CheckedExtrinsic { signed: None, @@ -307,7 +307,7 @@ mod tests { construct_block( 1, [69u8; 32].into(), - hex!("989ebec4920fe4a99edcd3766eee35a31de92dff20427920ae68d15471afba9a").into(), + hex!("789b19bc7beaa83ae70412f65ad0ac02435fd79e0226ba3394865a052e56fbd8").into(), vec![ CheckedExtrinsic { signed: None, @@ -478,7 +478,7 @@ mod tests { #[test] fn panic_execution_gives_error() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![69u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![70u8; 8], @@ -499,7 +499,7 @@ mod tests { #[test] fn successful_execution_gives_ok() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ twox_128(&>::key_for(alice())).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0], twox_128(>::key()).to_vec() => vec![0u8; 8], diff --git a/demo/runtime/wasm/Cargo.lock b/demo/runtime/wasm/Cargo.lock index ec034f0999f74..89017d1a91d4d 100644 --- a/demo/runtime/wasm/Cargo.lock +++ b/demo/runtime/wasm/Cargo.lock @@ -609,7 +609,6 @@ dependencies = [ "substrate-codec 0.1.0", "substrate-codec-derive 0.1.0", "substrate-runtime-std 0.1.0", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm index 4d61fd65ab6b37a91119de1c717f5fb858d20ceb..0561462684fe86045a8c2dc760a34ed0c52b8321 100644 GIT binary patch delta 186967 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

Cp3G( zZM%#d?%M#2K3+l8@sUK$vTw!cJkH)#faB$UPd36g)}HofE+Mn_9?rd!6S4$IALB0O zU05;`_VM>U&Thy&=Sa+pVcZ*}7bnHJKb4eq*&{ zfKyhu=kZNOuFC7rW!7Z287K;EPa=)*3Bdxgl5go^33ga&aQWp$xE0Y9Z2{YY_c`LN zDb5`}0U|=S3u{JW1&52NzO2Vn5TJf1WZooP>4WY}P^XZ5FLNj5LKu9%*ar?DLK2m4 zL3vzrPJ`J6`2Z3_Kd{4$o9r|vUid?-1-uG&W=dT<&>39d7&Nm8L=5?b^ip>>>?O;k zmn@G!isjNv&6mRWDJZ0uy1OGy@OP3S%cYYnFO>H3WAt)8B?M4lE7I=Ym;j0B3_P*! z&}8fa6W%EzGZ0X-6~ z>!F8j1IJ^JZ^T-`R!jBG0j^ssw5J^uKaR`i#C�JGT&35%ak+$^5qv)t^&T)RY3-vZx$W#LY$gDy z;fZ+1kB9v%Zu~Hu=!sRL(w7)7-KTpP2aEE33T|Aln}Y`v*?du%uZnmBZYwLgB|*sI z^Z=<4(FOKe?uJm%Vkba2IwvK%6VN5-1Lz`-htMrZgB|cZ%ATBE0x!CYSx7?!M8PZT zOX31&Olh|{^;<1ATHsC~-DA+gm(D92($k9R#Sqzkjx-vdVxCe8L4OfNta;!Q^nMLp zfUhcCMu}nX#f|~zW`lqg{VDzj$=v9xzeR4vo`;N8)4!<0+IueAu%>;0N^+40I`Vp3 zoiW(yKX$$CS$d6~iV7JMNfL~&s0y(F94|ON5^ty{20PUS()_v@SU&JM=3ODojPGg| zEllp(uuyYKDg5`aPzxXyx-cewL?lGGo929o6_1TKf6Ovrt9r~BO!fs(0k*IgvjjC)D3x)xpz`(M62^tvyXbL)oE(#<5t~}$CmXO8RX%xCTr!T0u)<0HB+sUL!I5t zKAn3Gg&twPqrBanQGF}19@NvGu2k!GcOHgudFU{>ovv3W4RbE3?S8@vmSSUz)R5s$ z>z*)#FQ@RvFVY=*E?sMRhn_X8aMQDvz!M(53+≫E0uu;Z7lyamzUp^f;r2j&SZZ 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 delta 190727 zcmeFad7Kr+)i-{ty6-mk-kD~0W?1@O5C#;%jX_kL9$DSDn3!nPxWo)@C>oyxxww-@ zjp%3^4Js-MMo|#VMKp1Y8zL%3O>oDkktgwuXw37NCnouQzo)wIHemGmJ@5OM@R{4y zwVpb4>YP)js!m`3*yuZ+8ol7WYc3oU*ZH}Tndcw(y)(``bLPp%opt7kyY~J-pVa%YYVCbf zUp6R`Ed7f{qse46&L8|!$=-R^uK8Hp(c!-&(xL<6$!IdJbgfn2kZd%i6-y?Qu^JVR z)-^>n9`dhQqLCO)Dhn~l(~^uQRc$<(tclmfn_A=18sv>9<4tjeYT0t!uCtQKfyt;H zZHn$>YEH&tNNa0rZ;L0Jn%ZpqLvo!RXNdn$H2^-=9+F)2(XS$@e8gMSdx`yw@_P@B zHs=@Wy7Nvr?RzJkF#F82k2~?qbI+I^xk1+yqt1!ksFSn5clyca%s%1tvm!s$sk4E$ zGfzM6oRd#JDY8gsPB>8t9e2i=XPkI)q0Jol{QPB`hLvrj(foXE{OIZ;JC zl^Q$skor_Gt0pQkQV7paTYB{}u=e^+Om{-~OL(sxcg_fP82>I3zmdS3Oa zzo<{t237Ok(p5FF6ThBc6t%3pnw!oKi+FvJnK?Z?;%YB4Uc0X9(2<9Qf|aekJmOHG2q6H0I{xO zNQ2^fhDYjB&JYY?tr^N1e& zxHQ_B&)ES*+95@v6Skp9yB|f8Hc6CDF1oxsJvSE5|ZL88hV)hUm~G ztiABNaxisAn@%DH zQKNKYHU>CqNejdtGK?u^u)+)~TWgXzgfY$`?PkVnOk%foyms(lS!ZXK6slv%ytcD3 zpe$vmmo%ab_0|~b1(NFo$x*j1px!9+ht%s#$;4g9je~kIrbX(F3-!iB>cv3BQpjYp zZU9BfwFzY&!5Wff4Td4zleG;1KzS8)#*5UMGSuk`aiULPhZw|&JVVIh*_1^}NTC(< zmcXX)bb!DVo8h3(?#bDi4om^$OEU*xHoU5g>V-0vYGwC6dS64Hh}#a&O@9fVo8AV` z<*1~=sEb4_{6T?;LCs*bpcRz|g9b)Dl?5vxndYKylrTlXYC{oVdW@k^ZWK%q;0hDO z(^Utw=b`~+D%Uy)eYV|bPtHPNB16v&$uTMGn~D5-HQ9wxZWSG z{APZ^mPaGr5NBE><=Y~zlH>+X88=8&aDx)4h8rZl1m?(`s-)FmjI;Sq6ef(c8WKn= zy$xvvf-jd=sgkrZY(RrRD4gPk6C^P6LOBJdNy0Kjmv$2_XMZkTjeAprn+E#RZraOJ z1gF9B@W)9Ni~w`FX^1vAPEni@A)F4x5Qrh024N~UMX6FlS<0*#m-8~UyjxdD6%;O$ zDj85sEu{*i2udUm1<%TeSb>ZM)WCWMl+7lbkS1S;%y;7)%^JhkV+bP!+JSOwihR8$7`qybi75t-F(y)%t>IYZ-6RJK|D+5J-Z3<(Y?M5cxd=NmVP4iujG$Vw$)IjC zCTX1_Gl;T3_)DfK&68$~q8y`o8Kb0;-7<0QRa=)SonH`(8pSe@-T#l3%e;tbOjjzG z-5qlS1qu4)(rvQ93T-n{n!g}>NX4SInJ8(S5aFD^82AJR3JNjQ&!h=K{mh3-C#G&T z15&8vqz-gT@>L8AX`wEh*@2WtJqfoC)4I;B6RujvcaNhSs+Mfbt)tQ?v)aL|MwVb! zLs`sX)VuSdT-F$!Hc)tj=C|K6bkvHL@h(cO6VPN`nNkaNgi5Uwv}=^wB(*`R1zujX z+M43KXthP1w@j(cxV1*9g}x$K5v8_P#;iV2YU?>>0s9eEhC-`>6R!d62Wm0?L-IhW zRl1WpP50>~8AThVAG1)7g&wDJN`0Oeac6zH{SucIfM1|tG3YE1{NE=iYycYPi-C z0T(5Y+luv=H9XS$@v3j-G5t{2_YJDvUuHyR}4rpNJ&tEA!~*NA7vfiX&q|v;CBOZ+9;EUUVS7q zD2oyW;X`xaASmTb0N1Gz<%g<`jS3=ZE*os(mAUa86_J&MO}$d0oKh5UEK!M46c!Rx zEzr@PTpU9{H7!rR6E$c~h|1tXU85$w)hr>rn8C|(TSxQuTwrgr!JhB|a^QKd{VD>I zjeyhUDGe>IK1jBWLd`XKT~{MxPvSL#$n==LSC?UO%yX=lB8~jR|4+lO_b(NHAo%DFgIoGm35mIF?eaJz>aU=;)v-6Db5u6`BO+3BpNZ z=swYocSB%!C$8~ssEgkX(jXv*@?ESqrf5NN!Jzsnn3;X-$IHAc}(7|KSf(PAOY4THvrY_%a7 zq$GYf=pN@ikZXtDYI~`v(Eq^}G$$i#UaXz=Hn14>37X3|=G&l+%z`c?qKiL7|G1vK z2W6qCz=-{anh0ti6B(D&o;8CkiPby5SKwnH3aELUybI!HiDg>Bilaks)LG7=aRdb= zJo{{K5uw3rM~@f700arKo-q-?2Ap&;1?xTzwiM|Z8;R_tWVAaX8})eI0o0(A5jVnh zM*_x$G>zv}tX_D^MssUly8+=NU!RQM8(t^C>tFAHovm2G(dlpZ?(#-E5(d4& zEHpbF ze!De9%Tvl;Qtr_5l!})x56@0t7;b>j>u=_id13Rx_;ug@I)2Z8`w;xDdwW;>{_XAQ zdUB-qkau>#%go;~(^~mWzB2*g?su5!+;%)BDk;fxUaaTR}4_9h2z! z?{2_2CBjj8`*w`q4jA=#zZlq+43WNjGx7{U9;}*7%$1DU2{B?WAtC>o_0%B-d@dmE zFh++lD;U$@c=c3LO{O(LMXTO>@84{-y7#z0?4VTdrGMBa72Iz){l*BNFPa1fClmwOXlZ{-yP5Up$_uSBI$8ep7=Qsmuux4QR{LWlp&A!=U~E&Ozd z+GCGm9e+GR4NE3oeIAfnj^{TYtA-~0=geDSpJUb6>Vc`Bo~hcFEA$;#8K*eN# z_ND4hHM!7!nHr#!?f0E+6ZU+)y{rHI%hk8p&~GnSf3|~$CZP|htJL6u)_6UfFoJ7P zrfDJ~jmLGqca=J_D%bprx0P#T;m=p8S1i{2+%@XI{GMJ_3lLtqR=KSHK&bJ{q~JJ& z5V1QRi~UTmI<^gO)biIsTWy5&HE-|Y&Gs+pRj#rMcl4@N*t{_*A4tkc*GtN!*Q<+T z7=z>@b-HH%&c9jhswR-e*Ifc0sJ!(NVMm+H+dM6ATY@)R-aa*NozCRKl~<@q#j#wv z*R3j5|EW^(z)qyFrKOx7_|PM^j9-BLyS$#8%v)R|Y{VKtlA&*aP;=TScZ!d3-jkm} zMQj2zj|pS{Iy@vpuKON{E(graeHobG~-rl6pq3@{<<0~*C?p3^YT;SURW z7!9b4Fpp~)Tcc&PG^kYLjCm0j3$ycJapwUw90(OnQ>oHe(_l^!whg7G zJJE?TQC!|pIrb7+n8UfJ1KYR;hZ6IQHp|d51;+pjbA~n{*fGQ+X?2BLWYQa~C29 z&?*d)!8$}@Fif>>K3qA0o<>>YIxV1Fpg|h~Z5dEdGy#;DNySQfkmLs#g<3} zRt}m_LO@VoHU<-0DrmI^yK!b6gl&!>l$UlLPzf58y*Knax>PI~#yF6gfdPZ*b}9X%+mYPIYX5-Zod;Nt6%s}-l-?`OFL+(-d9~(xN51sFNxGKRomN24D2py$`aJ$jsF6{!c%<^U~0afd`utF7z$C~ zdkq$)3E0QI!dZ{$c7+^QKCX9YDa$b*Bk~5@i6PUv$Mq0}!F~S;y;S|kzxqkts(w^h z_N0DQt2+PUr}gCKcbHdrF*;m>CQyOn_-{O|k3hj)*6SP975;|xD0rp+-g>=ca4i_f z0C&KYOl>+tZhK+PUJ=YBN8>I?t%s*WplmH*Gz^w(;BjMX#ESkBe{w_n#Q)dJsnLm!~7@sD{! zPZ?jVBa-sA7w(&9ltIrmMlk1E|F>`GE79IbZ|dQy*Zo%C0{qyK?s?|WCDf=BavU>EiNk?-N{djFyK^rHWZjbDhCCcUp8*fxIr z#1?%g@Oj@BJtX_Dd-SI*`Z(10_F$_8v;Ls0)q!bx^?&F`qH3*w$cI4n8vl$BF?rYe zKm8E1b;rVQKGaXgk$3TbArU42rgue=kN-=5OZAIg{8#<&3PpGPoBm04qTl!#h`LnI zV5`Yr^qC$6uJhn$`b70XVesGe*>(xIz5&)SByLdF`ijUl|CSxC6jEN+)<>xDDa*cmuT)OKVoA8KsVPwK7P zDjR57|DCYa#*=ObAZxtK?cJZyoxWY|`JDv05?cPc&OQtB3qgnyn+%_`-}9tG8cY3j+sQPxT)l zU|{!BQwC}NvLV)L5YMqgt*NXBgVT;YeXd0*^M71xS_w;r2>tW2)(M#3o3hp)N(J7^ z34tbtSqoVW`+;hDMp(m9&6~rmZevuE2tjZaZV`2XeYiQZv2i>}RM{5B{aPOUfk1Cogj2UA+%IWgq&ekqK zR(7nllvMQeI197rLI22ItsC@Jiwhs_Y8|gjg@cN(*~9ub;3731xDW()0pwZZt>gRU z#5@`9|8+0xPXCS0s-YU;&zxvAq2PrRt*n3bgevN+OulbV>+I4%bNcv4Ps9Y9T0rRs z+4YL?DV#sa>QQP<;hlZ0^Qwp`9H=B`#Xx`ke%2Mf*KLg`RbNK3{v+MiVWpIS!Vu{e zF5l03vJ5rB5Mwmk3wKPlepS^fAYC%u8q0JU=3lE=a%}c43g?(mQy%ySd z;rrH616L_1)Y$lg(#l;aX#-|sXSLsTzLjeZo3RN3;@x^E)~gEVpKpyy>{5}KGi9+Y zQ-nVfQu#b;7cTPU-?^Mk4vo1wjyRS#0)kIFfzoL1w}!5NDO&b+^@0nFf12Plup_)9hc?tj4 zGp)wLKmKTSC)LNk_ZRC3^>N|)zgV{qQm^=X*4tx>mXrc4DetMn?oMG-N6(dw)fH-H zEr}95f;Ix94KvKxsp$Bo17x7m6S2x;ic~GcqL?tK{ z-nbWaG&+kF7gmX-T&-g>k-K&Y9Qr_b;R;LXY?1a7Oaf+K562tP9^NxCzW&G4z-La@E@i>GK*h#he7OxJh$dRN zj&h~PNnKy+%6qk-#%161vt(FkvkjuMY(-9Q0fccbLJ(IRlug?bZESmZi4_oYCQdn?QfC^gu)L=Q)43Md&*4a>+b76^@f|lLUEF& z;38eZYhsk%yVD|-&CjDsp)-S6VpuS%xdk8zuu_xYaLSwHXoiPl-=XJZlgwjA5GN@E zl;^^o_pm@NoFx??m^qSXe@9`tM|fZ)ERH=ef4+=8m~?sMeB_+q21Kwy38yh<^TM-T z+!uA&|A?`5)PWiBkhsvcFr(CGN-OYF7*TiRNei;mZShfdGT@#F4f6jm&>oau08VAF zyE)kR7xuZD46M0=ePZvMhY1omt76zE&#xzsa%;do71<{@nl-?L4j-`09Sq#q#a>_C zOfaQ~R?TSu?qb&-bny)Y`y&3FHhZ%2{YTsE#vOcxV+INqebyZt@>FCzdT7HNpNkTAPUw3RRYOve$&vk8&&L`j?#^_S02hVmK z9&_HjD`)YjF-UZBmgf~U_7D75?olI0{paudB3W!G$mu1B7HzE99^)|prB{FCa&=gK zG8(}S1Zv==g6Wm8-=dHp2Q)2EtTzZk49x<*ph)+iPK^rKPw%n!(CI-Cn$jOgDS>V} zX{gv?7h!bG87$KXhm$mpX%B}T6#a0sgq1a+EKdp%Q-V(yW*w8nqakj1s-{${wCFgE z02X`U;PnKy-T(_ILSXAlz~28pM+m^?zZA6p`@rT6wCEm;_8%_C!Kw_WEeOPc)`M=3 zvRbkEpuKyD-j*OOf;1ov(-|8K)D$o(I71Y66q-ypDp&mu#i+_`r=NM!Vb!nz@9ZcV z4@L!SF+K+tdNT+dpWtLyaeO$g7&;lBkmFX553*n@C*fESQ9_^W`aWQU0ZFaN-BTTaK-RAr=q(IN4Y?4)Vjin*y$2;!og#<4CN@g+iHH6l=-5 zIUFleGi14U$z0wBunx#Xb(d?^+7Zi+VxJhd#Y9F*OM5A_gaJdJ*&t?*)UUyz%Ws^K ziE3!9(6Yg8BB&4Vv|2N_K?kzTbSB}_nfIZ}S{|_B>aohj+W{cGh^Hwwga|~7*V0S5 z{=gl5yh1ti&rq=z<@%@pEjsYUKdrDa&>~+C0N2}AYgN_bBv)Bqwp0DK zDgvvP6LaJ~=sbudU`2dMgfEP9F`STMoDMki1?*xp0yHbHRtCXT;kuUZtyVZ)W)-np zy3;26mdFww{~ZGDY)m9)&-{^7UXE3R_KGMM1dTln)jVBvKLFphxFo`NsF9FiAfyPegm!7xI7yVfkKP;hCSS?dE1?X>}Hjn+gRuP$U(};2n*-M<4hcacoi9iC9Ns+G&k9gPqp)Z2r#i2!4x4Y4!+QF=X zrApcQ=Dlfg1r>qk^{LZkIQduD;nw&%?5}jJU`4G0(I{)9=3enAYn=vXP~4*N)-k=w zSxf^=HqXR08URIf7sGv;=OzyWq5ubAv6i-9;Mx~ukqj(8MQ%UPS*pB$s#&?Hr$s40 zl)@o$sJTd@ye*(O&}?v&T{e5SSV2+1fMl?7<*j43JS-l8)*{&6Vs%>U2q{w`aj~>g zv$EJZSKczf{?_}C8Ubd2T_%7N>=n{aZz1x$!Txb+Z}KcG=2@&|I&l-~qc9IHAF%lR zAd|NViI@|JTA;htoE*U6XoLA|BFsp3mH|)~@e&dAH4s-}UrqJMU(r{d>J4RA*x7tp zZ%zFaU}!)~16B2!t`+O;U)^?U^FD>dxz~){VrhDw&L-G(+#UT?LAz9kW5lakGX=g_ zYfhuwX(W+=WXxhs@xb!uV2Om7ms1;+XzGWgZT5->vLc6au>&-tdlfTmi!xJ;1GyDz zsO>_rFD#d&h1Oy>1H#1GbNh6O%t9!R<-ag3Ixuf6n1}=%>q(-RUV`RLgaZ(cvNkJW z8|#oGoPd&J9dp!xnc5eS^I*m*H!?RT)9*+eMd4h;%^+_L3SRn0KpIxPh6SNRV9Mqp zFhh`vs*}*-Chc9c1%>KOvdlX}vX$N21ajK~x!3Jn=IVI@DYI4UI5<*HGtQMfOfAHX zg*(DvBHnyn-IbXO%;0?;X8CCH#7&wP9l#%4Yi_qQU(S}OQTla_Gb--2YeVSl6#nuSMvCJHYmh)G zSCnwUr2r65|~6>nDNWi8nuDLoafj@U4oCq5_5$$ zW&1Q-b+R43EE`&ko*7z$q463G2>d}4;mE?gg)0rb3X4nX0P%H=qbe{##BlDiJCcpy z%#)|Gxc4OXIwWN*`UnU$@9-I(@P~FO+W;BoXM%5F99I{4KR7x&7sE2eF|>hXH!=rg z8iiEOM)Nosa6GsxPccTik<_h@YM1en(kMhukswu}ew5X7-N-!WZfI~)9#(1;kD)lv z>Y!<8-<)?mS|nM~(g0(AW3t4B&CEku9tRG0=AYHd0WN3P3d5~it_dg zvNg8`%mtIuC@-{m6(uG?nNQv$+-d>FiSrKxBNMJflwjK4)xRgh0t`qNvRotCDtXU3 z;9!k~p$3!N2G6M!OWUe+OMW}G3ejRlP?1R2a|~$HyOCV9Jz&uD6!oJHeZHAmNPd9H zV%kDSPengL`J=3}AR|E$Hb$3PQ4~s%by0WZ@JxMrKq~Jo4y-_+fuE_i;%k}WRvugv z+KftcU!EK;K4G>F>)lRrn3Lyj!|-;4#a2r>fssw<@-ysmz0n9eMI-!%48L%` zDXrfiL$NcZQ57&<&U?O){6sOHOMQ#Rhc?mKr2Xkd6#}?FG>63ylhcC<*`s8TDgH)jD=;8=}@Yg&>}hw)BvogytkE zR7yJF=c1^J6iE$mnCwtTs2LcUzrlh)1?tyX5U`b`#Z5p{D`wp`>55}7d=&#-uFK_d zuM!J4V5S8_R)=Raly9O0JdA!ASjOu$CJfFzUf;txi2mXC9$cdnC18t{gS(R*KJdpmxMVEyHY;KP_BjIs4fsk*f5ZLo9R%y zq4tTK z)Sm$(z_w(}Z3ZG!PzT+5LfBv+bbGu@NCJaplNwvHK+A9s*n`EO{g4c7vW-(RO>UE; z(zt8XpI_^=`4qk7evX%AvfN6#5MfuOqL5sRy%h;iBvBzFWG-<-SU4-d1JpQi zN@o>@@^EMs`_&E)N5{R6)1i<@u`Qi%=aq0^OZ*|3`3%hsD*?`D>VT14^OQ_Ou;&RH zZAPVd6{2dw6>3fj0|v;04PvH8-R5i@Gkt&?EW)0nhh{B2Yat2|n7Tm6{U?#*H2-ZQYFdlOxpY~mj zO~6&wSs;8g8v1O)Vda1xBk)Fp&X_%SzL034HAy_?2Zo>22+Z<;061Jok|44OiHyQT z#w=JIa!-H+@FiD=hJ#hF32~plY~cXzP$^Q-EomITK!f2Kd8`S+uQM8KSyqBV0%jd3 ztf7v>iJ_!ikp)$pj)idZ`STW3#VJo-8+4aG!HTRlSoKAzuYzHOd{$;B)>y)4=i8Xo zMOGc`5(TpbOoL(%T`W^`C^$m8;kZ;z7TGcaFXVlJV9N;0+B}x+bbQ3o@5ZJPmaqom z;;s=qC~Xt+5O8n;12O3WFIcX^#{`PxS^`FqmeUwWO5|FNIi}PZ(BBpdeQ7E7=3jJz z=SCuKYrE7b-QijX!v{xIxbrVtVVL?g=oa>(|7Ex6=SetAaYVv?iQto!B)TU9g8|{l zXTb2J=29=D6Ld8d4$0?sBEYZ>ZkL>x#Qp`3G3^)^95Se{n*i4{4e7?;DDg$V||AY>aXQqW1O^P!j zK#%M+i}}WJ@Hf4Yr9jb-6>t>NhX-1I5t<# z$V1*lnH;)Kq$c5t))}E%0p2V6CSS<=p-3VKB7?I=5#|DC1e}(_Ja~a`DLSkS-as8; zXXvViDy8%UB?8HgM>Gu;voz9JjZw7=IS(Ai6gdw)$AEsa===ii>ryssmRq;N3xYlw z`R9H72bz*y>QK=yLcfH_BT#at`dx7L?2-V2Hl$fEVtEiGlq{yHCz>7 z`PE9ZpPM-(qc9$E>Lx(Nj7(mm;ySmL8^E|ghbt~M860gh%0AzFz-b*YO_bE^JK7Bd zda&XF0?Qczg|4W%$mQI}jUPFlmLdD5dKd*HR1Iadwhj(MIb)Cox=T?GSECVmh{k|8 zGTY=ll8j8?i8vM;B2wg+@ShBT#OibfAu^^&Ad=%Bj4cKnW?QlyF+Q4!JOyg}_D44W zi=!);?mxN)=BmLBc_RGFQT{j>-2nhf7$Q{@grPUn2_V+@kZ?p05}^wfIr8Tth$1Q+ zqw=8%NUj2?e26JjALuUhutuP2!?6n#49p_}CHPop30N36A}G|Kwh313bB8NmIbIKaDn5F81 zzN2l(i55%@ase*4IYVV>j72iYtCch+>#Jslio;T}9zg&5Us3(BFZE?re<%j^Q}US_ z4D+^C|Fl~#dj%N~Ax~IA+EUF5H+;&q3zf?AYwub}ZS3eYQgWv;_5wQ3!Ic zx%?gNx0bcP1;%l((V$X1w*W?0Zmc)B4RU|GA-t@OBt*IV!*QDioXg=$aAjR^1A&-t za9cuACvgCv#cd9voJxyHk++f)LKZd@OELoTFsur@Ghq^iVJJV#Iuar>A7HYzKLWQ< znPmT9viD${G8bOuTqk1zJa=jhD7moZpahMJCJp^5fyr{fD9i>Scw%Cv)rXihXZopz zA`A;d1k0k(WCRr~C=+*^!qV&;XTf8V>_*awn}}orj3QtRL7yQ+3A~~bAJz$37&0x?M%b9rod?g{5HwqI zHV1MhaN*j_kaGZ4ky`1jAJl!?l5)d+ZPdE)N9++Mm8G z2mk~&#}GY$L3A6y5EmE>5+G@fdJYyzH`Ss@1bS7PVm2+>{V=n{t2ZcIVVip)fr=U& z2lO9#O^xz5zNV5R%5>W@wL0)(=LOH3{V}=Nf&H9KXzuqp7&IJZ;$IKEKGUxqcGPgL z4Vy`lj`M5q1D)k7Py6wpVi5Fn>ZTeij^jS!BV(fukNT{-7n_4k!D8Pwn^=+T0XXt+ z4!NL#DmI2I8tYgHGKQzvg_Ggn9+cP$HpV08IJKCK`7b;j8$wmJ+;kjxwFcnf< zmBXnaeYi5&cCmUcDy8|M?~A~b{=IZg_@lb{867izOL^uiYrBs7P^Lh?}F`3#~?NDK51b$bhGL=O}x?=+V2EQ}6XQ*a0_ z1!*cpby8C3P!9DePwF-Nqp~)xR%DO>e)(zRkUpWb5mD@Hs+^EuVc<~6S`C*#rqC%U z1~ES#w?z*}6#k=WbDl=C^$aoAS>Qg~s+~YGQve zaAA4~T}JFBpg4?~&}=Ij#~UU{H$di0#BoP+WVW>k#itJeidKi`N5M>Za_wJ0fq7&= zC_6BV1F&cUB_r*kKnR5d2WIBg6ItS-qp$du_3YKg>A0yHfk+w09BfhvO6Br^Q z*kjhfVz9 zZiEZqqlj*8_ZPdd=KQ}yj#1$Kj<}H%B)mYel*|qR2aFU4N-@Qb1g3$oPOBq;2!a~t zjkw;x*%IFGF*TS}$Z0}@ig81*@_rBROCW`c1sHlxjtvBN9mnHsg+fA_CyG#+*Tt#(k83w!*xIzhLKq=w5Z>^{?n*>f`JGuG`z84@c0Z%wRds z#zIhsB2K5jo6^G*VdI746g+&ux5pfR$FQOz46B zrn7WyrlPz*G^Lx<=0-fKnVNaY_fmSKe@czs@n7V8(d2x8+c|N8e0)mp4;U^?>CshH z{rGISZCdR=Z!)x{^V{mxiaGRsPj!e9NRf=W74qwBDaRe8%)} z!R&rLoRq2T;d)c$d#yfgvb>v-R{x&SEpS(meoDsVWvKNPgEFR8kE{afgj)Sd zRn)XPz5gIo@|aZeR8=J^{VRXv_jMz4JSsVU(=SJ#|2A^4uaEeD{k|St)xb~(hfvFL z^MF6ckpXxLjHIHcWyAfD>FJ08($jqhn4Uf;AiQ4%f`4X^T#)2fs*`USpqmNa17;{r z|ADR@TMkgM*=ZTLQxX~$Vl9pKY6H#qdV%JU`t4KuRpk}c8 z)qRrsVO6R>E=XQ3$v5JXYQ^v#A0*!`$uCuxUJxYTCCQgpm+lLamrC-Y>g26RCd%$G zD0^g1KkDskl&Nx5qdvA`bm23`r2MwgOn}?`z6%Ti!L=f=ds9_gD!te=az>M`9k!iu z!P!Q#7Q;hsY0}4jp^QVD_5OME;wEYMvnmv+^dgDx?FSI<*P*?Y{o-$w_?!F1-yrc< z_lsYM_%RmzQC1F}O8Zja(tZVgVlc6D%l0vGZaF57YcU6TufAT1f3jcu*Gl}K z`o&)(@jvcY&jN{ms9*fmh_AOizbe6>*b3KEtNf!|_2YO98EEMI3aMpPb>@SEJ@M_15at zu}IwoEq#xv{W^UrW3R0$qtf5?2ej!{|Hp&3KPhLRV39pNGFTs0!4eDp;34`T5ZcTk z`jrruVSs?uL$^fUb+Jd)8j^vit& zqwlDS_E(|_(#&CINUr*kuHAV%5@QdP4~L{Qoe%XNtCFw%^X!@^(%brl*lmrn1Vv zRN>6;8)k-KGE=XtZtzb?PJ;&RoY|ptNo(882z`ZXn+6VdT0eHul5J_>RtS$ z!=+Qd#Dl}Jw?X69;oI*X-C2dh;b(U+-J8fpe_!3`ydCtY?XmA%c{Lk$(BJ$*8E1@; zVY_AooSLrk&%9diS@_2YeTs&vfAT1O#P;fN%Nu)bl%B@E?q>QrY4rB{I<&mpnWL-J zU#x*f>#3}2oZr{02UX#B-yKcj&i=}s^~l1C9rbG&^joVK6d%YWlAoiyRI@OWcC z@HlvqoUG4JuZ1-NRtTQ*yWT&+(_{TNCu;|(A5PZa*(Rv#r|5H$-ZfQso5w`|7gI64 z*816LCGZfwu)Oj){))+{{EcavPW1ZW=Jp_O7XdlLSI6jG{o`h6c+M=GJVQT1*L^!2 zpzUqq^+f;K1L04#KU#^CnuGQ9ayTX#IIcQa@3}2R#}3g)q13U5=!@{!e26~0yzp34 z`1C_Dd~5xu4%K^xqk-`LaPe4w7|3_6|INenjPi0j`U?)lT-Cwpe*=%>za=T9$KL*~ z$AEIj``>6@^?R0PpBAzOOKWLu>4rPM@77u1BKkT^?$(eXd!(9EO_X7-N`b) z@+a6k!1>@oC+p8NW4|Y{-#Jwy)}Mc>J{7a*qf_-@leQbO?)N=-bydIk%3cyIfN2H# z%3fl5U)f9iuk0l-e12swp#n&2u}XhsFR3&LePu5RDdQ`938u$a_L8scC12S~zOt8m zWiOGf5cj6eeM0>h3)J6+NaSQ+v8n!1D~5b`(=$Uaos!F9;Wv2e?8gWTkTw^ zn_};7`BzSleXr^M+p*)Gz)2R1=Tj^m&T#q)H8W!SD0~QJ`u?$Vlt1=7`;@|d)9q*I zi@fe|_!M02?|QiX2p(`>*5F5vKx3=?fk)Uw)vCgtN7(Zc_)5asZ`pswV)5Q%?19L* z?ihPabgCE4Mz8&SlV5kNJsoM^IMyDFwDXR&v7YpQcC39D*0x7}+dc!3KlW`Lgc$@I z&g-zSdy6lk59mGyaR%UVK3Dr69%u6lK7)=&*SRb$U*oM8VFwVm`G`)hct{f<4q z>8&(A79EApHXKdZ44>w4o>}p~cB1_Qcp#G#3UXS2H-No=(7CSoCdY~8R-7Nfv00op z$LgK3D)AkI3NiGy3I5zk$;`e>3HVN;z)`yzyAh9scN(apvbn|7R!Lqvfa} zPR6madCGtLWV^9-9!{9z*f)Jd-mQIjUz0kPW-}2mxE1h)5O(02!k-3 zFw;TNXX47-0KE*S^y1zpk)Banj{Qgh9w>=>aLOG-vRxbr4Bjv*^ywYE;S!nmQt=HQ z07mHpJ1yxY9fi3)<~UJY4udOKz_ti}(36(}AQ3^B7xDZ7|F8#%;v)*Pm*S7`WMdK)`uURouIDt}XoIRQnmFw)*RP>>CDv%y9Z2 z9P?@faI$D?VfIXWC6WsxP6rcHR~4>5!#-N!6ICCcX^&Aq_6MJ3pN#J>Tzr;&3qDvi zY?eKt@nbO@Z_;uoUV|_3!&Ya`0xR9>Up>nnudelWDSlXJv2kBfM*k+EBN1K;;_d+7a>y0M7F@}R$3vi^<+bD-( zab?b2PTmNIhh(Zac=(dIf8rD+P;h+txj^+vw&F*_QG)@hPdwl;l^!dFk@FOzVeH^=aCsbF6c1Lo{p78P^*Apgy+f~vWpO!6m?PfS#CS#>Vt z1E&K&;r(#Pi>>&80&2s6qBgh-fg_8fauyGsrg6Ltfi$kug0Z*bRw!>y$cap}gi8+@ z)||^^j>airT(H!jjPwEU8L{aneG!y4-$MrQBpCFOgUnAo;@mgd<%c0*fr%N8;6fAJ0m02m@{K@niwTZIaH|P+Ao!^XjzSP) z3VP0tMsS@8?ua0;$k?3_++>1d5X2BNc4q{a;S@f@V-d!PGsus;f^jpr3xe}Za90Fz z0GzSAA-KQ<`6bweCb$QJIK9mb;}OJ{>=^7saI*CIwRQi z9u-Msryyc-C(mF(jAX@${C>P#tx-Hj(ZZ5$w~0dKCJvRlo{7UvG0BD&-7XV_)4mb~ zc-(zW)VLrDz`B!6R7Vhnp1Av%s7?8>0d&;e+e88%raGX(-OI!QUnUM%awnQNpwq-n zMBJVxZgUt1B)bz#9LB}un}AMYWO8Ztaw@2}vonvL+wORi5rb_qjz>lex5?Ov7Yul= zmZhfQ1w)?8@MSu#i0r|lweIeGq}|>4u-#oveV{Z`->xXNEUa%gynxtDeR+H{fb?c6 z+yfQvVk#VGDjaJn+}Tvv7go44N`cS~fMfBpF|3d$mp6s=?SlHonEG}y_3dct8*S>_ z%v&fja-&gfOIYEKc-b0OxD#GJ4J#aj3P+g=J4}TmO@$*&h4a9rq`na-1$V#(z>#>t z95+4gzzb%%>F}uGsBi~U;c!#oFjL_msjwrmSZ6c-xViSYd>vziHDVrs@*vmE+qfPO zUGc4>2lQ5agXXti=?#a?z0w;d8|bi@6=VkrEWU!`Kzzm5K2R!VMe!ZP2Rbaif~?%B zrB{#~sIQm`ssw=+UqL|b^wKMc%biww1>u1(i+N>bUrgT~pH!(1|)1sgh9fit{ z+!`p}tXu*A{*ZY_;=PP~aG#LC7Z5+18g26Lo@Wosf0Cdumrr6en5!TZl@OUM*4@x4 zqEl-BbiF7S*`N|SRzP*11TOzSP2{YZp3Tol;Y-$_bJv=I%kvPTym7|MR`}L&4n7*D zGnT8cS~OR)4}BKbfCEF`;(x7N$ilk=zZN3G`H5<&F`MQsbon5%h8~H3na1T=nJXX;5zH0Z7jp0d9n#A6!SD+wKw78|nj`)J zvWt#wxR`m$6S*naUpl?Qu7Zx|h{QDL}+w!>hvd{)n zv7KUWCqkv;*l|KGiO~Q2&n~hD=8LQFl-CFK$C(}}zklX6U^j@aT*A8t)R;^Z2Ue6- zxdepH7JcqwIB|6e`Wmn6{RR{W=?ksP=2co-Rt+JIdy%~HYx^01#l1A*a$XXsGQmp_ zgx1K|`3TmU-~t3OcNl9=j1;HDGInhN`n_pGnF_n0sKPFU%84A%7xB9h`4($jt`yFL z!HL2%ut^0C{1#PpU_rn&zT8pbI-xWiPMqW`l{mw(S}(J2fJQ(UE0`Uu&RarlxQAw9BA%)0jqHiVislT>@F5s9>=HFAiWY_^7%eN&9R;HhY2~r!;YdPSIc1 zU-7JWV_C3E{wIOMQ5p<6rh^){7`;U#DiA)h?n!2sqEkU+Tc$C2ab5c!4UdFEOF`YH z08B%&N(z|BhRbX>-;ZlQK?-T$9X?_G0T_G(=eFcRdoCR??lc)UnDvZIBcK4b@qv2$ z&wz2mVb^rVa%snVzVP=Kb+G^iZaE<4HgF?8K?KH~LGSnhaa=@Xjray2j8iNGq#-NK z5a76+rI83aWY|uwv5YtMq5EjqFgVis3ZW7>R%k3IF|#-&QAq}HWMytqH{-f2ag@hQFy{)QDNSzf^3{4?g; zu~EjAn>cn$cf-jl{@_!~FgZFY1!p0r0_EK@A7YGa7!a7TfdMl#e7S9+{E;mWl#ttw z2NvRT=@6J932;i&ISMC1>yw1^RSY9dNr0C%7`HR5AM z3^XA35Y2Zu#HGIQYD`vT|&pRwaI+Svs2s@sZ&as#{d z{9GG9li21Cgq_-mYs@&nMp?p7s{%WdW-XU&pfM0CvK}tt#lPv_?cMVvW(^Og+S?b| z;MyJYQj(*reBhx1zB>@^xR)a-h{U8|FG^AoO+~i>0I?JTfT|1t$Z7z<9T?B=zQP`7 z0SNzG1n@EOJFl=i>S3ptmuou`lc&vXKN2SCI)C#Ob}K$z|JN(*k@-5eeO_+hksx8z z#awj=w9maDHwfSYHBq;1?giO_ZW|Cj2vE0Ucm~oy4xsT#PPg?N^yPy?qeiTfd8Ng+ zVnk;@d1>Yk*Re3k;gYjd5K(l3IF$?9%0eKgEZf&`}k#` z$d?Jd?LrXKfjgC;zwYMrxRr!*o&^%SKyMbXi_E8DyK4Nib%!L3YgB^B!osN zkswIO3(QDnEldG8rx2wOxS(+)RBBQbKTC}GF=8iF2w2u6V6RSwiux0Vg{*{QA0#@% z^Qe3U*00hL`XmtH8zX;+IIm)G1diz0BEwiMct!}_B1}wPgoSoM**PSro6%ggkeMNR zD1t@;Wa;6bvFVzBC7`;DP3YBf)wG?3^Ec5Emi?0%I=LBo_94yl>z;OK0RPF0AC6yb!|p-w2s( ze3VD?q5;9h!O|Qg)pU58ldtqPqf(3nT{aKEtz{BgGgnt_?f|TkAe#rk?N2(}$XOBO zg+>!cr#iSp+Ho3GJT8kkVvr!vOAHk>2G&$~^4Oa2);|L~fJg7H$mhIHUM#MF(;R+N z7*Z|tb!{Rb*1~W4V#!u6&?%5mY2X$h5O0)F-Ear6nhG-I*}Lm;DH{#}@JihwAILW& z>M*nhPVfY-e*2UG!(?{kvs#ZU=^2QQvaV0Db13J$LGZ=@YD&PTI-hIdya+gkJ0#H6 z22)l`uOhHR45p-(E`hZSrm&V?@rA4jy+W{jVm-_mCxQ;5R&;i*i(F|c?kcxMggVKd zGcC~er0<~7X6y%+QR9j{Py!;ww@`%~1JX6vfFl5YL^UL6d@hxwEi!*as>k^O`@bT^ zuk51dz;23T&Dl{;KiU-Z5TXO{$M2zN@DVTrRw4Z%WdIF>L&sIc(JgsKhif%D_@6TXh+lvDmj4Ou80972w_JvfR9lAw1YrQK+h^c~~{&M3&mMazVX zQhAC8EPR}GX1Kfn3Bg?oiH)pF{Hw6*@IuL07x;iEHsgd@K7bg_(ot5#%^5C_b%x9v z3~&R=8;8^K0um2BkT!7GWz>ZZu*&5AiWjR~Skq^%#vhu)6h&o}vcW_G{|?vdRif8| zLPwTV2FT~a`-Onyf*seXwgu$?s3P$mY~+w#0co;0=X41Fi&JnB7NTs+0t?@QlDaqp z7LjQAl_ev^0-`ls6ZjUQMf>}rDD&F-8`G`0w#V*Afmq^48w2bN6q+A7Et3T>v&NW zVEV1JkW5E9pu`7L`0WVtep7F;Mt~2^G8&ji@}3UtBYhZ%X+rv@0Dj8>!MT!(kE@xl zuArSRfuo}e44xr@DuM5zd_EZY&`hJsz?f?0S?HH|n<`eBwpA81tVZ1CV2R5Sw7p-< z!!eUO2l5lHZ7}=gdkX*LXO(cg#;B;~d<~#=tM^4o6(FUuuP}+&#gs#CryGL?n*rRH z8LcEynrA45r8!7Dm{;<}KoP}nf+%Dq3x_563J9#e#;X@1VXBplW9{kLa8)JB7|j%1 zaFf}N<2e%(bb7Mv3Z)P-)F4QWtI>^%FpvZqDk8bG^A?3Cz}=|K7yhIIFvN{;{*}j4 zNz!7uIxbMs&SrkW)3hOGBbxlMaB<#-`M@kh8jY_oGx^7Xn%MbT^SO9*x0Vy1C(i?M zR7)9b1rkuw!K1=Y&T~@>7#6%?%lCp%{{_0pr(vU@rEv}{jo$e*_rOCHx29d#1#s{O z6Ugvru>#bRIol9q@F4{gv_R>Ji(3>xB~%uIDvk9A{mh4Wr9(WT7fi2@0q)JtIi4l{FAL13knxj6hT{tRP%w^MsDK2D;|k*d-_02y3?qag--}j~ z?GCGrr8+E(>_yGsDH(XBYvJa64Jb#?4x|sP(ja?(&`oxGUJwsen1(G3Ih1j_CNG=y z-h!KqsoPCr{Au5|%@h0=%CHrC|WHs@~VZ88Xg0 zSfC&qC{rwVGV6hsV2w(vHmm~6=XUp9vd_Gn%z%F6YbFQ^l}T5itUs?XUlTQpxT1W~ zp?u*grcVVd2q2kNwk)PNA{D1&DzzfhO=u)y-wxzfv0hW{kKioaqd9cD)eZ;isH_*~ zTaZ5m-(0Cb*4X^cZmqxRW_!e_ceoM7h2Y|-*|9Q~4LobfztmQb~v#w~H#*veyIn5;> zju_B>szH+2u1flk-(v6Npcbxiq4u*sp6&nh7MP*&))yD1OWuhv;=!^cX$YvsJjyqi`p~5^SnH}_W%pcgh;mq6z)EMrb^HPcfz_e2 zVdQq}h-(xHT?|tz!FmXsDqKU#2i~w2sw*ukB??l~sodAcQ*At2V3fruDD=#)W-7yvk+96)?4mk@RU z1va@eI%zMZ3a`Pja?to^fJ-4fJJ$e{TD{vaqkTD)3KCtTaB~>vmtqkIZjK{UL?k5{ zom_*XC&1BTD1;Le*bo7wxb?!)HNTMIYJOW8?mL+oR2uhByAAsavW-TuW_lT*Mnm5N zH>QrOy@wGL{K(sCya|rv?H;_zmks1?3EqIU4t{*w?w*H#&KzhVlvHNlm{ugTtz4vc z(zP2tdn<~xw>d7(8Ucl&&(biN2?OB(CzV1N;Q+}*0!K9Q5F~-UE|_3Jyl5e!Ulj+m zhq(3JCG==I?liz0)L~6KiFg;r_1+muqJG*A7S?s-xJ&kYfD7afZRw zB9w7|?j3fvG1!?9$rVCdSapYeqEhesElcf#Yl_U%5#MwErAzJ3{Q3&lka~E8G!vR( zFt!xgI7dS(43Fo)5n$+)5pNxVXG8gpIjBj#PUvFjG)!q&;(#{|$LP{n#xRs$V{KUs zTBB!3e53_sTE#6RdV-@v-vL~n-|BAcp-A+p2oTF@GLIlF!aSu1uWa}sf-Dhu`X-cxebW58cPQ;-x9D)=WptTI=nFt(_cO%~A&-#OYW)I2Fi<-FypRSmx26PN6 znOE?sBstaU1Za@zVX4RAKe0s=KVF4{9z1_%ZAC!Rcua&{=Vu2X#=uNNWKgVw$G{Ys zbf@5iz{JQFJ47Jz5P>L6{548*71(pik=Mwh!0BZH;HvkI}_$8^5#3G-ez$>~BRRa$PP|N9cP%iZde7z2OIibAKaO0w zR4peM)m3CaiA}l&Za2!pF}V(8pq_y9Hh;R$ZkNV!6pM|Q@8@r?@!kBnOYFEmYlS^I z|Nk2Tbj)m(kShmA#L&rLQ-~+TJ`b!!IZ^_+ez?+}JpF$P7qnp>k}~+ApH+HIov=3m zV$^s&K|&J{I#5CzaBpEWhbEE(FDB;AMi_v`aQO$_Z;vnfNcFF{-`>^lyWid)dm7wh zhX8`UOKF2@xy6olIHqMA>_&Mb3QUhGK5SryQXu2TI!K*f;nDC;G^=#z4p;%oKmRd7 z2p?5JaFV@Mc+0P(i~CmDd$)gjvz1I>VHC$-6n_d*$(DOxsluew;KiiZNqy{pwyT}= zYkzL<*t$@b=loU^6#G$HXwLE$#{9#6ZV%RYp7nG4n>#NCyTdC@|Ll6lI;oV9rPxU{Vk}ykL*cUkam+_c)x7vk@sS>qtyII6^B%Lmjrq zM93ph2bk;{7!+XVu@>UP4G%M1yO&x6r2#8<=e&uLwcJMEBt{hUq*zj-D2j^ex&>2% z)M9Olc^$YE@W{`w=zhe1y8wk2R}d_3jnv{s!`3ANGAI1ZqJXgpyA5k_tP3mk8XD7S zz&w~e!suO3{_1N3H1jpCh5a`V&p*fRq6njli9xs z-5MLYA<61~n)IC6XG3OK-jby3+s1>;hIkX01#;4JQ8JrM-{)^wV~=hlN*AMdviL-{!6!vSOL?K90;tghy3d3`^9; z_F?e>_4KLVVMB;#jgSm3juvhI!Vh8%hhlSk6S|6b3^AS@Tjf~%E_29UD;YCct}I-4 zA`hUxLc9DR!@0p@m;BP+wQb=xraj|;4o>?43vs}apI*SUul14#WG?VqAF;ol|5UQz zzyoQ$g5;PYeAJ{A7siHmzzjbHi+Q;pak7p~S>|pY>v_)d6lfBH-XmLF`L?_Sn`yQZ`gl7{;spQSb^p_k0w* z;)iJO8J_Sio7lqkus?vvC!*ob202LNA%PtIB~<4}f&*!<#by=8chyg0y{vJp&3sFR`?1{$V%fw^Z~G8AM(=7PKXD7A!1DNS})~oY7mE`2E^c&j z>^JiSJP(8bdH74FKa}nobsRlQm6*~(;n9dI?*-zd7ahfXt{NM`RDg2M-TF`@LZ>e@=A=xttkN|-Il5p|D4ki## zK?@ddRa>7< znxyNyxUeOzB7M;VE0-K0k{hK;tc+opfCO; zO1t}q)}E|`xtv~(E@}Ed%UrUZye3>r7Uz}|ipgvC53N`&y`Q^V?g~klWZeslmm)u=nai~2pHq%&I+^|$ z-EMCym{z7O6qm*puZ45PM{P|eO&4U6bWBiwB1i*udzb0+JBN)Jov5>x*VE#1%4GhP z6?ld^)i`ad(-GlXXcAtdPd*uBorq?r`2!=CYrtQV;5o5)BDiKK-Eim7k<}IH1$Pd0 zmW!(TkzZ{A`JtI1zYr}g#4FONJ3)RAntI}16i{Cx`I;dok`3@^^HTj>kKwMcSQ5ML z{b8}hkoP#TJ8Y_z;H5=}pxFT8Y-1Ymy)o!na+j6NbSpji6|=4Nyfdh5?KhUT8 z_j<$Gko`J7%$0S?|{_H!gdCMk^#nOJx{Zx*8^Zd zKYPQ4?|Mgx7{uu^t4!U=DwEqY(~UXK*YLqu!@TF?7vp#_+W``Bv70u6c#iONm)-0oX;RJgPf!d0~2(ytKx2=a+{LJFSFB zAkYC=cE2K+PJel5ov~9g5Y4@2&M1+}BK$sKymCVY_9!>hy+TFYP`iaP4!PgSS8uK7 z&v{)wbKDuA=l~sEck>pQ)4X1Ijb{j1FgXML{BVbma*t;$qB#%rg~lZ0n3*wgU_f`> zcXMx+2f8rH1Kn|s3rsI@t0kXYBSnbS5^QIb+l+=mw_@xco`yh#A%9t6FjtTKaeK+-Wbb6R+M?;)lI7 z3|pet%$i_agK%R-4y$<}ZfmVC$WixJ0zc*#F;SE%!65V`AI48LDCq_IgpytdP8!$4 z+IoY&RT6c166kc>UtBKjOa(#$z zgprs!Q6ii{6XJl*=8vd%*&DeN&&n>)S``i^K!~`>wtNFrz8w>iGsudM$r(w|wTSLyJAYHU@x^ zTX}73s@mM2&1?Y3BugD4^n*-T>ZUaqWZE9y(!LulhY*YdK!t1p%h0!SqRl#=F}(r* zQ-9})u7H`d2P7I6Ie~hPA4oUC>}jdEmpM?D8ZD86WuTQFw;J9T-l^xMubE$5-ZjZn zFOXxAn0||>*k@qU*sbsi-!Y9tshCXeuwul+^WSYJG=>` zIf}Hd4(RZ5zT4ULl91>#!TbMme_0_3uL$B4sgek$MoV^0Z6MbZSN9)r#~p ze>*f@X6Ws}(2a#N$C5@d4;nWCCQvMpD?*bA- z0?A3}v*+J3qZ|WZiXy87ba8jN^c(Fk;Ldv^vJCm0j$m}Ld)qS!M>`1*j@#j*4vX9z zXzN+tj%#$0D!b7L-l3bOVg&M_V~su|(7VHlVrrGS=KW%3!IV~}&*g)cg**^#BvQhamD=p*4E*8 z$!rOp?v_9n&6eKc%}8%%pvivs-R4Tu5{M#^owfvf2=#d0=~X3TyzZ{B1a{}oRK0^G zm}#I7WX{Bil7kG0ac_WF&%yT&nFvc5E{5 zndChV+0lcE^BZWpqgyRN>y}6{cT|COHDJHQ57`LH-M)KNS&mP37g$l z_geo@ZQct8E|rrGRb@wlv^L``rJQ4&|sjMQeYT zW%b%5pL<4~;}AdyV*mlXryH=ze#2P*C#yO0CksBP)O@4ae zmzZ@%wVsI)GcIxF8TgM`&(dHRNtEsLG^|r6dB?7a@f7;?S`5;Y)wf*0T2F~<4lVJv zX0J00La_-ON!=a&Wa2zq6i6|$KHqazIKq}?o52UcjP?A^9;kYmG1jR9RqwQYajFPl zZl}5l56FY3xGj)1WDHI>+(JxI=Yz|h5r%~jbw4Pg_9S0qgaOP2s-^=Y#`a=mx-4+} z4Q+oY5P54g`LA^TKMpON_$POLwNF$XU`=oiewAVWBHP-x!F^ zx+s#I76P3sxNpH{RupjOQrbBibCeL2P~efVh3LMXd{iRKBDGn8<#KQzW#s6RHWJLu zQgDC%c*p_)V5`%2esieZ(`lX#69z*{IC4Npp$#}lQQaT}L=Oz985a;Ww>AYe&ur<* zhX*M)DyOQ2(a+@wngyuRo_Ww%l6iA(4`XYN0%}|jxLqS@jE0dO_effWup0-QMuQ}RJ$#! zhtp%5(a^EtPp$2(lW>yu(#p0q{4yNp8z4Z3HSz*t$p zy5#LU(GXNx^4p0*g-OtMp19*tYmkR73&iL_dFb5Z&dtmOB)fX@)P-&{t0Lpj=CcgL zFJP>B_2h6t4k>Zx0A4*vTMCRvSRdYdB?^V!l ztw8J3)j~?q{OZqQcVz0mW*s3aOR{K=-uxaq z@~9YW^YENq)yVNPe)Vz9;lTXrZC`?4t>D#t{OZIx_?1~AD5g|a{&=;?x#W_y1rBzU z>c20yZ8Ss8FG#Q)lyN~a#<*(da!NS`^(y!~|Mfjm37a2qx{tZ(1V)f6r{!d~pessK zd*CNM-k39rkBCaV3wf`7cL|ZZ`93!T3H(Ds=^*?=I38oKS!5W9I;a1jr1d=D#g#$p?*qU+Pf9~zy$#!qf!pHov;|R1o_r>1vt)ThtFu#N zzx0V(@`RDKQd1GN`_tEa-vqxbfS1??-U!i3);v4?(4mL?4rJH_bT&kQamNAR6@U`x zLu+F6G{A+cnT8laucc&8gIB=?2)r^ed8qIzfr~D$!(e{1wy;k6oSf@wVa_(DfW*324RD)3_RtYFHtp!ThIlYA8CBe&6bbKo}bwC`<>XZb(KL_uqx&QQeThE)T(%)GJw?I5c3Q z0gyo<59a=Xtj^4k*J764Z_es08=cP%bLp+0V=`G0l!q~yFc*&m*<1>avA($s^@^S` zua)GgRz4Yovg~j(qx&3V7cc|6f)9+9lV42O=~lt{$^^NAezB4C{(o*PmPd?~?%|sJ zV77(Y*sk+~kyh;eQ)0#Rik+M}n!tv`86-H+Veiz|*88i?_d(n_VWXOTvf8}mKm&z6KfaN*M(6hW5 zu{+3tw&|Ymf0WS(tnV3-EO_o^t(uam7dl%BfG$TdldVwJTKkyM#e}kVS{RQ8d z{pe0?YrW81&e>frfRtwz>M7tUqS|r*5YaPsZlE+1{EF2-HMTbohl%fiI=Q^m|Gv|WkMw9$ur4i z@{h+nb+U?WrSuaVF^@dK5mh|Z7GQshN~hL?(9IX=OPXEz=VHc#N;Nds8N`(rlC1%!fzN3ycWUW6e{MwWe&k1Bn*@63qpuUr5W&7le9`x zZjLfqHRF7yGu6@*9ZKN8m5M$!PR>~t(Q=n?lL@bdi-pA&zAzYB7P?Z_JA95Iuie*h zi*hSs|IF4o&?dY7(dD+cKEPn!2b<=EJHVJi7xMTn^w|*%gt-M4Y^%(=hoJC z%>tJz<&|;2P}txp6gJ=oy+oI=nPy(xa0L$+P|oG-BA;!3{6H*LI+Z5lRYtRDyw0d; zyLk>&v9A)*3NdmPdten?S!(?%HfctN5iZT>Ck@s=c@P%s%x%v=9~6r{nk)BFi^DH8 zCC2LAm6TC%Mm)u3LgkoM@v3;``763B+pjl*xQ`v3FG~In`yCx~IXdQ5W@z5z_L@lm z6U$d5M9B=j54rDD>s1r>JdJK!nvW^5x7czMkfr-%@y_GyI(;tORNJpl_D_D%8O{!R zRHC?HOMH1ea>HeG1+t*mvk{Uqlz%KtwEcA5hQ&elU%&5cVj;q2#IogKi5>Bnu=hi`-a%qmX6NKq;XCB)h|B35rBc^Z~KZoB>meK)}=| z+r+dtOxwtA*C*S`_Ulu?niX{swp#NSvt~t#vSv4V z(@jHAQ0TU)cAYSu&%Jz#M@^Fqcaz#g;sj(SRt7?_7Tf@NM1~CK>VL3FfM*mHutm}{ ze8Fgjr_@lig1f*R8EP-4&O7!d$mt3k#XrGFYKoeRPGrvU7eMn@xa5#wk$%DG7Q{Vc zAML9RwG{o>7rpahG{T{fI0_8TX5*~^+S!o`o?p&f51pdGlO`?X+tn`3(ZyRk+v zPxR~9hgRG)b|Uedcd@mF-8+H4QEOdZZN9-sQ1dilob?tG>~uxq*xqBTDQuf@ohyM( zz|=2*=~F^UyY2lHf@ZhB%TqxfSzfG-T76rV3eRE{nseQA*{ zpAU6au+OK4~za;y{owc}KQR4>V-XLFNdtyca>*H40;nNP4oLZc8w8+@OF+Zd7xJ zHRmSV3}l?i#L%Hv%pTodqFbE21L$`0IR>&_Nc90%7d^|a!lC=8 z3(QX7w?2T2hav>U;KG1ybKXN?@e#HqhW1wH?OVCC=HLct9P+rGqY~_c7kBTs zSzJX(xIFik&pz*yY&pt^_)M&6oeO1}vx!Bg=6X$L8m;pv88{>;p`(VBB1~(gPymobsAx7*J>^j^bPck*EIidAjC~o7zlCaBA?sbnNdW6P}lgi z=4lfdqqaz;>N(6(3+hS<`Xxt&WG*aK7(5dk6{1+Rd5RUs1rAP#PT3bG?u4k?5o0-0 zJBqd8sTB ztkyiQytHJo8{FnxTQ}eXP!mI`wO+&Uw2dscWVL(j5SA18XO5@-^$d9#Xp!=5OhaAD zalKbmrUiYM(bTL=to!m5SF$LOdl)C zS9fy1+dF!mciZKW9R*H4MLL%QgV=H{^DM~K=a}6~-*_Ek{ZmS$t9%(!9|OvU zvQfO+R@=J7T~lz%=z=2?lTby*IfVfwJT!S>_aLb=0uZA$0#FaDbAJ{Hdj{x8@qLSAfvTF5XFWu+d^)z+QE)Yas+p^? zh^l6i1XrV-YVO#YX+sXcS{f`ztA-eGb=(<)Q#unSlQNGmX;7#t*GV$X7QtEBz(I-^ zu~lrK9njMos0C!z#-9?h>i#*9l}kCYa@N5iW2+lOKuW`6LqxTg7aNuWvI>!u8ft~@ zLrUb?$^EbmY_T;svR*w-I$ftfSo+Ii7-5M5h6$Q;BiQ-EqC>$jdU+(81uHFdnI5pr ztp7o^3+PBs2kin=gHt}lP}!HAu~8z6wPqqQayOBi5ZmdYU{P8^p&J-DY`)gfE&I47 zKR%K6eYyiKyuQ9)B_*BQok;drp-HE(Gzt3n3nMDYpS|9gw_Y#tMueE8a3#}#i9^YX z>b4aa*UuFOOe#%!c|4g+ava}KygYsRX!N*{IQZabw4_H8jx^v2W8&IVPaga5nXR{1 z9E=rDQd$Bdp2%BTZ8}fjeUy(a)#rGgGBn8@Usrp9eXE_W|MM|WPn=VX z>IrIrJbDSfx6ZRx^M#;DC+6I(1@+V81%hr^Il1bJ#5R)z-+=)jj>0|6r$(AOtldCHu3!x?5*HO6CqwF;Nl$GjC9G#<-OnZk?zjS0|(**IlJTd14X5OnTmUwAdF2u=-dKuGgZlQ}k_y8m1_US~1(p;W;Zq zasdvf1Z08nk9=2`6;S3zcBCHO94uf=sRtt2n|A_}V zCsV&K1Y!7ic4w4vp=gz8F}zQ9tUqNG^jTLsUy@;6?K~pk=bF0G zn}QvoMCX801Nws%eKtf<1I)d&Ay?3w(y5=dre$yL<7HQi5JI_{)4>`jiVEAXnxbf& ziIU6!g9>^~bm07qQ2iYHY%xzLQa&9N9C0{EI48U(6s^WlnlQFlhr;c#u+Sk9v4l~M ztC7&@h|}jrkJ`zJj$=Li zg&^+Y7ouUdP&a)dn^;CWb~s6`{TJzBt>ZlfeNzB376Jh%qp7d-C z#ocG`77i_bG#69(Gy_(%yqHWw9ApkT^DtL!SjTjSRa=)R6=sPjV4~TQX`sWfL_@T- znrbSX$`k6DSH_boui95(=&kk>)B7i)g%=g>3di{r?&esPwvOu>2EKLy2q+Eok?*C@evm~YI&!t&-xZ#xOdE?pI#UpB@vJOepj_y zYf&WxK3K8iTKi|7IX(MWL~-VQC?(IQ&Z>s$`oNggQk;o;C5AJoH#cB&ee(5}l1Md0 zmB|B95l)joQ$yz0T1{P6O*y+s;61EurhK8aSP|92mXbRil>lQ;VZ^Z-FO@0_o&m zodzJ*RD3~xy-1dY)^ILzp=r5)%`*S#X)*p)i+U$j=gcE69=^hSrMf0FDCj;#@47!$ zWZq!KRnrr1dQexjLsGX&ueCrmG4WR|iPjd+r!S19@O5vx&rYr9X@c+J-2;ZP*IpzA zI@!-Nhc=8SvZTqhUh#aEXyzLCuH;JQ(LRfo-ER+H{4kQ;SNoQkaOuAEtff(ROGs^z zPfwx$TP2{#tC*r(yQzsn!J6rTrjkuHNS_hCTk4b2nbY_EMs&hUkUN=7DJlqsEY$lN zK3(e2GKtJmn{MDol>5yMrv2yD^zkoQ=ovui9wkN;be$xIy?oJ}S* zMaf80!X2V5Qy3>9t&BkmNLuY*F0D)jhLl&9J0{TwJitsZ@G5y6r0QD`{?lx3!+qJeT7CZf7j=YZ%L#LbMbg zG+DWrO(7b+i;Fu0wd<}M|1``9t^A}3&D z@KL0=Babg z6M`M6zn?7O$t5pl`!nIi1#u^s+!gz_PWVKm{Nq12CeJyvGa^@!aF^WrY~{9M`JB~ywz(|aY;l1OQH?^UP2#0hB^7?q z4QDgAV?1&$y>%XJ9}e#Cs&gK^WfA@i%2C$fjC2R}1cT9|%C_|xDL^LZ58Bg!Q^~|5 zRy^m*NRbUmS$1HI?UX_7g?an9AV27{{l=Qk0k3cjxPXnKey^a7T2|&LYM{>?u4({t zX93gHEir;&=QMU0fSmSx#>;8(3mr)%ok$)t&u2IvM{hUX!!eqDdHirnK_mHSdAGYO z#ALt<$d7210V^^wjlQQGOq~eS$DF>)46W`1mzC43Oj%1t9*Uph>}93I6GcHR}xH?#*` z2nVJw2c&hIwpHPtj)+IU+L(&`#FdZJztLF?8rj>a+xFqdN1QGTk^#0Ym+B-p_n3lwz;`ft;2>@bg`OMPc`6LC$6BL#LV)H<)A3vaBjt3f*^c6swxGfL5)qrNV=5Pic21BQRsy_Bi6tqt+WzutwO${Dc z#$a+_Jsl7GECelSpNLNnwW9V}ECe$^e5UgsY%Dybe;>5y3WYNOTZqYb3&=?o)6uDN zG&HxRA6OH0o=~t9;T!JM@{B%eCHlyHCOL^%?Fd&yonA)*BM`5hL#RE%2pAv@5ioLk zOb(C0R81e9U+F9mDO^i5M}Bn#;M>OTY9(4?P z-h7^Mc(g_*tw?XKLO;(73bXITwCGr&td`mTpLHQkl#rNXi%wD$j5@j;Fl~w!xSgTO zyaHYQ(YN5j^PHkp3QC)qjlSV4*=RNzj1fj)fJTD1mV(k-s6J%O*xM`qkS?E>=ADQ6 zY8gWd$8^nRXgx(4W<>9XKY0+B!5Fuua9kcdvNo6*Rn`jG2OHQbbShhh008+1yD8>n z+uG+@plLVF>)BT%#1TqH|@QGrT|zGr$BXV4}@m1&$nYo^{D`!Nq4>=ANDY%dHNOJ`GpD z0HM2v894IFu6CCQdNp5xpY6D!jK3^-(9FP-R)L>QgAZ;ac`4r~-#%x8 zQrSMjE-EWsd_0xKw4(orr32%HQYlsDS(3KW7JUtq4!3e&13PJJ0k`;G`YBv1in@obAe;mzJaL1;&tyb?%gA>X?xrdF!}#cjLJj?{Z8n*#~m#*lByz z&wFP2;m1UatIte7|Cs1kdfL)!9uW0uqE+P zkteTD%X&(`CqVeD3XVqudN~vi(C0VR=YXn^bM|?Z`owE@fIk0IeX5}Ep^Ov4ZmvIg zpYMBsJ_j7#SU$$h!&ZH+!_$QMa#ltJp2FZ!E{`7|1urI#$=`#{qj9f(mg5IwyEAtOq$@y}|8RQGxe68<;mrw=~|5@*(c+Rt1xqYutq9J#Gg1gk&^6 zrK%VU(l3;Q_GG619^Ln&Jd0`A7+@fZ!t&-C>kN}bTRq=t6r|Vje*{B}3fk)V8ZCV1 ztk(Hj3a3$w!VVXxF6#o=pLT##l!MeeU%hQJ>XkCPp&rms_X2PwHAqJ=b;7|KM?9Pr z_fAJ}K<_>7vC)%y8Bz$7&GlXjQL@ldUir)N(FmSAlrQY+F*S z>TF4i7609mI<@H_5hd2}XT5AOp&%vWF$tmT_Y|o>#qqhHE>Z!L=W;g1BAd@Pq4OEEEZrKgzbb?Q!KyG*w)xizFVWWTK%~zZ zd?n-UHwicOwb_1it=S=k%Vn_~3&XZ7mg8_?CV%A`j}DE;Hjg71tIC!gGA7Aa#m|Oa zv88m9Y|$t*DwPW&7nTwiZc;&BWd0Q@&>c+h#V2`*C)1$+3QTEuu72^U5nI-6mfmRgGj=44c6^Jf6JYHLpcgx74{A=Bfk$*I!9W2nu8Zoa8SR#JC~!ZD(NhS*r+1$bZRk;NhKejkIlztAfhFEv z7Dep@2c%LXc~o$PTiQQyVKv5H%OV7O3>*S{0Kpyu!CtD1IuMYT49`~ZsBYrZ>hRrG zImdQ$@DBLYH8rh0R(efFjs|f6rTb2L9;6^YXOMAVn@MV?2lnm*Cd4X@JWHJ32b2X1 zdAYr!>yMt9N#m{g79&g9P!GZ8kT(>DF5xEj`V;BUGEl#!FB01m?VswaUva971qNbG zz`j52D$jzF3ZURB{`3n@H+6U1$@E*t%MO=qPCfGVX`OnszxEpM&D$pZ$g(@O<@ymY z#|=EXEjneRnTiy8GBZ}q^tQkDQjhGG1OaD+9QTM1@zg7}MTcLw%SEEVBCIxt3WlGW zo*HfNLz`>w(?bA4s0$N95*g+N^~RQ4koy}`=uxqLxGg#rS(zSvX7toEU`2ZH5wa=X zJUx_t=FDib^2f=n-%@!hT)_lAf3@IFLK!WPfa@C_(ODxp0F76=V`J5#q!ta@FAgJ3 z+USp;1(*AX8NBOr=^ z(try(RvK-OjyOXzQH@*^xLT#pGg#{Ac8nKYhq5L&P$o*2N4_4vynPJ<3BLQfO5X~Gk@ZUiKML(9y zBBAnYzXDToWEDsNv=S(y^zy_7$ zPVawmw6IBjklc;(Vz<(}zuZ_nBz-_9bR5^iM@Pc5bTa&M^7VS1%$se+IZ3-T;leeu zoE$?e=Ue6*-`v~>?UwR8Qgj}ZGybh1--177jJ9C2u`?2GCr}!cbUiLbaEFr^=Mn`X zIun3kI4RbS=-Y!Y;8}RfWF48u0=rQ)_zb(#J91aGuE6u99Jx^iiD@!Jo^x@^X%usu z5Lv>9HI&4u?m&IbvMfEvuJ`2c&`f72=SfdtiuPXQ^$@EzY{!BPqiXUGfy&7%JN!I- z(Pi$Ahn+S$+^>zw%3;1C!QP}m4r);-11rLsz2b#|=sLwWN(1q*1}Y4sQ35#3m6=v} zBns7^H5CR>%IS9SMo2l+4CdOO3+Wca2G=cR1}d0nKo^Dr^o*b&9xWZC%GW_nEMMW> z0q`KR;NGJz6tm)t9q1d(xIv;wZ=2#QBT5+o^!(ih`!bA)nS}KJMiJuLqcjgDoD z+>Wy|d)131tW+GErOt+CGD=zc2`=AH+IQ~ZO%T}}jO?hnqp|j&S>a*{?M3N%zk(G% zZP*Nq99?BAr1n7`HMI{&IQ10|>Bp^g*3T~EKfXP;{SB^QKJRzaodU2o*>{zlIkoa} z`|cKgSDsNMiHlMBR72V+8@tqY^RE;%99;pCY_|3_8;`DliZaDD6;AZYF70-g#5FbQ zzAHwF?n-$Y(^@n?i<>wMc(0$u#~YxgpT#aX>u$bV1d`IgLUu(U7yFu8(z{9wcZ!R- zHKR~u<{WonMe^9_U;TVtN(UI|tuI9|O%&Kg#S?QB!_F{ASx~c^@C$j&Y&Dohh)3>a z8WxV631JN3LbH8Et+`}8*>mq_WrQw64_!LmUWE(D=VQRn!ycnUbpZ8jHKd7_@kS$> z4jv%Qa)1XY;}4I-0hBBPwmo&1TL=XGl<7=U|lca^;m zb)K+P?LF1*V(P5?VRup7ypWCe|HuQZ$YHF=LM82DFbQV6=E@fNHduW$*OpewJab}lb`t4Y$)yY zQ2IR&qzpzXF4J9M`?8aFGBM`NR@x>xyd!c75pl3$6K+X(r%TzAqeV@NoU`viN>O}E zP+0<0&J!?R3{)&hZ+-pZZZlqNaDBQ!=ufqBdJJr%R!}U6sJd?G9yQ1N-V1qav`>rs z@o9Dyg&X-QP^@VGsH&i;Gq(~~(N{%gG#bV7w0hL1q&^~eYL3Jcd*nTTT0l;B(> z7SMwy6!zp6zS`x|Ri6G%6bcl{6Jp^!IMj@Ir@73CSZR4It=Ll0d?6y1QoR~@9^h~^TGbWWxa%c^5hVD}wO>(%^3F1LZ<113q zjZ;)eehEy-nuH-a+tw3GkCbX={L5Il7Nci}Q@6sivQw;nC5-HlJ=me9gg2;+G!Hdv z5ULB)nHCRoK$@PN2#c7sv_Xkjsq##4mb*xloa4XlnZv7X(pZ2`dgUXHSr`>Ix>pNs zG*eC*G&aj(aBYeq9;Gpn!RcZ6f1!t$s`)r7&|_Ps9}I6y}SukmTp~W!nw_YfL-OiI&uM|5JL(bD|47 zCUikFSfsAm3b4i08J;6q=dtSI9a9uac3T zPZhr}4*>?(5%Yp`*!WL~6fnH$z)sR)ainF(2_n!Oh^T_CbiR_Cat~dl}9`HIuNo>A&%!Xw@?x z^}d;>Bsl#)?Kh+URsYbJ_N90KX0&TNZP$?s6p8_wqI#W9Apwz5S?gv(@8%A7q-M}a zbqDfceSJ^8qca)aH=6#=iz(4z2F0RyF{F^=4V7rFmCl#>{)(Fh3!AISg>s0KZ-T1} z15K7sIW5wqC@Ry@?|mD`M?_BsDrqoFiDjlw>Q_ zQd?(}y*;Jq1eJ`TF0oouu7SN@H8y~i_!`S@m3I1eXezSh?n_VD5iL32mQ;EQ_iL|h z=Ic-!yiuEROKpfxw$o*8s1vHR=jQKCjr5uw>^ZYkhYMT;ig`^~>!BBk_a7ez-}(zvmjUlx!d5&+bk z_%^=oOa-Bk<_)aKg(`yL@vI$Nv%^klcN^fDKWo=Br4maF$>5RR_tNONhU2B_;@^ti z0xqV%__xNA^p@X>p2fj6kOqhAn1Vp~c+Y76I>sbiRbn=TYdIaHG<;jVY@BL$^48X_ z)b5-%w3kJ3p;Nl&rcwss02|mlWN*akL}jTauJ_{h z4!G|y3*ydZ?+4IC9u8!bg(*-D0L^IFnm$&5%v>cfoO{;<-yr@qCuDqO>p`G-G$G>- z;X_Hbjj%Ao5zzpQ@HYya&}76E8)Anrs%sFa@-ksT714$e%;ep}N4)gkE{;wov(BW# z3YY^T6b2%TZ-&pg%JO(@6KfV>I{Qwn-ndGT3^`=k9c@MEP*e=*=vrZSENVfgm@}_b9w&SH|qRN=26^~v-vORl_ z+wsEW^c|h$eC$D#ElYp=JJHEfTaLXXTJzXxKqs|@$m^L}S&rSMw63-`t7OGQvQPC? zO(~vr*Ru4FEndyr!^>4^81PifztQYH6JQ!S65nl*va8tso!ujL^(KQ|2nuMgi&CS4GEx z4d=fqI&1xMr2>ceDE!^56$K|XeU^5dB}axLF+TsQ=$hX0&Y0}mUIW^f*3f1TIt*?0pyig*GlK^0P%^#m_o7`AUpsz3TEi6H^83+CdmnWeutXTp z8f)67jgY$N9ZVytVy!;&F`KzH;=r;*j6&8tOW`sfmG0=1 zw*G;y^POW|`H;wD&-YZx&lsTNqI<~Ss2TUX2I5@8O;Rrlbjv1}$#mZTBE4yHyDf^6 z1E|EK?zGp&zmMbi;xX5%bQt%(c+xxSmwJ_8f%6$CJ=15l<~cFOJ@Ncxq4Yv#tJG;% zwPuh!nwq6go2Vwog4!=ZpH^C{viUgB3?r)Ds*!N!b!baC7XIf!l9nAh<_J z+6fQ8lYyqtg5$G)O%M>poeZS2S^f|FUsNIeNQv3@l(76eg~V(dfYVEgyS;n<$T#5* zu%9uzlhyi}cS5UG70Lai+y9^}Ud!(=U!z@1#>FLU`CS*u9$)huw32SF6*FV_?hrBI zK4cdgKcrmvoga4>c7D)GTp5+29(q@uLr1i#s)Q3=XkQ6H*o5KWc>r9`36s zVR?|1QJSxR*Va~3Ai!5^>r?bXf{Qq#YZgWU@?wjo9u*g8(E8+l0hWnH*8(9yGRI1- zEW%Ylsb7R^Jq6y$kiS%Rtq=hHbdQ3Dxbd?+2Tlj@&y^pO@$Ata25DZ*vJ(@!E>vgd z4)4J>jB{B#QlA*6(Bde^FS_#%2YA4)ycxwT0p6%xI<`S1ec8_F?0G_9t41Q(HPuM> z?~Gm>8mov4YkbC~(HWb}>a-_ODdy4Be0e!Wgb;fe!)QEm5j-cKI0GZEDZS^?=;)a8 zye_J@XXic%mQe|oWUqd(YmdUbD_IzqKoRk-$b}U@<{W3^i_=m1^4CUh zsXp+I*G0cpeIR}A>!Nj&4^-nSJO+OZ!mpY%cXaLN1L>c?E_(e*_l@sZTN!`TJF27A zUiCE%{?+}zxVNT~>>RqNTU}e>xjpy*zx509>WGx3_q?ip+EwlGW-qSdmXI@$Th`aF zqq42bP6QQSyQT89R);5d^W@&2+mj!%vFxr&D_|7YRJ$Cbs(Uy98+Kn!uEQ4z>Uw7s z;VELJwdB%&*VFDY9=)n4AEx8tD|h zaPK;M=Q?|%O%ipGM3MZ^8Yzd`B&jWzU<|L}cmA4*9gpKZ+~nUwWK-27-53C0O_FS%<$GdGA_O!nR&KErt-Li|^@eEq zS-a|37q%yi=&4GE*4Y}yi+9x}`4`A!G?$3|z(HXyZ~FnYSjJF=6syiey7LWqdcb=< zp^EM#jE8rr)qEQaW3tq0o(-sTS!jiu>M0{9Q7-+k)i+!b!N4P2b zPOj79n8j6zmtw{Mn5Em^BE4f* zbaZ0^>xAje?21lgsby{@w+o|I%9+Z2It>9V(rE~6$pDm~g2aMQ1rR1!R+a`Thg$md zH{u@WH#Xmb&Lq~%WC!~9D?1UlweLH28?^CbQA}`qYZ+uq#^fY3X~&b$^Q4kmF`lH? zsrDYmls0A0izgw9iI^IYZE_FgZ;B^6^TeWuG=;Xl>Hbkh0?|$~srhe;E@bBbM{yex z*ILV)-EoahWZ@a7c`?AFxfy4A<5kg;MbqMdj>FB1+qOq-BE9EL(TeqhJ9^810K^IR z9?yZTqs7w*&dx$dgRVpNj;5VgacHq)t{KDSVaI6oYTm+Mas9xyR$$L2BX~?8nGe-E zOWaKe17w$=M*WT(w$v|&wuJ~3(7U$FtIyJ*GL9nVVUc6R%CtD?cr?@)blR0mNRIUD7GTK?) zT#)X%B046$<%;O=>O^|~7189;6WzMshR=;+BK7THx8?A9bPE{SO4t5TbUe>J{g0v( zk41r<3xmG?Uo8BjyIfp&>PXNSFlfRs$aHymPN8I042C53T1_~-uN=zmTlK-q>hW@BWc5CU0=;V$r4tVHp47s<#w(4h3mG`s zs3BTKs(?|G{39X6P0)PHZrqu%?ykV7=7kygz=D4Uw&$M6Om$`fGo7wWISK3_{j0Y` zkLfw;@mh%%!7(S7ykY!WE*f|i1rorzp#=Ynw(o*qw1MT)?~R|SfT*YDy7)2FQw!s= zGdRMqvzOtQ>4jPPM&}P=^4jq6A%v66C+Q`!A@}Dx*J<_2X#E`QWq^Wb?B#-A zLZ1VUjtequO~K)+0F-|C%4qqvx>x5|rCiTK_9->DUR38a?>W`E^qFsuR-MR#N{6ff zK=?=AooR=tdcM0N+e>d;QD5>z)7WqlGC*T{4X2Ha^2))Cco04QQC!rY z;m{d)fdNE}1zFUaOL*+DYE}UNP+lXNLwCk3H(=W!1Z)jn%JX#HfPKa+U^5axRsyzw zY#mJLf&e1L!t2a*^xU^&MGk_r`s#x;$uxCJ@z|>KHxo3|^)AIAr7}$xMggWYdcMJ5)iy0Y*mHWk!&f2%oxl0o^FcC7s*uF>n>naZpiz2+U-yvppYft5-R;9bECSgC%)3;a}8IuWA2 zvYD(@x9+}?9h^Dq=Nv|yU?(t%!}zxfcjRaj)*gBVe6ws8+DaD70Y+V+M*~eK22l<} zhh2RJuI!?pBUgGd0Ww%eD!4~({)2Z!e;KXQ1d#Jfv#kf7G9}3J9yjlCwt z)0bQmeY$8(Z2Ys_nt1-7MZbHdjCx^*Y$YtM0EHr%jYzhCK)$pt9!MwMgp0y`hS8b&)-xDn#MOIAcERBiu>OI)Dw^n&oHC~B-UxIN@UCXvI zUZp^fsWdSn=?dL~4-j93eO{?gG^DHbiGOG}pUL}-weEF0BOQ>{43_a1f@+^C(z~v< zrTVni+iS^xRhZ4)TR1zu$N#Kn!aqC;P%u`}U$zYaApq z=edDC-1JavHNPL!lAl$X-(3L-n2+F`+*(&yv6|e@Cyoi@97iPorF-wRdxfrMB;&yd zYHUVO9z)?kHa>^$5R|RBwMO&}r#|()(Q<@a`tLSwdVbXzE=u0fTt~pTdOXy&P!|Lrmk*&n$aV%XB~#zLs1jC`@Jj{OS9nc=1j2^Nm_^ zxh{R&bp$@&{r>1<*kqS~Ao>+PzVU%*Js(5YM(Ju;-j~;xi2aGyEw$t-P2>tDQr9X?q%Z$qG|AB4^ug${eBAND=ypD?_z*9g zNcVn-c}=9>{ZRB=KF+)$dK({qcSCePAGiEv^hQ3memFXYk5_y+dQ5X7xmlfmkAY02 zANg>!mkYnKH@aY{_C`k^FRzio$wO%Z&=`EO->@G`Aaf`>ksf(t zv=L{M@tfz|7;WVh@4YcP?(tcUsd`kmz6WF4>NfjLkGPid-^k*LwEdCjWp$WA`r3~~ zZ+yNPY=?V;?Fboc4w>6OsK#rzwsu!JVP$pm%gp0&O2)^0{}SKbQugV3$b|=I(4fR8 zz<{D9Ki^z9%eY{4C-==;KZ>*1JI85sNL-ielt$&~X?v?R${Y}yHf7Roz{7@Qe2F(n6 z=d|FV1NTgs-8pqPz3--IU6b&ENnw_LB3<~g=miT3E$$7I>AT+*txD5(MGMlYk40xr zim^@#s{)Uuy1l-pOFtg10w*?ooWcRS>TyL;k#|&+J#(y(PR zjF>%0ncm{nJb6THJ$QY0NtPPtnxNl>*}ll?vrT@256k1l;a%!Qb1!&qvrU-+n1xOS zcknY~7JA(4P07vCNy{}EUI3p&#qJholwNr=>G?3`>u#nVErYH@GhL0t^nbUYeQ$y? zvgr!Z^y;inKL~R|IOxN-LkX_13dqwOhPsQvaqP?U`lqjzIj?n3HTkiG_Qz~tcA55= zTX=~YM6BUqYhXy(8^V(8s-+*8iq@Rqd+;a|D4emmjskoO{iS=}5*EuCcs^W!7Ey@X|FVDood__Lv&GHN|Ry#p=99fJO# zCV+(3-8U^LFP5WvdqFMz#wVkvK&k6*iH;JUUT{lvpWYgcnxV75nqGfvw6?LIRYY{(b1P~TpFg@ay0`#?w|wfC zhrz#oDu=;QpN^hE_m_Q|vV#Z08P7(9+#YAN_9dJV2jMbzf-my~6SPiMHx_Kn>9a7N zEI5vN9jwrGh|rt2DrYSLxW-BKYHihi@n@p-8%(d7h!<>c{XudX==KiKZS-2xZ}-(4 zx2KGjvHHEW^wXb-j$n3|?u(Xf;&pN?fQ>eVZLO;nE~E=tO1_Z@-k93Is`jgBFFt#E z`Pr}Op103__HWeww(Qx>_Fi)NN-zFf-E`&bho{y4*6iUWJiH)z^$sPgCOa)gtHGx~ z-xn;z9tYcUyGa5HFZW zZ@i7;Tezjw{@$N8a(O9F6s#i#mrxdG!)H zC4VAEl#fmYHLA}6tEq!eLv5kzA1ilZzC}KSq4LNlaA8oFs;{%VcenE#v!(k!XQ4}R z;Hu$k;XNC-rvLkM(NiDi-EX#8eBU+uhb-X0w@ zp*DYao3>kSkDfCUyfJC~`Djt~i8r70`Dl2!`l<9Y->t44^9Prqfu_&@v)Yn*F;<)p z2+EhKVBo@41kPh>_Tm#@)NRyAImgVPUAd!uVtUGh)x#HsuvfvQQ@Q!HFGh#g#%`%q z>&i!YXy~fL_8sG~BxCt3()#*+>;TQeF{J)U2+VS0Tk6nvWYF0in`-yD@AoO|;$A5* zu0Y@)r++tM;sqwE-2X`<|=oDkfwh&`~$H9j$oN5$Nut2XRg`3x@dBj3>w1~#R~ zbrB|`a1S-F@u?~bQ;EszP`}L`S(guaCu#tDW&8^c)SsXtfa&m$7}UoJ)N4=Sr7+eJ z6jQ33$v3glxoz_|eswGwArnYhL6IPTW%Z(NZEYpJa9Lwr^^Ww?WsODYRm&Qk^!6_| z)>a$o_rBaXt~NBDww5=}Au?yMPoKZMv9vmz{{HgDV^3-%G21s)YA34UMRuijYRN+t zz@owIC=|3%R%FiG7m_ z2o}gQ1&-!8Si#8@N9kRMHCA50uyl1Fs2rwSN%r$AfTJSdXXshcSpX2f-#?9UXg{gr zIh1WVZLdndx2mxnN;`3N4w36oF5B%M$ZqMY0R zNv&EFi;2@~Ufg&bPSZ{mvcdT`n|+IGwQVe1)-7QyRd|@jq63ck$5{BQvFM%{nX9o> z-B^H2TlXLX)ZD{G#qHhQ(! zXf5@-$@ej1vaO4{C&Oid6VCjH#!OGZz@_^Unb$0+{%D8CLu1k-NFp?a;+$@M$5r<{ zZz)Nce@h;;LUdG2cxbF!PsYw^DQs7t7_U{LMtx*-czkFK?d_4gLL!6C$-eQOSGRHg z2rWyRzm@f8GTzED+qm6Z@?{g1qjJ zNhli9!Wh!A#9C&MPHIGtdGOOp$=Thp1*hYX1_0+du5vwPm{?!nc%4dU)z(!$7!j~$ z2iS)r(vkU%!(>#yZ;2#<)>TkPnZt(49g&zZeenEgRh@gGF$-73UKvtPW6uYzf{Q~m zF>>Jy3s@RCzfA&!`~{y5VK?_h=;0#|0ayPM&n zwgXiC*c?>b>D^z879jwDV+AmBh_p_DaA1VkVGe|?N6jO_Ke-!W2Lb2z)1VWo3Z3c}IfO%(VyF)x9`0tHw3hdbu$F*jL*?!f z3?bI)Ya}gmj&xuI?d;RwinXnc zS8al59NH`ns{z-L!M)#u9?6_Wn!)_-z`Uwy-d zP&zQ+Mj0~}$BTs&8P@s{cv2Hf9!zV(kwYalT$MZ4Rg`E|OKzd?FJG7P^>eOONAl`* zt5pt<^h3Z0WpWA>lt~?WqPa$z$jv}{unC8QC-3O42vgN^ZQRjaS^T|jNB6Me?>GaD z!{Fkz989_f-mc=Rk^}mwT;N(=TD6!aKcan=cr`Fv9j`Y2v>Mffulp)+sE%L8)yWea zWoa2ZT1M{a1kw`9Gp*I}3L(9{-zbHtt%z3!La-)gw=zDg)I`9EiW5eReC?L5L9iWv zjjwA;*Pz_B{u*C{XS0^{9Fca9h*yRCi!_)##JZilBVHXYTEj-lKb0EL*Yc6;5wy8{ z+-iWxJEccp18ZrpVx!E5TVNGOgj+O*yD1DH+80t>2MuFGK78y4w@b_ESJGiW3)w5I zWXwWJ(yYkVvA`i$I1ahOFQb@K5Htb%S2I43{YUcEWB&?2YKQ%3kcRy#8zQ;XTjjBT zU5@=2&KdT{MGOW-I>q1M$6EKh>ps@FkHd>Mf$09K$8(fGc~59x6R$Cewx)>eB~)Jn zs#m$$>3^WH62Ae_8V{ms5!KgtRA1AF>eV<7>l!e9O~3}q0S8n++z>+gx@!WzkMMxt z>-tg`;P+Af8efktT?4<5@z?koe7Qj!b&riRssZ%9OxzfY0@X8f&l*7WoREYypn6U{ zhDHUnwMRhpqp|_%4p2RW3j&LdkM(!-KyQcY;(0>#`zV_E&r#gf6pSkTof~{Z7T7%6 zH)OH8^}ZnsjT*(;OFiKq^_NDlKW!qSF(Z2HNJqshE{DYbFJ(0M(y=-jSM>6sm-UZk#YM* z!R`YbkbIA+4(k#1n=23TJ((U&J4+f1cW8%fEs;;DFhUi8bB%@JsX&}-ER1d@Yb=az zCmi10Ss2}}^j%9DOP9Ql!Q6m{F3GIVxzEW^KxVn&D z`g1Z-|DUojKv^)kAd!CZ|5Fxnp)0vwRu&{~bM6Y;EGP>ZOEhK-+gt-y3Z{I`+1>w1 zWkFo{5S0aSFO#8Sz7I!L{=ZRK5SzA@0{eYD#r@v6qgzrQP!_!MP}Ujxl?8vbq!f4K zuC%CLcTPp2JBOms9i%99y`s>ar6>?=DBvhl=oWPcc~6-}raUlnkLHJaAV_B@bpe{2 zSOk^%n#*N92X31Tb!eW8Xs;4)$n_D)Xw1@{*`;$T3ONyZMWL)YpcCh$D1B#grB4#6eN`7j$A2g&^d!^cz!tco-??fO(XFW2E34Os%3JQxt+;fMj!z z#QqVanrp!5O&;p;Oj%KovQkzQ60$=j(wy#s^60P;ZSy$amAeM;?IjNQ8%x(pys2=7 z5*aM8O_;~{dVJxcp@wNqT+1fnUIroshL+99U4d!>?v!UH=zbumKzJl%iL^|6U@8LO zb?K!Ojm4)3yWHAkW08s>Wb;>0ECN#N3d0uGU6+1^$9q~VJzf~FZeqaF_jIK&U|nIr z$NDSf0sk`texDz(TrkD~3AQD*9o-XnLRei31?i>b;ZixR=d3DSL$Nj0H&fhD=uB_V z8qnm-hO-8#a3)dgmsB@HfBPk!&2Zm-Nm(<**ROc;RNl+yvQ4;hV$|Q|oAKq)FtiC@ z4xdXmIG^RolYo>~q!j3RNMh zo!Pp?9Eiw49tFIXsTAL%(#lOOKDj=}Eu4c%zV>W#b9QQB=w+R_Sk78%u}P2VsKr_{LJRKGO%XN?1oEM8Omtljq4bL%+L6 z(uoIc`=npH%xO+%G4fY|6~9eYtkT6a#xy!&8pNe6rh$HCF%2Z0#WZjMT1*3hZZQo! z{}$6Ao+Xx}_>^h>*|PL1a?~lPMxvDn!-v!ymXey_gPGcFBbHJvgg6|e6cbb5(tJ1o z#8?S&u@SZ>f?n0;iw}riJ^ZW;+DwsR@U*ZZ#BK5wd4XGz`ISwZPoP|2&HF$OMB=SE zNW3M$_cW&>n;bynow`lr=?9$1!RJA|$*J&r58>>&&6TTih z;A%qwx|3>q8w$3b$cZ=#vL4TAI11PWSC@#X%BFfDEL&P`)Gt-oY+TIJyxbZnBtNz#zMO%u)#Q~RwK4l< zJdbe_cg@CSOxfasO71JVzH@;x;g{jjca-nrd4AaFtIWdw6vsY4`;ss~JJ@XOyCTU5RZ zE~IDORBiQ4sS>@h$H#@~#HTIV%B_9~Wj;+T8G60RScj(hGcVbI`SNv2|UW3XvRQ`er z5ll*VC>#dq7Ly_RB#jUS=M(GaH4w~!oRl?v5%j9U#NH7CjL23lO zt8`4Jj9;WmO2hw6bY(Qx&`lSoMgO z)I=}o17S&RiAgVDHB2wc-%)r3g{`d3(T}XLCHWP^Bg+8;TusC zYbi(5f;=dz0nwI`T`Y89$$C4|3a}&aI@K)|%F>=&8mO2JzMO_=CU6v7SN>?-z>K=1 zTYByW-Pflx<|dvJK*o#sD~$%$Wiqan#C%iyx#@XitH_|pVU{A<^bE>eLqr<0jL)96 z5NgabcfAL3G`ODtF=NXdh!($=5_!B5pA7p+ghFk$#3&?8o+w4)6dWZaQds~Sf#&&$ zQ;jFdf$_SrpQ5vETIu{PV*Q*yCOf)zx{htk#dR?$*fedxqiS?=Y>bJW`IpSC7b3fW zBErs~$bIStC{lSWQ>;dM`5TSXb5p;tap+vIh*5_FN*2^&7;SucJc4{TavUpRi^JRj zV+G34%OeQl5vdpXlYUp>eM3zul9>eXHdDXJM3pU0Ra3DeqWrD;>AY6b&0G3+k8~Sb zdosG$*Z$fVo+n~IYt=OgdL{5P5|{Ba%%TLnk!4}m6#3&Wu>y-XkcDp4)_;C$`Sv!t zA(2b&Qz>eZyc2M12u|lMV+iVu0xD@eLEkUo+_F*rZ*E_4Lw8Kx3=}B58Bd7kU)!b3 z_*tzd)J~@txJ89r>q@t|mC|)o>*E#!aYI5pI0VSnYLrap68XG0{ZqY|Y< zdTJ0a4Cdav0laY}o)=sS(7=ecLtkRY(;`)KN+|mkn(@Rdq~;jm5uT?lM%+OfgG$^~;)Y6V1q}Cd$SU)D1jZSgF zEjR5Y@b=unP!3cxlmlZ2pqw~;SsW9mfDaq1KfjAj(R5A*3PI-R)^ZACON=+O%qV5l z5OS(cMTt-x8iv;wy=6^9?H7XoK~Nq5tJ!y(WA%KDuV(YHtVThqbcci75~_AbAuZq( zgqQ4=r?Oop&kdbhe2HJ!x!pE)7R0|LdqLKBI{(|kZfGPIQ8}OnNhl{kGEUAy4{vR) zgIc9DA)CvLyh}ZIQqb%of?VRu2@JD7PZc^oII?|*#;3^!4;Wvi?|6Th8-JfN^XNLj zFs#7Ol3^t#sHEOtSOG@U!p%`pFswL%)(k7`C}&um>veD}t&(9yu%c{OG0TF68LZ?C z34-mN32SjsiJhXC!Ir2mITtqlu)L&fqo|(aJ14JL)lPi}tdD3JhOhK6muM)04~d3Q zZ%8y0Uid^qAeP(_$?+pWV@jHN7s)a-Afv=p10Z%hJ==d_n|jPsObuza72HRvzqGC z8aR(YgR{;%|6jC1FHudtr=wsvN4kd9Dq^5SC2mS<~Q9rYvBM?T&um?m}dx)a8ZdlN)oMM~6j? zcuX!w$QITCyJtxG%ds`Usg zp*kUtLUIKH>^VteGHMjo7Ns!la zde*R?phIRjl+Hb#E17Nt_hv{)dql4r*8!ja({d5?9z5+CXUG?j$&}QYe$(40q;(c1 zV+KAg2Zcz0@lII0GZu#lUE4l(`Tfxb zIGARnXD*BhWnj(Iag-jSq|q(VKLtZxxSHVQVG6?Di4-KtX7)OyBlbjYYk}TdV%9e1^9=4^JYG z0&iV-YQ?{GQ8ID~eC`+3m%qX;u`|IP5@}u|(s?viyhg6fN3t@EPF|y7cNN>Tb!w%l zew(LO*7Gr%o^xYkMK3c%HI<^x>p?K)27}kh4`z5%MXzHB-T>ysqppn?&vyneFK)Uv zUhK_djAF~Qu8@Ks4CQ^jO24UG041++ZZi44G-g)lC>mKH=ljwq2rK#Ndq-Mn`rf6+ zC~#xyzGE_wFdlZK*uxBHzUxMwIfJ%AI$Knc2M$7A)o&xwZ zN6QfFI-cJ6gJ|jbzBeZA;iqU~hUfYF{o;dee#9)aLtIDO#TTb5mo~cdWX4%`x!3_- z!t<75qsS1`16S6SO`t3F4?{e4ggw(^E_VazOa^+)$z|*oSwh7v5|8kU%$4odg%ka8(Gq>&J!VWOr-sKAiZU65q{@kqI=-=SdUf~BPukd+SF64;ef9~B4Sc-mgvRk)y!8Z1!o4xQ|AfXO zKK}iL#&1u&PcyS!LO3eY^yMcu;uYmK-C&!A?1m4X*tm<=z3MTI3#$J=b8iA>M^Wzo zcb}#E%$7OXhDm0U^qB;h1VX}=RUjQg2zvmppdt_;N;Kws{1UHnGlfsd;ZK5x=(d=b=CX6^=|dn zTN&e{+|{OQ55xvOyBnKx$!V@cvuyg7Ms z!~Vg@%vH&cd#48@JE-#;?;o_A<+FoB&8j#U+WX+_ zV3;8MKl=oG?3nb-4u!V&s_pQM^oQAN-=K>(j@dVu&*l1kgK-YF6>vJ>CxbQrwJ#XG z$_(2t7@q+`)AkGY_KjJ#AB`CE`Tc?q`p@(}w;y(YW%z)s#Y~BV0u^j`7skQ(rj7ra zAYtRbnhWCKupzd$%}KYOF~5pw_^MupT(C|3dQLFfJQvf{oc)7BrEx)KVuFtp1&r11 z`?L74Kus~_C}Asv@*O&Mw!fp%So^#RGWoTu?NJqamnImtUAg0cpfJO}RH06_;6@?Y z?>>B~3LU+uYe}Jb@ql38-fv6_{?qS$bwY4;)||U*a8~cs?hRXBCn_h?IuAX8D>=~CX!DEzbZHh<4_L#bjz2Bc7?C6iY z&xb+gyE9XXd*w2ti(O`qn|~Y_e6+2a3^K||oy{u^;so>ULxNlUmwFc+8l3F=FPk46 z7VOvfIoNaD!$BaQH$x5&_Viyga}N)mWb#iqg36yW4;>L4@Bhi{vM~6yf1hbM5;k$E znSEsNZ~S`l$e?X1%4c`x0S?=y|1RiZ6YR{j`6n7jt|_9~F$F7Y7~{ObEt5 zIxN?0^QvV9-#(YBlDDTWjsNpMfNO_4vvwTHI!OejpfhN0XGH$7k_&wE)9`!VWG6`s z2Lux~L_|^tsYhj@YM!c)*RF!AOuP>9!(xF&!UExoW+rCmOy^WwnzhftnCuF9P!H*5 z!Z|H{ov)Pu+ni#OWb;s87rcX!90+`g46xa1tX#EawQG)ee=wo!dQ3h&Ug%yLuf4}o z(XAF@-8!}u$n8q>z>w8(PtSR0@;{c-h<(Z8(q*?!l)ddjov4XM6hG@7*wSE6zvMX` zNC(d0Q|Z8;`8LfLAyQhMql{C-GIR8&-}4AS;IhCx^1)#E&NvhmEY(QZQ$y59q+6q6 zqbSu$j*S49_^(DZk*4E<$sguqA&e&-eTO*C#Y4{OYLpzSKqp@Z9pa}d&`A+cO(9tU z5(8AaI9J0aqCNAc!SM23fW{S)e%IaGvt91tULfcH_dv&!><|^AAS{u~Q5du~(7aOO z56NjTIuhANwU>E7PZ2`SAyX&&)u{8VF#y+JH+-uX@)(#wBkRxb}T};9_4Es~1&J znT^K6pAIHo8Nlgse7GiU6%GWp=bs%FgkmH1h1-9JBmG z!R7v(D~}K6mW9c5F0rgyolD7#a8H>|6@uA%{OQ=aLJ>;eEG-`080wEOOcFFKAga(! z&VN&L7G2AT8j{AAVG^P6x!dQtwU%8b{t>sf*S5|h`jrgG7W~QF)?0PK(aopR@Vo+^JD|KXIR_DFZ zStMNKpH~{9)X3Fo6A_5v_%cqQ--?e{U$pUYu8kt;Vo5)K{&_f_iq`2Lkzch!5uIYs zbtK`MvcorTtPDp_w&c%mF?0MI7X1Z_{zM|w<}2;J;l!Xf=Raf6%Y8TW8}469N0JINAK*!@&WSS44<%Wh5mv9#8=3L&zh+pXd3|Z{UQ*E>d0H@~ zp`sl0#?NHW@XcSB1$+3fnO#p0F3oK5&AC^GoPa_X3ocg@B6#- z=FSUV&iN1a{-uY|41X6h?i0bEC?0lE@Vd{>)=vhv@$izy@!RL9g_vp_CH)S$!`sTII2OrY+-h4WLeD7Ur zgPU^x-sadVf=(`Lt_TcuTdoYg;#ca7yec@)Zz56<+F_@DE;7IQBKm#b)xnLKy8_dE zMX-~(^qOEL@4tRcFv`Enw0$W!-u(U9e4F|7mx9mHy;0W&_a8jl?}4ev;Oq&t>*6ki zj&@yqE4gC254V0c&W?7wFBHn5`nc9c&i4ECi|a$aDP9+xVs6ON81Ru;)ejWMMpe(TTKJvBTGnHa<&+Wjj&HU>2U}wLv*S{m!Ju}KV zyA;S_`6Lb}=fr61#aGs&?mcv;Am01zok1q&@VcvM?+xDXf6I*h4lV6s!13fUKa-4k43P8<^Cczo?W!J}Nx{BH0Q z|IXh1?hTG_;w#tx2vcaE-ur(PoaW0yn*5-(*Z%TgaF+3Z5}a?IeF(CC+MNDSaGtr~ zC&90BU&xW>{Qk?rHuH-s!dBDsFg)QI^ZAE^&6-X~QaD2<;S3pOGC$x9lgw2=4fd;W z2J@Sr2A>#t&!v9QT+WghICB9&l|s8IXZBr|`GooHrrXG36?dw^5BFIM3e7STN zWj5ZJF(>|tP&BT8dn6cBUawH`Ox)r`=SIW;8W`1B-9fo-P6B1fgiir}p_W7?a0M+& zis~3U%SLSHB8$pKMX$q9HgYJ*`fSu_^+vLZs@4C!bX=vzg1$){h}-GE$w0Yng)d<6b7 zYHKXG7QyOPSkQ3^Hu1_k!~!RPvE47l0ys&rknb1>3#iK(bY!#c5l#^Jz%PQPy|7E@ z00u)HEJf$YZ_)Y4Q~?BZloIP4T=_Hniam8iP7m^I5J|}@YOH{Fy#sG^eB27B%`7?ZFdm042* zQcXHQTCgD9if`oEj#B~YR(vDf-c{insd{KZx-Gt;R^K&{zJ0zi2uODulwupTaUvIY zWA9D%k&> za~G|Kx%vEVau>Dw|3B_BIIfxp$JMX@J7}1>Mgw}vN+HflsFMU+EUO@Nq)ry7lqu3^ zHuU92bUY==QjrK-vX&^S1kvR$F=sv=j4fZ{Bu&1;hs1-K`Aro*qyi>?W38}#ibax3 z5;nhulf*V=A-GJ`obn=Qg0pJ`|lFBlf4HMVOnhMA_=@oaoEtP(lF=@zjNQb`t; zjU7wH3zdGc0%1L|R*YB#GCa)|hxV`qK)X&mtp*;NY56cstk06jZMe)?mzm2kH!b_v z4>_I6fq?{Chz&%Aq9?tt=_>t1S2U6y5^8-z_l^X<$_;He1*Ae08VW=qg+n*Chiq$b zW7M{u z-}%@3C6vaN8k$deN3d$t*Q#_UvJ(``+n6#bu&f~wGbgqhktn(%xvf!bImGdU6KoxV@L|w<9 z(EA;K(wx<>fUT06LuIHQ988_@>%4Aqekw?p}m(cU( z_zupCOR#g&Hn1al?Z?m3v+xE%&)dKb>j2G52Kx9mnJIyHI)iH~+IYL%^msuL=)GNL zYWFw1YuxnhGgG$9*2!G4?X9_~cX<1JjoUp>on^JHiP~i4 z*M-d4L73VIMEBN=Z98TX%Pw*G-(iVNo!#u}N?xlir#63t0ibpzB2pY-kWWAG2K-cR z*zKRdRJLren1zvYj*eDRae;5+BOCOQI;Q=WV@p25>O%9$+a8PLzhnf$Ve>ow4sPt` zlZ14Q%t|je=fPa9rO(`S{Ko=T#=93m|9VMY;~I~F)0pK;(Tqxjf9k7Y^i?yKuof#0 zS<7?cPqi1@uxl+=VU&!Qj9jA8yK1S>qO?16QO*gko}ARAl>C!5 z(u890+a@1$x`ZRk{2;1?*=afJ~l*V8@8!S#7Euz8XJjd5PNV)PhQProAHy4{SNXF7)%Mi4I*>#Qr2LRSfggvxK2pv z);+GJjcurz{qR|cPP7OWNz;x+sIviu#sr~`bSwDWnCSvf%!!z=4yj)ji0Jou*87Q* zC7)2lA*&6|1WMDSIrNvosIqi#+rDG>jw@wjr-buacufssa(pdiOnjNQQvaHMRT?OMj<+?VB)GggvBni+L=(<&$BJ3E9ts5o!iM^r zNG&l=J#iWw<@F}1Y=7z3@IP!)jQ{mgE1^*jeI!q$L_@^!vCYTp(^9!@>LkmJx2!OUCJv|vaeU8#d24oxWKc{^)AG9CP(S;qbK~bg|x3xu&Sb5Rrmp2gp*cC0UT`*cfC##F0H; z2K}P^;c6YqSGt{nVfSDE0PyYZv7Mr2M?6|5AIuc&2fS|Hwgbz|(V#5#IoPBJW@5D2 zMP%IV+$n42-~+SC9vMsXZJg*ghHOXUqt?0EPu|i+6NmBx+GN?>1@-I#aW+O|JsR2^ zHzkuq^W|+$l&*@bVyfVYd5gKS?WuCyKRH$GOq3~a&C_(Q42r*gv`^H~)_8-E60FFG z_u@Mcv*@}zVZ!pi9LzIfDUn5Eb8eE@)G07HA z#K+mzd?ib#5?9%cMz|CkBp}NY#>nN05k827+-6^DEpR)(Y+r~d9H=j=on3y0>r%Pe zrvqA~Zf_x4s3P0-{xUapPqkc$eLV4IYW(Ci=21s7x)Y^Na7?gjpK{s}Eju{Ch&^ZO zJuzErJa6rZ={Nm4oXRt(gan_7a#zbL2#MQW-Geza#_OC{XPAzVmL}}vCieL7!))|o zQ#3rzueP|C+GMxxX-J3@bRy+eTkBdV!qJ0h7;i;Q(Xh%ppkqEevDFh9^j41=Lmb`# zEer7%`ppX^@sE?duQjnA!OLpUpdK?shTW%~X=Vov4tVopBO)Qz;>N;%v}htq^) zTGi#I&MmTT*MGv5k|o*C=( zp(Bsy(#{!({S7Dk>V5zpH>%2h&O&LvoyVhR%%EZ0olkZX1)xyB<>tq zgeHi_y$} zHQ4QN>z*ZTZWJ8YqJ?>zIxsk>Sz}G_tHJI&baIZlf@51as=b>WfS^T773R%XgX7D$Sj{Y+jMzA^DgK2MBJKQ| z-xP0g9mhc=g?T~Yz^50T$8)v}My=BXlR245ns7n=7(^L$J(l#*aNszORzMCztZ;y<9Q z_?*vFWb}jsQJIO5QwlVE!HLp`DrapB%;XKpYzEA@D8Nkd2DQ?IIaD{69-qNzNsRV2 zluP{LFE#f_PEpD?&ufZrL_Y9qSHLy9DSp8Lj|tXH?lDIgZzUYWm^WIEH;|0yTXuM2 zef*nwOv#c!v%E%r?cJaM02+!wkVkjedChzvf=BYg~hU6ucy;)gn(uvxmz; zEwfDVA3S`BbelmG%NoR98|V6miX;#Do^r&kVKZJUfF?NDQw6~W6PPv5@zygny>Gc zYb!fD?4Lr=BvA_p8ZBjlTa-naiivuNEyrK(5d0}EN^An2MuVqz)MFluk3Bs}GVf}x zZDx|o5Jh=lZ@K2EdA>Q^3oo1ffwi0}mYVKXNmLZJl~25{{i3S+7OQe$R6v6CUzF1) z#J%nI7)%qCGRLaBGgGilM%mQ1#it|~tP~j~!Qhvy2Jhk>AZ-C4%A1E94ljBqcjiaiNcO(cr;8G`#C2(HeoK*36F)hh<8uS9$RYV`$%H|$gUaQ zv0>e6uC@3X4dEA-O>f9rUC6U;^IzMdyDLT6_-R|xmzFRL=}-j7i&@3w%(tBtwPdGz zKT(<3)OstfnkT{q`L>#dY-lvI8va8=NB*2FNegcU;>ZX z*r8E{PG;Idhe;JW0c#6i5PBW*yuEqzRf}#uma%#HRR9-^2Boi@OlTu(Yr#3wN1j8a8Y4tx2np-EO zNf5b;jmZv58knD`fme~s%a32HtZ7T19EIA4KG`m%U@Z;S8RlyfpY#{e1})=2us}(y z`wzf4$}-s7YQ-r!%D^ucD2^00`Pkd-%ykIWo) z{;vzdPOV%(GuEuCl8-ed^aSfd7Fm_rDo@ZV6nd&B1FCBIh_efP$u_AUr239@zgjL! z$pWm6{B3jdpDZWlMkF;VBQ=V8c88z?Nh3fY`j&U|tJ!fy{zhdfA8m2VPAJQf{+a$y z8FT>Fn$>AJ`m~L8vIfqxVYtiAjTi!aT^AX{uB&W*&`~>y`@>eAT?l9N)BLR3SCP@; zr#A>2mG}(Dgo&wB1|;#P)KtyX;XYYoagVpTVzT2#tF}wsPr$`0FVZ(hlD_JcG))cR z`0_k*mSo&~OzN`dk7QA$e0C1<)cUpQtb@9kk!UV$mQ!d*=2Z3IDga%l2{ecR0++=} zKJJFZ$1Mn1j@>GQlRB+so78Pl*9aWET_df5+7^wxr3(ke zf|fSf(oXf(9?pVvkOFQcMQvwS(=ay&K{ZGTd`OYPx4>Gm-4iELYjPl5R332=k^xUK zXsbpRG%-xZY% zaA*oAI9OT0eQyx9th8f z@>bb&pRra@{S11PnlbAhR^77lxwSlS(hQNV|Ysv;ez3m5YGGBhNP_2fv&%_Gi%@@F0=n$H-l_GSg zTjuXx>pV0VknJmD9N41bKUm5hn`%sgZeL42$ltQj9lxkkg+LZ&FAq+;x! zskOE;Z@}uJ;YZ-j6iNkh&iC*ltIsD9e$o=(#Rxw>lB{*W_Vr2Z2_S%;;OvQR zP~2rvuR6}A@Esq5mo@W;4D1@E-SCbPyA?bRO|^8>5s|eQB50WFl{x{JVjoK*)A`$2 zGo;#iYaPCr*EE4R?9VD+0IrS$ z0Li-Puh?o_K?87RH~j^Vt=O^>1#z4oyfnjgcoZZ|=N))AGT3O37G!v;x z^(oOm{`xdK*{0#=qPccqsZGtHoACdFZd;KFt<6K!7ut7|u+2Q_hi&uODhdZ#O4r+> z9mJ4^@ohlDG1OWe(4VLg@o(7@M^MO&=PC11nf)XWdU9r;Ot`~NQp&7ZFZN(-<>JR= z`=y*hEMT}fHxrI+P3khJ3~>)_X3?(s5#~QKVFQtZEGGGM3&sHBbF3isFVcJ>x9_$# zg#=Qu_^C`xZ{y2|Yy)C|pqcD(0HZS+dKBPr^R3>!*j2ys;<_kXiep7taY~Qy+$=<=+^}uNbI5#H1X=zku zJ!s5&)T;ih)O%J=Z)zP|TYIzO&3Nfz{)%XywN(=f($ZjUmu-ikMfF&{^=)s-z9rR} zP@U9wYMv{G&DLk6P&ez+kVzv>hss{h=-%3#vmC`5esB~ZV>t>8Cvi6Q<1EZJfCqal zZ&NqlIDl%-P%(h8426)y(@V9AAR3S#W{E_ztFHYAvJ;*@dLm(&vTHjM>#t%YmPfK^ z)G;i4WPkcAJqgKSsZ$r;9%4nbSiMz};DFHbU{Y|@$=uZ2K73K(*0SNmZd_h`V*OW&>i(I{W|rA+N=x!h0=-Hg>XGUzo6s% zD1){adGWnp`yO&Yc{@nQFdB&f6_kA`_*oKn#ZTUsw4t|W@C}Wj8z!%YCT8bw*o9a8 zcM8eC!-tg<$;v34sz=)PAFFMDXV<=Keqy%Uc9n>}G@XxCm)mcFkIOHH+?kk-qTG3| zr`O+G)6)qxE&0^Uo$nk#wK*m9x|Y6dN;($3P!@9MV?YP*qi2}$)3c{C7_BgYG&JN2 z(q{GeNoET7+#-&c1|iO#b1$x>)_X`vaRzntOls&B&+IocjNY$PC}G_I(R0U@SRYEi z#0*vAvBr+9y?r^8$+2BrxsN=H|I8e7-wxq8|I6k#JA`}85}yN^k;WxuVVwh?Low!B z2n;Qwl1d~>kuZ>s|0CnKg~KQQo8Og7T#h(T#0zohO~p>dn$@Qpde$$C$XHQrFb&89!6jhIdAhgNk#o+JHe-6W+dY!YMpHp<8{sT-0V<#e zky?MDq-I?T5;~HmAmP?#;X02OvdTY#)@LnnF5N_&z zr17aNn9m9Gn^VkZ=A`~uOS{uD3qcfo`Mn@Yer`OkN4ivFcJf2!Am&(RiKEno%0LBu zC_#wx&Cj#WYNj&v=G2qWREO5?4l}kr?2_vlgjG_ti13x+MKVzn6rHGWeiw>~n^v5- zHzVm2$g5pkSy-J^^w>@+dL#7JEv?wD+K$>eHN)J}9v;}fxgTw%^3wdhJ?zZjSBB-?3Re!bZwsp$7r_la)W+!;PuxN`y;0x zX2FE;)4QvzPZdaItO}c3vp%^S3YM4$OGmatH658$;Ta_k^m7g_U*@CD)g#2sL$T8E zD=za)tk_?{OuBzv+A-4JAanH`+-a_ZJL(V`Z0#RHgLx;-kF%3?0Mkxw`Z0I|d+2Ec z=P;1x)8_I?;qYPW;9&TEY)@R09P^zW!wF@oZo98&eQ(uK*F$|2<%=I1{2DUjccflR z3W$;_jEd^TrR5rOqe>BSljXy0J6YM}&B%3}-vvF3<|-pk2c8gJMpJZMg_YNgy`Jg- zhg{^ffG8)(AYD+3J$UD~A@a{*FYUWSTDt_SO*c0X*2;CAEy}8~K^9i!X?4V=ysQba zwN{Dkv%f`GY(;tdr-*GLc&qR4HoNW|SaFRM_0&#ryss|$KT|XO2YlSRlyCIA@~7$MZoezkIc@|)YGUROYAKjUCWa$- zC`5QLZCialig)11qiFsyG3=a1Q7$4SyAG#Jo^W8jO^o&c?+7J*jFa{lQWR?CfG(RO zCWT{DkZzO9xH(au>`>IOK~ug$v$Uy-#o{Qt{)sZem{W2<8JVY#0_e)(XC}VeXU_&? zxGhG>LpY>38F&4ekL**XeW4%o;oH9W%aJxpFW#iokxHGbTrsW_s0=ol8Z6>nO#lbD z)6dmvhKVkv+~^g1(8|875)R(JOSnh*(t;IBd5NWJmQ0kVidvmgj;^Jk_%e6D#5p9}A(dK#-U-$G`C3?hJ z#4>JL;xawr#7Ya4K$5tPY5^>SQCfnx#GQPucIKxG`{^~+cwq!-QNkSlJCi9V_JV9I zJOvphdP)e1y@0Z=i9OHR0M&^tGar~@1z45S+O>10lj1|x!qmiA*vlFVa@;AWaGkv= z%PrfT#dMRk5S4A@MXgWB%EOU_IO~fvCWPv-#>b%L-Zr4USkYA%=>mWEvN2Lv(HQT(ePf94Opw@nS_ zXZ#crS`)&tN6OVsaQ)B@z*&*1LGtc-*4Z( zOSilYZ=+k6s6jIDX6N2#yIn??p!|kSD&MHvFEYS~bhFXEzDc+A{ZU=N@tCST#_imz zKW9Jwgo=Olalzs#-F}5rBev+~5&QP@y5-|9>3ZSis`d)EbH97Fefu?k3FY5?RDJIe zEq#f)7wP6P`}!riWjHqc>#@fzfGC>#%}?6bzo^IGK~V!Xy1fy&t<%l#?c1ma*_i&U z*Y$C8#@=CD_rLy+`f#^Oe#AiU(ao#2cAsu3(oP9#-%jm`pSe?QKdO?=wEdWF{$XoB zk<{L->xI3&FYF!mWc_Q*@|ofIF@KVS4rV4!XY*ZP9U`@ur(W@PbNkG2ls~<9B=ksYM=76s6aOPM zN`lCol9#^Zt}2uv!DWFtYM*er-()_$Pq^ot29#osbi+@8b7F4!JeS?j4K%3jBUQ8j zTQ^E{e%n#gx^Fmk_|*8bx6=h}Ke4sar^jV93`&bc4p?X<4m=sVbO}>eYN%ol>K=PM z=95xg;o6pO;wEa=$>!>*E!=D_+c&)IRIoFV@RK469`FGTg3o5KA^<%l>}=)?vRVjj zZmEJuPOpiiu<8=jIlyJ9^^08l1kNqvlyE}hu8V#C#j|Et3q(J^DOVTy6!Z~`<<>k&hmut zXu>S-XDUK?l8;ylddCYd9Uc&Hp~07t|Ml7uj&YN80sk>SZQ_n!Y zteIC~AT?Y_^KGCqT;o1Y^|^S1IrEUPqg>Ey8-p(I zv^b|JjxMAXZ;vUiZ*GtUepKAs5MZ|le0)L>P@&@4YR z9N$8J=r;3>xz}i}KQw&*A_0q~nAj(PqK_eS(vU1a*PwJ3Jg&)?=8HawI-g_ZTj! zgsp!3e81vuCGz*x{y;3Lw^W$5|N#SvPIZrn@@(=vClK&_Xb z=jE^K-sLy@hHl|u8@R@gL7Ow!Qjju(vMnLReMnkj3vf16lQip{h&0Z1H88xYnI%<& zmA|T3QUO*`-IDSp!Sw87>I*vBRgLuJsz#!=s8t0O(=!`ii|8Sk%5`2q=%IjW)$Fe- z0K^qgB!l*^758<(%=WazINCCE^cTU>6p~~mT{JXFQn-#92bN(L+4v2e1~}Qf368E> zYhCZN@m(bT$RzZ5oiG!ByDl-JcO!?`y-t`EPi{@>t`(S}0J*Sx<{T_BH*Y*p7*o*20%uVChIkVl$C&&Lcbf?U$MP z+1Pa=r9;#{%M+x5IxtqKMo+XnY|GuwgsjI(p0M{i$Hu*8;W&|RPS0*`PB53ZX!|+% z3DuAV(qqC_{6cf;y09(0MhksvfuVk1SBCnZNsF7Cr+W|TKCs>V9=9>#bv=VE%j*p# z$U_gql|l+X6;S40(!+oL^vumL6KIxCi#ow<@fm1_19n9<8PLLeV^Ybl6%Jq~yuaTijGYrg951m8T%1nuBao zzdlyKuUS~*5gkQBS`N-k5Ce)6AdTsw-UnR!TAe4+ZhOXGBbq-$pGA|j&|*M# zC?(DCtFy8uz|%(dj0s3LGFu2`BhxnD`jBDoIpGHM~|s6e(1EuS7qgW&q;u%(})(Six1S z_A`IQ)-_k{raz{t7}93cI#q4~`a_wl*1GM^oG5`jF?*^#%FO!Ei!zT~5JP#(chRFc z*ULg+A(k#CuD0tbyKNuv`UK9h%JVs?p}at0SXkH91rNQY6T$FQ&L!}>qiY0lpPAb( zh=!dfUneUd1Qq!x@%Z6-rb-(Kiob{P@Re5c+A*wd@k>7(>U=^%(+DHf__|PtNWI9+ zQKQ{mM2#!LXjmn}NF;0l39SvSaU5LLSaog!XX_&oNkb48p^9YzRTB~3iT$UiDIMz= z8ynjOlhYhQAF-GtwylD>4fre5UCi5$IdxZ4n*)gZW3DK);+3$Nvuk(4T-ptuy;V2d z_}-d^L@nhKW3_Cb8LGZ$a)3<#yt&xg9ga7ofUR`^0EZwFoE%h#)*I%7K~si|Xuwh; zZ$?MC`MEyP$?19x9xIH;aT}|XJKw%lrX72RH%!?k$lYI=6S=EbnS=E%evx zS=A)9Jm?tmG+;%k39kcREhiGy&x(rKJO%U71KMzhE9 z;SIBg(re6n;+FYq)kd-6+_l*Y;8;p!GBg@`OV<$X6hp&;a;=Uv1RbuGcze@)Lb!`R zw0Fh{Xg&U$=71B!sXGk8+NV9Nef}D>hfQw}F`qdx{4sv#V-|%wVlbb-DE#8+{^w+6 z;@5D+0m9JibW%7m2i!e##7W`E>9l2Yn-$yvS+*iYk^b=sEND+ZoCD7eTGJ{tpExNj zH#Kv1Izy%x&8Fq#@caJE-bYRj|HCIfH zdIKzVqywmRK3rurhb|~W^9$;L9RIO=!OIWhzqz0TFA+3oy!FnqTY^lNO4y~3E#SIn(<%}gLgzrCNn2X zquPgoW8)wjf!Gi=YilG`ai=%7u&Wd*SgKcb38O+6@$E;naU7lE16kp}pE@`@6MVf}f7= z*#qn=tcBy(!tv%SOT)M*i0C64zdo#w?6wf#5{EBQdR3BdV{Mq#yv}OLWgT&bupi!G zafUhEWhsZ>BA^~WPF$S!F^Ko$$IJ=KaCKlzWslWQv?jS7`@NQsa{3yPu?YqHqUHWC zTmMvb6@nT?s|9dVAU@aE-j4bYl+zWU?fZfYPtK!CX{1D(x}~4u|1wM@jT=V4!5_pPXY7JQf{DR9gUZyeFYcRhv0NM>Ly?5Pq8j3L+(Hq9PHMmf({H$* zjc|9zPWSfW&G#g#j^~*>mxt5JjJu}Yr?46< zENU8lA}yZ$ z?)u=(T_Hl{cj#(5t?ZT>mH{x5J_~yMrca6G-M+vY=k4fp_bxgL4a?L)h;`et@4g8dh&Gh@g}+ zkNhe-y39w28I8&Nkk>B3v`^N+vH(Ogv#lp{U#gRZYg%0K)YxK75Ldh6R06gWi6V6f zNv2?RUX|_aOV-^T&=X{U^7@IYXjI`!n6io**wwnczFWLfZ=p;pR!_dm4XOwOvz@`) zK_9wHg-m4*D&Q3FPzLLncw9D++m&){GeP~y9fUWdQM8RGh`%hf%_Ll)QmbIuC|~VW zwTG0;pyo%U+zrhxX@@d+Ley$c6l3dWRg%0S9BSY1U1j>IgI+gS%|)U5pxilaEFpLT zx7ccBAQE;pzh+o>daFgca!j~C{bYbF#B1*6Pjgc@uc>Pzjunr<@E~e7yhJ)59H*Ve zXXmc#FXlPpvwn-Aj7(NN0;!smgwd!$$j8;kTT~5C<~3FfZFurs8X|rVH$>=EK*s%| zQ4Uq|sOMIboh3*9EBqGOIc{4p1dqy@u2f{^XbDjKf!X4g{_^}*CN1Een{1cSeBN=hxlfJccnu)u&0^G>Iy zlkX0uYGFj&dI;Nr5n8x3Ik>QUSy)y}te$d5HE`WfqMl`IdLUZKTRPLy8W_&U?PZ8v zGb}B@tH255)!&*7z%6;+5}(Lop4dVV4LL1pWN&{nY0(*<9j*#vh5-hKM2%pmnY$)H zsDyAR<@O3U)794K%FQM%CW;fW534l+_{%fwyoL?<7`8JgturYhi4n{U%Y)2)XN4nA zg=(vqj)s(CveQ%<7|-;uB%M#Hfx5CFN`=0=}{!4AEx zG?H3XZ9fl%IJUJ%KemPOI`SgTZ)V0`nh~ND>#oe8OW+!e3TEhy!Nd)JG&G`&Eiq?r6ZJ<^5w62Vt4v~*Zgst}XkA@TGb#!HI1b&31 zJI$K*5zZR~OqB(3;+=N4!Nt?9pq=F{0-d2`a);a(h4ZO+DQ&zbL^9Uk5Q zkZ;baDKq+<@TjsCA2zZXfrJhdGAOUB5t56UCU%_FDw+5q<{pj)v6RnLZ$XT-l^)C@ z8(kJ(V(-qTjLPisi(TMZkLIzo8mv!l>9Be39MS<~&E#`gR^P`Qd2TrIfV^@cNm8O0 zK!TbJkQAmPf6BaS`6#7Q(=|@g%ZMkUD#)k74{=;`-?`za?tV=%GY4pj(knj}j-DVs zoiN{4CLxrkPROv=M}{bgQQqwPv2YJRZ_fN!xa+Vyu#m%D(0C2|fpdm$|5&(N5q4l@ zL0)W%F_`B+79Pk;dz}~VF_Fy`fo3ck>iOcrdXZ%>EDyMBoK+4IeUG<3e_l9deD*Z= zs71ClkujR|SqT@wwi+c$L;dM_Ay&9~`MhxY`?4%JqX`jQ(3&Jy;2i`Ae!A)tYlX6H zUH0?ZtPE(exTg4}^9TnJPiUZc8N~%jACO@#I6s`l2)=!OI3ak}Cj{9yF)`we7jEez z^(@2S-0U~}wxJP5gkz1AS>sD5C(GyH&QzzO2Cb8mHB92==}U$=H!(AzD`$1uEd8=X z$Rn*9=A@-MHEyb=VfHqgf~e2CsI@jwrp6FRDfi`UF3Thf%l^C7Teo$BzH)RZ`o8TZ z3bisX5 z=EIRwZ{$>gCDK0-ly%O?Z0d{zs5$ewo^an?`fS%`NPpWqGu7IMcKg;Z^=$%o86EXTZEiUKp0fI5vu1BB%6JJJL$*?)B#A3&Wl4h+xpt zoZ!8JMmK;eaA3p;TMO;``4S57l&65sU+SiD#e;<|71uQgIVy& zaE(90-22IJqQAv#alelL6r0lL^j-C)8esR^uGNn=)!<3;!##OS@8<2hL)M1>lT&83*cKA#r0VNWYiwX1=dHl>IaXcU za`Q6sH&l##7BkkOmp}!UlcIje--sRpU)BEvh_#YfbO*u4%^_rg>OvY;<*8LoGLy@+ zgfi9bP!yZI2A=as+1M*O*c*iQq&0X|$i z+|c~y#ccZ*icPD{Z~mIemt)vPl$os2lIr)6mi_2N!;prIm(Asau+WfsCm)dsj4$W_ zj+=H(=VNlxjFBjv-!fK0yRmscMiP7F6om3NSa@#dICMgh07gE8^i7OTv{Gh;9S!)M z-yuZkM3jvD%wmlD>Z>@mU}+X9Ivlav2Y0j*Wv2M2&h~fG-9&#a)?YiF@y{$Z;*t~? z&^gflfjR%e<~i>SGNLvM8)7dfd*!u$%X^w_n(VhTdPlUZUsgfPD&zc?P6!APkI{q1 zI7?#DncMCqc56zWwN%pJ2vYK>m7^Ww7wzLeO>-nBkP zBr=mdnsk)~ce`hEivML4In}?$rWTmuU*$_;sV1y}Y)h;!@RQ&*DeV!5etg|O>?`sj^v8!R%+wg&NavKudWST3tV@g58kJIl3zF7 zQX0j&BZ;p4Qb+SxOI+d(2}9r*QNaUytA?f4qB^il2f}A~7B!aJU_Q!wsDXG>rh7)6 zXH0l&*ZR%Vw>>#h_*;Qdu1JguceC&WI;eq%v`mKv@*^_7B^=i7DE*MFIT? z0Nzp^XqQMop{H_$AEj1&@Y`x0VL}!`Em?$)EW(5=EV?`Up__G0OD^OSv*d#HHW;}~ z_OAYbU&8%0*@G^|I;tS9$I;7>D5H_C2e!JdORnrJv%eW(LftG1yTR3rD~cLSe3w6> zOxjb&3H;iD5LYJpPEw#+sN$h5Y5DeMUzAYdEAf|og>01~Zg2Dz{8lP)3)poFS;yDA z3fk#(oh$9&_F8wVE$-KpT@C0lzSrT2^zA zQX)tpW`?+_>U4-v46wq#M+4|8)c-pD8Ovv~p z=%?HJk}q6$dpGzcC}5&@TB%#SsXV62oG{FQTn%#?2ynHyuaVbG7R#NGcZaleWe|Kr z@QY2@ai=1UYWgG$p+7cqB1SXYN&*mD!9>C7ixo_eRJbzf(GzL3J9DT;HpM?!vtqJ$ zkS6eCZvnnC3g?#q#$@jRH@oM-xG9_q-=;8zZF3H1QKm97H5ZyM6?_YiO5W_lFuUN>O@k)>8zwo zq39$fI;&NAw!zZeZ1o{iDf%o5a;MqKT$S4loZ|?nqRkF~ck1RUZW%X8Ba}_>RYPv9 z;tou2enmu8)Si^u#>S{Ut<8JZV$Km8&ExupL-Z%Og!x4>TA1E;EY!oSUHC{oCw8#i zM2MiMRk|HJ0uszZ;9k+Wv1_DrOEG|MQ3V=^oWq!MN_X>a)y~iLb}k{#DkF#n9l<-8 zF?_J0_G1EmRm-i&Fli#&spTHF9a^qdN9(lQgcnr4SJ80a{*VNJF$mu|+}5J99MCeE zIn73JYuPk3?^p#cmB|#L&x0Td(ezd`J=I=a`iE`KXod2)566SeXsb#wAL=GFUy;c7 zD{Kr^l@Taolh_#%vVN)aSkaDjQ*rT(vVTfg!29txtG{opj8rtO`hJ>CKbNqx+9W;8 z)v_9Ek298}X9?>YTpxjL+B!w6ouE$JUv^1T$+`Jn8NZtoaO11?8nF=VEAN6KKB>@6&fmQ1!Hc@*=t!yc~U zc%%SYFO&4EI3N|*3S6mIP^?xkSI!{#$ zS(AY!1rayKmSfUddUJ9JNisMa99f;}?yFm?s_cTVaKS;pYhy&RvXV(VLV5}HZA zUEzjxU(8oD)T&6T8QDM@Dk`1=uv)c{?IvJ#dg+0kj+%aUwz^2qV3v0T@MmU`u~735 z?Qp;8-V|3hgBS#oP~s)GEVaXJA$2}NKJnHpbuePA(qf(2RF7P^Qu+UxIhg87)=R*= zbgZl_H-VUO!)#y7c*tyjWd(8XKwV0w70OeUO094}p-Nb=B@fv#%<-~(_Gz@OXL|A5!g*|>f#)j%0t+%4>txqh*FCGrbf-oa zv2lYLu0x{8*{>5+2kq5Cw9DBtnP?*M#XhCjJL_}>wAej%Qq0f-kVX)VOf|Tq_fT;z ziqff}?z*1r+)pNm$@9%7{4}LW)=(<#V(p~TuJ8z$po9L5{-$2Hyf<>#L=$f*m7+-kg)SRlCSI*qB=9OjO!^OAVY>@(1A)LWgQxwp2a5buE z4Xq3`@5wD&>f~RO4mwIdi2i|HNvxO^XOIF4pu$eJZ_+aFQ)24RjsI^X2!;sAuNXLG z`TY7jaVAJi)>t^05Z&bZ(ejg{Eyc)kk0g*o@1Kz-C`)f4PTr<8DOG3R_DGY1-cpe_C0w5)^qWDxw8NuDc=;Cwd=6z~Cc=K=r0|Wx6*K2dDfC%u3Xy%YErf6TL53 z9m7sOIdx$xC{+>i49O}=T8p9~f6CDJcqP{9tqHb|-{ttlST4o0nBl}1odp5q^^1rG zIb52f&cs@)cz2z*x2h33Z*ZrqxqxMp32!y8IC##A+gc|5e?G5Zxv71@>1oUp3=S2g z_63sdU9vCgR5GOYRzh1LWLBP$*V7t8sS{V+NaA4sZPnbpO`&7t|v+J02*5hAJhHcpci!)*mZ;6Wu)hWxV$#rAow>{OWR_&~D zTG>GsoZ4v>@LjCVX>FtK%9ktRx&A|D&LhqZ=&Ci6UEKQ)^VfL@3Lk{w0@oP!+oSOd(`k*4>IXcF?pQWo<2U}jb7w%n2G zi1zvQo=n+j$WEQHcPOtCUeQ2!1)lF(OASMOWC03&uzz!*=Q4J|eOVd2(o5{j)p4Shq## zgs3~gXm^6q?gZsX^p9ExlD9(sqi)tHe9hV=Vg!@DQ{m&?Lb|3Nrw;X>dj0(&_7tb> z#l38eq(x9&$LUklr-oY{>aF1xRSY*f-GHY2A-3Dwc8DZ1=k5DLYPyRqnb-?%sn{+i z5yK7iYmA24m>a=X!8Q_|&RHPY;KWA~4QC$=@kkTVt_3$kD0o4lokHyT01F+B;o0yvN70!u%U3*cPD z1#q4;0344_;RqetgHr40Pg(O5xV@#K^OjP!zmVOI*bk}mXf|+^Iw@5W_a4F-U* zm9j`>rf5~jqLeznfn5bpy?bt5vPQ)EQJKhvB-C=Cm_5lWI4t_kpmG(=NUnkz$yG2j zs2wd~>iU_O)04ebWf?VY72iroyMAygQARni1+S3CmzuwzTiO`tmNtgsC2cH(KS}X| zQea%pWJar#hUO?s+F2)tvo6f8ef%y2w_U;v(bdXUS+jdlqEYDYL#ZVFEXP$mt&OXA z+DNX>RPL6k9HOtaX)8|RiK=pVB{it7|8~_0xB&u8%Y#LjGQ;ZwOog`U3M4X5WQ%93 z^1Yf*aq>o;=ueG2#j-kQ5JsQ%8!i{syAM$*aogHyDqTu!rW!oZkLmos;5lfYL^<17 zx70soI|ov`rFBZLQX~QNU$aCb(dBe`G`f>Oyg$wI3s}l2{3?%gj0SoXqk-QX2j6&G zD&9CtB>8BZ<=6CLqIZH*3ywi8fJEA&akmhODiu$z$^=)=TS`ctw6t0s;O#FO(`a|* zJg0u2>&(G(T;vG*U<8%3oB_DTMNzDFR^dvgr=RK6^fP3@D)&<-Lb{=O7fBh{Q@b02 zIU{~LVCca+>hKhz5?u!_O<3C{Hk?uZHO}9(^WC3~TMVq={erl`&NSR(T$^lkU_+dr zuL#1urT2B0Wm2<74mIrVU1{w@tBUNaoY^ePanw`|10lysor^3kpzS1XvhHXc23gfC zcM49I6qxZz{BI@3pgO->Ywg|C-~EBNqq;c?VL!-rDT!7;KK|{sFU0z6*7?8l*>m=) z_FdJEpgzXFHcry1x^ER_U#`)3Yc>8z>!(#Fh&h!6-srdzJE`h~8%*%6Wn0d2aT`d_ zY;f(BJlVujssB*L*Nj)?+1L}PC^oM+DS+{$+}6HwX(xa!hdQGrhw`<|H=uZ z+ysOf4LB`_iL8tb0JS3%_uZ7$Aw7AJeM72djS_TcX&wCFg`z(#d*=>-bv;(NwKHHnmW$1Jqsb17Q-CM||bGmmd z7k0Ow$i<$J;dbGezkQJ{N*m0iE9@4fbytLA*voY972)pwGv=i$!b>x3V>&Jqq(5px^z%uAJLvAm6<9Yd)I~Bc{Yl(k;O=HjOT=eGh`&RxHYRdc9Pun?h z_oBBi^$zEs+DXeF*wdAtmXxpMcNd{LUY1rHDcrPI(Hq6}C9XX1e!$x}dp&Pj(VJOQ zK04#d)6w?-U|Qb)gK2r!LN}m;Y18-itoE?}f#)qe(siVP4i2GmI+DB1b2o+uRsiQ8 zTlD7e_(I#B=f(Wqh5H9r7rhphCC_i?KFhzfA1U^BWSq6wyZe};w;%P+)4MhG({_^Y zlq>yt_`|LP^ZLEezx<4kI6!XT+C|+IkaLpX={VC49=gi4yLZy=4gA)?TzT2^KFkk| zCQ;v5K7-Wf-*fnmgk3XP0Qb#l<&8u=mp$Q;M&3Wz0ur= zbUp-}GF+cNx9D|pz3m*=^R$EaQ$C@ld^z{}&=r*LT2sEB`$PHnAa;TllZqc zeYxy9dJN^lbq~LVnsiR2 zzf;t#>v1SNqo>Ge<5Wy>xR3{$JUpnIJSi^wf9Q-WUA;cOI$rN3zwb|e@5ygL@(8XY zxE{=CM9f8gtN!H~;6J9OK#+j@S1O3wh5Me{iu@l4@uE=l1lOTl|BD9mT>r%sy|G+Z zaovZjz`!GK?X_+|8@OtqDK|(V_m%SXZkk-;-to@hx7dVtoqHjL%pA&VL3$z`8b`IS z(Hng@{e3&X5fzo``IUa{rypJpzub>{6A$En!r2B2EPvvv52YVYLBG8B=zkAKj51IB zCLEJ}>c@TNb=|zqP3Put$LzHa_L+H`!%}qjgMD7purpS!IAg`CMa!ZktD>_OuU@hE z6fgdc{Zn4gE?$0? z7ynwf!Rd=nU$K&^ztgXr>&G+HUiW;syXpB|*p~guroP^*e;5AE53b`ZrKZT7c}<8m z$-zp!_dXron9Xu_QtwI6hO@JK>a@|O)}vQ1I&I1Fk3@40;qs$3GVMyj*|6mq85KhQ!_=8#gKsYwD@ek&6576;n|G|9ifpGNfm;XScBT^jg zzh>o1AbgPP_r=fE_9m%w)Z&jWTFK@ow?^XVF#%Pu75r}$bZUgc|MH%f0%|B!kyS{KlO!htp5#j#0%m0;HNh- z#CG$-^WhF9==>S|9J&9BHOo(4vh1)GminXjab5lqFMi!@c!5^enulHpM~}Mc%Tz6% zzGT(ui&md}Dm_i;?;GaL7hs*6zI?wWL;p|az(0lu4%KP2O@)(JET09#n&rjc>HYj4 znMnTQz2AN*T%T$A`>j0BEnjpxeCAEF{Lc{X+S@3aU`~7`9J}+$39q_KWo-ar^~yyj zua5S&#d8;}T0DQTIGK6m&*85Ai{_0#hizluP~8#Ly2(qn=D*%<_IM@iCOg3gUkRuB zzc!zFg`vG{*1r-?%6#z-^C(yUZu90V;rx!*?oihxMSy|s^RrG~aSEUN_y%+0tKoeA zesjyKBx`xz{P(L6|D|8Q@-N{IBd+;6HG^4;)~r62;jYuKW#;r5g$1VPTVTEQTcl+2 zVx7;{v^i(K{!n;W?+bqkM`ohuzeQ1Xh;x^%IQg^#7p*#U$>~d0dpfDD>#yO5b2~oC z5p7LFE2E>v!j(%-rdK+0W%l?%NkF1G1-_6P>I&;~B=7%c%H}g!ku#5jAGdxGt-s;o^iKx= z=ZG{HAMs)MlDQ*S80|l1ew-_e@&9PHBhHZB@KamjIGX=6vpk?1&zrSDVU~YG?}I_1Gv|M!cS|FF zx6DJocP-BzR%q+|%ro?D_3{cvrTD6 znp&zA4;N^jH$NN3u-BS5h81>f*|3EwIZ>P!-({u_=gDK{xZ#DP{F}@j!wXZ|9(-19 zFz4VIi=&f7BOXawUm0GQzPHYsY|5Pikf1N!4_US5q*Y9q)r%*)(rZ-OxN7CeQ9`?ms7n%)ig`QzLL$ax1bqX3UexP^m4uuQ+{d7EJQ@F|r zZD`N^bOPA3=QlPrsLK}Ho;{MWDLmP+Cyn>b_QJ@SIxDfMH7PyebjP(Ieih@XSiES} z8Yv$-_Rw-5%R0RH;y;_iMiq9;-1cXO#M?#{+WZ&H1EUH@_}?@mMi-{Q7UqpE?B`!$ zE*f3flWBhUXb|zVd1`cF{Irk%h34QcmQ`APV?M%v*^*UE!7KEPx#^yXNOjNb{dcoZ zM`7gZ%Ae7*P+ubGoO z3lsbs%_W@-@+an=PO=+sF~8|7jPn0x{@Pg>GivQ$X`y)1qEn*Pi&mmtrhQ#!ri`K1 zo#vo1g&qA(X2qDoI9~lcmrT#!%m)3u+H4xboV>&Qkve04@;6#a1x&R6qUEP7IfaQV zEe`$C>^_#NubCsp7Iqwc<=?3~)Jm259^Ya=c9T)JO$06u&c!@Pg-Hsg=ftF zj4kX9-bRco%N*!uWBQy+M<0 zr>r?+*^-l)Eve*PBsu8CH<}ZpLfe=Ps#HPzyv3`QtXzD`(WufO<^l5swX?ad%6k{D zJbm68rk`!4=S|0PGGBgEbhn3@S}Kef^V>IT8--$!xCG_^H zzf_pj{@tGMLGK5yS-B=Ueeo$vRwoT_GCw5|o&S<~sRYMd_i-~NhIW6|`@ycl*Tc+( zm-h~tRCu5{xbLgH-E9v2V>o8`$`w$;ij_+~vV`G1qX(1h1GD4wLThmO*C?2*f==_k z>4o7O@ws$5%G*x9%WlC=Eg8|IDa z1=I~a8)1%|0VjUxR`YVHFxrfZ3q$-bnp0;Kj+prbM^-isg()#J7EeL%S+mT&|AHQ5 zX5r6!QFkrLXAfU<`bmo+@z>2uGYakgXU%>y(TB#)EQF(#!n$c_Qtv1TZN=$FFO~rN zhAMTo>2SSDI|rPFf(8D5Va}Xc*fIFCp6%l-gpD&9`3CdE%);nEr}Z|?m9XAt$MYlp z;369+8j*bFfU{SxT!M~v^1MZ>(M7M`VCKv$j41qnwOt9A6xFq^Tir8VeFqq328Qlo zW>|%cY`rglz%Z=J4$98ZE3(K8nS%zLBIt~++JdU z1dSv{egCQM+f##L@?PG%-}g_~f9|>Gp1W4fsjBYu;(sDJr=vE?+=#wlI#Y9xi4$*rJ-y>L?KyQ8+6E&Fj_8F; z==W7}8f5Z&O^?OWL@9q-?C*;GqTanAnq_0Qby+9wPbjG-P{8QYLt(L;MK2Nwc; z2VwPoDB^>(R-C>@D+eb#IE>uj0TLGuOYikf2c`c%Pj~!Fl$-y9T#WZw zQE#x;%z2p<>eMJyp)bEDS%ZvhXmxCARIbSNV*FsO0e&=d)?lq^B4&_1pCU;LDU(dHB|S%udht?();>gv31FnL$twWTnV4QMQfJDzD%+) z+5ofZkMAhSA>*}bMn~dgNNW}=K9h=OnC3CtrwG7Ep4D2lpEYpvG!UCdL-YqF+TkjK zN;Ed`+|!!vlBFiUUXIE3aEgnY!WzB_1_ja4O4d@V{W7d&_;7?lZ7NK)gGL?Fc+F}L zq9}2ED0LTS*(M|315Uvs@S>pxUVj^eNVeq=&VW)rh-o3S9Rj}#92F=7EqhJ2jRrwp z-)!3nn3oF3w;wX_tXp$+qwk^25*Q)ROe>iEHz_V$5v{NH2r|HxoJmCuaXl|7-=dV3 zj#iXkA)DHqL!n2--XG>Kol%neBU*(eYkGI4JS;vsptVRgo~)Iq>h$i(j<;c_Rp(WR zSe4d8eYQe8TBW%vPF65IcxB$EIvXQkMVtbl=7Y>t&%m=Duqw`9KyVrg^+@3v=G>!m z(X?7CNnD1!Ey?$)r6Vy0l3VsE&fCF9_GEf<%nzxhiwxYdMR8Gk@UMy99y5i}6k8bW zS%e}qC?>bro;320vK5;daoc53fGJWavwsa$DX>Pe6?Fq}dW z<1l2n9EM|PNop7{59-2zaTp|*!;s2#~4 zzc2m<(ko~myP)S}=cbk!yP)UP$G?f}ik{OUH@RcBHcnHg_YvPEa53?1pJbB-S_hN5 ztgjffNGoiRpe}dDJFyo9x zhBKVbSoS%vY8sRpLn`qVG~0sHjSrTcvfu?bTFCH>h0f5RQAdf^_N6e{TM8_yolJ(n zX`0|4H8qAXvO(!Ag4Pj>;}y~7tWm=l-#yN``R-3x#3J%4MV#_ijs#`n6?zX zhL5)(rW+rotwrZR{|>6p=cfiWl^p zcSefuR%tf%+mXVyTI-m%2b%hlx~XVB>VJHMh^*Ee`IjN4fyfSO_VK9l@(8hawdTz$ z8JSVv2=!JY#h*xhGQ>vp$s?2P)@U~~dnzU8^|~rK6aB z6I%(Vnr-Q?+P*|S$(y2>Wq@j%j!7W7`bKuqXNG(&0;R%EX)B|ol~BqG$#pB?loiRP z6+DzHZd#|!P)Cju$JS{L^ID8fjjPpHG#y)SyV1!{*J*pqzG6T69d1lTb*=iN6|2nl zo6!8Bkn8hclexnP@XtZmcC+nU+=kod7srHF%bJ~tOl(7Cw0NxQN6CdldPNxQ;qd2mv4YX9SC|E6)Ga#LmrHQT$TcqO_3V8O=|jLF1rd1$QdI6;Wksuh8nKx(`usIR@lI zhG#5Ht`tqSXz|2zQj>BTkuBQpHS84Bmd}t&BPBh_@Qj`Jp`m-iRK2u~O2aEE-EMsC z7H4>-bc+h87#k7+r%g{bWGc9^AsL=AF>Ac&y;W<|{26G{EmHP3v+Z7VrsP_d)#lW> z*sxV=m3R+&dXum(A3;?aj(wS?tK@QD#vWQ9;)`j=$UM#VIw7XtQfB6?M(xpSYpC6Q zRGS%j9gruTCX*Qsr*Bs5v;MuCI(0;QIcbUPdb-;_utE!RoZpqThC{dDG?C z6-eKr=sV~cP;5bpCAHQ5ZM0amU9%O3#-v(lxu9>k&tMoWSM&n+ju9ueYg5#h#|Xy` zL_F$@6@7MSZ4+|`Gv#}<`lD!S^J6D0_KEOs3FLGI#&CD;8+6Va;I#X&7cC_h4V+&o zu@vGi{*csl6o17&trk_4k_HeoMm{}mz+Wxuh2C!pN?SD-mv?AC%fB6zmMf;T>kLjc zw+|8Rc51C}eoV@Pn)9!aXLyY{aI!_uXnWiGAhKPMTwZ@5d zLsR{kRY!FeK`yy@zR77e@*T`&ZdxlJ#vQ9+dKWG@srXwsUIKIJ>E-$!#WS4NgwnYL z7M_86z3ZG*a@5d7YBtE?v8#$_I2CuchQZm;pk_&bC71qYc-r3#pHKa)l=g#-BR8k6 zIqF@fh!eZC#`&jU)Y$K*hKh^3(C;d)VRU)A-!nYj?~)t)y*bJl`dw1l@6Csa$-A}2 zu0>Fzc`Vx@xok&3~$xH=RiV`$cSdQ7Y#K5V+Bo2RO_vNC400ciOnc?gzWb;+ZsTA3Y>NXHp*<<1pY2KoptE6 zMjpPOuE#_}WP1T8_fH@xN|!J}C^>4jcSTo74vRQJki_0Cb>+&2n-hwy3ob^cLvoO8 z^h$YgKe*A01K>t4o&u+7QRBt4kQlv?TzVmSjTc{_L}@pwbhug3+g??kuJy)L+vkHD zYh3`Isnz}l+Wtdm^%0cZmlXhAW9S>>6sF*<;)=2! z$eKZ?8JukTJReEk@U-@9J$3$i@sAgA@>sOqqI;2@pS>F;R)f+M%5G>`jO{~Gb()g> zIK=CaO|8lbZiJ-Jur*3~^ZlA*dMl1fj0S(8nkyeMtuS`KqOG5ZO)-mE&h?ZYxV$Fd9B zJ3!GIC7bJXpH$|0&A$MpDTG`atzWE9{^eJi%ahnt!IX=L<9rV^L1aOupOQa~GOZCp za|1GwtO+05pU*8oHdqZcPw8Y6f@#nT+zpwKD!)`Kzde!e|tg`mu__kW;+x8hWYm zCy#zik>YViM=0)h53mGS0b~;NvH%WH2u-GWmel2mcnI+YR#V2v+R`9tIu-WTK!|Jp`AE z0e^p1vk3M<@B~1iszZQG*OI>iohyKO08>f;ndrDV@K@kV;BUa+0hwy&V`u$oh5zUL z#E*DL-j@M>pfjL*k2sr5|CjlRAFIGvc?BF$D98uA3Y-Nf2uQItnf?R)gkr2f8k_~= zbAZLb5<^9u@W0v3z<6LD@FZ{qkZC5IT?K3go(A3q&I2-ag5x&>^P0u2DW!O$vH_8o9Pbe}NjZ~h561sz`mehtX;e zt10@~6`=U#7+@r@3Q-7|thhSQ0U8250Ga4`7!bo1>jXfipOOzu{78Y>kS)W7@m}C# zK&G#8Y=U9B1ny+0;9BzUuAy&~Cya)S8UK!)LN!kV&j2TZQ^3c-MPLvDG~{BH-D3oHN@r!w?1TX4J+*aPe{$Y=Voet}KEPC%x8INlFX)b|5}ymx>p zw*iBLOgRpG4yc`|TzdX3GGt8YSYwc4!U8w|P&`;B27L{nur3*;aPC<^CJMuT19Yy$ zG6fC-PXo^o#vAk!2F1xem2&@EF87eTg=qW>s{vG+Q8vR7At}$fPlD~+GzW^>79H7|okICPHoZ`Zt0aQjN z8!Bx9P#oBoaRBXK3UVJHfK8bUwSN5-%APC^~sJV1iP8K&I`GB>`FRU&$%N*aM*0;7VWvKo!emkmD;(4H=_w zJO!Yb-dzUyAskc7cEj1j0EM57Eu-+>JHSZj!~vNuLsr*N?uYV3%Am}kpxhRKf^L5R z{s?>p$aF0^h2c&B6f1knp#KgW{RX)H7N(2?rUOfWEx_Zz@dW<74SWu?8P1e0z+gb8 ze`(-fl)q-h>2ir{Rs21?t^=h)pd~=wPXWmL4FGxnEI`ix9w6rfY3Iio8gNS&?07g? zO~X0iU2NfWbFUe;-j{LQXB@8o>5kXyn8gC1hz!N)=fD8P|5^evbvmsmLx8cs9AE|T zb3mp6&>ael01}3B+2;_n2O0rxK&BOE6=mnyK8o@P4qgJ@1P~j_Bm|C>J%AI&mIKd6 zm~sptCtm|dcMuFt#OH;x$+bDwb*5GnD0&y5(8xtVrrPpk-(2e}EPFl_F0W78^Q`yf z>rb9N+`?L_KjZZBb=G+d&p0J}x3tF49$&1>zXJ~uqs(`${WYUwEPh~L^= z?KDcfPM;%3CI9NjH-V|QbV+(UT92u?7nA(Dvvn#{i~Y$7U959ex|{NGH|uArYh3cR za_c&Zvx!hIYq2_aa5B-$y2`AYDw4T3S^Z28xb^L4?L`5%wf(HF>#5^R9T{(`;#LlB zSt(g6^`Ysn3d;)e$8;%V6qoyRKWjHc?vfq)Tf65X`j(tA#=7uq&gs)ke@lhEc6y_a zSLQUKx8x?rB9YK!G1bT8>yN7qvZlsn*J~{9_VWVk%ov_Xu9`hHR}}lXt*Cw@(w~9H zQNvYt;O)BGt0u=PtE(cey!8vzQkGA}&3MAP00)f<8sw37WD0D^_xzH=&rh0*91d3` z;Eg-{VQ<*&aJ$>kJ9c;-ux(tdy^)uR54-Yq`A(NB7z(%?k#O7*i-g?mCWy5wtv2y` zSKhV2?TowQ-muRd4#i?lN1**Hcw+w!ULf4vcv9_9%TB}}_l5#~hcE7kx&k4GAyaI) zf!9}^21$Ov=XAw<YL0ne-QxvYzLzX!iT?b=J+a2IbRa_-_*(YYsY#kz@advb?Z-;)=! za0Wg3@sXIr_gC}w zYz0|Lu=~W|Y5Y#pN;bB3`?Ey;bZ#@P!c*h0+lu;Sgm`p1tgWVkt;M+cypL!zgV)D5 zXjG-jMrQCEO>5azJz2`uiQJjofvVjW#(Z^DNO~7RLMMqIwn{KHDfh zoW<`l2~4N*^{8=bfM<&px1)khwM5ItLbRDp6Vn#+rsDbA`CvSm4U=|JHk%JKZDrMz z(^@<N(8#%sZ5Ney@KI*Jqilybuo9}j9m%_}onr73zC1r1#WoQ4$9*23!|jXj zVjVMUqi*5Mjva6HI6TgPGwgNxeer1A8QjgpccXYX-x&)>y#7$k6Ain=(QxE`CZ>(% z>+&KIPdw)KMtyFtGZu3_po`avJ!9bb9=vxrZ3VZ9V_P^EXU6cmO?%mS64}MUvHT^| zgLs2LXP3wEW2T3U&NL!t0?}x|=?{c`frt}ZT=-$kn`z5o@byaG8IO}Mn8a@qJwvGK z5q66>5W*x_72-|VqvFXBA8dNeXs{s}^oL{aSUl(s`h6i+EbM<=urTjndIDdzQEQ86 zV|tQB#PPMfNYuT9YvP|_{J!aa)}yu-7gHm=&~$*!rm5RPJQCr<@CpoO>RqO%Fx%do z!%M{0D6cjhWQo-5ZgVRSh(S@TyLmCpuS2P6{aB0-C~(ERj;Jpd^t-*-c>?jL<%&R= zToH)#p{8Ul(P0uj!{%lxFB9)g;7!Dw3Fwf+Db;}_>R>v;7Nxv_tqG=Q*{Y0h1>)qb zST9FYX4;CO6Zt^)9Jw_`5HoghGMH7wo~* z6uLACYw5$aIN=0W@k+6AB`?BzcG#qbn=bsQ&Yh-N~VoA{ks*oov0 zS1gY2;EnTyS}&e{pRiJYy>tD*tirLI)m;5$fBKSvO8u3fEh^7QW^7e!Ub5V#=1kY$ zdcwCv#G>2Py6Ja_DyLTAHO(Dry(v{ylV?>|hN4ltXEkG|I+{)@ez9OF&RW}c@+Nq_ z<>*fC!$@4-iF4ciqUA2$#q@xBSIX7)@!|nHn K#ErZ8P5%v)oD~58 diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm index 41e8d9f5542a48ecb8a8766e69e79478d8883cf0..d0cf943ec482fda16f3d24fcefb30f7a0d67bda9 100755 GIT binary patch delta 187125 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

xD z2`G*gp%^7NrbKb97{%-W|4=Xm8(9;NMzw8p6Y{Zn<8nAr@Q)g2cFzpziPJLiyOlw^ z-@o;?*pw6UXQ{O9Wq?zfmV*Xl3d$ zv1{wz6ptTBKJdg)h++apf6?@`>8l2F?^7XAm%$6^;&O?I(Zc_>Srv^$l>zy0xG>$( z8gT6bbUSPTe1wTJfC&7VKsajVm80MiSAhx8^x?@e_m9}u;9t{VHuxR=%y?}{MYz4x zpR)yX9$nOqxMJ^P?IEJgeBGno!NgyOQU#&VDImiz9RsT!qy_NW1@I~t?C9!yfyvd% z?T1&@a8Ph_?|Nmba6Yd6 zyRAId7K|N`@ZfE+1~1!7VZ~sg&P*lKbj`|43hKyXWC(ULGDgnOoNN|w@~T5)1}>Q8 z)$p2O4M7axcUNP63}GdeqvMoWs||Mtd&G%8k|D7a7t?5Np%u{$%2v(DH`?5#{C5Ya zdQayl1zIYc7gPYe%hnt?6ST(|A_$c?oAVsA6=;U}3KT^v-Ot&4kJM7i(4#Qf7dScr z^K$CSK1lYy98NpZiUG8v)9aVou}kUE4xuW+w4#@y7-&RlpdmXT+IVT8AO^IVX!Ama zs{89^0fVRz{B0F9XLYOK4|j@eWfe?=e#Ow?@~ya-{;iRt>F%2@+?bX65Xrl4(1v<` z+^ZjM!N&}!>mu$ozW_#R@k-)Eft>!KWuX;8D(=GC_Q%E+_7qpt3gx>5yN!2=Pc zHt?Dd)X(C*J84i;)mLp$=2X+^SyWlpFToa9D*p}MDa951@`eAoycV(HhFS_e_~eIB z$l!}CgDguk%{5c(ALXDU>oV-Kfr3|V2RL~paMNUT7+n3}+v5h; zJ+WeCm%Fh=+UahXEw;ghx7>eNn~`)*e1cMFjxHkfpfK8_o*1N>lqpSuBpRBKp`yox z&xPWNNzgn@RDiI}pibo5RwHd`k^3zf!iWct zXZbkF z2Ti9ajgP`|F&w|lik7PNf(ap$xUd~b%X#(zfgQV;RaXKuP#PD9D?QRwAnwG|t3$LR zw7@g-1s*Yn{K3c;slFG;INfw|p0vx!x}0D zqyF>NkOM?vyH0p5V|i2L)WFwN1=UVQZP0^kdKI5@VMrkRWyQK_PfZi*rnW;AS~P-x-MxjfU8LQ@4_y( z)rR1g8H%|FbeYGFsMag0x6|qZEI`$gZQkTK*VDW+-M{d?C+v+VsS>!e&82qqQfgsx zTE4Q~9w=a}GhLXIgNW*elI2=p`>hTw{1QFs){6B1%~-PPDe+eKE} z9`{#eDUHqKlLAavJ+8a&e9&(%#TOb$Ld;$8NZ^pkllEQO!bXdbY-a+WI4u_VUZ)Zt zn+Cwk6!qQQm~5k|0+^pixC?+{8VtuBxvp|*Ao8<$T%E|TG$fo_q;$tRuhEw7Vb@>< z8I!tvD%SeIP|B zV>F};TIql!c>5)gb`LmdauO{_L7mn4wnhhLC#zXZt5k>)7#yPIMUk#C9GuPtnpYc8 zdxbQF-7UyNau5-vC0XYRpvw`5Rswo36%@scy(e0|2@$LTSOg4K!zi?`I}kJ|YQF=f z5RuLf(FmcK)rud;FQWpNZb1Tx78Vg~fHu$*>q`_kcCS;V$3dvoo~V9Z-ButMLkN8u z+Ay@yI9o5X69rK~v?WKTM6>3bbs~fSTQfw$Xfpu~4Fw$9M3tPvhm-tDz<|>^LB0G0 z7WNud@*`7#&+b8$PNmn40M=*#F&f4C1l+!b^w1FCPDcAHFeheBlxWyt0q*49nPPp7 z4JcX*N4fg~YzT`Ci_g3ntqObOl31;)#aqO+?W!}+Nv)FUh~8II@$gEELU1)DfE4}qn6pynFcj>Q2e<7Z-oAwVGT_o7uuC&TXHltDUG+t_M`ej*Lz z<^VC2MtC!MIv3&!uW*3!5zd*#%WpG98;?{GAl|@~WC(O^GA$15aq8!8)z%KVD<{+> z793<1N#+F3LOx=m&TFp!y5N#_JhFxZZwKvUFwH_veIYELgy4-pd&ipushd2g&`7^)l z+^VyQAGb|)Iq?%Y49I1+C49BjGdRNu$uQU!6;8J-cC$zzLokK=oD^|TNQJUqAv@eS zd6e}Eh*WO(!G<>W1M3yx3|1B_JXx`j-Cnx~TfoJ%728ZXX$92zJhKZ8P*RW=pgrPQ zktZ;Qb}e}#=xk`)dRi8V-hf1j)I%ax1WF^6O_YHt)(sLYlueXO_}tQ0g(QRl-X{;6 zc3mZ{%4|!|xxuXT%7^$X?;3x5iayc4KwsV*8;y8v*jY3$+zl5FyOF1dcRSi4P9S%< z=aIq(GfgVGO6;A(+_O5+D8Q4Ru?Qn1s52`t6xbEatEw@UJ*Yp$3gHPCbQdcWBo`PV zA-Uw)AXJgiha^sp30^xPd#WX5g!v)!c$qc<0h;W^{XxpcQAvQAH?4tT5Vxu6k(h6X zgkSv2BYKjP5R?eug1Km5hoG7cfmODMqCc2mbr=w(&}5p(yi)sA^l7m}qLO=G*|xC= z#=lr*+#=TjMX~{M7%T_W$H{Ya%)l=Los@Gm{mUeO%Rw2TnX3_L_tfbtDV>g&BAX-Cg6IA;j?)7IKp8`QBSs>!cxtY ziKfuHRyG*(ON68nd}5RRzEpZ>FgNgnE5C9?4)C9Q<-$t1IddS2H1yiog>dUf1x+Av7rlbYOR zjv2Fb0*EMlYC47X0i{#<(dY)^g?gc>st{Xhs{?jwH803)_mE=q5G(qI_yMA!c}Y&? z4(9F9yILopC49y)t4YBIs2>vr(Q8_BY8Jxo>M$3Dc|ZkJf#D$w9Oj1Ftq2q%^|>}o zBeZq2&52jg10^t(XV5v2Os-E!1ab;mn?g{#+yV;N>88TercC!s6Ojc|R1b?s0uk~K zDWDabk3*@zy~h~rG&;T=(=LG2WGpGtBpN5LKevV3K9Ez?ALuII`FSmt;6OuY2yQvD zk<0+dz0eR~tOJmU0*@PZC3u^!9h4g>bZ7u`N(cV%t6kwT` z0b9rc8-wD3BD4ruvQay0Ibbh)ertJaBWQ9pXe65QLX3$D5n)h?GT^k;1V{TK$^F^! z!=OTlQV7H;|21c6`4x!u&SByJ%CHm+ptlu+N=fb(jbJF8&@$jjVFa;dv8HOV9~)G>dYgU6+0O5q@dAi($~2ua;KDH_#)IrJhg$@F zk`7*`XXo46*z>Vckxy->Ck6p8O?ifPx!qHL3>$>OO*PO(G*Sa& zJI_dcjZ0oMva&2gY7DH7@N5Ixf$RjM0xK}E0<%M`Z9xPO0_SUBwxYD2wUk(m$Q#(N zS%Vy7mM@=khAgs@Jwr2=R;(9JsaZcXKt*8HNP7_f2^}tKHmFB8?b@s;UBjB-eA3tR z>+Yh$nmjKBF(4`>^israuLM-et*ru#K4*|OYYTKrTIO>)7c>iJ7J9MN2BEUF?5L0D_-qzv*< z>3ATOW8uNY?ZQ2XrArWU4GUr81z@es0+bd#D(&k%8MI&s35O@Fn57_qx(7*k4L^V` zbk+eNM}VSnz*4I!yvsx$y8*UhRM2fWIYLy+FlEn%=o~Vrt_rvHXrc?Z z_2kb>VE~2mvw+ZRHDQOlA#fs5W%MMZ^?HFq50?QAIs!Ho@23}pfXdxL4rYA7IL0g91l3}NNdYbQ?Ha#~a6q7P9JcSYc~0pnRVU`Wv2c# zH?}w~$H_%(B}1!_g88cj5%;bKu;>b{nj$Ui00|)noR<0255k+RWl!!m$egb?L$#^> zW}Z}*LcV-gkBk>QmJsYQ%6Hs21d`KYM%*S5_i+LQ?GJ#ufTQcSxkkkqE_#A*7m3}D zcSxVq2oefdPFAPTM+7wSM6pJ-L-tPCyikG1yr8*oWds+g5{^k*3V+3!+=v^&8DQ+= z$KmYVtWMDc!^DaQz+jFoqQ1p{d@ea%rY|!omqjaOmv2a;$|*d0tf@Bw1p>#832DJ4 zUF>|1oQtVvg&pD1a2!U1!3N3=vf(rZ_rx;~T^@GaOZ83bJ2hkryJ_QC;B3u%w9w?} zx4;B~;C_1L;-m7X<3arEtU?c|`Yb@G9Y+p{5VM7pz!pI)Ln9G@9^SVR3GUmVLkKD8 zw~5{MKsRT$Cin-hDZOJG)ur)CV|~{K4z?kC?y3z-m%&=L9xZYy58g>ljFn0m%l*GW zRj_jbmP|hDL=?h=ewSWPZ6^76J=X!xbKvko$jD^(_B9M3mr z9WIf|O@80ivBom(-tnJ2-IR$Kf%Y$09c!pS35+$*0{H7!#|HMwZI;ffhh#6v=9r>f5M&q=usmG-EMQGNB)*|v0<3arm!^~nC3=b z|A-^a-d?z;W+`0&7pI|Yk44uYcS$Hx9t4Q(OC)#^ymnAR5<&f3U?TNL0u{hb)~2nG z1|WqCWZ0D{dkzfQ+Mny%F9yZ^ZPU%Kb-Rm9AW%K!LE zvv>XYu@MYAMgwD}QtcGM7+Vm3YK`Br&Frbx_{VQEk44G*x0yf0WBxDAy&4Phq0G=o z!mXQ}ye}w@vkEBw+%L@;dzQ21fA%!zmj5xQ5&WNN@cpJ=nN`UGX#DHv3DhV3%AB@0 za=r?&p@v2v7|}Is4DO=0H~O!l0Qy(A9g8f5HBR0xDLdwO-Scl3^nAy5Y~9SS<3|6$ z*UV{s0M7HGrryIYzI;IZ^{?T?K)e6=Yv$mBf@}QWzh=Hx6lE_GcpBa?d$G#zOO@{w zS9y4lyjha}TAaM}jgo$T_l**;<8Mk+>n|+H>>-7%KPlB;gS#UOIy7Rj2JUf5UQ?Vr z8_B&<`Y}naE-LK4)itKCEx`13Z)tki6wt$;-zuSpnzw}>n%f+=}g5>)o`A@}_KNKY2E6MAMOTW9MYoshM zK+3!Cbj?nMIXk{CNZGhUck51R`L^Pg-`ZjBH6Wjy*Pyw8<(F!Kp*eo9cg-1ll<~Xo zYT~&~8vI8wCX&C_@T`;Mhl=4jFi5^dlCLXHJ}*f2CHactz>L!222j*0Qeu*^xbaCU)p&$hSwlIob#bhUBc9xic_yc>I{@!%v4^4n=j0ibs?j_R}#I5 z(NC5{FJ$yTi@}?Ii3VUkQ@>kO$RDv&r(VF+CyG;NB9-_!kExFqr7G)OMrVqm{f~nN z+n9Psaq7=@nmvfEvzU5Aaq2&Jn$2Bt@>CSy>_?RRw2#cAvLjEk!T0a`$UGdn?9U&W z&l2X-*uZy+8c^1$jQ*$?Nh2@UXqe5^=ZjNoey3AsGWDm$sS}XOF+7E-_m?zyGNV_N zM4!ZH-cnvT;wLit#-iw(uF<&&0cm68#+kbjLCE#bW5Hey@k{7^dD+R90C>Gx}Ra z(f*xRbUh6Fqd;~T?)beqIf}j?DOR07eT7-o)$r|?U+$6>=44XA;cR|oaq~M?U^3M1 zt1HcC@z{K&?)_Be{c~~u*8ibvP>1I?`TIYZlSvnoSj}fe)hKHsqkmNt?RTuyZ6D0k z?Zv69|EN=4roLXB`Ycib{xAP%_Aj8+HNM)Vdw(Fyy-{3l_O7mb#Oo2V$iE-e)T2jZ zSW3u=j$bWNQ9m zK2w(I>zh;J>Xyvh+s!|#J{7zp!Eo1K%1aY4U*Y8#hv0FyKYXJ(SWU^?y54MzstSM0 z-OwL*`|}=Vtgr4d4_0gaiT9Xuk+y!5q&>dL#61@NZ|^Y=LE7+p&DMg)SpSdr!qv6* zrVZw?)>=%6n=s+WNx6IcE%%utQwQOU;jK_X+zW|$;#&XC4dzVbzK^xxcbvccK68K6 z_}G2s;rZp)NqN8JJLY(#F8vM+rM3R^-!V_^4C*odUEeh?M21toXO8vnzt>FY_mlAW zTV532FG1AB_nT|K6h}UAbgKWvM$<)!zi(u>GY36jKBw^f=YwYS%dxC$xaT4B;m%>+ z`mot8=rVi`lamwtE%%zk{f13AYP{ATvdLUnG79f(GQWnjQID9H;_<{I=FxaqkD5o} zvHnr>fUxg)pQhINzkAf2oZrF_-NJc~nbjz;^f4LB&5sFgD>H(@OETs+koMN&=0X0} z$KfE@?fVHx9`%H|=*zMByC=*$kooE-r7=9l`87|OUq_Vlv_y6F80UZTw0R!#&3;Dm z;V~}r!871M#MM0~ad?dL*FR@YK-7-sOhWbQmRtu4-Zz`e)fj*J7F1A@YjFplOPZDzl2oMg~t*<1FE9l5zXvz?#N-S9$X}Y>)yMwo*J1v?DB#o=gY#}MA-v|7W)-xJ7INa&$jw~}+!bN; zq~s2PD)u8~g_TtO&sVPG9bL%}m9-;)t_zG#%oiN|s99aM# zQ53hGyS*>OsszwauO*f#CnkT*F^u}|HD*75@7K*iRrk`HALF(-oGExykK~&&l0VWT z`CC1bKbAiJuB4Bz`3>9623RSb4C18Zc8#NFl=YgF|9MIIUj;aNV0+i2cvn!l7_~W4 z_#df!##74rRX(PoMbri-_P>Lvw~H|aC~}zkmB!Ss1XDlInEF64rGDsdSzy+Z8MjHF zi`_}e`i1{7a?m3Dx&PE_X5+9BC^AFfgxja@qjcBNG}=`%G_U&h8@eN}NRDDBma<;juFMp$? zVR+#7i9X209dDR*6WIHIYlzU(LSn|3QgTD|qDIGyf{rIOI^Ga;9PyMu`$Hou$ zCzq+jBZ-d}6-+!jrSYE#8G84J?!#Y~RI7QX*bAqu9|;&AmgN7T#235el=TCNf2|}x zeT+R!x5!batStd=&4AynD=~XLaF{ig@h+aDNy*KcaqnRzq>h(M8htLPoKC&QE(jQF z`MJt{crf?z?o!rsQsXa5YJ5iGUnz-yTH=enfy&aO_{Wm`+UZ&B9#qy7sK+ziwM7#t zWob8PvBOYV8EJT1Ndww1TI@ko)}xaD%98pYk$7<_PRMuXTbm@|){+7bOMJ1DQCSZK zIDhb+t_Sq8e4OV7v_l3oc4MxR5j(zeB@ap^eb*>Uduabwf|>{XjvZQNY?M9}yDOD- zzrSOLIk+owEbxHlp#PpU99_-gv)}#7#lNeIU#G0^`8(d#@O?+%EB0pnmAYn@|* zq$|{$ls1vhMJw2RUw+9K{|`W!>g44{~q@X1c{rP-U(2JCI`()YMw!$XX)Beoz2t zL+56d)ZG%1Gcl6$^Mvv`EtJ=ZP`*YB<@-e_dvvy%?qwy+aI?f0yH}N^J;<9%^4}!+ zi~X(2x>4fqEy=Gv$Q$-5Nobb>&y>X9;E#X5Ym?`CJxYtM8#J?yZ~k&6GC6s6rz5^v z>Z-rcx?Vu(C;{a=k-<<}1jYy|BVFLoir zE$&}(iP@c=sBf}du@@PhaevNEjp45|L#ZQKoa4ogWMy5%+;^6MA~ z%EiyjPd!m*%X+i5&{rRsgSrw^he=NDYtB*K0`Z2K$D{DFkBa!j&t;phvwh84;J^8i z*{3H>hyposaiMXSJTy;?EbwQ)ZuaQ2fHTfBF>%%=8+H?6mV-T%musu{EdS2mYK)5G zzSPZqK2cZf<_;YBFO?uk9Qnm=Z)KgsN?t9=EslM+V<;t3&eXZyJ-mL11q;S1nC)VgGnpRxY;H)sabLMn%&X?X*U86g#>m;db z_5@3o9R5-=ZnCye>}*%o357F*9~74(vEqJu?2nRp_UZl)|JR(7+&_2eQOsSuBA~44j9yg&?~#lyULjD{5sdzrP5QrGX;x53%9=;gQM z!~FiAnj_UT|EN#R+jPOh22X=43VUZ`*is(1W7s;>xz`ex0po?c`+4d_He2#G6dVD-RgV1rT9mgBG#S&= zv5mM~v}sv79$d~856`Z1mm>s#X8UqG=KpMVw5Nx?`m&Qbfm={;U$@xP@I>Pd|DY{? z>@j%7bt&A9USVSYZqOA02d8mx5e+xE;zBgp*sXh*53-G;kI^j122bem0E9O}&Mx6H z{O|xoaOp1&fab>ldsW#hewB^GU(<1#3>%LHmH7>UO^%3a>zi8B$n z)2R&ujdNIRke3aiE{$7^B|7Zj6K8zX$oM$8XWowU26$Qh?Iv5Afgrm^zd_BS!`LG) z&805J_WKIwixMKgY*xXzBNqmu~=c2<{!UU1GjXs8r1)FCgNi*IC;JXXRW~O5sc0b z`Or|@t?|DfWZsF)iJd`a_N1@B&qZpe>gLbBNLRPwB6T&^9-m&K>aY?ybcq@Q?SIk| zl~(uoOPAnV2E}R7ud4~_yO~42t{yDM^G}zmxk|bINtdhd;t{(-jmQ-_>IznuS$2h5 zqSW{NzpPOE;;}ber>ez2<4V=Reb~KMs);B$bEWFT;MZ5GLz4V#g}yQiZi$gfTD4#Fz-ow@1iqx>{+a#VPd+;GU4H&z)E>NM zmffISLv8douTjU;hF{G9dLPFjPkiq&b#P|zjjCQD$H6zLfxYr_ti%BPhV7IglXsKq zr&P6nyRSCXJ)m&0hn$hYQ;x#u3R4ecX5FlCrFhC8yG|X_^COmqNr%6L%Ny=cWva$s zvrZj@s&=kZYwJ2-J-N$Gef&*B6?bBWS!Lln@e%iu3Vz$y zNJ+du<2E(J*xK$teVbaOI{cBhtIzNle21D*{@}G}`%h+SZ04Ff)Ek!S?w@_XIz)BP zJaE5?EA_Dd*hY0+#U|K(azyJ9zsCdWA@!*LlLyqH>M_6jgKFZaY#lfa(AE3q<(uX6 zFRl$@1}~;E{@<1MxR8BeNy&X@P&o+s5T zaI5nLzQ%I5e`msI0=G_jNdE2=MK(Y#mG zY3j|)wpY{wZnFqr?f9b_z{J;KqmBES8tMQ17wVe@$#wp6EX*R$s%`3HRK4t%%0Y(p zzf|}@QRdBGDi6Ci{8P4r>el*~>&N}_$ZXpVv=mepv~>ePtTp-vX@1KtU|~w;#5eHa z9Bc*Y|CSn6QZ94D+v-84w(d}U&5~Nz{YE|8X{~<8d#ZOX1(+U%&e-p(+LFjs@2e+^ zBQv*upq?hqPu{6)4CBQ+)i7)Z`rb}_hG)!UAF1|IK)3!@{iGDd+y1Eb%T-SF2i^8( z?NX0`Bx*lalUNxrTaSzveIhF4?oZU@TxT_D`9nWdbHJ0h9iii^9wje391=Zf2R3bX&>^G@nm z@K-gxAZJKK8TB{SKX34Y{+#-SS`8F``UMbC)IjFFf2u9O|Bd$=Bh~Onw;LNs12`E6 zM!3bVj2gEXPp!<{8#QJdxuQX}Q{u+gfr9VHjYgyauS5Lq38NP1Xi6BfOR|H&8~u)? zaj(Co+$b8Wn<`Mp6n~6mIR2yx7%v3`oS%9|rLmwe)lXRl_X(o#6YP7z$Yh46j5eii z&aAC57MIYHe|UG}XSvz};_cVNu>G5Afsg_yLN-G32YJZQgPp+;zEx6x=HxnKXm@P8 z{MJxoqPpIHb*NEauXo0eNmue16y4h$stq5|wQ!=!e|wmb&I}%ATo_erGPmtxB+Kyp z-WcO2O5K`SIM!HRsjkobX`<0?8fz2`!?FGkrW*C|jl44zbZJvh#EOQ|Ib=jB(1yg1Y+T z8vBfR%yO&vbt|>{b%1<_qV^#jFMFEA^Cr_%p`D^56dixpv`8Y?*b>7^jr0 zPyNq-Y#gIL%^da<e=q z{g6%9;5t^$*dp$&{<$9*bzbmQSNBH`AeGc6N z3HBH+RLphz;wD%uFbLe(<^&iM`V;4Pv;46i84VQyhLFXd^O4cpTY}uuRV1Wd;xweG zE%maJFCgH%j|_4SF2KrFwVZ-WELshnC<%PJk)Nd1w`B9re zZGZFcjd2G)t>C-G+&$$;E$}?Sxf(>`dsRHMjk`2bm+EXPKc@00?MEFp$e;PY#9c(HfQenl(yWK%;BFI8)C*z z9J2bGk*-+T9?Wmo`&YD-4a-dbyU|dI`pz#iYYo)*z0qY?s%QMla`Q~ov2IKmW(-^W zIb+M5%t@8zA7VunJnO&m1$MO$&-D4Hd9K29#lNuK8iwTB=r0X5%%5jQ2dL5h8Z$ax zjmlty_3sC@ohSoMzzuBXv|z+UhB{75v_qSGp|RqKhCVI?h##{fE`}b zFZyXcHmTpbT!Gv4Huc_kgFNbs2aL4-(V?&&5APqH1N-m6{?P_lZZG$bVw*aa_@m!} z?fX4DdOpCbb8s;O^6Z_C(vLJL9i`)EVLCdEvH5%B{eKLIK8u1+HAauaqh?@qW%p+) zP1B3%?}}5W#v3F40|TSqz%4@{688gA6*VWXF2~J`5HVC2_-q%H3It{a-y`mma*ISs zwxe-*3EYGCc9n{>ow&k)-=?*BuP3TcK>6WTqUF9dINI0v+eUw{!O<(!D}Kk|Xl&d@U?p)~ zBM+n@B^anx$HIe5lQnx|5o7&#nxb_c%p)=@zh;2qsfQI+g^er85|n8y58lzT#nb`0 zzXgEA1AVhZE?}qrv}7k}h3F_mtLSIkxd)_$LjcD$2ji=t8ajrE|F7a& z%j-QtwK*5AX7H^J@<{yh1GrW zzR^42M(n#^bWH81kU~wyc0=6$hPwl|n?K^8wI4**$NtLwqN7yCe{R3%i|RZ6)%&B4 z&^XWF)5ND3#-+-49J5Dz+hKS6JI6#@{QWATXUutGdV&|Y@Uw(*NSK5-NHkhSc-7YG zxTXe8fcjGKxVxk<-%)zSp?YG z6@{77!3C_Xao+3G0q^Y)8xx1Eaea*pUbo>J!AJ_A%3m2<-3e430=yj!KXQRqa7R7B z>flNhQ{|g~)U#O3q?QaSHVV7@j}OpYUcrcD7~BGC7v0rnYLMms@b)Hfa$MED|8#ZL ztlcv$jYgW$$Wl$q%gDAYd6ie9l2_pshs9tXm@Ofa4YDy{K&HpWfXu1{LOFy-24ntq z0tOLCY!VV0Lf&&&#TLvGJb(ixhKET);GYou|NhRsRbAE7BYENdt&gW`y>;)oXFunj zn~m4kmG^sGoZ7cvpJ%u(_DDA>s}k#c2l+yOylcTcF4Fb zn?X}Wi!!a4L-zz%QevBOlsZc8zMg$WP;tX}WM&Ko0uGOUt zJM>+%x^LK!7&~11fLJLp)zni*o59qEz6ReTcERPvhjC-CyK*>( zx46S2ID`Q8+$@I=xWf$`KI9IMR>Z*!MU_Lt~SoVZJy{UtgZZ*`Yu{Ut^c|CYOSFD3X~ zYYa4gg1ZPj+%>=upW&_nFLwbiJX9JuD#YtoPlqy!7Vg+yle0{*Wj_P!OgD0cGlo#-U88G z2idA!sO}m(j+1+{_Kv5$O|HFTTzeZ`dq=zW7QlbkL#+#aAZu_VCl6%}9>d8mvj#WO z;8Cu@BVB_VT!XW&!8zEJA;&Cl?cu~AxPcRB+;#9sPM~r(;G+(u!6RIQhr0$3a}BPs z250-`DgBBJSRbQ)kj|ZVOLsebv0WQaqAz z{C-$+Dl3b0)brcMsch@tOCI=)^bc1AmF~%O4AlnF zJ?aDeBy*{El4K?F&|%srG_t)59@XOExJwtvovhk+2XN8hBQTs3RO!ubhU*2XtndU0QYTRLe*m(E^tUuKpo!CAxfYQAK-Az9X`Y%q@b&; zfil@{a2eFw7$OG9P$Qw@HdS}n0IqX0`z|e%WW2IA{qi; zW5>)P@|PRKX&lBu3{veQ+2;#JDQ~Wr`urVzdy062VTCKJd0a)~Tf-YR3&I9##aeBg zA#JwvPjh~EkUsC+u=xUzx?q{W>FB@yx(!M2xw!%8x_w-Dhe>1^aTwCR2)odLe6EKy zCYU9Ec}}18pZf8+;o2kYQ(~ng2iAFv3_sr(~0!h^TO$t{2oT>RCslie&@D* z!KVv0U4z1+6?C=DyFr$0I`JfsEtaPNfI;8(Fn5)M^@T`e(8 z)xQ76zz%lIWcwXA0gM%McaWw9L)x$HNZw^wgVR?VWrxX#Z7Vk$+@USNf{lG22-xk% z;grGMJzjy%%zUwu?_v7(?P1&!j+U70UkF)BOx6HqR1Z&G4ijjGp3jEjv+&LB_2t+R zK%dwT|3-=b5D+;}SCy4F3hWflF*Ym5I~k7#VODU7&yHf=jLZbWWVJXmCV=ZD_$WKc z$asN5<%c$c+-IQD2DwIQ`hl5pu zwzd)I;QvXs;1F_a=W1~Zx!#!}AM==*;>bLIGZeO#Vml2BM_01V1940N9=QhN)$Rzg zo3f*LnjaXgrFTj?QyyBCbuI3t!M2k3Y1$jeR)=Pe+Z$8!qzZ_0k^{(J!EhB!5MFFW zG9Yv)PCqVMEZc9D@!#nIv~85pt;@v?nLk6!B91YYWcwKm191nCzp44YLtk^b9-;bwBi z4!tOxU5<-luDSZjkmu@n`pG0YG}32X6i$+<`0|UwBe*?1*PMDXghR`Es*&#FHoF|J zp^wwRed-bZ`_JdLlA+GrZIgw5QK7B9Pd<>Y{6e zt%S|rJ40M*fWPTp7_1tH#lx+vI~CwQG&4M+&Yk08*x6p;**@YU0NABN!&59RI__`U zhwx*gWj`hCU--hgTiBjLf<%Xsl2{ekZN0Pxf;9vrEDil0%t9 zny#6N=lIhu?PWpH8qJiyp~5qK?a%`YvWH6_3Vvg38mr(!$hKUDg7Kv~ejuP^DzgGc?d^r zC+>zRP(j?dy*Z(c3Qa9>JMCzP?B%d#_OKtES?+U1q(2coN-o=x%)Y2ul|9DZ5Z5w| z(#(d@4TcNtj;URQ=y`RvT45LH3JlfuYDAwSZ)&A&OSn?n!s>WA78W|fau!&O%nXa7 z{Ie)z5|Vfn^ko#!4u-PnxYO9Ki{)}mDl>bhT+6QpNrKZZ`pzl$pxYK z5U=kJIP0+I_6D}qq>4_EGp;=%^;^`zR(c+0^K0GreAs>7eW4Yv%V)i>kCSZ1?IfFR zop>{rLx64e3wV@#T%1d0XJpGwWP`@`E#MZfFq)3t3w}hVokOcD<7M&`Xr%( zaWxP0+M`fvKNs_WWQE<8^p24|bN(kbL3@X1#xpIG&cG3jD@k)d6#8gtmn;;J<@`So zkDJ1Y-9kg=Ds&SA@~_N{H8)c`Iy*RL#Bpbi7jQ8 z>Izi(b{dn)s!4T|oAl+koc21sSbH58iXIvVJ2Pt&e2tVXknyIC7!J~!wL@Y&qnVJH zW`4wNTLj(v;->bF?2FgSvCu~bj+ypQhNY(2E?jm3Ee#2y>?A`kP5|qvea0O7OD>am zK*}lqyU!6r$EBjj^>GrxKsE8pE=LQ{{FbFAbo!BZw^wh$LAO)bLHbDg(c(U~Dog-j z^c_UpByz;>4nr;p&uq_Oxt|@J-#0fPv^Y7#|Az5Ik2>c8W z8*6RnOIf2WGrf#7FujZ<$`oOQwzMpuL8FDv4&@#f8Phdl68GJSEmkL0Ch9n_#B1m# ze;;aLNMtHFgFtzRG6z=R9auP{a9~xD+XriG>9#6`wzO$6ZMl7iDa8Wjf7G-h*uFLd z#Yc4K9GxC($R!Xq21b&fev5O`g0xi+xj-?d;EmWf+6~&^4YU2e9;vbKO4EDq20N(8 ze7NK@dm3LJulX4(t-58TfBJ2jvF!_u{6*;L)u)8xEhBuWGT-*kv4D~nH`fAv9>89C zBou7+&_>KOHhTFBt;2yV4`6w))sI7J91xI-h>4Q~*Cy9F_4gYsn1oOP{3J+e6s$wE zY0{WXBSzB|0!#B{YiRFalVDTEV6)y>kcK1=O0cbhrRds1uiI~%Y|)nu`0|>KC)2HZ z(XOY zx&WVGh%iwPlZu-&98&o z9W%IQqIxlWQBwt9`kh1g8FYfkhOH|=7NI#1<&eIPhP?`Pd1br`4SUs{+k)4z-q*Q4 zorc}Q_bGpPU|KU<#@5)IaFiF=YUNr~&}wXIHrPRaXIz~bRkUMFlc^DDoaVlj(;TB+ zbLnOe@-V}_KXZZ?r?f_vu$$7FHW343obJM$)c_XfPQkHr=9E2~%w*ww$vF*SC#*D< z?$1oI+B)aYkyRKt*{n9Ej85XN7etMllQ65F#M(fQ@!7O?&VETohf1 zSAq=EBJoL@R%zOegn+^U;^)GUdo{<5xbb~ai1B;BtuX>Rd5suCy>Wjw*vjev8?aF(_SE4>Lv;WID=}IZHjibN9_| z^^EGQl7`|&hT?2~>wQj2{#dP_;79^<1i?;xRn60lvw~E z$3_PLJ~n}?0@5dd(CIB#x;o31-hGXsy|5*Ahubi`UAk%@?zk+b5`tU>>=6s-_U1Asq#VS zSt3KjBk7+#FI?9$xh65;M(IHmpeOl6`T#T0`wa|dKFXQ773}N-oEhNk>^9C2t??Gl z!mRQE*0sil;ovGC@bPNQeXD$sp7;E4`7*%U_<^aUey-BzJU?79qgw>2qHY zK8>0QfAs>=z^m#1c|myLp@8?GM4kTb?}SGmAsP-7qSF-{zd7_`bu|mj#42B1Nx$?v z;mnFo&k`SfX{@`e|98XZRVojrJ6;%GRQXE!u@{C<-SWr94F`im`!wO1w+4)nNdY0q zS)+RFFa*Cz;M2naYPn2SM=pfm#S7e`32ivoFU*rt5lN}YxB6qNKK@nk)`KTmyS9;` zwd*%B%-d~rx0|lp5gvAg-wD#YH4?w+;Lk>EGg#Z+?xApJGfY4H(s1RaNgn2HQf#F! zS?%yrNe%4Liy|3rTa8uDuc;>=`z)MyHTDN#973y%L;rO4(SZFW`Mo=RU`KdzWhkB5 z86N+v0n|bZd?Ljoyn~9x(K4l1p1^CC!(l#IUK|vabJsj0`YX2%xov!==D$9Op`;vo zGUMaEV7TkFDBf>A?tJoooapu%%7W=7&V+;iFj~Xk1rF?< z5i@~@fHqo2U&dY>8zJ@KqI&%pwXUSrnZXUV(-rmw8AEd0G+(r**)nI`_z}J8r<8UT)xNVP$sZ{hy zM3OXN`qp@`LiX_5_4MLi+gP1va-}E9}gDOOn zUH=cRZdw20+JZLJdF5#@vZjursr1elh4r(Mib{pSpxXgG z(zGt1h?Osp#o@nU6A3${XO=3V=kP@dg)Ny_q>64D@A5Z^dSGcp~<#aJDg{(qvgnN@tFZFV>q@y1ds*2~| z(xbS83P#(epUN$nrCRZx+&1bNnO44M#S{SFvxYH;uC8rPk|(&Bw8tzd@Bqiez}Z)gSO5t;GEGOTv@#%|FxA zuMLk226v=aT^pX?VxcAUi9FG~kgUPC<&x(kn&nQA-cNRu7VQQ+G6MUBgT;Bb?riP^ z>xb2W6QCG=Hd8^#Z<%Z!R4Pfuhx33(Cs=ToBG5sk^l2{*PoMtye069LO@4s?wT*AU z+KEu5%i6!YBCY33QL5;G>CkoIA?TRt>~-NYjv=3t zV7LXSjLpg0r;P|Qr7xMvqFK6{?&IAtRspf9F`MRXy70(Wi`RaPhOJN7%ck1` zn<^D-vdgHJ;l@5O6I#H5xgZOeyt}#Tmf(IJkDgYUM|9({XuRyyzFRp=+BC;|QJlYN zmn5Nb{ka;iaII9^1f$4X`p}j!S?IOL*gF}s*=*`Byd0W|~0^7>f7x7nR>akarP zY*S#`4a-~4R zhlAqew5w_Irf_;$TRBw&S0}ID(Hu&`^Xu2AyZ40K)6-uS4z*k#SksWa7%ST>%ip629U?9a`atfzPk4f zWX+nyZ8iBsez~Dd%$w%h$iNV@8ch$m-pB49gxdFB;bHxxzT5RXep282^$Q*>RMqZ> zbjGXm3@VPmtI8@JIK-+5thM75HH8wMu{&HXig?-XaQ7rOgFrD{2Jd{34qp%5@Vnvq z@X4)L(H0(w`nt`fFL2$ zJ{b^?@l@wnxS>$sc$bl1UC$koc}1C%O?|MCIZ?9|3tMIjEBO5z!%b_wupBQl44Yaw zsv%!xSNe+^;TkWc8y_)g*r9P_fOp%)J6Yf59JgX7eec!h1{k(}tDE>dgR|oe)%jpc z-}~)2xv}cTb1SDAgVFrD9(0B}NX8*kKkjdpr+!y~!3^_+pM(DVbw5SpCAI{M2kK+l z%$Eu3ruR)X%)}m!Z=t z#)XG$;=dQz#9IQBjdWXZX??{@l8q<_svL5|`%w@m#rOVCrCV?9UvYL4oHNY?Rw=(4 z*8i^JW|?d%Ax>|W;8#N0ZO;;@j2^DoSY`u_iTaD;pv+C)`$0ZVh6XLCKf9e!Rr!@J zrT4`=2x~CzB({@r7AqQyU6_Oy)?XEcA=`rYx! zQ|nhTDp5?v@DA_6@mwoz^u^)*R=KY{V3Mm*6<9gLf}`240T*D^Yrwt{SS6Dd`aPD^ z>}HYS$vM}zPtEGu=JGZ3Qq7jH5!k3Cw&<@Uyo}U`y`DmYY2)?bbiYAjEl)NIanreel5M~^{nX-+mZh62EkvRZM+uDoDI&xK;~zwRoTU2x5cPKH8}~j znXG3=BOP|+S$(PBj)60l+59=NBhcOS@R3~nArqGG31?S2e$>s4Ogn7sLbEO?hr6U4 zUYhBJn!d$ML%1Q0(KTBn|02(jTIhk)krujuT9|p4;ZHCw$1@6QA#CA5OyjZf45Wqe z4AjB{@CbC-Q3&;q#m)y%aHOp&he*O6?Ak^n-iD{&emQIJVm+voJZcZsa{M zs&g~rI+M+e5lLO@l#{>ilV))tLl%P5Ds3-A7G&;ZdcAf%o_7+mV`!NoQJg`W3_R*KMUt_r5?o{F=UAR#>7razGi zet!MR^r|I!U|QvJNj2waiT(4M_(A${$zK}vx z!*5I4$Ah{+huhUA4gXYUyemd2D}6!d&PxBDxOSj2_%en1N+MhBNJyi!nXqP>|IG>Q zzF+8<=3VHTa4kP15$)nftqUKd5a?H}>sPJoSFP(8)!-NU zRqOh7RuaMU&WAWQLILtCbI5xT4QDkQc-%Ct4wZ=4J2ppTDr=$H&GB&Md$9@$W+@R;2C&Twm4_JlBek7pg~j05?&aRHf~PRKZjTkFk^tI9)M$da)Zhg47I zipNItC@{5n${NLQ!bBZa36mXfUY_x0eOK5gYp&yoNk{%5JgSU*D>K7h@}p_K6c5t= z+|#0~0&eDU!A*0k^Rf&PIh_fTBhkFSj$2MEbm4jiaOVhd-CmV-TldUT$rN1_kYP7q z_f?IfO<=hGx1!>--^1OQ-=A=nJ4NK7cnx3^UwgfNp`thH7htq8px&xu{1Rq4I={q? zTms51sdIpqbw#fW)ctrE``oE>&I5?TV@^4OM)glrYHi&6Zj_^oN9o!u+2I<$H^$tY zmIp|Ztwua%pf=rvzSr2?V28kfWpNL32}Z$YQcyuZ@a}3eZerBxsI`% z=nmjs+#!*;$c>3J00~VOh@{j%EHqu<1FJe|ukOM+_+s`=z1~JUTM#T;0KO=ZV@NO) z$P2_MO&q%!|DFMy*3IiYZ*-NlX~VL)(DlwBG=F#ys`J=uMQ8WX4wmsytK{vL5@r-@ zO&!qNExSFNDMM*Ne_i}VcHWe)fA>Xg-ia&qZgtox6=p21plI8zlu~4DK%|j1`@`o}d@g9OP4ATmw05GRA+PVHx9R^9Dz< zv_v(gya7=$2+>JsGHAf+!F1k`sIav|xv0ps?o3p$TG7i22As)?c_!9m1;aF1;fCpD zg?S60XZV75M3W-G*Bqnpd_D3P$}|WmBbAfo#2?}HPXmB00>cYT`L^Xm#5DB_5bigG z(aT92$*53z!YsiC=P(xPF+@?C$t-({jCEzr$R{%!d^(t+N3%g&%lTvXwWr2BZ%P5s zu>D_zOPC&R5O&eA6hl6Z!>&1YVp#02>YhLZB!EjkY0Hh0Cu zvBa$&Q2c-d%8S(F`9W6HcV2q{Vk*Cy{&eTSREu4hgm*C8FVZw5Ml_1iO*x{w#1WlX>9(mYPzpU2 zk$r6*nwv5{H}AS+G`GjH!mJ(KK&|S$klUdTkClk-Hl@yLBC18A%O*nb-j7Dsi|Dd7 zrS_RJUusNPMhf*OV3duc;7ufpP|EQC&|UcHIw_L_q}C0P%!N0qsI#<)i}Q8 zyj6RRvk64Z!2sg`*EsA*Fk`HFh`uZ?oSp!)Rv=#1k){{ecO2dk=?cKM z1f=oBnDr5{{z4!}5+*2c6(ZOBweWd0gXxmPS?YNYeCJ`KVItQo&T$i?+38F0nK-~s z3k93$v)>!8Vb7U|KOdfw{>6LQeGp6dZ-wE86|hZ9=&@g?7<$L2N_ACdE4L1^(_wue z(|^w7`Ain0{y13-J=~>*Vy6C>j53~Z+n}7{RNooY#t0N3dntMD;W5(v*cpMU`c{Gr z+mC+(EY4wh=6QDc?E14H)IQ0kE7DynqUn}xpnMnF1(TLzlgX4%>Dkq}_X2I;+ z0baLbXAWKQLv}rRL&eect(2Hb&)EHW<1%#NqsA)w@%qu&l6 zv^$SJys?ai=Jh#}HFIWbpu^RZvrB{SqX}=Q*~cEXx4c#3Fr?bBtcvh{X~ zi_TY)H;FJN$b$bD@qr16So$MXuZs_~Sxcr0KT^}UZTk2^VBzZ1+7k1b)*=k^v`>pG zti_xLG6!C&d-_Gh3|^#@T$ z?|`kO*MS4J(lx>Vmin=XnJg~~)NW>?H@lgM&*QT!56_~YvaTeLUU_^M3&<7+=*>)M z*aAnHTe&AQVKr%%&yjxO&%z^@{dJ}G@x>(5x}}J4y~)HaN@j!|GBJ&+Brcc2_}U?v z3$ur-c0g%SZsKwV)HeJuE@xDiXE1on+?>Gm>*(bfw24b3fr_u4>2( z#6!s3A<0}_KD+*G@@M}u(&r|=&$2Oz2Wk550|XmK{XLva%Aoe7xI)% zODqDW1egE%2UyM|J4lRNR)1OYHr7hQH0rpJUw**J%_MWLxpgAi(Ukwb^v$+n7_VRu zcV#NO(>gdSO|J1E$m4eLB598LMQCVpKcr*n)b{I@tZbpdiQHpu&CX(_f!SHlRA=&{ zu1v1;Psl8Hle?$iYgE@1CikygimcIJ~u+*m>08o#4vfmBuTCAco z+wusNX4{1-THYlDq!zh^fK(gUc`7KmgkEgLBcOOd};CPAIK1rB7L<{FCT{Xo_!VyDHFT$&ALc8S5{ zl`sx6m|kPCVHd_C^{p@#ElKrxvl!YES6#xp$6%1mdQd#M+r9NfMqqawBFnoaL>9D6 z-I0^V-s9JpX!`8$<3hAG$$PK^>l@q+{(}0>H-)o_iRQ)zrgw(LQ)k!TRgugtL@Cj{ zK3u8&IoB!#j(SEf<=*VgxrPi0%$DyKrAGDd%CNb^(}m5sCtJL$6nJ|i$eb7Z!02m% ztE)-(V{q0-RVgw~u4tFcCeh=i77zrRfXT~lnXCXXxz;VX=_k_K) zY;Nb@^S$6JV513tp@*^kd9a0epu65t36py=KPkK-!=+?@e$lTf5f$8P7k^pRV^*cf zGGa`6$XGS0v9a%+ip<;brphhE8%=V^1j(cc$8y)T2d%~wbaI5_AtpwsF_pXP@)}ca zf-;6^?z*Cw69gC?f0;)Wm$JYFctl{r`|H{zf8FEch_ZEBa#vV6({t(<@MYrJ>VM8D zBn9!v<+Y`nF^h5F%PfODyZ(oj+S^OKphiGqX*Pf_V-Xv`sy5#4Z*`_lxFR`WY=HE$ zN2l76@w7;_Q#uPn%hFji%6t2=1O{*SQHW=n;vddnq%=lW_hN0lmQteA&FRMLjjLaF zcKw;jKVVj(^Q=ba*<)tR$DKP~luz(io_R&TKbkq|SLq6tBiGy-CgKm^zp@5`1^vRZ zAJ8uayML_TajLTEm&JDf&eRwW5c*Su>&|WQ>*B#XZ=x-ThLyN1n4{{*UsZywnju9A zEI8^mYi!dBg22*xL{GdW6nm(WuiV_e2*`6kQqml&As*-9N-1Ln*7A#2+0cKKa@u~r~YwEZs5TJ95r0q zbJ3Ef0cCR_{kxA*Feihctsnw`^8yqriSE!Z5t|R_mz78R^a}t#%CBKxN0S&x?)95m zR+CR>bSG@I#kYiRs>$c_%L)aEt=Q$Sy2KY?Xz`2ux`TmfLRlud{0Z~|MxqeO-NsOq zEVw23xUMmIG|>qH*ab|@PMAPX&?lATGl3%(48_L#8)aE&bjJ`H9&j0 zqXyXpP_?zlySbpSu3uTGH}A@TUxv#k^2;Tli27)@mqS9D*LyWu8C?1$vi$z7Ishtu zWueY8hlDLS;=Hup2qi@vw2-`VQJXC*(4cS)-DqsZO%y$M4jks*%m|^Oy0(=2CZqPp z0_|2exIHQ5TBoO>#p^i1^&Zf66j#7P2W{7C5BHDLNxZ1caIhD+J+z4+YaQn!fHvUL zlpYW$iz=){TO-ZWR2pPoy z%3-EAyUDf$vxSV6WPU`~tED4s0#T7{J;}iyG!0}ZmiuD)>$K**~Nj(Rj@%n1m!;W1rmDP0n|mQ8z~=s^_~%Vig< zEVolwmU`fIRo3^~D>dm#a5HJ=Ipstr)6HEjVW}4%#1@3h2NNHyqWqv?lOMdhwD{=h zD{_+E@Y0cW?o@M#vI9-pbzXbR3_3S&1B?-;w~ zdU+>D*ChPpv&zo0xo%~%X*|5-GwwOFnT5g{2bG*q){dZ@XY%BFO3`g$DuU^%)#MJ- z!Q=i5>sxpc4==KvAa-;uiq$#w&6ZIjs*wSYZh=nmlG-)BOqm5!40?k6V3y2++?X#V z%rg_n>mjN|N$G%I7tl>g&@Wlh%KW#HTOOOsZ3X%Zy5^v7Ms(ZQ0biK6gIr?jx=GA= zw{Ql5WZ3EyFOaW_=@xbh5uB|icp)g|xE`;o4AoT5kD;e%otCL;PGzblAMUzn-~7|U z#Wt}_-xJgBvyNnB!_4}c5VTA0C;@@~V@%46FMC78vUJ95mUrxoue!6IEK4e=ozvrKh&HR=2I?e^NMuOXBP8EU6+fx z&3j6D)cOpWaLKofs1~IH-9xo72RxY?)pARSvs(O66Ns+8zZu7%%dDv$$nPygg8 ze4K6Pj4_+n&&(3fr;~XzMG9PdUKS%1?y~Xtjl~3-?7MOfIVWTjU1+H%IV!4wJgwBB zs98U{Uhw_sc@}sJ5ZoxM+4IU>1E~zj3~Ld)9sD-MNq1>tU7m>~{QQs-XHnhBYv=Wi z)MLqtmCUjRe`WwMqa!OZaTcAKdc`df8V;1JYFGBc#0BfKVWLw#dhvB92 zT@L834og?U@l`DD?lIV&6&Buo?3wiN1svsH-=| zz@B#nQ4Mqy2pnNEdXtcYssWz2XL^U)bDyJq)hrJ1+L3E@&NN2FQ&wnFCzU6;DxORx zuatX#Rr<-#hiAAfv5Q+ISV$KgHHNA+(9IwjIJbUtrS=AH-2WlE7U^Y50a#K-{VkQ+ zTg_n3fn0)dp_IbGV9ZF`EpebO084etyjpGDccV{=^%Y21R_>W41_oR8uQN;vAkQeV z23252&R40d9Ll`G&Boq2APB$fD49I=6F~tQ%%+9IrI~-^xtH_wlH@ zZ@ZzZvx9k2Tn9D`cq+zv(ye!vQ)W`2vsQvnl=TL=@Y?jW(DC_d+V~Q6f^$tlS|1})o*!yBxSSsAce^owq=>mX^cg?hL5{6U)ugp9P! z`*JEgsbG2b+j%aYVU8)E`Rv;3W>yqw+`t>gu_JM6mpCF?(YP7>qww(Ue#zE`>g-G{ z3*;9GwV0J~@BXy%H8O9z>CuqfYIT}63{@JEw}s?osB0(=*~trB667FjFN~n-Gcy_| zEjOhz@euJ7MP42umc$vBASsMN&CrDH(Bdfs#h`DS6&!{0HHUaCwt%&EYeZ6k;Q>`% zX3|@}8ZK+NTdaVQ8O#&u$G#dKvI$J=i(@0Wz-21l-w z7~IW&9 z6sr^>plR54!t6thAk_pf|9aSLHFayiQCsa9+7_ma;oX|p5=ee9m@LKej>&l*9f>>| z$8=fHX&OREY|oGn2dtXuPw4Y83VY;odbtZlu&y(?!9m&B=AWC5BX;Hts=Imp;X7-B{t^T>Hwt|o) zXnGj+gvXT1I2NygrTO@cFBV27(CaIN!p|;B0bySN-|vaP#jD+jo*wbdaQ(@>U-LpF zX8T*JP&2p1hOEqb`oV98hdhNKal)PqP^+Tw*&)6WvsxF>qJ6T|9e>!)R9mz>3*g@N zfbMEd8*hVAK8Q;YJpLB7j|v^z=XV6>xdVT2-kOxRG`WX&e66yBevn0$`oi;o;xFID zfi@aHW-mRqqr2bc4{q_@NNypjZMXIzfbHOxbl}_2e-TRTG{TPNNo^bGQ@^D4BrVM{ zB7{%|uu)d><5|!I>Dr(A*r!m&YuZOq90mHsCWTi^myE-6*dVda#$RePnN?PjXi{n> z4pp*|#z2%{W>ZibH4FB1sdcr}b&YoF=hn^}Nq+H$Pf9e#G+~+O7t}6Hx8KLU)W_A1 zmoj9QkjTX=oAr`gpj#tyA{eC4df~ z#|8)5^eNP_$@Bu0W%(ITj_Xc|5u567yo!M;Q}*PM&b?QtcczBXcO_2P!_k zt*FL5iu_h)P<~TLAseW{q<4aA*FZ7Ic@@$vE^+TMP$a)9t}I2FM+@E%by2#(XWHNsMos*)Hr;us~F0H!u zSUC}+SM?=->!x5iRGk!fR#4_yeuLgca8W$W=Or#;T8?=w2_Vx-g~cT}ISkdr9p!j~ z?N6eIl-Eo0KyW`Ksw^oZ)p^{KEofCv!i;RC3>3mVR`5mlU;=sc+C1a10O<<4$6;xK zjFFzE*K&t&57%yQj-o{{JryN5u^rBHb$l&+#da1SWpTu)?Z<0xaF;g-<(yZ4uGxmB zGHOGIG3_zT?(Wirl(5@iw?ErC0vg1N6W8IU5Q`p#VAuu1Qo}lfhK}q-^}?x^EuS3a z`i6*RXEW@loZr>Odb0Aqb+Mf+^#-a3&2Znc4F#;~jimX44Q#{=P{9B1h#5+plvtN8 z&_)N8Sw+D`05rLz2_10W$SzJc&!mczDJ{-eSAml)n7i3$<97l?^Kirkktdx{C)qV( zE%h~Iv6v}*KM@O|%>ue6_oWo+BMO$-N9c=vDqHJcodN%lL{()!n!89YJ}Fc7fgsbnc)k9XwYp#Z=RVEdF#xY5^qs*-^>JfV_$Dq(@%!cY+kP92DVU91UoRs zj1GmOr2J2lKrrT90u@$K%sW~#adI#L1i(9fI@L2^8tGw6v$`A7GpAZ40g4pmhGgdB z08<7fpM9N!#qkQ4eXWb6^yH7a^lM%1#7H_&1{?-LjC%1A%H%EtS%Nian1`O0NU-*> zGFD!I738!CU9$vhgKGz9hU6Ywi+Yj8o;)TOrC6?isNZFAP5(u6*m);spqK8FNeuay zWsW2CLaD&L_Kr?}{3Fypc#qr6DyO5ML`U6*yCW9RxkqXRUmMI+V0z-|YOxYrNVK@X zMDBtR-}4BRolZ1Gk~Isa5G1h5C4g+&GY-r z2g6DIzU)C1U4G{u4A-mFuFQ%GbaX{#PY74BC&bg`%980I3-n<^;OIM)mxyuOpCFyP zcESjotU7b1fHPwS`udD&1&vwYe8JII5ob_zd_1+o;&?1md?4CcvQV6cw_qCHHaM2? zW{*04r=M(rPtkXn&rY`8kD+`CbvDZtE}_8whD=f?{>N1pG}JDn7PAm}&jsnvejH95 zbt{!Tvjws9gQu}>fzglIV{;sCU~z*O7E$QI^w^(-t1Hh=FZfBgX5`rttbqjUv(uOS zB)n*Z1rL2RtW^-{=YE3exHn&O9=O!nJ%q-cBS8&UwJL)76)Q9K16@MUh_Tes*7o#w zFqBa>c56h(N;KDwE!pm4&g7KTwawcc0j)B{QyjyBq{?>Gs6|_r%&R*t8_PDJ1ilVN zK5tcL2v>JczL1wSRhd<=p(>dzsvWWI`N)YYt<(2)TY1p%0Y@hJakk7BC7}(xT#ZJ= zI_Tar?tD3r^BhdsY!VZeG4Lz>498GY=4jvTcR4 zJUPv!1)>UE+*XM!RK>jyNw@!Ncw)ebv2cEkh4X7HoZo-?*KqwtVN5p*=UOio{zsor zH~t%SYC*I-%G%TUZx|@U!g|!d}wSt-i* z(y|N3q#^tRS*edSrUT5;XnbxW;;hP+>G*Nj-`vO8yw{5rGu@%J#Zk08V9;?)ntIF! zoQ`MwN$@Y?xGBTAp?6FX%}pP+nxA^93(-v>PAfl0gj}Ak`8guwa&6x;E)jBhdgjl= zizLb4_VaKvtA&_UEzr>~84!pAd9l1ELEjp$7R_gYb{Kn(0>24X^;{HS!FH)NbW8B6 zgE=Y~K*n3<()axbI+`(8Gz@bd3*-e219Utf(gI;MctGYV1w-G+xJFmU&(65)qv*MM ziGm?vyh-*zZBzP&Uxde;sgXfrMHg!uP0TGZ&C8 z3Jk7Y$#$YQ2pXj=IF?#cR@>GVlvWpZWdE#fq-}3?)jK|D&S@W3GKg2Ca%>a|C^f{0 zj^4`iG2*66o)19ll>i|!tI=F|*34a?zAY5=@$xEI2QLidvY^P*c4P?0*Fs%+2_@U# zT#dDE=Ps?G1)o>91Qr+e97Q$75DT?|Ca(qB_mCHhl4=@k(C|y>dNHw~R zm|Sm(?Ma4^*^G4{sv_#gk+vDP&<}J^njKqz>zf-**V<_NiQ`{)dxsY|MKyVkYUHd` zegzxC)0&}L@A-3&@@;M(aQ?75c}laJ=L%T_?JM+|ltbxoU+2&-X1I?-pJe|-4p%rO z&n@efDqP@OZSLE&IRRrbL+*d@s?>|(L0<<+xha>3$~bU_V| zi+NM=HfGmoKU4XtYIV_j+0kr!baWi<+Z^@%9Cgi&ZeO2uG$fB=oQ_XBuU@I6$NVZh z#yb3~aO!gFnf#OV43f!v;t{mS3yo7ru6AK(N#Atbg@@o&U;b5i=tcr}+Lul!i46s% zo6zuMvu$17NZC-ec1*hdzr!Pp;b+V^C~!D38h`ZpcAt6tx;$GY4p%bxG6I1e*N)V5 zU||%web)!x^@TPow;yx4x()gQ!#%(k{_+b9LG?$M8iJWbJ;y-$R&Dm+UvL>+2l#@} zf5{IVL1(js0Xv&D)1nnUfLu5E|DEye%uMQF3Zd1o7)CwCg% zQOs2~n(?N;uq$o_w7c>*cEwc=a91!Y#gl(88E`>z^%*~R-}}Ty=#=n<@bqn}lDkG3 ze)4zbXB|%4+Z1pQ@#3Q`hYij`?UR6m{@W#boB|tTkR&iPjWj zp*_Czct0d7&OSy^yCCu-iTtNX$i_hM@@>Ucrxu9Z`gh*@Sqv=l(i`E;O)Sosh5Rt4Bxs)3{hpSxab|Bc~Z1T{Qm{$ zVjY{?QizUB+UDa0l1o%YkT$BrquM5$P3Cf{Gb5s<;}29s5VIH4H-sXh<#P#wj}BVy zowQ6IkaDT1l=;nXGEduu8sB~@0jvORy%BNtj3My|b7*skCW!8Xe^$=L?L)b}F)mzLsBgY{xGCQ+~0~94s>f8E5}7FL-s~0S6qrmtYVL!3gNNtlr3~~F2Z2yS_hZ*Q|83dB5br;;~8enXtOAD zDN@|P_I{zbLGDt-scZH8yIqR337=p``Zozrby#b>IbcOZ@@|*La}3jNX*`?d;Qibi zmVHt#`lGU|n`)cW-2>5THgq)3P_#5H&VsY1AoENn?$r7&fYe6VLx$R;88+*-7%@JR7 z=47RM{MTpF%1|`%yMOpugXp2S5+x|i!D;C=MqWi*X+cow?9fsWwz^{qzI&&PKuW7! zsHE2qMXM|4r?(76Yevq`qXg%tpBRcRB3mFG8;&-r>PPJA{R>JGE15-V{DcGy(`Ny= zs*dnT<5w=|Mc0Ge)4$oP7NC_Yva?wOp8t#ulp;Gah7Ysoj+rNa#SOP0pyj@H0AJH@5NyrZGGS(i5{?Zy4n1ZeU2b{vGreLYa_dZhd$t->OHth51#=4; ziWoCJUp_AwvWQvi@mEq%g=_z4E^1yKZTz=gW6qf8{!TR*?+4E_6C5rKo>0h)@?Cb( z2Dmb|Bg2r9nrB~x(reC5XKT?RtIw4JgP-HP`neqihR3lUpIwVi*=)ubEYHkDU1sF> z1XmjJBBSPm#u}Ei$mJ*Qz+3m!qQfqGsA8Hmj516<;L42{{z=EvMRgJfdT^Uw0tNyT z)y)tYxs*Y%c1DpvbT8nrcp(m*QxR(E4fW_rXFfiL!k62XbYe8xqWlXos<-t$NlZYZ zn7=}9M|lqgq|V>UBFhR62Kl(vDu3pup>N;R4~L)F}sAT5?wMh#?OYYvL!b* zNhr%i=197Ed9)=G_t~9ZwLF?qt*sKY9vAk5Sa?_#SR(DH0P}1LAR0 zLD5-c%7)OVOE8q2MdMwj08|>J>3H@94BH=xR4#5hQ zWO0$P2nH{kW=^iV`dMz~Sna~UyfQymHFLf&e`QFO`8QPt()kq_C0-#cj&DIWrig%h zX6ZQo*p(7XAbP)ZPdjs|hZ2>{JHeARZs(ootM1}$E_lJ_k?;<#&iTs&vBh7hddwPr zIY8s>O%}a)%rfOA2fHU)YzBy&R|{H;BU(#9)SZsjVh*W!+^A-wE^rUKSArHdzvw#? zl==uM1olRLj!ft;-BMj)xdG zRSXCf7!25C`ocOWlPj4J9liEoG-1$zvF?>XydVLf36=A3K}9`c+GS}8_0 zPpM#nYLOA{*7NEMutxS+^Bm?@Zw7R+MtuzanWrCmURj6-HpeoSs{SL8S|z~SR;>jn z14OApO%GR14^X!0u_Y>e(s>C+-I5h|Zi;L63ikoNYtsXt6Hwe7`U|Zb`1C&miv#^Q z`9iLQ<a%jgko*@?ur zu{>8X$MU56RXHaaj$8f3Pe_t3(5Q_{8@k#E85O?STkRO6p&RY;GE2T#W>{^9C^=^^ zWYc?e(^-5Ca(3l-OaFcR`Gx56u=o>bl`SY#} zoxg5LM=ng{Xh3xt-I(VA>$~h&^*~PTd$%3Cte;)*fA}~Wh18f4DVgF=^VW5#=GNOH zGFsrAW|cON?}1zw*2{V zf2YT1ERl|=(D98^`-+RVev{rLO^FiJmUJdjS>{oDlURYD`8=gVnTfHYU}F5iUlE#K zVdl^s)!wN;LRe9@?Hz&QY84j9=|#1}EKw|0e&xnZm6=*bdp>u(mi#|z{;&8G*Dj$N zy6OQmCs;CleRD-zyNuNwU*H}XatIjGQ1Y(a>&abz&0EuM`-8sZLHEeInU@Vk z{b{_W(hTck*$72Gk7tBPGsZc8fB{ljs5C+=Q_@_mWhs^94fL6Tuw0WBd9hZCX_*;o z@*M0O3R?~H?9vK6e0V>;tie(WrCEz73@lF-!}9yyIAJUG9KEGb)ZV{E<6X*iPWvMC zMY^?^2T@S;1gk3UgENAI97g_R;_=8Qc zVA-<0M(WwSO8YSWfYUpHuffxnZaM~RpwT*%-)MOl@kRB-M>x`sQ z{?k&1VsEdsVA__vNLsd^R9{x4NGj?hD+@wwMExbbM+jkoFk9n^t2nCJ*6?m-G({$v zG7$Ue@z(8f$tdG{6PzXTe{^(IvN)#r8O_-0aP@;08P|kEQ-L*bi z8GP;Y>7Mn`W#tS%l9c}cOz#6YzHZ8+N=1I8Npg)k{NBP;rm8tgLA5c+pyP;SjO7^# znR+1NESRf~wEPQQlVR@6&Qih=pEshCQ(em!guB~FF8s7`0_-g&7ZQ3k9gwM+4SE&+ zqYJ#nQ>D~xq$7?2Nk=*DOirLxt9_6DnW-;pbSdyFuAce?!^jd0qfP;s zJk?)1uz|P$UGd(c{%f3zuIYL=aEWcX8)fK9_acwSuYX0?74KLO99d?S`&#Fe=HfQ1 zvCew+qRYu-U~ypNsSJ!pl%K8+&I|~S?P_||5z+BydgyiM7F+0}OAwa$X90NWdya@! z2Os%j`Zq^J)0JlWjU%EbwT`VFXK~U_Hdttdy#u)>omK`Ia%05=nIe7Fq_cKIIfRb? zlF4QK*Oqvk+IM3=@bSi=GYriDB>I;D@VPPzGwxelL0njr0+ph-Eno_|0$HpEm9ar_Ta={e=jfMe+070HxCD=1qxVcoNpM zZaJDpaf{r(JHH(s*Af{X1j6?$q5rl;w@v|Q8-hCU8i8B=9mzTeYs(NZdb8>~W{38R z1}XckntzLs=o9(Hg7VD$H^&_J_(;Z1T zk+=;lk%X#O_kqFmJ4Z%`TE-W9P)zJDa`t{mReU5zf#NFKLV1IQrBPr()H5$OB!$Nr zkN5jRV8mz;T}C}_NAn*k2$e6R<=7}l)+Dcc<{x+uu0xQ{0`M;We*i}$Eoi<(@PW`^-fD;4E1 ziFNJ)9@ESo$gpe7Dlz$#JWXHY=;*LbX6XpH;7BOk%N-+za$E!NI@i+QIwqQ|8^n3Z z;GW)mbhO^3^QqADATV7e@7PLU+JPNCW%0an;*HbMzua^wbk!*iCLb&GjdKAteBVpJ(KPw%h52$&_t(27OR~O|Ykjbpo@}9@vj}sSkPL>Te2g#gRHpTr zT!1^6Y+Wd=d-QUll`Saixg_TRf?;WEL$msbA%o3pXwU;RgIT$V;R0lqD17snAw%sB zSW!>V{3apex9Ye`0iacKkah zMw1-3PK>5Q*7yhMyHAW(&l13C#H-H5RbWa-JhYQVC@kS`#N)}<9Wzt>%p-dy(}feG zlLOS5)h9*kPj5S}rSybzC5@=)5yn&6Tv1sGqih*1D(v~xWcrGeqS)d-Qixb!0$Z)RA}lf>!dmT1Fadb)pSbGaUxV(mKvp5#XZJ|rgHP+8y2^mn#IXK3V~ z*%GbYh^)<<(sCU-Pjyj!d{Q4)I4sJCpFXrDI^lvc7`V?+gAvRS7RJzQv-PDOA+>sCuV`NV=8oIyu_@G)ET}ZCB%qIE_h7-C4wiZR;D|DKi_VM5c{X z$WE9_x1JK6w_!>Pjg8|#vG67hfj&##akDh8m)Q`rDNlDX5jih zx^DOCqcUB4_ffIfCHwflPIZ#&si#Hj`RXfAi>_?l=I~>s@S{Fbt4ZhZ*~M^xK8e=H znXBxQljn25S(`35d0vrx2WY$Ml9TnQn-{x?i+Rc9WMw4#bj*L|aG7(ND`gp(tiA(E zJkb8YZFoxEI2`?AHq^du3E)yDVE~zm5f8>|E^b0qWHvBoJ5j!%hV!T6HQQ}^lq1Cc zg=$_a*!=g|1~DFXSCts&z8|mgfxA^+MOf~9hRUe6Wb~^n9E8rB3vb-Lc}h(o8=ciU zJ#9M2R875HC@AzMx>4v^a_P-s0P(~0i)WBL!{DJ8b>Gcw*VMSRK)P6%8Mhqh?!uBG z!V}%oB7`Zd1|ntEMh6Gc=%gZP*@Wp#rhOLHO?WK~B33S4E;hUxWEGTvBYEE zP`VMfy-9KqZ=Tzcr4(f^8?9XiiFahnkH$C59&tctmYuqEACH(pGMbF2KBRS&zoO&t zn&e$%iFV>T%~rA04nT3LlMq#7U=m?4dDa1+^brbuTsIqyy4XuLd4vh2_Zy|SncG*m zvUu96r?w6{Zxb_tTPINuh@K@QGhJ~r8xUAzrlIqs!)h5iIF;pq`oa57XCTmOHQRF@ zx-cx?pT((pP_tWHu69Xjx!R*0s9&yDT+`t2({x5-3tE8SM~b;4My(|wLepZ*MMQ|> zqUm~=YtWAfOU-Xuz*5LEd16n?S+bv-W!*;Pn^|=|wVU~^jtsz5mSUS^S)NRx~^LgGyY1w^B<0a;zk^9Zfs^LHe4rqSwx}hj$#>H}clK zm7z+j^6Gy65BWdf|G2fjFWDcYZ`~EHdfV2K*;ex9he<3}EIx4gF`(Ox+xjl8Pbc%g zwmWaGG^=OVr}@gg=)Q=tO2S6jLPhU;CwqHK^}6I|KiA{#F5IM&++j}g+_dGz4b|(& z9SMM|N|Wme#Tj6E>77rGRvj^?x3r%+zt$$FeZHXvzxLUrFa7Y<0~04;5U^Wr=qgUC zWt0dWKPkA5AF3uTdXrT7x6NI#;`F#~4&pGWs#YanyAFNR8s{&LeGp9-<%O`@3l*H? zEXuBI2zIAuoXd*HuvRVXV8UlH9rRH3Vt5v}=HA(M^?*Cm&2S+G0Vl}i*bOzJ|5i-_rn2Oo+EO9pt0TCTDz6t$aGzAIt49#yCS5qCS_9u zG4nXdsP664#C0ZgW<|#bXkEBW^)>ZRFJB?wR$n~f+$wQ!soK=!qZpx%OdKi&$$6UG zWtFIx@xQgJe|s}!Zg%F!!sch?XWC9yKDGG zBdg<1Gal0?$?)q-r=A$q&$tdCndQZ%GD=iuN15#~B#y6bPBFLGQ{;b7*+SJ(Tc}E& zv0vvgnm+%D(M3aby(N@QKmNq%sD2f^WQad`Vs!jb$wxK!YjDVtU5W++_}Da zoTQ(VioHxIE?8lc8;iFL!nDS)ij)vNY0GAD#x<~)(_fz-t*O-0=?kLEwyeO$Fdp>G z`b2Hbh4y4wwyDZ`aRW4(sanmG(9NwG&y|^J80AX-FWjpyubEsr856d2eHr;s>~Z7-2rEBq z(c>){BU<>Qw$!6KvS{B$(e$zoW1>4Md6<6xqUh*oXl7k)B&}Z@9dTBj?l=Hv+Cn@It1!4Z|;^_FpcxVaq_}~A{+=@;4xn0(c z9`$t7C9D@rejrh`yz%A=;6v@m_7$rncXtl=<%hz(I}rQvYI*RWgH8BA7~Yr+0Rgxk9q5Be z&ft47|)&@gZ+H4+*p}6f+g150rZA+-TR`+r#7q8 zr~qaenlN0%L98^caSzZ-Vz=MHLL}lR$}__vw%_*@w22b7lVn}gs?e2kaDaO<(#rbO z9i(VyIOgYkF%xuM@yxFPFsP%F^lJ{GykmbmijQoD(@j>tNwLBsXkf92GJQ(;D^2W< zAid-%(bTDNwWCY%Jm#~uVYG?jZ_Z)w2vn3oGB5Z5`!hmW!|8n&M^hJc4bF`~nxza5 zLvPa>ZIm=bdzqIXSp#Fpz!W(rD#~M|zpY>AyTRIwZMsjwH^p#z68*v8xjsg2(;^^~vho zeRuLmy>Wf6=@Dt|OaA6Rd48gCeR}iLqO+d>dxN&G>*!Q4IWFw#T!7Va;f47HPOfk# zOi%5y=*ZR$?5*sm#<>mqG}kxh7jqX&CHejQqGJzwQk6Uzorr`9=zB#{VP82n36*Q4 zYPgVWHD1>Eh6JqB5a|U?m?AjkFM91P*R$@er28+6CR<)RTqD$=O{J%DC)cb3sjbx3wKCbO(tGNc*-N%#ZV;>FJ zuxDb94?)#gR~szZavgD+n{#*l$J3(^MuxEnk5yEM_4w?NSVCj6bP24NmRZ31Inj3d zgJ(y7ThJIkctuBJyzh$WrRPd10w<-*hG^6Ugwa*$#PO))M1}__skF;^oXJO<-}H~4 z6P++{9sGsaOuzn|XbZHQCa;Jl(_>!|t)xzU{v9_ZfWkNgIKuuS>uTRNVF}5rCvrn& zSipO_YCVy#%0aBFj9Ok}=Fd+?M@0|oHwDQUEq{xakMa{xd%M}Y*xoWkXM;gA)o0?N zZK!7GxLj(a4?Z_~A}U!fgj*xQ0+6=z>A^f&8m(?Q1fm#fy> zrib5LkbdTQ(d?n4LP#ld@iIFCkVY=R6OrWhXGvE+KRV*d8egx-4f|u!$3rIC*Tid4 z6^(6T_nm~z#v^zyumbIOLBB|1s^(YZ>3x9T(UQB zKbqWfe?>~GyFm{*-kHo^g|S&l9x}hZ3ZL3^be=taX zRbie!Yx5+kMtjyc-b4UtHNS7?7n{OB5ILlz7-^_y;xVfyV%Z(^pxL=Y7;jRtNmt>yiWK3(zOOgKjZhJzd%KA?1+Aw zpXcw0Ht_S79nt#^#e%%J{_bk>pL*d>d4b&>WIl>w>)U5m#VqBy>uEcqlPY@S%4n1D z=Mz^(D_3i>U;>!d`dOXLIVhX{l>6)4WU}nTD(Y>_?t9JVy7aKCqV>}_B)KuOjNMmd zF*T3%kFAbJ)8}0kom06keg9R_*?jwFS4FG%8G2Fl6{aE7{zzdQ%;0LN|8gj*Kh;V8>UHRhZbbfyO#nGqvncPKCs-B*{i_ze0*cCmSpReqSexIKgTpfLv zpL4H?ZszAp*F;D2^XqG(6KeJ3E;armCbphF;U&>NZv6Bm(No6j!UtGS^5?pLpWT1j zwb4<>+TIo+!|{W$?JX>u$Dy3UF2^ zeE*fviO2a~%3Jb6%=hdg4zrwou}kj04*yP{_^ODFyX5D;Y)4bwf&*mW@A@#4(0SGO zB>#r*lk|Ew7qIGVeReh{2+;@M&f#f-QWqf2yxDA4E=!-dJ6eCSZy*~`K5*Yo2I10mxfe{`EMqQ|dRh9nyQ6bk zCmX^Ts#*V<$K>yG%M*qBLi4cVEru(qaD8qbo!wHOFWXW*nOhzikr>&{Z03lNnO7dL+@`D1T_fc$HxkVle8{EH$6Rjjf<|fB??Ux45=JHH=QL_wO zT9!Iu53^Vu&0cPE)_U7$oQRbNnD-k0oF4t^C_Y0?IdPT`MVA22>U?y|%M<4f*4f~) z^o_5ME`n?ixgk2TAM6~DC(;XVh}O@P@GDFI%kc}ir5CrNmAs-(r#oBG@ey8gX709D zw8>O7M!K?qnW9|!w4y^(My2$8V+Z{`7*M;87Kfc+*poK8W8;na=(s{d8{-wlD|~H5 zPSC?f?xNSp^f`0Uq2Z)Vl{d~s>k!Kyn2UD#5zB_yenWJ`qa5uAZ^%dc!yBTf(^zsN z1sDO@5)<#)g*c_3cuk;bt$xH}4BX{G=G?YCM~9r1I|3M(-(ozTbRIPydxGD&=J2|h zu{PClNPtPkE%jX){ztwh+OW}dBmAb@>#s~s17Y6*!VcYTy6Rr39<;WHUv+Y>lFq#* zI=tlzvW>Y9m%lG-9v#X?bWZ*4I1xkzvVZ(V<)7;Mmv#MZTt9GYTg$C|g|}L@KUmz{ z*VNqaAGA4=txCQ7N4>UpadY?T`dfQ9cOo2GL%$Bgb@vYC7bbHwtBGP7ZP4G)>u=$8 z+vdt{r2lkNbgY!k#%rSqX(w@GCkl`OSb!FQ1!!?70DbmrqfLightb0(39m?=Kyx?K z9N~~10N6G72d|B`fn;BMZFD(5$G$FFN3Ao<+zv50!gzXn{pHE0)RSME_tWE8Ri>SU z%uSeQhqy!Cg0HW2XK&)hdUr_A;-))%JBKswkk$C&V`b-Q1=ZSlWU>E1dP{zUHFQ)i zg`R)@x@cw%gj_9RZE~}mNG^hrE_N>pBA_hQ);M~tVk*lhmWyI+p0ILD?l#XcBuJpk zC0C+=LbDW;yDs^Af$F~i)v89i@cQV?Gra%Hg5>RYwK1O+iy$Drzj(4wC&y3#RCnxz z^*w|vuGkYDJz99W!L@hpiT=kS9lr~hV>>q`4=K_y5l=VHxogGE(ZIl6-`pD=8l3UX zKdg)o68}~_TygMf;aJy}wFbBz5GN--zEI!U3=Sm_u7cFKM&#El+Mzh@O6D!U1$#IC`cZP(l5MWU~&v+a2%0fFH8;VPfLIH|FQSw zVNz6A-&NJ!RXx+)Ob^V;3`}*;AOnJc2$&%%g|fM#F-8-kAfkc@$YS(;)y6frV^FWV zxFni4Q89^*iAx5T#9iE?NnD7@o1oE%F;NqZe!t(jx2mg$0nz09<9nX(;Tfv>R@Gh3 zJ^MZP+!^kGBM>swX}y<1xUVzJ`XE)P=I>8a@VVmm87}fK;`e!SV(Un3Yr~>EVlPJ7 zfJqX`N${1A>r1fD*bTro>VavzC!>CNyw|*-+%i4&a~O)!lL2Y7dm^yh_~0O}Owu*| z97D_ZG2GgU;Ziqbv!*m=@ zu%=3QL3n(jE`VB`R15cVN0zXVh?AnKpnCvhw^v~c4u1c*iig^DTK8089TIc>^D0={ z0>Zo9iS`Ol->>lE;QS51X;8Hm@uo7NW^fvzQaUM*y;l*ltmkt|ZsxZFEZziVjOsrX ziyT2Maz-IGVruSN_+d}W9j9@l7Qmue%?Jxjn_y4>5S%Q>#J%=kUh|TNn%8 zFSvL^Ph91+#een2(5QO0E#DI_n~@bK90ZdsEfTye)e>mH%l-r+@Un@&ftT=h3SJK6 zZ{TGMfeO5A?F%nIVK)h~o#z(^gA%vw+Vo{HnP4`$xAeRIZVl_~v1_eo!BK1@m4!f21$sLcr6XVeLq(8{0Zn_BF zZ}$gR6k!A%ep^KmoGe4k_;I^k#WRq>Q1cA8ofXeO55sVzj{pw$!z&(QxZC@FScJ*I zh!NXgg$Qsey~PpqMGyAdc|Vf(ZGH#uci{bYKCO=8DBgGaLwP@%_rv{RydT4R-`^hh z>L(@ljJ-YqiG2J;P^}O`-vC~-K#gi5*yR|jrGjc>fbD{6gAJ;UFsRmMP;I0^HQ%6G zK|Q^n+c4We2-8!H;{)d={+kn{e{ZKRo%%97{t}>So*F(1*GNh|GceIO%izo);EWA2 zCC*^2oE%maYbd8iop+ksT!J+fdmSjT zy%`>ED{&7PG1ff8Z6)Sl7(4k9qQ#J-=o5=H612yVpu-@+Aok0SVZk85g5r)W?^Jv4 z?_OTI%LV>8!QF1mbJJ-GB6k?}A;=qLe~>AN9BLh=pfmKKwVQ&`VL{Op>>L&dyRQ2f z$Vi65Vcm@#C_S0%LKU3o*5Q0KQ7g7t1%R4iVU2|$`A`G)H!46PsM;&Hze63PdVg#B zo>TYPcdwb#aKOA#C#WmLxOIr(&}W5NU;8Vpz!mLqUE5~8WYy3K(kB!$L86e#?)3%q z6?Rs4^q{Dt&{YnSj;5@ZhUR)|D#YfVb|Xlz9VMoQxMk*tEdJ__J(2@TdI6pa7b?%8 z=13j5yDDP6Ysk4@SjuW+F8sIxV4(y2&iVx`dV6A$w-==`UDFnWH^9a{RGz17A zf*M;6MR1FZxv`3X=1|vEby-lXpplPKk^k7!;Ikm}E#;OOETb zWgG!(7-^NLF;78Y6|`y{!j5DMWEvI2PWhp9j%tJDvX|j!APlLCx&}h2JcLR0u7G+` zpM5KBp>ts9MwFQh&{C6F;h2&Ymweb79m=QGlxgWwbnktZo6zr^2+7Py2sj1*OL zR4RA_?KM_8>TJLYj;TLur(tMXWT-ak0pYUJ}4V=_! zNDnxb?{s&HBk+le+(Qp@nFRL@KfNvL8fsAsyIHK4+&LR z%Do;U$J95>Lx>Vhq!aBP%HBkFM4#Y^_*cpLZ02g1KiL$5h{;$`5^TG`6eAA@sQH@p zmgOaOU#R)_rE-V`rKmJwS#3Dft;gA-5R$N7ff-`Wk{MBGf=`vLT?kDuCr)7`H1kGi z4lqK~HA1sy0yF7|5XE^J5UyQ3D?^|~u`$uUTS_Nd@20@_6GLOT3-S?Tl|vAAp|KS- z4Ygv-^n^^J?tCf$+CrfhW0kK7uVIC#@3TBLkU~YBbq4G8sDwg;ORk%--+A2KhX)!Kn8o<)3NbsN{Z_^{RG-aDY^hUY0Z*^Xx+l}7zrJt(3owb zDmg&CeW9DLrC%t!yv)hsLIYp^dqM+V2@x9TN(FUQ3XKrzXpKyh@2rNBYTyH@BWYX1uX zkb!Tcs)xvtF&3Hv{n4j2P86pRsa8wFy~Mv0!v z2)~O6GcPmCP(E=UsUB}8_amAY$zNojdrBGV8L@glca@PUp)1T#Bksj9L0^1Gb_!lg zj!BarUNQUDp_Bcy{hBio59WXxU|EFJuN7Xy!yu~|&i7wjJ;H6@K9OzGz(#H4 z!P$lQ8AJGp3u>LY(sXJU2xN*ilM#gmx)wQyqmU80jc$BCh8s0hX16w|OWW~2?)(|F z+DgVk$rUt;TwldrbF$$v40*6kWPnF8j$f>)D!RsWfvF;#|Nnzji7AB)6#}R97(WJ}q9N5p|TNDRF~0Fzh}NxKQC4 z2u~+CbzuT9R#Dka&T@l7y-dC~cNUT&5@fIF?QwPO}z zlc#`tS;gAiR7f5Ji91tL3YwjRkH)BaRjg5ac zF&eo!x~iIkhi@H~7<@n!UrLQQ+HFpNyQ}F(yW=Lnc|eH9;UlKB%EvbG< zb;B|4$Q{9Fh(kce?8Gt-edd%N9G@F33y7*m+D~%pRBuTG^qGzM6LW}SGP`Fq<3f%R zo9;^0fD|BdMuT%YHrAEeU>0)LdM3mjhz^^C6COJ!$0EQlhHUF>0-lFV* z)W}&$${>*=exn+7tUIV=v`a`IBZnY;kO|h%oY6BOeQ*FR%6tgSA*cgHs0A4Nc}ZfT zMTQkp;kL>X8YHUyyQ#Wf7O7-YhbbYbEgnEv-o}!NLolh{J;rN13~!=Epfkc7LUiU@ z1f9A-=dVWSO!IQr@;lq)_{fOkqXbiOUw?~^kC=xha(t9$y`sz79a!nWgM}>qHaoyh z>1yD6GK1~Zai-lIlgfQ??L*@v4u_N>apXVEgqU#&@(dbX1XpD67SjSdT{zKZDv>Cn z3cp|~$Vp(v?Wx*MbQ?uegh3BtU$Uz0BzLGf>?F4Z`4V_qs(Ngx+wN`d zKWqn9Z0Wz;L_lDi(qP;ns^!&g$AfNwOXHjs9!-(4_L&~dw=ve)9=u}0C94RdMv<(= zbR`DR*KCZ_(2W0fpkL#__+Udy)r0w|_6Fh1dCikz zwHb8M+9lWzzZY*sgibXGDyp8GKl@CWnP;NcSzIxg(7`Ef)kC#Qaf@rH*KTdnw}4JN z#plvEq>8!~xOq~71Z0XKgD+t-Wh%Bv(5h(`TCq4_!)bt4EL33zCG@PR*$_!Ibz9{J zG;E26y|7W{P5o+MqJO9e?;RfoVlG4-ilbyT#sZ#f1=?5RH)?NBI`Z}yyO7=!HSIzy zo6)mVGIAI!(0F#hq`@NK&ta18CBkmWD{K4)=*}X&$!jO4&-UwNnN13}K}1JBL(ZYB z1JD(sw)<|Xc6^1`6Z_gVeL#b+B=lZYh~vRfR=AKEehZ*)PS?%TBP$F(W`;^(3h{+7 z$^lSZQ#$#}HV`#Un(gCL0#Pe^fm!U$pe`7|5mE_4sk4^5`I5(0af&2;cc2&wf*9iP z8$KY!e3+yRg7Z_$n0J8b4RN8p-sFbZ+gtlWyq|=yzCx=m%$`@LlM}IW_xFsR1L6VhlyasLfDRjAD#MaJp?9H6f2ciaIs;MEAf3 zTf7EDAgb$dpkf^;n^ogaa`)KR>unlg7QLyt4%2&n5PFTEo3SfmxmdAomo>G#I{wYn zfRgb6(=!}-jtoyhXSKrTH|WlyQ`FtLLKEulH8<|2c2Hn63 zI7sM3#&WGJ`>cUGZAvF{f@mUuHbn*!KJCdM*$9fT!bq=9QvKp27v4Ou4$TxoI}QPb zGB>b*urtQvfqrZ79rzyb4Xul>5n6W5%}lT_L8+4BWgzdDVG)-pUK(b!+*+)sgQS`? zmmBC;W0x#bmke|!p%Tfdjf65Kru-R%rP^8sMh8s`sJ{Do$^MeWj$oi#p_W+5>Nbkg&T5oR*kM$J8nUoh4&G&pDi{)b{6 ztIIKd>XlR6rvD%2h*SZZLJ&vy|HB+56q+)M>`AXJ#eY?JgAkfj2vy%A$WgxNE27rb z5w!sH=L>Vxq6W@}K_=20*R4g=7Q?Pmz3Pm@AWdN7kZp>46z?nIhoU%H8=|9k%wwq5 zBj%Ax3Kv#@J;OH-lI`df28mAf4ueEw>`>If7ICY?Ad!$w*NRodVdf!jdFZO18McTO z#qG_rzTzOq_8A8`C>94<)Pb=Q4BM__A|)6WTX!WgR-$23Iwn%bLF$-DxRe=5J60XM zzkBYsMMcukX58eKqaxeQ8&OmwEMNH~ii!*)D=VWS8#a%M46x3rPB_CIY7bJ^p5eAk zU{!=~)VdSg0z_v_vU!5rFGaxRGfY&c+H{87><>4uME%eoW4_sCIBRE~;nt~L&UBkv zI#8gOU!%GMn4H4#!D4)Zksoe2N@)vcQ%fik(|)9J3e8+^C=ZF8F3a{ z*)MQM5m?Y%vq|;N1?~=sL^cscwCrjp)QF4R-AhKP7tK-pv1U0KCW%q%;T|xCO!IsU z8LU9sfX#=^_EHICQc;}&Nkvh+{5HBQ)faGTMk@8Q-gt9^u^9&Eki%YMHu z>r?uQv3t%KI>8yZ&8z$>w|=nk)~-g0S)98Hw+;H!Mz#AYx4q?o4BQt9*?^YdCbLzx zY%-%7t_EG2>a2;5u!kkOxR6i>U78xA?!MgXP(QlV?ca`sZ&1TM=(EU6N5dcCPV);c zm2w_a563(<09=~dtKdumAbO|1B5CprVu&SIO}s4ir)7Z=a&z}nel|tTS@EwE|dLqFhW`t?2 zSeR7TVH^(&QD1{5ux~NervOT64z5_EFJ8lIq6o;F<5PF}eREzrM zWvLzD)1-*kqs7!jqeZS@-sc5QAVJ!B)qeRW0GkOxfu{g{tpNsyGLsdK#`tm3rT6R* zI*xwuZZzk+Hbj$>4|~bHSREZ&K0pS~kNZbqPUVBlL$u-eI9ATIEQbg(;Ar3pi8Km; z5V|=MDwe#7Rjg7L+=y2Ep%5c3_d~P z1!v8Jws8D27J7*i`tWCUNYZOn8=4ZCJk@`Rmq&Jap6IOh-7nGL@sMCA@Vh&&Miw3W z`zp95b&!37T01qd_aT)>u#)3|apyHV(v2W&STFV_B|Hwfx(a;F$5sNL>G8_@d4uw4 zDKFaU;A>NRs+ltrUaw7VXh)*So&m}A?e)z=@~t~R`tT7ab7`@Ef+T0~NAi@>ts53xpC zNeVaz^&>mCl>gCQ-E&AC-hS-uR9APuD))*+_n@5n3%mNRkJlmfA553LI_&5~gG$u6 zyLC_V++W)2=B#^yw{Ax#gUMX|?s=!Gr{7As>Y~4-_OS2me*Q11JstaW)%I>`l6`vj ztanp2j(wY2{9bA#F4w+?^sA?<_3x!R8g3&$%X0Gou61&?^S7z$zoi!TJB>hq%m*RZ z`Fqvbe@po-m1TTE6nS}J-QQA=qwx#=p8Be7->dQ;rP`G9LF&Egm8(tS>y_%$50C`n zbhY@yREK?<>iIBLul@)Bp$PZGTTW+j>(f-523G_j z4Nt?q8((T=L`?O2`5lgzCoC>T<{3r%rkq4v?buyiEv+NFe8LT%}&je0}}tQ!WphWNp*nL<_Nxx4P-5v*_9ne%Li+xRtyvpXzjQh5G5Uf`i0 zNC&7n9Ox?Ia1SZ3I24g6Nw6MVn23#xj%U_0DZLfBeW7o3|E9(rXV<@D;{g_TM#JNT z%g#lx|KF&NTK8KGWsZgAA@Gb8Rf`Ul@RG+iy!R-GI-M_)@qoinMCG5i)u<~I4c%9I z$?a_Ww(fQ5Ueo=MRxxWKd zx7NEi+dozh)w_q;@2U0%_Z9mcWjDHG@N8_O``xB@@Ff;AoFZ%JLAnRY1Bfgon;PAg zy7%PidPh91VGC_dZW}tVTa(-2PWVYanFU;JXsdwjicn7tx_LT%Oa2t!J{U5DlW;!7 z9sAf}1$NEqLZ+qEOU8iNa0VbtjDP_&;75ll1(iquFF`n>3qTOhLap)`Ia(-opzLBK zM=~4$Y3Uiu%x#0FNRTvEYd|U=(j9b zvEt<8@gE{TAsX$#Dx`rtiCa%+AR!h(f;X&bIV^r@6&p3{m=K4FWI3!Ce~Q}j92WbV za3<-0{7F3(mvk|8Y@ntT-I^g;sGIQ3Ls`PVYUIhTrYjz$%rRb#Ca^Y;R)_lTC|H!| z`)<=77_L!cWr2_jSkU1x+z^VJ1P*@G8yF+D1`Oo> z#c~H{Q_wD{_G@TP&FDSdiz1X(Y z>JE2u3E(Fhn>^2YUJX`OPVHu63CDpeW{+uH==i9D#)6A1wg@ECK9)xFH*>zZ*ONxD z6AUxvuro6l0fk!oJm7PZ9?BcF_+k1kzhO~}T*VOOcY(k4kma{5#X0%2RnHK&Z75WB zJ}tT!aoOmT8elY{OcZrT_216jgAP*|+|q6Ip1-g(2UA3MJ6rB^pc`SA^=eqqyUS@p zIP5PQiaN`l=pSKEku;RV-%uhGxi#PzlspbwuunM|%rk$WsLHSx z%#0^e%E}7t>osFIq@A|3tGQ8k_fWSxX+NVDjeu70V)yq(xc%&5z13)( zNJ}jpd#c9CIUg$hmCNd8ZgE^*nucMZVVE#h>*>X zQP+-f4}=l)-Wd3p!ftgB-_gC%wl}J$#=7U&Z>X9pybk+~?o)PhVa43vz0gh6Irh)h z4<@+Zw(nD!s>IQDPxn_1PJi(*)zvA9V9renCAoEwKPmXhs?EdE0+-sBe z1oiPZ+*Vwg4|NsZyyH;!`|O&$^7F&oZ?OjxX1Py0pSWu6H{9*i4zt}Qc>ns@ZnOP~ zx@R_OJY5Yu0^k{??mxm^*ROIO9G2Sh(n=g)U1+n;nlJ>Narws-8Fu)tky+ZlD}N$w!f zJiYzUCRTK#*FSS~?+@>8IvxiX0i_W?;W8d&&Rt90A>mWTrnK7C>W1Z5H)!a7Y`Hte zX)ebiXvd$Q)64tS-E}9TqQMg=?XWrzL65XV5}{IFoS)GBqmx`Gi9Tb(&QcThaXWF3 z2^-UW$*F*jtCNewW-ffGyXG|aDLcjIcd6G;4`)x!J;Qxo%{s$Pa=GC#`>t**7Mzx` zck4cPm3yoWtLXiU-A7@P^nAxX!G29WvD!UZ{dl$8q{gpyPf^n^aer-}ql%Z3HK;=_ zbvF>xDazHpm$}u|pa`KDVEls1+}$EnS3kbYJ){2SZ`*Db3S0s?tpG+Ua;p;Rw&lrV zFLM*FdR}3OtG?@0sY5S!4{|m->UY<;bxp{cM#+S@HI-rcq0j8c`SI;QTZE7@TaBz0sLyuVjVbFDt=fH$njt zeG9u(S?forGOP+rwOBJ@5SUORSdj?Jr5}(gQhba0%N=g>H}wGE9EJwKj?YJL;dtXK zkRR5c*&y7%??}U=(19XCOJrQ=#zq^hSnu%}N^jv66=9qhb(i&~qiU{n2haQi1TXrA z02S`%q-;$Da5r(p%%wQY5domf(6}885_m}$>`@k0D2_yhv`FOD>8f<4JBc%}?#jzo|J`0Q{>FhSvzptOGp5ta{NpZK@coK)|`m z^QOLhgX^ouuXn2kE#L@l5{8AKvkFdri=*DfH|bl1^sxT*jVs+^4rj~|3Ca}}?OE#Z z8{EMqa(+mIRKz?q!<3~jBZM>&SI33lO<*3=HS1-5-<1yV3+r7W|A4Yj*#(ahQl}?I zS}PIYIW5O?GX6-ZIMO;#3>xs_l1RhrarP7Vt>LgAisZaP%5)brTg2x$<%Qi4;b^#A zBDflbq0ss}T9pka6bsfll*?qAiBY(pX#YX(1EepN55V$9X(6i}2XqhMjZWu$xY7`< z*9Y;KNx0FiD$S=y!3l-~t}lYHco0=0_(M1;ICN8PBe-hL2#-qGV#IOyMEq-H2;x7L z0aD4h1#s4#)=CC=p_BV2s@TZIvjJvfzDOy8Lkt|vbmO!22h@VGY7K%{Y7o3aa`xb0 z9C*|c1_R#2;vt72SP}J|LxBVg^#tj;$WlI#(Qnf<-SjseApE@f+J7`M=}*S z!VJ3K>xCnIqX-k0ekP8r3_BjjkxNnkmT}~!N*q~Uw2xJgAuJDZ;LP%DC5{0Ke8W$af~$b*vXm(E zzXrb&!QbJ^)=mQvTxSC5MJ7OZJkQMhMW(J}5ExUQ_;Ya^Y!q-6oynTSc-a^o;3bdg zrwjzDC1~&EZbJDKK46~a^Yu97Hn`y*>nMK)7pk(~_(G7XW_FH>f{8~A*kXx%y>0x5JwjVORo?dYreKNj~7f&0-Zx zkeuUD2sb?;%)H*`6Nc<=l+nEmQnHm*dO0psSjm})2lyX=hsT(%Ozc#^n{P?7yiUl? z0z6|C(*bWWRgR4%eVUq{jL(=0IbKyxcoQE#dY%ogL!M&{kY6Yw@SS1 z8yR3e0T#+;uq-1S2PyUX9^V={eEEws0(X4&>)Se(l0M}5i?qYR9Kt#0$b|oCg2&9o zZEg^zrVRls?dZ@Nhn|xxLC%G?yHW@VxA~p|KJp9 z3d=8^0K z6%xryOr&2Y3%yz|DdI_|vq_R>ike92PVp$bMx@r^p}<03{Z8j0oQlb7k3;n+#7wjD zC(90KRC4h1SseGnAoHjht#LVO=-yeKWyBnukQE7x><^+(F?Kjnz{mDn;FdQdy^n%~1#x_Ud!#6hPmt>J*hT z1NE+?6+vn&z4bfMDX`p&l@`Vg07^1AeS8DXWGGNQ2zy$g!Gz~PY{T@GgzoeVZMFym zFBRvISghaBm~BuLP3t*aX&19okeV`qh*id6L?#|$J$+=vtb&__--ozI z2cgzMeW5yd0PFV!>^Y0<4$!0V4Mg^vu{#7ag`hUmrbPf&D$}&_OOZAW`ai~*#A&u* z@&I(e=M1dmud-$8*Hzo7UxNdSehm)XTfa^k(H+!6M4yf0n+v66`H&Bi$qY2sH%@&4 ziQbDP0AEo%rqiGi!s*@`2;3s>icAk>3s)QAW<2!wN#voydBfn6n|R*vFq9)sPu>NW z2rA#l${?0n<9YD0!4RANc}NA@WDF;303PE1IQHTIck=+4L(fYz5V5DL>1D zLdYO8@H!~n!pQ&W>g+BV=Gce@hyzo-2Ed5Y6CQm6$zqN-*0pi2TFJd|>NW?GKg z4Hbo5GQqRjY0^-rLPt@^DDXr8MZhRH!R6&!Xd5xL2T~!61vcu6#sxgJl-mWtf4Zxp zEFz&aW;$SEX)WfkQ4a(uR1q8YMwtQeFJe4gvW)xHHa|9>MdKsqm>I?sX5?lQp3uU{tt7P3e~5%5>r#(5)7$Q5tKUrC@|vRTzPs zM=Na|1}70UGB|XKSS2tZJUKuadSn|&5n{9Y#nvVG76$7@dn@#ZXlQ^REq%s(Z7Hpy zsEhA&w`&${*2aDbcUmsNphnp}G$XgCT7RG0+Po*S5)`o@Yj%}<0Xprr?L#6I_ z$24;HO994U4%&Yw@&#a$2t>8d{YZ7MsJJA9kzm%lW`c(`>u$m?;Ll4M!@eBe1t{m7 zBMqRFx3gWGcyY879&gbq>z_X*|7}ne!!VKT06K4{lLZ?P=Rtp{Bb2KE*E;b-X!-AXfwBhC=2xxk4H|ZCZMn4M(rl(*Lh*5G};7%-q zm5D_o$eOZMYW3nDiL&%He4hy$R zJkJauug9EAN{uSmbhxkg^IwPl@uEg)c)fh&OwS_hFb>#~@DZXI77HH2t2k#wp2yAn zJ~RZpw6YI~!lU^a0NtLTgQ|&BmxrQ~l7?upX-cls0JS+d4S)m{wxi39U|N3d*Tu^S zR%E0Oz89&p$_5D+T^`<8hYz5&fMELj$zy}-Y;Ly~-o&F90VVj}BUV*J8m?*cp}nL_ z%!guL<3{eSz5B&qO|u7JH^h54*l;SgPNGBXAL2rUd6s*GU8z+-Cc6N}R=~*pxZR=tvd*1R60Fg_XK*6aLc|H8Ng`#P?1OEOp+g8>cI?tZ zHObtL*|8ar6wrzY0$e3Af!Cu3P>;)#;kgAu_a8a{_Ael0g=n6}77sr?1uq8n@g*Nv zjw4M0B**vmgI315CJQCL))8O1EQkIVfw7@o^dDH2GrW@P%@`w_1j_{N!4l8^F9}8% zrppf8BuqzhCoaw~btAGCfhTA1&)KV`IFK6^LgbMpnA8h?C3<9{Q!4&F4 zA%M^cjDK5=oe+1!v!lheDlv*>53E^j1jdOd5SId08-a^4r4>F~czMuYNYPS^n}c)q z!OziqnUg-bI_OUuJsdr`zJWsA+C!OG0pwa4Rt1gA@{K4eiLcT1TajWZ7=W3^o)2uY z!6KaSvB}8T6j{LML+QdhMPSP3fB|%I@s9QlgA#!N81y;xt*{;_P6P~w1eD)GQ>1<}lr+DEOSLUHiUJP=XizOP zNR2h<XB_MZ>X&?VbQlZyX<`xu&* zzOc(pSU%8Fj8L>ycf_nK{k_Wo$9%yRc^9Lkg4n3; z`IW>|;)rG&T>=Z@$HH_%h7C?6JIoR&MwJ^u`uY4hSo??a{gI|~K%)&OX8|sQ{MrKm z8BN%g+?#pN!Y7sD0XfUck0PyKFLufKfFdZM_%-^qe6f+XZ5o+EQH?xrr1dLxG-5W5 z9n6;?*a6@Cd0@EAa3Y+$(a8HIVcS&GN}{KcZ@)@57R@d0F}vJYB0N?n7=wB)3V{y; zv4}&B?JR@{H(|tKQv=vsjO9llR&#C;KodN2MUR!AVQD0>sN|P7NtaLzY!pXe19n(p zhq+&6euw)Wtn%xXw`SXx4B<#1zHcr9=1FnhjA6?KQNb#C5+@X-L>$@nhs4H#d5 ze{$k;xgW6fdv78O!Xc7;1jHo+V<8~W5rISSx&mHTlBpy(v060V$Ahu!BXiIP0R|hR zAP!C$yh2$_Oae+4O-G)L%`KtfKar2%n!rZknkA@xpAohKV)*POCQ*^ZFojJ4*MTrm zWHZ-1+J*>$M~E9qp$(8&VV-tc)_4ntr-OyzCzb>#6v1C*~%;NXdH`at zR}{i6t5^t{qoat^P75qEBbQhAJnpvQh-4biRIXsfaq#qj0}6l%c^f`REyH#NY*?Tf zJkZP^I>G+@`#tS6o}pMz(dIsgj}M(u0KB*^PJP1NerOg7KlXR=0#r0zg`WdcB%Ukq z6M1?46YkEv^g-b&=74wUeg5Q-k8phu;tzHmc1Tcdq}>tDwo@_N;py-4IHqv)p>DKN zo2<|z^3X8QbL^09P^V?x#zr|xo#U7a&f*vjlgz8x|7|zmNLxEqDiaD@fK zsc*sd+GF>_d~K7L-1Rj(-%e}T#+n~^3`n56(ow{$m ztqk>TVL%mea|nIf<~8oVV;HHA0FVZ|dd(WR$Tn(j;Iv#&?6v6JLdO(y6@wxqh6n|@ z1b>&MN3gk|(TnU6Sj^U26Iiju1@&T%@dq%$5bQs8 z0p63yZ&IkitcdB8psI&S$5%D^3)%ZirGiZeU}rRI3Ec^mxbxaZFnZw-R+1SimD{#<(|jF%=&w7{Xr0&Oz3mTY0!$c@KM z56I7&SE3<)iv*xRXUpE{ zICfO2|RBZyH&64y=X{Zl{fiuO2CVb<(U%UPx!b$q{93&X%^*OpL zJOZc$*EhSXlD~1E+0G2QmqyzU=DH>X-6hdztIHa#YWl7FVrf+Z8`CpyI*v(W(qkQ4 zOmslP>wm%XcR@|Te*fUzwW8~vX`kXdaMoj=`)xmX0IW|=2$~-Z1QVn-CksmeUGV77 z<^5Bbzaf7Mx_|^}P|lcc*rA<={$juuTDN3=~ysJ4uk_DqffwSC6x zBwjbE@4bR)OG5nyrlW2vOmWr2ef*h69OMjhOhz38E$xQXW)F}Q)30;tkhzwVx)40b zWgdLR8_)uds96I~R>5@gq}rtBP-@ky?!c)({f!V!JxBp;YOp}>40w(Ww-hUf>)_HD zm?h;58jEqtZEI}wYtXZqH~>0rNPmVN-?VMX!Z`ZaViL*6l4UeNVhGSZ%4(>lX~%Y?zHU% z)5;TaosCRtreii{!VW$K@nv!S+j@22>u#5AtBYQD8|^c@Z+_kVNp&ZTkzoDRJxu(Q z6}Q1!{%C=O=M(t>iI<&m^CM1p zVn61Z`cPl_jF^js7)d!?kNR^*v${EKKmH!qV!F=xVVfF1-b>q zqov&fl^ljEGO=Z06m`rRAjAB?DHBCGkbd{(YxxR?9Jid$AU38BP{QWTBZh#OIxZ`J_o|Fz| z@cefW2BPA{s-0>*!Dn*JF_>6$m1O z5p*Qr@d=!`vfEq}10!km7FTr6+=1bScU(l74YkE#8qgKEGJRPPWonZ-g39$go{&xv ziPMQ>yj6}-8~F1~8y|th6GUA|7AFLe$;_<4@K7H{gbcrMZlSMg)Zeh_cpK1Glf`D} zusDvisF1Ja^UY$UfYLCokkTM_iM^4`MS}8>eUvJBTnu+H)Mc8*ZIOQU|GPV?^iNm#e~SFyWVY*r z|A+7(GXXmVSSAA=T#P{{V<0hcf&i3BA1aud=FUlSW<0Lo`wI&D3*$cqCb96#6LpQ? z2_|K+&;rwUf!fd(6^tmIZnx`TkR<38K}9nUgFsTcB|7t0*+8! z6V@-LG(1-@Y`4VvOCYB5SmK;NUFQ5U9Nl#)1tt`(?@<{6K-(E;iJotDbQ?=C0W4`; z%eD4B59Mj#jDA7*m)WX%^h0FZF>;F70xQm7OJrCJvHkm#5ThS(t~mXaWF#RCF_{~g zo<#siCN~(@;qL+-(yk7FBR3q=dquzD>%b_8fM=76OhZ9v%l5u%-MW;yAyPA;R*U&i zCM414eHafQqz>rwevFV{m=HZ-Ds)nSi@Occl}O(yioZ4{>a;PDk0~Y|xLKr_`0Cn! zx&w}mBk5*(D;FWqFy>o~Bs4`4l13rZ}=PmkqHLrhr zNfkbI>r3~&&i8-FqC0S`*jl-f*MDMOznj;;Y~pK3FPoVBr0!=Ai!WNwiXY+aB^b~X zyt!MxUe8Aeciv4BKVQY z-*6*~OIP#$dH`w-Z+<18bDLy<{?MBcJa{wT`yp;8uQ^LTU(4dtUuB=}=Ix^x`MtdP zU-`O+wGOhe8_@VmEPPu&f0?)Vd;_m<-gW15 z-iib=!X23O+9&*mzK#TSS7?B=R-hL`I?$%iUue@_((Xn|2k;4y4M-~grS993-U)Uy z6B&Y@snsy4HeP^J3k30i+Qs!AfnDc%Ub}sh8t!>*Q*Lh&!Mq&>^M;(T4=@4?QlbcV z1xZDSvS<>v3*qL2*KURLlWpE zrAldU>;Nc-Je?1UG-ToA(#c@d>h>{i;}8qdKO7G^71h|-GNkUG@~XVTVfo-+97=uo zexI+3o`9hkSmjTl{*{V;VO9l9fO;)All)z<_>i zz@P^}ClDSY@OyIegE$y^a)d(}01xE|0eOuBA`;oh25BnI-1ZHxhdl$9lb8|1fGv(c z3|7Q2S`jrUrV>32tq;e#ulhx`H_G9kCacDl`6Ovekma`!oeKtfQSc4}JTZlajr$>sg2tK^rs1#A$M4Gq= zlOCLQutwEpy~d#{bT!Z&qH0(qk@>^RMQXpSS6{sb->qQRe6=VGTv~zb@ZJ#H?|v%l zy_LlE-dgV(yR;6k@az+g!XMgYJ;3XBUDkuV4(YNuX?{nS^)RpPUDhvnEp}PI$|MydBvHF&+&>QCtu)oK$rC^Ui)`hFY=0`k6z*xhi3np*P1TtH@xBqmf!M< zq>eB1n(eY);Wg7`y~-;No_r10AYT*-UrF=dxh+ofn==ZTXK;!{AOv3d@s0dAqOvV9 z3?U=r0O-YS?&inRFS4lk$A{5%EQ|-l#WyzOv_4T@%FN@)2*k|mV3=|Qjz7#4g^$)> z)uZEt5Rk?|ptI88GpE&i1?G&rsop!g)Z@nW9*6ke;|6AAPJqYg9ZtExnL#ntNA&0( zcS2%)6&%JcN!q-$c_6<-(DgvGmP+WAVw)yF5$TrXumwnv9v6E*#IJ_XQxZFb13#nE z{189qXMcx=gm;P*IrzXf%mlw4a={XDeZ(zV#|B9<5$IWr!n4RkJo+M__~Bm_m+sm};^PPStmjwB_6ZN}d!DT$p@pmsk#-)IbRgCE4f+XIZTkq0bJZse z-ryNLO@Up}7Skgbk?APdkMtijZ+MCUH9n_G-3!juYHp*~o)Z%b=SIN9@~hOPjou*( zFpfN2^ns0dN2EnUYtLgW(+XiZSTQ2g*)#A^=<8O%coUSmV1f2X$xO+3f-)|l^&ci+ zV^hU;f}fOcZ8d3%*U)bbj7UDciPxLd(k5>QAkhs?-Y(#`8=AbKGu~`X(s`QGO9UJG zX(>%LStQ0Ph%)l?V2wj}MItyK6NyzI_V5R>1UQ>gYG$)nU*gef$lC(o2kWrds*RCE z@D_^k71FQ=kH@~^F>ios6^ftNZ^Pk(1Q#d;G<>ucc@Qk17H1<7ybPKHH`tWoA!>=>UH%+}3MX3p`3L+I zB|sj&fnQ;s>qPJ#enp8t{aPq_Fmm|u`R+vP8Q$x(OV9B(U+S{f<0kkJ-9YSNcqoo8 z7|j%|;a)ht(HT$T$^rz_MO(w94*1@}(|B|pSa2`PLw~76+03x6ZQ3u4A2=2`i3ryz;gf%EYWsx!@1xN-Efx-;hz84`Z2AGL8*#HZ! zhIxQlmUJ8&r=->-PV2!dj9r4s#fcheJqW?V2G{D|CxYj*6p$jm2P-4&(ty=4{ z6YZ;|)!+&9?plrk&7jMj@TJ<|p46L5&O=!oqzj*)ekyDFdZ-}TB4P{J@^gYQdcc^F zVt5#Ck^YHS z5Z4ME>sIw0*FZ7qz5J> zKMfpHUWQT`DN!?UD}0~h+mPW*;gg=MYHRaaN+2xxRc6Q}NNG(s8-6XM+{c_qxgb2> zFSo{FK}e$V^(aqj?#CHoIfQ^N_uVMx8N0^`6}nG!f(OCg%&1?tc|%Gd5_~`=5Q+`* z0qLdgZq!SbOD|a-g9*!}mzv*1?~|EJFLifE+2GOaCCjCkEH72|@}Ry5b3>7^g{h`+(@t27ClPhAdI{JnAr? zxRh~W-$ObhTvtIm+X$P7J-!72QyUz$Zvk-K&`)~@LCNFg_yAxuJEVPEh~5$b|K){bZS1qtWp*-`oR41UQ0aq{aG{HkJC<=1QYRn6`-@TWl08E^fX z{loe2cRQ-K=yjCx#r}x*7ab79fY&IvC=93r-Wv*q$aN}YML2glJ#t(Gz8D7KL7D|s z3MEt-1yF|r=DEwAFTxFn2gD% zf%HdHBD?uNvY8G2)ZXph;F9^F;mZi@{=LI9SX9I=NWEeX7D}8llCD^5j7?tdt|~hp zK?8JRfPMv^!!!8egO!IRu}lShaGZohg#wBMaR^0(MA*2!GQ&5Yg(13HEnbCJa`CrG$~?=}_fX zdTKRJnlg}|k%lo|Yg(7}Q$xmFLgoM7DUcN@sfB{>MkUetgUQEx-(N07GT4Hdlg}d#h93OK@w%*oCNprlZc}+HND=VW^{TZ zTeZ^_rlHu?T!g|g!1y0)IS;7sbb60q|5oPaA`VI4JC{*&hk4gc?2qbTG}jjo>fiTUcVk>0SK(C5o3@Nq>( zYvY9TIO|wwrxPxv$408rui#vo7e{)fOwO<70MX-|n!SVfpgpmB$SCg~+wP}+H`;qC zo4;J#8Y`Uq3$}V`j5nxp)7|2u5m<>Ege|A%tLt|3nsOMk=?dJ2`T&j>cJ%Ud3}Df@ zJUS}}iy+W}RXaCTNhXFMiHybqG>l8BzwX(0zCgRy=gcXWfvf9#R3LEeA_CV=nwS?xQ;ZW)-W*nEh>9A+`Q07n)Van@uS%m|h;7$xq> zVETbVAp_~L=TVdp_6+bYS_l?L+vx-=wczot#sG+1cpX3IqZ6{laVPjg&!4oleoSQ8dqk=uRYkAf56tyhT%%_0z5qc49yOWAy0th50w_D3rUG^bfyr`p&v>j& zKh9YTD)3c|)%QxY=9^n%B9!5ym11Ulcu#GEr33HiAH^0-oKQ(Ip7XQ# zmxC`IQffL&=}OO`Gf2ooodGK{aHv<8{G9mGVWq;CUaillXKjTn{ayS3{X-U+oMbEX z;l4ovaJr%iHXs@{z!Rwi;%h+4XjPtpa=pmQD3W^(V6Wp-V&E=mm5}TPWQ$+|yozci z#6Ut=@Dp>JA4gfe!e*wfEcQ!7Ed=m~A*v6y##XuzBF5%DS&ODnGf7Y)f&d@zc}lf3 zv&2w>!VBTjj!fg6TX;9IdzB(H2@waZAg#lJ&j0A>N1y!^{#8MW&d*Oo0m5(C=QOAj zmwf)~&LrN5P-Q##3B@A|eSv}(Ife>})z^Kskr_A892Uj`X4vI!e7uQpD)^za%mo^W z@`MHq;Sv7CE*KutuA#lK7+urFkuON*1O73Yk4n-R5YmoWq>gB(q-h6L3Bl+Vu|h33 z`71bYpqP~aYZRmj1|ki^%7?f>*rXG~;WKTpG5`btnF+J3OnZf%lo_BKC@}FOSF=G$ z$f+VW)1=H|ZY}KJ#l#^sm)=pF!In*N*COqMQ0WRAx*bZ)C-4m+2^XS4&|U6ZW6-7q zI-pPDs{lQ4_ANs8%Q6gXJK{J3GP7t@m;jI=HfV8*xsgl%<4=sQTB~cw>mUnWRU}eO zEQcpV3RaGPjJ<`wip)ZY6yL6}fp00$9y|oF1k5C0xeDqm=VV5%)K3GA1d3#602*j-I!>KK-X1Vj0UdN@E)RkclDGL8 z4K1bz09;rVQXb+CuK_w9@^oZ$4puxM0#yn2nKgncQW<01%*vIhceH=+44Ng+*MHrNs^VotEFeV&hLknpj{B$ z-8vAp3&#U&U{_1Q|qogZ`BfO}JWO zgA>TW(m`ytfn>1zR_^X~>|RVDU$2B>`;gPea-Rw;2PD&j#EmF60W1cSI#J|3f~G;^ zFur#rah+I9s7dEL6P#bZmBrfv?CB$>cn722d!`_!YB%+}uVIh=-=}y3Ium+v3zix}3}#3cH}J!L z5ZXE54mKAP_c2*&^i*$P0vM$Bnd&w7{tR42Ye0PY0M+>7RXO<_^bk_^rBqZ_mdDyY+i} zqxHB!Qjz@$m+TNLM zk8?%~mw`bC#)z+KA;+$Z~j z6mC-fe%|D!%_BEEL2x*r_rLb@W;uBIxBJV>|JvU>%)Uk)dVqIDF3RYEP|TB6;wuQ# zJ710cinknRF@OIn-Z1+m^_>1S<3O*?p4vU{KyPqzz*KN)#YtD zXOdQeNqR6E&Hhm1M!i~HJr*bMe)&?jpE~JsFN33Z&$`?@$39u*uK;5`S&h5Gd)K~N z4ZYGkVAzp&=dDi5vJO2mZ_U8<1pHOuuXlN=`-UsM8oRLDWqGR(&oA~YD}`%UOWtb0 zbtbMkTz6B?Ugf=GFYbQeYVUB@UaX2YdZS7cZ_8WlczVr{ytON?`{K{WUs(RPp}PE7 zQ{IE$McgOSmQ{_bh1khvTqK4P*N5>jR4U6Kp0~afDSim1U7{34Z)Vwtrzki57^eHOe()$Bu>i74=yS6p9JkrVsmNjXAJ<=-F+7B;> z9a*DJzsZ{x0q%{j<*iA0e7e*JcpRL!w#WTF%QV=-=eMCOfxocd;k0&OF!52G=6q4QFJu`5lfk?BJJ|>UzhSdN0Cn z4osJqEbA!z;D|!N^#0%xKwxzAfkrL9zZ&I4><~iXcl)7?&!^-0Ubu$k2b%Ix%k!3t z`#M}((7siT8{*(M0VfC77yc`6wc>isNxJ7@2k$_6N347y?%B{;C?63kzXkVu<8L37 z?;I=t9`1+ZZwSiSan@g&gqxf3wuLBVuf!-gNnJsVh#^6-O6`2CzI43n}tU<8?LIN6B^a8P+bHDi3JWH)t@S%h26S&sm z`XVYMlbWLP)?i%c;JOR01OpyfE3Vc9T7xS)8V)Fg+!dv3HJO~Fzp-ZFH~Gyb^Faui z(I{sHAxLMULv8r|1N4Rshre&bZ)hO?GI#0Hd5aeM`_4Ua*(D<_zU=E&b)<3?>qNf<~1w0hA-@@#=PT=P)9!P)s6ox3;KU$+3aKS zroZo^XXb?upCRd+lwn zK7p$0dsVe)$x`Y1drzpz>%9@q6;G*4OZ=Sg+tdPLE_@T9tTy*JQ#<4N_>dT)@k z;wkmPdavkQ{gi5X2G8$$O6~HD*Xlg+l={XqUW@a)r__nhcx}!AK)KsnxW%`|>4A0A4h* z1f9FSuV*v#(C&Or1a=gB2dGu~^pI}UQ}3pvo2;&N+%fZxK4vcJn2m21EczC2mvSUW z`ZArI0DmcGZT1lh=K4p>UNC#%oVn`avFV}xXU?9tWWS@nd|+4CWL>=LU2l8+9Os^u zD*ukxl32fTo%(p4*Oqt_H-jJW1|?2EXPw&h0dGj+2HYI=fLHMEKW80axOmB;#fz5C zUf|DL>Yp%o*`m2eTETigX;g&=yoM^Ez@PZDReq|MAMnzNGtOP7{`3GMKCZ=0^@HBn z#1pug^q@C7@d0j@K8R-2dF#|w58|C4;pYAay-|smakJ?`tTJ44KI%&xJsVZ8;cX3Q z{P3l7@rM!5<|N)86(1chzMsWuzCCC5f(2Ia3;wQ_-%IAsUWO0XMs+s?i~ z-T#g^7`DMH??46aQT8V2@7T__$!oRWR=aM3?R%Q~`X+B+^CdT+;{0**mL4~I*_>m5 zNroldq%PP5Bd$G52^ zxWaO{<^ykP%ZA(8CrT76_yg}#U31U`X5n`A30|5uI`?X zyrYssm~$vo8;xMv?4>i8%$tLjxj`?JSTGlu_R5`mrN5KFPS95q=?k2>d%iZ+$_D|LIF5-)xQxCf7 zVb0$lSATKS$xUsWe~SQ_}?33a)b-p9HB zNzT(~)tF8iu#=}Cz-Pp=ahVn3ihPNV&o)!?dh zm&*;PnM;)a)$~`@&X0Hty4$ML2PNzqyHCia3!ZcDA9V|l)}e)u|EPXfmu|K%QXkc& zceH<|cBoIcHqe!j$sGvB4Q_kfVn}_!>t!{o9%Egh&aY1o$*tLlSCYgtE4WGB&nJ(l zH|x^}*sIkp4e3!W_q@S6KwTmVj##j0&ap^0#lq2-p$&CoL%LxcHy~${M`GeEY(U0+ zzopBMSPIfuHg}{hJ@-wNRxe#LXVijuN9;gxdx`o>L%LXVJ0G|mzNWuByW1MmSJ>mZ zM>*pzJ!$E(xj>#L_^S$dvUKjkrOWXxw;E^CMo!>2Hx*}|vMK4*#OCxF{kf+&Q$>*_ zBe#N|bgyqtpK6!5T{z<{)#BI+?$AHAR%FTk-b@vHEC^`Hj@^tm2f}X7Jg{MI!OiqD zKMy})kyfC%vo=!`mL7*v(VnRlP zg^-W*v}F3lp3LRcF==~dKv)_qhGYd%E+s`>r_LOl9yy6;>13LgfN+;Ao4dq6ZaE}A zG=*u zruueUdQdY{qh|6)%!U#&dkJJ`$p2TV`}o!k>czJ75J-@JwSnzmoPN5^+4K*!E3WoA z>M$Q9d!0JjPY)T)Y|WYaa5TF^M}bN>=Ohh)XVuU7>PGbnULDAj4l}hPX)1fH6#S1n z0j&EMz!F|m3km@8S?Y#DdT0AC_1gl7|8ezUA-xO4*Z5+3I3(O`UVf?0FQP-QsUH^8 z?aoL4QqL6e>c#3W#dO0U9uNF~YP%BnD2jC7)icTTR5)^Q%!Cla4RXzyWWr4nF1ds# zheDVW5J({5MwozST( zSaE$<@%v}`JL;>i>Z_{m`MP_k3vfZOd|FvBFb1c8gy5uT-BxMaivDNcI+dbe+025u zSaq0yNW1+M-Dc!1H)wu2=zPmNmQ#Io0ls-dUl(%(Q6Cj7n^uare=07wRjh{VH=Ywo z?UX#r(TX#e;)CXv&CQw_3{0C7YvQz+*bdw0MX|IUHq5F@aiU1+Yr?zlQqtkZ>UC$Y z_R1ua{7qG4Pgmu44cIZ^^P0c6FuRt5Z~n~BR#L; zb>*ZKY&QPVvS5$0VENn`bJT9XPXakFOH!Z4NNO0fKVt4oAI;1!#nPUNC5LV#<2z2Y z?ZO3f%BGc+PxF_LE-l3(qKA``Qer|}<_1bjmib?G-!)u-t;dV-=OnPx9sp+)XwsNcJ^P;2BzAROo;9#67>p58|A$1M0oW&=5)^#G*gZ>%bX){L$ed=}X@u#D4 zlrKK5&L*}?{3Bl(h$UQ5ptO;%J|m_UV2W%MYYUVvCi)eMq~p=+8FQiX7l!M-%LA3p z_z5@bAmy2)O#1!5q^7jH1WQWiPMMk&Lie&l`0|2~oE6`WRyuG>K_}t-hg)y$#wcy> zTK{LNQxw~{vqr_fH$*ptS`s$aED2}}art|YHH^y!s8{+`#I%km&5D1e@#6d0RQ!ou1Ro}aIyd4wv?TXGCHfR8 zw;4Wo?~K_0y{U)TU8FR{96Vm6^us#-x(H*pEYjjm_h`jlCWj>MP%x?^h2)Vzmb3A22PRE=&@#K$}n#M zrvYiaX102$I%s@IFlU(#c`MMAdIFt3Mn@;_0Tact2FyuNN(Et9#w?G6o&p*TNTv}7 z4VE1`M#_*x%NdxDD;zXfAJ@?dQyZ&B-$R|*FhZUg)-mfJqqI03RED?@LI7Gyx;MQk zz5!??-z{Zk-YrQdAf`SiQQ}g5wQrskDt8o~g8yi%>JNCi$}|pmf`8(cP0KoIdeQ>pwXtol6@ZNH{rM49C@2P}(HhayA0|o`BV~P22c}4&v-NvYjWNvrM9JC}8U`>_6E34< zeHKSYmWlFmWvKry*oH~TxLtPO4yF_UO{PHG+v8vcXi5oc<3hB4Tr@g9E=!=GAD1P| zMb;dQ%Wm-Xy@Tf^0mpF}a=`jGkI)n}x zj+!hh67hr6McNQNYO>77kZ3e7WtMyO^fJYgsi(Uu))XC0V~XO)M=!_2CUurPaHGLq zplNgrkIV$Nw{_z<){ z44;G6hksd;ZNTGnY{27mY``^IKj3R&vmwS)8}OMcBdzBvWwN|+nApBh zaRfIGW756YCg?6hdLjNi1V(dwGAaEMKCXeJJOcYrCDVq-$d5991ot||oLy2SOCg~k zvP-HY8D9$7byf24@JQE1$|ObpVwG6G3|AR*S4WO6Q+gO=>3;FSN~KvF{7kuYiXvRZ zES)f#qe0V1u&)!W%~V=6Tctde-gO<5tPp%PS(386katilSK-~*b>fRvN_u-gYV>GUe$(ABmp97k@Z^WsD>c?q1l~@;{<;BpTP*9C)_dB2j8s%&EFjS|*du`Y&l zy*EW}Tcdn$3cGhOX%h_9dNDHSg<*I4Yxo!nHr>xKRHwfSayCeHV(#rVr-dXL~W+@iQsw%4iefcicm7H)z1$2X~eEF!12 zD0edJzU@pp20L~yZY%+8V)|+Leqp=lyiKtU-T@C=LoE5CLtz>&TfT*y_*r0^M#z>j zOlpmm&nBjSrjsjvC^dU*r>NbA8U2`6%NMPs(ONC&y|Yaz@AL-r+^`ZstKR|UuIXji zE~|G%BW=!B$%DHhbG9oF8nd^}MI_)v2^#A#9DUemwBC-+zXHBGGj%jwwPdD7BZ;=6j_%9%NaB=7Bp?1tXo3*^Ds1ap~PODuG!Bf{>(QS{C9-11ns9A{9am`84pdnVU zTzjVBx&$@H1=AWi5e}_RlZuR z$zV@GHFAv1(?njeUu@o|q!&I6zUClRkJGAyG?Dkm8l;J=R{bLwbVryaC0I$}oBiSn zOr`#Clc^u}i;Vra?tP&~^xUtcI}X-HU7!hjH^%iX(CW!CHt`JyVtaUO;u{W#)%%q@ z+E`@EVXO`##YGbNdW#z`alfyPLLEKE-Gu4PN|nb z(l-grHOJdHU0kXXr)rgs;dYy2eB@}p0Y6T6RvdrP(XnvnFN4Pgs6$hvQB(U1I+9FN z6-{iQ5cg`Cg?swgZyL3=cZBdD>QYefxSl;d6IZSp!?@I7H|i9O`1E)6{sh^(UzH_I9fICbVgmYPH`F-&Fm5ji&0V!(@WL$kvR-bIkrWwCK|PudYuM+mORSsHKLUyiXTuKq!w(cADn_MV#xza z$2%8k{8(_}bSyX;tq;y_)X@b;Beme{-Xi|~fYKuTBh++pkThEBR-BG?D^9E3Qo}F~ z-*2^nEZSN>3~{YDj_wAQu(&dM&Cw|sTgKB`HorC3L+k+oa| zXA)}AjABVf%PJjBH5RJ0@I0jSbG!&Wb)c3SEkm#oYqYUMwye?731OqvgwxrJOT>|f zlvd%CrA&H?>=zm>O~5YzP1^~ZV6^N6Jq9$L$mnE69^MI>+EG`z<$0X&CxVk6t6{+M z(P*@6?Tew%XjsHmHgPti29|@w#u~$tr4KG*z5wSWaRx@cNXJCcd(j!R-it1v>wDn@ zNAHD3YhGw{ofiSr$m|z&LsI+x88~XIL!*8F4z#}2>!9PUTF;{IBP)b*2v3HTRtWnc zrBCW374h|8-HOqAq(W34Qku#aDk3`%DOEwKY=Hz8zwW4KB72Q;qG>)YDW?ay4l~)sv}l zQuRb5HBV;NiOG{P%~oU6lN^t=ZUwD&tAT2JiY87n)j)d~Nc2WZJ% z<7&&3H%G!RD-KsU8JV{!NPEl&1fZ2);&(@#{lF1GE5s83W$H3w_SWj`QEE_=Ux5y_ z2YFblujUSaM&XunO8MygX#9{w2*$@^O17;q9G?-%HL@P8=}|6Bw5 z#!tZkYMdO+M|SNFfKq>yQPax*LO(3&8_*1Xg$BL>{sH_1Xyq|9`Wo;ya1H2)FJKNp zD__FdL^zrPbO(k3V*#x^hU3?Ow}ERw%Z-SCCtU-ShwXxyNqN>no#FeC*V_&V;6dOB z@I3H3kU;r1WU;J(3+Mxk03HXlLi}u?CqQzo1i~Ofz;s}iPOuWktAX{vW*t8fjm-nn z!Rw&or~Cq+(u%!+{(x2n;y%!IeHVn?i@%0%4nVh zo&>b=TO7X%P+Id-;AVsWJ2~2?wCHfeky63GgQt|=i~y9e{11RKl!-`CXr&Tg29^UG zfTsbi(DAFl`?yTK0BGfx_%DWkrov@13Ii>Hdvu0Mal9Cy>)^+J1%KWx^!5C(-jH7K zYxtDh=?>U{-ar9x4=@FI33wYQtgai0Q=m@+F90M*iN^mDh^xSL;2%+eI(n(7+#JXN zTI&pbiEQsRAbB3-fL2=LxD!B`-Me)BXL0-&;N|&D@+@G|WMC0ewp#nrk2=985Nd_; zzKx;S8K9i6Ru)3P0;mPZXdd+L(AA@SY&mce=&%p_3D6y|5%$;FNe=52Qy^>wPz9~% z4gD*5qg&L|^Shuu7eI;Np+J27jRip&UdsED=UTaj;~#(o7*EtSpzl!^U5|bZ-%_U^ zt~WF~K|OviG#mh?>KvdX^3U;yf=>xzN*hxhtyJN-8lZ&mqj5g^e*=UO9yJD%>pc6X zxM_xlLuWKl1dP||--^EiI_m(+(mtuv{}Ybi4dV~xU>nrbd1}FN9fRii-FafHG*|zB&cUXZ{^njP%_7 zfL5B~xCha(ivNmF>BXl3${Qx2!3KcZaIB(^AFd~$RN^N9<@>$`w9*X*sApCrTybNgNUmAe!FV(+g!?AkdTQxi%UakN( z0($`R{u6+_Z-C0=y)$NH0zS$4;{Z8-4$#W$_hHAYWYXumm^21kINiY8g`Kn?j!*Bw z^*`PE8i?8581Mj;+5ZLxDCxHc&`O7SFVS5HJ* zH8O88bf7%Z8h|n*djYM~=SR+`nE${MyF#IMbL8PP^ZHcv;jruu=1ldGqq{npmoPkX z6nU$&IV8*XtPs7snmfwRt%!uWn)4YRUWgp&W}Xe*RU*@79!yUZOtqPF8J;MJ9I%_; zWOCPak$FyYrcvIvUF^s)_mtf`B7e#;`(=5@PLZ2uZX@Fs>^=1P#?DAZp1Hp)zkXlj z`CjJJGVb0)R`xZQFnQbD$hCgv#WLN0Da$v1CjVwn8k$ll@R9Hu7S&W|t;ln+;mRwK=h+i2hnd5mYt7)WMJkP?t*1M3@!C3yHFDi=IT z!Yv+Y?uYDMp_jSUSiEzmNhPInJaXzQU4Zv|=9Nwlrf!`k zXR@@d8|3DeCe8Hn=&L*Q!cn9{9)H`I>TtS3xn5hY&*t&koKAn&kf_S%oyFOiyj!Zv z8FcvEwt&;-_4>1Y?rwTvwkv24*&V@Lha>2=+q1jtgknyAp3HmDn?h*Hrjw-RdL3S; zD>vkI+XMb=cfhU}dK@_}o6Y94X9pdjfZglR2}QvGo-8|coK&wn+imv+{Q-~LAN1yA zyL7^ofY0X(IefW6Cp`CsvfU!wmyZ)o^LdK+YhV5<%ZW0U=HqwKbH%27K8JbeBY@{g z!O9b22=BpqMp@kp!RjUY7V=rFw>VzN=g57w6yBreCSvkpZWWux zaFZw+!dtMxV%8AeA@chnd`&95Q&diey?)ct`h9hNm!t&zLBBod#+ZjZ!GPVpL|j?T z^HYLepDmc{vgJ5KL5JPrUn+VF?n})LW_toY%$Z!5D<|M|h4)8?pkFoTV$)1slIHOE z{JEZh*PHEg_<}j13OrM@$0e1i;X^RN%Ohf4$KO~)9G>M1_H}4-pPx3 z2a(*9CyH;U@?^tuJQuH4?K>TPUA)PhL=%;Zex(>%wS`8d{C+&?H(q?bn&*no?%`=E zevdEL=C^r6PP^akUWw<1RTC#l`EzWQI6jNtWmwI2M41#zQM`tmQXGMx&l&J~a{U3j z-{T71FZQqFg{eND&E;|ivVA!=%scxUT}vrxKEK!HbJ!grugjk8^9I+lyF^L}Z!Ip& z=1oQQY-||on3!Edk*Maa#J97#6~9w)dl}~0261^cFGzC-gC0k~;dlFdE)SN&MmCbV z(oXCvz=V0a41=(V`6-&s#iwO_n4t>uLsQ_wU(TDEHnaJ~?S>VJHx|x7Ox7j^GOj4{vw`U7mR8Q9=`Yz;V@#uWswyu_#JO{IXtC&59Z^A1}Y%Z@f zZP!<iEG1gz$ zS7H!f_3`fP_|3NN^`nIoVzHkuH2fRJ2lWd@uK>5O$3#V#SBSR)P&i4|O2wT)jN;?0 zG}_9BARj9KyE-HzMW+z<=?H!rYA<%R2_fE?Jt4f?_`@Ov18R7ZO^?pr3n9$OkyH3k z!&7W#eU?jnJ%w8gr`RH~#Lq{INmF?z!_)P)gU4w*c!tfc7ez(%n8t?~eycT6wSp&! zy~KJJzh^>g2Js$mz|U_++bh497vTlOXEH_t;#qX+46E zUC%7~ZN%31el=#rkE_u5`_Ub;lbBJ#D&$ovEc)~e<=<} zD1=jjGsl5*YEF*#g4nR0k52P@v5DH;F1*s>3%XqXi*Q@rg1%hCd$JEjFTp2dl;I`0 zc|n{7bKGuEz=2b9C=hbEgT9a0lxQcPUCRd=KCaiGH`^P+xx^Xp1hefVEF9roKMA-_1uw|?dklPPP-({>GS3|ogt6Y<8}vfvfY2J zC(X_YcwBauKi~-X-L7o!=k=u_oVRVc0k=IE^o3mBFX~DCzEHsJ&9>WdVU&$i{NJz> zBN9E;^Osn>0n6h{ab*)fZ1@Ui+`66r%_=P5%bR$WsN9StaGB*tw}DR<;lC@o!fI)P zq>GVNh)z}&zgu+Ng7d=HqW>1Y#_$dE=`5Ywi>Q9S7PGU}Rc>_(rL?8dIKToxZx@{CBcYJPVDD;8hx+ z!i&GSF^D^~FbAQ{yeMYB_CM z$srE@S)BR7n_Kvi5)ir*!u zl^e|{EuB7hRT?|vvHz$yO!H}E sBEEERL5y+C@!S2lPWCx+9#$26$vC&VFxXDFBPRz}mp1X}1N`>?0?ysn^Z)<= delta 190884 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 + type Backend: 'static + client::backend::Backend; /// Client executor. - type Executor: 'static + client::CallExecutor + Send + Sync; + type Executor: 'static + client::CallExecutor + Send + Sync; } impl Components for service::LightComponents { diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index c4911e7d9c6d8..acbd935ce8c32 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -55,7 +55,7 @@ use hashdb::Hasher; use kvdb::{KeyValueDB, DBTransaction}; use memorydb::MemoryDB; use parking_lot::RwLock; -use primitives::{H256, AuthorityId, KeccakHasher, RlpCodec}; +use primitives::{H256, AuthorityId, Blake2Hasher, RlpCodec}; use runtime_primitives::generic::BlockId; use runtime_primitives::bft::Justification; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, As, Hash, HashFor, NumberFor, Zero}; @@ -71,7 +71,7 @@ pub use state_db::PruningMode; const FINALIZATION_WINDOW: u64 = 32; /// DB-backed patricia trie state, transaction type is an overlay of changes to commit. -pub type DbState = state_machine::TrieBackend; +pub type DbState = state_machine::TrieBackend; /// Database settings. pub struct DatabaseSettings { @@ -92,7 +92,7 @@ pub fn new_client( ) -> Result, client::LocalCallExecutor, E>, Block>, client::error::Error> where Block: BlockT, - E: CodeExecutor + RuntimeInfo, + E: CodeExecutor + RuntimeInfo, S: BuildStorage, { let backend = Arc::new(Backend::new(settings, FINALIZATION_WINDOW)?); @@ -234,8 +234,8 @@ pub struct BlockImportOperation { pending_block: Option>, } -impl client::backend::BlockImportOperation -for BlockImportOperation +impl client::backend::BlockImportOperation +for BlockImportOperation where Block: BlockT, { type State = DbState; @@ -259,7 +259,7 @@ where Block: BlockT, // currently authorities are not cached on full nodes } - fn update_storage(&mut self, update: MemoryDB) -> Result<(), client::error::Error> { + fn update_storage(&mut self, update: MemoryDB) -> Result<(), client::error::Error> { self.updates = update; Ok(()) } @@ -277,7 +277,7 @@ struct StorageDb { pub state_db: StateDb, } -impl state_machine::Storage for StorageDb { +impl state_machine::Storage for StorageDb { fn get(&self, key: &H256) -> Result, String> { self.state_db.get(&key.0.into(), self).map(|r| r.map(|v| DBValue::from_slice(&v))) .map_err(|e| format!("Database backend error: {:?}", e)) @@ -351,8 +351,8 @@ fn apply_state_commit(transaction: &mut DBTransaction, commit: state_db::CommitS } } -impl client::backend::Backend for Backend where Block: BlockT { - type BlockImportOperation = BlockImportOperation; +impl client::backend::Backend for Backend where Block: BlockT { + type BlockImportOperation = BlockImportOperation; type Blockchain = BlockchainDb; type State = DbState; @@ -476,7 +476,7 @@ impl client::backend::Backend for Backend< } } -impl client::backend::LocalBackend for Backend +impl client::backend::LocalBackend for Backend where Block: BlockT {} #[cfg(test)] diff --git a/substrate/client/db/src/light.rs b/substrate/client/db/src/light.rs index 0c21bb59d36b7..9b82aec1f3087 100644 --- a/substrate/client/db/src/light.rs +++ b/substrate/client/db/src/light.rs @@ -27,7 +27,7 @@ use client::cht; use client::error::{ErrorKind as ClientErrorKind, Result as ClientResult}; use client::light::blockchain::Storage as LightBlockchainStorage; use codec::{Decode, Encode}; -use primitives::{AuthorityId, H256, KeccakHasher}; +use primitives::{AuthorityId, H256, Blake2Hasher}; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Hash, HashFor, Zero, One, As, NumberFor}; @@ -203,7 +203,7 @@ impl LightBlockchainStorage for LightStorage // build new CHT if required if let Some(new_cht_number) = cht::is_build_required(cht::SIZE, *header.number()) { let new_cht_start: NumberFor = cht::start_number(cht::SIZE, new_cht_number); - let new_cht_root: Option = cht::compute_root::( + let new_cht_root: Option = cht::compute_root::( cht::SIZE, new_cht_number, (new_cht_start.as_()..) .map(|num| self.hash(As::sa(num)).unwrap_or_default())); diff --git a/substrate/client/src/block_builder.rs b/substrate/client/src/block_builder.rs index 30216f4157f27..0d78f30cc413b 100644 --- a/substrate/client/src/block_builder.rs +++ b/substrate/client/src/block_builder.rs @@ -24,7 +24,7 @@ use runtime_primitives::generic::BlockId; use {backend, error, Client, CallExecutor}; use runtime_primitives::{ApplyResult, ApplyOutcome}; use patricia_trie::NodeCodec; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use hashdb::Hasher; use rlp::Encodable; @@ -45,10 +45,10 @@ where changes: state_machine::OverlayedChanges, } -impl BlockBuilder +impl BlockBuilder where - B: backend::Backend, - E: CallExecutor + Clone, + B: backend::Backend, + E: CallExecutor + Clone, Block: BlockT, { /// Create a new instance of builder from the given client, building on the latest block. diff --git a/substrate/client/src/call_executor.rs b/substrate/client/src/call_executor.rs index cbb0830615160..d78025574185a 100644 --- a/substrate/client/src/call_executor.rs +++ b/substrate/client/src/call_executor.rs @@ -25,7 +25,7 @@ use patricia_trie::NodeCodec; use hashdb::Hasher; use rlp::Encodable; use codec::Decode; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use backend; use error; @@ -115,10 +115,10 @@ impl Clone for LocalCallExecutor where E: Clone { } } -impl CallExecutor for LocalCallExecutor +impl CallExecutor for LocalCallExecutor where - B: backend::LocalBackend, - E: CodeExecutor + RuntimeInfo, + B: backend::LocalBackend, + E: CodeExecutor + RuntimeInfo, Block: BlockT, { type Error = E::Error; @@ -157,7 +157,7 @@ where } fn call_at_state< - S: state_machine::Backend, + S: state_machine::Backend, F: FnOnce(Result, Self::Error>, Result, Self::Error>) -> Result, Self::Error>, >(&self, state: &S, @@ -176,7 +176,7 @@ where ).map_err(Into::into) } - fn prove_at_state>(&self, + fn prove_at_state>(&self, state: S, changes: &mut OverlayedChanges, method: &str, diff --git a/substrate/client/src/cht.rs b/substrate/client/src/cht.rs index c407cee6f5711..2f2f38523b179 100644 --- a/substrate/client/src/cht.rs +++ b/substrate/client/src/cht.rs @@ -213,7 +213,7 @@ pub fn decode_cht_value>(value: &[u8]) -> Option { #[cfg(test)] mod tests { - use primitives::{KeccakHasher, RlpCodec}; + use primitives::{Blake2Hasher, RlpCodec}; use test_client::runtime::Header; use super::*; @@ -257,18 +257,18 @@ mod tests { #[test] fn compute_root_works() { - assert!(compute_root::(SIZE, 42, vec![Some(1.into()); SIZE as usize]).is_some()); + assert!(compute_root::(SIZE, 42, vec![Some(1.into()); SIZE as usize]).is_some()); } #[test] fn build_proof_fails_when_querying_wrong_block() { - assert!(build_proof::( + assert!(build_proof::( SIZE, 0, (SIZE * 1000) as u64, vec![Some(1.into()); SIZE as usize]).is_none()); } #[test] fn build_proof_works() { - assert!(build_proof::( + assert!(build_proof::( SIZE, 0, (SIZE / 2) as u64, vec![Some(1.into()); SIZE as usize]).is_some()); } } diff --git a/substrate/client/src/client.rs b/substrate/client/src/client.rs index 963d165b1f51b..9246e61ec85d9 100644 --- a/substrate/client/src/client.rs +++ b/substrate/client/src/client.rs @@ -24,7 +24,7 @@ use runtime_primitives::{bft::Justification, generic::{BlockId, SignedBlock, Blo use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, One, As, NumberFor}; use runtime_primitives::BuildStorage; use runtime_support::metadata::JSONMetadataDecodable; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use primitives::storage::{StorageKey, StorageData}; use codec::{Encode, Decode}; use state_machine::{ @@ -165,9 +165,9 @@ impl JustifiedHeader { pub fn new_in_mem( executor: E, genesis_storage: S, -) -> error::Result, LocalCallExecutor, E>, Block>> +) -> error::Result, LocalCallExecutor, E>, Block>> where - E: CodeExecutor + RuntimeInfo, + E: CodeExecutor + RuntimeInfo, S: BuildStorage, Block: BlockT, { @@ -177,8 +177,8 @@ pub fn new_in_mem( } impl Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { /// Creates new Substrate Client with given blockchain and code executor. @@ -303,7 +303,7 @@ impl Client where let cht_num = cht::block_to_cht_number(cht_size, block_num).ok_or_else(proof_error)?; let cht_start = cht::start_number(cht_size, cht_num); let headers = (cht_start.as_()..).map(|num| self.block_hash(As::sa(num)).unwrap_or_default()); - let proof = cht::build_proof::(cht_size, cht_num, block_num, headers) + let proof = cht::build_proof::(cht_size, cht_num, block_num, headers) .ok_or_else(proof_error)?; Ok((header, proof)) } @@ -326,14 +326,14 @@ impl Client where } /// Create a new block, built on the head of the chain. - pub fn new_block(&self) -> error::Result> + pub fn new_block(&self) -> error::Result> where E: Clone { block_builder::BlockBuilder::new(self) } /// Create a new block, built on top of `parent`. - pub fn new_block_at(&self, parent: &BlockId) -> error::Result> + pub fn new_block_at(&self, parent: &BlockId) -> error::Result> where E: Clone { block_builder::BlockBuilder::at_block(parent, &self) @@ -595,8 +595,8 @@ impl Client where impl bft::BlockImport for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { fn import_block( @@ -618,8 +618,8 @@ impl bft::BlockImport for Client impl bft::Authorities for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { fn authorities(&self, at: &BlockId) -> Result, bft::Error> { @@ -641,7 +641,7 @@ impl bft::Authorities for Client impl BlockchainEvents for Client where - E: CallExecutor, + E: CallExecutor, Block: BlockT, { /// Get block import event stream. @@ -659,8 +659,8 @@ where impl ChainHead for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { fn best_block_header(&self) -> error::Result<::Header> { @@ -670,8 +670,8 @@ where impl BlockBody for Client where - B: backend::Backend, - E: CallExecutor, + B: backend::Backend, + E: CallExecutor, Block: BlockT, { fn block_body(&self, id: &BlockId) -> error::Result::Extrinsic>>> { diff --git a/substrate/client/src/genesis.rs b/substrate/client/src/genesis.rs index d3f0278e3f0f4..93b8244fec534 100644 --- a/substrate/client/src/genesis.rs +++ b/substrate/client/src/genesis.rs @@ -51,7 +51,7 @@ mod tests { use test_client::runtime::genesismap::{GenesisConfig, additional_storage_with_genesis}; use test_client::runtime::{Hash, Transfer, Block, BlockNumber, Header, Digest, Extrinsic}; use ed25519::{Public, Pair}; - use primitives::{KeccakHasher, RlpCodec}; + use primitives::{Blake2Hasher, RlpCodec}; native_executor_instance!(Executor, test_client::runtime::api::dispatch, test_client::runtime::VERSION, include_bytes!("../../test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm")); @@ -59,7 +59,7 @@ mod tests { NativeExecutionDispatch::new() } - fn construct_block(backend: &InMemory, number: BlockNumber, parent_hash: Hash, state_root: Hash, txs: Vec) -> (Vec, Hash) { + fn construct_block(backend: &InMemory, number: BlockNumber, parent_hash: Hash, state_root: Hash, txs: Vec) -> (Vec, Hash) { use triehash::ordered_trie_root; let transactions = txs.into_iter().map(|tx| { @@ -69,7 +69,7 @@ mod tests { Extrinsic { transfer: tx, signature } }).collect::>(); - let extrinsics_root = ordered_trie_root::(transactions.iter().map(Encode::encode)).into(); + let extrinsics_root = ordered_trie_root::(transactions.iter().map(Encode::encode)).into(); println!("root before: {:?}", extrinsics_root); let mut header = Header { @@ -116,7 +116,7 @@ mod tests { (vec![].and(&Block { header, extrinsics: transactions }), hash) } - fn block1(genesis_hash: Hash, backend: &InMemory) -> (Vec, Hash) { + fn block1(genesis_hash: Hash, backend: &InMemory) -> (Vec, Hash) { construct_block( backend, 1, diff --git a/substrate/client/src/light/fetcher.rs b/substrate/client/src/light/fetcher.rs index 89416a2beee8d..02090a4bc6076 100644 --- a/substrate/client/src/light/fetcher.rs +++ b/substrate/client/src/light/fetcher.rs @@ -187,7 +187,7 @@ pub mod tests { use in_mem::{Blockchain as InMemoryBlockchain}; use light::fetcher::{Fetcher, FetchChecker, LightDataChecker, RemoteCallRequest, RemoteHeaderRequest}; - use primitives::{KeccakHasher, RlpCodec}; + use primitives::{Blake2Hasher, RlpCodec}; use runtime_primitives::generic::BlockId; use state_machine::Backend; use super::*; @@ -213,7 +213,7 @@ pub mod tests { } fn prepare_for_read_proof_check() -> ( - LightDataChecker, KeccakHasher, RlpCodec>, + LightDataChecker, Blake2Hasher, RlpCodec>, Header, Vec>, usize) { // prepare remote client @@ -236,7 +236,7 @@ pub mod tests { } fn prepare_for_header_proof_check(insert_cht: bool) -> ( - LightDataChecker, KeccakHasher, RlpCodec>, + LightDataChecker, Blake2Hasher, RlpCodec>, Hash, Header, Vec>) { // prepare remote client @@ -254,7 +254,7 @@ pub mod tests { // check remote read proof locally let local_storage = InMemoryBlockchain::::new(); - let local_cht_root = cht::compute_root::(4, 0, local_headers_hashes.into_iter()).unwrap(); + let local_cht_root = cht::compute_root::(4, 0, local_headers_hashes.into_iter()).unwrap(); if insert_cht { local_storage.insert_cht_root(1, local_cht_root); } diff --git a/substrate/client/src/light/mod.rs b/substrate/client/src/light/mod.rs index e722daab78d22..d16814ae2fca5 100644 --- a/substrate/client/src/light/mod.rs +++ b/substrate/client/src/light/mod.rs @@ -23,7 +23,7 @@ pub mod fetcher; use std::sync::Arc; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use runtime_primitives::BuildStorage; use runtime_primitives::traits::Block as BlockT; use state_machine::{CodeExecutor, ExecutionStrategy}; @@ -53,7 +53,7 @@ pub fn new_light( backend: Arc>, fetcher: Arc, genesis_storage: GS, -) -> ClientResult, RemoteCallExecutor, F, KeccakHasher, RlpCodec>, B>> +) -> ClientResult, RemoteCallExecutor, F, Blake2Hasher, RlpCodec>, B>> where B: BlockT, S: BlockchainStorage, diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml index 4d1c61d5e5715..0c4e658740517 100644 --- a/substrate/executor/Cargo.toml +++ b/substrate/executor/Cargo.toml @@ -22,7 +22,6 @@ lazy_static = "1.0" parking_lot = "*" log = "0.3" hashdb = "0.2.1" -tiny-keccak = "1.4" [dev-dependencies] assert_matches = "1.1" diff --git a/substrate/executor/src/lib.rs b/substrate/executor/src/lib.rs index cee6107fdd562..7898411be47d4 100644 --- a/substrate/executor/src/lib.rs +++ b/substrate/executor/src/lib.rs @@ -45,7 +45,6 @@ extern crate triehash; extern crate parking_lot; extern crate twox_hash; extern crate hashdb; -extern crate tiny_keccak; #[macro_use] extern crate log; @@ -78,7 +77,7 @@ pub use native_executor::{with_native_environment, NativeExecutor, NativeExecuti pub use state_machine::Externalities; pub use runtime_version::RuntimeVersion; pub use codec::Codec; -use primitives::KeccakHasher; +use primitives::Blake2Hasher; /// Provides runtime information. pub trait RuntimeInfo { @@ -86,7 +85,7 @@ pub trait RuntimeInfo { const NATIVE_VERSION: Option; /// Extract RuntimeVersion of given :code block - fn runtime_version> ( + fn runtime_version> ( &self, ext: &mut E, heap_pages: usize, diff --git a/substrate/executor/src/native_executor.rs b/substrate/executor/src/native_executor.rs index 32cd44de973c8..bc928364a607a 100644 --- a/substrate/executor/src/native_executor.rs +++ b/substrate/executor/src/native_executor.rs @@ -24,7 +24,7 @@ use codec::Decode; use primitives::hashing::blake2_256; use parking_lot::{Mutex, MutexGuard}; use RuntimeInfo; -use primitives::KeccakHasher; +use primitives::Blake2Hasher; // For the internal Runtime Cache: // Is it compatible enough to run this natively or do we need to fall back on the WasmModule @@ -51,7 +51,7 @@ fn gen_cache_key(code: &[u8]) -> [u8; 32] { /// fetch a runtime version from the cache or if there is no cached version yet, create /// the runtime version entry for `code`, determines whether `Compatibility::IsCompatible` /// can be used by comparing returned RuntimeVersion to `ref_version` -fn fetch_cached_runtime_version<'a, E: Externalities>( +fn fetch_cached_runtime_version<'a, E: Externalities>( wasm_executor: &WasmExecutor, cache: &'a mut MutexGuard, ext: &mut E, @@ -90,7 +90,7 @@ fn safe_call(f: F) -> Result /// Set up the externalities and safe calling environment to execute calls to a native runtime. /// /// If the inner closure panics, it will be caught and return an error. -pub fn with_native_environment(ext: &mut Externalities, f: F) -> Result +pub fn with_native_environment(ext: &mut Externalities, f: F) -> Result where F: ::std::panic::UnwindSafe + FnOnce() -> U { ::runtime_io::with_externalities(ext, move || safe_call(f)) @@ -104,7 +104,7 @@ pub trait NativeExecutionDispatch: Send + Sync { /// Dispatch a method and input data to be executed natively. Returns `Some` result or `None` /// if the `method` is unknown. Panics if there's an unrecoverable error. // fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; - fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; + fn dispatch(ext: &mut Externalities, method: &str, data: &[u8]) -> Result>; /// Get native runtime version. const VERSION: RuntimeVersion; @@ -147,7 +147,7 @@ impl Clone for NativeExecutor { impl RuntimeInfo for NativeExecutor { const NATIVE_VERSION: Option = Some(D::VERSION); - fn runtime_version>( + fn runtime_version>( &self, ext: &mut E, heap_pages: usize, @@ -157,10 +157,10 @@ impl RuntimeInfo for NativeExecutor { } } -impl CodeExecutor for NativeExecutor { +impl CodeExecutor for NativeExecutor { type Error = Error; - fn call>( + fn call>( &self, ext: &mut E, heap_pages: usize, @@ -203,7 +203,7 @@ macro_rules! native_executor_instance { }; (IMPL $name:ident, $dispatcher:path, $version:path, $code:expr) => { // TODO: this is not so great – I think I should go back to have dispatch take a type param and modify this macro to accept a type param and then pass it in from the test-client instead - use primitives::KeccakHasher as _KeccakHasher; + use primitives::Blake2Hasher as _Blake2Hasher; impl $crate::NativeExecutionDispatch for $name { const VERSION: $crate::RuntimeVersion = $version; fn native_equivalent() -> &'static [u8] { @@ -211,7 +211,7 @@ macro_rules! native_executor_instance { // get a proper build script, this must be strictly adhered to or things will go wrong. $code } - fn dispatch(ext: &mut $crate::Externalities<_KeccakHasher>, method: &str, data: &[u8]) -> $crate::error::Result> { + fn dispatch(ext: &mut $crate::Externalities<_Blake2Hasher>, method: &str, data: &[u8]) -> $crate::error::Result> { $crate::with_native_environment(ext, move || $dispatcher(method, data))? .ok_or_else(|| $crate::error::ErrorKind::MethodNotFound(method.to_owned()).into()) } diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index 45d0aad97313f..50488ac285087 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -30,10 +30,9 @@ use wasm_utils::UserError; use primitives::{blake2_256, twox_128, twox_256}; use primitives::hexdisplay::HexDisplay; use primitives::sandbox as sandbox_primitives; -use primitives::KeccakHasher; +use primitives::Blake2Hasher; use triehash::ordered_trie_root; use sandbox; -use tiny_keccak::keccak256; struct Heap { @@ -75,7 +74,7 @@ macro_rules! debug_trace { ( $( $x:tt )* ) => () } -struct FunctionExecutor<'e, E: Externalities + 'e> { +struct FunctionExecutor<'e, E: Externalities + 'e> { sandbox_store: sandbox::Store, heap: Heap, memory: MemoryRef, @@ -84,7 +83,7 @@ struct FunctionExecutor<'e, E: Externalities + 'e> { hash_lookup: HashMap, Vec>, } -impl<'e, E: Externalities> FunctionExecutor<'e, E> { +impl<'e, E: Externalities> FunctionExecutor<'e, E> { fn new(m: MemoryRef, heap_pages: usize, t: Option, e: &'e mut E) -> Result { Ok(FunctionExecutor { sandbox_store: sandbox::Store::new(), @@ -97,7 +96,7 @@ impl<'e, E: Externalities> FunctionExecutor<'e, E> { } } -impl<'e, E: Externalities> sandbox::SandboxCapabilities for FunctionExecutor<'e, E> { +impl<'e, E: Externalities> sandbox::SandboxCapabilities for FunctionExecutor<'e, E> { fn store(&self) -> &sandbox::Store { &self.sandbox_store } @@ -293,7 +292,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.memory.set(result, r.as_ref()).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_root"))?; Ok(()) }, - ext_keccak_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8) => { + ext_blake2_256_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8) => { let values = (0..lens_len) .map(|i| this.memory.read_primitive(lens_data + i * 4)) .collect::<::std::result::Result, UserError>>()? @@ -301,11 +300,11 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, .scan(0u32, |acc, v| { let o = *acc; *acc += v; Some((o, v)) }) .map(|(offset, len)| this.memory.get(values_data + offset, len as usize) - .map_err(|_| UserError("Invalid attempt to get memory in ext_keccak_enumerated_trie_root")) + .map_err(|_| UserError("Invalid attempt to get memory in ext_blake2_256_enumerated_trie_root")) ) .collect::<::std::result::Result, UserError>>()?; - let r = ordered_trie_root::(values.into_iter()); - this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_keccak_enumerated_trie_root"))?; + let r = ordered_trie_root::(values.into_iter()); + this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_blake2_256_enumerated_trie_root"))?; Ok(()) }, ext_chain_id() -> u64 => { @@ -353,15 +352,6 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.memory.set(out, &result).map_err(|_| UserError("Invalid attempt to set result in ext_blake2_256"))?; Ok(()) }, - ext_keccak256(data: *const u8, len: u32, out: *mut u8) => { - let result = if len == 0 { - keccak256(&[0u8; 0]) - } else { - keccak256(&this.memory.get(data, len as usize).map_err(|_| UserError("Invalid attempt to get data in ext_keccak256"))?) - }; - this.memory.set(out, &result).map_err(|_| UserError("Invalid attempt to set result in ext_keccak256"))?; - Ok(()) - }, ext_ed25519_verify(msg_data: *const u8, msg_len: u32, sig_data: *const u8, pubkey_data: *const u8) -> u32 => { let mut sig = [0u8; 64]; this.memory.get_into(sig_data, &mut sig[..]).map_err(|_| UserError("Invalid attempt to get signature in ext_ed25519_verify"))?; @@ -396,25 +386,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.sandbox_store.instance_teardown(instance_idx)?; Ok(()) }, - ext_sandbox_invoke(instance_idx: u32, export_ptr: *const u8, export_len: usize, state: usize) -> u32 => { - trace!(target: "runtime-sandbox", "invoke, instance_idx={}", instance_idx); - let export = this.memory.get(export_ptr, export_len as usize) - .map_err(|_| UserError("Sandbox error")) - .and_then(|b| - String::from_utf8(b) - .map_err(|_| UserError("Sandbox error")) - )?; - - let instance = this.sandbox_store.instance(instance_idx)?; - let result = instance.invoke(&export, &[], this, state); - match result { - Ok(None) => Ok(sandbox_primitives::ERR_OK), - Ok(_) => unimplemented!(), - Err(_) => Ok(sandbox_primitives::ERR_EXECUTION), - } - }, - // TODO: Remove the old 'ext_sandbox_invoke' and rename this to it. - ext_sandbox_invoke_poc2(instance_idx: u32, export_ptr: *const u8, export_len: usize, args_ptr: *const u8, args_len: usize, return_val_ptr: *const u8, return_val_len: usize, state: usize) -> u32 => { + ext_sandbox_invoke(instance_idx: u32, export_ptr: *const u8, export_len: usize, args_ptr: *const u8, args_len: usize, return_val_ptr: *const u8, return_val_len: usize, state: usize) -> u32 => { use codec::{Decode, Encode}; trace!(target: "runtime-sandbox", "invoke, instance_idx={}", instance_idx); @@ -490,7 +462,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.sandbox_store.memory_teardown(memory_idx)?; Ok(()) }, - => <'e, E: Externalities + 'e> + => <'e, E: Externalities + 'e> ); /// Wasm rust executor for contracts. @@ -509,7 +481,7 @@ impl WasmExecutor { /// Call a given method in the given code. /// This should be used for tests only. - pub fn call>( + pub fn call>( &self, ext: &mut E, heap_pages: usize, @@ -522,7 +494,7 @@ impl WasmExecutor { } /// Call a given method in the given wasm-module runtime. - pub fn call_in_wasm_module>( + pub fn call_in_wasm_module>( &self, ext: &mut E, heap_pages: usize, @@ -740,7 +712,7 @@ mod tests { let test_code = include_bytes!("../wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm"); assert_eq!( WasmExecutor::new().call(&mut ext, 8, &test_code[..], "test_enumerated_trie_root", &[]).unwrap(), - ordered_trie_root::(vec![b"zero".to_vec(), b"one".to_vec(), b"two".to_vec()]).0.encode() + ordered_trie_root::(vec![b"zero".to_vec(), b"one".to_vec(), b"two".to_vec()]).0.encode() ); } diff --git a/substrate/executor/wasm/src/lib.rs b/substrate/executor/wasm/src/lib.rs index bb692607e74e2..3046fd1f166ca 100644 --- a/substrate/executor/wasm/src/lib.rs +++ b/substrate/executor/wasm/src/lib.rs @@ -56,7 +56,7 @@ impl_stubs!( [ed25519_verify(&sig, &msg[..], &pubkey) as u8].to_vec() }, test_enumerated_trie_root NO_DECODE => |_| { - enumerated_trie_root::(&[&b"zero"[..], &b"one"[..], &b"two"[..]]).to_vec() + enumerated_trie_root::(&[&b"zero"[..], &b"one"[..], &b"two"[..]]).to_vec() }, test_sandbox NO_DECODE => |code: &[u8]| { let ok = execute_sandboxed(code, &[]).is_ok(); diff --git a/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm b/substrate/executor/wasm/target/wasm32-unknown-unknown/release/runtime_test.compact.wasm index 5ba90adfc02f153ea2797bf5e8256029d85c317f..9feda33fa2347299ffba1b67593813392d89a588 100644 GIT binary patch delta 314 zcmaF&o$1YYrU^}qjT@U88Tpk{D@x*%auTysjpB_=%_jFVS_%t+#EKL1Qj+p3;xqHg z^0QMXKVYly2q>XjKB4YHM3R2URk9G|xz zU~ps>Py;e0vJ@B+%cwEgM{GZkFkWAo3QUl{?B9cHlr delta 307 zcmaF!o$1|orU^}qO&gmT8M)#yVPRw3tjsixkx_N?F6PNXlldj~GOA5JE1}D%zWKMrcSc5y&7Y-2 znJ4cT_XUc3i^=h5DzG?8WGOHzFbQaGE*0})+{__Y#3`ty!0O16<@llf0D~j9Ba496 z=5F;O7DkQ9|FjP?s!u+o^P5p^^FG~NW}ru>fJwc4a_!Eb$zeNHfmYS*tY*{nj#u#snOv|I$!Ep(1Ib=-T}Fe=yT!jVG8%5)EGf#oxl68yQ&2~N)sZ91@k9Fo21jm3 z76F~jyc$I;jE0jNbPh8bOm@-z&8WZGK`)n?QDyTwL$OBApTaD8iMgqaA19yP^c;)R z^+m8aTWGQrliX(2EiNpR<9FpS>P{Bg<-@2qIdg{-&}D0O6aa0K-C4n8ST$L0XVB!A MJ2f_+-u0Cc0J!^P&Hw-a delta 293 zcmdn@lj*=urU^}q+cq|vGIGnOR+PkNrzR&SW=}rOXel8M;uk08r6lE7#AoJ}mAw^@0M3(I81olZa}rR*$V(kq|rzbk06#x7N$eSW*D84V_1+2O-zI5~Ys L&gPT5zA^#;QQc&F diff --git a/substrate/keystore/Cargo.toml b/substrate/keystore/Cargo.toml index d307bd77569af..eb1da7e02061b 100644 --- a/substrate/keystore/Cargo.toml +++ b/substrate/keystore/Cargo.toml @@ -4,6 +4,7 @@ version = "0.1.0" authors = ["Parity Technologies "] [dependencies] +substrate-primitives = { path = "../primitives" } parity-crypto = { version = "0.1", default_features = false } ed25519 = { path = "../ed25519" } error-chain = "0.12" diff --git a/substrate/keystore/src/lib.rs b/substrate/keystore/src/lib.rs index af261a35109b3..5686e637371b7 100644 --- a/substrate/keystore/src/lib.rs +++ b/substrate/keystore/src/lib.rs @@ -18,6 +18,7 @@ //! Keystore (and session key management) for ed25519 based chains like Polkadot. // end::description[] +extern crate substrate_primitives; extern crate parity_crypto as crypto; extern crate subtle; extern crate ed25519; @@ -40,7 +41,7 @@ use std::path::PathBuf; use std::fs::{self, File}; use std::io::{self, Write}; -use crypto::Keccak256; +use substrate_primitives::hashing::blake2_256; use ed25519::{Pair, Public, PKCS_LEN}; pub use crypto::KEY_ITERATIONS; @@ -96,8 +97,8 @@ impl EncryptedKey { crypto::aes::encrypt_128_ctr(&derived_left_bits, &iv, plain, &mut *ciphertext) .expect("input lengths of key and iv are both 16; qed"); - // KECCAK(DK[16..31] ++ ), where DK[16..31] - derived_right_bits - let mac = crypto::derive_mac(&derived_right_bits, &*ciphertext).keccak256(); + // Blake2_256(DK[16..31] ++ ), where DK[16..31] - derived_right_bits + let mac = blake2_256(&crypto::derive_mac(&derived_right_bits, &*ciphertext)); EncryptedKey { salt, @@ -112,7 +113,7 @@ impl EncryptedKey { let (derived_left_bits, derived_right_bits) = crypto::derive_key_iterations(password.as_bytes(), &self.salt, self.iterations); - let mac = crypto::derive_mac(&derived_right_bits, &self.ciphertext).keccak256(); + let mac = blake2_256(&crypto::derive_mac(&derived_right_bits, &self.ciphertext)); if subtle::slices_equal(&mac[..], &self.mac[..]) != 1 { return Err(ErrorKind::InvalidPassword.into()); diff --git a/substrate/network/src/chain.rs b/substrate/network/src/chain.rs index 52a9960fbdc02..704e32d55d117 100644 --- a/substrate/network/src/chain.rs +++ b/substrate/network/src/chain.rs @@ -21,7 +21,7 @@ use client::error::Error; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; use runtime_primitives::generic::BlockId; use runtime_primitives::bft::Justification; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; /// Local client abstraction for the network. pub trait Client: Send + Sync { @@ -57,8 +57,8 @@ pub trait Client: Send + Sync { } impl Client for SubstrateClient where - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: CallExecutor + Send + Sync + 'static, Block: BlockT, { fn import(&self, origin: BlockOrigin, header: Block::Header, justification: Justification, body: Option>) -> Result { diff --git a/substrate/network/src/test/mod.rs b/substrate/network/src/test/mod.rs index cdb51649d8a30..7a78dd28fc01b 100644 --- a/substrate/network/src/test/mod.rs +++ b/substrate/network/src/test/mod.rs @@ -26,7 +26,7 @@ use runtime_primitives::traits::Block as BlockT; use runtime_primitives::generic::BlockId; use io::SyncIo; use protocol::{Context, Protocol}; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use config::ProtocolConfig; use service::TransactionPool; use network_libp2p::{NodeIndex, SessionInfo, Severity}; @@ -174,7 +174,7 @@ impl Peer { } fn generate_blocks(&self, count: usize, mut edit_block: F) - where F: FnMut(&mut BlockBuilder) + where F: FnMut(&mut BlockBuilder) { for _ in 0 .. count { let mut builder = self.client.new_block().unwrap(); diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 9ccd33ad6617e..206bb24c5626a 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -23,8 +23,6 @@ patricia-trie = { version = "0.2.1", optional = true } plain_hasher = { version = "0.2", default_features = false } blake2-rfc = { version = "0.2.18", optional = true } -# Switch back to Blake after PoC-3 is out and remove this -tiny-keccak = { version = "1.4", optional = true } [dev-dependencies] substrate-serializer = { path = "../serializer" } @@ -45,7 +43,6 @@ std = [ "rustc-hex/std", "twox-hash", "blake2-rfc", - "tiny-keccak", "serde_derive", "byteorder/std", "patricia-trie", diff --git a/substrate/primitives/src/hasher.rs b/substrate/primitives/src/hasher.rs index 7cc00a917e743..d4dd39b855498 100644 --- a/substrate/primitives/src/hasher.rs +++ b/substrate/primitives/src/hasher.rs @@ -20,69 +20,34 @@ use hashdb::Hasher; use plain_hasher::PlainHasher; use hash::H256; -// Use this when switching to Blake2 after PoC-3 -// pub mod blake { -// use super::{Hasher, PlainHasher, H256}; -// #[cfg(feature = "std")] -// use hashing::blake2_256; - -// #[cfg(not(feature = "std"))] -// extern "C" { -// fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); -// } -// #[cfg(not(feature = "std"))] -// fn blake2_256(data: &[u8]) -> [u8; 32] { -// let mut result: [u8; 32] = Default::default(); -// unsafe { -// ext_blake2_256(data.as_ptr(), data.len() as u32, result.as_mut_ptr()); -// } -// result -// } - -// /// Concrete implementation of Hasher using Blake2b 256-bit hashes -// #[derive(Debug)] -// pub struct BlakeHasher; - -// impl Hasher for BlakeHasher { -// type Out = H256; -// type StdHasher = PlainHasher; -// const LENGTH:usize = 32; -// fn hash(x: &[u8]) -> Self::Out { -// blake2_256(x).into() -// } -// } -// } - -pub mod keccak { +pub mod blake2 { use super::{Hasher, PlainHasher, H256}; - #[cfg(feature = "std")] - use tiny_keccak::keccak256; + use hashing::blake2_256; #[cfg(not(feature = "std"))] extern "C" { - fn ext_keccak256(data: *const u8, len: u32, out: *mut u8); + fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); } - #[cfg(not(feature = "std"))] - fn keccak256(data: &[u8]) -> [u8; 32] { + fn blake2_256(data: &[u8]) -> [u8; 32] { let mut result: [u8; 32] = Default::default(); unsafe { - ext_keccak256(data.as_ptr(), data.len() as u32, result.as_mut_ptr()); + ext_blake2_256(data.as_ptr(), data.len() as u32, result.as_mut_ptr()); } result } - /// Concrete implementation of Hasher using Keccak 256-bit hashes + /// Concrete implementation of Hasher using Blake2b 256-bit hashes #[derive(Debug)] - pub struct KeccakHasher; + pub struct Blake2Hasher; - impl Hasher for KeccakHasher { + impl Hasher for Blake2Hasher { type Out = H256; type StdHasher = PlainHasher; - const LENGTH : usize = 32; + const LENGTH:usize = 32; fn hash(x: &[u8]) -> Self::Out { - keccak256(x).into() + blake2_256(x).into() } } } diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index 7ea3a035c1faf..5fddf350d811f 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -45,9 +45,6 @@ extern crate twox_hash; #[cfg(feature = "std")] extern crate blake2_rfc; -// Switch back to Blake after PoC-3 is out -#[cfg(feature = "std")] -extern crate tiny_keccak; #[cfg(feature = "std")] #[macro_use] @@ -114,7 +111,7 @@ pub use authority_id::AuthorityId; // Switch back to Blake after PoC-3 is out // pub use self::hasher::blake::BlakeHasher; -pub use self::hasher::keccak::KeccakHasher; +pub use self::hasher::blake2::Blake2Hasher; #[cfg(feature = "std")] pub use self::rlp_codec::RlpCodec; diff --git a/substrate/primitives/src/rlp_codec.rs b/substrate/primitives/src/rlp_codec.rs index 0c5f30b371a48..bf1ae978b3d12 100644 --- a/substrate/primitives/src/rlp_codec.rs +++ b/substrate/primitives/src/rlp_codec.rs @@ -23,23 +23,17 @@ use core::marker::PhantomData; use patricia_trie::{NibbleSlice, NodeCodec, node::Node, ChildReference}; use hash::H256; -// When switching to Blake2, use this instead: -// use BlakeHasher; -use KeccakHasher; +use Blake2Hasher; /// Concrete implementation of a `NodeCodec` with Rlp encoding, generic over the `Hasher` pub struct RlpNodeCodec {mark: PhantomData} -/// Convenience type for a Keccak/Rlp flavoured NodeCodec -pub type RlpCodec = RlpNodeCodec; -// When switching to Blake2, use this instead: -// pub type RlpCodec = RlpNodeCodec; +/// Convenience type for a Blake2_256/Rlp flavoured NodeCodec +pub type RlpCodec = RlpNodeCodec; -impl NodeCodec for RlpCodec { +impl NodeCodec for RlpCodec { type Error = DecoderError; - // When switching to Blake2, use this null node - // const HASHED_NULL_NODE : H256 = H256( [0x45, 0xb0, 0xcf, 0xc2, 0x20, 0xce, 0xec, 0x5b, 0x7c, 0x1c, 0x62, 0xc4, 0xd4, 0x19, 0x3d, 0x38, 0xe4, 0xeb, 0xa4, 0x8e, 0x88, 0x15, 0x72, 0x9c, 0xe7, 0x5f, 0x9c, 0xa, 0xb0, 0xe4, 0xc1, 0xc0] ); - const HASHED_NULL_NODE : H256 = H256( [0x56, 0xe8, 0x1f, 0x17, 0x1b, 0xcc, 0x55, 0xa6, 0xff, 0x83, 0x45, 0xe6, 0x92, 0xc0, 0xf8, 0x6e, 0x5b, 0x48, 0xe0, 0x1b, 0x99, 0x6c, 0xad, 0xc0, 0x01, 0x62, 0x2f, 0xb5, 0xe3, 0x63, 0xb4, 0x21] ); + const HASHED_NULL_NODE : H256 = H256( [0x45, 0xb0, 0xcf, 0xc2, 0x20, 0xce, 0xec, 0x5b, 0x7c, 0x1c, 0x62, 0xc4, 0xd4, 0x19, 0x3d, 0x38, 0xe4, 0xeb, 0xa4, 0x8e, 0x88, 0x15, 0x72, 0x9c, 0xe7, 0x5f, 0x9c, 0xa, 0xb0, 0xe4, 0xc1, 0xc0] ); fn decode(data: &[u8]) -> ::std::result::Result { let r = Rlp::new(data); match r.prototype()? { @@ -66,9 +60,9 @@ impl NodeCodec for RlpCodec { _ => Err(DecoderError::Custom("Rlp is not valid.")) } } - fn try_decode_hash(data: &[u8]) -> Option<::Out> { + fn try_decode_hash(data: &[u8]) -> Option<::Out> { let r = Rlp::new(data); - if r.is_data() && r.size() == KeccakHasher::LENGTH { + if r.is_data() && r.size() == Blake2Hasher::LENGTH { Some(r.as_val().expect("Hash is the correct size; qed")) } else { None @@ -90,7 +84,7 @@ impl NodeCodec for RlpCodec { stream.drain() } - fn ext_node(partial: &[u8], child_ref: ChildReference<::Out>) -> ElasticArray1024 { + fn ext_node(partial: &[u8], child_ref: ChildReference<::Out>) -> ElasticArray1024 { let mut stream = RlpStream::new_list(2); stream.append(&partial); match child_ref { @@ -104,7 +98,7 @@ impl NodeCodec for RlpCodec { } fn branch_node(children: I, value: Option>) -> ElasticArray1024 - where I: IntoIterator::Out>>> + where I: IntoIterator::Out>>> { let mut stream = RlpStream::new_list(17); for child_ref in children { diff --git a/substrate/rpc/src/author/mod.rs b/substrate/rpc/src/author/mod.rs index 08a46ad34bd80..5ba5140c5ee52 100644 --- a/substrate/rpc/src/author/mod.rs +++ b/substrate/rpc/src/author/mod.rs @@ -32,7 +32,7 @@ use extrinsic_pool::{ }; use jsonrpc_macros::pubsub; use jsonrpc_pubsub::SubscriptionId; -use primitives::{Bytes, KeccakHasher, RlpCodec}; +use primitives::{Bytes, Blake2Hasher, RlpCodec}; use rpc::futures::{Sink, Stream, Future}; use runtime_primitives::{generic, traits}; use subscriptions::Subscriptions; @@ -100,8 +100,8 @@ impl Author where } impl AuthorApi, ExtrinsicFor

, AllExtrinsics

> for Author where - B: client::backend::Backend<

::Block, KeccakHasher, RlpCodec> + Send + Sync + 'static, - E: client::CallExecutor<

::Block, KeccakHasher, RlpCodec> + Send + Sync + 'static, + B: client::backend::Backend<

::Block, Blake2Hasher, RlpCodec> + Send + Sync + 'static, + E: client::CallExecutor<

::Block, Blake2Hasher, RlpCodec> + Send + Sync + 'static, P: PoolChainApi + Sync + Send + 'static, P::Error: 'static, { diff --git a/substrate/rpc/src/chain/mod.rs b/substrate/rpc/src/chain/mod.rs index 7866ae3ef2cd7..86551e04847d0 100644 --- a/substrate/rpc/src/chain/mod.rs +++ b/substrate/rpc/src/chain/mod.rs @@ -27,7 +27,7 @@ use runtime_primitives::generic::{BlockId, SignedBlock}; use runtime_primitives::traits::{Block as BlockT, Header, NumberFor}; use runtime_version::RuntimeVersion; use tokio::runtime::TaskExecutor; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use subscriptions::Subscriptions; @@ -92,8 +92,8 @@ impl Chain { impl Chain where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: client::CallExecutor + Send + Sync + 'static, { fn unwrap_or_best(&self, hash: Trailing) -> Result { Ok(match hash.into() { @@ -105,8 +105,8 @@ impl Chain where impl ChainApi, Block::Extrinsic> for Chain where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: client::CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: client::CallExecutor + Send + Sync + 'static, { type Metadata = ::metadata::Metadata; diff --git a/substrate/rpc/src/chain/tests.rs b/substrate/rpc/src/chain/tests.rs index 0be58b2b4be8b..def410532cd25 100644 --- a/substrate/rpc/src/chain/tests.rs +++ b/substrate/rpc/src/chain/tests.rs @@ -36,7 +36,7 @@ fn should_return_header() { parent_hash: 0.into(), number: 0, state_root: x.state_root.clone(), - extrinsics_root: "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421".into(), + extrinsics_root: "45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0".into(), digest: Default::default(), } ); @@ -47,7 +47,7 @@ fn should_return_header() { parent_hash: 0.into(), number: 0, state_root: x.state_root.clone(), - extrinsics_root: "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421".into(), + extrinsics_root: "45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0".into(), digest: Default::default(), } ); @@ -86,7 +86,7 @@ fn should_return_a_block() { parent_hash: api.client.genesis_hash(), number: 1, state_root: x.block.header.state_root.clone(), - extrinsics_root: "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421".into(), + extrinsics_root: "45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0".into(), digest: Default::default(), }, extrinsics: vec![], @@ -100,7 +100,7 @@ fn should_return_a_block() { parent_hash: api.client.genesis_hash(), number: 1, state_root: x.block.header.state_root.clone(), - extrinsics_root: "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421".into(), + extrinsics_root: "45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0".into(), digest: Default::default(), }, extrinsics: vec![], diff --git a/substrate/rpc/src/state/mod.rs b/substrate/rpc/src/state/mod.rs index 56772786babdc..e335310af74aa 100644 --- a/substrate/rpc/src/state/mod.rs +++ b/substrate/rpc/src/state/mod.rs @@ -27,7 +27,7 @@ use jsonrpc_macros::pubsub; use jsonrpc_pubsub::SubscriptionId; use primitives::hexdisplay::HexDisplay; use primitives::storage::{StorageKey, StorageData, StorageChangeSet}; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; use rpc::Result as RpcResult; use rpc::futures::{stream, Future, Sink, Stream}; use runtime_primitives::generic::BlockId; @@ -107,8 +107,8 @@ impl State { impl State where Block: BlockT, - B: client::backend::Backend, - E: CallExecutor, + B: client::backend::Backend, + E: CallExecutor, { fn unwrap_or_best(&self, hash: Trailing) -> Result { ::helpers::unwrap_or_else(|| Ok(self.client.info()?.chain.best_hash), hash) @@ -117,8 +117,8 @@ impl State where impl StateApi for State where Block: BlockT + 'static, - B: client::backend::Backend + Send + Sync + 'static, - E: CallExecutor + Send + Sync + 'static, + B: client::backend::Backend + Send + Sync + 'static, + E: CallExecutor + Send + Sync + 'static, { type Metadata = ::metadata::Metadata; diff --git a/substrate/runtime-io/with_std.rs b/substrate/runtime-io/with_std.rs index 954c4fad1521e..c1d85d914ebef 100644 --- a/substrate/runtime-io/with_std.rs +++ b/substrate/runtime-io/with_std.rs @@ -31,7 +31,7 @@ pub extern crate substrate_codec as codec; // re-export hashing functions. pub use primitives::{blake2_256, twox_128, twox_256}; -pub use primitives::KeccakHasher; +pub use primitives::Blake2Hasher; // Switch to this after PoC-3 // pub use primitives::BlakeHasher; pub use substrate_state_machine::{Externalities, TestExternalities}; @@ -42,7 +42,7 @@ use rlp::Encodable; // TODO: use the real error, not NoError. -environmental!(ext: trait Externalities); +environmental!(ext: trait Externalities); /// Get `key` from storage and return a `Vec`, empty if there's a problem. pub fn storage(key: &[u8]) -> Option> { @@ -145,7 +145,7 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> /// Execute the given closure with global function available whose functionality routes into the /// externalities `ext`. Forwards the value that the closure returns. // NOTE: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. -pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { +pub fn with_externalities R>(ext: &mut Externalities, f: F) -> R { ext::using(ext, f) } @@ -211,7 +211,7 @@ mod std_tests { #[test] fn storage_works() { - let mut t = TestExternalities::::new(); + let mut t = TestExternalities::::new(); assert!(with_externalities(&mut t, || { assert_eq!(storage(b"hello"), None); set_storage(b"hello", b"world"); @@ -232,7 +232,7 @@ mod std_tests { #[test] fn read_storage_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":test".to_vec() => b"\x0b\0\0\0Hello world".to_vec() ]; @@ -248,7 +248,7 @@ mod std_tests { #[test] fn clear_prefix_works() { - let mut t: TestExternalities = map![ + let mut t: TestExternalities = map![ b":a".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abcd".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), b":abc".to_vec() => b"\x0b\0\0\0Hello world".to_vec(), diff --git a/substrate/runtime-io/without_std.rs b/substrate/runtime-io/without_std.rs index 130e7b1555eb7..34c4191e97e22 100644 --- a/substrate/runtime-io/without_std.rs +++ b/substrate/runtime-io/without_std.rs @@ -27,7 +27,7 @@ pub extern crate substrate_codec as codec; use core::intrinsics; use rstd::vec::Vec; use hashdb::Hasher; -use primitives::KeccakHasher; +use primitives::Blake2Hasher; pub use rstd::{mem, slice}; #[panic_handler] @@ -64,7 +64,7 @@ extern "C" { fn ext_get_allocated_storage(key_data: *const u8, key_len: u32, written_out: *mut u32) -> *mut u8; fn ext_get_storage_into(key_data: *const u8, key_len: u32, value_data: *mut u8, value_len: u32, value_offset: u32) -> u32; fn ext_storage_root(result: *mut u8); - fn ext_keccak_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8); + fn ext_blake2_256_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8); fn ext_chain_id() -> u64; fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); fn ext_twox_128(data: *const u8, len: u32, out: *mut u8); @@ -77,14 +77,14 @@ pub trait ExternTrieCrypto { fn enumerated_trie_root(values: &[&[u8]]) -> [u8; 32]; } -// Ensures we use a Keccak-flavoured Hasher when calling into native -impl ExternTrieCrypto for KeccakHasher { +// Ensures we use a Blake2_256-flavoured Hasher when calling into native +impl ExternTrieCrypto for Blake2Hasher { fn enumerated_trie_root(values: &[&[u8]]) -> [u8; 32] { let lengths = values.iter().map(|v| (v.len() as u32).to_le()).collect::>(); let values = values.iter().fold(Vec::new(), |mut acc, sl| { acc.extend_from_slice(sl); acc }); let mut result: [u8; 32] = Default::default(); unsafe { - ext_keccak_enumerated_trie_root( + ext_blake2_256_enumerated_trie_root( values.as_ptr(), lengths.as_ptr(), lengths.len() as u32, diff --git a/substrate/runtime-sandbox/without_std.rs b/substrate/runtime-sandbox/without_std.rs index 9efa282ebc290..f7feb466a090b 100755 --- a/substrate/runtime-sandbox/without_std.rs +++ b/substrate/runtime-sandbox/without_std.rs @@ -57,8 +57,7 @@ mod ffi { imports_len: usize, state: usize, ) -> u32; - // TODO: Rename it back to 'ext_sandbox_invoke'. - pub fn ext_sandbox_invoke_poc2( + pub fn ext_sandbox_invoke( instance_idx: u32, export_ptr: *const u8, export_len: usize, @@ -272,7 +271,7 @@ impl Instance { let mut return_val = vec![0u8; sandbox_primitives::ReturnValue::ENCODED_MAX_SIZE]; let result = unsafe { - ffi::ext_sandbox_invoke_poc2( + ffi::ext_sandbox_invoke( self.instance_idx, name.as_ptr(), name.len(), diff --git a/substrate/runtime-support/src/storage/mod.rs b/substrate/runtime-support/src/storage/mod.rs index cb8f61659e232..7b5665bf9bca8 100644 --- a/substrate/runtime-support/src/storage/mod.rs +++ b/substrate/runtime-support/src/storage/mod.rs @@ -40,22 +40,6 @@ impl<'a> Input for IncrementalInput<'a> { } } -// TODO: only introduce this wrapper for types where it makes sense, ideally have it within the module declaration. - -struct AppendZeroes<'a, I: Input + 'a> { - input: &'a mut I, -} - -impl<'a, I: Input + 'a> Input for AppendZeroes<'a, I> { - fn read(&mut self, into: &mut [u8]) -> usize { - let r = self.input.read(into); - for z in &mut into[r..] { - *z = 0; - }; - into.len() - } -} - /// Return the value of the item in storage under `key`, or `None` if there is no explicit entry. pub fn get(key: &[u8]) -> Option { let key = twox_128(key); @@ -64,7 +48,7 @@ pub fn get(key: &[u8]) -> Option { key: &key[..], pos: 0, }; - Decode::decode(&mut AppendZeroes { input: &mut input } ).expect("storage is not null, therefore must be a valid type") + Decode::decode(&mut input).expect("storage is not null, therefore must be a valid type") }) } diff --git a/substrate/runtime/balances/src/genesis_config.rs b/substrate/runtime/balances/src/genesis_config.rs index 30331b24645a8..1b88353c632e3 100644 --- a/substrate/runtime/balances/src/genesis_config.rs +++ b/substrate/runtime/balances/src/genesis_config.rs @@ -23,7 +23,7 @@ use rstd::prelude::*; use codec::Encode; use runtime_support::{StorageValue, StorageMap}; use primitives::traits::{Zero, As}; -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; use {runtime_io, primitives}; use super::{Trait, ENUM_SET_SIZE, EnumSet, NextEnumSet, CreationFee, TransferFee, ReclaimRebate, ExistentialDeposit, TransactionByteFee, TransactionBaseFee, TotalIssuance, @@ -60,7 +60,7 @@ impl primitives::BuildStorage for GenesisConfig { fn build_storage(self) -> ::std::result::Result, Vec>, String> { let total_issuance: T::Balance = self.balances.iter().fold(Zero::zero(), |acc, &(_, n)| acc + n); - let mut r: runtime_io::TestExternalities = map![ + let mut r: runtime_io::TestExternalities = map![ Self::hash(>::key()).to_vec() => T::AccountIndex::sa(self.balances.len() / ENUM_SET_SIZE).encode(), Self::hash(>::key()).to_vec() => self.transaction_base_fee.encode(), Self::hash(>::key()).to_vec() => self.transaction_byte_fee.encode(), diff --git a/substrate/runtime/balances/src/mock.rs b/substrate/runtime/balances/src/mock.rs index 99204b91d121d..d85a27715819d 100644 --- a/substrate/runtime/balances/src/mock.rs +++ b/substrate/runtime/balances/src/mock.rs @@ -20,7 +20,7 @@ use primitives::BuildStorage; use primitives::testing::{Digest, Header}; -use substrate_primitives::{H256, KeccakHasher}; +use substrate_primitives::{H256, Blake2Hasher}; use runtime_io; use {GenesisConfig, Module, Trait, system}; @@ -50,7 +50,7 @@ impl Trait for Runtime { type Event = (); } -pub fn new_test_ext(ext_deposit: u64, monied: bool) -> runtime_io::TestExternalities { +pub fn new_test_ext(ext_deposit: u64, monied: bool) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); let balance_factor = if ext_deposit > 0 { 256 diff --git a/substrate/runtime/consensus/src/lib.rs b/substrate/runtime/consensus/src/lib.rs index 852b93bcdfc23..07ff10d0714b6 100644 --- a/substrate/runtime/consensus/src/lib.rs +++ b/substrate/runtime/consensus/src/lib.rs @@ -51,7 +51,7 @@ use primitives::bft::MisbehaviorReport; use system::{ensure_signed, ensure_inherent, ensure_root}; #[cfg(any(feature = "std", test))] -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; #[cfg(any(feature = "std", test))] use std::collections::HashMap; @@ -257,7 +257,7 @@ impl primitives::BuildStorage for GenesisConfig fn build_storage(self) -> ::std::result::Result, Vec>, String> { use codec::{Encode, KeyedVec}; let auth_count = self.authorities.len() as u32; - let mut r: runtime_io::TestExternalities = self.authorities.into_iter().enumerate().map(|(i, v)| + let mut r: runtime_io::TestExternalities = self.authorities.into_iter().enumerate().map(|(i, v)| ((i as u32).to_keyed_vec(AUTHORITY_AT), v.encode()) ).collect(); r.insert(AUTHORITY_COUNT.to_vec(), auth_count.encode()); diff --git a/substrate/runtime/contract/src/genesis_config.rs b/substrate/runtime/contract/src/genesis_config.rs index dc2019d882400..2d9a50573a672 100644 --- a/substrate/runtime/contract/src/genesis_config.rs +++ b/substrate/runtime/contract/src/genesis_config.rs @@ -25,7 +25,7 @@ use runtime_io::{self, twox_128}; use runtime_support::StorageValue; use codec::Encode; use std::collections::HashMap; -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] @@ -41,7 +41,7 @@ pub struct GenesisConfig { impl runtime_primitives::BuildStorage for GenesisConfig { fn build_storage(self) -> ::std::result::Result, Vec>, String> { - let r: runtime_io::TestExternalities = map![ + let r: runtime_io::TestExternalities = map![ twox_128(>::key()).to_vec() => self.contract_fee.encode(), twox_128(>::key()).to_vec() => self.call_base_fee.encode(), twox_128(>::key()).to_vec() => self.create_base_fee.encode(), diff --git a/substrate/runtime/contract/src/tests.rs b/substrate/runtime/contract/src/tests.rs index 4456bf1972c6b..17f5a4d88aac9 100644 --- a/substrate/runtime/contract/src/tests.rs +++ b/substrate/runtime/contract/src/tests.rs @@ -20,7 +20,7 @@ use runtime_primitives::testing::{Digest, H256, Header}; use runtime_primitives::traits::{BlakeTwo256}; use runtime_primitives::BuildStorage; use runtime_support::StorageMap; -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; use wabt; use { runtime_io, balances, system, CodeOf, ContractAddressFor, @@ -93,7 +93,7 @@ impl ExtBuilder { self.block_gas_limit = block_gas_limit; self } - fn build(self) -> runtime_io::TestExternalities { + fn build(self) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default() .build_storage() .unwrap(); diff --git a/substrate/runtime/council/src/lib.rs b/substrate/runtime/council/src/lib.rs index 7d9407b57d8a5..1c0883877fcba 100644 --- a/substrate/runtime/council/src/lib.rs +++ b/substrate/runtime/council/src/lib.rs @@ -133,7 +133,7 @@ mod tests { pub use primitives::BuildStorage; pub use primitives::traits::{BlakeTwo256}; pub use primitives::testing::{Digest, Header}; - pub use substrate_primitives::KeccakHasher; + pub use substrate_primitives::Blake2Hasher; pub use {seats, motions, voting}; impl_outer_origin! { @@ -192,7 +192,7 @@ mod tests { type Event = Event; } - pub fn new_test_ext(with_council: bool) -> runtime_io::TestExternalities { + pub fn new_test_ext(with_council: bool) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(balances::GenesisConfig::{ balances: vec![(1, 10), (2, 20), (3, 30), (4, 40), (5, 50), (6, 60)], diff --git a/substrate/runtime/council/src/seats.rs b/substrate/runtime/council/src/seats.rs index b98a655fbddd1..294035a25a941 100644 --- a/substrate/runtime/council/src/seats.rs +++ b/substrate/runtime/council/src/seats.rs @@ -628,7 +628,7 @@ mod tests { }); } - fn new_test_ext_with_candidate_holes() -> runtime_io::TestExternalities { + fn new_test_ext_with_candidate_holes() -> runtime_io::TestExternalities { let mut t = new_test_ext(false); with_externalities(&mut t, || { >::put(vec![0, 0, 1]); diff --git a/substrate/runtime/democracy/src/lib.rs b/substrate/runtime/democracy/src/lib.rs index cd540d5ed35aa..12f2e7e7aa402 100644 --- a/substrate/runtime/democracy/src/lib.rs +++ b/substrate/runtime/democracy/src/lib.rs @@ -374,7 +374,7 @@ impl primitives::BuildStorage for GenesisConfig mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::{H256, KeccakHasher}; + use substrate_primitives::{H256, Blake2Hasher}; use primitives::BuildStorage; use primitives::traits::{BlakeTwo256}; use primitives::testing::{Digest, Header}; @@ -416,7 +416,7 @@ mod tests { type Event = (); } - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(balances::GenesisConfig::{ balances: vec![(1, 10), (2, 20), (3, 30), (4, 40), (5, 50), (6, 60)], diff --git a/substrate/runtime/example/src/lib.rs b/substrate/runtime/example/src/lib.rs index fee47239ae899..8247106e38466 100644 --- a/substrate/runtime/example/src/lib.rs +++ b/substrate/runtime/example/src/lib.rs @@ -331,7 +331,7 @@ mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::{H256, KeccakHasher}; + use substrate_primitives::{H256, Blake2Hasher}; use runtime_primitives::BuildStorage; use runtime_primitives::traits::{BlakeTwo256}; @@ -373,7 +373,7 @@ mod tests { // This function basically just builds a genesis storage key/value store according to // our desired mockup. - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); // We use default for brevity, but you can configure as desired if needed. t.extend(balances::GenesisConfig::::default().build_storage().unwrap()); diff --git a/substrate/runtime/executive/src/lib.rs b/substrate/runtime/executive/src/lib.rs index 060e0c32e99e6..9b7e736f6d934 100644 --- a/substrate/runtime/executive/src/lib.rs +++ b/substrate/runtime/executive/src/lib.rs @@ -217,7 +217,7 @@ mod tests { use super::*; use balances::Call; use runtime_io::with_externalities; - use substrate_primitives::{H256, KeccakHasher}; + use substrate_primitives::{H256, Blake2Hasher}; use primitives::BuildStorage; use primitives::traits::{Header as HeaderT, BlakeTwo256, Lookup}; use primitives::testing::{Digest, Header, Block}; @@ -290,7 +290,7 @@ mod tests { }); } - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(balances::GenesisConfig::::default().build_storage().unwrap()); t.into() @@ -303,11 +303,8 @@ mod tests { header: Header { parent_hash: [69u8; 32].into(), number: 1, - // Blake - // state_root: hex!("02532989c613369596025dfcfc821339fc9861987003924913a5a1382f87034a").into(), - // Keccak - state_root: hex!("14a253cb1c5f38beeec8bee962a941b2ba0773b7593564fbe62b9c3a46784df5").into(), - extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), + state_root: hex!("d1d3da2b1efb1a6ef740b8cdef52e4cf3c6dade6f8a360969fd7ef0034c53b54").into(), + extrinsics_root: hex!("45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0").into(), digest: Digest { logs: vec![], }, }, extrinsics: vec![], @@ -324,7 +321,7 @@ mod tests { parent_hash: [69u8; 32].into(), number: 1, state_root: [0u8; 32].into(), - extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), + extrinsics_root: hex!("45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0").into(), digest: Digest { logs: vec![], }, }, extrinsics: vec![], @@ -340,7 +337,7 @@ mod tests { header: Header { parent_hash: [69u8; 32].into(), number: 1, - state_root: hex!("14a253cb1c5f38beeec8bee962a941b2ba0773b7593564fbe62b9c3a46784df5").into(), + state_root: hex!("d1d3da2b1efb1a6ef740b8cdef52e4cf3c6dade6f8a360969fd7ef0034c53b54").into(), extrinsics_root: [0u8; 32].into(), digest: Digest { logs: vec![], }, }, diff --git a/substrate/runtime/primitives/src/traits.rs b/substrate/runtime/primitives/src/traits.rs index 66d523fe4c291..32aa47a16f95a 100644 --- a/substrate/runtime/primitives/src/traits.rs +++ b/substrate/runtime/primitives/src/traits.rs @@ -22,7 +22,7 @@ use runtime_io; #[cfg(feature = "std")] use std::fmt::{Debug, Display}; #[cfg(feature = "std")] use serde::{Serialize, de::DeserializeOwned}; use substrate_primitives; -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; use codec::{Codec, Encode}; pub use integer_sqrt::IntegerSquareRoot; pub use num_traits::{Zero, One, Bounded}; @@ -257,20 +257,20 @@ impl Hash for BlakeTwo256 { runtime_io::blake2_256(s).into() } fn enumerated_trie_root(items: &[&[u8]]) -> Self::Output { - runtime_io::enumerated_trie_root::(items).into() + runtime_io::enumerated_trie_root::(items).into() } fn trie_root< I: IntoIterator, A: AsRef<[u8]> + Ord, B: AsRef<[u8]> >(input: I) -> Self::Output { - runtime_io::trie_root::(input).into() + runtime_io::trie_root::(input).into() } fn ordered_trie_root< I: IntoIterator, A: AsRef<[u8]> >(input: I) -> Self::Output { - runtime_io::ordered_trie_root::(input).into() + runtime_io::ordered_trie_root::(input).into() } fn storage_root() -> Self::Output { runtime_io::storage_root().into() diff --git a/substrate/runtime/session/src/lib.rs b/substrate/runtime/session/src/lib.rs index ccbb9a9890d50..007dd43729f7c 100644 --- a/substrate/runtime/session/src/lib.rs +++ b/substrate/runtime/session/src/lib.rs @@ -286,7 +286,7 @@ impl primitives::BuildStorage for GenesisConfig mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::{H256, KeccakHasher}; + use substrate_primitives::{H256, Blake2Hasher}; use primitives::BuildStorage; use primitives::traits::{Identity, BlakeTwo256}; use primitives::testing::{Digest, Header}; @@ -328,7 +328,7 @@ mod tests { type Consensus = consensus::Module; type Session = Module; - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(consensus::GenesisConfig::{ code: vec![], diff --git a/substrate/runtime/staking/src/genesis_config.rs b/substrate/runtime/staking/src/genesis_config.rs index 38be260dfbed1..e2b50ca1229ad 100644 --- a/substrate/runtime/staking/src/genesis_config.rs +++ b/substrate/runtime/staking/src/genesis_config.rs @@ -23,7 +23,7 @@ use rstd::prelude::*; use codec::Encode; use runtime_support::StorageValue; use primitives::traits::As; -use substrate_primitives::KeccakHasher; +use substrate_primitives::Blake2Hasher; use {runtime_io, primitives}; use super::{Trait, Intentions, CurrentEra, OfflineSlashGrace, MinimumValidatorCount, BondingDuration, SessionsPerEra, ValidatorCount, SessionReward, OfflineSlash}; @@ -61,7 +61,7 @@ impl Default for GenesisConfig { impl primitives::BuildStorage for GenesisConfig { fn build_storage(self) -> ::std::result::Result, Vec>, String> { - let r: runtime_io::TestExternalities = map![ + let r: runtime_io::TestExternalities = map![ Self::hash(>::key()).to_vec() => self.intentions.encode(), Self::hash(>::key()).to_vec() => self.sessions_per_era.encode(), Self::hash(>::key()).to_vec() => self.validator_count.encode(), diff --git a/substrate/runtime/staking/src/mock.rs b/substrate/runtime/staking/src/mock.rs index 4fbc64419a8ce..7dda4fe7ebec4 100644 --- a/substrate/runtime/staking/src/mock.rs +++ b/substrate/runtime/staking/src/mock.rs @@ -21,7 +21,7 @@ use primitives::BuildStorage; use primitives::traits::{Identity}; use primitives::testing::{Digest, Header}; -use substrate_primitives::{H256, KeccakHasher}; +use substrate_primitives::{H256, Blake2Hasher}; use runtime_io; use {GenesisConfig, Module, Trait, consensus, session, system, timestamp, balances}; @@ -70,7 +70,7 @@ impl Trait for Test { type Event = (); } -pub fn new_test_ext(ext_deposit: u64, session_length: u64, sessions_per_era: u64, current_era: u64, monied: bool, reward: u64) -> runtime_io::TestExternalities { +pub fn new_test_ext(ext_deposit: u64, session_length: u64, sessions_per_era: u64, current_era: u64, monied: bool, reward: u64) -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); let balance_factor = if ext_deposit > 0 { 256 diff --git a/substrate/runtime/system/src/lib.rs b/substrate/runtime/system/src/lib.rs index 1df27352bb606..ae8ceff6a6047 100644 --- a/substrate/runtime/system/src/lib.rs +++ b/substrate/runtime/system/src/lib.rs @@ -55,7 +55,7 @@ use rstd::marker::PhantomData; use codec::Encode; #[cfg(any(feature = "std", test))] -use runtime_io::{twox_128, TestExternalities, KeccakHasher}; +use runtime_io::{twox_128, TestExternalities, Blake2Hasher}; /// Compute the extrinsics root of a list of extrinsics. pub fn extrinsics_root(extrinsics: &[E]) -> H::Output { @@ -261,7 +261,7 @@ impl Module { /// Get the basic externalities for this module, useful for tests. #[cfg(any(feature = "std", test))] - pub fn externalities() -> TestExternalities { + pub fn externalities() -> TestExternalities { map![ twox_128(&>::key_for(T::BlockNumber::zero())).to_vec() => [69u8; 32].encode(), // TODO: replace with Hash::default().encode twox_128(>::key()).to_vec() => T::BlockNumber::one().encode(), @@ -395,7 +395,7 @@ mod tests { - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { GenesisConfig::::default().build_storage().unwrap().into() } diff --git a/substrate/runtime/treasury/src/lib.rs b/substrate/runtime/treasury/src/lib.rs index 0aac4c3f9d1e6..1edf33a563066 100644 --- a/substrate/runtime/treasury/src/lib.rs +++ b/substrate/runtime/treasury/src/lib.rs @@ -335,7 +335,7 @@ mod tests { use super::*; use runtime_io::with_externalities; - use substrate_primitives::{H256, KeccakHasher}; + use substrate_primitives::{H256, Blake2Hasher}; use runtime_primitives::BuildStorage; use runtime_primitives::traits::{BlakeTwo256}; use runtime_primitives::testing::{Digest, Header}; @@ -372,7 +372,7 @@ mod tests { type Balances = balances::Module; type Treasury = Module; - fn new_test_ext() -> runtime_io::TestExternalities { + fn new_test_ext() -> runtime_io::TestExternalities { let mut t = system::GenesisConfig::::default().build_storage().unwrap(); t.extend(balances::GenesisConfig::{ balances: vec![(0, 100), (1, 99), (2, 1)], diff --git a/substrate/service/src/components.rs b/substrate/service/src/components.rs index 9f3e19bc14e1f..38088b905069d 100644 --- a/substrate/service/src/components.rs +++ b/substrate/service/src/components.rs @@ -29,7 +29,7 @@ use substrate_executor::{NativeExecutor, NativeExecutionDispatch}; use extrinsic_pool::{self, Options as ExtrinsicPoolOptions, Pool as ExtrinsicPool}; use runtime_primitives::{traits::Block as BlockT, traits::Header as HeaderT, BuildStorage}; use config::Configuration; -use primitives::{KeccakHasher, RlpCodec, H256}; +use primitives::{Blake2Hasher, RlpCodec, H256}; // Type aliases. // These exist mainly to avoid typing `::Foo` all over the code. @@ -65,7 +65,7 @@ pub type LightExecutor = client::light::call_executor::RemoteCallExecutor< network::OnDemand<::Block, NetworkService> >, network::OnDemand<::Block, NetworkService>, - KeccakHasher, + Blake2Hasher, RlpCodec, >; @@ -153,9 +153,9 @@ pub trait Components: 'static { /// Associated service factory. type Factory: ServiceFactory; /// Client backend. - type Backend: 'static + client::backend::Backend, KeccakHasher, RlpCodec>; + type Backend: 'static + client::backend::Backend, Blake2Hasher, RlpCodec>; /// Client executor. - type Executor: 'static + client::CallExecutor, KeccakHasher, RlpCodec> + Send + Sync; + type Executor: 'static + client::CallExecutor, Blake2Hasher, RlpCodec> + Send + Sync; /// Extrinsic pool type. type ExtrinsicPoolApi: 'static + extrinsic_pool::ChainApi::ExtrinsicHash, Block=FactoryBlock>; @@ -241,7 +241,7 @@ impl Components for LightComponents }; let db_storage = client_db::light::LightStorage::new(db_settings)?; let light_blockchain = client::light::new_light_blockchain(db_storage); - let fetch_checker = Arc::new(client::light::new_fetch_checker::<_, KeccakHasher, RlpCodec>(executor)); + let fetch_checker = Arc::new(client::light::new_fetch_checker::<_, Blake2Hasher, RlpCodec>(executor)); let fetcher = Arc::new(network::OnDemand::new(fetch_checker)); let client_backend = client::light::new_light_backend(light_blockchain, fetcher.clone()); let client = client::light::new_light(client_backend, fetcher.clone(), &config.chain_spec)?; diff --git a/substrate/state-machine/src/lib.rs b/substrate/state-machine/src/lib.rs index fc3f52c5dcb5c..7dab6e6af6375 100644 --- a/substrate/state-machine/src/lib.rs +++ b/substrate/state-machine/src/lib.rs @@ -484,7 +484,7 @@ mod tests { use super::*; use super::backend::InMemory; use super::ext::Ext; - use primitives::{KeccakHasher, RlpCodec, H256}; + use primitives::{Blake2Hasher, RlpCodec, H256}; struct DummyCodeExecutor { native_available: bool, @@ -557,7 +557,7 @@ mod tests { b"dogglesworth".to_vec() => b"catXXX".to_vec(), b"doug".to_vec() => b"notadog".to_vec() ]; - let backend = InMemory::::from(initial); + let backend = InMemory::::from(initial); let mut overlay = OverlayedChanges { committed: map![ b"dog".to_vec() => Some(b"puppy".to_vec()), @@ -570,10 +570,7 @@ mod tests { ], }; let mut ext = Ext::new(&mut overlay, &backend); - // Blake - // const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); - // Keccak - const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); + const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); assert_eq!(ext.storage_root(), H256(ROOT)); } @@ -630,7 +627,7 @@ mod tests { &mut Default::default(), &executor, "test", &[]).unwrap(); // check proof locally - let (local_result, _) = execution_proof_check::(remote_root, remote_proof, + let (local_result, _) = execution_proof_check::(remote_root, remote_proof, &mut Default::default(), &executor, "test", &[]).unwrap(); // check that both results are correct @@ -646,7 +643,7 @@ mod tests { b"abc".to_vec() => b"2".to_vec(), b"bbb".to_vec() => b"3".to_vec() ]; - let backend = InMemory::::from(initial).try_into_trie_backend().unwrap(); + let backend = InMemory::::from(initial).try_into_trie_backend().unwrap(); let mut overlay = OverlayedChanges { committed: map![ b"aba".to_vec() => Some(b"1312".to_vec()), @@ -685,8 +682,8 @@ mod tests { let remote_root = remote_backend.storage_root(::std::iter::empty()).0; let remote_proof = prove_read(remote_backend, b"value2").unwrap().1; // check proof locally - let local_result1 = read_proof_check::(remote_root, remote_proof.clone(), b"value2").unwrap(); - let local_result2 = read_proof_check::(remote_root, remote_proof.clone(), &[0xff]).is_ok(); + let local_result1 = read_proof_check::(remote_root, remote_proof.clone(), b"value2").unwrap(); + let local_result2 = read_proof_check::(remote_root, remote_proof.clone(), &[0xff]).is_ok(); // check that results are correct assert_eq!(local_result1, Some(vec![24])); assert_eq!(local_result2, false); diff --git a/substrate/state-machine/src/proving_backend.rs b/substrate/state-machine/src/proving_backend.rs index db8d142452eba..25a2f49c75a34 100644 --- a/substrate/state-machine/src/proving_backend.rs +++ b/substrate/state-machine/src/proving_backend.rs @@ -123,9 +123,9 @@ mod tests { use backend::{InMemory}; use trie_backend::tests::test_trie; use super::*; - use primitives::{KeccakHasher, RlpCodec}; + use primitives::{Blake2Hasher, RlpCodec}; - fn test_proving() -> ProvingBackend { + fn test_proving() -> ProvingBackend { ProvingBackend::new(test_trie()) } @@ -143,7 +143,7 @@ mod tests { #[test] fn proof_is_invalid_when_does_not_contains_root() { - assert!(create_proof_check_backend::(1.into(), vec![]).is_err()); + assert!(create_proof_check_backend::(1.into(), vec![]).is_err()); } #[test] @@ -162,7 +162,7 @@ mod tests { #[test] fn proof_recorded_and_checked() { let contents = (0..64).map(|i| (vec![i], Some(vec![i]))).collect::>(); - let in_memory = InMemory::::default(); + let in_memory = InMemory::::default(); let in_memory = in_memory.update(contents); let in_memory_root = in_memory.storage_root(::std::iter::empty()).0; (0..64).for_each(|i| assert_eq!(in_memory.storage(&[i]).unwrap().unwrap(), vec![i])); @@ -177,7 +177,7 @@ mod tests { let proof = proving.extract_proof(); - let proof_check = create_proof_check_backend::(in_memory_root.into(), proof).unwrap(); + let proof_check = create_proof_check_backend::(in_memory_root.into(), proof).unwrap(); assert_eq!(proof_check.storage(&[42]).unwrap().unwrap(), vec![42]); } } diff --git a/substrate/state-machine/src/testing.rs b/substrate/state-machine/src/testing.rs index 955cb77464b4e..bcb02f6bb06e0 100644 --- a/substrate/state-machine/src/testing.rs +++ b/substrate/state-machine/src/testing.rs @@ -104,18 +104,15 @@ impl Externalities for TestExternalities where H::Out: Ord + En #[cfg(test)] mod tests { use super::*; - use primitives::{KeccakHasher, H256}; + use primitives::{Blake2Hasher, H256}; #[test] fn commit_should_work() { - let mut ext = TestExternalities::::new(); + let mut ext = TestExternalities::::new(); ext.set_storage(b"doe".to_vec(), b"reindeer".to_vec()); ext.set_storage(b"dog".to_vec(), b"puppy".to_vec()); ext.set_storage(b"dogglesworth".to_vec(), b"cat".to_vec()); - // Blake - // const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); - // Keccak - const ROOT: [u8; 32] = hex!("8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"); + const ROOT: [u8; 32] = hex!("6ca394ff9b13d6690a51dea30b1b5c43108e52944d30b9095227c49bae03ff8b"); assert_eq!(ext.storage_root(), H256(ROOT)); } } diff --git a/substrate/state-machine/src/trie_backend.rs b/substrate/state-machine/src/trie_backend.rs index 066f74b77d06a..565cc5387f486 100644 --- a/substrate/state-machine/src/trie_backend.rs +++ b/substrate/state-machine/src/trie_backend.rs @@ -280,11 +280,11 @@ impl TrieBackendStorage { pub mod tests { use super::*; use std::collections::HashSet; - use primitives::{KeccakHasher, RlpCodec, H256}; + use primitives::{Blake2Hasher, RlpCodec, H256}; - fn test_db() -> (MemoryDB, H256) { + fn test_db() -> (MemoryDB, H256) { let mut root = H256::default(); - let mut mdb = MemoryDB::::new(); + let mut mdb = MemoryDB::::new(); { let mut trie = TrieDBMut::<_, RlpCodec>::new(&mut mdb, &mut root); trie.insert(b"key", b"value").expect("insert failed"); @@ -298,7 +298,7 @@ pub mod tests { (mdb, root) } - pub(crate) fn test_trie() -> TrieBackend { + pub(crate) fn test_trie() -> TrieBackend { let (mdb, root) = test_db(); TrieBackend::with_memorydb(mdb, root) } @@ -320,7 +320,7 @@ pub mod tests { #[test] fn pairs_are_empty_on_empty_storage() { - let db = TrieBackend::::with_memorydb( + let db = TrieBackend::::with_memorydb( MemoryDB::new(), Default::default() ); diff --git a/substrate/test-client/src/block_builder_ext.rs b/substrate/test-client/src/block_builder_ext.rs index a1894f5fa68f3..4cc0854771a2c 100644 --- a/substrate/test-client/src/block_builder_ext.rs +++ b/substrate/test-client/src/block_builder_ext.rs @@ -22,7 +22,7 @@ use keyring; use runtime; use {Backend, Executor}; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; /// Extension trait for test block builder. pub trait BlockBuilderExt { @@ -30,7 +30,7 @@ pub trait BlockBuilderExt { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error>; } -impl BlockBuilderExt for client::block_builder::BlockBuilder { +impl BlockBuilderExt for client::block_builder::BlockBuilder { fn push_transfer(&mut self, transfer: runtime::Transfer) -> Result<(), client::error::Error> { self.push(sign_tx(transfer)) } diff --git a/substrate/test-client/src/lib.rs b/substrate/test-client/src/lib.rs index 4de63d46a28a0..3aeefed0fafb2 100644 --- a/substrate/test-client/src/lib.rs +++ b/substrate/test-client/src/lib.rs @@ -39,7 +39,7 @@ mod block_builder_ext; pub use client_ext::TestClient; pub use block_builder_ext::BlockBuilderExt; -use primitives::{KeccakHasher, RlpCodec}; +use primitives::{Blake2Hasher, RlpCodec}; mod local_executor { #![allow(missing_docs)] @@ -52,7 +52,7 @@ mod local_executor { pub use local_executor::LocalExecutor; /// Test client database backend. -pub type Backend = client::in_mem::Backend; +pub type Backend = client::in_mem::Backend; /// Test client executor. pub type Executor = client::LocalCallExecutor< diff --git a/substrate/test-runtime/src/system.rs b/substrate/test-runtime/src/system.rs index b57b5f93f9ec8..b60cfa7872c89 100644 --- a/substrate/test-runtime/src/system.rs +++ b/substrate/test-runtime/src/system.rs @@ -24,7 +24,7 @@ use runtime_primitives::traits::{Hash as HashT, BlakeTwo256}; use runtime_primitives::{ApplyError, ApplyOutcome, ApplyResult}; use codec::{KeyedVec, Encode}; use super::{AccountId, BlockNumber, Extrinsic, H256 as Hash, Block, Header}; -use primitives::KeccakHasher; +use primitives::Blake2Hasher; const NONCE_OF: &[u8] = b"nonce:"; const BALANCE_OF: &[u8] = b"balance:"; @@ -69,7 +69,7 @@ pub fn execute_block(block: Block) { // check transaction trie root represents the transactions. let txs = block.extrinsics.iter().map(Encode::encode).collect::>(); let txs = txs.iter().map(Vec::as_slice).collect::>(); - let txs_root = enumerated_trie_root::(&txs).into(); + let txs_root = enumerated_trie_root::(&txs).into(); info_expect_equal_hash(&txs_root, &header.extrinsics_root); assert!(txs_root == header.extrinsics_root, "Transaction trie root must be valid."); @@ -96,7 +96,7 @@ pub fn finalise_block() -> Header { let extrinsic_index = ExtrinsicIndex::take(); let txs: Vec<_> = (0..extrinsic_index).map(ExtrinsicData::take).collect(); let txs = txs.iter().map(Vec::as_slice).collect::>(); - let extrinsics_root = enumerated_trie_root::(&txs).into(); + let extrinsics_root = enumerated_trie_root::(&txs).into(); let number = ::take(); let parent_hash = ::take(); @@ -172,9 +172,9 @@ mod tests { use codec::{Joiner, KeyedVec}; use keyring::Keyring; use ::{Header, Digest, Extrinsic, Transfer}; - use primitives::KeccakHasher; + use primitives::Blake2Hasher; - fn new_test_ext() -> TestExternalities { + fn new_test_ext() -> TestExternalities { map![ twox_128(b"latest").to_vec() => vec![69u8; 32], twox_128(b":auth:len").to_vec() => vec![].and(&3u32), @@ -197,11 +197,8 @@ mod tests { let h = Header { parent_hash: [69u8; 32].into(), number: 1, - // Blake - // state_root: hex!("0c22599e15fb5e052c84f79a2aab179ba6bb238218fd86bdd4a74ebcc87adfcd").into(), - // Keccak - state_root: hex!("97dfcd1f8cbf8845fcb544f89332f1a94c1137f7d1b199ef0b0a6ed217015c3e").into(), - extrinsics_root: hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421").into(), + state_root: hex!("0c22599e15fb5e052c84f79a2aab179ba6bb238218fd86bdd4a74ebcc87adfcd").into(), + extrinsics_root: hex!("45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0").into(), digest: Digest { logs: vec![], }, }; @@ -228,11 +225,8 @@ mod tests { header: Header { parent_hash: [69u8; 32].into(), number: 1, - // Blake - // state_root: hex!("0425393fd07e2a806cfd7e990ee91dc92fe6bba34eab2bf45d5be7d67e24d467").into(), - // Keccak - state_root: hex!("0dd8210adaf581464cc68555814a787ed491f8c608d0a0dbbf2208a6d44190b1").into(), - extrinsics_root: hex!("951508f2cc0071500a74765ab0fb2f280fdcdd329d5f989dda675010adee99d6").into(), + state_root: hex!("0425393fd07e2a806cfd7e990ee91dc92fe6bba34eab2bf45d5be7d67e24d467").into(), + extrinsics_root: hex!("83fd59e8fe7cee53d7421713a09fe0abae1aec5f4db94fe5193737b12195f013").into(), digest: Digest { logs: vec![], }, }, extrinsics: vec![ @@ -256,11 +250,8 @@ mod tests { header: Header { parent_hash: b.header.hash(), number: 2, - // Blake - // state_root: hex!("e32dd1d84d9133ca48078d2d83f2b0db19f9d47229ba98bf5ced0e9f86fac2c7").into(), - // Keccak - state_root: hex!("c93f2fd494c386fa32ee76b6198a7ccf5db12c02c3a79755fd2d4646ec2bf8d7").into(), - extrinsics_root: hex!("3563642676d7e042c894eedc579ba2d6eeedf9a6c66d9d557599effc9f674372").into(), + state_root: hex!("e32dd1d84d9133ca48078d2d83f2b0db19f9d47229ba98bf5ced0e9f86fac2c7").into(), + extrinsics_root: hex!("5d2d0a93201744f0df878c33b07da40cd38e24ac2358cc2811ea640835c31b68").into(), digest: Digest { logs: vec![], }, }, extrinsics: vec![ diff --git a/substrate/test-runtime/wasm/Cargo.lock b/substrate/test-runtime/wasm/Cargo.lock index 16fa861ae0012..f42241061f26e 100644 --- a/substrate/test-runtime/wasm/Cargo.lock +++ b/substrate/test-runtime/wasm/Cargo.lock @@ -541,7 +541,6 @@ dependencies = [ "substrate-codec 0.1.0", "substrate-codec-derive 0.1.0", "substrate-runtime-std 0.1.0", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index ccc4ccc1bbfe2c8b892d451c70879a496bc98a5f..c917584c7f3d85c1150e8a92da021ac389386132 100644 GIT binary patch delta 1659 zcmaJ?O=ule6ux(6-n^N)bCa7iNSfCqXC{h?pybC+(o)I0iLXua^4gag(W)3)nj(`{ zTm&j~@w!N@8?|_Gp_YQW2!bid+jUi4L_@oHmMSe$bXjoYLU0p`=e$W{{N<9|d(WLY z_dDPBoq69~w(ospUwVOm^W}>%Z|z%rb9v#!>Ela_!wbWElllcd!gFh%@xD#-lfAqC zgLPv+f4BbWGoN!a=sKo6Ug3H3;dsJxrZIkwduF!y6nD+JqBhrxbmr+BW^S^>(>&E) zMOvnF;%y$7PbR+D8FtP4ljGbsw1;=F71QIUMeEA$B#Jk{B&X z4z6Nxz9c>K^3(`->+em?@evQWX8Re_79O&a^nn3?l2It+0yssu<~yDU%&wUyf^Ce< z9GLmoT5U6TXO5Y{a#TQsUIw&5_;vub%m?LTyKSMFw1oa;1fSNaL0XHfrOZrUu6+!t6|WkcSpCUKuoJD?PPV?M%l? zx`e*LvHaSsbf_S}3K2hEB#8$^i|L0z8n3#lS;8AvfAwg=yr056-k? z$cfNSgwBgl{m2&x?L1Gx#o_DlbgDYC>Z#20JPysR!`J?18&o&*H#V1V8b@Br3o*e~ zWnhM?1qUhTrd;h-QghY5Z6MWa&QxP;!%Nj}F3r_y_W-IfU}xMnwNPn{^86))@?bsY zx9WViM+aDrrEjt{d$YN_jXPl$=PtH~SUytW6BSfT6qpBdeQuzaF|m34=z*F~Roy}H zmb90d4llqvr=>&mlj#B+WIAkwDTVqKjb%CdN<~wWvYz1;i zBq_4>ij6#j*ppbdF&hcgK&32who{&F0qG^pgQLR;P*79It)`IF6gJ{{h!3&i2>u5j zn%%_`{v99Xi|j3Y%}ybF_=?lSmsB!*2xuE0*n|!_Nj1yb=2xCRiWXlZlLl)mt<5ha z^(?9VaQ@cfmf3vn6>BUt3-kR?V;3m=gH!{#Cw9>KD3ham@f!)4Zor07hAZ8fX3uq| z=KJ}x{`QBsKJ)zbH~bCdyng)5BLB+lTEF{`pN`+xFIqgQ*EU*hmFyeYmz+G6oEjS& OI(cI6VExL?I{yRlojGs- delta 1866 zcmbVNU1%It6uv(*yR$n#dmCekNn_7U1rsoW#%`pvWN*^V-zJ;H1pGmfG_((swkQ-8 z1XHnCYekd`J`_PL*xF(qWM7J4iAqbcK5V5AEmSBXDEQ*5;Dg_t>92@FxtYw|bM8I& zJKuNC-Jg!hOCQS*p61_u`Aow7&AVSa@Z!qu<>jT7))79)#i`F)XT`7E_|L5qJ5F)4 zFg(Lu^XYJvOLJxTbzU%wwMV&Q-l}PHzSh83hrZ~Dnr3EhXXik|iR;y|o`h=;U*2T) zH5M`w`iw}4r_O@Lk>zrRu-ryg=Dz*DS;Mf1z}Aa`3`6Z8DxB939(7}EkyRu4U5 z#0Qu)1>7eDvOIIMe{!QaF-hjqO2q;Bic=8#f$+0nacIBn zdcPi)eX2%r;A4|asa$25;DGL>No9l$NzCo5&9NfP(^4LJR52gUbeRj&U7o1rW=rns zZE{tbNGe)>!3~I2cMuD@R;NQ$DfWT}ECHIR9+n6xVY0Css%jobpvG>`IaJ6?l0y9{ zQdxVc8SKrBq)0Y;(uqW2H7x1P^AOdgvgT7nPgaWFKS~jv{Cc?7e6CpXN7%{GGdpH`%nP%d+(>iPVUEn=>M~!<_VUPlKik_6 zsrzNFSyq0K0J7d?f~?5JsJX@7l64>zp?_d$zB8L$#w;*z&K>Rukvaq@TN-Ryv2VKP zw-kJR0D;Zu{B~Y82j@FiamZxoSe9*d+FG*J8QAKC)mA5HKs%Kv$aQuh5hhf|2yB&h zQ%Ui>K+!3nGg}{7%Z)7(MhdFpGJ;t#+E7L4D?CktBKcOF$aFvT_$mV0?ul-6Ph`7C z0?$o+z>4Aj2R?K~0V(`DJ{!;8Wf{J#r7S*dadLb!IY0oq1(2jg2TpLo|ffqn}2P3&RxCh*HE56 jEcn*e(F+x+c0IOd>l4dM%Y(~%o?IGQ8f=}u*y4W!sOME7 diff --git a/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm b/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.wasm index 10dd03ccc461a6d5423d17249d5f28ad62cc7c95..89a0e6127e8be974092254411ea0cd2a83bfa478 100755 GIT binary patch delta 1770 zcmaJ?OK4nG7(VCR$J~3*oaE+#ht1zl9ZjdbCEW+rKhS`Nv1|L6O^ z@B8okaM8NHYQ1%W|M=PC2Y7vE{@JC|XV0HmobNx~e=u8qo1fy|<_CPQVDc7r*sbLz z>-q?Pqx{z+A8{N#?Be^Q1)jp+N3-0)%-HkX!}rGaaTmWI)2MWj_D<<q9BS@V zd+chKSG1Z_9Ndt_shslg)BFH;%RlE!e82;)*$87=&?d_%9~kflm|0453EZr3&3By$ zaN)>(!45`-Zys3{YYljR;UvCTh}sFMS7mdHNZbun;Elq`R!eH8gw(&SQ2Mb+zZMH; zrn~T|Mh7oUH}s{!S&J7j8z+m z9+8eEq~yXM+~aO}EAAM7p{c`jCP; zjHX-g<6;Y5E_N-~YkMjVm1{EC;zYsnw6aZ7Kv_}_^q4YS5Mr9NwUJ7iN6G*)4_2sG zU;)K}us!tRdKxZIwilEGbkPN$ydC*qt;fzdybR7tD##`fQ+tXBd zK8RjoDsu2;0lnaxX#JppP&Qk7pxHQ-4nGH%^=qoI#-mJ{7(oEu|(kqQ= zqKatq4Q;+opN|489m}|ZUZTMG+_8t3DbF5pjbvWbUe%)X0KGY-Y$KGhXh6+al*%S= zR*gj~-XOYV)eWR9DI$q|AEdEr8+akFx|GU=3deXUQf8%g#Uf2Wc4Wm>ie|*zB2|UH z#uKWVz-X(m^jJRul%|AKt%Q^*A&c;A<0Gupg1g|O(r_t-|HfzHMOF=8rLGJfvYR})mx^KC*g05VsjqxbO@$j5Z1>*?E^ub<2{Dx5=W{&= zs9r+)gG7VzU2Id4kW9ATLtj*&aJ?1`G8*ZYqG^_@F=aQ}lx@zE>ylt;c><^KR{ CZb~lz delta 1967 zcmbVNUx*b|96o<$?wxzj%-qAeneMvyn^8+CjauCeF}!EjySaPaUCo8kgjg@@!)%HV z3k5x_fm9C>!hs$VksfM`5Q_UEK9orbk`F6r_+a7oP(ctqWFQFjotaHjBSH@M&YAP) zcfRlYeZMmc$K{n1^4RnI%4aWZz(VH^gc%p8YeSNTVeaeZO z*`e-~n*hCFIPVQbjD$HYGUAzGZf06{bt$`J;4QyQf_%F$xWe8Tc>6&EofzB-WZw;* zf6xG5Y`Z1&68nAQ96xQ}ANqN}afs(dW;CAH@$?MS!9VDEpy%cEyn-GU74$HZ(<8A~ zTo;K%fU}qr<|Cfz^`@*@${UfeUp+gvrbM3MGiix@v=YLV4BH-Iv=MPCVP&}ym2Lm_ zUhcQ2x9{SQmT@fG%$O0FWQ`~wMtnVULm^j$z)p8=zZ_m_Zw`}PJ@TG7*YwCud9%S`7TLI~1c%&KM`x z8c|3!QWR5&7B{(s?%ZC<5h!q)9frvs7a-2C~J#grGiE4bKwf=Tzzs&>Q3* zO?7|8GF3m@H8ri*LXSUt%)*!FNJ8lg?-(5BMzsIeZDYScHd~dm;2H0E_*kj|} z_S5kder&kzwAaQ{uI!)VJv_EOJA2l_4eMl)*4&{;1~Pxw5Hb&qKf8)rBPeZI$s~Vk;N?%gA}gl z6PFRqWo{lR6y_?=P-4m@GPVbwdkO$US8wrRy~VEHB=G!=4_MLEf8awMl|bR&@ws^J zn#}R#Md