From cab10e92ee5254732c95f0e7833572a33fe1f3ca Mon Sep 17 00:00:00 2001 From: Vivian Plasencia Date: Wed, 24 Sep 2025 00:02:16 +0200 Subject: [PATCH 1/2] refactor: update semaphore artifacts --- src/proof.rs | 9 ++------- src/utils.rs | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/proof.rs b/src/proof.rs index b6bfabf..9e5b886 100644 --- a/src/proof.rs +++ b/src/proof.rs @@ -124,13 +124,8 @@ impl Proof { let merkle_proof = group.merkle_proof(&to_element(*identity.commitment())); let merkle_proof_length = merkle_proof.siblings.len(); - // The index must be converted to a list of indices, 1 for each tree level. - // The missing siblings can be set to 0, as they won"t be used in the circuit. - let mut merkle_proof_indices = Vec::new(); let mut merkle_proof_siblings = Vec::::new(); for i in 0..merkle_tree_depth { - merkle_proof_indices.push((merkle_proof.index >> i) & 1); - if let Some(sibling) = merkle_proof.siblings.get(i as usize) { merkle_proof_siblings.push(*sibling); } else { @@ -150,8 +145,8 @@ impl Proof { vec![merkle_proof_length.to_string()], ), ( - "merkleProofIndices".to_string(), - merkle_proof_indices.iter().map(|i| i.to_string()).collect(), + "merkleProofIndex".to_string(), + vec![merkle_proof.index.to_string()], ), ( "merkleProofSiblings".to_string(), diff --git a/src/utils.rs b/src/utils.rs index 7ccf8b4..912a77b 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -40,7 +40,7 @@ pub fn to_element(value: Fq) -> Element { /// Download zkey from artifacts: https://snark-artifacts.pse.dev/ pub fn download_zkey(depth: u16) -> Result> { - let version = "4.0.0"; + let version = "4.13.0"; let base_url = format!("https://snark-artifacts.pse.dev/semaphore/{version}/"); let filename = format!("semaphore-{depth}.zkey"); let dest_filename = format!("semaphore-{version}-{depth}.zkey"); From eb35cb522b3687b115d472366333e960a37ce1a6 Mon Sep 17 00:00:00 2001 From: "Ya-wen, Jeng" Date: Wed, 24 Sep 2025 11:54:47 +0800 Subject: [PATCH 2/2] feat: add script to build witness graph and update README --- .gitignore | 4 ++++ README.md | 6 +++++ script/build_witness_graph.sh | 40 +++++++++++++++++++++++++++++++++ src/proof.rs | 16 ++++++------- witness_graph/semaphore-1.bin | Bin 150772 -> 150817 bytes witness_graph/semaphore-10.bin | Bin 239377 -> 239724 bytes witness_graph/semaphore-11.bin | Bin 250668 -> 251050 bytes witness_graph/semaphore-12.bin | Bin 261967 -> 262371 bytes witness_graph/semaphore-13.bin | Bin 273246 -> 273694 bytes witness_graph/semaphore-14.bin | Bin 284535 -> 285020 bytes witness_graph/semaphore-15.bin | Bin 295826 -> 296343 bytes witness_graph/semaphore-16.bin | Bin 307115 -> 307668 bytes witness_graph/semaphore-17.bin | Bin 318406 -> 318992 bytes witness_graph/semaphore-18.bin | Bin 329694 -> 330317 bytes witness_graph/semaphore-19.bin | Bin 340982 -> 341641 bytes witness_graph/semaphore-2.bin | Bin 160347 -> 160422 bytes witness_graph/semaphore-20.bin | Bin 352272 -> 352966 bytes witness_graph/semaphore-21.bin | Bin 363565 -> 364290 bytes witness_graph/semaphore-22.bin | Bin 374854 -> 375615 bytes witness_graph/semaphore-23.bin | Bin 386143 -> 386940 bytes witness_graph/semaphore-24.bin | Bin 397434 -> 398266 bytes witness_graph/semaphore-25.bin | Bin 408722 -> 409588 bytes witness_graph/semaphore-26.bin | Bin 420012 -> 420912 bytes witness_graph/semaphore-27.bin | Bin 431301 -> 432238 bytes witness_graph/semaphore-28.bin | Bin 442592 -> 443561 bytes witness_graph/semaphore-29.bin | Bin 453881 -> 454886 bytes witness_graph/semaphore-3.bin | Bin 169922 -> 170027 bytes witness_graph/semaphore-30.bin | Bin 465172 -> 466210 bytes witness_graph/semaphore-31.bin | Bin 476460 -> 477535 bytes witness_graph/semaphore-32.bin | Bin 487748 -> 488859 bytes witness_graph/semaphore-4.bin | Bin 179497 -> 179632 bytes witness_graph/semaphore-5.bin | Bin 189072 -> 189237 bytes witness_graph/semaphore-6.bin | Bin 198647 -> 198842 bytes witness_graph/semaphore-7.bin | Bin 208222 -> 208447 bytes witness_graph/semaphore-8.bin | Bin 217790 -> 218053 bytes witness_graph/semaphore-9.bin | Bin 228096 -> 228403 bytes 36 files changed, 58 insertions(+), 8 deletions(-) create mode 100755 script/build_witness_graph.sh diff --git a/.gitignore b/.gitignore index 40bc0b5..0ac3447 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ /target /zkey .DS_Store + +# witness graph +semaphore/ +circom-witnesscalc/ \ No newline at end of file diff --git a/README.md b/README.md index 02ac789..efeb2c2 100644 --- a/README.md +++ b/README.md @@ -96,3 +96,9 @@ cargo clippy ```bash cargo test ``` + +### Update `witness_graph` with [`circom-witnesscalc`](https://github.com/iden3/circom-witnesscalc) + +```bash +./script build_witness_graph.sh +``` diff --git a/script/build_witness_graph.sh b/script/build_witness_graph.sh new file mode 100755 index 0000000..42da814 --- /dev/null +++ b/script/build_witness_graph.sh @@ -0,0 +1,40 @@ +#! /bin/bash + +CIRCOM_WITNESSCALC_DIR="circom-witnesscalc" +SEMAPHORE_DIR="semaphore" +WITNESS_GRAPH_DIR="witness_graph" +CURRENT_DIR=$(pwd) + +# download the circom-witnesscalc repository +if [ ! -d "$CIRCOM_WITNESSCALC_DIR" ]; then + git clone https://github.com/iden3/circom-witnesscalc.git +fi +# download the semaphore circuit repository +if [ ! -d "$SEMAPHORE_DIR" ]; then + git clone https://github.com/semaphore-protocol/semaphore.git +fi +# Function to generate Circom circuit code for a given depth +create_circuit_code() { + local depth=$1 + cat < $CURRENT_DIR/$SEMAPHORE_DIR/semaphore-${depth}.circom +done +# build the witness graph +cd $CURRENT_DIR/$CIRCOM_WITNESSCALC_DIR +for depth in {1..32}; do + cargo run --package build-circuit --bin build-circuit --release $CURRENT_DIR/$SEMAPHORE_DIR/semaphore-${depth}.circom $CURRENT_DIR/$WITNESS_GRAPH_DIR/semaphore-${depth}.bin -l $CURRENT_DIR/$SEMAPHORE_DIR/node_modules/@zk-kit/binary-merkle-root.circom/src -l $CURRENT_DIR/$SEMAPHORE_DIR/node_modules/circomlib/circuits -l $CURRENT_DIR/$SEMAPHORE_DIR/packages/circuits/src +done +# save the witness graph to the witness_graph directory diff --git a/src/proof.rs b/src/proof.rs index 9e5b886..1451fcb 100644 --- a/src/proof.rs +++ b/src/proof.rs @@ -511,14 +511,14 @@ mod tests { fn test_semaphore_js_proof() { let points = [ // Proof generated from `Semaphore-js` - "12803714274658725282520630356048215594611199462892068647123162130999777821470", - "14790427909013880978103423555540996578520237818660256715698081866578524307407", - "3103638479093034897036418556462341694689838452017242207620861422678426008987", - "13727581952519649861097277152692845564872363841132502933894854130976607522628", - "9411534790044921634269896122419705846815252106674427620586249081562203834159", - "10009619289272081097084761045154085973406496068797344071367935854823051916935", - "19672409605818107675150930119466509196235828486217699330399295338263828234556", - "15472461797587690185190826432462453505284546376663377924961837387512711582919", + "2448901300518098096993075752654536134313649038239216706400667219963346227679", + "11383357624181217239434984412545229801919536849542936327488167664579097021171", + "4740704242184999702574958393302343834384154042177684026319208048433986938524", + "2103898499672759617084297744151588687300569178309824227315704845907524437637", + "18126651739688030584140960766793516019865850111238360168731489534891060767936", + "13293264290162772264887787723520088518667325866686508255341288441681546077334", + "13860303418198054644271827809984867757526756615344099647083475463061491185143", + "7750331146056656453454308267328134694500438800080743301030181391570997944788", ] .iter() .map(|&p| BigUint::from_str(p).unwrap()) diff --git a/witness_graph/semaphore-1.bin b/witness_graph/semaphore-1.bin index 8e1f0739158268454ba95ea3fcb36cbc19c1c502..e6dd8f0f6a32bab789659ae8cedeae41a5da0b0d 100644 GIT binary patch delta 77803 zcmYhEd0bTI^~QfBGl}f$z+vB+q)f@yW^c2vG)>a1&03qKX=1h}Y1%9u*%48|7r2NU zn}~=kf+(m60*Z)=h=_=SD6S}?h^Q#P^S*Ol=j|VJpZh%Lz4v>MbBCET^GU}S+UDol zdj9zRSKmeb<6kqs`7G-0yYHzD{Xg+PHao_+z~=T0|3BMYW3Dj)8PhW|`~x#mezm!k zcGsEp6B5#9>;+#>QPP`%va%&x_-IEQ5c@U|2McWxXi!S<(&` zZDUQ*;;=vbNu=M&H2)>B5AtaLk>Y1r@yyGjVz%6OeNY_e+gHRU{8f?q%4JEi?A5=B zAXNrwGHA7|zx0~OGo>B;hB)3nv9Sr1%NEJp<}FblB!fID3T4Iew?##X+#j<%Klc1p z95~?}kygmG>RquPCJ$31#X4EBTs)E38}Ez4jna|L=HEonCW9R^ z$a+L9)c;-NozmW8vG4gvq{CukvtOpJpNMLcJX*gL1F~Z6r=sGR+;0+3b9Uq(;&@q~ ziS#bH?99!we~RF|3@*yx2f8i35c#CcuS#*B6u*-z@-27JgEDwt25(sIpvUF@x0V~{ z5xM`&LgW?F8(WVvs!+;el~zFyp8>1b;00(<}G)S@sXg{Z?`FG8@Ys zIw}Cxu0OUXGi7!51$MEDzUK{mv+A8*1atE&)xH! zd8-a|b|Eun-0ISrYDq}%P!TkwbXU0-VBS^rFxDQ zuUqvTY(vcaBt5EWZz=3mJv)onhaP7YfZasXuNHo8DLkwe?xVs%)jUC_c}QLUg=P6M zwX%mQkE`Z6GEb`Jelkz1=0!3`RPz#<=X7S}ih9XCua;gV^MYy~Aah(br^%d9&DdKl zmo%xGeN=f>2WD$Slc;n`Ej>u3H&io~Drf5z`ZO|QRkNR#$E#*0RVJcozWMKYh)R>y z(uGu-qMD1zOjXUpw0yp5=2K<5Y7S840&be+)2WzBGu6_SWM-@8Ag#|)&2p;DRm~$* zxmY!;sdA|>&Gc-pB{xqk9isIGs=0wGi&XO{RTiseBUP5DW;2&0yG8R*OvR5?^P-UOhH0z*~+E<)CVgQRR?o9;C`+ zs@YHGam6&l1zLYnap4e^o>t9qsvJ?x!&G?=P5x3Ro=+~87rpbU=WOvVsEY?~HCxluBb&^B9@&s(FRZ zl&G4+RGF-r*Qhc@HIHMZ`1_lxx+iG;eAS$y_35g4k}4Od=5?yfRLxUVnXQ_qxoO5f z|2e9AgVyJ&<{4VQST$#pxl}br$jnpCvt$;iW{fb+ZZ1WtdyYzrRWpvv64e|fvs5+D zlUb&k@nn{(=9tAayHu)f0+p^&%?o7KsOCj7YgIFm%=M}{PG-GoCX;F2sJfTPZBWe# zG8z&s+mIOR@Iy&v(2o!SIBKw&ADWDsOD8Ncd6z)GCNiC8kt?HIYnmo zZR-24`Q-MfrPs;qRn2rV`&9D=nf=ZnI~0~(el%(8Ap{PXjHXJITE9RoO{3CG)m%oE*{YdNl{u=JL1wOM=F#%SWLn;T zEuhk+YH0zL=BXy5$^zBQB(q303u$?=YGzSoi8RIguOccfl`en(l})8(s;QA#uA0kf zd8KORP~{rcTtSsJH%~g zgxoDwR|l(TeT!-?rOK_USw@v@s=16R+f_4<%nrpg!)jW;OK~BeN;_4vf-1XIvw$kQ zRkM)H9@VU*<-MwDE~3&t)vcn^e$`w~m4{Wcn9M=dTtmx;RC5JY9#hR4GnF1!-4ZH2 zshTUvJgu5*Y59n1mQv+8)m%rF=T&o+j^2M>P~9?GKdzeVY5jz1uBOUK)vTk+tEyQ} zl~bx&p`-VoH&nNt*3X`yyp&eb`dHQ6NR{!bSw)qJs=0>DWYye+%fO+Qv^-NaYk4Jq|Cz12O;nnrn(OGGxvIII%*Cp?g_bW>%{r>g zQ_U7piSIuPRJWc=i&S$1nZ>HvN@prj&5cx9s+wD=vP?BMSt`vg<*M62>nl}r8?9fX znwzPzMm4unWvyy9QssKpY$DTKue$BDej}RvgPHg+=W6+g)^O9qktIzh8&!`!IBZcp znohQ;9!)2=3J;%uE-rXL8c(*Vg*cw%)5&(#qv>Ra>d|y^7kZXy79LMdCp*s(H~&T^m$gIi4I+O*x%BrkZj( zd0aK+bn>KX%IV~3)r^&&zeiM8jwjElrkqZmS4}ycyr7zLIytVIaymJonmC=beEyzP zT{)h-s+w{-Ii;F%I(b7i<#ckkt@3n`)5%!X%rAoy=2BIh`y}O*x$`QcXFXELKgLPMTdxR9B8COI1@&C(Be*PAAJ%Q%)xZwk z0s3=zQZ?mt^0aEo>EwuN%IV}e)s)l8^A?kT{zN1>p1h!zPSW3oan+R5$qChz)5%HI zl+($pswt14cW%IRdHYRc(kvNX;7 z^m06zB3*8Z@g$x;RW;>wa=vQH>14WU%IV|+)s)l8%$p|v{#A}Avv0a+TE>$&992y@ zoy=8DIh|arnsPe1R5j&vGS6z_=TAAFEU>ydpz)+jk!s56WU*?>>12s&%IRdOYRc(k znPQqjjwj0%7vy-dQZ?mta*b-r>12&+%IRdSYRc*4det<`@npT~%JJkz)s)l82Gx|) z$wt+b)5$HWDW{Vys(DR*{@kj%ay;3lnsPeXu9|W>*`bH-l+(!`)s)l8Ue%P-$v)MT)5(6-#Ob8v{nugDmE*}l)s)l8A=Q-A$z!T1r<2E3 zQ%)yOswSUKiuYfqRacHDM^sZzC(o&-oKBusO*x&spqg?zIj)*wI?3OEO{lIMPfn_) zoK9XC-MDPtm?|~WV~w1>13j6%IRdXYA&PK>=f0M z)5%oTr0JyDWxndl@npJc%IV|+)s)l8Ox2Xr$!yh>)5#pwl+#IbuIkG113N~%IRb~n)Lk#{=t>w$quztPA7M%rkqZ8s-~PycB!VEPIjxNoKE&|)AIcX zo?eb8d)3k!x}Ew|Q%)!QRZ~tU538n}P7bQ3oK6l2Q+)q{rEvS7l+($jRukWU%JF2L)ztxwCtV6uQ%)y~R8vkTi&axjCreaQPA5wh(+qMvS*Exk z$CKr%DW{W_Xx{uVN7KnQYT*ug=G3T#v=73*hRA20qRM1 zIlw-L2)8i15WAomX|FUvXx_gD|MCfQiTBp+=X}47H|Y*=zW3uz`h$XRZG2?(A<5Su z`8HbldL5vTj(@}f`biEsK%?M0YUMlZ00Zp533sy9$wACE$;kelY-9%#jVv%Zip{}o zK|-`{`wZB|#u7}r3l1>Gf)h=;aR=DWUQIOVCmdkg47M^c^205Om~w#2B(FQbIkDu11MHy6D-Lj#;@OUHjbw}?Y#}-A0I`lNEh$nL?}#)FNhV#Q zBhs8pGU<~YInA@lk>(W4#G%hfnp0Mq1V>16w1CZbggGSB9O0~3lJ0nuX09WoQoO(s z=8q%U-Yoio_ODUq|5W9G=8b_+2R?bLW?q0V!J0%BR| z2t_1I9bu7JvdR(mP-U?rte|+cBb1OVcZ5;8fHFs@V1aW@x+)IyGKy*rW1ef$uN5%+ z=SI$4Ct-3VOtuwfjU&|1aW^YLLJ4M9ig6Nqa&PWRjKZ5cUlmO zoNr_~X-0N!o{>F~7R6TKwk0)Mw{HgQW$yD#x(@uuVNaph2-wtRJqp?x+(6%1Cc!F2#ZM`aD;wV zIp3r^%wYym400HkG?RWvzJ$sr|{`3U`|_Mh8^KJ z#UqYzg5+68SVHoQBb<}ZK)0ENqlL+(sWqpf*%!>fHf9*voy^Emaoe>Ziam=JHaKfB*6&|QRQqWh;gzkN^*i&lF3f6ofaiJ!5sF)0+Vj86T*CpVxAMi~G&7#B-4E6V~WU=%NOf=rURPS8#)IZm+1 ziEihAP0cNHs7QFd?dMn6RJMV=lx1Y~*+%A%+mEuN*v?ENJII4Hb*xAfTa~Wn%{C3X6Of+*T&n$ge;RGv*rP2vjk*sop0B(`<&nei^wtQ_dCJx4EDdANb>>A1kFy&M1yzm%+la)C+H!TLr&03@~{)^7E1=4 z;1pH%;Zu*|BTmpya>xk^Ne<%0$_p?Dzt+{V`1`euMZdCtFZ9+8b3V4vq&va+nirb% zrv#sGZe;Ws$=4zI+O2%Yo!}%Lf7A(1lRWPPy9D2um2boe&a#1AgJTgDUBFw;i8(Aa zvac5#S^p9vdknV;OQP85A|sozC|Y-R2ApAUEi&n5JHs?fLJ{kX2U)ksq>p!oGc%a; z;z)BMX5w5|@dToMlTMgf+85&tan2T*;tUBS=Q_ibSd!`tqg0vX49OJFcZNA6)10A` zaOXKgx-;EiSAJag!ehTYQNFz9VRrixZ`}gU7q-Nt%jA5oFEQz}1z*{c$mkr&cSZ7D zw(>D&$f8p%b_R{)5@)z3_?BAv7CJ*N`(~-ZaS!n_L$@A82=6q}OOu8n{H=JkEHw(T$?32U~s%aJRQ!k+nGfzH?oXEBfC*#WHWKQq9}^F;`TQM(Yh-$;4=Gf zfl1frj4$OYQS>{*6?UM&q(AHomuIkh3M0*fn2B?BV7M@gP?hEkFzoZ+-=U(YM=ZFug*yKYPsl(9RDymcd-@7W@g z?i}a)cacedUhwTIiv03|jpdD$8E3BE}y-$iE_r}!#1mE<*N zSVi&*-cinMbBU3KtT3`P++HX)vIk3|SOIP~ERWVr&w%U9uGpkYa)CtlFp4=Yc+-4d zY|_tlf$KBamf}eBJj`79voQuU(avdn3Q?1iT_DB9(%B3bNF}+z1>(dK<^nOcmUzAk zq*0vZ0_h~PU0^@qX1ajpLih6L+l#*b@%vA^`tHnS^((w}3pwBZ6(-#x&Ubr>Nxww! zeOMCti&mO+H7-!icA%(rfdqC9#d_=r`%9_G zT#u1BbvZ`1ysc#zQIFQTz&bi{gA3G=-0T9CVo9S5BvIuC7uZPg78lq=ve^aVNjAAa zi|po@ZiBf&|HEItn2KT1tGsnvIo@ZhOu9CXm$S;GZ|4l`{Hn+=J0#y~$+ybNx6K8% z)A2i9UI!(x~zOVU0@f*-7c`3}5ye_o z8`+_4#lljx9U3I?{XsGjZ;Nn2B~C;F;wq zH{=4x=yYdX;5f+<7dRxAoOOYDRC&?`PEkDS0;frycY!LB=UiY+wzKMQ|Ej&T@q-^n z{iaxdxwq~j=etsF(p}qUw45?k~dtSU+_&^ z`L4RaHHu?gVTxp|E36?o+ZEzm>E_X@bJ{)}e0Auxsz+FSwSn!cGO{PDjchq?&#Z}J zZ{YT;%4l7NEu^tcl_uSMSD44nqDXgz4CY^D(l2m@G+XvVRirr+GgtmJO~y<#IFV-x-d@boT2r&kLztTV7r*BaU0S|ht3x4+azvEwyH zHeDU9(`+G&{kg`Z+u#cI?0+aW;kC2!8k2srD`eTS+tx;!n=lhJYcUfIuI8Dgs~cUR zfmm8yp^@ZPS6C;OY;%Q$RJp|!nknAy3N0ktU12WCHdojoFW}33!~KD7+v=*H`Ig;S z>#f_#`Fv|ly4{>Fy4IxMBlrqyBh7myUybBjW98fB3Y~QP{jShOvey-A1>XTHU$-ml zqxhgJ^pNa#g;bJ#u5d{5J@NA8<|8>_Upb~Vu;O|HyS(1WKCU;iZMb!;k77UKHho>R zZiy`{Vgu_;x|6Q>4%vCVNq5>6maxaxoAe{Du*jBa>m$wQFcUOGn281t^32lUQ?77^ z04}(~S&|oB;h0!5?h4DOa?};hQ#|1cVD_p1J$GgEa$pkkzD)Wz8fs3%EfN5gyKRsSW2?U4Tk9g3b0mQz+<}-|N55U=kkHY zp)6>Vw{8XJ`@<%aZYAgYa+68FO7OLAiZrj5eDft=s+F(A4NB=$Rc=s5a*Z3L3%+VA zU%4ApP`uU+DoNJ5!ExfNaf5Y|uQTOn!av$xI#Cy1#M+t+%)8OZ5}S;aEg2niWWCm$!2ag>9@MU3R_mUIdWDTW`brTW}?CMJhL>o z*$rBWrNa%jk=*G94PwbIH&{iL+ufj@;!Zc%L2{29EFiht4L@)$Z8Yh+Im|8;Jsjpn zqeU?h*Y z!7uxYf@`f91COL)oE4!=3q>FJ!m=96Jxg$(ki%Fm0&S6fpM9xgYOdR>7 zggI`7iFJo~cMI2CcSt0e>JF#Hl6meoVUpcp4#jEikU}!u9U56vt2-NL3u2FKGqRF4 zBeTctt8Gzi!&W2fZjIKhwZ%7sp<7M5#qRiG`WlL*?y#1{Z8hoh+@ac*9o!l@s{k{1 zev4;gCVH01GYi`icUVSeEOv){k}KRHM=U9Ehjmn0=nh2`m%77plB?WdgnG8p9Y1w8 zZZql1Im~$!l^iCh&7@x=VE)qVJfgGblmmmlB{zFO~BM!Vb;1sEyWwr zCArBR&JxT9cW7{@7t9mSWV?^wy6`E7;;-1x9R}9XZe$O27};Xn4(*6yf5Po2+oN?G zY@v?TY&Yq)yF(j0hGK_1Y+xSkCjCx#sIz6W+9PM}#!S#OVJF3cAcu)TafriI?J(&F1dMG* zr1^-1*&<;YtuX!WaF`A@><)t@kGn&QfH`4>8FGiC6rXa3V$D_RL2Qhckyx1ABj$k+ttOvftwNyWLUj&`u+p=!n)e*}`V_%ubVT!W}NLA5cuX z<15qhohJQNci3#puJ4RAPhlo#&SNIJd5&k6ZeDhWD+Dmx1Fn&b@qi0rNvsDnQ{{Dc zxIuBe2TYSp@PMr(<2)eIgPsn5Znfm?l$RD zJvd+P?nv`|%*4q?CEr;q-y9E^>tR7%-~sbUG7lINOERr|X&#VHakd9!kkmY28}Vg% zK#t_QFDWU@;f1eeJp4;ETe8={&h0U>clR1u18#MDqu5utP3nx+ZL@_|*3)Uy6?#Ac zyKRq2w;T`1?%!k5uke6YTQ+}Bq(+9nJu9#BuR(F2wWz9uW*Mi1D;M)w*V$BAbP9>s(C z?Kd*>J|i3HF|wC&o7EG=rn`*{x}$YFZSf16e{`F4ogVllmxiLt1HX*h)@{;vd%zA` z7Pv3c+=H1oS372+eQi9mv~Q0G>?Ni?57_|94RPIirc|nBa7&ZV(GYD zxj$OB*B17$$^9nXbq|+g7A-Kod> z-*sjs2fTG@$iP|;m~}Lpr&?%$Op>_corLAnSuTBu#x5W8<`Vszs2pkLs2Xkw+|nT)*Y~g{cO%bldjZ& z@6zf}lo{{^|I|T~zT5!&ZP^q3k>*Ow4E*LT!c4TUfM=GTtunxBVyZDf1Bd< z4RDYus|>J);`IioCRt~ItAxAG0QItcS4t1&Rn-4`F!+&1_Rt}3-A2y$<{^`=f%7FE zGU*!y-{C`%Uv80ng_1Ad%D2e?o9R?r4bVh#n*o*!zBVggvjJKtZZ|+H$sGo`Mts{1 zfPc1kA2G6f2aRkQZg0Wu^GBlCngJu*aX4BxU<-$s&wxp{-vB-AMHB}N_*L9b1Nb`$ z101qtT?3KkLzszk@4-y8b2rZ{?d&x`AD#J#0s2V};d4eTIck6-RCyRzQ#@>dL6XM} zu!7_<1DufU+!?ju`@B!@Uwz@*2-ZI6tvki}P7IoKXE>kN5tII`;QRVWt8uT%2v zvhtlazz7}xq5;m495+Ch;JakyJ8yt7iZ2`B0?A1Ol#rajTg<@zHf&_gM~&=m+%nuA zI2Og8!tHxQ(Yj$?KRs_4 zU|95X%7B@rp9!9ja396jy38@q>@Pv6JnJ07;Z-ysideYtP zoA=+_=6RlS8_*82caM4NvjyOPk45ToIAF;!lRlRNE*OsdahNT)rc?Oe$-OApt0 zLJggHgD2FI+~^6b#ga{)aF#09dqN$>n?0ePWTPjDrZ@tV$ zPI&8@IiKxG{5=%sd+4M|zfJIEoQyPYmwcs?uf)pN;t5;n_&YtJjpQy*C=-0Ut$gjC zu!G_~p3p(E%M)Trc6!2I$#>{(ecZ~3Gw=Oh_B6{JF|gs&M)sExBU_8xYiFX^C%FCJ zsc7ApEsV0Ar|@SOp7=s=9mSw0ep&b1)A%zCPZ+gj38(RA7?=r~Ud%*;dw6DP@PH>A zA%K(k1R{CL6Z*uG)1GjVDu+GcIK?CQEFpQ;6Us@R@q}~o0{;BepJLqq`0P(#Ka#uA&-rrC;P0n6U;7!8eq8W{j6|9zB;S6?x6jHqh5&T@tDbO)M0QWl`3rsNw*Ouv4 zGN(~*-4f0hIf}oi;(YIpn)LaCuX;4nTqybCC10$SZ>bmL(WzE=K>^7UFGv)8E3JG* zUa*|vRbEg`vdjzmiLcZPR!hFlXMfJAIIt=?>cWSt_M(B^e!#p0vH8y%4zisk@bu4fUf12TiU+}#=hCj{lf@`*H#TfoH12aLh1~bv%N}gG| zTIU5Dh-HfxY$Dn01vO$xix*5&NigB-sg1h z5W9QATX&h`y)=Qp$l`dvPMGx9I0M@^5ox|I`3_6IekF|zEdMs{Tqe_(Po zimk-$mdnw)Id+i5TqjMs1%Ti5Jb@w;@LRxdC-KJ{csM(@eKK-Z4rajnnu?ida0<^X z01P0DSQZ0lB$oip7fY4`%%#eO0J#+B0W2b!4=_X*unh1sXZaPAu86}NMp4XRoUWSm zB?9KttC8kX2{Tv1%(22O2UtPJEeBXhvI1b9fT^^?tO6*bcn!d6lGOl538o65Mt1YX zqU}GeXiU9!D6)$E^M--dPZ^oWIo3q=#) zSAMrl;g30x!H&H%6*;RFGeJ{_nds&^o>{ut2(X1%wga?~YzNpNmh8Zbr^>AW+bG@% z&_;3>9+PAT;78EMuA6jwILy~5_HvkI*G>9;0_O7d$eH^k%z6n^YlZ0o=%#}m1n42z z4^S^)4q0J(0S-_+0MJKr5FnlHx#6yj+SmkTMcWv)^)@!fEMF8eZET|0j%g!1b|YGs zWe1GiH*M050KS3w2*o*kQZY7-KjHvjcI?b_*H6 z8*;R9t`>R2A}#Dzyp|>2u+UEXS<5i?=Jz+lRJ1mOhn5S-^@hcSRp<>%Nfu#G z#FFLSu!Jh}ydj_B72Z%lvcwxs(X|wN!%A(Y4l!17pbV~7bD$qlkGz)uO}4!9^~e36*c@xu^fPR{b-kQ1WCk+!amK%(()SC-(izBjSTb&w zjGL^C2fX1Rony!w4v{?S4NZdan3ZwB8wM#p?hQvsp1@~2$zg9eDH;FXwCU4RU)Fzn z`^ijgwFCD1h8_0y3kQ7I#g&Hx_WOTaX|~w!6?U*(J8p|taM2qsXr6YcE_uTW?O9a% z%igfuPFre+*K!480d^Ks(eE=nwDf!28zzY5x;IRcyx|R_V#zcf9q^4**_4jW!q!F6MT@d+8!B`e30=dD*YTE&iIIfO=R?3 zjKv8@B;#o-W1Dx#*V3Hu zVagdFKICe-Gq%&2t2-RAovZC&mG+|}0_OSP6L|$!1wOD^+s{>z52jI0HYRg1rat_o zAs0i@%^b|ANBKTbNO+}qaU@syz+$na%m*r{a)l3+P+X4uBrAO2Jb|zFflArU7`t2V zUosJ8Q@JWYGdg28*KowAoe`{tBYuxcU&}GH4rlDqu_$ zfklF`!OB?Y1NBx!79VYsJ2oxI4Ik!lb>0;p?svy-=5bZ$g59jPgDP!? zD+2EHfe!6Ku6FxCwe}e*{T?5vveOz}@yWRtV{zVXn2L6`^3d|Hy~_tWiEqCTbdl`! zf$d_+0lX5b?Dm0u6d&|~9+Le&u!Llv4;+&1{P(~wegl6vct?2Y2ikf!Z07)H+~wP29T|@b#`oQ^ox_rGt7L4kG7kE{5S`a;7U^f&OI z(N25SfbE>^3s=N>$1xS{yud?CJFoe`bvkprFHDn6@P!GnB+(Z(P-ToS#QItmCHq1g z$vM8zPK%O!A;p*O^_9%`UuXWHw~d+qvG#%|wlftWv`;;ealS7yW~0)l`*Ox}o;HzR zE|82DCF7Wtah@-v(dn{%A%mpm3zr0Aj+K%5LMFwzzK}(7kuU5Z#)ZDH*jF3y!6rWG zjSm%ExpDQj4|aD8pgQP<-Q8>lo3!5m@~-fOV(lHSR{FwbEd`Z+l`m|v(}n=MyBcF( ze(&dFD!RLjhn7Z__(CZ`RQW;~$u+)ED3(Rj7Wo$%A@it%BLbA;lCW&#YFKqYKz6ro4?)Afm$GIxx>Xbir_cg9&`C@ll z?VwrP;ETN7zOYw2!&Q$j{`K|sL-Jl(K*ih!WoidzOY*`Ua&Hr^@Vd3kNd(X z$xFVloa9BkDSb7Y5NzVdLHMvI7$1Je)lb3L-D82Mt_NUuci6#p?N5P78RG}D{j^^L zZ6bAXey~F;<7R>%Y`4>NLD=3Tp7ST~HM~Vcd#~U>AvG=5590kSou2Cli6m3~;JQGc z=Lb8fGT9I2P@LumDJ0YVU=N|s_k#>SdTGdi;DpzVi!Vh#*;=bj1=)D(nSk^OM#wA< z`9d&4Y63DJP4hwtc~wGAS|Kz2Ae+vC>vF7<;c0lCZynd=9OD9-nT#Uu;-po<{$ z{Gd=m!iR?wVxEc^{NmtOT2VN@@46I<-TiwwKD2UWAC4XWfvfo;*zrAfuvcSAFJJouD*YNi*lnj}h2pi;U@RJ5f~jbDF%Kqu_$gBx@$8~mU_UW@KGV*^p&U;93FC|#QuhR^3l&R80Tj9WNk zA1Zx|V7xaR8MjKt6_Rnem9fbWn(1`ye$YyChaapIj2%|SZGO;3@h<$wB)QuUripQ< zA9PAakI`G7+y2(1|L^aQ(tdv@_B+vty}ft`KD^1*;ybY4w{aC1f&JcZ2m7?IBJc_h z`az$zl&eF2uwUDSNH1931;on0`92kLs#qXjn7Zg8MUn@?6+4W_BP&x4<~+u55F~GzcsEZ@5Fu|vV()#^qqJG$^MX} z-Srz(DgJOs`;eB{^kqx7e(}ePFV(%TRYYRDb2(y1B!VsGh*PNa zOF4%2x(VBzCmCZTj^TIUZ(wezU-b^dU~PJ2EIuVn+q0;~d4(eKqfv^2TaAJ!ArW`C$B+2{{dVo8%f z3{&Msf7nEEvp+PDZ1IN#l3V??T3%lCfMemRT9w{GpxBvBw`eNOt){rC{7^W!&WtyD8r151k}?{2`HKw?FKc zjJJIKj%~;L)m6=(zN($P5BvSlz1Z90`|!b*tC#P?e%IZDs_Sm-_bEI6F8m(6f+0lH zUgheTKb+EHQ0b5R!wEa>z&$tvI*G9W>&H~|yN`#Keji0xVi`e~ES8+}hci@p z${$Wsd>&nrWB#y)GH$pRF~&L2Ij$x+P{4f%G%0}oeIGXWssuVHfeu)KF8RY{ zI^Yd|xI%IopY{T1cEC-bYyL1raclrwCm9z2)g)sAAU=R@xHG9i|9yY^8*v*aJGB2k zfX!|HJvQ=z2k;@6tHJxRxi50{(eJRiqjqpsTk|`-g0ujbuMKgP5dfo_+wbvOSOA>0 z(?0(_Ha8370RG}J2UF49BpzCtn;rlQ0xWW20A!NP4S=~~$)W%lqsr_6&?sIK068R= z2EYJa%i;k1p#1Xvh>_2M%v=?6pbAv_f-B)0{?daqrf^^f?lk*iz&h|QhFRl+0K+-r9D(X{&!yn<5! za8lDfit0=NT+@DsN`E#0uGnd*k79F2F&1D)F%``{!b3}QPY1vVv0My*b0o(DU|1}< zgtrw{p2w#K#g_x%0?Ek$s3SRnN7cUl17cj`K>1u<=RkW<>8AzIoqxpU#sm`3kOUgE z0!;#Aj}T5U?v8_F#(hmcoQf#5aKAF6A1AnQv#u$)+YzT+(5efS9jOc*WI(f zyz`|(&GaNT_t(dG#(Jxpt#Jcd`09f)5LWTDdM1VW6x zw)HWaNPTV~OxtPxkK@HG#ypVU{^>mCVm=Qo*jgYgB(A(bSVS^E5Eh6f1$YJamdYi8 zu$1DWKv+g{c_198izy6*VtFwWAy+2-W1px#@!A)f;R*a(R>C3geF7m%1>{FhAY_?< ztVd}smyl@^a-J1(Wgx7g^Q{Sl)g-F}AwxjcSRpF{p_1a-K&T?QE)Y%-z)7aggpTUR2PvJw@GuZL@T&;K#JDy|@3EISy*zx8-*rG)| zg{n0W-x9rvO1~`-6703|r|?>~V=TZnVJaHFfrpkhwgkdf!rB=KZ6tRE!e+5#cOcB6 z%Jx9mLGhkI=pfk@2#jQBAncXb^6gs*cmMmVKWU{WKGuq##)j|XjLlCY<9^O~5taUc zV2pkS$7}~B<3`C?Z)NNWgkCzwKp^yy91Mg8!Fa^V*dK^*1f8G7F4AICexUVH30 zZ07{V;=HFZ741C9LrXiy0^uT^`D!3sB6%$kM#Pe-KuDv?%YiUS@r^*ZLUK9~8cANq zn>mPX#zV0eV~lS-v}WPJU3WQ-3&#&}fv#30Vt|2(!c8Dnw6Q|5`rwasX>rLa$XRe5liL=-DI2-1SwkH3)s#kf=UYlMA-Q!?AqP@E6gRRvblKn zPuR`M7g2400lUfUAwz=~k#9*5EY_aqYFQ94?LVmW`9Y9juXVnN-7Lg7h`$JEn2K&@ z@z8>|GzjttZ$%IkkSqy;g<{FdAjqQ1q99mK@v0ywCRr8)X9>JC2v*B(b`QohYVVYv z*%4vZ+M=hHs8j|%vkRup3 zSQ%@BaFBb?OW4hG1hp{;HV0`RynDv9{jvv2{vpql2uKo38Y-c}b{P)Yqc$hO5 zqtXuw#v3o=9BoK4HcQ4PE90Rc7@%_;4}v2kPXs}$U_5DMJQ@VYC_Wto!z9mO0m)NA zFcPGVzJ^Ww%U|$eGgl#8efAo5x9e3@XI{bXF0+Rv+QY9R@8uwv&_3ttN)Wzz%tfWY z76eP|wF|FecduhCFvc(y-5uqjrMr_saFxy+6AV)%V}s$MSP~Zu`BZr$2&O4c2!`3g zmi39ju#MdKU`Pt4TmO~^fBSLa==D!)7jDo_{{_1{Cm0!Te+?Pu1|#DGsPyxKIb+&u z*xfXY#R<<##&cH2lwe4u)3IQfPckzYE{G*rR>t&T$e>sYh6N;Zf}xEVvx8w_ur~WG zY~s;3@ZlA%s=2!ICU*BDu6}tPySv;T3bh@tBX3bKs%u;o2jlmbk#8V*33~Qg+#A^4 zQk22`rC=$hqPvTEXz9-KU|2yA<-xF$WJNIKi6xa7Q{}2)D5H2yFsvq79Sq|{UKI>A zvb+D+7~dB0lVg*eL!I{Xo7ml2&Y1HiGOp*0ZK(A1f-&eV?CwU%xI{88vNEmn@P3?!zE&D4u-A4n(MpR#P9!#4@cg?ho`wpc?Y{Y z{x&Mdx3Rmc?D1Cw@4bz@dxD`;OXX^BFn(dV5tV))w#r`f_$zjIKgI%M2d1LC+j(f| zZdWjL6U4z_=por33_Hb=L)b^E>l}{KFB{I89@dt;kNr+Z2(A8oWL&@*PovUj3dSctK*nszcv&)DvNC3b0Hf38hCmj{ zMImrSFfO(-Y9WwA@zM}jNOD;S>?Xz~A&@5-GjF-W8~(Q7+AFt@YtQ^0`|w3;zYp;WR)s*RR?gMx5d1@W7?r*v1lHPX_x}yAr3&K^ z{_3$DQ_=529$K1Q76RpjwKfDQN!EtI3bABe2-H#K8oVru>q4N0WPJ!+qib0o0vqJD zw5+Q=pV{7N(-1YJMa{&1Z{m#6Gm&vKXZ#tJzDY3dor#RilCelK7FZb@LZFdOw=D#= zkZcQqV!^oG%GeSDtrYJFfvqGvLSTv*+e2WdWc>NL!nt4M{rAIlv&yxePq5#{kFmFz zpWwsgkMQ9SpJ2aNaMk#C?Dr;n{Fv|j5ne%W2+pt{wOyC&+kCFn;_AGM<-=dnDs-E903EI7{ak z4}npVmqK8#V4Scrj)lMliYG(hBFQTuu#)6uym2Mt&^NgYUrhP)r*kKa+CTn@{a*hM z>}~iz@gbS3U7umUALQ!QPqE+4_Ryr|eTv)(p%5Rc?fDeH9!m;^=InoeX87z6-lM(p8GePQ3C6EJL&k;3s4e*nAr}eAOK6&xNXQ!! za>@#s6AHO>zWh*FOtK&pW(&wdE9BBpSVr;kP{<=$911-ISriH@B&4g)53alS-`l$3 zJ11>&7B>8aFR;0_v+%*2s}E;k!?%BqYUrQX@a^`nO}poFe9Ei|#h1jHT-Ai)8`ca| z`r1&~X0M(49H&6*F&1EDn2Ls%^3c-d>QGoqSQ|rO9m!3hP%f46h9g7`T{XpIM5BQwsN4TSqRi7fD&h6bK51*DhagG3e<{{4!8?rlDk7; zwE*h00__Ne4vM=%VJFGGp%6!MPbhTD=K9VrN`3a+|NY~cM}O4je1pyH`wAQR+&B18 z%GLR=vAOSX_1%})+}-xDQ`_<-Uco>p9M&#ybtDwOGY$C)ujMG7&R+ZJD{SsC#scgB zrlPs~d1z_wU?>a`%c)Q}M)Gth9285=gu))GJRS-sC_WnsCrO?Qg$j}*q4+uZ!>wF@5fU*KJ&fm}rHAvvAPxUB%>2LaoE-)kB(*R| z7E5x%U_Vu|Fvz4hHw>~!E((KwqF)$>pN`M}3o({*prG$i<#C`_Q0WTQs+Pu3p&8Jj!rzu3sD zKjFjsTowL=&2{7|;y>8jBla+${qP^Wg5zN@tS#s2WEg(0wGWm4bQlcSYrp+3Udsr^ z0&Ead(cHs4v^4ib7@Q)O^I>p?b({HcWOKT zhy4!t6?;4PfB10j7kv2L|FGXnxmx!#_WOiAUcqg@;1#fNSfJg{RaQ8D#rY{Jy%r9` z_FBU)cr6Pt4(G2F^Dq_tp36fER%SS46V{S&$RW8j9MZ&+W#Mp&Ds#hO5yko8u$W{4 zUMyWpUN{uWYk4s6mzwH(8|vF4gSFaUvER!%B&Wh*6UnQ1r^d8jK3yeI};*^@wj9>W@Vfm0kIJl+&K{tPckI}P721k5jPnVBk;SAClaxp4Fr`M z0cjE1S97pydy??sk6h(*bs`zt`6^eRCt^FV*u!P5E)fB9BXFpCimSyD_ywYO5~41R zfXnvUw@KK}Jd7jw&7O&=Xy*bRTKE=4z!KssihyM#mq$RhSW+AT*Qhc-0tzTDiGV_q zD?p&4^tsp)$Dy!OvzY-br~OiV_`a?V(bN?$1$o#x;eZH;7P zk}<=|xH2!dm|u*{*MZFMZj)~_eDS_$({(%NOniSe%alP zh0ivW^*$O?5&V{RbuM=I0B7_{MaF}i@i|obLxOQxDt323GB!%a1}kG<1oYE6jz+*? zlE)%oi(nkKG7d(-5sFVlz!1rk5s*Xjcm$k^(9+Yfi5KVN!{4}S=E^o5yZaqisq?VA z2@Vja9h`@}8d|1eJa=0^%GrHXplt6=Q*M4pYnj{{{~&-MxfQ5jyh? zeA2#Znu%2Xt5f%%^%~r;GBW$3!$p{-sZZX0IVr(=*vt(TL|3tlc zT$K5C=l?70&XuLRtM^a$?frJQP%G~2JD5rC%`*ATOfs1)xA%TclAAq~WRemQ5fKp) zN<>6N1XM&sL_|eJL{LOTL_}0XL_|bHR9xpg=X<_S|6`wipXGC&r=I#!Ro_!j{YBjG z{aNVWfA~8Wr@Y6!^s?*iJUX{ay!6jdF8yQo()rFctetD=d}jwB%lm9C9l_~Y^mf;o zOV*iLwBPw>WW9Wr9?Sr5Z7vtlJX^~7|-|5sBL|IYvQR_4+9zH0Q?mPb8aGkSbX z*2~wq$N%c39&hL#TXc`jKlL~;3xlF@YZivY9G!($?(z0dJr2*pO>y6ug%L5wXQ4>U zv01pQd!!%l*!BAV{CweGFZkH|-wNn_Z_TH3`(^?C^UsELU_G7hFAXbt9i4A)0L^Nw zT1Q9lWELKK4;j|8S+pT~hpd-h%tCH}Hz}WvB{>j}xv?qo^7)=Loa%f(orUMpOKKn% z2P(QO5Dz&eEfDz_DT(!S&Q*j_&ck?(yDFJ+2DGYLW8>VvU&V0`Y)*%>Sv! zwNz2u1%b#Db3-6bNssFTQK);|dGobJ+y66i|KDED@ZQ)+=X+rxo!c!N>7Sn&)~`0w z`L5eQ)|mo2--QA6CDe~M&=Hge(%1EV->|k(Ij@JTmv;oBAi&$RfsSP-xdV;$WHWjB zd~Y(G>daOIV!O1pI}nv()&yb;r|bztkwjJnVwbr02BKQbxwI>WkLOy~Qz4eQrMbiPXh=u4=(is%Ts198rK)v$V~2d{M#9ZPQ@iUYhqY@%c7 zBR4nJL0&%J?S@mG@AHAUAZ=X<#6>Z$2BMQw1_Dtkk(UC|FYduWTo&^>1&Dbq5JUP{ zmi(RT_Mh|({;&MwAA0|?n9ldG(c^y)-U-CGxTgYfSIh^2*ed3Idfw_5&y_Cz-8C!6+rO&#ZSTyj zbh`g!3!U2IrSwmbVg06*PIqq!S@$;6>8=Q%3nsRNPVJH)BnNr_zJxx_UK&K(sKo|c z7KE|@?=-=`T5kA_>-%XSD)@XqrmIQLVoDHFgVd>C8H6-3GlTG)4`x*mwo7Ds5LSqL zbr3Sd%nrg?Ihd>Nra4os{3|Eks&v2RHRHt=U5Ozyz^+DJp=6*U1PH6~2wM6a>LY=q|24SC= zhl21zj^{uSy;=UWoZ2{IH1vmt)nqi3OxDZI+)!^hHPoUTD%TBd{i&g&K{zJ0PX^(* zn5TlUjT>tJsi6}=Xcc!y5Zc5%6NJTLo(`ffF4}z|q`wA`#O`#v15}_+W z@Lc7rfglWs(lt|Q(5R_IuLmK8fAnaEwJ!)mI_HMChl9-WM_<8Bp}St8NF(239SOoM zP8tous0iIQgpA)gonaj_YAU5WLD(fqLqQnVNq5CP5oDGhe+Bo1_R~+miPB^c?sL*q z5T-=wfq6&|jgm^}Q4soH5&iKXOzWh_;(rokmf!Fyo(f&@Dn+VedPdK6PI^HXnkX%{ z>4z!VCV?}oOKe!dzcDkzI!))%W;{hGXQ_?qc$Ydzb&TqufIy6N-5ihHJp`WLyjn| zHI;IWnyR}z8?K8|rVU=5vrgRkHdUUEqlA8?NN6_wo{mOPC={iQrc#kn zQz>n-A)9{#Wrmf$s9VfRl(SjfB{sACnb)vI=%LprQXNvM4O=;>%!V=%DmR5Z6-G^^ zw9SS?qEu|dcAd0C+?6)7{Il1vQ|KuD;*BU(*|3X~s%@wirQN1djZsnw?Xh80ggo1A zsMSe(#b0ML%Wtz{pU`zyid4r`Z^M30YOtX}ln$6m2aS?S>5vWU_$MT0SZi%))H#R6 zeZ=N5%lBAuRB*GELX}dJ4aYdE*@k9OI&Lbp7&VpB3G$0lqYbS(r%l`^ZD#eQuj7=^ zdsYvHDy4QCPIFd=4IQF%##HJwYAU6(Hrx}XRvWr>&N*>++syLS^ivN)i(aQlCDdcX z1y1UF;Ti>DvcW@ zmC#*UmPBaSh6$U;Sd1v?p7d~rc!!L z&pW=A`3&oX4Nr8=Q*l4DadrBg=^56cH}G6=*Bcb7lwR1d*lx6!Y)7(Pt$IuBdVNi? zOW+LaQaidt>4^=gI%k<(HIimGtFL(z%Y`m}lOp{-BYlfC-HsKUm0?GQD6KS=GVL5` zG`h-;#e92aTD0xR(mAW8X13id-}olh2(5gRBGn<~*s+$Aa_z`vA>r1j!1u$$#?zljY(FVfA|MXAt^jhs|uN0A)TCR3=`D9J(|>t;JHic-EE zB|2$~)GW1|<@4!g+d|XcqDXa2Wp=C6(JL+`KK5^IE&FYgL zx+}Nffww4BDK*$}fU^$TaZr>FnM#dDO{H|$jsa1sv*U=)IV$cZyIFk`-6B}%D!Q4l z2sP93ALpzVJ6c5PgsIeO)Kp4scC6yNwa%~}vE!u9IVJ9PyIH>dZJZX`@HR!NL+Y^O z3@3Hk(J4Y_?eNH}$}Xd(QaWcxgD9P}qgyAP7k7`{EdTgzTo8Jb?jvlwQlA}t zqIAhTq<*8M61r^1O^+yb+i^uFT^0X;-7H`B4z3B!eTO2|F%8;ros)*_7!su$rqZxc zQYqb}ryJkda)$Ma9V0sDmR(-|joQuf=ib3>$vR3mhZUtUJMM7SxEnr;^w?B-V$@VhPpK18nzZAY z&Ur5G7j~mOzmnYfE*3kKxqD5=iFdIuh`5b0+- zP@t1Gh`-Qbmahdi3N4`=Jji!>pe59(D`$ zJOhO)r5XqJa8|7YwW74wRH`#-Dy4mNZHQ8p1NAy*zqlJ5X88l};egO>?@^=@I_SV5 zPHJ>`&?riWO{F77O{H{{4xaBnHN#r(K$9fln7ErAX8Do#a9n85dladZS{yjRNv(8c ziBOv?5Dp&4|a9HnoujyrIdvnCvv5T$#j(xg#SDcyGh@bNa#Mgg%q0>>$C%pIq8W5Pe{mPe7N$|RC;FAR7%es*e6O;4!qDw zi=E1y>@>?iq&sE_9in?{iBgIaOP$72nd(HUQ!TH{oO*dpbE-h&{r_?&hD7Ow1L-3%yx8$X~>*6&N+u+1cPkqbTJ#QK)k^io3|E zt9z`^Kforzw?CjzrBv+1X3i>cqC}Lom`bHaO{KKeiQA%7=tP;$DHnHz)2zOoZqy+( z|3ivoA&+&t6FWGo(uqn@+G#3P88wyCE;?quwZIH(nG@AIXScX(oM!n8bSn&@$LTg4 zO37O5#9mISbD~a!_IXUDdZVUN+V8}1QL1*LK_?v$_d%ywKJ_CU5<2-IMe;FO8=W}J zNk^PGB1%V1p(dlG5<2GeU{aJCoM_fb$Hm{`G|TV)2q%PYqFV)sQmYefoOIHOlcIFW zRBAU$Dy7r(IPiC#XIPt^=+HT5JmT+kn&q#2gtJ21KcY}|OkGZ#Qz>0@;;|_8 zIx(nou8VufiA!SE)7R3)Ec=)umC&%0UjK5|h!Z2Cbjws4HEJrQ+jJH3cSdJe2b~zx zId{Z8?ljBa_!xJEp8J?0mC}S0_c&?NiAfQ<&qDnEd&;P(lpfG&7Ns#K9_pk=;+}Sz z<#Xu!jzW_^p-83l#EGYz^vsE8qV(K6q!&g>CA8RuWcsoj>pyfN*<~!1l(fX9{3$N8 z{NYcqROrr6C{ih_UdlS;=mC{g>%7 z%a476Rg%?5-=-F&EEiUDR<;Y-qO`_T$}wuHp4Yn2CrTME3q?9-lemjrQhtWDg}(MCw3fb! zC_*JJY~dtNsSBl|wAEB9GioZOau;evsmO&2PNJM`;@<8u%ipIjUJAWNU)vL=l|t-`5hQIv4hFQoRfHqO{*s zYA{MFp#v^t@fS&ESZhfCpiVj@{zjKs{xp3lOJ~t{h(zg#3r9Jr$%Q6SI%X<08zq&} zaTgAV(m@wmbj}HJx4Pib<)3_pHo+sGQK(VCVm;}?Db8wlpvVQSsn3NWopeLo!!EP@ zlFxBd=-ppXq&j&cF5KdzQ5Qz#kZzkoV@64N|9{7YyP`DY!njVlD>WxvX8EemaZhL= z&76zUqzm^sY08BuQF>r1Jv2(HLwe*wA}l=N8qPh4jCOP}MZ(6-Mh zR2|bZ7oM}y3m0C9(qgw>^^)BZNSjV>w29KR3n^}6d8M4CZq-PtTU9q+f2MzdWr81m zPN7OE&5h-pmF`BmTRluGOr;FB1k$FH8xKV(#f?mzvr0;4xy|Z(X|`GDmM+McWOp&RHk!e79MC@C&RL+W7@VszWMpV*@7@ zx>2ZvJl2h-Qjt+pDQ$A2Q)wQ6@Q)EEPv}u>=Sx{=4wT$-i`g7)!;^hC>=1B4jMI;(jhl4h*GT^ zjXLMBxR1Ea>fTu%92J~8i$c{gHMwz&vzpy#7Nz5+Qj1YjDV=a5l?QNUSR37F)j4hA zKIt~AADe|!LU+^rnh3SKJvhx-9d2}p(iu~!)2OMG&bqN%lv>^B(mChE-R(BZPtdrY z&?_|9CrUkZPB^L8jb0JDNJ8@dyU(bplrFh(MU=YS=+{Y?bxpTfeq$i63SCJvJ)$(= z#x+hFbYoDIuA7H6WRz4wH{4hmDEj?w4C|zu;vaFFsQYh`jUl7rQ%wfks(Se zO{L6WiKI=ZU>p{u)L>+>66LIxn%Tip-eS!P#u}+arjOCRj{$wuv8@fJLCV-umOuI= zCm3F?lNXG2!9V-#W$UZR;d(ySf?(u%_ne|(t_{H`)QY+-YTwbZDh&gf4mTZ2&+ER#mnKU+AoJY`+|@`v&N=gj8|y!*~r zUiZG-L6b#)e}?|)K287p{0vPSr5e`8b{giY4WN6rkG0b{&+cIQ^6ZDF$=VZ4w+#3d zSugJmMooaX^fXOQ?ISlI%MS7e7!U9^!)crtA8QRU>Gwb|>cl)4jGdfvh?qpy2V=ju z4+o<`%p<|r!HW`+eJAEZw@~m;XxNl$cq{oa4-r0K4}PK*5)J;A7#Bfb!fDpolE6T28p-)AlCwEU%|$@{$1 z@~P!#-cQb2-lG4Tf7UYF((C>HtmV^pWM}DiFs^eCH0Bdb-@e><)-umuuFX4iZF>99 zT7F}B)%&Y1%YXmqxA5G&sus_drzAZSXB(H?%ibehmXGK9KzmYWW7%xuu`CHj8XM)o zSi-TdqC^gS#cY&&-#lk=Qt?%@)pNoJtEG6>Y-CIEKR;*r*y7{;&vTY{{ohb=-r0E5 zyXl-I+W##Die}?&@2ztd`&-{&6PNI@Zk~-2F7drLsM`|y*0-jojHKD~gZG~e&v&M0 z$81!x=SOc-x8(=VJF5KN*?3o3^|Jxvn17A^9QO?xMDE~h98z*PAgFOR4m0{nqQ5nx zkIqIDyM8dEkIhCiqpv0UJG`Nbx6H-~_WkHRaGv^lPj%Bd8}BRY+-&?@_0`RB-{8D7 zabY%k8GVl)K^JGEkI`39(chZU{j+hIT|b!7S7zfXqpu~J`qIU(&Bh@6e)QJ%P+uRY zZf?)UhsqkCjgM4ccRB7GOh^-xvvHr%_qZo$YBnA)`YWjDzcHg9&Bipl{??3sJR46K z{k25@25;!%&t~H}`~J?m^MYm0ryr{xQs)@|{d+tW!DVxh#^@ismR`%-Z~dcMcb?8h z2IJH@_$RNe*W&)2PgH?5jQ<%c=cve>Iatf+U$9D0?i}PXS~Ca#M@6ligLNAHtGC3c z_o=E^#Q5KkFUgzcpqSCWqd?H+IVfRNGzb4z)ytoQQjPw@`@uzv`s* z^S-QoWMm2x+g{s-be1!$=l7DUvx|wBI&>`&n9P}{jnuC>6vwaSFHOtJqWC{M& zm#X4brmHNtDA@yZaE)1(1($>k&cStNSLa~0RJ=F`H#E!k{s)!(Y?dlH#(0ed!;*ey z4#t_~csnjx-g$eilo+0aN#EWJhJnqEuz5mirC4*GSG{);KNS>=MhvjpT&aA+K6k#joB7<4lTx^h%$#apZ zS)up7QPQSLu4TN@f>n~9I~RG(iY!vsia+%EM~mf zf&xk3JQpR*N-QW8wq-6#nHA5)7AaXU7iF52dhbxl&m5}cPR3g;D3|oAx!A?5%o}rs z9*%M;Q9c)YnD3lR)8GI53U%dFB^nrSqo;zDI4~CnnQgbAPS~NjXk^wf7dxb6?OYtu ztkQdvN`|^r$rFrs(lbHQTj!#US(OFHgq@s=Q_N0K%ice{YI)OA?fv#DHRe`Ty4ky% zu6@ZkKNmgBYAom!c401hnRU|vN@E>!(WhCh_nJ|XUpxL9*BI}mi(k?Q=i)lEItwlf z8=8w7%&yJFJ}G%=E^ca8@BNDbdIWfJ{x!xK@3&w?((lg21hWQj^#DBr2c*QvTud<^ zr}OK*WR&1_?bmq9_z+$EQsUWMJZIMEbzP$pho!`WxmYsKcmh17Q}6wgYjj|9)wxP% ze3UNsdFlzUVjeP>HCd1{OWvFvV?J)H+#_XrsJdqMN(z!Je0AkWFAgQ zmBM+b(5&5ihN}E(fvU2L@o5XTNqY4>>}J+s!46?H^RS26u6Z~kCAZDPUd=kazq(G3 zz(Q5>Amg)iy-WI`d1z$T#^Xtu=aU4&8%%6E=b8^)Sza)-bF)HGE|l9VSJG;c1gc5553I#Ea(z;aUS}Z^~}R1 zDcLy>{hIZAj~OMyRLSd%FVn>?=|l5ygV_}et_mBThnvi<&%;$Id3hdgX*S@Ey+I|z zRmlm)*DM&7^n3F#$!ySqF=6-TVT#$rJY1KOqx0}kvmx&xD*0K2D*2r84GSJg`ips3 zJm0wRhrQNedN^)MiAVFWl=<^{bZh(YVd^SUmB?Uxi!T28>It!OJ~Ek&T977e)qG?z z%b1VbQZjWuvNap??xT{SQL5xR#&_uAm-PJkSkG+Sg0;d5=3@i1b@Or8`{_+u)h4|2 zZ&G8?s!Az)@6p9C8C&P0jM=0G#lp(xqk>uKeB77DisoaxW>enXM#&geayR1#bn#1i z&3x=(_RxZz!fNMZFSFhA@kmPUn2&v$O?%xV^a#YNl8uZXTTn0Qhv(x6vnSr<5qbok zN{RaUXlC9xpT6h5!zdA_N}OW+oGyMT(LNuinZ58nrxNch<_`~itjFi$Eb~+Ik?iBO z-J+LS@v25I^Cdp$k{TE1qmNmN54we2nvZ^Fz4NhDYIe=X70pt8yk$ns1Xc3}^JPA` zD*40nag$k^53UItnU7n{Zp_DWsd<$y63xwT3E9!q-i0xV&c<%6ffQWjt-v&9Rr zT1q~ik7b%=dq2EQkH{ibGL!KdAEYf%&xutFki{&=`he@2HY{7;p5!PD!s_fW6F$e6UMc-2&`m zwuf4ik~r48E^KrG zZZo^Nz_|a|IKOs#`7Sl~`>M(mdw0{tFBuOO;32abA4~{)v;fo0rWRn2G&a5fPc*Cb zE-^~}fhxIVq49*+OBcVSr!2%$W_3PzE-ZB+mN8qh5c{O$(*;zF{R)pZsR9_kV za`PLk43Q-~1X+x}N2Z|FA;@O*6;$-MW^_&n*0SpdGdec}d5pf6XzEKBUl)RW_WkJn z;|J8&pQ~;*hu|-iRT_f7RDEsbxNlG8=0E@*oQb};%1D*9V9dS?i#*!6=M zy(Pr`|3Bexr{pkI}hnBBB^id}N?>9IoT1P@~l+pJ%ET}02$3l#@t=1DS z!D3i%SdWLO&5RjV3tC<>*i7q*5aqSd{=nnMtvdZW8)GbY3^bOIZ*^g$}NC<9mKZ79{WaD-SZnH6_$#4jU znT&^EoQ=DhjD}#8$-NNVV`I`F>J;4xfqbq#5rTJl(!!HixXiULMoOZ0bUbYUnq z8ZM9ZM>D)A6q~qZZz#NMY!1a{HcB+v5Q+^z7mZ0t2<~P_O$GI~URgAtzrJ!A*sAlw6P|<&5M%RR554-->jIIsE zUPgZ{(Z4aH_l2UKU4KW>ywmMt-5-huZh3bocC&FX6bIQjWDs=_jiHc_@(*)?zek-k zcO(=?8T|te2xeIX z9g5pzcz(+|5sC>$_Y9fln?u6p8 zW~rinmsSvF)1jDV!}B~8&)IrmAf>)I46;{|9A+#im2V)WzCH}H15%(WSdc498^Tb? zjCMf0!ZwDXh*<%(CQ7+sDAp`nm^Tb1%r=E#6C0&rC=KK5f2)C%dRZ7`v!tAZXtQLq zC{=`E8?zh>wg}rEh8@hx>3~IPa~O7NmMd&a7CFg(^811a@AVUT^6 zS`MOpmMT%&8-_Y&w9is4Y+o4anbp#X6s4*#G-#GDtU3$_ne7k5el{Az(8$JNkAal> zkub=X%u)8ymdpWBY6`hC6IbhGCM8`vx%{c6$9c6$aT(dcZ!~PP!{f55w??8Eq%s6E+=& z$IKqk#V<;C!|+tIN@4fH@SNF`Fg#&naX1!-8|zteI1zQxd6tAjcAiq$M>|i?L}_U_ zQkl`t(+gqC!jZ--B^Na1=44&8>W4o5E4dtT5c%-13H_M6-HP&ksi_v(4ey%tl!_%GfA3 zh*GZz2W^A-8^a{q*tg&N`pZ6VdKxU)DuR{a*vYPK;m})QTj;!Nc2ESjhGRFgs&G`X zv4_qN8?^>ef_uXun`U+FIz%g(2<;0;J+nrO2Q>oshogaET{!eET6H)MYIa1_Yr@gU z>;QGi#*uIwVdJPllzLM*WWVj0a?wgALe1eg&W!fk4toT)gyRImW8vn8+o5o@Y1S<2 zhr@A-S!+02**G1J(`zR2Y;ALY&1U9fyXb`2oF#@u4S;Vf(w33O^rU(=>qn*nFVVfgRLX2LJ7e$y` zm-!JWYa|gRmfIKu2u1P-y$6oDo-ju}L$H%CCWQjfEXwo(s^ zQcDC*Fr%&1qrzGv(8la|1a5mo>2L&2X*eeAXar6(I~jqKY@CU}88$i%qSVhuKz3cb z*hRap?V@xp0^Q7L*R?~~`3Uqd>x#f#i>!a`5$M%$Lex7V(8ufoJvZ3sr%RHJ%LY;E zS0W(0wO83iyR{cZX&?gEm`&0UiLgO>w3%IvP`kCp`gbt`H#D3Q^-B@B$!v(O1vYL) z;1(OB22tv_BOn{QW9*`h-C6M=DNw6QxP>}~`mn2kl~jon{bha)hl;k2laL|}^9 zy$IY>RU+_^jYkGi>eCUBJ>bXedh8ttpugx(XgWm%pGDxgaz#LI1K*Fp;z(m9dra$= z=slpdjM<9_yx@eTkyy$kHIj(ZTNVk~FivCFb6UwFWhIM5x+*|_(NhGjh(rd%v`FY3 zlm)3LlLD_kyx);s<73O*uX4568UUwjKoGZiVULEH$_4=rHk1`o6-d$v^f$b%xF`( zFjB7QEs-c?SR4txD_szYGR@LOy)Y6L%(g~iD;wJ*v7L<_22tvjk&x}{o$R9R>vB=A zio`Bvw0*tJV8#_)9f{oxchdP2rSeGZ(JWKgwn*${RuhRDHugng9~<=sQR@36Av@g- z?4q6ST2Vg`iG$2&r@KxukM&R_8W}c3np@qqkvO7Rwy4)dqKVnzNE~LPITFom95;wk zZ;6C#il1N?ZHgZi_0~wVG0XA6F<~b?kvPThL?rYs`O!$6)+|@lk454Pv-U`|vvD>O zXW8g7h*Ccn3E5BYW*6vR`go+d zO+ONeDGnr7Eb60?c*yL2B<`~@9f@f+9veidKZ%5F=s#r_ZRkG`rDu_N&Wtwn9|?Ow zYfO}}ta+YBnmhUrBC&)au~JcgM9TrQEiQCP)BP84$3SZffao*M-j8^~i9 zjSZ|8C2thgF{818HNx_vu%2076n1z-X>}AfXjmz1O%ygVD~Lh?8=IoAiH%}|DD}-z zkO_klcF}}Ep(t&MLMbzvFennXH40_SN}{mKN7lc>C{$=zE$T&4*v_mx3gv86Mxm08 zod!|rRZ)=1gk9{S$%Jj9R2_xg%xE%Uhp?I`>|wTx3`59R|F%V8uZFdvz9S0znAJw1 zmW};U*w03TL6rJ|D98}QL3Ys)L!Brcib5kZ8e*syb~p-0m>s0*O6Zr?x+pYhSTE}J zQD|m%Gzv%AXo*4#8z&5+)LWw<^A2t7+V8D?%Xp9OgX1FD9);8FYKwv%c{mn@GnyR~ zz2i|h%d8^`9c-M7!Z|j&4WjhUM?r=ode}w75uGA*Aqu_B8ht$I5_mBReGGe|pr<7| zqtLI}5mE1o!WCwhqHu|gfhY{Ham^q~eJ~0#S8<(PG*@w1godJUgBi_LT=fVXj>1ib z*Q3nAipx>BrCGD6UyZ_TW+PD;VdG8|?yxa#5T$-M3NnH*!7duX7!{#=QJ7>#BN$^* zaz)>d!W6@aDCilC(I`CBtX0&tS*^Nh0SgKjOs6VE)j9E%FQrK7?jpb~l8$_wEh=xpg zWUz~-JW`|8>b5c(napU)BTX@nbyYO77-mG9V;-r|$kwb=)YGDo!)$dlRvieHcB)pibfHW(rA>ju~n1eXcRLkk48Bg6$UXnrVmZGMB|TD^JUR`0%cpY zo+sUS`WE2N9!S%!V+#Zc~HZDZt0vo-WoQ=j=CVkQ9W8;!0J<;f4ayc58 z*|=g5b?6tP@#pgR_ebkFnyb-zj%I*c`3BddyX(;yV)Q)*1>K0oFr%-aqQ5nxN1}0y zT|b!7qtUp{=xd4oPDOj@`F|%GV(34O#xrK$zMsuhULd#J)`f8Fpi?>nhlJ8G@}Y*u#x-m#=y(QrWkBuqga!I z7!)umi9rb)TQn((@t}y&));JMqb!DqI^58;>knplO$_#M_}3Etof*D226gQE(Tv^~gL>|GR}6Ns z(GY_MHV$Y~8-rRVhhlJujYduO$6!AZdPi|221nR;)IjRc560;6n!_>ro2gAPdb;Kq zxAF~|Bq&Eh=Y+Tf&I|kiMF2%reiLHJEsYAaIqsMFd zV)S^;y5>IT|2;;fxv3aDVDt~T zYanC&c^HF7%$UWW*wajgkV^n&q)r%Z$)}sLU0y$YY(HSmdy=E*9(9 z$Tx^mULUKcYYI63Kandk8)8wYWZ)IFF&0H!pdi+mu2Jh>ZY+v5)Z;bYSd=i^6pKx4 zl*XczjjaYz+GVkNx~806OK8eMlqzDejadp!SqR%6iyh3$W7Twx@%V3!#ZC?Nc+Hkr z>|$0Ki%K?j$6_}dH3m`Ydt&u;O)a~Y(UgTK?TtkpvozY96t*uG^~`Ex^>mHLS`~{1 z4fS|Ubu11t+aHVlY&6EAk&VL!QR+ux^>ocqcCDZ(3sGu{#W7|Xv^OcNITpv69gQ`o zYYzNQEKX>cX;F{*p;)vrYl%e*8>eD%ij8)IDD~5^db*~AU8}qUpV9ltEZU9~!LzaG zVpj)UfKt0P7TucZftr)C=wWs)7U$ULjYTgT7Y(BH`eOAw%_VlxJk5C#>W{@`W;qrQ zE(p95i>nMT(RD5A=VNhAvs_^pVsV|>Kr9B>xDksRYz!Mjso#v%^E4yu%A>go5xNzN zQD$D+jr0h-9g8uBBlLt3rNLN?Yo-TkhGH?n>`pB1urV2nNjB~qM5#~3>Uo+6>{?HA z6(aO77LS+}&~9X`JfEgx@tEO*SaYD}ZY-W^Rwy0ai^X$hPh#PzF0%8ce|UKq@HJ}rww8pD)0bD-u~EYdYA7WEgjiZNRrhvjT! z#vzl9RR&S&S#f%vW;MGu(_BTIx=^#@u!dO)?M5o*vF5~KEyLAu=0MGgIOJ)j2WnQv zVI8yFIOMXiJ`U^IC@_dp-w>zgX$sl3mF6l$ePbMon3d6Pq_9n%I21E1j57ynym2Ve ztU``GKMtkLHpgMJsuG7XHp&g6)GOljJk2(CZKIV;l(xrV2ea+88!4My)}V`rbG_PgBRPowSmP(!MyT(NF0u^anvA6y(v!5(;Q>hZd%DisW}eEnbpv4 zq_CDaoFGQ8=Z?{#i29*8v~eJ@T49IdaEe)L99r2p9f#9wbQnabpNWHfS-g{7dudq{ zrL%G9Vpd1Hk;2Z!p_`efGtL~SIT?o@hQ#zhO?w=AnVpZrc{cju(8tClgDCa>IAfs3 zn5VhSuKhG+Axc-`aFtmD?M4b4h{H8zm*YI6%CEI!f!BC{4%VF|#I`vJmzp4o{gqiZh05)a!|Rad@twp02r1 zD_gvAbv}#3Gj=YC#}Xzf@kEsR(s(^xlgh5+w62NLvUsF1YoWc#c(np8k4HMQ)Oa;q zW2}EK;*gZ{_ho|!iuUN$zwV*?w722tu8p;Jx@~*k1}Rk;<1H|ig;A8vCSY#Z+pC+r`f@-v$T?lP-Q%J zGV7wh=;Z>d;<1b2j(BsPW@|ilYt}7CTON-+%&Oy2&Boq%>}8|QAWD5-yq>42XV-aJ z$wX*>JQ|qw&|HN_;DLA?WLO_>&ePPyqfs+GPg5I@Bg_uP;}9E7@n~Y>m_d|!bG)9X zInJ(&w33NX3tdXg`e?2qUasiYc(gG*9&gUm9HvKIvwk`DqwzS+>|{JnvT=qUDmFR| zqSVjE>v@_kc3q~GOw`ZCqnp_knyWCFaYdhxM-RiUcypenJs!Q94TyS2Jo=bjpmW4V ze?0oxxNH!mekESd(_CfOHCo9;eIOp!m<`fgg<>A-U_7ofyh?^BU5v*K&GbCYrFh(A zHWZH`Hg3h^78|1mQR=tj^*qfOyKc}*ChB+MG0tq5<|>5U^~7U>;TV+{_2GC-YBnNl zBpy@D?#1IC8xQ00kc~$MQR>t2dYJMlwWA-8*FF0Xo0+upKO(3GwmnGx4`^8vrOgQ_VfK)2z$0u+0!o>AiWBrejkO>FWekbwd78omR506`fURt7Pr!CI zb{IsdS0?Crnw{)=O!H!*RF!~T%%0G_OoUY@U^la!2_AF0raS?A1e((|+Y+#sSxo|J z*w~kVeQeYlM5*sj(9<;y?0Qb?nkXGez(Hm&=(Z=q4ke(GSwjLA>pkDv1RT*&PuJ8X zpo!Vx1RQ3gIRVXV95;wkZ%NS8H7D4$gr+P+sWky@%u;B|LfFX!oMLu@u3)|Ado%&3 zHPq8J#}aUcS$hK7**Kekvut!3M5&)k(9<>D>{>=s7NT@M0X@vpXm3*3g#`36>rPO^ zHOBhak$^r8^>j^V0{WRw(t)M9jQ5sCZb!Hi~Hz{l= z0XLXkqo<7zKjD69y_A5P8tUnq%L%x}Y&ZeKY}`)3Z8pXXqSWss=;@kqcCGRz&oSPk z({`i?-b=tFyT%jDd72S=YH6nDX+{(9klB5DF0wIAPXRU_8${_nNzn5&PuaDG<|;(! zSpuFj%klBxk-!&peI*(z+0z7bp5{RUmT0EuX&%v)z$`ft$!si3#4J zDD~V#Jx`OzE}ExVEka(Z&y412)+EYb^!!AuXPB30&eN7h!M5%91)blhY?Al0k6{5Z+5v9y%o~FoP#udFa5oHWZsF=FYtc8iF&`i(M6eVIi zv+_igvr(CdN;Y;HM5$LL>Uo-7?AlCo6{239h~3OeXs$vr`l3=I_AuO)XwK7YOT=Ey z^gPXuMC@Z$n}}LA_9tRL8x00g>IV|_Jk3FNZKb&iQ9qQ3MrLI+S0U`MClN;&9;73X zW3Nj@lV*CJralqP%#J4FC>t$_Xkp`oL6mxHqMoN|W7jrX$wcX7B2F>ePD2*L+7sb9 z&9E)eybs5*M4Zt~&(j=F#93w?iRfVCTq4e~(QOc=em+sp)AX>5=4m=b=|UoUnN`t^ zbA(+?L|-ERMej*825R^(dS@c~Igps1r|C+>6=s(bafywAL=3QT%^*sBFj3FbTxZvA zTFFFdC=oZ9)zFlMu;E19Bu0PHuhRt}>X#F7ivx-2d77( z?T9SshJT2)mz%DQ2Dtx~xQfG!YLO64UcEV~Ln%_8<`t*m#nN zCu}@5h*E!+sOM>(vunQ(9*NS6L@Z7+mNgo#c`PhB2}_tgPo($gqW&lmO9ett*F2_` zjaf<(QrK9Ygyn3c8$_wENYc|a8SFYl>spd}I9DbilUXB8SqNK|ge+zmN%S6F)Kim? zt)ZT-NlQWwv(-sh%|>n#a@oi;h*I|^>FJtv>^e&8nkeNbVLh`Znz9g9kc17))+HIk zHR?V3nj~!0P*2yaO~NK-g-Ix6V{;NVvr%FYrM@LePuG;P>o~1zqO>&$Wz1UWMnb~M zlTg8|G)WED80%kA61Hoor)!FnP|0jt61K5Xm4qrbb{RyeS10M|n%(SbqjgP`YLc*r z*-5(Rkg(b$>}9q)Ne|cj(z+uF`!v+kH9M2ApIKcJ>ex7tgad3GG>B3^l%%I?8rgN) z`-fr1dvv-Zkq915LKC|hlgxRV`Xn@KrsruIlF-8J7(FO#v?igIjW&ZQy^~3Lp5_$0 z&eBRILhVU7&8&<5qMs1hL83g+dn!rK(;QF2S&hC{m*|Nkoa5BaBy_TIJ_+a9=+UGr z30+KjlhDh?MNPVs(9Psh5-u5r$J%co)$)ZTJx|k@q~~caC+T^bE8GfgU`oT+k}$}K zHZTQUPr?wRub`s8HKT`n9(CixaDE?wS<3XhTl%Y7`uKn!|xP$dzy?UVU)@JB;03XN|U=uxXa{W5+1Vgh=@lHeKHAus!qa#Bt1_vouub!9&;<- z;E5dPvm`uc^gW&mdXa?1JQ4jBRP?uI^pZtLVb>34^wLF0W#su=PLNSwVi?EH2?V4;|gsn^} z7on1kod!`K5mzXE8WEEt*|iAO?E4;7f_5)L4d)$u3CCW#_krKhpEtdf9W_Hf(n%O( zExxV3Cw<#}JA6BRyL`KSdwhF+`+WO-ulNr54*CxH4*QPyj{1)Ij{8pdPI`Q&d>{Hw z`#$k~=KI1o*)PQ})i2F2-7mv0(=W>}+b_p2*U#&h?^obg=vU-d>{sGf>R0Ah;kVtd z(yz*|+ONj1*00X5-mk&$pkJfk5x*wCX1^A{R=<;e?S378oqk<@-F`iOy?%Xu{eD;c z2K)y7hWv*8M*K$o#{9Z_4oC?|4M+<}56B3}49E(|4#)|}4e$o!2NVPp1{4Jp2b2Vq29yO<1Z)qe z45$jI4yXyJ4X6t!2`&#_GCOVd^4aOLGiR@w-4}E@=zPGFXV~e%n=B(d*T(_u7VSw``|gzx?{3ZNhfnHvM|W8)LR7w&%93Z|w8D@z9oP zUvBSuW9W@!dzO8Tees)X-psJ)+c(%N-)wv{*Ir`ZYQOmA?Kg|;mG)isw72r#s<7AD z_uKcpb^NUw`w{yw`@mb1ZymIsw4b)GdVAB`E%t8v1$)EW?QeJ5uh_5IZ@&Hb?LPa6 z{kA>#ow9d^?34Bf_M`8dduQDK%)Z#+8Gk4F-D!K8V})bGyF1@aab!EzI$GcDdpFZj z;MnMR@a}T@wct`mxuXQN^lQFVj@^zkxJJLWTkkmFc!sR^Y8_3EXVRJMTIx#vBt65P^2OdSa@@u4E$+@Q2EQnD zZ+Gu>KmTI&mu2o+_dfUbFAsiM?QV1*bzk`M)|UMZZ9W_OqSynFYoW3xKk z{qC#oE3+nM^}2`Mx7;fOHwF&6C*1el^?@e?$J|fcp6BixfsXJLf2j>Kp1|^MwvtB>&`pD~f zZ#2De_l?3g+unTm=9afQ-+KPm_O~y*o%+u1cdop%^4!x+Q*_gdb&|6cL? zr{90_e)-S4f4<~{st+!CK1ly??}vjQuKwuYN4GxmethiXiH|paa`KZ$pOk)j_R|-i z?)a?tvt_@i`Nh>=WPZN?^Wo3eesScBJ6{xhdE(2dFE`KXnDum4Md10sl%QQf*MoDRDy1(DK zm4#(Fo2ha)``O=fU+3J{xiwW;OqDKNtIU)&KC0p@X4fJTAke(pPK$`V(m>O67(_%u zctZ#xA|V8tM>-uuL_!FUrqk&lliAI8`}rfj%Cd4_NhulSRLLqeG*C>=A?8TOP-(>pXpAJH7WtcKKPHKE>6XVklDT79hM)iN!twQ4=uO>I`Y zr)_CZv@`9B9?`Gqz50kgr?2YU`jLLFR~q$3yU}Ni8S}=Pv16PVMP`-RV0H$~esjWH zFgMIy^VBS6HLQ`XDoJHs*-#!S`^tgxL^)E9l~P(puh0q_q*b()w$UhUr=2uLTUi^6 zvUb+VVr-a=urW5yCfO8QWl6TqHrRcZV#n-+ow6*;v1e?Uj?nMv99^NS^k=$F1Bdj8 z{!Y(ng<7e8uGXtjwO##M?Ndk9G4%&^UQMcN>M!b!daRzPA8SQgP^;3u&>FN3tyB9( z>(|D$3GGL1L0i{0v|qJdEu)=kpXkMUwO*rtsW<8|y-WXAAJ8ZDDg7sXQQy?>>%ZxH zdRBj`e`=JxVbmIR##cs@5jVPx?~FlX+PG!hF_w&!@xXXw>>D}bnQ_@HHACiSX0zF1 zCd}*R4RgqxF>jl9&1ExfJ~SVj2WH-UZkDlf7G_rmDn&u+r9d4I@fh#oaX!VT`7NH} z4|tlV!~>BQ&qQ847h(UZAMs;;x1Zyet&r7hC9E6PjCI#aTaT^0Rc43nR=dZ(Y0ujC z>@E9=eP&;ABF;6Z*BNoFO1+Txnb+*KcnR;icf%X< zX1v?pU2oY-dk?+G-hr3*o_l4YT!h6{(JIu5mbRpAX-C?X0(;WFbRZo{$5KYhN;xSnok{0X5fnoSltMXFKoF{-7D5n)2-HIZ zG(r=!KpRA%17Z+|1oS{J^g%xiz#t64FpR=DOu{tGz%0zcJS@N>EWt9YKoZtr6H<_d zE!c(~*bTrQ?85;Z!ZBnZ3pvQc8Jt5A7GnvPVmVe|5Ua5kLm0*g)?))UViUGt8%D7M zV;IK-_FymeVLuMwAP(U$j^a2@;xx|SEY9IPF5n_A;WDmZ64!APQ<%mr+{PUY?BX8o z;{hJxF=jA}In3i3o?{UyCMBell#>b)B-Nyrgh-e~NIhvFjiiaRkTwz}9VABLBtd#e zFX!x$vBxL(`1Isk~uO@7RVx5BFkijB*{A2Bq@?6TV$K;yh(P+9@!@c zX;a@*^r|{n|1R|ps3;rTU&4NGtum1ww C4{WLc delta 76457 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