From a58de5d0ff3f165a87ce798ebaf283caf37736f4 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Thu, 31 Jan 2019 18:39:20 +0100 Subject: [PATCH] Transaction signing payload is hashed first (#1624) * Transaction signing payload is hashed first * Fix tests * Rebuild wasm * Fix tests * Only take payload hash when payload.len > 256 bytes. * Fix tests --- .../unchecked_mortal_compact_extrinsic.rs | 54 ++++++++++------- .../src/generic/unchecked_mortal_extrinsic.rs | 55 +++++++++++------- .../substrate_test_runtime.compact.wasm | Bin 59658 -> 59629 bytes substrate/node/executor/src/lib.rs | 6 +- substrate/node/runtime/src/lib.rs | 4 +- .../release/node_runtime.compact.wasm | Bin 832678 -> 832238 bytes 6 files changed, 76 insertions(+), 43 deletions(-) diff --git a/substrate/core/sr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs b/substrate/core/sr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs index 953d200113..f448938d8e 100644 --- a/substrate/core/sr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs +++ b/substrate/core/sr-primitives/src/generic/unchecked_mortal_compact_extrinsic.rs @@ -20,6 +20,7 @@ use std::fmt; use rstd::prelude::*; +use runtime_io::blake2_256; use codec::{Decode, Encode, Input, Compact}; use traits::{self, Member, SimpleArithmetic, MaybeDisplay, CurrentHeight, BlockNumberToHash, Lookup, Checkable, Extrinsic}; @@ -85,14 +86,20 @@ where Some((signed, signature, index, era)) => { let h = context.block_number_to_hash(BlockNumber::sa(era.birth(context.current_height().as_()))) .ok_or("transaction birth block ancient")?; - let payload = (index, self.function, era, h); let signed = context.lookup(signed)?; - if !::verify_encoded_lazy(&signature, &payload, &signed) { + let raw_payload = (index, self.function, era, h); + if !raw_payload.using_encoded(|payload| { + if payload.len() > 256 { + signature.verify(&blake2_256(payload)[..], &signed) + } else { + signature.verify(payload, &signed) + } + }) { return Err("bad signature in extrinsic") } CheckedExtrinsic { - signed: Some((signed, (payload.0).0)), - function: payload.1, + signed: Some((signed, (raw_payload.0).0)), + function: raw_payload.1, } } None => CheckedExtrinsic { @@ -182,6 +189,7 @@ impl fmt::Debug for UncheckedMortalCompactExtri #[cfg(test)] mod tests { use super::*; + use runtime_io::blake2_256; struct TestContext; impl Lookup for TestContext { @@ -208,78 +216,84 @@ mod tests { } } - const DUMMY_FUNCTION: u64 = 0; const DUMMY_ACCOUNTID: u64 = 0; - type Ex = UncheckedMortalCompactExtrinsic; - type CEx = CheckedExtrinsic; + type Ex = UncheckedMortalCompactExtrinsic, TestSig>; + type CEx = CheckedExtrinsic>; #[test] fn unsigned_codec_should_work() { - let ux = Ex::new_unsigned(DUMMY_FUNCTION); + let ux = Ex::new_unsigned(vec![0u8;0]); let encoded = ux.encode(); assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); } #[test] fn signed_codec_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::immortal(), 0u64).encode()), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::immortal(), 0u64).encode()), Era::immortal()); + let encoded = ux.encode(); + assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); + } + + #[test] + fn large_signed_codec_should_work() { + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8; 257], Era::immortal(), 0u64).using_encoded(blake2_256)[..].to_owned()), Era::immortal()); let encoded = ux.encode(); assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); } #[test] fn unsigned_check_should_work() { - let ux = Ex::new_unsigned(DUMMY_FUNCTION); + let ux = Ex::new_unsigned(vec![0u8;0]); assert!(!ux.is_signed().unwrap_or(false)); assert!(>::check(ux, &TestContext).is_ok()); } #[test] fn badly_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, vec![0u8]), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, vec![0u8]), Era::immortal()); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn immortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), DUMMY_FUNCTION, Era::immortal(), 0u64).encode()), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), vec![0u8;0], Era::immortal(), 0u64).encode()), Era::immortal()); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn mortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), DUMMY_FUNCTION, Era::mortal(32, 42), 42u64).encode()), Era::mortal(32, 42)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), vec![0u8;0], Era::mortal(32, 42), 42u64).encode()), Era::mortal(32, 42)); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn later_mortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), DUMMY_FUNCTION, Era::mortal(32, 11), 11u64).encode()), Era::mortal(32, 11)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (Compact::from(DUMMY_ACCOUNTID), vec![0u8;0], Era::mortal(32, 11), 11u64).encode()), Era::mortal(32, 11)); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn too_late_mortal_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 10), 10u64).encode()), Era::mortal(32, 10)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 10), 10u64).encode()), Era::mortal(32, 10)); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn too_early_mortal_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 43), 43u64).encode()), Era::mortal(32, 43)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 43), 43u64).encode()), Era::mortal(32, 43)); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn encoding_matches_vec() { - let ex = Ex::new_unsigned(DUMMY_FUNCTION); + let ex = Ex::new_unsigned(vec![0u8;0]); let encoded = ex.encode(); let decoded = Ex::decode(&mut encoded.as_slice()).unwrap(); assert_eq!(decoded, ex); diff --git a/substrate/core/sr-primitives/src/generic/unchecked_mortal_extrinsic.rs b/substrate/core/sr-primitives/src/generic/unchecked_mortal_extrinsic.rs index 8aa6faa467..8630706795 100644 --- a/substrate/core/sr-primitives/src/generic/unchecked_mortal_extrinsic.rs +++ b/substrate/core/sr-primitives/src/generic/unchecked_mortal_extrinsic.rs @@ -20,6 +20,7 @@ use std::fmt; use rstd::prelude::*; +use runtime_io::blake2_256; use codec::{Decode, Encode, Input}; use traits::{self, Member, SimpleArithmetic, MaybeDisplay, CurrentHeight, BlockNumberToHash, Lookup, Checkable, Extrinsic}; @@ -84,14 +85,21 @@ where Some((signed, signature, index, era)) => { let h = context.block_number_to_hash(BlockNumber::sa(era.birth(context.current_height().as_()))) .ok_or("transaction birth block ancient")?; - let payload = (index, self.function, era, h); let signed = context.lookup(signed)?; - if !::verify_encoded_lazy(&signature, &payload, &signed) { + let raw_payload = (index, self.function, era, h); + + if !raw_payload.using_encoded(|payload| { + if payload.len() > 256 { + signature.verify(&blake2_256(payload)[..], &signed) + } else { + signature.verify(payload, &signed) + } + }) { return Err("bad signature in extrinsic") } CheckedExtrinsic { - signed: Some((signed, payload.0)), - function: payload.1, + signed: Some((signed, raw_payload.0)), + function: raw_payload.1, } } None => CheckedExtrinsic { @@ -180,6 +188,7 @@ impl fmt::Debug for UncheckedMortalExtrinsic; - type CEx = CheckedExtrinsic; + type Ex = UncheckedMortalExtrinsic, TestSig>; + type CEx = CheckedExtrinsic>; #[test] fn unsigned_codec_should_work() { - let ux = Ex::new_unsigned(DUMMY_FUNCTION); + let ux = Ex::new_unsigned(vec![0u8;0]); let encoded = ux.encode(); assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); } #[test] fn signed_codec_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::immortal(), 0u64).encode()), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::immortal(), 0u64).encode()), Era::immortal()); + let encoded = ux.encode(); + assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); + } + + #[test] + fn large_signed_codec_should_work() { + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8; 257], Era::immortal(), 0u64).using_encoded(blake2_256)[..].to_owned()), Era::immortal()); let encoded = ux.encode(); assert_eq!(Ex::decode(&mut &encoded[..]), Some(ux)); } #[test] fn unsigned_check_should_work() { - let ux = Ex::new_unsigned(DUMMY_FUNCTION); + let ux = Ex::new_unsigned(vec![0u8;0]); assert!(!ux.is_signed().unwrap_or(false)); assert!(>::check(ux, &TestContext).is_ok()); } #[test] fn badly_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, vec![0u8]), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, vec![0u8]), Era::immortal()); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn immortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::immortal(), 0u64).encode()), Era::immortal()); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::immortal(), 0u64).encode()), Era::immortal()); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn mortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 42), 42u64).encode()), Era::mortal(32, 42)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 42), 42u64).encode()), Era::mortal(32, 42)); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn later_mortal_signed_check_should_work() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 11), 11u64).encode()), Era::mortal(32, 11)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 11), 11u64).encode()), Era::mortal(32, 11)); assert!(ux.is_signed().unwrap_or(false)); - assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: DUMMY_FUNCTION })); + assert_eq!(>::check(ux, &TestContext), Ok(CEx { signed: Some((DUMMY_ACCOUNTID, 0)), function: vec![0u8;0] })); } #[test] fn too_late_mortal_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 10), 10u64).encode()), Era::mortal(32, 10)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 10), 10u64).encode()), Era::mortal(32, 10)); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn too_early_mortal_signed_check_should_fail() { - let ux = Ex::new_signed(0, DUMMY_FUNCTION, DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, DUMMY_FUNCTION, Era::mortal(32, 43), 43u64).encode()), Era::mortal(32, 43)); + let ux = Ex::new_signed(0, vec![0u8;0], DUMMY_ACCOUNTID, TestSig(DUMMY_ACCOUNTID, (DUMMY_ACCOUNTID, vec![0u8;0], Era::mortal(32, 43), 43u64).encode()), Era::mortal(32, 43)); assert!(ux.is_signed().unwrap_or(false)); assert_eq!(>::check(ux, &TestContext), Err("bad signature in extrinsic")); } #[test] fn encoding_matches_vec() { - let ex = Ex::new_unsigned(DUMMY_FUNCTION); + let ex = Ex::new_unsigned(vec![0u8;0]); let encoded = ex.encode(); let decoded = Ex::decode(&mut encoded.as_slice()).unwrap(); assert_eq!(decoded, ex); diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index cf137047c93296c75144070216ce08074139487a..00c4d4ce9f0f7e0d0e37eec8cdec658bf1e4682d 100644 GIT binary patch delta 1905 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 XUOrK~IF>23Q86S`wh`JE@|phwWqUBS diff --git a/substrate/node/executor/src/lib.rs b/substrate/node/executor/src/lib.rs index 24ba252019..f769b284e2 100644 --- a/substrate/node/executor/src/lib.rs +++ b/substrate/node/executor/src/lib.rs @@ -72,7 +72,11 @@ mod tests { let era = Era::mortal(256, 0); let payload = (index.into(), xt.function, era, GENESIS_HASH); let pair = Pair::from(Keyring::from_public(Public::from_raw(signed.clone().into())).unwrap()); - let signature = pair.sign(&payload.encode()).into(); + let signature = payload.using_encoded(|b| if b.len() > 256 { + pair.sign(&runtime_io::blake2_256(b)) + } else { + pair.sign(b) + }).into(); UncheckedExtrinsic { signature: Some((indices::address::Address::Id(signed), signature, payload.0, era)), function: payload.1, diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index 183ce7a26e..625e00921d 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -66,8 +66,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("node"), impl_name: create_runtime_str!("substrate-node"), authoring_version: 10, - spec_version: 17, - impl_version: 17, + spec_version: 18, + impl_version: 18, apis: RUNTIME_API_VERSIONS, }; diff --git a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm index 1f37f30dd8b6fb102f5baf3bb3a25bae99ffc258..01f64762a5e605e6e851a24487bb9ddc077c37c5 100644 GIT binary patch delta 83684 zcmeFacYIXE_dmQdbMM_vb~jm)ke;wvT7WTJZ&@;z8PDM7O9hWtn~$}eD>rW&xg#fMAad2 zMBE|wiG$*Iai5y0z861=BXWg!Mm#MXF-JTm9u<#^`Qk}2PrN9e7f*==;yLlG_(_tQ zrtVk&77OJx@rGD0M|>@YpF8Xxan9LiU2~t9A?_7-i@U@Y@ryhtf0kd%Zrxv#8|1g* zJMoR^)3^5*;!E+lsCr%Q6<>)x;tjb`yd~ZgZ_0^cs<=&Tluya0mI^{(%3%7n)91!Jsedi;Ad>+@XSgTt{wK z!LZMM^S9MLI~K8gzF?})p1SdQr}`nkT=m9`F+{nA05&CqQSEb~$E8|Txe*Wdp>!s@IM<1+J zl+Eb6|5Eo!(k0iSIvHY8O1aLiG>(q{uira> z{%fWt2J}n{G!jka?%CA3kr>|b@F5UhFe>cA%2Meom7zL5UpnqfWv=}#zY8Dx-6w~f zO^w7r5nQ%$tuHF=+{(zE)VNeM&YY@zL3**cXhnaYmGim}CGZHWlxqbk1oe zl#tK7Meml0M%Jpg*7_oc>8>(yqMRCkHp_kXdzt7Y7u-t6Hy35%ursQ;IBmuJA@`XE zz4{rLu*|vrbFo379Q>sioNBIQ1eD3TWhoSS`>4Sd1p zg-}(ptNVXcmP#Y0?5h4@j09LHF>FyHW!I?cfhQ_b5R*N^3SUPJ+&!pD%&4-(xESti zqcSG>MW2G0Vf%WA1-I#bh+5sFMkGIG_6UoR8N_u#%nTd2utlVh5rcn4fDNtjJtTu{ zD+4Huw$eahww3rpAMX=gE5heV@JGM_Xp3=FzDABBN;4 zX1lEq-`jyo+thZnE5iRMQ??rxL%cv@qQ4EsH z1|@z#lv{~E?JFZKX~y^B%3@t360eaJGZ|YcQ65>;jI^Q#KZujXcXaI!qMJXCb7%Dr zB3~5E^FVMRdeplGM6{U>{wSt1L{kokrfwgB9%0}Wgcu8QAL-FxkFbme(Z@Rn#Qk35 zboo!BgE)?!`bqSWzu!g&eiF-yOxZPR@RVspqn%*Xd^GOmE1 zcE5-VL~EM;izpIp2=He*n|={JWb-L1c;FIQuS(nugjXAv#Eb?YZqNbdysf+#bb*N* zi9)oM!)LU7qfr$|%^1X>*rKCvzd*T8RoZy1AGMWJ0arKCPA*e;wd#$vXl5xcakF1k zww05a)(m^H#C0`SnIkLlcd4q3G>96dP*^1vm-8eh3*{VH60psZ6abZKiymRn2DsR; z_xLJp5R;F#9u~2x|3~2fQW=(TBqW32rxaV%4X1}hP&0_M{R1?1cKhi5Bcf^5ZeL|& zIR;${G}xk7SlC91A1#FN4S99v>?<@jw`Wl3FJZdH{f z*(f)o%t5&kWiHAMDDzNaHcIkQR--J48ddfxTomHL3n+`wY1l5+=+pqwg+y@4PEf!whdpRI%hKyjp z!~<(U*a$&7dKECS3R9lA4-UY@iJJSA0bvoeGfPsU0Xy6el2Ou_oBes@D49bAzlrPG z=r>#oNXTSXm_} z*@0eRpT;hlNJRssqf5g0zN93jL+7x4I_lwl5ZK526x~Ik+eL|~SPz(Xi0L5a^<^Bp zuj;1*UEID>-L?YgD=X1g-pmtH0&TSQ>EK7&=y83q8WCGu~Vl+Xf(rG@v)YLWetUl8$Gp5BLWkkAspx8 zPP#4lqIJ*)4=WRmM8Mh+Fj}Ni^Id?=0mx7vCNL16z)pGw!@Ar5T9?7#%*$j>lSniZ zw1nQ%82&mQ)dp(_JR0i3oW*pU!_1Ih#eB??CzKk5Y-cXEQ&9whHuM?GLIZ^rv;!zi zmW-)jOxr@Cg0>$81aA-p*e#_bmE|S02#c?hXmLVz8RZaMox~ircS2DMKt@BhfXInf zh5CS~VgKR(Fzg#^QMa<2WA(d5C(p<8`tu=`VDO~ycZ_d;GzA<1J1alt2UkOc2-rJ* z3@XU)Scu_ufF-7g)?-B|>>Dei>F(9FmC-EsYFuSBs;{cRh|!??aCBuf!@at=GMeUI zjjW8;aj%9~Ml;>3vn!(!_v)<5Xi0pK!af7avm9gWgwDgj0B9%0hNei-V=V~*HBhbi zo2-VaSP#J}GguDmVL&@UBB$7qtD*W+?7-C}sqU8`9WAwS2R*`g9Xqjnm{#cTN<5_GSF`X$}ba&P=xESj0JhKp=bx-KsE+wx;+u~ z+rz2clDSn;Z)CAlj4h1u+d(~sRE8z?6VR^xB&Q;UxTtR!yO=tP#$0f z4{&BcHs}>e`V3SQ#}v~iq=D=T8VyIGAb=glRtkCpC8PpvDG4$tt&FDLpCTI!sDrl} z1X%#n#%n9pYl~ac1eTiAB3gH8OM=K$9K0y#ipHeK?5Z%+6b}@m*ztpJA#t} zU|^|%skm_f3?Kn(51wyngM9h5tEVA*1=L;^6m%*oXW}0m2KRsF#%L-=T60?}$x4-x zi^I0n6Ep@30d$QvAO38$uP5}PECn-sw&vN-ATkByE?&*luiy^qE8B`Z46y-ANZ45{ zPg5~K$Z6&c6VJ3|fbp=*7A2W)PYWO>(m2EZdt|6aE$<(U@$=Gk>)-O24eydxyE>A)Er}r zF_1b{%uBThNK2}}{sJ7NECZ zz#qPqp=c71f(?=>)?>*CQ*3omHpu&r2;HNk0DsmjBVN{W zn7}dt)Vh_7s!(yzZi>4P+`A%{I3>L_b<}~>uzzBNX4=hJXmX4spsCiq_Qj;V{5vKN z^q{Y71qxt-6-qSxo0XLUhG8 zl}r08lu?xhCCa0-A9KHD0+IF$y4U>pmF~4iIA1@;GYv#OA`Atw)E?pHkdfMJ0U3lK zNPC3~HGQzI(^udM;6?D5AtqC!f_Vt^${a=i%92@WMIhmt{^^&nY%G8KhN5Y*xF33G z%{{dBDHL#h(S+?|wVUX#$nDSHE3B`Q`m?Qm;W~*fsX7ZbP%+pxVu#t+0vxHZn=-Vt z1_9@Va@i1;_PgI|tm_iDbs6iq_{`c#`qOx0%mKNf9A?|y-|*)FUE(%fvu!}P zyzdnK&S&pK8Gjef0l&J)Ec+8O>m`t>uaX8A&a6E$nw~BLRZHTabBXrD40?7F=yhGt z>;4h+>`+~I?5pApaES&&+(6x=2D01+vi{gW-B1?BUS-eI-&?xG_dz{)OAmfSylF1u zufq5!f!0j7>C8ViofXPtv`&h*%q4D9-Ij4RUB3u(Syl6fIZE0O>32R|#y<+9wM3r~ zgDlK4{@7<`D1-Yv6z`Ku+@>Xs=61~_KAX$& z9EoTXOj9jkbn6_1OiY?fgRDUHRdTbcU)b+8>$X}|mpR^J-H1|ro30);DxAm|}IQZ-Dt9Lsk>IB7LtBNo79 ziX!=olv-cts7$T*p@e*^@|xA5ns}u@%0C^p`HOctgj1_=1Yl}}rv{nBIvzz9)uza1 z&JWVC@KjRe}57K*EC^;I(vZyY*8^cS$|XwhH1(~+aUcqcGNK6da$x9chZMe$_T^mf87m3V5cIqoQ+54yfuJ}d z5KMyzQo%)ziawAcxE>b^;Y~OiLS!Pms9UKQnaGMFGJ&9NZ?49Ms9}HO)4n3Cu+h;F z!V`F0E?HqPN7T$vJ^00tD2Q0IgX}umb71hiWGpJjG_^Xch`ooG;6=;w`ytU{;Q+_;k+@V{LENEQK>}$b=n(J0^m=fE1PHGBFgD9`<8Z0{H(22ur1wX; zpGqAs-@xk>V@tBpe4ZVItl_?7SGWVG7RXqJpVxyhZCGI8xG1{`cNEBC5vBzNvVMK< zwTj}(h(TG}9ET05uF+Ij%!L4uzAKQ8P`_@WEV&>x8e(6J!-?LfXp%oI#-|)5&gF=; ze!{UYP>~;jMZDv+86R$dPJgssFGRLg5WScsIRLh}RA#|+=hZ@Aw3r?)l*Os3{J9Tq zX)3KPl->L3pmi}vB~zm5P+QXH;x}5%PGSj5DXhc!fCp&{xF`ZEAfhA#|Dfce(U>_X zEYTreR?^bFsrfXz2+}tTRK_TDqfNnRc8RXUtp)H9@qs|Ou(V~5`DB2#7jFA(1i9ct z>a~nmB$}n8!kPUF5UtJZS-_qoJYDn!lt(y73~x^|WtnW|=ukXX=_)NqqX4}2^kP}J z%7iMZ;#JYqK0puR(b6_K;v#K$i|`71gb_*NHZTil)`~{^V1)uUs~!T+JlcZWGOm&_ zqH)QKvKR>Z4GK zMP(nn3-HwHrPex37e*9VXZY*%2^UA}(1=e}R=4^(>RHUP1@2LAe!6qD;JtQ=;_Xzq?Gz>2!3#~*$?cdS2p}0*C9!Vwr)hP$P%l&eH>S3I ztk&ErVCA3Y_OGT^@FLTHGG&b5znC(ZOgv@K#($hKL>&G+W1uQMWxPJ*O<973tWX^+ z_pn5Nz)-4S+})Ql@wpQs$UikYZ8OgA{BD zPT~q!6hLn*nb1FE86+M@G$2(x$y5g`6X*<->_bqSW3?rDiO!*7a}e*U5t(|83Xgbk zW9sXiJOa!iO~l5e>fpBFmWb%;`vhcEu;Edn7t`YqYGdR85@7h## zasldd7Q{R*Q(#iQ-$-_nTVJKj#6C47QR`S{>+SAx-#&iXCNeM$(LI3N#9pvmJ48WvI zI-yi{7AbUNsf+<`fzUYn!C9cXve7Yce%J+81FRLBUTBE`1z3Hu#aN9PzHG`;!hMR! zp_keKL(4OyL6n?)!gaA~i3ACK37&+fql0&S^a6(t9N5h`dd60@A0uc|sgo73%7>eh z$|gP^yAB+X&hu_8+|==I0yL(HYP>Xk{!T8fv0+ zgYKi;%2-;|to0~T8B32^wH|>JA(LodGg-e|klz4Q#51rqn7BcJIW2L66@rY!4Hh8k zFc|uqrdSB1^P0*E_@h|D;`I$!YB1rLJELLuify(iBB}h87Z?(i5dUZ1_}`d|lh_t3 z3Bc0&U!8|~m$E;@$Zm=-|DUHM^UqTPTZD0?-9!EmQt6KlU+kdwkee(OQQHXLPgDyqvdf67{}ulFpkG9U>uKIz&KdD^caVe z0Q6j8$qE#a;2CC<1kW&=BzT6|B*8NQ+-ROL8PySH8Z6-3>AZTDm@!O`hYCH3nu$Vx zW}@00qnW5S$7m)B)S6e#L=o>%)M%oX($QvEMf;y~lm~M(^*@|GOoo=nJe~Ai3z?Bt zk1wMZM&< zn?eD%#ltVrtrfC+UKv`4VaT#0!q=b{_uAQ2A(%kI3BqkfMSOZJ~NtLUI`Lk*KH7bpwbFKa~r>!)Ra`R%+RHjit*|1e{Bj^1dGDiVd-}RQah-P#}ANd?6wtio^RfuNJ!G1DVPjKqp zW8Ji@$;?Do7oH{i=sIUfop9UlY*?i&>8i8kdBH@x z$cz5;Y?&!USLf$*n^CwwZinfg!pO!h8EIXgqe z(!@Nfj;i_$<`+@5q-MOC%nYgQF!}5SkI=#r^}Ogw=f+gASWh>{l+MRaZ=@R2r!h6h zT0f!MXV;({0sjr4>+~ze@EksA^-B7JZ2M%gSjFQC2lQ3F~cbu+G)y|r^Ij&6I zoIuJ8Woi_|TEDq!ghBUhuC9t{#uZ3tNboJzOCvFOAxK|`*N5t#G*>r^<}|#8nt*|S z(L&vyloXx>2ga(IRu3L-A`kxHyfqx43F>DsY5CdLcU0Fr(_W>|p0mKMcZ;PI7~Y@A zEO*U4hQ`NPoCt*ULsr@SEmfPUI{cK=0bvIsRRI>JLf`<7s!jxtX9wU5q(H-pNmPZ2 zt*gRQJyun{U>t81RdiJ=QPpSbC_^{Fu&uhpOX_WE8@{(s}QY z!6}?l?dKFUQ3AV3MFBD=R6{tjBLIt^$%Q4YtC!qydv{0_jrvk%T*oF_1dZwCb*_;)oEe@-O^Td8 zDdMLP2Hjg8i@xmxPctC36hwmTs8M^>UF_xlno;LIZhrve92e5#xn+hcHD+}4orIj| zSqtgL4r+i4P7bAAtm@Lw9aLHpU~M|8=-vuYuKol3(yE87E_wsltH!ELIhYpbm2C1?C=mL0k%moJ1RXsxr}qe(I@W zJgvRdac-m8^yO8mh^l(242-1Qnon`>4}2SnX8Xj6%d$x@p^7a5324OIP+)&G`MCzN%O1&knv$k688w z`o6DfC7-{Gz8|DYYsLl@hA&{P{IlfuEtWa6AP zSp6CtRfF!Dc}<85%MR4S{IRK^=0iLBhp9>;dS~_7>Za73Wp9FH8b{N0yhq<4KnD6b z^&)jqy#-T_F*B#a7%OGtu?g+&stT;bi79RzY0UC9nTIuRwsX$ASiNY9)11P~RKO_w zVOm#qD7`Ho-*~saCce*|u47djg?YdFDizJ%FO%^(=}^GaEA{beLwIO}nlK(YK?r8&vm%M!e<*)lGi0kyhTIO2uLN{03EC^!j+c z|3^U}+Zf>L@p}J{;_Da3Q^k$yUT(5vhzZN*W@HuZyHWK?G{_rX8Y&piT>WG3Q@5q} zyj#3_Ydl?Zle#atrOHGj_uQ;{fGp) zU!Ah(CU~<7K@0XQ5>rHvOj0MpI87@tTGIPdR13$xU40@vBJ%JWCnAm4&#Chr>TX8H zkaK}n{}dIbeRrq}67ZfiMfCwjo|vLY)LjPxfW~rd3M>V(+IxeBOjVh3_jAsLQ`M^? zvOGl?>@-BR&mgjTJQSLc>n79!P_MTdTLE<%iN~?p+XtCcSi*I;Ww@ znis4Auh4+|#@Su$ySlMKgOjs;wx3qtrLyUyyVaax&iR6N$8NWdK7bUJ<)W~Y&qOU~ zc9SC0)kDIdh0~#14B9hY6{Z5!?iVJd-J^nHYtBhwHI^g;>XlpZ*thTVgia!j^yjl>C(s5Gh#C3&x2r}N+-+%Sz@ZT zTmY_n^#w@w1@mA7AD%`f>j3HIy(&8d`^R32=z}&3%qO7k+c~YDP$5yP8eR6JO68`m ze^S?Y>PfJ$7)hxM)FP;Kz}eT%hN(ojyNy-%r) zP>C%!s~n1~fnxzoXzSzar@3{?U#NP?eM{;5g{mb+kJhtk;X>7@{<>$XIWwaLmJ<;n z?ilKjP$`O4O0}>bqXP?}J8BL3^k-nqzvf)?3^cU-;Tbx#2(su^%3BP(?n&yjSe;w{ zgQeVXs9Vr>uk2iOfu#x?9Ypd%U4!-{dU>&`|M%lMx>$W^UeFEOoM_i-l_%#cPC_)? z%^F0vSgI~dysm|Ucb2LPa!$d>&r>R*w34(Vw3uH}vB3sxtdQ ztw}a8CBeYN-wm=dGL$+jQ{{h;uL;Z4Yt7az?&@Y+up}<`ty$dFjc&T+{ZbO)JV#eA zS2sYo{IFcj5o{l%ZiVUkvg6u5+Ns^;sG-3Nbxa-M6MGdQ-d-*qqcJbkW`zzOA01m$ zX1xg0=U6xa=IWZrtWp&&7dCZyz1eb=N>!`W2dR&JwHiD9 z?7AfZ8nRJU(DawpDp2}>S1`Zp>6Tai33D4?0k72}^5UkYRctcQva_6oA#e4jK zYudL))lKlj73)+%PCKTBY7xUuTM%feTqjCW?a!A`zqN3F?xCq`Rd0#g_t!!uTtq*w zRZZf8Py0WbuecpZrK#)Ga&a1UTdyV^i^*$oapAwzW^pln`!6VoF4XHaG(LnbdQCO) zYynR&#%%#D7-4BFdQCmf@IyYdq6r&R8~Md}TDd{BJnnD#FbTa$msIcd8r#9^Fm5~O z4%v2iT`lDfJ?5!Lo!(F*#VDHd2J~wsz4(S&l-0$Z+}gOm{!R6keC#Xgvr!!YIdy(Z zX%9}%-`#JiUT`cvcuQ4S^Vx>YQa&nv^PQ6x1=jJsZQA+JjVoP*YT!V)6vt; z>P_l$;ZCrQFeOjN!p*9ewRV|Sr)gWEPHV}5E?d-i&usEoJU(=2e{CP`*rMjw9(vQ= zW*V)3M|DG&fp=>h8r{4{pfxa@Opm;)8j9Cw-MesX7f{Mp)s7qNwiN>#NMp9DnB4Q6 zGjpptPpH%EIdu3vbv&MAQ5cFo`R4V;WwMbZ} z=X|Hyr`aFE| z)!@IRyvFZWbN+tzkN;jh;3^j^qhMBcey>jZ2O=KwgX=t$AAlCA`=jd8=kA$MEhbcp zpEtl2V?9+wW{a4KG^v4>_)nmC)>-R}t6j+N*eu2LGg{B_?4s@g(GCvfT{2 zIxb#%q(*1_tjat=`WLW2_Op73+w1&`nhr7c_Ae?&z4LoDtvaY0Q1~FSaNURW2yY(52+s3p5H-&1$4tvRiBEvcai1`zCJ(Ce9}H5@xJY+8 zC}XOC^8J@#oTM;)RA3tIlbfoUwoWy{%>Rrv>~^$27w**b!^)sS%lOwnjN*68&|+Or z4Q6e)1zPmk*;H&ArPMiKXz!^SD7Hn$4`KnEB}YFGipt34bZMq>e&I4l6L@;ujef?v1-;Ls zZ!(RW8N$(7MhkHTJ)C7MOkT;NA$5(ygsdA^*O&tB|9f4dKYueI8{Z718?%j56IHfl z8&7w9WVv>9LP$zrM`zY@?dXK!qWHe$8XnG5X8UBScZ=%@v?|BggtncjxyD$YhTrpy zGP4VgK^Q|7`NqX~@?gGE*leq#o$j=FlN;SJrNx_E=iQ>oRkS1<^C8d}zPZ-$F2scVr@EPr-r zc#+YxG$8_$%z$HE(sM;d%;Jf%bN&p6DmL0Ah1G_prrEq5K=CO{i;9im63!rkSA|l1 z;WVpnTrb5Eda|L>Sgdq5H8d6|(bBo533BVjN}Au)xDapCni)+{v~OlCDjv;=r5pS) z#F{RS$|iE7AC3c{WEscCsIoir- zKzFw^3IOK9mPRE$&TeIV;l3FvmO7^#XDsJ2q_)vx7}Ev^&n=}{ZHz)R@?smK7)@?# zW1NN$%iCh~OKE6Zbl#HMwliXQcSbwBTS`mY=?~s&r$6|HAGV|u+Z&BgRJI2wOK4(y z{rRHyy5<}0jedBS-N9%kmN?xy7}p3u^HN7+9hX(d8&`|^8bOFzcVk4Axd`gb2x`R$ zieWkJ6#BKo=uT&MHbQ7@RA-~mN`C%!XCsW~A9n@{Thf_bj4NCmHlTf7jLQnJBP^DR zlqoh85%WQMS#uxe3~8qQ==!e4D17sIS5Rw9D#fxGM%mY9*qw`P;}XW%yWKR-I-Ure zwWJG9H2R=ea-tse`&=xgUr#hz;bBF0pkO8S>uy|#Bcd>x-B_(GEwm4zD z)!pci`uRP8mX*}A2iSipZRufr3YJ;c(>T}tdNZfy^4D8AI4SK7Fn5`(%6n-{_wA)g zdwef|0P5^z+<+$Q_ttRr?X72FY;Q=Cr8KuUD7c-orMGb@$C$hHL*$_q4ew`Mj=RnJ z&iTHdafL*@`MiO~nMT>Ok7&&-<8t6BSL=En;9Tz(a^S&7XwON;*s=|C<6Bj(JOPc+SWefin%oDWaG=U@ky;5ob6nHih-1qvGl>IAosC!)@eo$6mw6*l#C@i z&l)YpIu%2WR3RtLrQ=UGPG-4s&*{eK@L0}3Iz7xQtgp|d)H8scvDEMkqZQXY;|yc; ze{DG5p8*1bdoT^b^k0SPTz{r9Ad!vXY&y$$o56hK987r^+H#Ijzv2Nsr z)fZTE!~@sZI>gVuSx?2oj1E|CJbjpPD@E>0wP@)%fo7tglXkALR*3Ux&bfh&;R;?h zc7xB6YiZ#K@X&Si%Lt>n|9Z4yb@b8F5rNLsoPUHrBZ{qvi=LSYn^n4?wb*b)4e;&CJXQEiVG0$r+#op%QMe!bCx0;TJ zM{c5X&NrMeg5nlTdVRv1pn5kLO-$rLbo4phM;d$m18#=hz59#!V($Lm;}@Hc#4mO~ zfpgh-op+Y^>H%O;Kbf~DeldBWTPM>hU%ZzI~mFkZW z&E-8K{8d0Nq~S|AbLdfk^x|J)837qroHiRrOWEZ{E)BUHz>mG$Xwt~Ux_`L{vDJ$O z1>D$aUb3m19?(QZ+DV#!Id%l`!FM(I6;~Kt(=c_slrOoKPf+J8j4r8g^t{gW>OsX- zMlc2s)8fQBY+iChqZRJD&C&H9Mx76?z*%e7#>e=9Mz7OqtdXO_Q$KUD&kGN4(rH(D zgu44G2&;Zh=xXCNCe*Fh7=I+xMb~OVJ#?+nTwG6$uQNt8^$016FpXM-2|!)Kq!+F; zuKW`<8vhA3o_js0u{O4nsIlh_#^r(kYt;Dvvog5+zsbrW9Nju0&ixad8}2n`OYs7& znq`zby=NLfL&`c`$aq+G8xKWj+J#^>=+h{ehV9={->g;f6(Tnjao?)=3Q^qt^=`HO zTkw#vOx)sZe#m&RCSmI4S#TJ1j}>eie>cnU3zIvORP?fO9gTg&DEEwRx6_2t?Ps>GL5uE^{W$ zHyTQ@iJp1N_^H)8q(J;tK2WWQVZt|{msT3h=(nehj8KgavFvp!TxjGT!!LAtE;ORS zx~`{pIv|ITcSiw7?}in|Rez6=kYij4%#C-9>nxb{7(I<&VPw-Q^Nsd2;05DWZ{k_y zuwND@Q@aq@bv^b{DN_<7)n>ZSmW*eHwe!e`VuTyH&mMoACGqn#j{6nLsM45 zy=X)GRvI^Zz$M7pW13pP#mV`BRT%0}3cYM>_#beEllF@7TP+?epyR8Jyi}LKfx^vn zj|gPZu33gj*H*ivp$Q25T0nz_1WbCd+GuyobgYDMhHyXV~uNo%t!lTGI$d1R`OWhJ#Yh&>*&pls? zw+vu$k1ZY7qKe7LSo-uW*vSj1Vv`H#uubqp2GYb$#?eF+WAfWZsTX5VwPOrkP&Ym^ zI;gvfK6=~GsUo8{8|On1Zr*Hk@EUU>TZ|1dn6NDO|4ys-8||ogkF+Sd)p#FiDXUGa za1Z{#c#3-LGFs5A_l-+vcLSs#pZ~tGJ^tRo`+p-0kW@MPyIZ*qU19r8YX1@Zvoc!y zkPWaxt}kdsmf48<>^80nCXDD=E*4gNVq9qi z6NdD>JsJXM`4`4`BsSBSZ()!w{sE(0`X%(-IlscOUPW8JH|o+xzZrkJu&zqsCF(M| zC17@QYd)1_hKhKr06P@eGr*&W)PhR4;#BW7dN5A8BPahGgmt`L2YiPRN10Q&&v-}# zJzLYB`WXXwr0%WmNdMgA2Jd@7y&Ts={v{hzMV5Ijz4kez?Tz0WDK6-P4`8xf?+rPt z*%ZoCZJmxk8LgGq0$^*wpI%2z4;k5bY9BJ@1YJWIv$gTD`_s&JRR6H?Io<`17%NR4 zaDYx|V78`m=`Wz1qsCZ`1-4!zm@%Ak;Nru_$Kf%`hP`iermj&_(_5O0;WBEGX(m6d z!ElS;jJ5URQ{TQ8KDqG$7pBKjm$-8Ogp5)~#tfJ6G^&AAMhj5bnH%K25@3vng9%r2^AVT&XVf*# zKr*a!b3OAumk%&iqiI)~nXacQJ3bYE;5cef&upIDfP)537GXUuHX9f)mLo+J-6_*4 zwZ!}|xjOfEC(VkPGlQNZW*=Rz@pEN;J#pm^RlA9|EOLQ^G*5H z2KuInsUynX$5Z}(MS?zPYId=1dmW=JNQ{zC65uGE8^q?kPv`PxW*6}fAiP;-zAPrt z>Xv4fpBJTlks&m%x!D;h8=o~dPZf_)hZd&Z2NK8N6D`aW5t!TC!qiI+9>_&>?j+Ns zq2*>?^TgaF3|j~%Y`fPBnyuocr?F{vxmhGGp_S!kDYExIFE@`z-z61hUlgM&%#-l0 zWh*4=sMw((H&L zyOsH{JGQ2@qZQ7$s3DQuYJbh?CLiHe594}ac0x)2=%o4h%z1i0@Jm}N*W)loM)WPh` z-}moe@(!CTJD5Y$?|ZWv>9OdV<1O}mw7r9QW#%IoPg}{S13_ytOJnW-+>U0kHxHg? z5T6InGlqLvi;qca9%=b#|M@tt1*V=~J1p^aUES%|HpZW5Wn{YZTo>~LC8y7!J5Mwl z%BA`qHZb(aenR*9= zMqhZ4S&z~Of*F7AWmf!yBssCSS&`IKBYLzq!1HFJrm63Gn>WaxcG4w%Ouh4Az&R$n z_v`zZL;g#&VE5HL`CwmjO2K3iO?N}TSSVO35!;mPd&BD+LY@1W$AL}9_A@U+@nJvc zs{5%$f9U5S)VDu~cnFQ_Z_dTT>;dMPh-Qx&VCIQu>COS>aSVR-0P{D!yt;azE2liv zkgVQGPYyEm){A!snMmi>jXUZ4!R{R3E2KX#71pIIPBQcPAS1m< zIBf{j3Z%nQuCSJ;qJT!9Y8HjNAy-=BG~!r5Js z2ZW{|v4X*rF$<`A zxEZ8R&o^8CgYc>tiJpPzvqqX-83VINY8!9kNOPK}@toloU^hhT$=LU;e|80Y1QSW` zCdDOkY?$uKEKO*9uY zh))V0@SLQ`uI{V^V$chT&H0#NA|2)&C{62`og_l}K_@~JhTxLD!40*u3 z%M^2+-LuUHMb*DPhj2Qe^ns86Ti5IGTTdMS*FXFvWG zm?z_h(VRYW&2F;einmy7`A~O%s`fQ-wGOK%b5`)LNb&OuJ~|}^)yhkzIGLm^$SQ!t zL7nxFn|p-BDWOZAKwb~ZEl-#Y#3JYCC!iVmzF@vt4~Z?E=9`ZSQ9&OqFrSe#KXdMQ z%B*jQcWKcgv$c4~`E-%_q(sg@MH4H_nZ4A!K{Wa+^t`kODE!r@QMmtU>inGfrCj%h z)987#zZ6fc&AWSF}^GdJX$v3XC~>JOb}a=-xH((wEXZ zYs_~U$oXqc9MtjXXS8D7pAl7Oy?I|q*V84N2L;1fS{{|lQBFg&~ zrrUOB<+m_5>TMTV==TU;#$^`HFTwE$SMvb{LtzECq7(O->&13T*>7HhhHu#q;~xWj z_S+1{_3_i)hh7 z3}Z39f6)8@?-m~dX|q@k;!EbR=Ra!td z-7#Pl#M`XKqBpDwy}5}Gz~CU3h%BP90jmufTM)27dbBxURpD-M3huVkwJ8=))!Y=T z1&YlnR=L=|BGuX^@NRq1Dgk1S1g(p3cYcWPoQWapR=jiqY1TJ#oE0%^4fKR_T?6ZKAs_zC`KqDSLvdnT z6YE{hDnnV%so%^RB%nR6ECWj4aUL(Tc6smUu@=@s=i&C&iZBf*x2DUVKBiseR=@0@ zKGx}Gyx}<%^XYTi?4zGi*9xoB8Pe0LV_ME$XqH@BJ-}*CGy7TEQG|(5PW$>`D6PL0rLRx2QsNd$Ir5OKnCI>S(#EuZprwN{`r8(RfRHXUY!H5& zIqnmqiDG(ikkurqP5mG%#r}+Y$&2(PHP~v+BkVBPdN9$I8e&B~qI#qR5irX8`EAM0!nX3-wd%%Dw_ILtxcvAzS7pBHo=bWrL#`b9XUUrWSu8q z@}6;uRfLY6Yfk|i!mb{3nw1xI9Vo#+U>Ru-ivv?P816Gib7En3o%DGL?N77LLJRku zX5Cx!>#WIPi@yp9Lwh7Cl7GDPG;vMECo?QrC2vm05j{qg!Y_H!6GP$By#5t!7z!fr z%+uzlTO&CfG~;wjD?)8{?mpeRIuqet*QC;?b?g`R$6wK?Gc29CKkE#Lpw+bD4C`gF zh9;e95sKoothyr^ryxXYk2xL~+c?x}NX5ggqJA}c ze(6y}J-pLgtN8|pLTl%5m6rioGaJX6Oqw*@YLM_oo*iz*kk6}6O8aWKH4MqTeMVTr zg@;jZ%_WXez2*Xp{_8yJ0v=fN^PwqTp)=37MkbnEf4|w7MNX3cm0h!4YqPvmtnHpeOmz(pq!#7w-A4k=6?N?R`WSxb%aKi>KjSfYJ*s zj!&L+p;dvq+b*=)i;>Q%3!zB7-FN!%it#h)>x-<`2(3gfwwfHvT|et$Ybv+D_hRcj z@6!-d6Fxm-l+_uZJ}}Cv#B{1k>$21?+MUOqmB{tQp-lX2($`uby9Zaq&uiMTmqv`X7RFxqDye>a)s4PQ zsvn@1qpi%A@slBrexFo5o=QCB=j7^cm)m}FB4 zkF(Af;#OzXRaPHCkB;Go^uZYG4Lo~ntaY;>^BRkTF^^sYNOu^WHBBOAvS@W%gI_P#fMI_hpg-P)VU{SL-^yl6H~ ztZd{=xYK%D(5^Y!R?$t5zr)Jl!~KT9GQhch^_+X=TJwcd_ZF)i8m0laSzp6;=rF;; z(QIv;!4s`FRbchotFik8KQ~bS4h$&{BN{?_lk>$Lm{h3L!FO71>EvmEQommZOSkP^ z)_OMej^1qzG{iEe-+k6iz|su>Ci$en;Wubtp1Z+Xhz$k9ZnVA-yPWPfS=+hU;wo!u z#xAfv#C0SOYd(DRN2EWks8iWfn#raKAc6SF3gEK%D&=pm=bs>=UKKF;PN;)F5NT-L%I#0XXyZ!{%-tID@ZRr zZlzN63F}gXx`sb#xuLG>pR^j##wRSDYWL^576qQP+|7QdY5#+A-}WS6y=61y&Br(a zGX%mp3~u#&%ZsPs*J+;yEdT1P(kQmT%9bxoq>c-$R&xK_blCz|n(DN!2v@syz7?WP z3#`F?Y6Rr5rJt{ak0Jd}M9W1_SvqLr_41T_XCke9+G^v;v`?OaLB8)P7bRY;LOOM! zb)}s28@;j6Dl$iP!%q;??@wCp*0Y_@Kn(u*lTpuDV|COJ@2_cCGlbTE2xcW|Wx9Tm zb=*HpElwcHqMeJZDG9p3{1)(T(H`u4?pkc=g&J=*3#i)?*jn&FZ(3sM#ToBSls;Z! z_0_u=n=XY$^T-U%;pFz;Xx&n4pdM;!4Z*a0)}17;jRKnataX_lC0=Dx-g8#Pe;z!l zwYzufb5?`EkH1#qu&=0(&MCpsN}Hdv^s?lq&w-+T{FRzMZ*{EN46XQw>`yItA#Pd7 zx+{aVPX{_QQHOh6!5bIQFO1iro}jlMBmQ{&t?pypWL&Vmb9>U~;rPSdw{b;UG7Ser z1eRINTf8tO>C5<0hx;B#`ck<7uDVly_|mJ^YWd-A9B#_G=HoolQng*-x=m%D4oB|vc&;r+M?&zAV05rItv%>0LmIMf=3%b9% zi4j?ePS}UlohWDX8tW3HP{+aH%(E#JRV7By=3qDsb3Ac|zGnSmbgt%rxPAbJir=_- zu1on%zWcEqzj5E_W^p7G8kxG$+G*C;t$I;-{T5q9xYI%e^s#5puAWWP-oa`9cPV=I z9ji_DQLJwByz)tzS|!6wn53NSZPwF59CcQ2w=$&om9~BaFZ(yj-(l^Q3*IL4W2-#3 zddpfL@AN<*;dT7vI3JIq#@W@=ssG17+MMk)>SL=YXZlRcnp>+ae(Kw;H2p!E{V|lm zgx>yFcP7u-j>ab+daj9%l~lgv9TpzFX?vz2Tk(F~_~z?dNwG$rAUMdGWgg zkw!k6z6&lFfWbif$ca;VaGje@oO+CLxesfN>+xwkE?dr-PIGs|YC!qnZtDp-Zxh|} z3G9R4=*>^81%6HClP5aYe+s)sZhVU#{>*A^ef}0F5zu>|S!c-uZ&9nyt>%S;&cWaKr2Pe8I&jIN$#AsVbMV zKVTV#Q1B_BoK*Rx^#bg#j{mmir_J1`x5sIBCAco=%TL? zglJA5e2t(^nKSeo*ewae|A}v1#q!~|)-nw2_F1chy6@N3&a3;uEUou|1KY|yU~A6T*vggn>qnb$iJLtN$sfDpZP*9#3OKI& zqqQ7X)tf(Bg-uT6j>gLpGxC{;w1rFbs=%My*;5*Tf0yFlWWK4U$N?*#t&Xw-R!7mp zx#)m3Q)G;P9Y$eRggZc2;OI`2_OsOzXD4_4+4|IlwBbPnrsRYTbk`xPsL{OFT&lOX zdKas_iv$0Pznc0QZ8>Chu5da3V0?7nu<-f@mE8f`$jCd2F?Pc-F5mD@V5F#YIc%K} zI>7B6=9u=Z4K(?%^#iQW8;)2LgxI#?R|`ifu3FyKf3B1hz95qR8Hg`8Q~nA}%h}5R zsgko^ce?uhbCl>zpQQS~VeS2P(0>I2M_ohyCsmy;?nK)MZiPnGsTKP8m(+;=mSed@ zvm^e~tT}Ulrfh1Fk2ITT9ltgSwD0~%bAJ&nX@i3sAE@K+C0ER$PwMzPa-T&R{uW{< z_0RBcEvPYZwsHDR@`O=hWIt`q7+PTS?!YQ?r%y%{dg#@t?=Ajmh!ff#A%M9RCA2 z-1EL%|2TMb>G}RV>(klZKpWEd*8Tv_jk%Rh&-3>Oy*-iVKMuwAJpUlMQxCKW-Q3)- zGubpUuFUtJAg-im^Znhd9~onrj4?RE1^!I#R>x?17WljJUen11em4ZdXQ<*~k@G`= zeKN0IlPV=aL8JC~N{J9cN@{tDq(cX4i z{GMDBA2QCbYUp3U03u+Q>9lI(VV!HxY5v=w(vW50Gdc%;sojs2O*69CQ^P5oC% zM#Ye_*pYr}=%0jlw{-H~nBy)wUklpBDibf*+Xr#zeGAGu-oL6jJGVI6j1_BI zTRB0XbnB1jOTev#vHmpDo_;;vpOYY%CMWn$ZTZ)gA-dDSCa^&Qu|PBgS+7^NU1D2v zf`5RVyn*U;_Gck5*r>Drxct9vimvSJ@5}4ouXgsIa4cDn*2RCOxRXY8@#`}WXLs@U z5hu{UyZEcyO}?Au+Ckw8a@Ibs91mzQj*~Fj%3M6eNL?Wg@wOu@@B=7QRIc-LSHBeD zYV6?EdF9GphsDNj{^NRWh(F>pHrcSJ6?SV;T3LwFrn=yd4eU&O(TfA{oX9zs^r z(3Ac3#02M>ll_|%ZhH>pTe@&4W_==kJJjD8cdwk`FG8{74FCC-&R0*onRBLo^U9h2 z96EHm|Bkv7bOwk8XCy10KtBOtvG0cZ8`WxO^50jiX;w#?kDlqD#>Ara^do2a?}eez z@@)TA9(&TFv;8@(rtA5EWx;y(0H!HEKL}y6p5;vxsqQ1S^~(1kSuj}6OOhbKGxNBYmjw9()T!RnoyNf-JL8CXK0 zTQ2d(SwbgC!_6<+7S&#_YnzaEc( zR(CT(w~qGT#^dl`>Yt^TEuOs8WeJU=Z!h(CQOGT&^2=&JEu?!d^S3`{XdeCE2h=0@ z$4(nO!f_}b(35tBJ82La-lRcj=(*xOKG;uyblq0`^+OLx!yoje%f z^ts$WKnREE3Qa6c$M`>lWHZP5+b6-4VLvI{#C78;`JxXHOhL zpcLcO*--z7y*Ce!qS*e2rza%S>FK~EVPBKTzDW1<%=8R<*b!tC6qK!J1C%u^qM`|c zf(i->7N{U90`A~8sHmWzsGy+Wii%#m7k5xpRIdI$r@JfD86)cbKF|BtI}f3{s?MqP z)Y+=Ky7c6)sScNWJ}~j0`$cNN0;<0s)t1nhUA4e7 za_nZb5?=?yF{}nXEAX4KuxFb^#lF(tf1z}IhImu4i@xov7Q0H<9W`NLbEb*2^ud=h zG#m%*GUaN|)ZR;8#`KgFVcuH113q(3e7vp}i;8iIt+-L?my1w#L-U)heem*JsfASf z4&kakSYTH}eV{`n3qfKS@*xX7R}<%YbCIXFP|JqCpP)Mcy2Z7gLzwViuf;??&n{Z* zY3g}?A%*ohYyD z`7PjMAWLE}7Bnrdc_yVEbAwWG4g(v|I80-!@%69sJO=^$&UKz~b>V{zt@lXT?sr~h zJ@56X)U`SHdLDA$|1xX7(K8J_yJe&2AZ_oZCO_^Om{w4pdBSrArG}sMG!SIE>9jAt z9FD7bzhGlip6R}nnc^+Xm%AKCNtuVbp8(ernrpz7=d7K0?kdQ&=rI5o8?8HRvVPEd_H0-_^ zM?-O%D#sx)HoHr&A!PEMd$)3e3}m*E~JZo?sr@FUzpXEkWEPK zD@=D58F?3%NOlJ10YeQ<7FBi>HoH3ur%?mya6Lwi!}4}L;4X#^(%SWi8{f;qRHLdq ze7UZTtK32~Q!=}T?@b?}UK0_Re7hJm(ucUvq7JSJ_=X=Ejk~k(!DoD3wu38Xwb~v_ zx;h9SNUkIiN=Bn;Jbt$3l3HAjCc6x@7&a+#@D*nhVYAx}&JNz5XK7qClu*=j=KA8) z1RtKe&n(F?hqCmP*#=4%k)Dljfx@4{Zz!?s=^W?ieGLOUho~2$R&EYkPDdBMaYyzs zCfDUfzq4>Q)8#>j5oEz>Ay9AOAHjzM@hM1iW-(Va$?cU_Ia#w1~jb$MUM3Jmu`BBmF%+e7V!EBd^Lj-GFskK}BPx z;U+StdZAs_4ovP1^h^ZS$#pe7;+u2eDfG2Ni+PvR2YRsXN;iR=Wy{}o4<5bN<7zx| z{#VKLmgBo%w4#YEnloup-rXjw#eXV?>;Xz_0}f!3E^a&rA~6mN(RCitEWYY#r#d^= zCTov?(9kzG`yf?gt`b40{0ee8#qJ$eJM19;LJ(zR0f z+$Uy^0L<(@dpv;wI5dl|!&7z^edn0g32u_IR}7x$%hT484H3DRCqkyXd#U;M=j@5> zeC&lio|g6gEc5q0o^HcseErf!DiJOz#dmj!cJMV#w2;1B3Ua0|m*R8};*Clq`e++c zp>mn+Dx#*Kr8uD=<2$a@RCd!Va7n=T_TVd?#`wTfX3KDjADu#RmY`UVsm~*h=fZ_@ zB-8V34rsP&W4HTqXDE-Mt7D1aV$fO-aO9Whm5NiSdSA-#;3-Iov z*RrvSH^BK5Th*Fg{=;N+mI$W^-Mb2jW%Pu+67cvf`@+l@oXU@4FkTx+n~Xr-rF zh1nc5)k;sVENXEDWH2?ER0Z=zH^9~8$`|g)BdhLTuX-Ad#i9ox=RQa)>=Ld$c4HH+ugP@HMNv4w4^qNx|(@OTBk<;5X_K#t|fce?R0)*#ku z9QlO@JSyI<>2tt?m(x?T4tRE_Rq5_;d3u|+(Y0@R%oid}v+0$$Jn7e28y@rw;Xc7|BuHhIb{pIAuBU#@GN&Q8>DC{zTJW0+c~|Y53VH4JO@(IdxTz3b9Zj`6 z-y%Nwo+telvHZU02=~3ZZQtuJ@52=Zq(?sROsaI*G(GGocJzP z-8I}#{K{tjgs)~kR4NwU+FK-}Iko9C&)q_fweimKhl?$kFH6j2SN_LS+w^%99rM&? zoB!jX(~9in|9H;lsix&_o{*S!%oFBs*)9{r#_Z|;nEvwAp<|w5ZXup(^`++{3Uj_8 z?{AD<`>p3|p`6V=?m3=w7{^pg8?f=c#SSTU!n4Djv*|I|v-QoktlA=4&iQ30;nRQq zvDAr^p5=n?cDSE9xYpw&dB40-rSE;fR{V$xtlp8&GIj4yu>XZPd+ry{`#IL3PpgL4 zeuXpS%ttj-m;cw(OTY_w&;91{^OJJsx(BJ-C*{m(#Ywrm-#ts*IK#NbE4E=fe)pIM zQ{VU{mQ%bj!zi_4wFF4SS8&7-=U#b24vPt5 zb2?pkogj8XBX$Ym-)KbC+`*XV7SG0cy-jZM3tW19bC&q6uqJhN4Y3y9fquMlOsSnU z*p6(`+|t;WEgJ4ak257lYy{JHP>%SEASdZ%K~`6Az}3bJ*=9@jRh>s$3Fr1Z*99#4DPoP>y;L*I8{@EYJCZZjWeS zk=XiSVlB2$7JmRyyqG6;6@=TFP)lTRkglmEo-5qM{!>eg2EntHS#8UTvUrntj5St2g3UzCtI7q7CPXBwDr?%K0I}m}|;wmEP z1w%!J{aRZzuOO~hN2D_{sor(Oo`NulEv_pb$I6;lPwc=KDyM{u{f8IoiM0Q4s-CC< zp>2I}KpS%u@rjW7rF%iq7_NpiTq1-aECzWIW=#2dV%vmlh=dP&V0k_ zq=w?<*ys5df=pg>Nh9%n&eE*HI=aq$`RdHZqPb&ssIfV)HJXUbed07*+eFlaUF<*; zu{MrG{=12&=GgCS+w@$h!Cb)I{iS$`+GPAMKqmTdMM6=HPFS9hb*4YSbQP}`O6{c% zT5rl$H5D7Ve}9ZU+Em;o%wm@`6YtCY;V@B^jEi4(4iy_(WYo4+Mip#kk=e-gMPjF% ze-o>)X)3!|tVI)Q?sMKgNNmFT7K>+d5VW`>t0{;cwxt*ok1fo8C8Bw_eO?L5`-p8S z5x>sa@(O6Q3H#CwHu(Hm)(SDp`}izzp!>VWS^MUq;$HbgYFu;il%U=rl+tx3c>AK8 zC88lG?Ux2Qnb~cPXv4*jvbWDKK?S z8*!xIKK()Ja9ey?xqJyuFjd)Pb+{m_KAzre?|2>KSFNt+xU2bTs{J?GrB(2h?RXi^ zEdQu^At;JG%HM%M2AH$|UftYh${uJhHm+{B>Am)1pt|&C9mK|i)BB?hEp?&v45#O+ zcA8i0NM+Y`5L;AN*NzTi`%0<&eFyQtKU+S>&&JxnfVJ!>UXrmEQ+IY0rwDbe>pphW zuogW2$LF~5dTy~Q7G+NI5LN6ZDAq=K27aM5Qodul>8>Y|t!JNz3 zCw@`OyIugV$t$iQxA2zU!-_R=Fo~#{nplX%e2pe50DMvtOXyQ5!v^3D)Z?1Cq4Djs z4PPl$U8T31i?OsN%E@uAM@xMC91u-eXI_KXCj_Z{%f>UxPY~ zHyUsoPDuQ)a-8qg#oHV!i0lqa(>&t}Vl%?x3z>t~BO-nv@cS}2|NPLpw1zLlLp%!B zx{vkkEY5{b_u0;317SIPr?Ys2u#&~Ph@)swp6w!Ts??R{cZEELNVvPJxRQ2=_3q-u zcBaY>b{ErHbBiA0(Wdry5_qllxm5`%91i+)B%9Gw z6#4nj>Wg5jdWw&jY_3!sz;5a#_RYEvdr)I~i{?ud-rnNitW}PLn|h1ax!=7V7mJI2 z_qY4l;67q2e%2K_muUbz&_|39So%82DB1BPN35K`z1o_B8X?VK4X$OQ`hu}O@H)G$ zuh(Nh~$+KERAr;xteqvqW#ni9;AfwxMCr6ZH z9aH;YpF=mL+2=rQ zu=TJ{hC&b9e~v}Vn2sX$`#D%H51wX223pb~Elsuz6fdrsq(y?aa9Q<1L~9f`kaMf_-7yUOkqsOo zp3AlIwru-x=|Z8cUewNy1QIT3u{t+F3j5X#ZI=>i_0~i zJ_oEo944A?=bKs)?$zwz-t`5$YM8i;-g+{%Ts~Un${#hHRz90OTHVNB=YRLmC_iaQ0Z;uf;F?W4fV+x?suv!^bdDHi0Urd}fA zR{QHN72EzZpTftNigXNd{5)~H2k*i*uE6nC?16T#5Fg6M-IQNnBc4mQ4iv2xTc)Dd ziocSbFm8$1L->~6xkT)a;A1OjcAXg;Zv}T+!N*q6?0PHD3huOmkIf*}>;_TyQWXpC z5%E3Ihs1{L+b5wxF1;1Xpd(pi7tm$oHTf4ZHY{qS3KReQ#eR!KVn{WG3`f6; zYq0M3h&=$E0(1*^Loa--e=|JlH8s}OE%?=E6Uwe;$=JT73;S3!VjATHzOQ( zUTD_1P#?#8gkoI6N0;n0oyA(_s!x$yQQ_+hfj(P*pAoG`|kIP67$?A{`Zf0DdY{|y)) zUjRL?eL?JFBUs5PB$xA^Ii`Yb-6j46I=pYUIP{O%){LauyewW^gNplPABeQ#R=68p ze9c;!m=?1S>+NhP?)$`m9Vue-_lYq(GS7Yef7wN^i=8=S>f6^v9G3Ymb>V*T<>!!HhrYwY|csk`467n$QsghHz@hmCko>`VDbQP|%1 z#G8cg*qHZ0)ZeA9e_w1XpxaM;Ao?jhb{Gx-f~~>;p0-npSd&lT44L||_(j!}8;(>i z33KuGwzHeCn?DgJbJ!HH2jvmBz2sYQV?$wKszAz}TZr(wCb@Te+>gJK>d+z=*E8V& z2OZ~0;W*DlB2IZN@0g2L{>GkBa^vNDel$O&o(%^(xj}dQXdcte##*K5HXbEit&M97 zk7DZs(ak)H=k?|@RKL>pAX6Mj!VB4OnU~Uq|5dA4$+4)4v+>0%9=GaP#G_Unr+=^; zggQ?C!1k)S4cdRoK`e~JJZfPaP0Y;a8rMI|Q$4?mGwHI~NwPHwNdvLD}nv zMwnOC!6cfW?owRjf0U{P`Yg9e7Q(up=e~Mj+f(@N zM5TI%Be--9ZOID`mCt?^ch4p!^_IeziC(>>f!Xc~f!#DfYK*aZaDen<`=h%Y$IaWg z4(~GQgd1cBd6bA?7km92=|T5ryV(4Jk`bt&y|2xG z<{Kp4PKMD#gQOkMrl*}NwTC%<`?(T!fPUJ&6E3#W+PK&RH>~%~YbUq&mM*dq>lMQq zssVo@tRb212F6#FkM3sg4wjzqbeEfYOK*6ItsEk?ao@h1JwHTBTPX5SsfV4|hFv;T zGEI5Yc0o=P_T*40XlK`9?qNVo?PgtuNv2B|dOx*p-7smJ;NEjT8+D%K|J$$pr5-&` zdf6=@gXxc>eQM$X9bErtF8vo-Gx5en628%w`t2e#292seR+@;QVyx6+V%jBD z$ClnfJ2ZRcDJnDY6oXdYT`_3m;mIb$|P0DqE{!ro+b4Ygzs5! zjx@oa`o`p#Q2jf)p7@5|&MD2oN|fn{g^VvkQ2JX(&9`=N(?V<48%I+w&p}D$+rEK( z$ttbsJ4vr59{CEfTBWtD*tb^9XT^S_m{^)`#jgDtF$wN>6K}Z{E3{&_S+UwyYy-u- z;K?TBBNWRkt!u@$ms3K5qVYuf; zq68>&p5;L`96_AmSq;6dyjm~nv{Rum<(h@4<3rclc zB@Gwc-+aPuzE$dq^}GL8=~f%4Zt5x~b@gDgZ~HoFy4y}|L+;@vpba|LnKJH@zI6-m z?bc4Ie%9qaI^dZg(vJIP&lAgsqR%dUMCZlhww@E8dO53NT<&I`BG^1%M_N;Vy z4Ycv2ozf-l4x68HFc15E^;2??2$T4@f# zjo6G=q*Bu*{rD@A`9e`TtM02(#B^T|e^oNC^i5|0E1PY774)^oEVNBc(|k2$hItOy z1bzNBsUaKkn$$Yy@TX{hU21;|_R%YnXf_Nlu`z&rI3g{yxu}C~{(pQ-9p5YAO2-#d zwGT*n0{@V;bpvtbhpf4bvp-~Q%D5f-*|~2@`~ML}YQS5xJldxsZ)2rm0pIbCgv;?# zr{9r|d4zST&pwt8kTsav_K8&2eAxdfMw{%p?Vn*t+I%Lhpln3oE!bF*+W&89Z4LM( zrhO@0NKmhSDQ%>%>?`R@_u-e=_^+i_HEpgA_W^PB)XJ}=p+a5LOc5HT_K%>7e*=ChEkI0*t(@yU3wB|m%hq_nKcm9^0yq;Y(d zt?NN5=Y>~p&kK48`*c71>IccZ9^~pDrOG>9Q&;{(%k|#Wx2L3i#0FEacz-18?TORU zbeIq={wqCQ1Ftq55xh;a+`qe@%=Y#XgbMa*j#puGbG-R@UILM7B~d`8EP}ySu-xN) z1F;FB_g-K#Pp-FFy$Woiw{|OerC@pr>0l5Xg0F&g#jXHg%X7VT5UjFd@8o)WAXZ=U zo`+xx0xD;xyCrp9vq0@>OzvoYwMvjM`Qz!6gZg1C` z2OMdyo?xRW?T91oJu|I6d!v>&zwlz3xR*z*W~}8=s~M|!6wO%n9UD~J+njaG_s*?(z>)FVckHe@-nQ(+ zd~fe+Ge#HuNyec+%NSPpCm8#X(fJgw-0H#!9<{pgIgeUh_=HE%h4;)ZOslq$-_`c^ zZt@}rws5!eC~zPDjxB3|US3(pTeq45UafiU_h|yD_}&_ld+K^mR|DLZy;ILy_IGMq zUccJf+Om)SETesczv@Q{{b(s>X<2Z6X~eAC`xFSgF%Zyb+% zvhm5+Nf*RR*(Nw0Ko*J!6*Bt8H?;qFX;6NuUpH?eJ8$jbEEp^m z6+2wsBWqJn^}-m56OFkYdrdD(FylUNA-klH_fTb0>b$<*|JG1Cmd%+pJJvA}^G6er zSVT`oLyDoOv0xw=4JX1$Bcvt*{(x>Ig0V={-;q7|GRd2P-j1#RE>7y_f!?3nJW_pMG{T{BF>Fp|n z&r8gjHF^59qQ2A1Vw0y$9Gtk+PKnPcL%b+4FAgb%ECalRUZ!I=- zu6H}zIMCbfZ`aK}zsB2`)wlNNu*TP#TFMV7+g^>sTE*w4>-U-}>CvtWn! zTbhwn?oRK$>Heg4zJTu}R`!J@8q>c0uP_xyxI^zT4%U)$t!rMrzG& z?^`v?k3isfH$NxT!F#mLF|SvZ`&{)9mbzW8T!g+Weel}3T#E#sOGEfF{sjD;@AkQx zBAks-L3l0_vk=nnex%6=366fXrde@%eiC^iJ>b`RfiL7zZuVI*E1~k4BR>a(nw6<8 zmw&R)mBrMTyoKe!cTHJYJvztO3v}uSFYd+R>Ea%l;B$FwKq{;MUo_|xvRetKLeX?sTe3KUIbOuvd-s=}_$h%a_DYkfxEwsaitMdP;&z6xy&@Y%yfa?|p%nLgK90L^4pgx(eCd~k*y_PM~{Du2CKRUNGU zfaPpu(DPOE24%pG0<29X<*s=s*g5JWGJxX%<}*JAdCo>malqEk@ww`tdASH{A>0c* znxHF(Sol0FL;8hC?;-kJ5!^c9I_?1*LxK+_cR*NS$B%&r61UlpcmsqS?isY!3HJ@) zcmpp(p)@J<8_KFSwjv{bEno{dbuC9`4GYiw|2X1&rYT{Kqu~0htB#nG5#I<{J{94N zyrGD5nM384KM7#o`bim?TQcIi0E=rG&EKAkf{$dt9&$AJR0gbXO=Tl`nuUD|U>aij zwMM3s9(o||obz8DjWA)^)DOIk%D2}{57k#QgkymGB0|y-i2c&< zOT>GaPgNVt8?p-xA865oFv5{Q@CPszyi$taHx>FrTHp`8lTSX% z!84~i9)1LLr@E1WKFNVTuNw4YK(9^J+P@6+3J3b~YS2$-)Sg!2OrgKpfxfvK^qg8% zYfmdXrn>R21AR+1=naAHlq4OP@TskCY;&OQ!82c+eAv2=NUt91db(z_;m(@x*#E~- z520qh_^Lra=BWKtH4X2Xfu1pJ^VX;5+=XY}XdVs*x|3usLi{X~WXxe(??4yv%oid@ zzY5@dtx@BxVKcREXU(mvsd+I_N!aqDoECtSq0tg|HbX&KnNx5x$|7cFmsMWHoLG-c zJ_uCUP!zy_JsgGcv@L+A38}7O9gxTSn_1Qblx5-Yg^WVB1Hq|-9|N)ErWe;?>h()>5#t<%J@1U2&CYDeunt)?$M z@RZh+8At6k4V z^qIGAoj!>7K)eG&V)6M18#5zEE@X}W?e%59f-&gNw!Q$A4zIcKv2rE`YiEbFeyKj)|}lV7Wf|SFoGVV9~~P zIw1}qeKhw-{5C1wQa=jkoZN}f9_gF|aczRi9pr$gc!t;-bZ>fbI|q{w#$QOiF@J$R z8nve@_(Sbe9O(1$%xmRgT_eqhsqvFhTvL-jn6hV)1HHP&w*xw{RbHHPycVM<&Uy%U z<)4&A)za@~z*mty&caN7ZNZsj_E!yCkHTmYdBYw;oLp`6b58c3H;ik+K-g8aWtRKM zEXw726M39_P+=RY^pZ^FhU}{^uvhW}0CA!9JKkpO_-Ec4Ec~U{S3aYOWkPb3k@J~BZYwwmi1KD{E>D|Cl+YW%d_^wZT(w6V5YHkY z`!^7W}`8Sw`J%lTD}C#zOE8?esKJq1|43{Y-)l@>0_D0n}B zIhS3Uk+;DS&uebErTMVGeU^{z=rVuDO496!n|K?MPeQi!0?a@CoCxcY$+@i4=v;|( zPNck`dPt*XdJ)2iS(3|DU4@i&3Ju|e_+LDeLNTZu4`dATmfwwdU&LD?B+cZPVxNl? z82UMVY`g*QBfkiFJrR=PvjX7&ggDo0I{5MEs*Pt(e4LAYf{`WZY`QLsCCvYu+tXFJdrRfFzsnWj)e&*-~z=$2N4UI=uqd=dH?`o5tW^b(+Rk|gvD zo8qLS@ekseuR}g@X9JxRM%CI)(c9ZG@7t@XJq&c>Q@l8**~bZ-iY40K5SSl(4ExQ+=0#qav#v0#QF}kCaov7cl5nWHR$h-up~P#&PfzzOYBzC zoI0B_qMEWkx0_;@HMok8!sGys!kjE%N;QRjkHVb%%f(jw;H_s8y>mntIZ&zer`!2l zZ4q+KkJ{qL-^EBDim()6n~Z#7_&>L`^gSmYnPc}NeFVY_5Ds>^SgRks`3>42LU!`V zHkR-7IfR!W-i;0W(Oa)UV?;|3{l2wT*J}vL^xMc5AUivOsAawvm*TNGa&i%pRqL#s zj_d4W2MA+%D{Oq2cCyfz2|r;N+(;oo$*squ=$49j41d(+9UUz9`wWEr5$8J`3gRS? zc{<-AInus*bvLtIyS{Q)c1NEJueq4+0Iuz=K^m9jQy%5(6hQdR&WNuAEGOH{&87Jc zSZ)#=1w6S7HY4m}n#YRO!y<&v9#UnKkj4w&<0y>s_9M<2{^x)rL#PZP>B%o6q>1CB zdJ=J(XBt_)KvrA?^_HuL2Q#$&!x`}sHLVM0S_WTbz_tY}*Rf9`FAJ6OpPXU)m#YBg zL!DW0?F``185+^p0UI7`tvHY0QhR=#Y&B>f@W~a!^O0U|wv?M24*{SE0M{cV3hst* z5JEnTbxtYkN1}v; zcv|;$YL8B}_Ii}0O%TBfXA3KagkqZ;%l zfbLZ6GGyh04)hJxpzq8;zhV#uCan`Y(YIHFz7ObpLa3GI_@vQ~I%?mAXXm^V_(wob zch9LOm{QG&e$Y`nq0;Xgpwr0np>z@?pK^jD!grQ+xSFy~RqaWRV;=fs;-AdGUlX?W z@o1&fkJ{4#f0x_oV-PlFJK@A_5x^q}zPY;3H4foHgcA_;yVhp_9|ABp zK{jXP?Z}891uUQ0OxQhubyC9PQ_`F}y+;d%_IszaSB^8H;YcHg&02)#BK!g&Hz^0= znfII*)D&qn7xX(ENsr>^c;*fK8PB{7j%Nzgnn31@i?aqQs3Fq%Q1OCxppeFtiQf}= zCMin4XC_#zVlL9UBYqMiL$3LOh_@pE{0cg!>!Em4#8)knYnywCOB@U&jAuS{d|q1s z_zb%G3GmX%PM_|e*54}AXH;wX!! zO#wV#MM%qW%|U`?arg<}DFXI5@Tu-oT`X;SP*=+lwXqBP$Sv2E79pM5(4!0c4e{(e z#5Ggl%|43K+n78edp91NS=&R4@kqyTxr(t61(KTI3x8Bm*-T3n$<*L@dZtRk(=*H2 z(#_gfyA+(a1jhGyIX`k5+T_UFW`?TWN{CR#qsnf?erAVNjKu@DLdU) zYVkh>VWv7e4{2QHT5e#je*(Gp^Jywa)O9t0IrGd^tVd+Po;NA2o{mADleFhMV7a2l zHNrQ`Q3;(;;~CE&PTor%=OIVn;Z1;}QRCD0HR7ZhPQV{c8&7ZA)0$4|C#Tt=NaGB- z{0LgdSp#6Ii~_HGJP?SV@k05K-)|Sn=RC6!JUtVh>T&fl`3Ij3e9)GCk}cOWi17FC zNH3ftc;*e~VME{&!{%`>;=DtdE{|i5vQAN1Z0j%HdTd6HTq9ctp1ll;@yIo^^YP3r zu~9p#4$l(Ad9~Dwae(D)a5?gvoax;R*kuq{oG`dtqB0=JUW z!GfLW{i{L$8R&e>tm^-?_Mz3F*XaFc=%)7PtbJ59=(TKg-WjL%XLf{|gdY*2v#bdy zi?^ENHbhxOcy@ev6+g|H3fqRlXhqSF7uE)a{moIWj|t*vJna0Z=zka%B?G!0&QexTwu@AzR(dMxToA;?&!9c{xj@pQjj!C%t`dsHAPCWLKH;E*qhLx(+feyb?)sO~i*O6u>X8fUECL26 z!D=wJIWYEE7&igKp<*};E%R*5eh0=8Jlo81|2y6qO@0JwbJTJc)r23>8M$zFBVDyj zjn#Oh;a`5PC2F?hNdDUY3f2q((o(%QT}MeX*4Gzr1d%vA?dz1*zwyC(niC> z2)Pu{hNO4tcI-*h0Kn{dcjyig0CN-KT>v{JDkl;`q+bt5!N&kg4dlN}*uH?}^Y;hX za(g*)0KS^BklA|_{nxU$Dd)xCk*p-Gaaz&hgrnOeP2F1?mT+#JpHreReO5a zLwRz&I>!LcH)D4o3&q1>L|NtcOh}8@cR3bi<0rmWb&|h9F?_w&M;_-G1Umt7vsjAY z_Zwij_hV87dl=PcOiDts3s%gf~iMDWj{3?dHty;zP& zO+4I&kQOKXs%uaj`P>Zejc2YAIW6z;NaqFfo$ba*BcBTWR-(~Fz5GXHFE|}q`}yR$ zTmd}u>Ez)(z;|-yhY@d=wkqWVY4k4DpuY!j8V_C^Uv<=+Pm$NmZWpnK-j1e>aFk_( zxP%dD)dFcwkCf>bSn9wZP(M=W1 ziN3uW^cc{IPWVi4R!T+9LS6@Yz>lb4m!l~M9c5V%F4ua%6Wg%MD!2SIcJ4#SY-c}H zVTT=sedQ>OH{_peZ8|5o24>4D1H6P6_Ax4V(z>&knZ}!Q-88N&EM3;mD2tdkFZ*}I z`C8$8iTc@k5PIpPod62sESiw@(Uvr-hp-57(qiaGc?$l19OX05lRk?uVjdU{&cGw_ zyUqy7P}_Zh&ovjJ6P0F+A)WN50SE_Mo|t-g^jn^oFV4rjnx2^Kr}3zm?%wQc@ffgD z$KuiQ+LSjP>2u9NNw**@Lzs=MQ3$zNJ{yfE&k1SR)NrmYWu_y`Wp2LF1Ae34OfyZ2 z&qJK>`ELz$1u##{A$}FexDEvtWJew=v!4sFjEKQ!qy!B3IKD$MR}DL2tCu!DOtIoqjaYv z{uDB-?_1nT55krm#$Zar*p~X+bHD zw)7x$%e{nmglpurj9N$RzDJdswcPK=;{cNhj9iUJQndIg%_Nf^F-x!IdTfKZWt^Xj zkXHFJ{1GK^GFypsm6bM<+qrkg*|bJ-U-xTq_9TUG#My5Yz8hzK8zcNA&TgdeSe(60 z;qf?Y+63WGah9a;w>W#4LQjJINMX$c>(&%u;{>~w!gdMvI)(lOtJ@4=rvw{EVb28H zh_JkGBCSG9dOtncXsv68BR&ssG_fNPlBr3*fAU84)4=1j$lnQGpYSy`4|GsrI{`pa zkpEss+;0-4x#jHpAWcZLnNG;2UldkR-_AdEkT}>QLlEyIWPQS5|}IrXKwDT zn`}8U(g0TeM5OD0fqVPRv|QVPJZ>0Jr9~fAt)~IXC7xk2+1AK(0xv<_sn=aK zHQk77@k~@y6CsIv&b>P$P8^?p@{}}w9X#{tlK{i(vFW$m^%MYxS$M89c#JE#Gk5Tw zsiH8-%&5rK3u)w2qu=pMcmvV@zf)jyAoCIFfM+hntE;FPhL)Uid}PWHFLuOlL3}9U z|3Y{+xgYb<8uI>4K}fpHiwJ3G>9-C;#w(+EhILZ=)AWjNj%U6idH7fc`g4fqq!s-3 z4)iY7pzi{>lb>Xu_jaIBj=X6hfH`h&CKiKX--&+lO_B4w{@`-eM?VSWjM0V6s z)LV%ft9j>OZRw#@Jk~hp*mLGXe#l_jMla*z$CyV5Q z$Q3AK*bHl>oJE!6M`g~(UkjwSN9aty67ip>Bc0{r)JO0GJkm?5t6v52ViP7FDHDZb=W~iIN(nx%0ryoPd2;OI>|I1EakM#a{ zHs7M637migI)BQC@=-jKm#oL77SmjUXQI9P5hvd}Ls*FLak-G=aPsjo z*@z!0XK%KXTbjNgL|yOQXz4F|08bUswg|ydl3I8qNsp9^~Z-;OeLh8_H6iOkl?_reRl0^DJJc!6RjF7ah%mPo_1@dXi zS!j*aal3)t(Ha_I9@h|W&Fl|`9SO-Zd}`PTD#3^r3+ln3KdQ3{x*V zvIDwo6a;}N-!Pg6o+UGXP_TF?mS{s_zMB)9fO^pF}=b@bei zYd@0)EA1q=>>9-o=+SU65ys`8Nlk6tCWgyHJ9V02Oq(3L1XozvkEl4T7~zD0TR{_H z-H(>HaSSu&ARdb+^{^I6YD&_tww+0>!Uyuk%l-4?et#q!_6I}ga!5%S?U=8#Tvia$ zb&Mh^4f%DyrYr3yvMr0{CTweGxl@7WPx`fh5>OK{J!+`I4!zmXUbtwWb{Dxx-9Rv* zhP1F2&=R32E-O8|Zwb@Fp$s;C6WxN z(WI{V3&)SAdsN4pb2R?)MA`I2Tr0JTyQ-_)I6oYUCk-6~rU!z_STGu3J^ITXeUYT9 z#{x<$2x3#UWRQK)Rqk4#8BxUug!H%;3-}ZM&=P?i>4o=z2lbK128%823s3fU`LYis>62b5}T`rmv?p!o}YX=-)#G{u%OK2V z_K+LiS}Ke6rcB4|PKqghe^3hq{UAuiA5}YSxn?$c>vuL8q6DpJdFMgaQ*rObaApVHK-U!Gw2ZGkVCa3j#qSjGJcl zKr9vwsDW6wPG(Ekt{$?l01Gdsf_{>qqi{^qyIYxPrY~PNqOqtN)U=?YMifo&!HP@e zDfw|d5Q?eMfFAQJ@klaM%GQ<2(+f0R)1v;E76~QPWI~Dc>|s^&$XdB>ej=z~amAD2 zWF!&~_>Ep{LQgqV5R3(aXcw-*MV}&3qjw(*r(?O?s33?nrhtPe!DKvyrPC*9W#;yh zy@g>dk?<=a^f#&pbzSW{wTnfj-FnG=3XGtZ1hvJ2VI7Mm6zeyD74?>zvd4PKjq))S zG35EdeuANJOzqD;?j?83S3&_J5Di4*YBYjb_YYvrddq==KrE`o4Um+YNGKt{c20jP zsy*v5K$i2vSiqq`(g=q`S}5#~3}g@YmOJGqRM4>+jmLBqbe;4MVxQb47Z*ms2E*}C zIF!IB`9qO&mkF$*zue3swqQ~ZDRDg(1z9K<^T8H5L=w>$$S52MM*J9}*bw%~Sb1!I z!idNGS~3Z?5)H-Uk)iCezH+PlKp+`5LOSXWW2S?_VQgz(xkEmN+3;fwLwYQ1M6~2^ zS`ugHgB>a%B@j=Akv2_p(B2!)IgNHLkv(1wVrUU;sRX_89FP?K0eflwd> zO48JeW>IEce6(1u#TE{byA>#YEt1eMCVmieG8q{&(*bd6fZU}ZsKgC$_J{!(v^Y6- zwgcjlbL8#?$xtE?RME6(G7tch8+U~R;*)daz6DBLQNuJKn8m27hR2sxLJTSZNq~)D z1tL3w`I|7mGP4$YbD-R>fJQYD3P8Z<5ir@HF{ctDpA8=*cgu$)jA@!bj`>W0VEj>b z*C4rjz5>dMVgVXqMOO?k9d=@nJfZ-kuj*Lvj~NiIEGR~UxU%a zPmmiG#qe>zMN{Pi2$w2fHmOn&pk#88# zMI!z%*n3o0V&N$!DHjIgu^5<0+@DmUfruWTdZWOG4ws9pB?rbH4=4$UYBdq`2LsbA z`VR%e2?Y{0WhOho;DIYfH3MT24<+^3tWpbS%`mxkK|qIq z(X}Xa3BRVP(bC44_OudtBb zMIE9ydKnvYo*c=CJdK95WHb^CVziay+m;#%YicH%ra>;nq{ zb606>{c1o9vhopf=nq9-S$&OHv6n{3;e04@xEnnh3WK)8h7m4jwMNP#3&W8lmRStU zz#opF{0gC$H9l)b%D%z~R2T4H9fC!T8ER;O(ACQQc%&>9LLMh0fgl)n5OOvWyIL4l zIgxePjLu*gJ(kEGsE|q^7*IlqL?{%GB^R>6=YwY^6Y)U6@Y7slUIW@9N^ZjLKVQx- zgj|6(fcXq47`#B}8ljX8Jzs7_9IT$tP!$E*800euGU&gS`7V$H`H)}&`;5jCvSl%W7+r7+jZ4UK_roG?HGprHtuUQ&zuSFxMMKy|>v_k;Q9#AKi&--=K8 z5Zh{4mbla?i&h(=YRyZgaV!BSb{v2wFQC5ROefz_ca$O`GJg)Z!kS(vbk$ATh5 z30;XMARRTVD>WQlBMfI9`+<4f@sQlCNwRGE)bW!oPHR99RuwEsBOFqqq0nvS)aHXD zMPr5^+7fgMm@c=oA>-r?1<v1uHVCK}w(tnvO*SdSAobw zqLDxn^rRR%7DhO>4wGtHY_MSl`3x+E7@7$=9E+p^DDGol$K}fk;~E+h zNCxz<0^3Q~?iUuD1(!@r%pN~$_VhAiA~hNc1m-J}^asG!Ljmmpp}Y$#eh?g@C@G&; z81)CkstQ)A`$;2K9<)ng$CGj`UktKL4MqIWTtfkW_#swnqC6rWeBOxo!6w2OO_-Vw zTjLPH@`qLcg)a%IsD&N@!R1ecb^P%S@>%&1QwgZZ;9!1eXj_DVR$h}yP`iylGLnQ? zM{l4KCbkMotO4vXSr!}GqX5APy*y(06G}J7J_CG2}XmDu?dsq z`Gv4%U`7POQ7~*H7&aak(gGBkYci_h6Byt?8jM6udxCYlST3oXDJ0Jh=uZk)u;qrF zXn;w>m}y zaRv5&P<={RW+C~f$aQ?Ngg>qt5eS`FAQsl1W>crhiF`E}iDTJE{gGfC>R<91Gr3TM ziVW+<5B3JFS<|19WJ+9x?iC5{6fBj7v=0S5URR;tq7yH$u`}hig|Q?wR!A4j2IfW8UljUR>S4a7 z<6~tBW47svm;|LJ7KSv!f{VwX0PYej6Cwa_0Yo9VKp?6?7Vl>3rpUJy`W37b3~U%~ zmKfOYOTztZ{S>(+n>kgUQ;5%;kaq!}Jb`Jfs_~a`4Y^Tfl%ZqD3pvd zn?fOB!Mzh9h=K(4(9b}j$h9cc7YoBx1z`>UDb&N5!cNbZBN$6KJfP1&dr%YzzyDZW zDO70b2EcSfQP8NO9s}W;mY7Mni9iCzTQU?)#vqwA<#Q0OnM+o8A#8Ve(BQOF6c`TC z=ocVdGndTnd@Tgq0A7Y5R306||4UZqDmhlD!W4z(9{{I>B9u_S61uSyS70{gFPG~S zC{YYQSO%B~kEfx~_>y{H9ytY`*x}lO>RG7y09zNn!e z*scn>C6wuK7-CTg8_;QD0rf}rYXx*{m~yZl;jM;69)|zqC)R!eYzdhA;NS3hz=;UI zN9+{4WPz*~#Gu;1Y{md+Fk#}x&jK6r5OpCMgtI-SgwaUw*3d8P*aEp(z5>G{fQCnO z6y#S!znX)S5A|J(2jf`DkqER2?KIncwX8uP!rvLt$-4*}E*||a%UvkX%2)k(j*$$2 z5f}``e`CuQqT!K%KMIdg5FTwXuVn0Z*6(V$lMnj35rUh9v|z|`gFU-Y-dG6NlM#l2 z0UafTWf)%MPOrk7e5N}IbO^I6MD7UI@fvx&4_%Bxm4J;A2YZY9*}7}wG9TRWu@HQS zY78O{{!mtQtvtUr2@=SdAZ%^uXdz{Z8zQlIoh=f57-V>6@sB1FzEBo|6WIrT5rUxz z?f_jR90;=oi*b>93~}%#*0@KvAc$H8T?%jljZr{kBT_TV4p+0y{6Q~sp zGQx4TeTjTN+@J|qM`*o)0W-9~auXPqk)p%32wzx~1Y>f=El+1RWt*;(=lOsSZ(=wE zNkuMRjKKBsEQo(h1bkZln2OQSlkCy!<#q+|qr;sFn_K~V1jl7==9>s#7*w>HtQqNW z3gl!=Cu0=yA3n>~w=~IV%4XgmcPfOEpHQJpCL>r*NyWI$omT#ep+|x^;aG`-`#^6B zFyB&eDTqQiRQ)uEQ6PG>5X!p4?8;Wv%{DV8Y)Z#joo*nJQkA# zN#lnJ7>1~RMQm;=@=X%|sAE_Ce)H#2ldul1W{ANyc6WD;$u+brb6I@VPW?MdmKq^n>%e|G%O7G<6)Rgkr*~rV2T(|xx26f zw?ZMl;8wY2ZTL1}kQ;HZJBYME;A!_rJG7BQi#%s`r#5YD z1<@6F;dR*6iRazJ)0LlvEk5)of(!_BaDxP!xtjKt!f^cfRcumX-vzcX+p-!<3TzFs z9j*enr9oT@Yq|z{Bz6EH-;$987zhMs=tcKAtauHk&lI@OA$3??Q8+gtD%8X-_Yfn{d0_rqL|x z!+kK^;z95kh)UA@u*c!wYXUT!HQTVZKPPEWaKhkGm&l0i1(4lrpAl0ri(u*M>> zL_mApL}N$pfZxDS0tU=T4Pp%Ln|R_4EOfI)$n~&xYXJhHiY4LC!!8zFwnlKjdq5hb z(fFy;>7#*US3(0*;bac_;o3-oo3j;bfpQwt&UDCGp5C77~~efhGaCUL07^4lM&U}UF$Hs z$pCiOh;j_<>7l;2`SAMggexN&h3XDH3VSkPtlz*p?rvs3>dl%HpN=xsa0Dg?Jn13q z8Ac#Nr`!n<3M-HHKSBFwW-JzY&pkiwfWSbkmp!!-K!qXz{{Wg5jIp`v>zH52deR;arK5Y8`E9=}s<0zvzjx$dQ zACk>(ZHgFIEMCBrnQ!Nci4ZY@6oSwd#L~u@otZRVwjo+$L5QulYHLdsJ#RviHm0>r zUE`xv`l4_8E=pg#-x}{)tN8nN(?k&hVc2ijneTGW|NQ<3c2;#&2zhRea*t*6`1pr5+c@44I~hFowMba(-4_Uv6N_>D(jLp{pQQ=dB&GV;ghs%#jBue^Y9I zo-EE* z+3hc@ofIwtS&9rF;>HCC*ayU7gd++e4R4WO@q(}-vE|S7drUPdfc$X zyUmb33jUa0f*4$kok-Wk_g1?Pq0c0dE(sQy99klr5Lj)LmqEH0tP!~`gn=@ozr-Y) zuuBRd51~a?smOmOPc=@Tf!DKju zDXkvh@u=a%KUoj1ZP$?!Q-S_+VA7sv;N#CSc@kvFlcQ^44!M_P_$t51`zO`r3aJ2f zLXo41x_NlK>slWYa%+>1vFi8mjcx6#x)RgP}E-P=S zq5@e8IU6zW&K?M&KdgUo!Mobu(ThGedz8dZX~4F;_&-HRe?t*@Xk)@#2;lrvMo+8F zW%JwsQp1$--~;cHRbN9010`%E#56WG9TO?2;V=2mi`5+mw2Oa8WoW&0Ab z{kA35-5UcsbIsNP&%&n)ewp~bC4?4!OiaLJ6S$f>FMrbBYVO+7Ke>By?6KsbJ-Laj zu0}XJ4TiBbF^Trc%93)+m~@&2BO6nfxS_Y-UfmyC&!~Qu6ekX!0^zPrC&N?rot?M1 zV_aRk5&92fpwT7Mh|VN`+P-~od%fL{v89(=2m>rn1YHfHX+YGcYl zIrk8$qcM&NtyBitAzSv{OX-%@a$bdS>qjJ$)PGU>TFNQo0%I^@no{}$4wJ+7 zE%Nb<+O&bmLx%$#@iPeEIMwkHy8|p7w0@f9HS-Tqp31?N8YnZ-)Y;S(v6)yeIcnc3 zhg*n^3oT<60(tQN>AOO0P=LN9hg#}}(RSO@F4(h>^%*Q5-KN3J@(yWF!OMnoRR?}~(p*{yn7ZiXC4w*5NU$OOIV^=aI z_s^(ndK>hF(EZ@zU?b7O>{VNi%n*Y5m*JzvuSzxS!ZBvBo6E?ux)C?c1RO{r{4(-u zjy$ofnmzbxS%RhQ($nRE@8se#DZ(XYaWZ2prmTSsmch5xJsZ}3thNe1j|UugK`7=r)OsY_5Q;9yzd_`e4x6kE1WuY>ZCeV z^X=hAFMQQ##ZB6bQQDZRm=M*35GnX41Q&XWMh}KAM0LRo^(PoKj0{89b^1q%`v{xW-sy~ti+&#}4eSvHToz@BIG*&6l_wumicE7=P6Gnd*_ zZI<>qe~C|FZ?QM{(68B$!BbVLnZpu05(frp?fj*Zop7S$kdQp|Vvc%qP~=eMk!ge3s8*77tI>0w$irle9p{ zXYadjlh2NZh0hmA_Sq-iS>YU;e!W++?d0zcA}getAy6$xiNJ7fBoG7^xqIQ z5uleze{EKmub3;F)Mi6lE;isbmzy`i%{x=XTJe(;W$SvZh@En-ug3T3Xe<8XZ+1{2N*0K{Fs(we@&KjeW{yn30< zB06txX`MoV9wU!%OABX3^-dwp(k*&v@BY&7QfkUyPbtFx1NdkfgaXo1RPY9|@E z*VUBBH-BXVJZu;hv4NRU*l6(^yM{HE&;7=7SQB>)yMAMxc=5wpVDgPTuZ-PW!)I^M zZ;0wOL8K7_X!Vuw>FC4aC435{tb|YEa?l?vqpT}Fzpj)+ zc5X)H6+}0>z13G*!jI!Ko{uv;Z=fQFe5Lq*g;pA_Y3ccVctlWgHKqf}(1_nQA}q)P zC^Max+C&aSUW&w6zC8U0%lf|r1R*1+2e3K_9uEklGCRQ21Kc)y(X`k=&5|>$ZrLPW z8h#n*%E$O^)+NMjJ(7$@0{9oS^m@M4T8IbDfX&fhIt>s=u#KA|f(pi7i%KIQJie!u zMpBUOLRtyw4y0kETai{qiYbVsBHe&A4e45~v@B8u4{MN76&?ER{0K{oRJ}94=KgN0mm6kPkEA z2MdgF)onQ5tsSICB`G3)a2tV^)w}`ZWB{B$0&K#P+nB#eS-#ugK-D1TQjIG~jVt@C zaj910L(u}G^5yUmi=@jY*@kM!GgjbV!oTrlxn1t0!k|LNKfDBFoAGVW` z_ye|v1aeD9A_BG_i9u2Pg&0taR`vSJvnaAZS{# zp+G^v3KGYHfGv%dF)PpwYsYUf{Pjb#3@+_ZbZ@jq2W!$o0IEiPM6+lsns^NrhLn&taZ;K>ZYMiL+>I8}tlU_t}9TN=Q2!n=L3fM&>&}K5x zC+y}|poUXtP$ljDrBN8qnDt<%P!%gVoDr--ri@Nnwhbm8t^;iw(}f0@l`JbK^PDmR za;~T}iV3w0k{|)18zprjf~L_I0bW&~r~-UOl1K|e*NiBOp-;4xWJ3g;-IA_af_?&J z&mVRmLP#&_*cnp=i%QtOE}@jbjE384mnqbgx(wXnL=d{YnwMGuLNU+*`e9bkeOZG1 zWcLwT<{ao+9mZ{X`y0_=9R7qSG~)}n1r=GdSb^pPlA*vPyQsw?EP^yj0_qsxPqGw0 zW%Ybz#A_H~0ct0(Nf6MaH7`{JMxX=m=JF@i=iF6 zxKIX;r59*JoB39e-b{nnZAU9D@cCSG$7t!pfRz$XxIkgw3ay#%c@pPpk*KKyN~9I! zS)EXF4r$akE1?K7!72hTv%%GB25Zr5gTlCtm68SRj@c(CZc@)VKw=zya%_-ir@FZE z$8c2)T*-w&UbBmtPz@v#t7Z_v#wf?IAkctlkQ-)$s5ctG3?$he#pGk^Won4mEX%`Z z1q085e(5!)sGk}mLL_ztK2qK!ns+Ih1c(-c&jJmCdSi206C=c2T2T)374!(M1sbq@ z^cOj5ol(dAF?yb*)FZS-Di8Ihh=-u>MAXEI_NgmZ{lV%Z{jdrsjT*J^4-Cr#7T*Fg zDTU_^H*C=v*oTONm4HTmJ-pG^8I~Q-$0Gb})5_1Fa4|4fd^({%(K@FmTZEs2nGPCc zP(`pXXvKmVlaT_}>BDA1Bucfh|tmi?_&yq!JL3y7jMtIZ`s5Qttwi35J?_XJ$o}o3j(SaG33rL zPtV!#J&_1nwCTy#KnElc7!hEuWR-coHEV;aQle%MPOI!F%%4hD4(g~Gl-(-xdS%Dm zhKUT&i)uA9_M}?v6v|ZD$WxtU!cmhI1v{w+NuY!{COZf|)g`3p#80NKOEEAyeTuy@ za&B0RmIkPj77Bxq2c0Co5^lvG}aKXhC+OXaye&{Y%as>G)uVJ&?m z-Fzfp;~j%2L4LN`C8VCn+KqK=iyooM@xCQ|V3}pPSe7u_$le7&0q8@y00l_t9Lfk* zC#{y-2aYTBsuZtP3BA=(%^PYpm*A_Zs(B{8l&{K-n5J3+ILmc|5F7#E; zhCV%5)gAtpSOb)zfgm+dHKBnjZUa>+Hc-|%RF$+0ZZB8$g-Y=nP~#VB{Ci?eQyTje zLY+8lX>QYL6`SrHsuE12mLH9^OetQI-Inq6)bWjFzLaES@-PtT~XY*W&jV%>0lCzhJ z4dx7gU~IK0ij~u=a{s^|V}qa+P*kQlsSLH-?WyKDi^82`Qef0m0^QiGM~K9vyCB^~ zk&Z>d?Kx^VhDz}oRwFeO4p+oRN@?s$TC>i&F7Gee=4M6Y^EgaQLi@t|OScccr_ zd1{X=Sh8@5Rf2_)FgQ|x;xpzFAjwPhl-R7+BLww0VQ{%+@oGVLqJw8oG3J5%0R3(aAtH9xh8Iw&U@SWET)5E+dL6_5)vv%ZY9#UJ`)e zRbC^>t$`%5MpA_u%2!t5JLGSSzmZ|AnpF<8SfR7|pK_-C$v5R#tI#-XfpX@l+9qe4 zN0B)dDY6g(!d=@$lIkfDbs$MSjyjhltCaI;7d_>J@y4QjcYgw}^5gx& z`YfxYjO)Q7cZk@kb(M`^VSt=^x|IdfoqRh;ebF>Z{Lxf6CoP}-2gEMvC2x_txbE2v z6r7!re|AQlSVmdA)7l`&NE-g7k}s2RUJg*rvomU(oe{-w>>V+n8YyMTN~O(*=H#yS z*;_Wc@NOh{F$J#4=`RgNc?VxJjf}37bL5?w{KihOrN|jgZt7sERihclM>4?Hz#ge+ zd1>VGPjK!36CNupFW8AGvSAj#tjw=iB%B|Wz)WC;`0DvKeQ%R_&TU@<--hpPNO)By zsZ%Hn<;gAchFb=@R0H2;RR-OV6$7)7>|+8Ak634M{{n2FR*dW+`-Bh11)0x=Rpwe& zu3-&*)e;FcP`VYv0AP)G38gAs1^ZmA8>kj~%Pr{0z+XYzT}wOUdrpZoa!SCG?MlU< zbECtfKC;$HDH~x4cqWjIO+=cY{KPrTg#}E=2`N+9wa~wX9%z?@>&undyoW#jRw)OY z1%_;x!>flt3-K-tIUt8$;`fs=jP~WrIlOs_N!|fvsGej|zx*wS=T##uFJ@yY6W>*3 z1F~T*Ph$bOEteNniPa+;2@E31E`vQkE0<>~)drOXu?^rWW>5*YvQU-F;+2P@vTN$N z|7*}?2`w=<0kz3SaOqC)R5c%j|GG+V00)jga8~#a3cp~hQ(`RCfZv(Qik~>yNle0URAfNXf;$NcYc^Q5vX$* z0!BArfxPi+Ah=J_Sz~7An;3EE_Dz=gtH2U@8V_z!8{Zz#7(OBpd$({^j5w z*o_s5n!Q6Dpx|R^Bw5-v&yceta1y1*(606suosl#I-jUL3$6HzJTq?2Zldm;m` zW$4lZ1;9|H^#u!$7`CDWa*Lq^HlyJ?y{)}8S;R2Ko#$-cL=_BblL;^H^R!ocK}EDfW1Xj zt6Gd&%G*m)9Bc?U=|;OfLe3}cvO z;k7(+9vUFxB69iPpaZqR@h5ap<`KewNC%Ae6aSO>rP;vzo^N`ww$$_{VR~7XTv3x( zD?4{OvB?#m&Nz7q;`gLkf(sFqM6!t@1ko6j8f=$SKn3|QL3_}csDCU$qJf-lp-g%{ ziv~Do0Fza=5MMnS$Ry;GdmmelsKQ-3$O8Yw8lcX>3qWl=k^=&DS6CLP7gTBqB0gB3 zv?kPg(7ZYT7?}GrfU`V^X~97kR$zlwDd}^l7IqLUqRwjPKxTnL2{NL77czyGM99?Q zb|C{uyiwJ)ldU3Fz$O@`R4sDyk2A177UA+lZC(pN zlzGt&uaOE8XbE)$N)v)x5FbHCn9^Co_(*CHm=Y)qql!ZF0RJ=Lf=w6`J-f3^drsBJ z7wIC{6@>8(TZJWJUvhRGUXO+3n{{|zchgEDDT*$l|)ZeRl*#KrErrNDb;|I;V|}e1w*`%E}}jbE_*5u-os!;1)l@++xQG z$-Cp=0oB9MB|G zVRnP9_a<^gB@iz(NX$8{Xpjs3GH`Xs#jcb~M1;DNpl_*7EX*FKEnSrdd=%oDG-w_I zGlJegq(^~Mwx=2(TFH$%>e&!=_dv|Ry=V( z?Be9fQ4M)j=ryiJ4WFX76$Pcu)3ZT+h|y6hH#90QUD-#qD#mt zT~Mk5Oni#gBWnKwW(MsQWOy&hc&VJ^y;*We1D+>8s>cIY<|@@wZ62x_&o7N;TmA+N z5i4Y>5D{3V(Hu))R$c3bvZ|Lxt6OG;tZ->G%Sx`0g>?tzLN+hvH9BO_7hnxu5bOiS zU*L+a9)H0`LQebz8x`3EhN@E+yMywj`nCj;a8>r^a1CS1XY=tZ!9eZ#U zvVim~59#H22GYy%45XLi8A#7gM0#!_((~jq#XPT)LNoEAYDCiMa(gjvlbTAR&Ijgd zA;J((R;J8s$lC{DM^L<(hT?hh+J*>$^N1aE?-4ub-XnIjCK=*kb=D}7m zmvNdWmL8{hBJ()S6Pd?p-oi`eIOg++<})EcD$)L!i_p5IQJ@`jdlvbNvuEOLv@7zj zh;~K(*4Z zl1Yym2|l0w#wK}5W8O3aVicQ}okA*_g1*y64{7#lhqDHSU75703H)u)5#d^i+J#^u zm8ZO5c3B2QN_+z};BIxRhy`pnyNZar->Ovg@(otMk}YroAhzoM4&eu^Bs{YFJNO@% zKyn9<6WmQ`clv0j6(dIIn+*bmD29+w(Ih!|&UWBh3t zPM0?DAH{=sA8N}dvO-y@9dF87I-T0_Q;Zd3cP~?}Xu-qs)rg+#jIntgdSsw$JI%jaSnUt$SHdexF_!j zr#W`+?Sro3{r~GC{$ya+gbhBsGL{dsWTY?8l6UsyrwQ({{rE$a>izj4*2+2DpFira z7N5_AskINym5*G(Pf}rakw}w4X;hOd2lLE$Pwx)q-RN`95Uv8Q6;8Gd;prIJr$hLa zfq1(Jd%tif98RpAbLB9;hR2(TT+QFdkbb$E*W;|cQ|mhZ1Y^HB>xc8Vl7NthZswUu zte3OkF8&XHR*70bQA}tzixg0L2%eHJcpMo-}DtE52JVLcQzF`IXDT0g-%H$?OI zZ{szxkS;t7*pROKf_H6z)J)f+DePaeZcVKQ4WxHXZFxB|(rB^3R6|s{eR8g>T1#8S zI?15*oidmt&291Cn=!vlH9!eCT}Ru zQx+}U(=WN@rpvZXv~+n!Bn9PVO|*7pRV-+>P;tTVA~5q^!#Kra7QNtD0quFj;uZic zV&l`O0<`TvtpGP@g$k)u0q)xKRxqdwAp=dd=4F*EV_{Ttp{RF4fwGu=WN9EAo=AeYEuO##D;88I7yi6pzw#zy4V|w^oivaTqU^9) zLcw-h=Wgpts^_*!t`A$*op}-b@zb1zqOW@_#rCaZms$G(PeUPYpqud%6xfY8?7=G zi$OWPjn>*7P=WlpjaG?1J<$bHrKGKPS%v1DEp4^CdDrtoUoN@gKm*gsE~XQ*?EM%f z3^ft%Eg!bE`eMc-8+>-Q9M)E=E$?iurN~{)wWJE&%EleEaaeAvJ7_H#`-YIvP+A?e z60w}>rcm9Qa$LuRQI*I|9ko8ua!3&bpga@dvjCD!I%z#wA9-IVZ7{kx)Jdz(#B0=S zby@jNt)49GqBUjj%VAx#5&-1@F}LvaFHrzTFc?-31UdfSz)Hgx$r|0YBGy*+>8?d- z+PiCwy{3xCYW3y5?pi9qKi1u4cXfMc8^C(L>7g}2uGLfP&%Ttm_SEXp;MLspm3w+> z1;{QYLxwe;98T7ETmsUt0e(R-mNnWxBU{?wY`+)3uq1K4KCCe^UP%G+n zwq2-Q$yh&mps&`|xwQ{=c33}WPEKV7>^h>~DFXxqh+Udac%E1jA=XQBs4bF5Z_&69;=K|5>Y9b>fyGzl+`1%lVe;GNp-HKCrx$5ruh!g35x zSYeE4;hkC@+;tBnCYJzgEJ(&%~Sc=>Rd_L!oi9yri- z*L_-b*?pYWE#4rV%aTjSY5trwUOl&&72YeFSu|e0J5HOK*i31>g`@Xrov@G^jn`W6 zgs~09hz?EAuH|0C-hs1N!#cr-hOc_ig)jNr-A@J1ZleAXx*6*C8WqBj?T8NEM zwSW=+W0DJ+*TUfZ;gA*(YWKiR!tbG{{!8x(UvFt}c92;UpC@_hA?*UFne93iuAi1L~~IsH+se`6(Hp>t#VSBX~x+rCH=epoS(1&BD&0ZOuHf%x%3&CQMFx(G8j9AFO@Om?8mg%P{tR5BL&7`OCO-KcmtN* z%4YyhNM>D*nV~%i2V}}jNC-prn5ktaQ{<+qq07-TwH#(R(`IUyvSfJv0NxWCdOt8m zPcNp!hcw=pe1=bg!Nfw>B>1_9`Z;g7G7m~^(^*;%zb6eEF4Ahr_RBQC?7l<`IP0F( z`f#?_sWexs$=Fp+lX=>Al-69Jm6Al5_Po}d?T}la*S_+mjI>#zso0cpdj3_u{erfH zt&(>x1c#m{pIHbZ#RLY|YB;U92(o+nRC(VP5MA*xEj8rdIa7s7fR))`kK$S^AQ;6dW2Lw~!Yt(O%{g{~`TLwOZL*mbE9Bq6gsm zWr`Uo03F$FskVbHmyhnzs>xArfG+?EN*eZ9My<;`muX%2lPl%sWm-cF9IdCzz;dm2 zjqjFhz^vN!;WUI%-!j+&YK|L&pi#1c*=uC~<*v@6#=B-Yl#Y^~0dh4EE=6>eQa3m0Bqf4A;nI ztF^{)oUH-Qf-k$wU!7WQ^fGLR66eB~wKgn!O^n{+Yd(QD%Z=-_v>~1_!iOrcRo3Ls zMb>{@%4=3;AnH7w^p+CbCV*i;bHM*wao%x&e8SNh{538=ceE{q-z{tJ2781-;SGGp zmbG^sr!K)CPN1hx;d|mYP*32Oh;%GjGA`f@gsC40ZARi%-sC9!LZmQ}5U=6wT#TWBu_kFT>xvOR5ueCbWt zH*4k5H?^)DuO(Z+7Os^8wrB-0w%4*kJK#x2w`ec3i{-qn+5_iX=M@(6-EV2T*mbhk zHpq;&a^W^K-bZfPrWJU4fyWkOdVyk#&bH$y>v* zp+b}^ov`)$+QRryt9_vLVXw>KA7}-F%p5z-ZO@~?@=p88KR(cEu^(j3y|7K!$?NxO z&8V4qdohw;a`#>>%4e){e%h;D$+U~@?eemZwCnzQ{eAM0_B1u21k_9Ww9cTsANFbY z^2b*@H-D^k(ZS-dknG7X%Z&%M9K2P++nkr3FAi!(a?C7SQO;H&Szwm2ueJ8BRZ)Z! z#k5Zyvnuc+2Y#&;)h(wXvQBOMRmHsJlt4wYOz2s%_zlf}@p-;tU$LU%k3HdY>?6%y z1fK5(50FDz9USr+b83GBhZGS}tE1W{g3KMeD)E4P+4-23Nyt$%aO*KF@LtZN$Fxti zm{Bx|q@pWMAREK|<)rVm`fEB3f7ELJmxR!vAGJAuJ@HSU&}O^h0{bpi+3Td% z+(Q~+GC^{C)GDx#FbuNPKc`P?J+VEvAVyK1(B!|2(A?c^vdl#>9Wso}~8F zn5O=wWyu}CVr5=08~mnK)0W=1QD*-RH_DB_A^10;*u&nZk>?ZhPyeoU5}WVaNP_C) zGw@3!pLSJ?PYk_Cb~>$fEBAH9aG&psS*RYI6}ge!Oy2hguPImjg4m1Wr?of#h79)n z;gZ4WWc>>H`WdaVg7?ESu1QW{Jl<5l$;*t&yZ_KqAOBcS`qeSUvD03K+Q_t ztR%heIWzM&tHPa`Z28@3&5(B|>2LlG)I*YW#mq4?V+82SXQ#`1{d&H9HlQn$M$yRo z0sZELuQg>bSx=E=LCnx!uhHc};O#F-N!}FFXT^p+NM4nqNB$al&fFAz7~u`O3!VO^ zX>gyu(h2L`<7?%Y%6ddLtE>-Z!{v>sdUZu|D=X^_6H83>a%;(@sd^h|Lf@q79nZJ2 z>@>X=^nr#mMHT0+G`%xC({fW4y)}HjXR7E*&^E8CPhvO9jaBuZ(>FV0QJiG3vUg$M z6(>&NksK-CPS>x>{@PJwTq$M||J!>7RqvBMtLgU=ggdI~_1R7Gw`%%JiF-|QWpzC} zE)U+Tu1|)fACjT>q&jK`WkZGzNhJ4Y=oiP!HP6%+w|whmWu^oXKtjxJ%gf443C0-k z`j-_@!5C1E_X?nv%j_(DCpvJBX6ZN6gbc~ii;T8bN_doh49h;J_N{UF=t>T|?Y@{s1rGkH4V#(^nByes3rQl5SR8!h|g>E#aZ zc9xza59aBa{O#xDZ+W_M@u_V9d>P7amUApUmoHf(H&}Yz{J&h4i3>C}qDKYImR;>! zIIfE5O%t4E$|2YXp0iL?AIf3I!84W3*_Y14we>qWTPj6?UWdKr)GyE%X{^}UTZAhC z*lW_PuV0I=BkSu0NM_g9m*(C;`+ZwY+VC4r8-6=XSTNkB72Mc#RRetvu2(`CZ2OO( zG&`!ccWx%f(@=>0hB8vDZv=3k73+7SkD(3qouHQnjr6PKM?V+=`D`QoJ!Fh&tl!U; z$zK}l?NPXS6Fm=CKn-l7UxK$4P4r9@8C0Uzl;1T0*}R6`B)t?c-qut3>~5~tMU%fb*R#<`MhiU`O*U_#4?x9fEr5Y#(rKX|z_(c~5hUJF{<9^% zEtBC^szSY1szT3J$SjugTj{ltY-PXN#Z*uQojkEU^priYo4Oi&b z#KRYyq9OV_1orPkG2LxtgJF7&`s21F_@qOwkM<|9#kiju!Jp)}UHcZ5lcT3&Pk!Mr zJ%zm~Z+uW6FXv?F`i!ZSP5IqGe?IH(L?-E*85<_+U#;&5HH2p_=3x%sF4s-Qa=JsZ zLH>Gdti10UeONKp3HhL1KefAE3__}_^lEiA9^F1d-eFZJe5VXvtB(m4sAg5A@Lh7s zwR&bO%e`CaZaM4oYIGfgP&hFAv4R=_pkT;kItAWOPF>v{erqh^gIob#sWI*g_xO#bLTn2DaWCuwW~n zoN}{X-A^0n2&-r&pSxMFA2ji1r?`Qq^2eL?E;!(1!Dme+d<^a2z6_u2GDdGNXOGca zYdFs&H{OH2qi@IP8EG6b6l!PX^S3zdOOCSe!;o=R=t51+W&=%V#4e$ zIp>bE$P1xbF*@k(^dGBlAu`Lp>l`xs=`KZP_T4&>*-dw!O=fYF5}CQ16o_LWGV_|h zQ~r9lKBjU7GQ*ubI%Zl=Ka14n-lLyGYLDNm-{}8;mel_L<#+D#3*t)K_hRdIyz}bg z`ZJszk*A;28#t3@>pz3@Ib~1kPazZrT*uDF3PE&>g?T51G~c&lZEPRL^$5JaR%wr( z99iqVLMp75gPze>vvE%4XLanBgRS@3tk;)U%+XEx>2uIyRIkOPu{J;+_VD0Sl|we@ zW990(dIL`rb~}!1!kz$&X~JH|F-=&Bp5-!Up8gAUm_A=$R`_3m_`CT)2P#fo05zaQ z{&Ru;jQH`j4P>bAep9a@k3R$8A9!9*NneCqoVzG=UD};Por0YM_Aa^jdA)__e^NCL zy{M~wF6Dp9+X6Y?OLl$%+<%WuUZ_9E?vslb>YsbohBus;wV{TyPcB}hFDY2H1%4V+ zT|UwVTT5$I_ZBvqT9ZfgLj+W4bYEq7oGg1$zkvpE^hLcFpSM=FTCC^80NU}UUMQz6 zcCE-K7h~Pu=xklA*W&CC`Rx+@r$#doLZBG^c}(O4Wjx_g{=N=vwqK^F2Fq3Xr{9)? zm+95dW1cyamf^^CRoCho2zbGpUD#oCz4lN2*1tx>h5ypW0AHK_rH_SpZvCqMzBjkD zNlFGwj2cN)(rb(w89lF-t=H;zumSSrwdGdUe}lH1Cticz=sHGmJ7uC{6fbheI{j+c zoDJ9O_ju;ojp!G5grzg5ZxSCs7U+wdQWU7a+TNw+oqa0j%1sr-2!4*{%N` zcL8jBSI_qhbl2aBy?EC^_xzo)Sy2AYA7suRT}4wg++{}OJ9}^sZi!5NPjBJ1==6P0 z-^zn=9S#q2;}N|?&Uv2;`NF4oI`ENxmn=>-Oquy1Y`#J{dLM^MVi_6orG5Hz`QX37 zwNdB>X?>h+1?8eFy)C z*Tl5%2}jQ0AM__#z|-sO{a?5vZ+Qa4yU!hY#fAxvsxsR&>dR&6##mXLZH_rL zNbdh#pA&rgg_xd?2bX-VIjw(=uigL9Uo{8^epyz>Xd>I5(I3g7cTy6=m^Gi>#Kn$M zqJbtk=OewXoX!mwrG;`-y5YXdgS&YW?Rz7S8JqKBbKblnO3`AmYEjlc;5J0D?&+Gb znXPm7X+~`x@WNy4Id8a#>>!NSAvg$W4vXbZ@Zch3Y-M9V753JSGd|VGVnNRgvhm;+JeX!|4@@J> zs0mv~RNO8;jYit}$VlOgW}3(_-zBx`=inuu@G`@#@1ijsSW(z)>vnK&u$)e?GM);= zO}aT}6ds)Ss~d(tHVy|o;7SInr^Upk$!if2l`zDmE-4jT#t3Y{@+!I1^SQG{GM>Pa zyMN+EvS&?WUqTxTE+sL%I>UVYytpn@{JmKaf8%*P$A)P`HO(KUsj$SL0HYaojYz)-m^!ek?n+n3hUh9kI_(Pu1ivlu z0K-X2I~58wY*&(o?snGfx0Hw1gLwK|u>k<$NpDHB&`=8Lka|Y3{GiYnne*4>hZPyy z`IB$S`t=OudPTiw{@Q;p?dz}=SXAFA606?AaI+GI`(S-T#Xm5_JvuAv8|~QNbRQ}< zUSs#;^qY~12!$_-jkZW?H8d_}JLO#s4Rv54hO#dk8W*rbvape%-12IGGaDJX=M%C3 zv5F_r>*j$%qZZqx61*|j3%TOO=)K2^3$I?OPT@dnr$J&j`NCflu)am z*arNcp*`bJc(QY{xuLP5ueMhh#i!dVjN&8j6{Fa_UFPo5AC$cd41>BXC-PRZS}UV` zf4V^{V`xlOE67m44xlazM>I=zgpNgMbeLnQ+|$bF9!Gl3)o&#<9>IAfV(UYd!1`F)*4Rs9AqtgQ?Tt)1t-oQ&HSLV7|%V%#BAC&tSaB` z4z@L?o1wN1U+QMu#9uiqv%BL6qld5?ZZLA>gzi{~yX4mH?m`46ulpOsOzdG4yEW>{ zLp_XYvG$tD;-1D`eEVU!w5Ors@uv+n$c#3785jMRCjS0jYB_$~%b1+?AagJOSF3Ub z{7V=$>|B^$eQJR(U^ed7a4!3y+y5WeDICr$iBuMeAZ!kq_3fl2~_Q8EEls5gP4MGociT2 z{fw4k9_3b%%LW=bl{)w$KHi?U$B|IAJ*G(V&?O)|kYoligT?&~b;|3V{zin}f9P*? z5`TP%CbCo$^0JFvUQ%9l#>J@m#7A=3#UK%H+NjYogjC?TERXs-`1&FYamtsj@!sKx z8Nm$(U?K>(7~jEn5pJ5piJ}CP9=E)x!w0QnX~L)SM<96xHYfCOANxei-z783<;JFN+6)OU*khzaD7RsaT@jrA7qqj$xM??FF$Y50rKT4Uf6mHyG0J zsB_0)<0~e%6OFnk4!V)&u0HZ4VUiQ8Q64>p(NWO55 zG0anMKv?;*>9s~Gp9t4le~GuIjIsgr}(DK#)< zxbaAQnDd5X(DAHR$=RLsY;n~a;YhARz#=+Xy*)WAw8DYjL#(KI^KAh*HpQ=vD`H%V&ktWa-7PmFV5VF#xFdL$iD=a z6O#nSfBB?|yfn#J6o^d)GMdT354kgO@?oQ{ocj=z$Rc^-A!BrfppH?KjVY|NJUtm& zZ9UogVdL4{gf@74QWyPE$fx*Ob~JaBdq7roOlRKJowQWWpxfDeQJn0ZC?A?)j6##Y zPBGe50ITC8MyJg9MBCQc6FmPBtNmxF+5Z{PciN}W_u(>`zRLK5FWKq*vC8Pl*#g<)6=+sdzmTI|G3t_b{`4zG zfpE2RXZtJg%=~G?i5| z{?w??Pr)(wsq3u3m(SR0dGWuEQ=R{8>>hd3odt24_aq)hobY&L+-7IyXGU`k!+rY; zqYhi^{Pcw}z+n5Go=0Jr;Jn7|$BaJsy7d^W^5ydTW5!&3obfF*3$|aL{tk|YhBE88 z@dn;LJ#O5N7B2lB76b;@MiaH<>>qHM$a1;w2jc@|t^Cm#&sNALCye$ef9nZ||Aunb z31djkex_Us@cSSdAfKPWc|X8@67d2oteUDJoBo8(*2;cA8U4}XqMxwnR>?=SoShqq>4`7hM<{UM{~ykzAY)fW5In zU#Q9yXj|zQmDw*F|88_dYj^w(G%t7N{BB&s0J!+Wz}+J&R*NeLpM#koeBRB( zAiRBqH-vb>M|Qi69EV1n&qWdPFXmztk~g`yjjeKk=E_vJw=SstnYxI2pm2Z!2LnLi z(3JrSMR11q%lCBgK9IH85Hz*F8KN#K))t~WlF>pGB6)_A74j`18sY7CA+k`Rx+z9@ zn823z%`{U-x$^!TiZwmg#7OqbGbSKiD~tSM3|g7vS8+{W_(fr?`c_2eK;g*eJ6z`x z9WNlr>L;P2<+6K{Xo^6mi9XzCW{XV z2`hsl0tD^}itF&!DnxJ26(KPmADu%f;wY|cao$c9mkX?-f($VM$+8U58Oe&d0!JPZ zb;VaRH|%P)wC5p8_Q_0<#**Tz&3PqDOg5M!?TC2v|8=2tQB-v2OLog=qT*uyJ`~@m zDB_S!(Hf$Z*wWM*ViQD*b5SjE6XU-gb~e=(oiuC?LzrOmrceZ&I(5Zrisqsm2RWB9 zh@KwxfY&|FUG>C4@0%(u?`$Amk{`Db)A`c}$3K5^|ci6O|3|=GPEY)#ZvVxOM2A&O*q$I|^lmC@lqd5M;{_I*JT( z#C+dTC=YG?OBexA1-O2}h#B-p<*-ho7MzB1QYWFjZd*HvKJ=d1S@f(?t`;V+yz<8m zIMg8@?IJR?&&F+((bEeCfMQMs#!Q2xv~Tyjzu z5hZhaNf)6Qc=?yAT}6Y;wouq1-1=DDwHC;j)s8b8HPB#>Si>br_78-djBqFUbyv}Z zP+)ZvPsG(N1e=+VGi74Zt&CrvMvrT6du?>rgwWPIs)Q61k_l=$rG@ zHx@r%Kg(_#4@whw91sq=&eYLDO#EOXQ$uXGkwB;g+3&7P!@5s4)BO`)I!L zQFqd&->tpT>3T2XoxiTb(dgWMSF{ZX!Ne$;<58tLFB#e{5R8; zD7VTd(YDUk_{a7E>J}Z9%lm*7TSh=QNrA8xk%iW1|M_9`B-~Y_US8BV7FYnA~E`lX*tIZD_qjAyOH{R_^`qyZW=G}eR5c?>@V&q?q^ql z@s3MtLgb}DvG@TMuU5>$RJCw2aPY-qMtrUTU`VD75ZB<$+*nH5%7X*MMOD`xjUyip zcNgt%$WE6CTkOOqJ0uSc6tzN%j;DKcj49ZR2F4E*Es(4oC~^rQ`v;27J<5?jZXC=) z+{~qH#Od^cpGi|MQ;z;eQ7`hwOGVANRWtii5oPLjvFZ}%3Ug_L28sF_ojv(v5LONf)x81@4wnyKA#(r5 zgn#o2@e1EFOYRy5ij=3#kUTR83~1qCQHdH_Ggu73`T9yj1bIbU3=ze2+J1;=jtc?i z4}m1{j=4c&E%4!(+q*+W6ZlumVWQxCMBQPSm=f#mO0Q}#R<-?=qAjYHT`5X2BVS)B zMkcparazS2;quC>L_c^lUbzZtK#6jk-&o-WLX5A!uF!rdFH;Hy~^GLBrKch4JSnGW_ZCxn;7$deJ#Q3dS z1Oi?^9VMD!=ozEMRScQ;+$_2=+2uCz1TsIp4J3tBze5b>+5hlsxCZauFx_jhOH&tH zK*fOvgTlpesokvzGOG5BcnMMPo1YPf*+4D!-a5Etm4~b@+9h7??7T-X%*gQp~ z(;ZLy9ueC$|Ksn%x0{O}3RwE6=*IUm0;i_TeoXX5k((aFoCAt|Gen6qcA|Kj$?#0@ zS`B72p<3%1_ST|&%$jsTRE99jppUw0N4BP z%FAC6ovDHOFNiC|Dw>hXvgb>pW-@$j#W4ZjWFg8t`=Gpgp=iWke^;(p2-$%;hz-M; zvcW_TMMVHrRu3Yhwa9xl1etWHQ z=>Ou@3AuKOX#6+R7hEcyjnB*arD7-s5G~8*Kr)^c0;)JPcp!02 zcUv;Xjbj}5;DgGALO22Co3M5^;e0W^(ReD zs1UpP@BJqeD&UqbDnDf!m6OBQ<6idf%<+@%jtEZHl?-JyS6}|^&(R)UM1F3<_)V| zkS49hJNnx7GT6h7FN@hhSurDIE0aI(7ERMX$A&r0n)@?_ zdt~umEVo6taBi=t(r@}qOlSn>$kaWJx8Y}Xqq;qg_r^vOeg*fF%|1GzVT)VP zgSgFZH~MCLK7$|eqRZJ2%|=~(Mpj9W5c%u0TkJzm%dLAM0zQ05e(;fKlah=()mNZB zoEfnfO_q^;qCigiP*ml38MaTPRb4cB6MlS(Zo9|jyZ9CK2)Fl6kq_+?&E=U7VP4Ic zCW9Y|;wn?#b(b63VPhf$9=`PXNL1^v^&m};-At*dYuuM{IOC7WS`>TZ>TS0Bw$0uB znB=}4!Ve3`7e4}XLVEzY8-ITqf!UT)1>yVC&Vlg9=>(z8kI#@h_Cfw5H9i*4^C|Dj zB_BgkIU|4mSS+ff$nV2Rn{a#^KUQ2_iFIegexV~QVz+$r6VXKM*o|SGnsq>2&iC(@ zR~!&+#qTOh&OIRZQ-fs(#TvfgUD@K0Xlw2uESzHUsY8O|%joc~{NxZEtc7y?r($8s zH#^l)Gi6B}-sv>^w@6~Fva~-FPv%y3FNK2j7K;nzh{U9g72JPwVyAQJGf|6?+uJ%U z26$U5P=|0_{xED_tn{Z3!+laD^S*!=rqFrr3n)o(ZT#4mF5{0L5s$Es<%%O>9BVBb zeg$o)mDBYrv6gA?joajy-+;oauEDY?;YScOL@^uh!H%^zJSN*76B%MFK7~)oD~^em zuN)1MIE0_ufP$td1hx#W;)gi`A8@z>xwFQ>=M?^og`2`a*}(AMgJie##J>^vH;G<0 z!k=jG67)m8YVTOXIwE6lm$0Fx-14nx$vQgAzZH+O)a~1$8&nAsI7e{z6AQPL1CEP^ zxEOfSaq(|=05|>s6{XYB?JhC$_JE0;SGY8uAY-;hzos)K_Ss(RJuL7Z_HT1*+9$Tj zj1!`5RaZ`&jN#%a9d&$fyBu)>C`Z7`gC|6r;C`xnihR@)cF0{P#1BveH~$2e6+7T` z{YBt1!FA5PzltH8fBvOB_`8?^Px6@4P+JR~1*gToH9p~OXA(2#XsnGaFwCPgm(_$h z3Ofmtg!zJ2xh;)@x3^D>-+*vbV(RUZ&6(#jWez8s1NfwQvQ5Aop@cs&3J4 zfV`^Gu4?9ov2myD&N+Hay;4T>9YHgTeJE!J&G)j(rSl?+#-Sr~o@{pR51F=>PVK?D zKzDL~D3pPV0~_zjePJ^jI`c1Kvr*9-^D3OW+&r(ssmoXAm7ls?HBVk#*}Re<{%2+L zAvi)VNHu5Us>=PT<}I+hE=n^q=oB`FRUqpXnSPCsFelCIiN21dnT?S|s+hgSo3T*_ z5PkGa6;p)^!N*fYuB~FW#*yt)Rm=|jW8kN%scz=EtE$E`34 z`0uJ_M%tHS!b3m;F8=g!1F&Y{_hKMk8df(ipiQA$GtJeM*3B`ibJ(pHV(JHJ2zIgXZZ9^jGt=h#v8Q|_L316zqv{L(e58RuUO&24loz{JMpTd3c= ziP;u`22-1ut5|c{p{e-*zP;7dyt|sap?n93bQ~Pl5byR$T-aU@C(zBcoylfWx3M!j zrG!sl`0AD)M~{G8ZHcR@>W+6fYiQZfjyL?9v@?!L1X;yo^neD_fZAX5zyw%x+-v z4O*HTia%5=9oIuBmQDg@gUa#4lLQTheo76$E=GfPIlPnC%8ankqUBIAAc7#(mn@gP zTAPiFSH!aD%1O#!U0!63_sA(q@)5d*Y3*{kqBX|9db!-v+RWv6|FX3?m+x3EC$}+I zQQEGp`3v8_TsCiKc0uag*UrQ-oIMatso{0%Mf56{U1UDM zAJF8+{$_2wUeVXgL2_4Lb9h2-u%F7U+s~YnHc4$8HbF zR`_X^Y_%>itD7$7nf!jRndbDp#2n682l?ti6Z-=(^Sb4wX59vVElgE_OH782V}*ie=Z!q2V@kuD{%TlCzEr^}!}9kAx)-`67?|PhKL0kP*7-;akVW7tmCJIgCk!#Hj zH2&V#nNKVK|F_q<)U6EFb;HeUH%xZGa5Gm!w5Ys&c*XDi+r;N1VL(9pOn6<(r{)&q z98ps<%AFeU12r|huQxMl#-;{{`1t|IQMDtc3Si-4(O`uj%6ZE5#GN+DgQezUK*!BD znESw-dX0c+fv?84dA2iugn1pgegY#wy~w=C=IQdqk!C6;V(mzvk?@u?%DjiRgq|K{ zZo;hxa>y97FQ0Hmt{P*$m@(xH$z3uQu~ze8cBoJ!d-WOT)?3VvRs9R2Nngqqx0~u} z(_3ygdqLsbbh|m8+U|UZ`Km(G@ViVE*Q(IC_%5LF%CY8P?)>3w8fz9Yh3fC`G|PPg zs!XrD%SaA!FE4dPUNF*~C9Vf>C<PrG{@4AUi zTkQBJrnc7-$HW$|F57K04tPa6Mw;NGjJWUshH_;^-!faHQXxXwkq>@h2bMTyU2bi1 z7qiLs$f|0THx+bt%AmZ-Cgm+O2#-|oc?NerLErSifeY|yoM)*bMK*7lV?L|7%u%A6 z;3vS!iK+Yw-u`QNHffpTc}UWx%N-Ny!r8fKqeIHGvsc+ocRR4JQptAR?ReDw+ck)bJn@)gP+B#~+2&Y4sf)Kc8VE97*4Y=g6AO`hzh?J6;V5_QG*avl zy4L^~(0C=*y54WDv^)N@=CQR7ciKTX+$_bf>`(P?uMToJr%nd&`T z{uI=?naMp*L0`gByE5sBAlRBjpW3pkc0zQuP2RH8(aB!%ew{plZfL+?9yw80=Ne8_ zyCKS3=gcU>1=_o`1?<-69CdQ5&X`LZXu=^IBOBP_5qY(7i1gTVj`kI(0(U`lM*2EbW_+#~cj9cc zo44Siayq|3?Qo}iSp#?Iq*5^@7-1VtGH$%sVDBuf!xI`|yO$b44|mw%voI7Pd?CC{ zE^%@Q(v4^mflT6qLe0nU5K)%kOJ7E#%~8N0RS^-swrh{9g`sLF*LLH+Vytvy49&4! zj7)Rv#q@yRhQxd@FSBoVP?3t(sLN=7Kw2U#uKcTAIx%kgx>xs^Wx^1+q%bH({gh7D zc^*FOiI2^g*N#vJ&!K}tq{1?-7mO6kj0zoX_U zwp2kbJ_?BMo!Eij_##^wT@{0I+M zMjRnW8PX>jlt}m%tsx>SAcV{p6!yJgT0?ZjH++IdU-%$`W-MI-r5R1F-ZL|`2F)Jt zph*F|f9B-#{+Uyb4}Skf2Ul7uYC42jeU_f-qu!ltPvS8G z$ql;-(#%*l#JueEGHWefHLW4MqipO8*23CGQ9}epz!2Eb7afi3u0#U>oV%D#uYq*S z$mxaea=+*ZHh`fH-&e!3{2KZA$R!pT6)>_7z3A{2V;$i}S<23#ulEuymFCmO66uMR z?se43qqUOHj-3?hvP;8Jx!7A4GKlO zOn@|lC-U4zD}x?37%zd9)L^cc9IeNUCW67CD*`eIpVwl%n4dxOutIpbs@529rc*i6 zVSovQNE~i8TmO;+2jo|<*It72=|jQ1Rr1G|9F?T;ZaM%9rNiR2q;bNsAuWsyRZ|Ir zFvfE$=wKxXv1@ATpGo^a98N(s-5yj2a?Cdf3|C2N?U}^sDl>?Yx|xL5goU(rf_sZ_A4b{D$2YCbizpat}KceifTp z0q)GMG<=u5g4C6BMg_QXZqi}LM5((QV2Zi$F$bUKN+Ho9X>idp9p_yP2kz?4?BIi&gK7XBK>@C$K?>w!`s`i;* z=q+)ZZ-kvre(}Czf3E%R3+$s#c&}noH_^TRzos8JdHk5;9wC44FT3fk^40ys=1gfX zitOo+9d!&d_VCAK(%>_FpEySGgxdHD6Y$*diNiQjwBZxSAjy2!l-k8M@6D~vE({cF zlA}3Ublh=?9fylzpTU8Ou-6yl8P(X{FCAYCi`WxiIZowYIF9NYu)>~Vb2O}0^8J&J zr|tH8w%>k8Y;Cm1a9O|lExg>%Y)^JLBb{Uj_lU>6uI5f8PyrYF3XYIbpM;|VncaQAD9j)!>FR;>|9E0gxU-?gtk&=1VEj^}>_Y?Dt;x76`IJOD#s=zl; z5ANE@gbRPBRXVj{`vtV&1$O*`<4fTR_QubSZ*fxlg#1r;cF0lEz;zbzJJ9EY7YCUjaH{DHDhMi^* z)~QF&pIsIah0G%lk=ULuW(xBDv-RZqbAClilKg*2bXWGZFP8FK^#NqtlQ^M}&aH zR-e2aY82K?9!_Q@-*bzV0_T>7PylKD{so=)*AcJ9c1USm@!Cvw^iW;#JMq*?EU(pw=P|WVSLxiXgS)y8y@&ktXTumL$5P~ zstp=i(?F!V4%ib7#IE-9+u5lG;!bQMJ=9QqNZkGbQHs2pZL0+WGf1Nit8641tK{)U z#!P@#gh$w?#p2g^|MsmWq9M=morDJLqNZXW``0_zl}$y(erqzhsi}BQ@Z2F7 z7j)qGKV8va3dYo%Z+zlYZ@w98{@xFg`%5w9L`dh##DV$dl>_X?VzEgT|4PohNbD_S zywH~1+e{pZo#~^=hAr^@+lnLnl1=WsgV!|s?El&9|J4=GhMvJ-2gL$%$?->jRr$hfRNrMWZm z37gnK99q{r3B8+MolVt-rM92#?I0?EI@3Wcqpw}u+8g4yLq~B-lAUA&}fOVREeq6 zy`MReW3ckfCBKaQ;t@Zn8thM0aieABkTLfsRu1lJ5ns$4xkWw^my4xtZsDvjbw>za zfT=q|j0JdsEf0uS!+rT<0Hb;Wki4Jl@vk#p>n`4C z-+3n+-9uFEdk?WyJ;av$bY)7RGBJG7LyQeLh8I1-cP-!T!y^Bk!;;lmKoeNhAVeHi z*u>UHz*~Qz3sA%sIM@13L@YM;*=zO`jf;HHCzbuuUCd*PdWti7Rx8r)SnFP5En#0W z+zTSOO*iszaE^ldsC_VoaShFGC^%4g@dc7PrMcu52c7S1POqgy;FQ#Yl{v*I4aXEp zSLT_efel5c_7UgipNBqzPx>?+EVg8i_cetJ+Ev23_7#Vc0(MJZQ$RqJY^)!rrGpnc zpiV~~`FS_38^~(eZmb*o{-4<-Csa8Isa*DSKhZcJV2Gga`-vS=*_~OmznJ)a^)Pw7 zzc^25-;FMWf=?&6w1HeuZ2&A|!5`U;1H~cL)bAd2RA9%TB!=d7R0=A%cUo5V%BOE?le3Nvl<|D8~|An_m#J&j5 zjSvF}I*x=i{1;m>Qe0IJXV-B~0KPnYxGr)KcwtP}z?qO%qr^Re_Ye+=kgLHsmYO;h z`s0J-k4UA}GB^5G-(i*;AmD)dvHV8uQNnUWjCKOa?}9_8@E(v?!4||5v7BZ$=l{R8 z+t|~#-rAkqIaQSMllLdYqI~w^EV0dB^B>foE#iC~!%GhCxkIRe08kEs}RE5q}i$Nkz6y?17Kg9a$!JM^Jyc5sWs24Q6n}4C=2i z^UPp_85}W#`qxula`g3L&`DLSStC|Zxa2mdl09#Oo@z#>RV9|J1v@hvqq3XVik+=F zMNC>JHcw^Gx8}&~#5!ohCbll@vfITrsbVeIL${0lQjun??s{wu5o2og@r&$|mt z9te5q8tmJ(VnOngyTqS_F1d8}7mi5b(VmSLl@;_XS@}SX2_*#&;Fznee~k&`F)D$9 zXT!M~SETV&SeOmrWDv*$n#&q(7K?>k7Tzp2sfl+0uBIIT!SF7!_-5QvpPO8}S^UIk z>b!f!WxNqd*A`^*7(+}+F1=6eV;4lz!%h>ctjjei5S9lJ&A{x)VK;A!YABqMu&`x_;T@@8r+uH z-hi8wwjHY7^6q@JXUX;0kgNGF zJRvxe?Vb@A8J)olG-HQ$!3qK@iX=Nf4^=7^Gbe`~e?j~&Nb%@yD1@n;4oS?>mAMqV z^?=xvO}bC4&whDH^ic}t$7p3`D!YVz^@}T5?iJ0bTb~nZ(hQIU>%w>}^wkR{p}iXh+9ph2cZFPi4k#*%y}OtMZ>a_28y$ZQqCX#}osFA+ z&Ov=SXx{&UlfQ$!C@B1#O!^Dn6Yx5~ZNY-scsn3JRB)l7fLwqjQlrv**1b(Z9X7Ug zft&ey7Id%5Xk^LQ(zBq92KhkGg3s-6IBn}waIvs#M_+tXT3E{L0}I}u+_wf6Jm*C2 z>QM!cA?SWt!Ta{7USo|%7es|0lZ!?}5h*yro0!}+w&2y=f*<~aCNCCT9g?dj7Ti@+ z_>py-UJ$zIhwqT=r;ALm$z$Byg)^kN#^ErY#crBj;H}MLDA*6m5Z)$m`Pkv<1*72z zYg1k@zozgtJN$l5gSC^S`vegp> zd-H^ElP7l++-^sKrB4@(M4TbsB>DaG1>vT^rhHh?4M@sAEO?sAwEn1|I0s?B;{~sd zZF3AC{iss1aP*T-Q@yj#qIjj=*xdFA>)c%mVOZvLmj>Y+3ER_KYK+s{ANH2MZ};TO zmgCK>Z4bX}Pzg7a?%`38#m1M{_m#HV|Nb(2tgjRWn!0oJRZ zbO))u$NEXTp}}tMFSWy0a$fH*Vb^8ph7-x_V@cFxF~FB^&VN?~~9 z!Zk;p)iy9a@M+p74>0FIX}hDF+{79A*8%qOK&iF;i^?C5t4BZ+GxNK zcGC!H^B;_6|B=#%-Mit9ed7}lw3$lGpuO#{%pr@9GN;6TnS?K;B|Vo(xIU#D8#G$F z0>R%$OU)oFhXZ;a^$=?9TDhOst+-6QqUk{H&TFo#)fWuii^7 z0)a;0&I5RxTe_Hr_`6Ax28dBnsa3_%*DZ?|{iMZfzNC?|ny|-4Y0KeCtXkx$_v;of zv81KSojhTAeL7Wc>l>CdoEji}D~69Gs<9X{iSO^m%f(CcT*_ zY)P)2EL~)`Z$6aVc_l`ed@qfsN?qz0E|vm(puq zx7&cb!;HDj*nMWKwi$bzV$Mh%GxiL{YDDUqv6m|-Do5&>(YMT^_08Ca6srUNVN~%Q z#R?-0&De5kcFjm5Gj^L9Yi!0UDdvh4o3U+Xtce)|2ZG^_d9p=prL{^#)_S&d7Yxe- zv!wunUuH`<%$R(Bj`Vbn@HCq@Pr5i~_vd@q^ltg}lONBM+;lYf`)j4=8X9kj%_yx& zFN;mZ#wvoz_$so5Pxc*LAjO1dm}jB%gYa~+?RC<8yM61c$@?p$o9T#l(z{%0VHX}t zj=f&e?YPh9`IXWjn6uK2(oo@1Hs(eNr#mZ?@7zelfkUC4ZkFgGH8%EUsmy^}zjBUZuj%OxLrL6YqG+mD0N>$9dW zNu}()JyKngO7vP;GVeu66pV{NTze(s)A7coI}`UxBkW5*W!v{k?WyeXz0w%_+D}>c zeUhK8D-Up=`0{^bCd2emicZIoNOnq0_5RB{IV%NPU9r{ZU$@#BK-{Pora>`+> zWi0W7Z%Pw|t;u$8Nhch_;bfinrNd+e9oG4>8ze=bb!;5gBt#T0^;rz*+G9 zvK=2wcjm%xao1GwFT`@A+K%%D(SacIyeLWzCczfM13LL2};-X_!#guxJE& z-4?nlj&bEe6T^LCZN8LdfuG&^B?Q4U$v3`~jtj!G?5UGdfA^u!F*BzOd&#&d4_}OB zhjut>vuzt4F6RAOYQeWCe&ZU4tG||v{SE0GX*%B>NmhI#!J`9`dF)$ga|-+5TQDyV zJO8b8OSPL)Z#yMT;3I9`8c{VjRn?gc0{z5Z_gk#-Y00=X;>pv}nX2j@{SPhOEy<>5 zq}L2f_?xrR_hjyU`d_IW*5Al;(lfa@hwr)|HOa9r&e^Uw`v}mL&I?Y3-7h!`@w^k; z0%j5gUF=3|ks0i^JKsR!>Kx~NfM&s5XVZF1z$#nWl^PK+K!p@RNF00(gyAbOgy8X9 zXB`Cl&6p$4*#oiudCp4_Y(hYIPUks`al1>cd?&7bUdrmiwm@#s;p~T?!eQXq<8Zd5 zvR^u!Jt^!UIs?d!i_Q@U(4zY6P0{%Ro^LB~RKRdRN%`I#l{-)GoLN;_*w`^HFX$9|EVg`GE^O(8I?{o8rewB2vvQIlb> z;8E0e;S3w(bawsUB523Hb)p%2IA*gM&+w?(j3;^2Y{tVpie}t%mMyG>I~pd+&Z}#F zX302qmK}CE+pronoV~MV-1u7=c{P6nV##l1TtG(WTfVP0lGpR7*@d5Z)66b>&!gzV zH%1qxXKiGe%h|j52rq2H9_CTNzH*lBs*PSg>T=f2g5cGfckpJQ@a^B5L-JOk^QSC@ z+c1aQIqT2Vw%eVxwl=J0?cc~4SNo6pkwiaQ2${_~UB}rYGtHRRDRqCNrsQvB)^B*1sf-nEOzL9g7^fuKAg%9q8 zv5jC%gB>kwp>m`g3AB0WMgNN zgvX3xCtZM+e7D&7pkV*$HMXRwb4;DDeuTvO!1VAvM9(h)yz66YI* z?SFdHXsLM*2ERNba*|SI_-@DmPe)j1)!8uT*wPo-Xw})8-wNEk>YE+>x{*idx)EHK zV!3X_mV7XUAvF?wD<&&d+kT%Qt6(JvPYMvD=>=+m5qm=^dv| z(e(0J@s8y)W_P5CpPX!cwR4W0%~v zuFW=9$uH(O8)T;{>1t;gyK|m%468HK*+25XYifsCvy&a?taph4c1o$k@j#oUOBEB;D6Lzn1Fh6vob;LUtW#y5-Q`^4 zNVUtL`u_){bj{t)XR}i+u^KjNv$G`m@Mh=qyuUmtBOh>nnyqULYqyw9e9&2zEjM}N zgU$s)GXG)c%~G~}1Nwm-PdNp)eY>+&wj#+-w>!sV?-QynW0R9ke^$8rlFmwj)t%|= z_vcA``_sQcOnJ{ZONH9TY-RAVBqp=3yj?&pO% zcy*u|`ZZvQ%T^Cz#BQ?{Al$#m1;4A!wp?)8x*>cSe**rZc9*RQ!U}}M*M=Z52O<4- zBTYs~<>;rEn{j$Rh&+)V@H@BEg?p^lxy+cEQ1#4#-v&UGiO^__(Xa5IX^TC_WlPCf1BubEG`MwCUFa6Cm4_n0{};6v0o*z%f3fjUx~nz5 z1>yzi#<%)|dFYq{?nk_#0bYlOE|dw*KBzA@VkPf5UBbo8^NzD~#qos8R+Jk2RY%jq zLrGgQ;%k7NsF{AlZm(W;az^}4OUq_t(*kB1MLGQG9%vyS{(s|{BRGy{T44JS@(QFpm(86*MnN&+MaEl%0;UDJrS3 zO#))R(g=IAjKbHVFrWE$$g?)0i=}Lbe3z{b;F}_>h45p*(F9E%X2SDuCDO+teUj+1 zg>4gUHWwcHBf$mC?GaWw%=ihgLR$8x5N|;FsdCSvwbpXqpd4@D-%y4og?=S}Lt|O% z_nnO@?ng48mq|#@HA@)(??#-@DJ48@L2&|k*0Hf|tR8;}W%;0s8F?j$r-Y12!tbCk zZ)Yf-X*6PSM*KL+78*G=+lCCp+cL_YwKVuZM%iOVS<4c#7np-dxX)!2cHL2Zb{nBA zZ$xIBRrEBqhGFubYA~d*<4CDDNJ#)mz(eOd3 zv}1VY^uzNPA&nFaj&BpuLdD?H|`XMoPIfF1!TUxd8hcL9{M z9Rf9n%uu|owVumT>jMBKLCaBDjQ}e*qnWcd!-ghh4*!$DMT{(ktD>4ku^X9u00>!$ zrB5ykGHO5l4xv0vMz)3xK_2gKCN2fIOc=h1f#fIvtZMiX5K3WsIa)gws)A3~{V~9; z3*vXcdt?DW32@HfscUJ%Fvzmn6fNarl&<|ez^!DN?*a=?H-0o~Q|OwmhgyKIvYeU|O{#MyFWdqi6x`kmWF*C*Lt zDstH_M_7tDG41P8;lB`)M_>i=BM2L&%FRVcoxiWpMGBWK7xB7m$rny{VH`<4kTe7# z@o^7}9(T6P`vU#z&t{?o4$o{p?yOgF4N^iVz-??#UDL+C3~AIEuE%DkBg^(`!}Q>{ zx;MRYDX%}`dggnkW zvK;x{kzR^F>InV5jHV5Zg*#{|ne`i)wAQS@(vE#xt*#hcS!-XRFlsyMeBW zvD6JwGQt9$t?}~#PF#|svyRs;pyFJFU}L|5i>jsH0hF&MO038X_G^|iNav3l_70HI zr0|A)f;ee%^s~ii)34rYST2eJ+(bOaa67HVD)$iWx22kA3kq|!`CvxgPl#I^vDs4g zsbuvA*M6jWe0!F%Ra~`kM&Vabn5)0dGV;1)#E+sZ=QeL=G@>`kT08dz%5tIy-ioT# zKtnnr1F@|%%~Qu^_ zR%>w|(m9cGME#IPi}GfKd|NqNg;Yl?l;MQf9?zsFEUYLqtvKHDHxciPj8OA63&9aYtIO zY-a)Qk_Ft#da{7`wt$bw0X>hXb6GB!Oob z1p6$FUx;VE4*A4Q05~U%>a`n!wzg&7S7oVvGQf#XadcLjjT1PbCE8wRY08!?xE5A# zO1`BlMq8|1*_s9Z`V@S&wpiOmZRu_4*Hac;)K>bf1}=-7u5Lf_1w;i2nYCfhS&;FD z-1$3$^n1A8uENzcJ;G03;w|A`AEtfOB=2z%z)| zI;Oa-HqPT9)&f#BjSURKF2VSD^xs^tmNim?RMD5MO??9F#{b;hx)emrY6gG zCuSf{GMT6I-Hnn|xlD~W6K|@%3R}C5rc5S7pA^2uh?Cr`L`bSLuMm&6Z`HJrAMsS0 z3@LA1M*IxQa*EE}Fp5=`g@(qBgHB%4Mes8KX$0su9BCZMhAJR4uM%<2^WQ=_vV6uN zBvttdgfyFcR6j(VM$3agzDC6H&~SN0TQU^>tr_upzO*`AWgIZi56*g#rpV%2^*(^* zpbq{!nt`ST%5p6!jb_bPaDcSURznKUNei0CCzvbhCzK}>R&{hoHsn5r*muK z9^{uGzXBoAqZi>|gjIwf`OR@3ibNWtO2lc*jv*vM;1q^O+lEBi&tN(*DAoMYy0-o< z$F3(IpLK?_Bb}Qrn=)vuzJt3iP3yK+?a->WP62Z3fE$d@;4j9G=sDEKf9IAm=?7<7 zg|$7aGW7W^h;y1ExT!$T=`Yg&IhX-^HOg{jDbr3knJ#PEB#B_U-Ba*PJTedAXoTYt zlKn?NYrnY*+o!ycq+aN;OXvJH3CCvvx0B2)J~xEdkx?;^n56-GMP^~m7_Ia#kDmH zu6L{VB;PU*%`@TmWx&r1lP`J68K=9(7|fe-*YF8HJxhVQyW_%g9@u5#Nild@3``Za`V<)Qi~1<2*XOZ;EC6Vdu1a zjq@N6(uj2}L^uTDD+sx@*apwM=N!?6PA=nc0d?wGJoB}C0MERENAS#Xa5%$3{53N8 zYU0d*5dDC3K2#jh-AHRpnfR^4Gf7AK6=)`N7>Ts*h`)uAAs>4i#M@E<{7$3cydH{Q zK%DLS#aY|fNf~Wn86uwf*zt+Y?ee>Ncn=GBeLQn89@YamZ!A@wW*NpVU5N!;$pT&m za6T4B+u5F9QX8ArhKI6%wg9M=ax?4?Yr}_S0sj|9mQN?uYzSh5+ZgP^TKnWI;M_0F z$AQanLe&~AE29VeXt~b-JpV1W;Noe6P@bzMiRW0>u<2YQ{C@&HPz;} z-Apgj3dDya{h}0dDns5U9qH7jrU-i*S~1?4ohium^7f*#)`oVQw*`+)4ehxifk!$t z$yG89_(?bJg+Ic{U9*|08c)wuPk4GJp2gi=2F`21dz%AqDqdl`4hij$a2^GS(wp}% z8}uTciDI;f$?NFQt|pG>76L%P8bd;VHc?vFGsc1@SBDfR(sv(?^{rh1AG zM`2DlnVNF5jIs|*N$a8QkY^?J!IrXI>*HGBJr$^gj*;<o}{ROzSA{%KHF-7!OCvr{ZCxS!pD* z5u6q>%Tqm{0Vntg_tt~EQLBt~8Kt#Q`C@u4ZNoEfJP&QXO)k#k1~?(cFVn@b(}L>& z;bJvlArz3wR}3_%mEgc5*U!4(nXE4Qwc1;KghnIIYo+|&D9btHB;;9n)q@#jKbn@N z4KAw)2ZUS2ucX^DAof!(e%TK1Q2I3}!-=g*C?S1;r2{h3Pq1 z8fhi$)Jy5%cj1|Ln1`xG)1=np11{X&%KC`q&Pxq_oai)_H9E*j0WXsYsF^!Hxi=8lg&24f|!yr45=9h z(u;60o;jKD@JfJlddvd8(gMCA3;0}sThtMY9cG+vskDG^BXEOjvL0uhxy45T+6+}* zMAhO)Eg~=8BS`m{9<)Vxq=}g^)Re``KhvieX@fH%oha`H zNT*_iwp9F1Jd#6&$G6~7!5DShR zcqhtI1NkqrtOsTJ{QatIMQWjP;7-3+IHPQ<@oD6zuHq|$l08L9ZN;Si_fBwIZ^ z!%3EkTMv(0PyLKOSbcg{A`YBYzaxO>+qA1Q@~W4`{98{5J(z*`NJjiaAm)qx1oAk$ zp_-M~syE^rl;!@DP)6P`9_RG;3kn;{35Z4`(@K0RdEr$5e#^_3&Gf!>gz2ClP%B&n z>BJw6`lrBE$SHIdp6RF={j4L?6#%5c>_Pqzgf$T-hDkpwVyoM+g_g$4X^hH01{_2` z_*Iw|DxPjaB0t%XtwAG@&+U32p1C?@HRUf(BewBfa2aXjqM_e%G@1yU|0WKDI%Rc< zy~!sRMh%`hP4RFo;H{keF2viWjntzSa5)S3D=1Fm%+c|MNzHi^c}-L8A`Vj9f~%PY zSE`8ZG|F?m1Zh^Emf>d@XMt~Lf#-E!0DM}j|J8P(&jQ{%3%GM+^^r*X8I0QZS-=Np z0j~>iYwgVlU0SU@V*wwL1^f@rpjrE#?GSZm)Mh0EgWsiVUuda)PL|pS0-P@wnvOKM zp}$$dS7iae6yQW=d?q-zB~&`{+S3DmLWtITrM0sKxDO~B*L^TcE-jKht4Qid>x2tf0n{Z@rpmHm%TYH&l_#L%0>|_dk|T>9u3Hng@}x6UNQiNCc) zNLJnU(JtH7hX1$u4R|E&DU5I^LaSCqtk8jU)%4uFcNyl<-1mGKk9f@%-r~Hg@#r&C zhv3ol@>J9u<+9BM_%ejE5S~Ry8yVb;kD;;T`XP0kI&pZGxdoM(UOCS6sO(1AALXoD zkH&5t(&*RY?KJa56z`ZJfe$Sea6zv~v1i+426C|?)=~mzs!Tjqp;yO1`X%scs|!{uCKV#q!GS1|1MhD z695eWNXpIqh||XBOoT)bnFti5N082^>p8&nK)e_J_^4WSm(V|}kD$RbP`2u4mAaEr z*s5b>>Xuds%LN`GvP$I6TKW}8YkKOqDp_mQ->c$IZc1+oV6GJNA)|EeZ>4AYO+z_3 zEeVgklNO|>@XQB-hrf3YcNtJ|1>WfIyJ=kKEV#^yq41-;g*yzdcHH%DWEy4&N@pT- z0Woh7N0#Y^PM_H_c0}u2+S2M>_FjFtNsT$Wc^of-&}$l1=TPeapv>eDpCO&JF1~~_ zX=QQDT)JHE9TPXr{96zb3%CV;L=K$R{*839k)FUG^(0jvYx;vTk8Nro*S0rGuqPYH zeeI`6NSM9dy~R$3D&R?!oCTnQ8*;Q9;R?ag8hfW@d?(cF~V4a zEv0Z)g1t)Nk_0O%Mz}J;#!|RC!S11OLxO#YuwqjpE$D|Gtv=qPE%Db;jwbzKgk-VO z@2|XC?YbgOr~KvM?-Q;j#_143Ru2V8Qu1Fj#8rb}&8=>Q> zLrsOP?&SJle%6($AZ{hD$KiVB`da4O!u>PKK8vy`|96Eg%_+_Hjm{{%ABDLxGbtl) zaz^~^G-BHfJm5dHr%2jPg?@D0m6UHvVhk|aVt~F0B>gj?~(<)Ilwvb zW@&tH3;2jE;O#TO)3VC604?BCvw-`5zwvV{;LEds_spn0qwlLM;G4354+J=;d+NKf zZqf?G77O@OS-{5toLD5ENbBB!l>mvz4q9+MXTe3)(ytu2h&88hRaB#3E=;IkCbE55 zkSzc*B1qmaYh$iQo>jB4Htc8>E;j0jvxvD`$hi&gn`thUlw3EEE(G%VGg*fga@~eQ zklzk*YknKVJI-ViDF4C?2)T@W;%IwjunuRPb=z-7eo03DV#F6By*a|+2npX0X!saY zwb_J6k^o!#P3vSBLUQ@lL*XU}Ii9Z4@2kxpa8)9=UgVElaw_>d)i z3!bU3yO2))B3}MJJkuE7jC7Uc0na#yM5;K34BB(y>2KqinCs7IxfRiSNTc$vTw`wi zuSQ5C@j)tmGU8O8r+<=4FF|^LJR4_HY4(nxM+C@+@<}|C=j_lta}Q=Eo{7x5&o@V^ z9YXSyUyD}J&|Z!>4LwhviB?g1higskv<82x&yVfiZ)k!Nl`tnE4g9*~p+FzZMOk zf+GDTTbgMZn*J z*4-97h{)KAkQA&;gg>Pa@@aYpe5W7!g=X%cz76`o5haa#1&eCkGhOMW{%m*9`Lh~AE zle@TL(Lg8|4~BxO?)8QgFWcdhClo~$zb_UId;Cf$mI!z}O%@SIebzA`%WR-u9#|BN zDjp@^Rdl}|@FaqXrsY*7ir68)94HJ1G(83k;Xo)6@P$g!1^N{Q!k(Bv<_m>lULB?4 zrBeyI2RrnD>}2gia$%8A^D3TrG~`btVu_enEi=H4M&q+*yqGJR@N4lz)Du%eVQ<)@ zvUpGqghNUqrbLx+$m`Vt{&28a^XSy6<$9-1iD`52U-_(QQG}D@epQVIRDV1i4QjeS z)_i_dABm64RbULZw#&Hp$KS3u`!FKcWB=$R7uVGi3B{{vdcq$}1bs@Vecvu~y(*h@yeyw+!}R-qyDfzphTmJHyn>D z4(o&Bp3DxiS>ApbRACHGU?uirWLfeVPL`=LkKC3()QzLBVBpKgW>LNET ziifpuBB&}s4b{ivs<$g!(-oP=M&Jv`i@L}~g{sHr(Y3Hw3u%f^^T&N`a~HX*%j1v7 zd>9C?rl2Op&%Ws*Ut8o0g*{$X_i1X}mk6nWz)-g4QH;d4tL2u3o|q@-_j>#RHLe6S z3>bT*tK7K=W9pA3JU%V%(P_p*Ar|c}H)KjTxn_|+s>C&{m2fN=_Nt*+*orXd^=NUg zPuGGTzh8}cJF&aF$=!-ViWXE8Sae!U2}CuubI?Rs&|R)kl!)rVnC1;Ao>))~_`O}s z%qCN&Pnk0%I(5qIIFYC~77k;n1*2LlmQa0N*`)4rTNg&k8}bJOv5+t7NhG{%Vt2VQ zwNqp-beF}#Ktk6-xHZ_XW8JG-usb`_U7lK~_(LAuA6Ioym?shT^DK(!*@#sUC9OqJ$R%r0CuNdaq*Kd-gFi)rj1vNcC!7jB+^SQ4)c$&)+MR z3CLQke4#8CC6o|uF7}4QLBHztg_PcY6MT0>b{59s{*V&#L}Q7NCm8hWeb~_mxKB(E zW9>$LT2P63wP2#}0CuVi<{{BjZd!z1`8;8-5{~JL9#^z}-OS9Bv*g-E9x$7*FQ)l@ zYAl4F_U~n8j$er7vu&j8C{hBrJ6ZRKK>&&$D{MgjsuE2KJwYFqjW-z7qTyg%4-I7T zUUDZiGo<^_0WIwFCBT&iv2DHNQnx=8)G#qoRZq|~tAlS5*q*^)tWsBWLX8GJu_zdr z;tOKM#)eqw#ghPk)e;_W*sCjEKZtYHD0zHgSOsN=Vi;^J#CSY-F;n`;Ex|3l;Q-O3 z?hEQ+%{QzIdtm|Qdqp4FRg_SbSTyL5CldY;sLXpw=DI0TbzBe~O2qUS+6yuro@&XV zd2*{lCGL;Lef}^OD%Mco(vX3=$=vC);8#II@qE620| zJmHNe^sskiKN^TKcDS!xr^xG#1`~l8NIjgue5s={z}Mp79GTB{mF@`xeFGF)Yx4q6g!lsIDm!W?4$q87Oxx z3I(GeTCWc?7)$uWiHQp>C2kxj_bUt~;+m?U1HPEw3obs1eKb%`fM2Ph0J^QB+ffW$ zbf^hfJ_zzj_o+TL>Qz19NB)=^({wZQg+Zt?fi>$3$1yMd00s@Lo$bCBS4*}Yj8*CP zhvN!_YCr`)_G_LP+dWvmh)o_W*D3-<`yki6@c>9y4Ts_ZgI*e?sU_fx=>bjiKmx}@ z9yFJry@ergQ=g`XLV8s9#o||VWxp(ti_4})XHTA(0*-;!AWq}4Fi0}sPk8)M-{kH_ zIW}pCTvQYcsNk=P56f2z_%vloFEexV5b&v>7FMvL{TL^xETPzyJ|nXM)d0laV8WvY z@L$-cCOnFMm32ABkwg;-*$4!lz*IJLsJytyuZCl)f(zF{*U^~AGtB~1l<)m)mFXE|T~rth`@y6j1w#Qn5cd1a+4PI$9)*4%RFe?+uMWBj24?hNo?9U{k6tXh z3-v^R6dBBiqDC>XGYw8t6!$l!%m+@V#OMJD(5_&^L; z8sJAE1#Ir>xm2Pan|_Hrv``KDaW8$q8}J3ZzOW~74Ldzt_7{PrY2Zar+~VMJzQDZx zYP!A^bcvOwXNl?dqi-oR6Zb`RJovx10DW6!L0AYopY5BeW zgaWel#S`8o!X>QyV!0hDE_K|&U@Q#wru(qQu%?1bg)Z!;Q5X#{w?a2GR==MpGo;3_ z*22qDxy`1RPn$A5I;VWr?1|7;X_ypf$BCATkBqI$rKA@+x(;bq?p zUMBZ-YjIEtWM5E^#}iQ2ZV|3Ba|etj?Fus23$0Q0g-B-qk1*HFOpXT2^m+q{xYq+v z1;iDK-O6f>k;l6I!H_?S&m}~4)fW!?;;V%jCeX$)a!)sOP;de0REmZPiz#b_X=ZMX zv2u5J6hsmWft9Pigcoc2HetG%d)-(pYmluTg&h!!sXnh353FUckCi7Es*v2!xD{U* z8G)#O9qV^Fw0Oaeha-rEJg!AA$rieD3*MT`)9Cr%?BP_+aYL1?|uo<1nh zsnhJKQ*;W-XTgM-h3^>5G89GKuPIQp;)xgpQCRmdkkYtmFxi@nlWV(mP1OS!XejDY z%v@}PFx*s!$BmQQ7A69ED2i#0!=#CN;=#X}ldX9m1frgxCuGR3@J8ksFK;OfLOEB0 zV23b2bblav2YYV3+_^9u#h9wWgdYMIq!rl2#0m09x0i^_2fn01O8Hg&PJGhRFeRsj zef}N#kimv#S@ZG5r4fR>^=p0f{ zK>AP+phZGF1fWk>veOemJK+RCAptdC2;>tCZ|10H#pleOH64J^Xvz4+(n>@%m}U3i z%fM7Q>lBqGHw+!9zKX8JusB1i_uf=)BP}{LI-RCqvKsP%r9vcu`{_Y7zQrW_U;;7$ zlnL821RXVYpRnA-J71HXZa0&`}bxI7D0=3TjN*#%{ero>N~hpD`aDf%_n&Ms<%D zZGtN5dxCNoxMA=GG0afabr@}d;FH3Q<`~^D8EUbrVd2MgObhfFHSGPnK+?CnI}Cmv zfVPI724L#xPvNtMPxO*YYG=yW4yv-9b(|tkb9=&C3|av=Y#h2`*uO(qY*bXAh?MBa z@5h=8Ld<%hy(oz!^IR!+FZ8K_1QvW4@*Hb85#7m_Tq!Rp@@tyr_Xf0(4?3MM{505Z zp$3M>rpoo)QQ~+}zYog-%~zih9uU}<U&vYDWwU>SJym)M6h zv6@}=$smTJhO!upSa1%?8zat_=SmZ>`!g{w>V#uA|KD2C}D5a0%X zo-j*pSOhugfrhWa_W)zje-MI_XPTNAv_{zBVd%b4oPtU`{2DtvOYT?*?L~)fq9icS z(8smcS>bHi=OnlRX=KkD`Rv^NA;WYb|XR!QDMGRUFUML`~MUo;**#42aY6Wy5I zsD?F#MI3|1?mrBH%w2!A7@Gix3%pv<5PTXCO|beBDyuaIwkyb;7I=%f z=E&pRm?XG}5|CgTpgii^znUjExVA@yEe`vK#H8n+S&9%Dl4cBv7>96u=hsEzF*qDG zP;ng0HQ|rHD}+sg*fSTy56usTX(9^$7z{yg>Au>lQO1Dyn*4||lOg2g`u zHw3&nFfFi(!|;wO9|&yMQh9^9X5nXnk1HDR#=waaKF^2M5yQ`dg-Lb^%!+X0-_~3g zytNpAJr)Z^W01l@)@eTcMd(>P7K1v5R)KgzZ0>yYPticiU^H434o*eqx7Nj4K5)c<2abZUt_IPL9t-4fp&kYG2cdkaL2@L;KWDoZfVP7{%sF{3 zsIxxBdxBk90NRGcCNcmo3Bo$@`@R5e!tLj4 zaJj*lSNsXmbArk@?AFC{Sz*xckH#=3x{753mF-(LW09<|rWFwOa011B@TB`y*n9Bh zor0b><8cgd$s&k7c-ce2kOrlNe6s%qX=&3 zb|BR-1MxsSriH&}_g2Uq3N@@HI6~ua0>B5U1^>%Fu8@On1&T8)rUXoIjI|y-hi?k6 zSuDF*_r-FpLLWQ^9#z3e0o)f*eqa+9!*3Ug!oUfIJOMwb6Q;;{ft5cFi%`R&^h1jw zhZwQ+AK9}@Xt3eK2Z13kiZS&helj~8Rzo^iE~q2{S7lhaz+PMo?}A5#+=EaGBR%Gi zhJI%GOXS%gEI1r|@I&aZj$q>d!fsk3m$<;;H5gtxgj_fd6O-jFmG5`KfD8J*7ia)dIM@0x|9k}mb$_|wF}$43^wp>%jDiJI1;gt{op$OC`61Fh8e6nN?(BjH1+O8`KUfr8j_j2caz#DhiF^IAD13+>FRZ^??7g~NJ~zY; zca<+%|ClVh6ll3%iwR64{Fl)HyX$&+R3TgeaR?+0LQvOy(ZsFn?(5}|g*yBXsy7br z4n({s7Fca0yU+&@R48J>m?3YJ9lAkgg?{ue9E^edu@0fMty}v;UK!iCQXb}lm8ro# zgtiA?fIsGE=U2ka(BW1M!hi&~iN>J1GB)Ej_?5=oD0>Q_gK8SM8NA(zL@26lSX-Rm zggt$u+^NV5EfU)dv>4#}@PsznSu`Q{DTK_5V`B?cA5Zv#ci69jK3U2Z-UQ-7Ye0Km zkQz7+>s_J=`dfi3n@KgK59B7fl4z)|7Q^uc$ez#vs0u#X|9K|L1#A6a#W1G>i-@~haFgJabf ze9+#_Y)#Ya$O{%$VXrAH@)FMZ%{Eg&pE2%sSi(+JR=EfDMHG zG1`pt`q=ziWxWWjN!QU<-5-P=qXo9&ZZ9}++?kG)N9_~Lot@fiWRKhL0a3%12XC++ zE^O^FdrGd&T_Y=Q=p3YwV^0n89%J=*HCW6#F|q zQe^RUoL1Lbxy&7az6+NZc04f!zM!(*p4ylkzgF&7lmL}^L2Yo%U{A*%-eEUX0XJ;C zD3%XN5Xj3wENSn{o(N#V09C-Gb#h&o>eW5a|6xxmu>iyeQ`X7dTrt0~-3EpSPb*df zTeME@=t_XYLw13W!G^UuoB>#g4obuHu^kj zh&{&Su5O_6Cm=6kq=0BzXrKLJg7F&C+#T1kO$v<#9-g2Vds+MKGbpz{o4i5p4?#)d z3EH@d0RwkqyEn+A-Pn@G-X$ao_G&`#O1y0E!Gt^HmJMdlpFJl&4F+2jyBJ=uY&ee4 z+NjE|`kUOY&LnS1&(~tFg$UeX*!k)hanhFe0a3T*V7~55_7!TVcB$Ci|^E^@j+suQBl0$ z4dWI4o!JXMZnrx-Gkebe`+vXxmrRD^3D^#_c2@WS>xGZB*k(Dz#Omymp514QMjsZZ ztj@j#TOsC(J)U0bWfrBtlOJ{NWD}^fb8J*!GHDDIM1uti24A7pO`=VREcpVoQ39AV z-}@M8)OSlwPKv8b0kD< zMW#+45^H)APlpQ(L{Ram=%1io?{CBJ-!~_!t9GC_(9byMfvapTD?4XAtIkLftLu-7 zYf89AG}g!Zuz?vFP%DQKloXFafkfwFHhJWJ+7gtKhe0bi3m_1D?5ZcHD4gKMDu)Q* zf~a2VtK}(iKkaZ14I|^@#2O>tmQ9pQ!{fT=)$$DOAJGEF4;{kvYeoIK^PxwMhz%9` zE_@mEnxw#Wv*a6NsCCHYBVwQe(~D?g^erWf3gv~)yZ6qD0kT>M09wx!0`yI~->QjO zad!n8Oc;p6!*==H`|pfV{Tr=TE3;zLD%QW0K8qaPjSz_Mja|U3t+#wTz?9$f1ux0jz)32)xmiY-lVk$un7%AdHKRU z=0oeBs&zYo9{iXj|Cfvu9 zN`ncsttzo7)|9C8k>xPifyYHdGqrJ%2|Nsgg%`xSu{j91)qzFPSBj|T5EhP{GWJ6g z_}-#ulr+n~!G$fWx=8-qMsoK3Hw%pi#6m&29I_kIV Ie#gJ(Ki(F*tN;K2