From c0a110c76d8d6f860956f980d91c1e2f4e4ca7ac Mon Sep 17 00:00:00 2001 From: Chris-1010 <122332721@umail.ucc.ie> Date: Wed, 29 Jan 2025 14:51:04 +0000 Subject: [PATCH] Patch: Fix to StreamerRoute to correctly send user to UserPage/VideoPage; Update: Display Category Thumbnails --- frontend/index.html | 2 +- frontend/public/images/art_category.jpg | Bin 864181 -> 0 bytes frontend/public/images/chatting_category.jpg | Bin 3446505 -> 0 bytes frontend/public/images/cooking_category.jpg | Bin 96968 -> 0 bytes frontend/public/images/gaming_category.jpg | Bin 198592 -> 0 bytes .../images/thumbnails/categories/art.webp | Bin 0 -> 520362 bytes .../thumbnails/categories/chatting.webp | Bin 0 -> 3229034 bytes .../images/thumbnails/categories/cooking.webp | Bin 0 -> 72728 bytes .../images/thumbnails/categories/gaming.webp | Bin 0 -> 152608 bytes .../categories/music.webp} | Bin .../images/thumbnails/categories/sports.webp | Bin 0 -> 97206 bytes frontend/src/components/Layout/ListRow.tsx | 4 +- .../src/components/Stream/StreamerRoute.tsx | 5 +- frontend/src/context/StreamsContext.tsx | 12 +- frontend/src/pages/VideoPage.tsx | 2 +- package-lock.json | 165 ------------------ package.json | 11 -- web_server/blueprints/streams.py | 4 +- web_server/database/streaming.sql | 8 + web_server/utils/recommendation_utils.py | 2 +- 20 files changed, 25 insertions(+), 190 deletions(-) delete mode 100644 frontend/public/images/art_category.jpg delete mode 100644 frontend/public/images/chatting_category.jpg delete mode 100644 frontend/public/images/cooking_category.jpg delete mode 100644 frontend/public/images/gaming_category.jpg create mode 100644 frontend/public/images/thumbnails/categories/art.webp create mode 100644 frontend/public/images/thumbnails/categories/chatting.webp create mode 100644 frontend/public/images/thumbnails/categories/cooking.webp create mode 100644 frontend/public/images/thumbnails/categories/gaming.webp rename frontend/public/images/{music_category.webp => thumbnails/categories/music.webp} (100%) create mode 100644 frontend/public/images/thumbnails/categories/sports.webp delete mode 100644 package-lock.json delete mode 100644 package.json diff --git a/frontend/index.html b/frontend/index.html index 8a2e42c..89ed825 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,7 +6,7 @@
fS z*SoCL>?v7x50oMn*WqWrGgy#a1?M!--#X- 3>u6B^V+;&$H_0);QhQ40kslOnuN+>7nvGN5M7xKViUdT zZ^p^QjLpO4eK!bQOH!-r!F+nadOj5CD;)HME$hK;jXRx8{|KkSZMdt| -<*8fu*`shFuRRSu`~&F5SSsM@UW!bLQV-IM#&`?fLVIT-!|VREUH%%0kCF9|f7e ztA v*>&y5jQ5c=m5hurx64-wZ2&m*f zS%X4g*ub}A4blnhG^+dB2aQk`xy5O^K68_Ok=?5DKY1dvlWJa%6IKf6oOPz{`3B7E z36o^XD+K$pc1XqkUoRV@9Ug;n;J}nO2t;&di_5GtGwa;U9g*`$^TcrXk3X7U8Dl&K z+JeHqDnKcad3UX)LzSAUdvLKlSsnNYw3EO-2V?cgk_n0R0 JvMTH61wuaEs7jXMx-=jqL1Q zJH~_y5~X6ETV_p0k^yB&JXN7jAr?xzX*bSqE0%-{>({oMdwR-bvrDu$2HGdo0DI*J z(@Y&2(F>0z-CHYaE_&2!jIX2Av4hQ)&9Qt?z`ygCv{Ud=qRBC;z1nrn0bNVV5-6+? zb3>;SgqvdJQesH4&Fup96L1mc*8(n(2Vnk|z-=&nmp>-wB_Oo=gZUEmP&q6lZ%!!e z(8Q+%E$FG7X36IegqT~D28>T!UOSs97a*BB{Vb_{q`^er6mD$2)50>Lds^xbvryT? zt7xc%Mbry$1M->v8pu9)54cgp-!`8erZx z*H=QpAC|rTE4I+gmw|@fn#zxFrO$5tcoHyigE{H8lf%RJ&(zOjOurX@moQHjgJG$Y zsSlOiKzr0qUD~8~179DhUMV3E?bT;W3NoI@#PrI8 q~W4HWeirPH!~CDTUHPSnewQ%iq1SU-8$oh{+?c zArV~;|MAys1XgLMdIxn#kgV>PjWxQsSwIQ&W9byv)?qeR#R^9`y!aTuj{_OZiK+~> zD3{Z m@}D1J6%Vr2P!09K~AQrI%tI4j+S1c)c3wBbml;o ziaupR8nFouy=Z 7Laa Ot#dEQxAH0W2LTNAt=et1t$ z(UiP!#@`y2<1df_5&1BKzN`Mg=u3 G#`VKX%3Zg{VS3*C`Rb$2gWwIA)@S!3YumN2h6bt@2pux%Y &;f#W znrTBr W!Q7LXW^<7jL9;2*zGNwI{G#B|kk%vsSfSQ_YTR zpGrWBe^#rf{OmhuOS6Ss<~S(xU9%kYU_mokHHGR_4sUn$RRP{qQfBsklp-fs7x{(n zUGU2AF*B#{r|eVPzV201oUJ`~ee6H=#8MHd4;Mj(mRbjxwSb1tt!qc8jsG?PY3;KY zbOH(xQ#Pr>O5Oj_rTn3jX#sRd@gq%d4IP%fXT9gSb6#hta&%mj5)9?QH>+QiMk4Df zg2{y@O$yRZnF3d@RKjEnwJ(R7@U&u|#s)47dxp34s{Ccz*wl@b+mAXd{;R92;rl#V zOJQt?ezvTYF6%0TMK`QVo0S=sJ3sW!{LQ(?JrUWgFONTQ8Thn~@PzaWgKdZCd%9wx zq|CZd09B*Qw5i8 s((jJgEkFE~xZLbF{AQfyaLSV6L4wrN{wf+?zSyv})J zZE~}!Cppcu-{-(zJw4Fk?6u64{f7OILW6eefPTL$l!HG;c0fM=v>$2^y{LD&6Tok9 zt1;9eXuh`lW@EH&K(YEc@Jc+#=d+4V@zr*`s?v?fQOmn!d=sF=tRn_qbOo%4bs#a< zw)h0?ed}ZDXm%v=IgR-09y&xS*OS4Sn{rhnlnb@Z>F4NI!tB4uvLWV&GWv0zvG!JD z{}6t?JS~l6p!Hpg?Gb%`YE`$f4|`7DvAahm{m9R?x@`bhpY7E&H`ihGY}%-yKcgOt zN5tw~%Jl1sWD|y`D2g<)*qE##%elvRp{`4KSx}i$EyCno=+Iy$D=^>almz)cJUXH9 zt|NYPp(AxPZ)+*Oi!KeRMXpeANauC-FcJqpJW_ck?_cRHNRHWN& Od! zE*`JR%Tt~i<2lQwEb6K5ar!By2wa{$ QY&1BD98S`5G z@{n(_ovGB5%<)iA7_!2wCm|>H)~TL5U0q lr>SX(96Mqy_i3;lzR)Jn9Rnn?{ ztv~54du5yu#HQOIR@Nyn{p|-m-8&FxD*&9qDHU9(-lo9iuux% {YO2$Di_Xi0_^}amFN2 z+-=dnTehIrUBZt93&5v;0W7ah?0j#-AeWSp5`o6WtZ{5T4H8ICa5BIY8hl%4_WZW8 zq<(SRq@es=2$W0gf#JP{t>hOr d-ttb{W(tm X=CMNE@CqY0XP0YNg2Aa*v;)91nl$CkU~MH)~Sbt%wbmlxjte&F&UaNAH$n zD&LAey_%==QaOOz&x*^in-eM1sB`mc>x8!TfT+l;oT6+ye#@ws4#ir}{Ll3+Q}xR& z0l;i7JQU^iApdx~k0YniKRy{_H&&Mtz~l~~6XkNDb121qdupUSh}v5g1%yn6^aM&O zE*!Nu_qYi1#zvj?JP%g{&exk(u?^OS^)H1bjCIDt&akKdHt=cW0}VQ#dMO*VqV2lU z ze911&XUj^1U898VVnzKLb3!7cs47PcX_(9xPXu-zyl%8L0r&2gYU!^A+#C~GtE^dx zb|MMg9k6*U=aezHsy2fz2kWc+P`tcX_wt&rejp{*M(*gz&> Ivz+teRiw?!gv%jgAd>Q+8u z3e5JdDMZ+GOvx2kc87Ju)h7*&i2Y%%X+mp%k#_2j*~b^#XF^UFih4@ss%L9N{E8>q zeP=D4_{p+1y(sHeD33hejrs+*9=3UfQn~1rTjz9iN|_VAN*4~J0!*xDy3IYt5~C-X z9cEgFz3#s{tq*);v0UDN?@CEY;RV#tJ>3f-4Se(mh{(U-_c- *0L5@Wnz(T*fpNlfVtttGigvvzgUI8`hj&n kC*cW-aqV_6UF$5iMteb~@-!Pew&1R9r1S91uuW+=7wsD;YaR(@C)WqvZl9{Gjx z_Gq$)B;HE!4(Ocl?^sisk~B2 Hi+o$09;f z9?4;CD>Zk`Zgw0l!3HjduaY@?wHg=*g6W472)ogn$KU_?WeA)!RYQjBBu7rQy~?@4 zZ$IAOo;m3xQ^jQ8-B`a*@OnP{E{E4y@y-AwYEIH&(RwCl4u?1N3b~sYojy4@JKQaZ zap|~cnf}
g zjY;IQS+mLhKYN|FlX-G~3l#kJL!7!QiHxP_JAwF_nW?=WE%^LlR1865Q%{f8Up11& zNciA`N~5``+Zo2;dd(qUt?q1qQ1<+tAjn6H;^<6W9c{`!k`-oA_Cga$@EM~%4{KSs z{K4J+=whMSLZ^m9Lc(Jmu$sgRV*NxhizGR3z}arrR9l9~b_E?MA-F{AiUjxM&wa$% zCVdd0ek$qIn;sGT&co~`-n%#s!#H*ruqhuF*JfMjdCE*bAJS<*U3O7f?d9)>XMLFZ zO-SgXi5{*g*wKIBx4LSRrYXR3Nil6=b$eodQ)P ^W;9aTm6nEqFb& zfWNN-1o+mo-||-A>TO$pR98^vDOf)R`|uo1`2$EB3AEX$B@V*zQhl4Xr~66fJjA*4 z5T<~A@4@QH %KhEvG&+ zl{^H{z1HS~r=CR)HDV@i?llYBMni)FW1~<$3T&mvQ9$@#SqtIN#5IoAR3uxomI;%X z$$4Ck*u#gMdkx&w*S0T*68D>#w|X}K^(T`$RS<)Mfwm;#^(Jc_twoYwTw<~?F}WI2 z+|xzM;rBSk7Ac&_4@Jo;q`;(zxV+5SEd988)t!dFHKT4W@mSJL&`+CQMx{cFnp%bm z>z}^KfTT)6%4@T6Q=j8_cP!_>9mt!TwlO;idW=NqNE`0eT%GS@igI)P9<$#)*WN1x z#Ut-Wx{a{fRPz4TJ^441(RozY-u%c5)b$wtM_Lg*%A`9F8YEqla9FIn@MQdeQ?u1i zO>0 MaXKTsIp-huSx -s}xgidkO;p|PhRfHD|gVjzsw&T(23j?`0; zw72rNN>=NIVW<3Z<_HbiO-sDaWA3U~oefSN^x>F?&)v(LO}GXUP@6;a>N|Elya@PX zCU05N2UXUBoazjftZ1xUS6Bi%CO7?5`&&svL6h50;ikOmto2Md>OwSGt(dtEpcGih zHov%^`C)7{#CLk5`)hl!9eZlpzohllvCu?8GgE+`_M3=!E)eJsx`#jFhJXC?#{)&j zD#_Bu1)gy22CvjE)bf(Du%;DZRc`;K<8yRN$^d^JY=QR6w^f#b;sczOex+KHf892F zmE{-EryvY|xMOkV#QS^}$Hu@O;9#j)zg*jcz}w6htG(-rrW0YkDn)W;Q(ysVOa-Xt z5wBc6f60)E2c-rN*1jJRMM2n^Z@oEf%XzSSvmn?7+*LQ%Y0{QcG~ri1U}&M^ULAta zX@*( PF{+F^Pi-(O`)YHou%3Wkd7j@q)o}?S39|Z4G2Rp(!=4 z{N!#cK2+0qV;}qKTLYJYmo;&T3B ty`S3?)o~`77_VSm% zbJQ!}ihM(-OdBpIhe(BVS+)y-N_gEQ{JKH|uO54@upUowgQ|`m{Re~S7-b;XLf3h) zQ|@iWf=UlB=L-BRo;XR2X(yYXE!n!4ID28pf$C#{m(U~h`OclUJ CP0r^Q|eg8Iqo-7rq3lQm> ge8jRDeKZ`#r*h1^+oe`gT)k}hVRmTboGL*46_L@+e41%XAB4qsgS*_6U7bmTL zXWzq8RE(Tx@qnf2=c$djiB{a1%8OZ!DLK2{0Pq?<#74txgWtY4Io*1k7QMN3sDG+} z1+)2^iOa<~vUcN{_ztZd4c9@FgDQhuBjPQ}P6#$LC5nHZd1+~1yadYG&HbDBO_NL< z7>}%MqJvnB^ZT6OOOq?GS^B<_CFuQPB$FPmnpFgwYwTdJYOjRInkGcZudvs9sv`^? zC+&woMis+lo!mgt>%@rWoZyVTO9A^udjq zLM98xkIli-%lq!o3a(*~ z88`p{Gh_~=tyK`=g^r<8s~LB-j)f#{_Kn)^if5Hx%3S|D@Rr?x0w+|C2LUf(TXxfh z<+zIEx%+0x+%pi?y0@lESQot^8u+`GMcZr?T6j0(I dOe_|ByIj3qYmz19t%Ui&!U z@l8YZ))>{(n&9wJSKsoaq-B6}+0q8Nq$=9nd}}wVTA{VM3A(?~uBkmUCAC@5V<(?n zvD6^evSN``)ptz0J4&>;b=9|7g)cx`TwHJhN39#?y02N7V}hL_Sx7zdROotyfPbY* zt!j&@kLH?d2D+V6A298xPhMHBc$Sk`<}&PpPIzbDd$%bZCK@rng0G)rm|O5;CU Caq?!xs-Hf7Rh!K4+=zR%w2pJU?xsH%>) zDMu}|eqiFC{$9a6gHm5mGzc$34VY`c-Sv-O%y~w9 MC92 zyf(SE%Yw E$}Ow{Q=;P6@#LZYmI0=laZxOxe?~IA8eWDivV;w@}^z zPMG)A+rBnbbFY$>O)@kT>@iKSd#TquZ*T*>lF7m9QG#xd0`k`*aIX)68yX&Ozi6>k zBr0#nIvHUQbX|-}m%7dBU2DfRT;dw%;c(RudQ+Z7l&l8oGX{HRbZ>5}w8g;HMtqA> z21!=tLiT&xW4_KhuYtFiEP=l>c-p&ntzF0vpGi!DKkcdv!0$$aMla>>8b;?@Z?17A zZB4gZ<~4$`{dui6E6H_fQAo@M -m&8WDl)`2q}`Gvw$Oxq9{JaN zCB%{n+_Hdeg_8!J#lah`TNj!w?13_34_A?)MIQt$3%J1cjg8hF$}E0QWt;dKP1uI6 z0Y03}o9jhrkk9 KyjjlZV_ z)-DW81dQ#NUa1Fz^9% Gkok3?sfqw<`#vPa0>LD9k?+dse 1w8K5aRg z61T5_t>Mt3k!s9{*1!$s`cISJ4JKV!I2WFN3gP*RqTQTS+Rd>~mB}oYmYtML-4)UI z5B!Lrbv0E2yi)Gg5iJ8_RR?DtN0@Dnh+KIIL|i8(U|d>u?v|JA9o?mgD^9DX5{_SU zQ=x8w#oR|;_Y9h{P7*+65S62E+{94HsD{ZS bqT6!pN{P za%;G!j6dczedC~fjz?}ehB~(O^So@FKFWnC)zRt^zJnD|<5D-z2z93vbXk{5yR@+t zxt{8C+N=B4HOF>6nudDDqc>o!1F8m6O?j0jSSr30S1Pk}o&&P*c_ywW49UK8pvJ!! zb#pcBy%lz+#j>qXaq%=s$=UR!k!@3ZOb7E#w|iEyz#M15 VOIx%t8}^9b5S! zG@^;_X}F!nI!MTHTw9nshbTGVOxs$-QaXLkWtvU3?17_m4J_OV-Xbg}Jvu7+1DhgW zCg; d6M)WuP0<~6xm=g=(G?-`==uFC5 z%Sm_hl-o%7MI`8&;OrWsdlkfpkkoElx6(fS{Q0C$Um=3q J1(maOpcA9zRWhg3A;w9rWOJ zJq@jvj|;L@#Xec~^c0Nfp25D7$@{IXD+-sq0h*>!%7V=|M^sdG=x;-5x1Z*F);O5O zBLP ;@lwInAKfB0tD9M6f$C zI*zpE4}&Cux}O@uvc@w2#M?TczcB&PrzM5)3iaL6N|&U>GneGLy0WP&F58VYqN=Un z!_*0Yf4sQHTo%!8zi5GOLzZL9M!<40{-(oTWNyXDDMvulJv@P+8D}T7xYMyz-f6@y zSlnOZTM}&Ei10b-*sOFCpg^6+hCV%s@yLt*joN%@D=V(c%Bs&uCK)P`>%q#@t#Q0< z`o~837)`r`Sar+B?h;qr--GUcy=TkX;HGN&3#w4#=)IxEzI&5i(blAIz)yXAOtoJ@ z$kRoW2ayo@sW%>M?KX}fiE?a*{51& VXc7!6wziY^@H@6f?kC z9_E UC$)8&Fu9Nft8|>Xx@@E$gkbY0Y*kAO3)tgBWrJ3;AVasvEylpYH?m zbdCDg60gJzf9FkNITofNPdZu+R1m}sxhyiHeZ(z`Q@9fWx802!*sCYI*N>0z#iu~Z zS|91UWZ_0`>koJQ*kI_AtyG4>iW+9$6y?@U$=RQ$eBq-E@zrYhyDUSoKlZDnO+KOQ zhWEvT?A{V~aCn2{8V^onFEqT>?LbOyQHMXBBPS=-aiL{M!xT2EDxY$L*T7vMygM{_N@S z-rw5ew3E1-= 3_RepdB7cq rf6szgfoXGCu1LSq=?>cn>yQKG$_{t{5~89RRNZEWRMZ_1 zCt%3SOE%oi@k(>Gv+{CMdjVWmT5^OYgLRB@f NM^!R4VB%{w%`qhk! 0QA#O&h5no}eZ2m#2%%74G#8ETX!OD2}DRvW-?;+-$~Kv~^A;Pfcco?$Hm=?0)#2 zy;)QAI*^IIE)zuPt_~j6Y<3!g5p_QemVDS<5>^j4ht^>WV2ywl{>69 OvV0o3&6GiA|Z)V6qPQYQ1d)S|j1j-M#FX!d=1QF0(2a3w-xHRZh1Ou<>jqa8>S z?>AoH$&v5!{vDU;Xrp}0Zz4SfXUjVI&Kk7fRD5m(HST?S@Oy07xkIFLo&GV#Q^*$c z=@Btw!-jC`*B$%dVG(CC8eO(1S~h>Q&lHjaS|x5KC)e+aIy^R(-4*)r$$H44&Ufq{ zsZ5C3dS=#CEe)&$a9|HfYzvX?;SuJj }*MqU6^ z)P{|)E>uphejF*@T8^i_8<5*fNKnYjeA3{TIp1;KTi3sdRu6Yfw; 5a{2`79FZElT9fWIIl6*%P-ECfc z19(c~%0=Bp@ypid&0M3#iztmq%T}VmhK9 CFt z(2B{V`EEF(kbrVnfN8+weUGMCdH0j+K73CrWj9xUF ;W*`|{lrdArDcUvVZa>#0(U#{A%{o{`?(vt-c0_u@{uHD<+TE~G0W)=H19U2?=r z$E{sX;vRtcb=SPWzqyU)00W)!qNxkkzHFyw7Re$WGckWQ`rys!u>w?fb^hG5Q-Ruj zA?1F5_O tA5#7By-xL}bNrKObjxQ=$IY8D_@afnttW)llhhbH2 zZtmVLzm1Vx&b2E}h$UhOsLcUfOb%pGZwx|U2V=e;qLOV=&%U+0w (Nu(5B_lFmKg&x7-NEVm&Flq(5adJa(-&QbcPpWn7COQB8H3KA1<7Q} z^>EXl96wh2hWto!r_8=Tmf9*aEW4WTYLM-iA1?k_cDoVFV-BTQneMGX{DUtfx3UDQ zl7mCk4mg^fxbGsvwXe=(WZ4z)c3n?`M2CZT`m)X!=JoHFjhgEYNG0=IX7|(f+l|Jj z^Qlx<``!bXcYxHs%UK{~KDG(1^3#So096`Sd;a{bCC^SndKwOr BgmgymQxBm^_g^>oK0eLM|;n2cj3pU>7(wnUtE? zEryitmib{QZ) urf_OI|RmYxUd zFz0(uI`Bwk{O#Y~hk*XV8C-%>60>J?R^FK}Nz?0bn zt!t)vT1 ta?i0)e9wORn zvKt@23O0QWooi?^`F`W!I_MSV;bp7_$;;6?W%Y7BDjAgi6sF1mys=v `gN)r25KuDnpWYC=NQYy!T-(6xR8dr!; zWrjcQP(5QNIc90kHKIy~@U7}n-s=2;?oXNNHJ25nhkbL0x)^>AK^c7N488NjA4l5k zJ9djGT$T~u{|b8RUSn*+i2b&M#UthMOVR{| v8y;S1v0%e??wvaIe_ z9o_$Uh_02S*r$Xrop#dQvsC@4e}o!fP0*!4!DE z>GHs0Oea72CELmQ+seFDKqwm4&j?g{xaNomd!)R!&Q}dsK*fz*gv(ns8pwHkPq^># z>9y 2@9b F#46oYHmVS6<}>bs6Z2&-DxrflE2bp_d|-bDyU-&_Y!yQ8>p@7k}`TClp% zM3RB{g}ZdkeECy((yE^${7(NzCwJN?I{1^zti{IGUXR-hZuJ~59JP@_QNEc1o#B%T zLl=)I0tP;NlIGpsM#VOnX3DkZqqy2GIQvJne0s8SG=CaU|EILwI5{VuMIs}m`o;+W zNr+gwP_$ixG=$WzWabFd7Bzx3pr&;y*xLNktkKA80!AVS^GZ4n0$?=~th21(XzkeC zQl6Tc9krNa 90!S#q7Gdbktf>8fBH@x4wvdNhP+YafbY)5j{fFs## zaEv%pFu85JO{1+<-dMT2@S_qgMJXT-AW)4Q8w&K-@pWddz=_mxMB7dA&E-U@_DJT} zDP9gYuA3=(zD=tXc?a~UY?RdWjNWK%Z;XFPUU9!71fFei+BKE>neIwhsytXv>Y^CT z*!^A*LBkQVT?S4<_L;BXb}e8fbZLpisXp+o{LFiy7XSV`!#T_&d;v3-y_Z`fkOr-A znQ_opmYTiTsGW^=XI&rz)-B|uwx`!;wkSVnBnHSe5SD|q19IR1hKEuRpB(#wCd+lV zG5HU>rFSbOT_el|g$0X^);ca}a 6~2^muIcz z`j?USnE51uMUp|5BTj3Q+ymY2^dM3%cM0lp5Ajz^5=OVdp}~fMm+cwj>-iv&MiLcs zjrr7ntRqsh7rWf>7}`1&rLau 12x|3Gv1Ehb;T;HkIm6bDt$)Az#$E- zt)62fO}Zl?ZMEO`TZiSYzgmUVTy{R$VB+!|^wZ k z`-T2>ps7|h`d&D- 0Pyd|9xTAtZj0ljo@tyPfFR?Uwq zf&Iz5IQxS0QR%Y^z0A2z&`wkl797voR9m15d-Zf_*6#R)LnA8FV)6L}{S-mbDCQtf znPfZ3NCK0P0vm8I*ps`C)xP#1)0{S_M?4DL^|@4p}dO!;#M}i4G1v%%U90Hnw7v zCD^2N Dv#mt=h7 zLMtpY;5J?33wVrn=3{j2^;->sRwWLnZamZl1cT 9+8uy^tNt#FVl~F-d0Wi@TBeq>*8U=gH`5s7{ 2w{=82&KS&`}aLR ze)dvUcH_ rLNq{d0Ygon8nBsOlDCmEBHcmy#4pn ztltBA&?!9`lh0!FErZ?_N+Mm6GA}}ZLH@3*p{4Z9^x$&1twI5F#?IdC%;bIKXWgX) zd-X1)(<-O4JO8MjiJM!RJ&*O!wtJ+g@Q9_`Y8T~FNF-PC)r}Gu_SL?o#k uk4%6e$BfLW{rx#Y7@xMZt?Bz%krV&O?E8diZ8WLk2Q%kwUu4jn?e5;OH2fp6k0( zVWa&`%u_#*J?3LMZ_ZU_qc+65LM=NLeQk97h1@%lf9u^Gm>i-54$nPWD%mFo)>GOo z27?KnuK%O+qt&!%nd4Tfhcs)OloX$;LGWuhRq;~p=|XA|)@B^M-VZ}5I -CTu3v-z5CAEzfR^9*I@&vy2y+RnufC;gu`V2Duh z%AGC+{}A4C+v uci+(2#N$dG^T?L9w#^-P~@Fro#q#~ViM^j`vhD5Ce-(+LwT?M7#8it4l+;?~rT zukJGdxv^MBA<*YIP(qPfZFijA|KsSpAK6^r|Ir#nwf1)Gk=Qi0){0s&6SY;v3`IiG za;o;8K}77m#a10^OUzJ0^|Un-tHU~_?fHE3{{8{aFZXj_ N(BFSqGRs1}dg=X*HO zK$q*FTZwo(rj4L(NK9C}&d=JvH2{GSo@u9~4q~QVFYCN2@r*ZUp_=T;hog|?YLQzZ z3#MntPa6llGDUX!0n=ap>871MJBZ9O8$q?aR%uh+*dUYhLFBjN<=?E1c`@=a#JxL; ztMLQ 6Kbc4l*T=2S*PVbS|!NWGi>) z+$vG`vpyxNJ95HdqXlp0n`ufs+LU{!VK{G`MGwZm!f#5(QO&7JmmF5ZXfH$gw7tLq z{lG(s{%SD@wjRzj8|{h%sG{!7E8#xYC&kKyug;m*m3kFqZv++)NV0dZy|@>K&RchB zmK5vWpjrCah_AjGMp5MvlLgSa>bX6y?cX|9n4U@Je2nr8$@)+BCQv qX_%O9^I%w)%t-3(g$t->y;%gDjID@FLipFO>c_$CbGEkVejwZX`U{|0e#M mC2Y?OpmYY|y(5NB-%it1YA+j*y9;@zRR_wTRwW<~3}1yYk=V0%J@=CiH+4i1v- z7LYXEx-q1g%1)Xv@`RD?1^sFja;!xY`Ybt91Lry6hTv-LT$Jzw%h !*y32`e5q_ zQDn*g5)d7YSbj7AMUL+aD$?T;0KP)kXXD5v1Xp(`)N+j<&WU z8!eZGY`xgbSoa0Op<^U^_X$=1SLI!U3MZT~aU;^b6RBJPdk4EWnPF>yal7HBxDR64 z(c?(2YX r@ZZP|vVXZM0l?PZgg%L>|}4}R-6{Z(9^ zipg8>^LEsjE)V0q{>nKvyhot;*{kcwe*v0T-nY!F)C|hcH(`O+9SpCZ#*fnINx}#^ zMyDeEbe4r10*f|v4etMW`Ck6VJnwSiYHeS4f}q=9?X-$i@8ivC?nec_b~y&+s`#6G zc{P3_RW3b6kt*0P>R{|}L{l(-^36R#mFO+Ov;BqTqRAd@pwcJ*l^B6$XO67xD&3?i z*^pLUDFoctu}dHcJf4g~_9%(wuzyO_WpsSOv{QCjgVc|EmVZi))$W|RzEo#aLpJvJ zeaklwZr^>y?`C7;Y}E{l3z6#7Uj8#rj;*)Jq&rOX7QFgDIyah9bawwN$l91jko-^& z x}-I4ZaSy*`5Yq&uhOj^<~i;$ rSM^`^^VT(#IvbP2?}b?#tU2q>3n8t^8Pj;#iKnt0hq^B!Ak{J95{=?yr`e zbcg0ptM^KN`Ia4b_Nm_IFmK}U$hQpL#k2oj(v&!9M)1dl4+p2TQ_@9tFOOQ4D5svD zwqwS~FJHHtGZXoV0`CXfuE2e;7PVXP=IN7<6@T}K&Neo#ZCAY7434pW)ePHthgiYs zv}Bf%Xk ALXhjJE# zSoImNt~oYU?5^QQDRGu7lTP7*SlGf?$N?$orgd%xMU=VX-X8L&)nuL6R@oq11oi!Z zV~KQoxG_=|Xz}q4Ew|Fbf-S}Fo~PPP9uJuikrS@dlFpL(-@mZ73rBn1bT!M+^_*51 zYBjc=Uxa91wP94^`fLjq=Wh6>_VgPS`Se=jc+)X3)XW9d#J5LiwdmTPh~)-$`-;24 z-|8ND@C+EZDx;k@Tbv73C-SYh{Iy~VlVwa5Eisrua{-{sU+z8&!qX#>41(H%+?hEt zmpu!_Tyw#^@@n2rJ&-%-y*nmWFfHt@$8gzLN&D~lq%$s%rG!rYRjg3XeA|32gY`OZ ztTQda3f$}$3>ytIBIa|M%?Q=_LK{<6jQ`U5@xXTBz?5nMl|cyKIDZvXgf!}}al$w0 ziW40xYis*1|NP~@^X*`4#s8#P>;iq6FSn#S`{5N!YG*~ZBPI=u#Osn(=Rkpj13KpJ z{zj#2C_-&+BO+>g$2YEo*{0NA9>VG(tU0UuvUyPZbH Mi`U8SF#!BEL5Fx{H 5bBti$EBzD_~Tx`Pmyx#ZPSx(oQ(r#@Y418W7}`KoO24KomF;ORt>xf)WC z_vF}eUq6<8y>Hp7Us{gi4$$MBz~2t1%Qj5sOq6+iZ%njbH%b7Gny^$;>c)1c1oq$u z7ql7O^x$nXtS)NST<)#xI(3f7?{8Gh0k);c-Y;XV1wWHQs=W^`FZ?1K!`7lq8){x; zIz6&DL%B7y %F1)wUk#d-z5LB5gRnKc}2vv>NASJ^l2JUi{%%o3}1}^QQKh1*t&*KacLQt@6p~ z)#we!g`=HX+YU~BBOw^NPJGWs+Jd@^T7R-S;$C=$yA-ptb3;h}Jg@)=eHN4}M4u>c zS3WHz^ux+*m*SRF!2Ja%lNK?kW78@!bq6B8=GJ}r*pDJgpI*9>NfK)zy{f*~R_`H? zo~|m}rWu0E(j g2EDDuTgvDcO^c#rAH|HLybkg4(|4Q=04hc_0R^# z`6Fi?P#pUKrDgn=|GNQySbT``POs*u2e^>6F4jiA1gtG%^hN;y7~C^=*+5*AuO?xK z{ods|;v!aHZpu1V@JWvsDDccPs+U9q@I@L~0VgOJj@`%9xs}QHgnH+f047HWMk7@Y zA)pC#5MFUA5~-s}U07#8RXmk(@o?5H1P?%8Y6i;G93dxjGLp6mFKD~Ikbe3o)`SQ% zAH2(EnNxg}s{W%exv}U&(W(QW4BbYgGfuQ9Do95VEuX8Ola_q-@}1p3RvX`c#m2JU z?{r93j{!X$mtkG~28#5LE)TxF;mnq^u3yfVFIlF@)q{#`2V$AfB30xP_R|I>Uq{)< z!Hv?Ip52FeetJNuj>YDRvgx;$#!7PvlUyyvDpoQ2pD%yR;M4*S>@}no9joUM1^d*U z@HNhun~8U@wRQiBJz-B Ap)Eq3(HE{kZNmd#gdlHmLEC6L-_h}l<$?HHk7te#&VXZt%0{gIg(GgWxUhrj zk99$6XDjH1Z}Cw(ob-Vu-j4QX9$?1lSPgr3sUXRICxoyD!?s}Gqlm-O)78=ImRVSz zItF%+23c=8u3Sp;^PRwllZeA90 r;&Z)8$tRg&mS7*ueGWSEBx% z;K7rn2bw`bkr=+I3u`9YPq5c=Z&fO0Q p;Ms>LXXW-l zTuh_SKO()wVJ@7-rdNECu(NQ=dGzDsZ#sk7fa;;E`jq&b=$!cTBgLW+JsHmLZ_re0 zRrXm_U<%9`_m>r1=9Jr*sPX(Nn%BfE#4N&yyFULPb{DW592`9~=`=k(y)G&6H3kpi zgt$cvZod(BP?{K8it%#rV}I+jelWWk*=R&fkI#a~G`jCi8TPfWoCly-!@I5R=N+6i z7B1R&vT5ZS%v$ZUPrPl8T#k@(#MB%5ZC`el?T8$@SS&ATw8fTa>);eZup;~2HPvGk zC1-~>^`ZpdogIf?hcp}%1iEYT*K_feSU(ML%|q<4O{SJ5>JzdD4D7!Lz7I9d19eZ7 zc8?$9A2obVh(aS7Nz|~T&UOX0_0rb>quGs+jL&sd940S*a72$7XZ(=g9V`)h45}F+ zyX1+uw8&U?8vj!@dL y3o&| zzW_R6qZVKU9`9E==}fm1!BV)t8n{^M)UBN?NaF0O;#-&DoEaf-30?-4KCHLt*ST{$ zG5 +LHG zdg!>QP<$Wr5p9UE37<{2K9PsmC)Ks(HQx17P&1m?dA3$bX`=9K@28rMZ_@6w{hHXS zz$b_m+ez3?+i+aYYRqzcfpmQ4*kN!)qjg2!UWwDvga%kNLUIeIj$5AXHO_P$1M+BW zvL;0gw$71&!NUh?VJ0_TK+J*n+yuX@ch^wF^X&WO?GwGj#&6=whh1*z&(3q*ASyB0 z6NCa_?wJI&nj7mgGxlvj$0zOTZc2|9(J+TU $kpWAwSg?#9X8k|d)j_CbOx-kR`v6_;xv%KWOu2WLX+faTPe7i*$o1=DX!64H| zUiz}nvp5zO*@g8}GFpszIry}55z(o|Hgu%Gq|q_P>+_}$fu#|1(Gg8{86#ACn2zky zaEqBftqV%~@iV4aqhqh`+d?xljalK^aOUS~N I`@@$rAS? zEk8wt_YH+EAAF(~XxTbLoSn6$m|bgbbCkXK#Y=<0!Glzzh=E1hDRjHFbfVqPu0S=N zdMJF#XHcY(HdgUz>%0@#>s$$0N`VNR?F2^bu{J{>q4AE|M`OYBX^q^jq?#Yqpo%It zj@quX=;3|W7ykWpNgSjmav;FrZXa#y)c;m|wuP7BWEXmaS0V@#BX(_j#MY3rj6b;{ z260b$I4^E^m|GA(s?%QWTCbuU{A)n@`>UqR_42rHhA_yBJ%f;iwF#5T;_47c1x;7& zwtYcsz~>?!Up{xsqYWphzmJ<;u}2QsN_O7TFeJw{L%sdB6AuFHfNJi4dz*lFbt?Ou zw5{V6p~Vk?y2B}LiZX_QF{hkdN{t?iq zEg~bJwr}8l4UZf23i$Q6g_i }9)RWA+z_GeMSx$q6F22pl}Z z=)INQeSZ=+Vs7=;eVrgeHLF2gY} -pYvJ))zYQ&%>7mAfy{X!4 zLP%;CUt(Ky(reqjMwVp0%+q5%W7>@E=FlJWLXL+sj$P&tSD9^&E_8xUFT8R~7O6Yc zdo9p!3zn$JFyxS&sNne(TNJj#GG(-9N{VM)24rN>!>HXww84}DncRgDZC2>&M8wAI zvg^@$VtR!%vHl*h z4*=gllKhC;DSFlX10Um)58j(pFIUXz%_R1~PnFjnvR>{(kS^R`u~ z6)@=r#8nLoV%Pk`x0IhZpE1A;vrQdXM|+n4=BdBZ$*}5I=}4^Y?A&X9@6-ZS0Y2f! zF_etL4wly;Wi}XyM`;t>Z?1=om6F%#ngYV9q#BI|6_ozvOr+w_i;gf%>CLW9Z&!bI zy0k(|jgP+Xa^8 ?TNvcn mYo8$!@Aaq+rK({_}z$r*gJ(R9Q|EIcLJL{ri2I zZ^fYd&w`H&?UNhno1())>iCNj`hVss&UbhB+t#Zn1%E{A1NrUEB#=kB1{p_e0M4BG zoVUeKMY|d0YeoC(6ot}E>OJ!UQ;GL|iHRE4cy0HIYt`!=VD&n1ekE`8PZH9(u~zWJ zNK3zdNZM9jMN6k2%C5WB;c6iA$F?~8f$Qta`!1+qGIvmmt>)RG-ZaIUO!)=-|Nr3L zurb_!{`AAw0!5j4NbjeeTz<-yz8$4gPnGT3o&DX{I_c13u*j)$&P-9NqF3z4DfK6R z{vw=z?>RdSF?k?}nlBPn#g=yt!C!UMhxFev&BUxo@y`10n}!Xdy=M@RI}J2@4DZ84 zesoIYxSq2FR3?GFg)A!nQih(;FMsgXd*gvD_hYf&sz!j11uZcok9pDuQl|8~RGA#R ze*dGr{aEAQxR9R3N4B<&zI~D6`|Wq2NWoS2kc7Dh|B?RJYePvhHJth4PDp+BV}3Rm z4IP+p!aV<>gPz+(mm|GaeM7n7e2KMs9vZm%xH$J))JaqT&G_RM8|wSTJn5cQ({b`c zbJG ;fMN`2!KT}hj2V&4F;TR<6hU;v1{T vrob9jRcRyOjT3uaOfu8d)G} zrFY%06~;xxU?i_dBUcKq{ qbj} z=IpOyPHM81(Y*T9<^@GL ck5ffwOTLMXot?J!v1cZjYe(^j?zv@yVK_ z5O|gC#`ph)!_f8RXhw^`iYMif4N8O+ZH2wxl=+z7WBFqWCekx;qgz8)QBNFBEamlX z^w+h=0jCpwQufiO_Cb33GB8;z43h5D0WbLeO zzx)E qaHKpKUNK84Vm|m zk#^42v_3&Em|gQ$K?SLJX~ QcEk@` Oh+t{~sc&fth zc5&G@Ijna_b*$@jr!FVv-*ZonoQ~dPc8@)$;Vv_U&|q$mx~3}=;&Lm11*XvR=`Ce8 zfJ1o`Xfdgc*3sbcc7hC*_~fPlz`~l%H*|j>PmLZ1eiWoYLJ`+D%k1P271m|yTyE;( za|UDev(WE%j_0#E<_}T!lqasp#SX_&ct~D?`SgIvFEA~xM D!azd)sYg)M+(oUTj5|Irzdg0z^CXW^~PzN6Vg1CJ&@ z{Pd%{61^#l%MxoY62%wHNssX=CDz(Zqni4=g%KUKpod1?g6Wf4*P1hV=Q&1i@*)NH z6kpP(i`Q1OSBq)HoJK^5Q=Ury1uiUhF$>xI=*=PBzv9rVsrl~Y+n4Gf%@D(Mn5bd) zQ{-MpJn~*mgg8#sf7sEge&A@3hJuF^G@VQg^0{qsb%eFOvyjxgcN4#aM?}M3_@{*i zHK*PS@KVxMU_U`WC&QaMV)IH#ACD<#!1ZdKI{RUr*lMVMs++87n|sd{hp~n-N2;Hr z>RUrtg3Qh;#-lH6F5EgyPuB+&3#Ni sOA)m>Hc)d z!Czf8 ~G!=fruCWaaM_7vs*3^oXC z_ZWiFJ^p(B^}qP|uP-k@oB@{>oS{Li^*&2AU5(~0DA+U-s31`%fT%Z;QuhoJfG#O2 zKj;#ut?lw#03g@+-;rwa&7d(a=~LL9ua%iI$sguy-n z6fqZ>^<#Yoms2vHm<}&_wipGQkp@<(544@>Uecr)M1~7uygO!bu*Yk(nC@aLu*^Ug z?9*#z-Y=B)Ya8-EiMPc*<}25;)xVL=^G5I7H}+F*6?IO|BBym?eE#p6s&CuvdJ0qg z?>}q>7WcGs<;8efheY)iTbE@-Fjx@)59oTH$%mKq2kn^$sjYYD 33!Wjw@U7rqXdwfDSnx@;reX&}xok)(kfS;HlQf7s+YKoeQ9HyozV z+)ty9&)VBO08kUie{n9g7=in$&q@xw)@c ZuBG(X~dQlihL9z7S&GaKxv z-nrz|k=C}C?cMXN+nr>8S!UTxBEB@*E|TJ)@epnzmY*h|l $n=~dSwPx&nuCFx5|-{;;S3$ePV0#=Iy>L0f@Q+e7m2;?j>TK? z&Q8g&=go}oA-ZwHkIf1D`$xN!An$B&s3-9^Zln(dUKOtRh;s t?0GNBaRc?v2r237k3OOxM`KvoqEO6iVpd+H^Iyzkcw^ zvx>0T6^%xs%xW+Z_Ra38&8t1&VtXh)7d}-p<$#hbWDX5_K5dsZ1eBq6{3)bQS(kM$ zfM)8SK`@kAJ_A*~ny1Nzj=ROroIX8pX#|}1W9x4@MQS~kb>x_K5!j6x+)x>QMf|TM zcXcgZQFOUrzi_I4RaB`2s3Cxg1q$2z5aw>6pSadAk68 =D-k(Wyo{<|hawm57Oa44<}(d0nEZa3ALW i6m9 zs^NXD*=H>#`Il0xU&>&~kL lofjhrt z(lHuONRVQpdmhFh!s~fge=ySoTRk*Cy Q!8LPj+aIwz#8C(O6MB-pkF6)oZI3 zk(wUU0k1jRDlHlaUCshRk!QkQNwl?=5^` z!TJ;H{b5%A 9W`CcX=v#Wn z>N=kP<_|$b^K7`HTQD7t1oWqfoqY&AHTQ>kNy_VpX;e700si3p Q}mi zu-xT0Tdd5+j{5;>9$gOgt6m``T#FGR3*Ltbz%+qm5r@!tZMJ#c=td1VHS*NDzEP94 ztiZK51TVCjd3x6GHkWRoun(JDjeKGs{oZ!|0OpkaX-Z z=mF z DAm~g%x!9DRq%&W zmM&L!i?$@q8CE~`b{_j7paHFh4FS#Amlk!j9k&R30~5U$`s1Q)&AWEjtHyUwbj8rP zqQvw<)ko?{iT&n@#T!rOJGC^2=J@mfy>t0k7FSuJ?`kGfW9JaCi}QDWWOFZorsGg> z-sy4lDif>-?Pl>$Fk4V+md*Y)a1;ZkdCXSJVpQFmpYPQv%x;NX#eG1!#CY**Un YX9Oy#!b)+xE4nfJ#sq3UythdHD>T>do5i_p6Aey7u++Q)-4sjn(#-D^OOH4| zL& mt_-y;`6RmYhEbmp=2 zS)uK^wjy;V#Uu86ro%Q-<+2o1#K~O|e8BMaTS{i2WaTSVZNtb$gXa5}k))P58{OS<-CTE<#`0P_y)t?u7NG39Z%h_qjwWzJ~A8DU{LU^`Ckg6XCipxggemm8v z`1R_Nc!{%BgYU%esAzokJc%`g$}jZQ#tgeY$&^tLvaLJ4{4aX|>Z~hRW-j=8N+FX$ z*sn@a l0{gVDzBiM%E9HZf<#AcmPoD}bALE4weqrL;iT4bB*sPOH zAhDX3Y>yRlb6YQ?6{H^-nPQI3TW$1oj?Lct#hyECxApCqJ+d!;>I>k2L6;Aj{^{Nw z^RA+=;kMby>EUXWk%aN)7&v{&s{a03@5km$s=w?wYXs`#jHmA}w%ey+VmAZdKjeS3 zIpyWJ9PtV%q*T3W;7;9bOm?7ZIEB|Y{SgJgs{QtH{-}Vx s7ah FCo!A=;n3=ql;-}MRvYMZml6T177Dh}Cun^eKQ)3B}QXNl*>v7^q z3WcrN33fw8Ut<<>M95|S$car1Ask-`m`+=oUb&y$&WF_kQ;Dr>99d??B|TAz?*oXb zYWIGh->7?=eIG=jwwhl=@ZYAR3rIiWQkHcUiPP^d&%mz4gw6c;C^95P=p40Jy(2-I zTmBBJarnb&w}{`Hd|=O5ZDjlCm2d-SzY>&u$Nx#j`CXl`5I({FLaYd3Wy5sjK?><6 z$a >wglX;{mK+Cr;El2uSPa@dG>XS)w&ZNtU97d=WqY@ zo6qf^m&xDA)4yh0oEKRL?r%7G!g<+=DbfE)9dR~}jc(dEYzp39eP0(aSG1<-0(HsL z`vVL-OZ;bPYK{Qg-|Ij(%fg;nml5jq7V30D>*0d19@-2&)0b+7OzcGfEg=*UQk1ga zPv4qW12C{8)URXRcMiR%J$f+_1|#y^G)mFX2-`5JL~DO;N-^54voD#So5RaOEhRC} z9da;DYv4KqmV?3=&n=7f(D!c2t}@WHH5z1J>8?TJMslX#wEfQ^CSeACozStG|C6 zrzkUH_~7?iE(NSV19?>3IT!O1SiQB`*kGZxr>9d^uId{*ux!1YbOF5N(Ozh>oPWOC zq-^OYTv_!BL81w1bdlNwg+fo2lDV0w3rh=N^DU8o{Qyq+-QX^|BIcNq1K5~65XVM) zTSh`3_Otb*u*~G`1%%!(R);ZJ?hn2HJ(dxt|LJ~U?{cWCxb_PAFRNA*WYdw&4TTb$ zptj4A_&Ktk&;A&{;i}Tl;o*2;3=)tRd;)s+(EpyS|2$t>yYMQ1_OtEJzt_rt8$NNb z*Wg&&r6#r)HsY>AAlU>*9&Z%ZuWT6WM*VW^XyO{PTy@KZ70Q)AG T5yNY88(7r>h+Pmq8r)?btL344oH>Ro4sj;pSF(+kWz zyL_jh+ms)GiurLw`5*_b_J&Sr!x|0OGVzV3Hg`zvX2z&Z6zUCxT3gQHz5Fbh{+b{H z;?GHCiYlw=Vz|i7cNqz!<|bHT{+XIPgLx7s2`}S z*}hC~yI0QQatw<*5EC)@PEU=6J5(d%Se+gX>6t^2Ny5VXfTaaVLg(aj=1iZ0ndrTe zI|qBGzg*mWpe_NYO2CEdPfUrLfqC{BqTP;Zj272!cEyyp@nlupE9bkDNvlKq+MdX5 z_Ws=#u~-ghlxYi0tKmzJ1k!Ve0$hCT`6{$O$j9|@R;8?Q0=nUT^qJDVKMBu;mF;AG zc!+J^=^&Q 6u9lKGzW@xEi#LY?9_b?m$ZiXnqYZXM1_T2kZR}8X!>XW zdZzb}iVS}e5Mk83$hHG*s#-GKBj>$nYdK8NW(V0|OXdTR(!-JxOY@lpakoDyVQQ*P z$HmfyTs}aeCW3IwRQB376m0l+a{FsFmar=Y2-tOk8Qh;N8wVRl wB&(D` znP5q?WIBOE%$9Ae RjmG#yYVbx dI$4Fy;@2` zXsIELOz~*J1YM8i?{u18hE?Q0aZ)TjM&E$*p#KHWZ#lSvI?UHOQ>I+aJcM~*I@YDT zGV)GbAo*=?uw%bKtvr0w;&RXpTL>9eGygI!6Ek$&U8rb3{yZ#gtl61y^l%tGmS~A8 zd-aD)_hE?3XMBiM3Gi#Ih Q;m+?0`zhIbB6 z+4D+5goNemJ%%TCa%5HXW3~4eOs~J``A1_hVdGEm_D-W0NX2D_#!`>Tc87ys2{7t` zjMCUOJ@LA}uLYJWl3S)re5u6eM@-~&M|>B&5QMg0V~2LTkMW8hwW9+;^ozUeh{8~a zBZql*^?ZxuZQiU8Bj<2&d%^IO$wE-t$Un}l72}R<9_@?&wf$=y;8Fu|!9M~qnl#LJ zc*PGNrm#I{>1K2aKtQD$V@8YCSO!%7s@#eGt@b%_`VyyJFNdS7stw<~G7>;r&6J+* zUJH5k^>S&nX0v@n?krjfG|Jzu`M4}}>N>S!WM6Rs?HbBzlc t=Y@ j8sz>^&At*VW*Xs} zZLqYUF+&)mT#Af{=zp3ObgqS*bb3{Kte_8@&3MMxj|DpxgXG>Ljw1Ok8Wa552LsEN zs~o^_G0MT2o5fYoYmDS@xcM#hmx%X!QMLA`2W))f9e^m9hm9_zrw&SSd9BC5>k;5f zUIY5E8W;60rFpCCll?}1<(Wz8nN;w8_Nb3hXQfxO2rR{O{c!m4a@gnlu@!sACAI;# zwYp|u50qTt3@kCN`wqyO{WAB)BT|@d5HN2EB-qHfO4@KO%QN}zcFL*9-A&vJv(0KW zv{!D7h7?(421WA3GAd?2C#4wA*>+JP@l#!q*H3f{-o-IMdY88(;Km{xXMN%kn-xRX zc%5(RPns*BRaDR1G?duvTbvP5;!JR7K@nXzU*b_m9k3PzbH=i}2HVI!k{pFFCS}w) zJeyJDv-m!RoX?$$IjR@(kmuxUUN9=K4K$E1Dc0h^w3KZr{&^MG94IQ8BmaBnMSa-l z(1FHY+|{q9bp<==0*#ow>l<#BKuBS9SBdCl^~A!b@R-7F=yOJ0>t_DQ{msx>(39Pl z`uz$5%hpdGuUKKLE1+IR_1ms!GwmMhk)TcboJKchqn?RO;C0`yq23?vVlDp0u>lxt zmEQH1?Jjo+u|bsEH+r!d(24&NK6WkRi=PMY=rsl5M+QkXt#dU6fyhgI8%UT5meZ-_ z>wAcw$nOn)V4!>3E^p$2`bJ57OVkCk8!~x45rkOQvD{XlcHjObEUqU$DyOq6;li-* zhy!J|p29+QF068~neTRYC@1-6`D_kRLiycPSbwd<6EwapP{=F-Wnh@5 Yh)YLf0y3yO}AK4o$Krn1KIRrn yMh;cv&qoo}~fMfK9S-7)W)QMcgpvsz};kN8j(we ^236Ho6n^{ 48n1MqStl3%Ju-H`Q2?FP6{3^U=nOr}Xv0Il)u z{JJu{6ti(&Z_8Trrbrujy}C}w->0tmoqujggZr;6=ADv)7m8f3ET eW?(>}(SECaRa|Sk%bIKnqI~@W2NE5EXLy1`WFp1h82^5-F z{TQeJGVJI6)Wn{24fzT?ci }xVlz3bdLhAe2dIRN2qd9mWx(VtO7D(3 zk*^qx gd=>bvl@SZ=80KZcY~I&Oh3ZaJEe2uVE-fJnF|P z<<*K{+#GA>A6qy% ST@Z9O$@x)Gdj0lmO}Vp~$HH{b7$oVx6UWqaZZg|b&x zgUppgCAyWL$>8U!9lA% }!qR-fy7!Sxh!dj4wwU$$)>ZXhk zShK{oJMd%c7=(Oc5YiBsQarl6-kQ2keU{mC7x2+3-kG`=SrLeX3Iptd9AW31wUt%& zUmy?h_{plm26 8*RWpOVoPYn>L^%_>~S2(>Pf3cd*l$ykpe1nP%l{ixR^PqOH zj4(@|>6O2A!z;p)B&(`1+;IU8)<3I@SXD*c6gvAT%KP4xP=9l`2cgEjOZAztD7UzG z+1O76d89EvGy}K>r@5IGm9u7xx4dxw%@vuleR_vyyZxUT)fRs+qr?+T-HB>QI{i0k z*M0-Wm%;ICPi_K{W&4t(ikf^W`9dAmfoFevhp8u%Wi$oVtczIlnUGu|jUb2)*wbHR zC_1KA%*jOf{?{SUQKu!gQ|h4p{@a`!n3-#2EWc;THswhFVii6G=yFB4C^DwTt^xYF z7dU-U_De+0@s74;6Mf=^N>G0^O3Cx%W2>U+S+UR}ScROR23M-G5{Q|-= ;|Qi)-1PiJDVIq0QGz6`qe{PiqC#VSWORLNAGA-M&{)FwnQa2 z=EU5Fh?ru;CC@*NufxvAFTHd`1M4jwwA3a>mvtSMRL@dwC!k$DSbcuH(c6_$vX_^z zj@4DG|H~QM5XV#M+B-QWxTMjsjut#sD74AB*)@tET)z#PlXC~@Sid# u&)%W9`YJ^D;QNaz!0X20TyY~|!yv7FT7qjrWabElT;H#P7D{OoOY!ubCtqwM$t zXCI28vOfBIWBg6C7H4^Pv#JdZJs