From d24908034789726572d1524f7648c57308e13374 Mon Sep 17 00:00:00 2001
From: Xiaodi Wu
NumericAnnex now requires Xcode 9 beta 5 or a recent development snapshot of Swift 4.0 that includes the revised numeric protocols.
-It requires either Darwin.C
(macOS) or Glibc
(Linux) for transcendental
-functions provided by the C standard library and either Security
(macOS) or
-Glibc
(Linux) for cryptographically secure random bytes.
On Apple platforms, it requires the Security framework for cryptographically +secure random bytes.
After NumericAnnex has been cloned or downloaded locally, build the library with
-the command swift build
(macOS) or swift build -Xcc -D_GNU_SOURCE
(Linux).
-Tests can be run with the command swift test
(macOS) or
+
After NumericAnnex has been cloned or downloaded locally, build the library
+using the command swift build
(macOS) or swift build -Xcc -D_GNU_SOURCE
+(Linux). Run tests with the command swift test
(macOS) or
swift test -Xcc -D_GNU_SOURCE
(Linux). An Xcode project can be generated with
the command swift package generate-xcodeproj
.
Complex128.cbrt(-8) != -2
).
PRNG
BigInt
PRNG
&z|}a z^R;bv1i(YCPa>AyJvB~6uD>1$NPNi;Tk-a|k^?ilMBEq9OWow_21D% z!v3{P!d$-dNZ)}T9kmrLuFTXUM{K0~az_h*n_#>?r9SpTOyPqN6oOWfL2P}DpF{$b zPv%sOn8?s24i>kCcsjQ$RqLbmBh$J%ggns%CT9RB{EbZFnQ4w LYNy|U`iAHd7nVS^<#nL^rUE!a5RS^ze=9B{{+op>ILaTFcWfm< z1h=sWQsWON7udBExYITwP&xjkGVwn2X1+(c>Woh3!@P;Q2z@iOljZugrJl{Oo!?dD z%uO)puw5psfBg{DO#{8~qdmyB?2`)E0DB<~AQ_N7%%bl29vtAjMMywL{{*Cx>Rf*; zy*1Rm_TN>E{mvs(_Ah5?PhIenxvkkz^u3#kB){mTyB;XKoUVaDx{o{O*A{O>g{tp5 ze!U*HwZ3b$O|Oj`-TL+R;D{Q7<7L01z!ghlYyWGcg$FAcMr+ zNjX0vt;1wEc$lmzhKPelb-mHnIhjZf9q8H)j`{ILXPx5u;#cirb|yKEd5P_dA4TpH z7|HqOus;o#DVB G3gjy~S`?d?|{_{ -!;j1V$>{Iq+g6R1 zG_^Gi83JfWw+4=QpUd^#T^ad=x%o0BA#>5Qv)8q%F?m-xdRh8XpnMq0;s%3?S7KlL zfX=CaVv^OZ$h|tD_Y*XrDY*arDS`HD$=mf--1za6*}*LJ2M}5E?ylyp2tRjTMg=LP zOts @B50sJGb~e2SJ)_KjIzRupC Z*-vV@v>kohZ{5Dl*8exGcj6B+P z`0LXTw!d_$-{%N|4MfPK$aWJAm}B45O`ZEG5|=U%F~)qMOy#ywJ~5$`-Oet}fF~ zQq1_6$^MnJG7#ph0IR=ybg^2jGUX+Oue-L8>5A*)I+*Z67pt6v#RqllUgMPEZ4EeV zK+Fi$9feecj0s6U9&=3f{zHV!>gfLb7^aN7<}}G2Z11;Cfm8)*r8%2$k(y%)9IXx& zF}n~NDp~kzeZj6?+04JXjNwHT4RE`@-)C12XC;3=3kF0d1I&0!?%qUV${ePa=D8O0 zNU%fhuJ#vuN0cuZ6nuPbqBTD;h!X Z6rFy^ os%71ssuKLg#*xs{yx!g*vNaNA?TVmH8Q8%}{OYUpBIB zR=&Kuf7ij%!wV$LmD=tN9ZBxBt73YkWA^r16Uj4e1~fwsNCSu`dZm*7DVu z xur$F*hmm`P<}YG <6)@x4$ zf3|tRHQH7yl|Atq&ttn3n3q-foycugF+F^DfIOdxUyb0nC|{JMc%O0`T^qcYD}EbS z{hTDq@k&z7WExaCuS$bj_Oj1wE0Ja(6+nvD-0Bg%{D$ME_{{++WBK5w42=Z@n?=CW z4Fo$<6oxGfp#yA)m^_iH93e07|85q!G-_75vfurw(x~-r?qcS#Hi42oDKpQej&V3g z=-kRmRmbWzR2Z{r5lPlcOhe>f(IO_?uAgwP{%B{#;@s-T$GWKb8_*A+qGh3*b_}4J zBHWu(=wX|M-|?TYtsCDz?j79`6k`-H0FgE{%JrwG`Y{qMM~vxK1kl+WOBtX5!ftWY zGXz>n=(rjviC 5jF?DX)XRNtOjQdK-Km|7brlC3cQ1eiqW z=Od=@jvFaY?2__K-0FP{v!Z`>b7IvN!Ne*jMX^&+_DJ}ktK*!RfbekxnQx_n51Mb? zseUx`(Me=Q_!7xNaS8`FZ;2d^h*HSvk-(iRgbbZ3 %En>i=1cuPHMDzY&?QqcQ>~!6cMQ`Ox(p{zH5r990}`dz zU}M 44{~F^cpDT4{kHQhC3ilEYdj%i<0tBzKsi&l#w`^zK^>EvwX0~Dtn=Xy{w ;4w@{GOuxrNE|NWVe#(pzlJaSAJA==&h*p@KB!u#^=Rt`nLbb1K&w?~rumi|*;! ziGY(f8#XsX-K)87Tmb<*7QnDGT~64 Y!3HO z{PJ@PW&H0(xvQt5F^`XCIWZ M7h`kmsc5K5Y0el%&CWRX(1h-p)uqsfUJH- zI!ldUj`4-u*e)S;F)=fvQ`-lH?h6(!#z{|zykgRdF_W<_#z&b5E&!JdY)5lb)JmQC zwY;SzZC~x+JL-nvVNLk>U*`Aa97&!2#|b=`j-|6V^728}d!{?7axw1iopnQ%r9UB2 zi+ZW<3DXs~9YtPanE~vBcw@@*zoPfBCtN&+oS$D+bAKRjvfET8?zg%#4ocb}%O-D! zH?~C_;QD@gWvl)Cvj~v1x^za%KRCjRnF(O?WzH^!&mf{4DXyp){B3quX7~Ne?4URy z9p|xIMo`kgos6sd$dR#|>}>IzOmf+2AFNc2>p)2vMX=Tm9eMnw+`w-$GZ~<$ywMho zW#}3`IM{?J8?Y{}P*pgLQ$N1S u#Y={uV5Kp;3))!KkZ-!nre_QxFWMLWSBYwVll(Jot!v$*O`jU`SC(%S&PtgCZX zNg;XV>_0ZfOR9(LS+Qsb0^B*fz_yeHPcwMaUp3{4_{YFUNao?KHA^Zl?Gv YptJPXoY@RL?*PqR=<>2m6wgdWGeZv%{`OoGcsJ$KSJwE0 zS@<+) H(howkdD96AxCFLdw;tblxR)Q_AOA-N zs$Y8^-@Vv=c0G1qg10`l{o4;0`rk%DK8N7y +q+GNsH}9(fn=9x~r09yvVimZ$hu3cD9l+ZK&yXdL5ms*c=J4W{)k*1_#F6@8 z+n{+($9OW ^!}1l>7}FZH3-ts*)pp#RHb-;*Tdt9EjU3DWO+XG^IGPafXWA6-~3pf z9=q=Ew;&G~MiQky4YKHBCHN_Cx%;!<(Bv+7()ddxF_sqVUeSH >3=a#W^QkFn*Wrk4&c)ys9 z*??811Rk%v5<+YJ&g7?Awb~;OG!L#X3f;8UhT9QWP#c7L#3w~XWH2HArdr%+f=+Mf z{adULw*6PPiqFr#ANJ~UA!R=Zf7=kFpNJ?c#%mk`gk)s-cef(vLyb(*BWYn0>%1_@-WzfauIBc$Eiwg2@Teb!T{6FZ!%g@W!YTi2LQg zw*NWS{BOmF_5i><_>ZF`jjY@8t@6HXJAw71I!a #5}^)#%{-wyoaF+Z1*0Hfx`x2nsOb9XTVGE%B+ zJPRLTX}{0~G7Mc`$0?`}fB-5bq-ZShzeLtZ?AKg0oxL!bC?+UK;#ho~QY03vX3 yY5cani(e_p%}LH6vtyAy!0XL_&_D z4? c=z_7shpyFT0 zrkGNtcVUx!bZJ4O4$~5BZV@@9I(m(E99u)s=YfLgPht$*EWeli3A?OL(P&prCS9r- z4uIq&m}O;K853(v6KdI=Cl6i58oKz=uN5wsg@eRe$pI0WZswLu<0ThPxIV}(X4Dx)r9lvLSSd4X&n;aYoU$zjma zY&auTZ<}O!bTU1*$>PxO7#P~rV~^m`+O-a6G7Me0FL>0Xx7rPK7WMm4NEnn2<^cZE zm~|@=0lD &oR8p9~nIF2v7^~|pYOy}~7+Ro|xGJ0+jD75>@`)gAO_rOb!qZ~eXz6To zy?wZO3pvqrKOszKNsBPObH!8?9RNI~{?40)W096g5tIcE5K>i| lB)K`7`oolJ_K#)j&FkYyWW~va12|Yif(mBKookU4O zlAzmIB>qhiF~5m4#YVlzvAsAVghSKOMYF!zBiCdTZ{fDB40q`p*uj>&plZ^&DQ7vw z(&%q}low_p*WwQsH%^q%+UT;{fdOrQUwdC)b~XpDFX&H+;5&hs4{QLRqf;rH89}2y zgC $s|_<*hRI=rmC zg?JU?*;DdIyT^E@F*6;?p$zTfldjLW?A};HSK$nKbM0>|e?DOo=SvrVj%v5H2Nq@1 zIz=6()+Bvjg*!6~jx0b;BXC|*3ta@h(WVB=TN$8RhG^cz=4@4W<~k(CPZ{bjBk=;) zG(r=J5_I%P0#=~jU5|#&4N{DZj05%$XT7&sKbjgr3(v8+Roqh8)Qk*>;*7t~UtR(( z@RyjhUfl(S9M6!+XJT1GrT-t3{VS-5Pn7m~kUaVmdOO=n4opB4ors!PL_h_*+^Uu; z90hFZOoK|OVpOx1oVieql1c*F>Y90OngaZ?P7snnF`T-CxB)GRyqwQ+wXcUNR|NW) zf6Ib2r)RN6lbyN&0428|7JDN(Ss*{ki(Dd@e$hw~0w3!Uni9kuxfnkRo+kmK23Nkr z7=N^qL5H;%5DY+ww8A%QC$2|tqVm=cuE-L}0Xo5BmXKqc!k8@}5N_g#vUiL8&1Y!J zvpgR}k1KU4s#+3FfXT{aA3qu%o)!)fF?ZrwOf^I@SPEm;CoF@TG%X>fU~>K!E=x0- z#DqDDRgxt$A(63uxKygF!<{W|{zDW9+TejGjDI Sx4+y@M*m YF+SFu_<|}Ae7VA)O6b0# O9aj=t%zrS< zILe=1C1vvUg_96eL-5O%jyVCZ4(B_fVK|xay9IZ(H|BfcB!lo{ndoJ*y6oc*qu|}- z4Iq{9^;q)vYl7kLqqK&BpUwZpKHHE#Q55ncY2U}6y3o1LKa7-E|C zRbVBAQCX_qJD(?6eWG@ zb;DAz)HBxtb5Fw1hv4Cxim^UT(hdKGuD @N0%tzw+7uQ)&G@As2`)D%f>dS&yBgCYrjia;Sj^Hv*HP_(rh zF%0tzVD{2ilm>JkBrI2_Xt?th1wi1XguJ<=a{(n*4^~F7bMyE~;4WW5#FbAUIr;0O z^C!4pZ3Ov%)zK`+)M`&U*x#6kC TQWDfoF@024_eEk7qkBjP#O?BoTqco=8n;;sf{7f)GD zp;GJ!W(9x~jOcx~Bv1%4nOQZnEz+AF!F(N75;{}ZZjs}lPks6F^I6o}GfmVUk0(Gx zEr)IJ7(lCB(4t2)wl$Vh%VRx2j85sSd*vkN?khG;rdU;^pc4k+7n5`Xe@IaDZ{-a& z@ovHDLIRB`ypXR;KaPfvG`WDyDLXv(aL=IFy+;byd!DN&%RX@QLaa0W)PKy(-D%(! zIuBp062yxZcztdIE=ivdxB%W_5JI*u9ji1+6fjJQ8tAr;_Ot*tGwsrj9?Xz}lY)`U zRUUxtuN#I3?oYr0{SeJ#LV-LogpAh-Zwp4j_R=_d#yw4lT*%eXRkc6~uY*TT;{lbZ zf&amE$>y3Y;FtM>qajHIec=Z(xin7?)Zsmq$6$$Gp))E&O@Q|n_LTF*L`Y80p)_g! z0wgr@6&RAdWb6LL4AI&mPO0$E$)eR2kr HS>Y-MB6oZ9y|PDlBwR`53Gp}INW&|i_kt1^8D zLUecX{5*X2n-Y1rW8LQb<5tJQGPy=a0vO8JYK}b ;=N*xTk=XAN3UjGTg}E=vG)t+um(8S zRKnUd7hcHodR{)_fw^jj*{rB+sqrb$FMKBX0u0YOBKHSUa$%YHR$SfB#h)Z*0qhA} ze-O$_BIi3EE=e5bVlAc|QItPl9$)3%SajumXjzI-kU QJ8W&Cunwm>CGbkj6NTq9vbn#i#jFN`uB;xXfveVZVkJfx$yzK==~RCfEdbA zip1qZL3Z|^;6L5pVPCS>i6nqM{HyXWrQp+K+$T%-@!0Rz2E*T1X@r1xbGv%N_y1d1 zHFysAiA=;k*BAw#s)*fw5}+aeHw);V;Yn5(SzhdSM5NzX+&fD|+(N4}D6Eyan1*>7 zdn1@2%j9sL2q&L{9?c&XW$m6Z0rXKE%M&J@zZ%NA_tDH6YOM6-5c{~^VooNCNv`jF zj1^&k4-CmSC5bANvZZG*H5(-pRk=!HECTi=v2ysKiel+np=h>HsVP;S_=a%rK^TD_ z;?y91?2?jb#&9HVFTxBxzj`r7@`aC~>J42YIZJK%>tENOxvTC`e~o@6f&&Yx;6;52 z87F5P* ;?V~lwn^7=cwrMjdu2;k(@^S<1UABCA^6D%<^y>^H|>_O zj_vXCLKT;tan4kQraa|*l?KA$V`qh3Q`SmRlW7C=J3f1hEWUc{qH?RZ%__~{l66;y zXm`>b(MpO0A3;21Drh0|(!?-(4W;t h_K6Gt zD!Wse+PKf$sDd*cH$jy(tBFfV8QLs6!f^&+WQl}_XO~}Lx))JNZHY+N{_mi|iIt zS_5$N3~CS?v=Tk6jtB3YZCnXK?V!}6sf2KT3uVQDzj@N6^ngStV$k1Wej0Tl4O+o2 zTNWu6q+S&t$dyY2qpK6GFE*kh6e9w7*OS>3SN78)1uyeE730GA@rvlB8a<0@=|K+I zF
??75|-`w0}o&%Q< zqmF?EG3a5>i>{lBiybv=PsR&-cWzk-D%{S=5%9sd1*!o8durqnS4d@qCw>KxCr;dv zWYLSl*#=OKQn9R+=YW?}1cp~AG$R6srvNW-XWx+(BG?~X%EgL`gb5ifPsJFsPqF14 zz|feP)0il>g#XEMtHG$(7lQ}7=tovCtPq1<) 6c0oRMKPFk~C>Fz*$u~Z}$8D#A zua)qB0eS@&OgASDC1&l%D^Ubg+0uueaibs3AvS zABEWKXvbX5yOq z8fvZf)|&-zZb;JyRvFRjj%aS*k>Lys=Ua(ShME!Jt_rF2pV(L;0}wK;hAl}45vQj@ z$3Wg^PCW&+ARa8xFiU~aBUh2_M@f#~$GD8>B6dJ@{Z-7H67c(rL#qIwIr@krM84H2 zRS!=#^!$Y@zsnSnm7H5Zk}!Jv7}aec)jh_hIyBr;k?CJE+~JL2!8gqKeu?|FHnX(b z8+Ne&ZK`|Vp&PTa_G#c%j`pUkEnHEnyHX!Fp2RkLl_=7QFa0dQaKekqq}}ZACUS>E zV^l<@2o*rT2gzb6butGqhMu|NRFO~%)Qhq{`=eK~vS;MdtneE2hYl@h VhaF@|38Em_T>5B2Oh1}ZRwn}Hn_F<_`kCt)DflI9H7fXf4f9qGKZ2MUagtYOtK z;6}umz1nMtb@I_34HL7MCEA=-cp0YYPWmfNcY#rq=@jQ@7M;Tbqyp(cQS8P|z&HX^ z?G((KbS;8K@n!W+QH)b2Y+~ddk(&n>d8i|n^3|@znV^+CSqwS;Sm$p3vtTjBDl|dE zCiYW-wGd~{ Oj_m+Md>nxHKe?S4~Q2)Z0x&%KMEN10AgpmKm5-T zY5l@PbK+cr)?hwlGlC{D{H4OX#04?gTT-Z8g-H}wJUE5@MmbTwOU)NGb7Aq~AcUgc ziCTa{Q xleRpuSklw_hf0;h)IHF^W4FX(hT zmY?ppiRK6(j|+Kw*#_;tosMq0MlxMSg6YFMD8zB*Sh`U$qL@^)8N|T?l#EmhOa_93 zkA@rKG1ea&9Awt G4{@$;O9dbCaRn4N zhcjY=d)>g`j9e?!4A6BrvXH`~)CeC~BX;39^mg4TIu|mr)a_noNa-Pm+B3b_i&`aB zc*-DPK87Ba$xJ-qXhPK;)D)Kle#4(z*<6KMzYN!acl4P?P<;1o$L7*!gvZL^?rG(t zcY(@ptH{<|lc!{2#-U(Z-0D(-&AnMsC7vpJ^!Md9C5W4RjpTH7-p4F|%KJ(Fu;R=C zr6u=S+TRbtWruh9z4E+oQf_u`Zgu@{FBdn!*6eq~Pj58+U65t@8zCNoTWIQiVixq^ z6qvdD_!Ri|-v7l*=!1{wXOi>Z{ci#!LBu~lpXofv;gRsS|E|Fo{2a?Ry7}+9aQ)qr zpe9(e6fOZ$JiKvvh{M$eF3WP(<`nUvv_p!}CK@K<*u<2=g04)Dhd_Y-Lr+2${U^E= z$TU#%eq3~#9Tx5B9;rvFW;e)NeQum~7c0D`T0n@OrhCw~G^EKlp25Gc5rZL;oH}oQ zqPn6_IA0$`(l0PEAcRI#v`AlwdRVxAu8&%*0O<11AtYZ%jNPn~Cl|eM$vRKYe&y9~ zQ#TTB9v+S3Z)WaXtb4$xpvQkEA%r$3L@c}AH$V|12f17UR8ALf0r{4A?SWK|+>a2q zBylDq6~i__dYvix9B;Ygh#{8HI29N?X=?dxQ+>q{BL-dRM1eZj<|h3Ovau8r*)@0U z%qG?`T@lc+sXp0Q&ey1AsA6hSp9(fid|S1Y@|>1{ocU`POaPuQWHJTMzVeN*btx_Z zFlVww>agf>#KKg&z{Lzzd7REwT;bRpN*WqypoV7&7SdIxDa_!G$Zj&s14d`rS^QN- z7)+rtX11DK{Z&YwjH(%)mL|IWMP_>io8QvX!} msx}W7ftVvPT=;H$SOUARD3r#WuqeV(d zR9Uhl^07#x=m5g=3B^(mFjZNQZMTs*XRLLU4PNk-&Opoiy&0PYn*OEUH5d`5hp7}9 z24`eF5Sm?`d0ethuIr>_l@fZgNv;`cgti%L&Ly)0fJ0~Wp4@-b^vz&MtV_haVSt8F zle+J@4<2xzS~4cQ15(k^uVVOTorSKVOnyPHRJ=aiPl@f#S4=0z+G@==r{yH(4fcse zdF36?Elnd$`DG`xmxd8M@iIe~nR7@h@rqE&O2M{v_{He@fbDAksEWL-T#54igYL}t zmCqwU*2%DV_M4YEyl3Uz2>+H@AnJ1U0*uvTmCqh37jzQ{MwzLH{52P)Ns|jkO(%@q zr{Z;joXY{f#vc0G&3q8Q^5i6J6Sd~}{aL3Z#mF=X%G=`VBUB~8wHKnU=?BRwQZMth z8j<0RT8dqbj2FapjbV8qF7L~}^LM30jWh&sqr9-erQ~%BD@(Uj7nFaP#T4E`VLicr zh5{qFVzlYSBy#Z>Lwi;vOX=f<4dtB@kWtjH- qR^$8YI5Apd?ERXBXAK~@ZAPn2N?`_#c+pQ5|vw0_MDTQ93*9rgmy zD@ti>45aO|+SP|+G*RL*=EjkGEb5}jUf!dNX{4L2`DxB&7Y_LU%tZ}TX$CHtOH3h| zEGu4HT-y5b=6C}E2Y;bw05L?+)5oesU40+?JIZmfe&rau~;1x6Tq6|KZwl?UM9Ba`){ zvBA`F_@tTbmGx>Lqx7(jnm>NdM~a^C;xC3Q5a*^4JDz&uR{gpja#XpOspfBR_(K!L z<)`>7`Rqxd;`?I?6Ju5R+cl0{_#yWPtYiwD&|IxAQypo6F?x)$tv@6Q6EM}8hg{vG zQ0<0@_jQAJk@+zrGXe)rp8!}slcpRA4WlJ26)9D{UlY8ggV^^j;D#D*nPO?~Z7;aT z-clkunZ;KUSKn$gl(;ATgew5>{Mx2UfLokpC5XzdIeTB{C|l)B^<+zqrS};BXai1r z%YE%zu21zLd%XOK$+SH0;M8x~F|%A?k*G&@enD3G5EVv&^f`h$0QWCjf%yqJi>a$M z1eqrF=k^R(gQ)wtC4x6@X|W=<>S$L!&+MR3JdtZ_2pZo7c*;wyIThJ5>};Y>Hnv#b z_@XA=XruEk@z9;p_f!pY>t73#%@*u9vs3!?((s96mny&F`^uu44qz|ql(ucVnnc`_ zi~x+Pbqj;+NIcQC0BVI2cu+Lmz|eVYi@tFzcYW(@CT 3*&O7%QF=EofKEN$aj+el^FH%p1AKR5slrKqt`!*(K(JMjIQor0$U- z%nwr=pi`|PWAbPL*uoJGS+nt)@rjgQi)U?|$6wspb#2(*a$J0zDed%aHIuD+NxDAm zsqQbz0h`7(kP>zGd| k>MsWE-}rqSO4w@Jr){_nxp>+cybbv9($FNrr4n#2u9Cm&m|!k zze!-`%?V0(5By9uzSR-}K%r0TBM96-S7b_l`c3SXJ=Ecs`^ikp|8-QOV8ok>u}O1N zUnDX+b ^yLxk;x%~TU*V8W^&dLr!O62?P$?$ZX z$e5iAa0lX?X?iL2=C4&u?KE*Hw}88L=u-NM{DhmwYNqLQ{I3+`E`48}Mc|5hx5`Xd z1-eiXohABD;5zRl0`e*+*~z8f&RiF*j7Vj&1~K>0(V{jREmko~b !gpRSE`6b--Ls)o &HcpWO)pBgKut^gG1LLeB!a1?X z5&s!iS|6zhGrmznLqdmnIgu?$hsH>qnL@A%U-eux@A$Rj&!^sz{3%IYAIsCmgu_(h zv5O>0Jl}5Y(v%_Mqyg9_lr)vbuQK8|K!0lCu7VtYM$2Ea!v2y|H;q;rtsDHiZ;fN{ zr*#k7K+)!LYgLsHXm_L+NqG+bG&-@6V{X)nqZgm_weZH!OIDOeVy!Q@1r6=;#8@p* zs)>FbH(#)@Uqqow$U0#UNTJpku@7j}X=7yAFLEJqL@Ik%F=V8_^m7Uf8pkdg0T}G2 z(q#H}%0YbLFb6Qn};83TJ4lXxiE6_~|5*`xw+cDU!Yol>mH%o>@HlbW`(u0_CUj zNyv*tW)h~{d$DZZ2V;}4aHEaxZeji}C`WFKn43nOq|spF3ov^8q+TUsz6;SS3*>+> z(FNa(c#dcTIrAtbLJ$JHP`1}$K)tq7C_jk3Wkxg3Rg`fw5tdU{0@62+c<9}SmpNXT z(3 ~aq65*mEneLe4<|A&+WR<<(j`kBEFF$O4hQ9UPF+LKY?q=h75zx1Rk2pgPci@ zX_Iw5;i;Q%AfM$pm6TCr_!1$q8iBIN2IN!jSZ D}WuEG9-UBzn{gd3St}yra#b2mi mFU#~!3WwJJ z)Kpvttb;ZzSgfU!!} >(!fVDSQ#%eMfg4^T_sBX$pe=oI3paL}5Jw|9XL zQUGiU(r09MgVGv)Ms>aeytuwNEEtTsOtK}BXo@q1^&3`4=`o8Dxit}717hejpcO{H zb1&cxCnFaVWiD-Z3zM&21jUa=b4o^!IBNPq*C=xgoj26xi0rBkhuQsssMi{Yl>MdF zm=flp5iryFuRcPcuYM0RWu6b}!z7Juis#ra=OTNB$lkiZz4H7z!{DMBqi*wqf0U)S zM(S8qpUTtmrD+!R7rE}Vw|%}+jkH4)TCclJSe5soKShl)&$#{yPSr02q0Wp>_aXju zqe_3CU6V@Kw14{)huv2ln=z%GCf>BInH!Z?UjPeNe@@(58-1_NZM_D$;XOyLxT8?k z|Jr4fK Li-^KYAt(uM2DP%KubqqKuG1I$NiBtsF>$GRdA z8vDZd@O-2|Ie~`4H@0B@hzX=iWKNTiGS{wYfd}(LYx~(VYA q6J3!(O3E?7ubgY|u&j zU Xfe( 4uPuR>$SUWhqVrq?;|}WzC2^pDZ$@Vr_29 z+SAE1k~+sSm8w~ioQ_ADLWf5B%+i@d?`=G;;nX}DTm$@^u`D`Rz2I)YI?MIP)~n0; zZrnotXu_>AHg+#cWI}+Hy<|=$)G__wt~I4nmC``HuNATMqb_!Oh%(S;bOn$Eo=fXx zl*qk^5;cXrOLSlFY=a4r!P?7TitQsesgL8AG*#3^7>%KoOPfaESx?$LDg_wjTo6?8 z8DzjZ7w*}MioHAiHy^vt`gt*F`350lPXk=YDbp_{%k>pLdqYSZDtJH(+>5gJ5AtpI zmmxG#j|zx{P7zr2i%dUh3nk!1#=j1%eD+ Oij*8 zVPi_a?%V5 N~2qV-j1;PI2({(n8j7I%sIDGw`cFWl z_F@LLSi zkmYZTrf@g8q?GeF*f|mX5ClYh`#<%1MmYOX?NdUg7M$-LAM|t_;st|O%wgR_L!{?V zSb~b}foH~>PuQhXzbC`bs%IVUzP}+R{{79t@3u~UPk@_sK>&mHA4gsM;EcQPv#UyS zK?75<)u+~zbO1li8cId!c@?@wRezIT2;2*S16@kP(=SXWUink(3M!^`@Df8V3SE~= zH)YUyA4oV GEuNGqwVk7mOdyozE(G-Y@CH>FwFm)y zc8DvD%b_cV&480A50a5n7vG&Gc3tq9dvaaSUBd=Qvk{G$>OP}sOgoV+Iu?+wsr$su z7M*~jSC-|VC(Scp?Sd5HN6fPGgKP!#RX*(u8oYmPitzP)G>CsH)xwqxlS*w}^p55% z+jz+X_df|D0^Tlf{HsN=6aes LN#J6`CmG0`cbMVIEEbm zbi~yAJ$rH3+rM1+h$fY>l>z*jxNeDfXn~mP=!hOt_*An$n0jj;7vi6TrI^Y-p=r#s z^aaWLT&M;JqZ*y!`(7y@qO|jF#`P8L@ $AZ)G!~4 _NgYJzBrovuvrizZX3XI@ML4- ^Kh
Hw#=iyt4Rngm|cH9CN@BUWP3H<&C<^dQ>S zZ>Z8Qc-Fld^p9*R( ~2{EtUwhJ)!5;Dc`Uf~^9%C10{H4=)h;2q7;@wv zc5l8pmxQ7FXrK&wIBI!`@wq?eAKPP5 {YGJBD zuDU4hRK#x}hZH+mZ+lP2PU+`gl2c2GqS0)dRQEM zsH`Enp)J?LQE8-hNo^Q=@Kn&D WjJLUU9TN~_T+TY{#MtHp;#*5^!d8S9&00VgX zqt`(Q-O!hehAi@ IbQgufhZ#l+rvKV!*eu|w|-7LUZwiJ{nbNY*i z&-#iDwd(1_T8XjkHkx%ZYc#H}Tz{@9l*bu&EGB7j;Pg AJO>0;F7D4q_Bu$tlRV%%9?fs) z>$dhlf;)Zf->qNz4n0Ho=3n_I5NOZ&r;Gj(JMAueeA?2iy|{?^V{q)vC?S*`?3R3K z(sS0=*(6RuCck;uB4BEWl4{DK0T3OBiU@xhd-=;@Q$K{wWP$`DroHDZRX;$IsIO=b z^6wq)%2y0jjcD2<`tp1d9j?9FvfFUSoD+HK&^7E`I;R*29Wn>9*M`gfp+qQbH^0-_ zjFDSraKLk#@;cEdem<9+z2EJ-$8nK89_lWUW$q4}9h7bmlC6UL5>-UG2K+91K@l*2 zN_4D`{hDo-8IDqsz3daR)#`pi#dy7t%~ECGmnDByO7WH9_ABIi^*tUA3mP)LNKWI^ zb%DA=Y~Yhl!Mm>PRhcF>UW`fb1j}wsTRZA8_rY^kIe7%M+?Ly4Tb7uYLG7=KvgrLu z#0ZK6sW9a=VWEN~fv5+^1&ln%*9@O>%PK{kA}I5dXdmgY%q`nm52suyfTa8afzQ6d z? pWc zll+e9f#nzOdhSDgyYE|^bJt0V#&k@~DOqyt&VKV#0Pb_Ukz>4|*Ez hIjwMW7d zdGf76vB&Vni!d#Q+#us`D}_s_VRO!y5UwyRew22(irXci)WX)J`IidH5gy3tzbg2* zpm;wGZg|heid&4(1|XKkgY_8lf+~cbkCJ!JE`VBgbU02&YN67AkOMt7J65z>L`d%& z5&vYoWOp_#PV4mb)@Pkwm03q@orWr!$B-Mc$v_eGXK?F#3GE&qA0aEFi3piIa1X zF0E=oaY@!};n1OuT5#5CsxZw)aIq)>HtO0yUk$xx)>|(A4ZxbARZSTlsnEk>Yc;pZ zFZCatOQVs9St1i~;p;NnSRH;OLpt|sgJJA0Fg5mHn|na%t&?^n;@7fsVH--!BR=DX z&UjjG0K1A2Oeac>SXC9yagl h%4Lr{@8r(8YmcjaD@D|h?=J-oHZboU?ZPU@nDkOKFgAY1?8Uh>@P1Kldso1of zYW1erb`MFK9^MW!@;CU!kL*LuuLvzTP857Kh2|rR2B36F6d&{4fGo?rk+1Br3~qg| zC_`eN I*0|fY!Yt+SSQOiyY6+G@_Iu+RvI4%zlP?{DGPF z>!}$|8}Q&Bp8 &s)U^kzjp-G{(Y) aApMBD?zDc&8VX=pF%_O?YI1`(1*Erah@(S?f%IF=G5ewGj1@QmAN{T6 zcRQ3PTsTG=2bwmShK;wt@f(u$Z#MLTIk(It0c!y~gp=P^y4e4cP>%rvCThwg`o-)) z8&bX}+Iy3D+%{_#wLignR&W*}gswhYx7>hRFNiMGAK5C(6s$()oZu`Ztgm&K?eL z2|z(iA>5`EY)}roA*LF}pctBT%$9XQfA2NcGG%nt6GUv?AsSYXVInG+AM({Q0<$&L zEvpRTcb!ncbl^V)dNO>1xepRS>Lz^#0pZb|$|s4RY$uP)mEj<_G5# ze2t5RlX>*zSLw>X{z;Id@Cr*r>(uh~sc;xfoF=T7oi!My@ #x@N;LfqZX=)`pQduE_8n&bhofSLw!V#?q}Tb3bM7KGVv~%1%Z<1St91 z5Bj+wsj_d`%^V(t_)ENxhhXCs$$;a%Wv7-S$h)Re732pqU7==C53TqPeOX;x*$54v zpLuln7h<#t<^g(c_G;|!={#9a` zS+Pwn_t)O^D);X@I(;_@#J@TH01DrBJG)G^qaqt03XV9cvH+UQijXy&*?O;!_mXCL z)i!vYkHa*=Si=R=&dU$6t10`YBGgTznlJABS~*I=t{f&flQa20++UvOi41ds+HGl~ z&*BUVGfsJ~-j??H3|pr{-x>S8g&cW`S=&d-H=+A3J_}{jj;{G%={SZ00DYU#<9U>5 zRo}`h3dli4xM#!R2ERtn4A6N(Q2K0FeZg$1>78yrG?}8YRsKyfLMw!6h+kt>rD5yF zk$8<8qR=5GN@$!^pTD~XS(Q7nf!O+|OF%40oBgds_hr6rl*tjdd}WHHA{5TMc;ku+ zwZrA!VkEOs_$g~*#Ft}F0TXOlGZ@Owg$=mv)#Q)nr3UW5autaESZu5qpP1w>pJ!vr zzW83FMj?gyIY|i3P)tQvo8B#RL8oDO&e0>QIV6yZyZ>nY+eT}ov q`_QzTf zEsv;^h0rF%uk{DQW#ba~x~7!2btvi_Hu(nU`M$<_2`tjJ7^Eu;igwdPPh`vbe!E0{ z6hKwjBc#iSAVE&KKd#kY~K~Mj=5BZTMOnY=@Q1w0$nm4LH z#$`X~$qi?U2SwK$CO~vRWyh}OeyPlbMTW_(jECPMvt6~x7QxPR*vrz^SpyF0FWj6N zj^9bK!@!DhfnI^qrZ&v61WZd#g_2)^Qd}ciB_Z`v(N$4Orvk|D=q(GprY>ZYHRhoC z@aGAWB36kD=o}$3( @y27qz&ymIv1eu(v-QSnT{!BIiDm}Q(}Re)GIU9qp&Y1OL2zjWJH-o@*( zbJXLGe*hkPg|C_Z_!?jr>$#H_LV`u-D}j*VT4(WUt@@JiY%C&EM1CAzu7|TkqFH%3 zrc^H-3~M>jJ9}yr8@vedNbsxR{qY1xGq{@!0t7XkO8~m$c$G+M)4`bst?Vv^WV (5BF{ F;>++7;}5ihp{gN6nYrxVcRTv9Lwg3<{Z--a!hm3o)8aXg~AEPtJY-|plsQFddG2|+ z11{9gQ8({gQVrPaP9BKW)jCatG1u_SHY^d<)Bq9?4j2Qjc%aaoKmjAtd**in$ka>M z9axzJ$a+vk5yfpN5)I Jt(I`3w34 zZq}zC{#kLbrp+bqq%L|;u#rX$Vr*60+7-A?ol+^ckMJI!7gav}C{U$xw=G#h-@pUV zi1|}gll1z5S=l|_79!`PMy0JPm}lv|`2uiTP7#-xm4;WiTej45&q^gCsMD&hvgNK~ z(P+rOl8$0>$oOm~cO@eJs*Z4|!MDm4;=-m-aPA*;F`y%)Y&uTGfZlK*+Y=AbQ_UX` zV?XnJu{F92Q|JMSc#VZrt>709G`MlIg>$ZQxUne%!KWu8_+=PGN)32;43*vXYyjGG z(Cj23RuGtZ+0VfyWZNi v(I)DiLF6=QD!{Am zSSziwXYAdYjYR!hROe8h49EA<@7f&3v7>_Ejj!S26wei!?0)r67Qjz%T)V72l~ k=6o{tekn`>Sd0@l&Y^8qNVZo?IBb=GhIrU87zYOo1s4v{`;nT= zXJ(od0D%huC@C~C(Jt6u9J_2hr_i{(o5?06v7KmvI7_a@mO zopn6r7@gEz)D%)brh|&a%qoyVr1NSbsN@WM607LM7{mFyw>vC;kyF7cbKW*0xj&m< zlbG*LY-Wx?zw0wt;8HrIcX&YD9eHGBXpBQHxvXFX^9%iR3-N7_WQB{(pAqTQ+i{9A zzmwIaV65-&aROtQEMjj6vImp`(;`j!tSE13JtLIi{BE>QD#s8MA6_UBb5nnEkDC*f zUZb|6!=utd#>CxWOD;#_wXMK9evP|>TBYNfX(%Hc#)`Wp$#M2&mFYlq=xuuR!(QhK z);98I>afcEfa2Qx7AjHoU0OSBT6?%5`h9|(TSTSuqdSkB&trMx)&=-gi2{BG;?YHU zixYkyVO_Jklwf-U!o(0pYfQY`)M>1L7uvp`<0xSj^0KT%q}!}tK(+}bz*z}+#+%*` z_tI&BN>M^BP=i)tB*l$iTGjm*P=u+k${o>DgF#7HKv3ex@uLQVK>tC*O(VZNsB)dX zdPftTFmn~E^O+)}-2Iq25b+D@CFF|8sO9`Sm9(}q-69i2n%TvbQ66kMz?*XTc`qf> zmzrcBvLy_Z_vW!(_`T^SibVDF-v&*CR{M}r_ zAUs@_{Xjy6zWa+tqLjOml_%Q|bn%;##_G*+I)GcUA?uttwsK}9LTOuRl_PZNPe{`Q zG{7ldQcp=wxi* z_Mz{oa-Fjvwg5{39#L#c_=qVFDpI2W!Y4F&HKGxg_`rru5GrPRl!T|V!Stq=--E=K zTSZPo=pegGNgAxe1Sm7uw`=2dzhFGIf<@@HdDiN44V?NTlMFlss%&s7Ww(-FYx$2{ zQt n%cAI6Mio64k~6}*L=er? zWaZ+Bh5?>L=m94@8 +G=i z5^7waN_og0MmV6eYR+SzkKq6s=o#~0PR|~j1-x173VHl$o1Q>;InaG7@JZKsIKVEy z-W C5z!h&6}sy zg|ld$bo6s=_*R|FeKBye&Nr8Nhjd?PTu*bwm$E8EE;IwX;=TH~$5t<1QcR!0Bh(Xr z3TazgSuw9)Eme& cJMrOzf7GeK(8?1oZ_&FwwV|tzJjh_tQGuU z$3BMIz7H!kjnnGt^bG{A5cww@v9F%M{k%d31i*!1e0=VXaW*z-BS9mw%TEZuj`GSp z-q+%-#ZEZ}nGMWf3V5T5oqvj4>b3Fm0zl82X!gse>tO}JX6>iSRh&HB;v!94b%~9O zI(61Wh!t63ps-ceQ{Z-_lh?s%a84oNsbI7=UeCZte-|oA*p*rzo(IL?oDHkBe4gcl z9KLe(K*Bb$3iYE?g<>GHPzm3v2w#_{UXpIAK>a~&fmgn-=xo_qh3G7`Nt77K0DnH? ziC90x5(xB_keDP42rhO@5d65+&WRhb*-re2P2QNluNVq0#`4i9d4tzRwS69plih89 zn{(^l)Bfsa2LMaaZbKVt4=B9YcCLR03S&>|n*!2kybv~z7^~wY@zj3Be}6JV?EqC< zqUHdHgpg5wUoe25vKoXZ5&Aei0w6bHEhRKU1c*|a&fv~48t-%e%$!ej&*j0&5E)xM z3ZLK3o- 76^%#2UayMcD2R7X76?SfC3P<|xZmTwqL$2eZ$V(2Im{TlNYahR<4O4FFPmNo7SP zQerq7Y9l7BAA`(YinLt<9qvF()XNM!PY)(WOaudr?AL3N#D*nV znq-&61`-oOVLkZo+9Q#IZfu-&+lW$&&lnN#&9`xTg=o;qkIFS4X?e<^N!koM?hPQj zTr&6W*2L8F*;}vpvEkM30#FQI8#n;4L1EPU1`!q{fmN=W$Fu_iQEQsVIzYvPJ%G^= z!Kggz7@*MpI@2hX`}w4IZtu1QpwTY$e3;L)X?Al3gfugJ7j>z1 Lk_0~Fs& zvp%NLJfGI7(Tntb&WdTm&arZ|2GyLtg3HE`!luYL_qQ@!p0c@G2}}Eeo~J)uxsM<& zrvvPxU2Y^C=|@m|)IAIS;i_2Ph&ZAXoVhEvz%o9x(V}=j40DVY&2mG998W1apeH5m zCTnR8Op)neJu$sf0aD!2alo&}zR~Lmsm}vb{j=i8>wD0qb{UAiaRWd84x&)e1&ELh z=hp3@INdjbwWgUu+hL~mbCP4g$mZ9B4L UnI `Pj&!y*u>~s@rS8`24xo4DDX}?>5m5mO^Uw~ zk%39nLGx5$8Oi2TMQ9>-0Z`H}Sm~ou0>ez-+!$LH>hk=FSNqs}vf3GFppldq=amH5 zaZNQ6CTcWZMc|aWK%@M?(bbj+jR=ac0fvRCKg xGb+(MG7j;!@*Lg+iLA%&RDF zJE#iJu-b$fSTQ}H)U~2$i@WIC7!sthJP(Kb_`r@kae-_$ZQ*M1#BAlI^iTkTd|jIr za4YU?YZkA1fMvdaT|`J&5{kY}TnS*$O2VMLcK GibC4%zw@6V#Q*LzP3;P1$a zdZz{TqNnOsT3MT9j`-3Cn^69wHEN3DVTjmI S Gc2}jMV{3cM@39yfP%=83lw*F>S3F9MZ3rbD11g54hgen` zWSTRZ{MO72PxanI@q@sw|NZ*CBcPx!9esy*FClyYViEye9fYss_jM0MYb98ed)dzU z7^-jarKRONq8daKq>Bi!9Rr0AXh>A c9#eeu9LE$!UB0- zycpEIQyD_l@`?H+`4nTxm`bz&P10iQylPfcQFge<2VMrUScsm6Aab9?y&<1iJu_zX zE%9~;aiJ=Z5v^pwR317JO59U#y21Ay^1i}UXVGTJhs755W416hrfr9akm$-SbLp*X zZ11l7_YWZ;>CQvHQTJf5{vacrYMVLPjY7X0*C?yI1;|Q}87K7_#94|O)dXnwxlq~j zM(_-U!txVT28}JT9EQb+cYk76Sb ^Dpq!iO5eZUJmXOK1w!bM5+|X%O{nlll$IW z@DAxZR0Q>gvDWfWGv3w>R_u+%E8yp;Px;=qmiGuCZOA)PjqV3M8FBJkdK`z%H(sYJ zl=Lb=Ey+K&Atm{PwK@I_7Kaw(&|=g+HGYa_Nu5ss#k;4Px8IYi0iGri1JD}G`-9MD znIQ2+`|3(o{Ru d1)$_134_dB0+QZCS@6# zEgT9#-W@R(*;>1-{@-FZzeCxUBepp0v$GNS2>_obLl1lYKWh(lWfmUuU_RJP({47P zv`f@D2To(nb{0F@f#?A1l9~N=5gCIv^ZXF)i+D!{JckU*uxE|Ux?E7I)fxk Zm@ z>P8mFg!e|4_BlCsa!#YkW#ieZtRXmgd4S){6>!>zML_rL3gEX2CCzyOiy_p^(VwHe zlT{x6o=$=C4&ag7M{B`cXab8s@DYnb_4(+#QP6WH5%?O>11W(04Az_(vTG(!8Ps-u zdLDvYp)d_pn-|;rwedAkywL4?lE_z-1LEaxG5}JBM81Nt3jFg1YG1!8%vU7md21G2 z_c@!NX<*cQS4UaLX>P})Td((iknCkQU6tnJ@>8 >TczR5~TxYRrmL~Hjlv?w#4Jz4&Jt;DyMin@q5)x&9j6b)!`Nim2} z5I#12i`trFN$ic}T5KS@y=0oXUT15L!a1! 9F8T^v%S{+_ z)`wOITmyjeyDfFzvWT(_mrXC`4aGjp)%id0iKJ~LfSjIG-n+b;T9| S z^cO|eto0^bXQLjJ8M0SepMQ6#vmm_>hjBY2 $gJRf>8)8PQi`aUQtjgvY%BSv*7j<9 zDnXr99cumx@YZ#w8h+(24Cn9q`nc9zJ^6sECt?`4TkxDbl!Y;CO#oXTglBaqUH<7B zSlmiI{IXUIqX941lg`Y^cW2KPhuMJME$mY1N3VU;_Az2T$%2~}0VWp%n~=ix4lVP8 zUz?vL&f?gJdSwJtvu9-z1w34Zv*2ggKM{btd{9RH=>xCP`A^j*Z0GW^x>d-Lasx8t zTqpi> HDMDZaIGdFT}gtQ3(@Y- zw=!( HE8kY%fI7DG896pXt{GWF3mmfl0#R zT1raI4w5j##}-=(Ky7#1ZQwI5!!9a?k;4&YR~00QM@Lvm)L;w}b^d~}XO?H^!Oa}r zaNV9N=(#(z)y(1?(KHy;G`N>dhh$z3im0{Slwk09DdJH3@stF`ue`is1^mQau)1!0 z*r`yYiqfb>znP7{?s8CXzxcYNR5O_El^g#4p0$lrIfTcHqB (Y1}dl(Y7sN zP-H153ZUW+J@W2dM7X>Eg;~^EGF3AF8m~G*ggF(#8LZ7CXApg<6LX2RWx1@;@GAuh zY--Eg+M2&@qr_wb3f-*42hhfr!cekd7^)-#$z36Lbg6cujYfsNKkYU*?`?!t;)%0e zJMYmqbbz}cuO+(b{K{Ru_n;rvkIN7}A7q*s+qR=Zrzae6svL3aOvGD?k$V$gUQF{* zTSNIvi#k~AxJeDVscTo=sYX D> Ak6`xJt)~D(Z+a?LwCCqD$qM>F~oYEqwC<*L9tXfr&&S2ZBQk$oo zF=a5)z~^}CZT85R<%_9t48$9=p4m4A+U6**8{<#*G87Z5RX}Rl6{& #fp$3b<_P621X>a@7 zpvcJ1Jj)%z7T}rZc~%6r{^i$F4tz<*I&Do_6OpF)Ajg@|qaV(`@Jcfg{!4%j5A9z& zx(RSnI~h6s_Sl eG)}`B1N!QBcqx zsw_IR`m`{Irhp!*+?fg=zf;Rxh^=7y4QaGi62EfC_JBV)pZsciXZ8wn^fPQ%&9~_p z-ATHE8Gw(?vA+S-^)9cmBUt;&+t-{H!O^!x-RStd>ZAeqTUkB`zA+1wZlIGOQH@4Q z dVYzJ)|0WRiqPGWudvlg2wTjpUa%0tq=h?wdXE+}Uq3exl3fsc& zrTNi0LcpQ~Vpc4&)rN;;*>hLgm#6CVl ` zLSmAWoH&FWBkoz#B0T!aK)}bdtciA6re%0+d-}V(8S5C4RW$xST=a8vY(_?irk!j@ zo;8xgY{C(&sSY{Ml3=XCP2g7*m{p*co*;MYIl#cWtV*9oq)xiAGs(Muq_>)zp8>wh zQ%zHLHFRNTlw0a$(jsj_yfQ;=eNgOD?of}xc1}#T__9)ETLdt+2;6Vx=~x9<20`?w zJNb}Ap7Z&m@%mEk8`d@SFtLInV!6Xr3J{+lX2*>runZRkD5xxC;p7b__nUpV9>Y%# z>F4~km)V@wO0EHTJA9w`c9lKy?SLHbW!*<3d+_u*@Y5ipt!!sU%TyP!K!YVkfs2o2 z6+Q{7Wc*2|T$;u5qA)hIBsiX_U+_GLYV4$WP^ogPzAR |v5EXo9IzIlg2A%p}LnJyI z8!c7@fQ#?3iG$vuLGhhMp#f%@g2yt pPrY#@j JpukL%0kLZ%CN*0 zaa~-sJtuh#Y01Yc7>C#D`7_{kxIJ?YodyoJ#|Cy}NsZ(=i$Np0f8XCvYeChL_PhV! zS12N4Ajz2gF5o)`pO+f{QA_YnPlN%X2*mr$w_#8-W?wVL_RO4K VGr+;gNV@f_aBANB1DG5U(RWBLAD{F) zl42?JtREf8cMS>7Pf74Tn?W6FU_gm-BUV`t1PoH5iI*1&y|vOi9ut?VNP`opP4J*g z+~_ 7tV^kOkY{QB*qKjPs0fsk@s z$DfatX2B)*xFj*?V_U#3?r{rk6VQ83g0-LVsU<0Jt=)b|c90Plb9rk!1&_MKO>niq zvHxw;lwV^5fD5S&VTRPe(E}%WMC_O|7sG87UU_~o-izW}kfb~8Bqv|Abl!g(#n{>N zRHaoj+RV_|6KW-B^q5Nz{S7QxMP5OHH@`dJq$|`6*BG4k-?AY(`sE#-^vh%&^vhw_ zU7FwBx2VhXI|R$Q?%zI_7nk7Pdu-lSA!R0V2Rs-6jj&EqgRsx|9K1HJ^lx_y=xVe8 z1-?7~Nux*b@I9_@jM@aYe *fV9}N7)MSS1KC> zJ$!Qjoc0=SB&_t-f;H9_xPT+qh_YmX=D;GN5)s)FSs-yd8Mdh~0Cr^!&Z0mlC#lV1 zgOxObb8*y{3G!LwIa|eJ)1~*KV}2F>f=)BgR*c2gOipG0nPUIiFtI0oGJVUKG7wd_ zqTbLI{1)5H?HXQT=ATcAm#4FbX^_8YDn 2*>Doh{a_6nR*Lko{`|>_5KC{ zVU1;B!s;-1e?^C_&-Zu|6d;IzeWQ!MNWjzwg>>rw(k)ogo_};J!Uhp9ru_w@6$1J} zi?ZlH=W;o->6Lal<}CWCJy6&H_;aqgVDza zc$-T~LpIq2{Z3E}3JmOTF8qhO-14r31i&dTDq^FC%+K9g^HN4MWa;{t$6xy0c@;ac zXsAwX;G)!Aoy{ywvv$Yx|6=79WNy`#W{O%l3#$Tf3QZIar^#~?5uDPO4ePX&MOoM_ z^&D)G+a#b&BP&alUk!2B*w#)gHL4Eu_!P6P-)~=CDRCoMb!V6$a{q^P1?0Powi6fq zH|QcX(;R%RqdaIvq};wo;4*9%fiB4s?f!KUkYf)CjJDY=%~kR-(yR%ibO;6_x54z8 zzW}}I0MxH2GPDS66+bl@M*JSGN2_U;VqWynQ~Y%=@@!2AEvCerq4FCu@RvS@3oXH4 zU|;IMm6y%?UAQgb-llSsBRdbM@U|qOAW8sIl_Ac*toOgDH|D>nx22aZ&-};#M7`aJ zD*>|Y5c!qH|6y3eFJF^=LyxlQl+X*i5&mIdmoF;T{GS=wp9{Gt=3a&TEt=>r0(N8W zKA|RG8GrVEzUxqVvuNhpAutq}s>DEf@;I#D3ESM^rB*Y{P8dk;U7~rXssIHcyawxr z?#Kcx?oGkE Fk{!CC!T0J{S_Ga}Uxw_t$`o9nh z`U i5;8I zBV_u+yVG2m93OAiHLlq}MCOVmk!s_pS Asxw$1R zum9prxcO77DNwNI`AHwT>oS!kO94Ph4;iK&(zgMYq1K@h-yNRgr+RS;FHI1yN8s%o zzvye>azZfS;1OSdDr!1IY20ijI^E%D^W(Wv>s;-4^5!+lv{8g0pi}aVz>l3RIYsj* z50+Ci*}yRn*ms>2E1X^Te*qNOWHlNgNzsR$_7T3$ark^K5aHkn6Zgtur;Zb{po-y! zKu%@*DXwFZ#(Ez5U&V_MN$ytqCc~Z)R7niDq~nM)rP@0zGy{m~y}}-F(M=a@1?Awt z4)aC{c;|--p{WnHrZWV{V@-I9m`sK1s55MyWQ#zy2w)jNACux(&Hyj%RUkNum(SEb z2YKo48X fphv9)g=%tAJ8Hik;WqWj zWg8|N{!Q>wI>iC18axLrafOk|`xpCia{WEL|1b7M$t$?f{k-hGNfW6P4#9ugFWE-d zedR2P-MQilRt1p5p?!I_9eRv&VGtNhf(K-it%2;4zRu;;l%%g2Pv)b_GPOFZBbR2n zA*xy3)6jWUuO1LXM=z#cM%REI2)HWUs$ki<(s5*FawwOxg%cblLg5{hIcNqa0zK67 zRHB9Zu}XzuO439lJr8xqph_tfhl;l476ZPW!W4p(y#dgbp;uU?RBnu#a};=1ET|L6 zDAWJ# KWeo@H@>iz~Ey{&=%KUcX0FO;H27)es9K9V3h_sr%<)4f5=7DTx1d`sZB zFeLz!c36a2@L_brXQ7#{Ry>tDy)ARd_pH&gURUnF-_SME`>kcLjETo5&c#aNO38 zra8)zd0Wy1lgL)W7I+2zYUHAutYQ$p(wPV2Sk;LXO1DhTR{XAF)Z{xBgfcmSl=-wc z$#ReWfi_E}qAY|N0$G_Xp5QLcZ)kPr#|(hD $X$1U-P5+uKELf~Xw?vIaF;rGQErjn7HEmK#r4O9vnu zG-p5*!b$L4YtinXbbzXgG_i%hbO@0!yrjs^gr8Nqmj;J8A>2W_LY<&Vu|kX@HkEn3 zxan)8&cu}>QT^kZv_&urKHr2|1@gJxZ3|J1QR?av`Z;d;Ff{bJ%ox(3nkL?KgyK0J zhqTBE1BxPz1&Sh$q6B>eiIfmOCJhJ|ramS@YYcW%HXNs`W|?cB)CqPw#Zv2xT~zKI z8jtKAB*y9oFF@TmVtb0@$icd0@(*ahPw4oTUBJ&F!)- ~@--t&k%)&K(TxeTfi z21y>Uu>^VHUdFLTM=%pX#vOh!HTPoXwyuc-FMB{Q?=DjofmBl9*TGfJ_~viwqN`?s ztDa$Fw)Bqo?3apz=kJl_XMyKqoQa{GiPik^Qi9FlstX9QjbFdiSu??DW$s(gRRaEn-|ij)Dm^7bAq*6Z`EjVBuB#_ObmPyH6ppBDbkn zOu(pLZ=xysQ$Xzpym|`xviu$b;I)kzoT$quk=D7-2nO?C4?`UO_WK)T>^U2Moz}aU zP4_Z+UYUEd92$T*hDomkIwNtVc1bdP(5a+H`>$yQHzV!R?P8>U4? +lObuSQm=mw=GV}_;sGHC3 zHl?YzZUr9zgvOYyi>rbU6-)FRE(YX8s1}nGCT~h(@+Eap79O#ksqxR!&)jZSU7Hi$ zP0*7^?eB9=IBnbC`J`u4YpN(DHVrwRN~Bz^pv2zZL&C-=K+?s~ymQ+_+XuQ6%Q|kW zw-7hSE{{{+xlY7|X-gIYZk3m+JuN%#@ ?}}itY2e zeObdInJ&d6s0W^BcOEx`qQZomw;}AJH;fK&mtS59`Vh}*L^rTxm5|R-F*vb}8l(pf zPi^!mHUs8TvUB4J$B+cxUKZlAD&^CS9~3rh<^O?O)#W!L0abup9dpp*ncCi~DpQRl zVov`NojC!Q^-Q*^*ymSbl}bZc9^{;ku}~}LP?*X@OEY)s8-8_hLM+2f-vUKQ+hPwm zvrqh H5@9!N?o^Q zAQHqy^3o>La?FzwUvf3_Dy`$KUi!NDvhye_?nxR7(~a>x!(B#s$?@f+*Bu#9MMvGS z>YtK*1ACJ(N-q8dArI`YR%sS9t2WbHxgwR{W=%p!$XH`vw|K<3wPOLV!MW-fVgoO+ z%=7Of `gLcs&XjsEI#ete^dh5^0~PulhB!Vu`-?BL|v1Hm~2?YVva z!T)(J1S~{AAo6oHP)Emg8brW(0jXqgDP_0?Je*|sbHX{x6!nSKHw2Un$F>zzo3Cxe z$IW$Z#a(%7>JA`|f~=TQO*e|`f*O|l8K;MTNtcSxp|O(Ph@MGlST_Kcux kZjJ%TN~VEV*adk=1SEz0_K|%xF^ZrM{UWiv5wPb=in*tb^~Kr{{YR zrft7sYwj|q>)#Dihz9Z(RKJQ?fZVRbsY@BZKULFsI$c(qk!`fJ%S$tk1b}o|Mpav- zu}Y9#1rq7|r-i*GU=snV)JnN|ug{r5Z1S@_3FdvA4ZT-h9ul?*7-jvRDiC_`Jvvl3 zMT1=E`7ulJfuuNd8n=JyahPYVml70YN~(2K@$j`{A@m5cv@I1Ta?;86MBC^;*A#ve zi5wUFDF!?|9DWTfc&-0@ee4gYA58KZVrG;@0E0Q47J^H! &bfhJ|J7*qU*op}*hb zvx;yOWO5tn4%yC5^QeDVBB2 CCs?(PIHHx *PHx zq4SI-Up7k%!#16n^+t;BH~?++ry1z8T@%PI2r@gWOXH%`XJ*q(GG|6}s|*blnCvkX z=!#M)lxr9ezUn-!*YLaXEa8vPP=+U38HwG)gi~$40A31*i3E2R7MykFYhwmJ7D8G6 zE3-%H?Oti*sGW2^b4AT9yV&BQYXiOBxOZO%jOPk?*;s})t2Eq&{h&DrR~&N`)7%sN z?dA~>5|kFz$Ua=Awd=apiXAkR(CFemD)+9E1F1TIVKTn?@}fHo!w62-I+aWC6=8~+ zXKOw;JKYa+6N{ZczYwQ}(How#I~7NTm1vNDj8)LZDsxsu54Y-9oSO9}{>h-*frg1f zq9TteCxEm5@((f;osu?c%EI>0^?9q;0Dky%;`!7N2D3l4*_#%dWN;QykAqGBk#uxm zyK^1jjJCOu-uuF(!n}cSc0=o7m>|1#+wBCmh30#u3ql6PZePg*aVEJdwQGVZj!0}H zQ=4n(f^6F=r)X;4cYxI~587j?j1dDha$OPKdyu6b-b0w}t)vDUxvJYrd3!54l-U0^ ziI410<7?N66C`1q!MdB8ij{9|_;c=qvcmyD%#sJ+iC9=73@Cz{nP;` Aj;O>D;U7XEAEpLjsA|`q1 za0=+LQ8W}7M?v|tvvQ{h6xv>Fd;$?C>Xr)UfY2hx6fTofcWt{6{t85>O7`qlvQ0d- zNyVbAbjQTw2*ySK!%#xung@D-FlK+KFF7}&@kq`_apSN=43_-5c7n*C5r2g% a&%ZS>Vb0_A>bRf5nnOTUqH9Lr1ld62IWxdN0o#s|Iqj?=r1-sNF+B^g4vx zazSl vWrK#33)y{ekU7{l+0hV;Y%1B_&ke^~bP z8e
?kfAe5Ca&K5s7 zORdd&AXFc9$u@Gh{IHx*hHd>>ltL`6pXa-afZnCxz+B#AA0!9>@?eJuuKeh1#b_ LnwP=_KKOHN zjSrj9mxT2_qs %%|lh**#!C-8Y2Qt?G`o zQ!`r=)w;S4o0lZGZxx7`!fhe4h=@J1b6w3<{s%9+cFSQ;gdS*4Iz>tqhKTu=!QAza z&3KOXz^V|>&P=$O6iAPHR6jD>D{XGqGp{v+n>G6m{6DWYCr>Xc#B@MMFBI8uqE;@> zz}v^9MzUT2^pddg3AaNzI)bvNUv|9!Vf7SM>ZJLG*-w;}PQAKUcN((am fWF5(jlnNWT-UO?;G^fS&r`VlMjYhu=jrqNbwui^8ib5^Sf0qmtijwZ!eyF zHA_3jw;nnpf;&q`DXN`g;I33k3m1=~dF4$&cHIL2`zk|27~QbpUA!omkwdv&ZP_x$ z`9%`V$nQgXLi!=n($(aDvMR8UPRjAKIhwx&{3>SOevRFE1S8be^dNTY(So6UTEiFj z9W7SW{D$Tx#fJD`z&;NBTw?*P;albNnB_WZZ(sGh>N#~X440#diNUzmH`S+%gx-`! zQnVk?DtTDh)&YJh%Tt7yNvl$5d >__g0&H>2qz!(zU2wa+xxj#|)Rv~I6n)`gN+_!~#Sefupj+W1Z zy@<|{xeP=uB$d^#U_n4{w|w#dMr*We;4eKuAxXmbQjRr-eDLiZNmqo&<1#s$xwH-z zUB5n1A!g3@cAW*yhE+<^+_-re138tYyNWkJ8fZz~sIs(LPl<)yM$)fyi%LA<%r^7v z#QBMLrx?D!N>TejZO _gfVt_RyDH0+)(^P?blX1S~W#;-m%e z*up*6lQgsqiP3c sP z+MvD9%SP9EyS`uWH2k>h^;(c@8g^)aB6qrmyJ$^w?voTZL04kS!OJ+FfPpS2?$w9i z$&vNLwc)VKfk|xdfOO-(#wLFETuC{Gigz{=Zin_8^N=oyew@$wNEBQJ>@1(k*~lbZ z7Xu+Aqj^I^4;v1KQ&5&6G_Q>TPs=L-UqsvXGfb8Xj<2TC^mXAK3m@c@Av+KN|ERIy z8Rgt$D1qc#dyGA)BNN*25#(O(mh=KGlWE1+H?3Dr3Y?_0Tc9h8%G f+Yx;E~%j9u6%#BbNSA*xgNK9!~!+2J?#p*FmpbbJ~ZWdFYxy?4BLio7Cf+M-- zO_ow?%st@_fpjLajd`pkCes{1FV$z zn&wvL=)C1xcnPtW5-X`^>CMSo$!!5B%yB&EcgaN1LzoBhh*B{T`i5|TkG%gjUqtZ5 z?oG8IF`qx=6y7n;9=M`qa#j#f*{u-Q)TFT9Rr+tH1*5{jho`Wgm+KD;fTz><^9VsM zL0<0Z(9zG|AqxPn|M&YtSswrAvs2n%SWSruE)MLjl3FUvwUWD79`u%;C~Z2RiEiV$ zyTQ376u?g*bguFme_bhnjmmdB~%Wuq*te)}xP7MqY=nt}ewWI>M9fJZSe9`sO@S zG@r{G<*(;#7gV?DL05muQ+JUw)vVKP9 mPyhXdH zOuHL>4xT~pZr{+V)tx+8DG*_3HNwQsmrxIU3^5kXL6Ub6OF8W>?p%y9bd%magFLYn zA<~peHme7!%DpWBCZm~DCrNR5&JB#Hk(Eutb5BsEO<#8l#+ubm^YKyM2D?!38M$_a zR;2{djd4p`?Kd51YFCHxFde0e8)u1Yn~gyt7<9}$Kz$;jwPIQAOhSs hjYFeMKnr zmy1jj5sGb9Ro`}2TxNMA+`i6MF{ejPwS3XyS|3zk*h`WL5}P~5@PiXDCyz!Mdo &g*v_3$3hH9jXZ8z72aG8~7=4lMvb{O {g$3Q`>rearyaX#stx3xNdJgWj*$s|v6n=rg9H@%}g~z5W6B;f7F# z4aXWgKUi1Z21a`WaxGOvg$g5}W7tvmSuVmr=32JeJ1i3)VB~y_;ZHaqh0z3mv`sF> z*Tr{0W7*ZO(IoxR_ySH;%-g~{F@&{pQk_vMAzKBX {`^|-6=iHOe?eI<&EyE&D2u?Uu562wyebya_TI5G4Vz$6Pk zKKyx!5NxH0`;;#@b4A5HJ1%YW>1DKih-<+BI18m0T5c;?4(3Z7C)SDbz@dwqUqsl- ze{Pp7RJ0+b?n!gY2+G~QL7BC#c)f)P&Ln4N`B@9NVGk)giim;XlmiPY4unhzOBhL> zr00pL^#tNs$=#0Keo*lCU%o@V^$m(-&R}ah{^s(TcXwh9OU$`dDx*l6y2UZFh4bD3 z`~mq{4?b=WU!bv=k6$s^y8g5~nl(ec*cYvt=Joj4cqt#hdN#GxlyXosd{4xlE6tr@ zK#R1+&a2pKwgA!-X&utNg<2DBHfzZ-vWRa~xHyVIq5^Z6q5 0f_rxA4589Ccv{t`*T&ID9fKFl1@aEG0?5n{U?i)uQ>=S#T@uks_mgR8gW5l?sRX70Aod&~Nplzf zp!^}>VR-N_7oST(Qi(UJS&KO~+I+ilm|5z;(FsP^t`D*w!ca|c!rb|r!t5&9xtxIP z6 ;HlB@2l{f96iHwdAgV@=#ArSzA` z4*2Y}?vcEx_p#|np-A{5Ag^L5wbSW z-+oF|7E5n zep40^sk3% mfp5=AX%%J;rs(Br1pz;;g z7nOt?kP|O0e+{v)GOJRTr`f`Qbbregs8M19k+mAW85sWb!o0*!p1nUpB?X;Ple? FW5Pbgt1saS(C1H?cPsPiqm5J%K?pscY-{VtDnrblJqt&8jFeUR%oW((hDd03pY z`?tAJI8)Q_j!ZKh2|u>Z6EJ>V-`~fje5JxDwenWlDOi3lS}Ra}xfois?NP{-Nml;x zDZ28mQ%7PopDlAj;=dpc=1Qm|n HOOTzNL*Sh`;6>I8cdY*Sw0}bE~96AINVe}@kohG$-s_zG!%G++#@+!CN z(37woCKZvX1K8%#@P3+D5*z+dz{U_t;Jm!UAzclFX>6N11j-e*)1ViA z{koVo2jOl~fZ7;r6+12k?s0`V>LP+U5?f%?=x|@+0stEy5TC}q?`2mQ;UY5mVessg zRA?3 nk*YjA znb?h!b%@&4;;tf=w!b{nO@OQuU*VN^oAu^lMbW2k^iUoNFNT1*;VXI1IPxMPA8Igb zZpI{}Syr08l{{LKa6j#Q=Z301Ma@{)OC8BR1}GM7JE-qX2HoSeYOC7O!>% a zaLc 4 z4ye*kMG0D(9hH#7qVW|Hm%qx5NeM$ER15`eeRf}9C3X>1o(!b+?`P&DR&@~f!CI5# zB3J0grW{6jkskTXO4kH1dP#(q04LDH! thHQAMTi#d;rr@k5h{<3u=NhRb-Zqg4(z9eLQW z{9wqEk>bF9Ve54th>1*yd3My#6dLhNDU4_qCa#8vNdfu(6pigASoeUqmO@KC&N7P? z-+FoSy947x8uZiM^_0&?DoHctH-ON#Ydk}`Q(ssN;W(_*j=RAAL+H<6Pexrjb8AV& z;nXL{m#-t>go#JUzh6fK+y*Hp-~V|sU|!Js`ElBTPMA?>jZ3#m^;NwHsoOj{8@!ut zGxLgRF0aNVGs;$(F37SlxFA~m*qng}%o-$0-0D1fk)0U61G#grsXV~}kf(kF4l6sh zXYTkpKl$t4@XUPnCB4fY Gu4l^qu~fKe~%KWBC?$ZvYO@$Vb$7zdQ=L?6{VE7<&oNb{eZ)wE!TA&n<26 zmHc|LT2b{J!y6)%@47Sqp#Lr0*&s 3ZO>#S5uCRvj`@ t5OjP;)9lA|$%3vLA@C#=3$tEWF_mabbn z;<4U%&pFs5XaUu0!>myDX bBs`+?DICA1|E(u<*N1DP7$NF=QRw zjAYHM-YduDObybYURcxfRDY&67VTO#O1!#sD0vU4+r+n`s(T2^PpkE(w0ds2P*cdm z(X*XTlgs6>Rn>^8vBT>-LAscBX#qA*XbgytUj&?Ds)eKu`u5?5f5HJ%$gRWL9Rll1 z9qMQ8e6yn$PvC$9;1`Aq%MV@tU3Uhc1c6!Ma}AgNRra2mrLDj2VU22%bz)Q|?;e_A zMQ(-&i8XA!6wS THC5vUYp7zIeI#~QND7btuWQV@&U! ?BBSkR_O&|Y$wdYE9utkjDzWr5Ng zB4vsO>W ixxgcprSlQTx }u aTEDbp@abt=r5(hd{tG=;&GC0_F+6G{Fad zBjdL$EbO|BS#rgJ)ScM6U9YZ?TGnb-67)?ycN$j#CipsFG0AMdULT-W;BE%QUt)wS zoj|G^#HIcr0jAbdw9Pu zB4=tq`nEQjz1=TXG|jmZ?!g%FoK55F@vHBY#3Y*|$G#VDXpN~-qGTZ#@IPW+rQ&1a z5C}PL;#CVce>S;Upfjhe)lO+y3lLCf+8kaYrvKn6W_`{^)~qa5uk#IWUjT*ep-8lT zRhFNUlk`T!8(TDZt-H7feNlBL7~kp*#n`9<+~DQHMqkKeG$sPgZ!YmPNtH;*Ba_di zUF22|?Fm*xsiWXB-s12*i)Sl&9N8`NF$Q;G=MJl=mV2whx&j(JBcM3hMB-F&orx)| zz%2UgJzYD))c=Z%;OFHIP)wNXg9!I1MLSgUGXk0dcNJx?i&I<>0Pzx3tjlKbI2w5Mk>t>n%s0fq0p$}+>I{an^ZR(3 z^=|3%RrWbBLUdDQ+{t$T#_el|gk@e6dZfX4R9S*;Si*{n!em8^iiJW&+GZ8qux%Da z>SZ2kUC9HZeZp)NW%~uWFBtEVj&@}Nuq{ZLUdj_^K Gg3DEB{6*b3hU!{@7*EVaYnAKkdwn2JL)}*FPL!P}P=+dz zO=fJ^IJdQuMGD6@6sG*l`IYg@*~-K^w7fK`QYh_qN`Xd!QPvmf$h6E*8XM0VkW3N{ z-#4F3qyjGYp~sm-+_a@)#Vg%rd!GA$0A)a$zus%;p8J-$Dio1E(FrTB5#)qJ#aj$v zRzGD)kY?Fxo31vKd|GbP^@O(U^qO|OZB|USB#C}V*IRZc#-Axsx-Il7lj(XpoQ(36 z;|=5TdR1 (*B^K{?JR;F-xt*n}tL=ZR#EW_QVN1IW40E+t&vspMS8UhUGfH{8 zg_2_XfvT|}#v)5j4le%!aNCRGC<)p yQt|(ax#=zSQ*1pp%yS8q}tL zK!lG6M*