From a383f8e77871b15aad6b93a490891742a368620c Mon Sep 17 00:00:00 2001 From: Anthony Restaino Date: Fri, 25 Oct 2013 18:56:23 -0400 Subject: [PATCH] Play Store sync Fixed some crashes, stabilized the code --- AndroidManifest.xml | 4 +- Barebones.apk => BrowserActivity.apk | Bin 147029 -> 150988 bytes README.md | 2 +- res/layout/two_line_autocomplete.xml | 22 +-- res/values-zh-rCN/strings.xml | 2 +- res/values-zh-rTW/strings.xml | 31 ++-- .../activities/AdvancedSettingsActivity.java | 1 - .../barebones/activities/BrowserActivity.java | 166 +++++++++++++++--- .../activities/IncognitoModeActivity.java | 146 ++++++++++++--- .../customwebview/CustomWebView.java | 7 + .../customwebview/IncognitoWebView.java | 7 + .../IncognitoWebViewClient.java | 4 +- .../barebones/utilities/FinalVariables.java | 2 +- .../webviewclasses/CustomWebViewClient.java | 4 +- 14 files changed, 309 insertions(+), 89 deletions(-) rename Barebones.apk => BrowserActivity.apk (50%) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6fa3b08..ae6f202 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="60" + android:versionName="2.5.1.4" > 6Hd93*FuC_zAS4hje&K|q2;6;wpBDUC({y_ETM5U0qe(_s*yzN5tQJ#9QEj5%%a5{sQSOi6CxkbvP=_!;&2 zX;Z97n5&0KD32n7F^@CG|taG9S zC*FKxK%X}H+3;{rB*PqC_$M>n3z@f{O?ky52@Q)gMXD}l+KBpOa1ihk8h*YNb8pGy z=37!4vU=D}M#6diwa-n>a$g&pydRz;fA{G65&pekHAsyJe~!rHjvc<2a7&w~HeIL? zKb!K_;^_YBZuKNrg3U$hOHFztJh%9NQFoiv@m1iig;H!#E8z}wsPuH|ZV#n>`6jWJW8O8pm zgj{#LGpMkZ#kl&*cR914kG!M@6@C$a)JcuL1m(UPi>cL)zmh}o(dzn#xkZcYE|P&m z$=HoLJlbZX>z8~!D2;2NvzZQY^gFM*QTBI`b^SEnVAxdH!&eCx3o%b{IX{Y{I@pB7 zlZ-?)6=eOm5{Q@Uv@TZiEkHy0Uai)f&KI7KY9fp*MLpgmI~~}eG=iNnknstw@LTkp zqwgT9_PJL#7vz7H^ggh8GkGb0aN=ow_xwQ1e&IsZ=Y9V_Zx_DRmOgAa(xuRHLe0Kp z(52ALeI&hVZB;&U>t$!3aDSeWnCBPeveCnN&Xqq$-IC^SMs6W}oYs>@w&#vfxQ4n! z#3$JXmGT512K#S?d!?~@kni?s*+>h-;Sgi$irzEOH|5I(5hyA_NKE~P1{cZRWlb(6 z4SaPS4Qmzg$fz5s+B6SWs;bz$yk<&Dd5E4hDLjVX&fvMqF1PeewL?A1no{B6VRp~} zUsTph4-d<#wuyk<#>M*GvHQ86t{XQ(2rZ+PhSl012|P7iD<4ZyEDwKnMH0@kO>=ZqQ1ROop1~ujf-4mL?ztw}ppS1P)02 zsr+=^DEic5;jBpZZ5*MCnt||(NQ!L|(u{MHQ4(;4ZBl=VWAfH0mCKM?AI>M3a!Bx# z;HVG3#8rSke^+0&9ir~1wX+wDNY8$pyY%-#%-`d4 zHT-T?_c-16YM6pIXohS_ZvB3ouufyfY{>8$J-Mn2Z@c_NlFjR7H{-`k6azQv?B{=8 zT;N_azg(vwl>qs@bF4|P&J__Msj(XGaS*&k`*Z+y-|%JkjP&O^3I4vj=fU6SpOv!RypW)~dXeuh%Odjq^H142aeCXmJrlfe z$>@pqTaRAL_s)%fMJe}3N*_optM`(WuqyO_6WP@^X5M$fT?XCtG}dlC9veefxI z>|Re?URUHG&(i_6?8Qs5B?9WKT2AEYjz5Y0>K9boMPGW>-`r;GsQKL*x^n)d-go?E zdE8$7@o0V2Ro7*R{P|v~;ajcYV)F!xGPQ!P7N(a08i~8f_`6j+=9ldY9_}_Go&OjL z2B!OE+_1!Lx%X*@CAIT_fu8-bd5TgxSJ&Hn!pWo6$v)hbyV2{SQ$FeY{%O1PSr7Ni zdRb$~6&se;xE6h0Itg%fSA@KKmsh{h0+FRxU!|^>x0fAL?NXpZJT zzs&NvmRI-ub}tqaHQ4-~v|0V2Gm$oH!Kjk4Z#j&X`G=;PK3}9fS8UaIM{m`@B?U8qA6<4m{9COCJPeK`mzUK{# z_Q;o1n>mVK6{Ab|Z|F2h%k>Ye(0@bStt)?|)cAMwuH}uSM`bzkHqIX_;%4Rg6?1xG zMawR<$J+n=NF%a8C`C`NmztY=>Diq)pApmd>%2Q=`xr%U%&XgOQ$-i zHUG%@nad>Y%!|@peD%i0&^Pb>iuh~2w>KYP6tDDDrscBPu1?k-NoACe{??zQKZ<@{7Il-! zs$bSMo=i2n+VQCncO?2^rIf+zt}`(UuEQ8l|Qsu`uJ*Z<8Mm;Q|H_dp8u-- z=m}dCzLXmK(zDnU;*{HLEz{c+M%I4}8Rhb$Aa#w3G;`>1N^Q}KFe{wB$-0rrTdp&E zlW|7xt4duE6w0#oSJZJcv+zBy*_DDPGJ$dybqTldI4=%eg?brO9+K_trN59r#94Z! zv3Vos_w89io8b%6oHGt)U3DRMN_oY8T}w0nRH zPMN)VXIx%$bN-RE>v6hsK&ad;#LF>vwq*C8koU#f3%hJThK;h~O7&jg-B-=>F|6bq z+!*I8x1NVGHG#6+_=Bsg{p~E&5+pOnm!;>stFR-T!CB zap`%lcX;D!a^+(|m0!}HW3wKjic*csk6#?>Q;3!P3@7ltqe`h`qkUpE5l2kK?{);^ z(8dSC7MCw8roOi+%72B7^7tu}4vY=d?LK(;=bifdoyK>ykc!^>o#uD(!FtZ*4eus# zD8%NfesE_tvUylIU16E3z*&Dj&u;Adk!7lfp+#uF-MLe-Y(q<`!}}DzrTA=mRajHXy>fgU}Z@QnqLs(O|LD;j73L(q(=IT z0ru`iudpaI`h%XrwJT&)*sqn;RqJCc%ka447sdA*1(~;E9UuOAtNy+Zh?tpsnLjVS zEBa9ed|k;LZ)vQR+*|p67&h zJxim6@+jd=@Or{v7*N7sFb@Y$S1*sd4xXa7Jv{H? z!pKj0z#|`q17m|JU4+5nFa+}l+^-W>e-QV^gZ|RPV9X3Km>j?@fIxsufD(XD0P_F` z033`kmzzTz@0~iCi1H=Qo0;mG$0+;~U2ask1 zdI0VKVE}0WjQ}43h5=UCAfN~uxa=?(H2@!g0e}xcJU|)1H-LWt1RP)m073va0PFxB z0K@<^0;~e;0}yk70zy}};paS3% zz!(4$U>AT8lmQh06Mz7KDu4-qBR~|ubAUR4UVw1`B5n{-00jVZfcpU601*JG0MIM& zQ3WsuK*IxrT?Dua@BqLEAOs*8pc>!97@CAqm$OotcXb0#A zm;_h=*aE=e1LFWh0j}`DuEK7Eh6g|*Kp{X4z%0OD06KmcOaee1z!1O|zy%-(APyi4 z-~#|Nb4HQ~E_1c5%oloykR1LJ-Ue@mx566+6TqV2+3 z42Hw&;kB3+jFJrus>Nslo%WOAZSXpHEyf7E7Dmkp&xf}SMqqT|t%C``SR5D7t2nXQ z3~#__= zcO1C19^LkQ0Ha_&Swtn6y?HPWOc@Jr$epatGm zVHV5f<>}zTb^E@9%VXHN^YBz4YXL)|Pu75${v;|GOAUjOAPlUM@LY_yKg;oT%ZT!Kn%(UgzBW~Pj^Nw zFj4^{ApKuDFfw|02~fvuRZs!{t>`m=-P6q0okbi(3KOrvkdui{T!(5vh=A81K-jr3 z+xj$RAcN_kCj=8Qcrzx)7@KFY!6X6{1SZfRu>Tn~;0dPoazLmsxy4lN$qvT|p95o< zrB#DFrnsOs7!f5Xl>f9!$N%3C9L!!i$z3JJlapdSIcqSh_-`i@Ccpn@9boLVRxl|$ z3lwILU^Z45{CXQWP%y3}z^Iw96^fCc9!Ymkiv&i;2Tuoi#aIBT#DoL0-WpJUm~GsS zDU87+culpy^%#7JlmihFiY#kbEPb&U)`%=?U&<&$ysTJEjGS+cUu-Rd;gip|XCvM} zN0dh{=7qutX%-qH7T+`>o<$-Os*q(Bh}JY10o77i*?e;yq9p{8kc140fKk#Q63Z7; zOSt~?;3H<5Z+$u6(6m_GjCfjtENer&hN4cVgq`&*3nkpq9PK}lnQ2_Z+fR{ccHh|TX-W#mYsdX4G;X+d)CJ?xU zAZmz&a*SeY3L++cF(!K9BC2U2qYe|P#K^^#6cE1untLHV3aBkb#V`G)t1@)kry;e2BeST>jfSWdw)WrpGt*IQy>ltSw*(ZFwHcq`CDM%65Z zmms1ePdxxWVU|%}Ki^o1Q6`|8Z*2#GM3l86iz9)5Fj9_F$wE;Wm=6=emIP#LE0_;V z12Tv4KCv967qkBVi0V>4KBhZG-k1{tC3WH(B02+^UxEo>bmV+fDb@f!`BG*gvZ?gH z@&HnZXl}w%s*4!+D>4^ezFl|~vQQg~h^|1?S1qKLFT{l+p5-p4=KfbGFe^CK2MYhC zoB(Buv{3+&9Phr%Pp|{B9`C6a#1X| z#Bwn#x59F9EVn-8MtGO70voKt*=lXETmsu~hvkx3ejCfBu>1~|OIQC1rXs-MP09CX z#P#q>NiyR|5x<9@qW0L39Q_}EQpnwSiO+b7xZ8DQ@SPGSjIO)S5T-z_Y+ z!{1T4VW{i#Aw(=Atc@pSfrUI1a8H%mg2NQ3YQyot{eLoWF}zI;%E& zEI+F@hm_7(PUs$1DuZ?9K9-*yWDl_X>>zW*a_m8d_Ylj^&M_w}SH#+Tgyl+D?u_Ni zryRm_!3xd}GFL2D#SU=8ay2Y>$8vQn_rUVAbIcRV&(5*OSblbnd11Nc$@rA1I0@*? zqz=}kH&*3r=lNjy+0OID^0S@ihvjEG&mYUrc3uFMpY6OrEXVFVT)d!^q(7?z*yw{R>!-ES}m?+I3Lw%;PK{A|BPV)@xA z8-?X(Wgd;?cGx(^VEJt7>89?U^_!-bkKl_2zRG+;gCDrE7MK z;5X>RfF&g~n?9vYo+QO4YyCvc@Ff?{Ny9Tcgb~w7`BzhPa?h=uI=P3`ZJsDRt|va# zgc^A8Pb7sc=T9YHT9XM*BsL$bP9?OTaZejeU8kc`c)ANt%=L74o!papkS9X|zhE^( zzY5`<^py4Oo%FovUp^63rw=XSo=8GQs7|dW|KK`xp>~||w9z$nbgJ`tmh#lhkNMLT z_8{0#2O$>(a84pJ%Ojte&I^NKz@4E^gTs&_q(ohXXbTu>5O8=je#_o<}M;;@5mz@R)|$M6IyoXXS42$V%Ki5di2bw> z)T;c)-^#RnHO-xBb#l`o<$l}Y@WD>N&I?n`Yj0w;7V*=LWRb@2`4yjj>~<{F|8e83 z@OJk=MkhWn!bZu(vGvVA@B+cWK@P|B zab9&u8Im)E>UPlQ;js$-m@8{Im6Y-PPiE9Y5 zJJiJ4;_&ZwYKW6u$E#MmWKLX$s~KB+i_kPgw?nIf9>=h4j6ck{ zliy9zmlk>RR$;hj=j942CCWD3&XFG39-@`bOB+IRBtxQu55+G4|I{}~w9UfXBt4NDmF45t|``;C9O6T+azbiR!~;L#ILl|HE|r ze>1Jwrhe%H0ad7hdS5Txw9~hOg$+k6B)5|}E74V)>=A)as82{xqbc)@RRzq7gaaox zG}A1Pt;5fbpn+0}EEu*U`^pxU(y8U9>`UH46-+c{S(8ap2ZbMY>cH=onnu_O_~HlR zvABGHt9pU(utRc&lgpvmlvYj9moAWE`Hz|^{=G1Eurhh#HH`p*?;Toh_)54cgbsP1 zMJMpC<2rTT29aWtx-hu>h?W-I6;%!{C+>aOHKL->_cJ#(E=K=) zb<+vX`I1VM0ICl$>&Te#Netwh3UHHoPMRL}eumnYJdiw?XlIw3(j4DA^c5IG`=HvO z^t_#rIi7d;Z;&l|Vyg&$JlYPS3Nj^_4UvHQ+{i75(4`p(H=;e_pQCy0c;THAZuGuP zEhH$C@%5{=1fuwdoz*jD@NL*K!*!yp&ej?F4cZdO$FNl0j>Vi{jleZDSAD4VmKWaL z4!#+fFVhjZQTg|WQqPI%LM%IDXLR9v{_hn)dLFppJSRyH%bvNnLG8Xq>ken97+845R=Vfi@UJXJZWZvO&Pff6wr3$n4=9 z;RoY5aJlg;6TA-l!3Fl!zMZH!nRjSu=gtg+8>cU|65bt`%K?NqaHbjOv?FkVgQ0YOvvR30Z2eq`9Joz!y}f2gA!<#Qs2aKw!F zhO~AIfiovLA!7)E9qmu@x^Nmd>4tMkupB&r4#gR~JXcNY5UE5;g|M7FDkd0VICRNQ zsR8^2)b~!23Y(5_=Q(eaq?!*BrVn4#ece#ot?S~0+;cXKhcaF`l ziF43}?b}f_uvw9~;3tF%bpD;e-=hm83nu)*uFYs4VkHi{PSD%o?*^)W0)GwHAdInt zWJ6_-GBtE2yF?PsRzslN0TVw5iQqT^E%~2#lp(C0*&tWAayV1CoZ+0IUTg!DEFndC z%1A>0@X#46aRRzfvQCc*mPbTpp;?_NGkP26_9%~NKTSn6@;!hJsT+vnUI(W{Ua~u(ANNCmu-;z9_ z@(&BO69Ic5*?VkngUVBAj`f=v9ZWIKd;rs1Dl>*}U0fUx5y7aWX4h7sA~TDz*1S z8-aG@=A;~WkZb5Isyi*X@6{NP#Qq^TV43Hx6L@wSxsf!mt>TP^{_6Y)79!zG(LynW z#~CKpK{dlj{g?VHsT6*^Iw6u|tHY#%=^bH~nxGu93v4$u3S@#}gJh3rkA9D%OERP@ zj}HlJ3R%mOl_QIT8FvI$aI6wWbvn5;Or#Mp_QFR9kNCs67 ztUNrS(`@EG_1_C+MCaiQ+xYjxamA_L;bw#dfko5pQ6CZC;rRHR*a$dI7#VhBCQzJJ z1oszk0~ZrFvrdu?jy;+q++ZS9_l*TEdL{JnKVW%tyTf-d)ukWnqT9cn3lEQOVmlY?D!%gXAtDswj9d^8* zA=xn7pakayb+EaeZ@__2LwG&fiT)sFh_){>>u=0-bj$Pa?-b7-Su=G53B;i3=ryWxd z-eM?89@uhZ>cWL4qDq95TDc03JqR)jL4y`A)S zl0R{wx-e%u#h*CdVb*#0sbQ1g#ers(;IQN7%tJSdpH!3~;WM|~*c&+5aHBfUxzSC) zT<~Q>?|xlXoCHT!J*ZCh8GSdl34%3H*8!bDGr=Gs)Jpgqgb5*6JMV%b!}q08BFG^e z2x$+w-{}d?H?s}gJyzdyE%-Ks-gG!;N5ahdjKBufhU6Z>5os_U8Xt`-(78TCWvIm( zWS;)O4u@5)gXoT$ND0nd26e*+XDmGuFIH z*c8r@Cm=_=joYfu31{5KJMM&uQw$_LZB}-?W9Fvj&=&qaY#cSCA=N8qa+S*%p;}?_nWya&M5*T z>*RJjXAWN63hkKxpJep^KA{!!X6ECf*A`nkL7^&S}E)(xFeaU`dp z%F|d#e9YVpppdKsJKec#o;5+@;^49Ljm^2D$NbR&G82oj0d2jl=MjPk@>VWlt%<4H@JpobrD?M64#sX;R$SN;EW95u%}qYvtBcs5q%Pu;Oga%=XRBr)|(APeWI*pm)yjt zefTGOKV_5c2DrF%G4g?C0Kz%}>J|IwE)A-|acXfk<-9GORB2ay41Jk^@o}Z5!tOAVYzA?zQ zj((mC)}K3CyY`pL?1drGCEJ|Xt{LsA2O`hr-xoom?J`IYfyO!6#67Y!W>(uIr)sbL z)*kjZ(`7Uq47-m6ArE84;>E&C9?_rHU-kCpCp;0O-aRz_I+?4>%J1{K?V!2rkJxDB zXZA){=nFbb`=uaa*2&6UMo%>1igQ3xLwoL>uP?jS7U#!t%AANAwj_sdMlMEY9UR=A z^Zujq!dx=U_$#BFvIYvpd*G{I`MS>NzM*Luy#YVBj$UVXz*`!9M_ zMelJvc(<}bzA4PXBy2(BpekJ^Js!v-Xp?N5fa!ryOu|$ggi9n4bP$X-FNeUjy zkXif^!cRA>+2u8PamM0#Pk+CxFJ2M59uZXF%CZTbt}NRKY`{zM`9!ZWjj&npD0fFV zrwF$UBigzUDytsTa~{)wJXBXbRR4HD)`n~P9<>89qPyK?a#8~^ZCAC6_2-p6ln=Yt zwyj;dkJlPL95zn#m?`wfZ5>>DeuD!l4((<4X#8%yc0EIJ6tRZzpbBd?eZ6)sRdw_U zGs5rr+}Dq*%!nP2B;mk#VHAUz@0%5y(WZ&MjTW7`wn6&f`jzo0>sf&tC_U~!)AT6P ziI^l*A3dtE_qet9xUQ7L)5-xQJSX*ZTRsA@rj}poDkzdL{c}>^YF0j?EVu}&P#QS4 za*u47;IUqNYz8%SO@eG>Sp~`U33Kme&NQvlWdziL?D@3z1VnAj_q5Kqu;_fJN3%3s zN%|MwQm8Q{{p34~b3@#u{9Msy)2oJct(X0C!AxuVb45OqbHU^EDA|mxsXmuEm08l_ zUD0IzR-eW>6q9??)5Cy_ENJ{Tl{@;DImh%1i=2DUgoA|8(OF+r=Zd!0xz|EgZoQ3N zOIl3!>%TCnbpM@GnVjidx7~si^=P7%{a|KUlD?^y4E@+O`?8)+5ze`tM-)44Ed4{K zc>4zesXB}9waE^`t(Nn_Nmn(eE=u&vNL;a(O;XnQM>l3W{~(E0bL|}DXFh);Y4<08 z`y@LLQ8b&7$Lk&v?g7RZ>u{DIreD7H6meU|e503tj&M^pnRiR_*F7ej$Nb zpzR>GEp+9Fr<|5$!P^vyfF0JzquRg+E zF@HN?oPQD}auui<2ZLUrh+ibuK0jr46(43THea>(>F&W1VV5?6#yho>Xf<-glE-6g z&o0jW9(sB6dBb$@uU_Y_2K3w=%l#F@xubG(o;)d{pxArvs-o`;2V)n3;9+zzcl#aY zIUovx#I|1dNF)vGC#qt4Aj|aiQg3cWCgpls)$vZQbb*HKM7Ayoy~WCHPsRMbyB5Jc zf1W@`zcux#<&zLj6Z$1=qIUZif%Y<#h#+e>bWd4W{a@+R|V3si4O zwNzU6N^&?7w#f8mPgwjZhJs$rwOh^&{x$TCbpFr`Qkxrfw5>#fd~xA8liMlg9R=f; zkRAmZ4!Rc?By{YplXf(IFpg30o_`US?)hR3yH=5;;IU#w#>1yW99?FYBo) zFN!Yd4fl5q8QL+nKOH^Rfw>GcQ$|}E`X{JcaLR;1!9yx2&(T_otqRD?80-eP6 z2aI%92N=fGrEkCB8TFzYv#>W4%y21j zI(~7fD_SvZJRWSfc)viKZb>h>JPMS$_Y2z9?Av;DxXCp18RRwRO&YZIY2~fw$p;72 z+Ag$5%;l0WezD-bueFXPP$i4;j%=%wEP*=tU30WAZb%S+td)M_Law!aW*oCG5d&#XI^@ z(<6LO_9@CJDI;crcgrKmtV7d7(u%h}8Y)HB>!{Z2EyVu1q)%?YA0~lXY?%I4M(EaF zZ@q&Eb`>~4go<#^_$n5*Psez-S{~84X1s3KJ?`4{zCCeE&_lL&mS+8Y4(I9zFQ4io z(`<(n@@3O!F{AxZ{yH9iD~(RM#*lE*_O-C0p-KLR7j=;W)FFfgqDiSB73#J>z6Sck4SLX@Eka4v~&8f^;E^|Ww{+43#I?& zq&~*k(}4_+h;CB+vlT`;eTK64%0IR|IU0>c`)_h4Z^`ox_-TJ#OiUd(FPMA9NG0lZ zAf?Ve#FoDDjLV)&*O>C^ynMp7y&EK|LbI~k`xC?&Nela~bjR^VDzY&s{z1-<>_k&Pnqz4Lr&U{_vUu)+Lc;1pNhRUrjW!>a>y^1Ab-<2{_3sO)};ymrSD?Xtzi zzhC4QuTZsXgWWB9)2w3keH*>w7%%$my~;p!=X%HNmelXDHz;b8JX0-H2WGeLXmZBx ze}v-GlVmGj7WL2XAdJ4X#yz?)^e&5&+Rw;7PDa9b-pIl%myVfdWv8&JUqw(tt2}jM zlBUh_L;PyV?$h9QY^7g$+bpKL zdlb;Gzfwbyd(AQJSzsf#N9_eXRmE&v=;F{SUdz`Vjo@m|3ai$x6$RrdccUry=a;g) z+-Q?@HAER3FV8l-gkz*kO-)F^X~dNn!DFi- z^CyZ4oCh&;26RyJUdkt1vm>w1wgyK#pKNW9c0Nz5Ef?cV89?oNhk~0*st-z3ZV=QZ zrD*C`IzkAeXSpH=_JabkZRdUvy>``DPtZFQWgVL~ul*70JPut#Nty&G4-_3|=&ibP z@45=1iadg}=fEjAtSR%Sn+bZFdjIX7F`w$2$2j1LoO199Flz5B0KDd)f%}MQI9r#Iuw$R*gxg+ z?Di!cdeK2w{hsM32MfF@?k`x6qi;-deT$IE9+TPh;In}kH+{}QW{$Sjg(^+gf*z+G zAR~7amzrbRvXJ0I@rUc{b@1UWK>sH@u9~GIJpnbdmI~XQhjE1`8RTXPu_fAX8!NXBIRu1KTB4QR3BeYMd~zt zEIcM>JSN^upoVg4ij_7KQV*Y{9>&w4FMQd3paazm_c9G8+{n_*{3m5P7oX<47=s2% z#+GBM`fHLLD}N&cIY#F1hV2PNLr}r+y2hL7zlejspP|q_F>0u7@9$?-og+{%TqxX4 z0|vDHmjSv>gU=tw}N}AE-@1QkzeQgCR<>WZ%zo zVhm`dMwgsV?S@B;Pk{@Iu~6vz-OxQi^7k0uu&>(kqGDfjh$Va2iX40{u;oVa&Djd= zS_+{Y=4|;##WJ?jV^McDZADP@bGGMECuhOUIa@x|$eis(l|1g0n`v*xD?%sx{}F&mEiUxR$=I)?0}B1{CYf~--s5~fihNKL93SsjP04xr0M5dZ_V?G zWFfuM8`q4I>ML8+T04h|+iuHWKITGkTI7_Y`aPa02#)U0qb}9ysM;Kj&8>fs(AiDf zkmi=HeDtQi(yGi`dru`v_GydeP-8Y?Wtoyh)g^1u_X$E`=gD3!-G1upL$+Rnk>)wb zV0%6G$Z)=!8&Xa3wT*2rx@+HYX|~Ti_)VtbJ#=#+Qj*Ph>b*s9fr27`uC*^TK5P*4 z|H}pae_;1bQ_f1E2|LZ05#uHbYRVZHiW``358GW&aBG=dF43li>OW0i-1N~sQkIxn z@4UW3Fg4AYkFwiu6|#qd6qTbKs@f7A@LCi3euRraCQcS*#w+G1YiIlY*rqrH(L>2z zD$U>`@5&>qc}9`))Ih5@!A4|1(XqGsw#>XpdZ7{u5y&*7>PX$Xzv{iqZ@5nc>;6IO z5Y-=Aw92L}-;!+vGfEBB57%b=wXHlWL)m_7&ia*$16q1+x*T%3jSk-AH0=HfsT~oG z^sTC1z`VP?-zztktwbwq+KQo8K113I>rtmS0@D79PE19g7erq%Lj7NN z@Nq^J9#QG;bEa>piXb5Kujqj&$4$LDq3mu#wI5{gr-PFQ5d1X8{c%v+Uy1^ z-<006%fD$})ZJy#f1I@FzGeM?(;_I#VfTO2+^ExcJ!78=w9MwTDC*Z|$f~RScNLX8 z+wq8xNMG5^hun>Z)fKjkpzPmO<(^jmyq@*8^}8?CKhtgZI$^zLsY0>2Afa~kXWu23mmoKJY98qyl5UaYd(g9^@@lC=IjS!z{a2tW&fUb-UrLdv*7Lu(M;KoeYFY69Dzz3N zdfQ&{@>Pz5U%G$1LtRrp|CqY{v!3faP0m9k^7hqqLzW`Rjmx*P>;=4(d;6CY^}MgM zkKn}G3mg;o;_t}x?l0euUG>R$dn_|1;dPVBg0~X4t|v!OOS#jd#6QUa+M($cx7~dS z1ycFze=ZfUI2e``;WQyiTmo9y>MV;j%$)~s?IvWOnN42E ze35LlvFUi4Ij`&cA@Y&IgxQ};UyujR#4ij@_R1|IPJ!+tM*Le>9tVZKtr?ZPwtnJ@gAK|FMo4z)ViUPlM(oY zL9yq208*hT^h%wTr-^FRYC-km`&o}(>G|769~q6zA74wZ;XIW0|-4?j^D1=iG%FF9-3?>QIj5X1~f2z%x0n^v{e_+qu=IzvBKjLGRy; zV-rJfV*l;2YxO=oD$Xtbz1)o^?A1ClgH*rlOJ&s4;68?v<~|i)yxETVgLa20c5n_j z1cH<26TXv~P>k>XP;bro7kZAP$kSzf*f>n)x4=GQrPObG(7J;Gg!#}@PWpS(SYRo8 zwcA(iu&qh^IIaKVlKiqyy59EPx}=2Iz(|K=RP3HD^*(nmVwrCHbL&x=jcbD46OmVX7R}~%-CO8| zdh@5{#P_ccy1tpVXnR%jJ3NPPJAQp1k;?j| zON4#$Q~vaQ-{I9?E4P<}6pG*U`LsO#^POR(?}!g?|2XpBj(h9$rR1FEG^P8(pDg=_ zYMM>ATHf=vzkfY(OS4>Z2YyS{;oouL#JKjMBhR10c&H}VyTG+raitg;cwziFK&05M zu{PzfE@jJE0P#z|{hf_Nqg9aT7Fm*Qb)eZ8rH--7AGc|Z^rDGzoyOYljDHWu^|uTp zKmecp^G{~EJk9gEMZ(KD$H3vCq-)QofIz&U1UL@mK(br%U3n#)1kawfdj6H_O(m&; zo-VK580hG$#BAd>`<2DzsXCHkcj>DF8(!?Ms?xPRbDx2CX6FUtM(!`Bz8AAoH2wbF zY1b)lMh3_h@tu(onOWJ&?Kjt>g2V086?zs^zO7$x;q^v1 z>_G|hm5gzN260FpnTd19D+LK&OJDde7N9k^r8S@yqXRG0y=`~V<8F^2)}BZ)mezKb zW9lARTZx0cheNp($3|9Vm6!<|!zz@ku3k6wI9kUjcFXp55w|A7c+eYKsLXp$uCg^yL zX}Fj2SgO{xvu5sUKBv%umS|9zt}X9DmuOJ3Zu^bx`wiRi)(54U)1P?IK2O`;bRVOI z4ia^zzZIgdZwqq#S@9Vx_E&=DR#^4GZz?s4q*(gt}_1?3|xedk?kk(U0$5cCH5 zU3o~A|A0KBEnXMhfVA|pLKh(|1LoHQ2J1H)R2H5L*6%d5RU&^iZp)Xgcxp~h{XSN? zy8VJXyR^``~c8hIxrR~uemG0mBYqUXE6Sklm+u5(7_Y){p+MxR+=%Qql z?BJq*i|Wpl_<<>j)VJ} zwln!?we1w;uZxU>2AgnbG_V_4?4N27i7duc&GF-mw&v2~IGSVf^8IoonetY>*0!W_ zS-aMDwbFLCrs}UN=$FVv-w8DBV3cwh`pUMaa#=aLY>?5?5l^@8IS!FHs9wWWqqwcQdyPPK)LEFZ-aciz(iEmFCHprpSXgqL6&dypt}pE zq1DZ!WxQ9@bM8UPgRVOb5bL1p-=EMD&%vJ&@l}+rX1ngc3(Ji| z)3J}&=!0~m4;1szH@6Ep{)WG#iVv=j3T{L0_Wb2*7=kF5rq3S;YudIO?Y|DP$NlH8 zgnlr%{ue$#dwjEO>(8Q4uCNAF+r4vD1A^kCP>zG^yKso>0FT3er*e>U8!k(C3>Nih z&~`Cj)pC0@0Q}D_RN~cR5ys=&2?zVPwy!D;xgNv}a_+!=Xpbp4b|kg7W&KCWk*-^C zSNh{iRL3_4r&seKt?hbWq$=IrkG*qkwHAl6*M=nh}h&@PO(Qtvz`4#qr zC#pDX+PK*d$XF2k$)hBU)rzY;Bz*XW3CYv`S2sXwR!!uHMChh!$x~cMnPbvX3w^o7 z5EGhJw|kO`pY`hwxL@CkNDN`G`Piy8p8v_suEF`Ane%Js#x-`zF(CrSs4J9PW@Mtm z2a26Foaf###*rO-2xUSxl?r1n&Q!JU8|)87h$Q%*r>|~%MJl9cKg#{{ zT93Ijs!P$m^3~n$PtUSBWi#7x7a!(kGBSl74UkdP)xX7eva#a|nO>lTlL2Bpqylh%5Zfwuo3w?5pk4_pNmqtHyTbj6-nm7fQ``LGFkKFty9ThOy z?LHYb-qX^-)_q4;&7VUt6B>8YtGRrQ>Xogud}x=PnA9&Fqu|N&d^TQerdN`tLsb>| z2+eZUd=gRgsF5XAg))h2X#qcvpcMsvdJlo+#IKaY5y2rvTXi=e&3rF?Sgksu_MB)< zW=EktMFRVy?j?^Vc9Nblo8Fko-R@n=w{`9t?c&m(_o@Gq zu8PE`O))9hDkqK_dQ)3k^fpcO$#tWh(kDMO9(bg|ZxK5i@zuy&HZFZaNDYm*TzkO& zq{xhfg1g2u4X*LT`wdOz6Lj-UlJ~LjA2%q4<+HziBBSxZB@J%> z#QPo1IB~w0@DrKK5AHsZc}L?|LYIG; zlGIXXTJQ~PJ@8I5B+8e+c{zyq4`jk8rA0q8Mq0z!`o|`~<{s7dn_zaz<2yuo@>irv zMSjR3GWiRZY!I161xtTS+W2`hW8c0`=g!=`X{1ZvM_F3cMbr17xT=exZ%ycpd_iON z(=LI`ac@M+=jeqTA^E(`*DBUAvf^wHKb75blfG@{++g&RKBQE>dAVaG*;*ZHxK%BD zu1v(6uX7~Z+G}?COPRl$mz`NqgF;m)j#c*92z8n0>b1yH;bxZ3k$CI)o9=lW>w7Ol zE9@zqa7UR}ACj6yTc2;ptQ00FV_3ZwQA*!j!uicUgThRvnXSR&CnCI*w)xJ?S3W53 ze0^;h{rD|KWs7>FMixJ+nnLkx$ljsU{1cPiU3;w;Ik9ar^aG}JdA3ZP32m+E!Y)xl z?%&%@zHV z;_mLn9SQ*gLGttcIoa9WlbM};cF#TMW_D(l2VsBp>cXBV`kEtZU{mq6xUsQZ!c*{F ze`tsHh8+q+1hfFqs|Xd{uq>%(iR^pij97|!YDU>$LcUR`)HGL_(3Bm|)wJZ2l3mmR>+J z{!Zp?6F){ja|g38VnJNSq;RWN$@6h7U?qDZB*DVyU$3u1=4zKAZ?}l+gs+_{zNS+$ z3Kq7u9jkiE|HyRuWG2%UFJ)WugBSO3xv&{7(|cE}44M|4m%RDy&t4$g&G12{mhHHw z?KKSeF)HNmXW~QH8hhGDnD9ZH$TN4JjS~a0H;{j+!>QE)NxLhcJQc=1t6f|Z!&DOh z^!{33YBj6V=#ZBxGp8Pw8G_tW4>cd|J-KG8hamzbeE3^;6l3}3<3g-lZ|yQSa*3JO zzlQDg;0MJ#yIC=fMjq&X8JDe1U4p&Z|C5DV@wImL{LUIDvICN)Rhh^W=;|iq< zg|~XMK4;X2zy>U)Eq?Qn%g2pN^cEXt2xJI{aKgC`bwc@`X7V|49c=mJ1d^!ayDfm} z=C=;Q!g2y>IEC{T)6HZKuL^(H5;(*v;1zz}ddOXMFw)t6>BFi}mw;Ed7gQ(ozMRm> z<7ys~D=DX5o^Edj+SPnlf^%;2Qfl5T61VEW2fAJ*RO!`|a(^nDW;BZKyif7l*RX0b zr~1=7_L2!O^Uf)+8ar|qIfbA%mum#x49h@+Q!O$|{d=Zo-;O@^!?e1CU>cyl;%0H&Tg3zF@^_{0>(^VhRLA!e>Ys*Q!m=bH}40U=O6W*D2X1Z zrii`@JAX+|it}in_B;8LCT03x=9LU;d)%3y$2Z#u&kx@`iz0g}gKYB|s_wUd;x__X zCnJq%#omR@Xi*=IOs=KpPM!UPFecVX5hnNCnRq5t5#=Gjxi0575x$N-Z0uwLs2pSh zBg9ybs!eZtvg`_{hLd&AW_xmKV;J#T{|rmYpfCt}M#oLllO1eN>i54bz^q~dktK)R zq!T}gilr<=--#*lDwN&yc(~MsjRkqA+f1*-^OuN z%sKn7<}#M_=e|I@Y#5qhY3c<2 zjA`2{X{X~sajF9tgjaUi)+rW-i3yEp zvP4u*&MOsnPz{do3>3y1BLs@8UpqTSyb9iXaqRIx8B%KgAgLcfFsBD8i91Q}t9beV zcN6GQML2Q0AXfg46?kL4Hg0rj<=$@Mo@rm0PKJvY6k(~8U%45ZkNq{tMNP>SSau+L z|Go6=kCVnFZ7vfKA@aDOsj=~Gzm9F8T4nCIz#R+qHxwloS=SWT2zYyb!_s^o%j!9fi^t#Qf#`A+*xF@&W~D5*ZcMdhsS8ugZ8@VJs;-gk z&g((6#B=1Z%GFuiMk~3&Q@n1U2FB)RZ;Z@^Em9hYs*2iW%mW)j=OJnH5U1l2^;MaK zcj)%Xa;0FPPAtq#43GL0&nojn!a-WDV-T%}G{r}-q+r7U+ce17n*0(TO5^n?&a39);#Z)zC6*>* z*m0W8_^vsJ5`PC-n4pJqd-@ z^PRpqczM7)-d9`KC{~nVz?Sa8f2mp8tz*cv0EY~|oMZ1#`%{>n2Gh0s_Hs|@D(F*} z5b>i!MJ_x9!3Zn0o#h$S&u*QR$+Eh^OEbgiqU_Eoq}MnqlAq7AIBI^SxuMhFxz0V5 zT6P9tPnjzqR3qRUo{?@K6-}aXohXw2BNCq%^)^l}%uhadgZH8vzQ4>5_pq`wT3$oR zvAnHk(ztXp0`FIUI%*Fc|J4x$?Q#aW$*os=Iq)aD$!9hjvPc!a zi(v*=?6v1zPTKz^$vov&ljDvsNl7MH8!GoV!%tF*%3~XMK)-RgbIxt2p!-ywn`aEH zdx$iG=@6K7nl$W$G|;UJ@wAJ;Bkm=hb3RY?*4TdbbC2A(Ba@s!=kLeKLGw!ZB*7PS za~c$heTFX8u8bi=s;`ZVoNY1IZOY7?KD&r{ZnK9@cDnPr$UErO=Mlnb-zWAM`cUU3 zWmw(Q2)*^hl-$L4af>i3;LU%Zllco6z#S6js~cT{KCtT=9Z@m;=>9CAqQm}KAQ_4B z*&d7TV{jXKZRLwy;kux_=5xQD$zKGXpTM5^#s?7;{a>2Mt-1G`)3%u@|3Ko#HrlLS zAzvOAGWo2w{1zw$Z#FG?6V>V(>r`a;Jwb&KN4^3x(sOPX81G9zjS9q;JGXrU>OB@1 zmk<)coOpeYRI4u?;JvNjfxUCEAL1eKOXRts1SP_q2;&VqxV@L%>#c_>FX5PdKj_N$ zjk`pxj6>GnPfN3OS9|<^uBY!lIbplt_PGvbgv(QSUsd--b>HZB&&@%b*KGygQ*rA}#I<^)x`z-C+EQ0++s)MNAv^$!HtLZx1L2F}; znZ{Gzxu_D&Y7$XqiZCy6)V4-nf_0ge`^ev4?`w}uMP9l$NP0yKA+So@xLBAup$>&= zJ{BfLeWn78K2h@0z$aqPol8|KsS-$@hz!8JU@OllUdmS&xUL&7bovLtU+hWnw%eK> zuc&z~#wjz}a$ffPGA$5P2+WEvMCoN&(`6u9)(Sce;I1&Zh)>&sW8*azlF-3}^rYAL z^InT*kqyFWCW>}>NFDvk6q3uDSN~=Hb&l}E!b^V<6I2oyqMT1r)@}EWN}b+a6jAS; z;=;I42A(QwWVPU)h?%^`laG)&t?}$E{cp|JJ0@~}6XkZv zm##%u_I==?E+i?iTX({a`1@|A(QeRDwn{ud`J)k^>cOPm0mj3R4UD)`(k34h>T=98 zyFi^A_Jn?$SxPgVp_V`n&?1*g4!e9p6qu*K9QQ*b8y~zY>K2VYjAbzl7 z@*(S@NPbH{$$F~TNQ$qjxv;b7s?+K!s}gx&9iej0_SU4nO_5fQw*vnw61O>Qa`~R- z(Pc(-e5uWpJ3|Sef*Ax@_K@oa+d4 znqCUer_Kg(U>&dh20pbUsPYtWe_$ab)6My78C4y`e;<1(rn=$<%>Br4^k}Wgf?^Wf@uUYT|$7g4YwI>`s8z8 zf#9OCoOaIpGnCX4P9=2lhjr}i^O(90>(QM&;Pi!3wm&YAbt?s8pgjI&zzN+L*skLUZ)ElVqJUz>1a z0Ydt@qlO^y6?w?T?jPP6l7R`LcgLgb)E5@xKfGeMtKK+gbyhV$y&2?>3*Edcf-ScZ z6_3EF4|V$f8H^aTw+OqKP10|q(SIMCdiqX+gqA-0k^g|ATz(u7jSM0yPYskfFp8Hj zUZbR~P1(pUI1)T?oRx);S#F|V@s8Z40gF1b2L72ue1o-CZFbScg9=I^@)v|9!be;- zESGbj&(mA6I7uCt^11O28yKr_?|}J=_W}je>oUU2Ub&G2tsxyr>Y9F9>8+p26c1O7 zfV-O1-S7QCvBJPC-Kk~k`8UWHfuVP3ZkmwZtD!Htzp~20a@VZfq%`7ES+Ea-054aS z>no89Tm4`j)kgmYP@V3iN`CH6s&S@_S3&$p#oHfwkNxJF?;jJ&(fC8XLD1&kOQvOc z0tF|1G6k7eAj-`li~0c!MC72L54x}7$T)`uLrUZ7R5mSUqFbK?w;h9na8knr_az(+ zXqOr;sU-Bn<$d$j;@pgKu;)avbvi0Z8FT70jC4SKJIv86(DkU@5P^wfphf+@Ljg65 ztXkNmC86L*o77X%d+aY`C?a)cW9Jm_LN1VX_Wm%QF1WIilN?rbd1;}VLvg8_x=g?o zhkwev1D^4Kuy14*tk>8urYG6KZPj0tCl&nUwiA6_F1O5^BaX4sD>e7axkTJ*y&<)O z-8Pq<*`B}Bgyt(Jr3N8rqtT7_$U>vPeQs`rCUs>R1 zZFyvzvr4YLiselv;V1A8V?uun#1Zed9F@&0UVsf?#>K8tpWu?LO-~ty}-aPw`{^)N@0j{T@%2 z{<8f`v|JD1oe4PJcp3FP8J<}}rbkAS&EX*u?<%Gt;U*>~L+AR<;>w;$g+sV7T*gdu zH})cehxTXew~4KhYoFh2@v@_u%gC+Rlp}^hC3ERJ;rIc6aNYu8Z}Md_3Fc7LH;>-b z%VdG55i#X2SG(fI1PJr%pv#aH(Wei8cKz^u@|u`{OJg|?*$kqwmzimoDIrz@^1A-X zdqWG|rkQQcC1gp%=E>79Gt>-b(!HX@K;Iw+k&|BpCJxC$c72iu(_|~wuQcGVVCJZ= z+bII^|MA{ks%wscZ03{+R)${G#bI1uQ|fU;9NTHNgH@e~8OqCy4za!-Uc$9KhBKz< zMCM>Xf!(CvmCJ{q+G*A)3*w^%5r!Kd7Z3T>nDKa!jGA8MRFPcg0XOfzR<&y;)dCJ6 zZ6=&5~xHcVT9r_YXP+wk8Cb4@L6?o-m%tZ*!v-#V|bzvUu&5F6F{pb zp-~r$oJ)sE8$v#o;RZwb{SJr^2Pv?Za8Q6af7jR&dVcmo46wl)fs!qapKXK(v>xPv zQ)6^_q^GapP&~P4V#kRRjmbsXiA-&qa8;XmY!Vtv5k1-o^b?*|L%-7+|KpIDqIZZL z&MUT^vZOl}2)DSDije4x^~V5j-OVprhxLx0L$CoO=L)Df?TUc*XR3Hk6@oO#tF*x2$!N6yPZ8!Doy0_}XG_mWjEre*$yW}fgdcfEkJ&h;R4qeb8{b!}8~ zw~e(j8?PBNWzL1dX92CgR+(*>ywAF(oI`)$SC7-HHmt-95ldQJ-u2HvYFP*A-nr90 zdGs|TjoYxEZCH9;Wl+ntPKc`uYY+oop;sy{U>%^~7{RBp^iQV?ZT=l<0c@C>Y;em3 z>=!ZZc(%(b?86-)mS>>{9bJ&@JX|~U)-`xhllvM)-Ya2Rzi@X4WlBIXx2=@Hp}4K6 zpWl}GYCe*A18VG*eJ&TN_TZx(e1L{1P{#>lG%~&m)l90S@qSl*#az|#P7SDTqfCh+ zORuuYczWv@(ovDkCW1m!HA3Ezwo6F zcLLHcRiCqyI)1tCU;UTxWXu;mv@t&o)aXLwLDi=obLSblCEgjF?H(o-xEGDM0Op0; zo^n1vnpusrw&3zaA@cQk?*=fo#O(CMCaJcHS12^zOl1mBsJFMHGf&7`Dxq~dFn1uG zWX-|sFh?y3=w#YF6zQuSi=wY~2g`Z%qI=tWivJ~0ZW=}MR?vd~f z#Ix_1_2W)jbS;fQ{Bz;l0<@aZ9FeoJ@<)Lq3(1_@nWb*1KpSb6?f1)DJ?KW&n!DTg zTjd#B_g$KA!TH<$N>9M06Zc5m=RewxYB7h(JNb?4iyH~b=7NeSxKNq~nf6a&v9`6z zq*X?hr4HNKj+hPSe1K}hg#!sTAAV2L0>P=D3Ldcv@RUvCMG}V1BYl_=E#Du_e!3xI z$;%=+RLVNkUwRIjq#3#F+Liy)>LI%{Od!+6o%DbRBqimbjR5~#*A%=?uh1RsMeGpU zhU4$R2^V_5P8XICFpkQ)=?$_8SJPAgDCfx#o`i!*nI7xbt=0JGV*hODnc3S((f!y` z58!02eeKGo*gCwF(EKtCcKEa>=Q?RahTslvPT^S&&${O%fgCO{#i@DCj*|)Rui<-q znarE~6~r0!7a*5GuC~$n;E3HeZ{Y4Uv7(HTwGiX! zv;S0{Td*g6O_KGALJeDoYnOY0ioXZHmcxUIurCKCkaf20Brb4(;bI-uDG6}$&Qurn zBh(Ps9GR{61{8tDiWa2ugU?oQsg$$792rE5-ytH-R_*@x z$C_RYV4Y+;!Jb=E>rffwT>FTP%vNj7u;CD)PXhQT-#(*FL!x!#Oc(a@3Nv=z6RYx? zjQ=zt#SFT5s4%s}k|hI_IhN?w>8Hexx|snxd-EzAcVD%jx2<7!M26FD1(tR8Rt$~* z@NG9;)C3-rUur8-nDKDuW9ohB#O2fQMIRQzKFS>>O)5QVb`99pWu%=6C23NZ-DA=s z9gXz-M>dj9+v>l7%iRQ3+vxWEuD$q9ZF6OkDU)>+v-g6SX!r+D)b!r50gn%|-nSFOu4pYM&~PCT&#yQeDdSa@EBGxAZ>&8~)f&I={-_u;dms;>bySO_0J{}F)mTw7R3JS(dko` zAT}q3gJrV|OQ0b*#X%|ePV=1*5p*mPOYBL4)i_REN8ZTi=MjK(tuQ`w@}oXY!sp3ICWbyNCsjg1_B_epw@2Ma()b&c2G zJjTx^ekEiqoSEiXg5_ssiT~i78rN+;uAbMuEVwm1K*m>Ofy!ha46CTyR+gv`M7>y8 zStwfWkn&ven;4Pxl&-j%-pHwTVTn@UJuq2&#cabrHo2a6GgEy)$kO?0jkjfAUDslo zsXk2L)A4b&dm8xP3K@S^AP%r5I$r9szsAZb$vnB1+cB)KTq;JY$cG zlrkM}lrsbrXF3TK@D<0wj^l@_ejdZ^m+`xxunIVag$qW!I)4lif9;4}3D3nCZ~99H zMbrHN3D0E^JH1=IIX*_h)Ea0%ik^{m`(<0Lw|vTB*!xK$m-2tT&cMRAsY?Mh>EPGp z?(@1Dm4cjP%L8=ZN8$OU?(llVWr5vJg3H_*z1XhQ86+VgDPzdzTMGP6E_KSV{6b0) zX&bV)5tO||kP+vOcbQ$_6aB%3_i>&ei=cJG^D8(?Q)FeQ$Y3Ofsez2NH__N-Hga30 zdYdo10F25WmyTiv12DYDEl&6vid3yIRvdIrYql33MC!H|)g#CUEUUK{{gj;KW+RPJ z`)7JSh(T1VwimYy2dcGC_~tzq9dtEieygycKS5q zN+xau3@AM_sGSmHg$jvD6LQxv;O$ICkIPGFkEGh1XrOngU z-jb~+GPu4)S1=A{!ThEI;`*EHPc{J3QC7 zUdVXzZp5=xCDH;EP|6T)e6QpBw$@bNR*4oAAl|eci_9VKe%T<#r&vzj?S~9`?j(_S zLypmvbAT8TvU6GnSAF!XuLi_4Rfn() z8%nqI;eo&2ynRvI+i5vsG#x{L?oTT$SR(9J)-!gqU%C z3l==ZX?RF;ecOkuT%@wzd^YIzEK=cXJfp1iCl|f2IKc_+!!p!E0sW^Db){b~#z*9H zP4GM~W~3S@;Iyvb5eb~)EMgggCe)v|<88d9MZN3Wm1mJ-i&LD?l6tX4Uu{qTb+yLCM-4`9du@0Kv>?#Zo$xrA8lf{Uv+ z=(s1R4>&rxwOm-b*mRF;5PufD!%ios^y6~<{=ar5kU=hzQ7+X)0>&-l7X>pchFX`- ztA7%x)u>2m&rNBsCMbT=X|WoObvlf3C=Lq$aprVbn7JYEIA#Zt+;2=Ac(_4^xqcS6 zhSU_rW(-9#xPF%O(2&}ry^&4IkiN)j;G`E0d~VR6$nHIFv}{Q&>!RXNhe24dPgi1* zPZuC4c>f0b-e0hHSuMinTlGjsb`#0HKc>?CD@kj5YJd*<)h2A2sHq%9CZc~v`$fCv zfn!qrpR8Jf#lsqc#XGx2G=qXrZZ|csAId7Hh8<(ouEGjh0OJzc=w9==EVsCVx>v8d zL5|ka$h~*WZFu<~3f~T?ilP*Bu)VZ^-st?xqq2WRQ5saZ`^J(5|QOdf= zh~^ux&&b~JW=XoP$da~t%#>K^#BoB!!Y?KoYD8NdR{rU;niXyJ*D>cC)!SU)+@kCg zi-VT5&gi34ugsQ_xH@iot~&03&JDJPcsccI4sFe^nJ)TnSY_h5KBbl3F-l}sH#I=5 zGem9VI!nEkJc2Nc(fr=j!%|{|Tb&;&-aE}eh&y6GVVe0|<>>m~EMP;Ob4I9*=(`a# z)=C6nA;uJhxTSs6Mje{ptuN|AzJzLjCv(#JKAENwfO~JLm9q|+L7PigF)!Dsmg~K+ zw4uHkAxN;H-fOKWT7TLUnD~Hu4+I~31mRQz$*Mz7n>Q+pB4kcWB4uIA|6emnbP!28 z{xw8a@mV6Pv|U&t6QY;LKk2v~XVv)dsdn9L+M}!l6BAfdR+Jmuv(2dS5HOQfDAifT z*y*ymVl1dt881$xI)Z|ZOX`iY^>?+jha#zry6i`L{0(u8D($t{Fn}OrECV6NfDR$X z{bXqH$9c~rl%7ZHE;caJ2iu(|Zze?abFV6N;6FG>Cj&(+PGp$*L+IZPWs6Ln z%UqWL*7(o}QTD9z-?uy(|K!XzjGib|mV6B>7Fn5!j5^tPEjz3Jn08iW`#*MDCOvku zRI_Q4J`OkiI3dEyD<3PG_svOT7;gI?OX)KUb<(3h=voBQSyfJQANb3tQ<32Y-AVTb z9ct8Bh2hrZe@a9s(J}k|xf1VOu`TTfd<|FVPl#OAj5~i``9KLyh-CVF4QW&W6`GwW-Zw8)wrZfy1}i6t?^(7Vk4zI3v{PBwY&4y)yaDDn~m|M)-3`FHG` zc{k{>Nq_2OZqNyO!o*hY@E)V1Dq16hdsmM zH|*qjhWZRkk)oP2_XZs`j~*Yb@hS@!e z8;HJ9zo=uc;u+xyP-@comu1cIKCtvz>HTxjoA462M`^_DW{-0ETg#CCT10)9>{cqA z49Y?pp!DyYABx%CUDW=)&nKX-ur8^H@%Z@+__bT|QH_3fRp#5Yr@~XB$mZuIRe$jO zIR6&pVGV20FFFeiy+KbfZaO78``;?09K@kN?=o}|V7(F@EPLK0(DS;1N~@p8SpO3D z9KsWrfqaHy&wYcwVtUi3awi3ucd zE;M$BEZHD#RlQ>{^XzG^fFW1zez@G-Ax|Ibm(!6VA*Br$cSvz$DGa%3If0xZM=Rw= zo?}&dKk18i{+_x+8jv@2EnxYyoz~fHUH09XWh>Kktq3C7cGL&pq)L_=MKVy*q^CIt}L~ zf6MOKDG#~Q2sgiC5{Dd#qB|4p=KaDw^qVDQ=6(7$!Vp>a81|RL1jp;`ik&MS|01_^ z?gsc$DD||qW0HOdgUY~S6n3!c%`9b|!2V~}2L9XXiLGHV6P`|&d|2!yx3itkU z<3A04gssJReb&)9Dlp8@x1l=wXEW=_bGM(cQuq}f=( zZf~pE#4g=@sTHU%rUCZbOOHJSUVhltGM4xI&Q|F8>Mq-;NRgS`eF*43OEss&{!!?N z6G_U(#5QbSQZ;`kuPwU88(9iWpEL?*BeH2tx@l{o?yt9KtDHsZiiqdm)bGOJD7~FD$ z>AEXRS^$XaP0ZN$N8zW=iL5H2nYp?1qoaz{BU`w*hBOG4)>_4>@Yk${Q$M+D+}n`I zbx%XA6*a`^EeKW$&G7g+|Hea_Lp9jcuRZo;6l~+Vx3G9J`Z^XbC*y8zdVE!uH7(;# z&;k-U9|mJylPZ|+or|vG%o11i%zQ6Z3am*F(UH4KXwQB;> zsyHP_qfP&xAQ$E3=_qGo<1-|zk@&c02D(#VbgbdW zVv3tt7Gyc4^}u)FY$au-6LVJ!p1Ss9LsJ9tmv?W?O#H=I0@cLdMw(>DFl@#%`scgl zG|w}eN*-w9ucO|D)n)E!UsEbdRIASs^h%Z4p8uNS3d+x5#SPxc_x<==8^<);Kl7?t_nc?_rszw|=W#odh0+)E*-Z=YT(CuRhXdj7EG{Ts z9MD@#O1=aqU-y?4-?wYGYeVdILVc8@{tpJdfzRCgq+1D& z@xaqsneHTdy@fZKKSeP91%FuXb=RevN%F1>z-?fst)NIG4_~;pf0LF>|1k_mnv5K- ztfIiVV3rK+)a5V(9W37PYl+0k7$((6bJ> z|Dsny-a~`vIyJe%JQ7-lR=k^i8U2Njei1!RLgMLg_)xIGK7+@Di%!3kSK_Xs4WZ)D}g?s)R=h zX4ONAYK4P_iqmK_DI{q=-n84_Gs{QxKiC95vUG*MXe<>Via>Rn_;LXto_UGxqZrd5 z_j~1>b)XEs{>d4XGV9DTiTH(c3B@2Dkv;N>3ya1!9sFz?)J7$? z9!*74Hf#TBt|yr74*S;A4G5{-9{z!yK(gDigh{bl9k}F zn5dmfsGarjP%JjP;Y93qrOeuGtBg^E&*onmO6Nw8-OGoHzzxd3!QSZ(5&!-ra@Ae% zz4xX03omx5Tzcc%+#h@PQYfT@K4X9y(KFvJ03Ch(BqAen_V&^r39uh(fST?4QTY^b zYvh6Ps$X+3q=_ngVmRrhLUv4>69a)_m`AA)H z$3SIYp5B%;X9pS((45Eo;=?hhJxMknM9aK}PBl-YHG}!OpH%v=MfnCd8;Y+j-Ibh; z7ca+1Ul&~>UlVK@c;l71@Xy4n=t?jzdYv%STSS?9!V;W`8NF|(eA(Ns#r8@qd7F!U zK+U3w2z`(5Hle66HbI3zYn(!=%6X*xWBe7tdc5-V`(2#pTn~Y6CRGf#jAll z;16w*t@=+d5(mOM&y#o!y8|Bkn$3g~H;3XB5igg?qem`OX)+QRawXjSfl3mTW&w}L z3WsaO*GD~Nm7(|lVW~+}zp7Vd+>IH2N~J7v?G&IeVptaZ>x-?z+_lkLcTf%0<{uDp z9MQVid~_mI1A-Y87FKcczNJmrpIz^TEC~l+4|d%x7|`+?HSkWpS0C+j&ikF#(Ha@D zDcoSWJjN4}QP|z~?#fwb%#bb0`8u=(?XpCy?}0W=xKvt9cAV?W$l`NI@unJ zCx#K0=@!NMta}vXH=M7RbXB^IuFSoer=8{Soy5n$CIz6oM(ja)nTjw=xM@N)T0>^m z>+VwmV_zTbk<5jpe;7iE9SLE_Mekr)|5QIW#O!m;jn0`Xei~ zcr8n|g?IU3KnrrKpmoav4$o9yznwG7*UooIIL~U4LOsuSi5*{NneHOB&d7&36CIAa zYF0v8q#!Llo()0#bawZO6Fbq46(rs9myZ5kjkVw)Fk>YuIG)dL*CJb#ky!1ECR zGUZgBtgX@lo*H773kc1Ee`y&L{8gp+6WsIQ@-ct6!aI{23(2|e-ru|Ka+M>$`JW~# zKsV0JB#ZVV{d?-qWIFxpI@eNTJ<+h}LISA4!s6C8k?bnwQJu~7aRdp3ci?5ci7c__`BIlxhUUpnD#uKSuh`TFDSgzO^%p`PbZWq5e zilOOI_)|l%)bv(zHfGihdSWinwI+1VT1HuRHn)KtnbjAjYi=h-1Q#1 z3v&uX#os45Hs@qIYcOrzY5*tV8Qe14(MXvar+7_`G|dG6RwqVh>|jtYTefWvTz<23 z*DN`dvDQexMJlZQMj}l9GdlMw(3RBFYg?_eu%eCRA~NR3 zFlDAkC)k@kx$SX@oaf+B!gNK&aR=E@J1Nt)fZy!ze4znz$>$6J;7&bkN)kDg_q8VF zKYyWbLD^hf?5OLGbbC8Hg!?zAn-DxN|IUTpOd+pLipk8f?0s3G0vl5lA<+a_otBX2 zPX4g`okdMtf|$stQ+&YRb*At%*6YlVDpsh9s}72dze)bKezr^<35YkZ*qMA9%6W_v z!&bmLg#<3U$z7xH1IJBAf?K?kJj+t2m$oNjPDmK$ig2=UNi+5yUu0o-ow@sl*H3vV z^SSs@I5EA7bX-BZ3=P+-rbv+&=@f?H3@a+FL`u_f*Pq(C(C~21v!&Ky~ z_Qt>cMV0s;bdMz?&sM_qik!y4f3D&RJn=Rg3vtF}HusZo!0)QP729oaXAj#n>wH9) zE580*QaGqBc1AFzCuk~l`;B=<1Q((6jY6)b=EBQDopQlKYvoL(C;zlUN|hHi6dxyE z?a*Jf{g=7l1>^Eue>nmEyHsRC^2=^%ry^jK@8^6s4V5(s9XfN11BHSL!>;M1)4+u# z&)17z`3t{pjsR$3YjYSkVhqbPsPl9AVeHJ1cZ15F^ZNJ~(x^{fk`9SS9+tnU$0_>S zbNQ%=*VIMgP0%QK61B0yoZi|?gY?p||@`Iy{&+RTmf zFc`Iok6Gg6lu1cQyFe(#6p&`!_G;h{qdTQ{B5IfP8ashRU=;ea27cNM|3ZRsr6<8S zBelz}jr(uGaWo9Ba`4}DuHk{o6c74yQmNqgQTs)OCE2olxpIG<|h29!9C4*s+v_#;6pS5H_jcTSvLQ zGV%LUtCie3?u%7#>IFXS1=WihOxub3Kdb`|0=xM|Sj+~Q4)*>#B`0)J>#5IAosozC z4z-sr^y9O&bBk+;K|szCXML?A$3_$^&eC7>G_l`@$MvS6pj}aBox3I5U8*Ll9^xe$T_BzGgKSuO8R{olM6htS+5c$Nby4I5a+iS?v z^#u=!Ahc+aMRBo2-5&&Tii{FmY#i#GUT6YRod2;yW~#2x$WP)jtvpi2Vjd=imIUrkTv{jtdgcK55Q{Wg55i-ZR50E$F*=REX;+9ro z^lB@iV*&W8sTv;Sqow{KZWGw4pV{O%2h+H!aLylax0KqNigSiXs@vg=^>Zb>ymG{kJ?PvSS z3N8HwbnR4f3Z7zbgy@$=Ha4Xy@B1o?79O`WzSu!L*I1XFO(Bg}En&%k*ZR2av5Vbp zisxEowzob~w%u0t$OV{K4eRiq_xS$Y#Ack;lxVjF6SklA(UUxz%<}Z$$Kjr9&5>6v zHpp$yH9OxJJ@}g+l~&45X07^eJ-o`5t^EZH?VB3Y$7e^P3m3^^x&tCL2f>wvoH_3i zo5zPbMWcvKz-$WJ4S0}2Y}x@RkM@#8h|M+WOYa);UfUw1fLVof>|M9pAEFKY`BhqsV`A+Ducxz zxqfk`h}qP6!I{xe?dc5{{Kdr4_s&+{urp`7)U&$j>5Oq>not?&nX^*pSzTvr1%F03 zQU>2BqeeLyTMOU-dzdPwf^z=@B4mq_U8L#q+_ubvLN6!d|Cr*4nZl|nu zw)m>SVGHoilC#{*x9b>)Mg#P4NyD!xBd+4W8G2YL3 z^4}d#__!|wn`v9DK@Pc20GqgCN>r1aiI?BA?syPoVhA!-oq)z4O~$XAJX(AITTapJ zdjm&7%*uR~Puo%EUcDE5clw9x0B?b#FOBAgZVLtIxK}8w>Bq_#nn9nAf9b*_ z^uas3JLy(7ceW(={hRn<$cq!!x36W?4xZkw&J2XvKgQ`*zUFA490p?i-zda#h18+Z zs#KZe#hE9_^ZmtZ*1+|mP@;a{D4FoZXo6-~;=_!$f;pB2k8h8z$BSO?Z_}&$Qealv z8$t_b7M+3`%H)Lk>BHTR*-5eC*FpgY(0n}4Lo4lT2PMeE+2z|QvX8#>lT$G9V>&2Yeg|BCrS~1|Ix$R^yd(tFR9LAU%jil++6)Nkyj)=TKvnvJWxS5< zAYa=l{=30<>;BqO!}!@jB@R3TI~oj$-!gdt<7vGx9G$`xIL@~Xb3RAmpZr&kSDwej z78beOt`bZASnGovTGEuDsKqlB`g>|WFKxP};IyW+wFH5yjWoyEY$LH#YkjS_jW2n{<*?+GNe%2HVie5fb9Un;|7&MuH5ecye^sYqkyrVYF{uH~XNCP& zDC>cZOfX3-kzeT@!S<`eGF&=f5NbEB&3F5f?`FPCs9k#mNPjZV9Ma1pf{KvrnFq=jrD@gakIw}= za|CBBj(K>yk&`}k?>=KnbR zs;IhxW=-JW?(PnO;O_1cAZT!RcR9Gb6Wk>boZxnFJ-E9=aJMl0ckX?fmzi0sS9kBK z>iYU=@7+>geS-#0qW%rFpmR&Hux-4f$kWQ3gJDrz&tAwr+|Mu)&V&E;Oi)E%Ziq#P zn>V4f_Qhcw;P{N8HVNJDXjXgU4dTJRKeGE9Bb71w`sat-ZNTY3%9_{>D+)dn6*d%{tWBHB;isg{}7L{x)q&~0Sau?*{z(B2MFf-ug6kHC;Wi9K{yH*Vf!K=HY`=z4>bg4g;<+yvGkJDzfm zTVeO>`^Dff-%IR;0MGV3H&34%|C56o*bX)BoH_rr_W}R3r~4L6mnI1~ENsh_4>0Av zfux}lL0eAu5xa|XXV@Lzs^2Wv!KmO^cSO5GNo|?!&N9zaEzk`=RP6&$eHFY2Q&1~Et!^XzWUF`Rq2x3Bx3$ProQ5-ofM;Ukt`Lh@~abF zK>h{)#_pGAvqySfq`VHFp>;Vw>R7VJ_0e_z8SH|~tTd7e(4ep2bEVmb7Btlb=S3Kq z$;3R-l^`d6`9%yN@1}3W4(rXfrLHurHp$c3=lx?@TrGqE)gqD_<=Lxr=_d8EKYcX1 zC|%wQbCH9$7b91Q)-O;KB1lV{m;{710C z5NKpadVkL`#`VT$j<7XwDGJ(oO`dLW*RfpTzA<39J-fc!cv61}z9Hi7YCss{#LRQ> ziVr>_SRXE{b7h>~7l#YLeTrzf{U*}a4XZo+DoUBQ#0cu^(jXZw*HYetv}bG@bN1q3 zD{iP0jXhBb_Mjs>=giQ<(Ovd-5}!NVjM?#tjF%{ zTw;oM&OsP=+kLOS#mFMaK+o!3%E=YX-FnM!i0-LBv)5^zd{?dpARQ9}JJ!p{51g@q87WG!Ev#g1kdcJ?-XS`Y(6Xc!^1NxGQ zzl=u1UWQeutG$RJ=KpeV)&l+UL%-NzZrZ>zh(1C%!fEVo3#)$O5$$^)sO*t+&&j$<%|HUS#)#0)qP(wLc@eD6c?25*2x_TOjib>Y?Xg>0 zCxh`sO+iympi4z5KCci_04MEk8oi}DV|(}??Cu!Pc2{Ri=OmU1i+pM@?^nglDqrcco zB>Qd$CNKkx#2j1FUYQv^o73qJNE)DbQE@q@>}Zm1V>GiJ%NDT>cj~wj4lfbM1>}v9 zj5=#kiyE6?_DPUj@W8S{x z-#uGG-bvu7;GyY(G273jMc=uPiE!P1A{;y&jQ`4$`a+lM_D(j|G3e_e*nvm)qaN$P z=ZQINYvab?oG!C2m(4u!{OUEDrW?tC;Swx9_vbrPQoO>{65L3mvNNz}g=oO@TJO%s zynKv5i)>0Rn=HP05{;yH@*`v~_t)H)kCZ*3&t^L8=$w_stJND=pNZ#C=DkC^*0~+# zy(1X^2o>es2WRj8brMO-osH#(q~IIo?&j_2y9jhvhPlC$&?M5)@?ltdiMKID>6L)I zJ!D(PsCQv$jQ0-l8n6>=k&S0D*SYO3$dZ%7&GN%)5(&?fkA+@;0_kYPyU%hGN!Zrl zO6NBC5^w7N?Dq4y{FkzJ?te^qWu}mRsUL>P|HSjtpF)x`&%v8Yx(%NGd|d2wiqFCG zYw;Ef?V%mdkD7aJ2kw7{L2_c{Y-S|Qy|TN!C?(Im+U0cH{l21mdi(nhmArjxj39UQ zZ1JD!Lw4u(5&g)TT2LUrHYE`{pNx(IK^WK>O8w;5_F28{G(aN=8#4SySQ1Lj>uV(9 zLf*F`g!|{BuE1l8v`GvrXTwyS#`3Ym`2lwKGtZk6Fd$X{`fyyJEYWZ)uYbvzWzx{z z@7=^3Zg%oYZxf~aU)5OhU!YG)O=Z3k3u?+Fz2#gqvT#jB7G9%kwD|g)MXH@dyR4j$ zx|%VBD$A@d&-?MKOV^e&S(iG54xiYq#U@#MQ9$ z%-Jab#0a=O-Xw{`xypzpjF^Uaj(E&lf-BJx4xhR$XH6$|q0E+jylqXK1E~+>X%g&5 zvJ`0Pfw@P@vYg2j>17E8`0&26UCji-@>14z7@x2UH%c+9)kytl$ z1%r;sJ|GZ0E+e5>%i>@;nb!PP|7Q{=OER8$7Y5zvdROwatE`NQ?+$it|Lj)UT{3B8 z8Ub^&Byt|B4;oX6m8t#^*Fz{FUZ%_G@1Lop?16{t<9XwP(qHR_WTA&f6bY$Z`3b0a zJou##-T0)Z>f@4b*<+LF!IB#BNjjpyjz+bik!t1P5hgg(5~@A?ER^Sombj#NWK*-2 z5H@xJ>)0O{ovyaUQeJw<0rT>Yp=r@pD59U0T?_M$M3(+^Tv42xZSjeC9`s!W|_F5#fJ3VprlQs0k+%9?Wfl@5{Xdk~5+NPU}AlSe_1PS-P(sE{7=&TF1lU#P1?&h649i*I+e_yvvPMN*LuZhJc|e>KKdr*8&pVZd#&ed>@_rqtX>ie(bfEI`_LQ9`vM%hI4DAP`{181hW9b9 zvDr@-GCKM~cplgjR=VoCxqgyJglH%)*eV#i_yy zxm8fDM*XyIV;V4_|BIt}$oy4n?f3QOuif8QkJ5JkjdJx0n0Ag0x{Z&Kw>u90LL|GQ za%X+C!JDgLs?g(;v@Lp7dPx?@OtV6qf2K=BezkFhY*8VZmT&Hnc-4ph6_ohfW)Jen zHJ25J7~KW~0H7VxwV_#!pnf zJp>r%rj>q`!r63)b8^^M(FL)a{RlQ>n%=PEo?BquU_>!RGcnJ|xSG@8ctCiAkK9l+ zY+#6>1Xwa38;S@wt0v*)|5i;(@F1TOd}l2kV|E5sauyb`6qHD;058zAF4Qa!aC%>L zUeEnX1MR2}Z%@W({Mvo2hlDoo{Ck%5y%DM zN)^DXJ#ST$YJKCl=JR!8+db{Fde|JXE|Q@q-O@54w#D#X_#d#Q=LDrgY2LA>&rXg$ zAanB%kCjC|p$h-sp$|In=dL*Uzx8wL<9ud*UNHQuUtd6K^L_iiuJ6iK8fBm6km7?< z(nepb-|DcEoWo)-w+_N{E)iJGuHm#U9NPjWGLN1h&Xdr$$tHPYy*o8LE7X9R6Sv$| zBhCs@V>k{4QWu+-O3%@p(0cNW9`qY8ssbWKLDWg#~rn`N$XjIoZFA~#m66Ik%cR4cMiY^a6nq)UajWm6e= znrGU`uuqg2(u0^@4QWB^NV8*>*6b7h5bwT!%rgZ_kzF%rKxD}?Ky@cmUzF(!pQe*94Rk6nyeCeDWx`vhVH`$Tj;^Cv(!a$`|8`-HqU(FW4l z>}$gq>*MG23^fT317t06N^V7Q2`q3%SkZWsjY%iyL4r?6pHLk%pz2_@ZjMhhh@sUb zoljBYr;XSvusZy~8-MX5!7RzRJCS|DCh-%T;4q1aeS(Z)Qif!lHNk@c7Ha1pRL}q;1*`?b(EbWtg)1uB5wrxI3SnT#p+b*uy zV723PEaBaI_WH#<=~8*~18U&~>k`;93-nhI{-DS&5^>5q{jx?U)1s2+cR1eq+>mf< zyug%~Qn`g_<`sm@Vx)ec9*Q@1CGNqBHx1gq#m`&T3cF3Q3ZXLVmY95ze`3H4sPfBW z&gYTuBwE3I_DkR9k$Y15Yw_7z-9uvLhY@sCj*+Bpm!u`b$mX3v%iV`3N6C9g& zGwXCCX=a5*9~2Nif;73|1+))6S%*b19#uz)&{B*6-V{7*eu+%LBlKrUg)w5E-F#V^ z9g*;VtiQdmoW~9tW zl#3|8EobP0zI+MKBU5O9ji^5Q)8Ow3%BMUp2a?;R;ChTd3=0YuUb*DK*A}WFGiDMx zpuOB18HE=PgM55}6X2uJwPGLt<)bLLeu`Y@T#||evT59&>OQ#58?K|)fKdKA1TT2K{2FZUV z&J;>eEuRv`<5R+~@}bs{#EZ2D_O~45@LKh!5hwdKk{X)sGxw_ zV(*qW=pP^6OMjn}Tk0m}{RBZ=8WAqi52M)G2*BxOf#@^d6noKi;4~KTAp)$fc=26J z;1(IDG?h@ZB%q3V69{|FO$5bJ}L5zr+iTy7Bofx< zO~>PeM$wKq2~uUcK!8oD8()!H&kGl^i(IaMfd4IUf0`&li28JoaWFh3!U9$NHtw#6N{@;REn)E4zAxEW-lZU zjNApO{T2G>8G5>aK`NRWI*X4zXEasbJuBpeDD{vRin`6|a_i5bRU1!W&Bbq0Lp0aW z?Phb;*Y?qi)f8Kz`|u%t`gP9trd8|V-Z34|rMv^-aBa3ORC6I)r~6+^qPCL8lX>bP zUxvxY@utZGebn$-!>(c>unm1^3@y88*5xUBXo<4`>=IV6)QhOH_SF$yrwh!zOcdc) zxtIG4sa#g`)BP8Q1+1UT6j+4ioFno} zO7phURkkiXSqqkJSg{r=zN}L&wD@8L4A27>y-yZYbfJ|T0)mCSUmb!HCHm^%GFE~z zg}-d`81=WZ~28Oz+P_w7wD8om@L!TA}OlOl*H5eQMvkjKQ-A_!PYgVy; zlAk^xoOcsE3Ghw4&}`l}gj*S<5A#^kpV@~j0u+qlN+Il8JJZ`Dg_j|Gj$5klqJj#7 z@S?w9(KV1B&)DjMj7w^Su|PB2T{Dr*zH3nR_*~DUOh;zP9rz+)*5&iLu@|W?4AocI z_)=n2x{h8Jbw7Rq*A8M9&b>7~Z}`jR7ucGAqZ*#>l#=@2-zx$l-YgrbP6JzX1^dcc z=^W;#9tfz@jY9s&h@x^#_!%7GUV`bu-ou4Ktdwl01DWM3;Gi?ugMuOcJ$SV3P-6Do z1KPM#$WaQxM&u7RT8cAOyA86)ojO?h21JG5_fLNG*kXb}te}Bz)oPMmh(9-kpy#QvR3JLHt*)hl1E1Byr1?a~PU@fq=?cMCWFmJWiVD$6e`p(Y zy$#=-)oAqshcu=v;Ff&-W)Mg5zjV?TS6yj%Nn0Y^Ss>lTSriK(-Ss8I(wckKqzBui zq^kdt0_V(BSDlR{lhN+xfZd5>G85A=*%HqAEqpK{+(-~sFP-4DQD-`*z5mFVcjaCGAS*)`=AvSe)YpPIn&ihmEqz_PRNESASB_ZqgAV{_Ymh^X`b zLkaxfLvv8n^FMp8LqvY49G|ZIK3z?J;_&UE2!G-n#qvDmT*Lm4$^X03a&P+b)5qsr zdp==2wYfi?{+9sw-;yDsw@2AT8jp@eg68vUo)`iAn8#JHKa z-^M)@$0^jko2r^1zAiYvZk5bL1%tHgD;YV!j{_Ks9Wg-wCa6+o^ICX9G z-n#>qfLka(iiuh$H+t<)U>$6EoB$iWLOn#Sy)!Z%!Cy|m1K1(dS>4j^bT)|AX?!tf z&ao%%u_vyvC!Vp^yhC;#u`9dyjSFlRy=;fi@oYhnunWGS`r=`9*oea?9Hvt0zM<7D zXMp9M2y<~~-y&w|PJXCC!bJE4Nk+`ALRcCQFhrVDm|`0tTrWJ<5e@nsR&fx{JzQLY zM=$aD-7A@H- z#LALP71Ng@m_${Ss4Rx7FG)=-(|l{#MCbY$R{~YFC{OUD&>!42;LXr)o6HbYowcvrt4GrYjOkz2_29=bJ0C5Rax*L5}zd zU_S5v$Ebcug{davJD;)sT1LQAw_t?~)KgGF`$=v%6$uy2raMz&GGGA)XP zYWhhoM#T=4n35MAUJ5D$woxqj_MpU9YO(1^SSx2cKp~&4lsc1a3#UgJZg`of0ssEQ z>QGrbLyAme_o%TIg{dPM#A3JwOwo=i5z0lt1G=?p3RDeI!cbTxSdLXlH1}^e9|PXQDL^m*I`mRQa6g^g|*Aa4O^q>_2xlsue>c zL|dzf3Z^3{^boMu?UjrLutN{UaSP-|2C{OuGYxLp``mn_Q5;~Mv#xtApsdfX=yvkXVt{xMM-)*(_MlSS&&t@oF5xPci`V? zek>=Bv=KhL2sPF+p(0f>P(mn`u%XcA);{t+y~5l&qkeXk3lLA714_mK6w3Pkh;QNd z!wZ>UbPl!)gYgez4QlLH;E3RvM0jSe22;nk!76Ihv*R3?QQ6%b!%{ISp_oe82=p)ntwu>}4ZhReWWa+g|8Pcj82Mv~Of#XE)-3Uekl3Xec6{jGqc$vD&_y zMMp7ecl}Gn1YlQ&RtiEwe$|$hIV-VaZ3?sq&)Gy3pCB-sMA&eXgjL*yD~H~7*e;fiQXU9lPvBs#(+_$^5S5l@7Z$RWJJ z1Z!lmxzUt>AK{oDLXkRlGU#DT+w_#j(<>YUsw&=s-k`kxuL4EX8hU(_jMG?HH=E@q zwhjFWr*im9@4$SpPvCW)V%I7?4`kM)vo>R}_HS(z7g1d=8S?lt3~Nq%u8GvdM5b?* zM)^&sr%d5Me>Mx)Frf;1r-kC7;DcEzT+8SC)F222L>T`SK4BAS^+XA!cxv82h|pXAewGwuwT~2vqh=LLIqf z=>8BE$dKqJZ01JTRFMNor;!}ld>b;)3d=@Yyn+yTY>Fl}ne?3$YDJC21fU@Ba%!a@ z5KYKkEq0F&MX^N$*NGF7Aj09{l!RNVuO$iJiC%7Id6q34*8|3 zxD^rzwll>KDLO_n-~jS zU^~OD#(v`u{keu#W&H}dm!dsNJ#8m6zj?@2axMunSpQ~H9JI{dfol2Rss#tR* zknf5!6EQ)+L-M&kamu>9m2QEIiu)rU`BufNBA^Uo5a-7r{D_R%ZyxWTLNkG}1D$d- z7-xr>!Yef&uraLeWAj_FvXg(GZgz$(Clr~g7^@huyve`rrRda-F2u#Dm*wekl>Una z%B5s$Pwg|rrBt2iT$mM0c=~oiu<|4RU5#7!tAy&f- zQD?sCqBMXwFnnJ~(`I9>A`$K?=D7KX%300Ftgo^sZpsyfJ;l#UPDinN1wyPV@{EOM z7NolS_^Jat^YBTHz}cG=T8$o^LH7edf76!%QF?RvNcn;w+=DbA;)avs2=TmZ5IPqAX`t>q|@?1Th6%-cm*nM*xlS(IN zTUK6Cx4dI+o)T-?tM2_OI<;k8K%JK$jx=O76;zTJvonmynbM0wJxUBW#sN1FMwgZC z(54?Zi1=Cz3-No(!=y9M_%MOoa493vxdWFQ*+s9tG)lP`09KT3orC5N#9(n<$*?{j zm{k}M*^BjaZYPT){hA~54Eb@un656EBT;QYvsuuu++x>~{a_;M>X+$hmOIu=rRi6v z?ZUodQi^-@07fqrA)Kw#otgk3WzlXx4#(M9XiVlkwq^oDpfBTi9~^}1jyL1b5ZDJX zO|~^Fg0vhH6B7Nz4k}+?r7|zBpm9396T^?2;<}Q_vx-h0tIn3u!4A-~Q!0HSvH%b3 zOqS9kRPqOMJP6i0p^mC-H=P!Es>w%^j!{z-s2pXs>cA%0jJ=e_R2pdSgs;eJWEWNvo@dGFAGj`zZ$(LPqTVIX6GTS ze&lTBaqQ=8aW8Od@Mw0Fb0V_rk(PN~!7;6e2t>%#i(lXEI_NCw`Ba}b2*LEOKkJZp zu{yKj9Lmd%4x@&&FlN|)cWD0J)*N=5II*K%1i24HG^!x&AwvZ2J}yD%Sr;;wZTCF{ z8UX?(uWTWa%?O28%@6`LpZc)(`N#q|w(-p1e4QSxQl_!`cX$J)s6k{`iA#~}c;{Gf zo!n1h%SjDzV}QH1;&lmy+nZAaOHGyEmAOt1>NRWnJkR@OQ|QAW=oO7Mc)t#dvC)*X zb#-kyiva|8R#zbE7_o;-4H50i=!LG)zg$Vjsxa@rbyNLj1OidM7W(HJW#ysIW<(h( z))l$20)8uy4ES#F65dKmx($>NWt#Xt5oXA?{HAY}&0G#1sza*l7%2J*W88oHSl=i` zqcAc9-|Ygu7Ki-uB6lLZRnR%MC(H>ayk;s8o1~%*xVdhN57KdqUL~XxzYxt^bk#v>3x;lJ66bhC2q16B?Xbe_dDbI=ixhw8B_~ zlSHquCdT{E9Y#Wk@C(bXtG{qP#sP+Ad;#?-of$x{pFWi7XFTF;rv$b-IzpwDeK~H+ zeF55^fyvyms1qDo=CMSI00VT(u-#0^D*kacS$tz}QTO^vR;h*`RL~PGBx9zLHh58% z`U>>KTs9SwLv|pzfl)7xar2Gt9qjc#Bs zJ|uyou{ZNBNG`ULwXJT`YKJ`G$O(EL*Niow z&7uv0i0lE>B+6n;-iKZ)MEV_?O%uMB6ADNR9r#`}93d66wCzk>o#AEc7&74Wa48c| zXv9%IhJTQ4Qbj&z6#*GbQ_wf7-YuIx1L*QF~BMinlFA-UPtNI{L8tLD=3{cm}}N$1gku<|5&UuI1##HS>s;1(TZa} z<=fJlh|f2kpIjg&I>^G7=0Bt2cgmt=y9g{AhS?N=W|fBXAQBj6eEJ1g=Y|O{e(i9z zv_$E#GE1m!RGEq<$;ME8m?5%Us#Ks}7&Lmc(5cEiiLs3K#2y4xa-I2;aT_Ev<&!rW zVqzIes;Vik;u(t#pfEUB8nTQrZ-iqKJ~UdUAETv-T3Eg)HPy3rM?k22P#X#C-o z9sB(+#b@ef_zCX73{o&6mlYz<@Cg>-M6Z3rJPbaBByoAGOaB>#;Q;ie!pnq>brbYt znv7e0;SCLV5%WvF5a_5JgaX`&Kyvbugd+deoGMem04F=otwL=ffRKce>_ogNM@KE* z0!wH<$drnYuzujG>V?4zjZZ`XifLP`4TE1mC`tr~wnNUI(Q zKO5Y$lhid8cr#rtd|+j2XU@(t)duR-)u00GjONY%_`<9+Ef6Qyjsc6$?`Ttyq=z+7 z$k_azFh-7sMR~?jC|58JvwJpp06^xV7Slb`;Ig7;c>0N%-0h?=MMjslsCB4Y`;H8B zF(?O=h{M1EbB4Nztl>LiquufctxAH#QV{J=UbdWwZ`5?iKzt=S!3H9#zIril?lpX> zc_^gRMJl6YB7oW^2C!G4$aN^vLrFv^1?BRuhSE%f@C#x3j}O4#Z-4y<025M2PV6)g zG0@tJu`|OBKlssY)RDXEat_V|fau^x$L43vciyP|(#Q$K(;Q3BS~B?fDhoTgphW`(oU z?Q!6vv1@_%21^~$f1>d=!z#i15#t#wdb+2_7??SFi=AN?aceH8KS58tw3GtTV2#2F z+A5d_*+X&uL^%lKc5=#IZ4l1_@5g*FE~BV?FG$Cme)_1gMSUgh`YQP-XzSAWXQq zev7^?zs14AlQ>741rIbdS@MSFbW_MjGo<6C)BcS7c?Xoj#ziwW9t?K2QH@W`@r7VU z$MOiJ6)vMG3F$su!*>44SR?3@C7Pwk_Ehs*gl0QJN@N@@f>xAH2IN`*DPEyy)HR63 zAU6*&TMyJSg$o37SCOFf@co&Qabfz9%z&t?|IEh}!A_(`z5`JSzM#HX63rgjy0&+jcKWl>co<6{aM`Tk$Q45GPM+ z%Y2C@my^uIn++?ixnOuJYv;%7I%k~(e9r_7{H*{a2_L%-f360!x8_`OaXGtK2P`4x z(ESd`$1izGRohw`3SVYW0Yocz*^AWLY*>dwbHJHI$vV7M`f}QQI;-VKnd;uUg?co* zn!J#KnDPF)Iu{e6eIy+tW4Ig)>nNW$4FfTKuYg*-!;dFo4gkvZdKhL<%o%~Y3r%3I zA`<9R5;;1=YUf>fkJCo{QXwB|DyyN^FQ^sNqgz z&%Pu|ve!-&Q`9}K3i@^EB*vLJ5Jw9Q~7HRe)83)jP#u8u!x3QTjao{KYY#pg|T`d(NuA7&e6( zu~rvm1U*#2Rr$j!4=+t&0wa}x`*&MlFY#>YqXC*-*g@$?ED~NSOd8lD7;8{SWNV@?>85c1?*4iL6)R%FqQK+r454eDD;;&oJ18 z!fb8mIHeaZg~ERax?^p!O-O)>Czjl}l)>Xh_%dON4P@z=)`$HKtOO`kX2!`(5!Tx) z3$)AP%PqkU74G$rr7huL`@`hWP0?Y19*R7@cvOh=9j7)E3F zWjTcR^oMn5?J6fboo`OHbo@z8^bgltX38S!;x5S&r^*!z%2>z(FwaG zN;OxlKm5w&+jdQyNzlgQ=eB2tc$qB179tZPUJ%gq?IF*+D_zvDk#tb=Oa!GZzjnfz zF`aGXi6i*ox=vC?k!O%rWM|U+P1i2;tL#fM@{!fgRI&Wf1d~vZD4totL^a94^(Lz9 zMH+qO=gz^Im9POKyO!AfJr&&(j$EAiHuYpzHuC(JHp_rQ5R5v`nsNIGwWtF zS;1|H^x&nlGf&Qh6tjVI4`}_{>UM z?%5BL>V4-k6~4qH_eYil9G1*qHLtNZ8!rS}w;sTu*LoUYNQ1-bAWq8@*;NZ{?%)Ts zB?rH6?~X!G*q`Q(zLgfDvpbUA!p3`n-&bv0ptV_{?P>{20e+-_ZAQI&K-n9>vwq{L zWq&IZk$(*c&ibI@{W7x>IrY^I_i`|GW+i%RJ-=56HNFLMYw>(rG ziRjybn?Q|vA>2u=7je_kga3TquLsw>9+KQRyf1=|Yc$cxJqPSzM=W{}Q*Yxq-J)CG zeBB0+Q@BnyhlU7_*?7T?Z;VbJ#ka>?+jgC}IWBvivYOE0}v(wyAmY9Fz0%_uC!y|7N{|D<+SNu8e7mv-!F zc>PF#`~sU0mV4O{dT+R$H5z@aMf}> zZePf!Uv}@YDh&eQ9fsGdwPU*Gbfw|jPg9*KB zz;>BFoo9SrB2u{JmSGC-(x=TSuQ6P^VVdcx<#^k??^_`zff1K}1UU<}fsF*YLdVq` z@KftreL4wKq;Bcm;V?3mJp5;daF%fVzC1yVe^HRV6ej1=?KBBk^M;=&-vxv{f42lQ zA}U&D2MVKtffR0+7C2th$vv2N2!a0sfnb@BDyWVX>H=Gc7bULSM38q(pfC*h9e(3Eo*$3i7)k5{8XSYI=o!PWvXc$%#w^MreZ0wh>KDf1ol&3y zxWf$n4bOW#8Vf@DisPG$i5L6ga&3~v>#F3qahl0#uczY-rIm7lWH@0F)cNyE1S3S<8Lh7!@c_YCev z1b0+$c~p!Sa(SpS8v>3u<_YtE_3keEp_Xn1PfblTyt%{o;DL?;3OCEIN)5?ziW>hR z$-85Piip}jhP{w0{xDRV*$i~)`-osQy3RPY2@`ptDeQqcMx$~Y7MYg;8g;&>6l6ob z$b|lWEq|%#|ATmJ2>F69j_3DF`1jSp7UrFOps?7+O-(y&6;r__#GPE|#cGXk=~dVk zh8vRTM<|$UtJ1a*2z{p?D6BMj+lAQav+xM<{mB=?KmFy#aD<-wUBO>@N8q0n+h#=F z5u4o^DGu**o{+|9O;Pe0Fp3bUVW|4_Ko*s5P*U~xdr+U_iUNWkycbagqex}%QO1WP zI052?eQ>k98>*=@py)wicA1_b%`o z9x%KewW8SnJcDi+xIk&E9{6QiYBa(TfzuT-we$aAg%}GAA?_~c50RQlz=uc-Ni0&7 z`E&Gbx*^_X&kNXBz%=+LOhCF}abIl1KSKE(T3gMRY~`Hc1(3 z*CErPdEk2iEQCH}Tsm2za63Re_erZY6a&XVv}c;s&O4|+ulpkKqZRN_x*hqiDzQRc z(j5G+H!#fj4(!pmyRB=MgOGLp16L zG=K%;!0Z33fJF*&Pr!786up!>ZWwNU)#!e34mLmqzgDu4E*YiOsf*S^90N3h=$haP zp;XZC&|QQD2^4PA z`JCE7TP6bq@aMY^nrm0r9))vP*Cs~_!avz*$z+-(K=&1^9^x5NfU!Zm@sYHTXobV0&o_VS=oe#JgYpN zHf>1|uI++1o>o`m5nEPBozHJZNu2iy{t5{^Hl)wR_X=Wf)iJw5gthY*3rPbT zU^vCVd*J{Udn)=UtzKiWoqoZ4<+20iLJq(`Gb&{NNc0lH`?~>ft><9RnbR(pMYC8! z>Lyd4$5#z0ZZi;k;6%4*F$1K0;bgt2#4e$aaS2(7nmvs>;g9tp{1fEczWI`chX(?` z!X0ad{`USJVh%dgs*LoEp$w3X>MZM1+nrgWHwuGamL}fjIyc29uT}5uqTI$p)_!e& zU~n5hOYM6{ugiruOL-u0`%5csNCW-|ht%V?21eXO2Es}8qE?*}5mrNRcZ;1=hX=Am z(r?XoLl^m_6rcgz=)@npEB#AvXdHnUcNl>IO6UL5A5f4vA>XM)J-@|q+kOOEtSEwI zAYW8$`X^WafJ1>a$EFY)O8VDY=K?tCnb7{k1zU65etID*-YaX+{!j(J=J=R9u#qaPES0w#<059Lloz0m5D2L`S{&%^+i(=H};M{KS7;ddS0V&|JI=V+v zI73g2amVJu*YG3X)YW`)JK=DlmpqTCAs&Qd-9UqAaMz`EhPB`5E3`jh0TO!qsXs~? z2nFf|S+tgX{jvEAq~{m0e3)bLP>1!Z|5esiKtAcQl92j#7vKLY?|0AnoiqD9zo+KT%$=P*XRlu7J|(aQ zCsmW~%}>-HykrK4NHM#DK5SC!eYho_m|`PE!>47qkG9;~++m4;eAbBCdK2+Ka+YX-2+I(sj@K6y9rv9S# zSZ>$2x7Bg-ZtF)ByU~M6uL57g6Lf*v!O6Wx0>Xn@jg*OnkPIqqMW?y6nZo_n6ssN- z1=YYTg3W8u;L-yy#3rzfA5vr~`0hB%F%{E+M2wnR-L{l%KTR;U3`UF$uhuL5PBwQ)Ld-^J}! ziTu09-}2-4iRS=R4aiAn<38mJWYDbrbZWwTJ^Ls4tmOh%Ivakp?2Thi`Ju&)MEBOD zW<4o|JO;JgMFp$|wA_*5b$ikYlPq+|ObsO}sN|K)I`(=iRd&jKc3@0X^x>AlIgB1-Tu zCOr`ik|^f~37l^AbFH1{Puc4Rl@Ge=-E1c0o)(+%=YMo5I3^EU37+k=m3@_%6N$DE zEEZQn)qZoIw|0b<`U$nv=H=Z*>Q3n)G}aY(Mr~J8i5uom2G;LLGt_ zZQF=-?q38SGc_)|T2GT4@y{*#zLD}M6TaZfcJo%O|LrGP>!3Q{`YHldfa;0eu~t?W zxUZC`-OH^|Si2-kytrC{SeL%oiU@D*4MY`Wbp=pXKt-EeD4yvm2LJ$TNU+bycL)Gz zXlMZZS6Yu{3sxDAPyv7?0sw#j09_;mGD5->@&XynO0e5V_=tiqb-9(yPJbWd7imEC zk&CCgYX!vc92TG4$xCPgjP&-icZ6q`s5wiV{r`>9aO{byF(Ow5a{({*?9;_p_l! z5GhaD_;l}C)5hOCX912vI&IaP>%-q>Nq$ob}Ctf$=mfYxRsTc$2 zdlUV3<_P66u)|DX!!)?`67-0Nz9ofNAD}B|(go>K_zOTe(7>8o)PibeRLuVl6eIHc%Z8~Rr7M9g8pFC=tk)=O(S}kq7Kyy73BgC! z2hw5HSZDV2uE63gGI~vwH03SMnq$pmn~JAFNrs*;+Y)j+IVG1KZxD8=a8n6D%DwVT z*_)ttjNl;;tLg?wPMgiV36a~I7}5ym@9$#p8K2K@`1?#9wFyH=9e-JgHth%fOu!m_ z6n`fuf7OF5(@9WhpgsH&#nAO_{3h=n3WG1Fk?SwvL<-dyh$MLsX0=`d=lny04#w;^R%?8K<0ta?- z7Zo{D)LoL>b9GwrW76b5l&Zapni3eGrzfa?C;i)-XU0BquC6X$wV0D4yW=R5YdOaT zdx(5u_$$HT3YJ-FE&q-&aHv|NWAHdSiR9sjU5tb>SxbNGqDi+wEOWBEoe-@0BKc$u zkPV|7&!DWL>|AO@VOAmsk|cMeU}>vef3^{ie;IZ}bKFmiBL3>r38!uccXa!FS%F85 z?_QD)xpJe9mVrqf#f-S)C&WPR4bW?-!^bjFkry-e)~~6HNvHU}k@0A|z2gfdW&K!@ z>@($FD6k`AIAm6{jTR|ze-rYY^8PzKw&q>|9G7YR9^*>+h~6d7CF$C?#n2M{w?EAC zXw+xx*0!I>1qboxvDr~g9$HU-cAxP3g)GJ=*2xC_3~V~*{gir_?nT+sVb0EvZp_0Z z=Og5v%AAtu=R-vSFtw!Z^>+B zpJIY)G*E|S+QNeMOVz4K8TJzJWx=IOR+NaZnQEun?P?-;#Y$<8&hK-gd!#=e%D7IX zV9I7bWK&RLr)cVscZFZkAAfwFYE67f;*} zj;*n%xOTjbW~vPu&Iyv8DcNBE!f%H`BLYyW{N%HGY|`3_$|6&Q-C<`fko0^U zQXP+aaW18;?tOV>iN`C(^<<0M?5@(LETh<&duhlTaTU{kig6&M`#XNygfUAwnctYJ zH|Bz4+QFi6Z8BMV**9u%A=Ada+I_atg;EQJ#5^pul(jWk=*60IO+U}`>UUr{+Ee>E z5io;iVn0$=i$YcQ;iEcI0x7i|k(x8m>w%t!?o#7LpKFE)dUSfG>uB1^&yFURG${9H zq-nng^$5%?KF;TXWMfXhITQ6It*W(&@^I6pH*|DhTImMOc<2w*(tM6mG(T5)K_!WM zCAL!ky>PQq?=1D2g4x5c;IoMfI%R&MK~lkVA{nK9Mi=-2f?*a_?Xhv`@H zp!KuN0p+QugDYYQlWsQ27|YoXA4Hm6{6zbfJd}RrR1J;fZs&m*Xeq|9@OL9|CTly# zR!Ek*x~z+|b0NQ4ZPbW4x*1$zTZHC{af-R|cA1`8RrWiC&7OoA;Vcjo3i-nRYTt7@ zq~6cdQO!qgU1(WfmQk|c@#>iaqjy@h%lqdwb!$uczD`tM0!KZ=WJWl9s`E|l5?$Lq ziYtOAuuet-RS81zM5>dNX9rlg$oTOmEt0s^^fO!!7Zf35>HIQvuG{vHOqQHT^l10B zD&)yXSp_|089}GunBTA+?=CU!m|@gKji2J3*TB1E6s~yNL|=vN0GXtAJR>FZiU*Oy zu{x-0PsO?l`g$qrElzhlltJDhY2(o61IL>h9Wm)B$B#$v6z!nco@$0%BlZaY+X)cD zwgR^|2}a}AI8a_7~a>;->RM zJI*&x?0!c!dGDkHc=ocb*CMa4_RrfbXk$y2it~PkvxurLZ2bu(%hI=75!9bVW#@Qe??&4|dC#8~`%r?V%p=ls zuznikC*s$7Cr4~Cx1+#6E@lf^e>J<=o<27kFxBHjtB7gDslF@f=-Pnx^hLpjX0ECj z>@V^=isF|s{Y35Mg#q|SBwpY(Q>Qvqmd4GfQYF?Uq>OQ6$S&Jsp^AiO^GUcN5;M8O zY2a71LK9N%3T(PBmTVit__^_i)#;lL@XYT;`~qzjVgvCq21~4MzuSTM`*BAnI6iGH z`U)0)%T;#9U@2eh1dU~9Y&gEPdE}|?co~{J?^<`97>LQAB3`atiqaLyYJ1-UP0;}9 zZa-6{9*L9TeaLByl&3WZc&?yh9Aw$CxlL0c5Nu(jGG}Szp+fbH#@&2|6W#fZGK!u} z1;ck7`uq7U7zf>Ix+i0ID>m(Cw-_`rO zOtrF!ww()NlYm}DfB5EsI8&fkM#eeefXVA}4;=sH0*#>SHKFiMkIAEOG{cZH;Y%cW zs3t#8-!#;+PavY8g9QcG!jG%M7EJ5orR~ww^m(&$SdDnkD-VQ2VHE6Rb32TXu$|O=Znoa=Vol)eO1QaHlkye~~zR5NwwCv*m z65X&hIrZM!bf;R0>T=(bpZ&mN>GU&>K)F}ntn~E~bUvW*$F<>kXtc^)O3(B+rJMG? zjUU&C4Dn_!Drx)jhq;Kf)OAOqPG(##zKk_3G!h`}#&bt|LaOpnGJA?at=-sJhwqv+ z8>iDpTlga4Cu`wOneIf^7KZX#DmRf_A9)&aaX*q}b|+m~5?&e`qel2;7KCYswuuxo zYUIPUTZt8bkANr2~fR?fg&m?A|K4M{SY^!yR;u!al6#w!AIY^qy&kU4d4Sb5066cjfiDK6%?&Y*_wWZb{ufSN^{CY-R#xNur(oA6{z)@?w zLaI@YC1!^~q|CJ0+H7By!mCk#nz82FfC4eeeeN=REF|pWd!lQRpQNvY+`A_{u98a_ zJ&UKq8C#HI4|WJyLpGY&Nqm)Ho%pemDME-@kTpg<#^$xRgR=BlWKnjXh=nZ_Ph6NW zQ00O+-3H5=hx{j1L!44Dwa!6Gs8%!6qK*z(ps?AS=&k+$d$Y^9?Q8ztDK$|J&)81kj0X20 z#f9I>e7`~jYSO*lkH>uR3?kl%j7^B7K$Rod=5x#0*$RIX-A~%jK9><+l}A!VF--1U zxk!#7pI5Ns`*n7zhk}0Lfhjvtv0V|^jcJW zrVy5#C*J*&;1p}Mt-BYgrtNW03%uWHM9EOO_FYt~Hs}Nf&t`bv8{%6(C{2qtx<@`H zYmRla^nkKyKYntMfCd||w8-@F10?Uo&->}2S>MfHP~*1|d;HS>(OJ$}kysPR{tU~} zHH`#Q~@Oc#%C=K@F7PcVNGvu~Lr#NR13h z=Z)Q**@Zfaoa89CNm*F_im@u!;`3aZwLWjM7;XE-J?uAB<7Z<|?%dE_bv}JDd@OzL z>cW&A?4?JG=f>n&vp!g}NAi|$)$M@1g@}j!Wf9pvy>2hv_(avR;x0y^Q`B|88`Q9< zoWrA~8n=va^}>Y$*$%zBm{*tg=fnZza5{pwosDaylj4$%>4j@~ZQ=Wea{FusOOm@{ zUq^#hL)o1nb(J!OyHeW`j*lWY9#{6Vu1sIldC(07%E$(kMMxajfC`94Bil{XSazTkB7~XGvdIEefgLDE1CLm( zOe;f)1OTi90RVE?!PCE2%fqPIhm^Sgt#F;+^nDigw%l@n%5mwjWa#|b1x*uFYS1WFPE0C2$4`|Fa) zK~SU41#wy76=DD|007u*fJcnA}yC~V_8#+V?4LZ;D$I&j_(Tf&@ z21>&XBt`@l;)Y3G+i&=FFn*rMANP&;_2ybA0011fD@g3Pp>Ne=LR0zvxbKBILgIw_ z@WF=N75AThfBQMGz8jVv9JfiX;8LZL8-7YB z8e-)Bbzh-_aDv+CjTw;dj~N9YOzJyvBYh653vq*FW)AO`A_D+$+|I~z5>9176kZIs zwVZ*L@&k#Wi+n(Qgzbz7*3u}f5;!Pe`1ewszoD}5{|OUYaAY_S3jqiHzdTsWbOBB! zi4qdV`F{iSi_~JoAj|@e+rv6|1#ZQTNWN_-g!rF`G@>?V(V^4=e+B`Y z0IZg{tsBk80xs149}NVq$=!u(2%~;4V?!JM(e%PK33~_)^jhFgQ6mgU=G(9m;Gnuy zRPFwa6Rb5%XgtrK!MZ>v_$d}vJRG#Q=qm>|bY_wNKS@>7>YB1(>lPd|x2zh7qteC* zqm)Fj|2qO=g<$EXlfu0?I(!L0#AO$T#l1@j*F;f@VnJ<$f%g%9)-9(l zV_`nvV1nV_>-RrwLTKkdE6Jdc?}uF2g9wh>QOBqdQ87gR%*V(F!txBTg&L0A%z8Sg zqzI4|k(Rv(EG=3VxPS7Mn)+^6aavO?%yn7ElqAD zKvab&o#}rb9*_V2eFO8BiLe6_z}VUd3^oO`nV7o%*YJOb9*Cbm{Gqe0k#UH!EBi7Y~Vo^Zw@bDl+PX()pMKGY? zxkd>?^k2jWQ|w=)8fy42LWmvlFY*y5{9l9vPv~F75Z@F7A55;qMXk+69&e6Mn`|M2 zNmw&WAn?zDn8@H?#Fm)nUnGts0E6UD5}|7s-+LGkh!-^eF+O?C?Hl(098$>yvHuq7 z7uEH@NIwG<^RH!;=?50YpR~_~X=E3`v~RE=5Do|g63={>1Ni>ojx+fkns@S6A6DJe zqjjZTL7I(n8g3gT>PCLMN0s$tL$}HEWxs}-oP~M*0|8#BV}te;*0TVJd>}^9IYuH4 zjpFR@c5T0z4Xl!n`x|lcu=arf`Drn?4XyOBA&UswA-1V^cXM)PG5HoSjB#~3^edsK zia6RGJYKkSA*8?pgC8z+)(Gu^(Wb(lwr$?i&DT4(soZWjIy4w?spK>z@v;s~FE6^p z7Kd=;81gavbm>03AIzY7UuE}I##ZywfXU?Wj|)};BqvYB^k^^I!zD%@?MHEEcQEn9 zuzeyzJh6I8D*fA#C#g0>Ais`IzvgHBE&a(C9%AEC7No)I08Qkb%+FKdb-M4N86+VO z9t2;lnWX=~A3%si?$;BO3*~=&viq^AHVDOi=akS7E3;Gb9LrMVhh?D1H_}e(eM&#* zH=o)lb6oRmkD<$FL`WxfiLy{He5nN}&D;Xc0{>h6VztaaO;+%x;-UYy|Q1E7=x z9Fy1I$1o3?astc^Wuz4=xdtnesYSi^FSBPwvWMt6od>#8y^jdWI;mE->UvW|CSH~- z9tw%klwE|no8A)T_rEH7wzs66KYm4&^zv?qUfXBw_qh&j1J_k^{eVo!WumFOfBqqp ziORtIo|vvCF5dsz_y6ly#t^I-9Eafsf76(y)j#@~W;=E!-_P}7KZc}m*SxVrp0^i`-Aa2oj)nf_-<>mo7 z600q=m9z0(K{oa}@i7Skl9E~4@`F1B$h``bD8^a;q{?$p(;G}(%0-@(O*3@qs^1M$7|GbtaVE@Cg6}~C?tC+o;Mkcze`PZ}CnuG24-i$DK1b0z)-GL6=skebo z3an!88Y|Z;i^c%npJ{88YBCLsKiD_b#`Wsea#3bt^k?0T`RbVBWcwiHD^1c6*L@cX z+3NGW4WhRPKkq1;vvwg_qqoU+HM6>u7>w?gxG*J8nwhSObq<-`376KVNnKA)Y*Np$ z!)r2Ioa%N-`d*ia^i3mnJhmNupG2-pJ=*unU^gyXTkR1h@G$X-rij)GTka!Oi@9!s zS?ZiSqc&;xZ`;M6N9Wq5J|1vf7y03Dm%T-wa7(M>=GPO7@?22@=^-+uP0`)x;YzZa zu~=G__r%$%M42X115c?Q>I90v8NbV~UrBcOvJVKbxV!eUbX_R$d6zGABIIsrj_as9 zMUrbRS^8DX+$cbM`@kss(fcBuDkh^Q%y7EHCoa2WtaF+lW_qKo$>PFGX4i5W>Xh;i zOqML}JK^uAkWD!1Qf-+%de!|{>%jOPO=(J*z2$($T==&+_I7FSd6T6r$~mJKCGZw; zXMTsh!Gad0wD~*b>46MiWvZ*A=Dr-E1dRKcSV#Nuctte;qlf8F#KbAJJ}%6~7i|-^ z`h=xKJ|oJRr`Y7f8D|N5Qpd=jax=g8{1>k%U&fNKOvqJqR)ZH^UsViN=JaK=7uD1n zZM(*PbaPLOv!rat3Ekf56Kd_na{htl{ibj8IjDxJ>%wyqksUI5cn_sxN~R`HdE9JD z5Am{Pi>GuyAfOR)x+~VN6lSDO*LANAS#7D3aB{uWK%U@z@qlcgkpkxX>ZMCcL=Qr2 z#V_`3hHOqzSu9**xUBO|fThsWQ|20f@8zHAFebCe2pjj4UxyC#!L}4#cjgY1Enm5Q zKeyoMWukigGp3-b$o|PyLXpfiGJguuYlV7E|FHXBp(_5SQr(gceTsX^N zxF-C0#tZmWd?8g!)u|c_bCi7NM3S^W^mQON&A;M!@uA=Og}UAMdYwhd%c)iZsAbv8 z7;h^9am8?;5x2JoL51Ge>Bk+V$*n$b8@?Vd?0-4}@~wr0gQBkvmWIS$lMxsLL>GVtF}Wz7tjyHj@1(0$39=&_kt zACXpuD4VZ#61t%pnI<9~tt3oxIZ&Se44&~d#nd6uwT{<)VcYJAg!h!4&N6kSjz`8$ zK6T;=&>_w1tx9Pb`OdRDa6-^~hhQ)Eo#$lW1gkeA!NAl&eS_5MuZ&)H9QUbbx0BO_ zleE9vr9Km!w&=HQ;WA&d`sb51ku^&Ai7;yStHx}n12_W{Xu(-n&<7UQOmM3O@U z9i4Q)(hDyz#qt@$oSHcgpC#U<;_k+`YfUf#1zJ zi(2&iJ{%RQi&~CecS2011-uI>Eg$GRx@whKfW@Q*P3%u4bI;R;Mt^%G*ST8g(@U6- z?-CR56?B@9t7Raj&kLRjIyZfuHKUtzO0M%Y)2H`j5VM}PV}w22o)`4AK)sgadn$D) zk9=)%yJ%J=k02utI<*5WsmJnf#}{Lsb~{m%yP!Ir-|*hC(@0Sq#cpe%GgOO zAa+B1V=43>w#pPP;7&<dkOKjJJZ>A%>W?qub8mHE9M_Ufu)WVv$snjVP@uG;2!e^z2&TnI#g z6$1IQY!g5rcn}C7xJDE6s7)x_Lm+=3fnY$~Y~7tb+@9LH3qE#pe+t2b5dFObZuh{8 z43J7L2*m1-`11#zKVsK>x&0anpeP}b8&nX8AczKtHHb4v2*@XpdXPg96o?=-1R@Wj z2l5&u5F`$y2&5ha2GR$z1VTgufrx@=fH;DLgVcb00ht6@10kV>01!r62!s>lKFDj3 zVvu@}?;yh&;sX*6k^oW*@)cwbMaRP}2$pk3^X$F}F*#x-;Ap@Ae1R#na<{<7Mejr&Obs#@M=0Mg!PC>Al z!Da)Y1K|Nt1Th401PKR80ciy31DOHAXMsTIL1aKoL7sznfrNr2fso{bhgy)YAe$^T zr{b%WHOzWpSO69g{B6*Bc_X|$Wu@&s1dC_|mJTob2(NgzmK6lbwS=P8u!fbE+_l(u z5S*K0S zEzA8EkKOJ6qz#W;O>15)%7(YbtY+q~rA0z;EN`x6M{T6%{0}QW{Yo1QOursl@~2o$ z;s2u$m^dqqEgRW&5CW!+x9`{5z%1Xw(~4G;Dp#{Y*UH*g8Y9*cGFKDBz|zO38nH6s zQmzK&!1La(G=j&fwUjsi{2-V(VEXtOBYNQ9eIQW$)#lhgRRwE~iSwsXVk-U^lPcHC z+rfo}u%KYwc)+B8nm?jwt+jYH zp&f!p122zSO{`u0*uIw643EfKZ)*d+!L9?_04z7?3AVvH>?1rn^I!YM>zFVDU}ya+ z7$y!p?A=Op>7OE{#I6+v{p<0+1+Ij*G^6{3gzMI7b@pmn_-bz8YF#8eta7cUWvwOi zPgxoZ{?BUjK!{jw{Xe;YZBg^oG#rW~ z>ua<&Me9E+3LY3Y`={BU7-)kz+5r=-EzlYo&l$}ujD@yZqpjFz{TQur(E15lgH4SJ zWvco3b{`9aB0lIXbch zqcs&;E1)$sS}Xq5A`mDI+Heo;K#SH&XibOK%4kg=UzIFG#(=h}p{#zQ2 zIU2zH7dapNmnt4Qob&f~MZ-V-o?S=Q|0XdXMSDIT)AET zzZUBS(tme#TV(lHghV*WzevHx)jyy7ZIXYtso&fCo2Y1?@n53u18$7JO|r-?nUVy4 zg!}_rGAknnRs5XHjT)|_9F9LJ8hWWQ7XKzmuAs&E`Nx#(ONUYVH^M`YvHdqf!+`O( zn91af7=Ifm8J7uT>TmjGCXAK8rE2J5$9RJK*Cxb=q5Sur4X^nzws8L1Y(y{?Wr05* zy(;IcgoP_0kjfbh2qD-}Pr==ZJGh;;vGv++!}T-xK7K7*b0){bo$!^lR!tIL;P?jS z8!kr02nBlrH9VF#Zg|;7WR#V}SY$ia= z@aIRf^!MD+a3XS~B;XT!l4F?L@uZUI1@=4!kYQ+`C|rcCrvM$K0l%;Tik>bQ-57-2 z&ril}P1~d_N@F@=Sf0N#6zfoMflgw)4q{(0yX{Oy|IX zj+h0zed)VEl3_@vS}ftS5K3!kBiS}owUc~dZ^2`q%Zv01QnGlVuRv#yAqaKvbgLxU z##ZfsF4*p4oD-*Ev`?7=V^G#XJe%P5EO{CNw~p`Dm>=<1L&mJxCyDBVEUblY;e>WR zbRqSko-xT9Q(Abq&*4SY3PIt_LH0soI_wrG&PlGY0-&57pF$8&14UvNCVM>7pcjM0 z$5_e1`PR~2j2u)BWAyx(EuA9^6h(4IrTx}y#)P|A&Vlj@x!y&9l`h`vz^+catRBCz z-yyCG8ZI=gm;pG%RQ6+}zc9@@LKZSv9%mamb=<0C*v1tK+*3?fF+G9kclv;(!kvt) zb0B#aq+(6#h2w|)A=!QmdnL%Ron3l)0|x}l9k=A^rr+?}+8 z>kegtSlHHlUNnAqHw|-RLddM~Cvl=fj5;Q=7U{}<1OufVWc!r%ZHA?q9S$zkUZm$0 zLnY8|=vHUQg8q$GDkQZzbQfnY_mTj&V~D60!BYVhqAA- z9WIrSZ3t=bgyND{=L8rKjycgvao~hF}WCyQ{gctJ_!RB0` zZ%||hpywjuMb}E)j-#Gh>p;*P{Lq@q7`r}X85}=iYLiiSt?7)RuY+4UxwGb|jvwA8 z_=P(WY}UEFz?c=O>ui1d7M5cN5h>F@*4nW4&(s< z(O1MU#!3p3?(|=fwcb%O2~^gl9mVlbq_Zb%4q~;Y>BfFsiT4>w-}$VPe1?PxGbR`o zOuitnFRj+BQu-(szd6v-`UVZLAclU2oGwvxP-sW)g8Dv@7e*T78nPEm+F1xr5~?fu zE1cti1i~V$;4Bg~>^?=Db-aFDWCx&P%|SzY*dcnG{1=q4Q=<~+1y)0Fawn}uDUB2H zXK?nBxlqjDGC?Z>B|1_UEcRK?Dg5x;q1QMtj4j9^K}jIXI%zosx6`WQazS)|KEe+2 zUO~zpzgj^DY!R#)1y*B7eem)^z&@TAQ!4=qV-9C8M1R4|h3<+d0C$rGK#1F84J&Hi zzWEs<5v&SkL9M%dqvs|Own%4P7R?OCF6LRVY9~EdVT^M;Kf?aNZ(ob(V{wGR`{P7m zds|Z(6O?031UW4T?qhk;`VspzWbcKTW{Issd;%joXl|3Ogs4~xOya)|k?v?)pxqZf zr4w3ad^84r?OxaCCz$Pmt9Wd_eH96lUnw}&k8yK5Ia!$bvFJMmb%}Oy zbb{78dKWk<_r5gWtcB)w@K(~xV1m;?VW%a|d60G`htN&po);benMc$S{fM_3SlTI7Nk4;uBG3+uQT&3m2Q;&I?1}%}gW@9=K?kL^>@A$LKv-Zh zn2pf_0CA_YC&dZW?6A2_`WZssN#erSNZ5*HiOn3s9CX5hxKl);r|>iuzgp4Cg_VYo zE5z?MvpLClpjH;%Hl}X}s|%3~Bm>tuNT*X`K_d42213}LxH)(ZTx{^}2OogX765ZR zkj(|cfEyD61PXP=Wc~QMu9PLzNb>+U5-cjS43;IvUf@WF57rLhD0D}`ITl(F3=XJ9 zVj1i?EUOUSm?w;wzk_zIAvDAU9VZJ^F5F%>WU%G1tRRcmv*=_81%4dFwXGFRaK81F)SjeHHG2Z%w-xLV@H99A3HRM;E3dQo5iAgZRf#r4F^*ROSR+A;s2Iw;%!udg&cEKm(3pVDH8+Y;z35 zAihq61&2zy&lrxKVhg4&jEzj6!PNt&l57Sd9@J+|cnj04Q@oOK8=T(h*3^yo+c>@* zmM$WbxGym-74HCdAuq9UJ6T<5W^i5_t$to7apAs85FOOgF}rZL5qE}g7kUFatUeLfsL$z_~B6FMJon5(B`k2%hNJS|Hvh zb-CG!KZofY;@Q!%AiFPj4!I)t!;`~g4$tN2gDN^E7U=f{&Pn`8 z10aQ+F$?nx+)^P>SfEv>^MdC-?p>(HdMwG;b{wk8AgCV;$+r-!SiCD1{70CHij=yE z{f7!-H?YRQofU>duxXZf5mc|kJ4>(#cQXWs1xpWnnB&m}{m8<%Cm2=~8Dyx12q^Lm z($!+n0$BpxSUU<-_7#1SPgP^Vnb4m_xK7XVmdvxc$f=CdH72;3Fj4#g@Vx_aT;lJ2vb&mnya(w_t)aHYCCURA{$A+Xf2m<9thq%d-!IA=7r|@ zT~~dnmyfb z`>c^~7WlhOvG`f_y^O)WQZ_l}(nd2IH+MbX#!D-eYhg|adXgr$z#5;UXn9|zIR5C6 zRb5Rmccl*ZEsr{K6yot1c=dK5#5brhxwFlD#;8-)YGy(+V=qxA)V6<8@cG=D#u^~U zGk`6e`6Aho`GaF&Z|hB0dDh+UOLKf1v6n@?{;-t`{NgUKSPLJ9?`F2l#Ps@SCLFJY zOW(X!4~IRNfoZ1bsHb@gcd5+iMEW-W@{GHZU+a4vb;{olYqYWcpW`37vy4OnmkR@{J9H(*gCezgzl=YT}{ z-TCGj`KH5*_>~%k8H}b=qi_+;nb8Wu?-piDSF0LFo<^V2;sUf5MbGXZ-gkH5a8_?V z{vFuM`09HF&jB^B2=}{{-$WKZLT;*?4Y_XysLqgjsFi}(+5?(L?6N{lEs+4&I%d&) z9(M0VCO$~(skXg(-gNT8(JoTjt-|ud8g|^>rq^F&GN)>M{urTP;@`o`)w zN!u(YPG7_A0$0|ee$5_Rg*O(r+bb~Lx)@#BjS&@a)z5HpB~@u;-*t7l{3hE67j$W& z?quYC*<;t*X!IqWWp~SBS3nRr6Kq5-&5?TAy3X%LxX)0oJvK^%H7>QT699eifG#*{ zlJYu%uWzJ$f8OGyonLY4k1Mq+jq-h)cYCI5%J(PCcRc~~-585qeZjNm$(NqV)1MX`29gt+-7R)i1U=vN%8ty&#A@fO z$)_xo5E>yi1kZFmQ_A<>m+!wYl9J_07&iipuE+$>?k4+IgU;}bH8&ymrix(cJ9?hv z8kvqQe5Ae>-gob2*IGumd|~$d4h&JEQnoCa8)vY+=1P`OGXQ14Z;ze5@_kg8756a8 zUGpo{#V9;VvV8x(pr>ZC^sGTYpT#c!w_;jack^Avrt+%qiT$DzbtC4B*iGfGTn(ZF zd={?b%`@~CyWZso`)~M=cLXK+662(DJnpSnPFtMKZn-hPYI<&2PPO5QS3y=R-KfuY z=J6fC-92L4!2-NX={Fql3S}o)KIKk_rLMw>Tr=;dJ#f7y@icSQpO0!x56|D#5R^FS zBU#dZ{Z=0qnWv5{Pj6HT8?l@buz2YZI6TR%jp2Lv^S^j*>J}}P2|2@j$oZ+ z(De@+ww)si6V%t#>k@36=lI@rkp#t-G8JH}V%*ljVwFT#E`* zl~%y?-48&Vtnw+Pr16RhTc~6$ciotGPj_rL6`OQ8!!0+wUPYhAZZfv6h}I~$K5r&G zzWRD6KeG_1xik8$mu;TnBD;H_HvCMomkdGC>w~aM+CWIe*%^;dobZ3Jd(_p1H0yw^*~ z|4UGn!--&EbGzGHIEt5~bLbt-e9;(X8{JPWX~9uPJ`DTihSfkW|GP7k9~fy$kG)E> z^?%77FnTn=29SH-2VLYh<%qJ{uxOrmwNADS@Y_)WZMdlxPQu<58t*PdFqjs0}1W`;&dpy<2 zGFHw9X8_rhk&Qf0a=<$2DzpZ>I`zQnW*uAJn zBI!1Z7x%Qt_MRmX^-oRZ=)`?jwys`xb6ylao4blO#V2mJo8}zck!fs)!b4W?u5{%J zBLF&cjw2QAko*UsivXLXnN84}0WyJ~~xPcD+vFT6YdX8VH`w>Um!OF_5%ZUeRo3U5ktj*54YD-H)0 zWJuGviLh3~6%V$G(8v|3MzwP4Yn&nH1Xrir&!o;BeuI&4&7SkjHP>C7vDB_6`bVTp zYk>IEtDWzMtkDf7KhFB>2U5T59Mr2J%tmz>oC#M8^VuY77&s1?7Ed~;%sr#vJY!$E zXa`Ri$c4tTkNo2;_0PWSHkXV4|9QfHMyMes?UXcHW%@mKM>0Pa=k{6Jg48B**q`Za`NeVS>8g%+GZ?e zJ};rswv(`*ezRTwi|5btSLEjRQ(n8puRDLZaBf)lj0_;%os6`#IGBK+`zFKy%X^ea z%X4+0=G@uPb$gy0<-Y_|xoWURDx#1}^FpX6Jeg0t`~MvOXMnoRmf>xDA5QpMc9@3C zd6o5sIbmN(PcC#(cv$B8@ep&;VUyNzLpbX7Ocix+^O6MIy(M9QY=}ATuu194Q_XvZ z2L;X_;L(+8zD#uZ^~dwfAO615HX+vI5*3Pb&*J-n%G!r*+y^y1;b)xnDNp0J%T*_T z%nz{Azmd4pHR4OI=~SckyQk_s!@|dXR<=+n8(dxW%)$HZU&JvIPo~-CA72LY`sA_E z2bK7|>;A-MHFQ5f;E=vrQkT>^|K6cPfFLuXCJuOe<+ozh<5p$bTV05Fu;R?0X+-Yy zL8wSfd?%FJ-N&`$ow!?p@a4*7z#cT}7Fk?NeQ5)tT2O`4RF4SD%&!D1fB%ns4)#S7cKL;FIVX z?3!SL{GzWNDE7%Xb1rBl&u=BK5*ELlMX)7DnE#s?6JaylZm@1#m3H1k_Bi=48G%F6 zxPn>E5(l;rwylWICBND|tGe^q&VX<~T^nD<@PwRCCjZL%l*Xmgi%v}KHQiL#kOIphbm?hQAzRl zCZ0;Zw6SV8CZ>9R3QsN_T4L@!G)e3o9u-NKSeaV&ds^R(87`j;7jcm51w`8vzEDTD zei2_|H;TNLnoc-7V$)nfyqX)hHV|7zrae~;_!}lABFuT+nz|F&jKW(DZK}G>ROC1g z4dR%?uM}6F#{prYJKaM6*ATXAcI%8U;T79KQba)U8==JgJ~qz?(MzY1fUDuZ0r+?N ze{(D%uE~_x=@Rtk#L62sB3jSKwWs3 zTfL3*r&lJ&NixT>?}yQ+AENfu^)mm2$)@%Jw*o|9esKlIpHRrb)5YPv%i%qzG5LJ( z$lwdXqF!o0XB4dZyfh3JabEhwP61V7{5)2k1r>N+s($6LDIqpja74IF8UbrQFO8H3 zOs;+|Rj{JymMVBqDN7ZcDAT11ffM~yLmBaO;M6JCJV;C^a`sztXOLhx9PeXRP07{dT@pOyyIewZ=J732UDLmoob96V`C%FH*0P zwAQ$PWb(p4aiK(i>ZGi2YaNd09uos9^WafsUhVk(O2GR&d$F*p^VG2R@R^F@1S@?W z*sJY@?o7dhRQ0Q8B~=+uM=pL*ok~#q6Am@R9-BtM^4HD6VU!NP(w0AZl~uvA_s7>W zk6uW175_LHz5iS5-RRSIc_W7YKT-8L;5;fgpMIRFf_l9)@Zs{=Pvq}NSQ{XtimMI_ z8P!)k@T36h&uhNVtN(t;&2y%$x0{|fBmET6LiFeC@&7plr?YLebRWI??spGWJ{;W~ z4oj`gJ*sl%zP@m~{tPUwSAi`p z<^6CV;aoKms6Fp0^4Ml(->`^Em$(p0y0l zy-2FafbjF=uz=!kR=fz?B`Yoze91}>MY&|fit7CiG@Tno0Qu(?v9EpK&NwHo8-=4Z z4y?jI{Z7+Q*)JV^NdmwKL~MB%=5zrQXTY08@m92iChyw7X6KWxH>s#}8HznTcU zHa)Q7Lv4Kn7!3(lXGY#wRh+t=pL~q#lPqeQm+}w^t%$$+ob0uw0#h8GX4!a=a56{i zX6XZc#>>u3b@8#ATUn0wWTg3Je8L(RxYSC;bQSlxT?>3bQ2~p<4-QByBQGD-R6cYU*w9%q6hMYl9&e z*CBBnw@N$D0U&n+<`z}UNNyPkFDw!7Wj2Ud-;yfu+p4)LblCmqSHE)fSf5!%@Bgm= z{BPgdY)q~^v}}_qj`)N^&e=Kd$fP}+;5)#XnN028>a-cCMh>KYo98-cP`}y{u5j)m z*f5dPVJ;7N;;o@&?e8udZmT8x-WI6N=ya<}`FZGA_Xcj@z|-qIN{}R9l*m7CU{vL& zv!c3bn#3G=^#)Gzvy0@UETtdCJbEvwaEvW!z8KCAGfJ+x(kOc}^+3X9o#C3r3doHT zkp|b#s}>HVg>l^3k~`8AA)MO3x3{pL$}#uS;|;RqJ4|)9A0@jqUrJH~02ScA3;b8~ zX9s)a*K!B*IV4rrR0n(1*8vCAy*{nRJ+S{T;W}_-IWXZGgXbEmhr-RfB2~L!jy;rT zfdi$@@f9$GjIFG5(unKWJV34IIyT|@u?IjJ%ADlYP`tbi)4FOXZJ7dE&SQ$6Zp*Ww zq(?2bVc=FR;#&KF`TI4`6=U83Gx_zM1Low5jm9*3hOYBtNlkY-7xR9z=w8WAS4lfb z!8QIacpAJht%f1lJ!x53n=#pSvoWo3hJATccGCN0rJA@N0N)oq5lSK+OJ>ul0*Hz$ zzF*V#{^(izc#e@&TvG6Km{9V#tp7>USuwd^=H>cKH`}Lj)U)^(1(wgI9{Jm*x@fEg z7-;QOtxu<~IuvQmhs>1*G;Ca^AB|~=`%^pgY&@lN{S62k=b%NPz;x~JAI0yGm%wu}Gp|4XNwY~*x8rH`_ zl`U_%Wpyix`zx8L4%Dyvvc}J8mPGJAp&h(5#xZEts+OMU)ttQeAd}6shPaS^U2Vqi zGhn;9RabOej3V*(y=1tY?}$ESjm*<&V?VS=;v2Pkfe`nMYo5q)j(Jvst1QQMXci}5 zxm_qec`Tp@BssID>+mC(c*23+6UJ?Z^^19xORt|fdp=qLbMgL*zPw7#&rEcfpVAI{ z9{5U-??Fee^{?b!X3_C1de&UE93J^LU3$$P=+rID0}a%*@n2d zzsQT>%LglKCBm89AM)I%gmi_S%{Z(cS(zORRE3}A|H`!Lxw`ms0(!2z2?V6y!lcEw zVk`Eq&Ww*4$5b|7C$T>wPi@a^4u*RUUVqKmi_>b|ODqeZz6b?344>S8W$M-lRUa1{ zDT5o_Og4Fn3o^|bZG<{fOP1>pKZyrH4z__1e;;DWXnVBFghRD-!U;h|C=EoexSf!m z3K<-b_$P}g%RU8$Buto#LY+Psxn14d9+e*I`p_J7TJ^cqtolXH2m|7!<7b~fwkG49 z8ufzpWpV$nV%oFTL!P5`9)v#3_(=G1fZoKQ*+yI5x%vlr%K`nAxsVNBAKJD7g>xIJ z1^XWL1zvApz@sajaK99|-bvKCRf3mL`1PA^BaSP91DF7~t7opcdf?BC8c+%7 zJaj+d>lGTM#h-|dOX|jo3+KPi=auHNGT@Mzx^q^sI4H4URMJo4FC?Lle80U>tCP;< zE0ti!7}^f#OB_9_7T*yxNj>qY7T-Fwar$irYB^9#Y&@T}P}(efC%zR<_xm%qgMCd# zQFb398#IKbgaP@sD`RX%HNW79684MYkjwf4cSo6l8h*fFe(<99d`m+ns$kQ%dQGW4 zV`aYwAv=98Z*$R(h|1rf&MR~cIZiZgF93o`{3D%*OAF@>zjh1i!q~w#G22i3$XBSc zzJTluab#)x`j(?e`xv#q|H_g7!Sye51{7B&@v;191ONP^LML+V%Xc@H4lWv3 zxD5{DOQzSg>JRqpo+IRcavKX8$PalpCaALeXCo5xr>Mp5$;DLjKRl}zy|B+)J_bDb zuglu)y!DVB!wE+0GNH?{qVRFGp7%BeNg77(>z)KmVr$zzMLzM{Om*JCxUwUXJ^ia= zjpg%*D^z^{qAQY_ZKG)fE;&NxOr|-qI}G<8;e>7Iz1$eudLS!0qVvh!ho@n6I3PvS z_qpIsA-G}Pe2s9eZcuKK|LG>2447#)IcxIFC+W2dob+x=CTWgIv&~apVDvVO!c0=! z9K$bvNOEX3)g`z&7ALy`PCOUf-b|WD3}wg4W2tlOYTk9@>a76|WqnfFVu%AKA0UhG z(;4nf?L#&a()Az`|GkuM1d$AB8K1DrtZN*z8JA4Rob)<>x>Kr4imHeQfN3=$$ctp_ z^Z%`mF!}vCb3Jt`kxD&tvpXPOn|sJp#Y-ef-#{od!2QcZ>JRC~(MHG(*}(cysw7h} z*Y&eozdUAb%{TJRHn#ZLE9|BW_nu9e?onR%@%JHpH!ux;xs^+GRJXm{{^%uOto^Xe z_?>}cl8AwLuSpur(ubsX4*31q%6IF6_rdEjpP=ryY<=#hLl|}8+vXky(ep;BM}i-; z7!k-QKe0D+)ZItN)RK@3Shw(@RMN=kEI+cO%IQj?=D7GB33B(xtGf3)KEL*O(_;6E zH20Z*wq%MkfBzQV-V!|qV@G%;XS7d6tOL~k!Rs-}>abOj`bwF_-eU z5V4w83&Sv8#G{zgleg<5G8r)CV`AB3VoPDfeWr^oLBtOxL|l&ZQXH&uJ=JIQ+8{^g zOzryqkc9gNbn5WPO_V-CLSePTl7=Qyur!xWEAmle4!vbPc{$_{Ch!vmkbv&g8+RhY5Mj zGjw(g6lF@N%=hL3{_Kc3Cit@S<70oBxJO~&7lErfpt5t z86b7t&c_^hbX+4-4rm`gj@gnYL%twII_C)OtHFLd-k0xEntycsmI?7PCvz)%fD9=^ zihM9Ma5iWqfWT%#%;s3FXTx-kBf+ZR4+)(%qV$J^4jNIOLqaEwa_7xMLPvvzkpWGi zD8Hc!aLnF7!kG{oIaV9lRsauz5Bv~Wx^Coc4t|g_@>yr5L>e&d90?3r?c4#7X2+$n z zVlH9ai1$ou+=VKD5;lUI+7W&kia)vHdi`R^`Lr8+yPapVBl-!HAIqyEL{zLE1!V+0 zI;mW5&_GxveVUi2M2eI8$H(7?S!4|CX~4vh+6C*LVeR)n9eP_FOZdnDUsCVGMwGx0 z2QB9CmZAJTRz#{yIWr$(_D_lCm$T>j5p7I}7G+?H%bFt&1UXr3Xm$5S z;niTiecq?3+XAYElf*ln^@$&!czUob2NUb3k@Q=4RqJmbrN4`JKVIPAz60(o*3a)8 z-P{1m?sKM>`Ip=t#J>yvjoZm$ME zk>7GzGT@xI&fIz9`>Fx@iBjH*A=!yf#*B12csz8Jy;*tOgWTe7LZDvJ7Z3YQ^`FiV zYAi0PgzER#b)_>8?jlo8j3aycA{_em2xIU*g4-Xz##NV!%e&>5y7W9mQLp(?deIqO z(W{yL8l`5e`JuxVudN}1JVfu^KHL$n)zs443FW$VD7|l2@MCc^o`z%?_6;V5^zAaZ z|J;oGzv0>9^v zx1%d4N^*J8%&T*G=l9E6LXniG4^FmR)|I3oTCzj@HO9*c4x5n$7EO+HVO+gDzJQjR zsC#dI5^u^PTu+m{&!_bBkDGni+9vM>Qas>#?#k{(X+OAA?zX&`TT*s6YGN4l(~B%u zCM62(e`-Y8xLH%mYhJuf&@uMWVr;>or<}!HVA6oGynb8bT`6CSLx+c4i^G?(Xp1`V zhwbv;E*>^UjEz!NeAwmv+ftZvcK(adZ3Qo*$*kI0YY_GBX5VDTR=Koq9B z%TWbz;Kx8RW+*CQXt-hbOIj~#41vL?`%F-5`AE;;2BNUQ)N#dFMs6gHkv21RzpZ*1 z>KE$O9>ToKDr#m{OkCIRKu>!8Ht%aXLNZDF$aXzA3ZvgI)J<69BK^hMtDov+9thZr zi7VaI`543a4>gS|bn7LmE(_u)%rflNFy(Vo-c)@q-+h-NoF9i|wD`Qn0t|Fr1Hc;}L=`2h zx6sFDR0{UR4sVGzK(@x`%wa zcrEsdB(pbLH*-%Y%32APc80F6sLC9NNCiwO^=Ve^QosCu@;)KdP@X%NYrN`hkYJ-7 zLcgf@>?rnD<2I=<$@8aU+F9f}}X)mPRquts82G{mm`dzlm zqY4c90~!4q-!2XrHb#{hwiq@(-%E4ukJA?T=Gq_EpBQ#DD>?i;;;z6zTtD5niyelI z<9lhvYif1^OINPZuYR!ix4Y-L6E7vCv8Stq9i2)JH&MCPdYry0S7Nwia203KhP!_& zj=DR~>zQ_UB28hhwRE}%A26*^nm1)1bg0Vc3Y%rjb%-cgdn01X*Hw~tIK+OW5Fx%5 z6{ymdc>kMt>lv}#=Nge05f5qXf8^@PJ*)N$U5&T-R&>|dAhu!8-~~$aI#>45V2Z;@ z@~no0*le>JcBuHHkSY{?*Qw~psEycI3Z@qL-*34Cuc9;!WX?px%i91X4^vn0yulf^ z3o|3Zs*Np!f>AF~>)WblcQb4fL#k9gzs_W)>ypv%L(omX@gwSr^bmu(} zBkrHb$ZDL7y!!DtgO8FgA{vh|WT>WrSFOl~_{XFf2Q?b`T>&QQ

*p7!Ckw533S777%H;_hxOTA)C2cM0wuVB2EFp|}NicZX8k-6gn(-~odC z_?YUlo^xhS?3^+ztW`o7P&aioOyuY$)SE}9({K=YQ}TO?UK;pN z7HSW9fK>@wD$-z_`>de&f^HdnO1eB-PamrKu6XD^uOa>?-oSI#m${1+@4 z+2anbN_7Q}+F37QKIym&3XRH~%~U4Fj#6yIMu8GuJ_gZcCC;O}0k0V+b2kOJ(gd;y zzqS$G-Rp7SUOOZON|eQvT(GIS;>-$jY0b&b8R=U%^9V~g42Q-qV%6kRbFi`7)=`~VN-z%$#;ylbgU(Za4)rF2vI2K&U0fyP zz#kTrug|!3+5=FD@-y6_{zpmGn<+WW1%ghkK(XbAwn!aYRv*{`K`HOYuoPjQIC*}O z!btDpTsm!*@fS;~hnKHN?+%9v@oHZr<7LD%f8V*2?Mqw8WYfWi61Nn6Msb>AGp*G<>Tz5qtaIbvaPAFf}d6gB2RklSSu#@OrW*J7_ z2{>_m&zYWL$|~R0tqsD~vJxZ;pQmC6MofRAzoqm;-6&aDRGBnWr@dvy4zZWDH zQ=@F-!L!?%vBxP7DVekB{sp|g*uJ+O=Et9{f>GF(repJq zF`P2)@go>d(+)Y(#`r~*J!g+Qw*jNuG+`H|^I1lvU6FX8fvV~g6xW`nEUnN^VSF%L% zJf%SQ^hUnYdw-z6rr-Q_M0BooB29^c-Q~3fLk&SIM3Wa&O++CF{DvtY72xP{N*lL6 z5;_0S>t`PiJ>&A&5_C9vnOiQgta-nTuW*>(flBnPkW7rQjcH_X+=4`I$BDj&_Z~kd zPhWa7saFGblF5VsSWJHs z>biJxuQh#fevhTUW2^qqsOZG=K7qmbK7FA4<9#~A*X#zDLGX$68f`|Jt`>CCny$_8X-u7bkc|1T%iRc~D?5OGja5{X0`MGbcajF%y zTHlUx$v%i92eTJyFW4nJg*dS;rntb+c)_3{aS;kFQzLWe7+-&DPK*FMK2ol)OpuRh z-HFnz&Bt6?ZjoIe=6-cjXxJO~9VJivdEw8Ta)~N1z57CV$k5orv2S=y#Ow83`HDlR zH1@xgXH}%m1(`X)09U@ibMjljh!Iv0GbpaEA#+Z%|I4=~NI_MQr)Ms44qqZ3nuz0p zin!G)uc>0BDgUE?F!mF8nsIsepu_6xFe8glYqpb1>k;6}x;R9L&I|-M)fk7GYY0;w zO$urI2oha_bR#ArojqSkf@~OWf2->d%_SsFHg**^a;FplJv7aBw-JIo_aPrjI+$i& z%3g|xbL>}uOcli8iYo8OM*I70Ww(`fF}<$XY2aFo-CRTIeB&u-CF3nZ`#Oxy>Y=`o z^DV<)JCDnp%G7V%;|>m-FV7aP$HPa=8m`QEtE$mNtUM? zGUT7z$Yu}%EI!3g_i2~+Dg&~o>g%o1sb?D})@)<@Wp{ghn9+yW>>dW8`V#Ft&k%%} ztct#`H%FgY3V!B_hB9xT7V`#Q&WDX#BUf#0c#p4s+0DN8NC-e-`xlWAH&t$@TjN(> zn_U9*gy^1S7GRQ*NVnniZy! zzvl4eSyD;$<<1NJA|zMb@tdZ#Odzvl~)_~9RE2-trd1CTA$2z{$b|> ztUdc{Bx80t5Ek> z>iae>z^!(|UaMOCZeIVlbN^v(i?WG%v^XIq<_yLBJY^iKCGxE15@q~G-ZEZvT|w5%xlTK?Gt>#)Fs@) zQg-fEzd{P5<9*~UFYCG~;DUbrb_N=!w-I98V66yq+2w$zLDMSnwi_K`#WTkUDz;!b2VWQx z4Tef9g+PIk)L?v_xY2+F;?Z3l$0ZuMjVenQE4WC4$?}}YnJgzd7-n6=Tq*5Fsr|-d zRwVeS$N4&_}gVv0C{TmD7cSGSKGG+b1z_RN! z&dju{TNNa?H(OIJ@qLbIZFzOi+%qf1hTb#ZPsUcQCK25Qbr<{_^_x3;y6``_9+PfHMa2A2=o)*eD%NHG#rT^gloZFbj`gEL$UwsAhMfc5sSzqkxS9|mc z&yFi?yDtXbK>jMtYEPh*3gw2$DkKKEZjg6$jae4J9b?4 zm|AP9+@Iya->qZq*x7dEfcxc;rutX#HJv@(q9{puo*wn$8%qva(H+pz@K`O==$tl= zpJpwj;4qgA@oJS=m+FR#g z^lkQX#aYGSsr*kK_ny4&!Lu@!bX!fT)TkPq?wO+9{eOiwWpu>Of!nvY<81Cqa|`CJ z0S}?e0Vt~9R$uVsPA^rH7{I*ryR4^>3u|0mbGZt2L`6iii;(w*rq}4%?X(vSAHY&R ziJb%oH?{{{U9)Pbp#t@_KBHkp!6B>)GanTo*)BiyN+>g4>?}ULoYva~y1ZTzA>RIS zn3vq0(vbOcmKLTv4txr-Gs)d=7aYlMv&B__H{eeugN)wyV&3XwdMxmMhJ1pTSoto# ztV-P^@-|d>us8u#KE9pPR7oy5zs%diW_iaHhLoTZ?MaR(;MsjITKh{60unR{AS$(5 zKJ3{n2Xhyy*>hXw``wr-uDKtCEwiN*d4W`1QG^V!{lP5Dz)VjY`tgsa2o-(9WsJ3Q zs^b@p{u>Z14+STsAR(#cM2NEB&%TSmYmh)Ajvfl{k55lgsHLWJ$+8myuGPa?>*GY` ztA~wapu|DKN*hT@!tg9#FFpS8AmD~)gZRUyys4qhvT>XO7w678e@Ykz*Q6C|P(J&3 zQlEn;G=lgDpcmS}((qSG1;189eqQQNcGQFL!cAUGMC+}5EGrH{-!*c3+E*+*UDTj0 z-{{d$7CS7KW4v^FbB{D6Qu}#N{%V57vF3**2kF7}H-i=4KA+W@skvcS>=DOZ9OIu&2pHRoXI_1Tf~ zT@WovKSiqe(Q`V}im>;y!D_yukQ>p)70D|NhZ218GpWpk5g zoJpFOLwsx>m_(Kd${G>x5VbaSr3d{W>V%44HfO~XdfAM9c*$R5Fg6gjLo+^~O)}Nw zf=t_00~SsMvf3H_$H@0DoXjsSIC5Pt6|d%sQ(Z#k4|B&Dvi=b2)SLO_d_&7LW0$_J z_N}0NOM}Z7G@9RNmftv7MBdx0M?Pr!FuGUg<&-a+FDc=?`HpEdt}jlU6B4DfB&c#{m84w`jyEBW#0?FlSvkjlcn33k1DWb0LUd--JDJr6gNh6TT*s&dpZr4Sf^w@u=C*;~?Q7k8WG#{5W z3_$6)sobTmWMeB)hI&J(wEJXBDWVSdQ)aug_^btyt)FF%5+^Iq*xq0oJratldUTjt z(ts}<*T5}z_URUIz=gl;Ji&PP`>kRdV}@LelyWhiz@qKut;y`h=a9x$RO+frs|9mWhwto@}+ zywVP%V8IB*5>dZd6X=G?GC$9`T+cXs()V*pdDKK5?M|l8ifVFl%X4w-!}W<|Fh^8P ztx)m$MKmb9&qoe^*Oiqrv5U1H`XToNmU?`pBmHltdFexx6EaUwTwGo~c^!TmP?{)g z#uCP`Sa21%oK%# z&TMO$cd_bc_R6em$ph=vGlz+}I|w-joEbj@Big8E>_WL$Gnh5bzbw+ob+H3o6AYA@CYL{t4zuonkv1bZdsza;Rb55wp z>g+gK?{bu2q3mZjCvum+M7wT`4S@3XAA8a$uhUf|cVlsD_-5C@Q zJ9?qq6~Pj|{Y3nNqxp}&d2jryhB)fYwHdFLV@3llg4?UShvs9p8~Y*|ol$Q~T3p=` zoQrEz?wNYmXlP1e>D^G*q}{tf+n<%nrMMN|R`5}mJ12)HF^ z&d@+iqq0RaN;a`vOY>-exg;#WV%^Y`Zn}$uV(u=RpP{5f{D%{EEiJi1L0UTwk#4}ZFu zUbpGTZ8}0XhuI~8buk+Z zr%M(wJq#wtF3FBtGc_*>%OCQwv$`v+_zL>+6yZFwS3IK53fi$-U`mjpXt~h zJei+@=v_S<-6DUHR=L*%|S4wao@)26q=J_t0dEbX(=pd{=xt zed4KW8F#gj>1`Tdj|1R?-p{>n*?`xDRtXh$gZgfSIb-s~H@4TqrQH8wy)HgOu*P^^ z*jdR3w?}8BpQg_&?e1~}?4aKUj(?bmlMAo|5uXr4V?NgXBb2gi*w092T)6`K15Xi?tAp}u!0k=(LL634{*z{E_g~Pa#Zl$LaZgxoW#cxMO~Z15#?1e8$RyNwCc-3<3LvVN71F*@_+-UMmaI{ z1;xh#fu;PLvSvGPX#LbF9 zvE1W=ubhqCM(UqxV+Q;-j--uTXZ=<~@q&h9RjA*EU%(Xu7F?C2>g`~mRo>!0KqEwv zAqN!O7N^%5CdUmU<+pa`7vQZGx!>+cU9J(e zya6y%n$C2sYPR{DmJcI(2QR8^YZE5#Jz6hXc_&2YM?>d{>$(qeP%4bW+a^pdsuz9& zx)z3T(cJXas6|Dh zWkpv#BCk3pCtBEBM)DS+lKQ}SPvmww`16D%?Dlomv_V&zH}9~@jEI}w zhmPX?(kNe%e3gFk+cvm8T<_o9V{jz?h-%; zBSYQGW=Ro}Vk_TBvf@&E;VET}Y z^&Z2m>>nbOrs*x@!~ArQAGll*kxe=Bazl+Q8H!j89KN+Ux0bs}bonjrp$T&fazsoH z2C1{-OfA6@b7w7}bKVWXQJJ1?1&7_C1IA`mu6T75XR(~z+M{pB=W?wqmnlVeIHmm= z?9gG+A63V%9(-Sy9naLlBLUTmsc`)T_r2$b9Cjks`kT>Iy^$hPNAnf$g|5_d=(h8kA(%+~VGB(eyZHtqNNP|Mi&$@vZ%!~KlCjFz z5N6zEKvHKc_OZ^`qkzn&%a2QC(F2S4iu88_uXR^@RT?HT#hLdg9f(F4Z`;l{gkmCR z(Vvh^VLra$n8>Rq1ynSePn?2Jpz-sShNPxles1BILf(Zu8StHYW2om7+9xR|ba9FK zAYaj?%G5s$Z(t_i3mV(5cKv_lo0UCJg+cSKcKHibZ84!ID6yyXj)V8fU;=5o`GRUp zq#rB5WZKX!ppxPk8*%?hiTEl)Yr^(siub7LF$NP{Uhu?HWen9A4f54}vWoYK;TCVc z63WPXgsR7TfiI zISa_&AOm5C+dUfG&Ol0QFDOFVS1$?>4=q60go9yTV#4s{N2PfP9Cztlyb3)XDP{z2 z7wWz8aUonfXPTg86W1?&z^&iqyJuKBuiLgAQ@XQSIv3&KTC`7u-7pLE>8L$1zdvrg z=&%I)VJtzQDp{}_mPe}k-G)Znu?i&H0tD_}23$$njbT^9CN;v{<_6FKrCW`QRMy~j3h%lq5ySuB5=tZ!)s4WSNTnr+X)ngI3)YfL3f^OH{qDz_CiRrM znNLr;v&F2y?Gsa1KAV6g*x(xIx$>b(d=v4y_o}t>#nO2bNBwT#Zlws@hyN>=EAId^ zS3Ylgp(WY%z%KElrrp@nd?C{Vu;fxN0v%>be6(6}k#nmlfZbSBiFB-|)$ca3E}f6; z){2bbJ>~B`0_%5?92>BxMTkS>B1E<1BTfD87MbqT`Sw2cU)|{}@9I1W;-|!n+d3~m z94vhKxnW8Rkcy{DY~8|Q;eUM3m(Gp9ZUX;Tv8ms!VX74Ad-&w49}c_8N4FcxDe>CY z8DY{H0WUygEK%qTKc#iS0&Ro+6r*2~*EmwrxkT9kmB; zJ0a`U0&I6vyt{#*Dgid(u#ubP$LFc%p|*_`45nRe6J0@I)9D~EE99OC8z8p#E&+UB z@h%6l5+DCVf8q(LT92#)L)EfYknTCBwcx(rcslMHEeLHBL^}ybV$BLtToe0uX~jdD zokz@2eG7eWJ+i|hHZq?6YGd1OlHg=dze?d&8awskjCZ?cXg+RiLnW!af5*9CK8}rB z$d4hoXM>A(Tj=KIlW{MQFN`B*qS{^~o_bbC#=AWiSHl2Aj~(Hv^=NFT>LqLivLf_m z*f&4*!%WoMFPSyAF{WKXpyAY2@R+f>U;I$RHvwVyV|*-beUV?Dmu8X=VliyssGytT9kE*w^OZJbzl zol^L}9Jt2W0?SgPlFe?&XU}ewsPze);+Qb^MBOpSpZaqoY)m~>&P|zn!k!YSagcVF zj0EW%ZL`9t0Yx<_ZAVn)PahyZ2WmiltrRaSZ$*!cFBLjq98mL1k!KG*+okQ;Ev4-q zIhfdzrQ56}aOC^}I6=#od@IK1gLE{DEpX{e6BT|;rWZ5g;m?()0d-mHP%dqE_<_W# zx}`;Y`HzVHM_B(O8vhaL|45z5rNVK^9>GrcG5F&HA!e_?Y#fN4co2#hD}-Qp3~LL#jKduorsoblo_;J{LFA(!wIjk-5bjk-$l8DK?$Dkp8?q;a z{F-@RhqAxN#GBa;;PC%(7<500X1ha6o=hy6e<+V!^mV{%afma~^Lx?{aF_WU5mEtF zXLjCEzv4q3I);vs&nkK=Ev}45NcgC%5iDM4;jE?zQesiMT1Z)^y9}%yp=N|=+h=x% z>M~U#r3bq0qN$Ao6G%ZpZ0jEW z+pzW(H$!WLzLVWi$f7U&$toCYl}Za-M7agNqTJ$80lKc3_a(oogr*akc7Pkx?(MO9 zuP&di-}@5>;gS`^zrq!dBSkOSC+pk;-Jz)q$3nXuW(fTNfW%EIvbXuDouQQYU+<$; z3%u(|Dtlhlp=yJ5V_|UVxFws(1lB&(>$v2b5jElVV#(K#(jB_;p0n!dn^c}YZYg}x z;(&hmlZm$Js6Fh#v<3cX-?AT)_U#7O9U3fh)Q-A-J0w!>FbvQA_cLeES=*O*Xn)0o zv`xP>=bQ!LVjDq>=K)IRwTUYi3V4eO&<}N~?fWF|Q`=BJH%5eefR5k(9sVh{%YuT# zPD4Vky|-AoPM`Z!*n_V7R1H&YYQB)3%FmTrq1Mus+R%0x%9ed2p8B-Ns#L!aSU%sc zIukzMhIxgtowT?`1%jls_?p!AK65?=k;+dc+a-W{5$&wC7ms&8RoW=Z9UNv}ngG8y ztkSXX)EMH5dARqPlhE6|a19>PVo};bd}MH6DV%Zs68@B?t+j(EAK%-grgekD`WjKE z$L)vAF6nGz!%S>rqgwtiFM43xye#mdQh5l~TH3mq@aW-AU34x8wT(5jSlaSG0Bjll z*g5CI9>uIug^|ql0}UZ|XTKi%dA&O3X&pQkXdMWawqhP_>Ias3cm?LVc)d&sm$p_O zF_*S3&23`|5~~zehwUJ%_aB$GCa0QJmbT_A&*}%X6q*zt!|gclMjz1aV#)EIn$;rg z&ZPZHB;XCc=PF}=Ma{5vpoKIlDlc6f^dAvOa_*##?sU`?ybif|;M4%hK z9SP|%;Qul1IUy{!`96Qz=-$Y@hU{Kkz3dxPPfN^Di#z~raW=cZVH?)AxF@Wpm);M( zWOrv@@kBl6=vi-5sy;9vGU2JD&jnfiUiq6JU7knDDBAu-*j@BMT=V1oOoWfy@)pp~ zL3bfid|g$3WR-m1xzzQN`2+WWfD$3F3dxJ(#2)y#eO@gH2xj4NjMaL54|Q295n zn0w7A1EW6k>0_)+-V1ND4J8UpxdGxJC@EuKZ+|(hhx1ASO{TQxNvDm;a$ajC zdS0G9nbmT+?a|q8S?tyC6#BF^tM|$1p+~? zz=usF-`C7agX7BQm^f2z7P@`MW1Q^p$o)U2F(FC75CsCoZK z(yqsyDMNRstMd+}5_?%ug>ohJ#=g{pY=%?lXqebQ%fYI-OFmNWtN&M~I@aiD-WUyQ z?6~OT7>$Fs&f9H2{og^2(2{?g*{|iKKOEjE!Z9CG1su)|^SubHf+XNn>5h9D7kO5D zR1dz14cCc?)y|IE2mVNvkr+V5?h050<6hH;9yzrZx6skayb1nTL7VwHp1K=l>z(+U zcbLHg^e>JzclW5NVv~(6#6NoghH7fdQUrMaeLno}z|+^5km`wdQ&v`XlG4w^dXY?x!+L{g8iV@9N^+$Bi1r~qZ835vus^9vzan4xyC_7@J zLo`Yo1LAa|7jT?grTUmC-S9`lGn!EdFqL@{N-!zPre3{-d{5Kz0#ySF3-9OP}`HqfhA# zfLr^}jd(A{Uv`p;(ec=ggsgjD-q{C1^?(2EDL*(~TSMHNu6y9ziB=zOdis>&6D zW97l=A3HzY${jxZR#{8`?bmQ&vnED92b1qu>}*3P`wKKhIr<%)V4;tfUGgw^v~KB~ zTgN0WFsn3$5H!71WEkF}imy1&Cb`%YOy<9au1PiR%?V~syyge0CXz57IuM0nJ=AyyW>EE9HTvz{&!y&OhQzt%?NNn< z>}2p0EP(8bhc(g4&AY>uQdiyQrY<=8nuA16diwrMHoY5dg3MLbuQg}X=*qIJe%*rO z=1#VFxc9B3f2?MBo{3O|aF^IwDf)8<=jDbVT{BUO*?X-_!b>I{4Y9(VPMDN!tODin z$}*3XDlcY42|g=ktVb{iuqfa5$A9r;)9`NJ{R}`1WCuO6?Cw!hByYD6re3YrsiIz+ zeNkfH(`*tX4))&0REU*QAEx)nOd?F4Pemq`@efa-mg8_VkWZ1pToljRi$1?!1`K^vQb_)(T>6 zA_JVvuvZa9+39dW@15~ured2&H`0J+KL|9>NS{F4EuC!a)#;!+s2D*%y>3Ig>Nb^b zOJvC4iJK{xFgi8>xqFR^5NE7U<#F=e2bdoUVdbM+>>d+2o}nDL9*X(BU}pK&K1Xse z>M2>n#`dCZof#WHnn1Vj&gSf59eiuCZi5T;%KDi?o}~T=U5Oq8E2}d6y+a<&LF$D@ z_FbxyMx%ysx#WEig@GPdDWr5gyi$(oyF2~hPn9~l@6a$LU7vGZVW^H&=L$0vsC=!n ztDT!v_6LH%)L4bNf2+Exes>10u9t9fs*TAeQ?*?9$~A+;mG#I?dE`HQ^C*h}H4mFu zkt23c6P9L~6qH94DekS^hbiva9tB{n&h7<_PNk2B2r$oarH@-VYL$b8vRvxA?raYN zM!Ul=W6POFzZ1%@rUvaw^QqYb>wU5DtfgaWC6>pbeAy$JLbIV-3mt)vl2ebba0tAH zmkHSyOb3DCpsN?y4)TJAF=tR&wd@HV?(~R7l21bcWa>aQt3zn5uc; zZcY0araBPE`#M4{!N7xUek;WyzUWW;0x4XaVKB^FT)^P-5=**gcB&!o2Voi-!_rSB zt&!~&6x30(C^BIw-2=+5bKj}DE|blLjI-sSZ}kY5PJ6<=1QdM4rc3nhwN7u;%U4T1 zb?}ar$aG&V+BuoWV<2F)zyxc_>L9;+w%^+=M2~;8VUjjM{C%7OLU*2dn!3h~C1<8ZaBtXtgP%MqIq zY>}~ftg)(gW9jMT1o8P&5p1jmlJstst)ij#2=p|awmSV8WcVQ_j^`1l!8we(n*SSY zGQ5QE=Cx$rFpWcIG;%;+;kfv?^~m?S z4Wq*&)beKg58=){sADWAfHU#44obkBMI911}2BxJ4r7{7yfbbY#%E5G~nSoy0Zm^3nrOd#{20@Bz}>^Ng}asp*Ws zUS~22e1Z=I30nw@Hf=m6vQVb6Fcl5R?ha}E?#`%pPFwI6{#!Qs-FZHY!t_B;G+bZY zJ2^C=9v{t{X0$>st9iaClrmFJ`jwZ20V#t4B%VW0^N+Eyx@k)-sTm4;SPx{l%^vWd z$cyHhU&k&NhE_t_UmCufm+&^|Hl(SwM3d?k-1A}CN>foBbUHAU>28C!Dx_4xCOWr4M(yRl&m@^H?o zAypjQ0-UM27$QSjwR+m5dKiycR4g50{@j$KZ>_h-BD$$kOjvi zrm$NyU$`7p_k!SCIqxA3bli4lpDvkDWvu&oxpIdq*}KT1hTH zyY)(hb8J;1DhB^B%cB^dExe5eJwK!NHh4L9zUDY}t|1kH*JdqNZ#`bU2oV729tuln;|=`KcOD0+bD&UZ^lMt2|oa5u>3$KJT654!@Z z!-WkHxx>qDFAY!$O(;Lrd&G@#l$opHnNb1*$(SawO?nE8xQfzH@1h`;fBcSXG)8l6K>quqq}ngGiJET?EsWh~jZ}gB3jX zK0G+9u|1q%Qr40V5A&s;Sdc|w%%DW=r|61c6P?y5@d7UVOPP#No2<|1UkIsgzee)r z;w&aQCehB0M+E8IpZ)+JEj{bv`Z(A=Ff9$&x~YXy0jYZAznS!$jr9Z!v;pe6$XXYK z%IFwz`Q7Gc#!^WKGOpRJn>C6NI>(63!30Kw`W~1U>ehBqnqne- zN1ysfB1r!JDoj2$b?cqdZh?m~W_hWSWTUuW*)q~`9-M|Bf zOu4aK2HVlgm6H`}f!z67bAYshRPp?6Lp!d@Bi_yyc=8)+tGwPGS>;sg`KA0%7ut;@ zV?A>*GJeNrNVT8SQj?c{N{j71pB7MiS~;V7@u%yLOuq?Mv?iL>$W=Em^tDKHoe%3G z#u1i4ZBkjbD^c{#15;)cU2eQ@xK~x*A9G*%G{Jx{bkj0?b#w@XO~G$AXz#96{S6gz!=yip}(R;^vy_MB`C6raSxh?xeze zTO?lg{huc3T>4p!AjD_%Pw8c=@F-X9J}RMGRX2a?jjMIT!}E0c-*n6y?OU$R53)pL_zJqvu0%!CTH6g;n8Y+vShQC zVcMC&_OEFkT2~=^T=}G`@gO$=*%s8Yk-llAT(^LokZlXr$-}c8eFT+#N?V;UM8}=WO3v%tFthotoUNrEYn=3@Y z0=%c0KL7F9&C>K5gx_+|>Tjlbe@ij1zUyY9d9V4@(veA)arC#mnPBT*2lg-h8QF?@ zMC~I;^FE`p~8-u&L4QA`7G1EWpGk}M+rpV)?Ny`DB_EGT^xm{*RH(K{l$bkDgk;=L=pFcO zm}pkXZSaXDLhP9>lQz-Rd81fP`YEu;Ewov|B4j#9)*RR7_-{1nt$YI)tL!2d-BI|N zaOhL7Uo<&JZu%*a73j#7ZzbiZW#3+5MWI3MIA7OfNdd8xVXAcZ-nAryWF8j?P+6gY zg=8*ZUdt}x0^DQJ2bHyDpLa(gb0OOLDLcM?s8`)6kw+m+$>6=8)FsPyfLZ*IV?L$! zcETU^QaXgQki^_(;p*{#@w(g$zGubI+IbSD3v)E$nW?xmnq0~+=z7Js)bT* z9~Uen*--(U{r8dPN^G-N)KrSCbz&mhE1NPlkms!sj7{&dY9om9UTol9yl;-lCu@NtcSv&RV*Z zT~AkArD@N6fhhrQ5ROg8bBS`_hXOrh_@6Po`{n*_x!oMXGFMg>r}PE?sG7r8mo;SNXG5@p`|$NJs^|&KCEQJ%eAtee7z( zKsv-L;&&e8al4c=?Yy_50tHK*dgJb!gj^nmr_x>;Ov7aTK<)mc+;z_=(+T{&Ulknv zt|b7-4(X7%mRES>T^Cyo?~uAa96nLlA^W7TD2VLm!a2E{#NBGj$l)BEB3Z4gTW%8O zsE`}R8Kw1O)Bu8ZdDliV4t$+EHmj^L<)@RtI;?W09HNDqj6FJq)oJ$TBv=B%@rSma z$1wrw|Ds+(1b!)=(7!0NZSW4a#rQI_id86e`rMp6ZS43}VRPvot(v())4hG9M|k_4LbEa6CkAIe*du=U)p0o@ z%mU5OWeLvdxaHD)0@yPfx()Pwz!mO8mz=!m%PM= z!mzU{0(d_}=O3dLG~Wv(+Z_2c24HC8nq?b(w+zI$S+SSDQ0YvdyGUJ%<}E*-j!?FP z`Q7GLSoWLP zQtm@l1J)&exK%q{sW&%K$8q@)1_$3)2=blRVNW+1e#Gd9p*Vz}wiipfA=Y!h{fw&C zVBC%i_zy$$VLWTSIKqw);cu<~xX!k-q7?yI>2_&RCv5t4`?i;px1V`B^gm3sgK{gU2;Cl7JrH-qDJ)#k*@fWRP)bP4@u=vKgY)L$rx)g|{U{!}wF13g> zvVW2R6)BOfGujl38 z_#0%auw|(pI6>QNetE&sY9oR~cJ)6>KxNqwF@#=Lzh*q7=WnrA-zpd6BGQBHJn-Xu z6aJ=;KR@Q6J$Coljv4m@;@T_-u2O(Rg?s5(4-0h*+lriK`W!cV!x|$fa8N$o)QF1^ zK2%(0(~^Ovy>@I#*R4wz+a?qGJjr1+E&458b&GaMBDY$SG!s4L_tfcK7B>b=g&1Z) zI?h^WS%7H!IgWU3zCY%lDTaMu0*De>lEnt@aC|;bVx1Jmw@fh4(tgc7^aI#28c{sw zXCWTx{CwWX%pHZ2(&rYlbNcx_fSFtASqhz5Uh?XLgx~}*nR{bmjW88CsXXYulm?6i zx$uX#c|8}Z+H+h>cP0kh;6FMBX@F$9SLSjp8x;G@@uah5iR4(dSfGV##`M*3=8MQ@ z-ZHK+2I~0UGB4VwTE4=&nSqPQ7v3^%F{`rLd;6c2;Gf!JYsR~@_kNUK2v);EJLfc5 zmz%29TWCtO3@{VIVDn^@w>bhoeA|}L&Pp*5Qb_TB*d{O~txHs)>!Pz$( z2Jd(Gs>b0Dd=V2aq3sE#m+PeA##GJxtWm?0L6%UB=J}wU>hUg80&9Z(h*5EDhyLm2 zukc#t3%$={Gg98B)h9hk%)&yw8w*+ZV`S<7YQlcnILE0$+K4g(LvbObsWc9zH77^v z(cb%x+}CY?Y9*0w#j#RW_K#P844&B>kUY@7OxYl0=8wJDoeI$c9KKY?^zI;raLj#}hQw?ga; zPG30});B@u8!t~Hi3bt#4uAaM3-YZezvDBNOP!BSSjuV}W=UfoeAxv4(ex#V>wuW7 zy+qTo_5Rrh=>g=Q=J4%}_^AeS?gc$p2%}pCLb{K^_A9CvyrZ?DfBvEKmcJ?h&l8+*F?CWc8avcB0{FJ z9k+pv>s-;|)O_aGpina2jNfB5#P!knEPZJEtbSWXqjR6NO>~1*hi(Z%J$o@#^j&lFsTMe8Df* z!AV209_SS3)rZWK79M^W^QO57#|db_m}O!aqgT+LW62$gArWL?qRbh6`kMnR_}o&l+E9zsYo+3+>dyuN2+s?pha;*yk8 z<~RJLS!B4_Q9t~RtIYLPfA^zN?2lP$G8RE~h(Kh`FdD^(OA_+Wz_KqxTzPeL7VlGR zDC7LmDKU*&%26J*Y}M z9weR~{sV*}Ec37C{TY9Jx^75`%*1Oy-s>n+f=a@1RZ&!fj-PlEaP7>uulVvKw`&*+ z&VRV$PsNwI8Gt2>4rnM5IZ9}cl7k~9JTuW7_EXTYg^oO$t z89DTT3%f~4JToM|lIJy27*6r8I=QO6U!?=WH$Dw5n0s>78_0Z+epjdC+~>d4733kX z7Vm2>wpsF{cXQuTK>f7#g72gq`(vK7Er0NUgK}Iw`dJNURQka`UsOup#_UcoNV=lUy|1V$rv-%GZabZ&w) zB;)iwfiH!7Z#Q6SVJ2e%QtulLmm&37a+LHUW)nWO7~El;<37XLH!@*6RIV9B)1fcw zIR7&DZ5||_!M?m9C@`A9^mVOhd$V8(On44vPxz+`8)2m11sX<#I-lryEuThu(hMd` zO3j@}H;hCRoNi;C=>67|0exqE&(Or4_bJ=^EKM(Yl)UsqMj``5m@b3DU>oy?C@S|@ z^E@U;!@!3gucl@URi8=bwnBkdHj2|jxSTKHLP}eXVXxW-6W}0vD4kV^-YTUFKw-bh zzS$ioIf$)$`M^Arf1Mvx=OqlKoNas`*zv3vdv=so9r5Vl|SU^Kgnpx$I_7`Q(F())K5*9W%cGzbu5IM0x^e(GQ3lTAS@f(_8ui4f*p9jaJ^ZB<%qf1c2pUA3aT z_!GTgj3(QEMEf5x%wIO zV~^yawZ_CHEVRCSAY@Dw2n-~A{#R0Rhu5EmSM0@4)dZ}9X!Gg@gTFBN8m9fukWp*d z6qD%K9(fA6dL#ec*;qJat>65P_b0vM>$Nx$?B|sqUXE-*&jQHbPuf=p>?&kfg+N8!r?p!uLRasa*a&Nmy0rwtz8>{jXhtgO= zYwfQnmLATe14BKF+TpPht|lTslg7E{_Fpt{J!%D=PMvr*nFpkP=Q zoO*^m@KaKz2EipP3W!s6>}gYN}u-^oaz5VPf) z%@g*4U+bTa%N8BHx+hOJB`~9Q)@qPI)KZ$>PkY$o7>gyIn`4u@A)L zo${T}flV`M>zzrW-Sp*5WJX^eTa(oD@6^>;#aM@|zZROCFy{H^@7eifiHTBLSLcPY z0T>MdkKm2E4%qGyEToHOuTG8&2d&n`Y&{b8zhgHZfZH{nh;>&YXD4Nko}nFze{@># zZZjmiqPk$Maq|YDSq|3J-jEByaWt-vteq$nU4~2-xKnpaNDodE?rn1_vmDu)G{be( zYC-+J`l8?8KLNwIRhw&*NMu{Vs#jf149N5+lmUcm>ejxsf4}7Bsok;k5eY(X$5;rW z=KcFO2bKCkMZn@rmTGyMfPRy}cAIdA`ZV;73K*&kL)oH*_Rqp2qVFl8nul` z`H<=o^;vFJoXmQ3QFdQKz}e0>k6Dr|^*AeTO!0{7ntY(1!FN}b<0gS$Wt;zF{VV22 zDm#3P1X+ZRFE#D6oKSh3aisgpm`Kg^5mn>ciO6=MZ=S(jf@c>{tM)V`bTKJ+Ln^_vqX`#e5b3dd1sc$dD`ktxg5CaBR?{3JoTdF^>cn&;;t zGw{AuIBoD7PgiIyY{#I$`9>G8Io9zH&~E>EcSRy$tN4bsjjO)OFYWwoRVYch^=bK# zY4lTan}3H?7-fR6ArZ zx7B6N@!?&0hWR^F)m7+Sm!7ttecjc!`uM1NoqgRxh!K=5?GdtkpWJqU>K%Zr*IGe81P^o^W`m!33?<3#rx3(9Z$PFFW?BG9t!lr?SUw_oh0bl3r6eg0n(T zxFLHzl^WLpaUEHP0%psQEH6eQ=TuPPoVH+-5k#*AU6$Vd@uImx-OSP+I>lbyYi!&p1Ehhz$NvLv(Z<*3x5?E zcAmM)cBsqWVsT%*Olat%)-$um9bxfa%;|+nz$s=KGKyJ)Hl0jC*XRmk`w_s)| z({uAL2B~$XgbcoExK48aLn=`m7@Kl1hsuI=8+sj1V+ODdo1;-wdd)U+*4DQLbA0s~ z&i?2_w(<6r>MQWtA!iBlwv}822&ut2R=TmTjRiFP)NcV0K2Lf55{yr@5|xNL0j*Uv zHb59>mXH&03AGl%SU^#{%3mZ~kzt{BoYHvmB%O5@nQP0=9Gp$Ix6Qf=Mx|fJn<94! zlsK7?Xox*AWyQ`jbhIhBQZEmb{b46q-k0nD{^#6N*3KC&?*hI)u-)#guT__$Zd|9S zGZjzkFCRHDI3itiz;nRx?YZBVFU_u8vFKouS}=4bEofm&Sm@5qRV*f+tYnVme9EUX zc%kG0r&08jpCwfPzU~pJ3kcpLn}{>tx8ZnP`&vQGq)N*~UrU~OgsKtpmIsBc$Cr1n z6=ib6y5*~Wa0C}%zjTMWP8D*t1s8O7gemg1H?aW-v?sk;wg`{o@>aKvx+W2(H9$Gk zw8r;_U}~)ij#D3B?0sZMZ%ydnP)C$TX+lC@zE|+E$<8T$a0!Vlm^$m?x4cs;S;b8L zfyMYiqwm7@90#>E;y&B#33K5$0czD}$ht*JzR(%T_epArw_GMt+*prVOHA%jaG{8c zZPx*q8M&W-aQq$hpV$-o7n#SsmbOOAclYD0q65-`x4%6?O@r1m)CtN5<2=FKTf`MNI!~9xzM$nkLqHk4XQILsY+rr?jL9nW!S#8S?Z?K2 z`IbRBOW#N= zLS{|Qs$5cVJ`0Q?S|zV!7o0%@7~4)x(L0rGg_+Ijhx4ETrKC#>#nwjcM@S zVsHFcJ_&ESfuZc_?M*U78=PeDfMh$fS(1uWl#r&qLN{$(;vR(5>RUyKZofg=Jl3+ znKsdUZ9HJJHTJvqOGCYen4N+%m^IOK{T$|ruJ%B$80HC|MfPr#-&^*?`k%abhis)E z1uyk$`0#-wFjm5H#O4n4t{#x4Bv(w7^sYh)j2)E;jJ1pX6UlN0a7p$>z$RzzAFhUr zddnVR1jf=>4%zO-$pAXVux7HSm^a`bkhk2gheL#|iJm#r0 z4nsM;LLjHiG0gknPXc4==f7e?|;!ehu}L;cr8hwsTgB21Yy z951qmWB}8vcmBJ_p{SI|JM)&T{5$7#<(JM8%x78bl_zKEx3Tj^<8{Kl(dIL77ouHCQrr9_VRW|%U^ua+1yk@lRc^NQ6NA@9nO ziD+lY1~PHDn!D`$iA6@os!Ud;_j>iWGW|v2D1Zkaq|F@UnBaR{+q|C?h84k4nc;tu zVX-cae)>GsX;g0Lcu#8tqUCz^R&Duk^b_i%CTjcLXTs~PS@Xv{?!WDR6-)K#$SA#eqTtq(c?|_?p^a`EbavFB+y^8bNubb z1Vkiy=)QRT^~s>hl&4u&a|`kjQM@>&dGT_~{kYmQ8sIARvo~$so$2rA470rvBDNTZ zY#=_8`lbBKNNdSzmD&2g54&8a%Dj&w;L%%R|D9o}K>2e9_N!&FkKrVAr!dS*iq*$F zpXJqKxewyg!z$y7&PCBC!7soFrd)ttlFBhg4)|48s92MsxbC6!)F}5Z-^FwQNbld{ zq@pI*pk}V@T`LZkI*f=a`HBah{+_(wbx!tqQxp+Rn5_KPvN7UvkvgfUEi$(y67l?N zIG006xj{XnjB{K0@q{*WZLc=W=kE8U>Ej92GeB0MeN`U!ThI65m;?BZw`Y{=p4?C7 z>wyZaM4I&sOtpyRt!XvL18>aZ=ICxk3g;@Z0Ogs98ZIeIZ|vsdYT0$JxrqE;ZFE$J z?!cw8%IAl;T+wKzb*Xf$-CDH*Ervbie1&^+0>4O_Kbc9Bjl1f(Tve-SzX@67VG%OE z<}2`ew#r1&>8S# z^3C`vY{IL!H^<#w-zDS1ZW~gvC(#D2F)$DJMrF7^5mCS_13tqB$2wcw&id<^4k$J0h?#>6rd5H6 zopfiHUZyf1`#-XgnZp7@)54^3WIh#m2Xvg-MGa;zs^AT@iRs_V^q#U)>8hw`RPZ*y zQHHK#qck3g=Q30fy;+pixhc<94(cHbNA4|*hIVz%z*2?mvrT=X=VNE6>5`98q#l(q zIq9afSLch&hJm3=Jhp^0jsKH^5eFwR&c23qbxiuMuM7-XK47VY@7rDm``hyc#^5p0 z^YIr4YqQBQn%5nxAT-p3QiZ|?mc&YigqexqsVr8ct3nMZmpe_SXqK8uXYe2z_!`=> zK`RC-GV0a6_FXyFHJct37iQ?Pqd8?g>LSOz*Qu7vtmaBy55%B5hG7s+<1)>$@1vV3 z=^39LOap`%Jb9!w>-*L`Uv493wVlii+aQZ$`!Hp)`*K&d6(vJ0X?HWoFr>BvJivV8 zrt7LWkZdIqyPt3~(L?}ad(X1|9kfOxt~_p^Ep!Kub@VN=Y%Q7nsdMZH6k-9FgCUC3 zPl}@cDj_p1cdH>D2&ZPRig=6Zv)b!0?&4k9K_PsSPGECHX6p_w!U(Pq zTEKt&Bj<@V3zj}eIV32j8eZA8MuGkp2bMox@d0(phLuEz1j$$5s4VtjzjpxMts!hS47tkKwgGs&0P`% zI-0CdhZyk>SbD_(<5ho3@4y6HVV5d;Z{!yh`&5|r8XtV@Gv0(K$`9g!mO=C} zG%;n^B802ZY^b^diCkKcVEhP$Nhin&a98~zCVL5RmPk}B(SLVeTTuv^k(F%K*xIl@ z`Lp`|?q2;lKwF6T?}iTC%=`UK73v}lSrCNaQFA!u@cO?X4x*_9oz?>Qmk^TQu>73o zy97)5XHU*8O{q4tnv=_PHMjIf-jtl8zwEDTeh!FSekKig^!I;3clIKH9Sn+Xf2PR+|>DM4y^siWR@J23*jV z+rVJ;*-n9yu-OmSUV@l^f9F&N^>>6o0MYShwDz(B8gvfR0pldm2`uh5pi7#)AO>pS z8_Z5%2Kc)#VYog#*FTC+?&(8hD(I|Uc3hFd8Lph5GcoD`4-|Eqqs7Iv&}AF<^0Nw3 zEi|*>`1)@uPb~~*%MtY`Pj#UJL#xQI(aQvMUAsE&3mH2i0aEPks1|Fsj(4RCVs=s{ zAGl&~t*3Gi>5#d^l#ih=fNABr3|_UBB*)^+__Y|(>t32oMxyH(=~PtWg9OB z&76oSWPWfdux&|)MnCJiq-elNbV;<(VG{Hr4u(k%Lb|KA{)4 zv_@1!=YD?R+4%mVh+HcY;okmTmy2y-=Z|R0ZJqeBcwUvHIs}it;i!HeSs9tIi=Nt3 zuo$?jwImS%OPluwIN)a9V!P6;MA)(_T{rGqZYvMajxO<`98Hxg!Q1(j!c%Nd*`j`2 zSkv2w|+5Z(X3fJidVXHUADjLs!&{NW@A9oG21II{B(4j3XA$^Sz~tO-Xjjj;5Qi1PKf4?acM;zC#fvmGjBDBJ#ZSAg6HX&CI%htAoY{~pXZ*J#IseO<)E@$~qlen8 zFUSMOI!eBPE0l|VlKi9$uli9oLN)C1@et_7t4utfl+w&~UNTEF4#fB~KnqkPYkCv6 zH#Z7=>Rk7N`JTt|i$wGMQkp5xxa=Y=u%t(Qiy)N-{D&FL`!nW*9t@{Wi2r-5UYD^X zMoqaKSNvMGreuOj-ZLefv+bG>my?2(#x!HmbL{c ztKh72v$VSY0Ng{}vZ(pLEWpO;=ig zsO^72|93FmRXy{=h%+sb4=R@H$N9t3lt3@*8GM78bW(+n?Mj1^mp!p(aUcp3Xp^RG@FNz6^%$u z9W0wqt^T$ypvGdPrg4KVyF*C(ETkqp7Z4uxQ!&Zr7ZEOYX}Zt*l^6yQX+65%CbqqZ z&Adp=o`}t!NX!Uh+5Zrm@dyrlcZw!(jP?vLQ!vf}-2$Z5KeKwU5JPruOsaCKnI(>C zj-eJeWi2F}ymQ87+5{k%j*{Wyq!=-cVqvL!gJifwL^csZ|G>rAB0;~xBKL>61xu*& z>cv0yyVua|TJz)t5k~Xd$slvMOYzhtl=UGd9k((1$58DEI~h+-N1Loy(WQlpl9R{^ z5k+hB@d0?Mu}AQG-<8p?tXR!4d)oMX-{lc7`zw3nS`|q%*{y8kKB*R=^^p_L5FJsY zveil4?hRwzcYt`K0aKiZJ#VlRXa9TMl<9|(D$8zG4b(&vg zDdR1-%Ue{i#*l6mv}c4mmcVR~JF}ngX)_fr>i|Oao=b$Lz~QI242Dc=RZa?NRoYNV z#ejXDYEwq_V=BxavU;=0t55qqw&n_Z&j6vEN2SQ)cLoTEM+MuAK;n3@Xza}xBps&XF9 zCJ?0&jnt=ish7E~8n3bXc8EXIL*0t{8O@r_=d->Y%tLO5n?4Lhaa^*YU~j<=Z58G= zH9em8*Ayn^Pf15+TfxyD{pQN#2e2|{iO|AKgjvJYD8Wc7OoV3Qy04~qHYP=gzw?78 zD(tMv{s?@dKK@G_YO8y43)Qs@UKQgawgK`d)&@x_le_Z7jt91WbbUQA$0yBFxEqto zG11q<=1%^!C%*MopE4kCC_}%HM?&dxEJkOi?b=MspI@K@?RVmh0y}ixtTo zl3Sj$&H!FtyyHuC!h-rjL=7Lvfs5d^FKNZ)->|y9yXi$-f(b=F{{HRb6><=WU;waX z4Mpr3^Y0(jP?wM7i2TPQ+=Cvs-I9t!q>faPUw~5 zXe{^jPFOI?JQ8+p>vjGS_+jSo(M08LA{Zc(GMCh-fMFB9l`)?1rGzYcgx_YIIh${B z*t)4$E@3M^%m{hwhjMq;5isfaC_tk$Y(&YQ{Rl5zGq*QInbDM+IxBp0V;?_PdWg30 z(>Y!OYk`|CHflc)+N!x!r7x(r=-k+nbNegg$IPlD(@JLfbGER=OZ*?z11pix&~#$w z`oJQPnz#eK63KmzV>*?FW0=O@=Hxe&Y!XWAG{$e76P{R1j}=qJkXuNg3N-Vv@e~bU zA#Vp-KF3p;DL^9Vui-jWOPLdfGGs7EzZK(Ka?hG^f1~Fa$HpqoOd&)iOfdk6sBbvb zMg%5)e90TbcV)BvtN^PtGr80;scg+otqBi4 zUz+9n_Xm? zppZQBbDMnVd>wwr(oWB{OpS@P_|`nUQr_TH1OIPuxb1_j)uaJsKag7^I~Grm`eHvF zKK(-w1YJV$p)IPH*0@(@tq1gVv4T37pu8~xRibQDqJgjHFnQCr)!l^45)|2=iA{od2s?O) z%>~G3;hkSpIDsEpjAI1r$_1W#;ZAF2*>8ZZ_UCYhr&m$=oUPQY zBbL2Q>|y+8Bc!vSRN}ksw+LyU9}hiZYzM`B&24I|Q0%}0k3*i{yxa;;Zb^c`X(@5B zGW&jg|III#lHZXtg-WFY*4xG;D15NUT9#c!u2&Hs{StVWiIm+8eIRgAUlb!W^1}G_ zJ5}Vb^2lH0BneIH2i8|oP#l=ow0lwtPG(Qojedw0CQq}6h3UW3KK90E_j1tE?u+7R zBt~$dCtm^#WrM$uLPLvZCQDOwf%#pAm`|1?v!TOtx1Zc2rz%>74I%JPn>@u+F)btu zgU3lU>S9J$dqP%d`cxrW>en(Fnvx}5zJ3ZiIZ$}{(*erkq9Qbfj5@57jkzpVNcDn! zDX4lWR-Yg;5^VMw@wk|7FZyk{92^rfDfHTRj=C`u3~z{N#J12&*mD`oqCI{d>juwZ;)o`suBl9 zF+ikazw^L3QTk^)6t8ISX&E+&&X90TLAjbMe?jS92H(|}*~<=oh@cE@>{=u9O5xEsg-P}n_8nVP|?->wzNzetI0e*3td|{8y>_?oCz{Mcyy1Mv#6qY&u zyOyr2GPc-qK~bzQwz(@H3^vXycvkY^a8np~b@3?;YkWcok8IVSsHntZF`ZY}7FL6} zcS#CDgV^u6c8QM3zQtxtaEwA0R-&VZB%fA*oGha&;l$u_rp=4lObzZUtX)0Kphx*x zaoA*l{1TdM(|GPeh2OU({?-t`j#vY0lf&E-n;J_L@={C$cELZ=lUmu#XlDNozf}*+ zY!QXqkai^m+qjjmpYYKgfYSG3Oz0GpC9kI}L{`nM-OMrx*VlD%}d#} z0_o8=8Hpz3XPit}b?42UBJSYkPW!UInrkYj8O!8t(cUTB-DE@dXlH{Y-H81&QQj&# z%7@iF*=~3c&Z6G}ZhFGIzv5E|{EQ<(aMfTrE?F%p{b6giyOr8oC<8_RfZYYC2>Xee z_nlXQJf{_ic)NpcLEW$~X`2hk`1D*pb*>l?%ojn`gU+BAi(b|t)a%WRF_}!d;5Db! zm*G&+O^Qm4Z!F8cC?4e(NY!TFkbc7*{E})8E12Ay+nKD$P*WFtYa7sQY_%Wh8;C_8 z>>gUwUV(sYwK(cya6Kz7qviy*9|Z6@;LK6~Xdj18xkk3)=J~-*5!sqR2-f7Xr4FKQ zXBcP+{yk(c5z!gkQ!kuT>h`TYiN{73Sk7uIpp7Ym_h-jxS>Gb)C7dL5_p*!mLz2dh zeNP}c^HUsIj}5sK-q93V#!&Q_E~B13lg{+Pqzh{dna?=|mT*{QpuG$L6Cpoa{KAf^ zwx`Ygka)@dB--5|tfq7~EDh*!!L!Hb2?|jV4!jPo@5Tg`RYK2x%(Qz11|aRRn3Fk2 zGe{!!Lh^ff-v@qFkeY#~V-S*B&I%*s_FjHAkDWqbtD zMn82}x&}gC*`UGl_}Z*eb%WU>q-G%(Usgp#AaZbpMaBT#HdwSeW8pqMJtp+tgbuXF zknT}pT(jTyBh#SIxhMim`~Cu--5)9YC3$bQABnjPZz##^o{~3Gw9ld81*1|t?-U^> z2gcuKde}@tL;{TIK?$Fq%A{$yuD`%YpqWE-Cf4+J8404f|H=JOQU6LVX_U0DPGF-7 zp%yarhdd0}kHV)7yZGz^iNMsO)vA+dgXMuhr7ip^Ovovc9+x6q3mgoAQ(Cfah3OjV z#$@C5EK6@AQ)`~GYi>L{-=LWqk%2JeB19E3VymYucKfRhw<|V~2{HVL%ZX={ParL% z=!+Z_&5SU}F^uZB-nNcJbYOhk1l~Y_1SGs9Q9T{7{G*EEQ??WQ$HQ{Gu+{q$V$`$} z!3^cYN)=HM7c}F}1+Ya-WI@buDV?M?&85Pk-Y5M(_*wNrWc(#x+V;OiYekRXRI@ zsW=DVg2<3OLmmpnAG!Kd?xbKB+rAj)%vh`K59+GEO~j&yX8)3(SHUB()1ei@(6Pp4_`urNEFy z#WYqh=MtQ7YfGXF*&CC$tUwny6KSNmPM{=7&)?Q1>ibOLbzB zVx-66EK}Rju!&3{%eEZ9(gtb2ZzFQ3us6ly^=mh9YDz;=nNZ*c|M$OKoea;ioUBm5 z;q5;|ciigMOYEszIA+_qK?Pg)_(QvwB%4!_iC=erU^NpAtnjc>1U9T-qK?Czj&RVU zv7@!{_w^~;2{Dn^-_oXl*ol2q{}o8RnCN$ICfE@o#3GDPjmr>aTcpI)5kpa}SgGv9 zf&wu9il(8Q9;|*={VVcx^IN}3@3oNGXk;AFR?BV70Nq>WGK8 zSUVU!_uQUg-2}0AzfiD}0RM9fO&PH1ShEmikeq>96{)pYp{UT!}wH$h@e>kU6z>aRS_W#iSk!M z)Nh7q{%t78vxM18{!Y_Tr2hv zX7D2MgYYaV3o1TC2rA=-p4JK<461TX)CU#}djvOAdMMD0#>w5{>#_yTMU^mEiRnU1 zVfuHGIArM}b7sM_xlO{4^&88;u8oo0WlH~yZ)tjqdTatZvZ7}|_fswXnC%lEQV;L} zeVS)xOmml5gu5z@TjPZ(F~uA+({bOVIq(bRYr)Gkjv7gGoMMPlh-nD0imMh9qD1Np zswQTKuX(|DVx!dzo?q2Hu)ZEgFrknrTcYqW~6MGD(ScIk`lhY>c24}fbx7T~`52{cgW!o#i_Pp#*k@YHq(y*ro zNlpFu@QQ~!zWMT2cgsm0qWU|{H^*VqZQ%$wY*44<^V0?~o5AmYBTj25z<1i5S=vT! zeo4tUzVH3$f8k>sOK|pXX_iqOxU!chj^JgONk3u+foMV#Z6}b~LR|i~%8pGpM>K=u zrke_=GyQP2pzr zH{Sf~3Jtn3QS{HFJcl1CsjvmS>_-%~R1F`RjLw%h)Tn}xMrybx(brPr2Nn2Bknx36 zKQRZl&={Ah7E6gj{2_AYnWC0DAtB8+d6gd9@fSwPkDm|ZtunO-&O;!Cd)X*^V7a-a zPU35Tp_up++rXj@70><(K8+ExlFD9lvFIj28aQpv0_a1SbM&awsq8V33enI~ zRxoj7eANpwf<`*NM7WWfdx(myYZYnKNMcP|(t)L+zGPXV2?fD74(s;vJ_S8PCeB|@ zpr2z3(_i$COx=h5fOH_=NB%EYV{DO^^7D+!5A8MsYdoGC&KMh#8w5NyN;n^VmUexMQhsM z*nhf0elcU5Z~qpYg_v#Lr&CoYfxI9&#NZVtg&s+E6#1jAr$Vmw+5Spe?w7=2?qSj) zklhr#068}gdF_KqX*wb0=sZWLVN@`8Ln*92n-Rk4A{ui&L+(KPX;>^6Lr&AZ5HIQw zgZG;_(`E3Bz-OG_bxA+37*D)k518?T->A!)B}Zo*6(VP1!#REPKv z!l&)~x!}7&FslejBt#r2ex-jQA_^+2fq6&1bxMyO5?FS;07~&q;vy(51uNm3Dv`Mx z`76lERKi4my);|UW5{qPdVwegr*}x!*OU#-?AMhxcK&ZcNrO>nK0lZ#X0~MKBhMS$FeB@6a0Q!E4#+d5 zMjDm=xJX~05^&!7hG(Wd*?_II>6~iIGJfxT$X*|TGl3HoHsqMB{BKbc?2C7*VCw*K zt8gy}CM z2-XR_Q?CDAq5ca~Xk16Wwp%1h2ZRGFbvs}_w7owMo8Ym68%}o9&&4gTThnXTHZKg$ zonk6|$kutrA`$HO&4_(LU2GT?%5L8R>SNMIOQSSvs?J=}<(amQi zY~sqHdntIr-Uauxw{L1Gbi&Xj$u|rkyB6th$cA%8`5Wo*dsk_Fz$@(jb;UbL8c37; zP2Zrv4YrQrEhgk?^#y7U__zI<{;yKX@)A;dc*8BC=Q`N{al+3L_plXjn@M1WMcrfF z&+)3!5HxWmz3CG>k+u<7>&ebnS}D;+r9Z9U2l|ViIYA5 zUH-$|`DNTPDyalq+nkmf3c!=I1Z+NO1MTgz*y17dhf(^=bK(rHFDDtte_ z0bfDBC@ufmJ0+i1B*=!K-uuen#<_d{S~%j41H*bE^~m#6IhVHB`bOKok@bz6CbuXP z$->A}^P(sdA}&dyP!qH+xFSdsxGuO368HkGQ#yCVd_+?^FG3dZf5!m`OEdu@BbDnq z1J)ws-O*ehAmWY22;%fM2l1!nZ4|UGa+VQ=%XJhZe3k*^6Q5Y8%)uMp93W1q2j2q9 z^2TV{qQU8#x=V(Cf)?u(Kj=x;Ko?;$q&@fru@(ltWi2IlXh1knhj`66=qQswGrFS- zw1+eU`SyUi^7T;2@>Yh$auqDU~K_a;`C(wNH z0#Te7g%z9>PI1a%Tq*cxhxD}DFFxt#s?Q2#_3%;K%suC{e-)Y~Fs`OlUS z`P0$07@P_&)yUhz*LbSYMw8dvS_h(>i*d+r2sxkp3}8UD`>rFsNa&8td-txl0z;Ml z9q<4+AAarD5@#3uCW@8795{r6UuD(mmD{7`Q0Sj5-Nk{d{fc)>8{+VYG_`~X;-$K| zCOKm6I(ERg!SQF2Jy>qkh&R*QC{XJ_1h1gCoZI1;FHgJ2&w-b&P(wOlx7!lap&M}{e{Qbxz8vXLt zD=&n}FkA%17RX)p>~BFK4$F$*PKXTa1=BGuOX8jR*%upeHts zgN<3)EQxm+FbRZ#GV(>l6FplO9kee}Rvd-PIo;6?qEQW879v2DMO4%*sv#~^2E2cT zd2G8?kGw<;7M2cqQGf|(zvg7zRZ<-)EPm@$$qaaU5A-qjo`;M3D*^>i^zNIgKwj8V<$Q%P}zYn_97g7CT%%|_LU02qIXbDe9!7Y*?SMT zYKDVc&&CE++$Biwux`}-JEFjqccteHK9_M)yPV>?zBW;rU-6lEUH~ajW|Th~n{h7) zCp3}-E_@;x{Q|?aSDp)BFv*~V;)V?3HHFYF`;OPDE(H1&F)LF=t3_cY_aZTw0^58Q z^Hn|AzEvSeeE)isYx8QfTgQn%1VGs`LZ30H=myuK1i9tb#`QdQlD}mB-eTgyPnkZUgBO>?uv!ictC>?7AtcuhfQza);%>%bZAO4 zJ(0yIHqA9EG$^?mUr-$YunCO9LC+NnEb5OnL|i|A!Y_FPL2e-E&-qF>z(YNz89#uN7UDyQ7zf zh}jbC?W3Xqp%?k?m^U2$>k5bK`Q37Fa|Y1u#95;lEp~}+r6Zz7(qJYCFQUB{dz8?} zJ$Eb@3^6Tomr3De5=Nt@v@9*i8>Qe1gYxc+P7N^t37q&lY;KuxsJ9*Zl|<}Z=Agiv zJB8>38{7|JpcwO`(~XsD2FK!IbLa|`xW45KW<2pL>?<5H=q&*qbYH?P|pki5gFDNly%)hsUW2SfIh0ylc z2tq&*D2i;(n6Y+W6|w0v^moco@2^3{W7C85o46PkLNsqFu-B==ajHr7A^zj=Yp;A3 z*4?nDFq$^6&>wA0{rmi#nAR(m_yW|8`cXPCD-v|Zm=ydJCv^v@_^JS0{nB*kB6TPXg?k}#517}+`p2s+On0|VSo!E zo}kz#N0gGwyLPY6q~dxgTiIO_Cw4391koCal;tQvQ%JDe#yPU72?#O!~dJ?$s6T1+Ab|>uLciWK1wfV zkJZxv>JYiCNR1IVaX~GwULM0f>B(tl+8Tzuunqhyj2$@gL3??7+!4_=2km^ z*O70{AK9RIcn*moI}R8y0NXc(xRP-L(Vy0evwLdY3f=w;EOeCK?*G}C5i|2rKAv3Y zsI+F0_SQSBR6TLWW;$cSckd>RZ1st2P~4Fh4QVPB4QkT+2=eb0)e_Rr;W<^mMXi`l zG133NPdoB0U9z5<;=LmZ`3xI6&if!uXlTJ?Nx z?WwF|(p#Q2A?t^3Kq4WKmDuBhAl->n^D+mrtBzvTfv9i9`P&~4>VWwxeDJ9adV>YV zvRA^6wUu%Fiu>2tTfCbM?T z=TpdYO5gYTisvlU3TJlu=R{4e2S9XSwQ9D0px>R@H5Q~eK;aw*!04aRYybGV}jz$x(2>gps;kPL$6XoW;jj}58UQOv9=C}pm>%t5@8mAawsx;rYk## z>!SjQ&m_n-< zMla#*P7pAtgm5q&(sDPUWa`$5n%HhlAUo@pI?EntSt)5hO?l40Z++X|CORvu@-DC9 zW&i%~wW71-A&`4E-gY*SBxQDldoljceABwyC5dg3IB6B{kl-viT9cbZkdRzry%Kb% zyw7#kvGCAA5cWBSciTO?$Bbl!0ZYd}ipcvW_%{Fos-eQw_h37-GT)z0s!MjZ=UBfr zJ7ht%OPzAl%x25AqEj3x%D+&$i*B|Dt@Ta}NmKze8R@TF975*i3(NdcRZ55T-gLSI zuf|MyUM+$ILF66rTz4sQmLu8MzUa{XT$4+%hJ|(nE%;9Dg!TY+q34LYi5I~p+;!v}9{s;P;{~`nF!jm&g5%f>Gjmd}hYYWS?t2f__3&#Dns03w8)+2leUc}3(cUbK^ znu&*tGaS(OHo4M3)ugG5u{F%Du6 zjS1O;T!^+{>s?4Ta;X z{ljp%ILREn4qU9n0jQdIgN0KXy1PqTKA!pb;&E;`Ps8V&RX|Rt^qi*#Tfh+eBB{4V zVm(rxecUxlL$8TEu~ES_!X?SKP*~~Y_oLbytdUFeKZO;ddY=NLDyJrP3zsq(T#wWD zJ-(5(iJ|>LP@}_Ws8?OQ&E=X8(y)MOWFdLdfjv4OT^fC*1V&8M75qsBOb_N3FHzYQ z4N6M8DEY@xskh23#HPGgxca}giDXF%EHah+i_F##AO;+N7lwS{o#o>NAb3Td z>T~H8JyF%eA?K6a(NpV4L=e~#T%A1*L$BA`#!E=&Uu{NT=68mFua)_60{?4`V_iY< z23yfB)riz(9BA7ad&(B^hUtK$`}=EMZ}j$5lG_l9u9iNhbk&8Mgh|W(Cr`E|GUge$ z4S3?%J;LMdzKkUBi6xxPfG#M+)g#Q0@omd>U4MjRYw2FSCVGJU)s@24_JpE@nvIoi zD;lDe-r(s&{&SAQaSeM9nzWXQWDDnKCAo$x72>SmuMcX8j1y+hYNP2MBx6!Va?ID> z<*5$eUG8~Ay?w=b$5AL z&yN;uqsfWy>XcHSo9q;)$rg9^81P03#>Cxi+n%BGyo=G-F42him9iHTQTL(|<1Uh4 z>a0RJQGlS`0#z;L1Wh};+y}0yL3>%F?11uubT$|h&IJDE{>r#8Yo1;clB4MqBDhs6 z#K(@qq@5e}O^tgiH9wqcj>JnFl#)|yZ+ht9-rXP1Rfms;Z$<;32kuk~Tf`lXASww4 z*+FoGr=HP|{m4nyddgkpubQO1R8>|?dhWpr2LSZo0)`V?u5=T@AjZw@(sZjv3Ge-k z#_zwR9fp{L(uATK@g-L4*KRq~QdDUgT3q)pP8^kAgv&tgVeTU2OM5@RlKXTHV9gqT z5T5=ZoKy7nGYMFU4M(WzHttC2y?&j#ukl{q;B+RJ`RXI*v0AJbyG+{4O8Z3zXX?4R zV;o4O{GOrUwna>Jeu;ws!>bL?MIImTV!D{b35CJ7IpzOX8w6`tr`i#@z_HGf+Xa0MGntJ~ z^UotwoupRtpe?`5eL-vR3-PyHr08ff+j2l9S9_O#=k*iJ&9cZ>KFj|q>pGyCSi*H! z6p`MmfFMHXiXakt3BC6&MVeF%MGX>AP_9Hk5E4MTSg0ah5R~4Fg7g|d5iW@I3+USo zym#fkJ^9Z0&;NganVFs4Ig^u&qi}i$?x9(ADth0n02#loQ8kvXW0}j$Ynm0)kkru^ z-ZWVlg@``kj(x+_6H-vh>!Moa9-noMFVSOSqIspRXrpkSj&SY0wjDx88^1U4tz~Qw zIYAesTQ)zrA7NXTNc;V&gZUo#Um(`z>tWm^m{k!gHM=~2l)<|-Y}$e0fQcV`l&o8M z(jY3irCdv~T%MfrnKms}`j*LuK!yj!b#_b(qemP*r?xOKal_THGPjrkMw z?=n2csx04ju*gHrmC1Hm@UV*6-IL-5_gk$nGw4|o#^t)nQjU9HZryl1eKYIPPnVi> zj#jkx0A-=*5_!!d?vK${wE{8bGp8l=P;wJ)DGSv)6iD7Ck1=@)fp-}Oylx** zWx3Hpwd_o)iblu~YMX)Q$*BFXbW@?gT&@e4i>UQ`XNu<<-8ah-v#F)3ZPdw>55zRK zFrQPz{Xa8TGA&FmlEDfE+vs%H`9dh#FnB+ehceVIDGfU zOc!PE$P>~V$}zn|(ghcF6Yo?K%*Fyv1Q}y)t*?6wrXyk;osI7b+njIvE+oek&&xcy z{CdaF5C7_30v*Iybat2}pw2Dg9#Mqmw2aH;~ z`sNi=M{aXHq1dKHz1&fseqd|YR9W}kR6F;z>6p2#f%+AHss!&RG$VHwM;Y1H8&*bC zG3A%`qQ_o|JEa@0h{_cW7X=kFKJkX@c@4$hz)o#rJ*oSd3K5YcRox-u+WYY#?xRm2FFXn1S`j>D`>br^V5~Ln>`*+G; zL6)5Ps5Y$CD{@CgWBodB?U!n`d6`ofMa+1+&Bj6$u9&(=-May~CY!|5yA{_gpxZOq z?@9T~F83Fw59^8fH0hDDs)9_;`zc{rWT%WZYLI{TaDMo#bBkKqr^*!D9?xycQm+>Q~;oV_(hDY6HgN7Pcln`~mf)N(^_0l6XV=zbZWtJqUXnd^w9$ zNTeXW*Ilv!m@cL~d2@>_JgVQr>axsiWm0OZ#Nd?+Da(Al&n%|R z;ONLi>$N%NrO(EjLHiXSIH=b(ETPlRG(5N!GP`rmBl+} z?kv3EB-OlUo4NN@H5++0(=UnlU?5Bzb2xU%BeiRC$bWs$ki_W#{%3q`gmM z|1#>Z=M&*^^2L_`q0&>cA=-2Ei1$oa$~g@>B*u-ipQOt~bZ6lwapJ2{WW>sw7!NDq%4yQU_ z=9{J^7W%J`+wKwN z9d^RzR$>C|U@rSXNKCi@m^$yR(IUrg(m`{e{8uYU;nfl6?+p3O6q?#u!(ksywXMofZP) zFah0#RS6c;)C8X13#&Kh47NP#uOzuzd$Acb-;DT~1wW@F`7K~fesB$++_|7c7%-H4 z{zbgf9bubaBg$GKR09miE@PoZ#JAQZlorDCX6%_@^;eyLnG-S>S07bs`L{IimoIG9 zEG_u%a-(IR8t0aAf1x|65u&)LxvPuCB&<*VojRCR>GwS4yPk`)M)dek8wJ@RS_MbO&4iAfhZUHkJmVk6vAm+t7Mv?2+rUhOHhk1OW z{ksX{10>CR6rt098FfcfYBC^^I_wA6rIgn?#Zi~zt8RpE8t@K<8TAO{3AsJ@iXO#p z*M+(5KMJGQ@4mM{7uLcv2LfACQH1b*`J%48263pBg_Fc;Hg zffZX49JjHX-BsT4-u5lgzwFySG7y6hmK9AjPxQI&d&3C1D`Ib$cDoOcqgSdCj5NN- zn(ag7UB^b>4&&2~nKXz^&Mg_S@}@|d6z=MiX0YCHiS!L7qAV9UmJ# zoo1M!g~YUf@!d|l*4`z5N&C!nL|9gc&fYLtM;B&41;Hk!kzl#G)E&B*guRiU4 zfBGGrWx89zO;@!{N4c%lS*R7$$p2_7b^rBB+T(zyz3i=GQ#r|1d2ChSPlJN$XE`Wz z@+wO9EygY`+1Q$ObsZqL3~Q0!i~`@0b~L#!v(3bamW=zZ)EYLE_lg4&@=WRS$2dfq|zu2v-v`7hb#9NtA42(+H0u>EzR`Y zU-=)r=q^xz`RBH7=`Slm-0MS?RDNImVjh`=#tr^7zCFZWKSarF<{Y}}wOhJAR!;TN zUh-MK;+gF+B^9{+YBn0zy1jc{6CobNIVa!ue(i&X=MyW9H;Fc)Q#NB6enWm1zVS6K z&9CUz_YYE;!h@ainbs@SLotZQHPjg9TR^Yi&dWGVVre!Rr5t2lr5oQf=P7B6NF34W@sSI2CJt_rxYGB^LyH=}xc zxQuT_&A5#dTyLEshx&*91PtZ`!bq0{V1oVM_6&{}0VtD#`!u*~2tb}FO|p!{E-kWe?+d82lR+0N(DfhC|D{Sancn4O`_(T z0-#G2E-N183RVPEPec1go|0?|)3^r3BVQUNfD>pqpD=Zv3+JH-Pzghv_vg~`jYwcH zEZ8u5*q;|%5C*&Hijweg^$o;bRRoxMAbwF1=Q}jG5>@7f!5IIf!zyual>k0FN{~b? zq&1}O0fRxHIYvTVAO`gdyy@bK5_h_Za)El20!9IYf%hfk+a+hFa2kNYAaES>ox|fU zC7oZ~6SptQ?*Afl>a^$!!YRpDFuxX&Vu;&YM(o# zhsaa^zd`r98C&@kq(V5}-kN#HONdzDV=b`2v4z6|>$Q#seFV~;{B{_8Ql1tku5#2Z zLfW8Zk}4s5h8efYN`5b3YAkDA{#xhUxmvLJAS`1gvT zB{DNONGNf?!N9~4X>`Dp@^nOtvd&S3Hjq+;o~XovN@Bmx4dj0<0;54V|8G=K5?~-Q zMYu_*aL+XW24dh{CEELUXDEc@J*|2cq9-US{xR7v=z($m;w2jF6b~mmF>?rH2!`X5^?-}k(Bt~gFBK?{ zHOJPC1O}eGi9&(T;cKq9{_|2h{LTS<&O;jx;OCF4g&B8FAK-I + + android:id="@+id/url" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:clickable="false" + android:maxLines="1" + android:paddingBottom="2dip" + android:paddingLeft="6dip" + android:paddingTop="2dip" + android:textColor="@color/light" /> + \ No newline at end of file diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index f51db12..053d129 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -57,4 +57,4 @@ 清除浏览器 Cookies 启用前进后退手势控制 - + \ No newline at end of file diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 822e9d6..9129861 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -3,7 +3,7 @@ Lightning Google - 瀏覽器設定 + 瀏覽器設置 允許站點訪問地理位置 保存密碼 User Agent @@ -13,21 +13,21 @@ 作為移動設備訪問 作為桌面設備訪問 自定義 User Agent - 設定首頁 - 設定僅將程式於新標簽頁 + 首頁 + 設置僅將應用於新標簽頁 啟用全屏模式 啟用 JavaScript 恢復丟失標簽 - 程式設定 - 下載目錄 - 高級設定 + 設置 + 下載位置 + 高級設置 源碼 - 許可 + 許可證 github.com/anthonycr/Lightning-Browser Apache License 2.0 NewSettings - 程式設定 - 當前版本 + 設置 + 應用版本 退出時清理緩存 啟用文本重排 屏蔽網頁圖像 @@ -38,7 +38,7 @@ AdvancedSettings Hello world! (推薦) - (可能導致部分網頁排版混亂) + (部分網頁可能看起來很奇怪) 搜索引擎 搜索 使用寬視圖 @@ -48,13 +48,10 @@ 添加書簽 書簽列表 分享頁面 - 程式設定 + 應用設置 隱身標簽 新建標簽 - (尚未檢測到已支持原生瀏覽器) - (已檢測到受支持的原生瀏覽器) - 瀏覽時隱藏狀態欄 - 清除瀏覽器 Cookies - 啟用前進後退手勢控制 + (尚未檢測到原生瀏覽器) + (檢測到已支持的原生瀏覽器) - + \ No newline at end of file diff --git a/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java b/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java index 96a5b36..4346369 100644 --- a/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java +++ b/src/acr/browser/barebones/activities/AdvancedSettingsActivity.java @@ -681,7 +681,6 @@ public class AdvancedSettingsActivity extends Activity { Cursor mCur; mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null); - mCur.moveToFirst(); String title = ""; String url = ""; diff --git a/src/acr/browser/barebones/activities/BrowserActivity.java b/src/acr/browser/barebones/activities/BrowserActivity.java index 71eef7d..c6e535f 100644 --- a/src/acr/browser/barebones/activities/BrowserActivity.java +++ b/src/acr/browser/barebones/activities/BrowserActivity.java @@ -7,8 +7,11 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Random; @@ -33,6 +36,8 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Configuration; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; @@ -51,6 +56,7 @@ import android.provider.Browser; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; +import android.view.GestureDetector; import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; @@ -58,6 +64,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; +import android.view.GestureDetector.SimpleOnGestureListener; import android.view.View.OnClickListener; import android.view.View.OnKeyListener; import android.view.View.OnLongClickListener; @@ -158,6 +165,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { public static final String HOMEPAGE = FinalVariables.HOMEPAGE; public static final int API = FinalVariables.API; public static final String SEPARATOR = "\\|\\$\\|SEPARATOR\\|\\$\\|"; + public static boolean DEVICE_HAS_GPS = false; // semi constants public static Context CONTEXT; @@ -438,7 +446,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { if (API > 8) { view.setDownloadListener(new CustomDownloadListener(ACTIVITY)); } - + main[pageToView] = view; if (display) { if (currentId != -1) { background.removeView(currentTab); @@ -455,8 +463,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { } else if (Url.contains("about:blank")) { view.loadUrl(""); } else { - searchTheWeb(Url, CONTEXT); - + view.loadUrl(Url); } Log.i("Browser", "tab complete"); return view; @@ -475,6 +482,29 @@ public class BrowserActivity extends Activity implements OnTouchListener { } + static List> getBookmarks() { + List> bookmarks = new ArrayList>(); + File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + try { + BufferedReader readUrl = new BufferedReader(new FileReader(bookUrl)); + BufferedReader readBook = new BufferedReader(new FileReader(book)); + String u, t; + while ((u = readUrl.readLine()) != null + && (t = readBook.readLine()) != null) { + Map map = new HashMap(); + map.put("title", '\u2605' + " " + t); + map.put("url", u); + bookmarks.add(map); + } + readBook.close(); + readUrl.close(); + } catch (FileNotFoundException ignored) { + } catch (IOException ignored) { + } + return bookmarks; + } + static void goBookmarks(Context context, CustomWebView view) { File book = new File(context.getFilesDir(), "bookmarks"); File bookUrl = new File(context.getFilesDir(), "bookurl"); @@ -583,6 +613,10 @@ public class BrowserActivity extends Activity implements OnTouchListener { public static void onHideCustomView(FrameLayout fullScreenContainer, CustomViewCallback mCustomViewCallback, int orientation) { + if (!settings.getBoolean("hidestatus", false)) { + ACTIVITY.getWindow().clearFlags( + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); screen.removeView(fullScreenContainer); fullScreenContainer = null; @@ -593,11 +627,11 @@ public class BrowserActivity extends Activity implements OnTouchListener { uBar.bringToFront(); } - private static Message click; + public static boolean onLongClick() { int n = currentId; - if(currentId == -1 || currentTab == null){ + if (currentId == -1 || currentTab == null) { return true; } final HitTestResult result = currentTab.getHitTestResult(); @@ -724,8 +758,8 @@ public class BrowserActivity extends Activity implements OnTouchListener { Log.i("Lightning", "Load Time: " + loadTime); } - private static int numberPage; + public static void onPageStarted(WebView view, String url, Bitmap favicon) { Log.i("Lightning", "Page Started"); loadTime = System.currentTimeMillis(); @@ -779,6 +813,9 @@ public class BrowserActivity extends Activity implements OnTouchListener { } public static void onShowCustomView() { + ACTIVITY.getWindow().setFlags( + WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); background.removeView(currentTab); uBar.setVisibility(View.GONE); } @@ -831,7 +868,6 @@ public class BrowserActivity extends Activity implements OnTouchListener { } } - public static void renameBookmark(String url) { index = 0; for (int n = 0; n < MAX_BOOKMARKS; n++) { @@ -929,7 +965,12 @@ public class BrowserActivity extends Activity implements OnTouchListener { } else if (query.contains("about:history")) { generateHistory(currentTab, context); } else if (isSearch) { - query.replaceAll(" ", "+"); + try { + URLEncoder.encode(query, "UTF-8"); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } currentTab.loadUrl(SEARCH + query); } else if (!validURL) { currentTab.loadUrl("http://" + query); @@ -1022,6 +1063,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { @Override public boolean onLongClick(View v) { + clearCache(); finish(); return true; } @@ -1063,7 +1105,16 @@ public class BrowserActivity extends Activity implements OnTouchListener { }); findNewView(del); - main[del] = null; + if (main[del] != null) { + if (API > 11) { + main[del].onPause(); + } + if (main[del].isShown()) { + background.removeView(main[del]); + } + main[del].removeAllViews(); + main[del] = null; + } } @Override @@ -1129,6 +1180,11 @@ public class BrowserActivity extends Activity implements OnTouchListener { getUrl.setBackgroundResource(R.drawable.book); getUrl.setPadding(tenPad, 0, tenPad, 0); final List> list = new ArrayList>(); + List> books = getBookmarks(); + Iterator> it = books.iterator(); + while (it.hasNext()) { + list.add(it.next()); + } handler = new Handler() { @Override @@ -1350,24 +1406,54 @@ public class BrowserActivity extends Activity implements OnTouchListener { } tabList.remove(delete); if (!(right || left)) { + if (API > 11) { + currentTab.onPause(); + } + currentTab.pauseTimers(); + clearCache(); + currentTab = null; finish(); } uBar.bringToFront(); tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); } + public void clearCache() { + if (settings.getBoolean("cache", false) && currentTab != null) { + currentTab.clearCache(true); + Log.i("Lightning", "Cache Cleared"); + + } + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] != null) { + main[n].removeAllViews(); + main[n] = null; + } + } + } + @Override public void finish() { background.clearDisappearingChildren(); background.removeView(currentTab); tabScroll.clearDisappearingChildren(); - if (settings.getBoolean("cache", false)) { - currentTab.clearCache(true); - Log.i("Lightning", "Cache Cleared"); - } super.finish(); } + @Override + protected void onDestroy() { + // TODO Auto-generated method stub + + super.onDestroy(); + } + + @Override + protected void onStop() { + // TODO Auto-generated method stub + + super.onStop(); + } + void forward() { ImageView forward = (ImageView) findViewById(R.id.forward); forward.setBackgroundResource(R.drawable.button); @@ -1558,12 +1644,12 @@ public class BrowserActivity extends Activity implements OnTouchListener { @Override public void run() { - reopenOldTabs(); // restores old tabs or creates a new one + // restores old tabs or creates a new one } }); startup.run(); - + reopenOldTabs(); // new tab button ImageView newTab = (ImageView) findViewById(R.id.newTab); newTab.setBackgroundResource(R.drawable.button); @@ -1717,6 +1803,16 @@ public class BrowserActivity extends Activity implements OnTouchListener { isPhone = sizeInInches < 6.5; forward();// forward button back(); + PackageInfo p; + int code = 0; + try { + p = getPackageManager().getPackageInfo(getPackageName(), 0); + code = p.versionCode; + } catch (NameNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if (settings.getInt("first", 0) == 0) { // navigation tips String message = "1. Long-press back button to exit browser\n\n" @@ -1727,6 +1823,10 @@ public class BrowserActivity extends Activity implements OnTouchListener { Utils.createInformativeDialog(CONTEXT, "Browser Tips", message); edit.putInt("first", 1); + edit.putInt("version", code); + edit.commit(); + } else if (settings.getInt("version", code - 1) != code) { + edit.putInt("version", code); edit.commit(); } } @@ -1769,6 +1869,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { } case KeyEvent.KEYCODE_F12: { + clearCache(); finish(); } case KeyEvent.KEYCODE_F6: { @@ -1799,6 +1900,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { urlToLoad[n][0] = null; } } + clearCache(); finish(); return true; } else @@ -1883,13 +1985,17 @@ public class BrowserActivity extends Activity implements OnTouchListener { @Override protected void onPause() { - if (currentTab != null) { if (API >= 11) { currentTab.onPause(); + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] != null) + main[n].onPause(); + } } currentTab.pauseTimers(); } + Thread remember = new Thread(new Runnable() { @Override @@ -1920,26 +2026,40 @@ public class BrowserActivity extends Activity implements OnTouchListener { } if (API >= 11) { currentTab.onResume(); + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] != null) + main[n].onResume(); + } } } gestures = settings.getBoolean("gestures", true); - reinitializeSettings(); currentTab.resumeTimers(); + reinitializeSettings(); if (settings.getBoolean("fullscreen", false) != fullScreen) { toggleFullScreen(); } - + } private int x; private int y; private boolean xPress; private Rect edge; - + private final GestureDetector mGestureDetector = new GestureDetector( + CONTEXT, new CustomGestureListener()); + + private class CustomGestureListener extends SimpleOnGestureListener { + @Override + public void onLongPress(MotionEvent e) { + deleteTab(id); + super.onLongPress(e); + } + } + @Override public boolean onTouch(View v, MotionEvent event) { + id = v.getId(); try { - id = v.getId(); background.clearDisappearingChildren(); xPress = false; x = (int) event.getX(); @@ -1948,13 +2068,8 @@ public class BrowserActivity extends Activity implements OnTouchListener { v.getDrawingRect(edge); currentTabTitle.setPadding(leftPad, 0, rightPad, 0); if (event.getAction() == MotionEvent.ACTION_DOWN) { - timeTabPressed = System.currentTimeMillis(); } else if (event.getAction() == MotionEvent.ACTION_UP) { - if ((System.currentTimeMillis() - timeTabPressed) > 1000) { - xPress = true; - } - if (x >= (edge.right - bounds.width() - v.getPaddingRight() - 10 * 3 / 2) && x <= (edge.right - v.getPaddingRight() + 10 * 3 / 2) && y >= (v.getPaddingTop() - 10 / 2) @@ -2029,6 +2144,7 @@ public class BrowserActivity extends Activity implements OnTouchListener { e.printStackTrace(); Log.e("Lightning Error", "Well we dun messed up"); } + mGestureDetector.onTouchEvent(event); return true; } diff --git a/src/acr/browser/barebones/activities/IncognitoModeActivity.java b/src/acr/browser/barebones/activities/IncognitoModeActivity.java index 9ec96ab..131f3b8 100644 --- a/src/acr/browser/barebones/activities/IncognitoModeActivity.java +++ b/src/acr/browser/barebones/activities/IncognitoModeActivity.java @@ -7,8 +7,11 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Random; @@ -50,6 +53,7 @@ import android.provider.Browser; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; +import android.view.GestureDetector; import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; @@ -57,6 +61,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; +import android.view.GestureDetector.SimpleOnGestureListener; import android.view.View.OnClickListener; import android.view.View.OnKeyListener; import android.view.View.OnLongClickListener; @@ -216,6 +221,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { public static Drawable inactive; public static Drawable active; public static LinearLayout tabLayout; + // creates the tab and returns the ID of the view public static int createTab(String theUrl, boolean display) { int id = -1; @@ -299,6 +305,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } return id; } + public static void deleteBookmark(String url) { File book = new File(CONTEXT.getFilesDir(), "bookmarks"); File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); @@ -422,8 +429,8 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { history.run(); } - public static IncognitoWebView generateTab(final int pageToView, String Url, - final boolean display) { + public static IncognitoWebView generateTab(final int pageToView, + String Url, final boolean display) { IncognitoWebView view = new IncognitoWebView(CONTEXT); view.setId(pageToView); view.setWebViewClient(new IncognitoWebViewClient(ACTIVITY)); @@ -431,7 +438,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { if (API > 8) { view.setDownloadListener(new IncognitoDownloadListener(ACTIVITY)); } - + main[pageToView] = view; if (display) { if (currentId != -1) { background.removeView(currentTab); @@ -448,7 +455,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } else if (Url.contains("about:blank")) { view.loadUrl(""); } else { - searchTheWeb(Url, CONTEXT); + view.loadUrl(Url); } Log.i("Browser", "tab complete"); return view; @@ -571,6 +578,10 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { public static void onHideCustomView(FrameLayout fullScreenContainer, CustomViewCallback mCustomViewCallback, int orientation) { + if (!settings.getBoolean("hidestatus", false)) { + ACTIVITY.getWindow().clearFlags( + WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + } FrameLayout screen = (FrameLayout) ACTIVITY.getWindow().getDecorView(); screen.removeView(fullScreenContainer); fullScreenContainer = null; @@ -582,9 +593,10 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } private static Message click; + public static boolean onLongClick() { int n = currentId; - if(currentId == -1 || currentTab == null){ + if (currentId == -1 || currentTab == null) { return true; } final HitTestResult result = currentTab.getHitTestResult(); @@ -713,6 +725,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } private static int numberPage; + public static void onPageStarted(WebView view, String url, Bitmap favicon) { Log.i("Lightning", "Page Started"); loadTime = System.currentTimeMillis(); @@ -764,6 +777,9 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } public static void onShowCustomView() { + ACTIVITY.getWindow().setFlags( + WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); background.removeView(currentTab); uBar.setVisibility(View.GONE); } @@ -813,7 +829,6 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } } - public static void renameBookmark(String url) { index = 0; for (int n = 0; n < MAX_BOOKMARKS; n++) { @@ -911,7 +926,12 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } else if (query.contains("about:history")) { generateHistory(currentTab, context); } else if (isSearch) { - query.replaceAll(" ", "+"); + try { + URLEncoder.encode(query, "UTF-8"); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } currentTab.loadUrl(SEARCH + query); } else if (!validURL) { currentTab.loadUrl("http://" + query); @@ -924,9 +944,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { Drawable icon; icon = new BitmapDrawable(null, favicon); icon.setBounds(0, 0, width / 2, height / 2); - urlTitle[id] - .setCompoundDrawables(incognitoPage, null, exitTab, null); - + urlTitle[id].setCompoundDrawables(incognitoPage, null, exitTab, null); } @@ -1000,6 +1018,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { @Override public boolean onLongClick(View v) { + clearCache(); finish(); return true; } @@ -1041,7 +1060,16 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { }); findNewView(del); - main[del] = null; + if (main[del] != null) { + if (API > 11) { + main[del].onPause(); + } + if (main[del].isShown()) { + background.removeView(main[del]); + } + main[del].removeAllViews(); + main[del] = null; + } } @Override @@ -1098,6 +1126,29 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { }); } + static List> getBookmarks() { + List> bookmarks = new ArrayList>(); + File bookUrl = new File(CONTEXT.getFilesDir(), "bookurl"); + File book = new File(CONTEXT.getFilesDir(), "bookmarks"); + try { + BufferedReader readUrl = new BufferedReader(new FileReader(bookUrl)); + BufferedReader readBook = new BufferedReader(new FileReader(book)); + String u, t; + while ((u = readUrl.readLine()) != null + && (t = readBook.readLine()) != null) { + Map map = new HashMap(); + map.put("title", '\u2605' + " " + t); + map.put("url", u); + bookmarks.add(map); + } + readBook.close(); + readUrl.close(); + } catch (FileNotFoundException ignored) { + } catch (IOException ignored) { + } + return bookmarks; + } + @SuppressLint("HandlerLeak") void enterUrl() { getUrl = (MultiAutoCompleteTextView) findViewById(R.id.enterUrl); @@ -1107,6 +1158,11 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { getUrl.setBackgroundResource(R.drawable.book); getUrl.setPadding(tenPad, 0, tenPad, 0); final List> list = new ArrayList>(); + List> books = getBookmarks(); + Iterator> it = books.iterator(); + while (it.hasNext()) { + list.add(it.next()); + } handler = new Handler() { @Override @@ -1328,24 +1384,47 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } tabList.remove(delete); if (!(right || left)) { + if (API > 11) { + currentTab.onPause(); + } + currentTab.pauseTimers(); + clearCache(); + currentTab = null; finish(); } uBar.bringToFront(); tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); } + public void clearCache() { + if (settings.getBoolean("cache", false) && currentTab != null) { + currentTab.clearCache(true); + Log.i("Lightning", "Cache Cleared"); + + } + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] != null) { + main[n].removeAllViews(); + main[n] = null; + } + } + } + @Override public void finish() { background.clearDisappearingChildren(); background.removeView(currentTab); tabScroll.clearDisappearingChildren(); - if (settings.getBoolean("cache", false)) { - currentTab.clearCache(true); - Log.i("Lightning", "Cache Cleared"); - } super.finish(); } + @Override + protected void onStop() { + // TODO Auto-generated method stub + + super.onStop(); + } + void forward() { ImageView forward = (ImageView) findViewById(R.id.forward); forward.setBackgroundResource(R.drawable.button); @@ -1676,10 +1755,10 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { back(); if (settings.getInt("firstIncognito", 0) == 0) { // navigation tips - String message = "Incognito Mode keeps you safe while browsing the internet." + - " History is not saved, Cookies are disabled, and Location access is " + - "disabled to ensure as best we can that you are not being tracked. " + - "Happy Browsing!"; + String message = "Incognito Mode keeps you safe while browsing the internet." + + " History is not saved, Cookies are disabled, and Location access is " + + "disabled to ensure as best we can that you are not being tracked. " + + "Happy Browsing!"; Utils.createInformativeDialog(CONTEXT, "About Incognito", message); edit.putInt("first", 1); @@ -1725,6 +1804,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { } case KeyEvent.KEYCODE_F12: { + clearCache(); finish(); } case KeyEvent.KEYCODE_F6: { @@ -1755,6 +1835,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { urlToLoad[n][0] = null; } } + clearCache(); finish(); return true; } else @@ -1842,6 +1923,10 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { if (currentTab != null) { if (API >= 11) { currentTab.onPause(); + for (int n = 0; n < MAX_TABS; n++) { + if (main[n] != null) + main[n].onPause(); + } } currentTab.pauseTimers(); } @@ -1865,14 +1950,24 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { if (settings.getBoolean("fullscreen", false) != fullScreen) { toggleFullScreen(); } - + } private int x; private int y; private Rect edge; private boolean xPress; - + private final GestureDetector mGestureDetector = new GestureDetector( + CONTEXT, new CustomGestureListener()); + + private class CustomGestureListener extends SimpleOnGestureListener { + @Override + public void onLongPress(MotionEvent e) { + deleteTab(id); + super.onLongPress(e); + } + } + @Override public boolean onTouch(View v, MotionEvent event) { try { @@ -1885,12 +1980,8 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { v.getDrawingRect(edge); currentTabTitle.setPadding(leftPad, 0, rightPad, 0); if (event.getAction() == MotionEvent.ACTION_DOWN) { - timeTabPressed = System.currentTimeMillis(); - } else if (event.getAction() == MotionEvent.ACTION_UP) { - if ((System.currentTimeMillis() - timeTabPressed) > 1000) { - xPress = true; - } + } else if (event.getAction() == MotionEvent.ACTION_UP) { if (x >= (edge.right - bounds.width() - v.getPaddingRight() - 10 * 3 / 2) && x <= (edge.right - v.getPaddingRight() + 10 * 3 / 2) @@ -1966,6 +2057,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { e.printStackTrace(); Log.e("Lightning Error", "Well we dun messed up"); } + mGestureDetector.onTouchEvent(event); return true; } @@ -2046,6 +2138,6 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener { int n = newTab(homepage, true); main[n].resumeTimers(); } - + } } \ No newline at end of file diff --git a/src/acr/browser/barebones/customwebview/CustomWebView.java b/src/acr/browser/barebones/customwebview/CustomWebView.java index 6e26ccb..8b88c83 100644 --- a/src/acr/browser/barebones/customwebview/CustomWebView.java +++ b/src/acr/browser/barebones/customwebview/CustomWebView.java @@ -69,6 +69,9 @@ public final class CustomWebView extends WebView { public void settingsInitialization(Context context) { SharedPreferences preferences = context.getSharedPreferences( "settings", 0); + if(API < 11){ + settings.setLightTouchEnabled(true); + } settings.setDomStorageEnabled(true); settings.setAppCacheEnabled(true); settings.setAppCachePath(context.getFilesDir().getAbsolutePath() @@ -199,6 +202,10 @@ public final class CustomWebView extends WebView { @Override public boolean onTouchEvent(MotionEvent event) { + if(API < 11){ + if(!hasFocus()) + requestFocus(); + } mGestureDetector.onTouchEvent(event); return super.onTouchEvent(event); } diff --git a/src/acr/browser/barebones/customwebview/IncognitoWebView.java b/src/acr/browser/barebones/customwebview/IncognitoWebView.java index 37be1ab..58277df 100644 --- a/src/acr/browser/barebones/customwebview/IncognitoWebView.java +++ b/src/acr/browser/barebones/customwebview/IncognitoWebView.java @@ -68,6 +68,9 @@ public final class IncognitoWebView extends WebView { public void settingsInitialization(Context context) { SharedPreferences preferences = context.getSharedPreferences( "settings", 0); + if(API < 11){ + settings.setLightTouchEnabled(true); + } settings.setDomStorageEnabled(true); settings.setAppCacheEnabled(true); settings.setAppCachePath(context.getFilesDir().getAbsolutePath() @@ -191,6 +194,10 @@ public final class IncognitoWebView extends WebView { @Override public boolean onTouchEvent(MotionEvent event) { + if(API < 11){ + if(!hasFocus()) + requestFocus(); + } mGestureDetector.onTouchEvent(event); return super.onTouchEvent(event); } diff --git a/src/acr/browser/barebones/incognitoclasses/IncognitoWebViewClient.java b/src/acr/browser/barebones/incognitoclasses/IncognitoWebViewClient.java index 390fc14..e0b8f3a 100644 --- a/src/acr/browser/barebones/incognitoclasses/IncognitoWebViewClient.java +++ b/src/acr/browser/barebones/incognitoclasses/IncognitoWebViewClient.java @@ -31,8 +31,8 @@ public class IncognitoWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("market://") - || url.startsWith("http://play.google.com") - || url.startsWith("https://play.google.com")) { + || url.startsWith("http://play.google.com/store/apps") + || url.startsWith("https://play.google.com/store/apps")) { Intent urlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); urlIntent.putExtra("acr.browser.barebones.Origin", diff --git a/src/acr/browser/barebones/utilities/FinalVariables.java b/src/acr/browser/barebones/utilities/FinalVariables.java index 25a3d0d..2df31ad 100644 --- a/src/acr/browser/barebones/utilities/FinalVariables.java +++ b/src/acr/browser/barebones/utilities/FinalVariables.java @@ -17,7 +17,7 @@ public class FinalVariables { public static final String DUCK_SEARCH = "https://duckduckgo.com/?t=lightning&q="; public static final String DUCK_LITE_SEARCH = "https://duckduckgo.com/lite/?t=lightning&q="; public static final String STARTPAGE_SEARCH = "https://startpage.com/do/metasearch.pl?language=english&cat=web&query="; - public static final String HOMEPAGE = "https://duckduckgo.com"; + public static final String HOMEPAGE = "https://www.google.com"; public static final String BAIDU_SEARCH = "http://www.baidu.com/s?wd="; public static final String YANDEX_SEARCH = "http://yandex.ru/yandsearch?lr=21411&text="; public static final String ADVANCED_SETTINGS_INTENT = "android.intent.action.ADVANCED_SETTINGS"; diff --git a/src/acr/browser/barebones/webviewclasses/CustomWebViewClient.java b/src/acr/browser/barebones/webviewclasses/CustomWebViewClient.java index 61914b5..c87242a 100644 --- a/src/acr/browser/barebones/webviewclasses/CustomWebViewClient.java +++ b/src/acr/browser/barebones/webviewclasses/CustomWebViewClient.java @@ -31,8 +31,8 @@ public class CustomWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("market://") - || url.startsWith("http://play.google.com") - || url.startsWith("https://play.google.com")) { + || url.startsWith("http://play.google.com/store/apps") + || url.startsWith("https://play.google.com/store/apps")) { Intent urlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); urlIntent.putExtra("acr.browser.barebones.Origin",