From ecf39e1686b38ab4df159de4e656679ccee3d70f Mon Sep 17 00:00:00 2001 From: elkaix Date: Wed, 5 Aug 2026 16:29:40 -0400 Subject: [PATCH 1/2] feat(site): add VS Code extension section and link-preview metadata Put the VS Code extension right after the hero with a screenshot, Marketplace link, and a copyable install command, and give the site Open Graph and Twitter card tags so pasted links render a preview. Also point the CLI README hero at an image that exists; the old path 404s and shows a broken image on the npm package page. --- apps/pythinker-code/README.md | 2 +- apps/site/index.html | 28 ++++- apps/site/public/apple-touch-icon.png | Bin 0 -> 16116 bytes apps/site/public/favicon.ico | Bin 0 -> 15342 bytes apps/site/public/icon-192.png | Bin 0 -> 17510 bytes apps/site/public/icon-512.png | Bin 0 -> 51976 bytes apps/site/public/og.jpg | Bin 0 -> 68894 bytes apps/site/public/vscode_img.jpeg | Bin 0 -> 92052 bytes apps/site/src/App.vue | 144 +++++++++++++++++++++++++- 9 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 apps/site/public/apple-touch-icon.png create mode 100644 apps/site/public/favicon.ico create mode 100644 apps/site/public/icon-192.png create mode 100644 apps/site/public/icon-512.png create mode 100644 apps/site/public/og.jpg create mode 100644 apps/site/public/vscode_img.jpeg diff --git a/apps/pythinker-code/README.md b/apps/pythinker-code/README.md index 0b74772c..0fbcc277 100644 --- a/apps/pythinker-code/README.md +++ b/apps/pythinker-code/README.md @@ -5,7 +5,7 @@ [![npm](https://img.shields.io/npm/v/@pythoughts/pythinker-code)](https://www.npmjs.com/package/@pythoughts/pythinker-code) [![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE) [![Docs](https://img.shields.io/badge/docs-online-blue)](https://pythoughts-labs.github.io/pythinker-code/)

- Pythinker Code terminal demo + Pythinker Code terminal demo

## What is Pythinker Code CLI diff --git a/apps/site/index.html b/apps/site/index.html index 9a2bbc2c..68dda94e 100644 --- a/apps/site/index.html +++ b/apps/site/index.html @@ -6,11 +6,37 @@ + + + + + + + + + + + + + + + + + + + + 5DkrBXPGrlo)vJ(^Z&I56bsf!RYyIO=atUE_%>1KQp&oQ9 zcKKZ3gPpLQH``{#ZnahPaf@L~--4S9dM1p>9m^Nr7tR-5QP}*`@`GZ7+kRIJQ=iaV z>1?x=%bSE)-*cD-EGqP(W6uia3&n#(AHm@kQROuHrv^lK@e;@7bE?lgmZDeQTPl*U z-;^blW9j=-sci2soEl&kIw=3D{3$nnHfHkOq_o4);Rd zit_Xa6O#F=aYH^wGEW9DZ_z|NT(KjpigL`7lm+?>t?IrS-Y8LJ4Cap|SV8lYicb!G zgkd7otWn;2?tlM~EU-IRsH+JcQQ&Q~{j>Oh($7(B>&se^Eqr z&H_XVxfzOLV#l6@rbbA^-Z9;kki|2{%xiM`?KyLYnooGva-y+}CS~>D_9+M0|1pXMdUhpNgwww!R6urnu=Kh&BFGF83le0Uf;hFceI>HZFN zdPZoAHqb{@6a&rdS&*m_`WebptIbcH9G`-`q?fRy4mDe8HN@_eti_dD4VHIJqpCB1 z=z|nTj!BfQ(qSHI=&;r1?qeLcG$yRH;nYa`QnW?c^ia4`Mpg=zUE6zG@&#W#j)zG@ zF!+z2FbiUzpm8R}02i11(Y6d?6*OHcN?kmPsfFxQ7;oBgn5t~0x009MUZGE5gWE;m z5O7zRDH0)ZSifz^vPbj&DwWb}Xar1i|qS(}ue9s0osh>$6Guh$ecN z#PEmpSZ%KT@0KVD>JbB2I|aa2ZU%zpgcLYvDvduFW4%odF<^fT^|V9qts}(+oZXA} zQ_F`uV}8-8IsMlDh+of{x09GeG8sJ+op^(O7Sv@0wtT_j^F>p)m z2vxVvMwQE3+blwn;j1 z=|Wfp+v*9#H}tkOA&b$o^7#4+qZO1dG_r4ljAxfY#9w&i4?KTmjd@@kxvgeU%C8`c zI)xNqJVa4dd=e~#{ALSt=?iH>&Yxt*v+jVjTc}DCLPgO1v{Kl9CBF*O2`t+L|L%oJ z5<)C1p6Phow%VNX14bo8;svj($txXFc91>{F(3GH){`9R;*pP!B~%i_|1w0;534^+ zG>7K0eH6x{CJq;_fH^aNHy@&Sf{$uQ%z)Y5D&NElKnj^7qWwq2!30bd8X+FAJEBoh z4!gAkf7|LSb4_0bl;DkU@}@ww zBDBx4EQJaSJDN5K=`^iR=58U74n)(8k44pvJL%#u708cx)e_3qhcqN6@Rew zk`#nKB%T(*FGm{%Oz+uC7$<0?EiH0Iy0saWKZ1$+ksn-J*KJb>T5nwSV1~`(QV9*I zM~&_Lol%vM{@Bg;caf*Wkw=F?&BjEIn4?p&m}%XZOlwd1@gqUGtz`~Fw53HB!?9|# zBAb+fn?y{q_dKX3?V^XPQk8)b?Pdlh5ceSk7hMrqW6|WL@^z0b%Fv*xer-DMQL)G2eV;vz(#?Xw-bOJ3L-1gklS!iu z1!d={9e5%)th^EyJj0zwT<(~vSf)sqMpPbKjD$9@ch$gAVE#@p-O~|uS8EnoyqC7e z-YL?La41=s(y_Nw#L9TM6F(kWw_*c=HUtl)cfy#r}wN#Q?(ZiY(|~uBd6AJV&poj*GoxdoifvooZ^M*22Jj3 zK*u#_rmAF49mW@SBs&?HCyeip)!AzCU@@M2t9TH3c8eD^lhbnVG&#zVALiovQKM5* z)tG0CYNw@VG+eO2Z*^VjX};?$a7?hpMK6DnO6^6F4SyxH1qo%Lcc}X1vS{+lJjjNf zH1oU*w~rNS;3`;WOyf7m`9|#dkp<2sveF70QBXh!7BDgij*| zB~JbgF##}Ew{epe0l ze%=uN7c)+^+Yk1p-jy?&`0$zIA0)M5|12ih`&*NX+_fB}bu4TQK8bzhz-KnaiKH;d zoX@R*dUt%MWTqD|YsgCu*SHr+67g(2-{*4{Is9=vMUgxY8)U?nIPw6EK=9oo^LdX&Zkz(-cbtjI`v|Ruuc1@ ztTg%H!Ka$jXDo7$t+Mwg*{CIQBlMN*ISDWGk6dz#(?^dOh!#{~!}GJH5kdTc>TZdT zS@QJm@Gc0ml4jOHMhg#gF7g|4x=Ck9U}Lf`$im7}SyQu@=yKU`eV)(MQbARqc$2%? ztIFb{X{x6tS08>-^+`HKFj@Q=B|AauY!%x06$t@`$?q8oY}??qfhOK~CoIab&K&Xs zs_2umn zR>j{Kq#~^P8bIe{){zeXMTxuLW)sG$)rQs+7vytCVA}=!qX0d8MVQgpODWak&pHgRs;Ux+FJb`TP0%q z-rr*%8Hc(5e6Ibpob`Kk<qLxiYWftKy#CZbRb$CNCTU#K7w9c?Vhucey zRcL)V%+YAVIcMU0(M*{p`&)HIZtVq!^fs1(d1E@TQ4XIfeAhTG+HXHqv5Xy^T@+We z#?)T8o_wnMZZ|D4kkhdVdGb+0KP?~xfLroRD!6riGj+(qZsosm`!{&ikLAr3TLY3@grIvHD z2kLIW_|#q~1Xu~Dx81~_f(fRx&AcM6bnn6H6^OoKkyyG02+Kf9lb-eMVZG$0GBFZ} zd7~kYDf`-hQ!gXs*#S8zgSf1Jw0jn3Dk~<=C(~Aj3Ff5icop6V+09U7zFs*Q7**`J zDQ-9EvS2t)NVzqr{xnsh`AIXf?-Xz;)9DD zPLKX8v};Mig=xH=#T$f@<}^YX(kGoRS~ME(?0HP$nwdneL2hhiL=acJ<=u%Toz9j` z-sVEfPgzx5Z*}b)NYU!42wTf^XBa<>_xHEhS=8OqaL34R=5emEL0|kvw3E%F=by zA04aeM$Kc(p*{?eoqj)_VN`RTlqdgis4+8GHI|Ad{G>BtA#Lr}2kgzSl#wQuxc<{y zhhiTs%W2h*(y)w{Tni9#CyWeY($f)P;a)bjP3+KU(d4wSq|xe8BST~VW_%yHbrNvz z&R?EG@Dj?&7>Gz=xch?L;WtFyl1vlxEq^71wH_wRIY98UUl?>Dq3OKxT+nR=hW&H! zRT?rv;P<$lwp%Mr&5-g7JKb9F~n)VS~y^km=e3;PvwssNmhP}1OU%4n8OY%E~wO+?v8k58!ab09D zvyY@N!i72)EZWf9X`ySK@2Pi-KlDcY(LI=13XQ0j=VW(Uyl!_f9Y6j6CU?P_221>zkxtL_o|}=N{&1j%4pM# zEro_G5nH3QQQRg|J$qWks4r$UiHY?CWdm<8Gj)n8cI;5>FfLJaY8%$e5;7n*`>x;F19~sDhEFe4vAZo8*y`aqyAJYD95-W1Vfp`y)IOt zuvMcsy6WSre1b`UeEP?zRm%a1-gd zCfJH##W{cCR%J;v#b(4GHd@&6+Co!;ZMo;Vz&ISW= zbF+pVttvEuza81vo1Mwo-SEm66#9|!8S}@(-p{`-r)q9%Jzl-U*5n(>wJVHY6hlX+ zm+XAj$B(*r!_w$!3)>WbW(oMXs#rdU6#2uB=}x_K&(I!IzwYTEt|9Rig( z9##Hn*~K*FHY&GVi6MCWicJ0svA(Ox?{K4g7HUV&}*>l4Ekui~3M^<=p;u78hdtCV729c$p-j*`iuNf^CC zNS%T5sP%OBut4ww*14(JQHQ#p5men`jGY^vAvhzTFRu8TldxGbAv1lYZk(a0yc^Sm zPsp`kfbr_XFY`5(pvea<>ZoF-uGhVyRN?^V)$hXbdelH-o0(o=aMvf ziyoaOTeqp)XgH&Eqq=b;1p)cph{;!F8bM#;2`5N?W@@jzw|`O=avazxTx`Xj%)*Fy zC+o)r75xtXW)ayElzx9$V~Bj2E1pDJp`X-t0b&t-ny7vm4|xlBr;A=ZEvsR3uushz z+~L-)#EbS2^-)K%wEx<6RcaUcUxL$75gK zwL=`y?F^cpmaq3XsON3K95-q3>hVQaKS5^kU(Mk8IrX1S1sV#(zFo);>cgywaJFi+ z1D&e58)wjK5K**LALX~ME*R5!Ut5Ss;OlcQ1BpsPR=lbf9Aa`aWZ&&QAqX*f2XqVv z3oYs@Q0bNP=ANZVCoM`b(#*C-f!V_&;aZ0{-}q%@HYE~=RN*BM)Q~$%{KE;hqen>^05wVyiyU?Rq4Ui~p)^ zZE3h%HyzyN=E>&kZ~WXv!KtXkM7DFBDZm|~&r8{}`xKsR4mGM99r8Z3>%1BSm07Dr zfb`9Y#9C1_D zjk@MsF@r8327L{7I?MFHGl~z~*&v@i5l7=7HaCUKS%U~2Tu7-lA3Ib$xa%P*&e{xs(3<0wr$b`Hi+i~P%(l%I2KB}P{Uoz(o_WduDJr`6QjVP7HYyTh{9%8F&qPSxBNA^Vz2)n_& z$$`*zr?+_i$7FB-Jo~&=pbNTB;6I8_q$f?KaYLGT_;rhjeLx*i+Eh_z5vdvZE2;a( zf9Z@*Z<08aTSO)BVot86^HQB)LBHTD+Q*`5K135C%q&|Y-yk#Bmp*bf!ydSKzF5Xa zqhqsVMAP}D4o}L<3vsThYu+go@qPixzuAW0A%v+j;`W2VnQ{7&R3)-3L#J-8z{V7H z#f&TdsyNJz7QxJ0-uU$NA;Ht>J0o!p6pJa4@W0y{{o(uLvHxSSJrIsBju98ToykaIDeQDL7)u1ls_iQO(g#wj?T@W7gG^S@Z@T zy{kTy-!v0|F`PGppqOoIy<}MOha1`KI18rt4w!9JA?cY-bc{sXU|X%lrM|p)0vdMK z%(JRfVVqH5$I+!#&ITF6AdGf~&z9k7*Q3A`A+2=!AEU}?>fx)+bE(muf><%t%n7{;k6D^VHBLu!Z>nMZBrEbQGCk=b3&Z4!8Y(vkfFd@&pq_tI`u zIV3(2jx{bcT{Y|B7a@lZbvozm#b_E)s4+80PrtC|j#XV*m-y65ZLw?E7!8e}wQ)ubyGWI>d6UwF9hEmwD~{BO z8S(L@wXzJ&Fg*&r2l5ddnOl zctcBNctX4)(~js=+QtdJ-_xaYSk(^Ia6TW;S9*Ak*j zjkAEtRB6rBGiKMs`}ImqQ*;%ICBc1k*nHT+CY;=2ZA4I2OkrS8mw<{e^V5?tGJOl; zkMs~|2%f+%(ZY+;619Yn6bouJ5uPSR<(WAL_&Qt`kc^@jHXnfsHK}pRNW5H zweQiHB~XGKMrGZ(Xws3Si3f67A8v?nu|J3C<3-&KC@ei5h#+-JVfmTX9ZWj>I`zo^ zE2Kh9h*s24onHG2Gf3=Vtom%_pg{a%)f^k1u-eWmzo4x0QAo1* zBv_(0hWgLAj&4-X1qH?Pb)CcNW*qQ=XIMk9oG7+}a@*&9D+YZ70_XM?wo$3Z47^x|JbV4Zf7C69she@eVbP^2p$%B{*Hp4) z{S__tST9M$rfwEBiVfEawKY<8$r@BMsQEoCIcQB39VUU*cY2GHEbI4Ap?51ghLUk@ zvG7C3pPH0(Rz!=;mh~nVM$BM{gr5&YUssRTP(Qld5o9Hq(~4N$6l2(u1eKcbuIK(%qp^~RfwY_a87 z1U^W$nF>1|G9i-;xj6U%JZ&P&jpmu_Y9zJvQe)xBT}GB}7evlhI`SO^Q(eC4=qHWr z(r2sU#LH>v0T*k}$yQ54Ew}|tGy@Lv!M~Yo`>})zxQQcLdicGZq%61^bW1NIi$e8I zm=F%Li3E7h${fwa3s8!Z{n7cE)#aV3bI2~c|B489T=?|q&>_S!i=n}nY=EoX?pC|j z%v($A1WB2>0nJHviJKndPytJA~c*VfY?d&I+jriw#v<%Pg$+ z6wrSdmu~x4Z~A~Pr6?qn)B9aIN4MiKkq}l~<=brr^Tq?1XQR5Q?sSosStdTqLu*0f zdbB*jBSH7a&#v}vPPwnz^314kSI>dptCU5vOIw?AGYfsex6?h5i-$7v9}*IzXbPy( z)DJ~@#6?`jxzuQ8nJT@afg1N^Kd5#0-Y;I;XOKsgZGa5hPXHzXS8@E8VmYdN?RI}7 z+d|F9U-p;g@zc8u1o5+!CnH=<$GW>L)l8V+-D_Vi^a#a}FPa*Zv4&)NTGxm$fP5b> zcR5~e{-OE3&`WrrF{pjKvwq<5dq7N|_)AlKr zH>f(v>R(AKAFa**q${;z?y@zL#V+LwE$&-yt&zeGcYFPZ?f*0Mm)6RrlfM^R>)G_p_%iEWCShM7J`^?@ zDx~H3L%X0|@6Ky~QD2wtmC+~AijSawwOu1R6J=NYO< zQ{vhet#v$cd|&!+Gh50zJ4BU1h9Qk1Lp@Esf?G8rt`W+qt~Vih(;IcSnngYl4NTu| zGaA_QIHUo22kdW7m%v;HHg%qiUuCCl|C~bzKKEqI<_ziEDa7C)?+u2M5kl`ZzbWBaCqD`B?U zG>}KpXzi5H?j>C}LXg!uHI7bkc%Eofbz$>t(8l;m(Kvy2r1~q2D72MZQLVW{;mUL< z!I@<4p$LwsH=FufL6NOtDXo%~sb#V0_8Gzi5eHEz4YHLf_FRfh(ga3p(fG-0XspG$`Y((bZ9Xtin_(UqE_q z5s+mPqYB=|-jYBGS`R;-VJD^ZsCpO)eMd+@ti_dFOMf}hO#kuf=vs5@aV;qD*VS8b zPh1c7LAy_J7(4SstPnX#_Ch(k>u=^xrL_krdTts2>A|ZTE)WArXKN#hcArcfCXnob zz&+QKQbfk_PIm5(Kc5}=IN|=gEE;QPrAHj@D9%4YCh4!L6-wniv{ql4;{dNotZ3G@ zQU+;hDc44WZZaSRO#ufXI)j}h?fygpJ#ZLAgGUBW?^TeFAP6UFk*V|wr&;;MId24* z(<0vm#!56PWm3Ciq9kb~ez(oZ`;b>Ua>t25rU-AQR`{0_l#EOnG+%AR*E&WX4CC1IHMbGMV2LDVMH{>8-VnHP#mISSl*>prmcmZ9oFp+O~RAr+5Ts~-f;1=u0xBY>r z1Q!a7I6K?e-9TT&BSbE>cpuO?W13LA0d0Zm0n1y0PVnNSBP$mC|V)Y zcREDj#*9U>YOox^9#t6d%H9zmQ<0GIWf`4mgzLr~#})YaR>tJ2pjR_*2z}53GC2oW zO0fYs-)Glt6*s(?=}f{m^3W^00u+oKK%_ad`cb-*bEzXq0qtj?t?PcL z`)B?i^ynR?Y6O-8=ysADjk4SkhlGw!SI%;=Cn69sl03IgIF&iIDLGasGIjLU68`TS zC4Zc{LmxGtWa|%*3FeWu@?A4of0@%n0YCgLU%w|^+5i<I82qrsxhkicOQgB?=exF;m z_Z_EffklGQXsK{4bm+*D*qD-GLuM;W7Cu(02 zA){T3NuHaSRARROT6;{-I$3`F>*@O4^?6IAPi(29vAohG1klVOBR^GZszj@In5Dnu z4TAopq;_0uMbl#CJ<)<~^DPWnr7b=Z)VcU&UcNptV^E$?FnV_8cU?Doe#0x}ExR*0 zCD@D~&-WZst4~b4Pa{kgv0uTv=sy3%VaA2qT1(i?G82VhDZuV>d9puiZ?-?0$&Z~# zf8%`s+L{NYvZiBYGvj9rNRM&`Sa0x5jwg)~3elno!Ts}62VWc%t_EIbBXv|~w#&xWz zvz&`$0k9LG(~ZY{a7=`xG|Uw{jN^58=lS5kh=|eZ*<6zAAPW7ZU-kl_$DR<2q+xGC zy2u9koN8JV?mL1wTp(Ij#(TVTd&C*(HzpW8JuQ6hdjBn=KIT1#?5y&rbfb!79a<4g z>@7?XbKLDCiD_kOHY98&Pw`VIf(3g$h9S~Jyx1@*++3}|z33I{)(4RvD52m{6ww#= zh7sS70K^1x$FVYiB7`=8VGTW&#NT575YZ}|(&8zS47GaZdtl(ac>{H?#jLU)m}d|P znrXITSLCKTA7Z$c{WdklL}^c&9!1sCJpWhx?7MJIxt5kztoD%_3AN(ju52;(;g^&j zGo!UI8}TxG7`YP)=X0=(50cY_G>7GN0KG}5+Ud)Fz%**fj3s>o=Z+h?dTysIv+HQB z8Xe!$W40o)k{?oj_K{&ac`Cmkgl3olJXJzzw7Uva z1)jobSyJ|d$L3*oDa(Wz>$YzIp2$lz-9)3&(kYJ8usFxPkfUECmR(_w<|kO^eUu_Q zfAcd!?La=j8u6@cyY`|M`|7hKj}X=PM|iuHi)K9jhLL~AX}eu_pA+bA=q&qcd+(9I z35Dp9R+SU z6Ei6Lf@&sR7-6tA(3cElsWd9qTDwgt?u}`dEK-e2dT-P8lRAwgQ`GZu=)Z@Kj-c z8mFs!%L-}esN@bB=>e)pf}=vnq@OP;lhJnYrqmEz-QP=3bZw$h$$w7?da2^S8?A?|k3dF{si zj6l3-MGoY2kILs3he|?q=3-`3Nvih~=+GRL+@bV&jn&DZ6@nABM*QdIuIz8yTRhWP z)C~Is{5!4JeB4h(N9xA*aN%W>0gY9uHzB1wl~J6nIle$M%;37*4b4a|vzXA)pS#SE zXO1u7$JJ>vwv}^t}cm6?ZliF$8QqUYZWju8!%2t0hBa9 zQK^+`YtvT=3pdfwA0$lDntIqa@;YJ=dw%Yw%7W3Kxc^mGfzSOTvGk46>-gh@H|-Lg zX&(EwLmW9qSWMDa7aIgUHa_X)l>?gj zG0{r6SN>}Nr3M)4ffv=AB|m?_h5~KwJ(a?a%$$?4{zTeoCno9oec&FCb0xO7QZTT> zs|`#CCEowWR3ag8sii53_J_%g_}Y$x%+~5NUSpCha}F%5dJ$fHw)77B9wkpwr#qcK zHt?Gd+^%RpI!TIwgjn^o40+syL;N;f0(UNq4S)J#=wjiLTH|NaZ3b~A+|BDEopk1&#Zr`M;EWb5T$*(U9Q z*xtBRM`!016`W`z=Lra_i|bB@q+^=nxN;PPs^1d&vfd+yCOuJ=?(p|f}#Vct)9DXpH;J5YgQsx)0Sn=d7F zdZ65AgEozOd39y@PxQy~52|C6$>~^Eenx`T*(#g`$tsIN?rr(9Jo{feCR((3`bb0d zPD(i(r41IQLE;GK1Y;r4OzP~he^m}{k_&s1o%GEkN6yFo?*CrTE52IEy}bER_y*P$ zj+j2(_6z|rW^&|*^rtR|VQ~d1i;2Br1BL;8_LTdBAz>z4w!+LM>DFS3HqO6i!xndf zrkvCNl+$L07j)*bYxixL`bjEK)<7S%3@}I>pRGCOj6J)x<#E0|B0ALM`og3%WKI^m zalPMAzRRf?i%26anE5c@Z+f_FTW6`@<&^VuHzfTKxu2b#*YGh%0w%A=;STvi#gSAu z(fb3NF<1QEMbBB+as`Y&v?a5j%ok_1O8^E{!Vy-mqlUgV=p%&EQ;t&>l#q(5o~nNl_7~P1#F9iqf7$7e4}h8SCLO^miCFV|eh-*+GoTt& zGC)MUo^6C=6}-7?-MXsj06l@xHR8mH{8>f7BmBMVaV&hl z))9?v?DM&_BzJLhrT^6JVrxYubFbBo6ly$G7w+}tT;Z~`PU6?8+qwIi|9sfHV@$og z3OjjCDbl*Hi5me3dA)3DBLP72ZYl%Zh7P?8^~datnaBXC-3ql#e_vp{2&~{3T{2T7 zDVpq^Q9}N!t9ee(tr;!tN>wH2WLD{|+qP_xl9T|~&YW=rHff!|yceH8f`|SM3%hn6 z;PgDlZvq^X?*k@h)8}il7x8K4UN@uESUr5eF+2rYWHL_1oiZoJVVEm=N-8MyWuN!( zMa-cC@vl^vD{I*ffvgiloOo-mOI(`%a@INxdCI+{p*Qh4)&}6gDr)#Upf1EzcpSc` z+)=<3Q&aGvRAl5*lw!V1rr}bJryc3=a~bah_}~|#Nr#ne$`Tql07CM8{gMAKiq`8s zDqEyGJyR8v*A zZG=4kT`q%=~oejVfuHb7D=;|)BG>D^A*>$7=l*dfugze6H8u76(CrE!dj7+Y8Ipe4g_?9@;PU`Q zdo-YEiL*tG`If0da{B2%Il9gsL!N8ZwLbNPudJBKL7X8&#@W?2Si2wnpMO{|v2vVE6WvH!<>)!O~v!A{zYxqSEmV!t}%w7o? zc?96QKZ*c{2XQs^eA*e@1~W*@sO*^PN8v98o;BW%5U?P^K`!buj?-PI)6A zjukF5A{@JF+YHd=JET?^-{7QY4KJwMb)%GQ8Q*K6bmhJ=!|37lti?m=dOSf`VNS-@ zmZ^e_|Hc7hXvdVM|IszzDeAzXBDGzlr1+WhT;RUep76F*>VKGESv*>nua^kj5yY`NrvZWun5_yE5B9OiP_w zu2-)<9v7;(vR4)n^zvB&vF_(Bu7G-Qu%3`Q$dABwv^4#po8ptR^vI5q|I;s-9zSITsHda}^z#dwp9YBq&g}QQ<0UtA@{6caLGaMLRlA^QOcAl0}o^iW&>{z{O#A0xaW{ zW0J<{%&@$CE2l7voNuqF+9D%2`ymm~veU}HK7#2|#u(VDtHKx0S(b>RLN`kLSIM_)rKHXk_&X zw2nK{-c2}8PH%pz>{tXeLISr8jwB9__IG(S%p-P5&5%JZWtuN949&7 z9KJaFyXr5j21^PP{KT<2IpJ{iI5{cZ1}&l~n=Q=ZS6kc*nQUvfr=eFmP7y1W zNI!>ZQ-odgn=SL`IS840N_gT%^^oH5ui-~ydC?TAf-h;KHeY0Ek;W}-gM@N;UMkZi zvsG;UOuyRjD6tVVO;Zm2E;TYTPcmRVD;a}m=XvZN+w7tv1U?>WIy0MkrH5)UksWVM zp)2dn{%oTBSerG0^haX>zh8mi&m8%5{joz zQK2M;_yCk44g=!)3uJ%N`7&-UjmrV4Bir)d1>WoKOcVWj*hsIiE!yp4Q*_M}K1MtmWh z+%wvLd@-McRg^Je(hRkWsoWh&Y@y9#wVl1Rl;tgF0k_oevrFx8J~KUM^FJJAV)#{f zHauNwK^*n#ry@-dbV}+;6$*n|jd*q7C@OGfuf;TY68$HjX1>@e=~6ER(oJY=h|AMh z7cs-g;oXnKULGY?JYInLG5#@XMgkcE=#LUf)V_o>3HsGCsb$F6_%t=L^v!IvJLmkl z;yBdB`slN}-_`9&8Eb+8PC{qYHBjjKEE>D$Qi0Xqs0c&KLsPUGyt$|(SDd+$Zh z;Pa|?wU(aul2VtEKn0JDMqDwIQAxc+lgFoYx+1mtovYcYrcZ_7Q6f5=N>TeiMrQMk zZGn%{3+ui@67T1pMt=vw35^5%&fO)%P0K=S&n*))aK^KMNGjR28XuPUtoN-QCk`<3 z&XA%sz0b^2+um6`*C%`5g7@MyKSvTsV9Y3ZczKXgpCIT1%zEJXSci@y0a4vG=oK8$Kh7{F| zP`Bz3sJOf<$^`g&2x&kvfrwWFQ3v6nfy2a5?33Yh2K+ zDwI6Hfuv^g(=mh&k^Sgs&md-xQ<7Gb?l_>(nV#xKTwed2wefakX(}J_|)=X4ZR%M#wWZAb6t7N#mSN zE;mEYpPhXJ2(`7Q95jgb(oy4;=YkdlU&)WF&Wp@np-Gy889>V_=0DPuhZrfzxe+U;bde zuTlWL-f5E>C=JD`FELk`6JP`4f;7@$iXc`k1yE+qxigrGJ7gHj9>y)YMNBaJYsyg) zHUd4I!f|F-UA-=uI_(lD&Mom^)dte}{{c3-2wngH literal 0 HcmV?d00001 diff --git a/apps/site/public/favicon.ico b/apps/site/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5887d0bb8f4788c21b86af1b072a2409dd1ca23e GIT binary patch literal 15342 zcmeHO2Uu3e(q2<;ZjzfDMSYk!2u@@AjNbkK#FVcInp(vu*F!tC`Y}im^ zj~aVL5u_-+sHjnr`QJHk@Do9a`sca-^Ze&=*t6f+-FbI*c6N4l6{4AVTQqMjkp5FR zyemW>A%v0==at0I_&piFb?;uA?;yme&xH66W$+0lYU&~37ct7DhWK3~B+j^p*p#O}>0!dBl>czGoYTSI$cqG2o?>}Cm5ElWl$CR=EVnL+MiRB2i%%3(@ERLTkw0;~ZV!Uj`@dNwCnPbPqRPY$krkMztWFqFp1c`)5KN00- zA<>+O$zuMLU=i+OE`}+8AjbFjLQK*bCIamAL|mXNaJq>=djsLDJ6!1W`$kx)sfaa; z=8COrSBh=xR*QAXNx}(oh!68YJ0T)I)JM#V4Hgk@mLkU6UgT%ziQBhsi_53aiUZqH z#l=&Z zRP~2Ap1ue9NRg5}OBCf7ik}v(7hVCWB6-PH)Xx#C=LU;oJL2#?UR2$CEK*l25Qn$L ziPZ_dB0D2fEdObn@C?`_7S7)wDogK*(?<@8t*aJ_>lZJH%Ch_7=9LWO7l{)G(na#Z z4Wg{LQar4x77y=Ni%Y+q7U^43#D$Y5#e@4##O<6rqA;&e6yz0%J9sb1Ex>!BnBr+A z5+i-Z;q-lCd&)L(XzxC8_QWaB39;&@RN)ttA|hs<7ycnzMDl`-;@pXo;@qjz;y~IC zlsPH3Y}_NFqBn?X@duHni1llBi1U!yFFVu3%6ai((~4x2-7dDQSt(LiFBhpu_wCpw zR?d%?bnE~BKmtmZJJNRU+P!D*?sThm$bV(NF=f-{)Gb@LZMWcj8`G7mRqCQy)J8HbS%* zI&8thMT?gtCl4R-ALIx9I45Cl;=K7u32}pmAU|Nr)M?Xa#Lb))KXvv%}?!+_5K9; ze|P-u`%ay^bp4@Q_l_SU|IWMrc<-Oe9lm}4gAf1p5%T;r`}&*qZ@n$O9(Yd(Mao7U zIUj~1^-2C#9V!G9+gT;h5D?pA>4D*`v$Hk7JolGvty-7=w1NG~NQ@4o83C^3Z>viQ zk^Ue*DV-Y?Kn)X@@t3{@I~q}}j|0t%2_`>lof3^+t$T9YFMGJm@D3j;PY-ateeui% zI=FimtzWu;ii;{G%FivJj7wKRSDvHX?0l(AX~{i;T_f0Vx_aRcuMrdqL&p59sjTJ>=m!n}TDG zQ0Vm26rEHeQTWWu6clxUJiV6DmY-KsWyK>(+qjlaAODpqD}QJFRpYvS)@1$z+KAS1 zLGIVF9?~_)dgHRiR9^Og4(v=LFR#Vqjxn@<#}4B0U%O;J-MD&#vTocW=;Dz+pNZy8<*zsJTcO#z?T|SU zzJ)o^Dfk9-WM8_}?*6o$v@9_ZG_M{dqFf3U6_gX!0LWn}-OekbpXN-f(jWM(k&Sv^ z$&YD@{Zm<e=vpDB9gpq9}I@nrxv_pxa-0?E0k(1#FXW)cR3Ogs-EmTGK{N zt4;gMyeIT(Eo{d16}?)BkA}8?zy0uU|J9LcsPYFLC#tsF>NLI&xoPz$SJ0#hs-)ZZ z>qEmjeAorHODZ=^`F&;hq93~%j25tcQa_p^e=Y-CCHl7(@9GcgXzFJ@@t0X4o_Vmn z1v1SF^?Dc|>P54|yg^=&y%(X(ql8G`x-uA#`~W-sV@5+dISl#wz4zHCY#M(h7E&|l zjTgrE;f2#@=yvWMDlRCclESiDDyPz-XQ>4Fr{Bw@@|n=n<%w}mEXMST?DBzlhyCvt zJ&cbD>rdzD{w}v~T)R$XC3mUn?(fgggL_Zt(Stvpp@;XMJX5CX?qhmz@3Dj(aw{L- z^NarM`@Tp96Z?K6)Re^s`UBesrmkKl_2+rsk0}@Hz@AMTXgBPFOj+nF^Q&JTJ}K=< zO(BzEou`jf5+5>;#vX0ewkigr#;2L7Yv13ybrV&VRn@h}ZF3*t%TgBPlCo?eZCIKl z(MGI~*Un#*zQNCZ2FKmw5U$klNwxp=3O!N}3a z8)S|jt@K@?v%LF%@IYx{EfLzo*-D zibyIYJ98g;0slW0`QNK}NJaTY6lkMG$9K-5>ig%ZG%JO|?8j32mQB(aus)nVdXy%c zj-Wd?(&$O$NxF1o9(kLLCf3P&l@FicZ*S2!e;Xsms)(dw^nZSh{DGZyAOSXJPOvRy zUOYf)D}y29QP736(wKAqb2GEa&q{+*mQJV4^E+u_v;{@NK9?4hJ?%f_A2Gj(Y>b^A zG}eE^5d(hm^j%Hvu5oqx$K#)Q`5MLfJCm=u8U@*EOLOji<)dfj#!>i2Ar1z>Himd@ zxPUd7>(-3_Zt`%BBG1XI2|SiH#$U5Xi{dmALO%k!5rGWd@*fXvrMu*^7on){fB(6Ubsl%uIAU^ zQ@5Axdt?0hcP@i9i`V&~Q6AP;PW*B}>L+3lq)3^UuhMnky8-`{Q^jxjutQmxlLvS0 zplC1KEX0m99N-VUZ2gh>kM8t|Fdx-}*P(B1$M*~Jv(jFV7*nbu1=#AQdK!<-_ApW_ z2(Z!JqWBGKb}C{@8!X54jvUwR^RAOEwZz!2Enm3yD9VIoz&;b><=7G)-W0x5kKWSk z^<}bV?=N>?dx_oRbKl>N^|6SXL-XjbH8VpC}_q?=oN_-wDj|B(>w z8X_!`gZ~6!u_CJY7!grH{F_|1LWqyEp?5DLxomA)p%m7PsCqEbqjoh^-Htd;(H&#~ zs*6)7zdTNX;?l!?mPl2}(PDJ3CzEuB5@MNTuQ?DtS66b>9wO!Wx7Q`J5#7i}y&o|T zChX}*r+@n-_||W|itM=q5_b5dS}I@7NRFREH?L<&`?y~Z9wfvK=n{M%-s@#tuA!QJ zANGH|2YeA-xn5U?>t075@m=gu*VE06EQ!)Kt|P<2o%W9H`sqJk3qO2X*y|bCpGonL z%jYi9p*_24nx6~Z$uFi-#4&hJUIu@*;7+O3$D0{9fuV8A&n=Y7mzLDlMH@*|LZx`h z6~uIyIL2Z)`1?KBtG+gV*xDIhrW!Oe*azfIQ6Bab?qVtJ;Y*6|0{?wFf9fsIVUI?yHm`@jR)1C{ z%_ff76y7PL3-H5nzEOi8vgf$OR9`o8u!^9N>E|hQ#zmy(o}0Q9!ts7OrNr@ zXV>%rZ6r+%rC)ZXNo{d^h<6j#>b+PeUmL$B^q=Ew9A{#E;qgTb3it~p{&~0VkdLJi z1w@IwbVu5)z%zFPbbu&>-ih!JfX)1}2b zuQz`==J2_0q`P%>A?7FJ<+#~2_}n$)f1mPlAb%?(@{c$`Q3+WT7?}=v7b5<57gQ-x z?80)yCJ$3s+!w)4i>~Q zWyZ?-h!_;zf^W%rj>CDFjH^Vf=10kfzlQI@^*K(Z(YuX%xU0nnWJNQBd=Q5`C5pt8@?HGKb)u-Kb#Gfm0Mv8d)3JS6}AhsJUe~u|L z@p{@QVO^HXaV!|;sEENQNNwR9_IJc7*8#gS*8H0F{|(`<>4OsM(c9yDv>FWA%!5yK z5^H1@(j1%#=Q?Q*`5pTc=#MeS#T%pmTRrxb;7bk5gO77df6%wtmTD^JfqON4or%zy z59QeGn~=RccHEXC@$YI~KWz>h(H4A_#&mAcexj<c;1Y<3=2thFv@c zyWR=s9!ijNJM6zc#lG(CiG6GIMdl;(ev_%(c0(z~q#NY5BFE zU5>vhwlDL3-BfN9ekk96Xbm#JzBd|J6Y9}y$o9DLknhQ6OpoWtbZBS7_e=HaNNvDJ znTmETFt@&ejd)I1U$qYscGxlSeHU}r!fa&s3t=v1)r;ezXyyD_&(W%+c-ZsVAWrL3 z&F>A>0c$yI@4)Zm z*so%oQI4s-PRi|-7F9@Rgoq10hVO3$U3;Z5kYx{jd=LAG%|Bzkx|Nk9$^2!wFA;2h}liT#vU8ILopHqmmY$yU0E7hEN7w?41>c|H@kg1E#P zoIBud+EYUQ;%~oE1@;g1>(tMe<6JN6Mi%UmEg6lsCgX9&)xfg`xLP#@KVszZCK@*6 z7I1|oxo;z18v_YHx2wpD<;~|btg}q=nT>pw#^)!`Q0@5{m#ezVbspB$QEXQczrFoZ z;J8XA8g>L+2~EMTJMf1BXOHa^Hm{O=aG$}i0sK5Ki*FZG+WOTrhtGJiAKtuTi4^PR zvn@qD@;mpp6uQmllXDR7iNpP!4arHAgEJb%I*Rz+y;o59yu0M=kw&@$yA?GBzy7cR z)&8+(DGGN$7=L~FOL~sIZ(M*2nUCm7P8urYtks9ihj*a}XH)6SjQc0!=9KG{VE!b8 zPbO2u?(Ecik&|X0GQpZ0h&xCe=a>6XA3x*pk3B~Q!v-R3`SQnbT|J&8od>R) z=Pt=0KG>7)Vo$^Ud=5Ww1jk(>qme&03BS<`@N@fR#T66=AK%Mx5anE0M)z-Tp?mq8 zsrbfP3Ug2+Pa`$y?1;{UUoD|OI14SlUrxkPv_fc`~YD%641F7J~ zc6#zKpQ?%u(cQdFG$+W2?8f((&Wm_%H;$jf-Y4S{N*vmJzsLenq)s-1?Ruk zG&jUln!^qg`q5FGX>yr5?3llt&$w`jJdM@J3cmHs01HYCH7DnZeUa}?`?hXwc>emV zr069N$irs^0oUoK;MZ1Ztz$fTSg}v=R`Lqm(un&k;K985n)#(q~cJ)|HlS8(X@tENyz@^s|{JH}> zHPi0XMn`{e_fv+WhE`3s(r$45lI9w(^;a|K2G(b`?e*m@W0F(;jyu?rAHnCNC5Y+O zuOs7+^0XoS;r$=z59x6Vc=U7!eD_vU@Uy?9t@@SF?A5Zx`0g!D+zrRvy?pMxG_PbF zPg9(e0~2FVv^V@N?fW)a+vHj2Ij&4R93{( z6#Q}-u7|jcz+N|uV`R9${)~)ee)UuKYv$uT!q=RY^9W;p8GJjx&K|hMNAF2G$8iVj<+>ntv!Cxwvv17z zGWecGV^jp+j_tXevaeT|-*9>S{{*^;dtblo+##JS;B50W_zl9|L*oCc^5=1o$AJ5Q z*xqM|L3kowcnEhJ^1RK)7r%(SOvc^wfW61Q|3PEru*WLKeez-)h!Ok@es9uH6r7he~VSKlj$@-{BX% z!9950zl6M+y>(2TZ2vYue~}T(SzG1Hc6vW{KkH~8Pu`&?$k`QltcDNBN553%arleP z{%yq>pH}Zyrq=p)6cATP0W(V}aAq0VS%wpQfQbJK_%(aCvT!nUqR6?$z+OV3bIQrZ zAqM!{M)Mt8?!$lU!`L)?f2nLVy!YkcfF(3-?nMdy>u7mP2-m?&GIEA9@M{>HmfZ!rD3>d#CfD|b9w-m zm^jVGg(gn8cEbfHh?j9hxh2ZY)Zg0O=_5QpcE45p7 z=gyroXZm#aiBeOMML{G)1ONai@^Vt@kk8)#ULZKgyZWj9u^8n)fq*?15GeUS3A8HO(`0`BcM_p$Mp;d2r+ayh8o;FkQ$7r*#U{nfL{Q;{C9b*^`` z2{Khg=^ihsC#V&-l~4!p7XbGI1{G)*1Rrc2d~Pm^b!zz5Vdi;I8Ak5`J^2M0{r&5v zMlW43I4B?~k2Yw&HxMcT$PH{_TDFOFlfq~sv9mJP?GW@ zS{>$F^cg(^(GTzw<{y-8(5SrYk>iry>3NP8K9yMTOyg_BYm__xrK^eVeUK(%SiX?G znm%qpDYeqy={l0|BRN1Ax|dWdzy@FhPzN1~@W}*8m?^sq^`Gn3e%lz-F{qq@;~xp*?Ep7V{*bYo{8KG?hyJ!+6c*LvP%Fly4rV&n(? z!FngZl-$GuD2Ojkw_1LtYGDD7hRw1A)Z2`4bK@`M2Ggj7Ul+z!bh>JCgitMlRH1t; zVgay&8Hk!I`AiKUos$ z8w)bKa$N2`Y3h&F02x3b05#*uL43IctVI4I3Lg>%z!BQaOWQ6{sx0YT!Au2mBPR&7fni?su6@ zN}>5O4$R%618xiyIA=`%MTbZipN`LI2X?=*e=Nv6UOtacdRToKZVeEZ^nmNl zs;VK)YC?+n1jHu23DWDF2^2S^X&6d39ek-3)c@S?{G((T$%SQzqlPi5bdtFk3VZh=iBJ~1 zOi+Ij<%EsG8M-ewjH0dEDm zq_ilm2|x2DV1!6q>=wzV|1QGvB2!>gt$%a_-404GX05LQ!5oHOs2SjU73Sru9qnE<5?qaP z0n%s8wK*@DN_pDVg?7W~2(`u<0;zcsLy-<>n5#E$Dkd3}@v?*cP%g?i*MPGj~c2d0VLaDmVRCz!Az`o?z zB?=#MZpUBIVkT!K+_!?g|9JrK20l0#$~8(pTeBUK1^$%+!f>M~e_vGui6rj$=OJt|Aol} z=!fh*$)M@b-9l|#_fwG!h4pOWYXr*xaPIiE=uw4s2Ja@}Df=5x5u9Y4Q}CFnOnR?3 z9h`PQY&~x5lpc{1J^^C^?P!h@2`F;VQ_wX&A`&QKyVRl^N76z5&|Wkh`y^QJiG3M} zTp>0F0g~^mtm{EHqP^BCmsoT9oUOCfFd%N)SE}!yI1fQ)8^^$#jm7x?@7Y>0o8@?`LFxfb zr~A0Q7uYj<>|Rz!g^~-@@qZ_O!L}QhSpKnT-yFgs&^GfH-{lr#Kxh2sisM|7&S%HI z*y|Y_C!L#9auE7=4|bFIZhZy1hi`d={VM|d9}q+5sjXsHrw~%tROP3k#O@mUxo&E-YYt(0q6L zWI_$it7h#fkl2B<|0iW{&}UJQ0jeLVmnshq#nS4F`u_Dr!d4E&_4}EpLF>`-;AXIp zZ;&zcM-~e7gjplHsU~{9%ib^s*z3KZt#=`q=;mfuu3U{?fztG=-LDM3f{4st-xLZl z+zegGEb0Vzuv$aIBp9Po5M>4U;-wg)cI0LWlF!%q&J2Yc-S4OIRLz!9C9pyVd7WV2 z2dE@j;m2*rgD>_>gDmL)ev3DWdAY(rJ6D61@7xWVw}n_mK8Q<|bLG5kWAja0(U?6E zH$0z^#rNJdf>JPL6`02;%`=OYvE~}(N;%!!?rJ-p*qt1g1|zCE_*ef0@5pggZ6u8X z1K?j#YMFeeFQ_k@xR5VPnPJ~&kx*i-&;-;us_V1S47;MUHd>-1+OKRfovop{O945E zt6@ewM@kWHw4qcaVd#s^12gxm|LhlslG(Z@?}g!ONuvIVMjxhhy8TBCq<7we=0S&&r^ZPwZE;z4ug8BQ%B)3ciQAaeREd=6HIPiK_m*$2W zYPv@JRXfLn2OOZ~ozWi=odfTKjO91=?c^=rvQJkS*{CnkzV)-wG;wSBZJ94z%_nU9 zZj6XJ5AjsGM?zJe1Hp#k2Ls}FAXipkpxi=twdSh#dPm-l!k&oKOH{YQ8?($cHA`p_ z>8+6#_LC11vQve5)UNqW?}fDX#F_OtbRg2-bkP=ML%ofgd-KUnS#p6Z?0#|uJ@dg( zdCt$W5Ajf-Kn+AglXi9<$x!l>nQiaY)d~ZZz<$FOFjwC|{oVWJ6Hz^G;V9fkVy`F6 zAH<#(`!~YNgC!K^a_lkOiT#tjC-j*8adKkD`=Rp@im+Y}VxEh|F*~Pj<*`H_1;xS? zse$2%FA|_)b^DFEai$aAhMGP4I=S!lI)8bkro+gwk%1;YPb#VE_%cCHoJ8fn=q=~& z{VkL@18Motyijf6KeXCzNuaLHY-_HS>>SG}7W>M(Tb zB!=#Xo0rFQviD5cT>Xh1wkpfDAqS;Ap{OXVU#`^XVng*$S59PG7mhv2k-6TfbVhn( z5EN9}-5kM?{557RC*Tc{(D4bHlkKPmJp>$={F9z-tE#Hw6AP1K$dy=5I?L2;7UM1x z5Lu4yTC^8gXe)0av9LL?(KI1D0WsmiA`Id->DE z^>2YPjC|K~9$v1LL+I}Mgq&-1Y!o4~|F;=UN_zUu{iMJBaviU=EU!aWnNa}A+_#_f zHRQzc=y5}kwYR_n*nh9P-RalYq zrd?(It3EScvRA1fAwS}b*s|wwFc0{_xS3M+NB)!+nGnTy>Hcw>N;-3^KN$o7$UtBv z^)G})^NYk}EB5R?Yd@#Ei#i=F0^YI1DEeSf@POrttN zfoT=wa`KXfC}c0adw$Ppb_`K6egf|u(_AbEvMC92eBaSS=A9fyJQd3U=g^q*?wm&g zja@$-9_E}0VX8-tzf0Iu8hD`Ml+d(cNX<23we3A)Dlp(qf+sr(l&R-zW5t5x_)_Ms zZYWaCtTcoJZ%RbT!3squ0yEBk?v`(#WXQy*u_;p(?p9J#)a$(ZlnCjRO%A%#PJ6kD z_{hAZjtB8XMNvwUyOgm~)HStI>Mi;z1E@A^r~vB%GIKB`b@T=K!MEGka39qb`>DSR zr6k0Q358MpWyqbgrR5l;wVqt2KEYHndiXZb3qW1pemp(l{3}z={Zovv^Ua52xHQ6y z_bG*)Se!I2Sm=q!;t8@f+g!`A5bijQvh&D#HI=Y)0N#9b`lf~e*HUhDRFvAsSlGr# zLh%7U$A~ob86DB!m;^z=$(yS0v3O|%kRYk%;$0pC zA)G!=+P~w8Gop_|2opK1)K)V!eJ|43wwE{9u1kTh2Fl4oSY~RslD!ZHpPI%i6mQPg zwb^32cY~hX1_lHRZ4Sj+ge-wf$ew_X9v22zyt2>-_L zd6K#~Am&##RqTtZAS+tP~V=q&H8Jt}oXo`;z(wTOu7?)}2&uhPWOSp7?xT z!{Jh#bJWjcAfyT~)0yI-T817{=dmU91{4(s@*P{K*AZkvhLa^1g-^7`6M*J?HY z&9QA?y;LdFdB_Snyg%_gUxx(2`R3GxIY*}-?H}3JRhOY$DkotT@O?%fj~Y=J2|ER_ zy%=&&wT_)8_}-^G?`Jt8H7Xe#KtyAWnTcM^K@f2B=jL@cSC-$c5k+~99XZs5U5Xx` z8Xc5x>r>6Cu0T9I#HGwpD$kL+U#@Lry;kbrcj#a7c+0W?!Hlo56&POqJr|p%-GK*h zLRYhT>b6*h3*W;eU{FHE$b+g++ERXu&b2tK3^g({uaxe|33{%+`Q{qm;2O7|g&KIz zJRP=s$jDb=^U>3$hd))|prk}Xzk1jad1KA880GAJXdl|)r2ve4i8}33#f6#D|jaZ-)~6+9u|=@(xln(sR^SnqoiiK=s6iICry>fr`<^g*g=t0at!ii zbJQ9L&)f0=-=>OAmpA&21Fv`pPfjN35xA7i-}XuT4(xMR=wisx)+!N@BQq?=hE55uQU{G)VEK4b;?E<@Hl<=8ahacsHTvQ9($ zTZV>Db|E!DRpfCQ|91Q+?p~I*pJb{BAKTvUDUm>FtN;oa;VYPr+fZYdk7PEe5F2U* zd0PgV-n(g~k|YZb0_GI~834s}SOh5u9WeqFDJfO-S)u^_N-EoeW5l&$gEDpUG9mDu zpj7FXFctMQR~#?T#b(X>8>+{ds1$iVR-DxLh=DduW`eoj^~}V>BWs?XiKluI5`E<2 z1NqdrRQSkAaJ`Nu}f5>HjwQe~)2qevWs0UtM`_ z(f5))(DP+#sp$hf0wce&I828+L_OMzQry#t?aC`eQy`9tCbPN#ezhsuHj`R|!RPt; z@aV+VT4Er-vN6S(KFo6I^{^$ud1_}0kHxiAGkV05LPVeiuIOX(I?hN_w@>Ymz=WTj zZ6)d`6@%4*Sr&JuM0}1b*UOQ+=lyNYvC@%CMz@^EY-wddk`eqn5p~NZWe7Z%!Q;fU zLpKizty-nz_VQEGtK6#|1Stcyn9~Y)n+Rt{SPgcX!vPb|-B&?{tsXWUFdH zU(iq~U`8}ES1vjelm+kGaewK=s<9u!ZP8)283?ED41e-}w( z?Vp^`=Wq2TJ5u@&8A?-1QDG>Ue@am=o+EhQU?a1bY-C{0;99v>R*JY4V;vf11FyH;v?hQ3CnWr2>imn~~uc2~xBBb_sKkhr!JSx>+r!K`hv9G?`|>ACc8 zEClAU!ov3GEYUj*5uf=%t~3}|#8?89+9I}ra}g|9Df3Ub#^0cl%T)LJ^411R-JSOP z*#{^tI^ze%ob0#f@3Pviw{KjsIX{rY(V4T=B>3`8Nju)RC5(!u?SdG*fSP89f79V& zc%G3c4iAsF5)ZVgN+^j@u@EEJCy?cxe(TqNgKY^o9$X+ZLkDI=1r3|W%P$8Kn9=hK%oyqacnMvf8*I*ohfin7uhsC zbSY{+9~$jxG8$qXN?WkGNP7?k->FDia!~&@n>qn z1rdAcHEty9DrVt`sN0T|B=S4sw#)`D0h0>UCBNB`-3-gRDk3KY?{Voc>VSrz8r8R1 zW?W?JswtNtuBGk=03rwm%7BR5O;9cE_QYwp%Xc_BViXBQ9CYV*dp1imnmuOszD~IAkEqQiAP69)wP~*5%Uf zi_}6#4#9oCbR(K@${;R7S^20PzQgv(6!6?Mv_O1FmrKkzxx;xKv7UP9$+ZIG(1L1l zVLK)RP4mt_n6dMCGJ)lIcTBT5tL#)5z@H4<5lw*uhA7@O=oD>jjLUCdtcuMfJu}}B zIC-}{vrvgT=7{BV=>G17mwx82CRCpLCOEv*8XRkjp<0Sa_;-Uybst9KCfZi61Ox-r zjIRK$f`74?-&k2k-^WVIFwVwrtBsoZTW7Yiz@H_kLuMo)?@d6Tx-v2OOStQb`d(Kd zXuE8m5DMgcvf<<5cRilv_0BEL?|YXDpKjLsj%%|W0~yHfbbaBb`c>BNr2HYOv@U}J z1M#qnupl&47(x$Joeb&GPOZ9n88)x*6mRhXzKuY=$V%oe!!Ov=D zszYy^_9I+wE{a-*EUF0>hW3tUL|E1mPDaGyD_z;7Id67R+|)YEPT|*PLC^sE#@3W{9#s zVN=XS$dK_7n-YDs!*{>puBd+7sOU9c z;fdctj|l^d7P-LWX}Y-l!xUo}+`cYUg^P($EyB;SaDw(tMgFq=MCPS@&xMCS=q(XW$%6+}v|A+YeLN;NwS#)8=d~ z!IPET*u2!f6s2s>)8(0e#IGG@rZEX;@hB6^a=2ehSt;lE4Q+={aZTz0`kSY3&!T02H>i8XY z-(`!ILd9TM8K{ah7RZxFT=9_eWks5C#y4D8>TyLwTlePeGF+3S6mRaa%ku>vkopia zKxRUJVE9!JR|3nR+w7ATPRU@DuLyM36qO8MFLd=@oT@iYyQ;Xp5_^n8o)*(4Q^r=F zAi{Lor7^DK<0Vk{Z9FCejGSprIuVHuRQ7au(_e7fP2cDU6<+ZuJP|0NDZvjWKXQw9 z69~naZoBGAS2O(l<+59m0nFn~scl$~9X|SW9U0PRK)o2Dy>NB15-4#~EldtqUPcZh zF*og&BW0XjcHx@=AK-yk?v<2piXI~)%uxo3+#&fUgSXs0Y5xcX%c{>*0}&Yd%S`2J z(z!e&47wbFxC=%;P(41E445M@5g63O@oGk2R8*bNavaWH&t*O9ZO?pgjs2jKt+_s{ ze~GR>ar|jPIkL4M+Ie>@z*FrV3K=(uG{3PiMUFb!68w9|g?M;Bga*lLW7Lug_pS6q zfXw^Dva{6#x+4<}LzR|+je&yDMUkFHgQ2-{qZe|aY~L+)TxQ{f%&4X?Dx;spmUAof z6X#WeUT@*rOC1hn`re#2YJ@QmL3B%{rewu2|5vBmZ_1y=DM}6*fAAc; za(kZ6Ka!NJ4;88D;|A%YWL$x(YcnGaXd**)sy$+RtzQ+GMrYjPG%4k^ed+wyg!$q_ zOWPdh>*Qbz7v!xuaupkQqf-^zu6`*-cfQg5NaHMoKKeu8ncA!5??(%GLx(_d*c6!}ss8g2p&XUu zI%bY?uE={bu`^d!1q2ug*R$6x=Zx=VH`epHQjFmag4u$e0)h9DEoxsdnH1X7iBtL& zvSKaNk;uQzlUuxtgti@C&n7ErHu+p_O|OI5u*yZFd{W05^NIvV0oF08|!v4O-# zh=YEc5+a07xP*@d$n=UWxDg+rtNxa!#)O~^XW%URTsRIjdgirN)>@* zTFiK_eWism(Gy|{bo!~(eh>Ska_S?u(HpQf7x&+*Ce^iZUpAx6u}%-#{1ko3t+7C7 z=pDwfr!7OYnSV=hJ7Adx2Gx+h&3r}Ka_Umc#H%F#rRKQmlg@|jo2Q1U)ua_CdY*AF z!nww}myN}ch%%f^K#mxV*y!h5JxtDAi3Avgu(&zV7h4I1!K9~#$MugV4$t)m7&M_f zjw+HhowV>=B`@&bcuS43b`rkkxUO1>gYmtj^^=P%}%^lv( z^tQP&=ixQ9hUY342xrStdK7=#eqJj3mupIV`Xu4t=0a{k(Czv+!s>JISlf|*1w9)} z{qj!Vq)vvv?X$gnf7(-SlVNzLN&!MGQAXNbt-Z?fI0L7g`%u(;N&&%O&Dfco{8}sH z`{`WEWq0bB*X5D6m+hJiDyah%B&IIJj;%gBixLF`+_|-w4f!HZ*m{1H9E?+7BjRf5 z)H5zzOS^&vyAtsh95xHAjrJg7%i-}6)lrGu$f!!Qs05bO07d5UNvr*!cjw0}4rB$y zF*u~r;A{np1$O9%w@hXU4u`tRek?F@L4ASN4ygb-98Nkfg@Gu|6Aurm^bDgR%(exm zC|kC097GM{oBcNeq2lVjhehsNh+XE2^l_oqloO1MwFg#@G;|>K5sLc`0vt47{B3yc zW@0-v?$)v*+h#q|r1@0efcw(jKL5qIVc{#5=sTF&Zv z;;>6)(5ab0cZLLd>O9FsP^T&Kg-wxi zS_m@KIzfs#BK5dgQ9Bi2P5l8Jyqp9F!Sn6U3JWtV=)LT2Tm^gO=6F$u8X} zYIF~CHhF^vn}K;GhCTM`9{~s$8Jm5u?T<#0GY+!#z<}X zH>FQ zIT^bfFWf~ecW=(2pup@js_1r0aW?a*J$~z!0zG2{xxBj7?qCWlK)H9Tae$=5*H&5Z zsl89HCfY*$6DG_d@SWgr(!)kEVI=VUuz=r|EZurId@7>s6E-9} zWJnnNmF1ROc9iHAVN(XMc4j9RFLC<{nkdAifF- z;Gf<512HhzrFZpPZbXWOTy&zL0=A`{kfI(|Fo z7U8+eus`8G;wecVV0hq0c*TAcm_{ORgd7S~+bEgoBX#hPt|oa8ACLCu*+%;HrBnmU z@yJjUIDS{Cj4I9RsT=)^VdxNs-Q{A3t=3=l=DV^wqBJw+mOoQ^{p+f?G!JQ>Kv+=v z@@(gH=6&{UyhfB@&<9NS2}&^t%Gao?X48QH19+#QZ%TlswuaVnb7*0Zn~MFvnp4jx6eKa0uLAHX#UEu(!HQx}@;p8_ky zWt_>8Vh~SNIH5U$zlX2&@~sl$-H&xApIEZG z;L!#^ur5s4TP8p3)*G^8(wHxEo{LmAl^IKl8#;JDJ}Ybnc4B<+Wh3-WZO86+j9o1L zjd7GAS$R{2X7P&2aU0sTk;S_iyg~pMr#Pl!=b;0f9O|9#xg0&#=jdY z*?Xt7v)Y4RQ&z15)aMmVT1hU*9EpA{w%V#7v~df4UO=8dZ+i>k>k$ZRK2vDAfwCs^L@!i;v+uOv<3@-9418J zh;1sn0wNFtj#GD6vRkR~L}QcgOF-RcH{kA85T5F$BeVNMo#Wg+R)DSo1SM>Bgl~4> zq&b+QkO#dG`+ED&#rsvULkk(7-dk5r<+cIaX9Bh06Kac^J0htS{8mFZ%p#blbptmP+v^2|`O^urA z^?BERT`>k}V@h!$FtZ2mdXrqS`mp71EQw2q;_{#TukA9#>5gZ7e6xuJMDCpmw(8V1 zS;>VKdc3Wm({in+KD_(t5w|r?;gDGj7yF(`%jevh3Q>A6#*Pn2Ui3E|{7l}*o0=9; z{%kFR>Tw=j?nBk1;d6b$-HBQb5~zp88Ki~4#T6}hE6tJ4eV?*fA$2zjhIeQ@dWh!o zE*_fD#5%O>bi8-x8C<|2FIAnBM^d|f^JiUA-WL~mXNu{~^=V{ZG~%snevNWQQSWpA z6&DE41WIIz6o}}TWRO-BI$uA58ouy;l|J{~E_oe5y=>_<2LPoP`l<%cfsauDz#4pu zl|1^xc;Ny7g93(Rt&5oN?@<4e1_M)6P6~`V0|W^zmvjLz9bzF48};aQsgParp~zul zgJIQk?^vawQ8K@C=RLp>NA@-Os{6WE`!A7?7y44d?65bsqa&dMSf z`om6NKN9RP+;?R(y!6Z+XTdmeK^mCY5%2-=HV7C$q5;V~Lk$e3);|G}F}$gN!gRy0 zrU{dm6gQVf>(_L|GO-#cF=LWm^<$eKqIu$mcfrRyAH1nv^)JUcieH=e2mU2`x|kxp z%(~o>#i5TGjcRD1a$QDBAcAN9cF~p32HuWS7KG>-pm`iiM{ZX#@5tP$=}z6ohOz_* zX+045aV^ec@7^>ov?U7g!|)>a?M>)U$V1rF3*Wb(D^I~=LafCHAyWKMsC(GNFf!~3 zhmO=o2uB`OG!K&y=lXmaTVxGi|Fx*Jji4B<#p8N+tj2YCE#dMp=HxJn4o-l%8^Q12 z7z(TiZoq3L&~j@K$wKtFm!-EQ2)q=k(54%2p2*HwsW5WCcF+$+@7{KE%ee$Y{y zG#9>myCg$OVeq}_9YOe(X-G4l!eqTOOP;i1@LGN|ul`pg5qC+ndL`va)`cm~CG;kh zScAtecbg4Mh{qTG2lE8Nhrwn|eLq`jVPRvKv}@_7>R+$1KKfZ{6Y*W}OLY(AvlX>R zPg4FkkDNUvWLHd(dl2#i+5Fb{RH{HY0^HtX}U?I22|P)npD6vU?!`2Jk>w5gT8xk#l?^e6?fKYZ-t z_1p;?>9sIq@hJhxU;|tQ4w}P;`WF0B2c4yyzf3{grcS%PkA_^0DzbMqWk0>YDj|b> zOO;%bpu~Mp-8C*{Hb$>8Azq1k>p-M$Ki!RF0qxbF8tQV>7aT?}R=kZ+-;;%n_qvqW z&IPvK*r1SUUci1+Un*vGd7-&jI$Uavq=mL}(6V>JHU9Y$(3wfPrT!DHPz8uBxHFC^ zTn?CVrt%yq-YTN5dS-WAZ>ky5n^V@<&+xFNPg$|Gb{W&>V%AJJ4wgbyc@r-1KuXD7A z(N3JfzIajJFR14H%{0ZDp%H2;&hhupQOj{bC{(YeoIt3`dl0a9eL_`CNFC3)sp7 zzDA`-)KL1ecgS1f3pDNg$`Eb}_U0r6i&#=(4QtfMvPuJDL%V5R|0J&H@5Vpd_eB5_y;ND69;NVRD`jl!(!weQpR%GK#cRf%k zYc5UtVVZwJXvbr}L-cWP4$)si)c^D4UA$h=W$^ls>Q(`vAijx{*B!I~Wm!)$dI+1r z`IPSD7a@-|L_s3YX#VYIQz!%oZGsopcmJ#VW6I#D`ePtQrt}7Q86pI~ECNS%E|#88 zfi2v~ub(dS#5C^nsc0Y`D}$F@OTV*ZUYC;>Hp}-)nNh`}Hor7@)RwENk7rm2!AKFr zfJJwCCi>2IFrN8b{pXW_|0p#is&qPBh|Nqrdxh-9?B|~dKpb^ipGRN8aR%*v z7%}@w10KYvEgnfcRj-|58bK98^EOoZkd6y=ep}WxmiIp&A1e6VFc}_waZkQ4mc62Y zz{L5xRCS2PL!*d$iI?}nPS$OObJxTTQua!nHxzw~wY^!(TN}Qy<0(WCm)1qtczu=C zby@H9)Eb%BRleg>uYW(wp)XmS^UL@Z&4D}aHk@St&tYI1%wY>;O3xiQwM~XNl=hwV z=@iOO?bVKTm%{L}FUa!`rsF@?#S`Md&{yQh7gJh~Gr+&sq@ybik6C=t(CWhzc@F5l zzB&Q_Q-cr9VBl8XNjzA%+}RL`rlM)D{*Ncx8hSAD`*QqB7g}lyS-0?g$ts9{B!mj5 zs^U9w&K)NG)4U|a|pt482G&dLn8X({o&=U$C(k3Hz}Q3UU7P>Gq|!G^E89` z31ncQXeW(R{fVI8=M}pdFT(;Mg8u77y66yhMH&WIthl?EGS;b+?H*a6GaiJ;qTigg zjCnjBc7l`?5le*)&;@EgAa165s~wMapXWp6;=?0FFNuIx+WP;*o8L*WoVJxUmM7=? zuL6?-wW}}3OhJ{Ec_+S@kGTNvf23GR^1wVs^6HX)uJf<11Q5k=j?oQ`DE-P;eOnqWed06rG8IgWflf_uB74rO(UB ztVZt2=4+*AtM4)JBN@2urB_R6#uGSrtRj|Mo^ugMVbe0K@1B3yR0i_PY_hq6A>8Ov z_XYWEBJtO=&21Va`WR`|Lyf8wGc#pwNa&8Pblkf(3d@EBrRO*$xA-dU6??n2*zN(h>3$STGLQswGNX zlUBCmxV@!?IO)4}1R=@<7v_Hlk=h?;Xt#(())I0|)T=9^>fO5uLB8dg35W;Y3u1$K zEK2D7DDH7Dwz&Tb_r9-4w!`-EMtABcl7cc#0RLKapxt-@1Ag&?+Q1}tx=rxjid6Rc zsw%nW)qT~b51HZ?$wXRa>DB0Si}%?Ci%lkE6qgnEbPcV~nHQ2D@zY%5V~MD_{_esx zRe@R1k$Uo_ui}6L1W3aH;fY)H}Xml_xfZl@|*W#C-CU>d~6ct0BHQs&vgdrR(t-I(AxqdHr8h3 z5AqUSlGdUAjVF2^OtEwt9^^$i(WTlc#gPgHg~ysZ93FE(5lR0l0fJBubq5Pq$s0nW z)&7yIgfRT`17tQ17iJIdxJEh+!7q7UQB!Nr0jzrUCWkHhSgX!^(n4>eJ|4Ve+nZY+ zqydiH#@%Pnp08C@GRt8U-|o4~F-h;Rol|DlBEJ zT%<;^eg1j8ml6aPJTkx5rsR1i#{!6#QCEW~;;(8+erIEtg}^{2$_hkLUs@afRf5F8 z7S(O;SArfw5SP5T=J(xjBC>vpZkL}*1Z45rN`8NVytzG)`<{>zJ@ky=_Zq6*S~^Lg zbkTfv`FpGeOSPTbA)Pg25Mri9^S)i+>MNS6+KKFW79P*$2GduU+rnzrvob`L8uc_P^XIZEO z9_(VPDSRf3yDZPDF&k+9?+mlhDo8at&gh8t&w~rS0R1R?QT@Xf_scdUYr_*E?ygDF zCnFP`m~VNqJ#GbE!USJHyGkg}hMJ3d4N`5VQJuZ+@+Kt7l}-z7)vzI5&A>JpEUJl1 z^97-8oBlvtPR5-&KilPXA}fL1sV(6dgnc`#mdz0KN8FR7XJ#!a4Cv?k!YUk@xAB49 zT;&xo0Vm?T1Pc@Axz6NLY|%GPTkSu^5#V!?tcx>q$zdx5LtVn8N?|Sco2CZKOMO{>Jha_Ti+h zY$Wh}<=a5^Ra=0CQjGTcVyy7*UVjE0&a7kGY%ZwqLP%j))sY!V>_S^& zal9+=g+-X|!)Q3@By}o`tOq0C_6cRFWiANm&-s@xX$@bO`YG~;o8GJ!A!yhuW-Hva z6a$3pFu@j<-@!W>Ea}jC_uW*2`FD77q)NV-xMc0Gx}fZ_s zkYW;2mBXfV#4p!(cGY zGJgxB5QPb5>Xls z&kx&9kl#t7%nZ2Xy#F{<0JcZ4!Li)CClEL=Uixg%`_Y|7m9ak^$W~%@-Z-Mg#_azqKHB(;sr(S#xMiFn4mKYKBiC6+8(C&M5#{uco82VXGxPExnu15CK z%?g(Q#sNayC-bShsnEjq4yq>nzczhgGJ{fBmKJdjAitfS$R99rqTU;7d#pLp^RMz* zOG`S$bzI_1|C^Dd%ps^JEKVt`tQ@C@m9tVtn~H%}$8F7!?pALoJk&*QJuAIFz+?M}E{$g_&%f zmWLrjuZ&cQPTu|Vl+06+!SBw3>ikQSdh=O!+X%cNiD2yAXVodM>cDr=9!w&8Gw%aiUgW`+2N_v&c zuzsYMjkRx|HBopWH6bmgoAsL85H(nZGaHEk7LqkIQwFauUbxtD2Y4^3ppNT<&lJSh z9=}3bmIiRwEdxNFN3!hJwn*SQ{=GOK(^Oq|4vADww6rHqI^T=*WaHp^k0ZW6dKLm8OOe z7Ry~4e3I;Tx@4*N?-?$Dx)(;(SgPPBi8lY~?*>G6<*_mEolkqpeSU5j7n_UI{Eo7$ z`$^PdhwDCF?!Rd;{A-I|h?Qms}#+((*8_me8^KJB(Ar^T!2t6aW9TVh*eMVEhT z3<6byO(j4OCF-4mT^ZDdZt(RAwNRFuI6H9PyL|K5cK$GPv)jReSUE#86{gL{ zhh$-jIDJCj?U`2!&+mRUN;3>vsH-NX)pkw|XD5w+r>(ZY&q6{V{LmQqip@$9_VRkI zLiI}P+WmFhSN^0W#ZQ)dR$Uz<_Q#vAX;dpPr`3Bl>KtLr!(^@#!d7;XX1b@OW;$5O%)MDJj0v zWB387!^kNQ_%_M#$q+jRTC^G}I{p;S0BjvFj}Dmuaa0!FDvDN{(iqihvu7)WMTHi& zZC6h_87jyxtPGRm<6^|r%CUv;Bk1%sk88I>^0~HH0!g?D=k~IUdn>kvAi0&KjSCw( zQ~oxONw5gmrub5D%NlwJMG-GF;>HjaUQ7;@BVIZL-pDN2QjeNAP=V-V3j%Dr>MJJ&B8M4vd3s|co9L2 z^47%fuI`*f@k4EmBTprG5I#r z!bDjhZt0iI9KcKm`;rF459b;RpKc5#Gq}OV7xB%1l2aHdY@2)9PZt^LdEI2aC*cbz zZDWjN!RaFCSZtw>w67Fv=ILK0(0Kfx0Kx)2{i`qD>iXoL=IC$P4*&M!-=0zq)t-0) zy}*80g@msOAe5rFFF{Z5@M}SXHoIb z$fi(eLQq*z#$_wcuQ=tWmyTcrZuqa+_}u2 zIvK;z3tI0W77Y{7^+U^f9e%}_4{X0 znm`p`1d>t`Gy*JHFpI?tW?|Vjw(a;LMpy`e5zsLLZXB?bvS7u#6<`Dc{OPA|;+)x2 zheawO1V6j)NgjS~b+(GV@8D|!fTDJM6$@rJ4SNy%>RWCGGF9N&H%mla)6j$ddZ;5+ z-bvF0jr9{)Ftc%3&p~K{aTR607$i;vpA!I-R5(%&@8Jr6lP+6DgVLk^9FGix+ z9XM$l$1sL>F~$fmhIci_2r!0sHGIDYAg>hA(0?KZo+7uMKZbY4K&!FH9vkj+z&(+l zS7Ux8K)(Q@R60XAe(#`Ml0Fio58-uST6dc2zDI(z8qiD$0Njuuqa- zL9wSV;m!bK7#6Y-aY`u;9BDhHfSLhn(-FW|C1U(YfVIF+fUml<=;`~C_}w36G(Z#L zbXCXib+@oNwW36hhN zP;;N%ZFWncn)p$Am!kTkk;z6{Fw9vJ36*_jq2MTqbkUmIS*UiKN1ZtxSetlS@JX}f8?|y)iHI*!iZO29r*Ab zytw^|GU5vJTrX|LWIw&~#Rt3i#i6nnA2z^aNNZYLEhL($AICDZj9?nW7F^@$>oWAJ zj4(t z>W<43G-}s1zy@F=D6)-fP{3h=27M9zmc=pr;^12jnmg6yi$m=6Kv;TpyI(kg`t>>R z?h9@Rumw}UZmVB(vLS3Zi50nowoj4$^}%Zv`G9ecKJ9ysBMl?RHK8dSWisL-zs~iz z!^qnHwyTaJL;7M&LfWu@Xy9sXbW&9Lxp%ve4hwj~_hj7EuWO#*2IKs9lCCZ8D>9~s zH;W-R{7tg=<>JJSn969j7!}wO3q@-mo-Sx_x$uzVdjI!wu;9>=FW=!q6X}JP%Tf@M z)h`=WC@%AoCd+B@5j_Mqm^*|Bgwal(&3m=8V(W`}Xo#vnq-lz=p>v=a;9-pCHwfl_ zQPa1V0z`oE#HJ7y&<5fKG&V?bUXOE0V6?6rkzXa9fDa$MJKm|ZhRJ~?aXl>E@h)RE zWxpVmce#TCfIWi#+auFsPt=kL37d6C_ih3AKj|+=#Q5-9j>LZ9Dty^hltixjh-f7P z1csOCzi}H}S7YfODZ!Ny=BY9}CZP%^uiKR4g$3FrPBYN0_or}a%PrU#YoFQrdYb> z&1&ItcFRaX{634&Qs3)N5*D)VONVmelMx!b^}4`%>Ul$sIjhoXhw;k#miq8Bk{-J2 z+c^&7BJYAQ!iJ5=>HBqSGX%hy3}3{cuSBEn;wJkGz8=l6k{u;av6&6*Vi?om6o<0j zI!`UlR>ELl*K)2x3qD6z7kaR~bGqo8K_^TKdPnXu%xNNQxOGlxdOH-I0++NK1`2o| zrp#|sf00~=b!l8bao5BKF45`0ct~O=R6248~UxS?dJNWlXxvhd)(fKvwl~lJecYi zBd@Z!cCeRqyxPS8L?}3(`t*x%dXMnn5Oi~Ui*-xr{@ilGAfRnI;6LT3n_s_>;^sOa zMs0v*mR@!C7#{bqK0d53j8`VbkNCanJLtLnQ+N4z1}{aye8x?PkC3QL78Qyjf>)PA z$Z<)#fZJvK;w@cJPP)wnKfwB#EyUo<^fpOX)vRR1SiLU-cAIA!n7G6<;-nol5;7`l zPbAR3I!4J`OuCfOceb6Y)$b#}Z{S~Yr$173*?d)A`pa#}=zG(5UU6XEFODF6N6_L9 zdjDDIXwux{q26v*~1ax9INj>KBc1EYuHc+MZ;K;Fep)m<54#@GAe~e zGOsF!o9K^Qso`M0X~d7*hF(SDCgM6OcR_N5+VvzQZVZJ97_g|{^Q`-?naN7ahYZmM z?)EaP%>Tr)++R+rD-?zpI37<$gd-T78fTqisPh!C^?zqjQ|gh8Ym1cx)SPU3mDK4o z0;d2I#;;-dRYu_PcC;%fO1W=|vwD;|DvL?^g|RNAA=twyQAT;R(tzobX8D{)N7vu! zEW3#iU!h}Rvb8wwy_g*OF`7GMDEzXZk+`-JFHX+SCawAl85!46+L>GN@W-cd1L?=w zfgmDSswzy}=DR*+E|2DN@n7n-E;L?Qb{h1CZF5eZXTTeCj-o<)4Yz})t&JuKW{sfow4X6QJSJKMPM@WEKXE8zb=#O~muUE6KPQprmtI{Or zg8qo97r&b!QQDDHD`;fm5VsmgnH4xN;4Yju633~_7P$X@jKX-G%>@MFJVFz zGt{s98cjr{^(X2=i>b`P!sAS8%Gzdh{)x`tlk;SjQ*B$8oqO8?8_o6xB0ru?j5rsA z62Pi5hf;VLuf_i53pE&PD(77TMc%fXC%o?cAGLyCZ7!1oojngEEXhxrW2Pu-3(;x| zn=PLVC(TrIbEJ(am)w6xV}ocpc6w*JEn);@VE%I{#2-Xp1vAsxTbsPdpnBW$dSct2 z-BRZnY&~R`;>Q(6VK7W5nswvlBkWkdqK;@pHw^()!6LBP&C{<}py zMJdFnmCd?{<>ST4eenzUyqa6~5KZi_J?qyq=oG|6z>>Y;Xy0+3ec|#$V!USfPl{~S zsjxa)71;V@r)R;Q)l}QwKGh#&>+#4(F#n7kFKwbaC97L4BZ}<-FBtnhkSvw83;GhF zXz}UXPUbvu+tPDa_a7QMROBe_b>w9oBnTcBHHOCX)rtwn@rcuvRgVk zChpb2A~R;(evS|obL}&utd!o*|L<+T`z0`@Y2sN?qQk?8E$Ibru$&(dyk48heIovY?i9QJAqUB^I#Qy$ z<+4v4l*6}^-lsdAi_{aOq`(dS^Dq8pRDAgKY}vmK;gUrk&O*{vHPN(e9g*8-FrJ3N z^6u9#kXim&Qwqnjnjq!A-5z6dU%2*3E8%dWn_x5xZLe@QJwlm0S<{3|!RtSb2Z5k) zBj46!?6#Jg=eZ4|zqy4>5YU@OoRnUHwbZ}DDlR!yi@khRltZ#fo{9!pbJmu zi`&>6+j7>N%8Zaana#)5mWiwMz@PTB5ac4q&5Znaub?jso?dGXvBbEV${`z(4Dh`2 zTI0v!x`S(RF=qUXLf~DXV7wWJg%qEiOC=y zZP0RDj1~TeIB$CgNH?qZB1XIEfALzf>0~rB+wd)f^P<+;!~kxe8Z&~X_>`hchC=#vc^i(U8AsLZ=|BTM!P*8 z)%2yZ87J!hIzrSPB@Kt-N-mNnwlb0dT3VfTHMsv#PrbeXBq^>baYQ4mHj1=kofiRW^EjbI(Z^emK)HG|50-_7Cp+1&(O0moGgL?^HJ<2&awwm zvhG=~Jr}u15h4w!oMyHJ8e$r>`@pk)Ld)0p=R^iG3wC?jIbHs2MOcwZ4B{|m<^g`U z>XU_qy}AZlRw<0j*G9=05lyE34}cePKL#?p?a@Oo95-;o_uzN^?Lz!xpAYGc0z{Ez z*ijIbniW>z*~|68m$uoM&qSW0r9#WP9L3NA-d7m0{j2WMPd1fSDmi~ix}jMuQoeWQEvzhVy?9LfqwBg=7<%GkoJUcw4=A;gE_q7U^XcX8?d5Sw zt4*6;VwnAf_;OVFaE0x(HZJpj zmP7u!zj4JN%0BxAAV-s; zVtG3u{iRryWsLnrQeT2)k$DX1mrt{7-`Gs9JC2$=Xr`hqc+9%smrMryxI9v!5W{F< zBcvt0F?`wL8}Pp9zsei~UJv=eeRx0R*NU+cAeuVbng4VsmnL?FO0^}k?HxsS=$vea zG7okHC=EUJup}VB{LFzX46Zr`Bj+R_3o7HpE)7$kXe}cshobj#7F0yL7zEXNO{b^b=$oQPN#FE$1 zj~%7iWc)@yo9y_b-``}K!c)5!+Ud&zS6YxIeUzXyENNnAIN|^5Y_Qw(&<>}XoX8rl7_@n25mjO%MX}FHM z=|U{lDGzxU{9ipqjI8_wTjqQ8sm+A|mux7#o?4=fGz3{O-P)sYi_z|G&L%}ji5pC( z(p!BIh?0d~VACRV9NqsCuzJ@6>5Dun?iDzo4T%5$i@pDTRgnA_QgDH%kBouy{CgHd z2vi9ez{Br>{}Ki8u>E-lkXQaaWTg9d4&Wgd*1zBfJPelm0?73L`%)0#sO=pVe@JO) zqj6(Olrn9=c!4bF(ZsNKt zr8sQ(zA`fObwd{zI+~mrn|U+8$mO2JAfu#*HH^rNyP6NC?vupEgA|F6aLqLh8d_qZ z-f)RdcXpAb7Mvzhc5$0io0Ag`*c?d622Hj^Mxb~238jNAp*f&4al9zdPx0ZoNv>PV z1B2GN8@AxkzbIm)>K0B)y5+&*I+8aEI_vi`om2qt189Nbc*FPR(`jv$z~S))t2cYF zlRptC80Uq>U9*xi*Ka}`J&j_om|K@?psDK}<6B*?(h#M@S`UqX_EiM(>IiwN! z1NCY-t5%Ufk~tRJ(Qzyw?v-ylc^7Vf@Z!8D=YY&$@+lu}9@=9xO^}UWC~{`e)B%FP z3m##>sRA|nP5FhRbW^L>MdZWRQPRY!MgnAjibeYkTftK!vW2Hwmg2l%8vwYlX;Sx5 z%pRIB;yV2aqB`n8jiGQ-gHXXdnRkAgPYX^xD7s+MAO&ah()s{#u21)A#3<`!j%5vp z(MYvxJ)lsXu^f7Ih<(U>SfoKkdfXoxKe;<+S_FxCLJwkurup+2AyA?LFqS9o;e6^`~ zE8p+(o=ZV%R`deJ@3+wuhDJcl#5Kc(cK7_J$3n0Q7flFN^l!v+Lep2@kJ&>*0MJ75 zWZ7d`%rET+J2WePmuCho1_GQ1Jg~EW?tkiuUB?D`h2}-_U482Wz${4VceJ7RcBIXMqc2~MjHCAOmY_~)6JijO;8(6A6kecZ1&>#CcHIs_&Qf{iLtoz5^ifB zXM019Po+1XA95YOl|0Eg-*&Yr7O<2;1$M%aScvklyhC#xJHI;gOBz&ldt7B{wX{w6 zD1{%bk(^`(?TGAmO96%FkDig>KElbT~0i!yCmZO`1xh`%c==nYy&4uP%0GJc$%C4Q5mGz8yi+pxYq z@nfRhm>^8UyN%e`p>e)%nWV@jQ9%?u;x^~y8y2wU4 z`2(Z8=8J)?L3y_s#W<@$L(q?#) z^5mYwFwkV_h8IJ=q&{4Dj3bsf0^WaTwjgKsq0!6!#CYXz_g4TvV&_~7dr+%Kpc_4% zPar~`F(I=!Gnt-AXU2OO)_6|yXL%&1%8jv{nv4$J`LaV?`0xNFhGw_<(_sZk1SZA+ zECn{O^D>>}_fMx*{7buKe&lT1)5@xluiejzbQ+Mlr7dBsnx&@ar;N}3(7G2swrjY4 zf*bHlJ$0s4nbwdwg&yOUIq4zvVM-^akJQp?$7rL4zNy@sf6k3&b#?2bZ8x=2A4(NP zRq}HKzEzXcO~hk z@KV052J`u^>{!cUL8pRn!={F~wC1|RI~k?)*ry?H#L);qz91@izY>v9$})*rFuKx*vG6s3zAH18q9 zMw`_PF+N<(uTe_%@W2uCuqXZ;ndV>VkB`~rf+|H54%x!Z2|IM}fFYf_`fd0Lg--5D z!S|0Y`A`&_<%sorJ~H-oVz;F(z65=R=Tt9V0U15)XEkH;P|Tod8MTG@4K^Jisyu#7 zn6DUle~kDN40^*VYxPh@j= zsKh3M3&)L$z+-+kNIQclTGz_>F^>-x*$y!o3V^x+K-iOCqs-#i;n3Mdj9ZyCLM6$O z`FF8q>7QCLSAtptZ^7ybb@LT|@-8A3#IFp(HgV9}r#MJo)~RCJq}EV_eEf*AW_yMS z`*YRAwl7FHY6A6fnN}Ja#`>qRUJ1$c$Lyu5tKnFXq8&=0S7fRi(uv ztk108RzR5%1!XJT5EfBRKu#tpbN#MBchRc;@M`aeTtsz>w2i1Toic$QdJ`6vw2id| zd*;b^BCrWHJ*W$8v3Aw%*LwEszE9eduY=RDI&kUkRJ6#j**~d(#dt)b6BkG%+<}BY zyD5x>Bc@`~y?BSU4EspQIO)jCradN2NE&`#=apkVgs8{01FFPDBepf zzeRH5cI+CeU4a)pPt*n+B~va&w3fwKpC$F0 zKD^?|ReC>^Ve)}#42_ze!cX3B!|x^dL#h7P#jB6m4&fODfMD8V86PB3ohrxtB49!` zH{WdD33cvQt_O{mo1PBOh(aIXLi36XD6Az20Z+y#&wBm{JEQ7pnLKDHiOYBJLp=NU z_BIpt6rlw{Wg;$OE$A(k>=YvaM~1xz7SH50bmDXm_hw^QI(T!-)Vp8^f1~=Ey7lPj z!fE5o221v9RP^k&HN;Omn{$XuLG5St@yvl$k*rB%w0yeOQ}^X(0KO)a9U&jjzTA=j zG9ty2dUK;`ct_^g1@%(G&jctFx}N(Y7Ix!D#Wc_i&thG*nX|w16@Od0Iu+G(nRz4n zu2ua=U_>@+l+1$sS$r%ET;HUq`QnY6(CZ8%6Ya-sM(Mfl`W>GIqAEhHer_qm51NLk zF@9DFG2#-ZH42U{my(0Z(lJk;BQK_OR8`}aqt|e(b~e{hBQa>A9W1nH#|*>c1A6xU zkZxM(mPm=gV{4V<5e093$aeVL);_)0ML3{oE1(N&?az(5|CUnc%ECQtrVQ>k5AH*A4ZMEnwIE|Fa`9}pWDs8o z{Y@GB*7pt$2mR=abcE8bXSXHrZV~YPha;Zb&Q|YGw{sc^8-1^(%B3++!(u)rojH#` zXLfZ6r=wAHsA5sicRCVW{6%VzR6Cspht;~NjWA|pD%EeT(N$8MPmr>m91h+ikO>Sh zNkR+K8*PZ!3~Tiar;d$vA+gt=7&n)-BvNKq^D;6?^U^2E+8|2SO*h&~MSRuwET&#}={-VCcPzejBqfpu6p-4?WW&XKwOmbFo zFqicATKm^lM>OZxc1wDLJ~}qf{t%|!EmO~bIx|aY9p))~I0_|<8d$s9dAP*qY-zbm zk(;hyGcFhSD&?=mtMr^o8i8|BG<&FmjZY&MB<-@cO=>2Frh@pmD~L+FKbf);F4b0G zCVBSsEn#H$*EgAg{_n-p{@Odot?V^_)@rfjII&RVFF|rkF_Tk$2uYue`qHg6DiTWV ziSOKySvYTjfUx>)pr=6JLs8^yFeGY))RL-PGtH$|+mq3RUGk6vL|8q|jCIq9Y1-GY@hN>WuqfYNNW{h)pXr$OlAOq^DH z8n@+dyky(@(Z>eVlp$xd5#iyY@HUE+UpfC0&Cd4w=%p3-xS1B&q^-O~Cn z;Zj54sAfsj0jTm>;>SR<(KoE&iPS7%(ZHd)zLtW0@>9I4COb@sUU>}J@eU>JC$BR! zOVS1(0iGUTgFh=ABUSZCo#Ch1sF{Uf4;r+b^YSkUnl8sX91w}UBO=Jq{NnrjA*Rj;E_bUOmupB>STGZzy7kV=GM6oEfu~5GuOU@Om z`-VnVZ%Rf!X^>i!pys*At;F)ln)Dsoywe@2p7%`et5$bEan$8~HxFbqkqW(gEAe+| zzVDj1S$5SR3`A>K*0YX%7k{s;6Qf`@Y{5RquHBM9Ei_b=g0R3GFI?nm0OFZsMq52r z+$8VB)Nv19t%|NHAE72H7y5~z^UF8HlD}LyprZ~IQGy3`)J@-v47@XXeP-UR+ZD>W z+|D`y;SV$Pm%x$#lA5n&qkm3YSpBN|)Lu@mEX=t%o0i+@zPxw!Rv^HLYxpmMD@-&i zR;_a-;3H`RqWn|mvqjIbYrio5NAdr1ZEtugh4 z{!dgX2NMZ*Pb#plUs;5EYedwGb7khgA8s=b9-*VcCZd##B&35LG_SG5v!@6HSN4WE zVIgrT{IuXU zP-aE}JsiCP?e=%3r{VasW_i^)-z#vdJOp%Vb}jUuEUFmHE3#U$|nBZ z*ulCEPj*YZ=c21!YnwMvmGU1;nNq=w#?roIC89d3+woLUgwfDcrkoFj+WNR_CDs zAa=vwADA$7PD*S_jka!QEVR9N^FM@?>?>ghK@jjN4vm$*jgt=_K1TPXSkn(N|m{7g> zEP6~wO)H+HR3e&KvcE5?4Lw}nc58E4tb-VhfyPAD%I?7ECN)6xAip|C`FG6F+V3@& z)e7y=MBW*_bEqChWY!v1|T3*Eta{0L(r&3ok*T=Hj5RwzDbALGX>K9PjQ6I91kT72#MAoL5A7q#~ zYK&$4>}=~)-xus=*G8W-Y)BEiI(y62oZnV--~A-s>|NQOL>v~!o}p&U@*4l*z7_QX z0Uqk*GP@t|nx71STuCP;3HBl28VBgF#?mOIcZ`#lhI|e=wy(AC(4ZoQsdC^H0a>_K zeO;pV80C!brGVWJxmXT!<+M9NGA8rzSbuf-jgwZf3vT-s>w)w|Rn;&FEzch3s>xkp zuM}Gj&9FVOgBg`noM(^24;OVyRw7?raIX)hSbIJEjZ#VIz9lRIo$*ajiFzct;Zwnx z(A7Sj3=@Dg8#%7jbh91Wvw$T2F2{b-xoN!h0ljF`!E^7*&!PU4qV`C2hIo`EuXV4D z0#_g*n?Bd)LQdT`cCP*k9B(-cQLdpeMP}M+OvXi8ypfTu2O2&*suvZ`N4IpvsOn&? z=lu=x2`)z!=(2D*3zt#1VsABTAP5pI+`t3Rs|KZn*C24Ovb?qaJ;PS6#+9cRP z5@e1n9FoueArC>7^BQF7VE0D?M8!X>=RuiY5}BmGt-HD<*k55U=ijqDkfK$r+zuT0 z&W85xKj1uxl+MpDC^*fgkcPq0bzaM8Mz?qC3XIGuaTwA*4d*hkMyt%_f2SHpt~`?N zT$Yu!ERbSrw{dv%cvdKs=)rYDy+3uaBP<_JN;1P(**M!F`u*>JHE?u~#DQTM_5H44 ztGca;eyZ?sB(ik`z!-sXsbeNQMr|*(Z`qDhJALq*!m9P339!yNb4$cVyYY2?@yPam?xcUA&- z>g{Yq^yJ zhFUT^epb`4-3bwBE&Ox#9R3NHp5q`i3M0h@SD>Gyk{aA*7E}&_`%UP599eOpkk>~F zEmI(qkaE=2>_7v_Ks7?F-k3vm(mI(Gn!u4>-jcJc{)6yW)&nqC@t%$xhMS-IB{sU6 zjFbK`yflc|~NlV*&0&%x*1$gF=6&Gd8Z=7k%Y2jCNFt{eDykAR5YuC?s{A ziuw4|oisS?Irw=@rQv)H-?`1mt$@?&uS0OI=VVz2e%4o778Pz)u9edG{{)7b0Os2$ zFT9gYzQTITOLEPX0vDVBP9G3>NdeU3*t}_0_m%TFAM0sVur=6HH8n13T(|%_vyCfE zO9j6{kt>zd=+AuO_(c2y?dBs|ON@$_6foYyT(0 zieks+J5O`Ip3S;(ddujPh&C6*h=f_gj%iaH#L-mD@^L&#u=>6D`oq&O=a=NT?Xp~i zt<||BYay;$)@iLKs{$%)u=a-~)fH0jbsi^K1^+rDo0^Fxv22~LpYrvLm z)RyvOEr;YhEXJZ<36CCVEHh>3xvH0nq5VHbq%2|P`~dYr&XE=S8XG!JVXl}g$@_>S zHzQFUJNEG>N3$<@YbH?CCijABEm=o&G!UP@jTWr}K>Zq#ByK)!)MQdu1BG?r%9;kc z?PJNzAS-pAQ9xwB`n7LbMoW2+mcDbJ{lPi>lO{R^fJK!1^Tj@;*NOSkomX1SF;y(6 zYD2^uu>9NP`6L&Q@17{kEQ4+1HX-L?BYjGTI6N@aFcx9>1t5;xao>O}X{oSBwG37F zQx;d*<97j)h7kPqBMGKL^78v`7?N(Z>D<0*dHy^vUX|^p@D2GFPlA(``-p5m0Et!? z5n9n-0EnjyJvKOS^iO)&TG7D`KBDOiIUpXtrb(8_+IS&i5-kzT_qw}Fw?^3x19e?6 zq=ci-hl1Lo$WP|?ov0U8T9E!D$b)q+HfTHvSoOKy#}nLt@^i|Hg<&|v0|2Sc0onS_v@!+<7J&?gi${K z2!S=ml(@)Kpa&wy0f;nm9vEFn%!N@m19;-AR(;z*b`soTN)ZmSLkXi8mj#VNgC9FB z{_Owacgzh*rvdQG?od7T>>jaQ#p?qM`;(`mmt{?fKokx$OPp2!?C#?x5$H7#2x+s$ z@v_=xo=6%{O?+7Xw2Xs#3KqkB3JjW#fI>SySHgDL6m?H7 z^QLM)N%g8r|DwyX+B5;?014YiEQ8igeY>5649ghPaj0V4a_43w10kc*h5gHs02S6h+9IJZ3YyeY@RN7zQpIM43_~| zdrMU4yF{E@v_o3QZcBw*2B`7xCBAOHKQ9A|H6m_5!$Q$@Qv10^hZB~j9aXDp)vZvtSNvk zQ>j$L?x`*r9p$oz2L2JB?Y|_K*$fV6vd%& zkmvsH%A@2sFDh9&b_=*%M?jJLRvVTTNULN129m$h61-~(juFh?Xq$E{eQD*Xw){CLJTprt3iN>Bb z!SP}GRBoN=?brzrL(C)eAa_|61=5tTpa8}=Kz*KrtG+mgr0E`9-OkmFwsIPi-E~$5 zc$$Mn=1Pj+Ez_s@y5+J2^!dDNSfF@uCt!)k=b% zCT{b44X4WWgVU)g>*t7C$JI-?QdP~!Wa9J0!Kgm6GHT3XUP)|8KhQVXFWc^6!3`8S ze3Lw$pNLP)l}y&F;6P15j1?qqlp6D1Iui>a@tRHCgzYzjDzUAWP>@NFNODB3`?V3% zoDPpEm0Ovl5#u4lSA6Wt)bq!mV-%qZ6kz2d?1{?z7W~V|HidhHjb!|4NIuqLZJnPh zPhnmpRJ66Vi!T86Ma3Estza?jy9(9)xceu(_M&WK`JIlEThyRwxqfY3NPzM2x1r7S z<_F7CRAp?mtbmlhBB_go!rD)U6YWZ8?mn`?%>0aaany@|TLB4J28-i zIbX0{sE)joiEwGiOt$5S+$l&MN_)llZN)`}ZLE?32gqFoIIc)oVdMwa;kgqcrG&%u2&S z{sRD*3-B(wSHPEt#lw4{M%6mR+4qMaLahL{oLJ6jfH3JQkID783a6HOMrW>Qvw9pF z@BH^#zW&42vu&G#;o0xL-OsWod{};%0S%8xqZ3Z4?Mz!+CX<{+MXHtICk_zCf(!kR zo^J??8Q)cbx2;WyQX*acf@Ag0XNVF*Pb@%q06<3GCIDf6Ti+e%LygWrVre0+p)};mS4-^k`sE5r#BJWxNQxNEPVQOCr-tCEpe$Mq9D@8>C)Iuob z^`}d~W+$o2p$n_49d^ zt1xgaf)wcx5&@kX96x%F*8wiE+J)vq?3}kylWl#0zhq;(Pvf1TYS5@O43~e_rCk~l zoxCwo{>j>(X5apAqeHDTiwVIv1y^4(*{i@0wKztT*Pepcy#aA8{X`bOaFD=A`wGes zZ3@@aH=9qM(%8%AjJG67J%E9m_<`9-PL45QBYR-ZW0`5_aC=feYjh@6ZmB|=>3apQ z(<;tOhu!G`UEzykRAky8QGUZtPltvO?Xlz#zku~ba#uvo{TQ`AfXv(6E`QyaslOmZ zpOffq)Ah&jdHU1h*A^nj<9dzX-Ra~dhmJ^^=RsX+a;e^Hz$`WM5laMS2BsZ+Bv|0B5(qiYmrMVwda24 zD`yTVx_vZ;e97`TjKjDhOzNPT(OXkPOs27Obm2RzV(kVa{2fh#-{K_+}VF}aMYhTsHuH9HL6GXKE2l3T>U!`KxE1E&OfdyqxCiF zXr<6}@E{A)no}Y&g=N<6HA1j#z*=?Z^mRg*NRsPM%NM<*A`~!K+k!mB<@~nQxU|3d zgc!D#%BXWgz=O{!yyfAtvZ}_7RMXk)+FBm&qoM<4!?DuVQh6rwNBQ(NzJiAY0oPkw zX|V9=eUbtUO)X$X9BLX~JEZz}@U$LhT$BNnzo^xh;BOM{9?OmA)GLJqx8MJ<4+l7JE|>6|k^?e=^ye7C^~lPu7OT3ex+= zdMAW_DP~Y6(`re}j83Dy_}hZ>hcp{=c$!-vTrr8$ezB|7>*W37bU9@&?r5~iBN!Ab zND|18MdBcN9W)*AW5rACZdWJUWPg2BjU83@)_Yp-gV?wH{57iZhH$fIi)PbBrGR=_K&gB%@bBr3 zwr>3M9|K2s-Dzv#)QwlSGE3cdQwH4j#Q<}fO-B*ywH|HN;s5yIXkD(NhD8(l9QlCP zWS~wepuA=C#ELNs$Efq{!dSS$^yUh3nD5Lckz{;3^*Mq6xX>nt7_S$coIcoH2f7xt zp!>ak>~-@k?P$vI9^aFIW@l=gGmw@XmngD3AE5?($NJn3h4@L-V}-Da0eAp3fDVB6 zzc~gfGpn(Y|0Vsrb<;vt`ls6NpzLCpJO1U6Il{a6$^2&`I0L&K_3hnM%aG>2Z&=OX z{!iBp2u(GizcRBF8wCSV_@i(s7)C%q(ybutblGJJ6xayp@>6NYao9-^lR-6u_6GA! zKlas8mI!V*Vye(p}zTUJ1CC-qaF{a)t5j?b-m9s8fj8WgLOa-dbT- z=klw`Zz{*Joc$k;SZT~h<`Wsk9ihXiu*=^ejL{wm4)$Ve*+lW3-Ax?+L)%VO z=@iVwB~O%3NDnT2h#wz%aGsSK#!eQcz3beV>Zg7BBIZHXM6L%&Vwah%4{!fD=d{5a zPBEyzqkw|GooIEntJJe^L_cnamgtN#-lAWnAoAyS0+m^&Q-1Wff5=*U34G7} z6Fd#R>59-rsT_{3+uiOjc_k*)?ryH-ic!)*M`QzM3s?Z|+}{tChmMB*kH%4BdNi)4 zNsRTG(>)b5WIO-s;BFvcrpfyv@6}KY79NznEtey;*KWWSjR@qLdM1FubwxY^Lj`?x>G*ccEfF&2RRZrMI=jMRE0kEq#O9D2B1(Y&hU^oj;>WpO;C z;1{u!C-8%tUW z!rNnpF|Aobo|p$1pu+tCnSUzetZ8b_9g=9SOA39gIX@Xhqnb@pW2efz3ZH&ivU9pq zE0(;1vL}MY`(wR^LcCjnHYY15C*F}m{zcreD~>FDQ_1YI@!=CFn~%n0XuyE}$!kGb z_~n&+^3|B{6$X>;+>Mt~7NL~rgO6`OLm^4Tp0Z;IIJHE@Oy)0+xI2WF5O&HN-4JDo z8x%71?qvdf%#JSGzL;~$!ySR)UrwK!F}-T@Y%E%8aBQ%)`g}=cRz?;S5JwVcSwaheG1w0qSt^*FVyBrs?j-J60p!86ff8^;<8t*1f0g1ec(dU_=os zCn%0H?JYWw-p2+fe&wQR%=_vno&^2`g~wUn6>@qfPt}~;ofAO)$0sHqg?8TXR?mLS z5P0WS^$o$mDF7nC(5yFg(H3eH+T65diWxYCL;d||tNC0zjE`QG3Mcj+Ul`uJdfQwz zbNT6}EjqgPn*TB#vgjuSaXJ?Y}ApJ2-& zWAOqQ+t^GZ8b8!`g{5>g#NZIC?H?brOut2rv>OTll&~H ziC6yZ`)03!W1+`>R+vKsPC%w(gB|p9dUJD^Hf`w2o+&%4p&+S1Dz4P>o67Lw%)pY* zStC%DmTLbw^NaP*WG}uQ@b&uaEfaC!k@oWsm-<(z1`VtAoYSUKHt_kI44dA5hV^TB ziD|Sc%Y?<<7o^#{AF_m7?Z&2ZJ?EmBm&u&IpC``;o#Fckg=kV%<&b!&4sy|J;+jR77=`z@~l35%i< znfwJ@%QHn}!5-t{gitc7XZ>o!L8N16?&F2%mCUo}D^5!{xz&s@1EX;Y@uEjND%oPS zr5jRlcPW;|J!>Z)7-PJzZ?j{cuN>ioAju4tdJ|esU>?zSlAkaM_B++T z2M3ynZ;0IArlWWGzdGd%>DlFYpJo=+1Sd7GI>{I1S;kY(o6jS*o+L>0`-rq z7`W|Ru+MQ{^<);06?ToHt2$qXa^BR-BlmI(DVDfh*OvI$rUq9g!}4&IN-|^VVg!-FrzH{UE+XNo&pzQ={k)(M zCPS~KQ6A{P5ko)mBdakpW(ROgolZ@)KeLajg4=|JhA>w z*lttiayj%s9R%TeSG1y~hyr3>EI&uIN~ivo3n1X5Td@cC1fo|slSO*{`us)w=td&%tJd~J zZ#U4y_P18uUj0%2;!YFe+g1}wydUIsYw%>rh)eeGZeqV-&6g{AG9J4@1?z2VESXF# zKNnRAfI|Zcj+o5C%mCug5fu&__V~N=16wh{9Ie-tc+~JO93CXHWPv;9sMDJ^wl8DY*<|mQ#$~z4nGp?@Ck=cC)W~NVwBjP<&kfW&s{|{xsz2gwnTE7`UR17S zYtCGCX*38oUXwsdoVT|3CEmh38? z*BTCBJF_zrQ1-9FUon@y0Wdy0(EB#ihy{!`OfBoDJTHXZKyOKz9tNLQ-d>Ru?qIF6 zS*{njE&T572<)ZbR_Q(rRfOBOz{?*BMJm%boc;r=cV-1s$^M_)}-2rEM`hXz%PS z<)n83tq{>2Qv5WQ{=(FEz zi2QyN?(|oeQljDtvh?Xv4uHKb@pr$;j!${*H{dVm>w7ERBj79QSd&Z6qMA!S#Npwp zc{qriH*D6g9}{U8E#_1)=JNhPPlyrxT+=k>z(ZKfH#;EylFe&*O6Hf_AWh+!3`&yfyPwVL{6FpaP0`S2>!^X$Wn_Pq+RZk}|$ z%18P_k9s8WcB&DJcqcl?!Nnjvlh5ug$43M@4#ymz;WLoT{e__fe30|%>3&a6a;d?^ zVF`q}2zewrbH@ZpJoI8*8d>mF_B7H{ZFB^%Bes*($X(Z;=ZDcDXEi-87>gtC( z`=$srR2j3c;_=1hOxrwKyQEw`*KhLQDR6DrG#Gw?9G=KJ(2N! znIf;U8uyzdQX+hU*{fJm+x1{IY?JqRO}{4EDtnz&(%$Yqhuz5mhYaRJkBd;*kLZxYjfEWVo$p# zh|UC-GA_3pzFo!+i+pH|C__yZL0~zT=2VUFosgX0A)NC5u2W=e-Du=TwDkD*(dY17 z5iOeUCi4SR$IFXX*p9^griMb@sSW7oEphPrz&ry()zH3O<8kCZR&2G;Pq|n%yQNx> zG$(b&T*)g|`Mz_c=uI&P9X0DgW}UCw35FaCON^BpBiUun- zytyk#VYkDLr0xMm%N0LA;g)jWwUrqL6&gPT{^P3Az~6?p9`KC0<7J${Z%-FL^f{2j z&qVunh!{f6QMR_AC*KP6_9_kg|41IKf%)NR>%-!N4=wqD>Fcf{G^MQ$VcItlR)=*d zmtHFYAE(sD$gzG^3CLzQwKsDUr#x0D`b%7$0iJU4;&O6y;&8}ksufu{k zFCq5LBpR6ZrXD(kWyW4!q*qLH|6b;J6v=J1cE(fyk#hg-Bo1qM<>Xt$ArYF+vni~f%I zv%bO(WYoG=wQ!A>gN>ptlvbshiv>L*tLHR)Sr&YIx8(nwxH~xUzZwX^Pb2f$Uzk9v z_Lw8Q=lfT~!njuY5A2X4^F{Epd8||7Q=f`KdvaFkA2qx!ojT$ZaExlEFV?Xui zc5*+=E@BRYs-d~wG=~mlN3s;O-AdcF{I>0>{*)9g;m$e@tLn9iSLmOFB>mof%BD1X zT5++q+(N~Avw4w}7dW{8v_1+pU8gNGAudccm2N4*4!&=C}KFuE>_ zDpzXa*_s{`&$8s|Nr_d5gS#VCGwz{I)o=|l4jL`J*2{g*Llfx&gS3|>Zs0UR zeer}M+rK^AZqSD(?JXl5({|UkAu%CIcZRcPGKkp->FoAWl9}o!7S7<;?CN~5&Uc-^ z6#2AsKPzosIjx7_rwn}=yKqdejP61y^n1`Ngzj!f9@<_WS7N>J5M{?dugLa~iALOV z-|l7#FFdf`w4*Ua#FGw6@$$`1E7C~5mUbU;Pw;Dt= zhXL6d=131(6LI1UQO}gcRZL`^EH>sxiQ9U(&VjmA3p<{ZNBB86^oa6 zAA^cNld($n&U{K|i$xaGtXcLY%n>-8^r;Ma zbcew}RdHzhLq`|?m(ch|bbVkjid5Hq((Z4={m4?#89et~T@IDs9i{Bf1 zFJ-XPGA!Jp3gV60Px6>GtA9`Fn#{VeQt#0RL#@5cMSofkelhKk9wAj-AXMIVq?p_- z1yruTqLKtIslaq_d@dI(-mVvyYApCKYTvV1rnD(NwPD5)RR)J}Zdv!7aNM3Y;FDU3 z?mJ!MfWsXY{iD81-0KDefrhVp!cP6XzMo$LxWrbE8tAE9*kSFfpG-M;qzzWnkw%nn z>^L{Wc1uw`Nz}V$JmrI-4ERQ1Fu+va>gK^Dqp~0|%Jy6Tz{;~$K_kb4M7W>8goGpS zV-4umz|bzTqk9?+h+*{oI}KWiB`yChy}k~j%rxWrFY{%pr817CYE*qrDbuV`{N*(V zNi1`(UE*u1gm(w-D>4Qez++cw$C@3d^WvLT;7t?9*9;{o+&(Oh&v-69f^|wh@OKcu zvSX6-Ac-nS$akMM${);JCc|1v!T~yP*t{i$E+a056}z8rFtstVuVFX3o#|8t^cHsy zfwHw!cPj%iKf!F!-HH~Da-qOwlj)EQ~2m07vyPEC>GN4>YuYv{fdMz$9?9JYB9;EcwX=N>Zy|EL&_Lt*XWPm!j0j`?@_w1bK!6 zwdMYJF--res+_M-C$8n3N_Q`weT1s0=u54hS$ZW-4>Y9S|NI@(=vA{$5oNk>c*|U+ zCY!+>AmLnHrg%0GdRz`cUjkm4AdF9p9A91ldw%ejZ-fQ2jWC?AiLboWUA&PDnqI&4 zQZdeAlt2pJcRMWPOj~S9I;Mh>6IeA>K$LNVggYcaLc!vne z7aFP320SNlJzIBpN3MzDN43V-oH36JC9)93AX1z>A)F63d41HouU%X=d!Cq!8~r-ov;`CwWf*Jm>HJI_NZfWn9Eig=QsWoKXHN`UKYD zH#S?{?M{BW^Ze-usb&-<(-Rr1iXKM<@AT0be`L*UrQvR=Z!7jL{6?o{Ahd26OTkFA z{#XSuIdvbMPPfC%)<60&>diwcr@Kms*p8KS*{ z$3C#Jy}$ zwU<~&%9mPg$yx_?5XsMQl!;mWFrB3`y2wA8HIyuOn` zTxy!#5bUwa>mf#M`9!gc-d01QFX}pky19sz^;3>2^iQs-Y7lgDvRO9nG^pDQ@3KBZ zgihFpxJN>aF{nWd7IHXnG(C)o-4v!$us=Gnj{nvF$14o&Tq!COUAaNkx(2rwG&Y{) zH$RRxtr&Ms^**t_`wjm65&%=MncVeH3!kxv-r5#^bht(M(v~MjQL^pAH6OKeeq-@` zEI~PbaiHKZ%sy8Qv1!SX1A-d&pyn~eCo$7E)Qh!o^7xOtSXlQ7Qn&HghLHtZ_-)jF5^QrjNMp(2f7aq2T zM&jP7bF1fwm0(Ga`6&{fmPl90l4I`n?cJ>qah8!3Lf?t0%z@h;&3PwqUpWKM_ zKe+Q^8(mhHJUT}YVU$huEc(?)*U_o2H-TI0hnJC9N27Gcv1}b9c?Q-w7$NVxcDvVI7GwPS)MFayM1bsG2TVqXO-C@GDT5SA7 zV(x`XL62F*>H+`L%!HyU$!inwI{pEOR!2;%GFx-`!c?GU z@#aD!nO@mM6y90|zdX5svUm7630Pqi3ikXoriY=qwEh(>Rd`2U!VSF6K>1EESXER_ zhmSh~bg3>xLPgP^dngKKEkvC??l2&X7Q!RquI5R0Nur|d-(WgWQaP1(6ge0qOhzQS z|9t`c41h#zF-*Q5bNz;!|9H^_UMgI-TKu;@#y>73dc>ijS^bq5b)elUWviLAmK8A1 z(7cF{?M~2Tzh?BAP3mu_zg#J6mAlTPC8Vf7Vp${aoyUqr~@KlJYLzuS$`uD^D%n}2I4l<=F# z-5Ucp^p4fWmiI_dYoXpvQg)DT* zy*`GcfWDl@P4#_g>7coaoL|pny&DQ@C|eI5HVf!<78jC{#)Br6{aH~$YO*LNVwPocq;jcJ0>yJ+=h+rck%K;tL1yD(*Ui_vK?tj<6u*ywJxy1Tle zS6|wf#%lL6PX4mt1tT&wWsdP}s6-w&X8{jK^H0M$okqhwK+7@IKo3IHX|nb^+?lA^ z*RzE%zFF*1g7!RQc>ZhNw^<{pMMS5Tb}eu_pC9fYX>E!@0uP< zqucA1w~~8jgCnzX8Tm6rMF!rd!Pgx5^~gS&%|VtG4`Hs< z;ZM)WvK~;hBKL3C`EXg`d($Gu+P_5(*ueTu#Uh}cDoMZU&y!$!rp#y(JnUf3>n?zXzQ_rLeRVzd+<`F$$tjycuk^d^s%H1eY5Nf3x5(pa%TOpg!RTSnvRG$sZ}#~wpwMVQON^I*%}I7b`dKnzM^C{_YCNb#Yf^63KJ)?> zFWbAAN`w>QDFweYd^P%?^AFgu_9}~V+u88`{_FlkGK7virR%`%>{WbFF})C{4{W{o zVP_(VcvYZIyn1-&TN*XU&RvIPFgC_|baTpjoA@SC89%zykbo8kw~=`Uq$g+Id``&5(U z{++d+f_DD7DKWdJRvhT9_icKWK*}w~ry9OjZ{*QuEw5(@^L}UX>j=iHEA2ZK_5M1Q z={0g$|3<4dx1}Cl-=q-pLzy{QFo20g&rA&-Y-s%X3tzAj%`+UwDV*J~K+jw51Z5LY zu6zTu@>Itfb8uhrqn%3Dqd%A4(jw}bPpLp9FKyQC3hov1U4dWSSCLIZXyH~1=rpcj zhvILcmMpCnjKps&Gmkdlm1V%<_};eZbG6+N(yYVH7Zmi%WlV-OETQ9O%8Kn2VyI7X zcQpp}aA{wJg3!PaK z63rf9f4og)cdTc2&%(4V*O;3kf@JGO=EMXQHGst>3Ce>hc1WrA35&&-&LBi&#$wNF8*hc+LJ)Ft3y++pRK!OZb@D z)pGCkq7}ZZL=>S61>HTjGwsFIf+u%BhI;gYJ@DD?`oV}8UE2BK1KON>$Bof>>j$G( zq&DdvF7BDww~>8!Q(1?lzg2B)6ixmz>oi)t)ny50;ZS$jl=4n>ey|)<;AL)36o=bupo5yJNL_-J9+ku~{dJ@H)>Vg>-A4eQa{IafK z+y4EbdbIO5^+q3;5!gEym9DG;0!__4TK5(5Q68tIfBS;SJWwA1d%f;_MoSUJva0Is zLaR??#xCn->a3lS*{Ke5A8F!5EZ%P>?%B@7B>nZEERlhq-{|p_&-lasyriG3DgUvWxD(6+S!_e7GrUX z2Sw$^(5t=9rxqoBdaA_qu3?{bXB09v_IYbgz{Kj{wulhFdQrbqz;&&zN+WS-GrG;i z-`XZxlCm(~_Q(*@pq(q2cI5!2ASBRQJuR~}ojtg3mR*fn1wf&n;g_YvN+;jUZ<2-b z;+>qGPSygVPd1p!DmPM{i?teq|2`i>M-DL0jOECT`^v^V;mhZ+#bDQRLaMDdBe5Hn zn0dKtwdlqL?Wg|>^xm)Ij)}rbm5Uoq_zzppcRp-oypXIahscsv6)BcR5G6Y;L@P-m zE!&3<&AHOsH8qDINy(p)QrUFTrR?SB=hsYG0Zk$`?R*alT>2Arj2?XpvG)y^T~l3H zeZ)rP+Sdfo=#l6cf1i6yqDHmU`gsbFz=B|YVCfb`Db#;ZVpj>)bMje20R1G*c$63Keli@t&yf5^&+ zMLGRDx>Y7bXxAtH&tJL@eUg)WF37PGSU`RE69q8RxiG?%=cc+wogSj`>x!2kS1e9>@e zYCJ+>oGb*rYO<~-f(S$YZ}yOqBx7gp#`N7z$U;ZfLmw}&YKR1Q;(~kA(2zf6wQQfP zr76WRy+11!QmJMJ=9k*Vf4zfmWDs4<&# z5%=&hdWG1%z27W^UbW)kSbv`ZYb z^&9ew6~;vu9PeW<=lTkon25j8Nop|D{pn-m-MXGsZ7hJ0*~iK5rI*dhA}BDgnB9GyTR5OI#t+}?23puF>C zTRq)fPU~JfNIVDcarS?K>ed<65U1O6j1FZ?HJ9706{+`|*$E8W5{UqC2UedY7NBze zlV2j}Db?dyWV(C}A1WAUrON2JLLE!M6Q?R(5zlU{j3|wgzc`%p8g!%z+;Vt=y}{4O z%@!{8%?q{4tU{ARL=)G|e=FEI=_IVtZa0jZ?F$}hx<9AoX$O5C#axeI2R^#V7G((_ z9Guigw?qS(<(?yVT+jF0biTZJpkh$b)|Tp~A2@(PpWcmD#3b&eT*)Ba@R!MGss+}8 zlFO^YA4MgHjweIwpPigtuS>KTggZk=%#?Yb9ML>Vb!kVW~ z)h6rES@|bijb{^K$g0P6b|t>2+q?V>a&-aj@}S`az)0Y?him$n)_Y7_07xczYIf|I zbqzVMo-jM1Gz0^d-;*SYOC$w`DCS#1G3PIcjm8-tFq)blEC9q%u;f<*m8?{V9A5I- zZY+KcGXkFqtuQVO)hKMg$AkBAXJ-ctz8fbT!lCBMp&n5}?4u$|k0-Udj`b;bw{5E7 zGD)m!mm;Trxj}!-Pna|jS=LUY-@gPRTw?X5&rS_Yi8}=2YN}5$LcBV~eKt!!ZhM|k zCk|#AXT~Xs@w3PS5A25^HBv!sl3<$Wz2KEP339w%9rF32IYxR*KKHqvIU|Fj#ZT!> zwwrxtm-I);&sTe6ayESE$cVHn7>~dCSxQZEL`@{B6x|A+ET5XT z|B@5Gaj`pjl9u&Pj2ZtTgF&Wf%S2$lAek8jXHrc)HnbD{f(TmxIS>yS2?76@uR3#S zYxfk05)VEWD(nW0rtV05S-d^-(sAv41#ai7^kQL4BuGjzBBX6_t@+6Un^qmP-1{8! zVQoruur3vc`rQDLZmDQ z^zUYC0aefOu z4Ec^S%tNhY=*Z!sYT3m^4FKH1^G+b{U`!YI^PoL|_u~hUYF-~Zb6e5QmQQMmt(HbBK+2; z;;L9R9g)S&@1^niub-~g`fR@tahi&hW~4h03#YoNKPqR>Als!8}-u1S2_s}6tEQh3teqM=J*-Zoh+E&Gm|zN zq%5tx7O|H%%o%O-9E3274f~KLExK=l!f?vREEY@;*uz_qix%yxyRHR0I{4e{YC00^ zqixSaT2hQt)%A znOW}fiK9pDQ^9zdyX<=mySpi90HpSgOf;we@8jvOkFzo~IU6V;%uFNZxWQxBgO?>O z2db0w`-$OfgZlTkKBs@9=Dlte5@cQ{&?fZ(Q$v_UZgU~pg{0-ti*R@?*RgrUbIhPS z6uBxWBcNJ=@7H3V)S@TWvf{ApLx2QmD;oeE$^!JA4Y&SX85*BQMfH$s%W4Ddm?ao_ z;JGNWX}I)D4mti_(#A-ld(aVyo|ht9!Y@_s&l1jnA5TAVSiPA*AN%R_(cy&0C7;jK zB0Jlu-qeupXj)p=UJc?w-;s3P`V?xZPbx z{)?L3+!=5n|N4_Q#X1~R8l5z9w{8u~9ZU^1HkZ3;&Iv}#>Cf*53l3K| zn5L4+4-B)DYcO2re`Q)m;=qnYTe~(W8lMv5IRkHLfiiGkf-UH>0bXCl`|s2-lcZhF zjD(m#luSOg@9ODWG^O+B5PpKDSznio|0(n9$Tz+Na}VYA>fkEv3;LKht{um1;2QSV zt;hEntne4MJo>S zu%;p?e2?P`7Ya@#P~%}31<{S}lZZ0pg-X%Db{1yqO{T?L?&hW3EKgnbyl3t|m6Y!z z*650vgtu!U6m88`BO)+w6WPZiDmmR<#`{ca<;4G0wN+Tk-sJ-n74z!1t(WRroSs@V zS#`I%kD^$>p`r`23bao!dar`yb5LfK{OZ?zX#%@qo>E^-r5kZQ zml6DjhiH)@hb23Zi88Nx*NDarYK9aW(!xTB+J83#U?{~#K&NBdZ=gmO!mS2 z@DK(2$>diR{7}wR(z?eLoS&ebiHETl`)->?$a~6?9%nOqtj)jXv=oxs?QeM9uk744(Mfi!kPyC8be0$Q*nc`Cb!$Y!n--0hP;{e9t zdS2nt=A|=u>3xT-(0YPulQG|^`as1YgGe!y9-`4sM```o0B zqZ;A0tmSAX=eICcm=V%p{WkQ4k1c`1-HIx(mjWeY$l5ODzk1(MOa!j+iC+(+L{0F- zqI%eb@=7^+X;J^0K6U)-3+Fm8JQG>dyP92fh913bn>;N&$0{}qc`>F=`((J#mEj6n zM>DR+<+A&boO-!+yAC24w(r@B9>NXHvDO4eTM+Ghdg*p|J~Ko34b1b(Ods#{QZ_M~ z{ab`=zl?d5ic&gQrluy7T#azhFWPpCAFY?1U)Z2Tt;GOsyg4O$BXZDuFQ7MF5s=kd zmGZ{!Ft56qpvzf!tc=|HLX8y~z>kPu&VaSizcjoa|4%;*`8{rq)ETy0OyD=+Pb8O((PmL-oA!~0>}z0$LDYJ{#fUfEcEO_g1}x?6M6bDg`Y1CB-)a*X^}w%-VI(dWq<2z#qU%cG%)LWIy0%; z)O?9YuTUF1xTe&5x}P{xn~3{)^046}Mq$^CqUQ0Y0f;vx2Z1uN3rWw80-14OGw z9O|`Wex=0%bE>)gxAL4sX+Gr4qVCX+@_@L?o~l=#DEA35h%PR(>HQ7siAdh>#MJZ3 ztR62OV(?8JZ_7UxRvN56^SQ~&<4Y)EOGm?J9gc!HiCwOo*8~J?lMFZ~%24pYlL3Qw zMkeuFe6HfJp0$(joSLK4W$jIjQNldy`}>5Yu0~UgxGkXPMsO6!6nW|xc5^j zN0q&IQTE38iC`T4SfV(;SHb0UA>Wg=1eUJ5Lqt}Esu6=+3||U8wxv$unIAvyFq_6~ z94&Q2Tf)T{)rp9{@8kW9q?ToxV*k*?q4<&nTagS?Sv`Z#ctIGBRXViho;2G0rN_m{ zu_YVpKMQ33xauWWm;l;d#+k@bil*8DF_tR0e8@iE`8gd+9tocD z_H%e0N{Ehms<^=7VU1SDX^E!Rsp%%%?sdUrznk$2vn2}XKCZ5hTRlV6v+XPARn-%e z7SyKlDvYo;pW#g%e?)$Ki&hHmxHCGK}muWo~cU8I`!c?QmNxT@+UpaGw6@`3qR1cEHQtQ|4c0PzP~sB#wFyy z(Kk}8QhMz}dBp5nM4yP9%!UXOE<%KmAQWxy*7sfaqf{Z?WsK~3_ zdI3vS-k`VT$cg?q z(p@A3V>YtI}Zce8ivy;?lcTsW}+CaG#lwlJlvOv zdIsf3Uz>egXBTBrk%V}n16#8?i)3#;8lKKi2xIEI69~c6` z3M5z%K-uaHY9;ibJi4#2_4Tb4IKA7_NNp!QOITHw-jJ?!i4&Us(2y5lEfp@#5fWGF zVAJ)71pJ?ODd1s=zm}?@k=yx5+(VG@U8}L1z7iOKW$yM&f|KModo%73yb-Mt6yZuq;N*rnpjQLuk*L0s$Wx&t2%^ zQ6O#4@?=H@{p>(u52V4S)92vOOrfHw*w_1sh5%NcQk0-I#WuK2hPf(*LkJz5*OWsI zFjIZrf?nQxB%v*$q<2LptJr@D2;?E;Uh8iUc@d7dmr5#Z1AX6FhWISbc7~nEyaVS2 zSmG}w%g=6o_V$fD)eWguZ>X0Rn+U~lTW+NDSWQh16!H`dX!(8}Q*Y=|ACdCj2@m^x z{&D%MXns4G`Yi&h+p!kQIy%%QHoDqWvSsJzyrkr`w zlyzbo>Kkdp|6u7lC6+4jUlhm}MXhTeOFLdsGL2r!wjtqNc1Q@1sLpoZb9TC72;UJ@ zfzg-wNWD#P{ea0gNn!H}?&4fg)(`bFMkTNU!;y~tRTf;dWsE<$2abGHpa-FP>uFRQ znDq-0BF0$o@r4`x5xrQ&9vO{+j8tZ;M`J*wjpUQxZlef~e619`g(2_|eC}P)S}g`} z&hU7SrY!VOW29Z|T3SbwxN~JK5bU=mq{PmOLn#p-FnSd(lMpWo$R7>|aa%kYBuABy z3Q72O9`lkwf{8Q&f1dlATWTw;(Ks8y=T!^tow{XSt=(z>l1Q7Iu{ai_$ye+N@zqN< zst@!iPSfFKlv^9Diw8@QQR3ytOC*Gd`JT<-K(f+hOFM$|JU)#@ajg5>`KI;=a|#}6 zE99GlWCW=gn&?|FTx(b;fLa~t06;w#Vr^n$>k-|g`s~S`{LCB|cdzc)YJVhJjDI^3 zE-6M8&p9d>et}Zqx$UPKlj}VM&olW_wtMDC|E$3Uj!?4mMyI%EWHAvSRL&%?P9R-= zL!KL%MQBdgL!?K;v0SXx8+E0Oy^(TCsRRfhqUdKa$*`|-{yTt)Pj*AM!>%DB@8uKn zdELkPMl;HUf}}~+MewMoO;8-G$`^@@Uacbwi`^2rtwnAz&waibosjebu@xIeRA)xj z^;D0zJ+Y||DMUrcnWLk#+ORYo-_TSpl+iFEW>e$24SRMZ3P^sDg@msbx1FS?Mg`Y2 z^$mU>=qqq+8i_67KFmFjnJb_59YRdwCVj(&#w$M;FDgnG34ws|`gWsa);A9Yx~1Dz z;LD0oi+!f?ih9_PDU&~8J!nibKlsfv^$-mu3Zu6#+o~SjFMlXH`KP)6gS8FzG^S3b z_Z=5^JX8(L&hs=jV5N6AtTk&rzJkUhSK5=+LkBq$KpoU}<;7R3 zK)(A*On%kgZgPXscCrGAGS!VTs}yp5Ei;Zkj`|A6Fk;7d&18_Gw?m7kRPah(GkD}3 zL_GY%A{CUZFJW0IKG=?2HrMGZ*pd95sJr=sWkAAFo_Pj)IE;VUM7O#&WI_mmpz(_I zH!<;2g-5I#XW|Pj2@@W-zqqtk`8YXYLY`!-S-V+1Lb9U^%CUbr#C-|BI`K%!Xrpb* zx+t651p~y|_=KXqc92*$-RS_EFFodyya;bE>Otm;U_XE2+jAe^XMu>O4hCaup;wp2 z%9s$}09MgIP1R)3q7xP_AAbY1BlEW3IWK%dH-5fdEi~GEs}#n|s{=r<^{~vW<|_eF zkDXT+F9e`G>dE6hX^E!n)j3hSrFF@V_!F=$P&B41`K!qIo@(F*`Dm)mCqelhB&E!9 zxg$Q@C0BvjVkti)+4Y|OX+15v&hR2iISvSu@Dlqqy2+=gGX+HOzNV@-AF<7;1G5Da zHYgt!1MZdz08DiAsj~cMG_hC!WC5#FD%Pf!1kvkAgMsWj1BrH|xvv7sCO*;6q zz0UkcGtsZTY>CW&6C>_K2Ml?2Fx^lMYpqBIKYUGkT?h8Uyo&LYbhrlC0HO-Nc~GbW z4np8^Pc)?t5=*9JW{g#?*v|k47{D5*p_iwQMCoI5!gY7n7lDB792$?vA8O8Pz)Um; z;}C6&vnYz|D637kZP8=no09mGo|nbde_hf?1a;rF0?N7P;oBFmJO0(odPt&a`Qu^1 z^(Yt>bpMfzUMQHsg>{m(!g044T3VC2h#q=DxJxD9*-VG`ZU|wVef(`v^i%&@19wutHw&YVix!W1cJilydr=zxDG<8)j z*|Ij<8?3$~PnSUP28V`FK29xhf~oD=%?R368(3{1-eF0t%yImeapOUZO0IPm`#GSZ zN9|S|b~_L(>!B*6Yt7799&Yg<8Zfhuo2&b-)>#Pet$sbxYK9BjqlFGZSlyfThs9G> z;V8-DZ+(ehPTfo5S_h(7@n$238s#nSTh!28aoCrbKd-|~7SurqxP}>an;EGyg0cpt z+@9X#DoTl*SFm4pJP)GF7p1}}Ho_AWGFLYaAstpPPl6-kC4Phu=b;pTe3lSBcJGG= zHo&;M$Vi}>0ntrAZ6&advWJDfqg47%=;`}S=wU7sQVAqq_N|@NK@*st1c+P7fx4SD za$7PLUQ9p8*4&PGh!2=d1q5&a&X;w_F8{-pe8^dUXHY44B1UFETr_uCq26<7--E9$ zP%TUMzHib_{l+$u3_v3xXnKs{ekkhJVjqSP*M$Q^{3sFF4Fo{ur=NQpbJ^`uXWKYd zi=VF(Psn~~5By7v2DQA~hv%5p6jHlu(Tpf`s`*8?FPtgRR1n_QbKH&*Dsf~ zgg54~e+}JU^LLVtDPti5f*cXrtpt^HUgg>;%F0N04CbGIQ6MSjFD4tRVyO`jU(CVQ zNxjd;BQ!cbPFm-JY>kca_h2LI!Q97D4IcZuH&eyjPA&!EU0eE)bY$-inN>kzJN+C( zIBn??uMWUDN?f#D-0S(IwR$5#HPLg1#hJ>GOz2$i78{pzN?-YAN7H zD<(0!hVEeSReg^PaHL5P26?33)UDWlbjTK+K8zBN8QcJ_7k0aiaq6Vd0V2#l3BO6j zh5QWN6rr5v?+M_SPrQTdgzsn-T8>EH6wH=q^iYs96EH-IR(@vWH&PAH6iyo)HMn zbBtN#Bg90>jg`)`3uq@m7%Lb*eQd-~Hto_~P>8&jQvW=fkA_KwkHKl~L4dU}2r!GO z32+iq21GIRw*qk>FsN}(?B6PSh7=jrwDcoU)8RL#6*t(oPC4_toSgk4>hIq83{Wlv zZanW5^};vjQsny6xChoy+*lxa2`P773|dy{)R?{(rGymoKR=Uwrx3@osW5y00-Sa9 zv!N>i;^nPK{pB{T7AK9NSF>4m@_BWj)hIkVZd)22rLDVqqk;Yqu!yTp0ippP%14uWfS~Tr^r4@BNMX% z{c?6Sz;jjPiQ2_wL=yWpU2{t{t<#b|Ky)Nv5y-YWZUJ7xtB5PQlUC9WEO*iJKCc8wN7&AN^ykc#j^GC!~;$djpqORl4eS~Yk=4Z$-wy%2UvI_!mENT8S%04-G{adLkDXkQAJvpZm}9d~}_ z_98eBv*EwoAGvS^7ksyx^a0L#A@KdR`6qXwWu?4*7Blg&9unV+}HxYM}uY z6>P@dRI>|+HU!t2%f?#@3yjY=PVp@E+0kz7b%VKkA$Lc7>Fjq~utGX+`pL zv`FaGVgZ?3ak^K$ve12RT9va)w6s*K6OW8QTFF@nJ4g;ko^=Q&yf5Ph`7dvP={sJ~ z%mzgdDdsN~e<64pz3HzCDbb=XAMYp_xR3O_U||wGg?)O^MxkQ>`M419{>-&C>q%4d zP0tK+mRUcSmN}L3!woZ7Ecy!?HrdZ$Os#dcfjD7Zz-?0w+PgW7ObKD^Rc<6H|kKSZb|iQ2QWw zHOKqf3ybc*LkO1%Dc^9TzzDWnr**?o-0te-XtX+qT*w6)8zTilTCIcyP@QoGT;9v{ z0HmV(3UL{ZNo|3jI^;Xsh)+Trx-ZnhmTf7&!eu0tQnWGlG3KQ=_I3;U(tshh4Qyra zK-Nk3CfcPJaqd6cyW40{DJxI&`e(h^N8D6szYY^96Dy+)lK})*oc!MzUhWqCF65z- zoXHo@f3imYz-LdBV|p&M9`Oj%-O0r@j(Z*nCm17gwV_jOIbcp7y$2|9);p(aX?pdO z@5tRy2jwC;zOaCMgJ*g^_aNm*45AyLJ$-h2OFxNuqumCq)dAtAXJyHtDt~<{y@1@*rDCX)j98Y?7-;5ES16a&3UJU#t9*eseI%y|O(y z2(_tfa$MR9Z9qIi^!$&S!>FUe^UokzaqZ;#t@d?zzE9er&Xuq8Ju68b2csSJ2pJM2eUQA4TcoXX>YE3W%9x}+oyI9APr(7RD?eLRs1ws z@{zmyjxLSDiC7VQc$^Y_ZZBx8J*=k0S}rY@T>aEhz9NzN0A#TNm^}9sd5t9*X*qGo zkq(e^@Av5gsZs`i9UcL)xMhAzjmNkIh#&)4r^|3u6z0A<6c8UK3&3lF38dpBU>{>J z3%f^CIJ!D5!{ve$u#;5!wFEF*INqc_PU)&qV7?L_iF$cN73yH<2*{! z8z8{7<+AiKM)@z`2oVuQFM2P+FKB&_DRAlPr^_SIaV78c!=G>8^z`2`N`fg=pCP;Y z@7K{fRB+~E?KRs_ItR4aLsn#lyz3DFNQex{{I2*5jpMo&sTINc8G6;`3D*}KFo_z+ zuOKv~LhO)gAwU!Vu46eYy$knfYNqBv_jv$&@Hgc% z`VwhKOmO(_v(-#vdOw$?_f*NfRtd`FcEWO}Juc6NY?4oweMhR;CBCr-|2F&`+ui-1 z1|J)p-Mwm3B3B7DICzVUq;BhtcY^XCBV5sk^)c9KyVP^?RK?Bc#`$aW1oo$50&p%` z1ToSb+iA`UuHozph9e~PJgs^q#?IroeR7e7-n;x8#tf2V+1%i^Uu4*S$kB|kp+93o z@QhZf*#D3Ngv0N)B`U9g0Bl^Gr(y3|e|8Vq^Zj;(@7CURy=ygcqzwq(*IC*f>wRhQ7%#PupldoA&!z#p>ve&FBx;d7H1Ws)Cr+Hw5lzCEOE4d9W)A zUdR1lqJN3&?mPy}P)25=EKar)Me|KOS{8|uPNK1q?i5SxzrsF|>=q>sRUqBe1<9|6 zFZxa2ibfw}%gKC*`@w{8^8ZSEuXs4SFKl?!B>ICeT9D|`CVKBgi5}4j(V};v4T;`+ z?=3{{-G~^SAc)?Hh#rjo?);Cwlkenxos1uI-*e9{Yp->!>sl*3*S0j!Cor_fG^*%s zD&0_F%5bW!GOfP5cn;AFk0$XZti<LJXJrI;Ie^wstn zHGdH>20G)B*9Vn8K;4u24ig<3#fUPO-McZ#Ky0eMSa2~m;yPPld7yEj@4+*)SHPy> zr8M6OETpy<@2hB28dAn#yd#k|)g!ybkhwXUV7?r>cv5oaw$tZ!hk+=CZSRFsjJ!C= zy<>n3K*Fyez2daum1^y-=rd^3WnBtS-TgZnqf4$aF3NnQ%M-5x z39tNgjqPnS>#y37Q&LhFb&~Kj-Hut7td=A4pbPEE)ijUqrHF+2Vg81b^B3orqEcM9Zt)uou&QFRR?~@dAd;{-#@*^vM&SBk9q;chTo=W^q;rcIK(&74r`o>kI zY?2(pdQr3I9&^zRc9^UiDbbuCv#?wj|7C_fzlAQ~T}ds`(^I_^Id-ytk0<)~iBKk*{om_7)nCj7chv;tWZ*=i}3A{|o`+~+w8^a8{ybo~#n$->@AM zfFWf9L;5od-*YuB{!W}0Rn)%Yao5*XIz!pL(%%t6VHmKb#BW%emJy+8H=IxbC!#>q zkw&2S*F*@Z*WRdge^nN_m|9v05Gr@L!$v*xtbY+VCQ+yeiCeR*Y{yr=Bo1f{^hCeM zwQfnenAQg;bK`4^3WKh=S6@=NtDUj2F6l{?g3#zE!z}tl&R;Uf17MG9e{uZKcyaKq zml;Y;VDg(rLh>7j?72js*8D3zrJdY421pwA_M#h!>YD>VTg1LYE-4-*FbH4WEK*yJ zS6G})URD_LhK5kQCf(jLn|* z%xc#;ovQ%jm}g^&pIqFx84`rDqtd>)40kCZhCYNjA5(b*Yv!rvt-luQjb~Zvyv-7v z8|#wkpF2Zp0Qq=veS50z2*n__AvW^WWdPaF98|v1i-8^m+Ow;puwhAbxJ`-8Z8lW? z_m%sSQj zG8fhX!uVXOr(8)g+^hYEr>~G$%3)E(?!KwrFL{T)JEh(AyuEr5@@t>AD8MPKC!ags znzVl+Z;SvnYwqT8vx|cVo#N7F!~=|ixLE=M zbeN0izSJ$mM@Bayxb!7~BnO;@CJ$m5{jFIA8QL#j*%CwEg_oRpz8&ivWkEZ@JaD}r zjjQ`E{VtVkRce(=_s>)DHh6sPT?IXwWQvVpGhY|{!j4`2z!Gzrup;+QJ{tX}9Rdsq z%sZ`x_o-W1MkUW^0stk4PMNQ2C88&9%pVIUa1_xF-(xbb%Om>A(~BUuh`BFKv7ni} z`oqy(NZOx!oj+?&s-=PsXP<3xcs_*f>M;SQ)%|0M<$#@n?rq$x^$_-Uo@Ocl9rfr4 z&k1`GFE2sl&W;%k4#yq;55Ym#fYUNDO2F>KgC!mIm(-p4OpNdbaE9K-P_8eWG1d7` z9^*1Vh{z{@VPow02}K0T9Sj9NUmB6*i1Vqvk0Dx5=v$N)bA)iAtD#jxM&YhwJddg4 z^={2bA3dL zt3Zdm-u)wkMTIX0CC&Yv*8x-Q159F1Ur!y&5^EJX_hx^N;2hcA^vfTAHiS`3o$ zzqsGGxmlV*te{=QoH3Z=wdNbXx818@AKv5lDQPdwJU^c*6FtLpqHS`$mvu;JPGEh6@IjVE}ocHP?Ru zXxN3M?^%yHSIJDD5FNEePeq}rVyI!PU_8ONBEFyCq}W_7jQy}APyZqUe5MNGCc2r} z`KB=72V{|O5#z^)r7rgWuyZi)&_=2yg&^_<)P8GH)eB6r$eKLJ zGAF8|$E&J&h`n=*|7f|XS{`e&)?h%7<_Ln_BX=E^_uQ{P4LqC^x_%iJna3S2u?@e} zT3rd;GH!kz`4~L_&zDN~mo+XgZ`HzY_jd5k1T> zJ9Hc^4Q%1#7{$f{vSBK8U?R)(ux?sKFzF^|7Xl^Jg^kUe#^&2Q9b$=W zl)>yLSQ~m;t;f=@j>FSQygOmo{S$&^I>WS^q-6PUHv4Yyw)&-_ZpSxlNzEI2cX+_^t{0NfW`67Ne1+ROSc z5)-KA?u~(STJKwpPcKD?DRG_A7~La@*Nzq7%~2P=_ISY6zB!{^8Fr`AFcu+!V>@DK0tOBV7fZbX|J=R$07;HM#WKK9jKf)Uryy zUYqIm6?!G#7NgwFM5pJ3w#mmCR;)MC2+gtV@2sDkz&4b1aX%nyFn4LNoC{)d@EMlh zED1Of)aNOEi@o5`g$)|tVGyC~KnA$v!vqo`l3|;c=!_d;gPIXk{FNmQEs~RWTB}$1 z&&$}j6wiP>BJ!`9CNA{T09zf7WKm;Cw5KVlZY@LY```6nnVFVbe?WSUb5e4t%(e=I zUX*&^K+QjYVY5<|p{cab{(0Wg-_b;;4uw38raH)|kT*i@=)cv=kXZ=$bM}^GJqTEb zob-0*=NkR;Z!zL=B?g__Ut=8T3lIB!)`%TeD}y4FV(;%lZaRqMg1zxVd&^>8MJnfM zcOZl4i_MKNN%OSt85FFMe%6u~8UNd_B?6c63H&J6^MidRv&y{XYnMA7g|VsJZlFb4;rrHt4zK#zR(!z}3Ps0;8?WMhC&==k-Irwkp3454562fKh$_IuGIIfA&onv` zy-;HwZh&&_dY{t%c37qPqtT{nldY4;EpanM4Y4;K$JQU8ey=rH_d_-Uz4#-P`;W)X zKH||TT@Crq2h?cu@S|VkXM_fuJJ1-r`~2B`@+o!sY^kTWd{vz!W0_9H4IgX&xR?gE zmyPM0!qg9!=aj{8;zzL;$L`^om0nMNKH_bsz;aSR;K_&JezSOn25)(XZ+j@Mw-eLP z_R*e{XUU~vw(Wjpv*b9KXiyHW12WB+N2E0?_@oeSsGTqM{2fO10^5r;OvrixU)92g zF@awLS++K!D6dWf(H+ZGC4o^cPZVgEt||aUF&?Ffyd$#I)^Fz$%%L63Gx?a0T2PGc_O zcPwO&Fh6DtJ{n_P-2s8-ejzgfK?tdR>@W`c|4#fO%9$lOKdI-Vw|wEWqu9&1ix?xv zZGO^Wu5K8y5EGuG3d+tPgf6xJ9kAKVlTqMnzoML7dfYuF@nviuC6P3=Etnb!nlA{L ztG_qf>!PVF=Im~1Wyd$elX-*6g8-m9OZPtoM*p1}C zPqtq*fy+GG*NP|{AFP4LK_pu!1s1X7`@4yiSfg4gQKU}Kob+rLDb3~IZ(rYv${kJXKXHKr-h8B3jSKkaZ_oMEv8ybRKL7{Cdo{8y|4sVX!yMcBVwt+-; zu$+`wKU`s>7OMSob0v;D+BxK0=Aqjo65B&wuSw<$Wp5Z5rd$pBENf{*Xb! zydX5^A5xVg9@483mAR$loVgJ`|G*aw6=M)i1W%*c`o<%1dUb?D2qLsCF!(sXv+g>{ zP#CMd4)}M&(t9YQu5l|ZeQn8&sP|-}*?k2<_15LpCFK>Lf;tRu{HcoB>HMYa?DsYU zZdM%Y{QA3KTro(vJ*z|a+h+l&KoM5fk<|78=Q&-aiRp!L@~$&;|C66Qg8H!(QSU4D zn$73~ZWU;Ys>(%|dkVRcM6T4>p}kqV2V1&(Hs`eBJyilRC&&phRd+WSbxg~BiMxFEq4=G)i2_J7$zT!;h$1cPVgvYj( zyQGXdn(fzJvZv2V+FMYx=2HXhE+3{-Q?HKFgaG$|iQln^=*cGThT9#GD0%OUW?p{0 zSeEy9cqt4XUQcO4LJ%lVPD_3Nl>?x*%A!NmY-RBIo`VpbPU52DP{3-Z5&BS}&@F3s z4KYDxJns$%XvXSMc;a6|yuSPWMI4LdC#NT?k!^LETI5gk-I`sgV)uXsDsUFCcSeOOBwUjF z--3Wyp!-WaCmYMZRS~!*$bC6a@w_-po(3d$kzjj#uC97{>677Q?7$K#RR4ai!-IlK zhqL4}UF_I_F&J-{yonN>`XAL3jt9or*h!kCaf>ljen}+@`1O)&CMe-MRm;S5! zp;z~6x&<3ttZb&k+wM2bgbrIv&4&G1A;ReX0lqf@LASLQeayGFTd8-6ANvjZ4LvIx zx988Eqy8RtMoVo<*H?>em1Y#rwFoO5wYSr4jr$t3_$ZeO31uHH zsH^yN2FCR)!y+k_bke^hv})Nuil3b7A!<=b;`t(es4B)kcU4M~EDl14%UiXABhPqn zXN7)`=ZpE!aO7G@Un?$mc%e$axAb5M*~BpmY};DZla7`cT~;|k>NVQ#Gm<9(ca1QS z00mne&aBb<`v-@`C3SZ16!VF+2B8DP__gmGFxpoH0c2{{H~6wlDhk&s z*^UB(e78<=Xf9>$rxdLBDUBToRl+$<2LvZ_&x6wT=71;yUFTmY#UW)}y%)`E#P>_6 zLKcbG*UH<@TSIavUw&rQ97|KdEM6iC1uQ3w?`Xf>5n$+K{cnjsWLg*_+!)XhydK7{ zyT1fFwj|y$F=!M!o{#8@-z_h++%Gl1sLnq~I6x`Xb3|r?&P}br&L1q_6>Z!hp*XlF zsJ{x!gUHv)MW^I8Jy02UIo8L;eWK0gTx&1?21&s+i6VulMd!ap$hm$lW9i&HWj_8r zxh~CLVK`8SRlj?%Us_z*Yn0EuCP_!z@+7R~IVLrgjNUDA8^gmi4=`>eV|zEv5EG1T zwZEWQ{pQxTQ$K#@zonEI{f3=>^}?vh{rung^8mH@rh9x0LjkFByU;Z1=jr%%VWH}L zGYuy`3Kmjw^}d0>qvJZdh{osUTKuJt6=9|h7d^9=Mxhh=%>^jL{N|0*Sw^vT5}9km zB`E;U$rJG(qR+ORVl-jEKIS)g{Aa}Rf`L2xC4?J4d-ihWVC-+MQ2Yfqd?Ld;ng{j6 z&-1iPWLa9zd95g_Ibg@Cdo8rv>;2-;d&kcAe7RmL`X1iT5wY3e)UMU9xbI^nvUFyGK|gQo!KhyQ?PbijCbxmnoq0K z2Yjq6S)X%m-T`}i=d-LTr*~Ww)d-4O@6&D`cAZ1o37;ruTnQl6({hJ%{Wh~J^k1kU zZ{_rPkm}$x_qO?OyraV>>Jk!h*F!Jd{-O2#nPyO`4a@3H6DGR94!fP%+Mjf48*w=U zg$r38G_sl*8Zs}Ou)*K(T^WEx7VHA2_rvNJL=+g1nGA1yo`0j^H0-{2eC?O$(QMD! zNBG1q;lUGcmysYgW+auRBo0;iq6( znFc*mBrIgU+y&(Aye-CiipI4N$BCu?Y@Sg4ZzjKlFZKrPISZ0TuZ61jMP%<0-(`c~ zSzb(%o#m^a$E{e(6ICQj5+HORqci@dV)zoYFi+1?nmVA;=J z0!|QXYkuT%lB@JK-;W9PH={9rp}+R2(q0m&|2m*KYJruLQy2zD^~k7$HMo5p2J6by9>baH!42kqBP=>GRV-0o8P zKzw_7T`eJK+39AE*W9(GwCuWYmRdJjMr6|q?TyO7QEdc;x}yutf3$P+HoMon-Fi9{ zfm^!S!HW&h{R!T}j8sqBqUHc;DTJ>;jMvjzM>r;0`oFxDwr2g${Tmx6<(m?1)sdEs zfWyvxj+?u7hnzZ*fJMd-6Q9-paz5BtP5$Vf2}y5!eKV)9EL6r*5S;d2JU900H%^YX zh1z5?mlA86&vmVRCjN8sS9%a?lO|n7KX)vy17QRLD%Z+sigkotLxuIa@%b;iIljgR zZwz@s&S=DYo$2GTG`gdcf($ z$-p$^f4|nRCu&6oCfcYV8fG`w5d$KxuA|Ca6>!E9-UvC-a{q%v6`Jm?-xF4~uz)p_ z@bl$YOW2W3v*=C>b){ZcUbxz_4|#E4u-3fdTuNWP$i*qB$Ir|WVurW5jp;pZKdYr< z7?v24{n`=i#)p9F~a3fcw|F6LorDBB4VOIITNP&7hmDb2C38GuMi>FOjQj3|HjB z_3U@C)(3H2rQ?`P0auVGbCmeI7vACa{D|S`F&ydc>9ToAtESi9*9Q_EGFhot_lJl- z+Qy}g`BimMYD=C1_3yuw{52~e#lyotMLbiRoRtW(XQsFo$oMkLzEM7{Ji*i{957rL z)<;c1Esk`|@e3|BSsaWfDTP9*kx=|_x4(00`|gSL@P)DqDT8YY0&0itGI9^%hp4hD zmbW0Wx9BweUWYSXS<2yIrThH5S5W~eotX6_ij61LhA^!o4 z4K-g5Kw+9(FZTjvzW>+5oPcQ1SJ4a>ZNbX!xoDDoD)}VwPVgeFKY$#^98athKSe)oSc|W{H-qeNF5@IE~v@KeG6iFG|E}WS8jJ_2=c(TAI4=~vmBY;AUsoXqx!B~ z0?&8)6mS=tTXXN^>brP@zCL`%U$<}n=9SGg(oBy`3=kT2@>h;7tHltm)dz2_1x3qy zFWQ2irprnaMGH~eI&64yb&Q42OpR20Dd;G28agQIH;c*#VMOA7_8(y<21N*D?PU_+ zXl%O=A1`S6l*Op&vlrD>q*<9P@oaA{osM9fLwwkkC#Ko^0w>ckAvO*(^9ve7PoZIJ zf-|}33!2{9g?zRtqZ?`ghcqB-tLlyOqlqIYz+PhIW`ZlhK^S~oTS3ylCH8uY(Z)Fx zWZ``XpKQ3AToFio`0M$X0ME=IPO*>lMJAGfqx{8LpUD`Wnwt{YO0Q_wbEFU|wioV8Vwo{J1d& z$V=Davq&^2YTM-YKh>rkvruyuF4lFPi|$O|28k+uQ80&fU3G@ewcfv+#I1tW?3dWC z^W0D6oxV{z{sBPnR1?%cUy)J~7CDlvTQWC2)qnox!W54^XBNJ)v;VggC8YmS;SE>y zfl!hg)Krif3k$60ZN*hEHLg^@e|n-Y`}G$zM;T_&_7U|gWkhNJ9?Bel?@)#G<`^RY zt0;-NnY}Ocplz@|X1a;}oLY43P4@+NZ#-@(K_l#kb_!U?%W~d|@jGa6&4_;gi>Cp% zeTUy&%EfkFRU9$PUJ5l6j<{#>8r?%UMEiRHOuGFCI^OV(mw zAG%JbR*o70f)M{>wp9(MlCR!s#-+F9HA7}rUedaXCs(Z4ZGx3lT_GQc%(t_f?Q#Z= zGcbH#wz>xJJF0poYQlmyl~PN#E82OE`{|A}@~rjx@{OIagdu9zUZ~A;Aer8@^KNB{ zO;n>VrwrLf!R%TsIrene|5l{M)RB%K{v1A@X)5BmZ{)Yr@B9R!9?{P0=A?Bu1@il& zXj+$>&D}?ycSyK7UX0J$xt`J!t-m$eqEnmJy|QnbnVME^uK=B=p6l@3twq6hv;!&3 zUum4+mR@DS8q?f#d=t~jGMouPKxO0<|2ynHl|Rv15$<)rvG5~d?#`_lMiNCLi$NT;d1{+UK@lA89}dLXvx+q))U?gocZ@hO!af49vLE=jbd0U1|EQ)uWDpAXX2Q%Lnh z+Rc(yi;m*jsE`C|X>o)17+yV++P12MvUAIez2gK8^?Pm-!p3>dhD{c=t}Ac-k4~9U zKd&7w{+L_a>o(`HA(9`YNF%S zxqgh7F#$@)cOnj^XOrGJSP-Qi0R9EsAPMJAk+n&h_t-Vb>m09&eLrYn2#m6pKIMW} zk|Ia#2FxR99fZ5Nt?NHO&HZAP97kIt zrCAv-XK#vp0Sufe^*4P(!S!OcrLd5QIy2SA+_yV-&&pJBDlq+V{yv`NC~23Az$nH| z$B458$505z0Z>UQdH(nYDI_W?ivf#fb4@1R)WzR@YOKYexoNF>A>!9q13hJ9#FO;D%#+INvvuA&k8)ef+H)%5Yqr|D3GYsx_2A0ImO?OXK-T>@4Yzw&upN2#;zk6ZY2KG^OlyKQB`tyFDF8&Yz zs5|`h3Z8w%Oy=t4J}zZei(86nfN3X_*ZWE(mhJ`=uO=Hk0F79lT$oiyzg4vfBdn}o z+^jD?9jBXzE>CI?rL=Cb-Y!!socP>Ua;|xz@(S@ONmlO=cuERS~bD-*3(prt(;@`2uTz;Dm`xKC+ox}X-KR#cU zR8Z;|_ff$>v+X+fHT8Oi9;5a6%@a#ocF3O*|OR4HSQ zQMtaz4H#dspxX_DpCUgmjHxSsAfXlCYc7?o_?O_+tLyaRse5c)1A~_q%P7y-r+#xO z>*acVn^(v~r>|=)3Tjz@n|iQQM(pXhl3aTZvo#~S0_h289A8!b?0LsO-TA21p*KR? zQ5qewpw5~?M4YG!Mq@p;^wz;iEeST))CU~E!ST`Kj*l<&PmvQTMH}}>>+&IG0P*Zz z%JxlJwNbo$tH9H3QQOgmsCTPr5p95ta6ZyVCx?2gQ&(zmso(Wx_=_@j+cTJjCkDj9pW z3b3&xDWQ)aajEj%cKb?^@VsXe?KJ3lrFc$=*Sc{(n1c!Y7UG9q0(ZIGf}~FZIwmCt z9JQcFZyC@By!?j?7?_g}bIhEqf7VAg5Tm0>fOj)3sE`z|Ztjj1$v9|n0L;>6n)rql zufC-{(-=P|*7PB;6CYjqM?264Xb&&N7tDHxlDr=tyaI;zUq zISxuX9Rgiq(~CC=Sk|)4UxeSkWb3|mL&XFES1~HfbTz0_LkZ+lRj$)>8c+l__Mgkx zUEg378B(^O<=J$OU>qf2LUs#>XwadFGa;?`?tpSz+Q&c_Tu@n``I6UTjTtKA??7O| z$od8^(<7-pJ`NqbfS~k2LBqM6AP?!Y-`|>RMw{NrtfxUSI^$6@U6p?SefSD%fE{ln zTl6yk_*_qs{<2j_ao9)UsfMbjMz*hQ3Lo}UTxlrK|M}aDgrSZhBe~eW|~@W{f+hCv6o~NlghwCY3y%B-8(Wn zvp>2K$T{A9^!&jJFo*b?p6{G(Bq(Fe0HiPvc zs2{UclV270+=^5qo@$`&sR~l^t^bogtjh*>HzV%)ZELV;b9e`JzxkY4oKg*r<4#E2 zEn*IH;NBQLLhE2egZD>CL_}OUKU@FqH9r0bTUWRnW`7V9#qZ{E#y;N4%-oL#F3IB+V&RjmWGtgDk_^#?qk~vba zn0=iiIx*Va?Vpgnk0EPD`J=V}o!T{|Ti7MUySTN((T2~_hNZ`` z+ci$DDp&D!PJliZ8cvu^@5M#Vwuy;-u?Tgq4$eZ`5o`k6!xQf)RgHG*Kp=katc^|nte@LtS^w#2b%QrWB-lwj8Iy$R*vY%}) zxO<$OOAPwYYwAj#BsWF?!minq8Fs$3)l|SOF?-4g*YZ{o#@_Het-M`x6&B7NSCjImXY4CZN=eet zG?aE=xyZsTDJJa}pX`f0Z}hp<;G|M!^=KqKsut0wh}d;y62-=liol6v;b1LnD2gg5 zFmnkKde#HiJRa$3_RKc(Q6`+zl+`Iic_(&2A%6)8{)-l};h}!WZKcB@)Z>hsj=stG zK8Lredw9>%iUXJ|85(urPM^6# z+s}!a09C8UIKkkf86_lgK?7z`X`Pu_Rzm~UC&!4A$B!4p_V4Ikq7gp2A~9+UE4=Jk zo@zK#kQa~Dj0n0xS5i_M936c|^bmCG0-IOU&`?@Riaw=oaYuUGDeCZ0=v9E*2MhTG z4IG>kX~n5)94I9LNi_0hYT|IqLL&L&&0=9$q1iott9G|t#k$GQd^J2;b9Vy3Ew;3` z(C5er@1y=2Z#@|qrx}-iXUuue+$C8DE_CXVi7LUkqfLs>Z3^6DA{r<18(9gDO0Rawme4iHy%XWS^|q37GE zd^#@K*Px>YQ}?AL1KBg;NXE`bwd~KQlT49XO3noWBWnk1@v2I!at_AJEqa-z+@Yr2 zR-1?VRK`NnYCn(t%XW%sNPaGfOYW$x+ zTd!&;#Y_2&A1ODW8IdJP_uS04IImG+L~`@bagBW@T%r-e0)5!E+lkF1x@C_CHoZ9W zGvcEMHT%bJf^}2e$7-jrW6ra#ji>Zfxw*HABzd>L@jz_;VjW-Gy?;KeNt5y!g45yP z%AW{9C?g?5541~9e$=f?ySN6~B%(or3;Akc2b#&6sN1dv%BHlALNtv3cCrYD>MD{_ zZRXB@fqH}p1?of{a#Z*W)w~H8*jFSTo z&0S8h{4rW&;M3}btWgHYk@0tqXd$ML`5i^v(=^Q`DkIL{&DrHNmDa`+C?O%J5}v|p zKV(`G20y6Oj4!??y|>8|=_0UBam&i2`E@?6emt7iBsf`~X8GO8^&i-dh@k#P(GpR7 zK|uq{v_*HTWcVz{m?bg9i;Fp#MK>QD$KO<)-_)0_3w{`RB#}~lbUFEDG!ZFjVGLjW z9K;v1QPk1x%S%jgtCO^IHF##Q%d_eFA8Ew=jcb2hVXd{2MMX4BR$G&?KLTwsmz`l;Tp4VkZ9vvMCNf;RBC|FZss^Jc~4C4NL1~O`7 z=7OT42YX-Rx#KmYG`=_K8ph}9>@72EnW0$b<}9KV+x>|D2Qr{_OC*n^s)ay0k}uz+ zj*z?5L(DZ(>*tFkn_#^ijgt>XfFHtT0;`tz%+ zQ`1OHCN1FWd9km~a zERungX!ljh@pi1W`J|b`ch|lP*h6g1A&BmaN8b(pO~At_kyneF5sT{F`)wG7{m>1M zooYRubM~{wr1gE*;j-rsV}6_nAivMfDyumP#9O~(uw54ma2 zXm48Fd=kJQ#r9nk>JEw<7q_x5YH!cHyAwC7h3eZjOnftgVPju`UhGf#-$%EDa7Mg3 zE5a~9o-kZx6QLJQJV}1jaa@@+#R+{ubacH=0smnfzXR}dJ&%zwCC5N*f5PxBx83bO ziaEZWF8mWn?q-H>4^nha1B?Zw7%Ue#{P8~mNgW}+`5eDeU+9B|!tuGIKG?s*-Pcr) z56$3JBz|B6%uwV@TB>Twaj)P0GgjY9nyag8fY(FQc}p7or?MXPL#rHFwzh>V<|Z!N zlQcK7B$)PNLY;RwQMXN*=+qaC$2980LwWU6d)rntgAlLr)S*Ku)?mjUG}`mr=7%q< z)b)5QMdtTUpQ8|yltJR|V@CQnoB~R`lzq-w0`7Owa`bm@w<;MCGE)Vo{rjXYzGSqW z1u4z^eb0?!4_bf-vCt}Z@Yk#j29*`*aj318I#i|i@ScJ4qCs)$o?Q2MP^sguC^p5(?`3{tuzgYR++CCb}1uT+aWpE_!G!VUy6pg z7wu8kIzKd%$j+D#Mnq$bXeh% zACd(IDS@T{rWkcC;i}|v`EiAZ)g&#Zhee}u@N@y#gR()wxSi$+o0f{bI$9D> zmxYWBX&vpy-^HQ%#atulYfvc5(6PoFqC7SMNko%VR64&5y&0a1G7Xk5pv1iJU${=u0FnOCl@Y!V7{#eK-DSmyqJg(#&7=>gn~G3M<;tFY*&n zTzJ~R3%+(VEI28L4L)6Qix-Q^?`R0iGBsU{R{9DX%{dQrGqmJjLTE;8cfD0T3+^Ak zVF4z;>>WgQCeE>KfN~znHWb0i$_Z^Y7eL@vcK($!d+{)?2k*#CnX7Z{xOw#K+76^} z>1}A^IRN`suNNv~qk#s3QRFB@SE;ty4^G2;&7?W4QuJSOo;mkd#~8P_$n@_vQTf~w zu_ad-+D)~O&GZ4k^j)$kH{v9?UMu6FAd$P5)40vm*95EqS)4vDLU)%uSJOp~vPKy1 z$mf!(Hfb<8eE&X84$U@&Bd>9?KDcJAJpCL%mLPJ(UtKqXU7TEMNWmUM&5$q=Zf| zK`^AcvHr-CfXQ%R@8~ybtHoJBNfm-_(KgZUT&5T|ag@LFc1OE(AnQT2@Qn6t6%rea zv4sg|JTsEHnGGa(BK}=$Wf9eCBZxM7D0W>n=vL)$~VY8z8i z^?hviViBM15MBU8d!2ODRVe^+l}Zr0Iv}xl`kVrg6o$7hmd`vu{19v737 zGl3gL{Yw${tUys|+93b-#S5bE$eOLTvn)G_-fsVkw*|GjLsAIq<1v;~@c@1xngGCs z@A^lB!SP{58zF09;B!q(EAQ=&HMBCZ{3A9o{4T1yE;s`6BMM21k0jy8!H%K>Z_v@I zGhJg|@+!S!iL!_i5vHDPbQ6}`LeUzT}g zp@%HFdrTA~d$|{I$=L&!sH{_yrxI@aQ1ec!xB;Lz8Cvssi+|r)y>X<>-gdZN{CxjP zLI9afnd`ve&tr}!)C1`b7_Z#K#JIWs*lp^>!d^CF!w|o|(qPFNa5dpM#a$?DE^(>)O%0u_dQ zmy~KStT}$(l_cjN$wx7Pl-xz!aeEd5_1Q=T>H1;wm)PVvCzk}EOm z=1`s4^4a;`PnUh+a~jbx-0J;}v(8Y#<#~C}Ly%_1?4O`$PZ52_8eB~3-yIvYNHm=c z$|j2?@(q*MxJ*!&vnkcG<5o7h-AOY5>1M{%kaWCI;;uYTN(9$~5ho;++MH!z7;Na^ z3ZvS%p8U6f4F}2;7XWgvkr)vAE4=gdo}@^sdx-KQ-Q3YM)|CB6ytL>8n%kJgeJb<1 zblijT@2I#_h89cI!W=^#->xQ+6&vP_xOmH%Juu`-nYKZi z05RO&BNSHxK(HP`+BT4X6Ajh6eA(duf0=Dz0A$s{CvB|H_G>wC zkv6gRdOyXfwu%(mgI{`vyV`c}00y$Jjhh227N`{HsYqla4X9E1(c8!SBG%$_G5pBA zZHVc=IuoVgeP*9=vyPOcc(;#+OHItid(3U79Ox&ri%CKHC!9&78J@Or^izwg_G0z8 zL8zIOTadb>y_vRHGXfnC&OiCsTWXz`5a@exYKT$z>Mxd0Uu9%%?ob`ds?B=f#vi;m zTU4q&eSqRUYBn;e|FwJ{(COeY6JImzLnHZy4Gn>*THcUQwomqS$pY0{9Jm2#3inz{ zsbENibb3<$+;D&PiO4L%9laeQOz1nY*Yu9@5k%B&^BtEY)QbT|#snmwW+G0AJ^6P$ z;2%G7t;Q z2oZ)3#y^$iC!*B3@xWL#1xQk0RZ6FEGpj9FO4x0g7feBL=n-!X)n|-yi?R};r@a)- zz4xL=6rKYl!Rs}Pw?0b3sl0Ew!-=~Ij!(AolT5nO?^ n!b9`snJ9So3wcm33!fFDIURoNmyJw8|@A+fg|Ng&!yv69MwdSfRRW)m_s#&wRpSu4EzMnXVAeE|Nt{t14_A0Z(i zKE?$+dW7%@5eW$m1>+IoBTSTs2LKWt{$m1KATr$>LNN}9I8}NhaiZ_BRb!+6xoVEa zoKEUb4pEl4su|+BB?9siz7lKZ*Enk=^0YsNnH)(%U0j1r1Mwbe`UnvP5%JMuM8wCx z*gibsy~*|Gs3I7}rv)O3InWs`KR#5A6{k1;PRL2Llo#h%t#)+(4SDMP--XwHGwx?$-(z;O;)gt)!>_-QDc zb1Dav6PK6noA|N+8P-e^tiCXDm=Em1$Ap^tZfIFMrMdx0hBZe7R9PMMI&k|%POFA~ zhW%%tmzw#@u41SHb!KH7MC8s$)>JR``^@-idJH~f^$6=Ueb8p$nDFE}-8u>!RI;U2KR(lW<^oJ}8OiaPRs zAo%GFN?GW1bhdCOgnbW_^@i<5G!wK3#D+4CMr*%Qw1*VkMI|H7zJ3ol5QV%5TcChf z0@Fv~DyvF#hM4R;Ka~QjbYik;r@f@+EYO=7A$*dGqOKL$6B=jkiT}N{g_!GZS3@_t ziUz-7ERktkDX?&}L4WGd02ur2#H2q^yuXOqi&WW?cj%VDaiZ_}SxIW>ERLO(W4g%l zU|+ped1`in{ORz8$DOjM;a$@3Jz#cDB4GF%aQy(uXH`M;3wfxLxi3vlTmDX&Z&Wii zn!YpMWzB4%BHKOS`t!0?$0aKqQOc?zM7P?ySlUf%#!sv<+6{3@NJ%o87qqn2lS#A@ zz)ym(J=dp{4czkHo9H`I_p<@69N|Jv{d&UoN-?cVjP1|DQZJK$w?D!_fP}4QP+QuB zIU)J-r4ZTK&n>P8^M%7-U`M@tzM_5x28Rsn;qKm|nx5}a2;SUO9tD#4T(?xD8*22Q zxF=J0^tiwDf>3F4d1*ce5p;HALS#%|kUk^4d#Gci2Hm9zjv`Ig`o3J~uDNLtP|pY5Sav`{9SRO)sFDLqDo|g(qE0~V zMAW_3}>A#nClVIHU^SMlR zs-`>&7(|+Jsw!Y$A=-7JFX21GyRsXdyuJfqxpSr615OI=0mpXzUKR7c^a~3#4SdYp zFz>G-d3+`);``Et>i`#~oHm)Id%)ZQM#6@CV&}R7E55P!V61eUsnp%O&*#jQ;=amW zly6_nSUwKF7KL2ifnW2d__RhXh+d5HC|J|k2cgfWe~qDr#9H>>-OQpTn*O{>B8y55 zg&wS8IBN@!gm6W94Y!Bq1wU?JM|B;Q4s@!cH5d6H$2bu?PqpcmCHu15!+}bFBaw;` z1q&KG1-8&O0;M?bswxk#-UA}w7CRTthVZsD(bL+-#l;1M7y)DZPvM$KtnmtzS{qYE zLAO_iu^St!M?%Hb#|2h}nf*O`Gun5EJ=g)a?7Y|MJ@)`VWMm6YQ4Bd`)*>RuBeOZ9 zY^qnDoHmy86z-;~yp~dM=c;B7A;;%3(#(BO@v=g3RN)|Ubyq*@p~i~qn37UU=8}Mt zqW?|_XyzW!DDw3Cr83sCs=2xG@-UD3JEsD5^KiZ^tBTRN?$fynHk97GgCop0&9^U) zKWUFc@HiQmZ>E+P6^Ep%?1xoq%R-Mk<8Mp zI`ElmrPR=v^kfu)O)XY$Bt6oH*;JMrMZggWoNqr2QB9?ctjJPRK;y~#S>!7%b2U=F z;^j09-`xmKT#HcN0}4fx4X+Omw01Au?lSK5hm|YC-|vTIczeS@k)orQXW$nTz6To4 ziUf*$N+P~DzPnBp10JW@IA0xXX@jAHo&F-4l6+PDP^Xpk*Gojk5xA! z?Jn~b`C_JFC=>hN%jo>SHUso#C9b>nx)epqj$T8hGa@TVj?)|u(tou}S&;SJc(12c za*{Jh+E1&Z?)*Y{Vw-jLvvql6dzwj?2=FW$@65WsBGb-Lv}<+Fs}cV&L$e=5KV|}k zYnV>;al`Dl#SkZ*DVTy+kIHVmDO4~Uacbo$iKNrMR$Z3l#5>8f=GjcRHKpXGq?TBa z?1jR!Ul<&mL+<)cby_50dRImooJ7(N8hl*?>JL1|tv%t3pEmrQ;v|B`j2-A>6GC+p z83gHLqCepUK2h}|w%==eIW=2n>1JJTSK-=ZbFnkFaSOQ^wz~d8%yM3D)%aus{pho? z6?EO$f;8+hIlJMU`}zZa%^*n^P=2`=eft$!3&VO~ZbO7z;#vUTpomJD>*Sq^b(K2N-Hn+wA)k zLdu(1=hN1~+E5&2f}I_bn{H709fh=|DO~zjjc%!j}GT%szkUGsSw!ENU$DXg=K7wnm^S4 zp?~jq(#lE`PTu z`Q%Vz#D+<8Uim^=fb!y}CQR>vMDsAp2~T{U^R4pH^7M42CM?C@o#kjXN%} zwl2}q6Rp1_4?7|L#oXwD1oed8v`0BW%rpDk8-4+#@{kz1HE@r zT3soAqx`}COK+G43nKo@{68s~0)Zyfgsmf-T!qjw!p?CvS%t9II>ay4jX+5!b?ir~1kj z%DycunVN4Z)Z&$#3T3GOwb%Eq{(dV7kJ$J%2&zmPiNLnY-0+%8KpbFOS?qxOZ%O9= z*qKHY%zXnx{4`cS*$}i((H0u-w6RqKYp1<1tP2&Ln?#;M9UGL?Q&O$^(}Z~e5?H7c z+AlXXKxY3?z?-d6L!kFPfb2od2Kkgxm+t(d55R;`4DWZ3*;YzjguOwD3%pM443450 zAzbl_Wy?f}>THlRyLi@|M4Wp2UC8tEdh;}kra2Q5cz5ZB#&uNM`;wHr-SZ&=AV{YF zp(YPa)+TQ^)BPTB6kShopoP=fK{6(W-=Wu3sT3~$Q4BWJxoGD) z(O5yoNI!|`Yk|3tBzzWeVLYein3}C%o*mk~l>3(n)?)uPhQ8dSIc2XH|8KL_E-l`> zM^*W$PvdmnGDPJYVtRMIcy1#kn4B}?B5)TmK1W0Q43=eg9rsc4^~u5J*@~&627lzxQYeDkGejwdIP1UkRFd}} z_P9P$&q^Yc!_*3&H{LYH5sEtg6{}r(WDhAyI^@W|7~py3bN07xE*QgqeFE*?Elo9V z(eOK>(cve<$kl%kncEli67K zMOPwlsaKF+ttNt0hu(bt$^25Rb}uRUBwR}0W$Vl5N#crAUG`eec|3Nq{5o^=k{0`t z67-Us|1801-fyD<`0$YGUD0sce#=|#Dml8GW*HW4vTm{8^)Noa?!y-sz;3|98Sf8a9F9CYPhN&d`WjIp z1t%~AeDX+cCYPEoHm+n8Z}!~=A-?wjh^|KRi@WCy_W;Y=!0Eew#m%aL51@cvSL> zn>O^dw&Wc`0h2z-Xo>znr+{=KVVT;Dohf07dV~7t;iNmmGOdSV+PPjGFvkUsAk-D= zKDwAbE@4vttqmhO#}V6idJudh|0~N@wxB4vNnNey%@0KDlb0kWcfl9RR~3HP1Kj}} zsgI{U(g*YkVs)XPs~XMXNL{YpJI|gh(2&1EXF-^*DBY*K&b^KE*@HXt>~tRSyN7E^ zYB#^%*(p1!~5v^8kX=D3G7R+t)fb07}V(0ql1LCHJ=0aPw z;X{F@KVTw_`ikA;2dT>cfP*z`{*>JL1J2dZ_5A-D0dvuKKhN7beLvGSFJFDjKN)uO z8)QxXuDCbRqg?Uytr>N5Ri*SkG_O>&YzxkHap~NmJ_| zZ<1gM``C$q&gC!a*M9uTMoLcQQW;`*X%T2pVsH{-*sCd9ynJm7CygfmLox7e)%C_9 zaZd_EY!y}|$ zj5ow6)OR@ppz>lI$Pj^}9IQ_0x67+?Y#?rqleT*;`G%VHYW;o@mk-(v-p)O>CAtSF zLLc@Hj_v`U*A4X#e^$xf?1qJm4t%i8OT{&j!;>?W<5|5-_4v?7O6a;XcJr_`;~>Nr zq|&F!eXd@@vzTH#zGZt?=>VSfJF>sCJ{4V`E=i*+u}=N`@(3sP9$<69HR)(s@`Gps zoK{G^ML2$)f7Gm?pv`!ix!Q}^8ATvL(~0KK#gtH*PeZ^F$AIp#jp#ZLSi!6FWz%b( zv^?}6Xw+C_xC1lj4b79!yeZzvX=DD)?_m;Rf2ZiD&DXuxcG=*^y(V%n3!_SAGO4|$ zc2i%Oe=j66a1Usqjxy9*p0nbM7K9!Lv0e^FQ>vq`fC=K6%Rw3oSCoR}ii+?9@3uJT zoulDtM9Dv@;^1rDnVOoO)i;ejMnuM5{RqBUn$z5}zdLDeGpgtiP1P3GsVNL<$e&Yl zT~k+30~f9{iY8Gcn*C|qJN6~`KJmD8S)<*NAI`8|{bd_yBbTgtt*!G$RM_!%{{_A8 zfB4c6AKsk(!twRQD`nHYF@&B>zW9Z``7gM$!PKJUj8B0F9435PvGfxv{S5)DSkn0i z5INJRNfy%?DE)d(WMdT75AsH_ci4zwLIRiMt}XRcYxTcb&i+!FAiEL4`NXKs1_N}X z)s=xAIze_3hIh?z-0yY^T(&-a^Y|m}=gYQW?6RXOpfPLYkx8OYWH}<&7@vNhECUNR z)NZMr)WOjx=7|X_2Q%98$Cy$Y2Ckf9*qf!jvw62)vj3`WFjk*fRQT5(6QFlcUzti+N_svcjHXk)L+WzgRgg_8;Dy^2&z~W+(D_J5iLTn3%)@Cez7- z#);?0V+5j;4YTvExV#e6Sj}XnzJIed1=l;q;YgEhjU6ASFW(WqNgj93eb(ZaH*F1` zyn2x=^`&RFGi&{3_os$N&A+z=Xb1fkAG#`qzfIUn*2|a{`a?#2&P&)Lr$+z6)h{6) zzRP~6UdOhtG{jQdM()nS1O+*m-K7CeI(7H+TF&bvv9=&7e#gA~n8dJP6{1 za_lrBjtgBd>Kr^%Hx^-?%?ZByH0Mw2Qdqv#N<{DDYZf!^-Tc<5Gus+UF+0d6fIA3}P00PDa*MXRanEA&>DWnU*f&%4&NMb^OrS&R#44E68AMt&zT#c_ z8bgZnWA)2XwTf!Xcb=NrJgxinf_m6H-SM?Q{ev1)a0Pf=11Xt8Bw|_3SyK_z-v!yl zwiDzsHn`#-hOiOGRIjY`J)LC*@varjKapO?jOWM;K`Uu?All03sd*{P-lVrd9qeXV zfwP`rM9@kV7r8Rnw=PC+&ZeL@e7;Qj3iXvT?8^!0otqthzFP!7wkr}_&-7q#XL>e= ztTxw{sJgmIO{1dATBhZ@$%SN}b}e%9s6%O&ZrOSc$t-J_qd4xwBZ>JLMGNJ-MPy964P)F=$PuH7< z>R_H88{8l4L{i2nCnD+CROZ1EUxm-hY-W$6HZmXWi{e^+*$hJiI^s+9`kgRm4E#Kb z7E|&SvPN&0Z{Oa2DzH5hRU=}T)4JvB4}xAkaWXN2g2Ncz9EmVcWPE89O6=tL-nbI4 z8Q~c_px>8^V#JVAPW^Z-L-CU2E|wS7J4Ki?9aGgRaWGma+Q>23!|c?DDCH5fE(GzD zmD4~p-u!Bkos0tMDsbtm$zVqd6$!p%^4QaGjVyhAN)^Y8J}rZ;rlA-9-*SJt!;Fc% zlk`jm33A$G5D ztZ8~ON&NdF4Ksay6N{i-GGzKKYl(>0V?%5z4ujaelPW>Ty8Acf^Akgnz~dP_lBnB|%0rt18gRvVn1Rw-&=K3Jb0oGa4uIQHCd{ybuz>G*Q7)sKw) z>C#K!sH(Kct2jTE)+_?_kFQ@NTIVu+oN-Ounp8GSoIjlR;MetGa;@}B5|I16F?kQb z$=qKVB6TE@iKl7|$0^`h6Ev|Wr?7lfp-h~u%uG@^k+PtC2wtx!1$t*M&Fw&PR_s5d zuB5o--#gI9G!aLw1+qhN*;7JxEogGRPTrKg#YsOPtWQ zVyN1rK&%#}QN+aA9@DZRg!I39)aeW(+O}N3FJicC%p1mm~sPCBtYusEwYg^2`ktb*tD3 zO;NB=zV!eCJ9fb6t&i3PWvCS3QuIHhVp{X?nlvz9ZIvgyR4xTJXD^XmeI>rUqwKjn zXJli5v9StBJ8s~<=8*i@Ni`01yoy0ei>0T=pTEFe7UHG0!?1CjP(vhXuk5Jo=rge@ z)C*$Nayxp4XlJz}v9b6|LMZQI$x$n7rk9Z7PK0L_4z|^7S8$tx~nh){^GsBQ}c4wUU2V=# zn_701LX^@};J$`9A$&S8dzQ)K$u|{dKdc;wPGll5r>mA9RTit1=!yI|JW%;dJt*Ag|;lw+r0Vy8L@WSyf$|yp)tvvZhY8RaW5o}gN zeI=S;C;Hhi)X^a@m0pEjKxCTMG1Hkmkup`f086=SL7#1rhWhmilf+H>U2}?U-Wg-^ zgrHL1Df0Jm?~eROUx`!+w~H zC0c)eayF4wb)$CJ)?WMj9U<)}*XbSVPEm{-7VW#|mxfE?M6(uu5WbjP7Cvm?2cuef zk4^sqi5~tFghL;@Y;y#Wp22HGQ_IIfMWS@3iIGW+PV($NQhr#dp#KmJ_ocp63HGzw zyW{y+pw2IbIDZ)WJuv*u?{DI$8ox!n2mF>1bVo?5`A-VuXe0Fao|fd3Yt!P)1FiiW z+gt+p+!tHhtvZ*0@qC00NTJfAhV^gq&%`UlS7d*3teA3SwU?|?JD^Ghc4?`M_7Xgv z&)*jCN>v{z-E4#GJpuOi0Y%dGjD2oDfUEBgYTkk?v(9sCDGZ+O>S)cq64`TU%>t6U zhAAf%Pzo=w6qbtbqXjW@&;IinQ;jjz0 zgw4ZyyoW#uU(c%_IHC6dxS#O&1XlfzN^hBaKtFu1;l^w9say`H6dmQ8N%J)UtD>FR zPh%Qb(4){*b2ofWAgfMYoc0;R*-6#E5bzy*Aba;8$hQ3$`9t;~`|bB5>U#kDMpIgD z-Cu}4)+il*jiSFKh}OcBGY00poQIWXBDZl*{?~*%Hkc`uR?5?mPNP*ZJ&R4K@3 zdC#GNuwO`qP2q!{ud!`rHLV%FLC-nA`HSrlOF>=v-p| zG&Vy!1kI#QlcuivF|5YM++fsmdH(>XE2C_K>A54&>DU3EN6NetL@19ec9=~Ld`IX! z2l_O^#RJi=m-np3MqExRKfA}OAB2nrtB<_RLdrj$fi<7_Rt>dU3 z@UGKj~v+$k{0BA>6abOm3b+RJKQ_+6=E_s^n>e1)Jso2Of{8fB!ds9{;_b zpHW)Xo0oOS?AQ@ls&Z>tmXTvX)XLxud9u(+#ama~BdgiZne41OsUuc>{b?@pCz4+@ z!2g?K1gHKd_g_Nb-)UeSWshZ=$B(M5o(Ji? zV@9x<+08=J(0homddKa$ZJW-kESIb(=o>vK@L-x0=?xpDQu>Ef0R1TdE`VtzzyqOe z!pir+@nU)+odJ6t9Cc(^w+d63z3H~YfD1fKQKObQfBBR?MpSZ>P zXdh3CfYocNCWxTe!dO|8Nnbc|_eld|Z|8h(f=n}DhRZ@f3^hlWZ++`Qi;FaEK{&QMLH)*@!1XYPeg112AlbEx9 zR?qyT!5|i2O6!(KAlWbMbnl=v27=ohE3M% zv#m5`PCYorbQ*l+2SY|ps+vv z26C;!%+w`#JB}P*Dm}$LU~yHx?;a3uyErM4R-qsyD){tGZbxsTDFeL>W^}n$4GZ(8 z^V!z)r)-R+R6P?xYD6M8WubIJ-d8Q3Qg0Fo@fTV%6Zp1okuC@zVM%;yZYkKz%IwLT zi+decehj)R)-c8EmbcdScl6&m8!QO2L*y}f6EXIt(QAUcK9=UFXqP@ma?UL;byZ@M zCg1H1_}~W9|0+FNm-UX%AY0UI)}CtL^vL!p^vIE}ud{nF{#`HMLH(5ZV~k+wNjs$$ zOUvzDPIrZoBZUR(2#RT&s908sWOAX%sz&`a0@v)|l{7Sm0-z#AtZeI;Y-FVH_BS%3 ziGPW7|F<78Ky`QbfSPG-u+8l~z^c0Gg{|}g>xJ8f#iNoh|LL~c@5$rux!;G{{_R_y zzr0q=BOV6DCuThXBxW-=QId|a$GJGSc?&ga6JqCH2+i|tvnLuuBh_p_Zei!TFe)qQ zV!~*l2~yBD@+k4x157VWDfSi0D_Za?LF6K|>%m=_K68r>nT?6UQ`U;jlY2nNL;o5C zC*D%|U1lHKt~i`5kF7_J+wvb`jtR5l-N?bIU%Ce- zBTGiEPx3Xh|9)ct`c0?cCcRo_}-_-p;P;mW;`TDdIVL`?}YA{-i|JmN`9^IiQJ%BHN=(&e&piV_Ht z{*XElwP~wyDDBy}fALl^rFEBvr4M|xRQ_)w6%u`SV9^^@U&T3F5sQQWtd332Ny11G z44zTaXJ+FbQQzK+`1b#t>p&=G_z2jR6Ujlb+x)+*wDZ!6aWo~VQe+vb8GWs+aFAzb z^ve1_7%$Yown&1t|Vz@whauqiYyVKtL zl-G-xWZ4=@h8G`GoJ$ci_*GFxvFV(eZ8+^N+xH=C953Tggvzzp_z9LAz&eNQjHwbw z5X5NbnC)-sP_dmB6v%3vf{9A;)l%YM^4*(?2t%`Go}%6C=*=scGsmKGVV1q@tmzWq zRht0E>yEfGIbkKxmy?J60lZeUwsHr-+zjEx*o zDm5YqnKr9q5cY^q>dYA$`0-8p$|}f-%xp*0HzmA(24E?;cL|Gv)kwS19%BAa-)Ly+ zGnaryAs=7PLMXRL2RV$baQJfo1N2k#CRj_8hJw({g>sDcOZvmCeVOz!INqvqa%!!i zvr^e3B;lq!{~Q&-S-issCC=^=AHxOHK2 zh4QGxp7j$EWumTwD(b!DkF5%zd%y*~fx+;?NaD$aEg0kmid3Ex;mqLJI8C_>8IP5H zL8vD5;iy6)kIKXqJ}*jgV2BQa$j$GgJFSMTE{aIMQ@2TnhcIXe2cMn+0K!dkUV#_s z5r-rj5s1&APh^g(66Elr#~?NK&Nc$?xpLEwq7RQm5azMB>Txnwghm7fgH;FUw&{-$ ze;O~)?!fBS$etfW!h+G^lt0#AYkfZFz-xe?ZuzpOc5!|^dU;sQxNfqoaLA2NzIvv1GjNm+ncVhpZt7~6=KxEcMrh-DcrdaJG=>u zJmJdyr1GgQ*L4a582~(Q?(EB(W%oX;CSh(>c9kFahS1m;whTW-Q66FMtak76HOFSh zNwc|ZFpCz_#dYl8Y1r4mbea62xKDYw(x3Q5dyvk($_I;KO=78AfPgBaMOdP9&-;{f zK@drv*cHglyGc!lrAD{RFcerf8#V5HQ!>L16ezoCquq}t;`wjD(2c|IR| zaNsdZFp5KvoTQed`$2Cx&8lYjYw9#i-vz#DHZ5eq{?U#2i4qaZa`H0Vo}S3SSZpX| zcjN$l=9%W+*__vPbzeBu*>cS;LMjKnrhwlIx@{2~U2)+J`Dpnr&h@1#`}&MJLXOmY z(0g}Nd&h=7R;Bk^AnF@NfsE|VBZeeGwl_L9WzOEUO&9? zn+ubBKr`FfhhUMKWLa5e5Bq(ae6azWEa3Ikwr3jkt9EZ&>UKzfS|e$SV;f~Jn4bL+ zQa1CmjzHsJJ2O;a-HGyglDk7rnq?u*0Mif49Lfb@XCbb1D?FyOVkqt1PApd2h!Pd$ zD?*|zde*^ft82^a&8lk<5t$I4Xf2as^RR^O3ImXx{9xzh2L1|+^+w|9F{Re~oxD8u zIJ%Gd16RF!xfTCebkP6O2S$wZXI518XASTCb}p(}Xa8Vm=&^?GzZdXLTnLg!;*aIJ z7T=3uY4+}j))c3UUAcM<&ZRri`5winchpHW;;l5WSNn#ZJag(QQ62xoUrY86mmxF* z%Xr2@qZFaE$uLI~kfb@t8}#9Q@qk&R&AFDBzO5^TJCsV>j8iO@G>*r4t%s*kT1!#e z*=Qt$W`2^ecj;139%d9^1uu7`?NykM?O&#CX2D)VsFhZAvzoC53G(>T#+(ezra}Ol zMNM(|+`H;zr--L>d+5tohE2ZxG2qpuJ9G9^46xK`oAYflEp;#SX25WhxD7RP+ci;Z ztEF#W3pqJNxr6VNpFnV!kneJYD|na(NM|Ffv>y9?Qe1ih`Iw#*y5_D#va~Gh`_g+| zf#0|b^t8@#-9mkIysqkeU)jpn#><9y|HWMNN;f7y2;ZveI84Fv9sgk5P}WSs#(M=X zYWEq4a|62{q}c!aYS-Y;>siq13d0O%@>(kO`$YB?<~teH!rYb==y+Ioz4vAJBxM=h zs&G$#APQJa=)_aV3Y=aBnLtm1rfQi0F`BCoxJ5>Zsai5PL83%`B)tqO@f6iu@lWvb z#0XyR&T7o&74NFKbNZ6ULj^a|H=R29^?b=mulo5)&8Q`MPQw;ym&qUXM;p+VxAsNZ zDWj}-16P*RnC&z8a)(!>mRPG42{}zf^PeNXTIZMXpK^_9Nk+{EIZ%-W#SFM5K*Mw)#CyGDmm2;=1<~8&o#G0o<}}J zMbX%^K_Kq_>9K_x17*Ai$Yv3DueFJAMiDyp95XJWBiYLdSj~7@nyVUL*oqLO4uFGu z6Cu25m(#cv%tq|j$`V-Y+_}I#S`%rUQZ!V$?c)f%_Gxqj0C4Sxh6+iIiEY`Vm~Le)gML;j91#;UyEqEI z%5SHs)e&@(o#(8k%#fPMt0E0mPcqVc!NF8Q{hupB>|x??k9cG8X$%3-OMd^g9`H>o zMcl3$BFEYGt0%jbUTsuz&ISO!0CtQIDW7_0p-V!O{9pW;IIUs(R(v?P zI*#}x56&iy*mWqDkWjti7UL;pWK$+isHF=f);ZPVY&N9nbu=}yXJb;aEB5gRsYVzW zR<%RxCp)=gA$A>YrKBW!hV-|el_VR5-Yhu9qOY=c89QK-7pym%anXoJgG+6VKEZ1@ z2fp<$9itu}eeQ})b}SpM=6o*j9uc8v9PflGWR@3o*}Yq?(s7v%_#6l6W9W1{%DESB zOw*0YCv0X2zaXS@8B8>b?swrRPxy@9gf@;KKUa|#nT#O!?72wk+e0Phxm!M8qf$WCQaA^T26@Ns(Yb3Bd~`)?9*X_G?Qb6_``{# z>B_6@u)S_Ov3?lKP2;NE@g3#j)1{-hRvO}o$!ZXh!RDoi*T#2fI+=ELq5CLZA}RTr za1u?Ft7pHf)t9fF{tlSZeIj6?O5=f%-h>#1$^%t|^HFUV8uyQ|HyaYVS|-$p%UGFD zkSayk6uw8kS!3zY3pOT1)^~CIq*Z7eFdsZW*Szc8yDo;rC=`~uZb44d<-X#PY9dEb z9QP`sR*n_NJb{}SI_=5nphS3pmPA^&N2krOF1g)D!Xeslh9a$2M1$usY?S+D*>BxZ zxc4rh>EyweQw|Ng2c-5~FkPwc3_r~GTe5YoK1a>?X5y8Ub`oib%SO>ZHYhmvvtv2M z-n@`!2OVW0#%Dg6s{Wd%E(3Fz;s2PhhnTZ>UCutw7iY^G5S^Paj7oEkYiba3TOa24 z!|Urk;LPwI5O|3~Nw;cQ#0oCk4@8D`ZGfIw;d<0KaI!1A zx3S&rH9Tm@RAaMNM0>Lgvv;y#68u$EtxiU<0C7wmB!v-i!6n1-pw8KrK?aQ6k|m>cc>k7bMP z*!4)uB%^NG*ByhM%bvYa(B&}-;|`VrYrNSR>>pN`;6lw2#IZ9!_uILj+BeTO4tKRL zy)VDuY6dx8?8mT;l{mAujVe8E+PgoYfTYI2_JCys`^OCI`Qd7BMsiQEI_<3Z6kpD>>FrCFFzq@gU&|oh_L1&1W0wP|9|;7MJZ+c115+rzlZ0Z#X7_ ziJ4qxrw={VGl%KbE@@~F9;E9iFP?C}pyN~R^axe*0((cn&&zb(=OWed!R^h^P}(>h z83GGd<2Y{ScD&I~QQBbQL`MWajd?8%YPV zNrF?hsx`l3)Mi1@<#69nWv`JPg@l5glTmBA;lnT0f`{hTsFiXs;wK+fMX?$ytvcZim*J5`}HWQ4<@_;A8Oj4txZ zO3GG!w9!_R$@MY?p$s^T`UxoqW6Wk%*QeB$Zyuh#TTUXx-`zjl2$IMlt}-e($tPwo z2-2hqJW_tieB4#oRnS^bu%u%U+yVSVz~xY`Ak?i2)t2lTY+zUYBwg0pgdgaCq>!>6 z$I7p7Qaj$sPd>`S9aeXE^~ zF#bLcS3C~=C5`QbEt>d`NK_NwrmwO%N#O*_T0=IP4{Kr;l#_U0yqVa@59M4Fvh*sb z;~s${U>^*%Cvr3%UFj<4E_2`T8WTL*x4A`yKM@s}Ns^~VkDypF<=nd29uD*9VKYuQ zONw8KgD{>Ui=i^OdtRN2+_KX3rawI%brx5zPM}47rtv6Qz*e=ev%;`IU}SRj)zolR zc;+kSO&4jk9nCYiS7(BDwIX3$dAi!Ta##&{3e8!fA%XW~QEKI3=t3Myyzv%YKZy!2 ze#G|ECLoRXeBE?BJ)NG1rhf1!sa8hG_iVV5cpTT(sd7c(8wpheV*pwF2*Qqt=5B^X z=eu(CZEnm$4Us(V6HTO-ClI2ZG`+GSEvZ9+(tPHIm+x^;1gs%yZ3go$XKz7*#Mo*B zI*1LCHnFBrZXs;1c8)(5k!?+nTT4V^>TnQEbB!Xm_@=`2!;aD|nUra*ApE!VPaQt% zXkak@%vci}c$~bdW{CE1Xg+5$r^ewqhG`R3Pi>U4cnABJDXUVdg4_8AH~Rmb!{K^= zHc30Y><+FK6GyEbd5$a~ZGwD68aDslf3wk%if5$g4RF+7jJ4L#7ISz z8)|J;xjDKz=zqDK{cdYuz0P4Pn=hMe>L3ZBk8&9gru5P+W{6WwkKE^sKWcyauMLS_w#TqLr>>Ygg)K;`Sue&wSs6L?d@}bw^;i$S|+OT!-^`n-kvOm8}_ykx|UD*gF<)5 z%8Cgo1RJg6u5gglyVXeB(FENUugRT?o3)&jRK0Fp6A72A>3Ra%;Hpg6Lo(GDMJq?$ zO(*S7C%!+(5LuL~j_*Qu)O8);7Q39z$r3t90RiHgtn5xO8xF`^ zD#C|K9^y$sUB{uTn2hHWDA#y1;qw4(x*6zpJ=~s{yDmAB0)~S zwR`ezk&ZV+(x$K^BJzq+PTc`4((C59n8-NI6QFA}n{Ua@r07gM-rg4jRQLcwFWFTk zC1I|d(B4zaF&d}V-px%kcbj*V3gpbZ4uo3)Pmmbu1oH+78+H{OnI5R3nrlk$q3F9jQJf!Qc} zuVX45Y;oA?k3H4HO1NG4X|fj_i)qaoqex*>q(jB4Vce3d^AQQGO_{*KN_AvEhaW+O zt><98UT#ars6BUF_K2=AvUf#`r8)H5Y_SR#&y?39655cS-0aKm(A;{OKW*%D-e!;p2q-Go6C zV>Lqc<5I$VbKpE|T<9|d5*A&8U8!(wPBB9Nm+MwP_`9AxUT{e%PZ{apI{YX%k+Q9n zYwO zkm`6JGS4@nmxab3HoM*MQ-=I%u(#Kv7Ade^W!7`sg=}FHGWf{kqr)+_g1xzMcfmF= zlK(4LD#4(k5zP1er@?My#i1c z#OJ^VvAPMCy?Mjd2IHn0fy5)&dNFK=DN9JzCGEw7aqk!sa?qtqkn1(#-mxu2S2MiD zdZMZ2;~F(n9ZadKD&S0pQGZu18#>yb9Pz}hj}Xf7&8-^G^N~%NAv7dh7fduHsswHd<(nayM$xfk1D~La+9?Oo6Mm}Id%$b` z-#aj0cSO}kA?CD06X+OtkOC<1`KvnQtoDoOPGdNP_~NzFN`s;8_+IJ_}T6=^`>N zC;1BA0XkKT_RXyY!EnjA=R_`t_(bE*O!B8?7FbkSwOe;Q*XnvDbC(lqjuXTtXb&g* zn&zRy-OKq=7lAK0Ipg7|u@MD|xd_weC2=1!L&J&WCe?iXT{65d!Y%#>dv6&PSF^5* zLLf+J++7+A5TJ2)>);_+ut4MP9^BpC-GT>eAi>>T6Wkqw^WFZwb=F$@?s3jod!Kd2 zy<^;Q|8$S)p0nnxnpHL5df(@H-i=Fl18g!jVA|IMq}RDx{m{bYHKfx}gN!ZFxtwR; z^FGmsCT2BGSBHwS2Yvw^DV2@}hHFL3f<~}Vm$_SE@2xvuqK&)DQvA)p zh~a757}c0s>sZ@NE(5FT(uU%d^{dJfL5JANM58rzX*K0!vb4GjDG*f*UjcT1V4W(V zW!WvfkJgMVrl;57_z(DfWw-#p$bH41p?yH{4M+^kIV7VAD4nI%b z@*V|uY;|baDyg#iMfFdCxnX)Qqbi|^dAfqWyWh>nYiSu!uXfq$<6h9|@0}7m;*ksv zVtq}j*ms^^Ze_oivVa*rc-f`w0lYoEztB+djgHQVd{Y?RIM{t((T;XN>xW8<@dG?* zwJnIe57j5{(i9|}rXBC^(HPO?>m3qwqBmX@=#9dcJE(O1ME9#*hAc2@aoR~Nxly&u zI6x)_jQ?%2pe;_>>^&L2BPukrZ7*sD`96P6$(67=O7^Zd%=Ljj8g)s>pghf%GB-a6spaN5V4 z1)aK7|6SQ=yl#Ht*y5{#o%$xeo_L6B<_EafX_y*87Dt6^FRZiyK>x(=RG@Gk%ZYDp zO@aEsA5WQnP|{8M7YYbgiUuD)F`#cOK6`O3d?KlU#t^Pm)Ai9Wwp>Y*3}46#_OBSa z&o(eeOOk(AR&+h&ZvSB4e&+xjOC&JvPgP9BpHez;efq@{Y5|lim6S}VvGxXrjYV+G z;Ft}(YtAD40sfrx3?2N?(~Sy)$40JozDqGfi`f4hOTCi$Yhfx3r{HM$P>$l$!@lLV zYw}3zT&%@aUB^~{gCvDeAsSVQe1X`CXp)7nA5z;>Ne;T$+Tr}@t#4%2QH;GKVhwTp z$Fdhi9V>nt2|vsos z5>XiwO_pPcY}5-^>zkbB!N>3Y^qhzr_X?k#$O=>EXw}zMqQ%#md*No|=R=yRCqnGC zTT*zjhSBR;h@@g9&dgk?Sl&ZJGJZFZJ5v;T+nzZjB@o484&xXjgJc_e9|^tS7xL9F z@NI}N+Ef-&jVglfJ|-Z?+i*XGvtlwH5pOf3u_ z15bOia^;3bLrLgD3A8bpJTmAe0iGF61bXpp%-NR!ew(lLyf%TCw3@YQc}oue&uzeX?54Of#; z50xOFD+bj@8z<=bIcB|uDQJykd!bM5nvP@)>dKPHKxrcAQ1RX?6|2fl%+}4tR_~ds z{|(?0xyGV2R)84-^%6D=1WTh8Ql6 z3irm&%q(0jI(>eLk3FB*t+u9|2En)kb1VGhvwM^a*HydVi=P|Kd!0DS77Xj)Cu{y% zU%7!hvnx#=%mbo7-~caHt4xCBvCiDOKDht^S@jsP3Us7~}*M~GiFPu_&d3mX6Vo^U}lR$W>>$WpQw6qG<`ye>| zg$Aa}*$?g|;6w@+dRuaqt?9*ZBn+;!6Qc81z%+IvQr9Th{sVm%<~oxL+{hi%T@)?q z`m;exgJ-3}zVe)*-;KEX)dEgx#S&xR3pJ1tC2abKQ?ezi5z7+Gz!s9l-T)?&O4JWxiOA=srBuH^6Tm!x1-bz*mb+cgG?*d2+^*xY zU-*w6v{OWV=_2H`>x!HsbTv>9Sa^!a_-nI)f+#TQINLmP6p}!fcFlIH-WCxC^lJ|U z2p$5Bc5n1ZG`ae#Du<)$XP3A-{k}OB!-jaLS9If4&9TV!~^J8>e( zbBfWtnW0vx8&sBDP*(45{SOb2-JA2ivdK~KV8UQ}{WdeU#@(@Ckmv+Hh9*j12{Jea zbjf$#2&-uTN7|WBamtYQd*i-te8d#g7eE->(AL_#cz@$7U__Nv3b=Syhb)AtG$GNKC{#O?S^Vvi05eP^}MUPyDX!K_hK znyQAXeNcDS^VIX@rG#~Pw`fKyOzvR%^PPgP#+uI|>~8O1{j>0&jK^jk^&E?B#rN4< zvleA~l{E*`7nFv=Cm&8I-j?o1tLrmXRG=}g71|Fw1MBf~fx=oVZjkH5-d*{1;`8aP z$(Qm{10UMLi#izS5!vMrxFW?r;EGePenz;}`1j#~<0(lt$fQSXc0S7k1@1fvw6VPz zMkzw&L$f^m7E*r3u9#LZ#=f_z;2gMyDh}_>n}@%Mayr%O9@5y)*{B$t((ytgR6?45|BVGs7+;*3gGH<4CX zS^ex5${b?9+t&-h8%yKhU!nPeCpq$_z1OIUw3pafRQTXwO%0j=X)k9rm5~Z7;%uzl z7(U<;OG}>FDUE*P9!}NSOi@A1YT!|~ms}J{;eMZ`j21RXA|)WgB~8J_L|BMJjOJpX z7vk#y8STq>9U!%f5>mV%KC+3sbA!;V%Bbvl| zV3o!5s5|?RkHjFMmZg?W)F6dQChK_P7`e!RjLMq&9vQ+W*0)_-u?zqs(`vkDrbVhp(IaR79d~ zrqjh@pUZcHUUdp3q|)Wc=}_^^8`c@43`kBdrLJcw9LHEMwo)r&4s8T~upiqWhZ~3^ zh9|p*K{u4af}W(2bATUi)4~oW*B%;D-UtFzy>i+1&NEhFGLi(#Z>kb(qK--m&d*;i z`XT{XgXw}0V*gPy3h6i#WilvjC=EYNybuN5XQ5B*!mNTHIn2&j0aIfUi)xbLe50~* zbo$2N_(TjT?}9DKx`L^>Mh*15UWG4tk>NF+^BZu3N7->iK61 zlXDqxwD3PORbHB#n9@C2!%dr=jahm{+vLkQuaw?l^17U-xEjC7?T}Kd92iG^Q z8&=X69)KSTRP<16HjgJlMz)>qQRHd}4L^@E$t7S>_$fWy%Xg1UTtIBQx}8i8r!P@~ zht{BsMVnZiD*cgT=gbt4*hMcxp+Cwp$l-v0Z=#YkcsOUrLQAl#u0Ef#4p$=fTxL~WqaTd@n1vd{zq&}zWv__VAv<$zn}1E z{*AkS`rqNMn^Bl5Q6p1$7}6ekSZjXB^OGZQLlQukDX;CU7P^1eL}ZfgM;kVk<-aQt z@J}3zM`Ctr>QnpW*w)X&y3eFy+$6u9Nt`G3y;g2yabEn>VZxQEmv+EHnLa&jZKYr> zEb&XKo7QEV$i|n0N0wun6VW#7{l9_V|JQbA;9oqb!avda-=&{_nt%IqiI?F1lY&Dy ziAsf0l>Peh#(ptqDNe?V_{ZaTYGXggj#`i}^ym+`wVGR<$jq=TNc3BFzBMF~V#F{( z)8vpS8Ugo@*exy$@|m|fe&^#1LhUZKAeuhGi#rYW01%F0f1eJkG*Bj$+Mhbtb@sRw znOwE!v7z?^d@ba>d|Fr}Ou?v7dCD>XgzTKa7c!ZJ^%|ksK;p^e$;M5INVbH}+VO1^ zWY>PciZZh^dkSnU$0xNkLYl<6X&+YXpYDm3fCX*5LXgKis&Vzb6YLdzNT8f>=p?+U z{gs7qScftG$y4T}bG*a%arxxpsCc;T>6UKd3&Gwr1KZ`?A8;^1U!{qYk89EQr6?u7 z2QoyOL<2TjTbvszXWyOuk$ljSBPrUruFkbmXlD;9>qDqKvN2LCJ9N=PWdXv!y1ROE zr+_~bV``-)_w4777#9gG61eW=iV)l+SOr0w14p?^SPz(miu(^X3yRStXZo35ZV%Vf zyKAFLX3l&Pd<$*>b*hKiLUhdigD+q8Gd3-wAgHBeOsC-y-&u0@miyAf`puwFj0Z2v z@Y0JE3Y?D-AqCou@owMZja4^H$>jPMHC^Fj?R=7I=FLhGSc5W4}+mOUh#hh2yAlVuOt zMlOJ!UYKEvKBJ-v_SPq$UXJQ%R);${oILVU25cT7Y9r%PiG!kKK~at?8P2f-C4Qn) z@A7zqd})7n<{nrjY~2QiLRcJwM-m``fq^V6@c{d@>E25@(zG!kg~3p{6oOiLesp6( zAx8t;$2i&0d}Ikhp$8q5A+620031`3@J2oIxL_0g?7Ujak{$Nj+z=KmD_Rf3i|zEJ zJ~D?YulX;fmZSX9ZBlb_KX$}dd;M(Eznp9|ND9cL%ae|zjYJL)Y|A+Y>9&&JN9~_C z+EAfEHI9W#La6x%2U6rr=4hjr$cb1h4xO1iT?41Pm7t{aBMW;|VGF0N%7kYk$XFZq zT2l}Km<&O^`<7a{cYl^KG2#PDd&4j=X+S*h3oFaZs6m_WtU1{2b(D;dlH5K#?I9e3 zicJE&u7t$?J}@7F6N{cqDMm7%py~w%HaIIbacJw+cWh|@0V&J=? z;h~XH2#bBJY>KruBpkPYQ!(Ma)?k-6wX>c%#CW`}2!^-%LwXKhnZ`qsU|sG8Y46Fy)4PbUzI~>NS<=x%LOI{&r<5 zhit!YPL4~I2doq%FmAhQsL$dluE@30z@CV7&&5TGP^)Q_9H5@o^E45ciO|K?34ScW z#PL-*9C=?O(*C96j9}QFah?hIb6S}VFFF<4f`qJje$B1|9D@o*8%`n22a>;%KY7g~ z);cSPS*vB)MlmLd5!l>FsnwySt2PB;SB@pHhHs7U6FI3!?dI9<$Sc_mM*-tAtVJRi&Km!r_i7m^mF9doPdkr80>Q;%HgsJ^U1_A zH_~n1xpHl0b5Jr3H9hBMhBm!Hg=rmucu6Casa7Bud8;<<@wKB8Q#GG z@E0L2)JSaI{^0>^X`vW0$A}h|k5(mTm=^h={jod++-A$gg4Sc;f*Q-OWH)0ud0dyFwLp<#cxS>>fLY@nX8{`fVJyxB2m53Cr5UidshD~!{gt# zIXtJeX*SZm$Y*q`gkg+ZSvJOfXJGMmhr70lbQ>UT%iANHcqBYrCQM{rU!M7y2hr8# zpDrE^BwpN2Cr6MljRn_&IMArB(VjuUh_yZz$=6oSVxTGO!^jz4~5N*YeG z?|HBwA9t<4ET765jy@m7Z*1%Sq8-ZOg`|r>mf5N`K-xS z%@c3MAyf2q&_I%pRKY-NpqBtf>6~LH?m7la7Uyfq@bh0inB>}|tnm3*WlX~c*I0Jj zIo>}TeS@rW*-j|WcpE^V5blSqC@FsODZUNa631ssHkZew>A}0_U*3rEkq;saguzrA zkn+VS9dm|izXQW(&C}dJ;Lx0WAC4%m490cueFVLMfBRHh;S^kVDoLMPY;^>pq=j8~ zvuaXsT)^)5S^X3e$00Z*^6}H*q+ zXDe7;eM(*C4>*+rUn-}ayOZ$JIhV+E18LU(ez%V`KzOAQG1n>U`1-|(%wYmdK=3UAC#*DfKOpZ+jX zQ0K5Y3y0CHHj(-}_B=We1gXSPPXER&gYS8t_5E$wm2zn;#rLrN%Zi$e;fj1Zo3>~K zghSzM5r_H54qwynUN7pwDmgdL8P8|;>K#5burCdK39p6UR=3}Gv>FI5;n3m815Y~D zQ9~!qKeCf&9L-z@2x#p5b;6%Vrv7!L#@}lApZ@T-x-?#bm?{prW-XO+B-M^;D<}fQ z5phrsQTAnWg}=|#!(0I{+8gtW*ThE#+Ij_-_;tyW3@CwshYJt>|9+|(iH*N@4jRA} zU*Bcx>PVgV=1AeS`=uZMViv?^YZhHM0%O1q7W*c1f89{y&6SfInO`f@QL^=kKId=GJ}F}710KlZNvHf zXFg(JREO15Ba72YCmQH2sQPPGqM-E8OK|k8iX4ILTsps#GQTy55K6{70gb zYHLn6lVWQqC~+ASgqX}=Ve^yw&zfI~;^{Mp9UV5!jrMRnqP|kB$x}xYk(YLh-vnBa zahN8id?ltw97L|pq%}c1Jel(c&N4cvFF#B2?7nh;&or#yZze!wEVt(2U2RC!c7v9G z)hORX8%a9-NvkR05ieX)4)`ThVyKp4>j(SmU3&m&M~ z+e)f_{C-Uz`dTm1UZJZ&?CWU2+eC}~O;afpK_N>$H-wVxMn2B=Ok4&MMFOMateNIG zczey%j_*NvOv{u^B+DI+_6N!NADO8KlQ$z3M_>S{8w|Ya;x=1^1-pj~8DMIBG>c)8 zHob-e84~UK$}OV}Pb{j6q-U9xD{+eD@vVWuI>Jc;p?FhV}R}KE^8k7IEyk3J)XzYQIXw<-X0J<9BEPGgX1~~tN z*MK#Z9NPI>gmGY#sFkA~fsSg0sn_Jql>B!Yv0-mX70j}KPQamBcUOUPK)ZHJHJ&_= zCC3N>nEeVkKnKZ|g1FmdF77Yr^cU)~V33ECm8WBK7y}x=>>C^5$Wb98$xVfPZE;^c zJ@{lFTltK8#P8;*m7BhgbC4G{(5z(I(c#_L-YyTs+xl#@_5Lc#kl*4H5R2YI^5i4S z*am`x_o-_LyJ&JEOtEn5OD9G>7?$YdqVr$29C_+bj=n66qp#!hj|m-QS(9gVL|Np2 zH+fmrM9Fn0u|mQ5o*M^Jb2dRjIZ1R=7M?3hZZ=`9PzMZ)5is2t{ zhxtzx*M!ealrI&O!{3%PFUP}oS6)1QVayTFhK&quBQ30noiGERP2jS@ z5_P-H{0uJ{Ki_(^2!&7>qHaT{3y8?!9z|w}%MK~%Y}U&C`87=762?ue2)(SFH2A&f z`%vb~1Z8^Bp8Q+&rJ_-twzPZ!D0vb5fHt5)Pnw$HPF2h%9T_tpPQqSb@ANN(8 zh+jaG4qBg1ima-NI7M05=L6Tfn>DUM`;6PIuCFQ@0pE=om{Rv zqmYTCrxc^ zs#z3~z*j%?S^vBR=D(`KZrU2ZYmnvgM2_yME>tbM!9GH+jb+C8=Mm)5y%FJ>6ex94 zbxHK}slM6-iXKrrP)#vGxCMFlt$RyPlxsSLyy(^Q+A1nJ9gPQMgG=U zMr$>gBx?c<$`6Ow=5FP8b**07+`?!mvwX)kECb}pt`*`WGKkCl^~xm&KLEq4V;2Xd z!79Ndxq_8{wY2rmn)26f@>eM0sN78~43ma9g{+UOTvoS5)hX7SWTUV*VhJf2(~B&O z$hzy()gVYLJINA9wQotmvwFTP_oY4fBO(^(eP~w=#^dqCKUB%ANElg{X%3xPcG6>t zZXj2#`d0t3Q!4*ISTG1-HXF|c{HbU%k?{o5ZP@*L!TbNQf(~YeH#N-N`0txYchl`Y zJ@^YvkMglR@>TYIwAC)>1t}sgxwZi?y^^Iq*XAudL}7a0Wzvno9R-EGfV9M!K@UG)jm{LryQudVXDaLxx1RJsBr$@ zCS9VXxVeRHD*KP7;Kdik_Yja|Ba0!Yw?8% ziO+xI9zc%s*w(9%mPhA15td5+;IEIFO@mPEw*z6VzTE8do z^4JBk^WFk`DP8>{i28J)2yF=IJ&ts7+YtH8U<@gn=){;}$8W$ymVEwUE~euQb1!bB z`RA3ucjq4ntiL>o<}$F6GQ8W4+f^p0#QU`Wig7lf0xmydZq)EJhn2T*KgWxIIb!KYh?)0`TX}y+tykDjB3mO%5*4_$61S%POz?E-8c0&{;0Vg*6*^z z<;j7=v%6GR%~xd2O4Jw%E%H(KSS%d*a+giVCh_g8k^-Ts$M>0e|7jcg@9)mtR?%n_ ztQAV4{71(&YQYtiNFkcp`aEl8%WK?(lD7Su{JQ+NTZ3wPyl>y^KPnY^@-aEzSPE$U z!_Xh38R&Mkpy}!lQI;Ey{Xm<-rRzZ>ZS23;Pu$w!W=la4FwdW+--o$jrwAMO2 zM^89zpgV8~%REB(6C5G*h3RL+tQ{X?wNd8j?{jKpE~ce@FjNi$ zxd-t@Mz>7R579U)7Kl}Dp05#|`ly}(&w)apOAbicAdVg6hI^heYi>4gOBKD8Z2-2_ zCcSrbCV69H@3KH@op(uWkK*M_ArxObLPF==F^7kH zdx_E%aT9?kcvirY_+FFGuC}u|%amM|NqyZ{kYB`UmjJ#wzTYBv`4_h)EIaS-9Jvp$ zW-2TeX6>wht{uu|#&^%ee3tJ6YC3mgEAU5Dez!Yb$8Mos=a-sQpZxTJ9C{dE}F%yy}0^@-Ysd$J<{~FL$#ThLAyHSs8cCznq zXZn_$Xa{2GP(^l17fL!Lf~Y!N6c##M#mO6>5jzh@m`T{?Ad1mHwn?Ug8|>+GCK2Mk zCOjU7MJ z&u?XELgS4-v*Bz!$x}vbICW5H8^*}xpoYz9Xcb+&b~tXX4hi{h=GJ5V$0`{aw7LSN zyk7hRE<5o8kNr6J3fEVV;bCn5$EMTy&LB3*L=lVJW0wGm893E8$YN8xCawKmbeI0c zRrw}UBZ=o|o#pF2%jD*Jj)rFut(~xT8`dRF+vzo2uukc>>LBdmCjIN3aXo#2B*L#K z>?jQlsbG`6x0)6TebWX+W==aLso-J@NubYz1M=sW*r0k(8CHdQl%1bkiy43jv!|ui;ae$*f#!H}ASQs>IQy~)>rBX71J$V=iQ-^458#zrb#$#J9}@a zGY#!|TfP_LBLZM|e2cMV`^4H+{qu7M?xaVi{~Tt)dFQR+xjuYg#4cG{y?ZE5Y#4;u zw?&tKLN+R}mDj3O8Dde~5N!PGJj?cN7rXla8ak_jcDpF=JDN-a^WhU~>lh<}p13@V zP4bS^-8spF#Z_A&TmH4XtCpXb!@3qQBradtxp-jMwAf(2Su}3i#C4lFM(S=N*7UHf zig8?kAQy{g;MEHOz9erppPRS4FS=oG?VTImk3NOB`QuJ_{Oo;CNmGjXdR;C6%q8yt z+p}9)-hd&%Q6FdB761Lc`{*78AJ@wMdEiET5>8*^g6ab+?njYO|JZK9*1r0?i!FEJ zv@XY=n3Uv8^_R3mnrLKk2UT8fcO$OrLM`@!3*C1@fsytvl%klueA;oQ{EFD*Y07YL zR|rVIHLKgug48i9!Rt!6nB;>27{Dm1kzYh<_GTj_6NuVGI}w1iMf~NSB7gs7WmRY4 zolSmhd()nwEnPMa>!`5Bjq@s9TNSys@Y2B;#=$S1OfjW8fph;gve!RdA-exu=Lk_- zn_Wc@U?3hrhD}DprN6IdELyEs(gaYC1X?es^Lm%dOi7#7*BIsd@bB4)&!&0t`3d}L zic@WEhuoy`f#|YTmIASQ=!>VF`srqlxL7_?mO~SRD=96*-RLXxypGPcg{q|!MqcH8 z8j_@}0_Ip(l=R%;tqE!BA0))s#*lU*d8>5PQG8%634WaB>`e3N{WThfjqPfXE z!a)yKRJImAd?zD=eugvsxb4xlh@@oDdR*B|AXhY=Lp)#;P7>L+hI$gAR6pBuU2UCg zo;=QK^WyT!M2E%XctMXRyuWfLkIuU8ai|v*&OBsdYrDUsW94MFm*C3L9HLZNh>a*AyW=huVY;=K%gT6nEdO~xt9@W0okinB_0m_edt{!&v-PcfIk@$UCMJJ(PXdIu&zuO4oYV?&%Rkohze0_xmYgwG5!Z<*0w8-!o)J z^@E#17)w=zL%N$a_zR7Q4pg2NjPhA-uc5yubr(}-gphbNY|tfqSs_2QQ!aUlLlR*u zs&)>1EZ`c+2Sb8l^~0-fe*W4a6*oWy_NZY@M?feFJMAN#tIkllaL2@QHQ6ah+Od1b zR2FUOUy8APt*#ZH{_VH2{0y%v$7Vk+@_;Fl(ZNI%hAtQ_oQ5{wXe3P#2M_*B-hgpk7&t>;e%Hi?B6!9k7c={+Ae2m4?XrRj~ zzGrf@XD}SakJo7Qr{l&R9$HgF(QE|+V+rc%Z-QpoR6-=awmdR4H0}$mxnclTWgHMm z(URhyY|HYEB!LZr=6SCXZ#v@LLIqgzQ!2v`;MG0WqbV*m>m@v4ii@v$??TPL{ccJ7>t;B)eNRXtYEIX1$_^in(vg zNPMa7kzaUL&&^DQ8|t&5($!F#2u*oOIP}*G3N@Syne_Z#ncrT2F;v_=G9Y-nCy%?` zxr2S|XMv~E9ag}NAm*9-ri}cZ-2kWV={!DU|1sN8+Cqt$S!y~?NTFEPK#PO~=OL0w zSu#er#JUE2o(_2vN|b##Dz`X@clI;ylE=x-jupT#1R=(5#o=>dM~MQ-;}(5aEZMan zdA;g#&5cly6yQMNJk>iI*Jyc4m_CAQNvOwtLeb&5Dl*5b zC#o0;O>BrbvFl&QY&@bFAWJlJbn|mwdBsR;^-aE9AU12&t~0$|n2)h9!oAovLpY+I zC5ETY%oV8L(RNf)v}SPgyxp@64!+FC_o!1+v1~J!4XQmpgl`E^I7t?oX;Hb7o93A+ zIP6W#yFALfuXYVGJQ0Q7e@(&uQ-jy}U*;qEN3>)9=Rcy4`6Ly2^_nZ!DleBukdG{| z4EKlzaGJb#Gis!B^wRLT$>Z;DJUHikrcO%{uiXs^bx4bW3!ZT0?uJe+Mw9?-Y`K@J-_EY~m0I2}~h@G^v*!hA_*En@8~xs3919YoC8& z!24#E(MxlzyZH^mQEfe~1q9}&`u7F39Us0c)^F=g{bF~hDyL-VLt=zQ>tsPiYmGeF zuINEcx!ix7w`cw90F9a%j+RqV)kp;{-`2jiQ+arhjU)%&G3I31302b|Su|-LStldBH4fkFW#O-$o z&{$m*$5mPEj=9`gbl>gDA_uti$)#8n`)7CnWAuQ2sn}uL8U{N&ohL4@r7^T?jROe@ z>B45{O4SuHcGx*8k#18CPCL-oPFWMAvAfcQ^3&m0mWTk4F(+lJaxAn=AF;nSgkRJs zo0AB+^lxu(8&`y^LoaE;S{8Zdp?YGMyv2`QAv4>9d|nl1^kQQM@{Y#*uZhx773+eX zVX{*xh?V4wFhFEoALr#W>C{f7@d#j=?*Og-^pN}YwE^)`O=yitz^zxs>#N#c&LDUP-Mc;F!t6!436t!za65vo4eA+ zwsU)7dzCQeGmHmd6(1;iSvs%};u2R@%DlB**nhg_-V1cV4m}tkP>sUkPdmtyctpUi z{#EsYPiw9iVPAFc(D4pb?9OYm%NkmJo-+<@T$iv!%52m7ElaX7W1ki6EF{T*0pM9q zEdLlvO{=$@E4y6g@5T^5o`Zi>!%FD^>DlNEYLWDkFtSKdr8sev>XwkwJ^ehBT9yQt zht)Q@`BLNHV-Y%8yo zy|!6K$F!hA)0`F3Ofb8C8zffC;u`%1JnRz`GDUmdIwLJIp9%?I*Y$Randq6@j>HfW z+x&Pil$#Mtlt3(jgBtw+VxD`Ssc+|z$!cNB*X5D6DuLeKEp~msZnQozxz?;)T>K^x zs$CjggXBbFOt?JJ`iWZ)8hKQ<(9Mm|JXc(x^tx9aP#(<{N9>_G@=fO17{qK17)2Q5 z2|0weA@S^OMYu0+4n;Sf?F!K=b`^n+jcOXPs=URp-v73;>px@K>VqfpsxJ&A#V*-n zkG`m@$1zdGm;glAY5Ht-aL=eo2J_LImBPk7F^e-W)4k9#K zP7^Zu7@-*?{JSCI?EmmNvQ5(YJC z7~dTwMh_2w=~6j0%?VH%=S`;EY6bi%2tO#L_^KLDu*ZhhJJ6X+b<1%pRv4HrCD=sc zo}HigtY^A3#R%8nj>AZnJdwh5kw9XiJdk3uUV=rLi-{&?A@k7x@|LXQEqBuVoSby6eEentd&HS$ms=HV}=?at_R@3a@n>I-zPDi3C3LJ z!9kjX8Mg=?`yUDL3$~Mmy~>}zLC&j&iep3+D##7vn#TGJ zGt|TBR;r7Li5L;eh1oPwx7h8Ue5CGd5}SF*_Lm$zXLEmwTgw&VWjJFkuthlbwNR`VU-=(s-ys896!?Lqc)E zivyJi#HP0gD-cY#D-J#%9$m4)C2bsW0193MN~&gZrfXQ?T}U=6tq#N4o9!+k9HZ+@ z96oq$ImQcC3gxvWPZ_+!uzhdT#9|Y-geCN-DZNvm zG^aLK7<;o4T!4S`Y{R9EP*bju;@sWJ0r-Oic*9b z4g@BK%|NP{aZ&a_a$^)9(-}AJZAwBUg5Sr%lu2KOQvdQ+feaXy2h-y-FQWw1`8v7nF%n`Bh*--1oSa7Ie*q_C;w!=t3?#YzzV}*fyzsyT@i8XCq zh0%zh2wA(Xg8MIXB?e*DQRq#G#k#QuDRMON;LqwHSlXf1+|E{x{{5CIAa;amGj6?H z7C4@MP4wm64-U-2yqWrts#~Y1@Dxn(%(TJF*XLf?abziL-#ko0&U^7^E#FKf13$`(Aeo)3_kNRKVLi10|w*20osHf_5l(1+3kynz4@<}~AgCx0QyTFS7aaqdQKGb3B*L z)<3_yPT2L7w4EN5G>^uhrBdP!Zq$|!MaAZ^ccbbceor3UIz-yHjL^2BwO62F6+MsQTx@IAP2Ic0@4s!yB!a2#$rgn0; zp6myifvJsyzAu=haah^km6sRxGsxm@y~5vvjJ+*r0_o+j89u-9PuKv)`Nu~_?BuSGf9*J`ETo-#!JnZ(yCFsT0#Nhfcyr!31;c$`S7?WyVdz{*#2 zvKC@{A=M$ova3JfXoI~S-A8@!PY!>TT>*=aUaBu*<*t1tGBX>}O9O3xtZ?tz?mYUS zqroz2*zAv<(YAUUkVal&a~OhB;nN1FgWE~o&gSiyN9PN~LmQ_ZV#rCxV%h~%Lj_7X zfEoP|7ANBPd3|kl6|h8rNMX5P+hipg)LWKaVV9UX0&ke({ZXD~UwHOpIrX<$YuZ10BN&)t?W~lTXm(y9RNJ@Lj5(b>s_9;x)$QsqY z(sC+{W|Mxt0gR!IL|Q2kQ|Fcs+x12Jyhgo)ee*IP)}m-cY5zko`Rl#jGg_jT7~>x} zLl}7OS>u*gMQTnT#yBN)eOw9^=zk=Zdq36y~$7S&FI`F zI;deuf-q^hWaL&4YLnw+x+3vl71-gJ4rRuN7-tw`Pt?0;T@t)?>!lCgOrVG7if&Y` z_Mfp*>3@?<2cwx$1s+oE%eIs5e5W@z{X8W;$lwr%%u<}b6!JsXUtLb6t=Y6~nekso z)S`qst-ViHzaEV)mAvS0Kuz93fS}DZ5+Ni41gV(suDIH zlz1o3W~O8g;<3;+?PTbG<$z-mqZIECyaO4#j{xDYM`LnnBiz`JX5_!>gL*$`?GSSi z#*#avx@%Iz3$3Lh+ zY-45EaDj3oe7fU^e8Bx#7(UQzjH(JTz zS7=&YjqPGIh~Rn3TRP@Bfja>tBTEnK`#kyT=Mcvu%Xa}kxCK49NtGoddtHk=Bn>ZO zVLHH998^4l2>KwdNQ`ddaJSm@TQ-)HNpi)#(-#5;>`|iDPc<<1NqDQxsKANVLNd(| zFgss0;_cC9dtlgZlm$pessNQZeRH9^FYMjbe($Rv8HfeY6QBA4h1*!cI|E z)d?-(mMx*0dCd9Kp%_7~*TSLKo)wR!osIcB2F_m@Jv7&ZZ%R8ulfO*g|DW(ou&S<+ z9e@fq?YC_B>$_v4qN`&JcWu#1t^N2Izsp5NE;ck;$3&?n9l|&oMHcypuB8767?PUv zX_9Sn*bM4kkPZ>2?}8WM#_|&lPneWd3RRB|95JpTzixf~OW*X<6%D1+8TAqxQd)oA zMty_l+{SfQLm~IuQ_D8P&b-hIzF(u8|Cg|^{{m6Fy9SGHmkc}|=Z3W?jzM8jAH`T04hUNkW9Sb!5bssJ zZ`Dr+BhE2Av3-+x;Os+lt=<>Cj3e)V{5y-o#Uaad(8jB&=NYXE3;d)MgusN6QvwG-Tmz`9V&Ocdx?Ccs{%Zp$VF!uHXr zJvm;EYET`4C5kc$t69P`f<$fEGj>v(GA{-u6+zOOSS|opsNYo`xJ!~?mjv_ax~1u@ zD_r-RJE@O0^dSZ&Y(PAWJY4%9L-`9oPK&)dVQIq=SR-F>-i;l@x-k zZw3OC&~qGJ#x{FQn#%+PaqtNp^y0pPXGs`pFyoulgX4Qk)l(~0i4lYMTKBJru#5_10dHurX)RiUkkiM0r)N4O zx|XWgS$7<5a+FB0M}lueC>$?`f(_~9k_cHMxH+9r4WUh;qBmaQNa~>OqDs!wAwQH? z!S4=ehl*&C^b^cI{a2LNPU++2fnt@z93he{-ZO(Mqi+dLPH{aGK4KRln6CXw-*)rX zCEx^>Xw>mt*FJJ{VpAE;bAP5`xeqC`?!OD28o0lKp=S=#FF?JB6 zZL$Me*-OAT9(VOgA=v$X@+8<{n%*@-Y)3T^{4Ktb>i0T81V1%9?rxGr=A!_ss09if+n&K6oCcA^OR&wVbNIM@HK;>vG%sO?3Q!QTLWnZMEy#C|2B| zKyV43;!dDAq{W>g1rn^qAy}cMxP_2V++B;8Vx>3)D}+*<;#w$HN~x?b>)mIswa*#n z`_?{VuRrI{92v=o&CJ}-b6@u*9JIC92pOeEP0xmN1}`pJw)F!9%o5odT`ZggB|LY* zE>^)BxnEpnBxJY?*0<1F{MPsjuBc1s{voL66_ona(JFnQUMGGnG$7=;E={1#KzQj_ z-BhhidE;RSgb!5pl%Ps;1|fF%>=Seds}ML1&QRoco;77pSE`;3ZaLm0{VjK$jy-I> ziQZ>@yi3nnHTX6b!l&X7wfv79UmvR9pmSt2O zxK#q&VWRGgrKK*wp9xA|`ezy_QnRv)1N{4O#Kn$;Q7jE*5y>1XrT#(F$oL%ez^=t> zcGc6t%wywDLzQ?u2EiUsM|NJZkd>CSNk$Zf=pbkyRjTP+X8aFL$6v?)1{K@~M+Nt% zl0(QGt%18%RFj|e&OVJGH6@O=Jlxg5{fGSj?Dn7>zenk{I&ES>EVfenrl$A&6SxoA zUvG1ACVBIOop+?%bmT0eVs`gIqQZ_3@rm+>7b6_R*5gey?~QI!jqXiPZn3L}U^fO4 ztYPdkTVxJF5zT-LXe=ERuQh~1lAFdpIoON<^kbfP>O-Vce_GmLR!kuhIB8Kb^#Qba z*c9FBeorv1V}W9u!M7R3lFTK_C2Zj~JdVtvd`Z2dL;$d7Gp#SDTbRCX47*Stvl`e$ zJMVx*76sY7rNSh^mD;*il-;TI)|m^#uPIZ#Df(}K9NTer9v2$Ee>gJO02_N6IZ~tL z4@HI!>|ug|HM84?RSidcr+W;3J?sQ?7yb$lTszn0FKy#{bs|r$Lz9ZhF z)Ko?jJ7vW(G0w;ksX0d*nwaa_r^XPFU;U^*@7^y+N%Ke^EDVt}WOaq$D{`hl-G{W_ z#-7!=vw5Eo#~f<9C9b8?WZfs}Gs~4~4GFZ<737|vO%jSR0-}c5gywfvN?Usq8|{5s zgRP4YG2WptBOdbgn z$hytIqy%9jHy)F=Ih)`c#`ZKg*F;RYfAGc-VG ziYz!QMswgZTUKIT{FE*zhe0!)!pnH|2=i#zbsF_dH!dz>vv&}PAf8>dx&ISFZ*}84(+ELYo3}JNf+&~86zM*_mwYDT};`aG6;F0c4yA~bCC_yjbu59Dm^+vD{R{6+*3KR`S~aIRQ2ZES{j7 zl%vpcP?N(ZsE~;j+Hs6cB*tw!i zaG5nqmU&ela(ThP#wwQ^D!WAQ(b;A?sy^35;BIC$rJLP*bmxw3)ld;DD6|4mhU5oq z1kI4q*_F8bh$iSg_xKo^ME)8l+qG%23`z`c0NX7Y?y^BwneEB$bfIS9_hreStR1x8 zidXu7D7)-rKh0BIk-zwMxwQ5D5uEXE_{Y%X)3&=_BO^s}uxL)fLaPOsA7XNuz%Y6b zFa5L^=cuzW?u3cc0}|S!g)Nt#XU4aMZ&%=6lM{3ig<;5`1Fy6lj;9=45QN<|n?Wsl zQc96(?FJ_1k8qh(o|PnBA1~@oY25YP!HiuYs?u>VjVe;w`y}_r$??;Vp)(dwz(-My z4X@c=!G$&sEaFmVP$UiQN=Qk~<=!XY(a(?me(SYvK?{ou#u>$@H=ep{RYS&_8T4Hw z%4kZX>oxBDJOK~muFmR9rlpc}jtmzw01Uz?{~BmKHn`{Fs5|Lyg*%G{-yf0J{{8(f zO(H%;HRd8Ey~d*KY*>ZUMtKiA+1j3z#Py!ROYCh0t&P}tqVb&`-{&W| zlgx<|4nLM<`n%!1MI57)-tCF@b)FhzZWUifv~I8TXZ0nAkjQOuw@9PukjTqp-~rzE z!c5a)AU)Vr7{V8%tGV1zrDJv(B~yYUNBS_m>xQP#i~e$at{j#iRjl?|m#M zQQOm8$7JDV;aqDIm5G;OGM~Vq#_=xG=0Atgk1|aGkUM(ZIF%}#i0&iZ5#NHQ!1P9l zF#DYISI@vCS3BebyBKdv9q_X@y={~Lg;>k>cwJ>Ly$|ZU)(21x7j3lOC#n;m7qeJ+ z!JY!Yr4K%N_gbPdJ{|(zmDBN=am*3xGC4$`ns5S7D`33CUqH8%0D6EhKyCM!k6(t_ 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
+
+

VS Code extension

+

The same agent, inside your editor.

+
+
+
+

Installation

@@ -1330,6 +1373,104 @@ onUnmounted(() => { opacity: 0.6; } +.vscode-grid { + display: grid; + grid-template-columns: 3fr 2fr; + align-items: stretch; + gap: 48px; + margin-top: 32px; +} + +/* ponytail: the shot fills the card so both columns end on the same line; cover + crops the screenshot's right-hand marketplace rail, which carries no message */ +.vscode-shot { + overflow: hidden; + border: 1px solid var(--hairline); + border-radius: var(--r-lg); + background: var(--terminal-bg); + box-shadow: var(--shadow-terminal); +} + +.vscode-shot img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + object-position: left center; +} + +.vscode-copy { + display: flex; + flex-direction: column; + gap: 20px; +} + +.vscode-lead { + color: var(--ink-muted); + font-size: 16px; + line-height: 1.6; +} + +.vscode-points { + display: flex; + flex-direction: column; + gap: 12px; + padding: 0; + list-style: none; + color: var(--ink-muted); + font-size: 14px; + line-height: 1.6; +} + +.vscode-points strong { + color: var(--ink); + font-weight: 600; +} + +.vscode-points code { + padding: 1px 5px; + border-radius: var(--r-sm); + background: var(--surface-2); + color: var(--ink); + font-size: 13px; +} + +.vscode-actions { + display: flex; + flex-direction: column; + gap: 12px; + align-items: flex-start; +} + +.vscode-actions .button-primary { + gap: 8px; +} + +.vscode-actions .button-primary img { + filter: brightness(0) invert(1); +} + +.vscode-command { + display: flex; + width: 100%; + min-width: 0; + align-items: center; + gap: 8px; + padding: 4px 4px 4px 12px; + border: 1px solid var(--hairline); + border-radius: var(--r-sm); + background: var(--surface-2); +} + +.vscode-command code { + min-width: 0; + flex: 1; + overflow-x: auto; + color: var(--ink); + font-size: 13px; + white-space: nowrap; +} + .plugin-row { display: flex; min-height: 72px; @@ -1514,7 +1655,8 @@ onUnmounted(() => { @media (max-width: 899px) { .quickstart-grid, - .docs-grid { + .docs-grid, + .vscode-grid { grid-template-columns: 1fr; } From dd2949af3daa94be233d11a58910c39c9ce2784a Mon Sep 17 00:00:00 2001 From: elkaix Date: Wed, 5 Aug 2026 16:31:32 -0400 Subject: [PATCH 2/2] chore(site): track the remaining public assets and simplify robots.txt Commit the install scripts, CDN header rules, OAuth success page, and brand images that the deployed site already serves, and point robots.txt at the pythinker.com sitemap. --- apps/site/public/_headers | 10 + apps/site/public/arctecture.webp | Bin 0 -> 89454 bytes apps/site/public/bimi-logo.svg | 46 ++ apps/site/public/code/oauth-success.html | 79 ++ apps/site/public/icon.svg | 1 + apps/site/public/install.ps1 | 924 +++++++++++++++++++++++ apps/site/public/install.sh | 911 ++++++++++++++++++++++ apps/site/public/logo.png | Bin 0 -> 60392 bytes apps/site/public/pythinker_animated.svg | 79 ++ apps/site/public/robots.txt | 30 +- 10 files changed, 2051 insertions(+), 29 deletions(-) create mode 100644 apps/site/public/_headers create mode 100644 apps/site/public/arctecture.webp create mode 100644 apps/site/public/bimi-logo.svg create mode 100644 apps/site/public/code/oauth-success.html create mode 100644 apps/site/public/icon.svg create mode 100644 apps/site/public/install.ps1 create mode 100755 apps/site/public/install.sh create mode 100644 apps/site/public/logo.png create mode 100644 apps/site/public/pythinker_animated.svg diff --git a/apps/site/public/_headers b/apps/site/public/_headers new file mode 100644 index 00000000..5711b8e8 --- /dev/null +++ b/apps/site/public/_headers @@ -0,0 +1,10 @@ +/install.sh + Content-Type: text/x-shellscript; charset=utf-8 + Cache-Control: public, max-age=300, s-maxage=900, stale-if-error=86400 + +/install.ps1 + Content-Type: text/plain; charset=utf-8 + Cache-Control: public, max-age=300, s-maxage=900, stale-if-error=86400 + +/releases/* + Cache-Control: public, max-age=31536000, immutable diff --git a/apps/site/public/arctecture.webp b/apps/site/public/arctecture.webp new file mode 100644 index 0000000000000000000000000000000000000000..fedb20e5b22624ee530d118b7ce4aed5a2390b1c GIT binary patch literal 89454 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¬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 + + Pythinker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/site/public/code/oauth-success.html b/apps/site/public/code/oauth-success.html new file mode 100644 index 00000000..7d5dde65 --- /dev/null +++ b/apps/site/public/code/oauth-success.html @@ -0,0 +1,79 @@ + + + + + + Signed in to Pythinker + + + +
+ +

Pythinker Code

+
+ +
+

You're logged in to Pythinker

+

You can close this tab and return to Pythinker.

+
+ + diff --git a/apps/site/public/icon.svg b/apps/site/public/icon.svg new file mode 100644 index 00000000..4454e2df --- /dev/null +++ b/apps/site/public/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/site/public/install.ps1 b/apps/site/public/install.ps1 new file mode 100644 index 00000000..b7aee99a --- /dev/null +++ b/apps/site/public/install.ps1 @@ -0,0 +1,924 @@ +# Pythinker Code — native Windows installer. +# +# Downloads the native single-file binary (pythinker-code-win32-.zip) +# from the GitHub Release matching the CDN's latest version, verifies its +# SHA-256, and installs pythinker.exe to %LOCALAPPDATA%\Programs\Pythinker +# (added to the user PATH). +# +# Usage: +# irm https://code.pythinker.com/pythinker-code/install.ps1 | iex +# +# To pin a version when running the hosted script, set: +# $env:PYTHINKER_VERSION = "0.6.0"; irm https://code.pythinker.com/pythinker-code/install.ps1 | iex +# +# Or run the script directly: +# .\install.ps1 -Version 0.6.0 +# +# Terminal controls: +# $env:PYTHINKER_NO_ANIMATION = "1" # Disable motion, keep concise output. +# $env:NO_COLOR = "1" # Disable ANSI colors. + +[CmdletBinding()] +param( + [string]$Version = $env:PYTHINKER_VERSION, + [switch]$Help +) + +# Invoke the implementation in a child scope. This matters for the hosted +# `irm ... | iex` form: functions, preferences, and temporary variables must +# not leak into the caller's interactive PowerShell session. +& { + param( + [string]$RequestedVersion, + [bool]$ShowHelp + ) + + $ErrorActionPreference = "Stop" + Set-StrictMode -Version 2.0 + + $Repo = "Pythoughts-labs/pythinker-code" + $CdnLatestUrl = "https://code.pythinker.com/pythinker-code/latest" + $InstallShUrl = "https://code.pythinker.com/pythinker-code/install.sh" + $InstallPs1Url = "https://code.pythinker.com/pythinker-code/install.ps1" + + $previousOutputEncoding = $null + $previousSecurityProtocol = $null + $httpClient = $null + $installMutex = $null + $mutexHeld = $false + $tempDir = $null + $stagingBinary = $null + $backupBinary = $null + $targetPath = $null + + try { $previousOutputEncoding = [Console]::OutputEncoding } catch {} + try { $previousSecurityProtocol = [Net.ServicePointManager]::SecurityProtocol } catch {} + + try { + [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false) + } catch {} + + # Add TLS 1.2 without discarding newer protocols selected by the host. + try { + $currentProtocols = [Net.ServicePointManager]::SecurityProtocol + $tls12 = [Net.SecurityProtocolType]::Tls12 + if (($currentProtocols -band $tls12) -eq 0) { + [Net.ServicePointManager]::SecurityProtocol = $currentProtocols -bor $tls12 + } + } catch {} + + function Test-EnvironmentVariablePresent([string]$Name) { + return $null -ne [Environment]::GetEnvironmentVariable($Name, 'Process') + } + + function Test-InteractiveTerminal { + try { + if ([Console]::IsOutputRedirected) { return $false } + $null = $Host.UI.RawUI.WindowSize + return $true + } catch { + return $false + } + } + + function Test-AnsiSupport { + if (-not (Test-InteractiveTerminal)) { return $false } + + $term = [Environment]::GetEnvironmentVariable('TERM', 'Process') + if ($term -and $term -ieq 'dumb') { return $false } + + try { + if ([bool]$Host.UI.SupportsVirtualTerminal) { return $true } + } catch {} + + if (Test-EnvironmentVariablePresent 'WT_SESSION') { return $true } + if (Test-EnvironmentVariablePresent 'ANSICON') { return $true } + if ($env:ConEmuANSI -eq 'ON') { return $true } + if ($term -and $term -match '(?i)(xterm|ansi|screen|cygwin|msys|vt100)') { return $true } + + return $false + } + + $interactiveTerminal = Test-InteractiveTerminal + $ansiSupported = Test-AnsiSupport + $useColor = $ansiSupported -and -not (Test-EnvironmentVariablePresent 'NO_COLOR') + $useAnimation = $ansiSupported ` + -and $interactiveTerminal ` + -and -not (Test-EnvironmentVariablePresent 'CI') ` + -and -not (Test-EnvironmentVariablePresent 'PYTHINKER_NO_ANIMATION') + + $ESC = [char]27 + $NAVY = $FACE = $ACCENT = $TIP = $EYE = $BAR = $DIM = $BOLD = $RESET = $SHINE = $SOFT = $ERROR_COLOR = "" + if ($useColor) { + $NAVY = "$ESC[38;5;24m" + $FACE = "$ESC[38;5;255m" + $ACCENT = "$ESC[38;5;147m" + $TIP = "$ESC[38;5;216m" + $EYE = "$ESC[38;5;189m" + $BAR = "$ESC[38;5;250m" + $DIM = "$ESC[2m" + $BOLD = "$ESC[1m" + $RESET = "$ESC[0m" + $SHINE = "$ESC[38;5;231m" + $SOFT = "$ESC[38;5;111m" + $ERROR_COLOR = "$ESC[38;5;203m" + } + + $HIDE_CURSOR = "" + $SHOW_CURSOR = "" + $CLEAR_LINE = "" + if ($useAnimation) { + $HIDE_CURSOR = "$ESC[?25l" + $SHOW_CURSOR = "$ESC[?25h" + $CLEAR_LINE = "$ESC[2K" + } + + function Stop-Installer([string]$Message) { + throw "Pythinker Code install failed: $Message" + } + + function Show-Usage { + @" +Pythinker Code — native Windows installer. + +Downloads the native single-file binary (pythinker-code-win32-.zip) +from the GitHub Release matching the CDN's latest version, verifies its +SHA-256, and installs pythinker.exe to %LOCALAPPDATA%\Programs\Pythinker +(added to the user PATH). + +Usage: + irm $InstallPs1Url | iex + + # Pin a version: + `$env:PYTHINKER_VERSION = "0.6.0"; irm $InstallPs1Url | iex + + # Or run directly: + .\install.ps1 -Version 0.6.0 + +Terminal controls: + `$env:PYTHINKER_NO_ANIMATION = "1" # Disable motion. + `$env:NO_COLOR = "1" # Disable ANSI colors. + +Unix / macOS / Linux users: + curl -fsSL $InstallShUrl | bash +"@ + } + + function Get-TerminalWidth { + $width = 80 + try { $width = [int]$Host.UI.RawUI.WindowSize.Width } catch {} + return [Math]::Max(48, [Math]::Min(120, $width)) + } + + function Get-AnimationDelay([string]$EnvironmentName, [int]$DefaultMilliseconds) { + $raw = [Environment]::GetEnvironmentVariable($EnvironmentName, 'Process') + if (-not $raw) { return $DefaultMilliseconds } + + try { + $milliseconds = [int]([double]$raw * 1000) + return [Math]::Max(0, [Math]::Min(2000, $milliseconds)) + } catch { + return $DefaultMilliseconds + } + } + + function Write-Logo { + $frameDelay = Get-AnimationDelay 'PYTHINKER_LOGO_FRAME_DELAY' 45 + $taglineDelay = Get-AnimationDelay 'PYTHINKER_LOGO_STAGGER_DELAY' 14 + + $logo = @( + " ${TIP}●${RESET}", + " ${NAVY}│${RESET}", + " ${NAVY}▛${RESET}${FACE}▀▀▀▀▀▀▀${RESET}${NAVY}▜${RESET}", + " ${TIP}◖${RESET}${NAVY}█${RESET} ${EYE}◉${RESET} ${EYE}◉${RESET} ${NAVY}█${RESET}${TIP}◗${RESET}", + " ${NAVY}▙▄▄▄${RESET}${FACE}≡${RESET}${NAVY}▄▄▄▟${RESET}" + ) + + Write-Host "" + foreach ($line in $logo) { + Write-Host $line + if ($useAnimation -and $frameDelay -gt 0) { + Start-Sleep -Milliseconds $frameDelay + } + } + + $tagline = "Pythinker Code Think first. Then code." + Write-Host "" + Write-Host -NoNewline " " + if ($useAnimation) { + foreach ($character in $tagline.ToCharArray()) { + Write-Host -NoNewline $character + if ($taglineDelay -gt 0) { Start-Sleep -Milliseconds $taglineDelay } + } + Write-Host "" + } else { + Write-Host $tagline + } + Write-Host "" + } + + function Write-MetadataRow([string]$Label, [string]$Value) { + Write-Host (" {0}{1,-10}{2} {3}" -f $DIM, $Label, $RESET, $Value) + } + + function Write-PhaseOk([string]$Label, [string]$Detail) { + $suffix = if ($Detail) { " ${DIM}$Detail${RESET}" } else { "" } + Write-Host (" ${ACCENT}✓${RESET} {0,-10}{1}" -f $Label, $suffix) + } + + function Write-PhaseInfo([string]$Label, [string]$Detail) { + Write-Host (" ${SOFT}•${RESET} {0,-10} ${DIM}{1}${RESET}" -f $Label, $Detail) + } + + function Write-RetryLine([string]$Label, [int]$Attempt, [int]$DelaySeconds, [string]$Reason) { + if ($useAnimation) { + Write-Host -NoNewline ("`r${CLEAR_LINE}") + } + Write-Host (" ${TIP}↻${RESET} {0,-10} retry {1}/3 in {2}s ${DIM}{3}${RESET}" -f $Label, $Attempt, $DelaySeconds, $Reason) + } + + function Format-ByteSize([long]$Bytes) { + if ($Bytes -lt 1024) { return "$Bytes B" } + if ($Bytes -lt 1MB) { return ("{0:N1} KB" -f ($Bytes / 1KB)) } + if ($Bytes -lt 1GB) { return ("{0:N1} MB" -f ($Bytes / 1MB)) } + return ("{0:N2} GB" -f ($Bytes / 1GB)) + } + + function Write-DownloadStarted([string]$Label) { + Write-Host (" ${SOFT}↓${RESET} {0,-10} ${DIM}starting…${RESET}" -f $Label) + } + + function Write-DownloadProgress( + [long]$ReceivedBytes, + $TotalBytes, + [double]$ElapsedSeconds, + [int]$FrameIndex + ) { + if (-not $useAnimation) { return } + + $spinnerFrames = @('●', '◐', '◓', '◑', '◒') + $spinner = $spinnerFrames[$FrameIndex % $spinnerFrames.Length] + $terminalWidth = Get-TerminalWidth + $barWidth = [Math]::Max(12, [Math]::Min(40, $terminalWidth - 44)) + $rate = if ($ElapsedSeconds -gt 0.05) { [long]($ReceivedBytes / $ElapsedSeconds) } else { 0 } + $rateText = if ($rate -gt 0) { "$(Format-ByteSize $rate)/s" } else { "—/s" } + + if ($null -ne $TotalBytes -and [long]$TotalBytes -gt 0) { + $total = [long]$TotalBytes + $percent = [Math]::Min(100, [Math]::Floor(($ReceivedBytes * 100.0) / $total)) + $filled = [int][Math]::Floor(($percent * $barWidth) / 100) + $empty = $barWidth - $filled + $barText = ("━" * $filled) + ("─" * $empty) + $metrics = "{0,3}% {1}/{2} {3}" -f $percent, (Format-ByteSize $ReceivedBytes), (Format-ByteSize $total), $rateText + $line = " ${ACCENT}${spinner}${RESET} Download ${BAR}${barText}${RESET} $metrics" + } else { + $position = $FrameIndex % $barWidth + $left = "─" * $position + $rightCount = [Math]::Max(0, $barWidth - $position - 1) + $right = "─" * $rightCount + $barText = "${left}${SHINE}◆${RESET}${BAR}${right}" + $line = " ${ACCENT}${spinner}${RESET} Download ${BAR}${barText}${RESET} $(Format-ByteSize $ReceivedBytes) $rateText" + } + + Write-Host -NoNewline ("`r${CLEAR_LINE}${line}") + } + + function Write-DownloadComplete([long]$Bytes, [double]$ElapsedSeconds) { + if ($useAnimation) { + Write-Host -NoNewline ("`r${CLEAR_LINE}") + } + + $duration = [Math]::Max(0.01, $ElapsedSeconds) + $averageRate = [long]($Bytes / $duration) + Write-Host (" ${ACCENT}✓${RESET} {0,-10} {1} ${DIM}in {2:N1}s · {3}/s${RESET}" -f 'Download', (Format-ByteSize $Bytes), $duration, (Format-ByteSize $averageRate)) + } + + function New-InstallerHttpClient { + try { + Add-Type -AssemblyName System.Net.Http -ErrorAction Stop + } catch { + Stop-Installer "System.Net.Http is unavailable: $($_.Exception.Message)" + } + + $handler = New-Object System.Net.Http.HttpClientHandler + $handler.AllowAutoRedirect = $true + $client = New-Object System.Net.Http.HttpClient -ArgumentList $handler + $client.Timeout = [TimeSpan]::FromMinutes(15) + [void]$client.DefaultRequestHeaders.UserAgent.ParseAdd('Pythinker-Code-Installer/1.0') + [void]$client.DefaultRequestHeaders.Accept.ParseAdd('*/*') + return $client + } + + function Get-HttpTextOnce($Client, [string]$Uri, [string]$Description) { + $response = $null + try { + $response = $Client.GetAsync($Uri, [System.Net.Http.HttpCompletionOption]::ResponseContentRead).GetAwaiter().GetResult() + if (-not $response.IsSuccessStatusCode) { + $status = [int]$response.StatusCode + throw "$Description failed with HTTP $status $($response.ReasonPhrase)" + } + return $response.Content.ReadAsStringAsync().GetAwaiter().GetResult() + } finally { + if ($null -ne $response) { $response.Dispose() } + } + } + + function Get-HttpText($Client, [string]$Uri, [string]$Description) { + $lastError = $null + for ($attempt = 1; $attempt -le 3; $attempt++) { + try { + return Get-HttpTextOnce $Client $Uri $Description + } catch { + $lastError = $_.Exception.Message + if ($attempt -lt 3) { + $delay = [Math]::Pow(2, $attempt - 1) + Write-RetryLine $Description ($attempt + 1) ([int]$delay) $lastError + Start-Sleep -Seconds $delay + } + } + } + throw "$Description failed after 3 attempts: $lastError" + } + + function Get-HttpJson($Client, [string]$Uri, [switch]$AllowNotFound) { + $response = $null + try { + $response = $Client.GetAsync($Uri, [System.Net.Http.HttpCompletionOption]::ResponseContentRead).GetAwaiter().GetResult() + $status = [int]$response.StatusCode + if ($AllowNotFound -and $status -eq 404) { return $null } + if (-not $response.IsSuccessStatusCode) { + throw "GitHub API failed with HTTP $status $($response.ReasonPhrase)" + } + $json = $response.Content.ReadAsStringAsync().GetAwaiter().GetResult() + return $json | ConvertFrom-Json + } finally { + if ($null -ne $response) { $response.Dispose() } + } + } + + function Download-File($Client, [string]$Uri, [string]$Destination, [string]$Label) { + $lastError = $null + + for ($attempt = 1; $attempt -le 3; $attempt++) { + $partialPath = "$Destination.part" + $response = $null + $inputStream = $null + $outputStream = $null + $stopwatch = $null + $received = [long]0 + $frameIndex = 0 + + Remove-Item -LiteralPath $partialPath -Force -ErrorAction SilentlyContinue + Remove-Item -LiteralPath $Destination -Force -ErrorAction SilentlyContinue + + if (-not $useAnimation) { + Write-DownloadStarted $Label + } + + try { + if ($useAnimation) { Write-Host -NoNewline $HIDE_CURSOR } + + $response = $Client.GetAsync($Uri, [System.Net.Http.HttpCompletionOption]::ResponseHeadersRead).GetAwaiter().GetResult() + if (-not $response.IsSuccessStatusCode) { + $status = [int]$response.StatusCode + throw "$Label failed with HTTP $status $($response.ReasonPhrase)" + } + + $totalBytes = $response.Content.Headers.ContentLength + $inputStream = $response.Content.ReadAsStreamAsync().GetAwaiter().GetResult() + $outputStream = [System.IO.File]::Open( + $partialPath, + [System.IO.FileMode]::Create, + [System.IO.FileAccess]::Write, + [System.IO.FileShare]::None + ) + + $buffer = New-Object byte[] 131072 + $stopwatch = [Diagnostics.Stopwatch]::StartNew() + $lastRenderMilliseconds = [long]-1000 + + while ($true) { + $read = $inputStream.Read($buffer, 0, $buffer.Length) + if ($read -le 0) { break } + + $outputStream.Write($buffer, 0, $read) + $received += $read + + if ($useAnimation -and ($stopwatch.ElapsedMilliseconds - $lastRenderMilliseconds) -ge 80) { + Write-DownloadProgress $received $totalBytes $stopwatch.Elapsed.TotalSeconds $frameIndex + $lastRenderMilliseconds = $stopwatch.ElapsedMilliseconds + $frameIndex++ + } + } + + $outputStream.Flush($true) + $outputStream.Dispose() + $outputStream = $null + $inputStream.Dispose() + $inputStream = $null + $response.Dispose() + $response = $null + $stopwatch.Stop() + + if ($null -ne $totalBytes -and [long]$totalBytes -gt 0 -and $received -ne [long]$totalBytes) { + throw "$Label was truncated: expected $totalBytes bytes, received $received" + } + if ($received -le 0) { throw "$Label returned an empty file" } + + [System.IO.File]::Move($partialPath, $Destination) + Write-DownloadComplete $received $stopwatch.Elapsed.TotalSeconds + return + } catch { + $lastError = $_.Exception.Message + } finally { + if ($null -ne $outputStream) { $outputStream.Dispose() } + if ($null -ne $inputStream) { $inputStream.Dispose() } + if ($null -ne $response) { $response.Dispose() } + if ($null -ne $stopwatch -and $stopwatch.IsRunning) { $stopwatch.Stop() } + Remove-Item -LiteralPath $partialPath -Force -ErrorAction SilentlyContinue + if ($useAnimation) { + Write-Host -NoNewline ("`r${CLEAR_LINE}${SHOW_CURSOR}") + } + } + + if ($attempt -lt 3) { + $delay = [Math]::Pow(2, $attempt - 1) + Write-RetryLine $Label ($attempt + 1) ([int]$delay) $lastError + Start-Sleep -Seconds $delay + } + } + + Stop-Installer "$Label failed after 3 attempts: $lastError" + } + + function Test-Version([string]$Candidate) { + return $Candidate -match '^\d+\.\d+\.\d+$' + } + + function Get-ReleaseTag([string]$ResolvedVersion) { + return "@pythoughts/pythinker-code@$ResolvedVersion" + } + + function Get-EncodedReleaseTag([string]$ResolvedVersion) { + return [uri]::EscapeDataString((Get-ReleaseTag $ResolvedVersion)) + } + + function Test-ReleaseHasAsset($Release, [string]$AssetName) { + if ($null -eq $Release) { return $false } + if ($Release.draft -or $Release.prerelease) { return $false } + $names = @($Release.assets | ForEach-Object { [string]$_.name }) + return (($names -contains $AssetName) -and ($names -contains "$AssetName.sha256")) + } + + function Get-LatestVersion($Client) { + try { + $raw = Get-HttpText $Client $CdnLatestUrl 'CDN latest version' + $candidate = ([string]$raw).Trim().Trim('"') + if (Test-Version $candidate) { return $candidate } + } catch { + Write-PhaseInfo 'Version' 'CDN unavailable; using GitHub release metadata' + } + + $latestApi = "https://api.github.com/repos/$Repo/releases/latest" + try { + $latest = Get-HttpJson $Client $latestApi + $tag = [string]$latest.tag_name + if ($tag -match '^@pythoughts/pythinker-code@(\d+\.\d+\.\d+)$') { + return $Matches[1] + } + Stop-Installer "could not parse latest release tag '$tag' from GitHub" + } catch { + Stop-Installer "could not resolve the latest version: $($_.Exception.Message)" + } + } + + function Wait-ReleaseAssets($Client, [string]$ResolvedVersion, [string]$AssetName) { + $api = "https://api.github.com/repos/$Repo/releases/tags/$(Get-EncodedReleaseTag $ResolvedVersion)" + $delay = 4 + $elapsed = 0 + $maxElapsed = 360 + $frame = 0 + $lastError = $null + + while ($true) { + try { + $release = Get-HttpJson $Client $api -AllowNotFound + if (Test-ReleaseHasAsset $release $AssetName) { + if ($useAnimation) { Write-Host -NoNewline ("`r${CLEAR_LINE}") } + Write-PhaseOk 'Release' 'assets ready' + return + } + } catch { + $lastError = $_.Exception.Message + if ($lastError -match 'HTTP (401|403)') { + Stop-Installer $lastError + } + } + + if ($elapsed -ge $maxElapsed) { + $detail = if ($lastError) { " Last error: $lastError" } else { "" } + Stop-Installer "release assets for $ResolvedVersion were not available after ${maxElapsed}s.$detail" + } + + if ($useAnimation) { + $waitFrames = @('◐', '◓', '◑', '◒') + for ($remaining = $delay; $remaining -gt 0; $remaining--) { + $glyph = $waitFrames[$frame % $waitFrames.Length] + Write-Host -NoNewline ("`r${CLEAR_LINE} ${ACCENT}${glyph}${RESET} Release ${DIM}waiting for assets · retry in ${remaining}s${RESET}") + Start-Sleep -Seconds 1 + $elapsed++ + $frame++ + if ($elapsed -ge $maxElapsed) { break } + } + } else { + Write-Host (" ${SOFT}•${RESET} Release waiting for assets; retrying in ${delay}s") + Start-Sleep -Seconds $delay + $elapsed += $delay + } + + $delay = [Math]::Min($delay * 2, 60) + } + } + + function Read-ExpectedHash([string]$Path, [string]$ExpectedFileName) { + $candidates = @() + + foreach ($line in Get-Content -LiteralPath $Path) { + $trimmed = ([string]$line).Trim() + if (-not $trimmed) { continue } + + if ($trimmed -match '^(?[A-Fa-f0-9]{64})\s+\*?(?.+?)\s*$') { + $candidates += [pscustomobject]@{ + Hash = $Matches.hash.ToLowerInvariant() + Name = $Matches.name.Trim() + } + continue + } + + if ($trimmed -match '^SHA256\s*\((?.+?)\)\s*=\s*(?[A-Fa-f0-9]{64})$') { + $candidates += [pscustomobject]@{ + Hash = $Matches.hash.ToLowerInvariant() + Name = $Matches.name.Trim() + } + continue + } + + if ($trimmed -match '^(?[A-Fa-f0-9]{64})$') { + $candidates += [pscustomobject]@{ + Hash = $Matches.hash.ToLowerInvariant() + Name = $null + } + } + } + + $namedMatches = @($candidates | Where-Object { + $_.Name -and ([System.IO.Path]::GetFileName([string]$_.Name) -ieq $ExpectedFileName) + }) + + if ($namedMatches.Count -eq 1) { return [string]$namedMatches[0].Hash } + + $unnamedMatches = @($candidates | Where-Object { -not $_.Name }) + if ($candidates.Count -eq 1 -and $unnamedMatches.Count -eq 1) { + return [string]$unnamedMatches[0].Hash + } + + Stop-Installer "checksum file did not contain a SHA-256 entry for '$ExpectedFileName'" + } + + function Expand-VerifiedBinary([string]$ArchivePath, [string]$DestinationPath) { + try { + Add-Type -AssemblyName System.IO.Compression -ErrorAction Stop + Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction Stop + } catch { + Stop-Installer "ZIP support is unavailable: $($_.Exception.Message)" + } + + $archive = $null + $entryStream = $null + $destinationStream = $null + + try { + $archive = [System.IO.Compression.ZipFile]::OpenRead($ArchivePath) + $files = @($archive.Entries | Where-Object { -not [string]::IsNullOrEmpty($_.Name) }) + + if ($files.Count -ne 1) { + Stop-Installer "archive must contain exactly one root file named pythinker.exe; found $($files.Count) files" + } + + $entry = $files[0] + $entryPath = ([string]$entry.FullName).Replace('\', '/') + if ($entryPath -cne 'pythinker.exe') { + Stop-Installer "archive must contain exactly one root file named pythinker.exe; found '$entryPath'" + } + if ([long]$entry.Length -le 0) { + Stop-Installer "archive contained an empty pythinker.exe" + } + + $entryStream = $entry.Open() + $destinationStream = [System.IO.File]::Open( + $DestinationPath, + [System.IO.FileMode]::CreateNew, + [System.IO.FileAccess]::Write, + [System.IO.FileShare]::None + ) + $entryStream.CopyTo($destinationStream) + $destinationStream.Flush($true) + } finally { + if ($null -ne $destinationStream) { $destinationStream.Dispose() } + if ($null -ne $entryStream) { $entryStream.Dispose() } + if ($null -ne $archive) { $archive.Dispose() } + } + } + + function Move-FileWithRetry( + [string]$Source, + [string]$Destination, + [string]$Description, + [int]$Attempts = 6 + ) { + $lastError = $null + for ($attempt = 1; $attempt -le $Attempts; $attempt++) { + try { + [System.IO.File]::Move($Source, $Destination) + return + } catch { + $lastError = $_.Exception.Message + if ($attempt -lt $Attempts) { + Start-Sleep -Milliseconds ([Math]::Min(1500, 200 * $attempt)) + } + } + } + throw "$Description failed after $Attempts attempts: $lastError" + } + + function Remove-FileWithRetry([string]$Path, [int]$Attempts = 5) { + for ($attempt = 1; $attempt -le $Attempts; $attempt++) { + if (-not (Test-Path -LiteralPath $Path)) { return $true } + try { + Remove-Item -LiteralPath $Path -Force -ErrorAction Stop + return $true + } catch { + if ($attempt -lt $Attempts) { Start-Sleep -Milliseconds (250 * $attempt) } + } + } + return -not (Test-Path -LiteralPath $Path) + } + + function Repair-InterruptedInstall([string]$BinaryPath) { + $directory = [System.IO.Path]::GetDirectoryName($BinaryPath) + $leaf = [System.IO.Path]::GetFileName($BinaryPath) + $backups = @(Get-ChildItem -LiteralPath $directory -Filter "$leaf.old-*" -File -ErrorAction SilentlyContinue | + Sort-Object LastWriteTimeUtc -Descending) + + if (-not (Test-Path -LiteralPath $BinaryPath) -and $backups.Count -gt 0) { + Move-FileWithRetry $backups[0].FullName $BinaryPath 'recovery of the previous executable' + Write-PhaseOk 'Recovery' 'restored an interrupted prior update' + $backups = @($backups | Select-Object -Skip 1) + } + + if (Test-Path -LiteralPath $BinaryPath) { + foreach ($backup in $backups) { + [void](Remove-FileWithRetry $backup.FullName 2) + } + } + + foreach ($stale in Get-ChildItem -LiteralPath $directory -Filter "$leaf.new-*" -File -ErrorAction SilentlyContinue) { + [void](Remove-FileWithRetry $stale.FullName 2) + } + } + + function Normalize-PathEntry([string]$PathEntry) { + if ([string]::IsNullOrWhiteSpace($PathEntry)) { return "" } + + $clean = $PathEntry.Trim().Trim('"') + $expanded = [Environment]::ExpandEnvironmentVariables($clean) + try { $expanded = [System.IO.Path]::GetFullPath($expanded) } catch {} + return $expanded.TrimEnd([char[]]@('\', '/')) + } + + function Test-PathContains([string]$PathValue, [string]$Entry) { + $normalizedEntry = Normalize-PathEntry $Entry + foreach ($candidate in ($PathValue -split ';')) { + if ((Normalize-PathEntry $candidate) -ieq $normalizedEntry) { return $true } + } + return $false + } + + function Add-InstallDirectoryToPath([string]$InstallDirectory) { + $userPath = [Environment]::GetEnvironmentVariable('Path', 'User') + $added = $false + + if (-not (Test-PathContains $userPath $InstallDirectory)) { + $newPath = if ($userPath) { "$InstallDirectory;$userPath" } else { $InstallDirectory } + [Environment]::SetEnvironmentVariable('Path', $newPath, 'User') + $added = $true + } + + if (-not (Test-PathContains $env:PATH $InstallDirectory)) { + $env:PATH = "$InstallDirectory;$env:PATH" + } + + return $added + } + + function Get-NativeArchitecture { + try { + $registry = Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -ErrorAction Stop + if ($registry.PROCESSOR_ARCHITECTURE) { return [string]$registry.PROCESSOR_ARCHITECTURE } + } catch {} + + if ($env:PROCESSOR_ARCHITEW6432) { return [string]$env:PROCESSOR_ARCHITEW6432 } + return [string]$env:PROCESSOR_ARCHITECTURE + } + + function Print-Intro([string]$ResolvedVersion, [string]$PlatformDisplay, [string]$AssetName, [string]$Action) { + Write-Logo + Write-MetadataRow 'Version' $ResolvedVersion + Write-MetadataRow 'Platform' $PlatformDisplay + Write-MetadataRow 'Package' $AssetName + Write-MetadataRow 'Action' $Action + Write-Host "" + } + + function Print-Done([string]$ResolvedVersion, [string]$BinaryPath, [bool]$PathWasAdded) { + $separatorWidth = [Math]::Max(36, [Math]::Min(58, (Get-TerminalWidth) - 4)) + $separator = "─" * $separatorWidth + + Write-Host "" + Write-Host " ${BAR}${separator}${RESET}" + Write-Host " ${ACCENT}${BOLD}✓ Pythinker Code $ResolvedVersion is ready${RESET}" + Write-Host "" + Write-Host " ${DIM}Run${RESET} ${BOLD}pythinker${RESET}" + Write-Host " ${DIM}Installed${RESET} $BinaryPath" + if ($PathWasAdded) { + Write-Host " ${DIM}PATH${RESET} Added for this user and this session" + } else { + Write-Host " ${DIM}PATH${RESET} Already configured" + } + Write-Host " ${BAR}${separator}${RESET}" + Write-Host "" + } + + try { + if ($ShowHelp) { + Show-Usage + return + } + + if ([System.Environment]::OSVersion.Platform -ne [System.PlatformID]::Win32NT) { + Stop-Installer "this installer is for Windows. Use: curl -fsSL $InstallShUrl | bash" + } + + $httpClient = New-InstallerHttpClient + + $resolvedVersion = ([string]$RequestedVersion).Trim() + if ($resolvedVersion.StartsWith('v', [StringComparison]::OrdinalIgnoreCase)) { + $resolvedVersion = $resolvedVersion.Substring(1) + } + if (-not $resolvedVersion) { + $resolvedVersion = Get-LatestVersion $httpClient + } + if (-not (Test-Version $resolvedVersion)) { + Stop-Installer "invalid version '$resolvedVersion'; expected X.Y.Z" + } + + $nativeArchitecture = (Get-NativeArchitecture).ToUpperInvariant() + switch ($nativeArchitecture) { + 'ARM64' { $archLabel = 'arm64' } + 'AMD64' { $archLabel = 'x64' } + default { Stop-Installer "unsupported Windows architecture '$nativeArchitecture' (need x64 or arm64)" } + } + + $localAppData = [Environment]::GetFolderPath([System.Environment+SpecialFolder]::LocalApplicationData) + if (-not $localAppData) { $localAppData = $env:LOCALAPPDATA } + if (-not $localAppData) { Stop-Installer 'could not resolve LOCALAPPDATA' } + + $installDir = Join-Path $localAppData 'Programs\Pythinker' + New-Item -ItemType Directory -Path $installDir -Force | Out-Null + $targetPath = Join-Path $installDir 'pythinker.exe' + + $mutexUser = ([Environment]::UserName -replace '[^A-Za-z0-9_.-]', '_') + $mutexName = "Local\PythinkerCodeInstaller-$mutexUser" + $installMutex = New-Object System.Threading.Mutex($false, $mutexName) + try { + $mutexHeld = $installMutex.WaitOne(0) + } catch [System.Threading.AbandonedMutexException] { + $mutexHeld = $true + } + if (-not $mutexHeld) { + Stop-Installer 'another Pythinker installer or update is already running' + } + + Repair-InterruptedInstall $targetPath + $action = if (Test-Path -LiteralPath $targetPath) { 'Upgrade' } else { 'Install' } + + $asset = "pythinker-code-win32-$archLabel.zip" + $baseUrl = "https://github.com/$Repo/releases/download/$(Get-EncodedReleaseTag $resolvedVersion)" + $installerUrl = "$baseUrl/$asset" + $shaUrl = "$installerUrl.sha256" + + Print-Intro $resolvedVersion "Windows $archLabel" $asset $action + Wait-ReleaseAssets $httpClient $resolvedVersion $asset + + $tempRoot = [System.IO.Path]::GetTempPath() + $tempDir = Join-Path $tempRoot ("pythinker-install-" + [System.Guid]::NewGuid().ToString('N')) + New-Item -ItemType Directory -Path $tempDir | Out-Null + $installerPath = Join-Path $tempDir $asset + $shaPath = "$installerPath.sha256" + + Download-File $httpClient $installerUrl $installerPath 'Download' + $checksumText = Get-HttpText $httpClient $shaUrl 'Checksum' + [System.IO.File]::WriteAllText($shaPath, $checksumText, [System.Text.Encoding]::ASCII) + + $expectedHash = Read-ExpectedHash $shaPath $asset + $actualHash = (Get-FileHash -Algorithm SHA256 -LiteralPath $installerPath).Hash.ToLowerInvariant() + if ($expectedHash -ne $actualHash) { + Stop-Installer "SHA-256 mismatch: expected $expectedHash, got $actualHash" + } + Write-PhaseOk 'Verify' ("SHA-256 {0}…" -f $actualHash.Substring(0, 12)) + + $transactionId = [System.Guid]::NewGuid().ToString('N') + $stagingBinary = Join-Path $installDir "pythinker.exe.new-$transactionId" + Expand-VerifiedBinary $installerPath $stagingBinary + + if (Test-Path -LiteralPath $targetPath) { + $backupBinary = Join-Path $installDir "pythinker.exe.old-$transactionId" + try { + Move-FileWithRetry $targetPath $backupBinary 'moving the existing executable aside' + } catch { + Stop-Installer "could not prepare the current installation for update: $($_.Exception.Message)" + } + } + + try { + Move-FileWithRetry $stagingBinary $targetPath 'installing the new executable' + $stagingBinary = $null + } catch { + $installError = $_.Exception.Message + $rollbackError = $null + + # Roll back the previous executable whenever the new same-volume rename + # cannot complete. The user is never intentionally left without a binary. + if ($backupBinary -and (Test-Path -LiteralPath $backupBinary) -and -not (Test-Path -LiteralPath $targetPath)) { + try { + Move-FileWithRetry $backupBinary $targetPath 'rollback of the previous executable' + $backupBinary = $null + } catch { + $rollbackError = $_.Exception.Message + } + } + + if ($rollbackError) { + Stop-Installer "could not install the new executable ($installError); rollback also failed ($rollbackError)" + } + Stop-Installer "could not install the new executable: $installError" + } + + if ($backupBinary -and (Test-Path -LiteralPath $backupBinary)) { + [void](Remove-FileWithRetry $backupBinary 5) + if (-not (Test-Path -LiteralPath $backupBinary)) { $backupBinary = $null } + } + Write-PhaseOk 'Install' $targetPath + + $pathWasAdded = Add-InstallDirectoryToPath $installDir + if ($pathWasAdded) { + Write-PhaseOk 'PATH' 'added for this user' + } else { + Write-PhaseOk 'PATH' 'already configured' + } + + Print-Done $resolvedVersion $targetPath $pathWasAdded + } finally { + if ($useAnimation) { + Write-Host -NoNewline ("`r${CLEAR_LINE}${SHOW_CURSOR}") + } + + if ($null -ne $httpClient) { $httpClient.Dispose() } + + if ($tempDir -and (Test-Path -LiteralPath $tempDir)) { + Remove-Item -LiteralPath $tempDir -Recurse -Force -ErrorAction SilentlyContinue + } + + if ($stagingBinary -and (Test-Path -LiteralPath $stagingBinary)) { + [void](Remove-FileWithRetry $stagingBinary 2) + } + + # A backup is safe to remove only after the target exists. If rollback did + # not complete, preserve the backup for manual recovery instead of deleting it. + if ($backupBinary -and $targetPath -and (Test-Path -LiteralPath $targetPath) -and (Test-Path -LiteralPath $backupBinary)) { + [void](Remove-FileWithRetry $backupBinary 2) + } + + if ($mutexHeld -and $null -ne $installMutex) { + try { $installMutex.ReleaseMutex() } catch {} + } + if ($null -ne $installMutex) { $installMutex.Dispose() } + + if ($null -ne $previousOutputEncoding) { + try { [Console]::OutputEncoding = $previousOutputEncoding } catch {} + } + if ($null -ne $previousSecurityProtocol) { + try { [Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol } catch {} + } + } +} $Version ([bool]$Help) diff --git a/apps/site/public/install.sh b/apps/site/public/install.sh new file mode 100755 index 00000000..9d5998d0 --- /dev/null +++ b/apps/site/public/install.sh @@ -0,0 +1,911 @@ +#!/usr/bin/env bash +# Pythinker Code — polished native curl-bash installer. +# +# Downloads the native single-file binary (Node SEA) for the current OS and +# architecture, verifies its SHA-256 checksum, and installs it at: +# ~/.local/bin/pythinker +# +# Usage: +# curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash +# +# Pin a version: +# curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash -s -- --version 0.6.0 +# +# Choose an install prefix: +# curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash -s -- --prefix /opt/pythinker +# +# Supported release targets: +# linux-x64, linux-arm64, darwin-arm64, darwin-x64 +# +# Windows: +# irm https://code.pythinker.com/pythinker-code/install.ps1 | iex +set -euo pipefail + +VERSION="" +INSTALL_PREFIX="${PYTHINKER_INSTALL_PREFIX:-$HOME/.local}" +NO_COLOR="${NO_COLOR:-}" + +REPO="Pythoughts-labs/pythinker-code" +CDN_LATEST_URL="https://code.pythinker.com/pythinker-code/latest" + +# Operational globals are populated by main(). Keeping rendering helpers at +# file scope makes the installer sourceable for regression tests and tooling. +target="" +platform_display="" +tag_encoded="" +archive="" +archive_url="" +sha_url="" +bin_dir="" +install_path="" +TMP_DIR="" +DOWNLOAD_PID="" + +# UI globals are initialized to empty so helper functions are safe before +# _init_ui is called (for example, when the file is sourced by a test). +_anim="" +_cursor_hidden="" +ROBOT="" +FACE="" +ACCENT="" +TIP="" +EYE="" +SUCCESS="" +WARNING="" +ERROR_COLOR="" +MUTED="" +BORDER="" +BOLD="" +DIM="" +RESET="" + +usage() { + cat <<'EOF_USAGE' +Pythinker Code — native curl-bash installer. + +Downloads the native single-file binary for your OS and architecture, +verifies its SHA-256 checksum, and installs it at: + ~/.local/bin/pythinker + +Usage: + curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash + +Pin a specific version: + curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash -s -- --version 0.6.0 + +Use a custom install prefix (default: $HOME/.local): + curl -fsSL https://code.pythinker.com/pythinker-code/install.sh | bash -s -- --prefix /opt/pythinker + +Supported targets: + linux-x64 Linux x86_64 + linux-arm64 Linux ARM64 + darwin-arm64 macOS Apple Silicon + darwin-x64 macOS Intel + +Environment: + PYTHINKER_INSTALL_PREFIX Default install prefix + PYTHINKER_NO_ANIMATION Disable terminal animation when non-empty + PYTHINKER_TERM_WIDTH Override detected width + NO_COLOR Disable ANSI colors and animation + +Windows: + irm https://code.pythinker.com/pythinker-code/install.ps1 | iex +EOF_USAGE +} + +_parse_args() { + while [[ $# -gt 0 ]]; do + case "$1" in + --version) + [[ -n "${2:-}" ]] || { + printf '%s\n' '--version requires a value' >&2 + return 2 + } + VERSION="$2" + shift 2 + ;; + --prefix) + [[ -n "${2:-}" ]] || { + printf '%s\n' '--prefix requires a value' >&2 + return 2 + } + INSTALL_PREFIX="$2" + shift 2 + ;; + -h|--help) + usage + return 10 + ;; + *) + printf 'unknown argument: %s\n' "$1" >&2 + return 2 + ;; + esac + done +} + +_init_ui() { + # Reset first so repeated calls while sourced are deterministic. + _anim="" + ROBOT=""; FACE=""; ACCENT=""; TIP=""; EYE=""; SUCCESS="" + WARNING=""; ERROR_COLOR=""; MUTED=""; BORDER="" + BOLD=""; DIM=""; RESET="" + + if [[ -t 1 && -z "$NO_COLOR" && "${TERM:-}" != "dumb" ]]; then + # Terminal-default foreground plus restrained neutral/pastel accents. + ROBOT=$'\033[38;5;248m' + FACE=$'\033[39m' + ACCENT=$'\033[38;5;141m' + TIP=$'\033[38;5;173m' + EYE=$'\033[38;5;147m' + SUCCESS=$'\033[38;5;114m' + WARNING=$'\033[38;5;179m' + ERROR_COLOR=$'\033[38;5;203m' + MUTED=$'\033[38;5;245m' + BORDER=$'\033[38;5;245m' + BOLD=$'\033[1m' + DIM=$'\033[2m' + RESET=$'\033[0m' + fi + + if [[ -t 1 \ + && -z "$NO_COLOR" \ + && "${TERM:-}" != "dumb" \ + && -z "${PYTHINKER_NO_ANIMATION:-}" \ + && -z "${CI:-}" ]]; then + _anim=1 + fi +} + +_hide_cursor() { + [[ -n "$_anim" ]] || return 0 + [[ -z "$_cursor_hidden" ]] || return 0 + printf '\033[?25l' + _cursor_hidden=1 +} + +_show_cursor() { + [[ -n "$_cursor_hidden" ]] || return 0 + printf '\033[?25h' + _cursor_hidden="" +} + +_cleanup() { + if [[ -n "$DOWNLOAD_PID" ]] && kill -0 "$DOWNLOAD_PID" 2>/dev/null; then + kill "$DOWNLOAD_PID" 2>/dev/null || true + wait "$DOWNLOAD_PID" 2>/dev/null || true + fi + DOWNLOAD_PID="" + + _show_cursor || true + + if [[ -n "$TMP_DIR" && -d "$TMP_DIR" ]]; then + rm -rf "$TMP_DIR" + fi +} + +fail() { + _show_cursor || true + if [[ -n "$_anim" ]]; then + _clear_active_line + fi + printf ' %s✗%s %s\n' "$ERROR_COLOR" "$RESET" "$1" >&2 + exit 1 +} + +# The explicit width argument is optional; callers other than _wrap_text omit it +# and rely on detection. +# shellcheck disable=SC2120 +_terminal_columns() { + local explicit="${1:-}" + local detected="" + + if [[ "$explicit" =~ ^[0-9]+$ ]] && (( explicit > 0 )); then + printf '%s' "$explicit" + return 0 + fi + + if [[ "${PYTHINKER_TERM_WIDTH:-}" =~ ^[0-9]+$ ]] \ + && (( PYTHINKER_TERM_WIDTH > 0 )); then + printf '%s' "$PYTHINKER_TERM_WIDTH" + return 0 + fi + + if [[ "${COLUMNS:-}" =~ ^[0-9]+$ ]] && (( COLUMNS > 0 )); then + printf '%s' "$COLUMNS" + return 0 + fi + + if [[ -t 1 && "${TERM:-}" != "dumb" ]] \ + && command -v tput >/dev/null 2>&1; then + detected="$(tput cols 2>/dev/null || true)" + if [[ "$detected" =~ ^[0-9]+$ ]] && (( detected > 0 )); then + printf '%s' "$detected" + return 0 + fi + fi + + printf '80' +} + +_progress_bar_width() { + local columns="${1:-$(_terminal_columns)}" + local width + + if (( columns >= 80 )); then + width=44 + elif (( columns >= 55 )); then + width=$((columns - 32)) + (( width > 44 )) && width=44 + else + width=0 + fi + + printf '%s' "$width" +} + +_repeat_char() { + local char="$1" count="$2" result="" i + for ((i=0; i 50 )) && width=50 + (( width < 1 )) && width=1 + _repeat_char '─' "$width" +} + +_format_bytes() { + local bytes="${1:-0}" + [[ "$bytes" =~ ^[0-9]+$ ]] || bytes=0 + LC_ALL=C awk -v bytes="$bytes" 'BEGIN { + if (bytes < 1024) { + printf "%d B", bytes + } else if (bytes < 1048576) { + printf "%.1f KB", bytes / 1024 + } else if (bytes < 1073741824) { + printf "%.1f MB", bytes / 1048576 + } else { + printf "%.1f GB", bytes / 1073741824 + } + }' +} + +_format_byte_pair() { + local current="${1:-0}" total="${2:-0}" + [[ "$current" =~ ^[0-9]+$ ]] || current=0 + [[ "$total" =~ ^[0-9]+$ ]] || total=0 + LC_ALL=C awk -v current="$current" -v total="$total" 'BEGIN { + unit = "B"; divisor = 1 + if (total >= 1073741824) { + unit = "GB"; divisor = 1073741824 + } else if (total >= 1048576) { + unit = "MB"; divisor = 1048576 + } else if (total >= 1024) { + unit = "KB"; divisor = 1024 + } + + if (divisor == 1) { + printf "%d/%d %s", current, total, unit + } else { + printf "%.1f/%.1f %s", current / divisor, total / divisor, unit + } + }' +} + +_display_path() { + local path="$1" + if [[ -n "${HOME:-}" && "$path" == "$HOME" ]]; then + printf '~' + elif [[ -n "${HOME:-}" && "$path" == "$HOME/"* ]]; then + printf '~%s' "${path#"$HOME"}" + else + printf '%s' "$path" + fi +} + +_current_file_size() { + local file="$1" + if [[ -f "$file" ]]; then + wc -c < "$file" | tr -d '[:space:]' + else + printf '0' + fi +} + +_content_length() { + local url="$1" + command -v curl >/dev/null 2>&1 || return 1 + curl -fsIL "$url" 2>/dev/null \ + | awk 'tolower($1) == "content-length:" { + gsub("\r", "", $2) + bytes = $2 + } + END { + if (bytes ~ /^[0-9]+$/) print bytes + }' +} + +_download_percent() { + local output="$1" total="$2" size percent + [[ "$total" =~ ^[0-9]+$ ]] && (( total > 0 )) || return 1 + size="$(_current_file_size "$output")" + [[ "$size" =~ ^[0-9]+$ ]] || size=0 + percent=$((size * 100 / total)) + (( percent > 99 )) && percent=99 + (( percent < 0 )) && percent=0 + printf '%s' "$percent" +} + +_clear_active_line() { + [[ -n "$_anim" ]] || return 0 + printf '\r\033[2K' +} + +_render_progress_determinate() { + local percent="$1" current="$2" total="$3" frame="$4" + local columns width filled empty filled_bar empty_bar pair + + [[ "$percent" =~ ^[0-9]+$ ]] || percent=0 + (( percent > 100 )) && percent=100 + (( percent < 0 )) && percent=0 + + columns="$(_terminal_columns)" + width="$(_progress_bar_width "$columns")" + pair="$(_format_byte_pair "$current" "$total")" + + _clear_active_line + + if (( width == 0 )); then + # Below 55 columns, keep the display percentage-only to avoid wrapping. + printf ' %s%s%s Downloading %3d%%' \ + "$ACCENT" "$frame" "$RESET" "$percent" + return 0 + fi + + filled=$((percent * width / 100)) + empty=$((width - filled)) + filled_bar="$(_repeat_char '█' "$filled")" + empty_bar="$(_repeat_char '░' "$empty")" + + printf ' %s%s%s Downloading %s%s%s%s%s%s %3d%%' \ + "$ACCENT" "$frame" "$RESET" \ + "$ACCENT" "$filled_bar" "$RESET" \ + "$BORDER" "$empty_bar" "$RESET" \ + "$percent" + + # At 80 columns the 44-cell bar fits, but byte details can wrap. Add them + # only when there is enough room for the largest common value pair. + if (( columns >= 88 )); then + printf ' %s' "$pair" + fi +} + +_render_progress_indeterminate() { + local frame="$1" current="$2" + local columns received + columns="$(_terminal_columns)" + received="$(_format_bytes "$current")" + _clear_active_line + + if (( columns < 45 )); then + printf ' %s%s%s Downloading %s' \ + "$ACCENT" "$frame" "$RESET" "$received" + else + printf ' %s%s%s Downloading %sReceiving package…%s %s' \ + "$ACCENT" "$frame" "$RESET" "$MUTED" "$RESET" "$received" + fi +} + +_render_waiting() { + local frame="$1" delay="$2" + local columns + columns="$(_terminal_columns)" + _clear_active_line + + if (( columns < 55 )); then + printf ' %s%s%s Waiting; retry in %ss' \ + "$ACCENT" "$frame" "$RESET" "$delay" + else + printf ' %s%s%s Waiting %sRelease assets are publishing; retry in %ss%s' \ + "$ACCENT" "$frame" "$RESET" "$MUTED" "$delay" "$RESET" + fi +} + +status_ok() { + local label="$1" detail="${2:-}" + printf ' %s✓%s %s' "$SUCCESS" "$RESET" "$label" + if [[ -n "$detail" ]]; then + printf ' %s%s%s' "$MUTED" "$detail" "$RESET" + fi + printf '\n' +} + +status_warn() { + local label="$1" detail="${2:-}" + printf ' %s!%s %s' "$WARNING" "$RESET" "$label" + if [[ -n "$detail" ]]; then + printf ' %s%s%s' "$MUTED" "$detail" "$RESET" + fi + printf '\n' +} + +print_logo_art() { + printf ' %s●%s\n' "$TIP" "$RESET" + printf ' %s│%s\n' "$ROBOT" "$RESET" + printf ' %s▛%s%s▀▀▀▀▀▀▀%s%s▜%s\n' \ + "$ROBOT" "$RESET" "$FACE" "$RESET" "$ROBOT" "$RESET" + printf ' %s◖%s%s█%s %s◉%s %s◉%s %s█%s%s◗%s\n' \ + "$TIP" "$RESET" "$ROBOT" "$RESET" \ + "$EYE" "$RESET" "$EYE" "$RESET" \ + "$ROBOT" "$RESET" "$TIP" "$RESET" + printf ' %s▙▄▄▄%s%s≡%s%s▄▄▄▟%s\n' \ + "$ROBOT" "$RESET" "$FACE" "$RESET" "$ROBOT" "$RESET" +} + +_print_brand() { + printf '\n %s%sPYTHINKER CODE%s\n' "$BOLD" "$FACE" "$RESET" + printf ' %sThink first. Then code.%s\n\n' "$MUTED" "$RESET" +} + +print_logo_static() { + printf '\n' + print_logo_art + _print_brand +} + +print_logo_animated() { + local delay="${PYTHINKER_LOGO_FRAME_DELAY:-0.07}" + + printf '\n' + _hide_cursor + + # Each micro-animation rewrites only the line currently being composed. + printf ' %s·%s' "$MUTED" "$RESET" + sleep "$delay" + _clear_active_line + printf ' %s●%s\n' "$TIP" "$RESET" + + printf ' %s│%s\n' "$ROBOT" "$RESET" + sleep "$delay" + printf ' %s▛%s%s▀▀▀▀▀▀▀%s%s▜%s\n' \ + "$ROBOT" "$RESET" "$FACE" "$RESET" "$ROBOT" "$RESET" + sleep "$delay" + + printf ' %s◖%s%s█%s %s·%s %s·%s %s█%s%s◗%s' \ + "$TIP" "$RESET" "$ROBOT" "$RESET" \ + "$MUTED" "$RESET" "$MUTED" "$RESET" \ + "$ROBOT" "$RESET" "$TIP" "$RESET" + sleep "$delay" + _clear_active_line + printf ' %s◖%s%s█%s %s◉%s %s◉%s %s█%s%s◗%s\n' \ + "$TIP" "$RESET" "$ROBOT" "$RESET" \ + "$EYE" "$RESET" "$EYE" "$RESET" \ + "$ROBOT" "$RESET" "$TIP" "$RESET" + + printf ' %s▙▄▄▄%s%s≡%s%s▄▄▄▟%s\n' \ + "$ROBOT" "$RESET" "$FACE" "$RESET" "$ROBOT" "$RESET" + sleep "$delay" + + printf '\n %sPYTHINKER CODE%s' "$DIM" "$RESET" + sleep "$delay" + _clear_active_line + printf ' %s%sPYTHINKER CODE%s\n' "$BOLD" "$FACE" "$RESET" + printf ' %sThink first. Then code.%s\n\n' "$MUTED" "$RESET" + + _show_cursor +} + +print_intro() { + local destination + destination="$(_display_path "$install_path")" + + if [[ -n "$_anim" ]]; then + print_logo_animated + else + print_logo_static + fi + + printf ' %s%-12s%s %s\n' "$MUTED" 'Version' "$RESET" "$VERSION" + printf ' %s%-12s%s %s\n' "$MUTED" 'Platform' "$RESET" "$platform_display" + printf ' %s%-12s%s %s\n' "$MUTED" 'Destination' "$RESET" "$destination" + printf '\n' +} + +print_done() { + local sep destination + sep="$(_separator)" + destination="$(_display_path "$install_path")" + + printf '\n %s%s%s\n\n' "$BORDER" "$sep" "$RESET" + printf ' %s%sReady to think, plan, and build.%s\n\n' \ + "$BOLD" "$FACE" "$RESET" + printf ' %sInstalled at%s %s\n' "$MUTED" "$RESET" "$destination" + printf ' %sStart with%s %s%s$ pythinker%s\n\n' \ + "$MUTED" "$RESET" "$BOLD" "$ACCENT" "$RESET" +} + +_fetch() { + local url="$1" + if command -v curl >/dev/null 2>&1; then + curl -fsSL "$url" + elif command -v wget >/dev/null 2>&1; then + wget -qO- "$url" + else + return 127 + fi +} + +_download_quiet() { + local url="$1" output="$2" + if command -v curl >/dev/null 2>&1; then + curl -fsSL "$url" -o "$output" + elif command -v wget >/dev/null 2>&1; then + wget -q "$url" -O "$output" + else + return 127 + fi +} + +_start_download() { + local url="$1" output="$2" + DOWNLOAD_PID="" + + if command -v curl >/dev/null 2>&1; then + curl -fsSL "$url" -o "$output" & + elif command -v wget >/dev/null 2>&1; then + wget -q "$url" -O "$output" & + else + return 127 + fi + + DOWNLOAD_PID=$! +} + +# One download attempt with a live progress display. Returns non-zero on +# transport failure, an empty file, or a size short of Content-Length. +_download_attempt_with_progress() { + local url="$1" output="$2" + local total="" pid="" current=0 percent=0 i=0 frame_index=0 + local -a frames=('◐' '◓' '◑' '◒') + + rm -f "$output" + + if [[ -z "$_anim" ]]; then + _download_quiet "$url" "$output" || return 1 + _validate_download "$output" "" || return 1 + current="$(_current_file_size "$output")" + status_ok 'Download complete' "$(_format_bytes "$current")" + return 0 + fi + + if command -v curl >/dev/null 2>&1; then + total="$(_content_length "$url" || true)" + fi + + _start_download "$url" "$output" || return $? + pid="$DOWNLOAD_PID" + _hide_cursor + + while kill -0 "$pid" 2>/dev/null; do + frame_index=$((i % 4)) + current="$(_current_file_size "$output")" + + if [[ "$total" =~ ^[0-9]+$ ]] && (( total > 0 )); then + percent="$(_download_percent "$output" "$total" || printf '0')" + _render_progress_determinate \ + "$percent" "$current" "$total" "${frames[$frame_index]}" + else + _render_progress_indeterminate "${frames[$frame_index]}" "$current" + fi + + sleep 0.12 + i=$((i + 1)) + done + + if ! wait "$pid"; then + DOWNLOAD_PID="" + _show_cursor + _clear_active_line + return 1 + fi + DOWNLOAD_PID="" + + if ! _validate_download "$output" "$total"; then + _show_cursor + _clear_active_line + return 1 + fi + + current="$(_current_file_size "$output")" + if [[ "$total" =~ ^[0-9]+$ ]] && (( total > 0 )); then + _render_progress_determinate 100 "$current" "$total" '✓' + printf '\n' + else + _clear_active_line + fi + + _show_cursor + status_ok 'Download complete' "$(_format_bytes "$current")" +} + +# Reject empty downloads, and short downloads when Content-Length is known. +# A truncated archive would fail checksum verification anyway, but catching +# it here lets the retry loop recover instead of aborting the install. +_validate_download() { + local output="$1" total="${2:-}" + local size + size="$(_current_file_size "$output")" + [[ "$size" =~ ^[0-9]+$ ]] && (( size > 0 )) || return 1 + if [[ "$total" =~ ^[0-9]+$ ]] && (( total > 0 )) && (( size != total )); then + return 1 + fi + return 0 +} + +_download_with_progress() { + local url="$1" output="$2" + local attempt delay + + for attempt in 1 2 3; do + if _download_attempt_with_progress "$url" "$output"; then + return 0 + fi + rm -f "$output" + if (( attempt < 3 )); then + delay=$((2 ** (attempt - 1))) + status_warn 'Download failed' "retry $((attempt + 1))/3 in ${delay}s" + sleep "$delay" + fi + done + return 1 +} + +_download_quiet_with_retry() { + local label="$1" url="$2" output="$3" + local attempt delay + + for attempt in 1 2 3; do + if _download_quiet "$url" "$output" && _validate_download "$output" ""; then + return 0 + fi + rm -f "$output" + if (( attempt < 3 )); then + delay=$((2 ** (attempt - 1))) + status_warn "$label failed" "retry $((attempt + 1))/3 in ${delay}s" + sleep "$delay" + fi + done + return 1 +} + +_detect_target() { + local os arch + os="$(uname -s)" + arch="$(uname -m)" + + case "$os/$arch" in + Linux/x86_64|Linux/amd64) + target='linux-x64' + platform_display='Linux · x86_64' + ;; + Linux/aarch64|Linux/arm64) + target='linux-arm64' + platform_display='Linux · ARM64' + ;; + Darwin/arm64) + target='darwin-arm64' + platform_display='macOS · Apple Silicon' + ;; + Darwin/x86_64) + target='darwin-x64' + platform_display='macOS · Intel' + ;; + MINGW*/*|MSYS*/*|CYGWIN*/*) + fail $'On Windows, use the PowerShell installer:\n powershell -c "irm https://code.pythinker.com/pythinker-code/install.ps1 | iex"' + ;; + *) + fail "unsupported target: $os/$arch" + ;; + esac +} + +_resolve_version() { + local api payload + + command -v curl >/dev/null 2>&1 || command -v wget >/dev/null 2>&1 \ + || fail 'need curl or wget to fetch release metadata' + + if [[ -z "$VERSION" ]]; then + VERSION="$(_fetch "$CDN_LATEST_URL" 2>/dev/null \ + | tr -d '[:space:]' || true)" + + if ! printf '%s' "$VERSION" \ + | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$'; then + api="https://api.github.com/repos/${REPO}/releases/latest" + payload="$(_fetch "$api")" \ + || fail "could not reach $CDN_LATEST_URL or $api" + VERSION="$(printf '%s' "$payload" \ + | sed -nE 's/.*"tag_name": *"@pythoughts\/pythinker-code@([0-9]+\.[0-9]+\.[0-9]+)".*/\1/p' \ + | head -n 1)" + fi + fi + + printf '%s' "$VERSION" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$' \ + || fail "invalid version '$VERSION'; expected X.Y.Z" +} + +release_has_assets() { + local api body + api="https://api.github.com/repos/${REPO}/releases/tags/${tag_encoded}" + body="$(_fetch "$api" 2>/dev/null)" || return 1 + printf '%s' "$body" | grep -Fq "\"${archive}\"" \ + && printf '%s' "$body" | grep -Fq "\"${archive}.sha256\"" +} + +_wait_for_release_assets() { + local attempt=0 delay=4 elapsed=0 max_elapsed=360 + local -a frames=('◐' '◓' '◑' '◒') + + until release_has_assets; do + if (( elapsed >= max_elapsed )); then + fail "release assets for ${VERSION} are unavailable after about ${max_elapsed}s: ${archive_url} +The release may still be publishing. Try again shortly, or pin a known-good version with --version X.Y.Z" + fi + + if [[ -n "$_anim" ]]; then + _render_waiting "${frames[$((attempt % 4))]}" "$delay" + else + printf ' Waiting for release assets; retrying in %ss\n' "$delay" + fi + + sleep "$delay" + if [[ -n "$_anim" ]]; then + _clear_active_line + fi + + attempt=$((attempt + 1)) + elapsed=$((elapsed + delay)) + delay=$((delay * 2)) + (( delay > 120 )) && delay=120 + done + + if [[ -n "$_anim" ]] && (( attempt > 0 )); then + _clear_active_line + fi +} + +_verify_checksum() { + local checksum_file="$1" payload_file="$2" + local expected actual + + expected="$(awk 'NR == 1 {print $1}' "$checksum_file" \ + | tr '[:upper:]' '[:lower:]')" + printf '%s' "$expected" | grep -Eq '^[0-9a-f]{64}$' \ + || fail 'the release checksum file is malformed' + + if command -v sha256sum >/dev/null 2>&1; then + actual="$(sha256sum "$payload_file" | awk '{print $1}')" + elif command -v shasum >/dev/null 2>&1; then + actual="$(shasum -a 256 "$payload_file" | awk '{print $1}')" + else + fail 'need sha256sum or shasum to verify the download' + fi + + actual="$(printf '%s' "$actual" | tr '[:upper:]' '[:lower:]')" + [[ "$expected" == "$actual" ]] \ + || fail "SHA-256 mismatch: expected $expected, got $actual" + + status_ok 'Checksum verified' +} + +_extract_and_install() { + local payload="$TMP_DIR/pythinker" + + mkdir -p "$bin_dir" + # Sweep staged leftovers from a previous interrupted run. + rm -f "$install_path".tmp.* 2>/dev/null || true + + if command -v unzip >/dev/null 2>&1; then + unzip -oq "$TMP_DIR/$archive" -d "$TMP_DIR" + elif command -v tar >/dev/null 2>&1 \ + && tar -tf "$TMP_DIR/$archive" >/dev/null 2>&1; then + tar -C "$TMP_DIR" -xf "$TMP_DIR/$archive" + else + fail "need unzip (or bsdtar) to extract $archive" + fi + + [[ -f "$payload" ]] \ + || fail "archive did not contain a regular file named 'pythinker'" + command -v install >/dev/null 2>&1 \ + || fail "need the 'install' command to place the executable" + + # Stage next to the target, then rename into place. `install` alone + # truncate-writes the destination: overwriting a currently running + # `pythinker` fails with ETXTBSY on Linux and can leave a half-written + # binary on any platform. rename() replaces the path atomically and is + # legal even while the old inode is still executing. + local staged="$install_path.tmp.$$" + if ! install -m 0755 "$payload" "$staged"; then + rm -f "$staged" + fail "could not stage the executable in $(_display_path "$bin_dir")" + fi + if ! mv -f "$staged" "$install_path"; then + rm -f "$staged" + fail "could not move the executable into place at $(_display_path "$install_path")" + fi + status_ok 'Installed successfully' "$(_display_path "$install_path")" +} + +_print_path_guidance() { + case ":$PATH:" in + *":$bin_dir:"*) + return 0 + ;; + esac + + printf '\n' + status_warn \ + 'PATH update required' \ + "$(_display_path "$bin_dir") is not currently on PATH" + printf ' %sBash or Zsh%s\n' "$MUTED" "$RESET" + # $PATH stays literal on purpose — this line is shell config for the user to copy. + # shellcheck disable=SC2016 + printf ' export PATH="%s:$PATH"\n' "$bin_dir" + printf ' %sFish%s\n' "$MUTED" "$RESET" + printf ' fish_add_path "%s"\n' "$bin_dir" +} + +main() { + local parse_status=0 + + _parse_args "$@" || parse_status=$? + if (( parse_status == 10 )); then + return 0 + elif (( parse_status != 0 )); then + return "$parse_status" + fi + + _init_ui + trap _cleanup EXIT + trap 'exit 130' INT + trap 'exit 143' TERM + + _detect_target + _resolve_version + + tag_encoded="%40pythoughts%2Fpythinker-code%40${VERSION}" + archive="pythinker-code-${target}.zip" + archive_url="https://github.com/${REPO}/releases/download/${tag_encoded}/${archive}" + sha_url="${archive_url}.sha256" + bin_dir="$INSTALL_PREFIX/bin" + install_path="$bin_dir/pythinker" + + print_intro + _wait_for_release_assets + + TMP_DIR="$(mktemp -d -t pythinker-install.XXXXXX)" + _download_with_progress "$archive_url" "$TMP_DIR/$archive" \ + || fail "download failed after 3 attempts: $archive_url" + _download_quiet_with_retry 'Checksum download' "$sha_url" "$TMP_DIR/$archive.sha256" \ + || fail "checksum download failed after 3 attempts: $sha_url" + + _verify_checksum "$TMP_DIR/$archive.sha256" "$TMP_DIR/$archive" + _extract_and_install + _print_path_guidance + print_done +} + +# `curl … | bash` feeds the script over stdin, where BASH_SOURCE is empty and +# $0 is "bash". Defaulting to $0 keeps the piped install (the documented entry +# point) running main, still runs main when the file is executed directly, and +# still skips it when the script is sourced. +if [[ "${BASH_SOURCE[0]:-$0}" == "$0" ]]; then + main "$@" +fi diff --git a/apps/site/public/logo.png b/apps/site/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4fdf646bf8f066bb0d2bec6e28441c5a25f15799 GIT binary patch literal 60392 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 AMgRZ+ literal 0 HcmV?d00001 diff --git a/apps/site/public/pythinker_animated.svg b/apps/site/public/pythinker_animated.svg new file mode 100644 index 00000000..bf23b5bc --- /dev/null +++ b/apps/site/public/pythinker_animated.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/site/public/robots.txt b/apps/site/public/robots.txt index ddb160b4..cbe11854 100644 --- a/apps/site/public/robots.txt +++ b/apps/site/public/robots.txt @@ -1,32 +1,4 @@ -# Search and user-directed AI access are allowed; release artifacts are not crawl targets. -User-agent: OAI-SearchBot -User-agent: ChatGPT-User -User-agent: Claude-SearchBot -User-agent: Claude-User -User-agent: Amazonbot -User-agent: PerplexityBot -User-agent: Perplexity-User -User-agent: Applebot -Allow: / -Disallow: /pythinker-code/ -Content-Signal: ai-train=no, search=yes, ai-input=yes - -# Crawlers associated with model training are not allowed. -User-agent: GPTBot -User-agent: ClaudeBot -User-agent: Claude-Web -User-agent: anthropic-ai -User-agent: Google-Extended -User-agent: Bytespider -User-agent: CCBot -User-agent: Applebot-Extended -Disallow: / -Content-Signal: ai-train=no, search=yes, ai-input=yes - -# All other crawlers may index the public site but not release artifacts. User-agent: * Allow: / -Disallow: /pythinker-code/ -Content-Signal: ai-train=no, search=yes, ai-input=yes -Sitemap: https://code.pythinker.com/sitemap.xml +Sitemap: https://pythinker.com/sitemap.xml

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 literal 0 HcmV?d00001 diff --git a/apps/site/src/App.vue b/apps/site/src/App.vue index a0b42f02..22c531c5 100644 --- a/apps/site/src/App.vue +++ b/apps/site/src/App.vue @@ -57,6 +57,8 @@ const terminalDemos = [ }, ]; +const vscodeInstallCommand = 'code --install-extension pythoughts.pythinker-code'; + const copiedCommand = ref(''); const mobileMenu = ref(null); const menuButton = ref(null); @@ -279,6 +281,47 @@ onUnmounted(() => { +