From 0f8d871cad715ab9963da2615f4175a155190b52 Mon Sep 17 00:00:00 2001 From: usercourses63 <153175511+usercourses63@users.noreply.github.com> Date: Wed, 22 Oct 2025 17:53:47 +0300 Subject: [PATCH 1/7] feat: Complete Phase 7 - Internationalization, Enhancements & Documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PHASE 7 - 100% COMPLETE New Features: - Full internationalization: 5 languages (English, Hebrew, German, French, Russian) - 252 translation strings per language - Hebrew with technical terms in English for clarity - RTL/LTR handling for Hebrew documents - Conditional display based on draft version - Draft-specific features (Draft-07, 2019-09, 2020-12) - Version badges on advanced keywords - Only relevant features shown per draft - Visual/JSON editing toggle for nested schemas - 15+ schema editors with dual-mode editing - Consistent UX throughout application - Tab state preserved per component - Schema migrator utility - Auto-convert Draft-07 → 2020-12 - Auto-convert 2019-09 → 2020-12 - Comprehensive migration logic with validation - Complete documentation - Migration guides (English + Hebrew with RTL/LTR) - Hebrew README with RTL/LTR - Usage examples and best practices - Monaco editor enhancements - Semantic syntax colorization matching Visual UI - Type names colored like their values - Validation disabled (zero false errors) - Folding enabled on hover, starts unfolded - Overflow and scrolling fixed - Default draft set to 2020-12 (latest) - GitHub credits: @usercourses63 as enhanced fork author Files Created: 13 (~2,400 lines) Files Modified: 20 (~1,600 lines) Total: ~4,000 lines of code and documentation PHASE 6 STARTED (10%) - 20 comprehensive unit tests written - Migration tests created - Test infrastructure pending (tsx setup needed) Next: Complete Phase 6 (Testing) --- MIGRATION-GUIDE.he.md | 665 ++++++++++++++++ MIGRATION-GUIDE.md | 738 ++++++++++++++++++ PHASE-1-ANALYSIS.md | 394 ++++++++++ PHASE-4-SUMMARY.md | 264 +++++++ README.he.md | 355 +++++++++ README.md | 116 ++- demo/pages/Index.tsx | 1 + ...raft-selector-2025-10-22T08-11-23-848Z.png | Bin 0 -> 115352 bytes package.json.test-config | 15 + .../SchemaEditor/JsonSchemaEditor.tsx | 45 +- .../SchemaEditor/JsonSchemaVisualizer.tsx | 32 +- .../SchemaEditor/SchemaVisualEditor.tsx | 139 +++- src/components/SchemaVersionSelector.tsx | 56 ++ src/components/features/JsonValidator.tsx | 48 +- src/components/features/SchemaInferencer.tsx | 8 + src/components/keywords/CompositionEditor.tsx | 268 +++++++ .../keywords/ConditionalSchemaEditor.tsx | 270 +++++++ .../keywords/DependentSchemasEditor.tsx | 187 +++++ .../keywords/DynamicReferencesEditor.tsx | 112 +++ src/components/keywords/PrefixItemsEditor.tsx | 209 +++++ .../keywords/UnevaluatedItemsEditor.tsx | 159 ++++ .../keywords/UnevaluatedPropertiesEditor.tsx | 156 ++++ src/components/keywords/index.ts | 21 + src/hooks/use-monaco-theme.ts | 158 ++-- src/i18n/locales/de.ts | 110 +++ src/i18n/locales/en.ts | 110 +++ src/i18n/locales/fr.ts | 110 +++ src/i18n/locales/he.ts | 260 ++++++ src/i18n/locales/ru.ts | 110 +++ src/i18n/translation-keys.ts | 110 +++ src/lib/schema-inference.ts | 2 +- src/types/json-schema-202012.ts | 51 ++ src/utils/draft-features.ts | 95 +++ src/utils/jsonValidator.ts | 22 +- src/utils/monaco-json-schema-language.ts | 92 +++ src/utils/schema-inference-2020-12.ts | 158 ++++ src/utils/schema-migrator.ts | 362 +++++++++ src/utils/schema-version.ts | 161 ++++ src/utils/validator.ts | 184 +++++ test/schema-2020-12.test.ts | 421 ++++++++++ test/schema-migrator.test.ts | 306 ++++++++ test/validator-draft-switching.test.ts | 156 ++++ 42 files changed, 7124 insertions(+), 112 deletions(-) create mode 100644 MIGRATION-GUIDE.he.md create mode 100644 MIGRATION-GUIDE.md create mode 100644 PHASE-1-ANALYSIS.md create mode 100644 PHASE-4-SUMMARY.md create mode 100644 README.he.md create mode 100644 main-ui-with-draft-selector-2025-10-22T08-11-23-848Z.png create mode 100644 package.json.test-config create mode 100644 src/components/SchemaVersionSelector.tsx create mode 100644 src/components/keywords/CompositionEditor.tsx create mode 100644 src/components/keywords/ConditionalSchemaEditor.tsx create mode 100644 src/components/keywords/DependentSchemasEditor.tsx create mode 100644 src/components/keywords/DynamicReferencesEditor.tsx create mode 100644 src/components/keywords/PrefixItemsEditor.tsx create mode 100644 src/components/keywords/UnevaluatedItemsEditor.tsx create mode 100644 src/components/keywords/UnevaluatedPropertiesEditor.tsx create mode 100644 src/components/keywords/index.ts create mode 100644 src/i18n/locales/he.ts create mode 100644 src/types/json-schema-202012.ts create mode 100644 src/utils/draft-features.ts create mode 100644 src/utils/monaco-json-schema-language.ts create mode 100644 src/utils/schema-inference-2020-12.ts create mode 100644 src/utils/schema-migrator.ts create mode 100644 src/utils/schema-version.ts create mode 100644 src/utils/validator.ts create mode 100644 test/schema-2020-12.test.ts create mode 100644 test/schema-migrator.test.ts create mode 100644 test/validator-draft-switching.test.ts diff --git a/MIGRATION-GUIDE.he.md b/MIGRATION-GUIDE.he.md new file mode 100644 index 0000000..c8a807a --- /dev/null +++ b/MIGRATION-GUIDE.he.md @@ -0,0 +1,665 @@ +
0>^dt4tWi(qJNEcLYBn3Ryy@2j66wNU@~O;&z#M-x45kUfH(_OuaKJiYb& zqp$TpH`E5rrvI3Zk}dUNJnfIv*Y>&Ueb#uk{9i8=;LDi*+&(gi@jtS$sgJ!|2$Ky< z- XP_oZ-@|59*z35M>e zTGmwL(dIAxck&h%xq3^;tDu~HSWsWp{R*RlzQ;1VP=W+X;N;X)GR606@uarj{Tmoo z!Z~?&Uo_CWDd+5&(rLW3Hw-he8on-NqzP4;tSt%iv9hw_3%TE2pZ bm (<>sq$^_^UdKzIwxnCh_-jo$qio(S3Bj-T+d4GYmv*gK9Ilp z%&}Prw3P?<7=cu;KizHpmk*U!e2H9KxjAU`K*iAij@WUVbp5o@&x_M50*+!3A>(W~ zNkTEYi6Nwzo6L}VeEGGGi@eILqW;MtXBZmJI50G=!F2v^z5=0z^!aS%D}7rX``hYq zT8$5)FB}$%ckoA2uvx4tN9-5@;&%zCH}c-r5*2AumZ`#LM!DQTX5!-f })^T0g3BoY4FIQ$Y&qt(&W+G&|z z^XYtr$lLC>0+k#`6%F&|>BEE1`10@^6oPieS}#{fP=&Rr7BT|`RF9IH>C`82^}0iw zV9wDs>r pbq7h z!_|+YSksc_#ow#bWBEos`y!)wzRq{@l8??S^ !?zzykFlL0#6A=TiaINq)5j0 z7O0VCRi3!01~bK%@t)krVX^DpF=^Keav<*35i8Gkp}b&`fE!&R=s2nzY$!4YCgZRN zSxlmXKG$mdOgy*{bZLKGg{odA{D2l3s^fusXpbIKOc?7Z5yY2bH$8uBm_{CahqH zkKy1Bz5J>TB97`m>vDNo9LnvQH-JEFFBp11@>~z$emqPgS9fzk&giwGoNe7)8K@|L zP_34$5cwFqZT`?j@W`d%#pGX|M5UQ9Ks0rLq 204pcvE};45pkf7F(A>%T!n9U8|eOeTX$8s7mK%H2Q0b zo7jo=L9vXFJxSv8>A8QcIj2bZ+I8Kz@z hvb$G?1Ip>6DYj&E@yyp t&9IKJ`EXt7CF;+7r+`aC zLAj!1c!^ls3zs)JWaQr)$48 w3 *bZYxd>kx z6SyA?)A&JqejODyj>yAbvupaInSOCD)}L3Ue #{@-=XS1! zz8q`_F->X!)~L5ghmFHkS)O|lk=bon$g?5Qq+)dWe1N1#6I==o!|!c-EMuN;v=s)b zusT(V6}UD)Y4-~izMiX_uVuqCNT{#7rwR*=IL=4jZfL9pV5jyQ;Tzt=Qu9Kj#Ab+s zBT~3UvzglS&elbs$`&yMW*}I>hYWg))uL@@Q;QrYbSJ|%49YiwZ&6sk?`x{Pw2q)9 zFv2+3C3(%ghPV?mnYhhDy{(yhO)Vug9wSoten &wg~-l&hGIqk7e{$ zO9Ckkq#0y2kUcUv>s5;~pKz=~Zut7%RU6+WlQ6&d?lxj;uuKfkFTKX$-bbJ045F(& z_p0=6|I!m-2zGroED}MeWNVols*D_jUV%DC!SB`KocE4&)}+~Vp$)9gT=m$QyHQDG z>lf!SdzfVGEqoqVK#n7zqmq#_YmUpACM9+{5EITjq$=BX=Oj7XczFV1;8*n}&t^8K*s)r^0rv3WH%fk5@rYD~RLnR`t~G(T~v zC_hqx@e1eZvA|jG8z0D^$%n=LqPUvcvdY=@i8#B<3F-)0tR-dtnx8_BaSRAX1|A|0 z1xD@;1E1>G-f!(DNCSH>fT-4@FLHfc?_3PS{GdE1@{lMt>2O_KW7|vj8~NJ2rq2aB z(_34|ri6Q+&s!ht)^eTFia>InhgDvye!U9@{a@1RR%iTXpy3Hb$**@$yoat0wL3_v zWLF6DQ5`Bzu<D4q!c0=3u;8lE^ZboeTp(Ssi5i0V zen~UFL4h0N7I+;hg7nyc1C9y%ahw=8Qe~&W_>0PS9Hd`WUL021@5w#7-`=Y5o-h+~ z4L5PQkUJ5Qfl2>dv_5D`&S=F-%(bm7t4m_JWCaIyqKOFcB$UmhL0i9;@2*PIGf!i3 znePXMnxVb9H1K0#yD!Z>D~Jum=5i(Dv^J8e>sQ|hmfm+Wz6>f^an7&4ZVGEO0s2{U zOU_YMY*2Sm%S1(!XP&(9E}nT)JFWf_*~rvAttP+m)~E_pF4`P2s*HBYGlSQApa1Rb z-bc~49n)pbN-}y^-YmQ6)y~{$``u^r^Hom9y!V9RZLhyaDEhf5@KNu#EsD%ju=PW` znplB-v)T7}?5vX=VAWnO>0-i*Xr9t-yl@jfyN*P9#Np<>R-?6f2Jh_}5!K>Ix9UVl z-F$Y#d98@mDt?l7S-*)V3e|hL!*dr|2-iwYsbRVEgj$HGhlqRsxe(X+EwkVcXT8@G zRI$!w1>PjZ1j ~5+#BLVuIDBAE?xtzm0WlbrZ=0fa=fnyv3-UxLAud>1}qlgGx}vs zrFBy^zJ=9aGs~Sk j+cNqxNT{S1z?Z zPVKg0-b|IvhOPT08pC&e^^tL#lT{_15ffG_Hul&;EZS1qgPjZ>u*KoVC3UQby`nL5 zAi`dQh;B3pV_LWcM=+J{%)?lB34vg_73*HYfa8k*@<^FTh;YTUe|+tsiX |BWzQLQ#2J*fc=uDi4c{$_6vCncVdl`rz@^-f1SpHS0B5_sKww5&FqDAo`YD z>Y`|~!m#C F4#FpXKdw8nuAaw4 p^9tt S)h6KUr` AJWJN!maq`p}^u;*f7X&`ND7dxRCJ&SsK-kuF-2mP`>42AB?3Lk>2bqPvT zT54n;pt= Cu|Kb>-8l@_}r7kbljR#xYmLoqW~hFLsQNE#LSp>Cbt zL@T#q&RyR!bqA%qH54L`?Qc7qk0VsY*uD5Y+FdfV*)f{M!rUiU_7&nhWxnJk%t Gi%z`1}wq9q!n8x)%8y z0)789&R!|3+4}XG^hDB-&O;j*XUb@2X`MUC<$;^QX0$Y11)NL1JWW|ZsC2SQ#&i0# zkSfU|Z<)jDObq<9%kw9pz g#Ft;J&aaQ)dt6O-{durOzq{tVg79^|#GZ_?GVq#S|TRl2l?~C)hYABWWWk$c!Zd zq_{1~Zy#6%x)Jpn(w1)UPS3#W9l@%E!`IWdT%_+-S2V80`E`Q!QVqXCjbmB7w%V!| z3aX=@vPeya#aj6|T1x-?1ovEd=+m#>&LI|Ea8vlDC3I6C=oY)S( }$}xwVyHv61zlk(u@r_S4 z(yyqKk(-FWN3HhsST8zyu2e5 m#C8^(TT&RWR@x+)kUg0W(UA#r;uI4rdI|vZoQRk2g&blouu{N z+gtYCOh(v6u7-vJVb%=B zt|51ykxl0XdBEC*cc%zbh?PsPs2lLs`(Q86SUE7lT2S=n*n~_iNgP}-1{#^0X4E9t zo$HAuQiu1KE`kVEAlgQEb81J=d009FB$qzR3e0&Y&jeVK^qmlN>3yN}eOpTN@WR7m zrR_Go!pFrES7}}Ax-{$T@MvD;gV`rdhf$8&H)zA0eb#)nkR|sh8fOa3 iKqsW$y37%gbb2==XDI<-|zWPkjH9(=~5=C|TfWunF zvbK@bL`??G>YO(gx0Yx8@H&E)U8_`1UwiOt_&iqS?Om-k pN*BwxXV<{z3;@2Q=iXSBt6Ej2s @0$x>1|MOYhw(D*IW`TCzD z6h^mw7yD?CUbDw4pO0mMFo)1q=se?9 pla)!%;_ z-MTx!7l3Y2-U%j&0^XDbvBw~NKYYpFFg;X^A-u>BYI9wuI2kJc?i<0rh$>zfX;<`y z^z7PcWi6NC_Ei_tCelzG_Bywqfe5*sql-S)V?VP(+>3!T&e 2?f1D>*xuDp{1(!A74POz+3n*=e(HSj2PdJ*I-X-k(nPQPvx09K zU{TGR41ye@gsIA-jD@W^RB95lul-8;ox9FmaS>(TZ1!2d8*1q J?Ag@Wq#tXPO10#V&^> z8LktiVrX8k z8k2G(fG#eg^9ko;!(ytT_&zRM0Xzp$P2GiecpdFV4kl}aU}%-Ci#v%b>G0}>40hFw zw4z2G?@GKY&1WuNko%9#ion#m?yE1XV@wPlUzZ#0x1ROd3 7(Gr25`S)~&R2fEW=pS3P8{!?Xunp! zF+W=Yo}JKR+pU|4U(bEopZeLN=hH@?fn0F9yw@zplOggI&4*&nt2P9$>b;dWj~&!5 z=T`wPjzK$iR!}F9ftp$)l31FZ7IvT60MXshHLRR1F{yI^t-!tw@|*%pM`0#wW%zCt zjzo&H^fG&-!Ux{U-sWSf8MG*^5GI{go3Z%?7A8o-G>S7DN7;SBkA`| cv#uS!FK~ z#|H0Dt!~)^-f8yA=c!Y5&ph`u>P4zbPWd4ChLLF)bea7AT@YGU$6D8kf=}6FzjR#< z7f!soWOm?YUA7}FlW?@He-_6OhbhN_vO#ZNVc`Ayp632g-n-Dt+o58C?)Ilo#g0cjg`YPwsVPVloQQer=*Vlk!PjOGd*1q=avhZ|Z{P$DY%P^0TaUbWgW|E$)u2ZVB`4y*iGa3;4C`sins0L1(t+ zYX|4#5s}9fTsP6-Rnf3UOGaB+^T&ey&7%6bhavv`yTN{v95V`|Pp8`PH=o~b=Q#*k z*c2`|w&iMlDx0O>IWoy$=kMMly(FyrxxvzDh_8o=N~R0{U~KdDE=f=Tnxl^;xWh$` z-SX9`Y=fe}6;X1yr3#1Ut2PAW|D5wd&?$5?)neX+a?zG>`?Sl7&1?1P2(Q|pb5e{I z3CZ?h 06BZ5<|n2O3qEc-1bJ7@uzyBh6mhs7ChlE-41oZ|h^dHTMtg zHzIu`B3sl D-p4O@B@NAZp!LVPBYY(eV;G>6YAS(xWnP>lx4`6hL<9qvRu^ znWVHB(^N$lj>mCwp7DZJuZ(v(RmALW|FgYgTT-RdQ0-0#=SFnuEdx!BPjRz`Mw9;x zaMu2$@%RHOW^w{l$B0j-Z7-PF$1>nYa+9xSsd~*R5UECxpsvTv-yW) z)m1VVkkfFn8?__h^Y{WiF=^yu+B3x`bw`s2O&q?-O7Y|dHi9#coe75~s}{}EC057H z_B<*)Vb!`853-|df(bneh?S4jlVKul &Ra)v;qUh_PTCd^f@jA6qgmq`% zlLrk9?@tI`Jc8cX4ZGReVZ7JF$GNKBF1IV%XMT>ry!_7?m+4$wX9L0gE5ldWNYQ?$ zpV8+9Oek({0=E<-N5(9}Jc><{Iko5?V5T3lhI?Sc9um3~RKr&;bUp0H><%Z%Bd6j| zZDr|#Y(?iCR4scZcswT7#njKwc@I#12S`P2U!Z?>wZu6>;-gxSJ`Ac2v%Fy%@;vu# z^m{f!j?QRiHA`q(%a?x1l~uW#df=vOrrAP%JHooxoQ0O73jRTOwAB#(q0MjGbcKJv z)em<9C;q-pQl!tCiQK#wWkN?7`!bA@2|-DEd;J&tP2_!ws(9o5VRsu83o1*u_p{M8 z&Krl#)3$tlFpeHp!PQb%Q)8$G?vay|39-CBX3}@0z49Pv`!3Qa+4RJNUV-sLaOW#8 z_?(LHooK9+I+SzGr@-BrjE5$pl2gjUmN*U2p<%uW#G*U=o;5Dg`e5p__m#YnHnS&5 zdCFjmH32FUx2IL%rNLCeZSF81VME6+GOT`AEk{nd5-P?ZxE20FbJT9a1cQs?WK4-1 zm)BQig(&Nxk*q<8Fod?b-l<$p_;qMFK5v?G3zZ HQ4Po0hK8sYU*K7A? z&&86ecOx%R>EG8A0hRn%AZcBMr^&0Yy1=UZM?BU#lR@v)*IqZ8%G`05(ugSUjeLx_ zWVQO 9^3^p%b;I6R&{gAhlCnn}; zQYHse`<9VE{B1jZHOc#BHC}YIx5;SJ!zH9+R!ax)7l&XlnW38i=*rgj2%Fa>IKpOq zrrfMJO%CXH^XNsL!beh+nk{LFPgJNfF&ObJ3BLk)`kz))h+K|3dBmWlIcHGrxi)Wp z9P!(bm~P# G&B_2{4{yW;i-UEYdeDo}_v^x7BEA zUG^nQY#!@b7JBch%BCf4m5C*-%zSTdzv1MA;l|;J-W_@uFC*Rj$O0^Bx(t{qY*uRj zRm`vVdL|)$OzaDxP_8D@Rg3pnJxBHtagR|%2@J1;n$?1Kk^X!K9#PWK{YX-#iqmT) z?cG6x$Pia;h0oWX%Byj!UeEGPl>;m;TesE=9!Mn}EoXv1z=--OYg6%DjPUH@H|&tW zQ799xOeMJI-6lK1Df!h3&?xdwXGp|0ojQ)HgrGiAy0+Z8GEO6>`|GV*Z*Y6!Kw?|H z!Q;kM*aHnOT?kKia!?-_p%I2wTvO@rR=jLg=ZS|O9zk;A eN;R;q@j|w1YE)qiwy$0 zg5jC `xbN7Yw`)zvd=Z>$t4P~6>};_mKV910Y7*NwZo@8ZSX-QC^Y-5oxj zSI#-#T=}*3&RkiUtYk8|=T2Rb%46 RfBTwH9ig}#b~WrSo@Ithc6Sr&!p;0NpNDhj9Hbo(JU4U z@1(GFrZWg3Omadu2JNAIM4+;jndGes<;akdvi8fO ms2%$DFRTt$+ZeB)2uB=#e}kzhYfaMYxw3n-u3k=( z(gP(zpvo>t`_ZvZf-R!uzEUcorZ49K4D(B zK`AR2q0t~@ZadFW0e{^CCVWXH7iL*nVmH6r&8Q#Mf1~}4sSH-*I3;kq!e21FxGbx; z3gHpJ=Ubbf!8H<~!#@E_M9nxd=i-LYU61W7qsk@5S*+3DtBu#l{x)@@sr%otR}TnL zj|-dOsf2fgt_}Gsu_b_azWHxybg3Ugiw`lgbNtjLBKQjYz?C7uDt=`ThaOTkZ8=d_ zbf<%GSFIs#Ob4I{QRa_TKk52>roHL D^ zk=`i{Pu0^>LOFZ&BiiH3%gynZ5nt1f9~-pXUry3Zyb~&yjL#Lbsw{W>DnNYsQA2 z+ziduJr^=~= f%B6s>_ocJD6#d; z78Ql>Rn^_MPhm)`ao&31gn%FCh5?o5h8-W5d(W&EY*xwl>hNM`_rQp^o20xkWl=U8 z2ml~_snH?V?w}tY0GRw1A+7UzFgsvK!u`aCz&&HuCb^Eau#AvFeDDtK&bmaP|6Z5F zo;lz5#CLS4cl&IC1=>P+iZIm1K2iM{$>MXwlQJG(7YqXs5SPG~!-zaEyp3=URXtdo z7`F>k8>uYRKKkx@LbzlHW^Qx_Ba;Er@3XM94s@Mpy06({bN>LlW;k#imW!7H|1NvA zK;Xm*@Oc+LT%333+u~V-sC~5(DhC2!HQmmygV)#9mqQ2Ocn{2YOtmlE&D;VbSUaOU zm_A`we;@LqLw>b=nNv~95o@zA->CWB<)7RzJ7XdDPPb7mces%M@z{g~8p(Q-vQ)3h z&-HRjT psYdvM3c&H0a9=F5MAZZ{@wz{2rsMqS##OCu{`B>i zOW6%4TLHg|xLcTDK8?_ YbnZ)^NT-+ys@1} zPhV}zPv*=dR`li?HRF_07i>fvS$y>U6*9Y!&`BS@Ab+23O+Iayka5qds%?b&bhXH> zSI>5KDEj*DSJAl5LoelbyG{FSt0JQCyMOK%vj@1ut`IW@NN_Tkgs*QDq1c`s)uDd!~Q-Y=hza_sRH>D6NazJx`uOw>5y^& z!uRr@6DE;+%KTo!^Dkb?I-dAIsv1+f*1tHc6-)YWiyiNUn+xSv7ck|^IbNT~$9_tT zA|ilB1f7$<@b
HNLD0PX^Xm->BtG1RWA$_@>9 zlvb;%dB)pM_o_a}Q^WMomR!Bgz|yQCc b4F8`awwfkXN$OsthTn zC}nmB6BR3RD!#+{kR=L2(4pfN>L#h@qM=&sDdPnbMgE|65A6lQ?`yEg9BbT=cOU2c zF&kabW6z!uRACP}lQo2%mSkPM({l^!QjS!zN?VvgAc?;4yBnv8LCgp`=J;BODwA>f zF!8V<)6<4YLD`n%+uE #7O8u`t$ zNr!O?+(&Urkxu>Z;vF0@pT Gs49f9HsK&)2|q zv$4dXW=TfEMv984t&lXrpSWv$0(!obyLNL=E3f`pVjg?`MQsP!kQ+wb2{wKBS&nIR z*qwyt8R}p|RjWqV-DOy1{#Ew6LCJ02D_$+h#{n3nS MxKr5W!C8(5D*pQ= zgfzf;3MT+XpD~r%Kq{btL@IA&wJzB!q=#4Vb8gF1i{ dN!gNXn-s!+$$o;iq6b4_raX zcGP$r>)z!xfZ-w_OZ@xZk9I?^(XLy}G&cMkAvX#T8S*kszI@(dt%Udb W9IP(^N>V-wQx+SA>&~+w z>ms{^76hL$D8=De!KzSZ4Y)Esp!t+sI17Iv^9QjjI<(KCnVn81t+7r=Za>U}LY3O9 z_JNnQy!9CJc;xL&^+?HmE0f1=qyg8wqSCJ 5++IckjL1rat?wHZOJ^ z|EA}NrsiQqZxu%gO`cMH+T`Ojt8Nqmyb(sK30HHcBUZCBIxSusG7F8PMKk4YvJ6(H z2?%tP582ANr_MClQ40MblYu|b2U#rYASR5{Wt+SEQNOw6lpR*ahjA(6qf}xSIW* zGtq%Dj1$s@L#;1AKc`Z7&U;;5WvKKGG&xbjq;pn+wQ5`Y+V&FUHuL1qjakn&@_u_< z-HyJomH%Bs@%Fc0FA^7&%O}D>gkaR{6&n54uL*HEHGa_?64*troaPAuh;RoK8{;Og zQ)<_(W#?|~yZG1))pCuSkal{8M{ew_$nmE2so(%Qq6?UfGh8t^P_ 7q})ypH6Yu2fovW x#ml*38HZcfh3C2J%EtyNH_V7=hH@8OglYL z_fVjHjW+9|B9TXnw!{1iiU+i+hB@g7jpH@5UDqx8zPY9q+2Tx%`FMk(DbioSB_ku! zJoxAGF}9$u{o%!<8U*MbQ3pzPOcpUBh+&phN6a3A#3clXbfKAA`d5qVX?_XZNtNrs zd}*n4s~G$F-Zydn2GL47TQ^-kkIcf^ni=*uJ3nXZQQn=WpEH7j#khc=Z=u$;p;!bH zk30`O8SZwVeqehH+sW3WqSv?VuI9;hCSXeJ^L0N7#%i=fgIyS2?ll@w5Uz*Ydpchk zBU8WL^~llA9r1eU={NgTZSf=rjAN|l@*qVjoQMufgG^^iKHYO+;Pp_cYNK0zKn6KC z mBo8K2OCio;l{-c(K^ad315M=yX}T7k5)w3iy>n($|{Wu|BkFFKJ43cRtHX zulU%i*TiL5I48@G`;+b0?pkzy+3=F$qi|hcX1+jw1d1AT%) Tz|e9ND%>n$&mc=n`lBXX+z zd1ai!=*H+a)zM1z>5Dl@E(_~tW)5;*58o`Wl*!0i2Nq{oi*~(~=TE@wRT4OWwM@z_ zG4U`eG|KdNC;+;U3H~~{!yCpf7q_o$K|j$D9pqq0ceZC)v%${&l)$O{D^suM zuvN0hL^(VT8XD>L*>XqtHSeshx~kIUQ43Jki`H9Y<5Etr`NU%t^GPUnk?-tzH{l50 z#rj?#iFlx2p?`yTB=m^_>6|_3M?&(pazwwHo?p&I Cno)tktqXuE1cp$3J)q=qm3w zK9C5!Ty@HJ2zq3ZTlQCBN)L0}^ci~#`waN}Ll~u`S|mNb+L=ZJ#)4|ndv{3CK>DKK zCfnAdm|PN>p4^LY$aJKtMh;8pJQi+;r+pIV_7;`?p`EuGGF>~6MDW*uK(*f8+`RpB zLu1%KgGdq8F=XpiNndMoTiq>&qXrO*m$2@QW42*xF)L4cBhlcNR8?WTb`9F42$(^( zI4{Lo8L!k*sc{hNE>==jl-sYyk_2K-b*QWB9N@ndTJcaEjo$wrS1;2t$+Ki`S=5TI zkkGGx=%U)er6nnpG5q+sxrNVkd*V-TS!t8mhuIZG<{30^a+`|l zG#H?mKNH96EhIs;Wf+%PzutZ1O2@(^dJ-`;eLz z*a-u7AOox?dymP#@HcuY){>@Hq}|Qx;rCGycGCWhCCjCwYzk$pr@iY4DrQ((KM8E9 z1-aC~bm}TJ8#m6+^z?K66dPy-4B8)-9_Z&U>z*iykS_tvu?N*H8<~53P>Uzpk0F zE)Gx=Q|ay#GVj(zOQe>nSWz)93>w2j!%%s}m39eJ$YiRrh@=C70Wd+m*>Rp>1|PNV z4D812lFWi#qJOQWROnaw<|^A_A-eT`K}4L2rCSlZSCvR_px>^`kFT3I)}^nW@t>Zr z 3H1AMOAX(qT|aVK_N}>Go0qk9t1UdN z6`R)hcDwlDyd~j2iNtOSwu;gte-E_ktu5uKD%)fw?Qq#yR*I}T$upRluo0W_S*Vtg z*@$i67#Igl4%4{FPAXdDu9ka^w)jhkE5M;(?qQ-L+?3V59%4f@YzMEAgk5)VBwI>Se zLjGhpeRGg>HupS5BIh nqp}?)WebrffU0ni7T0P=ztAdJ)M&^hl%D-`S+dPI z6&2~&(@~fz$i?Gy>E3iiZ!kmRxZ+&*8KOqQ`8pBUL}4*^aMpItQ^9`rQ|T3dD1)a$ zUn->Idwt)Lu69}Fg2e|r+c$>Kv~A{mwq_c*2Q{OLFC)uAnM{oiH3ECd5p(O@QvlIa z`U=M|yXl^-OE{hn7{kSa6f_Ski~GLOw-_c%=6edi^yol}F6LC}>q0Lyrr;J{^RT1i zsw!y4YbNQuF1!|?x08^Uj9bt;BDj`8M{>V+^3GX<3^GE0i(3!Am@|9gA)=%3@GBEM zAcsBz|84TyTSQ1D;U&anIlFZ>M_8^a(p9f00nm%fW&YzyGk$3b@A4_KmrM`Wl^9E6 z_! -twb9FI-8mRjs}QXK(Iq2qP3h1H ztM0BlYD0GMihF=tp1p !1!wv(KQ7D3X7hU&WaSsk@7aS`?Y9|{ z%Ke?{Ss=q^7Y2zZ8MWKl>Av`YjP?68{}vZdx(o7$_c{mrD7f)g_4nK3>;~^^nW=UM zUsn@Ldo|rHR3hlwgJFx^ zXda^$dJB`jXs>!Qzi?%w0#SYLOKg`R+w#Vniyq;ka!E0Rw(K62T@3bg%}FOcAnw;} zDVX%jzOuzUcYbaVZO^;=eB9pOFn(5(k#l3|Wx$vTZx%`~7Ftbi9u%9aXKv2+!zHrl zUTN%HE{2~6H}fVWg)tmJ?+dd>8TjldCh$er{UTWW9iDWDvn3i4U)JKydqr77G6n6I zbwb&_fxrm15T}6Kr^xfybsGZ5VgxAf4M?O`Qo~pC;t3bmO=5VArF#m62u^ #=7_J&Jl=DZlc`dUOWp8*F}U^ThTc6=$w1E`84bbm<+9=1Xe^3=(fhf zhO4r#0}XsGtyCm-8b?v0p;@n~hFSbd*hVKF5qKS!8scF`5K$r0zTzU3_CZWu%P0)- z7cBR~BO4z(hSKP??ytc0m*S0QI?5E0;Ua!?60MF0W2FICpY^Eyu(pro_X{B2mGPU< z_)74?Q1>McQLp;Vp!6X$ir$YTYI!}|ye h7r|8NZ@xQI-J ITwLhCrp}pB<6{&X@zj{CvZ( zzhvBc$tqVb#HMX}U1`zyD9`a-ynjR@f98jgXzs!o;zomGX>W_n1pio2guDh5BZ7q{ z$5pGW+S?wuX^n @cYsn)w;d?{s*hiw;3(3<-QrqQ6P}wgZrp^fj^)m8XqVqQzIM9Tf4J5 z;9#aD_&$uS_8NM97|yq@o$b@xO&57LVe*vdxf|z27kPmOWdd1<+U6wXrY{+mjM4nD zj@b#lh+n{0|6~Q)Ps{w4$@VMCZA)b*iO>QT5Oe=xIL3`n++o7eI8TAY-F|#r;oN@h znh$^RIpbsV5}6Wg_L6b)BiwS1`u1)loq0vw#%Fkha#jExOpO^GuGi#~3Eb==HWURo zdz0f )^9aBV73mI+;LmSStg5>iotM3iJTIxDFIQywLxomrwfahm-_PC7pa)OaU z@{>0=NCYRv;2z&kM|>b3MN&N=0jK3}n6`$rGu(lH_DZnovO2e5bH_`Z0XCfYjf~w5 zMl;{2?wczCPk>ycKnM&3J;%*Ln! #rRSbR4Ss7&50- zTV;EWhcuhi*RFL1e=%Bd*$?T?6*c_D5X&y@^=sI}Fmpx*d{W)m3AkM?8WO|C)%2Bg zSgLwI{h(W6Y&zWQ!O%qP;Gkkc0wOES9;`9M@xYz-2mQwB3n6%^R((2>!h(V}WX~J* zF4<1AHzb+>p6Kz&zbOmZPpxdQ#75!~INhl;U_WnTeS7&Y769hp-&P6G`r{UkFvyPa zg{2mmU{&+TUZ@Lr)XJ%q&S0s-^8-m4BLu{8IrAh76}t7JGuSWrz?kX!t}FGxKVzD! zSU)`XxJ-&&CnwiOqrTxOBcMxf^D1l1l(oNLzDKrmFu&Lv;p0)p(YwN@6NUi~Lpp=> zXuCD0arNHFDFkcwDz!&3O6-A@B4Ek&4q%-))04&2mEZq+6CSmwGtfXDarw6BD13}R zVj#E~ZCO6g7M9Bq7L48DFbxOI;G$Q$ay@LB+L5nqso6E$(9W~5=4{^c>UeOxh5^+3 zL#S11`!0T6p40=>+t$Nh%1D05>bROoW{|_)_dlpKyU6UgAL}P;kBHn2-gp;VdDa#5 zK`SlH2n~E+s@JoA7)*El2oGK<&s@6y)wTA1nziefctOyz>g9d18f&zt6hR^9{yrid z)b9^W+nE@Y8r7)Iu1z%8aQS@PN#;+kPXPu9k&UH$_b6%|S+3mcn8rm`Fn?GA@_JtN z%d={M7%<}x58xz9D>s|U3K`ZLe?Bh|2lEvj4tz_vlf0*8e3X Fj0Dtz zD{1DpN-73C>lWwd+)k41w%p|A37brIY99L_-nPe3Lw+hmzKaomVzv9lLb|gL4aw87 zIQ#2;ERTob%ro-6WE+O@EAGV*U)w(F4IYL-G!gz=yn`KS2?7*iBxr{VXZZ{EbGWP{ zxB9yh>*J)&2@1hdP$D5j^+h*gMQt6wbvnnaUQ_7OV<79}ZzfU?hj9M`{LkkGI4Hsz za=vH$6N~q8_9S^y1L;{!Pbq|*=j9}FM3F$Z*Iw~W`6ttM69?P4+pTaEkG!dPKI~)6 zD~=`HACx<;sDqoxF6VDb6F9`4Tqs)4) EiV<#dbPv$nP~*2J=^YUm4DUy-Y~hk~hu!iVL+nGMR8icFeh|I;oH<;QJ5NkgFu zC7TAhhaFBg4+a20FM~pEZ!Hz`1o+b2(6Te&z&dQ*=v=P7PLmavjE LoR) z>svBg^QW$I>DaNPHJDC}1IfT4m!Lng7B&yYdq-SOHWkmeRK}&2^{3;5ceO~2e@KXb z9iCaM&knA%tjMb$D#23ZlNHEPCq%-#F*dUQatSMyNQ3pX%aTd)3@_N-6mUp~WOnRn zLLUX#%0)U=Uiv8_aYI%Ix?(e=yd~*E6rA*8H~S< mxL3!UAASrYG`yabfmhWFFZ~a)wV4@T8icY0`}wEeh=>gmA~BW? z5{}{pl|cqfK8EuZdh+9a=*9%lNdFaZqGPr(Q)1L7lDeTInzqQQI%H*6CO5Bk+3vhi zg6K ;Msqc9ITXKER z-v$7lt?0c|8VuBqevAr7RW=9)FKwU*Y~PO{;k0#jV8(Cv=4 `vh5bDQdQ G{%9i-_ zI|+|1XER~~?-DoBjCeiI4avEJ_#%k0=dF9(j_-niHi(G-?a9XyShJ2DY-0vLv7+*2 zgAN!j?;stk%96;{=SaLjexOU`>y`d8J@w;`;1J4@E?$#uOjPn;w=s?cm#iM}(PXAb zYhN*ee+y>opEf<@`aNTbuU_dC0O$&HCEBXD6U-yd4yvHeu0jc2iUM^K+U~4|*qsXn z%SX0jA*9~`B)pwK>Kri}qO>Z5Cdlw^?#}l0Rv||b@&75erup0-;)#fI%x@Ke=lAQS z6Son$>l1iQeqcZ?QwPnC+b8aAj D$ArXB7 z{nfp2-xFu191^boE#l0Xml=6o(9oSZ67QRb Hgdcb@U<`AZP&bg%saM>SK=Wkfj;H z^<6Bm!oz*41^>5nTY)WeQyOU5P75^FyLnz;DN;4>xfdYjmFPdtOz~U2-^M}D&>O5& z-t_TLLlFkRY%%LV4?|;u{YSRc0r0s^$bBR>y&~|A3#-|mRsVigRpk3uRl^?r?`(c% z4<-R%;*Ry-fB1a=&o^OBGN~Jlpo#Oi;1fd4e@!R75P?|zHQ=wvEL)@=fj;pqpKs)0 zNYwup|D^N%Xz@Tqk>pp@qus0=e|lbg S5z?43Vbql{6`uXa>h_Nkh3zZ zd8h^n;wUclcjXz}OsxV$S2Zv=AvUN3CPeOrfSAxv020FgN&uSU!WAX&w@nBGaw2%1 zFF6`Lw`LGn|D*I%Hw3g1#K$mWBQ{GV*s1$EcAw(s*6e@Et2%*;dwkBVf#e1HfbZqP zH*$tO*Sx3PMrJuA;&Fb@b&SFPvGmq`-`OSvZm)lHm&Y-J()+EBgRm79Ev^hW*b{^} z_RjzcNN%7wH-hlR|7oEJxTE?#B`@#hmOk>=*nMESp-7 zS>xODv(B`iu-dx^%INcrMHpra5kQTHQu@)u$ax!d=wxF0yKKqtS3C3ViYR(Iyr~4< z=l<~h{e~| -aJ>{0d@Gn1$kgwgiP4osSgn4|q$-hTB6#T4vS$1Q{{`2r(jZ;Qm7&SuT~^ z>$Y={g>e$JSbZ`{=DeOO&oFWwYjioD6dRjy2y>*oF9+95fr*2dSa&RbP?|;z@F|$! zUsbaC&R6>y_>wEo#rD=faKZhzdV*2D{f7(f^B;6cLL65gI~>i9L4cS*h`F|f@<^gJ zs#`AdCZ h?T!3wo@hMA+6=02=L;$sv! e=QXW;5>#AAmFySBbG_0s}w^g4LDCh@~9Pj2Zc4CZ_Omjp>s(r zEYI4LMT;TApt-B&YIYr<@k2tW=ohy4!0Iz&(E)G?&*1lIu-$UA<-sBJ0f_qQuNn(5 z`Zb4<=m0iAXWy|^Vfpm{+IakR2&%tJeMHReK22JXn7=A`7fvT{=C?@mHr8(iUjgvV za&UmdmeHv{`a3Rqcq$qkLs)?i(SSz(oI4!4^yaBFJ^=gYSVgs#Kf(BC2u~sEPC3wo z$AbZ$%W-Zq%Txy@RO;BRy(cQS`<|Mv3}}M5jjvXAWYpLg!ss$7#pDZHfp=_!(so@w z>26(rnsgA6Kn<07lyic|ll2;a>T@k-W%MZI(Pa9+d+ru&J~2YadN4nv*I#S0gTGJg zEy6U^GsEj2VU4^uR`+)A+AcYFPpI!kV!vmiWPZ8a%%p=3-EB3K=i%(K+=Jf>%ydFZ zl96t~C-k27i%X?4z@T{cLHq-=jWPHIAFx_K&*1(A2F!rbH?dP%azf*Accvndw91`@ z+ePK1XDAD6V2?A|^XpfCSQ%u74ayfY0!MwaOKsd@8;VLdZEKzpy|6BBEd=DD)GKXk zm8NrMjflS<$}W|Kh@*_7uR@}=so_M#%f-x{+p9?(R-bxsUt8U7P_-T!ShE^A+zdWq znM=y+Ew!377a#zg+t(DMDK)eMXRj$uW#$JM-@@cR8J6Pd2FLW6#fQnzvGCAN){{^A z0zb6R7g=hsPzRz<%crpE0Pw$u7mF;=d*0P)P{R^)KPBZS_97beDyaatJ_WTmW41 z#Mq6Ur7X~Xp?Sw$aB8^j$r^M&m#?)^#1y*E`({ax1K4!8SZa@_SeEr-1AK{3C)cU} zJGnR5;CVBG2HSo*mkg`ZKInmT_TlA>pKuZXsklS`%7R(h7v3xLj+?(I$wd>)CozW0 zOK}LYf~9}Icx~@nF@gnwYe*iQhlvg66_t?2Rd6y*rzqn_lV?{Rmz&W?19m19z$dYD zg2v4?JK>-(VOa;qh1yND7z%7lYQQgJA3l@uMog8SOT_YDBR z9NyUYi9o1v+nr`PiMRGHmhT(Fy(LJBG1S6QO)s_1 dvx;~!{lxPaF4K4zUZAZ4m?8m*Q-aaFg6Uaf7k?e_k$h^ z_h#_8v-*p57?Mv!5&7RvMe5r&_^P$%U;Ez4g+a2F+cq~2YrC;F-c3SapFFd}ZNR^f zghA0S3e*2|85t^XgLclJQs`-{MEKhSB-)Uhf;b=6U zA@ntVheVm0EiX<~THOmnC9*Fs9jnkU(*pi$Fl$q1z?XhT=PkIBn#_+tjR|^!6~{|G zdV9XQLFFFV&w 0^U-#9=4$VKDl1)1i& ztM4L(&3WS)VquM^N!vyBZkEc~qs(8LSdz;()G8iR>4rx%?j_`Okxk8`+Nuhxf?Ktf z*C<-p)XhDDF3FU#El(Luixw{>OO~{ KnicZM!+AoA$TbzpZ7)4N*Z9}&R}@BH z0W9CXxwAJHs2PBZnU^Pg1Ekb%M*cEG}(wwBbBS?aySsgM0R<7YmmLji6G; zxZ9j5Vt`lp@*!!RsS4ZYp^9b(sqmQ_FF@}{&>5||!)eW$6bipA {~-_lS+ z@WMS?^6%B@k5J(_Waz)SpLOkn7`3QJogD#T*AE@M+#%DSJFH+rL^Q4=0_!cVNR>aP zTI|n-9_m}@BPc&WgaS6um=9M(U;gvCeE_)pK;YPGa|k{v0H6JM=rmfp?e4n~W9OE^ z;-!!GuHs@tigPVK-tT}v&yFQnk9`dE3{sGQ!I2@!ji#Fz-8D}g>YHVG#)YJF1x*c& zrwZOQ!woJ%O!uK&o5?UW-WuA>6d9Simih~o;*N6GL0pek>$~m!U6ZV(wQ0?nSiOwX zKMm}|k)6Xydv*W;;HyK^_;3QPW)u0!``-Ght?e71?9;)<-doo0zS4#}M5DDNmBxGN zi+8Pu``CM?eP(2Ghx?PzfNsYA;r+KnazNp$`pLNS9g~}=g&I0a3m#P9)7}cZN?q39 zItlV?BgC=9?=RFO{bicRtGI`^
8-~ZXi5&cUgRJ|Kumlx&Bp6`L-Rg* zuF7#PDtJ;BH$_LiJu&DszF^{g-g8?Z9xBer0z`v~gk`l{{qT^)?yc^uSZ#Z|t16xC zydYM`q ChYb euwocYN5l9n}AR)?cCeax{SaQm}g`e~lqa?8LX>O2 %2FE9#InK z?e8LsN$|^?LRg6v(G FnPxLF}#-;vuP{a1;K{5@I7TOZVOb!0{5x=h_ Ox^S+fdzzLOxFU;r?S`l2U*_kqSY z-L^#)g%YUEe=)|{=kI+?e}|43+sJHXTp@okJqAurAqTs6z%H7!PF)Gl8E@{RH`lYW zKlmPbGO| _AP~qewZpGF NrJ{%laW zn~twazLyskbI&Y8NcO?u&NBcQq2OK-onevC8qHE-ZsK(0&W<#B;n5iE-XsJEmu56) zc86d;J^YOK@;d14!uRB!XDEQ!amGiSeV68kj#sn^xwvkamO@mZdmfJ&G&fMQGxuW9 zI$=oo`xH4_(H%GAzXCA+D7;C0fRIoFFu>orWH97kW3qRwjjaeNl RP!~er zO->E_jamUjWU%h7fk;^CG&kFlN)|)}s4thsBb5F!IGSLmX@L{ 0n6)=?|j7ZH*99a zwI~sCH%nTd?BL3eh~;`5Kn_cE!yjdlqE#DszQ-kK55&waIoRkvu6P+aW+Iab(K>uW zG{?I;Yf%5F44~0b6i(@4?S&@U5g-i3iSMv^7;%~%xp7>6EYxwwJIzilPV@1Vb670> z!>V=&1!>CkZJmn{0u#)@HYZmax^uf1{PTt?ARd6l81$LYzIDLh6>8`D027&0t*NN- z4X_%EMHVjE(BeLZ?vpJu;i153*} =6Egg0TQ4tDmLuPUm$U@KM*WG_b`mXNdCt~AP3Lav7(}hZRUtns z!96aGve~dS>s~%Urk>EFdS|@wvina5LT91XX`qVsANpfoi!X2h$|!XzA$q=?w=n(k zqOxV36YlTAt=n!iChDqVd-K)2WyXNceaV9Tij*Y5pFWO36aWA}gS2C-<{TmWfm{TH z)fgvlW#Ej%>ykaP9W{$7DhBNgg|1?)rXXdE57LhmRatDPK~g#lRzOZEli-Ojq*%@R z3r?y7Ia5j`z<|Yvh)KD-VxhKpj!>?BvH(n15uG6_p8jz=B4 0SBi?SK~e`2^_$Yu{%#Q=)fR}gqO z179{nK%W6RBYE0>vk|61<^2vWsONGEmB=zy69!89hV%DJ#)FQ7VVoVu5{b`ze-7E%UpOyx8L%tl-(kFeguiXtB)`1ITJZO@!JW|WqFoJR1 z&d)TS^}sd-(v7BT|DYlXbQK9`1Y1G$8|g!p(QCJF9{V+0ya#J6+oq|kSCt*y^xiPd zxR7DGoj%{rSaYYPy-9x@#DRd~llk$OLyR0AC^_O7ZQ4Pc5-z32M^5xaWAc|IiBRX! z<4CAP(&aNzWbo6;qmD{$x6pb$_76Cd^>Rh_G;T_rD^A+S-swGBi=1=UU!zHS{7@i9 z4#UJ&y@8VW&~RF_K9LeBvXv{D2CsDjCmre!ybHud;6@O*XzL|9_YJ@M5g{yEEP|@1 zo2%;Rlbw%(+#6>EK$3bi8J;tbNmX6z%%p5bi{^x8&Hch2{AoUVLX9zpMO;ATPj|qo zJ&rXdSmSQ^!l$u(NW6o_^&c2i^^s(*1Tp@L1+f1u ?HfhHY;j{&& z^Y_aXI&Tey=7Sl@7|68Ib~$+P3j+G!^WB$!qW72qjG0uthW1OBl6X!O0u8zY+jdR5 zAFaCAMr2<}-2zLzKW@{s*>3+@NXTu%1d@Q2TbQqTS&xlj^z78KyL)<5-?G+Gx?@`a zAqNw7IX$l%hkAYjiq$469>eD40KcVvR7Dw7W9q_TY|C)SK2pk+v>*PW)={Bx_etk| z$&bTTjN5@3JI4WQhk{HF2l$WSQH_H*UCx%{S|J(PsmyGAfB5XZolMW1 ZY)?av$Wfq>>O`N7Q0fm@P3naLDJzU^|>3haL)k!&7v9w4GrlD^n#l$f@Z zIxII6`+k)vM$ebB3XDAhvm$lhT#xPkVruiy_=Kx+Mh%$1 ODVhej&>EZ+Nc~uxELW`6o&_+UBrSGyjs49YC1T-56q zmSXU_y+W)egpCua;KV2kVY|xddKUe{2;RLZtmiSueW6xjDKoT+74?lkcipQ9kh!;4 zRxbAEe3t^~>F{z+jsoz>w|iJ2XuT9nTn{Ir>2E>050LEUU{v*T7TM#ma?xq8SzVY@ zbL^T(yzI(}B~UG~B*X&EbbL=B8`%-scsl;EkW-5mJg((SGd@B5&VW<^?pR{6{1R{4 zuBf23*+jyu+E29$An!a|U*5_1yHFCbjV9v=bDsE8Ba?#fgO^Sp?1| zAZ@7nVIZkI#$HA*ZIUx_DDO?>;!(6$!)w#p 9U1~w9F|M1?$J_noY~?1*l!Yfi$J1qtlmW|oiqStc;@m+`x~ORH{JoPw3bFQ z*gB- pi8SAwnpIR4TIhP`DNboot?g3p~;X>5Xyd z!{Mj6XD6FWo!Pg3e1JY|_ z;B=M;B#wS4=XEOAc$pAoBQ( zgy8cS7{Dt}=%JCSY}uE^?pF`(58|I347uk!^Vefqtjg8Kp1(o5UfT&`h^MV?%(x!x zt*tPU!SpU_Rxb)(6)eDBS 0{3nyzP-9kzGhMJplZ)mbCszcGP zJ+w3>szAx>Zo7*NXS_Hgm`vEP`;${hi#qL%YS=_r=#8;zoe9^2&0=v%939TIs#Zm7 z@1|YXW-ZQ+y~$|FhLeOw)jPyk?GTBpzIlmt>6E5ME(JPwJ#x+T H<3G8D2bW4N&JKqrs6myaq{CNiyl zlWqo`ISQOPa*3fa((@--Eao_m)*9!D`F1nTILJy00Mc%RbT&WFnSRL4fcjjPqS}(c z 4Z*Lo3{Zfq|IL@8 hEH)kJ+zioew!Np b|S$v})Nt4JS}1d1iiWG`33JoE|)wo8CTKDF_vO(que!F@qrxm$j8*<$Z2!7uE>0 zW(k5^iWc2cVJ(nM;l3F78KhRS&~eYr$^w0vB8+Z;75Yr2!E?|^Z_G~j(-XLhssYgN z?2;BD?vQZZ`WaI*L1<2~_NEqQv8+OeUYamI@4aH>n;X4EGE~#MH=d~8aZ*{mUFU6< zzZbFTC#E^$qGoOwk>2=)wUQoSIia3B^42xZ+q?bJr3)c4x3pstLoQynQ79WN1A#qY zd!Ro-5xGs_C9w^9U!JQgObhy=dUchPt4fNzMlWX2Tp*Kn7qr*vseNi~M*CbECyJLq zre2q8V?ndk)e}#v+3av(41 |$=dL#45cT9 zp}}O!Q@K9vHg*QXz{8`LeR{Q}M1i&wKSO{0Lo@u2kFAZlxVs$dI|}n*nJqCM^}E z^o0yMtL;@-{?8Svx?~`5?XFX7M62dH65U$q@I%|(NT2|bE87l%s`;zl43^o`6csyw zVX@kE#OR23WpaOT1chE(pTS$9tgvWZN#Kz7V9Ax$*&@2-Wi ongoDX1{Dus=7do&cl|};!VNo z!U)hAK9SD(Q1uL(5|h?ua8&J?arS_duK!gTnQOu>V2R&KDknNR`J!=$qO)-aj`W2I zhg+Rk+;RE|4eY&9YXT!2|GZdW!mBTh(OCDnT_AG&7bnM@vU&^nKy^I##IC2?t-oA* zMrC56g>2WTBGdV~47&41GWp+gx!N+rj5>Y~xhegy-!hhKN88+~HXRa2@=SIjQJ0D$ zAru(nrkixWGxL2_rB&S|b>b)yp9EM2fN_KaU(a_Hk+oe9sHGH5$-jt`E`j?h #@j!5+IAXN+D{wE+`bb;4-)>!5L|sj zsBp%KybU?f8{y$r%ZeqmS={$9eUpc`lk rUJz%5v5M~x78-1W5q-1H4jJ2TNh zffx@23Jc7g2rU4h9(jPgWXPl*D6tvU
+PoR-qEM+d=;uDt|Sx;m`wyy z@9y4~j~kWA5oGbmJWg!D@QUqDGsa}!oh>JG=1=a48pX)W(H})hV3y~C`=I5sVW{C= zL-8 0__KrpLcC=gdVJ`Ak;M zS+_uHx?$@u<4SG1d%;4_8qE^z|N6D>%IHFeQ8zIEUV}=Y((08TbutsuXZGV~T0H}S z&1@RRzz(EbVp`k)p6E3ciHff1%!c%f0R2~n9)=qMSYG}U#&m2 v2{4ltrxw7y@;n&IjGLP00;eF_}tf2 zc^Gmv1 3x(5I!FoevXDEss1MOPuV zsP41|ekdwd(&oq@0q2_=0QCYXqY0LYvapK)1#CPSTGknvJ?Bnq&t%hD*$eii$4h}N zd3=ue7g2T^x5=OV1~6X)+PR?QZ$^7cYqc+`JMymabbUt`NNGo>`j`1Ka7Q?b_ARZ_ z)(VRA)HIS}Z@u56 <(s;5?Pu(xj z9j9L9na+b-%FBw1fz4Bpc)IQHA~n#R2w`{>@Pxa#tv};=t9?;TKA+kHlETD(czEE0 z@WZ}iC##hOSF1lb-Fw{hm?cIEZ(NDy`6*~jA6H}PF!{#x@vW|f eB@KM7wERnwYyyv*0~U4h?rr|b39>bi zzs$MGJuEJ^N>5Sj{s){#CG7CgEeuisvh;p}iA &4= z{}ANtps>h*6y89v$ekV!w(LpJ($V7&fcBDg(ag6|G{tA EZJcE-@b)=9AX0E8t7cNxZ&0;k3w+s+?_Vq}6LJ|8*hKxymL_J5 zkKc=fp^XGD>{E*&LY61VlvDIM5-b?%>wE<-L?Ro`84mIPP>6qsM7P+PwN*#k T2O I(V{ z!;arWJi;69P~c2W%QIe5Y=h^VOrbC{6N{dcL;ysUYx?4l>d$LreNJJyaae$kNuMP! zaes}0T)YZ+{cJ!)sPl*U>Wbir$vPkdr0nmcc7#snfQdrDHsFHlo3jGL#sI@{J%a&V z@c#RU&7I>2M%i0u7S>saXuH1$r_V8g#p6fpO2J#CKj } zn$C$SkC-RC!@3q+3iEI~a0g !CxTJd}I zGJ|n>N+|q9f-l@#mBehOYj(1g%>q+m!53G0x~<)z%MVZq5|ur&hnp~MH3PbG%iq%# zL_n|9Ao+`J&0F{|sEPbxs`5CCs_I&Au^-kydAkV?BMu-Ugudey9RsZ5OGR;Du0HA3 zw9_eBb2`QmnrIRfO>^rOJuA_HqCxEx7FA~pPVmal)I3c?)oBp!lMzrLB1qpl4CBt( z90 x>}h(L5sG)n_ggsf`;k385Yfx~jtu)g5kh7dD*KXtnjkvrUQ z*;0)d&QXHxvKq=rJxa8m2wcc5GoTqFcd!Gq{-D`gXDA%xJg`hM>!rqo^kQ8$cmr0+ zh#Y&qo{HD@1M6a&6&Z18c9hDqSY?1B(kM*n?(SmHR?4+7Vutqy7v%+J>^UmVxIzOM zulk_r4`t7iBt 3LrNksjBfBrP(U`P%eKs%WhTa;gtGMU``p+Xm zEi%c>f`+ylCItpGuNiTq9Sr*Dfe5?95jL4&fjpQ_t`_y`L^6{doLyoo8So5v#D(aY z{Ttq}DEUrVLtw$p8^`V3I-eo)@)%+zI)Wg-Sv6^tPnmql W32{YCk @j2y#Z>`?{iGUPkp@Cf_bhcbQ!j%%zO}EFfQkJ3;4rZ>tZm*i z4|v4RF7EVyxZH+NubE6XTLb5ac@q%7Xe(bZk)oN}XD_v}pxR+CQ VVkn~t&QwA_y1)gJS3@%|_N0~u^7 zZuibrrMjCiXrTfO0EiUY-LFX6@%pw#?)_vG3T!aX{Qi4$SHR@^{V5m42DS2 @9nwQ)_BA-=*Qin5@rC>{o+zF20PNUlWSD{61=OTIf$3_Hv~tf*p7+PrEBU zo!)Nc)K9(fkuY=>n&8n&^_x3iZj>LQcC#|{=37u7zE}Je&bM$yP4{xZwSR7j!JMW9 z&>_v0)>e>9CAjz;HSs3kmU@f%2Fm|VFk#;@b M*OHpVu1e?*_Xj^IF?$uT%+A%DUQu dX&|Y2kz3)^*?;RNUYUN{Oiq5TPSXQZ?3H~c>#j4YArq};239E-d@29R{efp z&wEQ7pT1GV#|UW|{Qd#S +4GC9rxakGiciQaqOV$72;IMqGyhWHw+*P6a{X9J#tYHgRGO;*?j=Pe>v}!<_ z7bzhlF4p4yVv=6+0`L@`o(|#^UwA-7hpQ1rk_c(gFa@PD@a!UMS2nOF)?5p@m)?(n z-!SJ`dik0}NdjrQBi!3^ -JCxSLrde?8kf5UyeJc%gYtJe+wK&@v z%8#mJwY5K@epk|X3Lr^lD>vB=&eBxIz*1mt_J1BgG={R$Cd3iVFZVr3$6=^bPM^Bl z Wxb?!@31gjB~4FvC&zB# w!}#r6oa z+KVHY7mc>D8$bM#vZa@@FZo*6l5d1K&^h&5soOz; o0F&R@NovYYJgN25-!mX4})PMY!u^flBzi_tW32H-c!5nT6PNgc>&&L?7{ldoee z$SmM-&R)uEn@xEn`3PNFkR2Q`N(V{Y*vb3ks>{hnm;Y|9W@oG(UKdlCuOag0Mmf3g z^)NbEa6H%%7N36fP>Om}YY<;Ii)lp2z8pWu^$scCz;fo;pOQHok+~M>0A?kuizLm? z#GK~pzItcIrdOw8?_22yt!hOYyFj;Q=s O`#LnS$B}}YapL$qk3W5TlSNcB5`M}*;H{tu zu45B((F=yhSOZ0^mCE}$QgmiP>;8(9`I@_+|JC*wUyu&KP%W3Css7tk=4V(uoXyLy z^2IrI1HyzhhqGTAFVv8yx#_#Dl+#t=kpxuZ%O(>R^J>*oiBUwSSnF32sR#MyI7-!8 zySqj FFt%l z#j(B0$=3y3Sbjo_r*n?E%xDv< zAwI(Co5A`Xw=F9GJKj9Z`X*Bjv-xbL4cFwR-mZ*`Eja{Uz*B&kvGy=*yo|n4Snx^~ zL7jHx- #&pi_UoqmURKK)LTQ;_T#e$z)Sku_ FJ%Ytm zGYZuvU9<&5Xol26x$!KPj@M96AI%<=S7}ps@F1nIO%FquenM;j3>N}uoxZ@DI~k}S zK6sy0c`~4VfwL%!=U-8A5zYTWK3~#y?fMSzk6lxAOOO}eb&94ne8)V<9T-t6P3~|y zYaO!12Hd7v7M_8f_a^lfy}Cj%8SmP6trGFBg@Jvac!H 6BxeBzY7FOXidc?Wj}t;`|)cvD4sy8<+!0@9FvWLZaGs+WNZmN0gREnVldJ< zKV*dNsY23cB!ZloE)|_o{QB{uL*a{(6_}Hn6(--OG~RR=7AdK=fckW9c^o%M0>|)- zm&F-tUS(p5%mt>N60pJ8eNOlN$*H3r(B>9@WX#HsDH8%8F=u9tI#D;By%=0=ZB@qX z47y+8`{0KWye;#x3T#YabG+yO;eZ?<^V;gCAT74K+5Nm^W@oz%(RW_&iK&|Ogpey< z22LhQZD)-0Q94Z+9?v0qZV0{Yc1~m(?=Ju0p#+dmhuFaZ0#awB E}o zSH~nORIppkvu3Xmqel}2f!h~62ARzt1_a@6odnkih1LwxV(IFKOp>t#D&(jpVZIhQ zlfLPE{NKN0Bm4`Tuv_gmD)6O}tlQ?n`_Q(CY^KZq;tbSu%$Jw}b2ZIue`NaJY7+kZ zlQ|VZ%q(tri&oF7qZ9^ZvDxgnMMM5mAYieX&e3NyNQUwg0(rfs$`}Ap`KI?3-70mc z+L! qkF_ 8;ebwiWjtHznLrO7RTbANADBN z&r-!6qxqr$EQXuOsBQY1Og~@Z4Gx3*&qA (m9;MHf<(Kx`G&Wkl!+q4+rT;g6FP5dt*!m>U4QJMt!NH@OSEGwg (Z$gon0&x1tc-Ahtk*6C>13jx?MBm84g*gjUab zql|q+0#UdznTn3m*=92+g}x?$_Vi|Q$d_q6k@z+2xUguxAZs)d2aA90ecCB8GgmWP zF@~K1D2O-xA$uM=Xz@a`iPcoG5Im4u@ljSe+g@FN)(Z)ATADy0r;dq z*;fZ+z@Ij#GYzmGR;S$X?Vb|JvL4( zDtvj!BYl|6LhR^(%FPqVz&hZe2H5EBXvC9!)N*BB$Y8UE0_+IYt=_ sbJ@yQQ$ZMr znDsW(yT4n*cOmKMF?$@z7p%=}>f0+6`Mfi3nORz_K~PA$8)}}0a{IEH+WH3%({aC- z)2W_q^ld$cQr|}Z)dK0!h<9Kmzm+ch4H=fqsOa7mTHxm5+%RYp@%4d2xBi# reZo|c$xiBydfUMz %r#Z=K9-gqaw%wa9Fne40!ZY*f6y)i<{@U0t3)LAz?Zkl{?wq_-Bp& zQjkNtK5W)&O5%}WTWOM|2ngNfsWmumhF;BeiBALf62H}MJ{~YiByy6Pxz#5JFfk`B zOeFa|$VO!g8A4dCzjVYkX3U?n*Bn*M72ES3=40gln6Jse)Fp+@bp 7W2hcF3_! zbLzt{9@jIu1oR8xnyC)yZ)Q-kMQFx(3^s|$Z?#`RSdE#!s=NgHx_SXPXbvLh;M$|O z`SJj^zaBjtC~ ;Op_It+w9;`X3?GK&emTSn_v)qnkhFW z-AmL^=>t!%Z+axmq>f;|YI4l)9VQTPNR%zix**r(Bt^%a(AZ^5iaFX!(mjwkE!? z-4|iC0|aPjHh**brGkcE1ImgYMQlHcT&d$=9YjUJgaIdQEqOrz#7e#Snt98xcR!d< z3N`B2?>Cx4WktLdO jTeZbMPiIl8NO z_2~hWbERmS&45XpM;_=%QWb#V&<2~Nh#{h=gym*D$Lalg88Lx_Sgy_Cd1(tpH|!+7 zp3z^tde!jv{{VpR-Tq#*>@$hDk*#&MCxj1_ZK2un6@Ll=j(aQTJ7$?vBc(NfD|0FC zQrUk`k5_BLB+`nfy_7^xNlW>VX z2!TJ?J$SXr&9}SYNV9169|87JRK!!?q9oXBgVy5!pO~7`!*1O7sZ$T@gkvu;H*oA_ z4DyMivC&-D8@p{-mXMf)eQH((GpF{45VvLQE|e0jDVuHba*DakX^svWxc`4J;UkKv z+i` 9nbEOO(m+Cansbymy8IOmQp++dr{`7gO@)`r8?jIRIaJuu>) z^2sx)SC|S@q&$znXu4JPo;s)U_Ww%}sDCfh@(Z|OJm#^Y-Dp*0`a?zBAI*_Vo8ESg zr?8T&N$q|I9`V?#A$CrT5}u`zv8X3Ew+K=57HF}lVf#eUYgRFll2Dl?AG2E2eLPt0 z0%!QP;Js!7Cf#ok!rfM0Ut7AjU%0v?lw={!1;$`eONa=2X6h4*%=~t4idX0IOfsRi z8&OyAl~wt)h}EY0TsuBSu-mwnAuOkqTOQ<(*M5}5#h|H}YF2m>qU#$st)3a#xSLgk zW*CrdchPLlE~I*8^C~{)T;`ecyOB1n9Y`CfJFaokW{+yR&G?0+1jLY7d+1RnF{GL^ z7UJR#*D2BYjI 371+}8nT|TLfreV{ zvBsVS61@&SHh|H_Kv<^5x%*3l7Wqd5SZVU|7kq!%`v}o1WM5;OYZQMS1El5%t2is} z$Cx2Pxc`J-=;lLX?3Ks}+dAWR;-}n@u~1}O%7!s2O^!Q~?8&%ZQPxAYeiGNTuPufK z{Mp*fi{jy8ukw~gAJw=;@H*7qa8inM0tYZO36<=>d*6?9(}lXdzh5lD(_q=kONh%4 zO3o@sa_Sw4QDZP-w0v;o%8Jj*D E%6oUQN?7GJZaKPSctm<=IL|xIWr`V4pHE>b`N4ex%WS{J>-|Q5x3D z?l@Fyy|H3 )`;KOj$;4V{}0O4x-{f ^wQbhwFb7?_qiJX2-SRzb*7F&uvAv`uxrI&p z7U!VW*|5cYK(g6+74hD(bmP(^zUflpE<+Iinbg54E*hJiBJ1M77%72}%fWhe%+C6` z$<(q3CYP7Xb);Sf2_KldTpSgQduakp^TZyHJb(E4uKf0{r*{GOu$ t7_>1+EI{x`Ewlhz~p|=R=@35%R)jJVUJhrdv$|<{mhc@!P z3*)ktTSVOHgLqIPrDlb9EBzeeZL1`vsox1R{79hF=+fi(7U1jUGoQTVHo%<_wCH8j zT5>o=Kah>YW3b08o1kVlF}D!Rhz>h%e%vSYUaCKGIUspR-%vTNu5#k^l>7beHQy|y zy|)2GvSNAnO!bY(kwoaJR@U~Wm8I?LcXC)#=Gia09!kBHf+o9}32M7M{JNqAIfQ?w zo16MTVZ>9pd3HzCSAB6(ipi;5AM!CvS!m*pwBgR#N!7Ev>~q@`%^=8w^1F_tve}80 zU}$h6g>%#svsU|TCt5&5lx>2V`P9PvQ7{GZ@=S_;xH27c;?P*Tq;MPm()CD4YoD62 zFvg5DAcw$w-66`#eMmvuJ%D&c}X- zqfP{T8Ny1P&z-gXZfdH8Q0+FV!` v6HI x;3Z&bp7D!vGA9=1OW+cn+v&`nU&It}Ty=d}Q zJ7witMhk8-z||>Pm&=*@ZKspE_KcD94n;jeqOYf6Wv?bLFuNDn8w?oZ-so@ZYnKzQ zQ?4~3Z}n`cBzxY&A+^YOwyx=`cbN;?I@9kK;)TZ0wR7IMGheG&W2IWR)rId5)6c-x z3)T$|BMp`HCMJ%zu$6UBxBR{!e8A&S7}atCoFkVyTgmp;tCMwk*1DCk8TPyX9I`5m zb+0*>;ooVw*^|XWkrU21Op&u1KkThJi?Ze*Z(TGyFmSCJ5zlcS9u+O_`9nDAGqGMs z@94r_I`S8%SIddkyZaW82Ipb=y7wUKG}nuT`JnU@lFjzjB`kM5sCs%eg3=4at!uBJ zOqjHD8-!{uaNoZC5rdQ%@A=e%lIPpl?@}+(1rufzt=1EZn+uR=)lIdP_XmfepPR@B z0+G&%Vr>P>kpe=8w-$wB_Bh5f3gWXU z5(9DPuYaX023)8_L)>o)y{;3q0feFL{ac2^e7&(#U7Qs}pz zu>VtT3Tm>gPKn{rfbZ)m*g*vhJra$NEj`Lg`?n89vk5(6Rw9ttX#YsHqG+#g+j$0H zz_*E;<)~+~&sTFn 2#MjZa{ns0P+Z%N z{?+B(X7Wa@K~!ohm5}=>jho)4OZSh}CyU?7#QE>>TUM`R=a+xwu60PIg(Y2ulX> ztQY}sp!5c>gy;M9qr8H|!)?NfS2zIne{LQuk+GA_!-cB$3p?{&CVL-?*1$6aGZepU zkI|GA7rowa3tEr9)tElYn1^%a;oqhN@Ip4DI0~5v`+#Cz5K-WqvQ@sH-L)}tIg@WY zAj;u`qs(HoBXPNR=6MSGeEwH{5|QHG{SLjQln1@lGHhG`dHp;#5Kj4kzd46FM7z$y zh|aE5_;NokZ_m9r;8FUXJ|h!%{;gam7GyJ?rTCz*k0v&<1xR%lzztj}8rZK+;0V74 z%z`<<)VOH{JzvjPFmr~30RsI02(%P5HyWwqr$x3( MXl81V|$2EJu;hJ&yK zr&UCt<+0f&hw{F&sh-|9h&C*;BrxnX)->ac1m?fpK~7EX^dT~^e)ow+L;GHD#Pja+ z%-p+&jxjvH0o2L~nb~={`E&Q2c6PODzJm=gDFe!z?;jI_4Zlz>&LRY}a-}chKsxRA zo7AVeCkoZ{E}E=O`W*q}@WcDhSpIiFk0n*RXDU$0WqeTnwK9G^NMENNcT)l(5k9Jh z w5@Fkya(2Fr8jgpR3&NoHMO4~6lgax`~TbFVYJJY)rBAzOYp_m zkZ5%1*&k>9mK-d#E!2v=H_fKeXb03F6cxL2h6lj{{r?pNsZTy0Iw`kXubupLwO Xo!3sk z2aJ(W&URnyRY32VYd8Hcl~ Zq)L+T6zQJ?ZiiVx|G5D7f&0p_d=&-qalI?_ z4J2S^oXL0dkv}Jn1Uyxg4uLh}?}&EqmvgK)TR&9@tq8eJTYw@ACp`=8--*CMNxMMO z+dYw)Ckjb}w0a%sVOBa}>qv-0C$9Z98`-z<9)ij2-06G;jMyj$a{I$H4XP~X?*ADw z|8*SLFixEGtL0P4JcZHZb13Oihjo3x+ir%~iDhK@0Ok{eU;CUA+N(u_we9R9{68J% zJB>%H0pehaGE{Twy)~9sZLITa9u^GdR3k(-a_u+mk2H2A5D)7*L4mMnVE5bHok*OP z*K}n6tu?6r4}}MBJu65OG(E=d+IQm@WEfe5$*uCNjdu-gQ42t<5$g_*2CNpI^^?B( zi9T}NyYR{Twu=d$Q`XF#zUIYsnN=MAe+=v~L_49hj2LOv&$DA?u;tB*3rj8b+-w QE3I!B(C(W#k=_4|8tN4v55}sb C9_Bbt*yXYOLNSzW=wS`4c7PC%x%v)t|wcBb;Af!yulYgs>WqgEA3A7ez0=juXH- zfF=?teTZ0y|0u`D8rEKD=o9J_KUeM=?Rvkeu7{3qP-4QX&Z`qqCmlq)NQRC^+rk3Y zstU>|kIX7ZXZYec&tJU)JW$Wj6i-KN`}anyq0A!9cWAxGIx1G$shv8S>gWY8phgg5 z82LH;O2c&F%5#n=VG`@On DWl)MM=JYyYM zhOV!nv1lC+L%jqH3f0>5s)V)BMuEX*@BCZ-cN)lM1506w4WzZ+#!1AhynXOBc-m4_ zg8RJ5psc7%*`@q7ieS%O0O&*vBw{4<7 zogSN+xL9 N1 z!c1I%IXPc2|98&(GkadNtjB+#4D}51(5X19jBr!7_PDF!8C$=gvT?^ftI1vrN^e*v zK5m2u*!?p}tH3%89jE_jM@<&=`W#6ghqa|;a)r=bNk8;UAJ-3q^*9Vq=WjKLO!;3! z83A`#?#M66o0|fmvre`xv50XAr}g}eAtdXMaC>T?aq;hOg98eaYU@3NP1Rq3OvKNf z?cciMJ1K=%geDNlvH_zUn*fsQFPQURE!n|G84y4#xBrgj&q_v1n+trvyM|!Pjc#Li zJv`!~?Ad|%JQ`_tF@t9c&WIc#gJ-FMsXu1^Pivt-`qF8vp>HR3&bI|yW?Uc%wqq?v zs@y{;zSoQCD=4L&JAS&0K>BavLiM)QB3vzivz`lCJhwU#jX(RYolDs~`<8jHWDQB3 z65kdtvJU;XE=a$9+m^!=ZhRp& WqfVFM??Jg;d8?6e1^C8 z4XOntDHb-A;w^Y851U%_7OmC13oIKu{Jb qi;R8&DmPE^(ZBZOvi-wI~G0=151G z!wn?bdjc2MF2#h y*#@yQKThfcj7@ zzY8NMal)dL9)Zz%Jq{gk?s3FMk#4pfKtg4rsJ7mFZUfy0@$=ap8s?utktoss79txJ z#) ro63GP3z{>C9B+kV#&sA|XpG>)OqV!xu!ZUL zcj1z#BvH#h?ukJrvRJ|h_fzaK=JA)qDGwSlcAcfrVy3Mdd`pTjf;aEdfa9**tTn{` zloLA?EAHx&$WIsZ;T!_=8_yF>LhQikA?zj%%yI<^PYx%XC}>;1%Pi+wsQT{dBf_H> zi>|GE%1P)L(#<%q%nuxGRpskM2~1nMaC!W6311t(W;u3Nmo9bVNEx+t8L-q$Me7#Z z Lool1mab{}(le9cbPC-4CjO zcBhs{P}qND*RKruuFTWZhQo=N7?dO3gWX9b`T{0CQXMLp niz^&`fQ5gX`<|`F37Z<_=mG#&mVm>t@kRgDPgDQOHk;$9Ea+wjtlHee?{iGzL z(kOE9k^qJ`NrLU?NtfIU|I_Q`)*S_JDi6w5$`^~?Oe$f0EXk{&zTQ6-~rJ}biR2wlP zt{y~M+_p*-Go+WT__o+p3${8|SeM{ }vOf!`?f*3A|iGTE5)f4y#G33J<3@rJ90x}y&A8JImoTco@NLVMK@8759 znJM E~GlMFQ&TN>*5)FjHB=JUw+h)Cd<@ zI(SUzSqJy3VdJ6(kb)Mqs8%<1KHnpvBFM&~pz6qoRE%(8#v5h@X>qkJ=@l&`anuhe z3Z;;cF}}Ry1;Q#OYLM-4dP^EH TL48JfFPVN{3L+l0_z$}BP5uxEn>ce(lTNv{ZZTt+6Uh=4w`vfmN>1vns znp9RMt2`BOhfd5#bh=DyY)*bI7u@lM-T5Ah|Ln5RCGl+Y&5rir`h-2DQ-#WXJhIdf zk<*B(!_|)h36(a!D2tDAs^+taf?Cd1(T0ZJ$Jqos1I^aO@R1;Y5_eP9P|NX z^{Idra21 _DmqAD?f7Dkfb~$%28FS+A zT#77suRoykjS}O Qq>~PI-~#ZcDFl~~{ijO=%+z|xn5+T0F7!ZM14iM& zoU9`hQ5NR~)2?4Sh-tsxOeY-?`#cQ4*@0BjSqicGZIc-tGKmF?PJ@EiW;6SKTk*IA z4F>6SGVA9%i|@zIVsI|>Sg3;X@^kMNXF?v2!)5ad{NJ&&H3w2}E08>s2H%>pcQv6X zr(8~9YbKjnx98ix3{W=~r0tLAev$rZb&OJ)!QSeIT)ESd_(NE=wfeoIRJ+;1bRb~` z8ISF9fUx7?(00cM4B~f;eEHF86R4mf_L>dVHZo#xYpYm}c`QgbZts^=mX4R}k&_Bq zYKq5ES$5lPPx$n)_Pu!Z7ZaFYaIN#ilk=4sZs7Lm%^pwJ@Duc-?!3ws3oCIk?_c*K zSd}##=M>+Vp&tECs>n)_*C$<0ZMY4pf}K4Ve|siTJl~Z`N*zS4Nnx3GFjCg7HCb4@ z*XR%L1F!4F_&1NBOiB@BWsy{tGL~9fY8@s!drjq;*2h#!*zNb*?oN!j?oHmkJb4!r zows{KqIgynG&T2*o;fTdg!SJ|9N%VzJd)?@g>#BNh{s8Bludf>t-M@CAYPPp&>mSc z8=GJAEIMpY$aDNW>dhzseNnKl->=W@uynC*YY22$KF$b(lb|;1C4kga+>&5oG#(#Z z-?wFihqo#R#h)Mohzas3)H0o2U2j{G#`$Kb`Hh!!j*{vY&bT=e!80H_%&lM=kEcdI zY4Fumkhxr3r{?dcmKWt`JE+S(*_MsZTA0UJ0@Lh|k<*lREP~XLJyRHbxnwXr@8*2G zSgqH9L-1jk39)Y%+j%1}NN>RLV`dByq>I-r7-BcN=cU>p0*7Z$)-j9qDk+mxh2`mm zYP);WH5DgjIQ}mDDMu;iBVE@iQ*)$*kC+L{=9-8OX))s!GZ`mUMz5NL4hN~yljC#y zzN{oB8x`|A1}NAEZ@P*79lec8w+0*Cb{U!41I@`yrDr6$p5tUaqS+DShE_DIcp_fo z=zKOO044w=1gOzO2(56KfafI@=eK*2+4fkqhR@y{-dA!*=NE5p51b$k9r_g