From 5c94f7fca7e17d50bb303d3fa8b9071d79ab1f42 Mon Sep 17 00:00:00 2001 From: tatehito <48908346+Tatehito@users.noreply.github.com> Date: Fri, 26 Jan 2024 01:12:46 +0900 Subject: [PATCH] feat: Answer execution result problem (#19) --- package.json | 2 + public/character.png | Bin 101240 -> 0 bytes public/character/blue.png | Bin 0 -> 12058 bytes public/character/green.png | Bin 0 -> 12069 bytes public/character/purple.png | Bin 0 -> 16183 bytes public/character/red.png | Bin 0 -> 11476 bytes public/character/white.png | Bin 0 -> 13251 bytes public/character/yellow.png | Bin 0 -> 11677 bytes .../(withAuth)/problems/[problemId]/page.tsx | 41 +- src/app/lib/Board.ts | 19 +- src/app/lib/Character.ts | 97 ++-- src/app/lib/TurtleGraphicsCell.ts | 21 - .../molecules/TurtleGraphicsController.tsx | 159 +++++++ src/components/organisms/TurtleGraphics.tsx | 434 ++++++++++++------ src/problems/problemData.ts | 13 - src/types.ts | 10 +- tests/solveProblem.test.ts | 20 +- yarn.lock | 18 + 18 files changed, 597 insertions(+), 237 deletions(-) delete mode 100644 public/character.png create mode 100644 public/character/blue.png create mode 100644 public/character/green.png create mode 100644 public/character/purple.png create mode 100644 public/character/red.png create mode 100644 public/character/white.png create mode 100644 public/character/yellow.png delete mode 100644 src/app/lib/TurtleGraphicsCell.ts create mode 100644 src/components/molecules/TurtleGraphicsController.tsx diff --git a/package.json b/package.json index 5ccfffec..eb04f512 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "supertokens-auth-react": "0.36.1", "supertokens-node": "16.7.1", "supertokens-web-js": "0.8.0", + "uuid": "9.0.1", "zod": "3.22.4", "zod-form-data": "2.0.2" }, @@ -61,6 +62,7 @@ "@types/node": "20.11.0", "@types/react-dom": "18.2.18", "@types/react-syntax-highlighter": "^15", + "@types/uuid": "^9", "@typescript-eslint/eslint-plugin": "6.18.1", "@typescript-eslint/parser": "6.18.1", "@willbooster/eslint-config-next": "1.1.0", diff --git a/public/character.png b/public/character.png deleted file mode 100644 index b75d3b56789c7f2c5e8d8183344a58a87d19b5bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101240 zcmcG!cT|(zvN-&NKxl!0^xg&Oy%`_~Qk14tl`0@bib8+j-U{V zAVqqwp?CQ4o_p@OcipwVKfkP%WHQgp>@t(tGqdNdo{l;h2_p#r0A!jPs*eExq;d0( zCxYByetMt21^|3=2Ne~)mn!Niu1>CQ`me04ZPjgEY~38JAFJO30NI!rLo<73Lu$p3 z^;H7g{lOyz1qtL=Qc2ZLj|W30Rm!pUZScovF>Ga-_+@H`cA;gwEOlnX?&gF zvy^EbJVC~!nZ6|SSF_=N7b$ym5l(U&`%efNJzmweFS8g33g5Bzrj@5_$KVBNSXQGe;uJEXOxU5Slj7R8-hp_R3ovVJ3UwpdRqU`f^lf5ZMSd=p8N>(_ zj=Z;{mYH<`t4KuG;6UezMOw`8~Ti({|_d3aB-3yz1Fl9TdG+ zaLt9o7Psx#8*(*41HA1^Jg~$sUU7|xX^Lnj1fMW-CN7FHaOANk@cz)ZiMAP(e?TtP zoxR=oMiAIB;Xqs8(u2@~07re}n6@4)uKn z9UH|@LWWLORe8Bjq>Rq+*!lqfdQ>Bk9pu@?;_(lqgqJ^#6WDGCE=(^f&h@)zxn;ec zLHC%=3cFdjS-fU*&r)|B@!pYqxm}i5L9*awrF*E}fFPV3RW8wX)(Yohr=TN~iNfr$Wo5Cj02LS(HGytG@^9=xa*?9kr0cm7|{{zSW^KfRQ?!yfUse^$D(nMQJ-rCh!*viKB zxvenD`PDxJ030QM13KFxt=Lh{PA=~9Cu5NZBVsdhFBBJ6V z;^IO#6hiLaE=Vhskc&Ile+l_-IjXkq)@}~3kPfac?ElEMdhY6hRN&o|04ds=>Hk* zzqoYW9Bgmq`wyF<*uPo+H}3z^tGGJ9a5`8;1DWL2Nt%}86^@N@P#Nzi#d zl#yR!81Z~Q{tro{XVe=`**tWl$xnh2xUOrH{&nEB$C2;vwVjtUzJ_H*)OO#!w&m<# zFTXS&nO!#@z3SKg4E+RoK$gVFC#C0@J%acg^cejAI|5T>0#3Gj{TJ3*eEj+G;r5J~ z2eSAWIsD39XWb$C(=zt`=ZVSG%-Vy|UT>MAU*VntGuWIWv|X{zU#2oR@9%CI!>{!o z#>ZVH!e33#f3YEzyq|E@cny>_ou(Y#$@rT%^uhB1lb1%jdj& z1YW%PeffDv%l|N3z_tFgkMLzDxm$h8-+gtuQdIwJ6Wug&U}EO3&+aVO{`tlRn`z@h zWji6060`F+LQkknsz}yYU7&7B^4UgB1r;6HRLh<&+lk|YNzczN+AK`ud-94UodTe} zEbslDi&=rMrxSU1r)#{u_N!ksDqvl_9_xNe095bYAKNnG^*B`bYaG@*)BWqB{^vbE z>5B9>g`HJzi(;c;8R3(GnX|^g<#k#1c`qfu&c2r2o)iJkm|BYlt8?5V->wf)J}+xB z9lv~NciMHF!wE3U?oeI@oga)3qe(U^&F zw&v{SLtC((fP%wDLd!($^sA%FnXgR?DZl#-0<`S2&wrG}o~~}i`P(B)PlsMK-YtCk zyXZ+y@ialRn@i1vrpfyczrJlJ>*y2F*CWOt+BF1gQXu}EVTbGI z_2JA<0+^{8i5|-Fson`av1MGnN_`j?05|;FxMlZjTKMGdEd(1{%yV*TH48S|C@TPCdM@YX=dH@5CrX6y5?w}u4gqImFl`MI)1MZ9ssl3 z(8~zx;sd39Q9m)^Ic~q+SHGxA_F?jXRn*7%ebZ!eY&Mq=gR-=Do_zeJ^K!6hx~yf% zHSj{1M^WldSJlRP-j3fK!wQSyaj$RYg#RJVWCI`hqr9HqEJxi#VpISfv5li3HeFB{ z#eN>@d1!wy>Nj9OXzRHC6E}VL!;bxd(J-p;Z~ci}xIgXyHnj_~Wh>BP$dtR${^`%P zfZlYa!|i=zm%nu@KEGDK69hj;jS5&lkDzrowMy%-MgnHg>jnp8HF0c#c@R5B-49A! za}Qn77Z1`{tyyHC1Rf389vM8V$sCQ@X>i|H%CBK+`NB<0lW92j-Qx0Mvis@Zhg0L( z8ud%2c?&rFg-luUu(8!@9+u~(kscrMiHfotznuuc=P>_^pMX!!ooV%NmE4@P9xMotzswA zQ%7UX$Kq}}_jS=~diphXg%wQ5{$tqwpjWSbL(KUv(3B5uSlDtohFN&6_x9FgT@Na~ z+lg=9nnwPz`ZdQ=cD>;W-yQp~;4JyuJ3B56{u*fm8>}fSYM&!2%aqdy8%M>WQj^+0 zb2oFn>fFbtCVpH&{^_ochV1m7WcXdNPO`YzowJO-*zeVQqaxQ>g5Egr*Pyf{`B|rj zVft8v|1qJ3_g3s+|K!=Z&kEp8&lKjckmND`$Hw1H7K%iPBzA?%&}Z5ndG3`98&!(^ z#Q6Z4_Rpv2c{j>Y>e;v3Pea`qlP3dOuFmfC_-WXz1#JHA4xBrOU0=>joi3^`J(0nJ z_p4EXtI+QhW>jNbukd$d0X01L`nouPU7t-XGzb5$T^UuzzPj4Hy^8!@Is?;((*b$r z8OL+3@Wc9Tb&J5zTfI1_J$uSvCa8<2@A^BW<*=nHU@L|2n}40rmxJS;^YX#ZM3BhW z6L&kZZLHJNqB@$K@=b2b$iIt2f-|@G%hL}`%rZI_2#q|vh;ipcSZ>_YYN2kL9{J<@rc^K&{gK~@4e*O5D3ToUbb!IFqRMn%0!)QMlyp?=1OL&B^Q`HB-K>`Fq+QtG!$lam zLnm8EvVcNQaQP$dp*t|wtrquJ*3L!1R+e~euYcX?O%qkb3WV8z=zdPA_Ig|( ziD?yK4*h^&7-D+53sI_HVTZ9koC-JAyuul^CvJ{0FVW3-w0-Bf(j(7ma#<3Jvu~+w zD<7MszkM&fwHj=<{BrR96`9R=Ren22W0&z!dHDPu`C2uu|4!az9INAS0rDv}PaCTc zn%x?U4{OxNjWVy!S)83N&*+Ec!EFDsMSDci%F^@rj`m7kpFErP*!ESw`*;79KJGDn zZ>OInJq@V{>x+l#V#hRUVd`x`Rz6|~waA>g&R4hXVOexUPB`%{=o_co#*dg3PV1I2 zuf$L|&%=VhsaKnE!l&+LM+qx>(2ZKy_csKz2jqy{zS46*EDSq0=L>;=7$N`>es&QY{q46O@+6#cHQB?r@x zt+W%l2NXxCYcfP9Na97o%r!8*G<>jfMzn{n^kUul+}8K20}FG{w-PKqY!9oYC{xFq zgD>RP63HX2D&>h0x|%;(=9hBVz@}m{%j# zq0LuN{$o={;hpUEkAz9H(du`&W< z24?dJ<2ss{pyxJXBe#{*)P3mh9Mj)E1s+5v_L*ww_2l&~iAc@rpK1)(-z@CqpR!ECGVz}+kO$~= ze-_=h?OcHu05Nj=5Usq-dQmNRO>}p40phKm)rCi?0AJz^NChGs}H`WMC`>4 zU#m)V4nGkdv<(ZdGG}BnA*b?wzW@e(Ieya~Q5!-$<}>m{YB{D0&lru$e(1_$h*u$5 zZ^HMe?2UWB{eCaSi05pJr~148@cM@_>ly6t_Xel85-Ds|#X+~&?F^gsZ%NabV;6cbn&X?NOZBCWLI`s9j@9x9(I11oC7F~e_?c`Q zq&o_l7zSSMb*PK^g(xC8_z%e@)nn7$w#cudn}d^))tMDvzx@&B5uGPsMQyL&ytswd!i9|TpXuT$)0$0r4mBV0$g>M$340(IwaHw@1IKCu@(BR_qMvFf^WI{3 zt&SrVLYzgw#-G@>PqdMd59H=~c-L^fk9AVA>DEgeEoCxZ9lR-_UNpKdiU)OTTy~3x zpREH?%A|J(B+X&%3enW%1U75P=3X7`)R<>;(v_C z@K7fPb=) zb=wAe=P;SS)Z!rVE-~Eu4c!ol8OU!nnmndcVyM#Y>$0e5r3Uy{>9hH@1N!3O%uPFO z!B0_ktPSmSu9*i{L17Ak%_l3HNf6;$ily#Shiv?wC;D4RqOp{o(hG!SW?qa|7?|($ zGZ~WsnhDZr5|vY(yY<&fgFY^N-t80~7dH1pPYnL1a)PVX9%Q-tiXNb`Q=x0cF@q6z zLU+ZdIzGOYt9cXfAehq|T7ArMF?^Ziu7qolh^1=2FHgH6`=A?-<-6eKmVXJ|%)I zxF?fSt)pvEl+J$wYf~*P2!Hp7^gS6=gH zv7VBJK}AQFc9qqC4<3Ckl>p*0 zKy#nF9RpT5o16wccoRJ|yBGU4BtbIsdF|FZGGXIBgb{%Lq*wm!i8dI1&%RB|qhCM+ zt+O&!#|5|FY{~gmOk-HByG7XeFv6s7b5P`tt}^&6p#yEAD#|zUrcHn&qrMNm5~{9Z$p?*{C%E;;b?o^-{!c|1;r_a$WDl*%cbs|s zZMHC$UA)J(Z(v69(&qk`=dShFC4b{C&o1JoPG__1D{`mxH{>eEzX}?)3@-+KCdn9? z9M)fPpzzh=&zgBxlof$3X?EHSpyO20U*GXT%5(W>s$Un;^3adIF&G!f(^*uOE@#34 zk{T;DE&zkDi8djk&^Ril_x$f?c!u2Np`nP}>p8klAJ%__|MExN?4}0lD6ny1H!vx4 zIX4_j!)gPh2C6Ch{UOjZly^&rqj}MfBcyou$tbnOfbc-|Sx#fqs}yDOC-1My6%8Vg z`~0YQ-Biee{A7s%p$(eO_EFgM`pC4R;@-!=y`^p?+n^gG9Ym}t_eVZ0ykBkS)p$M? z;O*G-rH~ZSgV^f`fYa!A{Fnv$n}_Rf$9e$c@!_F!pfD&s4WU{m1w(tfU$yr6HjY++ zpRZAZ!v3mn-0;nubzv}7k>oCjdweEbWJ15p2m;{`y!gCfj@lx0Jzx8D=+n%>r`t?p zRHJ^hRk>7=i$9CwyOT+v66_5J+~Q`QVGofaJ6k8 zznCB54K?(|o*hk_wM|_($or~Xqx+d8dQM@DapC7IgtUo$56G2YqgZu_pi@!VHDVSR zYi_P!4|!*ui>*k_yO-4dka5RI=bc|+M<0!9RWF_jRO**Lni@j(is;WGu@N_Z)4Pn+ zuK6voP{5w5`!3a--8fC^lB%L_3jfR_^?UM&HT5&()=D9d0Q(S^DXnH7e2`>u>>CsO zi9O>V1M?)EanUKcP`u90ym2kJg))237J9TFH-b@yGT4vfa!B4Y ziX3(>s6sM+rmm5}1LXmw(V~kvj*T{siJ-IAu}pu9)8Xb&w-;MCA#dqt&)yK%@5fOcku)u)Q?3ZN63Uei!RL$ko zSQkM(>r)9h0}TzLfJK&0p((4hWYqJ z_|%wV$6QW#Uh<$aKE`K4#i64$I!AJveW_ArKuTO0tbie&u7{F}qT1jz)^G2J`+Wx2 zJq8o}o#-n}&%LLpEu%NOw|6hfMgI9V`(5H*(Wrl7C)(t@_lNQX;w(;9^FD^#YM@i1 zb+2jQ^6x38iDxZ!)yGWg=qyO)>9Z8*p!$Tm7|R3mQc=EDwV<)|xmK$ada?ZITikA6 zxS*2gU)h{30TXIJ#xY`kgc*Q?QMbZR8a;aINSg>Q8Si2RkUWUHI2~_RBcn}#G(H#! z*aJ`p=2^-;h7NpApn?uzKs>ZtaFPGEl0yYZiX>7M*Pu%EZp(_z|NP@oX5eiy`5q_^ zOWs4GQK9iB6WZp;w6_}$_Z=H!w`YHGVybD);(SPn%XJT~D$0AY4)B6Mqp+_-#u()v zCrmtA3)LDVE^;>fDnzj)<=OG>YDlSh-}T48jwEDfmHPMmi#{prRvFT(X9DU+PX$3! zjz8O@pa7FuK9VK~?3rzIZ^emP!hfO~b(;VXMaPEK4l{&SjR9HLh5e!O1U0Vm#*Y%d zVx065=aLi#)c~}?GTAvA(WA;^i#ftj7P6<$7r#8re8BGFhT6(0U4KLOz#Q+800&|S zPMs%<~S{br= z>ph*vW8dt%^3V-^J0#r&-pQYqU^|C$Iy3CIenBof;XPioN{D0!9t)dbGK(NN#VG9XfS{iP6HGTR{v7AeAwcBRw;g z`eUMph;@6>-gtH)ZKvgU3)u1v@4|=RgQ`yKC>wx@kH26i2a_P6m~N^{q)Y2K&Oz6Zc<}jM)$MB^$-br`0Kq3X&u^l0+uARv}e0D z^7t7Jw+;ppg;#knQp@yT+$q(JN0@+PzfTdZA}C;XQ0}o8V(`1_owgpRb>TzS-hKJI z2bzu0nxW2HInb)2e=?s(_4+(!-jj6S{pSbWx0wad_ob~=+AZ78cq%rK!_p<18;8%UA7Pq334P+!&KQy{^C{ZYrd7xvNDLlt=o;4#lS z6qZkVh^U6kp3Cm8y`L+Zr6*CiB_ju8(ADDksV*Ccd^^xy=@Ti z^8=(;?w|O*nrL9M#@CNH%fg~*S^?VJ$N-vUW1R<&Gq7eSc zUML8lQ3nWd_P*yp%^S_M>9U>$F3JnqArYOv0k%RHBygx;pz^B=0^ zoj;*aOGlOF?D=>{d>+Ia_iAs)F$eU+%5q&ERCf12;U3=3sTe%=-wqN{DS%cL2A$mg z$$FWvHzHYnwP{VOh<Es^*koA#z|@=@YHx!)jMZ1-k%R5(MKeV;hsgvG~6P%vyJv1G8zvXET(X_%|3xgxKAC@d?dFRw8Dza<1K=xs=PRRna=Je(l?%ck zhHX2!1};y{J?7uP{8I<6V9br3N+eVSsAuu%hgeIe7T!vvGWg{7gYtXAp{r9Fnd{mL zIiZEJa5(L5%0nLtGW$ak!DgO^rzWPih+&QI*q+Sx-TPx%v(nOgXmQ42+WVh6g6;ap zQIE`c%B{gyl^l)bVpbgVPy{W6Jlk^CB)f^5L7-g^dTW3*I8q@Fj~kZSF2F6KKHc(W zE+N%hkZ!ale3LWe9TRHPEP**Y>NS@-0Ac5up#Msa9^TK$4HnF&j2|Z@r*E3y0Yo-wHMb1w2L<~`yW(6SnW#E1n;%t}j# zanB7hYVm;A&XUPCSnAW_?x&jndF<(%3`ootox6OJ@ENW2wxD~Taogyhl0>epUGjZR zKYm8k@9^!j>AS)TS3c3QIIif-$}WQYFJ@a!BEZzXH9`b>BVS^EKtB1p@~0@zRallT z4$RW-QAbfVv}!D9|3;NmJnc{C1^J+K0E!DypPjq-)T(THMA>>zK%5Bmp7s~L)_>42 zho2Iawed3PGSw{MG}drYdz;xv_lph;7Mtc>&QE3w3$;RoVuKcOoJo0jv+t-fNBXkC zCr=3T&zIVe^16MS^cX#L{e%l-t}pJ%0phFZiZ{;7&JJ zq@i+Y+d*M?<@3wav-sU+~zeg6h0i3oycg4jE zEJ&~;YeC;fwL_YRUQL~rhXmbPglsU5zH5;t! z!scCQj`vzNEF(sQNvg~Ea|fJ$nnI0;ajBEJH>8jX6C@^G<3$dJS(D8Y>GCyYQ^XrC zep}hP-D+ZPAhG&KfC_^l{LqsKLf0!E(YJkk30H;d0mQ*<%uYn?r^OYH@E0P)j41Q; zw}r(Qx!JWnMbK)Lujll`wYloM!~iJ^z8)c3S=oaUqo>=O5Nk&g&+ro@aY+d>l5-ROh8p>Kzh!8nnWOHnu>?1CJjDZc@S|9+)gXdih8s`R)B;z}P1LgPh17_}gmz z6ZG}YG$YfB1;0qu)%1^KJUM`6 z2H=ENgtum-M!j>OjbX+?V&Q|<C8N~fnnrAO$C=Rp;%jO;`RB39FOHuI$6F9bl5NwR0U6I(n6`%Z{Row-tP z8Y#$&p~c|wfz$HsV6v$*A4QU7$|Kxxe1K`?84qo-L1rRPhNVwRXKf1AL{AKP4gRWbM z@!}#<>EeuyZ~fYTt;{`z?fe;-2eIuMvwgRDF0je#GH=Wjbx~jW#TuYr1}fO2hr)P* ztxh`INI+cN8K;P7nqU&$NO%z5dvb>}uK;lJSNK$@A`}@0QI`8fxbPxk!#@&F9zzh1 zrd4sr47RHbQ4=yW$<43B9r7rqnUSETv{cnt%~?{>dphzUG@&<8yh-B*JE1W7eY+!G z9v$PmC|=Hg^BQjs!QW&L1PfO=aRnMk{Dn{SI1E#o9(1i)^K9C8PMLUyvZTHo8~NNy1aZeQ~% zz5xX^C41JAG-dF!CfvRE2Dccgl*bAzR9o9CAA~hwK=Jjlkmd;9SdMSC8|+MHkDkCC zdfJ1})@R_LuK;}cX$^}y@#2rISyTSF*gLLf>v#%nQ92OO!Y^34wN=nlB)jPXUzcfd z(QX4P!Fr5HiI;|S+>?=$h1zN4OmZZv$Me(In1A|BK>CN(49<A!u$YDX^r}M4I-+nB)+-&YPDmsrk7#Q<^)w%4mnL#I)DN6rmVkZ2bNId zxr-2n-&e1IK#YLNuN8^~odEQBlCqID?*jo3^exNmQ|T2L!x6-2y_1vh5N6p*MT?8* zn$BePs|!a#c;;uVM2sD<9)ti%F8C5;(-YdQ>5qrs9-QB#{Me2*r)R}yeYz|qnC{Ig z)OAdK@9dGL?N7Ts)o$)8uJ7bSZgRb0PQ@ia<>&L6%jCp>oe`z8W%VRq6Lkji@|)T^ z97B?IyHTjN>AWdM3HAKE_uaeYS;Tk9TRassp$L?#)~uJvTVDp!BN~t9NEka^`b@F6 z`~sSW7W4VDYBm(>W-4ui0MwJ}AB62UadQR3jL29DC!dkwz#;TT;(i47a6dxXkS2gO z(EOLj(+XV*Jy2RQE0BXnGA(}7Uc&l8zCL!5V>TxTaCv{8*WVKg9huDhIJEWS4%Hq4 zC>t!9Ymm15_>cP$k+nypk_Y*cW8QJO&K3#-GU11u+o<*thAaFH4cp5HvWtoEL5GfX zk;=nJ!penEpQ35)62oJ&>t$n|lVcy9Ymxf}`06kBF@d-k{&wZBLEB2^-?*Ji*v|hJ zh6}@e$}29v8E#xzm*_u_60vLyddal+ua%D}6DJF9@+_!xnyI2HrL zB1lg5?hY>688VlpWU2DN4i7}1p!1)Bqbs%Xm&NLBJI66acQH|@jr(t#44G#M(pG^Y z3AZZew>iRgM~Op}VuI@A_T&dLQ_8Os7ogh^!~sjxL&3+7227P!^?6UYNNqt~K>@$S z8m!kO>7XN5&o5tHF3$x1+Kn^(di68qElD!nKm=sO!1ly0Kd4>t_$Zley1eo9>5nN= z_F3w=Q~FmS)M$`ymSuFlbv&R!uVfi4qgf^Jh`34M76lg@q;HDOm*z)S^L-0}jQfm; z2c}xxA8YS-O~2E?_9j`4-q2=7k^TK$8D;{c9feG%Zz5~ddgrw&y zlfG~Ir713lF%C@8B>?-~c6g)|h8y{KM!9#vReiz*Q!!uH_TJF(_<^KZl0?udoSS>x z>u*sjyNl-q=TD>y@7eea9t_!D>}@T$SCkzD-N5} zI&%j4U`X9?rAaJgJg`v~u#?-HJ0rUtR;KWXT1a;w{-1o+PGfi2rV;l`M1GF(mqg1$ zl{wJzC^P_4ZGvwV5j|)XFD=VZnAJhS1$`tbie(oNG=pGz@^ zwg_Y=f)cdmQ(Fza3cd`7D9+l|L-UcM34;J_$yok=%5JIB>e2Sp!Ko4$H4V zQpuy`q0;%${?&`Q^s}8_4MI`ACXr~JZ+77QSKmYtOnF;ML%WdOqP9Q54rmkUlOA;v zZ!xFBjZ8xWU#;{`!C($ZY&icgomn|aoE8D{Hfumg)BLaUu~Qyb@;L>XSu#q(2#}WY z@NCY<56cAS_|Zr_tZK_!754V>WXoB@09b}09Xb+Fzz{VvB+eI9C-l%dpv-+QXXO9^I=6_EYFJ{9VtX(Q|6k=T`IQv&F6NAuE0l8y)FpbBrUbnrh#(RK zS~huXu_RUp>2zoykg9zeU8EQ+;GE}32EqaekT2foUd8lhjZSa!T0G=3o6bEIH^+`In_Fei z6t*Rou|_x%F7HmJy^*z-u#?XN&T8~qsysISdOAgQlSVP?ktN*}tqqS4(*7PSSDEkr z>B@oi?lW{e?CT;+7OliVoo&$Xp^Q}`n?q`JQ9Phq$NxdCI{8P$i;dIlskSQQ*r$rRK_oBt$z5vnYLk(5qs2P<^E@BpA@stl`X z-`7>1byO?&bilcg*gI~oO~!^)wyTT64~zYTU)EDH*C!W9xH=~AdOJ1`ZJqXH=;ENB z|8v4}HlEhDtW4FqvbtO*hncyzW7={16flaa!bcP~z7JTRKJP$zpz$I73jvD+TGUHl z1hCvubk@kA727yU*8qp_2WWUxTReRLeY?V+%s=*` zs_baBV*p*EwK^d3gN6+gtHZbP(f5F`+`YfmquRdd2^`f>ivHN(_A4l0@bhq_oTg1C zzE;yt&h#&8y#AaRE{1;>@ySxQv^lH9u%u+gRvwT~}uM*dt6SZHO?1P@P`i?1cZ*AM&kvu9M>Chj z{&uu_gBHb5p?f$m%C1*;zJY@@;t5WOpti~aLPfqG$pHdmj2J?I_H_@L5M0vyGV~`t zICs7HdR`tKbw4RyN%~`Z$lfAhJl^60>(dc}9kP4YK9dyU40SXXbVZe)>0m$=@ ztbdzU9#8Mu3nuPb^$1P3hjP%8ld@7~60zgqERi8VC{FMBLt+FMtmpIxWxFH#_CV+^ zH{q#kkWYXhYzB)5nuCZg>GU-;t3 zD--dNgkazT>@0P9({OCT0bWx@jY^oW&3mM^lyYwuglgE8s9vh_^0(L~1p zd;4~}(tzz*vi&^l3q2>@tfO4p-4y$jJDFfQ6j+!5)A8~bb$8Z$+KNgh&{4#eH4@w( zB8hGuqQa809%we-gf4*P&uM`SqC*~_VYkQnY|YiebKN%irBY)*@xPi|n4b@Pa4b}>^KIWS z_iC>lYjQ{$v-v?!Ob>H^Hhz~o_T?LpUMf9>(tK!+j|P8US5@o62Y_^`yGd*ec=*0y z)iUBF1t8r=<2$kV+WeVz+E2lqd`aG%JK>>5lUN3a>%;4*9*53xak=dZN_fYUEkNis zt7LAUnO0pAVV8P>&W?+8G8^^rs!clMvO>{>EI}lzUTry~*rx&aK{ogZ0@r91n(V3J z(x(92Jz@D^v0utMQ@VgT(SojjoeG8Io|dl*Q$s%kL>0>ClXN`jjkAP=I?Qb7eM~^Ysb3=|elnY}jZO*hyNMT1zt_Go~C~ z)I!It$a};HXFHq~3kYl+nIv}$T*w|E`;7kYRSZyX^70 zd@XOKDj~jX*l~>chn&3;FyUtL6(PmXg@`dpkYglbe;YIJ`6@ zGJ9;ix7Z&fjV3?*#U7_RT5EqqYBCde>hLRW=JI4KlAI?Y2YPM@{zO=B@mtRS`9iX` z2n*xOtij)@tn3{oNtK&W|3#m?QPsEjEY%U zHvW7LfgWr%6>6=_4;LK*`qExR982LbL(Dr>KAwRrA~YL1=38RmoYj_Gk~nNOU{Lv{5BX)${Ip3>Fw9v`A~;m`ZE zD^ zVyM}gu62=T&m{A!$8KeQh}5PRbEC`#o7~|+t!pU;MsTBJ{CX(R?Rt-<<4^F@bbVq_ zJ~!QUW!Y>9>gvx--r{w7UU}f39lXm9Tss{Pr90>pK|UO$9%_W66$7th{%DCTBIWt; zGVq)BUM`j1;puD=yhsCgF-6BLjtuX|3KHGP>=*P>z0KEfvrwBpXDC@M(-uo9*?P5R z!PXI!vuK2nt(qY}Os%_H@w{ECmOsj~E!8UUdLo@BZ?3S>2&OU!=yI%6)W*iIw+)VNOs8NQw%ZD!s!;qfReagI&x2}8DUm+ zm9+WN>oGbnNGsH=Fm1E=!+sm*MgfSoB5D9k|zXa21>OF28hO!oVo5Ge!9Cf+;$!!<&U235|QUG2^{WV7xN=WSaPm1X3{(46U0xHClg~i zzHgdOdOkOCv3O?o#*< zkMJIHDyg_H2iN3SNVbzQGdumsBLLnJvM84s?|+$=xnnLCSSsuNMdKc;O{@Eg(=?vy z8|6o5ssWe}YgDY)`NAV{{hjbdtYV$jz{f@lpW$6$lYmX*f3my)!+T!`*b|)nUrMhg=66WxnARs31MQaTvw8q5s z))!?$ihN6y{@fbq*3r6wsuHOlx_6OEp1vx^uxTGl0fZ~(ZYab{0~v z_)8)OX!W+yiAS^2J0rrI@Q0A&jR9NRJl7|AQWmdlPAg_4^|phjT#M6bbFR*fUGKgX zk!e>Eq3uDO&R6{rwL*()MT^iXh)RFzJCXn3+{QFVb7_U7kJRP^?&qR9pS}nkoOm)U z)ou&h6y<+H!*0JI)TD)4r~v+mrGrhXg+8%8 z7I$1%d4hnkhln_sC_rGVVp&8PV&1<%PWc3SXIh>pV(L~hbJM}qC^`eAiGxfUH8NRd zW@G4L?jeS>!#Yt`bLY>2DaW3Te+A<&>#zty`-a$C)Y^|oMYiMBw-8T%j^C3B!&DRM zL-Kv+9vqU0f0wVYS0Ej?$zZ+l_0({AzSEI9BSa&Yh zE*txvf7uXzDDYOjTG>e2NFZR0uP)RV;Qm9#9<{)wBk{sdVZJ zAR5G#o4U|mvwZ!D*99cKBCd5dJzejdG9Cjx_5`6Y}B9oMxzlji^rbb zBjyhc@}Xa3Vc0$<9g3{!nU_?8-f91?W=~W^uPZMXYtY^P3NfzOU(`xEQ_{exN6-7u zyGEK9foT{chSHSRfCb~hPuuHz{1GD z7eaU<0b({h882!18l#^y;uvZIR-R8(J`9sQ0U{wgfB_hW*QreKQbqulvH-;7%DDhe zf5?Ofgtui{$`4=i6BrUxH+zqkvG6`2UsMKN`B6;epL`^;s0(xo5CX7~4SINm;pK+6 zZu%26Ex7X`KXM^Y=p%;v)P;j`K`Zj)Av$uSP|6`D-YG+LXrN=>&B-(0fVe$JWpX~{ zB@Uhh^r9lxE8Z#eC{Nx@3u%cX-*~gr|63Owx8gJRti4Uq@f*JoD#Jc$AX;OeNR)-A zqk&Jo=d82WZXdn`4=loB$a5V0g~%vxlf4Ik1^WSPIJ1eHu(yGd$HPAv zDPYPyphbuU1cswwh!{|SlX1X??R)^TjIpU9qK!{%?7hmM!xY1Cd7BQj01~`K%7n27 zctD@$Id~MV?YulKgB*(IUk6@fpN7%_3^Bw6U<_)?P!s(OG!+fu34jNIGNiF`jt7Pu zc*-nX*n3lYcxBO%ARqd0Mz!Pt~_KHPew!FF*E+21d9ej7-awt#tCQv0J@anghzuun zAeiYx3LcdA))nkk#x9W!0Kz&CDFGfYE~o&Y*rONkny2a$lIXL@L60Z^06+jqL_t)L zD?kKrfs{N((T_B|sqpwHWO>Di4gh&9tL7Q2o<4|03^kB8TRv8ce)6o8z! z+Q3wK(Vg%`W%MVS$cp^%0Q6dtiw=wcdC~!2&fG(fdLS?Q8P&EWUUZvl3mCF-pZZDM zR55+!lQ#)4#_wV0IZVn0BWS`WB(tdIM|^;1d~YUzl*)8j!Yjl6(m)B2`%9BkqcbN} z+AsFdxh>B^*5ySM3|WT25grr6P=Su$+)Wx#C2*1<6Yz%ePz?grD9h=6Z$~1*pV5`52~l^mZd}ESFr46L57p^1$)Pl?UAd zc6H4KA_IFN@zMY;K#wzgsCNcE>gKwOmSvLsfEvJ*pG7BstRly-miiEw1MTq$Addnj zJyqo6p#BDQ(d*SV9%xs3Vo#_$1+{CIg)=e`ANwb1iO@6kiS*Dh@x)nXMbQp-J+k>F zivENSJq%ukebqn-ko&5^>6M?`>~xRg_on$)XVCEihQ8c3Zk_qU2MEeUW$hSLfLDNs zQpGg@jeHm%-~_1T=aKD9;7JM$0Kfpd5SDx}iQ%ahNd!Ex^+w(jAm%wT=*qb9VgNny z05!SK1`l0iR!uB33r!}ie0WzB^OHZi&z>J3!xo*WU$}M#4_2Ke6Gl#bGl&@st*+=4 z06Rnpec=7!g@s%IBs5~^-3+}*K6sNKaAf*`RcwF;zLX9A(x(APx;E$_W3*G1x+pF` zRYV!ufD`dtKm$;d1R=lfE7Gf#=KLX>GE&&}LwAJm2%RZp5^dTjnD4?E0gzqV7PD^qSQ-;JGHL1hh@Xe^Mcn`> z<}e8WJ|e*1ASM0`QMsoqX#fU+a%{T+^rZb}ajhN%u@Lr!QzGeBH&$%E(Ky9-oLwkxTG`Bx74Kka5O5)MiObpP!3 zNB@Iv%dj6bP|M8Y=P8+veF zzQ}yx+nPVKh3Fm-^Og^rE1m0l4gZ#O-*O*bNW+Twcp z^%pKlgT3fZYT!dxs3bs$jw1MypT(s9-d^$1@Ll}kt>H@0zxOaA7dHf98Qw8k6o=ZaB<}$14|(TjuBpV}VE`YJ-1nYxHISRvGA`2k*axuvm)E99=EcQ3517*@qBg znSCHo7M+p?Dx?4PviE*@)t29t=R?q!8gELzg)A_<7FmJ*F%qW>xa=}&5GETPUJ?dLxvjg# z(>EU4neJXaoaQvNZKqdqh!5b=r{7-b6@Wdxy_-&0(nyETjo)yAhxrtBGhCQ|fIe~r zzu5Ld1#%g50zd*T=!-y|$j=EK&~Xsw`BORx34^@Igbt8<_13ZU<%fpSpyV5r+zr*U zS2P;}Np%lt?bh)$x37{;I=tT=Dtz2N;ty}y$of<~9Sqlath5F60Xoj^khoBw403t+ ztumQLc(%%*vecY<#LzjWMz}|Q_)|XfgQq=Gm7_z9(FM9?S_0q=zLIOsH7k$b@IUWe z^Ib)jVIMRQ-Pt}6D2q->13jxY4)v!_#e1nSIE=&wpf7b8U^E4W;e`zugR&?Uz`}?a zl8Kk%Fe*O7Ym8wTc`?!eQ4BABE1DrH!$LM(X9D&wA*z7UVrXn53ZTi}Wypv;7&vF1 z`PJ{&r=PDM5wHLT%HzL~6S)BRq;biRR-4Dw3GfGyKs(Q?a?Js6B&wCs8;RA!soOuIeGZuRS)D z#u(D7Y|sh0sS+~LUI2G^Y)m&q=a#{dy0dLZ(ZOGNL*9@9ua<*y23XBiLK~^^fOGxu zu(^gO>A4QX`CjtjvC`QwtpW+pSIU$0lSRrj)ET=*(et5RhM8+1ta9e%%aT*mKu@bu z8IZBq9550L2U`z=V?c~|fHmk}Mjs&z3@`xrFi?h;ECygSEI!yUkd#Xh!=UwLSE8bFMS|8or&M>Bx>Y~yyOb-rEchk z8oAxn*$|KeeTj_rQ*s+T&l{Ft!@$~njxt8Q8a>l=2Bov0sas#W+R^KDlE?CgE$ z8gOLTT|5zC17gmOEhg-hfCNwIkRQXv(6CZGQ-hy?&UusuFt&7T8Yg zMIC?!`goE6F+*YGpd58(+X{V0c$CnC?<7c47Vj6n$Y`L{HTr`NaT9<+y(JrY;5; zqK_xZQ!_kq10B+6TW>wG2dMf;R#x_@BXr?S=R}}AXh&|TKV`#91sDr(R37p-YCXG- z`0Z~!9Ca)|XR3kxEtzTgvfNZO@Z`E>dR5g)m?t2K;n-7XvXJB>tSoE+V$#CMu58>62Hw-L*C_E-&17P3>Etthz zSQzF}3mWMK%jPI93{pAd#mL|b+3>Ms#hR}qKVTSvy2Rd3=tdlJMkqWjC4?6pphcR& zPWjLa^#!>026*ZXZFr%GTzBr#Gu|qJtvvIz^~js_?Tbnd|0$2QKed__dAZBfcZK!<6ooi~ONa^q@VStu8X>^T;TGRTRy7ISp*RkZPo7eEP30`em>z{R#C^6&^C_s9fj@DdDnDDHF$ zPg`XHDeAFoVP87;n1M7roYIcnnwOM%1UYF}Q}2Kj{Z~DIZaVq!hNdNA{tsY+zuTyw zVGt5Sc+wtLs(6IBgQqgZJ*)TXL~7Oc_-KpgvP&CB)iVrb?=nNhO{drsPwqZV4nj+N_-YKH03QP% zUwnPBSsBL6a3=L>uLR>C7x0ju)m+(vzxWt|EwV5mj0k|icsMg}RZN>%#5_#4QOXEi zUMXR$7*kO-9cu%R!^uPoEr3XB;<> zPSwWi7c3u0gPI~h7Ql?UFw{mq>g`1d$&V~8E#!n(81rkyF?UEE@u&>UqK}8l79#FD z8iE3#1cuyz6~k0y1uRG-4*uLT?48$NNiTlRTzQgxY1?osJ+yHwJ+QfzPF&PTXCK2c z#~aZz-K-}72tA-DhP+u{&gZ#Pq=+dB>Oo%GM56dQ^bFvsyb{@=K%0+Aap(guBhI?< zv_+2=SjMa)Wz$bNu-7txG^S#xcYxt!eLMOc?lIF>k;3Co)z!PwCEfq^h8rrc{D;So zvJBJLKnal3*V(j7tl2iQNGrXyZddA-kzic17d<5*5HP$jKgB$s3`l<%5JRuAQ9Wm@ zxV8+D*Q4=TG>j3$@!M#y2HkjmP?s4@7}l}q0XSgj7$FNW5#o%YLni|PAdHcEPRl?L zixJR-9z%WPB0qbT4jb%E|LOwXtkq3JBdyeXfu;lCqk9Y(4-b&aZ@2+)IjA^ZU0W~f z07$y38>{I^C9*CHPrSjg=D1}9cvzSqp1SY`ZUW#aQUb=(N-7kJ@w=54xn{Z1Feh~m4Cr=~AELoCH* zX(+dWO$Nc)!zisPV~pW7>5bgXQOfJYr~%ZL4A%f#014%=vP>VNA&w&h07Ah#=*L0| zah5>^vv)(DW;EW?Aefjn8!-kvB2@~?*Jt7}E0x+!u1C8Vs9cbVQ z6Ay?ftLuWk2*gu2Xplb#?sKODFRO-R9nfItjXcaf;zbh&{S1O+M29)>HEFW49n73R zgQICGYgIc5kcaAtVp`Z&-=y;89E(Rd!`0F4A&k_1EyHM!UCj+D4(};1EM$)ekR(tBKqOw56Cr-3FoOuTiqYb|V$=cRl%+1QkP)(a zI}7YZtF5`kZgVKjU%V{6;F8y-)6YFOZCJb3-sbWXPfqpzfz%!yk@wn=%+Ri;(V;y$ zcBT1?4of?>Y)U`A`|h-R`}QkL(a_a)9Wip9CAqp8d9#2K z;Dw%JaU{S_LXk)MaeGKd=qcJD^a=%NO)lUlM(qME_&^6a*{i7w(}!yI61_kpQ1<&W zB||TZP|8oc(oTRN4a0Rsw2+gwNB=qC#hQ;IdL=)ahdy~Z1E5SN5a@sb)#VEZSEcm* z&5kTTW~70=zWOsNUly8z20roDv;Tg0wDTM6!DE=p#5=F+;wc%v$QT-5a*Pr~%!Y^Y zDau1>HdV)vO@Jxm!dPV+4y@J!cmbxdzyS#071@gvctI0d(8tg)Fzzu#;(~Sz*SSWP z;4hglNZn_H1guR@RG@_%)C*bx>VR*oUPD`~1n_!PacGC2W>e~$zam}m>+eoSEM2bS zXi7j3aQi_?MdIyh6{ey${>a2SzV2?0X=^dwf*vk`LExA}6 z;yuSlt(9&sPxaBIJx$~TIO*U5)TqAzQ*qhTBM)gP0=8V^wKH8|U=-j3#@4mGZ_h7M z2*oLQNUr?R=}0b>XG(_e4`tv(8fXdVQ=UA~q!XUk+t?;>++||r$BZ;k0_2R;HoZcZ zJa5rm_usbd_c0X$Uw=GE42JC}yh+;Li0=8Kdjqttd3z3Egty4>$wOk|ix|&rH32{pqL^PL5$S9+CI~dKMI= zKuJ3Bb|m&cQ32zGt^q_)03aoh2ACG*S?KEVGs%^7`0^9d>;Lt?ORF!rJgs^BvGj|( zZ%ZRPH>PU;90MMJVo=vK12WjV6C+=18&z~H;ROOhEbdSz-ZiQ0)+h0l%i!qwOv!_e z8S2s&cyOHpENMI9;h~l(_~JQIM*z~bDu9pbO?s!apBIzVfq2?N`SGF=i4G5%p&F(S zXg54<$*m6Z)TML2C(2I+_40Ej8YlsBCR&?jneVLHbfzC+6F@N+2QUIm9tP{nj#r?s zy}#gm-?12gf;ip=p5IiBmxjR@H~b+w0yBV5_EOM|7c}5q;HeN8iUlZyr(pn<@tT+D zB_czlyFaOol zCyx=r7@G-&v_cS=0hp9SAPZH*A-{A%{^L$NGaYy8 z8R_U_Pe?!b%4gG#b&sf{;gLv&^1%ZZfSMOjL=W8(3^ZyZxOoxKrB9OM1E+s>F zrvbEdX#BaY$R}DAJzozU%E8~BqsWC<8J&;otuz+$0CGB_%nz9;+w#bOIZ8Ie>v?u9 zUID%nst{kUnHD+Xut8R^&9NXyB|!b|WMUPghT zU^sXHfDel>f>L`a+$+f*gquH7HLiC>%3FKIo32YspL4SE3b4o6 zx)b#a$%;=**Y$Sw1YVL+TX^I`hd|6r@^}%i|K?X90Y&b)7MKZd4Th#onz2CVuC~L7 zC-phuv=?|dzh&*3^o#F*Gp&2%UXkc?S-*EvYRI4Gf*mQHSvL}t&XB;oCgkbBwD(^$1f&3}&fzI4(vSvyUFaX$(B;*3 zc!z)^@(fbRu9TrNMIfUV zZCg6!02#>?0IRPbaR8(8Y}vRWedo?Q(-B7orb{|gALs^oy?4?2Vjh!69AiYlLQW3oGjtilam3m?pzGj4+p1&I zJ$dNpXcG^gbqzRYPn4lP01G%euZao_)vjDph5%j3qWPC}-)%3t;;z;`_muOHdn#_6uR;}GLegQ*X3?SzC_+l5sTp0*oa=Z-;HXB5I|05m%sB4%OtEYvr zN+9kTj`Aa0U=NEN&?4ZG0ff-?#&J1j^}6P=WPo@r7(4TwIlm1{{P92lbL0SAnfvSt z9Q-VHVc2%q{3Bp`*#nQ>b%)XkXTCI@bLp$n@)gh5qjNmT0-*C1lb5B+;04KzR+?6x z_v}tvw{A^eyY<$zb=wZrp_zX2o&TBE-`h<`ou(H`$fUPFl@iY%>6dN%3sme^IpqY& zye*|;&pka|{HiO{g)h4(jgE|_c?;&J!w$n)5?IK?#A8=Q#8-f!KWR8EJ@L8e#aF&L zegBJ}PMcQ$BvoqjG!%`OW$=Ssb%Bq%3CoJUb6ezv564NTkdC&?9g89qtY?PedO|AZ zVujVp52(>GAxSO=c%oZ)h{|4V9_>Y%QBREvXp_%#$L_FDqdEm@#rH*Z%mD81kiKWi zTR&~tg4W1?`VgDN%P>O?M9a>wa9M0>8t8uf%IiLI=jx9FG#D92c!06h1YpAB%bozh z(fI&e<0oSty?uWxI@hJFR^Of;!jWxj^lbIjm!!-8#T(P-t6#5&z!|ynE>2;NN z-}-46E8(_*nvL#HEbX!?S?+gBv3*bGB4EBjaA@5F>AW|*H@*1Pzvd0zofe*>0vWv0B3UHoj@^6GKYaY->HBwlHm!ST zN9tXmEVaJWw|J2a+-Rd>BCQHAM~KG>AqA1bBa>Ltjl6LEH3pWXKK-yMAb9vSIN zIctNWMyWjQg7{T=g6NnI0gsP*qbnB6tPkB=Bho3lqYUkbYMCZQw_dPOJV4BRA!k4K zD7v{*WRVSeZZowTZS6LtJtQ?exrc$vX#SHx8Fm&_>GY6Sd9up->(xD#_uc!1GnOAS z)<6l6GgjR+3RY_m_BCpoM#tJmFu|We4+Casq_4J#0ZbSNU-rGdGz^tCSD0;`18HxqAd9twuf?bl4)5LET$rlz+~`#fodC?|$_Q>DCW_AsxANX*&CY zm*^43kwO+RLvW!Nzgs;xZ&5n$^4EJla{GoSRcF0cOmzoO(Fbk8ltqgO1*&6kjDE#2 zkmEOi&=Kv5Cl^QP4}E&yqRz;VPH8{9KL`S7lWhxl(#b`qq^zmVUQg*8Pn7)d(KQ^xNg*skOFToUyiM{xQ+qGbd4&{G}SGR*u^<(mD;Jvw;hgnAgf* zc0kG#?22Nc03ZUKB0rv>=Cq0lc#IAsz@xCeLq>TI|b|oeUB>lg~kXkj-*wY}+??Njm){m!x{%fDPM-VxbU3C4?{))ot~| z52agf{7>ny=MM@TG^0qG0-Ul3>v_&V0H^W#Hx596Dg!12z){8@@wx}pr~~mzO}zrX z!%s@-)-QZ9?b@=rsGA5_E+_z!(wELhowOpIyz;^{yzPOBI!31wo;e*+))D3G5wa&# z@p!T9K;W8qhT(oEC2gxe+S6c(D#R~$L|jvr_R5~)-oL4hga9tVRT3=^ql@|jk5mPo zPy%q-#zhC{HZHywd&Zjc@BhFhCqt(UGuJ?T>tI$eRLcs7d7zWTP55q^5A-*%VBb|Nuzf4CgTdrL-%&CP;%HTSQY!SNY zf8Tmb(qq#ybj>k}yx=XeD+gPMH~>BL617x<%Cq?#viy7lWIcq`nU^u}rl4`WH>D$! ze@cNox~}&xNI(7d7t(z{{*iQ3$c8%z@Gw8>L)W6e;=Grpf4Hfd(Cvhu|vfb}f{oTZ249{LIVhls1rocw_=7 z4ZNZSZyzd5XGhz|_bb|IL2u7b&-lO{w_AYnW5yaN0dmHwn|i^@#qZmF!SVCI!<-%7 z4)bexkQf19Yz%-KJPwS2Rc1UY0)}LG#3=9rl}>)j0yY>I*BD~}Tx>|jm@ypEFdUF4 zdzBQTTsAV&kV}*l&uhwB;g!fkQj$S}WQ>`K z(RIx|fnSbfE9Ko^|9aZBW2fYRe#qns0hT&C`bC1d^X8>jz4blmlnbtqM>uRCqK;%| z{t+4JgaX{c^M_vEuuVF069-t*KJYM0RSH_@JpeH}o_Jnc9;Vupcn_f^HysfL0Y$f& z%EKpq^Ex`hrhadnv^*{1`nW7!FYOw-(CH~f>p9Lc?287}B4s!L8fYJT#K2c-Jv|!% zH@rdq05OaTL&<^dCag4b1c2!akI~3$!u(^{CScIZV*P7)Dh~}1CIF0SeR*HXkD+m9 z*q-^Zhc14+D?A+x$};K9aGW_&__F%ZS$DNff`Hkzu1zyN5kPz6g zAR=?uEkkm}=}!+z%b>OTE${;LkPSfN7Y{k$PY^2sa{wpcWX~AjQ5yGbY{$!V&^?}_ z^#WSzA7JGVFSHlnk>j}ZxD!&Jp40XcIUCFg$~%Ezx?+)MuAU2D@xmABB@hEh?J#&xdx8?s|PkMncG;$ z7n|V{fnhMlg3%BF1rL`DMv=!`T$F!rBf@Y1K8()6hK3PB0}lfu4C5g^%0}MFBDN%Z zE#zl))qq9;vKASk!ep0Y{O$>=lw#tPDD2<2qirOF2ksu8kqJ$^hd0>;rOi6owyjaQPl@kL^3e zVGu*O~$jiWzxGwD6hRB5dsP@7EM%WtQM|uWW8(<-Ic!jZ1+#Zq&VAwb>kNlI^(DVuHb@$Fn|II3ZftaLS&Iu2qYw(bjaRGFR$P0_5b~x z^Sj**GygGxYz@ErUj3@-F6W$ks?N90UFuev*X9=nk!L)TvA`(I2@p_y-cP+`y8Poy z)t3nDw8(+oazLW$kZecxCo0B6Y`-m6MaR8+}ScaGDZHiFQh*vti&Y~Y4&UF*i)FPgLb;)$RvPFyDL(4o^*SV(ogjEqIOsTl{e1P0x_ zYA-_Hm%NOj24N6LvHGxl=r9`TqkogJ9vbltc$Bx5e1|*{<#8%-V8Hlvhd(IokyXv@ zcqfqw2-GNR%2=HC{@?ht>4ZC;Qcdat8uWOK-k7PkW>6n-DZjKdJ>{8CpPv3B&z^Q% zaZTuFJ;eYNgRhZi)rl-#wF7hmG&HxVM4CF9{!=06^6~oYRRfUHTQDZ&<2hb=?evVF ze$n)#Z~ms1g*+9G*q6+OsHIPfXqWij5i`$AP83i&~5{?}8@JKOnrMJ|d z&dER?9;{XXoshVjzRB-_mWY%p^`PZIx)}INXnzsV=joy98y{WO+1!aY@s6$-v3L$QUW0fd}XVB>=3+FJAh- ztOCAz(<#%5r`$1yo;*CqSmxoi8`URUy*(2`tTq6E*6Mhd&-m`=Ob>Y6;{zlaKw0ir zgMpeRvVb=V07jX;;mNDCsc?H=kuRBeh~x%J9su%NWqW^CDZgRMHB)9EO;3HsQ=wAi zZ2DCZj7qNTd68UMfd@?P@P6zwpEsR+=X)ltK?v=kb2v*U=5D%W5!+5jyG%?0^{gT}OFcYkZ^~>NgHeX~_{$TL!dTI|Fj#8j?X*fY&|cGpO}~ zho1Q>Rj>Kam#u;BdH%A=%n95W4P|Hb9a<{@nALYp>pFDl<3x9C>_(wl7z4rHCHeLFe%cqSe z<#n2rH?%`;o4SyH48V~45SS!ANySn;;tlS3jq%!Rrc>^6&h)TnJaKy1BOWoGeA=B3 zuOd`HGXu)fh_bT)Bn#9-EwoJwT9a?LDpKcR*v;EKm_lLn+T$@WfZhCBmEmG!zJ4-*aaJ@^QmDNvVf zzQd+B7sL6_m#u+0Kz`XOyzvCi`S*YM3%~!p4|?H_-TTh)q-Un}UF7V6pBvxC==C-7 zwiaSwiLE%C`tt`3g1|%owAM9TlXJPncM~)`*k*nh7sF+EWv=0;*>{+4PXij~Mon2I zTD1kp_NKYKvObLvzDYYAX6MR;Zf(V729N>F)fp8(>zs3@Q%^r*I{Tb+r{DXn-oi&K7S>m&;$cMfb)~pB^GDW7w2UaUix?$yca>sY#G9%}uN>$)EFtspIf!tz|p zWc08q@C&bTZ&cGi54+{%0Ila`9!7g|{f+Y9=ZwvNzwn&b&R6eoac+i?J7^wmO$~f< z=e~;{cIM`1bpM$F8>7wU&&`Y__RA=$=^ZbLVX$Tr{wMCx7Eb2@3bKcOPqP$eWuTR`239O=C!~8FmUeg?qt+F ze2`R$HPO}nrR%5D&ilIQq&uFTwI_E>4}0`Kn;!S{r%W&W*FQep@r<*k1*7o+v}PGO z6)qI%sQTqGiX(rcQT72FTQY3@+~=lkTR)rho)}LDU5-L{ncdA%51Z0gR@ce&taVwC zq90E3^KR*h=)JeFg=^d7`eE3sp*MZac4_T_D%swA7jOO5)S>`lambIO(an%6x98ap zzw>{5$s0fU5vAwh%h$l%gZ%P!c#|l6$6b%xzGK(kee2fc?d7b_!+12$7y;t}ZbEr2 zF|b-~CRQ_=*xiVZWwgyDov~V%u)V{yl5^gDn9OHpn`NxPad<59m9d79JowtkgCk}-Wi~|Q@}BqxLMhg0T9`a@YIe3C+=$rz?>6`cKR4g<`vU}9`casyt{u*0Aba1 zkNezv`rEwt@qt&pJ>Qwh5@#pJv&X8E-uI>%yn4F) zl1rx3PCtD*?Tj-@_5ULRaPE$8cn$7fRai5W## z$C`hcPblc_v`WvBqEuvoH|jGPX0ptrjf^w!A~$-OwghxO@%QhW-u{Z84Ps@LpJe8J z>moP=f{|51&oHnkNPp&{0j($hH}JKW=o*Z!5#VN!hpfP^W(&mI?uQbv)2-0+N(T)x zR5wG)pymFcFZTi(`Y>~u_I%TQ@AMP*_{q2aS}Gg?=i%niz}$npIkb4wXx#APZ#?Jc ze)S!n`xQ;=S_P&IwSkDCRFf=yQRThF7=T@Qb_Ixxs2P^w#XuNv8A>|r0UF?4TwJa) z`oS13uSB1h&>o4tt?-XmQ%$;9EZzXNX$5$5yvhftLSr$j)t++abD#zE3Kd(9YnvSp zP^`Fs5Bw?MO1>HlNj_z5kvTOf9)J}vpP0FbCsulcW=c<|pAs+>poDeJQszMV{09Gn z`*SRJ6kp0JI!3K^f2@ie0F39@O>pE>&*(W4MBkA`pK$*0BYF>xbv0II zi8+zzlCiH{M#=NABR^0kqx)fR9&iA*?v4EiK6{U!{JZz1)Epe6gqthO0rKY3A*{9!%G0u#CDT4!= za=aarhk>8ahSVRJ=cROiSC4)(uxd{G%3g>vTwq#XN>n)MYmPC9qknK_e}v$n6}S*A zAu^Ou;(#RAZss8dIZA$Y&=l=_%4JLbGIHg850{M>U1ZRaKcPmOk1Q)qeAB2brJq@T zv}g3u@Og%!tIQ$qQrT?k9w2kLbH}dfs!K0QJkPK)m%jH0`-8tu7dI*;H=+e$;oN&yl z*G9hqK`hr%zix z{qf3C1S^?0L&nZ~2-K9X3OGn=@{nQowbxJEFS|lS7h&D{2McuZO*}v?Z!jQHo}avl zD?UXm$B7$Y+!EC}Pi@Z)+ozpd!=rR2AKgVx;K-$Qj&I3;b~fJaj2_=^>%|vO*Kc`G zCdl`6pA;zlX=Vez>bq6#iZ{sC6V*ekfX)nr20Y~BE6!wZmZtagWOBgix&dBkg4TdT z^#RFOc`F}7!+v3XvzSzCl4z-0F&V{Qr>8dZU-DZ{(Zaise-ML;&9~{aaldKImU!}507uwtlqo0Yr6QY ze>;8R_g*)B>i1qh?bvd8KCKXMw17#O1at?DqLa8njahoZMvkSSUuoe*fe9V}*IjVY z^nw5R%IQNdedToRr!FiWhk$jIA2g92au$XBgx3DN>9gai%cixPPOo>RCDFA|z?kwL zDgbJD<*>N=fs$a>-t(0fL{S? zr_Wkb_qzQHYIwt?DJob~x;+}y?5%)QgDEpW#i}NOJ1o=^)fSJkt{m{fq zC3Tm0Sb43`Ll4ir2lie1Ee|~9HkT;hmZ#tbTpZ?&}UlpTUcK-vZ zUZI-D7|@H|y5$+@@DLd!Be97a8-N9p-IUF7{)RC#EF4uch#Z=Vm=aK#+9MMln%aoeUh<4z@d&tNoBks#+ z`0i`2OY7akLD?hdcO{#yXrcJ!VUjN-Uigvo^FH>@fDt`)h8k$8b*7t$+^zFiX;x5d-jyEvP-sEG0d z9E(Bf&vUGJ8K6rcO!f^Rg;(;%tJ-zNl^N;XlV))i!^nQkNykp>PsrB|6|Ir(*6$b6 zNtz6$>VR3M+ibn?)6+FuK3E?hlTdw$*#o8)PiAu>`=La4z{=&L%W*xDDZ@a?8~Uyx z@4vP@2!SoIb1k$Sj8OMtB;7(#wlsZ*JJs+1|LZs$6$gdvgOsv&*1?fbb_r#dJ+j9+ z=8@uEWMpr$$~rc2a76ard++Vo6W$r8z&UOob73+1jdxl2Op8t8blKy5q!gUnw}O3S?{9_AK`! zjY+6mlcXa4v3Y##wbEyLRjMpe6#=5c+3;w+@B#VsypCghA?54}+(lY_EsCha@5+j9 z*K8zaW&30Vc(w8nTVm^NYe?BbjPJZjWgs*UKQ?UgTuu}lJPr{^l0AuSNErzVmg3)? z5M%K?UI(>dH|vC>>g)~^3)uBaGZ!Da@hl}jc-^Y$J9o*9NjnninR(59{975{7lWpZ zG^8sJ)!=wVS-G|Bu3l%f7{K8l6Ji|VdS|lM7~da7n}B9ZEJ~6{&HU%xiijH_((hod zb)NUNx;~vWrWXDjA8ddC`wlyR{<{7U*9UvUT*I}mq-N&j#johI3p_u8-vEQo46j3N zkdf%f(Z5p@lUu&x3AH9a2!TLQ3uCaeo`?Ws%GhoCbUm;cc>A>J=PMgYVK&!^Oc;E-`!GQUmF6u({kMu_sIvYdFu?@% z5g}|rsm@AdeCOXH%dYPtd%EKwsY+4BW{!-shbF6kcbcYm)oxdEcg1o>QOB<%8%n~2 zkN(K2AqUga1Cx)5haH(*MJGAHc8KAq@o@sS-PInXBlE;Xea#1b&j^4&_?qb*Xp2zy zLwVmQp)lfsA2`zo8`Q^-pBho8S~tHKOXGqU#RR7We=8sG?ce6Cvs1o){88VvQ9K#d z>gm>gw#%0dN`W6ZP1?@kFofZKI-k|i!s@}Dx{KX}t7p0fb2@=sLiB87grI51f2m%! znn~hKyd2%Bjj`jo$%`9hcW#lJS)!rQzsR*n=%=xxCT+!Eh;&ikWWzZ*{>7O{r6603 zO1H*S76c((&oDqPoaa9l{jkXR{t{O&!YY5t@s6QdoIJp}>RmJ|wB1#n2F;zxz}Ar* za8kx7b4&s~4+h)jI}IL||a2R9|%UR$Z}C_u)6 zd`UjRF}(hf<_L=EbgoH#%fkNuX90|%c(E*>3!Tc6Eqaf)CL+bCd%LT$>%Mu?19xuG zVpf}dJwT8j?Dc@a6Q9I+1>GLp9y4Z)ThF- z*j&zIy3a$o)4Lx&9S68cUrwi8kC&TG9;*pN%U$k;Cd0Qos96qn_Ow)WsMpeK?yTiM zSTIuJbcPv=RSDS~hJ|hFxM@>BM~e@~?i9cwBYT2g{9d7kJWf+VI=gkV{>W9;D7g13 z^&qPH(f{q^vwV{~-P@A_{)5W={?k#r-V-7pv>ppHw=_E)LK8(E_ei46eaNe4GQ%E$ zYVLfEdSyIA%1GXqMxYD)z~Bd@!+Wztj0vV<#Z-$=8U7&3t%Zh$*Mqw@?!K%!Ai&-L z`u9UIIO+Vwd&hkx0??vKAA9i<_4}k!H^kxbu6}ZnS8s5x(WqmZL-pDZo7NGYT%FBP zk~s>ET1>6%Lk?|-ThVzl$zZPWS&nU@$^Hzb&h_GkyWJq6n6rCRY;axEr`fG{)$gMG ztYEPAI+}O>6(00_^=Tg%Y4Eatd1F1V*F=`kWYX{m@#nd73}nhhYn(X@6|z9?*3aPE z&)!R6j5gM9ovw>4IAoJO``i@hcAk=bwEDDdL1xEnq~LUN_3G-c zYtH(&GjS_@i>kFXPk-dIYwPiD4~_QLIV|K{DLZf|+_*PyiCMWzv|1 zkJG|NzWZNpu-;Vu^J3*3QwDFp^uVjXhYj;pD`RFkwQ}1p-~C?wyuKiJmfsd584NO> znRPQ>cveS#E6?@$o6Y%Xmvc9nwvCMY&WCryab;Qlr*A2LF&~04 z7e4DIHFi0)k(dt-giG(^2J1vwul97I+1XOYc<+d+0zXILqd4q7b%M*6=Hbg-+F&ldo7R3=%pKg%W!tjiY0t1!)^!J ztS4?B{dS*@R`fq;A&U21&s;+B89 zI26e49?Ofs-Ya$=lO*qNSQ;;xVDZa?ivHI*H`agZpBP>^lVe?Cmx$32w{qkwc+LIC zId<-OvNOriGh}^Uj4?&GrKkmfYFm%slee0$O)}w!Mz)>K(7(@D6YzSLv9{s(~?*IPj`JUx@%b90gwrX{e`Ax8_*N2)O(H73ez zPzE%{87#$=ENDe(O4OP7ncuTxEa)y6(hBX^9v1Ae{gEqoL*uBoN8uMdjq5BXVj_3T zb}r`V-LQjguiNC47g)-QI6r!qaT%hQw-dXqQe{~@d)^IJY8r|1<-9DswcFoX#?0i@ zZ?Dv1@SL=xGdsAi3$BcIof=IRnI=fiK213~4c4?HN)<~NSqw2$u_P1o33&K-slBAW zCuOoIVdgkbPmK<{DmK{Ren$1KgF;hd9cGk9E5L|$IAnkD^srTA>+ZH!L;@@u8*<+? z(-U<1eJ7;JLf!=5nqRo7L>g)4j&rqGQTg%mjQVMTUsF}X7D0|ixGZe=f#mg{FJg0d zdYZPi!H?^=q<1b#{w@3FGD0h)G}#J)ySDVv3>@Q1)#Hv#R^opctWe=)KIdI%v%2iN zfy}<9=YO)^VMnpbjvj9Y`Az?$Ohj(C`*iW*lYT*ZAp>7*PL6wX6MT;kyRSE_a;PMyqJLSw28|8X?!l zYVs94gM&jz4fv$#UR@0T+ow91+YC;UjD`trjuzIOl7vgFO4FsDOx!#P;ZxrjtdL^i!@s)OU z;>1g(dv8HC{S9L}wv?K(GZvd_l2Tfna*^-XUS&ymEva|Rrdn>sJ%qi$FX{ZXX{w1a zFy0$;HL1QK0|*J_sA_kyIf}&KNeo06yZF!KB#^Zlx!Rlc5=CynMBNx*%5e9lH}B-c zB1;78Q!2{#*hqFJ!Yt_RJ{L$WJk+YdqGRVj<~^r8`%r^Fwuy_Z5jyu}TGTmjVj_+; ztfm$>b1>H<{z56pW7Msz@V?rCzT77##sM6?e2Ng!O^q&1h?{=V9;Kr9pS#G(m%XSLoe$?TUP)T`J=>e4 zy0Q5l;0+ENig74mtN}-SIyX!C5GjO6!#LD zpOKAYR6`b$=42a*t8Io$qiR|eU?M5Wy-lg^C*GP#VZ9G%%l?wMiCN!!M&HY75pK!X$zDMJPAL1u}N==zweD8Nn4%{8B}B?;0{YX8+>b)Sg(YmIy7(f zIsS4Wo6D(h-rsBUcS{8E?SnLamWxc(WFO$(Bko1?t|Y7=2zK?>1EL9b0pI$bM0|e^ zt%gPyHBF#P@?xvrQkEQdbo-N+WU)-0bA-!nu9FEM54?5UVGc~t>dlq;wLTo!55;*Vca0?efPKyYEG&GV=i@^f0-?5;{X%y-_-LHBpQ zYi7G%ljX}zj$O}>2En0r9nwlFZ2pvPwEWrFU}gBy!0x=?8!7tk1wpcu!^sT=b^6g~ zb!!aOKTQx)wNHEAfQ<<4w(Id4sPDc|)Wu-AO?O^M!|r@80r!_|7Eia<+w?IPG-?kE zy9Z^yOnE$e-Fr3PaqZF=Q(IpG|3Od3kze0R&*GR3gal9|x6{JXTO(@6 z7!KIq+5F@tU#zH_YRIlq>x}HFP72S#Zp9y~h^oGiNmcaMpy2R+_^;%KVKWI5d5!6+VeXx7H+?_+>~ia`dMxuUyqmBr%|B?IbXwyI>6`!ob`Up z3#d19(7wCU<@gQ4e|`2Cj{nZua4yz)L6Q7()|Ot9QrXn0AWA$pK`$znC!16sAQCji zntiV9Jhb~*(*Ja9ioplg?d%Nsbou=Z^@SQFn69Nh@T?8OyalKo#pNVSfnUBG>C822 zSYaQOJgJ{8FRzxECInC>=~}sYUAT{`=cf2Nz_H&+G`=7JnqQ{G8K3d=u3O~`dTOd? z1M`p4PWRm0XFi{GkzPAYRAIeq=JP@x44w}O+#}UG2$=rijebqdW(L-GfA`D$@7_|f z*XgY>@H4Nn1q#!$j<81^&1C4Z`<$Fb!Vnv7YmKP)I(#}1@^<;v%8nS;QIh{s>rn(p zx$Uai>re0I&vu@U;Htk>mC(B$-;9sVp6jac%kQ4P9+R#kf<1=vrb8{WsZ?fVHaq*K zYV##j&5fe0DCyyFi0SM267cxG5SJU;3T(4TH9m2XjFK&b55J+X7WQNNI|ot>4^6Vy zfXum^a=gDd;ZyIFmQAy?lzmd^L2#S+LmBU3F>sb>wx9z6cF&Gx>CqRLAa^^e+W;mx6FL4$a_NGdX)b`-d_6$+I0isJnMr2m7F2E zB7T9hEW6nqbI~({8nbZFQ541A8iF80wWca7&${a}^CHhiYyZh|S!`xbT`5VmWRA9I zz(<*f&j$Z8h!#o8xsg+$x^?MilMWrLJ4@uw`>v1cP53Pj(k8z^EaR>`*gFmXW5NVL zZa`lcO;g7UH z#-4XASsj*L$BHiRef>xGdliqQ1)hG18L@sFZ@XTH_p?c zy*xE4FMJn~*v+G7^|H*!;O_&+ID4!rHw}=4HrV)s0-k7MHUF<{91f zK}y=iFuMP1>;jQTXk6roW@zz>N{beQrPzAuZhbvNb%jkYxny@ensJXC7n9crB-+*5oT1^qHt@fS8O4$5>=d#K8MifFeh`uk%?463{; z_fIXhyb7Iac&nlSl-@V`yd`%zJ9>w;P@duNM~?!pfB?MXK=tx%@2hvEZteY-4#i># zwWnWJ`s`4jBTF{o-}n&L(`beQFA?Kn2sy_tpPgW1*G7(m?p9t^(e8T6SL3U4Rbc2L zi@!9LIsaevQQY5?x_zDN4d+!^Io2dOInJu@?@KLBGc{d+ci**IosJ}>R{DW^LEG`3 zx9riIj8T;enE{o9EOhAaNc(%aKFpjN{ToDLyx-=-ySJ_HS2s^?4p&MSCAD_b86kH0I8f~&R;a=@bB=>G z1>QePs)it|ji-sz!#Y%m#jijAF|ksDkFqy649H)t($9wn@N%;!s`QsCSUh1UfG60vS=D+k z&qm_W1$hC;0|*JTouGMedszG>#S<2(3IXmiuSbPggY-nQM(C-7Mi(v$1(xnUG`@7sJLi<)FUs9tRC8}5vL9&h| z*n*`+9T?FM21=VXqQskGD+BE1xw^MbO4I&nUTZol|Gz*_9?|e;c^yq<2W(H$H8a@5 zNs07($V6R>{8Cac`xT+3pZOVrle44xv^Bf!jZt!jXsk+=>|dV?>K(5IjNJUF?EY@f z`hY+0{EA$a9rT92_3%YGlseVU>}_=5Q8jZ{d()u*49IaSXYneV7g^iT#swE$fu4-gd<2|1d?2|i z*y8yVT@$k&l->Ci(wQj2mgS8l~B(8%<52THhW;e>5i%N77dKyHx( zt}_tIVr;=0W zPVm{mAv#%IHUPFapvLO{#<;nxO71wcTeX z>$3FyhOO<#w0b|UTH>-z#C1sB9_zjz%w{USob)(-@#B3QQw-@ijKEj%Kkdi= zfEV|%sPu~i&T!!zBIt8nf0%@Cs`J!Dm2am)@2Mu)>{(3%->X$QE7!s`zJwr^V*D!6nig%ZPcGW0$LdjKuHLODh2&YFx%kC@&JV zz_+J=rRQgB)C}AO7^0f{e`FxCtv#q=b1(0qqXZGo$x%>E)V>j2`qu9k_#DK*av`T@ z7$_ssGJmCj+>~W3uJnv4o!{}q%!9h&g4^3kWqLo#_|o$JGl!!`OpcXHS;1MVs&4D= zHQipc_#f1S%dy{x4uyOC!}OtD7i{4Zs-D^;4IZr+?CPh&6B)CE4eX!&!VnuGqBt12 zjT1dO>-Q~5F(W2X@32Q<&^J&vg6|p?NCl(<5WndwX}9|;L1lAD9wC7fXZ!RO4)y4< z!d!nbrVLwBcn5NvfjQk94FPX5ZCREGv(qu|Q#Dx+Wne#`vVv3n)Y(?v6801|pPX6Z ztTnRGR~ud&t>vl5_uB=P%9go$#l5GAQAe&5l{}8O_xS^>cWdS*X4MD&jjzl<89@jr zyU^&F@}H{@;)HD6b_Hhzfl3+yN6ncJ@0gs%V@|$}68|@1wU+^JV6L(nnt2!S68C7a zheUs~tiw}5TRi+F$PL|Q%({4|2arXSc{&E()6~wa1#utT0mGZ}wT&52eUeUWn8R#1 z)kj%%CPbuaxtVX?KMsu)$`B9&tf|Q3J{6@CEE<=jL3x_)Pj9;aH=~mgPE@(f#R*Cg z(?xXDLsE$R(DdPTHkJZO8qvkcyNeO3(;mAsn;+vn-~7E?{WXGPW((iw^c?(RLZ@se zl)lVjWl9u*Pjms;(ll?4Wi?7~tNH}V4ZP{PZ@xDy-;#EHSmJ(dr0@;?RiKwwh%2ti zR4<&9M;pxYb$14r^@w6@N4;#+%4l+N^Ywyy-VEtyBZd8ZZ5`6lP-c1*vVCH~AREk1&$n-i<>YFCOItuYoyP? zgu;Jp==^H8q8c--BX#b-;v1oSEr$IqR(&ofyFT@W3}fsA#}p_R)wbVuLmFynC$8i~ z+IP3gfWFb@-_KzIJuqz);Vlkzyp@IiN^1k$o!fL=0K|bTO$;ci7_XOr?wIh2w*}sv zy$8K!(@&>G5zldi6_^uMK5Kik2k8P(sjF+@(GCg?&xqN{()BbE)7oF*{ES-PwMZ93 zjE{JBrlyVVwkN5)fwR%{4S#-28BV(!oaVi-3qPomwO64OK5&Y*yCMIT&qyv`H~TMN zRQWAQv${+qOvX`6F_{zBasz2XPqag1h+~3Qtt3S`${}({qh)y#QRZD|hpP-KVj?(B zK`y24PtdSh>hkI; zsr!t?Xp@wY=le_p#Euw>Q=n{1@AyGY{^G|G1F5eDwQ_-Cz>Rtg=2!-=5}YsLdnkZ@ z_owuN+wQr~%A*`3*+MOTwu0YeOQIPk%hY7*nT`48kRMBJEt%ABe$OfW6NCKVr_E9*9D&+cpF^T9hWCY3L-*x`8P8=V<1OBC+4?<6u_dNb! zH5Y<$Ij$X0ZexPP!wruXxA!lBOi_f<440;mMc24!n)ZP~>LcH@@zFKpP??vycm42^ zrXRjjuax=W+d!8eEAu?h!8;+S(~W*~%OQ*3p|hu~oT@`gHqd^$ImS9rI~-CH_?eR-Ggb@@+F z>%^W8j4ebvmAw7+g|YO#x1^@+v|1!SjsHTWNU<)0iB0Cha|*)hD@0oO+_1#;#K}#( ziuqVHg_36=c3QEo^d|y#oZpcT@sb_=Q>h_75vTFQap%9>l0bkAL z##)Uu{LVzPN#mbAg`+WU*o-9CR14@8kdoC-Hik~qGF9DT0KobDVM-eT9uFRRmNhK4 zj~v+}Ok%FoQF-fbyo@BvE9XNU+;pMvoJd$YY zl@fK*n0b>WGRr;n^9Li*Ixgy6@z#Z!B52F$Ja~_M4lqjC09$2%%qd6zY;LF6xxa`c z!i(7*seg7N(jRE|A}rL`$}aomCLhG5Vb8Z;>KBk7q-E;fuq<#}f$8sbm#lurC345( zJh6V3gA>C^_?)i48%W#4pIVIoWVg6Zyn9eI5^ODF{R0jPs9P5=csZa#3*xDy`IchoDo=17spQSXh@}Ph``@_*as$yH z=o5>-hYOqDus z`)`^M%4N9<9^xOFJ_GDH(7Wm0(Nt}a2D}9%ipVEaq6gF-puuRbJKq%_GP3PILGwA; z0$Vx!n*1}H87sCBZ_(9mskHV0f!=%ZU=j46=J%mfQXN=17=(RGV6|i)%D%oqC?C4+0i7 zodZR47Mm;0E@gh$^UsxzQh@InK0-H75|Kj?fI8HJ_-&AtIO5B5Ebm!O??Aq1en@UP zgxNRYe3ytD#GU!KjV@#fq;@(lP?uOK2~pZ4+E`xhNjyV4yMvqt8E$lU@8dz6u|@<- z9G(6W%c?mMa;Z?Zua9YV&1O%pQh6x=>(Y_A>HZv7FAV%q5`Pv}*tb(s;=H|K*RXoi zMC~;H$N!R%`Q~g4-YAga=SAakT>I0zz9S0anD{HV&I(n^uU2KT;=`~s5NT$!%m)LQ zc26y8qWhIG6^F@x`({+f%1ieFojov-0&w+x5zcY<$Y(A^Xxh6i1dCWz1fB-yjWoW^DxRzue ze@;6lP5TegP+KCV9w0-)X}iYQeWCG(E#HT(|_1EsFyU#AnxPV zdDMD6u8i@q&`!FBePoOWFZFx;yPC!GGhePd%Ak&d>UPP~lL6#m8f_cs6S47I5TYkw zXaeicTc@l@ z$zw@uY`f0!b9nNZaPDWX@0^md=Gqj3QSH&$6&dXYG@~<5=ywrm+o;OdsEN$_iU?)v zp+L*!zh4B-S8C-@^Wzx8(i7=fRu;y!+T*ndcmCyTBe31nFtJfTb^|6_}d|H?(>S7ZanQdnr1YvZ%BF z&(|Xv36Qew14TrF#{zzB>BfX&>pm;ujv`G0kSVKp)-U)U@xH6Rvy4D#KqPiqk*KAQ z7uMdEG@U~F(w(CZWt~>-eB@of=qbA=@XTJd5+$MXKRrw4(lf$rv(Gje>){xa2ki7K zOXmg5B&h2f7(zZYlE2ZFh!I+Nx^j#L$ibDnD>i9WdbGg&?HuwJ{5yOTc4QH?lqG;DTr~*L=%g_Q z<*!kr}FWp?y2n{(eAw8cQ)tAk*+z-YcBg88Tg^x3L zjD54rO8NQuY5k3E;f$wuTsK-~eJ?TC-HWK=+!;Z9N3B;PDnggg*}2i0CfRmur5@?f+)`0%1y zMqV^A=a2!{g?0tr9FgYm>bHf48!>RvJ@5#~>bC(4)PjY@?M?Dt&8ag91NU}+*0?IzoEFeF;hFi8)OG9 z3B2|s%2}H)q!81h31?&*cvNgJs8}U4G&DaK!s@?6$$N=o@-H)6ZK(2u4t;d?rgPz+ zrL#6|I+Ht#zus?D_4F|aJsUH`4MX^ld|0W>`lF9)mGeZ;)NOUU)|3Z-H`Z~6Gh@nE&u!6@Wu8|4A{q)r?o@M z4jDbLxco0J<(SkB_~1Jz9W#^i?+FsQ;`%dx2EJ00!LHkZ=Nx`#B;6=`#B-IkOsIer zeA9q6rfv=R#91kt%ZG=OcuD3^!cjq2ZA5}r1^KBOLq^Fii96@oCYS1-gvu|gg#9#{ zva{Z8eefT*1E+H9x%pn~DA<2#$;^K_k0};*Z|K%1w^=%1?)E?Pac6OMR|^&q{h(>K zVZ^=1T%6O!^i35Y!52Rp`iQsR9};9pAQW>HfoM0U*Mx*|*4y=`AVYZYs1D&9=+<(O z=c8~e!2jS)U-NRt{3F|fXl*(qG`?#d}EwpILZCm(zrY)t3SE$-m z&88U^p(O5z78f6W%Z1O=?pALJAVUxZi9te60RcqZ2yNW!eF&ddV%JW#kK7}a7lXhu zv;$qW<7r+_!YCrhBFfMpD=iATZ3-5}X`xCFSE(jkpD9w)yZpSJ{+&3gl+>g~uB5tq zfXw^{1)^05-PG%cLTUbsioIO>M(ULBQY1$BbZ5dWOqm(Yf6Z<| z(xK@}g|mY@a6Cx+knAw)v35Jd2U%Jnv~GjjhS!F zuNWRIns?#u7T>NfA);&+(*L)`6hZIj9jf$ovTyqSHVS5QiU+?)znvaHiLiDoK!I$} zL_I;hKp`XZZR>P#bf*x8e9lw5q7fE>>`fvE-qvMFE0GEg%FCMEn2no^e+e*;1hRFz z0IRew5f%~VZqhGUk4`k)f2bIj{?c?;rdbWrI$MwOYcHlT+MrZaU@;=44B5C)gL$oo z^rhyw6j7p#!etU3vBfjePH*|lQ}3KlecAQuw&QWRa;+UiRFOG&e&{Co8Neq{Jt~>& z@b+3ct=_hE&}^@@Ja;e%GW5ZFnH2O8oo=I#cw@qD-$ZKcBJ@H11qAw>Y3yDcwFSK+ zc%!R0e6Ki~Rofl03e+*{&b<_qV6xcp(>Tn3m*QGl!CYEJ_Y|#nP$ruYL4(L*_FFE= zX4Y~s#NCRyw>0;ALsc#I8+)Jw`gshmIZdvAl>Kqfa0x5<{Ex2fR~~RdX6$mD?$O_$ z&phQNo;N(R&g(?J*y~YUX&b146#Gt*{AK?T!^@*va5lGEnHU`qxR# zLII0IZx9qh_PHJa{=PCc!J8F_ZG$rUOvhJKW&ki9n!bJwbSL$3U%)?nm|M9LYgV-} zN$v$5DL~|F6X@S=fOm^ZYSs4{iZd0N>4@mB-yFuWfY-gWhMLk@fz#Vd4=>iD>?M(d z+h29-+M=*9`QPqq2DEjnu8H^GsPAXdp?|RUwh12^A2wl52y@Pcl%;R}I{W3zzOOj` zYZtq7aL|jrzA!mI?lt`J8CA{lKc7QYW{42A#bB=A@mB%3)x=rDz{C1rS-4W~FC|wE z*_O7q-tB_vBQvA%ZPQUW&@(0{ka8%!>2SIt$mZk#dcF{1nYbWyecn_BWgMj-_XV8C zy?#okxj8Ns@b{`RONM93&p=G}K?`lK2Ho#$QGm;0yrRM9$55Z`b&z7_WX#RTD939> zQOan?WW|V%W4i4EjMBbwkLNW!Mb!#aF1GvqqNGjFv3IBL0{Q}Pv04m=@YlVMx=A%| z`X)y*wm(9O_Lg8__)iCydedouU*0Hc3;sJ&zoJNaJ*9fJM6Cx)@b~k%QACqrWJ-WD(W2IWzz$P>3@)9p_r~Xsd)-fxqMK!Y zAC-dtQ+ZMPX4T{hN42M4-7I2Je+lN_u9=y3W2|p*QKHj=B7o8T6AZ#u_3VEKVVN=9Us@4uj0CIiSXvwMG zRe2yHI;QnML1QAR!v#Ycww4A~PN&EI^TChVKGwalM=n4<# zxx3q_jUbe~=m6?;q0raNK;B6KgWDCoe~h}UTOYCTOOEgU2gF0kU{afoB9jJA+>hQIFH$(V%8xKHkw55?(+k|a++>gR8WMMW zeWL%9Pn6MZ;$lfXDn*=(nXBcNtT9e?2J-ye#;9N0YWZkg*?#X)lB_mcQD~0vyAj11 z=2$g1fH&Z`SB3Z#$E6z}A(IsywIfA-weiM@Wdb=q6d9x`XG4%q^SX9z@SjKdpW562 zCY6JT+3hNpYm7(F<}3ljx-Y_7<8vVbX2@;%uXM-O+uHui=<69p^cQ*1eMoCO`gl7z+A2}&;`(TAZT`Yvl#+_9OaP}Nm|6h-11EqFXy(UV}ixrlIf9y3jTb!(2L zb21dxY=TOFZ13IUeFPe^8=DS-7%T^nqtG!_Q@7iW(1SAo(>uT?uu^#XVeDwhdD24- zJ)(NFy1ej@+Z^sCpwb^-wh$E?{V-(Uhe7!&@E@k;WFB?P(tMHK%AD7a{NOY|@!f6q zK%~!*x=eQX=3`?vG9xc_m!pm^n%6jT^~la~?k9xsGYB4!58s*YO{sqjxeNG-+{S zEIy>JeEhEsr4verI4+L?Sp&ahR9YJN^Nq>2?+P{Zw+=3BxAT}>77FhXmCPM#D2&*E(?=ROtw?y36-;KNu0otui?J)8+On&`*97{O8zUz^g-tMWG1W z-fW|xx~UWBmHt`Q3;m0p#?JIHIcz(j3YO>1F7N>?jCMc$n7MPIv-^`qsR+a}z4}J_t~#1Y%KI z1W$Ae|BV#B1Y^t1;)G|iiYH!nNRR5ZsS-3T2y@OA$X3Tc|Cj@%wrdaf`N5}aN zGPtUPk~r1)D|gbvGl)B zSsStsYU3Zhv}Jp;tgieXJ3yXCul9aPvU>y}fv_u}Fh(SjgZ~2&6~896sNqeYPqBoy z@iH5v+R-cGe`=06J)zpuW`os}l!GFo`TyK`!C|tVvq4Q2nta%Du<5qkK7o+l2t>>O z7W&GxQswy+-<{Z=@#u{V2br;3MAJ_Lv?RC=l=||UMp8q~fmSw`!KfvtNDa0t^+j3@ z_*LZo+xFp7eIaW{tg9)8B%{;Z@vzcUzsFCZ-gEyq4_(7anIoagOdAh>7*sUiCOvbMSbSQtU#(J+^9- zE`Yl{_sL61VD`w4a=e1O@tMh4w&*A&YMiTVphE33wT?8*f1kRiwv`p@*jcOKu^M{n z<4Ibgc}d?2X$1A4 z?K=+Gj^5t}0_k*MW^gKqe#YIL&;%>+XX14L$LZJXu3g$|)gNOFvqXmGRJo>x;nq-L zpH_I%yuaYC=9~-DAHf*xE8#dqQ)u@(mVk%5~2ui)*I;% z&rAS;#E!rB)|u4Y*T~W{HreIYs~8M$LuB`Yd0$rj#4lBzT4?f_aJJcg%YRxtJm$7RvOY(K0mp- z{2gCHyJT)GT(vxuSM%CC?#Cre#*vc!lyEIf1_|>ALF}^@3GzUpy{n1Snm;Y{O6P(O zBgAN8TqZe~$=lR)el*?+L<}Q;O%03-d^g0FD6 z$-Omq{~5r|f_YKWoSwS(Ho^h@A%D0*(Y#5IVgF1MxaXThM3!_opd;KDOnPUcu;I9+ zHYB6YZ6B%zu&75bCMb#5JkFxkeEE_G^Aw+d(- z(H@(e)Um>hd_$29!Z~ZRfn*K#)ct$Z{@mXV>Kke7W7ze^iOKn>3`(_}L zI(n3v91)8fUy^B_&NrNn>C84%W3Sy(#|1-2y1IUSI1POUaFX-Y3NIYPClIw<(;VYX zQKAc8)i1mL^X@YZEqz+J_wpNUNoRyr1P9c_In+&!%y!QPfI$q^aeZ1rt&;#QM2zr) z`h4%68Q2;vAAVXXZp}z;j1Gmrf4BON()8g6fai>K>?gQ*h`*qt_SmU0m^a_bH%B;K zz%7cgtqa@O+^-YxsuUQ4r_%hoM3Yu~_+Bu+hzRXPzWAy=yCGdJa1UyU?59L2i$lDC zw^#MLGPEkbDz~{zP#u{m{i*%D#$1@5wS?n9irtCW9Ksbw^5Y<@>`vUw(KNoNi7z+6 z@Dr+9Qfx1b&Y!R->)jn@ z)>_xD{}W;8zR5&p!>tiJBS`N**)?QDJ)ck&|Bt9^f!?wirEV;3sO@IE$8OPfyPRh8 zEFp9J*7IhMGWTWfxd4H4D1V^U(O~z6&zSb6kNJZWpq!}mA(ynZj{e~%(Rb^L2aJV6 z=NSKJ&#|K-mHS}oKkM3S;`TLX;hg*XfE3)kTvhpyIzg&@W+~)3=)|z$;l5Ts_`~8v z1(v|(%rg9C$Gg;fG?z1$bdP)r>BHr^gdG){)0Lu3^SY(T&%oo@Q9}nmg!zoD#L1q@ z)h(KI6Q}GtfS_GTW8!JA^>_)rj~h;*tY??Ig@%95K|(lM`%v+rmY(>@Cu*NOs^UC< zB-JIMWNIcj8Z&LWo(wctcD#UU9G0`pn1Jnp67&Ot-}@lCOx`9nNfh!0*p1#G&Q5?r zOLzwIO(V(*2^Tw;0Xvv>nUS!`*pjm`-2_#E(Wi02_Zj*kHDB;;_@GT+WZNU2*yv!Q zNra)?(5a63cQB7*v&1l;HN4WkH4CJ=EkVw$A5-(V=z>m$*Gb##LUuK!oiz0G@dpEw zM@eaYP09?{8}PrtE73L`Hkr*&^yTZB^3vxo^~GW$Z69^Pn^PgfCod1yf*GhZec?15 z4H$tS!=A~_di%+NK>v-TU5|5~8Q-s{AJa4pf4fh_L;fc%D*NRuwJRcbP@Q(wbRckX z^6tu35%pE*A;h?Qlb(LjjCq(hEI?37+#iI%$2LB{58)HE=BTm|Em4ECMr7-aXC?g? z%D*?KQ~c*?7jqVQ6JO0s)3I&^eI}SJzT3WHjYx8N4hVN5PqbbUN4UAh`-Hw7{~=_- zXgY!WclIeGM5)=X< z?8wDz`9e_OD@n&p+ELtuGw*LG79ng%u}@+86Jz)h%lLXJnSH_L^ZmNveD56&wtUXD z(8qgJ^cD<{ExTAVh}RJVsdS^=+A}Vlw|-^kgCm+om5RRQdx_zGif`QB5>=QyNc|og zY9P2k|1Fv&ELbDcN{PSvRNr>M$Zp3L;oISr0R+fC%Dwv_*)Yy{RvX+H_h{ zFwOZ->!I=+!{t5tRCq>oVX#rhh{6MB2nsD)ud{1-k>}V^q#;g&0%pn*`G)|VV-LxPw*zAT$n4V*umAF8 zxpe84nYnfRG)PZyZEyOCbZA_&A=taU`F4p@U?^{!p3(CzB;gg2dKZ?zrV{5!&z<=% zc$6e4k@F@Rfgm=$p{y>enu21xfh%oi$bpSOK)#bPEj5IKLCwDa=!+X z^y(fFku>TV*FgU9W(|(&=G|@SfYJO`dK1rMH_b;sYtc{Hy2hEFu%>j?yzw^(1V~k4 z8GNeaK2!rX)W5*4}s*Prrzzx37%|1joo%3dSUEG^sc2!;nW z42mblAf)qP1Wn{>f~H&GY80Z$EDg(d@RB{dk0W7*ns`5NdCybJ(iDrT9%u54`SKP1|?<%s) zOs`LDa27)b53MU)}tH>02N3$5cr z44u+V_R0c4^(9}0GRod^J!hEdx7{&4}IKvCb+!AyVUhj$H{xBu1P1K?gV)~ zc+l)V%E(u;;NLQ$kB-oCfZ6=U;i`jyX1y{8!u|3yS_~Xzyy?H3=GcAU;FY-y7}4wHZ#aLF$`gJ<`0jo zj5tQb!_b^et^!ovB4aIZO?n#|8jRYe67h10i#r-fJ*ZZ56}Q409tIe_>H87mMPB*I4(|h_Fbv=Of%;Qfwa>~|JCVbsX`NKzAfwpTR?@XWg*ZbY}S-ffY-h=mf z&O=YX;*URk#Rn2I4_}4`<^Xx)l(%s3e?RRG>-Vp?V&|TNkIBux#trM9Khkp=H}Ehf z#=(nVm~LWTq`Mr*IA>(QQMsZQg1nJ3h?La?=2Ze6WxMIz*4(eaF`70U`vNFH4Y=b` zFeYWLPxE@Qrie)6sV+>LH>@ezjFIIs)&hdaB$%9xcY!WY2~7Yhf5}t%f!g6FYL{%C zj92i`RX_O}5WHfU6~W^<4d7iHu-1h@4&@vxLlk@U03ySSBPYFkkc`0_o|b$-1E?4X z(cFz1YOl#k=dJfXtY&QLwJM*zF3nx4lslc(>g)ITEY|HPjz+$%yoSm`InXz2${+v(<6uZU#rzkMVE_z!jCgms_S%32 z0}`a;OO~<6`|~l}JxOEq((FOR8u){2IV}DjK)k#?$+s^uTcT`dn$^p6n@sX42mFrP zxV9cHaMqMQ5exKD50ai8D( zuKQm6i*NnxXN&Rt=O$}l4v_zZ%J%*GlfLUW{`QhziXEKIU=ABN@1cRC`wiP5#C89c z^S;^L&&cRB#xxoc8s_9;S66&`YB74Xt?)j5RmT@yL( zuz6$g(Um}V^$-mKyh~>xq>la$)tCIUsbccDhjs*jdCGM!C9b<%S{Lf)-0f6v8HN7t zz57o7)D=4)^^;FJ_llRldy9dadANxh=vm1(vCvmb_HDoPP2ck0-+sw&2B_9BP=*YA zz<`^d(P)b9%d`y5LdL6)tZw||YUA|`YR_eRnqL;4?Re&}FddWrDV_KX(VG%FtvESS z8M?rD@YXCXqezB=S4NVpMqZO1awS)N3x)CdOZu94Qdw580K%GsQg~Kn-T8GK7NH5; z95)yP{)L71N|Q7LC*YxO?H!Wa$SluKeiGx^x@g(y2KWFb0iPNrPh39cm$TN-&e%)xeBK16Cdi$=k<0e{xOMk`$+DS{g`w(JfF9dKB13=42_*;W?5WXaOGY zc-OUEs*YyhjDSgWxs&$X%G&OQt^J60FwL-uVR2FdvH&?q21hW zU}*qtR}5`$;(23$l~0u@=n5g7~YIQc~k14JlgURrDVvF@{F7XR}(%F z#OnbkugH-eHPW*f)Ea(34PI1mS@Wz83t|N9w!)COpX@s3SUP z*0o7F@(3+wrwzHfz8(gVCuPUrl=@c7A#r2|i0*-Uc!XAYeA#;)bZ45}z{`EHKDrlH zh3PT%e!G@J&H;DIYencY9J2TIbWTX1*ZIi>NHyR0mG{~8pbG$;nH0$%j*+uv?)y#U z>22nO>SzpchENLB4!bW7>)S7=*6Im z2SecTB-=3NkSil+sNxC}LI`jTBWZ){=Kc*?O^4yu2kqqx?c+DBtqJ2ip;V&`KjM_p z0gwh2o(v#n(*SP<%8`W(_>Oq;3iKfGvh=I=gF-W%(Kpzm-*Pu#J075g9(~#Kgert@ zr6;cRoc#EyN1`HYUxW5!)f3U-( z3t$ZfdB4ATHCWgElY2>AwG1MI`)K#RgLi+{*PZgUfBgOT`-hkO>1VE}ip_uiNe#@K z*k7cgEr0anJG|~sFaExm@M;Z0H&-JNfNY>rr0)ORzKo55+iIj0q9$%MuNbFu`Q5O| z76Z;iVuqPxhHo>87%=S4w31b!v1ezDJm-v3KNdcWP18ykeSqjzt2ya4sKCHWxEUaY z{q7i70Zu@wfhOfcw*bCu|8O%}KEci#9sR+tFsZniF-LIT2^^7|7iSf8vI2Jo-pi2% zOjh-~!(-LEbU`@{Fc?bK*_4E>o2PGJ5BY3+0i8w(5`W3Hl$$ z>IQUpRpPR0SY1fhflO%I{MCN}V~^giO_zd5`Xdw2%z7jR;``z`($Lz_=Jl8GB0{FF zNf;R1>j5bVeJ>1ebm*?GWq#DXz%j?b7ICrzzfi1tisYT+$qOgZ6*c3oBumR-I#9mN_fdcrV zm-GBry859#`YfH>lvxh2YX*M)x?S}x7)D>O=+)p!8!#gDfkp>1cby9?s=mOW<3{rv ze|);n?r;+y4c7tisCUVeIOSY7a`Msu3!YuK206ziOZ2pI#o<-h3;aUU)FWlkLcev< z{01F52DGjLK%*$#D0EC__lw1VH^*Do-O=U5_q{RdNzQ&q^qyyG_P~K$Z}m{eYF%Wn zkGMcLWpt4=|89AZ0UZxDm#prBlp%}w($UHlr#<~ar=9vIFL=O*U-IS)=HJ|Q6a7EJ z93W@Px#E|f^o-wr_tsZ$SigFs8=J8SZFp`sHyIDZ&E4nX`bnRIM2UAJDm&tp(Hw*c zZf+yT27E*?x;+6F&82=7v748u>+dSV#w2tZ^VrtTnsyD0Ei2yorH+&h4Ii$$a>wp^ zqoX_j4Q8yUiQ)!*$WX=!v%;91s%O*01=7G?1i1=$bEJNNpo};)uF0D^JJOWbPZpER zHr2pTE%6o_Rk*4WI-v!81_0ylSf-K%g_$ggtOtZLqi*!;7^tcvFOl3$Bf4{v|8Wh` z5GBxu>nm?{3nT$g{6=VAs@x9?MU@|VavjLpz?S+Z5zU?PxVQNtVe$^IZes>=^g-fP z;5Oscb?LH$KRP9IngoDv@HNrjro4wG&tKp2F`-Qsyva8vi@QggPDDwXx+N-gPJME| zd(VLfe01y1$N%paJYen5z2!3>O38NZb1)BIsDU{^wm$CguyaoQ+3maco!8BtM6!Y0 zbZ$U5uA7)qm60T&=jACpyEz>tpBr^}ML@5OmH}1HGCBh=n$4O=WoqHkURlaxS~q(D zA@Kl)VTi+9=f95s>Yz_~pw|X~cb6@h!_ev4EO4+CATg>sc;J29#&uLoBZX$6#(ht!cL#!6nmylv<1GE{X(PZ7;+6$DtCzxwYAbW*k^H7AX}Wvb?W zHCuBQQPc~+0)Uj)j4xeAHuBU1q<{ecwEl`V`Jyi}2y`Iy)T;KP)Dcg8yXY$yQsI}; z>|7gw-SPa3uYck% zJng>we&d}N{mm?TzWX8#%mFfv&fomlBY*i*SMKJhQ5t@QdbM9DFOuhv z_nvI)T;n_#Ttk=19Z}vlI&HO&uBY0K%=m0h$oME)4H|Q_gv?x7k@7}#B(_S=rdzw^VTRQ2E>xC(c?mqG@D>uJuy5gFPtHAu{3pC*BekF$EQz_`; zF7fsC>$3eH;oz&Db;nPWYE zfIehk#y;E!a`zE3T4eAhMf>pkNF=a|0sR!=zlulD- zMfwuauBNSn$O$9Sa<2d}_XY6Xcd)P1{tTwcS7k!1W(7nSykaEqTnpDzZgsp}_m+EZ zJSdWq@_8WTItu7?9(2VwII2HcReN`)WJRvcZ~w%VKfC)^{`ni$|InYlCRyhLI8j1t zlje@zu;PC`|6$*;aoxe^#yeTF_3B-xFYlkuRI$DZ+^EwvZl-+)_UE2-ORQKKOjwtr z)#WwjPN|W@+&D& zb#OX9uNj_v+=em`Jb?lahBs30UWZ&sKmA^QOTnqfe{k*Q>LRjbY( zMhw6845o+P$c;Y2fR8TKNuUS$T+;@y1{TL2AoMSDflX+j>$=j16wPEF^tD+Sgicc3 zl1qQ_*(V)SqvGTuW7RqLl{&a?^vhetAJ7-8{1})qGl2fcaY#SuKjxjPw>b9?n(ko_ zAa$$h+p&B`7G>D%LNnGeND>g-5CGed+j{-Vc$T?$*XI6P zDWAYl95HSN!s^^)%R$;avn#!uWahxNcQ$T9w^xB#-PLUX1LV+iQ-)OC%w^QcXSEg0 zHlaH6XL1w>g`OK7O|$`)@?^D%XRJk2o}^Xttqd)el(b4uX)-RwfV|-$jxkxZ!cu1j zYC(hv?7h(RFDfpZS`V zjmNYr9*s%Y)h*!Kq)hi;c2mAUCUU5gK$mC;U55sSk}>6hSBX*bMUN0CGU-YfvI9FH zqz33Chp%RE#nE46!v$X;W4~-dd;x1xa_)^K!2?0qux?eF*=exk`2SXnu*QcoOp-*{w%}>RwcoF4d7z6>qEC>jQ zC^-x$c>*)TFg??$y5jx+);ha;Km}C5{(5S6fAxK5hqc#Ud#(RoJDhU>w19s1Z(X+B zlEKj^@+V@z+viuC59HKmlWvc-RcNbkaqUSaK5|e$8v3aR|JEtZ z6$hNd*V5sm>vwtWrPqD_k3ICx|MaVW^UilRmp9G7GYycNzxUv~Uh?wGpBiPnfJRVc z=M4oNK1Taem?%ga!K6&l3Q9zQ@Wdjzt|JVSNw0PBXtYo{oV4LjKf0}n zcdV(roq#5}$?FktRfYi4it?lqU(_@|zmuf^{aE_PGQqI`JN|1IA0Q^rc-RD6cms=X`NrBPz|x~m8^~J^rXU3Tq$|WNW*uUG&QzKNsaMx^o131# zHw)l>qc3zlsXM=wA*<%O`Ict@EM3$_e5K&cFFUaO+0XozyS?=%{^XypNlYWZ0ym-1 zRxqm#Uf;2{BhL@bsq1xSTp^Kf{Ph`2<;VnMC7WD(Z}^aTm+ZgQ2T8}Ty0kU->Ey^zZas}W-I}VLU1u9x z43@_#e}UoDpY(#>>PuBC)AhA%YAGpYM_X&7D)Ob9^pgJZUJb4##}Encw|~aVul$|O z-}uT$-k9f`((joD$oWUU=4cl5kCh@)jQnE^K;?KyM^}eO`6zBw!-YYL5*i9vJ##AguJXPu=2tlO3K*Cdu2fFm=|JsV}>!kr!ae zQbc4>x{!D@(wb}u*#YiBWYAX!UC|3RJ3Osj&H&_5muK3!t6kbpCW3aL%hMk8@dX^!NiOo!H8Sz3eotBL z(pu9LZ@tI+-g?!M`^V__>HIe1?py;u(CAJd zir7jcj?#=pZMr}?Ybq0^_7GGa(Mryf*~AbS0zkDEN10B91_R2*pld3fZ~u(^fNeEK z;TwohSYdcJe&ZcY9xfirB*T=tDXZW;(`Xy*3&1DPz{*%-l25xBfpS;p4i|@)1wg5+ zcAmL^SKW<4Uh=B}2$ft?u6R!*BRgJy8Pl{Gz(5mtujRSmF^m8Vo>|F&tWsV)??fFy zO|VAknd`%wu^qM4A}Tix&@Q$ttuNYeYJ?Hv^VBgkkK!LL1bj-+(vJbnS>t zKUcBoC|3hh((6>XA6;ODnH`^rJLPCX^mT zuh8qI{GP4HZ&M(|w9KlvKP;8wL*q0VbY+Pfhh=SPXK|sp)479~teD z*K0r3Ax}*O(-!5?1V}0@K*EK(^I?@iZU5YuZO9_{tyki#K4Pr>-)}q@9`d(X;mLo;xc5?pC^8IT{3T z9Q`ph2N);L18PUSy#PwlD&Ptz$(Q93d=DtrJqQ|b@np)l`!KTWOvi^Ucb8kfpnJz_9Ez>ebu)lq1UkE?z7(9on1cCE zdh|>lii(E34KA4?B@e|KhK;8GV-#->s;`xA5IHeIA6KT7sXISHkYNu`NQL373;-|c zQ-67!;eB|y)xHo@uK8uu?adCpR;j+8NL1Z^yGzI|i6z@a*x)Ho zGrX2(mUK%Cqupd=eXn+4(=G$Y2t2jXmnAb7;TIp;0GN2w1|8S(RQY5ZeJzimJvGo& z`+;JEym)1Kyf+-pQJoAb230x%;IwDgGzIT`ExVyl;!2LG(*sE;RZRhTI+uO}ubHF;(?tIS8=XUvAp3lsOmcq<8WA2u}^vJtE zHyZ+X?}sI{K@Wvt5R9B6Qh4zL6njcFjC%mf39(QbUfD1Lbo@qBK$B4cJVqiXuGy5+cb!0@+?y~uckcuo5{9gc|Fom@HvG|5?WTt{h*V$dgUODrutrlgH2zA0zPI0h_X&?OT=-m%%V zl4+#fQ~WDW2E#DrIea89#LDp*JS!iTtIvv$T*#wb_b2bNr}*k8Xf>)<|B4%DS@mbN zKYcK!z(At%B@K^GFxa`5-er3|7r_)OUd5Azmvf=V!>wAY?$#e|E_qF|Xt{Tsygqq-e4^&i(mx)hoMJ}qP5RS*pv=@U}=OI|?f+jUR3BZJUaM*+FS{2qOYPCW#= zfVXuDee%^#<@}3u_GTIBjyco&`P;WI-ZeUKPMW?qVm@ux;LBMKda$X0m!*K{MePx_>`ONdRmlo#SEl@M|TT7g{WWYLCV<*+J#mKI2cGIv2k@3}Oxb}3Wv-p~qtE4*owydKWmccrwKQ*8?0 zymRwbo;J8qw87wNM4IAAJUSZl}Ad#r~1F!~Y=!cSVzV%V{ zTk?t1h@oF~+92uvnNHi0uOnPx*wR3?IpqrEG$J9FRUf+eF+lCivV!}z&j`rwj?BC+ zc4t2B;A#+T;N*Q1C%QgEmuvbTy;Bd~$V0mJ2>2Uu`lH*?eYu+cr3alaG_@t|pvPn@ zuQlri*iZ^x^%!vJfHqhw*D%)vN=M#t&Ec6kf)*wsjtJfU*-B(@q z_D9|8)(_0xBWF`Si_bc{rb6j39uUt2fcO9yQyo3aU>F5&pP+e1`Y4D^IRL9}OVMz%^6e0<_TVK_G)% z%GKk>(pL3bHmJTW9`He?%?Ci$=h`Tbeif7xYKbG6OWwII;0Yc1RiyqgO$HwB9d}S1 zFT+c--s?^pXKK}(EZIQnmu;yN%^FNY&%j%~stw}9U)7X?%IUw-uUrGK<`bCpgEx4t z+S8y*hAn6OYAf3KLPx!5k|W*iy!yTe-2tHTM-y8wQ=kBmtd7gGb=3_A=I2fJb(Yo+L%lwvyKw5pa{H5iek!C#>^-R z%z8b@6Qn7;&K+Pk7W|bLTE(m_#pB7yPN^sK^D`44xfzPm)(CsT@nhXpe-~+hXDkp>dh!^Nhf2NvgOX?i5?4ADP zLoPvf{I)le$FAi(2EF6t*&Kmr`ajiB5Bm7ST!Tb^iE@oLALtb2(;8GUT` zUmBk9TZ3B)={K~|!+Rg}PP;-8pLUzOeE@F)_h~>W+5rlK!{|%;#)BkBA9n!pBK1Q7 zQ_}FEUzI^ypOC+P)HZS=i+WL9h~T-}JMlQK4e)*oima{H~SE%mDf!FJw2#Ddq8)SBQMt!6#gHVI|Dq zpO)+lGXCK#U;4ve^u#-zzxSsvKd|z^m|D{*KJCFBjz&v6%n zI`Jk?O#><6>7Szeu$8>1aA!2FrK@21Gi%8SN{XCodU!clNFv9&fKc zeU<#^0n5P~8EUU`%Hx#>s{IA*`Ax3E_^vX^D6e`-2a=9%WksWSX&G9ZRPX3F1U!cUCxug)280gL8Ik0ctUryrKYsusRp0K>l=e~d6E+k zWT$?z2d>ozc+Ec`JLoD0m`?z9_v4LcKH4HrdA#|poh_TT1yvTksm&#m@UMQqrRirj zBd>UT;K?<>kN&;<@Vk!v_HV!O@*5I0bD`%HGspIEhUZ`OeP8&1{Yx8<`qN9V{_p9P z4A|XSl-qP*7>*95EXx^LDJ!MaiQ?DRvtE|>Gy5&l;bPh%-IPP{7%vZga0YKtnWSHz zhroJt7~=(KrnC$3SkY!c<=rH2(M2uqm^S?_!_DumMm_Sk;qo3R8s#f?QV%-lQEtkJ z)Ozmd*p@u%-j?y8+8cxMt-N;gS{VM#&)73}R@!_pn;m2TtQaBB18?#O4H8|KN_y?9 zk}BVEklN_>4FHk@Z|X*4Ofj=N)JDXBlICL;OICQ4SDdoE9iBPR!V@oA{nj`GDaniH z-jL`%G3az(lShfXS*><^Wh}rUF0$m2)c}_Ix?dWIc!14|e(E*X0-n^beZ@<7C6A4? zdwwAVLunFO_)kjykf}rA0&v zrY-F>M2EFGazO(~>N^9PzTAinnmO>~FS^zKx7`27UwTC`JcEB)(lf|7mN$RnA>Z@- z*In_n%dbCnw~VsY79+QgW?;M*9mW8Jp4PQNj<_=VnuhZjrUmfHFeq2iioyXLcR5g8 zaTLfDb$gCP^!dE-L%EfSf>UuJQU2!BBfqOszDfWX5Ti1c(V#);7?8G5$N?mHtu>;g z;lJ(?&vyfIYG8Ds?|OB8?S?3K9+16l0d+>_5&a~AE`_hQrvSslQv+Z>&~<Mbc#Pad58VDG8Z^FPm4ufo@1cQ;=r4Lc0l~Z zm!73g<&nc*FE7ydj%)chuXsQgVAtSTdewcW-$SZs0Qb`E$bn1^*r~4Spj~4iM2~Fs zDcRx;58~9T4pm-x{qos=_U-q5`jcPqmb|QI_QFhhkek2u;QPMz{fEBfXJ7R0C&qzsQ2?D9#eycA1u3n}rBoCk8cHdEi_Wh{ z^QT%qjM3Cx695(~raF|W6*+ZGUMPMj{>tidO>x_J+wdDW+8ApiDRokOQ=kf=$D0~J z&_*B+`VA0huddCn-SOsofBbFlyZSwQ7MH&DhLyE@;H3u+N*sSI`9{0Y#z&e|0Kgba z@l)?O2BqBvRFP2+GHnoS8MyLVfQNFX$8nyLFnN{vsZa2YPc)04YG1E`7A9aMfhVaj zKD)nqV?v)Ms_H;T8and%kQq8|HB8dn&O8(Y00Eu>;&i}owD61G2#mYvR>l3>F&ey7 zKc$=iJkpXpxhM6fO`E9~&9PCoe|H{6yz9&YQu)bKdI5ZBm4{fe@O1R00vCNz{Xg-5 zm$2IMk518_($&%K&>j4?hb?b-&I65k%G#};1j_{+#&R0dU^2sxwvvtE6K`}{(9cP& z2l&#b;bGULA^a<+FVP2B=+@L zRy-$)=Maj=+wTXy{g08RSmqMBh zx$EqEsJkDKZ}|-VfMyIca_BPMZ^vaFrqM2snv4>FJYW>?qrAY#^>H;d39gluH{>T^ z>vlvNn(xT6`XGI&9ga}-;H3}yPN43`Zad-%~Jjz(3)@E zfmYQY`J+AbTi)(h`VpCgxEV*)m7GLDZ?sijx_c;txqN*jsht3Ti6?;_RDt{*^xI=> zpp{3R_=kI^k1HSFv7tf#h#F^Z|)}|gds(G{V=h~ln(8V__uid9SmGrdE zEF(>a*FRd24jUdL#ia;3S<;vym0?5)YGjWxiKlc!8PIG{X$7EIHLXY)-dGzx#psdJ z22O|+aFQfL!B3@6`NbDVB%k$ByMKaQK(N85J&xfqh{HG?WEj2~H;)%+;umjuaO>tH z?ta0yp8q|6`V(jhR~}uN&lEePBaZ-a(MoM-0EMx0uPtR{`EFoHn^JGfq>avWQjqtA zf%eoFLFW$bDyL~BXWo&vR^HUbb4Ocw-(-Vta<+EGgQ-o0tcUS}%4<#e>N7+W7^wd0 zzAa`d9vyuwuW6>Ghmvzr2PhMjx{6)~gW{{nmi+Nl@|7|1wHy$h^aEY%rH$?bJoI$j zV5h%2zGfr&T_6vI5(fBd_tcE42QOqSURG@z?Zb!qdzzgAKJw9KYlnETd^Ge(-)fWK zTiN>HJF;-wCQg)ZJ7~~95>Ng5c*wrJviCrqKX9y`qBPAQQV0IU1`o+Q2yAV8wPG~YE?C!(gd8G&oMRE9*w8!T88 zAoo!=w|QN+G{5<}?|ROgANR!Py!q`n*27!v-Fwa2v1^X4ZO-p207>E~M<#A31AGiX z$SWz5-h&RKcNn0+2fsBfuWTjzg=s2YZ3|Bx(dCR~SV~?~us$eWQ})P>@d)}uh4@e} zS!`rZ?wF8r)l&KM`XK!ze}PDqZrc6xL>h1%U@WgX@zt_z@WB|btc*H+lMaf`tWLCX z-8;Iz^@n^u^=gUmp#69mo@WgxDK?+Erwxi;|7(2%Mmv|bE$>-ecuzLQc5N)o--^D{ zKY)3(ZvE`_aiFT5g8JkEzCd1muL@~z z@+#}LL&k-FyfEVB7^S$S9DWy99!}E9ESDc5tCHmeuxKk+z?nLvl{Y3X6}r}U?Ey}} z5`uWei$Q1b(SwDVL*&gf%XiUDUf*a9-pEKj@{M?PNViEh`mca!W8=`>&fEXUNB-uk z@As|0`-TSxZm-y#UFCi+_%y92thAI)kdyiZyr8k1JBwOJVR?IuDl?E&PJi+-%c(a- zTH?VBvgqa?TCV-p_LA+CPM`c#M*&~HWpcx;)_`T4n9 zp0($B5BY^xeNRXoErK)rXJ$Oe7k%HozW7a-Eq`t)b2_^x z(~*Faia0<$ltF)Yo`3~#NIq$yR$c`fbyOpY$mJ(P_CQ%IC38-CR17>7J~6twBs>c)}JyYS3s z-0MzfJ!Sq;&v|Pl{Of=A=N7iz2g8p#dMc#tsWbG;=mEzB)EHvuLajlSF}djW@ksnO z{T&8@?%D0}nv9K{+S&O_}xx zbG9-7#H-1yrlvLSqjg=%9Brat=&B13cxeC`N=WT`eXb1yuML`&H?`vr&BbktN1piL zJ3V6lQNQ=cAA|B8$SV%kuRP#ADa=HD-A;Uvm19czs^92Yn-wp87zU*$3nYeo8R(#) z%m6SgVQBhC{%(64sCpP6Id?nB)rkVPQTFeWM9P*yCT%$$xq2KTAAAlVmRG3y(x=J{ zo{HxwP9D6dy2~bC#Ne1#1eaTnE*YqC|k%M?HWNI@=NysX%+xISh5kid^xI521~20xjnT!ZNNI zu_>#-aM%i(0-DlIuLTCgKpDIo_~8tV&7tnA)N8OIe<2xppS|JJ0}PtzR0u0&n5j!U z1mD0z{rUi1Z83nFddp9RDu0y+E|I;Dz706I%Lp}j{2OwSR`iq4fPt^}jsr~TQxE5j zRM)S#X8HVL=0pFi-}!&O^tZqB_ug>fthKa z>Z}c;lpAeP1%M+gf9t?@u6f-=!a=CM4;_PY-s)Kcxi;}w`|hm_fa#9`qG+n$M?QL; z|8Jj@C}o|AK4chTWx%n^DiZz5X3 zT9GIb1F*hTfK&O>v56bXNcn-2btA?LkSIXYY5FIOTs>`stxy5nD8Mi}bxB9l186+} zqTaC*+UPONIv*G1Qr-vuyjO}v$!h&)QX*-!*ggR%9+$SyUwzl}_CEbPzTlRR`r2QA z&HtFc`1!y8vFh9}Kj8~5y5Z>BS?WCj)_71iqiAoDfsJ;`$H)K!kAR$eBZX{S*Pm*K zGRgv^2BWNN4$r8}wfm>qUY+#n7hn0Mdv|U7t8s>v%xa)0&RfoSG3y|IyjJ^DH-5$dFa`_YrrG!cpa$;B zmvZF|rZibwHnOxs|L8sW8H5}oB5T!@eEiV2soORFgcLc>r?jpo8PQ0+LtbQg-O=?g zec{(#bjjxLJmQ{Jct-!s$`pGc4|3QIoZ4%QLZuT;M|9Na$iPs38zo~jarh_}WvaL+ zk9gq6ICUnas)=#?e z@B|(cFbHG$)EAy(NCIFHYKoOCz_P)Ju?1MumP$(*0LN3&zOLiMG@aoS+e&WnTv*60 zalGyDqi+4Tlv4yY9ttpl9bRMLro9Fa2EMxCL9#tPEZM6wY3TT<-;eeH8MB1e1Nk;H zjn;m3;03P?TAPy`+R0w+PQRo-OJ|Y~;MkNEP6dL>htU40yvnL)_&l zF)>KHho%|*X@xL)^6n@)fNI5@JiB42lcGj-qYS2ayb;r{7($e&NAMFo*FNx7EhGmNIDRxvR2aBuAaYqeEA4Esy>L!p>#lM?ckf@e4#5at~zc z1JW&*Hhi?ysj@LsAUhvz6YyRGTWIsfYKD?@Q&a;&pz}aw{I~zCf5s2I=vmjyEj)hj zj_t3tYC$K|r;R-&)?W=Y`h-_ce^Pbjp-)5C3{CPdCF9-_KB@NP&O2YtybT=s7okI_G`Tf?q>)wCitn;4p zKF{9!v%9pgw^ZrLmH$mkKzQ^ zYk5{nPgS$;Z{W6I%)20ba0gfqME0A0K3Bx;7NU$aqvh)7W>toaj#b!1^*`xS#^a6C z9eW*?C{3-k8>SY6Bh{yXf3`qv2>y4QBr@9Nc1KJ`DD`>y(@iI1Cp(?){IE-|neG@CocXk@qLvT_PcQD53<%9_60leNO^9 z0JWS13So!mCzp8nB6&wQ8LY|YYC8|SrGFcId7+;Vk0q)0ER^YlCmN8wngN95-;Rdz z_*}LZv6y;a>6&;1siua0NzUWvW?Z%PuuHvboc{84vB;f9$r}|b0BIbPvOm^o^uNt` z^sR=USgC~Ai6Q(vKISp88La{vQ-j6q<$zOUrXF#rKuXV|o5#;W8GAz`f|U5+Ka0vz z6rG~}xf;_pD%f>d>b|JPg+2f69qFstE&}?@(5KUPMbW8Qg1tVGwiC*Ffyu+ZY^^CD z{}WL@03SBxn@7aXdI>xW2V5^2(SW~rRiQ$>tCFZJNSvs{19LVDwn0Vlr4bwu6Ra2u zU1^!*hx{VmaCt@P#Zbi%>Z1wxCYSQ6BY_U1`;IPLp%Z(xQR}5lgpreY1ZJ539kh>@ zJ>4kF?X^`3JHTFZhyw{2bNM0aRX6#Lt49sRk^X8H7k_Vk7yB}>SjD-6AFlom2HNtX z^4Qxw!r1@UM%Nk-8dEVucPN;&6NUQ||nG$7#17u-lA4 zSJx!Ax$segBZuuqtweo8lO*HC7MhM*3H&Ul)>VQcYbg0$s3MRPm^YS9@nvbZx3ll# zw_J+n*2J|1lu{GmH0;$dh0u#x=we3@TbMxn@4!Mu4|w=p`pmk?x$wEz!OP zyMdvAt?{(G-KmVErmK|3&{~*zNbO_>75Iz`$_oj~9Qo86>8T~cgZ1I8hoO5PYu-*$ z_<~sNl?5aFKGFwhB<|jGuo785SG2Y%qJ^tpey0Gim2I;PT}KAnCI<%+E~|(}(Hrka zd_Nq|utF4^%KoM>LO(Bna(bW2etXwYQ#6$_OOm|pv$jppbj}VJzxSd%pj~|y&pT0W z?I+T*^Mo|}S<6~bdaA9inx6Dzxt!PVVyuHq5pmV z@4E=qmv#W~aa0&cORXwTLsKX|M_sQ{f^w|^J91usiZD5B3OFL@QD~Fq{ctSGbYflZ zy>Yq_z1|+UDRCsYIv!%)OIrcG+ta{*^M`}KP$alxxl*4D%C@71J$m6IAr1NBkXdtS zb&xe;(J*Juoj@PVLT;RH@yKtQ&Y7boQWuB`vKy$t=V7E7;3pT}oDQ&tuLk_`JcX zYPr7|b$SpOdcC|5aDEQkQT2rRI7R~Z{`%W(hUHkJmC#iipJY**8&U5%Oom%_tzbzPpYEcF>}Z@Pmae0#zp;UOS-;RzT+RO3CJgg zy@8na3d0MYh!fJwpQZlCj}?f-4Iach^UQg2xqXX!%nw*(uKIB@p32fqK*1S=VWwN9 z-SqZTP(pvHU1pi*pgftfrS3?&Gd`YG zkv0`)uSZMiFmGgb)XM9Ql}E4f*^`qsYgAC0P)hW7{kYYKYM8R7>0Bs)owf|$1*o56 z@-$Xp{dru?O#1%T^x;QjEv~qa-_6(pEJzyO7n>(b6!4*zI3={4ulpZ{!#EJ@f(1jT z%LX`b#RM%oE;4@e$A+idwV>JkRGTDkyfuZU=~uj~g^c%x%%?VUZzLGY>h?F~-(AR@ zZ8VhoZ5KD=X7)W(yZCr{=(7$)oKG?lwQcDF_5vTk_!*uTb?N#`|@ zV8lg!`=?f(!%kZ>-Iu2LjIPlp^&RBKhf^#^&H?l{*Phbn(+DZcA#N#r+Amh+H6P^D zGV^~5cjRH7OojXr9Mf^0CZ&LMC%#k=!%yQ+O{;9^+kIfkHiFUp;z2V~AXG5!0z;x`BdTjM zaRR$1yJ7c!nMjGbEhKc&-^j+zt}6CvhEqA~sb$Gct7fdy-HG!3xkY@o-DtUt$~e0i zYCJWo+`5ROsiWi6B9K-bM!=Oe^J~Ws_50pxH7b34`xw!gsMuga=cLRRschH`xud1l zOqZzEv+|ovVp!sySRGRfZH;mGmAcGwY4x$sv$Z%C>DQ5)vZ&2SsuUMBg0 z78NBdnL6DW-eFWTN(og~ywZIY>ms~Oi&YGF=W_l_r}xIrWtj^qXcDHai`%Ywtr5|9 zJ-lrh9Jri1I;n}$kb%*X`6`jVt&*0Pj!*IBZ1%9J6*CSx6%Uc;#pE}UxJfOyEQ}YV z!EpGGv|uO0R+pzjDn{6Bg#Yj3*Cli+Tsf$ehPC9;i6hu=~(*`FN@i1ss>Po zkwI*|v~6OBsjJwUTl7@PbIV&)8H}i>+~1diOvMG$2sd8iQS@J(R2E=KG$s2HfIf_# z(Tln3kvXQ4IgjNq#D@6HZ46$uc;A)n@e$R3)4Nex0G)vP4%2Eb7E^h317h0P!lzH( z(rwlXc>`vVexDRp`G(&i3!Gnkw7D96w3>Zm-qEa(3^)7t3VhCXFdRL9k1juPJVIAB zvHt9gyF(nfrCs}yl9nUerG_q-Ozvj-9GfIsoU;8RNI6cbQgm6XSdhC~qC?f{<)T^e z`q}T1apP{0qp$y!1kwlt^&5-^x2-}b=e|?6SAI&~l3X)0B|;v80o`lPZMiC3vEHl6 zsgh>r%c=XWjg`hHk)QWkF69^QI2>Pmk{$_|udRPDJUtFX2q$jWtf+U?>Yol#D~+%?AsZ9s!9{oqa$8 zk-=+6P7|FPEj2}bi@E|2Nfy)q_got(cNV`SqO<1C(=M(O|8;27HJ{uLU*>ULW58T? zbq5E7{y+2^AACDN&a$No^-sU0Hn_%4gL#~HV93R4kd$pNZj|-oc`K1$>)xOKCUv#XWwo z7ABl+IdXm7(Qj@h^D4#j=3;G%CqT9*N=?n4Me!ylvq~eYc63KVK*?owj4@+jqVIBv zOgu`{u+P%Q^{HW~c{2}((1+jmel%7@C4BIzOG>0-m4TAUN8DL zB|F{mNa~p*GiL=cLsgbyRP2^*L$qy3_DbjvF~xP+x{P&KJByW4%U#2Zy#xQny<^&G zgn-z`gAqRQhARFRZWSMQU7|GX29sH*E3(&G5DvUHBdGIaV6BXgb;Jw#xM&K1;4iZH zRhiu8AaR2+yQE37YWO{>^$?0hb5o-3iiShB`D&u7MRmFc$ILUO;a1yI3;!LeEh8Ds zT(^+7#ePGO;?Cd5DKmPbeGBk4fDg@$;4nNGisV(_cm|@c^7;%Jx;+7Cf|Yw0pD+!` z9e+&(WD!ROT%`0d89mBG$s8{n_Ui_$@ii|m`FJ=4K$|CYap`B({vLNBm6J1vStgzv zH2HfI9mU^NPJox6UsubMqq+V5b^;7i`OQDAe^?3i4Y`euTI0Y8;KI`s1I`w|>n^N| z%uc^}T6>AKeGw`R{Bao^t>XGg^t!dye_g9wtO7fraajm{WW-d~R`(VKEz z8TN_WoQAvNKkEm+Yw4Ld-2;FB{g?H7Hjx$Th5BD39 z?M~g*r>|Y&Lu*$RX*7cuzj30Rxjz7{n);=gJHN0hB7U+6&IKz3IyK9W!{gW%=QiGO z@QF;}id#?H-y6HduD5s``tR283XZEAzV#uA&yuAp{+9a#g zrX_z#T>u~LjToPf@|dcp<)n)xnQJm6*%;R!5n)V_Sw#d&nY7mz{CGSoi&zx z0;tERw~ANBMudMq^W&@;{Atvsa?JU#qevH;3%1pc0B!Xzjl3oxvzG5gxN)k}y@llr z3x=)l7@aq+-Et7nGo{$wpu}X6{Q1)urCU&a z5pciXbd~@aE?(AV3yW>;A~vE1e?&$fh0O-^+y2?xC;nu)I~PO1Ou*bm>)r5?4tWFMr-i6@}RLUR=iCeu*uNUs73%9)UY&!J3H+y{uH9idKW4f5+o@#y? z1(6K;vqKTKYf#AL+}tJA82Oa`V3CtB@5^&-4gv4ATtN{!fx(+?b5>zFOEj#fO>r`E zcTVbVU2%RzWJq#vU3n<;Zrjo*#pd@S)`aPHQ&o4C1HGS9($?4dB&T3?T2aCM$;vq? zH8bE_)jOI+{1H7E4&Sx%^xT+jQ^F}3}VA}=pK;` ze~A7jIJNzahr?t$o-f@~Na343l%4UElZefA<1P4Dn?QXy0RDKhQ4v-SDf4_N&bD`* zHH}OsdnI{f1jumQBRG+h$<^hY-y8+>$Aia{JwQxM#xGG~W((KuMw{eU=l(LMu~Y>i zwRg9ob1O8uOh)$}n(@U%5i2^(Xc9+0X2j%f^kf1ZR*Sa&qn2h`!6fT59g=(6`Q2!D zMB(PGLaCx&NVm-I-f)G+a;^SqXqS9TPUcn9!lVB(hso)4NSLDjCtLWy6nVRBX%c&& z%zO3q>TclKozv+Muf2&x-y17)3eLBykJrsyQirbj5rIABT0qd} z!#(j32QH%6H!b^B3^SQNM;mEZ3W{uR|lWU&n za_+@p(>JXI%%nMs*6{@tdFP4Q<)Q-%yp<3fO@ydJgbHDBhQc$k^*J z;Wmvt&CLRy+^$~NUsoB0%LGisRQo7&Uj2Sx?E5i*7_|Zc2&@7A)%N1l+x}g?)9A)HVS2IO4IIjfT>|fS4?`3_ za5jqwJjn4z4q3}QJ8Q(`eY4Q_H@&Vmp8fKRzpOiW%Hx}?I<90T_Sa$&HH0~{P2AIq zO<>K)+eUar+2s{6w*tMuyE1fI{6dAt!z}HTA5ZMlH>Zp$$!~XdR=6k(pci&kdR)NYpA{^J@FLf9+f4)xc^ko zCn+(?@|Nw|Ynbn5?pSMpA@lgJkN<{ns7}k~Ca#lb`D-Q#0J)0$_pOUopgbmxa{K0u zpBeu8RtU7BmeLX9Qfd!*_@TrkGB9^DSf_wpu2^$wZ56)mXCBdl| zV2;;(R#AYC|IvRlQaiU7Hif=AG+Vfs-#Ngw<`jDxm8?KCw%k4;V~7O^+Ya#|sw+9r zJlF|~_E-FOjfgNujzUZxxSEZ zm!%55GD)=THh%0~|1|kT702~4qQqNV_O9__HZDhs-b1)LA=C9N&x9R&0@IUfJvhSELZ^VxNoO#Ble{3|Cz)GazFT-5D z)P`>{J=iu!c1-*g{Fmw8^Qz^#L55!EOu0~9Z^i1xPs^;M!~~Z~(VT9CxsN|I?E3Gm zux$M;cQ3hCPeQjYdq-whMukVlv^xKXy!(fm#0f^L5f_swSzyEbrMaEJQC$9g^?f9QCcifPI={ zF;sVYUiTorxV(uS+)>p@gV>RjzVlcRyWR9|>0jIz zA(%iB3#$w4*KJ|?v^H4BOO!ME5rW?&k8XuJEq^3gzc$KFWyObo-*=M3J<%om*DXde z{fgZ4qE#lqB`lqSF8SilYAODNSw=snz>UbY;Hj9+yi(TFK}w4QE|Ct4*^vn^V<6#_ zEFsjAnof&QAhNoo4@9Zx8~?KDBY%F!gF`fo1ac!GkkE??UzKoTbb`5=TR3>;PdO~C zAZuDXZ%oHjy5<-9mHl!g!BcWJjcq9y#H3Q`c4@Lpv=MpSj<~sq zr#dm7uA$uaq6-E=ck!oEFy*WW9q5BZN(leo2vtApN--w;nvCaaQm9UsKi^}M(tdw> z>wkBbX@m>bzBIT@BVO8e^y#DvSW1_{U6y;bB`CJ6VT1Zi8ft#OECp7<_}}t^@k$5c zVrpoZ716%a2j16{#zAW7CaQN+5-wH`&BT@O6xwem4UvG+}Zo(2a$ZT2~VkqJ-QhroRirZKIb+ zx}T@!u5JzB3pS;UPEbG@P!k!kRm(C{%Z+{*9Z9=GtK;`FJFU4Eqx0o%V5QvXO>Kz@ z1KV<5WyZ^xU}Cn;z&I|$OD>tirlcdA??TUFjkvRAf)js9e=~meGp9$$MWimToEVdNXDxcQcBv?HE;mnQjHiZ`;V@9l zSY1w`IioC-sX0s5zNqux5G@}TiW8{y{AW5sCqP0rO4J{_ps)3rY)Kx=*$e;3Vo#m_ zgCk!D{Zi4(TYr+dQP8*$eX;1A@L|oeO~vqs1Gj9;gWvZQB_j z?;}|GIzQTV(hM6I9<517ioH0rs33V@Rm<^$>2~yo@A>24u-8Rn>F>~8`ZjOoQjZ=V znN<{>bzU5Wd(73AE!NZ%DLHT~WbQOC>)zhW@^^iF5_di=7ar&Hjjl`2XbG|1Sr(7- z#~hqjzR=T*KD4d)6Sk_`jIb-Wy?lQxn&pyn1DT80D`NK-z6peb`fXyO~Mj z9e{p6{X*3nmYrmAfy=;;>#NtU=C^d2?rbIhe6M5gZvGBkZ_$yK`g?TNOUffWwu2_| zD~Yjom}7epStflQ+z)~QmPXJ3#qSzb4{=hDU58q+y`=jtUcSryI4ugM^kN<;HmA?( z%muwrfg4$?Ek9`zYD4D-8uv~ zndVoLwvA;p|EQ|^k1q7%%SVqC6OIQ2<#V=c-ZAR5FU_RCZ>|PI{fjFfaHeJL74Yyj zOpFi3Nzo%$%Uf^-^Zu8COj5Sz%iKLN&29_Up3vv3yYA0$3YAsqhFf1-TdRfUC5?_V zQeRXW`js2(-DCp0n8g2mK8(4T0d+^QrPHW3o)olf#&C1fW!fXZj)HqNZvjttfg$m! zfm0_El*Uj9DWJjwz{1o<5XK1nM6N(DAtmK73}F1GKm(b`Bxfv=piXj8)kU@|(lGYm ziM$kY7xMG$Y!Ck|xC9=W1mG{`scyfjg#Yx&h>L_1^1J-I3Vix<`S2x1m*$$y#s-n3 zfhh0j7>kI>2@GH(VebV5d*4r6kIN%LO6{+o4P~S&?+c&3FV}l;aCzB+JSSqjMN;|R zXY^+7`sd8|xIAaNQp`(f4F2mz@w;U~icezv`2iN2+ea)8ens9H@)5;ZqrVpHi%wlFF7-&drOfLs` zZl+k-)DICkLJKXv#Gc0|icTrojv~36A7+UT^_%ymoKFfH`HW|A+Ay3Of6Lmdp0!W0cTVzY1=jQ_d z`GcY%csK5ow{xN;C8c}5yHpGNcjIPsjn$A#$G4wCR$LqB=7ahu|4ttw zk;F8dXDnMH4!tA~lt%Qt{v4KFLnx!oyfiTovM1em!SvCeIIEk*fN$rTY1(MdU#CuX zwOH}@oXj?`w~>c%6#6r!s`v|v&3>N-3LDR475JAdyQ=(3&&FH+@Jwhzq)Fcl%Ri#? zOak8UX>UoH0sc7MI43=_gw2E{-y6%P7q;QO^nSX?VGYloMb|g(C9~dqw_ma#E#s|i z`Sq^g#vl?i6wro`sM}ub^>eMA7!(pF^?_|(GVVsMsTFsdB8Nt6Y|jt$uQ6MVR0|i2 zCddiCyq@EztMsYDNh!)k72V}sMg&*5>!t;#b<-?kaKTG)8I!O-g*mI~2Ny|yGM zht(r19zpp1MH0_8a?|}P#Zj4Te$T$=sjF#>DJho$pGxjNlhEu~;^j-JAWO3z<68hvH(Xr8nJ%j=)vL z#37aZGT!pNwUI-58bL%wOXY`{BohXLeCp%-ZUhK%psIc6s<)+788I9{xXBtYNdx}) zbcEqlyFPv`W-?wlHZDIcioqK5o&fE-7f98+VQEDISQb8$U|W2Sf{4C_)RHu82L6Qn zgsefdGaMYV-1MtC&b4#27CE1~*?N<{U%`(f;*U266O!!whE1~2xu5JsHNE|Ou*~y$ zRf_`$7`s{7xYuoP+CpO=Zs+fIq^waN#o-{3)qYR+uSENAb5#(+yo+YE8lI^-=_{`QpRs*gV)g z87GMm!9U%|lDYR@w6L8(O4XG3)9_UF&H8TD!dB71{0wJ1`<0t~Z+J`rKDC!}v+a~P zK%M2e$vK;#9dm*$L}pMXv9*y@0{`y0YMN)1WbuP6!f3CMuY6?xML&dh3RlLmX9D6& zxj~)F+(JK_bAMre%A6j}ufBBep!*%v@;qsFlHu9m1whB1{u#IT^3^vpfA*}MppcZX zYD1!?mH41t`240G4929cuf>#UV(#f}Z&?t}Ghx7%G5R<68XM3VuLs<{D&a z?wOP%J~^cl9!R)o74@_G2|Lo&EKm_pfzJ1`Bk>?nC`OLgt%zFzs!SCV!1-8No}qU_ zM)IaSj72XJWK6X%)MQ$odlCiG%ofiF=d$lu0#eEKn@;m#(^;L8hpk(S&beR z)5Ot%b?#cga`XQpw;C$Q>KAJxtAit5Q6gq4eQQh`Pe<0jdLK<}1Z?ZcXnp?Qhptcb zshP%rg!-{p$NBumOnIHd<&G*5jieLzAt7EwwJZQojiN?H7esBF$FYRSOrCU7)D6MT z#Fb2!8$9jlzTg_7mfx@7+2v>V5@AYUV#Lo1hi=A}kx^LjAZtB%{qsz3$YvxK+&vzl zSh(E?Q_Lc93a_0n-C()*ke~vpMpCjPvat$nh^a9wsIXm2`2q0t`A4wg+WmsJ5;a*3 zKFLV_JHJ&0NtU=fDV_3ip3xD*XRBC~%>bo)t+1!nJ9c?9eyDLi`MWJLPYShk%_}H3 zWQp$Rdrr3evLo4Us7SWl%7Rc25YP2XxEfU9d#-)lSuI?b^^lEFU5<=7yWC+u%gfX1 zVtoK80^eN`fdk%~zC#h#0SjIHxXsh^h=)8dN0HJc3>ckLTC!KP3%5sVazBRq9Z!%M zV16JA?cRqo-hiXT&gj@iV&Kat!Im&Zo}?~#OMi(^3PB?&KaDWmIKqo3d7r{5SV0w5>XBwtfL zfxcI7z4fntNe&17Cyi>SH3jPCpOFL?al647ti1li=auEziG#^!O(Up46`w8M)d0Ax z@!!{R1HyC(hmXq-y0>bzvHLbk^wNO&?=~y*l6vDLg;cCy;`+1Ym+qo}g{f^7NhrQ1 zA@l>C;0E&=I)2OCgZj_?HFZ*Z#wI69&-T152=DJGa8T7J?zC5ry)O9Br%lO>jHmzQ zd;eBJvqPItU*cQL0!Rw^eKww|KDn9!ZbkGq`V2*aq~NWB*f;(_{=*8iX|rcIP~$#E zI}CV6wrm89xaKQI=p9Y&Z|7mZIu1R;oPF3yfe>(w9Dc7ldk)<2Wu*9}IiHE!`ym-n z2pl~mu98v#QIjsVS-Qkq>Se6pd3!w#hnyR0wafYB1ES3(sLh`TG~=HhF(T`P*9Jv1 z4s9N?UKtZj@sy`8d z+_ruSC9QZ%j_X!JSOV4TS|%4zAuedPdtn?vq0Tj|Lca)rNzJJ=8$unGk$0%ddp7*D z{qC4Glzw>}Wkm?Vm~Jm`yTs=1mbvND+>ky z@fC)PrQL-)5zCueGrFBC01z6+p|_}$`jo^&_+2_bMyi|GgmK3i0Ni}(l?DDD3`v~d z0csJ@NT z6wf$0jOn96gYcf4K981;qP|*&J&!Gv`2}~h9ls{x%#JeQMMRhhH z?{>)uM+qRyx(8JCk`v!39W!8JAux1z4{4>h7Yftc#bUqsMGaX3)Z6(AR;L2P@poCm zNXgoCk?!xBML*I1om8X#3f+lV*{8e~!?sJVMNmevI{;b^AX5+{UpM_@pBD$?Th^XF z4ZX*`3{NyU{vAr}NLn28N1C~Ik-nNQbs~IYO2mu^R6}c!Ck|aT%lM3(*{6nj2{u`e zq9E@9iMme!C`gn4X0R}vj7`d9EjhaEVo zXOC1xeMA!pnUTW3b-6~=rRD{_J*e3w%K)v~GBU{R03A$so(`S&4&K!H{`R3Aa8<=) zrlsd(D*(Hfc^uToO}7E4_%%3XIyxk=Yq0aZ7EpC96;qp^PmTfsP{EW=Rzu~1BJ#9p z%cVVnDCK6jVqj=d;etmGaQE;8RcJf^G>W8~!j#|(?W$%b(xDgBqroSgw=#l8R+Uea zG5WCPnK0rz?R;qL*l^>NX0-eL4z=O+j?dA6E{}!{AUq#(-ha$4XMN$EO(NI1Tx;MO z!GT8CBX4K3*V2vpCKvRQFq5>aCFhHw*no9+?j27q)+o=l#;DqMxhiz+Kg-8Ymi(%9 zsh!?5fAUt!f2$G`7*VeJ-GdA)F{m5nJ ~8 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 literal 0 HcmV?d00001 diff --git a/public/character/green.png b/public/character/green.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a0cdf4c7f81224bcc60c4a077e602a4c32011d GIT binary patch literal 12069 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 TEybjzRWrr1b|X7S8}q9;)`$VMGX4 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 My-VlHbe-=0e^l1l`2YX_ literal 0 HcmV?d00001 diff --git a/public/character/red.png b/public/character/red.png new file mode 100644 index 0000000000000000000000000000000000000000..09f9eaa85b5f3a43c19eec2a458ec90a5f29772d GIT binary patch literal 11476 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 VzoQH_cZn9avOIpM^dKef{{ZE{O}zjB literal 0 HcmV?d00001 diff --git a/public/character/white.png b/public/character/white.png new file mode 100644 index 0000000000000000000000000000000000000000..acc0ff546266bb00dca7c2aa55627fb4141ee07d GIT binary patch literal 13251 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 literal 0 HcmV?d00001 diff --git a/public/character/yellow.png b/public/character/yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ddcd689a221e3e562a604821b6f6cd3236c9c7 GIT binary patch literal 11677 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 kIqyFR{09LJ0zLg~%&pN6 = ({ params }) => { + const turtleGraphicsRef = useRef(null); + // TODO: 一旦Java固定 言語選択機能実装時に変更する const programmingLanguageId = 'java'; + const problemProgram = generateProgram(params.problemId, programmingLanguageId); + + const handleClickResetButton = (): void => { + turtleGraphicsRef.current?.reset(); + }; + + const handleClickAnswerButton = (): void => { + const isCorrect = turtleGraphicsRef.current?.isCorrect(); + + // TODO: 一旦アラートで表示 + if (isCorrect) { + alert('正解です'); + } else { + alert('不正解です'); + } + }; return (

{programIdToName[params.problemId]} - - {getDescription(params.problemId)} + + プログラムの実行後の結果を解答してください。 - + {/* 画面に収まる高さに設定 */} - + - - + + diff --git a/src/app/lib/Board.ts b/src/app/lib/Board.ts index 9ee3a7d1..9041fdb0 100644 --- a/src/app/lib/Board.ts +++ b/src/app/lib/Board.ts @@ -1,15 +1,16 @@ -import type { Cell } from '../../types'; +import { GRID_COLUMNS, GRID_ROWS } from '../../components/organisms/TurtleGraphics'; +import type { Cell, CellColor } from '../../types'; import type { Character } from './Character'; export class Board { grid: Cell[][]; constructor({ - gridSize = [8, 12], + gridSize = [GRID_ROWS, GRID_COLUMNS], }: { gridSize?: [number, number]; } = {}) { - this.grid = this.createGrid(gridSize[1], gridSize[0]); + this.grid = this.createGrid(gridSize[0], gridSize[1]); } createGrid(numRows: number, numColumns: number): Cell[][] { @@ -24,7 +25,15 @@ export class Board { } updateGrid(character: Character): void { - const { cellColor, penDown, x, y } = character; - if (penDown) this.grid[y - 1][x - 1].color = cellColor; + const { color, penDown, x, y } = character; + if (penDown) this.grid[y - 1][x - 1].color = color; + } + + getCellColor(x: number, y: number): CellColor { + return this.grid[y][x].color; + } + + setCellColor(x: number, y: number, color: CellColor): void { + this.grid[y][x].color = color; } } diff --git a/src/app/lib/Character.ts b/src/app/lib/Character.ts index 351af213..012860f1 100644 --- a/src/app/lib/Character.ts +++ b/src/app/lib/Character.ts @@ -1,43 +1,34 @@ -import type { CellColor } from '../../types'; +import { v4 as uuidv4 } from 'uuid'; -export const CharacterColor = { - Red: 'red', - Blue: 'blue', - Green: 'green', - Yellow: 'yellow', - Purple: 'purple', -}; -type Color = (typeof CharacterColor)[keyof typeof CharacterColor]; +import { GRID_COLUMNS, GRID_ROWS } from '../../components/organisms/TurtleGraphics'; +import type { CellColor, CharacterDirection } from '../../types'; export class Character { - id: number; + id: string; name: string; x: number; y: number; - direction: string; - cellColor: CellColor; - color: Color; + direction: CharacterDirection; + color: CellColor; penDown: boolean; path: string[]; constructor({ - cellColor = 'red', color = 'red', direction = 'down', - id = 1, + id = uuidv4(), name = 'Bear', path = ['1,1'], penDown = true, x = 1, y = 1, }: { - id?: number; + id?: string; name?: string; x?: number; y?: number; - direction?: string; - cellColor?: CellColor; - color?: Color; + direction?: CharacterDirection; + color?: CellColor; penDown?: boolean; path?: string[]; } = {}) { @@ -46,35 +37,28 @@ export class Character { this.x = x; this.y = y; this.direction = direction; - this.cellColor = cellColor; this.color = color; this.penDown = penDown; this.path = path; } - moveForward(gridColumns: number, gridRows: number): void { + moveForward(): void { + if (!this.canMoveForward()) return; + switch (this.direction) { case 'up': { - if (this.y <= 1) return; - this.y -= 1; break; } case 'down': { - if (this.y >= gridRows) return; - this.y += 1; break; } case 'left': { - if (this.x <= 1) return; - this.x -= 1; break; } case 'right': { - if (this.x >= gridColumns) return; - this.x += 1; break; } @@ -85,29 +69,23 @@ export class Character { } } - moveBack(gridColumns: number, gridRows: number): void { + moveBack(): void { + if (!this.canMoveBack()) return; + switch (this.direction) { case 'up': { - if (this.y >= gridRows) return; - this.y += 1; break; } case 'down': { - if (this.y <= 1) return; - this.y -= 1; break; } case 'left': { - if (this.x >= gridColumns) return; - this.x += 1; break; } case 'right': { - if (this.x <= 1) return; - this.x -= 1; break; } @@ -160,7 +138,12 @@ export class Character { } } - setColor(color: Color): void { + setPosition(x: number, y: number): void { + this.x = x; + this.y = y; + } + + setColor(color: CellColor): void { this.color = color; } @@ -189,4 +172,40 @@ export class Character { } return ''; } + + canMoveForward(): boolean { + switch (this.direction) { + case 'up': { + return this.y > 1; + } + case 'down': { + return this.y < GRID_ROWS; + } + case 'left': { + return this.x > 1; + } + case 'right': { + return this.x < GRID_COLUMNS; + } + } + return false; + } + + canMoveBack(): boolean { + switch (this.direction) { + case 'up': { + return this.y < GRID_ROWS; + } + case 'down': { + return this.y > 1; + } + case 'left': { + return this.x < GRID_COLUMNS; + } + case 'right': { + return this.x > 1; + } + } + return false; + } } diff --git a/src/app/lib/TurtleGraphicsCell.ts b/src/app/lib/TurtleGraphicsCell.ts deleted file mode 100644 index cff9cbd0..00000000 --- a/src/app/lib/TurtleGraphicsCell.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { CharacterColor } from './Character'; - -type Color = (typeof CharacterColor)[keyof typeof CharacterColor]; - -export class TurtleGraphicsCell { - id: number; - x: number; - y: number; - backgroundColor: string; - - constructor(id: number, x: number, y: number, backgroundColor: string) { - this.id = id; - this.x = x; - this.y = y; - this.backgroundColor = backgroundColor; - } - - setBackgroundColor(color: Color): void { - this.backgroundColor = color; - } -} diff --git a/src/components/molecules/TurtleGraphicsController.tsx b/src/components/molecules/TurtleGraphicsController.tsx new file mode 100644 index 00000000..bde5a5b5 --- /dev/null +++ b/src/components/molecules/TurtleGraphicsController.tsx @@ -0,0 +1,159 @@ +'use client'; + +import { Box, Button, HStack, VStack } from '@chakra-ui/react'; +import React from 'react'; + +import type { Board } from '../../app/lib/Board'; +import type { Character } from '../../app/lib/Character'; +import type { CellColor, CharacterDirection, SelectedCell } from '../../types'; + +interface TurtleGraphicsControllerProps { + board: Board; + selectedCharacter?: Character; + selectedCell?: SelectedCell; + handleChangeCellColorButton: (color: CellColor) => void; + handleChangeCharacterColorButton: (color: CellColor) => void; + handleAddCharacterButton: () => void; + handleRemoveCharacterButton: (character: Character) => void; + handleClickCharacterMoveButton: () => void; + handleClickChangeCharacterDirectionButton: (direction: CharacterDirection) => void; + handleClickCharacterMoveForwardButton: () => void; + handleClickCharacterMoveBackButton: () => void; + handleClickCharacterPenUpButton: () => void; + handleClickCharacterPenDownButton: () => void; +} + +interface ColorChangeButtonProps { + color: CellColor; + selectedColor?: CellColor; + handleOnClick: (color: CellColor) => void; +} + +export const TurtleGraphicsController: React.FC = ({ + board, + handleAddCharacterButton, + handleChangeCellColorButton, + handleChangeCharacterColorButton, + handleClickChangeCharacterDirectionButton, + handleClickCharacterMoveBackButton, + handleClickCharacterMoveButton, + handleClickCharacterMoveForwardButton, + handleClickCharacterPenDownButton, + handleClickCharacterPenUpButton, + handleRemoveCharacterButton, + selectedCell, + selectedCharacter, +}) => { + const ColorChangeButton: React.FC = ({ color, handleOnClick, selectedColor }) => { + return ( + + ); + }; + + return ( + + {selectedCharacter && ( + <> + + + + + + + + + + + handleChangeCharacterColorButton('red')} + selectedColor={selectedCharacter.color} + /> + handleChangeCharacterColorButton('blue')} + selectedColor={selectedCharacter.color} + /> + handleChangeCharacterColorButton('green')} + selectedColor={selectedCharacter.color} + /> + handleChangeCharacterColorButton('yellow')} + selectedColor={selectedCharacter.color} + /> + handleChangeCharacterColorButton('purple')} + selectedColor={selectedCharacter.color} + /> + handleChangeCharacterColorButton(undefined)} + selectedColor={selectedCharacter.color} + /> + + + + + + + + + + )} + + {selectedCell && ( + <> + + + + + handleChangeCellColorButton('red')} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + handleChangeCellColorButton('blue')} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + handleChangeCellColorButton('green')} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + handleChangeCellColorButton('yellow')} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + handleChangeCellColorButton('purple')} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + handleChangeCellColorButton(undefined)} + selectedColor={board.getCellColor(selectedCell.x, selectedCell.y)} + /> + + + )} + + ); +}; diff --git a/src/components/organisms/TurtleGraphics.tsx b/src/components/organisms/TurtleGraphics.tsx index 660cdb37..b9f5a83c 100644 --- a/src/components/organisms/TurtleGraphics.tsx +++ b/src/components/organisms/TurtleGraphics.tsx @@ -2,146 +2,318 @@ import { Box, Grid, GridItem } from '@chakra-ui/react'; import Image from 'next/image'; -import React, { useState } from 'react'; +import React, { useState, forwardRef, useImperativeHandle, useMemo } from 'react'; +import { Board } from '../../app/lib/Board'; import { Character } from '../../app/lib/Character'; -import { TurtleGraphicsCell } from '../../app/lib/TurtleGraphicsCell'; +import { solveProblem } from '../../app/lib/solveProblem'; +import type { CellColor, CharacterDirection, SelectedCell } from '../../types'; +import { TurtleGraphicsController } from '../molecules/TurtleGraphicsController'; // 原点(左上隅)の座標 -const ORIGIN_X = 1; -const ORIGIN_Y = 1; +export const ORIGIN_X = 1; +export const ORIGIN_Y = 1; + +export const GRID_COLUMNS = 12; +export const GRID_ROWS = 8; +export const GRID_SIZE = 40; interface TurtleGraphicsProps { - characters: Character[]; - gridColumns?: number; - gridRows?: number; - gridSize?: number; isEnableOperation?: boolean; + problemProgram: string; +} + +export interface TurtleGraphicsHandle { + reset(): void; + isCorrect(): boolean; } -export const TurtleGraphics: React.FC = ({ - characters: initialCharacters, - gridColumns: gridColumns = 12, - gridRows: gridRows = 8, - gridSize: gridSize = 40, - isEnableOperation: isEnableOperation = false, -}) => { - const [characters, setCharacters] = useState(initialCharacters); - const [cells] = useState( - Array.from({ length: gridColumns * gridRows }).map((_, index) => { - const x = (index % gridColumns) + ORIGIN_X; - const y = Math.floor(index / gridColumns) + ORIGIN_Y; - return new TurtleGraphicsCell(index, x, y, ''); - }) - ); - - const updateCharacter = (character: Character, updater: (char: Character) => void): void => { - setCharacters((prevCharacters) => - prevCharacters.map((prevCharacter) => { - if (prevCharacter.id === character.id) { - const updatedCharacter = new Character({ ...character }); - updater(updatedCharacter); - return updatedCharacter; +export const TurtleGraphics = forwardRef( + ({ isEnableOperation = false, problemProgram }, ref) => { + const [board, setBoard] = useState(new Board()); + const [selectedCharacter, setSelectedCharacter] = useState(); + const [selectedCell, setSelectedCell] = useState(); + const [dragging, setDragging] = useState(false); + + useImperativeHandle(ref, () => ({ + // 親コンポーネントから関数を呼び出せるようにする + reset, + isCorrect, + })); + + // // TODO: プログラムから盤面を生成する処理ができたら置き換える + const getInitialBoard = (): Board => { + return new Board(); + }; + + // TODO: プログラムから盤面を生成する処理ができたら置き換える + const getInitialCharacters = (): Character[] => { + return []; + }; + const getInitialCharactersResult = useMemo(() => getInitialCharacters(), []); + const [characters, setCharacters] = useState(getInitialCharactersResult); + + const updateCharacter = (updater: (char: Character) => void): void => { + if (!selectedCharacter) return; + + const updatedCharacter = new Character({ ...selectedCharacter }); + updater(updatedCharacter); + + setCharacters((prevCharacters) => + prevCharacters.map((prevCharacter) => { + if (prevCharacter.id === selectedCharacter.id) { + return updatedCharacter; + } + return prevCharacter; + }) + ); + setSelectedCharacter(updatedCharacter); + }; + + const reset = (): void => { + setBoard(getInitialBoard()); + setCharacters(getInitialCharacters()); + setSelectedCharacter(undefined); + setSelectedCell(undefined); + }; + + const isCorrect = (): boolean => { + const answer = solveProblem(problemProgram); + + // TODO: 正答を取得する処理ができたら置き換える + const correctCharacters = [answer.character]; + // 順番は関係なく、name, x, y, direction, color、penDownが一致していれば正解 + const isCorrectCharacters = correctCharacters.every((correctCharacter) => { + const character = characters.find((character) => character.name === correctCharacter.name); + + if (!character) return false; + + return ( + character.x === correctCharacter.x && + character.y === correctCharacter.y && + character.direction === correctCharacter.direction && + character.color === correctCharacter.color && + character.penDown === correctCharacter.penDown + ); + }); + + const correctBoard = answer.board; + // すべてのセルの色が一致していれば正解 + const isCorrectBoard = correctBoard.grid.every((rows, rowIndex) => + rows.every((column, columnIndex) => { + const cell = board.grid[rowIndex][columnIndex]; + return cell.color === column.color; + }) + ); + + return isCorrectCharacters && isCorrectBoard; + }; + + const handleClickCharacter = (character: Character): void => { + setSelectedCell(undefined); + setSelectedCharacter(character); + }; + + const handleClickCharacterMoveButton = (): void => { + setDragging(true); + }; + + const finishCharacterDragging = (): void => { + setDragging(false); + }; + + const handleCharacterDragging = (event: React.MouseEvent): void => { + if (selectedCharacter && dragging) { + const rect = event.currentTarget.getBoundingClientRect(); + let x = Math.floor((event.clientX - rect.left) / GRID_SIZE) + 1; + let y = Math.floor((event.clientY - rect.top) / GRID_SIZE) + 1; + + // 移動先の座標がマップ内に収まるように制御 + x = Math.max(ORIGIN_X, Math.min(x, ORIGIN_X + GRID_COLUMNS - 1)); + y = Math.max(ORIGIN_Y, Math.min(y, ORIGIN_Y + GRID_ROWS - 1)); + + setCharacters((prevCharacters) => + prevCharacters.map((prevCharacter) => { + if (prevCharacter.id === selectedCharacter.id) { + selectedCharacter.setPosition(x, y); + return selectedCharacter; + } + return prevCharacter; + }) + ); + } + }; + + const drawCharacterPath = (): void => { + if (!selectedCharacter || !selectedCharacter.penDown) return; + + board.updateGrid(selectedCharacter); + }; + + const handleClickCharacterMoveForwardButton = (): void => { + if (!selectedCharacter) return; + + if (selectedCharacter.canMoveForward()) { + drawCharacterPath(); + } + + updateCharacter((character) => { + character.moveForward(); + }); + }; + + const handleClickCharacterMoveBackButton = (): void => { + if (!selectedCharacter) return; + + if (selectedCharacter.canMoveBack()) { + drawCharacterPath(); + } + + updateCharacter((character) => { + character.moveBack(); + }); + }; + + const handleClickChangeCharacterDirectionButton = (direction: CharacterDirection): void => { + if (!selectedCharacter) return; + + updateCharacter((character) => { + if (direction === 'left') character.turnLeft(); + else if (direction === 'right') character.turnRight(); + }); + }; + + const handleClickChangeCharacterColorButton = (color: CellColor): void => { + if (!selectedCharacter) return; + + updateCharacter((character) => { + character.setColor(color); + }); + }; + + const handleClickCharacterPenUpButton = (): void => { + if (!selectedCharacter) return; + + updateCharacter((character) => { + character.upPen(); + }); + }; + + const handleClickCharacterPenDownButton = (): void => { + if (!selectedCharacter) return; + + updateCharacter((character) => { + character.putPen(); + }); + }; + + const handleAddCharacterButton = (): void => { + if (!selectedCell) return; + + board.setCellColor(selectedCell.x, selectedCell.y, undefined); + + const newCharacter = new Character({ + x: selectedCell.x + ORIGIN_X, + y: selectedCell.y + ORIGIN_Y, + path: [`${selectedCell.x},${selectedCell.y}`], + }); + + setCharacters((prevCharacters) => [...prevCharacters, newCharacter]); + setSelectedCharacter(newCharacter); + setSelectedCell(undefined); + }; + + const handleRemoveCharacterButton = (character: Character): void => { + setCharacters((prevCharacters) => prevCharacters.filter((prevCharacter) => prevCharacter.id !== character.id)); + setSelectedCharacter(undefined); + }; + + const handleClickCell = (x: number, y: number): void => { + setSelectedCharacter(undefined); + setSelectedCell({ x, y }); + }; + + const handleChangeCellColorButton = (color: CellColor): void => { + if (!selectedCell) return; + + setBoard((prevBoard) => { + const newBoard = new Board(); + for (const [y, rows] of prevBoard.grid.entries()) { + for (const [x, column] of rows.entries()) { + newBoard.setCellColor(x, y, column.color); + } } - return prevCharacter; - }) - ); - }; - - const handleMoveForward = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.moveForward(gridColumns, gridRows); - }); - }; - - const handleMoveBack = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.moveBack(gridColumns, gridRows); - }); - }; - - const handleTurnleft = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.turnLeft(); - }); - }; - - const handleTurnRight = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.turnRight(); - }); - }; - - const handlePutPen = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.putPen(); - }); - }; - - const handleUpPen = (character: Character): void => { - updateCharacter(character, (updatedCharacter) => { - updatedCharacter.upPen(); - }); - }; - - return ( -
- - {cells.map((cell) => ( - - ))} - {characters.map((character) => ( - - - {character.name} + + {board.grid.map((columns, rowIndex) => + columns.map((g, columnIndex) => ( + handleClickCell(columnIndex, rowIndex)} + /> + )) + )} + {characters.map((character) => ( + handleClickCharacter(character)} + > + + {character.name} + - {character.name} - - ))} - - {isEnableOperation && - characters.map((character) => ( -
-
{character.name}
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
---
-
- ))} -
- ); -}; + ))} + + {isEnableOperation && ( + + )} + + ); + } +); + +TurtleGraphics.displayName = 'TurtleGraphics'; diff --git a/src/problems/problemData.ts b/src/problems/problemData.ts index 70a195d5..21b7775a 100644 --- a/src/problems/problemData.ts +++ b/src/problems/problemData.ts @@ -37,10 +37,6 @@ turtle.moveForward(5);` || programIdToLanguageIdToProgram[programId][languageId] ); } -export function getDescription(programId: ProgramId): string { - return programIdToLanguageIdToDescription[programId]; -} - export function getExplanation(programId: ProgramId, languageId: LanguageId): string { return programIdToLanguageIdToExplanation[programId][languageId]; } @@ -80,15 +76,6 @@ public class Curve { }, }; -export const programIdToLanguageIdToDescription: Record = { - straight: ` -直線を描くプログラムです。 -`.trim(), - curve: ` -曲線を描くプログラムです。 -`.trim(), -}; - export const programIdToLanguageIdToExplanation: Record> = { straight: { js: ` diff --git a/src/types.ts b/src/types.ts index 00cd83ef..f573ec13 100644 --- a/src/types.ts +++ b/src/types.ts @@ -9,9 +9,13 @@ export interface LayoutProps { export type LayoutComponent = React.FC; -export type CellColor = 'red' | 'green' | 'blue'; +export type CellColor = 'red' | 'blue' | 'green' | 'yellow' | 'purple' | undefined; export type Cell = { - color: CellColor | undefined; + color: CellColor; +}; +export type SelectedCell = { + x: number; + y: number; }; export type History = { @@ -25,3 +29,5 @@ export type SolveProblemResult = { board: Board; histories: History[] | undefined; }; + +export type CharacterDirection = 'up' | 'down' | 'left' | 'right'; diff --git a/tests/solveProblem.test.ts b/tests/solveProblem.test.ts index 450ff170..f021d31f 100644 --- a/tests/solveProblem.test.ts +++ b/tests/solveProblem.test.ts @@ -44,18 +44,14 @@ test('Solve a problem', () => { // prettier-ignore expect(answer.board.grid).toEqual([ - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], - [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: 'red' }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], + [{ color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }, { color: undefined }], ]); expect(answer.histories).not.toBeFalsy(); expect(answer.histories?.at(-1)?.character.x).toEqual(1); diff --git a/yarn.lock b/yarn.lock index 7d0128ab..41df205e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4262,6 +4262,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^9": + version: 9.0.7 + resolution: "@types/uuid@npm:9.0.7" + checksum: b329ebd4f9d1d8e08d4f2cc211be4922d70d1149f73d5772630e4a3acfb5170c6d37b3d7a39a0412f1a56e86e8a844c7f297c798b082f90380608bf766688787 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:6.18.1": version: 6.18.1 resolution: "@typescript-eslint/eslint-plugin@npm:6.18.1" @@ -11509,6 +11516,7 @@ __metadata: "@types/node": "npm:20.11.0" "@types/react-dom": "npm:18.2.18" "@types/react-syntax-highlighter": "npm:^15" + "@types/uuid": "npm:^9" "@typescript-eslint/eslint-plugin": "npm:6.18.1" "@typescript-eslint/parser": "npm:6.18.1" "@willbooster/eslint-config-next": "npm:1.1.0" @@ -11547,6 +11555,7 @@ __metadata: supertokens-node: "npm:16.7.1" supertokens-web-js: "npm:0.8.0" typescript: "npm:5.3.3" + uuid: "npm:9.0.1" vitest: "npm:1.2.0" zod: "npm:3.22.4" zod-form-data: "npm:2.0.2" @@ -11949,6 +11958,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + "uuid@npm:^3.2.1": version: 3.4.0 resolution: "uuid@npm:3.4.0"