From 3864ac886bfcda4da501ebb7b89f37ae24c16eaf Mon Sep 17 00:00:00 2001 From: Arindam <17arindambera@gmail.com> Date: Mon, 14 Oct 2024 23:45:51 +0530 Subject: [PATCH] gesture controlled snake game added --- .../Gesture-Controlled-Snake-Game/.gitignore | 9 + .../Gesture-Controlled-Snake-Game/LICENSE | 21 ++ .../Gesture-Controlled-Snake-Game/README.md | 70 ++++++ .../SnakeGame.py | 182 ++++++++++++++++ ...rol-using-object-tracking-multithreaded.py | 204 ++++++++++++++++++ .../game-control-using-object-tracking.py | 171 +++++++++++++++ .../images/Game-Play.png | Bin 0 -> 355355 bytes .../images/SnakeGameWelcomeScreen.png | Bin 0 -> 10933 bytes .../object-detection.py | 94 ++++++++ .../object-tracking-direction-detection.py | 118 ++++++++++ .../requirements.txt | 5 + .../settingsSnakeFun.py | 48 +++++ .../sounds/appleEatSound.wav | Bin 0 -> 36050 bytes .../sounds/bgmusic.mid | Bin 0 -> 8612 bytes 14 files changed, 922 insertions(+) create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/.gitignore create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/LICENSE create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/README.md create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/SnakeGame.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/game-control-using-object-tracking-multithreaded.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/game-control-using-object-tracking.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/images/Game-Play.png create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/images/SnakeGameWelcomeScreen.png create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/object-detection.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/object-tracking-direction-detection.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/requirements.txt create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/settingsSnakeFun.py create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/sounds/appleEatSound.wav create mode 100644 Computer Vision/Gesture-Controlled-Snake-Game/sounds/bgmusic.mid diff --git a/Computer Vision/Gesture-Controlled-Snake-Game/.gitignore b/Computer Vision/Gesture-Controlled-Snake-Game/.gitignore new file mode 100644 index 00000000..3226168c --- /dev/null +++ b/Computer Vision/Gesture-Controlled-Snake-Game/.gitignore @@ -0,0 +1,9 @@ +#Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +#PyInstaller +*.manifest +*.spec +build/ +dist/ diff --git a/Computer Vision/Gesture-Controlled-Snake-Game/LICENSE b/Computer Vision/Gesture-Controlled-Snake-Game/LICENSE new file mode 100644 index 00000000..7a8bb253 --- /dev/null +++ b/Computer Vision/Gesture-Controlled-Snake-Game/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Mohit Singh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Computer Vision/Gesture-Controlled-Snake-Game/README.md b/Computer Vision/Gesture-Controlled-Snake-Game/README.md new file mode 100644 index 00000000..9d94bbb9 --- /dev/null +++ b/Computer Vision/Gesture-Controlled-Snake-Game/README.md @@ -0,0 +1,70 @@ +## Gesture Controlled Snake Game +This program can be used to play a Snake Game (or like it) by detecting hand gestures to control movement of the snake on the screen. It has been implemented in Python using OpenCV library. Although, the demo shown here refers to playing a Snake Game, it can be used to play any game or control any application using hand gestures only. +This program shall be used to play a Snake Game by detecting hand gestures to control movement of the snake on the screen. It has been implemented in Python using OpenCV library. Although, the demo shown here refers to playing a Snake Game, it can be used to play any game or control any application using hand gestures only. +
+ +
+Watch on Youtube + +[Gesture Controlled Snake Game Using OpenCV and Python](http://www.youtube.com/watch?v=PE_rgc2K0sg) + +## Getting Started + ### Prerequisites + The program depends on the following libraries- + + numpy==1.15.2 + imutils==0.5.1 + PyAutoGUI==0.9.38 + opencv_python==3.4.3.18 + pygame==1.9.4 + +Install the libraries using `pip install -r requirements.txt` + +### Installing + + 1. Clone the repository in your local computer. + 2. Use `python9!HJq z4pSG*77X^k?+h7j><+wV241=6`(L8RKH^<(%_h1X2F`dMqSEc;??(CA*T!E{(Nl^a zY-Eq?mi}ohXN!$}g#C>wF!w)tpTT8@%zG1ss!`w{&lr_>wX#dMHH6VM;t&so~2s8$8KtlK^aNW5AV8Zr3yNc_)~bl#I09 LT8RQ-tcEpl=cm+ Lb3Jm3^8|=g><$PaUtKGebgtE^8FL zuUP&dkjeDXawbo7psWBP@H$sIFdc&~$P6jHitqQ(03G}l{<`<~r^bBXbFB1Ehh!gf zK~QKx(Cth+ufQaA(9gu+tze 6+Xac}!@5O+3Q|r7kWovK|q!O|%b8W)Fj?#$u0r%e5x2zJ2jc=V+wv1~cWc z12l3UFtN|yKWvqWv>+J2;Da=mO-i*&HnQHiHtS1x gGho`cn9#Q<*lbq+^o)mnKWBm+Z zV96eK0U*0dSg7rBlp0)D?E#Z3`|mD9w9ox|B5XNLP(UgGgwPCn9Afw5&JB9jf$vyF zwbvV8tqk~HF52ncM`*5(j2DDNX-YmR_dFJuZpU0xXPRwIm>~ocXhnzF>v|^5;QMBL z y;P4jna z0T=O*g59G;K$xCsK=gzot+qb!in5HGB &BgPlltp7SAUJ6R!sP_z46q9BMX;yW34&2EjX zK-b}GS3g*V=IlR_sq3=BjdQmL@sJtSe>i6F_!0f!BMCBBmMfUDwOdl!PO#K-8fdQs zf hkX3+O9okPE*twB4%<3(E~WM;i2Hra4L$?b&-o%KKnz^U5R&HOpI zV}q*}=Vxg|yFb(W$6>WHa|yp8e;Xd^PsA2#7~v?lG0-hZa*C_tMv$#1jJN<$KXhd~ zwvo6o^Ah+&o-Q)l`eLydStm{QplcS4L5~MTGpj8L2J^wI-WR&bUvN*&aM4^Bl1BG* z@z`fC(SpYZfsgv7PJ8a`F|Id 4tl0Z|Rt3AeQ7#uFAmDKSI*w`D zIU>Bgy>Dr%5q>7Dd5s@(6drU|1=?XZyXWx4Nbo$~GjYlbOzQiaG{dFU!QRK$lul(A z-2Z$x#SYJShO_Unhm4l&@Jb<~6N`jRw|A~c6+CK9x+j-`4=)UGn;G`73>}z;w^&86w^Yfq`#!LXH@QB6M8_;hV4R%p_-0 z=m44Ph700a;hY%ot(=e{9pGghthY}nKleT>x1=C%U(EuxR}rW$1w|FghjU6nc}1SO zrER?rd;Jn5;H*8c7mT|zgJVo{;y0Xt4npq#;otYWK0*9oh(N#n)d?0nNIzoNDW_9| zdiQXhUJOI?ucO&6f#|de=ZIVV*g9PH0NqoIv^w{hA_O)bD{ H z?LQdzHubxFH12WBj=#fN{WInpe8DL7ob&txJLDN7*DNSZu107xf=S^YVz_+7L($o? zET}SXdNz-Qa|5}Mz4LTJT$`(>(9_h_tn?{_8w#r8qfRgHuXv>UFC6Xi?|Jz*C}>0A z;T)4wp4)JP1^?vy6<^7o+Zxw77qD?pP?nxqu&CegKa $PWgRrGbAcRx*fahVJ`e6s6Xhi|}}@IwQqcl5d?VGsh;O zg2Q=JTURGJIgtJu8pvv^Kn6sIb;KqBQ0nany61Po!a}0Z_&N_zH?VL06vv0hdVf+A zhFEex7rPBkm RT&M$#@!7=jEPdCP#5Ff253lTVu%EIy#(6{$72&ZIMRMpfUI53DtZl{ft8d! zqXnFwboqG4Gm>)Dw`}{v0h$+wbLj1< Kp`d`ocNk{5{E5@Kb zRQ!wacGvCS6yp^&g2a*G^rpB}Pf`B+i=84*>*_+wEm|R{1e(gRQM6BQufO~|&3MTL zwkXWwYB>Hlor}=j|HTl2&fBd}=3*ikfkUmpdum@vM65*6eqDPIAWsw`@;r{63)ttN z5$diAeuczlj>qKx~Jo$g8goY%xf z>RBfhF9L&?KCw!-WKgHls{HK}RnWB~Xsa&-X8&6stT@v($ql$-U&qhAKN8mOagQLI zsktms6z{sYLeu5Y5SMt^W)|haPL#Tx;Ghlqw$uBREA}TbB8#)f+cr%TvFhr6Z5J|? zm=6qVM&}g1UwyulzVe pV0}e<(w4y5|OG266K`i)5Am?W*1Fl`4F(;F*Bk&h(%*5%7bf@z=X= zhOTAAq8kRHSFU@x%N3z#0r*g%JpQxirsp*qd;4f?vgvCCbjI^`oJ8vJA9sCM*W_G0 z)uflL-~E0DYmDVbdNVVl-ItqaT20T^V5$;gvasA~Y_IARSe(EliTO>?M L}e)4)A^^R|=4w7_?WMD;gN7Q8h4tFF83miSu%#gpDZ9 z9{;Q;)t1~h#C$s+6Bg<;3B5uQ@?)ajpL<4X2eP2+E5fJk(ES{=f$h-EU%md}6iyz_ z-o1?e1!S6_z0F4rb1+zz7(%oEYp=@eY0V8_2G)&>mGnN|49Rm+uZwB2{U_}RyA(!* z(LLRuO`EQnx18PoOAHyMY^0WK8l7S<^WTT_J>t`q8Uy?00t%+6GTOcFUw0R6tz%2? z_0N&|R}CH9s&?J1zUz3zoAWp^HZ?3>Y3tK0c%-1>0{8ZFP)+Eyx7&z#A4|pLfbX{x zgZrmy7>-+_%b1_OyHu|mmkeM_cs%oO)m_XtqGi 5EPI_S{Me zMTW5owfo(pGoX=~0+QIP5}qEx1|2ZIx_l}8*JTCwv}CP@lQ5fL*kr61DIQOXf2~PR z?>;+N)YmyYJPKddH5wdp$5EHx9qKs6XQ!$GyrI@}b?SACjm^mD#clICVyjGueHlk- zo_bkXpc%D;wt!29Ig>$WV>#%?#3Mv(^mtA%7{1}^QBmM|cxXaxUw6G&7m~wiM;Xh* zq!vY;GaMrJl!Z_W36=`Ze$3Ot5o!;(C(M{BIA8`n)9R%QxA~t**v**iO{z-o-|NjZ z^mGglU6bh>b&uU&gAGhK2CKAgmPCE;1gdf*g}%64tWMPZY3dlhRkafZASCR}0usQc zQc _K4bCEof!I|`kCelaJ$#h>t$|}o&L0UOD>yR&HP}I>$ygW=T)?& R-Vm- zfm}pmT2H7qwsVtih7Lm34?JD0Ugo>!dx$g-$LlY8dZIozEacml_)^n5J%F1)z;v$Y z)N&6(FmkB=Q&-CCque@Tm5l*Su`&*oB@EQ*fVRJMZu{f!OoJ}v|I0~L$++iE(5eH1 zGMP;$Q8jC;J>B$qjKt2*aYe+)`Sir_@Lr!E;ZpqAHr#yeqe)5CJ%k?y9mk*r#Jxb1 zyJ_&fO|5A+AxnJoEZOG;jNPNte~s03HJ-P}He9*ViIpBVE80Dm@pX-hpvnWLBWHeo z{-6sv%@+|TvIr*@g&2=UY|?W^a^hf#wDN86XtOHVzyR`%+yh%Uqqec@&$k%)clBCa zW>OOos(ShcCfoi0_?>W3EaFg(0ctCoS#M>7kFX0|GKJq{x=???$yDM7OMX%NwWwP^ z9Ev`SWz|0<|NBZJ8grQZQ#`WlMNc0XN1xGxpu#dvHcr>#J@0$t4D@d8eYl>$68&fm z^Gu(935Y0{U!b9JT3mM^dh8k^$n?h#Lcsfd@`y)%$uQ`&s ;i?;%NU%$fDP~{ZaB6T3`R$zim?n >_2|dwBx~9bg)KB%dF6C)(1|;$lW3op&0c(JZO!U0pjm z&1V*1+f|3jKcJx{ORwLWp5OfAxaEUk>sJQs>uYMMpj>P+ZXWWu_ae(oH-eOCSOMlo z)Q@*(#p3(}X%iW(d1aKzwLrL|S>cBLZXPPm5@o=XRLC83$mH?y>mRxbMyudxa2bHh zey+0EiupDpknnyToKH)UGkn(n9Fe)c$ReQgqMweQQMx7#+cYBrF>0U86V>tT7NbUz z7wT(7{;mAgNz7Z&)2__LtjK0+n3+0>j~^SnNw#%N>#$mD*Ha86O0ONUwAWv}jNme@ zs2Y5SYG;UH{-0H4Y7+$P@D5manOo@|0BuGE@UHb_dChE`iyy6TNX^qs=lmz(=qb-) z6Uf s6mhK)5`9MnGB*72}a$iFTZXzCkQS8&X#x7xh%NgBsuARk=VeDpFQN<>z0 zL{(x75_#~SE117kPZvxcE0(JKRg04l-vG&m*46&W8QAs4@j39;%}V8M7LL$(U)c~4 z3p`murIb9M>YZH?ZSCrVIet{c%L{rOe$rJSmFL5m^VZS+vjEbL2=?ea-WPURJH`XM zxSELc?`G@8Y;syqkCb)-A*PTNAMrYGaR@J<40ufl{bf!DfeWbZZ!mbo0-;=tj=hG* z%eyt__W|dDRh~AQb_<;8!`kzoCDJNhRWQ2R48~d!mOyesG+dx5LY8-qPsXmkBm(+@ zrizTed1(#va&eF;c;725=;c*sCZ0st9Q`0E{@P-yaPx2W#K|)fR4O|a8QzyL;MSSS zgB(+24JaO2hoj_afD^(SPZ!hMpDca5!FxWZZ;)4_Y0UNh#fxqU4I_LgXHC|s>#naW z)}^rC*K?}~2`&9wUH#~_ob@tl&oPt60Yq@`?SWTprG*4)dRPCMe9&6!CmP()H5P`O z092vJgsh>sV9|{rQ0}RKkLxSS->w&(;>}Y!?IsMf(%WjW?90=QJ%1iFgzedM+9Q~T zq+_LL`xst}pqM#~eN`^}F93D?A +)$nt*XAYvC%xgD!NFnd{|C>J#xxC9zRxH zSeMOjAI@4iIXi9T=4kxWJ=ane{e(V r06GchpWM{a+@FP#X02;CkX3+LH TH7ApLSvr3%x9S zIYR7g(_2Ws2n(^NmwcQ`Ew7$SyY7m32xItE<Za-DRe|rir)MGz2U@PX{mYYFvDslphjzn?&E8ZUVPK@^`6MglEim-`92f 8RRZ4tC2hX>-lL73NW6P5WQZ>)8w )_pfQcJYA(;l$ThdL$VbA#zz<#dbg)k(AD!sY4hA2EF@!JI%- zbn5DHe~dd$SWf{7Ipx)$J@wcgCtN!Cf!P>~ArkDDwE4iM=UUAJeCAQa aG7*` zfcDDLhMdxN)Z}7k)be#gkghj`glkPLCTyt1eK65;jJrHY#yqapEs(%z5vWlH`daBx zoKlF{k^3Y3o|zsZU(eCaz2k%THrgH+y##o)nToN<8MVfxW-L*OwA+9C7_=2#T9* z!R;q21aP tZZ|C5i&RQ>$Q0GPR|aCk?)wjOwFL1MapNN1St=$u9xp+8QgT#5 zXXcx7jI 8#y>eDp;>1z^^c5$ zv(D`lCZU)}c>uN(dBM=Le{pFORg<*sbhiLfNKdSlCn3a6#8=1vcmThlXNgfbY^o#Z zA{yGr4b8m6c?6rilXfGkZsEaz4Aq)g|CNk;;ksANCH4(}h3R$nL)d&1)WXg&WiMxB z_}((}B2|=jr3vdHIsdP+BRJpM60diBiUe^1eWr bV-TwI3xe31pCd z=km2DHirJ_>z+F(2;7Gsl3e_96p!2eI>pi-#`V_v-bLB5r3b>9ryKb{fRT&Z5$qRc z*>Son_t*i4t$}_6b_g_RM925l3xjdl*(WAO<> +x4{Jwa(yTbSN%)>x!1foRGUxQ{El6O|d@_M>J`niL$ zX4BKtUlgu^g9Id7?>v4 ?l2ljScPcR3lfnj>a89sP(BYj*ywz%X DdCDncwnJ}wzz7VGqEJX^yki}&*YzZwp?Pgi;~znD zD?mj4jDZujbkG^~qvm=P&8E4HRj Ma}k)vbNd3!+=9igp}=>D$}1(5r5 zIDX0uo%#N%eXWTRxIqy#a$KS}JG9I3Aeg?~lG*Y60 ajmq8mulKVye4Nc>y;(utIF-R*Nyk}M>t(!J9gm&Hyl_Fg>+uz<* zl ?=3dU&Gvy>6wUv2>)sv5$W}rUMkbTvosY}G8whV?6c}( z)^?Gn)6bvg>~60$68F~LGDL13hzT!0PEOA3Mo}4ygnX-7PS;vvSWafo;P&*aQQUs* zvT2;?mLsT}=BUT*`7|u%-x)j9*c8P0{vjYeBLm68#V7sGq5IjDeEQPEB=@xY?wqJb z0T3t4#?v|NR#usJeQ!Li3a4Sx+o-yxmWM+nJw5#h|FOE(nXj{6CS;$IyE`De`BpuS zL}=;D5w7Y&hDcfUdRza#qiWk+qsK0#o@;Hg4X4oZmz86(7Z>XfFN<5aI+tnNpl#vg zjJJM!&)~gkMq5YImkn^l3q$&MvJDv9S0ytrU9 7Lht){+viOoWx32w%92 zcidbvqBK 0MUn>h@c68GO! zPVP26p(ei9FEtD~5`IM!Pb0Rd>&zYh(E2iauek|AAl-@HsHyQa$#xp9m)&$vnZU &>}{&pMaUSv7`OE8 zO=XeTx8W4@`NZGSY*tRM(%*e^RI&^l=$8B5uh^k&zkv1kW(R*kVY^OA$*h%iulPIr zo0TvoZ0mB$hv8I{ V8=a@JoD<{Y5 z62`cGLI16i!z76QcV=ei1uO2|McqVO@UvlgYRx@rc<#Wa*Xd@1iXyw}WM1JX`yA z=5W~&6NRMXo^X~|`~gNW&_&$t)YsywJ6n$+$y{v|mLwLSay+9CQg71z=)fX({20i< zag#oNll64}^A*7T+mgX5i^)#|^V+NDz}ARAk@eBT#=mBx4$n;S#W!5L)WiOwP<20- z;x=h>_>G7dV@ia{4O;x}eH_Kn-6z#NL4^lRh_{!%1d_O-0#4}f1^lQNhnlnN+V3`1 zKH9VP>MoE@YFQtX !_ zxmU-QS5?KEXVY0bN6s=zmp>~Yvc@~riv}X8ljNOzgblz EpKUf-{tnW`&>5C630LDJ>OB>jrrHE14X=LK;mM|PAbLaUUk6xNOL z+B`>`@BhnkF>}@MnLknN$)QBj$$G7(f^wH%#NuXCb0H3K+eCA%Ay9+YU7$^i>NblB z<%x3@sTicM6-*pm3#V1Af1A^SzcM~@SXma|XsYOvB2X+(=nNe %(_6jyLm+XI`t*{Se8WNy)x$+=A172t5B2owpm~wa!~2jh zjp5iYB>=!+$=(o4S{ZH9H3p ONkj3Fg|k@_fA7q^1qBVnW;-4o;>*Kv=N@8 zXKLeW^YB7dmD8f%Ijh+v$U*70bj$)WXM&IHgDhaX&oCX+;MqT}2PrHxUmk>6glB-U zTRimr+bINZN!5Gb-~PbjkflX~FsNoH8{kXTc_vg^7yHU){0FRR`|9I^Vn_p)N(RIv zT_fU&>@=#Xs<~p`uN`qSxXmn_ojLuUCQxqsRCP)Bg-YLio=F;rx>p1u-c9Q6zG&y0 zpDp8UY+I&)_pW6DvsCGM)Dx~Fp_S(KA`M=4wy=G(dy?}&I6?l?5rx#<-V?k4F+=yC zZj9D**{XVKCh}uC-`eI{UcxcScuOPq_SKW}rituektIRH8`kJ}{g1=~Ki`?ZD(p23 z=cU-p34P;0Dc0IAvbp3UVESY3LJbrxhj2;vy}EySY3Ev5Uy)Mfm6LEnF_FiwsUecW zF6+JI14~P!c^XkgEGSLP2S~&=p=b?H{i!w-Lc9M{Ybdo(n5E}+{&gOTmw)@Q KR0d@#_o3C_z{HsSF>&S~ZM3Y}QEYEs&-NJXjbkN`{n%`MyBD5j!J# zXys0xmB=AKN2DLP>J?~lQSha882Gf+Ql0L*=mXpJ{m;y(zc|YN%N(yfnUnbqMO!XW zx;L~godqr^evaUOShRmbta!2Wu4BZn=;PtIGhjsX)85l`)R&^q>amqShnd2E9lP!v zElU~)-Ux})&=MD*tgEjNV^`y~un2SimAnyon({{sK)U069jie>5mWK(sV)>Nl%0op zMLhPXrB+tTNj1Gl-{r`EzRvYGlgk`zWuW?`T!{L5d8G3z((l`x^uIah$EGLbY8KM1 z>MikRt5r Grz=ERJ2oMNy$@m?p z{t#3)464+z;)&?i{gAQIlNr?WMIj2KMT=`U@}zpBZG8CH-YJmIU Z4W_z}PjuOe*{_E3X`V1Fix!OJE*91=sGlQ?Z@ab|<0su{M5ZQK1Pa*PY1 zn)8sm-Ax+2B&d|`Pe{#0__~`2bDTjwvxdz1+mmH|Q_}?Qqa#$I7a`+O{zIYQSm>7p zL7L{}C(fTq6NX_>pghmV z;EW-r2-kQK^ibI0S#X z@NF}*VTrgT5c($7Cb(cyeCq2q_d)&}Zd~my#loqGZ+09pX52V%xZSs++CbpVI|?Z& zg(RF9+>w(v#gv8gt?ed(ya%OMq~j|v)qs}lrj~ipml!Z=*+ UH2o({s)Pdd-hFPT4lCjTO7FqCP^$XOt4FZQC z9w+Zx-Yr;TrMY4FJ+P408AuFnSNU`q`CS5ZFS0#1;|S$ZkyLF)+j;Dyrv4czXb>#N zCRoH-SBCa9Cm&G1T?`McxROq*SokxAq;&o!UZo4OdBj;bS{qq;k@)``9c???m}Oe+ zYE!HEsaC!Gn9cbo*I!(qF!A-4n_Kw_k?E=2T@RM>fSe2EMN#r9COLPc4Y?r798kU3 z!u53|IkF&2*w-&6bw!|5tf%r+Lq)BC4cc=9J?}400(- 5JnMp$G*;1~5{{ yUpQP#rDig>wk TNA*laM@>-SS;@^_Kb z8&>BgLo9rK;zFVy{-n?^b|t(O-!vYsU4*Inh`HbcR(#+mBGS#D;drpEZmL8Q`k3 Mt^T(6Ao0<@e-(?cxY=@rod@PUz6KK?r9 z{A_7$L`0_JyU+*mKZID`8Y&baA)e6onosIZRtZY8Ay_sfl`_g3TR*?j5M8(v34x+X zSMTaJ(|Oy7&;wqS*lTMHy(KDuxzB|RR&`z7<>XBMfMG1f?7Aa N#$EogRh^8%NHWK^Z1O=-wGo$B}X=nPT$Aqm^+!a$G&T_0SXH- zoax3&J>D{MZ}EDXYw|M?Nn`th)RAcbcBROv4UKclVq(6n4jIRXoq7t0e?r_TQmUTa z*OD%h3Ty9n!Ub6{Dm2v}xwYBZwyc6De=Qe-PKq~O8^0V24vtb%FPqJc6UJLP9XFQ} z5!V>q)=sYx1gR}#w8hL(&O7TVy$;HCw({E^(yP2%DwQ3qcT}1qd6kA|+Hu*4T#vSj zP5VFqcP4U_wtvmXLt~D|`}n3@3Etekg~O;Y{YN3=M|+F)CFI2kKqggGl&nf=X&U zsDSzwwK;x2nNh!YL{La*r|9-Rxsbdm3^$&c@;p^wJ@>Bw_LQ|%Jdk+^^ueJH*VMKc z4Mw}^8di(^4J%3k4Wz9!bBJfT<4~^lKs@H0JHHNif9_#<+_2{VF2TQtYL>A %IM+4$aU_uMO%z878r5kl_L{r28zRidAObU49LjxEQ+%r{ zz`&kT8(8Lbr}1?_x75Q<`R;(b0fV=H*gRHmrhvW?eKu8w1rrNeX?=$0UlqYC1fW4I z@}l&NKXRKlu71Cu$LJ#uXI=sne%TbrMA?R@{G$#j8PnI5Y%`E|z%N%;$s!!M(|xjc zSXc0Ui$|@;!mMOoQC_#GTdml_XBOyaIeaHnVuH14Z-v9P i~`3eS9O}e 8<(vk7vc;LSwPFXn4bD7-{$%R=-vHPuzZ^Rk0w%pw*4zD2P;MAQC6%aC0NiA zU0H`$?TNRUm!3i2ifw3Kn3rp=&DBAUn%mh=JH@IqoAKC_J=`LZVR3!rx;2lgN7%Be zke7T=sU%k~SSS8WE#|W)ARh3Mgn|--Esm1ILOttH63Xb E%yWC?mu*aFqB#wLuFNHQLmIvH&d@6@!9{p9 z7FtRi)_6UX_HtWHimPqXHhyF#l&Qp(_LN@D=f@YYl-RZJtbv5alIh3sFiWfG%?EoS z;rx=*Jme69ecSIn_KfMNVmAHWN1 ) z*2c%;xwBm}QKqQxOg8HybieGYKR#&Jq#A;L#0#db5wQIIEn*7qc5rY|jnU92#B~_e z9(^MowZf&8(6{9s$}8EFEBl0AY4m#(+c1oHp_wW>AEr-FhCPQRJ=pbH8j0qUf6!3z z;);N9HFZ -PbIDYZLFN*?4d(c7Q}N;cAwDOI9a}EhoE}N;JU7!`8#%zgS0;S z{HIGB(Yq!hBl(pP%SZF}O^|v`)YE4lHsf>C>G-dOV+eHVqI}dYx+3l(j4}V7UAyo- zqmD7ae?+pHLHnCyQFeG7%O5PM1)h&=v#+4`rmYSxB1;Pi*J9Pc#*Cnmcz%ak@ef|V zXU`Q} VpyPveoTh M5I zT5tthlCdIRH@rVYnRic3WEu^A7jlyvw7p)xE)sHuJTX8cK@ikxZqUrtA|1~ A-d8HV=zRYr#)i1EgPQQFqPOSoo)ZZ5yA9n+EgQ{P#%hH#iSr%U| zeGo|OOTOU{d@E(BfY$9FZe4G8nT1u4H9Oi8P8Z$7M6T;RpXMGX$rjePq>z*8U_!zB zR#b{@PJzP|=a}z;^SjWoT{z#_qYO9OIjc(Y`HI5fFCXMn F+XTIMyAsoq>~QIWdY?29qgRo&HP>8Pn9xSi^EZ@Z|^ zsZrl{se*eqRUPjLNbvwaB8GG_&n>#9w9R&m``p?zLh4mQPF@d *Xh}-sdOscBqXv35e+-;<*Vc0uxKm`sAt*U zm1!)wW!HnY 2oYoXgaU=BaLb zFG%|KYE>d(yqH5<8ET~x09#tlN2Fqh5B|^yAT44xIBED)POrY8B8^FjTjpiV#}*dm za_F^$`MNWFk2Qnqy|j|!IWj4}w5;zlZ|?fm#Vn^rzM-|J)#wEGT_3G^;kCO!fyI4T z**cP$?T^}Tcnp*8In#d`S8<17 anezSp4~?N{K=t|qjK z 0-{V {*O(wbXR2sT5?y65XS= zzq>18D1R7I>8{HXdnGkq$#Wp$sN~!mH^|m6`Wc!%JX4;`GAm~?i}h(hBAJa_DdL~& z`-sYgu6M<|YeDWqA&jZze3RKche?R9i*d?1j|tKJRw|D!D(%XD>lOxJoy*#g=eDR$ zK7se-0lU#d;>~(iJAVc*q46q3mcJYFDX~i%hAE|72t~enEzNIf=P~nol(6#sz1hmi z9{;P`n3a5YOy(AY&U*V$p`fKWf`NNy@*qWyR5PB5S2Od*KE 7s%A#&R*n>zt}0tMy+A5Y$O(ORGPhU2uP8?Z0`okE7;=tn!-vn`FOO1|2VX~qu5 z^LFNO?wZghS-{tp#u1e#v9Y@iUH>qb|ArmIk$`x)ye-<^N{vOVRGSxftYYZ!ey4)u z{y-z`3S}o(H}lRNGnT?JCH5%+WKW8#M+ZfX5+k}&jvqNxn>2Fsb5GJLQx6M53vWWA zw(RXhnRzQyKNy {9NGmya_oTp8N>x&2BSiRwLz$yZ>~hd-Ma)R9Y2HQyyOPM z@ro~ZDk{{gHhRwM!eZn;rOL*%k^1BexR(Ii9f9hUHlDB92e_w2S(VoPFqC$Gi$`)9 zy~!GAg4lvCM+`)K!T?Zf>aNa-{#mY?FT>^=?$@iKju}za9H{T@5Qi9tEq9)Ix$!6O z4DT= Z%`!HJ?l!&pJ&Ycqd9@wT?CD 0> znOLj}Ltl~%Q4tdjmO5f1VylE(E3RQwY!_{|r5W_mI-*m-fZ_|Ndge45DAjD&xetj$ z-^aw>ls5pukP)qo#|o0Crjgewl~Jfh@R@SY@p&G9>@a`x^_TeCcTV$9|JhUgvw!|D z!``!e>l;_m>=-kP?`L!K9DZ;K@mqMdfPVG-B}G9PMEzXQNUa!{W q|DSQ{XIK0+}Bz~ZHa*Br4~ zXrawP2H>~iI_co@c{H0RYaJqM?L(x4WD0f>DL27ypne15wbd(V57kwSD?nS(Fz^wA z6>|o>19c6@L>~JRqb*hLMPd+2^$>!wva|A(jHI2u+vU{TBGTA|HAIWF1wQ3!v``aS zr6d{6E{-1%A+E1;d%EpiNNvH+U^~ZYFCOE*N9Xt#|MiDhSoHka-+zxQD~^XgaEdQ} z RKOxK`gwp1EE1$$IYn!o!0)TOeIKV04Pek-Qv@q{tQQt9^v}+YwU)# zY$|K%U++BaPMf1gkMYgF{|2wV`f@xtdZAFLvYiU{AP@KmURTJPre(WAi4{=h~ z>wE%6ju~%n-BTJ0hi<=j!fubiK57lWQlly=(x$(i onyHNW=It##E4+%Ij|?ug%KvZ1izt#a3%!LToCn$+%9N z>rt9(ckF)SV_M_TwK5`;AwKHObV12;1 >TR z@SVyd* zj0;|Kwb9XGqv2=3^uXsRZPazZMIwR}wlRczn=W43AbI?~ zgW4QS7LveC2cb)57Ra&%viv|OwB`h46KofJ7xi7#_rVYFZh+MSSJ(jEN(PZA5 2o)9ZsG&!SgS_%pbn;9EV<+;TJx351;+= zeLV5OgZ$wioZ-1|-=sBnkk-Qe6oa#f>w$EF5p24Iq;eC;8GH#0YJ-*%Vlg|}g%xQu zgRiMXzth&!xaU87E{(!+T0#Ea>Gn=#DmzOw0FsAKDGJ9AfAnMi`mg^ABc@VfB+^Kx z-@W%Z=P1jPvMedeg5hAuiQ~ul-~X$BHR82xf@@Sg&I!Ze5F>)kvKme^rc^e|O$7xt zhSa0itpfH4+{&|D(@r)Y+W^(smgrlxIo*Kz8Q!J@Z->iFtWC3vQ8HrO>{8vSW*-V; z<10liBttiyo;z(h;|lb6#H8uzA2*E5n2}X8mnYbfRElu5q#BK?jDs<0!gj`ukV#{= z)88gWUMeV1S{Ds;)Cd*qE(X|0B6u ;yb8sqrMlR9-H`b0Ay5^ zgCqT_YV`awAQ%8??BjO? sFI9F1Xp5d@$ zZgvK1Et{L0*vwX*PwzdYD=CYTq9_;^LyBR+a5!Xsex9Nz#$X#G?$cldl#Zbc=@^5_ zg7>UuM}dmdK5h`r0%0SbX&F`U>)VVeR1=iFZ3=w)+|=moDw%Q&4%0kOV!xV7UQ(P) z1ELX(D8YN3;E4yTW9=SOnk(BNI6ko=xJJH&5kdhe3CX2R!)ABB{m}?O-A8sje_SaZ zp}Ulw?=#5*-f)pOSaG&TE+)xNhE GqZe3z?c?L&^nSGYlY&SqbdiU|euNQn@*8&8^v~b0BlwqW@Jczmta5t&F zzs(|A5DbmY*xx?59$I)r`$)C`w4$3JL!}cH%rbhTJ#|s39V96vUI<+K!BeT4<9&`g z$g&QS%_8bTp0TDx)+V-Fz&4m(BDJPU_$-tFNJ_AYzc+F8(typ4c@DSLyy(|n=&Fit ztV}EfgG1X<83&9-7>3+{Se;fS7XLCiYID?>;JuAeSuI I7q{rlK8R`)|FdDd`t0EG=E;(A?cDUCH^6|NaKg z{CI_@o;t>T_Z{c%PaS3X#xmUuo;|b5^)mz3mj(5C1-lg63V)kez%LpA;nBzfGEG{j zPs#By>01(mkT(8h%!@W20eGjSv3}#rOGj9arZSaxhhzsb$A7WkvEh_IDwWcec<=Gv z@sW=_$@?F9gg^b0Kjq@Zi>PYw`nxjx8x4T;GaL@t+S&>RfZLAKOnB&|j5zNp$`Wg{ zZLoz}d9AJNl!Uq?6y+AMn(=ca;yIgM;rgKXy%|>oYlS#O9?T?tw}Mc_Uw6fPjuZwn z4ScAkM1WcutC?UXz$TJ6no+O%>y@3b_#>YsV~A1ZavL0KY>p<*PZJ{aCS@ddp#j@6 zaUC_W{BP)fN!hQAPLH4%6Y^T(Az?Ojbgho`cWgYXJd YIn{7N9MXz9HaX+oOS=z>8O&hBV zh_ej(HyQS>qi%p`3z1oj>EL~ RQg!E^NY6p=H)`F@<>DFFcNl#+KAQqyc-NHx~=QJre4bOghSkpNv z7$Ip!#@A}R@EYQ1~py8wgbJYwFn+-gK?pn zM*}z3R&XVrF2Nh#A`~6dI3A60*AM{+%5EL~P;tBHNYeQCPEw{q;X5%Mj9mb`ADhi1 zW&t%b!8kA(#`{2_Djs1FJpV4ND A`(n-QWrVNEpm3#g%CF#3Fs=KxG)DtDe_hce+4a|6~& z%ipXirE@s%aNhHs?|hg2`w#Ftzw `#>^ zUB}=+OvdG_G!lx(U`AE)a6Hx+Qx)5q)Q7zocL}C80(p^;o1zk-NlNfq?SRF Hl<^QsoHT?7jzV6ubPJwr5Aw@ujNog|KGtSJzx z0QXRzp=Kr+d6Hvn7poc0%tl*CsVPS_RyYqZo{%i7HKBkZ 4slmn2W8v$ZP#n!aLK2tq3h7oV@J1NPCmjDYBnZ;*| zNNYc20WyWOgVE?iPK5VmWTvW%UJ3@UCKz3`V)8JEX2Dq0 ~PLh zrgCRUc6MO+zhCRp^U4ha-Z|WG$e`Dwo#&Kg$;QS8D>qkITU*09hl>#a=X@{-e0bqG z? M{KI3-IRY}8bz^oxc6QnJ57qyrh>0VD@c$v zHZT}9?7F?|&CRG$YD$&-o}f!3=&ezBSCgie#u{!KJawMS_H{Z**Q=pt)Z-naSsFdl zzWE$Znsbvr^LX`C)uc7m$cRuABZLIU0;R#zE m@#QLIwuZ^(u*PB~ z!|4$3hln^#mf^LH=nUdosIyew`W;ar(ff} Yf=L6NKrtz{^a i+8vpY8Sl@9?>fAJk}1YEy+ R zqK#i ox{#4sI~K`8;{|7 nwh7DdzEL zEYKJ7OTy)&v1<%iLA3=wN5o^yEXEqVM8^+-Iu;#*FT?owE~-O>0+BK%6FY*}y=fHO zo?&@&13Fdkr}FNTtf}CtD#dWf*48G=%ga3e_~Q(RL;jop=Ksc(D_6+#77&z*;cyu7 z(;*pEy;6D~A_!#}>i{%8-G-T&S+Xov5ryb9HHfhoYjNsBEg6UmdJUyX_SBzBM!d~C zD6
^W0~>@eBFlTxm5%` zK!~*Y?ilUlj>`7yilpptt)@a={hi=1G{!`0IL@e|eS0?5YD^k^8! cO4$*vLVQNh}3cv1kkI09CG15bwY1x_+DlcB~}hOXEgw1uTZS+ptLUWz28 zF$+vHqFcdB?^1C=6Igq)8N4e3V^0O=Nx1;yie)2_uToT_H&Pwy3%nbGl!*0!MWl_* zI!M-z&sTwWp_rMf1n;^I5j9b B z5DUjY!~Vlhkhc~ot-+aDRNELiPCh4?g&{Mp&sKj8b$v2x5fq;dV|s#yJb((GX2bZ} z8EiI>(=7~raAin>XR9%;G*;H@fp6UEn6yU5_h+4O4E6kuD80JNwI{VF8UX6Un(~7{ zd+GXM4XO@t;XBnLe%C|Y7V5Ubajp;QYJgw*N78+5jNGJgO0=Oq7*cP6f~gQ$_8iay ze+3 @Y!C(z*fn3ocmvQpu*)bz-RCKi 3)1an?M!7VQ)x y) zp^hZgnY}w3Tq!a&8X+-~3WS;JIy*Jjm{1GAMP{GvLF%|(bbCeTDhL&yZ;@7ny+quu z2qHd22P_!1A;~XQ`1Zr7JZLZ^#E@BwAqSnonmLTjkY}@$!xnWhq48EWmB&~pi zFnH>HNCH-|k$rI{^v&C-FepJ89Mn;PZO^XOKe6g>$aC04wS`p+rd1{OX10wn7O!no z3NrPmv8XWwQm6uD80T(e#G~dHE9)k{GYKq0p#pPEDApQcG*UrzqU5N~A^APbAAExS zcYheoTlmfj3kM4F+|u9bvbHkAVAvt+25fe_JA)sTh#Nq;iaHYwNso`*{$vJ~m~@_=V9dtfx|5>coc{(CNqtyn z(gWWC*GJ3Eu+Dvf`aHl4HL@MKK~Vn7t;hh>Cse$y+Yq9ksd<8s$8ig=vMK^B$pE1? zTyC458x- Zh*tPvEoe#))=gq zYC|!`1P>a`sC Nbx4z89k^-B2dXS2N!t zRIzRF=`#TaB%rPlHBjAl-MvO5Oj=jUNI|n?B<*HgPPlp_vXe};z;iNjzS620i$c_E zZo83L_iwBaUE`XGhS7}LiX(GeQTR&2?~jgKfJSX!7aEUAeG?7UaWNXO>`|eP@rR(i zNCuJzr9up1Oh}wHL1`2lJoH9DD6!cbhItA*gD`_?RPH5uKXnI1PlBgfqBj!X3x Mm9J0^=L>lnMUTRQTfG8lWyU4m;*Jkb$;PT0xmn7vL|>gJ~lsBSY|3KwBZ{ z5gU|19~pmS2dgmcDQbc;RBMGKBdaQ!r824zj;}LQqH4+WBkY?$$^Lox)aPb-;IR`d zZ?2PN!hr*eEH9V*;Ct8k=`%fggTqLE7()i-2IwZ<6^I{VbcojhUQ4_KF_C6eO9X>8 z9lY&;&IFEo*MSIq8cpJC&RtTjgMuw&R0+b>Ub)>&t LSX~SCoA@F?%f$6i6DdG_P}bF#F&Cg8e*6|_j{plx@IQlU zbb|R*4?-g}ELBz(Y8q8T4aI7%52zDH_F_nFTQQCPhkT(bt4-^g70GR->SBRFANS`# z)*a@q1UjI3G+;|m8x{3b6+0xEqdDHkyet#OBf!n#F@}h%G|?a^!rtPGxFtkdQS!J~ zBqN}PCXO0VZ(wMqGL`p$WXq-H|8b*(S0(RANXm@~zR5%7MJUT2TU%QbmAj-kIPXGY za8clVBk3;bg~>CGRMd${S>DEQl034e!LqZ<9yf^!H1YnY@5hgi;Rh1sr$|!~^_7}0 zBYh4yZ7Stz%&%G*3b8Lq!AqY<7|e(bFrhEwdhIqZ|F*s~jh5O-sJ~B8mA!hogM gDl-$gbu}IlpV3;jX6t3ar9qU&U4ycJuL<7`@ z7 !_3xp0TMMy{#AK^F&KRo^*HYf?JqD@JuD-nr2{V3kGkh~M?5oDMQ zoU|!j2PMNJh*(qy1SMubRh+DHCd7V DoLu^Ms2u2%|KdcLI5pXli&8Iy^H$=72t0@0G{ zC(Kq>f7eVPO~;CDoSRW`_{TlJzFso)hE>!j$awt-k1zz?3`{@e0QFm>S`Uh?a=q0T z0m|YBpqqiRHY&uLC #;X*Jf)DGe zFCo$t?j2sEAumWMKw4o>(CFQdQMmBT<{^RCx>zhM7{-+`L`V`(ISC>mAy^_D&r^g5 zODfDJvG#>DYJOBj_1@_k3safOoiCXZl9!UQT9##G^eGzeDH&75nvNQ+;4-C)5db#| z0U}|MjSVaS@!W8FgdkW`c{vlt*{hGNE<{dhQ$aVzdFo+QNlxGGq|l8j^;F*B)ZC;N z1djFKH8z;25bvz$R?4-nJ=Y`cj3I^*tbVf%+uA9U6~Km=@$(uTkjNMm_Up!0-qfd5 zM^w{hTPBV3c>B`W@ATQNn3|fN|7~NL<~u3sZ$O%!?dJH@aI1PQ#5QpKyI(b^C)L>2 zk(g>A l{?czf$8RyyBrdroLT#M0P}Pnq|%K`K&@t)CbXYIw$pl(#lR zQm8%^y)rpShL{#)Exa0>WEg3M0$P$|%q%vWts5u~o3+TLLoQv4tc$fXxN;a3Bok-b zG}_cqe3B!)g6b4OfzmKGqFt0MTtht)DLI1|-b2MAk`%x(&+3R*6(UJ$a`Fa6&^w&7 zP_(gm8*5sqod?s!+bx_4MvfK|i{45!9+F}easLg)FXeB 0qvrt<>0UwKhrJs~DL)m!#lLIRBDFjBM5!+;-8;cf? z8UW*a@@`C5yGgiaC?s7VGz>TD2zXkVQq4v4dGshf&~$!|Myk^gL9^kROf_( e<6K~w(mv`3pabe^*~t-*#i&$#b{WR`8<5~iQ<=(Cwo5kROi-<8 zJqLr7 z0rlk*KHmE#tS0rZ*^C<3m|9qoEG7gGGWyP~q7q8I6Q&R xojd9n$wV)0|90gUmQwscu9qW9-S7SA`;tLskKMEG4~TI`R<_D?}d64Mh&{u zka1 dwCk?W)vhT{YgPjj5tzP6W%Eqd8FQfk@%jJ2}Xc6@;B=BHG1uxU_crf zL+Ujg)_Bc5?PDTbU=M1Z-!wED>n1^uBJ{^sOCotzwfY+oH1g3aiew$sD$oj$k17nG zqc+kRN`{pdLKZ9Nwgbn! cNUAABQ_(F?#en2p7_(u((Muk9^o_L1 zw1qV}Duxn|kDg5;JBpade5Os #b4_*BBNzDTga~w~p}z zUIq1`0GeYEj3F^GsvDy!l7V!=_*g5#2Bn%JL||gnCBS|XU2F6bCo0jZf30vmDpNaR z-7J_6hOowb^!NtGoER053^B2|r1vB^S}+Qt*SH$ *+-QQj`DDxm<3kCo zTIz=+Qi}>ISLI)YXh4d>Knu}9FhI0N4Mm#(Et^INrt%(^3>wd`LNOe2;J^V+p1dDx zo8fqw_$$=~LRHm!?!5=R! XmLnJE|Ot z#zZEMdV0l~lv^-{^G*# fM_>nkn&DtE6{`@48Cq z+u6`ab21)%3N->6&xa&-DyjtGZ3Ww^=v!sxHsE7PVGaicyC%LoP2}45S@d2@{LG@( zg3S 7rsVw#16V+LFx7)5`aen+5XBF!a$It3{1&5EGOt*AGf~ z!qZFgmPP|WECGAmL&e7g?bO)-IT6zdkc0|*p18*AVnb3D;gX ^_Eqp_aiRqWx4|E&in30O~nJqYh}ReKknJus5OuBbK}1BQ>H7 zx7fV?3Nv%}FmvEh&cCYs&*zp|*ms%E%od{1-&kgIwS$!V5C^^W^9;6b;0ISJhF2+v z%lP3c6f1${$fqZwL|qZRxPc1QM@)Xu#kv@iqdEgR2hs~3+z1O2^#~^BiDV#cP={eF zL>tgxJeUpvS`$6w5+NUA5ps;_02xLVjftY_qXKR6&^9I3W~fIly@_faJQy|VhH>tb zF)=C6!V%Kh3qn3gE6&r93gb?INWmaJBSb?r!IZR8^aUFoS~kGsB*K)$$KM0v5L#lS zNa*(1#}IuGH$+)wV!p+;H|zvyDEXEB%Ppi@m)bC5>!%|aBxPu)#=Syf4vRWOhTuaj z@c<1 y^B;^=Yh7ZJjCWGW;khDfO!S~|6&_kq%(ZFQP?7ZhrWh(C# z$(nyC%Ju8ldGNsp`LF(~|Ks+f$0FsE#28^|X_>)rfb4Qyg5Zn>H>08*X)eQYX6(Ej z6zinuYpwWef_XGP6Q~o8g?a;vaG9#IZ@Ly^@TW8sI_k9+vvX&)VE}1EIUK+C Znz%c*OrluVgyAqSK7)IdJ#a z(Sc@UXavbL0 ftev35)H#?@H_f Yy=?r}EHCP(mV;jz|WLipbUTouES!5-qjDqMKm&RvuX!6~$<9=rB-&sz-ep zU`rD63vBK%c9sBnY=N1@*de}5tU|r`93`sJf>Dn@pf)JVBQT3J9|4Q6F+w8|*IqjT z9O_o+uf59kb6w_peP$0ngy8_aYmUAQ14EH!s4E$4F0-+IonHS2>Xy)Q316<@iw(3` zhH@oBT2j4&s32qUv=D8hng_Uz2@0A>3u_jF=i3d#xOzo2j+we>1RF&2pfLN@IA6(Q z-ww4GQUpc *u`hg2fV)as1ulP0l5+% zqhFrz3JuDx*904CP|ixK`0Hv1fCvfB lo^)x@oU@dzIS?CR9c08Wpgs0&rywdrSTv-R``p*p*W+q!m5?DQB+%2a`5P z7h^kduN&eu!n`VsW~zsh+V=L3&s3&zr^$!`;L4J(fBkEG_q*SzaK%aXq-2q(5tWtI zn+=_)3AP#iY~&M@6ykK9c<&vUQbxJ{sY3TO+EKM%8#>xZzbf^LapibhL8+9lum{C` zT$)Bo9qQ*6dr-qA)8wum8CR{^-*5(wLbkR~6qUkQU#9xEQv4+59r#qulWj)8>m7$Z zRoiWj_pQ!PhUC~9xn ktw#(1ppWHJYxMe@!frcjK6mB6%9Iv3zrZUFQUI|xiQ<$#pr zC$XSb (z51mmNPNEeY!kPb>7$2KLLMyO;nF}SJ`Fy1B;*F+ZALsEcjRD43xGi;#l9K99C zpm&p%r5DI&4lvs}5R5aFqFANhTc+&wD2fe`EsPn2=t(&U%D=w>el0L4Rk;d*%U;Do z*+$JQA~Rt<&_QeqOb5y4k*tHohPm;Ol66Zz2uKc9ye}fNP8bIR7?Xi%<28^_D1l8T zKzj_{gdBnjex!h85dvZn+rpSEKv<;=bqcgZh*Xjq73+%TG!(K63Uo>ap0s~7ULcZ~ znG)1BG1h3~{IoOI5t6V*TZ9rkEmUT~%put##w;Qxk4`I(*a92hYu-D&2V+}gc^fOB z!!?|jIOmP}6|bxA!doE?ND;}{YA`QV#=zKKKC-VTjDLtCgtZ^wh7uFN)pWpiA`@2^ zYumwb;d;SDkRpyvde-VSJe8?TWjq3)o|`K-wkuD%7xh1G-%@+qtCv~yB9AIh4aI0g zsYwtOvrVDfvCxz>H n2aGk9AyKWh^h+J% z8i8wJB%YJ1HEW}v8Wfs|M$;&_d^5p#e0-}&L|jjSg4K^enVL}|^$8AFKew7bHyLW$ zP!>TEH63i$4N9MBBeYR(fezMo5!=Dq8LaJMvl)!d$RsB>f)!70<}vvkHlIhb5=sL$ z! fKNr0v`yeD55<8*e5AdqS-X$` =2WF17nHrWMA|ggz1T55geFL{S=hoeH5caZFUj zfZ7;sNlKlN7;seDVDsn!wE=45HiH7{*P*z8cN+``uP|K6=<5PP2h|~7*HAWNX0wEF zjBO(rd{KhG33>x`GeDvugH2VGN@GztP1U~J1U4uQ3Ac6zvHQtea~PB3)yATBo|cw~ z#sX_@11*>FzDHn$0kNU#G8*y(s%JoA)n=0_p! _$8-S~AcpD@A3Xo<&MY=F6vK7Id5qb_YZs~rLo H47u$yD1Gpn+Zpm!8&83A zgTT37Y=8u#!j+p;3@ZfokYEJFf=rZAdH0n8l$--WCyLcwN3hHdB}HQm0M+0zh>Cc4 z<|D%p3EM7cSwyUJphK3HC(C9rB3SEi;_%`lOes l4VUEg7 zc$RH9V&wxKUUh&-A9a1i_d$oKUyTk=!Re*AmjsWfNb=6Mz|5m=HjI<+2Lpm0!d4u+ zln3D(;ncG66N;9Jx)`j?QCg^(L)r^uc9trU*?ZI#xUz@(>*&DX${rLxuDe)l%>>w4 z@T`Z(M`Sc0C5(y`B%C?q7!w((u!y*-R!XYk8{l23I9!5aCFYvsnNIK?s9A;5@226@ zYDQ?15s)M$IJbd76IvyeODoV|nl6&>$K;EMUBK9Ggf%&gO|UKrIT2X0&MfWj9HsB! zhr__$7b|M3YeQOB66rEY{hMU4yq%(B|5lsJ&TUCbyEGtRv=G{0JE(1kO58CoPu(C^ z5-w3ch&cdTga|~FUUmxmnaWg>)CNE!bMf`SG`35+P90XCsGK!n4g|021eLYA-elxO zL)oc#>JvAAICmUJU7g$fO-65-U?G+AnG#`}iN6g`>u&9u=yk3X*PS 8i z>)A>0u5D{VYN${nC7t?N8R DzAHF==I%x7?A78SB~@W|R0 zCToFdMdeKpYq5DwTe@^~mNJ_m&oVM=D?>LZfH}srk*td^+jv@dX@w|?SnxUO`oSA- zGw_4R!5;X-5sgl28 g3YcHY!Fg35G%nmlYDmD)W@y nQA?8*X3(`Teg&2961v`tFPV}-5kaCC{Y#_xd=uMno zi;;!_$R^5GfWeIHC9{z_b%2UPSp(@2yvk{`##!BxVwTu-lEWlY(rV41By_Om0Hzf% z?y7)uc(;KcbnssAb_?}_K@rLE(X+1-ayUYsMKGXED!3&vsk7RvC9=c> PLj bFZJKKc>KX^F2m$LLWYGYyh?%YGCK$Vb z%@zWjMcTpbkrAE~4Xshl$+9l3?gC^6*YA;1)dQ5x0G$XuOrHNi+?!*fxi*cHTPWXe ziR`p@r9Cem)%1>41{X1zS5YHiS^;V%5DM}YVIT0l$WB&}Xjp}i+wsoBqNXyHJ5RFs z>aRYi5 e^GgC#A44MB4cOwo%l0pI9>9Ykl7)#Kbg*ym|f@+^U9@ z)QmBs(UnGyf+k>)Rt0ND;jgtZRF!q8#(o^v*=SS6*rSa(+{weeOP^|;wI27K97($< z)lK6OLPV!&=%wh-w)QlP!zvOGkGEz!WG5Ijrn+7;e 7 z17!JJsL*T;&JXZ|Ei_w#;S7{HrnIPA!+VGLFz F#Gh>Hre@e3G}la)it)&{CAL`u|n z0#4rtLtmotCb5ccjL@iep M~O^Q1PBW<3t5Z+*jbPqBQ_d4IVu@8 zD(%kaU^?WTc_g zj9%ny+mB};5zDeC2UM{Ix*8CAx& zZ*vK@6C*1+05!p(q8Z|ck&(3*BUXJvB6na6k{FrNG^Z^M)OpZ?o(MD$qTg^DgP; zJ1;w+D&B~(_(p&;@9;cjZ~hW{m&yyO32M~zcq^rMwQ@9~Lnhx{f-BU&C+xH_b=0AW zsHl~#CJbqk!qoHx6BIKa+uZQ{f<{N?7+6H>`|W8Q60~SX8CN<-;VP;1dzYkW`bJwv z?=uQ%8F8oA8>bMwFyjh!Gm6r5=a{4=j~0fj?&Bx#$-5@>HjEU}(Q3Zc?_;Ojih>lt zVDMEb`TBZI @@k h zjRpu #v;*nNTniXnyk_!G*l9+!~w{WV#AhC_4#%jWYvZ9ghGZ-Fylq^IgbO^qOh-*Ag zk)?)e!>W{SObapdNOk~eA4Kc|VgqAR-r9%F_65Vh*jT`>zzsJT=JOO=ZQL;0ID;ZU zc`Are+yyo6rO}J838JHILNaVS_AGdqQ$GU~rvuUr3BaZc(givZe=m53sNY0<2j@1S z*u-RWh$@+Fg)2#p=_qBnhAG#Baicxd_X3NH#5|P-dya_22wYmT;h77lI8!s3rHGyw zJmGs|+aQXV5-o>#jYc3ojE(pjEGIE(TspDu?GU{n8qB_o3TI*=8s!QOhJNjJ4o`kY zRWwi9h;3B`utWkwQ3%BQNMoxgIjuaW)ygRSfO4>o@2}zqYlsf;>S9eUgOQmy76o`y zLwP0UZfHty9t(Njk&+-)DH=B*B?haPP>orAfcj`3NXB)lD4oWCJi7NTk?o*``tzyW zM$y;#`OlZUy#@faSF^%CM;T>yiBODml7?_+DzuW6sD!5;P4-O`qKU<3JItlldv&C` z?r3uEXuC$4S;iIAaMGTsE%$_vX9Nag_Fz~v?>*k`5uE!-LiSGAZPZT~A3>?(DcUd& z1ZpIirpQjCL)1o3jbq>bGTJq{xQWteY?7m1btW1Clg4TMZ V_fV)69aKNAfueEXH&(#$rs4p%c9Sk^5hq1DEE=1t Pn`;;PNAIp!$|VNQ4!; zfV2-`JIAr@Bjnj4?R=4}wLq57WAbhoOcQD)_|_(QHc!uX=xqf0QuRZ0I3yIT%A=x` z)^J`c@G=t~D+3jijSk|v%t=Y%s@-S+1m-6qjipx584dR|oA|;~hyl~a6>T(YVNFJ6 zI~dcV#6iAD);Wxt7UH%7E0Eg=?X(Vq3y>dt7_SPsmG=IK%TLMqggmyouw$sYoD#Ct z=V+=_E0Lv0sUlt?F=m`_=h6wvwQ0pMDZvaQgHZ7F3$BVEld$*d;<`zB9X=}e@i~lf zBXGDPFj@s8Ay(y;3@l{1MSa0=ut_=CK+8?=gIJ8tfXM mg_N>J602xRM~sfuvgvwZh2S9ySVA^9@$}#-$(@J zT_}4p0FuI-0*FC^$HR!-%O&ayDI-d0(<9l0FC q%H1hsZSV zS@k{Mvx#eNCUTF$%O+sVs{n#jp8Z|NXI$}aoTGjezB8%6x1 RaFi+uG0Efs-s8xtFYa0GqcEF}S?I4i$z51|BVabjU~KvM(tV3LGs7 zd_#pRC 9A?((YtfYbcA5+o5GICNq1K9Fw&JTr8h~d>%0w;!Cib z7&niUE5H_%8>n9oMhMNQ(;ckMBz&+sRQmB5N|2r~_K5|G21K^ryWVk})0^*qk`xu( zu|LV-l|s)Ar^36m`|qe!HCUR1m;N6AtUBqPZuRSyTN(ff@wu2~9LX&U#$ZL+@{Su$ zxlwou^~6BtuGea!MT{|(M>M^{L9nL5x)3*jsxoj435@0`NR8)b6mrqHbM yDRxSRrzfyzN7G-3GFjAet+DvzOCa8ue3G?f7_VsFlS?H zzwVptICdkIe5<{8CuOz?)w;Fu1VM3bj*p6NS9;$7bZ^JLgjSBioKkz@?-i6ycUe;j z)-ho}sW`%uv2=^JkN0<5uE7W^k*$tt8U>B3VMMCxzxC^K^u>|d77|DSodFDaeu%k! z_t2W{Angr0T?OM1mtlG{^fxn{xagp>PzDdKb0x#l)2BeqI)1o8f3QYTtl*2A;MRho z;xp8*1V~6Z0AJwcAXz>Grh}z}ksK$6QbAiF Ia^I{9 Js? Ip_Tjq%mVr={q!X@>IO>HfTlaj2Akv-@%5`&~20 z|E}%-J0;C%-uUN}WYYWf&X-*c00mC8T6}t@!;^W&G4ZrDa4wgo#fl0qDtvuw$j|y) z6n+O9#cfxW+8c@By{q61m1i|M=O;i{YWl)-FJF5r8=l|oI&nC$0CPZ$zdFW@7Wzt_ znsG@AU(?Gz>iMQ><8Iwf>??lcW8LBKXc#4|c VW<;T# zSf^mZo+^zwOW%zcWYU1pr2mV=7n+PfV49r!6YC8`qiMtlpjOK3B Dsnec*;pAdF2)m!NBXiuo1G6-hdUXWO}LMy_BQ5PBxF9+=hU$c zl#uVCp}MCgCCLv^Z^`q6v|Eda9guZbICkHFyY8Oj@(ty+S2uCySSTB%4&yA8j y(Z;9d1QU?wrjzyrQrdtaLK`IEWSPVPL2ws$-~3oqc2iysFEA8>}t}} z5wR@d2??t$L~@L@z~p$7VXzp<5VcrsVKhg4j m$W1zTbku5M+~JRHlg2ts}wjtVlGZ6IHG@yt46#>V1 iCK2}cE|U=hpjIaXclJlS9e!uF%iUUH z+#ssiVL`P#9086R_{dz&SKIUahxHz-g=;8dlf2 &1I#P5mPJkO(izo z#Wb&*SULi}xuL4niP7=oppZ*#^fdaajpKr{-!R-73hktEX!L%< !#XrC?8uL}%(nP4A4KNl; z@Rm$6)Ze6Kuk-OI7x}d>J<9RJGhDdQ=l}B`UgDV-uF)DE!1sc8%K0sZy*0$IQ|Kx~ z*`j5ZDEe1e+gfJmHW0QDHc>x_FZ~R!Ly#T}`xL&96QN~W*!C=zF0?E*R*Lo7Mob6s z8+aEJZVh-p42mFm^l&F{b{U_6=sg?pnx#;BwMgT5228)=K(pu}mKZ1q#z;_#BZqxV zehw0<>Z(S_kGBw4N=T#)w5rCmuo8-op^6nnyvG-c&%t9UeNYT>9wV_7mGgL4LQ$Ya zi7Pxpj+i#abWqcY1+`*gG>PrWAhAY47?T3^t};eLeTAgd4nyBmBKwknk&x(2dS rvP_#B}hq$h!x~JM&oE#Yv8#h1WHl1aEm+grabc0 B!;$(VKsMKD;)KKKEmu_~|ze)urmA&+FV@K>l199U<9BC5t!{iCY7JY+QS zsrmG!gjA@URLSu3f!W6S0g}yNvblJiMNEslwLq&q$IyFR*#|$w+8n1{#5mMu_^gG= zXF?)=K8M&&%!5c#h9Tu(4K=O6U?f>E=x9f{5hSmAO$f1j2(=ErkG&tIS(tE#y>!yK zBhT0Po!r=WW3DqDJ8`G`-) l?*G8Px+`G2pjvsRAMZYD8NN%l&m@TY{`CIx6y=NsW*ABzTzi^%p# zltv+>`oJ)SlM`!qp2SgxoKa82__^bk4pnV^!{h5K_=~B!SbMIUireVbw--heh^!B_ zqF)&(BaA#z3GsDB#O8CO<5tTKvQwS7X34TiqbX_b2(*%3BZqe+(HLoe#G)tIQ-c3A z8J+6Z*Z(%zdEQJti)Q_S (Ra@q}?3PgJjeZ;Vg97yv5BPcRCjhbS71-fK0!Rh3|gDQDmVya6Hl{>% zoh;wr3txDEhaa2gCqKK&*0Fg$^!_9K^IyA{&5f6MbyYEP7%M}D#dUh?XVBp_v|I+= z!1xu4;Z25HS5UWt=qjq4z!1>@nbD}MQI>dLqNYV@x)`&MyggqlI9Ug8XOUtJEmyI= zkJloMnCXM`5ub+&p{eUYV80oLdrW*WMB|PoTTaBlN2pFvsMDDiBtvPTHjn)Mp?a@K zD3;|l6zoFVweg{ClmP!x$%1EJ0 $Q(77e56c8NjUQAxpxsTnjo1P=_ri^ z)*LTDPJzYi5NErnnFX0gY>O=42R1{pE=D?tY2k($Ml9AlN;cz!g{V%w) C%SLIB~0K?oWw1DBM#e(T*zk z3@ MuSIf-RG)bX)PzOyKdW}>ixIT@x6H4lVLqFK0A%uUOwC5ySGgjlZn4l6`D(u zYGwonLRGgSMHsbV7)UUn1NCiGO{?#z_j5_l;Jbn8XfIaNm>2AIdEpylnV8Nb741v4 zN@#dyX*e{({c8OyMT>WmpC4mu8w5y!gL54|XFcs=NNFv$f;9vMHZY|m@23sJ;gpYA z$K{zB{@1n55j=SF+6liu>R}$=5JtV>BO(*L^RT0*c()|lTG@ *W2dl`a{98Z{N~sGKRgwtL&Kj72;|8XLwKJR~XAsjY8DY zToyjOl%&KPhqx7rjms2kNBPEAuk%;mxyYd1=H!7j{tsEs oI=);B=aoI2>mj~}*gopE5Z^(ZMV$p7IPO&kNaFktD?6;bSU^cNBPfhH z*fy9$h&hbdnUI^{HVIIVI5%PuX+zeIzlS8%kihD(I>bq@g2#yZaBb;?N~b2nODKBf z8B&y+_+kaIIZi#!b+9&z6_$f{T)d+k^eKj`l!Im5a2a2&;ER<|6;*o?^3qUX{T8Yc zlTOPJZE>4OoCj4GReU8FNU1njBVif9C1sLm{G_VA2FQb V1BaGOl-OpJwaoOQ2mKj( z(F5CzMw&Q?W-^o1WLvkIG=gLg1kogg87LHL9x^K{=gfQK#&8Drz1Pyi+S}dFiHMt7 zg=(O>Rc>}OBTk&-$A|5Eul22OeP3*wg47#k(W@14O=y-7J96lNjP5rCdxG^(yyC_< zd5|$rGRBvS;*Ji8W=sW<`|g}89nvgIytVTN+|)yMwH$2YRW5eG4xuO5P@ak!9L$2Q z4?Tz0_iw1xfq)@dfUZ;mTDrvvq3zfW8BK%tFW8 RKuTjYg*L|wBsc&TjEOpNSn n+^! zH{c*(Iexta{bMldf7dZc^?7*eZ>*K%B11gud+_Q__9SxF5Pf)|?HH&01K#EV{e1nI zgI6;K$2bP7gSID0Hw#GR? g-z@Fp5$D5SO!4zH^qfU#LA_{PK=pVpc`#L(V zo3BmC`a#7&d?Do^__}N2_&^Z;=wj4h_j`ES56dkdSZRa9ID4FyW*_u^SDRihl$Lr; zj#Y$e1L~L{3R6W$r&8|}$TCX6j;CNVlFUrt{`-*x)ayH{Q`I0G4$j3)QO#_wH}u1R z7Kz$1m@i%xBkkw-4^LI|lRf1mSSpSS`7a%!Bzgb(FtWO@heLGcaqYE-!^559(?~ z6O>ma3*UL?eMcmvOw{R$-Q{asz4rpSeMmZc3B9-EtGf;V>EC{pzxr=}ijTbb41eN} z8t=b)Meg^c%h#~Y*J1c}aqU!453sNu$Oe-V{Fe#eg%UGHk z%xB$I?yul?-H&6m}t4Z6aMZN^N zhlK}(<;%2-m*|!+({%U9d0@YPOxnGRrY$knaok`{O9+jZ^l{UzP!woH_hh}s@)oha z&}=+;s5dt29??tC6{MD-H)7mjd4);~(jsv(_!{ M9{ae`ZE}G8C!v!`x!qOF@ zuFzAdK0@ua=t_mM$8>}H1`G~%6s4-;K*YB=8shS&Cb FI5z; zIB5o~!C2FFnIKBPzanMzCg^;Pm^)mD5Wyg4SEaI)Vb~&}L&BP-=}4B*{Ux^F60>5` zpkY}kQ_E6y6?f0J!2=>KPP(=Q`jJ{9W96a-o3ry33IgrtbvP$}*z59PssX=W+k8DP z2>ZyzZ>FHqruQ8Jc}HvM2*}i!$KNmG^IhnIBiLEQPOVbgv^2TbhWi2@&QNO(?#VGo z^#^=8=f_lH0?HXw>E5YtVO9Z|7Bvptw>^ofi9)G&jbO2kW`&bKh~KYD*YoQtC?csO zQdJG@I8yjQuc&-~wu1yf$>irxc=N|j`Tv|5KlaXsPv#6=$MVnqD}3i?|1Ey=;sv%t z%V+-BHGgFNKXLZPf56(_q3r@~6h0M=KX3tAFR_#j64S7?4Os%jfU$Be^x0wL%|) z8x?}5A^l@HzXY05rr@R;NR_=5rcB@vnf1R-!TIz(bIDO3&@%r}`MGB9v(v^HV=_3vE+I & zdFYQ+l*Wd@0}9RU=YLl-_dx^gO#P?IgdW^Gs%x%{6rsb xAENCF-J+)&`Iyu( zG#_Y_!iDJ-4DXZscM07ShW?Un@eGUZlx&7tBHA9yTX*2i8zk>ZX-7_1pckZkPT!wH z|7fZ}=w(64OVBTZFnHV~_aVMOv-%|Wp83Pvd-zeB^|OSyzzp{NCD%{B!}Z16NZOK9 z@ACXn2%&N0+bF@-;K;Y_AzzY)OUTzAgbBqJ*17GLwKTv6&_qg?XmcNpYY?X&Rpiht zk%vokcpn?y#nK}*U1I41(z#b%@PN+)&>~-IT4;fDY7Nt%IY>e)GTHigkfw|$+>DGB z#Fq%&CuvVUPPcxRc5x4hZTXsv4T+Qn`k_a2PiXHG+WW-Cn%J~R6QK!CWpCEdH00P~ zC_~;r9#CtM96_(${aK6VzE&=O# ^5SPT&$622JA?| 2tAT} zMEC4>ms~&o4p;Aeh5q78*#7H~-vTbjIqrMgZjNU+s%tRYAhM+ido*8?(j_?!nC@Nc zUKJyvG(Ih;Au0R38NJz?Xym*@b4G_9QQZj7!kQ2j3-{bDxmiNfpuxwK*bdDb7|yYD ziM#G*#y*#te9x&+a!fs$p4pmQ9w4Z9ElYDWX%43Sfy7?308|bsJL79d71TpWdbX}t zpOtb>wMSyEP<7+NjL%u63YYg*N#TR4%<)C~0f74ta=BUHE;XU4*D^BoH`E|~y1wrC z9E;joS> Ga+7^z*oF`zI(bIHCX<{mZ8e zt?`wYPx!?jeZXJ-;@dp`&;BXC_%r`5|JiTcjVaZ z1VR(|BR>K6{$Ak8wN7zx`5_c3P1UKTSc=k($MjODA2+uHE%c*#<972XnI#m3?jSB8 zSHH`j&sqD|9rO%;n@u#A*>_BTW6IJGj;C1Ie}Ja{_p;UfPTwg9LFR{|_}KScKe%%X zOx3lU$9zYkHdpU44h^?v96jVXNY_L9QKi7lc sZ!TO|0R@+#&y&; uR^Tzm_9L GrVF&cLen)lpJT)0k__zqT8Zn#2O@-LX;z=& z{`3D7XU~3?xLh!VjEW#3BI^@Q*U!_PU9fxdF2n9Irh7urF= G4%I#6OL96V$ kqTSgh<6BEzqe_R8ED=)1x>_J =b$?@??7{* zjP(U|PGCKzRg1qb!RdISWxP~Vv>Lb`(`N44{-7eOx{l8S{vy>{|2zxqXD=QGn`2-< z*0al>Dz&Pv&r@HbFvSplEp7I1?qO8rcaN`=-Tcmj^ZI? +i+9!qhXG<@UBlxK-pyixRG1-?(G qFf_NuY{->`Q|I8 $rI4uFvo!mMI-TSf4gKJtO%dXBIkJs2gqsNZWk*VG^9Wp0~{suZV= zCTK;!-6~2wB^mP?+(gCy5W(j6uuXl^N9Eb0tNygh6*vqgZ`;kmv@@@S*7fG->*mwd zQz=FBpXZdCn$(m5a<@)?305g+DfJ$gzp36x8oA{=@4miATzzH *V*_8~M);Oy*# zAunf5)ir6AF`%!qpkq_!K?Am op&>v%?g$KwDOP;A2M9O#jt(fDLfcr83~3r+$N+TQkECqA5g&x%V@U3 z$+ogE_K;oXGKUU}9YL0utkAebVha*W1!qGZ&fQQgU1Hg(PiS_8tRj*l?PdXSO^7E1 zSz*?rwKA)5eAXF3g)-=AF&0j3lHfF_=0#-jGA9o|%QG+i6mk6m+q@^oD{>R)ntL>I zN*fwtHdsGPe|1e07Mv{a6GKY~LTHSpNdz&hg)9M~L-maH$xB2L`q-fRfb|Weh?$QQ zQA#s!HMn!9 {u*17ER>s@0{~nzxISLeen&p zmk(Ip|2Pj`+A(b2XBggKRE7Gz#0}%*R3AI1wTbLOHw@c%z#3}cVgxKK2(g&Li8qE) z<{ObpYp4NZAcjDoO34N!wlpCi(h=eb(%vJ~Y70tE*GO2CLPOp)-Y>$HS5`{!>Q%bI zD eowFnj#k_iH=;zT1AE%WbxJ&x9v$J`W%HI~=TR zMs@i1-Oc}2s#A7+?lLXjP?GZ5{_b4EZwvCDQXT)k2f8x;*Tyx>L4oNSwmy!fagab3 zp2SK-W(h!+qM~NO1&u@WW`1##H`8L&r@dFD#>x~Ens0r1txEYGH$~5rsrfbg;dV#? z5}|j}KS7PxA1?Us|M u |)g6s5S-dI$cXWSbS&u60bCj zr*u%-c3Oxh7lDh5jU$kfA@t7O*8$<8P*twkoj+l}`8HSUPtdf_W1{5YoV 6LPSGE#cdRGNm8cjLmuY`H*oTX zVq)WgJ8M_cX-^1oQIgTUUn@-|NE=FnvG{X909$|*<(RNU;{&95#sf_23Bx6-msoHW zph|(XNn_J_{4_2@Dgl$07}vzbGjyjPgXMjC-sPwM5d5J({w%LQ+VLB|{SN#5A{OqU zTWIVaO?v`rG!j`ht}xYvTx6GhUd#mu?DLYgdzN4V){w)39M`aa1C>XpL`VVAYfrcY zrxC=6HERebAn)=gf9?hT`9J*;zWmkK`GsHj4F+5CxlezDKmF66=4XHAllUA7y#}6Qs+ PN `#bf*C#L z=AUKu`FTKBez-M9JXC3^=W!FcA5oeQvE9`VFkY{50sg&bt#cIo_oDtY%3<0_hB}xA z4-CU9g8!6<&W`py|No(jEv2e@I|^5+G?V%cOg;fMAT0Y(JGz%oyFW((`t085!DlDc z9u-f5D5^h`S(m>v%qVZS8IBz^N|yj}@~@cOv32%fNVM_@S@GH^6#((TSBu)!!P!`<9$rz)*IucC4>bkYe(O6DS3y1D)A=> KGrDlXqJ6?2`su)5`8Pkq^Ut@$ZpknF=&Ssf zzw|oi=NTEEAw~#GA*#@tA>zrK#DFv9CRg0h2EqWu0Noi4Mij^a2Fc{osA&>lsB|{N z$#N}0g-l|Q6@TxSzQad8eZnU`@gjfzpZh8PtN;0%{N3Mtov*&}Hh<+$e}+HvFMNa- zpIz`D{`+6$`kiN4ELL1c!G?ki-x;9ZRh_O?%t`~AqZsb5;T5@k36%F`Kc%U$psbNV zj7u~+Jtdd}Od&+nAg4@_o~CtmD8J*L_)2Vv&5F>jAaq0#FfHm*-Ux4b=Lw{GfE$YY zvp-3JTxG(oB$5*ZQ~s%s-O@B%fv3aiwNSKXw3V?B ~BK*x3(aV0i?bjoZA0U*Aw0XMHZ2Xgsrot&B&L4v_^;=V_79 z(S!v;Ed2eNAj~~d{PV&D$Z4S!B3{+brf5mDq)HH@zSh{T03kI2D1m=9sJtuY`a!%c zKOozY4}j7<*)t;Fz d(8 z+0WxQ%j~#r`Rs=qc^?$m7pKebA^yKn9Gs!%WzQdSKU4pHJz=rZ*7H Gn_5ud)DfS8v1oI?bp=C1(v~j4JALoE`?=ACw5p-E}J;qSArt?XC&Oe5_2>rFx9V z&B1c8jvO?hkLO(%%Q}UYPgYmG^1IUlD!NvhgUk4yOOV#YD$EktgA^w;K9LvYE(wMN z*Pa($xfv5v!zI$=&aVlw_=L?#sdRu@=V)bfiV@xHsa+6*Q>C&dOs}zg>0E2|22sfy zSLb1(#E6_A(G_M)TFfBlOp_BDk|#BxnJIKgAxHRi)^c%tI*C&tOLT|T1xR}zYc|Bz zs}Lc!SYCm&{Kl_5;nzO@ZFc >1}qPdPDr{$gEytQ3eL`vE}4+gsmZ?bu-j5IZNOHDEj-){VA>*KNe;aS zYa#mQM&x#h&>?X}jL*`v&k`2*A+}iBko$8)P6%O#YEO_Ju^l3A?j`05S1vD^%UqkV z_6aFJBBe{#>&VAH@p1m%FTTO6-}(ms>R }NIVjiZNF@ZiM_Cq3@k 2bwtK=bya%h7 z`Qq;;{*(Xc%lxH(^<(_>PkfALpL>>H`ux{;@6A{E*6)0YKlc1{{KzMt;iZ?)`0AU0 z7Kh#vQXd9=^GV|PHM!;IIr M358zdyG!22#wFzIuzO30nI(b@R&S2!O|5vJSO)~kh~q|9kEh@(;l(nl|ktP z%0~{!Hej~rCYSw?@-y$tvr$s@m{Rlo+>ZBKuYUtp`dGv(9aXl@)M;dl)Slu+azOFn zARPFC;*`%A0f$@gN=LmX2R!}K_b~GDOSQ&2|Ct6tKtrMYg%uW-o&ZQYDH_#Yp$b_^ z?P)5x>_kl{)m=}})cPqAEd3{9dmmG_K}H$l8u-^rQ|2GdxcMi4J8A+JR&VZzdnI)q z_K668^V`45$3OQm{_4;DGyM9uR_uD?(=RAL{jsm}aQio0rfw$D_=Rs|F6IruGYZ0i zd?Os(x2g_=Oh~)V-mBvelOl^26#5W7t+W~sfI S)Hqa1T=bT$uKxm2agdh!S$}n7@dQoIAcaV12 za0U6=dCB55AY%dH42dgu%taw@N&OW*$1Kr8J&+j2`{GkZAj>RP6Bilvd8HVli9l(v zHQl1xlXHf_XhY!q@d+uuL^$dB+PB`||Mnk!gMa(q`ZPcO6QAO9KOXtzf0$8Cj{e6r zO}nC5-=|r1MZ3Sa|EjC@>^JYTxqO!X>f7k{4Jw3sZ*`JE8s^R$cS35y3FB&HoEYqGSEt_ap+wnKAi8V{jR zF-zbdayg~}(Q9;n&i3kpNAI8UH~#i_*mEE0KFh2Bk8ks@zrW{y`KLe4NB+v1|L{Ng zHeWw)5o`r)!6SdZR0b3)`8u2%XYgZCvzuZ%g)kn0-;?J^RuY6L}{?z&Dn&A z4OgC|W@W#9m(ArXoUEQF o@4m%<{MuLe#E-niCq8?h&wT2m{Nd-GL-xXd`FG#q zOJ8}HSH6;wp(AZCJt!Wz@OMof^?94~-fQKlP~3c`#FyR Vym^0L(Aa{E*D94LNI_;tD#pBDXOerI2Y`pPoPSga0OMTj$5i}0a9;$G z#(x%1l+6Z2s$6cNnpi=Y>ymy{)%b&pKWEh>o5W5GnVoaP)P&o4a4(g@Rb0RkpBJP- zigUSyfP18P;yFt71|de@kJZ;{NEFH_I*PoAW{^VREbDg=2&QG6`PlJsRFHhjPCwP5 z^r7s5O)<{vXBC(kUF^77?uXll+71%{5xRG`EZ@B1`bX}S mA-LEp_qSHK+0nLd*}7n 5oAG-NRzG@hR5je z*irwm!QwTfYb;%r0Lg=RiD!hcA~q3ZPfCxmoj|^H=}74SZ`3C?gm&R&>EQH;n$V0? zKBk-Dm(H*VAx2DvoHAzDg@PZPQnD2^J N2y^g6^=~dE;K#p?Qny zhG2?NJOga- 9|hUVPy`>-HXDFoGCa zdxq3wxkojV6hh(qYTDB8uh{RdNhx^(9$N?}O4mabh9B#?Fyv_-6Au!2}-mv!y; zkGOjGt2FV9llz|oy~o9Q!>@i``IRqS(lu|fHb3X<+|ukj*12VW{VLn5ucGOis)Tdr zjALO6u58kJuM~$dh@?TRMPxyc4z+@2R)^)0icyW$1T>TL21`N+hG;@nu(U(_3(#wV z?a(}6Iiu1sG$({^jf6EuOD+JFXpap$G