From 3e12aff90938a824fa419fbcb7de28c669150997 Mon Sep 17 00:00:00 2001 From: Alexander Suvorov Date: Mon, 11 Sep 2017 13:51:50 +0200 Subject: [PATCH] Fix miscellaneous compiler warnings DXT Testing: The modified algorithm has been tested on the Kodak test set using 64-bit build with default settings (running on Windows 10, i7-4790, 3.6GHz). All the decompressed test images are identical to the images being compressed and decompressed using original version of Crunch (revision ea9b8d8). [Compressing Kodak set without mipmaps using DXT1 encoding] Original: 1582222 bytes / 28.866 sec Modified: 1468204 bytes / 11.858 sec Improvement: 7.21% (compression ratio) / 58.92% (compression time) [Compressing Kodak set with mipmaps using DXT1 encoding] Original: 2065243 bytes / 36.878 sec Modified: 1914805 bytes / 15.625 sec Improvement: 7.28% (compression ratio) / 57.63% (compression time) ETC Testing: The modified algorithm has been tested on the Kodak test set using 64-bit build with default settings (running on Windows 10, i7-4790, 3.6GHz). The ETC1 quantization parameters have been selected in such a way, so that ETC1 compression gives approximately the same average Luma PSNR as the corresponding DXT1 compression (which is equal to 34.044 dB for the Kodak test set compressed without mipmaps using DXT1 encoding and default quality settings). [Compressing Kodak set without mipmaps using ETC1 encoding] Total size: 1607858 bytes Total time: 17.181 sec Average bitrate: 1.363 bpp Average Luma PSNR: 34.050 dB --- bin/crunch_x64.exe | Bin 1012224 -> 1012224 bytes crnlib/crn_arealist.cpp | 3 +- crnlib/crn_assert.h | 6 +- crnlib/crn_clusterizer.h | 3 - crnlib/crn_color.h | 6 +- crnlib/crn_colorized_console.cpp | 7 +-- crnlib/crn_comp.cpp | 45 ++++++--------- crnlib/crn_comp.h | 2 +- crnlib/crn_dxt1.cpp | 2 - crnlib/crn_dxt_hc.cpp | 25 ++++---- crnlib/crn_dxt_image.cpp | 4 +- crnlib/crn_dynamic_string.cpp | 4 +- crnlib/crn_etc.cpp | 10 ++-- crnlib/crn_file_utils.cpp | 3 +- crnlib/crn_helpers.h | 2 +- crnlib/crn_image.h | 4 +- crnlib/crn_image_utils.cpp | 4 +- crnlib/crn_jpgd.cpp | 2 +- crnlib/crn_ktx_texture.cpp | 3 - crnlib/crn_mem.cpp | 84 +-------------------------- crnlib/crn_miniz.cpp | 2 +- crnlib/crn_mipmapped_texture.cpp | 11 +--- crnlib/crn_mipmapped_texture.h | 2 +- crnlib/crn_qdxt1.cpp | 3 +- crnlib/crn_qdxt5.cpp | 3 +- crnlib/crn_resample_filters.cpp | 2 + crnlib/crn_resampler.cpp | 2 +- crnlib/crn_rg_etc1.cpp | 76 +++++++++++------------- crnlib/crn_ryg_dxt.cpp | 9 ++- crnlib/crn_ryg_dxt.hpp | 2 +- crnlib/crn_stb_image.cpp | 25 +++----- crnlib/crn_symbol_codec.cpp | 5 +- crnlib/crn_symbol_codec.h | 6 +- crnlib/crn_threaded_clusterizer.h | 4 +- crnlib/crn_threaded_resampler.cpp | 7 +-- crnlib/crn_timer.h | 2 +- crnlib/crn_traits.h | 8 +-- crnlib/crn_tree_clusterizer.h | 3 - crnlib/crn_vec.h | 6 +- crnlib/crnlib.cpp | 6 +- inc/crn_decomp.h | 93 +++++++++++------------------- 41 files changed, 163 insertions(+), 333 deletions(-) diff --git a/bin/crunch_x64.exe b/bin/crunch_x64.exe index d227e88ffa3fea9da9b13f6a9a614cde78fe470d..bae89f6a6cd95e5ccf235ec347974b8a068943f1 100644 GIT binary patch delta 213150 zcmb5X34Dy#_dh=OW|4h@BqsYL5`rMal89wSCQKwD_MND;wQHib2qKt1#&+>gd#f!i ztyU|RA{rGw)Yc+uS8X3n)z+ev{NCqzCJ}AFuh;+IS0~T8=bXEpd+xdCo_n9itXpkn z-D2M26j;V z9=d^-|0))THQ*2CiLb&|v)-atc$D93;hs8+)B*VdtdeKyq3c{ZC>Dj!VJAd&qtOr? z<%CYVcD6ge525Kg*}b-;O6L{lovB72##5e(z7e7BE#{IG562XX#Sszm>1>x^C%elv zaUi0${&>EJ&h)5+Wut=QN{YA_QLpC1zr0Z9MKoARK$+?G(1{{8GK{?@(jwcl_r#*e z2`THBlCV!&Z8^pxDG6+ZE!Uuoi=nn;7~{`cZ7FdUdwZ_r*V9l+H>uhz_Y8{>V#bKH!3OjIh{pO4Dt_ zP3d-*sozl(&s*&oCgqMW)@jtC^CC3JmV5n3$`ht?LZy_@XjE@Yxfg$yT7$Z;D^2UD zExN8Sjiyj*q@MRwqQ6*PCzeeRhw6m0uf&Zy;eOj@dgz)KmE~Ba?@(Eh^7mB_o$U6m zM}+gUMov1p;kzE8tOIdE{oktFB4F?zUOMTiLwfH%EiZ@kEP zTeIrsPuJzof&qZ0iFbtJP{n~jWPkHH-{~0}XR=f9`1ka36;rRql(%|C+ zkI>+|1ozY62B!gc*5KX*x7Xk`1h>%OUkH9fEB_h6VH#e425^mtJhigglyKDuT?l^a zXb{1_Yp_i4O%2{j@OceBMX;j-4+%b?;ai>s`~dR<9ZMqk0}Y=?@H-k@d^Qh>lNwVA z5$0$FPiT-bS%d2m?C3!~ zy#`mi;HAq`mT8GJB$Rm?JfGmbTITl%9;e}dA(%`K8tqx?rQ16T6Hn=?A?gF6q-gLs zf)h3PbAlUc@b3f<(F*ps2-rVQBebQ2y9Q4p__@aP0m1h*_y>ZcHTZXeFKTem4}ibb z;0^>I(%`oV{!)Wa61-J|JuU%Wr@?jdD6v#a^dq=HgVz&0RfBI5Jl2unGGIp!-XOTA zhW~`%R0lu7xuL3<9ueF`!?(Hu*wKNR1P6wB=8-JFri8b~TAPA{})MRm2(654Jv*B)>SO2gKt|!PNU92IfS%X zqOwXXQKPUd>W)~V#xU5TVd6?7LtYn^oHDBt6|fC8Y*9(dQ3v(}+E!P^W}HU$Qe?jjMk7#pDDpaR3UI#x z7pP^v2h#IabRPC{Y}Hhm03u`k$ zEAT}XD2#fJ!b0#sMZbw5O@dje$i?3iVs(?S#Qhp~rp8Tu z1NQ)p`!kJ}rO~K|ppDUJ+r_;mVQjt7Hw|NpMWd#{OcI@%1}Dzf^6b#^?AG#prRABf z(TX(MQH^#&qm38qQAU5Uw`p*zE*jrGjqi!Z_qWEEtkHB_?VTGv7VP)J1HEf`Rp{e` zc!R5=L3~hREsZly<4n*vTWg$78qK89tQsv{qm_%9@xk2bs#p^r#2$-X@nLxiCOkws z3k)R%3-A~JQ@snd9A`B05|zB_C3&qzKA@2|s^l#%$=fvY#~OKuO5XjF{FO#tb;V0` zZx+G|#Dr#HY@Aq(zk|gm&BD0#ia6OUh$mbTzcveM9itUvbfPxGKdVr&Sb&gCb&VW{ z6tp6N9t-xj)@aX#skw;_5VM;H)%(oHNoU@DPbKt-$|5ghJy2GAn_Br^x)l3Je|@-4 z(kr*c;pR>G&u-#L^W<(5yQ?m;pS9o-xt=GLtnuV%-5%|%)0y*UPSEA}VS4{ab~(V; zQ>T3P5Ux(y8MuBsu`pQeD>kCORD0)4l?_4N!C<6GBab;SJEGP^3m+nnSF zM~Zv3g8926g|{KtrC=l)CyXwJhNA$fTS42v@z$iPIkRXiy8{V@8i_eka49Dhl`JJM z%u7sc8Fnd6H+Iaf(E+Sh*rjw|zSx zXcQ?|qa!&k%KV3@+@5i_+&@=LXjj+U1un4F-c#-W9GZWuOLpfCTH=qvhEBLmPSQ&}L+nKzlr8}?El>(-@#f%e-5IGA}$O9=j}@` zPDz9wByTY?$D`VjuO?5_YVcA2W5Z8{8LiC6-S?y_=%3rZ! zc*n@0IS!_#U}}_q{RQTabh_Ms1khwxQFwn8Zj~-5WjasY4o2}9&3P;aZKQ+t=?j{l zuhOPFXhQtjv4?MfTKS682nUfd(TmR3roNYtsw!H6{8lWncI45Yii_5FlHbRc9E#dj zQ%zFyS}+)T3r11-P&`VF=gG5G zqnpyH4oARZY^PXOQ@qn@Y4DIy9%Mh$rLn#a^95Vj8tqo#rE`cUOQJjOK*ZWTW;r#tcwWiQjdKjtX&$^-U{jN zRwF64l-(4h={X8R?DP@JQKK89l()pnE{!^s4ueo^xkX1(N?9d88Oisaaq@#tSB6uH zl-+*=B_S{}U!xt>!YQX!+#2DNX<@&M?wOX*oa3m*ma#GF`GS14l=V<2uQ$H^^40;JUcp-QY1eU$2!r zNHp#?5zft~Zh@XY>PR5U^w%))O}9*sgNGcIuNUFn4bC~;Fd;u%;OP(cuH6khxts8r z5z;LhXh(z2(mH2fK~6O_XdeXu5)IUBeZe{MVGu+sxMbC*99KT=?v7BOa{B<#Xy_Cz zCpqrQTye2`c>RU5^}6^=wt;c5q6rW|oHB>Z0C<~fog$k{wIqqi9-Wx47~7*c`&B4C z>V`!YIof^uH4k0cRCE6G>N8xdQgN9l+=cg5mUF7_0J&}^mS!4Dx^!G+$r25F8lrbr zu#5u>s=cc<@d=t}m2%OmQ_3G<;*Fl|nU~n!GnKo(E1vXh5&3I`IxpifFP&ARKM*#F zrX`w-bf%IaGJAF64|<5Ty@Gg$O=5Siki;o>xNd|~c2u7cww#+~)zad!UW}=fe?fWZ4}%SlR9= z>0(IlFxF7a>fM&Ny&{Tw2i8s7L&ZaQ7^1mY6OW@;YIQU^SckklAY^6TvObag?F{kN zfM7OOnEHh9%nV`dUW>QPP#2IuvAj=x_g+|NsjOb2q)%hx%Kq+Zi8P;IDKQj|l(OKi zV0|KZPCAvz`=kqVpJ1Mpt`-`Zt`_RNb8FvLEOE~lTB%L2L#Gygst)%_#eC00XD&~% zl!c*{mc1ymv4%-6^CIsqLWJ}W<~g0T3OZ>ObkZv5L=|x7P9kqW2>V%-^l#_32#r@J z{;I7a^HNpz*HdW$Vh|hH8jG0&LRodOc0d?^U{y;!XI0sDTd7pGLHG;|g`tcc7|Mrg z3>`FvdK!Z-G4KZ+#a9E<6E=4yy-y>DKeZ5Qim*bQ1%F~JQnIhDN0bpZRY$V-yyJl& z-;W+Tsf*hYmk)$#P;lP4FmW2jq+*H*6DGn3TZXJA@cS~gRc&?xJ_=YFdXtPC{F@^#Lu&iz7=kdS z!L*L{1AE!2iqjRVZ9tTp)s`LQ+uNG|n^F2psZSXXxHjxSf%sD)4{d#2CFrvN12qK6%dLujlds^X+d^W2c=B~UWq3tF*Ky3k1nUBJuNQ& ztdiN0+F4q4XBGXuy2H_vXV!$N*ETs#hRoM#& zXoPxZrb;K2Uf4=u+TRsEL!wwe5kDld*_#>YG!63J9sp>N-zR_uc`gAo$U^}@>oW?< zv7I=j+!D4SbtAIBfIv%b!5RRc?Qd4ifmyW&sbmi>i!(z4JsxaVtz@aPRs1oeIZu9F zTlHUS#vhJSSA7?;<+Tr48<9D*Ui-W>R7je)hyZHT8PYRq)D{A$QTY{`*B(42DWxy~ z(C?h?zKGge$Zaj~M zNx4?Qy{X(DA5$MsC|TIXfvcmhzLAS5Onfvf#Qy+Ti4D`qKhnV#DJ~5Q^QeiGTJbx= zX?P1BKf=+w=4?21j{n(C>>2*0$Fi*swrDYBL_B#OBQp4#!_@x6H6OXwBaU1K>cJ^- za%2)8Iur%f5nVe4@ra=+TfCSyYO}HP5Hfo?q5FK%Yl{S>^)KE+IlcdQ1N|H<+P)r; zun`#PG;s3?*Xo*wjv_$1vZ(wgzB9ueS&w6_d8>l)cVetA7QWuFPBL(*(znWJZ%>`A zW5|CG?MZR%^$7`MKct#_nkd%5JUn#=sTORRR@f1vh`;3^sgA-*kWgU~a$w6k|BW_z zTL!B=F=(Cm^#ipN-Cqa&z!j{OJuK2#lO^eHZkRf66232iLJ*_dz zsG{eW(U>%8pegBEZivm&Kvc2K|rkJ8){IFNHEX-gPT*N^21@#y{l% z9Lt9meRYefdd=Sp@X_gGuIghD;_#nDZ11~!0`tT+BPzzhS4r;%I!Snrm_DXB({n^h{y@{&Sn?4mx4~Z!NO#4)=;nFpd8OG$*8T0o67%JBH%r z6y9CQww~AyiOUlr>XmJLso>q69MY(z`Squ&&{~Q*6O&Ayj+W5g$?iW@rF-vs4W&g; zrCrIqq!iql8jPC=7~Vc$(9BCG;(2~vY?>I*s7WPuCt=T@e`!imq~DOuw@STJ#7`5G z^3wZg642`1yFpco$3u|&HROgR$u$*}PYu#)T?4WjIaovtW@4y6yIfU?=t`BCT*34g zF@=EXpsJTnX6bJF~cNhf4*UTF%E{+f9%(j9kO@|ZT(S%4%{RV*?1mFjW4LPk$qDNIx zURkZGRNFx)XX{yrvWJvo&41yR8)@Eys1B`wd%;2%IlRvd1k+p*I5{|WNd>MYW$cHH z2XsbS6V1|NWXVxW)#UVCM7-6?bQU{jcp3&xk&Rldxm2KXMy)m1nqOYE*5|8GD}}*) ziK$rpfLgz+z)dFHYGgcEQ7dk7xa_p|=UJOY`^ z`dg%dRx{O$)xsg;*Rs=v=i;Hwyxc~8Zn*%9Ke zsWpA3R6$!bbkek1^&?ljHL>7JEDS3EoYVpogT=!yGWQG=F_1{GoC&X z!=~5n>5@RjTuYaR!|t>hIfG7LNCZ0Rc)_LY+U3Wx1Mov&!~erX#|~s>f@24=8XFJQ zm1+hI0yG%~w=maFC`-lV=?z?e!aP4}Z{o9=2|PdD(emnSirVn_^vZ^t z#hAR0J@zkgWSAi$W(BgZMbfM=UNa5Z4C2jM0j_VpMN${1W(4u#PL+Ajh|9A!d*512 zc{PJ{TG(f|_ugIwGaHyl@nUvEKD)LUGBcPB6RC4vZ}B!%KuJM&%CJEuqp+F~&48f& z^4cgIm!uTo7$*n!{)oJc$SZ_0C%OI7QdKRJN95;zq|5Qr=siGJ#kn(^1fR0w<>}f$ z${JEkp)mFEhxHU=^9^jin3vy>trlP8cVeAId48+Bd;!L`UlXI0j@y_x@p4rLMO0?2 z3F{tTblZkS02}wLf=4;cw94P0jM0Z*%^3YM;}0;EbWp9koq@a-=@+bGnb>&a)TS@_ z&#z$@X0-?RJgRKEtIo>oK8Q=^>;Y^`aRcZfzMIynHq@K8UfMDJIm?^ik^RX_7$x>SVm_?mbJitFdp_Vc8#bHibeYTusSt-+;wHVX_0khhem&kjI2=-~1JrM8PD^IL?UCvc)Vl$iSNRNi-?mE*HO{4{@P(_1zYW+sl+ zPbqE)Hd!T0)C6l%M?-c@VxPFlwP|-nijbfLH2~G#Fkeht5aRQ}e9G1XtjLFx%LPWC zB~?+9IJ=;sPtU5TOyO;d_IbA|DpZ(k@&1W64_c7D(fCD}SW4hQv{BtWAu7GjHmpT5 zVILKtgEi8nBdO9EaE>S3P2i{jokHE|5RjNw4-9^yC++J6L zDi4V}ec+*kYc;u+y%$4BUEPIwyDUPpOf<+23lKtx#z4@p%0UzreNx2&*xv?uiMX@S z!uE-#_Q>|5PO6fykR+y68iM*@Qw@O)ff5*kSuX_1aNzfrZqp}FBkPW0zizP&%z}4Hhf>d8 z$=3WQhy+JCD+>C6&B1c(6_y&6EZtwSw0VW)E~0;0DcxSO=s$mj=Y&|g*srnt3T|s< zzOKlJ#uepN?eg2VMD-PZ!5007B4~UY(AT{}@2}EDttEl_C$A8~M7t$P`gdQ!eJ>6! z39r=)^)M7P>lNC1(CX?(yn-7g{#??y{+7D5HqE8w5AIZKlo=th>|l3IQe>(Moz&LwvS0%>7agDn!cYBcGY=>F0GoO~TNa5D0m?Y$6T>#)uFse>M>gBfeGC z;h~$v84>Ir1I4FH5VOReB0M$*_Cy)_Ip#$$CiV~5RpX4#3Yln%d{pTO8kRDgIyMxh z4g zF*Ad~YNtqWny)fZOBj(bD#Nry91?Nxn_8?&t?R9!?y1Z=HIZhd)A>JO&>W@2;pF>+ zRm(c}&}>|qudSZd_Bs~c-nb#*z!@DlEe%I!;y=M&LoT|lF1mHEl@@L!2zR-~|d*uaE~F0OijzMr&v>^a}-7BfW0c#;T;5fpg`Cw)ZMd4 zd5&p;gb@LWo~M<2S_&2SysrExK6=lX*YuUDqL8YnWIrT zDw38kAYoKyYKa&m;*^Og8 z&)*+!8tsiivE>xu*a!pC3qrww^wN;0fh+~m2;^zStRb%hiNWcG#$a$_#gGqb4l{t1 z3WGsXRXnu>EeS^Dg_lZ+Ln2POj|4p8jwbVh4(K_J#wq18kbsNeuKOydw8Uv7jLO$q z;yMy>%9o<_gK+mRU%0DFK&iR}IIVi&E;eosa-Z%%?^a)E86>)VIK{nrrmFLeGR5f+ zgRwUJ_F?UqT+d3Ab$gsRzkVESiH4WOtE{F#_iG)8uwN$ zp>eMj_qUG5#&qCEhTvKtEWy!iCY{grNyS23s?Eq3Zeqztwc7vWrV88=^<)7&R+G2oG z^dFC`YpX_W?{!bLr!&+<7c2tjl?fUFBET3974^3bt^Uh+^+mauSbDg)*U?^->yV9! zuS~@qW9mU%x&O2Uo;u}Dkt2-_N0##OL5>&X`huXnM%NJ#V%oD0)0OJ}#W*JZQasrf zW>`7j)A3@UMRJ)Mqla-gW|h20ibmUqczGjjENfa^XVW)7hQKu zViU!f&zit_T>sfLzvT}x!PVCTuhQ#*dL{p%yZnibM~cp$M=-mX@cAqZ{Qb{O)px#* zfu}nK)c6?XZx_*iXItD-nZ0wen~OzN#22D`XCUh#0>3!yf9f7tj#EmP#ne6T9V6it z^xyg5i&>m?6K@uFVyDD`!iK(o;i#cXsqMwH!rts{(S3I-Uj9@p-rcOOyUM|e)pL4N zcRHKLZuX(-)6g4skG^KOSDPk&-5tud3%5OSHRpcLRoSS_aaPGC`LgK0r*~e{={OBn z57_l{KUWR(S5YKZM1F-~SBMJB-*~^@b*ekMYii zQ60@zpH_}$5{g$o*;#co$Dk$U{y`vMG-IR7{oMeTg`!FNJKj3;XAI%i__L|faT0;C z+`rx#ZwT#px&Hz&aBn-qs@G7lbP+8XK@bTa>ckD=i@nB{Q>LN1GE|^8O;w()pHX$a zLC};Z1&~_YA5#HfhT^r%ou2#bPM(LG<1*vWL(;-I3&nc}Qlr!Ur_*)CuQz@J@f(ld zQ2buUF9*Nr_|1N=`avF%6kClv$3?z@5S;X#@-f%ahNfD2&CaHW1~I;niDh56W5MF= z*AL`dZ}H}S#WyN6?OM*S^tS2eH{9ic-O-!(52x^MH^gs;V|kBhJA=My=;Z$A71EyL zcr!8cXdU+>j?@8>cQhCW{cDa6=IyVEzmG0vH^jnYffP&o@K^`l<*K-QtS#?STQvS( z_dJ8uHqnS*41RI=CD7!4bzVH32JNqbl| zWG3#NI~|YZQn8%3+ruDc9goaYZ*?JZR8z@1L9N=SB5eDns9E;Sq5>qT4?R?_RvMRz zu+vnUI_DyU*F`gMj=(of1H~-ti_-j46GS3Z_nI9E7=?h+<3bS;`tpBtq5wBC} z=iC9J;E{grPt<6;rMWKEHrj|^OsXw8F22ZYdoux0>r^S(px zPq+Jj5nW!6;-rOd`yph!wJInr{z17QPMiv41I5p$A~Nu9NB-1Q_W zsW-&Ysjhxk`7#bQB=Yx!j$I!2p5{}fdkVE7>mmbF`|cMnzU$;~Iay^wX;oLx76ZTU1X*nPelYs#cCJnA zg>T((3_8ew9(8Yg=%yQ<$#I^iGwcUwN}J~1(XTl4-A!^!zYP}?&jlj0bS|8~wr}UQ zbIu%ve0E_}-ot~K-jYOb#nF6shmm}uTvd_BmGgKaNRf`o3fh22hpJ__!IIqZIu;pP zqiAtFh8G|pY;lb)pt%ggLt8u{@d--brP``BL6P6*6myhZ-aUntj}}37QLKhlvD|;~ z=VC)?D%y9uv=iFZ?4pTpIVL7wjL6G5@E^^~Qjy1%K6t9lqgQV9a}T2riUqjadjXNI z*cXuvRD457Uvl&$$r$BbsKsqnEu~#Vmda8JZe_QkA&VhDh8JQGixKk%rkaMjCqjQn zY`F{L_AgOwQjy1%)p%C61#XHB=^czB)$#$Gb1kv?hgRs{wI34DKf@)nTX6{#RqAgL zLoWG;l08=@29Y2KL=7>k(f<^?)dx1J`xPNBy~nad%gasqdtZprm)r88Ux<${x2#XO zMwo4_s~x)Qt1tX!#G&hMBRrp2r8y45jB5PQ9XCn~uPa8sEU+JdV08L9{^f8A>}`5o z5~eE=c^~inkAAHL@{uJfvs!j*S}dy$_0S*Gp>BqUW2hHKZA7_B9lWt;wL20+He$fT zFyLeUS9QQK-m0TgXS=s1uY^IQTm4D5{#Db{i)u~B@p!eS{Zf^ho@{WameW6LD)%qi zCfZ)jgya`rZ5cAVxc~j8aH`Arr^h|n^oiwRw(w-TBC)Y18(vH=o3rSDR z`sLW%9GU=v^7d{rv^gH;BL%aNW@XjPw*8b{S{tkwvpPum*BN3YMq#}f8f`Q^`iA8MVPA-t$x&t1 zCm2@Ha7G}_jUru5mDb@c$eXdA;o!k$@~D#Wi72^QFS>|`_6(yEh&(BCZ)Jz3N_JX% zB)`w3qh?z`s#Fjo{C|x0G$w6}S^{qU9KA^SF`n%eQ-6%cO26U9TB7L3kQxSLvPfS= zQHkl&eaU7OzyH`y6IW-mG|wTg)|2ARNe3zf1|=gAX>vDd6jhM;aTTz}eDpG~k!6oyWv2MA4p&~~7jRB8PL(fFs>SQA1fs?hd*3|pz-JfwA!GKn`pC}kyC zR?_1UwlU#cdFNyC_D}IGiX2E~05X7yJOElcJB;Hoo1=hB9nOd zQxhLm_Fh|To!nBTc`>5t&yBo{mZZ&58&QOQj!lgDxm8FkW(ig)BlL&FQGUppKUeLu z+wJ3`{C0%6@^cik3jRy`F(kGBf7<%!^Zzfxzx8k7r;8oGgdwVR>X$IjVv_X@DCkV1 zc=AhBSfH5{v?k;TS)WqwZ*kM11F^XBqzbu>5?5apBxoOjrph?#RT)dCNW{*{+gpUJ zv<+583ikG3uaGcaHY-({Y!UYqKes+;0VHS=UbmB&Nmy_9M|gAd?Phq5@8a!fwo#Q+ zn;YSfQ=4D^F{|&Xv--0NC3Vc|^GWxr&g#9N{##DF97?Lr>hh{8S~;t?qg@$NyO*JG;EN21fs;Ft4SQ_-XES5;Bc2vvGx%i=sV=^a(3y)Qm2s~1tB za7qVcp=q6vAgceLr1VuIe+wLYTRD)5D54JQCt?y-`2cPBVLGdX&X_=mxhUXQnynh*`hvNJ{*j zf^z-b6woDv9x*G#{yVktp`IIeYPz?eu$ongcyHP7b!x#%d_BVEe9ffabtK9ur#8_h zAW&@jy%L93FIUZ%@5ST0v0(+z)hQpN&2^gfZnql)hgT@`508?4N4nM$ znfG2=;p^Z?mu{04o_Wt(ntk7Jn87IQ|xbJm^j=y@x}K7rmGhM+0g}D$?gK!)*>L`h65F5v}k08~YGqs3oe0 z6#@qPm%wIkW?+(If%p-_*0S8PdHYjs_tMe4N;;^6&+ zm=tvpBShE+$p0RcDIw_|4D!8H`wDd?5RGpTkq^3QLwgd0A~ZxD**i3{lu{SIMeE6c ztk7mm2ASwgWg2kO6M#l+E3hQenyJ=L_!&_NPWO@?qq@g{(R20d80wgxMEOWlC-j9q zN}VAc@#uk10wG9J`1;haQfK|HxluIwBsbcmHUSlyaD_BsFJOG-;2}4kDT_ZQOb-)W z)DIPiDG%GTK4Ra)L>RL_A6lUzZU1P?+(hmlvFw2O=no^P$NvZwaev10toOyBKcn6E z?BP1wbhjN$zQ5GjPizF`-ez&~&)9nHD=6BVHu?B?3&M~Ud(w+m$(?+vKzvrf>Cg5e z`cW-z+AP{WYQV*AG5V1?$Ou!SZfdX-+FYl+9LEP1dq=LsbQ4D&?Z#`Jd5=^0lse+b z<0wAo6Y<;QAkVNm6l=sMsxtPA>QAh}KSopF4=(_x8mTT%O(@xByXm`TH{UnO|Uw80^(6Jr0>zN9{4BZK#mq_ntn>6=t+ zgoyH7_&&WC+`9HZs_Fl+R!wpQRpZ+X$(J8F`y^FZpViJglSm&{8xUpMO`~B+!q&*! zzQRqnz-8?=ZwyuYQj0BglnuTjTJDcFXMu_R@bdIsF+cn!IM7_$IEN`c5X+vV=BJ>r+g}2lt(629wP)J!moX5PCG{E zZ^32&kh*6nL_q-u7N49 z77?J-zASH;#sb(udDk@7h8>dsn8p%o9ehvae5JYoC0AZQjn%3dNW`iY^f@Mvo6bgt z$i?nDsWZ0!t`_MVvJQ5y1vr7Ak0M@{?@wo~^^F(7{`Ufh&!L-KIU~28!8$kkyq>BU zxNWEo`g@L~LtB?Sk`ARSkay2ubt4A?Tk(aE+g1rjpJ^JOo(geM+SHR-E^Fpm_c%i^ zQ|>>5HEwh^=9PMi9Z5$$UpSJEdft~;<+3^vGl4}txSw}5N2_Oy#^KFRrl`hqjn3Bbgc zTW!;Q@iSm)@KwA+R^C*= zj8mvOC((l7Cu}_w>8RopE*H&X%R>5j!nMWg ztMqkI{4rI=1QV2SdE9(O&1iT+FoSVRUzAsv!AE4lOv-lIBr$(pt)<*sVs&c`N}-@02)Mb4ivjm=&tQjg ztcARSh(-r7vno+)A%7>a=(@Kosu{WC^0GQsTUU9`av3GXDW~?y;R{)A*lApV#P{fE z7!cETnJCC8@O0Z7P!5-PdGA6N$?uiQR~IrP3zN$ivfx%{ar4XG8`1HO&T3Jw!PCO$ z5xn0iB0RY-u3C>$iJ*!^o6Ui84?8pRQfGOxokjCAwd8enHk);p!xym@tfSm(5!;h@ z1>28`;JMb+(eNFp{Pz%p{D;gkiBwU8e(onQph`%9yYBX8K&h}NRI#_>4pgcw&lf)f zuyGppp}&fa12#duY01*?fQ?h{V|)~f^-6l2IMZ!%RJ!yFEMuzO z&)FiiH>u>{nlxvQq~;&CSdu2YO}dt$zM%R&EV#77h}oiYMf=fq^&7L)n`-k_z6^$8 zsg^G7CuhSv>!5;%PA_{eVbS72HGkipHudAZ$JGV#cHQN2;S#piX{z5#>l4E-d@f&~ z$?9=0Kl$sWY_U9X8B3^{TvOG0*cyNX?A9#&jT06p4pTdwgAlRS3fLIRnxd`1579rhxm%SuwVl#P=z zflZH^@lZeDC~kot)i?IOB_CSDCi4~1a^hOH-r40-old^AmK}C(gE5xhTgQG6J|5}N zZ}T2B34zrjWy(fe@y>p8lH70~4+&iUF9yw3Xf5AZ&jR@S5u$5(gwt79ciH8^tuw}Hji+-k*O+WPM{?*X7z*;1aofz{_@tn!fUJb?eP zUf#QbMa0aGfRv(@9}r%`HydNn%>g*KsK_PJ?I?0#K9Zd_V$C@}Tu#`?y4HH=?5N$I zTxv}!$@!TMg04Et8#l5ovCTkCx5cO1-h{o>tgp8ct|H$w0*f=VG%NsPuuJbNXK!L- z*_-msO{@-|+qBT*UACC9c=?_8SO|agj=cLl_BC53Pv6X9`HIrQt()10j14I4`T_G{ z9@|BJR7RRTI0=g1 z+mO^dWKwkb*INJWE`0}8j@JaRo3Y;}=15uE0;8~Lki2~hO9(Al0ZZD&q}tF!I2eRc z!bY&dj`FRnp}+U{SiDGrU9u_`uczP1maXh8pI2Wte8l<(xj%EGl}e8(g*`DG3&&!0 z|EX;Mhz$(-T2L)9h=90Soj{b%n|GVgC?!yK{+Kmxo%&SmTLStEbj5;={OWgpg&cYwlFz-8|%iBqU2c6M_x+XCl?QHTQNd}wD&>m> zKvhlya#qfVCVu~7(3J4#V3TCePnezG%8}ps1T9=5-}wZJwB%FxOQ%0& z&D{H(Dldno-#96I?_goP`eM1^4wlSL$P;(4KpweVUbus`l%006nta}yg@&E11?Tg| z6=r_P7IXgmN#Tt`)`5H2-q1`#-{XZ%_Of@`h`&avh=%9Js?X-f@JyFBN0nkot8qq2#q&-?5M)TuULD| z%^eGK53pYu|1zua^&%F;`062r1&7#LRz3JAx`#`p>NZ}lg#08oEoKdQ=*+?)#VnNZ zlRwI{4#QnMJfm>$VRo4F_5I~pCF~ZTq7;re%I-SX=-ylHf&W{*)Mx0(Uh>FqSu>AA zJ=Jt`*1PciZ`m3bzV=FC`|ntPCw}b>dBb^TmUF*vw z>Ta~}c3g9`PtHPk7&lgO77(&|Nq?<_4aW_XSCz6R)oVg(I6cGXoUrRMDbA&ZKa{dA zoOd5l*x(Xt#(C(l!Xa1Ka2NiwQ9gQ;op9dr2F&cLAK5MEqStl0!dbUi6V_zS*NA|| z7p2>r(rw9Z>J)UjV8m43<4`!9&pE6eyc}h1fBEK5?19%7yoP?eF2+lrA0f})z{2J7 zpP9jFct3Y}+IAihLkmi@(*G~qU8rIz$wr{EN>dr!PagUUTTp9Ak;4$#lXq0w$n+wa zD{L0;6e7=6*b{#GfIRayo6R#0$QV`wk3S#>|H>NFbj2AjtXK@0_gi#i`{#a|K|T1X zUh=2J7(GBf_A49B4g2L5Wo)`zSu03eAM;q=c!2p8ep|+7JMnqV3N!Dr#ZG+eCi%t# z_(!RmWS57`%vbI&v_3@IqeEkD$OD!XX8*~)V#X;AHN@Ij^%=SlPkb2xZk_h=OnJh$ ztby;12HMaTk(zpo2D0>+h4Q~+3qN|yT)pH8&OC#6*(@J)=Jouu;oYg?QlrJ>RVwB- z@^fe2o)6q6n_c*N-tay7h6_(H6q6$;og~I8qvPFLZsN*|yvp#IqwIkXP~nXb`ME0} zD(`UOMTJ?__|Gh?MFN?g!EoU_$5?EG@a!FvA{DE9!MEGU!`%5|ufB-nslG8*2ia5x zyAbZdKMUK|g0c?6_2@3R^D-FEUYQkHb*<&!J@~u)tF`hnPyS}eTg}yK+$^^KZVn!+ zR15Z2`L>lD;l;z{jjeeQf3QaWsx^-)%=F?huH4d0o>qh3YyA0g_4KlG-|0wJ>^mLF zihbvDd38-59XSYSC_=)^4Pm;*=-3dpT`pg*$rtmnqveTyd?D`=E0_E6nZ8bXZ6LoJ zufDK$PQLm&50pRf=Pi1emT5(%CS7*yF&hDcV1=zCmgSDvmtnPAqyMj^aRppK?PkNC z1gL$*(iql2jtk)3LjG6Z9dCu>YKjFfajA1FNPP@g}CD zE&Hnrr){+yU5m&0%^y`|<;=*#t}kbl{CX|^js6q(^ycz!v~6FL4RRYy1@5sy9%kUR zYpqzUuBOha>D89f8p^E2@_GXwz`MoBe;ar^eq)i`CXfg7!;9p8fjlT|%OYArYrkA1 zQ}BsQ$6jyYB6(RLA6_qKWaZ-cblU&DI35@-8-sXPeyNW9<~A&QXGh3u@qJy~&5_S< zW3~OeV}t#V1#(9N*=IX^A7!Cqg$(9#zNg@Uznm_gMa%1gd3X8rSl-I-fmERn*J$v3 zlpB(pd|(;e!asv~8z#x|Av_w7z9BqD#-!{MFw{f!gT1_9rpON_YkVo7aC|7=#(39A zIW(Mq$~Q*HC&T%69_=jW8hK-WVwn7ik$)a=tA?j;Qa$7ua2ny2!T;mE)p#Jp;nC8p&es z>{S^gdyYUr6t7$J)+4NARl^t}U;a3X$MDr5^0_EJguCX;r{CrV`Ly6kHRe=E!{G&Q znj>$w@!F~r?1wuQ4kwtDmHh6J!SY)hSUt8@J`~LjELin{>kT0Z{o4n2WU4gmKLp9n z8(C8}PwriZcQe$U?Wo(HtW?@}pV@Bmrj1xRjGwZ0{@Z7%EU@C&$cp!CVU)k?<1!-<%x!BKB`@Wts6|XPIc(?%8;7!x~6Xr6NP0+hturoq1f-9 zSJu>EBFz|GXp85}y(Y)*0M(H9YNBl<0-y5zBc1`?J}ZiACwna^1ap^i`JWk zer@<8#%~Uiz1s0`et$w?!*=|2UiZLi54<<#+weTTb!L%@(xtPwNNzrKy*lmXJ_8a@ z@Aq%Y`^`L=kGUyh2^z*-Z_1Yj_!Jg*9_h4sv;X zGVjix{w*I)#H&Kc$>t+UA!HmF*Uu z!hd}xe{bRWeE2iDZwkt3@Juf5$Rp%%3rzI4DcqM|dn)U#Jc#MEjIR%oqdQ#JUmn^wmM{Z@!|OBfJZizQ$8LokK4THgDQBRY-05dNu;xG9w7k8iN1eh6R+wkwx&c&pDQs}gV1#zs;#(<*sp!>*%ar*Z>c7)tU4a>`D4{r$ zLN$2(;P!2trwoX6q}3bbLAaz;?tc^nm~;FqKDz*^SF=>#a`$WC#YN?PtK0*{Fqali z{Gppz=VGYV5d`R>{Mk-tKiQPVcbYey^??Ufd33DQlNwr#Z+WR}6)t{F1!hS)wul+h(F_S=hogE59n4-Shj!t$JWoHYybCOE z=*%1N8a?GPT~Jh6549+`K@~+^1m?ers=it+ipM>a&v)T*HCIAY5P3^;)524CA7HV% z*o8N&K5x}4gijyHy)$_{f6!fCn8_RYecfHHu_C~N>%BX=%O^8=K&aaqHDedmTxHTR zq~jl|szzlG`NBC`e$<8g2JU+2l?o2tujrfBHLU1r*DiJYXV;Da^PgQ?t9H%BNF~XE zXr)1GN=4_c-Fvl)$Zqn0Zjj!yu4)yC3Rg()HZcEH#l-cR^i20u=~b_T+tgL0SAJKn z)}6Pn8Lt%x;W*xZi0mp4=*|c7;!Js8cOL0K*#0lC|Et^bgYJBZSAG10UboL;`s(vf z$S0Gr+TBy!IG$jkP~$-Ve;e(q=aVlQ6q;dV@04NB|DH+%De_1dJX64F$aTvnq} zAE*pOsf_d|M!Wm*C{Fen#tlJU?~w}wLucM&LQmiaYjnS#(L+Ik)TDbLA1Ph0MG2Tu45G)N|i9vBw*spQ*ASG8+0aG z4^*EPXsOgI#+=kEwrae~_ho0u~xGqkH5L19^RJ`dVH#kPl>b`QAY8 z$ES3VT?g^ryvsFt@E~;gMhf*MNRDgaqL)3wTmt0FgZNM_e1zZ=CKCf6`-Du4wH-K zun>9lQ2u7zdXw5+RsC*jqa^`F{iWL(_!EO5Ukk^eEa|8XTEM2tL8G8(<)DqbD4T}y zp1jshSsuolF&Fv7F#a0v+*pnqj*cd@lRFHDU-aaHylXh0#Cx=r>yH5a@?V9EM(~7WvK_d`PXf?Qu7-*o@o# zAErtf>iI!+Won{4d^B2|a#lVz8cxrd1lfBGPhpb_yN}^{Ol~@kxAT2A2ldkpR&|Sh z=af8q9B;w=<=x}>WnT1`ymCA*;5R;#LnrVUpT^s06jMG#q~=3qn%sQ?&xY8JPT;XP z4*YWh;>(8FOK`1Mn<5l+fwaLqOX*Zt`%S)%xnD;K7}wAp^091w$nW#Us$4V+r7G~o z#`5|c9?--(isbTdt<}N0I?8uMX;me+9hHB|;W%oLhfU^j{O_&u%E{OSjYAtqE|*Cz zogH#Xl%3z=!-Ji0Pu(naPM{!bsuPH~lBxw+`^t0Q!VIuAl)rq7x05YPSe=@Y4Xd=2 z=4$nZa_BhTF_b$jUealJE&ZogmFAUiAF^1VE$*XRa~9`=9HGd22)2LH$}-<`tO@r_#x7ft0&7=QnL`Oq{zk{Jr?P3MC+ zU+OH|a`_6rXp?N5$-m_XHx=HU$yYEIBjewxna?+_mwjgQM|{De|3}xAz}Iwq|J*zG z-mK3H@{*85kc1E+NJvCTNO&Pp+R{*KEmixHP>O`uo+p-C4yCB2wyLGAYb%L;kEM3C z|F}f$we$Ypx%Wxw@AuE=lXqv%nSIWjnK^Uj3@Ky8kkZ$;au(c;-vWUF8&vV*DO7)q zSjBHS5SRnM<_p3BY4((}d^eKNR~<1%>>`M3C)4Fz(1YI=dX_70D|^mf+-=_P$bw&^ zNZPC(87nfO)PQ*&xV`8YCOtN1>;{EI)}?FX#Qz9Ew12#~U!2^TzMX)L>i2<^G*K)c z^i3cpGH$MC>7*XnK2jpvS$QK(Ox45|EWLKfQ8DbY2 zWfKESe;lCqDY(CL8<`Y9K{Lgc{)37On~1_<2bq-DYLDjrD~+2e)`%MTZ>+K8E%@cV z)%8E8RtMWt`x!z-nmtJj@vU9fnPXn#E5)0~a#T1;+#qfx%C(F6fi-9Hi}c|y(4HBu z@zXXT7!b}3AJ3#tlf~b>eg1}aJ2tN_d?zS>_pKV5Cyo)sCSz#D6lBs0>Z-iUun8Fv z8kJ^m&AZKuu1*m{Aumv-ioxcSKVYk5%gWGqkUM{%=&9m4@p2BCr=icDt)a@(#9?LA za*8YJhRpP#%$aw$HMC`#_brJP-b z;pddEJS<6Xz7G@UPT9oDWft`*&fd8tM=u=F+*grhl32ZF z+y6p4y8*h4#haXey5VJOqZ^c2yc@jrZot{idwckDYQtILZ6@yaQLE0yA+UI`n<_03 zCrDyaIm%lsRxJ7FJl?R~=fI#Dmcw!h%uS2M%Hpzl>g~m1Ezy5{Kr!#*Cw>O+o2Io> zYcB)aE%RyF|AD@uy&-k_kK#f}7(q2xi<@zvQM6jDP`c#{eks+SGOf7P8sH2Dq&w{< zWZk`~;u^?(BB}Elv7X16L|u~6`{7$!x<+g*l%|(!#FoBep1JacIOg2nk#?& zj=u5ID!{7~PbMCzgrnq|iKwyd`)T;aw(Z-m)e*mmF@pH{Q2J$~sEUh+P#;xXChVe8 zo5a}CH^2IabWZVf5`I!UY!cH2;bU68S)2!9OVcf4d7th@dLtyir-$(|eX~WJCM1#9 zRxv?jEvfldEc9kZ8{Ip9s~F^4`i@@j54-m*6>b&JRrLJTAtR{iL&pi|scT z7|G*h56WB*p(`Agx}9m^aj~0s+l$Z<;jfJ*V)DC!$*=SYOiIEzHTe&$D8yco>aVB8 z?XqxQ9eh#r6rf=MwSo$P)%F`*zOJ~-%L2lA+6sm9v>5t9cB|l;>UO(f4{SNyFNs^d z!aHMG{lVeI{YwyW{fFExi>boAUcxkBOFje{{sdsE?KO4-V);k zL8BB+tR#$9`)FLI)s1Yo#dX4UwcZ^uUcedKkRpgETdDJlI5t|{d{?|I2%oBR?}_sT z94Xd$0Q7XV{R589REIqjKNf`w>fy(HcCynKe}g=6a`04yk`--#D$evf*aqU+&CoRl z6M@DW4reeb$3390o`LjQ(86cpF260U|3{dt`!wu1!Ze_@&&5B*Scf|0g?N<-BWb`J zh|uP!k#EJ*Ot?*w$To>?Pu1-r+b)ULhw3O-CQ0J(iZs@f@o{$ElWh=V@2XS0SQAMM z9i*Q2W{IxCY4Y=DQ-vn9+@JL?>AT`B4pxmNmK8?%_fq9DY--6SK3t^y4;cKi3__p2 z{bA@I)uv@xT|rz>i*f>(FY^`N(A)qvEX1Rh!%_R`yPH`21b+YwR%hbUHg+!1n6RW4(cXu&Y!D<@( zJRuq$s5<2(G#<-MOF{T}Ki|IVG0cMH!zkWf?KO3&$sm|qN>gjHMDuTV_&KfVDO4G8 z1?vo5s>ys~GSNF))4J#)LttZN5ZG*uclvdK&9Hj>LFLLo7y=s$qbjvnSMzfSZjfG_ zkzU#N(wl@WjWa#Fi1gkf1>LWww=IsR*9!8SJeCSwX=IZwQ6CLxEE_2LORY_)hCDA{G zj#^o3F>W=5rLuv-UZPZ1M_8*KO=aB#vFb`Sx;YbA$y;;LczHRTF?PLXo4UFMJ0`isHOEVG7Isa|{e;zL!e5l%28sJ!BfrmBi~89erjc+uU^4JFzxfU885?~OF!#mVEH5p9D>T?mOX-Ktm|u;%f1(n0(>UPy z#ne;qZpVQMhYbXbt8$gsZ;Ij&$6@)IZhgiQ{LXs8)&t8upT20z5`BBsM{#U&Z+xtFOBz0QQ=|H{sVz&5n}>Axa{2ZU zXs*1|W8cD;Cwa~Mwe`prx_S^JIxJm`47QBqI(kiVYM++RTi6Df@Wf5J3nH6%OKJd)G=1$k`vDp!d-{30WI>vyFFGMW zmS0*>@wmornE|i~dHb(oO9I;!{ih9lxR zeey20I>I^~*DWaUolafdYD$_NM~9{iJ&eO*1sWyr(*mj@Y2N8KX+k&FC;T{0#jWP# zv%ILk;qE))YzGK77g2s)MbB#29F`3f(47U=%L6JGii{3x1&DT%^Q=-@9)=l@JP47| zpk6Som?&o9sibE`ep<~c&fH$p!0xPb^T)VD06jkd`AY)HXZ1EhUJlFE!s2G?A18Yv zpUjrLnFjXL`zZpJp|1@2okKbSqKyitL^N2K)+OATL$#yWWbN17;kU7(Q=0W1qV!Sq z^B%04Aed<4mu!cSPS&2xDo8ZFCp#}pr#@e?GQv-=oo6@Idd z+pCZ4=W<^-pi{k!@_R8H4;`Yvd$I9V4;+Am=Yah=jKUm5&Rl%tuq4BYp7+L^o?f}H z9GR|Y!hBlRo2B@a1!{|*ObmU&T0IKG0zYUl5buBGaISu-JuhV{h=zee-=vMBSwXC5xQ z3_X0ioIIS)1D9Q4I5^s|PtguG`3<)>gmQ-Jc32PDf+UXo#Xw$hB3(C?1??0KseJ$~ z$B?Ae=7XzVJMmavfg2v_!BrEx%q+?bOVR)^gU3{L0E-ez(dPr$&o#fpyyId&mkD(P(^R;%YuWl(aO2}; z6bF<90O{=HX~Oyf)f>nH+?wjXgr3v^zL4A=I7`k926{MLT9%Q78O?)xRe3E%K1IzN z$Qq^h2=#Ok%wq+N&VBO7+=Hf0o*32?PMAs>_Xi)fc9VuDFks4R7ccn(PVG^sjd?5t zq#V0b$F|=^RR^&K5rKNBvs$(0K-yd#FjQz7pob6*4E!0o{}Ig?#A*e8hNeYHqwvvG z+~Y&tJ~cood+6#QR!&R`Az?5Jf{uRhU^c#jqZv|0YvQ0`zjibY&4s4v1>Gi$A;^Zb zuC#YBixPLH((}QrLfIv$yaBV!4ofPACV$NKMFGO{HmIG6IpPj=&1B80c_P@B{g75| z=53()wBU7n&hzQ1b>cZf-^ZA*G#@&b$(ooXD2pAzfo8uU zELlvdqW(GrOCHfZT)jJ#RbXC~x9a24$6;x`naX^_h6_K?%x_p9&-$37krbaR$#Vqz zv2p|q8GbnG4%~B&x_mf{QKz(}exq4+Qbw|}!bGYtlKI4SYKsPW0AU@5e0+v}Oi`#+ ze1zR8p5fgcp47fmM}F;vx0J(jZPUAKT~z8fl8vvVefIBs$N%NbcO)D}zPqUGDE5)i zka~?`eT8M}*-^|Slvob!UEKf&-h7Sujvi;T?qc*0)Gmi5V$(h^hy7G(7VHjwSgYD# zg*q>(%6X#BO9rTYM>AJJ@K&?Nu-ihZ*;o#M=E?(`1@rBuHjin*SeAzc>f5nQ5QINB zj%Q~?A&bsV1Q+i{FD9~dp&d1~p@dk(k8KZ;VFGKiB%O|(U?i7 z!1wfE66+w=T}dC=(U3c+mz{;V{*L#L9G3eu+s-Px6+&tPhBcA)*x9CvC4R$Poyp&k zli|_^bkm1u3H`>R)qccbxkn2pvjky)`sZZyv9O0Srm)mV7Nrv|uY`Q&0_rWnE|E9y z6&#O(aIe?+2fvk$PGNo(cDx6ocTs$7{@RZ~fV*WwUd1wfS~S5LI(Lr#)Xsx6`*Umy z3Tetzwm=A_$Z6OeJ*V!|*bTAvQffY(g<|zQU^@Ff@S`Pq_j@=jF^hFqkGPQ+GrNGF zgA7x@WuJQO=z=w@nVSWde^pn0%W4T#Z3v3n>Y!GO!!mY}J^|l;>2P2beET5APW&!= zhbyRI+s-7tP4S6-E^H}yx0F#oF~gDCQywbCFpl)trltm_TjjvN%xSw7J;09;M}TF%=x4 zvvXOr+qQVlb=%D+pYK>tZ@2kwd=$iTQ`e=jbfU@MF<3>5hblhn<)hZ~av9vu%AY^D zpIYz+trD||!sfA~!b5s8k1Z9`3hBG~>{H<$-Jj38wX@;vfM#~-O48G0SGOGVSeUeP z(ef+kS9h??X^#bYJ{l6;*a;!y+WIuJdtFJjdzsBMcR4Jj=ja_db|hkP1M9d8ZXU~@ zk9Alc(3D*%0LQI)X zRhFQfO=nQkCD_9Dr+!P=5+AiD8nySo8+9q$?(?50U`7Ii6|Yq%!myk4Y$>bjHDo%^ zCJRFXclZ9 z1uaJ;oatlMI*{p^8!u!*y(6B7*TWQMU8i*;WnW)wS1hIEFL+>f01dPsTM3^jwCYE+ z?=w2`Bdg@+4rFTXh&Nz!l6`N{u+3OlLry^+%fU>#QlsUpx>q%XaafwsvD) znzo$zh#9--N1%hQOy(?8e{iu+sDGQ!l0Hppoy66CN{mNV5rD6j|Z`P zz0huM(vz{npPC!`3J;(mfsqFGIgjhG1S1-9>ZyLen%M-9bmcWHL~OKOORq+(23A@q)4n1m>8rtf#cb_;Aj8VMcJlW|OiyU;FKjHP$8x{2#$LU1-VwTxLw$c` z<;9OG(9~a9H=k4GF*rI{?XRr%$IiiVnp}Tl2O9W%%N5WM;GoF`2I?@SJ1obM3^;N- znA^uhXnkkZ+mxyUu;KCI(i*O(w1Y})WS>Jo-D@Klr>{D7BReFNoC~X-E?Khn9qw>h z?LqN>QtwTyj$aKA?tPAwyZnii!G80B{fjnjVxgZr!R!s*&7m*|0~Nkgd?op_uf9%f z&RIBysFj_~iFe6T5p51$4CI^8MRH}3b_zxdk`09;Bi)?2eGHIpV=!ngYkR}rNnRe&<^@RC)k9= zWZ%j%guZlRE30X`bq;YHhqz(Cpfgl)8;ik$Cu19H<9%}&Vs+I}nO2-H%%JVtSVZO3 zfPxe}`N>|_s?$wzJX|ll2Esa`O?$YPa)`HW$&S8G&BjayaPT0OnuHVcC?0DaQ2eTCi5^ zmrH$3`P*5AI$y$%MFLiBs3ZCrE$NF}pAR5Gb6CDb6l*SoSdcHcYSv{CDPQ0%cY^$O zuy7nOCGKF=vbCk?Z+mm6dfIuzmtmYhA2xirDa&s}Z#R69M04Ld!}qn}Tde!+IlLk| zdb$Bv!~uD7<%uXt{C-3m2KWx%Lg0MMc>RiYu(H-qe&+Rn+8+<3Xo(0k4FLw=+LF-} zJrESlxiz1shj+{(xEAI>kft?0VF(m5GVwBqY}!ca`7FRa6wx@*-=Kl{tZc~dYm9CU zg%F4DrDC8pYd0+i6oMr#3aU1Qe$HoQf`+YiIJ94HI2>rk&fppY^=2%M;5NBC-N5M15s2ED4&L0?K7j zQAwL29ns~reJHO0GkD!qw7P%=H7dUf%j+Rd8TdDuykBvX*|FYU2CgmPR`yAEEFXHWV z7KO|TN1KN7Iob^=+Y@U2Npp6xFDviCj?5XNYMi_k{9#B%PC}yxBLBRF8n}CMe9#iA zw2QTi^j=(?Tn*kwh!JDNfKc_-03Kt3Ge*!wTC)orqA@AE!G3G4qVV0Ui}=}cvhT)X zYXmLZ&068W@Y!xwU&vFV_wY^C8mhmS)yein7vS}}+)bPoT(}5j4j*JieT;$k>WWS& z3ptDrSCCZD_0@>dh@YSYJaBm8$(cNP(en2wPS*0i=Vh0-AfVMYL62*ff6{&ED-2-0 z6L=2Z7^0UE7_{V;2MZ;ANZ7|hf_!FS8xgkbEVyCrtG8KU`{dbha|X*7mPz|qaJfFk zfbIRU@c1M5)$1%D{au!Qa?7(cY9EUet1P9>`>?(Hjc)8?DZXX|5(yfRqamgkLs zjT-L9V*ep!>}Q)JcbxWcF^}5>QsujZQ+mJ_fwfOS4v5?}|NmfFkoRd{5M9uxE2+T& zh>UL?r+aUpm>hVJ^~Z{K@_AV-qe`FtDhQw7^5|h_8){8b;$}o%a8jD z@a_88J*v&R$cJcS$tGWi9xoJ*ZSp1E;boK0amN|V(&@BKSI2h>h>Uk&&M(|xiCA{Uda4`>fk;_UBX;TnZJ3xmIu{u6~dGaaA zXEOvY4$U1E--i<^-@~k(7`U7U9cJ@|QDi>CpvmxC2zPWKOStYgU?}g}Mgy2`BwPEkU`;vBqg=D81AS=*2a(HV;6lyUB4E9BIZzaPU z#ZxG2xHC8^Pj0yk^aU1IHg|JpKzP>wX$g#BE?N5vL}bnTCSyBx!#uc!2ajv|AhQ%~ zH}K+m4hxZbYZ*0u@%b+7i`p*)80Y|q8HQSLYx?Ep~}bD zFzhjZI0hj_Rl0u+C74O>$62%((w!O}hd}TmbwAFU0=ninWC+!%=s09w2y=qPh+=n2 zJi!{&F4YYj=7BY@`Ge7MfBvbjfObvi_5SD|zy<&y^s%SAS!*BBVrl&e)=;q0!xL=1 zFq@W~#Ag0WI(-s6VlIXM!J7Kp4i(F5`Lt{|eGP!a@{%U}!D7-L>_u|>wIdDrGRZua zP(AGdr@q{Lu!pl*QtkYr(%K~h(wRes>QZ!v{0OgAJ!|amh0eTSIM0fi8xZq<%U_PL`RPRvRq~L1P8UeidJ$^ud6IgtU8M}U1gy(=QIlr zNf-y}ovHG3;uBU|$|Bwo)wEmy_POx(*ILe^>1UWPJvhxuS1lRz+F>5IOz+7<+Go3Y zds(W@#KJ0mUuJmj^S7BHX-cQu3hKd8 zi5slwCUYTbs$D^AkAaF;YVKZ`9^L-h+Vv>{Z^CvkgSOwok$Gbv9hN*=cafEG4bVM( z>DWb3MpL?Xk$uB3ixA9;mcilw1&swstvTSe#%hRFQz`N`i;&ho!%D&R5*TAHO}NcM z%Pi(wZCH!qjb}WCmx(vF_G^o&|0PJ$#?iD(EKfhXBRPF@%O)J{bg1~ z_*T7enYj!8ebyAWPMqE0NQ}*zb9=#4Z?EA2PcGK^-Sdv>U;2f3_>9qbL^LO*meeKif_(iNq>PU3|A{!=VKc^iU3xu5M zB0ggBb9$*kR8oej-DZ)(U2121Cf;TtWu~LA{#Vybr`@-)KORgsZ!_pqujgG;k(%6L zn}i0c;|@y`Dx_is;jFlCjKqGy?v`hJPOS_tCs)?maAO%(kexHr3=#D+b zuJ?8vc|i*&APuZAP##Z*rDh6sc)-?(A2ZeKAtVrjO4T1@6yKvSAG57usYVp~gnemV znWV2&rTD!g<~uAW)$g7#i3vB=h0oYpA-e&L5#ffFyf??gWoWyimT)UQ@T_npz=uY0 z%um1+#lC}=0DMSA4xh>4;qTy2VSQ+b2Z#6JaBuGV0xsNYleYl($Xrs%z5e#LJ2+|5 z)4ig3tb=n8I`V?u6gJbZFWE((pGIKaa1KX3srG_6?@T`|!M~!Vuh?+uy8?{Lim!1X z@tE4aX4#@we>(q~4G~_ct=_OVqVIo(p;pc@jiKnj zJb45^U$vRaaGy=CXaM^gz-k82VgR2aI)a!DpI2?&SJLo3GH{-TubSbL4c~%FdPv6* zose!1##9S>qGUlzigZMypY^x?Ai6tW3(G&Tc0SmtJ9t*zJS=-acZc|0BXIRUXoDd2 z_E~+>^WP%8pVXS7R8xfcjINTjMogZ>bJBmWqOWuW@nU6KT>1_V!OoY=85P4tw? z`)`9jv;BDj7ypckhpo!I)}poRQLQB9drDP>;Z)=)O)2rw0o1yawd)IrkZ_DU!AmM9 zw#%U9UQ#9K)g1MbJ~1udk04(`)d4|pcxwV?HMKTLRY3XKCaHtz?mh&lV(rS`oP0vJ zP10AwB>JR;R7VV`MD`L=m?%}E4JD*-QQSutOGtsz?l9a~Yq`zSpM1#~&%V0Dlo)f;j4cQPZr3dx5gTI7*&;jb53hhFCAfdrK9{ zXKvuLrg7kyIoR5jFNpi>@x=XA=~%9uzK2G5OE7y2ev3|jNYzS8pP18i?%N+3fVIU= zrzs_+CO7~&RZ@z`-mQlm8#?>A0v<#_hou`3TXeO1A9?Ek!jiC#rq;O#% zNu{NS5LiDgE!iM^%<++;OZXI^>mX+42j+nV>P{cfSc#bObB!)-e2{h9K%zu|aX*l@PJ~lat z7Z>B6zmL4e2=1_Cz6)0rfCOx^4+0f=qi;O91KKyT2nQs$jK{`;?~Anf%b5^U?st^3 ztmAR)rrVQwJ3Me$7SVsoNX@Jxxj()zGumNk#zP>_Dvo2uULMEmc2hTJ0366vaR%T! zEh7x(K%gBKbAURutW-tx_5pt_s$iGB@U@wgVYDt#`YL4g7!McdKR_$SVVU5s=aLnf zn{X0f7ibJXL=#8#gQON>yB0J#NQxB}(Vie!xp_hZ%Spb_z@1o5+9fqh%E0zq)|4d9 zW4IcXsjdNelBh$x0f{sq*9=GoAYBc}F$02CyQysk%?gn!XKSD7>CG}Q<$<|mKynR8 zI3Rx*kbwpSy8zQc1JcQW;9jCB-+-hWkVHT>8jyGcg4;@_pA1M91JVXCha3h(LO)F?)p zW&TazM7;-4E<-y*H)FuXGpS@9&`YhiRKJc?7aNMqI?_$(DSTd63TwEuO0f(*G1-uz zS8za|+a~W!2DQE~Ltn20-j|`9-_VY_QYt1D_gKjxTvXlTB$)9@i=yx1r7wh~^d??v zD@>u!>PtDoEcI-Csf^%0v;kHWJ0s-5^fEy@Ag)ZH>B-VFw`u(_1~@6dR}yOhl2c5vLDf=0(XW?ztBk~BSFe?6?6?CA{=(B z+yYMX5(UwKj#4S{&MEE*q(vR2(w=3UfgP5$w7sL$)Ti(ikDciTtu9?A0Iiu*RHl4ohq^%E0MQuQuU-O~L}{=3kB)7M?3 zNWZl}{CAnx)3z>BT1$4`_LLA0)>DK@E$`M1?PG4r@TxwzA!(ngzu$ix>zVF{ zr>GkC=~jnjK2?}3`Gw2}$S7V_Bcxs!i=KR5bA+&76ZI;khgBKiFjt)uc6v@Z4axvg{TE_uy1^^4L1#00GX)bf^gI6eV zY^3)8RuUz#@d6q=TN(k0{Daw2yzlz&^%{1D4(5V)wT}Frl1TCs#!_370;_aFkfQC@ zJbMlZ%eHkL`d#b#SYI>s1P22a1s``W38>i z_486wG%yZJog3!@qoo1=DEB-IuwC*u`H=w;wH_nU6qFg5n)*k)iU`AH%+ zb74BV@>S}%NGhWq`$5_(lxuLAM@hsl0@TC@hDdCK6K&so3TnTs{<;Lq5ZBvyqS0X~ zQXegq+y&Qj7rE~Oi9bqVu4{D9a;gqb)zP{q7r!8v@VIZfWkGXA&-zOp^Ob=~tewx* zQOc{||0tF75@6$W1B%j1&HY6>D?&xP{YL4KutyD7rBZ^pVLWx%FO{Qqo20H%|CHAb z>arP}{>CP$j&OnkHcKmTwR!husSWpSk%kMO(d;c!Z=s09ta|0%i7!Uc-#esE;+#>`uR!vpKKW9jkVtFtrH;Z? z@+y!zbB%`rsfSo*q!Dt{2qR?LPAt!R(zu;cBOy%PzZ2|K=tBOxrEi5sw0bu-#gpmW zZmGGjpThQFg?L|myGL3eU~~HYK509z^L`-zq80n4kJGofV=sUs$tVbL9GJTNvigsL(h6*>S?nSA(SR+II z@}lG+lvBO5e+%0{boWOzBB+MovG* zI&-QLM=LdHZpE_W!O5XD32nPe<}vNT)oa5{=dAK>VA^PvM9oIsZlf1)!|b-y1$r;; zccfavT($lkX`leb)t`%`&-}iGJPBG;#~_(U+(o+fWT7@)4ZJH=mxNW+{DE|))gx>$ zd1Wg?9I98=;&hnYoDR#YCI%|#p3@O_6%PHeilm%vq0>+(oG#wM$6*O+OoJaviv=9E zJ(5n8PWF6l*pas8`^ve!V$zlG711EZ$8wl6ioaGUg1#AKa19C{&f+NHDj3h#EPhu(Fo6Fgle7C2%f; z9k&7>*qus(;>c?n?SMp~Hm!0%AU?r>#CJ#~m+ILd4;$j~+k+V_g3*})g?4l_->Ksv?E0m5vV?Q#t+TSC|9KQRJ zxnqHLo027Ys?X@!|3);OK({3MFSNlaSq>A$Yc15*uJTGz{IV4-_mJ0#@@=)PrwrBK z@91+cISjWUM|;VOMd3Jwn&k?(V%Eegmlbhl)}^FeMf~_Pnp{%uATYX9Qm!SoEJ5W; z$vuS5G_I7~C?l+*t8s(9rGQN&?*s7Y3Vh(0$Bl*$QqM*^!1A%x(x1Xx0~iK}FJO>G z72@NxaGu^$i)_OOVR}o4rA9>xE-m}Unvpt&Am)fSNHZrPVkXxdZU`kPu8ejOvbQa$lV!KC&rEmsn7acQOxT3m>rofbJm{MbVc^p)*`m@ca;{p1iKGG8{j z*|Gy-Cy;4OKreTLOv^!##0kJuk~=^MatOWfmn(|vFH%q$xv%gA*~`dH0zN+|qaqzv zq~Vx<0NBgd=ulKT-CIkdyJh4mf}iSJR{l~Dvei)myf=nL(Xt>Eu3-7$AX$Vht|P&6 zd59J71WAtZ0MBqGhm8-R>OF9l$WSzGi+6c@Ai;ZInC#8|$l4s74aKjzaEGm8%KztfD5@ zly8Zc%&JApn*?#r9`$C7+)D^M91bo9wfue7_`z<23hXl=!-5)scl=Isqhkgi+gydR z>dI{dJeFElE+=5mQdjPd+*-xTO*1}yt^7l~Qw`b;2kbrC9XR*DX*UHh(C%A&-qCJn zt$mbEyPX}Dj<4xKENHiZo)V|sYH;NwwCnf3XgA}PqSNjKgLY%0Zc&3cd7x;zN$ca} zF~Vjwx}JPV5Zm2Qed^1qAXd4o9!ZcJ3s`@ZYzXZJ`!#e8C`EpH6(ccjlw=-17tNfS z*TJ8YZ8s-6=t~;XP_8DnOIDXQl)(`X($++|9~6SCCdqw-HUy)oeLx0MBM|Fo>eEOb zB$S}bjpPx0UTrKl6P1#*qOp7hlYuQ+{#$%omvU0%c%i1cEk&*@h?^bspCyTM;N@*n7j3 z92?f4leaiEN%?0_pVHs-I-QIx*_DoPQ3*IXVi zw5JMba(!Ik?U)AcA_lym+;sT@1VWu!$U#9-tNyzjudzWvITFUw+!k_RBf5!#cm#h~ zki9{?AelfJ1^EIl6l7Wk3exdk1(`z6T7Y^&73%d7nxv`v<43Y9XAeKOlFJ2N!Rr6t zE%6gzD8XN(wL+&fy^aEG3HY!8L(1|3gaTz0pcGsvKw|6vQGf>5$oetnIuE-3v78AZ zSjH#v3d!{kSZKu&km{NtZ}5O2jQh+SmaTTol1sU|c7wTlhouJ%9U)gU)r1Ed32xo5lA^8~Ay@PjCaEXCm4B77 z`JOmOUc|)c47KWf`9AhZpQr&pU~&}wTd7T!$d3iDdAMA*#lNqF=+o4cW%6((+j54V z1Nh+=&y(bt6gco~_}3T=D3GD=|MIjBKS8aiVof0Y zLAFiu8&it|XbYn$8y}ze}CXBw=>I0=O~UUP?~D-GHr{}!-jA5U&Ae*Z~st`3{0Hrgup5=)2garQ^5{b4G< zj_bFFcKj~)^jNc7ubabylg#b1Nf3Tk8}5){;k1cbw?LjP@GJH^F^c`K4VPVTP@a*D z=Pc}vA3)0kOXHT>JgT@`u7?$6huv}mfm@u|BR3ReQ@Iwt8*p2Rn{X#zCBqXhES|1Cq0&g>ryLL@T6_hq}Fla+h2Us@mm`$z`CNQSX@C zh87)@_xL@#_{L%T2KHc6Ao*{NzJ^HzPYp7}<5GTL-PCed_( zTAh>~<`KtvVa7e>s(VMZe$?p?c{P+dJx^f{95;;OPRUv5__e2Glj!Yz^!>2nQ967E ztZOnQot2ZJA2j|f79kbrr?YZ7Q9MG2&&ol54qt44U zng+w0W*hPZ|F2sayj=k2Y6OTaLYRUqFfVw+3q5yWEj-}5__ZX_{WDf^UvRO zmVZvuvx}h1yXw_HW!&|{__-{9B0yYq8FtNX(ap=URal_bxWbvObeP&*lhc{ytJk#Z zn%sc>(epJGU6Y%#NpQqmms44Tp0Cx>*X1KpcE7ruK(Q;aMFksGQ?y>c^PaZb%NIj3 zoDlC~NE0W-r5F;VO^W_8bHGj$|q>CpNt@<{-^Z z#HASWqZ9I=)Vq{tIw4nzA&tg3LHmnA19XU?jEWYl@Y74jmMEiRqO`#s^tK15tdh-3 ziCYyk`HtKy>1MP+N4PGpogWDl-YZSBEz$L}orTY%D!|YK~Xv?1v>Vf zwL0WigjMu8npq^LXE*FQs=v}l%4Tm#^;=YI89o)p?#$D zpUxlTxX~FTM-O6Tb#4C#Su(n)Fj!g-cQ4gMBB(6_`eVD86NB)N)7Xao$#Q2bW8lCwG?dW6X5Vl z#7}afV1I$zyw2z8lg#Q){ChP`hJ|qR#$Ye2y&z(5Q-re$N%mtAttXh*o-nV?XU8H6 zQzCZL+NZK__N|EHn~f_81xe;c`|T;WA_`zucc?u_5Xi)kM7l`hP)+Owv@mK-J9FWW|D+eR+2ja-OO z+;DnRt1bPRS#|GWOCM@4FjLYqxpeGu`x#s7%l1OlEzMrYX~&V?^%!2xHBZ@x7D&oV z6y`?kJPz$Kam1)(y93XG>2;*xpeq+TpA$;t&k0#maHrWea%zhG89tPxf0ifN z_t{d`qG-QR&zEw!u;p6UWZA`@vK9@ry!fTM@%&i{+*w-w3+SlBT3Y>54v0T5 zoM!J6nrK$jhxSOarHyoP?Bm&?H7|omQu_BuiGM!0pS|@w*zH?r4o)P;OF1lisI0cTf5{nb>N$v0^^SAz8-B*<)LT?75@wIe@hR) zjqk(ltvjWdHwK9@^G=G>_D~{KO>iOD#O25aJ6jXeF za>Rkn{Q7VFadV@CN%s7R0{bzHmE|mbM_T;BBy-aO=U}nMr>jH!K%X95E<_gtG!p&@)Y~!Bzs{p z`ahcgpo!FcyoHyHL{+m|s)w!hQ2S00_(|&=jK(ih^8$11KC^AD?Me1Ccoh$C0~Qaf zf`1Jw^JG|8a$99~bE^MTzkv za|czSActHwEKyt5@cq>Hy&FC$&f$Y?gG%ija+v3lzRTOR2QhmjdjyooNi!#sYz0bWeUPq}QC{fvVJz8dDZbO&M0O-H=&WCNsnNj*& z$4wFUHt@;%iAikkD{=6EA~2A5c?5o#hv~gM%wxF*uJ&??#NT7XEQd+%U9|rIh~-hb zBhDz>X{Vo;%{;a~kGIQ+$9od{vgO+2t#2JUBST=QOZO&|yQnlTm+>wkBb`*;i+g6+ z`M`z=4HA{_gkxl4N_oLd)tNE`Cw9xYZz%0$z@RX#8p+ItQ zAP#!1dDC4r?L>% zYu9@!K|((&^i(o&btu^jH8@M%y_Cx0l>s!xOPMbGu9i0`UV^ZWB1%jBw z(x1cS?xoR%X=&kNp`V03J7jzl9c`HMO4wU1q z#FmUk+vSYB>m=X-+E_Z^tuzc?I@3trS*BUK_g%+Nn5j3O(2+hWsg!Hg5J=wfb$Ot4 z*ptvHwu<3%Qfz>cfV1OG2F^(ojv0DhX?TQ2=Q{Ukdr9R7n8xZ{N(si|Ca07#9@}8o z(jWv2g_l-lLy3GxX^`^IRKo|PJcd5^QRa$T6?*EUWRzS0d!IQYFFLE#S-VG_EJ{*2 zuW3e=obCE%D)+vt67sa5mG@3HXn8r1yh;mspyDb`H+;@2r9Wt5E-kAKH^JI2PsGVi^;wbglskWYQf zDmmi)5V~JhX=C{kNBtN*WAUan&T3)jBYlyUOYH&_6=%Ao0+slZ3x9a)NRI6usI%2Y z+JjZpF;J!%GTJBZFHn_fG%-*R~Q{R)9IaKc*kYaBoC!Bj+9zeQp&|A0Luq#j2?_-uER_C+e&p?WmFI-0Z6G^05awQ5s& zb8d6;yF_gS9j~tV*4Z<}XijJQZFG8_?YG?NooF=Y9K(ypqNaN&<;DI(bUql}5@6n} zRvrDWS?f9DYDU}$1LXi`1eRkjZ*6KLPsg(ggNT6C?!S^M7mH@ z`6PHjz(34y5ZqhBF|;8D-}b^RslHFcg5PU` zbB`QI6=IZg{)_#cRZH58LwEgL4qHa;kXot^8le0*-+yY}7VZygzR#Ol)KXws07t6- zRDC5)u8TGlX?0yC#&o#rxu4@{i#Qs5+K@3skw2ANhpZ_&_rrH1LW3olpOBOG>+eu-D2ns)(6lZ?1+O`pMM4%ZV!!UwdX zrm(qW4xb$A0`?2X*idgc%;9Iu;ToPMx17A8XL1?|TJ}-(`bs6A`2Z!`mhmG3Wc3D^ z1RM3Nuf)V$4pYEkPicN7aQKsF(%{AOeC~$tk&gUBduh^9IcGpBF>MO0>s;Dm< z_Q_)sDI!7XEUZx{CxF*_EO^6n_l~J^jczo+n&?mRZm1*(ozxZ$m2lR4{3~z^d!c#b zSuLWg-Ihv)q`;4x>a#`iU06a#icI(zkKh10^D2ie;xl`%@mjN_>ZQ7MoI$= zv&P6}G*xS?)M(o33ofY~iqn;$I9>V3c^VUMKyex~^k1hj6?DwMPh&i3abqRQ{d^Zm z*V8tRV_Iy{y@$08_~P`&c^otKpW~RhIzly$V^rffX6ir3F~bcs2c+3lns!0<7eDPn zt1jS_Du%vJR^r@Wb$&lb_Y1oBuy&HpCoA`G9CIK=nN^|sJcqtas>Y9}^U_HhIh3>A z(#B?!w4;>WM5!PAu%p3s^&PaLU2}Rbb5<$yB%3ISxEmVKREdXD$!ATmj;l?>n<|xp zy*`Zjrh}1?GbUENO%*>xInz{`gT?y*tI`{XZWpaeE#VTGQW*(7<880FH-POvipV9F}Y+Bxt*Ormx~53!kgk1}P7O zO12(>#!kM<;`6$D(CgtIspBc?it9D;rvr)~+zph3A%i60HT- zBr7|uwV>P~N~+(wm1vtP(V?~TADP=meg_}gCT0>{AEI<@&{ao5)UOq|@E0)K#-sv* z*Px%{e=qzAHT4J?2^H|w<|B|fJTnycwcE;TlpMQJy*zl?wrRWNt6-(7$bwQHIw+j_S-{5+W2E&Q8OR?wcWl^T5l zdC=TEgPA3Wdc>XP@N?$y<2<@xL=XDUa-Ku`vnU0?mOHw)t?8ig-2>QJCli-9=&+1q zx*xg9-y4DC>C}0c63TU*hbeJ2I|6F1VHu3i;0#{)?i>()-W*n)1Q;zR0-?>5YBO$^o{aGKorNP|LW%IWy~K!cd|L=W7McxD z6ia-qvBao}vBY-v*t=qh-B_b85)+LL>-|5odm#Gz{&}8ZX5N{dnVa&?JMX;jJMr3Y zX~xssPntSCFIYYf_(pIb@^%0L>qf&;3?;?r zRg{@x2<`j=0^v&ge6=Bww-G@b@Z5Xoao(_Fh+|>b+`%(dLnc!wXicQ(mue}`(8!MG z_?l1T63++wn%e4jsfAS4ucTtB;2Aul*i=Jl<2Sta&e7%HW?5Au*$9Z=xN?6Q^qFrG-jCo8t?wk-L1$P7S!+L zJ?vDRW4jzapJw7Kj-(dy{O*{7oer2fT|f!WWtUS@nxO^rT&|7lC)$)|=mYZABi*nI zyIM}Vp}MJYdxHaz_O^E1(|=Dc83xZpeifkTAAyF(fileIVc4RFA*d(zxT>R2JNE;G z@*e)C=aN3q6}*H{9<00RZ$Mx<`ZqxpkXHF5Hjg(nCc`i%<)<UO=ZThE6UAkY-BnfGb>H(v10(kY(_t#F>UE zPF_eFQ<4whGP*m{(ABhdKF`|#%?2=X1jT0=Ru%g+uOQdtxpZ%)0k)E685+3E0oart zsu2q{JJ0=GZZTzU!52g4@GtzR@@zvr=ZOH1EUAiW8|P5+Y(q`4@myLz+fWt;Aui4~ zY!doe)3Xgj4UpG;zQC{^C%0u}Xe0i;#`+&26LdDb7a1}H4qprg$5gT|24T|Lnzz{S zyQ6=%V|v&rjW$lcnCzXpr#~8o&e!(`6eeFr(23=Si^3}Fk`;!&VylQ1klF%sE*!o( zOq@Tx;D^GqGkXSrwdE>h}|ZnYuZs{=Ab+u|V{40J@Z`!@VaHdpya5VpS%}Z(J zMnfj_Gb?T~c#HX;tW7oPSD%iV^=fN^~^%+>?GDSaQ#w3sa(&HAcyHKarz`eu)zx@hQY zUAV_^*A;?}-<~xb6ibw)`sWOf#0nu4oMYH2z+!ohAw&>;hLht3L!%O>S^|;sL*T?j zzWKV;{F9O{7|N8|Zijnp;{i;|WIMobJuSFk=neU@=NAnPsqRJa7W!%7?H3IZ;@^X) z=Ve0_RlkJDFneUvB||;&#Xv2k;vYyEV~?yu1n;Z#xNL}~kjr4Ff$4nNfEU#@kpC5c zpvQN`FfphX&OW>)s*fh?+W`=3`52ScQjzL!>xu5Y@g4wrux7)Sdga2hlX{ zn+91oT{W~7@C=#bb;F;c@Ys6)rolxJo5j$}TZV~Zxyja1e;WQ4#JcI!^Nyi16r5(? zF{H{9qtWA4^*@l;T|=7a-klcTHLNMo*4~`I8`^vDy|wi{gO?-hq6~a!i1IjW0px+-FO2zMwHSk3;$eu&b*Gy(?YV_}%YR-$`!>~ll5``==xFJm{ zlFkqBHOH&z&H-su_7S$4+tmFLjuz3~-&2dnhO;hdE-KFMq zatC^?7-GP*i^w%RGUx`ie^0^B4ChS0NNQU$R8N0|gy#mI8Xn^cn&Jf+24%*CB29@K z&ztfF(g|8q9wL+)>9&JfKF9X$+?WPDH#BC?M{^VtS!axO`*Xv5LD#s=dy0QyxaTs= zQLWFcdiu=U>TgfDkz7#WE!-+AEx#>NVR1CZ=CK!Wt-@arim6lc+7|F1CclPK#8m@hU0=RDDgcFd2P7rk|d~AR#QFw$eU`F;fF^QRCzQKRn{3(q{=sFj?LpIz_lvp zA(R?Oa>XM#a73BTo>wI#J{JdZw(h+s(j)d;4G=0 z-VEEA7~_ORLklWhQV*3DA62B%vuF_1kO9{!9e@yiCqc*BH2F04s;_?M9P3~23?~HL z-MII(>4V|2OUd_YmCxUCPhb7A_B%5M6;wH;Hmb}YR-{TRnq%|m1GrXY8-!9L)9CI; z{Lb<8?xSHw<<;nmGn$Q@MW2JSJ_j>C2gg}|`veA?$v1^Wo2uR!qcerx!7_3dkkb@;Sow|W z>!cbm+c-iec?)aEqLa)eI@VDqwsQjaQH{qsdZ?4i#3%b|aX&YELS+L2XwBZ>6{V}gUZrxM0sriP(@{ZVUMN6AkJJY5T@%oKVyFA&hFoRbo5 zY742Us)t8b=lM3#T)ouQ7=mnw*7UAreXExqi(>sKx-UyjU@N9PlUCqP{GKei(`_c5 z0|wn-l&U~I^_Ed8FMyBgBvtbIZm|wbm_c>mq9BFagEK{(m2W7{NeY0S*?~^dRB>-j z`p-#vsM}umJ>4iK{SNqIXDQKj%M*3*EvlzKb3{*ftLfb5m1c&Po%x8Xbf6zD+?4F@ z_PB~!THx6So5zQ;1ykS&LaC7@p`3(Sw;Vt9t67IF>zm@z6qh#3KiG1Az~tAaMi{*< zF2MlsL#vlbS}cZDtPFOPWyqZv%ZtpekMT~~G8E;|EUQ>W)i&B?<-6)1z={B4;VLI0 z2Gc!PX++5xm9S$cT!kD^j(Q<@Fiw{PF_KHxfhD9;g4nboO>>i)1f<|D=vd>DLg6j? zxj8!R9#R$UI6zO`q_tk_7U6eVUPSN2(t%CWH|C1(VKCv4b-lYZLlC{jQ*BSFb)5%o zK=(#QN8GeriZ->pH09!GhGlz}L(4@+TvB5~Tg1Gx8rjUf@c@%!95|9Q>7b`n7R(~W zQ`&)x*5zJO2;P7>>LtAvtF@$kC8aa4`!K^>Y6bnLTi#O1pmB*PBq-t;FHygNM?A8c z6e&?|MV>xVOHuN%_VbZQ!1b}Ml+-h2AzB}9+Zn)rM3(a>FEEwWzXFB0DYiXaG}3(B z5jv+BwAgEqI5PJ>Za#RI#b@pf&gY4`gXYZ1!Oswc`03Ml5b=oKBuHs2}<{uN(d*c-}_7Px?*i?xY=mV+4dge=xLx7D0hod8p`KssF)#}nvk_1mZjI3dGwZE+W()`G_$t$756ZbOs@If+rM5oYP;3Zzktx$t*q=sYA3BYI=1` zEzA?SU?2Jp&5D*{VYKOwXrNb|Fd9iU>(tk>bX7gSvZ~i8AUfkCCdM_OKih%$tVRK7 zn46ZdhL-Uo4R0hJ5{6pC8%qxzg&tOKvvfo*UUkD;TUL7)kZR|ZQI#k!Q5qmDq;{>O zy22Cd>{ilgAu_0{YQQ_;nRWvh-Wuo$m*aP}Xs|tcUWo2p4 z9i$6_Fu?jplJt;sjdypJT8Y&bl5-cSkN+vkw^`;-Usu7|Ax5`!dH{S(ITy?uj$bId zi*%&;--mG+2XA*ApR$LkS68VS%LWYFuis?r_O8+)y*#7|SKxyM`jp;M4;@(Ncl)B} z{vlI8sScDZ%>AVCtX?yor)GFOo#`jdF|BB-Mi<4YU*b8x{?Z&5hgcQ(Rx7Srb8;Ra zrF#r*Bx(4n09~P&jKMPaG+&naZUyY-SW6kX4**jUK=dB#hH+9QA-D`rDVp`a z-Ct#GwUa)6D=iTmt&6^s8VLRm_aX!A@MG=bN~s*r4vUFe?5)-MYP{4-@c(Jo=S)|W zvDVL-t|-^H(ddcNG8k)gnDX3- z$umQW5b~_8Go-7c=r)upPL=9!X>{XaNf0U1mwXLX7p>S<(?f zti75VW=o}f8@a0Xy|Yw19SqXQ7hy{{qy zEnj0=I#2THSm$3=Sp+6Ifg`Yv3`&y{>Y~f)Q3$DFha?t4g6xo}LWm2868HpOs` z4&(E!hjRK73_x+FT8O0`?&dkDBtX!f<5L~6#eawnxoN!NS;@gYVxXK677uyfI$TX7 z3I-vUJA&bIjoTG4$7F&J8g01^o=*)6N0XJ$;&LJJqlt^8?J$ZGzF5i^U0plm+qj{v5=WqWjf>`;RDYSYmxaLW(*n2+R^bP! zh7MepS}Ud20)HqACxFUyex+2+>;0^EHV6Q^TH0U%pH1MF2Tv=HW>LviQV-AIkKlu4 z#yVK^{#wYhZT=k7}_u%DCh7XuDJoR8Zg!>8^0vDq5vzUBzAVuqk+8 zuiMN6{6w*q2XqORbJ06F9Rs6g#ns|k($L+~c%aQEyQK>JqIi$g*kxOzx0=2dvYc05 zAEf?!q=hg{DeRTfz2egGd(^j5w4aWX9e(^gTD%uj(UUa#Yp=AM+mYKRMTjY@4ylN% zfD+mIkYklXN@TS?YNtfLw?_|X7<8%@Eh-E&ii0#k^sFpSg)7ltR?ymB#9gh3l*abB zy@ne0sJ(^|En2jO5*(D*1qfIz{=va7+W+#eFWUdm9<`T##U8bne*7;nkpJ4E#c$KH z@TciiYHKyUJs@>xG9l?5mwP&`wCT+QS+nk9fH7({L<}}RUPbTZ2O=eAD&_)`A^XCU zJ@z1ZIFcchHD4)53l2&Z>)(6;td)Uh;UeyEgf#0e43#Ly0OTJISIr!C;YWjH@C`GL zgmuq7)#4quvd#bK`7tL?GTqbZspKK4IX2aA4oTn}KcMJ5$xnQIpL*m;CB;9x(}hD) zY2C~{Z)s^Bi1mTwc37%aqRst+s&DhEO-du`d{`B_>_%G`(+;Tr0lHwN~*b+fk`Amnu9ay%OA(M%ast-i1Rc z7w{QKy-!H1gyUp5DRp*>xK;2|(aU%mF&N^_$tR^y;TkPFDOq9EtKBIn5C%QRo|2A~ z=y~Id+-Hrej+bq36-PW~g0rs<@av+==>zrJ{a2hyQMPOGLM% zr70at6}eip8)69o4CkG`*tzUiiyEPL(85g+s9~GOfezR}!m~L$oBz&w560Ir zBx$@)3qq-pyH29}liPpA^s=_c)=XReltO}!9v8VejsjWF9f$&PbUl!J00&8p7v@jz z|C9!ouK8uovRcjr6*=h@FPeH=S_;+nGIykM=KsEVZ^IeQ`B4`PvFTr%rD>hx(*~m{ zIGozJ0AW75Ir3#Au$)7WE8nctEn8Y4$!%fN^Dz$(SuT^e2G^ z!1}7Idiww1sh7;^*-RaHOy2-*9875h6s>}79*t3kvSWrluChCmGx?|osfF`vWfz2e zz-4c6#PB~X1ht|H52Rr6Qz|7sz$QP-YIy)wNBzJ7oL(5L(hEP;{u14hQl@tidV!R- z3qR8fYn3MC^-!uOmT5_C9!hz_ENb{j8UrI=J03~D>MAbA?!(E3%5!*tlMT~(0A$12 zFUST`!eF&S%7#Lge;%+LEMVqI{`?7?Jjq-4&DOUx9&z1+x%TbhAnnbQYE=DoSHYOs zw}&MF*j1=u2FnGkxzT&DYVMXqKW?hb_l%xR<15>@#xixj*cu(L+JCrxLvZi>#n$+6 zcG0cz4PKi)C{+kw58~(l?2QWm{QvEZi)T^rQ^|sh$IVZrpS+vS`n+Ea+V*+B+C)SD zk%CGUyZm{(dRDpUb~TdL|0Aubw8Y(xhGMds$8cjn2{}r?mNtLGN9Za@( z%Ox;G+FB?6D~;EcXiINxkP8LTl%tUh^T_xDJl}0}@P!oM**UQgYsY7fo~~i;vh?PK z)E937b$cn*Yn)t3!^`^Kl{va}sVTwli)#puto^3q{)`7grq~0O=OdXzYL2%DoCng) zmr}FRIusN;J>E#`g@e{&`Ok~d%W?k_~au>Xk4%$0A zdKU}@6yR);PTQp3!mRC8WeDBlYDSRDdcA|`J^tV?tYyX?fNJM1PBY>0!fypRR47HO z1Uba(`yzQ(6y`~x+k)&Z#9H$O8TV)ZHhM?dI(b4$>P!0)=L_48?Bf9gvd@COl>%hX z58H|Y?1^d1!#0n{VOaE?1{5NDHHT+^zU+@6NkjHq5Q?f3c^5J_{|DLMuF8?U#ZfL7 z^kfB){p&)7yqkz-Lv4*efvutXSo*_JPIhVgWxiNS(#snmiy;~03dSXMxb38bD5V!g z806!4j9n+m(>XKN?(24gwmPT}%#y8q{ya@@ zP}N5$HF6-NeZY&Djv5R1W{H#Jc(a29S2-!A@q87Fpr7C7=5t~`AyqqrRNx7Dee745 zJvo*t;9)?);k05b{P4h+A3mSQKLnf2&hb!l-{L@ZIOl$m+f_NNrdSfzX=q{_<+{o} z#R@?bUqUVmdwHWu$mMG-Ee{kBZ>n$rWLZc3ZWAilqJH3MwweXM|y4NoK^;Z9J4)x@Fy+2R*a;wh)tjJbh5>{Za^Sy<&6)g5G zi2eVzda(_kI^fRQJani~8PmZYSGW2a?fFEyuNKa?`tu0Il&n+pQ#Ka;@WNT7O`;Dp zz*7!^753Sla+DBfJ?|;&9X*cE;J>hWC~!dLr~p2$Oxa3LeB@F_(vrfIS!60DmkJ)K z#p@^ocp!6B9eih2x@gcu0L-w>)S{GJ9x7?$O38jHUi;MFm%jtQk7G^^qk*bWCFfKL zzWxc??|}s00B`)hTdnMI_4h5t&SUd1BLNEq5`47~QYH8zEx1zuQi87&rjGiuavJXK zbPlGO0~iQPG%-m@B|l&J78nrkeC0UtZCPuqpS;i!#xrjR$|3IMXYwk$3~?|Yd;k*{ ze7#I1uONApaTO?RezvF?OY?&;(W`!Y%rp$|1GvjtRW~AxsD^K3E>G3ZMew zgF}@i_E4BIhl-V#M;9*z0IrhrQn@f%ahhFTUIdOw`3iES;tipJ1uJYIJaI!b(Av9# zTutzl)dKkJO?HmA9Mz;5Vceji?BjWDe8J2vlGcW9RFtO*^{qWC0oMvX){M$B6NN-; zR#myV5gefFb>*S14@cpr;N?<2t+)W)WouGB`L@XIrA5l6g)7z$k@9+3eAkW~o5-t$ z$=08n$f2exr(23e-<1fzn7a$hQDX|=e}M&ZJPR3TR(>E`JGm+@rmD7=I|)J?>x>Ta zS-tr15q0b;kAt-T#jdiAn;gE_L+*^zK$V{I9B8~8=qWFUW%eGu6fBVQ@rjby)He2xi7N2dox#ZDTj)slD4t?dJg7?)(OpxQTd^>XJdwj~vaQHBD zryoYQ`^jDbYk6|!#OZ}edANG68O@hEwtQtedGwb9#V1dxPJis)VAAxL1Dt+(`VNHV z;k;0OHUt10_}c#RAwi;n17zRe5)Z&TJ}}xR-qJED-g0a==9fc)C9VgT#T=Q3QvzON zQ!TpF;wH?Mirv%6^k4vJDrmV5lq<=@o@iVq5(eu$sm%b{Q>42zXaI26DvZYeuV{az zXwlzwcPvikL703;Y1|-8u8#D_AbAD&mZJyDhXqHfJ4D{kiMb(ih)yh>VJ$sEZm$=t z)-hw`ws^T`jrGh}d7B{oYEAoA_7Obigmd&Vv&szgBwsaA;EgI1tiOFHuM*0>EstKr z@;s~FjHs6+EnTowxfV8zIGuuqmN~OF*>*SulIbU-fmTeA!#z4y<3-NOM)yST5DyM^e z|29>g;ApM%-bSgZav55hCNE&`D!#Wx>t5!KrnEHKo7$#huy$HUr^_CKDC%fthI|fI z*gH>_a~oio3sIFRv4zktr>ZD+o^3>I>v70q@xyAi1HV zN97W{Z!Eve71ZA5CN>psa$hPh6rUMs<5G;#V$v;>hu~R~5zFKVosdl%R>;45oiFd~ z5FLKPa`0fTW5!*RIs8zpW%AVXl(7=sS&FK!l0%Dik{lhH;kgeizz)=Rl^o;AzY0HB zLFJm8(W7>qBN*9X$QT`U1*?WGJXSqJ!$nnFoh@%tzut~`Z zY`v_Om5$qHJKh){^J$`AXRW+mCKe{Y z;=)>cg9ES-%~=zI17a-?acu0_@Qux^Q%pNzA)Rs5G;Io>hnAVs%=B`bT&3lcmie~4 zcr%Wk*c&z^BGS+v+1v_|>h{Qs)`*1IBTd>OQqmszxg8=-_J}Wy*e~a)XwB zNk~H3SNSg8qaz|HTa7&Egb2!3BWt=Kg0j`fx7`py*=nRq4@6M58UeMkL#`KHk28MU2$&DYPW(T+W<&~DTHR_s+MlE+TG>Q9vm8o_I;7fr5Ccb zQU{<&ws*b1%61ZWI=L0T&i3Pgf@~@FTDJ^GKHb;(ejQwp&z{Y~v)xi>Ly=mKj`}Lw zH{+0P``6i8O!z8WWO_c$-7mYPG@bTU%9<<;$3Xnx&plA)>pVg8kf+HPc{VNjs+{60 zkq58!6)9)Qy07vK{LLEtyZl%u-fK+Ghvf?5(FAMV!}2_xFr3aFlS?<4dsuc@1Jk#y zU>Dc$t z{{{~6r4w@1_Qv{X9;WSOK5ftP2&SzXIUk7#rmY%rYlsM@ts3bYg$Smt8aWw_2&SzX zsoyvsoCy6xN;(OIv6)t#lpA!YAA=mI0(Yc2N=hsus6vg1O%XvAYUHRH5mcc@7B)i! zRj85i@ra-bH8Qk?T7^`BYM+w*VFs!FDS1pvsmrp%l0RgJJ#Z)BF2mi2`xov597Fm* zxJ7Vl;I_gYfIAC!1MV^0XWXxaa>w5giUL6v4!BhW5^uTHz5`U-#)TiSHb0HCMe!43 z-`RFG#H2$XRN8G#KLauvf*zgD$=$^VS7^^Uc_12GHb)LLdh9H?cA9tZgq!u79KLa6 zlk){RMz~3>FUSjoZPwfi@>56Qm=#u}y+tUfKEEbk3F-64JC(*w4dCR~X{8iP2p*X04uZ_27%INtAnm!)1e0PW`36!$Gq-uR9#-2juQmG#37`K$mb zr&G7&CNA}Z3p1Uz0cjP)%P6igK zI$zn1D2mR=my?}#>v5J+%>P0kOuZ{qmIdOGZcvnC=qfLvC4IUhcdqs#ph%ONhA9t< z#wFzs9@V<#G$cWkBLOtyuG|48tL}5pjq2T#TY4TY4T*(ku*R2M!k#%t*;JaA-;;j= zrziHl+*aJ`PfPC0{^C4;+H+rS0I}nD_vNLy@uLUwJaC^X{v}Vu69zy3B_9Pxd)PyH zlK|USr60?Y;tC(?_84^8Wcv28ysOkHZ#0Q>^6*PlS)$yXfT&ZGdj6{O)MeGYN_`bM zSPp#!ygq+cF`BE$A!WZW$vY<}Bj0g!gda^@@#8*O}w!MH}3pUMM^?{mwy2~)Tc zPbBrAgn#7vo}&Q6R}~7r3Ph4=Auaz0=Qik<|AX~$nfm`L5AzKvfl)Yj@U3IUBU7?j z_mx2mMe;pUi^zwVg`NpOrBoqohvftqtME@_rOYd;(|C-sXYR9cfM>8O%Du3>bPRCj(aD|0t|_zy_d&=WPkf! zwg@F@$_Kd(&I;E*VB+F{$-QwD@=+cPMYOpegng@~3yi;%gi_i312mriAnzxuIXX<}kr+TY3?5ePACXA+?CDZX7JygcL691f|P-D(U*B(4e#?qFPHEG4c`p%Na)VS z)Xa}X;SgZ)W7VLWfeb5syY+ep;|SL>@@=uEm|J;}`qxKftJ&Q%={tXhGg~(O;Lid} ze4MRw$lHvAiaJ)3^0X&!ZE3K=p8K;(5V!O%%}UF)kqdR1DYi6QAwK9!k4v)vSwBmK zP9jqP^O2pjSQn}m!0MZ3_rpB4m+FcgbwU7ZC+2nM{Sr#=16XbUpe*(4Hkd5o2XdFF zq^thpOcmH*DkTQ8NZdlr3S?cxi`}&E+=JK{vAR97Er@mW=>P#KG;G{twX=5NcYd6q zLi$pXG6d~|(ThT~b#MrSWM??tFUyXKu2bpfaxBozFcnt@ zrX5j2o*O(JP~92&vmAQCiHxDFtoT1@fGl!jI@<|7b&j-0op2j=TBY~nSvp}IU z^{UL;h>ypTwK8gKME_Q1E#)gy)Q)aSO{$=4F<+`6Z9ezHadM8a9F4}t)Sr4*Ls!Mpa4H$TY?&~)(i(?121Yp4K@*1 zjP5nrGp~gscwGv3G^~a2)QnlC*;)9{Irxx&KGip$q1(u5(j?O}x>J;Rz z@vWNMW4JnX*JGQ{h|~?IskK>fC8L&h6DoF?*0>wN5&F1k(^1<2)23rEm&|MXG*12A zN>^%Qu%hT=Z5HqTV$W+E^n5Zt8OHWC_dbS$_f%i%T8B-5e!`79tiDjk>Q$F@(Ftv> z$@STComhSwc|@^VeHIN@ORI+!2ZV8{Z}zAd=D=MDTvfOTdz{1Wz=g#!hbeGZ;Tkq! z4!xT)2P<5CGjsSJ?g?D|IOgyZ+?!_1A+9-dpz|Tj*Lo(3EfVlFR^LYKhA95spBlxo zdTjGRwE?Ubq0}Mr#Q|z`9=(fYQ9&ho;MF)hzK)I#;DTdeX4uw(ky(AFmaTeE>e7Ub zE^)dW1|+j$0nT8`ZhFv!wU_7hQ%j4d=%%cUkVJi&vN*Yc2E0l;nzC}iRkhfxP zQl93=fy&wNDraW@s3O3p1=?VzNj!g(CXg}}`1`6GRPt&l1F07#C| zB zr7aO~vd$@8+Nwo|bg>s*zdf~X1+;XSzH7z8VL)hOD|S&7d?~FhE0r>)D|1*1cNVTp zk1w6jO^cUSg*bOb})QU3NW6lM^U=r&r zf2Tn+$k+k9-Eb||lPYy!!Jsx5U;!?Wi7|ZMM zi!r86uV6l$^H&_8mZ$7$$;S|SZFUq>1@q&m_VFyTbzm*QPH&mShVb1zi8T>-l_S?q zn6H&PvdUsFHBy15c4V25K6dHEvgITAq4+%yt?N25UqQ?dremE!)a@a$3p*ZAs=b=J zx0#Berr|J&`aC%hX@m0ca|*v7oZ{E$~~COMrx>i*JqeXNTtXgSazTWdSF+77D6|AupVN1X==~|`$M0e ztf%wa@fscq3Vn(6*pV>)XZV~Diy{W=TmL^2fuOnG^`TKe*@H?y9 zD0avZWd4=0Ad$~mH;rSZ#gt-Ip|CO<2+8>f1au0|J59sY^G+0mcnZ%u;ef?whAagP z-ZIVmLG>yxhiA^LyrPQgt<=0#n)f63vYOYx0_>sI!MV;#yX7_zLXMGIH@#uiEbagzdV;oV9;~8_NbF$TY0$U-756aV?iR?^ckMf1fC5q3)di)y6;RILD z^ApsMFjek`VyZktO+4|zaW(OeFgxZtY&|uJ%@;fygrKD3oIpc1ZL4tRvbd>iqPJ5i zbV0?t=HCCAEpPdIn^Bxnx&~o&V;bv;M~4Te;W*HjD2+`P?|GA7I{Ob6HC!@SC*XlW z87v1E0uhrz6E)*rm~1~HfHa%TvT*3EI|cMw6iuAMnhCEKOa)QYoiD}0Q`0`cYC}u6 z&Qw+zMmGCSW$ne#inM%OEv5geK1d+u5W`l-ZcoWA2Z$0jPP`QWBf;9 zb>ZcX;n(e1`XLpt38 zf0k+f+kIyDb3>3`u*c(!?QS~>IqNL_GW&Ox?S4&va?WPKuBY7#C;;`NTqkRzY|yH* zga8~CIy)l7$&to0iRb0*-s=?KUYYEp5t}|RuxJbChaB*<`;D*4B zf-7iMfzS6CeeUa=w-6ptn@l5ob>38AJ`41$c@8VolFy~YCje(9yYL-sDfOJsyld=N zzu-wN%$YhI)c^ zfAYHrG<*>YDRvbZ^M2IE1neYFt920z6@&!q-Nj&Ii4BYtwG4>rIdxgaDy978%}aOQ zu6p{Z@YH%C?GPM>EwxZ+UHv_S_~v6z$*Yeae@y#&toF6}i?6ZQe))Cfg0GRH^uGh) zQOgmMegFY=-rDsCR#FsdTgR+m6GgA`t=_0sT92T&W4QsXIOxzRWyts=8}72j_|BF& zQHh1I?n*FeW3kTok$o?U8-git4ffaRG~Pbl3(c)_Df za3)+C`ehA^EFWmpu+lzPJNB~sQ|$g*roo4h%UaeztddKKYgylttueG*8ZegA9e9as zI3I*W<##%_mW4V0@X^5`7h(&19^WUYb*v!>h34y6`TFBp@?mry!9Cj{*qv5(EO~1? z=GXuR(2|2&TmHnGXn#Q}6;CWVWW09;5}2qnTRibegO;>;9jjTv`T>$ehx7cna)*bd zY5tq@b(?+|?SwZbpD9a_mgkUh0`$?+;Nf)l7de2c{>+$@WAg$m*o7MZ%sN(c+RhwY z;k@Ad;L5<2hpP%#6D|TS8m=i^0$dyG*`Jw{nDULepdjC!pEs97&RQpZ?Vq#5uh{+D zcK?yxKc&~cyJ7d|N?QD)J-xtxB5UwfwRpzt^;YJv6>bmQVYr)cr{ONaJ%G!Ddjaqsse!N4RcyOFJOcgz-G(*t^> z$8o0QnxsxjE4sB2ESfDeW)s`s`SUC_15a0z@ywC(>Lbul>>tr{}xxU$)J!(5_i$5X!^pISHG)uI>n-f9>7xyDGuWQY9Nps*rqfnd!83a$ zun6QN&7fmV^A9UCS8>$^YW2ONCvD!!>WXe@l(!X!*ke>~8#wn1sKYkauwvg-Xn}Bx zDXM&@CEw=J77%PUp;!pPd=28<5g**e<`F{&x3PL9pQk`MJl~e=zfMT@$+-Ioi{5e` zqPFC=9Y_5gRC_y!?nyLkJGR#{G<7>$330K|9qef7?yoS(!4Aptcol_pI_0L>6niP5 z_YuC6hiAQ|e>WLD#PR>oft}2qYFo8ptjx!~cVYI!sdc)H<|nyCT4rUTwaOKyoJO%V z--`~)WW4k^<-j;O%CzHkw5i1_ta0IsTvgu_X0VU*)rJL)I1Rbppq;FL=|e9HT9{Or zSkS@+cv*|L5Jc$jJJ}4}T{hdraIgN3*6+d|Q@R1=?80$%6d8B3eqeZy+zqzI8lv5- zhU0}N4h{=WI=R!o9+ERX+s%#(t!U>S<{P;)AA)?)3U|SyQNiH7;DmHm`B4S_mF&#B zKaq2n=Kx|Z%%+}l&f+Zt*S+A-XH(a`>}TTw1@?XT1W2R{X-@9qIEC(fV!qy;0EgPb zRZNu_ll7b6dM4|5(VSIzE_L1q&fB}EG_uq{@0)Gx2Nt<{TyW@{d*aVCn$Mc0YP$}x?W*htIj;96){=$zb;~^J+-gu z=O{QqU1dEyKH{0YLcOUtjBtSR(KK#j_%as8aCBW zXK2MWR^IK>nS$?C&99a)%1yVfF<;&4GY)ibBHkSKxz199MOf+D4SE+-@FYJsuVXj>8Vl-IwGmMd zXLLK$u`JEMfh)yz)}uGT4J~;-8mmyXhcO1j^E$Z!*B3NH#mVs&?oxdFVJe%mCI;|V zOT+Nu%K;Rr$>!{PMA3h;_7OFEswf#W4oAoq9Uf>o0lgO;lx)7^v?IE(4pac}3Nkce za@E%jr{Q;kLmNRC|72yQ)hD?k*fmP)X!InH+hB`DoFu36#@e*_Hn!_Gw`uKd7Uy%T zyTHw{@Y$2u+$9E9S?sldrnT9cRz};xd*wN=X`hADq>T5D#IwHJ(8uJ@*5KFdBB{ffzs})z2$o+I`n! z6mHf$p7Uh9Ne>;R53dgf@Y^ zv1|pphmT>%AFpkb)i>(SDRm#fa1AdD7Uy!5iYRNdzzqj^EW9Z?+`>C997NFb=E?0Nb2U||H9Grlc}0-leS z@ip#ay1_Uu*9HsYlfDkuo}IrF&)2ewWh~tSc=Hnf;>Ws4E*2@%U}@@@$)U)e*~HP( zlA>?2$|+5XS-6QAe4g1v-mIDj>SjO0epWEZa!$I9J@h^9Uo4FsfsZ|HC-4$XmdEA& z_+{9nJig%p{u2iwfW0+}=ReK!&kM#H0;CCt>;eSg)(H1C4YdU5QlJLV>11ECY0@cW z8PDDZObF-ZJnt+uiaF-omPb?6DC%>8s5_#4d9){wHZQ4sy9Ylw%XuJRP%BoN zskxvOyGLYmm7d z@)QshUE&zR_YgMiXv3?Tg*0BzIsSnPnGeW?CmgoB5VjDogHKX)9QsosbcqUej^pT76vwb!^TdrEnO$ zd1>>&{pY{!7E<_3>zpf6-ZM7abqlt0^OOUi(ay(#Ks&sIEYDf36sP$x`HiUsy~L&% zL66R#vvI5tstjDh6+To(jjGQ7WQ&6XXtCpYA|@R^9FAIgbhppEGkj79a4E(B%eSEr zzMf(m?Tjg}R)E%YKWvHfRlH8U=Cr|MSU38HFM(t{RRL>9QFu%ni?CHV?CG5jw<&=k zYPK5TuVEvxz~q?O(ilsj7|JeIT!EEp98{A#AiwRnIpdhDJPm$ri^v~&J=%5zRtjBW zB6^38{Ebd`F#6J54`Y>i|C}(8`+uM^e)&kr|KYABsTp1Qk9Df{A&yT881S=q#%bl3 zORsGp$~h5-jtg~aZ*5B(`hXH&GOyr}(APF3h{?XMn+6D)p@iSgy|y7HYOx=4$np}GK$GhjT}^rg zw#P6|&0SzSqe3dJsbd^CuXqq6ue!#JHvdijXv^pw@ac79eB2nhN-EtmRM1BaG4PAu z(@OI9elq zdE@e+1_^REVduPRCEdky>lf5F4lDljs#+oD-8m&KpC;Bf4)&dQNriRCp&|PUKkGOT zP(A&jtI&agnbcZWAcmq;A8P0L*gV4PVVSQPX^*SwcHfKu+s&f{5-<;;PUuiiq?VD! zXv%)Y8u;+viP;3}TimQmmd9bAO_SfV z_>>Pn@~=)SFI6AIlh$D0ski>4vG<=-OefVvB_&5-a`@~(ub|6S4NT6L!%XSBolh8j zZFri7CM0S@dIn;(S<~p$nOzmUA|bYIydLT7F>BVfEF@bCepY z|8=kW+fzMN|Fly4N3B;cf8f`ut4R64s)cP`h2K%MS62a$+Z+V9{Rd%dKd0CR@v5Q~uO#IotJZYu%C9R1Ah$V?+!qxevsXON z#vi-}Qd|}w;v8;EZqIvv(nad=i4Ajkx=E!N+hUafnzK<;_~Uy9xt2C`NO zYw&#o<9q1^7@o?cXo?bykhytAzM`?NNPkcV(b!HrV4{tpae_E^B305EyNQj4&`h1N zESD~&=(FS8B z@#gRJqrrGLsqVKx>y72i*t<}{P!ZRg(|FCW1n{aZ8Hn*JX3}|Os|zqW$Fv}|5RI{_ zQPCc)xf7k6H4$Hrex{jD;k8S6iR9xO5@ciPguzA-r!cI7(~@cOzv@Ccrx0PF?jyqQ zfMdBk0V@fp;DB;#JBZ%he4~Ofwga5O@B|7LaTecT#dS9gk&S+?tIl8~C!W9vHsLIZ z#wTcrZ0r_zX+e=O;U69XAe*1kRHVCY0r@cFF>&Tmy3f!J{@cjKXl&(M1(b#f)(6z{ zSkwF>2eNz1Xrj^RE!HAhXf*a0D^(=X$v8-CIhuw!8GDEyzo83G#zx|Y+VH zxeoyNIH~HOO{7?CL{YruHx81c$=JzlsQm*ow>-vide>|kVKSzP^)}K=lQE$xp53rG zMepRJt`0-vqQmeB?3d$Q`w2>Nd>839hwmb-#6cl+*u~gSoI8vvxf;8ClDf`K^DiMo|AHa1qw;$3-8 zDU(I(OBhQT4fgn_nRLE{v5UB3CRK4W)-v{=sdagenKabRSR<^08qZOJRR8NPFJ@15 zw14%%!ckl)*a$aD;x!Asb~6T-+hX~ut5*Vmu1-g9aAga10W8}~(eB0`ZWZmB)o$hu z_OZ}5cVi_wA8U+sy8{9QHnzDz&cv9y!$M6{?^8e%W2L$uU-5g5$v6c;@;iE8>!yvO zG1yH5V7$!HZ1F8_&KO_PJ~gL+VBrK8m)oq{nWi-{#stj!@X8jUjGP@~LBY{5mz{CM zMXMwNm85s1ye7tW^yvbV>6nKxP>Q{-yyTuxQ+?s95jsC9feKGb9ym zIvlhOhAae2J*!a^r+A{253_>QjW<A8%r6^seF#stVSL zUql${0A9>dJfQkvJC^JkV>t(1Mmx~Kg?{ic)^bWkK9n4w+?h{ze2f(%R{ft6O7}o+vHa5{wLcoo>zU*(=BCj> zKclzvxipTh)E+9coW}bZgT&=&wA{}aAWqb>c=Y<5#fl1Wv`9N*<}V7Drf$PLi_7k^`5XiMCEqi@2L1s&Cqj8d`?h|lbk7&E;O zs0av?COlKFPo@kq20gz(JC+oI`BfN{LB`YNrMEi);l47zJAkaD20R>_77K$JJ}1-TxE zrsl5Ha>dzmHJG>{$k^J;XE=8JYoG@4W+J$FoWwq%934&rf{b+&x8R%H%>d&2sXPqw zm4`d=@IozIg@=K!IDG%if&~&EJWkm=2Pe!XzCa%1@+Khl{7m{U$XI4z$wo$pINcd8 zkmB(>zR25zz!e@?gTRFq2tWhWL*W5$1Z+Iuf`BKgQkgk^2xtqD*Haty;H)q%*9$Zp zvYC*|iGWQrwEkEJn`1RIGX-zK zMNv>uLqS0=DvCLwIiTWL8Y-kYfq^F8NX%hrWno%bW@%~IpdaQuV`*vDrZta?SUizaQSS_OSNaYfo#hz4qGpR*dxc*2`=bj6&g(WP#sD`_aO4xs|O0 z!qh(&(Tb)@D2^4kHicMl{|#iY3U$a``mL$*qIrHk&2FZ|HR=?E*J=0nJmispW9d=R z<0lo~^YVM)f^6#WqsQoAGbLyE9n0US$uoJL$)B38M_8=;p=eC=OFitj*J4(`MO7(l~XVgmWG4y|md1cY`DfG=9>!m!1*l*}RR^XjJ-+4AbJ z#PhH>RkT!s%&G6wg_cT`x#t|Z-x7%WohxtBN+~yW7(W|b2MI^wH|};?@pJz0QE@xX zItClKi@ERaFMgB2R2GpHJF)>P$#=pXUxoZ-0o@=V$uqqGc~@JJ+< zL6kU?s$!JJja&VHN>FA}d|Rby(9b!KDdAKO<+Mc!n;wajCA^$N+uJHl!lxn<)^6U1 z-O==J;3;cZN-FTJ4tSNS+A3k@*c@5yruC5&(=6t=sU>k^vXPKjy|8>hHEgTHM2t-v2#KEOu>?P#a;qKbBk*ORb^aO>VtaqEM> z4E&A2-+25zjlaH~6}MsdYt;#1_??HpzWAPoKYQFbOq}+(8HiunnR>@6J=3#SLTY$( zp_HPIU@MK5fpR200h7cyjw(VF_W-LYdAA41LilKe+cH}4wb5g|>L<jV6mOGx!#Zjor!5{I`mu| zR;HBy(yMXGilo`85A=N&W-yM||CiBk8w7fGmnytR4ot>4g zJqAohtEakq_!et{^FRnA$J9_gQD+RJ1Pb5i6&!SD zlD!(RHDnW^+(nRbu?~bBR6S1LFJn3qplIYcho3TM2wdk(2X|j75AJ{?v z0hP)9gSTv-$D&OkxM7tn@kbw5hkMhU?n=Bl`8;jwt_FuU9T%Q z#jV&&C`6_`KN|dz0@T1FgFO;TUP6gIFiKW^M^E)ornX!5A%uwHg%BMVE-RQ=dLRB3 zZ}TgT36nga8gF|j&r^N-Pwr;v1-8J~Zqm&jO8e&Cc)bf^Uh_2cGwzwOD^MkOOh;f> zf2gVDuFO4~`Xwo?vVv|x-D_P^8VD?{Qw!jL@%CSEz*zOXH$O!hb=i!w?GYWHpXlL+ zL!v;q%{?U*@aS2xBX03F@r!c_;0s1Ro-4&GI18dJ1=-Pk@AfZ=xp0BbB`J+t9=u?7 z`wt(;P2$-8#e29sD4;^hd8or+_%) zU!QW20Iq%;_EMtit;J@nW~G*nrz6Qq#K2)Z)1muj97>6vVv=R@MA*a|G8dXNOG@AH z7RV?&)kdKF@-U(^;d;*SB*+N@Yg5ObN^f&oU0T>v>F4!3_=Sz?s)H^fu@+bPs^37Y%Nz`rEV;k!vz{(I%_X6tV-6)4Wv{%|YZ;6Sn zq$p$Zr~ij{uz8T{26A^9wiNia>5K<#X~EsaQ`N@E@t47e&a5f66jpe%faSU6Wtf9o zle|$%;0{O!ODg*Nr5@o|w_|x9*235}Pu+=k=W86EtOq_mJV6?7=xz%SB#qrqo%$%n zmK)tMgm7NKH(qcI0R*Sj_f}#Q`Qu2y9oMtbt6Qj(zr`Tp0|P~e?<~MD;v)kCzP6CO zEJ`z6vS@2jJ~9t1qDvMfC}8OrD1Z3!YaZ@M$l9h9k&>o#YW?Lcn@t-Dv2e*nzh!;! zTX@gxx1u{fc;4WdR4D>qQf)9JxinWa@J@V{W$@yK^kA+Cg4d6YX-a+5Roa!Nv@&}Z z(G`H^;1B6`n(~ZK-!tG$G3#>D@32~*Ug)c=@&DxvY6Z+gPjemLy-v;hDgDe{E6a2H zDV3%^TQIQu^DY)0ISFP|;hQ?*9kE)8y?V_Zk*9FLPv1b6^Gk#T(=iY4N&AN%L;zkW zKw~V8?Z@^A->PqsHC>7Do9zbY1;$Kv=M)~LNmnM~W_`o}B?hmU^dF#vn?JFYKRrOn zFqy|aq&)*6p(H;n|8bzw-lTLtd5hgko>JFP@E~Ox{IVAgQpWmD>&Yi(r_gnR)xGq` zASDWHsQaX{H}J0k)^b%`!QM$7+1+3 z&;E9dZ)Pd}rVX?`O9^hi;H(|tG<+2#uItSRLmxr7mj1|6VuC7j&`+!vfbv8BLg$2u zyXRXJH%^I4y88_riaqVa`*j>p$z!vYf{)FGN zWbb?O$FuRX&Ia?OQxg=CG#iQ4UwP$puw*k5s7F84Af( z^3DA#>D6rLW7<^GSJ}#7c;{>|QR&tpbUIG?YaVo4S%Dz6`nJFsr%i07nU{;U`u-Uv z({u22Dx9b^P1=koHHa5+2T|v0F;Rtx(21IfuY$xklbNWvM~K=$>O^G$ZX!;cr1WTD z!E2U}x^xXYMW0VnUc_5+Jtt${oK88Dm0-UiCmDMlCU;>A?0k|4aiNh2WFCiLBf@5& zY9b^OeniOYWcj7ZN*$BHQ;L|Y`}x}fAJE+?N;r&w8cbDMz)-5kRORL1pyN6M`2^8V z-8lDYTObT&f8j*`p*qu)U|3-`pQgl)TnJAPyL>sw_p}vj2{C_2DsN`i4PlU?xlb>i>G`1b;%ljRFcjK7rwe=xpWua-FG zmJ^3O+dfgA@-(;(F9G|WQF?`D;zSZFSxkTZ*Z2M>P&MvDi0AjzXu2{#?DL(RAoGA< zy92Ya2xfY|jTG0h`enix`P1pjHgn65%O}oIesVW=+)in;lrE;fsBo6jFKA2%KU+P* zbL~fLy3_8^ta^~7I~LF{v#{puqLkT6)bOp_%y<)Z_)&K6>e&zpaU(i&9Yf&<5Cte} znRNa7&xaDiqf`vWT+>0^&S9`)uAUa|^B7FLQvT&^rICB>#S3rQdRmJ zmcKbi*=?@pIq#M&wOgBLzZY6R;AJDQnx@WEx=noP1;uR*{@%dfyZGB~{Cc4X-aHd$yyKp)EUZrM(NFTM74~D+`ol zb2G2<=!HsM6a49QTBQ7Fx=2>0T$z!R~2HmOsQl(*sZTE4ny9Q~2v9If-`CfWeCv9>v-=WyU zu2z_`-)Z4e?5jsVpp8qF&VDI}p`10urXy=^(Y2*Yv1t^|d{Ie)&zp~51hI)!x=gW{ z0_egrWxToNyOdb0ybr5KwOAQqN-9rWt^~SAEH7bE>9{&R7$UgsAUiEi?KUH9)1Mh@mrIo%@D&re5|YGL zdXj%8Qqf9`lGC(zCB)C}f01}aiH~fGn})L*V}v9JL-rk*!uvqHAlw4~vz_h?8vBaU zpy8ZH!+U>*)+jt+*-w{>J%Z`oSCl70*CP@0P`$icJ|N#Q2mK?i;&vZ@6D19(6+rb? zDVgT+DfGu`rB$0+y<|~bNNc3O9)S{{iH_Av2PvJL@q)furL;8v*-Ov4q^Be2`>+7{ zSI%9|_~q1VHF6dhIX#>)EgzRN-Wgw;4scFCBWGc zO6xYZBuB>R$7O8i%;-T!Ib(A@<9uhvvR#iUajP@FfYR40DdyLbb^cuH;V6qsFh3`Ree4Bf&c~QsIq8og?;5!y>gw?(uQuymQuN=EhSqu;VSJo*Nrhesb ztygN9YE?ua!D;&NRiz0W6MX%u(#n)U4_;NaoBfW_N3SWNO+O50wZUoieY{Azq~iHn z$%UtE*FBQ`-aLdI>A{N+F^T#vqCZ|!-otI`^{*@4O&!b6zYYl8f8h}wjx2WHn%JwERBX}l;nu~=toG9{kR@w|6!TcN?3$=V^h15uva5$t&r>CS{h{GoEH{RD$f9n7Rq^T!in+I9bxH7+vHW zEDQK)zoUSkSD=7lK>c7cD(BXF>KTNW@)8Ff0eU7U*Ta?I7U&o?5==%uYwfII?n$zmBJ>>Ta zM{RFV))pmLoWK<>y>6dV;TGsWV`9s9Y*9{|u&6J7Um01aeL67dJziZCiI)(SX5_b3 z>5sQjMs0|cCgS7A1QmpH}~uzQ_DARS2~-_?R%I1xI@`sHoa0lf2XqF3~v-Y%9U20 zokKC=S$K<^#J{6Fo5IpDq`B1eKS6sZ_Z8 zhBq|39rFC^SJvAWQ&EM|WW+B#kR#dfp~N>W1m6Mp*3E}X!sj9Y6GI4o_`OkV2z`tH z#{R0LC+=PNPUBd8Ra-9e?<_;VEIg2)RRX4}{{YfJf(*0i#f~vVp)3S zo9J^@_>Q{>TBoq`GshPAEd6hv(z($F8aMjnuKO#KNAfCWl0CRbbF{PP39098wBvg>wrZAlAWCCqe&o;ah#c+~&r zp>5Si{Too>84$OhK0l+BE1`9OxB;fCQYxs#dBvMwW23Z zUVIN7)NNsO@@M>uIpmhWBE|LxzCoP&7*Z#H!Ex7Hrgr;bQFN;H1X7)Lq*~0WHZ#sz zvQ(;nPKkhb_YUWjJ|6D34LVnyL&ZL!W9Jkt^ytlpY=>fy=BG%~avuQAB|7!35*l}{ zHg-+939VhP1*2R3!x)XS_ z*Qf~Oqd!Qyq*Km?yz{Tf+KKv{SJM4*y_t-mbGf5i)MK>iJa#yz==6CdxK<3})C#(B zUYS2A^PC==wV^yXTDdS za&MF4&Z*NgRj>2Xs66pB&nJ9lG&;+E+o;5MBvPq)l=)v}ujzJq&?UvgR4c@Uu$L(6 zvhrrY6VbQuMx!<#?FeSoaYM{!boR0`$@CRz0A-#4ey#VgPZ!zSz}Wu*JKG863$_G+9jy=5g2NgkR!EO|J;x#ju(899YD!K_y@ zJaUQc3v@TQtUBzM`h6;VUhcbGJIx(Z&;nS*LQu)VCQVLb8TvClFeU2`u?sO4p3X}7 z0R4aHJ*bHE9-3Tu6y|1M;~)lSDbxBjDDh~Q{2!>^q1_5w%y->kd$Pnvx5B&{d!0`9 z8+f|)DT)a9ip=NoaMuU3;iTk!SG;lc!E8G;DODW9D{wfPN`L6Lfy9 zh_az|{FX@1G?4N#(h3iISUjcYO~hpBHNZTd;kTq7GTII&Lunle2IN+{yA|5ZelHw{ zznJ8)a4a`Ec@zatu2r83KE;)R;a4F|?xHPMm0|E0W4o%1Fnb)Ok-tC>_db2{i!uU2 zt?#c&4vr`m{i+N!t)Nr<(}Nu2KeM3gAozt`}A!d2+X-&-o>{K5E^kqbf$z z)<7k%UjkcWi7hu1UNvzc8~=}r?&$aFg6K}^B?HaIz%3v1r{ZTepBClM-o%kk=p4vb z$$l+oZ{ZF5Uy#26%wNaD{_XPZ)yk6|QOa_x)7_wc@q3{Wt5k4`!n%E2q05dQf@8_w z%A5R+(QS$-ANY^b-MwCqE!gK+pYl(WmmYB?q%FPqKnV;9*29C1@L<&o0l1GE%$HH? z)8z*s=TN!VLnY0_w15VgMOOG1cqs?_ou5HYAB$z3adRR*2}?O1vp8iIG1!IQH;azg zes^#eD}z1@bD5!9vjJ)(4nJFah~}+Yk7w%LZHK$fHD0QmnuXqGy^n`i+VNcztC9XK znLhUWagU}CMtaC)E%+oUwm+CKg*lPIr+U74S@Q)CvCs58rFe=@%${55Z%=U$ev}Yi zuA0YdIG?y>bKo@uS_&W9a_h)Dyi#EJs0|AYs1V=0qW!y+@Kt_|y_%_ScVQC3_rAf> z#l_q(sd2sBniC&a)z`s^!=4-9V_PhNB6U`6(ckot{!?36FiyP{(LMCJk8jyNV=J`J z*^U*~)v3p<`>xkP=27M26afv@=QLZ0C{qQk5n@8{0qzdgUaTPr`5mP!;ag=#RQO`> z5q;onIMWAd2h%(s(GZRR*Z6?Bv*;;bahx@`bwniGxmfCmrUQ?^1vaz>pC_Tl(xfew zKiH(L4S#@Dfp2mezMohRAt-PYc&K)If-9T~0s^1bbOIop(3f>YNd9+=-QD_HpSXmy ztC1E>qgF$YY)y|=f7l?m$ZKS9rTQa+{XSh2fTtAoktoa{-uFt!oo`bmyEu$EJ5!{y$imQbE0vvY) zm&hcMNV1A^JSRaMf&0GB;A9DMyS~j}rUdzBpF6`?7Ru_M)%9M!LdI%tt( z>BorRYn$~DjO0*X_={NIw;0Je?wlpQ3(2pph^Z6#0fJuBgHk@AzI8=p+(-_aj<6JK zVG0I;{fejWIF1;iNA#Bw#xXC9+In80QB3ghda$!D-d^DU%S^+a@sR-26cChmQlKWvwgzkH+2{|x7! zjQsjN(S=k{PXshwhR}V#$*Y}-9B03bS<0zfBLqc!O`p{hYwIms55{3_YQalUB*I^! zarH&xdfOoVVn99b0oDE~p4>}mO?}baJmp>5TVF(n{kG1?$JtV`bf+Z47$^w{km6x| zkM<0pbXr}v{~=#lVY`AZy7>~=>}^;U@Rb!D z4}T~@{mP1)`t3*5qJbEmnrO#$8MrDL*FE@^GjQSh3qQhIsg`@yz*VVQYT~L?yU>9K zVn)+eNQBg7>Nvu7xMX^n%+2@E{bdY)^`_xLB6`5o&0yaTabO?cZab+);h0(4NY!Q= zskoO}l*GjrX-d=-P=Bm<8R^((A^wzFpW_|3yFFi~qe0?_zCkl|uHa4{pT}o$UB0P6 zUFu7|B=Wmd5Q($YmpyBmTx6*c9~hjGCKp+Fo$ildk&(J^y20h`;0)?=TJ6TzbS}5m zIa8+I@uGIiNj0~a&BOnsh;Ld3I8rXmsGDQekj=FCJaUCh@6HA9a`P+z154aG>T zy)zq%#vvmH^MSly(d&>k`diadPjR@m$ZD`8%M z4ECLdF0G!7!R;bA5XHfTP2OJofkWfQ;jxF&FoL*eDIUEJ22+rh(F$z$()1oR4i#Mk zf4~bwI0p={l&mR(00cry)&4XyRICeZ&0|H{7&Xl@idEw%B1{CQtSy#}Vl>e*9lF5{ zc2b?k5Nt*&bd#;8^+;Q819=Mu5L=JxJJfKNlgUn?jbqgok*o70F;>n7R-Eo6?o|wtkDA ziWH#@BH-l0u!ghNlbkf7E*#E_ zxcEif#Ko(yFOX}g?|)%MVPDK6(5$HJP+VWFY5g{z#z%>`;1`k7cx61a zSKJmQ+Ou27D6uT-3|_Zl=U+{{n7B1}Sy1A+B@q^$fD82AQl-WiFghO(xlA?82;jcP zH#B?z{a21M6e54Bbt#U-=2!zWx*7GUSN* zJ1uSkgC!_0nurci%bdVZ&r^$8(Vto+C&rTW^XdaI1Nsa0=*z6e7`(2BVDgj!vFi66 zpaYS(R+AJh!r+H~G=4k=106Mb9VR-s{T3}sV6WG-Dfsam4R0!@n}c`Ip{63uj3uCM zGvvBPZJUV>0d3&n$*9vphg0w_tXN4Y%W4Qb|69$ycQod2!7rG4T5nH z*%Acf)#R3CDVBFF5xo;J1;Z?rfmC7Z-=Phi(ooD_`BL~wt2$Xjx>zhCM; zbf^slQu29&Cbt#|?Qew10UT>7vC2(!N#OjoCOmS9XI$M>H_TbsX9cG(xd_YudtBIh zs%$MLn*-NUmo_2?TZ{MGh#7c>JS0X$1wXl!hx&1K`CQ~H{!k7aYaLb4lQCjK_vS#X zz7@{ZJ*7@N@z9o%@F7d5xeytB8*}6mL>4ZJH2baoiqkYWCiPA{X*O9)H)BL=bHrMT zY%2!VUDzDgEU=qTxn~^{jS}}zL0fEb;7n{oTQSn?xt9KJE2f$LrtEg2tGUivDr+a^ zMgO*jhv3UxQFUz*_l({wGhRQ8U}G=Pn!3k|L1xc6v@#aXt0sHUyRo7}y9qDxy}8`F ze(e%>-!Qq&8G#XlhMP4A0q=5vw;sS=YkZrnA@BBLhPh2F&22Bbn}@m6?)D-)ZETfE zPG;qK?z~#%4k*~$0HnC(HbxD;pJ&XOxW;h`-};o9yBcg67~(pY5k+(mE#Ql`PX`fM zE02@p(DV)>s@8M-okpwi-N5Swn=RcM7G0z9%KF}=L9dGjIGO*cgXlDBL9U#LJs14X z_e1BxCWwdzxRXOvQ9IL8P$;ri&N=W2xy~ z#GBaZ`F0hpOijxZx{6p6I_A`F;<`C_Hw}A2426jK!4u-X|LO|ZhD!xl37k-U+kocF$OG;0mruC zBQ0M<=*K?ys@8?_)_nZoG0~AoZY^lb{FK zEGZ4Mwvd#@>y$oUgHq2|=t`0ZoH`OI4APzgZuJz1k+3A~rPfSZS48NfwUDF@o5ZB` zdxW$hH+iQ52QAhhi}j>!b##s-$?)RiYV5KiS5Q~>B#^8YU4Qkg*#KgzC&@d9q0v4&nt_L6(dZr+IH_x8OmD87Lp zTLs<|z^{WIHs%H$SD-b-3q^Q^&s)6%E!-i`f5;~V9sGN0lY&=2&`%&XU< zmtp)!cEuqdNcBCAH#KY?@AbEy=7)j#ID@-PlG>;V-Y)8J6(&WVZYUP*^hApFe>k2g zdCnxQ?L4p0*%Z+%|Ep5euM&HPgup5AdYIe7dJ>)nLkl&}Twl1Rm@u3AI`;G*f4^7uIF)lBj_xCka$xfssP0g@1K&?JK=ZP z`EOy*qe!_RI_a+uEqBhq7iNOz0;J0eLW?RT$+m(89!W}W?WAQLPjrU|Uav!*`|)ck zd|>h`f_#= ze=Oo>odjR&zyJZPa+9n|`4*qvK%LixcUcY=FPQ}vpAVHRF2*-l{0e@McwD!dEZ&7A z%;JA>xGR#?huMVo0~Dn#L}RL>&XBrlreZ@*t65T0>?0vw$uP5?#iP$H9ks5GJu{*8Jd<;)yT9=w}70It$_0SG}kf zV{XUE+*kN%FSmHb2Mami?o;CZvNN0wK=(Ib3-QnFy>btyH;>HuM zgJ;O5NiBDTd}4%P!(gP@XoT>-gjH2XRCo~{D#ix%c#&Dcw|m~kp#_$J@ab>Sj-im6 z+r3DKhhip7pkIcHBs@LWY#8(vrL=IESku(JlsOC!Tzseq{}f65pM?=+sC%E%kKqqd z=iwsBC$+qq3FfW!*Hk!MbP4t!fVSt`v?cHw((Q2Gd5%p||E9CUMQpENY_b1>A**Ne zV-QmD5x)GY{?YUxKG=RZ{W2>6_GjXB z-~|#RaHR4hC5;fR%#CN!Gb2PdIE36XLM%7^MsXuW7jsr2%@`?K2gU6{6BO=;2jok6 zfAFH8gE?9aFW){=Tr>GjUo4UPGx8AHJW6!(_;`kK>|Q+zCrxd`k!EQMB%1*IP%)0KLW__spV1Z1X zg>5JvI>{2leNU|7%?ShkS=cyj6 zvY0CfDL%4wp>0=hn4 zJQ;Ah_@S-zP-+0gu{>`b+m|$G0>2uKf{3brpqGwK_YnzlpPElUPY}&a zH{VsVg{k+)QBat&Cna>kp)3NaIk{3{YIss&m8YB9=Cf+&ty-8~j)lUMz1-JPIh zW1_HxL>su4ER#BvHFNm~7=NH06Gi=|>)^r;xlAn2lyIEd%#Ozq57_{`wo%SC=OxLgCZIQ+Ofl`Dr4;oSH}Lr$Om+hd!Mq8kw6v zL*Mc5Z8OcA1|q(rb@=gm{%PRae3`zS2D0CyAy11Y<~$?GB$-6qorWY$E<>x^h$^Ou zz`-pzk2?a`kf`5JxE%@^nC;JavaV47z9?tkk}2FW5Gre_hr8&b6nbtWWS1V29?1zj zRh&9LBcf9l%TSCZo-yK|K|e;5WiZg(0OTlZC;_W|&?CPE8F`j1Y5Fp)ct&&z^3w4y ziIgQ86Z~HZ6!omAkEyK+rA6$1|8bMoTM4Xj?0B6zOc$?ZltTznkDZsZzCOgaO=Gg0 zh1XIqc9ykUB71~=F*#%ex)89VvrfS4)P9C&5;XU{#}P1|o}K~usb!gCN%-^}GgR&| zCakSyT^bD0cz%&m)8+3B>X=Xar`BNFrv@OI_MQZ4(*0eh$I$(i5m?8C@NE?NtO$r) zr$-uhwF7XhHCK&)lUHF@GS2Hn&&&|bhb1G#SjopMR+DGAgh_CB2f1wq$3>NLAh_jN~|t$WBnM??p&d-ri{eW9bIE+`E?F%9az z{l-CEAuZ2=TCLA?dN)VJ1mAtyA=SpK%brfL6{DRy-UW zK3g=4yimjvm~I!zZdkE7lp(rI);g0W%!W+1#1U4B6muMTPOEs$akgmhp|!W!?B4V1 z(la|fBB)iaP%v?I%oWW7>QO*} z^`umbwgi!Qr+$uzH7ld&{u~^h%%jk`;-b0JCb~OUggwy$r@^}QdT}14$h89KJOu4NJ z7B+HYHz<;ZGNkvp$Ce5;Zi9>KEo|&W%KCcrWone+5kgs=JO%kL6u(5i*p?MURoF0u z&vVe*e?ls>K1bA%hYVt2{j*3cFne~S_ZDGzc{is+i*RoCJjLgW(cVuF#w1YduuWIh zhSTtYe#;A4K-$#rm_Qa4cS3lOP>(1;h%eQ`p=KRBp-K}Sx~T`0uP1`SsP(eOihwg@BMpEeYUPEhKf zEfVno+5bWB_2?{JR7~S#UHOY`WNv~Q_s;;|(KvU%9f7z%t5d&-%3 zr%!YXni%n~%7aA%Y0--iEjrL^FN!DPZiPRRhL4OcBar2TWeXmu@ikPZbXCq14eEV> zB(TZsZ{5a}V)4eJyG*q2^BEQgXpk!8ZaKamI!SY=GC;VeZGJV9A93N}Q;bjhfyJ>U z7m@9z^xNSZ-;ds329dp1I2~CgdQ3Tp^PhjU;&ucw-pt3~-MJTduP0azr&ahCe@V0U_Qs9`rC!z#hQ0dIv&ER8polJp2IpORr&#Q0kQe%xvT+!< z9CBDsvMv{m0%jFf;{^3Eo-^>UlnlcRb4vY)_AVD`4GuPZOy=zrZWT{Jq917$t%5CF zH}o(I{|CbXL*7|QuUl~zFrWUi;-tB^KLx)e#^V8}`7epNreCP~B@r7?v{m0X`sT0J zKLTfLrGyeO-<;-GzNJHg?P>!<4f&JaR!RZT%{rz z&V*N#Vmn_=`%1+kQwb%lgo)WFG=8OM9Na=ci5XCM*OV8q_-{T=lBY)<1iijev@v@G z(6N46!#k)Ug@VA*`$aYlxaMysIxct~Sci6C<=L33Au zlh2p0U4?BYB-=%6zDlXx>E)20EO-dEVg_v}g$%(aNS<~1!yg~N zH^K*Wt)5$vrpqE9KK&`fdvju#z)>Si58#`__Z}TvivyQe=-yhW@;7;5mrbcZ6sKNR z{dU@H1rsYAzHmDG(^vw7UZMFUB7Npa6e!1cvKPHeuo&vTfhtLaH1D@uo*8xA*j0?WcpZl6JvNt;gSs_N6~@TM3dUPBfh8skai2NWXd_XLS|3ICk z1CbW%8aGT@>Uer;gJ?aZK^W@_Fd38tT1WDFsB0;#r_i6QYwm(kuwwW?{UelH$s-z9}_0G z_w|O@qt}6Kv+pO5H1|sNdI0ZdJco>+V{bq=^#Mh_iJ|ihjeApcYS6J3BR>R2_qJ=9 zj;oQh?M?AS(9fR#D)_j1%9FBQ!_1HQr%Vj0-TgM^;}Xy0eKe;`%5th=8qP_1^;0?xDGIxapY51V@^a_-cClZ7~UFxIXWQ2hr_!?u-S(h;cUwua{#r?ch-(ZS)7ybNy)bCxK5^d32#uXdtdxvj@m@UTd}bHOqh`?{)4*Vi)KdZS8BOqp-9^qN4|Av>+FFU~9^W{xH z7IjPwT4DxE-W`D&Y4tFI(9$J=bzdt_`vl#^+_{9t?i4BY|AhQ+nb0fPIzPbT-rF0R zwoCNsPVu1Q-&Q8aq@`n@DqqI%mM>#q3Alt9>-Ts^8PRH6MBm;oAAvXxiz0QGI1A(9 zJ)ergsJmWwZG~k#6}YL>#i?Tl<;#F7UVqH&+4ADVE}*=<{51 zIlb_?=n}G!ql&k)B0`-hzt?dxbt0Yp95z)Q$m6JWDaj;s$bC=uED1W>TfOMARcx5#hB46&hW*gBkJKp@-58z(tW|90Crfh z;6rsH93-6h7<-q~>aW#21BSoJ`>K+meIUL4(Z6_fA9d0};4BHBBf|r8R>~Vm9QB8~ zs=V(3NEZIz-E~re;TKIa4~gLow;TX&{Buql^Y%+r$LXg-*aqNvuft-y=@=b93`t>q z`TfJNTfvmz?ABR`nHa}Yx~P@ zWJ>gu>kR>h0hDtp42ji7$N;fMIzdan%)|YcN}6^;gi`!*5pLd8Mt6>4AO0cDIWA^+ zJqvS)!o(c<{kZ6oVvDnvwf;{>S>LzivVc!7>o`EUlyh09kU_>_wbIL4O;b;ZK@l%p zx?{6ds$21c24s(RNKr3&H_H>~tLIOM(dKS@X~!v1pZcCeJM@^R1J5x~Ujl(1a8Z1Y zl273}>z5~mq6|>@q(9&ojz}s`ipJ&-&vPCmOM=ai?y7W+%xIOTIAW0TWBJz=iI;$;On%X{3V(vu=U_;!aEFk4{eL|lhjc^Xx#`yI7C zBSO4zdVu4FZ)Fzm&v1?b`))fVz*KsW)NAIV!N|9jhA!8fR z`byE%H_~GL%?h%+c86^seOxJG%mJQsrBVcj|Cz|+&Rqi+uF4W5DoJYSBvJBhLwEY6UKE z3oQpQRsJS|y@%k7u~Y2VqG7Z}i*-qvsYSZLQ#Aht)b?u;5l}V1W(mRCWxy1v!q%{Q zv5wJR{^ETWxP#QT&8L;fXfBygJH8gp>PNPj$aR zV&D1Ho_}w^VFLf2oJTYHciTK#$-gD&x%@kQ9-ZOeA77w9zkxnKyTCz121>9PG=$Hi zsIypdA5hX+5p2HtJRSQ@MAQz5)j4{CqArM#TBXd@bSgUwML-NyAZ1kcc_Rh0s>VOG z3FFsN=x?NU&uv#tp(?s__C9+5A?Ud}mp;ELBHRzmy-iymim=*fok*>0uEDFo_&E+b zlbFuJecoCXojfNR*4tH4Z8&n2u1HnSSvr4?!0cHIpG#5S>J|AG9p}e6G!CG7&m3CJ zzZ>SzM*dwmhxYOBXuyF!4Qtg$*2Fnv`VLutq{#13L9l{<;49!e(Y)@i=eSXL*3cVe zBCY#Qw5yx$=NiMf49x1mHb;Wn|AQ;^x1TVf755vpZps$o9bS~ukUPXk6#!fWL!k;PR^p4 z48lC&qG(=k$t+i{c6^3v{{WU(T?G45ABnt0-amkSffro4x{E9vd~l{Ksyt5Jg0}y_ z4e>}^M>>Km4Tqk0#dK?$ofmZGHxV>-^E?0ii^a?(J8QTZ%A#1ACfN=)Cuo;*WHT9T zw`i3vaF$k4175tZ0Ij2K%b}G&f>k9sw1a=A=g=AcP0yh}`8Otq>i!qMzB$yMe{Vd? ztZwLusa*@Fod1HY4y`+jRIpIO@{U7 z2a37`TW+@ow`{as_=G_2_y_Zhdq7itK4@AU?J{Sh;*nbHRX*mCbGT$gCGEK+nuffJ zq|W|@1l)nOlo_|_-dPduo*S*B%)e@&e54ohGQoncmW@Me$@`M!JUF!?s0IxO+#oiL{dNiDQ8gaMxeE_K2!Wr6}{fP`}%fwKTp>^%_{oP;mkp@p1Tz}@XA zMb#+a3PiD#Ce-zcXlo8=Les8*aUM;o>1i*YkOmm^+Uny5^GcRSGNor5OYWL>(uFIK ztV-#@6%krL`WZ)kvN+Y|jd<1gAvjk3^ldpQcPX0Y801Mv0fN1?$lL6#%iahXntu&= z@xFD8Xv5RA@h1_~r08i!0ht`0>xAbroQ-mX;uF?VOL4}?l<`hjvOd~?<(k{uUvmTO zBqCC)0-;VgR=ey1Cux;6;KlngApByvD)?E1rIc|@$#P~bsu!u1y1=nofeW0Z<YbjU4xcQLT}Yq2#_GxkUqI9Bs_fs-`1Y1I9yh;G#|vSydAAt(;DKp@Oe z|7m28r!TLHu%OjbT{&H(!<7Fg)`^0NraKM?fq zdQ?tvM z)J|VTLI4qG0eibdc{K#t#4`Y29P90~TgB}^}_UR#@yUwwi=pU>m(>0*S zlVaMSrBURUu6@sjn~10qz& z;U1q;Lsdjf84~vBMCh+2A*^P1PpW$GuT=!CD~D2mJ%5QlFM2rP1nv&ip*ns_x+)qc zd=AJtmp(!~&y-o5XS0z9FxN&)nMnVDR&#bJHPkRE#fMT~O+>Vawx@H<7m-@l_cdux z(A9Am41bMJJ*QyAXtgv$Wyvk1aK2E*Fbt&Y;=_{%lY z8|Be=zlpk2hB%RI=S(S1SYOSK;g$jZ0V%`!Osp4Tz`>fo3+%1Axxm3%)p!=7t3>dV zMJF93C2?s17;Of2N#YPgct>e6ezh~6VOhn>mt+-XeD+_|uu4P>4tNCb=E<&juYTuR zZuDdDX4Sx3{inV_jMS>fIWXm5kb?q$?J~kZp#eu~l`e3sR^b9CY1?bS#+(;JwDETl zWXbk-%y|y~=+@0kD$7&faaFUh;81LTs1mt6jrk!;z!Bt?Hb{5PxSj>+jXgi(p zl`MSJ=l~V01eF!ck`**yRL})R1zliNP>1Wt4E7qXrHwZ*t7rQ;YUse9M=)C#>)CS;YaJka4*?sa$3s@$pmNra4QIae_&@ZoihFqVF8g3?(r-v$KT?8{zsO=5H`j5rlZ3C@Nj0Y4vj)t0YW_o=Gh`hDq^M`Eep~LR z>*YH0GohNtH>4;&;S;pg^&JIAazv36X69+R23)fc{zgGr9PiQIkw1yy6lZ=(NPK-7 z`KJg~yb!Lp4E^UStVF75{h#2?fqL}$pI9nZ*Q4M56cJP7M>)Df0i%m{!Z{2FIN>aY zJ)Ce7!zuN2avX~T_9vI0dSrisjR)NF{>8)Lkb`=OE&yHIsGY2R$|Lcso$;Jr_Rh=A zWY?1UQ?BdzAHyww9^N|@N3$j&e~=ar+Kd7@0T9M&kxx;?O%c-9)0J*@*N_^WyJiV! z3nO!mRyk5qBVl9Lw`U|RzKQ;tNM$$C4a2G8rU=dtfH}BPvfTF6;A|!I7+UoKNBnjs zeYKO*RXoyH*LGCpGN(V_Okct9PAAOiWzDKa;LTlK-ATi%g@40y2&kzxSu)sOMT)8t z^~3dyIa(Rgp_USnQLB;>w4)le@}fsZfj|huaktri0(R6?_we2qO6s^n&YgdOm3Nq4Lv;t?m z%%9@|TeK_}I8)1Tz+JgOi1D5K_{AwpTNg%%_c~uhL>yRvX z-0Iau9`Mb8QC$}p)pf$!RXhV^bSFpt0%tt$dNZ{gJ%9@Y?5$QDH zn7n8w%(=Db$B^r$V{?#O#V->%$e*HJcEVcpW5}&=#_Qy6*8?2nmbt*eS}9;&>VxvN zTznezN@+3M3CA+ML!2-SIsor+usa9wlHIXL19}Y@8e|t38e}J|4H@bv59#xD1XT#E ziQuvhbAgiGl`e3wR^gJ~qHTA9Gqp08^jI5R;9#x5o*piaWDRoc0TRyCvRpEFYZ)$Z zu$BZ^Z|`V))okwoC#=s-Upn}eW#?Db5LsOV&eSfuz*DqJC#(hF+raP0zug(Hw|AKy zV9W!kuM3R&0;U`O?_;Ud}z%fS#Zm}R!cfmKgF%Aq9nbsBe1ga%gpD=G`#>Q~+q z!NZT}>kt=E^Pj;R?d+?LbxMx30C&f_B;g^z%=wUB!YKw!6_-S$e}+2J+b)=JDyq6I zLM9`qMiy`js*1x%<`5_ov`Efopp5=O-*?+#kH_RsdL;j4FYI^uASo&UF-B>Ud)b2= z1WWF1rm6Quqx{wD9m%rLrjn>gBt@YNYq>@|qpJB2@fjRH#E5rvS&MZjpN1x>4MB=S zXl6boaeBLGWZTiV*W^Pnw1ksi^pYj%KN3B+-w+x%A#c(P&VLf!o1m2%xbDOWy5| zTy_;MPcdq-#dWA>Fxu5l+NLmEO(8ZB7Jt~o(MDkBT#nfs?5I^4!vVMt#EpgcBMf`c zR2u}NTn}1q1O3^+U_{I0L!7Wg7fnY|P_rPHf@I3v?XEdJJPd`(>U0N7lDNd8ba_}8 zo}cZEUInVN=WJj7s0QZ0I$8GW+JBAiqOI=h!dI=x2}^{z23&ItMk35O zMrnaUdAY@pTDvBJMmdx0RUtEP2bF=NHJwqmENJ-PV)+N`7a8Pf20CO29 z%!YxaQ4+(@J(qHmp1ebYJbi*%R^M`o)}kMuyyOn8^z;cGT57>?vo5b^5VE^v}o0r)X2*}^Q@Y{Y@E z0)|&R;UwnG)oKS%vN%4s&+R&P9>#Kl6uMB$Cro+q!A-kz<5Df32Fhe7Y&$DLI%Kc- ze|P9dRo>ALXquN#MB2{Yj?R(A#d#R?Jf=R9K9BK^qf3UFu}pUOFggQtIQOse^5J8X zO8(hHvEC46t5fwdY7Umm2y+!>Evzx|_6e=C9Z_Hxk0H(DWvN7R*NRg02{gdDQY3ML zvuJdq%Skxb+1VME9Vepz$J&O>;c@QYZDr(F8J~wiE7DsS-t6ou=K<$yS5q7XPT>Sa z&IFOnzyr>B$(d|t{9TFA8NZ$36lc7Ii=6Q?f36cod4U*Y&Hzc_kQ9AMWZQqmr%Ap) z;*Hv(_L-WS3p_=u>g9;n;_+RBdq|H%erLSQU*Q5{3+Do33uoXkdJJ9sP58QBwdxDF zclG}JvILfe!~FF_lzD$U`ttp=B8*xHpGeH|X~L&nhxp$e<3ZN0I?w^PknHQ}pjgJA z4b*4$19xxA6JB?1NCTtG#OojVTJ>GWe3ryGiXMT_+F>YZJ-G?bILeUecRmuo*%_b1 z_&iV_gNtsgx2nG5fRR5RgZdE!*-ivy=rgjD<|NBzVOTp*?5H&RDv_Z2i&TyI*5G^ihqQlXoDbQ1YwJK^s4Yn_OK^2rlQri9E_G- z|Ee9fES_mCIe}F#b=1Cq(G0P7USkEz zHO{l`Gh~V#pFu{vv%D?HpRd)RTOy2q1c8Gf13~pkM?I>TfNUp0vR>7Rj`&P&uXtw# zBpmI8QC?FFCuau9xYhOqMu9~qZ_`tkL_}R@Iw>gSCekr~pNRa;Hys>u;{sPZVM$<- z6PEH)t`qj>^w~~W5;(*O^O~ZiIAJLg$2(yb0RpsWXF!GI$j8+*zphWX`_;d0(rft0 zzk0|qsB$>PfxjFiGc3o9+sAUu7;u7ChBRnInSS+S(pO@)XT&3af|g^XadcC?OLLX; zwIPp*0zG6Jk53DL%atDWdmAX z&!_oV>vElk#|?ZK^vI72;8^-PD&&9@v{;nsge_X63!J6-*MN;90oXOx_kmqwS9r(v zfn8%)TFk#2y3$7eUD%cO@$cxabcKHtyOJpYV$pPp41he8PDuei!TDFaxX`AZb;21s ztvGQ-m_eK7QDroygLZ$d>JK!Y1CG=#>o7N_Z0rK$cg#=F!(>4ZlcT=Rsan}jFI{zu z$WX)PSE_BGTMYCG>UegOqpjrlIbetN@-+`9{RXdNwJJ(S*2MD(F4LmAtb=ntbdsN= zZAUsgY_NJm0vpCg@L^IQSpMKLT?xdlAgM-5-W9~Uz&P4+fs-_UC#+@v;^;(@Q2YMm zS2n|Gkgo*@*ZBWK*tNhnQRM$gpGljA6k7U(1}IS80V@v$42TGd7_pv+s6ngZ^P*P8 zXM=|diW(Fhd>4=N@LiP?RM4PRK~aN;ih>%jYOCM{t%^_n-|x;OyNUeo=JT0;^PAsu z9y_}`JG(Xa2R+f5){p_T%&hjW_n;wD?TEOTtqhyNqc0@tjJ4S7@ zx(B7WIZtj~g@PUl-VXn0vuT3p*^Y&lgZZQzleE6IYfFw4P3J&Y2gC|@Y)#7Rt&6R% zE4~>}6SvD_sDx0%`RxS|wFRUNrZ%`I?a;R37zzj7Qky8 zKkb)WOR=S4;hzQ*Hf1|fqoX57hpb0SNAUsVBfLb_gLCU^x(Sj^bnu@e_9Nn{?FEdu z$=(NMo2}Lg+MwB~9xEX8Xp2C`;*aSFr_q6q5a?7Bpouw%g6;QwV{anNlw*XLjax!| zsm0!Dbq5F_$jt_}!{3wU5PO}{=s-uJ4l7f^GIv#W;;%o*rZV@4rc?uAZPw;a%^na> z@>{=74QjTBS^pN4fzL78QJ-9j)(1fiYNhQ3$uDlz9gqsw(-Hdm`=+D=+(Kgh79FQ( zKh!moy}>wr&1)Y-w^j$~3z)43rFvLRPZo^^#pxAS#x#fqHUnB|@~g}O&X*m_G88&b zm5)}qdu6Ze_+GwMfz#~Dt2*Ul{Lz4tqdN+FHg#fFF>R(Qg_#H&AX1I?N*ceTE&V_= z8`<}Vx!c-rhL9n@RUcQ{o+;mQK}!Dcj)tT{a#;Va7IW;4rViwL+A|u>Y?Rff$X_Z^ z#|He5oAY)S_B^}>)>)%J8yJ*sKp$5NovBteYfya3kMgQ2UXy%<|C-}Ms7DAhz*Lm$oBvwWzP)U)bykqE_pxcEOQ9EP9uOH=CQ8{4j_^-`vbJeubRt#pO~@ zU?22eC{+UvkB)^osTxzOqy8jC+lQ(T6U3PIuRl*Umpb6hFqaL@kjD@Vqio_@Z0k)v zFu_x*Ap_JvkOyxmENbGJ>Y^VYgvm*~z(A(natp7=+kftF4H(WUrjwinsVi{O=ul^e zXRCPyZC0W!oZ_3d$WQz`#W&^SiuOalW9({6fd!^O6auMQBftn`Y(p6jg#GPvWKnN- z8CF{K4(=CrrL~EkwO6B5PhbIM9edkXnAgXe9@7z_W@>_Sc7)&jbI&~}7kIHdVf9_= zB$5g)bsaG%)BSwbt|sYTPhZ6rJ(c_%i=IWgb7$&!H0ic!$rjy0y3V4TN!M6(m~^p4M@Z*bbewc&Jk`^@+8~;erW{a%041{Q4_3G4sG@Eqtpwv;ek^DM~_K{v_$%jcd zSoXs3&jIS`2%r#01O-52V<(g}-O+ZDzR=JM2{kqYNqvu{-;r|we&RFJz8~@(ozJE! zFw8s=G+NIaNt*#hwE}5$dnsmqNP^!`<-TCRC_2Vdmd@AOcjn*-**J|>{e(s{ND-U2KVpC#I zgl)7oa>1u^ZhzFF-cnC6#>o~PCS7OIUY=lUEZRxB*rLOvb1b@rbmu2l9Z9!YbTjNX zbu9eV5}?CYOCU;x)fOEiz0#uDNFB>8x|#Gsi{=E~(P+_e+HbJvfP)LN^;SWM3X?6` zJXUNiV9p*jN&d|@ZKJ{BblMyR0%e#j$p?+ubcfliKFTlapE|buSi{GS7?^q(1t`$E zLl)G!$CZ70HNOFZPq*9O+HUvUCQq$(_v-4FKiNLE@Q1v)*1adobC>$IQtubF#tmp2{LoM(1{Zy_o)4$(MH<8+O) zG@h&RN{tbX%jMoF^3I8NgXji+l2X}nhBtwf#-9?}KRX>8T_p2po8#ksm>8f!I< z(l}M)Y>j7WyjtTDjm;XL1Jb`})de4G?9|xhJms)T;~Q_VX;tK4H>W_+tg%I7 z6et&5+oiaw<;-kTB6Nkq<_{JAwjo6IhqpfoJ!5+ZUbLC6h&ti;XoJIaJ)?^943kjD{xYZjd1&Tq^<{>+fPd5ilm`6CYT zjXtDq>O3JakrO=YY z<3)jwQqx!~-;x^Dc zD>B*DSHEGoq52NFg6ca;)2;3U?WHb~T|IhLy83Rp7wSbhSEm;bkrQ{gyO&Tin88{^ zR_WMvwqky2sr{NiSGO4D+pe`N_W-?FE~R?n4y%~es9I(SKaeRIFKblujwR;-y;km| z`t-Z4Vs>E|^jaWOQk{7I1L<=34Cg1P?!FCHF})Ydi92<5mw%ehS}hkqW9-U|PTvgL z3r(h^Ls}a1rKQfm=HbPDINX>~jDPC(2}UZ;6cq^kY!y>%EoffjFxlORUo1JZLUIGt9d3EiE_e5SnIn>i=a5b58o0Io z4A;+r0;^uwoFu}ad6~$R<`Dl2KAGsS7IdZ?9#8A$TW+`_kpS%lG9~R%zh;3cH``>; z@f;MaGO2XIWlAt5w;6OaLylb-5LSS+hvPkt2Hkj<6%S{hG13r`40Se7OP!@ob8&eb z)ngx7>MRx?|M>vGHLzHPk)2FD&hTvzsyEzg6+2PO6lj?KYEp>WX0y;BzmanwQG0M$y#4dMf$&ztahu|eau@&@udHpW; z=o0qVx_paGt#-KpBfo@k#{CwHUG9@xU~uf?wh_$8a=LW+(?FtnV4f8>zoFD3dw&jf zaZY-118Ft`QnEGJc&lx4j069#mFnxxwbZLo96b-?kkv;@s+06yVaag<2+9pqUu`R< z7w44+?#i6|EOjYHtHY`WqhUH&v) z&2e02*`u2%=**dia%;~wYr`=h1pm6_3dA#Z&IML28P5*TTuWd|wg$d{ByCC9#4iLW@IHEI^77q0@%=Lk$mbc`Y!W9&5k0B4B@94cZH2N}8aG_Zv&j zbR~PYySwwfbFst5V%L}LHbe}_WH&Jt<;lcKECTJ*1xY#1PO%I*=bk^G+$a~=W0-e% zrU@Ec2*FH)49NSfJaO!^$3e+)4{Lyi@0OC;^VKO3!TuOX&p z2zpRH2M19y^`qR-F8HUbDkUAWCasH;28G}h(Fr<`A!quz$&#bxWwj{C9KSS}bF(F= zX0o{*Jos$I)ZYraEF*3<>f~Nl=lox+V%okBv>(WnR43M!Th(FfOa<))G9~3W;`Y67*((Lz z{DC26Q3xq1#}U}BP9dr~JaNyFOTR%pkK3A;eqsk`URI~wCdcOWet+O<@B6D251VIt z2=Oowq+~oSpY@?Br{dw?RdU2`#4`(alZo?ST=6WtuQlD54|H;I5#25PZKz-vaRxyvWF}EIg z9*x-4**xpyMO0t;FH4=#Zv|ZoWU_l-ex)Tx?@_sd>Q&FB7uSLIQWq(y&d!~KMoA|A zS}2RYh59y|RR&*t)t}XAX17h9!Mo+t-@3bxCoA%UWtoAk1MLMeB_kl#{btG0#2lKy z!Dc%O&OGQxyK4mfQd` zcj2I<08&zpIQ?@=jP=Hl4JJB>tXc6N_fvhFf}BfX5_MVV12WJfQfx@1VP<%}onIiR&QUo|@OaT}jk2%9ZF$6ATI#M0+j zs{(C{res;I#b;xLGWg?qr1K|(w)06CV!E|H{)N~$7&zeuQh`|q<1=hpXJ}w&*YDTyuJSR-r?w2 z3%-ueoJ!hl_St>{@o0VWi~P3u$e$(0_B95V^J*+J^wkixS3T2p`~Tn<_x6fmb8Q=LC{LG=# z2L69*Uw8li&YzXRUj#at7=I*#pV@!$|H1bUNclJ0F9bT7*nZ1F>-IDG?HPOzCNg{b zX8NB8zPoWM~Pf6GJ zj7aJ8JX90{olHDWMdV2X;kMmYOt*=2wUWTdbhQxZxH>(Uz2H8`;&TG20j*4p@tFA7?>hS}P_ zLoI#A=LbDT^;T#I=DZ~~KJP?ZLEH6fY*&WnF$LQ0KeJgIGx(WB zSMeQY#c#$3`oHmg{xp8kk_`Rj@}r@~@IM_pRY#=4^7q3<49H|+t1q(HJal?=+W0(l zig~DI$!jZ&ijvI3t`R)@_}^+fEUDWDdXeq;@gJG)I{;eio4%tqKK0|E$2jDKN~5C3 z^r`8(b3oVPe`X+7v!wwBA}FSq#S%(Bg< z&#{yMZ6E8iY>%yIe;(+0%07-&SFw%FL9rUNtz%03c*>Pbysi#{wwr(4#;5sp7T*l7 z)5fR1``DEJ0S|>a7N4irqS}Dv-vj-C+%yucwy@qRX4t<$Oo#0`2x?Q0v-n)Noi7I- z1htx(R`CE7pATAhk$KW;J>KFo+O2Z&K}J)N-5cklC9=HEIIL*1EePHax5;zrjOwEB z36>H1-YD-zagVG2VinVO)rkn%!NaRZ1y`*aXIcCsKC0g*7<*0w-HMvpS%4 zb=k^AHFGRJe~nvn(!s`u+2xT|wZgSLpmuu&HYhqGr;Rl#JyWCA&pfsFs;SSful?Ht z^QNv_(>T_6E!&sl5INVWH8xjio+zy|MCrxdqeUT4FeI}Dm&{H)K3jy4Bijl^NX{K^ zbf1u9J&WRhBX0qVsi?{+su~PYRp%B}Gs|KUh^}?{qU*@Ql^H%vK7z%( zz|WeUEv6tJZt4lK>7;CN8t6+jeIQ>g;J<)8P%fTeR1Qd*I^pDOaXIp>TJ>uDj##wp z+H91|-4l$mZpoNhPR$mZkXL;qdmLtrIyhNAY;Lxgg#5~X31aZ++2Ua2fpWoNM)zrE z+pskauWPF8n8{f;yKdn3|e9R&B%X~ zC;5%(`5Zu}qmNel4ewCeisKk9DtC(VMwcjW0M_M+@{uLcq<--g+2Sx{L+PTb}6F z=n>uOx{7Yk6ix_a*0vli-cz?aF_S+5Ws@|2l04#Y!z(X1+!&r3kjoy*7Ox`@+##Pl z+!&QA|Kefv>Oal$A5osQ^=>(AvQaTH*+XAEl`Tr~HI9Kh^if@uCyMF{MA1kiS{N!w zO$=)w^DFX4$%@Lo6VaphO*V>CzTSNXJ^gI9`0iu*%4B0$s{E+uvcuI;K@Z^{;($e!(b z^t_1~hgs8Vge#q*?m416I=cJFu4YG5Kk`;~53&9&%fP$%owpeVWWOoK;Zr%fLmb_v z@BEZ+PLhYbmo1heAFX|rS38BL&Lcb*yJH1WXDC0I7oh$a$ePo}*knzcKgbr-KeRL* z>X;8?9{Yvcvqf*@v!vrlV*nd$(2>T4BWaXh5Mg2{7~`ndL)V zGo~7SQXPGv$Pw2f@7gY}n`)djobg5xr^_CvZR-D}Fh@AtIpTNt1Il*~H%d~*_8K{& zZ#`M4*4-m zO`;l`@nHPBp*hG8>%qSRGS^h)h}V+`1G@+HOuAVMp6Hn)cJ7de9A(U=pSzAS`V(I| z%D9X;>S$vM@!F$}9!=&Tf*(gux9HheD0(&&h@SN>(G&gEb7XmHkbfer1YP!*fID5J=s7JCgTj%A7?Z_NRpUso^OgElu^86JIg6y4Zh~6kqr&0N~ zVL768Xii$WGfOxdhUB~!$`Lz|=V;wb+OFg1o+r9H`U!WUAmj=$SmIbthv&FQKxDOz4S z!#MGnz->9=LgZDNZKoZ1m<#H2L|#yc-kbm$v(Xn>A`baqk+*4`6fMh-H7d(P5ezY8 z_ZiA#ik8P5YizIbJ&+?VLEfj?c3Q@dHOkkV5-{F%RQNu~5l5e4$PIu7J5lK8Ap@OIA&^aH;vNTTM12vzh|oFLDHfXa+KjRv?wzfi(6DkjC9#q9(vzKsxsU z8O$UggR2KJ*t38P{%=55=1w5fKY{ea6h>f7kO{G@0Pkb!wM?E@B#E)t^`m57n@?s}uTiSC>~ zxrJYw`w~bur|wa1*6&qxCy;^Ue5dMqB#>=T{=EugB#>#Grdij3b{hoJW=PXvAj69M zRG6a2%6a4`70eaCD7pnmcTpe><^HOI`3OkI-vOC^(=^MX zaLN?Z!Nh@V$Ak_>>?<5*8ujc`fpHAa5+ zDaXwy;C*Eakby*jj4%e|n-OtMCw`XKooGxkTP@61%Tu*^B|q2HJKULT25_*EYX*KK zkb$2BWZ>rk*&0^>8TgYx9SqG zkY*Zy^ggPu(mNK&bdshSN(io)!rEm7$oQLqv=RTKu!q?r2^3J>vtJD*pM2yb;~=v` zTM%3FLNlywM{AU?qx-4Yw$&>7OCURPACMheFi^!<1>}ew1~i)h$T(&L87ET!u8Bb) z>l@mS!+<}+D4RjG@Bj4v`uRr-D)>F0oKj8}miz3&4V&sRXk z_cM_37LHb}z<0y)}W9;;e+ z6Oa}E6v$TpMwg32RIeF8HUN|8&JfXvz@pPD#p&B*uQ|r3zwnHb*pEqE%k~(jbgu`} zcGE;fF9s@0=+R=;utAL>ApM6m9VwQN&N2F!qiii|=9#2)p9IoopQ);0M*^vL1&|GT z(ljO42xMx~H2t=~Hd7Qx8!_!O4&)$80BJ*%xYd9!arZZS$BP2?k`G7$KafrXK&GI) z=oDkL8EYJ|wrHOVj#DxG14w@#)~i^vPEfJ;ouy(v8c50WPF92AE+9Mkm$|CbJ*TVk zN+9J10XZoAK!$TP5b>WbX5$A(%|$@QcQufXZw7KyJp^QW0>}o@hpx|DN`QiSt=xzP zIwMzniX6CDUj`;=x%gD0@3iKITv2squDDvW?R3f%Zm|rQ%5BIJiF0#B*?GBQt(H&G z@`qE6lgEmya>Z0+?zT1_^3u?^O@q8+eYlH$qoxyGU8p*wTMGUU2TwWTC2FPLi#9~)kt zE4CpwlHJcK`n6Swimg3Gx7J>`OYxe#X?N#}uvVw6Nz3==8r80py8L~vab9`o>0EIG z^0>>ivm`ASoNiQC_@2oXryw_KwnfVc%Z*C;{^`bmiNV#m;u7So6ynW9TY<>k>N3mL zqP$HjQ^roG^yK(6j2n+gyqGH%tjiV4FNYc4Pvau2U~8Vp#r-79uUnrhn#n`kXVNKM z>1r@4M|ob$6*G~4)8gqgS|7Km0%iqnQ!SpH-C#^8_if4*=QHEgH@ZsE^63Vi3-_q= zRRYLCExuLfD-TdzPOAk>^P>NIw}`%}2Kja%ljkjUFiZlP2QQFE{o>6^jt7M27v;mR zF#s$&s6Y&M9DjONk3@02Tg(&f5;B5rUtxfbR^f^!c>-+KhJFSzo%@b5d=ro<_^t}z z$e5z<+@b;*wN=r7l~12(ls1L5?=X<{i~t#LGm!B{fjsKtKq@AHoSZzrCfflE7+A<< zcrjjZy|2PJ6G*+wfSg?x0jYN|mB^JBN{KyTCRTfuyW45abKM7=72c+XSfNYQtG;Pjtr_1ZkHYzG3J95Q8ksGn~x;JEOw0w6h z*7jp(8#!6AxcuO3qgQ|S$+rKvMeGx0dC8~B(-)s9n%)v|SuxM3D5tDQxP>>aczb|M z$H`;n83PXX>_m50xkT|UBT*Q4#qy)cWgH9*sMbO?+OAY@{aUGBARmEhlMkv)ejwW+ z0Axo;fUIW=kRv4qq+$YSj<8+oV#){P#Z&;u^H2!L(@q3P%Pl~5RSd{$k_3>~D8A3J z@QRye5yB5%jI;oGagqS?qQuu$XkL1UfV|Xh0rJv22IM7o0?2nLJYOgWJ|K6O`+;f- zu!ep>t~k#)RL0IRoK4a1RXcnEEQ9<{K-zJ2s!RDwApHyl((hqF-U6HqWL)!sjPp() z<9-Ini>!Bntk`ZKE9&||UB#6ED?rx(5nq!yNHZn@*+TU|w%A-CTksMfTl9J$k4*_= zi$4Nn54;FukGu_J4}At?kL?Ar2fO^JI=BqTF~k%^qcDZOXj0uAMgf(gKpKeyX;gfv zy4ee)Q$LVF1c3}H3}leaKn5KJ(sUeX9+6+EZuSD%8bKgiry0oBiVwsOHlMd$b#o9{ z@y30b~W<2eSU3 z16hH+KvrNskQFd~QmtGGWCd!0tiUKBD{wZD-M18o3Jex6;s|^On#twl*?%s7?tM5`f{8e{b(wR zNwdj>co;~reLyzyMfYkc|$hsYYhn94EJdk$h z0+G%Vf5i_~RjiyMHl~PzV*f=OSAVB_N$*GfGI;HGsOd zXqU(0$pO<&AY&R=tYV%Gq`T9BbayV0b-f8l4PM)@u3jMB4F@vJ@j%w~79ic;3#8pg zfJjYZ4Spo+>PKu$0Uc`)NFyO2ori&R9s$yMvo3D|a;{@C+XOU&i28a zY{m~7{20iKg+X}ezy=xvq`@gb8mtF0oercyrU)97sToL_7Tw5EAZ^BgY^}I1PXLt_ zb@Ym|Ts5RUKpOA@IkvE~=MvpJ&FGzG?Q?7|rTsaO;&brCk1<{eq`&Kc^mh}Gz4IuL z8dG|!-Z%lsA>9C^-o-%n#w$R&jR9%*Qy@~4*o_~ms#xMdY)nBNYXoSvIMA#t(5x(w z&J(&^vJQJcJBl-wE)ou=k9OC z4>rNSfed&TkcxYORO~WP2Lxmq4P@hu1+sOg0$K4Bfz&$-NWH%S>2N8K>2dk?rN;1q zJb`(CcjJ0XnK@{%V&4v=_ya?e;{7f&E;mosQz?#OdOd8oVqfM{;#+|9_6d;QJAiDa zq7kZ@o&s`gyaZ%3y$z(B9Y97uWTcAz5FpbuApI~2!!0W>H+m0Z%pn93(#-ekl<>g^ zD`V?NDf+EZ@~q2^%gmscLtczl#x5G8_-Bn(@*98*`fVVC{s_pR9fzo(?*lUE$AAp_ z1t5do1Z2?VhpM0l0GUPsRmivk!M7K)KQW5%^c>TpylB2Y;DUePSk${Mf?8gTQ~Gm& zv@gf2xEvEyTo)gv=$nCN-vF5&2PXYRy6VXSNSPKOT}OdMeF{XmqhFKAy!m5;F0us_ z*9NcgD+k+vH1^I!6+p$|Dxjs475ylX{PjSlw}1@D!A|7 zw_btEK5;~z_z8I)-lgu%5Le+#Eoo&iWTR=XSudTo0O>CZWO)q8j$z zz>f29QDLwl2DkQ;1Fkg6Ph!P=SWyViPyv@6rz+qD(m^edtv4A+2Xkktkq`pXU=xrI zryQ@2{u6+7+#v71(&#&Z3mexXNAP}lZxpA~Fx&ul|F4W%vn#pExN&0mlsvH=dHQWI z#CwHSTz=MeJ(~B>%Bu{Ka_TIr5m6!A~T!z_XWa3ey zxG8c=p7=ZR`KA^mY_y{=TNFB`h@6mKW3QVk{I}+bS;+TMp7(|g(@gqwl&#V>$hXsW z9gfvz-bmLJikgOi>>4&o%r&ECEc^s-Q-k?7AX7+=4;vRby341+#u4R-A^GC$VfkY7 zGSvwwS{e(myCv?+7nh947gcvEc8Zo4EWjIZiLv=&!6Eq~sM#r6KE1#wbpBPoMfugHD%Mi)+fLi{*m$1*@SH4!7sv_12SjHJKadkd07$uz#xM}A*(4(P z!5O0&$a6^xu&A~`cpZNiMTxF)BUTu7g`B~BU!J)X>FIO}-yF5?Ap~Ta52VvDkWLo? z>GVz@&sR?ZIs0@wE#JHZs0Py4u+zHco6g6hfPFh%uK1fV;IJ^rN066GGzzzObrzU( zc`zRz?ojuZ-c7A5}=u0SF{Vr)J@ZD zvOq#LZ4k&>G7&?dS<5hxwTu8+%Vr=e(*mSiEKzux`6G@3UI8V5JUxrOYU#-Xq@Wkb zOEMpjOHY0vFYW`H9|ZDdCIsX~d>F`U^~hd1;RY_;JcY9*x+kcE|GTct8X)br0~v4v z$bk0&8L)UmwSE^Mt3MdX?z#P~eDfybK_KIJ63DpL0~zOLAnk4kA~lI`@q;b)JDEdBIT$_P=_3HBwp0~jvy!#6+JY8K4vV-pDBe~r0aP|`SeXj^*KH~xL^tZDH7s?jGo-d0i=vq&Rt~mHT%5mSE~len)tQq{XnKyfmD0@ePw$42a5jdhl;-#$Yy+4(@{;c z%%87Z2Q&sXhVpR1O+N)>kT-Rx zAnykl*hRPwR@;ru*l~zr@^wlR+|SCD!i9~ zOw~Usx)#VZLOubLy+as)Oc5Y!(E?;I$ACO6J#z0&Mt8F@x7o&|XP>g>15#`pkYn-) zP0s+*%mqNR@qkQk0oiCwzVG#*1X3mhJkX#NKVaE0p%s7pSsBXtMH!v~q@z24$}E-u zIJ$=viXn9sIAe4ZC5i6w)aHM^4C&p6RVl4Aj12X-n>0dQn;dYv}Z}2$Hip&Qx-2h~TZUM4& zegU$jyA+xHBSjT{Bx~&HrVa)#kitwvA80E1f$W|DkdtdrW4N2_af_a$=VNGuM{ z-fU5eA55cxtkhT_6($4e=tLkL&jm7tfRwu!NQ0LHDR(`Pa<>7Q9+1YZ#^L4hzD}_Z zIq;A=22->==T=;ghxMyzus%jEmF8Uu#< z2RgBq;1umik=8Y{eyW zni_&Zd3u?!Xu0V&Y>NmDb&3~|cgVfB83&c~=Qqd+?Knlt@eyP6(3G^vhJ&p&BE1aF zpR%|jVpPrv9qbg>jY0#hL{&I-)fbrb#L-R>Wf^*c{3M;)!NQC3Iw6|J;*JXWH!W+Y zW$ZMgr#yJ6apKU(kxsD|dEq~35|QEksq`|;V@VnL{8Hnva?i2wioDNM!E~0SWzp@} zPSkRoQ*1&W_b@DSCwybyEYfYr)01Vb6fNm3y@>lc#4*LZZ}FRf+sk|g~;Nc%C|+!UUwM7%A5b<6ptd0(fkxG&%DDp zx~lmUr+5WIbkHt%Uzi&74Wnh`%Esvas z-a6kY=4sIsEf+5{Do^l)oT3(aCD|MdxNRpr8u@Xpl1bZj^xWg);qCLNdCf0>UZ$@r zwqfNZc#%5#Uj;IKt?B=0y8Fdy76@OW`1b&5u0_+YYkDJ)vqgEMk{b-9++7rv=E2GYj<%MOOsPHB5$RbdBKon(r=<{hgK!uPTO@HSq_oK+hwgA z2|Mw~)G3BM#;914ERj~$4R0>A;yEy04P6^{&Ja-uPo=Qg%Q+_f1ZW@(!99k|&0=O?7x0k99cfXE<2C5P5epKJe1Z5OSIfhB0W< zo*cj2czL|{VW;>6Iq^8Fh>0?dW`vkv)5>fza_rqWT7KSSRLK!bjbeGr-Nqdio;6Mp zLUul>ELyZYd15VQjpxzTnxCTOrS}+p%Y!dE#e2w$G&@Dhr^)uLcZz!C)}-|$ zE%)4GR8~Y^a*Cgj#Z$_;Maw?-8iV@9UdAaeiWV^Wxc%#_!F1jaC$PaH#giA^YgD={ z^3Hp4!VLWzrwrt%ww$8n-g}MefhiJfhYRmJ?&8jvLg2ra$w%%t22_T=bc%l2xf3zCEYkI$(f5$V9!%xm;zjXiRsGXxgxFe(HW-Ez@lc%dh6szV zR$~`DXq1*m_BuuH@6dtTNQ#zEKZud$`Ozu-$U8JUMN6X@Q)SC9PEqkIhR$jgLW-7i zo1q=~-6@_!j%ap@mg}1_sx5M7vvK0INRCT9h3xwmjB(P!RT}9i@)(w3N=T=1%rs(= zpaBa6_3#2YQ(rDvVU#)o^6nM-tQ5wwcyqqXJbUzZaybD{ErC3noS^ByY5EaOzp3dT zG`-5Dos6h8oDI!n>=(1(nJ%fp6CJcQivoT^5OmWv<46|U&& z64Q}aYIcg28y-R*#lR}@xWrb?PSJAjL&l+%iEb`Y*xe;+)+pmPT0VHBQ6cC4-S}oi zxYi}S16{(umQuK4)teR5%Y{hM@|u-K-x1!yE^!!gglfDW#%*S9n_-q!4Rwj-ra9~w zgN#YbEl@ipO%1JKr<0cuW*_4i6~kSkAF}s(My8J2|5_%G`-gE_d3=OR3>xVY_nB%! zq-eS6AI5<40A7K67I}wer)cSV7?++=ze_kLy2R8MRHLP6Irm}XwBzE_UE;@MTw*oZ zy!33F=pg<0442rLEbH_;NWX==Lz~H@Q#!KfpGIl#=HsA_T=OEmq7$&Pzy~L(ayjjv zd~TE$#AKtv&?o=1tN_pVwqmuB`;Y%5&yx?X<-q6u zak|({!3cP9LaAIeE=0V|00ZwoA-C8P(BhDO$e0 z%BUXEGRGy}M~;(ijzGLc)>>ee)turI39UvMla@Un!7_YGO^$zruO`fOiJ7On#Ju&e z!pWsg(TmS;iAI)TkdmLG>1iu=lVcJZewItjLf&l3VPfq>hQ7f1oT&GRG}|1&;M>b^ zKOw(=#OQab|7@4&M0UOeha6S)OHI1}IWAGgG6X@sMbpu3=$Hr`EyV@Y?IO(vvymg3ZKpG@58{yf z9XYCH?X+yZ(x|G8Kj;!iHM_*_q=ZGw$|o?>4Sm8m*%f#gyY`VA<Esk@ z27{&5qH=s2qyc+|G2!8*`Vdb_^K47J;u&T4a3IqRO*{T3zkbrVFe~wyoc)whF@SpQ zcoR3cLCLQKGX2o1X!=WhT_|rW?^13)Ym1#osR|!Y*eNe0GSp89l)hPj8E}|rr*;14j^MPHYxsc zAmyLlZ*E$1Q;RXk(bE$u5LL)4U(;i~;b@U6lUts~%1iUb1!6t&Z>9*=J(9HS z`HV5(5Kmk!i28t;1IF_o>?ggnz>MW&AY-^6$h7uSdF?aCOO^gL1!6gJ-5Y8g+GyGJ zG^3Ba;#p&ORwOPTeb%U`FdxjoYTyNBbs>=H({=LGXN^JS(e(wQ@+FjQRMt|od}1|D z5n-^lA=hcPoi;DE>zusQ4ybc*zVN?XAg)KAM|tyx5t{>|1!64neWndg4;gX@$F67I zhhvt(M~LK$tFd$vfbz%4Q5{5zmOED)hfN6T_gMnK@)|&zVECh&*oQE zGkgSOO}bH&v|RcxqiI^Kr&^(i1F4qKwCJVEJwTk7gjdr( zjeZ~pPymQ27@I>+dQLwQT$GLX+cv9cZhl*J%B*(^%;7obT@~G_Kn~YiHGKz=>z}KE zOnZTJ>x$t71MCjODOel?q}xM*bbC0E2g1pUZW3o|fxiNo{s40PyRaFNZT7)tj4!GNSvfJ@OqzX^U z6DQ%?`xu~;E>$Kw))zkxBhAPAPaJ%oVym+0~WbpEpEr=9BX*G zGP>X;S>h(-*k(gMhWAyfYz4wx3492v^=fyMPqwc$a6Wwq`{9ts$TOce1`p)VdgQ5Z ztKc(fOZ@rgjR7w4Ftq=fCsxZ2kWDR*=85AU$EFaiZKv6_QEYKwiUHY;aUjQ50?08X zI@F_NFOXx&59C-10y&n#K#rwmAjeV^$iWi_!ZLp11jwVoEAM_mkMWJ%LGgszLGd_{ zX$_G6UjfqpJ3#vX6v(l>2T1?F0;%D8Qf(_L1=9amApIW+r2q4Qtl3f^-M0YogcyA- z$G&LXI5fB+PrSYn+ezMKtHNVjADou#WvFA4mU~{r?XxeICmNC4O%>c-CuuoiopHD; zxFb*8f;?GXv(6|zfj?hG4#eP~EKihe#FJyJ2f0?c%<{rd^2B`d5FF*~beb;smg$al z#?j@mFZ0BmU*(B5t)8OgG3)U-q9u_hs=vd4*#hgl44gl~q-%f76AdhbMeB@cvt|Q?xwuW!$tk-;ghMA)ilnQI06WW0c%R z!z}A{BjRK^cH(!%BbS0!Y)Pnh3zknpUZPEA(zKV-Wkfa~=J9=TR!HApG+|D|R?tHjb=<0Et4`WcW%H4XwjoD3gk2x*O&mB(_WE6FObuY56Ef94`izZfYb{D zIqifr9RYIMY1SA8a$`yi$c-v-AU3Yxkv4wt&DTMW?+^GiKY$0aE%&O9sJ>5i#1J6o z$gx1wQoQnj+QjlMkU{JKGN_$E&Y9l=S()E}oFiQis@*h|4>qaoHA7Lr+8qX@;Bi12 zI3CDJGYDjDE(CgjR{^>0<`y7p^B|D5dm2c&SAo=L^5G)}L_d&02Q?iAX47eNcX`9B zMxQe|?8;y!p_OlFR<*qkNCS^)dc+D<>nnjYcqfqjr-7{PFF;nJiw@rS~YE;*xNVq7(-o;7zvD}by z$a>Cf>LyTx_ z&Xd=^uHQ;a@TG_~%0kZb%HqR7Q*XVpcq@?fhcBs)`~pbY>?nNre-(0jRu|FRg^xuw z;!P7gf(qNq(U9Jjogx5;=CG(f5cr$i2v8b|9*5csZsMk5jM=lv~%uET36`-38=9g>rT} zr7Kr#H1NMcyAI$t;(95p;Q7*FrHGd8_u8qGeA!2P>_> zxnx(`OZ$OBOy+XTCOo9PV3ScMPvD>HHyMrcqJ?;HwxR{(&^K`|!M`^WLF93ts(Peo zdFGqO0AGxYCe=Bj$Hm=3ML~~wW}3H`Z<47N+XZAQ>8@xQdcY_y_k)^?yg6w!Nz0Bm zjbo>@e6N(EKnIj#Kzo-2us{$jQwFaEGF=a(?2|ywxU0+LwQm`BnfrgDcugYMOUZZX zt>lLQDSulZCI2*#bCS2OqK5&=_XC+`0C@hchfXQD8WXQoI``O@3^b2ej8Nqt8Zi0fc48LEQ67RW#s0~zRD zKnA)3$UsjXrrPte;fh`fWW3J-8SfiFo=UfBdavep@tN{X;z|5q1zrX6KIA`|o-so0 zto;qhjidP^)yvy8Kvv{5AoZ>RGLUD13@ip@px*!)xbq-Yk$yn-z+*s`d<5(w4##~A zez2t+Tad=Hf`b(=5Lgyd7GVa(3FTs}|>QSA*x^96p|JRCjuT90fk0S}ZHT-r&@db$_uI z)2|l~C8*>Fa_CF}Qt1pJQ?tC{J>&2h0c|rxTd9>}EJ5j&<2XzukI&#&%H&oc(=H%Q zey8c5zLEw1#x;ho6SfB7a=ETl^n3=NUyYZ<)aTE;1~^2UF?lC#hTE0ROTJMyF9kB} zFEm}YTUTR`;%Bx=5WXlM0y36xXQ6y+n^A7g`WtPI5->o)RS9LN6-fHp?^GqO{6V$T zKY%o}<0r-c21vS7(?4o@zos4g6u$sSdu~NHiCSHtYijP2YGKQ8-Mg+kzha!w4+%oa zYrTXm;AXA=`p+uh?|^i`6o(zAgs!#t0d{S7hGjoCVY&DhrEnpT={g{5vKYt_ahvAr z0E6a~fNNxKXKn`X1?0|lj&Mk$++Jp{l=n9{FV4XOhb|)T8TG(nc@J#34ganJ82N_^ z;G92P^6+g&?;|28SdZM$LF<^Zv9UV&4BF019*V58A6}ROK+*v@{(YmgFUM09z7qSD zuXD_a92WsVR`O?2z$@b(@{}!j%@SMV3Y(&O|9K3^_J{*%F`-d7)p^hZl{8b>UFt4jF2b$$TmN$4*)h-5-UJpdd7BP>U`GIlBNOnscf%uD* z;_b!C(D)Lia3qjz6DU>XrXLQeV67T-t=&3-;U$5zRyz=!A zjgh9kS+M8B!A$;*K&Bh zb~TnLY_#+}gFS4`+l@LQT6)AVgN zrWr)Ii@IBB0kV6ez@kIl;?Q|>n;e53uO0C7aP7Za$91zdcGJF_Ne({>=`;+ntf*d`?q2xvn<(-4rg-2kM4(&H4rACUa1K(jl5X@Lan{m2(V@$*Ld;3UgJp2x=$bIZftH%f+4yBQ0I zan1A|uY^AYQjjTzw?CNT-Q+8u>N}>5(DBwQnL|!cI=28B^&^^o9Z3D5e^LA`K+;T6 ztm!eufJK;w`r#_A_`URx+cP#l?o3iwX(yWcXYF4-OBoz_k}^02$aDda0p!hAbZ;P? z^#`(i*2${;5+KXxYx)jNvrH7L^RP#5`b^&f&qEARE%NXjW#U;NP2O>eGW8E2>3?aO zrotttTTguazoDBbuP?$!|2@L_UXIygPHfOiXxXDrRW_djQjf{U4SoIG^6a=#Za(Rl z1%8r5(t$cAlb(uwI4%XfCzHhU!N&ShNbiq`njIHIV6t zm*kr}jTy7UR}_eQk-a~{D<3j-x*eo@U0EP}EQ4%1jTxy8n;N%vafn8bBTXN&7A-H{ zWlSk=xwb(38+nzsm7?XAUB*Eb!Rrb{2eRiU<;tREug{HM!z`M79EJEQX?mHk(WcIE zc0PM8rtf3oK#qn4kjJywtu7lq8oe5Q8vPmr@}tl7cbsQouR-(%)zZ;Ls^xzM(yUyp zrim3mo*vqPEZ+y@tUco#bk`Ezem^7Da|zZr-v z#JH8k52n39Dlmm~BQ(KI~@x#bH!hlGPwa1hh1x9?S=6J^PlcwQdV4~9a(q5*i@5>r{} z0j4s+=Q9r}Z^qx1iLZe4RIpOfl|V*&&BKbm8AyHv$nt0Ysmh~3mLp~D_sR8NVuuaG zjBp`mmE!q;Onyzz)b!spy-3rKJfh@Z05ZL*X&R4W8e)oZIx=s}yQbY??c+427APXT+_d5`gcwDdMs7h{eFI6)V@NX&wx|2nhX)p zf_DO$e$@0nP3Jvs84A-7Pdp8!xDoEb|HhL1WT&}2upBd=U(4SEWco;woR^@lw@Ig!L%&-A7`gR$Atj|Czih{)SQOi4K1DVIGgrRyL|Pe~#E!}q9mu8( z|63fM`WE0nX64rBr}H2inwl-{MBdDRdN@T7tjZN3@Pc}^^Ty7{&Kq1EPs)j9MfF-1 z*18HBxIX4kZ-U?(99cg79IGr_OhAtP0mJ9yiF05$SjQk-!ei$l2+=)T3`0JUY#NVO z$Nnza;zHyD38(R3w*{}Ke2RP^*)$$xJ-G-N`9QKM-W1fv;m#KBNzQ0q5Fcx@t&jwV zVe8guS>_;m9mup@({{PYFhf53wb475$9PnJ^tFDCAOU@Giqh`^WE!k#yS{h0Iz4-E zdXCOf@*e=1zR|Q@KA`2jkZ1A%Jtrx>{y-efh2miRV48fAeE1u@Sm^QNat(R+ehyT$ zPLh^;zTvhae3_Cd3gm1M1JXbo$a6;mn7NCw{d-)QPE|`SU8gDiQXuuKfz%%Wq<$R` zM~65X$b-^h;2~Hdbx`L9vjbT^84TkCz#DcWo>*srX!xN(B(Mms7MDE2Ugp5RhpKRt zU@Kfv)Vy55+u`A#3qY}HKwDMdY;dt2za(3NdMV7bUS;ayffRnHKSuTOX)1gs z4_7(Z7;Jav=#piA)jD&yMse7L3LNI}yBWyzOo2nbY;-9xPtOT`T!pZUlPL_OSOmzi z+zjMcZUJ&E$AGAfNC3_2u4?rR%m>6uoCpB9su=?EloSE-C}{!GLk!4cAzqD7B6zVg zfrKAO=5!!$-7nU37)a&Yfi$)fNaN1|>1-pA7jqv28O&}VgZl%>U_DNU8GIigD>DMf z%K3rZzaoys4+by`$h{!fXu3CkC$b&FgMUzGKS|lkR8!*tnf~ugUOZ5ztpsWqawxlZ z0-27)i>lvomf&v>zpT7e1|vS zynB=hpM32*eft~ZrSGxIL;rwcUvQk7gxi2jzXR!wDT2oUOwD{8Fw!XoI$T**v5II} zs5ICkP-5OM&ifIomNS*kA|TVl$19s<^@<)*UpO;mG^&lp{)^EFj0T|0AXaH3ub-fd zj`@o+dYt^%_xOiVEyM8u9C^M|H##oV(#qIb8D;9BkA5K(@p_>@9eJJ2Mp~J+VJ|Zu z=hZvq8J$LvIU@x0I2K+tBY1!u#a>{ruey=G49ElO4j_3gK&H1fpT|!NK5E{IY|hej zjM>*-rq@tHwzGV-2y5ppa2CN8A{*{uAk*XBWx)^nQy(o_&PO>sil*EaK9WW{6&trn zGYAjLYFYk&q@8=bR8!;s*SViAXPU0MYEGrQOevCRkd%&$3Q062qzfY?_a`Pr* zRh5{|;ctE%vr_!`dm81Z$&brx?Bu@aIKjoJIyseK zO!jrOPHU%s9_uT;@VVC(n=Oi?M9t3+|0Rz)afZ+AE!O494}1Uo#@GIYOzXW^Yz{zE z>iJ^c0`elbA&s*Jj*sn6`Olew7zYtec@z}T@~Z| zWavHnIF6skaT@SAj?dJ;dEetWgXzi0>$b|9p{8q+ukPa0EZH@DXc2`fY|;C|$vwL& z_8*>FOEbPv%=^9V{QR&wKEgNqG)3LF`{IrXSVVlvh10NvaAs%n{9h|to~Hp;!(Jyr z*(#^-Kek#Op<2@awr$B?P;;(=D(@!f^$JwJ6;Lhy`#bhKbVJ|eZUMrlL8Y6V{PEX{ zgIb#R_&_R};MMx7nlCj_|2%(R{UzptMUQn)IVphD(fb|F(|+J#&SHBSo(UtVaU=ZDS{;25Q{ckyx`*yTdIdu57rHxmj7nfZ0M@6vC-WuW9$rs(X4~ zfq4Th?7~7c47tRj2bKO3Pr49kPDb9Li93YIkF&#{^MRY~Z$DW#in8t5WUjMEzEiI& z&=ETqq~;YQ$9D0xh~;;;IoOWrjK(xm78b}<+OrTp)Q%$vwbu&6U>#fXAgDdlD5!ap zpwiBS^ov;lRo0zQ(@MxNj{TWmfuO5El!7(Ip^_({3Q56~J2`j;Y5}XD=DiD*_A{s{ z2eqB#mmhKEr(OA(${5!XN^QcOP+5yOZPDb1wHsQ3vyl5x{#i(VT>e55EF?%;5``$kmG6>i$u z&I>@TeGsaHLNKw^F5`Wu={s1U5qm&5&%-gW;nub?~c1L7FIZf|?c-tdSfx;=6J-ImhSMQeNPT*!KS&p zIs%n10JZxIy7-V|7-~ro$0*bVkho(4Hqe!dlr<&|bvl!QoaUG;^iGdjxZjAOK2jBc znjeJvh*b#cqgG)TAAzb^6t*Hh4)rmr1Z)FSaDSNg;)k+8j51_lB{OPZ0OnwOXj;}c z9e^Jm00U41F$k3}0y`6qCa0GA4);zpGyI-W`$KvyL*s1+R6|Xxpc?dZs0RN5Y9!P@ z%ZB%ZD*k+^bO-WafUX3c3Uy_u@@yL}J;%-;44EG@7hrTrDF?Nv@^kH-#&M_~SPXSV z$Uo8E+T0iF9C3pS_ngEQM0g6Mhs-rDJb1EwiSQXv9WxW^-MiPh@U7l__B$)4*w2)$ zhw7Qlkh5j86M8*yem$=z(oj9|B5Vuag#mci1@*j!{}HO;yGHAI4SyC?!(T9suNcAe zFSX&hP#tqS?4bSba*TTJ4H$qmPz(MJYUun1wT5Lg>>3^m)iR@@TI>R-rk)Me^rJ7c z`ObyPHywH{1C{R%sC;S2o8x(vCPo?mgc`H;F1H_W>kJh>7^-gv!T{lupelGKR0StP zEocVRg62Uj=x(S5t$)B=`5E#OnAjp ziz{rpj!?UoUa$n7=)$9+(mexJ-j`4t*-udaEgD>D!!45y>-zSq)PIV&`wtW6KTD2r zrR;}mTrpjf98%ZUs<)D*U9tqp!mN{$jnpt?y4z(d@cw!6YUy77Xwu)%*Se>7w&!xD z$f;aun4&x7e^IwGeasIIS@w=?kfaYuk8*OY}JHaKNFT^k?Ki;+sRbKF_-Vw1iio zrisZD>igPzy%l73C}&T*?t+>Q`^o#Y%bbwBr@qg=*EmA5)DJeuDgi*Lwt zVCD9p$-CZ}Adi+Bpn=2?^t-gjx-w32Wt{EeD=9C#sL*_Y+yUC@-bKm3M3N|cZlO6F zwKKWvWui4RR$DFHdluBxfyGkcu!2Mbnf?DAdp{BV| zE;Yt0=NOd}IMl9m%9WFL`HbRzkQ&)3QRE2KDo*d{vzYAQSFpR?sin;T~59etur`yKqJMFjeC zTzG<=_bAkKvdgQ^%=9menGO95|MAF`nS19I=;8kf6{h)c`+3`c+T_A4EZ5I2tn=Zn z4WKHfg++T5nmH){&_3FOiww1qw$KWWi1(dK#wpZ)pe^J)s3}Y#wS@)`C^W~S{E?O) z_fIDyY06Z7(}B^Xe}#UGx;y~2h#=Iq7=rQEc3~-~eemN@^In8X`zBQ0O;A(QHa7j= ze;%rF3k_3dwuw!%9eUs6JG`mO^bb23|6yEAYGmhcg_?eK;bgdhFL0nnc8FBD?e^TS z%MMkD@4v&^cFJxlFriNhxN`iF-`A@3-rxZ~QxM<|je@qOMRvbvvq;lmGEm>w#2c1T z3Jv_*7IHh(^r;KyUusK{F7&KTHy3K!;=+~q)Wa+o<@bDkTz*+u%Bp#&!0*+(Gnq8a zez+hxppE;<()6?47o{abciE*bf||Z@VJ)@h&H}R& z+9s@7SkT7oTKKmD3D?FY1MPjS&s1+jC@OWc&H5A6)RL4c>Yqkr!mU!ARnnAz%9VoZ z@if$+%XCOy(%9E4_Ve8TyR3{WE9=Utab@LPS>^y+mLJBiwdJIsH@KlUxS=<=q3W>- zYHDVen|!=67jV2CGYiYw3o3s$scRFBf!>P#?Tul9!)?FSa19_^V$=KrHI=$cA(i+r zm-TKyyF1&nP5HafR)tISD_FVaxBP1)*RJ+vOpa^fYwta45q8TAu(FzhT50!V>=RJa zDk$eGNV0E-Mo8&f}~Hm`7c3DYh%gMX1+-+)4Odr1J!t0s1Z}M zJ2|hJ&wez;|0|=|ee*0d+b-uWsOf7L4$raSSD?z7bgeDtVW^S#f(yR_HUB55$v1aj zz5RdKxPW8$4-W9{eUDAeeoy}IE!=(cDpp&;lq>LCsHx*TyTJZXQ@88w0*`~5u7z6R zJ6-r5H(w2zshfOYKi|#XeW1H|FQIDCGhv%53l$!8lRaA)1rNQ7uxuaQ1RWM`s`?^e5XUDdjj$XQ~p-I@u2I&X$*)MDzugmt++HaRGxyl7_5-L!tAXCp$scZpeygcJygbU!WZnUM z*cB3Sg+!q;#$m9JEo?BzWo{W6%C6aI4|GP8SJQ1!%Tk%C9fjsO z^!GCN#d~FXAFr;V%=C7fw<~!xT?}i>N`GBwUPbvwB>8dwdnlT`vbFEb@v3j=2={-? zwMh=D9W>Q4lC;Yzy2CEJG1R=^-8OtUR9%jRia*}PpK*8c$Tq%a?X;YzTaM|-an7wa z{asK~VKRA18{eR&N|$o!{G`(qNdDN`*LXs7j?FT4fz2`tYEjQFwBglIRd@?3{yi7} zrHijrS^P-Z6y+a6<;Nvw?C%TqQzf#l5v5pAMiD+%(^|+FK!Q3lC){tL6sX!-XHL_uNxv5T+9x zuVYL3v8Z()yVKeiPByCab=`kodd;Uo6JxwgV{aLwEBR-gy|bSA1y#E;{u0)Hj~f@? zzN?;@dM`H@xHS1;`=d;SDWA6QN0|&w=I?JCemvBaa$yav++n=Ch_gkuW^Q-S`}J|( zjHIufubDSGa<2VDuKmNX#+?O*4zh)R4AoBGx^VMg^2~O=<68te7Mc+#dZ=xnz2W4` z?R>}8*%xfs-q+20r)XdR|CZa^s*ix0CU;1l(%#q6JLnBFU%eT1wTWvKw6Wg0=&f;BI z{(Q7VVfEj7UZ(f=IR0P#C7;&?+}z3ku>A79H&u==&J;%U>tFKn4!(XZ;xz^4-)Q<_ zcKLh5$u~Rr1`OOAWOhM|623uOWw`4(SRS@NAco#7;1h5E`@3^~ymu}Y(4HktYou1% z(}nF&Q$2Tbne?~wHSumbtZ{vkc72k8{zq)CDAZJUxjoQt1vL$Z>c>ia@a_UL5iLnJ z?8vCt7aZ5oT{-oK+-{$e1MW2O5OKf<2)SfAR}s^h9ohAEL0#wD1s`{# zt;nfRQ^ieoen+S&OYjZkL5RpUXjAF!p!h7tjyv zzwJk$4!+)pn)f?Y+R6{@51_|Ejk&2%h0lYUmVTIgs}sM4dH-^1D?+)NLNNNiEq^W4 z^c__Gi`{bn=~kbtD<{P7{o(aC{~W044Hs4q1%9?idBLAKvR9!YB2>vR^jZKm43_d; zxxX9csg+wy-u(dH?IeUqda-f4_}SLMDos*3%f=AQ$VKIY~xcJmwZIkeW?8Mhxd5!IPilDx5%uf!W6<|v*}U1fW;>uPc` z9Sv2ey#k`oMecn!iwTlm^P(D2FWGc`pr)`3SK^~9d7%~BdL+9Z@75{%VvfA{gY0dH zBfYmbdv_isR&XCAYCgd254nP{FE07tuD+ISf=}`FaTLx=vo|i;v>P`|Xyiv+J>zcV zC!iW81y%pFV+Lxg%0g{rH8AmnU9S(Irf;G0nkVfR*9I05yb)>(T@ICZEu^d>^W~Gt zx4QY-c~_tlR3!MAE$|MgX$4e)Z$kCj_fQ2kPul|fKovL~s&W@359{u0>#bLY;&PAJ z;^NDh$8;N1aZf-M_a0PnUqRKc`E*7o;&fAX*%?w7Nz{EVJ$?uBF=u>Y!>#^n8?_TuPY-nA6QS}w2FVvQZ(wu= zKk-wWv8Kkpm3!`IHvH#i`*!YLpL3%L>AG*x^FtiYK!w-1aHlWodOx|2hnjzx3*Y@E zk2ewi`0Kjf&*;Z~W5e@dBkhZC$0)-Vr~)7U)`nk&3h#lsm{PvYR%Ab@HSP%21HGVr z<2})ZM?^n74QXA0simmdcS55f(l;= zo58tI1ty^id;snTpM<&};B6QF7^=KV;%fHr_DxiK+!s?|z@LRCGteH0$uB_56?O-H z{}ac7-(T|O9r*oy0g2s(=3(^rQ*IYu#0>A8dysaG=4cMoez%9MEy<*5EUc}4`d8j) ziT+;LzWC&kJ$=o*d*p+ZrF=Pdo8HuwgRXCESuv=o4R_S4<$6F(rzdad={shex0iO= z17y<_gi5NZmhsnZad&L8*&l_PSI%VtO^uYYLKGi;%_d(9 zHFZv&*UNX@DAgw8l7(GuBGCVwP5w&8CeK1GCHtxkZ-iR<7f|tEyZGHMJ{juiYhurh zTf;|N#keac0oAB! z7&zUgKOCxr6Cm>rF{3e>&UFbY@im-8{f;&bVf)g@1V`FCX7|P?U+ClO)>q9Ma?8xJ z40U7;4E|`3^RI)NzWT|Y2lR43+7SFf=76HwETXYBklp{6t3NmeDkW_f}64OI=*j)i{>T=_Jttm4WZ zEikg+wJ^jci8zoq2^aI&tFl{${bU{lYLcg z580bXS_s>?3@NmD*tQ4{h_9lU3sdT;e@1NppFSl=*5XaPmb|}rd~l0QygVbX<&155_rnK zlWr)~bf*iyZo}uAn^xEa_BXYCx5wsOrGlyyQy8k^5vUc9!kjy8+~1vsc5|np1EA6j zf;to${(kcOe!iC8!Ea!Y+dsH+6EMEcuH-XN(`!)6di+frzxPJuylY-zS5BJzYK#n2 zo*I?A%H}%_DsCF2K8?%*H)AQ(^mwwx;qIV3PI=j<-SVEXv%5m&KL%=j&W1&B1Jt3~ zPN+lHCY&S{!(LEzsl+EZKz|#pIdR|M&yTaO_T-J=Bg^`l2EFQeCr{=PZoozV*UJ_1 z=kudma=;PpclxwzjhxnAQxDr3e#d}g5c=b`mPOZkDb34Jwf@3|e}P)-#&hjjuY?N! zew|I^VgE}d_~t8TCvYi>w>(BId!i^gUR70z623wmIN zo!{~@8}1D?4Ndku!q?s#HU8u5s0mSjO<~7~W7IM3n1GQfwz#{Yrb$z6_m8Ps|m zbG{ce7hGW1_W`JBH>6qm{aL{Fq-iD8dXBiz3!3iJ?0T+(ny$LY4u_`GZFokq;z(Ej zkgI>n)h`XT>qm9-wKtc{Se zVrJ$rTdx#UVNb#`_>v2M0reZ@`6t@>k3%hd9aLq$hAOZ$Y!^@oRr&r<(`cvxG#09y z*-*=Q36|)@VG~9L{R&l3vy*H=J)sJ!f|@2l6?7d`LH9rv^eI$@c0-lZVz@2m5U4di z396haP}4l9a&A;u86HSJF~Du-QP&eeT2g63Fx=CopAR*i+{>1C8dREU7k=G^y=(it zH6g=4v(HfN%Ms*H<#kp4NABC^^Wqx2TPpH1CdY?-J-qu5&0ssk!&E49i(T-KP*dOJ zLm_wjTG%CvkW5n)YTe^7u)t<}8)|BLqYZb2n%;#&JXC+TN!o$a32Gq&p{8+A1ziA@E(SHwu7lbl9)Oxw zC6lKd?d$68deUyi0#r;>&@lwHVqq7KLX{bJ;S|*1O+!^S3$?5osQ<+|7jJsHT{YAa z0#H-1C+ECAOvojOKtJKAOAv>R2q$2UifhF_UQ7hjfZJ?13^g5cyKS-K?z9ax0jlz| zp{9GF@;?n#*)`DHbicr8txE1vGF~kRmGBU#ghQZO?i{GKy#{K!4=UYCsB{~l)_yb8 z+Sj|A-w0q&SPy;!E8q^O^>3IW-xy2}OanL+sx>A8W6&`KwT@w^ zb&Nn&F$%SAaW_BF%k^-I2(4ops_q$>9%0w-v5`bDJquN-)lijs8>&)sPPQHNFw{`* zbBYZgILda&DyT|dahmO@#-nZ6ce*+x#bvfv!-~V5lKB5o*Ej!D6@#Dqo$mZN83BEjIvaIs+=-co_3Cp5rn?FXOo`BlI#t zFC$dOhoBaefl9v-s)DSGd0g!Q(h&RKBg@dyR0CC14r*EEV0R}XOboJ%Spzlw>o{9% zV6Y9JF~rWF167TCp{nr`R9Tzc{3geH>3f+2Fk09+8(}VX;dw3`9ct&Np{65}C4*}Z zj9k3~)JszkY868;*w1Ebbd)#CY=>G*+0ix}fC{&B;ct$y>rpn))^j0LS??Wd(|-?@ zo|ld(zNtCZH9*8Qh>|6%2m6-oSNp-jgP*8pMxZLH1NHst7A;#G$hSKSR_4E7DpC|I z46nZ}dGiq8_(HgIh_B;uDn#vd%_<%*T3yfFOd;Yh!UN%xgf-RSu%Uu=s9op^=Dm(K zG9M;?Io#JKIpKI;pj~Z=54={-yo0urLR5Iz>x6qJA2{B({}Ht%Mc43wnYH#;fefs( z?|TB?IY(_e-y8MJl}N31WwKzXFIH#$ZAGR=wM)(!>T6%PX;|{%p}vl7w=U91`0KQO zn2ifYe8~ofS2V2`j`&Pwtj}y6>$|D4X|h9=uSr4Q}mr zUo7W><>%O9TRV1jJkoKbW7KiJA-92YUoah~I1#}$t6I)3SB&a(?@;@H`- zzvD2+@s3f)D;*bz`tNeDi+ILywd1>v+Z@d#w`Pu=9S?CF>^R!-9LJfC^Bq%;&p<8T ztacF}JMM7wO|}bc?by|^x8p#^u;V$7(;csJyxDP?;|j+YC;K=QV0yzvY;xS@xZAP5 zhCfqF$6k&{I}Uf8;5dEd+OV&z&NHKZiN-_B!Nno%HU7W3@}sG~yX)484yosr7g;%L zhVRC*3O=#zg)?IEo%`yClDYfpSK2>!$9=QvW*@KXrAR-%vg<702X$k9jxPG3=BHM8 zkF_nvhuix8^6nwMgQ$?h#cg$b9xL#h@cHj6(z}e#L~Do_&qLMt1iXSn$r<=Kto?Yc z$oFVt-dAe%VcJn>CLfs&g{?+sZ$lMN=*V_Myf_vu$LpE~2heG-7My$D0GW^nx^oBJc^M zR>{EP9`;Fs{8ziSC+;G&aCb$_Gyftmn_9>q#!yq>HF>D2JVHIQObOs&VIGp(5bVm&H@Ca8Z zoOd3-W{e^O96Xs?k7RJclc#VbOht8>?um2MMwAJ&aii72CPKJ@kM06cSF|F+c*V9;8zc@22H3Pthdar zu^;~SFi)YJ>EmvpeOG*S<##>W$|YlQ3)+C!y&`iSWzdFL0Ia>NEH-+KTTw_OwnIx# zjM0CXf2SERWXQnlp0EQ@H^sDniaQ7fkOtP?gCqJ@u%!?$&O_bt`|jKEdH3{8dYaKs zy!bNOaU|mdPFYD_D&gH26eFNJhIHr9&nSx*i>m2EykA6H*&pnC8=}v9Rif`X22m-M zfbCJPgo?u2S1pPkp-se#o6$Oa4qp0iyOOau=B($b=}!9y!jt%=^o^d~x#9)3@viK* zVeP9=#BFE_T_*m5#^Cdx5Yp2_JyAJ%#VKe<7oW#z_$_$7`TqA8>HqaVSFkgu5@;@K z9EAsE_~+qcZQ!r3;K`t$DV|50hEX{ErML zTo$f)%W&fr6@_EprYsF`So?Mw@hRkwF+=7>WbpZqa_Ld8tFlyrg2Wrp6#U*#x^1cO zKKnM~9rEJESt$28V+GcJIZmAZF8`W|7iXbrrGc>r_@nphh<)GV9|c}K24(SKcsZI* zOT^(r&Zl9)db^+S!z$->v*Z_OWPb)49REIB2d$!;Fz0^2pd(&4e6IYEP4sZy)R)1G z+hCh93J>{+9nBf+Sm5A|c7G6t(>IZU{dOGwfz<5!{ZGFc&OL!b;p?BX5_tViS^Wj7 zqDA4@;11+fw4lIDMM|Sru%675eIZ&j62n}Iw7b>gf0euy zsXl$IwJy&@`07l>`jcqWqFw%(e1JMWmLSvaL03sgM36{#81uyuXw z1F)QH0gB)EJ2@X|Bx2T^mp_&h4c zXW)?y?7~8Dg1>-&%~THl2dQ7PaB)LcU@V7d@ZLrRX6~a@8g6gQ3gJzY0yDg+^%1x# z*31U7aA0%m!|gOrQxB#k@KJcjAyf*Vf{A{- zJ{m8sKf=b>z{JrkOamESJ&3T} z0MX;e2hU}McVZibjjp3v@p@@o-+8PZhtl~kn$t_@?nD{l#bqds&wpW^UTAmm^^6hX zMcsQpH%34v$&K~7erz`I*oBO878Zt|An&*x);`TG_FhCqNh1zGyE;-KSpQbmjB<3V zO3Niwnvt((0*0Vv#OpEgv3C}jb)?rL=ds%7(8b<&@iaU$!~tlT3WYs*{2+?o`|JS) z>5+u>53wV{i=U$Yc%G0q3m>LyNT2^Cy`Hk)gL)G$)_H_6*OC3do`py*rwe!{BLzQ1 z>ZiT;=CB6&H}~i!pO;W`;>9_SF`Dt>e3Uz${fFYx3}jkYyono#;>7D|jYFO-Fw0q% zUJJ0}S^9tX0VH~kJ8@8IV}GgfDT-2)8R;ISHkH?TTmP>XvX_O*`Xz1V{Sb3&a7eWSKebX~!~wB=A6-ZhS^KdDaVJ{H8iuYm_dcJ;g7p~Rm)#3_ zjgQack9a>`Y;YhgaR{3woYaGrWWjsiIHT)7ddtjP$S_0v2<6%{py0VdK2bsD{5QAi zt*&d)Kt{5-9`(lOf0iQua~Arn#SJJ#rNzs86`CMkjLqdwfI$9hYV%(>tC!4n=)*#I z`K+i{)vm_xePu0Pud{s)&BTkd52Mm}aS{Ojj}HzYFJ62M z72{K(Li2Kn{@=Bs0z=>^Mz1_vi!%5u{0^zg~mMr`e>8MGcy3y;9m;cFH!fMok{?5P;kdFCl;Bli} zZC>th<~0TcCa`PNTdtaqVUI?I^yaK;l&z#7_$!*p0?ZkO<}fr8AA+BuQN0;Au*;dO zG4VmT1{vbBu+CWen|M8Iy-Yfom4siTO?zVOZZYK%GSuaD)9@I?OXEBaQ#?KlYu_p@ zHXlc3u8N86(K@_d6E=7}ElH)r@KWUMhT(BMa6XU)=f7%9uOV9+<4=MNOX1@vj@Q%a zPfw?jJRS1&Dv5C|)n{orDYe7tuWw8iubRT?Ng5tD9c=*5g)o zIJBI27#f4uiwTA&X`!A}2)=kXV+)^wy;8QEP%1{Ed)Ul^B!U-L^FRJLY7Of=$4JKO zfrxRhkzo*<8JzYyYmL`q8aMIiMfzB}4A#E2LG4{ z*Tfny19J;nj!(gn-_d7yy(7NK_he8ScpK`D*URvhpysTlUaogYj)etSV>sg{He-Ao zj^54y+@ErwUOAzb6Yt(Z8Y-mMQ^acDTOlTY)+@t(9`D7^z^CE7owlF^)O#>gkhtm> z_HLxv_wEdz_il|ROuYCtnu`~Ap&58lw|Pv&i)SG%EDFN~Mcy7$Y+q=75N>q72L4b~N4VwiG1 zi>70`y`MqbQ{jCo?L=O?xB@RuLQC;_CF4>)xi*D9&i}-kKEw7y{US4$G-BO~A~OT8 zcRcp=6`8&oAF%e*Zepw<8bczP+ffxh1sn0kNUe?DAo&|ACv*OX;`A}O0lbYeNP2NJ z3g9E~UF3}qSk8y&*0*KF@;*qXkJg>YYcGpQ4`XH$fgSv_iNeiDne|@G^LQ8L5;CXS z6q#oG7kU3|0`OJm!+|13x=kOcEHY{2bwRr#lR@(F_PiXtgY5!8oacN3c0NGy9RCL~ zX)i#N!s|QQ4EoZ;G`{k%n+wtUN<_oXe8&$TfOm8$@-9%PV5@G{2jCsuT|8{n!^Oip z4s!9ZS1l#_P+yvt2mtQ0wEcQ9tVg@X7wxXW*en;Lqm2AN&dF-?TZh$UKhZ z)3EMUzrh!D5{^(BLN zE$V<5FRCiyjJCq#m3V^}<0z-!h2i`Y>ZcdC9 znL|!w!6#LizVI}p8DrqhE`A|=+QnDHuaJ&>Ot{GO9#LdM2I~n44!ChxDCgfqe32agL4)Bh%`Q{^j349Ex{50H-SecmFf!T8o z`v4M|bBoM=NQr{526d)#;;e~wZDzyRq$1Ou_&EFz(yydBc>m-g6Oo78r{K?IE#Wa! zZJ7h%D@flFT@8;uKV}01&u34EwA0uPAH1N5pG;{+_$yL{cEiJ>cGKz)`&>w~lcq1M zH_hg)4}U^Sh~ELnUqs7Li3#v>q?VouS5If4;#bEon~`R0fx3ZfJ-#_S38|?^!i$mm zegWSOiho%@6F%*HHGIqYt+3lno2EM)i#nfNVIuH0q!m~KhhAZQ72J3wTMlWO#Mu7( z(FIyqe>m3p2%L{5kVvc_w`s&ZXg2X?R*@NY6-|v_4zIeJk&mAZ-#}WKb#T%(Y;wd; zfyrwr2frAuMa@s;_;p&> zhqG^B4~Q3kxRI>`pM!yf?E>+Go7f)^zX8sR-E6n}`LOgBHXCLHVEu*E6fa(gYVb?p z9#l>x%%URG3902e!;_sK1(zT-`*Qe&^STqU(XBRp6L+VNsIW;)`J? z6vTIiC!jDs45uP5z5H!OCaS#fJ){chZpa^z()7Q*$c#bq;!NkoS8k{Om0>l3ukNAG zNwgIf-N#W5z8HRRKTVI{0H;1+YaN9n9%TPd{785?(gG6jaTFNErVD+`7>sy7j6TlF z;KdWubQ3Y5?8D2d2N!vA5u-8*X=6T|K!x>0TC-!&-PkazwyOP~1 z@hP|(b;f7mRushN;E$*`-c%Qv0@OD~pcr$?vvvnE3V!N*4u1R`gNrnqVC#R|wVVK7 zet~~1#IJ^BFWPuNyz?avN{LUwF&SG?vF*z=J@El}DpISDg0WlpqyK&j;WJ3hSPg%5 zem89Lij5bytg@{lHhIto*-^a(e*8M!r%J=@8vb{Tr6pkbT3aD8WPQv`#N2?q z{)5N9!LE_agW)=)rWSKZwHDj2~2_m;r$|$AU*@{`jByi zPr)@vE4FI`oAJlCi>Jf?AXR!@40F^*nw1O#;r&Q6mceQNkAin0rAfg)o7ochb-gd#vW@?v3VXpyI!$bgp^@1d>U!N)v$N{ zVpBsJaRgHQ7I=9D3&YQZr~7!X{Tb}_U{N#j;EUl0Xe53EtQ*^}*!$mHAO4PJFk?4- zh!=F~cyKv9r3K$sBz_cJhg2c)LcY4ZjQAyRX=^Hh7yWHW!$F5QdVg94KL$RHLilQU zV4&Cx#>e_%lE_<2cx5|UfEjb)*7nxt;4vNSS`LI&9jPd3#CMR^em%Uell2+ct+Vyr z;S{9u#nLX6%cffn&*@qmGYctbV%K8xC3+se6@JizHN|g$0}m?p&Su16K^q@|oqDnW z(sYK~dKH^Zc#(T+y%r6?Aj%ORg+Cx2_vPRXd^c8pS?^e}`G&wQ5*7C;Hhm7I0QOdW z;X!>#gbzZ0fBFwEK6C^vfL{);II`GGz{lZ=0emzOFAfRWN>srp(jHdi^X_ILX~YlE znizo%n6hJR6P3ebkTMK}=eYO;ym26dl=KOBbc z@rfw?jTc`WddQqrrHw&wN@1AA$upFyg61 z6rQ-C*v!U9;0I_S-hX4UITEGt;Tzfh&nK{qfVdj1z>EJuYw$JjceDX7o|d5R@nQt+ z#z*1xsQy_M9&7N;@#0q~h|j@6H?arAhi)!5+fmh7F`DZZw&O*t0W%Wtid)&c$-|?P zjCOn&)?G}$;{EV`l)`6V7A?cqz^dEWEb$STxSjsSr{HsUuyRTdUtB^Sd=@T=-N~RL zkcJ!3R(uU?e;0c$d=OrQcHza9DaOQv3XiYhJK(eM57Zl=#U`!{u=_GCS$qxL?>V|sX`a*m|KIc(fgF70 zc?KOm|I@+xrtp<$IwM@X8qLLL;Fy;v2p@%e&{DiV!^lT#@DcbTGWEFv4x7Ks{}g-} zUXQ9`1X7qOt5^g4z7PHSybl1^UCm%5Ui71d_y8P-mg1xEPn5>{UuCmItMNIw_BFZ* zpM|Hs&R!C)j{>h+!x-Z0zWVZStoBpD;>fksh#BHoGyxxli_vs^{-=QTiQvo8Y~sZ@ zT7uW-eP4c;O%%WHo4Y>mTf9fV&wog+po*uUl#lEG5zKs)W<~C$*E?&I!6Z$_zAWop{zf=M* zw)&j^PI$2c+KLatsb4UXl^%ZoCEa!|`;V^}j9b}bPGm5`bGFkO_$chYo56b?@$k^n z5>tN?9)??$nCX)l;4zu@C1&ds3Wd*hDKSf?vSu*Suf(i7pMu~YN0pfJC z9`gGifhq!G2Q&pAge$Ks;ZhlE1K*65n8o;byu`eUR^YR+`7A1gkHUMeDluyme|3qu zWj2+=r{D`{o8n<$PKnup55oJ=?u*#}r!i&MP}Au&FT5Ky!KdMGr~^KFZHc)Sb;pa< zs5f4G5e>$hxh1AE8ifzSOHc%#ftpjv%zOo4$&GXY-Vc|c z75Fr4l_=qYA%hXVb2FLnVuM>sOb#D_qfz~f8BlQiB3cF?g$q${yjXT?iRq6QTcR*N z7Qh^yq^1PIaN1&OijTt$XgXdTa$AXs=)-gMCo|AA(OmQ(}Vn z4BUVQ;%i{rl~fcTg!QXw8GHaf_8gT~dbkD6j1kCTKKnPDkvyFBJk5(2uX>@xr10W5 zs~PQhaSz&r7mHtIgya2iINFUDuYZksGdLoGx1s=EtazPD;{z~uBY&z0WZ;rDGz~rt zJFTUr_#m7j;l)o-953!f3-RU+1{qq455bGja(o;$mNVucqf{I7mwLMCGcTb_u~?i!uw(KO>`MP2(Lg>{>4rS zK8U8{#TK8C7cX}BL^~D&K>};hGJF>LYZ%G+0KDXL`fw&|16OXPkMSAU?>n{>dAjFHU_OSoQi!;#{ zycqhE7Q%~JR6L7H!=9$pG{J}9tddgGAD@7q*DE#4@i{oqS866)Ma#jv8kKVY&(-ud z=Cfv{X7+3n!3AwfO?D3b1e>)Z{#sfBe$b_qy%}o*-#oC?tiKKqC-o{d)910d!fl68 ziR)RjLrcx6hnJca_y}A-fCbMdJ=`|1)a=5WV@qS^mt#xK#2YF+{&-xenTr<>9$adc z;>GF1N=-FB4u2ZKd+`>Kd1R@XgA#agF6N0;^S~5s=|vM&nz`@yjX7>3&)EGj4x%EUE#42 z-&4-u12A$nEsD>=ap#tDQbYN$XY9OEvztH&-h-Ma=ngn=a;fQn7axk!mw55!3rjiM zsqpybv{Ex4UjtjuC^bv)L3k~y#)}v8LDO}3aW<-d6Jr7{L#^>KnethsCP+Z+g9hS5 za61}_H&>OKbI=%k6n=!J;A`M9SC^U@_&EF?%~kr@rRKyrrDh@Ce{HFmjFu@4T#l;o z;_hqd|1|_Kd^d@{!3SU!+J+aGpxt=!G339Q%?xfs0le7%I#vKL4nqU+5jY=>#EYBI z1ibh?nt|u{7Y5oqYE3}=2rb5oTTmJ=?n0}T;rde31Fgr4FQXc~xDM^ciyM*u7MglK zgAWDp;)ENhC|T80-FqUZ7A zLnwpu=FV_2nuEC3!Z6-fneDrhH9xuM|C6&O7 zYtVXp7B2dVmcTEHVZPnQg5Rm|_)w0u#HV4~pJ;Zx*m);|2QRj-SH`n`TzG<2Xg)py zUq?&u;^GEnCW9A~4a>|Hytok+zspVxZf{&>VoeChyw|kMbjH`f>HC$LzIbtZYZii! z!&Pm|%uIY1)(e!Gb$CBqT3N=!DpVS_=ul=R;%ngdoytrcZ#tKmj$Nq~J_rNd%1jy` z?^ee5uDh3+)dX_z+#VE)7tc7T%xuDoH=!Kf1k20_WEQc;@FV2M*T9Q*B}?W{)T{Qx>uRml=Fy8HdRHTZHGJrFii!l*WrIj-jG>@l~`H zFCICt%LF&G=<_vD26`Q;iS8=-4vTJW2DyhtOiY*djuDyqFlz%HU%% z*|W>c1_I(Hv=v_id!I`|i`n78qRC}^-G?=RYtN^}@a6&*5G^wk@M(C(h4eQ*0jEx5 zFyiCzkBg}s-hWA%d2D8xS&t7~Nqmg{Z*m(m;$`L-)ES?KZ_Hxh_?oNA%j9gZ%H&$FS`j1{hvE=$bOq9WNe+!uSxp1x4_wYhq<)Gl3}t#Qm>j z#N)-I(R{r44O)s9cc2VjES*d1;YA;+!3W@Yl*5a6p87M0zL)P*OLyPf&ZOPcmU zei?SX_yD{c^}me@!HzG}efS`(dX4VGN8pF+Sc%&!_zzoVo_UilyMqeBGu~z;@X;9N z;CI+LEMa8AJs;A?c>e|l&NqC*{7x1CPyB%v!iVA8Xv|#{3Qx&VaePGFNnU&u7Vl#F z#{1!ysQ7ML6h819Erd_QZ}-sus|lDt%gluh%S|9fOTgFLl$*}?Fo@v7c6>?jUKZBA z-0VVOy!aen7#xKcUqVyx@s8!DZKrZG6EE&S^YLOy=W??Y?}u~I3OtONF9>7^h<&=0 zoAvk*9E`T&#Sgnu7+(AtHNTH%hG6|}<)%A60B=J5@#51cj2E9rQM}mrz;YAEi#<{5 zKKB1IRj8U7;yAPpABE4MO?dHJl*5ai`jngErMzSY9)Uu5@pu%*i>IIjUYvlI;-m1Y zLs)yfcvS3A)}Fvo@btsV%?7-95!!}N!8F>97jNswg72^Jcn`igJ`GzQPM6^W@HG^~ zn*rtKsSuUJhmI{b7Y`~oBk^(gI+~7;WieMCN1qW$z-lxbFODBf|KY_1TBbDcZS*|8 z22MYo*22f(^Cy&>EqMQltQp#c7taotb6i;AaWcLMJ`U@gME`dn;6JI{+=+ttG+c}N z5fAAz@{AU*{jMt$+(=uzcnAYQx(O~l9Hp`)oZJ_PHI zp`~L4{FuZU)Eb|Hub^dkallvx3tl`Pt;2_5Y#aj*^u`Ba6b;13VWUa35y1}~nE*5k$U3t3BLh9l4pd<5Pw zo&CT=EC6mpOY!Dn)(ovsJbWFk!HX4_&~kXO@{$<+O`wv%vB*4J;c*DQ2|fycKppVr zQd$J{#fRY)GuX873Aheb;l;L>v6L@9`1%5{lzrieX|i+07CV7ocVM z6dX_Gs_{`c9j(WUZ=g+hu{_RZh8O#z`j61Ba4u?%PrwxFju)#@Z@id6vB3mnzCdH} z;u*78AYQx>&Bcqqpv8FcSF{{&t|~X@T+OzRuYq;uP*J=e_C}lV;%u}HFW!6&ExnwJ z7}v1PmvJ&z{EXW*v^3dV{cJ;@CcrWn&ZXqP-nbYXBkb5_ruPp3Lk`( zkJI1sZ~6EO5-xmm4v_(yC7gNH!y8AdDGiqF75k$H@Ttz=U~ z<#_S^>T=`9iDBE415H>i{|3R9naI1_?V1&frS(B!;xq; zUR?SjeTf$zM>%{3{({Woj05<}OAI=^xE6K5XJI%)|Kr8z%WOG#aqug2A6}gQ3jIHu zK#IVG_h>F9g3qB0UYzv-Erb{6qaAoLi;B|>zz^A`QFpx96ZOT5SA9gQ;KiF!6fb^> z;`rQ0F`DyZcE1F~u4pk{JRB{@hhY>wj~C~m)p+p^v;m)no6uIgxD)Nbi}g3seNQmx z;55`6ABTr-Vvidm5W*b%32Pt^5BV?6B@eIojK0JtV9{n;2``RDQM`BwnvEB8XdzzQ zgO=g_pYy-qOI83Mh4-U%crn)SE7pL3*cxra2jLT2Iq1M=VDZ0tI=nau z^~Z}d&=`CiK98p0v#`y#>`U-LxE;mu;?!+)=acOJWv)XhW+dRND2*4ZzoRg`m_b|c z;wH2MpM#yhr$SG0WdttD5yp!tG#D@LK%?;H$8vKunt@Ni%Ae@}1cAz*_+O4vc(MO> zwg`L}mhYgy@qSpclctl0A+!lEzW)oA!;2e{e+89;5B^3UDtd3cT55W0o2|iU;CuZu`tz(vJ2AqsKJVQ&sn^6_s)URVsMUVIuYe}?_P%xh>hGqSL$zm8dt7tca9 zcyZDH>+0O&n<(=={H7FWGNBoy3tcD>us|)h2o>rst^v`5QZRBVRA?n2LRIucZ_bYrqvB~ozrWKyJ1YupFz_nDOw7e13}RxVr^CAqk;ZEq?n z>%fPJ9~UO|HLJzAa78~ViVOFX8eCZ0kMTcC0a4e9{uSfY->iBNJ1#6CDY$SW8G;LU z5*HqZnGWUw?uJ?SGwH-(0m;Jyu$uVs2uvNooWN5Da7**SX=YVQK{%9D<1Y9Gsl|ou z{zNz8!v4g%iQ#~=NfPc8cT!PtSVo+92*wR%ym8?K;=+Y<$rLXIKeA#NvlkCSPX;x| zeK1T)@d*5Nlv$PI!m`n3wHFs2Aho!#&r=K!E_{&0e%+>tAK?jj0PZEpxX{~k3~!>Ml5^ORo3Yx$x6d$}*l}SMao`a+e-f3z{V+`2vK)??Ooeda!si%DT)2<; zap7rFf(!dkrHAnTUL=cDQxMK1^>`FIrg6M(Wun0b5{Clvxg?Lz4z;TQR;A4xZH12}MB#eh(`bV4@aVLC@L~$R?C}IL`^U^IyfaoE*1$JLT z_u|5O;=qNmOX*(R4%0}Mc(GZXAZ}dv$7M7C7d}dSxC>4req2~V7URO>UcLk=MBr@_ z!i7DT)2+DBL26~46=wBBfJ))Q|0ZgCn#!-P}B8%bFqQi;URd91abAbS-nR>xICNfOgR&E6n_D^$*j(A z=Dg1hOWa$i26NNco5#$L*;O8fvtv+*eY5N@9d)zxW3=4j*tKzIY3WW z^M0?qaLBBdhG{V#fJ+WD_PFB+$LqIrBOZp<@91LO4m%!Y2fJt`JV#Q_;>TE@IB?Ya4@OD_3zEJgHOyWk#@jfY{62(`u?@CKPB z>z^|7Ur!ubxbUgd9Q(L1n}l!=e4T`G;d`VO7Y;h(<%B?C&>3bdv7YDiANT=D!UM3w zSq>rG4y%bv{2bpv5BDl~-)FrwL_HJuY>9`Y)Pqe58+zk(Q zWJC2FPB5h#@5LQ(N>7$wrlN2ssm6sL_pV2YLp{B5_!=hZc z1Lh86$3L?nSonlRHAYznwjE30x<-rP z=^S?4K+nOW-e)Z;n?eM>G|8eC<36~PoW+I5pR=eaE*w3DhcI7f9oY7Hi*n+^^&}G) zo+P<=6i%6DQL}Il9Q*>?$DQz5lC+ESzXvHK$rOTc<%<^82amvC$Z(vW%lH=^i^{+~ zu=R9yhU@TSl8p!9=$F|c?uK`WN7i}8qK1$;xC@#*7L_NlXEQV*i!99l|cN*#It_ILD&0aG{?}$Aw?crDeEq?L4{{55jLqDK0!b z-=a3-!t>-N9)%;{;ECkk8*~@)6VY+up*QIoTzHZU$AtsmqT6v{I+=qDXAwUxEF%Ft z1fTS?&6{i=e!YY_@f&ASxMUeSzQsDw+kZK;oq`jtUPUYMAiS}L9pI|eqAq^IA%{od zL+fb$?{qI5RK{}L3Hz>RoE!1aENTrYp+|Yxgjye@Qg{eHxxu2Ua5ua|s&{k#*FUEM zUvLhP7hqO7$1(1K>q!*%eaZ8BH!}9P4u_D0J*)%QkR&_|&yZw13ezi?$hZ?OCTY0v zIvI`&+f*|CSrqJ*7WE9t#oh1%nTbc?-@dY_eB2KkNinW(vZzN$8SaAdTNq>94$Dac z9)g{=a;)#=50cmbtWk;)PJMraN!J+Y~o*fV7psP zNL<*749A7ry?59Fh3zo)F0ICe+eiT(hUZB+E{x|Xb0J(fs->oCaN)B=#qj7A_$$$I z)k;%oWb;XW1p`mTu|6)mMe1>{GHWWAG*a-u0MTn1d-w}U$Ax1o8Xr{i6D|z3(fG?a zW;m=Rb8z7$Qh=*?jXyBfR532BC8e?sOtVoTTsYXKasPh`h|+axgbUM2-1iI(bdw=J za9F}1apA)KBo|k0HC0Y#;UT#E9!=%RIxxK*4Z@vp5~;?8{Sq{F4DXlV)zqIU)KhT5 zg`^Sp!&M~qM>YiY_L{QdcK89Y;{o`52aSKpr{~~0;=n`jsYG^;yWtj+jfdg2j+!dO zRVPiACDAKhc>^-G3$2qk!1NTxGD5B4KT{bqJOXnDX)1h*oxzKPS?>&o5G?+SrZVvW zv_7n<#kd_#Cjs0iB&B!|o+m+EcWTP(%i_~H2$}rTYAAKGN~x;f-jC`>~Rk)COUUr z4Zj%=a5jVoKVmHV@m}~~5$6PMx9NnA#T>d1(2H;)Ny3F|i+K$fhKL)7UUig$ zhk|hHGEJ4>VR(a7;=)7A89!Y3@+w+}3%~e>rlPoT7m4Nmuwl4$9p?ldG!cgBWsLbl zR1O~gl-|N4aQ}MVo6Y^-s*zJf?oeUifaCP4GuIs4gN^1+(ttl&OI%t z@%bTlM2F@LoZ)aQ%poq^4Hte+Bk=-wh{!g>Fvj~ub0HQ^CUR?pDKN8KQ~A8X1NATI zGF;eoqo%5GJ9HAcuanSL!Pv_>&_QIm&}F!=Z)Nj34jB7YvwKBOZ(&?{^I5ocD=$#H zI@l&eE1zYfaH;qhK8l40i1gMm*lv4sr4!&oL|W#83ytLk@UtEC%6Lvb(6qDpy|Hjn z72}`C4*Wd7@d(MpZ^8q+w5I3%RKp*5Qe!d8Bk=S-c7UISh5MOk6XTos^Z{CpXF>l# zCND0`Il@H4MfGV_ov~Xx%iT>+`|}J zqs&oUzpAOBq~!0c15MXBP?A>AfCf5;WL=;Va22V+gYXE+tD{2KsSv5=1gPKQs3cjh z^DRUpmkTnTv$_4YriPJN&gL#SgIMt}yhSRxHU;i5*GbLGR6?#ZJY7O1{s%2+X;tr# zs(e}r50Yv;)XJ(ZlHy`|9d>MORVBC|mXTw8LK}{=s(Rw9r=k|CnnAMpfF%rXlSV3G z*R1Mc65E&aAN-J5y%fU8&m;l&#aq>>QE}K=&CHVzZ0$wJGi>T;5R^=rbE9ot` zf@I?1c2;$Z+oRqoY;jkl0RKr8~2o?tHn)cVA9BH70U| zy5T#9hv6N=Rd=gOBC?JPPB%OP8x6PLYgI#ttmA|)8Xkd-hP#q^FJT?83iUuF@`j#P zHJOO};3~siy?6s@S`Jqk9ugX^Qmm>wY1$5a#c&T?`M=BWV>yv^RH{{VP4yZZrLcm? z3t@QGaJ{!x4Ir}I1!owp`p^?ZmOJ2h!`*O^;i|7yrIMy~V20r#q2U=`9^NaD1RlY4 zN?1zd4f0rEdGxQiP#*FtF1(OtIDF#)9_7rXBMfg6xqhiZOj6S1K3zTihR&}Dxm>`? z1q2VlQTe)hI7GpPd|#ley?6vJe_vN&JOB?C>D&^E9l$F~b?(f>F%9#Vv7wy!idVDZ zJDbXFS4~}0(|*5uDa+P1k6Q;Tb* z{)%s`wuv$J6TSZLZmzPM{7y}~c^cGh?o~9#W=k`@Rq?jXmK19mT2a!@*2!e*Q4~tB zZ81%&nD+47+ZoS7XCAD55#=)`+xrbe8Roinc1D)+1c6I@}9HqcARy$ z<6_w&YJzD=l`nb4Y)K1?VQbVZmb4+`*hJz&Dp(O2ORCuu5==(0#c#TVa}F5 zWF2d6*}Z9kol3RXASKzzmpWS@bj~0R()KeH9*rFOAX}wUox%T@qgA`07mZXZL*WsF zA@+9eBZK55-(P2^GDtJEk(ebKvS@}JVV_v`XfziIg-4u`^Ez@)X8%}v@$@9x*5bVw zdu~dio(=dW3zc!G4ewcE>B=TpEg>sQsP)IRVXsFHs$`R6nDVe1chZ5+YH8uhzO!+r z2gBF}8;_7xVGgRIvK;FgxA_3g>bPgMlS-A-A|dKzLR4AQ#l0$`Qq{QaZpNH#-zR>o zz;+EODDkt)v?B9L3e=NqK+;nWFAK-Tf%dAoWx4(a>9qV!Nn`JJgvU)MwrsRdIQ3}4 zxK9@OfW7fqOU|)1zH6zvigor2qx2&-&hHa4idp+>UFZ1QtMpP=8-wI-kn9r=S5o;L z>*PO&{LT*hYdpiW7N8;PRFmZwph{JDlf$M&>5A-H^0&Vep@03&Yy*57cb$vcIvR51 zOjOwsMcw8f)*>Ll$zU9$wdrdp{9R)(SuJAk2L!6G7uu=fs>?|Zh&?U$Ve0}yT|WQY z0VG{B7>OJWl9Eln0qjPAADP5n26Q1MtW%Q-312V4{yJ+g=4y^7M3XFIo~N82f;CLh zL|rr(6C(AdE>vcr0wuqv(E334rf5L3zz`x&Vb7Y(Bum(Yz&!Gt{Si2eG-DrVw~!vp zD=3%V{EICK@(DcmmxD@o$O`I_r8nkQBpXM@C7Y~5FJTq07)&W~@@sZJD5C3-g-{`5 zUghzG7ewI%^OKtgfp}xWR8<1TocWJ8Bs8VhyXfoDD>hoA31~Glpa59TcZ0ZkY zzoew$bbRjab9T!VB8gq6uYx9wDX(|WrAOZyfUD*nTIJ70_HXAb-!0HiAm4sPqN z{?kDv{bN?(XaCgHfC8mw>}G(k`bJ)TZD*9M4emf1w%l$DZ8;|!XWHSQk!)CxWgfPp zMJmaYUGQ)v$t)l=IpWdXni}AM0hZ?_2AJ$~9Z@E$yH7wNMr-I2dD;s_j=Lu;0EUbeow$j2xkbG zBRpS}zZKz50{x(e0q!E;B!t@nTmXVU!bCGcC_&gy!1ob0w;=2?z}5o)0mA=? zN^eEj+<@B%|19t>R{(Ywa65!g33xKXhXh;-aDlu_BwixnOLK;+0RQBtXr(v83k9Ad zjJ^mey&vFxvtaDW69wWYB#soYUj@MZ1^gbuDFR-D@N7}=K7`v82*Mwj2o-RXYXJKS zI0NB^0-ld>g2=oE;lBlZ3gL$Wu15HdfZP8B@MQt#BYaZ8`w%`T;41}~*eMcr*8%=Q zz^Mp-BH*P6o6H#yHn+g*2Ee%jKLp{?W`2ZM`zmVs65*Z#{~N;Q21MKhIL6Pu0ChPD z6U_zFZiE8_{13uz0`7DRU|RvtLHM;0a2(+$0=Byi@I3*iB79B2OA-D-z*i6^0{-o` zLz+tdRwN=Sf$+cwYwg=*zJuyJH|Si+Ue3q|A7pYI3S@(HUj7KV3y)YDYR=`}0elYy zKL}=Ln3!QMXF(CEUO|X7>b05WdTlmLld9u-?KlFy$d#EQJPT@|4&Zxdl_wM!d;ecHwu#x331&TIy0PK9kvd>#IY(7=c)5;V2ndyUoo+YrE^Q)t zvpX%^UUv ziIFY*Zh+kwj761#MHVc-3zjpt*r7--y5|=ADbmY#li+j)5l|Sm918P+2MAil8n*N% z#jH8}&SZ%#{bI%o?li%TZ3FH>f_s>tWeOU$5NP8BZ7^Hc(vPIF@8GvHy9MRNvVU57 z$Fvi9c8ENCM4kg8Pne*U3EBxkJ0ocREVY$4v1emidAF~DaRhCBEcjjszE^_pnV_kt z(mES_6d!be2ej_~P4-bN^tUTcZjI|z&wN$Be zh4~Xyxvnt08T#V3&i3HIpFyZobpfKk;V=OhOv~4SyhKxKn*6+@Jw&NN8rHFGGwYF< zLBqzkZJg9~f|Dvs?XQQn6xHNLM_n}ah?Fl(z{vH50iu2%h*YH$HEvyB+ruIt*BPU* zUCk77l|`cT+Ff8dld(Zya>bKFo^?i@QgauP(N zj<*p#0MG`hBm2OqzFh79%KhZkTe(*6%FTex$E{9wXZh`>+q=T7YcM5i)8qlnBDyWT zw3H3b@?w3WgUC`gBf2>`$~H$c;>C*FK^F2;)# zvfpB~O`9TOT0_v9vCWooPO3!E{ur=M_3jE?byqKv<7OzgGO^a}gBvv*t3;*A;QNbC z=2*#OEF0f`Y_qus98_xmI4EHJ2k-|Gj@wrd1{IYhsuQjxn^FprO$i?)f<7fiW5?Pp z0vg26x8+~ihp|!QJ+?KrqhHQ`Ko*r5)CuQ7by<)~DS8O`e~|4K*{b-Pe)f%-e+LiJ zmbL4^$wGFn!&!Q66kF`!O?QoAUwL?2EguDyW9KbBn@NMZ|)F?Erh~v3d^2TQ%+?4XD#;rNibPjg>7D8r&sgKhBYb?EUT%(Gs z{}NWtzUWA8Uy3Bs7yWA57t;f*Z+X@<^39<1L%<^Z(>Ed^>Mq}Sl|fhW-z5| zvz3LA7UV%2;VYnjFQ%zz9+n%S+k*EQIJ&wrsVgG4kAH(^6W|VR>wDax!(vV_TD3k~r2pbsYp+XH!E-E_;z0 z7T6!OyGPkfF(&N6eVRVm(8VR2p&Vs{BU}E6b?p(+T^<2SGv<{YPpBYu{OBZ0UQ!?= zoUhwaDU(mU0+a-MBV5o$K+d`%WypXQ$q~6y<=ou+4&c zN`pUsa10}F^WQPQ0+>2JoqFWmQY(wZtYKe2(vd~>?L_~$!6x)=9Q<+*77x0E9-0eN;%R7rIoAl|ox3D}}n2^zYxE#Ekw%RIw+l(6Nf! zmF_+(4|{B<($ysBtNfsvf9{1cdk9Q&l>Wu9Jk6~j|Y1fjPK>3stN-Rn*jho(B^i(KLCvZIE#QY06OGp z0KhkZ0V!XB6#2yOXo8M=5k3HLb-X9Zfh_>X?TFbTFjT>;N6g0pW2s;mV&(xR0kYXB zs3Jt=2qtF*^C4p16Bvzx$wf?>z{Dw-$%yI1&JEEIOGNO`Dy3ErcL6K|EEoQaJ`Td0 z<5mp=om2$&VB&`2G-?OzRp)AV`IXImgE2?ztnBbhf6Lu5;~^XKf5)vZHDNhJo4D>q z0X3&{pFk0(zJW0|k>A>N!EgX|(1wL%MPb~Ll|qM)P}&cHdDbes z%36-wEPqri?L8byYRX7=FWPXp!WPe(WpB`Q8ir0U*LS}&G+Qr$&ALtAgk?K!7y}J0 zV1H!0N2dWsIuE#Zh#PR*PKEnFsw!>a3+H@)bJo)^(*)Ntu0h6@ti$N$O`mPV2L2#R zj`k{JH=qCR*;{PU=n2ujzzTL1hdT`ccJ`|8Pzo%V5=^i|5p~y0Qo@84KmvhPUxJ)! z)^1G4f{%wPE%6kM_!J0GVT;i~zjYI4%5=RnK29I|D9=wXor9dyfI%l+1|FUbJo|u0 zFFmS?)Xjda0$t<>>-ORkID6D_zDCZ)z^OZkv?>d|R0RwXD9grN?^f*PnD!m64yj+6 zYhNgp>4MpPu`)^0;JDb^c|M{l`+$t0o#VAp!0?Jq9P6oOwKyfyW%lvdDC_=!gE{fS zShs}tA*_6+S2xrvw%4Y&yOT;Ca!VZo8ys#;knNbQJz!oKXKF*te06jRbky)?ENon0 z!J!RUw?1+5WmrKgsDg-7dK$S0 z&i%^3Cilo&yTS;@cupEzW{#SmTCc%2mwM?HQQ(Iu#uUHM0ZbNN;`|NFPezIce@3$YGuLK~u zV8K|2WeS7igAtJVD73381v;Sc1*x@~9H1+MvH&?g0}iRYD!8Lk2~AxkQfs-Ca%Qq8 z@B1}r4mjD<%G}*WqPxqK0VBrVE7tOZ*n)Kf>Z@doLU*)BVZT=VuS&WDT~W#U;aFkh z_+OO-)iOC?F>8UTzDgR@t3tdbtNNh5_x=9$>#!3o*W}m>B{XMo6WrP@0*p=(d+$9! z+Mw9xI&)XN9m3glY^j*{4qGrGAao@}sc5onR6gFc#^!hqMB)5LTVC_m3@Ow$S@2Un$50J zOd_bxB%0PTZAPXJ!1SGBmlitd6;z=?y(-)$tjDDG1%-X(#i(o$cRw>bs+z57F)Ge&MVXmGs@tIEDP}%0M%1Q)} zRZmcoC>tWBKOrviEvz9qo`p3u#{~vM%{pjd_Y2H2H?+w)C{AZA(h3`X@QJV`tm-}3 z#)0j3C)OjkeOzIBeN~ziHpf2(Lpdief-2LcTtnd-o4h8vy|AZ)GvF9t!J8b8vyo{7 zJDKa=R}?K9I^z}6Yl$lHJlO?_dP6}A=K~`Bk26cN)I;2+%`gN zo}sX&zSysTMX~0xLBRA2n?J=nys#G66f^Fq~viK`PG1H3NaE2}}CWJN$SpZX{-WaURXpEERqERv_0J#Y(pH z!}jrUz3R6$L!mov#RBI+=Bj~u5UWGEFkP6H+!C0CD~m<~l3Ptk^VJRk$K8HHM+9bdT z_7kIL8!(8PG(nyO;7O2fS4Dwet$`x)o9XuA6B<6Jj^#^aF-+V9>$b`9IODdo7z%&N}wP z^u~0T4U?z)IaSxIhS%TBbw*$xw`eTpcCs`QBIS-AGx6{RRiKhi7hTT@tT~zE4u7z* z;np|CyatJgHm^Yvae0EvqPy*&>C(BBqPsBI&&adcf*E1f%fao)uwydASG_b;iE0`{ zR0G2~hdr3#V>b%O5O>LPDpSvFPmiQ3Yld(089ohhHH)I2b`uI4?NPr+8Z@r%tl7O)Eijp4RiRe>M1NP>KxEO3^)b>N4n zbyhIbi)@Zvq!gW z5B)5Ug!WXy0vVk`A|lcOf$QZ3S~x99D1%d+T(}R2B%S#ddXjdmZDDh=nT;syPKL1Uh3yNX z7%&d`9vP)%xVs4lUe<8?t1hDjxc8{C2S%6$VBwxwRGr&e2=~H_2}j?}*ye4Ia8`-+sZK<>z#=Y?4ZfZ51rm~LK3aD$aNzxKC!_6a_Rl&f9K)B`HA z64m+FlBF`}k4eaz#}?1?Y;mAI&w1p5aq74b84^J!aIrNLCL858EOhM@c6FX#gGESf zbd9rFKvE4j#LSp(wP6@>26&gac+$;>Jrsh$s zS+S2(#z&Yf9ateB99$M_oZ{-Ewz4_J&7G|3qb9I}#X(NJ>Z3Zc$Hh@@{f%}wAv;3l zJHfz`W1uNw^+Yr*#We&LI zWwHCl?(s<%6zfmODx9euqnJN3d<6_uUNH0>#-sUTi|Y=Tzs1aV_nXxeDSyIp=JzD! z?D+fuJJURDbsvq~fjyb8b?yc?TcP5;!0YXhe@nJy>SbO876g)ygR@s%0bj6e$;YBt zkm>2hxHanVb>ljEJUb=jWthC`&WOi+X{UnNYKn&`gTRiuvJ7+l7K~obJoMHBoIykn zKw!6iJW|y^+-?V7ab04$g$&6i=kKzLTrZJx~ao-z+cc2W)1RW$&=Gs$=Q>mgV8> z`ZZJ6vGjV&qJHn4Vt!}3MXoKny@NXmdxk=KPsj(An@~`{*e!S2;bpGgdiB~eFq@7* zPkDzvL!qUjwj@CmWsgj@RgJI=DWxADHrw9S z;jEGbHxnnrspZm%WFqrnKE##9Fn{t5>(83fAJ(zi%-gmC%pPw*M6xfKe|QB9NV#wq zj0$fU*7IRe4F_}v(1|eP6Y?maf&Idfqc3~R;P|B>o{;;;H&n#0j#gN&=QPAdo{bkZ zY}ybTYilidYODCbxvtguY|%1zZ-12i-fqRPUrw*z&*NFyvR2e9o;_jS7<(-D@sCq- zOYaIi-9-otbVh;H!kNup;_dLOx=zpxwsd)-MawR>>}wA%s~jZY6&A0)0KwjVL~)DgnNB{>^I4aU(h?e>N15oVmmjDwsV z&8WyaHfK2$a4@G1)#!@{#=!|&rQEKh?I%x&O&eI&KtD#X7AxJs<#t`Ev%L)K4M3e8 z$Rby|bsW_~*|($lo#85#0mBLK{!2ZuiM^q6J)GqtkL^0yntw3){=E zK)~__u*Iv~B1T0h<+U|P@ntX_Y!bxv_%KfhQoK#AEwyKtR%vZU3Z5aXW|e!y^X9er zG4ODU7POZCo&OYzUme=^aet)(5AgB7GUkW^J3xi7z$1eBK!0pK>BIJ{Zef!vaBzEP zwR=PZ!QUxSveW{)2Q8 zJjqAw_`3Eul-K*hB~1VIz7~;|b}VwMH)&KdaD6QC+KmQXo=}F41djhtB%1m_2f#R6 z&31g|Suj_SE6rpX$j}RLm^&5-5KHC7!OhyoiTDnS$!%2nTV0qO`$Gy=FMDbiAAbj< zj;AH1m=X+$(q-I6=n899n1^>D>;(ma#{%Jf%4A28(7=vFpYyUxq(E?=O8FTZ@VTbo z=ic>2{RpXAF;hVdY{`P8&S1+g9teHGoVKP^1kVt3@jj&ohL`qbv3$x!4L^`mR8+>4zOWoi@DZyI-IEXh4 z^qUH&LWz=$FR(~w4S4;nop zK%NI=1t2wmJTLbY$Vxy$=VU--pmRE~hF`jj2mw+exD3>)>@5;FDQILTk%)vuq)Z?I z5plOTU2#`vIrhdm`F97@TAwlq*PZ3tB5@uP8u_9~R6-(BKE{f_^tV0s##WgGDwIjU zV$&O2mbSsmRx+daDDShp&uYG$YJ0DTGHP!1V6!%Q!|bqXV_=BMUg;rdB)GO&A_0v9 z*EU%spi$tiAQ0Rb7ZOyT*|R>geSPLPtj8uJ9JF2AgvIdMRT>`8 z_Dh7BxI&CbCtDV`#iPq#Hj2LW+84zTu;NI7@w!L81!x?6m^vY!7b)njWNn4~y+}cS zC2M8*8}`YTes(kdQIrlVHbv_=KW+8JLwfjyL;9_wfUN*uFV{AcWja#!~dw4^k%$$bxMy9;~ zI|{GM*#belRQLQNdsr?SW*@~1)dP>fDe*D3X`7#CSHO#dYrSL@8lnc@aMB<-dazsD zhB+JzR>NI}6MCanNpMNhS8oUjEa|>|2*GQvJ0`)M0-v2NNexTgIo)N$GZ^2>+kv<6 z?Lf86p7Dok;AYmFodIMu)9jiBLvH=9xQ4?=L$~9N0<3$8>|o8F?&<_rR9coyvH3P$ zF~hIf_L9a#&rX&cb-Vo-{l+TyOZ1O{nF;no8hFP zUa7s<*3!OY3$xhMo~mE6&U;!1@5SiFNW{B%alOs&-hHmbH28*H_4fp3_<`)xJ-*Os zd-g=yF55*F)qKyNIN5txSp9OHz1-8c;No;R3Rh0o)pK_#?)iWgl?vNI!T#v*uB+$f z0bW;qM4dALUV1e8DZMww6B`HpwNJU7iJQmpzJ^BW%l6yr`tmvyFMnN9zc0r@MQYsk z0Rj3lJgCNP6M$8|2FYss?~W?nP6B(aQ5O@X)2IPWjoZodj-a#CHEtp7_1?~&(eHs^ z=^E6;8X?p@7}IASEPbD*ohOQ`0s%_Z6w}$f6U9BBR%<%<08)xuh5(FDctx{h>pqi( z{fIVjk#YE8X~CS|S^S~IpslA=s-5sx3V#RT?;QLcfxnaRcNzY!!{43HcOIev-r)@} za9rrz7!)U6k|iqAo~=ZBM#;spA%r?m*6RDtB#ce^{wcqk0&kkq8Ft(^72Y&$_Zxlt zrs?^^mRz4t+PL(-^VST1Lo@7hM=?XbJs+-oN6%coCUpa+*z#rE{0z~eJmd9;1O56bCXEzz{l*v_`(PnkLy(% z;GC(|Ku3Li&PHX*2+^CmQh87wMO8_7jjonHwI00#&7-XQsqmi0l46CWWHCJAic3Bg zsdeJ9Ng(mf4ui1-Pxj$~?{Wa=2~5GQ0I@9syGi0^3tN1uNrA!%(XWfV<1|)qzsR~@ zWZf^aN{SGLYrfzTQum|O`1W3gwN8uVFxD5L__fRbn|oQn@BK2yEh(8y3& z)~N7r2lYqa0y5d;c1T-O1BFTp=G)u=E{jt&cl5?&twt}M!clJt1Ly`Dd)B8-XIB+$ znW&eSRgJ070Q4fST1wi#C}Hft*~Z>?d}`@F|Dum#kIx2lTig?l9v;Kr`~UIx8Q}1* z82%2J|E|CjCl;J;#YL!ONtelnoNLgwGwOrkTtS4tDnF*iu=>bTk%6#)_Es8 z^F)Fzn}5C)n8U&Ie(-zad@B5gU1;u&MyZp2G{8ncVxXepxt2ItNEw-I@`d(rnd$2b z!I>T~o|EBr7modvTntVh8AehkAodh@L%} zjla|#bg}2sP-v^?j~&Bv(v_GF>I)uYKZtg?%^23*Y#%Q;> zhRy!5F=Sr(qd(oXujIgwmJ|v(d?lO4f5+C}b}5MX4qOs=@22pC{f=Z9tKeP+RUdAU z(-C&6``(5L3+FqWXe;1F3Q+Iox9}#LRSrDFL<~BfAfH?;X21z@gD)s*^c%8b7Za1Zu@&7pCa7NR4RBb70jt47s@$WOrz9w_sMv>VA%RYK9-oc7p9 zAs7+$+6}#S1oqDBFmZ@Errs^9OOIt8u4J*-!l<=Ul_pQ1^H5O_;8|A{hA}9a)*c%4=vp*1DC8%djSEyFSsIwhCjR8+i#}am0*)lvG)Oy4ryL?Am<&$f zp@!dJpa1kZ*~GeCZ$+P#uo>4o(UKCj|9ZP-m@7+X?9kxwBWF=Dn=Jbm25F9&FtY(Y z{Llu|%;$#2brY~30==lzbKGhmyfAgl`iZ682%sL zr0W&`mejnyq->OgrsVQ(Ni}Zgx3bimX`t)1H#-Dq5{(%!DP&AYFwUC=71l{*28-_# zja{dv7!RQXWYsqV?6T#-N5s%!0k=G2l-{`J4jYY8*OQH_v|zz7f$TZQ2~Str#bN{`sATV9sg^0ggo&8-^^6s|edZ1!zGdS$nw;=^D^Xe@i-sThl* zin>wt+m-(vRc!$WqpATs>PA(jJP2O4L}SjBKZTbm6;&i0|CiEh+~{T;RmrAR+DxSh zEUMC%Uk$Q#Vtpz-Kttmz;|t256_b;t+4ziokrO+qRqWoQ08eRFQzp*VrK_0V6c4?IsN+z5y zB-fqN37yeBQ7W3i{C^Iz&yL-uMH%Wjwyej`QLtrO_;ZkDUwDm(JMOjhV`V@4G|GgG zdg*|+4EU0zCz5e7`{U=%LUE}&X`Weg9VSKTVh`1-F443Ql_fM7`$B>(zms$ zn^&j0LuS=s8=@Yf@*bk{x}x$lwaN>I{xe9+gnr8mQX?bV_KPEV!uI{5wOzJTTy*oL47i)ZwE+9l-BHF;djGZ#3!0o)T-~VE#T&4I3(#1 zD^H?fu)ngR5_wIj*;&SM{#5>P3!8g4s;$s(YPP%rG5{0K=Ewv+8z;{JoIwItnlQH} zr*De1a2-;mg~jaQ-Ih*DFF0&6cDG5C=1pMX_aYp!^|2eY>p+frP9e*>*Pb+G>+gAy zW9+~^IA*yQ0B-`(U%QM$HU0lH)V90+zi9jJ|7yDj+wrR(X~fR`>Suo(#1`HG+sw~q zFMibq_~_6!-J#V&x##4FO*Sf+Aj9F>lcLr3_amDrYJ;id{zkJ#weM1= zW%oO^Qxpj71;AdbPk7y|LVh0*dZ|LaTl5-4BQsK@6+)x)ikYn(3oorF$OB1#wq9;c zEZG$~2sQ-{+zVi7l|G=kjt~Ad#2+g|d}pnlnuqw6*vIvU_&;C&ujY1}?Nk}!HTA8u zZiw#yU8P8!-wyFSKp0rf13$-Bs74&(U9+RA*?>FVZwGmum0EpK-%8OU6n&2QEz(Zt z^MqWwfo=FLG@#bt6wD zP^0ju0pg4yy1}|ZLx&6=c!ce!(t=C8Toofmb~m$2tjOs&DJu38MPFfcF7Z-qMSXpZ z+otHtUUz)1Rt#(#9ZVdkv8ab|p$$z87A-KMLuyC#QS*pahP^VP;e`+bya*B<3D+Ri zbC)B1c(PV+IDCg1AZMB`_P9>H^mszl!=f7X+!UZoutS-w&1MIG4fOh+7P(E4jw0b$sr|!lsmgHt0g*VSC5Pg;vOlPC zfp8I6wp_9vtoudW-0B>k+PsQT`BNZR$hz1^lPq*$j}pPJ>|tjfdU}cxUX0!=VJ@uC z&Ve-8Xuib)p87DaKO(>=4S(biI92~6tO1PuN9s9e*rPwf-SS?;S`0K)bJ$P_g+Vr( z2f-}zkta)g^wtZbB_vA^&4rY`&xE_WE9xhJ3|tixkBO(r6S z>$T|y_@EUAwwVdB}hCpz{qIONAb!}cq4TZc8w=Si;uMcrqCP}hMEu>;F$*-orR zm$F=pm=tu;Y4SIKlU@L*fki=%roO~akTg>pZSgqvIY@jCFsPsir5FlN6X`722&Az! z>eBQI%SMV#mnK(Gc!#EfB8k0v;_HX6TKPH4|1;dR zS1m=npHm25d^y72{24(fe9j{N3ZuW2vVni;yw+t9u~324&0K)tY(a18M&+qJ+3vsg zz?TO;s7|2SL2P%mmR|gd-Kh4mcM8J2Nceo!>H~~CH+Wyt;>IAn9Gs|}bXv>3zQS#6 zlhsd6nEgM#umLycc^mrIHn#WqG~&ggUaV>1odCCKlHk3ta(DwZ?6AQC4hH&ugH3_e z3B0T%B}FDn#}Z+6gOrq|e?RsPZ}KlGTek=)Q5uxuJQtF0KY{kfz@q;NEI1sEA7dM& zjl<4V>0@EJ<9KkHjjGsc!B$7;ye<`bqi?@rh$7No84VEl)Hjm3ZD-es2>?e&tOPSoSMF%cel%Z?4*_FV%$Qkqm_T!paB~O+x++OiQXH80$EifM&lxyjEAOf7m55t;U~EEm z)t9*cs~p|q=2Kj6cJXzD&F`Jz3Pa}PA>6o>XgqPd99JdL@;<=hDYue#vX=%5D6C_Ev98E) zmp{MGznezfNjH9F8tF)M+;uvM@x1++Qq(*3ahG5Jr0}||M{4~lRGi=or;|}W!AERW zQYtLxt@Y9|^b013VmORP*9-IB)Ktab)|4VcEo*{p`4b)W;I9`GXWF)mtCxW8^Lb4kY35kc z6hwiu!wvW}{$)N%C%sBv!odb688Z^+%+sMX0YW zA9J5H<;lgQB|X=k7Zj6`TyG@do*jJPQk-!(e8zHkCDix@R>MJV>cfkTq?OB4xU&U{ zgf16~l;ukPgOL=Gi@f)IGQmIe8?bVScd%b0;Z;O^7@fB<(e;fVh++!)v)Z;s(bNK~1L zY4wR?WB3t?1O*@Mruc^O_zs*|+-%rtuH6K_0VPGs{s*{v0m<{zV9VfEJm?m-k*$U? z9LF@-I0ky$DxPmyK$_6FYy9j2q9O0|M+=B|`(E&to~bWvNO!YTirNK{5`5>t(W?yc z7;9LI7JY&QMI~YYj^=t3(a?TYJj+CaXn-d-naFIihN~Bnwqzskx{&NG7z|W2e|mx}BoDYkC*lvb0L1LQGUGJ zVzSC&wCh{X5<<&&t;i>#^py+mwS+8k7x&mgM8^zqK}qm&T7Gp2>Ehy|B#$_wU^p~| zYbk_>FD0q;=~g~-DQV}qcPri?g<+Q*dmTR$VxBQ4@zYC5C)dD6O1*2dpOqUmvgJC7 zy6{Lw2Dtw02ko|!r6#a1sqR|_4$CUGbPXeWC~+_CyMpKmxlp=_lN-ct4_rn7dQh>< z=X^pWyFih4dv>3Dd`jNPwl@M zL}cK@d#)kw)Jn^AZvxbxSu4te2mvFEGu(D9Y40*E33}Z)aF1>;j8vuQk9fvf(u{UU z;!n0wcdB2@KV3@#LVALXsv!AO2ZCQ|41wkhf)j??ToPW0!pP(w{>xgJO}@ie#Rh{ZzQPb&p8G2v()d~NS?kEA@El8YWl_n-$>1%8?{$=iD#*ziz=ojPHyFoh z4e}>EeLWdZdh_qslcqGiP3dpz$s$5r`1H?-5AC{=fBZT59-Q334J4fQxmIf2KsFMx zt+eHr#EIAq0|yL>_icHd|CU4j_^6F!%K+&$#L|k@*3OR80F!L|(AiMl%@dRX>&bL2 ze2o%@K#NW=Li&2f_Vt+*RP()PKYT)XSe@D@0J{#hJ&<`4AG-;>$HZaWw24IfdaMAK z+apeKwuj*e54;zw@r1)o;y-U9&E0<> zoTt<<_F&x$L4$d!YWb3n-$Dj^HCl#JLSQ$;+F+qv%hBzLgG$N$`Q0s~MF-oYa0n6bNGyHB!9H&t6i`?pyxZ=idy%2*ZKvKZgCtb~p~mE?)H&F;VRlKK*N` z;d%bU*CdKh(9+IsgR2#r2tkK(7d=@rAh^SI8=n>1ApkdDs#Rh=EBVb|$c$gg=APS0 z2V2i`H8n6o0$lmv?Zl5>Sjh9XlX$X#AKp$H(~FGX*iPE<_^x!kdk1c=c!H@1d@ckB z&R&yk>G7^KfY3hA_=9eAuxs^G*jj)W7m6-oG;vD)71BJVk6lylyaPt{iV3A5J4jnf zSBx#q+(i~qI=;H}$v31cwfkh0h_6PUDAkpc&q$W-NCnaS-WcWC<{CVcr48B&Feiib zjkXe>P>l&u*I}G=+>LB{@OPWdfa6Rk04(?^Al;Hj*sHR@BUWR|_swv@8)6~N%@(*-X_}G=yU}TI0kRm8ZLanc4Q!r2fN#1?S~e`aOjPjUEBMG0Eac+koXe%Z zT_!y!y)?Wuwt}>#boH>(i9eB%R`kmNUU8e8u{;p~u6$D^xocUec~eum_zr1FTH2Sv z-fC1?ve6>h7;mEtf2;d2f9v*|jU7(1%$^oPG1;d-fBG|d>JS1iTt5hg{!$kP@L_8q zd{^Iv(Rr^g54}qQLR&!zV1%cum5=GxxoPxIAgs@8pecSwoqs-X zkT<$VW>Gs|zU&@(LE{eag};*7^x%Hp@IJ`;d_NDnPr_WL?5`ayw{WzalSl5y(VI?t zr1S5Pae04!?LHYxi}&%aGMQoXvK?q!9rB#-*iT$bZ^~r01zpjyH1l_|$bvpx!=F5Y zAnxQE?)I4IsP+ERevct-mk}l?o)DrXo{N&#I{i7>AMP^@FfO_J;kRw`K(hU z%=t-(=-M(gQ^(Ik_{u+tFLh{Ey6;b7?Z9_f(6Z%aG=#&}dF z?Rg5JU8v(`zJ$;<^yXULlG12T3kWP>B16V{J@i8~pG|3*L#&s*DrfLh5ZbaaPqCoG zOD9;;Uy0xDHt6++!rCDVEV@(%1oLq@2h4>vNCY~n4?puon zbf;fZ; z?ikHm+ERbMVXTFF=?Yug#G2l1$@i)0;}*S^Dkr9O%S&^zc6n(|)-ErX@@vjCsL7ip zO8-aKTVDbO!d&w@_SO=vX-F4Q(`df4AzeUgLV4##G~YSiLG+&syk!MZ&}BYk3~kJR zZA9CqS1uAoCdS?{FOAOv2DUwn-5?U^1`9!$V3XAUH5*@s^L=F*q1zh`)?PaspAF#? zTxc(!>99oB;Y}4iyeg*5JAJMu!Yas9E^E$jxzMbD7qB>niCPCcS44$70PoJ#p`4F& zrID^1v+7OODFv|1T%N@@yV7IovtU8Gnqy*}xpNiIbE83Y{wlt~jRtzOF)0(crQ&hL z?A=J#nD{L>I*8Jyyn{RKOlL3PdG6Gkj#$7yb*El_h6Oll2fm$`6JRX_UGlJjnpwU#G&v$Plfo>M?vgp6(SJx?Fbnb$Zx_2>-gfvvL)gSOVHVCt8@Be1PxB|m z(5(=0h#P4l{;YjP#Z!d#XOYD`n|jeKR{4(wkBpz?X_? z+vLTU1khlYqt!68)!#00naxiJ&=4Bx#s3PR!|1$OJWisX+!?}S*U?axh`P~Kp)h$= zW8QZy2_@mYXCU-w&j{JY5RR8u>s`;T;rH{4LhmaSgj!kKVg>AJRM#^p(eYrlA*4X~3 zB-?cTizhduAs+CR+AMY78uX}bwm||X$mU^xl}gR%b3z`K7KYOUgy!XPT?B1M=Q{D} z5%i?Pv>dEYIov)w5-ptC2Q6q1+R2fZwV+;fP9uJ!1%03Ha^T64G{*Bo2gTWe0~?AC zObHOx^5KSjbtIh|f88ENX{rqbBj)XUC)slbQ5lCojAX3~dk7cgt-z3vC7K*uWv7M& z;vBye>1dKE*%zXzEAmTc!e06Zl^R=8V%umEg;%79LRQ$7!A0rNBRtub!UyR_^KrIR z%i`ReXv9!n)}A(@?I)JrZBMHSZ8VtQ=s^8xzz3zTJJ8WIcp9S4Rn`8Hn}N5{~Q-s25)G|=rc zi1goX*@COGkRPddXC3WL+rQ+?bTDRBFZo#=)zCG=_+uRn@%{$Fclgd7#?uxC$px3* z5Zj-VU)88M$tNMSvJ3+{Lc4jCEg1eu53-$y^(-R>Cz;6 zKo@Yy4t&SIFY4PPw%*Qm*b9sujzHZt=7qSj8ixwsx}QiIgzx-=_eh~V)vE+n*_pJG7b4QzS2~RDR;*l-=r%J_7_M#EapS**A^o+ObNuy}1K73qH8sSR&D0Q#fq}Rxg)A`pu zsk^UXm6EZC;x*Fn%&;F8J@i30xHHYkHI8^h(}P7iq>pOCZt|^bx=E>HTR3YW*GG z(;sa2t8#v?KkZKz^3DUO8#N^Ji~->2eeUt^2hag@RucCcNXNM}N~$LvHyub4UpBfH@Li^ISmAvy%XmUU|Y>O8^-^NPKxA6x@y!}ABwMe1S9gF+4RwEq0tOnQ=@?Z{^hqlxs=d;Ih;dY?ACS^CX;bRw~z0pBse zIW);%IVkexNh9dw$XmL%_V++^*J(gugYh~AUap0$ySCmNOxGsu)ryo-^a$YPyJcfFjRzF=bg?wy{@iJb)5&NXK}o;}wu zhFdCFme>+eR&?;W^`A=PC)3r$R`r#lJ>T>EK@L6a+A311qi}P|D9}XmL%Gzw<%w+6 z-v65ZtWWE-XWqY6MoQz8+-eHVC!6`)DKwJ$Y~j17(0=Z3^g??#P zO4~YLpHW|l2m7y8DE!Af1sT|EB&B=E+=FYx0+2qqMEgQ;cQw>vlsDsb7-K;CAdqk zmqy?_74VfA=*U)!_<=bz)Pw&&e0>Rc4%hd8X70>nee))fH-bbW5<-wzLLx#!B5z16 zEsENyYN<7`YodvgzGCN4t({U@v})`XTVh{psa=)PP)n6q-~Z>%yh&-lzki-5@7#ON zx%+nRx#yk>1eUkaoIM_zW=lTL`Th8N>dVi>-hwzipL*t^ot(GRs9bSJ#jR7zs?*CD zV7f?AtGi82pCmHD=fOfZ+%mL}k^VAw-iKjbTctjqi@ytBlXbFKBo69LK2xxnn-E9^ zQ^erF_X9cS!4><;_PkbrxW4s#f!bejeuvuSi4mrP9!S^LjI$9h*oP(Nx8JYbq1-RT$hvv|!5Uk> zrJLShn*TXe`m#G6nI(jfViT+Su}Y34^IKdi+k*W`&1~WiV#Iv<%O>s)SUQJac@KYv zO6~j-KV9Od1Hz}fzH{mLRPiUT+`plf?uMN44VUaTTb+|HekO>1IpjYbiPYU-v>SN+ z@u5*^wvN2*E>ZjGVyN(xMot%l%q^B-N0OJ>S>LGDTShCUixLL9)Q#>HNq@}aaubxn&*`l``#6TZ!y{by3NM>!RH*cMG{@C=s zAnY%fQOZ|;vjRh!Kf?=Ugc zqSjm>o|nY215{~|I9U?wBD2fH5byM_cy)g;9~Q~L1Iw?2Y4uH^>5S=WhIUA;zY_Clg`~j$frb_P`RdG7;$lg-M0MASTXBX}yjHAIZo@Nvuhf=2 zqpU6$QP4V6SwglX(TYVv!*U`>u%#~LP|e!I5_)x6>>#{PKdckug+O|+PHgNpJVBQs z;O!1-@SWIEVD!azVmrU#PaUD(Jek9`>pO9WI3t6;|6a6-xEUIF?(e!e&xDuy(%Tz2jBR~45yZyrBiEpCbQ^j;aXijlk zMVyw>xvgTbZ^vT2ijv+?xM)u9+r$|{UHWR97%%?SmM(4s`d>T58f+ahEI{QrRWZT@ad*`Lb9gAfU+T5F5%m zgc~4yGF+|j$uOEGUKWFC<7M$jkC(q98sWM31i` z#V-a?ziZ-9mm+MR%Z`+(hwv-^5wsg8}sV zH*vpkLEU!~GrG8Usk-)-7>h1Kzuy+C2{Tm>jf3Yv<^SmLKWOAfRG|bk zIPNSFFN^12t971<*O`z{Uauh4icycg63;T>8Lbf57IF38Y7dd^l0@x+TG^RNl2|d6 zLfu(Mp(>4aXFrJNi`6Wu*VhPT|EmF&~=|U$;@n=K4SAF{$XQu|QWQD2y zvsCEMrhDJQ-LW^p4e7%QpdNYWZR*YH?Fy`sARenr!IhXFTUFOiv6a}Es*UT~?e(9O znsVZY^h05XIs>+Nu$RH$bE|7tf2qWtIt#(-(W-2*C}gXjRKr)i_DJ=t!4`=^g8E$q z2Q0a#wyDD=iFJPe)78mb1FSXX{`fQSK$j^${|AMiv-7s}`K!ZX= zT~w#PaAx(sGa zWBzJ#ArOWP<|mO3)@6OY=0g^P_%5u}4 z2pt+mLt8Lsm+l6tKV<fBSx520x3u5Nh6(+tQ7UUFv{eVEvVMYi zXtjE#6%&~El;TJP>DDeqF8l zE^ER&W3Nt#T)j?eC)TD(kT3K~>hI&-JONfPV8Wh1*=5c#1;S~EDZo4YA~wuobn*jX z&a>B<9$F=xT{0z6;(M%okt|W$_*BtNs%tT$KJQ}U-;6VA=STF9AoV(&xHqi&+ky{&a9q$ zUohg3&V}T}527iZS+M)24@&`w^kZk%*s}gtWG7D^It|t`uJ%DT^5mOwBz9p5er`>W zojlncAFIuBHx6fhrW*LgJT1Jewi&y54d+2n zJ7tURYVBf;v)tk5hJLo}B7i2zYf<}|F4|W*6AG!W{3R;c8r#ApqY`ZWc-f}tWTsqB z=BllvcHP)JP_tOxjYSIe=yW%hBy?2$yE6}=oHc{jat4ef7U~9r4r_|qs0Z6C3bFK} z7i;f%8?PVYip2%~exaO0U3;_o!fcw>n>F?P@J$q>UpcBAdG=x5g#|RI4+{;=;O)Yd z>Ft*Gr+8<2fNILD6)P_UBEyr*1-sLxJ}eB%55M+dSwb;&?aL~b8;z3LN;HgT46t@l zAe%*#`?65aG0wWhmz;xwH5T1;YhM=GEC9_75iFY6Y7evHF)uFDgebI;-qLBflW#MX zG&cG$jNR~FR$i-A6H)U<|D3A#V}rtnfxv1`I?uD(5kv^n10dK^ME-S!J*!Q#Ti&7V z{a8Tb+Cb$%t)CDXrG4D zwLYw3nASVok;0Lq*q0S)uJGrv;$JjtDdNYY>WdFpEkSUl@DJI~LMmw=GOOT3bqBCt z!4`RZ#3~5osoF=ZnRxCbefSXz#&O-0k61v~=m;3+hL$34jX)dB1|;GRPi&(5Za(@u zV+=O~L7vEUyOGThH(?f8&`4&%|lnc&o25}lo@*mjp z>k|ss9n(4mbAc!>JIElUsvol|0oR-mJD<-cU6c5py~Os&b|L4P9m@Gjsn^G>zPR)d z&Hb2tUh|`a5cnLlmB8K$Ts&5*-EtF7w7eId>h#EYVb5?z74D$qfh^f~8&KQIOHRA_ zL|}BI#k6Q33-<00?SVwwg;YG~X?uj|is<-2cA;9v01u~}8$s5Ar#h!H-y#&z2S&<^ zz2R_$!)oKth_A1#B4hZ|_#3y3~re!HJm48deDn+^?OQGzGE z7{b1<+ZgMPlkGwV4){%xaBDZR^s(T=$4g}n@CE?!^f|y=+f<)^9g02nZJt7YybHa8 zuWHr)IJ3N>SyX$cf*ix)LB2aIIe{}!oC!*>+TEZw@~?U8$SoLTRz)T zn(UIzfTOp3zK4qU^S2FrjW)eJ8po*&-#K2Ro z(T!<#7W+UvvxJ^!u>`?~;*^LvR?ed#R?0%vlgTRLf`Vj^NX< z66Ra1Jizkz=1fl>kykFu2Zy>SmkEL}L0vM5of8EMjh=#OT%rY2SUPqWx2GVFov2YB z8zA1>NK5mWzj%5hZO>zI!aRDK$7*8Z6!Ha15Kl9{VBN)YtLgq1sLAc*W@BN_-Q74d zH=P>VSap{nYtYzvayWfpV_QPL$L#^94E{dcO1QM4{q!;Fsb4^}+K$>SIO&+m;sq~t z!c;Uet}K+~v((!5NWJIsQplq&qTmwl8hY_&!7=FFaP8_F`1fh>G*-UK_BTL{N`v_3 z`D@F7!1NYGtERCG-#?SVMCZ)cAJKV`W-GzYUgaTAkmi#-gWVKQFQ?)e zER^r%X0n|D_m}DI?`F6Bf?Kxefc;}9T*~N;3H_(ubY~{(;L)=;m{>Ek-tnrsnmUWs z6Kd8#AlyL*wZ(1;U81kRcb?nrV1w`AqK;GCUR(ETDB-i7v~o7vU-cc3fY{S+iCN5D z=1Dk+bV5Sr+`ywm-YemDFw}Cy@cA7J(q2+aH=UU z=1d;Sc00}XG_~NhjCZGwH>I}o*!kGGxW>8-ecmbm<06>rX&Avpna~kF!H20!PLci2 zKn!p+dSKK7=7;+lDGRU`d_toaum&#O;`lWAd?9UGzy^4&Ug*My zK@7KHT@Jhx)%ucE5YIKHlrP!GzV9{ma2he#%HK7(pIYz=wG!Q#_J7Ha2{UQVLbgJ@ zdyE=?#X8^&Zu(cOU)LHj9!{-n(zV1VNzN|W=3JPo!^?eD^y@j`bGm^e-;IhyGurXg zL2MV_RyL1osWuO@dCp$DNu6fjK z5epCt8dCQ~;J7-`s6{LW<=e1`g^17R(V0bTEyUj0i&-^)We&R1`8#(J4aDqecZ%Ua z`aNmaVm4VgN8w9ZRiQ6^yoBu(|E^Cpma-6GBBd>5$HlF)DR3E!sCx!R>a8{pFu@R( z^DUbdK9{5j?AShKIG#l6njQjE#A0gYM4+K9i;po7bh&D*o+_A+c?&E&b9 zE%$w|F6wmPzw2~4+vPhc3YZDNfaA65eK72Eq7|%>haVLG(AhAe&P=0USFrw3FL6j& z|4IFeskWCnSuR3mHEZ7k+m@J7SGXnQk&O~Iet@Yj-=oNyheaxrhOT6tJ7pjg;i$u*e$o9nOB@c?K?7Giu#86iY0rg+YA2*CRbN*f49s8n6Wivz& zXkbftSi9wC1Vc(LYW!N3C!j|cu47fj8#~pz>zJE}le?$iv+6-Ta9*2a+f(&W;?omJ zRd*-37r+E(Du8=2rxnbl`1LGVT(+HZ*R#a%v76jD7uF4P=S2HU6w{o`_aAsm;NESR zG~M9~As&J`(Y^JoQuQYswuP%t_Rouch*cAoPVJUsldw_AA0K)fMXCwnX%xAEH5XdY z@C~e~STdJ>*np0mOBXhvUSp}jM%GPeLNhnAPC{qWHlhf3idEAOtejBcWfd&a*Mm66 zY#n&8vz2-5;SY(J=1}a9EEmkpt{)jRSF=ky`qC^iZDPUVedy?JV*PwGgE2U|TWv3_ zw!a*MVH5M1p9DU((RUEhz1k#a~uF;9kiC(>o(od0od?(aA^%! zKI%!||HR(Mp4)9R=1m_pax*(Dc*nwEr&Fe^&BKi@t1a;2C34@w8kUc63m{qK7(V3TG{#RIHyb%!D24)VRcwb zTFZxASU9}MY;~~A?@-|u*2vTb5bf`8b!?*QzLotUG;A7RWNaah0Ku7;-~myi)v%AT zojV}^ftOb?e6EeL6Kg@0E1&*RU+gUVtoRaOV zlh@~C5UQ_+0<`CI!F1}egGE$t4Jex5ogV=9{l*SUQIEm3+AV!KHAXQI@O7jOJ6LVk ztCMjdDL?-FWU9QAg^x*ajU|{r$bHwkY3R;V<4>#4Lb=eMs69X2^?U$HncdP5L996tRzZ&7 ztfj4l@c1IHt&y~S7Ym2P;N~t?E9>qGw6U$VL)+|%;nP*oWbK6E!=+b#g?^9WgUp%x zHW|LrhHsVbvt{e0;OMyqUTy%oh6XKYITI0d_Uc%V#Y7^Gm?b?=`b~`Gz7v_s$ zdc~>;kSDt$2D0sDl`G%o>JGdW1_J@g%DO_Kb_8}dAWx#g-7L0lJDv!J?iG-Nq=wNv zO_UKZ#bzqTfaU_IsKl)hjp)K!FRELB<@@3qYFoepo9|l#)_SBvq#l&PGmM+ccFQF= zVdN;a{zbdRI{Y8^4o(7QA*K{Lo4zk#wcOhvp46wO)A9n-==TCv(}&L`_3v424-<2a zpazd=p;ToLE9bIq82VfM*-O-95BsqCLF~Yc$9pqt#>zc0H;fG7T`3GyN%@O4%;rgP zfhlxo59?ancNuSs^C)I!B!5~PAufQ;M+gW}7Z2qj7CAx`T%`7UF*~Htw|g<&o?Syn z_OjmMi&Yf454=?{rS4HI#viP}il_OpiKwsquxfCZ-6ujvD9F&|)j zagMUa1x{Xze$t#Dj#PSJcgGts`Et@XZ*(zPoB1`*q}&69u;;0VwaM*h;sNI8`Sn%c z&{XFuohnnr#**Qf9qU;VbE$vY3O0r(08UgUtoN4$yZaydZ<-|H=dTVpvp!mR` z;8&fs32(rM(bS`?YF4@df=Jcr=WJg05y!Py1J;g53U5ur8^vR&Y`8mfRKEOp1v(NY zuZlTadjZ0ezS9mEn~f7_57B+B`Qtk8!giLEZ{_5%DGxGy95-s*a)OaxSv$xHbFxaD z@WLWqG3O<5<0X-`_0;AV4w0tQ;A5=0_+S0${5DH5 zdb`#M)rf&;%%G-o@RWAyYZQH)g`2MKvfHAMrGfmqm&emeodUpBd(WGO-nwLb|_ zK|Pv&5;88(oMh4Bs(y6yBx~AWb6?CX53KpEA54tBd|Bso3TGmIys}*e*bD%KJGOKe zYyG2IlY`W%vQ&#cJH>p2G@5&gZ4|zwl+)O`52UfDF++S!M^3X8|JsMkq_cccwwVF| zuv->U#2FTy_V@rIEz(Xl<4ln`mr!o)G4H84yD?{+&y?!#Mu~11kX{@ziu0^ac6r`z zH>am9{Bb?nDYGv+@TxdK1tZk*q7%{wWORlU~!~v3H4ViT6(==)~SoWjW z*O*0|WGBmYmJGSk`)65F$fQZ=)~XIV|ZX8|wm z=1D67;iF~oK3-E6UlPuNuRTGQbJ*Z~M=|GE0}tPS!d_QLpTlX4>nDr&q<2{RVBQ4? zeydT+1#DF}QuYN_CWRZs z>7>RYq`$F;ru&y!O{tK(>fFKRY8kb=!^#VP(0f-PE`zM$3ac$f?xdnS-~$g{VVj}w zmwlC$7opFz;}2FtIIHfx%3KBiP2ZK(_e7iBo)D8c|IVT(U`v+#!rra)7z`)wd^NLY z`sBpb%=Fd|*?!sBOtU^F&$BE|JeEh@uCo>)iDS{2^Vj{WF((7yXv_{&aGlkR_{sat z#(aOP-k2w*fG3VSkP)6!@;akxTHoD}bWQapzjG+qM-+1dO?v`tx+A8q)zLTD48hfZ zw$Zd+N_A0P204C00K> zoi|-@`v28*-|Kkj+ug=sZcMjtv#~*O_x?W(SGk0;HMFwRJ;Fj?7Y7a}G*%mGYp;z@ ztvlG8rQfCYcOV~{O9OZdmZvZ7V2wXSg?HFRvAIGMui_%(wm+~z2ulY;;V6B@Y)2!F zLn9r@345hMW~JXbBd@#cqG{N3cc%#-So{8kwLP6m?y_3dga5#}lg;CSvDe*(cVy5V z-3{PFZSzQdd;H=KwZ6w{h5x=0wVG$TWqfWM9}OSOJ@1xR|bfzBn*@Tca;QROLk_clHk{{S?GU5Ppg81C+ zmXk^J>OT8Ud?c#t9zX~oyhq0#VdzgI=fBu?@rOj(_ZR!noC?iqFr!l3f$?A2EhE&% zkD0`T&(&s6*?J-C3hqqe=9An%+s$cI*Wz|?EB*0g@BzR_MR80TFvT&Y@b3X18N%TW zI6S-*K99rQINXE7y|_z+3%AYWu6i2YO3rVu@3>-mO?+}dH0Rn;j#T>O8M_5Wsl#)2 z$v1607>^4$?Mby2#Cm0v2QThQNiWz~sZ|6ffjuv9CNZ0yy_b)v;`qKOhgCD@nbxj*mqB<6Mj%vF4e!a$laj#{dp7fJY4A zPX_P_f`eqe;q$1k`!*WBM+R=K;j3l%RvNxV)pW|m@S!8!8G(fvyU4jWrNr8c8=#r> zSNtHn8(R;Iqga188pRb$Rik{cO-C@9@=HbemLsR>9YGrC+xoQozlC^d>PbPut+#pv zb*1mbyLIUYNqW~pbSc*BvrcM!jVzpw7rTNViCf!@RFOnSzxu=FXSc zeCX$ReWLVTcWWcSj^jAOeJD#7f0x&GOQaqSr(ur}2rKk8y9MWpvJ?wV!o#vOkBMt* zQeRi8mdR8biSvY`?G|tKD_2Pp1W1bAq)FoIo)qpb1^ai4;DwLplAllG@`nof9Yt&3 zW15M2xl1*Liez(_rg`2kLUDUq`#yv82q(DJJ*3Lw^YIWHcidm{zGba@GzFR5*~p z7vlo#F*^*9W;QzjloiHL@JcZ)G)v8(+<4I}RS6#Y1F8&b8$WBz7-8+pIcbmm?zk>0 zoyd{z?V|uMX|>A|%(rOmnRLWUde?kUpMA|p08`re8C1txY6+Gq(_4zj>W5j~nx7jw zg^zpP#H0L>2e!$rI3`ctK8^cwb+e}M?f|k-o&}&QPRk4Bsc>-)2LWQc@Bm3%Ph5_6 zxQF62Erf4%UxLm!L;UjsqzDIbq*oRBshe+V-Gm;rWx5%J2S8}INFdwB z)6%=upCQ!FNAfS%;3K4EC@jqk<*A!OXq=A}E_l-lAL$`v)$__pFlBELR zk3wZ$gAY*i=G@sRG-7KCgr2dLT#1|`#&QHdPc6qGcq>$=IEJdLh)B`XIhf=B;yU2@ zmNU`Z&+(#;?*@F9PH@^Fm{UgZ$5b9clhO!&1fD_e1nVoRtLyJ!121bzBA;Wp29@cY0ePIDLvX>ubku;{ zFd&@)VV(6*CkzN!c+<1@D7vatJ!^_VJJ-Mj1M{f?$uS_|fMghuVFm zv^Z0&0lZ=W^>H3&s$~EV8bGdjjo?9Q(@?3oD0HBS)uaH7p+(iC!L0u7y=1N~weUC; z>EblP7suFgQKZ_Vy3|+@8mJ4xrHz7!vxl^rQkZazeah%jgSVCXNNnM0G^fXS&7NXVBO{5Bf zYx$<&B=$te<>7bYzPj!=|r!F(Nn!DVl2}LDKUz&c1b8}jdSoIv+6Bqv_xhF{T z{K^AlyOPA@=Z(SbO+%&QZ8DM61Zifa0RSa_aXj(#wWrlOlZpA=;c2sfXnEM^2sF#Qb;sv>N2w zUaIXDSL%O6t>Jfn=~)_J8|Ac@TEJ*QVSA~w5U2*fBTaLwITFvE*uzHazo+!yOZWvR zRQ6}+a9lY@=etRjeX5-+#TxKcXK89rDKv|d!_ZL9Av<{S-_Dj2mBsQFe((Q@hj1lR z%1;#b8WDZ@7NH>l*2M_=)#?zOw}JpdO@GO5vHwEryJNU*|Apr$ki2?GKH?X;Cx8-q zNaftO{$dc@Ep4es4=KfWhz`hbfkKxqAb`Tm8QR)Is_uUT7}zc46Y?9_&1Z1GQmRUo zdP@H87tWN%HiVk?l;V6MjM$v@*urss9YVIAQk`4X{oz;B$UBR!?q^3#F%Zz3}( zpqJFhee3Dc=#kl8(qQr0DLMv3IkS#hn8nbb%YUg zDpUGgOme2KBc)pCW0OaM-&;)IkCZ}$LF&noQlJ1$|NEn)wn7iJ*=XsxVEW5hbed7@ zhFcl8!7j8ME6o@GTtU~yN;#grS7Fl18*qZlHEY+RVdJFwl`>X>pYv~yw*$gYoPu>* z^Wfd)_qh(d{Du1SI0>7iOm*LL%~)mKOBGWT}nU%e8L;|6EI6QzV=|uT`r} zkrYAHzNI>OQU!BIkbzs7beYRZE$>mMJSpFM16%@&ew-jNdAq(u>PX`P^W)WV`{v8CpkpLF!_+6t6^z z61PAbJ1zmnBlReG_`GomC@L!PUpEdUMl zc&a;1@^vpP19Yc$9I)B|fZ=MY4w)t`V9p*m$+cTNRr4%Kl*He@rgHP7@sMcEm?y>g zwf|Z#VK1m(!ex~D=vQ=oo>X24rDyY`fExC%P_kXtd|Nj9UEcN$Xm_peUpmh;05g~o zY!Y6LqNXHu_nQcEyIff5W+~J?u|>j48TwZfzgV=huAG8DQ*|v%jg8Q>+~O+eWFI=b*0yQ9CRLAL5*cXBF)hn>uTS1d5*|CQUnaCx^rW42jH`i3sK1-qO^}1t_*GJ64=6!)`vF-Qt5*F{Ixh-K z>E%z-Vc{3GXtU%ahG?OUYPP-y74RqDij zTP4`AriR<3fx-(~woMu#e%OM_Z`DtkiLr^rLv@b8`Dx z$`f6)XztHaPjU69Ltt|Q-Rc9tTDl$EE;c6-Yo!s zKAOVzNX@}M4cLSER1j#(UTGGl;@11HE3QRj_DQXU^R#~-SVX(JXuq^b!0t4@P};@I zTnJ=7S&O81(!081GXM#16r`Je^PSO0Aid>JpnVLfgBHHzHRRg5(UyY)ot?C=Ryh3n z{hqGNaTa7*4Fpz|%67{?_;>QaqBS4-^`64*aBbN=97n0)yvX& z@$w8>dRa;rDnr@~Ugl$}e?{seI`<;FA~kdU6tXjflIN*cuYfNWbGlR8Vkv~;ucOm8 zp<&mhNIt#xr909vL1;^Dilz6;J42ELjj0nj z7ev@4y5i(<&0F13EY*>OR#bdnI@f*{c9^`ddmsnZ3;UD9VOs5QSQa`Qfzuq0u!(S( zgRqDsX731{flN7>C&AVS2F%{(RPLd)Ot?*(A4;dnJ$8R-H!fS`=ktAu#%#3k5yUVh z>i$PkFHuNQtNo2_9&TI4KarxDuuUEDOj1}x3rJh|Md;c!9ge^XaW1+g%7Z+Y(W4;$ z;EwnkRn-+QrFanrumY721#m8XowOPs7=lWK0?A#fVuwhfDz&mpp^)1Q zu}l6CDNM0TEyZJh(FwcsrSREL1LfL+j})&MHl3~c`PaY;Yk$$Vf;`&q%La;*ZPFAz zkwRH0-wP$yo@A*pqP##Tcep-sY;IrFKhYe%?~%DjftE)%nLORM%6|~IKc~r(d`~#9 zX3BDyC@xD^zjBt>h+_42l;S3D5LasIGdCH7t1-QBm&0H`v5JShOcaLEK2Ny{?w8&2 zlq-rt0}{OD8shLyRLfiL4z-~#yybf00~77?miyx(NSKe@yz~Al&c?8Zd ztk+}Wx=UZfl^uV0HrE<%1`Q~#iGOM<7bih_5R660`GGxWg&ukBr5>uOoLo)7Mc4+u zsBuWs`dH-7;v-jehefst;yp=CEiYFUYWI?jcDD3{ND2KkdizJNMnB!f0q6myjRq!u zWe6?smqWzfmuaWJ{E0A}A}Yu&D-Ap(qafW^r}68Nm|sStK~d;*FIe@TT0yQMR981w zkUtcJAhmKO-WqEnDLD|C>;283Kv@(v&?iB1Fa(R!g5;_7>OqvETSQxctu1%NXFD8$ zL&}$SP(Y748M%{V)wEzaQN);>79v+fldTCs8{sVea)`W5{N+P+K~?z{3fzDuhRI(G zb=070D1-Q-mf9j*hJn@f4{35uITSZ{*430V#3NPIkO+CBDDvzu(%In%Z0&G_HFY>@|NV|Dc-o*`)C_j2yBs6BJ7x^7tl2A4 zo-eGRXOZ$`;RsEPLNRdZItr<;r(IF#p04W6DEYQ1e4rkwFK-b<>jCxiX!&CyY-)8( zW6;Sjw8o8a8D3zU4Jj5h2)yFK@yuV8-gkT1Ew5kDj2QIYD|$@4 z?;e3GJO246|EuqoJXiF-JK5;F(I;-vl^A)L`096RA1i+*98}N5%2#m3`Zsk`oU97s z!7J(~@p20R9N5ODa+4YnH_$ZbDe}DQ7>Ti;O6JcOpqf+jyZiGNlN{(kXYy+%*Akz% zP?MU;m=Zsx_Y>s7!f85`AP?eKOB3S{4|DwljS%eQSFv2R~N(!AJL?iav@*pQ{*ZEpKf@g;<{s)V$in&3>9ai zFH+>d7Qf%cOEX)-c(t|bh50TUxz;j5`O>=wC@j6Gx(#q8#e`ky;p&tz@L$9JQZfCJ zB7Y%VGwg?umBw_jl^oc7 z&K+ds!;rVLQWchVpo6MnfleN!?VR(1+@#l6rMfN7v!|3p43ROt@u`cPlR zuk9@8+Q9J^UA%gJh}J5EI$cQ@r&n2@=dGYz(d}n zF&K~`L)ZUH1I9hE+t=YY6IXI)}1vTJ1`6t1v#c3Y#X-IT|BfhqcA8?dTRKES#sWA&-sd%2qkRzal5iHAoRNrI>gzyCxRtHa{d8{6cM#d1aa9PN>6dzi}a;;Q?o=T3QmTRIRZo85v# z%$>3cvK#g4E*UmQ8>;7a%ku;b-@$t@iv1srm7Q=z-Z=>`Ti9AWfZhz2ly;hp_Ux4# z3ro~jd*!AAH#o6hZYBy>uw>WCt_t=l$F3596gPTNRFisV+V2Xb+T zJ#V{{Cwcq02GOFWt`%I{>6=pdSV!u0P>%Ai^^`yFkw0Cxix^~h+PY}Tv>I67P(%nU z3?)`HT=Jm~6!?c+RW%<%rYhxJW=?rI8!&n>R9nU;b?#6X*CjZ8p4#uQd`A%Nb*b%9 zEVZlX+)?@S4#&e^*k?RRz9D3IqQ!WXr)!#9)C+XjWL&36UVR{0e~X|U^lVmZy?aai zJwDi6lN+|-a|vi{=^7V6DB7m8dfwzFwDFkSNSqT%e;kvo9)||Qq9b&75T++JJuXLb zowDO{CAY)v5JNu7_AAXkF4q!Z!}Yja0et4K$K_6JgRqyXo{&$KzkTVI9dE-W*^(ju z?}(;5W@YZ$b@Dg~RxX+5p9F_joerFoCqkHQJtdQf2b!**lI`X}CwYb@J>i;v$6!bF z{%LtF&PErW!8#Z{nhu_kGlfNJvtMMB=;Z{9%m2_mI!fKnVfq?RC(p@AxJBW29*l@L zH90R=79Sm!_S| zlRmnDn0C?h3m}FN@q!#9_CGw&TM2YcIgHK%?Wtzu`Kuh6Vum*@Z{%bAzl5D{Umk%; zdv-{N`T~ka>POs#Smd#RxvFDEfPMt%TT2G?Amt)5mjystZTVZMpdKrqI9B%^)rK2E ze3Pb(2!OgKXF-f?cF_@=b)F<|^EwWUF3NSGKKjQ+tjaK_a|tD`N;UaMqE!C*od)pF0h)XXUGtJU?6Qoje(mY* z75QDLnI&A6qj76#&ayt7d3!nKgU)ScUCmNp0BueWR@-4K)!e6wS8L*st=}m4r$MN=vZ4X1KG7K zB!A28k^`AwAmiUc{_H@WKz{;1<@8px%N)oJ29ouAnPqH_k?13Bk^?)#z~1Uxnq7_@ zU?8`5=KT~?o)x;Fx>QloCZzJr+S=+eN=2)@L$5tUQ&iE+hSyfw!C_8zJ15AuEx~P) zEX@m719)Z6;CD;(YP+K2ZMLW~$Pou5xD2w*0r4t>tad=0${_O`kOw}cG3PoU*UBKx zhdV$;WuRU<#L!zs4GQa?+qXp-4HKpH?XEWrCd&$0dMV^Q3iv~Al{m72(T{LlUOO}a zC_FrxmbYA2<96u4=F7v@J}(pg?63ITo(Ki&sAQtgVX%QwGv>d05JNR0U zGscMX?)yfZyhrh5=|Qn9Wu1RJx`PfP-Y2cxv_0bayXRXeu5yrM>m)`}r;seqz9Xp| z2MHe&nC^3t24^>UWCP$f9jHM#9iza{CreCn?-u|EYgX+omygjYmI zn|b{y^ZMQFM8vVAh(c=fME1-2IpXA2;|fASqPcmIE&1n&0vPvhVe^>A($}WOoiL~D zv6|Q87GXhZ+~JX4X|@aflkz%dS@SwxP0LHZ-#^jLQ{5A{*ZkQ)U0P?gWlo0yIZCo! z&71H|-h{<@6KrNRISZ!BQ>=OEx6P_+|Ge~3wgU6|L-Y-1;E2T_Xj`!-&f-#ZBOy}CQ<*aPqY>0C9BBUc5;0#R}NdRWhBW?wq#s9%UoafFx}_;r3PG9 zTKyxsQ+Jipp39YDty%+4Isr9;r=iSh`l$Yid1(`z?1e}SHO@Oo@{s(epYw<)_$@tE6NMnhBJg z!ttB<-rClYcU|dJQeN_Objxn11c;*&;7U6s@&^ocmjqW6-6g{nqq`Ki8qk6lazr3r zT;80tN6AaR*gRi4iZVK3=p>uf`)Rfb>*@Ln*;26x9lhHPbo9Luds~<{XWS5B$|)%V z8fIjEDOal01o*TYa-yvOuo!qc+)xs2haz|yNiV_qou-VJGOj+LbOlKf1zY(g-nf(I z=7)HY0^13Uh;LZ>&uMY!?kT$+L&6%DP9we1s|kbRlPnB~+k9YPQ0zx#?1wHhFF$Vq z@QBlKQ7OUv*$wPi^)^NCK~?jfkZik}Xgi*SN%F%O{@cVDFTP2LjLfP}|GbW)Y#ARwnAA>{oKf z3Qdyo`h~_|PHo`Gh~8ItmE3zJ*UO4wNuf>HiDJfQ6k`BgH3raa3?TF8xjf?IXr_ex z6akZI6tu584R0HlY#SM&+soyzWx=d1wv60PByQ?smtxhT6J&G?bZR7utK4{?aW|$T zTOrI#Cp)Dx2v4;>>tESzb%2AF>I6J8ojf_oRsa;1Kv2fBtK|;k%dNk_y&w=}L*Nb#M=+Kkb;}E54qaq13ATa_4K@i_5H! z*!4$Y6m8oIzDnEDanXeDKh`?D_qkWrzM6YdiOO22hsvm()66NO64Y7;?uNO>IZ^r| z#?1wfGw@0JaY#(g3vtBI;`RR|QS0p_0^dl&oXhoUH8+6pni`fbtX`!#`+K<~XR$`s zZaMrsYv$Z0Jltu35H5#@;~8N)UfZ)LRD}gD-P?h-3QFtB14<(@;_0G$anB4pn!{Ra z3K5krg$J}#RD$t((-lz}iMz-h8GMszBm)lb%}UA;9Gp#*ln79MCn-~*(a=~{TKR-; z;VB-04yCcN9bG_IT$T9B3l^pi7+ zQJu~@E2ANaZ0iExpY*c}ih)xD&juAmqaZb)3zBnM|WLE1#Ze>Tovl= zt_0#4+bnk_L)c1>-BAFIEFMaAap*8=>Y>aOE~_Uz6b}JcX)c?TCeiPH_u8I|lafP5 z@4+QT-jU-;PYe0r{7|Isv!!n_kikTeX2ke(9?yH$`FTd(PvFbP0;-iqQQ+_f8{Qvu zZ)xsVa9>$#%`<#A`OrI}O@R;HGFO*Cb%YHiyyT`WU(bi0dD4!zve_M^m3W#(Mj~x^ zMDRK?+KlR$QOACIK3hDUYvl7jzHj97n#1eJ=SkgLn$Nx5SC-G8Xp31HB}||wFD1r1 z2{o5J;jW|e4%Oz+7%!z+(55*?^o}g8)V-yxPIL6CgN+comr}WXTOfI}r*NWl7>Urk zYpmgObk_(Y0!On48aPLnFzYxzdGhkhnwZQFVvqed)95BNulA~Hp zy0^4QNYjE!K096S$m(>XMCvEB0|yZaAGo9FiA7ly=pWA6 zrx|Is%qa%@1g^4_eM+N^e#)reGtvLB_9YEUS$pgyjj3cMS<5Rie1w+AknTb&$}7#V z{kh3~PsrI{sU~K9pho&D7C{(5$rY5%A=kg;I~ZfL5Vr7*{j$|@G;o3fD=OKdIg}Px zR61Ek;Rqi?Cl^oH;0zYFJJOeEv&pTJqGB(wr;-xqy?*Iyds55?0s4%(L~~k8o&ieZ ztk688K1+;VYtg->_36xg*sctj|37lz7J;2qSx31v#USk$^`GKjuc;F{YV}7DZV>J~ zH3mWHLQ?V+N-LJ+}RoV!!W;Qug*~zAA`G$9H7BzNLszb?HsHRkoO9z(EK*>5)>6mQf2;=A( z;Rezn#jMDKOx%a}0oOtmacDKnG_bu@P3bA@qzBcMiozq+y*g$g(aDd#4@dpgqr>5- z%_U^2fkK{ABWfrM1^-oJk!#L<>689^_;_tX-R5L24g_A+R5AkN%KhKfIfSM~DADE% zN8hZ@fpjWD8H1zav|31Mw)$}`zS2FRQMHv_!YFE32i4hdhEbgfT9fI#I(Il`y98}2 zO{}B%HT-3yQJs$ZJK*p->Q8lerx?|_+VFOFp+q+&Sj-y9XTb)&0OhsXS;v;vYAZ)j z%?KK2ARV<@n-U_G1=yba8mR<|Fq!o%Qfb2T9HmqiR;wMOlxTq;9@kag4LVlwpQ&#d z+}px2upwjPZ;WSa59n20rMx-jPX%%aZ(MM}F3$uFpL$AFej&D=QrGl21Nnn^z8;P@ zVrWu5r6#T{Zm5U0YDY)wDXSA3Rp5e`cf*tOTkzM$vo*yRBdUyP!o*#qogSt)pkof$ zZ}=R|snX{9$`WYryw?B?F@-W4DDgqhT`{RAg<8{K;6Fj%wt><2nC#dU*P@dRlnegD z%R9=JxD`j~`e_?>k6N+1CmJ;n{FCLMqUXW=cG1sy(d)X3pE(EzrT>(@3pHtkO2jqf zMoP5l(vW}39!y_1Qfi8F9Xi-Zsf1hHzc*6WH~07bSK)7a{-^Mp2I+-&Flws|pJTS2 zKZp_|l_2WA+TE2rKX!H|IaaA9ZueH}$0{bl$HfXg3K*I$H8Tw(weK`mLbJvS&Q3|@ z@Z%X?{MdW|d?>@DO}rMG`{$If%t{=d#^GEoq}dw;#etBSWV&(uiQjRY@0nBLk?E?F z`GO3QLTP6=#8RebPEa-*WaUpYbcx>$k2(AS$C<-Dj%yt`9C5?IgAk|qd;W%VUeFzb zh`@C27FCZ^B2Awo3}8n&Y%KMSQ=(dX^Efx9=wZ8 zro!u|Do(BNKN|m&@vpw|e-3W#aDwR(_<+L?ALgj$8Jk>a2nZBrIU>;@~Nn!jqI( zS9d*$(iB~bd+`h$(SD;Zl9WH8<1!{$nOmjJLc7i;)#9hl`RSzPkK*%gIb)wm+7*gy zsWb@^dK%NNzIRr%M?DPhRi0OwN7+(I!1{c+r4k2S5$6=}aV@B3ic&2oz(MK=X?i;( z7~T}6JWj;KB9mu;IBw^N$LCwhO>J0210>bXfhIXX2FAQ(ttzzEc&@+hH%PF;Bx;#pGr)4_FMAr6k!!5E8P^p#} z0Pqc~rGLA`2kSu#Fh9xO2Ivs4;(g}uUoorQ#=q(BZzyxL5;^F|H;5}IA5{zL_#e10 ze2+Q&f;s#o555rqd;{m|-)`rT3wSMG8er2{_>AbxGjHL5@L$d01?I>zJZ&c<+^?f7d_Mn{7LQQ^Jo8<2 zX)yXz7t{V#ba0Fk)_&S5J*szs8d238eh9cjh=#{u0}5Y|cZ0vPoCE(}q-JWPhdDW- zJTMMo9zYM|NzKM8LDehkVZAJMbkaj3_#>lo1s&MsAdiqo6zEHn#wrc73Rdb(V4CC% z?cB(M5iTGoLMHa2I(3r>T-hEYb0_GA`@pdpjuEar%6AZCulc>*Wn_k4K7Mi0%8G7c zdI?%Skaw&=L2ID9>5oM4UJ2|$bexmac%0Iw(lw5cjQ$0m5$~GAk0qIFV9SVNnfjAD zPO0S@3k-UosS4d4r?d-5FzD<4m;T9e>O5YFa9gn42rzLu-5aO0t+WJwq>%XE5H;!P zc%_!xvt>qr>&uJ)PDX$=`1~tNvxp`jOI;iR66weU<=w3A@R}pzEAn7DoWB5nz>C}t zWr6htUY6&a#P^`N>%-FFvtcR5V!3DBLPD45h4A#pT3)1M`4lq|5U7iGHVx%;#U(nO z{JsNBT#GMT#+Y9Bx46zxr4(ArOxV7K-_@JTfmmeD6F5%aQ?@-80$29PHO zWhwsR!=)6PrTjm-z5^_ZJoOE)e+;jaDdQJ3GlrKwi#P21wpMmpwU!zVxU$EQqq+j# z0Zp{}>Jzn&cxLLAYwC3tIXGVWn&jz*cI?R4+9>#$`cF3u0r7fxx?vZVw6qz9x~At{ z4R*lTpQx5TfpTXUJUZ~DTyeh-3L4wV2q@Lts<%_JAKLut#e-IbZy;#56am;C;09m@ zTt(2>rk{h0?QvTLRp?n|l33k0P}K~>!nEy``DW)S-%mKUH6P-t;EpO0*s3Su%oO}e z_5Ipgw?UGDx1vg5>-m9Ej^j^&LGI779fZ+2ZK!Q>AKumK0~u`d7SyjFYNW|$@-46* zo&mPHk3;~9gLGz(EtdK-4U-KnwU(;WH){PdbsRcHEv4K!hV)8*E>TBBAx6kabhhJ3 z_~AaxJ3e;_^)nlM#0yL53$vk@(>UZ|n$aDHwCZZLgx=0I_$`}j$aKg@s)=5_|Ju@m zxrV-`?f{r(G)1iej0vJQa}D2C_<3<@ta^)R;ar0+9nLW{b&3PnG=r<`;@LVZD$BOQ z@OJ336|Z5Iuv ziM4i_VH30+wRWK0v<@QPCPuQGUV*eetPbhEJk+{yV%-0RPaPxewRqXxK*YkM` zDXrB2qK-csvhifuwVw^% zqHMJk|7_@?6D!W64!;^^h`o|67k=fN@Xpl!SA!P?Z!@eBN4BO>n+h?oY!s@p6Wx@^!=Cf>=16oNpRx3Px&n(~vILj6;*x*0-bl zn}+G)zXPcCEyH>jds}r@HM2G0CX0C6;As!lDL(fMvF=|?*YgWnJ#Zw9TD~kw#k6Qg zpWZY0CXY=p@JZrpi=pRpCOaWL?srZw7e(VEquOXuo~GkG9*3np%7ycddsMg@?sz7h zF5Sa2^O#Kcv8xz=>=nJcZ#d;t$4SN5M%B`{c}TTh8N8F;q;u@YbQ$LsT9tf=94ITMma9t7DZDBh0N1Lr6t47` zgWJja6ifHM=H&g4p#@u;%27;=l4=?9k70?R`)uDUdh^V1+bO_aEw4n!Eq$XK>bJLj zm{MBcTpT4U{XZ{PU?o(>>OLB9t-xMz#W#$~`V|a~nZ>x~@X`0ruyp>{kT2*u?S4i6 z#fHmHvY-}u+fFSq_?lW|K+cbR;V{z_|8_iJYbr60xQ)=-x+6F^2%^j&^c{;Mg89xE;=23r53qX zwe){o(7to=sL~>%8lXsdT)86iQ5~y0?yT5~)WMY=Q->D3#dn6&#_Ez=SANb6NjzF^&XNV7@E!(Vy=OX*3As>=GqpHvr zQSz)ZuoCz@rrOs&Gk{9FRwSEh-<+s3h2F$Oa@>ljrqF}RK>Ayh>Ivg0NGEZ%^wByg z(S@n`I61y;pv`gj9<)>^RZb4^)BOGiZ2>iRz=8Vg4OxRJJT$@7U47=U%1Rz?a!Lsa z<@JmY3E`GX6@!-=fe?MF#ok`>7lNkL2Qo8-o+=6gbQWi$#F@H4Y^3(V33YkA{?uHL z2PiH^sToEci?aNvmmY}XpUr5IEVTrZ{6m)3h|inS6eiskoT#r+s)Z|XbB$7U0UT7L zRKs)53LUsFqZ-1*LZo&8=Y}{cDfH4P1!5)gagb(-s~XU^4$?i{y>+i>P6g?A2)wp- zlsY&MdZ>1Nv})<69@0~K9i7|a-(`J=8ohakt3=?bsu%!kAZVxhRm9Q{Z#Y=pe?ovZ z=vKg$9&;3zjxgxH!FPT%=&)qDRg^NF27mL$TKF}_zBV#q>Bou^6!PD-@2(T0`a~c9lww$H$UK?v*!ESpQ zB0vS|QD9z@t^lGVcPu_GlCL0Et4R%9rIvy7aRzpzg_lrvcz$D{PCJ2A_mFl#p=f(gsS3#QR8Of` zyxoq*cu6O5&eYgj>WItIbG;?6;Lr}pBslsh&r#o(d)#wcmdkNx2Rh;{wHGbkP(dV- zAXKDZe5HYDS*U$v@yES*M^oenRcTYgetnpWu0xV+o4H9s-qusAfq z;W%Wd+P<4^NoEwW}h1>~CSlBSn%Ww}%Ha2AzC`-Xyq|Kt~)3pKAKxd>U7u9c)@T?JPw z&N13>CcS$@+8iVWiI?8dnILJCSjW#YEm-0@Cq!Nw zy1;TKOzLKj%O=%oOQUqG(-S>Mcr}f*vaaMKY_RO8D|NO9axpfL0>F_BYaqSB8Ctc5 zQbX}=Ez7`$(jtDZ_1{L)bU}O&ZkZGfp5)UPfpp?Fh@h&SzQT^q1rC{=-D4{DgEqmO*-D z@qmi(t1QYK{Wv-mD23oozf+7K&idxV4M`y@Xa+f zioX`+zUpfp7?<%DW8(@io;5c)r+FYMc3zA4uWI@4qlo6x0bE>t-dwt84|@EMR?;E4 zqIL62Yfd*O5NBr;*P67cgET@oO70z{M#4r*`;O8HA*OC^RZ(|a?2WlZOy^F(NH__< zrFr9R-ZPpv%I3}GUcFM)(!H}ZLMOgiWjWAIIx7g(ElYYx_e3zgzvwM>6#pSQ)ms`; zX%3ZG%}cU=2y?WH*R9G5gpF;J6UGft${0MPC>^T!(?M*$!N{G=hinD~_mx_+4uE03 z^^dot_LUCk<(e(|CA^sWmS%&c0XiH9t{IA!`g}mQV>(ie;nG5<+;|nZOUv$`)^uvPG{e1CbIEQf|CQdsMK<2_$p~q*u-S5U zgk%wgK9=m!(qjQ-O&%+C1B<_4tmGw3vnXRFTpxZs!*XVvv{Dp0T1I~+UAGT;p7+XH z6o@tJ&%oUrcPVv$2f$PgAndb@nJm>1LhkJUDC)0!KZ@$SoA!M!trS8mJ-?8e3YEU+ zDWG*9^A`t55B9(Zy@#4_*DlNUDbgUJ(hv@|MY^Ok*!4crCFQFf6g5p+Eo`Lo)1+*N z0jVXxVEN{`yN}YaFQp5>|4q`Q9Q!EA45f%QX_ZEe97*@LdmYj0?Dot z+(TgIQ=?f@Yiz=1&XOhwhWj3%7zSG2%$6jb@CVtOrKQ4ew8AW%7e1x2bEW#Cl4)5# zS4tId3*2v>h8`_)r#NyiBAitPr#;1k%wC9FOZgq zL3KyH zE1r`QG9Vt;DI$`&crU+L5sS;F-`Inva)m1cNQ{TbZ-+SZ4X}0oox^co%~LqLj69dq zI#7h9(!(WE^|WJWL_6!j=)U$7p~ddBVk{8t@DOMR5PIoqbMqoI&x*hweL_HeUQ3Ar z9|sRweXX6ML(}z9rHT`-c5>)l4VwCp^LlQAS;}n*p=iUoAtgLR^bsBrTZf2z;Vz*? zOC^s%GvO_qQdXY+f6M!#e0krSY~_7YzP$dn@@6CSmZ6h~n~FBm7Pe|A<|}EtFvs%zE2%_uKHIIt$`xd}*l(2VaFAR=Z&pcr z*$^mhx&-sclDAr_r-RsQ@fxWUv=Sz*1&x1-7Oa)(cpg`Wu?d9(qsTSlWFn?bB7?x?E>x?k{Key#?ww(d>zla)o!) z%hk9wnP5(E!yQ?8eR8PYdMQ$Lw^~N5m%uTx(*6y=0IlfK25B>H)zADv+V0ZgjR;Ao zBG)n@rn=PTN9lJ%@PGDp${2FmD9v)4s8jcXu}WKS^dDD>5${bKH%e38?u)jNeO|VZ zZC=!PleE~anHthAR`F0n+I3JIz3BEPY-3z34nG0ecr9Cq&uEKhV~3n6rQ%P5iZ7t1 zo2A-f|C#jZW+@h}wPiE5a=%%QZ^ja5nEnLS>SGDoA`KVB7U^W(Dz$KXJQq2&=X^nk zSm7EDatWuuwn{N#&FK{MtMt40_m}k7uTrer3iJQOyiE0flj?}~(l(6vO%h|)(JN~* zCP^R`{n>D9*Mn3ULa0qkU4$my&1q>g!vm%2(U)L>YQ7hW*HK!(U22RQh_|;(w}jWY zek{f5!r5Xh1MXPe?6`w(8(u7eL)X@PI&LSYT%e4sqM99^_S-E@fxyqk-BK8YbT96f zS~$&Y@lv~tg(zo~Wd|s9kF*?I-n>214A0MJ;Cs{;PP9+Q_6;BZ8}-@?I>=`ReYaQI zEqrO|zfX!5(|$dmVy;r!up|J z?!|Ytue0U;;I0_NzqWk#7qlq+H93{OIz+p2rS2_P^?Jn-{0ZgYBXzx*cMBbiUQ5|w z8x3(g`94MYWERFkV$M9sw(#KXdoUKpp*taUwM1z}-SVXHCa>=RP4ZXTqHl5xIPVtJ zizxR2A+KKw`4M7TcgBgb+`WLqD_=;=A=0Ci{;^0B&^FTruQpf?Ru2}UB2}P2> zDB;1kBFRg9dxjPskOIUe0`)G!=D#tWKOoh2`RuRKLT~UwP0AqhJt+B#6MN9jBB>6& zyb3LS*$1V*ko|gaP}<|uYbPczHXnS<@4wDz*m3bWE$x-&8C3hR6y*2&ukSArx@NuN zG_I`;Ag46?u@p}+hozW=MYG>Wn+SLLsWV&oWQN*Y`qAZLb@(XO2Bj(eepu=)d~5MN zBK;@0_KCJ-8MiAQO$*9v1yw#OeTxfrM~+IpU3>po`l)DNJYyK5BvHL%QYh4K^*tt8 zIQ4y83c|JW2FImCF4M1m5c?$FwQ)QlC8t#`59g@U1pqE^yJGr>U$H^)nu@PLNcu-1 zvz2#KUR!}kqYyawqreTyZ3OaUNgsvGR`RF3rYk3;oglszo|FPzM@@QdZJV>5j}7xB zF8=(m8yz|+brZ#QSwgWZYHOzQXiKNjb1@02(JZ!qEK&=Sn12Fk^(WE zVb`R`q9jxIKc!V^-oE9I4Q&cb?)h+1Mh~@GrN@REk$Bt8RR*YTt9yEPEFGN}aEPkf zMWr-N^IwCn)fYh;U#ksV=`o)}j>j&g+ebXDN!_q0(}e3%m5_UQb_41&O2s%Y!3&hp zH@7esn?{Y*)s*&JmqrJ4{V--rEoNI4E$Nj8)bfV33UY{dZb;PEI~8JY-K`S zRJ8FXkOg!S9=j=Z)~)HMBjFNrWm%EuurUyoa}<3GgtWY@y@_IE>ag)*F)uIRHC_}A|9ftx1|`jgNJ#N zr#JyN&5TqjQ@nF{>Nb|(2A%lXFtBuPDxPV}X&s^TJxl}L>3@Y!JwWDEaECHodR&>8G6=|71w%Op3REu5vH4YQ=8|mQ z>wl@4^CROkaK(E!jCyy_@V^>;-gKace@P)?rRn5!2h01mH5Tu*BiDOU5fm?2?@1G(7jEKx=_g(I!$BIs zQ1do-aDw3qcYt6x^#Q>^3e*}sloklJ>Bd7~xoOLaq)K2i1{6u&qJ5saHs}^#DWN_^ z;My#tsYOz~+9z=*Pg{{}i^CoOY`2}Ew8|;TdNOqn=FBZGv|>SRzG4h)HM+KKNnCv3 zgC#NE{Na*VueXZhOP9pV1?87S&)(EMPYR1X0ix%B*2EnE{{Pm*#`Ed!-;x=JisK$h z-+Mop_kOi%v+ezARY0{KOToU$+3#1OHT}vjR*PuVV`+Vj-fp%C@i}ecx$2&_1q!vt z)+_aLMw*|UX;y!5(vr>R!TNBs#5|Fv=v<&z)Cze|5K9Fbsqh;ee+Gtb3Qd151$s>B zP=>RUvs1G)ygiXD&!wSwR9>>jr zFQiSvSQ$!DpqJ8ED8@MZQi>AlTBKK!s{jdo-`CO}5sb0R zZ;@oPWxzYhP4JWt*%~`;7w+_zV(hv&sgVW?`z=qb5~S(#mcEgzdK$aGL-wFRlXDVs zaaD7d6Q79xQX@eQ#UarkL9XKYJ(TH{##vJqXFh!`$lik9vQv<8HdcG{OX{GLr>4dJ zYn$L$l>%+3z5-yF`)#2a#U>#FRlX=k2JXbLi=aYUWf;3b= z0j}7FF>4@A^FOHm>)IUEx3QP21sm4_)fbmtvU|M-0~L4C_+!-?q8~y_?Bx`v6aakAW7eOrY0#IUn~Q4jSYv_wfz*7AUK9!Q5f9^QS;~~x3wW8e7+ap4UbLdZ@wcs#c0XY9}0H+W8(eD-I8sa}!=ut(v z5BR&SP4WaGm-dK_=ErLt7U+puP*1k@2fMsuNL)C z`-;1*?sY=YSN46&`bv$F3q%49zzEX%>J0>n(qqCP$OA4!7D_Bznk7z)LrXE`ImtcJ z1}{<32pam>!xB!#w@ueJAFX*n(Gac2b`9ics+4@S;38KQ9#W)>T)lpu>c9cXrm$R)XFc^_ zm~f>9;`U16I90|nY6OBy7xWSy0+B-H5Zi;{h}4rdij;!e-Q=! zB}Js|QA0jl>gNMiZmGYrM_uZ7sg`~MRJ#2Cmipk%eC&V%fF@Stp)Bie^Q%jJmu`F{ zeXC~9m-+>8dE>Zz{{l?=ab?3u8%2Amx`$jvxIyhbYL z7RWo6DcGa?$i7C478Id?D-M6iBF*1W$>xsi&l)0KqB2#3b^stz`IIX9%GDut-q2U} zPrHl{!xY)M1K-DSr-su&Rj5*NhtS1JR$J|RAe~p;8{hY)qs^~=-)^iuR(BZzm?@CX zEB3P2r1Rd+!EyPA(s@1@JL)sYIBA1sGt=A=41^`B*h5)E*L~$bArZCPPfilOt6B8^ z@^X9OCVd?wS8+?4%ZuzY#x61M4%AhsoGQ8;B!6Z+01BILGNSa4n%YO)e z)56NKzf(VuUC_>NF5q#hl!%u7mE|k^HXBuuBgE^k=vWo`GBgyftt$IFx0_uqvcF=r zw-i)GXw^$odHX|95X^lrJ7Sf?Dj+!|RM}&5MQ~kap>k@)XaI0hT$Ij5&1zBm>hf2@ z5-O}N*QkiM3Bd-%0-lSzhFq~ban87}*HluRid+U3GN zqZQ%uEF4V))d02?8e3Y_l$j_vS=!c?+ZaI+eAP%E>#R?~r{Kv_KCHNS+$E%J> ziOPQZy{lXsI;fs>m3s+-tEF{!`IKJNKOpbE@?>F(Wl>+*D&pShq5*Pm>;@hWkQai6 zN*^eHBRrzOL2}cy`vF{p$-Kaaqj2{DLGWc~B!lvUbmuvQX&(Ss7r;zA^hW^8%IKp- z5VYtE;4|yr1R9{?ZMhcm0v;q9tNH%Xd=ueA7De!7Wqb*b5}S4#l$cpxsAbewi++du zP$ys1B0FPhsbfl zP>bhKd92|5A_fB_KY_1Dc0=#Pw@J!@xj4!*k=A;2!(sEG|b_sYmO;y28y;?G7S~)^qE!?F>Bjp2F_=wnlQyGPl+o zG$Nlcv0#WQt1RQckiQkGdWWF_F*8r8=OOCRNPDOuI?QiYL)p^9d``$Wp!qu-g6Nm; zj0PGoRgQH3ybjND-U75t+)mDr`;{p}=!dEDAW^JC6{dkIgPzQ3@_E61-XY|WLn9Fv zJ?uZO?cgKI7ql)-UIYzq_0#1U;Mwm=m#5lauJPJRvFUPU>N8zl#(dz7)BRhNN^#R= zZ*rS~e!60bnjyPGt-VOe8S-iD!+dATg-t_)-cR5}^YOyrfgkv>7l(?a!cM{Op=Hzk zWMQ(=a=LkZKC7tAE_U>(6c-xpaE)vw%=GrioMs#7Nyj*m0ps}maN4x3Z zDtV0X#!_ds9IeCc&oOJ{-#v4yJKDuX9yRCX720RqG9^YHNHEWwl}jzwqB*1K*;+ZY zf{$cx*BWngVD5QR)o*UXI zoomWEd7iWM3r7u4qYqE>$ND5Im&xZlIZ0S;`Q$sfhlpD3TQ8@^Ts82|nQw2e4IY(C ze8dKWz@LhN!Ms&|wZY&n#mdUpmQOdxB_a-&hi^pteM{zza?=p=1U@_eQ1$aAK~$ZK zR#oOY)bgPiA3x0QGnPjiWnvLW|K)O6dqV;-2l=bOfeGe&*fRz-dtpt~DW)9>kiR%= znw^PMapt+RvuN8kxmNpL9ZIZ4$%)u^Vp;I-2v0McC$JMdb#0!(o#Cls^X%vXkC)Bk zjWeer2b*Uu)!8n$2bXR7cDZT$oE`{5-k13TeWoWo$XoSv#_1N%TlIMKg$H@7p2B|c zAaB)kasWKYTlM@-6?e#u<5KcuyEnPAoiFTAm?)U$FzsRbz>I)722%o~KOoz=zy!e5 zfN2ENlCpQmdvR^KrA2Nc*MJUJ9F+ZSnPZU`*bC<@zI)|HLfUdv3A#Mja6B6bc`rrk zUt%p(mD1*Py~UveICLTE_d&GuL5S8-?SOL8Mt<^9v_``aE$riHt|LpMrP)di9*=ms zkK_4`DUD}~_Iezm{i%+Ia-~M4d=%}%WJKHkakTwYKZ>>)$A+Eu%dTmb*&l^?%tLpK z#0S4`fyE!kS+p2&T7D2GV8uuIe7P2J@U&jJd>nrKD9+Wbmb?4q2RgB1Je@iqhlx?` zEH4kpi*-T-O}dKxu{2g6qN{M4cZEC&7e>BTX*5?91}T%MTL z`=V@j?SgFg8b*fO9VQs2HcS(kB$$mbf56;_c@AR-rN@piJ}}i_-s67FRk-r1P#y@1 zF#FGPkYw|p-T3RblOuC24kxg!sHjYOW!=>bgAQ%*_byBGlc1m>{poXB?l0;t)0ETl zNP+17X*tLkwX^iBX|ZtB)e=&`7mh7->WmyOye5~k@-pFq<;Sz~BYWY#g)Yh7kjSB} zSL91oGB3PR$=mcmPHCM`QsD<49v`CN*K`yQxs#v%kViNUt5%}QM4{dLRHNXl@<6AT zRZFb9IX1;n3vOjRq{UakAjJM|cE)fHq7Oh^yR`z*nd@?_*rGB;-@w}Uh!)(C z{h$YF^9{Ma@D<&?fld1aa=0lstko#^eHo}w7`(_jqeM<|*saGlN=bZzYhEf7SixJK z<8OkP#6IUHa`>J0-;{gT85~ruO06Q4&gK1*63@L_vz&nZhf*&HR}|##!ZrGqTN(7~ zmfYSWG7xeKPoab_#l;r6KnVz>{cqC07!40nkA!H|3kUzvNXo z?CX9yvw(-531y( zH6qR@1A7;S0-_F05`NNo=yIZnsw#4bJp4c4^(FI?sgojCsjBzpjZ=_OVxQU~r$Yth zKd%yN_Utzp9!0Bd`4uR)@T55!8?{s9PW}PNAR1=Hzp|Y(?C)Uz409gFj_MT3J1DkL zmMsqo<*}l8`77%Fx4cA*bEijt%T+`lcXE3qhlu|!r^b)u0Qd85B_L>1B22$m_%bfD zAhlXzj{EO4_7OT`IW2u8kE~b|F@(%SuzC>`NRE%?CLVWO)l^}nse%wxK-B*+wroFB z+GEU*r4;%^{?u=&3wq&n-b?$8`=*pc-Ag_atj*GTnJrdrWQ<&5HCRY5RIp!aEwD?4zf`8=k;%H}T{!H#GIy%$Z zXL6i))sF5ylbdkqt>^M!2oh&Lmz(HbTZ=7+p36N&;R#hLmUjwAESHPrHUfWmsYEu2 zrp{8iGFnQOhOcB4=xOQ*ZkvXZ!a609H@U>cxYz z^@D#q;w?Zxa2fAuF{&p4XCuV*pgndzv--~)+5oY((x^A}q^bCQ$F zyephS?F=kZ^!$@HVdszVFQd5MMb*WD$=Y)buQ z7LB%8DYKURksg^f!~pVTjNjI4&e&%j-~6Zpx7fymYp)jQj1##rMixf@F*eLOb{3d` zH=qE*78b$75*!D84@PpfzVj-*UFk;erjhlpzy3QFp1+dA55^Ve2BtWJR{cf;Z?SBah=E^}icG}oEAKpEIK&g=@t`D7P%0X*Qgt}G7PR9suw>pIk#MKlm_<;Bs-1TF>ItzRSVaXs` ztD}TqhH9P#+6vGm^+{PRboLd`v5N5f?bN*QMWSPckV-hfYjF;7h_ zlRkj05p~08LjVhu59g@Rrc@BXeB=|F&yW5IU` z29^Grt0s2ENQulXT&a?+`h6PkT_!mNu^9fwMiA>GKI_MuGn6g_v58_QnD#L8 zuy{6;MpR=#u17L)R$$r@D-^lH(gDrQrPbBY2;p?R8mlVW*Q96F*b?6xya@BtT@L8J z=j&74QR+3V)X}sylqKML>Vr@g6L2U)hwcTAMr`Q)2MbWS7{yr?{LOLwNNQ1?1q&N! zXmu9mIk_yZGX8y>O0=Om^T%^=hpV${c;oF+b=DTFmgq2iQy6{5t!K0;jCB!KFAHZa z@Zwy2IA$q6HyoqzWfu~{8PpJkv$o=wHcxU5mQ!sV_9jW@Lxok*>YUZMSoNP)%&_s< zcW3c7baz}b=($c?*!etceHqOIk4C#bt1~<2m=kJiZnUKn-9lf zNy?(2I%p^;X0F4kiOv&gOdU3i9c_p6YkmYoFVNx2ezZJMvRjob=gqyY+Kc1 z`L8Z;8W>RB>al6imv^Bad+ND!JTFTDcLpy3=IGacp?*wVx)#O07ImM}l=?uGMtWDD z1y$=i4sC@xH7t$&?_@RhMcjo`wa?CU%iB)#pGYE(hPwMDL4u<169C5TW2_y3DCv-cB{l{Pb zXwBNy=-vyToE@E*QIwcyE%>|$5%(fRVT`Iic`D8k7U+K7-ZR$%zQ+7Lq8Q7OQ+hg2Emhil#SycF8MXQ8-GgA z-x-l2b3tq<-KlDO))BX4C%0#no!D89;8cwmIM8sMMVs2QO7@E*B|ECrf%%fso~;mG zQAP(gCU`E-N}D3!VVzc{c2Tpw*V~r$o37;25l9L5zdEu=VU=ZUM|Mucvx#wCm~YyS zzRd1V7)LxZHF&^>Ce8*M27AH(5&jmimi@IfNB)oSl?b~JQv>;y-*Fah>QK733{c^* zox7^r%O2*3Kx$v~05&$ij59w4JML8%HUTFqW4f{**^WMHlRoJ{0o|A{TcLSRbf6a9 zFy@-mux_lk+*pIQpyS=J)J14MC`9STLO^FacV|_w(`vx2Wa`_U`6v8}hC-*B+pF_3 zmJ8)3#+!>H&&8X5`48H_IcLQVSM8KP+Vehq%F&*RVrpT0WNL}q(eK?^d+^XrJ=hq& zwD({w#XqXi*`64$k9x40;tbUjMlE}?YzP~l>B$zzGx4D)`FqRoUd&Gry{gcx-k|5M z(ShD9Kk!;tHFRog6?@IbHWKAs;y@7g+4@iD$3AQ*8>7W4PO^CQWw!W~(IrSjzK{AdnN848`yYX2FcZ{}yzP%^2U1`F)^w+;v|<1o zAbuM_@A_kXs4|cZ6g>hcYaq)MR#L@5EI2H=g*xV@b>OT@|I<(_Uw9T0YFvb?juzBQ z3xde-AeJnOA(kHoF+9QdtFKzFw$Nl%(ke4W15%qItfJV$mlqpGnM0VfXz;ZxAHu#D zK=?Hs#;yi^*BbNnX)#L5(GTbDyPCTO+-ReVO{vjvb{GqUbvSEcI28lYl_r+B5o{A) z#iU0gLFhE57NfAQPC9%+?^DfczVy#!02+<5_FDQnc!;Ob^Gi=|W!`J%RO? zyEayVjVUf^z)5$DAOgmW%7gSP#j~r)0oTqG~Gb~cw=-5GYr);Cs z8L;H+Dt!Qh)mO9nsaDPYuoAOt4nS_O25QzI%^J+DoHq3^{{q!AIJ;Tt`i<3^nM;mS zSOqL^K2unjcrct=PC)~-B-|ZtXslC*qnX5P$9k4Orm!`Fs0*Vh)7Z%tQPs<4ODrFV zjT3QnWOtNbzw^(7fQX9r)`ViDJmnN60`KIjflEpQGc0qyWJ?5(epQfDKBvwQO*tS*(_O@d=1IMITJ5 zgHcg2TUN6DE0VMHuJGfbf{-Th zS^hHIS$ZA*k=aWb4LOmYvghb)hG8O%)Z7Ah_tV@_+}%lYdvkY7&3y_*7B<%0XO+8KVZ{n&1NAL|EY$^ z?>N%Q(Lbt2b>^_^zGHp(7;J-EN~0Po12s=5JP}G4OLa3S0r7Mz3d~_Xf=JOhnE%VD zdk$-bE$25m7z>9hsXbJmF6Xc&b-r3(?(7V_&`>DA00^=qOF1K3jG`rAdAG6s%a=Ubu#}?bodJN*#xLa;Z_sCyM_n$wVn$JR< zi`+_S05wrzxJ6t5YE_2Tg&j#!-YvSjh}CoWZa`^k?4`j{Y&8q=nD=+`hEl@n!)hp&2Dk6QkqIbZV=8 zONv~Ix%-B?EoI{*Z_|#}KIrRHOIdFUC04;X0@DItmW@$~lZ9RZI#qK-UA2L}JzLs9 zx9+`fARGf{a?!RAWssVanOJq_$!b21Ov~;@n^bnNs)5olcON2b4m ztY6wh9CxYH1NGUBQH=VSZ5afs8Jy=muXdR8M;Vy)zftSu!0JP2_;R5CmSkBDR?hRM zbZt2csPCd87O)wR^M1?=1#E{d9@VQG7U$H6`2oa0cX+s(8CJ)P`uUM!c zjIpd)0XCQTjxAdaM7EXuR@nO3jBTe>F&~rxyROnU~1L3f8b`qGzK{FI26p zkm-jO2WZVo!lgO|1pBvaoYOhuD{J;NB>~#GYe0`p8%yhTY^f;rtwOiIXRWbH)>zMc zD<7_m!*6xBno=Da&(%}vql&32&p6eE^XSgg$n`9y`fa9RooUXR-PdL(*z8@l@S1dH zJ!>jHR>)}s8|pOyJvf<3aw`;A)U6+H7Zb9bvk|^o1D=GXmyQm{gc4FwUl?#eg_b@38wN~Ir!6rYS+?=b1jXCQ$~=eL0wFp*wt15w_TYH!E#+k#qdXKRH_ zQns_h0iXVdK@NsVj{Ejl%+t(kiKc|}Z3iFXD}Cpjmo)zuqr15BF{SThZuDY@mW_q^ zxK%ETelWdZpH#ltgXSa)3$6d4S!qTmknMl3L>&3zwZ_cc$#Se|M{%5~-G7+lc^|}j z@{0B#S4Vme1=jk@!iEQ&dtO>Yud=|>8tyP_HN*)@+D+S~Q;|O)%&Fb0z^AKm83ywOt(KqgrBW>Bu@*&ngc@Oi8xl#fF zKim^{!UItuV9#I|bxJv?0`I0c^7ik*`OjMcNi2)TNfAU_MQ8Vbh2Mev_p%?2I}|&9 zNe%dt22OWy6PGLWslCz9`wPHvq2V&dO1#PPNl0UpWr~=XQ?nEK?gMkq=P||aLsfBL zypOf8Kl1=p-RkS$uD8IofZ`S!-9VS$+{bc->$GM+2L41#{(d%D^v-@Rs$|K)XPQ0D zHu1eJJ@S~KM^p4V!bXaIE9uA)*2s9Tr%u&|c(JF2<+CUeCuYr#v2gIqM;&8@{&R5$ z2gA<6w4;T9nSu4B(6rwn(i&U$5#Bc#e;kABBrQG8<_c++;1g`OPIP)~xp5k6uMlC0 zIm`YPAk0oKhI)A=c?Wl%1qVn@5RYVP>l{MajJ~9 zg$_N-A4~S4hzl%Job(S_F0f;@-xTnSPbmMY_Qy$Y*g`LV1VQqY z{4cTJYX5Xv%i=rL{y2+yw$NFsU7%o#b%_md_vhZyTgFM~;XuWBno=&a9$cK`GRXBQ zcsegJdrEBfl!ml$p}iXgUcstb=@bpP!m7JIKUtbyy%W|x5Dyuzy2AW)hfdm&Fb$7* zUA@B6LxQ24Yc~jD48dc3V^!$P0et^o3b0#EU;e>@DqdfO09gxAAWiWHOKLca!!R(* zBBycym(VCp{Rs!)Dgy^7-QiJpZ}erheO2mm6(^2IEtyxrF!j0>hiRy)$e4)kDNbq1 z?-3>{yDW#U;kd}U6Sp@ly3VRfhwwNhxbhU#)967LuY+^e z`xu4SHa4JMH?UrN-lSnSSdvc#Fz=y~g^!->HcnhKi>(w8RX12Pn{)&47^@uSDIr0KyOX!TbG5ViODOXe z+f!wG5wqJ1a}ee@%uSfHFjrvi!#sldmxkQNMB8$g3t$!~4Jqm`Fkcrzc7zqy+k!jl zg>TS>ar=3XaJ3;#id;;)Z@GVlqc``hJQ#1w4w4Gw02XgeV9>ohX*IK zxE~$vc!B#rRfAEM<8|&GpnBclz0bWJxwnm%(r7Q||2RGb3^#(5#%e5FU2=R1NZvz3 z#$SR`g##C3Dd$zOyNT4UDkNTm7&t@#B+a}yQ3F-rpeHyjGA~ZnATAto9S~%(=m^|r z;Wq8)%!{gsFka4noshixo_c>$L9P{)Bw%YeQr(4GU+d#T^gGpwaT^&C2? zENUYaD05)9GGG%GC~;sMfV_ zAc&vT^)7tYQ)SoCz}+HL;{U@^o$DGn&4YJJ6V4=oa$2{F9Gi^4n)j8RQw>ebS*@`%!JiJ(J<=O;5vY;H>3t2;c<#Xkf()JGJ{mXi| z>bSpj<>Hg**;cCY9~=n>hvJC>Wy{Z0=`9-+aS|8mIi@iD{te{9Ak*M=a;3w z8T*TkH%!>aQ&Yppz&-9m8FbK?gX%o0^NE%qi`!b)ly65HC+tE$I z7#C4PExbSpQSFagw4yE4pxP&tcRy$?Iz%)&i zcmBoa<90@Xj8OvP>9pSXTFN+%rQyp~bjD!3DlYnuev*uh#9>$Ifn@9|ZgHokvT>?7 zD1-LO#(rYm&&ZD%tBP}cD4rPy;mY3zX8cWXe)f&JpKAL=8+UiUp-~P-A90uq&2}($ z5}*G~*Bp$Y;va`eU%^;I+;o^CD;RI}U}?Z?E#&NkTM)=U!@oP9zyIe_+#*ny0zvf4 zs-CCC9zbR-fZDK}L+#VHeX3WqdB5L}=FORg)TvK39U8oJM-2BzZ)u^UF`#W9ClDjh zumSSeH1mm#LYWPET~(RK4+aysIf@JOC?Ho!-V1VOH^l)WHNlVtV_QKsk8 zTSue6^MrHg%V|f^hb{RY)b%ulS2XquI;axrHWf!a;jaKJ;AA;gk<-d|t7v0I;}NmX z37TL+GtApfYfQ$De)X`NnQ#$ZCBR#il%v4Ut|Lb$%=)UUDb&e0T-+N$i=2$3#DFPy zA=NlQd^C~%_iB~2@{>6g5UwVomXejSP*ii za)5s(+1bsssU?X^|I%ouEf`@#DaFOuC1U1sK4KuQ!R?Q*3?{b?%k;Cw>b9IpT#R3c zSBX+wjZwyR#8aP8RuZmS8=FS-R{aG^XVw0A#>Ln|qim^a5}$FwjKRNvzw1sp-bVlM zJIjzMCVNt}x<4yW&H;ced%D_Pcyk@3Uo5Zl#(Y}hX6)tK&z3+{JH>H%+hruU8>fpK zx6w>@W82!b(E1K>J9&Sr9nhkD2RvT=(wfh2!QiqKUp(3o7LShN>oDrbbwDX#@&v5|^e7@OeQHQ)4{RAg zk3EeojJ}I`8{&b9#T4yj^feYQ()^DX(Eu-FA92AV+V5qoZ|tGMPbeK0(K|0=z1lvi zzd&(O?T_2~%|f0_f%30vpHTj$KsTcwP4hNN;?adP%i9=I?OPsJzM&TafQFudw%{W7 z>cAg!fX;dw2e|s$BHMI(K~dsDiuW8n)fHgWd1+T`B=1X}Bp3{QP##pFe2E(Cqq zK;{)HDt&KqN+P8@Qt$`EkI2ev(X-eZePzPsIO`#(Sayn!9u_(Q&EGwce)cu`Qj6y- zoNoCVt1|W|F@DB+l{Os$8N)mBG$(o@xCoj`IrT3L z`qOHqZ!(~^{d+%Sl+|CXa%h+XqyBYvcc zfyOA;I$J?TA#Y!fyVIYAO9yula}Ma_c_k< zM2-h}jwjlh57~13+>?d`VFkSLhSmfb8;bEe=xUI$n%HJN>4J@|#e!gJ9}J9azlcT# z8>7Wmi)lkJzIfdC>W)@Q2i(R{IU4>xf{7TvCF^mc5Q z#W9=OLhHV#m6eUbVn7!CUfCEZzMZW`asO*}S(FAS095t#Ly7!lS;#q!1+zLn#2DcH z)h;fRG8S`Y%s7muXFsaf{*_M42>2u@v|zs4O%cj^*5ai>4yx(?#S`-B@{K2|gf6cajS- zxZgyIqF>-B=8pAn`~x8herwQOM#e?na0GCN6CCxqgL5%r;CNq-h47($LM9h_g4RQ5 zZG>`Cq4q-UQ$uFZ?&`*2y`7ra%8fT4K(rqg@`21NDk1|^bn@iMafN*2sD@g%M@pSIWWs&y()AngY;QOe}x(Arwv$8T8597huRpU^rI$Ntr;Z-(`>9l zYG>B?ux>q&uIPwXk59OJx8^S4?w>XH8}9yAa}WO>Zlf(e+}d}o_gad%86Ps$^vgl? z@MPZ0=5~Hc`%L;J+~^Db`H6544}Ls>*+IGRj*K;ov&EuJT3o{z8L-12&y*f)e#E{Z zjw}0w3>up8S~AV}L+xt+!ZUQQhH+f?N$p?aOGc;a<8}x|*r6T-`zgtkkZ;7ssZ=~iu{r}+IAyk-m<|G+fzi$F#vu31_{7%f8Gzdpy%LBy-DBa4%=Cptl;L2;6~ zAGUedQgFB2#)#i-i}&m2RHLr(s`1ifE#2wK

SFB>p^^A|kPQSU8#5Mj9&zk58;9O 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 rYb^S(i(`;wf7!_{jz^*_ON% -inline T crnlib_assert_range(T i, T m) { - m; +inline T crnlib_assert_range(T i, T) { return i; } template -inline T crnlib_assert_range_incl(T i, T m) { - m; +inline T crnlib_assert_range_incl(T i, T) { return i; } #else diff --git a/crnlib/crn_clusterizer.h b/crnlib/crn_clusterizer.h index 7111a3c..d80d508 100644 --- a/crnlib/crn_clusterizer.h +++ b/crnlib/crn_clusterizer.h @@ -652,10 +652,7 @@ class clusterizer { new_right_child *= (1.0f / right_weight); left_child = new_left_child; - left_weight = left_weight; - right_child = new_right_child; - right_weight = right_weight; float total_variance = left_variance + right_variance; if (total_variance < .00001f) diff --git a/crnlib/crn_color.h b/crnlib/crn_color.h index 3a8c541..076b53f 100644 --- a/crnlib/crn_color.h +++ b/crnlib/crn_color.h @@ -469,9 +469,9 @@ struct scalar_type > { enum { cFlag = true }; static inline void construct(color_quad* p) {} static inline void construct(color_quad* p, const color_quad& init) { memcpy(p, &init, sizeof(color_quad)); } - static inline void construct_array(color_quad* p, uint n) { p, n; } - static inline void destruct(color_quad* p) { p; } - static inline void destruct_array(color_quad* p, uint n) { p, n; } + static inline void construct_array(color_quad*, uint) {} + static inline void destruct(color_quad*) {} + static inline void destruct_array(color_quad*, uint) {} }; typedef color_quad color_quad_u8; diff --git a/crnlib/crn_colorized_console.cpp b/crnlib/crn_colorized_console.cpp index 925a65a..62ba333 100644 --- a/crnlib/crn_colorized_console.cpp +++ b/crnlib/crn_colorized_console.cpp @@ -21,9 +21,7 @@ void colorized_console::tick() { } #ifdef CRNLIB_USE_WIN32_API -bool colorized_console::console_output_func(eConsoleMessageType type, const char* pMsg, void* pData) { - pData; - +bool colorized_console::console_output_func(eConsoleMessageType type, const char* pMsg, void*) { if (console::get_output_disabled()) return true; @@ -78,8 +76,7 @@ bool colorized_console::console_output_func(eConsoleMessageType type, const char return true; } #else -bool colorized_console::console_output_func(eConsoleMessageType type, const char* pMsg, void* pData) { - pData; +bool colorized_console::console_output_func(eConsoleMessageType type, const char* pMsg, void*) { if (console::get_output_disabled()) return true; diff --git a/crnlib/crn_comp.cpp b/crnlib/crn_comp.cpp index 4c53023..37ef511 100644 --- a/crnlib/crn_comp.cpp +++ b/crnlib/crn_comp.cpp @@ -74,9 +74,6 @@ bool crn_comp::pack_color_endpoints(crnlib::vector& packed_data, const cr return false; } - uint start_bits = codec.encode_get_total_bits_written(); - start_bits; - for (uint i = 0; i < residual_syms.size(); i++) { const uint sym = residual_syms[i]; const uint table = ((i % 3) == 1) ? 1 : 0; @@ -93,12 +90,12 @@ bool crn_comp::pack_color_endpoints(crnlib::vector& packed_data, const cr bool crn_comp::pack_color_endpoints_etc(crnlib::vector& packed_data, const crnlib::vector& remapping) { crnlib::vector remapped_endpoints(m_color_endpoints.size()); for (uint i = 0; i < m_color_endpoints.size(); i++) - remapped_endpoints[remapping[i]] = m_color_endpoints[i] & 0x07000000 | m_color_endpoints[i] >> 3 & 0x001F1F1F; + remapped_endpoints[remapping[i]] = (m_color_endpoints[i] & 0x07000000) | (m_color_endpoints[i] >> 3 & 0x001F1F1F); symbol_histogram hist(32); for (uint32 prev_endpoint = 0, p = 0; p < remapped_endpoints.size(); p++) { for (uint32 _e = prev_endpoint, e = prev_endpoint = remapped_endpoints[p], c = 0; c < 4; c++, _e >>= 8, e >>= 8) - hist.inc_freq(e - _e & 0x1F); + hist.inc_freq((e - _e) & 0x1F); } static_huffman_data_model dm; dm.init(true, hist, 15); @@ -107,7 +104,7 @@ bool crn_comp::pack_color_endpoints_etc(crnlib::vector& packed_data, cons codec.encode_transmit_static_huffman_data_model(dm, false); for (uint32 prev_endpoint = 0, p = 0; p < remapped_endpoints.size(); p++) { for (uint32 _e = prev_endpoint, e = prev_endpoint = remapped_endpoints[p], c = 0; c < 4; c++, _e >>= 8, e >>= 8) - codec.encode(e - _e & 0x1F, dm); + codec.encode((e - _e) & 0x1F, dm); } codec.stop_encoding(false); packed_data.swap(codec.get_encoding_buf()); @@ -165,9 +162,6 @@ bool crn_comp::pack_alpha_endpoints(crnlib::vector& packed_data, const cr if (!codec.encode_transmit_static_huffman_data_model(residual_dm, false)) return false; - uint start_bits = codec.encode_get_total_bits_written(); - start_bits; - for (uint i = 0; i < residual_syms.size(); i++) { const uint sym = residual_syms[i]; codec.encode(sym, residual_dm); @@ -341,8 +335,8 @@ bool crn_comp::alias_images() { m_levels.resize(m_pParams->m_levels); m_total_blocks = 0; for (uint level = 0; level < m_pParams->m_levels; level++) { - uint blockHeight = (math::maximum(1U, m_pParams->m_height >> level) + 7 & ~7) >> 2; - m_levels[level].block_width = (math::maximum(1U, m_pParams->m_width >> level) + 7 & ~7) >> (m_has_etc_color_blocks ? 1 : 2); + uint blockHeight = ((math::maximum(1U, m_pParams->m_height >> level) + 7) & ~7) >> 2; + m_levels[level].block_width = ((math::maximum(1U, m_pParams->m_width >> level) + 7) & ~7) >> (m_has_etc_color_blocks ? 1 : 2); m_levels[level].first_block = m_total_blocks; m_levels[level].num_blocks = m_pParams->m_faces * m_levels[level].block_width * blockHeight; m_total_blocks += m_levels[level].num_blocks; @@ -558,8 +552,8 @@ bool crn_comp::quantize_images() { image_u8& image = m_images[face][level]; uint width = image.get_width(); uint height = image.get_height(); - uint blockWidth = (width + 7 & ~7) >> 2; - uint blockHeight = (height + 7 & ~7) >> 2; + uint blockWidth = ((width + 7) & ~7) >> 2; + uint blockHeight = ((height + 7) & ~7) >> 2; for (uint by = 0; by < blockHeight; by++) { for (uint y0 = by << 2, bx = 0; bx < blockWidth; bx++, b++) { for (uint t = 0, x0 = bx << 2, dy = 0; dy < 4; dy++) { @@ -634,8 +628,8 @@ static void remap_color_endpoints(uint16* remapping, const optimize_color_params for (uint similarity_base = (uint)(4000 * (1.0f + weight)), total_frequency_normalizer = 0; remaining.size();) { const optimize_color_params::unpacked_endpoint& e_front = unpacked_endpoints[chosen.front()]; const optimize_color_params::unpacked_endpoint& e_back = unpacked_endpoints[chosen.back()]; - uint16 selected_index; - uint64 best_value = 0, selected_similarity_front, selected_similarity_back; + uint16 selected_index = 0; + uint64 best_value = 0, selected_similarity_front = 0, selected_similarity_back = 0; for (uint16 i = 0; i < remaining.size(); i++) { uint remaining_index = remaining[i]; const optimize_color_params::unpacked_endpoint& e_remaining = unpacked_endpoints[remaining_index]; @@ -730,7 +724,7 @@ void crn_comp::optimize_color_selectors() { D4[i] = d[(i ^ i >> 4) & 3] + d[(i >> 2 ^ i >> 6) & 3]; uint8 D8[0x10000]; for (uint32 i = 0; i < 0x10000; i++) - D8[i] = D4[i >> 8 & 0xF0 | i >> 4 & 0xF] + D4[i >> 4 & 0xF0 | i & 0xF]; + D8[i] = D4[(i >> 8 & 0xF0) | (i >> 4 & 0xF)] + D4[(i >> 4 & 0xF0) | (i & 0xF)]; crnlib::vector selectors(n); crnlib::vector indices(n); @@ -744,10 +738,10 @@ void crn_comp::optimize_color_selectors() { uint min_error = cUINT32_MAX; for (uint16 i = 0; i < left; i++) { uint32 selector = selectors[i]; - uint8 d0 = D8[selector >> 16 & 0xFF00 | selected_selector >> 24 & 0xFF]; - uint8 d1 = D8[selector >> 8 & 0xFF00 | selected_selector >> 16 & 0xFF]; - uint8 d2 = D8[selector & 0xFF00 | selected_selector >> 8 & 0xFF]; - uint8 d3 = D8[selector << 8 & 0xFF00 | selected_selector & 0xFF]; + uint8 d0 = D8[(selector >> 16 & 0xFF00) | (selected_selector >> 24 & 0xFF)]; + uint8 d1 = D8[(selector >> 8 & 0xFF00) | (selected_selector >> 16 & 0xFF)]; + uint8 d2 = D8[(selector & 0xFF00) | (selected_selector >> 8 & 0xFF)]; + uint8 d3 = D8[(selector << 8 & 0xFF00) | (selected_selector & 0xFF)]; uint error = d0 + d1 + d2 + d3; if (error < min_error) { min_error = error; @@ -872,8 +866,8 @@ static void remap_alpha_endpoints(uint16* remapping, const optimize_alpha_params for (uint similarity_base = (uint)(1000 * (1.0f + weight)), total_frequency_normalizer = 0; remaining.size();) { const optimize_alpha_params::unpacked_endpoint& e_front = unpacked_endpoints[chosen.front()]; const optimize_alpha_params::unpacked_endpoint& e_back = unpacked_endpoints[chosen.back()]; - uint16 selected_index; - uint64 best_value = 0, selected_similarity_front, selected_similarity_back; + uint16 selected_index = 0; + uint64 best_value = 0, selected_similarity_front = 0, selected_similarity_back = 0; for (uint16 i = 0; i < remaining.size(); i++) { uint remaining_index = remaining[i]; const optimize_alpha_params::unpacked_endpoint& e_remaining = unpacked_endpoints[remaining_index]; @@ -991,7 +985,7 @@ void crn_comp::optimize_alpha_selectors() { for (uint16 i = 0; i < left; i++) { uint error = 0; for (uint64 selector = selectors[i] << 6, delta_selector = selected_selector, j = 0; j < 8; j++, selector >>= 6, delta_selector >>= 6) - error += D6[selector & 0xFC0 | delta_selector & 0x3F]; + error += D6[(selector & 0xFC0) | (delta_selector & 0x3F)]; if (error < min_error) { min_error = error; selected_index = i; @@ -1269,11 +1263,6 @@ bool crn_comp::compress_internal() { return true; } -bool crn_comp::compress_init(const crn_comp_params& params) { - params; - return true; -} - bool crn_comp::compress_pass(const crn_comp_params& params, float* pEffective_bitrate) { clear(); diff --git a/crnlib/crn_comp.h b/crnlib/crn_comp.h index 49ab4fe..14d03de 100644 --- a/crnlib/crn_comp.h +++ b/crnlib/crn_comp.h @@ -21,7 +21,7 @@ class crn_comp : public itexture_comp { virtual const char* get_ext() const { return "CRN"; } - virtual bool compress_init(const crn_comp_params& params); + virtual bool compress_init(const crn_comp_params&) { return true; }; virtual bool compress_pass(const crn_comp_params& params, float* pEffective_bitrate); virtual void compress_deinit(); diff --git a/crnlib/crn_dxt1.cpp b/crnlib/crn_dxt1.cpp index de488ec..4629a7c 100644 --- a/crnlib/crn_dxt1.cpp +++ b/crnlib/crn_dxt1.cpp @@ -1625,8 +1625,6 @@ void dxt1_endpoint_optimizer::try_combinatorial_encoding() { // The fourth (transparent) color in 3 color "transparent" blocks is black, which can be optionally exploited for small gains in DXT1 mode if the caller // doesn't actually use alpha. (But not in DXT5 mode, because 3-color blocks aren't permitted by GPU's for DXT5.) bool dxt1_endpoint_optimizer::try_alpha_as_black_optimization() { - const params* pOrig_params = m_pParams; - pOrig_params; results* pOrig_results = m_pResults; uint num_dark_colors = 0; diff --git a/crnlib/crn_dxt_hc.cpp b/crnlib/crn_dxt_hc.cpp index 94b473f..edcd5ea 100644 --- a/crnlib/crn_dxt_hc.cpp +++ b/crnlib/crn_dxt_hc.cpp @@ -231,7 +231,7 @@ bool dxt_hc::compress( return true; } -void dxt_hc::determine_tiles_task(uint64 data, void* pData_ptr) { +void dxt_hc::determine_tiles_task(uint64 data, void*) { uint num_tasks = m_pTask_pool->get_num_threads() + 1; uint offsets[9] = {0, 16, 32, 48, 0, 32, 64, 96, 64}; uint8 tiles[8][4] = {{8}, {6, 7}, {4, 5}, {6, 1, 3}, {7, 0, 2}, {4, 2, 3}, {5, 0, 1}, {0, 2, 1, 3}}; @@ -376,7 +376,7 @@ void dxt_hc::determine_tiles_task(uint64 data, void* pData_ptr) { } } -void dxt_hc::determine_tiles_task_etc(uint64 data, void* pData_ptr) { +void dxt_hc::determine_tiles_task_etc(uint64 data, void*) { uint num_tasks = m_pTask_pool->get_num_threads() + 1; uint offsets[5] = {0, 8, 16, 24, 16}; uint8 tiles[3][2] = {{4}, {2, 3}, {0, 1}}; @@ -399,11 +399,11 @@ void dxt_hc::determine_tiles_task_etc(uint64 data, void* pData_ptr) { for (uint level = 0; level < m_params.m_num_levels; level++) { float weight = m_params.m_levels[level].m_weight; - uint b = m_params.m_levels[level].m_first_block + m_params.m_levels[level].m_num_blocks * data / num_tasks & ~1; - uint bEnd = m_params.m_levels[level].m_first_block + m_params.m_levels[level].m_num_blocks * (data + 1) / num_tasks & ~1; + uint b = (m_params.m_levels[level].m_first_block + m_params.m_levels[level].m_num_blocks * data / num_tasks) & ~1; + uint bEnd = (m_params.m_levels[level].m_first_block + m_params.m_levels[level].m_num_blocks * (data + 1) / num_tasks) & ~1; for (; b < bEnd; b += 2) { for (uint p = 0; p < 16; p++) - tilePixels[p] = m_blocks[b >> 1][p << 2 & 12 | p >> 2]; + tilePixels[p] = m_blocks[b >> 1][(p << 2 & 12) | p >> 2]; memcpy(tilePixels + 16, m_blocks[b >> 1], 64); for (uint t = 0; t < 5; t++) { params.m_pSrc_pixels = tilePixels + offsets[t]; @@ -483,14 +483,12 @@ void dxt_hc::determine_tiles_task_etc(uint64 data, void* pData_ptr) { } } -void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr) { - pData_ptr; +void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void*) { const uint thread_index = static_cast(data); if (!m_has_color_blocks) return; - uint total_empty_clusters = 0; for (uint cluster_index = 0; cluster_index < m_color_clusters.size(); cluster_index++) { if (m_canceled) return; @@ -580,7 +578,7 @@ void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr } } -void dxt_hc::determine_color_endpoint_codebook_task_etc(uint64 data, void* pData_ptr) { +void dxt_hc::determine_color_endpoint_codebook_task_etc(uint64 data, void*) { uint num_tasks = m_pTask_pool->get_num_threads() + 1; uint8 delta[8][2] = { {2, 8}, {5, 17}, {9, 29}, {13, 42}, {18, 60}, {24, 80}, {33, 106}, {47, 183} }; int scan[] = {-1, 0, 1}; @@ -681,7 +679,7 @@ void dxt_hc::determine_color_endpoints() { if (m_endpoint_indices[b].reference >> 1) { color_quad_u8 mirror[16]; for (uint p = 0; p < 16; p++) - mirror[p] = m_blocks[b >> 1][p << 2 & 12 | p >> 2]; + mirror[p] = m_blocks[b >> 1][(p << 2 & 12) | p >> 2]; memcpy(m_blocks[b >> 1], mirror, 64); } m_endpoint_indices[b].reference = 0; @@ -693,8 +691,7 @@ void dxt_hc::determine_color_endpoints() { m_pTask_pool->join(); } -void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr) { - pData_ptr; +void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void*) { const uint thread_index = static_cast(data); for (uint cluster_index = 0; cluster_index < m_alpha_clusters.size(); cluster_index++) { @@ -923,7 +920,7 @@ void dxt_hc::create_color_selector_codebook() { } uint num_tasks = m_pTask_pool->get_num_threads() + 1; - crnlib::vector> selector_details(num_tasks); + crnlib::vector > selector_details(num_tasks); for (uint t = 0; t < num_tasks; t++) { selector_details[t].resize(m_color_selectors.size()); m_pTask_pool->queue_object_task(this, &dxt_hc::create_color_selector_codebook_task, t, &selector_details[t]); @@ -1037,7 +1034,7 @@ void dxt_hc::create_alpha_selector_codebook() { } uint num_tasks = m_pTask_pool->get_num_threads() + 1; - crnlib::vector> selector_details(num_tasks); + crnlib::vector > selector_details(num_tasks); for (uint t = 0; t < num_tasks; t++) { selector_details[t].resize(m_alpha_selectors.size()); m_pTask_pool->queue_object_task(this, &dxt_hc::create_alpha_selector_codebook_task, t, &selector_details[t]); diff --git a/crnlib/crn_dxt_image.cpp b/crnlib/crn_dxt_image.cpp index b8498f2..8abe3aa 100644 --- a/crnlib/crn_dxt_image.cpp +++ b/crnlib/crn_dxt_image.cpp @@ -863,7 +863,7 @@ void dxt_image::set_pixel(uint x, uint y, const color_quad_u8& c, bool perceptua uint best_selector = 0; for (uint i = 0; i < cDXT5SelectorValues; i++) { - uint error = labs(values[i] - c[comp_index]); // no need to square + uint error = labs((int)values[i] - (int)c[comp_index]); // no need to square if (error < best_error) { best_error = error; @@ -1096,7 +1096,7 @@ void dxt_image::set_block_pixels( } if (m_format == cDXT5A) - ryg_dxt::sCompressDXT5ABlock((sU8*)pElement, (const sU32*)pixels, 0); + ryg_dxt::sCompressDXT5ABlock((sU8*)pElement, (const sU32*)pixels); else ryg_dxt::sCompressDXTBlock((sU8*)pElement, (const sU32*)pixels, m_format == cDXT5, 0); } else if ((p.m_compressor == cCRNDXTCompressorCRNF) && (m_format != cDXT1A)) { diff --git a/crnlib/crn_dynamic_string.cpp b/crnlib/crn_dynamic_string.cpp index e7ce807..71d37fe 100644 --- a/crnlib/crn_dynamic_string.cpp +++ b/crnlib/crn_dynamic_string.cpp @@ -6,10 +6,8 @@ namespace crnlib { dynamic_string g_empty_dynamic_string; -dynamic_string::dynamic_string(eVarArg dummy, const char* p, ...) +dynamic_string::dynamic_string(eVarArg, const char* p, ...) : m_buf_size(0), m_len(0), m_pStr(NULL) { - dummy; - CRNLIB_ASSERT(p); va_list args; diff --git a/crnlib/crn_etc.cpp b/crnlib/crn_etc.cpp index 3f144aa..53d6c73 100644 --- a/crnlib/crn_etc.cpp +++ b/crnlib/crn_etc.cpp @@ -1014,7 +1014,7 @@ bool etc1_optimizer::evaluate_solution_fast(const etc1_solution_coordinates& coo const color_quad_u8* pSrc_pixels = m_pParams->m_pSrc_pixels; if ((m_pSorted_luma[n - 1] * 2) < block_inten_midpoints[0]) { if (block_inten[0] > m_pSorted_luma[n - 1]) { - const uint min_error = labs(block_inten[0] - m_pSorted_luma[n - 1]); + const uint min_error = block_inten[0] - m_pSorted_luma[n - 1]; if (min_error >= trial_solution.m_error) continue; } @@ -1025,7 +1025,7 @@ bool etc1_optimizer::evaluate_solution_fast(const etc1_solution_coordinates& coo total_error += color::elucidian_distance(block_colors[0], pSrc_pixels[c], false); } else if ((m_pSorted_luma[0] * 2) >= block_inten_midpoints[2]) { if (m_pSorted_luma[0] > block_inten[3]) { - const uint min_error = labs(m_pSorted_luma[0] - block_inten[3]); + const uint min_error = m_pSorted_luma[0] - block_inten[3]; if (min_error >= trial_solution.m_error) continue; } @@ -1117,9 +1117,7 @@ static void DitherBlock(color_quad_u8* dest, const color_quad_u8* block) { } static uint etc1_decode_value(uint diff, uint inten, uint selector, uint packed_c) { - const uint limit = diff ? 32 : 16; - limit; - CRNLIB_ASSERT((diff < 2) && (inten < 8) && (selector < 4) && (packed_c < limit)); + CRNLIB_ASSERT((diff < 2) && (inten < 8) && (selector < 4) && (packed_c < (diff ? 32 : 16))); int c; if (diff) c = (packed_c >> 2) | (packed_c << 3); @@ -1137,7 +1135,7 @@ void pack_etc1_block_init() { for (uint inten = 0; inten < 8; inten++) { for (uint selector = 0; selector < 4; selector++) { const uint inverse_table_index = diff + (inten << 1) + (selector << 4); - for (uint color = 0; color < 256; color++) { + for (int color = 0; color < 256; color++) { uint best_error = cUINT32_MAX, best_packed_c = 0; for (uint packed_c = 0; packed_c < limit; packed_c++) { int v = etc1_decode_value(diff, inten, selector, packed_c); diff --git a/crnlib/crn_file_utils.cpp b/crnlib/crn_file_utils.cpp index 415f979..f763901 100644 --- a/crnlib/crn_file_utils.cpp +++ b/crnlib/crn_file_utils.cpp @@ -409,8 +409,9 @@ bool file_utils::remove_extension(dynamic_string& filename) { } bool file_utils::create_path(const dynamic_string& fullpath) { +#ifdef WIN32 bool got_unc = false; - got_unc; +#endif dynamic_string cur_path; const int l = fullpath.get_len(); diff --git a/crnlib/crn_helpers.h b/crnlib/crn_helpers.h index b9062a0..b18f3b3 100644 --- a/crnlib/crn_helpers.h +++ b/crnlib/crn_helpers.h @@ -46,7 +46,7 @@ inline void construct_array(T* p, uint n, const U& init) { template inline void destruct(T* p) { - p; + (void)p; p->~T(); } diff --git a/crnlib/crn_image.h b/crnlib/crn_image.h index b545b99..51ed4d9 100644 --- a/crnlib/crn_image.h +++ b/crnlib/crn_image.h @@ -335,7 +335,7 @@ class image { uint height = math::minimum(m_height - dst_y, src.get_height() - src_y); bool success = unclipped_blit(src_x, src_y, width, height, dst_x, dst_y, src); - success; + (void)success; CRNLIB_ASSERT(success); return true; @@ -360,7 +360,7 @@ class image { src_rect.get_left(), src_rect.get_top(), math::minimum(src_rect.get_width(), dst_rect.get_width()), math::minimum(src_rect.get_height(), dst_rect.get_height()), dst_rect.get_left(), dst_rect.get_top(), src); - success; + (void)success; CRNLIB_ASSERT(success); return true; diff --git a/crnlib/crn_image_utils.cpp b/crnlib/crn_image_utils.cpp index bad8b30..b032b7f 100644 --- a/crnlib/crn_image_utils.cpp +++ b/crnlib/crn_image_utils.cpp @@ -752,8 +752,8 @@ double compute_ssim(const image_u8& a, const image_u8& b, int channel_index) { } void print_ssim(const image_u8& src_img, const image_u8& dst_img) { - src_img; - dst_img; + (void)src_img; + (void)dst_img; //double y_ssim = compute_ssim(src_img, dst_img, -1); //console::printf("Luma MSSIM: %f, Scaled: %f", y_ssim, (y_ssim - .8f) / .2f); diff --git a/crnlib/crn_jpgd.cpp b/crnlib/crn_jpgd.cpp index ec85ad9..762f884 100644 --- a/crnlib/crn_jpgd.cpp +++ b/crnlib/crn_jpgd.cpp @@ -587,7 +587,7 @@ inline int jpeg_decoder::huff_decode(huff_tables* pH, int& extra_bits) { // Tables and macro used to fully decode the DPCM differences. static const int s_extend_test[16] = {0, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000}; -static const int s_extend_offset[16] = {0, ((-1) << 1) + 1, ((-1) << 2) + 1, ((-1) << 3) + 1, ((-1) << 4) + 1, ((-1) << 5) + 1, ((-1) << 6) + 1, ((-1) << 7) + 1, ((-1) << 8) + 1, ((-1) << 9) + 1, ((-1) << 10) + 1, ((-1) << 11) + 1, ((-1) << 12) + 1, ((-1) << 13) + 1, ((-1) << 14) + 1, ((-1) << 15) + 1}; +static const int s_extend_offset[16] = {0, 1 - (1 << 1), 1 - (1 << 2), 1 - (1 << 3), 1 - (1 << 4), 1 - (1 << 5), 1 - (1 << 6), 1 - (1 << 7), 1 - (1 << 8), 1 - (1 << 9), 1 - (1 << 10), 1 - (1 << 11), 1 - (1 << 12), 1 - (1 << 13), 1 - (1 << 14), 1 - (1 << 15)}; static const int s_extend_mask[] = {0, (1 << 0), (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9), (1 << 10), (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15), (1 << 16)}; // The logical AND's in this macro are to shut up static code analysis (aren't really necessary - couldn't find another way to do this) #define JPGD_HUFF_EXTEND(x, s) (((x) < s_extend_test[s & 15]) ? ((x) + s_extend_offset[s & 15]) : (x)) diff --git a/crnlib/crn_ktx_texture.cpp b/crnlib/crn_ktx_texture.cpp index e61c72d..5b398f6 100644 --- a/crnlib/crn_ktx_texture.cpp +++ b/crnlib/crn_ktx_texture.cpp @@ -362,9 +362,6 @@ bool ktx_texture::read_from_stream(data_stream_serializer& serializer) { if ((!mip0_row_blocks) || (!mip0_col_blocks)) return false; - const uint mip0_depth = CRNLIB_MAX(1, m_header.m_pixelDepth); - mip0_depth; - bool has_valid_image_size_fields = true; bool disable_mip_and_cubemap_padding = false; diff --git a/crnlib/crn_mem.cpp b/crnlib/crn_mem.cpp index 2e52d5b..d32ea08 100644 --- a/crnlib/crn_mem.cpp +++ b/crnlib/crn_mem.cpp @@ -56,9 +56,7 @@ static mem_stat_t update_total_allocated(int block_delta, mem_stat_t byte_delta) } #endif // CRNLIB_MEM_STATS -static void* crnlib_default_realloc(void* p, size_t size, size_t* pActual_size, bool movable, void* pUser_data) { - pUser_data; - +static void* crnlib_default_realloc(void* p, size_t size, size_t* pActual_size, bool movable, void*) { void* p_new; if (!p) { @@ -106,90 +104,12 @@ static void* crnlib_default_realloc(void* p, size_t size, size_t* pActual_size, return p_new; } -static size_t crnlib_default_msize(void* p, void* pUser_data) { - pUser_data; +static size_t crnlib_default_msize(void* p, void*) { return p ? _msize(p) : 0; } -#if 0 - static __declspec(thread) void *g_pBuf; - static __declspec(thread) size_t g_buf_size; - static __declspec(thread) size_t g_buf_ofs; - - static size_t crnlib_nofree_msize(void* p, void* pUser_data) - { - pUser_data; - return p ? ((const size_t*)p)[-1] : 0; - } - - static void* crnlib_nofree_realloc(void* p, size_t size, size_t* pActual_size, bool movable, void* pUser_data) - { - pUser_data; - - void* p_new; - - if (!p) - { - size = math::align_up_value(size, CRNLIB_MIN_ALLOC_ALIGNMENT); - size_t actual_size = sizeof(size_t)*2 + size; - size_t num_remaining = g_buf_size - g_buf_ofs; - if (num_remaining < actual_size) - { - g_buf_size = CRNLIB_MAX(actual_size, 32*1024*1024); - g_buf_ofs = 0; - g_pBuf = malloc(g_buf_size); - if (!g_pBuf) - return NULL; - } - - p_new = (uint8*)g_pBuf + g_buf_ofs; - ((size_t*)p_new)[1] = size; - p_new = (size_t*)p_new + 2; - g_buf_ofs += actual_size; - - if (pActual_size) - *pActual_size = size; - - CRNLIB_ASSERT(crnlib_nofree_msize(p_new, NULL) == size); - } - else if (!size) - { - if (pActual_size) - *pActual_size = 0; - p_new = NULL; - } - else - { - size_t cur_size = crnlib_nofree_msize(p, NULL); - p_new = p; - - if (!movable) - return NULL; - - if (size > cur_size) - { - p_new = crnlib_nofree_realloc(NULL, size, NULL, true, NULL); - if (!p_new) - return NULL; - - memcpy(p_new, p, cur_size); - - cur_size = size; - } - - if (pActual_size) - *pActual_size = cur_size; - } - - return p_new; - } - - static crn_realloc_func g_pRealloc = crnlib_nofree_realloc; - static crn_msize_func g_pMSize = crnlib_nofree_msize; -#else static crn_realloc_func g_pRealloc = crnlib_default_realloc; static crn_msize_func g_pMSize = crnlib_default_msize; -#endif static void* g_pUser_data; void crnlib_mem_error(const char* p_msg) { diff --git a/crnlib/crn_miniz.cpp b/crnlib/crn_miniz.cpp index 2a246ba..ca46fd7 100644 --- a/crnlib/crn_miniz.cpp +++ b/crnlib/crn_miniz.cpp @@ -2310,7 +2310,7 @@ void* tdefl_write_image_to_png_file_in_memory(const void* pImage, int w, int h, *pLen_out = out_buf.m_size - 41; { mz_uint8 pnghdr[41] = {0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, - 0, 0, (mz_uint8)(w >> 8), (mz_uint8)w, 0, 0, (mz_uint8)(h >> 8), (mz_uint8)h, 8, "\0\0\04\02\06"[num_chans], 0, 0, 0, 0, 0, 0, 0, + 0, 0, (mz_uint8)(w >> 8), (mz_uint8)w, 0, 0, (mz_uint8)(h >> 8), (mz_uint8)h, 8, (mz_uint8)"\0\0\04\02\06"[num_chans], 0, 0, 0, 0, 0, 0, 0, (mz_uint8)(*pLen_out >> 24), (mz_uint8)(*pLen_out >> 16), (mz_uint8)(*pLen_out >> 8), (mz_uint8)*pLen_out, 0x49, 0x44, 0x41, 0x54}; c = (mz_uint32)mz_crc32(MZ_CRC32_INIT, pnghdr + 12, 17); for (i = 0; i < 4; ++i, c <<= 8) diff --git a/crnlib/crn_mipmapped_texture.cpp b/crnlib/crn_mipmapped_texture.cpp index 2986441..d7e0770 100644 --- a/crnlib/crn_mipmapped_texture.cpp +++ b/crnlib/crn_mipmapped_texture.cpp @@ -169,10 +169,7 @@ bool mip_level::unpack_from_dxt(bool uncook) { return false; image_u8* pNew_img = crnlib_new(); - image_u8* pImg = get_unpacked_image(*pNew_img, uncook ? cUnpackFlagUncook : 0); - pImg; - - CRNLIB_ASSERT(pImg == pNew_img); + CRNLIB_ASSERT(get_unpacked_image(*pNew_img, uncook ? cUnpackFlagUncook : 0) == pNew_img); assign(pNew_img, PIXEL_FMT_INVALID, m_orient_flags); return true; @@ -2590,7 +2587,7 @@ bool mipmapped_texture::read_from_stream(data_stream_serializer& serializer, tex bool success = false; if (!texture_file_types::supports_mipmaps(file_format)) { - success = read_regular_image(serializer, file_format); + success = read_regular_image(serializer); } else { switch (file_format) { case texture_file_types::cFormatDDS: { @@ -2623,9 +2620,7 @@ bool mipmapped_texture::read_from_stream(data_stream_serializer& serializer, tex return success; } -bool mipmapped_texture::read_regular_image(data_stream_serializer& serializer, texture_file_types::format file_format) { - file_format; - +bool mipmapped_texture::read_regular_image(data_stream_serializer& serializer) { image_u8* pImg = crnlib_new(); bool status = image_utils::read_from_stream(*pImg, serializer, 0); if (!status) { diff --git a/crnlib/crn_mipmapped_texture.h b/crnlib/crn_mipmapped_texture.h index af44902..837a206 100644 --- a/crnlib/crn_mipmapped_texture.h +++ b/crnlib/crn_mipmapped_texture.h @@ -321,7 +321,7 @@ class mipmapped_texture { inline void set_last_error(const char* p) const { m_last_error = p; } void free_all_mips(); - bool read_regular_image(data_stream_serializer& serializer, texture_file_types::format file_format); + bool read_regular_image(data_stream_serializer& serializer); bool write_regular_image(const char* pFilename, uint32 image_write_flags); bool read_dds_internal(data_stream_serializer& serializer); void print_crn_comp_params(const crn_comp_params& p); diff --git a/crnlib/crn_qdxt1.cpp b/crnlib/crn_qdxt1.cpp index 836f325..ebbabbd 100644 --- a/crnlib/crn_qdxt1.cpp +++ b/crnlib/crn_qdxt1.cpp @@ -383,8 +383,7 @@ bool qdxt1::update_progress(uint value, uint max_value) { return true; } -void qdxt1::pack_endpoints_task(uint64 data, void* pData_ptr) { - pData_ptr; +void qdxt1::pack_endpoints_task(uint64 data, void*) { const uint thread_index = static_cast(data); crnlib::vector cluster_pixels; diff --git a/crnlib/crn_qdxt5.cpp b/crnlib/crn_qdxt5.cpp index 28a4000..69d0224 100644 --- a/crnlib/crn_qdxt5.cpp +++ b/crnlib/crn_qdxt5.cpp @@ -358,8 +358,7 @@ bool qdxt5::update_progress(uint value, uint max_value) { return true; } -void qdxt5::pack_endpoints_task(uint64 data, void* pData_ptr) { - pData_ptr; +void qdxt5::pack_endpoints_task(uint64 data, void*) { const uint thread_index = static_cast(data); crnlib::vector cluster_pixels; diff --git a/crnlib/crn_resample_filters.cpp b/crnlib/crn_resample_filters.cpp index 8c52cb0..6b4ef40 100644 --- a/crnlib/crn_resample_filters.cpp +++ b/crnlib/crn_resample_filters.cpp @@ -4,7 +4,9 @@ #include "crn_resample_filters.h" namespace crnlib { +#ifndef M_PI #define M_PI 3.14159265358979323846 +#endif // To add your own filter, insert the new function below and update the filter table. // There is no need to make the filter function particularly fast, because it's diff --git a/crnlib/crn_resampler.cpp b/crnlib/crn_resampler.cpp index f198d32..d183475 100644 --- a/crnlib/crn_resampler.cpp +++ b/crnlib/crn_resampler.cpp @@ -8,7 +8,7 @@ namespace crnlib { #define resampler_assert CRNLIB_ASSERT static inline int resampler_range_check(int v, int h) { - h; + (void)h; resampler_assert((v >= 0) && (v < h)); return v; } diff --git a/crnlib/crn_rg_etc1.cpp b/crnlib/crn_rg_etc1.cpp index 77b9ef1..9afe5c5 100644 --- a/crnlib/crn_rg_etc1.cpp +++ b/crnlib/crn_rg_etc1.cpp @@ -1457,37 +1457,34 @@ bool unpack_etc2_color(const void* pBlock, unsigned int* pDst_pixels_rgba, bool color_quad_u8* pDst = reinterpret_cast(pDst_pixels_rgba); const etc1_block& block = *static_cast(pBlock); const uint8* B = block.m_bytes; - const bool rOverflow = (int8(B[0] << 5) >> 5) + (B[0] >> 3) & 0x20; - const bool gOverflow = (int8(B[1] << 5) >> 5) + (B[1] >> 3) & 0x20; + const bool rOverflow = ((int8(B[0] << 5) >> 5) + (B[0] >> 3)) & 0x20; + const bool gOverflow = ((int8(B[1] << 5) >> 5) + (B[1] >> 3)) & 0x20; if (rOverflow || gOverflow) { color_quad_u8 block_colors[4]; + uint8 unpacked[3]; if (rOverflow) { - uint8 unpacked[3] = { - B[0] & 0x3 | B[0] >> 1 & 0xC | B[2] & 0xF0, - B[1] >> 4 | B[2] << 4, - B[1] & 0xF | B[3] & 0xF0, - }; - uint8 delta = g_etc2_modifier_table[B[3] & 1 | B[3] >> 1 & 6]; + unpacked[0] = (B[0] & 0x3) | (B[0] >> 1 & 0xC) | (B[2] & 0xF0); + unpacked[1] = B[1] >> 4 | B[2] << 4; + unpacked[2] = (B[1] & 0xF) | (B[3] & 0xF0); + uint8 delta = g_etc2_modifier_table[(B[3] & 1) | (B[3] >> 1 & 6)]; for (uint c = 0; c < 3; c++) { - block_colors[2][c] = unpacked[c] << 4 | unpacked[c] & 0xF; - block_colors[1][c] = unpacked[c] >> 4 | unpacked[c] & 0xF0; + block_colors[2][c] = unpacked[c] << 4 | (unpacked[c] & 0xF); + block_colors[1][c] = unpacked[c] >> 4 | (unpacked[c] & 0xF0); block_colors[0][c] = math::maximum(0, block_colors[1][c] - delta); block_colors[3][c] = math::minimum(255, block_colors[1][c] + delta); } } else { - uint8 unpacked[3] = { - B[0] >> 3 & 0xF | B[2] << 1 & 0xF0, - B[1] >> 4 & 0x1 | B[0] << 1 & 0xE | B[3] >> 3 & 0x10 | B[2] << 5, - B[2] >> 7 | B[1] << 1 & 0x6 | B[1] & 0x8 | B[3] << 1 & 0xF0, - }; - uint8 modifier = B[3] & 4 | B[3] << 1 & 2 | 1; + unpacked[0] = (B[0] >> 3 & 0xF) | (B[2] << 1 & 0xF0); + unpacked[1] = (B[1] >> 4 & 0x1) | (B[0] << 1 & 0xE) | (B[3] >> 3 & 0x10) | B[2] << 5; + unpacked[2] = B[2] >> 7 | (B[1] << 1 & 0x6) | (B[1] & 0x8) | (B[3] << 1 & 0xF0); + uint8 modifier = (B[3] & 4) | (B[3] << 1 & 2) | 1; for (int d = 0, c = 0; !d && c < 3; c++, modifier &= d < 0 ? 6 : 7) d = (unpacked[c] & 0xF) - (unpacked[c] >> 4); uint8 delta = g_etc2_modifier_table[modifier]; for (uint c = 0; c < 3; c++) { - uint8 c0 = unpacked[c] << 4 | unpacked[c] & 0xF; - uint8 c1 = unpacked[c] >> 4 | unpacked[c] & 0xF0; + uint8 c0 = unpacked[c] << 4 | (unpacked[c] & 0xF); + uint8 c1 = unpacked[c] >> 4 | (unpacked[c] & 0xF0); block_colors[0][c] = math::maximum(0, c1 - delta); block_colors[1][c] = math::minimum(255, c1 + delta); block_colors[2][c] = math::minimum(255, c0 + delta); @@ -1503,15 +1500,15 @@ bool unpack_etc2_color(const void* pBlock, unsigned int* pDst_pixels_rgba, bool } } else { int16 base[3], dj[3], di[3], color[3]; - base[0] = B[0] << 1 & 0xFC | B[0] >> 5 & 3; - base[1] = B[0] << 7 & 0x80 | B[1] & 0x7E | B[0] & 1; - base[2] = B[1] << 7 & 0x80 | B[2] << 2 & 0x60 | B[2] << 3 & 0x18 | B[3] >> 5 & 4 | B[1] << 1 & 2 | B[2] >> 4 & 1; - di[0] = (B[5] << 5 & 0xE0 | B[6] >> 3 & 0x1C | B[5] >> 1 & 0x3) - base[0]; - di[1] = (B[6] << 3 & 0xF8 | B[7] >> 5 & 0x6 | B[6] >> 4 & 0x1) - base[1]; - di[2] = (B[7] << 2 & 0xFC | B[7] >> 4 & 0x3) - base[2]; - dj[0] = (B[3] << 1 & 0xF8 | B[3] << 2 & 0x4 | B[3] >> 5 & 0x3) - base[0]; - dj[1] = (B[4] & 0xFE | B[4] >> 7) - base[1]; - dj[2] = (B[4] << 7 & 0x80 | B[5] >> 1 & 0x7C | B[4] << 1 & 0x2 | B[5] >> 7) - base[2]; + base[0] = (B[0] << 1 & 0xFC) | (B[0] >> 5 & 3); + base[1] = (B[0] << 7 & 0x80) | (B[1] & 0x7E) | (B[0] & 1); + base[2] = (B[1] << 7 & 0x80) | (B[2] << 2 & 0x60) | (B[2] << 3 & 0x18) | (B[3] >> 5 & 4) | (B[1] << 1 & 2) | (B[2] >> 4 & 1); + di[0] = ((B[5] << 5 & 0xE0) | (B[6] >> 3 & 0x1C) | (B[5] >> 1 & 0x3)) - base[0]; + di[1] = ((B[6] << 3 & 0xF8) | (B[7] >> 5 & 0x6) | (B[6] >> 4 & 0x1)) - base[1]; + di[2] = ((B[7] << 2 & 0xFC) | (B[7] >> 4 & 0x3)) - base[2]; + dj[0] = ((B[3] << 1 & 0xF8) | (B[3] << 2 & 0x4) | (B[3] >> 5 & 0x3)) - base[0]; + dj[1] = ((B[4] & 0xFE) | B[4] >> 7) - base[1]; + dj[2] = ((B[4] << 7 & 0x80) | (B[5] >> 1 & 0x7C) | (B[4] << 1 & 0x2) | B[5] >> 7) - base[2]; for (uint c = 0; c < 3; c++) base[c] = (base[c] << 2) + 2; for (uint i = 0; i < 4; i++) { @@ -1539,7 +1536,7 @@ bool unpack_etc2_alpha(const void* pBlock, unsigned int* pDst_pixels_rgba, int c for (uint d = d0, j = 0; j < 4; j++, pDst++, d += 12) { int byte_offset = 2 + (d >> 3); int bit_offset = d & 7; - int s = B[byte_offset] >> 8 - bit_offset & 7; + int s = B[byte_offset] >> (8 - bit_offset) & 7; if (bit_offset < 3) s |= B[byte_offset - 1] << bit_offset & 7; pDst->c[comp_index] = values[s]; @@ -2045,7 +2042,7 @@ bool etc1_optimizer::evaluate_solution_fast(const etc1_solution_coordinates& coo const color_quad_u8* pSrc_pixels = m_pParams->m_pSrc_pixels; if ((m_pSorted_luma[n - 1] * 2) < block_inten_midpoints[0]) { if (block_inten[0] > m_pSorted_luma[n - 1]) { - const uint min_error = labs(block_inten[0] - m_pSorted_luma[n - 1]); + const uint min_error = block_inten[0] - m_pSorted_luma[n - 1]; if (min_error >= trial_solution.m_error) continue; } @@ -2056,7 +2053,7 @@ bool etc1_optimizer::evaluate_solution_fast(const etc1_solution_coordinates& coo total_error += block_colors[0].squared_distance_rgb(pSrc_pixels[c]); } else if ((m_pSorted_luma[0] * 2) >= block_inten_midpoints[2]) { if (m_pSorted_luma[0] > block_inten[3]) { - const uint min_error = labs(m_pSorted_luma[0] - block_inten[3]); + const uint min_error = m_pSorted_luma[0] - block_inten[3]; if (min_error >= trial_solution.m_error) continue; } @@ -2109,9 +2106,7 @@ bool etc1_optimizer::evaluate_solution_fast(const etc1_solution_coordinates& coo } static uint etc1_decode_value(uint diff, uint inten, uint selector, uint packed_c) { - const uint limit = diff ? 32 : 16; - limit; - RG_ETC1_ASSERT((diff < 2) && (inten < 8) && (selector < 4) && (packed_c < limit)); + RG_ETC1_ASSERT((diff < 2) && (inten < 8) && (selector < 4) && (packed_c < (diff ? 32 : 16))); int c; if (diff) c = (packed_c >> 2) | (packed_c << 3); @@ -2134,7 +2129,7 @@ void pack_etc1_block_init() { for (uint inten = 0; inten < 8; inten++) { for (uint selector = 0; selector < 4; selector++) { const uint inverse_table_index = diff + (inten << 1) + (selector << 4); - for (uint color = 0; color < 256; color++) { + for (int color = 0; color < 256; color++) { uint best_error = cUINT32_MAX, best_packed_c = 0; for (uint packed_c = 0; packed_c < limit; packed_c++) { int v = etc1_decode_value(diff, inten, selector, packed_c); @@ -2165,8 +2160,7 @@ void pack_etc1_block_init() { // Packs solid color blocks efficiently using a set of small precomputed tables. // For random 888 inputs, MSE results are better than Erricson's ETC1 packer in "slow" mode ~9.5% of the time, is slightly worse only ~.01% of the time, and is equal the rest of the time. -static uint64 pack_etc1_block_solid_color(etc1_block& block, const uint8* pColor, etc1_pack_params& pack_params) { - pack_params; +static uint64 pack_etc1_block_solid_color(etc1_block& block, const uint8* pColor) { RG_ETC1_ASSERT(g_etc1_inverse_lookup[0][255]); static uint s_next_comp[4] = {1, 2, 0, 1}; @@ -2245,12 +2239,10 @@ found_perfect_match: static uint pack_etc1_block_solid_color_constrained( etc1_optimizer::results& results, uint num_colors, const uint8* pColor, - etc1_pack_params& pack_params, bool use_diff, const color_quad_u8* pBase_color5_unscaled) { RG_ETC1_ASSERT(g_etc1_inverse_lookup[0][255]); - pack_params; static uint s_next_comp[4] = {1, 2, 0, 1}; uint best_error = cUINT32_MAX, best_i = 0; @@ -2404,7 +2396,7 @@ unsigned int pack_etc1_block(void* pETC1_block, const unsigned int* pSrc_pixels_ if (pSrc_pixels[r].m_u32 != first_pixel_u32) break; if (!r) - return static_cast(16 * pack_etc1_block_solid_color(dst_block, &pSrc_pixels[0].r, pack_params)); + return static_cast(16 * pack_etc1_block_solid_color(dst_block, &pSrc_pixels[0].r)); color_quad_u8 dithered_pixels[16]; if (pack_params.m_dithering) { @@ -2465,7 +2457,7 @@ unsigned int pack_etc1_block(void* pETC1_block, const unsigned int* pSrc_pixels_ if (subblock_pixels[r].m_u32 != subblock_pixel0_u32) break; if (!r) { - pack_etc1_block_solid_color_constrained(results[2], 8, &subblock_pixels[0].r, pack_params, !use_color4, (subblock && !use_color4) ? &results[0].m_block_color_unscaled : NULL); + pack_etc1_block_solid_color_constrained(results[2], 8, &subblock_pixels[0].r, !use_color4, (subblock && !use_color4) ? &results[0].m_block_color_unscaled : NULL); } } @@ -2654,7 +2646,7 @@ unsigned int pack_etc2_alpha(void* pBlock, const unsigned int* pSrc_pixels_rgba, for (int modifier_index = 0; modifier_index < 16; modifier_index++) { const int* modifier = g_etc2a_modifier_table[modifier_index]; int multiplier = math::clamp((results.m_first_endpoint - results.m_second_endpoint + modifier[7] + (modifier[7] >> 1)) / (modifier[7] << 1), 1, 15); - uint8 data[8] = {base_codeword, multiplier << 4 | modifier_index}, values[8]; + uint8 data[8] = {(uint8)base_codeword, (uint8)(multiplier << 4 | modifier_index)}, values[8]; for (int i = 0; i < 8; i++) values[i] = math::clamp(base_codeword + modifier[i] * multiplier, 0, 255); uint error = 0; @@ -2673,7 +2665,7 @@ unsigned int pack_etc2_alpha(void* pBlock, const unsigned int* pSrc_pixels_rgba, } } error += best_delta * best_delta; - data[byte_offset] |= best_s << 8 - bit_offset; + data[byte_offset] |= best_s << (8 - bit_offset); if (bit_offset < 3) data[byte_offset - 1] |= best_s >> bit_offset; } diff --git a/crnlib/crn_ryg_dxt.cpp b/crnlib/crn_ryg_dxt.cpp index 4d40710..4841eec 100644 --- a/crnlib/crn_ryg_dxt.cpp +++ b/crnlib/crn_ryg_dxt.cpp @@ -462,8 +462,7 @@ static void CompressColorBlock(sU8* dest, const sU32* src, sInt quality) { } // Alpha block compression (this is easy for a change) -static void CompressAlphaBlock(sU8* dest, const sU32* src, sInt quality) { - quality; +static void CompressAlphaBlock(sU8* dest, const sU32* src) { const Pixel* block = (const Pixel*)src; // find min/max color @@ -540,7 +539,7 @@ void sCompressDXTBlock(sU8* dest, const sU32* src, sBool alpha, sInt quality) { // if alpha specified, compress alpha as well if (alpha) { - CompressAlphaBlock(dest, src, quality); + CompressAlphaBlock(dest, src); dest += 8; } @@ -548,10 +547,10 @@ void sCompressDXTBlock(sU8* dest, const sU32* src, sBool alpha, sInt quality) { CompressColorBlock(dest, src, quality); } -void sCompressDXT5ABlock(sU8* dest, const sU32* src, sInt quality) { +void sCompressDXT5ABlock(sU8* dest, const sU32* src) { CRNLIB_ASSERT(Expand5[1]); - CompressAlphaBlock(dest, src, quality); + CompressAlphaBlock(dest, src); } } // namespace ryg_dxt diff --git a/crnlib/crn_ryg_dxt.hpp b/crnlib/crn_ryg_dxt.hpp index ab6b887..b2469e0 100644 --- a/crnlib/crn_ryg_dxt.hpp +++ b/crnlib/crn_ryg_dxt.hpp @@ -22,6 +22,6 @@ void sInitDXT(); // quality: 0=fastest (no dither), 1=medium (dither) void sCompressDXTBlock(sU8* dest, const sU32* src, sBool alpha, sInt quality); -void sCompressDXT5ABlock(sU8* dest, const sU32* src, sInt quality); +void sCompressDXT5ABlock(sU8* dest, const sU32* src); } // namespace ryg_dxt diff --git a/crnlib/crn_stb_image.cpp b/crnlib/crn_stb_image.cpp index e2ba450..1e999cb 100644 --- a/crnlib/crn_stb_image.cpp +++ b/crnlib/crn_stb_image.cpp @@ -743,8 +743,7 @@ static uint32 get32le(stbi* s) { static void getn(stbi* s, stbi_uc* buffer, int n) { #ifndef STBI_NO_STDIO if (s->img_file) { - size_t nr = fread(buffer, 1, n, s->img_file); - nr; + fread(buffer, 1, n, s->img_file); return; } #endif @@ -1712,13 +1711,11 @@ typedef uint8* (*resample_row_func)(uint8* out, uint8* in0, uint8* in1, #define div4(x) ((uint8)((x) >> 2)) -static uint8* resample_row_1(uint8* out, uint8* in_near, uint8* in_far, int w, int hs) { - out, in_far, w, hs; +static uint8* resample_row_1(uint8*, uint8* in_near, uint8*, int, int) { return in_near; } -static uint8* resample_row_v_2(uint8* out, uint8* in_near, uint8* in_far, int w, int hs) { - hs; +static uint8* resample_row_v_2(uint8* out, uint8* in_near, uint8* in_far, int w, int) { // need to generate two samples vertically for every one in input int i; for (i = 0; i < w; ++i) @@ -1726,8 +1723,7 @@ static uint8* resample_row_v_2(uint8* out, uint8* in_near, uint8* in_far, int w, return out; } -static uint8* resample_row_h_2(uint8* out, uint8* in_near, uint8* in_far, int w, int hs) { - hs, in_far; +static uint8* resample_row_h_2(uint8* out, uint8* in_near, uint8*, int w, int) { // need to generate two samples horizontally for every one in input int i; uint8* input = in_near; @@ -1751,8 +1747,7 @@ static uint8* resample_row_h_2(uint8* out, uint8* in_near, uint8* in_far, int w, #define div16(x) ((uint8)((x) >> 4)) -static uint8* resample_row_hv_2(uint8* out, uint8* in_near, uint8* in_far, int w, int hs) { - hs; +static uint8* resample_row_hv_2(uint8* out, uint8* in_near, uint8* in_far, int w, int) { // need to generate 2x2 samples for every one in input int i, t0, t1; if (w == 1) { @@ -1772,8 +1767,7 @@ static uint8* resample_row_hv_2(uint8* out, uint8* in_near, uint8* in_far, int w return out; } -static uint8* resample_row_generic(uint8* out, uint8* in_near, uint8* in_far, int w, int hs) { - in_far; +static uint8* resample_row_generic(uint8* out, uint8* in_near, uint8*, int w, int hs) { // resample with nearest-neighbor int i, j; for (i = 0; i < w; ++i) @@ -2723,8 +2717,7 @@ static int compute_transparency(png* z, uint8 tc[3], int out_n) { return 1; } -static int expand_palette(png* a, uint8* palette, int len, int pal_img_n) { - len; +static int expand_palette(png* a, uint8* palette, int pal_img_n) { uint32 i, pixel_count = a->s.img_x * a->s.img_y; uint8 *p, *temp_out, *orig = a->out; @@ -2926,7 +2919,7 @@ static int parse_png_file(png* z, int scan, int req_comp) { s->img_out_n = pal_img_n; if (req_comp >= 3) s->img_out_n = req_comp; - if (!expand_palette(z, palette, pal_len, s->img_out_n)) + if (!expand_palette(z, palette, s->img_out_n)) return 0; } stb_free(z->expanded); @@ -4020,7 +4013,7 @@ static float* hdr_load(stbi* s, int* x, int* y, int* comp, int req_comp) { if (c1 != 2 || c2 != 2 || (len & 0x80)) { // not run-length encoded, so we have to actually use THIS data as a decoded // pixel (note this can't be a valid pixel--one of RGB must be >= 128) - stbi_uc rgbe[4] = {c1, c2, len, get8(s)}; + stbi_uc rgbe[4] = {(stbi_uc)c1, (stbi_uc)c2, (stbi_uc)len, (stbi_uc)get8(s)}; hdr_convert(hdr_data, rgbe, req_comp); i = 1; j = 0; diff --git a/crnlib/crn_symbol_codec.cpp b/crnlib/crn_symbol_codec.cpp index 39fdece..8f92535 100644 --- a/crnlib/crn_symbol_codec.cpp +++ b/crnlib/crn_symbol_codec.cpp @@ -200,7 +200,7 @@ void adaptive_huffman_data_model::update() { status = prefix_coding::generate_decoder_tables(m_total_syms, &m_code_sizes[0], m_pDecode_tables, m_decoder_table_bits); CRNLIB_ASSERT(status); - status; + (void)status; m_update_cycle = (5 * m_update_cycle) >> 2; uint max_cycle = (m_total_syms + 6) << 3; // this was << 2 - which is ~12% slower but compresses around .5% better @@ -488,8 +488,7 @@ void adaptive_arith_data_model::clear() { m_probs.clear(); } -void adaptive_arith_data_model::init(bool encoding, uint total_syms) { - encoding; +void adaptive_arith_data_model::init(bool, uint total_syms) { if (!total_syms) { clear(); return; diff --git a/crnlib/crn_symbol_codec.h b/crnlib/crn_symbol_codec.h index 4789058..ea2dab2 100644 --- a/crnlib/crn_symbol_codec.h +++ b/crnlib/crn_symbol_codec.h @@ -174,7 +174,7 @@ class adaptive_arith_data_model { friend class symbol_codec; }; -#if (defined(_XBOX) || defined(_WIN64)) +#if defined(_WIN64) #define CRNLIB_SYMBOL_CODEC_USE_64_BIT_BUFFER 1 #else #define CRNLIB_SYMBOL_CODEC_USE_64_BIT_BUFFER 0 @@ -311,9 +311,7 @@ class symbol_codec { #define CRNLIB_SYMBOL_CODEC_USE_MACROS 1 -#ifdef _XBOX -#define CRNLIB_READ_BIG_ENDIAN_UINT32(p) *reinterpret_cast(p) -#elif defined(_MSC_VER) +#if defined(_MSC_VER) #define CRNLIB_READ_BIG_ENDIAN_UINT32(p) _byteswap_ulong(*reinterpret_cast(p)) #else #define CRNLIB_READ_BIG_ENDIAN_UINT32(p) utils::swap32(*reinterpret_cast(p)) diff --git a/crnlib/crn_threaded_clusterizer.h b/crnlib/crn_threaded_clusterizer.h index 4db1d28..cd2acf4 100644 --- a/crnlib/crn_threaded_clusterizer.h +++ b/crnlib/crn_threaded_clusterizer.h @@ -273,9 +273,7 @@ class threaded_clusterizer { compute_division(axis, centroid, vecs, indices, left_indices, right_indices); } - static bool generate_codebook_dummy_progress_callback(uint percentage_completed, void* pData) { - percentage_completed; - + static bool generate_codebook_dummy_progress_callback(uint, void* pData) { if (static_cast(pData)->m_canceled) return false; diff --git a/crnlib/crn_threaded_resampler.cpp b/crnlib/crn_threaded_resampler.cpp index 1b88c6d..b646d6d 100644 --- a/crnlib/crn_threaded_resampler.cpp +++ b/crnlib/crn_threaded_resampler.cpp @@ -36,8 +36,7 @@ void threaded_resampler::free_contrib_lists() { } } -void threaded_resampler::resample_x_task(uint64 data, void* pData_ptr) { - pData_ptr; +void threaded_resampler::resample_x_task(uint64 data, void*) { const uint thread_index = (uint)data; for (uint src_y = 0; src_y < m_pParams->m_src_height; src_y++) { @@ -138,9 +137,7 @@ void threaded_resampler::resample_x_task(uint64 data, void* pData_ptr) { } } -void threaded_resampler::resample_y_task(uint64 data, void* pData_ptr) { - pData_ptr; - +void threaded_resampler::resample_y_task(uint64 data, void*) { const uint thread_index = (uint)data; crnlib::vector tmp(m_pParams->m_dst_width); diff --git a/crnlib/crn_timer.h b/crnlib/crn_timer.h index 66979e6..e5b8b82 100644 --- a/crnlib/crn_timer.h +++ b/crnlib/crn_timer.h @@ -46,7 +46,7 @@ class timed_scope { timer m_tm; public: - inline timed_scope(char* pName = "timed_scope") + inline timed_scope(const char* pName = "timed_scope") : m_pName(pName) { m_tm.start(); } inline double get_elapsed_secs() const { return m_tm.get_elapsed_secs(); } diff --git a/crnlib/crn_traits.h b/crnlib/crn_traits.h index 233e1b5..60f5b68 100644 --- a/crnlib/crn_traits.h +++ b/crnlib/crn_traits.h @@ -63,8 +63,8 @@ struct scalar_type { static inline void construct(T** p) { memset(p, 0, sizeof(T*)); } static inline void construct(T** p, T* init) { *p = init; } static inline void construct_array(T** p, uint n) { memset(p, 0, sizeof(T*) * n); } - static inline void destruct(T** p) { p; } - static inline void destruct_array(T** p, uint n) { p, n; } + static inline void destruct(T**) {} + static inline void destruct_array(T**, uint) {} }; #define CRNLIB_DEFINE_BUILT_IN_TYPE(X) \ @@ -74,8 +74,8 @@ struct scalar_type { static inline void construct(X* p) { memset(p, 0, sizeof(X)); } \ static inline void construct(X* p, const X& init) { memcpy(p, &init, sizeof(X)); } \ static inline void construct_array(X* p, uint n) { memset(p, 0, sizeof(X) * n); } \ - static inline void destruct(X* p) { p; } \ - static inline void destruct_array(X* p, uint n) { p, n; } \ + static inline void destruct(X*) {} \ + static inline void destruct_array(X*, uint) {} \ }; CRNLIB_DEFINE_BUILT_IN_TYPE(bool) diff --git a/crnlib/crn_tree_clusterizer.h b/crnlib/crn_tree_clusterizer.h index 617cdbc..7c88769 100644 --- a/crnlib/crn_tree_clusterizer.h +++ b/crnlib/crn_tree_clusterizer.h @@ -377,10 +377,7 @@ class tree_clusterizer { new_right_child *= (1.0f / right_weight); left_child = new_left_child; - left_weight = left_weight; - right_child = new_right_child; - right_weight = right_weight; float total_variance = left_variance + right_variance; if (total_variance < .00001f) diff --git a/crnlib/crn_vec.h b/crnlib/crn_vec.h index 03f182f..c4199bc 100644 --- a/crnlib/crn_vec.h +++ b/crnlib/crn_vec.h @@ -748,9 +748,9 @@ struct scalar_type > { enum { cFlag = true }; static inline void construct(vec* p) {} static inline void construct(vec* p, const vec& init) { memcpy(p, &init, sizeof(vec)); } - static inline void construct_array(vec* p, uint n) { p, n; } - static inline void destruct(vec* p) { p; } - static inline void destruct_array(vec* p, uint n) { p, n; } + static inline void construct_array(vec*, uint) {} + static inline void destruct(vec*) {} + static inline void destruct_array(vec*, uint) {} }; } // namespace crnlib diff --git a/crnlib/crnlib.cpp b/crnlib/crnlib.cpp index 52e5d9c..b4c3d56 100644 --- a/crnlib/crnlib.cpp +++ b/crnlib/crnlib.cpp @@ -14,13 +14,11 @@ #include "crn_rg_etc1.h" namespace crnlib { -static void* realloc_func(void* p, size_t size, size_t* pActual_size, bool movable, void* pUser_data) { - pUser_data; +static void* realloc_func(void* p, size_t size, size_t* pActual_size, bool movable, void*) { return crnlib_realloc(p, size, pActual_size, movable); } -static size_t msize_func(void* p, void* pUser_data) { - pUser_data; +static size_t msize_func(void* p, void*) { return crnlib_msize(p); } diff --git a/inc/crn_decomp.h b/inc/crn_decomp.h index 9c3fdba..1f43e0c 100644 --- a/inc/crn_decomp.h +++ b/inc/crn_decomp.h @@ -64,16 +64,6 @@ enum eClear { cClear }; const uint32 cIntBits = 32U; -#ifdef _WIN64 -typedef uint64 ptr_bits; -#else -#ifdef __x86_64__ -typedef uint64 ptr_bits; -#else -typedef uint32 ptr_bits; -#endif -#endif - template struct int_traits { enum { cMin = crnd::cINT32_MIN, @@ -190,7 +180,6 @@ void construct_array(T* p, uint32 n, const U& init) { template inline void destruct(T* p) { - p; p->~T(); } @@ -223,8 +212,8 @@ struct scalar_type { static inline void construct(T** p) { memset(p, 0, sizeof(T*)); } static inline void construct(T** p, T* init) { *p = init; } static inline void construct_array(T** p, uint32 n) { memset(p, 0, sizeof(T*) * n); } - static inline void destruct(T** p) { p; } - static inline void destruct_array(T** p, uint32 n) { p, n; } + static inline void destruct(T**) {} + static inline void destruct_array(T**, uint32) {} }; #define CRND_DEFINE_BUILT_IN_TYPE(X) \ @@ -234,8 +223,8 @@ struct scalar_type { static inline void construct(X* p) { memset(p, 0, sizeof(X)); } \ static inline void construct(X* p, const X& init) { memcpy(p, &init, sizeof(X)); } \ static inline void construct_array(X* p, uint32 n) { memset(p, 0, sizeof(X) * n); } \ - static inline void destruct(X* p) { p; } \ - static inline void destruct_array(X* p, uint32 n) { p, n; } \ + static inline void destruct(X*) {} \ + static inline void destruct_array(X*, uint32) {} \ }; CRND_DEFINE_BUILT_IN_TYPE(bool) @@ -355,9 +344,7 @@ template inline void crnd_delete_array(T* p) { if (p) { const uint32 num = reinterpret_cast(p)[-1]; - const uint32 num_check = reinterpret_cast(p)[-2]; - num_check; - CRND_ASSERT(num && (num == ~num_check)); + CRND_ASSERT(num && (num == ~reinterpret_cast(p)[-2])); helpers::destruct_array(p, num); @@ -830,7 +817,7 @@ extern void vector_test(); // File: crnd_private.h namespace crnd { -const crn_header* crnd_get_header(crn_header& header, const void* pData, uint32 data_size); +const crn_header* crnd_get_header(const void* pData, uint32 data_size); } // namespace crnd @@ -1917,7 +1904,7 @@ void crnd_debug_break() { } void crnd_output_debug_string(const char* p) { - p; + (void)p; #ifdef CRND_DEVEL OutputDebugStringA(p); #endif @@ -1929,9 +1916,7 @@ void crnd_output_debug_string(const char* p) { namespace crnd { const uint32 MAX_POSSIBLE_BLOCK_SIZE = 0x7FFF0000U; -static void* crnd_default_realloc(void* p, size_t size, size_t* pActual_size, bool movable, void* pUser_data) { - pUser_data; - +static void* crnd_default_realloc(void* p, size_t size, size_t* pActual_size, bool movable, void*) { void* p_new; if (!p) { @@ -2029,13 +2014,13 @@ void* crnd_malloc(size_t size, size_t* pActual_size) { return NULL; } - CRND_ASSERT(((uint32)p_new & (CRND_MIN_ALLOC_ALIGNMENT - 1)) == 0); + CRND_ASSERT(((uint32) reinterpret_cast(p_new) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) == 0); return p_new; } void* crnd_realloc(void* p, size_t size, size_t* pActual_size, bool movable) { - if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { + if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { crnd_mem_error("crnd_realloc: bad ptr"); return NULL; } @@ -2051,7 +2036,7 @@ void* crnd_realloc(void* p, size_t size, size_t* pActual_size, bool movable) { if (pActual_size) *pActual_size = actual_size; - CRND_ASSERT(((uint32)p_new & (CRND_MIN_ALLOC_ALIGNMENT - 1)) == 0); + CRND_ASSERT(((uint32) reinterpret_cast(p_new) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) == 0); return p_new; } @@ -2060,7 +2045,7 @@ void crnd_free(void* p) { if (!p) return; - if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { + if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { crnd_mem_error("crnd_free: bad ptr"); return; } @@ -2072,7 +2057,7 @@ size_t crnd_msize(void* p) { if (!p) return 0; - if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { + if ((uint32) reinterpret_cast(p) & (CRND_MIN_ALLOC_ALIGNMENT - 1)) { crnd_mem_error("crnd_msize: bad ptr"); return 0; } @@ -2180,9 +2165,7 @@ uint32 crnd_get_bytes_per_dxt_block(crn_format fmt) { } // TODO: tmp_header isn't used/This function is a helper to support old headers. -const crn_header* crnd_get_header(crn_header& tmp_header, const void* pData, uint32 data_size) { - tmp_header; - +const crn_header* crnd_get_header(const void* pData, uint32 data_size) { if ((!pData) || (data_size < sizeof(crn_header))) return NULL; @@ -2207,8 +2190,7 @@ bool crnd_validate_file(const void* pData, uint32 data_size, crn_file_info* pFil if ((!pData) || (data_size < cCRNHeaderMinSize)) return false; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return false; @@ -2268,8 +2250,7 @@ bool crnd_get_texture_info(const void* pData, uint32 data_size, crn_texture_info if (pInfo->m_struct_size != sizeof(crn_texture_info)) return false; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return false; @@ -2292,8 +2273,7 @@ bool crnd_get_level_info(const void* pData, uint32 data_size, uint32 level_index if (pLevel_info->m_struct_size != sizeof(crn_level_info)) return false; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return false; @@ -2321,8 +2301,7 @@ const void* crnd_get_level_data(const void* pData, uint32 data_size, uint32 leve if ((!pData) || (data_size < cCRNHeaderMinSize)) return NULL; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return NULL; @@ -2346,8 +2325,7 @@ uint32 crnd_get_segmented_file_size(const void* pData, uint32 data_size) { if ((!pData) || (data_size < cCRNHeaderMinSize)) return false; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return false; @@ -2366,8 +2344,7 @@ bool crnd_create_segmented_file(const void* pData, uint32 data_size, void* pBase if ((!pData) || (data_size < cCRNHeaderMinSize)) return false; - crn_header tmp_header; - const crn_header* pHeader = crnd_get_header(tmp_header, pData, data_size); + const crn_header* pHeader = crnd_get_header(pData, data_size); if (!pHeader) return false; @@ -2971,7 +2948,7 @@ class crn_unpacker { inline bool is_valid() const { return m_magic == cMagicValue; } bool init(const void* pData, uint32 data_size) { - m_pHeader = crnd_get_header(m_tmp_header, pData, data_size); + m_pHeader = crnd_get_header(pData, data_size); if (!m_pHeader) return false; @@ -3005,7 +2982,6 @@ class crn_unpacker { const void* pSrc, uint32 src_size_in_bytes, void** pDst, uint32 dst_size_in_bytes, uint32 row_pitch_in_bytes, uint32 level_index) { - dst_size_in_bytes; #ifdef CRND_BUILD_DEBUG for (uint32 f = 0; f < m_pHeader->m_faces; f++) @@ -3077,7 +3053,6 @@ class crn_unpacker { const uint8* m_pData; uint32 m_data_size; - crn_header m_tmp_header; const crn_header* m_pHeader; symbol_codec m_codec; @@ -3198,16 +3173,16 @@ class crn_unpacker { for (uint32 j = 0; j < 32; j += 4) s ^= m_codec.decode(dm) << j; if (has_etc_color_blocks) { - for (uint32 selector = ~s & 0xAAAAAAAA | ~(s ^ s >> 1) & 0x55555555, t = 8, h = 0; h < 4; h++, t -= 15) { + for (uint32 selector = (~s & 0xAAAAAAAA) | (~(s ^ s >> 1) & 0x55555555), t = 8, h = 0; h < 4; h++, t -= 15) { for (uint32 w = 0; w < 4; w++, t += 4) { uint32 s0 = selector >> (w << 3 | h << 1); - m_color_selectors[i << 1] |= (s0 >> 1 & 1 | (s0 & 1) << 16) << (t & 15); + m_color_selectors[i << 1] |= ((s0 >> 1 & 1) | (s0 & 1) << 16) << (t & 15); uint32 s1 = selector >> (h << 3 | w << 1); - m_color_selectors[i << 1 | 1] |= (s1 >> 1 & 1 | (s1 & 1) << 16) << (t & 15); + m_color_selectors[i << 1 | 1] |= ((s1 >> 1 & 1) | (s1 & 1) << 16) << (t & 15); } } } else { - m_color_selectors[i] = (s ^ s << 1) & 0xAAAAAAAA | s >> 1 & 0x55555555; + m_color_selectors[i] = ((s ^ s << 1) & 0xAAAAAAAA) | (s >> 1 & 0x55555555); } } m_codec.stop_decoding(); @@ -3271,7 +3246,7 @@ class crn_unpacker { uint8 s_linear[8] = {}; uint8* data = (uint8*)m_alpha_selectors.begin(); for (uint i = 0; i < m_alpha_selectors.size(); i += 6, data += 12) { - for (uint s_group, p = 0; p < 16; p++) { + for (uint s_group = 0, p = 0; p < 16; p++) { s_group = p & 1 ? s_group >> 3 : s_linear[p >> 1] ^= m_codec.decode(dm); uint8 s = s_group & 7; if (s <= 3) @@ -3279,13 +3254,13 @@ class crn_unpacker { uint8 d = 3 * (p + 1); uint8 byte_offset = d >> 3; uint8 bit_offset = d & 7; - data[byte_offset] |= s << 8 - bit_offset; + data[byte_offset] |= s << (8 - bit_offset); if (bit_offset < 3) data[byte_offset - 1] |= s >> bit_offset; d += 9 * ((p & 3) - (p >> 2)); byte_offset = d >> 3; bit_offset = d & 7; - data[byte_offset + 6] |= s << 8 - bit_offset; + data[byte_offset + 6] |= s << (8 - bit_offset); if (bit_offset < 3) data[byte_offset + 5] |= s >> bit_offset; } @@ -3573,8 +3548,8 @@ class crn_unpacker { endpoint_reference = buffer.endpoint_reference; } else { reference_group = m_codec.decode(m_reference_encoding_dm); - endpoint_reference = reference_group & 3 | reference_group >> 2 & 12; - buffer.endpoint_reference = reference_group >> 2 & 3 | reference_group >> 4 & 12; + endpoint_reference = (reference_group & 3) | (reference_group >> 2 & 12); + buffer.endpoint_reference = (reference_group >> 2 & 3) | (reference_group >> 4 & 12); } if (!(endpoint_reference & 3)) { color_endpoint_index += m_codec.decode(m_endpoint_delta_dm[0]); @@ -3604,7 +3579,7 @@ class crn_unpacker { for (uint c = 0; diff && c < 3; c++) diff = e0[c] + 3 >= e1[c] && e1[c] + 4 >= e0[c] ? diff : 0; for (uint c = 0; c < 3; c++) - block_endpoint[c] = diff ? e0[c] << 3 | e1[c] - e0[c] & 7 : e0[c] << 3 & 0xF0 | e1[c] >> 1; + block_endpoint[c] = diff ? e0[c] << 3 | ((e1[c] - e0[c]) & 7) : (e0[c] << 3 & 0xF0) | e1[c] >> 1; block_endpoint[3] = e0[3] << 5 | e1[3] << 2 | diff << 1 | flip; pData[0] = *(uint32*)&block_endpoint; pData[1] = m_color_selectors[selector_index << 1 | flip]; @@ -3640,8 +3615,8 @@ class crn_unpacker { endpoint_reference = buffer.endpoint_reference; } else { reference_group = m_codec.decode(m_reference_encoding_dm); - endpoint_reference = reference_group & 3 | reference_group >> 2 & 12; - buffer.endpoint_reference = reference_group >> 2 & 3 | reference_group >> 4 & 12; + endpoint_reference = (reference_group & 3) | (reference_group >> 2 & 12); + buffer.endpoint_reference = (reference_group >> 2 & 3) | (reference_group >> 4 & 12); } if (!(endpoint_reference & 3)) { color_endpoint_index += m_codec.decode(m_endpoint_delta_dm[0]); @@ -3681,7 +3656,7 @@ class crn_unpacker { for (uint c = 0; diff && c < 3; c++) diff = e0[c] + 3 >= e1[c] && e1[c] + 4 >= e0[c] ? diff : 0; for (uint c = 0; c < 3; c++) - block_endpoint[c] = diff ? e0[c] << 3 | e1[c] - e0[c] & 7 : e0[c] << 3 & 0xF0 | e1[c] >> 1; + block_endpoint[c] = diff ? e0[c] << 3 | ((e1[c] - e0[c]) & 7) : (e0[c] << 3 & 0xF0) | e1[c] >> 1; block_endpoint[3] = e0[3] << 5 | e1[3] << 2 | diff << 1 | flip; const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index * 6 + (flip ? 3 : 0)]; pData[0] = m_alpha_endpoints[alpha0_endpoint_index] | pAlpha0_selectors[0] << 16;