From 8e1f188b016bc87caa78d9e5b074384e48d9cb19 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 19 Feb 2020 13:42:38 -0800 Subject: [PATCH] add clustering test --- pitfall/ptest/all.rkt | 2 +- pitfall/ptest/assets/sarabun.ttf | Bin 0 -> 83016 bytes pitfall/ptest/test23.coffee | 26 ++++++++++++++++++++++++++ pitfall/ptest/test23.pdf | Bin 0 -> 4548 bytes pitfall/ptest/test23.rkt | 27 ++++++++++++++++++++++----- pitfall/ptest/test23c.pdf | Bin 0 -> 3656 bytes pitfall/ptest/test23crkt copy.pdf | Bin 0 -> 3758 bytes pitfall/ptest/test23rkt copy.pdf | Bin 0 -> 4651 bytes pitfall/ptest/test24.rkt | 6 ++++++ 9 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 pitfall/ptest/assets/sarabun.ttf create mode 100644 pitfall/ptest/test23.coffee create mode 100644 pitfall/ptest/test23.pdf create mode 100644 pitfall/ptest/test23c.pdf create mode 100644 pitfall/ptest/test23crkt copy.pdf create mode 100644 pitfall/ptest/test23rkt copy.pdf create mode 100644 pitfall/ptest/test24.rkt diff --git a/pitfall/ptest/all.rkt b/pitfall/ptest/all.rkt index ac524898..437e85c5 100644 --- a/pitfall/ptest/all.rkt +++ b/pitfall/ptest/all.rkt @@ -1,5 +1,5 @@ #lang racket -(for ([i (in-range 24)]) +(for ([i (in-range 25)]) (define which (string->symbol (format "ptest/test~a" i))) (println which) (dynamic-require which #f)) diff --git a/pitfall/ptest/assets/sarabun.ttf b/pitfall/ptest/assets/sarabun.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c4defb01a3295cb63a4b0374637e8466eb2589c0 GIT binary patch literal 83016 zcmce<2Vh&(xj3$KWn1yKEK9Owd1&t~SzDI(-Xoq#oayYnAZ!Aqr4VQt-HSfD384uP z682-fmM{vhv=2IHOCKF{{D8g|eEs{rbMKX}OaipO|NjLf+n>%o=iBR?dnF+fiKIkw zxkM^i)6v@2?pp8qg+%fXEkJMX7#tY+)cj@F!QaOvlEzPWjEptQAN%WnNl2_!A}Poj z81eX5D{sD7B6;!8Fn-Ot?Q^>}<{$g5MDo(0M6#lC)7;)&055~kVNv-;{a=z2SDETyiSzhiFuhK;vhS16IZIxmsrwC~!vci*Rr z9(-3K`6Z06Tq|KD>m?Fqf_W3D1uPUgxy~fl$=8#&*dp>2yPkP-q1?uNeqlX~l*7mt z<_wH0kVs5AnL!ay7%WmLIl=zfv-ZvLH`jLT+I8D)%$bGO*T^RJGm^zc?i%UU61^k` z@R2e15WD254E$gQes321?F{@0#>9V2^4_a(W!HZ6j#mcqIQiCH2chH!v^wHpF{m9iqwVCI%?2nEdsg-Az7Qh~l( zLLs{yUMj6tg|Cl^^j3QNCiYps#p1`;^))J04ZaqVOX{5A-gE}9`vq_i*Dz(oSw=ulq8y`<0%>o@2+DGd=7kvYq`D zKl>l4t)Q<#TX`CIEtL$x?A3JkN=ZG~C`YMGsiFiM6n;vqL8$!#g(Y-nlk0QXQ<>*HS zVdJWqHJ37HzV&ZceyOMTLj>~uo9EYC5 z$-|HG9)yEGhH#J)%uC(|Od+NyK*@#whR7Z4eZ<867wKeYm@~aU?PYs8EXdnb2OJcO zdx(W%L1&@1d{!BHPL_;C?lZ%dcpcMEXD3%JLPM{WaN=i$={VLWo1 z`eknZ2eRPkmpS-pgrju8FY94`u~&weE=WnqJ7z}Dxn=g&C9zS*%zI^CfYdE#utUGc zt#-e#8esPiSS^1^7vzQ^@=f+05@w%9HF&3&eF3!wZN3rwiw^#f8!R+nh}?|G&x8yi zrZH8joAggz-QIKEO#dNmKr(zW%H zHcG>zWQ5W{aiY9HxQsaoaP(}0;0F*_VfUl2D0vv*QuJ$b!}=M(dZ87$u^y!qnAv< zTxbhk_(^q}umI1cdI5R~T0P7TgK`|}Mec&05tedyhT?FK-pnswb{ z^mBr_C50D5ZKKr5WuY)|C#;ky3Cj*QHqIPB-rGx*nyzXx%l=1iU)P_32jCT$X8?yH zxE2gmYLLQvK%rosnR-0^_|%pcUqoAB$`{_GuQLnxF`Y;g#$3EkFWCUNVHCI#esca| z3gF;RVLqHPK;+ESH2d9|InqbxvM>B6{Ct%$@VsHBD33Q$8t)-v0*?WX(T{_l65t?9 zoS%aukH-Wa!+7*--1xhN@qnjz{8=22c(VVXa23j)a0*G2G^(H$KztDJomsWc+^w#w z2v7$*UN2gP>KHqGramMeTX)IXzwH-UYwvv1AZogvX z$}8Hrcf^RUKsmdM=WGwl^nuR zdwb~m7rO3T<~raA&0Dzno)yDs-onA3%YviCIr#AmUa&s3PK2Xo!usdo$BE2%SeN=r zZk`7a&P(V;n5Rl&1BHQfR>lcOzf@c_G=xGDcoPeYc`+F%1wlm}G{y=tpbE zkWML~l?zuvG7hc;Zk@m6>Z>mauGEo(tbgUo;jxjCF=qFx9W2|E?!N!7yY4p`8+#U> zz4`j*VnKRqwckE~1 zB}2XKZJq2d`5AIxh9Zd)XHfFJ0)tXipv`RCd+5l%O*7BpBwLv?b6YoU+xN}4d)it% z*xyi!Z=#l=K#Gl^&rltkErO7s7SEyKc}bs{z56!x9Vs3DTI#^HoCjhH!S7^z(DV0c zYD=5)qvq1HpW*a5$}Oi7)JeeX4AE&C!lcy&DXceH2ZsfEh>lf1kQ)c~Pj*$bnfb&3v5W~-k;WP^4Jm|+@JVs$*KJfVB>mH+@6Nwozmp4GKtm2FZ zJOsyRt|x((fUaFl8z6axM-Cbzb*tR*uBv2Y>&ks=T6R_?Dtqmbrpl)F)x*(Etp%|_ z#Oh1<>bBWB1+ZJa}~^6iGHOTy*q6{?4lacR5&t7I2q=of*J!0mg5<%oP53hS}HIxp2K` z1Z3in@8AI1oWa4Q?T$NU?zjWSGyB;0QtUb6Pm!F?PT(P(mqzn1Qk^@BR(+vEDEcmZ7@E>Ktm&U)C1wWk` z|564%Ou50Wi&;?@JPh`de_h{C@;rRfG2{{oqtU;AC>{Vh;#JoJx zblH(hD3{I9%Q1Cqt$67AV@uq=x4Jc8;<^1Y<@SkX+#Y6d6}<%E+1QH5i?Mx~V$01# zvCYhnv7dwApG6(!I2?7~&w^u)!@*BysCH5AL9R}qbd~XCai&&=7%FgpY2CWH9XALH zY0ccWdoSo3l%wNU+*lCw!5)DTcMY1|c{g4o=-!gveLA!9eOVYG1sq0{0^XXtfJ4}M zfT9g6wyr--{b}v#)3nAqv+y9(j8*`?Olp8}Sl_`oZYYeF8g81t?e^)L*R8#2_Sjl_ zO={s$`1w5JS@;p-LY(NeR5}mx()kj#1rCln&%sX;F&uT9gCEa=BeyyD34{Y~dhl6s zzzu471yT@@DiFiJKeOdCw{Jc7tFYAFTi)g08TaqyE_aHN2PAHM+n zZUGKH331`Zqn_4szG~UJCxr17{&;5o2eRNOWp3U35zcc+3G+jI3KJcAYDiJ_WFPxY z@-+KNayeTJS#)n`;ooV$0{N+=)IP&gTTQ9u;3zK+eu{|UNG%7yTYv*qxGD!nszBm= zHdhPqBJ30Cq?o?R1Ab+NOhM?@hQUA{yiKub=9%AI{U!Fsy>0C`>>?`mcg&e5?{Gp_ zeQjs^wZUvLKqCqY;Sj%nbIq#V^PA!k zS5K8gzc#UIV^Md04x=6R2hyf3jjbV9!FX%WuqF~W8G;Vi%=qsuF}25HYpL*PY8;_YQeY zn#j!etO)+JG?0NmCx$b}GVtRWykLEhxWHe^uk*;`L}onjiFq$G{sDw@c@%jS=BdCQ zJf}H+H8hsxs4rpE7YsgBl`xgMY3Hsrb3SHN+Ak%Hdc@n)-IGdpbfgPzI7K@)Lc$|yO*nVA?>gpqB?C(oA})f)aCanIJf0|1*$iw`4aX&%wT^X#XgtQeCeQs z+jWjf+94VQWQIJ7H@8Dc+Za5a%!TNApH&i7UvsK-*{1ZN7U!OW>+-q>aMiw=Hk&Yb!z*@9V4wxv5tIF%6@J>(He4^ zQpPt%COX{iz_`UT($Y1g<2{kZ*mKzdeS2qbN7CmsxtHW5)lg6L2hJ0bFH;SVgKvC~ zd0o(Oi$NtbG+=5Gp!hSs5)#NLqqVU z3TWpV3$DBP;_G~Fx8Aa0dTOIZ?{@o8>*$P>nm_T>K+c_kqu=4+rwG6)1_p|Oi{B+b z|0X%@OJtSH0TKZ`0^8qLYp&gvg>4Kl8!22~U*=!CSA_ie@H>h4W$;En#^HT8#hdnQ z$*({6r+6Acj$odwY9&8`B`7f@7ET?oRcQ(8BGr zy2`NChc2jnblv1ER*OcE&pGCCE<$CJJ$DwAQ#dk!DW zNuZNP;YYLJk0G4r;%lJg3d~}~9zk$vg68mUO=8Co#%aJb!{!3}5;w2ay+7Q1VE02A>rB-A%#hIt0MM%dAT6d6MRbZpU4gLOgjJq?ZL zuG&ypU6t8rzwyQ~aw^r>F`_67sl4`NitXldCN22|U|5a)NUU7}L2w?>3JLKWy>!|@ zSe9+A2ln_^o3%ZCpRX7WuG_O~ZE!%%6qI(Rn|ivN)17d(QhVq~r7C5--)(l@aPfg_ z?AFeo^p0dIiQyfvKC*>A8^3)O)xdNNth=Z9sBslVPe8&&BaWhe>-8L zRY`I&NHNnBkTlryqkLbBVl4eOP=at7?12A3@>k$s61ta2i7=k_!N5*ZFzR0LONH3+ zDi_=w2wVpH_^aycwOXA{Yabh9dTKSAx;l-fb|qT`RE@%Q-z0BAZit*QjE;@r$yt;Y zd_r>3(-EYYVeYvUpo@P5XepH}2fdd<{{qlLDpwAA>b%gC6#6=hRiP*0=RJ;4Nea$5 zApUx;+GNgNgsY*weN%+P2|5-z@@w=V{0tB9Gc=QvnHi+ShOrCgcn#LmFsKt8Zl^Cr z%P4>|4^P18LfE&;;+KLq4CwkUoq!M+*vn<_rDH`jPhVo@f`mH_ip-;lIj#)Z9m!|F zZ}2PMk1H=ex7bY2qZDEeCYBUKEt4jEAh&stSG7)8{posXS!KvM)<44Z)K#JAs_NeR zo2-#Zq{&~|!r3*j2%YmgAjM)hL!C8C8D8zTkM#~cD7pl211v}hm6#p432{Vn1^nbJ z<(Hsec*4TMov?uII|aG?>s@1G|F!X?*-=Zk|l&;3vSZS1S$t>6FtQT80H+73~*7-oT(rlP$xa8Zzn8rsLyT9vlg z94fes*}ZVgP*W7B!d2;b>Gxn&53GhKbaqqgK==^z-x>IwlH-zm91mFH{M>lN@;LP) zIKC$XmoZMsF$tc-Y6mM5k3Y+eUwjGS(m8$}tfgTdSpPJ?eg&M(=*`S0WgerS6N!SS z4>~6%@WG+b(&-F(&X@p++X8{HjT@2P(yGf|RyC{0O7j`gJ z&HjM6TRR6*?2m}OtHauCX6d1@<;V|0~!NI8`b^u3rU?3|dH zJ74*&gdwrvrO_BexY4Kh(Gid_;v~Qy65xm{^*7x3y9GGNQat`F!jaEl83>0i1MUN1 zZ)+(~$VHr2$}0@STrDlq`WzgE8HzvuU|yPuHj`?eN)hS5I)fC0o`~0eOu&iaiXMZ* z^?r&ItqPcYz^Rz4+t9sZ;KufQrX&PK`r-C?e0%qi{s6_7lgB=or&3}Bi3z7eAh{AG16BzeA)@+>*%$W_kPDU22e+X>(Erw}Dtm}n*{(@7ge z?Wff0TFqo)+ups~E)LbMN^IQ0c3$1u(a}oY;JZ(J&&lI*d9JbIb+1N{u=FQbsuunA;It-5BgImyVIT z?#`xUe{YH$NT*D8tMB6%4eU=_jd1kWwsm@X?O+NzsN7mA@>hs{a@^_8%a)0c zDh7RXJ3?#H-X6s$sqE=YCwe+kkXk&iGk@&xz`-VCJ^KpLZJVB4Ka?Ko!Sf_WpyhRe z785pHID^B=C=d(>Fp~$HTj~LmPfC>ozQ)yoopZsJ6^yh$XRNokKiS;Too+MP(+36) zf81*|+GDK?w-Xz5$WnuAr>D0<3`m1jkHAWJ+J<_3F4(G-W)K(@V1^bc1UJQKw5+&T zWpB5Rk&DJmR&PNtB5jujCW3zlo1$}2o1NoyNAeK$fqtBu`alkTiiczT!Zq~-;SBT8 zPPF_uL@6=!EQJ~XI!$w09IIyl3SQwfKa&Zf%WP&Q%t9W4QC#ouQhS|L}O_T)553gv*K8nzi>(pP6FqFu0{7)kO2nYEg{sLVO32@2>tamti@6N!7v&Nt0 z`H+CvtbnWs^dv`g{)VGBoC)_>fbuzjjGh!#Q`bm*E0y8$P@OI4_BVKRy1JT%Kyz|* z%ZAytHj}2(XWX~CufSn5Yim3fvqhnd*$oa&rMbrG9vo)t$m=`y4E0$Fd5OMn|lWbxjA?2ptF{Z^{fdWrIQ{F zPr$6mbDZ-b=4Zg$-JnC*r>q4iu4SMYJAj8=#NgT<7?81ndR{7IGE$O#`<2z#Afl_L zp?cY|mG+{c#w^<>mJIyju)=ENzfnUL|Au^&x--}wm)t1%BBcUsTr~bHHy)@s zO0E{cA451$mxOu#47C-UbU}I0vn`+(d?%W2o!&Y*wheRc{Qi7`NqE7o?L^1^>~_ex zVLSbRKjL(`L&!lo7q!yEoRtdw2V8^J`5gS-EI3*(2gegZOYMQ#c*kP z2L3`8ygCE_Q5Jk@{EK2Z^ViJymoo5S$|GT2;k?jtdQW7=BfXgEadDqe2!9_G=jTg}XaHN47Pie@^kJ$yU;= z05|v#( z{A3m!Y2o0GY!?ub0>B8J7KBIIUf*tw>$ z5Vp>q9#U!6jk!&_WLL7^wPk+I)}Cm+uC{*Ncx}aZz7vUfz2UI;V7$qt)zqcZ@iuZQ zPu^r5ohwn5m6jJ3X#Do({>Er3pfXq4E7V=?@pZBS_PM5TxG5cpr2kTzFUwQ-s%q-Z zCgjfwzlt@KBr_)It zRa&pB##UETjXRJ!SZ@QYSBTM1+&#@CMvy`rTDh{P2VNeZ&x0?rd3JDc7GK`xc%rE( z5l7KT>|__|hq+)Tg~c2SsAODA4f1=gGE*9ygruZIS{gE?Bh76Ve={>5FDR|At}_hB zpE$EF?mh)L!44gB73fqhaxY8*M5!}LrMbjYPdp1(GTK*P^)lBl?DMvhKe2LH*8$^y z3K^abMh7y5H0CKXyiHO>iCU?1+}%AoaP#{0H}{Wr9cN!3oIbK`+a)uD>~A_l-<_Mg zp||&jxw-F#IwxwsvVHGWSMA;TW$h%=mRz*a_*Y3QF-)t(2?D5~MQKQm#-fb_WBGk6 zq*B*==8`lqfBcCT9aXX21y_YU=gbbF}5|d)YDys0sq}i6%uCCUd)%N-tkJf6gVghzsLu06AvaLz)(`)Tj zyLASGjy&?I%1U|-+6-b_0oXQB55euqEny2g{CU~El*b$E z3X4l^fd;!L)*ea30!?aFc{#=U4NXM_VxbYR?ym`0EP>ie%ZhMF<;e}&?7@y`+t#v3 zB)>CgOBwV;|AM;QU(6v z)DU_dhRyZ0B`Xx2Ax9`+RXGY()rj3-*WB7YbUnZ?y?v0qgk0uJDSG;p%|30vw{_fW zvj)`4x?b~IilK9GcWGZATUm}smRCZAKLZ0W2m< zZ_CBq#^7M(m|vFm`5IGBB|d1QJeCqGMm*+kQmM-2(YYG-X+baAtE-htjYi3&7asPt zmdfRxWYXh`lR~Y}Y;34Gzn+*AmU?@oe1+dgUJ}#uz^MB86V(wH1&|LFNuX^AtMa0jX@5SfZxnb)4$t_i&Vo8a|qvS;Q*hOv@_D6!vh`W^BkcGF9cO z%FbkBc*U6PvQ29bw4}d++6clcaN7^B2wH7Hhwg<^xw?X+oxz~9XKK8QeJ~P#7gZ1k zf`scA-)3?FC$w+K=Zu1ILwPa?EJD!dELy3gPKxVU@i=1C%##^KNal!sC%@K39G-Z) zd9v6R3_Dy61qE{JZjGrYof=y)mUq>B^M;7BoP8FR6kfz#Ri#94b%#&u2sb!#>SI^b zt4Yvq3;HdkdbM5A8nEZb3^%w!Ay@CTt;ct)Hl#>!7b_|sg^M+s3S|}Vx4g_c@Ud{X zK!QlpGX5jGS#$*u-JnsIC(H7<6)Oh^R&pNKTeIYGJEzLa%Ss&HAenx5)KY62bMhHtU0R=z8mo#`<5^84En}bRaY$uUY1UV?axjr0+bme2D3B ze(Zwe)Q%4hjDgXqEX$29oKUIcCsE@%x~ zUQ*H}fu=0n$-LaVV5oze|7f)3Lm`)uqT>vbV<%C!JLxf}8Uy|EA*0ciQ{W6mz1~Q%$!KrNNz6B|-fo-K z{Rm7L&G;$!0g9-E;Ir^>ZLA_U-;qqXj8WPB%^hxMkwsn@vZhGF;fTeY)vBGASZOH( z(SFO!<3-*Y@{@%>3)eUC6M{ZE7W1TLpfxOMS@QNsoe+{TS%rvB5tSGaB*+eduK$=B z3;F`FoYDTKhEXo@C@pbC;vR33W+jbV+Y+-inxP`C`! z5|g&vunRB#ypXy$ELJ;fLTdsV0Dm>$-v;={CD5uDqSg8Eui$!nST_JAYOZwPGAK%e z$U87^2sHFIhWg7)O>&(vzbNVR#KW$_@}in5Q)f4tmq-({L7UlZTlf`sZACRWUWtQ!mw5|l34ukel&lkH zVVuIfU*kAQ2wqu5UA0&o66z^HH#xGYzf=XxbRZWnn78JJhUVJS!OrEvGPmU&+_YhL z&~6W~eS)mWMQPZb-#F{pHd10keE{7M!CbUI?C!(zMU**R?N$tN# z5yUSw`zWIUSz`2pVuETWcoFgb6&%h$CoH@w2BuB>pBIn>PD zhiUPW2D4AQEV4?qQjOFvDl*hh{C`coN}xW#6JL}H`cg~8x2ZoG@%8z2iW;+*(tZn1 zyC=NDMQL}c8Tm)2{dK2RR$1wwaz9HcZ-r-{O!JgmWakk)96tVkmi$m((yhvm*u0UX zPpv8Rdp)wcy4b)+BHyVYYGqZ88d80f{me{UZTAEn?x4(DqpkC(9i!vS+K|C0w9`NJOd*Y}@?2fCUM;lcO#_~)nw9%!^Y4{iY-sBFLkS4ifmsjl;A ztngTZkDvuybXID92P{xS9E8^H;sQK~>A#si8kcrSj!3Shx*()`c{E#qID}~`b;hvg z4(|(V*;S&LmM0huFzw5(f!5Z( zk`>kv1lORhrdH=Me`|z{x0$Dcg=I=<LSxEp{e+QyN65=bz||9NGu0G( z+*Ti|T%JnhQz-MxYs=#?rnuhbFi6YFii*q1iWk(f3Pq*1LQbyt*FKSGZA}Ci%$GyX z>uT!jYfcyyWrh_)v#MgHyu{&AF!H*p{JN5Ft0Db|7kiJT_M2u)u*%|a>CH}=&Q+u> zvg?cMRdwbDVyUe)uPZMumdlGv!mCv%lpj$C!tK?;?mD5ec4*pv?iyXrxg1&_XBp z!KrnHEUai~2xL_U7maC(OY=^x2K6krG$h4kY$6s8D;4tcJl*=Tke$6*NTr$XeXO1Q z!YD6eYo4!5*leCk@B7o~mWVED()l$_4HprG({pYqi?&1LejBL39D45jSv22OP(hKY zM#{3wI$G(O!7PAmQ139x5(dg8BI#rm>~9a0wAo0^?TLHL)iqOdwe^MYkCa$*>Q>ZS z16FIm@An6#!^JC#ON{NFsqxgHeY}nx73#EK@(Bq|uhZqSVn;mgG)D5zy3-ZVoal6@ zBOXVrs$8F=Da>)}&HjMZ+~jh%Sg$CJ*7`d%u8F3C{{Dj9y^j}o>c~&nS5c-=K0?Qw zD*&NEPOA$k_I?^AJ&@%sRklEGc0f=zpnq5@5QVxz-VlbnI&rHAx>+I`&_aC7%@X*=8X{2YtqF zR~}I8g?^1VN5`50M6ZPM{XCNA1s@O_Bl-A|v4PfLr?IfGpg>umw6CFt?`L%E}h z;*!|T9#_WxAgn=`^KeU-HKkVtomPK^qRywv^>T7+_WHVA*QBSEId?FQW_yJrcHi&-Bz7bq=dYsgi!sRcc*e^^snNcmKzy+tG*hzfsadhjd= z?DU7A^-28)?WuAR7nLw`yJIHga*^Zv^P{nbP^{W$|57KJ?9_y9IsOuTeq)hOuW8O} zSJgUlIzDC`o}VdbO`dxOL)&+hHHF1Bc@uNsdWub@4!4|?)oWMOl+-sqoCJrC+3`Ef z0C2?2>6oaug+4%t-pCb^rHj2@=CB!%!Z?fxw<~7rRc9DgJsNJP7^_gQ%>u8;cOc`z z9u#NS?wqn3HyjfI8> zNbJBfOCaoX?V{a?;^7HiT=8O!-oBO*g0>Dxf}creFbsUty-lC$#M!&+b2#Oi{=;)?QeySpHdDP^r9D};{g|5}`0)=mAuIPHLY zHvYHr2Y60S!$-{@3?R*afJH3rm4X1NI-v}g@?$Dd?jyPfl$F|CdSn!C;pr4?pkX#@ z?XMnaNss3b%dVVv3g*Cc&knF_fA0zgTpr#6u7~@(HQH`>L(thf$(om<1azKhm*fA< zn|yu$=tpYT&@K)1#y@&T1}#Co*!;hZBS`k2!?7IXdkW-RMW0cRsbD4pQj5eXHcryH zLom&BG|(X%lO34O7-RRULH2Rp6n`8_MBD>2A{Q&A)kr;a2(qsro-dccLrHP3!-8Re z(Nz3eu6dnb#T zyyAq@kJTW&n6{+92e;(yx_VuKt!DXVe3hmC-hjNnxvDE)o1QGXLMRV}%<(SZ6~8Mg z!LyW`BFf)Yku89A$96Xq+9CC`~yy( z+2T=@mR3}$#>@)G!k2{DPkg|;GL@=~v^SJrk?vTQ%~^~SIl7q1p=KQ=oVtKdT zV%p4`(A{d<=V%RFtZOXrC@*21@hjs7L{1k&S=yL0iN#l zdoodo!~I_73hGtiAQxu^=Sc_ykPa?o9MlrT+9Ud%`L=7t>f3HxoyinG)_83$xAj+5 zRVtl)PH2;|n*=(T4zp6l7LY3Tw@bLcQ5Svp-Dur&R0;*9+RyRW+m~_vUS{jRfW4UY z;@_F?xIYm4h1&$A$!7#Yn4nduhEo-#>|d79|4m)=?YEG24fZV^%?YNS-xvy!HxM|P}Rw=DsgTEtmg))J4W2AUdI<`1tpx^XRE=`r1_ z`q|f8dU{&E?1s9;70HQP>`p5w^+Zsk--0$DC{cw5^ceCuMh$&a7rzUPYJ6domb3wz zc1w;i>u?fN<}cW}e#1@y#nwbB-M)Hs!>+0LY^|IOJ|8vCH8e-O{Q|Z*-ufE$FYUd3 zZAZ{|1G-v3*G6)SYkh7{q*kjje4@rzrI5=%!R`G5<~e||g1pQG>3wx{2fI9DV-@J| z0KXC@>!?ch0C45Y2i&(Zm~=T4^?55g`{3J+BJ*9%m9Vb?S*SkqNmp<7C!|%Eu(;xJ zm#vD-jI?b}O;=VZ=~e7L;S&v!P7lLJQ^Mg3C@t|MANd?;0-ieN{ILN84n`!>9`^bZ zBlD9hH;j>Q*?kf3;OtlzJ1UVbLVuWiPI@^#zX{biBe)findsbOVEK&SYibGxo124L zy5j9Fco40T#_-I zieJ5$C;2Z3FYP$O_(hmpWpUwU3yc;Xf& zJ_5_pTYmYXi}vn?S4Veu2fhmKz5DKa@zs9wv12#m3+xSU@gqNkQ^o~&Y8b!X0UkZ2 z)Ln7tgmc(gQXq{dgb zw{7j7I}ejawsRnO(;Z!rCa*Odh;5$S^7>Ys%Lm;48_Z?H4kX+Tufp^UW`z5;xL-hr zm!_s!XrAHG{aUwXHqbn!mSA1YKw=DT(z054qOAIwu+&x`-&1}ww5nbEUk zi}v{~u`T!Q$e;UsU1{3Vx-Jmj(3b4(ZcO#`qzal34eWU0XjzBqiiwJ9I55>bAMYLM zXdfAAhuiLenh?DG6{vx`KvGN?9{`%iC=F)~6NBt`$=R*DW)DC8!?nHL``O1Ifk=qY zvBd8s!6({#XulZGb1nH-zC;k)uK4$_Uy_K}{d?D}+3UAQ5|``XqByHM+0i*Es!@R`@pg#_;c z$7}g>Jm^#?mt^9_=Qe$%Qr>K7Sr-KUbZ&`l{QjPw_x3cVy1P5>IB9k5$d_zMo$WR#Xd=?jaNZj1`G9h>K<%<{HCjd+V5?#^jjpueVt0>#f#$ ztJiC_c|G>8^tD*qN{dpuct>YUpC~SEwYBsSo3)M(wEWg%wRk)hcwjAZWfkyzg5wHg z+TdBx(}roy44GD*;EI7UM82x)ilM^foJyuC4n1l45YGy-P*xCu;2zr$Ko5(YhZK%eEY4D-uJ>sNdpcw zo!3x@yGFNrJAT3_aUODe=V6nsCQxQp_Bztt-+F-kHEAVQUvmq4b%flt;O-0F+*oI- zsj}(K&9QBtg_{hxRj=e%4Zm+y<3|jd1_2RD5czFSxuHBV%YzX;4gMt0>7%M2%jG|>os*f zsbo)mmCiiWhBZ}-IUG8qPDm(QBoML2{opJwGD+O2_xKuxI!q!p0OJY zHk-i+31lw#v^S(z@?6GKhBN;ppZ{69F8we`+)oL9>B9*Aa0&f0T!;e~t^@hiLUx2t zV;)|{1&pfjOaxI>RVS(<+BMygDA84s^wIfr9cPTR7tK#XT#di79W_<%8a8C4Nt|vYMPo z>>Y}1HyP){$w{}p&)+y&Q=Jondlj2P{xN^Unqe*_?W>OL-?D{R&C<3>_K_P`P9^$m^+t=nS{8(}a4oT( zwaMfIq7y{e2RsOTb%6HE7rJYcOU!scyq0(A+JY$d0k(~KE0#6N!wM|HxP3=BRY+)qoGG6Vds;Vkg zMIkBQwSL#W9A-sP>0tERo+23;oNVjQmzDPfoDCsMZJ?k;QCg*loZ&7|ay?cKcf9Xw z95Qt1T5$+vk&&r1WgkorBPa!Q5yUqJkjDgUtr^-5@0UYAHC9-yz5s!9yvFA61U@L> zui!}Cw70OT2KN!v6*&dxrI^G(OfZYGn*CIUX1Hq+^l1mki=Idm^=)WpmQSAW)~WzV zCR5X9b!&fl2sb`}nRRo!HV-y#(*<(vx{0bR|iI28-5Yi-#Wo#wvkT?Hu*=aXIptnltG2?1S!|FA0H5aKre&>G=5 z$oqAjDnC?eVS2A|mfpWumQR>%2TY#&y4u=SQ@sW5dsi52;g~z!Jkf28l~nho+jJfe z$%g~A)z$RN=b1I``LS}#&0j03xng}oEMOZPG(?Abiz`+rB47qP*6g_4ZXI4dF+5SV zVZzLfR<{oAZ+f?&ix*sg?=9at#7~{VEa-AY~{8tRrs7@IP;bV2QjFZ0n<pEhR&1GRY(y$`E2nW z$r;IE>^X_F-mn(>?$~=TFxAu;jWsnU92Ui}sqb@DgS;WZ}0o?=O~PDwW_9xo)F8q2CrM=8In>WbyB- zd7NM5f4;>3ED(@h{u4Rk2i`vb{XYDj4ybRW2JuQQ8;kn$&F0!Vv$+nwP%8HaCeT%CG!9e<6gkS zqg~%ft`u}-;oGZ+U7dbUhrPT~S>@>VdzwwV5StKaZKLGhfmfZV;SD0`t>q>3?}B7d z!~K#klN9;R^0Alp_Qv8pJ@GGdKVrQ&R!7#6FEKBoH7LTeklF(0snxQu(xR4GWD_%= z`qWHYOG_L7lYHV}etW?o%hgv~4i&WLAGBV5HF5JjE8Z0v|XlR_V$a)cb=J_5?L@Wkqu;3-ScFQiI$?`3eyR6h__?E@gg3>p@+|}INYD|v#S`7m; zZk6D?a88q+uAPxJTRfbS6b#a;e@!7G@OGg;oOPEn@AOCg$%s{ zJarFViC3?>>Q&}U^TH&wbKra47H^XL4>tlj*RY`6Pz?iKbuo7~zxNW3(880bUxFuN zzmLC5GJNIMDM5x-xIztAJjY*g0U5q5$Z(3vP$&646m&M!FWhX=!IS3RB(@aH^}(OK zE57EZtT}Uy)FApq%Dl&BJ|X|gHRs1o!v37JEb0(zC16cj*t0)x2AtPHO!<@KlJiHm zr!jg|8Dvr#-7bNcaS-n5Z!!{tmWyt1HMxggZ8%?aq{UKJT*{vD*XD@VSY?z+3*fG? zx@Ggb?F|r1vsNQ#$vq$|IqdyN6p%ylt{ZX-R77fg{O@$HD)6T&h|F~EI#}r`Sfid_ zF(;pSsEQBMu+V<%ofxn&C|Yd@2QRgb+y$%slv}Nw8n(DGeLmVaYPej0qfJSSExcUW@;`=duIzuz&D9j7l zm;j|FNt*nOJO!OAh!zU^7`8BdH+^B|v!9*Oe-YnF&g0xa^x)Z7z_Z(A1`~aM=(96l z_`(dC`rPanzA(FV33w$~qn570ufWYshoI$(KNru0tKy1&@+|R!=fP(*gMZ+j&+MNm z=)4_X%oBh6+uv{&7$v!Zj-q4mbNCFeuY$LeO!mDuaG;PoSBR-Ax=55MmJZaD;m@qI zcSpUW22<0Ru4YqXq8pFR6dIf>nw{RtdRa4@;tvloX|IE=CjY5tR@TE)bN>jGtKA>CXYb_cz8zeh=AD9aq;c@50c{ZOol99KoXjGN@+n!TxD) zI=#2Eb5A*j_#RIU4W&|pgDFP@3YKWpkq@79qu|{WoQ=h1gWP)p2IAl$ zM+B{8&UHyt(w8BJiAvgl#du#U{U1*4h@V*?aF9O`itz=%2`+?>^~3+goRq%2 z-Q;n?BW@hI?Ymmr<|A9Ddq&b>o6lpmR(L$o){(C0gl{-#joNK~`@)0xG!b}=52^L1 zw`@MVee7T|wYz8g6;p%l6F#%qt19#c*9?rUhP~zSn|7@m?~1DAay6V?#179OoB=Kc zxzjru_>PGg?-g6-JeEBh>FM^ds+ztjI}{vv-aeY_X&vu>os1I`jaD24ixIxx69Q)%M6S_TOX+wuTYy>AV7b~58c74_05TqBhAehk0zQnR0X}$e_lN{ zzN)V);Ev>VbjYT^Fu&;w(<>4QIGz{i&R_VCFMqm_2^QacG1|9&@z>-j=JS|08fmVK z^ihMztc8Yx+DE@ft!lI(xq8#4)yam@D&c$HE{AVUvwLzUrwXs#wd>l#smWZAo&UBs z@Gb&9MmV_$&o<{)fjraz4~@Y$G(NZ)G62mX`Ub>F&1wbrjud`!xH?#~udl2;rqI__ z#dP6#%cWzbu~LJsJXYzb3d$8%&zi2Qv0OdlJ~%MmVzUQ=(e{2>*@kO8x2>K3;&fgj zAua4)TkQx`l`Z@qc>!ZAWETE-NjLc~`Az$g<8_h<)4{BQ7zodTf}JexNxu;PAQk7z zZb-h)G-I&8Mri(^ncu_3TPzxJPW3}|}KHo$nGU@kEMj{hFkdS%tIC%r~!3DTc z?SozcL}pIspano9wV)Tgtgum_ByX%597xXVL|>@BYG|NgOeOk~_-*S;x;sEG#NVOb zIh&tMt$@yf=&Ryk|5gv*T#w)3rkDH=bV}jr-~_)j4J-qy+(C#C&WvoKF#)M0;Dx0J z$3Ph(h9`(Xlhp77@F(9Jp>o~x*~*xoVf^vR&+Y5prwvB7_iwHs)$A(_19#{BMzOK4 z+2#O|UUR5XTUuJ%c;K2?ATT;T)~J=2Y8%I4D+taMF5X4X01j%vC{Kp_Ff7>L`xqU6>);DFMa9rEJdUR|=huGp+#t}>ZhTNf4?(mK@GtSF5X6!SXU2t2QX zoF7{ja6cT+`ejy_$628QEYrX=rb-hdiHkmw-anY=+^GrpxBYrzaB$++1O6+>7WP)B zTh`H0_|O;De|EMY70-!!1O0jIpO4;B3O6?2yr2DLuInVy0)1$LPkDs;7UT`Q3W0e5 zEj&*%1ffx?fl_=CiA7KJ?5bc|wsBqIM1SGNG21|8T}8awA1nCoR|{{u?XE#hTSPnI zO7$c=>n7%_E1MLmmMA>2tOxUKY^)VR9RNQ~coNAFf<03D3Mj)$8GX^{!xW~jUVlw9 z{F`|R{&^$Qq5l)x)%817qk4_HS@oCaJJVfjx|%v4cJ;eqUf2PVN?~5e6^Ih>1WcjI z0AlDXfZr$|P%^jd*fGt1cV-v-n*D3;+46)avBo!mEs7F^N0o;G^Ik z(ld~gsS#6xPx9v;DGBZv#2nD+K+teYQ&^`AFawFg!&|n`B$Ma1ACSe_%|t5eN$)uuubSZGgbB6T1Ud%L&2t&{yFEJJB2 zfwffl8*bWx+vWKJ-;Ru-W$CD#;qGI{W*Xq%xqSzZ?As2vcff`s%)JL(R7dwW zJ~MY&dRdlUmW8F)W$B10Rhobzid_^G5y1e)lEj$AlqXGNG%;!{DW)f;8`Bfh4e@!> zHtmU$o|xVf+5LZK?kp^*d7k|KzxVyTEa#qkr<^%6bLPyMxifQDm(|qLuC9*mm35pj z%DWMyD?t^T?kUOx%)8>_*n$#Y2gXYWYgp)eF)rnme*Jsr@9;hJ+A4qBt#p>Qvh*+x z+FYGjHgR37?M)h4)iE*0QdJH@!xD)pqhX1}C>ZQY!$~wShde^@xF#lYX)G*to8Rp3 zB#Qnw@6bNi8dZ^RY&VCP$9E+T3u0Wy_*gNI$m<{-IS4_*;NMl18c{SnLGi(Fy85D9 zwRhh=cmICv?Uy{vzu`?6PV_1(-nzB8%xeOj&A;W%`OcwQa*XchHn{UlQM=g;8^;_^ zwOH-KmjPv99s}%LIk8JyT0*8saw=&(?uF*FP&1;a{?b66z35@~SDAGG+dl)h(+6L4kag_YnL69g=hx#3%wVn!*N z&nS(|CI!;2iQn74E}Axe<+hS{{w!)7w~C@pgfKW`nrc$1OYM=@YB|s2aEWCZpvKp+ zf}TsD3-3tAVg2QW^b?qI^mALt-8*;Gyq5M_>_o)ibcbW;bK*E<7sMD3>K7tbD35^C zU0$o%v9m_RQ0qBOlsLD`h178k#iP*~jl8;Tej=LrvBygA|J_8+TM=2pV(2^2cF^5= zG3r783w?=pEnaP+ljhx@Dey1+imD3@c}d2Uz$gQqR8bg}mt;x|FhsMe)49{e;#$1O z3@|77PpHFEeSJpa(0+;b5vQ|l=Z$R@#@jYsCUNx9=DO4bizs5^$$2PR# z!6RO#UD@7Rx2S(kSN7EO1$CX>Ej{K*rrBkQcsE0z$jVJisfw9hwst|ojn`RNP6xP1txZZAS#i?SJ6pQ!G8cjz>}DiMGMb9zCD#Q%qeAm$kk1)^%Ubp!J2ez3l4Tp(;o#c3WdM_jzd8 zcsVbdo0l7$DI^|HN7lJ z4xmx$wBX-4lxiMZf| ziXW90aG`29u`9?~M{^zQywKNK`|%eIoLkP?h0~{3O`0)d65To1)-(r8H{;?{Q{(B) z(mBrIP_TUFtmVsR&0J0|7|Np;R~HpkbFiJw-MC+=!wGc+-ZXEF;!V7#`)~O(I%(=y zCti(C_y2)!nvD!p0c^K9az`N%LMT*tDGo`NO7dj<*MO&dZpGa35gV`nPO` z=ttez2h@#v*nXik)Z6x>?I%bu@5Hq1CP)#_1&(ikv7g`?9R2dtmtLCs#MZ4_(LAQw z?zY`cr{e1=oWmlr3MUNA78Ij((M8ypV`Q^!5!?@UHtS+_pi3x?Mlvx&kFmO;2e{uX zyA6Id+)q#GEapG-4Xd%eYkQZ+v;PS{-lEWl(nMBn`!}l^x?lL%SfL}9E|K}uSQ-z4 zIQ4!wEv`2yKki*kkbd&)vpmrPy48j)6pe)ZgQpw|YXEqFg7tpi2t!vqI>ef3gQ;z6la?@&)mJZ_ufTKTjp1;C{@_RsKmPQ6B>h) zvSK3>Olh;Kc9^1Em)6&>DMyHD7gPuPX9q{VW=IQ|iX#?Mk#D~DW*yppv{=(gT;!>9 zyjkZBw{5p*b#f8xA})nD;@pSFuu2Z&Au)Xzjh8t5NByAwXn%3$SF*(uGGxN)%ECr^b@p0+tIr9oDmxX1A)Td`pH0Dk!E=xM>F{cBV$i=%@_IGmvQV&2#78 z+|ePfEtfSkT-Gw<@`i@XXVffMI3=}GXY$L8%9&7{JpseZNvR%lZtCc`X^wi$YP_PQ z<%&l2x^QLd!v46ZxZp6Zzb)~Gc&ri5p=tD=qCes508-HZsm6_vCFfo)mw&E>j|8z+ zPAldT1GDIYGtQVh7f>_1rM3=$Z_cM@7*pmpCI?5vC9vmL%*Dug&fFEYD^>rx+1Gi` znla<6Nl8fozIemT*C>yaQ6kCwkENs_`2Z96$g_wp%M^Ip;#s+R>$cnpXD25nrxu*P zRG8-ln>W3XoSqba3zxodoa=s;u!b<&^x3L{ zLbw%FWu?ZLQd3PPR0i4*eUJPT{P1xb-h(Xao->&}CPwM-p?$)KkCfy)l0}`fYmP3P zQ-d(a5DKGi`vP)0b}qv3vp&`$C*geW zftc^*YBLAgGH>_X#KqMVjjw5)5f+iVEF>%>dYo6j zm-qOJz7UH(h`N?ft|^?hrRav3D4MmP8!JHgJN7uR{5iPwM2@iB0Hu$$20GIR2M$bq zxXqd>km0dqn!29FiUV~Kc($>SVyL>4!yrul_E!O1|?ozgoFhism~(@De*kTX$=CO*gPv<6=&GO5EZ?8CUo=(>n7O>&SSI22Ps zlq9iaay|PQ8g0ybOV_ORk&&U1(O6I)>7lS|c?86+jSNc)N4zq&0B4F^C!`pbRT=HG zUBRv^z$j-sOD8?-eQqr&YX21+>{^@{91s!SXJG4tBmILyyONN$eJ{hz5j)J^_A?PO zP&KmylXG&C`3heaW=Tk}#771NMaCmdg7EXz@H$mjmHCW@du5~qJ1IO&$0 zq+4D)d-O6*rC*jiP%t_oM+*vtEXCHHS zMRjK%@4@cg4wTw9e7RTbmsNRJIkBiY7L~r%5E&d~Fa+HP2#z!av1HDjGa%)|pp-2r zjoM`%gt(*QAnZ8^8>6;-B`er;!HoKH_Sk05=OBD8cIX6GlX*s~>ci}p!RJ2V1D&8q zof1ENLB&4-h`m|F??b37@U>4Z4Zyn8M zGxEKB146>h1-?H1p+THl8_qn~$$CW1L%w&?eA|nxXB>RCA)Uqe@|Q>_k28wXNTji; z?n5`l;IvoYq=b-o-~70=oWKA---)a&3Wu@y8Pj4Squ~=1=of^7qV|0>m(;U((ON(Y z`Vll{S(57(RMFO`s)D$<$vwUZcNptDvh4@B9@RR@Sa2kllgQw^9b$#d+glNKw+IU! zokKfI=lL?`lVd52P@?viY+qw6eSm8gF-5}jnI|<%q_bwJQWcAm5{%DRM1kL%?IzL! zS%3kk37@q5z*U=ouE#%s2Fh?tcT)))H4(Xu>-?pOZ)K3@3VNw|B2S6X;EWK7Y`$wGRZ7O8o|;uHCpu(T z)40((jP%$eX$<5ADqv)WZj{*GlIrE*ZuAK;B;kywf`p{Z{EUxWwJ92xfIwX!4W3h* z7?YRW&t04hz;w$nBpGV`G8FL;yT<@d_d8^d0ip!F4p?}rT508XK zNHz46lQQzQoig+n_!2#TqX=zyy1JD#Hu&ps)VD9{)ZmpK5tHPn^YJlnk?h_T>f`R` z<%!A+4+xEk(g*u`>b+x}xZ12_p&qd(nxPs`RgbPJr*DV*>-3^Pzn{R2Hj1;#YW zgsk3Pp6-c>>0YS0q-1jxlE8F|8FjV*{iDM6lNTYUirV)o{wO!`rh?nar_*shl@oGj zj_HLJ|0U-+RGb43Qw>KCDE4=w7vz21=?Gs^HF089ch3B=w8Lv^)~t3=b>Ly@!#wjo z_H?A1D>HK2#?t)@p7B*#SrQ8LmGgTVXKjBuKLN^r3|aO=?q&y*4$Sr07W8l@RGY+k z7VK2sudaRrey4#=K9iUG;_i9CFLK_SW*Gad9Bc$(X1GI zr~45~uEwml-N*WK!NpRnz2@UtSf)HzPziik!WF-1SI+!`Sy9G7qi1{$)P8+NVO~&} zSF8b+`BD}}6C4(WGxrYl#)<6uuPh2ufE-MRMFDN#uc{`lndCbbK7ue6rp5__B3#MN zh*ixAe}_4dl~E|I31-{OZXtEbwV;G)1pSz$SL!iJ&PQd{(TQhN70fVW!B@V{*IhSd zKD9lIHD~-dsc_}ms^#Ni#>Xe;=B5NEc+(|Q*1;Wz?O@QvY=qrnzZWS5@_9>TbV?^D z)If`umlw1kq0~I1n_vAbW;^Uy+vc2(Ih?jP4JSkG?d)FrgUZFc*0^1~qp?xB_$}V! zD&N{4)a-Y-UsYMD+5a@5w!7H9wi9Z2{+`u#S3?7j0DiA$_mU{(alAvu`vG1uCcXec zD{Ty6D!9VIxpbo3=Uy`>KGdvp@rX;t%hk-Nu!d!Bwm$>?`~n00bOFk}llvzmdc+3N zv{+M`InhuNyszErd;WiGdmJO&2#M=7ek9 zV&c=HO=%IqH4EIn)BE`9^*E_V^LFLZg4m!$niy?NN{tPl5a8KXUN5}#KB7+UwV#bV ziu8D$h&+zXqH}s1+-F^lET-u^;#17=3FfG<$&1}=Y6kK72sMMIpfpqLsQl>y0{xI) zF3QwZ*{_~{rswZhP^PfH5->~Z$^}_{Psk@2gY&puhZ4?l{+NMlL1(2NqyFOJV1Hye zH8mzFbz*i=vDsowNwIye_w&Oi&;0btzM7t*G|#N?kT`8>igyf6jgCplODUM?nVPCC zO-YZ}wN-5sA@#7wnC(WCdz0p0sA&w(z}J7nmX;6IMZ?d{X&a95gSrotfZ~9ujE4Sxeqf1_ncdIU%dT0~4i%@u^0?mXb?E zKpiGA+0Xza`9hSH;7R%WJe}3IGyo^W=jVs$H12%nCn>EY3wsSL#+ZbkQAj-d{>r}I z3(`C-5g{hmlw|K{Sx))09OdNSUO7@u)b4}&^HjEqITOc94ZIlkY^j?$v#v$aHaCx( zhA-aR{ZXF&nit20^PgKe7yp`)sZ(>NPDQ!%JPs+ZqL((Iy^1l4>+n&WVu=yz-+2|I zl9BDMbB*v1z!x1X8JXkb6VApFl>CEH%B#sKdc{R?_lgUSw`3a}mr1!~;XmYf--rvUu_O()#7;Q>18QqeCeJhi4 zDi>5WnIgO+Jp3bFqQYD}q7pjsVFSG$VYvi90nRM{|2X?SB_qjHY4lC>GbPoJUs$G; zl$Ue}&XRQ4AdzC^T#e!^F~qkbIk&=zvuNxr24@Hd&b(1a)b={N&HjP%8J9XSN8;Em zj0t{GP!246^`8o|Q+@nO3sR%~qYUAOI(p>T>9sAoa?b@dcLK~ zOP@4hy_ww~<=V9Hte$gn6OAlDlxHVsB{^vEFTI^i%Xaj@jG`2mzS-^Pcr0wn%dGSY zNGx7+5-|r~2k^dxuU`)q<}v4t&uU^xt%JQunrg}2!UoDtXi_Upt$PWHRd46DZ4XBP|aWQTiGyGMU>$&<$lp_F;UI<{^=2h zMR^7~Hz+JdbnqXQ6m8TxvQV1IQqeD!i2gRv@3oQaC}pWEw_2nf8k3xAigR>mMGiI; zk+*u~!T$*t_a#Ofw2my7WUv%dTw(`OQ#+xFFPf>rGqRD;{Yff2*|4j-b6&VybK0d7Y6m_YLo2-ji z>r|i2u4CKnCm_dvIkz_U#L82gQi=5xDlN@w%s%qfxLS7f`xotY+Y@X%F=}ofcKt}W z-U`DSYw$i|E0c?Jf4F?T5zBYF%M4goFTYRZ$2Amsm4r zTW^2HcASTGo^icghPAC94$N%7+a9t%1iIe5-MMN0;A!5>j*Oy#fLt zCjox%Ytmz5(=$wuZBw890-*bUxB1y0Ldt@ga$0KJy?j+_jUJMktxl4=bn!4b&}+3l zAh;9X+(2G(oJsOAj+_S^#p|!*{Jdh*GUJnSg78;0zTg~3A`fIF2a9x4Vmi6Kao>H( z8QY!HTQc;8;9uCEC#8oi-eT5qRBAsII#NqY!W*o$GOeL6GLk)HT61G!ZoWA=Z2v`n7iuw0le3$kf&$mZ!*+t~WY9H)8;;e-?lT98eJ{cgwT z%5EPz3hJehONIR*U0#OETF9ir{#0FTad3%)JYv5dcflWpwc<`L!DzJ!qt4NP3PzUL zcqf1SRFp{wwFswOo<%MuSCif34)Q2@fxJ#WBwvwVsX~2eIIW@6={58Q`W)WJDlCl^ zunKk=yO!O^o@K|`ZwgVoln^CD8K+EAnw0s7G?!|w(cGZ9Tl2i;xaKz(jf) zU7m3naQV{Z7p1&x-0I! z?&0oJ+==U{NzbIy*xuaV?7%^&-c9A^KQ?B zo}YRC=xO)z^osYgcoloqcun_O=+*7D*6Sj#&0f2_Zufe~>jSSZyngnk-rnA!-f`ZU z-V43Ez1MnQ>3yg70q;ZJN4($n{?*6ZC)6j-C(~!VPqk08Ppi*zpA9~ne0KWW>hpll z+r9z5M&DH5eBUbHX}$}5yL?ysZt&gYyT|uV-vhpfe2@6P@B6v$Pk!-!7QYMquJZdy zM|3lF?Ye7qPw5Wpto{-HiT>ICOZ;#5f5`s_f1BPzpQkU=H|S^Um+1TS7w9+Ycj#}? z->-jC|BC)?{YUz512O}~2P_M?GT`Naw*m$Oz6tmPGt~Zp*@5!|mj$j0ydZFQ;GKaF z2R;+{YM?dnqrh(he-F|G`2~dsO%7@aIzMPf&@Dkv2E7tA81zT5HrPMd5S$#G8(bMY zHMl?c?%;#L$AZ5O{w+ik;ujJTk{B{8WN}Du$o7zZA@_wm5%O}#TOpr@{19Rb^#~0L zjR{Q;Ee!1qT^D+3=ry4?gx($cQRuf}>0yOom0=sho(uaqJUP5Byd}IXyeE8Z_&>t8 zh93^MhJPH9A5k9B7%?ZJBjVnOHzI729+B0N&5^B<%OlrB?vA`8^5Mv5BVUVrFY>d< zA0zDsPeZW5WXLeI8kQT@7%ntiWw_pOo8dvjcZL&DZc!0Yg;AAJQ={fZbw-^RwI}M% zr~^@lqK-tpAN6_EPex)4HkynX#&O0;##@Z{8=o}(8XXy359_%g8L1bg4yL82 zb*DX?u1l{=zc~Hz^dB>_GWs%}Gl!d(m>W09$7P0?H9 zXO4fZIJJ02@f{PC2~893otQH5%!%)p6qnpm@_5PnrK~iww7vBF(%q%+m4%e0m*EJN zvaMw|mfc(Sa@j{^C&~lM%gWCvKfnCy@;l3)EB{ydhvmo1f3MJ1=qrpBsTH*q=T|&Z z@m-~FWqReL$_14xD%V$DUAd?7>q+A$?VR*(m0tYnsxGK{pxUK+TJ^T-o2oyp@u{h+ zxv1v8ns;j5YbVrp)^4qRrS|(e*Sf&Eq`KU?#=3LrHr4H~J5={}-FK7SC&x|hpS*kW zJ(HiQXZ7jzx%Jici|fy>f4Kh12JeQm8a6fD-0(=ls|_DC{L-jt^lvmarZpBeHZ-<1 zu5P@%aqkrGDT}78oAMFHpDU+6KJ~*UmnQ$FxF$&rmdWI z>9iZB9h~;swD+cc*6h_B)11*<)ZEa#p!tmE%bM?Pwl;q<-D|pWdhYbu(^pU5IsM@D zH>Mw({>==x8HqEhXIwnvnHjIo_^rjg#n_V9vaDri%grrETI@5EXHK8lHFM3(%V%CU z^MRS~&a}_Up0#9F->h?IT|VpiS+?1^v(KM>cuvrq;Z_2za^WL8CHopKHEIQ|}oWFklW%KvWe|Y}C7ibq0FX&rv@q)V+Jhb4+1uri6 zC+{;j{F?Q~p838-KV#PAbKY^heeMU33Va~Da;S6Y3(XrC55o`!0!y=hIgJLnBOPe0jI$2S70N6(gQdN6u{Q@(^w;6roJ88s~ovLXgHO=qbe{kpnZ3aoBmmcVC#^!6|4dix4&%?`4Ak(Il46!-)neSb*~Z;{YZ=9NmMu{0qQ7 zqavIe<00T>iN!N?kaUOM9RIgr2I8CwPC<))NIbEV`Xr!OO+yEu1OF2|OTy?_I7T9o zH#fF~xY16ma=QrU1zkjv*(JmU@19dcey$~ zv{*N(6mSIh96A7tNgOM}3fPa)MtD39<-|0c7GC7BS)h9}!gBYsWn3P=7GZNp4&)<^ zenJfN6T6P`wK-*^o}OiYgRZqdNiPD#;p}Z*PVwM39xL7A@uoALWCFNbnuHwSM1D^< zfz~Ec1&9H}0fGV15)y#9KY#wO!jVDy1tOR`^d%`Q-}XF_yJf1iB`%-Fn6P6FrlWBMJV@S;LpMh zUu(oE+i?h^!b0%%6tOTnWN*Qt7 zPcOj6I1Be7ShtfyA{7G(XNwT#G7^CPC5p9z9``Fn*kF{;P4?-K?<@($5|;vVD3UNv zVjhmW@o@35vr?2Ml0+9kzR`v-2R4^i&7_Jr+LyMo!u>6i=r9rJffY#FvJTh`Fgp_grVhs?(SnpArTwwhrE z+g`7ELyQbWsi_zCZ}iFm;KcC%9tvLKFPe`O1Won1ti09;sV9Fj znTD3-87X!{@<2afEJ28oD7Z2J#{sy4BVdi22KX(q9_w1B;)8u2q zVhk}UF;y`OV%p>O#N8kFaNOf@PscqU_wsMp62&)MiF_F$4TU%dkLPO-PJVioeu{5< z;7Cf5uSeMv?0IIzjGGquGAZ$+@8$*l{Mx)4=#aJNn)o(n%O>$;vS28O6H3qUlb=#68bdHp52GM%CX}QJJYt>uw`uI&%W2b-F}^Yi+!^# z#HJbgVd&c*?}0jekcapY?d{ZmgC8El*AWKm2k|~${Trl%(+0Z+^~YX0w)NOnLXMqv z?B-*S9D5wU`|xxl;I^Zm9@}_q!?BBwtv$Bt=o3c|5_0t1qpOahB_D;19i4l0%F&FY zSk?IcR}QN0Kl}bu?pw9{WUGJYt5xi9L$tXPyrWvVhq4Xw;k<|zx5F6B&Ro$50B zsvw@SR=Ek+XOu(A%gSM8Kslnkt9-8fp&=R%jTaBE!J0Z;4``myJfnG@-;exhc#9eS z)1VwVjQ!If1^&me;~sarIB51@7FPO;KnhD_^(=$U!9Lt;aB4(0%VFu*uNTXTn2DKL z9E)dtYz6CO$r#INh=D|5?MVtw$Sua6s2Z%4orP28+sP8Lf?P^2Cs&XyWEZ)aJWie< z&yqvrRhEx0c@?m=tc<;lS>|uZx3JUyq&}Eu4#G@x5>2HUG@lmIaypMLpslono5=(x9jq*K7Aitvj z`i&G)5Ak zLL*2mjUzK@3Ym?aROw_cHKRwdka;wdETCDKiO3@z=uJCe@hqj|X%SgYOUQ-zLQXHO zBpdK8lz-5<=o22HSCCui zSvc==BRN1XCkJs_!c%k$d7f^^JB0yy15T;D3Ev^P5t@4{xepe(7kLj>X%y+BlgO>~ zY;rd}pWK1nvv<<<UsslHJN~VRy1SpyOX=_psa8 zUF>#tH+zn~#olA@viF&l-N)|7IctxwgY03P1iqg=ik;pMu!raq^eOrbJ%k-f@8hgF zd~lr}ql5G#`U(A%O{1S--|Xk~3-%rRf&IjOVRnVGAvObFocoF%r(e@==(ntiea${( zgX|ObIs20RhCR1aaFWkdtf=@MyYc@ZSJNf1mb%Ff+Cy%ntH@1sHF<_!L!Ly>_%z*0UZgw8Kk3cr1wSG| z~-EX5~0zWfI;T-N5%7fyN#8u*2j%MTzW__YC(B$b00J@RLb+c&@2_k@qfWH^Q=j zyB1@W>C)YeBtxFn@b0iFcgcHClo;RF%jtMwj1(j9y{Qp)x$5pivXvFEGkc)-){tJZ z6dJGty2A)N-;BM3`M8?~mv-PL(uxqRWFc8ey7AnIrykM?zeOTO3EcY;wg>Kg@J|$! z`a!u5mO%!7OF*B8SP2^G;_cmXxGn zGmGCi>&8cly}>Sa#3HiBbEzKxyQsD)3z0A5#ZB6JU^jL_rt%WFlglU0QOcx{}j796#7>Nv~Bq~!?BC1$CR zfl5(&oaZLoEk?Sl5T_TM8)b+t;6-@uM)-EYFPAPZ2fYZxrA3v!YLtf&J=_Wr)<{Mu z*Nvi(icqJjJ6?aPEUTQ2PS?RrE9$Qm^teP>y1*L~4P`B5EuXaYak6mPyPiBrXe&G z{XrsWhlLXXeIAJuNTY<6@G^~|CTPo88b@(n38X!l{6-UD2PM-KjHXg}&kc*nOj6Nn zAEp-c+pm%V@(22r*JuvSrFk?Tb29}PCqfSCIGh$Vo)*&ybRsQ*ZDOXS(Dh}orYdM9 zodj#78q#AyKU@P%|4&*+C)0Y`KpV*t^Z>8p1c)X&jW*+b{|wqfXX5;utI+G-1KTGH zJ#aQ=Oy4=rud(^>i2AP4}R` z-3xuV2Np;LB*#Vx#^N`^7MVo8q&HJa_u<^yDzbv!N^gVpb346*-bwGmnJax5f$b+} z(0l29^nUsPeGsRR){x)nL-b*KfIdPG!p3@(K8EvvpMX5RP5SARm|Hp%{pi!^PoJUB z!qRvSGf$K03pjJOp1wq1CJpozdKlxn0h}azg#Ht~dL#W8?6ueF8}v>37JZvq={xjY zvKpFn4YyO!Lx13~RmjPxNQ{3;mV+1J>ei^mqCP&UHRPhj6B93oJ4_hTZFNJ`rUMt2{K!g`A7? zLbwg>&OC6=ofq?FJ~+eF53^7+F^A(1TRMORlG(8MkFy|h5MPE4VWBwfFr3WA4B2Nm z2g|^sFyeojTu*i}Ba6n#Rwl9oqX|BaNWfSFyLMR$tn)OCGBPl}$Yd6lB}N@Ma0p|C z0&XW@>@i;05ffoalw#yi4l9D&65Oh&flXh>CS%mn04r{H5RcpSp5MQ0R+Jc4}tw3hH*dyY>~yVMLIB^=w!<<=2_0VSr5iK zXJE9`2YX~CMii^qYVsKQ38Rd)7`Obw&SGb?b8za#xv*Kz!${)-wn17lm%u*rh23hv ziW&{M5hIKnFao+5HVogHGlBhsT?$Lhi_9YnFm{@V^)#0gKXwJVkK7N7XCrp4lw!Q} z9ITlK$wTB}G4gnVJc&_@2W+Cv>}s}!ZN(VvT8w?JBO5Ry_c(E7J1}#$4`ZKQY&XV9 zd)W=#+9DT{YuL@0H}%12>pOA)+IAzx8Bt^_MrT)(TcCq)f;QfaeWJJE{F>`9UfafQ zg$?;UEbH50W#7r}B9Fknz6W;ny~4770Jil*>|u;r_)4RT$YtbGb^znO3%JEi=9ACy z&A{`?Gnj{Y95WVAvZvV7*w6kfMq|%m{^AApB6|sz`zx^DUu6UAHFgB!w|}wM*&FOl z*zj+|et!oiUSEMP0>1}q{sYW99fOr?h24FW9b@(QpU%)E=3hR=-X5YXz|BihRTmDB_^FPC${}uN7@9YouCr-Z@Vm8?KM4<{(6wDO4 zU{1wVaZ}tC55*JnM&62#;;Z;6I>ld8-&|LxEm_#xerCJt%I>9^6(toaF3pwLEU`u6 zY>v&DW##H~iFii5GWjgymE_Ck5{V_95{qle^43MYJ>9M)JxhAJ+n0Hi^e*jQ(z6)?lLS#c* zAp)tsr7|~VlB+VwMVZV^S++;TFnJk8GG1EZS|J&&P#Kl}W!gz11IW zi@idYSw*f(^GF$0NX9B9V-=1vlZjPScsGwKqh={S&8qmgH1h_hZ5BeLouOub#z^+v zXS6MC?``i}+NYhdq__3VcF&n3o}9tVihNlemD$>vB8ci-DNDIBUpq^X^_VrLJrr29 zQ`7tU%$eHO;qrj;kRo3y$|JL)RLWARC?`CN@<7v&$(G3SDRC$v8Lvc?Bj|~81eSD4 z)bh6EWV*J>vS^jcr*%a6w6?27v1lZ>9*c(g*R~DUb7qBECTy)qiWO*zZL)DV0 z=@`*IrJfz5<3Ri5XqOJx1LV=69%cEJ6|kk9u1h6DOQrT%Dg;L)YRSs;>>N!L`X~Y>-A-h(rMwNRsXV29SUnYJdz`c8P$&*HB@-)`by6-xN^O#v6^{O`tkR`tr0JDQ z)+!vaq#TsX8n4Lo?itnedepM>>~T_0y=r;%I%OnB7D0}rpCjq!RBHRwBIp}a%9c!- zfn1rP+$>E$S4aI$WOJq5XG*dKGMQXSKDSc4(z%R;x`7x71p_P;3$Rcuz_Pe29O^00 zW#vfOR7i#@B|{aCvXY5aRC=!*RW>W7T&$0&vnP$KKj-F{9t=(gYWy;KD%FJcT%w@{VWlCl;W#%$v=G6YuT%igku*{q)e0Y|H zmnq}{&uTwfk*OATg+(YIWL~Ckk?C7x`j%{OSvcuV8MH`lEV%_0llA`9Lk zd9%oZx0LC+P=G7DPAWi)FciGZCTXLT*{j(kZvh>udv}CGPZ!zbK zc)%hau!sjN;sJ|zz#^Z(qSS#!&VWVEfJM$Ax+))LwL>wROI1G1YF7$>Ne{=ltD-LH z5`Sb z?QJjz)hwz4YcXd!Sdo>VEd@_ix@cuGX^U{Tm}RRqm&kZo(!Dgtdr?nUPxo>ZNPlbZ z8ckbI_YzIT%HAF|y;6&&YiVz*d=QCQ%q6+n743ZpFP&v|mrC~4>as|!4y;y>MQRW; zETGoj-kwz}S9l2A%PYcN+_v?s>Q?W%+86f=@;PO>?u(apb+xxG>{;#F-@CMR$;uU~ z55{%kxlI_{mK=3NWXX~8k)xVmcvcz9QEivX{7N`-lnq;x0NDrx@AZ9X&nES{L@5iQG8o zWR`lNe^}Vw)w62E(V_|}_I{~}Sya`MB~?q7R1jHNnVzCcov(Ia>b+puSG^xjP=*sM z`HggCYD8xT5j(&s#4rixP=bz+qmNXnj64dfVB}F{XgIK=C+3|`R;G_=iCLNH-9o@b zek-!`RRx=!pWe5;wW~`Fgr`w~3S^*yQGp6Z2P%<)N=5}L86Bup1}aqpNhZpqYuTu% zWuv3!N#62CJ3BOZw#;AlDDSKs>6|m#IafO8j&_!5WQ|FqTq?n|8R zRf(<0l0}jwi$u+BmMrotS>)1HmT}hTGA@<;$-I}#M}JY5DnBPXIV#2}l%pD)oE)U_ zQh{RCiyiZSm}tfvAOGvb8wFp?1YQESOEGsyvAYi6{lh%}&A8q|Z^f>F{q#}XKS4jm z^$Yq1UPH{lDo={}OPueF*~TkH!xFK)xxE14`D#|T7iV$w__3_&u^0C1mrPC<*xDj*HK7Z>s2XnlR-`SWC`~~xW zl}g>1-&(B8`8&TYnp~$}xyJc7Rny}1+vis2HeLQ6z@ET`o-v+hJAVB6uYaDGdVTJV zMPA~ElN7uwy&F&QTj+g>_cPvyNButacK-e3Q|kM^U$Nii{D;ytpghA-8wULN3HQmE z6(5hE0q;R;F;hGfKO<)P+c0l@24pw|GJGj!Ua!RbaXIFZci^qaF3ciN!7TK%c$;t> zZz1MmuK6dt{X2p62TS-0AFM10#(S`}c&C+t_YDPjYjqypSe0RQ0p2NLRZT12DP4j0 zM?F||(u?)yTk&@1DsnyE>Rd~9VU^!rvKyL%25(7lhIRTmfzXcYp`L6W|5#2KWGc0e%1-z#pIo1ONg7 zL4aUD2p|*?1_%d403rb`SZ6xZeh8oN*~wx73CIZpKZoFB#hZmFa8e9#kKLOwz zs<}Oc+#W)14gc8)3`9vb=p zDR3Ut6s@A9c&ds2m&#=)FBe%ycs~N3p9j1EcoFat;AOxofWz1mtVb(yb_lwS z*DkN?LjcN48Iq*IHA>X_A(Z1GNX4cm%PDn~8B&8FQ z(g{iFgrsyrQaT|iosg7HNJ=LprIQ%JZ8RVTU;@MfCV=aSfD%9{pbP*hK)oFlrFRDE zs~6A*=m)F>oC#P3SPfVMSPM7{a5mr^z&gOWfc1d$0OtcP0BitU2)GDvG2jxwR+Q*9 zfNKHU0M`Mw19kx3fMmT1cnk10zzTQ=@Gjsz!25s?0RIMj2sjEj1{ef<1o#;63E)$} zXMoQEUjV)Yd<8fT_!{sX;CsLifFA)r0e%7e3iu81JKzt%3BVA*2CzdH5C8=*fCA6} z(BdgtJVlGAXz>&+o}$H5w0MdZPtnRLS~*24r)cFAt(>Bj(1>j1+M!+V(Rp9$-;4OfyfNKEP0}%sueBOik50cOSPhz!TG2wS zXrWfLP%B!f6)n_?7HUNcwW5Vu(L$|gp;oj|D_W=(E!2t@YDEjRq7@FH6%L>k4xkkd zpcM|F6%L>k4xkkdpcM|F6%L>k4xkkdpcM|F6%L>k4xkkdpcM|F6%L>k4xkkdpcM|F z6%L>k4xkkdpcM|F6%L>k4xkkdpcM|F6%L>k4xkkdpcM|F6%L>kVl4~c1YihY1K3e& z1V8}{pa3)g7l0Pv3UC9s13Unp058D*>6X)LAB6M|Liz_G{ezJHK}i1~q<;|7KM3g` zg!B(W`UfHXgOL6~NdF+De-P3?2x~J{~#p)ASC}FB>x~J{~%U2JPwI|5;FW0fS*kB z4B!ylo&!7&cmePt;3dGzfL8#Ap{K5c9B&8g0PF-@57-6R4cG(8;k~F8_JP`q&VVFY zAxTz9k`Ss_VQNRkzjWQ8PIAxTz9k`Ss_VQNRkzjWQ8PIAxTz9k`Ss_VQNRkzjWQ8PIAxTz9k`JS&H(Q~btT)vlY783f*jlZni=< zTcMk+(9KrpW-D~F6}s69-E4(!=DNuWZFC6w;t(vpLs(nE%lbLoJr8&R@FL(Pz{`MF z0EYp*M)spd)cW;+4ae=HeQ-G_ES=XuW32Vddu0a68icMo4%=Uib5O>CO*>5US+q#V z4XpP7tnLbM#DS$Vi1j2q-fqAiz+S)&fExif0UTEISSjQbxz-i=ghi>Q&Fxo*H3_>F z>vJ6Tnwl>?(%Fx6_9LDBNM}FN*^hMgBb@M0*=VdmBW18$^2>M0*=VdmBW1 z8$^2>M0*=VdmBW18$^2>M0*=Vd*fF6h|GulMTwoNp8rytol-+^Nji=?IgUCxjygGx zIysIyIgUE9qE4)kBr7Dz3Q6Lv&x+P(MeDPo^;yyStZ02!v_30ZA0H+15hourspF+X zXig08v)T{gw-dmh)Zc!%av0$LVn*a|TtI2ypqw~w11gWF=LV(0LvIG&kC?}YfBWIOU%2g; z`Q*Dc|I4yNnVcdYi2ciG8m9_1mRHacAk2k3Tgs%A|Bc`LW(-W(|$bj z-%0uA?alEw+_J}%^+;-tkf*|`lsJ5l7SE@U65s*nns(;j5&o~SgR{R5bxL1`9a_#a zs&UvCz`swCfVIYajeoe9U5ym8s|L)iF2Wq^3asBwCL6F?Hy`VSFTt(|KF3;wRkfER z^p%)nEyg^0QLa1Vm>fj%-4E>b{uBYIdyyo2{fpn?k%V@F?WkEBjV?S8C?D~ z$2mw(Bhqsb>A8sXTts@lB0U!|v#Z7W;2oHczaBsIbC}!2XCS#0z^LX5u;IMgiW~eIch!jr*0;p^lI!v@D=mb(b%oJhxmzE z>lk_i_8LTCHU4)vqrt>X#E3QUvBZQm?30K$RINr*~x{rNE55v>lH>7vf~A1^;ASJm+pSCpw!*^S(*I*peLsPLQ)TT9$W4JS%e)pNffe|%>1q(2AW zpuppC4KC|`nB$Y;oXTOO-bVTbp&S2F+MFpl>w9PSvG;09Bl#WeKQ@n}!>N`fk0ElZ z_MD+fa)&Y+@g2Dv$+d7}&~2|n%itgjXp;ubyM&TMuD>Rm?NXZo`%^|LMhc*|R8L&4CXCCo4X*!|3+=ce?5ZcRMXfID_ zuQkwEoSOilvAl%F3KSa4TWG8x!5`P#ZbD1zg&y`68dxKAFBQ7iQ|MkMbT8js@)O>1 zbKUDFbg!S#y?!EBI*}hgp?lp0_x^%=f1z*vg}(KZymHRG1ZRri$wg>RccD35h33?P zKb#MSIw(YcqM&c!t;DGfjA%k}hj-Wf%^`LTRpDKa39%W z`RTX5C{x}$Xau(!!L3Gci#JF}pQ3~)-totPi(>4dXLuvOpFM?bhWrh@PQ0Dh^AK`3 zlDZdZ0pEorb{s7w69_e&_*=jjmlepg`?r|bK zTuRleaETT7vEn{j+(+Zyxo#uyl#gBekQ%Y(f{0qhiP~`ID>?`)r=MZP@D&~3^A#P` zL=YO^di*y^#4*~>F>kBj`+9%d;k_eyu<+#hdE)RlYgpo&j+pn%n3W< zhy42#1IpEB;ogY*>GFBA&o-aS!;Xa110RPQe_ku`LWw)Z;BNWMalaaWRJ`@l|00P& zU-<6=z8!Fr#QT9C0z3nFOyW<&j`;8MIqn1O^P-By^T3F^cz#1Z1N*#-a7V}Z{{VLz z;5QZfW``Z|O$TtSk=O&+58!YQ!hM8%j*&Rg$-fZyXZ!B+UEzD5z-LN4QR2!mxDLX=pLu)-o+_VPWVo?(+oZpX`06}Gd>)>My99Z;60ilZ9k2)P zcf$P%+z$dcJ|OWS;Fkg1{fHBO3-|A<&wd25<_`e&{aoUoaQ}_kK7~7f{$nJZpBDFC z@;L<90Eh)7haCw(y#=67ow1)8ez}rfk@SB<#eSs{U*osa?^3^8{WxAHah1gNWAHTj zJWJvQ5-*mx3%K_b^j1rM=XCxm+zm3kgP#p!;%}1AJlx&L;{$-hfP)f4kBH}|B!1q> z-HQ8vhaJ(m0skWL35h?J_{$OO_ua|ibWHWv`JfED0sSi01xOqwu@T|oRewEr(1Rb{ zMY?UewGuCsI8|ckF5MjXJ3sUA`O?2w;_@-LM#giv^JgBS zL_FkY6rbzmvjbm_=WT$^67K>Y0Nez425`H?`z3x1_#sseg+G7h;a&vrct>@go`m0! z?(eD?-wR0hkKud*`>9xWT;da)Mb2_yVi`u;)EKSE+h z`q_9c1WW`}0_p&rfO!&6mAGXLcKEkR_Z5&0&eQoL*#AtY=dV2MkKgpMQc(hX4%v zSdRVwP_cL>Bktl^E1x;`LOB01{>gaG1(+pX4crUhxCl@RsFKh1z|#N@|5>%&YyXF2fju=@08)j(!EvsJG*mw&d;2l zBiz6AR&aP&f47YHz$xPM@Cc{>H$r|4_!96P;1|FN$O!|u0RjN|68lIT25gk>@lH4u z_ZIm)9k>I)ak0cTz~ySY74H1G5#R_n2lor*b2o55;3B}TfSXRjYdIabuXpml9M7BO z^EQcp3$O(o5A+D&_^8CUOT2#!en>t)Ch;>8zbNql@EfO~_pbDJPUkPe1!`n?2S1;V ziT{K8%)eZaAg+!X-iQpCCdeD4g2_!EJ(|lOVz;h_n(E&TWFixlK^x3d(Pb zYXavMV|C7XitwExC{GcTr`W!Q`xNQU%VCNLIYm&LE8Ls#1$0WAgnN^S)g)4H;=bf+ zP7PP&6jx9nS94$7qa<+!Z@7XtaqJiD zgiD;DzfN!%CrT`ihsQ}de7*ta0rRWiaHDW(7IB*eyaY6XQ_L7`TZf34uBR#2!FDb@-)wStaO+#7{>(6o_c*N> zske%29(Q3AaBeuICPBd@+)W~Nli=JWQZ$LQOoC^VpyMvWy9=pv7vbGScvWKE1-I@Z zu3Abs$rz~=h`0^nzCqjvi@3ppPOzX5EK;c!fqW)yhZW`mVS>#IGWi zYEdTDf~#u5ZMC3Zt!&|8M2d68wVIa?D-*d+6E0~YigV8Ry8~(1>C}g$Mq7i zJOq6Y!L0`apEy&E^W!BbUxoLDJUr(U^I^Cu+!yZ$IsXr_S9xAUDcN}{ICGWz+68@$ z9Xb~GoMtfB7~~b@4u0hvV#f&&xlY7gC*rQ-v9OMom;5@;6|N{lTtR_|8AN;+jihOwXNA-0u$S_CLFXqfr8pIer^4S0;3~qLq1=u8{la&@NaYNrmAmkA!T@?M)MeENTZkOCO zQp`1-s%T4=TrVZpOUd<8a=nzCL&-UmTq7m+rw^fI8=xxA~?e=lOQvm-C?2 zU?>P=A-NBHXKKx-WkV zlV0ohTEEvh^tuLnownEa)mKa*T;o*zPStPye(OJ)E+n6R>-YOEkH*K)U*NQ5Td8a- zm2H`FswXOgNiSLyjsFp~#mcr=+4d>tURTM778lAc$?K-t=^=!F%3{g8F3G#r?8vF_ z*x@^NSii&NKW5Ei(g9&jwmM~s^BV75)yvOGcA9b#pK{STFNg9SdwdRD zvZEjrpAHLR2FC0K5C@;44NPPeZ+d77v%|dDrfXm~E(e*h-McB?0m9 zjd(xDL*e^jOZc&m$5{VTemi0-wtoqv!9Rw5AO{`{f5)4Sg|na%pA7?G!9BsTF${s* zHyMP!QfvlmuLV@SR?zfXL9T0K?W+@{yiO4E?gkC76O_9iyXth2Q+Rg#QkjI5jUY%EiiC9zpz00@%GV7@1eCb^(?)y7wHwqguAZ47XB9U z?Qv_;W?WZtcVDIb<;1J!OFV8TQFEEZ<8b1!BJqg55B-s+&}wV|skeu_rtZn|)!58m zLTl|9RPR)?3(YxXy-OX-kzda-_RQV+7lvQTDV{0IRPC}rSB7~5VV~L`m@*%QZ!~>T z^rI6a_Tm02>GCk!CC%-lZ?+r!wKnT~`o5bHCjrNBASnu`kf<+}R-XGwj(?zkgyT() zzgBq3#^W!(uJn>s^BV75)vKPB_TvZE)F?K*E4Ilt>C2+#=R;=_{dOa`tQ{bl-jl2b zxwZ@Z-|sLR+sumVPm*oPFZc@h8IX5hOn#rdmi(Exvjd=@t49vQJJZLZ(@dXdcN*@J zJ;N=L(Hwpu{V8-;wh#Kll$q!7li3;Q9P{OD z0=exGrQ|3SfvjZfFE{boN2!@ZCB{* z61~r~r~BKT_lF0^r|VVPjhCU|@P$o6;~R%=xOaWny8be>XMK2N{f6-Dg9|?Lf>Gv zQ{9i@Z|ukL4t?FfYkMz@Mrvgr2JDcRDiE7G^`a5uP9k_#C7qyb^nkv+G1;VO(l7{y zabzAqj~_mY>{`nFh^GSScoL&g!fYghc3cmQu>qR0e^g`!H3hnaD3S;k@d_xIvrrIc zp~vEJ=!q1>4WZ2PY*U4?9Nw#(i}MWSeuX2z^s zM%~Ls$RZfJyK#!w7=wlKA=D2>QMjr#G=t|Yg>m)-+5^lyMrQWE<(^Hn{)LQUHxfB~ z7rp2v;$;*Mbza)yQmn+dBH4#E88)lP25T}bSdj@;WPtmqCnLXG5|6&Y_ z?9Qg#u{fz}y1HBJOUXYTP02AHw?>NYWby#r*T}v?@*VJaC-1JuHrErkyp7(zpPgcs zfK>hv^Q7D-^j^m7-PWWvjP@xs0=-uVp6ygLGJ7t5TfLh3chJh!BBiMA?(u&xgn6F) z&Z@_1o#hhM<8EwTElmjTz!L{HCRgDS=R1tlyxe8k>e8xa6MS4zV`J0RQd#?+G1~Ht z^VmJdRN;r7A_yz!=0Y~7o#&|L;ERvanuUcYTmt1B)Nx7>Y1z!P z)t2$}kyiBp{c$6+)tk8EI(v4J8lMws%W-jdk9Q-T-;dLLJ_km+{(qkPX0e!GBX{PF zyb0;bIndKbG|Hp+88v=FrH}b<7#L%z-2aM|8saw>a?XgytoS|cCa+;dbn?cLzc;}5 zg!WNSv;_SIJfg+rY6wre|9J+wNTm*cfYWbWS$MU=DN2<-8(Fnp=}nUZVY^H4aJaH| zMdOodXR3SsvHkr>ORM@`HMe=7p&!nDHcdhEzQpK4p8Pg3rd`$AM-}C}Rtoj5^_R{O zo%&1XQ%hZah6y8g8)dy&Jh{H}lQ*x%-{p;2SX$v?veH(pJ{kV6G1cR$QfOp+E42R) DG5dw- literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test23.coffee b/pitfall/ptest/test23.coffee new file mode 100644 index 00000000..8f8b7726 --- /dev/null +++ b/pitfall/ptest/test23.coffee @@ -0,0 +1,26 @@ +PDFDocument = require 'pdfkit' +fs = require 'fs' + +# embed otf + +make = (doc) -> + + doc.registerFont('sarabun', 'assets/sarabun.ttf') + doc.registerFont('fira', 'assets/fira.otf') + + # Set the font, draw some text + doc.font('sarabun') + .fontSize(40) + .text('hello สวัสดีชาวโลก world', 100, 150, {width: false}) + + doc.end() + + +doc = new PDFDocument({compress: no}) +doc.pipe(fs.createWriteStream('test23.pdf')) +make doc + +doc = new PDFDocument({compress: yes}) +doc.pipe(fs.createWriteStream('test23c.pdf')) +make doc + diff --git a/pitfall/ptest/test23.pdf b/pitfall/ptest/test23.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d192c25ed0e5c1c425eb0676763edb69a2bbd3d0 GIT binary patch literal 4548 zcmahNTWn)Tb?&tjlbg-M@hh+0Oyb0L9**zZ_9p8**NwBz+s$h{z210}Mcia& z?wmPu-sj96_bpCG{lc)s^_{@ODVWFk&0E~)C>KZ^6*L@JOl@l%^hGUK!U8NWbAdT6 zlTA(L5Aiw=096oiFf49xfvJ411ZewM((#tH{ro{Ot?gr(0wNJk%Vh|CGOzGiEauZI zS_!WQKo%TGXon>ni0uL2Nn@Nc#u)I30uM~Yi;7sSP(39~I9CYAwcK`T2TPL70m6Q% zsHOHeq5_ZoWB{RYdXKyP1lVN4018;(d8~xP!(s?0_9$DK$B8X&eU#^USmZ@$5@``E z@t8nmXbLnHS}=n74V;*LL{F6YVY!MTr4xD*R_H7ip%*@f8442FPDP{yQ%^!u&!KGs z#Wax;S_Ya1Z3`MmPgEnC2;>EH6RB>3SRs5h!7XvbpN3%#&jza;0G`bpq_raUfoHE} zOZ^Zc;Dl2C93-31O{Yp4_Dx?Fi9tmnEDEwH@K5&>-x;*SRkZc!B+)Rf?Wc>`0#MbX zV?MP9al1TsJ-)m!xRNTSHV<Ha(Hs-qkSA1t#{>Gy`}w#03aTGV_a)2s)(-Gg@|gr-Z?bT;PT=0UL6Gm6Eo% zO7;^;quE_e#39gPxk@X61Y{*InENNBh7z zmfOnHWC8WF;HM+(n}Gb&z!3|@j8@F%wy`gk0adc4BLJ=(6bifA9#M@a5>ly8?Td*6 zmbt)nlKAVOELIc+R@n-m(7j5OQ%2$`x-MaZD&Ls}oU=pa%QO@z8I z%4;H2B^V@u4uY)D=su0tQ6!)ZD6&3?#v0wg2kCY`NY{8(j%<(&t;h$j)Yy-VlRhYt z(}Q}1nv9qto6{aSt&lGe0<@9t@rpvKd?h5Fm>vWO8TSA4;%W{oOJY9o$Wb$uWX_}@ zKOxEX@j6Y&WheoOd@`3M&cK3x@|~6<64;LmHI;&bk>4g~VMZFd9bVJ6bA(^k)|abq4^({0A`h z?&i~#`R`!v+e;l5jP-{w;_cm|Eq%^3B4krppTgXNSOO(G%tI%w2-TR5Z=KAWA5c1U$>?k_I#3X0 z&;TPWj{uCz>}=1Dv3^q)oqnM?w;CO zc)OBxtp#s9mmCQWM!iY)S*jQ^Uj3t9S2w z<7;>OW|k9k#AZ>T+yK&DK**_BC97R0?T#j0ozBh%kHWpo-adZKeer_S1}YOt*gBA; z0m0PiA^fQT_FA{9DpU#w(0FfeWMpr)@X9NN*+gPCmPo|7vF8^So*%n^czAzeXMKH# zG_al<=sDO!G=wBH2G+F@;}~=t70RF{@Cm9xVlxXcl0=splq|Bh*5Y*45-4E`hbmha z>QAgH%1l$^P-rB;k0z#<<=(*fYTdHsD?78HwwhGFaY%{w|Ek^Y=;(0R+u511p|SGj zM}ArI`)b0&L*bFYS0gJIM#GKrP<*Y;i{Ec|`ugey{@l@Fw?iXVXaTGJoSg+5^nuJE zGN^C(!lesOrEICP2s4wr!Usk|{>G;9u=JEAX?cFV(BAHFKx1cbE|z~A7zqyzhil$f zMnl63&m4cKv$J;~w){=@M<{N3136I-L{TFP%qpI@g9$+Mpqc8gJ0Q-C-<}Cy=R<>o zA!}2eb?I5A{4S7dZwC!bZ_MnC^jz@_sOq50+rVruy##Pudpo2Diw2;p1_{z7tLTAt~xuje>N$ko#?`Mh#~7nPcXt)cO9 z{+hqlW^=i0wpMm__h$JXb2Jt6MS7g_kWaMRx&&tp-{TP_pJ$R6X8re_asFyYXd_tu zxK-bW*yGRH@0`42dK)#8Xk=X;hy)9b4n=Z!oOE7mQKhHMv3J%YgEgg_n`1Md-Q!)W zA#vt{t)G3n=VF&-Wiy!nnGN5x@wW1+nHcTyVy zMs2t+&Uo89XNOf%9m<|cQDD#@SojN&3oIUlV&(Bh*y>VmaXMWN5+m+8Z;x-v9Jw`} zK1{|Zl%?k0ajR!A`JcYgrbg414Jr2w1&F%qCkR+}zOM9Ekdo%$;PPkLTo&DQc2#$p3c8O$sKwv9Ek8H@Oo&aG=2_OY%Ezz8$Hrr^aqhJjwy@Yzsf8re$;oF#pn-@pEg!Ko5#Be3s!UjwTh2d^V9-KRc$?$pf zI1H|j=V5{XSC=z*ya3-?kHZ8td>&5;!;cDQ@WKlGg7G*EKEKb=<3s1^34&UsN2!>C zOJR}z;Ifjv17DhO!&}bhOPG9N!d;7A;mD<$UK#gGsbYy*OBN-b>+8F^5as?0aibta literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test23.rkt b/pitfall/ptest/test23.rkt index 97b04dab..fefa1c48 100644 --- a/pitfall/ptest/test23.rkt +++ b/pitfall/ptest/test23.rkt @@ -1,6 +1,23 @@ #lang debug racket/base -(require fontland/test/index - fontland/test/glyphs - fontland/test/directory - fontland/test/subset) -(time (void)) \ No newline at end of file +(require pitfall/pdftest) + +;; subset OTF font +(define-runtime-path sarabun "assets/sarabun.ttf") + +;; embed otf + +(define (proc doc) + (register-font doc "sarabun" (path->string sarabun)) + + ;; Set the font, draw some text + [font doc "sarabun"] + [font-size doc 40] + [text doc "hello สวัสดีชาวโลก world" 100 150]) + +;; test against non-subsetted font version +(define-runtime-path this "test23rkt.pdf") +(make-doc this #f proc) + +(define-runtime-path that "test23crkt.pdf") +(make-doc that #t proc) + diff --git a/pitfall/ptest/test23c.pdf b/pitfall/ptest/test23c.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b0a9cf0ce58ab667e2a1143f7969ad92f3d37ee GIT binary patch literal 3656 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 literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test23rkt copy.pdf b/pitfall/ptest/test23rkt copy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3df09f418623344c38cf058281fdbe6669419a04 GIT binary patch literal 4651 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 AQ~&?~ literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test24.rkt b/pitfall/ptest/test24.rkt new file mode 100644 index 00000000..97b04dab --- /dev/null +++ b/pitfall/ptest/test24.rkt @@ -0,0 +1,6 @@ +#lang debug racket/base +(require fontland/test/index + fontland/test/glyphs + fontland/test/directory + fontland/test/subset) +(time (void)) \ No newline at end of file