From d5eaad375cd381a1c0f60e32ffb5fcd22db5be79 Mon Sep 17 00:00:00 2001 From: vit9696 Date: Fri, 3 May 2019 03:47:37 +0300 Subject: [PATCH] OpenCoreMisc: Implement file logging --- Docs/Configuration.pdf | Bin 270541 -> 271611 bytes Docs/Configuration.tex | 13 +++++++++---- Include/OpenCore.h | 2 ++ Platform/OpenCore/OpenCoreMisc.c | 4 +++- Platform/OpenCore/OpenCoreNvram.c | 2 +- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index e40907c623226e0fc71730cbefdaf761f6d7976b..f875308816638046a2c6623dfddee25505564749 100644 GIT binary patch delta 38476 zcmV(sK<&TH!4Uh&5U`5{O>&F7jX=UAELWGHNK~`L82vrl!Q>U}o1#qqbGm@Dq zf5lo^bKJNQe%G&<+N!N^wlolN@z}(v(&b$zj^#-5?!!8j;tZh~mO11s56Mb4|2+*f zz++6wwqkGepaDS~4WRq$uN(Ad>zP0M;lQ`QC)Wo@&zYFTBo0_GyS|x)l5jtmg`ARr zN3-j6_KSC>Zjv@{<_jKi?{*#tFUeaqfB(nzUyh#BV9+@TNa#l}vg!6cwh+;9ctT_8 z8u-{?H2)&xB=-4iK`Du4-~^~wRkmxgvY42a5}(45{*2BjXC#j4ETl0BA~w6;8aWn1 z_}($d&th+xHQS_q2M^r$-ulw7+b#T1d|Te&3soe`T%}l&ffD^Y{Gmvflx&WhE zL9Yo?;@qnc5;mBQ*Lr#W^8EPfd}6DIyCk3s7h>G?@Ugj~hzQEZe;v-wPu~3Sk(neF zL*ViALQAQ+YY~0Zx{{%OYp>Gt>G)gnjDy}MphiRSt zwru-nVJR0M(}QiIt?qt;wNxreoyJQ4rYg6#yGrV2tkT=EZnT`8Qb&8TN;ouXw;nwK z4YViF1!=uE6z(#kf3fhcD4Wr{zNZ(jTp^!2zdrc&VE@!W z^C=H!tL?!r|L|uiywe-TVaM)F%PlBuKv*oGoX@Tf{{C?2e;_$0(nbzhS*i6DN@>>S zKx&cS`FLQ99UkC|i!*hbtrYALkXdC<{f=M2i1rLB!b`1P$PdT zBK;t|6MOUcT2c!#)*HiVg6{zGt%D!OF);MPw`pmZld7>^^V-ryVZ|zMQ-$s7a%)Rl za9+t8J4Dv9wGAh3h!QK1lBw#ZtibYCws#7KY@)=-e|tWUmUx%c2`R1EAI5 zPw~M@3o&5!FU_#KDA6IlV~Y zVLes3f5Qg=sU1A$s!{npR%sG-gGCK*)U)-QM2~zsw=MuiEbP*@YFp}nRC+yaiTCzL z`>fDuO5ORF!o)R;`GVre1AfQ!X2`@gwAc@|cU9I{Bx*Kl6yUMW<-Gdo^7wBZp^};x z)*I{hZW?7xNa1R#d+gkiCS^Tao)yZt38CEte>ZLd+I4PXpM&nxYOUJqDeo+_ccxZd z(3=dGW4%e(1?_y`O>`JrIPd(ZHxU6RzK~zUn+R~_3ScsF;)8pub``|mi{~Twq0CZ!~9%oOqNO$ih;1=9M zf7Cm1ja3 z*r7}xmZpW^ufHf}54n~gAv_2OUVI*)=KZ`uTVsKD;duRNS=p-bnP8p8MIAh70(g%P zIy<552CTy1r|eP}EU<`C)tDV)nhP0#f41o|XmOV{8#`r-VFMH!jW#B1h&?M%qOroh z22@uzO=r?`t}?;W)_~Q$leI1*(lY(8vHC{4g5N>vW9d<$5}H?8IhqWc=@_f6|~x=)yn>>w-b9))A6wsAsX$ zLU>^{F7Aw92bZzU6afEwtphW?CG+qjENz?Y6<*Iyl|@ASDS4H&QdR z6ac6w4uI#tiXyv`kjPP|*)OnAaHdyk)xvqsIr8*Sdase(L(oz+nX31u8i#b6l$-n>+|DxV-}{`erSwQtbg9DdYvY9Qd^lW#0{e|e^LR2nwXsI{u5 zqUaFfkgm%io=70@ES6a_MJ*{%f(WWc!hf}U*Y}Z+e-mR#*pc34K9Dg5Fb}(3Gg-@j zo?l*GTuzM#8pMa=(aH7406skYoNM0!TDfaq2JT)fZg=ZTz4NobYNZt33j;+j@WI@3 z+Dx7XaWsz{U-mb|fAAV_h&9gJyDpt!OIjOALhIAlZ?Ir64}LdE-VFLSXca)K-h;{L zwYY&q7ZO4dW4mrtn*!Y0YuB}!;*pHOImC9o<;@hhfuZr>0lOLPrT|jdTbK<#Uz@9s zy3Ur4GIZBCpop~#26bvP^fr^^6!=#_J59;zU7p-OBtxLHe>!qZO!YitWB_~;90D;p zzIkS!jvtqJH-43^i=@&1;r|FD%d!N*QcT$dD0Rf*-v<(U=kv(d81hrh66`(b5Al0c zB)j7iQV2n49|Yg(#gRIj^0ZRZ>28nf?(hb;S1yQ}x(3k%UCQx9cn%Yr2VmT{oesMw z3Ht53IGy?~e}$7U>U2Ma^{*O}uM*zGHJbp|5zVLsiw!LMxW)j}TwL|69UkjV+2S>q z9LB)*dJTW7q+Gv2SCR$ zDt*TZ)Md1$$2Wd-r4|b!fF+E&TV7{BGm!(CC-9L9f1fblvUo?y%yq8D{7PR=3HOCe zvNlNs>TadFoY<~i=J+)Pw|6@CHcU2oPs?z1ax-;f*=*hv3V$f)Mpr)ZK(vSI8tWu>mM4Sn zucnY908SF{{Rw_DcCeaC&rlMEVNaO4Yx#%2C6F=b3H#`GHT%~p&eGzLFb(?**|@fr zldMQgOeJ`Kcln5|Q+-EFqtO^2*~@_d4E!eze}Yl(N&!_^*`x;d%x#EG3gF!Y>yiRa z55+(e;B~JF0+Uzp)Y!NiimG@FyI4d7<0FZlot*#h;uX4W0DSZN)A5^^*Uuhbourb; zcs!O4Y9G6*mqdv1Za#Z<{^|@7K=8;M*vKo7C3^NzW`BHj+EZdfTpJetqy?-V;+IlQO|50yQ*~u?{JJrCDunA+ z&2jbBnqG^FHoM+7^{(i5M7_PUOV);M)$eqL(sa35ng?vYh@vo9&QlT8b}JYF(H@P| zO-IYx^Zd5_>+JaaJY#Vx==`6Nla3k%8(1HIgrSdrG8Ja{DuWfQTKp@N(JH6o%b;%P zxf$mFeDfobaAIkv^{svR*ybRzM3G^`x@0KX6pXL=AmR<`kOrFec7?LcsR2YSCT0yJ>H^4)hBppv@x8s(GPil zvo3WDifxHhZ)j4tEgZ#p4N#x9+P)q9F&!BRo^BVtLwj5ATCZu#1lYNrU}au zam3K{uegERhJ%1gBtF|yQI;T=N`kt7Dp8dRR9dxtqlpSZgpT{rH@P(j5Zkr`|VtB~CvjwOYwWqQ`!g!|Kgne1Gph_iFa9`J@hUEQH1lWtEBC~=h;{3DT z7>O4WvfJZ4j)J_LbkI0vNtk|ru|x+q_hm>V%R+f9!=d=R+*l=$?$u#qs2`Ej_JkBs z1j%8Llky>{XW~pDOVzOSIPvcr-D*>oIwBO+#9pyrk>HO1_IfI=B}-D_rmR8cRaZ9< zk5OQJYZkIBJrs=$){n!O@z56drOC4*%?9!Cz1`M*xu$npKD!(%G7|28{_<`iR7@Y+ zyxnTMf{6uu$uXCREHrCk=$aYujrEQPYx)4dkU{1!@3$0oHpybPjDw$zj#gGAEDZSU zCIv3+2HWCciyPWyK^yfBAp&d)5j&l4RR$)7O6&41*dxZ=2TYXy;IrEjm{CDr*%D%b z2RKz;($K-caj>IwwjSkwgVxPbVNtEheodtSCL2ZrlAha6?})gno2EBT3mlwy*H*f! zw$f~KldvEkRy5LAFjlPe8kHCe2ZSaPpGpM;ly!quqX+C_ORoo2AZ+`t21Hk^(6~IX zkO&PrQJ)}4(qu?4wD`X*cGymMaSEj}N!)yj)|c*U<&GmJVp~{$KRN_~_J`vdFNrzT z8YBRo)J^$pRE^(sB+xUQ0aX14l?N3j@3u5vdgb{Gh~VYP(3TOrLd z+Zxd!=?T4C>*^HHK%|*u{)r&mHpRoMDP^RO2(p&PiW0xRn*ul|(!^&uoxet#Da>Vp z``oXfRN;eE6~#<{N^uUQiUUZ^Lhf^&gQ)__j>mBNTw^c<=ix&7+~ogY<)*Ot%6!%I z^g0%BZ9CkIToFeMl9kpKk?=TIw)!277mmY3JHjZa+Js$z+76%*CKufx%L%^%V3$Vz zkf0Y7mOy0N2-3l>2wYv;4C=Q|0RB%FCOVj|=&h(Q2{E}FGp@9?5 zM3nsh2L2+KoNoQ2goTIoY(#QsfH9$XF?pR=&bAbP)Ss>OTYJY+moS3$v!yV+Szi2p zag=VLmxd^ut#%i`{ua*GFoZxsLa}->6L*jTV!}n8RV*0*|K%rhO;h$e-Co{66nyyM@&^70oWogZwr7k>gcp}xed&PET*ZL{L+11r z>-au@IVRd;}&^Bt8sDi;}V-f;nmcvmZI4Y4J!zQy>(Kl3ut zXhk8|cF;--m9lzhC$uMHmWG*|x5!D5h0VY=n0)k)xdo!aO!&{l)>*=$A^ANtdOzLY z%5<3Y&DHyx?|=BoZgx#ef0}bHf_E6czx)k<`=#a8H?MEXMF{9=IPj{U#1$D6atMRP zhTGFxxANjvNT$Rv_dA;T-4r(Vdq~Cq#AAGzu3)MQhkOvnzERhcjvce`kdf-mm1hRL zOC6GvA34xI%AqSQHdFZvTI%6!S0ncXpQE~tAo_~aN2~Sct8b0txeVV^BE7P=%aXc( z&?I=gg7&7t&a9%#+eHTYIX-T)I}QQs?339i#PR<2cKHXi1!wo;klZ+cPLG=|1Vs#9y`t-b;Tn2$ z;|b%K-R(`s2h*fC{>^uMunKj5qy9^(Gw3GCs9Xt(O$#(;Gw_XQJfY%}Z z@VyQ%M01<78Yc$clGzS}u3g$9p8)$a0ku8>m1CQw9(?;Ft0(UE%SliI~Ek);aPC>e>|{A^OR!IVlMVjQW?BROeu|( z4ee$_&l!h7OnBm%vWAEQ2EkzvnIaaQ!7S&A2g#I|c!fokw}IBcAa(396%4kp27}4}u$e@LO8WDx=_-}xR131xuBYi1?* zb>1+mA)Etq)DQaON#+4Lk<@W2tBk0`@`qqI?+H}1^q;;i8x{qWN&Y;Cr)o>B@?fw)2i)>{i+_8 z^%n|5^;NtRN8$}`puev@@v$7V>`Sm53W2k5iVhvPMtB*8t92kcnfF^PD1I4DFU9M< zy>5B&deDxlsW=gzJ|5BUhl{qIHUALee|*$l%=>&$O+-5?rq!UTOHmFlwdjwlzW8+T zvz97~_rvn|@?0EE2jlsW7VpY~H zF3!sy*q*lKv~7@ay6F_@O*O9vB|TD$NAJtwsMxQrS%(cC3JFOg-j9nKbD@;9pzCm? z!LF1%iI+!PX5$P}4PwDiCguu^S;S?Bhp+Ve2;yVYA?ce+tmW)om5hWDf(&1z0ekgf&|8gc>rSiacl-YCP~6G!`~%GheKOPfrv|S z!M#CkZzZl&$|)3h_WOmnDEf6L!mMgqp@Xq0h({oa`aKgQ?^7=7e=Pt-k~x&fPy^{j0MN`eh@TUKmB4HnX~tgQ1l${#*Ei~Gl!CZKc*F^7^G9lfs6S*1j-^)_Zu zQbQuwH6$yPI)YCdGAI#2sQGrTGjHJ?H0(dO>9%6=Lu9-zZhCHJQ2 z5LeM5W}-u~E9kJSuH&-0j?3ygE>R;cQ6p}L8YU2GIG}{=5}(z98#;WDibtDv*0jGb z21nDg3N8B`i$2m&!0YzbQnIPhRi zNx%V;aFPIJU}W-YGte4N+Oq|pZ804d^{^4mq(7>ft+_<&q=?DHJ?by-C4G_E%I0Tv zSyC#PmuI6_cVDcQCp1S0mGNO+Ove8)4x*h>C}OCQl$$~HW?$!yro(yD);A|hBZ`yBK5Y2lBi)w8EMixpuh*ym zjG_NDTg=AC#ca$*{^(ae?CGwv$e={k{rG@oJ*CC}m|_McB<0H53`*_k zeA47lO1JV+^Z!uI?jS{_)fAP!FGbzcSX0XOk>pnz9xCc`C<#f^x|U;=QX!sg%Alm< zg>^mDDxricyBs!c2k<#-S`9W$jzGrKch?+&i~^tQzC5o`YL~cFIct*Bqi@KdRLCaY z+zYw?0u}W-af8tQx6u9pLf{ZIG72wDWo~D5Xfhx&GBq=oUU35!1T!}`HIqTsCx5iM zbyOVdvObKvyEC}EOCY$ryABS626va>?ry;~xCaRC5FilTJ-B>i?|aWa=iJ}F-o&W`)tBJa& zBajV1Yx0+%403U0GBt5|R|6d^tsQ`L?=E5>M^9&KODoquF*ul*{zUrYEy@g#H8HaV zxx3g}156yu0kX^r%m77@`#We2panSqOo3J=b`}7T1wb9B4bV`NP*np+sedYID67#i zzXw)xb94kb{|^^2HFXUsMu518qPheCsL2SB(oj?X^QjJWc;|1)2vAgi*Z;}$ZurMt zK|)wGZad&rT zwsdoGWd=E0GCSJ+#ZTSJ+J6P$4sx~yydRx`cEG<1w0^FJkY7aQze0?r(E|3lR7pX{=0K{_>SqR+b0Yn^-%z0v${o z%-#)MO_wW`Fv2-o7U8|J^YY z2R9e5f2+-Zp0*jt!NuCe)#dMqK!Am{9q+1JAas4{HeXUnZb${=jU1;P*oKdOLy~0Tw29E<0Ap{&&THN(gK`0CQ_I z*Y{C>UoHrLMVE1~00H>^hToa|uj+q>fcCGYO834_%|Q-!o__#ypalYpBFOc9BxwKt zS!w^3OVZ8GPSM03Nc(?k`rn2o_SSZu|7rSPCR)HhY-tri&h{pD|E05bk+k*znk!qo znpyo_+P`rbSCjYo7jdw(1HQNAFG%ChlCpcB-S_>+`p@{{?Wq=K}q^%ne|11Ug%T%>OL}CxFHIpAheKT&?0M*^yUHh_Qg78M0~cr$Ubvc69kFE@aVgM;^- zGdq{>fB2gHy{G=Qg5Rg?f8{?L8UP6N0Gc7JEP~7gLTu7n!YceEil!@}srZ;rs&Is~ zWfP!QGN(HU@x=4D$brJefnNi%sEa}J()>*mkc!+mfrNZp>9aZkzZi z_z|K=h>YcFGHV27DJ%z6c9YW`%H|d7lyS~xwI{Tb05ryq#P~XU9zL^AzM)^GlIvHt zuN6SMm&~)ZVmaGkcr2q4bP+C3cY(XUJz&MfnDmRR(9anchT)9K!Z`Nzpc!alrfZaK zOn*|(D~axWn2>|-Z0M~Q9=|cLa8^*tnyC>qs45~~xP+lrz^hj*N#PWpy84B|!G1fR zgiX{TvN5f(H6de9&U`~C!B#qzyx3ty)ld3G21NcMAXR@z-BzdHz9-7uG1({cjO2KG zZ-W|$^aJ5#O!-dDs!F?tQjF@@uE=2dbv5``;j{eQCz$t@0?SwIqG8O5Xf^32V+2S=sQ1(DEDHr!K5o zZ(2^wOIEBi*d+G>1xL`73n5mQn2UP`c+c!N1M%D+@^)y1D77EdoP;D2q=twQ0zJAqDRDXljGk}87-Q-lfvr2B!E>)2P1cJqjOznvzgGPlhV75^i?1#w4RxsahT9!gMiV+?{sj;vx9~ zmHcgGI4C19M;wvK;Z7Px;{YOf8wTftaJ?zy;6Vc}9>Irxk;i-DtAD>>+0^fsxojn_Q8IPD6^gPqyw-&7A z<$*!5Sw&)*?wUgLdm)8Xab`(_$E< zcuL;5hR{|-ma;yi9n$`a?yo(BBkR3oJ5=&{;wqG`|{r#`;%oJ)PE(@l(s5z)@NU}6>LT# zUS5An1())b{zy2Msnf5zrn3U7F+-<~w2GkkiA&T%7MA;dkc(8GCSHqhwT3%wp=x_J zHBA7?9Zw=4W( z5*a$WnOgYqE`N{qC*SlTb9y%uwb;_8>RO*NQ2qJ%O&fYz>9yRv8GF9{Ucv4+4$T&u zv68t~{C`jaBYc(4GYh51Xfna-uzlf)^bHj)^4(673f@K~SG1e|Ra>!#;%jgvR&akz z?OClwCtEKhQF9#QPylW1z)2!K(Rq1md_c`OgHWt*seefUDb0b^+)Dh&Td`L6gt(!0 z6+n7ab!R}QW_M3DD7FTfgv#9%?kS#C#To+=d$s$LE*q-WO`+J`YfY1eCfId45jH%c zW;lGD2SeY%c?`>ye(4%Ai$DQg z^?ccSaHD%R5~cpwE^J6v(X#t8TR?}DNNIx5cYl>b-R-K2med{bp(3v)sPiqXV_^;O z89GI{4~RtKsmA^sT}3ZHi3>(dN4o|J>s3P-?q4M+^pd{q9=OZT{h|}YQloE89ZCX` zph=F?qN;RKfDPH$fXW<^L3WsUB6XE~WL=byK4ldSf)-CUNfS`SnVioapg>&e9ZZ#N znST}>pAzWU0|gB2^MOY#8`KKkx>6I(WgnIRGW<6MN9`0QD0Kt7Wf9_itTktq(sHsj3(DVeF2}~cAVC) zGVO3>d`QXmoQUk2a05i$SQT=Pc8}A2VSldppdhEqF!}Wh)};Rg3#>Hhub8v>QT~nJ zzU=5lAD3+S{4GZ?pl{_ImXDvnp1?Zg$~st+)1@)ZEYVg@lgp4$Tf4#hFjhBFQY%~3 z**d|dwn4t1Oih2lIcH0br~tG`pvbKE5aoNc9V}>?Q=|31^@9CiP|RN_-+!bfV}D6l z-g}Bx&(@)E;<{oNeahz|-Q!~u)Fk{$Hl*e6)t!(VEWt|W1nIVNVb;iXHWiGDWo~x% zIloSCZ$NX5qsyE68;Z`T6Y6wLH84Uh?bt}tC#mq+KPbP^ijmkGDSzKpbY)wPJ+S*5 zf5_BZsXdY4f~zvZBXfH(tDurh;(xR**)45rJRaS8@X-$WM`m1k)N@pyv1BlXk~XYO zadqFDrYQb&){|w!#Pa8T5c?kKhj!Lsi|f`HydRJN7+vHx0T+fvHfM~}ue`a`4s~4P zd?U1*qR-HojHrDERg7jm;WUH>gC+*Fgf2Hf5`*}a7R|M^GgTMu=E3K>y??D^8qE1} z;z^0`><>owlvl%Ca}U^C2dL^c*C0ANLq0Wp-Kb!R32Teu{*vM_nWwJ_aN+{x^eT~{ z>{Agyo=M2NDOB8qu3qWbkO7TLn6#9A;&3|cOCz`CV+vCo!x4i^>5-ZEz3YHk+S@x9 zWVgIWzxr4$y3eCzc6&uDhJP~iJKyN-5Uf{Jx-#$3;VmVHH(!dm_2%wuD#$2H#)(M% zy4C&BZZ2Qs0bjST7`J-)-XVC}t^c`)Xaq!CDz>zNGBv9JN9*PGN+_o6EO6jLj`VdW8k6#T$FjKMt7%M7Ba{ z;Q9Fq$UeNXBO@H)>VNGKllnpE{cQ0<)pzV%Q19p0NR4eLmNS)gy9CqMi|$%=WcrRx z6kxsrDU=VKh`6+cuFgflcRs#CtjJ3H5G)AJ^}$6J>4DTS{LGou{5uLqGkSO&2~wP7 zXqjs6WTRVb&WoCS6+tabzJtO?9}R94A^Ko61XuS99RiA}VSk}#;oz)i1}+SY=N4P} zLns(H9gq8?vkLCdC_I+S5s+HD;7(GzJS^(1=H);8io~@tfN?2$cf!0aex&PWTDjYm zl8&2%narEW2KEy_2?(pOE)+Ppp@(ObY_wS7D<<9AI>+&0*t?Dx%q`~nVJ+rN?Ut8_ zC(NRRWZu5Jx_=DVh-kA;Uqiik<+gmS*-uC!pMAL<-XQzDESm|WfNedG_8mLDdQ(Qv zw^xS)?A_=s_|{v$a9NFPiia8Ov&IJIioCXo@n4aA4jDpqgW|*|nZmJ>wjtMW;d_14 z!nwya_sL6;{At`Xwcc8aCZh*0{-asV*$W^KEQmsQWPgNj*MWqPH+r>nU)*+WLhY~K zfr}Vg3y3yxa#eergl{UkP7wHQkoY5Pb<**e4*DA(tHVJhSjTM8w@)mvuisVTbV4H> zWIf6kw8P>2>TP@^>KmK34d*C@EG>LSEjQ*{guB`iRo*pyCG3&pw+lB;~C2|^*uYHb&o<-WE@Y~!%~;uZ;ipJk*bCs=Pg=MGq1Swb;PZ<)qM?r-ycoyMMxi{=7~1tG#(%xxG$4MW>v;MogmPkBoC*_O4R6{MaD+D%_c!N>byhti$JJ(D7xSyL zKeuD-guQ%Gn%D{~RSQQEPgMowEgs(CVj~5DXVA%UMWWh2`&#aQfN;tr!$WYcPXY?xwNt$PNX2H7o75!Nn! z4g2O9sZNpHPs24|XNu(PQQQZt_|i%qP24i`_C=?PTI2J;%aRlQTf4m)xVT=lVSiEc z+tL{J*2e6uyr(+)VSs-$rB8E0D9cGwB5Y>DG|NY{Y9FX{oy4dQ&(3c2-=|$GMeHp6 zCy2~lAidURP~yM>V-KQckJ1-gFVFmVnSs0>1(!&DBMJ=Gzc6jY+IT1;HmkB#cX*|g z8Ey)oI-BAloXfG-YKbsNhtx$@RDS`F4n5452%nxlx(1l1ZyIA^C9aj%@n$A(lU|r(#%V2ww2mP<}%qQ=}lCb5Ov%d2dhc$+K$(LZ^sT9wXKaCRUoSoaRkM4iN zTK37_l~ni1l3~2XLA(TT-+vf*3)LdPm$?zea`3n5K>WPUw&J-V9;#9FbE8h$+DugB z*Bc=N{6rmmI2JaZs;=u8zbD=ByAKJP@?}-SNrKderR6r6nRptI*N#a=7K@`$qa@nu z58{JNhlZ*6O>yhe9&?j-ONVEzCTwbk#lSRf*_spwoU$cusS)nbkAKlLEI$ypi9k`r zF#8ydygkY-4_XQ%@b!<|#zEn?8fv&a$^h*X-Oe0}wx{y;PXja@tAbGj=XBN{r`cE` zYxVFQc3(O6CFbxwwsPmMeYIMMQj2NYN?*(Xb*@|FEu!{Ozuik(uj=rXQR2Ek%6LdD zH)q|6`&NkPD<~z7+<$&qYl8h=P=8_>-PmN*-6a#zT=n8qZ!pKdJ`CfDP8d*X;xFA^ zcS)G(ao!?~9HP~41NMEl4cd7A+0bfu;prL-ON^g57KUkd%m8bZ?{rt|9;ZgzA*7Cy`Y6uk?3)UayDnFFB!NV~=)U@OP6TT1*`Fg$GbPj-d; zbiAXSyJQ|TjUE_zT>2l#thQ~(qSaGDmH_HT3}&88FbsBjcD-|)`UkzSJE8p)uL9l{ zy=&_`C-dYU?tdcOjd_jww^sxk4i~$U{IW7-imt4e=}|G#y-p3|tBMEel28M2@F!B! z3A^ly!zHEV`~&_aD!A-ekCqV47Gmoz2~}GtdyDmANP<}7Xf*DK*#qOYuFeJIv!#Rb zkVP4?wf)Hc6Ap$@EESA7E9vA^8FDH4kl_Jqn`OZQ<$sKm4SpJ-m~*6lo)9D#I;BM# zVG~NfEG|U7+Ork4aFri7#{!4_X8L5cg<(z0gW_GU$F>QWwi(`^Qq!aI82Crh3Sc9D zsLgJeMqkx6)ih#WL*(B|AA?~&(R-SLr`cKDgW^AK+msQDppS{j-V7AH5$D^kI9{)@ zT5Z3lnm%|qLn0whjckA8f>TAwsl*AD}5+g(25Yrt6neIgn zQL&DRC0c~ODKm6W8{KLXCv}i(hBTuNStNAu6O-F9Lux9+FzPi`uh>@XXocnK-dsI3 z$e%%jZ7NlVj%W%p8S?ZeN_xdha(foCK!3kek$+6ncSuBzwvX1xwbayl*|=bN!Xip@Z(psF^9yM*!LN4Q;!y76SH7J=V;6{}_J*(u{zA+|V5+3u z7}WpDbW&OqqCEqj5AM~vU4e!7b0;{Xs@=w!l3hOHL1`ok{A;rM%2a+>{KTEs$CTgR zjel;4eB-6CV3J$RSZ_4pjO^LwKg=(|ix1ZuD3G!cXB21r7RP#yGE9zA0(KQI?#E6w zD0@Cq+TfM1kWqObR@vT-!Dh(jAa@Ip^ipT8Wm!+O^hKy1RU(E>-6F79^hDE+V+E-m zqB^*7?=WjJ1@QR$3`D&2v5Cu18u=5XcYpAQI$xn&4h&XkKkWw-6#<4Um93*kc_;W34aA5mkRMxq{zN^O(UpOEPtRZ&1>b#x>BH1IVJ4J zH$tDs`iL6%irk)4lI;xe9*#WgMc;17guS$TUYP=xV+cTrOLG|oM6GU0>`mGyrMs!) z7Jfspga6EHi|x{OK||^M#S*6CvM6%ENZ4`lLp>tuZA43+bl?gh^L(UXaDVnhYmMSQ zvZTu-G>}-S&a`6rYkfIK?T#d;z_(_;as(YgW+DWo9}@zI3o+DbtA5X4o+m}`QCYO? zKXRKNep31=@3xo{WFu)ry|XnpJND5uACu$&KU41E^2D2eqE$w6c#su0mX4Qp1GQMt zKFyUlZ)eiBq}=rc`IPW5)qf{Sz9EPofge7lkC#>e?K5@??o5CIvj=B=@iSqZhdRrz55zzt zBn@QKpJJLBFltYd-r(Wgl9o!CvXEkd!$Spq9lBx)I4C7d=cb1vLVpn%T+KXXsL6cI z2kj4A$B-BP@Rv>zbn^x%_FSLF6~iuGT_}(u;p=sL!s{_CzoB!VocC(pW1uq@?yklo z4+@!fv*05hc@P|6K*8d@dnA1!Q$T5a>@-Qi|{AEqNsN+xfRi|MS94N zkj2gmrdXQbo_j2yl!V64}S0jhEu1AdQM2+JOQ z@sY=uJy@7UZ~-t(!+24RjPj}B z`2G2$d*0Ob#ipxm!#X96cqVjY#uxJw<^J(}H`Y*8?LexlbLtCu`J6R>c zwoAyLf*cH+f+1gcYWPLk{S-CHCSLNVK9<$ zP%rN0uz#F{ezl|F%2h=&&7g+IfyKVCFdHv(sWV{5fsTKX#;{A>J867H+~0p1^uO51o)|S~umUr_5@ODMNGLW}E)T!gX2z>J;8l_{<`evOR*oLWoq90i zTJJz%iwiZfIBUyJy=L&UXVD7$FoTw2W4e;~p1dPrNXkV3Z?%p@PN2U{!5Pn{2djV~ zs@-ziG5)&59_Fdf4i`+Hnb6Nq>l52>&nch3PIrG3!nK_LcRbw|k|UrpGE^-3SX8XC zVJ=%05;bTLs;VBn1F6m|?MDn(;vRO(j%g(t1j27W#VO6vuPOa?r-Fq7>nnnT~6LAYg~#5+Va4_|Wm`*(jMqf3K<^T5%5@-3-a6&*!k5* z-O0$FjY+)92wHCSShEmn(H%b12}FS4#elpbg1x>73_mt991?hpYva}nk7~-;LK(HP zvL!6@sCbtUy<(6!N0OY6wr#rYV%}V?dC}|RYu;h31%d}+Y0sVB=+7(!#UBMuLu7xm zuz^ONXSdV^)CXWj-`!6daaq(k^v>1K_Zg>WyIQ$sqD3J4R@at~#;~8R&^&oqM|Sa@ zp+rCnoJ@`9yDQ;3TV*u~jAS2BdBHJWyIg$U?686d)j0I8pBnb&4Z>?Zht;nr<~-Gd z?#?v=&zi#-J+1VV$AeDFv|riFn9hHG5laC(7FCl<`T4vhpBlKM*z~%qMy8yX9~7B7 z`)>PMB-tBYx<_Aqyb2*sCfypx^WNpf07zxkGx(ffZkvNIF2 z9q>iIEh$_sJ^ba<9;?ttCCd+@A{eK+!`yv6+lzSI`%5`{3}Y8@5g&&3dut4-bgk0$ zW_|{*Q_|YoUC~xjT2*6@PC&7B4m!SdS5@E05Zr5+M5Q0AQX!23#}1E^q8VnO~LI#Rd(P?Y)s5#1z7j-q5} z#1}Shfzu~5-MB9G2c!r1Ni&&f{Mu02W)_s4@+rso2Jzs8dMyLZb>wHR)v7k5L;Mr7 zp8-g`s@56IUEssgxfd0hyPoio0rIrlER8*v5?wz+WM4(TIp#_`GHQQZu7A=+2u&Q! z(@i^P?#&T>ahudtCQ!0AGMZ??xiR`-MN5J8!IgDU6}LO>u3AIJJ8n>=b5(jxM0S^s z-&j|B7XA$UC*N!EYG1ys%$i|l-iw<2>>>n$I#xZ-sjemZ=ffkwJ16^`JB#U8J z?`i~OXt~W}$NDZvFiC%YbzH2=MiRgHj6lC4bAEyJ!EGXHb;sYPsrv=i3>r+wD>dKw zd<;wYI6i*-G5G>uW5Vl2U&THJeB~})gEg2BBFT3AJu|{9j}doy+&bWa)OD`auRM1gF+6 zjv{5j_komxF%sMD!ayg@;VS|Vg~eLsO}@K6sm?L*HA{ciftX)z<)U@7Aw+6lgjj>c~wk}Dy+cg=56R!)_jK2}=ypTM;aV-#Ym5^6xG%nckq%e&3X{*b6 zs3RaGEA)9N_|$e-Z1@XGgtg<-0tw=q_yPz~7ol;26g;1XxYUlYuX2!w4VA!G+pbqx z+Di7y@4A0C&$$eaoNcLAxJ@^sf{f&ilb13b2SrY^k-Q2Y2iv-9bJ5}c87 z9wR9x2D{BA#KqM`%m?NxM`%?t`oO$zq%i&Knl-ZsUX{2(#0oGgu)vd#=30j>(Rw;B ziW7gCv(CQw3GB{{Mv^udlk?X;&FdMIWAsZLoZ(|(h%vj6$$%8ab12;nDJIr!{O}af z@{~OaCRZ_ZEYwAry;vH9sh(fxq1w*jgXJXx*c!_vxzc36bJNKX-^hx9GgUhMGwpEX(QekO8n`=3q2BnKFY zQ+j`_Tx*2D))b?{|L2O1iAbS!E`D^)e%4E?pmm% zgrYhO7%1EPGM=)z8RabO5O9esr9N%>{Bdv(6*DX?rHn%Uf;8Jc{&8>N{3^1d&b{#K z#`zD7g`C~;t-{(x0rqgW?IwR|!6+8I8pRq&{n!)>qV66Z&WLuDaSD=I90K@z;yedQ zY)MqSh97A zVcooxH?))D;lh{hP=j+;>sxKC^HbezFDPQa^j^AhaM6bhLRDNMo2-8xkGwb=Jw+tD zv5U&aRj|GQNG;9?Ax}wL8*Zi?Zv$Eb!axUJIW=aJ&;@_ikfzMrX;KXsc+0u(Z63csYn>(C`wy4=FfeVf_!h!>HB)m% zt?u1%Z3LBIkVBmrf;927q)NZHqat9YOulKqY@$_h;a8M=;jcRp>V4>Cd4ovF_SdeJ z_)hITwMs-c%T1~_>TgpSTr)>6(#fS@u=L}OqlDo$@;Z;q5u|_m?Fn&onIUmk`=V2lr6r#EF4CA{!^ ze~?mVdD97}jy2wYF|WftvH5J(Ez{|OTSd+U97_C|j&`C+ldPn9W#SDJb$ao3?7NIe ze^Ct~G!_?a5q5vNcp-fx?zwlt%~|y z)Y9(lRz8oK^?MIX@C?r^b;oPb=!@VdvPdn%;LPvGC`7(R`lwr>aqV!6wOKM%&rX;)$%D|>c5zOKl3tCj^l_vBN&J1E@SeR_ z<)7+a@^iy8!JXu)g-$HZ3crEO8#K{fNhpfUt$U-!$YHFD3razPvb|DdXjWX?UEBsr zpz1Hsc8y`72-_kkxpFMf#}ph79=L>8ZQaZfAuE!+1zC|BZAm(gHc4>bQQixBxtUGJ zKPG>zj@G_Jki5}u>~bx>mF+$2Sfo$}6&w2a3-B&pm=AOiBvr6r06j9Db`N(!H#d{7 z0-_R!fv|F6JmtANezjRiZ*zs}Jn?g|IuKX@^2L2FhA+lbS!?&}I9}9qDAunJjmlQ^(~N2&F-Hl*obgz|Oy=#Bl0fZeW6|Z=p@n)%a|VCW zlB561i(>6IYDCt+$fL|}9zUD_haclDsK^1Kk7=(q0fTGuC?o5%?)qB5!ldP3D&>6d zm8F~0S;^XK-Ad8)8}wZ}RRK-Bciy~>RdbHs->`(a7qqnXu)$KL6&#Hu+=K%qlfX#OH`;Nef zjJ7xVc5^zzPKNB)h3oHTDk0UyuR@S0M`p-_M@wWBj4veW`u1(3OI?XeF&d`vFA zRw+t##-7#ZKE=XmIkA03S$Ti0OR>wdO3YNEi;w0>qdsfv1#fLK?l4et(;AjY$z0#c zPUWn(1ooleShL(;N-#I7?5<{6plD5<>guHSIlL{7`F3vIW>4sdXFFlPSLhhjl6C32}xyL%=8eT6Co}J85}`kIDK~+vRawRr+@;789lKRSg!Ay zRsxOld#rO;k#AKItjTozeBZ5Tj+zvkxm`MUbhksi`pHduJ$@{oZM0X*edyu&5KjNM z{-%03+P&OGe?}zt^aXz>^FGTF7nZS&0AzVLs=J9NsAQ$=n$xFuHhx!SpoWf{(LHlD z)ZMYL9d1iB-vC@UlRY43f%t)a{nRIxi}%#=0OZOjV316Y9*CRczL*bFxxLzJeD0$hSz`I?5K6q3mCFtRF+#Sk9WhAz(<~EIkFCQ|)8*tak zWA9Fk0o%05=hq4>#^oOsM9sE^UKGf@fSXsm@6ORHjSs)`0f8eWLNNE^Fs>1#8-fH6 zTCDX10i<$1i#~sFsjCdziZU8f{RXs2+lG{4MjC~Sc84!VrIgfs@+y$+Qg{n-I6f_| zBrx-nhBPv(Ca&&dhRvu*ldDTPl}NW#@}^!yH?m*^!h=Jz=+vda#NPxhKl>&)lG-c2 zvM@rvGMd#pMtfMS=fplgvLp!J4wW60Y+!xqF(Dgs;rW)!(x$C+ihIRYE7ImCmR)xldD(n%bI$i1M@g z2($MJ6%L3s8=w!i6zf3NGUp6{yMd5cq77>Ic?cF^fZf9!^o(X`Sk1u+2md)rB?J43 z4P3Uq@^gRsBC0u6?Zr<$bJ}FoI`Tssg*`w0y09Mnq%Tb|3eHAjA*w%WUp6zV&e?R> zmlAMGFmJ;?(C7seDnhn-JfK&*p#LPHJCpa$QvzR9Y@sXU3beW680hz;7v=aI$rww- z^hHxFj(B7#zZSPHT<1vwlRaUmO=1kAjw;Rc+)jUCmVQs69?uS~Y}j~CGuLpPLbpqz z^_Q*wF@fPPCzG%_{x}h(UI(qt6XRbj(8{iMMGb@y4%DQd6OkCoA2vquNf_C~#|3hs zuDw@#lyo;cyoh^RiW4A4y_6M4wnXa2tg z8VrAFHD6f~PMN3rnZlY_9!MwsV8rwqk|Ef`4Ey`f_eO%lpnru}d_y|Q9~fMRaDkJ` zRD79R(zZ|8-`Gd(^0Ul?EZ^E086a~`FS9`BG9c>1jffb&Fh(f+ASvxHRuqSTXUS2n z%9l9SWB+m*{Zr9?c_7%l6_wQoRYw`oh=YHGM5qZ<7unbjvmmw7X7%w#U-~`h}bCb`{!@M>V*=ucZ=2CQI>Z%LpWh|4nnJKm(F^> z=lgtKXJOE=TVt0J7aT}h?ge$^D>z;qvYX_gy-#>}*u>B?@``~ShWfEORg5@CGQ929 zwD1h{0x8{-DkZL*6zMT@gypjl#sh!jPP=9CZ~Qs_@o)(B7#(Dp0Z6sWGco<0PbCv| ztGyboca~tGHE=y$P*lJAN;H0a_>j|7P^e42y`j{Dd3yX6eRsf+eGI)(cU($2C+x!; zBOdmb$c??c@Ftx67PKR9Hy19sz{bWMM~m6X}~ z9meX_H?kg_!tsER2g~{#YMXj;2-EgTy-+EY^YHy^Rh)P%Hr)G9%+J`v31B>E8e=_g zpSQfNKiGS-Xx~^=cTcGZg_>HMRv7K8LHF1Q=x1vB7BB+G!acl3Yn|^c2F6H;;I>pZ z4P`8I?Yu@vMGtwHc598>j?jNW0LyBYEYsc7#kU{rxB0=cQC#q4S{`>{Xt%|_QM&9* z;4h-uOC~-x`03-9W2n^SG>|kTV^HI~A?X)N6i>bGhp}ugtYp%LAA-tp!$3QM8)n9x zeGX09#a_)X^d}8Xw2i%wRP(x4 zdrktIG87CSuFe#1ym%XmA=!Js4P}O*HkjhXcH~7&3jLsp>2_IlQ4Y+(dKH=_w{_a~ zYB~uyk@8hD{*KH)G9ey zy*3q$;jgi@5T`*CKy81TaTP+8!xt@{YJVs2^-06MY|?PA4s1r_9eB@!?WdT}pGvsh z_py=MiavaJ)!C}7>WHXisj=r;=u_)W=K&%qf|8M3p?vr z*tpaPdBP`0y!dzsR=l20yl=m~L|%^UM+11voCK-I%Ga7&F7){oH_{!oSI$jyq1x>h zgl;A5MFq~6D>#3|1VbL3=?x&&3 zI{G|Jq>N(;2dg@B+J5dd3$2(*;a-M843q1LC=pKuBqNdTki!fU%-=V62mf?)<0XhK z=@44OQ${o;zkfkG@BfWR!B2N_owYeCUz-b&OlVx@91?#s>sh<QG(iuh;8{BbsUU`+k`xFn9-L+ zp^1E*Z4QarlHf(J!pj83V?PqP6&A0D_RqPjd{?@c!MRSLm@$n+{hue??Z~@7AL|;S~+_M)LKb7hJx;LEIEuqJsYPtsVwI8ET zQ-qqB6A`htt%>`*A54L_#(Qs;2)>+Rh(3QLSep5Qg(0e)112unEqSQK_Fa%+UcLV` zh@Whnhbz}~pON37vC0!#7wcEy7kr3&&r5EC`(66jkSjZ*n-7ePDvVGR}gH%6WA0nP6EKR1<2sY2N(|1Y9Ev_2cL-35M`l zumdpG{^r|TvFm^3BM9hqStYcKL!HI(5amN|PhHEzyJBCk^WlzsFnUMxk3+oRN zn+=*@qxL?%3{0f6b-OpHr;)MmdZB;w;1m(*QEw-#-apMA%1Z`c7bn#KZ{>4FrGgAy zuaI0Q3L$=VH^Z6U;SCG=uw>mva-mUO&?%r4eCPURleL!R6`#_~_N>qj{+JGK zeNt=PY$Yt!-m*eI9DiDvM)IH&*6tc@hNHh7s65Nis)@)eS}F!XSqHl=S1y0F=yQO| zkAU|;5_s}!RvsF^Gm@h~GvyMFyW4Xe!|EahvQR(ma@u0>Mf(fEuiK40{=-bOfboq_ z?ZNvemVq36)EW0zP7U=Z0l|zPciEq1M+YM=>15`_cv+1U!Pk6$H{vQzj0=?OhI(=g zc1Gr9g{(zNxTZ$BS^*it1WA8}IW70J6h|(q&OywL?fP)cxi*v4H))0Ulm`Xuzb#nO zy84AZJ?|kFq{+w6{aYdFX%Xcr&7+;EBi@|nead|yt2=V>r?vw<#z~=gL&zz9Qk0rX z(;4r5p8lq%b?od7*)uizd5ET|u+V>S3cBRN^GRxpio4piB`^~@CTD*>*wPQ4cv2NF zT`Lr#ClD$C-A?pux*L0mc4?WbT6m$;y4qMw@hV7Eazf6>Ez#{W^H(z}L?vZ-DyW2r zwiUuVTSklD7Cn;vh5^O7iNpDrBbU)EI>jGnj!D1!?7DSIkcR>CFgRP1L;88PX14a^ zk)_#_=qesy0>cL%nq+@EQ63=;5;@_jq^%N^ZEzP5yo*hPJ8K{Djg-z$z3v(lPCUxa zZtfg(GH=H_>}z+)cSIEy^?1zrvy@+I82XQSyNykLfAb2;d3>uAC(kf8CRVQIwAFU_ z7(ujr2~Ymcc5hs*=Od1mXP6b$QRF~A9n6;@MFFKNZpD8X8~aqpw>ep?m70%z z8oPpJ$G1RgaWuDQ4A?z7Z9yQ)$WKjY@1^D(k6)BulK)nq6x*@JF=52n4ROdwfLuyqQGC&s)Po;8XYy zqA5K7P*G+tJuA2!PO;hI_aZ6dQsj$}rC;>UI;d{(7o8=|=%ET^{VL>6nO_TXZ#^XA zDTSqgO4Wavh;h>DB(HP9DAN%!sYt!-gx6JpgbkyvWpKt_^aRS{G-(x4A$8ftokb*~ zP!fYPgo7E2!Boz>X7^t^YlARY(p=Wi;k(`lgxFIdE}FTHzekHP(&2Iu`cRMhqM37! zqFG2j{j|v##J|b`_V<}hSP|!~OK<-;zuEqT5RHFA3?nl9DW)|Yg%sn6~KDmBdIAN zk;+(iOZ#mv7CaEe5gdsb>|CbNsRLtZvWK^J=kn;KJFf`0e_2waPi*i`As@sT<#x6; z!1aH@E?P0<`RgMqqt&F9YVwucBerpq72AjPh^s-3L%^n?%``uXBic33HEAE%D6={A z(mD}Q^^~6zeI#Al0X0{HIvH)pB*YmXL}A$eselHX!U@9nG3g%`=$ofGXe>iI;fZ?` zO3{WHaKfx8-9}HibMVQ?Il6=!aHI-u3+sP1Jn0W$#g+-k${i?a<8NE+G@SF)oLT+} zyGI-ugalABxwdaOM5(_?Jv2t9&Y_G{_6W+%`RLu2*&jIKGB9?jdh{}t%noRz#@Zqs zt3S}sj?^ci3u7*?ugl5`mDK%z0d^aS5@&^5u;@vC1Q( zGl?2FysQdd362^3aLV@ozPAeKc)5T0S-2KmxucTMo_ViPhA_nNW9W9HU1r)?RcQ^B zu*lvwtK0YJ-LL<{&;UNrI;FJkUHu2F|FMpZ{pW>=J6`=@8KMSGg{IMMMw%ebJp=)# zv1Roq8(3ZOWilThFQptz3tnMA@5ZqRO>WqEFl%(6eUwxUa3U9q;nYSygkygVQLljo zNuhj`-gV6Vw`)v(1ydjrW>NUx$gXO$WYLBn zhU%=;J9T3k;};;hF{aC-n~f>!kIkg;GC2WIj>gc_pfuwkcR21ae$6cz)rHUmD*K7mEt3;{~qI6f)-=Pao?E_c-E6w2D3@HsP=!Hv615V{QoDD zLvv?>F&wlLyZk=p0^lD<!p6QkW|zhM;y7tG5Xul#&6bxx zjW@xb60Glv={em1>rot|N^sdkRv#Vf9HNp#_Gs8@fE&;0uUH8T!9Ak}m-_|GhX-7f z#}c2z5r$#|Ed|VWjj(@SdvMKX;z1kT2D}Q(^FR%;$iw}{S|N|%WxqL)SpB~S^YbK& zR8;M4$0^KEa8gYl5r;rIv)M##Zzsaey<>C%qk;P8^9Qcvk25dokRVGtv5l(-bCQ_5U|+S^KNe)BxZ7EF2l zI>l3f^KJ%mBbSDK_iJs$)R%}827P4U-*8kIkzrfhzdKxP5#@OiK7vK^BXdB>K_<4S zO%n1XwdEKzJ$@WataAgE&DNviD$wpE1=Ha6s8^QdC5kwMi)Rc4Pw#cl#x(CfO zLVe#dkKx9WScL7;1e)9~Mcq5_@h-vW@1OBLDclB6JaBUhYgT%iq0I?a3*%WunEBJm zkC-70UHM(0&ehi;UT($oI`U6xDzbr?PUa<>1*2{&V_o?J%|hBYPjO+Qbr#$q%m0XO`Kp7Laa=) z`y5dcCClPvBKH=sn^7uR9d5xXpkv1CX*smBY-TeSmVQuX`t9ZQ63}y8@SeX$c+acR zrqlbsgICnt1tWv-{%oOrQClWSaY%Ar9(R2l(c*t50`I;ZLLEGe_1A3&9XCkBEAhv9 z=@StK9+E8HHr&AU17YmMTunH>i4nyQM@mGC?eG}tXJ|24(YJHP?^Qmim(}(wXuQ+C zhSHN3yWejlCnkP`@3obf#np2a(C0>VoY!@fv%!bqlsI;{+!^+~{8;{iTg6VLv4nAL zn=yYjtS)>jG}it_e6(MZMzhbqa1>w=n^iJ(6{8*2PR{Sq2q%0SY*c?Vvo8hgKW^f-W_LvKUy_=-8Wg~wY zfEQu_>1&0fQ7Y@Uhx`z<#~viS{@HG5nF#6FWWGJvwJj)h?Ei%7U$N3>LqTh8Ai9Bi zw4Th^jTyfu^_;L_Y;&w_4G}(_k$_2SjAQwOpQ2=I?SO#PLPO_7h5LddVoU~V*rk*q z549ixSHSQiK>gMelD?Y?4kx#h66Aj`upeDR3*Nf!B=YLW!%Vo)=b>Um_81&oQ(noi z$lc`x<{`C+cmi@SHF@Ar$^NL}?@uyP{WA>~Jn->fFFl*y6z126_$U0P3+W?qM2oq7(0oj_9!1% z-Fv*(vzJz@O!(DIl#+6Er!s$mI!UB+?YHTOYivbeR)(j*6%-S$i(n3)z<#TVqpdi! zD5Cbc>c>8bI}e3R-^5AnMNJugi#Q;!SBzOqnBm^26w^x4!YlLF;vy7dL#?SxUHSWi zo$Bf{ET+{9T5da9=Df`!nd*B(00e5iFK&4}G3)innPuZC)kQ80jK6>PrE4j-`Vh); z6M~=4tV0S^s6VxRJ09YOd6?4{&a-Z*VatJ`80y|AxG6wffaN7qlEGdfv5$g=`GO4TQh>Lc8 zilI)%1(;NaV!=d$85e(6yNefh%L5ykF$2O`&rEkrl?D09lK!JY9V7uATpg3UB36X8 z4>iK!$P6U^BK_#`IBc9;BMeoq=h~3w;!!d1Z|q4rTU5JdF(9jlPgmrSGc@60lQKs% zyAz>p&=*=BT1Ld0W;%$Ej|W`l_AeK3M0bS&my$b<6vv;LJ3wNc0`B0`6e^YR=qA?CK3uD+eWs{#?J3N<~ z?os=l+xKy<7~+uo07nm){)s(FEMr+?&1~=RySw5{!vBX^5!d>mp>oi9C=t(LvvELoyHXsk zUuA!GjGVav@8zBLjM*V}YD}?G%Rj}iFkYT<%CA}%)wPmiuiCbK>mmjQMhV&|*P{d7 zN_*2ZdxyJH13`He7^a_Fr_M=zTl8N6Fic!yQ0Xq0A8JAbU>V^Z1Pi!(yMD@Tb$x49 zNJ59Pe^wK(YCsO=uP2GXDpeSMNHO1{w{3sc8N$@XrXj-~U%P6{39l@}$b_%@LpM$+ zjmbTsrG4fv;vR+#hxZq@NF&!$(Sx8d6f8sAIp2s={Jcnh`^JzANz4QEw`r*kAEE{w z@Iil>!;Q&fuD~`sh{+s=5=oK=+e0Nm4k>+{vd(~xI1NGT>V@}chqw(Mp-y{_sHK0s zG2;D7JZ0cdMbDsyL0uSnvkc)=kxKa__H=(RLfy375*pQ(0{z*cd85Z1iQw=DZP{gemSZn;r?|1W$`Dl!;-~{CSD) zc>l7qd(_K5#((%8eqo@hcG`anA%UJCp8Hlo7)`FP^ZY)U=(;u`AAvwhIsLM8wocZC zyDtUiQ!Bb4_`t;bPm9*WQE+-vL5J;3YJ(%NWbXTPE3T70hVNBqgU-iL#ue?$%-=e= z<@&=6*n+~@3y3)iw{a@NLhV+FM`+Dn`|TNAXM_*{HJvWk{cAiT76*R?Ce&+n7d%}z z1b$H+$$;zF1K=DrP)g~F+=#_JDs;Ej#FM*HO3sBr2lZ9uVyGXfGU>mR4A4^L5acc7(3RZ0dDs#BX^!R3)AE$&hLBV!L3y zkru$^gjc3%5-A<32^D|m)<6(nJY4{@-#yIds)d!&l-ptHVp z>5p!4DHpzdP0Ws8d{bKXpx1A#mjSOC2P*Ykyu^&Ch8qj2sRQ@p)D@ zS%eHmu1pDQg{p)I=O}Yhgufa5l`r_zeR4g@=io8CY^r1$z?~Kzmnq%Qmm!Qu*R{b|#%}wv zGaO=pexh!(BoIUR>_GyIom9iScLj4($#16%DivD-<2f8)P8O!CC;&wQ$q_ z#>ZgRh}ZiT`|alGjINb*Dp=Mg<(4}-(B7(6Fy`x_}~+7R*^Pkmn~ zCIbCU*N=Z9>*g6*jBmCaXcm$Yc>pK4dJh3UX;h*KD3N=_me#5&sh=;|8^o1-d=;NX zy#+AHr*4Jyp0J4y%b_jlRP!{A)rc{py_m%|8)hPIrRXw5Pt4~Po7O8DX;JYYluu`x zFH-p7gjoV3G>%@`dQ{&$-k9U*5HiDYg>iItmW6-4Y-CBXnbR<=Rw@W%jqBS~J(4>BYOQgak8?x~waQ9oVg!r_X5s4AuR={=8?m2* zCYpbl)lfEVWLv{UU9-6qpvQDOR;eUY@6x4g83>e+nUzNjD%yRXZ~klIIS}XZfzU|uID(x*7aC`k%lk~} zU1;OS%N!^UzLX+d{@H|{Wv)F zxFg|DMDu3;u?v$$+QT$Z9;8mXMJazEbYs)$GYa!$OfEV%L-AuQC{-zSi6_;qW;N15ASW3B(J9DbX3Z9UGJK6u%tr4uamNjNV03Br<)W>f`TIDNl=S%#d+qSfY^f)7mj zED6W4tsWHgsgY1*=k94WF)>4UBC-o!Ic}CtPzfajk%+n38~1B0X7y&jM#5f=KPSgr zB1EVd0h_*oIh(IxhFUg+w(Wm%wKR0r0{d+O^?w)!Zq+qO&z^if{v#z>H$Zlagf4E? zWaHflk;|I7qz8$iY8OXYBh)f^cw1;vo@R{vv2hPIm((3=X*kHsxki8%mRy0yq1B(! z$MPZPrbjdS9Gg7KI^**kwBgEHccp~BIrb!Ef zkv0Af?+s-}GV=${Sn~I?NJ2TdmGJoc-7(gJi~ zhFZ||fONw5&(<(vV$K8m7##8KItGt&UHC)i-V48u^nMBV;d04(wP;T{F`0%usE&F5 z7Hoq)87Zw+GG@scr`&&^Xs{yBtl8}3l@Nn)R48rzBvibn@?^9yJcj{sfK`HbP`*ld zF_<+?#ldQ&5w%w4V7JeXi(V#=lWGtZuOwX=P4J4SZdFPwiom-Fgr~L*trrE0j)Tnj3AjP9G|MA`iW#nx7-O$jk$4=%m`eTC`SghDMsf&hX&XG<89@H2#iv$vWvG)Y;y za_1ee4+OocwMM6t1&$=mMDVt1T8_&n(8sBPS<|OFYsgQTJ9f z=Hyj><_}4iORsUu2` zn*P2NW0yD;f2VAW#oXr}9w4cc05nbQhjE>MZ)4jL{Bzm1ATv!Lt;34aTmg@kar_j z{-4*+7pD}tb_f5X3Ar3$j=w$}t~v^WqJCx4w={p)m2hldJ1?SfzNi3+204|!RoP$W z|LeSP=)3V}Y>n_D!x_A7*OS@Vh4XWlv~Bk)LOIe>+I48B(-yq#oB05AT~`iBMaJhP zc6yPN?B_ZPn9X6aG7?i}mUX_}97ycI{}FgPIW8nEQ6SWFVy$?Ydn3;qQi3ne22BIl zBY=P4HZ#%9dW}uO?ysz~nJNXzj%#s!+}MH-kaOb?tf&Y5Uc{DJ6vGbAeIXCjdcbJX z*_;@^mN&7hL*>jWNXX8-ChYbKuWjU#Es(BOd?s(qhhzd;X+fyw3+A>7or!!f`0c1M zjTdA)yio=vHFHqY1XQdt*=MPEEIkllR?(l&K@aw9S=Q?Jy4v9xc@gM^=nErFuN{9! zstze$IVQk4V!Fs9jpA{P?p6uI_qzEyHyR%-4}5(@4}>ES{HsXlhw2f2u=jTn964IT z4LEYQnPpW|1b#4l!U7{=mZ=3Jr+p^LMq<+AW#*R|#5p^w|I=}TgVx5?6OG2tMl#Gy z(7e=bhEH(2^a3wMEdb`j^dTzd%)NgOt%2@>Y3lG;dqejk=YB5y81jk<-623g8>d2uASg=JF*K6HY&3>jp7h>3ylL{ zqd45N^}_JwXva$#$Q@crQL`9=Jcz2^=}bM>QsHwYft2Rmm{#QGRSV&_|2YGgzyUau z(X1$!!1@Cfe{*Tt#7Sx=Ouy(m4(1ZPU%c=G(;Jw zIGst*AcVjnv0_j*fURhZvYF7(>=Zn*SkWRAo`cN-D;o5`pYUFfoCbwKf*vqm1dF{q zXy>2|!~=|kmyju(I4B3Jq(lt{)JZ6ukywF_24t*LBWE!!o0G|?=3tUK|E(lOBfv2DZP6YthPLE^&84EPX04>gg@fxw$V5&y&;U7pVs7aU= zKmaujIu*JIH&D}Hj^Gw*2GQdVYXRlFkR$6kf7AlBIiODnPBnuyn2&@zpc6H7&>|3O z$ze2L6bTAgg`H(k6i~FsX{453nnmeeVwaLwS}8>lNojX!kaU3sX%M6Yq>*kGmK3Bx zKm-Ko?(UX&_+sAs_U8BDp83zYbLZSUbMB{m|G1LMt*nfi)MngnSfMm>@BQhCKFJDb zsz~kxz)2W8a&V<~DDfr&Qd&J>0EM151;7K!xIJtM><2KS1>z#JH5`TDly~d_mKtQn zByN%jEVBSpUP{^Q%20eD{uL+NJ_-%G_Ex4W`;7gXVnTyJr&_g6C3QIOGuZKDr8i8r zUz=H>tvcu9&Dmd2t4+C?_3K^NZDZ>%8CaklzGfiDopvE4M+B>q%X@Rqzkl4(?buXr~Y}LUE5*Dp7u(F$sX3 zQ47K+i&_8@55nHoaR2XS-5IY&Y+ZazK59IGbKI2|Zo7(vg4OBgyitV@d;Uix$`_s zSDk)#pN(iyD(O94dL`}3Su9KbJ`pa6!E2DcK6p)HM)4BafIppy8svZGu6T(%^=_vY#Kz;v&u1QW{e9aJ0+!=RbmNiz)jPS6bXoou&F;R|UU zD%e(DFDs=uZe!%aTJ9gxqjLk;l=ilsbJf6uwOjRA58&}eeGz5H>h-Y`BfR#UQux`7 z0G_ajU^lF|M-MV$l+MLt$0p>X{QI%QE{vh<%1`)|6l8CJ{4dKHITqC8Z1cA#)t(q> zqh?KfrfN>nt*BQBXMiaMm6aYy>NjBktCf^tK8-q-yyW`b-OVm4OgvqURLGnRO17t8Ma{u5XSth-^J*}Gn=n^eZu(UC zG+%UUJBh$pUtADqDW0Z+RykyT!x@$a$lX|>qBCA#yf>h$#KKfS88?)TLx5B)al<7tkt12gg>`XAi^ix{oPZs@+g(UP6~!?pMH5siM9Ib*GIsNt63jyKhllHGihee*@!*R9_gq((UxPC^U~n1 zYR)6`N8JnRF&iCOHC*dGy7=O+AIwg$V)75B!@A6u9^)lpA{Vxqk2ro1BPte>$t-5v zc!2$I6*e=x3_MG*v{vW5_6*H5hXsRheA{RJl5Vhh1an>>_=S2QHl51R{IaL}y%R`~mqp~Hb^v}CbAZu3O9!t-!9 zHgAMEjb4uvD>>VvvDdAlx_?V21O?&E^Lc-KM?uH-Fdmp0mm9~EldjGPF8_ebPJZ$j zkvCVg$9oK9P7hR7x71}IT^e!{0iNfe;4+KUc0o1?8#y$mwv`6tTfZ5U8@S`a;kzrz zL?G^7NRiVU?p~fsa!-mWM4`4$0Kc1=tHtV3zBs0VSCEpu_MTzCHOfGwRO{YJxQZ~@&ymm3riJVv4Wr}yEuTPyren<`Ls0ZATqqB z_wWzez09AGjy&O0>dSM!tQY2qdz=o3DJ#xq4;Nn2m!L6oHLp?uQS@N#(kl?5hyG>zzosPd4oB1uw zMGOVjwlI&Be4C8^YcHer0{xY+o2e=xpLmGxy_ zTJ`D*e~E!_@V@+(Jb$gln~BUF{=eO~Mnc8=>|DZJVDh(w``G*KR~`Lyge`JT=)~zt zkFXj-LTGfQhiqvxt65YX>YLd>M_}b`Ug(+h*n=ZS$u~)nPu%^u`%=M)=WQ30ZNg6E znP=CRg-ymx>RjVj3u;CAxA+&WV9o^+dKFyI4`3G~(xT2Cij)OaPDYCFt_ zMM#90*?!+>ST#6{`g+?`ymfSK&&WUe#TG55mqfiHT#@uhYTcd+dt*lYk+j>`pKInF zCjH2&NC1h|DhU?gYEbC%_M|FGv_s9N5Jr}oIX3FO2Ca$xe#DD1#@e${tg z7H?j_(KAD&UL~S_#AB1)VW4W?(vzAC2}%acH_Q9f%o{DCT!iYftb7a?iL(urHs$zz z$j^(z;?Z^GhY|=iJ`s8-YqWOLhRl%j*{xi){Ke&sa0M!G64V|ie+!i<$?yNxo<=%p zTKU*_b>TfltG88Z&I}-6txoZo0Ps)d3NR4Sh}``wOdf6O`?wSF>UirH*ipH*z}fL4 zRf?`QHH!ho#bpzdtj-H!k8t|5h$>Y%OSub6%yOZu(ZK4fVN{Kfm4KEm$g9i3q4 zx08;J%;`#Z`OHrx@4^}sI#!mx;_)AF*HZINr3anSO41E;iDox1Tg37H*%2!H(oB@! zTr>%gZbB~lEw32K!MDRUxL;BWxm-y~;83oEV%eamFgnHXgNR(p>j9zPJKW0Jxz!IV zXA4>x_A;5TMM!&Q$L7g@-jrsm8P3hl$ z@MLhIre;Xih9Lwv$vRjjFXKnW|{!*yN$h5-WC&U z!K}Pp3bC)L$QN7lY6&lhghPjuYvRT8U&JFPXSht)Gx6_RQqo@hQZRX_7dFqLE<6J9 zi{S`-s^2K@`-A?e@+_b4O0FC8i!LYM1Bi?X1a(0#?dyddZquaNxIyR9nC~Rw#*EsA zS$58MM2lWGCYJM=jJ)p7w`1Nmx4eKCJb7a_DGvOen`?KC;j3O-Jg)53PObMqm=35# z4)nk`Nm3jvd8Vb~G&v&id~`p6Ks`j8;ym+NC%eTNitTlpBy1W;+$(wC51O7X>JO*N zsnw^=)HKW;LB+gTx!w}8p+}D~N2nRnl|$SOuNIz`q0pbRDY;Hxk*W~S;lgJ3occWi z%0QT5jY|v#^vi?~9^v5Z*j(>|#07%FFWXls=|SyCUhNi@tO?UD6|A<=XQGt<6w34- zIe$7w>=Un>XK*P;R`#V=V$`3YSuS@k#5gCLfdjA!)f)E{m#nMt%p|zpLEYpFjSnx3 zzB0jOgiftWGult&_XE^jQq|EcykqubpWjDnHOu&vO{f+T;|3A%mq6lq92V?&AlphF zxycaS6xdRX&4`hY)sJS zhEL<)dtUI>Md^w-U$u##3dO{9r_zv)*)QF53n99lLy=G|eRuI6m1T9zLs`&aHW|j; z$znT&4%Kf~YJoJ?-vGjk^0}ygcvW3PYitjsj-*{ zKUj<#4Cdw~7S?jIQZ{$9X5&$o76pq)fg#}kPN`cb#_J|if{CaoD~XG%!c<_&DyoVw zC|FThRRSgnR=tlz6~*M(9{+zSNeA?JQYabw83Wp$!#frvG`t#p=gl2`>?e&*pYU#( z-qR;1auo3-T~4$8>M_MjIC8ge!GeMfI}33N7ePp&0oIY()O3r z8tU!Z?JueGnS4ab-D!$x9n)Fsoax9(>ZrKoz){KjnsL&y8AXkuoY{N_AfOGrivl>r zSCVHAu?|6r^;@4#Sxylw^3i9@W|z^Ghv*kVlDIBvx9YtN3fOyiUc{Ja0kjy&pWWEYz*z!VUo(ziq*?EPb4*`wMh7*TWK7~ zql|74$=NKq!BJ|9^bU#Lo3{c#hqZeHKeaDAfA9!R4CY>>+2!30JP=RI795@<8EluD z(wLH2^sZMxY9RTW9`v7`OzFU#f|3@A9hi1&4)~07w1!QIDmuuf7^XB(i(2(6G8#ry za|EdDW(DNKCX#bF9bz!}d=Y!#>+Dx&R@UE+zX{sa4wBEpYT0~nYIA+HkX)n!L!!Gy zVBl-hhNSV4CG^D+9i|M^(|)m7D>R?qrQe-d>*J@5J#bKXvSpg^zM zHAo+DQKDJi-zE3gL}?m@cMh-0Jqw~Xt0*QddA{RXRjxU30LoEQM)%NlMQ4V-Yi)~m zf@~QR{V8-*(a*{MjL>V*yLm61r!%@D+rFFUS#2HF~ltE9gXW1 zZQk)ip>y?ERn4Y2Ql=Gc4Wl1@C}q6y9sLE$(Yxa>s+-=LKG_linz=S7r3_arMg5%% zTjezNO-?E6I1I@xsw(emE@$Zg#M{~ohOP+KVI52}!6QWtckveubc@6&_RzCW4sdUvgd?cZS^Vg81ID_F*p%pwFS5!Ou-u_`p0*$4wkrw8HCyME8^Q6*N zN^>d|bSXyH8h_|-O>h-~w4_C!zBc-Y1-l~_isYV149~fLO>lN_ptT&NDE2YJVlR6PvFa#IoRHU>6|2wr^qTP(6~2 z$i&{O7Y5_V|JYx2`A%5QhsC0=oGh~PBAGoyL6dy2_2W?G%Q+9HT01>#kAXx5L;(w@yzJrMI9SiE@V$N&@IQ5RSW2C+u-ZOGf z%@?Ojg{RYN%Ocuu|1n~o$mdN!pULo_Or}q!U#4Cr-cS7tLT5Y|O|=qT7F(`Hi=Dx&k}-gIp4y=H85<24<~&mNSI)PINAhy-== zBgVRRe7VU!-9Q~Zjm(*A+wkl|St_YLV8*>mfLgk8+${cJ- zF^-Xv1aPyJHxw+0r`?-=1AcYj*FSK%iz3;l4TIa=KPUbfjCAHJK-Pw-z(qI%E`i(_??@% YtDBdrwGFW-R7zY7O3cZrqN7UuAIUzZ_5c6? delta 37415 zcmV(=K-s_h$q>!K5U`5{P2$DfMj&Alma9upB&u0rjQ*Z&ay-=>%~!wQ?uO=k1KB=+ zUN9ulldr@(xAqTp!AS9YM}x#>NTb=EGoSl&k|YE5>xoafx&X9fQ>L@n1#qqbGLx`u zDu2aVZFAek5&o`U!O2XfP{usnJAkzAjNa_HO)OWE)6T@14oIFzj7fk2K*?&;|K7dZ zI}o5D%2DjrA1v^2FMGGU&px{cI+~B@=;Z&_n^ji7haZAQ@2H~nW(9v3zAbO?g(JeR?SUQ6MvXg zq|wPew$9okg8tcZ>H99szzpT4S#NyTyvDXgKAV~188+5s7!I#tzoW3dpd1>Ln8&!g z5|0H22tS*QszVl;Up9H=b^r}ci5(_~W1d6?f7GVIhr5OG6U@wH(@MIXuP{?n!<=7{o))Kf5#c!8PYR8#z`z%B_- zZmR?>S9iHR9)m4j|E^>IAZNKf#%Wf~%#7^Y-B@Un#=#BL)Aq-oxW7qO=YLZacnYQk z8!MN7Yt~`P0=&^!6Dz#qY?b>PHl?4oDf#=9*7t|AtjX}{yUpawDA>< z|A?)BJoVh4COe}~l>P1bi&rS>?V-}(>iI`H`QpO!rwU(`#rXEnp7%0q^4%@jV5pSc z5;#K`^uJSyq@U9j-ccc!27i&ALJ;Nsn4=O7p*z8ta|#gPAwhR%)6u%h3yb=Q?C{dm z?kR>~mKE6M;ZghW2oDZI@v$`$KaGvEG6e>JalsU`cCE7LO%q3x4d@|X&isOQg8TJ0 z;%SFo1EeH`S1A=7FzfI2^8EYrM z6q7`0wYw6YNVR801>7i(cXs#s;^NKqV=JnJq@4E$I^-YVCMu@R09~h94pt>hWl)(u z*ssdX_P6wuOZ4f%Dzjd9Kfqcllg)y~Dtc3uD?i+1b<;QLRarMy&eo`t9a$A9jrpU; zNWip>1olDs=nW5dxqq`*cvqB7@12g`9|B=BRbhOOte9bs_jZfsgYUo2nyGDA7_?{= zT^}YYD)DVOX|lY)34$Oh2%@)wY#hU2!Q`Q3mu5lJv|O!PDZ;F)Y}m22ze)x&Z+a7OCRU=MO{6kXW}J>Lc>a zpWZPctrL)M{C^YsGx_GoKC`2NB@zV+hZt9_k{&c8u1Nxae}fs( zp^WsQ^e!wzt)L!bLNKOnFb;u^1^!JPoFoV*ESh891Nl|8DW+M2NfPz(go2t^e!Pu| z)ylb-g(FB)(0f_**7A6dRxHqjq)QWQaw$~idw2+e)_=PyZ%j8m?8@2r%>We{VixR2KV5}PX3cwk?!6P_$%N_vPH>< zAfffwf6wd9#KOVR*L3zZ&Az7e=-F3aSy=ev&a0zmV7*^ipeWq?|FEIunI^K2NW;of znrNMVUZ?K{Ye{1GAwfSWWc<$Z|Gq#k<2t$s#DDO#tb9{nC)kFH;g)?`262x+Y9lW6~X z27u%1Jg&YI8Z&&dNR>wSLDsq)L;)^bnaiC;j~(3rx7zVF#1iL=c`?KfX-ueS<3hPM z#eWoza(wHz{;}C5Fo3p}@i9OcJUPFvQ9_$2dn*$kC#IfbtAwsh;F!;5?; zr|nj=L^R!0f!Z(cL&EGic)nUM&B}zp^M6q?3|n`ZFL%HQJc|O?i5D~`syAr# z6W}Iz;gx}P^X3rZrd>2v(VNPiH~cnLlbd>HsXm#26ehN1!vu((C#j5la?<@>wrsvP zw?OtkMt9mz=C7?$Sr~vnW|)*}AwRiRzFy`wy-^N^8Z$T55Pt(&y&dulRiY(oWPg%3 zLota_N)l+=DY$>3ivNd%;=h5p6r9M`*B;2#1xe!e)Lg#&&-2U6i_4+;z=A|~J~p`j z6k-jeK0W2_zi{XTr*PrGQ!BjgTsW}k{OqsRDj}V5VDJimxDvZhB5e^B!C{Fnx0e&} z8ZRfHOSqq~$z8UoeWoX)(>HJN!GF<4_`ArKO=oO_ZUKP&0er@8CQKw-x(JWR``TH3 z_PO#E|G628KtN-Nj(r4z41OT2fTs!lfaCOzQ$je|x|k=XZ(P-_uJZ{<5l{$24On6w zXr#@m<7hD$)-1xa)>QI(z0B?(l0n;yLiIzMU8fHX08ml@g;V`Y5B})@a({`}GFSP$ z$eK-M{+~E9Da)nFiXo=}t4?^j>l0rF6CevSk6r|Rl3#+u>#Y)f4D%;GAccffYD=GQ z?dC|G50xvF4aDsk*RAq8h0{R4hAMCnhLuwNg-{OzhX-i9?K@1^7}49~yEq-X5)~v) zTHBw&{-;f8@9tzYP~nw8tbY^W`*6?_J^C7%sVkWZ*?ORk>P5N10;}qhXJ6RGKUIbq zv+Kl_#@30;z%lhz(dE_gm{XbfS-U5yqZ?Sz*Y$LC^&RvKlPr9?s~*6dP+Yaub;)~M z+JEf5S}x?+5=cUKv_qvNTyLt5!~@{SQkdA%7&|hMCCtg~&TLUshJTycZ0>Ro7OJ6b zD!txJmUs&%d@b?bvujt7@T`Ak6N@mHPxH%xld*eITVuaiW4=VpO+I9V-0{U0k=<=C z2RqRa>iYM+o%+F!VExL#&URwI9RVE9W&<04(bbw41j;aN9&QIjTPya{N?UNS)>+ya zZO!46uZ+cmS1!AJaeoWmz%#9|xB2X`P0fIzwm032A@E^BI9vHdh1l@acAl22b-v6x z_x?jLp%qEA*j?a9=LXZEtd5a5j<NUn~Kz#T2$K$u(Uq9c! zKgASL>CR-f9JlYDND;ugo%Nrezdl18kRowv>uJ3&)AL8!{qfc5mK8fDSH1UHGQy3m z`tHIi=Y+?eV}C;c!BS~^>^$xIAdM8K_|T0!G{O>&|7yo-cFQPS+cYb}FsHUK%GXsW z)>UA!(*?w+e6zyViz`26>4r@=F87TgI=ZPDMi6QNlSjVF>jS8-*7`4k{CtLTo+RR=GWbdL+GR`@cE=;eTTy)0TEG>nvcrt8WujZLiE= zb(MCibpWy{$NYNraK)iJ3bH5Y-5vDpKA)$;kUtp|Q@2yus^Z@HJZn(aPV; z!tiX;`G7{n9=}!MHG=Nzs#wsruDmsV4cs4pGaO2m9L1a5eK0JNGvsg{znP)GcwG34 zAFlkf|F@f~>pLDSVipG?SZub7KrkH!i%@bF$Y`<27QcCtEq~wqbzr)_Q_+Zn3l>UP zu%v(Q%pYA|n-57>w8(UQC)9}6U#vK1u?~oOvy{R+9+oTkGekZSMraU1^?Sc2ipk+2 z;%!o`4_Xb60c+=y{BcMyrk&nBnko+`q39l z)YknjQyD_ZVqc!i(4=*KX!EL^Iar4*i1dHy;FVIU*Y=DQN--V`az5eZ7^!FGPCkqD zu=T%usR{#{kkUKUrZMGGL|#i1c{y_yxQr6K=fA(1If6?TMxrOlK<2cq>fjN4&b)%1}R1$@N5-E+yk!cxGvYYYrC8aymT>>cU*{(zjGDQ~LUFtC9PyuVu= zrB0-3OaJYxz_~kMmp|_CK({SuquTF5(Qv5AtUfsNMXwLdq#uCiX%+qy0cCT9GrMFCtX=NX?DrsU=IRm>`GU{TArE=l^6&Bf=GB3-Tds@ z8bU=lH%M!fw9Yq4!}xW&5QJ^lR(rTdipJ$=H=IR-e(JXzf+PwDc%jYzO|gH{>}I?; z;w%iqo}QxhQ}=apOU>dqAi3X}$E41{ztH}0UF#(QhdUUW=*rC0#nGx7$8;soGu#1G z{R)*Ad55Ik(R!Ke4Q-K>8BL{0<2Ku4Aas`1O(boKbB_6eoVdlQXY_7k=EAx+gyJy^ z!gzWk2)Awi_*qC9=|cf(O;~?X;?JL^eaS==PFXJF*XS^fSO!=$;bz36<@mT!d?^+x zFc^=RA4p>PrE2HUf5a8T0Y0B{y}ocSj`spTo-ka#*XT4J0GvuK@@)ndTsUktSAGeoHQ0Q4L(ihNSD|J_s>|SN*>p7H-xmGS`Vrx zF2AgHiDB_f-|ybPp|y`_UgHu2X1Szz#;L@b z-D#IHm>MM+3M)xuPnc7y+_^f^6cz^%o72kuUY z@vTF5Yg@%(sWcay0BfNh3bp%#D|O5^pDP^U_&|T5fkV!O3jcotf00Wz`QwbdDrEj? zKNpeQ=N3>VF?o}ey=^I|KRW9-Hg}s-~B}f zYgj2r$X3smau0tP7%&lIj1-IaSO1`XY|<*Yy;K~skUO=d*&Ief8ViSt|M~+0SXFd; z(_G&|7~K7IeG5OT&f&5|J+a0$))&`pb=_A&OC5N9HDs^vik+#G4s7q5WMfYyG%QF} zE3k!A=4nIMskuq*4MrPJVTBB&-NWQmCu{}5CD-3#0ONnpe#~@Q$_L{PT4^9vmXFPh z_GG{!Kkn&P2??@t5bUC9TK*%rKv-CU|I8c>7E=TIJ=W$h-{8tHn0 zem7SfPn&;8&A;aX{@J!*t_=r32!g3mvsuRun16z#YP+780gP}$r)lIsvX?_!ns4U- z40`I}ZtIbIg3nQ6$0~ZwY0wz+as91zydL5^LejMs{($;usi!scH#N3qWl8}TgMQAh zTkp?9z&ZOYoG1xE6{xR)liBB<7wTZeeehfHm34pcgzNQk6{yhr=Pt*#Oku`p@gF-8 z)XtFx)D(gtK~G6dgw=ypUtV<$R9{NRkkCMjEv+7H-tCBeXZNzH*w75-Xe7gSk4`9Q z!u;79w1(}0abj=Uoojt*f>?#yuFki|OOC4zxfmTf)~%@0B#(r&Iz}D1(6~EuTJUx04{#2V?(NAVI9%kJ$2mKF1;pN zR~iAuU=GtfrEy^r*QQGQIFLNpJ{~B3g=9su@9jPy;@eSu z4HVBgHp6zep#?uz7lebBPQhu{v=s)N@}YkquiO5~!@Qz7s`BB(=Bo>hTpTdT)pYY0 zj6ar5;By(+X2O5j`Xb^?K_M|=xorONiBdsr4gNM^cj|-t9udN-u6C-Shl5^IeYG5E z51jy7!=Ec_VOYydo8(191KU9nKQQOG3D(3jU6=%*(V=t0!TTTvU3WF=qNLY1W_w?n z&P-jN9)0S)d%_5<+d<<;K%Ms0n=6KCum!Zvh633B+j1q@55>FlI@kid4(pGp*Wrt3 z;xMc3#lUAW*J9ASOOq!v)&4?2t`DJ3T}iC~JzNS9d_o1d|6d=E%b=41_YuCA)CeyVE5Daj;r$}%k@j*e+Z*PiJ_$H0uyI7ViIWy(lq@yw~j ztOH&HBk|LUIjaXw0~;-_4f7f}ZJ7`B+_9kW4EKM6qx*qH8mAPC7Gp7olFHygVoDhx zFq1OQ4V=NW&OxSeI7#%#Gvy6tHvuORVsW8@CJcrLk4F~6Bh3iuDmsWKIgy52TqF|* z&KjJAgi#9CcP0d;@eC*Mhap2PIRxHuHZko31j0Q!&>e?SffR#u9Z0e>Oh=Ojq^^z; zavXn#Cvt=%hmt28JSr8r5-yeGL+hDQCd+eI1t5M+|pxUy#s_;wk7zk0OKam;#Cg7&gF!2qy`Fh}A$#iFQ)Vt5H>#q8wjpF`QOI@!{ZC zjl~jg$K~EBM!>p@*EfZ;^$v}8Q_oXIbfdw=-2IkA@^z-+SP7=~8?lW+R3m&n6k0TM5T*@4oU@&eG8IL2a_uR*v*{y%^Tq2|% zM;cg^QqJt!87{$Pk0U{i++a68hzyQXz$$M!aeIbTgqw0IPpXQD)J&}O+?bq|ii%tP zwNshcuclRfvM5F+Gb{XY(Y9qhXY1kryl!8gv_)HDN70ReIIQL^+uLK}kdmBU;|{TF zN$1rC$WwzLRu{zT>GlF-thIl$Ee;NuI4!SR_Qj~xravyu z%K_A$x8=NTkb1h|w9}hvS&z!5%SPR;x8-v*KW ztdu-S7s{P<{ATKGzA+xIj>NN)C(L58KNGZ40mqPbqMTwh85i^RqO5-l@orJh_rX5I zGadKLiUw;Zj;BR?R@JjFfG;QiE|$}lkM2>=6HU_*VMo<~4BQ}}7_E6iPNk4l@%bzp zoh%oNs&2`&wl2$C(@v{u+KBf}K_}lZsL5tf(_=A<6tRg%On=9rq~TOcJuVgH0N2Qh zIZ|zeLs1!IVd=PuANzkAD92--OiG8Fazjt1!HB4{knohY89+_kW-UGQ18M`D9^D`Eme)koK#dN?y0^4XNCB~c5p{TJJ3)< z-bdA8z^Fv9G9d|e)qvclq`N4Fb!Wk%YFeR#u_=ge*afXkCcA&!M?O@a^>9w%zYh;1 zZ&?T?XF_2N56b0X!SBK6K?ABuY4fm%u4q#p7T%4?X86kl&1Lj|dr7l<732F%;kRZA z7gtQ-*42!c>!Vs9_4;Vm$2GI~-I&D&4-!WYXs{WPAJCR^i{{Zg#dXwA-<9Q@UrjD2 z3vvLj>T^L?;=_M@@>f|m#dLb}$8tXTb6Nf|8N(Bkvq@Qhk5Se$vu^6m#*lO59l_Yh zJ+;BkbA@0u+VhAW8_NRX3BbMV0_KE?*VSpo5THLb%VAS?#&9sh&+NH$F;>EX@lF?P z6m-?us_5ra#hS>IyHmv`&_#Mgms>@?t42m_A(jliWr}~12M3mlAj&RxIcuICS>tNd z@bjuVpOzi%H;cL~#?3`pwv8AI_2zW{)z#U%SC=1~HK`0%2E8i1$-GqsJR4ER=Bo0{0Y_wV ztBOsYBk_MesLG~zqx|8sGq~?%a8ykp<{+s%(3`r0K2llkZOlNLgeoVd45W_G(}oNr zc94ALiu-)w@vT@wgdw#60 z*6QgjR-vh1naPXA;+D#~8{&Gtq~8m4RT9M?*J6Lzj74+Ph*4AX3tlYSieI#|>Gn0a zvVkY)Zv)r@%d3(GYs9XTO>qlWzPh?v88V%mmAqbd)p#Rn@n$dH(sDJiM_S`q zd$!WEE#~8*9yg+y4JTEzvzBO`6e)>bpT4enNnd4lTJy8IEGZQ%%d^RgyRTO3morD$ zD$~Qdn3Y#mefhQ;FQ?txqOaGe0F0uK%%~L=aU3_%Jy^`f zZ;RQO&HT~#KJMwRv&cZA>Nd`0AT9pK6f=;plq+j9klNF$Nt1(=uJ>W{Z>VOUAw{Kr zib_vQQTP0mvSTFqUc*C0T@I3%G;K+0Ir>P2{k-WVU=K;J7dG`!eV{}ryBsxbNANi^ zt%jN=#~|bB+iQ+NMnTU_U!QwO?Gl$NMhw>9qWT7tVf6nA$k zP&7CRh2ZX5q_{i9U5Z5V2ZtaEEkF(k0y@7MEdl1902Ls_Oxx25$O&LD`%6#G)1PQbHh`j;g+18a#oiWR2C@VwvZ=5ERKf1AN?QN} z7z8i}+L$?50l-!OZJ<6tM@vRi3m~VdrlYRK$ba^lSj*MP3GDnoSfsSHb>vt8(h{oL zG60}13qVdsOZ(5OHW2iR-PVwuH8Ux(p}#pKAbc0^ESkF1CNl z{ueg7S7d;HL3<6gat1s8RRF+X1A#aRv9r6oyR%ulxF~EZzy%2Wk1{r9E`P-;tE(#m9L;P&5Fp45Wbx_ zo&VHO`G?8*pJo05T@w6yWkwF(zGm+K-G4DNkgJQ=zj5=Qmu&$Cx!AfuT>j1o1X$TR z0RNzO`O`C7&|f+g2~`DI87*yA<=4Rjv8sSy*#WUZJRpC0|H&sIttzxAYf-t_WwQD_8_o3$ou~=SlNOst^ROt>FUI;1Ansp z;0jcb{vY>O70SPK)<6h=0|5L00D4&1u>UFe*S!2ubN*4k65;FZ1a<;gnK`%seQm9P zuWu;cE@o~(0L0l9=#RAr>}&Q~S4G0b=$#{}Lc;2jFX4{!;1uSt*Ct z*?m2KZ2ufz09GzuuK%*Vj-`b?2>T$?+Nw{5SEnl+`~)-hbC5R<>^cZWjQsJN!%J94ip_*bj` z=h*&B)`B>L?SXo>makt~|K_4%_DYb4A;;^^aK7qaAOHAd{2v8q|9`da{}wGN3HI=2 z<>BCXohJc404F!Mz$<1hUf=(SwfOr4{cB%eXX+pFpW_Pv1bP51P?i_K7Q!KRsm)DWm2)@Jf zT5D3(+QAusoMaWQ6n63a}prUhXH zqlySlz1>*Gy0~dNpVueo=F}v2M8=hnJL-Gt#Kx|St(;ZVGJmJ5-x^mIQqBKDpi?2L zQ!P&B5u3c&#Np<;nM=ecYnND`(%BkUaHL|pB9-ARnM_(}x1sH$s89e?JqgRz9niJb z8nx|7vb9h2Dm2BLjOc^Xx})v~G7ucncrJ#r`nZ9}yMFCmVc;JgE+~QEEp7dIlr$tWp*Mp`Y?-NbaTwHE5fI1q zT18Ess`6ZBgM!8wG-S0>VD**d*&gAFS7N&nyWTe!xyW5XB{s zjEH zF&B(O?0+5Cq{tN+@^L1yzIL>g!<@;wWw~DYR;DhJb;x~?>>2M({j~(Y+1Z)o6ae_56C}+rPvxTyGy}tL`QXzbpH0Yq z@MJyWz3;#c_1Vjq`=!>+Ta7`xo!@LAw}|=t#psh3qMuz= z{D1wM8v=tXgaKx0+T7N<{(4y;RJ_FGo z>(I+?S+1o{uMHe;>qZ5lk0GYavgT#;sn{rNYu--#7ZfNh%1j@VCwW#7KZTZX@M*}? z6%JpOuupVpRTqm6#MjG3dh+H4ecbe#>VGsIy~aa4ccEG7Tu64)1+mm~-lFpcqFbv~ zay3zMA?gdG*`Q#Oes*PJwAt@?UP@vNS&2=cg}kBJR2793c-pUrA+&N$*_%bvZyNxFtFxxs))5pw z#XLI-2($uo1_cto7PA%fr!+UdxH9{esfc7T9*_Yp)Fv;#SiT<T+%ELgeU6J%oCmara_IB?mW zuGh$e^`9>^Lz{wb6fy zt-~uHt#-@Mz`yNYvH6YW-bI(aUElK+6rRP0Cm?=Ia0A9}hHL;hdMB0)yY@#4B#K~+ z1}%4g5)2bvkg z7H~|4FKGAS8$h*%D1QQ^c2nkr)=2bFI#iq1UE5p9&#$K@`a(EM=%F39_C2{uVJ7(_ zg;e3#eoN~LU2faFQE4F+&H2!Wuufh!?!qiky3&#jyy9oKwa*U*j7K#C6AFQw*}p_z2H_&<%NXiin@cPTpp zbK2q@QKU;Zx?DY4N`mw$R^4p0FrE_FRgEhgv$&n1Eq1}= zkuwrzg0dT_6Yiz#Hp8s>#9eQV>%W-*md@_KQWOM?gMZC$nJdR{i85$|)yG?%bnkt} zB#}q*0qYXV6~p4QC-V!gr+6c#vm#`Ap@v=8H|`nEl!QREIKO$fkfQPHdF{GUV8w6y zR)Oa`G35JDPTsc}vEBPCSs7T>dOVR3_cp`laioibTI)D6*G8W7dh=GLMBRKi_F{a| zd1?JbRe!RA{Dea}hF-Vr%Pd~`rh+b7I$(Gc^LMKChK&P<4|2KNMa5%F*1No3S(LG~ zgV$uAB~?<{lIzKWRHiCXQFToPOWhJ(T{&vJW;Jy=Eb>cQEN>k4$Z-qM7{k_MIqFkw z6XvZ(6bY!|2Of&fpTWeX3iEv81G}kRf+{+t4}UMn4{2zZPmU)=VdMwLA_-=-^tTou zgmLoG#v~c9=I0aA_vNVHHR;;D%M>hSaj$b`diJ+Y?F4cyFTYM09IqetFF9SXhYLJw zex_xiqKNnvVxIW=m5NmBcS3iJ@}ha8kK}7)y$Dm?jT$xm%>kp%ZU3!l?neyL_w#Xw zynk*}spqt0UxWr;6n~Ve-596{acAQ3Ze{F*^^w+2e`QQn8w~(q20mb-NnYu#i3f8FxmxI z5(_+Tt!J-{QnFv9y%l@Fh?l8=5ry-skbeTQhZ_6o=%Uxnm{HrMYR{(Ska7m2HA!bA zk1umL9#U$lkR!bm5wjsw4>3^WxBQDu!L~0o=*xkx0B2`8|UW9hI$t$Kram=e>^)JB6`d_5Iz)vS6HGiTSvu6n&e z>W{klPi(1}`=^!4Rq13ZMXshSY10TQ-LP{{4hrndlI|`p6MvCx8&|m?BG5=x!_Yo14;nUfJj`Q6C7J<+70sKG zAlpJEZHY0oD?0xno$kT&e*VwO(uWkrvn+c=Leg&WKURK=Qj}(Brls_{UW(7dYN6_o z!Bt=3DJ}1D)t-&_Ace=R*@{sAPQW4JF-?xnN zzl&u$_0i^c52$_WB2aAspdFdNW077Tm6LQW%nTyNi6%sE@qK<+30?vJf`Qd)hFW8a zC2uJP;6!s_vSH#t5o!U7cYnj^X;@shVXyFw@<;lLCx2ZM(6_27Eu*Ur@sW#M8ya49 z5dz1FM{4ifv5EB-YcVHHXdK=>r7qrnKe|I^*X0yAary~{um~F`QEt`5(ctXIlrqrf zlIgiBT2mbgsg6#CJR1M1w-H#Xx5wK5{Y}dpLAe9w*`g%`!v!*Mh<{`^kM<3Jbh-@{ zjqO($8bgwTujie5mT}J}#YOV)xZtwyZB#l*R1u$eMUA~{#KY%hA}OLQ!S`7_5wj8^ zZ@F>D$lGIoLTkU>I{u=GW$1rW9wDj+Y5%tRX<1^`w8fT$h5E?dWWNsE3ZC+y+HFvt z=W$%%>`bA@JN#ezoiC?9{>6`4&v~`YbnBHg;%eQM3l^R39zw;7#rt z&)aQLLTC{cM1SxXieLUk1(-y5m|Pe3hmK2GpNw4cAIsaB@>lFCXtOFUBq+6he)09+ z!H=R!QS6Bo@kfWt_tE6;8y#kydP@?)qG)J}J@*_*n((oQM+h1TUOs?I_r(T7xPjXp zh;(HW!ex;^?;e_^0LO#`LnXah=2d>6+b=%Xd>$2kHGfmJjfKa5ga5wszJdu}Op1w9 zp{0!=rYPd`M3LA09H%S>gXH-$?9wvCM(>z`q`p{Bn;^zJE5elXx#ERYC;dQFJf+r! zNBVKXHmss^?hO5I22$LTr=)iwN6u}qB=a=^OW1)`8Bb6+d76FrY8I?3q_6HH>!S1bV&ov`)7?E;a!0&#O z3`|6GLJK6FBDs*pfBlt#oZc$F*nojshaERv5Uc{1Gul$NeS>dJ@C6RCA=l_ ze}B@7=Z+my$bu8)u~TWYYB@RJdifE~%zwq5t0(AD^F18BE-~NZ)JFN#z_=ixMLRNU z$37l?+<$~6JDQge%&Gm;)r*WW)K&LXf?YO)yd}SBrOb$gUU6k*iOb2vF? zKu%ntBysepXv3$qX=&{}Dn)JRk0?bUtA8I^nknmRkppcq6OU!eMCX*+fG_=v{qu?!o&77j4C|R6j>T3QP-xb`}N}})zbNhgN5*3tbzNHNCd8m zA95%?V$+)<7Sz!z5u9G+2Y($#zPXsDA^aSD`33~0l{YT;=$&H?B(Y3GiGS2f7_xXP zNyCfU{U8FA`-#bS$JRe4K+ErT%k7`?iwF_VpCRXYL2fsd7g^&+nFFzEzb}G^%yd2Y zcpW;giTXSsB<~$5uE?Me4Jl3peA6cV>Tn_B4KlwWgkmmhs1>?Fu_}ewUP9L*!Cv3z zzKo74Jmo&oVd{>XI<*pLx_>faF(;T5odwUX0$zA4mf3Kt?o2*6Gd+pZgten6uBu7O z{8;J|H}jL6&nUi>&~7N1NJe&b>{6=Q!;VwQbCD&a2=o$1P0D#J2`+t`G0T7DY>RLt zq92zygF{mmPq(4;CQSd*riFG7#>cRYmC(E;lsaH3w}yEZiZVJpbAQ9s$)N~|?Bp0z zS=bGEFSIugJ&2yD{S0Tc0aFU@*+x`IU}1HXbj!J(Uyl`0V4$UJ8zUh>ZjX3AZe^Bp z_{yMIuS(+l$LBLSaErhsRNl++(C4Z7AcI{YB>+yU`!|vF@a_o_@+Fap`P%7fDOXCa zcH&Dj36mr;4MDz@pMP+2t&V=d*N53AEwpK|(6Uj2%e7L=RIA~b2%%JZ<XO6;V}>`@nbcf6mu>-rLnm!4)D?!Cr`xfVNM-*wSSSo(9%i%ZgwYvuKKos|N# zscXfDkq=cpp-%H_qJ4mG#LYtSH}o%G_#iUP@igxPt5F1O#bAj_NHB%KBmg%7^|MDF z1MQ=q>pRbcGk+<^-$}O4{YZYs$GC=}#n#f4(|0ex0{C~$Gm7$0*6pCFJTh;9&~>r_ zg{?qzaA*JNy&uD8;`rg^WvhD)c)i0iM3R>ogWAwLG#~6$!OC^cmygi2_C6N3PE*w&O&zRePzqT*E}}S>E5X-g4jx*=LvcHmysalfIs;-t3DE0Cv_8CxROa9p zNLR*3I&%cs9wfyxDN7obxgB;hW4jwL*0Cc5#T%I~Xd%~m$gZC;tmzCuoBuXne$oG3 zk`RnaxqqE(s2~IK6JsolO{q%^nP#kX1|Eo+qPsntv{-pLAT2_vpkJ)+{`@e<;}&oh zwFwb5%2dW7a?!Ea2Mr=s^be;7&49F&iO2n?td>3Wt{ z27j?khs9+O>dKYx{rR6AM56SA&7i3K>JZy!_m156%<8=GKJnpebLsa3bM*_!u==?X zoQL%#oz;8rGBuPC{S+pw^5dIZQJp_z@~Yum*U6;dBHPq7F(`g^8}CnIAO zn+ks=qq@xCAq1hHv*?U8tHb*#;-`;FX`0t)iGywUgjnv*BJUez`ddts3!V%gMZKZ` zp}QJdohO5?{LHH^wRM@(QiG|}u=SWJ>2Gas?mjC1EVvM!0*yw)6O`PWh^K&u{eP{i zALa#`rIVQLQ};cf(6=rsnW>`herT&8Cv0%AMmivc7HTsKI}_aCo6eeOcsCRmKk3@r z75unM4L6$Y)Ba6?Ekw^q!75kF_U#`3!{c3Ql&ne}7#H1O^#zsX+p;BBCqgt`L6)Q<4x4G%A=v%YPX7 z79#XD<=biKiZ<>wm)VIf+!418W zWkvf=uC|wt8TV-n3`Pp>6#yaFyb!4VzIdpObXddFB!f28*Evs*qG`zptS-;6Mrep8 zyPdKg@!kCFb4JHcEIf$WI#c1+lO7-C{G}GeVw-K(V)Bd*V_^`Ja_gPcnid2Fjmof` zW!Jc8AZ*thP)%ItLX{85A%DDJQ=>&Cnc)ctkSXBd39jV(`VorvYXT36u{5R~sv6>= z=klH!Y1Q_Tgc@Cs!kA<};!2$658ky#1Oe;7(P?4(8?0Sr6HLx>!bo%?#8C$CoG8w% zZ;y6kk0pe=Rohc7l;1RLvx9#I*4}3eH zJw4tz%eARZ8|AGu{6cgOt1 zy-nP9-vT^T(J7{ati5R67Jf?BDSX>tj!HtQ{C{=R{n-eHY*fA1`ef2`Rj#b24$O(@ z@r&uiA%ygr<}IN*D}R)kkC&A4W|&J!r&|KPx#MTCF|~K$^!7GM^OK`~vBfgt5n#3|eiT{RC1=M)vBv?x?3Z+nU3jVj3ipB7 z_z<`VBjK-Tz zZeA3FTI%SQXiZ2kNv8t!@5SAx6K+@+MOX7am<}~>-TriDi%vZC?;tloE)i&*aYdmV z@i*r&ftnSSQn+XT1m$eekQ+I{|C=ck-cMd_7`5519$jYPGoN!rDZcIIu#-BsZBMAB z3VF*zVNTPX;eY8=V2`|m-Y)AL&Tp$L1gt*BTnAIQd##}w$U(y+&3l`OV%ZdMwp%(B zG5-nPqBgD&J(YX3OtUCIR6fIg=lUaqq}}q6n=Dmo-kJDI1T#@SL3o_{?F9)2<^J7|jsY@Fz)CK2(t<@Bl7A z(Z7B}o1#=cS5$u;sKP;4V5c1ik*~g6PJ}28slqN?>=xI1+8vl`P0$C-AlNEd5kpD* z9DmYjK?&cuV9z-gIWF{2?Ryp_|IlqzCweU!ZIJjSGX>9HO?>W+4q5%|wNdxb=;Y#k zO*6AnzoU8soAs4NgalX>(l{)YhKGh-JG=BXYHr*73{HPt&tWHK!zr5>Z{AKrvVJe^ zMB_QUfz;l+8TSNwLEd_t@(u5-S22aYnpjLNU^S-AvLuC1s7KzOs00!I zI$z=6et>_R`|6aa=l_DzMMTu?s!C)}FLF+{Lx(1$=c{oanbuj|c2YrJZPsQ8RnA3| z2DV_}0n7)2xMb^Xeyv+I)3<&a5+jqFtADc~3 z&uSkbA5aQq2OJY*b3W_e0>poRaL=OMa!S*gre;w*6{@gk2zr{)jneXSPT4pW-TQ6w zMSz!13j|@MV9au9Pu%(#`9TS0|?r6XpD;mX-;jMF#xcOjHEX&%D03>ZmAwT8k5c#x{|)!$=vQp zR{f=gw-3)utv9F?;~T%fUnlMEGCOj4>6L$?ePf{-885bKTTktUMdis-mU{pOoKF$* zciHmFPI7#SEx)7Gk8J1hQsX)2{@KZ1^%@J5mTj^kJs%`8Mk++(8{~fh{keQ?qoSx- zcf+XbTNj~H2bLqj%unc86tJ5-n-UyF$lPiN2t$}Ers+y)5+3hb9)#S6G9^|fsce4_ zyGqQPI!>HQeWvC-qf-}1nHxl$c&oKDv<-o3T|GkWd>(F(>pX0S(jvhl@COzO0#=a% z_781Fk7#>*Sr)POd^s`vYQ>^wRYY8_8y&p-6RpHoQ92RLv+uvI`&i@>zCWUjIGD;9 zN5T=s)MELyLzcAsDI)Y?^_`!=sAPXQo89N|vTni-O8_9mlwYo49p7xAo9 zNAFcjH;r%4m;FB!=gF&rGmU>Nx>T<9q&9ve1QN9!J%0Ug-5}>!cI~LwUom07zyLSG zH)oa|5!kU;z78K8`woXs+AB#yTy4C2R?f`6>3xC$^RTqU?`Lr`PmStP~neiej>c6(Cq>M{B5SD(;{9 z(d060(Czc_hoEM$jdHocS0C=%hE1<8&$(d~zh^#WU?vb=0lu-Lro9|Sx~BS{Ox4m+ zdAl`bZW|AKDZ%%&&&VMZ9s=Z7or$D6d3-G)tY|6mgg@Wpj{$Zz6pkl4{qo~Bn zyPhS4B%!ntI|6689V3GOQ_#KF1tat6g<6Cq{ZHARPW)2%U?p*ny#1Bxn?xa3(c&8l z-03=Qe`*IOZ!3kI^j04YiJ1+z8eN$K`{o2doIi%GL&{gqSOCv9dN zm(IRPF9rG~30^7alMR&4iRka#-SB?VHzX}6(}QM)8W9vRVq&4JXY?q)6+FD3DyVv|PRkEy< zg@+!D);)ix;xE}fOZNJl5_Z?h!DlwkA=hM_=7h`QE{%rb(IxBvBVQ_YYB>z6Bc-K- zKHM^m2`p6vw(dcOOCsFRiUbfn>`owIm4Q4r;_&+>`2zqRX+L7FZvR%x zT0q~Bx4826;zLZynNQYKR{LbyF(B+VimG=OJa-LVsjU|j?W4c#-CFiu@&+vOPGGTM znwHHeJ>cG#a-CxmT^}^tR(+eWI+wgHCd@Q(6ZyYbr%CU~^lVitwd7fYWz(Vua$VdL}s#?FJhfU(lWzG&>+At=lz)TmbuuLI8`yy!NLkN+~MKIT==3#BejW&mVK{aQIVKlAoy7o z4Yp-^M0wkoc7&#bMTJ>!W~T#64F1p?ZRURw4qKu>;1Zg0If0OTtW8^8v{Lrd64?$? zoG1hSGh8Th3c}9~NHc_qNUoQU2W?(vmxpsYk|9g7nCCi0{U;ZiAiraL8-T0aa%MmQ zbFz=D1xA%MP9AZJe%R6W_mJF<3r46b0Mlu8VyCeuU8S8)0 z#JsbB95X)aT}a&9><7Anv8|OTTFU^@Z3y3{Tr>Z-^J1Wi6QC@)iBc zl#axirpCl+5kB!Tg_KmOlE?_snVv!ARaj{B)zI!96-v*l#jJM-U$V7BciK)sE$6)} z3BjpyAK|B#_jKKm$sKuA+qkxQdforWT}JGE*AMZ2a)Pos&$_NX z&vwMmJ#?w+VvjfI?x{6l{1O}+``?QFNvxY`%&h0tEV3vF`8K+1GmfKu6h431a7mxM zlXj={2R{7X4@4emc-QBG;zm|}l2Y@14Tp|pRDMivsGlu${3vqrJsK=q;2O`25%jX0 zmv3c2jZcttf^P}$=>s&T+0s#v=EO38=q+Gp?NbU07EaRfzR7dg1M|}bWVT7q)(Y1z zH@^IBxB3jA?0pKY1bX&Z?zn%sPol)>`~7B0)01|XWL-5zj@^__hkAuP6RNBqEZ$|W;v$GVs4_ThvW0i zuZ54|VrP!Xwj(v#<0g?$k<(fOap=}~F^;+zt4n3jR4A$2olEJ`X%6^Z&(RaeV!lr+9cnES*glym+5J|`)V4LXKk#EHMgBgvPqk~ZQeyb3+{~(Nd zsaiTnX?cSpyEa(w%>K|P42 zG8`kCg<1fG=hK~^Y{o}L)NCIEy6IYnQ^uvIn|@&vTb`ryXc>P)?rz;``x0_%jUM;x zYL<|zp;|(Erq0iggxVB|Lqp<-hqETtpz#yECaJsJ-S#etLhF*~Ht>&Uy|2-gVG!$)MSx8+vMF2^v;^4m}CLtiNbQ=Zimt=6-wE7 zo^^_sRKxV;qnZKfGe-VG!>k-x<~9}#HePtjT1t}6mUM9@{V$g%zx$qik7$&b(-$NR zV{ArPJga|wxykkbR)nf-?pP{uCXONMRiJUD9JQf&Oi#grEMg4R)#h62?0cbHoPlAg zgP)?DQochS$sIpHrYu5mH~hH%aNij&0=O6yqkmfRl@|_bf*hNN;o-fq6~9GS47;<3 z!mK7ohG#E1&q3T>=f@9rjSbExoJ0wfb9mt;cutd(NIR`pQ@7Nn+bXg zD&b<_j&Uifhi2R*=3;wDY~q?fAG}jf{}JaqX9AK6vk7D zgrqDx&ruQMxech30Q$nxFK@6di(pcVDk}Y`;sX4~U5S2`3DSrFZ@tXsyrG+{W#Vn@ z=Bj@K*t)HLe;=X+Ht9TGvOsH{aG4@^=1`^LXOMNs8xlx-NRKHyZv7P=3X1PWkZ0Wc zdzw+YgDU>(R2uS!Lr>539764tkSE{FF{kNRv2ScqEZgv;bNs8!(~Y`=RO{WRly|x| z_-5lngO1`$GQ86M7>?|3sq&lNGCg6J)Fz;6%n zC-xx`A|c?2%^?Iy4C|D-zt1BSXvDC1*LSMjc<=YfSLcW~52Xo%I~I?63PDxG3gvx{ zf;+nbuhxG+MJ6eIKi2I6fX7$`oCawSfh~F2&gCEh{GJjXk3P^|Rh9ea9uEGhcYS}w z1(H9NpHv1=)(_EGT2VB)4B+sR2s+;TJM?D+MU)1o31W;A;U@Zz!; zoL?~_JP?ljFQ0UvqA%DYD2&-{`oDc-PWS~8AorGyh>yHwH!U7Xh<|$Pe+ZH0Y{v=aocXDqU(bGW*z=ccRl`XAWzBI za-+`s&a6*>uo0)Sk<$ry!o7>Mv9-npSt6P| z7?1IJ6RHJ{W%iyG>x|ZSNpybPP(yU$zk9M_S`XX;@l>$)pJtlBYdw z;6tQTqKu*>bz~e5mo@t9b4iU8SW|Sf*kmTJfHmx^N2LWa@k3_SHuE;)1I+!?ItmT}_E>c#OVj>Eow1 z=eW|rrZWNw(HUhz?8b&}dZRVh{gcr)JL`1hN0vNYDbubAU5vsCU90o+p2~e?Cp8JG zMkz}br7_Uja{YavA_IS8#eyCr59EZp*mKYh5ZPQavh~@<@QJH4sOOnLtr}(xG}rx( zZVkW2F(Y^|0%v^Y#wqnxg{$gmFv~EF6bl2t=#yXG(Rx&ZA3qV~fjX&h(Ml-|H?5I4 z-O4*xaZ5@eR_#XUF&nb{bef8+K8Rgf1sskHfu;l~lAB#*fx3TlvoxtVa&JQO3^cQR z&7imDCnJ}ogn2D|&MUGX4bCxif>Jvc#<`~`N!j~Ul4DOj3BKIC3FuR+xG`4vFt)*9 z^eH%n7Ec&Vjbl3 zo)Mb6$Wn(35O{y8PCXhG4}_xrq*HP4pQ?8X5Z_Ia()iUFZ7wZ}W&nMrqywSdXv|B{ zTqIq%Ga-yv%6d2xy8R^eRjDE5W1m3gZEksIS9&DpH&Jw|xXMTHDRsGh*2LBf5kGMCJY72+wABz@!?}l4#LcNs@NWU}x zKy;>w*XT75f9(#}=BUarK@Htbcc1obk~tP-N`_o@Cm@}#&15nbSnxpEA&qY76Eb$B z;jEg0!s3T4HUC7gfZ&gGE(;24L{79;S{gHFq|(20!R zK{G4fJ)ldi2oh8qRh@D8-os8ToVzF0Eosr>nb$*dzPQn}70Co&_3M`#NtH}VYc(36 z>!0AIJNIRwdW9PuRALVq$FI{Wkjic0#69)tta(TrTj5a z-Y(cII*Gx0;WM|zO+XOM+~*0!bP;VDO5M~@J9P;f3SKsvJ~z<*%jSp}qt1UhaLlq= zSm}UTRGK|Wh@GLZd zSkROe1+Go?jq@Z6g1k_$`rd#0O-wC6-sWL@CS1p#yF@6RmRjx_%K;KRIbxk{{4!K} zP1v84Jl9Wc>Z2Xurs$86TFfFb#LjWQAv)QB$v&w)* z`yP`zp2+;5hn}cR;|EqKspv@-_ZE3+109oHUXL{pism7VFNzQsMbm!|oOl;;jC|4> z@UYd&c#pO?5rd+Q3`CxzjG-1Evkun+SG=b6s_;AKx98r^{k$dVh%`zNgF}P|Oa7@$ zwVlu|gmoNpu~@9FtB=EC@i$7z5N9iCkZF(A)OU13DAYOakLHx5{LuM_*nBy=deGzctZL^dfHx+Q}nQi2sAIuOvQTH3ZT^q<6F`+8m+h$*9jl+(6 z5JTdSScvy_>4+=t%|L+WI%W-@H@bCE8hwnj$k-M3z(+Pwc0GS~?p*l`_Ra=Ut}UN1 zIA(mFo$$B>qidwr-gTtvhWdyYU^SgXujsp)LeTPU>F#pZWS3OPh7vmX(1z5vX?>DL zogTHtgoqICQRq89Q>Jhi<(0%+^oOd1gZ{$E$c|!Dy$^PH3QOUcw;euP|x8Fgmg zK1I;Yj7mWT$Ab9hf%jmM44!aAORdq9BZ8rZxam^^P#TuFW)cc@-@+tilz3zc2l&oK zT8kAHM=@N8-WToXKrHJqam#riUNwep;Vjlda#R6NEIEINQs-P$YuP?hIH4ccq|7zF zO*4{%#L+5vc3|I8FbR}iv2f8WyoOOn`X4$G<;u$MDd47G! zGC;152Us1HSH{N$K4&@wn zR}E6_Skt~Y($ZJf{osuLqfuZVBWd)_fEv9lsV7&E=oqv*i3UqYHIEGu#Wm1Zs+tpd52P| zaPi$5PmL_T9sC z=c&i3GzDE^A4~$s$>^UrSl=kc`F#Dl{V?Y5fG+DYj)<1kW*7g2`5YpPHTWQNk{3u@+?gZ(MhUM{tQ5AbZIkBr6q8E?YwB5_i7nx+dg%<{S9gNOqXE!cm|E%n7CDGh$?*aQ0z*%U$tISRFh9}i32&F6B63$yVdAr;U%3yN-1Kmn$0x4RvBiHFlv0lU zPCqlXYeVYMLW^-{d__U?p=&5lBYym^wO7TCnb#;T*LhxSz^SYGv86dF(T&Dtjx3V@D-i%_bAgd{b>aru$)^Mf`yaSKURm-YNji+ zqikZ-JPb@xR5xG|bO$tKEfs$ok;oV0t-@Qjm_^U}d&4K8;2W}tJ50C_Bi~tlW2|}y zIgqK6kaomhy%eVTVT_)d?r=m3C@mn5OP=F9o6Hg>{p$ItHDadvTl*Y>=4AdHcN_xs zrx0`;{dDcaOnIHAT#Q`R%7qQeo^XsINA^RSwBVF= zVYYMpWdans5rfr|DeT+aGadA67AeiZDPLIWr4Q*d{c6zG;Sa@O{MKw_b{X)!T*s zAh*lUuH9l;x;BougP4C2Jpi1UXxaXfVj$v--fcBr4<a3 zoV^ybceWZ}7`-~6fy5(Gf4OX>J2PZ{URORF6|0aG-GU)u4L5(QU?%>oI|gUWmJlEE zZ7zN(EbJlDj%W+f6Ycg4Y79<&G^J?-J|^{Jd*W~iqMr_io#fs9fl-U<1W zIjv}!v4aj|OV%3Oy!;n@n9vweNIZisW2l->F%A~r=i_`QGkr3T4seXzcS)ipt*K)g zw6RxSIL0S7=-z(;#joYeLNEMyQL7kqRkI8~g{x#9L=TwCilTL9E^gpzMRi&@{;BXN z`;NjnA&>O8%|$k9_W?7uR~@xD!Loi`PGrODnWEce3yVAiH39Yi0zDbR z=C@4AJA|558YU8&`knEJEt)nS3P&oy-%68GvK>M`Uip8+?N@jdSk4SX)`?=ZG%-2% zhJLi;;+#>qTirdz$6{CnjbG{0!cR{tDDg@nVo58tpz=MNKWHd$n$B=X?X1jyMl z&D$ss1>JuYemAD;d$dtS*_b|KSW)4*PoVF0oB(ZuxdIHpLe%d3f;rw*afsX~4_KAC zpwp9LFo{f@rC6jL)1<5#TcEd%YI4S1lGzvHyS@EPme@AMv|z-~D`Hw+7legY^v6pT zn8Oq{;t-y?n)uAs#fwyr<`XwXy{iTjA-Qa|;j({024tyyqlQ^P$_%;_4lFR=5gQ|s zj`=+3!4!Lwr|ycYZxy$+guvcNz?(8}Wbf;)N4dV!Cw~>x`^Y`oe!ca@Y%2ryy0F!( zO(cMcLFL1>s$!$MP3jR>3Y?Pla57=AoAOslTt`B)Yf2Y;doNKeY9ba#HzKj!Sg{$H)04PW`jTara~(GAr2W3S#DwFYArWm4sERZG4tSkOR`>8}jmLn_aru9{5KwexP7fZS(hZ(}6^R|8g9Z%J)58&)>@aXG$~_8OM|G z?&a?xdhqzo>WmY9M~e>?CC;!Hw0s>vLdbt!@9at0PHgAkXlpvFK=R*CYSXIPZzL6{ zyw%Bvv3fZqNKz(oRq0t%C*w%!Fu@MQ{#968i=@TLXmln6^!>1~w$w(lpGpM;+k6z9 zDF;hv0g*O-(wbU-yH2t~J9E6G{VmGIq|Y%xdR10n;%E_e&igCM6aB?Lj^@6{J!O9) z#Hi)-5XG^9*`8!~xVmD9a+2(R`Ww_FPF1ve3E; z6@H%kz_BzG^Dsk@0y02**Pcj6_v1EVrx^8;1PQc_Z8qv|!w#yd@yGB~%-vWNtvHNV zveHmqfTWE%eh%+i@m^Ejf*Lr_pS0(6Bw#foOU>h0Fz(;Gf&FsGSnY#We{XJ}+ zg)UDVA!^~?fbt%YG%+?Ap_cW{<0H?#b!OiiG_`}JT~=P;SOPf()EF0JdwncpsJPb% zvbg~8OjBs?*?`)zk>QlvxPkmbH~pt17?5Iie@>EacbW!pM;R)o8GouYaz%jjdz0rWW*)NW z-SP^PG(IYZ#?3;=)xm}J=ZtJ>2?`y`Z2C>Kz=SfteOys^`@$MK{7xeSb<}@Gk>Kg$ zR5Wpg)r92WYtQ!xw%jS;;NX8WVZd|hjO|WC3;&{EX2;DZC5Lm@N8Zx5jUsWc{Xa~@ zoEH+{S1}#*ba|X~N&1ghMoBle=pU99ZogZ7VoHEA79CWiVyV4~+(TGY&!1J5wQ7(! z3^JQ^AJBh;xg|F;)^4+|MjqRI$D~ohlq!7T5T3`o=;eR6sx0(BqN|SN zAvnC#`oV}YBB99)r0GBtWgy6}eZ+yGjy1t3c{o-pA_G=m(s#i-(ljg+riE1eG?{LP zuA5W9xB#5b<}4TB0m)`Dqw23km?|FXAag>172T#mpgw@YFt1sH_Tw3GjGX7gnVFJP z%^R0zU_!}|xL{H{QHy^aKA-$mafW*7I&wA`yU^80g(XRa#vPQSP2r021mp}NHNI5j*sZ@mkz5jp04f+Dypnq4j@fJ_3 zBBW0w#n#R>=ha3I@LL*DHqR^_-n4IUe)$7(@*FHbL}K<2UYhffF=<*6%x)VeN*kFZ z-k#mIa^=rt<@lVUDJg@WM7@_I7iHIXj(3I%&#d7qy=s ziWF^>0mDT}_vg3foRj<$bl= zCWeJKZOB+=@!Fa=m8wyttU|&?bs)LYt@iPavb&|ZKo0Nn-Zm$P63# z3tsFibD9vFH?V$+W{zml7p4U)OLou>vT$Pf#ox!Siaft!KVB(h|p`Q{1VEI0KFsrI z%7gVNl)`3^%E7S{BYL&W1NQ(}kQIu5Z_0gm)K+OBV zldsd|d2^r%4-aFDN7WaHx{xQsPbq)WS)9!V{4j1~-YW6ucVbO^<9zRAcn)MvQQ*+u z5(cF6OUWnJUber5bj)?1=h(!F$bBOcYb75M1R-qoD<9S-)k3|GvE?54`bF8KQx*oU zhR*QVc8NoBxJ?7mzVrY-9DzY?vs0w(K8J)koZ!f7?nH>LZa25?9gwg*pMQULv`*lAYci_AXQ^!iy_)5231m|@Rx8!ARc5BOKDjs zdL90lqiL)1kgke&T-e?I*!n5$zUPJ(6=0Q%i5Ouu;;p*8uCYrr(xu%mi5bthm*_Ou z5P5Y45%nesbm&W44xo-o#I%1ef!lMDN*^ltcy1J?#y64=w>xC!m3r>=!F_`xgUk`- z)^g(bZsbYk~|@w z(?z5qGR&p?=p|N30`Jg{Ea8Zj${^oI(%+kr0H!;r5rhQ$HX?gh2A&#* z^wLvxv6n&l{sqqz_6D>A@#uWUeIVr*Ax5))e!ionkD2?dG;9gAKz zbZri0+TeGnpf{G{o{xWjK2S|8cS05EbL}ICq2@9Yq7mW6^3&HYHMHZdq1*=N^-kUe z4(MoTS;H2RA?lB=>b2)Zt>vXs&}SZmsKQ)<5iJG32`$G@lXIwYle-HJy;MZ(!CukU zX-ory9Q={+IQ32uve0OmQPL5?)eqPgi z(1&m2{6}U-?=gSN8Nb^T@_v7zi*0V?<O#cneO;Ag$w+-0-GF5euN&4U zJx`C_3tWXzh$oMSyu+9gkc0PS#Tc);;}R8pkA7S0?%WCHsBz=~K6`)T4KZ>X3g1;C zl=H5yY?^;U5+cc@4l+~n)PYId*ZuK7Q&Hx~oxdR@;_Tf%k=Yzq*j3mV$Y>ebdJ1Sr zepVF#>8-fFT{DK5DL8@uBYu%J=kW)wENf6Q-o}J99wD_)bs$Ikq)Y5cxqZbK^aBTL z$ccVxjaxQ@$-g;ngJ$U-Z;Dn^`)%qNp!4M~-|aok-|(@ERvM)YHgOX}6-l2jiu(}}e`_Pm>qF(g6oOh=GQNP@8 zb!NOx44vff}Xo}|xGCFM6J zZTaGIp9ljw4!D2gVM)qNL)xh6LJQi6AXK)B7Mwm*|CvT>SW$;2GY^BzI@fzNioc4)OBc9Wg9*!0PSxo-dqGXrq_yX9OhcvLK$x4_|a-| zc9tWw%3F_+DZ+`^cbO`U$RYKhKZt*f1tE>ifh73pJ|ys3vigLitVduOgWp?*rB*;F zQ~xmumeg0ou1{J?jqWxMYgb0y;;svmRY;bh|C!2kvi1Jr`5PB7qA2}SJe9Ey#iCf$R2D{&s;j5Kg`*#axuzq6d7*vL1jyU z&kSibJm(GV!vqbgT|O{L@iNJLr(IRvx!E2 zO9xhyZH=&!QjqWz_r<2R7---RX6lbNlz@_R2(q^+BzoJ~roCoYA!>m{uvuYAd}85} zigv?3a}RTuc)4YLb{@oXuJcs@45M)Re_k{be9Y=*qwxec$SN=OMPPp*5a2J;is$nE zpdgr$-#P4O1(4Sp;D~9eLTVM0Hx7kmlPT^p> z;jPNIC1uls3|+vAab*W-3WV}96YTfVq?_lhZELE|Y(AJ|OYDaWKpyGd`n?Ub+f2PF z2vcz)zr54dM$0g{=9Pb|5UJ7krSkU)X?BBOJ}cY~i7jKQ&9Gan@bH1`BM zG2BD;kns&kAb@KDNg@B^IfI76*Ar?DW{69lmXgW!MdX9%;M0jw~HcWG<#unim< z=Pc!c=q_X1LoX!_{8k81I9@+NmB9QISK(VB{%Dqz9!%_Ef&%BEO9;)* z?a%|p9``hWq|2Zg)Wn8tj|9uZkg;c3bc0T>MuCXRYa9*RLN_F!cJ~l=moZdZFytd6 zGtht7QM*;BdQsn(wZah$&oGC3!xbRa7_P;Nf7#45XLMm6oDWvz#9GQ^`>5oyAG);2 zBwo}DaJr?{l0r~#spH9!p1Fq3s3hv`VCB7x1o04}U0Nr<=V`{!-dhxFR$fdJQDVr$ z^MU+MgjUWq=o0O+ZS(gUqeb6aXnR0E8yaA{Z>lkK;Q}dISx)f73I$_@ZXqH6;cN!HEn$XSXvf)?S#7OO8PeZ#CGnZ zq2k=F#izwHP{N5hIA^+#_I^Z?%nKUCY7#3nq}7Z((0r685Etn!w)N{3Lw=el9p8Uc zY#kXkF7P%{;U4#Ov=s0RaE;7c>IOXZw3%8!7Z$@Wcq@z|NmeHIQJHFGp*o1K#d#xE>7h&aFhEoeiq z=u!VR@c49tHn0Npj& z{aS8T?s3KDRV!t`^T|gy#)_(UYjd%o>?z``J1s~Xj4Kf!vY`U9=tA#^e_$vr6(2qH zjSWdMPz?;XSp3|r1Q8%%3ds^H8jkaCp~LJ!H)htD^Vk)zMai~LT;jU99YV!yWEi~z zTS)02bhM=rCPXdYOm>qm3f_PIT%NE3#74%MVOM0cCPZon8`TtAXkSzPPjb#@;5JYX zrhPXAHwMV71|}sC215K1H=j869EQ$zE)cdLbq*{<42wDYx_6X#wB&ZQGKtINj>7#S zr82@E{C93iB0Nt(!8xmm&XRn5UD_3c=iBhLQbDjIJaiCRT>#r9Mk0R!HBd#vx91b% ztK&kb9iznW6K}4DR3blFF`*(9aDj6i7!!m|kfLw8Kpw%awis@8=?)8Npj+-Ft?*A| z(&j0KeK=`1_OptB3vF!_+UAy(gMBJgQ8B+nv`aAVk}@9;Q;VY_$uAg`6M#)=V5)Bn zvg^zdy!ze#Xrm%qreuGYBw(xta?Gy#2@_Q(u*kBl| zrDszVg+LDg;oVP!zinD)KcN)=#843K>)|U4WS*0wVzcbbQA!{ly^bftRIj0EPoMph zAy+D@v0v|gll1~?OI!*jKRW*tz@d0OB^A)|s8@Ye)fGhEV+~SXDqNm2hj=r@`sEV? zjBwUmXec`hmaZEuUJ)5zYn%y95C=w9w9V}tfl|nIzG&%ybAwaC%boMV@r_*-{Uevx zfc@Gzt2_@m` zGvO>;Lnb9i!Jo7;6TxSSgSZr#($Fqtro10XE;FrAPG#Cbf2lJgP|jq=fE;(32@dXI z3>z{Bvfe_w5?SDX&< z5(;M|R-mH+8SB)@84aj_r4FX5jE7#(tOdtjKGW7=uaFsk9&q|1GnQ~rfJp!uYci{F z_Gk^)4MfU~oDfFH3t6j!1-g30K^D%NyX7-bZG@+ zj-EUjv1i$_11NZQn6Xd4{SIvA3LvxE<<_}uwwz8+MnCFR0<&j-bvdgS5bXnYAF;!7Q7z}=azPsaJvu1Q zCdFR$Ejz~XEQZ1$Phgm04t+BWKq%M4O!hF-0WgEOmutJm2jwcd)|wplk1Zq(FlN2k zLQ(@|xGQcUDI|>Uw~&PJoJ+lpPKbE9ePoB}d&0m+2Hx`sZlU=Nw^06GZozhEvkFvy z9aH{*wqW{z*Oj43Zp8Mg`B^z9o#KSOWIwZ~a09XY1g#i@`O<(hIoR)o&tdCPoaeZm zY8i6F(SoDpX$>mb>&fgh+kNtc24K76dQ#2U5&QM zit*&EnAMl%ykKv~N6YK$YF@wle8K8}d0DcnVgU@X_f<7rpe@zca{m2Cn8d^80f}AC zF)fVqK;Kia1O1)z=oyQ?s=~JGv@c0s4H;_=iP9F5Huzj~vxTHFE{C1`Zb2Pfu7!To zCDo6o8^Z3bp&Bx3%P(+dscp(jLX9pdnc%W>exA# z`;*Zz4{e81YG3-k2blbtk^n_gd2%H zox-Oiryx|r0R>U9kPbjn1i=$>=$QPP&vUw0Q9O;8V53(FBQwk)2ADr|5|NizrM4HYc z2A8mgSO(MybRcB}I)~#xn^oj|R0iY0U1Et{74+0zK#%TOtofj6zejCwJOScki4y%b z<;el5j&0lirQTFVef`pa>x$-y#Te~jyTG$4&+%1)z-17fT;hU*V;Ijo)MPfyX z5?O@h@AsQ?&Ybh=%xC7AXRf)P`_(;jKX2~2ewX$uiDeqaOYq!OMJqhuJQ!x@y2Daw zE0VYeCrXwzx+!gKsYdB>K(2pVD77fXE+Il)??ju|ztM~4p8G`G-$CFtVEBqxYVIr! z@bMb+b#459Pw`LJf_^y7RwquLBWU*ZFYaG7$LO0g%T7$17ISP&l(!_wG^5nG$!fuJ z${E6i{g1YWafRU6RSi+PTUg%qQfm@hY^s2Y$>T865l{M!a@9sN4G|*3I|p}Jxd$m} zOsg7vpH6&}1}%&*xsu|Mz?4>t2U&8iJH)`yHhsjf|CV+HWo_(tGN*RlvZ;*kpT2W7 z4%KOaFcT;F!xkJCxLn>0K}olrE=F6t3o2z&U6`Zx`V+KR^ok*!_|#3{ zS?wLmgld8icZ09DgPw%Zh?SSXzteCVdVvIX`4?-X(lCYOgi48`0B+}1hKa+&jNP@z zMp;Dx=?O9-uVY`O+IZwXtQnCq?+?S-9~ZtdKBgTUU671fjTu+E3x)&<=s&?fp=s{)oUL=5w{4`&M3?(Ij=;O_)k(m zb%moy>Y(#-7J1~G zwrxWiAUrnRQ+m%Pje|~v^YPNEOToYE2=t$USk*P zi*L%cvMRUapkE49BT!eKM+Qi(>4PQM+>(EK#{LSx-YodQkLpvl~sapm6GNfCxUO0lQ#SihCcvob` zuE=@XOUKm(;7iCK$04Wd`~;uC1Fi$Hn(IxjzLWKk#1>3Ui)xM1rPmsT$Nb>p4&hvI z7ww!Pph&S}8|qf?kj |NFUIfst!aaW|b~2zOG!9{vco2K`!a<4fWXMAj-%^S7<( zhFFh_J*`iKW2%|Br4GbiNzIT;`V}#x&nEF$6ZZ;F7R+KAfho?)Yjlvz*Bwqf3l2eU z)nc3uJ8G?%{_y$uTO=uqmv3EGAanC35`E=>dtZ0Va&9@B;jQNO96waV{Rps_d$`{Y z9|&bNH8mwopI>$S&8ARYPTcm@RyX~681pqi0&6;v476O(Kh3zQb*Qvt{8Fi&z@E4)dU=OOMUBie){$I1|!!gD3mlgO`LM+zGguY%iRDOOLcS5B6R55~U*V%efCOA{1e znGdGtM9&iz^&)m(637RiT&~S}dHar-1DL3kLnusy1WHc%`#*wY2BM zkOcZvwsXIGUw&}m{Cq5YUwI!0!Be^b1c~^q^I0g^8pE{a^eK>N_vzs|*?csC{_PyA z?|~FDeN0gf59%-P#9u1_?QkY(MImkkxuwrA=Xapd49>_ z!yo^`QY%e&<~8VSPCVPhY36hpXMxi0&)_fG3ZBYPk|hT=G0lE-V!7SA64N=p}x=)kb)W_OErdpKK`OIZ2m5s5uqZ75PEXmBZ= zOQI^Yyz*L^aDvVb0PNJpmHDw%-aNKo!+0Q24t?p@(DS~^J2*G+ss<{29D;PJiXC5B zo5dimx1G$_un-+x)RKY6fvUka-rY|_j`(@35pTFJPmk{Wsn9zbVe6ll-+3Jc8J<@k zhonvW>N52m^|R~-%wDWJZXJIny$e4C{VZOc`w8zInDngy$defWN`Y25^xpjUK?vHZLeHv8rhd~Oxhah}-Ww~IOowr5@xN0i zdLYzq;JXnM07|ca@;A`jfOp-plr*)hhY(-z;6Zs8q?8^uPgx3UC@GU@qn>3nobJxa zR}JB^2=M~Qj!u92cNb*Z{=Bv6r8hl4sZ;{*a+{f`dSVq6ozTxyy9jwqv7_tx0EiB3 zYYdV)r446{S#?>Rgg)Gcun2h$X=;-K1coGq@956E>{pL2loM$U!KcATAs{D#I*!=ydh(k{negsuy4&+^x^#uJcNA7^M3Wot zL$eKxC8f(^^DPC9IfdL~86}U4pQDU9X{9{3?~%)VcrNql4H;B+8#LK4C$=!fgXFh% zc=*~%^Y!jy2CtsFnK0{J2F~6`u)+Y=L1R{lMKd-wy{+Zp4_lCRRsFayI@|l^D{mW` zRO$n`e0VJAF3JD=uDhgi_HyzM@N>3@UEeaD=t$y)rKF^#!7@@J64C+^5&}Y0;(Fdr zYW4xnJc4TS*XdYt5@3n{va~VXAQ`4rm6Us=A_I}oPzTG($*5~c%G|$yUsXy*Rzq41 ztfr4wMe!OI!(g8ZMA7<)_`WW>O;t2^;*#k79vUa=TH;V-|jSSX)H3qjsG4- z%cAP09nMarEusE0eT99rt*CE(NP{Ip1*icu{3XD$Ycr>rX+Jl}S+u|D(0E1DV{SG~A&s!WEXA?{*hFY0gp>(xh z$hYZ=!kGj!)lCIXXT;2}lfmBMG=gt!x?!R9Ky2HZ>>knH`vbaD>OJR0opnV_$@sJl z#r_~MT)hiB5Z~~yOP!s9yWer~&SLQaCHh_9E1WK?S*i2lGkej7Za;DFLZsv24{_*{ zTT1NVAk4Z~HL*TP8FqFN)yk7Z+nl#RWPO1_@7@@AfAEl11NoIT^0ZpF?h7(}`-Bz- zNMlMqzgxT&M~JH$Z2%#~1a_)sXs-A})fmHGJlQ?vYp3AYJvAwrcyE}zZ4v->x5zg6 zV>#<>d}ustqEuWpTUBkuWbvn{N^B?4F!{N_hyG4>Bb#OF?b=`D#wItS7OOT2i?{6! zHU9{H$d{*dFV~OMt`tytIRiCh`a|;}76_#?dZ={6uUq@FQyz@(Lk z(6(p6-xdt%+eFKyBEhYA7x#>lF%hk0B$002$y4dS&fUJN?2X+q)zp;>vK-!z;levr zHPuHQqb*fLRW#M^<)hVAqg9?&+fAcIAj+mJcu88LP3a6RUR>oyoE_`m1|pLIKp0Jw zV<$H*CN67J8wWmMtBHNW8tt~T!vjAfLubLgl~PlD$%p@(+dTOXr|3-{^hBE1x{2$TYSNCM{iB_|EYM^soia|wF?>%>R!-)Sw zb?IxsD9g&sWUh2Get%<7QG8eIzd0&{6jQ7IgAPYCKy&XxaOv6ajs1~O-#NdQA?WDr zO;xM6-x$KK&sG5u3%gH3e#EdMvw#POf{+J<~N|iL$Zs zP1g}er8(wnGSCTfYu@YEyk-8u)zB(|@M%!g9shd8q;uGIaE(vPKQvT`nr^WGK=O?* znK$|UuN4V|1mcC0c5de4Q}(bcA#mS?@Bj%sT!Cb8lDwzK*{utd%e@Dh%vx-bpmMA{ zJ2^9RSAwiADm93K`|{u1mmT2uK_e{fL?EY&dkw^a{azCARt*#mva2`ljdiFb_MxZi zhv+$Q-%F@_MMHC~YU?G>wt!<%3tNhL*MX;s&iPxhm~XD&9D4rBcL zo=>*%*Ur6|?2T-*qj6h})?aSw!aKd^FWUhS4>wJIm2LI`uTxRksB8eWK#{SK_rFNf zd}i^7mzg!1d5&;HI_-Y|q&=idq*jk6(uc_!8M~Tad=85|%s#xXfy!>l_6|`jgK=+2 z>bw2}%05Flgo?F*?O*;WewK5V@wF6z%`y8bn5`#u{qAr9oi+XnFpv6P&BNB@^yytu z8cp_jh*;SnXQL5>)%$Ur=)W?rzcM>dGvlYHJUWr0q)m*Uj`*5orRBa>$Q*t(lOua9 zlhS{ZidVvV+2U$g(kHk#mW!1RxtaltCGEz zIdQ!q++U>->^i*AOJxSXzK!q^yx6eCzdnA8;UKHM)^Y@dJw>ZjKXdmEi6BspILkNb^0V#t0B5U1_;%N-OV?HjMwczKaYSyXkB^gIfH}Zpbp1`V%NDa@$FN}F{HsHz9lIlFEFnP z`ft;$$#q9$9#Gi~=Ex}eRcZ}dvcRv1gNn&P|7Yeqc{{jM`3Knh1qAy!yHH8VLZoG7 MsrdNR4K%3!1M=qpRsaA1 diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index 1117b9aa..dcb38cc9 100644 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -1413,9 +1413,10 @@ u=$(nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-path | sed 's/.*GPT,\([^,]*\ ioreg -lw0 -p IODeviceTree | grep boot-log | sort | sed 's/.*<\(.*\)>.*/\1/' | xxd -r -p \end{lstlisting} - UEFI variable log may get truncated on some firmwares. - Using non-volatile flag will write the log to NVRAM flash after every - printed line. To obtain UEFI variable log use the following command + UEFI variable log does not include some messages and has no performance data. For safety + reasons log size is limited to 32 kilobytes. Some firmwares may truncate it much earlier + or drop completely if they have no memory. Using non-volatile flag will write the log to + NVRAM flash after every printed line. To obtain UEFI variable log use the following command in macOS: \begin{lstlisting}[label=nvramlog, style=ocbash] nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log | @@ -1429,7 +1430,11 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log | nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version \end{lstlisting} - \emph{Note}: File logging is currently not implemented. + File logging will create a file named \texttt{opencore.log} at EFI volume root with + log contents. Please be warned that some file system drivers present in firmwares are + not reliable, and may corrupt data when writing files through UEFI. Log is attempted + to be written in the safest manner, and thus is very slow. Ensure that + \texttt{DisableWatchDog} is set to \texttt{true} when you use a slow drive. \end{enumerate} diff --git a/Include/OpenCore.h b/Include/OpenCore.h index 8cb1883e..c58764f5 100644 --- a/Include/OpenCore.h +++ b/Include/OpenCore.h @@ -60,6 +60,8 @@ #define OPEN_CORE_CONFIG_PATH L"config.plist" +#define OPEN_CORE_LOG_PATH L"opencore.log" + #define OPEN_CORE_ACPI_PATH L"ACPI\\Custom\\" #define OPEN_CORE_UEFI_DRIVER_PATH L"Drivers\\" diff --git a/Platform/OpenCore/OpenCoreMisc.c b/Platform/OpenCore/OpenCoreMisc.c index aacfc76c..5b2e1082 100644 --- a/Platform/OpenCore/OpenCoreMisc.c +++ b/Platform/OpenCore/OpenCoreMisc.c @@ -123,7 +123,9 @@ OcMiscEarlyInit ( Config->Misc.Debug.Target, Config->Misc.Debug.DisplayDelay, (UINTN) Config->Misc.Debug.DisplayLevel, - (UINTN) Config->Misc.Security.HaltLevel + (UINTN) Config->Misc.Security.HaltLevel, + OPEN_CORE_LOG_PATH, + Storage->FileSystem ); DEBUG (( diff --git a/Platform/OpenCore/OpenCoreNvram.c b/Platform/OpenCore/OpenCoreNvram.c index 0b3aee54..0aa66e4e 100644 --- a/Platform/OpenCore/OpenCoreNvram.c +++ b/Platform/OpenCore/OpenCoreNvram.c @@ -93,7 +93,7 @@ OcReportVersion ( OC_VERSION_VARIABLE_NAME, &gOcVendorVariableGuid, OPEN_CORE_NVRAM_ATTR, - sizeof (mOpenCoreVersion), + AsciiStrLen (mOpenCoreVersion), &mOpenCoreVersion[0] ); }