From c911014e9ee44e09dff9e610e0eced8226020180 Mon Sep 17 00:00:00 2001 From: fabolous005 Date: Sun, 26 Nov 2023 19:45:49 +0100 Subject: [PATCH] draw basic function --- Cargo.toml | 1 + grid_image.png | Bin 731147 -> 865441 bytes src/main.rs | 57 +++++++++++++++++++++++++++++++++++-------------- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 65ee90d..6d37a80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,3 +8,4 @@ edition = "2021" [dependencies] image = "0.24.7" rand = "0.8.5" +num_cpus = "1.16.0" diff --git a/grid_image.png b/grid_image.png index 1fb4db4b069e3efacb89a84ed6419b94ed6a6f54..f3866bfe152e0544691b775752ab41ac6b03dd89 100644 GIT binary patch literal 865441 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%0AZAK1XhX2iO2~nBWL2LSzbhkn$H9?M`E_Ib83=L z5jhb#G22aQ!O|wtA<-exAm?@C^9T;+d__P727(Nv;1j(Z&3#q#kx}^`L5#wn8-)j2 z=DIS&u(~JSG2?H!{SARqM*YMh=#c1;=uneduw1O@km!);kmyiK3&bd-j)P%P zhhT#D+@ir@LoSRP`^f3r1WHW;7^ev{c3{A`@#R~t$06a4Jw^R7VZ++~*|3DA-c1#R zBCm%3;~k(F1u+U$pCURWI+Pd>F$!W7#3;BTIYoyCkfbOREPhD*km!);P)ZBLD5Q=9 z_e~PZxyN#^uKPl@k2bJolBL<;m#!Io&Y=ROzEYsnLQtPORZ&{>t9Mij`!rqHu=-8{ z0YcZAwn1dW5|(-=RgfEUIyR*bVid$EB&JSuNOY)*Bod<_MnQ~%E37UtBcem1L!v{X zLn$o~qmVidJP()PRD#n%4^D?)IMcB=!TVS+b;`&)_ZBGieFCKxg8JO4iry21VcV&9 zE_`K9$0ppfj>o1xCL-r}c0x0W13=P2mWZ5)Tp|&oL!v`fXp|TQF$!W7TycVl84(>4 z9TFW99ZG3|7=_ev;G@YyFgRVfW&+;GaqR!-kA=%_8*!FEsc#S{buN@zcBkh(ibju5ap9h(9Ni4G+QDRxjGA}1nO6&leY(V-+{5u+eRL5zYcPEd4+ z9fhO}ulS+Vao}PoW?Rg*m~C8NveZm;X#3Zp$un-k+XRl?1^uz;(bI+>AyDd51WKI? zr54_LS}BCoZq`Wn%F?(~_!Nb&%oRf+A}1o3sF~=H=ukB@7Na0WL5#ux@AAkU9>0mP&$C2~H(A#q}ji&7#8&Y=3BAy^yT_NXFOb#XA-Xl=_DPrJgMW z_4!j3X9^*;lQj~)GN)rxH~^u@bHpKu$ce~RQ4pd-qC-i@D@H+#f*1vGq%lWSM2B(? z#%g564_S{WTQo)FMC8P5XX^&4QldkmLqk`Gu5Eo`V3qc)>U+l5==^Du1xo$6K&kH% zg8KZaio>U6s1A$_hCe$5$)hFcRB63M| zBswHIRD~CcQ4pgbM!^+po0t*NA<-exAO_ZZS+x0N#Se)e5*-p9N@;-@h17AFEol9BC6<#|t`^HZx9IMH^+G_bYhm2j zM+8bOQ0kfaQ0fUYKEI>S8?;;xs*@`uNI3seeNXmj3q>A0vXDM#p~!P}vm$aLa$>gA z)`Tk&qC?yhs|FZiw#95$RZnzCbV&S=_@R^*h*3x#2cDLTV-?3LjuqFJEHxWM9eQ=$ z7Y5dTt8c*M_ig;rHKWfFR%(G#@9==}ecSU1>Pw4$g{jj3RaQt09S=|l*j(jPL{3C5 z2@gbvM2D(46)_586vQaFg0>PfB03~GBswHIl+pq*3aR5jrb9)CM2AvBBRZ5ijvZQu zhF>@{t4{y6e=V3gW#pa0N-a?89Ud@#Rck&$eeVgvuF$!W7hOALo zxMl+0CUER7=#PcVZW|#`YJpN4pww;mx9sTD?XzzE`oLPcpe_qvS%Mv48#Li7bCpjK zIT5+UI*AU64pj}W7zHs3Vied>NJ?l#hf>FZPwI#t5D4UEOJeuKz{B`oz$ zv4`galPTCORZKBswHIl+pq*3aR73%Lfw6Nh~Lh71x(6H4_~Y z9TFWHs16<2{?NdBAz3}fjIYs)cPzZ&Sk9*`v}bj&GQLLVPn&$omV$|xSQQk4*Z@K*q0gMY^{7Ra+ zW(Nk08()5(@t``nb}o~Deh89B-6Ev!Y&ew`24OaJIySXzqfdzg8CokPF0i^31zrbXI2>HoQ_Q>!yS)JeN05o@$7`e5Qn*?KpG-) z>Epm>8ARkn$Il{vz8gs;q1K1Jk2T5J5ThVQ!4-v;m=Vz-(IL?x(V>(Uh*3x#2R@oC!KnnN5}e}tlBH%tP=^+- znSg_G9E<00bPrBQ%pv$ELJS zbjZo{2ur==v5CmJYO08wh+Hje6SM6o3=%20+8+@)5ji2G=42(!@*+Cad?pY~TFkbX z?W*bxo(@f(anrzB2U+cejITwHo;Lglfl>>UIv+|cy!Ev5)WKO4AS8w$?7q=93IUrd zY)3>+L@v=L(IL^HYJ@08L5zYJg^YBGAr_)TjKivjN{Sy6KO}yrUL*L5BswHIBswHI zl+uDBXcP`?e+cT~IJSOjAEOuVSSV0xfl{~37J~Zxsfsg&X41(T316Ahv8kr4@Rd1& zLPX?5NMSbXF-ZA5Ex%~~HpNj_J$q{B#HfSq3Xwe~8*p7&th@9xq0Nl3{AJHMv zA<-exp_CSgQAiyJ4u+IiPGY&LEfF0O9TLYXjy0tPybJBVyp!cy;~3UWhE$ENf_jDi@21VbS@Bsx?@ zw2Dy>qaa4X72chg5z!&hA<-exp_CSgQAiy}Z3xR6c}Z|;J))eG6_Lw17@P3<#o-su zOx4Zt4lM6u!PF@u?-W*Q!I2AEzBL~$-+O{EY&$hFg@DcJ*o0x*@z~VIMC2ULPB{Nu zgDep_5xFGn79A2Ds_|yZJ{u=t5FK(lHVJ)Pk4>U&NB1ovCn8rHcM!AfDh!f7ING0J z#lkfcY_)X95`6k&;j-IC2$Wi&)CMTE@YYAOZWaFK6e$$iI2A@Yr(+W`UB_cn9}|&t zJUii@bp=+5$ce}aZ)Q5N;7Ww(5ckBYF_@TbG22zu6CDyA5LaCTWfdi1p60;LuxwE;>ky!EtF7`EN4kub_R+HYZHticqR zK21bUL{3NynM%_Dgb^JQ9TFW99ZG3|7=_evG?+}oUnQ24SgvYIM2AF&#IcHFO=*D` zh178vJZZzvMTZ^O{t({xaIgD!(2I90yy01IUqKV!-!fY`+GVgHbFkn{A*6P)M#5L- zbZiO_A$(WY^vKXd}WT10}(k9IbjEOoBipN9MPe^li(U5G27e|t4gYfoQRy5Z86&^EfAxS zIu3?u6+gr{ta_~zkrR;1gqm zbpoZ%gi_C3v%`ORpYiXk7FPR%LNn=V^9GL%>lR_DcN$)j8*(}}p~!PQHuW(PImfdT zKO}yrnlp$Fi4G;PuNVa}3Styok({DKh9VSjsN#pj4~Y(m4yClf8~NO#yIl#rSnZ&~ zxUr9%zD?+->D~)w3Y0n%Nj&0f13Pj;V(4n~gx-rYLR2TrB61>fRqG@= zBs!E>1~Cd^6vQa7@~EaC79A2D5*=z%3zmx&9TFW99TFW%X@MAp)NwEj>JUuuUS0Qv zfwc~R4xRcDzjV#$bA*yxaO68YVBEycUt07lOq~X(vcgy9c!0uJ<|>~eaw2j`hhB6@ zbf}7#6r&(UL5zYccsMa5qC=uXqC=uXDJ>AAkU9>0L|cMW2~H(A#q}ji&4!>34ZmZA*6OZHuW(PImfdT?paspn~0ofdPc`&*|9IZVC}O$Eht5IT5)e zv=SY14OK;lM2AF&TtQoj)`<>@4v7wl4yCj}j6&)-@DN{OIf><}wnTJj``4jsTVJT} zY&bSV>>s1^r%gU(OTk3UJZ9sfe4OpQ7t9nex`5G#I2iqKA*6P)M#5L-bZiPsBNTa6 zKoR!iF$zpi+F(3HheU@&heU@` zS|COtbsP;Q)AZLN7@R)PGIwANQm}#M9W(wGVWk$dyvziwG0X()GaghY*H&!u&kGxt ztIZPvHsj1tzVwR7iO5w!1ENEsL*j=V5j3Jh68fY(i8$8OaWG7)_#wt&)oY!IoQRzG zp?ZzrE0XAt=#c2p-;54Dw`g$KkPG9+J|e8tf|i$=fEk9FfEHoccH*fLdM~GAQ+PCC zl(SDlWx^~(X1u+V)(A30?hz^Mki4KVlrL;hd zLh3m32gMslDTZKhI{diJ7C--C89&7(=l0E z@k6H5F-WC|oQRy5ZG(aUdL=rv{p--eH52eQfn#?;e=J;f+laHS6e#txo&d&oXu!Df zNgPXxfBP&Q(4|fkI25E4TWcHd|lg@CP!9cVll>v@XES&t~YsV*WXB3BKv zM2AF&62mJ-L5zYJg=~k3+6d7h(IL?x(V>(Uh*3x#2Wm^z&q;8~IIMcD6Or5gMee}% zhX&RQ>FQVh#dFC`VLw|uJ0t6BN-xcB63yWjp&f*P?B_sQ4pgbMuF)`8;pnO zkm!);kmyiK3&bd-j-$b3n*KTjgVP6E=CYeRe(~jT$89-&+n86rR19{tm&hCSFM9b@ zAz<0Q7I~hqHk|d;y7K*9-hX~=+glgRJmS7`@3G%_{PH(8ys@SC?yFmW)iV3gNU-kP z1=ih#z}#=Y@U7m}i&|e=U)XeX)EekZ^{!q;KRo+_XMXnoH7clGrCYD!!_mjC(K6QZ z%I+WkgZ?dgE^DLjKY78ePd~HrfY<->JN1o?rMdezwG3^YMw-oUEzs1bqm}1A^X8ke zZ2!Ea<-Et1{C@qwk;F zbMbHS=sq#{TbepCEoX)|R(Y!oo8h z3nKp5UE))}@RzO{nv+E=7`*N&2PgGqm z%jwgX*#b&E+G+g9AGOWYI!XT;AI?wGU(Ik^x!#rz9M25ueeXZDJL^|fIv_roC-hf` zxuglcH;U_2gYvUF6BrizF#W#XN^QS}#rZ-1S94#x`5Qs8i)+Bc_SkI=>x=h%??EjG z!{YejMi-YF&S3{R(fkG4iPV%KD90Z4!)YtRQjr_^+S*;GBHCV1?8bK#Ehvdo<0yt!^0uqlA~7ZoZ|W}pwE>^RUhG(pE^Ii71;37E zbRfp+K(?{+z8fbewd)90#f6R7n>ytH(G+$9PdlXrbGqLar>(J_a1)BnC$Zh%TaCX& zDXu3BL`V1Mt4Exf)m-{?zxcd%Bk?aWvSvq{4P&n9aLCA_mIjO9R|a|=D<-qA;}m@z zBl@iNyvJzQeh1c_1r2STZ;U?K`nqq&l<8SMaE1VRgx9!z+T#BC8UfaF&#({B1 zAo-~Ofr}PT{lgy2mIRkt_;_xqG46BL1%DlMUi=#*os?R#k`Y(s6hY}IX7CqM zoFn#!7iu;9fP8yY;uiR*GwsmkJ?33e3$t9VfyS{9A#R}6AHt2g*ykJ@$CQ6E-EodeUzscd09qEQ&>ES-N1kH7qlLwQBou*mH@ z&|z8*E*y2h>wO&Z*Z`U-XyL@Y>rE+`nfkJm3C!_>BLL^cuMKk z+Z!bn%>wB@u1J>SVs>3DUcf`iJ&bQ0VXc$;<6DlXsk=f*jnxw)1V6c;i>7TUj|Sk%!uDV7Uo>r{9z zR}^OHT7JDK^el*@<|JxzvC+436{7H1gN>f2F!7=& z%ejTJ#*(%&PTt}H#SGrNxE8W&ivm!@ji$cD*}Jy(E4T>5C0wm+YgWHPY#tl!MO_8V z=)b%}xQDQ+(P8%lQ{zU9bL6y@TNU!IOBbfJquO&o_R(W!5;rzkhM;}xfC9)3+`z^A zkv@icxr@%OX=MyuFkXF=h=i@|-{AV@i`Y;9LQRJQCUt5BDHB~)s5F^JnlLa~_yAWW zW;LrsTMQIv*4Adnm~}G2RCW;g5849sH&#>#*MIYZV$esp?z-){hPY|p(<(Ev^%Lr@3{ke9b@>26XTw1$_VO(r~ zsOo%JeqBMQuA2YG z4@V7mNFtV8$rQx)7#$VM{IGrcLMECuAnRP_Ha6S;xzS7ZEQo)lxa?T(JweOl4d-SN zA8gWw&PfG*3Nh5L-e`mR(9SKh%=mGWqwbz@M@=1E%+j0OsI5f@h-p{U-rq=bxQI=k zU{>5V>G-{2oF;+nH(wBT6Dzr9DV|eE$7bbwYxNBWr96`R8(h--uHh72-*ENQBQBf? zYEI&f6wJ1{XGrhb{K^$$M(AqOJy?WN^%6AufkE%S?9hvErt0oNtj608(})KnHE2^ z4LoKkj0zdnbN&FVC%1Rz(?fll660aC6%1o^XI!3+afQgy*Rsy2%=6$8wDa<1%=vqUA6iltP zsvM-CooNfabs0wxSD{>O!B3frP|>iKh9l^TC#Ez+$>9iEnYN&*U#S&g!$73qFy;{y zUv55v{)VN)5p3m^f&KC$8B#z4u?06X6`}G%^AWTS#2jv5DndDC1gPs;YrlMt&g+`v z1thcd%fom@2Kr!Q%};swQ3J6B%MR+RTS3kKppp@SEx4qw8L$ZYNBW`?dT|$C5EJ)l zpV#C&=@i<(EY?I_iPIq}?~O{#!Yh4IU$&O}7Zxq*f7F6o`!N*tMcKZWHJ=P!!7Dt5 zT`^Te9k5Bu8@+b`IA?(8I z)kfz zzwdt+;7{e>>F7Y8dM#m{?pJg_Dy|yz+eyF_u;<>gLX*yLz77o>%bna!@Cgx0y6oK< z_G3*Oz5@gYA=fjvH^Ej^&7fCfHlEa1)7O|mY>>iBGvnh@JOtbT7>kza5Z(0#Rx+c* zUhNSZ&N=L=fi)Vw1Kq%ZJhAPsnf4!cxLNn-U2cFGo0hUr2m@-(M+Y%elrEhPHk@;q zPy#hKg%H0KE`C4n2FB=7%EsSdvz7se8(7RtkTNg;OO{oDLEelaTi?TyD>Zq9-l zzUz&AZqZ$PlPu4ATbggif8?_Mo{#s=3~ZiIE0Juu>}_i(8sDjK6@TP$=xlLo;Z>Ge z;^bP#xj%ZE?tkCWb?nD`eeaje#ZBcq;^}M0A~zSk z)2g9t4X$JLON$0j|BWVaMzlJ_no#H+>O?eV-vqW~t9%-VFY zkaYexc*(6HI4GW%Bv(Tjd@<1-v8cO4$mA>+sca@7A%Z?bVIR( z_K4L_19@1N*?SV}y5_}HosFmDRyJsj-UDL`!b&$ zw@mnAH=Ot0F@UG(;7@jX@A3gGYvU?#8Os*K*QaW9DyxD+({!PvF_-BK zXX`KVAAS-mi%$rdn@Nu&-#wS}-ot7?(S+>xKUTlL8yJZ8=H0--*}p;m+*f~V$Nnce zlqY*1$&|gI%c*=w2fc??ML1GZlr(Ey+n@T1IIMceTRfGIDX^O#9&=E$(J#@>?{9yI zlXX{K%4oT%#`AS+?>*$WKj^hytdsoOwL5axWKdd0wIpy$;al(YVfT~SY+oA}hgx&4 zg%uuEHf42MmeY8r@U(I{r_&Z}j=?y`e&gBN;+I-!Gm3dM{^A0pj(E(|(Sv<)Qa=q{ z(w&MP)JTC7PwD$UYbT;Nj#d85&dfUKslKRz1!ynt&Ju#+AF_p@MyNUAyMi;-?6>J| zR>sZ8&8C=WumLq^?$zt>7I-C*woHJ*a*7ug@&%vy@EnhKnA`R5%o6+K? z&4=+G-aN+~3;q(PH?J&V`TBT1qp`EA+LX2G>oeBoQY|>>3FfolxY5Pg8DYFXi=P+$ ziIt9KPDH4z$g36M^d;DJEcp@dAXZqBg#y(sW~$qjU&gxfEC8r_S1R=t+*w!7gP%rz z_LY-f|H;4ddAuvXU6)<;5!a33=qs!NfEE@jDmHf(Qs_l$pV$|kq5ieK5VJvDjcR`z}Ecuu8%Qq0rR zRC1o~uW*w5-m5u=Ho**LJbaGctjq2*^j^w(_-8Xqz0>{8PUY6#Pq2}F@Nz-sXh=?rC0wv2FtxzP(br@lJJ&_+(|6k2-YoXa&c<(3~7O?k~GAx|H zFsaEh?hN&ILPLfg$BWXO%-)$Qj<}#9!}4U#dl&Ma{c(rbC9Eu7GXd{#D;Q*41aBgv z^b5bu{ziRwyeWbVi{D!F;~Sp!_LWU(Z#TE&r(y^6Z|xU)Abd&(_1e+zg*?Wd`LAU6F%&iMD32q{Y(aR3xX}Imvwa7nxvaHDu~C-L6*bakAQpc`v@yr6CltSgB}B zPUUEMtCI)+H3tPx7c`eoru#7tyKi9*&;bnEI7Q(oW~gigkhI3L2n-Y^eSsrhh2Q3h z*AHAk=ic8j8ec&v8&uHU6Krtlw0a-lJiINZQl%d5()07)$9Z@u8_}TNJSJ-A4ljHA za30>4jiyl#-|BSd@8LYW)J#ZSb=+N=kd$2+<)GaCLgwVIs>b+jPM&)YmIwP*w)a%E z@Y;SxPWg+)_37oVGAgWhDa1d_dGm67t63Jc^@Dxhgoj3}-{W;RUIj1Du z=|)me9>qWpg*jjjg=$EUx~f{82n>G{0Sp`YKEF}oPv z$k}{A&u0XwFO{FvTE=kW-k}^hTcI%ojh9LBU<>C(H*hdo6ti+Q_pnv*e^-|Rd@JkW zJk52NcTAd== zs`FY-`J#)%#74J1{mfo%eS2hU#&N7(+W0ICmhO)3~cDx_;GI zQK>g=wZrMlL0RC3<8#AIm*Ie53=93xw86RWUC3oPAlS@*- zIKUgnK&dBq;Ko5xD(fXFjNKsN%N)CwEIVyX7f0$SuptC9!HQ@!$7!s{*a4B4@sSRp z{n|S?7ksit24(e{JW>jg~SxTMB zq8OvooCt4PPGm@DdyUGVo;Ejrc=S`eq1U`~;>Nn;RKZH{p zx_YA-al*VOvMRiOOytv;iW&54G$R_lOowDm8eNE4`x;}1+&IA}20I&V&OhK;{ON+g zV>HOAk}p`V@mJP`bTaO&=u3G8xDM*z_cNjrBio|xyvTbwoyCt&s0~+UpMH}A4^YEH zi}`^W&Bs9)>e-nJ6@7pZx=e_h!t(1eLr> zy&G>7J;g{E%9YH7A=%-H=fmawagZIwOq5N~3yMdRo4(xWn`+LDmN0U%?3Dzu2ct0# z`QX`{XD4`%rb#E&d#v`LSnIyR6^sruCA1}3n?NIaQ~CZF+{?IU#zF#W$*+5Oe99KT z%pfU>T6JNisc)Z9Q#E}#x3m=9$bdU}@uW{vX=%L9UGRQ-G?DYjya6A@wB|6P>+QzK z$#MsL)M;Mgpi;-;y*@v8z(>WWy$Xq$%-when{R%FWt!C4?c_QyArVFP=usZ25FYA9N6}xeSY)JK&?l ztNouHqJdlS?q>dgkMb8uw~HADUBL(k3Xf%l1M?m$Kb`&ceu+x`$uBU7a_J!LCz>69 zcy{*JYY{+0Xh0ho7NpRdTcquvGaTe=CFkJ}86JL|!^1DzqmUm5NBP#c0%597YJ9|M!T)at| zYs^{i@_vkmKc($cHn(!nTjQu~K9Q6K=`S?-l`9y{h%<6~PMzT(GN)S_EN0zb!>tU6LfK?OYRg<1k-`29`&G%$)R)ul z4#ty#stek)HV0Q_)pNk~(dqcsCH3&kmP69=Vs!V~8BJU-ri^GxYL?S}%qZj-hD^6E zP#&n6L_4;P-nSg$uMaRD-kICqTm6#fKrhPy6oxnEHoDZqYx`=OnyvY@zw6|c*=;_19A zE;ANj<$>^M1GBXDVMYM`R?W9GNvUE0)`!4@F_k%3+uaTMKk>PukzT(|ndIRC!P;Rt>KeYxi$Z!COkTZ){$6MJGC$UvG!gev zOV{W3_d3I~9UeXk2dq!((ncynZKHUl2i}I@jPA|V72B+We<2RJGptKfY#580|5aSB zCgp5Jilx+LHPV6);a8lu6)Ao#m(@taa4k;8yR&YX*~lD*ANKUTw2axuWQ^(=DiPh$ zT(*^_3S0~b%Z4^j2YruSiJ%Se?W$*IR^ip~*w1nlJ2MF2j0sXqO_C*0-Pt9Aen*h{ z6BS{BqAqRwGZyf~p{jR1JJ2GW`!7jPvOCnPUn)P&O;LT?10H0j71e<;v zo(?)P8@N}y(6m3KgK$kM<>;tih}-n2?`15p@+prKSUd4>Dtld9SYC)PlA-%NAn?jQrzMDSfs%C|4i?^>Hh^(}FLuQAzyGc5{&m6_`x>@N!0_)9)G_qru z0*)l0)rP83P-0Jo2j#2asuAVv$w~?e{AF1|VF?Tgr+>;RR)w2cDLu`?!{c~fH!Gl^ zqjOUIOgHCyd%;yfI?YrzDYGYaeeXT^vrjfYn?0%Pd%NNBVoXe!k+df}xiSj=*`SMP z1w2*~6f^IzsAFD8?(zA|Xm|YCC*}iIou(dX7r0tOi*v$4-^*rp z%jp(`Z7>O^@73_=lt>FhpjJK%htQ20mF9Vvy1F{Ha!S8wu7Qx zMVRI0sFG7&h@-Bi|9Jc14&iHg?d#Eb-^c{|czfZG>@fMD@$Ah`(FPb66IAjk|FmIX zH(dSlPI!1TDfbdTmeZ=rZb>l~#L+1^1(SJ?y{6%@xcau>Dl{jTvQ)p%qypaq;>hl3 zqL!b`spohtT$Xla!b2F#=z=y)YLFE~s`1Sn>zQqr3-84P^{*NNbv4AurpO9POW-8X z`>`PbUH#I@{F>*Oli}GT@5g!JM6wnx^YXLqnD9~6XjxvO<B^wlh zZ}$w^^%k7$!0L0X(zD$xvjVJ-&0 z^vArMCyFV_@XG#4crF$P#<}4d?Zz+dGn~Saxh244Ry`|!$SM!|4A#}c!#Ult&Tvj{ zCZ451bSO*;5Y08U$2#aqeszBf{_wrb4?mV)-oFR$-W-x!noI_MGdkZ{dZhNj?~5Dg z+?+b0V$BQ*GTk6PUmPwraGI#?;_;rzKjkTS=EL#%;$Tc}b&5K31Fx)F4r9KUKAKmZ zQoZdw9m@)^81u!!7(Ke2*Cp#zlg+A1_ay7#qu>cWzfISdGh?WzJ(G?!>ss~K2nXg< zywWmr5RZCTMOb{9Wia2=?(L2?vzOXL({YRO(|o5eFE94VbPAhsNb%-e%grXb!%liP;hnMg4znA{;p}`t&&WVu zgEvn3Bl3@u7UT2#|uOR`EPORt6j3UhOF5Dh@# ztg&ASw@MO1gN&I*)vIsIo5{$uZA)>=>`N?G_&lz&8$S$=kK>|OHZ(0_Q5lRK2Im7` z&Ua@#Dg&4&D+Uecme3uj3}`+awCN=<*>PDy#hx8#G*{thKH4&%iwp<+Ge$)!Dx&K` zBF|WlQcV_3slX}wk%uZRm2=Bc)h)+hju#LLH4VH!<}fxXJ5hW&_j}DnFq#U#W-*S5 z^Ducmif&$gFJA5dcIu-7y3RQ&8*K5h3|p*t8bC8q-Qk>ViYpvbO!LtsI@zOauoG|T zSLLLZ)Q;K-Q(cYD%`aj!B>*^2L$bp;vuWHJ_U0n>GV&apD}fHNIJ=mnfpx^K@DWeV zE%Ys?Pvw8F$-f7LdY-_`N67{ymK3+bQruPxlbe2X-MEW3aicbR3+)Y1A>SC#=ko1z zlT7&@x@^U#n1m|ZP!w1$XFY6-WAfHK>Kp~Hj8{{$o(&hw?Cn)C)6{@td^2gkmxfyvtvth$H zHy>ionyU{A=nCPW{Jg53=8(B-m1NJ=2j$Db4B9lmt|rhKNHm&{mK15Rp^UjI|9cts z|6ORHm<-eBM@V!8vx@0^!%?tbvXD93_))yHIQx6ehOr%;7LBInZ!?WzqnX`#YHkB~ zlTiEbm5pG|<@8f-iNc$RmMAFRWSZUdAP(Fh+>BE4hVhQ6oWPh^f${%@llHGz0^>Nc zVg<%$z=3hR*daShPWB^bf3GQ~2r5@*&U`e9drwe&Ik&A85Gydg9u7`t=Lew4_&zvU z=9l+GjZ-dm3GU9X4|G1I zhas~|& zZdhek=0{CcAPyQG!c-nXTkfEZN@I%oHPwt4h1oRdU(I#Xo`lDP)9xmC@w>4&nk-9z z#R+b)6n~j3gu&W)FJE5k> zH}yVy6hz@2iE3@xWPv;uisD$ft@IYhHLSu99I)nA2-3@_zqqhtv!WH9V4Y7H+RWDmdOUC8* zqLuM-JRFr1J|r9qXlc9~)}QAMnO^i$29Vh=!iCHg#yKtRX;*PQ?FzVywj#e#IbAsl zgBxxPE@&Q{PoH22Stw=>18F<_BDxkZSYeB2=wNP_r-%}DsfXvg7@x)IKx5%k-c$3x zJ=Dxy7pf~HHS$m#9=tNG5U(A~@p?QM$NJk)w8|z^cwBjrQ&hbG=6MUJT%=6UBPM%s*VBrg z^7UN6YEw$RoId$L%j`q9yR9pK-MT)oh9@Q=jir6=tAG7Q1n>)IpXjC<$N9Fc+d)Ic z`91y`ji58(H1F3Y=VKTLX~vHf;4XMu{tT&J?_sEqH9`!cdtoTjc{b-$ewK?M{1WVZ zHkzDI%z*-zEOtdp7KH~4Ogtde9CYVVc(bVn<>?wqHr}pLfYlBG zbQ^)c!n8wJC(qQ$EgImZnGL4?FzID@DAd6lhkAgbDajjeXpl5n8hi`9Cm3 zuT3^_B`lUBf=Eb$c3?W4)55EHQ*Yx%p z@|_Mk!_cN^tej7R#}QsLj(_EETxgDCI(pHKf(s5Xy^1kVZ+xu(K2)Cit1&s{%nmw^ z8$Ep$1y-0nT7q2xE%H+Mloy)3K(vwL?>>#bs0rGj7^JBe5zGZ8p7!T5V%!I5o623EbWgkVan`gQn;;?eKB%hEJ_naY8-Yl(SJT>wm^9 z56W#qUoz=pn7`MdG0o`-ywMlVYspq1P&(IS zB+~&4mB9{41S|F0|G{IZ2Y?^Hcm?uZ3OdUT5Zf08S8+8@>N(dD=g{)b8g?5b~e>u z8tfoi8>N3TS)Fim?%Juw3d?lg+XurAD)t@A>`Dh+q;-lBL8L4H{`adR6p^ff$L zjOKvlLb}alb%Khir_<r6w0L2HpOfNX2qM<+64s?}t#JpYYfjLK#+X-vgw8S2H4&`PRzGGCtm z+_txVGYcQsx9JS`_A=P|qnLX+PqUT7g>eaf zd4JHwRE#tS^fJT6%m?{-$ut<#6VNkwsm}Wd7;0Cn{qo4uVH;zf+B*z%Z)J1Iw`4L| z4R(JHxb}r+8{HcjdsPkY?SFvX1Mf$sz&0YI$x4L|K@p@YkLDY#4t1NN;s!f-G1#r9 z&zdwpp)<;jic?P2FOLCZ&~}YQ&P62A98*->5Nbb&dhw%UFK!^V_vuL;&oG{SGn$K= z1KZIIn>6wLSYwXjLSg3GyjV1imbu}GXQQv#VSW(<)m%!Bl#QU-=(QS~w~7eH6#ZAD z#;UGH^TCl%`k?+t&FUYwSWQFD4R1^%P^)x>$tv}5Fg#H!`og=JPjMuUdI(C_fa&-g zW4zMQ{##S>(O~k=M+a|cv~(6zL*;V^lsP%n;b1MP@Q|)Mni7oZ{$`E& z+#FIUIuxv* zdFEv}98xGn&jebCHqC>S+d$~%kV1uB;6MZ&X)f$?NTKKwRB__98)n7fl0wl}P{mnj zRvZQ?lwY|Dtc_X-WH_Wy^jYvl%W=k^8|jCe3{ytwqr*=fFU)mS{)N$>gj0=kWA)NB-G_^JHyR;B z%N5y`nw83%Lrh!$=ut3bwL}O(iO~xyps@9rGBUqCLMD3WlzC8V%{HMaYfP_|*H)eG zm+vv&c22Y#EuHw+|S;l*}|s(N?p#)#NJa6y~ha`A3x)! zdhJcShFtH>|3>uaX~U1Wk0#9c{3%-sJLZfG@8v@+u5rFY=MI%a>n9<4>%y5L4VWsR z>jCJaW?ST$gNw8+0$IC)F`C%ckV_d+v#EHyGelXt=yqVo&g)l*~KL@Rg?q2xI?Y;TMV!BRataG!T^oxE1e9<|UScMp| z%Gn@f$--h0l92-=Ex9N|7=6fGi{&g!L>a=um#uS@9aLn_lcNk_wq7yCwDB004rK@n zI*sVf<=vV?CcosAQa6+#EIiE8DrWRJQHC&juThxhJr>7?`I&Ql9yMbcm>Cz%oxh&d zj8tX`xPD-UxzIB2vALEDue;I(-vLpStwwaU8X1ju+hMh{83%)Q@CTM^=h6~h?C|!( zJlon`YAHm1inp}Hj2}jV@^rFAG1h*O;a5k1squ{#cS7IAkGb_*U{~rCb2z%(GwqW~ zxf`|e4+NXE|ChN0>DvUZUUM!5Yf3GKbsai9FtgvKOA9j&#IAI~J(jYKcQt;co4{Ef zt8A9<$Ll(;fg{N6F(M(iS3aEu3Ht_W41aILd#I&>c!z$$abQdJO^Y#%EFJuM|F(30 z%otAUvgcCEy>6Z{T)Gnmt66Y>#nzP>WAt-DP|rms@P3SCrG2>GB5(D!@I&B>8W{ssErkOKn+5iz-m>(D>DLxpS$CzwK${<0 zoSUTrp2`}*TFX4kEVW<4H>i%ruG37ireeYv3YL$HtCOJB;I~i#KUARABaP z!|;9u20{h2D8C?Im*&tcpp+B+lvV2u3nyScZI;ca?PvLcegUQ_pzGG`@+Q|^viv}Q zu^}LgX_suY3S=1qsh6Z8C`tF5V?0H#X8wWtAP^hzh$K*wR`k1XX!1<{ZFOypfYRV+3GhXBkga$ zW-7|U0=Dy%UbbYJWSM5~zs%+IAe4ss-c#m!n}TGTf1plL!16gQvt`>CS&Gg5{b-s6 zf!Ta-gI0G-g@oc_lI54Hd-g;O%a#BM3=KQ)W?dXJ{6PP`(ubhpZq#LI?^x(s`X8ul z(HLyxfKIa=uaT~$KP6OuqT`|NPgpdvv8bGT4$K9ph}_Sn)Z3y_Sd=@*JowZdt+06Y z{sL9B8Fbp$T6{9yVEKW5^`u=er`={NPT{L36*V3NWudVapUl`iNmy?*h&Oi{iiwQH zlPEPF?PYV?_})qKF?$fJyNy|piC?3quzlMptXERX8&a>|Bhwa z9HGL>icYKvEb(sdUM!6}i0weV`T>l0-X>haUfqPG&X z?(1#UpSc!WTxSqKmP+pm8x?wQ@3G%__Hw9T;tj_NCh=Z|=Z)-%%ACIT+LwxfnLVgJ zR`8AiA8yMr7u;isU;1N0dJzjx+N>pmqIm+TJ`C%^=r?GK?KK!1X6YO(-0ZcLfEb9* zXcHJ#f7Rx?+yB{;U-akr-iI+M8fA0M!3G$Y7A*!})QUA`aQxA!*o|6w9~gkna4MKV zSa~08a~u5^x}2^6b<~nVtbPgS_zT*=9O58L4$;Zr_@j-Oo3VG}7!B@13zkJ}vXuUM zf~~fns2TeR zhA{-$I$xb|a^Mfg=mdi{OAlCMNnynS=>+Xt3+YY#MKL--``SXawby1t`urP8C+JyM zLfESjHB$)E35Kg|*@}X$!g>SJ3EEwk_amEEs3}ev>}y%US>XoTQS>{vi!d)z6SqW7zs!3K4r+YaI!Pq5t=2LX68mOHJmRWCRYKyap=ENf&Gn8uoP)Q&eg z470k$XKnYz009=pVY$;O7Ia7_2L-qc+g4Vn*urQA4AA>92Ar_+C@XSCI5O(Rc7}OB zv4sO1AmB;huuGjEteH>N*SurK-*WpKZTGj#J~UdqW!+g<%GQ&NttWAMA8U{IuJ#`e z>GRrwUUh(Le`bLZ!~bt98q*{^2E;aDgv)H8lc4f~%>&hP!>QO>Rr&{O#PFoe1J#lV zw2;$l+ga_G@yXG)E^PedU2)ISu-h*VJ~!*GEsmpT!xo3ryKTY}O~io|7_F$^W*y=2 z$~N~`%Z3YkV&Ted)|&Qa;|le9KNwEIX0{3zA`yjhwjm_@AM5Rlg)56~Nxc;!S&Kh= zf-x9niuZlnebL!?#cE${Jfq7-HKx$SaA~gXa!gqdw3X(~yUc4DqBc!59K&0-J!cCq z8LW(jVGySW?P0qw1}kH<7JSiXtS=ffGD2 zdR^3M3s7tSHb^>23vAa#WeW_x_Q(!82J@m;4k|_UVYAA$*dE;2QnZ2^7*N`=n1-&1 zQIGxS)BLBgcsel}tF+FxHNdCO!vo!uF_skXYFmQX{bxAPU3&+lp$ooa6-&l0>(+Ne zrf9}LTJ>+zGV59Nd6$zhbo3H?p1TR}``m~PqMU3CbTujwZdpEvUFjZH+4V28-g;lS zOCzATXzeaG@6yA7L3+cnNY_qV8GX=Zm}}Og1sfp+Xe$X{9JL4=U|3{p{H%Tn-#@%| zGUQ(t+-kqlU&DsC{XNi?w*S@^8Fg4`fcs;F*RWW(^^aCJ3E1X7d-NvO5E*HQa~7>A z-#+)f;5f{cjV0wCaa)cz^U13#3+7+IA{~3;+E&{{z`a9pBt*92$VwpdAWXg3w?Gc2*P6gA zXMlKDVgx2O`d4KV@TK6Bu(@j+{j18O?X};U1^gc7Uu^WR3W~EHhGj3k0y6bB`d39$ zYHwTgInoi>>T?_YtG-Ye!aE$Q0@~?53eGi4Mr*S@Qs_(86f@jl&)*UYM9UD(3=4MSVh1QzjeFoh zYe~q8`0kF5wN@Ug*GW?l)r`uvhN#-mey>%olMFxfkcCh_{l=bvUTl@?s?DQuNb!W) zt>#5RlCAkna-C5HsVD?wFLl{x8LFidpP-p7fThDe%1|>0WyEQQ1zYD#_3?MLs&8W5 zecA=7Zjy}`RK*4*Yqzu-k3?{ht-iJDt4mPFjPA559=@WTRw4-s0-dq44fQ3PLHP=V8H%P`6)%Jr zw9`bSWD&NR7gXwNg7>rg-g_X&d7D-70(d=pGzP)>DMmpn_!ZyIPVa>rXRAHhD_eH) z^+iFQiuV+tbM(Fcv??Ci%P4*J;84hM_S)+_UfHU@RmTbPo>l|W+VLd*i1Ak%3mJhq zHdM7*6mq2vSJ{_-l`n^kfQ|oHdCTG!uysT8q3F5Io}AMWX!Pv8>(zDnTih6TWV>X) zbj|2p}0f z+L^Fok6Ds@lU|0Bg@Qdxr=MD5mTD=;n*=2b_7%oK`OnsvrCJJ_4!eNdcW;{;aG4PA%E36(3MIKjpV ztl|U@Wyzqkp=80v39OR^I|!s|56aL~5ZO3^RaQ-K&9oCr7AipNcm-Nz^V*eYeiXwCJV)HAyqacOSg9;tNBUgn~-i=Ie|N; zk3{`u`Q1>F&B_U^!f6!A92BusWjyc>aOzit#=E?DkFgodwcxYX7^2SxK?{tbaovx> zo^yA|bDjd!w_me&J*t6F3$hP8C_Za%J}oW5>bVe7&&%z8(Yge^nqsRG{V|ZWMQWlg z_SS3la36)7XV+FcUq0D^&Q(Ly2JM}t3+x)|x7!Oi)t>dQk*pz6t%2nEei3S)c>fMa z&aVMAim#Er06DN(z^HZW!>FT%s7CyP9V^`#0)s5cP!*jDz33?5MPaaX&;~&d5DJ`N zgN^N~7Q0`8h$}>aLksMB6id8c*aPy`pR{`@e-51HZiK9R+lzMV9$AM66Z@kq?falS z_d*~}hH2O$h=D^2RYuWnS!2%{hj z0>V5NZ3IpuF}r(1*60wxN6|;^r%_eXk&u$^3n(d!IE|(th*Q6CKOnnP0NWhjDeVE3 zFJ{?CRF>2G?5B~OZlw##k#@D;mS5UvH(9Ykir#`^FaRsvLEi&RRvZwO_k-GB#zkFKn8&Mk*cI`9meQoPLM_P-n6&~fu1BW;r z)&M!8gi=lTUUHNx*sSM}CvF7QJ zy4(dsSKhbK7hM6(@+0b}sH0I(%{=HvTY&K;ikG1w$gU!k5PG))qFb_Zl~r9*v;@-8 zPCH0yIU#j`B&Z$%86%+e0M!8!tJ?`#-F6%Gq{@HjbHKI7nJ-wX{veP&c+2hAp41hl zPC zR{w+;gPZNwUNr{LFiy$3IZ2fT<^$KBRHQC|>V0#8>MVWMe(gy`3ZwZg++zh#cZPG| zL6v)u)F?azKqAq@z_lm(vM*BD^zO8WS3w1yOFjq!*&$={^cLU)66bj^lwqH0x2V2% zpZ(gCC}AjuuDZ)eBIvCPwFHPjc_;$>2fTAjR8a>jP#^}^2;a`6`~OirvT!QLvAq|;fj^g zT=}sTXi$sM2qQa?d|-$#i9s%&E*ly1PvQJDW z?TzT_Yg=EaCcb@zv3KULbpEu-vidxW=&VhX72Kf1*EhEAn5${F>RQV4I)I2a3e#H? zFWgE9=we+TsiGW!q#}-m)bi%b5E!F18VJA$&c-0BZD=_-j!%cEwu4SYC}7?Ih-y1L49T}> z)%F62iMSU)046y-M72F5-v4B)oVUQn2%_3ynBXqeOtBl z;g3K{|7*X9*uAoy+9`SJBoDdL89zpf-IyDAX?ge30(7N_H^y=5o1kH<7Q`KgFC&g! zAMk5X?SC6kO6Z_7kc(GkTmN@RiEmN?(o%F7a?(WPN;d(m-A<^o5|^jvLRjCABb7Y+ zex|C;Ua&i&FpgHe?qk7<$u>`@@A~_QfrlBG{jVY~xAajUlEVSt0B#4WUo~X7yW08)LCP`^YJZ&67W&I~an)%xL(6LCl0&-xpkjN!|Bw*HQ zEs}fKHh+i=d$fDQd^q0H^~oh?=$mfav)2Bx2HwamlpK zNmcXM#xfO^0SiFukr$w|FpC}*04!$U**DXu6I$!!q7OSNoB++G zybYrI=xM``xR07@!}Tj7uG%5@sC-#pXbha8VKY9zBes}!(q1`69Nc)}Oc9a>89=%x zQ4w*#5jZ{T)9&_KzfZkD%;+Qid+hwav@!sS5y}Qwa&d={n@6bfg8$1Y;Y5VLEgwBCk1T z&Ao>l_ic;cj5b}UHjTZD^e8)*1pG;n^wx=^_qt8WEL zmQ;X@z~``EBztyAv{}Ot8Op!_ zThT;dj4Xb)zX#rp<{<@2+8OyNP3HRvdpRvEA-$z=Gg8G=&Vop`Q-;l`Ndm_{FKIK0`O}E$punmh2jT(N-N4yfTCDjv%M;zGkc(>9+rTS zlg@B6z%!<;Ga>ZuG#4@g_BDBNK_)0HLX5!kK*uyFKMVYnj#7?Aj6jk$TU-)#qDEj8 zVgvw$xw0n@f<|BpP*0D>008suXb$pI+6e4|7y*bMpCD7Aj6gfkS;P48F;k%xW#o2c z1fa@2N|8+qfOn(4AR_=$WCz7Azz9I&M=(V;J%tznX!;1H$o9*?`c}XEJ3zg$+(<_P zOOQz5MyNx9Qe=A{0gM3V<57z2Xw?tCo^Tl&3^wNDVTx=z1Ie4Ao&ZXb9j*YdK0)zi zp!o??WYhJ4q6|E@n+{QYsx3f(j}HhzSm{XMV&L7#PQ;)J?^X2U;Om6qL%swJ8+P59a`o?hxG44D!fF8<1dq1vViJ^2kHaR6)HVa=^apjYQ%efURD6rcJK{XdIo1 zAP_&WA_rmRw5vN7X;L6;^&Op)z~vxe`(!)H8DgtfS?Zf$HtP*XE)-y^R~Op)M<8&~ zA<2tKNP@7{cXY1(B3N)nIDkTgtzN}9?T}eiY|;OK6xIQ@dM%OPMKIs0Rxkxwi!^Aa z0AQ=vlJhW-5b8sii==v3PY0W+QMX-a1?pM|TfMSn=pX={h`cDmRhsuc0bW=K+>>&=T8{9(3Qw`dg#K_=K$Uqt~G7HA;-{7g`Ww@DOCq5E2r7#nC7v za2^A3bHZ}~bUXqY{S*YJL5cDG!bkx4>tUV{CB_e@0z*Mz7t~}{pnOQgm(w1AV$zo| z*+q%*y>|iO$beG>&7=$vOGXI&zH(l@(7`L3*aGl!1kmqmoBlDR^sj!o%>c1vh|uq= zFr$Q&{dDyF6{LBA(C;hDawJ&Mt6T+iFE%4^4fUcR#~OVWdC_yB_@CZHZxk2`3Rgj6 z>;YI;c+A@$5M8euivJ0qh}FS=xC-zoSWUoeF`$Y8LSe3c8Sh6>?AaY%gtUb*G;g>8 z1c#K7_BTS9q5`Dyy-)zrLAxPtmywkzj&m15v2AJ=pGau`+MV_TXfgn zB$FgEU9+XIW6lr(H{XkN60j{BLFpMVOF;OW=q$|Y9SNHE;$k4wYlmw0Y9;{mV<#hi zY!T+ikgaLj43~ESQu!hR%TuMZrC?-o7!sLuLsu2{LK(j@@FRiv(j3J>-^KDitZAYa zR3ZU{dO2kGt#<_$JpU^sVLbuVOxT2s)b|7>v}AxR6rgWl#$Y9w_mvR*`cy3MD+5g9 zI^!T@gDL$Ix~ga*So<#Q0aTs_9_n>NL{Z=}zGy2r-~lZZ0GIL60g!}sLJI|=N1-{j za1Me2*P$%3P{8|V%ouzPk}zcqkow^!=&CU6mk#hR06G}nHQ0;(3;3d4NVV&b3y_gK zzx)KY;Vrrx8EJbr1PxQ*NNnLFeG$kuvobm6*RTPIDVQIDu)|t(K8c9VotWsLBM@Ck zS#2>^R)c3C5PCd16*6b=5JcOzfatjkGH3V{1hPbc&V#fZ9)l?CygfP0EMfAgqZYm5uTO~+5oJW zQptC&)^A}k69ov>L@b){FcU_FBhzA8K3W9Kro&3Sy3}vWl(gPB(4*EZU z>jG=%bOy%wNKP{s%-31YKUU8u8xa)=c$ z0;FXK`?`B*m;kk%NR}uLgxkF0Sn6DGKK};0p>5-{~2q#pvxGdF9T(t z)`ziJ6A}we$ln_{A2=360nsIdg=lUo?C#v9=7s9G515P_X^ZD63G(44Qc2y zhW1^7M7oF#eLaRQV`v46O$%;?g1sJe8G}CpuzNG^fTCJ>8N=GifMzm_uc{Q<^a-dS z3k&~js8%!G--ethD*T|wSr7s6?p9>wgE~ia*kkD!AjO1MJ}6sPei}5y2rds=`Ji&Y zIbc_ME--|Jt$ff)GU!{OMH6N(fqWNYF<5W_=pm53ow|VcKERXoLW{4Iyp}NYv~(u` zAp)&@P-wy~2oX8&v6X-|fX7((z~avZM+0#swDLi}DAe7U_t=rZi$W_ObW`i2SnYYz zUVxi!_6u3Q!uU0)&A%0_ub|r{h5=3zV*63*25y%aKMW9@pI~7+x?KX95&8+H;OKS< zfF*Y%Xz#G?5&;3_b(91F+b#h;(wJf(&O?{(#@a&inrI0@DV)a#l z_X37tq5U8~8nwOO+IOa@kO5POc&s){cEAF*x#&gv?|3_m$e0*{?Jlx!7xxKV zDod|Hb;z)6r=N-{Ae`P?iiH8KKp3zX3TWsi0U+1jVl9hwG}9SGRVK|7&F z0BY~~-unO}fGpJ1)s-hOBhUp@J;5X~zmcW>0br&aCrRE7vPx0A{oQbq}1%3t1&(83)}48Ic|}0|SL7z%q`Y{0Fe`@GxcsfMp!i3f5Q3Phdu1 zJ6gs;n;;{i2%sxaT?<*pLEndrNO!aqvP#G@j%W_Z??}*=2WS}w9RV2;wK!=D!g1$& z_O55x_9`}FOGjWv09eLBCxS+xjP16iU4V|V0TqKrBM5qi4ugzH4{DWYg!SEg?>@+g zbbwYVEZR5n&>^4^@HSvZ09eLB-vo`oW{9juE#t7de^fGzKZmqBJd{^@1=KDKDpy-) z2S8h?cHOLo&YhmJM{wTV^WXTzsPjw^wfHDQdS&<08wXnRWMBhFQ2aBnTtH|4g>ApR z@wm%v(N|Ekv!F#2p<7Z%dmR+f(vN_nT?yTi+ExvXp9GaFw z-N(jTqWShwfBGPnO{!HNkc0)rh1RGpY=?>qDq;qwTWACTNwkICDZifm!w7Dl_J{0< zNuP!W9D1YWry+MkC)vf-TaKmaYGDhcOhL(x+cQ?Dj6K%6xD2Xd{a@7RfV35Dc2a?` z3t4-vkATjAs_V270PB1lDuycv{bpzmLTwbWyOGi+s3oTG&=|LMG;7dubvrt^4KteR zU4oI z-3Yrfwt-V--O+7OD>&=|nl48|p_)2)?;7Yx=n}wTeG7G1y-?oZSL{2`qfroMT?LZ# zX-J#sVIaR72I;u6=_L%CP~OifMnG0${}E)&%v%Ksgh~f`w?eh$3Q$7FnAG$wf`rBY zV$XZZATN{JPlRR6bAW*Xa5h)z<@Jy<(b0CjL`o^yd2+u*K^Zef8K+7=<;S5Y*|X1o ztBoLNs52Y0u3Ldx%ZDISqV&IlG542;TlGJf1Cl{>5J)b!|AFlf)kW=SbkF}ewZC=Y z4bRFZ?Kk3)?gw>zwQb7(Yw!Extg6brMMa2FM^hYsgvZ3>RkLGplZ5_*p?7@n#W#mpJV@neO~Zf^_GPq^>me zWf4Ck!7Lc}*HT-rAS!V11hZhm2B|BJWacjkX2Gc2L;?|U+Wa3ybV4u-M#vgV_wsVl z*@uEzFw${;(UfXgMQV~}!O$C}w9AoEd%-LiFZZ-aAR=$mYFRF!U=|F$A`*yF$%JfP zItgaM2-_4ykY4zkD5W^R9O|yRIewhSrTVH>Rx>H^r3X_)Zut@b93%_L9EKCa)OSVN zAws&MEF>dwHy6Zy^)JdoGD&hbH;dfzrJ#WV&0Fi!>WOfETBhhyw&XkZ&)-5-jjBDTM5|KbeP8e6#fJdDGgU`_|H+O$jKOw3O`LIYJ zqQ$9)MVd_=2^Z&Owu=NJ0)Q@&$>}$~4@cJjRZ4Z}7LjJ7Be7BE{6cE?6h%%qFS9g3 zROhE6frxlq?j@1`J|jp38z+hdmH=S6NVA3e;qa)sMkEjs(z(xxvQLVbum-b5l3!Zr zeX@maz>q!)m@`kLuVfvABGy6cMO!ZzXyf&YjENGx>K3_wg8Q)K2*<}qSA=BNK&yc1 z$TBTTn=5OHrKUqfubaA3!k!yze3JEQDdJS6KsbLsqK;EUOo84n7!g7z8ch9|O9lBn z5%=g9(~v-XNZ{i1*GKO4p^(fY4VRvjs6@1BqO^b#7w8g^+;A)A0v})t z=xtJCMA)CyJs5|(WjU>-%`M7^)*`&Qbt76gi{v5V0w;^IoBS4mOX(j)N-#23CyHD$ z!6^csCG0pBeW zs|e%JTO`?8*(D;It@Kf2Wik6EJdCkP*10UY4&D-(dDnn1Mo!qLCbIA5h=6#$zdh1hL`QH~` z5@AWxE4U9}R$9?C&+C#UPD>^PMfZHf(j#acw_zV4c`Qxn5qU0m;)>?^SBnIqgmt-I zk<NRviPm`6viZ6hjd3$DJbfTlzYoEcJNR zesFPZ$BNLo6x0zmbzdkD9g!!#gs;JD(Vn!Oj`3AidtQPGVNFv3*ZqzL=yXWR{^h8n zZWTfP0z4|CQIsUte~Pl&skRegHQahx=fo1h%Df{YwTG%!n~-IYyy-Txhddm5$I%(aBBl;T0%50XNw>@EBVMe z=_!w7yrusDdj)sUS2v(=GWCkdF})(u`_%olre^>jB!jkBrOTh)5q0MKPG;9H7a$iS zee|a#=kBr{X#^wC?B$Usku_&_c(;WAnvaw+y3 zsz*uQO0&`0Jo>qSgZ5*s=WG)bR6eWoQ(aA$^f-- zMV>fy2n?#!%M+&_6L>2J*CuiFdg>swwlFIy`|ZE^(GtahCE;R0D-IVuDq&3nB&1pLR=OLJkWo>T zl1g0?Hw)_^B_dciqqTYBUSad1_=kXtdF~sLX*DYJUyx|%xsoK8{?qkH(pgF{PAyz4 zHyd5aTf;tRHmchsZtel{C~5+%j)G=mR@xdUsphGtnXI8`)0;!iQTBiL6`Un31Jzyt8G__wA5Ivr5+Nf zoq92K3Ytk;7pNjHM`1fTaH-b~H&EO8I#h4;vNoJy(#$l#yg( z4g!Oys7x^WigrkFdB7nds}!S4Apb6i`S(2Uc1cxx*n`7UpOpaf0M5w@xCCRcMumb4 zd{s(bC)S}vi3oV~RnRCQNCVk^vO=){kG`Vw<=ToweFErgD6Y+(Ab>EmP*Jd<`E1yV zuwJaO{Uy=7@_tAyZWq**d(OeoRXsV73@q=5I)9!2gY1rRC>5dkTOUy8_aEe6P4IqQxF4_H{ z8HfHpXutrrNp_z;ibr|SRCz0^f$ZYD7Qg(^I0dLey%*N{ z9D$r=1B_;*6js7sWg{d8oa1kj5J2Ui#Rakv5(Cz&sLs*vg$bl1jq48BwE|aQqo_~h z;NnD1omN;(O=Ar7$W&3@=%dgZ*lS=(<|XE}-wUZZU1q?wWYv!6A{S)c+<~f7?3C}I zlSOy&7dMF)yd zd=grm46p`KJpYs+x!vzdj#H;eG-G7IW0jXQmG-kR;h1I`+{K$jmia8msJbKxFN4lb zM^afDW#~eu&RhfP*du8%B^gdOQk6KMRQ83=&bJuo#nloq3vryxH3&S?`4TZx?}ic9 zosuBmAiEKTfC3!WQ9m|-@y8`%CK*mP8k|ZHn^!-S@XkRUb&y2N=xk(Z_{|1k9aqv% z(-RCQ8x_qcpi~8MXR~Nd&n7|jj)%Ko&^IMwH%N^8L@w*Ku;@Skj38BG(5h4`C1U1` zh33r`i4GbBfL2kugJ3urhz!XjOOPA8P-3zSF0NN1X2B+y9II|LK(}v8#Eiax0HA)Z z26@}B4ti9CZl6Gl^P9y@@ge|_bVBno2VQ7W5b(6YFGHt_oE-;3XNRm~>VQAMm81{*?e9fx3Dwsm zJZ;b%SS}GW+6OAkMv1?D&>x^46QsL(f&qRq(l($gwfs+D4zwG1SXH+`%)DM)2{c}E zzXo~0Vo{uIK03v^aXR-2!6pse#YK|4=;DezQ3tUhL=~0f&4X^TK7&jh66HRvgVuns z!S{eyS5zzK;zqfnB09Lcx@QvXpq~k(%xi^_Tv^A$K|mE%<*DR!H!N8r&=fTt z>xL#9UBPq^X{=6K+J9;Eiw&4RXr{Z`CMH=#WogpEp z**7A4YE%fnBr-lrk~KZ_ZFWlD9BhU=db=cKIkcmq5jx>NBel3;yuoE`dqDDLH3mfh z=I<{-=0Uq{!zUzfc9WBjvqA#RgUZ;;N(=-%$t{>8@#+s^s=q=KfJx3IH*cmqVl1o# zoDV0tZTPT6?1p6Y63O=CNp4LhKrXA$!;{<^a&Ohnd zyRN?FX|;C_U+5`y_3Lj7_xEY(3=*?(>nE0+O8qdn^RIj5_!gXyko}1PWu`U>TndID z4)L22<<8*RhZ&B}y0C&|Le{|yFWUT#81dL>kL#yG^& zXS7Rv8G}b0it>Yd64TLQ#%hTdY-n+lCEJf@5cY^W5=9DET_f54$B{uYB#B0jqnbAh zTCa|i#4m?{K@`XHK7@?(HumN5OHBP>WJYru~ja)kk)2O1OW#0Lc7k|9i>Zwj`arlVxw zKM3;shumoNAxtr%0gE8fn!eck*RM7{4K{1{0rugx7hw+QU|;nLQnYsO>?>D2KPQh? zaVf&LpFlg6deH?w#gqL;;>Hugp zfa}09aR8{hF}Lv5btnW_LlcI?-{=Jxr3zia4(+}o?naD&fkN?OSs-tSA5Ite;%GK- z<5E^)pbT!UCn*99iy#)~(JxKRLkY(xSUfg5&Lo&D=98pMa_FwpW%$Z^gz{5JnSffa z;L4H(g^hocJ>jXNUfe6) z(rJ&Wy|BlWb@*-p=-=YIe=*36AxUj4y#qMEsaulkGQ`CtrLjQ{_T$)X!VJ-iA!cLr z0(244Y7;v{QW+cMQ6@aygO%*=)rOM7SXv7#;@zY|t87ItV9&Q~BGiznxK5BOLMy@A zf}*@lZB*rRy1?hA4ny9m^Gx`^q$-xi0T$pp+f7`HlA>6GIU}PZH`qLN|7?P4lA2gL z8lhT~5vmDFVuM^#+O|-Sz;qa7a8bFhAR{$^V%aX z_OuDANeUO?m`G|7cwcwld`aD6kV{IQ0!=YNHA&fG(1lu;k|^kP(V)-@*L(fB&gybIJpoj)S+uX zq@LoQz!s=7N@kNpQ|U^GY9_gC)FMH(MuciJjZjUHc}1HMSIhm`1l1%t4R~^)L@43} zrSf-}s}&9UhIMrQ0Ta7$8j3f&j~Ya}S_B>Ef>zjCQ;SnZFJMsXG@xpWwo0-H)j{bL z@wDAlI?y~R)7%@7f-;z|*)q?&Rgh_*P?|m&%-4(*%R-5{HVL#u2@U3JMx3fgkcbmD zp(F{DHn($IW;hbYu@5S89SWq6C?bRBK%30hjI@0AH#nyvXhwFv$$ZVuHEj<_EVg$8 ztEO&#D3ke`QE9+iFthZWqk*)T%-4(rD<|-F(jCC;-fgmsP*QPD>u2#64HHn&C{MZ< z85spZhTO17Nk)14`Q?A$FSE&f&CWG`x1j8WZbJ(-n6DXaG94`dH|KC5u154%|7O_l zDQK27;@NHVNJe>j&Y@s&^gRJw4GTi97n^zE6xg7IGvkLZ2l@$iU!kuHn8WbmB;BFH zO~`a}Oj3ngf{O(1D|#2mZv~4BMbiy-Z-L6=V55%< zf`{R9BtPLi#bts#hhb2m@mRZf&Ukd`FE+aL&V$$)5j4)^>j6DS(x7fwbT$e0g-$~H zqFKNlhR>J&Rj@B=LSnevHtcHJeJwh}I|R;T8jmjHCX<}u4!T65f%gUSIxPPq`Uz`b zNj83&xSSzSFKz}bjwI>$LkPWoyR%7f8T(-0%zA0yF@h~BTih0b!8Q#n&T~w9IkW@| zB&PnSQBl&9W($?%)hq@)$}7Hr*;p9>>=aN9H6HRLFg`u+E5JL9WN(n zVjVsKLML^zOqHmi>Ck2Ly9E1BGmrxA69fo{L7grXsEguKP=_&eKD)`pZkuTsy9GaC z?q<+sHTnu_8P2KjTd%(VG{JWp`CEe3ckFxNb!65^D1G-{+I?$pl@nNVVbG#Gf+M<8 zz!F^OKQ)*~8ih}aJ(wkgori+*FN1lckwz1h3FlDZyvaP$$i*nC6TTB@EIVCMgU2`- z#bh4o+!k4(@FEnDx>P^`ht($?C{V|_Wl2%T4W$85Um0c-{7>}3-#>L&=Aq%$#{HyV z8T3r&Z+8}et9*!4t>3P`k=gaj1;A61yCx|+YL==&?-4ksa$f?Q<^Dfx;0|BXpdgr; zM-vls=^w%dZrS1_5rL>HD1vS?myIMM;GoV!>c^Pu4qHBcUeGc>TnJ)(exYw$e&I1S zSgf%FXsrMY)!UL{4>t?)^oEyC#|T{S>Ugj?`kBBXT83^*1+MpIlz}?@_eS&+PDGP* z^&0*PsvS$TUqD%Q&K4td>lO4=qYD543LS5sU1+^7r=(bW2%TT8w zbbEt97Rmr%tpME`6H~qZm_QcF7AGk9@!Jt}JHItUH-WyUuO|lGer1GiIY9?bx)>}j zSSAQglmWmg0*Q7G1OPDn_eS&+MmI@}clayNMFNR-4giazcNw9Z>Tfv@2=*qBlR1o* zBl`&_yc~xuu;H)ZsmHKH2jjrvyo^biZfBSkNHm_oIcz(OdnKlYw<(qiSPN5SHz?eO=%qEQ|RT1Oh$(1fVSDf6BzWAS*L%dINB2 z3}5XL{RI6r8!izTeZzLCte*9s(T@Iu*^cg%#Dh^=)4Iv%p#lzFCZnQ))&`(|H;gwT zG#yRP3pn>!aEv3e?}womJ8VQVW{1CxsG{{jpd@57W`~7}zJWb9Z5M-Fp80oSl{&m} z>$gj$JZBF9P}5}6Xf!H@eoR318c#z+LS>{+OT zjYfG!!YZ+tXG{Y-YBb6-+R;`)*JV6F)Lb6po`5pCYLkgiVV)=Pk`>SxjGcm8TrL)p zi9%-pEmf`zMgpnOlvyYUf|M^#GBtE9FlE}#HKU1=siAGBr){NPt+rDCSaOr}lLK{h z_CN1@IUR*D(oq=AC1>Zrfb>%?zj&{S1)=T%$C^ytjEV@_1@dibaBd8rs%Op;W!dN>N1~L=o`rUfQL0^3AC1*H zO$Q9}uO^AvqLOU*k#S_u;&;f;7#58ZCpyEO&@Jf^r~so4hQf)lfw};}Di`)LVJqWt zWmYQlX22fJM(jqmM($70WF(jOh>j;zn>a-ARP&il|PFqAqM^O^9y@$;unqO*G9*f`M>Br@cn_Ckm)|u2sud^ zct#mR=fn30MZW8=DABN-!{l*bjCS#eZLD0&WwLAoP+p?11S1M6)+W$K+xWFnqoFp! zwYi>pQ!-*Q)D11VN==JPbEApK{Mu+e9GeIH900 zH!SdcH^>_`P;LnXb-8pwy-XI=GK$XY{p(j7{U2nnJV1PGLD!3-;oU*zn)|k0$pow@&{V`;GP;y!Rbn(RV~6EOIwVn$F*<_DBxMrj z7jYgBn&3-4hKz9+bmDqy0?(?-B!ay<=zS=Qht`>;eNqd2e>B0DUmM+G#u({3`2MgL zB<#n@n$7PZWBi&KV-(D64%_*)1sS8x;w_Sy&2(tJ7~@%N2eLrYx}Xeug4|0{>On)< zZ))*|K!PwyIv14PJ6ew2mG0FE(ME?s_hW^pkM4u-_j7!Tr>6ux`^!$rQ{C8I`CLLm zgp#536>EDErdQB?{My1kqY|smunWImp|nf(LJjF|jHl3DY1Z1aGgR2UiAECB=b`(t z>;xm1UL$;ekWEMpAblFTA1l{31->7RB$klLaz^75?%6?iCxm?Fo`b=#%C%v#ibfKX zS)bIogoACK`$nFil_|IKFP|v&`s3 zp6`;RS6}%a;8agKCn=zY)0QeP`&DrJgDyV7(3gy>sF1I#uy}&cG)AwA&o4V$D4s?m zWh2rgDEFmFys#LKl#Pb1Vi*h;^LA(D9UB2dL^iehs+mnKsrIF@Uu$}%>`*Hud^BI6 ze>?xIv=@-R7f|E2Yk!nB%-U;;Bu<+j+ZpSv{7@@80P37dI1&`l(iUK7Pcy5GlgwN8 z^EW2M5wrt3b}AL7pgKKh=gnR}BN*9Qp>+lGmgy3nxs4XEqjLYCVAK>nN*BK!r&^(w z@AO$ni>j{0x3D$S!zU)X=TgZwZi`MIPKby~W;m1| zXjG4mz3FH3i!+?+91V8&usc1Ul;Ez}ROe`McSG3qGyD`A&upr5bY0!8*rC3S&ylS_ z<&m&sl>cis)w#4dK^p#AesP9Vouh!cV3eRbg3pqbJI#5(g)Viosm`UcQ-QnWIB@CB zraDLWVloV|<5|+9r0Sv9@+KGpuZ)BQg686Alrx=RsObd*r2YJogpkpUv0pDp5}`KssnoN}l?GhV~NS0n&aiNL0@YI^tGrsbGLK1t49`Y^rmFG*fX5 zp?E!eFAS$TNBFJ23uP@_$y=ip8~18zU_rrGCD1x}fHZv@xG!8}<4gJ;RZx9_N1jgSwSJ{o*vlw1wfnH;T=D6W0n!Te z@-piV9!aZUfOOE85D&X+R&^&DARQh9Shrd49b&P=xxOilC8QCPFTD0`rN9u2z%ZAsG&CA|+tf+CSHWydbxBKI2JOmV z1@ALu$x%7SK#U8;fz8HLM_-Gu6%=&e_W7-hFDB?VYtgXA7g#~`?t~C2!^EU$aessf zaCAJsIMd9expWiu4JBnxHJxnA^>+&NKHtJK>N|wHVpp&mwF;Y~37JOV<(`HTS7~>s z4jctSk>5E`;wrH$XvTem)Vq1;Wil^f5 zdoFIXh-OpMH=)E;N>tc~?NO&8A@=BJpu|-zZXNcqpxM;Uqfp{1C5leRWOQ{xTqcsn zo)x%F=R#@_Y~uS~1U*>dDm)y1@mWX>=nFhwtJJO)f4)*=DnYa6G3eEsf@^syK0T^5 zfz*IL!7q;XhZ0wDh;wNruIf|BtBj-`98*~i1`iyM zJ4scM!80I8c*pYz7`)&ayo$0*BtwZSS>evom^;4LoXfj{z1#69fvO#S1wWDF%W$i2 z+V-kX5dRaoqL!OAcaOeT6P9WPGCXIQ&G(7~s6n8Y64Jg;VX9s!qI2mRkQ&SfzF-$O z=&FJm^)raP*#ncI>9fCrio0q@v){rydK~Y7Zot_hRhoJEGcbh1+eH@jKen1MhJ4j^f^PtBy$qjuy7TSbX*3@ENSyk6+y7hG}}GiRmyj zy6~*||55c-U!8x3Th1G^7qtEPX36yHC#~wBbiDQ>4VS)J!zsE;`7`~gz~R(AJOWmj z$#$Y_JJ-;A+7ishnN^STE?Zk&Rc*qe&=KpUWN zHhYS7vr_|8=akcab&$3D`g4xjdG9e*W>Sp8pEbKs@l!?52ZZ`Dpuki~o zNeX=AXpsVx7l}Q~RmemA8uzKH`&jtx&@u#r6@NT3}X*7P=Qr@qTOF34v~;y?1UTBS4G#n;#0_A=7+I+ zguA*`qx2*MLga-IR0ZJCSZ-~SsWVlVkv@n3B6Jf`o8~KHUo2gY zOtvt`u8mraU9k>K!lVY?=&L#)>wf|Zj2y!nm3f}C6-8|5N_K6u3}IpQYQxniU(I*< zL2XqG#r~h5E{(o~u&`!r3!pY~*uLt4gRrn>wYar5ZQ@f7rOF$=&)xUM2mh(&3l3{f z`i%Kd?Fdlm3zEk?b;OGgUU(f{oX*xhG7Vq6is6gb_sH!9iO6E}ofnJ^rx{T77uZC6 zS`Bmjs<12S)&TAL3t077#jfrDiB$h$ZbZ1DEruI`&KgTxax5{ z5tO>wdUV0G<0>zOU?M0T&8K%&EyDVrATNj(A}p-tYJ&0dbU3#*PvJOe)v*&CFCXOj z_;}R;+5eM3O+z)2uiifCCnK0P9AY1hZBY+Hn4ZMLwBZo@sPlLi3Znb&(nJ&#k!cTs z&af4^#C(SxHefo$zGT0g3SoLS3uU7vo$I&rMXshp>`QB#g*>*@#IDVBh1ht<7|ZeY6*}81dquiyx>UMMwBPzEHz69AaNu zTQ}mxK`&c`Vmib=QXI4%@nU+Cb)j3ch8m8a`_dm6lOr^3{2Q%p8REtCFuOL>A@)%> zbwVyN&pncJp+l(?!z+qj84j_J)}~;1z@5mgO+Z)YeJY)2ZFNn=v|F{%8uEFW#Td|C4q zhZx<#zAu7DJof*o{4Pb}R>Q5@9)P)9tND@$TZyb$Ke+N4?-$GJN z_a*~G$02L0_G}gG@Ibe*i=$5z*=Ifo}hM9()D(XKvFG3Pmla*Olx+mW}w z=Hi7O!ijJS>jtVhqZ)LqQH2`ZMJQ@qKOkuE5N={~d}uQA_t&n)g*6=XE>;)ToKY=O z%ie;VTzE`X%~`qysOaCyE>19}s(QJ8A54YGvvmu#XCxKL>i5w^7SXETZhbcp=Us-B zSuI@Ccmznal;xjvF+z&!gImAdc@XhrI*t_=nV{FMwuUXDyKs|fK6o@Q_g3W8q?1^2 zp%cs%UOax*KY#W9z1+lF)_9E8@x8HRNeJGDL!DY#@tFhayB5!`+C?G__wcjEaMi5nE$& zdqo)Raapgn-;0v!YHcdI64}Zjm~BxFSGAy7EjgMeKqiTKUSkJch7N)5G?I)3@NBwnt+i>U^r;?1?N2ReSc z_#u|Hk|7ky>MsPc?Q>6~go5fn*cq-yV(mAxr3B#|bBadiBeAAuS?I38E?ZoUJlu(Z zYX^ECYL*-nP~SQagpzxVyQX!};}EVFvIzl}f*(h}~g9uX%c8vh8*>u!}$ZDU0e~C z4rkaV9l<8#h^XZSbP+VzKFPYEYV>>UX9(W{47PEI+17qAEk|Me^>W4FGCcZY8SJ(ZY0)j6Gu$_b_?!?yIFjZHM@oKSGF~}CxD3F zhmvk$%!@_Pym%XnqQw`?lc~FqW5-|2<{Q_@g|*Dqj|{U{LE(XL)e6uj*hRm{H-@!{ zT~i~%Bl>q%S_CpKdkZ2I77b)ORCQ zRxO}WYZoZhs)5r)UaN8c!ns7qe-vEAs$3oP%EYq#gaKHuwD1MBK(PK7_WBi#=NU`7 zXSCGKbFqXu9lzVcqh3T(9WG+8pZj}6wrXx)G|vZg-0-^Imx#Qau9rZeRgBt&BfDHS zOWbcU57BqRalQ2mqOrnKBMPq;R=*QTbuCtR>_Xge!(Hs+1Vg23X`72&(@kuzs&ce7 z$LI1VfSY+abQzcbv4P!fgO2;`8(HmlJYvZ)%U`tx;nDJI5)n|IW!{>nWd@w(L+@aB z^mcRqMCYnJl2LUOXK}_HQq1jR^xEz}fMnFXN@Gpi0|+U?u`HpOWo}NlY=8yL^=r1t zhbY=^`~6dgWnMzPSz_+K?7^`!(-1`(LrKe2_yAJ!;0|h4BS#ryEZmq+iMbp#djsmg zaj&h~jq_m*S=(i7!?V95Us=pr>0<~g3O8_26Z0n}+ZXc~s0X{;+`l%L;3(Asn~yuA z-Qw04VXuNS>gKUbge9{OrF`#3jA7soC!^z@aSXS(HaPeuMoQH+=(rao1Fx?}^dLqV z;S7SQY}9j{c{HRm+=dWo#$ntk#t6o+h#36@jO_r~%`qQFmmu%`KCG>M6$0Kk3B3nM z=*h{*1=wt}pKn6@$-?Gl6nTp~!Z)EaU_UbEmep!?kqq;(CFq2&VJGvVOm;pi)+aWa z466iUKa!`r;3H!wLCg)P{oGnkmyCW@)Ms-Et^k*SE@eQ)SH1iZ#0jHc=;H%efy)j+ ziMdyn7lSP~i{fnN;j5qpWO;?e*|fMdevE{wn*l~sHVGyQ{lJ1mxS-6}Bd!l+n6U_f zgqMO;dunERi=`~aJjQ}FGzmZiwKGAwX!r(-4%MQiSA2?x2%lKj(jJG>E5H%N z2to(6D{1;q8x}HCH)CL<_NZzVTg+qX-6wzN&X?2q4`Dh)A{}i0w9*VVKZ5Z@h6Ff5 z9Ki`uZZ5f;=|C_F9RoY=6Fl5|)Q|vU+M}PNobFnv^PG+RLmrK1))wY1G6BK`z@rgn z>Xx<4iKk;Do>Ra>q06;XqAAEOj?qN0uPZe%rc0bB10JFV zW^KNLfuLHyfu9F{WM8qq>phOBWo(Gr_rOE6izV2wLs+e_cn)CYo??5?S_*y4W3129 zqo44I8^=C9=L!BHPrZqQ=?p;JSWUYC7>!|j5}fj3mwCE!XE+T^@d>ls+GvptOdkLq zqJL(fEJn=Y4o&hq0MnlVh+BK}BA7lFJVX~TYx5oR+NY@f0Kj(NVF#@2aWH)!K-?H& z+d-cL579~vrd2mjjANn9eUyL5Q%ML-dFod@;>NEHj85~^AskG%TO{p=i@`%-Bj;(2 zyUmurV+X2)S({+=G=S}47iTHZEP%Li3#Ctkhv=OQl+_QW&j5%UySA&qLv#|eHs1ln zIBxNN5ky9OXRjKjLKgwVjfLq`z(X{hh3U;a;>JRmdYFI6Q{xyYlkku@af$gI&!*K+ zEnr%0<{$FZ{><9KMjNL`D|jeu=NtoZx7qS{JWO{1VjOp{5Zl8nw>Fvx5I1h25Zj3_ zxTv-JV?-}*vDLrxyRN?fv>30<;Fk`1`>eV%MV$J)Ql6*(gY1G=>TJm?>YT- z8l4)9PF=vL$2je0`MYFvnT;qHpMn&JbiVr+{vp4}r6bcWkSq`fVbl#CqWcn&VX)aI z!@vP~w6vUCn=?PnmIp3Y%e+;z769gov< z05guexHhx22K|Z^tL`WzKX2(k?YFWaLX7TVii@3|!0BCr?&!CB2 zNc_VA`v_5M*SC1n6a|hgu>ts+kkiUWR#DuIKSaTCFMsme9G=4 z{8OI8maB{dnMbjw=y!u8r*K&!0^x8FSKQIUri|f~ne+c69)sfk-UxmdZaHtvsSm$y z8}+Bdn$uApbr`w6HW5^NGVpH1s^H)v@Dy$17N`ENjXH!Qwbh##QUh7Tuxdg-0jJ0+ zz`bI1J#0(PPDcw0JNY`{*wuTz;He-H)6s%P;E0Z2Tn034_cL63PTGjtW5j)GFdGq! zah!7t30~YsYJQiDZu<(^A+dLX-UVzPI-D`h{JeSR?T9TpzW~Wh&R8blCzfv7F(^Q` z0d0;a+v*;GNos!vI)ipJiYM+#!xe5rMxdI)Aeu&L+UQ@N47yu+FGn13F50SY z25{{j#OR{%BH-kYy<dWZl4(9YM>V6fkXA3A9rMqq}0neOJ(iAqwE)OkNF7 zNrVgLn^rCulq4In@o)!D+l!MIIu_ZTM=*#M>l`q@2c;)?FQN0O6t5nfMC50hFD^x<5B5-0l2p4`xG^6n26x|NM>=tGSI^*9amrZ?e0vFjZE z1AI2Ux)nJ5Vp$n%$U{dmi}TxoZ5k`Lo&p_tyiDDqM_l$qBXIa>7WWu}>#I4qeysL z1IB(Fo zp2|pzoq-uILb)$7X|)QqH!2f>VQHc+L@&6^n_#6?G){SZHA>LQ`3_>&F}xy^pZHY5 zHXv)|9)aBlMz9^syE$X98~BW3ue?tvmA-yCBMcecy+?7h%Hvdx~*cFRsEi+aFD}GkpnjcCnve$f( zo*w=&e+8%VX4$w17j4}M9t$=zh*me^(qu6sIr?&0&{o1@J4P@6gH5ErqX{Gk_)Up$ zj98Ubc7|^Ogr|WE1}I?PXyl2$0pR7@x~01&fx27^{Is$BZ~gXJAZdTYSqyfz-DYDJ zt!aAQzn9pl+O8dZoOy=gcJu+O9fkd8Ryp;O(YmEWGCAh+ueOQC zb%q{bNj+R-Ec+AQO{0UcHbAa+CL!--26CUoQ$X0xqrf%xE)?u`^kZO07bc-y*eX!x ztrHg%x>$HtS_hHVK^#tLp++JKHQ3x!8_uGkKdeKtVCB~8pz(m#ujNcn)Dc$WsX!S6 zZKv0Z$sEUYg%|^vLcA|I%Gd$ikQ+aEtexda?*i&@DtC(Y5>e#x(}=zETRz`sELTr$ zGdCovUPA3>_N^NQPQp$2p&iv;2+A!uZ^#dU;U6!vu*nVgk@0_0Bb5A`S){hfQI6Vr ze3v~0pKfGa*ETWf(nqp~z<*>s^lKO||K>!rpr8%x{%btDo#9U2!$6nnJq2OWCf*ly zBP+5tRp7p#DMX0ZYP#jIw}Ts403)ICB7w?EL(=!)_2>z9Uvv>0n#=oZDEr!Dw6C7$ zLkOA!qzhU4=MmF=f;RE{qJc=iix2QqbKSTK6Axnr+w6{T9>_ph3|EQ-RV`!D$fvL9 zwE?vNvZ(R%Eaqdb)SiHN5#7n|i{=(|hP!yGLem+P&Vkf$jVQUi=PPizc#4?>YQDk1 z1x-R0fky?N<7;>WJ;~c>)TH+y6B-v5zsFIVJ2sbt+yrn;np&Fe`m_dtb+=$m)Xs9! znLFOA?dlLXGqt_=JoT24S-nj9YMWK^0A0?rDH>ZZmdOPdXx#6g zIxO?jCv*OR#{$p8c;;AF_YojeZSBPiYYkV;FF)ZkvXF7_jIXTUx9Q-Rum@nbGR$V_k z=ySm2JW%DZE{j$1;T)9D*wM!~hYgskoyIc5!B*pE<4@AsuAB=qKC4&!E~2R zQ@Zur>2?6qOs^c8Xb00dzS@!MR|cb}(2Uh`p*VH3gP1{TCjl7wgyNxqLo_7RtJLwojMop-h8Rnv>%tHW^-=&35JiZDiF* zkY#dN)V(aO>vk-P3Ug@+7SKLQ9_!+su9nf_~L`wkfZK$ z={}6p$6o%%374D{F5B_og=q_;ThbOrcfMTTUPZ5u-cb2#8PvI(Ws_Req04s_)?cgT zTy!&oIv`z42L$8*)On+xKxx0I#S1Js?0tzf`n79o0pzezzc%`|9XTX^)I!)-w@Pfr zhQHR191=fiAzYzfo9F(IT~etF$l*KoCUW=$Z}jVw`b7RQI#Iue;W|5C!O4Ido})*y zQKd3mw=XyWRA)vMd9K~XR4J>Qt+@7@^}KBraG$AL#&(Mr5|IVz+SLn3U3gfv>=&6? z*>K8*=JI*B@_Iy#tC#awU&H6;c;~Fv%3hV{H#En2&ECio4~Fk0 zEM7>4y8w;q(NUuYJ{nJ3^u+~!(XRNibN=^P?DO+nX_jswnro*OpXdcP%(n^jThmF3 z`Wdej+BpZz{p`l*%!M`n3UC!J*_*DyS}V`lqOG7AS=gh`_K1?FtXOT!hD(4}cv}Lr zLdLFEsxy2iZ(gYXrC%H^<@vt$y1S3CClNGqL*OjzRUHnn#e5&N6jAs0Jh(J7$sel2 z5?nwRRpN%gaqw%1wtq%*t{z;)dw-08CNv)S$qLMtS0>N+8?ETdrp1$wMd#jEv+oMzUkK=Nq*z3Lfv`>GwG~1@xDbZUjtLZ z{5+FP1ZwxRfahg+{0~>x4PNyO*pMD+7h8IP>+tSpwy~)mI)d97-odk28n3rH!%e(j zSWCp|5|#^j&c6Ckj`ojQyugO33U)b6bLkA;U~)71#nDkbHPPx}XA^HQ_31NxSeY|* z-zTETA@c{zyD*i%3u>zVqSJo7_eKw$px;m{<7(21gT)K1sS7#|Xg|&Y!Ii~~H>LQZK+w!Lbfjm$*7S_lNF2=<=-^8=!Zy9(M|$H^RMj1JwlBw>R{`}G zU3vJl!|<>qkb1uRywdTikUvY@mFwwq1 zPu#z8%9&r$FaB@_(LQt4^K%y8kbTUn9T>mv70tlKU8q~6)8{i8N7 zxJk%w8OM9uwCawQ^A@7BkDh4KajdsZ9|KU2@%b&|k`QZ0Qw245&r{v3+b#GaqiEZ0 z6)ot>={D(4Q7al2FC>B@xqR1Tz5gM{$I<9*j9PfoQlZm&7XAFi`nZGke%ZXB#_H2f z6kkfJ#Y~?-IP3+zLnqi}8v6<))4Gcvm6Usbkg@6K4VR{UqmtJ&Yiy~exu3{}mtOuF1rSEDs)TV%s!m&6 z0F?o!>a~bg*IT?$$KdgJz3F-mPuH~?j6ks?lQ8AAzQ~RX(|bsAyshjWt=A%2y=w6S zTNv;h@5Rxu{Al<=D{u04F|+S-y{x9wpT6RUbL>^AKFV%R;+pjn_$!oSI?cGhWDQq6 zs*L4HX(EQy9L)+eV^n~CwzHU6an5eiSOfxm)1?h}?L|sq{-mAF3Pfg`zyR3jvM#W#E(ePg9~cAivwghu{Pu#V2bExUVe_F7BKcwKKAZ=(UlBRiJ0tOu-lc35F!O zkFYyBLoqwbH)qp&)YfkY^lFt;FB#QiC$nW*+e`Zb=f!TatRr6Ick_McdYIs5gJnRc zC3udvop&;gO!e2={F)@fjs16Ck7&hVF7XAk-tY8;Wd`4Tn-N=gE6a>$Osm(W(clM0d{{2z( z{!pIUKl`71#+oj^|NDE==!re+h!*JiJ@P#0v4Y0){=3iW$(xpDTD-t!!|lVGuM9GQ zc28~0G}uOKdb5d#^ac7>BFsvRFt-2AN$7C1o^Pw7*EU{;ANsJ5p4~iY8G%^ixAR3h z`@HryVbSBPrN!)Lp0D&^j2LTYXr3oU%twwU5lO-|uuN=UzujTSFH=#UZ@0uQB3=4O zj^cA4$r$T;^`kS}^gRqb;@c8)m!Ow(_ffYNRH&CXS@q~luW&v)U)`|R_^*91$45^Z z{H_0y7o4-RA_BPUdJ)KuqAzT-fzbB)~@zIF?l;EkQRMgQJtQ-U9k0xBL1V zzG$nun*+WuUpMll%{c|>DvVIN?6ghFXthD;TGncIhSRxRRgaitNgcB5gfV4q&pZIh;Mg#S- zrU7NO8b~kG`cKnBKoW-k&{S^sIcTN>xhDfhe{Sj-yQH#G*DCHwnytNh=CaN_5#?9v zqWV5rhoJN9la$r2jq)6*b501liF?wcy{FLJBR=SJoEbR74=pvm!S+tDs@+}#B=C-+>^fBUN0|*w)}v`S<}(SxhH)`J6_PEpKz`= zj!*Cd;AoT960{(l%(*6@Je;~MiyY<>JH*ms(pf=aE3;v0DeIlc)~&U#-aB!RZF;b3 z=bj7;TF*<6XN@a{fdsufxU@RDKnrD~N8ZM9mugLy(bhY< zlx|NwX6vPM+1M&|Yu6TLt-Y($*rGQ&x?W~k-D0tNy>lz4Jvi}EF85^EtWBB;@_bTu zJZO|)Cg|;B_0CCk(>wo16DkjiY{-n$skt3&ux*ldZFCVw@)=gtL8ov}`Yw}&%&de{ zda;kuL@hS!Wx@DUqFM5cJJ4aBdYn#m*+DooS-Un`#yRykwMqk4Z|r79%T)Wn=2Z>U zVx3>z#2FTz8lzW158Ik`eDf%(U&YjGe{NIwKC1eQ5callty`&0+klncz_(G=2QKM8 zu5+vB?s;82>m?vs(#0_X{Xyx(rhbl$bV0f^;7`rn_r(Xb{dX;NuvV>k`5Px(lC~2{ zUOORmWE%cRO!y;zZM{79TG~3=lssLK78AJ_>S#2jC&V3u_CBO1WVLPmc6usuR(qF< zoYl6aB4@d6(POE|S?*mOn?I&pPU9-&k1jnSt8Gg`!FJnHJ;Yx~?$uNeal4~6Qc{t# z+_vbkROBr8ZVyzfV=ljVbVDN=x4hpxd+a@?J^MGlR&!)WIVu0|=}cfs&yuiI6|^;N zTsn+-gshHb;(yWrLb@OpcheKH6p%V5S8Frd%r7MKM7khb1WE5udWQx;HoZgX9ojyy z1t}<`ppb&X;ALQF2PY-z9pZL}+0;}IrFtmUL(Byc+^h5srFW?Acj)T-Ph&z+mf?h$ z$AZ;&?3<=i?@>MF_plcENmvfk*gob?*;jkiuNQRP3aa#%l-{BA4%w&1m-a5bL+Kq# z?@)S&DsI6Z2nuPt_K&2w-f5P9LM92UO`AvAg__g$UTkicPs5EXO+X1o{-hH zMfV{Eg%lJ9kT1PM=^YwOR7*i21%(t81X-KRThcp}-l6mkF&9LT@0;GC^bVzW==E}k zj?4ahWU&x!u)gvIdiJiXZ+SXxg#B_RF^#a(ZxSxs@nE7#94<)POj@DQ9@q`*OKJb+ z!88RkiAX!jS#4X|#L#lvqQ_E^v)sEBw#~3@xJo1yxm4r^46O7HrFUpBmoEi{6ckcW zs7P$BbV3d5Pwh|X9ZK&|dWX_GRB;Pv;>)v-ozu5r;^bevf1l{T56(LG>@_n#vE=^) D1KJU| literal 731147 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%0DblR5rT*5xm!s`=9#GYIH0?KC> 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

~M82Zbm5#G6P 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 diff --git a/src/main.rs b/src/main.rs index fdf4bbd..33d5f4c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ #![allow(dead_code)] +use std::env; use rand::Rng; use image::Rgb; use image::RgbImage; @@ -7,31 +8,54 @@ use image::ImageBuffer; fn main() { - let width = 6500; - let height = 6500; + let args: Vec = env::args().collect(); + + let _num_chunks = args.get(1) + .and_then(|arg: &String| arg.parse::().ok()) + .unwrap_or(num_cpus::get()); + + let width = 7000; + let height = 7000; let mut img = get_image(width, height); - // let mut colors= vec![]; - + let mut colors= vec![]; let mut points = vec![]; - for i in 0..=1000 { - points.push(i as f64 / 1000.0); - points.push(-(i as f64 / 1000.0)); + // for i in 0..=10000 { + // points.push(i as f64 / 10000.0); + // // points.push(-(i as f64 / 10000.0)); + // } + + let step = 0.001; // Define the step size + let mut current_value = 0.0; + + while current_value <= 1.8 { + points.push(current_value); + current_value += step; } // funktion = f(x) = 3x^2 // ableitungsquotient = 6a - + let color = [ + generate_random(0, 255), + generate_random(0, 255), + generate_random(0, 255) + ]; + colors.push(color); for point in points { - // let color = [generate_random(0, 255), generate_random(0, 255), generate_random(0, 255)]; - // colors.push(color); - // img.put_pixel((point * 1000.0_f64).round() as u32, (get_point(point as i32) * 1000.0).round() as u32, Rgb(color)); + let x = (point * 1000.0_f64).round() as u32; + let y = (get_point(point) * 1000.0).round() as u32; img.put_pixel( - (point * 1000.0_f64).round() as u32 + (width / 2), - (get_point(point) * 1000.0).round() as u32 + (height / 2), - Rgb([255,255,255]) + x + width / 2, + y + height / 2, + Rgb(color) ); + img.put_pixel( + x + width / 2 - x * 2, + y + height / 2, + Rgb(color) + ); + } @@ -44,7 +68,8 @@ fn get_pitch_quotient() -> u32 { } fn get_point(x: f64) -> f64 { - 3.0 * x.powf(2.0) + // 3.0 * x.powf(2.0) + x.powf(2.0) } @@ -57,7 +82,7 @@ fn generate_random(start: u8, end: u8) -> u8 { fn get_image(width: u32, height: u32) -> ImageBuffer, Vec> { let mut img = RgbImage::new(width, height); let grid_spacing = 50; - let grid_color = Rgb([255, 9, 255]); // Black colo + let grid_color = Rgb([255,9,255]); for x in (0..width).step_by(grid_spacing) { for y in 0..height {