From 61251358dd5bc87d4aca15f67a4cb37ba8e72a2a Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Thu, 31 Oct 2024 21:50:21 +0100 Subject: [PATCH 1/3] plot: Do not draw marks outside axis intervals --- src/plot.typ | 2 +- src/plot/mark.typ | 15 +++++++++------ src/plot/util.typ | 15 +++++++++++++++ tests/plot/marks/ref/1.png | Bin 28490 -> 41532 bytes tests/plot/marks/test.typ | 8 ++++++++ 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/plot.typ b/src/plot.typ index 1aad373..0de9168 100644 --- a/src/plot.typ +++ b/src/plot.typ @@ -459,7 +459,7 @@ } draw.set-style(..d.style, ..d.mark-style) - mark.draw-mark(d.data, x, y, d.mark, d.mark-size, size) + mark.draw-mark(d.data, (x, y), d.mark, d.mark-size, size) }) } } diff --git a/src/plot/mark.typ b/src/plot/mark.typ index 9450d21..97e0986 100644 --- a/src/plot/mark.typ +++ b/src/plot/mark.typ @@ -1,5 +1,6 @@ #import "/src/cetz.typ": draw #import "/src/axes.typ" +#import "/src/plot/util.typ" // Draw mark at point with size #let draw-mark-shape(pt, size, mark, style) = { @@ -34,12 +35,14 @@ } } -#let draw-mark(pts, x, y, mark, mark-size, plot-size) = { - let pts = pts.map(pt => { - axes.transform-vec(plot-size, x, y, none, pt) - }).filter(pt => pt != none) - +/// Draw mark shapes for each point in pts +/// - pts (list): Points +/// - all-axes (list): List of axes, order must match pts value order! +#let draw-mark(pts, all-axes, mark, mark-size, plot-size) = { for pt in pts { - draw-mark-shape(pt, mark-size, mark, (:)) + if util.point-in-range(pt, all-axes) { + pt = axes.transform-vec(plot-size, all-axes.at(0), all-axes.at(1), none, pt) + draw-mark-shape(pt, mark-size, mark, (:)) + } } } diff --git a/src/plot/util.typ b/src/plot/util.typ index 5c59c80..9ca5e25 100644 --- a/src/plot/util.typ +++ b/src/plot/util.typ @@ -370,3 +370,18 @@ return axis-dict } + +/// Tests if point pt is contained in the +/// axis interval of each axis in axes +/// - pt (list): Data array +/// - axes (list): List of axes +#let point-in-range(pt, axes) = { + for i in range(0, axes.len()) { + let a = axes.at(i) + let v = pt.at(i) + if v < a.min or v > a.max { + return false + } + } + return true +} diff --git a/tests/plot/marks/ref/1.png b/tests/plot/marks/ref/1.png index ad6e3341343607d76f5fc6b360a7e2188856abd2..45732edf4f08652c817f16704e4b5d32b5b714ee 100644 GIT binary patch literal 41532 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 ncas0tJ1O>2>9Al&mSw literal 28490 zcmeFZRa6{Nv@P1uK;s_V1Azd+-Q7I|4;I`Vg1fr}cZc8-+zIXwJh*#sf0dkbkKFh9 zejfuEO?B0-UAxy_GUr@`DJe*zAQB*gKp+%pDKQlg2)YCK$$*Cjj`;a8kb*$A7}8?G zs%}fiziO;SpwMBa;vyVQZHQWw-b!J77J|ygiIs}I;r|Rvm{9}gm*p_jVgCt8#6SNQY}r!kL)-| zIJqS1_HpALsUswWk#B<3^XX-)UtC+$yQwl*7}7Vt>TJ?-|(rH1gGB z?|1pca~*ZeTD#}V!{W!?BhLPNab*|MA^n%#K~nwhHL^SBrkk=oE~uVYmQ=aun3%6w zuMH{{YV-5+XsD~H#GW0Oe|Js}Cp>IGw?uw7Q=~|) zkkh~UtMFuw?_CCoZcYhV3$({)5-Oynup0mIp0F{A3p=mOO@iK)MZf!FMlb!&-Xp?BM z5kpZyb5OvXnD7=(ZZzl{>*^8|iV35F2exu$gL^k@Z%#AB4U~;0us=AEAM`@G7U4nhqXys?kfQR87lw?||Lh z*7C!xt=oQQi*0fH!pW}+%y&}cR2ye@KJ%c1%E%z;r5T&hKGVthKHt*xzh zr(TBzTN+>xN7uA;{8Dwxr74F82ht93>@ZD7pmhjy`dFNl*rxxsuXkrvV%hvr@yx;V zbNlj%MZ=Owoo1=(_Pm~}(TCE#JyQ$#>gP8LZ{R>plYS?_HUXj01HY!A022aS=6}Bc zmILIw4;=X)FS$4qK8MvYi@F27!<>^P)KQEtcTFaRq#o7uaeM1xI_Bg=%hV#R^R zu)@%uI<{-a#fOJHn>n%r*mI^r@$v}?YRDlgOPd>?K=#D#iF5HMv zCF>Sd^(fm9uHBtYYcvXG%(>&_-o1UJhL)mGtXnm&&lD(l(iVVzJ9`wxf=Fg~PBOvuUE2{u}N{N>yOsg9<*(U;Fzj<|cSGJGV(Zqr9c zmg4!xE{{)7o&wo=y1GUDyu9U5xgt6Y^LKY#OdS0DW6quR^@%ctPC9)?EceeZNl9?!$!T5wXv?MbtKqu@gEEpB$X+$Yv4z1L78aJ!NKX$m)%V69KMbf@@U{|)>sY@V zo0tUO{Lq$pBfl$MIQILuZkZ*p%YXe+Yo0hcIqB~g*V7}VYPPkpF?%f)8y_DhQ{j1g z6-^~-^Xu0ykOxkG>&Hi^=Cjk&w6ruXj&A+x&Q4P3+;Yls#dBJPFV4=_D=S2!$J(*F zpFdyUd$tibO$`phN6bxexuLxoZEb1c@=#P%te+G3TAaZX(cc3N{Dl=JCcYDb_viea ziI0zui_6Wy;m_Tj*$PuI-cA+rJ^v>I5Oo)uz>P7RH9q)uk{lWDrwe1^@SM;+BrW* zN5`b~dp`pr#1>dyUY3-Uq^72pk7wiHfc7^0;Oy+ITcwW7Eg)dRiqP@K#!s6ArEONV zi2#H^8-Z#E>nmUK9aA3p}9-@Q`Oi@kpM@F7-9-q0Eh3riondl z)$VT5IIyXW-cGSz@FQ3o_(d>%1*r(nf<~gEPz-9cDhePVDfyiQL^636Q4-h{zy?Z7 z!E2FHWp!^}PlWD9YzDspdqc#o+X1_W8oW<-k4)_B=I#CNYu7-K;RUJ3?KrLYuOO&} zGceX$d3F}e$Vjobq8HHNKg5_Z`s84+-iR@$bmox3y))$S5n@6&5_v1kgg5qt1jmnN zWl~eb;BmMx=63#_ljhK>RsBr1dA@bNLaiIwsY7&7!+liIB-~0|D@(xZkYpiBNeoF(2CF?HOnL zDXXKnnnga{Y&t7aCu#{y$U%j71WrL^#)#wFH*;-xjy7AjXKTx$XhdA-QS$zE4Rq(v zt+n`lkd&+UXq8vZSxhOs8{C?^KNaGHat0$#jd zp1#&AX$2}dBZZ(@o#}OY?%Fe*(?L>S16TJLKNs>zK0i#mGgNu@6|**vW8LjA!wW#p~y4@Aeif%M0RT;(78yi*qIjUf@O}ML;06t2Jhm}{fliJ0UiZxp`x-q{H5Dt2DSch46hhnjtumVl3nE9^7ncCy4y5EQIi zTuzVTCYs@7yV|nzqv@5GMH*=+A@*pnjFHtP8g6Wg{%(GOAUDxpS&XAPajrz&0~8AIZ%w#KMXsrqekp!8#LfdFD-5^qaf zlFFe>Hn%1v!lPr{sC@pbV}tGAb#q~}irbngMpUT$v&p09txqIW?#tbe0g` zUp-E*y@o;TOst`tPTBn`>IygA4)B^CDk|DZ3MwR5x1D}+zJw`9#b8$-8L!`-yEvWG z4xeyPJ4yM-e+G5FOZL!WdV1Y|6;}=c)=tC#*Z9nAq+bBl7yWT}$&bl}pCGfbDTzbJXBia&Vm7KY(xAY;1f>aWt@o;79xpL4dc~-# zLabI~LfXU~Sxk(~HOMMxd|;e*R!=#aA~Q^X@pHI0`4gGExPkHM=H2IaFc#2d>5a}KVZ1!I83_A zdV@NdIV&-;Ci-@e$SH|eN4YbgQo~p3XL~J&MWf(Ia_9A+!iYGqUL*VG%+s+ zrzd`a46f8^C>xAwQ7Hw8o#Ecgfdr<85{ZBjV>B3Z`7n zB!qKv^TjC)eeZz2?v3N<2C)D-I9JJ8fR&o=Xo)se0kt!!B2frqk?4zwdGH5jM!b(7 z*(hkn@CziG5|=K{FJ#f|>H}-_u=XahC7phvrBjbxsy#~NA}Xu159yT+rq#8cXuJ1V zFcS%##5ZHII#ax7crg+!YTvIm!$3hh%6Yor?V=i|M zgxiTv+?8yRtc)F#&wmlCr)lbg6XlioAcC5#6PCItni5nRjq{5Dt0!uc#LTcyw#%HP zwQ4)>n?K~ecSG?CSPw2Buz@5oEvuZ0_O-ur_aU-N*+2V&T`a;5O9B>~Jlri$2ZBa2 ziy0%yz#P5irX?jobGbR3942V2rB(VAsMF!OxL-X{ViMKM3~e9oY+q&Ic_1{97Ac$T_XQOLKqaBkt*}exQ0Rxl^o(p88*M0yJgh$S%DZdac%jZ82BS zc;3P!z4|}ESSDZdJoM<3Mb4JAQ>dsDS6wbs(IYwtwMs_d8XG8xysh}oBn_@{p_4iu zHk~AJW^7A_p;oH=l4N(eD<4RolAxaZ;)59AS{nKwR?Sz57h{oij3Q;RYYM*-071(W zAFuZFK$VyEU=3~C)ER3*`&z-{+pcNT+xI@MXK5c%oEWil{FO#4yu<#fVU62$se$S- z%t+@$z$Jrx&N0-b?^fxz$c3D`_dVoygs| zS5ti!zy9vO)9VmOG2Wgc+5jf{`$Oew4D7B9!u6Y86sbk=I=OF^m2Z^;)HP;$6==q-S8a; z9CDN4F@ysSlP-y>RGQ6Idd)`+>iOB#*Ap2yIV+)FGOzc>Tfj=%aDb@6k`^(@8XkdV zMQFw4Nq|B()y_fzG08yrj$1!^*C5H`XZe`>MA~OZ6&fo}_{|G-U3AuaW9^qcV032XPb{l)k9 zj6YHRoNgO;IV!E5_-7&I_wRwU0vnj3Aer-wvl69hJ4&2Qyp^T*-wz8wV3>g0UQ;@J zp-X#@RKHscJP~M_7?Jb2N{Pmb!0RxFX@8yAypq;vHd>YD@Eq5}^>|tW@2CA!g_BZq zw>WyO#uL~OgIe2=k_#J5!HI{oNx>CrcUmz!6zWfQ2Z4cLBoe};BgZ4#eA7Cf%r!LB zrisVKoW>L#x+aH^LlG8u4T;}*2Pdz@CVOP_>Uysb^SObh57@*(TJN$aMi!=~>`iAJ z55ak065p2>Z+xIUBlcQRZv+6aDVcYP=Ee?^*+9AcW3fIzsm$~>9f{A`7Xnn!+gpt0NA#U* zYMEJCI1&B3ytR?;uJ=YP%?%BOz<9=5?ZrHtoYaoPCG|3DHJ&FUx0@1kj5ra}7MhpK@x+weev;GYqaiVq8|Z1OH5)HS684^FF~Gs*V5Vw;CNkKT~AL> zS65DjDsfF~%geIHT}Vi7U%b3BDL~ehb#<4!dKw^;n zAMNedX}bV!$wky*`gW_my*(@}tfq$fUY3tUUH8uAvHiSta7VPYm0w+V(1=A=R`%n^ zk6T+?-;9mxG@S(p1_ne$MVob^Wg&Us)5hv*J0~aXh<>Z(-wO*VnVI}tTuSmE7#J8B z8G(n&%E%DQpOT`it*gt|+L@`E__ag#+PWSQ6Sqg&Gcn#cfwZ)0 zj`>pT*$p`L@Q@Y{85IqUl!W9RCPMZECku-T4fgC>q00LiwrB6x(b3UIK^~u%%e{$w zdoDz!u2*HI!R~w3SK_gp60!i7o8yI=fVjAe!?|+1IL$hfi;IhP&wI>d9DSsKurTwN zr+d4&n;RDe1qFTOAX!;2FMg&uDCuEhzUKqzc2-pMZ8!44%?#>5Yp>s?XOF%42&UM` zi06CHuX|9hXG}s<;5RUjaow+^d+&ev=}VuUodGCM485V586GKVjN}NguYoKTnJ7a_ zN(zL7)I}t}=WoNdf$YGB*1R!s;faE3^f+_KuHc%@_xuBCMHc}5C|l;&3+3`{&VYVFNXeBSFH9xtR(J7 z4iPq`6!HD5WTdVn^n7MsL^w>(6cEMNEqo2i>OsVB0fRAE=F8*W57<%^rq*1zDGieO zX4sJc^V>p*cN6#u5{_i9@`1}qeal(W1>-r|XjAn_Lwc6);qMgrWIwuOc1&Td(B zzC~>`e@och$q0xtdU#<7j%>F!nmfD-Ken(8n8G`Dl4HptKbKIwR=zO+DF$-XXeF~U z@&pfl)KQ!$?j8N|{X0x_hoK8TA!{&ThV-)Mw-xb2l$Azxn)-4K2J&|2tzF^P#<=;+ zw)zbr+T$i5sl8HDVXLH9m=YcszK)yqbKwi@SxSwX>T0I$8u$9ew^yANhXCG{9nIV7|HPGYV09)OqY#RF9!hJH0IIj=*IKIKnyI}UzfadB|~<|rM1 zC1&vD3*eWCL3|`Jznht6=I1%bFCL%u#p`B5E{fBju=K_|4UU_BOYq7bt2z_Lwjh~Y zF@9Qwq609npWIYL*6nlq0ErR-Ux->D_Wf3q1{-Am=ic+`dzv}C+Zv>^L z;^6;Hak5nA9FIPvcD1i23Y0E|?M>GHry;w_eha z#v?@}E18~Y8R=I4A2)CUP(eInO*jRH`x1?16yCTC{A zJ69zeFDN0FA79$OJ;TE>c618R(PB)r;}plZd|N1W!Je#2PR1q)XUPx%Z{xQ={P{D040dsIadqJ#2Kh42Qf^*w`BVtoY9OPbiE__{o)*7QyMH_1 z9hk03Gw7wFR+(TfEb$E&8vDGYX2^Oh2CpkL5F_jj5yyAhv$Vqw=poma%-8jI2$#sm zi;~nv57cLp(iSsIqm)m0Vw{z)(A|xTxuAU}Yue z)8}mg0FypGox#I`@_*(wme+T|97^$C3mQX(`L|bFqQ@C;!!9XYg_j)-+qN&+BhPfY z*@l3a*WE1~g#`~o5eM%fS3I*|v9h){j||*5*F1ik^tFqEAWA`Az9vG|(a~q2)n}5e zhY7Sr%2vNhflVOwO{9n-$OfN)X0bNN?j0(-D2vgQa;|=*KT&EFmKzjWsH59E_n`ppT?BY{WY@5`Uop3wRQP!?~Jy@R>Wr!3cQmU%Ldhgkx zQYv*pND3b$Qftz)cZqNMbE{@sq*-Tt$H4(FqW|!^Wt6t5M*pyDc0<4%x_IWRyZfO_ ztMQ&z>#9Je!Zq)Q3<=e0)|NU0nd8-`e`Jg_itAju_{0@@e!K$})@dX+?Ka zoA%{#Rv3t)mzS3SxEj)HZ)X=PQ+UM-utsxpN%cYY@6yMBSPF25&BGQAS(%yUY47G) zoV$n)gm_k{F9Rg<$*Ue5B=VITw1`ndS`3<2-#xkresLcEE~BoxPxAE{hbe*h+5n`w5*ldrFMoawYJmc% z@21+#tCPHCsZZ%;y zN6W>A%B_fO$BP9P=*SqYtK@|a8VfB1v7q;KQGw$v9q7QxH@8Mdwu|GxZ`Q9epXV+K zpDulFIkYWLOxuq%&mu@(F)%Oy=cbAl*dpvIgu603tGXY&zP_H5lQTU%eSCaudkdbL zn##}5udJ+WZEd~drKE%*1f#;_1!l4?DxGFNKYNLa_6`k6zXu}y=GNBb)m4E~@4-Q7 zT^(zhjVuN{Di&4(K;#N8a3}C{487Kq7DYRa)6>y8+S`Bi_Wstgy}Ymh5JNPx39+$E zEG!i56p+%YDj*>mA5R7DF+~0F_~`TUg#YFZm3XXzhMrz_dU`^sfwwn_Y&_thvF)9l zuCA|%NlA;({Fv5qklH#rZfwDbO)8n7=MTlS;aOw=n zw$|46V(26qv1o7*$VD&OHJLaW()nx-7)WxGfv<1h`qno#asj9OIRRK3T;HqCwl*hM zSKNSBqXd|v;W8bXz1ufJ_TZ5U0wA#Iy)x?_$%?my4ukK^D;6pAcxz~2jJv^ zrKL1El-%6hL4OGei5`!jF%$}Ze*SOYzSY#!v^ffw5IXs_xAXITDry7@hOEP)#_Vi8 zVPWAfU-E$yuvM3`&^MaMu6QPo&QTfE_74t(VM_WoyzT7lluC-r%4E(^fW*w|qkcl) zH(2{I-4GzFZU(hsT=Ann5Z1#iLO1*FCbi||L36;SB=?g=GogR4s!}%_=JIQd>nlG=fe){#5B8OVNTc>_|L6$mP1h^Stx$^X zBxV7O2yA`o(x!016|I8x7#k<&R#<9u28ASK!w>eJt6FKVCf?i#7{<)Z%*_o?fL>|} zh;KkBUztuchbaozgXY5D7=q2UnZ#sdtkQ#CQ?QmBt-91gwtzD!0@kLdM?~jfd!H;3 zbsLOFm~`9OS;-4fdo1kVzkfF}HqNz?Gc?@n>w|%T>4?;Kc5aY+Yi@4t07V}JJoh2o z2XkxdBqTHbhEG2br)Ph4U0<`CSSl!>Vxkcd2TuEW_RP*=D<)ZWkBlI>P!s%0&dZ~i z^{%d~``95Olw+8gkbq_5SEs@b%xF&sH zr(g3PkR%avoygACF-=rdFlAT(PO(JisOJy4R;7)tt?~NUM{`Td$GMGAi+BnbWL+S)SsIS`x!7=R&t zA5(#x6bPup@Qo0+AX#ZPMKZ9mrsjKb0s;a!IJnp^cY7!+86xuT3&c#%+`8~bJk^!G z)GjVA>l%GLwe9Uu{!Cn6LW+n79|xhYdM<8n)#0~ycAA@;=jP_dMn}7XiP6!0uVF6) zr+fXq7(!3yZ6}{eaE8kj7r;54#4L~|aFC9_2q+y!g90cQld5Rm6u$Dtw(FxIisD0_>^4+?1=a?+z!Y>)WZ!f{y|h(5=tr20Kic^Ib;s10^!OiO(PE2(fTs z_q;3(`co%C_1p~9fjpApj%?x875vJUtBS{ATP8djJ)#)N9g%N4oj;CUc&DKXzz64~ zI>lfhnrvtubfFR7aZ39-qOE&^yO^bY-TyPx2=V_5E57bP82KA|ggE~*%>2)=@;8M2 z6@ATu|HY>gNDI`zP~-##LXYB)MXREjgA2Dr5{w_$k6vn#z*ydaI}Y606O3ONNfL}T zk1vLd9Jq)y_+wFu7qRUnz2v$%F|@0j4pM7{nyC&oNg z+OP^hHu14Ev3CP~=0~AqU#6cBS;7!yf^@3LL z%^LJq?q2P>>ZcK66rDDJHsta7MKgglwI)nGE9Cwmfwg?DOsza~%%pe(kc&*21^1re zNN$U85vehV359wQM@gh+AOzbapk~7a2q%ve>V)+h0ztlcV(TJwU4tRnhe548$*peH zCPGmfa_DE{7UWdDe3Gjq)x3H8*e~$uv`&LQ?@f6B=79rCYFm4|m#61otsIYU?lRZ1 z&5s7Hu@e_rbt{f^DL>sR>eY*vms2Mm6u92A2$9_N%lp3D>H@yzb?$yTyqJOBjq{^l zz}rXHS}mf-hV8nx9O;V5o613XG_*-FR$sqiXE=8OkIqko%9E+kLZKqm#z7F}5!2$( zoZ)25MvyeJ<8z$ZS$?5RG@vLg^$rI=mZh2i<@Oy_&ET-jC9VcNT!7|%Qomr1O<%h~ z%^*zzB|eSJ&`sM>(**x~`^5Fh`@-c%cF)7vc?X{CnMcp@N5^dk?s4iluybz!6A@}$ znchc23n1AE^HHM5;Y>%dKy#p3ovaqH6F?{g-_L&XGh;~&^q(>l>qDjJ5OpW$<6Q{T z_v*?l0pu&5D*Q^EeDE|MR-~*^yzuWme;-}rAi|DQ15RlEF+#Tr7tx_<)g}mTc&Bz? z3n+0!z)=!gng%?XDt|p{lu_NHX;6Bx|Et1@dpk+YfI(6hxdBV+dXN7|6cF{$P(#2J z8A|HTuzgz>B|Cd|0!1qCbEEnVFN&(y&NMy9W>E#s zXR{{u_J0GVqDc3F6UEJ=m%@8s(QtvPflrC+lMZ(|#zq3BAjRvsKMrjf$skRcIWghE2ig2cm!ixedFgmYhlg1@X(ZarS)IYjEe&xo2i05p96GU3=Ggx#uzYK`0u z2PMl?)R3*i!{HMb*VfO?V(`lJICGt0BcC!A2CO(t>ol7KQIK317K#^QQIN#vuf-?~ z>K11!PA>0fxfvXWoOnLbH6;v*F(^|RG-%Cnq95u&l1JEI+4Nr!NA==Reei)oVG`w) zj`%JIe5npnWax54^j+ft<&gYK|Nq~9`mbOYa6o@`x3j%6f8F^1_RzrFN@)K)^xq+X z;^6NPcaT7I9hg{DHx1gP+U1kIy*(hm1iaEYSE0(m=4Ov!jYh>UPk{+z9Y=n-z)Ia< z>Wv$$)oSl&Z$WhUlJu+NV|qN~=z%Z2*@HU{#l^)s5=<>)IV)g3l8K?AAwW)cMi}+; z^wg$CBe4?@^8tYl5KFpOnJ)pDblsv6w<8K+I;WmsXN&i9+l9jmuI%#7?$+|f32w9B z)$O0%pf(OqAM=UrePWN4BhB&SYj*&3x^VO4NJk(S$(@{OV-F}2$H$`=txUMF zA^}f*`-%2V{?vlaj~x*<23I3UNkKG(C;k4o9KbeszvZP zszszuvU4gGQx6KIoXK8|Of)u`dsie>JTYTdI=UM^E|QUi(@ zld^*feU|OX8+XLlRQ(?Ulu>aobaBC#*d(yReL!aXRx&yk*%KHR5J9a;F|Yt%Y;1|9 z@f(4#lEfLls~cT@V1MM+)o64P8JX~$9)R_-6aDllsTwt!#|^cBvX4@{`%+S|cPX-Vpf7$bG zU+8x<$b71Hvwj;T;Cv%@gmzs;7HBY-ogiw_>fIYM0)6>+SY;*Xb8YU|7P7KPibchx z*;XQED>_DWcGdp>aT`obOz0y!u3sTIJ-xkijgPq;(8DVgcix|A^n4OoL1*|3#gX3+`YTiw+mU)h+iDz*t)H-xQ#0VVCaN( z&5+x^+enA-;h#1)ZqHX+RIV;9S=23}i*1*h06V0T2@koNm6eqeObRP3^v+*(q2>#O zUZ&va;dQ+DLQoo(cmr|tn6W)j*O)J(4U>Dv*NsnQO z6Jdk2rx{yr>ha8G(QK6^Zew*#9&(FYMsuZ-9q|a78ScKA+lgbw4gULFV96{OB6*{ zO{|9%k3yNVcP=G*dx(vlI})*8uz$N3I!R{1=BYMe%Qd)>b51fo;%LK@Spb%TOq0V7 z!FH}OPU!m_h6iN~1DV-ND8XQ}lT^GUk=%??Uhn(`J)ugQ^WwrniGb*-;lhbaFzTT3 zn>TNeq1}3cP9dON``6zCgm%!s?w!90z`r(}zg;(f-}YVGy}9}Ig<1Zimz|s2{| zOiZ-0w&o^6t#GCwHVTN2jutaw(gARYA3|hy4i2@owGQs?1W^*7-qqGj?0uBJy}bn> zdE~dT0k^1tj+&E`^Vz#|m=YWD&oh5+i zczc^r`mJEZ3;;O^F!0Vf04il?W`5StP%`HSOks5Nsb==qFB}{kpvMGAc}%lW0|Ej7 z=;9EZJVJGZb={>vPJAvpNWMBhzvt3gTvVi`tqm~Sfb?2IQj%5IBi5XX2vtx(Kut}J zgp{hFJHed9$l9)CM=3|RR8#)P9-lVcjqaP z>ZGa#sIys`%_;!pH~`iyunV1r_8WS5c!0s+`}_N0fJ&TQTkC9TDVruBBt#171w_@g zd^|kySm30F!$Y9_j;N+u}yshmSkg-B<0`hu!CU$ml^d6QCaRnYWEQ!!3{rQAw%%U;tMyLJ#{dJn! zjt+$+a8_Ud)ZEOh93D0{`o^0-%hNhI6H{3-JfShXUp-5O$5{-@H_%C)z~wt+ALh?r zUa~5{H@COAI5>wa(67KIm4PnI?Mt;AbcI)@(d6EsF<4q)w+uG_2o|1WwN6$0Vr3QC z)jK?lcpu>~9u5lNP?#2GBbB>2J&o2U!_94iLJ_{2j)@rPC%f;p=D_~!p}uKJ22ZQO zBj=i7c=xlI} zN6j<8Lp6s+PGncI=n4-OqM`rrK{?0Bgv~nMaNAs$$B51s*hY>_Q+_kj!9E7zy_=hP zf}sGbSfi_}YY`A=#_+p7J3D)<+d9~(3r&B%UWe-EkEbYe*3h(CI3jFs>1=nZ1F|%H zXR>KuC;cvPAy|j0E{F`KMwrAvTu8rAhix<%nstk&rK6*RV_<9yh3*T*2Ux9MP7V$w zCU5T#bSR&f$jG&zRL~6WWb!~1z4a60-Y*VZC zEpRh3V)(~=%xcl>tS*^e=THg#%5UIdY!g${RDqE@+*d#B@2Z-QLVhm*wNVdYi&)@ka@*0s{qZ7DSYEg zP0G4REK7Lq$OEp&?OB=x-hllR{!)K#fuoFct}~qzCXdv~Hq8oUMN^W(v+#ja2IZ^p zeqN%>5WNNs5BHm8VKdqC9NBF$bo)3wED@L~&%p$ku&{014d}CZGPmE{87mhTkDl3k zhu05xv06m+y`Mfe4l~POHgYcsXnnMOp1vI-Bo?&ns!5|n4eZ?jpe=>sBvAb?FQ9iV zQPz5jts)=cGXdu(+1;scZhVzpxt$oLsxsMSgQZ_0`VDEYH$9=D;)aZ7SAf=&Pj6K@ zQwv^!(kct%Pcx<1Kb>ynG%c zZci@q`yrRA#5OQ_;Hiyp3}Ro9SO`ejsrm!9*2T`OSBK|Kw!l{o*O2`#Usw=GqS@dk zuVzB8J*(C0XqBI&U;r5j1VY+AQygbw{owOd-Ne*c-_>SA(t-ja<2hz!ZTGqFdAc8J z&O7{{y>0)gQUX$k|Bx&F*9-k=J1(mREqC@k^$Ime0Ms5je2&eJeFK0=Zn1cuyDZBiBO~+j^B*4`h=_@S z9F?6QK41T8`eZ7dRk>@vN-ruZYGh=DTxT8j71$n330~R@(<>OBV%2}E`Soil?;SpGMxJF`eAlRf)GHK9Kva0~A36!}# zupAeDV6?@>MYnoB_bVD81u7{SoS(;?W=Q36>C9jTxZ35{Ltc3}tzhwSa` zn?l3F5UK|?I=%UY+tEn)KrY52qN2d`1ab`Km%*-`vga(fk73Zt(G5aD`IE;=7gluM zBpg2xLIkav{uoy`HI%1r^gAl$=N6=q7l(HDhLCdyaoa zphyCzBk7Y+Sb|xPkLIf`u3!K_17OeKHlQW3V*H_ac^}PUqy484BBl_K`kcUac9ivxDTD zc?q$mh~B)LDf+b??;r&}nKJD9HCevoqGl%h-kBCPm52{Q9G;hC<6IgLu#g+^rQ2m{ za}t#y=%r36iDEi3EgULrJ}@>kEcTt*Q@rdxRWedCxqR>~xu-M(x!>9dZ^zSbkIn*` z@LGCP6uWN!4S(2=v+h9o9nvezvrf29t@^1joSvQ@=*R6sQo?v9Q5x)fQ*aDCWvOuB$L5ia)RTHQ6QCF2C{CBKK*yM$cmDZ*ih6|E zQ2MuF=ZKvo{U^~_L_NwMDMIFWfU-uLr-Z_v4DTc1R}^sz^(I1~3;V~iJnX~6Lp1;z z)9d;KSAY|W8yeoE4H=c->2!|zh>x*}p>@;S=y0gv6WC2Dh#}}Jm{bg?L%C+}!#|5kiK@iwa}NsVEF99iD#8;?6rZKP%ib_i#kRXqd?com?XnfaVOmD%|8bI+ab$Vtb; z2ur<7D8P)8xHr*bNUjf9v~uAhD(J!b?#%PKLalcswJR1?Dui{+B!Lv=ko3ih!;%Tl z&1Up<5iM7V1}9<)mG3BPCU^dboS5w-I0Qny0=d;CU7H}e-0ayK+R!)%w%i)P;P-a2 zM`!oBJbr&DeB`7Lv}T{UB!sWp;EKm#KYM2vkGt{^s{lsWt}B?SAiV)}Q>z`hw*yS> zG}J*gRl?9YmJvt#MVchvqE(|qvt0O)5d}Ozc_kXBHa0Aucna9oXmAlj`+-RNL*5eC z9|c1o)Wu$QcaAl;J3sbL7+=~R1RnWxrmpL?rXLY6uBbbL_4xL#58!Z~Q2tIRWnxdE z7~m8gp0O|(xriyHDa2`$HhDSYq+&(B8QTB|!UR&*U61RJAtQ?hEj$ERDM&%@4(|>? zugd65hlm1Yr|gOqEpO+XNyhSkgk@1TS&mbkUPPT3TJ>c2UVv$-cc z?#1AAPIJ$$!{p}O+wCY5l6*Pr`2V!`)^AaDZQS?JJ#;q=CEeXA4FZDF(hUOAt#pHc zfV6aj(hU-dl+x1O(k0L0y6@w@-s5qptbv=zpHS!& zQ0UB^Onqp~-D&9l`2aNj`5-?rLkLms835U?3z1nTJ|^Rm}XdCoPtT`};~sVQ=ytfU16#i$~Dqz^r23tr z^FZ?c<%g<<2642!=O|18MIjtJDqmGqRjxow?efnbP;Uqg$E-v#cn`83$2bK$0s;cZ zv{doo&PIh;=`P(?B)4bxeeFo;!ag|6*DL{-7u#xO)?k8d2K+lOwcH=tLy9N z-W3H{_cf5>;iT*!O^^f;qEKO9J9KK(T?E9fVQ}iTaWF0_;?txC z^_kY1&z}XfhY(uXPCg)E{9@5>CJ7HgBEsfs1RS4LQ04cgE0AQuLdj%B2! zko*U&>V@c-Bh;Icer(B`RO+#kU`j|zQd3X>$Z+*m2@?6}*{iyK z)AiEIoZV->5QF!%&Du$@->zUk9uJ-viU45{SsCtHGB>l9h2cehT?2<(k_5dA)FkM4 z2-@yikW$6&RYa-p9(?vvlG3WItSst23EbJX>4@=QK;R8jAS;+rNG5knbwISOGU2#c zYDr)P%tUo0H4A@`yhie87&hoh1{sMgd2SGiqF+BOPWp;+`s{FAQvU5+NqP1@dFw1| z>sm4}p7|&Z;1PbVpw4clLW2Xq;CE&;v|uP0vd|WHcL*X`RiP)rXNoeeon(yT*1^5#fU9ii>`LYU|>=g}fJ)+Iv#| z2p-t#VcVJ{zN2Zd#uy!ChGqp~EV2$xk~6eH;O{L3>kG^7yagfA83z zs4^xSau7$#O+lUB%j5+~_BSs&*`c)9`yqY$yh}d;{T2;4%yFB(Q;YWCMwIZNlCUsR zAI9?&FEMji+2jstGALKu@ZH>Z)PzI~?7B63y$jPt(WBgt$pbm0QXMi(WH9~cv(c#} zkO7QldQZGfMf0NX`7z(gwI7b|ig`W*!5&tHxKQyfWVsFgB~y%nc{+aO(6t{2|HZBN zM?_HHf5DBpmf3#$hMzwULFjK5Z?;G=Zx(eg>8J~G9oOKeJ2;+<6dsnRF$xH?DRrb4 zH2pncJj@6RMFe?r%E;X5>%N^E5|=F=M(=!$dT;r~v_2l}%(re``$+t$3N^$6RxJad z%xyjB7=Pe-TVt|<_s0mzLrfMsU|x$;R=*=9806EWEmAVD=2|_CPdtBgS@&e!6Xib` z6Luoh9pU`gWFq)2bl(Fqvjn*ihujI{=aNf_KTZ)X!9I_?_n-HGSvr5r zf-eG+78Ju<;HDmNT6cuSe>eK)J)m#hyOtV_t65Wl5lOXPxeV$C{OPqA7{c(-gtIl` zM)Se{vyj_unxI~sJXCm>YxrsDs92lDTe)}=SH`6sZ0-#DH&`K1K-CzZH5&p9C%Rwe zn!cH2)uiOdotAkZZzqu9#@MPi<0;I|gLHf*5X|&qwgbK_1joVT4*4)wMiI*Wn)`s2- zT7|YIw*_rb`E=Rg&+WLAdD_}wKU(lefLmM=*+wtd-=7l%Y1~;p@d_i& zT4p!vzQi&!<;gI8>zd>ZsHc6nyBMT8l!W`MOg}NI+7B`>=jXx%=F-5x*NoIQ@zaj5 z>XQYJLHSQFX;jCgGm-6YTd!FdV2J&gG09v~%%h+zbLB^u*cDbBJH1l+NjVT9@2HzL zLv`RfxlNxy^GyC+K?IT?LPv8lZ z9tw!6by8-%1Sw5tntj7I1TG25So;crJghWXFk~abf47?4I&~Bv$8>mg7xg?;(<65` zH#A8`Ipez(A+OUH@(YK4xN{#snC%q}m7`&dKEtuYe&8|-o<&E+1g1ya5DXX;w>}Dq zr2pI2=^)oJ88Tzrdu{VWpD*)T9yB_XgOt_Nx6gf>ejnf7uM#pV`n3Oc7m@!G;)9TP zar`T<(y>y897zhy7P~Y>eF8v#hKx{nTRd61baZNrqpqJInx~0+N`U=98OdHZ0tQ-# zVE(#sn=U0_Xw?_1UE23}!>%lk4z=(jdm%B{7*t*Aat#e99MR!5dfh!e1IpO6A#c5q z?d@?Z7VuSzXabg1d2fRB1H*Gv!Xdt>1T^LaTtRwdlJdBT0y&km2|8 zzlWO0J6(bOt3sVD79!iS9BFG6h+DkPHK^JSg`4y$IUxjrb&+W#up{riEqF4-)KFTbfA!i=z=3dT9(!cNt$sG)YC-v1 zRmvu`gj?L1U+ZHB=oY{^poiP6-abRko;1M;Dm8($9?YL;vY+_ zLyv?VQ<1hAe~}riI;sF}O22~Sa9)Njx{ayAbu^42r-XBw3~16K&7L$5C9GAtjtVv@ z?HT&N_rF3dM3g*3D^P~q6ZVk}u#q5u%E}y_dL(9NFmMZMrWTb{`8|VKtzmrw3Y10G)%}1nuP|{uEN%TW3(` z_VMunwNZrCeGH92HnCIJwV#~WzwfCW1!F?G=Y5*I;>-@vajrLbvyB?w92qMreg*YG zp#B6kd{A4)nQ}W>mAALIr>4&7>yvx-Y!al+;uZFpgF-=SQ;{=8*6@p?r6s5#LRR22 zflQF-s=5g=j?V@dT}4NW3JGy>bEl@Jj$dzn`~T!O(JS8wn%s-|P;WAm$h~o>GPw^_ zrVfjhdYkc(BU$w0d&cd>0X`8?hsz2)&*iVmmtGAN;yx+K$*=#c58)hs;I|Jl%w698 zp7Ea)>n8+s{WdRdUf$Ds>mSQ>d%r3Xq86H55#p<=O*-L+0BSVRxwFi5k6YNBI}z~1 z|Kimi3pNAUk(8XmJXV3}aRU_&Gs8`wKT^b59g3@e_5-zqRQM-^8WkK8k_fid-QC^Q z)eseNmrdLmhJ?gKX(B#uZn!wPI3Nn_wwW|**a?DPSXj`}(Mgd1DCYgh<9zr`gSfrq zUb1wJJR`AO+VV4Sdl6)GSC|9(Un@<*30-h~@KosT3N_Wx9F2wEbb9nYU|8pEU#&be zmyZ4F-O}K56j|u-Cr=jyp;{smQ0EyK7%X-8N9&HP^o9qME&=r3fJ;!2m>IaPG>(7j zWrl=|H$n>_=uiqF8b-! zkT#PW#}4c;ljuWUY#$%8hbC~zs?&xxu*qa4M}wTHv?6uGwwaxzT6Rs~LjXu6l!LgBhb@7wrDzq&#KqhG$ttbaNufJNBwYF^)6S@|UQ zOHY6l<%@8+B3Z;6PDGh-qp)l`(FR#$;}GwR7L_q+0SAnF$Fi;O=G*0x46v6qfe^o@)*%6K{$hr$*YjdXQE8V&~HM!jZiTI`83k7cN_GI1TE3zou|C)qPV{$&osg2wDvGiO-2}9@Wm%glJCA&1tm%0+xw$ z=hjo85V~2$69-kDnVp4`l7_=O;OsZYjTHcA2YXti%|(~`fF<=oaBA27%SS)Gm0=!U z|9SYGPV@{h-|aT|e1{&?mJu-+_wTvYVq^Q;`v3^PGY_FWTo*P!sUixa4O57K6(o_5 zpC3eZd@lqtjS@j@OujIyi8N+Dd4F`?!UnN9?ntH09 zJrHhZ&8Wa!`s`{5$$tH7%ZvA4qjxs6(9a<9$JLq3awyev2s2$12d z{Byx`Uk59EFn?Ofw_B(v1R(0IZ?@%CiFIsh;z=88{H2?);5u#|&C*I1?`jk1=>f4YbK2LRZ zHW_l;Y1$mpx%FQB5yRv?+$ejj; z>jxW&GRgU*o0e9uk^ukA_nHqo+uNGDx^@L;8D(WpO8bmozMQl!%=CA1I!tx6FFF9? znK;(gr*VNoSEIjOZYJ2z;<3*X!y=VN22BIKAB;Qr?+-sHOyS`cmbO_P11qlWZJYbU z?d_5j9;N;wi8WxgSGIe1*Jfqi_=3R>6uZXM@Z6JOB8GbU`rAiGoNu-2*eOdv#+yNW zTQZgOT2r>H3dr+gzn1~Qm#mD8j&ADL>0iGSEQiu z4iUBd=Wrclv$m~mVSL=IR^Pb8FC#7OO+dithoJ2s@_OJqnU!UzrF8<_$(q4jIuH89 zQ#=d|jA2DgEUcY^dH})00*7c~)^#ll}!u!KzLfWw`ThuV9C!k-e9f z{@*h&r;3S-3)^?IEa<}Osw>QM0K!GlXJlk&Te?2_mI?`pi!aX3Hv3*y zttweL2+R)+MY<7Q6OuA9GTvbVI+@)>N|~P%os&(SLA0#|p;0K_c-PGJNq=1Lo9>m& zmA7P6REO4G&8Sl%%fEoP?ie2!0MuMzygZ$ajpt`O&*c4JQY08-X9t|MO-=mbygcPNJ#wk6*UP3!N7vRSRpkb~=g;Hg;$m|29Gsn1oSBJGfOl&bVWky}6+EZAydb|g zu_*wc%6>R-`&|scm0^#zh^Eln-ZaLWrBrObYcpN(jtNev8e!fmIN}@240EIChS^etjLAi(~ICx8Y(_v_61muvNGt8 z>+41SP+Olx&{JQ$c;cJjhJKI?DurrlYPJtGZw@&s5w%FDtKMcCV$^C&OKVAMB8J*9 z(9uQZ#)iaVk125E>)Y&L$jSKyhY;y`vcS{AN@ehrlxTEm7vYimn4(n*=5sV7B$+ehYt?1BVXAUu}6rN5O; zzxUsc4!r3JFg07t>`GFGG0W_Lb^1yU2^Ez(4DXkCRbVnrat3}KH~`MHk=Rg+di45^ z(zU680(BeY57 zrK8;3+VbvNcM|9G)AvLqz9qz}ZEY>b^a>2Lj`QMpcLEkupyq%pK1@-ozYp{kKq*NDSjz{#pxrX` zZK7mz{ZXaApG!+w?wNQsEuEa8Ml$_iwlL8h^R|S@{+^$w|8fo#tF-h0chcddSp+U0 zpbG-raa^IzC#FM-DB-(RwmQ>KfDG+KM$AOVVBH44jeSs#kxg*9mA#{v;F++%2Njx3C6Gl zwbVLaoYeT&E+UZlXS<&(hx2vCezG|O2y#QiDGoRtsH4p8K<+2AV^A>>|wIzz|ysT+y+NFPNL;uw}>nW>>y&`cUD^0I9%MPO1#h$6jOf@Fe9Y<;8Bxed3tqw zo6=3HP<-=ldw;jrE2kp5LgJBl)%?PK&kX8xpW~x`K#fXVrpH4>;Ga>#;pXGU$91M* zj!H*0&oym`h$KV1<+lnPa~OC3k@b2rW<0yhv}sa(dS_R{^S;$MI|UkDD1I)v3&O9@ zgL7=(WU4lRn!CWi+OSy$e~KMMX20Gi_NKTw}FF3!M7UsE655y5x6rX3HH+ zVw8?fwk?IuUcnX}MS@pl(kX#SY24-ohn>2o;v?d@KLhZJJ)%v-78j{<(#W@_#F0dA zMA5b}C^@4QN7WbKe*R?%Sr2wU`Sg}3obU<>K6d5!&&G(nyeg8Zq2EEa=rQZd=ZmPU zUV47~>IFtR?zb0?rahBsf5K|p+`hMBVKEOpK{MyhP|uOb9;0QUBzo$bAcxFs=)XOd zXQSon1_1d21vfH(;QP)|N?yvGGyVoy-1p*}_4oImJ&C&@8eiWOYcp=xtR&S~ik1=| zp$YY%O<)s}1-a?f7R7gC>{OT$UZTYbd8ZN4LZQ`Ee6oJr3``myVbdj75xA%mWE(r~ z0msYT9rpl!2ktq${nl_HwR*0v{M=0Du1~iLy zn|0hSW?@%CXAak#J#gbVtP#&~ksUee{y@_@+sQ%bx#wN?#hY8N`B;Ck>w8OW7o#*u zvn|Zh&1&K^zGWBX7~g~x-Hrn9xMQ{2Qhv+XqJ@|Q`DYX;1-Oyn?E$vL=zkZQUpqj? z;qk|$Qbd^ij}70HNFijtmcs;YvcIguP@95MysbW7iSX3$!mj3NiX$FwFP-rv`bU1t zsei*?8iq$VM5DsW;AUK@5Rb48J};u)s<~37KY#wlZ-kU6gzJe!o>=V)krMGoeEnrg z$UAf=h+T%RRkX%BeE+V36Maq$H#lGhccr-tFR~6ltCbld$1hq(X81o&P$uJmcIsabVHL`UDpOSSC`tnpB=-E)#%)r zipt;7(Bi6|0a6KPbm-^mLfeosoL$@>1_zlgmW8f6&97*y!mqNvSGakJ`(4#|m#V7# z&|8zbE6pXsU^jnGQ65Qnz*;RG95%a3Y>)Fr9zVvQWxXRYWsKIge8@>j_RJ%{p$iN8 zt6(hn`sRlWibGnQHG4MfuhtArBY_x3GO3s)FFXS#dH&_kT~flFB=XH2KF*T*+MEKl zcf-Z6SiI4}vjbCzKO~UqGMPNil9&QE(g^jPsL1I%_qUg;X1XMqf} zp)liFXx!uec|veoj0%p-CpEp>kp@@^p+sTu~f5244dcWq{>ECL0nN5~$}l z;LUh57T5N~9G7_afnQVNq51Cw?sY)i&ZYNgpO%S*kx!j4O6f4^UF%3~J2 zy!)b9W8Yxu{~n<+`ekKh^HO&+X3zJ| zl>NN%FXMjd4)x(-j@yIp4pPW_OR<`1&q`wM6jU8VXZS{Wp{3|}V|FnYe995=TQ62e z@K;i;VI(+`GwQ@S&pUoKDaKLYj+D-X{>)(NxP!-hYt2(W^1$H6kqu*pRluGaVRkR_7VOuw}vYe6sxPXy-3 zFRUDb>YqpM{a`+MH_7Zi_GO1e^p67{eO&gR?U^`wJZJzRZXa*m%%yC1fs;lq0Q1u%oYo*x%JqmY>FPm_@PA#5RN+QWwqyut(IaFtCQ zyl!+P+)T43^FqI<1Sl^G#j|gvnCj1FZj`&ABys?miX{`yMAJ}o+22&bVe#`^Gzz`0 z_uO0m>5B7_FQ;)UKQFvj9ssmZFD1hi@a?(3)CvIO*HHOc>F~4O_p6BR$Ra$*LN;#9 zCAK7rcX(CZev7BD^Da$Yn*Cxju{dG@hLM9j}f*xxDQ^9_ZiaTxjBoRw;ijWa9c z6=Jweh)S)^V(PB`1=hfJ$GCxOCZnGk^I9oZ#q*aTNZBR$dM9uvW@$pQyoC?3Pw-;3 z=m_tyKCux}2TDidQS_i%DDhk538k75&1zzpM@d5+b^rBeWpN~a1JJ{JrB?VLGwA1OlL z-1W)5CRP`Q;Z~ynF0WqL;L36kqkQCUYNmoVQNH@z1)aT4D*_*rYr{fkU?*a^28-Nx zysqEI&y{o(g*zs^vkpCvJF0D@?LJlG+Q#ec&$6$K(=8{?l^pT8c@q0U8dIus(au2_ zd^-KG{sJp1IVqaMiOc+pOIEP>}tb5zMVHGeOg*HzQ)QKZVGpkHZBYuDwMSnV7N4QbnlGiWqhjMyH%D=aN3$-qEsJ}dFlBq zBi+ifi__YCJx%|7N{3UgDPeLhNPc3xW9+H_c+oHx0WIOnS4g>vbPxyF&N!FhQ%z+? zly0Jcf^@-Y1b6t3h=dX(?u^{7eELXo#NsR)wgK#$p9gAiNU9NkFjdK1LPr>zV7na( z&^jTzX~B@5r#&}?no*mfc-uXjk?#~)G2Gn$dKRQ2G!z6H5ih)G(yeQb?w(|@hR2Cg z=)&6PP+N3WIsvPKPyP1<3l#jT4N~t}Of?hq5w$NT@k-({!WfYCVR2V@X%6g99(m(} zK|nI^HHw0HjMVpZGq!U!hphn?*OEraSNz_ zw_t4kjMa>t*+J*GtN?b8kIL%;mB;6@_^+Zc(fn9;vo8Ec<08q?0-f7z(KjX3zfXQg zjm-<+sb0`9tW>B1W1Y)s-Dk%&5v(vFO+QLg71@W@n49hz$=1angZ}Qc!2;P0`(?!1 zo%-Q1hVh~ud6#EQ-|{A$C|!R+6oDV33DJYAgrQfXp}FzRP=dN zm`a|;uyP^lSoA1*(?w`{GeoP1e2yym@bNS9NG`>y>Pl&%uIbgLeOCm&;vl>xkG$V0 zTGz>(lq4ozc~zG{4v%4%VvTJIQ_O}gchPS+a}LI2YVvqX_C0%B{jxT4(3il9WB5Vq z>C>m6y>b2=G#+0WW{E(h_V@zJL>87E$%_M;!Xd7pHJ5L}`l$4UB2z`tu}IK{ZjKS7 z5K1xkIVT@d9lV#NFg&6s%pXPGDr%Ly^g5>rSym5DJHRQBt=)sN?v9!7g$9?)dc3fa zzz!T}J-DEf2nfdl*ubO2?onX}koo`q;?{rv0HzI~2><;C_|y3XWY@q;T->Ns=SAf& z0H01xO$`q#yLbwNtph-jWzq)xh=u_8ks-$9p{>(#8@{xW%Bm{hy35%BW_$U^p)7P#Y=D9aikIRUmA8%rn$=Wt96z!C7%LfWNk8bB~) zgz>mntNLaTaD&v-b-M+qfy3~!tIK|tbv}nothoD_h+kd>8*qM3Yrl1HJ^9{~d{J;) z{gDIn?EI~XGg3~Ve|pZyf;W|23*Fv|amR6xq}p7Ti=y-VPMAUUB?G_DX^+&(?#4n< zwC@S|%kjN}(5 cyP$Z;C)^{Y_802x;BG>m%B#y&$(V-xAGUcNA^-pY diff --git a/tests/plot/marks/test.typ b/tests/plot/marks/test.typ index aa584f0..b6677d4 100644 --- a/tests/plot/marks/test.typ +++ b/tests/plot/marks/test.typ @@ -24,3 +24,11 @@ } ) }) + +#test-case({ + import cetz-plot: plot + + plot.plot(size: (5,5), x-min: 1, y-min: 1, x-max: 9, y-max: 9, { + plot.add(domain: (0, 10), samples: 11, x => x, mark: "square") + }) +}) From 3913fb2551f39832aeadf7d5de9fe3c54aec3da9 Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Thu, 31 Oct 2024 23:45:00 +0100 Subject: [PATCH 2/3] plot: Fix mark axis transformations --- src/plot.typ | 7 ------- tests/plot/marks/test.typ | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/plot.typ b/src/plot.typ index 0de9168..cd879d2 100644 --- a/src/plot.typ +++ b/src/plot.typ @@ -451,13 +451,6 @@ if "mark" in d and d.mark != none { draw.scope({ - if y.horizontal { - draw.set-ctx(ctx => { - ctx.transform = matrix.swap-cols(ctx.transform, 0, 1) - return ctx - }) - } - draw.set-style(..d.style, ..d.mark-style) mark.draw-mark(d.data, (x, y), d.mark, d.mark-size, size) }) diff --git a/tests/plot/marks/test.typ b/tests/plot/marks/test.typ index b6677d4..489d4ba 100644 --- a/tests/plot/marks/test.typ +++ b/tests/plot/marks/test.typ @@ -32,3 +32,17 @@ plot.add(domain: (0, 10), samples: 11, x => x, mark: "square") }) }) + +#test-case({ + import cetz-plot: plot + plot.plot(size: (5,6), { + plot.add(domain: (20, 30), x=>x, mark: "x", axes:("y", "x")) + }) +}) + +#test-case({ + import cetz-plot: plot + plot.plot(size: (5,6), y-horizontal: true, x-horizontal: false, { + plot.add(domain: (20, 30), x=>x, mark: "x") + }) +}) From 0473652b2f6e17b7dbb95824770f5a139e8f411d Mon Sep 17 00:00:00 2001 From: Johannes Wolf Date: Thu, 31 Oct 2024 23:51:42 +0100 Subject: [PATCH 3/3] tests: Add ref image --- tests/plot/marks/ref/1.png | Bin 41532 -> 83117 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/plot/marks/ref/1.png b/tests/plot/marks/ref/1.png index 45732edf4f08652c817f16704e4b5d32b5b714ee..9cba8f8c9f6adfce4b2505237e84c5aca8353ea8 100644 GIT binary patch delta 42370 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 S#Jb}9aB6Glt5>Vqq5cOger=Wj delta 458 zcmZ46$-3tV(*!Yo7A_7Z1_lPrym!?M42zgIs^%`JUwqd}3@FAR@g(22$JSMF1vA3} zJ_d$Y3=9xfgB6T}U;!0CIS3X)HG%~<1h;YZsMb(y9;wFF)7QHg&eO#RRY>q1&=CxF UE$8<>e;pJ#p00i_>zopr03`TrQ~&?~