From 217b11f75f807a8150bfc1c2a5f0a0ad8f0ac056 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 09:05:33 +0000 Subject: [PATCH] vendor: update rtichoke_viz to v0.23.2 Update vendored renderer assets, schemas, archive, and provenance to v0.23.2 release (commit af70152c884b351ed7c407047a92cad5c1bd7007). Co-authored-by: uriahf <11351434+uriahf@users.noreply.github.com> --- .github/workflows/python-package.yml | 3 +- .../_vendor/rtichoke_viz/VENDORED_FROM | 8 +- .../rtichoke_viz/rtichoke-viz-0.23.0.tar.gz | Bin 193611 -> 0 bytes .../rtichoke_viz/rtichoke-viz-0.23.2.tar.gz | Bin 0 -> 204333 bytes .../rtichoke-viz-report.schema.json | 5572 ++++++++++++----- .../rtichoke_viz/rtichoke-viz-v2.schema.json | 220 + .../_vendor/rtichoke_viz/rtichoke-viz.css | 100 + .../_vendor/rtichoke_viz/rtichoke-viz.js | 19 +- tests/test_rtichoke_viz_vendor.py | 19 +- 9 files changed, 4194 insertions(+), 1747 deletions(-) delete mode 100644 src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.0.tar.gz create mode 100644 src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.2.tar.gz diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 740e177d..1a578548 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -52,7 +52,7 @@ jobs: prefix = "rtichoke/_vendor/rtichoke_viz/" required = { f"{prefix}VENDORED_FROM", - f"{prefix}rtichoke-viz-0.23.0.tar.gz", + f"{prefix}rtichoke-viz-0.23.2.tar.gz", f"{prefix}rtichoke-viz.js", f"{prefix}rtichoke-viz.css", f"{prefix}rtichoke-viz.schema.json", @@ -60,6 +60,7 @@ jobs: f"{prefix}rtichoke-viz-report.schema.json", } assert required <= names + assert f"{prefix}rtichoke-viz-0.23.0.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.22.3.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.22.2.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.22.1.tar.gz" not in names diff --git a/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM b/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM index 070d66b1..3972b40c 100644 --- a/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM +++ b/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM @@ -1,5 +1,5 @@ repository=https://github.com/uriahf/rtichoke_viz -release=v0.23.0 -source_commit=7cbdf940f5375b771e741191b875b07cd6935fe3 -archive=rtichoke-viz-0.23.0.tar.gz -sha256=55bc510522f3efeb62faaec24fe6a6476169ee05002be8f24cb812c99031384a +release=v0.23.2 +source_commit=af70152c884b351ed7c407047a92cad5c1bd7007 +archive=rtichoke-viz-0.23.2.tar.gz +sha256=63981f4e4f78b38e6442b663052c17592d3355312ba16fb370321d25af456bfe diff --git a/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.0.tar.gz b/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.0.tar.gz deleted file mode 100644 index d0c077b99e9ee05fb97cc83d7626ad9e6004909b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193611 zcmc$`Ra718y0weDySux)6Wrb1-Q6|8ArRc%6Wrb1-Q5WqB*+gm0|UoQxwpn(4TfS$kl1gvq?0>R~UJ*YH$-`+X3#@e*WF5OEFr_ zaoDA^Sv7HM(US{v;6|!Sjn>TVw{8N(I1#&w zTyJsRTIc5Bdpf>4?t8D%jkSEbn`?V9&>nri>5BWAz5crYxEJ@+-}^>TVyJ%oHK(Jk z5xI<}g37(Oqr=X1VE{$l_g&&4!25AKqoix~G{kRPLEx$R?RUVl)yeOi%ys^!oDNbQ zD7J67Z?B9}SS>*T3ck+)vLOS#F+cryvc?Z{0({xJe$SM6Q0Dl1%L=?cK0e;=jab|r z&6LcoQ04@&^XjSYCc&0O>o4miJfop>J;(q-fhHN2rr8*HZuAo$v) zZZB!B1^cE-bgO$+S?LTT{w(*j%yJb$C{eJ#GX{6Z0+$?WEK36O@{?!#h8AHu&N%$| zdM9B%fi0K{LGRr+sl!`C{5wK^E;f**$ZMAyu5>?jgMRZ{Un<@5?Vhx6CX;J*RB5Xe zD7ND3XSq#v|4p>*O4STMT%J7fu+NM#NH(3;2rjQype>)gn!+W}CxUVx<7tS|Q>1Gu zHIC%aG_FQ=lsbKByDJ%wWjM9Dvww$w-`{QBY~w2nnPUrnR)RuHKa{IMow7MEY$5HK z^t=d{YEy5DRasD_Oo?sURgGDtl^`>nYj4{!G##Ipj;x1rD!En(>g1?rwCjT(=@li>`6LI zW+CR3d?f&;$NL5A-9O#4Aq%@AN*=R4<&ggMYm)qO zkdX^4%5u5Pib^R7&2jeHRFR`$<8qkVRApg|#102DX5zHO_{TZ>W2pPsz|mD?bWvis zdZ4bX5L(5d#0JO{@5l}t4wc1m(+(hZHm%<GwR$b#-BYTyEn9*JDT?^KK8Z%Q-v*v(&E8mv#KLA7|U#R5_#Zma@B7ME<2fP|9t z$&q-ZLm=P+X=#Ft>#I?)G`c6#ZZraFf8=-ce!YZS(gHac&8-Q`l0oZEmwH~hZYi_0 zhxSwCm85;;pu!2Xu~{Blh=6l`0sbMz#fm33C#2v~I?yBgs2-gDHa-p>;=-5;G>NX` zGOPH#LR-ZShgRNbe%q!&0^Z+6XMWqmIkErNMXW8OFhCT((_9!qxiSW?Fn>dCm#DO7 ziDpV7V&p zrJx*No5r2!tLT*C8w!rtjIZ%+kTix@_7uZ4if`J;)?877ZR>ooNA4 zIg1?}tYUIC{T#dF#{t#6_2+pU)rxDsxwS#7Sw2)Y)`jB(6C<~i*6S%kRx5ogb$jCN z?QuOML1h*q2a03E*g)rQLA~2d@&5Kq`p-T6Y0cTV261~)@t-h*O454*MT4DMtF>d^P}sV5VIK|Hh+=tq$S^&v^?yO71^W-%T!w%*C?u7N^pJ#pVKQW+r7IG zA{x3N^Fbc5o1bfv)o^0UsaTA~x{ceAaXWjVl8YNkFC8Y4b`9G9GD0<%P)P@U0K9BV z(gU+)$B{{7zN1TS7yE6^)_MHKw$n;9Mg0ICm&Xk6mPnWDO;rLNNVNh~^~8}MSyhHj z8)K#b~Fv~d2}U2pu)wl=uGzNCze1;tGh zzCiJNAUM?=&mpC#7P^%%r){K8sH!|<03XjF`Ju#7_EWle9M5UsoGjm)py=2BroX#b zZh>3Jp5b*TpN1d$u4b^|CX!hDgj_o&!Oq&0ZztP;C#pbQ|y{XS6c6W<|BRew; z$&TlP+4)W37u5%4P9~X5x@Hfs9q~*VF0qchdl)rP=Gsf>9FcIte%=LGC!2?X#B<0I z)GIXc4wVbzE9I>fO91X>*O@R@UNWVFK=TGCzL7)4%S=*i*vx7{e8!lA-fvIkG)NanOyeU0HnYeW zE-`e))7-VG<-v5ts__G+KXtTZB@fBS-s*9AL^?=wYu&*LEPe{R@egdWXWX-?6NpbO z(qOfrm~1W94;`;iK$+a>(B3D6s5Z1o;Q=nSLEk4FSREFmSv9(|&AMdvZp46!&W@R> zWA^?vr~^3G_l(8g)=~5Yt4frLzTX{p{CORgBG6@EF_Vqyy$Hv1ep@3Yd-UvsI-dUG zuR3x*AE1%XBZ34#X^w#XaTWaO^TzYAVEJkugh2`5tWA&*ynywUQb^aedT9@5WgO1S zujJwEBD!qyNX! zMIt4Dvz9?ZGT_=Y)5Xv0pm2t_DfTfdRCX%fxcY1KS22Uhsrj5W=UWpd8RD^z< zR#uH<&%o-$id4BvRtY!YY;jUdTRj_3uo{J=StrSx6{Ml^!eCpV)lS&5&PCru$ilRr zd0vvKZXi}#`0Th6*i$uLK$K&yFecsdUU6uZ>t>1fkQqx!HLTJ}`XZ0Fq8@+wvRCKdFgt14 zt49<7`!!bmS}2Lz5$5FVSs!(e+g4+IsdT0{rm{CES$vA!bYC61849*a0&XV}58R?) zi$<#Fz<|YqkNov(70A<|_Jl~f*8qnVf}1HDo_kOzevi}^bh!)VkZUq9RVzMf>~=0r zq+EiMegW{*UA3m)tvc41_n+#j+ricNpP~Z<<=Pw3LWy{#pqR_XI!i+0NI(exwm`rP zb9S`#k%M+X1L?o$#C4Pejd3nSj#9QBPcjZBZ{8+ zUO6v;puBKN;RLv}L@ho5U_jnWEkDoPy0#7-dubCfc>|u>zGE+dlFr=1otfOV|4Jq? z&P2$oM_RLEYWvF>q`r%z{ogeNa<^M>st;RAx(?gyafDgb{-A3XA!*Y3gBb5ZmqnUZX)&CQSYT@T`IaCBuAJ0pq=@X=Ni# zLVENIdO3RZbox2Xz7S5w=(&Xaygr!XXW{a?;%--m_J2Qu^spoQe?Nf2tST}30vPHk z)wu63HO|E~^k8_IEwH;1(h&O-VEE(6iU^M-HraDuQYjB=U??X0@7Eu_@eD%ATA}!= z$eNhsnEnP2;^Rp)yaQ6-#=J&4Np+*!Jg4_UIRcMSzJs_<*Fh};<$xmN`2|{6qa!!wd19{v63Gl1Qg3G^%!-_nus(K|# zY9~;+W6D<=^)4#jc7Nl0vaJ6m%ET$+7g9inGO!aFodRqj1hXPTE0jiU*>FEH7;-<- z;(`h>)>pihsz595qtaQ`xvdj8SCYVRl3;f!|5@;F*-yLUJV$;GAOE8q*1Gf9 za9Z(O&Qh5}P{jSI)cjDTKBg?$rpTKI;>=x{UFXZCkuv7Q;6uzCP{YsDLtA>O)3V&^3XN9aE>_MkOK)L} zNf#7xnzwA_^y^Zk}mm3YgfN#C$;52COFExrN{ zaS8<5dJd^hX=BNX(&~=H{PxOry{g<_^O2?s84TEPeTRh}fo`iTazP6N`uAawxJ`7N z(AcZr5L6z98z}HwdMVsX7t=FZI*Xh5K`2UR^KmDF!}hFo^Fo>lEhMtx*V{s{g*lvb z5WYkx^NU&8?T?!?nEZ@Qfw141H2si$PsZ`G|E=tcn*A;NOa$Sh0NF1^0o?$|zT$`M zm;Q(Bi<)iSGo$bRXE?9%{b9}4kbvfuI_vcK|wQT9g|{w@3F z761Rs{y(V0oOt-n`~U+4VR9W@W~s2(fD_e~NkWKwJEz)9p42!ysf|6A3w6n5@65>; z`Rg&sl`D!q2=@j>K9ERVoyg~0RfVu6O{j?_P=@@(pVCrItm)h}1@TSN#1;!2w`$a9 zZiP{Ku@&(nGCmYdkgoe^mqJuS7ll5^CwB9w&41ztZAr57k#yL6FpcpS6k(zhBbKkO zWW+Ke&L7~Z>J>Z*cj=?ctSFqQan6v7)yhr>AjtK8Jj8M5Q6;N@NwEq}k-YDoOp$)X zQuvr8ho)}4P%T+qwH|D0H9wU+{so?`Gs69lI;nv455H1=vIBDKAjMT0 zem3HTRhg{q&lyy54qk8$3VI(1tmg@OmdHMj4gK#~jve)>y8BloW91Y^9e4p-0^h)= zMb>HHSwUlG@Gk^4Rhq##O9r3IeD}2zV|DjXcvWpCCUkdZ*9d@7Rjp=X%zJvB*sBwS zU*hUWrywq~dn$=CnwcT`Kb2+Y*K;_Vv!>K|49SF~I6APXp?`57M?F-_VLyS2Y7xg! zImXkHRTIWg0T`azhblS>G8Yt-fK_<>yiH_9E#Bar{D<7uY~!El6W%y@2z_EU=x~c) zdh~5pO`0uHLz&krzC8~Mm#=P+ApkCIfVqh?w%aE}zhKg>mw&)w(1ryIj~aBG!D8^< zs{$M|@`JIB)}4A9Oy!g14$- zen6A}Em4dQA%ZNkio@}}2!83a_uD5_yHE`IJ_k74Ae0LMn0S=-YInwwqo;cpb@O8>odGR)sg0}RpJ zhx-xwGxD%3TlS=_SH)VCkP-8dQIQEVA7fj*+J?v5b1k$y{t;Z}AAed&O{D3zxM(_c z97ZpZr_Nirn5zv4#i++@el>?_xoKtMjD)ZiGD|T5Z>dtZ(sjpS~!3V<1JKr;) zc~VJp@van>_)3tO6{I(DWHTeqTCVT8I-#Uokv(~^8G|zIQI&x5PPFp=7j|b=s<4VO zY8UKMh-~P>)CYORZvOVKfd{Qcva*Hru201mLg}Qy!mts`nS@Vt&{ZFUjuM#nWZX&U zI>+j-97Cga9Ngvtlx-pbD3gEjhLu{e3wHXX7ac>i~E&3S8~@ z!JAKgE5Gpm@P==!T!dl*M$vq<*KVJV0b!ByXi^S~4splNM4$@mLhh;2+bdyd`_8IR zhQ;mZ()E#)zIw@NxUtbF&au#>uU(fEeei zDky2=a@VDeEw}9z?T9wxrj^5d;ys0OxtL0K4IR)WjiPpqr7JEcilRn0WnTHMj)D4> z8#+SpB0N^{Csb)Aeox?pkD{JJjmLyJKm1fUa7F`6xJK5)yG;2@wJCf(+6%k9_dSU*;N2te4{J5UFsogqoX z)@%$a2s{KsZ|l~uQ^L!(ltKVz7XTjI@Bjz`lbxgVuKqF2C=F7f8WxTZnXi|C?{pV_ zGinmJi7R&pj6Y5QXSInGLjVYx-*#w6x4wcuD}doCCn8)JpZ=OUs1)y)+O#a(Z5fno)|vW;RDz=%V;rgv)I z%1)1~7No?5Efk#%3I>c9dKGE4gawAMdh~o1uDDwIcebJ|QiuO%sybi;4ZI5DG*&;` zH&C8sx23q49gn~d+n0rjNL#Ity#9?-u`0J+Sb02**&i*d*O)vwr{-BkQg9&<_q8yK zYq7hD_eAB+7dc4}uQ9_`gu4Ltd(}_(`lmZ&ZD<|OD7!+-=?Rnu_Wo|;7xf=&_6$e^ z>5&Py^ldzLS%`O@VvJc_6vP=b1@HT~Gg+8J9s&VRyIPzsAazU1T<^im|RQ zF3EVL)IltPliBQDu%R^8%!*Cc#K^&?4%^v0_S~5%>S1dt6tj}Ok~x6SH&$pY$vqC@ zo>2Iqa#@r4o0$1LyOvs6RYaOeiZoY|LQ5hHt@ZeBX))gp2a-qbF}ZJlH9GbK>6-5a zzPIm&h}h@K-Gs+V*NhciX^ha_h_8a(=!`iH$Lq~AHj5K;e7a(gPjBODc96=JkP8D& za+d?=L~tWoK>2i?n-i;7iE$5hwpy&5({F$RK$T~c)Jk2DI~lyU{4hMFhyj;|6fU@# zb|l`mZxxTDl?af)00mRNi`8G@GSfS-dIHG9yjdQ&TnURFD(gmtUX5UFA%9tqt0vrE zNR$_734Xs|W|3M*p+2w;I_-t<4|Wr9+fraQ;m~u(5r9`A3HExP_t#sXLk?DG9mY%0 z3p%K`IE=F`U2}gZ0(an?e3jj3;l+QGj5>3}tF5wICe>$PgcJ}7xFWq<=lV8Sfc-9s4Q{zU2NqAYUQ9HePvHY)TGlNfq5eszycr_>c5ep1#-uZyj6y^vly z(j=Z936~4-uB<4?hDxsq{Ys^Q1Mg}A9bG!i-=WF1Q*qhM0|bJCJtVRo83IaXuEkM% z$qnl8pq%iFByf^Q$bGyjn#Q1PI$?m=X}5;((Hm#2`mtB@m+)Lln9uet0+f1+xagei zHwB4_@DR9hM7VqlEFp)nAnQQk+h~wOY=|*ds3Z#lvMDwp0wyj3GA05ds%$SIz7RuC z43d$c;B9QM?z*5__Y8S(|BE3zveL`}+!Ry#p*8n(w`uceXfuw;6Z86j(>;k6HR}e} z7PUIFl0LTl=Cx^*0X;MiTH@U13Jt||F{h@MbLI7ct6q0zz^`<6NEH3%UwZiJ4X73V zo29Uv(oW^>7=#?@`tf16nV|`z5yq@R#@{auT3{Bcy&49!-TT@wtO|}&K8A0wpQD#! z&_hPg1**@H7~E+ggQx2`?JmO`)t5iVY)&l3w6`jm3Mo&BGtYjzHyWmzUk#7Tmfs%D z7~ljVCUooN-vko}g#)cq%DkJR$o+wq0e75B*y=Ranb5j}(;&)j9cH!Oo?&9KaYVF( z)f9|H1V(x_2&yXx2HVywCpNY%*Kq}m6RLJT1e9ll)@1&^I1F5>S!dB?(7aek+EUq% zu%PY2>Q#ByC?WZanq12pgAPxFGzFvIKLg)Om6KX1m5%?ukwtWsk3#w$t*9Y^HKQfE zgIC`=?`TI>RgGvh+z-Q&;r}==uQFh}IG9lC2<70(1%JH2(}nNo9QW<~1n{r*eoeCc zO}U$~?RM^W&K7jp@Kk)6J5N#QvN8sh9Xp^Nkm~5$AyL0aI8C@genzAuET0C4t`kn- zWVD))KvFM?BPh=R#(MEG;XP@pcX6nd(3>rtx%JrsF*40;rEp*?m`Z?3=W(V@Z-`q)W?bTiP^-Jd0%U%V90*kT6#M6?IQgHl_bo<3#8mk|_+|ss8Uj8Q=QKtrehf z7*HS6e1Llf%p!4o`<_dC92~fZ*?_R*yR`&U%rNZVjI()cX^^Go^@`ReaE?{S8di+MqL&(DA?K z&3)Lz=&ZYuKbv1lT1agQC1ljpvFukD@)+p+DPU#_pDzwG73I%+ZO(iM?F6Di)i*IV zjd9a(Toc9Y;F*80b)la(W}tkkDK-Z38zWHAIRfR^pOK*~UL*QHN>=M1$--+_C1?9v zvi5BOl6CX9WKDfY*1WmmH*8J456RN~BU$=O6TbnHb?6U}to;ChWLdkFhFMiSn@Q?_ zNY*eiK(chVwU}MT0}rA;BrDD6I25F7?JvoC`j=!Gd`MQ2?nd^9WR?AYN>&rH8`0h$ z$@=yoS$t=!7<0jHC;rB|%1`sspy8%gQ{n3g?Z@0woSE2uAG@Gv^VZbPfr*W$-LxeT z+Xc2DoIDkW!p)8^Ws_1+$M(99Q}j^ zaP0U&?~-7f8{@N}cOAtB$B3Lw9+Z1#@<5VSdW3!>neu7oWb$$v{ot!Ph zH#XS5UYehHlhJ+>UHM_87#HC-uOQ62t%w36QxIg|9fXYDS%L{m>AQe00VOm~vKJVk z;}j4G#xW+o$gi<;q0c?54>pYrCYjgrP3eFZou`(IOrFoZ-41@Ty3lwrnU>4&+el3kM`jk_8gk6vXJN9S=HQBcaB(Tw@FeU6h8G?j_Dd2e{zB6VI=U3MLJo@CO|Hh6laO);+~6p+z2Z}0=XBoCcYh66n~5nD_ZIFU*%7b4*= zHd_luYP>b4M=`Cg1vCSS>dt=+fbC}eexHbQU!Ga+HZD*>DA+^wtrCHi!Sa%`)K_g} z#%1FXG=wdwSqQ{bieJ>%9x6|8y^NdrDX7Cha``N`)`;NY*le7H<}7?sDshWf5@0Q8 zh<0$L30GK`v9UAxA<#H5JS*%}BdC%e;$DUacZ6Y@V%pvs-Rb(g*r6a@Nh$FR9tJ(^ zy)DwBOz>Wv^`?MkyYP)w?eT4Izcx$xAm?k;)*2=z5O4}dor$%s;SB%y8HDGIz*PmD z;*q&HBc!ILQaY;@3K)SCnyePi7rr^-M{%SPukLUGpGfvL0Z02Y-ox=yR?VN56$tq6 z3n|iT_j1c2*z8G7GU{4h-(`Om2|AOYo4iuNC-$CgE#tGk6M$~2-gvQX3u7F5zHqT(fMA40+O}A1l~vaTq>lo|9Z(zWCH`Mr{HjuUtR$2owC*m#X8Skd7M8L|Nj_R-cehhny~+DjhMBXoLqwpjFmdVRiMh0LH{slJBt;sdSKlbh@BQ=Hddzr`axVsP&7d9=M7 zev4`M`i#95`j!k^muNqHsr*&x?IHPHrOij47O@i;R>8Lfp^Dp$Sak%?+W2fW^fL^Q z6+iFrWkUFJaci*KmSvTV%qh@dI!FG730%YLIf08>#^fclTEoIQfr=UK_@z?Vsya_# zOZkN9L+RbRnY9kX}o?1Q*%Ja8lWo0M1a} zN>Do%ui;h8gu-nh23V!kUHJvm85N5pPIVRFA@`1=}s-aClW0%wrIBOonpww z&`srN>*rq;a3Z#L_Ngy#;3Xe+IzVAX3!D#Y_}~iz0)&4;QCk7_Xj71$>dC&O5T;5i z7fM|el^$Ng=0GAttkBPVDNKo6ubRRrQKmM@*%9OuJ-m}$BtuLw9s!iSDB|gB>IIc+ zHue0ZH}ZJ7$Q!1iYdKlyFLjTNf?1mf2ru>xp0-bICwi;hKh>i?cl>O$!q@22(OIG@ z&py>HXdd9_l)!XqkCqpFVfw3MiZ?lY@OgK!`*X@=24ca2@lNQH2g=WtKEZ<33Y0X+ zS1Rzvl=@8>?Vm*wjm3put6+tC@;4toakoTy$PCPvwKPuJ-|pjia45*LunyUAy4aem z?7VRKMIU^Ta!5Bap2bCQiI;NNm)nJ4yj&b(sD!iALv$9YSfAcS=VVRuIhmudEIxfg zZU6Occk_0X#|V@2h&l-lX_t1tvRCLE8?HMBN+{%GhZP0e=OX5%Yl6Ld*thz~3A8=u z-ePEnk`vXzHPb|L!msLVM2>VsG1HjwLhFZ*S_`A4)u=+zBtoI6NWg9d8J50=L;^fc za*a93UX}!n&2!Za@fY<;V#pXXI88bOn{1B({-`;YAhvYf(Tvo2)UQRai$~<0}dZ;79X0Qi=A%TH|egf_j5a_^U z(zdo;@F~1`l9Q$5bjsMo*yAw?Zef@G`Y3{Se?4yYDyL5WJD=MfUz$~dGwE{#a20X8 zE#vOI2?x)(xJ8jl8}2s}8}&WNUwDLosccw~tu~CiFYIls_EJ>2Y3X*S5gxR`E!_+a zzx7Tf2C+Qmz~F;iZ^ney)WEllTJn=ZdE}Z7ZJG!nWjg}qw|Sk3;W!$g#MUX*?dP~e zsOT#60BMo~1i^+V>rWh2{R}w7?+vkSb|FgeDvMD)XzD?Om8oDs5}6nZ#siZ%WhnF3 zM^8K(ioL`bRJZGQzxQR0OEm4R)?h!>qDp6L`WG9Ab&=f{HPzLSS)%T^%+h;h37qd) zOZYGHNps#raC|wafL5;2r8^g5Y&P=k+Z-|gE+n|i*m;8v|hsrQb^Gq^k#p%4&n7lf*rI0M?Ah+1VsZ@lS zkUPCb4DG3!a^*1*3uM!&npIHwAt62e*3i)iu@I;gZVqICV?Lza{npkKOf~5+6o8L= zq<{rdqQ;u5qQ|>q(SIBdL(rTR5IIAbhQH&+yj}uSPKbC|rXEs(a4UvX4uu zSnF6E*eFIXQVD0EXUmOF(0u-7T4)m|wiQ-F?q*hJT|24PA$Fr}VgT=fTQ9so`%NeM zN7d??xS!h?g^~}vxKd43@uYoS6NiEO_Gt#sqCv%=x|)7PD(x*fKRm`*cS&uRh@&1j zbeB<|ZI``K5#~3f@9I3egf&Hk>_No~>jkOMcl%eR)W1u>9QhHCi*Tz_wPG@sqqKw` z7!+2C-HE(&_PlUrO(Yz;Dj?e#*j3@}^)BN=tFz5dPT#&&ENrK9DpqzqWjuNJ)XT)6 zJ4mY6uMckcHe4<83dvF;xx;%~7hj5~xYc=>#ihdvSix)mqVDCfOfxT62!+Dk*;sJ&M9(n;+W=3IVti_V&i%L{BaENLR3=!Y3h-4irvOol$0F_JdAgy-RWE&-1&lg+@~4+y7E zc)uWimm$_V3`l{ipmy#;!P@s{2XDzCD7XmaxMy< zP82FuHy3CuS^UMoZ`Y^t+gjRt(Dk$?p{dNnrZ~06KUPuEDyyErHou`WsXw?YMXTEd zqmBpEgT&wWV2d!>ILzXJGxjCx+$9D3(ufYJlO8&R9K_{Y0WEBTw$$NgXA;@haySE@ z16qUPB~w|g;3C>5O*4ARt7Fjg0rYwvcYI$gxa(gUf=?Qtf?EmaeM{n}Z9xAAZU+;+AKL5@;VEi1M+y%j9`7{^$Ik}4lZThAp2vz&7 zvPryW><78_+iBi%-HWgVHCLdScDM;Y-lt6Lx#lEny!z1U`@m#HpN*SpUT=ZHI(lsp zot`^wGEqG&Z4hNiOK7_uP&;5X!}xbA^!J)67Eu+xq-7B`5L4)^6x}fJ#vlAb16+xw|dI%sS ze$vK9DhSoaM&oTe&8-~MzIV&D0b^FLEK^r-$}gW3bEL4eEH++@toD9?VdjOju1?1X z@5}jUJ*7|bt-*fDDS(9HMD$Pv8ZesTtYi9T`{2$+(>b-6x4Y4J`pCpUz7HQ>tuBn9 zYeNy~QTRpyiF0=0d#t(q`SJYH%xS5OLy{J;rv~t`&g}sf#N1_3$B{wxZ3LWq3WF9| zQg|VM_DAVy$pN!Qj>DaiSYM~WQmXiJJ*#%mo286GZsLaCLiIunVQ*gsXQ#D_tlxKP zOStwR%;j6X07U&J$G3g<@P6wPg+pq|%H%gHl@CR@E@5)ZtVx(2X0j9|w5^6Gpocm* zSLrU!sHapqXUN3b-vFE4Tbqu1xmoXj#MNg=8_3+{wxS-Sb<5%r`s}xU?rh( zNs?4MEiSAnT|4o{QgL*EQWPtixMz)_#HbK_IGRAj5bADXOVpTo49Q=ch4y%Je{B|m zd4ExOt`Vm+l=%Wm_*k(Y8TD2UWZSZSX>EM;=(9Opk^!hCFxd!$03G2>vNy130}4?~ zzZ|RWS~*`iTIugj9fq}}##SIsYmCcfRw5yzs+DGSv!Do*jpf8JS;Mq1&g6sUY39Q; z5!gY^-R3nI{yn|jJV-<~YPx*_Y{-a-?(!BK*m=B>gRSq9uL$|X^Ji1QLC@ogYCMviL{;~ zJ2#aP7to4h3RF1MLF#|?{wOM()ML6DXxi?G-hr4Tj@5==man;U$sM)KcmTKgr1SVt z_`nSx-F(nHH_Cb&I8zk3I`1$xFT9464r^KnXKerM4#7@Uvxca@`umKzj}uWYNW=`ttSLc( z)(=Nr#X^`mSk09gUzs2V*@@XT7-^&E5_4EPEx(VF)EX6_8~rdck@E~A6%v?tUTd=0 zY%zY1lV$@#kY+=hJgjR2!?GmK#rdrz{7*IWx1m`ejWE!&%y=_INGSG_vt+7M6*3~+ zYcw~fb98huiaFkBuHj$<2UDs`X)%C1A)znd$6gRwtJQ*qFEv!+f1e1SB0Tg(+i;_e zH!lJ~vQ}I50zRox84j|;XEN=j-!D>mVmJ0j+uSRjo9TuiV}Egf_?ngF)6;)^*P_zY z9c$hy;$0i=UQqz_P|$~{m3rL2F^a)=2|F_Ni&SrDzUcnX_pAVWeKf!227v#3m~K(cfQdUI`yHA0NhH3w=&g(6~<4atOi4_f|UOQw<5Iv zz%4l&0JqZs+(It^a61jaElN26w<1;l!mY?zp6eJ2OnAZ}jfjf1$f%PvGF#cDFCIli zJqwXIbOQ^OyZeH$R!YO^na~oHaiyjTb5X86g&+kvTKESNW~4h4(1~ z_!)%SDQ>SNQ86HHLps^?4V;B(b9oaGTLM|jhm`3>SQG=W zy3T#_aj1lP#!A|fK!d-qosO5#8dcV~YF*)+{eQa6LAXeB8tN-Kp2DoZmyXt_`qJ)nrxLxKFT z!ao2_Lc9}pr9Zj~Ps-+@AxWXn9f2`~T@ETAmSkZ`h}=d&&U#?IbT8O)#;GKlps0S& z;4R2hbD*(CnUnm*oah7R)y45JCP)mWLpo?dv5QqJ>n9yS-3H2H=aaia0vhv8SFS^C zU;nGbYZk8dy+=;I>Jq0c%WFt%oeuNW@pI@w2nc@dj)`(*nPs?I=>mfm^|V%4JyP1I zTV+>?i;;i7QE?ZYa|dRL2{^}rvd^3u|Ok*w= zfI|^qm?Ab(eHG_pYR4Q@n_y;1m&Q`#2?0-DQj4n5ThG;R6 z6TU2gEaP2AEI2(Hic?Ne3X~q_yBkm~RY#3v}7S8Et&L4L`N9e===@^Z=Rff2Mt*mnTmh5-kdrR~sU#j`4`7?{{=S*cVxpH2@&r&2+a9@-}s^B8C^xPB|&8nVxrrCqBXctvwt*ST#RgXxx zP}$g2m~F%~Isi?nEKqihiP+$ssdeycQaOw43-JD_8PL#-&%88&yFZRHw6Ol!lzQf- zWp$+3rvy!o>Tu2(JZgs-;75Y^^agr-tG5`8dF{{jMRc2~-n-77 zXAh#&J0wjreT7MNo4!S)I=t`>H@5@YQ;S1^i)+PS+Z*FG>0g=kgFjiH#If{wAu-?u zz|0L`>p;a+26H6!9F}j-1S`f0fZNte`JfD3_C^R-%Mp=R!=u{^Sc8)PI57i4r9{@6 zj_E_kW(1worIw4PQ)rYGhxo-9_33(~CFIjcM6b%!j_OX4EP5tw<-RI2Hw-!v!e^2{ zjVd&1yjE%*iEzwsrejiq*v{4p5F(2__rl9*Vcbo5J*8;k{_AyjF!a)N-F2t31n( zwQYAIksckJ5L%(FHy+GI6wE+Z<=N+Ck2_ zX5;!{{_rU&bFru$3iPF$>N9KrYb}Hz=*C9dhOxecvc|IP3+{m{%#-bu|2cig3L1Tn zVB+v6*FJFafrh^+M8b>g>pZ|yg1wSbXox4kc%%sfqp?BJ6ApZ(67fNP6h42(v1`P< z1Ez_`q9>9&Wd3-C3_Presm<{l{zMbnLhn3WM->#>pr>`?bn=44r0rpC%hl+D~D9-AYLXA-f6+g67V?1 zSe}{JXr2EwW+1bK&yTpPg+L!rW#~;GoO=n$zC}$22#VW5tv~;Xp00n~+wy5FFZbX( z06lMPI{;7u(DPyiK#$GVvvo&3<8oq&xSvjd|tn) z{VX;+?%Fmgd0L&R0|S7)@Z>-=6hKhC64DVu$J!47RLi!!vB};6>5u$BGPYoS=%FIO zP5}XyO23*$(GCLv@Xt|1rt~j&_({f+KgnK8q=#u%SIkmcPLf-mI+$W1E3S_$K^>x> zDo-6^V6vKr>a14X5C0fPI2zrCrnp``gRtBMITIQuy)3mMzhV>6+L{bXuP~SBxdMzL zi`@&%E1lkScP7QTt zhV$Z-o5S+^x8)ICh3w}L*%wwA;D0!=?QNL%-y>BcdV?-rWmkDsqn)*{3O?4hw-ZwKntj*hCTe6GA2xY0DHUyPg zP5gLA2JU77*oxflnCw;w*OFbXV@tue}z&GMKt^qTuH>rpGLS$je(TKsW=%EP%=>jlu7bJk0vMZ zmcvCO$@y!W=TgTNv33T6)yP2Ev6LUl2o%0395OIuut!G!RaY03`Bz>2m{{Os2q!C$ zp7_#o`}FGGsUkT?E>$nJaI0iFAQWWqVk|CR}nn*Lp?#aR1DNx!`rU8XuX^2}kx~dM&cd@V{k3c#RRip?mbN5Z4SV7lV~f zQ>ka{EK6W~EKBNi2`!6grqwZy_B1Z=BblN7Ilp>Ffz*P5?ov{j;2@w;!w=$_j5J9J zuv)NG#P_kV<;Z1I6NP(1jqD7W%;e<&!3+}m$spy4kOHm(EM)zAG10?Z$UOe#XXrj> zs#K;*U<3*{z$^;7uUxS^)Ch;msF&$q#DVSu45MVQAV^t|E-nvFc^-lzW=>p6?1S*- z4hv=E08De;n7Jj&J^&29V2YPWpicc2Z?i;1#tdKyN`F^_guEzJ5WVX#hU^DeKK=9F z$z6Cb+HW}9fGCJcp#4^^C^VJ>A#eHgFU$fi|7<*U1DRE{4U}w!9s9@J$?hqeJ5Hmt zE`n-{T)2(3T^>JSO*H}rUw}NC0Ow|82`%|y_`nhC!Bzi}M?=;BGYbRQ2gsv&fINy) z4#=ZeBoq!VhP#q*&_dr2gg${SByvM5$&LeVJJW{T(M z+R4vUTKT9I~rWTA%iA?YX`oi z5Ae0i9nj9;xM)vdiV>g7Gh?YOpE^4KSGTd5uhHk)Fd`Q2LUcNKy19QCNM`H*#w0~o+e@Q~H zlM?#qqx3>8TVP^q!BR`VqDY-iizWdp!aac2-I(}`?4$G&f@dmJE`%G|?K=-q{z)ap z8C3&ROE>bv(uEAiY{*EXlKu{(?+Xb+A0Sckb-pB0a?Za3Gv`wCq*ehxf}!PBBPs69 z2V?F)WhRQG`}40~3MJVEu|Lbg35`OX1_gZW3wKmPX+80Tc;aisqO!arXlQ$jlVU84Dn!PG@;`B1J%H<&uAXq6(=S|C z_Y2oiJ>fbrn5c_p{R5_^=l1$fxNfNV3D+_H#C6I~xK8$OxURDGH?9Nw1J`L=9g4Ks zElmHybtXk6x=*;So&G1T)62lj_cT&+pK@$x@SGJU;wUz`43zdyK40l*XhUWcmMBk zT?>Hg_%#7s=kkQ>0$7Aaf8jbd0M|{-0l02<_D@__`8RBpnoSSjx|Szg#{}TI>@on? zO%wpQ?x6NJuFEca!gYGTab5YJxK8^2;ky41xb8Ntkagk)V*B6_ym#!NP4*u|*6)41 zgz$~iBW;zS7PY(lP)>368v;39Q`Iof1|n}VG<^#y@{=2G&kCOb_CQl0W(ckt+hl&gPf$-}d_u58 z92(2o>iqW5xNKK{MQPuI+>Dud2IE**fH_2IdSd$}$J?drYWsHl;KeJ#sUO~sh^3RK z18V011VE*#+o+m$)fLEl1p(lOpGhKn;Z9+k$ zA`u(kWDX{Jmsm&&IVK)bqZ`xSpF;C-))G7{Lzpa9`_S1fA_%{@;u($V(jO%BW!iCWA?JL z49xnZ+sYBH>EH7Xm!Sy9(y)J_Td`4(OpJau+$BGn+MkxpIP$p%Q^J=lV6=UVFe87P zdjxhnO4YoV#0D&xcnB2j!;vQV5?*m)WPqmC z1toQ%inmZjIRm$~d2<&47T7#>L=qLapo^&2bw&RcJ77*1LCt|tsv`;Pnj>yRm{ zFmauMv_qNMGsFL|0xGu&KYxw+wmqr)${p5pvQ_efRfyx&s-D2Uq0GzLoix4db#7(m z0hg8^(E}74+4dwNEPT002SE@aQ#*X->xLLnqt>!f^RU;Ycq7gE+_wL2f>{PlDWm&;PW)Y2 z0o~RILJ=jV^#BRCt;QW~qSB(LMS3e8Ecc{){`O2l7Xqeq#WR!Y_4kyDd~2EmdqB>R zp2bqHxNrN~8Cp;-B(StPND~gp;1Btv*G59R*%O&0Bs3cxcG$t@vq}$6`nO?TKq0|= z!0`*mad)}PEmF8JhsSmgX;fB$-uYI>;o4Uij^$nQ2REKe2T zbB!IwBNgethVCDL;f{nX7Yn*<_n+gPVeszBljpqYClO#0J(;;70${-Z&Fpl>db8`N zResxi*Y;VD$k4P|O(}e?oSN>l|5lzwK*eW0TzoNUx>$WKmeQvBS?da{Y3~OkGXx~_ z#d_mGo1O310MQRv$mfv*66{EG_VO#;@8X^}LwlH_6e8kLHJy*}w>Q|cC5d5CnBsVG zn5ZP7uWXZ>!q3hEC{_eINM)TzV7x}6VR zK~|jrBIj3bLf)pY+%&qJx7^GGO}B_z+RYy(wzS*ECUVo(4-bSQ?XT;MUF&l44L`dJ zhFa`|2*R3PsqoQ>1 z3RVO>ICLPz1FW$M1If87Jz!N4RmGzjn5;X~0LrpoV6ve6Yk)9_fHS_u=gQri@U+2d zN7BvPt0I2KKSJV~e8ZPTS(r}ub))9?1egQSTEat%hyWx2n0!aQ1_9HgYC?*7C_wf7 z|Cc!c!fywR#llW^;{2vY>aY><m&%LihNMhlL#T~8QGD~*^RmX~_@FVx&j&~Z)97`t zFg@c*D&V?&7sZjYP6Sd&)RTWm4N4hZ3lhNlm5+hgc5*aJrM}5xsps?I1(KU74P+g@!M4+Y%}L+xjkwSK(`AFuY?L{@qMMX>pkz*vPl!I^8g?gh*_ltmkO zrqxlu+J)hN**q71HqT?>SLXj!^IQ!6vw5mFWt1&57BBs~c`83O&x}8sXK7hW!`p-T zKbt2v&^#-DHqQ+aoAYFjbB6zHp6{371sTFDo|-A3r&~!vsrU|vAQcpW^>+8C(O4g zT)JcZsSA;Fy1!^3{6y!s%oBu9ILe4I@caM;gX;N5AcHWIE-$epz$G{-lMda5z6gpX zN|ob3Ig=xO?d z3PMKnlK*a(@817!+GUB4C<|15Wud5pb)Vb^-IlD16E_2w#|K|chaB0a?^~Rp`fa82 z?hc5L(_TkwFeu^~P!=%k!LYIfQ=)5MfHl;r`)w5qtetsd>%c7T=``ri<1~{^Hd1X} zA@wmRNKGQRFE0IaRRCVFX#^ z(_Gyh4VyQ-U8t61ppF8=n|X*OU3g;$R=y@ zhgt|OA``A-EHbfeffqP@JG0n)J6cu|7KB1SUJsTWlVGyVU2oLXMb|*RgHLaqgu!Gh znYAVf?RC{m8$-KOdxcUU_d7jqcH$jRk&O^>`c%Jqm9CsjLE^2r^l&g-9hGsZONBQH z4>zBRA|;g3#Jf?guTUNC+>vMRSyPNSw5>|WIC$we=ih+=b~i&S7a^w=e@TaKVFKUs z5aK+yz%BpLulTSgw=B3A$Kyg0Gw~yS+9r)5+5W?A?1V2W02ys|n1GoNPOW(E~c+TN&QD3#if=PAQ&o=Nk7PNp5ziTEsw{EZc3 zD64fl0;#3_N&F5jDdG6GEn8^)CcR<4`RR(X9=PgenjRf4s!v_Xk0)i4eKmC@!f6y4 zdV5_^*d1J}Y8I0i4;B}~4mr$f)n6g0@csbAAtP#fnM^Zxkv9~0`66nic~(&%A&x;s zFgU3-P~K){hyEhLH?nHS%Xuj|yfs$;^kBJi$FCSO|A-D{-$g#$p9_d)9VKREq_E#? zKdfPh)xG5~snVKHC!kAda!FcedtG{j)^Kdo!UCQOC!?ey2%jL9F7=4T0scO6Hbz>2 zEWeC)^Ms~QQ)#p^D|HtI;sANN)6m$nq@PVQ)`(gD0-0mw&cFQD8Ir$+5xs|RNVY57 zkp9O6TCwBIK|s`l0DqBRu(!Ztq2Jg8|6^g0bZ542%qpdzVwa?SVocG7Xj9tTqJu={ z4^1^FId5+gsxSp+ zi&D4PJEG90d>_q?()q-ZXe3cn*g*<)=C*9j_BJhfX^8{T?F`@39qB9!XcNp?UT4 z(jq3$#Uy65G)H5IFL8&3WoN*LqPzMU`J|&@U>o#3d>qZc!$0D#DRmL8=76p!Aiu%8 z0_KaGAC)mm85qN&QmH|XB|suC669`)1IaQR|O6NZw4`gKgv zNh6)e8*j*%c@TZ(UTVO{v)f1dfo`}A{;a@HD)xFk(BVTUZ7xu3wWX-ggr3g4$7uN( z!qi^_4Abi3S0Z#O*s37X^q~SQf{uS==>^(;4e3N7s2_Jwy6A0anjbh{Shqh9ad0WY z+oSd0nAoe}Z5#D?y$*7DL9Lmd2hKMM&v!GJc&pr9_|?PoS*!A?Lc{aTd2&Y}dpVxD z=7hjKYz?{hqgxVDn=2|Fh_=9soye7O&GahJ!Dq7U5M*KwY%xru8hr9 zYs=>|ct4l&VBrjX+Vc&No!;|LC&doSO&lFe>wV}12B@Dl!tC^6KWz->E_8k4R5^6} z^gRm8yQA%`XoFi;TPQ`S!N&Q9l6;lTSI>UzDvOL6;kw{;A`W@F484K%8}z9!%R7zK zpe6ModwJBuXEvDxNoGneke+V%2NGsSH>-;kzPcsr?o3RaU7Q`w-Vqy-c>4XHU-CR& z^f9{^;q=fu{|tCusV6aLbr6WuhzQ0s*pNQwC;E;@t0y*o9u%!o?FFCN0X1$=TJM3oAQlKV6bOdFKDVhQ4qG@u(L*8 znpd-ttXwlGNEz?HIt45TIpw^L%-AH;!zm=Gc7wM2`?!AP0>Qk>%V70&Gnol88x#Fpgx7oCpQCr;w9`)_ExW+_x#(g_=^+mBo!~p@ z0g|(2f@apzLO#`EGb&Of{40WtRa2AiPLiV=mZOp;z7}V%EJtymqwaJE(a*vL0tO!t zD5p|mA|_?{+4jra{OQgHr$v)E@UPTKK`gIeA@HxJQeSB*WmISZk3K=voilHuH{D7e zOPAs{D*lxh&36z>S0m^)UrXs>sxoRjW)+3z`+F;1C40Jtr0Bi=n4w&P4w04;Xo!#U zJZMVxz{^U%Xa&MYPz%W3N8HzlWvfk zA6}+Wm5Nz8M^vw#HP+UQ7thd{*~LMWJ34E%^*y2Vs*_O)e+Atzlxg<#^WldNzj9|&Vbn6~BWk_Vth0T6aCky=2vs@v zMnB;&o>{2m3`-A{>x1SiYq%FQ5zOzb-XWBS7iPv5(tGWS;cGU`tY)-7lR-qjxT<<> z(lqL=v95)IrLly~86_W8RQw-)sddduL^(`$mBgwgCM^B>(6my zNOMQz9C5#0Yt^+?zOn{Yua*;3NOLSy=#^=@f1A|%!l^+now^uB^wyttLyK;5%>)Qx z2-W9+JcII_qNsFn}t{V$JM`jQ9m8=(MOw}NIIvcfKxpN2bnc7 zZ%cY&_PvRo%9XTo3)0A3*jR>e1h@2r-~03AxT@GwUHVWYB?0~h`;O8D=ZddozE`WB z3*Is`*X0zJw4Q-$+fXFG>!m19RpGzur6b(WddbJl$Me8CJyiku+UA=7jCIB3 zprAu7gUMGvySR7m89TVS)1w|m^Z_!bGz8^9=B%Eef95JDyuRPLv#Z;WkI-yw`(yPw zcAWFXY~oo^BD^}%fFHu-?1=hpLWVt_x|TH;JlHJDb4W0!N$nFN!t}|=DM~c9s~6IY zWLA5Z5O9i?t(lm(ex~v&Hdn*m-BMOwlZmbve){ANvDFFzwIk@=FRi4(%1Kcz=LWQ5 z!;AgBy-vIdTmi+-1Q1ALrit;oH2j^3>083w`Ct+@tKi}C(W>E*uDFUEG2WLA_TsP^ z3J^xKKyEAbN5hF5D~fZkLI9qgG0U?z;7;W0WzhEhTd6Wwgke$QV+f8KE`cd4Epa=fdVOGoggIP4@u$0o*Wh4 z^y8#D1<}GbYf=aM9lguQdz1``2mE99d1=x7jBU~i#?vn;QoOd(+|O}sGw>IWOsI~jel z5y|8jhF2}5BRB;S41z$$SgqJxNBx_$lKSpt`>_0!tV;2(Yf8J?({~mZ<%i!R7V!eW zZMIn%7_4?#UrW4Ukga~H9>;5fL*xG$=~$^g?}hPzQvRS*tP1)=R+7P%nMD$X(rH-e zyS4Xm;nm8#Dg578?v*omx!SD}ek<9qeQR$-P}_7DnP+8azQnRjW_ynKL1|Po9cykFks5pabC%P6 zFklb~VpQG45J#++KI;2`KhcL=Jqdvf$-$h9aP4BZn9Khjg;)pV&y_1K28-*gS3)|Z z9uNrpao9Q_qrd(lOMm;&U~Ee;wtAs_Xq|iz^l~!@+EY?#5@Jnf5~4yK#>Sr`;~>PS zbmpb0?v0QMXepd4OITF4!`#8LWP=HTFpAicRLNly43Y7g*$@&_Ksjb9glIYHcr&+v zI1E!K+SQM2C<(z?kBV#9N!JK?69(z7!d%#w*V{KD`QBa2vIJI0RF+@om>ogqI0{kc z*aHfh@wx(dbbx10sC+56PA|doA_ZI>_hE>(VDjP>VudUPt72Zde{HNBd!U&rOfz~X zI)Lf3+0$0EWq~$T~?xQirThLXi-PbDQ*W0tJ#n ztjTeuNh}%lMo8b^<)T1y(}UQvQ?<6?^n@8xZe(5|2qoTOgX&;4cFx!`0!Ojbb00Pr zW67?h&O!xEilPr7-n*Dc`f6lDXCq z$Uo)Fi|R_sy$)NGZT8rs(fOHLfCMF$3_GXv5nAV!HkiUR8QwQqSX7&t z0r@~{4uyufWd0&Q^MU+v^8C%Zv-L@fLTY?^#>c2!av1Kge&s-BPO0i>GlP~J-r#4r zR$z`i=_h5CyZzf~QBKzE$uAom?b(wub@pLLAXdp#W#akbR89(_Uqy*h14k9+BWy*Q z#SqjJGerbcifebVE>~NSaW=>jETv;yf0`}|@gvw*%wZh6DKCFTwCU^lsu#qo{IXqa zi~r7O>z9*{|6-ozD{;0}*&6bSNfQrQdd_&kt_x9?f+X%>ZMNhXx+*+8m=-+ns=jiQ zPu`0oz36GF&`PxD4INJY8w7hqJ9ryds|M%;VL#c7v>z!%J`3}YJ%%u@x}_#FTh?<6 z&gkluWvzorf>HMiek-lQ!q2^S;0fek4EMfK=!J8pauCz<#_>gzeZ`V^TLR8!{pnSU zpZP+2nnu}~=R9^-FkTfmH{UU&Y}DE!q$j2Wf%==$d{yR2+C}I#$c*6I^(@xP6DDJdPdrJ0Hor&x&HU2le zchQiza5;)0JBLy#@p4zB(a56j*n_lFb>8tq?B&5?NYQco9|9q6wP>Tw^d*%@c~`k- zD8_9&Iv3dzEEpJ(?jvhr%r7yU7#Nh$X7Hb)YVpPNYn?jSRntyMT@#3&$LK?8)dq1F z6J5BnK1D{_eT_~T#6K7ZS4wJd8g_P<=7(fKOMV;0@T!E~^ltbvZjTxt}f!NAa^;FT>ScOx`~RObB7>*#06{F~(1)TH~Zw!y(m!MWYc zD+T7l(Gi52C97!B5lg`heq>#948sng6AmnGj=T(`Oh|qqOTl&^%M1rfW|p>UVzp5w zTL_do#3m6TW#@!5mNsUr+yy<~;en*P~tvy5ZxPGheKA{!F!rS4e3gZu3R zHsj>kQ?>OA!M3ayvcaksBEYE^`UHod1JXs*0X2LyWSlg=T4k1V(+RO1A+|(f<3%rG zwX`f*I7Mc>UJ>`tpMpe&I!4Afd@6{xhP}^^Syrk=+mwm;>SrOHL`LFJn0K31grm!# zV7cw-8R}>I{`vx@R5nn6Y6}K@oTO}rgs^Ofld$Y#Gze7C*#IgqCiiSfQA3vCfCi%bYEJHRS7%3#Jt+}BN%5dC&Z*o*YmUYFn}e^+D6{1Bh9Xn zEZx?hnQ`ptT!t_GBWu?AlDtbF>&o^fJ|XSrJiwfRM)v}@*6k6B^r6k<7Ye?kJTFEMntf>)0#Mg#@fr_*usW~w$tI)fwklKC^RRjjVHy< zdat$)Y74lv{m+zmH6FBM!N>LlRhMEa3-COA0vmH+=wI*rj>iv`vqI}(lzPKK$w%LY z8H;+5vkLYWkzp}}*&;Yt^oXYLdvtiSEQIOEf*;JT^>GFH*LXhs=}3tBX@|NyM*RId zTJC9FnrDsnenEFW`+@9AzNyjbWu3_;0nYmB@Tzxh#cvUsDPa)aO%eQv_*WD*8V;D} zYq$1i9wcF32oUk$H;0`5!lDZ~`L~RtxMP4}gXGrgbdY#5)NG~rqbiYNUUxz7a7Tu*6{e&@>M zI}4xMEQ1S0vjp#2-oXyAJckvI0PXfU#Yh0ccLJ(f*SVFvpmDY?yNM*ab*^Oiuu7mlxEEk-b%YMM|mJ|yi@ zbRWs1$TO2&ssP8NSxcCS8#-US5C9TFf zk~D9)e1BKorAa`2XUN>)-TAVTLCDJdE+2aN{g*A%sDmvSEld9paDr5&;QJPi(@A0# zSX9PIq0CA0JV+$&O10P>x*p-^6$C`aNoK=g2X@5Em8~n?dZDI1pa6m4>wu;pDwHQ7 z?DQrfIw)uW^u}oEKTj9fAe1rY(#Je!g;&ey1!9>z70Vn4^$GZva|}S{JjY}bxgT<2NjC-t4&22oWiGF_Gzu zMUm2Ug5f!2E^@iA0#E5*8#1p{i^}3=OeaIWk!ihn!7BdJ4bOpOMvxHI_&b{^#C=QF z?a(J9jpvB1P%cEhG(a`8N6qEk_?etTxXfc5FLr9stIv3p?FPSODTEJ0kRF`5ePQxG zDGHm$>iw%#h#P8H4VoLhewOaF-kvO~MOj0_K%>+6kjqkWl}m`6=oBdtj$|S@MY64+Ja8{7rbEvW0ye9RGhr0=#{0l_77IC(`C;+SsnJvV}CdCN)8kc!ylTu=ok z^DqT=UiY<1PpHmjU9N1-ea$jrqc?IWlaTn@KWWhZ6kI>FDXNrjZt4i<@XJZSn$Otw zn@{6M^Jf)pXXL4P1H?~-^Bm%nD^y`F$tkH|ET#;(HR;AW&&GI@{H=P-lhq9tD-jN_ z%XcGKaejs+RZ^~cd%IKi>lfEKt=oVQlr8two&=()Zp?2_R#}Rsn{G(nxIq13JMLIr zcxtmTK3mY4!e2!+-k6P&3;2BW`IZ~uY2J)Gi? z%UlB7ZHd|bxNsv~63JDw&uYD&uv!vgt+#UP@a0p2!RMmKe-Upvs&)&-gPfi|wcfJ} z<|Jmg=cCce8=gZ5BgBsAh?r=Yx{bZPYQ0K^smm&Lq(kD-Woq_tLj!8PI)8D?RGDTX z>_Q9}A>czel0lRci%egygz9G!PW3_=i2|ABpZQh+jtLY+NX$|t!3BV0iUJ%H8Xw@8V*lWn(D;9F zOzcB|WBS7g0iaF?1aM3cz%fBj9CH%jn3FnY)!3GGZ|rdkc^E|-%~083(zC*5@Yw2S zZEix6@6YnOrw;vLAg*Bmat#zk4(2V)>r{YTuN4F2`WPVBds6=(*T;X7>k@}hpyC4L zdN#knARkn)-V7@61<19^hR&o)mHMR0E9CxkBAyZUaG1AvO2IvEGgT0fe>6T4Q8))06K ztt+MO0@>0EE*W&R{$z;zqI+a>?8@$(jZM71@V~04%5ywG!|kpN5uP}%-xH={G_vIG_T(0 zJQd9$HJTgmk9eE*Tg~Is$5hPGJEuyW~{ii z6sAeY3}|YGLI^kZ*y@KdaDhp;_3}K;#2>tOG!-zzp-Ug)EuE2p9u-LQe%?1!dk^%#+XN$wniMc2g6}teM_}TW_5Bd z!yM7Vs9$sB_*5>LpUUOz#~g`Ao9?I;P;pp?(_G}g%OxuZIRhAc7xnupc$xMRFs7V8 z%B8;GQ@LFDSuP8n%H^8=uX1Ve?6B@QphJDkSn1Qa+3Z)N>e9oKaPk-~Y z?US^d0( zfZPkQ)I5=1BIk~#I~=V!#6%9J-Ag!&^12o8DWAO23pj;fbhYy0iPy^6xzqozdF^-i zU%d9n0pPXwx&W`8%Kd}aQkww0_Q(O?wM6-U@Y*AXKY8t=9WR62TSUK*BZq(S+Q$lF zHMzGo5GXSnjlX&ABO}0Tzcl^gwc{Lr^4bqH|Bu)H-*_#{F}jWHUF4H}xKg;R782ga z{5;?meOTC@Q`*Nls0ZFzZp{tpW&iGq<3F~pCnHY@YqPSfakO2W(;144V5PvUVV4ja zV@vm8oZTR!;buBwo-$UNrWa<9tasV)>bHF1=0^^Yx?K)H@{_h(CkHOuB<-PTnGA=h zqt`G`#qu405D*sdbCm)pmhuv#iea}XdG*lzA__LQxluC?j$xdm&ir9v=Yq;Yv1W2Woh%pY~zo)fptU z!5geWZuZD$6YiDusk|q{+eU{qg0OPWXj&^nV5_<^V%6<7C!XK@}pTZxys-}v_ zQp*IprOdBO!|&DHN_I4NV#ArFYOcvol3&D$JfkX#jln8q7(D*K?g#nzA}LYz-xWz{ zjQ=c>K3snlNkNal7fD{R|G7vSn1Q`|&N@W;R3xK?t54i`J^ZFitM;gh^)%hs>EB{r zPk=R92X3R>4C1}~9le6St1%x|jYjf79^HvR^H~>yOMSh|8GNkr4QqwQid!XvFCr_o z3lO~mYk=QY1M5n&#!-5yCfTF}(k(`GhhvYpZ09|YYihDji!d~IrSK^l)@>ncok359 zfvOIC5E`fcJ@Mh);Mht5H@C0<{#Q$NXGtx0f^3Kr+Ds^&IiVr zl;H=ycBhKwlk!I~qRBLTDSkvgg8IvCH?wb6I1ORb#?o_|&7bua1{HI(v9AxRjx>|m zLd55Uh@Qc#Tbw~oNX}ys0TFXl#NVh_bS!`nhr3dxg^UmfbJQAK)VEAKb^|46!#H5c zT`ScP8w?q9bXjPMV?)Z&I6#}fIMr|-ijX?hF4!+`mwLq{K%0hP1>RgVSHvBdg0NG$cdQ+}a)e~47wYpvmMa!{)FW`WL@fyn#kM3>utc8%4GWHtvTE3zYZ|WniC@iHhNJvmd4X4yB9Rjuzarr z_VQ3M%5!(2@_`d_AETdp9O%()MMo8OIBdYeCcV2?V#rQ+xQNr#P(YB^zIMkg$ zo`Vn7B;b~Q`SHt-TC=8rXxtZ`x~$)Uk|dgX#{IlbJnd;a_Xcufw0BYS)j8t^EsJ0q z$^}Y8@GiGiBbF%5-Q`QDpzuk0Lv0xdQ*LmjA|^Fm*?SZAt(ZMiL2S&&Ma4@K-kz9( zT>%b^Z(35vCW5&!1EvB5!?q?=;V}bH0vWh@ERhD!sR_;N(RB}?P|9639Qm$dakI$h zsjnK4B24Y}p(I^Vk6=t7a46Ta)vBia1s6A#iG#!NvK6OeK-4ZHN3BD3)kLOeq9R zVMcG%U_B0fNMIfDixANU zLe`MJdQ8rcz*;okkY|XWO|)uAM1l8lB!S-`u?&7j|JhWl23IvC@L!t_B8dc8RGdq` zlHVh6CzJyyA+}Pz!^ZpZ>q%yYL?qBrs_7NFI^g#p^0{! z=hy(UH5njVLm&gPHTgeeYheB1FWDN=6_Blk0NENEpK%h9ttSE5dJ>SWu@C11uq`WI zY9ZDy@sa4^yUA&mzLO2Tng-@(m4HO^{);fAzh@wz(*uo{AoU{La}?0&?bQIC{u}W3?WKza zb|Dq_ZVD>U28aC6vDC*;dxJ5Dlo)JUipP-gvODS`3aozmlQeIM|5FaD&WwSBd4^q> zd8B9mvWmb?j-Yvw&1C7RkVsBi8>ugpbL@(|N)DlsV?d_&3#7nsRwsVWPU0aPvT!B{ z)J*I(kycW@J@o;{B!Y6ZR3;6X4E!U`XsKb1Q1>?A()E4CmpO3?ALOje9};CH)S)b< zhlT^SyUlw;lc5HI9w7_B>C3QF%wsKsRs~to&B%QAZ&%%vD7O(E`2h)YX^mVwC z5I(p)M&1ttj%FA?)9nH7JOzCG+np!#){AVWaC^FV&~sueUgc9L5f)5dm*mSyxbdgE z?vOX>xDZ9>0kLYgnUJ_KM0GKY2{G(0G4RsUN#;iZTig*_pa93-}d{*?4B{0hO;Isnenzu!y8Z+vxq>k1j{1F22IHjv5{QZFFQw@rsHlPcRvco_^6;ZDXjWmsbL?;8`}T5<`Fm(D_#FylIN$#R5eQ6 zTy6$UT1}a9TmDZ`|`3$pryavviL;{}{Ju@~+^@z1%Lwzm$yD+{_ zg$n9GqJSXv_)P1Q;?{p-{dwR}^ehqMM%$z{*I|U!D~#;9Qs-ZvV}xVT z4}OuLA?3M_CW;&7$nw7}z=!EpRFTC6V@9^*$qPL=8t8?8b-lncFOukU0{@<83&n=Q zNm?T9`>TOd4JnKraR-~h9IqZzxH|p=(?%N1(EjkD=!Iw7wwf3lm%*43Co&+lhs||R;;F={q1+sLiXTw1Hoo{Ah2`1 zl9&3RMp2P7NCw7qnlfBDB75Znu2FikPA&5oE=M-dH_C~mwjeEhKmai>uUoF+ zqTzVk9HzZjWE(azd5;TTCM=gkY)*%wwWtGmfNj?hToMmKoH(x)4=q(C(E{NSQ2lw! z=($$LA^a%%c{Iq1w6ObY%$Y?t%)Z%%{h(=`-l@cTNjF$cmi!~i(NZeR1&ECIgL{>i z&^ZFm_7FW5;>vPHcyNgJL;MAdU&wYR_iiER=M@f$`knWWtd>8%?@%^l6n|Ef-W)uS zn8C)tJ(bvIg=;n{ePBlhvoB{3K^vvK?2Dq*@`uE$jC@)^25&~dBmF+Q8~6$8bLPRh zWqM)0`4;$i6Z^#FSYA{9dC4Ij&-bzy!rRY3#@?UdHS}x~+8`zGO>?EiWWsHa^2qc# zUfs}4(PF`oj2^%u(0=sUKY<7@T($5gIek5|w%?5CU0$_wUQ(`n11}V%srzkBhQ9lR zb@Nu{m+TX3EB1R0c@Td9GZ?}s8wSVJ{aK4G#SJ0-e$*MPR}Ci8`uHSx1=x9v;eK%Z zd*>YZ8HsnaU$qy@W9>isq#v}@J1S3JID@hf0Tv3Leo)UgY60JVZgKD~CyOvyBfyVf zU1wcxT_(cAAkw~Fiz>Q8FF=$cdaXUN?>)*mQHw44r`=5&6UK?%Ng5NuD&Sw!Y)NNJ zES3oZZnk$?!azL5xa}HW4m8*ndPZGfz~6v+Ui*cjnkiI#Vx-EN zc9H!GoaxAp_H@14nMP@-b4mnlxpjXBBYgpexgxl_T}6Tli;E~ZlI>tT5IWGsqQYVM z(PA@|Q&)VNW_(P8C3vurMbx?JW%5mSOk`DLDaQ`xm8}pTs;?AG%fiwZ@#Wx9;M73I zUHBJ=Ne=JOd!DCtZFwIbPcCColI-tMi^&cOKO|7DTaGrQay!``31}B33jvSF-nZ$# zI8h&+drmdgS4jpji+QLY=ONdR)0&k8rwtS*`u#t~smKOyg6$Q5NUyj<)~z5FS(&ND zT_4>jRl&-JAKtwwjstR1(2)CF9A1H&Z@CxUttlk5H+^{Y5YnA=Qy@s;mcMF5VUY+@ z#)U-b4sn=C=Cf<0jNe|KKdscY@%qZ5=-!aXxO>MMh0|m7C9J^p*j4htQLa*G8wkyO zIU}X{bhtzJB80)PuNYTd zAvqCSjnN#Ts{=DWZR`tcM0PwNGvO|x0_RdY32tls*o_zALRg@T7ZEdG5?XJrR^#EC zp(R#hz?s1%RukNs!eOx>y1s-$NQLIWgMdbYOhfXAa)(So3LrQ4mkAMq;Psb=k$^w( zm$IFLokelJ!uvus8W??gNn?MI_sCRO9W`>TpQB^mBj#uT{xK?5(_B~tcqOy3ufAYQ zgWursELpT5d90eS>2_>jN}TXT{tT)hl8J{WdOLY2tMgrM*!{&;!MFWB%Ld>i;C0q6 z$H`VsoU>&V19=Y(bZ3gtiY(}?fR4s#MH{`G2@?Eusx?6#2!_URG@ekq0y}n*s@=$! zO25v?6JDn!DnuB`9*z~xrZ>X^7GzQ}N!`x)pp~C8hrF9hK^r7ZiIceV)D{)~Ycfqq5tB`gANx9)lG91K2lFy}gSuSAb3SCGCTatBR6 zfye4wE0a-mY?;^=y7~|n&9hDVa?)3J=a@L{#fUs|UrcK@hItjX34|R)psIWz*k9lm zbgZn&zY8+tI9K5+WA=;p9ZI3?4{dUM@sZ|je$=yA6BEO4467c{0pR;i^{f@#gnhCi zgc2MrF7dc#P1VUOy`*f-QDQrI3^qGUrRv}xpEK+pR-@&ve}rX?QgC1fXWVkYNFnA~ zGh{jXJZOUlBjc&V?=Cm38)Az{#<0Wj&g&89tFt`zJFg?8iRalX!AOau8JlRqRjjf~W zY6NP4u3#jv3LIxYu27za6cRc}$Lg-`=Xb4?HUhcGBQjup1%9bHbbDQ58Pr^~zAUvW zJ2RJCUkoj*l7%Kn9BTgsp+Gzl`;D+w4Lofkwrl~(G&x^|6-=*0FDw0rk4lCT{&*@p zjLbHThe@2RD*Q?4OOYUW3~y3nl*t%su=1@g)`%IOYtE$aVrFBUOcX{1BmHx z4J;|pDrnT{I=HLB8z&KKCvD^+qnvH8b1X(-h1O?>Mwn!t0T1wMQ2N^TyR&Z z7B+{Fv1)c39ns4+X-e9fKCgOepPwecMt`6Bb$DmIV;h{Mr+iDAuON(y0{HR`u@tvz4AkoO?Y5yqwC^^_)Y8UqE5i%J2t%N={v;leR~&iqMm`xjm!l zCc?N{p}4c`;VhGTTtQ~)Fm1C2<}6(N6UTIg2&89vpTT%XbSWe}4?B+fQ+W-7RP&{f zGYO=X?DwU_;e{v2II}Q*r?e{X;_SrQ?Qv$116S;ji~Qd1&~CQ4-12`iiY0BK5d}ui zsin0TLXf2XiobyN`j)Ms*#JOVI;ZF0r$9>9e%H!8P!S%Y>)j}1r zQXces?)Op=;+;L)>-NeHb*T&D`<9Vi%0^@MO&Xlyqe@B;YBDB_EKJ>o&+=6Kj5vql zl)%f{A~ar1Wsml0NG?qQgq3)psc%N@!xk1&2jl-C?X9EQh`PSfLQ7kq#kIxVwYa;x zdvSNy(BkfH#ob-g;_i^*PVnGP_|oTj-*xZ(^R92L%*@W5nOWx~zuEgYXSSr8cB&=! zMwE9PC*M|^+PFQaI3LR_Dy(JLxe>juG=Di}Ik#E$u+ev&UvsVAq=E|MZa8`|t?6mJscJ;RZ%KFcfXjz_|S9_tSlJB%4 zk6+yl2ONsi?%~`bo$Mn2+=#|{ z%^!AWDAMPLi;j^nQ!J{xo4LRwP1&371nUU9gR+bc2R=;TBds}?{69IYQ*e}0;tE57 znzk{LZ=}|0zHV^Qt$co0|9PrV(9k^%KpE^sb>Ruf^}=r~tT zTcOE(uTa_*s!`aZnW(tjqcs^n)%|^z&Rbgr;h2Y1!+&&iDm?S2>e2&IT;|X1PNK17 ze{O;Nk~d%llR z38{YCIW!{^R|xfSMS2qR7 zyPHRZImo&^$=5;(&t^CHu-8w0Y@y++yoO8J$$R#cRjSTE^0eULSV3wM+~FFkT+!HA z!U_JEReZi7wDdVqR7hy+&7bVAl9ib%y{W^+g^^q@(%we)D$}P)8kAY^v+Bq~#q#jd zYB!pC(Y~NE3AKcorY0MWQ8#C_9VVz$AX`P?(AC8ti{oA~C zsyPkf{3cJnleL<*=+YB);AS`Li;h(KUOO#2pssfFZonEp`%^?+-vz%Z~qt3q5p$u zszMl|*I^*_m1hCbb`)CPJi@H8*VK2@Q^|S`M zu)CH^@jTIV|KZM{h`F~whSe{bi~lCs_YHa!jL>I`{7@+_tTx*Zr&eu`nlK7Z@m%E? zhZ}BQ{1B*L`PVSU);?uUJc`6hJ%}U^j=W&f(k*1Q;qQJ!9J|g!HqWR2R?QlV^g5HR z$u{09svL>B3SSQAmyK2Yoc80QN@16@47vu=FYl6;^%dWVY!mjkj|zUb-}v7+fMpc_ z#oVP&g*rfUTf*tgAj?IE#|i)E!XwA%Y})R@;fzDu=)2Yivi5&>=8N75?aa0 z{^1Nf9!zpec(lI%NN+JYcWhA_x2=Kjm?pd9NdMKUuyf$y9TPSg6Hjt}khItWb_Bf^ zcNj6Uk7LY*T?ri%$~$K=Fqhkp1a|KU zItCRrWjel%9oWVXWSY@{T1q{SwW;sO@HX?fj8^&di=~f0BMcM2#S}zLk>{}}5MT(J zm7!XLQER{{Icnv;FwDgl)$i;=9+zP?~QH!d3!-&Br7dZC&f6X7tiX zGdk>YV-AU9TLS{;ksu~Q!Ij?pG5dJm=QIe$!3z+w7I@RU21Roj@TvKoSRf_2T}b8E zi=WKPilNv^Ks{=7v#XM<@B}AVwD(Zn;+UOm>B1srMTJup)tAP)q)7MTj<_8Wr>~AF_lGtCF|9ycc-9-R37_h{AF*8 zzg}Lej5hyMuxMpriouxM<0T!z>Bie_vfdTHtuYksjHT=A`l7YrSE(#y_Z9SZx9jr~ zVp_Ce*d8AY&oS=1%is{T;O3o}?bU3Kb!2`sYZGVaBCO?2Kg)ll;em z`@k@e{8znAj=3V(^1ryXE%^^_^PB(gaog0wj{_UR{{?P!JNcA{2}N>km~ibTQs%R?gOD}nOY9Zjv~{AcT34AG+65)Q)IEBJ3QK<7*9@_l z6Dul}(fd!uLad++w8-e=JN{kxBOi;OMl^Ob*T_)b#dgVGu%!)1@)V&qV4^q;`V}<<)EnIkp9ei8GaLxrQ%<1-rUk^i!7Eu}s@M_zkhN;)R zCKO=&jEg0>c-ljySq&j0d`n$2gyBkuC(?eQb$}bi6E_^s7A=l=5UQKmCRQb_UqtFr@i6o_M z=A`eJ$3^AB7HNnXm-%?XF{}Ew6cNeQVnYP7s)XbD$(-{`WeVg~rYOY<#!K$HCMcAy zpIE~Zc`VY!5CgyLD>wXG(e13AvCJAiL7g!f*?k7|&O)eVo4Bv{Edh z$a#$Mu}0xs-7T^E5ixf9d zvT;1jvRnk`h8!WWoTJV`=7(>ZG{wddy&cbe@fY>Eq;Xp@$7b21y;`?LueP^{OW@1# zE^&FiZfQ*}y+O-Nhn4BfgYKbA%;3P6YB`QkTpKs$xdVeDl@9T_fFC6{m(gbf_%a{($ z%_+{6_J5FDb#q$V7LLdwwAeH_KXxTP#8m+2fZ{8`$+X2s+ME^^j6X1}Q3!frk8?L&uZs(;*T zqYXytKm9MMmxPgevwx&sQdK!g1-XMrChI8wxfSUS78o_#`c;nIRaHz|X?Y zXJG-cu<(FAKXdk#f4|+n8KMMzC78orD^ zDdP5&@Kp9`N8e{}oAM|3*T}wGkuBYb@1!>oCbf7XipeiK#Nt!gfA|$Dv%>gqHRi?D z6=L2ySaj-}MM6(y->Rf0zl>6J_+I^6=GIi@HT#OfvY|JW>j-tO6?enr@z$kWYtiJ< zqg)m|*UANcT`3>>Y~kp5^0~3qR8~jjtJv=~oY<`EX9adM7|gF? z5-6;0L$)cWPa2E{i;mNsO>1r*`H!2`&J4V1+|e-KGU(~Br-@`#EsEnc8`810(Q{M* zEwp`KON={fmsYb{FH2%NM-y5!%~hA9vs%}Axt4GQ8wUBlIGkAr*%*5+pC5SwIhE<6 ze|c;zOo(+q^`>yuEI>{;*BTtAr8Rkr9Ck%-eJWFXj`c~JAOXPn=Z@?Nj|84?>tS-^ zE4FbVAs%bFdrI94(a+jzG~Q2D9o4Vg&UxitH)`9zEqg0;*YGiN58zXN=1 z_=)Hq24eYStNp=OqmN6qwo^*6sfOljaSiaRAmqUq zC`6847k4RIEZaF~YWD445iLV(iQ$V?F0nI@Y0%_@?5c92Gg zzHdtjPI(3vADDZDVwHy|LTq&Q-~ys? z7DY*rm;X^Yz=J!6Y)&xN>R~r2?g7}84DEiJ8Cg?$1>c{+HnBp``?FH&S68>^ixKLf z*G5k>(?EN3>;c8L*4CJs4s8@<%y*ajF(|iW zLvd$ybxK!NF1tOXSmz^OWZo?kB#@oeC=E%U6^U8(-W{CpysM93_aA^4d~BTS<}R{g z$cbOvtNrOD**hn&pE(r3oU;^-ap4xX-E?-y z``i`iar?^W{P*=fNdvE5YSmbagju-*lb78S+gbeY9Ck55ajsN}b1Wlq^jQDzx$f_W zbvv|#w-;+xaop%UXfHBKN9BIJs3n!*iUY$rUgGk58sm~A(&z}ee1+i~FT3Py4`cve z>hvk{-a)Oq&xIgG{_a4(0U_ErXE4aqi$zQ*)u`LU@&e)Xnq4G2dKj_(ems_`tn4Wg z&_dUR_dX?xF$^k$?gQU-?H@a!_MojyD7*|kWpbSk_PoWvy*)8M#XPHc@eg2 zR(r@)RFKtcIY4lf*7;*1G3Dutf}N5bUoKtg1z&oH9L6-qcP))4VdkMkgDuI-Lv^U{ z9{cz8$WrlhxQ|a-dD2b&U2doLd*hS3Vx0q~M!vPJWAW|Q1$q1ZP&2w7gj18|bIOu8 zo0=1C;Y&JwFM3&_KRyr)%kU=3I1QA1veX;dEsE29WKw9yiA}9~2R(3aAP^MfP4v!; zm(}&z<4oz&!c;~#m!{aQqsbnj=jusPy3dx-6p#bm&CI;2X>ZU1({7KGDg=JTZu0O^ z*FvTdM65w=FEr6g=X+#AIDN_vcE9Hg;1Dtlcjml{*Z6Gh*M$8B0<->M1 zEPM*UjC+4-{Rcr)J5LjoBgkW|8`mG}oTzc3EWWGqu1aEXPdUdQbihdiks7*3zh0UmVd54~-o{P$SW&X80k}PWPeDGjjqh;*0rjM= z^0)o>@Ol2fx?kcB0Qwu$Tc-jS5{E@)Iz*9tU=iNwRL16g*N-~wTb1f)cAWX0XDYlP zVr4^q)EeO=fAp?=;$b1;`RCO4DJu1ET{V*U9K9bk(5tTgi*{99}P<$psk8yEXRE}Sz%uA$03Mdf%quwL9*17qiVAf8%u-9uGGG3Kag%Vd; zvQ0fu-gcWY`X#QVr;yfw#IRd;xV=Md`R(ikZ6%Yi)6c;_Ha__*nqGlcf|57Zi+B?XJr}NQHNyGUBEbO#6Vg z8XWRn;>L3SF&DB*8fETh(0C(Foou21H=uH%J3aG)BHaKo(AZL|D|GoFbrlEBo1e`S z{XF|wfP(1G&RA(<)%gX#T{UwULA`GdxrOAo<;ZQc>Cdj`FiPg}Zd#u%-F{6WBX;@q z){w(xbC$=s}a_yGu^pg?B=EP5w2pV%kNuAd;6~Z!STd8peiRHfzfKVF|&qmsu zzRBQ3Rx{KB-Uu;6A5z~Wq8H4bhr^D79vi&=t248=))`*ehgP&AD;;^~MOT z76FD>!$OXULrE`8SQF_-X;711}6(BX(rbMM3KmQ^VIrFB`VB{9a*;b)LvWp8)1aKtv*$}9^(!U zs6AfOKtvvumNx;4pKHo#hnQFN4r*AeQ6eu>-yrqVJ*8jjbnT(7ONZ~T@#CJkaY>ec z&>Q^5`6_eLw!WUU$&qt!gaGv$IOBr|xE$bk4G>L(~LjxMmBSU!s&r3xzPl=pywF1lQF|>S{ zC2H>W9)i1Ig8Xi)tUL^z228u1gl4y{>P>~1ieRLLemAyGx!B`}l%88s;^e>nyFqFF z4r9n75Ar4Jz;#%*Ri~k=&a0^uttt}pa-X?m=mEJ84N$KgkxGxnZgoV&K_Tp1MFyl* zPm?+QaM9t`6sE9H{FPrGRo6K-MZj@ z=J{T2pRI6x%H<2!O_JXU%=j+wE1x%&RwA0tqGpeg?5Z91bz4I9A8%}hy-Cdd<%u3r zBp!6@-iE*L+@T)k;~DPgzP1v~0_dynBFg=76Qo4imhq3v++bV@5q#J^lOjI$?7Cd} zAh%C_l@$4B5;3QO+QJ_`?CAkKlw{hikmgBvg*Zz`n({ugW?0mb)R+K`0+xkAGn{pZ zTFRVo#SWY7K<&5P%@wpQo0gFf zZ8_w;CIjrcg%pJjG^iTz3zaw6j^+|2&O5%srpX_|93GT40!%ncRwX%HkoYk^2JM3` zjF;@PXUmPNWWqd`b!IM%lO$}{7|KoZ>8?g4)$yNn;b~n}OU5%*I!lBod$Y@wsW?uW zZ`{M|7d#Jsgnv79oD*o+HP&C8AE~;UbY2rlAUkZAv%pCoe3JU$JM!vy6GFZrbWIt4k4#jb!b1R@h&&=AN_A>tdhT2uE6PJjDo$d>a_7RBYWS zT+I2JJcX@q?vi3#*ejeX*B+%lkuG;CyVH|I=dZ`i=*Qror0lIq;7-}?pyTcv=7CnV zt@~Q>?B6ZQU9R>jL6PH#KwKTaih=1$$iH>X)D@c!;zQ<9xy+iPjDl~5Q~_&sxim5l zAD)xEmk8yE3dax%OL10j@dr1@6+teep1}w$UY~eLc+`b z$fw(NSr1!01Cirxl~V!DwcG5v+N_)mobGA=+_bR>&U0BTLKQnu^f)oHiRdsCTdh%a z5iJ3&Mq2`+I@Hdv%GO9|v6Y&&25#W=+(nxxVP6=e03;uzt({)(7aFL_$ zagxTZ!B=P4kxYkT-~8)a59c*WP1E6maa9RM?P9Q1f>8{7ZxD^izOuq+$&`V>TSLL1 zlG{&&ZfELVS7ionFVcXMS%f@7scDIlK$LIeblT>Pi~()W1a;1~#xX7u zmd_UhKP2}!h{qW5!>=XPD+Ttbh8D$ui=uMsmvWSJR4HS*?ATNp4KhVY=7jISydNiz z(Z|PW%*jJ(e@05ixF0*1x2oGb4FbPQChK(HYtpt(%=*&!RCTG`mm8+B_w)quVe_(8 zr@u?NbF^_-TjZ|cBGK$wTqzK%3dM3VN*MkgpW^F`-UWA^6v^1OJ^~cgQ9+l>N7n!u z)okOA>$^Di8&P~n`zdQzoyRsD;uLB8ndi80<0v!N{7~GzcDTy>sza|sSgZTN{r3kd zLMlGI;DDexzZBcQLpPmjhpMvagv2)JwKuZXqDx6@;w!5XUuv?GyU1Okr6zA3es}$N z!y8MfA=cw+xy=(XGr*R*AXkMHLQ$ab8KwMvm5g;3-Mb^7!WD7c9#%VeEx?YOJK@FD&W3hR`#&5)h!XF$s;$B0|0nP{h&PVpg%&#E;3oJBJd_oSi-Q0O12ZsKS)x-O@1fq$JOB;|1;06p$s(p^|`u*_3*t%|UA zn<`^|DUVE1zm>C0tm!QiKK0WskU6>p27Imzb)y$DB)%kGV4q#4{&uT zrQopW=Ksx0QR{Zjt1zgN{~O<~LzC!EcEBGhQ~81%Ma1@+AD{@ccn4LBgilE7^job1 zcyEsdKohK|g@q<>-o#Uz?h%eZx|WZ|g9sm!8h5Cb5B;-5;A}p)AMv0^Ie>i{o3p-X zWSJ8F;uvtu;N2X%kzFeV?HA8b&@|_vE`L8V8ZZjN>r(XYx%I#2(4N(}mgHE|?fWL~ z6C1Y9c&qfqp}rQ?7_{Z`L8}2(5BK#!Y3F<@<{~dn=;3-t=`27!_SMhtnRXDcE}0+Y z4#~=cyo_Io5l#+gBjLqKxRe|-{~e>A?Dls-+vvHg1(ut2Oc8~sJFP`I0r~Al&SgKwXYPbo-_b0v5m`hvwDG*;p1Mf#dUBS7BpGk1z*{0 zS|cDn(z{=_EhKxBiT&zcH68g}^doekje-{EGP3I`GExSo<&3DT)NXL$cbP<8{2JVM>UlbY0>brRTrbsc~v^N`1QM2Kb+z4z(7` zc*@o6C4qeHI8TzqMok0Uam|csp4{6VVzrFPUbSneho$o+|IlS8zIEZg%f6Dfxy!cVFr!n|tA$Bg-xrFZ2~c0=QF9-<4dF64((?A~ zF0lDSZ>x3rT2d+DpATuP$dJsoB-xBmj&5;+qfFbZS@v3=>?M64n#(-g!He8Q$ zZmMeT{-8uH6sd<(J;gt*jzHX3C%SI`v3kF!)VBdosemF+{oxqkU!{Cj<=t~*HgaMF zb{9u+2~Nws0rCzFKi56^oxJu%(1j`!lwN|V<8GbRAFu%{-R|e{F@RLyW#mByDj{_5 z%1eJxs1F}~mlGttOm*zbXL__F0G{_o@AhNPGQzqjYnbTfhES|}_V44Y6&??a+-AD( zP8H0BPx{6!Y}XC!5U*+N8m7O!#{d29<6Fh76F&3zEzoa98}Rp-9%^obKc0Bbh2e8C zFQWrg!W{f5CDVV=61hr?po~lmo%SE^C<+bhh?hz>kSUR)#0l(AuX?uL<@Gym%)ToB z*=(Wce0^}exs>&Y@s=L`%K4-^0>0>?dEjTqN0~uCp(e30OY{m{Y#v=YHS6dloKBP&ZBVd9e$*a z*Ap_-;s_xC`g4^2TB0F&E^Lc$@=faQ`n+p_Rh<4nf1ZTzMzAp&bfOU_w2~H^?cm@w zRx>#;`qQ>mXC#C&@gw7V zQ`OHqe1n0G#H$s44?)LMl9wZ@>yAl{=-wCAuZfdaDxonHVPP6Kh4G*%rzA58o&Cqi z)0x62LBibYe0rN;Fg=dBc+G9GkxGntPwLUC=i>2jZ;}38)=h_K42f3c+KudpB>jR< zW9+ilACnQ)`Qe3tvWip%^7j2!q1pwrXw{la5O1A&HL2E!l8&ZsVF=aRv_ z`ti3)vQsSy6^0DT);94$i!nw{9SW5TJ)JiXVkcwI(l57+Lc_AXDs7>^VX3w6cA+DW zzliIbFdK=bjXUH)VT?xtr06U2=2TsR=mBJD5_AFW(1idbB;|mdTF`eLjAFW1!y$tc z9R&DVawfb6{lmq_Az4Knm+D%OZN!>p&9zTAklM`fz|J2%s;^0(R-d{+Ie8?7sCrKN zyuPX*VmRzl{62Lz?!$hg(E>eA- zo^hRc@nVv)5T3oP>;QNf1d=dR)}VLUM|ghiHjEhIMmXE8nWHmUwd{2$HI6(Rw>(!4M z`p|kGmJ~CF6^Ai!R~Q5&mUQF7@;LzMuQ758=7$9sC3N0Sg3!r7*XhfO0P`%{!_&uO(+Ly1UGy~7Jv57#Im|Gr#{ zCwRcM7*yI0?)lK@gcf}J4EB7sBw2rXYPO@lKXsqcJbyYasNO_{@}Vc*CqV!uN*FB+ z@^G~SZ>i!tDKPpj+ag4UO$rvLJ{*=y2YNFG)b@r`8XL#;c0MPNF!0cRp*6XEI)v4F zA`ppcvugUN6e)?E_rm0?4JF%TreWU$>O<*MTpq~7giQ1kU!xTltBJ3YIF5(Z`DMZD zdEi5(cE?vHz~}=3pbn!NPi_Y&aGT}K47K%k`5nCJsHMm)r(3_FpNs1XeO|L?>H+v0 zCO)L?LOeeJU;H2vOc_Y5oGBt>E*4aB`#rG0fQ)o5sR^n)Bk-2+DQ zrJk?ux1;X!Ugee2cjNa69wUi}AVb$AcL)d=(Bt(|2#^>G>E4N>=`1BX9x2`4*hx}i zpN1p~QG8w}*U@^^KcR5k{z>qZ!m!Ja;fummDZ@$GV7M1ofO7WWEs^p|d2bAfhBD*v zF3+~2>s7E6`~-Q`RX2vt%nEu@TXBik+9|p{o#gojrW4R z>rg0!9+0i?Sv-1OF&fSLX`0`d00MR%=%}Q3>}z5`hZLK&-(ydY#ffyxb8QNsCmFdkEoma zT{Xa^K2hnVPan?iSUV){X2V~eQ|~4NSfP6|LWz;2d@0mdu`ip_^+NX- z^7E;;aqjSDqom%?4wrQ=NsIm?vmY4zTW_W)A>Y?|`;?ldk{QF8wA`uZ*8%9n!OTm> zdwxPV6sUVC*OoVdm;$)$V&T|wLpkW1-K*cy1KftL0&t4<04ahT2s_!~O3>nW_Cm&6 zGKS=AVV@Y4L+4VnyksPi`9RcncZ(Z*icrtbL0hT2-ASZ5)wTbsq}-M^mOmB zu>rZYpM}((u|7O@6x@8p&yx(Z9Hg2I>pl_lfpFG#{#+NU$ z>MW1>AxZOQ-wZ|&v2CFQpn;K#W|{gcDKJ=GauYWnAxN8WQsGLti%hl8dJ^U}W69LS zjma92Y@ikguFoXd8>k(1HaN~53owZ%5^J*GNtv$=4TJ!vP!Ph#4Z6SkV?$J<>4 zV6)PHn2*cMI}Gq!uZ?e()3A?^->7jot!QUS4wmlDMjVbZ#Ku;~?d~qHXzfI{l(Vvp zm!7i<6$CTK8b&fzW?mR;b$R{C?CyFw^Dtft^8|6_MC7sd%J}fhU@}`%;Q{)+UswMHkhcsW#htQ#tomRkb|?78125!WkHu z-IhWRYaAK=_tIds_;7SmSA4W2=`RYF@RfIY3C|2q^cjwxvEIdc zvs|9^Xj``-i*aY!Ra1=|jbiF>hUtX5is^n)DX1yN7s?sHqBoaZZtjAKQzg$*J-_Mo zh`artDp#oiv_r9I)H9wY4Yb*P`*y^wq79g!e0sRbCqh9%I zg~<|LDMhJ_BtHT^IcebTnXYu11SZ}{66Ifaxm5dmE0nrg*l6}4s zf4+*j2lw2AsV}D9UQ97wOu?)j@qp0OfDj-OkQ)IAz`@BQ?ym**3vEOIpp4K5h3Biz zdob$76!Uf-WI)J|+3SfD=QVhn*ytHE9H4)pL;=l+1VFKP``YiDFaZ@3!Gfv0crd-;q7l)R{6M_($OWi9U{7G~{em;65{iNjmw( z6SW6j>YFiPo9{UzdT9K@S`dWb!p-My)B4gafJ@`I)Lr^)TI4`t+~V4c-Fph=J7B6g znN-EOyBoK;^r;+#JVR+3i9OcJcqK2jLZ4e@>*cwIn`A}{J>p?wc9xz)kU9f*%P~N- zdc!Y6cMQH6N5aONr+L!VX2QkBplJTF{->@XLUTZJd2=$|v$jZe2!AFqeK`lc2CdpL zS^i?2#yl@GhhkX@mmqDngv{g@BxQ=p%kA^?_|G@AVb`iI8QpsD9G(Il`H-+XC^q;z za^z2$b{T1lO4_9jR8&7%AEbmA6};)@@!fEW>|As@t?UvdsJq`_AhBew+!o=6;CDyI zyq@^;94F~s{flk$8OONQ61EdMSUQ5B&y{EJ&y-)m#3!!`4+pd$FCZUHI!YwdvyOyu z&X%_tM#Q$TxCsdasj!>3{D_J@HiCu}VdGWE)`wwvLVT(?ECtVRDh2z))|dX(ajI{% zrMo0rV>yEmD@gHpv2?u7S4d4u$Zr3#|}gM^s-cO1W6O^XAwUp3*L z%nW&`F@i|bYDe>4Zq|C)qJAP6_kybHX#BdFY6kn8Q$f7GK55W9_4kkJ??;8$8)-%| z>&b*RrL%Lwp4{GaQ9qvDmS2lyeiw;Il8)Z`BdGU$eOi8fe{e#phL=NSAlvd@^#iTF z>RbMNwvC8&FYJ<2zZEa-A_wUM>&VG-)K|zW6tWlw{%}3-+IfEd_Vzqzw(qqr?3Gr) zZ;YsiQDD^)^-d1eu`#R_Io2Iqyd-s?S{(E#;~thXA40GZ09o&zQYtFU&?C`>kGP@D z=-p3oN21{uD6hKGtYP2pH(dn#ub-l0tMb?-5)wMfaURYSu8nsg?wZ)LW3P_>2rs0mz19 z&C7*vp;L!e*Jtx-AfY*nY$^`?ENZQ>^ZB%F$^aa*$!n!2IEfr3BU!lHyVLuhA=&0^ z3tt_9ReIhh!RW|Im+|&DzEK)jQGwFF&UI3rG<3!d{qJWEZgGDKKRidAwHt}QX2sq_ z(UAK({niLll)b&?qV6PD$ih7nxxPfEyv}`KXy?s1ji_sZrwzC*x+YQC#W7$K6A8i6 z2rD?+E#t+gm^>xG2k+r7ZCLN6J=5dv>j_7o?Orj)?|*$6^s8XgzB7Stl8jn>^naY% zSuxsGBP&oNYXf(YU;j>PMW$a~gOXKbt0M;UmA@T>g%Y?v>kME$Y4+&T24bN5dJoHe&K^vTGNtbJPO-Ew2_Qq2nUbT@YENX6H`iR4l$*2z$ z{^B2U7qGlW9q%!3k7xjX`YW5-HY7QJDQ~uuJ{JrpC0m({EPT2oytH|C`KU7{=B+I> znhSnr@A4lL$?5j=dlY|mcB7-^KE&da8_c3zqd}wc!7iIMl=(II8`79`y@5f^v!R4- zff2Up`AKSAnk4Iex1X!o73&;L>1wv;7|E&6UPo}E6sQaPYDY1A+$hD35jf&GcC^FohX1d687 zET65C6gq;vCfZ34EHF4?pj$4+4MRR93c)^A4O5w6>OQ1zecDWgWhZ0C>xl9{#AES! zdTmhqO#^ZouF>8`W+$65%{HS{%$>`pm`X~ZnxeH%1S3k0xbgLt>Lh0V;m z?)V2-8CUiK@0cIWU*3UMG(x2V&^rC;vZ$u;fC9y(zw5Y%1n+qT7|}-cGm=I&3X_SN zzIx0S^llr0FB72!brweFdhw(=UKvGxs-(2kmc=ujDn~~?^dO-e7W_=40ac+3A&{@h zi_^gHnCDM3A>402h@aipnd(cuR!7h8Gt6>`D82l03UO+UXM%gz`x2?*3$GJhHz1jm zfyB0xUCby#_uwUf!^?}q>+K5e>)jw~rfbEL9@%9%9YV>N~icqI2j8etPxaSECxe$~mpKCGdS^ zCPdzQ1A%V5rg9$vDaF1vQkc=<^Dd?{Uc1$~RkdDr+d$fr8Y0e#z@wL{Xz6F|FS|@-ozfsM9l1Q4jHC_>=ou zFVWwciArRh9BUWJO;7-iAGAKyB+JKjEO(c zbZMtOz$ebbN*K*7{gqd@L}71Zz9V+20+hump`gXekTTKvb@kY7>7YXXAf^&>53|B8 z3cPe}VH)(@2yKnH%zJ#78`#FP8s}P+;{e=a#1BF2g9!t$K-mfQlA136Q4iLUxyt#D zzdw_0UJW<2>bJEd$gWoWEQMATUg$ISRpn=iu=>myicTX{c^Hsqv2kX6^4@4N`ks-NeHjYBlm7^`wB2D|+M}DtiJ-*S*jf z^X7>}g=4o^fKoBi`qjZEg2egW>GiIVdG%xihl{M=?GyOqF32C{E*ceTTVo}p@KHtE z9FUAd$yMfLGcAMyzZFIQP?rL7a!|fNh3^2Jlc)-=T=VP(x_dlrIxZbt_~VDZ86{*z zZhO(+ezVc)6bP)S)-V^-h>D5qN?g43x&9PNxxz+K^QV_y*=FR5Hh|L6f`B3=xmUi@ zl}cF-;!61ixU0pMWKn87pLIhZ~XINk$L(L^P+K*m^yFD8RE#9aqZ&YMPGFSOJzkK1{rMhQHt29Nw$!NaCE0z zS*M?BC~CP{4qH3YSvf$hPdW<(<&=I~z^F~s z*12Q%z+1VE*krJVOJVIOg`ctu5}!Zhp5z8`EL!D5xt`7~MUJ0FyhbMO`=_ENjjNAE zmP!wGhVf~wN_kj)bKBXw(a>?hmO7TqBNkWNTpiyF7<2f$ z#?+8nHyKsaxvyrWcxe?HKXCA25nCFET{6fIb7#aOV!xzmU|yCR9fV8ljd+FBHRgsr zbzvAx)U%Y$#_Zs{1>Bl$VH+JJi~6OZ6RUgVDsobYux{A_9^V448J2OA6ChgzAIBRi zIqlY<1C>hf14no5KHw=UA#dugFAs*p8_yaS``M-d!V-gUIkJ-pdd{~~MDZt|(^{9Z z;tM4}-!G{!t?pN9x%>6ZjQrFxC{AwDx-PDe)E%5DX!TOp&v9q<4LBz;6BXV7GYMbR zmzCPzxeTHbB{RRf+x`iG2d0h-u9ho#I^7YSX4_vZxf!P-d3P{Zw7eDkK>;ZoJq^_4 zO{w`YiXxG+0tY#C(_BTFTxkh<8u4&aSx1>*PYpm@VUCxWa!*f%K;2I*uLqQ3~tFq$;=k?>Qy%&|41ZmNp z=U$Y{XQM>@`|_&n9wueS%L*rgF*_vluq66+!xZEZuFpiYTD7A@w6#$iX{LYh=w5_3 z%uuLjQ4g!Y=6Q941@YdYekxV*x>|Q_ToGO)ad~cq51|v7u8JYu1Bs z)W)ZwB9&*u#R4yR(=>6#yL$x%2iejveoN+Rokfj{^G{U{OL<4u&Wm-J8!w>Pv79Z# zk74aA2(47!vpBXui^w{Sag(tD|5d!2F*M(9y09w~r{>tr~JyDTzC!LoW z(L*13O@kDfbcnH-c5{(Z;KlftVlYE`?=@;}wzpt21TH37{Cm{5?2`D-Iy+6=#17@$ zmV&i&>o0VOX#}demM*ICD8vg3olJ{QM+;xJZkKBGD*?|sHYBzeMRQ_T8O=UJiM!72 z4~}5V3N*IvayLY3KXi+u%YF|h91FS|W!2&^3Djk9gNp3`AgL`0M|-wBSH*=Fm*>t0`` zpw++~b?}5df_mVi;~y3h+cAKy(X0CPqqkxABP2}=pzCRW3Q$9{<<3=yWuS|kbfG&o zKuAnI{1c#jt*f7x?`ECW96N4u=X#iX;yAF!g!81-9A!|o^7PPwU9b!iedKv5>3Ugh zps8S0&nUy`Z&;GW0QE2hr0ad&UIrmJpB_s(pL&iUi1?+P8y3Wmr^kIq5-q&_Sw4>{ z`bhk64852AQ9PqiH@q+zm3`oS!N*0@`^tc3c*G*$ZALhofB!-MYpTcNvxf2W)EA&J zgCGiaxK~=hUfM&w@EI}Y=`uU%U%3xh!1DxXS;JHmi=yc6E&!Kt52)UZu9Bhp#QW0u zcmJt^(;BO!Uo@q^i>ZlxEYd?&o@(YBP+QB6P^%@ifGc8uHp%2^qtXv?*4ApEVneeb zY-8$>>2|%I-?qn2d5nfxv!?rjb+zvzM?WK?YSvX(@|JdUrfNKP0hKre6M z5r*8WVOh)IKbsM+Yvh97F1b`?k)P zbu}DTjFR2;r?jsxyU$IKbsUoq{=$ZB%u9w;S#o_V%yXb*CI>-{GPkb;;oS2lbob@q ztG9|YLxA#6M0f7A(a*>(!;U!ts#J?YOD z*t(Yk-iuBJY~1}H0AWC$zl&K{?ia7oq1@V}GYy4VkW;V<(SqC5JKp2VexqF4I( z7YPXKoIZ+^nsnsMIcYVeT|3?rmQJn^R`$ApTA6NdUaeu?isbw6CknspkeZ?umgq(I z)-%y#ag<++nNk{MPTM$ZmeiDN&g%&0U*{~DAgB39D)g0p^&C2{F4@S|p^Np$haD^> z%zonZNxr=3kSEWe59z#R;qOzUZ6aykUhnR^Vs{lFmYq7Z9(VF%<21TUVTo&{Swe7E~Wa3*ShyhB4i;_7~KRI?U zCurS3$Y(_ZX96kRP2LdhlB57A{;Xw+fmmnwS?wnkn_ueupL|erTC=B#W{W=kL)z@~ z5Bgh4ju4;y?7NdnR+sSOihZFtU)R6#XQlT=dEwhsSD4&DBL|5S{}&uvt}XcDc6={p zp|uXef8I;)>+OaA&k1)Yj!&78FZndAQ~M{LbM1_Nt#1=sz-bQsjL)-gc{n;Q{5a)r{e*XII`&2hBykG1aq3=7>i zMrD)qiMg>uI+T7X>&Sy;L8N{ozvG=Au`nX+k7K$BM>7&lLzi1cM?4T@-r4)_OA@^F z{7`BmVkA|*N@QF4{?Wd)K%1M1fL)^hFu=f?fkR)kG=XV*Mu;|=@<3iU3`}HPo8pji4uvoO)PEll2b_|vK+tdBD9of zz?30O!}9Wg{kN(2_<~f-|BAj@#hRXfFEXn)Lam-3x5eyCJrKB9^IqXeoFBZ(uqWXf zBh){x2?PpB5I7cJo@9)x%w6Aq|Bv(X%lzc={`)`VO@;1}KYf!wO^!V5DV_CkX^9p) zuZB>KOU~g7k85x%WO;r6{dtaw$Q4VUP4j2+frP#C@>iKu&BL*MCUJOab07(4Nk;iS z8|dw`Sc(nEq9>NNhAIHb&=UZ3w#IbYmfNjuEsM6Dt$Gj3_d9W&Lp7UR!TTr)av;*H z7Qc6r`A8T(LeQ2CL4NU$N3bxlz6rOWnOIifOm^DK`HLZHUdzcc^!b2i-sg3OnP>_x(pUG_D|eG6aEBPkV~zh|refG~|w zde?rhn$Jl~ibb19J_NJ=WZb-dLJZDIG(Y0NODXgvAV)pw7 zh4~*e%=a%8=KF=IfXv3p#xK52MGxnn$p$vjILYN9CN3qD{5Vb?$6w@IEK^HJLYaaV zArlW}EkgDsYX$aeo9Bi6kXqN>#AAno6mGdnda8Wxw4N#( zaXVF8mq@U$@qM6++VKROh z748qu;P4qNpIFkUs_&KFq~m}4w)`e;tcqWoI7s*H?x zB`e+LG<*fiQ(_$}uDz$9wao#^(pX2tN9$CQR#;~D%b(Oj`f450ChVg1qfO^_9fEJj z8iMP4iWqRkMsoF;ytWdtK-A8~fpe*n&~_$gMxo*iJ}VB3ZDFsR7NM3 zo=f|9D3dMS`F!~y)63Fl?q_QYj6QYN7Xp2{D15Nw9D8;lJOY%&R$g_? znj}3;Pf_&oOlGLEpnmqSlGQTb-p|Slg1Ps8w!R>kPv~c*dCq)5lV?<{`EPoh^2j{q zj^Zq^S?HAF9OTx5VywYrWk|la9P|O*E)N1B54*A}lcVLzeu_$7>xF1zuFJ@x_!&9F6mBqb$Dm`V_mnDP>1N^CiF8od)?UH*!6$mTc5xieT z&^$;m3%izFUv}B`W!jIE)3k^kq3$%%5_ouOyFo_AOvnT&c4JJ; z+Xwq${^-HJ@JDB88JA7KUJ{)sh+ibDiIT-@TtDF_^G~c`cz*Q zKh?JlpDHMPsxKQqm0SE&Kcu`icK})Q>~v)};vd6(cA-(`8qb{4N67Cti9EEWs03x* z;wk6V@w?(3DE~TzS{;Cfh#)hWdWrjX|IH&@31`lvcbP}O`K*K~kNtN>yW%%qMVJgW zoKykIpGbzna(mH|MRdM>yHxkDin_%>KcxoWl^bwGM24VJ)qj6hq|KvPifwoH#y!n` zeUZZ|59YUu{@%EyO21cBnw^v?{ZX#O9FJK<%G3CO2bnD2Z~LVJ>X+rNzgMZ`EZ5n! zSld5HYn$Jh<}*E;0ZEu7_LYQgF{#DFWn}|O;v{AGCZUuv)J}PV`LpcPC1JX1lqa%3%c#nhnmn9HUTTWWq~fX)<&+YMp5``I4nOmhr)>3&n`mk2-(R}IKtUh; zoyN(E<>fP#v8yr?aPU&saB={>=C6-XEpA{F47fyaAYD873F1QgBHG z0I9yeR-etYtiFf~Ak`0w^&iEO5-$BSZJl^%$<5tzccQ@`g?Ir{eMhr?q*;GjRbQ@N zs6GEk-kla7iBGha2u}Fn)BoJ!OG5IKD75Fj&?znA4Dw&oCI1!NV>b^E{561q1k77Q zoyTxWV_S)zFH7E9%K`>G@&)aiU-_oJigD*#`1|ksXLQS?2O0Y3dp^4-LjQh`KR@Sx z2a@@>h>vPqk5bBt{bb*x+n&IcDQ?RLl&@=IkNmL~d*qK|Fc}e}BU#Hy2##bGCebpI z^^-)%NLEJ@6(gDZNtladDkqUSl8Kr`<4C4q680jQWJ&alWD>C(n)KHyZO0Xh$v2gw zVnjtLhYlz{_$DffEz_s_>$jWIyt#?Yl4i^;UUr&&RNR@k{PK&Roi*1&WL=aRNM}qI zrabw80h_E8cCyEnKHqs61_PR%EoGmhr$yl)YbZ&CvKj9Bqy3_HV;0MkWwptomS&;R zS%k?SgV!Yd%89si{4x*um|MgEK%Xs_%|Nd{D(pXn7LrA(TuVY$GAn&lq*5_FF!PJ} z(P5D(b6!HS;E}7RvV?g1T@o2T2_x($*Ns;Ey3y)33*_!SWtxNA2h)30R?Kr>e&_AK zn7%B0y;X7Mra=m%2nDe?Gf$nR8#|u+hK$bmClnz7zmgtL^2eM~Q%Zx;*;W3OQ${@H zR6AwfuH+=LF$5lFu1_f7#pFhfF@NyEe zZ#_!5GZCAaN5f?Ud+}1frC2!Z7j2CqD#CTR&j_AH+?3YT`1@8OrJ7+9t z!Osgf<`FIV6_wNX>Rz}kFMHJs5j%>LC%DZ+YRiLpwYF!|3G`cSP|GLf)lnbRl0&Wv zYWY(ch5))A)bhHtwti|^TlcNu z0v%sJEgS}txD-#H7VTb7jEQrU21(7tYSrBm%Y^M8r%{I9+=8AI=CLhjU zQwKUF??$05WnY}dbP}!EpE3acsuZ3-d?HOK76g!8(vy_xh1c$W7Kl+k{K$2FTLa3pz0s}|+jlc1sYtk^&0D?hF!Y`7@a`Kt=Y^I{#!AZo(-H|f~@ES|QI@8qN0 zlWb8YH(q?nL=mxn=yrJTn@Hl%L4_rawhRv>JHe!gH$#@==C~3)>shMKbK#$Ac*L=55)J7!iaNif3)_F#}Q}mz7Y|(_mk1* zW`qa(V$x>DsnnwIVBaghc$2gc%QD@*3Rc224*7$9F^3D0t|W_LYW;Yyzi6o^>>>~L z#k|c-h^eXL!Tv=V&99Oc=LuvfNO)%Vc(9+$uhh8mVE;;j^Y$%^IG)*I9_+tPdQS|J z1ry2B(v~2&dM)$*Rh9;nBXy-qNW?PTPhxF_FHfHeo|v4ESiG(1TEyG>ds>JvlWcFl zJ{3l{nDzOa8(%z}5kGe4E+st+;?JMonvr>Q&wuxDu?)g^U)GSYjb?E0jDSr89!HhQ2UN&oNmvDiq&#Pj{1mA>5nzP?t|w4&Y3$maDnBS({?bQ!KMT?)~@ITYq0Z`R701 z{Wp#A#*A=jrY=gPB>XW;PsSR&`|mqBA0Gq3pC7P6q)t7nFmf-+NF3)2LwQn=h(shj zMj+{ddO(fq$?oA}#BucFm zqP7t9_9yxKa+s3luj*q}dT+5WHLY1veBz7Sn)l*&Uz2GtBhnmZB%5FFOSRZA-yO^= z!LdbF0C>QE%{bJ1;k$2q_Q$VjpzeHCy7>?@k>SE|_jwhvN5s%u{R&yx2<#;J&Ds z;7qHfi#Az6Yy))PC7p`YN(DZU0F@vfBuK;+ko**qL>;y#<-@&w#(%62Qm%6<)yZ&@ zE6B_HoAUCW7MJ$}`d+pwCDWHV)1IA;p81h8FGnoBRb}aBj`HbbXSef28#ZlL*X)Gz z#Mxh6AN+mazdmJ`UH@_q?uX~A1!a2t_tnV(cjD(io<|3T%N6|LpY)-Sa{15iq62YT zga7)0{t~w|1a$8pH`MVb%clol1(g3r6aatleuzoPA3clYM~^e!C2%=8 zV7EB<-+y=qEY727baL>`)zn+f#H(K-`jba{6gBzJ(3y%(zmE|*fFA<*kKdw$ z`7=4ltd;!1;^~3N)4_lJbaL=0n5{hV?$Of&etCrdcuEfFcEJDqiauX?0^l#+fw(s! zzOa8FwlMzd7CB(&41tGxkY4rYzt6*i61{(ZdXSt{_)juDU}qBk_wVjOax+B0@($9h zPvSF&+3!Lh?(#r5bn;&g|0Q+;{@~Tq0~UFo{rNgL5X_tZdcs~LxwF{scuIdKv*;)G zjxCDpi`{>EAdKIFX5oRj?;<|GcTl?dBtATSoUVKR;G3rh{6368#y`j}ya)uA2eQ$a zKbt*0$eiE>!C0kqo;@H3$qg1kKnjwta`BQjO)bj&!Nt=9wzS1Zd;0G77i>w-?yau* zAK&};W{G67|F`E%h<7?WOzr&#vtZ%4K7Eo!a+n>8yFD*vhsl*9S}XgL#n`!h@O&=8 z?xIKd3b>$Rw)LofB$=_ zf5B0o(}~E)CqX25g1i=ozS6XkOxaTeO;EG^)!3>_rmqv1?6K$EVUN@>zEQF zm_#JJRH#T->qRiD{8TeHn$q2Z6hBF{2!i;6e-O$@{5YyaHt+2nJHrL^%eL2}=seym z0T=FU8PJ8;N|tG`s;))fOC_uPp$}Z<5;R$@lSR~d{DjSE8DKVzD7b6+MLKInMvLIr&3?n_Dh}rJQ;8Er z#HaFsdr8?!>xYe&WJ-@~Q-!*;_R`?9g~7D^xqf|8`V!nNe$2%iI(f#S!&h73n@EE* z`z(*xXGvE1@|w=bmj{2d!{z8Aj+fEthaWOldl9@MR3g6oPz?6NOZUx(ba;n+7fYsu&sX zsK~`~@WtmzKB~3n^sEz;tC+LBAD=dDp66k(TFMVXD&L-dO}F5Ka9T@?yx)g~=S^#& z$YUuRphC&@>5r_ZujD0oC9f4})-#GNu4RgqcJHc9yX6bi!zgU==~kYh1qPc-2o`}Z z9k#Ahcy+*~X<9KidDqXSrTOy{Iy{ODef%s`VX!CdLR-Fo@(&jHY;Oo%l0OQk z03Q03PnSREmCR)s(yumgJ-R%`@kL0Yi@=+en9Xt;a?atn(rEeR^O&OlIFU%Cj?+3b zcfr^{rN*CgAt23{U=Zy{zsoj@KV=>#Xjo)Sn-oQ>B+w1Wn$I>l#;W0@qVpyO^R2YL z{-lS&r*yjg^rU5gI}?Xz*F{G3ENtM$4f5}|Puu0+pCIxt<5_$mTwGVKdUmZbliQ-= za_8@Sa_&^TD++v-FKb#B1L`O{SY_Q8tjTQnL_B;Pz$k+$k~l(Kx&EW(J-P-;_m(4pi1 zK_>H*PPTy2_B*l)>H2b~b^Go#SS$(Kg1%uNudO;o`7gO2bFsIy1-^NDkcjGX+aI1L zl*k2vD{gf>S32LFRG#l>$4uGBRK4SvMZ<)OC}Ote&%S)h4h^sK2Y)?Hx8;AgZCTlT zX=Ukj@qH=Qp1f&EgR0`CS0Vp~zdbFo@4!EpRUT}z3&f-UyjiN}86 z6Sg58eE0O8;z>pA?5BR1X+qEO*pcPnmrB-lczF2T)AeDi99IrBpjbGcd@teu$5T2S z`s{jLN|`Skc*)_tTOrBX1A|SteiK z^iAP_BOrbMv^W7WiRXTs)VQvIW1CI8=1oIOr^bdR>)*$58@|uE`Id_*PJaX*>iZ=%%1)7`vNnGFICxd)q<~P)XrrMqyAmuPVB^pPU3TL+T0Np(F^wiw89dd7+9}|#iB-iZ4vjj^1!hf8oBTfa)&dX{l z|EEN+Qd5Cex%EV0n4#mp`cY}9tmZSN;ijsTM@|&gXxUP&P<<7qrc?P&eA@guS5pnF zt)9BE67I$_d#u7>)TaNlxxv|7XsOs*kkx~*6MBi^1N8PxN18*7%3BDVC|`;iYs9$q zWKGGDLzBWx`&iaz6)nsaI@8B;ZJ~vdN9(Kv*@D-;P;}N1w_r1`;W|uC zR#U{%n!h&VMHe^igb7Is$km9naO8e`(uf>4?TkY=dSwr}Mk!eX_2-fY$m45DW-3e1 zFH6tp0O{jDpWK^Y9z1)Z!h);aU!v85o=mRCiFOmJ9L=ecKObMOD@~t2;Z`t3gpYTR z@cfb?{7B**&z?~HRXIh1?VSW{4cAC&?IpFUU39*ZaCmrqaDGj(VmylqYnQd`q>(nP zo71nZxwvQGKt=eyo0h(q0fL@&|u9|4?5_JZiP1NU1Ie zfkMqX5HHuKe|~9IN_xp|TRbH!c$s_eUo1CXe0bqR`|hDTyM3GGLwe0GWPB5bLAd|l z*=p%Ah-5GOf_oI-y<2~?2JFgHeCW((qWL=(QjQ!JsLO8V@&%A35_5TA?xAw`Q#K~{x zpWAQ4F>jV2>KDE@Z~so*L96LF;mW+zP_0wZq|{+3by(_x*%3v4$8=P(fL77fDoK)2 zF*>;=>$VVV%0CnaR+iW9Ju#TzFtx)s^ivp6-h#rHKH|45p2OdK=@gGbXNTEIE4@ut zu9DZ_;T+4aBasCmy7#XroxyGex^xcD-SZVaR_+zs?`7cGig~x^Mtgn`?@<{w;+()Q z)sOxwCdK+}bem>l>(X8OURB&DpN)^4Ww~Q^MwO?E3!WwhZ?R=k42l z=iZB#2O;HI<<|%73ZQeiTtycw`$f+C=m6?@Uy0}JaK^PLLzeABzN>=gR+p7Y}9C4)RY=wR>YWrENuORtzRxHf%WDm$PcA$b0(o-tia9 z|4qOD7t4SCQ_K;M(tP={IDlk*d*UNdWRkxa-pQYp48ap0iZ|eYi3a@7rnS!oQM=xg zCB9BCuRva}jl5ogyq+cUQp~)y8F|d$E6hj+{np>hDn5}<$bC-lgFQ~gmuZ*cBiu_V z4g>86{*2PbXN!>(AX9|tw77HpvH^Z2Nix{{jBvgRR?!|y$mT>-;?L-cr`@dhww0oO zF#qR0>Er!V`ZDZ%;k-!aY=#X*u3|FHU3xm@AB?x-!keIt-m zy(}*^#)7%rylmN*xE!-gwhPAJ-hcnS6_+Q{hZSN)d8f?won^zm^ZzIBT9_L*j`Uxl zP%af9fE1~XeN`ZbEUz!IH@?uDUE6mFk0(RWP(+r*FaRitmiXVVyXOgzl&H-*cJ8XS zwB&H6=hcs|dtTetwcrxTE|V&q!=!AQgOwB;rS}%B+jm+CADW1an;>CDh)bPG|!uwPeJAq2a1AVq)TdYxW(Wp2-RI%&! zijEFn13%~M#R6EmX(w!+Jq-h;)Sgj3?Mj+>IJHfGQ`%SW6Y|h8J3R$7F26f(Q}0?f zlM5_?`3!d8up!V9duoFEVomxd} z9`Vr*(7y5-lV4U$~8MY^-t9QD@?j=&7nz;Yue}IIl$@n zaU9S}Dm@}i4QM#Sv65wG!h03~9oWF}K(RnK7H%x7Uo)n3E1_URY0x5T2Fb>jVD*8~ z>Lny_+@1FWR@V!fmQC)pc!@QYB^s8LiW_4Z8TI|~io2mCw~cn=#)w+rR&N@4qLxO> zbqUpeJCn83dk@Wuow>yu&|caIxBL?=s^gJEd}3KR*qK?oFH<)Y8;Cn!iCgVDK5CLZ z>2@b9J_e>b=vH{Ji>78r?qmn;_nkp+o6Vdc%4;!2-9aq&e zsGo?Pv*CQ#KI;et`hLCSPJM$t zvi#b=W5YXW2Qb;Zu8*R7w&~DK8>7+2;mznqryI*Uas?(<*K|;kvjmWkSG4hidjB2+`}5tvzM0X{$dkO{Nr8}_ z`1>c-{Xx-aYjdf#o40oAHjxlK3>c|3jrs)1*T1jWFjXHnY$#g=UAaQzf*n913kdPl zWQ3$<*BYLs$I6hwLi`^5;l-vUa>INWG;qe+5iZZgh{rSt8}6pk@*N1(iRtNF_Eb&| z_Vv@X+*9iZR+c?;1_P1g{Pc9*F)65t-P0JhW4i&VquTU65^Ig|qfz3DU03Yot&)4h z7dw7Bg=$vBVI>wNdv8g-yHCc(dw zIA+O8dJ`z0;_b85pQNEl$>M($Y$gZ0UTDw3MS4@FsS{ zK`gxHEx2MIebf*@n zs58WmkCcq|2~(YO%IX)|8gjC4Kg5AXHSi2*u4>NJ?e?voc_BUtIFyj}mqv$A^^kDx zFNYF8rt04cTBP>`y>tmh0su?hq(PqpXw5k5LIf&~A@QaV3Ay4@Sri zWIG+O*9c~vdwW%2*4gMg0xNoHjsmy(#zTqU6{dSo7X~KV_+h&*Z|UTfcLtW26`zd} ztQhH@`3Ku*ZUW3Y@Uc`E{$(Axo5|ks*Xj1`+bmDWh#U2nvO+JSiqS*ux;{Z20wJ~=S0wAHAIi+lRl#bExVp2L%d3iI z&0BYYZd`l%&vo#4FeT>7*$@UNuRj#_7aFd*HCAJX6m`K|>YgBap!!vZ-9A>^Lo9dE zP|NPAyuwyslg))5&aZ0OPU&==?i`)Aqp8{oW2)3reuSpX52~lUp`L!j_C($DqG7G# zI`17=XR&O3z2;?E7nc952}^y#8|o*pPgef=6WnNd7NMO zFi)yL!kVQnNJtGxz^&g7NJuS6*u!!=;{+^cF+=KNhV&WCu-?TC>qD4fwu2dF8Z)4R zZ&>PFcYLqZ?CXMo6sZd-(gTptHXm=CKF{$penvbSbQR}DurYxm6ahO6QF^fbqc+C8jl*v@sWBS?x@ zstzDAt6~wQ9R1%oiHhuIUg0Bm_CfM@zG0BAO@2LdUqfaN!-U-AI=jA=42EN4x4_jN zHRnNbqW0+e1q+K{$O`zl$@l^s@PM{^D{J5GHO{&QU~ntIhhbPmJO~V(oP{~i$qk(x z9CEsM`<4N_UR6PKbIazp9qMlM=XdxSha&ppJIwHU7Ifs0L|-TD=GO8aAJ<+tS1}A{ zTq-BSiO+{!_l;_|Fe(DS6cw z;}xcuE#kVS3AcwBKxymjptO-9dKo@AVO&|#VyvIll;8OnW!92V=OoqrbzzTeE?tV4 zu?fX`ay$c5$mmWr4zx&QG>QE_aD_ZLCat2@29tC;DW`#6r^;pSFcgynTFnahuP@Jr zGe^!UaGA;H58|v3S=;R?>$=Xy^-6LgazO!dl(VjRqjMpW>WkmGqa9gp9SJrpLKce0 z$8M}XSH6hyFpTgJk2}G6>Vi|K1O}-K<3R@*_6R^Cxi~S5o3Jne#!ZNaleUON$ntY! z?+iYi`H&PiB9XWvQ7VxrK_p5LiKHeHB@0WSToUDSmvV`eanTbGN$Ht7_X|)e&Lh|> zw|}a)=1Em`z_I*$QPtju|GIEWMfriTkXzyc;V1(;1w$q%C1(N*MKP4$1aRa)P>-PT z&bSD7TrxE-8H`H?<05L~;?$B2S*B{qs22Gx!&)+`CBsmUa#!&IZqg}9zUSpq^=#?o zN#qpA&j1U<~~f0#eyiDCl$JZ1PEG)uGrD)6Q7%Cr)MoIY=9ZQ;9_ zZxl?uy}AQA@_&>;dx-xF(1o;96WTXvw~J{XQY52;n8+l^o5KWUOkmppIG+F-4^+l% z0Dr3qu;i4E^$yKfpbWnYmYrR|XeB^FfI(^}BvHAUvsSX*%DZU_Ib|&_ALPVy-_3_- z+5N3tjaaYf&Lj2WvV2I0ylfO?Z?1mLCy=30H?33YW~9XR@{B1&04NkGp6l6MT$jBdTr za6a{CV5HVjhO49{4gCtpj203s&4O5}iB&Y2P0gPB$t+q;>BOh}bruQ8k=O^%E4;xb zfS$N`<+EA@w&fro6k)((#nj3DS34VM!ZoUtuh@3z(k77p>4^g^opn5X23IYW$~#^3 zr6yF69=ZVRS%bVdc+dn!n|1(R6pm*JPOAC_ctvqAK8E}1qK4xDsAc%TuN?-(0@usY7fGh>gJ8YKnSgP*i)elZs@GTU%rVipko9sJ(R0#QZ-~1?rZUD zVGEaCMXJ}BfP7A6;6Z>mJU(8bVniGlLw?dPdvfn&4y20$ zcnE&Y5&+c0BqV|4+uFi?|n2fI!co7<5Penz`ix`=2Ko zF&20X+vjKN0Q8lUQejGYz8>(?(=Y^*=j&m0dfIMdV4}SSrmqtf!C8~$`3_A?DbFm; zGffjR4gi>TJ|AE>pcq_?^q`$x1o4D=G_|a;&h&_qcM(<*XCcfj0|)1Xpr;ZT>6)Sp zX%U+6X4K@_WIVk6hY2Z;M#C>-?4DNgnVcRb(i)9^L@7mUZ(^ zPjfKU64~UA&zQR=SvjL%8Bi63VP5wc2ck|9{nJ3Xq{ex2(A=u#05b}nKyCXwp!`*I zR5Pc_tX?GwxvVma(EY8?^fNy1v&6Kzw|)4o_?V#|e)6FozHI2PKEcorKjqLrOKf-O z@0F}k)T(!mnpJ8!$3UPLw_`B0Ey2Lu&TkpmV;jsvs{(p*z(D&}1N50SAfbs7OxQTd zx3d`V2sAYx7BUo*a%1U$M^TXOzI9Ul(Vy^H&IT zbt0L{+1cvMPur{DJOxd#Zl~uLpbbbdL`%C`S48drwAW{=^E6!GQ{Q%xFR$eZfhs6G zm9MV`b{Wml<(3f?KB+JYQGn%=p~r7fMHT2K1GoSH0C)fc4=NehI020+0~?eEHZP#) zTf1HMu}FeN2HifeRU(6#m|99g{Q$CUF`>W&!d8lO2^JM?B7H4shDw?r;FU6jp@4bP z;k=#&kj}o6Ssi6y*ZTN}QEm8#Ic)Y9%1$U#OUsEA6nndtg4&`PTvO3Vx|0iZIN+uP zhIH7C=~E(sq2hAE5+sd4u_icL@beK0eu1U&gK!E9S+Kt==L^^VbG94OrIm<+xctPo zacsOWt{f+0!VG}(NU#QY$5%eM&@zC!kBm7$R1+LUTO@Bf#wag{09dUGkeS181j`^F z@mUsh%Jo%3(4ZS-FoC%AjHGQkrRv@#p>$irB2wx z;Z-W_MmOqVcZwxEZNZH7k}+*{2WI5!tN3u)0(i|1R^|?tT9&{-El6(|X6|4mv^*gx zCYoZRDatePxa^^+kxvEmiXfq|y%hg!pP{>@ezMtEcNK3P1X?FM^C++d6c14z8j{4E z-95TtHm>b6gU=3R{W;N!gU~AB)`DRxi<|Wl_d0078qjJs2UOdQdO<7(ufRP8Y>Q1J zDUsm9vApy#<=MiQ4j!nVM_dlFJ_7J7Ae@2d2N}lNd6=ISx(AtUe&Y8+H->uwk#F zH!JqL=>09jo4c&Py>?biy{bs^a*n`#1@BxX`Sl&{Q}Kg#1rF``MZ}d$jFV8+d}O+31nCz+=xC4Yv00cukqa)D$$eHj zt94^{$rELXL>OH#{4Zl)fcE|ZRQ4IX;vH^h z8umur81&tmwrl*jk=r%itO%e1+LPa8>fbga@7{~OjR(Nb&Hlq?v>wNcv7MuZzm!d# zgNF!`)~T}eLpf6acaqg=v7uO0Ty^CB8hWda36uE`_`*vya=*C6?rwub00&$>g#s#0L)P>AEO@&{tw13NOHZzEKst#WuauUrYyN+ny#P zf1QQig%_>Q&%l|K$s5FpeRV79-k{kGV=c9h3m5f)VCMjgx)t^ zn1P#Tr}k#c-PrGB)fWDfNUOk#5|ddH3a%Ex|Dx1x7V zR*gQ?m=1Z=zXBDaH?Cff8yu_ddQfR1uiAK!3L4X`CC-v%wtzNzB{Z##J1J+T6jsts z@^lV7A8GAeR!LDw_68O1fyChX-t79CULL>fa6BJvdZ)KF(7dv{tw9QlPMIbP&P>jw z8HXm2LKL-(76C3kE~Iv6P6ZlzxJyBXL=Y`>p)YmXadj4KsrIN%rtZcnkT+-wz}W>D zIlvl<`i}%vjw78L()eeWcz$}CH|b0BbR2ylhfCVQl_((ZE-B3I} zo=^U}>`c!=?n_)*-*ZNHvEVn!f_4eUEe`;FpLXL+rdr}K^X00x(dv?(n~@UAoIuc~ zjzu|Gmuv|Zy<9B-K%D>2fUh`-i^&%lX2=YLqYML-4(p~) zVo2;@J8nC)|9#(kl5ELw3VgG>2aRPNPw$f6A^AgoaF2($D(q%lrzgSQ9v=3B)&DHI zcs_$I2|pT}J_va7juf2~T~b-~h+ax~-rwi<%soF(MAipIHn-+0Z!VDYts(+EVH#}m za25Hgu_rpVeUt7?Lf&_!PbQqiGA)QWmkT<%EU>lV)HI+9Eq8)WhPm?Hi*iY4= zZGHzVeuDKhoPI_m6~Qn)A%m8D!>-80_ z&4mM`KxTtgW^so776y46F`6$m;i1mQAczd-)}R*(>#Z>$(${>0dFy9#PJ@Bse*L#L4#N_j~pAVdY##~w>0rGAGrl`GBp)+bEn@ajG15Uo5Ku?(v0!kGjZc!qu z|479bDryf;DJNUQiinH05H}-dd)?z#d<^CjhWW`-#UuupU&%DY%NKcBLLSu9EDAqY zP7En%5%(BJ2%-bj=y=Su(&&Eefyua5FBBYS==uxxsMkGsSK~h;A9k5G zxwSBcUkOsbOfj0WOhK^mh^fK|7pnK9p+|%Yp^FH9N~a{ZGO4t}!tbxf70|#SFV>() z!KUW5A1@>Pqt&KLL$KHJ_JTu7P=G!qTxhog zD6}CuRarQ^?(lr#U!bEw^#`NpM~RAu`cVwpiXKh;9iV>MMA_vL+50I5HWXk!l7Fo& znTQBa1J!Cqs(Lz_MQOiMJ0yxmrc@S8TFyxE$i|>Nd9Je5nHX@xwWn?w8vI-f`jTON zJ2;pbu(69V?G3=$03YIlfk$q@AVCkw$B%4=&R}@ECrj`w#T2Vob%MIO!E)#=*l3H< z5xSJClxDIz6nF7u3$81RBF;JFk+J*qMp?VS zn8aF}S869OG-gl_j0|Dlg(HB~NML^#M;zl?1pm-!2x5k~Vg}3zk57ODk*$~+iuEg7DzoE~1rM$w_*e0r)O7eF0ZK0-*Geo(L+t=&1hKi?GYet_>o(NmE z+Nsj@UbTLHaWlC-PWWUArs*PHo&i_tD(dy50XltWNGPC3*hHzTI?+YeIXV9%*S((j z08u;PeVV?(t)^#f6GQh!J+(&)U}}1)Iu(T~&u_-Wvu|VK*^b$fjED(7n)uJZIl+1g zH!DSAr2n^41i6tC5lV@OxkR)}0_K$DQWCyfyFF8RyN0%kEh~g7J6c8PmUl|t;;Sna z31nD4TN^uveJ|2Pw^vg9?xMC0*xCdHk@hGLt3($Ck8-GE29bD_D?xGnezwbgd_QB{ zgG}P1Y}R$|5?u@L_`?WD8FeBB4A}0g?;7^a_jCn4XzKo(uxzdHthrqLSQm1Asm1zp zd83?0>ZejCGJPJcvU=km!p1+xz>{S4O>I7f_cy@hA)RGA4o{3>M2Fwi~ zj{}li5f9-jVH1b%bCA#c z{tSlAQ9cVi#)uyxg1^BEmbPs<#q%TRfZ%uDt&Cxcb*KJ@qU$R*6^e!Tyr!P3o^ZN3 zESi8+>;p#JP%M6B0KO9HNEs`j${Trt11bUTat(L+iE+a`c;`47OvsrMK5+~MpA-FX ztQ=ZFczqoB)>eGIeU)I72~R=+O*(uv@jp*k5@?D9505F@=5VK`CZ?@5HQw1O$Qdf+ zq#Gf$$Ep6v)o@H|m>6aTI(l;g?2+Q1Ww4gru7c4-?o?)Mw!c49Rdhm`YVsa5b{gcE zl3Ne8z;I=_Rdx|f^)htLK=*5Q$}ZUjTd|^^;~a$S2>yT0J|52RF97B_n%3vR>GAx8 z%i{b&a0KW%3g(y)a;x((xI8{Wf*%|lK?~#XT&UBJS68S}udBm!fl&M*OofF)^#?iq zyod{6zpy6#sO{`?eKKf&|NG89Pj;?5Fyap`JEO`Op*T%Mv{Nt@6FwduX+7Kqzuq}u z4i+AgO2{jksL@}LH7pSUNpv|@C)vndSfJaA=f()ElXU5#e6(ggrlUxM8rDN zDlF`$%1NhE<{$~nUkOe}T5vk5j%#0K*+yZndVTUbO1D4foPbA3(|QDqq7P&$BPrZ+HxUu>H>7C zQ1w&t8BGo91;=RYck-Pa@U!mQ*KkmvKRByBQwIkH?ADChZ$+7+X@wG~9n)rwg@sTd)Bn) zKsm-I+UbbOw9mO|zX4^(P5Y@Z%BTD=RAF4}1Wg+RmE5oJek0=Xt&328Dk~p$?I|`Z zMpDbTUXb=P?J)nlJ7R&#wt;hf<&hS?+eFK-nIg{Y&H87g1T4R)aA)|Cd+3W3z|MSF`VMA>b zBCC9w_-`h@e0nnA5h38VHp(P-kegea#L&l)dWG3xqH8x%_IFMm^E=wSGAh)e~j z)Q0#zBK@_4NM9!YZ=6VmU=&Up#6dkNEupzRFGGP(3qIVXoXe+i4t5W2jGmO5rSzn% zlR9u{ zZ}XO+RRHgPO2M|+`^O&oVi^~`9{@qbF_pK7)F~cQxBdnk_(Aayw&uJ2XH8HZ;5AhB zj{IHO4674S<;ldNwl?Tg0Kb-`z;owHsOU%g5T;|JnFcew93$7F`FvA$4%h3yU8)Mvpi`f)k<4o3;4YcI44K@OWTmVZ znXPln63h85vu#msllebD7Yv_F{CC@{?c0f5wlEFz5e$e9={@B@!TXz*OSO^eU440D z9DPTW?{KTj0+$i>(mz!%ZKc=MXpj+=w-diTp7L_yzeg>o>p*pEWudB26k~$olh@Cl zY6yx(Hz25PqN1nR(d0YOQ+L=z&dVP}&abj?23D<*Nlu5AERa=XJajo@CNYEsukoFB`4gl(Z5uRtXt4dY>-SB*M-+w{QjC8dCN) zY>%ZWe6L*{mG2(L{2vaJj&}vkhxy14)rrUBZ>op2v=r(z6&C4AU^{p+ZPjI%8CM6z zS)oTb)s=KM`u1K^&jGGDeQ%GvG+GX@6cE1C!u@xhfrofklJpG5vv>=h#fvw&DL1#= zsG`Me_?K+9(h;@&4vP;n@&so_%>724Tl@=tS68w8l3ygVbYq!X$m7SVKjAT6agF=x z2=s7=H)ZkNr6_@)=^BB|fnvw7$vO$p-IffibMlF=7#jq=dK2k#^i7*oHlws;pnD;% zlF@^wwZktYA8IIaF)=o3=o8-GPxbj~9xHvqDW7m!PdKe6%()Bpq~BSn>@a6Syj2Lt9}$xtK-r9z|-l>zMR6e5IU zJ@$jbL2;Q>i*nrL`N;!aUOA8EHIb%3q)l~QGn*YwDXh&SA}PPi8KV`_U5nHc0Ru_B znV?=MsW;=)lbj>+YXwqy@U|E(NB(9c5=?m4wT{j^6r;eY?{JRh4b+fNfC3$lHhGb* zh+;CznrcfLj}4^!yd`pC*$_WQpTq?(hh}$AH>an|D2HFuFquY6 zJRywya~8o4eHmophvDlDZ&~m^gRUry^ED=5@i%J9*Lt+eEDKGM|>wEK2i z-E_R2`Ei3uu^Rd7k#Hl__Y2I%|J#rOaJpm_C1%C%&JKC9*O$wHA5yK2*`q?q+Y!T8 zZUzyY36u@~M%gupP|opj#UYL4-IEjc?SpTu?1pxNX zKm;)^<^K$&X;%2ROMb%Pr;?%4$o;4MhyMmD#D7KpC+K&zE-wAw;RmpU|4Yg6=$`)& zDxf3I|Epwj@8JIi-J!c8I`iL_3@s}EeaR^2{AJ0qFwP_Y*OD#MbATZli)<#p7>j%) zKO0NGN-}1&Z}QVIPIa^L<1wC|3CB!|lRq7^tt0>bY|JmzJ&SX%O_t;8YXm$xOo8uolTEquIW+23NR4AfVU?N^1=NXh2e?Ry z7pI0_gJ4I6p%?<(SAO*77Xjhb6~D4lXgzrG0>4=yHEOe5ISh060>@d#(8*ia%3oGb z?=XK5Q%ke>;Rnb=(G`5e2Di600ACRkFNmN z93tF9wZ5(ZJFbAblhQ@`cM4JP6mQM1fP}Y2x~^WnPS+}~SX7kezA3C?c z=F@AY{QKd9ar-|8yWCNGoMOG|Us3yXyLQ;tIsE%_CL3MsYSb7*Yjoadw8)p#25Pjx zb+lbOY^$yfu^tCsL$ps$aU*GUdjs3)I}E=g44UYC0UFM?JlA!dUYCVmHlgozyAJ=k z3PFiQe&6Z$yPnI!zcv}~!nL6CX%x?~tz`{t&t#`@{sl+ydOg#2U3R*}vwJ4~O{R0EvMHXxIL3i(=1#f5Uy+YY+u}tXbGE4-j&cf_7$F4J=2YTmpd$vQ5 z^K^L@B^iQmn*)0wYR$9o(zoD01Jmk>63}jd6A$_q&y5(r@LWD(x{S++_txzWdV>M4n$q%(;WES{mu4pr5{MQe4ox_Q2(3 zk~zG=po_SRqV*b&nZZ0PZ-9e9N&fkg4?M8C7Odqf8qga64|!ew94XJ~*<8@vHcba+ z09&9eI?ZC>Sql+lxgG<~0B(^o0-P`aq@fQbF9fM<&*{51n{B3xJPrvWYXB@UM<4rX znx)7vz-u5M^F^8$vMcut*DuH>cloVOI=`V3;7aEywNlyS7V3^OUgYI8dWZ zvrC#g0BAD7e%)RlKsMPjEb%kM8I)L#jhrD%0JHgm+BpuOdl{Z59Qr=+@}TE2*gd46 z7UJ0q84Ga>ItHxV`GQNe1+oMz?(!lbwcVZvV0oeph0Frv0*4QHQH4N>7|?5d8^NNt zByS+hwgZAGiZ}-k`XF>wQL~mrTDR|d0!AqjPzdC(MWGZ4+j8yxKnyDx6ADbn6{FN5 z(d#>)c^$1dY8Dq!v=nFoAV9Quc{NQSkJZP*73wg%Z_-b}FThGjO1x$!A(V7IP=r!# zR4fb1K7}cv?)1z)Z1d0J%}QAXfN6S;ZHpH|bh_eEY7yJEkh4YUdXueTD?ji+N5h)K z3o9%+gI*taK^9l4qi^)Iu0pCI) zFbyn1z<^6U4hl$coo*KkKogTpI>7bxbe4sue$RCKJy2$~N(R*i0?(fbe9#F42NqI^ zTh{>r0Mf6+Wu&NzuGj6sRCzI>3Dl_#;>3$;JOS_61E2*JD`;|^KByW8ir3*~2s2xA z!8Ln5wnpP@y_wBuuJB)|7G)dM7hWIKK9jQHStjt%dI<&#SZcELGUW0Aa^~SOk%xGV z3$F&$1!?H9N=8BXfjGl+awdE7Ob1%JtY${D3q?IF$QK}1gaVjFAMDjANkC4Zg4Y9f zg?&MZDi2h@jaoyKZ`hgCj103eO;40?VRwM0KvG4{Wl16gxjO(_YE0jCO&GOO0j>v| z2*68$>d!%8!G{R+BTQ-Fkx!xkWP%O?9)qn*k%BFilGg9Rn$8r-vAe+d9uo^Juo5iA zeUF_lz^0&`or5!~7r-7YE&MTGrJv>I4+KEbMBV^a2L3GB5jeu^xz~qa{d`Pes_ZLW zB~}~G!j=IOKb|KY+~o2IM{Nf&884R~-$id(BQgV9ZmwFM-`7g6@v0dT;saN`syU(M=;pe8wenc0e9k>>Rn>f{ z);zljgje`m@p9HlB&@n}F$%aBSO!Om^eOIwABAX9vrZ8#Mt7r&2(Rrl@JgZL*gBCO zv?5rCV0n+x9SOzE@+f;h@P>;qewGY>JLLIz3^g7+=gwgIfpYDV1HOZY-N7IFq%S|| z_GE6mDz_W6Z{{!4qy0m)(s*h#f~pVJxIFCP&(;wZ7~);5j^{vX9aI)DzTw%bJ>vVR z@jX_fnMZlpKcZ;guSdH@7W(sV#^=+Z&P9J>l<3W^;)Reof15ukvLhHXG@fcJ5+c@`6KdHd6`8 zh{oZ8#^v-4n8la4IG@cnjx)M-K%>cKu}|<2H0*S0?SjSaQv|()KMA5{izU2=#^UhX z^jZm*cU};H+NZJ%n??0~v#v%JyQ1q9;a$l!MJop6l11WfdIhZbVaeX6AV!cU zUrxzBWNfZx##|li_!thgxr>izY){o#)pWTY4aA-1>g-K$@z(d-+v2$W`q*H9b@N z>JMYRaPs#*Cyynuy3NK#GrOiASym&ri$LGgSne1p$o{x{8Pj0dL>kx};v=*+ATIJ#BiacrpchbNC0oi?8fI%u>8IkB^IL#8~!a{A0W#hB)Bn$wL#cWL13RUZ&j` zLYFoY_}WA~q4by)kGlhZ(}U`6+HTxdeQkjxu0NdyD;c4$+2F7swDe*hDvyD}2C`(8 znoXA33O4yIkQm7g7FlMtG2HOO_8D+OyhAiMIO1seyC!SB6E{=27QN0U9%&{#QU~1% zl;N~3cuFpWa+;DWt8em&`Y4EZ>=PLhV#OI5xnU8v5;uc6ftoZed;+6R{E%BkE44cd z7j3TC&VZ&M6rQ$94DSs?v~^UV8)o+%9*x`EJ|s8nwJ`0_;RBF)3m&0~g=maO!=Y;L zkjxm>4QA}!RJRiy)IY;!_ccX_(XB#soN3Xq(4u3$Ms$=Ji>rSjIv{hAr_501_CF9C zw@z7z3}aLI?3b;9=gP0gp6!4arn+jpYhweHtPR~IGm!TO=Xi4v$pN|BlYj9mXy$^<_wY_^Nh|A>5B$iqq0@mMXGB&_N@74`fYj_9a(^ z*3S8@1)Ze?(?W`*1qh?1wy8EJ&YW9$`hnaAe7OC`oA22HwkDaI=G;10S(T&f(FKLBt*(Vi0>1 z@b=!I-|MkI1Kwo;cz1i-y)HWrc)!!zV^PEh_&f;smJ>zrpB+p%IpBZYLT^_JfrEw+ zI6xtQ%s*V37GLA)r-}OR1*SV{ynI-agm@|tXauYOgm5ir_*1w}@gyp_rg(kB>^Z=|{|sz|!_dcr(CqfTd&taFA0cJ4p_PcF z`q1Ay{T)ndYj@il^!G5SZhy<$_4=69n*gN;#r0_Mx`%PSy`3(WpuiIJyE|K37&i!P z!LFcry4``3wYmeg?Rky`vcYCObY-p3UMT}+(d}fwTP*_)*2sW^Wf?HnG9dh^`f!l3 zS#*O8kQs|~-G{kj#hANHUZ(w1e&0x?b<0#t-mVG&Q=<+vwdUv|0Yop0UE%IP2LLe{ zuc!37CEN%(SkuXy!1;jqe=O#Ik~2m^49Hn%4d(X?YpdPe0)iQIowC(!1KsTo20KpN zYWMem3j08iHiKxb_8xAk?Dm0Zy6wF#yy|W{F%Zz!R)4!MW3|1V?p}X;3(^AG#s%0u z#Ob#C-gd9w+re1Prf6`qkBv)J`v((W3(%N#J6oWtcMbygI56(FG(U+VKX%~X@F0MW zXdMUUwGT5Y@Fa*Z=55?ugCXK~d+og*eAsP!+tL7*%D30<+bs+>agvP0thmEbF~HRN zFqZtdL#fr`-@VcT5(%8b`8KTK1JVHJt z+fB_hX<=g=w+WGRJ_gw%ZsRX!BKVmwTn-uaEWs*6+nMB}W|HL?#Q@5llGSF!Ag%*{ zpbCI;jQp>efidg5<@}KvZK#@N74N9SugxE$o9B-@i5E(K$T=2>@D-xNL*q@$Z3S_i zmyNcOv4tU;3=LyD*qx${aKzu+x-p}S*lLdU6CSoEm1T~$W=Z3P zS`4O88r9eiuLIr!5wtt#vfnOvx4pC5+u31HFCetH*X!-DM>#n6P*|~|f(U!K*}#4c zcu_fza`uWGzg@5|0srm7d3w=$lsm7D(`_$Sj-3yo*-an9b!y&ECHT$Cn)M}cQuo&Y znBA)YSX&1IzzZHS3yVq=s9}`@bE3>{J-u)ey91S47?x;5Cv+1G$9S1zbz2D49r1;4 z3^s%ufq{k-Y#f}UX5Atfa1jl-2(+?n<*0gH+-_98(4*=@xO!C8;r~D@`w+6%#lO(X zK7{{YTG_2rHYK+qh|f^pl1@~XY#97xz)EOd4WVu5W=@G+UTUL|$QNR5Zy32kY%l3% zB)CeqaIDuzeK0DJV(L&Jv($xA(hLRa!n+?g$llni0oX(Z6ApqD0T3N^RmXzDZh<`C zauPHj2ebWtYv3f{2OsE`U01!Okkk#K7@dIu8D-okt1Vut8tT*B`n)@?|M&&>hO`7^ z6`&2kB*h*YcJB%Y%|UWu4iX<|?k?o%KBz!sJ#W~9*=vGVG{*2P2D&{Ago&))Yw|2y zF6or05{Cppw=mC%PgWFreW8uQL9)N_t_>s9b&DZt+@h>j>S8^9DP@^|Aw!oGEMTJ)%%jHLy_UWTR`^utVjmR4A3ut5i!}(Ue>q8&3b~;>OXi zlw0*st8a5X!u`m)%LIa##0o0#0?}ItvO%meQ1jj*I+cwY<$~iypHr5gQW=qF3Z5w< z;z1EJHOA?FRAZTs|mU$ zfzc`ts&Wi-s|P=GQ?Lk%pu){PSC%Y?8cnA#YAP`D(vi$Jzc zqHAxW7nvPJEq%Y5&Ele+ED%4&!rOUwnsciMFekxxCTLdkDz3hKM`br^S2U`14ZN(` z+eTlf)YsIhg|y;Zn&_f}7O0~!{8|&qdthc_6d6-Q)9`BJ#Dqj@R0&H4^{z3uw0X)E zjE~H5zD>?!E5`Ouq5VPjG85cnRyJW^t|w=(U`zz94LW8D?;7Ppi#Pa_jqsv7&2xVI zFt9fzu%k`;CYM)qd}1kD*^E|Vw2`(&Qrh&0eKJWxoq!kD@NUwOs12QKNmE!ep?LVc zWf~l%VUv2ibJ%jlvHKJEzit1&C(aLgxVAcakMHT^edm-Fo_Wwb_2jJ*hPL*Mt1oM= zv+5fs#sqoYgY+zC zu?T62PTz={si@h|k}iVLi==&yWEisV!D!vBKdSno-3%HwAI-?h)68BRS~*9kLc5(D@x1-rs_h6U*qF`6 zh5I5~0UuB@y%SQZ@qtUNo6{_t$6>nZR}mGC0@Lbz8W)@Xtfb8~eWMDkfFteLxEYtS z7b%_`8I~p!U8Metv>Al_#s3@(pW}?ce-JF0F@Ui5fd(%ScTHc-nz*|9t=euiU+XOq z+kY28kBWPY#_Cvjd!A(O2iNRL&P5*w=CVG!oAXO;y!ChB``Ytyh-W8Dy#3&@#h3US zz9rLjzYn{@@p0HS0DCe+MbXnF+=*1`NoZ)+pu0e!N*YOVhli|$9~+^WV^CF)CF523 z7Wg8Tws`4)B)3e}yntvaYE2lg!xt>Yp9p?z7CWF!I0f<37PeEXgkjx^aFmC5#lEg^ zW>z>+6*jc{5~iHa<3P56egQKJ3Ki`Us`gljMt+dj&2qoKW`|r+-Ccd~>ctDXqSm;> zszZk#;_0)b{PoQn;kPB4kD`B|yx=5GOPCS)ck>~%eTmE2xR#BJL+umz!%Ma^6Lze* zBPA4W_}F@o!<^?q&X=zsYpX0b8t*}_ZnFpZ5rGK=}B+<;L6(x{2>(K%(jPja}({$IH^#RBl06zSp}f$SD^Fc7RZVX zJo{iEQCJm2VCXr*>C%c-b%%3k78t{PE@*km&js5x?IJS)oi84RJv!5zdD`j=-dr&# zE2EH}2$?a07eU)%7UVGp8eWmKo4chucTKZ(p(>_*iRGL5R@IuJHs;SJDq<13iZJQ0Hj=TEkP;;t?uKh0Jl9 zF~@0!B2Un9DjN+#qZS9W*seJgGdv&J%zQI5-(VjwppUlbDR?Oz^aA>+O|1&y;z_{~ z1``Wo(t%mXkeLdhs1=`yxreULc`feGaP~Cib2TNnKrHI1GbreXB(UNu+dO*dhFbkf>E2PWVUBDtUyiMytG) z^YYH{e}BG4}ys|@KFcRSIV>o^_R2^z(Wp(!z@>lQ~VNmhW(tU5iD zLMFz_Z|HECI@W6ohl?XCY&BMuzZJ{ak#*TM{`?N}?|6&7&skWp&pCvALWrVw=vq`t)yd<6jy8evVOoALg4=2K%{Tl*)KJ)` zK&9{vbkXda`LPIT7xC9BUX+tGfq52G^ihGJPB*=5PvNB{V%QBlPq~zmRk&i(-LVaA zU{=+t{HGA+m!AUb(Zt5uE-EZM%);K8lekBCG8o&!koc80qm6JN61=5^92J_WGG25Q zRR#va<9r>&NmMbseH#|#Dx0FK?4cOuMBl<|X;M_#mfc7e8);TxsN*7yU z2vay$gW!5Y7pUh>UH*IbLY&870F0He^217241K=kc}xLF=KQ7H^SY4>ND3p zkMzioIZ%E%ibpoI$fvLsi`?yfaSDQpCP3N*`(SiLCKfF+YPHTIW3w|56l1|KQZ$7` z#bC(cfE$&?#U+;GYL=vs2qV{TbYYSz$7tZLeD4s{)M$kkzvXhrzh|$0JFf6VBv}? zM~JQW6P%Zq$3P-a@nGY#ocGvYIp1ROG4HdlIp1bg#RrCH4_B;sAh90P#GEXakOAe; zZU*wpD{WbttUjv~5u?wz$5$|Ad6yOxhbbe(s9}akL(eCy{D$`;--81$Y$t7eu#C~#HRewVEn0}`^QVD| zuc}VLxLo`(&s!qoE@=q z1*um^Kty~c%g8x&l1uUld$1*bPgA;a|@ZI96|T zE-mHVPy}Ha&~XJi^?CdZsDUb97 zrxK$_vU3@u$qq~%IbYA8gjC^oJOQp*pjM@XApQ(#Uy8O)#TFipOPF311Zs*S^$wYX zha|cq#BEQ~D!xLfNx@y8LE}jG7@9Y&tC=>dnd%12d}FK*SC6VxwrILEs<2pB$-R3& zYm(x489$gXAB}S`{yns5lb*y4%_NLD@46d)_4l^sTA&C$yjvYHWuRS2O= zi=&`V%QEoH+?zdaZ0?Z?lAO>{X%_*MZ#Gx(ylmKSDQuC$dYDcVELI`=YWrS-`Duj) zRmp3lS6i8x3?EO>UO^LMbmJttCjFs4di`vfew%cd+9OMX{=)oO!T(-f*)~lXR>P!% zDA5UKdbB)8gKw!Vl7O#Gs}v@qQ5$jwjHEDejVb98K}Xk~vq^*Z=*he}7=rabsBN{@&n!U2=N4%+gAUXDr*>xdcuk zhZrWdISOS~5zfqzOUirY60!beD`7_zG%Jy#?)_8mHH^B}nEP>~|L}RG1RJrl;?4&8 z8sj6{Z~6~!n9HmIY1&!`eminjy`tX}$Yy=?njfEf(Y{TlB(~R*UrJfKamQ+Z6A^0Z zPVbr?LWlf*I;?|glA`!;lA_%A^7}|35io?seeG@fK_l>9s^Rvt(YElPwGEKk)B>!+ zSOYfprLwhN&maW&xuHC5l5QkH)CeE0qeUCh!|QWPmf}{fVT)Zry9?Uf6q-^Y zP^y?Pj2vEIUc7E^0~C%F32Ri zun7v*(IQ^(MZ}Bu&3hlF1G!doo#-OUuhzuZSsz*_mq84TSUPyNy@l@Oh3zLQ*i3Cf zu)iX8azL)Mhx5t{H*K(CAnN@!hU`w0K_S<1+FBR(4tXZD?Hy_Az%Wx|_nWQX{cd17 z2YbWS4R4AX8B2vhqS*@VS=p8r`|Gz=#+Wq1J?V39vM49C3qV zyUxSw>^7?a8qZh~SeT;IraADlpG#rC(dK1wdpa`He(?OCllJ%7gGoC^jy;}8K9#ok zR3i9PZ9Wbx${l2+U&?Tp0rMJXlUn67UrWb~0reN`oJ&fuDR zOyVp59@Wg}BU4vxHv2i%NR9KCDnRC|9Q^^cm?{O@?6>p^F!tg7!wGGFfwI6{6x#g{ z`8uMy4oK?(C&t-vVpeQuRA}mcaeAc*i2*_v7*C`opt!xY3J$%B>H%S5F(5nI{Ps3Q z3tpQ{6ksS+jkPR*t^>&d!8TObQ@^SD6e?W1spE(nI*yfa;Y!&-lOPfGQF|2uB1Xf| z-Vhyf1rQAdLnl(hfmYjM!OWWCt+xuL5>QIHlxy@`emzUH5FwS->+~;Ooap8 z(nubpa7eyT;jj*ZBAf{LZmfPAO9U4peM~oI;(BM>4e0#;djHmg^d6#=k8}G)EX+Br1&&7Hu41<;n5zUAnk+3+JvGnuu9_Qj$2YmlX^j5Z_0G*Q4Hkc|Jv}Xo07`5iRiCZ$t~cig%2!?Z|=6U*U}kBv|<}PT<@(;sl=g ztZtWg;fo-F00f^hQXqVzgoqa?zlorMSQ|WL@r`35=_OD!~rk% zWn96jOo-P@UxX996i@N;#8=S*7rwOBOME%U0>7SQg)b&oD4uVF{0bc|&){ov>b>;W zL=n7-SKb-cy6+4hl9m;9`JR1%zIn;znicinJ0_hydv}kz{&JrS)4%f572_HY0qIBW_1H(Qd@MhuU0p#8ryv^jO`xXly|ko-G_A+cgMcDN;P~S zjPfA`Atcd`Y=_Zm4eu-y0|vY<_if^ZoD7s}??WWDi;I>I+30>byH?DacB9CjOXANU zd;?XHZ+}iVNk{IDeW+$hJog8UUkrQGV;_%ZZh~pyorMuw1WWG2ybS<|Ng`XM0jDy8Dq?kSJxRO`V)I1_+1!DyOPeb!_I@`bPf}A+_^+M+|Gm| zXjiVy;v}n@_V_EeRH~+BVQSV#!a-U~z?{#1}i4*4uG|U~2 z?Wf5nZcO*r1?W|IwQvY*#vy~3dPUr?Z(SSrej<|lwyg4yyK7iboPb~fd*ajhEG`R= zJo|nSqT*ry8|`1#A0XhI_uX!{T-lE&bz>5#3uyEIK{Fx*J3T-`%71{t1FdQ_SKuddF2D`tVBu#yVaJ3uYAu(J@_3iV84j~)i-9& z53e4zD}y?m62nHe>V_(v{O-eDI8Te{7}}?=qb&PdTEEi5bLlc&TET0e`r-Wt`wpX# zt;OzVja>^ViOZ)dIK|~HJgRclK;cxa0p|6i8&MhxF%x9c1epTJX>=V&c?%vR(X|2d zs0mYma?&RJxCuW1_(2|;aK)J(9^&FfLy)K))T=qDGIC-TAGoXII*HDp$rsUAd2kw6 zG_YeF*f=Z$-HEKw{RT32(ksybu$P0R96&nb1*GSE)}1+7H={|Ru$G&x4Z{TbvC$~# z27UWse)u{N@_}%zFfFXC8}_R1%*J0pjEL=x{ktA4&H4r4AFy-4zhF}yc0;G?R_ux| zx(nyLd(M`ID~YMi&Wx{fo1O4jcr-9yl63FOfKpEY&ny(@dy+UqX6XSNNZl+7;r z$?h5R;s0`=+i}_JV;iK`aua{&vP%(Hb4X-&ADW~4DfSJcf9SdtMhH-3aX9OugL1R+ zj^7QN1b{acx*>-F(;SAY118{GTLDWRI9L)jSPGtWwJXFFb*Az=IzvoR@mM+q44B*r zVZikN3Shtl!?YKB=+Cb;UWV=QQeksucOSfZFsLHE3Tb(J+xp?E-xC96mC6bj!_&F> z0iF-e`TTL_IvKh}IDEN3Y}1`4WP)_>Ln0&M_6q8$UU;`5gKAUN=nHJce6{x*FtBUq zhkWi*$7ZeGH3%Kst$sF$4!?cCZFyL3;ACIQuFnBGWOEn9o8Vh7xqJWNPR9soYO#D% z9yn^9ex$+Ok-2|N17n+6E0$8&8+_d=XgTJ#^%rx0tA{{ju9>i-I0Ok}54JlLj0{~D zNQ^sC(y@2)D8tZ-)-Hpo3KG6&#yxROBcwXM`Bq%~5GOHNIo{qz4HwNYfTf2x3=BoJ ze!tAp1f8-3bGixawO`tHeS95tY;spyA6QFCVyr}j!~PHj2uE3#@7Z1gVx;okO(%*sg#sn|r!_(j_!|uK$d8KL(KO5w=w#0&_m?gnjk<#r!;cjB&kCKw z=^x^3Gp=CwS<*wTh&*h|cZzB%JTX~mkHdb-De$1)g3=s{+lL7{)4~b@ZUyLWQ%Qf? z@F0e+l%d;&2Z@IE^4GNoR)+OcJrFP`_yh)nX_2T1ICfxXEnOxZ@AKWitf6P^*h6c4 zaLE6fpe6L!`LkzzHNn)Qf8oQ054k|I7^Zea`ahT<=v_aCERS|$W45H~x+XB^<9+R0 zZ1ozN5=%w23-7BAOb&62)7&k-&#aqSjQ2ut{{RKf5|4tw6(aRDq)2z*Vc0cx9px#c zzL~Jg__RES0%K;^4}Ad0Z)kwR0EXbCllaf@Lvu+^fsNx3;5xGCZxK?DqW=4 zQEE*0_u0DX{yx*XQK>DccBW^Y^AK~=OP#e4Ig4h-9%d{W z`G^vjQzYuVl$BoU%t$I&FC$8bS41-?E}puyczBNdK|1S3qEdNEiIzTq5fC>d>YMy zYF>Ic*BydF@4t!$$)U*Zs(V6eKBIqRy)-1Y=K86F%L=ijtg74dv|&^vS1@tGRV`Rq zB?-xJ2plV_p@UnY=gN_%1JcMnVi24yD4~hnds6$-cw&0eNO!*mmeu{*cKT?i)^fir z?G3#65dJ&0P3?tX-^e(_6(5J&!;ZG z={)XugfKs}A`C)=5m$eRm(eNuBAI#-KWxZCwP*volMsI^^rJ z8Y}Wz<8$G$vF3w|AY(uHe2j{}&NX}j_{`Al6l&4n^XKx}H}F`%2mbzs&nx&mhtF^D zIfl>o@OclPKROe`y|QtT8Hr1f$ZZuL137Z1JWneOCtcLs?cDW19{b*x_gHl~HlmwZ z=xj-sLIpMH#lkAjqa?g)v3>O#g-1X=c|guS<;1hyQ|R7BV6KQem{Yzc>mA6IREsDN z=FJBDYBoUSV4{o2G6q(&C=c=UxrY82q083@y+99uaZ(weJAYPtd;LAkNWWmV5RnMX z)hU|moP=Aw(|_|6<8KfcuUp1y`5DxsekatPn@jU{dz+E@z$}RVhzV8Nr?R_wsl7+ z-8|=``WF4s!E-vL`v@^KbhG(D;avvcDas&Pc9g zN4S#dFSelHNUwZH`u_9X3E;jY%9PfK^>%vz28@F3AKF9 zI^(ne16=+(lM(HqhWd-ZfW6KPt0}jwUlQ!32Q)L)C}wnAx1l^);X$A2iBk2%Jyk5- z);Xh*PsREmRVYUKFcCoTJyHmPR4#l=M&k4>THv$4#}<)3q5Bl^MYOxeE?s=?vri>F zyL;?yNuHt?5qm*7Fev1-MuPp4)FH>%EH~nhu{hEJbA+Bkj?ZYB(f3Gdi00`T%NKem zvLw=>b=XO+(r3x-?Yg5#*fR7z45r!Zd+r^J%36uf&O@#g_=cu&(I}2FbEAV^f4EQ{ zpGANl75Eg161`8Vh=>AY+`}$m#u^vE7NQTM?d_lal`!`-%WV86+T|{Mmh1r?Rca+YRsZ6s(?ZYtInTfoG+~jKY9(po7NC!4R zM}LNm3hvm?fXzvE9<3l#?iBPIUC$i@TW%kcqh=z6L4O)20j%Y$gpP(>WH3O7-0*L2 z0)<}zkBrwrFp)PQZNNX`i2mk!evT8V7;e>bg8rr(s4`dKwXx6_A_sK{>8!VY8;_bg>+*jg3IJZ908pRHK7P=^kpm+B?9ibRW7rG1O+#WTs>4g=On6%Y@4CD_$4*=lSl#R3@niF z7-Kl-Q-f|Ckz>+sBA)o80p_%7t|kDfi?%9cm(oR@v4b^tQDtnHKZjB+ou zUJ<08gt;dgL%;T93D-0piWO7D>V@Z5%!Ww`50fSu=T!?01kVI)iGYc8Wl&78fNrFl z8tJAIr3d)SE*H?ma}S?}bRa9&FLJt;sSm8s^($V}EG;~)VF_A5DTxm4vo2tCpmnlJ zS-DKsLS7S|$|}Gnc&Amps4GB60rf)F6cwg;V0B3DCZk^Clx+7?X?Nkn#*lwD14ALLkxNF;vYT>yIZjgb5m-LDZG}(=iS_yb(Iq;oa0$H?Jc@7n|1Tv93u|FOkZ?U zC+o&AOVxFam4Wfa^`^Z{2a}TZI&)F4v(WYCJ-`m?Wr5+pN9e>k_CC&-7m=7?FCrZn z>TqvJ6X!+bxdwSk zImUB1mNKqL!j9*ES-bY;#E~TbRoWY~gd_k=K(oI}ws12SdzdmYre|#T%(z*wecemY ztf0liMt~8|Zv5RZe_17|gu&<8xIc^~)jO*yD>Ew}asml|rFT9o^~!Y4xw307B%%MN zFWd+SyJzEJjE5FveCnWEV4E*^n;Tw|+Oco#PayDF4br8J(_h3g{Fx*Q*98)dcY=l2 z(-vrC1USq;&D|)l|NdkE$`2FQw{U-|3;vj9DY00yKwaZD`4!Yua%h{%_<_pBQPflx zIz~%ZG#ddp_iWbqt{Yg6iv=o12MjE`KHSwugJF*jY8&xAg9xnjj$S{llf>H=4?=0W z&7Ms|#_kIY3HSksb~z%f!(R$51-`QB#32fIH1*f9j{f&pIe!u><_A*W(=FwZzV6Z* z#8c&{I;piArVBJS?o2FaMVF0Oz_I?CF=QC%8)K^@2Z{T1y9{kc6#zqQk`+y3z+P3P3UI4Y#70!it0Qo69W^g1c+!KTs{M@O-{ z2pw7OIGWJdXv;jc5lfJMeI6)n{a8<%#@tQ(9MCMzCyN%d~wEIOw-cilI)Fr{BNX=3_} z--%E|C4hv_tHE#-SVuI(%t|r0<5S|CB%#hz$U;$#gA?*4924mCGkbiDD_5q`C)iDt zfzYe|=;@C}6KzwdqxU=Qln|;gUaQoYsV@%gC7qZL88^CNhM~_83{)vQ|7S`SOHc(z zY%;YiT&Bo{7puu&9lS5BKFmwGioCt08uf}%amuV5HY9qibI6^4P*cl6Hs>${mQByrpGSDU@hs)Md@N6_2t` zdt9r?(3)z(??RJ^ zzLdA!S4o(uq+?XFfhsTp&oX>hlD5VI{wrf#Qn9-1!ZOQXV}u_4hE`AfSrjV*(S*2$ z6;#F!XV0EWGvzOse}H*}fmWyl=&uaN&QN6=KXvMgXh(Ks|9H{v+glXb#!O*HXstw> z$Qu5~j!+q+;?3Y@Ri@$I#Evl)1B8D`J7rKanfV&-lY^{PBRa5FlU`Z~?6|K+e5OfJ)_{WM^qn9P&igtXZb1Q114ty|G zbe>qK9^%$P(QQXZ*L*aras~chlWnwX-O5@@@|=6>ym<2xS`x}zmTw8=Ez^UJFjaG@ z4!Zg-VWW5c^EGJGRqiyGYpb5Nvjl28B~V2#&Y|oWt=poVppbVX<8Zn)?X*)O*wE+9 zcn-7Jd~S`7mOWPGRL4e%e%a#6B#MaRN zF3w{@yA>;Dk3b(-v%GJgoKl%5D)SVi%+pw~wnVyHv%QG3MJk(?EDGg;%r1?Oq>Ko| zpGy`+Kq}#m6^8)1#F*$?TX63p{dMTdh`-L{ry?t1V^IH5chH06%Un{g5EOGPqm+w! z0bNz;T=J|u3*LaG7c>0s)Sa00*Qa87TCtih$H0Xc#7#tsAewypoFM;+79carjy1%o zKela$DIS*zAji^@6aE_5_K7udhK`S@AjC|=+BCh0-)-2m)+aW~c?!f>LjX$w0xhKhqg8uB<9v zX~D0hRfQh%)}|bz0UKXg-{J^<{L#va&eUFJ|Ey@ghLqZnU27`(wy=&G+wBG~4VxeO z^Z?4PPsE=D3&}-n_={RqtZZ$lrH?D`o}QToW~RZ!VJU6nMXET(M}s7p%0{w=Cb=A3 z?SEYf?7AAHQirK_?XAgtQ|i>n+*Do0=53 zv3>^Kb~N2?k2VSzJR>T9ADR1H`IM+nnl2(~+k0_W7|)|>UkgVLVz18D8su`JT`m_) zEY`Jj@KL1$L2No9a=vj7vS7I8Pk9Uy2Z@i^bG+BV>THavN9?e-m(k{mTO z*M2mj&S{Ef?yOH5v{K!<)2D|eYU-f;wHz$yX$AggfI8du*)X)O#jPTSYQ$01(b~1B z*~AOcQw>iyvhLK~N5|r%YnwsT8G! zV06S$;^O39Gd(>F>r#SB6A$!8^L8b{#f!VM%Q85gJ6RP~c}bb>RA0Z#OSdY%0Hb`@ zhpqT5zihYP>4|&yC6~J@KXBOxs`ZMhytBpU%9qMR{_5QOdQbJ2fh_NVEUSE6Ka{TQ z(nDDyEtlgQ@~ZTmc*3t%6`wu+On6jY>XAPsBhIT4$7m|Fo-pd>y`W(~*)4MsEEGml zBAIa|D1}55v4_i;4J*5&O1PDUQtuoFr}RkMb*jG>OVjx4KWq^uVOv8B!K;U~A)9o7 z1g#R2MgjepSo(i<#LP;-%<_mxUDI{d1=m7}3{)r<1TpElK6P^8Mq&UE59EwK99dX= zgL6*_>jo!sBu2C__@&&7#Y%(nlpPEX^f|(Ylseb>G|6=izk)sF;sz#Z1LeI9>@E7D zfxX?}2F5fPY9P#xAQa)7MiBnrBN(O)l=n99>IlMDM-b0DYvf}BrJwIPBfbNX5j}=j zGmzQLRpOKq=PGfEL?WV}b>z^_LKcGm7K>229YagM)7>AZTBK1s0}kZ0D8qx&yew%9 zy|U@)WtawBRyfZie8*?xLeWsf4u#U^SjIM;a~1~y#mjcf0hH~s_jO8u_%?YripeEd zEhvrC_q2UxB825xiKuTS$fFEan4jj0_TP)BbD+tixIAN=UY2_CGovEJu;2?~MhpaE zI`!X|;;*yh>uIT=zCsS4d@Yo`68^t0oth+y*#H6=uj$-c@5YOcBQB#q1sm3=1dT!( zgBYQsD^qt=ngR$FjKW3p{9dSV|1ds&Kdo@jkg0@^E|Ooyd5&E%;fjtWJ(`9RMCOP- zC?L^ho>)tJZVhSAO>$UXWTicIQ)=^QNE~jhs<^a&O!!}V7URwEmSXs)s?wUdq`wCl z#zMx+@&ob3mx(;_N`}o#Ixq-PeV11;=l(@rVWvNeC*cS33!XpHze4NmuKbsI3l ztQwYo7^9qWWNpH%^aI(t!FlN0qN*fl5CoRFT$O-ejUdw+*|AXd%(~oeA3%;RcEt*p z{L!S8h8Zc*0>TV~2&4nE8(JeeMyhm>aH=UcV)+zxHa`Z{(2u-fEnT8d=ok^zRid^oiOzaJHwys40eTj-q*?DD@n`b%xh?+H z7FADt^2E@OQO?!ez&ZLw-_ahDF%Nx1DqJrL{SLYCFU3PLGCS5;t+Z)JR@8mQ_0O^=Bu4(E;)w*isrfBS~IG{kB_|G;0Nme}>5TxWM&s6>S zr@s98Q}ywa=LBxmbLO_-{MpREpiL^lAXoCXM~{Yjrko*hgxygn*Ilt%NSFRii9=e5 zUyJdq{8oJ1tfcSBz50GYHJjARC~S!)wKEM{i7gv-fEsr#?v7;5_zd`d(?AN!YY5jV z4+L!IE5v`LvQVihkHB_Q1yDsepWfT9XK|rBjVk;mGwAVqK@C=rYpLYY~bM{1Vp9u%l<=yxvi`NqQVWzaUq^^>s;eu}q2ocN(A zsJ_Pu)l{EIQ(f_c>6};wF3rza&fPkKu@k2{bKsC-Y@dZ;UQQgUA|Kc%r!-)Gts^8a zy*9e^dZ>w@mW6+s@<-83c`!zBkCbuE;zeWB^{_j#aShGRYm!@@)#Og&RLB3@_$E}j zgDRXkE$%cwt%o!>Eq1)T-+>0&|BVoa;ple|roOQd!Vw{$gXckLI%RBYKP|=MpOy5j zuHN^k%&Ur2eyzjud~gq`%vkl(JG5ntJS=_QD<0Gy?07D`z0x3~8a9>64EWe^A0^DX zxWyfLBTuBZ2{Q63d!Kh+DGSSE?c@rjGF2Dic!nrd*e#`5T0zPdk z&IW%yATKhxJn=M7t*2s)b2WcvwE7`A_I~ojq$Y+nalH_2B8bAhXS@OIeyI1wU2*SZ z{6rJr*DS8o7D;Yu`QTFd$pfW*V2x0s67C&Bn)wfjsOH1|)BH|v>7+A$jRq~R5d?i$ zlkJ6h4EuUJUoW5?*IpoQ`v-M?({8?AIM<7Od*QSfpnVsdg^Hsqe|WMVGI*n!*o2~6 z6TO;Pc3<Rgz{H{G4o78knViw4&#qgYEK(brXWF>YtqCrmX zY`=v3e6i`Q*c08~{`I$)8!fqcd&~ARTo1ALq{PS7YrD&EkfjUlZmz`T*unZ0_=u_R z*0x(SFMZmC${}Fv(NpiUiGDrX?-=jjp~wE3{KRw9JMUdV6yD*pd+HoWLBjWc(+ZMf zT1nEZk=B%ckJrTHIR<^NmhAYLL(@(Sbtf~6h5MRBr(!3r8TX8})CXeWEN&v>VDUe5 zu6X&^oGaG-aXEct)y))wS^sP@{Ps$*-_X`?*|vzjc~BNf`wG4Y&1Owx90=43lorW)VVCGRvX2RA z2Yx7gI8H&2G#&M(dWUJfTB{fD}J_OS?V7 zZlB3+qW&)vKcFfmlLD>qvx@-EK2#-?8qc6*67lV>;fq$yc&XOSMx&{9_gbRFls}rk z_fpT#2!s{buxMj5w8ROuUQiMy2L?Oh!SM6mJLE6@-rGy7DxXSRVQjI;rg<+F*36u# z&E;W=TW2-(#}3loMqVZRdz~vt`fE}rukr}l5--%|9(HU510wo|(_hz!RKX$rlD9Nq zKyVzv$)8pD+0*{+NB%spnz-_{1#LvNt}=yrSp%caM4#VP*)vh<1mt`cJxLz@EAlH_f-aMju~+?4fS)wRKGv z{!3gGq3847gL#v|`eZEo^7G2?iWe$NM1vxP|IP9Yed3Q1BEN@{#&>FK?)CRoQng+_iImW>uZ)N#lIZHCk)u zf_i*!pETU#pY8MG_uH-SjPj8a=DW_Id{M;ZP!O;osY+Atf7>f3L=KLsiQnWhnSG>9vK~Rn45u;0%S}qhK?Y zk7#a0|5)kbR)lI94Ae5{(7#hkuOSjl+(X=|8)$<17WZncd$n^f2H|SoN~T#ZHB=xa zzBY_=Ro5Ftq%uT?a!NR4M5rSq42`&wopk&LqXG4&%&4#qCVC~PuBYv-#42S9HtKHZ zsVMhgfq7e#1I78C`LGluU*dazb za^yrb=lQ_##mo(ysFj8=+qEJ!3O6m^o!cjYGZxm&jqo&SJ)5!4rnMKwqDRA+B+m5j zEU_RRY75dK)XjY-plOWgw9`AL1GnAuzvFhDO)}oWi}4zjG{=tBqXJVZ3~I-*LVE7FJ!b=x-+`ezH8Upn z(tD{G{w{d7%@u#?8Btdxooir!{{d}O#EKb8&oF%Q1e-D;yeC1TK;th6b z%%>@p2)SO+NkE+RQe0~r0psSrnsn&as%lfxz)_f_$d zm%}ajAoj+24=v3O*D;CaZ?9y9vcQ@~GJ9I>Ok#^!7cNPt zKtMA*5lvJ|FeA^?Af*BUJwH4~sSoB3g41^rYKlWOqHzkaLA87`mZbwbc3{`y(jMu* zgr!iu81+@NB{m!5zgo8)J$*!N#HI5U8#RE6WQlQRet#O26-+xkx+h_*#(f6jkEelH zJ0R8)gpDoyBp9Cs$lxH?!R)wH;}C?@cQoynX|**W&{f7NM;`<7#FAy-rhg{8OM+hI zl>7%pQQlefwo&wNN&4aD0R+C7vX+~^G=5O9>=l$`0!7M=uMChfOAMXNLEjiEly&5Q z@6dRc#f^I{MvNe#1ihl~YLEiHN4fnD9dlo!2aBX1(T+P6Su%-VBxCrvB?H^-k%!Vw z0uj_&Xd|rrg#FD=TgCP)MIRQfb<#t_Ev;sFiq{cba!gYetyam3na$FN2MDI3Om%n) zk*ZZ`G^=p-6ms_DEcnlL<6MXB87Hm`tl||0@yY#OW!C+@kz;0Aufp&iImjE(CJPVq z-r3>KRL~QzXw#t{R8{3s7dq&qqgS=>x84@;qk9YhQ+|(S2P4W9I#}Z#4L$?r<>l6>~=;)8S$FcsLwz zb>`RFR!2~FAbGRF8OS!nqwdk%!0ey6hAR}LK#YO{lFfUwvtzVnnMOO^QF3$?93P>{4-bjEwNKpI zhe3GOJ#%ZH2H`25%cZ1)&EBVDVX>IO@0{!FOV9X{ucU^&VnNSiwdtW<#qkgg9=T1O z2R>#Mcc0uZwLYP(;bAvNj{=7$H$FA@J<#A!=p(wDtxUZfa)JCw-kXD&&`K> z6{|@yN(4;0ncfBf?vF~AzFT345_3H#s5=CX)jr|WR`3Y4a~rw08xmsKGx;5^D7?Ql z*%|U9Qpu)^w+ z4v(s`uCU5WF4k_zhOo+u-ZqLhg;iemiz#cl(}tNMgxY~!8Yz*lq|8*f-nq?Z4OKG! zS1#ixqCDeet=t|q!;>Gq{$w@)j*ALdt|BU?EfrIdSse05ngU^{YE>XT(dlj#Erz7J zfUHQSS&Y?IwbCGKMHHhgd+`Df6l0J!vgQ5R7jN0geHJ{R@&-LGY-2)l|NKuA&<{}C zQF?%3P?Fxj=Qh5-_brv{!uzvtM3lj>dvfGkgMt^H_B-8vKa?96pB_L8_u#P;{1-2h z9*LXK+^0uSOB}PKi_#~9(#ctO7@nT)#>rHF(+FD`B&Bx~d)}vnoHbGIdlPRhP;Qk$ z>k7JZjRG5s?qan#eQeqJ?M`(_Vo$G5=}7YJGws$JZ9U;W(F&t?6lX=7jI!c;C)Gf z*b|9T#43=>$csdKW47MfDi#TDbZ(TFyBZDa)a5j3r{yNo006Y2}oqwKr49PmiO(=d_F=?yEicuGzU&p4U9(y z<;^y*su=r-CLzsgAn*WGC;SRl1KR){d~Sn}F1fz_nR7)o7toKH$E9)9L>(Iwk*+2* zi$^exik=Mh(1YvGI6Ha-nerXAinT{~phbY*hs%CuvgXD-Pyw0e^NaqZ9Cs)r7Nw1o zm;R`{px7n!OohinoMMspWD6y>pgCuZe3|%W-icAI#Ouel1{Azb2?GXn#msL3BaK>7 zJ8n^wO<>0nDx0xXHe=J@aZ}lhQ~{-I659YQ^Ijc0Z?#lS$Fb+Q}}f z!R2;0b5cXsINes8POHDF%O35XdPn!v&^>u)tGC_W`PuEA54Lv>!!9Us+y)RHcFzt^ z&s1=oH?;`6hr|Bhco=486f2;*8REH;^*S}t)Y;cIK48IRW zIIvXv!AVpF%k}HE6hN?7V2Yu^3QZWAj!BE;m>!n%-qh{G)@9ww+Ih=6XgV9REI~dHMkKP6f>QL9BwJBY?m6;s*R@ z9>ty+Cu`p)pH2O-@Qum7uk1;g4h1M8%Imey*?h8aCdCg{(m6SS&OK$bqFOX&1;zcN z+0iOAI)w~)1LKN%sF%&}s|6Ett}<@ka~rP~rt#sh+aI2BndX=awAsR$^n^=GS@H0C zexLD1Kl9MVx!Y)F8XXLY+1Mt}`pA3PQS+Sy2-}a7AYD8rgkEJ*CbX6}7tPe7iQZjI z)*JE#t8@v|6!I`^!+p8fE9b%Z)Pi2JCFsQqb4URsxpIMVmJ%(#q3^U54y;F7Q$Wfd zmTy3i=wuYf9oG6e@K_KBLGGB*vyOatA0%5_K6^j{PcnP#L1s62GK{Ex)*qeqWjlpz z$CSi)?)dILAg#Z|gu&sL`ai(oFXcg-I3BdrdWzk)$w4$GKlWYdHqQ7MG_~h%^$66; zcRy4+`t$F@q4pEVBb0y4J4n}?RT`(&0cRqm8ItI)dRYV*W*G+K3^M}!#G*~0%lKc? z1s;<(RB($6c4X3QkzEGko&8jstj6fGmeA&pP_dp<^tLkl53}gG&iY`M>s%4T*)7>; z@~KpcB>$Xn*I#0N_P+sorhbA67CcM>FOiA@g;GROb9C$XK`x2{?P>BGSMZQMo zjhrl45+4LrXCJftOZGHiupl6S3@gU@=FZl#LCj0C2WYq++SgxIYA-A28(D0VsEkZ6 zV~3l{s^f?aNuoV%QWt;`BosJVFeT2c`m^M!xT6gTTf-#2fqy3MW^|D?i{~d zIPc4dI~Q2w-Omqs_Op7i%e2a@g|_GwJJ->c`Cb>-0`)VNmi1-f*c#3Al_Nu9jL$^0 z6Mtg2P0hOkbl+ZeKLXTb7RJh-z|W}5#iM`n)AFVRE-3GdNMNz6Fj%MWIGk$}i5^{v z9bKS#`P`M^=V9ZdgmgrrP-CeKH5SnU1G7GkGhCrerVuekTprP^{GUkl0Dh{jmrGZZX?`e#f2Y_*o+ej3P-_i)sk%acz_-r zTTf9vj4*#wK8xn~K?(c@@UM*qz!V>X?1j%N`Ru$oq>N?Zd&~)41|g6MaME8ti|1aB z|6CgUPwwQCsEk0UFMMAMkm{E#h*}`T$NbJmB_~>MF!dMx`gYMbOSZ@7M`i`V#Wm0d z{uQFg1Lc-3UKYw^yk+BD?dvf8-4V!zFAI#qBydE}C`S{<4(2HG+k zuyl$W#zj{;ESa1!D_jaD>4@Ss$D;Ho4>Jw~$|dB(Si_axH%so~@)Ir`u7ayr*^m<}A#T1#45%D<3RtxT>>)wmn`Zq&{2n0?tV!eK zX=p@ZHF?$_!H|#^aq3%y!G_=ycZ)$RSt`HD&9R=atm*66 zG-EC`IO09{hL`*_&t}nxCoEDGWe;Y*&JLSlTGMPYIS7^q=RNn`UZcY(rli6H{4vQ?clyOi$5Vc`?v4et@9~Z|Knb!NG`r67~B*{chB60Z8p@ zRG}5G97kxV77-LGp+pUW zGDeU|0YVKbf2Z@!MgN>s=~{eRQan-^)iuyKHVQic2LK2hVBir&iUoPm_am-~MZFpm zg{icwagwgQk{+1=Z1vbwq1REX_Isv=I`T`;WEEvu5w+2+9QiM|s}oLPW+B@xL(+1J zmAIgraP62zjBQ|QbNo3Dl#HJ^3lHj2J_bqHa-}SSLaz};leh0Nwz+FXMr%dktQ5sI zf7}PJ5*R8TkB1izQHegBsrztJ>yg)z%nk>Fu+OnKD-= zrrc4fI3pt$jdKzX&<={JcyJKw!Hd!Fp$>>^a@^#2pUr9K8-`Zu9HYIxZsuNI4K^yl!#~8YlVW06j z$o<0pq?pQ$UTkDK(QSke{GKk380lf{HQs2I+=rAm+ zDpv)${*>ZEg*`xnc`ag!a|=H)TPHvQ8`tL;MR*3ReJ*Cppavxa>#anN`x~G{ zZ$KGpw{I|E)IzL);y1n2>#Xn;Pl}M9d5du^V<#^zmcHcUx6-h>0MU!M`!3KKC`C6H z&_bu9pxaRo&!0~+J`S8AA^;Q0chq5w_sHOcm=U9=~+%))o8J58L~bmYa|sz}!|(UAaI zCnhzC9Le-j9n+wwt(*ypW~=O}(Pk{K>|BK$elWs-#>^^;!^ujcn^rc?I^83Tzev9I zo3W@Tn5AiSaBz==A@RindK4aTeH_bw(YPAH09Sw&pGF-QJ^%(8dq-nVzPk6FT&myJ zDm+mlfLWk;Znke`VG#D`&2=AI?^ctrj%2KE8$<-bu|}oa3d=rlDDw%-Go{mL2p@EeIX@GkFd{pe+-+r1} zn4-(f!`4=q8@PR(@crkn*vhWHzNv~gwR_f>EGBl=SpTbprZC#qaT0vxZh0Yh%Zoj` z<^OtQ925`jp3|<+hXrw-@6e0-&R*Nj|2f&2fx{vVoPJBArpyo;)<|D?ZQS2Z?I0l; zN~Ge#OH?c~Rtyi3zFd|G2*9|T11(hzOakqz9FDkkNMk6+o<|M@zR`Z9j*{B8gVO3T98QVye>z5w zjb~noDPUaD_xyeSO)NQD-5?Nte<{CTWgV%GSW4CA}f%o|TZlNre3q!mg^#9|=01Rs{o{BFi`~J88#rJpIk8u%cVtII+95vCzX9mx|<#jMb)-6ZMu6UI6tj*LVTcyP^xA-nThk z0QEl76QJHNbOF@6ycSDMy)RR-)YN-B6_=VapQqwVU%#G;Z#DJa!F1HmuczXdHDe#I zU8Y6ff>Pwp@y4ghn>?#--P~=XZ(ntqMNQu~zr%Ute2T3NQvrrN=i#3V=Zj>ye(bmU#?` zLQjTbYh`Yb_z8o?CA8DgyN1r*k-CbUBcc;%tep`I+QeSXBf1U$r%}GEF^fXCmq2C3 zLx?j83zSJrV2D^BFtCBegC;Ro^N2&7X#`5IZcL(AfWs?z9yW-vI*ARCKlk(y!4w#_ zZ!m{Pka!+t$X2(3pmQcID;7oZkQ=uLP^*yi3fha%jEBxm zjhx<6vM=7=49Iqu#8>3vitKmEudcM2=7vuVKpM1{A#2>>cJN&nY z@dyju4*#VXAJ)hn#)o)gIK*STFMNmp?uY+I!4J|5-VquclFi^ZiTTYdklg1T!thTT zyl;{3LF$sX!KDj2_}n7f!Iu{K5qxZc8V)<4ALfE$MlQJyPRP&TGx-=Cb;vOI(E(iz zTrv)>TyhxnU2+t3U2+>lE;$Z{F8L+6eHK4=LF|%~VC<4F!L>_p^=7v$VTIqy(TigJDgIa5{;^cMpf@P!HVXP}R?rR#x{HGDO$Ggif_?%)FF?)@WD|ru0ts6vVGAYviJEM7K*A3l zkZ`L562hM!!CTbiP75SFY=MNEEs(GS68>m`geNVK@VEsM{%(PUTP=|Ac?%?b(*g-w zEs(I?0tsJ(cyB>AU~qyAz63`tF5A1-pBMX$U*U~9Ap2nT#%Bm#iC_%D5e9EFfLja- z03H+ox3Z&A_egtorgTRXfF|Ds$3iH@0~TuJfQ5UL@%vpU5+j0R*w7T%`K!w(XJf2I zu$JDEH&)CZY_M*1eh|iwdzTBbBilUhnKe)zlOtuzT4|z<>d3Xx6HD zt!L+S7kMKhAR(#RSxromY|Oj~0An{>OS+-_r38wmKud##ZJ=_73nt(#h_wSL00tS~ zT|5MZg^bmwd-&#v)NJr;YZaw1XTL<1;Er@((@1u_F18U_c%U}P9@(kmjY%5v2OVSG z#n`iOr&R0lJ5S)9@=@u6XtlC`Y&JgfdQTb7dq2dsOL4p05U=v;SYighuIVa8WDwA(`(SRhD6*=2}(_AOwFLw#e#>4%$;}8QRupZ{rmvs zy_qL(wXm@yY@7>wakWg?N=awMoRN_)W>S^oOykO7Ztaa9O+8?B8=?U|Z#E9IM?3*p$;`6|(C)*+_iC>93p>s}jr)b#FS~e!7>Je(AElcM?dq z8sty{i3LdJ<0PQp63}oS(1`@pKdq~K(tOLS5Nb0C_Ok@5*Z=!pRi?QvA5ipjHkA|q zC((=8Y)UJ@-p?j>TJ=b9eKwomO2Cg*X`W8{l#`vZ%5+ajW74ypRLYmLPS0@N6FIjH z?aMvhmf6p9Y#Vau{%BCxpq;bX`$O7)$aORrvI=6`8L?;jW2lWs@zyf&ZXZdovrIzm z5d_7#iJv;*zsef4O%?JjfJQ3Ou$lUY9FM~Ff4&Y^zb5r{@~H)pm38s~eow!C{pa~= zedGT0>zP_>{QKu@{rj{b-)5!lw=cDgjC?;-uQt|Lz-o1fb*J}EP8wl#wfl0gFB>ZQ%0zaf>uhsoHh6eCDmp8d$z+V;uujt18y>66nKF;9i^^2=)G2jhft%vi9L~eW^RwtmiW~+qr zzQ`vdQ3p2)O|R*$O}CnIHchXWgdfcTpR5Wife)&|_a%{K@GDoIj+k_k^0^Z}isS~; z=BNG){kWh>oRTRsdD~gY{mu6xtIcYEb2m2~^IQ&{ zk1@yV{F;j~&+*)r^T=e(VuA13pW%{T$%?HilfTQpXNHgDexCE}{=CBd+?0#y?@2Lz z-Y?m$f}>>#?#wmCLSJ$)H-QgA-+d6*8Bg(g)*F@WQ*=mW z3(XU7hSQ##kCP~Mtyn_Zo$0$3>G_eg&$BLV8T>JGGJ|Le)){XI@&TBOn0$)KPKUhd zlb@Xz9jg92nd}dgm0#qqmCp*nClFift*@*l>nkS;8Hx96+ri3iu(JQx%C$nWRRF=M z(%e;u(%Dtc2(AWz2m9kI2*E=r$|7(uWHkDIs7)S2i;2^$EWYdSB(E$Vyrp- zJ|2#cAiEy19%Tav@5Q6O2z}_^Odh^ru?S|u?n=A`U%^r^l-UVxf|=kXcnJD}v~ngN z%G{BU;Jb)JzGMTe8D7K!+V^wLav=v+o0zt@i z3a$r%;0oqK1s8?z2xdlH8G@1Mua!i>fX zy8Q;(1LsLfhNnrR2TTZR{y+pKeQsXWV4RHKmouHQkWy zT&nGCzuC87tZs9R;-O3xEY)W>P@RbtcQ;}=oqVtZPR8DZqxoXh;P(l*h1`$^Gx>xsDLpZ2XVr&;w&pPA z%jihHgl?EEp+m-R`cuaFqOhEC>B(HiKgY`tN-Q3~U5q~dWW=prz7ZH|XS`E-5bC%I zShfqEkBE0uKhw$Ov~Yqxq!WN}BQ_1|w6<{>K%imQRg9+qR9oxTR@JLj`toYEyD<## zrWW;jqxyVUiZ?uiguR(!N9Pwi^_1tPvyhU0n5z6xQqqOcD8$V_5rhU|eZV(`LW`ig zp#=?lUG1**@dy&!)E8xsqBXuZxcjm%?!xWWf{gYb(kmY$xJV+<)-#Ie*N7-v>0$VI z(R~k(-7VaHKD(CZPMDA14E|!ie)#*d@D7Z5&{rwR9@KaO$GBT#tTt@?tK%(N8KG=t zZFsH@KvO;W0LF9mbA*p(HZ?Cw)TKz&rF5*Jlq7CFUTt>ahue*+PcoXcvf|xzr#tPc znBCP)X=rNhDG|IVA~N`-PveCrdpw_(p&sQdroNz|lgiUw<}iHTn?37gDgQS;`8*TO z|6$zT^cJ0GvV?29Cm+4>2(InkqN6vKa6QJB&SZ(q^cL53=N|7Wp3WEY`!}=~S9l-k z0MAoX{)4l7VrcSe)gkpd{GFaM!<*j+G(1)nJ#}4brKy{0%!nh+h!e+f4bQh6mnL3p zI~HZ8>&Awg;)ljGF$~?MEKU`%7hsnYa?{v{*DPX*l_s&~IVt?}ebaMds->C+1ZZkg z-F5iC4EeQ?g8IyL6W>k&%yugV2kF)+Bm)0sBwCz=6O4L0YLfEwJ0O&FfRsGK?%x;Yr5mutP)I6TL4T` zPdAc`wM1D6V1mNDbSa9=r4rG$Oii;N%Ta@(X=+Q+7jw^uh~CC=jr{0^;Ovfi!h(l$ zEEuI;0+hKgLx1FAr`V;Y;aix;;}r5VjWkX3Jku?`5?Eyb$A~;rkY#RSF)#5`Einag zox1bD1hoagzVCuo1Z$bH5WtQi2AOLaip-@F(SoE{^syWP$I|Ii^u^pWBDn?Matj`2 z7Tla;LFPv$I6YwtJ#n1~#7Hzf_Gqe8CyA)Xbk6}-7aLCLmB1I-n)aC<2MP){@U|par1kgM~x0a*GT&fU_1Pjq)Il8GyHE%ik zLhc!n+=4&31$QzFo{Z;|L1-E|nJpYQ@}VgR85q2xp+Wn?_6*;^W{w7x9Mwv%1Xc-v z8oFoDjBJw7*iCc>jX^=&0Ef@3+F7v7!^{VU_L*iS8Ec8M5Wq5hs702d$XqHB9dKrP z`dE&dZEB9b6n!!Gj7V<54>4NsBs=Wp-8?TUbeM`}D{t`?%>->F_*fc#$`<7RN&vH_ z0rvqPLEK94Q*A;1ZvpVELIki7z;p4l6h-DziMZGV^AMqF4WH!}T*y5ml3VbEm%(>g z89bg-2C+GA``i+#5AF5@tK-Dgee9!PB?~UVXOLf@&*PL{39K0a6Z>d_EVv6FgiX!V z6T~fOWK*jWOi)_{Y&nT#W~?R3LIBr_l0;vMB6F!kjBLoF&SN>6y6O1#QuM{#Ga|VK zo4gDjXJznsP8lp(FistJ^K7jWOi)_{TvEt{ zvJk*=AkUjiQDiQah>J`xpQENZqA9x=eKGfpNN&N;ybK;^W$?>GEa*efnk|D#WEs>m zX*914765FML5Es04K}@ePY^c^57bZzmgUa{z%vRFz(N4g!(WObbE!o1p)qM0kL73s zbYv_=U(7utl3Va2x8Rq|g74?mgV@J}Iw$dB@Pv_JV@rl5sh3h}F!*p5mSK9})T&=` zEXY5J5$6DL%wpyUvX26@^oT)kinGJ6v4J@Xs(;8dLe&2O3W`+ji?IZ?_de6!D4C-@ zjm4?uGa4t6=h;r=PF2JQypUt;cpmf;k~yys%hR>govHRMLL`f~z^B?9aP5tf?EaUz+DlF76MN7^uq`u!9D=O1)MwzKm<8tFkYXWSm6F#L?&_jYh*_Opyu+*-~u%_jm4XEDefOtcg9z zo0_^1T*^df^+@KxEw^Ur zTDi}Ux^x8!Ftl#=ZpF$d3=-X4nl^lpiBf~hyFskh$6ds2C& zBVYlG+?A=r{(l)!z@HZ~Rjv-E94~Pbu{BHAg22eIt6Mk-QzG5$or=MKa-f8`I}{GW zh7@J4hx#_EU`Vhxkso!`lT5vJO}%nA_2SagEqCJSDy)ts5u8J!9^J`swr17*ACPFY z11^bi^su8iYu zYH=PGNdYF$9jRO|jJ9U!T4{n|_+5b@PYY2udzWJRR+H{7bwQ0%E3p7-l85@{tMHI? z%-B)yoT)djsdu(Z@4+q=MJduU4{6sFdKSU%6uZ5czU!oWLjthQ$9S}`O*Q(hO4 zGL(*P_D;o$!Vl6|ch?mrM)K>SzMU!o6lP>Z%>`5Mtft=SF5ZLZkh?HY(5Z-g%RJFt zqepZia`J*A*jz7EVn-I&@d7q zd^0#vrAku|?s|Z=+M1i$e3G3iXeV2Y~madf-v`b(VDAG8p zo4r#p87NQa?sC^CEM+s)H(iB?1k*tkTk1V$>U~>N@3S4$D-_)cz+wpH`n*X=VN?l) zTf)FYr$&e?ipXh9qG>zxyFKESFx)VEND zhU6r^6B&`(PfWefYU(}SWi=2-E4s&*rg^LPNZCTsQaI+vfee~}dTUmz(7NznrKG53 z-Rzx;wHir>{IwFJuq)IF&D1`ad4(TdLwX{YdQtrrwt|_5Qw#_n;KYkRH1# zWE|4Y19gq?1|-T6P(Z_`LMD+2!8=>CbS=I=ShfWUK{p3=vv(?%IB}5+-CZEuAYmmY zX>U~z^^I52L-G;l#zjZHXH31n*VOxF_b!1`z-vvt*ejG*XqBtzF{2WC0;VdDL?ED! z;Sg=j(zQhBlx}Dg$aCT9X75x?l`t++cgG=rp&1DVyBX>muA+xTv4&$%?<=O>H#PO% z+fBVlD&B+5RTPF!O`@WpO$n8R+DH{?5c7@rn_0S+fLuDhQJ`>yr<=V~vC>7f<)gdA zaZUFl4yRGqlQrPSR^KVIb2}$y>Sh@#eb05LF1Hx^NK9GGVFO*Q z1ZV?k>ar*%elm?BQ$)JAdJFTd-u{78?X&8uZfTCUjj)=yz0XgLD)e)r&(Hc>k)aQI z7&ma>HUKd&c!~ii5;`IL^T>%q0Zc*(6k!3(Lj_||L=I3v)}gW@ALvE_(5KyPH;7_j z6eYkof*y9^-T*};fq7H_Wu$;bR02yV=frbjT46W#f$+M4P$0DC@MIG&iqWQ*#Awq? z5!1(>hy_qG7I6+#G2C7cPEQc|PON|)qffV!(JZFshZtVy$BYTO2>dkh=?)8HPJ0A? z!3Y}|cz#J3I0<5rfSx*Z0}KKf0MTBOP(Yj{ei_7!Ns{_1NErpAOoU$q1)~DWfF4Yj z2xxLY4_!tNC@>(xAd!9=hKvy~K_`SM5bMF1!_GyaWF(sxhKjKS(t;7XK%XA?2Kqn` zWK_VA_I|K9gfU|RbfT0|B+4tJoKXT*R4^(=gfpPE!|2k(+colo+_4Wt?7@g$utE`I z%!poS6Tz!!Z68!5o64lFs2FIwp0KSEHcU@1r|WMMMqdB;BVnD zx;4f?OxbgUpF}{+z;gv=1B`$~EJ84s=L_(s7YOjD7m7TA_JDis!Bs61*NYhwp%TZV z2j)vp zjy0qkfN|iLKzg>ah`qqe734I?NoFJIko-y)vMhi_Af*QxSJICVutRAGdNMUi!vL6s zk&GfRhK%7YQpgj866l8tVInNJ6cKcZ%)=6_4LuXZwD%LGvIz4?0!5^x3X|AD(2Ic< z4&34p7{qY_RSROcp&QErp;}x*1QZmE56KG(3^<93kmM3bj~hggTH0XTdOc|4$- zLYM+41)KO-(IWL_S^#qa-_}os2aKTxb01;?#Htk1_XMII-=W(Tpt1)n5OzZbz@lpT=eh4 za-eP$;*S$S0)Qz-;Y2w`;Y3i-4ruD zMnNu5fF5DMFj{(v3-Szu0F=-K5ZW*R79m;LB8=TIR$639Ukp zeIfA1>ZZWJ6~K@&c5@(%E{G=>a~FyuDj1auK|ugm0zF3GbAT8G*>6Uy888K6j8Lr@ zBO@tZ56l5VCPYpbYKoM0z!;I!11n1iy$Z~|G$Cc1vSJqr6fmRfFlW*MMj!xGqzrrs41oc(WD)xk$^$6q6*x)H$wQh0 z2!JesV0MT|SwN9Sq@w&tK_LZEL8>T{P(Orly`sE;#)g)M%M_&rT#6{6XHucHoIplI z_#y)HL9(F$f|5RZ6JpgBmMtRR1*Ts?@d8DNpiDvYM~;$V0)#3JX@>(!R)K>;RXVhX zh``wiNl$rEtsT?^nkHUWaI-?6qGUrH`A+X5eP?bHv-|s070LU-o+EZ zJjzQL;79_?2znBt0!=9Vs02cYfEXz-jeVeq1E8c$d!Zmm3g$DR4g6RD!6!i2At0O+ zU>c(xXm+%d7YW+Q%LFY*HvvH7|Uqp?6m$V}U3NBO-)#P(aX;oD>+90iTuV9F?<$I$~cGJ0Sv-86zH$4G9cg8M^=bpk?LMMa!23Pfo|EE(yMk|Ksvf!F{B zBO*@}h7jr=Mv?qiV9dxaY9bh+DG^;1jHL%Pl2WJ%i@*qj0Y@}sjJ-HQAx5~!Q3$0E zI;RCAJ+ebD^b&e-Vj&2gj9hXu5uQdKqEeA~po>U>N`UWyg%70$r4JW4ao>c=2S^~0@lfnYqJWC{iV9&bc39t;5D zJxOt3F6rG0A#?aHbW0d^QmTOLPZ^NDN9-7cFarpi$tr=B5K_{!vw?sQ69+kDJPE+t z&~=4R56dcF!m)IGxRN3IhwQ@w7bU!tSRq^o6JXilOe0{1Rluwe!Umy$KtP52U@df4 zVu9f{Di{F|3IlFVPS(;B&~ky70ueA`GBMbzh*B@4celL&t|Qiv97y;F@cH4{xZs@< z=)=48z&kJ%(B2>txF$s~4EcnUPLFDY9P;*crbUy&HSWXiy2_X=$Ik6K169?{7BAiq}t2qJ)^9F=z6hQ)$ zBPa-gR|JtNfgmD6FoYghOxQVK;=)#?h&IwPg$o6g;3#-jaO8_rxhdjNddUPr=0fy@ z=fVRcT>}hhYXs^T-n)P?pxqu1`dh#dr_i`wkOuVXF0k<8)E5YkVe{$f5;u1}2zw6Y z4vqwmB=Et&>Ck%~G%DAR#|J1i>I`Nt7c_OhQuG(4j;& zcnW@=c+g^qek5)2k*|PA0znqy1_{dV42`|z6M0v0%dYW z$yXEVSU`eYbDI5GoJ%~GI)lH)_5WK=%gPAq-++He)%cY_~GdMl0*1fXaD zie3>z0R?03QLIpS6gMbBdS0q5U>*p;tU#~=Fk(y?1%-jIIT1Y{=Y@2Z2w~wc!a*v* z&|s&$2pQonmjZzYAq;bwq60#zo6zP`na~reSQd{l@Iv19iRefMV5m~YoL;d~kUtm| zMMwv?kih`DB?YH$8PW?cw4FgO9C$8_L3e{{ZhqMN=FvGy-(vVM*Efvha;=Xeky&$V z!v5i+z4>H+U*A|-|GKK|FY?S)6W6oP*Uil_`;#k`ov-&i`(v4Tqw{q)kWcxbO8PKr zmHFL~KE>?mtTGO+Tk$uf?r$FQ)O<#*qHj>G^htD9#eWXy`%v8Q!n`-Q;;+5kA1)qc zj%8J+tK|#*Wez%Q>Z8>PMSh+wo{RacxTgoPfA5`_tLvYw1GIbH(#IZJ*(0jB6vIlN zr}--;sSo5kUoER89dM_Q0P1G@#5|U>J^_!uHoMG!QL-95creiOqHlYtL$z<5?`NK* z_z!NTI-RYjKgs2yQkPYxuK)44>o|KUR!V$ZiIwpcn5N2nwosXKZBvnt7R8PNUx}}- zZMxdg%K37(sHhn#v(e13YvxEKFDtUVphphK9J3(v)F8-C+npYYjw}rH+y%D_7D4mproTEx4YlZIa@w&at?A( z@Yw;k?Dksr4hkr?i+Q!bvsqpF`r0^i?QFeq_$Dv3aSXl5KI+&pK3?==Kg%_;zR%4Q zY$5sg9XhXyKmNJQ&gk2%d@V8vhWCIWj2%<5nN(HOd?N<%a?w+?61mXn9pzWxQCr4NRo)NIPD zHXN(rIoGzwRehyDq}=G4no?)u!Qj;^x@;7}dV1L@D|ySIbS-gZk6w}}G)Bj3YaiUb zo?g9PbJg!RS5b4|M$EW)y+&8JGwz_V0=BBEw zHRVkOX>iqsT5LJ&?JGmgygavB1+w;|LnybZz?XN^fzeDH;# zqJPOZRdfOE3XN)fmt%VoS9=K`#o702=v(%W7um~VC0=OdOpeNma;ou1a#-zo2|W;H zS)(bvOCCXAuQ2LmwitaBAE;&lKnu%O%|bc$gn!nVlchab7}-mE(a-H?qAVuLk73WY zk8JOptV7eliXQz^Q?Zihm=?u>ch@xW^^VEyg&=;{#>5}3>Ot4zm~8otLPpBA1oP*O zCMls`zW=M=+GI;Y?`PYbA)3vsAJZh=J*@7>arX7&k!OFtix3~jWQ13vuOFMs*&Fym zQ@CB--Z1LSn}bmE?LC5(BDyuSv%A%8-K}0zFTkIxC5csai(YLVG7RKDc1@FY!G)W!WWJ}%9OT8on zA3V-}xELY^avf_ASMf+++aJc1@v)>Iqt74PU&Ptu!`w(%?il{)9p<19WANiL`vQM% zVWg$S&J@+2W$wZ3VF=G@rkfMl$8t2=3+;7=js=}}ixCMD^}4s940IV!%y-NeG|)E{*hid*CW0eGuX zSEKJ^QzvcEuCFE=t$DNGZ@`1o(Ee(nyGPUSBM{yreSqow5@*Br^F43uS|i_H?-<(N zFIp+o<9a_Q*BpL1UBZ^Hv&jsLBf7ED!ghn3*}_~Q@?+ay-z>0TUoEg=fW;U;m;Kxs z3`nuCL}YA5z@IpYfr;))cN!^U70zX^s6SF7&)@qz@b??W547E z&$J7hDf_!+rbsL2y0Wp?<)BH z3fn~(eAre9+HiQss*-_eID4#Ev|GV$a;~&RY81=c7V%#bW=b#W3SqGpC&Hf zqkH67%?C9W8QsD_q*KwK8Gfx!CKT>ebg`sx$F(Km)b+z`bzsSCy|?NO%G9|u*^xS4 zpNxkM^HLIh3TP}T<}iv?+lnnwOdt?#XweXYH~cqA!5h2V1*5J%J-=9=()Z6Aiq;8L z6JtEdvtj3NAS`{^E$(p9-6SM8@~~c7a4TJ5@fYZ-x%aS|@=CYE=qjt>c!6QAuC3uT z361+NU;KVhqGJf)vk_l=6OJw@Vj}r!Gp;z}N@u{lcQrs@UD`;za&<&T_LZ~D?<#CnZL zChTg2ZNGoAZ2$23vi$#mDeSm;|2rOq*=z7;i_4F% zFD{?|ad9cpTwgta$RSg@xDAIdSdK1*Mcux z?Y6=MJ03j~jfnoo9)Yjv>1x7E{p2QG`OI`A6qvTb;5r zQ4bo4?Vzc^wn3Mfk>56D40@IgXQK;!OQUObQgy?!_DaxjD0HbSv(&0r>Uw98(tOZ& zdqA-`x=rhe`S~fu$BRFE%jb1<91y04`X>b^ zvvQZZ)|*bva3{)MvGo)3zO$8>v|`R{|fhTT3rt{ zxLw!Z;6&TFHo4N^+zqa@%^y7$ZJ+acoA%`E*W7*KotK5)Z`p4HEyu7fT8;e9=8L)a zvV1MAwEVZ;YkC7w)}O7N{u{9E3fTVNsJXvpfcPJ*1wX%w7F-%y@asRU1!u3N1!w>D z&He(R?O$Jk{J#vP|AQ5ay1av8nHh@Z^FORu#Mb-z;*Yvhw@IZ@;ue|PE?Zj#>lR<% zl!exCZgKrB^KNo=xp6mH^zSCGkIa|H9y*5;ci%Oh5kwm_Sz{pdz^FYC zvpvvtX4&nvu(wi#8-96YzW-(nzIokrbvX1#{lTwjKNRZ1xZ{3#lL$_| zC*;(7LTUPX^tqX~VR}=`(0UhJECDIMIV->6g=rH0&M#n3B}P)I zp($dPrNgdlLvI^Jbb+Z9^V*_UHaaj~w%=-!<~@_7*JbOoBsX5VL*sVKk~bxGtL@Po zacldH%yIiYUDc~*uWa6S-K@Ux0v^_u-olyL%bqD(Y?>lga-GgwZsuR~P1V^}TAuxz z$a6%pyT7&iM_1

L?b^h90LHn+UUsO>$p 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

m{1QG=hR_M`tBo5TJu)O={CCsfYHcw z^4-e6Yv9)l;+^cyJ)=6ScZH>K4Y)5B;k1U9K*+| z3%f8|vev;m<7Ty!-SwK?o_~i1FQrGMokGe}nTur}-5N08M9LnWan2;Q(VlMdmAi%U zjiJ9xdQpLb_Y(bU1;1d^u`FioYyLs$yIdWaFGBYS-fX{6DStmUe&5kW;M)$m1a{)O zE|QEwC7fo>w9`^zQ)Evlt-E9lphA7Zh)^~)TWx$DcPJMrFjyUxE`yt?V9C=;aa2$T zI+&pMITv?3&nKN#v7p8m9zl<%agH~_3L}bQu^qLBXQwEY zN4bjVun+Wpqwy0sPo=$QZtr6Rtf8r50z~MsQl+MV8Y!luoo2NLsAex!s|idQO8`zi_vm12A_qzbZ$C$wY0cjdplx3CHwd(6sEoEo4>HzX<@F%uLc||u{hH+Y; zcmMK3-Wacr|IWrxVeD`~0D-tHQ;gJDV9++&GI~Cr;NR|Wxcm6APtb#wYWs18u{vrD z$3Y({pw-i2F&lTv7;r4spJThY0XdlL|8K{?wH^O~o%G?@Z|OV#Lt9DNB-U5%9Imrv z@4(6@1>WGzE;8+@BsbUCLTu;zukD?G4n6e9B|TG_dFp=-N37Xvmg!rLLP!pt#Ck;z z^kDUjs2AIKiOR?JyIHa2+(rM~?W()_%LxwYk?V(ATk2 zv=n!L>vC|d@0Zmgn7C@{%}NSF9Lwp_{xl?2z1MC%sny~LA*=(Tr_PH+fB35P;WhUH ze|_qH?EvA(Efc#%hZvYT73}um@~^`!6*^~BAG7$*vgIkFFrYZa8mTiPqBjY}`zuAPG{nsuH;O9g)A^d|bEIE3}i)dDp z?TH0AFbgmt=!#!uL{4RJ^q0d+KIB-!+uUy8dsO`X7)Ixg>_$em7V3Jw@SnS?tDIF= zg|WeAlZRM}g6lO)qF|gAhgx?uN6f;gMcDUJEvQVD^bzQ)728$OkD>KEoUkPt{w}fo z2`AWt{>m!^VWlGoD>pSItl!I%VqV5gHi8GDh9V+EweG;T@S~(<F2W)iZ&)WD--u3w``W0ys^c!n389s0f-afZr@_!Y5nlqeufqCwFZEvrJl?T!~XJ z4JTK^gKNt(i3cGDvKn>Ub}!4GGP*G zyMd^PB&zxf?I>(9({BOSw{i}fb&&Eb&HScrj#Z(Nr$^NVKhPmkzh5Lmvar0QElUDK zD6YXJl{b45hQ6_lNz#%f@9npxGnnYsYd-INkvUp>WLL{OFFzKG~K=chylE_M)jbSOhpk=GO*L&!hy&5)hxV^$H>6;qz!y~+=>e&&{~Y*{-UdHM)Z z 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 diff --git a/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.2.tar.gz b/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.23.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bea1581508958943b5e088c14760bc5c49a4dcfc GIT binary patch literal 204333 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%0D^s4zVmxaA9{m2u^-ODplTrsX# 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

wzugpU^4dAJ32O?@Jo6RW545KC&k4b443{$&*^@ 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�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 r in t)EO(e,r,{get:t[r],enumerable:!0})};var hr={};Ra(hr,{HasPropertyKey:()=>$l,IsArray:()=>Tt,IsAsyncIterator:()=>Cg,IsBigInt:()=>If,IsBoolean:()=>Zo,IsDate:()=>Na,IsFunction:()=>Og,IsIterator:()=>kg,IsNull:()=>Rg,IsNumber:()=>Zr,IsObject:()=>Ge,IsRegExp:()=>_f,IsString:()=>Xe,IsSymbol:()=>Ng,IsUint8Array:()=>Qo,IsUndefined:()=>Mt});function $l(e,t){return t in e}function Cg(e){return Ge(e)&&!Tt(e)&&!Qo(e)&&Symbol.asyncIterator in e}function Tt(e){return Array.isArray(e)}function If(e){return typeof e=="bigint"}function Zo(e){return typeof e=="boolean"}function Na(e){return e instanceof globalThis.Date}function Og(e){return typeof e=="function"}function kg(e){return Ge(e)&&!Tt(e)&&!Qo(e)&&Symbol.iterator in e}function Rg(e){return e===null}function Zr(e){return typeof e=="number"}function Ge(e){return typeof e=="object"&&e!==null}function _f(e){return e instanceof globalThis.RegExp}function Xe(e){return typeof e=="string"}function Ng(e){return typeof e=="symbol"}function Qo(e){return e instanceof globalThis.Uint8Array}function Mt(e){return e===void 0}function FO(e){return e.map(t=>Dl(t))}function $O(e){return new Date(e.getTime())}function DO(e){return new Uint8Array(e)}function LO(e){return new RegExp(e.source,e.flags)}function VO(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=Dl(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=Dl(e[r]);return t}function Dl(e){return Tt(e)?FO(e):Na(e)?$O(e):Qo(e)?DO(e):_f(e)?LO(e):Ge(e)?VO(e):e}function ot(e){return Dl(e)}function Es(e,t){return t===void 0?ot(e):ot({...t,...e})}function Ll(e){return ge(e)&&globalThis.Symbol.asyncIterator in e}function Vl(e){return ge(e)&&globalThis.Symbol.iterator in e}function Ag(e){return ge(e)&&(globalThis.Object.getPrototypeOf(e)===Object.prototype||globalThis.Object.getPrototypeOf(e)===null)}function jl(e){return e instanceof globalThis.Promise}function Tr(e){return e instanceof Date&&globalThis.Number.isFinite(e.getTime())}function _w(e){return e instanceof globalThis.Map}function Pw(e){return e instanceof globalThis.Set}function yn(e){return globalThis.ArrayBuffer.isView(e)}function Fs(e){return e instanceof globalThis.Uint8Array}function ue(e,t){return t in e}function ge(e){return e!==null&&typeof e=="object"}function le(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function at(e){return e===void 0}function Jo(e){return e===null}function yo(e){return typeof e=="boolean"}function st(e){return typeof e=="number"}function Ul(e){return globalThis.Number.isInteger(e)}function Un(e){return typeof e=="bigint"}function Ue(e){return typeof e=="string"}function ji(e){return typeof e=="function"}function ei(e){return typeof e=="symbol"}function Qr(e){return Un(e)||yo(e)||Jo(e)||st(e)||Ue(e)||ei(e)||at(e)}var Rt;(function(e){e.InstanceMode="default",e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(a,s){return e.ExactOptionalPropertyTypes?s in a:a[s]!==void 0}e.IsExactOptionalProperty=t;function r(a){let s=ge(a);return e.AllowArrayObject?s:s&&!le(a)}e.IsObjectLike=r;function n(a){return r(a)&&!(a instanceof Date)&&!(a instanceof Uint8Array)}e.IsRecordLike=n;function o(a){return e.AllowNaN?st(a):Number.isFinite(a)}e.IsNumberLike=o;function i(a){let s=at(a);return e.AllowNullVoid?s||a===null:s}e.IsVoidLike=i})(Rt||(Rt={}));function jO(e){return globalThis.Object.freeze(e).map(t=>Pf(t))}function UO(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=Pf(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=Pf(e[r]);return globalThis.Object.freeze(t)}function Pf(e){return Tt(e)?jO(e):Na(e)?e:Qo(e)?e:_f(e)?e:Ge(e)?UO(e):e}function F(e,t){let r=t!==void 0?{...t,...e}:e;switch(Rt.InstanceMode){case"freeze":return Pf(r);case"clone":return ot(r);default:return r}}var pe=class extends Error{constructor(t){super(t)}};var ut=Symbol.for("TypeBox.Transform"),Gn=Symbol.for("TypeBox.Readonly"),sr=Symbol.for("TypeBox.Optional"),bn=Symbol.for("TypeBox.Hint"),$=Symbol.for("TypeBox.Kind");function $s(e){return Ge(e)&&e[Gn]==="Readonly"}function $r(e){return Ge(e)&&e[sr]==="Optional"}function Eg(e){return Ce(e,"Any")}function Fg(e){return Ce(e,"Argument")}function Bn(e){return Ce(e,"Array")}function Aa(e){return Ce(e,"AsyncIterator")}function Ea(e){return Ce(e,"BigInt")}function ti(e){return Ce(e,"Boolean")}function zn(e){return Ce(e,"Computed")}function Kn(e){return Ce(e,"Constructor")}function GO(e){return Ce(e,"Date")}function qn(e){return Ce(e,"Function")}function Hn(e){return Ce(e,"Integer")}function gt(e){return Ce(e,"Intersect")}function Fa(e){return Ce(e,"Iterator")}function Ce(e,t){return Ge(e)&&$ in e&&e[$]===t}function Gl(e){return Zo(e)||Zr(e)||Xe(e)}function Jr(e){return Ce(e,"Literal")}function en(e){return Ce(e,"MappedKey")}function ct(e){return Ce(e,"MappedResult")}function Ui(e){return Ce(e,"Never")}function BO(e){return Ce(e,"Not")}function Tf(e){return Ce(e,"Null")}function Yn(e){return Ce(e,"Number")}function Ct(e){return Ce(e,"Object")}function $a(e){return Ce(e,"Promise")}function Da(e){return Ce(e,"Record")}function wt(e){return Ce(e,"Ref")}function $g(e){return Ce(e,"RegExp")}function ri(e){return Ce(e,"String")}function Mf(e){return Ce(e,"Symbol")}function tn(e){return Ce(e,"TemplateLiteral")}function zO(e){return Ce(e,"This")}function Ee(e){return Ge(e)&&ut in e}function rn(e){return Ce(e,"Tuple")}function ni(e){return Ce(e,"Undefined")}function ke(e){return Ce(e,"Union")}function KO(e){return Ce(e,"Uint8Array")}function qO(e){return Ce(e,"Unknown")}function HO(e){return Ce(e,"Unsafe")}function YO(e){return Ce(e,"Void")}function Gi(e){return Ge(e)&&$ in e&&Xe(e[$])}function lt(e){return Eg(e)||Fg(e)||Bn(e)||ti(e)||Ea(e)||Aa(e)||zn(e)||Kn(e)||GO(e)||qn(e)||Hn(e)||gt(e)||Fa(e)||Jr(e)||en(e)||ct(e)||Ui(e)||BO(e)||Tf(e)||Yn(e)||Ct(e)||$a(e)||Da(e)||wt(e)||$g(e)||ri(e)||Mf(e)||tn(e)||zO(e)||rn(e)||ni(e)||ke(e)||KO(e)||qO(e)||HO(e)||YO(e)||Gi(e)}var M={};Ra(M,{IsAny:()=>Ow,IsArgument:()=>kw,IsArray:()=>Rw,IsAsyncIterator:()=>Nw,IsBigInt:()=>Aw,IsBoolean:()=>Ew,IsComputed:()=>Fw,IsConstructor:()=>$w,IsDate:()=>Dw,IsFunction:()=>Lw,IsImport:()=>e5,IsInteger:()=>Vw,IsIntersect:()=>jw,IsIterator:()=>Uw,IsKind:()=>m2,IsKindOf:()=>ve,IsLiteral:()=>Of,IsLiteralBoolean:()=>t5,IsLiteralNumber:()=>Bw,IsLiteralString:()=>Gw,IsLiteralValue:()=>zw,IsMappedKey:()=>Kw,IsMappedResult:()=>qw,IsNever:()=>Hw,IsNot:()=>Yw,IsNull:()=>Ww,IsNumber:()=>Xw,IsObject:()=>Zw,IsOptional:()=>JO,IsPromise:()=>Qw,IsProperties:()=>Bl,IsReadonly:()=>QO,IsRecord:()=>Jw,IsRecursive:()=>r5,IsRef:()=>e2,IsRegExp:()=>t2,IsSchema:()=>zt,IsString:()=>r2,IsSymbol:()=>n2,IsTemplateLiteral:()=>o2,IsThis:()=>i2,IsTransform:()=>a2,IsTuple:()=>s2,IsUint8Array:()=>f2,IsUndefined:()=>c2,IsUnion:()=>jg,IsUnionLiteral:()=>n5,IsUnknown:()=>u2,IsUnsafe:()=>l2,IsVoid:()=>p2,TypeGuardUnknownTypeError:()=>Dg});var Dg=class extends pe{},WO=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function Tw(e){try{return new RegExp(e),!0}catch{return!1}}function Lg(e){if(!Xe(e))return!1;for(let t=0;t=7&&r<=13||r===27||r===127)return!1}return!0}function Mw(e){return Vg(e)||zt(e)}function Cf(e){return Mt(e)||If(e)}function Ze(e){return Mt(e)||Zr(e)}function Vg(e){return Mt(e)||Zo(e)}function Be(e){return Mt(e)||Xe(e)}function XO(e){return Mt(e)||Xe(e)&&Lg(e)&&Tw(e)}function ZO(e){return Mt(e)||Xe(e)&&Lg(e)}function Cw(e){return Mt(e)||zt(e)}function QO(e){return Ge(e)&&e[Gn]==="Readonly"}function JO(e){return Ge(e)&&e[sr]==="Optional"}function Ow(e){return ve(e,"Any")&&Be(e.$id)}function kw(e){return ve(e,"Argument")&&Zr(e.index)}function Rw(e){return ve(e,"Array")&&e.type==="array"&&Be(e.$id)&&zt(e.items)&&Ze(e.minItems)&&Ze(e.maxItems)&&Vg(e.uniqueItems)&&Cw(e.contains)&&Ze(e.minContains)&&Ze(e.maxContains)}function Nw(e){return ve(e,"AsyncIterator")&&e.type==="AsyncIterator"&&Be(e.$id)&&zt(e.items)}function Aw(e){return ve(e,"BigInt")&&e.type==="bigint"&&Be(e.$id)&&Cf(e.exclusiveMaximum)&&Cf(e.exclusiveMinimum)&&Cf(e.maximum)&&Cf(e.minimum)&&Cf(e.multipleOf)}function Ew(e){return ve(e,"Boolean")&&e.type==="boolean"&&Be(e.$id)}function Fw(e){return ve(e,"Computed")&&Xe(e.target)&&Tt(e.parameters)&&e.parameters.every(t=>zt(t))}function $w(e){return ve(e,"Constructor")&&e.type==="Constructor"&&Be(e.$id)&&Tt(e.parameters)&&e.parameters.every(t=>zt(t))&&zt(e.returns)}function Dw(e){return ve(e,"Date")&&e.type==="Date"&&Be(e.$id)&&Ze(e.exclusiveMaximumTimestamp)&&Ze(e.exclusiveMinimumTimestamp)&&Ze(e.maximumTimestamp)&&Ze(e.minimumTimestamp)&&Ze(e.multipleOfTimestamp)}function Lw(e){return ve(e,"Function")&&e.type==="Function"&&Be(e.$id)&&Tt(e.parameters)&&e.parameters.every(t=>zt(t))&&zt(e.returns)}function e5(e){return ve(e,"Import")&&$l(e,"$defs")&&Ge(e.$defs)&&Bl(e.$defs)&&$l(e,"$ref")&&Xe(e.$ref)&&e.$ref in e.$defs}function Vw(e){return ve(e,"Integer")&&e.type==="integer"&&Be(e.$id)&&Ze(e.exclusiveMaximum)&&Ze(e.exclusiveMinimum)&&Ze(e.maximum)&&Ze(e.minimum)&&Ze(e.multipleOf)}function Bl(e){return Ge(e)&&Object.entries(e).every(([t,r])=>Lg(t)&&zt(r))}function jw(e){return ve(e,"Intersect")&&!(Xe(e.type)&&e.type!=="object")&&Tt(e.allOf)&&e.allOf.every(t=>zt(t)&&!a2(t))&&Be(e.type)&&(Vg(e.unevaluatedProperties)||Cw(e.unevaluatedProperties))&&Be(e.$id)}function Uw(e){return ve(e,"Iterator")&&e.type==="Iterator"&&Be(e.$id)&&zt(e.items)}function ve(e,t){return Ge(e)&&$ in e&&e[$]===t}function Gw(e){return Of(e)&&Xe(e.const)}function Bw(e){return Of(e)&&Zr(e.const)}function t5(e){return Of(e)&&Zo(e.const)}function Of(e){return ve(e,"Literal")&&Be(e.$id)&&zw(e.const)}function zw(e){return Zo(e)||Zr(e)||Xe(e)}function Kw(e){return ve(e,"MappedKey")&&Tt(e.keys)&&e.keys.every(t=>Zr(t)||Xe(t))}function qw(e){return ve(e,"MappedResult")&&Bl(e.properties)}function Hw(e){return ve(e,"Never")&&Ge(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function Yw(e){return ve(e,"Not")&&zt(e.not)}function Ww(e){return ve(e,"Null")&&e.type==="null"&&Be(e.$id)}function Xw(e){return ve(e,"Number")&&e.type==="number"&&Be(e.$id)&&Ze(e.exclusiveMaximum)&&Ze(e.exclusiveMinimum)&&Ze(e.maximum)&&Ze(e.minimum)&&Ze(e.multipleOf)}function Zw(e){return ve(e,"Object")&&e.type==="object"&&Be(e.$id)&&Bl(e.properties)&&Mw(e.additionalProperties)&&Ze(e.minProperties)&&Ze(e.maxProperties)}function Qw(e){return ve(e,"Promise")&&e.type==="Promise"&&Be(e.$id)&&zt(e.item)}function Jw(e){return ve(e,"Record")&&e.type==="object"&&Be(e.$id)&&Mw(e.additionalProperties)&&Ge(e.patternProperties)&&(t=>{let r=Object.getOwnPropertyNames(t.patternProperties);return r.length===1&&Tw(r[0])&&Ge(t.patternProperties)&&zt(t.patternProperties[r[0]])})(e)}function r5(e){return Ge(e)&&bn in e&&e[bn]==="Recursive"}function e2(e){return ve(e,"Ref")&&Be(e.$id)&&Xe(e.$ref)}function t2(e){return ve(e,"RegExp")&&Be(e.$id)&&Xe(e.source)&&Xe(e.flags)&&Ze(e.maxLength)&&Ze(e.minLength)}function r2(e){return ve(e,"String")&&e.type==="string"&&Be(e.$id)&&Ze(e.minLength)&&Ze(e.maxLength)&&XO(e.pattern)&&ZO(e.format)}function n2(e){return ve(e,"Symbol")&&e.type==="symbol"&&Be(e.$id)}function o2(e){return ve(e,"TemplateLiteral")&&e.type==="string"&&Xe(e.pattern)&&e.pattern[0]==="^"&&e.pattern[e.pattern.length-1]==="$"}function i2(e){return ve(e,"This")&&Be(e.$id)&&Xe(e.$ref)}function a2(e){return Ge(e)&&ut in e}function s2(e){return ve(e,"Tuple")&&e.type==="array"&&Be(e.$id)&&Zr(e.minItems)&&Zr(e.maxItems)&&e.minItems===e.maxItems&&(Mt(e.items)&&Mt(e.additionalItems)&&e.minItems===0||Tt(e.items)&&e.items.every(t=>zt(t)))}function c2(e){return ve(e,"Undefined")&&e.type==="undefined"&&Be(e.$id)}function n5(e){return jg(e)&&e.anyOf.every(t=>Gw(t)||Bw(t))}function jg(e){return ve(e,"Union")&&Be(e.$id)&&Ge(e)&&Tt(e.anyOf)&&e.anyOf.every(t=>zt(t))}function f2(e){return ve(e,"Uint8Array")&&e.type==="Uint8Array"&&Be(e.$id)&&Ze(e.minByteLength)&&Ze(e.maxByteLength)}function u2(e){return ve(e,"Unknown")&&Be(e.$id)}function l2(e){return ve(e,"Unsafe")}function p2(e){return ve(e,"Void")&&e.type==="void"&&Be(e.$id)}function m2(e){return Ge(e)&&$ in e&&Xe(e[$])&&!WO.includes(e[$])}function zt(e){return Ge(e)&&(Ow(e)||kw(e)||Rw(e)||Ew(e)||Aw(e)||Nw(e)||Fw(e)||$w(e)||Dw(e)||Lw(e)||Vw(e)||jw(e)||Uw(e)||Of(e)||Kw(e)||qw(e)||Hw(e)||Yw(e)||Ww(e)||Xw(e)||Zw(e)||Qw(e)||Jw(e)||e2(e)||t2(e)||r2(e)||n2(e)||o2(e)||i2(e)||s2(e)||c2(e)||jg(e)||f2(e)||u2(e)||l2(e)||p2(e)||m2(e))}var Ug="(true|false)",kf="(0|[1-9][0-9]*)",Gg="(.*)",o5="(?!.*)",$G=`^${Ug}$`,Bi=`^${kf}$`,zi=`^${Gg}$`,d2=`^${o5}$`;var Ki={};Ra(Ki,{Clear:()=>a5,Delete:()=>s5,Entries:()=>i5,Get:()=>u5,Has:()=>c5,Set:()=>f5});var Ds=new Map;function i5(){return new Map(Ds)}function a5(){return Ds.clear()}function s5(e){return Ds.delete(e)}function c5(e){return Ds.has(e)}function f5(e,t){Ds.set(e,t)}function u5(e){return Ds.get(e)}var Wn={};Ra(Wn,{Clear:()=>p5,Delete:()=>m5,Entries:()=>l5,Get:()=>g5,Has:()=>d5,Set:()=>h5});var Ls=new Map;function l5(){return new Map(Ls)}function p5(){return Ls.clear()}function m5(e){return Ls.delete(e)}function d5(e){return Ls.has(e)}function h5(e,t){Ls.set(e,t)}function g5(e){return Ls.get(e)}function h2(e,t){return e.includes(t)}function g2(e){return[...new Set(e)]}function y5(e,t){return e.filter(r=>t.includes(r))}function b5(e,t){return e.reduce((r,n)=>y5(r,n),t)}function y2(e){return e.length===1?e[0]:e.length>1?b5(e.slice(1),e[0]):[]}function b2(e){let t=[];for(let r of e)t.push(...r);return t}function qi(e){return F({[$]:"Any"},e)}function Vs(e,t){return F({[$]:"Array",type:"array",items:e},t)}function x2(e){return F({[$]:"Argument",index:e})}function js(e,t){return F({[$]:"AsyncIterator",type:"AsyncIterator",items:e},t)}function Je(e,t,r){return F({[$]:"Computed",target:e,parameters:t},r)}function x5(e,t){let{[t]:r,...n}=e;return n}function yt(e,t){return t.reduce((r,n)=>x5(r,n),e)}function Se(e){return F({[$]:"Never",not:{}},e)}function Re(e){return F({[$]:"MappedResult",properties:e})}function Us(e,t,r){return F({[$]:"Constructor",type:"Constructor",parameters:e,returns:t},r)}function bo(e,t,r){return F({[$]:"Function",type:"Function",parameters:e,returns:t},r)}function Rf(e,t){return F({[$]:"Union",anyOf:e},t)}function w5(e){return e.some(t=>$r(t))}function w2(e){return e.map(t=>$r(t)?S5(t):t)}function S5(e){return yt(e,[sr])}function v5(e,t){return w5(e)?gr(Rf(w2(e),t)):Rf(w2(e),t)}function xo(e,t){return e.length===1?F(e[0],t):e.length===0?Se(t):v5(e,t)}function Fe(e,t){return e.length===0?Se(t):e.length===1?F(e[0],t):Rf(e,t)}var zl=class extends pe{};function I5(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function Bg(e,t,r){return e[t]===r&&e.charCodeAt(t-1)!==92}function ii(e,t){return Bg(e,t,"(")}function Nf(e,t){return Bg(e,t,")")}function S2(e,t){return Bg(e,t,"|")}function _5(e){if(!(ii(e,0)&&Nf(e,e.length-1)))return!1;let t=0;for(let r=0;r0&&n.push(Gs(a)),r=i+1}let o=e.slice(r);return o.length>0&&n.push(Gs(o)),n.length===0?{type:"const",const:""}:n.length===1?n[0]:{type:"or",expr:n}}function O5(e){function t(o,i){if(!ii(o,i))throw new zl("TemplateLiteralParser: Index must point to open parens");let a=0;for(let s=i;s0&&n.push(Gs(s)),o=a-1}return n.length===0?{type:"const",const:""}:n.length===1?n[0]:{type:"and",expr:n}}function Gs(e){return _5(e)?Gs(P5(e)):T5(e)?C5(e):M5(e)?O5(e):{type:"const",const:I5(e)}}function Bs(e){return Gs(e.slice(1,e.length-1))}var zg=class extends pe{};function k5(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="0"&&e.expr[1].type==="const"&&e.expr[1].const==="[1-9][0-9]*"}function R5(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="true"&&e.expr[1].type==="const"&&e.expr[1].const==="false"}function N5(e){return e.type==="const"&&e.const===".*"}function La(e){return k5(e)||N5(e)?!1:R5(e)?!0:e.type==="and"?e.expr.every(t=>La(t)):e.type==="or"?e.expr.every(t=>La(t)):e.type==="const"?!0:(()=>{throw new zg("Unknown expression type")})()}function Kl(e){let t=Bs(e.pattern);return La(t)}var Kg=class extends pe{};function*v2(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let r of v2(e.slice(1)))yield`${t}${r}`}function*A5(e){return yield*v2(e.expr.map(t=>[...Af(t)]))}function*E5(e){for(let t of e.expr)yield*Af(t)}function*F5(e){return yield e.const}function*Af(e){return e.type==="and"?yield*A5(e):e.type==="or"?yield*E5(e):e.type==="const"?yield*F5(e):(()=>{throw new Kg("Unknown expression")})()}function zs(e){let t=Bs(e.pattern);return La(t)?[...Af(t)]:[]}function Oe(e,t){return F({[$]:"Literal",const:e,type:typeof e},t)}function ql(e){return F({[$]:"Boolean",type:"boolean"},e)}function Ks(e){return F({[$]:"BigInt",type:"bigint"},e)}function xn(e){return F({[$]:"Number",type:"number"},e)}function Mr(e){return F({[$]:"String",type:"string"},e)}function*$5(e){let t=e.trim().replace(/"|'/g,"");return t==="boolean"?yield ql():t==="number"?yield xn():t==="bigint"?yield Ks():t==="string"?yield Mr():yield(()=>{let r=t.split("|").map(n=>Oe(n.trim()));return r.length===0?Se():r.length===1?r[0]:xo(r)})()}function*D5(e){if(e[1]!=="{"){let t=Oe("$"),r=qg(e.slice(1));return yield*[t,...r]}for(let t=2;t_2(r,t)).join("|")})`:Yn(e)?`${t}${kf}`:Hn(e)?`${t}${kf}`:Ea(e)?`${t}${kf}`:ri(e)?`${t}${Gg}`:Jr(e)?`${t}${L5(e.const.toString())}`:ti(e)?`${t}${Ug}`:(()=>{throw new Hg(`Unexpected Kind '${e[$]}'`)})()}function Yg(e){return`^${e.map(t=>_2(t,"")).join("")}$`}function Va(e){let r=zs(e).map(n=>Oe(n));return xo(r)}function Hl(e,t){let r=Xe(e)?Yg(I2(e)):Yg(e);return F({[$]:"TemplateLiteral",type:"string",pattern:r},t)}function V5(e){return zs(e).map(r=>r.toString())}function j5(e){let t=[];for(let r of e)t.push(...Dr(r));return t}function U5(e){return[e.toString()]}function Dr(e){return[...new Set(tn(e)?V5(e):ke(e)?j5(e.anyOf):Jr(e)?U5(e.const):Yn(e)?["[number]"]:Hn(e)?["[number]"]:[])]}function G5(e,t,r){let n={};for(let o of Object.getOwnPropertyNames(t))n[o]=Hi(e,Dr(t[o]),r);return n}function B5(e,t,r){return G5(e,t.properties,r)}function P2(e,t,r){let n=B5(e,t,r);return Re(n)}function M2(e,t){return e.map(r=>C2(r,t))}function z5(e){return e.filter(t=>!Ui(t))}function K5(e,t){return Yl(z5(M2(e,t)))}function q5(e){return e.some(t=>Ui(t))?[]:e}function H5(e,t){return xo(q5(M2(e,t)))}function Y5(e,t){return t in e?e[t]:t==="[number]"?xo(e):Se()}function W5(e,t){return t==="[number]"?e:Se()}function X5(e,t){return t in e?e[t]:Se()}function C2(e,t){return gt(e)?K5(e.allOf,t):ke(e)?H5(e.anyOf,t):rn(e)?Y5(e.items??[],t):Bn(e)?W5(e.items,t):Ct(e)?X5(e.properties,t):Se()}function Ef(e,t){return t.map(r=>C2(e,r))}function T2(e,t){return xo(Ef(e,t))}function Hi(e,t,r){if(wt(e)||wt(t)){let n="Index types using Ref parameters require both Type and Key to be of TSchema";if(!lt(e)||!lt(t))throw new pe(n);return Je("Index",[e,t])}return ct(t)?P2(e,t,r):en(t)?O2(e,t,r):F(lt(t)?T2(e,Dr(t)):T2(e,t),r)}function Z5(e,t,r){return{[t]:Hi(e,[t],ot(r))}}function Q5(e,t,r){return t.reduce((n,o)=>({...n,...Z5(e,o,r)}),{})}function J5(e,t,r){return Q5(e,t.keys,r)}function O2(e,t,r){let n=J5(e,t,r);return Re(n)}function qs(e,t){return F({[$]:"Iterator",type:"Iterator",items:e},t)}function ek(e){return globalThis.Object.keys(e).filter(t=>!$r(e[t]))}function tk(e,t){let r=ek(e),n=r.length>0?{[$]:"Object",type:"object",required:r,properties:e}:{[$]:"Object",type:"object",properties:e};return F(n,t)}var $e=tk;function Wl(e,t){return F({[$]:"Promise",type:"Promise",item:e},t)}function rk(e){return F(yt(e,[Gn]))}function nk(e){return F({...e,[Gn]:"Readonly"})}function ok(e,t){return t===!1?rk(e):nk(e)}function Lr(e,t){let r=t??!0;return ct(e)?k2(e,r):ok(e,r)}function ik(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=Lr(e[n],t);return r}function ak(e,t){return ik(e.properties,t)}function k2(e,t){let r=ak(e,t);return Re(r)}function wn(e,t){return F(e.length>0?{[$]:"Tuple",type:"array",items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[$]:"Tuple",type:"array",minItems:e.length,maxItems:e.length},t)}function R2(e,t){return e in t?Sn(e,t[e]):Re(t)}function sk(e){return{[e]:Oe(e)}}function ck(e){let t={};for(let r of e)t[r]=Oe(r);return t}function fk(e,t){return h2(t,e)?sk(e):ck(t)}function uk(e,t){let r=fk(e,t);return R2(e,r)}function Ff(e,t){return t.map(r=>Sn(e,r))}function lk(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(t))r[n]=Sn(e,t[n]);return r}function Sn(e,t){let r={...t};return $r(t)?gr(Sn(e,yt(t,[sr]))):$s(t)?Lr(Sn(e,yt(t,[Gn]))):ct(t)?R2(e,t.properties):en(t)?uk(e,t.keys):Kn(t)?Us(Ff(e,t.parameters),Sn(e,t.returns),r):qn(t)?bo(Ff(e,t.parameters),Sn(e,t.returns),r):Aa(t)?js(Sn(e,t.items),r):Fa(t)?qs(Sn(e,t.items),r):gt(t)?yr(Ff(e,t.allOf),r):ke(t)?Fe(Ff(e,t.anyOf),r):rn(t)?wn(Ff(e,t.items??[]),r):Ct(t)?$e(lk(e,t.properties),r):Bn(t)?Vs(Sn(e,t.items),r):$a(t)?Wl(Sn(e,t.item),r):t}function pk(e,t){let r={};for(let n of e)r[n]=Sn(n,t);return r}function N2(e,t,r){let n=lt(e)?Dr(e):e,o=t({[$]:"MappedKey",keys:n}),i=pk(n,o);return $e(i,r)}function mk(e){return F(yt(e,[sr]))}function dk(e){return F({...e,[sr]:"Optional"})}function hk(e,t){return t===!1?mk(e):dk(e)}function gr(e,t){let r=t??!0;return ct(e)?A2(e,r):hk(e,r)}function gk(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=gr(e[n],t);return r}function yk(e,t){return gk(e.properties,t)}function A2(e,t){let r=yk(e,t);return Re(r)}function $f(e,t={}){let r=e.every(o=>Ct(o)),n=lt(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return F(t.unevaluatedProperties===!1||lt(t.unevaluatedProperties)||r?{...n,[$]:"Intersect",type:"object",allOf:e}:{...n,[$]:"Intersect",allOf:e},t)}function bk(e){return e.every(t=>$r(t))}function xk(e){return yt(e,[sr])}function E2(e){return e.map(t=>$r(t)?xk(t):t)}function wk(e,t){return bk(e)?gr($f(E2(e),t)):$f(E2(e),t)}function Yl(e,t={}){if(e.length===1)return F(e[0],t);if(e.length===0)return Se(t);if(e.some(r=>Ee(r)))throw new Error("Cannot intersect transform types");return wk(e,t)}function yr(e,t){if(e.length===1)return F(e[0],t);if(e.length===0)return Se(t);if(e.some(r=>Ee(r)))throw new Error("Cannot intersect transform types");return $f(e,t)}function wo(...e){let[t,r]=typeof e[0]=="string"?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!="string")throw new pe("Ref: $ref must be a string");return F({[$]:"Ref",$ref:t},r)}function Sk(e,t){return Je("Awaited",[Je(e,t)])}function vk(e){return Je("Awaited",[wo(e)])}function Ik(e){return yr(F2(e))}function _k(e){return Fe(F2(e))}function Pk(e){return Hs(e)}function F2(e){return e.map(t=>Hs(t))}function Hs(e,t){return F(zn(e)?Sk(e.target,e.parameters):gt(e)?Ik(e.allOf):ke(e)?_k(e.anyOf):$a(e)?Pk(e.item):wt(e)?vk(e.$ref):e,t)}function $2(e){let t=[];for(let r of e)t.push(Vr(r));return t}function Tk(e){let t=$2(e);return b2(t)}function Mk(e){let t=$2(e);return y2(t)}function Ck(e){return e.map((t,r)=>r.toString())}function Ok(e){return["[number]"]}function kk(e){return globalThis.Object.getOwnPropertyNames(e)}function Rk(e){return Wg?globalThis.Object.getOwnPropertyNames(e).map(r=>r[0]==="^"&&r[r.length-1]==="$"?r.slice(1,r.length-1):r):[]}function Vr(e){return gt(e)?Tk(e.allOf):ke(e)?Mk(e.anyOf):rn(e)?Ck(e.items??[]):Bn(e)?Ok(e.items):Ct(e)?kk(e.properties):Da(e)?Rk(e.patternProperties):[]}var Wg=!1;function Ys(e){Wg=!0;let t=Vr(e);return Wg=!1,`^(${t.map(n=>`(${n})`).join("|")})$`}function Nk(e,t){return Je("KeyOf",[Je(e,t)])}function Ak(e){return Je("KeyOf",[wo(e)])}function Ek(e,t){let r=Vr(e),n=Fk(r),o=xo(n);return F(o,t)}function Fk(e){return e.map(t=>t==="[number]"?xn():Oe(t))}function Ws(e,t){return zn(e)?Nk(e.target,e.parameters):wt(e)?Ak(e.$ref):ct(e)?D2(e,t):Ek(e,t)}function $k(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=Ws(e[n],ot(t));return r}function Dk(e,t){return $k(e.properties,t)}function D2(e,t){let r=Dk(e,t);return Re(r)}function Xl(e){let t=Vr(e),r=Ef(e,t);return t.map((n,o)=>[t[o],r[o]])}function Lk(e){let t=[];for(let r of e)t.push(...Vr(r));return g2(t)}function Vk(e){return e.filter(t=>!Ui(t))}function jk(e,t){let r=[];for(let n of e)r.push(...Ef(n,[t]));return Vk(r)}function Uk(e,t){let r={};for(let n of t)r[n]=Yl(jk(e,n));return r}function L2(e,t){let r=Lk(e),n=Uk(e,r);return $e(n,t)}function Zl(e){return F({[$]:"Date",type:"Date"},e)}function Ql(e){return F({[$]:"Null",type:"null"},e)}function Jl(e){return F({[$]:"Symbol",type:"symbol"},e)}function ep(e){return F({[$]:"Undefined",type:"undefined"},e)}function tp(e){return F({[$]:"Uint8Array",type:"Uint8Array"},e)}function Xn(e){return F({[$]:"Unknown"},e)}function Gk(e){return e.map(t=>Xg(t,!1))}function Bk(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=Lr(Xg(e[r],!1));return t}function rp(e,t){return t===!0?e:Lr(e)}function Xg(e,t){return Cg(e)?rp(qi(),t):kg(e)?rp(qi(),t):Tt(e)?Lr(wn(Gk(e))):Qo(e)?tp():Na(e)?Zl():Ge(e)?rp($e(Bk(e)),t):Og(e)?rp(bo([],Xn()),t):Mt(e)?ep():Rg(e)?Ql():Ng(e)?Jl():If(e)?Ks():Zr(e)?Oe(e):Zo(e)?Oe(e):Xe(e)?Oe(e):$e({})}function V2(e,t){return F(Xg(e,!0),t)}function j2(e,t){return Kn(e)?wn(e.parameters,t):Se(t)}function U2(e,t){if(Mt(e))throw new Error("Enum undefined or empty");let r=globalThis.Object.getOwnPropertyNames(e).filter(i=>isNaN(i)).map(i=>e[i]),o=[...new Set(r)].map(i=>Oe(i));return Fe(o,{...t,[bn]:"Enum"})}var Qg=class extends pe{},D;(function(e){e[e.Union=0]="Union",e[e.True=1]="True",e[e.False=2]="False"})(D||(D={}));function vn(e){return e===D.False?e:D.True}function Xs(e){throw new Qg(e)}function Nt(e){return M.IsNever(e)||M.IsIntersect(e)||M.IsUnion(e)||M.IsUnknown(e)||M.IsAny(e)}function At(e,t){return M.IsNever(t)?Y2(e,t):M.IsIntersect(t)?np(e,t):M.IsUnion(t)?ry(e,t):M.IsUnknown(t)?Q2(e,t):M.IsAny(t)?ty(e,t):Xs("StructuralRight")}function ty(e,t){return D.True}function zk(e,t){return M.IsIntersect(t)?np(e,t):M.IsUnion(t)&&t.anyOf.some(r=>M.IsAny(r)||M.IsUnknown(r))?D.True:M.IsUnion(t)?D.Union:M.IsUnknown(t)||M.IsAny(t)?D.True:D.Union}function Kk(e,t){return M.IsUnknown(e)?D.False:M.IsAny(e)?D.Union:M.IsNever(e)?D.True:D.False}function qk(e,t){return M.IsObject(t)&&op(t)?D.True:Nt(t)?At(e,t):M.IsArray(t)?vn(ze(e.items,t.items)):D.False}function Hk(e,t){return Nt(t)?At(e,t):M.IsAsyncIterator(t)?vn(ze(e.items,t.items)):D.False}function Yk(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsBigInt(t)?D.True:D.False}function q2(e,t){return M.IsLiteralBoolean(e)||M.IsBoolean(e)?D.True:D.False}function Wk(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsBoolean(t)?D.True:D.False}function Xk(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsConstructor(t)?e.parameters.length>t.parameters.length?D.False:e.parameters.every((r,n)=>vn(ze(t.parameters[n],r))===D.True)?vn(ze(e.returns,t.returns)):D.False:D.False}function Zk(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsDate(t)?D.True:D.False}function Qk(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsFunction(t)?e.parameters.length>t.parameters.length?D.False:e.parameters.every((r,n)=>vn(ze(t.parameters[n],r))===D.True)?vn(ze(e.returns,t.returns)):D.False:D.False}function H2(e,t){return M.IsLiteral(e)&&hr.IsNumber(e.const)||M.IsNumber(e)||M.IsInteger(e)?D.True:D.False}function Jk(e,t){return M.IsInteger(t)||M.IsNumber(t)?D.True:Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):D.False}function np(e,t){return t.allOf.every(r=>ze(e,r)===D.True)?D.True:D.False}function e8(e,t){return e.allOf.some(r=>ze(r,t)===D.True)?D.True:D.False}function t8(e,t){return Nt(t)?At(e,t):M.IsIterator(t)?vn(ze(e.items,t.items)):D.False}function r8(e,t){return M.IsLiteral(t)&&t.const===e.const?D.True:Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsString(t)?Z2(e,t):M.IsNumber(t)?W2(e,t):M.IsInteger(t)?H2(e,t):M.IsBoolean(t)?q2(e,t):D.False}function Y2(e,t){return D.False}function n8(e,t){return D.True}function G2(e){let[t,r]=[e,0];for(;M.IsNot(t);)t=t.not,r+=1;return r%2===0?t:Xn()}function o8(e,t){return M.IsNot(e)?ze(G2(e),t):M.IsNot(t)?ze(e,G2(t)):Xs("Invalid fallthrough for Not")}function i8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsNull(t)?D.True:D.False}function W2(e,t){return M.IsLiteralNumber(e)||M.IsNumber(e)||M.IsInteger(e)?D.True:D.False}function a8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsInteger(t)||M.IsNumber(t)?D.True:D.False}function jr(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function B2(e){return op(e)}function z2(e){return jr(e,0)||jr(e,1)&&"description"in e.properties&&M.IsUnion(e.properties.description)&&e.properties.description.anyOf.length===2&&(M.IsString(e.properties.description.anyOf[0])&&M.IsUndefined(e.properties.description.anyOf[1])||M.IsString(e.properties.description.anyOf[1])&&M.IsUndefined(e.properties.description.anyOf[0]))}function Zg(e){return jr(e,0)}function K2(e){return jr(e,0)}function s8(e){return jr(e,0)}function c8(e){return jr(e,0)}function f8(e){return op(e)}function u8(e){let t=xn();return jr(e,0)||jr(e,1)&&"length"in e.properties&&vn(ze(e.properties.length,t))===D.True}function l8(e){return jr(e,0)}function op(e){let t=xn();return jr(e,0)||jr(e,1)&&"length"in e.properties&&vn(ze(e.properties.length,t))===D.True}function p8(e){let t=bo([qi()],qi());return jr(e,0)||jr(e,1)&&"then"in e.properties&&vn(ze(e.properties.then,t))===D.True}function X2(e,t){return ze(e,t)===D.False||M.IsOptional(e)&&!M.IsOptional(t)?D.False:D.True}function br(e,t){return M.IsUnknown(e)?D.False:M.IsAny(e)?D.Union:M.IsNever(e)||M.IsLiteralString(e)&&B2(t)||M.IsLiteralNumber(e)&&Zg(t)||M.IsLiteralBoolean(e)&&K2(t)||M.IsSymbol(e)&&z2(t)||M.IsBigInt(e)&&s8(t)||M.IsString(e)&&B2(t)||M.IsSymbol(e)&&z2(t)||M.IsNumber(e)&&Zg(t)||M.IsInteger(e)&&Zg(t)||M.IsBoolean(e)&&K2(t)||M.IsUint8Array(e)&&f8(t)||M.IsDate(e)&&c8(t)||M.IsConstructor(e)&&l8(t)||M.IsFunction(e)&&u8(t)?D.True:M.IsRecord(e)&&M.IsString(Jg(e))?t[bn]==="Record"?D.True:D.False:M.IsRecord(e)&&M.IsNumber(Jg(e))?jr(t,0)?D.True:D.False:D.False}function m8(e,t){return Nt(t)?At(e,t):M.IsRecord(t)?In(e,t):M.IsObject(t)?(()=>{for(let r of Object.getOwnPropertyNames(t.properties)){if(!(r in e.properties)&&!M.IsOptional(t.properties[r]))return D.False;if(M.IsOptional(t.properties[r]))return D.True;if(X2(e.properties[r],t.properties[r])===D.False)return D.False}return D.True})():D.False}function d8(e,t){return Nt(t)?At(e,t):M.IsObject(t)&&p8(t)?D.True:M.IsPromise(t)?vn(ze(e.item,t.item)):D.False}function Jg(e){return Bi in e.patternProperties?xn():zi in e.patternProperties?Mr():Xs("Unknown record key pattern")}function ey(e){return Bi in e.patternProperties?e.patternProperties[Bi]:zi in e.patternProperties?e.patternProperties[zi]:Xs("Unable to get record value schema")}function In(e,t){let[r,n]=[Jg(t),ey(t)];return M.IsLiteralString(e)&&M.IsNumber(r)&&vn(ze(e,n))===D.True?D.True:M.IsUint8Array(e)&&M.IsNumber(r)||M.IsString(e)&&M.IsNumber(r)||M.IsArray(e)&&M.IsNumber(r)?ze(e,n):M.IsObject(e)?(()=>{for(let o of Object.getOwnPropertyNames(e.properties))if(X2(n,e.properties[o])===D.False)return D.False;return D.True})():D.False}function h8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?ze(ey(e),ey(t)):D.False}function g8(e,t){let r=M.IsRegExp(e)?Mr():e,n=M.IsRegExp(t)?Mr():t;return ze(r,n)}function Z2(e,t){return M.IsLiteral(e)&&hr.IsString(e.const)||M.IsString(e)?D.True:D.False}function y8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsString(t)?D.True:D.False}function b8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsSymbol(t)?D.True:D.False}function x8(e,t){return M.IsTemplateLiteral(e)?ze(Va(e),t):M.IsTemplateLiteral(t)?ze(e,Va(t)):Xs("Invalid fallthrough for TemplateLiteral")}function w8(e,t){return M.IsArray(t)&&e.items!==void 0&&e.items.every(r=>ze(r,t.items)===D.True)}function S8(e,t){return M.IsNever(e)?D.True:M.IsUnknown(e)?D.False:M.IsAny(e)?D.Union:D.False}function v8(e,t){return Nt(t)?At(e,t):M.IsObject(t)&&op(t)||M.IsArray(t)&&w8(e,t)?D.True:M.IsTuple(t)?hr.IsUndefined(e.items)&&!hr.IsUndefined(t.items)||!hr.IsUndefined(e.items)&&hr.IsUndefined(t.items)?D.False:hr.IsUndefined(e.items)&&!hr.IsUndefined(t.items)||e.items.every((r,n)=>ze(r,t.items[n])===D.True)?D.True:D.False:D.False}function I8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsUint8Array(t)?D.True:D.False}function _8(e,t){return Nt(t)?At(e,t):M.IsObject(t)?br(e,t):M.IsRecord(t)?In(e,t):M.IsVoid(t)?M8(e,t):M.IsUndefined(t)?D.True:D.False}function ry(e,t){return t.anyOf.some(r=>ze(e,r)===D.True)?D.True:D.False}function P8(e,t){return e.anyOf.every(r=>ze(r,t)===D.True)?D.True:D.False}function Q2(e,t){return D.True}function T8(e,t){return M.IsNever(t)?Y2(e,t):M.IsIntersect(t)?np(e,t):M.IsUnion(t)?ry(e,t):M.IsAny(t)?ty(e,t):M.IsString(t)?Z2(e,t):M.IsNumber(t)?W2(e,t):M.IsInteger(t)?H2(e,t):M.IsBoolean(t)?q2(e,t):M.IsArray(t)?Kk(e,t):M.IsTuple(t)?S8(e,t):M.IsObject(t)?br(e,t):M.IsUnknown(t)?D.True:D.False}function M8(e,t){return M.IsUndefined(e)||M.IsUndefined(e)?D.True:D.False}function C8(e,t){return M.IsIntersect(t)?np(e,t):M.IsUnion(t)?ry(e,t):M.IsUnknown(t)?Q2(e,t):M.IsAny(t)?ty(e,t):M.IsObject(t)?br(e,t):M.IsVoid(t)?D.True:D.False}function ze(e,t){return M.IsTemplateLiteral(e)||M.IsTemplateLiteral(t)?x8(e,t):M.IsRegExp(e)||M.IsRegExp(t)?g8(e,t):M.IsNot(e)||M.IsNot(t)?o8(e,t):M.IsAny(e)?zk(e,t):M.IsArray(e)?qk(e,t):M.IsBigInt(e)?Yk(e,t):M.IsBoolean(e)?Wk(e,t):M.IsAsyncIterator(e)?Hk(e,t):M.IsConstructor(e)?Xk(e,t):M.IsDate(e)?Zk(e,t):M.IsFunction(e)?Qk(e,t):M.IsInteger(e)?Jk(e,t):M.IsIntersect(e)?e8(e,t):M.IsIterator(e)?t8(e,t):M.IsLiteral(e)?r8(e,t):M.IsNever(e)?n8(e,t):M.IsNull(e)?i8(e,t):M.IsNumber(e)?a8(e,t):M.IsObject(e)?m8(e,t):M.IsRecord(e)?h8(e,t):M.IsString(e)?y8(e,t):M.IsSymbol(e)?b8(e,t):M.IsTuple(e)?v8(e,t):M.IsPromise(e)?d8(e,t):M.IsUint8Array(e)?I8(e,t):M.IsUndefined(e)?_8(e,t):M.IsUnion(e)?P8(e,t):M.IsUnknown(e)?T8(e,t):M.IsVoid(e)?C8(e,t):Xs(`Unknown left type operand '${e[$]}'`)}function Yi(e,t){return ze(e,t)}function O8(e,t,r,n,o){let i={};for(let a of globalThis.Object.getOwnPropertyNames(e))i[a]=Zs(e[a],t,r,n,ot(o));return i}function k8(e,t,r,n,o){return O8(e.properties,t,r,n,o)}function J2(e,t,r,n,o){let i=k8(e,t,r,n,o);return Re(i)}function R8(e,t,r,n){let o=Yi(e,t);return o===D.Union?Fe([r,n]):o===D.True?r:n}function Zs(e,t,r,n,o){return ct(e)?J2(e,t,r,n,o):en(e)?F(eS(e,t,r,n,o)):F(R8(e,t,r,n),o)}function N8(e,t,r,n,o){return{[e]:Zs(Oe(e),t,r,n,ot(o))}}function A8(e,t,r,n,o){return e.reduce((i,a)=>({...i,...N8(a,t,r,n,o)}),{})}function E8(e,t,r,n,o){return A8(e.keys,t,r,n,o)}function eS(e,t,r,n,o){let i=E8(e,t,r,n,o);return Re(i)}function F8(e){return e.allOf.every(t=>ja(t))}function $8(e){return e.anyOf.some(t=>ja(t))}function D8(e){return!ja(e.not)}function ja(e){return e[$]==="Intersect"?F8(e):e[$]==="Union"?$8(e):e[$]==="Not"?D8(e):e[$]==="Undefined"}function tS(e,t){return Qs(Va(e),t)}function L8(e,t){let r=e.filter(n=>Yi(n,t)===D.False);return r.length===1?r[0]:Fe(r)}function Qs(e,t,r={}){return tn(e)?F(tS(e,t),r):ct(e)?F(rS(e,t),r):F(ke(e)?L8(e.anyOf,t):Yi(e,t)!==D.False?Se():e,r)}function V8(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=Qs(e[n],t);return r}function j8(e,t){return V8(e.properties,t)}function rS(e,t){let r=j8(e,t);return Re(r)}function nS(e,t){return Js(Va(e),t)}function U8(e,t){let r=e.filter(n=>Yi(n,t)!==D.False);return r.length===1?r[0]:Fe(r)}function Js(e,t,r){return tn(e)?F(nS(e,t),r):ct(e)?F(oS(e,t),r):F(ke(e)?U8(e.anyOf,t):Yi(e,t)!==D.False?e:Se(),r)}function G8(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=Js(e[n],t);return r}function B8(e,t){return G8(e.properties,t)}function oS(e,t){let r=B8(e,t);return Re(r)}function iS(e,t){return Kn(e)?F(e.returns,t):Se(t)}function ip(e){return Lr(gr(e))}function Ua(e,t,r){return F({[$]:"Record",type:"object",patternProperties:{[e]:t}},r)}function ny(e,t,r){let n={};for(let o of e)n[o]=t;return $e(n,{...r,[bn]:"Record"})}function z8(e,t,r){return Kl(e)?ny(Dr(e),t,r):Ua(e.pattern,t,r)}function K8(e,t,r){return ny(Dr(Fe(e)),t,r)}function q8(e,t,r){return ny([e.toString()],t,r)}function H8(e,t,r){return Ua(e.source,t,r)}function Y8(e,t,r){let n=Mt(e.pattern)?zi:e.pattern;return Ua(n,t,r)}function W8(e,t,r){return Ua(zi,t,r)}function X8(e,t,r){return Ua(d2,t,r)}function Z8(e,t,r){return $e({true:t,false:t},r)}function Q8(e,t,r){return Ua(Bi,t,r)}function J8(e,t,r){return Ua(Bi,t,r)}function ap(e,t,r={}){return ke(e)?K8(e.anyOf,t,r):tn(e)?z8(e,t,r):Jr(e)?q8(e.const,t,r):ti(e)?Z8(e,t,r):Hn(e)?Q8(e,t,r):Yn(e)?J8(e,t,r):$g(e)?H8(e,t,r):ri(e)?Y8(e,t,r):Eg(e)?W8(e,t,r):Ui(e)?X8(e,t,r):Se(r)}function sp(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function aS(e){let t=sp(e);return t===zi?Mr():t===Bi?xn():Mr({pattern:t})}function cp(e){return e.patternProperties[sp(e)]}function e3(e,t){return t.parameters=Df(e,t.parameters),t.returns=Zn(e,t.returns),t}function t3(e,t){return t.parameters=Df(e,t.parameters),t.returns=Zn(e,t.returns),t}function r3(e,t){return t.allOf=Df(e,t.allOf),t}function n3(e,t){return t.anyOf=Df(e,t.anyOf),t}function o3(e,t){return Mt(t.items)||(t.items=Df(e,t.items)),t}function i3(e,t){return t.items=Zn(e,t.items),t}function a3(e,t){return t.items=Zn(e,t.items),t}function s3(e,t){return t.items=Zn(e,t.items),t}function c3(e,t){return t.item=Zn(e,t.item),t}function f3(e,t){let r=m3(e,t.properties);return{...t,...$e(r)}}function u3(e,t){let r=Zn(e,aS(t)),n=Zn(e,cp(t)),o=ap(r,n);return{...t,...o}}function l3(e,t){return t.index in e?e[t.index]:Xn()}function p3(e,t){let r=$s(t),n=$r(t),o=Zn(e,t);return r&&n?ip(o):r&&!n?Lr(o):!r&&n?gr(o):o}function m3(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((r,n)=>({...r,[n]:p3(e,t[n])}),{})}function Df(e,t){return t.map(r=>Zn(e,r))}function Zn(e,t){return Kn(t)?e3(e,t):qn(t)?t3(e,t):gt(t)?r3(e,t):ke(t)?n3(e,t):rn(t)?o3(e,t):Bn(t)?i3(e,t):Aa(t)?a3(e,t):Fa(t)?s3(e,t):$a(t)?c3(e,t):Ct(t)?f3(e,t):Da(t)?u3(e,t):Fg(t)?l3(e,t):t}function sS(e,t){return Zn(t,Es(e))}function cS(e){return F({[$]:"Integer",type:"integer"},e)}function d3(e,t,r){return{[e]:Qn(Oe(e),t,ot(r))}}function h3(e,t,r){return e.reduce((o,i)=>({...o,...d3(i,t,r)}),{})}function g3(e,t,r){return h3(e.keys,t,r)}function fS(e,t,r){let n=g3(e,t,r);return Re(n)}function y3(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),r].join("")}function b3(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),r].join("")}function x3(e){return e.toUpperCase()}function w3(e){return e.toLowerCase()}function S3(e,t,r){let n=Bs(e.pattern);if(!La(n))return{...e,pattern:uS(e.pattern,t)};let a=[...Af(n)].map(u=>Oe(u)),s=lS(a,t),c=Fe(s);return Hl([c],r)}function uS(e,t){return typeof e=="string"?t==="Uncapitalize"?y3(e):t==="Capitalize"?b3(e):t==="Uppercase"?x3(e):t==="Lowercase"?w3(e):e:e.toString()}function lS(e,t){return e.map(r=>Qn(r,t))}function Qn(e,t,r={}){return en(e)?fS(e,t,r):tn(e)?S3(e,t,r):ke(e)?Fe(lS(e.anyOf,t),r):Jr(e)?Oe(uS(e.const,t),r):F(e,r)}function pS(e,t={}){return Qn(e,"Capitalize",t)}function mS(e,t={}){return Qn(e,"Lowercase",t)}function dS(e,t={}){return Qn(e,"Uncapitalize",t)}function hS(e,t={}){return Qn(e,"Uppercase",t)}function v3(e,t,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=Wi(e[o],t,ot(r));return n}function I3(e,t,r){return v3(e.properties,t,r)}function gS(e,t,r){let n=I3(e,t,r);return Re(n)}function _3(e,t){return e.map(r=>oy(r,t))}function P3(e,t){return e.map(r=>oy(r,t))}function T3(e,t){let{[t]:r,...n}=e;return n}function M3(e,t){return t.reduce((r,n)=>T3(r,n),e)}function C3(e,t,r){let n=yt(e,[ut,"$id","required","properties"]),o=M3(r,t);return $e(o,n)}function O3(e){let t=e.reduce((r,n)=>Gl(n)?[...r,Oe(n)]:r,[]);return Fe(t)}function oy(e,t){return gt(e)?yr(_3(e.allOf,t)):ke(e)?Fe(P3(e.anyOf,t)):Ct(e)?C3(e,t,e.properties):$e({})}function Wi(e,t,r){let n=Tt(t)?O3(t):t,o=lt(t)?Dr(t):t,i=wt(e),a=wt(t);return ct(e)?gS(e,o,r):en(t)?yS(e,t,r):i&&a?Je("Omit",[e,n],r):!i&&a?Je("Omit",[e,n],r):i&&!a?Je("Omit",[e,n],r):F({...oy(e,o),...r})}function k3(e,t,r){return{[t]:Wi(e,[t],ot(r))}}function R3(e,t,r){return t.reduce((n,o)=>({...n,...k3(e,o,r)}),{})}function N3(e,t,r){return R3(e,t.keys,r)}function yS(e,t,r){let n=N3(e,t,r);return Re(n)}function A3(e,t,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=Xi(e[o],t,ot(r));return n}function E3(e,t,r){return A3(e.properties,t,r)}function bS(e,t,r){let n=E3(e,t,r);return Re(n)}function F3(e,t){return e.map(r=>iy(r,t))}function $3(e,t){return e.map(r=>iy(r,t))}function D3(e,t){let r={};for(let n of t)n in e&&(r[n]=e[n]);return r}function L3(e,t,r){let n=yt(e,[ut,"$id","required","properties"]),o=D3(r,t);return $e(o,n)}function V3(e){let t=e.reduce((r,n)=>Gl(n)?[...r,Oe(n)]:r,[]);return Fe(t)}function iy(e,t){return gt(e)?yr(F3(e.allOf,t)):ke(e)?Fe($3(e.anyOf,t)):Ct(e)?L3(e,t,e.properties):$e({})}function Xi(e,t,r){let n=Tt(t)?V3(t):t,o=lt(t)?Dr(t):t,i=wt(e),a=wt(t);return ct(e)?bS(e,o,r):en(t)?xS(e,t,r):i&&a?Je("Pick",[e,n],r):!i&&a?Je("Pick",[e,n],r):i&&!a?Je("Pick",[e,n],r):F({...iy(e,o),...r})}function j3(e,t,r){return{[t]:Xi(e,[t],ot(r))}}function U3(e,t,r){return t.reduce((n,o)=>({...n,...j3(e,o,r)}),{})}function G3(e,t,r){return U3(e,t.keys,r)}function xS(e,t,r){let n=G3(e,t,r);return Re(n)}function B3(e,t){return Je("Partial",[Je(e,t)])}function z3(e){return Je("Partial",[wo(e)])}function K3(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=gr(e[r]);return t}function q3(e,t){let r=yt(e,[ut,"$id","required","properties"]),n=K3(t);return $e(n,r)}function wS(e){return e.map(t=>SS(t))}function SS(e){return zn(e)?B3(e.target,e.parameters):wt(e)?z3(e.$ref):gt(e)?yr(wS(e.allOf)):ke(e)?Fe(wS(e.anyOf)):Ct(e)?q3(e,e.properties):Ea(e)||ti(e)||Hn(e)||Jr(e)||Tf(e)||Yn(e)||ri(e)||Mf(e)||ni(e)?e:$e({})}function ec(e,t){return ct(e)?vS(e,t):F({...SS(e),...t})}function H3(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=ec(e[n],ot(t));return r}function Y3(e,t){return H3(e.properties,t)}function vS(e,t){let r=Y3(e,t);return Re(r)}function W3(e,t){return Je("Required",[Je(e,t)])}function X3(e){return Je("Required",[wo(e)])}function Z3(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=yt(e[r],[sr]);return t}function Q3(e,t){let r=yt(e,[ut,"$id","required","properties"]),n=Z3(t);return $e(n,r)}function IS(e){return e.map(t=>_S(t))}function _S(e){return zn(e)?W3(e.target,e.parameters):wt(e)?X3(e.$ref):gt(e)?yr(IS(e.allOf)):ke(e)?Fe(IS(e.anyOf)):Ct(e)?Q3(e,e.properties):Ea(e)||ti(e)||Hn(e)||Jr(e)||Tf(e)||Yn(e)||ri(e)||Mf(e)||ni(e)?e:$e({})}function tc(e,t){return ct(e)?PS(e,t):F({..._S(e),...t})}function J3(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=tc(e[n],t);return r}function eR(e,t){return J3(e.properties,t)}function PS(e,t){let r=eR(e,t);return Re(r)}function tR(e,t){return t.map(r=>wt(r)?ay(e,r.$ref):nn(e,r))}function ay(e,t){return t in e?wt(e[t])?ay(e,e[t].$ref):nn(e,e[t]):Se()}function rR(e){return Hs(e[0])}function nR(e){return Hi(e[0],e[1])}function oR(e){return Ws(e[0])}function iR(e){return ec(e[0])}function aR(e){return Wi(e[0],e[1])}function sR(e){return Xi(e[0],e[1])}function cR(e){return tc(e[0])}function fR(e,t,r){let n=tR(e,r);return t==="Awaited"?rR(n):t==="Index"?nR(n):t==="KeyOf"?oR(n):t==="Partial"?iR(n):t==="Omit"?aR(n):t==="Pick"?sR(n):t==="Required"?cR(n):Se()}function uR(e,t){return Vs(nn(e,t))}function lR(e,t){return js(nn(e,t))}function pR(e,t,r){return Us(Lf(e,t),nn(e,r))}function mR(e,t,r){return bo(Lf(e,t),nn(e,r))}function dR(e,t){return yr(Lf(e,t))}function hR(e,t){return qs(nn(e,t))}function gR(e,t){return $e(globalThis.Object.keys(t).reduce((r,n)=>({...r,[n]:nn(e,t[n])}),{}))}function yR(e,t){let[r,n]=[nn(e,cp(t)),sp(t)],o=Es(t);return o.patternProperties[n]=r,o}function bR(e,t){return wt(t)?{...ay(e,t.$ref),[ut]:t[ut]}:t}function xR(e,t){return wn(Lf(e,t))}function wR(e,t){return Fe(Lf(e,t))}function Lf(e,t){return t.map(r=>nn(e,r))}function nn(e,t){return $r(t)?F(nn(e,yt(t,[sr])),t):$s(t)?F(nn(e,yt(t,[Gn])),t):Ee(t)?F(bR(e,t),t):Bn(t)?F(uR(e,t.items),t):Aa(t)?F(lR(e,t.items),t):zn(t)?F(fR(e,t.target,t.parameters)):Kn(t)?F(pR(e,t.parameters,t.returns),t):qn(t)?F(mR(e,t.parameters,t.returns),t):gt(t)?F(dR(e,t.allOf),t):Fa(t)?F(hR(e,t.items),t):Ct(t)?F(gR(e,t.properties),t):Da(t)?F(yR(e,t)):rn(t)?F(xR(e,t.items||[]),t):ke(t)?F(wR(e,t.anyOf),t):t}function SR(e,t){return t in e?nn(e,e[t]):Se()}function TS(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,r)=>({...t,[r]:SR(e,r)}),{})}var sy=class{constructor(t){let r=TS(t),n=this.WithIdentifiers(r);this.$defs=n}Import(t,r){let n={...this.$defs,[t]:F(this.$defs[t],r)};return F({[$]:"Import",$defs:n,$ref:t})}WithIdentifiers(t){return globalThis.Object.getOwnPropertyNames(t).reduce((r,n)=>({...r,[n]:{...t[n],$id:n}}),{})}};function MS(e){return new sy(e)}function CS(e,t){return F({[$]:"Not",not:e},t)}function OS(e,t){return qn(e)?wn(e.parameters,t):Se()}var vR=0;function kS(e,t={}){Mt(t.$id)&&(t.$id=`T${vR++}`);let r=Es(e({[$]:"This",$ref:`${t.$id}`}));return r.$id=t.$id,F({[bn]:"Recursive",...r},t)}function RS(e,t){let r=Xe(e)?new globalThis.RegExp(e):e;return F({[$]:"RegExp",type:"RegExp",source:r.source,flags:r.flags},t)}function IR(e){return gt(e)?e.allOf:ke(e)?e.anyOf:rn(e)?e.items??[]:[]}function NS(e){return IR(e)}function AS(e,t){return qn(e)?F(e.returns,t):Se(t)}var cy=class{constructor(t){this.schema=t}Decode(t){return new fy(this.schema,t)}},fy=class{constructor(t,r){this.schema=t,this.decode=r}EncodeTransform(t,r){let i={Encode:a=>r[ut].Encode(t(a)),Decode:a=>this.decode(r[ut].Decode(a))};return{...r,[ut]:i}}EncodeSchema(t,r){let n={Decode:this.decode,Encode:t};return{...r,[ut]:n}}Encode(t){return Ee(this.schema)?this.EncodeTransform(t,this.schema):this.EncodeSchema(t,this.schema)}};function ES(e){return new cy(e)}function FS(e={}){return F({[$]:e[$]??"Unsafe"},e)}function $S(e){return F({[$]:"Void",type:"void"},e)}var uy={};Ra(uy,{Any:()=>qi,Argument:()=>x2,Array:()=>Vs,AsyncIterator:()=>js,Awaited:()=>Hs,BigInt:()=>Ks,Boolean:()=>ql,Capitalize:()=>pS,Composite:()=>L2,Const:()=>V2,Constructor:()=>Us,ConstructorParameters:()=>j2,Date:()=>Zl,Enum:()=>U2,Exclude:()=>Qs,Extends:()=>Zs,Extract:()=>Js,Function:()=>bo,Index:()=>Hi,InstanceType:()=>iS,Instantiate:()=>sS,Integer:()=>cS,Intersect:()=>yr,Iterator:()=>qs,KeyOf:()=>Ws,Literal:()=>Oe,Lowercase:()=>mS,Mapped:()=>N2,Module:()=>MS,Never:()=>Se,Not:()=>CS,Null:()=>Ql,Number:()=>xn,Object:()=>$e,Omit:()=>Wi,Optional:()=>gr,Parameters:()=>OS,Partial:()=>ec,Pick:()=>Xi,Promise:()=>Wl,Readonly:()=>Lr,ReadonlyOptional:()=>ip,Record:()=>ap,Recursive:()=>kS,Ref:()=>wo,RegExp:()=>RS,Required:()=>tc,Rest:()=>NS,ReturnType:()=>AS,String:()=>Mr,Symbol:()=>Jl,TemplateLiteral:()=>Hl,Transform:()=>ES,Tuple:()=>wn,Uint8Array:()=>tp,Uncapitalize:()=>dS,Undefined:()=>ep,Union:()=>Fe,Unknown:()=>Xn,Unsafe:()=>FS,Uppercase:()=>hS,Void:()=>$S});var d=uy;var Jn=d.Object({label:d.String(),domain:d.Optional(d.Tuple([d.Number(),d.Number()]))}),Vf=d.Object({type:d.Union([d.Literal("identity"),d.Literal("horizontal"),d.Literal("vertical")]),value:d.Optional(d.Number())}),nJ=d.Object({schemaVersion:d.Literal("1.0"),title:d.Optional(d.String()),xAxis:Jn,yAxis:Jn,references:d.Optional(d.Array(Vf))});var _R=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number({minimum:0,maximum:1}),method:d.Union([d.Literal("discrete"),d.Literal("smooth")]),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),PR=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),midpoint:d.Number({minimum:0,maximum:1}),count:d.Number({minimum:0}),binWidth:d.Number({exclusiveMinimum:0,maximum:1})}),ly=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("calibration"),data:d.Array(_R),distribution:d.Optional(d.Array(PR)),x:d.Literal("predicted"),y:d.Literal("observed"),xAxis:Jn,yAxis:Jn,references:d.Optional(d.Array(Vf))});var TR=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),cutoff:d.Number(),sensitivity:d.Number({minimum:0,maximum:1}),specificity:d.Number({minimum:0,maximum:1})}),py=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("roc"),data:d.Array(TR),x:d.Literal("false_positive_rate"),y:d.Literal("sensitivity"),xAxis:Jn,yAxis:Jn,references:d.Optional(d.Array(Vf))});var MR=d.Union([py,ly],{$id:"https://rtichoke.dev/schema/viz/1.0.json",title:"rtichoke visualization specification"});var on=d.Object({id:d.String(),model:d.Optional(d.String()),population:d.String(),label:d.Optional(d.String())}),DS=d.Union([d.Literal("model"),d.Literal("population"),d.Literal("evaluation"),d.Literal("context")]),LS=d.Object({label:d.String(),group:d.String(),role:DS}),rc=d.Object({id:d.String(),evaluationId:d.String(),horizon:d.Optional(d.Number({minimum:0})),display:LS}),CR=d.Object({x:d.Number(),y:d.Number()}),my=d.Union([d.Object({type:d.Literal("identity"),label:d.Optional(d.String())}),d.Object({type:d.Literal("horizontal"),value:d.Number(),label:d.Optional(d.String())}),d.Object({type:d.Literal("vertical"),value:d.Number(),label:d.Optional(d.String())}),d.Object({type:d.Literal("path"),points:d.Array(CR,{minItems:2}),label:d.Optional(d.String())})]),OR=d.Intersect([my,d.Object({scope:d.Literal("global")})]),kR=d.Intersect([my,d.Object({scope:d.Literal("population"),population:d.String()})]),RR=d.Intersect([my,d.Object({scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),VS=d.Union([OR,kR,RR]),Ur=d.Object({schemaVersion:d.Literal("2.0"),title:d.Optional(d.String()),evaluations:d.Array(on),series:d.Array(rc),xAxis:Jn,yAxis:Jn,references:d.Optional(d.Array(VS))}),jf=d.Union([d.Literal("probability_threshold"),d.Literal("ppcr")]),ai=d.Object({operatingPoint:d.Optional(d.Object({dimension:jf}))}),fp=d.Object({operatingPoint:d.Optional(d.Object({dimension:d.Literal("probability_threshold")}))});var jS=d.Object({seriesId:d.String(),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number({minimum:0,maximum:1}),method:d.Literal("discrete"),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),US=d.Object({seriesId:d.String(),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number(),method:d.Literal("smooth"),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),GS=d.Union([jS,US]),NR=d.Object({seriesId:d.String(),midpoint:d.Number({minimum:0,maximum:1}),count:d.Number({minimum:0}),binWidth:d.Number({exclusiveMinimum:0,maximum:1})}),dy=d.Intersect([Ur,d.Object({type:d.Literal("calibration"),data:d.Array(GS),distribution:d.Optional(d.Array(NR)),x:d.Literal("predicted"),y:d.Literal("observed")})]);var hy=d.Union([d.Literal("true_positives"),d.Literal("true_negatives"),d.Literal("false_positives"),d.Literal("false_negatives"),d.Literal("sensitivity"),d.Literal("specificity"),d.Literal("false_positive_rate"),d.Literal("ppv"),d.Literal("npv"),d.Literal("lift"),d.Literal("predicted_positives"),d.Literal("ppcr"),d.Literal("net_benefit"),d.Literal("net_benefit_interventions_avoided")]),BS=d.Object({id:hy,label:d.String()}),xr=d.Object({metricId:hy,estimate:d.Union([d.Number(),d.Null()]),lower:d.Optional(d.Union([d.Number(),d.Null()])),upper:d.Optional(d.Union([d.Number(),d.Null()]))}),zS=d.Union([d.Object({type:d.Literal("probability_threshold"),value:d.Number()}),d.Object({type:d.Literal("ppcr"),value:d.Number({minimum:0,maximum:1})})]),KS=d.Object({censoringHeuristic:d.Optional(d.String()),competingEventHeuristic:d.Optional(d.String())}),qS=d.Object({evaluationId:d.String(),horizon:d.Optional(d.Number({minimum:0})),operatingPoint:zS,context:d.Optional(KS),values:d.Array(xr)}),gy=d.Object({schemaVersion:d.Literal("2.0"),type:d.Literal("performance_table"),title:d.Optional(d.String()),evaluations:d.Array(on),metrics:d.Array(BS),rows:d.Array(qS)});var YS=d.Object({seriesId:d.String(),threshold:d.Number({minimum:0,maximum:1}),netBenefit:d.Number(),performance:d.Optional(d.Array(xr))}),WS=d.Intersect([on,d.Object({id:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),XS=d.Intersect([rc,d.Object({id:d.String({pattern:"^series-[1-9][0-9]*$"}),evaluationId:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),ZS=d.Object({type:d.Literal("horizontal"),value:d.Literal(0),label:d.Optional(d.String()),scope:d.Literal("global"),benchmark:d.Literal("treat_none")}),HS={type:d.Literal("path"),points:d.Array(d.Object({x:d.Number(),y:d.Number()}),{minItems:2}),label:d.Optional(d.String()),benchmark:d.Literal("treat_all")},QS=d.Union([d.Object({...HS,scope:d.Literal("population"),population:d.String()}),d.Object({...HS,scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),JS=d.Union([ZS,QS]),yy=d.Intersect([Ur,fp,d.Object({type:d.Literal("decision_curve"),evaluations:d.Array(WS,{minItems:1}),series:d.Array(XS,{minItems:1}),data:d.Array(YS),x:d.Literal("threshold"),y:d.Literal("netBenefit"),references:d.Array(JS,{minItems:2})})]);var AR=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Number({minimum:0,maximum:1}),sensitivity:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(xr))}),by=d.Intersect([Ur,ai,d.Object({type:d.Literal("gains"),data:d.Array(AR),x:d.Literal("ppcr"),y:d.Literal("sensitivity")})]);var tv=d.Object({seriesId:d.String(),threshold:d.Number({minimum:0,maximum:1}),interventionsAvoided:d.Number(),performance:d.Optional(d.Array(xr))}),rv=d.Intersect([on,d.Object({id:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),nv=d.Intersect([rc,d.Object({id:d.String({pattern:"^series-[1-9][0-9]*$"}),evaluationId:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),ov=d.Object({type:d.Literal("horizontal"),value:d.Literal(0),label:d.Optional(d.String()),scope:d.Literal("global"),benchmark:d.Literal("treat_all")}),ev={type:d.Literal("path"),points:d.Array(d.Object({x:d.Number(),y:d.Number()}),{minItems:2}),label:d.Optional(d.String()),benchmark:d.Literal("treat_none")},iv=d.Union([d.Object({...ev,scope:d.Literal("population"),population:d.String()}),d.Object({...ev,scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),av=d.Union([ov,iv]),xy=d.Intersect([Ur,fp,d.Object({type:d.Literal("interventions_avoided"),evaluations:d.Array(rv,{minItems:1}),series:d.Array(nv,{minItems:1}),data:d.Array(tv),x:d.Literal("threshold"),y:d.Literal("interventionsAvoided"),references:d.Array(av,{minItems:2})})]);var ER=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Number({minimum:0,maximum:1}),lift:d.Number(),performance:d.Optional(d.Array(xr))}),wy=d.Intersect([Ur,ai,d.Object({type:d.Literal("lift"),data:d.Array(ER),x:d.Literal("ppcr"),y:d.Literal("lift")})]);var FR=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Optional(d.Number({minimum:0,maximum:1})),sensitivity:d.Number({minimum:0,maximum:1}),ppv:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(xr))}),Sy=d.Intersect([Ur,ai,d.Object({type:d.Literal("precision_recall"),data:d.Array(FR),x:d.Literal("sensitivity"),y:d.Literal("ppv")})]);var sv=d.Object({evaluationId:d.String(),lower:d.Number({minimum:0,maximum:1}),upper:d.Number({minimum:0,maximum:1}),includeLower:d.Boolean(),includeUpper:d.Boolean(),nPositive:d.Integer({minimum:0}),nNegative:d.Integer({minimum:0})}),$R=d.Object({evaluationId:d.String(),rankLower:d.Number({minimum:0,maximum:1}),rankUpper:d.Number({minimum:0,maximum:1}),positiveMass:d.Number({minimum:0}),negativeMass:d.Number({minimum:0})}),cv=d.Object({evaluationId:d.String(),type:jf,value:d.Number({minimum:0,maximum:1}),cutoff:d.Number({minimum:0,maximum:1}),realizedPpcr:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(xr))}),Uf=d.Object({schemaVersion:d.Literal("2.0"),type:d.Literal("prediction_distribution"),title:d.Optional(d.String()),evaluations:d.Array(on,{minItems:1}),operatingPoint:d.Optional(d.Object({dimension:jf})),bins:d.Array(sv,{minItems:1}),rankBins:d.Optional(d.Array($R)),operatingPoints:d.Array(cv,{minItems:1})});var DR=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Optional(d.Number({minimum:0,maximum:1})),sensitivity:d.Number({minimum:0,maximum:1}),specificity:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(xr))}),vy=d.Intersect([Ur,ai,d.Object({type:d.Literal("roc"),data:d.Array(DR),x:d.Literal("false_positive_rate"),y:d.Literal("sensitivity")})]);var Iy=d.Union([vy,dy,Sy,by,wy,yy,xy,Uf],{$id:"https://rtichoke.dev/schema/viz/2.0.json",title:"rtichoke visualization specification v2"});var _y=d.Object({id:d.String(),label:d.String()}),Py=d.Object({metric:d.Literal("auroc"),owner:d.Object({type:d.Literal("evaluation"),evaluationId:d.String()}),estimate:d.Union([d.Number(),d.Null()])}),Ty=d.Object({metric:d.Literal("prevalence"),owner:d.Object({type:d.Literal("population"),populationId:d.String()}),estimate:d.Union([d.Number(),d.Null()])}),LR=d.Object({metric:d.Literal("event_risk"),owner:d.Object({type:d.Literal("population"),populationId:d.String()}),horizon:d.Number({minimum:0}),estimate:d.Union([d.Number(),d.Null()])}),VR=d.Union([Py,Ty]),fv=d.Union([Py,Ty,LR]),jR=fv,UR=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("summary_metrics"),title:d.Optional(d.String()),evaluations:d.Array(on),populations:d.Array(_y),metrics:d.Array(VR)}),GR=d.Object({schemaVersion:d.Literal("1.1"),type:d.Literal("summary_metrics"),title:d.Optional(d.String()),evaluations:d.Array(on),populations:d.Array(_y),metrics:d.Array(fv)}),My=d.Union([UR,GR],{$id:"https://rtichoke.dev/schema/viz/summary-metrics.json",title:"rtichoke summary metrics specification"});var Cy=d.Union([Iy,gy,My,Uf]),uv=d.Object({id:d.String(),title:d.Optional(d.String()),spec:Cy}),up=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("report"),title:d.Optional(d.String()),components:d.Array(uv,{minItems:1})}),Oy=d.Object({type:d.Literal("component"),id:d.String(),title:d.Optional(d.String()),spec:Cy}),lv=d.Object({type:d.Literal("group"),id:d.String(),title:d.String(),components:d.Array(Oy,{minItems:1})}),pv=d.Object({id:d.String(),title:d.String(),items:d.Array(d.Union([Oy,lv]),{minItems:1})}),lp=d.Object({schemaVersion:d.Literal("1.1"),type:d.Literal("report"),title:d.Optional(d.String()),sections:d.Array(pv,{minItems:1})}),BR=d.Union([up,lp],{$id:"https://rtichoke.dev/schema/viz/report.json",title:"rtichoke report specification"});function pp(e){let t=new Set,r=i=>{if(t.has(i.id))throw new Error(`duplicate component id: ${i.id}`);t.add(i.id)};if(e.schemaVersion==="1.0"){for(let i of e.components)r(i);return}let n=new Set,o=new Set;for(let i of e.sections){if(n.has(i.id))throw new Error(`duplicate section id: ${i.id}`);n.add(i.id);for(let a of i.items){if(a.type==="component"){r(a);continue}if(o.has(a.id))throw new Error(`duplicate group id: ${a.id}`);o.add(a.id);for(let s of a.components)r(s)}}}function ky(e){let t=new Set;for(let n of e.evaluations){if(t.has(n.id))throw new Error(`duplicate evaluation id: ${n.id}`);t.add(n.id)}let r=new Set;for(let n of e.metrics){if(r.has(n.id))throw new Error(`duplicate metric id: ${n.id}`);r.add(n.id)}for(let n of e.rows){if(!t.has(n.evaluationId))throw new Error(`unknown evaluation id: ${n.evaluationId}`);for(let o of n.values)if(!r.has(o.metricId))throw new Error(`unknown metric id: ${o.metricId}`)}}function Gf(e){if(e.operatingPoint?.dimension){let i=e.operatingPoint.dimension;if(!e.operatingPoints.some(s=>s.type===i))throw new Error(`configured operatingPoint dimension ${i} is not present in operatingPoints`)}let t=new Set;for(let i of e.evaluations){if(t.has(i.id))throw new Error(`duplicate evaluation id: ${i.id}`);t.add(i.id)}let r=new Map;for(let i of e.bins){if(!t.has(i.evaluationId))throw new Error(`unknown evaluation id: ${i.evaluationId}`);let a=r.get(i.evaluationId);a||(a=[],r.set(i.evaluationId,a)),a.push(i)}let n=new Map,o=new Set;for(let i of e.operatingPoints){if(!t.has(i.evaluationId))throw new Error(`unknown evaluation id: ${i.evaluationId}`);let a=`${i.evaluationId}\0${i.type}\0${i.value}`;if(o.has(a))throw new Error(`duplicate operating point: evaluationId=${i.evaluationId}, type=${i.type}, value=${i.value}`);if(o.add(a),!Number.isFinite(i.value)||i.value<0||i.value>1||!Number.isFinite(i.cutoff)||i.cutoff<0||i.cutoff>1||!Number.isFinite(i.realizedPpcr)||i.realizedPpcr<0||i.realizedPpcr>1)throw new Error(`invalid operating point bounds for evaluation ${i.evaluationId}`);if(i.type==="probability_threshold"&&Math.abs(i.value-i.cutoff)>1e-9)throw new Error(`probability_threshold value ${i.value} must equal cutoff ${i.cutoff} for evaluation ${i.evaluationId}`);let s=n.get(i.evaluationId);s||(s=[],n.set(i.evaluationId,s)),s.push(i)}for(let i of t){let a=r.get(i);if(!a||a.length===0)throw new Error(`evaluation ${i} has no bins`);let s=n.get(i);if(!s||s.length===0)throw new Error(`evaluation ${i} has no operating points`);let c=a[0];if(c.lower!==0||c.upper!==0||c.includeLower!==!0||c.includeUpper!==!0)throw new Error(`first bin for evaluation ${i} must be [0, 0]`);let u=new Set([0]),f=c.nPositive+c.nNegative;if(!Number.isInteger(c.nPositive)||c.nPositive<0||!Number.isInteger(c.nNegative)||c.nNegative<0)throw new Error(`invalid bin counts for evaluation ${i}`);for(let p=1;p1||!Number.isFinite(l.upper)||l.upper<0||l.upper>1)throw new Error(`invalid bin bounds for evaluation ${i}`);if(!Number.isInteger(l.nPositive)||l.nPositive<0||!Number.isInteger(l.nNegative)||l.nNegative<0)throw new Error(`invalid bin counts for evaluation ${i}`);if(l.includeLower!==!1||l.includeUpper!==!0)throw new Error(`bin ${p} for evaluation ${i} must be (lower, upper]`);if(l.lower>=l.upper)throw new Error(`bin ${p} for evaluation ${i} must be nondegenerate`);if(l.lower!==a[p-1].upper)throw new Error(`bins for evaluation ${i} must be contiguous and ascending`);u.add(l.upper),f+=l.nPositive+l.nNegative}if(a[a.length-1].upper!==1)throw new Error(`final bin upper bound for evaluation ${i} must be 1`);if(f<=0)throw new Error(`total count for evaluation ${i} must be positive`);for(let p of s)if(p.type==="probability_threshold"){if(p.cutoff!==0&&!u.has(p.cutoff))throw new Error(`operating point cutoff ${p.cutoff} for evaluation ${i} does not match any bin upper boundary`);let l=0;if(p.cutoff===0)l=f;else for(let h of a)h.upper>p.cutoff&&(l+=h.nPositive+h.nNegative);let m=l/f;if(Math.abs(p.realizedPpcr-m)>1e-6)throw new Error(`operating point realizedPpcr ${p.realizedPpcr} for evaluation ${i} does not match reconstructed count fraction ${m}`)}}}function Ry(e){let t=new Set;for(let o of e.evaluations){if(t.has(o.id))throw new Error(`duplicate evaluation id: ${o.id}`);t.add(o.id)}let r=new Set;for(let o of e.populations){if(r.has(o.id))throw new Error(`duplicate population id: ${o.id}`);r.add(o.id)}let n=new Set;for(let o of e.metrics){if(o.estimate!==null&&!Number.isFinite(o.estimate))throw new Error(`non-finite metric estimate: ${o.estimate}`);if("horizon"in o&&o.horizon!==void 0&&(!Number.isFinite(o.horizon)||o.horizon<0))throw new Error(`invalid horizon: ${o.horizon}`);if(o.metric==="auroc"){if("horizon"in o&&o.horizon!==void 0)throw new Error("auroc metric cannot specify horizon");if(!t.has(o.owner.evaluationId))throw new Error(`unknown evaluation id: ${o.owner.evaluationId}`);let i=`auroc:${o.owner.evaluationId}`;if(n.has(i))throw new Error(`duplicate metric ownership: auroc for evaluation ${o.owner.evaluationId}`);n.add(i)}else if(o.metric==="prevalence"){if("horizon"in o&&o.horizon!==void 0)throw new Error("prevalence metric cannot specify horizon");if(!r.has(o.owner.populationId))throw new Error(`unknown population id: ${o.owner.populationId}`);let i=`prevalence:${o.owner.populationId}`;if(n.has(i))throw new Error(`duplicate metric ownership: prevalence for population ${o.owner.populationId}`);n.add(i)}else if(o.metric==="event_risk"){if(e.schemaVersion!=="1.1")throw new Error(`event_risk metric requires schemaVersion 1.1, got ${e.schemaVersion}`);if(!("horizon"in o)||o.horizon===void 0)throw new Error("event_risk metric requires horizon");if(!r.has(o.owner.populationId))throw new Error(`unknown population id: ${o.owner.populationId}`);let i=`event_risk:${o.owner.populationId}:${o.horizon}`;if(n.has(i))throw new Error(`duplicate metric ownership: event_risk for population ${o.owner.populationId} at horizon ${o.horizon}`);n.add(i)}}}function si(e){if(e.type==="prediction_distribution"){Gf(e);return}let t=new Set(e.evaluations.map(o=>o.id)),r=new Set;if(t.size!==e.evaluations.length)throw new Error("duplicate evaluation id");for(let o of e.series){if(r.has(o.id))throw new Error(`duplicate series id: ${o.id}`);if(r.add(o.id),!t.has(o.evaluationId))throw new Error(`unknown evaluation id: ${o.evaluationId}`)}for(let o of e.data)if(!r.has(o.seriesId))throw new Error(`unknown series id: ${o.seriesId}`);if(e.type==="calibration"){for(let o of e.distribution??[])if(!r.has(o.seriesId))throw new Error(`unknown distribution series id: ${o.seriesId}`)}let n=new Set(e.evaluations.map(o=>o.population));for(let o of e.references??[])if((o.scope==="population"||o.scope==="population_horizon")&&!n.has(o.population))throw new Error(`unknown reference population: ${o.population}`);if(e.type==="decision_curve"){let o=e,i=o.references;o.evaluations.forEach((h,b)=>{let y=`evaluation-${b+1}`;if(h.id!==y)throw new Error(`decision curve evaluation ids must be ordinal: expected ${y}`)});let a=o.series.filter(h=>h.horizon!==void 0).length;if(a!==0&&a!==o.series.length)throw new Error("decision curve cannot mix static and horizon-qualified series");let s=a>0,c=[...new Set(o.series.map(h=>h.horizon).filter(h=>h!==void 0))],u=new Set;if(o.series.forEach((h,b)=>{if(h.id!==`series-${b+1}`)throw new Error(`decision curve series ids must be ordinal: expected series-${b+1}`);let y=o.evaluations.find(w=>w.id===h.evaluationId),x=y.model??y.population,g=y.model===void 0?"population":"model";if(h.display.label!==x||h.display.group!==x||h.display.role!==g)throw new Error("decision curve display must follow evaluation semantics");let S=`${h.evaluationId}\0${h.horizon??"static"}`;if(u.has(S))throw new Error(`duplicate decision curve evaluation-horizon series: ${h.evaluationId}`);u.add(S)}),s){if(!o.evaluations.every(b=>c.every(y=>u.has(`${b.id}\0${y}`)))||o.series.length!==o.evaluations.length*c.length)throw new Error("decision curve requires exactly one series per evaluation and horizon")}else if(o.series.length!==o.evaluations.length||o.evaluations.some(h=>!u.has(`${h.id}\0static`)))throw new Error("decision curve requires exactly one series per evaluation");if(i.filter(h=>"benchmark"in h&&h.benchmark==="treat_none").length!==1)throw new Error("decision curve requires exactly one Treat None reference");let p=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_all"),l=new Set;for(let h of p){if(s&&h.scope!=="population_horizon")throw new Error("time-dependent decision curve Treat All must use population_horizon scope");if(!s&&h.scope!=="population")throw new Error("static decision curve Treat All must use population scope");let b=h.scope==="population_horizon"?`${h.population}\0${h.horizon}`:h.population;if(l.has(b))throw new Error(`duplicate Treat All owner: ${h.population}`);l.add(b)}let m=s?[...n].flatMap(h=>c.map(b=>`${h}\0${b}`)):[...n];if(l.size!==m.length||m.some(h=>!l.has(h)))throw new Error(s?"decision curve requires exactly one Treat All reference per population and horizon":"decision curve requires exactly one Treat All reference per population")}if(e.type==="interventions_avoided"){let o=e,i=o.references;o.evaluations.forEach((h,b)=>{let y=`evaluation-${b+1}`;if(h.id!==y)throw new Error(`interventions avoided evaluation ids must be ordinal: expected ${y}`)});let a=o.series.filter(h=>h.horizon!==void 0).length;if(a!==0&&a!==o.series.length)throw new Error("interventions avoided cannot mix static and horizon-qualified series");let s=a>0,c=[...new Set(o.series.map(h=>h.horizon).filter(h=>h!==void 0))],u=new Set;if(o.series.forEach((h,b)=>{if(h.id!==`series-${b+1}`)throw new Error(`interventions avoided series ids must be ordinal: expected series-${b+1}`);let y=o.evaluations.find(w=>w.id===h.evaluationId);if(!y)throw new Error(`unknown evaluation id: ${h.evaluationId}`);let x=y.model??y.population,g=y.model===void 0?"population":"model";if(h.display.label!==x||h.display.group!==x||h.display.role!==g)throw new Error("interventions avoided display must follow evaluation semantics");let S=`${h.evaluationId}\0${h.horizon??"static"}`;if(u.has(S))throw new Error(`duplicate interventions avoided evaluation-horizon series: ${h.evaluationId}`);u.add(S)}),s){if(!o.evaluations.every(b=>c.every(y=>u.has(`${b.id}\0${y}`)))||o.series.length!==o.evaluations.length*c.length)throw new Error("interventions avoided requires exactly one series per evaluation and horizon")}else if(o.series.length!==o.evaluations.length||o.evaluations.some(h=>!u.has(`${h.id}\0static`)))throw new Error("interventions avoided requires exactly one series per evaluation");let f=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_all");if(f.length!==1)throw new Error("interventions avoided requires exactly one Treat All reference");if(f[0].scope!=="global"||f[0].type!=="horizontal"||f[0].value!==0)throw new Error("interventions avoided Treat All must be the global zero reference");let p=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_none"),l=new Set;for(let h of p){if(s&&h.scope!=="population_horizon")throw new Error("time-dependent interventions avoided Treat None must use population_horizon scope");if(!s&&h.scope!=="population")throw new Error("static interventions avoided Treat None must use population scope");let b=h.scope==="population_horizon"?`${h.population}\0${h.horizon}`:h.population;if(l.has(b))throw new Error(`duplicate Treat None owner: ${h.population}`);l.add(b)}let m=s?[...n].flatMap(h=>c.map(b=>`${h}\0${b}`)):[...n];if(l.size!==m.length||m.some(h=>!l.has(h)))throw new Error(s?"interventions avoided requires exactly one Treat None reference per population and horizon":"interventions avoided requires exactly one Treat None reference per population")}}function mv(e){return{schemaVersion:"1.0",type:"roc",data:e,x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity"}]}}function zR(e){return mv(e.map(t=>({model:t.model,cutoff:t.probability_threshold,sensitivity:t.sensitivity,specificity:t.specificity})))}function KR(e){return mv(e.map(t=>({model:t.reference_group,cutoff:t.chosen_cutoff,sensitivity:t.sensitivity,specificity:t.specificity})))}function qR(e,t,r){let n=e.map(i=>{let a=i.sum_reals??i.n_reals,s=i.total_obs??i.n;return{model:i.reference_group,predicted:i.x,observed:i.y,method:t,...t==="discrete"&&a!==void 0?{events:a}:{},...t==="discrete"&&s!==void 0?{total:s}:{}}}),o=r?.map(i=>({model:i.reference_group,midpoint:i.mids,count:i.counts,binWidth:.01}));return{schemaVersion:"1.0",type:"calibration",data:n,...o?{distribution:o}:{},x:"predicted",y:"observed",xAxis:{label:"Predicted probability",domain:[0,1]},yAxis:{label:"Observed probability",domain:[0,1]},references:[{type:"identity"}]}}function HR(e,t){let r=t.role==="model"?t.population??"population":e,n=`evaluation:${e}`;return{evaluation:{id:n,...t.role==="model"?{model:e}:{},population:r,label:e},series:{id:`series:${e}`,evaluationId:n,display:{label:e,group:e,role:t.role}}}}function Ny(e,t){return[...new Set(e)].map(n=>HR(n,t))}function YR(e,t="population"){let r=Ny(e.map(n=>n.model),{role:"model",population:t});return{schemaVersion:"2.0",type:"roc",evaluations:r.map(n=>n.evaluation),series:r.map(n=>n.series),data:e.map(n=>({seriesId:`series:${n.model}`,cutoff:n.probability_threshold,sensitivity:n.sensitivity,specificity:n.specificity})),x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity",scope:"global",label:"Random Guess"}]}}function WR(e,t){let r=Ny(e.map(n=>n.reference_group),t);return{schemaVersion:"2.0",type:"roc",evaluations:r.map(n=>n.evaluation),series:r.map(n=>n.series),data:e.map(n=>({seriesId:`series:${n.reference_group}`,cutoff:n.chosen_cutoff,sensitivity:n.sensitivity,specificity:n.specificity})),x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity",scope:"global",label:"Random Guess"}]}}function XR(e,t,r,n){let o=Ny(e.map(c=>c.reference_group),r),i=e.map(c=>c.y).filter(Number.isFinite),a=Math.min(0,...i),s=Math.max(1,...i);return{schemaVersion:"2.0",type:"calibration",evaluations:o.map(c=>c.evaluation),series:o.map(c=>c.series),data:e.map(c=>{let u=c.sum_reals??c.n_reals,f=c.total_obs??c.n;return{seriesId:`series:${c.reference_group}`,predicted:c.x,observed:c.y,method:t,...t==="discrete"&&u!==void 0?{events:u}:{},...t==="discrete"&&f!==void 0?{total:f}:{}}}),...n?{distribution:n.map(c=>({seriesId:`series:${c.reference_group}`,midpoint:c.mids,count:c.counts,binWidth:.01}))}:{},x:"predicted",y:"observed",xAxis:{label:"Predicted probability",domain:[0,1]},yAxis:{label:"Observed probability",domain:[a,s]},references:[{type:"identity",scope:"global",label:"Perfectly Calibrated"}]}}function bt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function _n(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function ci(e){let t,r,n;e.length!==2?(t=bt,r=(s,c)=>bt(e(s),c),n=(s,c)=>e(s)-c):(t=e===bt||e===_n?e:ZR,r=e,n=e);function o(s,c,u=0,f=s.length){if(u>>1;r(s[p],c)<0?u=p+1:f=p}while(u>>1;r(s[p],c)<=0?u=p+1:f=p}while(uu&&n(s[p-1],c)>-n(s[p],c)?p-1:p}return{left:o,center:a,right:i}}function ZR(){return 0}function Bf(e){return e===null?NaN:+e}function*dv(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var hv=ci(bt),gv=hv.right,QR=hv.left,JR=ci(Bf).center,Ga=gv;function eN(e){return e.length|0}function tN(e){return!(e>0)}function rN(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function nN(e){return t=>e(...t)}function mp(...e){let t=typeof e[e.length-1]=="function"&&nN(e.pop());e=e.map(rN);let r=e.map(eN),n=e.length-1,o=new Array(n+1).fill(0),i=[];if(n<0||r.some(tN))return i;for(;;){i.push(o.map((s,c)=>e[c][s]));let a=n;for(;++o[a]===r[a];){if(a===0)return t?i.map(t):i;o[a--]=0}}}function dp(e,t){var r=0,n=0;return Float64Array.from(e,t===void 0?o=>r+=+o||0:o=>r+=+t(o,n++,e)||0)}function nc(e,t){let r=0,n,o=0,i=0;if(t===void 0)for(let a of e)a!=null&&(a=+a)>=a&&(n=a-o,o+=n/++r,i+=n*(a-o));else{let a=-1;for(let s of e)(s=t(s,++a,e))!=null&&(s=+s)>=s&&(n=s-o,o+=n/++r,i+=n*(s-o))}if(r>1)return i/(r-1)}function hp(e,t){let r=nc(e,t);return r&&Math.sqrt(r)}function Gr(e,t){let r,n;if(t===void 0)for(let o of e)o!=null&&(r===void 0?o>=o&&(r=n=o):(r>o&&(r=o),n=i&&(r=n=i):(r>i&&(r=i),n0){for(a=t[--r];r>0&&(n=a,o=t[--r],a=n+o,i=o-(a-n),!i););r>0&&(i<0&&t[r-1]<0||i>0&&t[r-1]>0)&&(o=i*2,n=a+o,o==n-a&&(a=n))}return a}};var Cr=class extends Map{constructor(t,r=xv){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,o]of t)this.set(n,o)}get(t){return super.get(Ay(this,t))}has(t){return super.has(Ay(this,t))}set(t,r){return super.set(yv(this,t),r)}delete(t){return super.delete(bv(this,t))}},eo=class extends Set{constructor(t,r=xv){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let n of t)this.add(n)}has(t){return super.has(Ay(this,t))}add(t){return super.add(yv(this,t))}delete(t){return super.delete(bv(this,t))}};function Ay({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function yv({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function bv({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function xv(e){return e!==null&&typeof e=="object"?e.valueOf():e}function zf(e){return e}function fi(e,...t){return Fy(e,zf,zf,t)}function So(e,t,...r){return Fy(e,zf,t,r)}function Ey(e,t,...r){return Fy(e,Array.from,t,r)}function Fy(e,t,r,n){return(function o(i,a){if(a>=n.length)return r(i);let s=new Cr,c=n[a++],u=-1;for(let f of i){let p=c(f,++u,i),l=s.get(p);l?l.push(f):s.set(p,[f])}for(let[f,p]of s)s.set(f,o(p,a));return t(s)})(e,0)}function $y(e,t){return Array.from(t,r=>e[r])}function Zi(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[r]=t;if(r&&r.length!==2||t.length>1){let n=Uint32Array.from(e,(o,i)=>i);return t.length>1?(t=t.map(o=>e.map(o)),n.sort((o,i)=>{for(let a of t){let s=Kf(a[o],a[i]);if(s)return s}})):(r=e.map(r),n.sort((o,i)=>Kf(r[o],r[i]))),$y(e,n)}return e.sort(Dy(r))}function Dy(e=bt){if(e===bt)return Kf;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function Kf(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}function oc(e,t,r){return(t.length!==2?Zi(So(e,t,r),(([n,o],[i,a])=>bt(o,a)||bt(n,i))):Zi(fi(e,r),(([n,o],[i,a])=>t(o,a)||bt(n,i)))).map(([n])=>n)}var oN=Math.sqrt(50),iN=Math.sqrt(10),aN=Math.sqrt(2);function gp(e,t,r){let n=(t-e)/Math.max(0,r),o=Math.floor(Math.log10(n)),i=n/Math.pow(10,o),a=i>=oN?10:i>=iN?5:i>=aN?2:1,s,c,u;return o<0?(u=Math.pow(10,-o)/a,s=Math.round(e*u),c=Math.round(t*u),s/ut&&--c,u=-u):(u=Math.pow(10,o)*a,s=Math.round(e/u),c=Math.round(t/u),s*ut&&--c),c0))return[];if(e===t)return[e];let n=t=o))return[];let s=i-o+1,c=new Array(s);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function yp(e,t){let r,n=-1,o=-1;if(t===void 0)for(let i of e)++o,i!=null&&(r=i)&&(r=i,n=o);else for(let i of e)(i=t(i,++o,e))!=null&&(r=i)&&(r=i,n=o);return n}function Or(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}return r}function bp(e,t){let r,n=-1,o=-1;if(t===void 0)for(let i of e)++o,i!=null&&(r>i||r===void 0&&i>=i)&&(r=i,n=o);else for(let i of e)(i=t(i,++o,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i,n=o);return n}function xp(e,t,r=0,n=1/0,o){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(o=o===void 0?Kf:Dy(o);n>r;){if(n-r>600){let c=n-r+1,u=t-r+1,f=Math.log(c),p=.5*Math.exp(2*f/3),l=.5*Math.sqrt(f*p*(c-p)/c)*(u-c/2<0?-1:1),m=Math.max(r,Math.floor(t-u*p/c+l)),h=Math.min(n,Math.floor(t+(c-u)*p/c+l));xp(e,t,m,h,o)}let i=e[t],a=r,s=n;for(Hf(e,r,t),o(e[n],i)>0&&Hf(e,r,n);a0;)--s}o(e[r],i)===0?Hf(e,r,s):(++s,Hf(e,s,n)),s<=t&&(r=s+1),t<=s&&(n=s-1)}return e}function Hf(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Yf(e,t=bt){let r,n=!1;if(t.length===1){let o;for(let i of e){let a=t(i);(n?bt(a,o)>0:bt(a,a)===0)&&(r=i,o=a,n=!0)}}else for(let o of e)(n?t(o,r)>0:t(o,o)===0)&&(r=o,n=!0);return r}function li(e,t,r){if(e=Float64Array.from(dv(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Or(e);if(t>=1)return Kt(e);var n,o=(n-1)*t,i=Math.floor(o),a=Kt(xp(e,i).subarray(0,i+1)),s=Or(e.subarray(i+1));return a+(s-a)*(o-i)}}function Ly(e,t,r=Bf){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,o=(n-1)*t,i=Math.floor(o),a=+r(e[i],i,e),s=+r(e[i+1],i+1,e);return a+(s-a)*(o-i)}}function wp(e,t){let r=0,n=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(++r,n+=o);else{let o=-1;for(let i of e)(i=t(i,++o,e))!=null&&(i=+i)>=i&&(++r,n+=i)}if(r)return n/r}function Ba(e,t){return li(e,.5,t)}function*cN(e){for(let t of e)yield*t}function ac(e){return Array.from(cN(e))}function Sp(e,t){let r=new Cr;if(t===void 0)for(let i of e)i!=null&&i>=i&&r.set(i,(r.get(i)||0)+1);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&a>=a&&r.set(a,(r.get(a)||0)+1)}let n,o=0;for(let[i,a]of r)a>o&&(o=a,n=i);return n}function vp(e,t=fN){let r=[],n,o=!1;for(let i of e)o&&r.push(t(n,i)),n=i,o=!0;return r}function fN(e,t){return[e,t]}function za(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(o);++n+e(t)}function mN(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function dN(){return!this.__axis}function hN(e,t){var r=[],n=null,o=null,i=6,a=6,s=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===Vy||e===Ip?-1:1,f=e===Ip||e===jy?"x":"y",p=e===Vy||e===Uy?uN:lN;function l(m){var h=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=o??(t.tickFormat?t.tickFormat.apply(t,r):wv),y=Math.max(i,0)+s,x=t.range(),g=+x[0]+c,S=+x[x.length-1]+c,w=(t.bandwidth?mN:pN)(t.copy(),c),_=m.selection?m.selection():m,v=_.selectAll(".domain").data([null]),I=_.selectAll(".tick").data(h,t).order(),T=I.exit(),P=I.enter().append("g").attr("class","tick"),R=I.select("line"),k=I.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),I=I.merge(P),R=R.merge(P.append("line").attr("stroke","currentColor").attr(f+"2",u*i)),k=k.merge(P.append("text").attr("fill","currentColor").attr(f,u*y).attr("dy",e===Vy?"0em":e===Uy?"0.71em":"0.32em")),m!==_&&(v=v.transition(m),I=I.transition(m),R=R.transition(m),k=k.transition(m),T=T.transition(m).attr("opacity",Sv).attr("transform",function(N){return isFinite(N=w(N))?p(N+c):this.getAttribute("transform")}),P.attr("opacity",Sv).attr("transform",function(N){var B=this.parentNode.__axis;return p((B&&isFinite(B=B(N))?B:w(N))+c)})),T.remove(),v.attr("d",e===Ip||e===jy?a?"M"+u*a+","+g+"H"+c+"V"+S+"H"+u*a:"M"+c+","+g+"V"+S:a?"M"+g+","+u*a+"V"+c+"H"+S+"V"+u*a:"M"+g+","+c+"H"+S),I.attr("opacity",1).attr("transform",function(N){return p(w(N)+c)}),R.attr(f+"2",u*i),k.attr(f,u*y).text(b),_.filter(dN).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===jy?"start":e===Ip?"end":"middle"),_.each(function(){this.__axis=w})}return l.scale=function(m){return arguments.length?(t=m,l):t},l.ticks=function(){return r=Array.from(arguments),l},l.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),l):r.slice()},l.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),l):n&&n.slice()},l.tickFormat=function(m){return arguments.length?(o=m,l):o},l.tickSize=function(m){return arguments.length?(i=a=+m,l):i},l.tickSizeInner=function(m){return arguments.length?(i=+m,l):i},l.tickSizeOuter=function(m){return arguments.length?(a=+m,l):a},l.tickPadding=function(m){return arguments.length?(s=+m,l):s},l.offset=function(m){return arguments.length?(c=+m,l):c},l}function Gy(e){return hN(Uy,e)}var gN={value:()=>{}};function Iv(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_p.prototype=Iv.prototype={constructor:_p,on:function(e,t){var r=this._,n=yN(e+"",r),o,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(o),n=0,o,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),vo.hasOwnProperty(t)?{space:vo[t],local:e}:e}function xN(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Pp&&t.documentElement.namespaceURI===Pp?t.createElement(e):t.createElementNS(r,e)}}function wN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function mi(e){var t=pi(e);return(t.local?wN:xN)(t)}function SN(){}function Ka(e){return e==null?SN:function(){return this.querySelector(e)}}function _v(e){typeof e!="function"&&(e=Ka(e));for(var t=this._groups,r=t.length,n=new Array(r),o=0;o=S&&(S=g+1);!(_=y[S])&&++S=0;)(a=n[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function $v(e){e||(e=EN);function t(p,l){return p&&l?e(p.__data__,l.__data__):!p-!l}for(var r=this._groups,n=r.length,o=new Array(n),i=0;it?1:e>=t?0:NaN}function Dv(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Lv(){return Array.from(this)}function Vv(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?UN:typeof t=="function"?BN:GN)(e,t,r??"")):Ji(this.node(),e)}function Ji(e,t){return e.style.getPropertyValue(t)||Cp(e).getComputedStyle(e,null).getPropertyValue(t)}function zN(e){return function(){delete this[e]}}function KN(e,t){return function(){this[e]=t}}function qN(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Kv(e,t){return arguments.length>1?this.each((t==null?zN:typeof t=="function"?qN:KN)(e,t)):this.node()[e]}function qv(e){return e.trim().split(/^|\s+/)}function Ky(e){return e.classList||new Hv(e)}function Hv(e){this._node=e,this._names=qv(e.getAttribute("class")||"")}Hv.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Yv(e,t){for(var r=Ky(e),n=-1,o=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function uA(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,o=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Op(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Op(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=gA.exec(e))?new Et(t[1],t[2],t[3],1):(t=yA.exec(e))?new Et(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=bA.exec(e))?Op(t[1],t[2],t[3],t[4]):(t=xA.exec(e))?Op(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=wA.exec(e))?bI(t[1],t[2]/100,t[3]/100,1):(t=SA.exec(e))?bI(t[1],t[2]/100,t[3]/100,t[4]):pI.hasOwnProperty(e)?hI(pI[e]):e==="transparent"?new Et(NaN,NaN,NaN,0):null}function hI(e){return new Et(e>>16&255,e>>8&255,e&255,1)}function Op(e,t,r,n){return n<=0&&(e=t=r=NaN),new Et(e,t,r,n)}function Jf(e){return e instanceof _o||(e=sn(e)),e?(e=e.rgb(),new Et(e.r,e.g,e.b,e.opacity)):new Et}function Tn(e,t,r,n){return arguments.length===1?Jf(e):new Et(e,t,r,n??1)}function Et(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}hi(Et,Tn,ta(_o,{brighter(e){return e=e==null?Ya:Math.pow(Ya,e),new Et(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ra:Math.pow(ra,e),new Et(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Et(Ha(this.r),Ha(this.g),Ha(this.b),Rp(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gI,formatHex:gI,formatHex8:_A,formatRgb:yI,toString:yI}));function gI(){return`#${qa(this.r)}${qa(this.g)}${qa(this.b)}`}function _A(){return`#${qa(this.r)}${qa(this.g)}${qa(this.b)}${qa((isNaN(this.opacity)?1:this.opacity)*255)}`}function yI(){let e=Rp(this.opacity);return`${e===1?"rgb(":"rgba("}${Ha(this.r)}, ${Ha(this.g)}, ${Ha(this.b)}${e===1?")":`, ${e})`}`}function Rp(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ha(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function qa(e){return e=Ha(e),(e<16?"0":"")+e.toString(16)}function bI(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new to(e,t,r,n)}function wI(e){if(e instanceof to)return new to(e.h,e.s,e.l,e.opacity);if(e instanceof _o||(e=sn(e)),!e)return new to;if(e instanceof to)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,s=i-o,c=(i+o)/2;return s?(t===i?a=(r-n)/s+(r0&&c<1?0:a,new to(a,s,c,e.opacity)}function eu(e,t,r,n){return arguments.length===1?wI(e):new to(e,t,r,n??1)}function to(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}hi(to,eu,ta(_o,{brighter(e){return e=e==null?Ya:Math.pow(Ya,e),new to(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ra:Math.pow(ra,e),new to(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new Et(Hy(e>=240?e-240:e+120,o,n),Hy(e,o,n),Hy(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new to(xI(this.h),kp(this.s),kp(this.l),Rp(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Rp(this.opacity);return`${e===1?"hsl(":"hsla("}${xI(this.h)}, ${kp(this.s)*100}%, ${kp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function xI(e){return e=(e||0)%360,e<0?e+360:e}function kp(e){return Math.max(0,Math.min(1,e||0))}function Hy(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var Np=Math.PI/180,Ap=180/Math.PI;var Ep=18,SI=.96422,vI=1,II=.82521,_I=4/29,cc=6/29,PI=3*cc*cc,PA=cc*cc*cc;function TI(e){if(e instanceof Po)return new Po(e.l,e.a,e.b,e.opacity);if(e instanceof gi)return MI(e);e instanceof Et||(e=Jf(e));var t=Zy(e.r),r=Zy(e.g),n=Zy(e.b),o=Yy((.2225045*t+.7168786*r+.0606169*n)/vI),i,a;return t===r&&r===n?i=a=o:(i=Yy((.4360747*t+.3850649*r+.1430804*n)/SI),a=Yy((.0139322*t+.0971045*r+.7141733*n)/II)),new Po(116*o-16,500*(i-o),200*(o-a),e.opacity)}function fc(e,t,r,n){return arguments.length===1?TI(e):new Po(e,t,r,n??1)}function Po(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}hi(Po,fc,ta(_o,{brighter(e){return new Po(this.l+Ep*(e??1),this.a,this.b,this.opacity)},darker(e){return new Po(this.l-Ep*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=SI*Wy(t),e=vI*Wy(e),r=II*Wy(r),new Et(Xy(3.1338561*t-1.6168667*e-.4906146*r),Xy(-.9787684*t+1.9161415*e+.033454*r),Xy(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function Yy(e){return e>PA?Math.pow(e,1/3):e/PI+_I}function Wy(e){return e>cc?e*e*e:PI*(e-_I)}function Xy(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Zy(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function TA(e){if(e instanceof gi)return new gi(e.h,e.c,e.l,e.opacity);if(e instanceof Po||(e=TI(e)),e.a===0&&e.b===0)return new gi(NaN,0=1?(r=1,t-1):Math.floor(r*t),o=e[n],i=e[n+1],a=n>0?e[n-1]:2*o-i,s=n()=>e;function EI(e,t){return function(r){return e+r*t}}function CA(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function lc(e,t){var r=t-e;return r?EI(e,r>180||r<-180?r-360*Math.round(r/360):r):uc(isNaN(e)?t:e)}function FI(e){return(e=+e)==1?pt:function(t,r){return r-t?CA(t,r,e):uc(isNaN(t)?r:t)}}function pt(e,t){var r=t-e;return r?EI(e,r):uc(isNaN(e)?t:e)}var Mn=(function e(t){var r=FI(t);function n(o,i){var a=r((o=Tn(o)).r,(i=Tn(i)).r),s=r(o.g,i.g),c=r(o.b,i.b),u=pt(o.opacity,i.opacity);return function(f){return o.r=a(f),o.g=s(f),o.b=c(f),o.opacity=u(f),o+""}}return n.gamma=e,n})(1);function $I(e){return function(t){var r=t.length,n=new Array(r),o=new Array(r),i=new Array(r),a,s;for(a=0;ar&&(i=t.slice(r,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,c.push({i:a,x:ft(n,o)})),r=r0.lastIndex;return r180?f+=360:f-u>180&&(u+=360),l.push({i:p.push(o(p)+"rotate(",null,n)-2,x:ft(u,f)})):f&&p.push(o(p)+"rotate("+f+n)}function s(u,f,p,l){u!==f?l.push({i:p.push(o(p)+"skewX(",null,n)-2,x:ft(u,f)}):f&&p.push(o(p)+"skewX("+f+n)}function c(u,f,p,l,m,h){if(u!==p||f!==l){var b=m.push(o(m)+"scale(",null,",",null,")");h.push({i:b-4,x:ft(u,p)},{i:b-2,x:ft(f,l)})}else(p!==1||l!==1)&&m.push(o(m)+"scale("+p+","+l+")")}return function(u,f){var p=[],l=[];return u=e(u),f=e(f),i(u.translateX,u.translateY,f.translateX,f.translateY,p,l),a(u.rotate,f.rotate,p,l),s(u.skewX,f.skewX,p,l),c(u.scaleX,u.scaleY,f.scaleX,f.scaleY,p,l),u=f=null,function(m){for(var h=-1,b=l.length,y;++h=0&&e._call.call(void 0,t),e=e._next;--mc}function WI(){Za=(jp=su.now())+Up,mc=iu=0;try{QI()}finally{mc=0,DA(),Za=0}}function $A(){var e=su.now(),t=e-jp;t>XI&&(Up-=t,jp=e)}function DA(){for(var e,t=Vp,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Vp=r);au=e,f0(n)}function f0(e){if(!mc){iu&&(iu=clearTimeout(iu));var t=e-Za;t>24?(e<1/0&&(iu=setTimeout(WI,e-su.now()-Up)),ou&&(ou=clearInterval(ou))):(ou||(jp=su.now(),ou=setInterval($A,XI)),mc=1,ZI(WI))}}function Bp(e,t,r){var n=new cu;return t=t==null?0:+t,n.restart(o=>{n.stop(),e(o+t)},t,r),n}var LA=By("start","end","cancel","interrupt"),VA=[],t_=0,JI=1,Kp=2,zp=3,e_=4,qp=5,uu=6;function na(e,t,r,n,o,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;jA(e,r,{name:t,index:n,group:o,on:LA,tween:VA,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:t_})}function lu(e,t){var r=Lt(e,t);if(r.state>t_)throw new Error("too late; already scheduled");return r}function cr(e,t){var r=Lt(e,t);if(r.state>zp)throw new Error("too late; already running");return r}function Lt(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function jA(e,t,r){var n=e.__transition,o;n[t]=r,r.timer=Gp(i,0,r.time);function i(u){r.state=JI,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var f,p,l,m;if(r.state!==JI)return c();for(f in n)if(m=n[f],m.name===r.name){if(m.state===zp)return Bp(a);m.state===e_?(m.state=uu,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete n[f]):+fKp&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function a4(e,t,r){var n,o,i=i4(t)?lu:cr;return function(){var a=i(this,e),s=a.on;s!==n&&(o=(n=s).copy()).on(t,r),a.on=o}}function p_(e,t){var r=this._id;return arguments.length<2?Lt(this.node(),r).on.on(e):this.each(a4(r,e,t))}function s4(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function m_(){return this.on("end.remove",s4(this._id))}function d_(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Ka(e));for(var n=this._groups,o=n.length,i=new Array(o),a=0;a=0))throw new Error(`invalid digits: ${e}`);if(t>15)return M_;let r=10**t;return function(n){this._+=n[0];for(let o=1,i=n.length;oQa)if(!(Math.abs(p*c-u*f)>Qa)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let m=n-a,h=o-s,b=c*c+u*u,y=m*m+h*h,x=Math.sqrt(b),g=Math.sqrt(l),S=i*Math.tan((l0-Math.acos((b+l-y)/(2*x*g)))/2),w=S/g,_=S/x;Math.abs(w-1)>Qa&&this._append`L${t+w*f},${r+w*p}`,this._append`A${i},${i},0,0,${+(p*m>f*h)},${this._x1=t+_*c},${this._y1=r+_*u}`}}arc(t,r,n,o,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(o),c=n*Math.sin(o),u=t+s,f=r+c,p=1^a,l=a?o-i:i-o;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>Qa||Math.abs(this._y1-f)>Qa)&&this._append`L${u},${f}`,n&&(l<0&&(l=l%p0+p0),l>I4?this._append`A${n},${n},0,1,${p},${t-s},${r-c}A${n},${n},0,1,${p},${this._x1=u},${this._y1=f}`:l>Qa&&this._append`A${n},${n},0,${+(l>=l0)},${p},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function C_(){return new oa}C_.prototype=oa.prototype;function no(e=3){return new oa(+e)}function O_(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ja(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Mo(e){return e=Ja(Math.abs(e)),e?e[1]:NaN}function k_(e,t){return function(r,n){for(var o=r.length,i=[],a=0,s=e[0],c=0;o>0&&s>0&&(c+s+1>n&&(s=Math.max(1,n-c)),i.push(r.substring(o-=s,o+s)),!((c+=s+1)>n));)s=e[a=(a+1)%e.length];return i.reverse().join(t)}}function R_(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var P4=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Co(e){if(!(t=P4.exec(e)))throw new Error("invalid format: "+e);var t;return new Zp({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Co.prototype=Zp.prototype;function Zp(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Zp.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function N_(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var pu;function A_(e,t){var r=Ja(e,t);if(!r)return pu=void 0,e.toPrecision(t);var n=r[0],o=r[1],i=o-(pu=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ja(e,Math.max(0,t+i-1))[0]}function m0(e,t){var r=Ja(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var d0={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:O_,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>m0(e*100,t),r:m0,s:A_,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function h0(e){return e}var E_=Array.prototype.map,F_=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function $_(e){var t=e.grouping===void 0||e.thousands===void 0?h0:k_(E_.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?h0:R_(E_.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"\u2212":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(p,l){p=Co(p);var m=p.fill,h=p.align,b=p.sign,y=p.symbol,x=p.zero,g=p.width,S=p.comma,w=p.precision,_=p.trim,v=p.type;v==="n"?(S=!0,v="g"):d0[v]||(w===void 0&&(w=12),_=!0,v="g"),(x||m==="0"&&h==="=")&&(x=!0,m="0",h="=");var I=(l&&l.prefix!==void 0?l.prefix:"")+(y==="$"?r:y==="#"&&/[boxX]/.test(v)?"0"+v.toLowerCase():""),T=(y==="$"?n:/[%p]/.test(v)?a:"")+(l&&l.suffix!==void 0?l.suffix:""),P=d0[v],R=/[defgprs%]/.test(v);w=w===void 0?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function k(N){var B=I,V=T,C,G,j;if(v==="c")V=P(N)+V,N="";else{N=+N;var H=N<0||1/N<0;if(N=isNaN(N)?c:P(Math.abs(N),w),_&&(N=N_(N)),H&&+N==0&&b!=="+"&&(H=!1),B=(H?b==="("?b:s:b==="-"||b==="("?"":b)+B,V=(v==="s"&&!isNaN(N)&&pu!==void 0?F_[8+pu/3]:"")+V+(H&&b==="("?")":""),R){for(C=-1,G=N.length;++Cj||j>57){V=(j===46?o+N.slice(C+1):N.slice(C))+V,N=N.slice(0,C);break}}}S&&!x&&(N=t(N,1/0));var U=B.length+N.length+V.length,z=U>1)+B+N+V+z.slice(U);break;default:N=z+B+N+V;break}return i(N)}return k.toString=function(){return p+""},k}function f(p,l){var m=Math.max(-8,Math.min(8,Math.floor(Mo(l)/3)))*3,h=Math.pow(10,-m),b=u((p=Co(p),p.type="f",p),{suffix:F_[8+m/3]});return function(y){return b(h*y)}}return{format:u,formatPrefix:f}}var Qp,Cn,Jp;g0({thousands:",",grouping:[3],currency:["$",""]});function g0(e){return Qp=$_(e),Cn=Qp.format,Jp=Qp.formatPrefix,Qp}function y0(e){return Math.max(0,-Mo(Math.abs(e)))}function b0(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Mo(t)/3)))*3-Mo(Math.abs(e)))}function x0(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Mo(t)-Mo(e))+1}var se=1e-6,em=1e-12,me=Math.PI,qe=me/2,w0=me/4,qt=me*2,Vt=180/me,He=me/180,be=Math.abs,On=Math.atan,fr=Math.atan2,ie=Math.cos;var tm=Math.exp;var es=Math.log,rm=Math.pow,ne=Math.sin,Sr=Math.sign||function(e){return e>0?1:e<0?-1:0},et=Math.sqrt,hc=Math.tan;function nm(e){return e>1?0:e<-1?me:Math.acos(e)}function vt(e){return e>1?qe:e<-1?-qe:Math.asin(e)}function Ht(){}function om(e,t){e&&L_.hasOwnProperty(e.type)&&L_[e.type](e,t)}var D_={Feature:function(e,t){om(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,o=r.length;++nme&&(e-=Math.round(e/qt)*qt),[e,t]}v0.invert=v0;function I0(e,t,r){return(e%=qt)?t||r?yu(U_(e),G_(t,r)):U_(e):t||r?G_(t,r):v0}function j_(e){return function(t,r){return t+=e,be(t)>me&&(t-=Math.round(t/qt)*qt),[t,r]}}function U_(e){var t=j_(e);return t.invert=j_(-e),t}function G_(e,t){var r=ie(e),n=ne(e),o=ie(t),i=ne(t);function a(s,c){var u=ie(c),f=ie(s)*u,p=ne(s)*u,l=ne(c),m=l*r+f*n;return[fr(p*o-m*i,f*r-l*n),vt(m*o+p*i)]}return a.invert=function(s,c){var u=ie(c),f=ie(s)*u,p=ne(s)*u,l=ne(c),m=l*o-p*i;return[fr(p*o+l*i,f*r+m*n),vt(m*r-f*n)]},a}function B_(e){e=I0(e[0]*He,e[1]*He,e.length>2?e[2]*He:0);function t(r){return r=e(r[0]*He,r[1]*He),r[0]*=Vt,r[1]*=Vt,r}return t.invert=function(r){return r=e.invert(r[0]*He,r[1]*He),r[0]*=Vt,r[1]*=Vt,r},t}function K_(e,t,r,n,o,i){if(r){var a=ie(t),s=ne(t),c=n*r;o==null?(o=t+n*qt,i=t-c/2):(o=z_(a,o),i=z_(a,i),(n>0?oi)&&(o+=n*qt));for(var u,f=o;n>0?f>i:f1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}function yc(e,t){return be(e[0]-t[0])=0;--s)o.point((p=f[s])[0],p[1]);else n(l.x,l.p.x,-1,o);l=l.p}l=l.o,f=l.z,m=!m}while(!l.v);o.lineEnd()}}}function q_(e){if(t=e.length){for(var t,r=0,n=e[0],o;++r=0?1:-1,R=P*T,k=R>me,N=y*v;if(c.add(fr(N*P*ne(R),x*I+N*ie(R))),a+=k?T+P*qt:T,k^h>=r^w>=r){var B=gc(Oo(m),Oo(S));gu(B);var V=gc(i,B);gu(V);var C=(k^T>=0?-1:1)*vt(V[2]);(n>C||n===C&&(B[0]||B[1]))&&(s+=k^T>=0?1:-1)}}return(a<-se||a0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v1&&w&2&&_.push(_.pop().concat(_.shift())),f.push(_.filter(T4))}}return l}}function T4(e){return e.length>1}function M4(e,t){return((e=e.x)[0]<0?e[1]-qe-se:qe-e[1])-((t=t.x)[0]<0?t[1]-qe-se:qe-t[1])}var P0=fm(function(){return!0},C4,k4,[-me,-qe]);function C4(e){var t=NaN,r=NaN,n=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(i,a){var s=i>0?me:-me,c=be(i-t);be(c-me)0?qe:-qe),e.point(n,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(i,r),o=0):n!==s&&c>=me&&(be(t-n)se?On((ne(t)*(i=ie(n))*ne(r)-ne(n)*(o=ie(t))*ne(e))/(o*i*a)):(t+n)/2}function k4(e,t,r,n){var o;if(e==null)o=r*qe,n.point(-me,o),n.point(0,o),n.point(me,o),n.point(me,0),n.point(me,-o),n.point(0,-o),n.point(-me,-o),n.point(-me,0),n.point(-me,o);else if(be(e[0]-t[0])>se){var i=e[0]0,o=be(t)>se;function i(f,p,l,m){K_(m,e,r,l,f,p)}function a(f,p){return ie(f)*ie(p)>t}function s(f){var p,l,m,h,b;return{lineStart:function(){h=m=!1,b=1},point:function(y,x){var g=[y,x],S,w=a(y,x),_=n?w?0:u(y,x):w?u(y+(y<0?me:-me),x):0;if(!p&&(h=m=w)&&f.lineStart(),w!==m&&(S=c(p,g),(!S||yc(p,S)||yc(g,S))&&(g[2]=1)),w!==m)b=0,w?(f.lineStart(),S=c(g,p),f.point(S[0],S[1])):(S=c(p,g),f.point(S[0],S[1],2),f.lineEnd()),p=S;else if(o&&p&&n^w){var v;!(_&l)&&(v=c(g,p,!0))&&(b=0,n?(f.lineStart(),f.point(v[0][0],v[0][1]),f.point(v[1][0],v[1][1]),f.lineEnd()):(f.point(v[1][0],v[1][1]),f.lineEnd(),f.lineStart(),f.point(v[0][0],v[0][1],3)))}w&&(!p||!yc(p,g))&&f.point(g[0],g[1]),p=g,m=w,l=_},lineEnd:function(){m&&f.lineEnd(),p=null},clean:function(){return b|(h&&m)<<1}}}function c(f,p,l){var m=Oo(f),h=Oo(p),b=[1,0,0],y=gc(m,h),x=du(y,y),g=y[0],S=x-g*g;if(!S)return!l&&f;var w=t*x/S,_=-t*g/S,v=gc(b,y),I=hu(b,w),T=hu(y,_);im(I,T);var P=v,R=du(I,P),k=du(P,P),N=R*R-k*(du(I,I)-1);if(!(N<0)){var B=et(N),V=hu(P,(-R-B)/k);if(im(V,I),V=mu(V),!l)return V;var C=f[0],G=p[0],j=f[1],H=p[1],U;G0^V[1]<(be(V[0]-C)me^(C<=V[0]&&V[0]<=G)){var q=hu(P,(-R+B)/k);return im(q,I),[V,mu(q)]}}}function u(f,p){var l=n?e:me-e,m=0;return f<-l?m|=1:f>l&&(m|=2),p<-l?m|=4:p>l&&(m|=8),m}return fm(a,s,i,n?[0,-e]:[-me,e-me])}function W_(e,t,r,n,o,i){var a=e[0],s=e[1],c=t[0],u=t[1],f=0,p=1,l=c-a,m=u-s,h;if(h=r-a,!(!l&&h>0)){if(h/=l,l<0){if(h0){if(h>p)return;h>f&&(f=h)}if(h=o-a,!(!l&&h<0)){if(h/=l,l<0){if(h>p)return;h>f&&(f=h)}else if(l>0){if(h0)){if(h/=m,m<0){if(h0){if(h>p)return;h>f&&(f=h)}if(h=i-s,!(!m&&h<0)){if(h/=m,m<0){if(h>p)return;h>f&&(f=h)}else if(m>0){if(h0&&(e[0]=a+f*l,e[1]=s+f*m),p<1&&(t[0]=a+p*l,t[1]=s+p*m),!0}}}}}var bu=1e9,um=-bu;function bc(e,t,r,n){function o(u,f){return e<=u&&u<=r&&t<=f&&f<=n}function i(u,f,p,l){var m=0,h=0;if(u==null||(m=a(u,p))!==(h=a(f,p))||c(u,f)<0^p>0)do l.point(m===0||m===3?e:r,m>1?n:t);while((m=(m+p+4)%4)!==h);else l.point(f[0],f[1])}function a(u,f){return be(u[0]-e)0?0:3:be(u[0]-r)0?2:1:be(u[1]-t)0?1:0:f>0?3:2}function s(u,f){return c(u.x,f.x)}function c(u,f){var p=a(u,1),l=a(f,1);return p!==l?p-l:p===0?f[1]-u[1]:p===1?u[0]-f[0]:p===2?u[1]-f[1]:f[0]-u[0]}return function(u){var f=u,p=am(),l,m,h,b,y,x,g,S,w,_,v,I={point:T,lineStart:N,lineEnd:B,polygonStart:R,polygonEnd:k};function T(C,G){o(C,G)&&f.point(C,G)}function P(){for(var C=0,G=0,j=m.length;Gn&&(ae-X)*(n-q)>(J-q)*(e-X)&&++C:J<=n&&(ae-X)*(n-q)<(J-q)*(e-X)&&--C;return C}function R(){f=p,l=[],m=[],v=!0}function k(){var C=P(),G=v&&C,j=(l=ac(l)).length;(G||j)&&(u.polygonStart(),G&&(u.lineStart(),i(null,null,1,u),u.lineEnd()),j&&cm(l,s,C,i,u),u.polygonEnd()),f=u,l=m=h=null}function N(){I.point=V,m&&m.push(h=[]),_=!0,w=!1,g=S=NaN}function B(){l&&(V(b,y),x&&w&&p.rejoin(),l.push(p.result())),I.point=T,w&&f.lineEnd()}function V(C,G){var j=o(C,G);if(m&&h.push([C,G]),_)b=C,y=G,x=j,_=!1,j&&(f.lineStart(),f.point(C,G));else if(j&&w)f.point(C,G);else{var H=[g=Math.max(um,Math.min(bu,g)),S=Math.max(um,Math.min(bu,S))],U=[C=Math.max(um,Math.min(bu,C)),G=Math.max(um,Math.min(bu,G))];W_(H,U,e,t,r,n)?(w||(f.lineStart(),f.point(H[0],H[1])),f.point(U[0],U[1]),j||f.lineEnd(),v=!1):j&&(f.lineStart(),f.point(C,G),v=!1)}g=C,S=G,w=j}return I}}var xu=e=>e;var T0=new an,M0=new an,X_,Z_,C0,O0,ia={point:Ht,lineStart:Ht,lineEnd:Ht,polygonStart:function(){ia.lineStart=R4,ia.lineEnd=A4},polygonEnd:function(){ia.lineStart=ia.lineEnd=ia.point=Ht,T0.add(be(M0)),M0=new an},result:function(){var e=T0/2;return T0=new an,e}};function R4(){ia.point=N4}function N4(e,t){ia.point=Q_,X_=C0=e,Z_=O0=t}function Q_(e,t){M0.add(O0*e-C0*t),C0=e,O0=t}function A4(){Q_(X_,Z_)}var k0=ia;var xc=1/0,lm=xc,wu=-xc,pm=wu,E4={point:F4,lineStart:Ht,lineEnd:Ht,polygonStart:Ht,polygonEnd:Ht,result:function(){var e=[[xc,lm],[wu,pm]];return wu=pm=-(lm=xc=1/0),e}};function F4(e,t){ewu&&(wu=e),tpm&&(pm=t)}var wc=E4;var R0=0,N0=0,Su=0,mm=0,dm=0,Sc=0,A0=0,E0=0,vu=0,tP,rP,ko,Ro,io={point:ts,lineStart:J_,lineEnd:eP,polygonStart:function(){io.lineStart=L4,io.lineEnd=V4},polygonEnd:function(){io.point=ts,io.lineStart=J_,io.lineEnd=eP},result:function(){var e=vu?[A0/vu,E0/vu]:Sc?[mm/Sc,dm/Sc]:Su?[R0/Su,N0/Su]:[NaN,NaN];return R0=N0=Su=mm=dm=Sc=A0=E0=vu=0,e}};function ts(e,t){R0+=e,N0+=t,++Su}function J_(){io.point=$4}function $4(e,t){io.point=D4,ts(ko=e,Ro=t)}function D4(e,t){var r=e-ko,n=t-Ro,o=et(r*r+n*n);mm+=o*(ko+e)/2,dm+=o*(Ro+t)/2,Sc+=o,ts(ko=e,Ro=t)}function eP(){io.point=ts}function L4(){io.point=j4}function V4(){nP(tP,rP)}function j4(e,t){io.point=nP,ts(tP=ko=e,rP=Ro=t)}function nP(e,t){var r=e-ko,n=t-Ro,o=et(r*r+n*n);mm+=o*(ko+e)/2,dm+=o*(Ro+t)/2,Sc+=o,o=Ro*e-ko*t,A0+=o*(ko+e),E0+=o*(Ro+t),vu+=o*3,ts(ko=e,Ro=t)}var F0=io;function hm(e){this._context=e}hm.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,qt);break}}},result:Ht};var D0=new an,$0,oP,iP,Iu,_u,gm={point:Ht,lineStart:function(){gm.point=U4},lineEnd:function(){$0&&aP(oP,iP),gm.point=Ht},polygonStart:function(){$0=!0},polygonEnd:function(){$0=null},result:function(){var e=+D0;return D0=new an,e}};function U4(e,t){gm.point=aP,oP=Iu=e,iP=_u=t}function aP(e,t){Iu-=e,_u-=t,D0.add(et(Iu*Iu+_u*_u)),Iu=e,_u=t}var L0=gm;var sP,ym,cP,fP,vc=class{constructor(t){this._append=t==null?uP:G4(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,r){switch(this._point){case 0:{this._append`M${t},${r}`,this._point=1;break}case 1:{this._append`L${t},${r}`;break}default:{if(this._append`M${t},${r}`,this._radius!==cP||this._append!==ym){let n=this._radius,o=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,cP=n,ym=this._append,fP=this._,this._=o}this._+=fP;break}}}result(){let t=this._;return this._="",t.length?t:null}};function uP(e){let t=1;this._+=e[0];for(let r=e.length;t=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return uP;if(t!==sP){let r=10**t;sP=t,ym=function(o){let i=1;this._+=o[0];for(let a=o.length;i=0))throw new RangeError(`invalid digits: ${s}`);r=c}return t===null&&(i=new vc(r)),a},a.projection(e).digits(r).context(t)}function _c(e){return{stream:Pc(e)}}function Pc(e){return function(t){var r=new V0;for(var n in e)r[n]=e[n];return r.stream=t,r}}function V0(){}V0.prototype={constructor:V0,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function j0(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),n!=null&&e.clipExtent(null),oo(r,e.stream(wc)),t(wc.result()),n!=null&&e.clipExtent(n),e}function Pu(e,t,r){return j0(e,function(n){var o=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(o/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),s=+t[0][0]+(o-a*(n[1][0]+n[0][0]))/2,c=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([s,c])},r)}function bm(e,t,r){return Pu(e,[[0,0],t],r)}function xm(e,t,r){return j0(e,function(n){var o=+t,i=o/(n[1][0]-n[0][0]),a=(o-i*(n[1][0]+n[0][0]))/2,s=-i*n[0][1];e.scale(150*i).translate([a,s])},r)}function wm(e,t,r){return j0(e,function(n){var o=+t,i=o/(n[1][1]-n[0][1]),a=-i*n[0][0],s=(o-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,s])},r)}var lP=16,B4=ie(30*He);function U0(e,t){return+t?K4(e,t):z4(e)}function z4(e){return Pc({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}function K4(e,t){function r(n,o,i,a,s,c,u,f,p,l,m,h,b,y){var x=u-n,g=f-o,S=x*x+g*g;if(S>4*t&&b--){var w=a+l,_=s+m,v=c+h,I=et(w*w+_*_+v*v),T=vt(v/=I),P=be(be(v)-1)t||be((x*B+g*V)/S-.5)>.3||a*l+s*m+c*h2?C[2]%360*He:0,B()):[s*Vt,c*Vt,u*Vt]},k.angle=function(C){return arguments.length?(p=C%360*He,B()):p*Vt},k.reflectX=function(C){return arguments.length?(l=C?-1:1,B()):l<0},k.reflectY=function(C){return arguments.length?(m=C?-1:1,B()):m<0},k.precision=function(C){return arguments.length?(v=U0(I,_=C*C),V()):et(_)},k.fitExtent=function(C,G){return Pu(k,C,G)},k.fitSize=function(C,G){return bm(k,C,G)},k.fitWidth=function(C,G){return xm(k,C,G)},k.fitHeight=function(C,G){return wm(k,C,G)};function B(){var C=pP(r,0,0,l,m,p).apply(null,t(i,a)),G=pP(r,n-C[0],o-C[1],l,m,p);return f=I0(s,c,u),I=yu(t,G),T=yu(f,I),v=U0(I,_),V()}function V(){return P=R=null,k}return function(){return t=e.apply(this,arguments),k.invert=t.invert&&N,B()}}function Tc(e){var t=0,r=me/3,n=G0(e),o=n(t,r);return o.parallels=function(i){return arguments.length?n(t=i[0]*He,r=i[1]*He):[t*Vt,r*Vt]},o}function mP(e){var t=ie(e);function r(n,o){return[n*t,ne(o)/t]}return r.invert=function(n,o){return[n/t,vt(o*t)]},r}function dP(e,t){var r=ne(e),n=(r+ne(t))/2;if(be(n)=.12&&y<.234&&b>=-.425&&b<-.214?o:y>=.166&&y<.234&&b>=-.214&&b<-.115?a:r).invert(l)},f.stream=function(l){return e&&t===l?e:e=W4([r.stream(t=l),o.stream(l),a.stream(l)])},f.precision=function(l){return arguments.length?(r.precision(l),o.precision(l),a.precision(l),p()):r.precision()},f.scale=function(l){return arguments.length?(r.scale(l),o.scale(l*.35),a.scale(l),f.translate(r.translate())):r.scale()},f.translate=function(l){if(!arguments.length)return r.translate();var m=r.scale(),h=+l[0],b=+l[1];return n=r.translate(l).clipExtent([[h-.455*m,b-.238*m],[h+.455*m,b+.238*m]]).stream(u),i=o.translate([h-.307*m,b+.201*m]).clipExtent([[h-.425*m+se,b+.12*m+se],[h-.214*m-se,b+.234*m-se]]).stream(u),s=a.translate([h-.205*m,b+.212*m]).clipExtent([[h-.214*m+se,b+.166*m+se],[h-.115*m-se,b+.234*m-se]]).stream(u),p()},f.fitExtent=function(l,m){return Pu(f,l,m)},f.fitSize=function(l,m){return bm(f,l,m)},f.fitWidth=function(l,m){return xm(f,l,m)},f.fitHeight=function(l,m){return wm(f,l,m)};function p(){return e=t=null,f}return f.scale(1070)}function Sm(e){return function(t,r){var n=ie(t),o=ie(r),i=e(n*o);return i===1/0?[2,0]:[i*o*ne(t),i*ne(r)]}}function No(e){return function(t,r){var n=et(t*t+r*r),o=e(n),i=ne(o),a=ie(o);return[fr(t*i,n*a),vt(n&&r*i/n)]}}var z0=Sm(function(e){return et(2/(1+e))});z0.invert=No(function(e){return 2*vt(e/2)});function K0(){return ur(z0).scale(124.75).clipAngle(180-.001)}var q0=Sm(function(e){return(e=nm(e))&&e/ne(e)});q0.invert=No(function(e){return e});function H0(){return ur(q0).scale(79.4188).clipAngle(180-.001)}function Mc(e,t){return[e,es(hc((qe+t)/2))]}Mc.invert=function(e,t){return[e,2*On(tm(t))-qe]};function Y0(){return W0(Mc).scale(961/qt)}function W0(e){var t=ur(e),r=t.center,n=t.scale,o=t.translate,i=t.clipExtent,a=null,s,c,u;t.scale=function(p){return arguments.length?(n(p),f()):n()},t.translate=function(p){return arguments.length?(o(p),f()):o()},t.center=function(p){return arguments.length?(r(p),f()):r()},t.clipExtent=function(p){return arguments.length?(p==null?a=s=c=u=null:(a=+p[0][0],s=+p[0][1],c=+p[1][0],u=+p[1][1]),f()):a==null?null:[[a,s],[c,u]]};function f(){var p=me*n(),l=t(B_(t.rotate()).invert([0,0]));return i(a==null?[[l[0]-p,l[1]-p],[l[0]+p,l[1]+p]]:e===Mc?[[Math.max(l[0]-p,a),s],[Math.min(l[0]+p,c),u]]:[[a,Math.max(l[1]-p,s)],[c,Math.min(l[1]+p,u)]])}return f()}function vm(e){return hc((qe+e)/2)}function hP(e,t){var r=ie(e),n=e===t?ne(e):es(r/ie(t))/es(vm(t)/vm(e)),o=r*rm(vm(e),n)/n;if(!n)return Mc;function i(a,s){o>0?s<-qe+se&&(s=-qe+se):s>qe-se&&(s=qe-se);var c=o/rm(vm(s),n);return[c*ne(n*a),o-c*ie(n*a)]}return i.invert=function(a,s){var c=o-s,u=Sr(n)*et(a*a+c*c),f=fr(a,be(c))*Sr(c);return c*n<0&&(f-=me*Sr(a)*Sr(c)),[f/n,2*On(rm(o/u,1/n))-qe]},i}function X0(){return Tc(hP).scale(109.5).parallels([30,30])}function Cc(e,t){return[e,t]}Cc.invert=Cc;function Z0(){return ur(Cc).scale(152.63)}function gP(e,t){var r=ie(e),n=e===t?ne(e):(r-ie(t))/(t-e),o=r/n+e;if(be(n)2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])},r([0,0,90]).scale(159.155)}function Ft(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Ru(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var Nu=Symbol("implicit");function rs(){var e=new Cr,t=[],r=[],n=Nu;function o(i){let a=e.get(i);if(a===void 0){if(n!==Nu)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return o.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Cr;for(let a of i)e.has(a)||e.set(a,t.push(a)-1);return o},o.range=function(i){return arguments.length?(r=Array.from(i),o):r.slice()},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return rs(t,r).unknown(n)},Ft.apply(o,arguments),o}function sa(){var e=rs().unknown(void 0),t=e.domain,r=e.range,n=0,o=1,i,a,s=!1,c=0,u=0,f=.5;delete e.unknown;function p(){var l=t().length,m=ot&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function Q4(e,t,r){var n=e[0],o=e[1],i=t[0],a=t[1];return o2?J4:Q4,c=u=null,p}function p(l){return l==null||isNaN(l=+l)?i:(c||(c=s(e.map(n),t,r)))(n(a(l)))}return p.invert=function(l){return a(o((u||(u=s(t,e.map(n),ft)))(l)))},p.domain=function(l){return arguments.length?(e=Array.from(l,Oc),f()):e.slice()},p.range=function(l){return arguments.length?(t=Array.from(l),f()):t.slice()},p.rangeRound=function(l){return t=Array.from(l),r=Xa,f()},p.clamp=function(l){return arguments.length?(a=l?!0:Br,f()):a!==Br},p.interpolate=function(l){return arguments.length?(r=l,f()):r},p.unknown=function(l){return arguments.length?(i=l,p):i},function(l,m){return n=l,o=m,f()}}function Au(){return ns()(Br,Br)}function pb(e,t,r,n){var o=ic(e,t,r),i;switch(n=Co(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=b0(o,a))&&(n.precision=i),Jp(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=x0(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=y0(o))&&(n.precision=i-(n.type==="%")*2);break}}return Cn(n)}function bi(e){var t=e.domain;return e.ticks=function(r){var n=t();return ui(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return pb(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,i=n.length-1,a=n[o],s=n[i],c,u,f=10;for(s0;){if(u=qf(a,s,r),u===c)return n[o]=a,n[i]=s,t(n);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;c=u}return e},e}function os(){var e=Au();return e.copy=function(){return Ao(e,os())},Ft.apply(e,arguments),bi(e)}function Eu(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Oc),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Eu(e).unknown(t)},e=arguments.length?Array.from(e,Oc):[0,1],bi(r)}function Fu(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],i=e[n],a;return iMath.pow(e,t)}function oE(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function SP(e){return(t,r)=>-e(-t,r)}function mb(e){let t=e(xP,wP),r=t.domain,n=10,o,i;function a(){return o=oE(n),i=nE(n),r()[0]<0?(o=SP(o),i=SP(i),e(eE,tE)):e(xP,wP),t}return t.base=function(s){return arguments.length?(n=+s,a()):n},t.domain=function(s){return arguments.length?(r(s),a()):r()},t.ticks=s=>{let c=r(),u=c[0],f=c[c.length-1],p=f0){for(;l<=m;++l)for(h=1;hf)break;x.push(b)}}else for(;l<=m;++l)for(h=n-1;h>=1;--h)if(b=l>0?h/i(-l):h*i(l),!(bf)break;x.push(b)}x.length*2{if(s==null&&(s=10),c==null&&(c=n===10?"s":","),typeof c!="function"&&(!(n%1)&&(c=Co(c)).precision==null&&(c.trim=!0),c=Cn(c)),s===1/0)return c;let u=Math.max(1,n*s/t.ticks().length);return f=>{let p=f/i(Math.round(o(f)));return p*nr(Fu(r(),{floor:s=>i(Math.floor(o(s))),ceil:s=>i(Math.ceil(o(s)))})),t}function $u(){let e=mb(ns()).domain([1,10]);return e.copy=()=>Ao(e,$u()).base(e.base()),Ft.apply(e,arguments),e}function vP(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function IP(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function db(e){var t=1,r=e(vP(t),IP(t));return r.constant=function(n){return arguments.length?e(vP(t=+n),IP(t)):t},bi(r)}function Du(){var e=db(ns());return e.copy=function(){return Ao(e,Du()).constant(e.constant())},Ft.apply(e,arguments)}function _P(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function iE(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function aE(e){return e<0?-e*e:e*e}function hb(e){var t=e(Br,Br),r=1;function n(){return r===1?e(Br,Br):r===.5?e(iE,aE):e(_P(r),_P(1/r))}return t.exponent=function(o){return arguments.length?(r=+o,n()):r},bi(t)}function Lu(){var e=hb(ns());return e.copy=function(){return Ao(e,Lu()).exponent(e.exponent())},Ft.apply(e,arguments),e}function Vu(){var e=[],t=[],r=[],n;function o(){var a=0,s=Math.max(1,t.length);for(r=new Array(s-1);++a0?r[s-1]:e[0],s(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),o.round=i=>{let a=o(i),s=o.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{let c=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i0))return c;let u;do c.push(u=new Date(+i)),t(i,s),e(i);while(uQe(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!i(a););else for(;--s>=0;)for(;t(a,1),!i(a););}),r&&(o.count=(i,a)=>(gb.setTime(+i),yb.setTime(+a),e(gb),e(yb),Math.floor(r(gb,yb))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(n?a=>n(a)%i===0:a=>o.count(0,a)%i===0):o)),o}var Uu=Qe(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Uu.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Qe(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Uu);var yme=Uu.range;var Yt=Qe(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),PP=Yt.range;var xi=Qe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),sE=xi.range,wi=Qe(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),cE=wi.range;var Si=Qe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),fE=Si.range,vi=Qe(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),uE=vi.range;var kn=Qe(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),lE=kn.range,ss=Qe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),pE=ss.range,cs=Qe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),mE=cs.range;function fs(e){return Qe(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var cn=fs(0),ca=fs(1),_m=fs(2),Pm=fs(3),Fo=fs(4),Tm=fs(5),Mm=fs(6),MP=cn.range,dE=ca.range,hE=_m.range,gE=Pm.range,yE=Fo.range,bE=Tm.range,xE=Mm.range;function us(e){return Qe(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var fn=us(0),fa=us(1),Cm=us(2),Om=us(3),$o=us(4),km=us(5),Rm=us(6),CP=fn.range,wE=fa.range,SE=Cm.range,vE=Om.range,IE=$o.range,_E=km.range,PE=Rm.range;var Ii=Qe(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),TE=Ii.range,_i=Qe(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),ME=_i.range;var vr=Qe(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());vr.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Qe(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var CE=vr.range,Ir=Qe(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Ir.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Qe(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var OE=Ir.range;function kP(e,t,r,n,o,i){let a=[[Yt,1,1e3],[Yt,5,5*1e3],[Yt,15,15*1e3],[Yt,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function s(u,f,p){let l=fy).right(a,l);if(m===a.length)return e.every(ic(u/31536e6,f/31536e6,p));if(m===0)return Uu.every(Math.max(ic(u,f,p),1));let[h,b]=a[l/a[m-1][2]53)return null;"w"in A||(A.w=1),"Z"in A?(re=Ib(Bu(A.y,0,1)),Te=re.getUTCDay(),re=Te>4||Te===0?fa.ceil(re):fa(re),re=ss.offset(re,(A.V-1)*7),A.y=re.getUTCFullYear(),A.m=re.getUTCMonth(),A.d=re.getUTCDate()+(A.w+6)%7):(re=vb(Bu(A.y,0,1)),Te=re.getDay(),re=Te>4||Te===0?ca.ceil(re):ca(re),re=kn.offset(re,(A.V-1)*7),A.y=re.getFullYear(),A.m=re.getMonth(),A.d=re.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),Te="Z"in A?Ib(Bu(A.y,0,1)).getUTCDay():vb(Bu(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(Te+5)%7:A.w+A.U*7-(Te+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,Ib(A)):vb(A)}}function T(O,L,K,A){for(var ee=0,re=L.length,Te=K.length,Me,rt;ee=Te)return-1;if(Me=L.charCodeAt(ee++),Me===37){if(Me=L.charAt(ee++),rt=_[Me in RP?L.charAt(ee++):Me],!rt||(A=rt(O,K,A))<0)return-1}else if(Me!=K.charCodeAt(A++))return-1}return A}function P(O,L,K){var A=u.exec(L.slice(K));return A?(O.p=f.get(A[0].toLowerCase()),K+A[0].length):-1}function R(O,L,K){var A=m.exec(L.slice(K));return A?(O.w=h.get(A[0].toLowerCase()),K+A[0].length):-1}function k(O,L,K){var A=p.exec(L.slice(K));return A?(O.w=l.get(A[0].toLowerCase()),K+A[0].length):-1}function N(O,L,K){var A=x.exec(L.slice(K));return A?(O.m=g.get(A[0].toLowerCase()),K+A[0].length):-1}function B(O,L,K){var A=b.exec(L.slice(K));return A?(O.m=y.get(A[0].toLowerCase()),K+A[0].length):-1}function V(O,L,K){return T(O,t,L,K)}function C(O,L,K){return T(O,r,L,K)}function G(O,L,K){return T(O,n,L,K)}function j(O){return a[O.getDay()]}function H(O){return i[O.getDay()]}function U(O){return c[O.getMonth()]}function z(O){return s[O.getMonth()]}function Y(O){return o[+(O.getHours()>=12)]}function X(O){return 1+~~(O.getMonth()/3)}function q(O){return a[O.getUTCDay()]}function ae(O){return i[O.getUTCDay()]}function J(O){return c[O.getUTCMonth()]}function oe(O){return s[O.getUTCMonth()]}function Q(O){return o[+(O.getUTCHours()>=12)]}function fe(O){return 1+~~(O.getUTCMonth()/3)}return{format:function(O){var L=v(O+="",S);return L.toString=function(){return O},L},parse:function(O){var L=I(O+="",!1);return L.toString=function(){return O},L},utcFormat:function(O){var L=v(O+="",w);return L.toString=function(){return O},L},utcParse:function(O){var L=I(O+="",!0);return L.toString=function(){return O},L}}}var RP={"-":"",_:" ",0:"0"},Wt=/^\s*\d+/,RE=/^%/,NE=/[\\^$*+?|[\]().{}]/g;function Le(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",i=o.length;return n+(i[t.toLowerCase(),r]))}function EE(e,t,r){var n=Wt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function FE(e,t,r){var n=Wt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function $E(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function DE(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function LE(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function NP(e,t,r){var n=Wt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function AP(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function VE(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function jE(e,t,r){var n=Wt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function UE(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function EP(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function GE(e,t,r){var n=Wt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function FP(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function BE(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function zE(e,t,r){var n=Wt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function KE(e,t,r){var n=Wt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function qE(e,t,r){var n=Wt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function HE(e,t,r){var n=RE.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function YE(e,t,r){var n=Wt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function WE(e,t,r){var n=Wt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function $P(e,t){return Le(e.getDate(),t,2)}function XE(e,t){return Le(e.getHours(),t,2)}function ZE(e,t){return Le(e.getHours()%12||12,t,2)}function QE(e,t){return Le(1+kn.count(vr(e),e),t,3)}function UP(e,t){return Le(e.getMilliseconds(),t,3)}function JE(e,t){return UP(e,t)+"000"}function e7(e,t){return Le(e.getMonth()+1,t,2)}function t7(e,t){return Le(e.getMinutes(),t,2)}function r7(e,t){return Le(e.getSeconds(),t,2)}function n7(e){var t=e.getDay();return t===0?7:t}function o7(e,t){return Le(cn.count(vr(e)-1,e),t,2)}function GP(e){var t=e.getDay();return t>=4||t===0?Fo(e):Fo.ceil(e)}function i7(e,t){return e=GP(e),Le(Fo.count(vr(e),e)+(vr(e).getDay()===4),t,2)}function a7(e){return e.getDay()}function s7(e,t){return Le(ca.count(vr(e)-1,e),t,2)}function c7(e,t){return Le(e.getFullYear()%100,t,2)}function f7(e,t){return e=GP(e),Le(e.getFullYear()%100,t,2)}function u7(e,t){return Le(e.getFullYear()%1e4,t,4)}function l7(e,t){var r=e.getDay();return e=r>=4||r===0?Fo(e):Fo.ceil(e),Le(e.getFullYear()%1e4,t,4)}function p7(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Le(t/60|0,"0",2)+Le(t%60,"0",2)}function DP(e,t){return Le(e.getUTCDate(),t,2)}function m7(e,t){return Le(e.getUTCHours(),t,2)}function d7(e,t){return Le(e.getUTCHours()%12||12,t,2)}function h7(e,t){return Le(1+ss.count(Ir(e),e),t,3)}function BP(e,t){return Le(e.getUTCMilliseconds(),t,3)}function g7(e,t){return BP(e,t)+"000"}function y7(e,t){return Le(e.getUTCMonth()+1,t,2)}function b7(e,t){return Le(e.getUTCMinutes(),t,2)}function x7(e,t){return Le(e.getUTCSeconds(),t,2)}function w7(e){var t=e.getUTCDay();return t===0?7:t}function S7(e,t){return Le(fn.count(Ir(e)-1,e),t,2)}function zP(e){var t=e.getUTCDay();return t>=4||t===0?$o(e):$o.ceil(e)}function v7(e,t){return e=zP(e),Le($o.count(Ir(e),e)+(Ir(e).getUTCDay()===4),t,2)}function I7(e){return e.getUTCDay()}function _7(e,t){return Le(fa.count(Ir(e)-1,e),t,2)}function P7(e,t){return Le(e.getUTCFullYear()%100,t,2)}function T7(e,t){return e=zP(e),Le(e.getUTCFullYear()%100,t,2)}function M7(e,t){return Le(e.getUTCFullYear()%1e4,t,4)}function C7(e,t){var r=e.getUTCDay();return e=r>=4||r===0?$o(e):$o.ceil(e),Le(e.getUTCFullYear()%1e4,t,4)}function O7(){return"+0000"}function LP(){return"%"}function VP(e){return+e}function jP(e){return Math.floor(+e/1e3)}var kc,Rc,KP,Do,qP;Pb({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Pb(e){return kc=_b(e),Rc=kc.format,KP=kc.parse,Do=kc.utcFormat,qP=kc.utcParse,kc}function k7(e){return new Date(e)}function R7(e){return e instanceof Date?+e:+new Date(+e)}function Nm(e,t,r,n,o,i,a,s,c,u){var f=Au(),p=f.invert,l=f.domain,m=u(".%L"),h=u(":%S"),b=u("%I:%M"),y=u("%I %p"),x=u("%a %d"),g=u("%b %d"),S=u("%B"),w=u("%Y");function _(v){return(c(v)t0(e[e.length-1]);var Vm=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(W),jm=ce(Vm);var Um=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(W),Gm=ce(Um);var Bm=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(W),zm=ce(Bm);var Km=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(W),qm=ce(Km);var Yu=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(W),Nc=ce(Yu);var Hm=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(W),Ym=ce(Hm);var Wu=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(W),Ac=ce(Wu);var Wm=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(W),Xm=ce(Wm);var Zm=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(W),Qm=ce(Zm);var Jm=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(W),ed=ce(Jm);var td=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(W),rd=ce(td);var nd=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(W),od=ce(nd);var id=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(W),ad=ce(id);var sd=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(W),cd=ce(sd);var fd=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(W),ud=ce(fd);var ld=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(W),pd=ce(ld);var md=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(W),dd=ce(md);var hd=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(W),gd=ce(hd);var yd=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(W),bd=ce(yd);var xd=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(W),wd=ce(xd);var Sd=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(W),vd=ce(Sd);var Id=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(W),_d=ce(Id);var Pd=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(W),Td=ce(Pd);var Md=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(W),Cd=ce(Md);var Od=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(W),kd=ce(Od);var Rd=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(W),Nd=ce(Rd);var Ad=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(W),Ed=ce(Ad);function Fd(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}var $d=pc(Rr(300,.5,0),Rr(-240,.5,1));var Ld=pc(Rr(-100,.75,.35),Rr(80,1.5,.8)),Vd=pc(Rr(260,.75,.35),Rr(80,1.5,.8)),Dd=Rr();function jd(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Dd.h=360*e-100,Dd.s=1.5-1.5*t,Dd.l=.8-.9*t,Dd+""}var Ud=Tn(),N7=Math.PI/3,A7=Math.PI*2/3;function Gd(e){var t;return e=(.5-e)*Math.PI,Ud.r=255*(t=Math.sin(e))*t,Ud.g=255*(t=Math.sin(e+N7))*t,Ud.b=255*(t=Math.sin(e+A7))*t,Ud+""}function Bd(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function zd(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Kd=zd(W("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),qd=zd(W("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Hd=zd(W("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Yd=zd(W("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ls(e){return function(){return e}}var Db=Math.cos;var Ec=Math.min,Xu=Math.sin,Ve=Math.sqrt,Lb=1e-12,ps=Math.PI,Gye=ps/2,Fc=2*ps;function HP(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new oa(t)}var qye=Array.prototype.slice;function YP(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function WP(e){this._context=e}WP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function ms(e){return new WP(e)}function XP(e){return e[0]}function ZP(e){return e[1]}function Vb(e,t){var r=ls(!0),n=null,o=ms,i=null,a=HP(s);e=typeof e=="function"?e:e===void 0?XP:ls(e),t=typeof t=="function"?t:t===void 0?ZP:ls(t);function s(c){var u,f=(c=YP(c)).length,p,l=!1,m;for(n==null&&(i=o(m=a())),u=0;u<=f;++u)!(u0)for(var n=e[0],o=t[0],i=e[r]-n,a=t[r]-o,s=-1,c;++s<=r;)c=s/r,this._basis.point(this._beta*e[s]+(1-this._beta)*(n+c*i),this._beta*t[s]+(1-this._beta)*(o+c*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var Yb=(function e(t){function r(n){return t===1?new cl(n):new rT(n,t)}return r.beta=function(n){return e(+n)},r})(.85);function Lc(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function Zd(e,t){this._context=e,this._k=(1-t)/6}Zd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Lc(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Lc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Wb=(function e(t){function r(n){return new Zd(n,t)}return r.tension=function(n){return e(+n)},r})(0);function Qd(e,t){this._context=e,this._k=(1-t)/6}Qd.prototype={areaStart:An,areaEnd:An,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Lc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Xb=(function e(t){function r(n){return new Qd(n,t)}return r.tension=function(n){return e(+n)},r})(0);function Jd(e,t){this._context=e,this._k=(1-t)/6}Jd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Lc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Zb=(function e(t){function r(n){return new Jd(n,t)}return r.tension=function(n){return e(+n)},r})(0);function fl(e,t,r){var n=e._x1,o=e._y1,i=e._x2,a=e._y2;if(e._l01_a>Lb){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,o=(o*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>Lb){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,f=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*u+e._x1*e._l23_2a-t*e._l12_2a)/f,a=(a*u+e._y1*e._l23_2a-r*e._l12_2a)/f}e._context.bezierCurveTo(n,o,i,a,e._x2,e._y2)}function nT(e,t){this._context=e,this._alpha=t}nT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:fl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Qb=(function e(t){function r(n){return t?new nT(n,t):new Zd(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function oT(e,t){this._context=e,this._alpha=t}oT.prototype={areaStart:An,areaEnd:An,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:fl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Jb=(function e(t){function r(n){return t?new oT(n,t):new Qd(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function iT(e,t){this._context=e,this._alpha=t}iT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:fl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ex=(function e(t){function r(n){return t?new iT(n,t):new Jd(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function aT(e){this._context=e}aT.prototype={areaStart:An,areaEnd:An,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function tx(e){return new aT(e)}function sT(e){return e<0?-1:1}function cT(e,t,r){var n=e._x1-e._x0,o=t-e._x1,i=(e._y1-e._y0)/(n||o<0&&-0),a=(r-e._y1)/(o||n<0&&-0),s=(i*o+a*n)/(n+o);return(sT(i)+sT(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(s))||0}function fT(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function rx(e,t,r){var n=e._x0,o=e._y0,i=e._x1,a=e._y1,s=(i-n)/3;e._context.bezierCurveTo(n+s,o+s*t,i-s,a-s*r,i,a)}function eh(e){this._context=e}eh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:rx(this,this._t0,fT(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,rx(this,fT(this,r=cT(this,e,t)),r);break;default:rx(this,this._t0,r=cT(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function uT(e){this._context=new lT(e)}(uT.prototype=Object.create(eh.prototype)).point=function(e,t){eh.prototype.point.call(this,t,e)};function lT(e){this._context=e}lT.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,o,i){this._context.bezierCurveTo(t,e,n,r,i,o)}};function nx(e){return new eh(e)}function ox(e){return new uT(e)}function mT(e){this._context=e}mT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=pT(e),o=pT(t),i=0,a=1;a=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(i[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function ax(e){return new th(e,.5)}function sx(e){return new th(e,0)}function cx(e){return new th(e,1)}function ua(e,t,r){this.k=e,this.x=t,this.y=r}ua.prototype={constructor:ua,scale:function(e){return e===1?this:new ua(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ua(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var fx=new ua(1,0,0);ux.prototype=ua.prototype;function ux(e){for(;!e.__zoom;)if(!(e=e.parentNode))return fx;return e.__zoom}function En(e){return e!=null&&!Number.isNaN(e)}function zr(e,t){return+En(t)-+En(e)||bt(e,t)}function ds(e,t){return+En(t)-+En(e)||_n(e,t)}function ul(e){return e!=null&&`${e}`!=""}function lx(e){return isFinite(e)?e:NaN}function hs(e){return e>0&&isFinite(e)?e:NaN}function Vc(e){return e<0&&isFinite(e)?e:NaN}function rh(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t=="function"?t(e):t;let r=e.getUTCHours(),n=e.getUTCMinutes(),o=e.getUTCSeconds(),i=e.getUTCMilliseconds();return`${U7(e.getUTCFullYear(),4)}-${Ti(e.getUTCMonth()+1,2)}-${Ti(e.getUTCDate(),2)}${r||n||o||i?`T${Ti(r,2)}:${Ti(n,2)}${o||i?`:${Ti(o,2)}${i?`.${Ti(i,3)}`:""}`:""}Z`:""}`}function U7(e){return e<0?`-${Ti(-e,6)}`:e>9999?`+${Ti(e,6)}`:Ti(e,4)}function Ti(e,t){return`${e}`.padStart(t,"0")}var G7=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function ll(e,t){return G7.test(e+="")?new Date(e):typeof t=="function"?t(e):t}function Mi(e){if(e==null)return;let t=e[0],r=e[e.length-1];return _n(t,r)}var Uc=1e3,pa=Uc*60,ma=pa*60,Vo=ma*24,Lo=Vo*7,gs=Vo*30,la=Vo*365,px=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",Uc],["5 seconds",5*Uc],["15 seconds",15*Uc],["30 seconds",30*Uc],["minute",pa],["5 minutes",5*pa],["15 minutes",15*pa],["30 minutes",30*pa],["hour",ma],["3 hours",3*ma],["6 hours",6*ma],["12 hours",12*ma],["day",Vo],["2 days",2*Vo],["week",Lo],["2 weeks",2*Lo],["month",gs],["3 months",3*gs],["6 months",6*gs],["year",la],["2 years",2*la],["5 years",5*la],["10 years",10*la],["20 years",20*la],["50 years",50*la],["100 years",100*la]],mx=new Map([["second",Uc],["minute",pa],["hour",ma],["day",Vo],["monday",Lo],["tuesday",Lo],["wednesday",Lo],["thursday",Lo],["friday",Lo],["saturday",Lo],["sunday",Lo],["week",Lo],["month",gs],["year",la]]),hT=new Map([["second",Yt],["minute",xi],["hour",Si],["day",kn],["monday",ca],["tuesday",_m],["wednesday",Pm],["thursday",Fo],["friday",Tm],["saturday",Mm],["sunday",cn],["week",cn],["month",Ii],["year",vr]]),dx=new Map([["second",Yt],["minute",wi],["hour",vi],["day",cs],["monday",fa],["tuesday",Cm],["wednesday",Om],["thursday",$o],["friday",km],["saturday",Rm],["sunday",fn],["week",fn],["month",_i],["year",Ir]]),Gc=Symbol("intervalDuration"),oh=Symbol("intervalType");for(let[e,t]of hT)t[Gc]=mx.get(e),t[oh]="time";for(let[e,t]of dx)t[Gc]=mx.get(e),t[oh]="utc";var pl=[["year",Ir,"utc"],["month",_i,"utc"],["day",cs,"utc",6*gs],["hour",vi,"utc",3*Vo],["minute",wi,"utc",6*ma],["second",Yt,"utc",30*pa]],nh=[["year",vr,"time"],["month",Ii,"time"],["day",kn,"time",6*gs],["hour",Si,"time",3*Vo],["minute",xi,"time",6*ma],["second",Yt,"time",30*pa]],B7=[pl[0],nh[0],pl[1],nh[1],pl[2],nh[2],...pl.slice(3)];function gT(e){let t=`${e}`.toLowerCase();t.endsWith("s")&&(t=t.slice(0,-1));let r=1,n=/^(?:(\d+)\s+)/.exec(t);switch(n&&(t=t.slice(n[0].length),r=+n[1]),t){case"quarter":t="month",r*=3;break;case"half":t="month",r*=6;break}let o=dx.get(t);if(!o)throw new Error(`unknown interval: ${e}`);if(r>1&&!o.every)throw new Error(`non-periodic interval: ${t}`);return[t,r]}function hx(e){return yT(gT(e),"time")}function gx(e){return yT(gT(e),"utc")}function yT([e,t],r){let n=(r==="time"?hT:dx).get(e);return t>1&&(n=n.every(t),n[Gc]=mx.get(e)*t,n[oh]=r),n}function yx(e,t){if(!(t>1))return;let r=e[Gc];if(!px.some(([,o])=>o===r)||r%Vo===0&&VoMath.log(o)).center(px,Math.log(r*t))];return(e[oh]==="time"?hx:gx)(n)}function dT(e,t,r){let n=t==="time"?Rc:Do;if(r==null)return n(e==="year"?"%Y":e==="month"?"%Y-%m":e==="day"?"%Y-%m-%d":e==="hour"||e==="minute"?"%Y-%m-%dT%H:%M":e==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=z7(r);switch(e){case"millisecond":return jc(n(".%L"),n(":%M:%S"),o);case"second":return jc(n(":%S"),n("%-I:%M"),o);case"minute":return jc(n("%-I:%M"),n("%p"),o);case"hour":return jc(n("%-I %p"),n("%b %-d"),o);case"day":return jc(n("%-d"),n("%b"),o);case"month":return jc(n("%b"),n("%Y"),o);case"year":return n("%Y")}throw new Error("unable to format time ticks")}function z7(e){return e==="left"||e==="right"?(t,r)=>` +var M6=Object.defineProperty;var Ba=(e,t)=>{for(var r in t)M6(e,r,{get:t[r],enumerable:!0})};var xr={};Ba(xr,{HasPropertyKey:()=>sp,IsArray:()=>kt,IsAsyncIterator:()=>uy,IsBigInt:()=>ju,IsBoolean:()=>li,IsDate:()=>Ga,IsFunction:()=>fy,IsIterator:()=>ly,IsNull:()=>py,IsNumber:()=>an,IsObject:()=>Ge,IsRegExp:()=>Uu,IsString:()=>et,IsSymbol:()=>my,IsUint8Array:()=>pi,IsUndefined:()=>Nt});function sp(e,t){return t in e}function uy(e){return Ge(e)&&!kt(e)&&!pi(e)&&Symbol.asyncIterator in e}function kt(e){return Array.isArray(e)}function ju(e){return typeof e=="bigint"}function li(e){return typeof e=="boolean"}function Ga(e){return e instanceof globalThis.Date}function fy(e){return typeof e=="function"}function ly(e){return Ge(e)&&!kt(e)&&!pi(e)&&Symbol.iterator in e}function py(e){return e===null}function an(e){return typeof e=="number"}function Ge(e){return typeof e=="object"&&e!==null}function Uu(e){return e instanceof globalThis.RegExp}function et(e){return typeof e=="string"}function my(e){return typeof e=="symbol"}function pi(e){return e instanceof globalThis.Uint8Array}function Nt(e){return e===void 0}function C6(e){return e.map(t=>cp(t))}function O6(e){return new Date(e.getTime())}function k6(e){return new Uint8Array(e)}function N6(e){return new RegExp(e.source,e.flags)}function R6(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=cp(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=cp(e[r]);return t}function cp(e){return kt(e)?C6(e):Ga(e)?O6(e):pi(e)?k6(e):Uu(e)?N6(e):Ge(e)?R6(e):e}function ut(e){return cp(e)}function Ys(e,t){return t===void 0?ut(e):ut({...t,...e})}function up(e){return xe(e)&&globalThis.Symbol.asyncIterator in e}function fp(e){return xe(e)&&globalThis.Symbol.iterator in e}function dy(e){return xe(e)&&(globalThis.Object.getPrototypeOf(e)===Object.prototype||globalThis.Object.getPrototypeOf(e)===null)}function lp(e){return e instanceof globalThis.Promise}function Nr(e){return e instanceof Date&&globalThis.Number.isFinite(e.getTime())}function p2(e){return e instanceof globalThis.Map}function m2(e){return e instanceof globalThis.Set}function Pn(e){return globalThis.ArrayBuffer.isView(e)}function Ws(e){return e instanceof globalThis.Uint8Array}function pe(e,t){return t in e}function xe(e){return e!==null&&typeof e=="object"}function me(e){return globalThis.Array.isArray(e)&&!globalThis.ArrayBuffer.isView(e)}function ft(e){return e===void 0}function mi(e){return e===null}function No(e){return typeof e=="boolean"}function lt(e){return typeof e=="number"}function pp(e){return globalThis.Number.isInteger(e)}function Yn(e){return typeof e=="bigint"}function Be(e){return typeof e=="string"}function ea(e){return typeof e=="function"}function di(e){return typeof e=="symbol"}function sn(e){return Yn(e)||No(e)||mi(e)||lt(e)||Be(e)||di(e)||ft(e)}var jt;(function(e){e.InstanceMode="default",e.ExactOptionalPropertyTypes=!1,e.AllowArrayObject=!1,e.AllowNaN=!1,e.AllowNullVoid=!1;function t(a,s){return e.ExactOptionalPropertyTypes?s in a:a[s]!==void 0}e.IsExactOptionalProperty=t;function r(a){let s=xe(a);return e.AllowArrayObject?s:s&&!me(a)}e.IsObjectLike=r;function n(a){return r(a)&&!(a instanceof Date)&&!(a instanceof Uint8Array)}e.IsRecordLike=n;function o(a){return e.AllowNaN?lt(a):Number.isFinite(a)}e.IsNumberLike=o;function i(a){let s=ft(a);return e.AllowNullVoid?s||a===null:s}e.IsVoidLike=i})(jt||(jt={}));function E6(e){return globalThis.Object.freeze(e).map(t=>zu(t))}function A6(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=zu(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=zu(e[r]);return globalThis.Object.freeze(t)}function zu(e){return kt(e)?E6(e):Ga(e)?e:pi(e)?e:Uu(e)?e:Ge(e)?A6(e):e}function L(e,t){let r=t!==void 0?{...t,...e}:e;switch(jt.InstanceMode){case"freeze":return zu(r);case"clone":return ut(r);default:return r}}var ge=class extends Error{constructor(t){super(t)}};var gt=Symbol.for("TypeBox.Transform"),Wn=Symbol.for("TypeBox.Readonly"),pr=Symbol.for("TypeBox.Optional"),Tn=Symbol.for("TypeBox.Hint"),V=Symbol.for("TypeBox.Kind");function Xs(e){return Ge(e)&&e[Wn]==="Readonly"}function Gr(e){return Ge(e)&&e[pr]==="Optional"}function hy(e){return Ce(e,"Any")}function gy(e){return Ce(e,"Argument")}function Xn(e){return Ce(e,"Array")}function Ka(e){return Ce(e,"AsyncIterator")}function qa(e){return Ce(e,"BigInt")}function hi(e){return Ce(e,"Boolean")}function Zn(e){return Ce(e,"Computed")}function Qn(e){return Ce(e,"Constructor")}function F6(e){return Ce(e,"Date")}function Jn(e){return Ce(e,"Function")}function eo(e){return Ce(e,"Integer")}function wt(e){return Ce(e,"Intersect")}function Ha(e){return Ce(e,"Iterator")}function Ce(e,t){return Ge(e)&&V in e&&e[V]===t}function mp(e){return li(e)||an(e)||et(e)}function cn(e){return Ce(e,"Literal")}function un(e){return Ce(e,"MappedKey")}function pt(e){return Ce(e,"MappedResult")}function ta(e){return Ce(e,"Never")}function $6(e){return Ce(e,"Not")}function Bu(e){return Ce(e,"Null")}function to(e){return Ce(e,"Number")}function Rt(e){return Ce(e,"Object")}function Ya(e){return Ce(e,"Promise")}function Wa(e){return Ce(e,"Record")}function Pt(e){return Ce(e,"Ref")}function yy(e){return Ce(e,"RegExp")}function gi(e){return Ce(e,"String")}function Gu(e){return Ce(e,"Symbol")}function fn(e){return Ce(e,"TemplateLiteral")}function D6(e){return Ce(e,"This")}function Ae(e){return Ge(e)&> in e}function ln(e){return Ce(e,"Tuple")}function yi(e){return Ce(e,"Undefined")}function ke(e){return Ce(e,"Union")}function L6(e){return Ce(e,"Uint8Array")}function V6(e){return Ce(e,"Unknown")}function j6(e){return Ce(e,"Unsafe")}function U6(e){return Ce(e,"Void")}function ra(e){return Ge(e)&&V in e&&et(e[V])}function yt(e){return hy(e)||gy(e)||Xn(e)||hi(e)||qa(e)||Ka(e)||Zn(e)||Qn(e)||F6(e)||Jn(e)||eo(e)||wt(e)||Ha(e)||cn(e)||un(e)||pt(e)||ta(e)||$6(e)||Bu(e)||to(e)||Rt(e)||Ya(e)||Wa(e)||Pt(e)||yy(e)||gi(e)||Gu(e)||fn(e)||D6(e)||ln(e)||yi(e)||ke(e)||L6(e)||V6(e)||j6(e)||U6(e)||ra(e)}var k={};Ba(k,{IsAny:()=>y2,IsArgument:()=>b2,IsArray:()=>x2,IsAsyncIterator:()=>w2,IsBigInt:()=>S2,IsBoolean:()=>v2,IsComputed:()=>I2,IsConstructor:()=>_2,IsDate:()=>P2,IsFunction:()=>T2,IsImport:()=>H6,IsInteger:()=>M2,IsIntersect:()=>C2,IsIterator:()=>O2,IsKind:()=>tS,IsKindOf:()=>Pe,IsLiteral:()=>qu,IsLiteralBoolean:()=>Y6,IsLiteralNumber:()=>N2,IsLiteralString:()=>k2,IsLiteralValue:()=>R2,IsMappedKey:()=>E2,IsMappedResult:()=>A2,IsNever:()=>F2,IsNot:()=>$2,IsNull:()=>D2,IsNumber:()=>L2,IsObject:()=>V2,IsOptional:()=>q6,IsPromise:()=>j2,IsProperties:()=>dp,IsReadonly:()=>K6,IsRecord:()=>U2,IsRecursive:()=>W6,IsRef:()=>z2,IsRegExp:()=>B2,IsSchema:()=>Jt,IsString:()=>G2,IsSymbol:()=>K2,IsTemplateLiteral:()=>q2,IsThis:()=>H2,IsTransform:()=>Y2,IsTuple:()=>W2,IsUint8Array:()=>Z2,IsUndefined:()=>X2,IsUnion:()=>Sy,IsUnionLiteral:()=>X6,IsUnknown:()=>Q2,IsUnsafe:()=>J2,IsVoid:()=>eS,TypeGuardUnknownTypeError:()=>by});var by=class extends ge{},z6=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function d2(e){try{return new RegExp(e),!0}catch{return!1}}function xy(e){if(!et(e))return!1;for(let t=0;t=7&&r<=13||r===27||r===127)return!1}return!0}function h2(e){return wy(e)||Jt(e)}function Ku(e){return Nt(e)||ju(e)}function tt(e){return Nt(e)||an(e)}function wy(e){return Nt(e)||li(e)}function Ke(e){return Nt(e)||et(e)}function B6(e){return Nt(e)||et(e)&&xy(e)&&d2(e)}function G6(e){return Nt(e)||et(e)&&xy(e)}function g2(e){return Nt(e)||Jt(e)}function K6(e){return Ge(e)&&e[Wn]==="Readonly"}function q6(e){return Ge(e)&&e[pr]==="Optional"}function y2(e){return Pe(e,"Any")&&Ke(e.$id)}function b2(e){return Pe(e,"Argument")&&an(e.index)}function x2(e){return Pe(e,"Array")&&e.type==="array"&&Ke(e.$id)&&Jt(e.items)&&tt(e.minItems)&&tt(e.maxItems)&&wy(e.uniqueItems)&&g2(e.contains)&&tt(e.minContains)&&tt(e.maxContains)}function w2(e){return Pe(e,"AsyncIterator")&&e.type==="AsyncIterator"&&Ke(e.$id)&&Jt(e.items)}function S2(e){return Pe(e,"BigInt")&&e.type==="bigint"&&Ke(e.$id)&&Ku(e.exclusiveMaximum)&&Ku(e.exclusiveMinimum)&&Ku(e.maximum)&&Ku(e.minimum)&&Ku(e.multipleOf)}function v2(e){return Pe(e,"Boolean")&&e.type==="boolean"&&Ke(e.$id)}function I2(e){return Pe(e,"Computed")&&et(e.target)&&kt(e.parameters)&&e.parameters.every(t=>Jt(t))}function _2(e){return Pe(e,"Constructor")&&e.type==="Constructor"&&Ke(e.$id)&&kt(e.parameters)&&e.parameters.every(t=>Jt(t))&&Jt(e.returns)}function P2(e){return Pe(e,"Date")&&e.type==="Date"&&Ke(e.$id)&&tt(e.exclusiveMaximumTimestamp)&&tt(e.exclusiveMinimumTimestamp)&&tt(e.maximumTimestamp)&&tt(e.minimumTimestamp)&&tt(e.multipleOfTimestamp)}function T2(e){return Pe(e,"Function")&&e.type==="Function"&&Ke(e.$id)&&kt(e.parameters)&&e.parameters.every(t=>Jt(t))&&Jt(e.returns)}function H6(e){return Pe(e,"Import")&&sp(e,"$defs")&&Ge(e.$defs)&&dp(e.$defs)&&sp(e,"$ref")&&et(e.$ref)&&e.$ref in e.$defs}function M2(e){return Pe(e,"Integer")&&e.type==="integer"&&Ke(e.$id)&&tt(e.exclusiveMaximum)&&tt(e.exclusiveMinimum)&&tt(e.maximum)&&tt(e.minimum)&&tt(e.multipleOf)}function dp(e){return Ge(e)&&Object.entries(e).every(([t,r])=>xy(t)&&Jt(r))}function C2(e){return Pe(e,"Intersect")&&!(et(e.type)&&e.type!=="object")&&kt(e.allOf)&&e.allOf.every(t=>Jt(t)&&!Y2(t))&&Ke(e.type)&&(wy(e.unevaluatedProperties)||g2(e.unevaluatedProperties))&&Ke(e.$id)}function O2(e){return Pe(e,"Iterator")&&e.type==="Iterator"&&Ke(e.$id)&&Jt(e.items)}function Pe(e,t){return Ge(e)&&V in e&&e[V]===t}function k2(e){return qu(e)&&et(e.const)}function N2(e){return qu(e)&&an(e.const)}function Y6(e){return qu(e)&&li(e.const)}function qu(e){return Pe(e,"Literal")&&Ke(e.$id)&&R2(e.const)}function R2(e){return li(e)||an(e)||et(e)}function E2(e){return Pe(e,"MappedKey")&&kt(e.keys)&&e.keys.every(t=>an(t)||et(t))}function A2(e){return Pe(e,"MappedResult")&&dp(e.properties)}function F2(e){return Pe(e,"Never")&&Ge(e.not)&&Object.getOwnPropertyNames(e.not).length===0}function $2(e){return Pe(e,"Not")&&Jt(e.not)}function D2(e){return Pe(e,"Null")&&e.type==="null"&&Ke(e.$id)}function L2(e){return Pe(e,"Number")&&e.type==="number"&&Ke(e.$id)&&tt(e.exclusiveMaximum)&&tt(e.exclusiveMinimum)&&tt(e.maximum)&&tt(e.minimum)&&tt(e.multipleOf)}function V2(e){return Pe(e,"Object")&&e.type==="object"&&Ke(e.$id)&&dp(e.properties)&&h2(e.additionalProperties)&&tt(e.minProperties)&&tt(e.maxProperties)}function j2(e){return Pe(e,"Promise")&&e.type==="Promise"&&Ke(e.$id)&&Jt(e.item)}function U2(e){return Pe(e,"Record")&&e.type==="object"&&Ke(e.$id)&&h2(e.additionalProperties)&&Ge(e.patternProperties)&&(t=>{let r=Object.getOwnPropertyNames(t.patternProperties);return r.length===1&&d2(r[0])&&Ge(t.patternProperties)&&Jt(t.patternProperties[r[0]])})(e)}function W6(e){return Ge(e)&&Tn in e&&e[Tn]==="Recursive"}function z2(e){return Pe(e,"Ref")&&Ke(e.$id)&&et(e.$ref)}function B2(e){return Pe(e,"RegExp")&&Ke(e.$id)&&et(e.source)&&et(e.flags)&&tt(e.maxLength)&&tt(e.minLength)}function G2(e){return Pe(e,"String")&&e.type==="string"&&Ke(e.$id)&&tt(e.minLength)&&tt(e.maxLength)&&B6(e.pattern)&&G6(e.format)}function K2(e){return Pe(e,"Symbol")&&e.type==="symbol"&&Ke(e.$id)}function q2(e){return Pe(e,"TemplateLiteral")&&e.type==="string"&&et(e.pattern)&&e.pattern[0]==="^"&&e.pattern[e.pattern.length-1]==="$"}function H2(e){return Pe(e,"This")&&Ke(e.$id)&&et(e.$ref)}function Y2(e){return Ge(e)&> in e}function W2(e){return Pe(e,"Tuple")&&e.type==="array"&&Ke(e.$id)&&an(e.minItems)&&an(e.maxItems)&&e.minItems===e.maxItems&&(Nt(e.items)&&Nt(e.additionalItems)&&e.minItems===0||kt(e.items)&&e.items.every(t=>Jt(t)))}function X2(e){return Pe(e,"Undefined")&&e.type==="undefined"&&Ke(e.$id)}function X6(e){return Sy(e)&&e.anyOf.every(t=>k2(t)||N2(t))}function Sy(e){return Pe(e,"Union")&&Ke(e.$id)&&Ge(e)&&kt(e.anyOf)&&e.anyOf.every(t=>Jt(t))}function Z2(e){return Pe(e,"Uint8Array")&&e.type==="Uint8Array"&&Ke(e.$id)&&tt(e.minByteLength)&&tt(e.maxByteLength)}function Q2(e){return Pe(e,"Unknown")&&Ke(e.$id)}function J2(e){return Pe(e,"Unsafe")}function eS(e){return Pe(e,"Void")&&e.type==="void"&&Ke(e.$id)}function tS(e){return Ge(e)&&V in e&&et(e[V])&&!z6.includes(e[V])}function Jt(e){return Ge(e)&&(y2(e)||b2(e)||x2(e)||v2(e)||S2(e)||w2(e)||I2(e)||_2(e)||P2(e)||T2(e)||M2(e)||C2(e)||O2(e)||qu(e)||E2(e)||A2(e)||F2(e)||$2(e)||D2(e)||L2(e)||V2(e)||j2(e)||U2(e)||z2(e)||B2(e)||G2(e)||K2(e)||q2(e)||H2(e)||W2(e)||X2(e)||Sy(e)||Z2(e)||Q2(e)||J2(e)||eS(e)||tS(e))}var vy="(true|false)",Hu="(0|[1-9][0-9]*)",Iy="(.*)",Z6="(?!.*)",XB=`^${vy}$`,na=`^${Hu}$`,oa=`^${Iy}$`,rS=`^${Z6}$`;var ia={};Ba(ia,{Clear:()=>J6,Delete:()=>e5,Entries:()=>Q6,Get:()=>n5,Has:()=>t5,Set:()=>r5});var Zs=new Map;function Q6(){return new Map(Zs)}function J6(){return Zs.clear()}function e5(e){return Zs.delete(e)}function t5(e){return Zs.has(e)}function r5(e,t){Zs.set(e,t)}function n5(e){return Zs.get(e)}var ro={};Ba(ro,{Clear:()=>i5,Delete:()=>a5,Entries:()=>o5,Get:()=>u5,Has:()=>s5,Set:()=>c5});var Qs=new Map;function o5(){return new Map(Qs)}function i5(){return Qs.clear()}function a5(e){return Qs.delete(e)}function s5(e){return Qs.has(e)}function c5(e,t){Qs.set(e,t)}function u5(e){return Qs.get(e)}function nS(e,t){return e.includes(t)}function oS(e){return[...new Set(e)]}function f5(e,t){return e.filter(r=>t.includes(r))}function l5(e,t){return e.reduce((r,n)=>f5(r,n),t)}function iS(e){return e.length===1?e[0]:e.length>1?l5(e.slice(1),e[0]):[]}function aS(e){let t=[];for(let r of e)t.push(...r);return t}function aa(e){return L({[V]:"Any"},e)}function Js(e,t){return L({[V]:"Array",type:"array",items:e},t)}function sS(e){return L({[V]:"Argument",index:e})}function ec(e,t){return L({[V]:"AsyncIterator",type:"AsyncIterator",items:e},t)}function at(e,t,r){return L({[V]:"Computed",target:e,parameters:t},r)}function p5(e,t){let{[t]:r,...n}=e;return n}function St(e,t){return t.reduce((r,n)=>p5(r,n),e)}function _e(e){return L({[V]:"Never",not:{}},e)}function Ne(e){return L({[V]:"MappedResult",properties:e})}function tc(e,t,r){return L({[V]:"Constructor",type:"Constructor",parameters:e,returns:t},r)}function Ro(e,t,r){return L({[V]:"Function",type:"Function",parameters:e,returns:t},r)}function Yu(e,t){return L({[V]:"Union",anyOf:e},t)}function m5(e){return e.some(t=>Gr(t))}function cS(e){return e.map(t=>Gr(t)?d5(t):t)}function d5(e){return St(e,[pr])}function h5(e,t){return m5(e)?wr(Yu(cS(e),t)):Yu(cS(e),t)}function Eo(e,t){return e.length===1?L(e[0],t):e.length===0?_e(t):h5(e,t)}function Fe(e,t){return e.length===0?_e(t):e.length===1?L(e[0],t):Yu(e,t)}var hp=class extends ge{};function g5(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function _y(e,t,r){return e[t]===r&&e.charCodeAt(t-1)!==92}function xi(e,t){return _y(e,t,"(")}function Wu(e,t){return _y(e,t,")")}function uS(e,t){return _y(e,t,"|")}function y5(e){if(!(xi(e,0)&&Wu(e,e.length-1)))return!1;let t=0;for(let r=0;r0&&n.push(rc(a)),r=i+1}let o=e.slice(r);return o.length>0&&n.push(rc(o)),n.length===0?{type:"const",const:""}:n.length===1?n[0]:{type:"or",expr:n}}function v5(e){function t(o,i){if(!xi(o,i))throw new hp("TemplateLiteralParser: Index must point to open parens");let a=0;for(let s=i;s0&&n.push(rc(s)),o=a-1}return n.length===0?{type:"const",const:""}:n.length===1?n[0]:{type:"and",expr:n}}function rc(e){return y5(e)?rc(b5(e)):x5(e)?S5(e):w5(e)?v5(e):{type:"const",const:g5(e)}}function nc(e){return rc(e.slice(1,e.length-1))}var Py=class extends ge{};function I5(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="0"&&e.expr[1].type==="const"&&e.expr[1].const==="[1-9][0-9]*"}function _5(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type==="const"&&e.expr[0].const==="true"&&e.expr[1].type==="const"&&e.expr[1].const==="false"}function P5(e){return e.type==="const"&&e.const===".*"}function Xa(e){return I5(e)||P5(e)?!1:_5(e)?!0:e.type==="and"?e.expr.every(t=>Xa(t)):e.type==="or"?e.expr.every(t=>Xa(t)):e.type==="const"?!0:(()=>{throw new Py("Unknown expression type")})()}function gp(e){let t=nc(e.pattern);return Xa(t)}var Ty=class extends ge{};function*fS(e){if(e.length===1)return yield*e[0];for(let t of e[0])for(let r of fS(e.slice(1)))yield`${t}${r}`}function*T5(e){return yield*fS(e.expr.map(t=>[...Xu(t)]))}function*M5(e){for(let t of e.expr)yield*Xu(t)}function*C5(e){return yield e.const}function*Xu(e){return e.type==="and"?yield*T5(e):e.type==="or"?yield*M5(e):e.type==="const"?yield*C5(e):(()=>{throw new Ty("Unknown expression")})()}function oc(e){let t=nc(e.pattern);return Xa(t)?[...Xu(t)]:[]}function Oe(e,t){return L({[V]:"Literal",const:e,type:typeof e},t)}function yp(e){return L({[V]:"Boolean",type:"boolean"},e)}function ic(e){return L({[V]:"BigInt",type:"bigint"},e)}function Mn(e){return L({[V]:"Number",type:"number"},e)}function Rr(e){return L({[V]:"String",type:"string"},e)}function*O5(e){let t=e.trim().replace(/"|'/g,"");return t==="boolean"?yield yp():t==="number"?yield Mn():t==="bigint"?yield ic():t==="string"?yield Rr():yield(()=>{let r=t.split("|").map(n=>Oe(n.trim()));return r.length===0?_e():r.length===1?r[0]:Eo(r)})()}function*k5(e){if(e[1]!=="{"){let t=Oe("$"),r=My(e.slice(1));return yield*[t,...r]}for(let t=2;tpS(r,t)).join("|")})`:to(e)?`${t}${Hu}`:eo(e)?`${t}${Hu}`:qa(e)?`${t}${Hu}`:gi(e)?`${t}${Iy}`:cn(e)?`${t}${N5(e.const.toString())}`:hi(e)?`${t}${vy}`:(()=>{throw new Cy(`Unexpected Kind '${e[V]}'`)})()}function Oy(e){return`^${e.map(t=>pS(t,"")).join("")}$`}function Za(e){let r=oc(e).map(n=>Oe(n));return Eo(r)}function bp(e,t){let r=et(e)?Oy(lS(e)):Oy(e);return L({[V]:"TemplateLiteral",type:"string",pattern:r},t)}function R5(e){return oc(e).map(r=>r.toString())}function E5(e){let t=[];for(let r of e)t.push(...Kr(r));return t}function A5(e){return[e.toString()]}function Kr(e){return[...new Set(fn(e)?R5(e):ke(e)?E5(e.anyOf):cn(e)?A5(e.const):to(e)?["[number]"]:eo(e)?["[number]"]:[])]}function F5(e,t,r){let n={};for(let o of Object.getOwnPropertyNames(t))n[o]=sa(e,Kr(t[o]),r);return n}function $5(e,t,r){return F5(e,t.properties,r)}function mS(e,t,r){let n=$5(e,t,r);return Ne(n)}function hS(e,t){return e.map(r=>gS(r,t))}function D5(e){return e.filter(t=>!ta(t))}function L5(e,t){return xp(D5(hS(e,t)))}function V5(e){return e.some(t=>ta(t))?[]:e}function j5(e,t){return Eo(V5(hS(e,t)))}function U5(e,t){return t in e?e[t]:t==="[number]"?Eo(e):_e()}function z5(e,t){return t==="[number]"?e:_e()}function B5(e,t){return t in e?e[t]:_e()}function gS(e,t){return wt(e)?L5(e.allOf,t):ke(e)?j5(e.anyOf,t):ln(e)?U5(e.items??[],t):Xn(e)?z5(e.items,t):Rt(e)?B5(e.properties,t):_e()}function Zu(e,t){return t.map(r=>gS(e,r))}function dS(e,t){return Eo(Zu(e,t))}function sa(e,t,r){if(Pt(e)||Pt(t)){let n="Index types using Ref parameters require both Type and Key to be of TSchema";if(!yt(e)||!yt(t))throw new ge(n);return at("Index",[e,t])}return pt(t)?mS(e,t,r):un(t)?yS(e,t,r):L(yt(t)?dS(e,Kr(t)):dS(e,t),r)}function G5(e,t,r){return{[t]:sa(e,[t],ut(r))}}function K5(e,t,r){return t.reduce((n,o)=>({...n,...G5(e,o,r)}),{})}function q5(e,t,r){return K5(e,t.keys,r)}function yS(e,t,r){let n=q5(e,t,r);return Ne(n)}function ac(e,t){return L({[V]:"Iterator",type:"Iterator",items:e},t)}function H5(e){return globalThis.Object.keys(e).filter(t=>!Gr(e[t]))}function Y5(e,t){let r=H5(e),n=r.length>0?{[V]:"Object",type:"object",required:r,properties:e}:{[V]:"Object",type:"object",properties:e};return L(n,t)}var $e=Y5;function wp(e,t){return L({[V]:"Promise",type:"Promise",item:e},t)}function W5(e){return L(St(e,[Wn]))}function X5(e){return L({...e,[Wn]:"Readonly"})}function Z5(e,t){return t===!1?W5(e):X5(e)}function qr(e,t){let r=t??!0;return pt(e)?bS(e,r):Z5(e,r)}function Q5(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=qr(e[n],t);return r}function J5(e,t){return Q5(e.properties,t)}function bS(e,t){let r=J5(e,t);return Ne(r)}function Cn(e,t){return L(e.length>0?{[V]:"Tuple",type:"array",items:e,additionalItems:!1,minItems:e.length,maxItems:e.length}:{[V]:"Tuple",type:"array",minItems:e.length,maxItems:e.length},t)}function xS(e,t){return e in t?On(e,t[e]):Ne(t)}function eN(e){return{[e]:Oe(e)}}function tN(e){let t={};for(let r of e)t[r]=Oe(r);return t}function rN(e,t){return nS(t,e)?eN(e):tN(t)}function nN(e,t){let r=rN(e,t);return xS(e,r)}function Qu(e,t){return t.map(r=>On(e,r))}function oN(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(t))r[n]=On(e,t[n]);return r}function On(e,t){let r={...t};return Gr(t)?wr(On(e,St(t,[pr]))):Xs(t)?qr(On(e,St(t,[Wn]))):pt(t)?xS(e,t.properties):un(t)?nN(e,t.keys):Qn(t)?tc(Qu(e,t.parameters),On(e,t.returns),r):Jn(t)?Ro(Qu(e,t.parameters),On(e,t.returns),r):Ka(t)?ec(On(e,t.items),r):Ha(t)?ac(On(e,t.items),r):wt(t)?Sr(Qu(e,t.allOf),r):ke(t)?Fe(Qu(e,t.anyOf),r):ln(t)?Cn(Qu(e,t.items??[]),r):Rt(t)?$e(oN(e,t.properties),r):Xn(t)?Js(On(e,t.items),r):Ya(t)?wp(On(e,t.item),r):t}function iN(e,t){let r={};for(let n of e)r[n]=On(n,t);return r}function wS(e,t,r){let n=yt(e)?Kr(e):e,o=t({[V]:"MappedKey",keys:n}),i=iN(n,o);return $e(i,r)}function aN(e){return L(St(e,[pr]))}function sN(e){return L({...e,[pr]:"Optional"})}function cN(e,t){return t===!1?aN(e):sN(e)}function wr(e,t){let r=t??!0;return pt(e)?SS(e,r):cN(e,r)}function uN(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=wr(e[n],t);return r}function fN(e,t){return uN(e.properties,t)}function SS(e,t){let r=fN(e,t);return Ne(r)}function Ju(e,t={}){let r=e.every(o=>Rt(o)),n=yt(t.unevaluatedProperties)?{unevaluatedProperties:t.unevaluatedProperties}:{};return L(t.unevaluatedProperties===!1||yt(t.unevaluatedProperties)||r?{...n,[V]:"Intersect",type:"object",allOf:e}:{...n,[V]:"Intersect",allOf:e},t)}function lN(e){return e.every(t=>Gr(t))}function pN(e){return St(e,[pr])}function vS(e){return e.map(t=>Gr(t)?pN(t):t)}function mN(e,t){return lN(e)?wr(Ju(vS(e),t)):Ju(vS(e),t)}function xp(e,t={}){if(e.length===1)return L(e[0],t);if(e.length===0)return _e(t);if(e.some(r=>Ae(r)))throw new Error("Cannot intersect transform types");return mN(e,t)}function Sr(e,t){if(e.length===1)return L(e[0],t);if(e.length===0)return _e(t);if(e.some(r=>Ae(r)))throw new Error("Cannot intersect transform types");return Ju(e,t)}function Ao(...e){let[t,r]=typeof e[0]=="string"?[e[0],e[1]]:[e[0].$id,e[1]];if(typeof t!="string")throw new ge("Ref: $ref must be a string");return L({[V]:"Ref",$ref:t},r)}function dN(e,t){return at("Awaited",[at(e,t)])}function hN(e){return at("Awaited",[Ao(e)])}function gN(e){return Sr(IS(e))}function yN(e){return Fe(IS(e))}function bN(e){return sc(e)}function IS(e){return e.map(t=>sc(t))}function sc(e,t){return L(Zn(e)?dN(e.target,e.parameters):wt(e)?gN(e.allOf):ke(e)?yN(e.anyOf):Ya(e)?bN(e.item):Pt(e)?hN(e.$ref):e,t)}function _S(e){let t=[];for(let r of e)t.push(Hr(r));return t}function xN(e){let t=_S(e);return aS(t)}function wN(e){let t=_S(e);return iS(t)}function SN(e){return e.map((t,r)=>r.toString())}function vN(e){return["[number]"]}function IN(e){return globalThis.Object.getOwnPropertyNames(e)}function _N(e){return ky?globalThis.Object.getOwnPropertyNames(e).map(r=>r[0]==="^"&&r[r.length-1]==="$"?r.slice(1,r.length-1):r):[]}function Hr(e){return wt(e)?xN(e.allOf):ke(e)?wN(e.anyOf):ln(e)?SN(e.items??[]):Xn(e)?vN(e.items):Rt(e)?IN(e.properties):Wa(e)?_N(e.patternProperties):[]}var ky=!1;function cc(e){ky=!0;let t=Hr(e);return ky=!1,`^(${t.map(n=>`(${n})`).join("|")})$`}function PN(e,t){return at("KeyOf",[at(e,t)])}function TN(e){return at("KeyOf",[Ao(e)])}function MN(e,t){let r=Hr(e),n=CN(r),o=Eo(n);return L(o,t)}function CN(e){return e.map(t=>t==="[number]"?Mn():Oe(t))}function uc(e,t){return Zn(e)?PN(e.target,e.parameters):Pt(e)?TN(e.$ref):pt(e)?PS(e,t):MN(e,t)}function ON(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=uc(e[n],ut(t));return r}function kN(e,t){return ON(e.properties,t)}function PS(e,t){let r=kN(e,t);return Ne(r)}function Sp(e){let t=Hr(e),r=Zu(e,t);return t.map((n,o)=>[t[o],r[o]])}function NN(e){let t=[];for(let r of e)t.push(...Hr(r));return oS(t)}function RN(e){return e.filter(t=>!ta(t))}function EN(e,t){let r=[];for(let n of e)r.push(...Zu(n,[t]));return RN(r)}function AN(e,t){let r={};for(let n of t)r[n]=xp(EN(e,n));return r}function TS(e,t){let r=NN(e),n=AN(e,r);return $e(n,t)}function vp(e){return L({[V]:"Date",type:"Date"},e)}function Ip(e){return L({[V]:"Null",type:"null"},e)}function _p(e){return L({[V]:"Symbol",type:"symbol"},e)}function Pp(e){return L({[V]:"Undefined",type:"undefined"},e)}function Tp(e){return L({[V]:"Uint8Array",type:"Uint8Array"},e)}function no(e){return L({[V]:"Unknown"},e)}function FN(e){return e.map(t=>Ny(t,!1))}function $N(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=qr(Ny(e[r],!1));return t}function Mp(e,t){return t===!0?e:qr(e)}function Ny(e,t){return uy(e)?Mp(aa(),t):ly(e)?Mp(aa(),t):kt(e)?qr(Cn(FN(e))):pi(e)?Tp():Ga(e)?vp():Ge(e)?Mp($e($N(e)),t):fy(e)?Mp(Ro([],no()),t):Nt(e)?Pp():py(e)?Ip():my(e)?_p():ju(e)?ic():an(e)?Oe(e):li(e)?Oe(e):et(e)?Oe(e):$e({})}function MS(e,t){return L(Ny(e,!0),t)}function CS(e,t){return Qn(e)?Cn(e.parameters,t):_e(t)}function OS(e,t){if(Nt(e))throw new Error("Enum undefined or empty");let r=globalThis.Object.getOwnPropertyNames(e).filter(i=>isNaN(i)).map(i=>e[i]),o=[...new Set(r)].map(i=>Oe(i));return Fe(o,{...t,[Tn]:"Enum"})}var Ey=class extends ge{},j;(function(e){e[e.Union=0]="Union",e[e.True=1]="True",e[e.False=2]="False"})(j||(j={}));function kn(e){return e===j.False?e:j.True}function fc(e){throw new Ey(e)}function Ut(e){return k.IsNever(e)||k.IsIntersect(e)||k.IsUnion(e)||k.IsUnknown(e)||k.IsAny(e)}function zt(e,t){return k.IsNever(t)?$S(e,t):k.IsIntersect(t)?Cp(e,t):k.IsUnion(t)?Dy(e,t):k.IsUnknown(t)?jS(e,t):k.IsAny(t)?$y(e,t):fc("StructuralRight")}function $y(e,t){return j.True}function DN(e,t){return k.IsIntersect(t)?Cp(e,t):k.IsUnion(t)&&t.anyOf.some(r=>k.IsAny(r)||k.IsUnknown(r))?j.True:k.IsUnion(t)?j.Union:k.IsUnknown(t)||k.IsAny(t)?j.True:j.Union}function LN(e,t){return k.IsUnknown(e)?j.False:k.IsAny(e)?j.Union:k.IsNever(e)?j.True:j.False}function VN(e,t){return k.IsObject(t)&&Op(t)?j.True:Ut(t)?zt(e,t):k.IsArray(t)?kn(qe(e.items,t.items)):j.False}function jN(e,t){return Ut(t)?zt(e,t):k.IsAsyncIterator(t)?kn(qe(e.items,t.items)):j.False}function UN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsBigInt(t)?j.True:j.False}function AS(e,t){return k.IsLiteralBoolean(e)||k.IsBoolean(e)?j.True:j.False}function zN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsBoolean(t)?j.True:j.False}function BN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsConstructor(t)?e.parameters.length>t.parameters.length?j.False:e.parameters.every((r,n)=>kn(qe(t.parameters[n],r))===j.True)?kn(qe(e.returns,t.returns)):j.False:j.False}function GN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsDate(t)?j.True:j.False}function KN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsFunction(t)?e.parameters.length>t.parameters.length?j.False:e.parameters.every((r,n)=>kn(qe(t.parameters[n],r))===j.True)?kn(qe(e.returns,t.returns)):j.False:j.False}function FS(e,t){return k.IsLiteral(e)&&xr.IsNumber(e.const)||k.IsNumber(e)||k.IsInteger(e)?j.True:j.False}function qN(e,t){return k.IsInteger(t)||k.IsNumber(t)?j.True:Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):j.False}function Cp(e,t){return t.allOf.every(r=>qe(e,r)===j.True)?j.True:j.False}function HN(e,t){return e.allOf.some(r=>qe(r,t)===j.True)?j.True:j.False}function YN(e,t){return Ut(t)?zt(e,t):k.IsIterator(t)?kn(qe(e.items,t.items)):j.False}function WN(e,t){return k.IsLiteral(t)&&t.const===e.const?j.True:Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsString(t)?VS(e,t):k.IsNumber(t)?DS(e,t):k.IsInteger(t)?FS(e,t):k.IsBoolean(t)?AS(e,t):j.False}function $S(e,t){return j.False}function XN(e,t){return j.True}function kS(e){let[t,r]=[e,0];for(;k.IsNot(t);)t=t.not,r+=1;return r%2===0?t:no()}function ZN(e,t){return k.IsNot(e)?qe(kS(e),t):k.IsNot(t)?qe(e,kS(t)):fc("Invalid fallthrough for Not")}function QN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsNull(t)?j.True:j.False}function DS(e,t){return k.IsLiteralNumber(e)||k.IsNumber(e)||k.IsInteger(e)?j.True:j.False}function JN(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsInteger(t)||k.IsNumber(t)?j.True:j.False}function Yr(e,t){return Object.getOwnPropertyNames(e.properties).length===t}function NS(e){return Op(e)}function RS(e){return Yr(e,0)||Yr(e,1)&&"description"in e.properties&&k.IsUnion(e.properties.description)&&e.properties.description.anyOf.length===2&&(k.IsString(e.properties.description.anyOf[0])&&k.IsUndefined(e.properties.description.anyOf[1])||k.IsString(e.properties.description.anyOf[1])&&k.IsUndefined(e.properties.description.anyOf[0]))}function Ry(e){return Yr(e,0)}function ES(e){return Yr(e,0)}function eR(e){return Yr(e,0)}function tR(e){return Yr(e,0)}function rR(e){return Op(e)}function nR(e){let t=Mn();return Yr(e,0)||Yr(e,1)&&"length"in e.properties&&kn(qe(e.properties.length,t))===j.True}function oR(e){return Yr(e,0)}function Op(e){let t=Mn();return Yr(e,0)||Yr(e,1)&&"length"in e.properties&&kn(qe(e.properties.length,t))===j.True}function iR(e){let t=Ro([aa()],aa());return Yr(e,0)||Yr(e,1)&&"then"in e.properties&&kn(qe(e.properties.then,t))===j.True}function LS(e,t){return qe(e,t)===j.False||k.IsOptional(e)&&!k.IsOptional(t)?j.False:j.True}function vr(e,t){return k.IsUnknown(e)?j.False:k.IsAny(e)?j.Union:k.IsNever(e)||k.IsLiteralString(e)&&NS(t)||k.IsLiteralNumber(e)&&Ry(t)||k.IsLiteralBoolean(e)&&ES(t)||k.IsSymbol(e)&&RS(t)||k.IsBigInt(e)&&eR(t)||k.IsString(e)&&NS(t)||k.IsSymbol(e)&&RS(t)||k.IsNumber(e)&&Ry(t)||k.IsInteger(e)&&Ry(t)||k.IsBoolean(e)&&ES(t)||k.IsUint8Array(e)&&rR(t)||k.IsDate(e)&&tR(t)||k.IsConstructor(e)&&oR(t)||k.IsFunction(e)&&nR(t)?j.True:k.IsRecord(e)&&k.IsString(Ay(e))?t[Tn]==="Record"?j.True:j.False:k.IsRecord(e)&&k.IsNumber(Ay(e))?Yr(t,0)?j.True:j.False:j.False}function aR(e,t){return Ut(t)?zt(e,t):k.IsRecord(t)?Nn(e,t):k.IsObject(t)?(()=>{for(let r of Object.getOwnPropertyNames(t.properties)){if(!(r in e.properties)&&!k.IsOptional(t.properties[r]))return j.False;if(k.IsOptional(t.properties[r]))return j.True;if(LS(e.properties[r],t.properties[r])===j.False)return j.False}return j.True})():j.False}function sR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)&&iR(t)?j.True:k.IsPromise(t)?kn(qe(e.item,t.item)):j.False}function Ay(e){return na in e.patternProperties?Mn():oa in e.patternProperties?Rr():fc("Unknown record key pattern")}function Fy(e){return na in e.patternProperties?e.patternProperties[na]:oa in e.patternProperties?e.patternProperties[oa]:fc("Unable to get record value schema")}function Nn(e,t){let[r,n]=[Ay(t),Fy(t)];return k.IsLiteralString(e)&&k.IsNumber(r)&&kn(qe(e,n))===j.True?j.True:k.IsUint8Array(e)&&k.IsNumber(r)||k.IsString(e)&&k.IsNumber(r)||k.IsArray(e)&&k.IsNumber(r)?qe(e,n):k.IsObject(e)?(()=>{for(let o of Object.getOwnPropertyNames(e.properties))if(LS(n,e.properties[o])===j.False)return j.False;return j.True})():j.False}function cR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?qe(Fy(e),Fy(t)):j.False}function uR(e,t){let r=k.IsRegExp(e)?Rr():e,n=k.IsRegExp(t)?Rr():t;return qe(r,n)}function VS(e,t){return k.IsLiteral(e)&&xr.IsString(e.const)||k.IsString(e)?j.True:j.False}function fR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsString(t)?j.True:j.False}function lR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsSymbol(t)?j.True:j.False}function pR(e,t){return k.IsTemplateLiteral(e)?qe(Za(e),t):k.IsTemplateLiteral(t)?qe(e,Za(t)):fc("Invalid fallthrough for TemplateLiteral")}function mR(e,t){return k.IsArray(t)&&e.items!==void 0&&e.items.every(r=>qe(r,t.items)===j.True)}function dR(e,t){return k.IsNever(e)?j.True:k.IsUnknown(e)?j.False:k.IsAny(e)?j.Union:j.False}function hR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)&&Op(t)||k.IsArray(t)&&mR(e,t)?j.True:k.IsTuple(t)?xr.IsUndefined(e.items)&&!xr.IsUndefined(t.items)||!xr.IsUndefined(e.items)&&xr.IsUndefined(t.items)?j.False:xr.IsUndefined(e.items)&&!xr.IsUndefined(t.items)||e.items.every((r,n)=>qe(r,t.items[n])===j.True)?j.True:j.False:j.False}function gR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsUint8Array(t)?j.True:j.False}function yR(e,t){return Ut(t)?zt(e,t):k.IsObject(t)?vr(e,t):k.IsRecord(t)?Nn(e,t):k.IsVoid(t)?wR(e,t):k.IsUndefined(t)?j.True:j.False}function Dy(e,t){return t.anyOf.some(r=>qe(e,r)===j.True)?j.True:j.False}function bR(e,t){return e.anyOf.every(r=>qe(r,t)===j.True)?j.True:j.False}function jS(e,t){return j.True}function xR(e,t){return k.IsNever(t)?$S(e,t):k.IsIntersect(t)?Cp(e,t):k.IsUnion(t)?Dy(e,t):k.IsAny(t)?$y(e,t):k.IsString(t)?VS(e,t):k.IsNumber(t)?DS(e,t):k.IsInteger(t)?FS(e,t):k.IsBoolean(t)?AS(e,t):k.IsArray(t)?LN(e,t):k.IsTuple(t)?dR(e,t):k.IsObject(t)?vr(e,t):k.IsUnknown(t)?j.True:j.False}function wR(e,t){return k.IsUndefined(e)||k.IsUndefined(e)?j.True:j.False}function SR(e,t){return k.IsIntersect(t)?Cp(e,t):k.IsUnion(t)?Dy(e,t):k.IsUnknown(t)?jS(e,t):k.IsAny(t)?$y(e,t):k.IsObject(t)?vr(e,t):k.IsVoid(t)?j.True:j.False}function qe(e,t){return k.IsTemplateLiteral(e)||k.IsTemplateLiteral(t)?pR(e,t):k.IsRegExp(e)||k.IsRegExp(t)?uR(e,t):k.IsNot(e)||k.IsNot(t)?ZN(e,t):k.IsAny(e)?DN(e,t):k.IsArray(e)?VN(e,t):k.IsBigInt(e)?UN(e,t):k.IsBoolean(e)?zN(e,t):k.IsAsyncIterator(e)?jN(e,t):k.IsConstructor(e)?BN(e,t):k.IsDate(e)?GN(e,t):k.IsFunction(e)?KN(e,t):k.IsInteger(e)?qN(e,t):k.IsIntersect(e)?HN(e,t):k.IsIterator(e)?YN(e,t):k.IsLiteral(e)?WN(e,t):k.IsNever(e)?XN(e,t):k.IsNull(e)?QN(e,t):k.IsNumber(e)?JN(e,t):k.IsObject(e)?aR(e,t):k.IsRecord(e)?cR(e,t):k.IsString(e)?fR(e,t):k.IsSymbol(e)?lR(e,t):k.IsTuple(e)?hR(e,t):k.IsPromise(e)?sR(e,t):k.IsUint8Array(e)?gR(e,t):k.IsUndefined(e)?yR(e,t):k.IsUnion(e)?bR(e,t):k.IsUnknown(e)?xR(e,t):k.IsVoid(e)?SR(e,t):fc(`Unknown left type operand '${e[V]}'`)}function ca(e,t){return qe(e,t)}function vR(e,t,r,n,o){let i={};for(let a of globalThis.Object.getOwnPropertyNames(e))i[a]=lc(e[a],t,r,n,ut(o));return i}function IR(e,t,r,n,o){return vR(e.properties,t,r,n,o)}function US(e,t,r,n,o){let i=IR(e,t,r,n,o);return Ne(i)}function _R(e,t,r,n){let o=ca(e,t);return o===j.Union?Fe([r,n]):o===j.True?r:n}function lc(e,t,r,n,o){return pt(e)?US(e,t,r,n,o):un(e)?L(zS(e,t,r,n,o)):L(_R(e,t,r,n),o)}function PR(e,t,r,n,o){return{[e]:lc(Oe(e),t,r,n,ut(o))}}function TR(e,t,r,n,o){return e.reduce((i,a)=>({...i,...PR(a,t,r,n,o)}),{})}function MR(e,t,r,n,o){return TR(e.keys,t,r,n,o)}function zS(e,t,r,n,o){let i=MR(e,t,r,n,o);return Ne(i)}function CR(e){return e.allOf.every(t=>Qa(t))}function OR(e){return e.anyOf.some(t=>Qa(t))}function kR(e){return!Qa(e.not)}function Qa(e){return e[V]==="Intersect"?CR(e):e[V]==="Union"?OR(e):e[V]==="Not"?kR(e):e[V]==="Undefined"}function BS(e,t){return pc(Za(e),t)}function NR(e,t){let r=e.filter(n=>ca(n,t)===j.False);return r.length===1?r[0]:Fe(r)}function pc(e,t,r={}){return fn(e)?L(BS(e,t),r):pt(e)?L(GS(e,t),r):L(ke(e)?NR(e.anyOf,t):ca(e,t)!==j.False?_e():e,r)}function RR(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=pc(e[n],t);return r}function ER(e,t){return RR(e.properties,t)}function GS(e,t){let r=ER(e,t);return Ne(r)}function KS(e,t){return mc(Za(e),t)}function AR(e,t){let r=e.filter(n=>ca(n,t)!==j.False);return r.length===1?r[0]:Fe(r)}function mc(e,t,r){return fn(e)?L(KS(e,t),r):pt(e)?L(qS(e,t),r):L(ke(e)?AR(e.anyOf,t):ca(e,t)!==j.False?e:_e(),r)}function FR(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=mc(e[n],t);return r}function $R(e,t){return FR(e.properties,t)}function qS(e,t){let r=$R(e,t);return Ne(r)}function HS(e,t){return Qn(e)?L(e.returns,t):_e(t)}function kp(e){return qr(wr(e))}function Ja(e,t,r){return L({[V]:"Record",type:"object",patternProperties:{[e]:t}},r)}function Ly(e,t,r){let n={};for(let o of e)n[o]=t;return $e(n,{...r,[Tn]:"Record"})}function DR(e,t,r){return gp(e)?Ly(Kr(e),t,r):Ja(e.pattern,t,r)}function LR(e,t,r){return Ly(Kr(Fe(e)),t,r)}function VR(e,t,r){return Ly([e.toString()],t,r)}function jR(e,t,r){return Ja(e.source,t,r)}function UR(e,t,r){let n=Nt(e.pattern)?oa:e.pattern;return Ja(n,t,r)}function zR(e,t,r){return Ja(oa,t,r)}function BR(e,t,r){return Ja(rS,t,r)}function GR(e,t,r){return $e({true:t,false:t},r)}function KR(e,t,r){return Ja(na,t,r)}function qR(e,t,r){return Ja(na,t,r)}function Np(e,t,r={}){return ke(e)?LR(e.anyOf,t,r):fn(e)?DR(e,t,r):cn(e)?VR(e.const,t,r):hi(e)?GR(e,t,r):eo(e)?KR(e,t,r):to(e)?qR(e,t,r):yy(e)?jR(e,t,r):gi(e)?UR(e,t,r):hy(e)?zR(e,t,r):ta(e)?BR(e,t,r):_e(r)}function Rp(e){return globalThis.Object.getOwnPropertyNames(e.patternProperties)[0]}function YS(e){let t=Rp(e);return t===oa?Rr():t===na?Mn():Rr({pattern:t})}function Ep(e){return e.patternProperties[Rp(e)]}function HR(e,t){return t.parameters=ef(e,t.parameters),t.returns=oo(e,t.returns),t}function YR(e,t){return t.parameters=ef(e,t.parameters),t.returns=oo(e,t.returns),t}function WR(e,t){return t.allOf=ef(e,t.allOf),t}function XR(e,t){return t.anyOf=ef(e,t.anyOf),t}function ZR(e,t){return Nt(t.items)||(t.items=ef(e,t.items)),t}function QR(e,t){return t.items=oo(e,t.items),t}function JR(e,t){return t.items=oo(e,t.items),t}function e8(e,t){return t.items=oo(e,t.items),t}function t8(e,t){return t.item=oo(e,t.item),t}function r8(e,t){let r=a8(e,t.properties);return{...t,...$e(r)}}function n8(e,t){let r=oo(e,YS(t)),n=oo(e,Ep(t)),o=Np(r,n);return{...t,...o}}function o8(e,t){return t.index in e?e[t.index]:no()}function i8(e,t){let r=Xs(t),n=Gr(t),o=oo(e,t);return r&&n?kp(o):r&&!n?qr(o):!r&&n?wr(o):o}function a8(e,t){return globalThis.Object.getOwnPropertyNames(t).reduce((r,n)=>({...r,[n]:i8(e,t[n])}),{})}function ef(e,t){return t.map(r=>oo(e,r))}function oo(e,t){return Qn(t)?HR(e,t):Jn(t)?YR(e,t):wt(t)?WR(e,t):ke(t)?XR(e,t):ln(t)?ZR(e,t):Xn(t)?QR(e,t):Ka(t)?JR(e,t):Ha(t)?e8(e,t):Ya(t)?t8(e,t):Rt(t)?r8(e,t):Wa(t)?n8(e,t):gy(t)?o8(e,t):t}function WS(e,t){return oo(t,Ys(e))}function XS(e){return L({[V]:"Integer",type:"integer"},e)}function s8(e,t,r){return{[e]:io(Oe(e),t,ut(r))}}function c8(e,t,r){return e.reduce((o,i)=>({...o,...s8(i,t,r)}),{})}function u8(e,t,r){return c8(e.keys,t,r)}function ZS(e,t,r){let n=u8(e,t,r);return Ne(n)}function f8(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(),r].join("")}function l8(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(),r].join("")}function p8(e){return e.toUpperCase()}function m8(e){return e.toLowerCase()}function d8(e,t,r){let n=nc(e.pattern);if(!Xa(n))return{...e,pattern:QS(e.pattern,t)};let a=[...Xu(n)].map(u=>Oe(u)),s=JS(a,t),c=Fe(s);return bp([c],r)}function QS(e,t){return typeof e=="string"?t==="Uncapitalize"?f8(e):t==="Capitalize"?l8(e):t==="Uppercase"?p8(e):t==="Lowercase"?m8(e):e:e.toString()}function JS(e,t){return e.map(r=>io(r,t))}function io(e,t,r={}){return un(e)?ZS(e,t,r):fn(e)?d8(e,t,r):ke(e)?Fe(JS(e.anyOf,t),r):cn(e)?Oe(QS(e.const,t),r):L(e,r)}function ev(e,t={}){return io(e,"Capitalize",t)}function tv(e,t={}){return io(e,"Lowercase",t)}function rv(e,t={}){return io(e,"Uncapitalize",t)}function nv(e,t={}){return io(e,"Uppercase",t)}function h8(e,t,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=ua(e[o],t,ut(r));return n}function g8(e,t,r){return h8(e.properties,t,r)}function ov(e,t,r){let n=g8(e,t,r);return Ne(n)}function y8(e,t){return e.map(r=>Vy(r,t))}function b8(e,t){return e.map(r=>Vy(r,t))}function x8(e,t){let{[t]:r,...n}=e;return n}function w8(e,t){return t.reduce((r,n)=>x8(r,n),e)}function S8(e,t,r){let n=St(e,[gt,"$id","required","properties"]),o=w8(r,t);return $e(o,n)}function v8(e){let t=e.reduce((r,n)=>mp(n)?[...r,Oe(n)]:r,[]);return Fe(t)}function Vy(e,t){return wt(e)?Sr(y8(e.allOf,t)):ke(e)?Fe(b8(e.anyOf,t)):Rt(e)?S8(e,t,e.properties):$e({})}function ua(e,t,r){let n=kt(t)?v8(t):t,o=yt(t)?Kr(t):t,i=Pt(e),a=Pt(t);return pt(e)?ov(e,o,r):un(t)?iv(e,t,r):i&&a?at("Omit",[e,n],r):!i&&a?at("Omit",[e,n],r):i&&!a?at("Omit",[e,n],r):L({...Vy(e,o),...r})}function I8(e,t,r){return{[t]:ua(e,[t],ut(r))}}function _8(e,t,r){return t.reduce((n,o)=>({...n,...I8(e,o,r)}),{})}function P8(e,t,r){return _8(e,t.keys,r)}function iv(e,t,r){let n=P8(e,t,r);return Ne(n)}function T8(e,t,r){let n={};for(let o of globalThis.Object.getOwnPropertyNames(e))n[o]=fa(e[o],t,ut(r));return n}function M8(e,t,r){return T8(e.properties,t,r)}function av(e,t,r){let n=M8(e,t,r);return Ne(n)}function C8(e,t){return e.map(r=>jy(r,t))}function O8(e,t){return e.map(r=>jy(r,t))}function k8(e,t){let r={};for(let n of t)n in e&&(r[n]=e[n]);return r}function N8(e,t,r){let n=St(e,[gt,"$id","required","properties"]),o=k8(r,t);return $e(o,n)}function R8(e){let t=e.reduce((r,n)=>mp(n)?[...r,Oe(n)]:r,[]);return Fe(t)}function jy(e,t){return wt(e)?Sr(C8(e.allOf,t)):ke(e)?Fe(O8(e.anyOf,t)):Rt(e)?N8(e,t,e.properties):$e({})}function fa(e,t,r){let n=kt(t)?R8(t):t,o=yt(t)?Kr(t):t,i=Pt(e),a=Pt(t);return pt(e)?av(e,o,r):un(t)?sv(e,t,r):i&&a?at("Pick",[e,n],r):!i&&a?at("Pick",[e,n],r):i&&!a?at("Pick",[e,n],r):L({...jy(e,o),...r})}function E8(e,t,r){return{[t]:fa(e,[t],ut(r))}}function A8(e,t,r){return t.reduce((n,o)=>({...n,...E8(e,o,r)}),{})}function F8(e,t,r){return A8(e,t.keys,r)}function sv(e,t,r){let n=F8(e,t,r);return Ne(n)}function $8(e,t){return at("Partial",[at(e,t)])}function D8(e){return at("Partial",[Ao(e)])}function L8(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=wr(e[r]);return t}function V8(e,t){let r=St(e,[gt,"$id","required","properties"]),n=L8(t);return $e(n,r)}function cv(e){return e.map(t=>uv(t))}function uv(e){return Zn(e)?$8(e.target,e.parameters):Pt(e)?D8(e.$ref):wt(e)?Sr(cv(e.allOf)):ke(e)?Fe(cv(e.anyOf)):Rt(e)?V8(e,e.properties):qa(e)||hi(e)||eo(e)||cn(e)||Bu(e)||to(e)||gi(e)||Gu(e)||yi(e)?e:$e({})}function dc(e,t){return pt(e)?fv(e,t):L({...uv(e),...t})}function j8(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=dc(e[n],ut(t));return r}function U8(e,t){return j8(e.properties,t)}function fv(e,t){let r=U8(e,t);return Ne(r)}function z8(e,t){return at("Required",[at(e,t)])}function B8(e){return at("Required",[Ao(e)])}function G8(e){let t={};for(let r of globalThis.Object.getOwnPropertyNames(e))t[r]=St(e[r],[pr]);return t}function K8(e,t){let r=St(e,[gt,"$id","required","properties"]),n=G8(t);return $e(n,r)}function lv(e){return e.map(t=>pv(t))}function pv(e){return Zn(e)?z8(e.target,e.parameters):Pt(e)?B8(e.$ref):wt(e)?Sr(lv(e.allOf)):ke(e)?Fe(lv(e.anyOf)):Rt(e)?K8(e,e.properties):qa(e)||hi(e)||eo(e)||cn(e)||Bu(e)||to(e)||gi(e)||Gu(e)||yi(e)?e:$e({})}function hc(e,t){return pt(e)?mv(e,t):L({...pv(e),...t})}function q8(e,t){let r={};for(let n of globalThis.Object.getOwnPropertyNames(e))r[n]=hc(e[n],t);return r}function H8(e,t){return q8(e.properties,t)}function mv(e,t){let r=H8(e,t);return Ne(r)}function Y8(e,t){return t.map(r=>Pt(r)?Uy(e,r.$ref):pn(e,r))}function Uy(e,t){return t in e?Pt(e[t])?Uy(e,e[t].$ref):pn(e,e[t]):_e()}function W8(e){return sc(e[0])}function X8(e){return sa(e[0],e[1])}function Z8(e){return uc(e[0])}function Q8(e){return dc(e[0])}function J8(e){return ua(e[0],e[1])}function e3(e){return fa(e[0],e[1])}function t3(e){return hc(e[0])}function r3(e,t,r){let n=Y8(e,r);return t==="Awaited"?W8(n):t==="Index"?X8(n):t==="KeyOf"?Z8(n):t==="Partial"?Q8(n):t==="Omit"?J8(n):t==="Pick"?e3(n):t==="Required"?t3(n):_e()}function n3(e,t){return Js(pn(e,t))}function o3(e,t){return ec(pn(e,t))}function i3(e,t,r){return tc(tf(e,t),pn(e,r))}function a3(e,t,r){return Ro(tf(e,t),pn(e,r))}function s3(e,t){return Sr(tf(e,t))}function c3(e,t){return ac(pn(e,t))}function u3(e,t){return $e(globalThis.Object.keys(t).reduce((r,n)=>({...r,[n]:pn(e,t[n])}),{}))}function f3(e,t){let[r,n]=[pn(e,Ep(t)),Rp(t)],o=Ys(t);return o.patternProperties[n]=r,o}function l3(e,t){return Pt(t)?{...Uy(e,t.$ref),[gt]:t[gt]}:t}function p3(e,t){return Cn(tf(e,t))}function m3(e,t){return Fe(tf(e,t))}function tf(e,t){return t.map(r=>pn(e,r))}function pn(e,t){return Gr(t)?L(pn(e,St(t,[pr])),t):Xs(t)?L(pn(e,St(t,[Wn])),t):Ae(t)?L(l3(e,t),t):Xn(t)?L(n3(e,t.items),t):Ka(t)?L(o3(e,t.items),t):Zn(t)?L(r3(e,t.target,t.parameters)):Qn(t)?L(i3(e,t.parameters,t.returns),t):Jn(t)?L(a3(e,t.parameters,t.returns),t):wt(t)?L(s3(e,t.allOf),t):Ha(t)?L(c3(e,t.items),t):Rt(t)?L(u3(e,t.properties),t):Wa(t)?L(f3(e,t)):ln(t)?L(p3(e,t.items||[]),t):ke(t)?L(m3(e,t.anyOf),t):t}function d3(e,t){return t in e?pn(e,e[t]):_e()}function dv(e){return globalThis.Object.getOwnPropertyNames(e).reduce((t,r)=>({...t,[r]:d3(e,r)}),{})}var zy=class{constructor(t){let r=dv(t),n=this.WithIdentifiers(r);this.$defs=n}Import(t,r){let n={...this.$defs,[t]:L(this.$defs[t],r)};return L({[V]:"Import",$defs:n,$ref:t})}WithIdentifiers(t){return globalThis.Object.getOwnPropertyNames(t).reduce((r,n)=>({...r,[n]:{...t[n],$id:n}}),{})}};function hv(e){return new zy(e)}function gv(e,t){return L({[V]:"Not",not:e},t)}function yv(e,t){return Jn(e)?Cn(e.parameters,t):_e()}var h3=0;function bv(e,t={}){Nt(t.$id)&&(t.$id=`T${h3++}`);let r=Ys(e({[V]:"This",$ref:`${t.$id}`}));return r.$id=t.$id,L({[Tn]:"Recursive",...r},t)}function xv(e,t){let r=et(e)?new globalThis.RegExp(e):e;return L({[V]:"RegExp",type:"RegExp",source:r.source,flags:r.flags},t)}function g3(e){return wt(e)?e.allOf:ke(e)?e.anyOf:ln(e)?e.items??[]:[]}function wv(e){return g3(e)}function Sv(e,t){return Jn(e)?L(e.returns,t):_e(t)}var By=class{constructor(t){this.schema=t}Decode(t){return new Gy(this.schema,t)}},Gy=class{constructor(t,r){this.schema=t,this.decode=r}EncodeTransform(t,r){let i={Encode:a=>r[gt].Encode(t(a)),Decode:a=>this.decode(r[gt].Decode(a))};return{...r,[gt]:i}}EncodeSchema(t,r){let n={Decode:this.decode,Encode:t};return{...r,[gt]:n}}Encode(t){return Ae(this.schema)?this.EncodeTransform(t,this.schema):this.EncodeSchema(t,this.schema)}};function vv(e){return new By(e)}function Iv(e={}){return L({[V]:e[V]??"Unsafe"},e)}function _v(e){return L({[V]:"Void",type:"void"},e)}var Ky={};Ba(Ky,{Any:()=>aa,Argument:()=>sS,Array:()=>Js,AsyncIterator:()=>ec,Awaited:()=>sc,BigInt:()=>ic,Boolean:()=>yp,Capitalize:()=>ev,Composite:()=>TS,Const:()=>MS,Constructor:()=>tc,ConstructorParameters:()=>CS,Date:()=>vp,Enum:()=>OS,Exclude:()=>pc,Extends:()=>lc,Extract:()=>mc,Function:()=>Ro,Index:()=>sa,InstanceType:()=>HS,Instantiate:()=>WS,Integer:()=>XS,Intersect:()=>Sr,Iterator:()=>ac,KeyOf:()=>uc,Literal:()=>Oe,Lowercase:()=>tv,Mapped:()=>wS,Module:()=>hv,Never:()=>_e,Not:()=>gv,Null:()=>Ip,Number:()=>Mn,Object:()=>$e,Omit:()=>ua,Optional:()=>wr,Parameters:()=>yv,Partial:()=>dc,Pick:()=>fa,Promise:()=>wp,Readonly:()=>qr,ReadonlyOptional:()=>kp,Record:()=>Np,Recursive:()=>bv,Ref:()=>Ao,RegExp:()=>xv,Required:()=>hc,Rest:()=>wv,ReturnType:()=>Sv,String:()=>Rr,Symbol:()=>_p,TemplateLiteral:()=>bp,Transform:()=>vv,Tuple:()=>Cn,Uint8Array:()=>Tp,Uncapitalize:()=>rv,Undefined:()=>Pp,Union:()=>Fe,Unknown:()=>no,Unsafe:()=>Iv,Uppercase:()=>nv,Void:()=>_v});var d=Ky;var ao=d.Object({label:d.String(),domain:d.Optional(d.Tuple([d.Number(),d.Number()]))}),rf=d.Object({type:d.Union([d.Literal("identity"),d.Literal("horizontal"),d.Literal("vertical")]),value:d.Optional(d.Number())}),yee=d.Object({schemaVersion:d.Literal("1.0"),title:d.Optional(d.String()),xAxis:ao,yAxis:ao,references:d.Optional(d.Array(rf))});var y3=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number({minimum:0,maximum:1}),method:d.Union([d.Literal("discrete"),d.Literal("smooth")]),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),b3=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),midpoint:d.Number({minimum:0,maximum:1}),count:d.Number({minimum:0}),binWidth:d.Number({exclusiveMinimum:0,maximum:1})}),qy=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("calibration"),data:d.Array(y3),distribution:d.Optional(d.Array(b3)),x:d.Literal("predicted"),y:d.Literal("observed"),xAxis:ao,yAxis:ao,references:d.Optional(d.Array(rf))});var x3=d.Object({model:d.String(),population:d.Optional(d.String()),horizon:d.Optional(d.Number()),cutoff:d.Number(),sensitivity:d.Number({minimum:0,maximum:1}),specificity:d.Number({minimum:0,maximum:1})}),Hy=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("roc"),data:d.Array(x3),x:d.Literal("false_positive_rate"),y:d.Literal("sensitivity"),xAxis:ao,yAxis:ao,references:d.Optional(d.Array(rf))});var w3=d.Union([Hy,qy],{$id:"https://rtichoke.dev/schema/viz/1.0.json",title:"rtichoke visualization specification"});var Er=d.Object({id:d.String(),model:d.Optional(d.String()),population:d.String(),label:d.Optional(d.String())}),Pv=d.Union([d.Literal("model"),d.Literal("population"),d.Literal("evaluation"),d.Literal("context")]),Tv=d.Object({label:d.String(),group:d.String(),role:Pv}),gc=d.Object({id:d.String(),evaluationId:d.String(),horizon:d.Optional(d.Number({minimum:0})),display:Tv}),S3=d.Object({x:d.Number(),y:d.Number()}),Yy=d.Union([d.Object({type:d.Literal("identity"),label:d.Optional(d.String())}),d.Object({type:d.Literal("horizontal"),value:d.Number(),label:d.Optional(d.String())}),d.Object({type:d.Literal("vertical"),value:d.Number(),label:d.Optional(d.String())}),d.Object({type:d.Literal("path"),points:d.Array(S3,{minItems:2}),label:d.Optional(d.String())})]),v3=d.Intersect([Yy,d.Object({scope:d.Literal("global")})]),I3=d.Intersect([Yy,d.Object({scope:d.Literal("population"),population:d.String()})]),_3=d.Intersect([Yy,d.Object({scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),Mv=d.Union([v3,I3,_3]),Wr=d.Object({schemaVersion:d.Literal("2.0"),title:d.Optional(d.String()),evaluations:d.Array(Er),series:d.Array(gc),xAxis:ao,yAxis:ao,references:d.Optional(d.Array(Mv))}),nf=d.Union([d.Literal("probability_threshold"),d.Literal("ppcr")]),wi=d.Object({operatingPoint:d.Optional(d.Object({dimension:nf}))}),Ap=d.Object({operatingPoint:d.Optional(d.Object({dimension:d.Literal("probability_threshold")}))});var Cv=d.Object({seriesId:d.String(),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number({minimum:0,maximum:1}),method:d.Literal("discrete"),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),Ov=d.Object({seriesId:d.String(),predicted:d.Number({minimum:0,maximum:1}),observed:d.Number(),method:d.Literal("smooth"),events:d.Optional(d.Number({minimum:0})),total:d.Optional(d.Number({minimum:0}))}),kv=d.Union([Cv,Ov]),P3=d.Object({seriesId:d.String(),midpoint:d.Number({minimum:0,maximum:1}),count:d.Number({minimum:0}),binWidth:d.Number({exclusiveMinimum:0,maximum:1})}),Wy=d.Intersect([Wr,d.Object({type:d.Literal("calibration"),data:d.Array(kv),distribution:d.Optional(d.Array(P3)),x:d.Literal("predicted"),y:d.Literal("observed")})]);var Xy=d.Union([d.Literal("true_positives"),d.Literal("true_negatives"),d.Literal("false_positives"),d.Literal("false_negatives"),d.Literal("sensitivity"),d.Literal("specificity"),d.Literal("false_positive_rate"),d.Literal("ppv"),d.Literal("npv"),d.Literal("lift"),d.Literal("predicted_positives"),d.Literal("ppcr"),d.Literal("net_benefit"),d.Literal("net_benefit_interventions_avoided")]),Nv=d.Object({id:Xy,label:d.String()}),Ir=d.Object({metricId:Xy,estimate:d.Union([d.Number(),d.Null()]),lower:d.Optional(d.Union([d.Number(),d.Null()])),upper:d.Optional(d.Union([d.Number(),d.Null()]))}),Rv=d.Union([d.Object({type:d.Literal("probability_threshold"),value:d.Number()}),d.Object({type:d.Literal("ppcr"),value:d.Number({minimum:0,maximum:1})})]),Ev=d.Object({censoringHeuristic:d.Optional(d.String()),competingEventHeuristic:d.Optional(d.String())}),Av=d.Object({evaluationId:d.String(),horizon:d.Optional(d.Number({minimum:0})),operatingPoint:Rv,context:d.Optional(Ev),values:d.Array(Ir)}),Zy=d.Object({schemaVersion:d.Literal("2.0"),type:d.Literal("performance_table"),title:d.Optional(d.String()),evaluations:d.Array(Er),metrics:d.Array(Nv),rows:d.Array(Av)});var $v=d.Object({seriesId:d.String(),threshold:d.Number({minimum:0,maximum:1}),netBenefit:d.Number(),performance:d.Optional(d.Array(Ir))}),Dv=d.Intersect([Er,d.Object({id:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),Lv=d.Intersect([gc,d.Object({id:d.String({pattern:"^series-[1-9][0-9]*$"}),evaluationId:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),Vv=d.Object({type:d.Literal("horizontal"),value:d.Literal(0),label:d.Optional(d.String()),scope:d.Literal("global"),benchmark:d.Literal("treat_none")}),Fv={type:d.Literal("path"),points:d.Array(d.Object({x:d.Number(),y:d.Number()}),{minItems:2}),label:d.Optional(d.String()),benchmark:d.Literal("treat_all")},jv=d.Union([d.Object({...Fv,scope:d.Literal("population"),population:d.String()}),d.Object({...Fv,scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),Uv=d.Union([Vv,jv]),Qy=d.Intersect([Wr,Ap,d.Object({type:d.Literal("decision_curve"),evaluations:d.Array(Dv,{minItems:1}),series:d.Array(Lv,{minItems:1}),data:d.Array($v),x:d.Literal("threshold"),y:d.Literal("netBenefit"),references:d.Array(Uv,{minItems:2})})]);var T3=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Number({minimum:0,maximum:1}),sensitivity:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(Ir))}),Jy=d.Intersect([Wr,wi,d.Object({type:d.Literal("gains"),data:d.Array(T3),x:d.Literal("ppcr"),y:d.Literal("sensitivity")})]);var Bv=d.Object({seriesId:d.String(),threshold:d.Number({minimum:0,maximum:1}),interventionsAvoided:d.Number(),performance:d.Optional(d.Array(Ir))}),Gv=d.Intersect([Er,d.Object({id:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),Kv=d.Intersect([gc,d.Object({id:d.String({pattern:"^series-[1-9][0-9]*$"}),evaluationId:d.String({pattern:"^evaluation-[1-9][0-9]*$"})})]),qv=d.Object({type:d.Literal("horizontal"),value:d.Literal(0),label:d.Optional(d.String()),scope:d.Literal("global"),benchmark:d.Literal("treat_all")}),zv={type:d.Literal("path"),points:d.Array(d.Object({x:d.Number(),y:d.Number()}),{minItems:2}),label:d.Optional(d.String()),benchmark:d.Literal("treat_none")},Hv=d.Union([d.Object({...zv,scope:d.Literal("population"),population:d.String()}),d.Object({...zv,scope:d.Literal("population_horizon"),population:d.String(),horizon:d.Number({minimum:0})})]),Yv=d.Union([qv,Hv]),eb=d.Intersect([Wr,Ap,d.Object({type:d.Literal("interventions_avoided"),evaluations:d.Array(Gv,{minItems:1}),series:d.Array(Kv,{minItems:1}),data:d.Array(Bv),x:d.Literal("threshold"),y:d.Literal("interventionsAvoided"),references:d.Array(Yv,{minItems:2})})]);var M3=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Number({minimum:0,maximum:1}),lift:d.Number(),performance:d.Optional(d.Array(Ir))}),tb=d.Intersect([Wr,wi,d.Object({type:d.Literal("lift"),data:d.Array(M3),x:d.Literal("ppcr"),y:d.Literal("lift")})]);var C3=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Optional(d.Number({minimum:0,maximum:1})),sensitivity:d.Number({minimum:0,maximum:1}),ppv:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(Ir))}),rb=d.Intersect([Wr,wi,d.Object({type:d.Literal("precision_recall"),data:d.Array(C3),x:d.Literal("sensitivity"),y:d.Literal("ppv")})]);var Wv=d.Object({stateId:d.String(),label:d.Optional(d.String()),estimate:d.Optional(d.Union([d.Number(),d.Null()])),mass:d.Optional(d.Union([d.Number(),d.Null()])),count:d.Optional(d.Union([d.Integer(),d.Null()])),lower:d.Optional(d.Union([d.Number(),d.Null()])),upper:d.Optional(d.Union([d.Number(),d.Null()]))}),Xv=d.Object({type:d.String(),lower:d.Optional(d.Union([d.Number(),d.Null()])),upper:d.Optional(d.Union([d.Number(),d.Null()])),includeLower:d.Optional(d.Boolean()),includeUpper:d.Optional(d.Boolean()),rankLower:d.Optional(d.Union([d.Number(),d.Null()])),rankUpper:d.Optional(d.Union([d.Number(),d.Null()])),operatingPointType:d.Optional(d.String()),cutoff:d.Optional(d.Union([d.Number(),d.Null()])),value:d.Optional(d.Union([d.Number(),d.Null()])),realizedPpcr:d.Optional(d.Union([d.Number(),d.Null()]))}),of=d.Object({evaluationId:d.String(),horizon:d.Optional(d.Union([d.Number(),d.Null()])),estimator:d.String(),estimateOrigin:d.Optional(d.Union([d.Literal("event_table"),d.Literal("fixed_time_horizon")])),stratum:d.Optional(Xv),region:d.Optional(d.String()),censoringHeuristic:d.Optional(d.String()),competingHeuristic:d.Optional(d.String()),states:d.Array(Wv,{minItems:1}),regimeId:d.Optional(d.String()),interventionId:d.Optional(d.String()),estimand:d.Optional(d.String()),contrastId:d.Optional(d.String())});var Zv=d.Object({evaluationId:d.String(),lower:d.Number({minimum:0,maximum:1}),upper:d.Number({minimum:0,maximum:1}),includeLower:d.Boolean(),includeUpper:d.Boolean(),nPositive:d.Integer({minimum:0}),nNegative:d.Integer({minimum:0})}),O3=d.Object({evaluationId:d.String(),rankLower:d.Number({minimum:0,maximum:1}),rankUpper:d.Number({minimum:0,maximum:1}),positiveMass:d.Number({minimum:0}),negativeMass:d.Number({minimum:0})}),Qv=d.Object({evaluationId:d.String(),type:nf,value:d.Number({minimum:0,maximum:1}),cutoff:d.Number({minimum:0,maximum:1}),realizedPpcr:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(Ir))}),af=d.Object({schemaVersion:d.Literal("2.0"),type:d.Literal("prediction_distribution"),title:d.Optional(d.String()),evaluations:d.Array(Er,{minItems:1}),operatingPoint:d.Optional(d.Object({dimension:nf})),bins:d.Array(Zv,{minItems:1}),rankBins:d.Optional(d.Array(O3)),operatingPoints:d.Array(Qv,{minItems:1}),stateDistributions:d.Optional(d.Array(of))});var k3=d.Object({seriesId:d.String(),cutoff:d.Number(),ppcr:d.Optional(d.Number({minimum:0,maximum:1})),sensitivity:d.Number({minimum:0,maximum:1}),specificity:d.Number({minimum:0,maximum:1}),performance:d.Optional(d.Array(Ir))}),nb=d.Intersect([Wr,wi,d.Object({type:d.Literal("roc"),data:d.Array(k3),x:d.Literal("false_positive_rate"),y:d.Literal("sensitivity")})]);var ob=d.Union([nb,Wy,rb,Jy,tb,Qy,eb,af],{$id:"https://rtichoke.dev/schema/viz/2.0.json",title:"rtichoke visualization specification v2"});var ib=d.Object({id:d.String(),label:d.String()}),ab=d.Object({metric:d.Literal("auroc"),owner:d.Object({type:d.Literal("evaluation"),evaluationId:d.String()}),estimate:d.Union([d.Number(),d.Null()])}),sb=d.Object({metric:d.Literal("prevalence"),owner:d.Object({type:d.Literal("population"),populationId:d.String()}),estimate:d.Union([d.Number(),d.Null()])}),N3=d.Object({metric:d.Literal("event_risk"),owner:d.Object({type:d.Literal("population"),populationId:d.String()}),horizon:d.Number({minimum:0}),estimate:d.Union([d.Number(),d.Null()])}),R3=d.Union([ab,sb]),Jv=d.Union([ab,sb,N3]),E3=Jv,A3=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("summary_metrics"),title:d.Optional(d.String()),evaluations:d.Array(Er),populations:d.Array(ib),metrics:d.Array(R3)}),F3=d.Object({schemaVersion:d.Literal("1.1"),type:d.Literal("summary_metrics"),title:d.Optional(d.String()),evaluations:d.Array(Er),populations:d.Array(ib),metrics:d.Array(Jv)}),cb=d.Union([A3,F3],{$id:"https://rtichoke.dev/schema/viz/summary-metrics.json",title:"rtichoke summary metrics specification"});var ub=d.Object({schemaVersion:d.Literal("2.0"),type:d.Literal("outcome_distribution"),title:d.Optional(d.String()),evaluations:d.Array(Er,{minItems:1}),stateDistributions:d.Array(of,{minItems:1})});var fb=d.Union([ob,Zy,cb,af,ub]),eI=d.Object({id:d.String(),title:d.Optional(d.String()),spec:fb}),Fp=d.Object({schemaVersion:d.Literal("1.0"),type:d.Literal("report"),title:d.Optional(d.String()),components:d.Array(eI,{minItems:1})}),lb=d.Object({type:d.Literal("component"),id:d.String(),title:d.Optional(d.String()),spec:fb}),tI=d.Object({type:d.Literal("group"),id:d.String(),title:d.String(),components:d.Array(lb,{minItems:1})}),rI=d.Object({id:d.String(),title:d.String(),items:d.Array(d.Union([lb,tI]),{minItems:1})}),$p=d.Object({schemaVersion:d.Literal("1.1"),type:d.Literal("report"),title:d.Optional(d.String()),sections:d.Array(rI,{minItems:1})}),$3=d.Union([Fp,$p],{$id:"https://rtichoke.dev/schema/viz/report.json",title:"rtichoke report specification"});function Dp(e){let t=new Set,r=i=>{if(t.has(i.id))throw new Error(`duplicate component id: ${i.id}`);t.add(i.id)};if(e.schemaVersion==="1.0"){for(let i of e.components)r(i);return}let n=new Set,o=new Set;for(let i of e.sections){if(n.has(i.id))throw new Error(`duplicate section id: ${i.id}`);n.add(i.id);for(let a of i.items){if(a.type==="component"){r(a);continue}if(o.has(a.id))throw new Error(`duplicate group id: ${a.id}`);o.add(a.id);for(let s of a.components)r(s)}}}function pb(e){let t=new Set;for(let n of e.evaluations){if(t.has(n.id))throw new Error(`duplicate evaluation id: ${n.id}`);t.add(n.id)}let r=new Set;for(let n of e.metrics){if(r.has(n.id))throw new Error(`duplicate metric id: ${n.id}`);r.add(n.id)}for(let n of e.rows){if(!t.has(n.evaluationId))throw new Error(`unknown evaluation id: ${n.evaluationId}`);for(let o of n.values)if(!r.has(o.metricId))throw new Error(`unknown metric id: ${o.metricId}`)}}function Lp(e,t){if(t&&!t.has(e.evaluationId))throw new Error(`unknown evaluation id: ${e.evaluationId}`);if(e.horizon!==void 0&&e.horizon!==null&&(!Number.isFinite(e.horizon)||e.horizon<0))throw new Error(`horizon must be finite and non-negative for evaluation ${e.evaluationId}`);if(e.estimateOrigin!==void 0&&e.estimateOrigin!==null&&e.estimateOrigin!=="event_table"&&e.estimateOrigin!=="fixed_time_horizon")throw new Error(`invalid estimateOrigin '${e.estimateOrigin}' for evaluation ${e.evaluationId}`);if(!e.states||e.states.length===0)throw new Error(`states must be non-empty for evaluation ${e.evaluationId}`);for(let r of e.states){if(r.estimate!==void 0&&r.estimate!==null&&(!Number.isFinite(r.estimate)||r.estimate<0||r.estimate>1))throw new Error(`estimate must be a finite probability in [0, 1] for state ${r.stateId}`);if(r.lower!==void 0&&r.lower!==null&&(!Number.isFinite(r.lower)||r.lower<0||r.lower>1))throw new Error(`lower bound must be a finite probability in [0, 1] for state ${r.stateId}`);if(r.upper!==void 0&&r.upper!==null&&(!Number.isFinite(r.upper)||r.upper<0||r.upper>1))throw new Error(`upper bound must be a finite probability in [0, 1] for state ${r.stateId}`);if(r.lower!==void 0&&r.lower!==null&&r.upper!==void 0&&r.upper!==null&&r.lower>r.upper)throw new Error(`lower bound ${r.lower} cannot exceed upper bound ${r.upper} for state ${r.stateId}`);if(r.mass!==void 0&&r.mass!==null&&(!Number.isFinite(r.mass)||r.mass<0))throw new Error(`mass must be finite and non-negative for state ${r.stateId}`);if(r.count!==void 0&&r.count!==null&&(!Number.isInteger(r.count)||r.count<0))throw new Error(`count must be a non-negative integer for state ${r.stateId}`)}if(e.stratum){let r=e.stratum;if(r.lower!==void 0&&r.lower!==null&&r.upper!==void 0&&r.upper!==null&&r.lower>r.upper)throw new Error(`stratum lower bound ${r.lower} cannot exceed upper bound ${r.upper} for evaluation ${e.evaluationId}`);if(r.rankLower!==void 0&&r.rankLower!==null&&r.rankUpper!==void 0&&r.rankUpper!==null&&r.rankLower>r.rankUpper)throw new Error(`stratum rankLower ${r.rankLower} cannot exceed rankUpper ${r.rankUpper} for evaluation ${e.evaluationId}`)}}function mb(e){let t=new Set;for(let r of e.evaluations){if(t.has(r.id))throw new Error(`duplicate evaluation id: ${r.id}`);t.add(r.id)}if(!e.stateDistributions||e.stateDistributions.length===0)throw new Error("stateDistributions must be non-empty");for(let r of e.stateDistributions)Lp(r,t)}function sf(e){if(e.operatingPoint?.dimension){let i=e.operatingPoint.dimension;if(!e.operatingPoints.some(s=>s.type===i))throw new Error(`configured operatingPoint dimension ${i} is not present in operatingPoints`)}let t=new Set;for(let i of e.evaluations){if(t.has(i.id))throw new Error(`duplicate evaluation id: ${i.id}`);t.add(i.id)}if(e.stateDistributions)for(let i of e.stateDistributions)Lp(i,t);let r=new Map;for(let i of e.bins){if(!t.has(i.evaluationId))throw new Error(`unknown evaluation id: ${i.evaluationId}`);let a=r.get(i.evaluationId);a||(a=[],r.set(i.evaluationId,a)),a.push(i)}let n=new Map,o=new Set;for(let i of e.operatingPoints){if(!t.has(i.evaluationId))throw new Error(`unknown evaluation id: ${i.evaluationId}`);let a=`${i.evaluationId}\0${i.type}\0${i.value}`;if(o.has(a))throw new Error(`duplicate operating point: evaluationId=${i.evaluationId}, type=${i.type}, value=${i.value}`);if(o.add(a),!Number.isFinite(i.value)||i.value<0||i.value>1||!Number.isFinite(i.cutoff)||i.cutoff<0||i.cutoff>1||!Number.isFinite(i.realizedPpcr)||i.realizedPpcr<0||i.realizedPpcr>1)throw new Error(`invalid operating point bounds for evaluation ${i.evaluationId}`);if(i.type==="probability_threshold"&&Math.abs(i.value-i.cutoff)>1e-9)throw new Error(`probability_threshold value ${i.value} must equal cutoff ${i.cutoff} for evaluation ${i.evaluationId}`);let s=n.get(i.evaluationId);s||(s=[],n.set(i.evaluationId,s)),s.push(i)}for(let i of t){let a=r.get(i);if(!a||a.length===0)throw new Error(`evaluation ${i} has no bins`);let s=n.get(i);if(!s||s.length===0)throw new Error(`evaluation ${i} has no operating points`);let c=a[0];if(c.lower!==0||c.upper!==0||c.includeLower!==!0||c.includeUpper!==!0)throw new Error(`first bin for evaluation ${i} must be [0, 0]`);let u=new Set([0]),f=c.nPositive+c.nNegative;if(!Number.isInteger(c.nPositive)||c.nPositive<0||!Number.isInteger(c.nNegative)||c.nNegative<0)throw new Error(`invalid bin counts for evaluation ${i}`);for(let p=1;p1||!Number.isFinite(l.upper)||l.upper<0||l.upper>1)throw new Error(`invalid bin bounds for evaluation ${i}`);if(!Number.isInteger(l.nPositive)||l.nPositive<0||!Number.isInteger(l.nNegative)||l.nNegative<0)throw new Error(`invalid bin counts for evaluation ${i}`);if(l.includeLower!==!1||l.includeUpper!==!0)throw new Error(`bin ${p} for evaluation ${i} must be (lower, upper]`);if(l.lower>=l.upper)throw new Error(`bin ${p} for evaluation ${i} must be nondegenerate`);if(l.lower!==a[p-1].upper)throw new Error(`bins for evaluation ${i} must be contiguous and ascending`);u.add(l.upper),f+=l.nPositive+l.nNegative}if(a[a.length-1].upper!==1)throw new Error(`final bin upper bound for evaluation ${i} must be 1`);if(f<=0)throw new Error(`total count for evaluation ${i} must be positive`);for(let p of s)if(p.type==="probability_threshold"){if(p.cutoff!==0&&!u.has(p.cutoff))throw new Error(`operating point cutoff ${p.cutoff} for evaluation ${i} does not match any bin upper boundary`);let l=0;if(p.cutoff===0)l=f;else for(let h of a)h.upper>p.cutoff&&(l+=h.nPositive+h.nNegative);let m=l/f;if(Math.abs(p.realizedPpcr-m)>1e-6)throw new Error(`operating point realizedPpcr ${p.realizedPpcr} for evaluation ${i} does not match reconstructed count fraction ${m}`)}}}function db(e){let t=new Set;for(let o of e.evaluations){if(t.has(o.id))throw new Error(`duplicate evaluation id: ${o.id}`);t.add(o.id)}let r=new Set;for(let o of e.populations){if(r.has(o.id))throw new Error(`duplicate population id: ${o.id}`);r.add(o.id)}let n=new Set;for(let o of e.metrics){if(o.estimate!==null&&!Number.isFinite(o.estimate))throw new Error(`non-finite metric estimate: ${o.estimate}`);if("horizon"in o&&o.horizon!==void 0&&(!Number.isFinite(o.horizon)||o.horizon<0))throw new Error(`invalid horizon: ${o.horizon}`);if(o.metric==="auroc"){if("horizon"in o&&o.horizon!==void 0)throw new Error("auroc metric cannot specify horizon");if(!t.has(o.owner.evaluationId))throw new Error(`unknown evaluation id: ${o.owner.evaluationId}`);let i=`auroc:${o.owner.evaluationId}`;if(n.has(i))throw new Error(`duplicate metric ownership: auroc for evaluation ${o.owner.evaluationId}`);n.add(i)}else if(o.metric==="prevalence"){if("horizon"in o&&o.horizon!==void 0)throw new Error("prevalence metric cannot specify horizon");if(!r.has(o.owner.populationId))throw new Error(`unknown population id: ${o.owner.populationId}`);let i=`prevalence:${o.owner.populationId}`;if(n.has(i))throw new Error(`duplicate metric ownership: prevalence for population ${o.owner.populationId}`);n.add(i)}else if(o.metric==="event_risk"){if(e.schemaVersion!=="1.1")throw new Error(`event_risk metric requires schemaVersion 1.1, got ${e.schemaVersion}`);if(!("horizon"in o)||o.horizon===void 0)throw new Error("event_risk metric requires horizon");if(!r.has(o.owner.populationId))throw new Error(`unknown population id: ${o.owner.populationId}`);let i=`event_risk:${o.owner.populationId}:${o.horizon}`;if(n.has(i))throw new Error(`duplicate metric ownership: event_risk for population ${o.owner.populationId} at horizon ${o.horizon}`);n.add(i)}}}function Si(e){if(e.type==="prediction_distribution"){sf(e);return}let t=new Set(e.evaluations.map(o=>o.id)),r=new Set;if(t.size!==e.evaluations.length)throw new Error("duplicate evaluation id");for(let o of e.series){if(r.has(o.id))throw new Error(`duplicate series id: ${o.id}`);if(r.add(o.id),!t.has(o.evaluationId))throw new Error(`unknown evaluation id: ${o.evaluationId}`)}for(let o of e.data)if(!r.has(o.seriesId))throw new Error(`unknown series id: ${o.seriesId}`);if(e.type==="calibration"){for(let o of e.distribution??[])if(!r.has(o.seriesId))throw new Error(`unknown distribution series id: ${o.seriesId}`)}let n=new Set(e.evaluations.map(o=>o.population));for(let o of e.references??[])if((o.scope==="population"||o.scope==="population_horizon")&&!n.has(o.population))throw new Error(`unknown reference population: ${o.population}`);if(e.type==="decision_curve"){let o=e,i=o.references;o.evaluations.forEach((h,b)=>{let y=`evaluation-${b+1}`;if(h.id!==y)throw new Error(`decision curve evaluation ids must be ordinal: expected ${y}`)});let a=o.series.filter(h=>h.horizon!==void 0).length;if(a!==0&&a!==o.series.length)throw new Error("decision curve cannot mix static and horizon-qualified series");let s=a>0,c=[...new Set(o.series.map(h=>h.horizon).filter(h=>h!==void 0))],u=new Set;if(o.series.forEach((h,b)=>{if(h.id!==`series-${b+1}`)throw new Error(`decision curve series ids must be ordinal: expected series-${b+1}`);let y=o.evaluations.find(w=>w.id===h.evaluationId),x=y.model??y.population,g=y.model===void 0?"population":"model";if(h.display.label!==x||h.display.group!==x||h.display.role!==g)throw new Error("decision curve display must follow evaluation semantics");let S=`${h.evaluationId}\0${h.horizon??"static"}`;if(u.has(S))throw new Error(`duplicate decision curve evaluation-horizon series: ${h.evaluationId}`);u.add(S)}),s){if(!o.evaluations.every(b=>c.every(y=>u.has(`${b.id}\0${y}`)))||o.series.length!==o.evaluations.length*c.length)throw new Error("decision curve requires exactly one series per evaluation and horizon")}else if(o.series.length!==o.evaluations.length||o.evaluations.some(h=>!u.has(`${h.id}\0static`)))throw new Error("decision curve requires exactly one series per evaluation");if(i.filter(h=>"benchmark"in h&&h.benchmark==="treat_none").length!==1)throw new Error("decision curve requires exactly one Treat None reference");let p=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_all"),l=new Set;for(let h of p){if(s&&h.scope!=="population_horizon")throw new Error("time-dependent decision curve Treat All must use population_horizon scope");if(!s&&h.scope!=="population")throw new Error("static decision curve Treat All must use population scope");let b=h.scope==="population_horizon"?`${h.population}\0${h.horizon}`:h.population;if(l.has(b))throw new Error(`duplicate Treat All owner: ${h.population}`);l.add(b)}let m=s?[...n].flatMap(h=>c.map(b=>`${h}\0${b}`)):[...n];if(l.size!==m.length||m.some(h=>!l.has(h)))throw new Error(s?"decision curve requires exactly one Treat All reference per population and horizon":"decision curve requires exactly one Treat All reference per population")}if(e.type==="interventions_avoided"){let o=e,i=o.references;o.evaluations.forEach((h,b)=>{let y=`evaluation-${b+1}`;if(h.id!==y)throw new Error(`interventions avoided evaluation ids must be ordinal: expected ${y}`)});let a=o.series.filter(h=>h.horizon!==void 0).length;if(a!==0&&a!==o.series.length)throw new Error("interventions avoided cannot mix static and horizon-qualified series");let s=a>0,c=[...new Set(o.series.map(h=>h.horizon).filter(h=>h!==void 0))],u=new Set;if(o.series.forEach((h,b)=>{if(h.id!==`series-${b+1}`)throw new Error(`interventions avoided series ids must be ordinal: expected series-${b+1}`);let y=o.evaluations.find(w=>w.id===h.evaluationId);if(!y)throw new Error(`unknown evaluation id: ${h.evaluationId}`);let x=y.model??y.population,g=y.model===void 0?"population":"model";if(h.display.label!==x||h.display.group!==x||h.display.role!==g)throw new Error("interventions avoided display must follow evaluation semantics");let S=`${h.evaluationId}\0${h.horizon??"static"}`;if(u.has(S))throw new Error(`duplicate interventions avoided evaluation-horizon series: ${h.evaluationId}`);u.add(S)}),s){if(!o.evaluations.every(b=>c.every(y=>u.has(`${b.id}\0${y}`)))||o.series.length!==o.evaluations.length*c.length)throw new Error("interventions avoided requires exactly one series per evaluation and horizon")}else if(o.series.length!==o.evaluations.length||o.evaluations.some(h=>!u.has(`${h.id}\0static`)))throw new Error("interventions avoided requires exactly one series per evaluation");let f=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_all");if(f.length!==1)throw new Error("interventions avoided requires exactly one Treat All reference");if(f[0].scope!=="global"||f[0].type!=="horizontal"||f[0].value!==0)throw new Error("interventions avoided Treat All must be the global zero reference");let p=i.filter(h=>"benchmark"in h&&h.benchmark==="treat_none"),l=new Set;for(let h of p){if(s&&h.scope!=="population_horizon")throw new Error("time-dependent interventions avoided Treat None must use population_horizon scope");if(!s&&h.scope!=="population")throw new Error("static interventions avoided Treat None must use population scope");let b=h.scope==="population_horizon"?`${h.population}\0${h.horizon}`:h.population;if(l.has(b))throw new Error(`duplicate Treat None owner: ${h.population}`);l.add(b)}let m=s?[...n].flatMap(h=>c.map(b=>`${h}\0${b}`)):[...n];if(l.size!==m.length||m.some(h=>!l.has(h)))throw new Error(s?"interventions avoided requires exactly one Treat None reference per population and horizon":"interventions avoided requires exactly one Treat None reference per population")}}function nI(e){return{schemaVersion:"1.0",type:"roc",data:e,x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity"}]}}function D3(e){return nI(e.map(t=>({model:t.model,cutoff:t.probability_threshold,sensitivity:t.sensitivity,specificity:t.specificity})))}function L3(e){return nI(e.map(t=>({model:t.reference_group,cutoff:t.chosen_cutoff,sensitivity:t.sensitivity,specificity:t.specificity})))}function V3(e,t,r){let n=e.map(i=>{let a=i.sum_reals??i.n_reals,s=i.total_obs??i.n;return{model:i.reference_group,predicted:i.x,observed:i.y,method:t,...t==="discrete"&&a!==void 0?{events:a}:{},...t==="discrete"&&s!==void 0?{total:s}:{}}}),o=r?.map(i=>({model:i.reference_group,midpoint:i.mids,count:i.counts,binWidth:.01}));return{schemaVersion:"1.0",type:"calibration",data:n,...o?{distribution:o}:{},x:"predicted",y:"observed",xAxis:{label:"Predicted probability",domain:[0,1]},yAxis:{label:"Observed probability",domain:[0,1]},references:[{type:"identity"}]}}function j3(e,t){let r=t.role==="model"?t.population??"population":e,n=`evaluation:${e}`;return{evaluation:{id:n,...t.role==="model"?{model:e}:{},population:r,label:e},series:{id:`series:${e}`,evaluationId:n,display:{label:e,group:e,role:t.role}}}}function hb(e,t){return[...new Set(e)].map(n=>j3(n,t))}function U3(e,t="population"){let r=hb(e.map(n=>n.model),{role:"model",population:t});return{schemaVersion:"2.0",type:"roc",evaluations:r.map(n=>n.evaluation),series:r.map(n=>n.series),data:e.map(n=>({seriesId:`series:${n.model}`,cutoff:n.probability_threshold,sensitivity:n.sensitivity,specificity:n.specificity})),x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity",scope:"global",label:"Random Guess"}]}}function z3(e,t){let r=hb(e.map(n=>n.reference_group),t);return{schemaVersion:"2.0",type:"roc",evaluations:r.map(n=>n.evaluation),series:r.map(n=>n.series),data:e.map(n=>({seriesId:`series:${n.reference_group}`,cutoff:n.chosen_cutoff,sensitivity:n.sensitivity,specificity:n.specificity})),x:"false_positive_rate",y:"sensitivity",xAxis:{label:"1 - Specificity",domain:[0,1]},yAxis:{label:"Sensitivity",domain:[0,1]},references:[{type:"identity",scope:"global",label:"Random Guess"}]}}function B3(e,t,r,n){let o=hb(e.map(c=>c.reference_group),r),i=e.map(c=>c.y).filter(Number.isFinite),a=Math.min(0,...i),s=Math.max(1,...i);return{schemaVersion:"2.0",type:"calibration",evaluations:o.map(c=>c.evaluation),series:o.map(c=>c.series),data:e.map(c=>{let u=c.sum_reals??c.n_reals,f=c.total_obs??c.n;return{seriesId:`series:${c.reference_group}`,predicted:c.x,observed:c.y,method:t,...t==="discrete"&&u!==void 0?{events:u}:{},...t==="discrete"&&f!==void 0?{total:f}:{}}}),...n?{distribution:n.map(c=>({seriesId:`series:${c.reference_group}`,midpoint:c.mids,count:c.counts,binWidth:.01}))}:{},x:"predicted",y:"observed",xAxis:{label:"Predicted probability",domain:[0,1]},yAxis:{label:"Observed probability",domain:[a,s]},references:[{type:"identity",scope:"global",label:"Perfectly Calibrated"}]}}function vt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Rn(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function vi(e){let t,r,n;e.length!==2?(t=vt,r=(s,c)=>vt(e(s),c),n=(s,c)=>e(s)-c):(t=e===vt||e===Rn?e:G3,r=e,n=e);function o(s,c,u=0,f=s.length){if(u>>1;r(s[p],c)<0?u=p+1:f=p}while(u>>1;r(s[p],c)<=0?u=p+1:f=p}while(uu&&n(s[p-1],c)>-n(s[p],c)?p-1:p}return{left:o,center:a,right:i}}function G3(){return 0}function cf(e){return e===null?NaN:+e}function*oI(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var iI=vi(vt),aI=iI.right,K3=iI.left,q3=vi(cf).center,Ii=aI;function es(e,t){let r=0;if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&++r;else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(o=+o)>=o&&++r}return r}function H3(e){return e.length|0}function Y3(e){return!(e>0)}function W3(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function X3(e){return t=>e(...t)}function Vp(...e){let t=typeof e[e.length-1]=="function"&&X3(e.pop());e=e.map(W3);let r=e.map(H3),n=e.length-1,o=new Array(n+1).fill(0),i=[];if(n<0||r.some(Y3))return i;for(;;){i.push(o.map((s,c)=>e[c][s]));let a=n;for(;++o[a]===r[a];){if(a===0)return t?i.map(t):i;o[a--]=0}}}function jp(e,t){var r=0,n=0;return Float64Array.from(e,t===void 0?o=>r+=+o||0:o=>r+=+t(o,n++,e)||0)}function yc(e,t){let r=0,n,o=0,i=0;if(t===void 0)for(let a of e)a!=null&&(a=+a)>=a&&(n=a-o,o+=n/++r,i+=n*(a-o));else{let a=-1;for(let s of e)(s=t(s,++a,e))!=null&&(s=+s)>=s&&(n=s-o,o+=n/++r,i+=n*(s-o))}if(r>1)return i/(r-1)}function bc(e,t){let r=yc(e,t);return r&&Math.sqrt(r)}function Yt(e,t){let r,n;if(t===void 0)for(let o of e)o!=null&&(r===void 0?o>=o&&(r=n=o):(r>o&&(r=o),n=i&&(r=n=i):(r>i&&(r=i),n0){for(a=t[--r];r>0&&(n=a,o=t[--r],a=n+o,i=o-(a-n),!i););r>0&&(i<0&&t[r-1]<0||i>0&&t[r-1]>0)&&(o=i*2,n=a+o,o==n-a&&(a=n))}return a}};var Ar=class extends Map{constructor(t,r=uI){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,o]of t)this.set(n,o)}get(t){return super.get(gb(this,t))}has(t){return super.has(gb(this,t))}set(t,r){return super.set(sI(this,t),r)}delete(t){return super.delete(cI(this,t))}},so=class extends Set{constructor(t,r=uI){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let n of t)this.add(n)}has(t){return super.has(gb(this,t))}add(t){return super.add(sI(this,t))}delete(t){return super.delete(cI(this,t))}};function gb({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function sI({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function cI({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function uI(e){return e!==null&&typeof e=="object"?e.valueOf():e}function uf(e){return e}function Fo(e,...t){return bb(e,uf,uf,t)}function co(e,t,...r){return bb(e,uf,t,r)}function yb(e,t,...r){return bb(e,Array.from,t,r)}function bb(e,t,r,n){return(function o(i,a){if(a>=n.length)return r(i);let s=new Ar,c=n[a++],u=-1;for(let f of i){let p=c(f,++u,i),l=s.get(p);l?l.push(f):s.set(p,[f])}for(let[f,p]of s)s.set(f,o(p,a));return t(s)})(e,0)}function xb(e,t){return Array.from(t,r=>e[r])}function _i(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[r]=t;if(r&&r.length!==2||t.length>1){let n=Uint32Array.from(e,(o,i)=>i);return t.length>1?(t=t.map(o=>e.map(o)),n.sort((o,i)=>{for(let a of t){let s=ff(a[o],a[i]);if(s)return s}})):(r=e.map(r),n.sort((o,i)=>ff(r[o],r[i]))),xb(e,n)}return e.sort(wb(r))}function wb(e=vt){if(e===vt)return ff;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function ff(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}function xc(e,t,r){return(t.length!==2?_i(co(e,t,r),(([n,o],[i,a])=>vt(o,a)||vt(n,i))):_i(Fo(e,r),(([n,o],[i,a])=>t(o,a)||vt(n,i)))).map(([n])=>n)}var Z3=Math.sqrt(50),Q3=Math.sqrt(10),J3=Math.sqrt(2);function Up(e,t,r){let n=(t-e)/Math.max(0,r),o=Math.floor(Math.log10(n)),i=n/Math.pow(10,o),a=i>=Z3?10:i>=Q3?5:i>=J3?2:1,s,c,u;return o<0?(u=Math.pow(10,-o)/a,s=Math.round(e*u),c=Math.round(t*u),s/ut&&--c,u=-u):(u=Math.pow(10,o)*a,s=Math.round(e/u),c=Math.round(t/u),s*ut&&--c),c0))return[];if(e===t)return[e];let n=t=o))return[];let s=i-o+1,c=new Array(s);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function Bp(e,t){let r,n=-1,o=-1;if(t===void 0)for(let i of e)++o,i!=null&&(r=i)&&(r=i,n=o);else for(let i of e)(i=t(i,++o,e))!=null&&(r=i)&&(r=i,n=o);return n}function Fr(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}return r}function Gp(e,t){let r,n=-1,o=-1;if(t===void 0)for(let i of e)++o,i!=null&&(r>i||r===void 0&&i>=i)&&(r=i,n=o);else for(let i of e)(i=t(i,++o,e))!=null&&(r>i||r===void 0&&i>=i)&&(r=i,n=o);return n}function Kp(e,t,r=0,n=1/0,o){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(o=o===void 0?ff:wb(o);n>r;){if(n-r>600){let c=n-r+1,u=t-r+1,f=Math.log(c),p=.5*Math.exp(2*f/3),l=.5*Math.sqrt(f*p*(c-p)/c)*(u-c/2<0?-1:1),m=Math.max(r,Math.floor(t-u*p/c+l)),h=Math.min(n,Math.floor(t+(c-u)*p/c+l));Kp(e,t,m,h,o)}let i=e[t],a=r,s=n;for(lf(e,r,t),o(e[n],i)>0&&lf(e,r,n);a0;)--s}o(e[r],i)===0?lf(e,r,s):(++s,lf(e,s,n)),s<=t&&(r=s+1),t<=s&&(n=s-1)}return e}function lf(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function pf(e,t=vt){let r,n=!1;if(t.length===1){let o;for(let i of e){let a=t(i);(n?vt(a,o)>0:vt(a,a)===0)&&(r=i,o=a,n=!0)}}else for(let o of e)(n?t(o,r)>0:t(o,o)===0)&&(r=o,n=!0);return r}function En(e,t,r){if(e=Float64Array.from(oI(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Fr(e);if(t>=1)return er(e);var n,o=(n-1)*t,i=Math.floor(o),a=er(Kp(e,i).subarray(0,i+1)),s=Fr(e.subarray(i+1));return a+(s-a)*(o-i)}}function Sb(e,t,r=cf){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,o=(n-1)*t,i=Math.floor(o),a=+r(e[i],i,e),s=+r(e[i+1],i+1,e);return a+(s-a)*(o-i)}}function qp(e,t,r){let n=es(e),o=En(e,.75)-En(e,.25);return n&&o?Math.ceil((r-t)/(2*o*Math.pow(n,-1/3))):1}function mf(e,t,r){let n=es(e),o=bc(e);return n&&o?Math.ceil((r-t)*Math.cbrt(n)/(3.49*o)):1}function Hp(e,t){let r=0,n=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(++r,n+=o);else{let o=-1;for(let i of e)(i=t(i,++o,e))!=null&&(i=+i)>=i&&(++r,n+=i)}if(r)return n/r}function rs(e,t){return En(e,.5,t)}function*tE(e){for(let t of e)yield*t}function Sc(e){return Array.from(tE(e))}function Yp(e,t){let r=new Ar;if(t===void 0)for(let i of e)i!=null&&i>=i&&r.set(i,(r.get(i)||0)+1);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&a>=a&&r.set(a,(r.get(a)||0)+1)}let n,o=0;for(let[i,a]of r)a>o&&(o=a,n=i);return n}function Wp(e,t=rE){let r=[],n,o=!1;for(let i of e)o&&r.push(t(n,i)),n=i,o=!0;return r}function rE(e,t){return[e,t]}function ns(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(o);++n+e(t)}function aE(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function sE(){return!this.__axis}function cE(e,t){var r=[],n=null,o=null,i=6,a=6,s=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===vb||e===Xp?-1:1,f=e===Xp||e===Ib?"x":"y",p=e===vb||e===_b?nE:oE;function l(m){var h=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=o??(t.tickFormat?t.tickFormat.apply(t,r):fI),y=Math.max(i,0)+s,x=t.range(),g=+x[0]+c,S=+x[x.length-1]+c,w=(t.bandwidth?aE:iE)(t.copy(),c),_=m.selection?m.selection():m,v=_.selectAll(".domain").data([null]),I=_.selectAll(".tick").data(h,t).order(),T=I.exit(),P=I.enter().append("g").attr("class","tick"),R=I.select("line"),C=I.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),I=I.merge(P),R=R.merge(P.append("line").attr("stroke","currentColor").attr(f+"2",u*i)),C=C.merge(P.append("text").attr("fill","currentColor").attr(f,u*y).attr("dy",e===vb?"0em":e===_b?"0.71em":"0.32em")),m!==_&&(v=v.transition(m),I=I.transition(m),R=R.transition(m),C=C.transition(m),T=T.transition(m).attr("opacity",lI).attr("transform",function(N){return isFinite(N=w(N))?p(N+c):this.getAttribute("transform")}),P.attr("opacity",lI).attr("transform",function(N){var G=this.parentNode.__axis;return p((G&&isFinite(G=G(N))?G:w(N))+c)})),T.remove(),v.attr("d",e===Xp||e===Ib?a?"M"+u*a+","+g+"H"+c+"V"+S+"H"+u*a:"M"+c+","+g+"V"+S:a?"M"+g+","+u*a+"V"+c+"H"+S+"V"+u*a:"M"+g+","+c+"H"+S),I.attr("opacity",1).attr("transform",function(N){return p(w(N)+c)}),R.attr(f+"2",u*i),C.attr(f,u*y).text(b),_.filter(sE).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===Ib?"start":e===Xp?"end":"middle"),_.each(function(){this.__axis=w})}return l.scale=function(m){return arguments.length?(t=m,l):t},l.ticks=function(){return r=Array.from(arguments),l},l.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),l):r.slice()},l.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),l):n&&n.slice()},l.tickFormat=function(m){return arguments.length?(o=m,l):o},l.tickSize=function(m){return arguments.length?(i=a=+m,l):i},l.tickSizeInner=function(m){return arguments.length?(i=+m,l):i},l.tickSizeOuter=function(m){return arguments.length?(a=+m,l):a},l.tickPadding=function(m){return arguments.length?(s=+m,l):s},l.offset=function(m){return arguments.length?(c=+m,l):c},l}function Pb(e){return cE(_b,e)}var uE={value:()=>{}};function mI(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}Zp.prototype=mI.prototype={constructor:Zp,on:function(e,t){var r=this._,n=fE(e+"",r),o,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(o),n=0,o,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),$o.hasOwnProperty(t)?{space:$o[t],local:e}:e}function pE(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Qp&&t.documentElement.namespaceURI===Qp?t.createElement(e):t.createElementNS(r,e)}}function mE(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ti(e){var t=Pi(e);return(t.local?mE:pE)(t)}function dE(){}function os(e){return e==null?dE:function(){return this.querySelector(e)}}function dI(e){typeof e!="function"&&(e=os(e));for(var t=this._groups,r=t.length,n=new Array(r),o=0;o=S&&(S=g+1);!(_=y[S])&&++S=0;)(a=n[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function TI(e){e||(e=ME);function t(p,l){return p&&l?e(p.__data__,l.__data__):!p-!l}for(var r=this._groups,n=r.length,o=new Array(n),i=0;it?1:e>=t?0:NaN}function MI(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function CI(){return Array.from(this)}function OI(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?AE:typeof t=="function"?$E:FE)(e,t,r??"")):pa(this.node(),e)}function pa(e,t){return e.style.getPropertyValue(t)||tm(e).getComputedStyle(e,null).getPropertyValue(t)}function DE(e){return function(){delete this[e]}}function LE(e,t){return function(){this[e]=t}}function VE(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function FI(e,t){return arguments.length>1?this.each((t==null?DE:typeof t=="function"?VE:LE)(e,t)):this.node()[e]}function $I(e){return e.trim().split(/^|\s+/)}function Cb(e){return e.classList||new DI(e)}function DI(e){this._node=e,this._names=$I(e.getAttribute("class")||"")}DI.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function LI(e,t){for(var r=Cb(e),n=-1,o=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function nA(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,o=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?rm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?rm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=uA.exec(e))?new Bt(t[1],t[2],t[3],1):(t=fA.exec(e))?new Bt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=lA.exec(e))?rm(t[1],t[2],t[3],t[4]):(t=pA.exec(e))?rm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=mA.exec(e))?c_(t[1],t[2]/100,t[3]/100,1):(t=dA.exec(e))?c_(t[1],t[2]/100,t[3]/100,t[4]):r_.hasOwnProperty(e)?i_(r_[e]):e==="transparent"?new Bt(NaN,NaN,NaN,0):null}function i_(e){return new Bt(e>>16&255,e>>8&255,e&255,1)}function rm(e,t,r,n){return n<=0&&(e=t=r=NaN),new Bt(e,t,r,n)}function bf(e){return e instanceof Lo||(e=hn(e)),e?(e=e.rgb(),new Bt(e.r,e.g,e.b,e.opacity)):new Bt}function An(e,t,r,n){return arguments.length===1?bf(e):new Bt(e,t,r,n??1)}function Bt(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Ci(Bt,An,da(Lo,{brighter(e){return e=e==null?ss:Math.pow(ss,e),new Bt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ha:Math.pow(ha,e),new Bt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Bt(as(this.r),as(this.g),as(this.b),om(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:a_,formatHex:a_,formatHex8:yA,formatRgb:s_,toString:s_}));function a_(){return`#${is(this.r)}${is(this.g)}${is(this.b)}`}function yA(){return`#${is(this.r)}${is(this.g)}${is(this.b)}${is((isNaN(this.opacity)?1:this.opacity)*255)}`}function s_(){let e=om(this.opacity);return`${e===1?"rgb(":"rgba("}${as(this.r)}, ${as(this.g)}, ${as(this.b)}${e===1?")":`, ${e})`}`}function om(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function as(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function is(e){return e=as(e),(e<16?"0":"")+e.toString(16)}function c_(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new fo(e,t,r,n)}function f_(e){if(e instanceof fo)return new fo(e.h,e.s,e.l,e.opacity);if(e instanceof Lo||(e=hn(e)),!e)return new fo;if(e instanceof fo)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,s=i-o,c=(i+o)/2;return s?(t===i?a=(r-n)/s+(r0&&c<1?0:a,new fo(a,s,c,e.opacity)}function xf(e,t,r,n){return arguments.length===1?f_(e):new fo(e,t,r,n??1)}function fo(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Ci(fo,xf,da(Lo,{brighter(e){return e=e==null?ss:Math.pow(ss,e),new fo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ha:Math.pow(ha,e),new fo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new Bt(kb(e>=240?e-240:e+120,o,n),kb(e,o,n),kb(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new fo(u_(this.h),nm(this.s),nm(this.l),om(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=om(this.opacity);return`${e===1?"hsl(":"hsla("}${u_(this.h)}, ${nm(this.s)*100}%, ${nm(this.l)*100}%${e===1?")":`, ${e})`}`}}));function u_(e){return e=(e||0)%360,e<0?e+360:e}function nm(e){return Math.max(0,Math.min(1,e||0))}function kb(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var im=Math.PI/180,am=180/Math.PI;var sm=18,l_=.96422,p_=1,m_=.82521,d_=4/29,Ic=6/29,h_=3*Ic*Ic,bA=Ic*Ic*Ic;function g_(e){if(e instanceof Vo)return new Vo(e.l,e.a,e.b,e.opacity);if(e instanceof Oi)return y_(e);e instanceof Bt||(e=bf(e));var t=Ab(e.r),r=Ab(e.g),n=Ab(e.b),o=Nb((.2225045*t+.7168786*r+.0606169*n)/p_),i,a;return t===r&&r===n?i=a=o:(i=Nb((.4360747*t+.3850649*r+.1430804*n)/l_),a=Nb((.0139322*t+.0971045*r+.7141733*n)/m_)),new Vo(116*o-16,500*(i-o),200*(o-a),e.opacity)}function _c(e,t,r,n){return arguments.length===1?g_(e):new Vo(e,t,r,n??1)}function Vo(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}Ci(Vo,_c,da(Lo,{brighter(e){return new Vo(this.l+sm*(e??1),this.a,this.b,this.opacity)},darker(e){return new Vo(this.l-sm*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=l_*Rb(t),e=p_*Rb(e),r=m_*Rb(r),new Bt(Eb(3.1338561*t-1.6168667*e-.4906146*r),Eb(-.9787684*t+1.9161415*e+.033454*r),Eb(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function Nb(e){return e>bA?Math.pow(e,1/3):e/h_+d_}function Rb(e){return e>Ic?e*e*e:h_*(e-d_)}function Eb(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Ab(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function xA(e){if(e instanceof Oi)return new Oi(e.h,e.c,e.l,e.opacity);if(e instanceof Vo||(e=g_(e)),e.a===0&&e.b===0)return new Oi(NaN,0=1?(r=1,t-1):Math.floor(r*t),o=e[n],i=e[n+1],a=n>0?e[n-1]:2*o-i,s=n()=>e;function __(e,t){return function(r){return e+r*t}}function SA(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Tc(e,t){var r=t-e;return r?__(e,r>180||r<-180?r-360*Math.round(r/360):r):Pc(isNaN(e)?t:e)}function P_(e){return(e=+e)==1?bt:function(t,r){return r-t?SA(t,r,e):Pc(isNaN(t)?r:t)}}function bt(e,t){var r=t-e;return r?__(e,r):Pc(isNaN(e)?t:e)}var Fn=(function e(t){var r=P_(t);function n(o,i){var a=r((o=An(o)).r,(i=An(i)).r),s=r(o.g,i.g),c=r(o.b,i.b),u=bt(o.opacity,i.opacity);return function(f){return o.r=a(f),o.g=s(f),o.b=c(f),o.opacity=u(f),o+""}}return n.gamma=e,n})(1);function T_(e){return function(t){var r=t.length,n=new Array(r),o=new Array(r),i=new Array(r),a,s;for(a=0;ar&&(i=t.slice(r,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,c.push({i:a,x:mt(n,o)})),r=Vb.lastIndex;return r180?f+=360:f-u>180&&(u+=360),l.push({i:p.push(o(p)+"rotate(",null,n)-2,x:mt(u,f)})):f&&p.push(o(p)+"rotate("+f+n)}function s(u,f,p,l){u!==f?l.push({i:p.push(o(p)+"skewX(",null,n)-2,x:mt(u,f)}):f&&p.push(o(p)+"skewX("+f+n)}function c(u,f,p,l,m,h){if(u!==p||f!==l){var b=m.push(o(m)+"scale(",null,",",null,")");h.push({i:b-4,x:mt(u,p)},{i:b-2,x:mt(f,l)})}else(p!==1||l!==1)&&m.push(o(m)+"scale("+p+","+l+")")}return function(u,f){var p=[],l=[];return u=e(u),f=e(f),i(u.translateX,u.translateY,f.translateX,f.translateY,p,l),a(u.rotate,f.rotate,p,l),s(u.skewX,f.skewX,p,l),c(u.scaleX,u.scaleY,f.scaleX,f.scaleY,p,l),u=f=null,function(m){for(var h=-1,b=l.length,y;++h=0&&e._call.call(void 0,t),e=e._next;--Cc}function V_(){fs=(mm=Tf.now())+dm,Cc=_f=0;try{z_()}finally{Cc=0,kA(),fs=0}}function OA(){var e=Tf.now(),t=e-mm;t>j_&&(dm-=t,mm=e)}function kA(){for(var e,t=pm,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:pm=r);Pf=e,qb(n)}function qb(e){if(!Cc){_f&&(_f=clearTimeout(_f));var t=e-fs;t>24?(e<1/0&&(_f=setTimeout(V_,e-Tf.now()-dm)),If&&(If=clearInterval(If))):(If||(mm=Tf.now(),If=setInterval(OA,j_)),Cc=1,U_(V_))}}function gm(e,t,r){var n=new Mf;return t=t==null?0:+t,n.restart(o=>{n.stop(),e(o+t)},t,r),n}var NA=Tb("start","end","cancel","interrupt"),RA=[],K_=0,B_=1,bm=2,ym=3,G_=4,xm=5,Of=6;function ga(e,t,r,n,o,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;EA(e,r,{name:t,index:n,group:o,on:NA,tween:RA,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:K_})}function kf(e,t){var r=Wt(e,t);if(r.state>K_)throw new Error("too late; already scheduled");return r}function mr(e,t){var r=Wt(e,t);if(r.state>ym)throw new Error("too late; already running");return r}function Wt(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function EA(e,t,r){var n=e.__transition,o;n[t]=r,r.timer=hm(i,0,r.time);function i(u){r.state=B_,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var f,p,l,m;if(r.state!==B_)return c();for(f in n)if(m=n[f],m.name===r.name){if(m.state===ym)return gm(a);m.state===G_?(m.state=Of,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete n[f]):+fbm&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function JA(e,t,r){var n,o,i=QA(t)?kf:mr;return function(){var a=i(this,e),s=a.on;s!==n&&(o=(n=s).copy()).on(t,r),a.on=o}}function rP(e,t){var r=this._id;return arguments.length<2?Wt(this.node(),r).on.on(e):this.each(JA(r,e,t))}function e4(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function nP(){return this.on("end.remove",e4(this._id))}function oP(e){var t=this._name,r=this._id;typeof e!="function"&&(e=os(e));for(var n=this._groups,o=n.length,i=new Array(o),a=0;a=0))throw new Error(`invalid digits: ${e}`);if(t>15)return yP;let r=10**t;return function(n){this._+=n[0];for(let o=1,i=n.length;ols)if(!(Math.abs(p*c-u*f)>ls)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let m=n-a,h=o-s,b=c*c+u*u,y=m*m+h*h,x=Math.sqrt(b),g=Math.sqrt(l),S=i*Math.tan((Yb-Math.acos((b+l-y)/(2*x*g)))/2),w=S/g,_=S/x;Math.abs(w-1)>ls&&this._append`L${t+w*f},${r+w*p}`,this._append`A${i},${i},0,0,${+(p*m>f*h)},${this._x1=t+_*c},${this._y1=r+_*u}`}}arc(t,r,n,o,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(o),c=n*Math.sin(o),u=t+s,f=r+c,p=1^a,l=a?o-i:i-o;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>ls||Math.abs(this._y1-f)>ls)&&this._append`L${u},${f}`,n&&(l<0&&(l=l%Wb+Wb),l>g4?this._append`A${n},${n},0,1,${p},${t-s},${r-c}A${n},${n},0,1,${p},${this._x1=u},${this._y1=f}`:l>ls&&this._append`A${n},${n},0,${+(l>=Yb)},${p},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function bP(){return new ya}bP.prototype=ya.prototype;function po(e=3){return new ya(+e)}function xP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function ps(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Uo(e){return e=ps(Math.abs(e)),e?e[1]:NaN}function wP(e,t){return function(r,n){for(var o=r.length,i=[],a=0,s=e[0],c=0;o>0&&s>0&&(c+s+1>n&&(s=Math.max(1,n-c)),i.push(r.substring(o-=s,o+s)),!((c+=s+1)>n));)s=e[a=(a+1)%e.length];return i.reverse().join(t)}}function SP(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var b4=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function zo(e){if(!(t=b4.exec(e)))throw new Error("invalid format: "+e);var t;return new _m({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}zo.prototype=_m.prototype;function _m(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}_m.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function vP(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var Nf;function IP(e,t){var r=ps(e,t);if(!r)return Nf=void 0,e.toPrecision(t);var n=r[0],o=r[1],i=o-(Nf=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+ps(e,Math.max(0,t+i-1))[0]}function Xb(e,t){var r=ps(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var Zb={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:xP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Xb(e*100,t),r:Xb,s:IP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Qb(e){return e}var _P=Array.prototype.map,PP=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function TP(e){var t=e.grouping===void 0||e.thousands===void 0?Qb:wP(_P.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?Qb:SP(_P.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"\u2212":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(p,l){p=zo(p);var m=p.fill,h=p.align,b=p.sign,y=p.symbol,x=p.zero,g=p.width,S=p.comma,w=p.precision,_=p.trim,v=p.type;v==="n"?(S=!0,v="g"):Zb[v]||(w===void 0&&(w=12),_=!0,v="g"),(x||m==="0"&&h==="=")&&(x=!0,m="0",h="=");var I=(l&&l.prefix!==void 0?l.prefix:"")+(y==="$"?r:y==="#"&&/[boxX]/.test(v)?"0"+v.toLowerCase():""),T=(y==="$"?n:/[%p]/.test(v)?a:"")+(l&&l.suffix!==void 0?l.suffix:""),P=Zb[v],R=/[defgprs%]/.test(v);w=w===void 0?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function C(N){var G=I,D=T,O,z,U;if(v==="c")D=P(N)+D,N="";else{N=+N;var W=N<0||1/N<0;if(N=isNaN(N)?c:P(Math.abs(N),w),_&&(N=vP(N)),W&&+N==0&&b!=="+"&&(W=!1),G=(W?b==="("?b:s:b==="-"||b==="("?"":b)+G,D=(v==="s"&&!isNaN(N)&&Nf!==void 0?PP[8+Nf/3]:"")+D+(W&&b==="("?")":""),R){for(O=-1,z=N.length;++OU||U>57){D=(U===46?o+N.slice(O+1):N.slice(O))+D,N=N.slice(0,O);break}}}S&&!x&&(N=t(N,1/0));var B=G.length+N.length+D.length,q=B>1)+G+N+D+q.slice(B);break;default:N=q+G+N+D;break}return i(N)}return C.toString=function(){return p+""},C}function f(p,l){var m=Math.max(-8,Math.min(8,Math.floor(Uo(l)/3)))*3,h=Math.pow(10,-m),b=u((p=zo(p),p.type="f",p),{suffix:PP[8+m/3]});return function(y){return b(h*y)}}return{format:u,formatPrefix:f}}var Pm,$n,Tm;Jb({thousands:",",grouping:[3],currency:["$",""]});function Jb(e){return Pm=TP(e),$n=Pm.format,Tm=Pm.formatPrefix,Pm}function e0(e){return Math.max(0,-Uo(Math.abs(e)))}function t0(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Uo(t)/3)))*3-Uo(Math.abs(e)))}function r0(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Uo(t)-Uo(e))+1}var ce=1e-6,Mm=1e-12,ye=Math.PI,He=ye/2,n0=ye/4,tr=ye*2,Xt=180/ye,Ye=ye/180,ve=Math.abs,Dn=Math.atan,dr=Math.atan2,se=Math.cos;var Cm=Math.exp;var ms=Math.log,Om=Math.pow,ae=Math.sin,Pr=Math.sign||function(e){return e>0?1:e<0?-1:0},st=Math.sqrt,kc=Math.tan;function km(e){return e>1?0:e<-1?ye:Math.acos(e)}function Mt(e){return e>1?He:e<-1?-He:Math.asin(e)}function rr(){}function Nm(e,t){e&&CP.hasOwnProperty(e.type)&&CP[e.type](e,t)}var MP={Feature:function(e,t){Nm(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,o=r.length;++nye&&(e-=Math.round(e/tr)*tr),[e,t]}i0.invert=i0;function a0(e,t,r){return(e%=tr)?t||r?$f(NP(e),RP(t,r)):NP(e):t||r?RP(t,r):i0}function kP(e){return function(t,r){return t+=e,ve(t)>ye&&(t-=Math.round(t/tr)*tr),[t,r]}}function NP(e){var t=kP(e);return t.invert=kP(-e),t}function RP(e,t){var r=se(e),n=ae(e),o=se(t),i=ae(t);function a(s,c){var u=se(c),f=se(s)*u,p=ae(s)*u,l=ae(c),m=l*r+f*n;return[dr(p*o-m*i,f*r-l*n),Mt(m*o+p*i)]}return a.invert=function(s,c){var u=se(c),f=se(s)*u,p=ae(s)*u,l=ae(c),m=l*o-p*i;return[dr(p*o+l*i,f*r+m*n),Mt(m*r-f*n)]},a}function EP(e){e=a0(e[0]*Ye,e[1]*Ye,e.length>2?e[2]*Ye:0);function t(r){return r=e(r[0]*Ye,r[1]*Ye),r[0]*=Xt,r[1]*=Xt,r}return t.invert=function(r){return r=e.invert(r[0]*Ye,r[1]*Ye),r[0]*=Xt,r[1]*=Xt,r},t}function FP(e,t,r,n,o,i){if(r){var a=se(t),s=ae(t),c=n*r;o==null?(o=t+n*tr,i=t-c/2):(o=AP(a,o),i=AP(a,i),(n>0?oi)&&(o+=n*tr));for(var u,f=o;n>0?f>i:f1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}function Rc(e,t){return ve(e[0]-t[0])=0;--s)o.point((p=f[s])[0],p[1]);else n(l.x,l.p.x,-1,o);l=l.p}l=l.o,f=l.z,m=!m}while(!l.v);o.lineEnd()}}}function $P(e){if(t=e.length){for(var t,r=0,n=e[0],o;++r=0?1:-1,R=P*T,C=R>ye,N=y*v;if(c.add(dr(N*P*ae(R),x*I+N*se(R))),a+=C?T+P*tr:T,C^h>=r^w>=r){var G=Nc(Bo(m),Bo(S));Ff(G);var D=Nc(i,G);Ff(D);var O=(C^T>=0?-1:1)*Mt(D[2]);(n>O||n===O&&(G[0]||G[1]))&&(s+=C^T>=0?1:-1)}}return(a<-ce||a0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v1&&w&2&&_.push(_.pop().concat(_.shift())),f.push(_.filter(x4))}}return l}}function x4(e){return e.length>1}function w4(e,t){return((e=e.x)[0]<0?e[1]-He-ce:He-e[1])-((t=t.x)[0]<0?t[1]-He-ce:He-t[1])}var c0=$m(function(){return!0},S4,I4,[-ye,-He]);function S4(e){var t=NaN,r=NaN,n=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(i,a){var s=i>0?ye:-ye,c=ve(i-t);ve(c-ye)0?He:-He),e.point(n,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(i,r),o=0):n!==s&&c>=ye&&(ve(t-n)ce?Dn((ae(t)*(i=se(n))*ae(r)-ae(n)*(o=se(t))*ae(e))/(o*i*a)):(t+n)/2}function I4(e,t,r,n){var o;if(e==null)o=r*He,n.point(-ye,o),n.point(0,o),n.point(ye,o),n.point(ye,0),n.point(ye,-o),n.point(0,-o),n.point(-ye,-o),n.point(-ye,0),n.point(-ye,o);else if(ve(e[0]-t[0])>ce){var i=e[0]0,o=ve(t)>ce;function i(f,p,l,m){FP(m,e,r,l,f,p)}function a(f,p){return se(f)*se(p)>t}function s(f){var p,l,m,h,b;return{lineStart:function(){h=m=!1,b=1},point:function(y,x){var g=[y,x],S,w=a(y,x),_=n?w?0:u(y,x):w?u(y+(y<0?ye:-ye),x):0;if(!p&&(h=m=w)&&f.lineStart(),w!==m&&(S=c(p,g),(!S||Rc(p,S)||Rc(g,S))&&(g[2]=1)),w!==m)b=0,w?(f.lineStart(),S=c(g,p),f.point(S[0],S[1])):(S=c(p,g),f.point(S[0],S[1],2),f.lineEnd()),p=S;else if(o&&p&&n^w){var v;!(_&l)&&(v=c(g,p,!0))&&(b=0,n?(f.lineStart(),f.point(v[0][0],v[0][1]),f.point(v[1][0],v[1][1]),f.lineEnd()):(f.point(v[1][0],v[1][1]),f.lineEnd(),f.lineStart(),f.point(v[0][0],v[0][1],3)))}w&&(!p||!Rc(p,g))&&f.point(g[0],g[1]),p=g,m=w,l=_},lineEnd:function(){m&&f.lineEnd(),p=null},clean:function(){return b|(h&&m)<<1}}}function c(f,p,l){var m=Bo(f),h=Bo(p),b=[1,0,0],y=Nc(m,h),x=Ef(y,y),g=y[0],S=x-g*g;if(!S)return!l&&f;var w=t*x/S,_=-t*g/S,v=Nc(b,y),I=Af(b,w),T=Af(y,_);Rm(I,T);var P=v,R=Ef(I,P),C=Ef(P,P),N=R*R-C*(Ef(I,I)-1);if(!(N<0)){var G=st(N),D=Af(P,(-R-G)/C);if(Rm(D,I),D=Rf(D),!l)return D;var O=f[0],z=p[0],U=f[1],W=p[1],B;z0^D[1]<(ve(D[0]-O)ye^(O<=D[0]&&D[0]<=z)){var A=Af(P,(-R+G)/C);return Rm(A,I),[D,Rf(A)]}}}function u(f,p){var l=n?e:ye-e,m=0;return f<-l?m|=1:f>l&&(m|=2),p<-l?m|=4:p>l&&(m|=8),m}return $m(a,s,i,n?[0,-e]:[-ye,e-ye])}function VP(e,t,r,n,o,i){var a=e[0],s=e[1],c=t[0],u=t[1],f=0,p=1,l=c-a,m=u-s,h;if(h=r-a,!(!l&&h>0)){if(h/=l,l<0){if(h0){if(h>p)return;h>f&&(f=h)}if(h=o-a,!(!l&&h<0)){if(h/=l,l<0){if(h>p)return;h>f&&(f=h)}else if(l>0){if(h0)){if(h/=m,m<0){if(h0){if(h>p)return;h>f&&(f=h)}if(h=i-s,!(!m&&h<0)){if(h/=m,m<0){if(h>p)return;h>f&&(f=h)}else if(m>0){if(h0&&(e[0]=a+f*l,e[1]=s+f*m),p<1&&(t[0]=a+p*l,t[1]=s+p*m),!0}}}}}var Df=1e9,Dm=-Df;function Ec(e,t,r,n){function o(u,f){return e<=u&&u<=r&&t<=f&&f<=n}function i(u,f,p,l){var m=0,h=0;if(u==null||(m=a(u,p))!==(h=a(f,p))||c(u,f)<0^p>0)do l.point(m===0||m===3?e:r,m>1?n:t);while((m=(m+p+4)%4)!==h);else l.point(f[0],f[1])}function a(u,f){return ve(u[0]-e)0?0:3:ve(u[0]-r)0?2:1:ve(u[1]-t)0?1:0:f>0?3:2}function s(u,f){return c(u.x,f.x)}function c(u,f){var p=a(u,1),l=a(f,1);return p!==l?p-l:p===0?f[1]-u[1]:p===1?u[0]-f[0]:p===2?u[1]-f[1]:f[0]-u[0]}return function(u){var f=u,p=Em(),l,m,h,b,y,x,g,S,w,_,v,I={point:T,lineStart:N,lineEnd:G,polygonStart:R,polygonEnd:C};function T(O,z){o(O,z)&&f.point(O,z)}function P(){for(var O=0,z=0,U=m.length;zn&&(K-J)*(n-A)>(Y-A)*(e-J)&&++O:Y<=n&&(K-J)*(n-A)<(Y-A)*(e-J)&&--O;return O}function R(){f=p,l=[],m=[],v=!0}function C(){var O=P(),z=v&&O,U=(l=Sc(l)).length;(z||U)&&(u.polygonStart(),z&&(u.lineStart(),i(null,null,1,u),u.lineEnd()),U&&Fm(l,s,O,i,u),u.polygonEnd()),f=u,l=m=h=null}function N(){I.point=D,m&&m.push(h=[]),_=!0,w=!1,g=S=NaN}function G(){l&&(D(b,y),x&&w&&p.rejoin(),l.push(p.result())),I.point=T,w&&f.lineEnd()}function D(O,z){var U=o(O,z);if(m&&h.push([O,z]),_)b=O,y=z,x=U,_=!1,U&&(f.lineStart(),f.point(O,z));else if(U&&w)f.point(O,z);else{var W=[g=Math.max(Dm,Math.min(Df,g)),S=Math.max(Dm,Math.min(Df,S))],B=[O=Math.max(Dm,Math.min(Df,O)),z=Math.max(Dm,Math.min(Df,z))];VP(W,B,e,t,r,n)?(w||(f.lineStart(),f.point(W[0],W[1])),f.point(B[0],B[1]),U||f.lineEnd(),v=!1):U&&(f.lineStart(),f.point(O,z),v=!1)}g=O,S=z,w=U}return I}}var Lf=e=>e;var u0=new mn,f0=new mn,jP,UP,l0,p0,ba={point:rr,lineStart:rr,lineEnd:rr,polygonStart:function(){ba.lineStart=_4,ba.lineEnd=T4},polygonEnd:function(){ba.lineStart=ba.lineEnd=ba.point=rr,u0.add(ve(f0)),f0=new mn},result:function(){var e=u0/2;return u0=new mn,e}};function _4(){ba.point=P4}function P4(e,t){ba.point=zP,jP=l0=e,UP=p0=t}function zP(e,t){f0.add(p0*e-l0*t),l0=e,p0=t}function T4(){zP(jP,UP)}var m0=ba;var Ac=1/0,Lm=Ac,Vf=-Ac,Vm=Vf,M4={point:C4,lineStart:rr,lineEnd:rr,polygonStart:rr,polygonEnd:rr,result:function(){var e=[[Ac,Lm],[Vf,Vm]];return Vf=Vm=-(Lm=Ac=1/0),e}};function C4(e,t){eVf&&(Vf=e),tVm&&(Vm=t)}var Fc=M4;var d0=0,h0=0,jf=0,jm=0,Um=0,$c=0,g0=0,y0=0,Uf=0,KP,qP,Go,Ko,ho={point:ds,lineStart:BP,lineEnd:GP,polygonStart:function(){ho.lineStart=N4,ho.lineEnd=R4},polygonEnd:function(){ho.point=ds,ho.lineStart=BP,ho.lineEnd=GP},result:function(){var e=Uf?[g0/Uf,y0/Uf]:$c?[jm/$c,Um/$c]:jf?[d0/jf,h0/jf]:[NaN,NaN];return d0=h0=jf=jm=Um=$c=g0=y0=Uf=0,e}};function ds(e,t){d0+=e,h0+=t,++jf}function BP(){ho.point=O4}function O4(e,t){ho.point=k4,ds(Go=e,Ko=t)}function k4(e,t){var r=e-Go,n=t-Ko,o=st(r*r+n*n);jm+=o*(Go+e)/2,Um+=o*(Ko+t)/2,$c+=o,ds(Go=e,Ko=t)}function GP(){ho.point=ds}function N4(){ho.point=E4}function R4(){HP(KP,qP)}function E4(e,t){ho.point=HP,ds(KP=Go=e,qP=Ko=t)}function HP(e,t){var r=e-Go,n=t-Ko,o=st(r*r+n*n);jm+=o*(Go+e)/2,Um+=o*(Ko+t)/2,$c+=o,o=Ko*e-Go*t,g0+=o*(Go+e),y0+=o*(Ko+t),Uf+=o*3,ds(Go=e,Ko=t)}var b0=ho;function zm(e){this._context=e}zm.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,tr);break}}},result:rr};var w0=new mn,x0,YP,WP,zf,Bf,Bm={point:rr,lineStart:function(){Bm.point=A4},lineEnd:function(){x0&&XP(YP,WP),Bm.point=rr},polygonStart:function(){x0=!0},polygonEnd:function(){x0=null},result:function(){var e=+w0;return w0=new mn,e}};function A4(e,t){Bm.point=XP,YP=zf=e,WP=Bf=t}function XP(e,t){zf-=e,Bf-=t,w0.add(st(zf*zf+Bf*Bf)),zf=e,Bf=t}var S0=Bm;var ZP,Gm,QP,JP,Dc=class{constructor(t){this._append=t==null?eT:F4(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,r){switch(this._point){case 0:{this._append`M${t},${r}`,this._point=1;break}case 1:{this._append`L${t},${r}`;break}default:{if(this._append`M${t},${r}`,this._radius!==QP||this._append!==Gm){let n=this._radius,o=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,QP=n,Gm=this._append,JP=this._,this._=o}this._+=JP;break}}}result(){let t=this._;return this._="",t.length?t:null}};function eT(e){let t=1;this._+=e[0];for(let r=e.length;t=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return eT;if(t!==ZP){let r=10**t;ZP=t,Gm=function(o){let i=1;this._+=o[0];for(let a=o.length;i=0))throw new RangeError(`invalid digits: ${s}`);r=c}return t===null&&(i=new Dc(r)),a},a.projection(e).digits(r).context(t)}function Vc(e){return{stream:jc(e)}}function jc(e){return function(t){var r=new v0;for(var n in e)r[n]=e[n];return r.stream=t,r}}function v0(){}v0.prototype={constructor:v0,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function I0(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),n!=null&&e.clipExtent(null),mo(r,e.stream(Fc)),t(Fc.result()),n!=null&&e.clipExtent(n),e}function Gf(e,t,r){return I0(e,function(n){var o=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(o/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),s=+t[0][0]+(o-a*(n[1][0]+n[0][0]))/2,c=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([s,c])},r)}function Km(e,t,r){return Gf(e,[[0,0],t],r)}function qm(e,t,r){return I0(e,function(n){var o=+t,i=o/(n[1][0]-n[0][0]),a=(o-i*(n[1][0]+n[0][0]))/2,s=-i*n[0][1];e.scale(150*i).translate([a,s])},r)}function Hm(e,t,r){return I0(e,function(n){var o=+t,i=o/(n[1][1]-n[0][1]),a=-i*n[0][0],s=(o-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,s])},r)}var tT=16,$4=se(30*Ye);function _0(e,t){return+t?L4(e,t):D4(e)}function D4(e){return jc({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}function L4(e,t){function r(n,o,i,a,s,c,u,f,p,l,m,h,b,y){var x=u-n,g=f-o,S=x*x+g*g;if(S>4*t&&b--){var w=a+l,_=s+m,v=c+h,I=st(w*w+_*_+v*v),T=Mt(v/=I),P=ve(ve(v)-1)t||ve((x*G+g*D)/S-.5)>.3||a*l+s*m+c*h<$4)&&(r(n,o,i,a,s,c,C,N,P,w/=I,_/=I,v,b,y),y.point(C,N),r(C,N,P,w,_,v,u,f,p,l,m,h,b,y))}}return function(n){var o,i,a,s,c,u,f,p,l,m,h,b,y={point:x,lineStart:g,lineEnd:w,polygonStart:function(){n.polygonStart(),y.lineStart=_},polygonEnd:function(){n.polygonEnd(),y.lineStart=g}};function x(T,P){T=e(T,P),n.point(T[0],T[1])}function g(){p=NaN,y.point=S,n.lineStart()}function S(T,P){var R=Bo([T,P]),C=e(T,P);r(p,l,f,m,h,b,p=C[0],l=C[1],f=T,m=R[0],h=R[1],b=R[2],tT,n),n.point(p,l)}function w(){y.point=x,n.lineEnd()}function _(){g(),y.point=v,y.lineEnd=I}function v(T,P){S(o=T,P),i=p,a=l,s=m,c=h,u=b,y.point=S}function I(){r(p,l,f,m,h,b,i,a,o,s,c,u,tT,n),y.lineEnd=w,w()}return y}}var V4=jc({point:function(e,t){this.stream.point(e*Ye,t*Ye)}});function j4(e){return jc({point:function(t,r){var n=e(t,r);return this.stream.point(n[0],n[1])}})}function U4(e,t,r,n,o){function i(a,s){return a*=n,s*=o,[t+e*a,r-e*s]}return i.invert=function(a,s){return[(a-t)/e*n,(r-s)/e*o]},i}function rT(e,t,r,n,o,i){if(!i)return U4(e,t,r,n,o);var a=se(i),s=ae(i),c=a*e,u=s*e,f=a/e,p=s/e,l=(s*r-a*t)/e,m=(s*t+a*r)/e;function h(b,y){return b*=n,y*=o,[c*b-u*y+t,r-u*b-c*y]}return h.invert=function(b,y){return[n*(f*b-p*y+l),o*(m-p*b-f*y)]},h}function hr(e){return P0(function(){return e})()}function P0(e){var t,r=150,n=480,o=250,i=0,a=0,s=0,c=0,u=0,f,p=0,l=1,m=1,h=null,b=c0,y=null,x,g,S,w=Lf,_=.5,v,I,T,P,R;function C(O){return T(O[0]*Ye,O[1]*Ye)}function N(O){return O=T.invert(O[0],O[1]),O&&[O[0]*Xt,O[1]*Xt]}C.stream=function(O){return P&&R===O?P:P=V4(j4(f)(b(v(w(R=O)))))},C.preclip=function(O){return arguments.length?(b=O,h=void 0,D()):b},C.postclip=function(O){return arguments.length?(w=O,y=x=g=S=null,D()):w},C.clipAngle=function(O){return arguments.length?(b=+O?LP(h=O*Ye):(h=null,c0),D()):h*Xt},C.clipExtent=function(O){return arguments.length?(w=O==null?(y=x=g=S=null,Lf):Ec(y=+O[0][0],x=+O[0][1],g=+O[1][0],S=+O[1][1]),D()):y==null?null:[[y,x],[g,S]]},C.scale=function(O){return arguments.length?(r=+O,G()):r},C.translate=function(O){return arguments.length?(n=+O[0],o=+O[1],G()):[n,o]},C.center=function(O){return arguments.length?(i=O[0]%360*Ye,a=O[1]%360*Ye,G()):[i*Xt,a*Xt]},C.rotate=function(O){return arguments.length?(s=O[0]%360*Ye,c=O[1]%360*Ye,u=O.length>2?O[2]%360*Ye:0,G()):[s*Xt,c*Xt,u*Xt]},C.angle=function(O){return arguments.length?(p=O%360*Ye,G()):p*Xt},C.reflectX=function(O){return arguments.length?(l=O?-1:1,G()):l<0},C.reflectY=function(O){return arguments.length?(m=O?-1:1,G()):m<0},C.precision=function(O){return arguments.length?(v=_0(I,_=O*O),D()):st(_)},C.fitExtent=function(O,z){return Gf(C,O,z)},C.fitSize=function(O,z){return Km(C,O,z)},C.fitWidth=function(O,z){return qm(C,O,z)},C.fitHeight=function(O,z){return Hm(C,O,z)};function G(){var O=rT(r,0,0,l,m,p).apply(null,t(i,a)),z=rT(r,n-O[0],o-O[1],l,m,p);return f=a0(s,c,u),I=$f(t,z),T=$f(f,I),v=_0(I,_),D()}function D(){return P=R=null,C}return function(){return t=e.apply(this,arguments),C.invert=t.invert&&N,G()}}function Uc(e){var t=0,r=ye/3,n=P0(e),o=n(t,r);return o.parallels=function(i){return arguments.length?n(t=i[0]*Ye,r=i[1]*Ye):[t*Xt,r*Xt]},o}function nT(e){var t=se(e);function r(n,o){return[n*t,ae(o)/t]}return r.invert=function(n,o){return[n/t,Mt(o*t)]},r}function oT(e,t){var r=ae(e),n=(r+ae(t))/2;if(ve(n)=.12&&y<.234&&b>=-.425&&b<-.214?o:y>=.166&&y<.234&&b>=-.214&&b<-.115?a:r).invert(l)},f.stream=function(l){return e&&t===l?e:e=z4([r.stream(t=l),o.stream(l),a.stream(l)])},f.precision=function(l){return arguments.length?(r.precision(l),o.precision(l),a.precision(l),p()):r.precision()},f.scale=function(l){return arguments.length?(r.scale(l),o.scale(l*.35),a.scale(l),f.translate(r.translate())):r.scale()},f.translate=function(l){if(!arguments.length)return r.translate();var m=r.scale(),h=+l[0],b=+l[1];return n=r.translate(l).clipExtent([[h-.455*m,b-.238*m],[h+.455*m,b+.238*m]]).stream(u),i=o.translate([h-.307*m,b+.201*m]).clipExtent([[h-.425*m+ce,b+.12*m+ce],[h-.214*m-ce,b+.234*m-ce]]).stream(u),s=a.translate([h-.205*m,b+.212*m]).clipExtent([[h-.214*m+ce,b+.166*m+ce],[h-.115*m-ce,b+.234*m-ce]]).stream(u),p()},f.fitExtent=function(l,m){return Gf(f,l,m)},f.fitSize=function(l,m){return Km(f,l,m)},f.fitWidth=function(l,m){return qm(f,l,m)},f.fitHeight=function(l,m){return Hm(f,l,m)};function p(){return e=t=null,f}return f.scale(1070)}function Ym(e){return function(t,r){var n=se(t),o=se(r),i=e(n*o);return i===1/0?[2,0]:[i*o*ae(t),i*ae(r)]}}function qo(e){return function(t,r){var n=st(t*t+r*r),o=e(n),i=ae(o),a=se(o);return[dr(t*i,n*a),Mt(n&&r*i/n)]}}var M0=Ym(function(e){return st(2/(1+e))});M0.invert=qo(function(e){return 2*Mt(e/2)});function C0(){return hr(M0).scale(124.75).clipAngle(180-.001)}var O0=Ym(function(e){return(e=km(e))&&e/ae(e)});O0.invert=qo(function(e){return e});function k0(){return hr(O0).scale(79.4188).clipAngle(180-.001)}function zc(e,t){return[e,ms(kc((He+t)/2))]}zc.invert=function(e,t){return[e,2*Dn(Cm(t))-He]};function N0(){return R0(zc).scale(961/tr)}function R0(e){var t=hr(e),r=t.center,n=t.scale,o=t.translate,i=t.clipExtent,a=null,s,c,u;t.scale=function(p){return arguments.length?(n(p),f()):n()},t.translate=function(p){return arguments.length?(o(p),f()):o()},t.center=function(p){return arguments.length?(r(p),f()):r()},t.clipExtent=function(p){return arguments.length?(p==null?a=s=c=u=null:(a=+p[0][0],s=+p[0][1],c=+p[1][0],u=+p[1][1]),f()):a==null?null:[[a,s],[c,u]]};function f(){var p=ye*n(),l=t(EP(t.rotate()).invert([0,0]));return i(a==null?[[l[0]-p,l[1]-p],[l[0]+p,l[1]+p]]:e===zc?[[Math.max(l[0]-p,a),s],[Math.min(l[0]+p,c),u]]:[[a,Math.max(l[1]-p,s)],[c,Math.min(l[1]+p,u)]])}return f()}function Wm(e){return kc((He+e)/2)}function iT(e,t){var r=se(e),n=e===t?ae(e):ms(r/se(t))/ms(Wm(t)/Wm(e)),o=r*Om(Wm(e),n)/n;if(!n)return zc;function i(a,s){o>0?s<-He+ce&&(s=-He+ce):s>He-ce&&(s=He-ce);var c=o/Om(Wm(s),n);return[c*ae(n*a),o-c*se(n*a)]}return i.invert=function(a,s){var c=o-s,u=Pr(n)*st(a*a+c*c),f=dr(a,ve(c))*Pr(c);return c*n<0&&(f-=ye*Pr(a)*Pr(c)),[f/n,2*Dn(Om(o/u,1/n))-He]},i}function E0(){return Uc(iT).scale(109.5).parallels([30,30])}function Bc(e,t){return[e,t]}Bc.invert=Bc;function A0(){return hr(Bc).scale(152.63)}function aT(e,t){var r=se(e),n=e===t?ae(e):(r-se(t))/(t-e),o=r/n+e;if(ve(n)2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])},r([0,0,90]).scale(159.155)}function Gt(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Xf(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var Zf=Symbol("implicit");function hs(){var e=new Ar,t=[],r=[],n=Zf;function o(i){let a=e.get(i);if(a===void 0){if(n!==Zf)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return o.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Ar;for(let a of i)e.has(a)||e.set(a,t.push(a)-1);return o},o.range=function(i){return arguments.length?(r=Array.from(i),o):r.slice()},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return hs(t,r).unknown(n)},Gt.apply(o,arguments),o}function wa(){var e=hs().unknown(void 0),t=e.domain,r=e.range,n=0,o=1,i,a,s=!1,c=0,u=0,f=.5;delete e.unknown;function p(){var l=t().length,m=ot&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function K4(e,t,r){var n=e[0],o=e[1],i=t[0],a=t[1];return o2?q4:K4,c=u=null,p}function p(l){return l==null||isNaN(l=+l)?i:(c||(c=s(e.map(n),t,r)))(n(a(l)))}return p.invert=function(l){return a(o((u||(u=s(t,e.map(n),mt)))(l)))},p.domain=function(l){return arguments.length?(e=Array.from(l,Gc),f()):e.slice()},p.range=function(l){return arguments.length?(t=Array.from(l),f()):t.slice()},p.rangeRound=function(l){return t=Array.from(l),r=us,f()},p.clamp=function(l){return arguments.length?(a=l?!0:Xr,f()):a!==Xr},p.interpolate=function(l){return arguments.length?(r=l,f()):r},p.unknown=function(l){return arguments.length?(i=l,p):i},function(l,m){return n=l,o=m,f()}}function Qf(){return gs()(Xr,Xr)}function W0(e,t,r,n){var o=wc(e,t,r),i;switch(n=zo(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=t0(o,a))&&(n.precision=i),Tm(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=r0(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=e0(o))&&(n.precision=i-(n.type==="%")*2);break}}return $n(n)}function Ni(e){var t=e.domain;return e.ticks=function(r){var n=t();return uo(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return W0(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,i=n.length-1,a=n[o],s=n[i],c,u,f=10;for(s0;){if(u=ts(a,s,r),u===c)return n[o]=a,n[i]=s,t(n);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;c=u}return e},e}function ys(){var e=Qf();return e.copy=function(){return Ho(e,ys())},Gt.apply(e,arguments),Ni(e)}function Jf(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Gc),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Jf(e).unknown(t)},e=arguments.length?Array.from(e,Gc):[0,1],Ni(r)}function el(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],i=e[n],a;return iMath.pow(e,t)}function Z4(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function lT(e){return(t,r)=>-e(-t,r)}function X0(e){let t=e(uT,fT),r=t.domain,n=10,o,i;function a(){return o=Z4(n),i=X4(n),r()[0]<0?(o=lT(o),i=lT(i),e(H4,Y4)):e(uT,fT),t}return t.base=function(s){return arguments.length?(n=+s,a()):n},t.domain=function(s){return arguments.length?(r(s),a()):r()},t.ticks=s=>{let c=r(),u=c[0],f=c[c.length-1],p=f0){for(;l<=m;++l)for(h=1;hf)break;x.push(b)}}else for(;l<=m;++l)for(h=n-1;h>=1;--h)if(b=l>0?h/i(-l):h*i(l),!(bf)break;x.push(b)}x.length*2{if(s==null&&(s=10),c==null&&(c=n===10?"s":","),typeof c!="function"&&(!(n%1)&&(c=zo(c)).precision==null&&(c.trim=!0),c=$n(c)),s===1/0)return c;let u=Math.max(1,n*s/t.ticks().length);return f=>{let p=f/i(Math.round(o(f)));return p*nr(el(r(),{floor:s=>i(Math.floor(o(s))),ceil:s=>i(Math.ceil(o(s)))})),t}function tl(){let e=X0(gs()).domain([1,10]);return e.copy=()=>Ho(e,tl()).base(e.base()),Gt.apply(e,arguments),e}function pT(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function mT(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Z0(e){var t=1,r=e(pT(t),mT(t));return r.constant=function(n){return arguments.length?e(pT(t=+n),mT(t)):t},Ni(r)}function rl(){var e=Z0(gs());return e.copy=function(){return Ho(e,rl()).constant(e.constant())},Gt.apply(e,arguments)}function dT(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Q4(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function J4(e){return e<0?-e*e:e*e}function Q0(e){var t=e(Xr,Xr),r=1;function n(){return r===1?e(Xr,Xr):r===.5?e(Q4,J4):e(dT(r),dT(1/r))}return t.exponent=function(o){return arguments.length?(r=+o,n()):r},Ni(t)}function nl(){var e=Q0(gs());return e.copy=function(){return Ho(e,nl()).exponent(e.exponent())},Gt.apply(e,arguments),e}function ol(){var e=[],t=[],r=[],n;function o(){var a=0,s=Math.max(1,t.length);for(r=new Array(s-1);++a0?r[s-1]:e[0],s(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),o.round=i=>{let a=o(i),s=o.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{let c=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i0))return c;let u;do c.push(u=new Date(+i)),t(i,s),e(i);while(urt(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!i(a););else for(;--s>=0;)for(;t(a,1),!i(a););}),r&&(o.count=(i,a)=>(J0.setTime(+i),ex.setTime(+a),e(J0),e(ex),Math.floor(r(J0,ex))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(n?a=>n(a)%i===0:a=>o.count(0,a)%i===0):o)),o}var al=rt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);al.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?rt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):al);var Jde=al.range;var nr=rt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),hT=nr.range;var Ri=rt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),e7=Ri.range,Ei=rt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),t7=Ei.range;var Ai=rt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),r7=Ai.range,Fi=rt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),n7=Fi.range;var Ln=rt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),o7=Ln.range,ws=rt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),i7=ws.range,Ss=rt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),a7=Ss.range;function vs(e){return rt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var gn=vs(0),Sa=vs(1),Zm=vs(2),Qm=vs(3),Wo=vs(4),Jm=vs(5),ed=vs(6),yT=gn.range,s7=Sa.range,c7=Zm.range,u7=Qm.range,f7=Wo.range,l7=Jm.range,p7=ed.range;function Is(e){return rt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var yn=Is(0),va=Is(1),td=Is(2),rd=Is(3),Xo=Is(4),nd=Is(5),od=Is(6),bT=yn.range,m7=va.range,d7=td.range,h7=rd.range,g7=Xo.range,y7=nd.range,b7=od.range;var $i=rt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),x7=$i.range,Di=rt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),w7=Di.range;var Tr=rt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Tr.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:rt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var S7=Tr.range,Mr=rt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Mr.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:rt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var v7=Mr.range;function wT(e,t,r,n,o,i){let a=[[nr,1,1e3],[nr,5,5*1e3],[nr,15,15*1e3],[nr,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function s(u,f,p){let l=fy).right(a,l);if(m===a.length)return e.every(wc(u/31536e6,f/31536e6,p));if(m===0)return al.every(Math.max(wc(u,f,p),1));let[h,b]=a[l/a[m-1][2]53)return null;"w"in E||(E.w=1),"Z"in E?(oe=ix(ul(E.y,0,1)),be=oe.getUTCDay(),oe=be>4||be===0?va.ceil(oe):va(oe),oe=ws.offset(oe,(E.V-1)*7),E.y=oe.getUTCFullYear(),E.m=oe.getUTCMonth(),E.d=oe.getUTCDate()+(E.w+6)%7):(oe=ox(ul(E.y,0,1)),be=oe.getDay(),oe=be>4||be===0?Sa.ceil(oe):Sa(oe),oe=Ln.offset(oe,(E.V-1)*7),E.y=oe.getFullYear(),E.m=oe.getMonth(),E.d=oe.getDate()+(E.w+6)%7)}else("W"in E||"U"in E)&&("w"in E||(E.w="u"in E?E.u%7:"W"in E?1:0),be="Z"in E?ix(ul(E.y,0,1)).getUTCDay():ox(ul(E.y,0,1)).getDay(),E.m=0,E.d="W"in E?(E.w+6)%7+E.W*7-(be+5)%7:E.w+E.U*7-(be+6)%7);return"Z"in E?(E.H+=E.Z/100|0,E.M+=E.Z%100,ix(E)):ox(E)}}function T(M,$,H,E){for(var re=0,oe=$.length,be=H.length,we,Ve;re=be)return-1;if(we=$.charCodeAt(re++),we===37){if(we=$.charAt(re++),Ve=_[we in ST?$.charAt(re++):we],!Ve||(E=Ve(M,H,E))<0)return-1}else if(we!=H.charCodeAt(E++))return-1}return E}function P(M,$,H){var E=u.exec($.slice(H));return E?(M.p=f.get(E[0].toLowerCase()),H+E[0].length):-1}function R(M,$,H){var E=m.exec($.slice(H));return E?(M.w=h.get(E[0].toLowerCase()),H+E[0].length):-1}function C(M,$,H){var E=p.exec($.slice(H));return E?(M.w=l.get(E[0].toLowerCase()),H+E[0].length):-1}function N(M,$,H){var E=x.exec($.slice(H));return E?(M.m=g.get(E[0].toLowerCase()),H+E[0].length):-1}function G(M,$,H){var E=b.exec($.slice(H));return E?(M.m=y.get(E[0].toLowerCase()),H+E[0].length):-1}function D(M,$,H){return T(M,t,$,H)}function O(M,$,H){return T(M,r,$,H)}function z(M,$,H){return T(M,n,$,H)}function U(M){return a[M.getDay()]}function W(M){return i[M.getDay()]}function B(M){return c[M.getMonth()]}function q(M){return s[M.getMonth()]}function X(M){return o[+(M.getHours()>=12)]}function J(M){return 1+~~(M.getMonth()/3)}function A(M){return a[M.getUTCDay()]}function K(M){return i[M.getUTCDay()]}function Y(M){return c[M.getUTCMonth()]}function ee(M){return s[M.getUTCMonth()]}function Z(M){return o[+(M.getUTCHours()>=12)]}function ne(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var $=v(M+="",S);return $.toString=function(){return M},$},parse:function(M){var $=I(M+="",!1);return $.toString=function(){return M},$},utcFormat:function(M){var $=v(M+="",w);return $.toString=function(){return M},$},utcParse:function(M){var $=I(M+="",!0);return $.toString=function(){return M},$}}}var ST={"-":"",_:" ",0:"0"},or=/^\s*\d+/,_7=/^%/,P7=/[\\^$*+?|[\]().{}]/g;function je(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",i=o.length;return n+(i[t.toLowerCase(),r]))}function M7(e,t,r){var n=or.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function C7(e,t,r){var n=or.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function O7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function k7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function N7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function vT(e,t,r){var n=or.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function IT(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function R7(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function E7(e,t,r){var n=or.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function A7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function _T(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function F7(e,t,r){var n=or.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function PT(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function $7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function D7(e,t,r){var n=or.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function L7(e,t,r){var n=or.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function V7(e,t,r){var n=or.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function j7(e,t,r){var n=_7.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function U7(e,t,r){var n=or.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function z7(e,t,r){var n=or.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function TT(e,t){return je(e.getDate(),t,2)}function B7(e,t){return je(e.getHours(),t,2)}function G7(e,t){return je(e.getHours()%12||12,t,2)}function K7(e,t){return je(1+Ln.count(Tr(e),e),t,3)}function NT(e,t){return je(e.getMilliseconds(),t,3)}function q7(e,t){return NT(e,t)+"000"}function H7(e,t){return je(e.getMonth()+1,t,2)}function Y7(e,t){return je(e.getMinutes(),t,2)}function W7(e,t){return je(e.getSeconds(),t,2)}function X7(e){var t=e.getDay();return t===0?7:t}function Z7(e,t){return je(gn.count(Tr(e)-1,e),t,2)}function RT(e){var t=e.getDay();return t>=4||t===0?Wo(e):Wo.ceil(e)}function Q7(e,t){return e=RT(e),je(Wo.count(Tr(e),e)+(Tr(e).getDay()===4),t,2)}function J7(e){return e.getDay()}function eF(e,t){return je(Sa.count(Tr(e)-1,e),t,2)}function tF(e,t){return je(e.getFullYear()%100,t,2)}function rF(e,t){return e=RT(e),je(e.getFullYear()%100,t,2)}function nF(e,t){return je(e.getFullYear()%1e4,t,4)}function oF(e,t){var r=e.getDay();return e=r>=4||r===0?Wo(e):Wo.ceil(e),je(e.getFullYear()%1e4,t,4)}function iF(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+je(t/60|0,"0",2)+je(t%60,"0",2)}function MT(e,t){return je(e.getUTCDate(),t,2)}function aF(e,t){return je(e.getUTCHours(),t,2)}function sF(e,t){return je(e.getUTCHours()%12||12,t,2)}function cF(e,t){return je(1+ws.count(Mr(e),e),t,3)}function ET(e,t){return je(e.getUTCMilliseconds(),t,3)}function uF(e,t){return ET(e,t)+"000"}function fF(e,t){return je(e.getUTCMonth()+1,t,2)}function lF(e,t){return je(e.getUTCMinutes(),t,2)}function pF(e,t){return je(e.getUTCSeconds(),t,2)}function mF(e){var t=e.getUTCDay();return t===0?7:t}function dF(e,t){return je(yn.count(Mr(e)-1,e),t,2)}function AT(e){var t=e.getUTCDay();return t>=4||t===0?Xo(e):Xo.ceil(e)}function hF(e,t){return e=AT(e),je(Xo.count(Mr(e),e)+(Mr(e).getUTCDay()===4),t,2)}function gF(e){return e.getUTCDay()}function yF(e,t){return je(va.count(Mr(e)-1,e),t,2)}function bF(e,t){return je(e.getUTCFullYear()%100,t,2)}function xF(e,t){return e=AT(e),je(e.getUTCFullYear()%100,t,2)}function wF(e,t){return je(e.getUTCFullYear()%1e4,t,4)}function SF(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Xo(e):Xo.ceil(e),je(e.getUTCFullYear()%1e4,t,4)}function vF(){return"+0000"}function CT(){return"%"}function OT(e){return+e}function kT(e){return Math.floor(+e/1e3)}var Kc,qc,FT,Zo,$T;sx({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sx(e){return Kc=ax(e),qc=Kc.format,FT=Kc.parse,Zo=Kc.utcFormat,$T=Kc.utcParse,Kc}function IF(e){return new Date(e)}function _F(e){return e instanceof Date?+e:+new Date(+e)}function id(e,t,r,n,o,i,a,s,c,u){var f=Qf(),p=f.invert,l=f.domain,m=u(".%L"),h=u(":%S"),b=u("%I:%M"),y=u("%I %p"),x=u("%a %d"),g=u("%b %d"),S=u("%B"),w=u("%Y");function _(v){return(c(v)Lb(e[e.length-1]);var pd=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Q),md=ue(pd);var dd=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Q),hd=ue(dd);var gd=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Q),yd=ue(gd);var bd=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Q),xd=ue(bd);var dl=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Q),Hc=ue(dl);var wd=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Q),Sd=ue(wd);var hl=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Q),Yc=ue(hl);var vd=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Q),Id=ue(vd);var _d=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Q),Pd=ue(_d);var Td=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Q),Md=ue(Td);var Cd=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Q),Od=ue(Cd);var kd=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Q),Nd=ue(kd);var Rd=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Q),Ed=ue(Rd);var Ad=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Q),Fd=ue(Ad);var $d=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Q),Dd=ue($d);var Ld=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Q),Vd=ue(Ld);var jd=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Q),Ud=ue(jd);var zd=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Q),Bd=ue(zd);var Gd=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Q),Kd=ue(Gd);var qd=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Q),Hd=ue(qd);var Yd=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Q),Wd=ue(Yd);var Xd=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Q),Zd=ue(Xd);var Qd=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Q),Jd=ue(Qd);var eh=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Q),th=ue(eh);var rh=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Q),nh=ue(rh);var oh=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Q),ih=ue(oh);var ah=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Q),sh=ue(ah);function ch(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}var uh=Mc(Dr(300,.5,0),Dr(-240,.5,1));var lh=Mc(Dr(-100,.75,.35),Dr(80,1.5,.8)),ph=Mc(Dr(260,.75,.35),Dr(80,1.5,.8)),fh=Dr();function mh(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return fh.h=360*e-100,fh.s=1.5-1.5*t,fh.l=.8-.9*t,fh+""}var dh=An(),PF=Math.PI/3,TF=Math.PI*2/3;function hh(e){var t;return e=(.5-e)*Math.PI,dh.r=255*(t=Math.sin(e))*t,dh.g=255*(t=Math.sin(e+PF))*t,dh.b=255*(t=Math.sin(e+TF))*t,dh+""}function gh(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function yh(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var bh=yh(Q("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),xh=yh(Q("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),wh=yh(Q("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Sh=yh(Q("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Kt(e){return function(){return e}}var xx=Math.cos;var Wc=Math.min,gl=Math.sin,Ue=Math.sqrt,wx=1e-12,_s=Math.PI,_0e=_s/2,Xc=2*_s;function vh(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new ya(t)}var C0e=Array.prototype.slice;function Ih(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function DT(e){this._context=e}DT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Li(e){return new DT(e)}function _h(e){return e[0]}function Ph(e){return e[1]}function yl(e,t){var r=Kt(!0),n=null,o=Li,i=null,a=vh(s);e=typeof e=="function"?e:e===void 0?_h:Kt(e),t=typeof t=="function"?t:t===void 0?Ph:Kt(t);function s(c){var u,f=(c=Ih(c)).length,p,l=!1,m;for(n==null&&(i=o(m=a())),u=0;u<=f;++u)!(u=m;--h)s.point(S[h],w[h]);s.lineEnd(),s.areaEnd()}x&&(S[l]=+e(y,l,p),w[l]=+t(y,l,p),s.point(n?+n(y,l,p):S[l],r?+r(y,l,p):w[l]))}if(g)return s=null,g+""||null}function f(){return yl().defined(o).curve(a).context(i)}return u.x=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),n=null,u):e},u.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),u):e},u.x1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Kt(+p),u):n},u.y=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),r=null,u):t},u.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),u):t},u.y1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Kt(+p),u):r},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(r)},u.lineX1=function(){return f().x(n).y(t)},u.defined=function(p){return arguments.length?(o=typeof p=="function"?p:Kt(!!p),u):o},u.curve=function(p){return arguments.length?(a=p,i!=null&&(s=a(i)),u):a},u.context=function(p){return arguments.length?(p==null?i=s=null:s=a(i=p),u):i},u}var Th=class{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}};function vx(e){return new Th(e,!0)}function Ix(e){return new Th(e,!1)}var MF=Ue(3),bl={draw(e,t){let r=Ue(t+Wc(t/28,.75))*.59436,n=r/2,o=n*MF;e.moveTo(0,r),e.lineTo(0,-r),e.moveTo(-o,-n),e.lineTo(o,n),e.moveTo(-o,n),e.lineTo(o,-n)}};var Vi={draw(e,t){let r=Ue(t/_s);e.moveTo(r,0),e.arc(0,0,r,0,Xc)}};var xl={draw(e,t){let r=Ue(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var LT=Ue(1/3),CF=LT*2,wl={draw(e,t){let r=Ue(t/CF),n=r*LT;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var Sl={draw(e,t){let r=Ue(t)*.62625;e.moveTo(0,-r),e.lineTo(r,0),e.lineTo(0,r),e.lineTo(-r,0),e.closePath()}};var vl={draw(e,t){let r=Ue(t-Wc(t/7,2))*.87559;e.moveTo(-r,0),e.lineTo(r,0),e.moveTo(0,r),e.lineTo(0,-r)}};var Il={draw(e,t){let r=Ue(t),n=-r/2;e.rect(n,n,r,r)}};var _l={draw(e,t){let r=Ue(t)*.4431;e.moveTo(r,r),e.lineTo(r,-r),e.lineTo(-r,-r),e.lineTo(-r,r),e.closePath()}};var OF=.8908130915292852,VT=gl(_s/10)/gl(7*_s/10),kF=gl(Xc/10)*VT,NF=-xx(Xc/10)*VT,Pl={draw(e,t){let r=Ue(t*OF),n=kF*r,o=NF*r;e.moveTo(0,-r),e.lineTo(n,o);for(let i=1;i<5;++i){let a=Xc*i/5,s=xx(a),c=gl(a);e.lineTo(c*r,-s*r),e.lineTo(s*n-c*o,c*n+s*o)}e.closePath()}};var _x=Ue(3),Tl={draw(e,t){let r=-Ue(t/(_x*3));e.moveTo(0,r*2),e.lineTo(-_x*r,-r),e.lineTo(_x*r,-r),e.closePath()}};var RF=Ue(3),Ml={draw(e,t){let r=Ue(t)*.6824,n=r/2,o=r*RF/2;e.moveTo(0,-r),e.lineTo(o,n),e.lineTo(-o,n),e.closePath()}};var Vn=-.5,jn=Ue(3)/2,Px=1/Ue(12),EF=(Px/2+1)*3,Cl={draw(e,t){let r=Ue(t/EF),n=r/2,o=r*Px,i=n,a=r*Px+r,s=-i,c=a;e.moveTo(n,o),e.lineTo(i,a),e.lineTo(s,c),e.lineTo(Vn*n-jn*o,jn*n+Vn*o),e.lineTo(Vn*i-jn*a,jn*i+Vn*a),e.lineTo(Vn*s-jn*c,jn*s+Vn*c),e.lineTo(Vn*n+jn*o,Vn*o-jn*n),e.lineTo(Vn*i+jn*a,Vn*a-jn*i),e.lineTo(Vn*s+jn*c,Vn*c-jn*s),e.closePath()}};var Zc={draw(e,t){let r=Ue(t-Wc(t/6,1.7))*.6189;e.moveTo(-r,-r),e.lineTo(r,r),e.moveTo(-r,r),e.lineTo(r,-r)}};var Mh=[Vi,xl,wl,Il,Pl,Tl,Cl],Tx=[Vi,vl,Zc,Ml,bl,_l,Sl];function Un(){}function Qc(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Ol(e){this._context=e}Ol.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Qc(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Mx(e){return new Ol(e)}function jT(e){this._context=e}jT.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Cx(e){return new jT(e)}function UT(e){this._context=e}UT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Qc(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ox(e){return new UT(e)}function zT(e,t){this._basis=new Ol(e),this._beta=t}zT.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var n=e[0],o=t[0],i=e[r]-n,a=t[r]-o,s=-1,c;++s<=r;)c=s/r,this._basis.point(this._beta*e[s]+(1-this._beta)*(n+c*i),this._beta*t[s]+(1-this._beta)*(o+c*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var kx=(function e(t){function r(n){return t===1?new Ol(n):new zT(n,t)}return r.beta=function(n){return e(+n)},r})(.85);function Jc(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function Ch(e,t){this._context=e,this._k=(1-t)/6}Ch.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Jc(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Jc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Nx=(function e(t){function r(n){return new Ch(n,t)}return r.tension=function(n){return e(+n)},r})(0);function Oh(e,t){this._context=e,this._k=(1-t)/6}Oh.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Jc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Rx=(function e(t){function r(n){return new Oh(n,t)}return r.tension=function(n){return e(+n)},r})(0);function kh(e,t){this._context=e,this._k=(1-t)/6}kh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Jc(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ex=(function e(t){function r(n){return new kh(n,t)}return r.tension=function(n){return e(+n)},r})(0);function kl(e,t,r){var n=e._x1,o=e._y1,i=e._x2,a=e._y2;if(e._l01_a>wx){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,o=(o*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>wx){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,f=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*u+e._x1*e._l23_2a-t*e._l12_2a)/f,a=(a*u+e._y1*e._l23_2a-r*e._l12_2a)/f}e._context.bezierCurveTo(n,o,i,a,e._x2,e._y2)}function BT(e,t){this._context=e,this._alpha=t}BT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:kl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ax=(function e(t){function r(n){return t?new BT(n,t):new Ch(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function GT(e,t){this._context=e,this._alpha=t}GT.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:kl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Fx=(function e(t){function r(n){return t?new GT(n,t):new Oh(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function KT(e,t){this._context=e,this._alpha=t}KT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:kl(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var $x=(function e(t){function r(n){return t?new KT(n,t):new kh(n,0)}return r.alpha=function(n){return e(+n)},r})(.5);function qT(e){this._context=e}qT.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Dx(e){return new qT(e)}function HT(e){return e<0?-1:1}function YT(e,t,r){var n=e._x1-e._x0,o=t-e._x1,i=(e._y1-e._y0)/(n||o<0&&-0),a=(r-e._y1)/(o||n<0&&-0),s=(i*o+a*n)/(n+o);return(HT(i)+HT(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(s))||0}function WT(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Lx(e,t,r){var n=e._x0,o=e._y0,i=e._x1,a=e._y1,s=(i-n)/3;e._context.bezierCurveTo(n+s,o+s*t,i-s,a-s*r,i,a)}function Nh(e){this._context=e}Nh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Lx(this,this._t0,WT(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Lx(this,WT(this,r=YT(this,e,t)),r);break;default:Lx(this,this._t0,r=YT(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function XT(e){this._context=new ZT(e)}(XT.prototype=Object.create(Nh.prototype)).point=function(e,t){Nh.prototype.point.call(this,t,e)};function ZT(e){this._context=e}ZT.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,o,i){this._context.bezierCurveTo(t,e,n,r,i,o)}};function Vx(e){return new Nh(e)}function jx(e){return new XT(e)}function JT(e){this._context=e}JT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=QT(e),o=QT(t),i=0,a=1;a=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(i[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function zx(e){return new Rh(e,.5)}function Bx(e){return new Rh(e,0)}function Gx(e){return new Rh(e,1)}function Ia(e,t,r){this.k=e,this.x=t,this.y=r}Ia.prototype={constructor:Ia,scale:function(e){return e===1?this:new Ia(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ia(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Kx=new Ia(1,0,0);qx.prototype=Ia.prototype;function qx(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Kx;return e.__zoom}function zn(e){return e!=null&&!Number.isNaN(e)}function Cr(e,t){return+zn(t)-+zn(e)||vt(e,t)}function Ps(e,t){return+zn(t)-+zn(e)||Rn(e,t)}function Nl(e){return e!=null&&`${e}`!=""}function Hx(e){return isFinite(e)?e:NaN}function Ts(e){return e>0&&isFinite(e)?e:NaN}function eu(e){return e<0&&isFinite(e)?e:NaN}function Eh(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t=="function"?t(e):t;let r=e.getUTCHours(),n=e.getUTCMinutes(),o=e.getUTCSeconds(),i=e.getUTCMilliseconds();return`${AF(e.getUTCFullYear(),4)}-${ji(e.getUTCMonth()+1,2)}-${ji(e.getUTCDate(),2)}${r||n||o||i?`T${ji(r,2)}:${ji(n,2)}${o||i?`:${ji(o,2)}${i?`.${ji(i,3)}`:""}`:""}Z`:""}`}function AF(e){return e<0?`-${ji(-e,6)}`:e>9999?`+${ji(e,6)}`:ji(e,4)}function ji(e,t){return`${e}`.padStart(t,"0")}var FF=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Rl(e,t){return FF.test(e+="")?new Date(e):typeof t=="function"?t(e):t}function Ui(e){if(e==null)return;let t=e[0],r=e[e.length-1];return Rn(t,r)}var ru=1e3,Pa=ru*60,Ta=Pa*60,Jo=Ta*24,Qo=Jo*7,Ms=Jo*30,_a=Jo*365,Yx=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",ru],["5 seconds",5*ru],["15 seconds",15*ru],["30 seconds",30*ru],["minute",Pa],["5 minutes",5*Pa],["15 minutes",15*Pa],["30 minutes",30*Pa],["hour",Ta],["3 hours",3*Ta],["6 hours",6*Ta],["12 hours",12*Ta],["day",Jo],["2 days",2*Jo],["week",Qo],["2 weeks",2*Qo],["month",Ms],["3 months",3*Ms],["6 months",6*Ms],["year",_a],["2 years",2*_a],["5 years",5*_a],["10 years",10*_a],["20 years",20*_a],["50 years",50*_a],["100 years",100*_a]],Wx=new Map([["second",ru],["minute",Pa],["hour",Ta],["day",Jo],["monday",Qo],["tuesday",Qo],["wednesday",Qo],["thursday",Qo],["friday",Qo],["saturday",Qo],["sunday",Qo],["week",Qo],["month",Ms],["year",_a]]),tM=new Map([["second",nr],["minute",Ri],["hour",Ai],["day",Ln],["monday",Sa],["tuesday",Zm],["wednesday",Qm],["thursday",Wo],["friday",Jm],["saturday",ed],["sunday",gn],["week",gn],["month",$i],["year",Tr]]),Xx=new Map([["second",nr],["minute",Ei],["hour",Fi],["day",Ss],["monday",va],["tuesday",td],["wednesday",rd],["thursday",Xo],["friday",nd],["saturday",od],["sunday",yn],["week",yn],["month",Di],["year",Mr]]),nu=Symbol("intervalDuration"),Fh=Symbol("intervalType");for(let[e,t]of tM)t[nu]=Wx.get(e),t[Fh]="time";for(let[e,t]of Xx)t[nu]=Wx.get(e),t[Fh]="utc";var El=[["year",Mr,"utc"],["month",Di,"utc"],["day",Ss,"utc",6*Ms],["hour",Fi,"utc",3*Jo],["minute",Ei,"utc",6*Ta],["second",nr,"utc",30*Pa]],Ah=[["year",Tr,"time"],["month",$i,"time"],["day",Ln,"time",6*Ms],["hour",Ai,"time",3*Jo],["minute",Ri,"time",6*Ta],["second",nr,"time",30*Pa]],$F=[El[0],Ah[0],El[1],Ah[1],El[2],Ah[2],...El.slice(3)];function rM(e){let t=`${e}`.toLowerCase();t.endsWith("s")&&(t=t.slice(0,-1));let r=1,n=/^(?:(\d+)\s+)/.exec(t);switch(n&&(t=t.slice(n[0].length),r=+n[1]),t){case"quarter":t="month",r*=3;break;case"half":t="month",r*=6;break}let o=Xx.get(t);if(!o)throw new Error(`unknown interval: ${e}`);if(r>1&&!o.every)throw new Error(`non-periodic interval: ${t}`);return[t,r]}function Zx(e){return nM(rM(e),"time")}function Al(e){return nM(rM(e),"utc")}function nM([e,t],r){let n=(r==="time"?tM:Xx).get(e);return t>1&&(n=n.every(t),n[nu]=Wx.get(e)*t,n[Fh]=r),n}function Qx(e,t){if(!(t>1))return;let r=e[nu];if(!Yx.some(([,o])=>o===r)||r%Jo===0&&JoMath.log(o)).center(Yx,Math.log(r*t))];return(e[Fh]==="time"?Zx:Al)(n)}function eM(e,t,r){let n=t==="time"?qc:Zo;if(r==null)return n(e==="year"?"%Y":e==="month"?"%Y-%m":e==="day"?"%Y-%m-%d":e==="hour"||e==="minute"?"%Y-%m-%dT%H:%M":e==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=DF(r);switch(e){case"millisecond":return tu(n(".%L"),n(":%M:%S"),o);case"second":return tu(n(":%S"),n("%-I:%M"),o);case"minute":return tu(n("%-I:%M"),n("%p"),o);case"hour":return tu(n("%-I %p"),n("%b %-d"),o);case"day":return tu(n("%-d"),n("%b"),o);case"month":return tu(n("%b"),n("%Y"),o);case"year":return n("%Y")}throw new Error("unable to format time ticks")}function DF(e){return e==="left"||e==="right"?(t,r)=>` ${t} ${r}`:e==="top"?(t,r)=>`${r} ${t}`:(t,r)=>`${t} -${r}`}function K7(e){return e==="time"?nh:e==="utc"?pl:B7}function bT(e,t,r){let n=Kt(vp(t,(o,i)=>Math.abs(i-o)));if(n<1e3)return dT("millisecond","utc",r);for(let[o,i,a,s]of K7(e)){if(n>s||o==="hour"&&!n)break;if(t.every(c=>i.floor(c)>=c))return dT(o,a,r)}}function jc(e,t,r){return(n,o,i)=>{let a=e(n,o),s=t(n,o),c=o-Mi(i);return o!==c&&i[c]!==void 0&&s===t(i[c],c)?a:r(a,s)}}var xx=Object.getPrototypeOf(Uint8Array),q7=Object.prototype.toString;function ao(e){return e instanceof Array||e instanceof xx}function ST(e){return e instanceof xx&&!H7(e)}function vT(e){return e?.prototype instanceof xx&&!Y7(e)}function H7(e){return e instanceof BigInt64Array||e instanceof BigUint64Array}function Y7(e){return e===BigInt64Array||e===BigUint64Array}var wx=Symbol("reindex");function Zt(e,t,r){let n=typeof t;return n==="string"?zT(e)?Sx(e.getChild(t),r):xT(e,vx(t),r):n==="function"?xT(e,t,r):n==="number"||t instanceof Date||n==="boolean"?tt(e,un(t),r):typeof t?.transform=="function"?bx(t.transform(e),r):W7(bx(t,r),e?.[wx])}function W7(e,t){return e!=null&&t?ah(e,t):e}function xT(e,t,r){return tt(e,vT(r)?(n,o)=>_x(t(n,o)):t,r)}function bx(e,t){return t===void 0?Uo(e):KT(e)?Sx(e,t):e instanceof t?e:t.from(e,vT(t)&&!ST(e)?_x:void 0)}function Sx(e,t){return e==null?e:(t===void 0||t===Array)&&eF(e.type)?Px(wT(e)):bx(wT(e),t)}function wT(e){return e.nullCount?e.toJSON():e.toArray()}var Bc=[null],vx=e=>t=>{let r=t[e];return r===void 0&&t.type==="Feature"?t.properties?.[e]:r},ml={transform:Kr},It={transform:e=>e};var IT=()=>1,_T=()=>!0,Ot=e=>e==null?e:`${e}`,kt=e=>e==null?e:+e;var Ix=e=>e?e[0]:void 0,PT=e=>e?e[1]:void 0;var un=e=>()=>e;function TT(e){let t=+`${e}`.slice(1)/100;return(r,n)=>li(r,t,n)}function ys(e){return ST(e)?e:tt(e,_x,Float64Array)}function _x(e){return e==null?NaN:Number(e)}function Px(e){return tt(e,X7)}function X7(e){return e instanceof Date&&!isNaN(e)?e:typeof e=="string"?ll(e):e==null||isNaN(e=Number(e))?void 0:new Date(e)}function jo(e,t){return e===void 0&&(e=t),e===null?[void 0,"none"]:qc(e)?[void 0,e]:[e,void 0]}function _t(e,t){return e===void 0&&(e=t),e===null||typeof e=="number"?[void 0,e]:[e,void 0]}function Tx(e,t,r){if(e!=null)return Ar(e,t,r)}function Ar(e,t,r){let n=`${e}`.toLowerCase();if(!r.includes(n))throw new Error(`invalid ${t}: ${e}`);return n}function Ci(e){return zT(e)?e:Uo(e)}function Uo(e){if(e==null||ao(e))return e;if(KT(e))return Sx(e);if(MT(e))switch(e.type){case"FeatureCollection":return e.features;case"GeometryCollection":return e.geometries;default:return[e]}return Array.from(e)}function MT(e){switch(e?.type){case"FeatureCollection":case"GeometryCollection":case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return!0;default:return!1}}function tt(e,t,r=Array){return e==null?e:e instanceof r?e.map(t):r.from(e,t)}function da(e,t=Array){return e instanceof t?e.slice():t.from(e)}function CT({x:e,x1:t,x2:r}){return e!==void 0||t!==void 0||r!==void 0}function Mx({y:e,y1:t,y2:r}){return e!==void 0||t!==void 0||r!==void 0}function OT(e){return CT(e)||Mx(e)||e.interval!==void 0}function Go(e){return e?.toString===q7}function zc(e){return Go(e)&&(e.type!==void 0||e.domain!==void 0)}function Kc(e){return Go(e)&&typeof e.transform!="function"}function ha(e){return Kc(e)&&e.value===void 0&&e.channel===void 0}function kT(e,t,r,n=It){return t===void 0&&r===void 0?(t=0,r=e===void 0?n:e):t===void 0?t=e===void 0?0:e:r===void 0&&(r=e===void 0?0:e),[t,r]}function Oi(e,t){return e===void 0&&t===void 0?[Ix,PT]:[e,t]}function ih({z:e,fill:t,stroke:r}={}){return e===void 0&&([e]=jo(t)),e===void 0&&([e]=jo(r)),e}function ga(e){return ao(e)?e.length:e?.numRows}function Kr(e){let t=ga(e),r=new Uint32Array(t);for(let n=0;ne[r],e.constructor):tt(t,r=>e.at(r))}function RT(e,t,r){return e.subarray?e.subarray(t,r):e.slice(t,r)}function Fn(e){return e!==null&&typeof e=="object"?e.valueOf():e}function dl(e){let t;return[{transform:()=>t,label:ya(e)},r=>t=r]}function NT(e){return e==null?[e]:dl(e)}function ya(e,t){return typeof e=="string"?e:e&&e.label!==void 0?e.label:t}function AT(e,t){return{transform(r){let n=e.transform(r),o=t.transform(r);return Xt(n)||Xt(o)?tt(n,(i,a)=>new Date((+n[a]+ +o[a])/2)):tt(n,(i,a)=>(+n[a]+ +o[a])/2,Float64Array)},label:e.label}}function ET(e,t){let r=Cx(t?.interval,t?.type);return r?tt(e,r):e}function Cx(e,t){let r=sh(e,t);return r&&(n=>En(n)?r.floor(n):n)}function sh(e,t){if(e!=null){if(typeof e=="number")return Z7(e);if(typeof e=="string")return(t==="time"?hx:gx)(e);if(typeof e.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof e.offset!="function")throw new Error("invalid interval; missing offset method");return e}}function Z7(e){e=+e,0Math.floor(r*t)/t,offset:(r,n=1)=>(r*t+Math.floor(n))/t,range:(r,n)=>za(Math.ceil(r*t),n*t).map(o=>o/t)}:{floor:r=>Math.floor(r/t)*t,offset:(r,n=1)=>r+t*Math.floor(n),range:(r,n)=>za(Math.ceil(r/t),n/t).map(o=>o*t)}}function ba(e,t){if(e=sh(e,t),e&&typeof e.range!="function")throw new Error("invalid interval: missing range method");return e}function FT(e,t){if(e=ba(e,t),e&&typeof e.ceil!="function")throw new Error("invalid interval: missing ceil method");return e}function $T(e){return typeof e?.range=="function"}function xa(e){return e===void 0||Kc(e)?e:{value:e}}function DT(e){return e==null?null:{transform:t=>Zt(t,e,Float64Array),label:ya(e)}}function $n(e){return e&&typeof e[Symbol.iterator]=="function"}function ch(e){for(let t of e)if(t!=null)return typeof t!="object"||t instanceof Date}function Ox(e){for(let t of e){if(t==null)continue;let r=typeof t;return r==="string"||r==="boolean"}}function Xt(e){for(let t of e)if(t!=null)return t instanceof Date}function LT(e){for(let t of e)if(t!=null)return typeof t=="string"&&isNaN(t)&&ll(t)}function VT(e){for(let t of e)if(t!=null){if(typeof t!="string")return!1;if(t.trim())return!isNaN(t)}}function jT(e){for(let t of e)if(t!=null)return typeof t=="number"}function fh(e,t){let r;for(let n of e)if(n!=null){if(!t(n))return!1;r=!0}return r}var Q7=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function qc(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||Q7.has(e))}function UT(e){return typeof e=="number"&&(0<=e&&e<=1||isNaN(e))}function Qt(e){return e==null||bs(e)}function bs(e){return/^\s*none\s*$/i.test(e)}function GT(e){return/^\s*round\s*$/i.test(e)}function uh(e,t){return Tx(e,t,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function wa(e="middle"){return uh(e,"frameAnchor")}function BT(e={},...t){let r=e;for(let n of t)for(let o in n)if(r[o]===void 0){let i=n[o];r===e?r={...r,[o]:i}:r[o]=i}return r}function J7(e){console.warn("named iterables are deprecated; please use an object instead");let t=new Set;return Object.fromEntries(Array.from(e,r=>{let{name:n}=r;if(n==null)throw new Error("missing name");let o=`${n}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(t.has(o))throw new Error(`duplicate name: ${o}`);return t.add(o),[n,r]}))}function kx(e){return $n(e)?J7(e):e}function lh(e){return e===!0?e="frame":e===!1?e=null:!MT(e)&&e!=null&&(e=Ar(e,"clip",["frame","sphere"]),e==="sphere"&&(e={type:"Sphere"})),e}function zT(e){return e&&typeof e.getChild=="function"&&typeof e.toArray=="function"&&e.schema&&Array.isArray(e.schema.fields)}function KT(e){return e&&typeof e.toArray=="function"&&e.type}function eF(e){return e&&(e.typeId===8||e.typeId===10)&&e.unit===1}var Dn=Symbol("position"),ln=Symbol("color"),xs=Symbol("radius"),ws=Symbol("length"),Ss=Symbol("opacity"),Hc=Symbol("symbol"),qT=Symbol("projection"),Ye=new Map([["x",Dn],["y",Dn],["fx",Dn],["fy",Dn],["r",xs],["color",ln],["opacity",Ss],["symbol",Hc],["length",ws],["projection",qT]]);function HT(e){return e===Dn||e===qT}function YT(e){return e===Dn||e===xs||e===ws||e===Ss}var tF=Math.sqrt(3),rF=2/tF,nF={draw(e,t){let r=Math.sqrt(t/Math.PI),n=r*rF,o=n/2;e.moveTo(0,n),e.lineTo(r,o),e.lineTo(r,-o),e.lineTo(0,-n),e.lineTo(-r,-o),e.lineTo(-r,o),e.closePath()}},Rx=new Map([["asterisk",Zu],["circle",Pi],["cross",Qu],["diamond",Ju],["diamond2",el],["hexagon",nF],["plus",tl],["square",rl],["square2",nl],["star",ol],["times",$c],["triangle",il],["triangle2",al],["wye",sl]]);function Nx(e){return e&&typeof e.draw=="function"}function WT(e){return Nx(e)?!0:typeof e!="string"?!1:Rx.has(e.toLowerCase())}function Yc(e){if(e==null||Nx(e))return e;let t=Rx.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid symbol: ${e}`)}function XT(e){if(e==null||Nx(e))return[void 0,e];if(typeof e=="string"){let t=Rx.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function hl({filter:e,sort:t,reverse:r,transform:n,initializer:o,...i}={},a){if(n===void 0&&(e!=null&&(n=ZT(e)),t!=null&&!ha(t)&&(n=Ax(n,Fx(t))),r&&(n=Ax(n,QT))),a!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(t===null||ha(t))&&{sort:t},transform:Ax(n,a)}}function ki({filter:e,sort:t,reverse:r,initializer:n,...o}={},i){return n===void 0&&(e!=null&&(n=ZT(e)),t!=null&&!ha(t)&&(n=Ex(n,Fx(t))),r&&(n=Ex(n,QT))),{...o,...(t===null||ha(t))&&{sort:t},initializer:Ex(n,i)}}function Ax(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(r,n,o){return{data:r,facets:n}=e.call(this,r,n,o),t.call(this,Ci(r),n,o)}}function Ex(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(r,n,o,...i){let a,s,c,u,f,p;return{data:s=r,facets:c=n,channels:a}=e.call(this,r,n,o,...i),{data:f=s,facets:p=c,channels:u}=t.call(this,s,c,{...o,...a},...i),{data:f,facets:p,channels:{...a,...u}}}}function oF(e,t){return(e.initializer!=null?ki:hl)(e,t)}function ZT(e){return(t,r)=>{let n=Zt(t,e);return{data:t,facets:r.map(o=>o.filter(i=>n[i]))}}}function QT(e,t){return{data:e,facets:t.map(r=>r.slice().reverse())}}function JT(e,{sort:t,...r}={}){return{...(Kc(e)&&e.channel!==void 0?ki:oF)(r,Fx(e)),sort:ha(t)?t:null}}function Fx(e){return(typeof e=="function"&&e.length!==1?iF:aF)(e)}function iF(e){return(t,r)=>{let n=ao(t)?(o,i)=>e(t[o],t[i]):(o,i)=>e(t.get(o),t.get(i));return{data:t,facets:r.map(o=>o.slice().sort(n))}}}function aF(e){let t,r;({channel:t,value:e,order:r}={...xa(e)});let n=t?.startsWith("-");if(n&&(t=t.slice(1)),r===void 0&&(r=n?ds:zr),typeof r!="function")switch(`${r}`.toLowerCase()){case"ascending":r=zr;break;case"descending":r=ds;break;default:throw new Error(`invalid order: ${r}`)}return(o,i,a)=>{let s;if(t===void 0)s=Zt(o,e);else{if(a===void 0)throw new Error("channel sort requires an initializer");if(s=a[t],!s)return{};s=s.value}let c=(u,f)=>r(s[u],s[f]);return{data:o,facets:i.map(u=>u.slice().sort(c))}}}function nM(e,t,r=sF){if(e==null)return r(e);if(typeof e.reduceIndex=="function")return e;if(typeof e.reduce=="function"&&Go(e))return cF(e);if(typeof e=="function")return fF(e);if(/^p\d{2}$/i.test(e))return Ri(TT(e));switch(`${e}`.toLowerCase()){case"first":return lF;case"last":return pF;case"identity":return uF;case"count":return tM;case"distinct":return mF;case"sum":return t==null?tM:dF;case"proportion":return rM(t,"data");case"proportion-facet":return rM(t,"facet");case"deviation":return Ri(hp);case"min":return Ri(Or);case"min-index":return Ri(bp);case"max":return Ri(Kt);case"max-index":return Ri(yp);case"mean":return eM(wp);case"median":return eM(Ba);case"variance":return Ri(nc);case"mode":return Ri(Sp)}return r(e)}function sF(e){throw new Error(`invalid reduce: ${e}`)}function cF(e){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...e,reduceIndex:e.reduce.bind(e)}}function fF(e){return{reduceIndex(t,r,n){return e(ah(r,t),n)}}}function Ri(e){return{reduceIndex(t,r){return e(t,n=>r[n])}}}function eM(e){return{reduceIndex(t,r){let n=e(t,o=>r[o]);return Xt(r)?new Date(n):n}}}var uF={reduceIndex(e,t){return ah(t,e)}},lF={reduceIndex(e,t){return t[e[0]]}};var pF={reduceIndex(e,t){return t[e[e.length-1]]}},tM={label:"Frequency",reduceIndex(e){return e.length}},mF={label:"Distinct",reduceIndex(e,t){let r=new eo;for(let n of e)r.add(t[n]);return r.size}},dF=Ri(Pn);function rM(e,t){return e==null?{scope:t,label:"Frequency",reduceIndex:(r,n,o=1)=>r.length/o}:{scope:t,reduceIndex:(r,n,o=1)=>Pn(r,i=>n[i])/o}}function Wc(e,{scale:t,type:r,value:n,filter:o,hint:i,label:a=ya(n)},s){return i===void 0&&typeof n?.transform=="function"&&(i=n.hint),Dx(s,{scale:t,type:r,value:Zt(e,n),label:a,filter:o,hint:i})}function iM(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,Wc(t,n,r)]))}function aM(e,t){let r=Object.fromEntries(Object.entries(e).map(([n,{scale:o,value:i}])=>{let a=o==null?null:t[o];return[n,a==null?i:tt(i,a)]}));return r.channels=e,r}function Dx(e,t){let{scale:r,value:n}=t;if(r===!0||r==="auto")switch(e){case"fill":case"stroke":case"color":t.scale=r!==!0&&fh(n,qc)?null:"color",t.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":t.scale=r!==!0&&fh(n,UT)?null:"opacity",t.defaultScale="opacity";break;case"symbol":r!==!0&&fh(n,WT)?(t.scale=null,t.value=tt(n,Yc)):t.scale="symbol",t.defaultScale="symbol";break;default:t.scale=Ye.has(e)?e:null;break}else if(r===!1)t.scale=null;else if(r!=null&&!Ye.has(r))throw new Error(`unknown scale: ${r}`);return t}function sM(e,t,r,n,o){let{order:i,reverse:a,reduce:s=!0,limit:c}=o;for(let u in o){if(!Ye.has(u))continue;let{value:f,order:p=i,reverse:l=a,reduce:m=s,limit:h=c}=xa(o[u]),b=f?.startsWith("-");if(b&&(f=f.slice(1)),p=p===void 0?b!==(f==="width"||f==="height")?fM:cM:yF(p),m==null||m===!1)continue;let y=u==="fx"||u==="fy"?gF(t,n[u]):hF(r,u);if(!y)throw new Error(`missing channel for scale: ${u}`);let x=y.value,[g=0,S=1/0]=$n(h)?h:h<0?[h]:[0,h];if(f==null)y.domain=()=>{let w=Array.from(new eo(x));return l&&(w=w.reverse()),(g!==0||S!==1/0)&&(w=w.slice(g,S)),w};else{let w=f==="data"?e:f==="height"?oM(r,"y1","y2"):f==="width"?oM(r,"x1","x2"):$x(r,f,f==="y"?"y2":f==="x"?"x2":void 0),_=nM(m===!0?"max":m,w);y.domain=()=>{let v=Ey(Kr(x),I=>_.reduceIndex(I,w),I=>x[I]);return p&&v.sort(p),l&&v.reverse(),(g!==0||S!==1/0)&&(v=v.slice(g,S)),v.map(Ix)}}}}function hF(e,t){for(let r in e){let n=e[r];if(n.scale===t)return n}}function gF(e,t){let r=e.original;if(r===e)return t;let n=t.value,o=t.value=[];for(let i=0;iMath.abs(i-n[a]),Float64Array)}function $x(e,t,r){let n=e[t];if(!n&&r!==void 0&&(n=e[r]),n)return n.value;throw new Error(`missing channel: ${t}`)}function yF(e){if(e==null||typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"ascending":return cM;case"descending":return fM}throw new Error(`invalid order: ${e}`)}function cM([e,t],[r,n]){return zr(t,n)||zr(e,r)}function fM([e,t],[r,n]){return ds(t,n)||zr(e,r)}function Lx(e,t){let r=e[t];if(r){for(;r.source;)r=r.source;return r.source===null?null:r}}var dM=new Map([["accent",Mb],["category10",Tb],["dark2",Cb],["observable10",Ob],["paired",kb],["pastel1",Rb],["pastel2",Nb],["set1",Ab],["set2",Eb],["set3",Fb],["tableau10",$b]]);function hM(e){return e!=null&&dM.has(`${e}`.toLowerCase())}var uM=new Map([...dM,["brbg",Ni(Vm,jm)],["prgn",Ni(Um,Gm)],["piyg",Ni(Bm,zm)],["puor",Ni(Km,qm)],["rdbu",Ni(Yu,Nc)],["rdgy",Ni(Hm,Ym)],["rdylbu",Ni(Wu,Ac)],["rdylgn",Ni(Wm,Xm)],["spectral",Ni(Zm,Qm)],["burd",lM(Yu,Nc)],["buylrd",lM(Wu,Ac)],["blues",Jt(Id,_d)],["greens",Jt(Pd,Td)],["greys",Jt(Md,Cd)],["oranges",Jt(Ad,Ed)],["purples",Jt(Od,kd)],["reds",Jt(Rd,Nd)],["turbo",Ai(Bd)],["viridis",Ai(Kd)],["magma",Ai(qd)],["inferno",Ai(Hd)],["plasma",Ai(Yd)],["cividis",Ai(Fd)],["cubehelix",Ai($d)],["warm",Ai(Ld)],["cool",Ai(Vd)],["bugn",Jt(Jm,ed)],["bupu",Jt(td,rd)],["gnbu",Jt(nd,od)],["orrd",Jt(id,ad)],["pubu",Jt(fd,ud)],["pubugn",Jt(sd,cd)],["purd",Jt(ld,pd)],["rdpu",Jt(md,dd)],["ylgn",Jt(yd,bd)],["ylgnbu",Jt(hd,gd)],["ylorbr",Jt(xd,wd)],["ylorrd",Jt(Sd,vd)],["rainbow",pM(jd)],["sinebow",pM(Gd)]]);function Jt(e,t){return({length:r})=>r===1?[e[3][1]]:r===2?[e[3][1],e[3][2]]:(r=Math.max(3,Math.floor(r)),r>9?wr(t,r):e[r])}function Ni(e,t){return({length:r})=>r===2?[e[3][0],e[3][2]]:(r=Math.max(3,Math.floor(r)),r>11?wr(t,r):e[r])}function lM(e,t){return({length:r})=>r===2?[e[3][2],e[3][0]]:(r=Math.max(3,Math.floor(r)),r>11?wr(n=>t(1-n),r):e[r].slice().reverse())}function Ai(e){return({length:t})=>wr(e,Math.max(2,Math.floor(t)))}function pM(e){return({length:t})=>wr(e,Math.floor(t)+1).slice(0,-1)}function Vx(e){let t=`${e}`.toLowerCase();if(!uM.has(t))throw new Error(`unknown ordinal scheme: ${t}`);return uM.get(t)}function gl(e,t){let r=Vx(e),n=typeof r=="function"?r({length:t}):r;return n.length!==t?n.slice(0,t):n}function gM(e,t="greys"){let r=new Set,[n,o]=gl(t,2);for(let i of e)if(i!=null)if(i===!0)r.add(o);else if(i===!1)r.add(n);else return;return[...r]}var mM=new Map([["brbg",jm],["prgn",Gm],["piyg",zm],["puor",qm],["rdbu",Nc],["rdgy",Ym],["rdylbu",Ac],["rdylgn",Xm],["spectral",Qm],["burd",e=>Nc(1-e)],["buylrd",e=>Ac(1-e)],["blues",_d],["greens",Td],["greys",Cd],["purples",kd],["reds",Nd],["oranges",Ed],["turbo",Bd],["viridis",Kd],["magma",qd],["inferno",Hd],["plasma",Yd],["cividis",Fd],["cubehelix",$d],["warm",Ld],["cool",Vd],["bugn",ed],["bupu",rd],["gnbu",od],["orrd",ad],["pubugn",cd],["pubu",ud],["purd",pd],["rdpu",dd],["ylgnbu",gd],["ylgn",bd],["ylorbr",wd],["ylorrd",vd],["rainbow",jd],["sinebow",Gd]]);function Xc(e){let t=`${e}`.toLowerCase();if(!mM.has(t))throw new Error(`unknown quantitative scheme: ${t}`);return mM.get(t)}var bF=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function yM(e){return e!=null&&bF.has(`${e}`.toLowerCase())}var Ux=e=>t=>e(1-t),jx=[0,1],bM=new Map([["number",ft],["rgb",Mn],["hsl",s0],["hcl",c0],["lab",Lp]]);function Gx(e){let t=`${e}`.toLowerCase();if(!bM.has(t))throw new Error(`unknown interpolator: ${t}`);return bM.get(t)}function Qc(e,t,r,{type:n,nice:o,clamp:i,zero:a,domain:s=MM(e,r),unknown:c,round:u,scheme:f,interval:p,range:l=Ye.get(e)===xs?vF(r,s):Ye.get(e)===ws?IF(r,s):Ye.get(e)===Ss?jx:void 0,interpolate:m=Ye.get(e)===ln?f==null&&l!==void 0?Mn:Xc(f!==void 0?f:n==="cyclical"?"rainbow":"turbo"):u?Xa:ft,reverse:h}){if(s=xM(s),p=ba(p,n),(n==="cyclical"||n==="sequential")&&(n="linear"),typeof m!="function"&&(m=Gx(m)),h=!!h,l!==void 0){let b=s.length,y=(l=xM(l)).length;if(b!==y){if(m.length===1)throw new Error("invalid piecewise interpolator");m=To(m,l),l=void 0}}if(m.length===1?(h&&(m=Ux(m),h=!1),l===void 0&&(l=Float64Array.from(s,(b,y)=>y/(s.length-1)),l.length===2&&(l=jx)),t.interpolate((l===jx?un:yl)(m))):t.interpolate(m),a){let[b,y]=Gr(s);(b>0||y<0)&&(s=da(s),(Mi(s)||1)===Math.sign(b)?s[0]=0:s[s.length-1]=0)}return h&&(s=Qi(s)),t.domain(s).unknown(c),o&&(t.nice(xF(o,n)),s=t.domain()),l!==void 0&&t.range(l),i&&t.clamp(i),{type:n,domain:s,range:l,scale:t,interpolate:m,interval:p}}function xM(e){return e=Uo(e),e.length>=2?e:[e[0],e[0]]}function xF(e,t){return e===!0?void 0:typeof e=="number"?e:FT(e,t)}function wM(e,t,r){return Qc(e,os(),t,r)}function SM(e,t,r){return Bx(e,t,{...r,exponent:.5})}function Bx(e,t,{exponent:r=1,...n}){return Qc(e,Lu().exponent(r),t,{...n,type:"pow"})}function vM(e,t,{base:r=10,domain:n=_F(t),...o}){return Qc(e,$u().base(r),t,{...o,domain:n})}function IM(e,t,{constant:r=1,...n}){return Qc(e,Du().constant(r),t,n)}function _M(e,t,{range:r,quantiles:n=r===void 0?5:(r=[...r]).length,n:o=n,scheme:i="rdylbu",domain:a=PF(t),unknown:s,interpolate:c,reverse:u}){return r===void 0&&(r=c!==void 0?wr(c,o):Ye.get(e)===ln?gl(i,o):void 0),a.length>0&&(a=Vu(a,r===void 0?{length:o}:r).quantiles()),ph(e,t,{domain:a,range:r,reverse:u,unknown:s})}function PM(e,t,{range:r,n=r===void 0?5:(r=[...r]).length,scheme:o="rdylbu",domain:i=MM(e,t),unknown:a,interpolate:s,reverse:c}){let[u,f]=Gr(i),p;return r===void 0?(p=ui(u,f,n),p[0]<=u&&p.splice(0,1),p[p.length-1]>=f&&p.pop(),n=p.length+1,r=s!==void 0?wr(s,n):Ye.get(e)===ln?gl(o,n):void 0):(p=wr(ft(u,f),n+1).slice(1,-1),u instanceof Date&&(p=p.map(l=>new Date(l)))),Mi(Uo(i))<0&&p.reverse(),ph(e,t,{domain:p,range:r,reverse:c,unknown:a})}function ph(e,t,{domain:r=[0],unknown:n,scheme:o="rdylbu",interpolate:i,range:a=i!==void 0?wr(i,r.length+1):Ye.get(e)===ln?gl(o,r.length+1):void 0,reverse:s}){r=Uo(r);let c=Mi(r);if(!isNaN(c)&&!wF(r,c))throw new Error(`the ${e} scale has a non-monotonic domain`);return s&&(a=Qi(a)),{type:"threshold",scale:ju(c<0?Qi(r):r,a===void 0?[]:a).unknown(n),domain:r,range:a}}function wF(e,t){for(let r=1,n=e.length,o=e[0];rt}}function Zc(e,t=lx){return e.length?[Or(e,({value:r})=>r===void 0?r:Or(r,t)),Kt(e,({value:r})=>r===void 0?r:Kt(r,t))]:[0,1]}function MM(e,t){let r=Ye.get(e);return(r===xs||r===Ss||r===ws?SF:Zc)(t)}function SF(e){return[0,e.length?Kt(e,({value:t})=>t===void 0?t:Kt(t,lx)):1]}function vF(e,t){let r=e.find(({radius:a})=>a!==void 0);if(r!==void 0)return[0,r.radius];let n=li(e,.5,({value:a})=>a===void 0?NaN:li(a,.25,hs)),o=t.map(a=>3*Math.sqrt(a/n)),i=30/Kt(o);return i<1?o.map(a=>a*i):o}function IF(e,t){let r=Ba(e,({value:i})=>i===void 0?NaN:Ba(i,Math.abs)),n=t.map(i=>12*i/r),o=60/Kt(n);return o<1?n.map(i=>i*o):n}function _F(e){for(let{value:t}of e)if(t!==void 0)for(let r of t){if(r>0)return Zc(e,hs);if(r<0)return Zc(e,Vc)}return[1,10]}function PF(e){let t=[];for(let{value:r}of e)if(r!==void 0)for(let n of r)t.push(n);return t}function yl(e){return(t,r)=>n=>e(t+n*(r-t))}var zx=0,Kx;function CM(){let e=zx;return zx=0,Kx=void 0,e}function qr(e){e!==Kx&&(Kx=e,console.warn(e),++zx)}function mh(e,t,r,n,{type:o,nice:i,clamp:a,domain:s=Zc(n),unknown:c,pivot:u=0,scheme:f,range:p,symmetric:l=!0,interpolate:m=Ye.get(e)===ln?f==null&&p!==void 0?Mn:Xc(f!==void 0?f:"rdbu"):ft,reverse:h}){u=+u,s=Uo(s);let[b,y]=s;if(s.length>2&&qr(`Warning: the diverging ${e} scale domain contains extra elements.`),_n(b,y)<0&&([b,y]=[y,b],h=!h),b=Math.min(b,u),y=Math.max(y,u),typeof m!="function"&&(m=Gx(m)),p!==void 0&&(m=m.length===1?yl(m)(...p):To(m,p)),h&&(m=Ux(m)),l){let x=r.apply(u),g=x-r.apply(b),S=r.apply(y)-x;gS&&(y=r.invert(x+g))}return t.domain([b,u,y]).unknown(c).interpolator(m),a&&t.clamp(a),i&&t.nice(i),{type:o,domain:[b,y],pivot:u,interpolate:m,scale:t}}function OM(e,t,r){return mh(e,Hu(),TF,t,r)}function kM(e,t,r){return qx(e,t,{...r,exponent:.5})}function qx(e,t,{exponent:r=1,...n}){return mh(e,Lm().exponent(r=+r),OF(r),t,{...n,type:"diverging-pow"})}function RM(e,t,{base:r=10,pivot:n=1,domain:o=Zc(t,n<0?Vc:hs),...i}){return mh(e,$m().base(r=+r),MF,t,{domain:o,pivot:n,...i})}function NM(e,t,{constant:r=1,...n}){return mh(e,Dm().constant(r=+r),kF(r),t,n)}var TF={apply(e){return e},invert(e){return e}},MF={apply:Math.log,invert:Math.exp},CF={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return Math.sign(e)*(e*e)}};function OF(e){return e===.5?CF:{apply(t){return Math.sign(t)*Math.pow(Math.abs(t),e)},invert(t){return Math.sign(t)*Math.pow(Math.abs(t),1/e)}}}function kF(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function AM(e,t,r,n){return Qc(e,t,r,n)}function EM(e,t,r){return AM(e,Am(),t,r)}function FM(e,t,r){return AM(e,Em(),t,r)}var Jc=Symbol("ordinal");function DM(e,t,r,{type:n,interval:o,domain:i,range:a,reverse:s,hint:c}){return o=ba(o,n),i===void 0&&(i=GM(r,o,e)),(n==="categorical"||n===Jc)&&(n="ordinal"),s&&(i=Qi(i)),i=t.domain(i).domain(),a!==void 0&&(typeof a=="function"&&(a=a(i)),t.range(a)),{type:n,domain:i,range:a,scale:t,hint:c,interval:o}}function LM(e,t,{type:r,interval:n,domain:o,range:i,scheme:a,unknown:s,...c}){n=ba(n,r),o===void 0&&(o=GM(t,n,e));let u;if(Ye.get(e)===Hc)u=RF(t),i=i===void 0?NF(u):tt(i,Yc);else if(Ye.get(e)===ln&&(i===void 0&&(r==="ordinal"||r===Jc)&&(i=gM(o,a),i!==void 0&&(a=void 0)),a===void 0&&i===void 0&&(a=r==="ordinal"?"turbo":"observable10"),a!==void 0))if(i!==void 0){let f=Xc(a),p=i[0],l=i[1]-i[0];i=({length:m})=>wr(h=>f(p+l*h),m)}else i=Vx(a);if(s===Nu)throw new Error(`implicit unknown on ${e} scale is not supported`);return DM(e,rs().unknown(s),t,{...c,type:r,domain:o,range:i,hint:u})}function VM(e,t,{align:r=.5,padding:n=.5,...o}){return UM(fb().align(r).padding(n),t,o,e)}function jM(e,t,{align:r=.5,padding:n=.1,paddingInner:o=n,paddingOuter:i=e==="fx"||e==="fy"?0:n,...a}){return UM(sa().align(r).paddingInner(o).paddingOuter(i),t,a,e)}function UM(e,t,r,n){let{round:o}=r;return o!==void 0&&e.round(o=!!o),e=DM(n,e,t,r),e.round=o,e}function GM(e,t,r){let n=new eo;for(let{value:o,domain:i}of e){if(i!==void 0)return i();if(o!==void 0)for(let a of o)n.add(a)}if(t!==void 0){let[o,i]=Gr(n).map(t.floor,t);return t.range(o,t.offset(i))}if(n.size>1e4&&Ye.get(r)===Dn)throw new Error(`implicit ordinal domain of ${r} scale has more than 10,000 values`);return Zi(n,zr)}function $M(e,t){let r;for(let{hint:n}of e){let o=n?.[t];if(o!==void 0){if(r===void 0)r=o;else if(r!==o)return}}return r}function RF(e){return{fill:$M(e,"fill"),stroke:$M(e,"stroke")}}function NF(e){return Qt(e.fill)?zb:Xd}function bl(e,{label:t,inset:r=0,insetTop:n=r,insetRight:o=r,insetBottom:i=r,insetLeft:a=r,round:s,nice:c,clamp:u,zero:f,align:p,padding:l,projection:m,facet:{label:h=t}={},...b}={}){let y={};for(let[x,g]of e){let S=b[x],w=FF(x,g,{round:Ye.get(x)===Dn?s:void 0,nice:c,clamp:u,zero:f,align:p,padding:l,projection:m,...S});if(w){let{label:_=x==="fx"||x==="fy"?h:t,percent:v,transform:I,inset:T,insetTop:P=T!==void 0?T:x==="y"?n:0,insetRight:R=T!==void 0?T:x==="x"?o:0,insetBottom:k=T!==void 0?T:x==="y"?i:0,insetLeft:N=T!==void 0?T:x==="x"?a:0}=S||{};if(I==null)I=void 0;else if(typeof I!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?AF(g,w):_,w.transform=I,x==="x"||x==="fx"?(w.insetLeft=+N,w.insetRight=+R):(x==="y"||x==="fy")&&(w.insetTop=+P,w.insetBottom=+k),y[x]=w}}return y}function Yx(e){let t={},r={scales:t};for(let[n,o]of Object.entries(e)){let{scale:i,type:a,interval:s,label:c}=o;t[n]=VF(o),r[n]=i,i.type=a,s!=null&&(i.interval=s),c!=null&&(i.label=c)}return r}function HM(e,t){let{x:r,y:n,fx:o,fy:i}=e,a=o||i?hh(t):t;o&&BM(o,a),i&&zM(i,a);let s=o||i?Wx(e,t):t;r&&BM(r,s),n&&zM(n,s)}function AF(e=[],t){let r;for(let{label:n}of e)if(n!==void 0){if(r===void 0)r=n;else if(r!==n)return}if(r!==void 0)return!Bo(t)&&t.percent&&(r=`${r} (%)`),{inferred:!0,toString:()=>r}}function YM(e){return Math.sign(Mi(e.domain()))*Math.sign(Mi(e.range()))}function hh(e){let{marginTop:t,marginRight:r,marginBottom:n,marginLeft:o,width:i,height:a,facet:{marginTop:s,marginRight:c,marginBottom:u,marginLeft:f}}=e;return{marginTop:Math.max(t,s),marginRight:Math.max(r,c),marginBottom:Math.max(n,u),marginLeft:Math.max(o,f),width:i,height:a}}function Wx({fx:e,fy:t},r){let{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:s,height:c}=hh(r);return{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:e?e.scale.bandwidth()+a+o:s,height:t?t.scale.bandwidth()+n+i:c,facet:{width:s,height:c}}}function BM(e,t){if(e.range===void 0){let{insetLeft:r,insetRight:n}=e,{width:o,marginLeft:i=0,marginRight:a=0}=t,s=i+r,c=o-a-n;e.range=[s,Math.max(s,c)],Bo(e)||(e.range=XM(e)),e.scale.range(e.range)}WM(e)}function zM(e,t){if(e.range===void 0){let{insetTop:r,insetBottom:n}=e,{height:o,marginTop:i=0,marginBottom:a=0}=t,s=i+r,c=o-a-n;e.range=[Math.max(s,c),s],Bo(e)?e.range.reverse():e.range=XM(e),e.scale.range(e.range)}WM(e)}function WM(e){e.round===void 0&&DF(e)&&EF(e)<=30&&e.scale.round(!0)}function EF({scale:e}){let t=e.domain().length,[r,n]=e.range(),o=e.paddingInner?e.paddingInner():1,i=e.paddingOuter?e.paddingOuter():e.padding(),a=t-o,s=Math.abs(n-r)/Math.max(1,a+i*2);return(s-Math.floor(s))*a}function XM(e){let t=e.scale.domain().length+Xx(e);if(!(t>2))return e.range;let[r,n]=e.range;return Array.from({length:t},(o,i)=>r+i/(t-1)*(n-r))}function FF(e,t=[],r={}){let n=$F(e,t,r);if(r.type===void 0&&r.domain===void 0&&r.range===void 0&&r.interval==null&&e!=="fx"&&e!=="fy"&&Bo({type:n})){let o=t.map(({value:i})=>i).filter(i=>i!==void 0);o.some(Xt)?qr(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${ef(n)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${ef(n)}".`):o.some(LT)?qr(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${ef(n)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${ef(n)}".`):o.some(VT)&&qr(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${ef(n)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${ef(n)}".`)}switch(r.type=n,n){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":r=dh(t,r,ys);break;case"identity":switch(Ye.get(e)){case Dn:r=dh(t,r,ys);break;case Hc:r=dh(t,r,LF);break}break;case"utc":case"time":r=dh(t,r,Px);break}switch(n){case"diverging":return OM(e,t,r);case"diverging-sqrt":return kM(e,t,r);case"diverging-pow":return qx(e,t,r);case"diverging-log":return RM(e,t,r);case"diverging-symlog":return NM(e,t,r);case"categorical":case"ordinal":case Jc:return LM(e,t,r);case"cyclical":case"sequential":case"linear":return wM(e,t,r);case"sqrt":return SM(e,t,r);case"threshold":return ph(e,t,r);case"quantile":return _M(e,t,r);case"quantize":return PM(e,t,r);case"pow":return Bx(e,t,r);case"log":return vM(e,t,r);case"symlog":return IM(e,t,r);case"utc":return FM(e,t,r);case"time":return EM(e,t,r);case"point":return VM(e,t,r);case"band":return jM(e,t,r);case"identity":return TM(e);case void 0:return;default:throw new Error(`unknown scale type: ${n}`)}}function ef(e){return typeof e=="symbol"?e.description:e}function KM(e){return typeof e=="string"?`${e}`.toLowerCase():e}var qM={toString:()=>"projection"};function $F(e,t,{type:r,domain:n,range:o,scheme:i,pivot:a,projection:s}){if(r=KM(r),e==="fx"||e==="fy")return"band";(e==="x"||e==="y")&&s!=null&&(r=qM);for(let f of t){let p=KM(f.type);if(p!==void 0){if(r===void 0)r=p;else if(r!==p)throw new Error(`scale incompatible with channel: ${r} !== ${p}`)}}if(r===qM)return;if(r!==void 0)return r;if(n===void 0&&!t.some(({value:f})=>f!==void 0))return;let c=Ye.get(e);if(c===xs)return"sqrt";if(c===Ss||c===ws)return"linear";if(c===Hc)return"ordinal";let u=(n??o)?.length;if(u<2||u>2)return Hx(c);if(n!==void 0){if(Ox(n))return Hx(c);if(Xt(n))return"utc"}else{let f=t.map(({value:p})=>p).filter(p=>p!==void 0);if(f.some(Ox))return Hx(c);if(f.some(Xt))return"utc"}if(c===ln){if(a!=null||yM(i))return"diverging";if(hM(i))return"categorical"}return"linear"}function Hx(e){switch(e){case Dn:return"point";case ln:return Jc;default:return"ordinal"}}function Bo({type:e}){return e==="ordinal"||e==="point"||e==="band"||e===Jc}function Xx({type:e}){return e==="threshold"}function DF({type:e}){return e==="point"||e==="band"}function Sa(e){if(e===void 0)return!0;let t=e.domain(),r=e(t[0]);for(let n=1,o=t.length;n{if(!Ye.has(t=`${t}`))throw new Error(`unknown scale: ${t}`);return e[t]}}function VF({scale:e,type:t,domain:r,range:n,interpolate:o,interval:i,transform:a,percent:s,pivot:c}){if(t==="identity")return{type:"identity",apply:f=>f,invert:f=>f};let u=e.unknown?e.unknown():void 0;return{type:t,domain:da(r),...n!==void 0&&{range:da(n)},...a!==void 0&&{transform:a},...s&&{percent:s},...u!==void 0&&{unknown:u},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...e.clamp&&{clamp:e.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:f=>e(f),...e.invert&&{invert:f=>e.invert(f)}}}function JM(e,t){let{fx:r,fy:n}=bl(e,t),o=r?.scale.domain(),i=n?.scale.domain();return o&&i?mp(o,i).map(([a,s],c)=>({x:a,y:s,i:c})):o?o.map((a,s)=>({x:a,i:s})):i?i.map((a,s)=>({y:a,i:s})):void 0}function eC(e,{x:t,y:r}){return t&&=t1(t),r&&=t1(r),e.filter(t&&r?n=>t.has(n.x)&&r.has(n.y):t?n=>t.has(n.x):n=>r.has(n.y)).sort(t&&r?(n,o)=>t.get(n.x)-t.get(o.x)||r.get(n.y)-r.get(o.y):t?(n,o)=>t.get(n.x)-t.get(o.x):(n,o)=>r.get(n.y)-r.get(o.y))}function yh(e,{fx:t,fy:r}){let n=Kr(e),o=t?.value,i=r?.value;return t&&r?So(n,a=>(a.fx=o[a[0]],a.fy=i[a[0]],a),a=>o[a],a=>i[a]):t?So(n,a=>(a.fx=o[a[0]],a),a=>o[a]):So(n,a=>(a.fy=i[a[0]],a),a=>i[a])}function tC(e,t,{marginTop:r,marginLeft:n}){let o=e?({x:a})=>e(a)-n:()=>0,i=t?({y:a})=>t(a)-r:()=>0;return function(a){this.tagName==="svg"?(this.setAttribute("x",o(a)),this.setAttribute("y",i(a))):this.setAttribute("transform",`translate(${o(a)},${i(a)})`)}}function rC(e){let t=[],r=new Uint32Array(Pn(e,n=>n.length));for(let n of e){let o=0;for(let i of e)n!==i&&(r.set(i,o),o+=i.length);t.push(r.slice(0,o))}return t}var jF=new Map([["top",Zx],["right",e1],["bottom",Qx],["left",Jx],["top-left",gh(Zx,Jx)],["top-right",gh(Zx,e1)],["bottom-left",gh(Qx,Jx)],["bottom-right",gh(Qx,e1)],["top-empty",GF],["right-empty",KF],["bottom-empty",BF],["left-empty",zF],["empty",qF]]);function nC(e){if(e==null)return null;let t=jF.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid facet anchor: ${e}`)}var QM=new WeakMap;function t1(e){let t=QM.get(e);return t||QM.set(e,t=new Cr(tt(e,(r,n)=>[r,n]))),t}function va(e,t){return t1(e).get(t)}function UF(e,t,r){return t=Fn(t),r=Fn(r),e.find(n=>Object.is(Fn(n.x),t)&&Object.is(Fn(n.y),r))}function bh(e,t,r){return UF(e,t,r)?.empty}function Zx(e,{y:t},{y:r}){return t?va(t,r)===0:!0}function Qx(e,{y:t},{y:r}){return t?va(t,r)===t.length-1:!0}function Jx(e,{x:t},{x:r}){return t?va(t,r)===0:!0}function e1(e,{x:t},{x:r}){return t?va(t,r)===t.length-1:!0}function GF(e,{y:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=va(t,n);if(i>0)return bh(e,r,t[i-1])}function BF(e,{y:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=va(t,n);if(i0)return bh(e,t[i-1],n)}function KF(e,{x:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=va(t,r);if(in.get(o)?.get(i)??[]):t?e.map(({x:o})=>n.get(o)??[]):e.map(({y:o})=>n.get(o)??[])}var oC=Math.PI,Ei=2*oC,r1=.618;function iC({projection:e,inset:t=0,insetTop:r=t,insetRight:n=t,insetBottom:o=t,insetLeft:i=t}={},a){if(e==null)return;if(typeof e.stream=="function")return e;let s,c,u="frame";if(Go(e)){let _;if({type:e,domain:c,inset:_,insetTop:r=_!==void 0?_:r,insetRight:n=_!==void 0?_:n,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:u=u,...s}=e,e==null)return}typeof e!="function"&&({type:e}=n1(e));let{width:f,height:p,marginLeft:l,marginRight:m,marginTop:h,marginBottom:b}=a,y=f-l-m-i-n,x=p-h-b-r-o;if(e=e?.({width:y,height:x,clip:u,...s}),e==null)return;u=HF(u,l,h,f-m,p-b);let g=l+i,S=h+r,w;if(c!=null){let[[_,v],[I,T]]=Ic(e).bounds(c),P=Math.min(y/(I-_),x/(T-v));P>0?(g-=(P*(_+I)-y)/2,S-=(P*(v+T)-x)/2,w=_c({point(R,k){this.stream.point(R*P+g,k*P+S)}})):qr("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=g===0&&S===0?aC():_c({point(_,v){this.stream.point(_+g,v+S)}}),{stream:_=>e.stream(w.stream(u(_)))}}function n1(e){switch(`${e}`.toLowerCase()){case"albers-usa":return so(B0,.7463,.4673);case"albers":return wh(Tu,.7463,.4673);case"azimuthal-equal-area":return so(K0,4,4);case"azimuthal-equidistant":return so(H0,Ei,Ei);case"conic-conformal":return wh(X0,Ei,Ei);case"conic-equal-area":return wh(aa,6.1702,2.9781);case"conic-equidistant":return wh(Q0,7.312,3.6282);case"equal-earth":return so(eb,5.4133,2.6347);case"equirectangular":return so(Z0,Ei,oC);case"gnomonic":return so(rb,3.4641,3.4641);case"identity":return{type:aC};case"reflect-y":return{type:YF};case"mercator":return so(Y0,Ei,Ei);case"orthographic":return so(ob,2,2);case"stereographic":return so(ab,2,2);case"transverse-mercator":return so(cb,Ei,Ei);default:throw new Error(`unknown projection type: ${e}`)}}function HF(e,t,r,n,o){if(e===!1||e==null||typeof e=="number")return i=>i;switch(e===!0&&(e="frame"),`${e}`.toLowerCase()){case"frame":return bc(t,r,n,o);default:throw new Error(`unknown projection clip type: ${e}`)}}function so(e,t,r){return{type:({width:n,height:o,rotate:i,precision:a=.15,clip:s})=>{let c=e();return a!=null&&c.precision?.(a),i!=null&&c.rotate?.(i),typeof s=="number"&&c.clipAngle?.(s),n!=null&&(c.scale(Math.min(n/t,o/r)),c.translate([n/2,o/2])),c},aspectRatio:r/t}}function wh(e,t,r){let{type:n,aspectRatio:o}=so(e,t,r);return{type:i=>{let{parallels:a,domain:s,width:c,height:u}=i,f=n(i);return a!=null&&(f.parallels(a),s===void 0&&c!=null&&f.fitSize([c,u],{type:"Sphere"})),f},aspectRatio:o}}var aC=un({stream:e=>e}),YF=un(_c({point(e,t){this.stream.point(e,-t)}}));function sC(e,t,r,n){let o=r[e],i=r[t],a=o.length,s=r[e]=new Float64Array(a).fill(NaN),c=r[t]=new Float64Array(a).fill(NaN),u,f=n.stream({point(p,l){s[u]=p,c[u]=l}});for(u=0;u5?5:c:r1}}if(e!=null){if(typeof e!="function"){let{aspectRatio:t}=n1(e);if(t)return t}return r1}}function uC(e){let t=[],r=[],n={scale:"x",value:t},o={scale:"y",value:r},i={point(a,s){t.push(a),r.push(s)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let a of e.value)oo(a,i);return[n,o]}function lC({x:e,y:t}){if(e||t)return e??=r=>r,t??=r=>r,_c({point(r,n){this.stream.point(e(r),t(n))}})}function tf(e={}){let{document:t=typeof window<"u"?window.document:void 0,clip:r}=e;return{document:t,clip:lh(r)}}function Ke(e,{document:t}){return kr(mi(e).call(t.documentElement))}var Sh=Symbol("unset");function vh(e){return(e.length===1?WF:XF)(e)}function WF(e){let t,r=Sh;return n=>(Object.is(r,n)||(r=n,t=e(n)),t)}function XF(e){let t,r;return(...n)=>((r?.length!==n.length||r.some((o,i)=>!Object.is(o,n[i])))&&(r=n,t=e(...n)),t)}var ZF=vh(e=>new Intl.NumberFormat(e)),Dwe=vh((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{month:t}})),Lwe=vh((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{weekday:t}}));function QF(e="en-US"){let t=ZF(e);return r=>r!=null&&!isNaN(r)?t.format(r):void 0}function JF(e){return rh(e,"Invalid Date")}function e9(e="en-US"){let t=QF(e);return r=>(r instanceof Date?JF:typeof r=="number"?t:Ot)(r)}var zo=e9();var lr=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,t9=0;function mC(){return`plot-clip-${++t9}`}function dC(e,{title:t,href:r,ariaLabel:n,ariaDescription:o,ariaHidden:i,target:a,fill:s,fillOpacity:c,stroke:u,strokeWidth:f,strokeOpacity:p,strokeLinejoin:l,strokeLinecap:m,strokeMiterlimit:h,strokeDasharray:b,strokeDashoffset:y,opacity:x,mixBlendMode:g,imageFilter:S,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:I},{ariaLabel:T,fill:P="currentColor",fillOpacity:R,stroke:k="none",strokeOpacity:N,strokeWidth:B,strokeLinecap:V,strokeLinejoin:C,strokeMiterlimit:G,paintOrder:j}){P===null&&(s=null,c=null),k===null&&(u=null,p=null),Qt(P)?!Qt(k)&&(!Qt(s)||I?.fill)&&(k="none"):Qt(k)&&(!Qt(u)||I?.stroke)&&(P="none");let[H,U]=jo(s,P),[z,Y]=_t(c,R),[X,q]=jo(u,k),[ae,J]=_t(p,N),[oe,Q]=_t(x);bs(q)||(f===void 0&&(f=B),m===void 0&&(m=V),l===void 0&&(l=C),h===void 0&&!GT(l)&&(h=G),!bs(U)&&w===void 0&&(w=j));let[fe,O]=_t(f);return P!==null&&(e.fill=Pt(U,"currentColor"),e.fillOpacity=xl(Y,1)),k!==null&&(e.stroke=Pt(q,"none"),e.strokeWidth=xl(O,1),e.strokeOpacity=xl(J,1),e.strokeLinejoin=Pt(l,"miter"),e.strokeLinecap=Pt(m,"butt"),e.strokeMiterlimit=xl(h,4),e.strokeDasharray=Pt(b,"none"),e.strokeDashoffset=Pt(y,"0")),e.target=Ot(a),e.ariaLabel=Ot(T),e.ariaDescription=Ot(o),e.ariaHidden=Ot(i),e.opacity=xl(Q,1),e.mixBlendMode=Pt(g,"normal"),e.imageFilter=Pt(S,"none"),e.paintOrder=Pt(w,"normal"),e.pointerEvents=Pt(_,"auto"),e.shapeRendering=Pt(v,"auto"),{title:{value:t,optional:!0,filter:null},href:{value:r,optional:!0,filter:null},ariaLabel:{value:n,optional:!0,filter:null},fill:{value:H,scale:"auto",optional:!0},fillOpacity:{value:z,scale:"auto",optional:!0},stroke:{value:X,scale:"auto",optional:!0},strokeOpacity:{value:ae,scale:"auto",optional:!0},strokeWidth:{value:fe,optional:!0},opacity:{value:oe,scale:"auto",optional:!0}}}function r9(e,t){t&&e.filter(r=>ul(t[r])).append("title").call(o9,t)}function n9(e,t){t&&e.filter(([r])=>ul(t[r])).append("title").call(i9,t)}function o9(e,t){t&&e.text(r=>zo(t[r]))}function i9(e,t){t&&e.text(([r])=>zo(t[r]))}function Hr(e,{target:t,tip:r},{ariaLabel:n,title:o,fill:i,fillOpacity:a,stroke:s,strokeOpacity:c,strokeWidth:u,opacity:f,href:p}){n&&de(e,"aria-label",l=>n[l]),i&&de(e,"fill",l=>i[l]),a&&de(e,"fill-opacity",l=>a[l]),s&&de(e,"stroke",l=>s[l]),c&&de(e,"stroke-opacity",l=>c[l]),u&&de(e,"stroke-width",l=>u[l]),f&&de(e,"opacity",l=>f[l]),p&&yC(e,l=>p[l],t),r||r9(e,o)}function hC(e,{target:t,tip:r},{ariaLabel:n,title:o,fill:i,fillOpacity:a,stroke:s,strokeOpacity:c,strokeWidth:u,opacity:f,href:p}){n&&de(e,"aria-label",([l])=>n[l]),i&&de(e,"fill",([l])=>i[l]),a&&de(e,"fill-opacity",([l])=>a[l]),s&&de(e,"stroke",([l])=>s[l]),c&&de(e,"stroke-opacity",([l])=>c[l]),u&&de(e,"stroke-width",([l])=>u[l]),f&&de(e,"opacity",([l])=>f[l]),p&&yC(e,([l])=>p[l],t),r||n9(e,o)}function a9({ariaLabel:e,title:t,fill:r,fillOpacity:n,stroke:o,strokeOpacity:i,strokeWidth:a,opacity:s,href:c},{tip:u}){return[e,u?void 0:t,r,n,o,i,a,s,c].filter(f=>f!==void 0)}function s9(e,t,r){let n=fi(e,o=>t[o]);return r===void 0&&n.size>1+e.length>>1&&qr("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),n.values()}function*gC(e,t,r,n){let{z:o}=r,{z:i}=n,a=a9(n,r),s=[...t,...a];for(let c of i?s9(e,i,o):[e]){let u,f;e:for(let p of c){for(let l of s)if(!En(l[p])){f&&f.push(-1);continue e}if(u===void 0){f&&(yield f),u=a.map(l=>Fn(l[p])),f=[p];continue}f.push(p);for(let l=0;lFn(h[p])),f=[p];continue e}}f&&(yield f)}}function c9(e,t,r,n){let o,{clip:i=n.clip}=t;i==="frame"?(e=Ke("svg:g",n).each(function(){this.appendChild(e.node()),e.node=()=>this}),o=u9(n,r)):i&&(o=p9(i,n)),de(e,"aria-label",t.ariaLabel),de(e,"aria-description",t.ariaDescription),de(e,"aria-hidden",t.ariaHidden),de(e,"clip-path",o)}function f9(e){let t=new WeakMap;return(r,n)=>{let o=t.get(r);if(!o){let i=mC();kr(r.ownerSVGElement).append("clipPath").attr("id",i).call(e,r,n),t.set(r,o=`url(#${i})`)}return o}}var u9=f9((e,t,r)=>{let{width:n,height:o,marginLeft:i,marginRight:a,marginTop:s,marginBottom:c}=r;e.append("rect").attr("x",i).attr("y",s).attr("width",n-a-i).attr("height",o-s-c)}),pC=new WeakMap,l9={type:"Sphere"};function p9(e,t){let r,n;if((r=pC.get(t))||pC.set(t,r=new WeakMap),e.type==="Sphere"&&(e=l9),!(n=r.get(e))){let o=mC();kr(t.ownerSVGElement).append("clipPath").attr("id",o).append("path").attr("d",t.path()(e)),r.set(e,n=`url(#${o})`)}return n}function pr(e,t,r,n){c9(e,t,r,n),de(e,"class",t.className),de(e,"fill",t.fill),de(e,"fill-opacity",t.fillOpacity),de(e,"stroke",t.stroke),de(e,"stroke-width",t.strokeWidth),de(e,"stroke-opacity",t.strokeOpacity),de(e,"stroke-linejoin",t.strokeLinejoin),de(e,"stroke-linecap",t.strokeLinecap),de(e,"stroke-miterlimit",t.strokeMiterlimit),de(e,"stroke-dasharray",t.strokeDasharray),de(e,"stroke-dashoffset",t.strokeDashoffset),de(e,"shape-rendering",t.shapeRendering),de(e,"filter",t.imageFilter),de(e,"paint-order",t.paintOrder);let{pointerEvents:o=n.pointerSticky===!1?"none":void 0}=t;de(e,"pointer-events",o)}function er(e,t){m9(e,"mix-blend-mode",t.mixBlendMode),de(e,"opacity",t.opacity)}function yC(e,t,r){e.each(function(n){let o=t(n);if(o!=null){let i=this.ownerDocument.createElementNS(vo.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS(vo.xlink,"href",o),r!=null&&i.setAttribute("target",r),this.parentNode.insertBefore(i,this).appendChild(this)}})}function de(e,t,r){r!=null&&e.attr(t,r)}function m9(e,t,r){r!=null&&e.style(t,r)}function mr(e,t,{x:r,y:n},o=lr,i=lr){o+=t.dx,i+=t.dy,r?.bandwidth&&(o+=r.bandwidth()/2),n?.bandwidth&&(i+=n.bandwidth()/2),(o||i)&&e.attr("transform",`translate(${o},${i})`)}function Pt(e,t){if((e=Ot(e))!==t)return e}function xl(e,t){if((e=kt(e))!==t)return e}var d9=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function rf(e){if(e===void 0)return"plot-d6a7b5";if(e=`${e}`,!d9.test(e))throw new Error(`invalid class name: ${e}`);return e}function nf(e,t){if(typeof t=="string")e.property("style",t);else if(t!=null)for(let r of e)Object.assign(r.style,t)}function Ko({frameAnchor:e},{width:t,height:r,marginTop:n,marginRight:o,marginBottom:i,marginLeft:a}){return[/left$/.test(e)?a:/right$/.test(e)?t-o:(a+t-o)/2,/^top/.test(e)?n:/^bottom/.test(e)?r-i:(n+r-i)/2]}var mt=class{constructor(t,r={},n={},o){let{facet:i="auto",facetAnchor:a,fx:s,fy:c,sort:u,dx:f=0,dy:p=0,margin:l=0,marginTop:m=l,marginRight:h=l,marginBottom:b=l,marginLeft:y=l,className:x,clip:g=o?.clip,channels:S,tip:w,render:_}=n;if(this.data=t,this.sort=ha(u)?u:null,this.initializer=ki(n).initializer,this.transform=this.initializer?n.transform:hl(n).transform,i===null||i===!1?this.facet=null:(this.facet=Ar(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=t===Bc&&typeof s=="string"?[s]:s,this.fy=t===Bc&&typeof c=="string"?[c]:c),this.facetAnchor=nC(a),r=kx(r),S!==void 0&&(r={...h9(S),...r}),o!==void 0&&(r={...dC(this,n,o),...r}),this.channels=Object.fromEntries(Object.entries(r).map(([v,I])=>{if(Kc(I.value)){let{value:T,label:P=I.label,scale:R=I.scale}=I.value;I={...I,label:P,scale:R,value:T}}if(t===Bc&&typeof I.value=="string"){let{value:T}=I;I={...I,value:[T]}}return[v,I]}).filter(([v,{value:I,optional:T}])=>{if(I!=null)return!0;if(T)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+f,this.dy=+p,this.marginTop=+m,this.marginRight=+h,this.marginBottom=+b,this.marginLeft=+y,this.clip=lh(g),this.tip=g9(w),this.className=Ot(x),this.facet==="super"){if(s||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:I}=r[v];if(!(I!=="x"&&I!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=i1(_,this.render))}initialize(t,r,n){let o=Ci(this.data);t===void 0&&o!=null&&(t=[Kr(o)]);let i=t;this.transform!=null&&({facets:t,data:o}=this.transform(o,t,n),o=Ci(o)),t!==void 0&&(t.original=i);let a=iM(this.channels,o);return this.sort!=null&&sM(o,t,a,r,this.sort),{data:o,facets:t,channels:a}}filter(t,r,n){for(let o in r){let{filter:i=En}=r[o];if(i!==null){let a=n[o];t=t.filter(s=>i(a[s]))}}return t}project(t,r,n){for(let o in t)if(t[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in t&&t[i].scale==="y"&&sC(o,i,r,n.projection)}}scale(t,r,n){let o=aM(t,r);return n.projection&&this.project(t,o,n),o}};function o1(...e){return e.plot=mt.prototype.plot,e}function i1(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);return function(r,n,o,i,a,s){return e.call(this,r,n,o,i,a,(c,u,f,p,l)=>t.call(this,c,u,f,p,l,s))}}function h9(e){return Object.fromEntries(Object.entries(kx(e)).map(([t,r])=>(r=typeof r=="string"?{value:r,label:t}:xa(r),r.filter===void 0&&r.scale==null&&(r={...r,filter:null}),[t,r])))}function g9(e){return e===!0?"xy":e===!1||e==null?null:typeof e=="string"?Ar(e,"tip",["x","y","xy"]):e}function wl(e,t){return e?.tip===!0?{...e,tip:t}:Go(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}function xC(e,t,r={}){let n=.5-lr,o=.5+lr,i=.5+lr,a=.5-lr;for(let{marginTop:b,marginRight:y,marginBottom:x,marginLeft:g}of t)b>n&&(n=b),y>o&&(o=y),x>i&&(i=x),g>a&&(a=g);let{margin:s,marginTop:c=s!==void 0?s:n,marginRight:u=s!==void 0?s:o,marginBottom:f=s!==void 0?s:i,marginLeft:p=s!==void 0?s:a}=r;c=+c,u=+u,f=+f,p=+p;let{width:l=640,height:m=y9(e,r,{width:l,marginTopDefault:n,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:a})+Math.max(0,c-n+f-i)}=r;l=+l,m=+m;let h={width:l,height:m,marginTop:c,marginRight:u,marginBottom:f,marginLeft:p};if(e.fx||e.fy){let{margin:b,marginTop:y=b!==void 0?b:c,marginRight:x=b!==void 0?b:u,marginBottom:g=b!==void 0?b:f,marginLeft:S=b!==void 0?b:p}=r.facet??{};y=+y,x=+x,g=+g,S=+S,h.facet={marginTop:y,marginRight:x,marginBottom:g,marginLeft:S}}return h}function y9({x:e,y:t,fy:r,fx:n},{projection:o,aspectRatio:i},{width:a,marginTopDefault:s,marginRightDefault:c,marginBottomDefault:u,marginLeftDefault:f}){let p=r&&r.scale.domain().length||1,l=fC(o);if(l){let h=n?n.scale.domain().length:1,b=(1.1*p-.1)/(1.1*h-.1)*l,y=Math.max(.1,Math.min(10,b));return Math.round((a-f-c)*y+s+u)}let m=t?Bo(t)?t.scale.domain().length||1:Math.max(7,17/p):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let h=bC("y",t)/(bC("x",e)*i),b=n?n.scale.bandwidth():1,y=r?r.scale.bandwidth():1,x=b*(a-f-c)-e.insetLeft-e.insetRight;return(h*x+t.insetTop+t.insetBottom)/y+s+u}return!!(t||r)*Math.max(1,Math.min(60,m*p))*20+!!n*30+60}function bC(e,t){if(!t)throw new Error(`aspectRatio requires ${e} scale`);let{type:r,domain:n}=t,o;switch(r){case"linear":case"utc":case"time":o=Number;break;case"pow":{let s=t.scale.exponent();o=c=>Math.pow(c,s);break}case"log":o=Math.log;break;case"point":case"band":return n.length;default:throw new Error(`unsupported ${e} scale for aspectRatio: ${r}`)}let[i,a]=Gr(n);return Math.abs(o(a)-o(i))}var wC=new WeakMap;function a1(e,t,{x:r,y:n,px:o,py:i,maxRadius:a=40,channels:s,render:c,...u}={}){return a=+a,o!=null&&(r??=null,s={...s,px:{value:o,scale:"x"}}),i!=null&&(n??=null,s={...s,py:{value:i,scale:"y"}}),{x:r,y:n,channels:s,...u,render:i1(function(f,p,l,m,h,b){h={...h,pointerSticky:!1};let y=h.ownerSVGElement,{data:x}=h.getMarkState(this),g=wC.get(y);g||wC.set(y,g={sticky:!1,roots:[],renders:[]});let S=g.renders.push(q)-1,{x:w,y:_,fx:v,fy:I}=p,T=v?v(f.fx)-m.marginLeft:0,P=I?I(f.fy)-m.marginTop:0;w?.bandwidth&&(T+=w.bandwidth()/2),_?.bandwidth&&(P+=_.bandwidth()/2);let R=f.fi!=null,k;if(R){let Q=g.facetStates;Q||(g.facetStates=Q=new Map),k=Q.get(this),k||Q.set(this,k=new Map)}let[N,B]=Ko(this,m),{px:V,py:C}=l,G=V?Q=>V[Q]:c1(l,N),j=C?Q=>C[Q]:f1(l,B),H,U,z,Y;function X(Q,fe){if(R)if(Y&&(Y=cancelAnimationFrame(Y)),Q==null)k.delete(f.fi);else{k.set(f.fi,fe),Y=requestAnimationFrame(()=>{Y=null;for(let[O,L]of k)if(L1)){let L=H==null?null:ao(x)?x[H]:x.get(H);h.dispatchValue(L)}return O}function ae(Q){if(g.sticky||Q.pointerType==="mouse"&&Q.buttons===1)return;let[fe,O]=ea(Q);fe-=T,O-=P;let L=fem.width-m.marginRight?1:e,K=Om.height-m.marginBottom?1:t,A=null,ee=a*a;for(let re of f){let Te=L*(G(re)-fe),Me=K*(j(re)-O),rt=Te*Te+Me*Me;rt<=ee&&(A=re,ee=rt)}if(A!=null&&(e!==1||t!==1)){let re=G(A)-fe,Te=j(A)-O;ee=re*re+Te*Te}X(A,ee)}function J(Q){Q.pointerType==="mouse"&&H!=null&&(g.sticky&&g.roots.some(fe=>fe?.contains(Q.target))||(g.sticky?(g.sticky=!1,g.renders.forEach(fe=>fe(null))):(g.sticky=!0,q(H)),Q.stopImmediatePropagation()))}function oe(Q){Q.pointerType==="mouse"&&(g.sticky||X(null))}return y.addEventListener("pointerenter",ae),y.addEventListener("pointermove",ae),y.addEventListener("pointerdown",J),y.addEventListener("pointerleave",oe),q(null)},c)}}function SC(e){return a1(1,1,e)}function vC(e){return a1(1,.01,e)}function s1(e){return a1(.01,1,e)}function c1({x1:e,x2:t,x:r=e},n){return e&&t?o=>(e[o]+t[o])/2:r?o=>r[o]:()=>n}function f1({y1:e,y2:t,y:r=e},n){return e&&t?o=>(e[o]+t[o])/2:r?o=>r[o]:()=>n}function Ih(e){return Bo(e)&&e.interval===void 0?void 0:"tabular-nums"}function IC(e,t){let{label:r=e.label,tickSize:n=6,width:o=240,height:i=44+n,marginTop:a=18,marginRight:s=0,marginBottom:c=16+n,marginLeft:u=0,style:f,ticks:p=(o-u-s)/64,tickFormat:l,fontVariant:m=Ih(e),round:h=!0,opacity:b,className:y}=t,x=tf(t);y=rf(y),b=_t(b)[1],l===null&&(l=()=>null);let g=Ke("svg",x).attr("class",`${y}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(N=>N.append("style").text(`:where(.${y}-ramp) { +${r}`}function LF(e){return e==="time"?Ah:e==="utc"?El:$F}function oM(e,t,r){let n=er(Wp(t,(o,i)=>Math.abs(i-o)));if(n<1e3)return eM("millisecond","utc",r);for(let[o,i,a,s]of LF(e)){if(n>s||o==="hour"&&!n)break;if(t.every(c=>i.floor(c)>=c))return eM(o,a,r)}}function tu(e,t,r){return(n,o,i)=>{let a=e(n,o),s=t(n,o),c=o-Ui(i);return o!==c&&i[c]!==void 0&&s===t(i[c],c)?a:r(a,s)}}var e1=Object.getPrototypeOf(Uint8Array),VF=Object.prototype.toString;function go(e){return e instanceof Array||e instanceof e1}function sM(e){return e instanceof e1&&!jF(e)}function cM(e){return e?.prototype instanceof e1&&!UF(e)}function jF(e){return e instanceof BigInt64Array||e instanceof BigUint64Array}function UF(e){return e===BigInt64Array||e===BigUint64Array}var t1=Symbol("reindex");function dt(e,t,r){let n=typeof t;return n==="string"?TM(e)?r1(e.getChild(t),r):iM(e,n1(t),r):n==="function"?iM(e,t,r):n==="number"||t instanceof Date||n==="boolean"?We(e,bn(t),r):typeof t?.transform=="function"?Jx(t.transform(e),r):zF(Jx(t,r),e?.[t1])}function zF(e,t){return e!=null&&t?Lh(e,t):e}function iM(e,t,r){return We(e,cM(r)?(n,o)=>o1(t(n,o)):t,r)}function Jx(e,t){return t===void 0?ri(e):MM(e)?r1(e,t):e instanceof t?e:t.from(e,cM(t)&&!sM(e)?o1:void 0)}function r1(e,t){return e==null?e:(t===void 0||t===Array)&&qF(e.type)?i1(aM(e)):Jx(aM(e),t)}function aM(e){return e.nullCount?e.toJSON():e.toArray()}var ou=[null],n1=e=>t=>{let r=t[e];return r===void 0&&t.type==="Feature"?t.properties?.[e]:r},ei={transform:jr},nt={transform:e=>e};var uM=()=>1,fM=()=>!0,At=e=>e==null?e:`${e}`,Ft=e=>e==null?e:+e;var $h=e=>e?e[0]:void 0,Fl=e=>e?e[1]:void 0;var bn=e=>()=>e;function lM(e){let t=+`${e}`.slice(1)/100;return(r,n)=>En(r,t,n)}function ti(e){return sM(e)?e:We(e,o1,Float64Array)}function o1(e){return e==null?NaN:Number(e)}function i1(e){return We(e,a1)}function a1(e){return e instanceof Date&&!isNaN(e)?e:typeof e=="string"?Rl(e):e==null||isNaN(e=Number(e))?void 0:new Date(e)}function Zr(e,t){return e===void 0&&(e=t),e===null?[void 0,"none"]:uu(e)?[void 0,e]:[e,void 0]}function Ct(e,t){return e===void 0&&(e=t),e===null||typeof e=="number"?[void 0,e]:[e,void 0]}function s1(e,t,r){if(e!=null)return Vr(e,t,r)}function Vr(e,t,r){let n=`${e}`.toLowerCase();if(!r.includes(n))throw new Error(`invalid ${t}: ${e}`);return n}function zi(e){return TM(e)?e:ri(e)}function ri(e){if(e==null||go(e))return e;if(MM(e))return r1(e);if(pM(e))switch(e.type){case"FeatureCollection":return e.features;case"GeometryCollection":return e.geometries;default:return[e]}return Array.from(e)}function pM(e){switch(e?.type){case"FeatureCollection":case"GeometryCollection":case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return!0;default:return!1}}function We(e,t,r=Array){return e==null?e:e instanceof r?e.map(t):r.from(e,t)}function Ma(e,t=Array){return e instanceof t?e.slice():t.from(e)}function mM({x:e,x1:t,x2:r}){return e!==void 0||t!==void 0||r!==void 0}function c1({y:e,y1:t,y2:r}){return e!==void 0||t!==void 0||r!==void 0}function Dh(e){return mM(e)||c1(e)||e.interval!==void 0}function yo(e){return e?.toString===VF}function iu(e){return yo(e)&&(e.type!==void 0||e.domain!==void 0)}function au(e){return yo(e)&&typeof e.transform!="function"}function Ca(e){return au(e)&&e.value===void 0&&e.channel===void 0}function dM(e,t,r,n=nt){return t===void 0&&r===void 0?(t=0,r=e===void 0?n:e):t===void 0?t=e===void 0?0:e:r===void 0&&(r=e===void 0?0:e),[t,r]}function bo(e,t){return e===void 0&&t===void 0?[$h,Fl]:[e,t]}function su({z:e,fill:t,stroke:r}={}){return e===void 0&&([e]=Zr(t)),e===void 0&&([e]=Zr(r)),e}function Oa(e){return go(e)?e.length:e?.numRows}function jr(e){let t=Oa(e),r=new Uint32Array(t);for(let n=0;ne[r],e.constructor):We(t,r=>e.at(r))}function hM(e,t,r){return e.subarray?e.subarray(t,r):e.slice(t,r)}function Bn(e){return e!==null&&typeof e=="object"?e.valueOf():e}function gM(e,t){if(t[e]!==void 0)return t[e];switch(e){case"x1":case"x2":e="x";break;case"y1":case"y2":e="y";break}return t[e]}function cu(e){let t;return[{transform:()=>t,label:xo(e)},r=>t=r]}function Gn(e){return e==null?[e]:cu(e)}function xo(e,t){return typeof e=="string"?e:e&&e.label!==void 0?e.label:t}function $l(e,t){return{transform(r){let n=e.transform(r),o=t.transform(r);return Et(n)||Et(o)?We(n,(i,a)=>new Date((+n[a]+ +o[a])/2)):We(n,(i,a)=>(+n[a]+ +o[a])/2,Float64Array)},label:e.label}}function Dl(e,t){let r=u1(t?.interval,t?.type);return r?We(e,r):e}function u1(e,t){let r=Vh(e,t);return r&&(n=>zn(n)?r.floor(n):n)}function Vh(e,t){if(e!=null){if(typeof e=="number")return BF(e);if(typeof e=="string")return(t==="time"?Zx:Al)(e);if(typeof e.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof e.offset!="function")throw new Error("invalid interval; missing offset method");return e}}function BF(e){e=+e,0Math.floor(r*t)/t,offset:(r,n=1)=>(r*t+Math.floor(n))/t,range:(r,n)=>ns(Math.ceil(r*t),n*t).map(o=>o/t)}:{floor:r=>Math.floor(r/t)*t,offset:(r,n=1)=>r+t*Math.floor(n),range:(r,n)=>ns(Math.ceil(r/t),n/t).map(o=>o*t)}}function ni(e,t){if(e=Vh(e,t),e&&typeof e.range!="function")throw new Error("invalid interval: missing range method");return e}function yM(e,t){if(e=ni(e,t),e&&typeof e.ceil!="function")throw new Error("invalid interval: missing ceil method");return e}function bM(e){return ka(e)&&typeof e?.floor=="function"&&e.floor()instanceof Date}function ka(e){return typeof e?.range=="function"}function oi(e){return e===void 0||au(e)?e:{value:e}}function xM(e){return e==null?null:{transform:t=>dt(t,e,Float64Array),label:xo(e)}}function Qr(e){return e&&typeof e[Symbol.iterator]=="function"}function jh(e){for(let t of e)if(t!=null)return typeof t!="object"||t instanceof Date}function f1(e){for(let t of e){if(t==null)continue;let r=typeof t;return r==="string"||r==="boolean"}}function Et(e){for(let t of e)if(t!=null)return t instanceof Date}function wM(e){for(let t of e)if(t!=null)return typeof t=="string"&&isNaN(t)&&Rl(t)}function SM(e){for(let t of e)if(t!=null){if(typeof t!="string")return!1;if(t.trim())return!isNaN(t)}}function vM(e){for(let t of e)if(t!=null)return typeof t=="number"}function Uh(e,t){let r;for(let n of e)if(n!=null){if(!t(n))return!1;r=!0}return r}var GF=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function uu(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||GF.has(e))}function IM(e){return typeof e=="number"&&(0<=e&&e<=1||isNaN(e))}function ir(e){return e==null||Cs(e)}function Cs(e){return/^\s*none\s*$/i.test(e)}function _M(e){return/^\s*round\s*$/i.test(e)}function zh(e,t){return s1(e,t,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function Na(e="middle"){return zh(e,"frameAnchor")}function PM(e={},...t){let r=e;for(let n of t)for(let o in n)if(r[o]===void 0){let i=n[o];r===e?r={...r,[o]:i}:r[o]=i}return r}function KF(e){console.warn("named iterables are deprecated; please use an object instead");let t=new Set;return Object.fromEntries(Array.from(e,r=>{let{name:n}=r;if(n==null)throw new Error("missing name");let o=`${n}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(t.has(o))throw new Error(`duplicate name: ${o}`);return t.add(o),[n,r]}))}function l1(e){return Qr(e)?KF(e):e}function Bh(e){return e===!0?e="frame":e===!1?e=null:!pM(e)&&e!=null&&(e=Vr(e,"clip",["frame","sphere"]),e==="sphere"&&(e={type:"Sphere"})),e}function TM(e){return e&&typeof e.getChild=="function"&&typeof e.toArray=="function"&&e.schema&&Array.isArray(e.schema.fields)}function MM(e){return e&&typeof e.toArray=="function"&&e.type}function qF(e){return e&&(e.typeId===8||e.typeId===10)&&e.unit===1}var Kn=Symbol("position"),xn=Symbol("color"),Os=Symbol("radius"),ks=Symbol("length"),Ns=Symbol("opacity"),fu=Symbol("symbol"),CM=Symbol("projection"),Xe=new Map([["x",Kn],["y",Kn],["fx",Kn],["fy",Kn],["r",Os],["color",xn],["opacity",Ns],["symbol",fu],["length",ks],["projection",CM]]);function OM(e){return e===Kn||e===CM}function kM(e){return e===Kn||e===Os||e===ks||e===Ns}var HF=Math.sqrt(3),YF=2/HF,WF={draw(e,t){let r=Math.sqrt(t/Math.PI),n=r*YF,o=n/2;e.moveTo(0,n),e.lineTo(r,o),e.lineTo(r,-o),e.lineTo(0,-n),e.lineTo(-r,-o),e.lineTo(-r,o),e.closePath()}},p1=new Map([["asterisk",bl],["circle",Vi],["cross",xl],["diamond",wl],["diamond2",Sl],["hexagon",WF],["plus",vl],["square",Il],["square2",_l],["star",Pl],["times",Zc],["triangle",Tl],["triangle2",Ml],["wye",Cl]]);function m1(e){return e&&typeof e.draw=="function"}function NM(e){return m1(e)?!0:typeof e!="string"?!1:p1.has(e.toLowerCase())}function lu(e){if(e==null||m1(e))return e;let t=p1.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid symbol: ${e}`)}function RM(e){if(e==null||m1(e))return[void 0,e];if(typeof e=="string"){let t=p1.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function Rs({filter:e,sort:t,reverse:r,transform:n,initializer:o,...i}={},a){if(n===void 0&&(e!=null&&(n=EM(e)),t!=null&&!Ca(t)&&(n=d1(n,g1(t))),r&&(n=d1(n,AM))),a!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(t===null||Ca(t))&&{sort:t},transform:d1(n,a)}}function Bi({filter:e,sort:t,reverse:r,initializer:n,...o}={},i){return n===void 0&&(e!=null&&(n=EM(e)),t!=null&&!Ca(t)&&(n=h1(n,g1(t))),r&&(n=h1(n,AM))),{...o,...(t===null||Ca(t))&&{sort:t},initializer:h1(n,i)}}function d1(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(r,n,o){return{data:r,facets:n}=e.call(this,r,n,o),t.call(this,zi(r),n,o)}}function h1(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(r,n,o,...i){let a,s,c,u,f,p;return{data:s=r,facets:c=n,channels:a}=e.call(this,r,n,o,...i),{data:f=s,facets:p=c,channels:u}=t.call(this,s,c,{...o,...a},...i),{data:f,facets:p,channels:{...a,...u}}}}function XF(e,t){return(e.initializer!=null?Bi:Rs)(e,t)}function EM(e){return(t,r)=>{let n=dt(t,e);return{data:t,facets:r.map(o=>o.filter(i=>n[i]))}}}function AM(e,t){return{data:e,facets:t.map(r=>r.slice().reverse())}}function FM(e,{sort:t,...r}={}){return{...(au(e)&&e.channel!==void 0?Bi:XF)(r,g1(e)),sort:Ca(t)?t:null}}function g1(e){return(typeof e=="function"&&e.length!==1?ZF:QF)(e)}function ZF(e){return(t,r)=>{let n=go(t)?(o,i)=>e(t[o],t[i]):(o,i)=>e(t.get(o),t.get(i));return{data:t,facets:r.map(o=>o.slice().sort(n))}}}function QF(e){let t,r;({channel:t,value:e,order:r}={...oi(e)});let n=t?.startsWith("-");if(n&&(t=t.slice(1)),r===void 0&&(r=n?Ps:Cr),typeof r!="function")switch(`${r}`.toLowerCase()){case"ascending":r=Cr;break;case"descending":r=Ps;break;default:throw new Error(`invalid order: ${r}`)}return(o,i,a)=>{let s;if(t===void 0)s=dt(o,e);else{if(a===void 0)throw new Error("channel sort requires an initializer");if(s=a[t],!s)return{};s=s.value}let c=(u,f)=>r(s[u],s[f]);return{data:o,facets:i.map(u=>u.slice().sort(c))}}}function Vl(e,...t){for(let{name:r}of e)if(t.includes(r))return!0;return!1}function LM(e,t,r=y1){let n=Object.entries(e);return t.title!=null&&e.title===void 0&&n.push(["title",n9]),t.href!=null&&e.href===void 0&&n.push(["href",Gh]),n.filter(([,o])=>o!==void 0).map(([o,i])=>i===null?JF(o):r(o,i,t))}function y1(e,t,r,n=b1){let o;yo(t)&&"reduce"in t&&(o=t.scale,t=t.reduce);let i=n(e,t,r),[a,s]=cu(i.label),c;return{name:e,output:o===void 0?a:{value:a,scale:o},initialize(u){i.initialize(u),c=s([])},scope(u,f){i.scope(u,f)},reduce(u,f){c.push(i.reduce(u,f))}}}function JF(e){return{name:e,initialize(){},scope(){},reduce(){}}}function b1(e,t,r,n=jl){let o=gM(e,r),i=n(t,o),a,s;return{label:xo(i===Ll?null:o,i.label),initialize(c){a=o===void 0?c:dt(c,o),i.scope==="data"&&(s=i.reduceIndex(jr(c),a))},scope(c,u){i.scope===c&&(s=i.reduceIndex(u,a))},reduce(c,u){return i.scope==null?i.reduceIndex(c,a,u):i.reduceIndex(c,a,s,u)}}}function x1(e,t){return t?Fo(e,r=>t[r]):[[,e]]}function jl(e,t,r=e9){if(e==null)return r(e);if(typeof e.reduceIndex=="function")return e;if(typeof e.reduce=="function"&&yo(e))return t9(e);if(typeof e=="function")return r9(e);if(/^p\d{2}$/i.test(e))return Gi(lM(e));switch(`${e}`.toLowerCase()){case"first":return Gh;case"last":return o9;case"identity":return w1;case"count":return Ll;case"distinct":return i9;case"sum":return t==null?Ll:a9;case"proportion":return DM(t,"data");case"proportion-facet":return DM(t,"facet");case"deviation":return Gi(bc);case"min":return Gi(Fr);case"min-index":return Gi(Gp);case"max":return Gi(er);case"max-index":return Gi(Bp);case"mean":return $M(Hp);case"median":return $M(rs);case"variance":return Gi(yc);case"mode":return Gi(Yp)}return r(e)}function e9(e){throw new Error(`invalid reduce: ${e}`)}function VM(e,t){for(let r in t){let n=t[r];if(n!==void 0&&!e.some(o=>o.name===r))return n}}function jM(e,t,r){if(t){let n=t.output.transform(),o=(i,a)=>Cr(n[i],n[a]);e.forEach(i=>i.sort(o))}r&&e.forEach(n=>n.reverse())}function t9(e){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...e,reduceIndex:e.reduce.bind(e)}}function r9(e){return{reduceIndex(t,r,n){return e(Lh(r,t),n)}}}function Gi(e){return{reduceIndex(t,r){return e(t,n=>r[n])}}}function $M(e){return{reduceIndex(t,r){let n=e(t,o=>r[o]);return Et(r)?new Date(n):n}}}var w1={reduceIndex(e,t){return Lh(t,e)}},Gh={reduceIndex(e,t){return t[e[0]]}},n9={reduceIndex(e,t){let n=_i(co(e,i=>i.length,i=>t[i]),Fl),o=n.slice(-5).reverse();if(o.length`${i} (${a.toLocaleString("en-US")})`).join(` +`)}},o9={reduceIndex(e,t){return t[e[e.length-1]]}},Ll={label:"Frequency",reduceIndex(e){return e.length}},i9={label:"Distinct",reduceIndex(e,t){let r=new so;for(let n of e)r.add(t[n]);return r.size}},a9=Gi(dn);function DM(e,t){return e==null?{scope:t,label:"Frequency",reduceIndex:(r,n,o=1)=>r.length/o}:{scope:t,reduceIndex:(r,n,o=1)=>dn(r,i=>n[i])/o}}var UM={reduceIndex(e,t,{z:r}){return r}};function pu(e,{scale:t,type:r,value:n,filter:o,hint:i,label:a=xo(n)},s){return i===void 0&&typeof n?.transform=="function"&&(i=n.hint),v1(s,{scale:t,type:r,value:dt(e,n),label:a,filter:o,hint:i})}function BM(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,pu(t,n,r)]))}function GM(e,t){let r=Object.fromEntries(Object.entries(e).map(([n,{scale:o,value:i}])=>{let a=o==null?null:t[o];return[n,a==null?i:We(i,a)]}));return r.channels=e,r}function v1(e,t){let{scale:r,value:n}=t;if(r===!0||r==="auto")switch(e){case"fill":case"stroke":case"color":t.scale=r!==!0&&Uh(n,uu)?null:"color",t.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":t.scale=r!==!0&&Uh(n,IM)?null:"opacity",t.defaultScale="opacity";break;case"symbol":r!==!0&&Uh(n,NM)?(t.scale=null,t.value=We(n,lu)):t.scale="symbol",t.defaultScale="symbol";break;default:t.scale=Xe.has(e)?e:null;break}else if(r===!1)t.scale=null;else if(r!=null&&!Xe.has(r))throw new Error(`unknown scale: ${r}`);return t}function KM(e,t,r,n,o){let{order:i,reverse:a,reduce:s=!0,limit:c}=o;for(let u in o){if(!Xe.has(u))continue;let{value:f,order:p=i,reverse:l=a,reduce:m=s,limit:h=c}=oi(o[u]),b=f?.startsWith("-");if(b&&(f=f.slice(1)),p=p===void 0?b!==(f==="width"||f==="height")?HM:qM:u9(p),m==null||m===!1)continue;let y=u==="fx"||u==="fy"?c9(t,n[u]):s9(r,u);if(!y)throw new Error(`missing channel for scale: ${u}`);let x=y.value,[g=0,S=1/0]=Qr(h)?h:h<0?[h]:[0,h];if(f==null)y.domain=()=>{let w=Array.from(new so(x));return l&&(w=w.reverse()),(g!==0||S!==1/0)&&(w=w.slice(g,S)),w};else{let w=f==="data"?e:f==="height"?zM(r,"y1","y2"):f==="width"?zM(r,"x1","x2"):S1(r,f,f==="y"?"y2":f==="x"?"x2":void 0),_=jl(m===!0?"max":m,w);y.domain=()=>{let v=yb(jr(x),I=>_.reduceIndex(I,w),I=>x[I]);return p&&v.sort(p),l&&v.reverse(),(g!==0||S!==1/0)&&(v=v.slice(g,S)),v.map($h)}}}}function s9(e,t){for(let r in e){let n=e[r];if(n.scale===t)return n}}function c9(e,t){let r=e.original;if(r===e)return t;let n=t.value,o=t.value=[];for(let i=0;iMath.abs(i-n[a]),Float64Array)}function S1(e,t,r){let n=e[t];if(!n&&r!==void 0&&(n=e[r]),n)return n.value;throw new Error(`missing channel: ${t}`)}function u9(e){if(e==null||typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"ascending":return qM;case"descending":return HM}throw new Error(`invalid order: ${e}`)}function qM([e,t],[r,n]){return Cr(t,n)||Cr(e,r)}function HM([e,t],[r,n]){return Ps(t,n)||Cr(e,r)}function I1(e,t){let r=e[t];if(r){for(;r.source;)r=r.source;return r.source===null?null:r}}var QM=new Map([["accent",ux],["category10",cx],["dark2",fx],["observable10",lx],["paired",px],["pastel1",mx],["pastel2",dx],["set1",hx],["set2",gx],["set3",yx],["tableau10",bx]]);function JM(e){return e!=null&&QM.has(`${e}`.toLowerCase())}var YM=new Map([...QM,["brbg",Ki(pd,md)],["prgn",Ki(dd,hd)],["piyg",Ki(gd,yd)],["puor",Ki(bd,xd)],["rdbu",Ki(dl,Hc)],["rdgy",Ki(wd,Sd)],["rdylbu",Ki(hl,Yc)],["rdylgn",Ki(vd,Id)],["spectral",Ki(_d,Pd)],["burd",WM(dl,Hc)],["buylrd",WM(hl,Yc)],["blues",ar(Xd,Zd)],["greens",ar(Qd,Jd)],["greys",ar(eh,th)],["oranges",ar(ah,sh)],["purples",ar(rh,nh)],["reds",ar(oh,ih)],["turbo",qi(gh)],["viridis",qi(bh)],["magma",qi(xh)],["inferno",qi(wh)],["plasma",qi(Sh)],["cividis",qi(ch)],["cubehelix",qi(uh)],["warm",qi(lh)],["cool",qi(ph)],["bugn",ar(Td,Md)],["bupu",ar(Cd,Od)],["gnbu",ar(kd,Nd)],["orrd",ar(Rd,Ed)],["pubu",ar($d,Dd)],["pubugn",ar(Ad,Fd)],["purd",ar(Ld,Vd)],["rdpu",ar(jd,Ud)],["ylgn",ar(Gd,Kd)],["ylgnbu",ar(zd,Bd)],["ylorbr",ar(qd,Hd)],["ylorrd",ar(Yd,Wd)],["rainbow",XM(mh)],["sinebow",XM(hh)]]);function ar(e,t){return({length:r})=>r===1?[e[3][1]]:r===2?[e[3][1],e[3][2]]:(r=Math.max(3,Math.floor(r)),r>9?_r(t,r):e[r])}function Ki(e,t){return({length:r})=>r===2?[e[3][0],e[3][2]]:(r=Math.max(3,Math.floor(r)),r>11?_r(t,r):e[r])}function WM(e,t){return({length:r})=>r===2?[e[3][2],e[3][0]]:(r=Math.max(3,Math.floor(r)),r>11?_r(n=>t(1-n),r):e[r].slice().reverse())}function qi(e){return({length:t})=>_r(e,Math.max(2,Math.floor(t)))}function XM(e){return({length:t})=>_r(e,Math.floor(t)+1).slice(0,-1)}function _1(e){let t=`${e}`.toLowerCase();if(!YM.has(t))throw new Error(`unknown ordinal scheme: ${t}`);return YM.get(t)}function Ul(e,t){let r=_1(e),n=typeof r=="function"?r({length:t}):r;return n.length!==t?n.slice(0,t):n}function eC(e,t="greys"){let r=new Set,[n,o]=Ul(t,2);for(let i of e)if(i!=null)if(i===!0)r.add(o);else if(i===!1)r.add(n);else return;return[...r]}var ZM=new Map([["brbg",md],["prgn",hd],["piyg",yd],["puor",xd],["rdbu",Hc],["rdgy",Sd],["rdylbu",Yc],["rdylgn",Id],["spectral",Pd],["burd",e=>Hc(1-e)],["buylrd",e=>Yc(1-e)],["blues",Zd],["greens",Jd],["greys",th],["purples",nh],["reds",ih],["oranges",sh],["turbo",gh],["viridis",bh],["magma",xh],["inferno",wh],["plasma",Sh],["cividis",ch],["cubehelix",uh],["warm",lh],["cool",ph],["bugn",Md],["bupu",Od],["gnbu",Nd],["orrd",Ed],["pubugn",Fd],["pubu",Dd],["purd",Vd],["rdpu",Ud],["ylgnbu",Bd],["ylgn",Kd],["ylorbr",Hd],["ylorrd",Wd],["rainbow",mh],["sinebow",hh]]);function mu(e){let t=`${e}`.toLowerCase();if(!ZM.has(t))throw new Error(`unknown quantitative scheme: ${t}`);return ZM.get(t)}var f9=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function tC(e){return e!=null&&f9.has(`${e}`.toLowerCase())}var T1=e=>t=>e(1-t),P1=[0,1],rC=new Map([["number",mt],["rgb",Fn],["hsl",Gb],["hcl",Kb],["lab",lm]]);function M1(e){let t=`${e}`.toLowerCase();if(!rC.has(t))throw new Error(`unknown interpolator: ${t}`);return rC.get(t)}function hu(e,t,r,{type:n,nice:o,clamp:i,zero:a,domain:s=lC(e,r),unknown:c,round:u,scheme:f,interval:p,range:l=Xe.get(e)===Os?d9(r,s):Xe.get(e)===ks?h9(r,s):Xe.get(e)===Ns?P1:void 0,interpolate:m=Xe.get(e)===xn?f==null&&l!==void 0?Fn:mu(f!==void 0?f:n==="cyclical"?"rainbow":"turbo"):u?us:mt,reverse:h}){if(s=nC(s),p=ni(p,n),(n==="cyclical"||n==="sequential")&&(n="linear"),typeof m!="function"&&(m=M1(m)),h=!!h,l!==void 0){let b=s.length,y=(l=nC(l)).length;if(b!==y){if(m.length===1)throw new Error("invalid piecewise interpolator");m=jo(m,l),l=void 0}}if(m.length===1?(h&&(m=T1(m),h=!1),l===void 0&&(l=Float64Array.from(s,(b,y)=>y/(s.length-1)),l.length===2&&(l=P1)),t.interpolate((l===P1?bn:zl)(m))):t.interpolate(m),a){let[b,y]=Yt(s);(b>0||y<0)&&(s=Ma(s),(Ui(s)||1)===Math.sign(b)?s[0]=0:s[s.length-1]=0)}return h&&(s=la(s)),t.domain(s).unknown(c),o&&(t.nice(l9(o,n)),s=t.domain()),l!==void 0&&t.range(l),i&&t.clamp(i),{type:n,domain:s,range:l,scale:t,interpolate:m,interval:p}}function nC(e){return e=ri(e),e.length>=2?e:[e[0],e[0]]}function l9(e,t){return e===!0?void 0:typeof e=="number"?e:yM(e,t)}function oC(e,t,r){return hu(e,ys(),t,r)}function iC(e,t,r){return C1(e,t,{...r,exponent:.5})}function C1(e,t,{exponent:r=1,...n}){return hu(e,nl().exponent(r),t,{...n,type:"pow"})}function aC(e,t,{base:r=10,domain:n=g9(t),...o}){return hu(e,tl().base(r),t,{...o,domain:n})}function sC(e,t,{constant:r=1,...n}){return hu(e,rl().constant(r),t,n)}function cC(e,t,{range:r,quantiles:n=r===void 0?5:(r=[...r]).length,n:o=n,scheme:i="rdylbu",domain:a=y9(t),unknown:s,interpolate:c,reverse:u}){return r===void 0&&(r=c!==void 0?_r(c,o):Xe.get(e)===xn?Ul(i,o):void 0),a.length>0&&(a=ol(a,r===void 0?{length:o}:r).quantiles()),Kh(e,t,{domain:a,range:r,reverse:u,unknown:s})}function uC(e,t,{range:r,n=r===void 0?5:(r=[...r]).length,scheme:o="rdylbu",domain:i=lC(e,t),unknown:a,interpolate:s,reverse:c}){let[u,f]=Yt(i),p;return r===void 0?(p=uo(u,f,n),p[0]<=u&&p.splice(0,1),p[p.length-1]>=f&&p.pop(),n=p.length+1,r=s!==void 0?_r(s,n):Xe.get(e)===xn?Ul(o,n):void 0):(p=_r(mt(u,f),n+1).slice(1,-1),u instanceof Date&&(p=p.map(l=>new Date(l)))),Ui(ri(i))<0&&p.reverse(),Kh(e,t,{domain:p,range:r,reverse:c,unknown:a})}function Kh(e,t,{domain:r=[0],unknown:n,scheme:o="rdylbu",interpolate:i,range:a=i!==void 0?_r(i,r.length+1):Xe.get(e)===xn?Ul(o,r.length+1):void 0,reverse:s}){r=ri(r);let c=Ui(r);if(!isNaN(c)&&!p9(r,c))throw new Error(`the ${e} scale has a non-monotonic domain`);return s&&(a=la(a)),{type:"threshold",scale:il(c<0?la(r):r,a===void 0?[]:a).unknown(n),domain:r,range:a}}function p9(e,t){for(let r=1,n=e.length,o=e[0];rt}}function du(e,t=Hx){return e.length?[Fr(e,({value:r})=>r===void 0?r:Fr(r,t)),er(e,({value:r})=>r===void 0?r:er(r,t))]:[0,1]}function lC(e,t){let r=Xe.get(e);return(r===Os||r===Ns||r===ks?m9:du)(t)}function m9(e){return[0,e.length?er(e,({value:t})=>t===void 0?t:er(t,Hx)):1]}function d9(e,t){let r=e.find(({radius:a})=>a!==void 0);if(r!==void 0)return[0,r.radius];let n=En(e,.5,({value:a})=>a===void 0?NaN:En(a,.25,Ts)),o=t.map(a=>3*Math.sqrt(a/n)),i=30/er(o);return i<1?o.map(a=>a*i):o}function h9(e,t){let r=rs(e,({value:i})=>i===void 0?NaN:rs(i,Math.abs)),n=t.map(i=>12*i/r),o=60/er(n);return o<1?n.map(i=>i*o):n}function g9(e){for(let{value:t}of e)if(t!==void 0)for(let r of t){if(r>0)return du(e,Ts);if(r<0)return du(e,eu)}return[1,10]}function y9(e){let t=[];for(let{value:r}of e)if(r!==void 0)for(let n of r)t.push(n);return t}function zl(e){return(t,r)=>n=>e(t+n*(r-t))}var O1=0,k1;function pC(){let e=O1;return O1=0,k1=void 0,e}function Jr(e){e!==k1&&(k1=e,console.warn(e),++O1)}function qh(e,t,r,n,{type:o,nice:i,clamp:a,domain:s=du(n),unknown:c,pivot:u=0,scheme:f,range:p,symmetric:l=!0,interpolate:m=Xe.get(e)===xn?f==null&&p!==void 0?Fn:mu(f!==void 0?f:"rdbu"):mt,reverse:h}){u=+u,s=ri(s);let[b,y]=s;if(s.length>2&&Jr(`Warning: the diverging ${e} scale domain contains extra elements.`),Rn(b,y)<0&&([b,y]=[y,b],h=!h),b=Math.min(b,u),y=Math.max(y,u),typeof m!="function"&&(m=M1(m)),p!==void 0&&(m=m.length===1?zl(m)(...p):jo(m,p)),h&&(m=T1(m)),l){let x=r.apply(u),g=x-r.apply(b),S=r.apply(y)-x;gS&&(y=r.invert(x+g))}return t.domain([b,u,y]).unknown(c).interpolator(m),a&&t.clamp(a),i&&t.nice(i),{type:o,domain:[b,y],pivot:u,interpolate:m,scale:t}}function mC(e,t,r){return qh(e,ml(),b9,t,r)}function dC(e,t,r){return N1(e,t,{...r,exponent:.5})}function N1(e,t,{exponent:r=1,...n}){return qh(e,ld().exponent(r=+r),S9(r),t,{...n,type:"diverging-pow"})}function hC(e,t,{base:r=10,pivot:n=1,domain:o=du(t,n<0?eu:Ts),...i}){return qh(e,ud().base(r=+r),x9,t,{domain:o,pivot:n,...i})}function gC(e,t,{constant:r=1,...n}){return qh(e,fd().constant(r=+r),v9(r),t,n)}var b9={apply(e){return e},invert(e){return e}},x9={apply:Math.log,invert:Math.exp},w9={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return Math.sign(e)*(e*e)}};function S9(e){return e===.5?w9:{apply(t){return Math.sign(t)*Math.pow(Math.abs(t),e)},invert(t){return Math.sign(t)*Math.pow(Math.abs(t),1/e)}}}function v9(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function yC(e,t,r,n){return hu(e,t,r,n)}function bC(e,t,r){return yC(e,ad(),t,r)}function xC(e,t,r){return yC(e,sd(),t,r)}var gu=Symbol("ordinal");function SC(e,t,r,{type:n,interval:o,domain:i,range:a,reverse:s,hint:c}){return o=ni(o,n),i===void 0&&(i=TC(r,o,e)),(n==="categorical"||n===gu)&&(n="ordinal"),s&&(i=la(i)),i=t.domain(i).domain(),a!==void 0&&(typeof a=="function"&&(a=a(i)),t.range(a)),{type:n,domain:i,range:a,scale:t,hint:c,interval:o}}function vC(e,t,{type:r,interval:n,domain:o,range:i,scheme:a,unknown:s,...c}){n=ni(n,r),o===void 0&&(o=TC(t,n,e));let u;if(Xe.get(e)===fu)u=I9(t),i=i===void 0?_9(u):We(i,lu);else if(Xe.get(e)===xn&&(i===void 0&&(r==="ordinal"||r===gu)&&(i=eC(o,a),i!==void 0&&(a=void 0)),a===void 0&&i===void 0&&(a=r==="ordinal"?"turbo":"observable10"),a!==void 0))if(i!==void 0){let f=mu(a),p=i[0],l=i[1]-i[0];i=({length:m})=>_r(h=>f(p+l*h),m)}else i=_1(a);if(s===Zf)throw new Error(`implicit unknown on ${e} scale is not supported`);return SC(e,hs().unknown(s),t,{...c,type:r,domain:o,range:i,hint:u})}function IC(e,t,{align:r=.5,padding:n=.5,...o}){return PC(q0().align(r).padding(n),t,o,e)}function _C(e,t,{align:r=.5,padding:n=.1,paddingInner:o=n,paddingOuter:i=e==="fx"||e==="fy"?0:n,...a}){return PC(wa().align(r).paddingInner(o).paddingOuter(i),t,a,e)}function PC(e,t,r,n){let{round:o}=r;return o!==void 0&&e.round(o=!!o),e=SC(n,e,t,r),e.round=o,e}function TC(e,t,r){let n=new so;for(let{value:o,domain:i}of e){if(i!==void 0)return i();if(o!==void 0)for(let a of o)n.add(a)}if(t!==void 0){let[o,i]=Yt(n).map(t.floor,t);return t.range(o,t.offset(i))}if(n.size>1e4&&Xe.get(r)===Kn)throw new Error(`implicit ordinal domain of ${r} scale has more than 10,000 values`);return _i(n,Cr)}function wC(e,t){let r;for(let{hint:n}of e){let o=n?.[t];if(o!==void 0){if(r===void 0)r=o;else if(r!==o)return}}return r}function I9(e){return{fill:wC(e,"fill"),stroke:wC(e,"stroke")}}function _9(e){return ir(e.fill)?Tx:Mh}function Bl(e,{label:t,inset:r=0,insetTop:n=r,insetRight:o=r,insetBottom:i=r,insetLeft:a=r,round:s,nice:c,clamp:u,zero:f,align:p,padding:l,projection:m,facet:{label:h=t}={},...b}={}){let y={};for(let[x,g]of e){let S=b[x],w=M9(x,g,{round:Xe.get(x)===Kn?s:void 0,nice:c,clamp:u,zero:f,align:p,padding:l,projection:m,...S});if(w){let{label:_=x==="fx"||x==="fy"?h:t,percent:v,transform:I,inset:T,insetTop:P=T!==void 0?T:x==="y"?n:0,insetRight:R=T!==void 0?T:x==="x"?o:0,insetBottom:C=T!==void 0?T:x==="y"?i:0,insetLeft:N=T!==void 0?T:x==="x"?a:0}=S||{};if(I==null)I=void 0;else if(typeof I!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?P9(g,w):_,w.transform=I,x==="x"||x==="fx"?(w.insetLeft=+N,w.insetRight=+R):(x==="y"||x==="fy")&&(w.insetTop=+P,w.insetBottom=+C),y[x]=w}}return y}function E1(e){let t={},r={scales:t};for(let[n,o]of Object.entries(e)){let{scale:i,type:a,interval:s,label:c}=o;t[n]=N9(o),r[n]=i,i.type=a,s!=null&&(i.interval=s),c!=null&&(i.label=c)}return r}function NC(e,t){let{x:r,y:n,fx:o,fy:i}=e,a=o||i?Yh(t):t;o&&MC(o,a),i&&CC(i,a);let s=o||i?A1(e,t):t;r&&MC(r,s),n&&CC(n,s)}function P9(e=[],t){let r;for(let{label:n}of e)if(n!==void 0){if(r===void 0)r=n;else if(r!==n)return}if(r!==void 0)return!ii(t)&&t.percent&&(r=`${r} (%)`),{inferred:!0,toString:()=>r}}function RC(e){return Math.sign(Ui(e.domain()))*Math.sign(Ui(e.range()))}function Yh(e){let{marginTop:t,marginRight:r,marginBottom:n,marginLeft:o,width:i,height:a,facet:{marginTop:s,marginRight:c,marginBottom:u,marginLeft:f}}=e;return{marginTop:Math.max(t,s),marginRight:Math.max(r,c),marginBottom:Math.max(n,u),marginLeft:Math.max(o,f),width:i,height:a}}function A1({fx:e,fy:t},r){let{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:s,height:c}=Yh(r);return{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:e?e.scale.bandwidth()+a+o:s,height:t?t.scale.bandwidth()+n+i:c,facet:{width:s,height:c}}}function MC(e,t){if(e.range===void 0){let{insetLeft:r,insetRight:n}=e,{width:o,marginLeft:i=0,marginRight:a=0}=t,s=i+r,c=o-a-n;e.range=[s,Math.max(s,c)],ii(e)||(e.range=AC(e)),e.scale.range(e.range)}EC(e)}function CC(e,t){if(e.range===void 0){let{insetTop:r,insetBottom:n}=e,{height:o,marginTop:i=0,marginBottom:a=0}=t,s=i+r,c=o-a-n;e.range=[Math.max(s,c),s],ii(e)?e.range.reverse():e.range=AC(e),e.scale.range(e.range)}EC(e)}function EC(e){e.round===void 0&&O9(e)&&T9(e)<=30&&e.scale.round(!0)}function T9({scale:e}){let t=e.domain().length,[r,n]=e.range(),o=e.paddingInner?e.paddingInner():1,i=e.paddingOuter?e.paddingOuter():e.padding(),a=t-o,s=Math.abs(n-r)/Math.max(1,a+i*2);return(s-Math.floor(s))*a}function AC(e){let t=e.scale.domain().length+F1(e);if(!(t>2))return e.range;let[r,n]=e.range;return Array.from({length:t},(o,i)=>r+i/(t-1)*(n-r))}function M9(e,t=[],r={}){let n=C9(e,t,r);if(r.type===void 0&&r.domain===void 0&&r.range===void 0&&r.interval==null&&e!=="fx"&&e!=="fy"&&ii({type:n})){let o=t.map(({value:i})=>i).filter(i=>i!==void 0);o.some(Et)?Jr(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${yu(n)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${yu(n)}".`):o.some(wM)?Jr(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${yu(n)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${yu(n)}".`):o.some(SM)&&Jr(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${yu(n)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${yu(n)}".`)}switch(r.type=n,n){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":r=Hh(t,r,ti);break;case"identity":switch(Xe.get(e)){case Kn:r=Hh(t,r,ti);break;case fu:r=Hh(t,r,k9);break}break;case"utc":case"time":r=Hh(t,r,i1);break}switch(n){case"diverging":return mC(e,t,r);case"diverging-sqrt":return dC(e,t,r);case"diverging-pow":return N1(e,t,r);case"diverging-log":return hC(e,t,r);case"diverging-symlog":return gC(e,t,r);case"categorical":case"ordinal":case gu:return vC(e,t,r);case"cyclical":case"sequential":case"linear":return oC(e,t,r);case"sqrt":return iC(e,t,r);case"threshold":return Kh(e,t,r);case"quantile":return cC(e,t,r);case"quantize":return uC(e,t,r);case"pow":return C1(e,t,r);case"log":return aC(e,t,r);case"symlog":return sC(e,t,r);case"utc":return xC(e,t,r);case"time":return bC(e,t,r);case"point":return IC(e,t,r);case"band":return _C(e,t,r);case"identity":return fC(e);case void 0:return;default:throw new Error(`unknown scale type: ${n}`)}}function yu(e){return typeof e=="symbol"?e.description:e}function OC(e){return typeof e=="string"?`${e}`.toLowerCase():e}var kC={toString:()=>"projection"};function C9(e,t,{type:r,domain:n,range:o,scheme:i,pivot:a,projection:s}){if(r=OC(r),e==="fx"||e==="fy")return"band";(e==="x"||e==="y")&&s!=null&&(r=kC);for(let f of t){let p=OC(f.type);if(p!==void 0){if(r===void 0)r=p;else if(r!==p)throw new Error(`scale incompatible with channel: ${r} !== ${p}`)}}if(r===kC)return;if(r!==void 0)return r;if(n===void 0&&!t.some(({value:f})=>f!==void 0))return;let c=Xe.get(e);if(c===Os)return"sqrt";if(c===Ns||c===ks)return"linear";if(c===fu)return"ordinal";let u=(n??o)?.length;if(u<2||u>2)return R1(c);if(n!==void 0){if(f1(n))return R1(c);if(Et(n))return"utc"}else{let f=t.map(({value:p})=>p).filter(p=>p!==void 0);if(f.some(f1))return R1(c);if(f.some(Et))return"utc"}if(c===xn){if(a!=null||tC(i))return"diverging";if(JM(i))return"categorical"}return"linear"}function R1(e){switch(e){case Kn:return"point";case xn:return gu;default:return"ordinal"}}function ii({type:e}){return e==="ordinal"||e==="point"||e==="band"||e===gu}function F1({type:e}){return e==="threshold"}function O9({type:e}){return e==="point"||e==="band"}function wo(e){if(e===void 0)return!0;let t=e.domain(),r=e(t[0]);for(let n=1,o=t.length;n{if(!Xe.has(t=`${t}`))throw new Error(`unknown scale: ${t}`);return e[t]}}function N9({scale:e,type:t,domain:r,range:n,interpolate:o,interval:i,transform:a,percent:s,pivot:c}){if(t==="identity")return{type:"identity",apply:f=>f,invert:f=>f};let u=e.unknown?e.unknown():void 0;return{type:t,domain:Ma(r),...n!==void 0&&{range:Ma(n)},...a!==void 0&&{transform:a},...s&&{percent:s},...u!==void 0&&{unknown:u},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...e.clamp&&{clamp:e.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:f=>e(f),...e.invert&&{invert:f=>e.invert(f)}}}function DC(e,t){let{fx:r,fy:n}=Bl(e,t),o=r?.scale.domain(),i=n?.scale.domain();return o&&i?Vp(o,i).map(([a,s],c)=>({x:a,y:s,i:c})):o?o.map((a,s)=>({x:a,i:s})):i?i.map((a,s)=>({y:a,i:s})):void 0}function LC(e,{x:t,y:r}){return t&&=j1(t),r&&=j1(r),e.filter(t&&r?n=>t.has(n.x)&&r.has(n.y):t?n=>t.has(n.x):n=>r.has(n.y)).sort(t&&r?(n,o)=>t.get(n.x)-t.get(o.x)||r.get(n.y)-r.get(o.y):t?(n,o)=>t.get(n.x)-t.get(o.x):(n,o)=>r.get(n.y)-r.get(o.y))}function Xh(e,{fx:t,fy:r}){let n=jr(e),o=t?.value,i=r?.value;return t&&r?co(n,a=>(a.fx=o[a[0]],a.fy=i[a[0]],a),a=>o[a],a=>i[a]):t?co(n,a=>(a.fx=o[a[0]],a),a=>o[a]):co(n,a=>(a.fy=i[a[0]],a),a=>i[a])}function VC(e,t,{marginTop:r,marginLeft:n}){let o=e?({x:a})=>e(a)-n:()=>0,i=t?({y:a})=>t(a)-r:()=>0;return function(a){this.tagName==="svg"?(this.setAttribute("x",o(a)),this.setAttribute("y",i(a))):this.setAttribute("transform",`translate(${o(a)},${i(a)})`)}}function jC(e){let t=[],r=new Uint32Array(dn(e,n=>n.length));for(let n of e){let o=0;for(let i of e)n!==i&&(r.set(i,o),o+=i.length);t.push(r.slice(0,o))}return t}var R9=new Map([["top",$1],["right",V1],["bottom",D1],["left",L1],["top-left",Wh($1,L1)],["top-right",Wh($1,V1)],["bottom-left",Wh(D1,L1)],["bottom-right",Wh(D1,V1)],["top-empty",A9],["right-empty",D9],["bottom-empty",F9],["left-empty",$9],["empty",L9]]);function UC(e){if(e==null)return null;let t=R9.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid facet anchor: ${e}`)}var $C=new WeakMap;function j1(e){let t=$C.get(e);return t||$C.set(e,t=new Ar(We(e,(r,n)=>[r,n]))),t}function Ra(e,t){return j1(e).get(t)}function E9(e,t,r){return t=Bn(t),r=Bn(r),e.find(n=>Object.is(Bn(n.x),t)&&Object.is(Bn(n.y),r))}function Zh(e,t,r){return E9(e,t,r)?.empty}function $1(e,{y:t},{y:r}){return t?Ra(t,r)===0:!0}function D1(e,{y:t},{y:r}){return t?Ra(t,r)===t.length-1:!0}function L1(e,{x:t},{x:r}){return t?Ra(t,r)===0:!0}function V1(e,{x:t},{x:r}){return t?Ra(t,r)===t.length-1:!0}function A9(e,{y:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=Ra(t,n);if(i>0)return Zh(e,r,t[i-1])}function F9(e,{y:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=Ra(t,n);if(i0)return Zh(e,t[i-1],n)}function D9(e,{x:t},{x:r,y:n,empty:o}){if(o)return!1;if(!t)return;let i=Ra(t,r);if(in.get(o)?.get(i)??[]):t?e.map(({x:o})=>n.get(o)??[]):e.map(({y:o})=>n.get(o)??[])}var zC=Math.PI,Hi=2*zC,U1=.618;function BC({projection:e,inset:t=0,insetTop:r=t,insetRight:n=t,insetBottom:o=t,insetLeft:i=t}={},a){if(e==null)return;if(typeof e.stream=="function")return e;let s,c,u="frame";if(yo(e)){let _;if({type:e,domain:c,inset:_,insetTop:r=_!==void 0?_:r,insetRight:n=_!==void 0?_:n,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:u=u,...s}=e,e==null)return}typeof e!="function"&&({type:e}=z1(e));let{width:f,height:p,marginLeft:l,marginRight:m,marginTop:h,marginBottom:b}=a,y=f-l-m-i-n,x=p-h-b-r-o;if(e=e?.({width:y,height:x,clip:u,...s}),e==null)return;u=V9(u,l,h,f-m,p-b);let g=l+i,S=h+r,w;if(c!=null){let[[_,v],[I,T]]=Lc(e).bounds(c),P=Math.min(y/(I-_),x/(T-v));P>0?(g-=(P*(_+I)-y)/2,S-=(P*(v+T)-x)/2,w=Vc({point(R,C){this.stream.point(R*P+g,C*P+S)}})):Jr("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=g===0&&S===0?GC():Vc({point(_,v){this.stream.point(_+g,v+S)}}),{stream:_=>e.stream(w.stream(u(_)))}}function z1(e){switch(`${e}`.toLowerCase()){case"albers-usa":return So(T0,.7463,.4673);case"albers":return Jh(Kf,.7463,.4673);case"azimuthal-equal-area":return So(C0,4,4);case"azimuthal-equidistant":return So(k0,Hi,Hi);case"conic-conformal":return Jh(E0,Hi,Hi);case"conic-equal-area":return Jh(xa,6.1702,2.9781);case"conic-equidistant":return Jh(F0,7.312,3.6282);case"equal-earth":return So(D0,5.4133,2.6347);case"equirectangular":return So(A0,Hi,zC);case"gnomonic":return So(V0,3.4641,3.4641);case"identity":return{type:GC};case"reflect-y":return{type:j9};case"mercator":return So(N0,Hi,Hi);case"orthographic":return So(U0,2,2);case"stereographic":return So(B0,2,2);case"transverse-mercator":return So(K0,Hi,Hi);default:throw new Error(`unknown projection type: ${e}`)}}function V9(e,t,r,n,o){if(e===!1||e==null||typeof e=="number")return i=>i;switch(e===!0&&(e="frame"),`${e}`.toLowerCase()){case"frame":return Ec(t,r,n,o);default:throw new Error(`unknown projection clip type: ${e}`)}}function So(e,t,r){return{type:({width:n,height:o,rotate:i,precision:a=.15,clip:s})=>{let c=e();return a!=null&&c.precision?.(a),i!=null&&c.rotate?.(i),typeof s=="number"&&c.clipAngle?.(s),n!=null&&(c.scale(Math.min(n/t,o/r)),c.translate([n/2,o/2])),c},aspectRatio:r/t}}function Jh(e,t,r){let{type:n,aspectRatio:o}=So(e,t,r);return{type:i=>{let{parallels:a,domain:s,width:c,height:u}=i,f=n(i);return a!=null&&(f.parallels(a),s===void 0&&c!=null&&f.fitSize([c,u],{type:"Sphere"})),f},aspectRatio:o}}var GC=bn({stream:e=>e}),j9=bn(Vc({point(e,t){this.stream.point(e,-t)}}));function KC(e,t,r,n){let o=r[e],i=r[t],a=o.length,s=r[e]=new Float64Array(a).fill(NaN),c=r[t]=new Float64Array(a).fill(NaN),u,f=n.stream({point(p,l){s[u]=p,c[u]=l}});for(u=0;u5?5:c:U1}}if(e!=null){if(typeof e!="function"){let{aspectRatio:t}=z1(e);if(t)return t}return U1}}function YC(e){let t=[],r=[],n={scale:"x",value:t},o={scale:"y",value:r},i={point(a,s){t.push(a),r.push(s)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let a of e.value)mo(a,i);return[n,o]}function WC({x:e,y:t}){if(e||t)return e??=r=>r,t??=r=>r,Vc({point(r,n){this.stream.point(e(r),t(n))}})}function bu(e={}){let{document:t=typeof window<"u"?window.document:void 0,clip:r}=e;return{document:t,clip:Bh(r)}}function De(e,{document:t}){return $r(Ti(e).call(t.documentElement))}var eg=Symbol("unset");function tg(e){return(e.length===1?U9:z9)(e)}function U9(e){let t,r=eg;return n=>(Object.is(r,n)||(r=n,t=e(n)),t)}function z9(e){let t,r;return(...n)=>((r?.length!==n.length||r.some((o,i)=>!Object.is(o,n[i])))&&(r=n,t=e(...n)),t)}var B9=tg(e=>new Intl.NumberFormat(e)),OSe=tg((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{month:t}})),kSe=tg((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{weekday:t}}));function G9(e="en-US"){let t=B9(e);return r=>r!=null&&!isNaN(r)?t.format(r):void 0}function K9(e){return Eh(e,"Invalid Date")}function q9(e="en-US"){let t=G9(e);return r=>(r instanceof Date?K9:typeof r=="number"?t:At)(r)}var ai=q9();var gr=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,H9=0;function ZC(){return`plot-clip-${++H9}`}function QC(e,{title:t,href:r,ariaLabel:n,ariaDescription:o,ariaHidden:i,target:a,fill:s,fillOpacity:c,stroke:u,strokeWidth:f,strokeOpacity:p,strokeLinejoin:l,strokeLinecap:m,strokeMiterlimit:h,strokeDasharray:b,strokeDashoffset:y,opacity:x,mixBlendMode:g,imageFilter:S,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:I},{ariaLabel:T,fill:P="currentColor",fillOpacity:R,stroke:C="none",strokeOpacity:N,strokeWidth:G,strokeLinecap:D,strokeLinejoin:O,strokeMiterlimit:z,paintOrder:U}){P===null&&(s=null,c=null),C===null&&(u=null,p=null),ir(P)?!ir(C)&&(!ir(s)||I?.fill)&&(C="none"):ir(C)&&(!ir(u)||I?.stroke)&&(P="none");let[W,B]=Zr(s,P),[q,X]=Ct(c,R),[J,A]=Zr(u,C),[K,Y]=Ct(p,N),[ee,Z]=Ct(x);Cs(A)||(f===void 0&&(f=G),m===void 0&&(m=D),l===void 0&&(l=O),h===void 0&&!_M(l)&&(h=z),!Cs(B)&&w===void 0&&(w=U));let[ne,M]=Ct(f);return P!==null&&(e.fill=Ot(B,"currentColor"),e.fillOpacity=Gl(X,1)),C!==null&&(e.stroke=Ot(A,"none"),e.strokeWidth=Gl(M,1),e.strokeOpacity=Gl(Y,1),e.strokeLinejoin=Ot(l,"miter"),e.strokeLinecap=Ot(m,"butt"),e.strokeMiterlimit=Gl(h,4),e.strokeDasharray=Ot(b,"none"),e.strokeDashoffset=Ot(y,"0")),e.target=At(a),e.ariaLabel=At(T),e.ariaDescription=At(o),e.ariaHidden=At(i),e.opacity=Gl(Z,1),e.mixBlendMode=Ot(g,"normal"),e.imageFilter=Ot(S,"none"),e.paintOrder=Ot(w,"normal"),e.pointerEvents=Ot(_,"auto"),e.shapeRendering=Ot(v,"auto"),{title:{value:t,optional:!0,filter:null},href:{value:r,optional:!0,filter:null},ariaLabel:{value:n,optional:!0,filter:null},fill:{value:W,scale:"auto",optional:!0},fillOpacity:{value:q,scale:"auto",optional:!0},stroke:{value:J,scale:"auto",optional:!0},strokeOpacity:{value:K,scale:"auto",optional:!0},strokeWidth:{value:ne,optional:!0},opacity:{value:ee,scale:"auto",optional:!0}}}function Y9(e,t){t&&e.filter(r=>Nl(t[r])).append("title").call(X9,t)}function W9(e,t){t&&e.filter(([r])=>Nl(t[r])).append("title").call(Z9,t)}function X9(e,t){t&&e.text(r=>ai(t[r]))}function Z9(e,t){t&&e.text(([r])=>ai(t[r]))}function yr(e,{target:t,tip:r},{ariaLabel:n,title:o,fill:i,fillOpacity:a,stroke:s,strokeOpacity:c,strokeWidth:u,opacity:f,href:p}){n&&de(e,"aria-label",l=>n[l]),i&&de(e,"fill",l=>i[l]),a&&de(e,"fill-opacity",l=>a[l]),s&&de(e,"stroke",l=>s[l]),c&&de(e,"stroke-opacity",l=>c[l]),u&&de(e,"stroke-width",l=>u[l]),f&&de(e,"opacity",l=>f[l]),p&&JC(e,l=>p[l],t),r||Y9(e,o)}function rg(e,{target:t,tip:r},{ariaLabel:n,title:o,fill:i,fillOpacity:a,stroke:s,strokeOpacity:c,strokeWidth:u,opacity:f,href:p}){n&&de(e,"aria-label",([l])=>n[l]),i&&de(e,"fill",([l])=>i[l]),a&&de(e,"fill-opacity",([l])=>a[l]),s&&de(e,"stroke",([l])=>s[l]),c&&de(e,"stroke-opacity",([l])=>c[l]),u&&de(e,"stroke-width",([l])=>u[l]),f&&de(e,"opacity",([l])=>f[l]),p&&JC(e,([l])=>p[l],t),r||W9(e,o)}function Q9({ariaLabel:e,title:t,fill:r,fillOpacity:n,stroke:o,strokeOpacity:i,strokeWidth:a,opacity:s,href:c},{tip:u}){return[e,u?void 0:t,r,n,o,i,a,s,c].filter(f=>f!==void 0)}function J9(e,t,r){let n=Fo(e,o=>t[o]);return r===void 0&&n.size>1+e.length>>1&&Jr("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),n.values()}function*ng(e,t,r,n){let{z:o}=r,{z:i}=n,a=Q9(n,r),s=[...t,...a];for(let c of i?J9(e,i,o):[e]){let u,f;e:for(let p of c){for(let l of s)if(!zn(l[p])){f&&f.push(-1);continue e}if(u===void 0){f&&(yield f),u=a.map(l=>Bn(l[p])),f=[p];continue}f.push(p);for(let l=0;lBn(h[p])),f=[p];continue e}}f&&(yield f)}}function e$(e,t,r,n){let o,{clip:i=n.clip}=t;i==="frame"?(e=De("svg:g",n).each(function(){this.appendChild(e.node()),e.node=()=>this}),o=r$(n,r)):i&&(o=o$(i,n)),de(e,"aria-label",t.ariaLabel),de(e,"aria-description",t.ariaDescription),de(e,"aria-hidden",t.ariaHidden),de(e,"clip-path",o)}function t$(e){let t=new WeakMap;return(r,n)=>{let o=t.get(r);if(!o){let i=ZC();$r(r.ownerSVGElement).append("clipPath").attr("id",i).call(e,r,n),t.set(r,o=`url(#${i})`)}return o}}var r$=t$((e,t,r)=>{let{width:n,height:o,marginLeft:i,marginRight:a,marginTop:s,marginBottom:c}=r;e.append("rect").attr("x",i).attr("y",s).attr("width",n-a-i).attr("height",o-s-c)}),XC=new WeakMap,n$={type:"Sphere"};function o$(e,t){let r,n;if((r=XC.get(t))||XC.set(t,r=new WeakMap),e.type==="Sphere"&&(e=n$),!(n=r.get(e))){let o=ZC();$r(t.ownerSVGElement).append("clipPath").attr("id",o).append("path").attr("d",t.path()(e)),r.set(e,n=`url(#${o})`)}return n}function $t(e,t,r,n){e$(e,t,r,n),de(e,"class",t.className),de(e,"fill",t.fill),de(e,"fill-opacity",t.fillOpacity),de(e,"stroke",t.stroke),de(e,"stroke-width",t.strokeWidth),de(e,"stroke-opacity",t.strokeOpacity),de(e,"stroke-linejoin",t.strokeLinejoin),de(e,"stroke-linecap",t.strokeLinecap),de(e,"stroke-miterlimit",t.strokeMiterlimit),de(e,"stroke-dasharray",t.strokeDasharray),de(e,"stroke-dashoffset",t.strokeDashoffset),de(e,"shape-rendering",t.shapeRendering),de(e,"filter",t.imageFilter),de(e,"paint-order",t.paintOrder);let{pointerEvents:o=n.pointerSticky===!1?"none":void 0}=t;de(e,"pointer-events",o)}function It(e,t){i$(e,"mix-blend-mode",t.mixBlendMode),de(e,"opacity",t.opacity)}function JC(e,t,r){e.each(function(n){let o=t(n);if(o!=null){let i=this.ownerDocument.createElementNS($o.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS($o.xlink,"href",o),r!=null&&i.setAttribute("target",r),this.parentNode.insertBefore(i,this).appendChild(this)}})}function de(e,t,r){r!=null&&e.attr(t,r)}function i$(e,t,r){r!=null&&e.style(t,r)}function Dt(e,t,{x:r,y:n},o=gr,i=gr){o+=t.dx,i+=t.dy,r?.bandwidth&&(o+=r.bandwidth()/2),n?.bandwidth&&(i+=n.bandwidth()/2),(o||i)&&e.attr("transform",`translate(${o},${i})`)}function Ot(e,t){if((e=At(e))!==t)return e}function Gl(e,t){if((e=Ft(e))!==t)return e}var a$=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function xu(e){if(e===void 0)return"plot-d6a7b5";if(e=`${e}`,!a$.test(e))throw new Error(`invalid class name: ${e}`);return e}function wu(e,t){if(typeof t=="string")e.property("style",t);else if(t!=null)for(let r of e)Object.assign(r.style,t)}function si({frameAnchor:e},{width:t,height:r,marginTop:n,marginRight:o,marginBottom:i,marginLeft:a}){return[/left$/.test(e)?a:/right$/.test(e)?t-o:(a+t-o)/2,/^top/.test(e)?n:/^bottom/.test(e)?r-i:(n+r-i)/2]}var Ze=class{constructor(t,r={},n={},o){let{facet:i="auto",facetAnchor:a,fx:s,fy:c,sort:u,dx:f=0,dy:p=0,margin:l=0,marginTop:m=l,marginRight:h=l,marginBottom:b=l,marginLeft:y=l,className:x,clip:g=o?.clip,channels:S,tip:w,render:_}=n;if(this.data=t,this.sort=Ca(u)?u:null,this.initializer=Bi(n).initializer,this.transform=this.initializer?n.transform:Rs(n).transform,i===null||i===!1?this.facet=null:(this.facet=Vr(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=t===ou&&typeof s=="string"?[s]:s,this.fy=t===ou&&typeof c=="string"?[c]:c),this.facetAnchor=UC(a),r=l1(r),S!==void 0&&(r={...s$(S),...r}),o!==void 0&&(r={...QC(this,n,o),...r}),this.channels=Object.fromEntries(Object.entries(r).map(([v,I])=>{if(au(I.value)){let{value:T,label:P=I.label,scale:R=I.scale}=I.value;I={...I,label:P,scale:R,value:T}}if(t===ou&&typeof I.value=="string"){let{value:T}=I;I={...I,value:[T]}}return[v,I]}).filter(([v,{value:I,optional:T}])=>{if(I!=null)return!0;if(T)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+f,this.dy=+p,this.marginTop=+m,this.marginRight=+h,this.marginBottom=+b,this.marginLeft=+y,this.clip=Bh(g),this.tip=c$(w),this.className=At(x),this.facet==="super"){if(s||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:I}=r[v];if(!(I!=="x"&&I!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=G1(_,this.render))}initialize(t,r,n){let o=zi(this.data);t===void 0&&o!=null&&(t=[jr(o)]);let i=t;this.transform!=null&&({facets:t,data:o}=this.transform(o,t,n),o=zi(o)),t!==void 0&&(t.original=i);let a=BM(this.channels,o);return this.sort!=null&&KM(o,t,a,r,this.sort),{data:o,facets:t,channels:a}}filter(t,r,n){for(let o in r){let{filter:i=zn}=r[o];if(i!==null){let a=n[o];t=t.filter(s=>i(a[s]))}}return t}project(t,r,n){for(let o in t)if(t[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in t&&t[i].scale==="y"&&KC(o,i,r,n.projection)}}scale(t,r,n){let o=GM(t,r);return n.projection&&this.project(t,o,n),o}};function B1(...e){return e.plot=Ze.prototype.plot,e}function G1(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);return function(r,n,o,i,a,s){return e.call(this,r,n,o,i,a,(c,u,f,p,l)=>t.call(this,c,u,f,p,l,s))}}function s$(e){return Object.fromEntries(Object.entries(l1(e)).map(([t,r])=>(r=typeof r=="string"?{value:r,label:t}:oi(r),r.filter===void 0&&r.scale==null&&(r={...r,filter:null}),[t,r])))}function c$(e){return e===!0?"xy":e===!1||e==null?null:typeof e=="string"?Vr(e,"tip",["x","y","xy"]):e}function Es(e,t){return e?.tip===!0?{...e,tip:t}:yo(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}function tO(e,t,r={}){let n=.5-gr,o=.5+gr,i=.5+gr,a=.5-gr;for(let{marginTop:b,marginRight:y,marginBottom:x,marginLeft:g}of t)b>n&&(n=b),y>o&&(o=y),x>i&&(i=x),g>a&&(a=g);let{margin:s,marginTop:c=s!==void 0?s:n,marginRight:u=s!==void 0?s:o,marginBottom:f=s!==void 0?s:i,marginLeft:p=s!==void 0?s:a}=r;c=+c,u=+u,f=+f,p=+p;let{width:l=640,height:m=u$(e,r,{width:l,marginTopDefault:n,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:a})+Math.max(0,c-n+f-i)}=r;l=+l,m=+m;let h={width:l,height:m,marginTop:c,marginRight:u,marginBottom:f,marginLeft:p};if(e.fx||e.fy){let{margin:b,marginTop:y=b!==void 0?b:c,marginRight:x=b!==void 0?b:u,marginBottom:g=b!==void 0?b:f,marginLeft:S=b!==void 0?b:p}=r.facet??{};y=+y,x=+x,g=+g,S=+S,h.facet={marginTop:y,marginRight:x,marginBottom:g,marginLeft:S}}return h}function u$({x:e,y:t,fy:r,fx:n},{projection:o,aspectRatio:i},{width:a,marginTopDefault:s,marginRightDefault:c,marginBottomDefault:u,marginLeftDefault:f}){let p=r&&r.scale.domain().length||1,l=HC(o);if(l){let h=n?n.scale.domain().length:1,b=(1.1*p-.1)/(1.1*h-.1)*l,y=Math.max(.1,Math.min(10,b));return Math.round((a-f-c)*y+s+u)}let m=t?ii(t)?t.scale.domain().length||1:Math.max(7,17/p):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let h=eO("y",t)/(eO("x",e)*i),b=n?n.scale.bandwidth():1,y=r?r.scale.bandwidth():1,x=b*(a-f-c)-e.insetLeft-e.insetRight;return(h*x+t.insetTop+t.insetBottom)/y+s+u}return!!(t||r)*Math.max(1,Math.min(60,m*p))*20+!!n*30+60}function eO(e,t){if(!t)throw new Error(`aspectRatio requires ${e} scale`);let{type:r,domain:n}=t,o;switch(r){case"linear":case"utc":case"time":o=Number;break;case"pow":{let s=t.scale.exponent();o=c=>Math.pow(c,s);break}case"log":o=Math.log;break;case"point":case"band":return n.length;default:throw new Error(`unsupported ${e} scale for aspectRatio: ${r}`)}let[i,a]=Yt(n);return Math.abs(o(a)-o(i))}var rO=new WeakMap;function K1(e,t,{x:r,y:n,px:o,py:i,maxRadius:a=40,channels:s,render:c,...u}={}){return a=+a,o!=null&&(r??=null,s={...s,px:{value:o,scale:"x"}}),i!=null&&(n??=null,s={...s,py:{value:i,scale:"y"}}),{x:r,y:n,channels:s,...u,render:G1(function(f,p,l,m,h,b){h={...h,pointerSticky:!1};let y=h.ownerSVGElement,{data:x}=h.getMarkState(this),g=rO.get(y);g||rO.set(y,g={sticky:!1,roots:[],renders:[]});let S=g.renders.push(A)-1,{x:w,y:_,fx:v,fy:I}=p,T=v?v(f.fx)-m.marginLeft:0,P=I?I(f.fy)-m.marginTop:0;w?.bandwidth&&(T+=w.bandwidth()/2),_?.bandwidth&&(P+=_.bandwidth()/2);let R=f.fi!=null,C;if(R){let Z=g.facetStates;Z||(g.facetStates=Z=new Map),C=Z.get(this),C||Z.set(this,C=new Map)}let[N,G]=si(this,m),{px:D,py:O}=l,z=D?Z=>D[Z]:H1(l,N),U=O?Z=>O[Z]:Y1(l,G),W,B,q,X;function J(Z,ne){if(R)if(X&&(X=cancelAnimationFrame(X)),Z==null)C.delete(f.fi);else{C.set(f.fi,ne),X=requestAnimationFrame(()=>{X=null;for(let[M,$]of C)if($1)){let $=W==null?null:go(x)?x[W]:x.get(W);h.dispatchValue($)}return M}function K(Z){if(g.sticky||Z.pointerType==="mouse"&&Z.buttons===1)return;let[ne,M]=ma(Z);ne-=T,M-=P;let $=nem.width-m.marginRight?1:e,H=Mm.height-m.marginBottom?1:t,E=null,re=a*a;for(let oe of f){let be=$*(z(oe)-ne),we=H*(U(oe)-M),Ve=be*be+we*we;Ve<=re&&(E=oe,re=Ve)}if(E!=null&&(e!==1||t!==1)){let oe=z(E)-ne,be=U(E)-M;re=oe*oe+be*be}J(E,re)}function Y(Z){Z.pointerType==="mouse"&&W!=null&&(g.sticky&&g.roots.some(ne=>ne?.contains(Z.target))||(g.sticky?(g.sticky=!1,g.renders.forEach(ne=>ne(null))):(g.sticky=!0,A(W)),Z.stopImmediatePropagation()))}function ee(Z){Z.pointerType==="mouse"&&(g.sticky||J(null))}return y.addEventListener("pointerenter",K),y.addEventListener("pointermove",K),y.addEventListener("pointerdown",Y),y.addEventListener("pointerleave",ee),A(null)},c)}}function nO(e){return K1(1,1,e)}function oO(e){return K1(1,.01,e)}function q1(e){return K1(.01,1,e)}function H1({x1:e,x2:t,x:r=e},n){return e&&t?o=>(e[o]+t[o])/2:r?o=>r[o]:()=>n}function Y1({y1:e,y2:t,y:r=e},n){return e&&t?o=>(e[o]+t[o])/2:r?o=>r[o]:()=>n}function og(e){return ii(e)&&e.interval===void 0?void 0:"tabular-nums"}function iO(e,t){let{label:r=e.label,tickSize:n=6,width:o=240,height:i=44+n,marginTop:a=18,marginRight:s=0,marginBottom:c=16+n,marginLeft:u=0,style:f,ticks:p=(o-u-s)/64,tickFormat:l,fontVariant:m=og(e),round:h=!0,opacity:b,className:y}=t,x=bu(t);y=xu(y),b=Ct(b)[1],l===null&&(l=()=>null);let g=De("svg",x).attr("class",`${y}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(N=>N.append("style").text(`:where(.${y}-ramp) { display: block; height: auto; height: intrinsic; @@ -11,9 +12,9 @@ ${r}`}function K7(e){return e==="time"?nh:e==="utc"?pl:B7}function bT(e,t,r){let } :where(.${y}-ramp text) { white-space: pre; -}`)).call(nf,f),S=N=>N.selectAll(".tick line").attr("y1",a+c-i),w,_=h?(N,B)=>N.rangeRound(B):(N,B)=>N.range(B),{type:v,domain:I,range:T,interpolate:P,scale:R,pivot:k}=e;if(P){let N=T===void 0?P:To(P.length===1?yl(P):P,T);w=_(R.copy(),wr(ft(u,o-s),Math.min(I.length+(k!==void 0),T===void 0?1/0:T.length)));let B=256,V=x.document.createElement("canvas");V.width=B,V.height=1;let C=V.getContext("2d");for(let G=0,j=B-1;GV:typeof l=="string"?Cn(l):l;w=_(os().domain([-1,T.length-1]),[u,o-s]),g.append("g").attr("fill-opacity",b).selectAll().data(T).enter().append("rect").attr("x",(V,C)=>w(C-1)).attr("y",a).attr("width",(V,C)=>w(C)-w(C-1)).attr("height",i-a-c).attr("fill",V=>V),p=tt(N,(V,C)=>C),l=V=>B(N[V],V)}else w=_(sa().domain(I),[u,o-s]),g.append("g").attr("fill-opacity",b).selectAll().data(I).enter().append("rect").attr("x",w).attr("y",a).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-a-c).attr("fill",R),S=()=>{};return g.append("g").attr("transform",`translate(0,${i-c})`).call(Gy(w).ticks(Array.isArray(p)?null:p,typeof l=="string"?l:void 0).tickFormat(typeof l=="function"?l:void 0).tickSize(n).tickValues(Array.isArray(p)?p:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Pt(m,"normal")).call(S).call(N=>N.select(".domain").remove()),r!==void 0&&g.append("text").attr("x",u).attr("y",a-6).attr("fill","currentColor").attr("font-weight","bold").text(r),g.node()}var u1=Math.PI/180;function Sl(e,{marker:t,markerStart:r=t,markerMid:n=t,markerEnd:o=t}={}){e.markerStart=l1(r),e.markerMid=l1(n),e.markerEnd=l1(o)}function l1(e){if(e==null||e===!1)return null;if(e===!0)return PC;if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":return null;case"arrow":return _C("auto");case"arrow-reverse":return _C("auto-start-reverse");case"dot":return b9;case"circle":case"circle-fill":return PC;case"circle-stroke":return x9;case"tick":return p1("auto");case"tick-x":return p1(90);case"tick-y":return p1(0)}throw new Error(`invalid marker: ${e}`)}function _C(e){return(t,r)=>Ke("svg:marker",r).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",e).attr("fill","none").attr("stroke",t).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(n=>n.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function b9(e,t){return Ke("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","none").call(r=>r.append("circle").attr("r",2.5)).node()}function PC(e,t){return Ke("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(r=>r.append("circle").attr("r",3)).node()}function x9(e,t){return Ke("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",e).attr("stroke-width",1.5).call(r=>r.append("circle").attr("r",3)).node()}function p1(e){return(t,r)=>Ke("svg:marker",r).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",e).attr("stroke",t).call(n=>n.append("path").attr("d","M0,-3v6")).node()}var w9=0;function d1(e,t,{stroke:r},n){return CC(e,t,r&&(o=>r[o]),null,n)}function TC(e,t,{stroke:r,z:n},o){return CC(e,t,r&&(([i])=>r[i]),n,o)}var m1=1,MC=2;function S9(e,t){let r=new Uint8Array(t.length),n=e.data().filter(i=>i.length>1),o=n.length;for(let i=0,a=Sh;i1){let c=s[0];a!==(a=Fn(t[c]))&&(r[c]|=m1)}}for(let i=o-1,a=Sh;i>=0;--i){let s=n[i];if(s.length>1){let c=s[0];a!==(a=Fn(t[c]))&&(r[c]|=MC)}}return([i])=>r[i]}function CC(e,{markerStart:t,markerMid:r,markerEnd:n,stroke:o},i=()=>o,a,s){if(!t&&!r&&!n)return;let c=new Map,u=a&&S9(e,a);function f(p,l,m){return function(h){if(m&&!m(h))return;let b=i(h),y=c.get(l);y||c.set(l,y=new Map);let x=y.get(b);if(!x){let g=this.parentNode.insertBefore(l(b,s),this),S=`plot-marker-${++w9}`;g.setAttribute("id",S),y.set(b,x=`url(#${S})`)}this.setAttribute(p,x)}}t&&e.each(f("marker-start",t,u&&(p=>u(p)&m1))),r&&u&&e.each(f("marker-start",r,p=>!(u(p)&m1))),r&&e.each(f("marker-mid",r)),n&&e.each(f("marker-end",n,u&&(p=>u(p)&MC)))}function _h({inset:e,insetLeft:t,insetRight:r,...n}={}){return[t,r]=OC(e,t,r),{inset:e,insetLeft:t,insetRight:r,...n}}function h1({inset:e,insetTop:t,insetBottom:r,...n}={}){return[t,r]=OC(e,t,r),{inset:e,insetTop:t,insetBottom:r,...n}}function OC(e,t,r){return e===void 0&&t===void 0&&r===void 0?lr?[1,0]:[.5,.5]:[t,r]}function kC(e,{interval:t}){return e={...xa(e)},e.interval=sh(e.interval===void 0?t:e.interval),e}function g1(e,t,r,n){let{[e]:o,[`${e}1`]:i,[`${e}2`]:a}=r,{value:s,interval:c}=kC(o,r);if(s==null||c==null&&!n)return r;let u=ya(o);if(c==null){let m,h={transform:b=>m||(m=Zt(b,s)),label:u};return{...r,[e]:void 0,[`${e}1`]:i===void 0?h:i,[`${e}2`]:a===void 0&&!(i===a&&n)?h:a}}let f,p;function l(m){return p!==void 0&&m===f?p:p=tt(Zt(f=m,s),h=>c.floor(h))}return t({...r,[e]:void 0,[`${e}1`]:i===void 0?{transform:l,label:u}:i,[`${e}2`]:a===void 0?{transform:m=>l(m).map(h=>c.offset(h)),label:u}:a})}function RC(e,t,r){let{[e]:n}=r,{value:o,interval:i}=kC(n,r);return o==null||i==null?r:t({...r,[e]:{label:ya(n),transform:a=>{let s=tt(Zt(a,o),u=>i.floor(u)),c=s.map(u=>i.offset(u));return s.map(Xt(s)?(u,f)=>u==null||isNaN(u=+u)||(f=c[f],f==null)||isNaN(f=+f)?void 0:new Date((u+f)/2):(u,f)=>u==null||(f=c[f],f==null)?NaN:(+u+ +f)/2)}}})}function NC(e={}){return g1("x",_h,e,!0)}function AC(e={}){return g1("x",_h,e)}function EC(e={}){return g1("y",h1,e)}function FC(e={}){return RC("x",_h,e)}function $C(e={}){return RC("y",h1,e)}var DC={ariaLabel:"rule",fill:null,stroke:"currentColor"},Ph=class extends mt{constructor(t,r={}){let{x:n,y1:o,y2:i,inset:a=0,insetTop:s=a,insetBottom:c=a}=r;super(t,{x:{value:n,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},wl(r,"x"),DC),this.insetTop=kt(s),this.insetBottom=kt(c),Sl(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y1:u,y2:f}=n,{width:p,height:l,marginTop:m,marginRight:h,marginLeft:b,marginBottom:y}=o,{insetTop:x,insetBottom:g}=this;return Ke("svg:g",i).call(pr,this,o,i).call(mr,this,{x:c&&a},lr,0).call(S=>S.selectAll().data(t).enter().append("line").call(er,this).attr("x1",c?w=>c[w]:(b+p-h)/2).attr("x2",c?w=>c[w]:(b+p-h)/2).attr("y1",u&&!Sa(s)?w=>u[w]+x:m+x).attr("y2",f&&!Sa(s)?s.bandwidth?w=>f[w]+s.bandwidth()-g:w=>f[w]-g:l-y-g).call(Hr,this,n).call(d1,this,n,i)).node()}},Th=class extends mt{constructor(t,r={}){let{x1:n,x2:o,y:i,inset:a=0,insetRight:s=a,insetLeft:c=a}=r;super(t,{y:{value:i,scale:"y",optional:!0},x1:{value:n,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},wl(r,"y"),DC),this.insetRight=kt(s),this.insetLeft=kt(c),Sl(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{y:c,x1:u,x2:f}=n,{width:p,height:l,marginTop:m,marginRight:h,marginLeft:b,marginBottom:y}=o,{insetLeft:x,insetRight:g}=this;return Ke("svg:g",i).call(pr,this,o,i).call(mr,this,{y:c&&s},0,lr).call(S=>S.selectAll().data(t).enter().append("line").call(er,this).attr("x1",u&&!Sa(a)?w=>u[w]+x:b+x).attr("x2",f&&!Sa(a)?a.bandwidth?w=>f[w]+a.bandwidth()-g:w=>f[w]-g:p-h-g).attr("y1",c?w=>c[w]:(m+l-y)/2).attr("y2",c?w=>c[w]:(m+l-y)/2).call(Hr,this,n).call(d1,this,n,i)).node()}};function vl(e,t){let{x:r=It,y:n,y1:o,y2:i,...a}=EC(t);return[o,i]=LC(n,o,i),new Ph(e,{...a,x:r,y1:o,y2:i})}function co(e,t){let{y:r=It,x:n,x1:o,x2:i,...a}=AC(t);return[o,i]=LC(n,o,i),new Th(e,{...a,y:r,x1:o,x2:i})}function LC(e,t,r){if(e==null){if(t===void 0){if(r!==void 0)return[0,r]}else if(r===void 0)return[0,t]}else{if(t===void 0)return r===void 0?[0,e]:[e,r];if(r===void 0)return[e,t]}return[t,r]}function of(e,...t){let r=t.length;for(let n=0,o=!0;n{let o=e[0];for(let i=0;i=0))throw new Error(`invalid lineWidth: ${f}`);this.splitLines=v1(this),this.clipLine=I1(this)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y:u,rotate:f,text:p,title:l,fontSize:m}=n,{rotate:h}=this,[b,y]=Ko(this,o);return Ke("svg:g",i).call(pr,this,o,i).call(S1,this,p,o).call(mr,this,{x:c&&a,y:u&&s}).call(x=>x.selectAll().data(t).enter().append("text").call(er,this).call(I9,this,p,l).attr("transform",of`translate(${c?g=>c[g]:b},${u?g=>u[g]:y})${f?g=>` rotate(${f[g]})`:h?` rotate(${h})`:""}`).call(de,"font-size",m&&(g=>m[g])).call(Hr,this,n)).node()}};function b1(e){return e==null?null:Ar(e,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function I9(e,t,r,n){if(!r)return;let{lineAnchor:o,lineHeight:i,textOverflow:a,splitLines:s,clipLine:c}=t;e.each(function(u){let f=s(zo(r[u])??"").map(c),p=f.length,l=o==="top"?.71:o==="bottom"?1-p:(164-p*100)/200;if(p>1){let m=0;for(let h=0;ho&&r(e,o,s)>t&&(n.push(e.slice(o,i)+(e[i-1]===BC?"-":"")),o=a),c){n.push(e.slice(o,s)),o=void 0;continue}i=s}return n}function*C9(e){let t=0,r=0,n=e.length;for(;rN.selectAll(".tick line").attr("y1",a+c-i),w,_=h?(N,G)=>N.rangeRound(G):(N,G)=>N.range(G),{type:v,domain:I,range:T,interpolate:P,scale:R,pivot:C}=e;if(P){let N=T===void 0?P:jo(P.length===1?zl(P):P,T);w=_(R.copy(),_r(mt(u,o-s),Math.min(I.length+(C!==void 0),T===void 0?1/0:T.length)));let G=256,D=x.document.createElement("canvas");D.width=G,D.height=1;let O=D.getContext("2d");for(let z=0,U=G-1;zD:typeof l=="string"?$n(l):l;w=_(ys().domain([-1,T.length-1]),[u,o-s]),g.append("g").attr("fill-opacity",b).selectAll().data(T).enter().append("rect").attr("x",(D,O)=>w(O-1)).attr("y",a).attr("width",(D,O)=>w(O)-w(O-1)).attr("height",i-a-c).attr("fill",D=>D),p=We(N,(D,O)=>O),l=D=>G(N[D],D)}else w=_(wa().domain(I),[u,o-s]),g.append("g").attr("fill-opacity",b).selectAll().data(I).enter().append("rect").attr("x",w).attr("y",a).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-a-c).attr("fill",R),S=()=>{};return g.append("g").attr("transform",`translate(0,${i-c})`).call(Pb(w).ticks(Array.isArray(p)?null:p,typeof l=="string"?l:void 0).tickFormat(typeof l=="function"?l:void 0).tickSize(n).tickValues(Array.isArray(p)?p:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Ot(m,"normal")).call(S).call(N=>N.select(".domain").remove()),r!==void 0&&g.append("text").attr("x",u).attr("y",a-6).attr("fill","currentColor").attr("font-weight","bold").text(r),g.node()}var W1=Math.PI/180;function Kl(e,{marker:t,markerStart:r=t,markerMid:n=t,markerEnd:o=t}={}){e.markerStart=X1(r),e.markerMid=X1(n),e.markerEnd=X1(o)}function X1(e){if(e==null||e===!1)return null;if(e===!0)return sO;if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":return null;case"arrow":return aO("auto");case"arrow-reverse":return aO("auto-start-reverse");case"dot":return f$;case"circle":case"circle-fill":return sO;case"circle-stroke":return l$;case"tick":return Z1("auto");case"tick-x":return Z1(90);case"tick-y":return Z1(0)}throw new Error(`invalid marker: ${e}`)}function aO(e){return(t,r)=>De("svg:marker",r).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",e).attr("fill","none").attr("stroke",t).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(n=>n.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function f$(e,t){return De("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","none").call(r=>r.append("circle").attr("r",2.5)).node()}function sO(e,t){return De("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(r=>r.append("circle").attr("r",3)).node()}function l$(e,t){return De("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",e).attr("stroke-width",1.5).call(r=>r.append("circle").attr("r",3)).node()}function Z1(e){return(t,r)=>De("svg:marker",r).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",e).attr("stroke",t).call(n=>n.append("path").attr("d","M0,-3v6")).node()}var p$=0;function J1(e,t,{stroke:r},n){return fO(e,t,r&&(o=>r[o]),null,n)}function cO(e,t,{stroke:r,z:n},o){return fO(e,t,r&&(([i])=>r[i]),n,o)}var Q1=1,uO=2;function m$(e,t){let r=new Uint8Array(t.length),n=e.data().filter(i=>i.length>1),o=n.length;for(let i=0,a=eg;i1){let c=s[0];a!==(a=Bn(t[c]))&&(r[c]|=Q1)}}for(let i=o-1,a=eg;i>=0;--i){let s=n[i];if(s.length>1){let c=s[0];a!==(a=Bn(t[c]))&&(r[c]|=uO)}}return([i])=>r[i]}function fO(e,{markerStart:t,markerMid:r,markerEnd:n,stroke:o},i=()=>o,a,s){if(!t&&!r&&!n)return;let c=new Map,u=a&&m$(e,a);function f(p,l,m){return function(h){if(m&&!m(h))return;let b=i(h),y=c.get(l);y||c.set(l,y=new Map);let x=y.get(b);if(!x){let g=this.parentNode.insertBefore(l(b,s),this),S=`plot-marker-${++p$}`;g.setAttribute("id",S),y.set(b,x=`url(#${S})`)}this.setAttribute(p,x)}}t&&e.each(f("marker-start",t,u&&(p=>u(p)&Q1))),r&&u&&e.each(f("marker-start",r,p=>!(u(p)&Q1))),r&&e.each(f("marker-mid",r)),n&&e.each(f("marker-end",n,u&&(p=>u(p)&uO)))}function Su({inset:e,insetLeft:t,insetRight:r,...n}={}){return[t,r]=lO(e,t,r),{inset:e,insetLeft:t,insetRight:r,...n}}function ig({inset:e,insetTop:t,insetBottom:r,...n}={}){return[t,r]=lO(e,t,r),{inset:e,insetTop:t,insetBottom:r,...n}}function lO(e,t,r){return e===void 0&&t===void 0&&r===void 0?gr?[1,0]:[.5,.5]:[t,r]}function pO(e,{interval:t}){return e={...oi(e)},e.interval=Vh(e.interval===void 0?t:e.interval),e}function ew(e,t,r,n){let{[e]:o,[`${e}1`]:i,[`${e}2`]:a}=r,{value:s,interval:c}=pO(o,r);if(s==null||c==null&&!n)return r;let u=xo(o);if(c==null){let m,h={transform:b=>m||(m=dt(b,s)),label:u};return{...r,[e]:void 0,[`${e}1`]:i===void 0?h:i,[`${e}2`]:a===void 0&&!(i===a&&n)?h:a}}let f,p;function l(m){return p!==void 0&&m===f?p:p=We(dt(f=m,s),h=>c.floor(h))}return t({...r,[e]:void 0,[`${e}1`]:i===void 0?{transform:l,label:u}:i,[`${e}2`]:a===void 0?{transform:m=>l(m).map(h=>c.offset(h)),label:u}:a})}function mO(e,t,r){let{[e]:n}=r,{value:o,interval:i}=pO(n,r);return o==null||i==null?r:t({...r,[e]:{label:xo(n),transform:a=>{let s=We(dt(a,o),u=>i.floor(u)),c=s.map(u=>i.offset(u));return s.map(Et(s)?(u,f)=>u==null||isNaN(u=+u)||(f=c[f],f==null)||isNaN(f=+f)?void 0:new Date((u+f)/2):(u,f)=>u==null||(f=c[f],f==null)?NaN:(+u+ +f)/2)}}})}function dO(e={}){return ew("x",Su,e,!0)}function tw(e={}){return ew("x",Su,e)}function ag(e={}){return ew("y",ig,e)}function hO(e={}){return mO("x",Su,e)}function gO(e={}){return mO("y",ig,e)}var yO={ariaLabel:"rule",fill:null,stroke:"currentColor"},sg=class extends Ze{constructor(t,r={}){let{x:n,y1:o,y2:i,inset:a=0,insetTop:s=a,insetBottom:c=a}=r;super(t,{x:{value:n,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},Es(r,"x"),yO),this.insetTop=Ft(s),this.insetBottom=Ft(c),Kl(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y1:u,y2:f}=n,{width:p,height:l,marginTop:m,marginRight:h,marginLeft:b,marginBottom:y}=o,{insetTop:x,insetBottom:g}=this;return De("svg:g",i).call($t,this,o,i).call(Dt,this,{x:c&&a},gr,0).call(S=>S.selectAll().data(t).enter().append("line").call(It,this).attr("x1",c?w=>c[w]:(b+p-h)/2).attr("x2",c?w=>c[w]:(b+p-h)/2).attr("y1",u&&!wo(s)?w=>u[w]+x:m+x).attr("y2",f&&!wo(s)?s.bandwidth?w=>f[w]+s.bandwidth()-g:w=>f[w]-g:l-y-g).call(yr,this,n).call(J1,this,n,i)).node()}},cg=class extends Ze{constructor(t,r={}){let{x1:n,x2:o,y:i,inset:a=0,insetRight:s=a,insetLeft:c=a}=r;super(t,{y:{value:i,scale:"y",optional:!0},x1:{value:n,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},Es(r,"y"),yO),this.insetRight=Ft(s),this.insetLeft=Ft(c),Kl(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{y:c,x1:u,x2:f}=n,{width:p,height:l,marginTop:m,marginRight:h,marginLeft:b,marginBottom:y}=o,{insetLeft:x,insetRight:g}=this;return De("svg:g",i).call($t,this,o,i).call(Dt,this,{y:c&&s},0,gr).call(S=>S.selectAll().data(t).enter().append("line").call(It,this).attr("x1",u&&!wo(a)?w=>u[w]+x:b+x).attr("x2",f&&!wo(a)?a.bandwidth?w=>f[w]+a.bandwidth()-g:w=>f[w]-g:p-h-g).attr("y1",c?w=>c[w]:(m+l-y)/2).attr("y2",c?w=>c[w]:(m+l-y)/2).call(yr,this,n).call(J1,this,n,i)).node()}};function As(e,t){let{x:r=nt,y:n,y1:o,y2:i,...a}=ag(t);return[o,i]=bO(n,o,i),new sg(e,{...a,x:r,y1:o,y2:i})}function vo(e,t){let{y:r=nt,x:n,x1:o,x2:i,...a}=tw(t);return[o,i]=bO(n,o,i),new cg(e,{...a,y:r,x1:o,x2:i})}function bO(e,t,r){if(e==null){if(t===void 0){if(r!==void 0)return[0,r]}else if(r===void 0)return[0,t]}else{if(t===void 0)return r===void 0?[0,e]:[e,r];if(r===void 0)return[e,t]}return[t,r]}function vu(e,...t){let r=t.length;for(let n=0,o=!0;n{let o=e[0];for(let i=0;i=0))throw new Error(`invalid lineWidth: ${f}`);this.splitLines=sw(this),this.clipLine=cw(this)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y:u,rotate:f,text:p,title:l,fontSize:m}=n,{rotate:h}=this,[b,y]=si(this,o);return De("svg:g",i).call($t,this,o,i).call(aw,this,p,o).call(Dt,this,{x:c&&a,y:u&&s}).call(x=>x.selectAll().data(t).enter().append("text").call(It,this).call(h$,this,p,l).attr("transform",vu`translate(${c?g=>c[g]:b},${u?g=>u[g]:y})${f?g=>` rotate(${f[g]})`:h?` rotate(${h})`:""}`).call(de,"font-size",m&&(g=>m[g])).call(yr,this,n)).node()}};function nw(e){return e==null?null:Vr(e,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function h$(e,t,r,n){if(!r)return;let{lineAnchor:o,lineHeight:i,textOverflow:a,splitLines:s,clipLine:c}=t;e.each(function(u){let f=s(ai(r[u])??"").map(c),p=f.length,l=o==="top"?.71:o==="bottom"?1-p:(164-p*100)/200;if(p>1){let m=0;for(let h=0;ho&&r(e,o,s)>t&&(n.push(e.slice(o,i)+(e[i-1]===IO?"-":"")),o=a),c){n.push(e.slice(o,s)),o=void 0;continue}i=s}return n}function*w$(e){let t=0,r=0,n=e.length;for(;ri.split(/\r\n?|\n/g);let n=e?Ch:Mh,o=t*100;return i=>M9(i,o,n)}function I1({monospace:e,lineWidth:t,textOverflow:r}){if(r==null||t==1/0)return i=>i;let n=e?Ch:Mh,o=t*100;switch(r){case"clip-start":return i=>UC(i,o,n,"");case"clip-end":return i=>jC(i,o,n,"");case"ellipsis-start":return i=>UC(i,o,n,vs);case"ellipsis-middle":return i=>O9(i,o,n,vs);case"ellipsis-end":return i=>jC(i,o,n,vs)}}var vs="\u2026";function Is(e,t,r,n){let o=[],i=0;for(let a=0,s=0,c=e.length;at){for(i+=n;i>t&&a>0;)s=a,a=o.pop(),i-=r(e,a,s);return[a,t-i]}i+=u,o.push(a)}return[-1,0]}function jC(e,t,r,n){e=e.trim();let o=r(n),[i]=Is(e,t,r,o);return i<0?e:e.slice(0,i).trimEnd()+n}function O9(e,t,r,n){e=e.trim();let o=r(e);if(o<=t)return e;let i=r(n)/2,[a,s]=Is(e,t/2,r,i),[c]=Is(e,o-t/2-s+i,r,-i);return c<0?n:e.slice(0,a).trimEnd()+n+e.slice(cf(e,c)).trimStart()}function UC(e,t,r,n){e=e.trim();let o=r(e);if(o<=t)return e;let i=r(n),[a]=Is(e,o-t+i,r,-i);return a<0?n:n+e.slice(cf(e,a)).trimStart()}var y1=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,GC=/\p{Extended_Pictographic}/uy;function cf(e,t){return t+=k9(e,t)?2:1,N9(e,t)&&(t=y1.lastIndex),R9(e,t)?cf(e,t+1):t}function zC(e,t){return e.charCodeAt(t)<128}function k9(e,t){let r=e.charCodeAt(t);if(r>=55296&&r<56320){let n=e.charCodeAt(t+1);return n>=56320&&n<57344}return!1}function R9(e,t){return e.charCodeAt(t)===8205}function N9(e,t){return zC(e,t)?!1:(y1.lastIndex=t,y1.test(e))}function KC(e,t){return zC(e,t)?!1:(GC.lastIndex=t,GC.test(e))}var A9={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},qC=3.5,E9=qC*5,HC={draw(e,t,r){let n=t*r/E9;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-n,n-t),e.lineTo(0,-t),e.lineTo(n,n-t)}},F9={draw(e,t,r){e.moveTo(-r,0),e.lineTo(0,-t),e.lineTo(r,0)}},$9=new Map([["arrow",HC],["spike",F9]]);function D9(e){return e&&typeof e.draw=="function"}function L9(e){if(D9(e))return e;let t=$9.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid shape: ${e}`)}var Oh=class extends mt{constructor(t,r={}){let{x:n,y:o,r:i=qC,length:a,rotate:s,shape:c=HC,anchor:u="middle",frameAnchor:f}=r,[p,l]=_t(a,12),[m,h]=_t(s,0);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:p,scale:"length",optional:!0},rotate:{value:m,optional:!0}},r,A9),this.r=+i,this.length=l,this.rotate=h,this.shape=L9(c),this.anchor=Ar(u,"anchor",["start","middle","end"]),this.frameAnchor=wa(f)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y:u,length:f,rotate:p}=n,{length:l,rotate:m,anchor:h,shape:b,r:y}=this,[x,g]=Ko(this,o);return Ke("svg:g",i).call(pr,this,o,i).call(mr,this,{x:c&&a,y:u&&s}).call(S=>S.selectAll().data(t).enter().append("path").call(er,this).attr("transform",of`translate(${c?w=>c[w]:x},${u?w=>u[w]:g})${p?w=>` rotate(${p[w]})`:m?` rotate(${m})`:""}${h==="start"?"":h==="end"?f?w=>` translate(0,${f[w]})`:` translate(0,${l})`:f?w=>` translate(0,${f[w]/2})`:` translate(0,${l/2})`}`).attr("d",f?w=>{let _=no();return b.draw(_,f[w],y),_}:(()=>{let w=no();return b.draw(w,l,y),w})()).call(Hr,this,n)).node()}};function YC(e,t={}){let{x:r=It,...n}=t;return new Oh(e,{...n,x:r})}function WC(e,t={}){let{y:r=It,...n}=t;return new Oh(e,{...n,y:r})}function Ia(e,t){return arguments.length<2&&!$n(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function kh({anchor:e}={},t){return e===void 0?t[0]:Ar(e,"anchor",t)}function XC(e){return kh(e,["left","right"])}function ZC(e){return kh(e,["right","left"])}function QC(e){return kh(e,["bottom","top"])}function JC(e){return kh(e,["top","bottom"])}function P1(){let[e,t]=Ia(...arguments);return r6("y",XC(t),e,t)}function e6(){let[e,t]=Ia(...arguments);return r6("fy",ZC(t),e,t)}function T1(){let[e,t]=Ia(...arguments);return n6("x",QC(t),e,t)}function t6(){let[e,t]=Ia(...arguments);return n6("fx",JC(t),e,t)}function r6(e,t,r,{color:n="currentColor",opacity:o=1,stroke:i=n,strokeOpacity:a=o,strokeWidth:s=1,fill:c=n,fillOpacity:u=o,textAnchor:f,textStroke:p,textStrokeOpacity:l,textStrokeWidth:m,tickSize:h=e==="y"?6:0,tickPadding:b,tickRotate:y,x,margin:g,marginTop:S=g===void 0?20:g,marginRight:w=g===void 0?t==="right"?40:0:g,marginBottom:_=g===void 0?20:g,marginLeft:v=g===void 0?t==="left"?40:0:g,label:I,labelAnchor:T,labelArrow:P,labelOffset:R,ariaLabel:k=`${e}-axis`,...N}){return h=kt(h),b=kt(b),y=kt(y),T!==void 0&&(T=Ar(T,"labelAnchor",["center","top","bottom"])),P=h6(P),o1(h&&!Qt(i)?V9(e,t,r,{stroke:i,strokeOpacity:a,strokeWidth:s,tickSize:h,tickPadding:b,tickRotate:y,x,ariaLabel:k,...N}):null,Qt(c)?null:U9(e,t,r,{fill:c,fillOpacity:u,stroke:p,strokeOpacity:l,strokeWidth:m,textAnchor:f,tickSize:h,tickPadding:b,tickRotate:y,x,marginTop:S,marginRight:w,marginBottom:_,marginLeft:v,ariaLabel:k,...N}),!Qt(c)&&I!==null?sf([],l6({fill:c,fillOpacity:u,...N},function(B,V,C,G,j){let H=G[e],{marginTop:U,marginRight:z,marginBottom:Y,marginLeft:X}=e==="y"&&j.inset||j,q=T??(H.bandwidth?"center":"top"),ae=R??(t==="right"?z:X)-3;return q==="center"?(this.textAnchor=void 0,this.lineAnchor=t==="right"?"bottom":"top",this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t==="right"?"end":"start",this.lineAnchor=q,this.frameAnchor=`${q}-${t}`,this.rotate=0),this.dy=q==="top"?3-U:q==="bottom"?Y-3:0,this.dx=t==="right"?ae:-ae,this.ariaLabel=`${k} label`,{facets:[[0]],channels:{text:{value:[d6(e,H,{anchor:t,label:I,labelAnchor:q,labelArrow:P})]}}}})):null)}function n6(e,t,r,{color:n="currentColor",opacity:o=1,stroke:i=n,strokeOpacity:a=o,strokeWidth:s=1,fill:c=n,fillOpacity:u=o,textAnchor:f,textStroke:p,textStrokeOpacity:l,textStrokeWidth:m,tickSize:h=e==="x"?6:0,tickPadding:b,tickRotate:y,y:x,margin:g,marginTop:S=g===void 0?t==="top"?30:0:g,marginRight:w=g===void 0?20:g,marginBottom:_=g===void 0?t==="bottom"?30:0:g,marginLeft:v=g===void 0?20:g,label:I,labelAnchor:T,labelArrow:P,labelOffset:R,ariaLabel:k=`${e}-axis`,...N}){return h=kt(h),b=kt(b),y=kt(y),T!==void 0&&(T=Ar(T,"labelAnchor",["center","left","right"])),P=h6(P),o1(h&&!Qt(i)?j9(e,t,r,{stroke:i,strokeOpacity:a,strokeWidth:s,tickSize:h,tickPadding:b,tickRotate:y,y:x,ariaLabel:k,...N}):null,Qt(c)?null:G9(e,t,r,{fill:c,fillOpacity:u,stroke:p,strokeOpacity:l,strokeWidth:m,textAnchor:f,tickSize:h,tickPadding:b,tickRotate:y,y:x,marginTop:S,marginRight:w,marginBottom:_,marginLeft:v,ariaLabel:k,...N}),!Qt(c)&&I!==null?sf([],l6({fill:c,fillOpacity:u,...N},function(B,V,C,G,j){let H=G[e],{marginTop:U,marginRight:z,marginBottom:Y,marginLeft:X}=e==="x"&&j.inset||j,q=T??(H.bandwidth?"center":"right"),ae=R??(t==="top"?U:Y)-3;return q==="center"?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${q}`,this.textAnchor=q==="right"?"end":"start"),this.lineAnchor=t,this.dy=t==="top"?-ae:ae,this.dx=q==="right"?z-3:q==="left"?3-X:0,this.ariaLabel=`${k} label`,{facets:[[0]],channels:{text:{value:[d6(e,H,{anchor:t,label:I,labelAnchor:q,labelArrow:P})]}}}})):null)}function V9(e,t,r,{strokeWidth:n=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:a=t+(e==="y"?"-empty":""),frameAnchor:s=t,tickSize:c,inset:u=0,insetLeft:f=u,insetRight:p=u,dx:l=0,y:m=e==="y"?void 0:null,ariaLabel:h,...b}){return ff(WC,e,r,{ariaLabel:`${h} tick`,ariaHidden:!0},{strokeWidth:n,strokeLinecap:o,strokeLinejoin:i,facetAnchor:a,frameAnchor:s,y:m,...b,dx:t==="left"?+l-lr+ +f:+l+lr-p,anchor:"start",length:c,shape:t==="left"?q9:H9})}function j9(e,t,r,{strokeWidth:n=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:a=t+(e==="x"?"-empty":""),frameAnchor:s=t,tickSize:c,inset:u=0,insetTop:f=u,insetBottom:p=u,dy:l=0,x:m=e==="x"?void 0:null,ariaLabel:h,...b}){return ff(YC,e,r,{ariaLabel:`${h} tick`,ariaHidden:!0},{strokeWidth:n,strokeLinejoin:i,strokeLinecap:o,facetAnchor:a,frameAnchor:s,x:m,...b,dy:t==="bottom"?+l-lr-p:+l+lr+ +f,anchor:"start",length:c,shape:t==="bottom"?z9:K9})}function U9(e,t,r,{facetAnchor:n=t+(e==="y"?"-empty":""),frameAnchor:o=t,tickSize:i,tickRotate:a=0,tickPadding:s=Math.max(3,9-i)+(Math.abs(a)>60?4*Math.cos(a*u1):0),text:c,textAnchor:u=Math.abs(a)>60?"middle":t==="left"?"end":"start",lineAnchor:f=a>60?"top":a<-60?"bottom":"middle",fontVariant:p,inset:l=0,insetLeft:m=l,insetRight:h=l,dx:b=0,ariaLabel:y,y:x=e==="y"?void 0:null,...g}){return ff(w1,e,r,{ariaLabel:`${y} tick label`},{facetAnchor:n,frameAnchor:o,text:c,textAnchor:u,lineAnchor:f,fontVariant:p,rotate:a,y:x,...g,dx:t==="left"?+b-i-s+ +m:+b+ +i+ +s-h},function(S,w,_,v,I){p===void 0&&(this.fontVariant=m6(S)),c===void 0&&(I.text=p6(S,w,_,v,t))})}function G9(e,t,r,{facetAnchor:n=t+(e==="x"?"-empty":""),frameAnchor:o=t,tickSize:i,tickRotate:a=0,tickPadding:s=Math.max(3,9-i)+(Math.abs(a)>=10?4*Math.cos(a*u1):0),text:c,textAnchor:u=Math.abs(a)>=10?a<0^t==="bottom"?"start":"end":"middle",lineAnchor:f=Math.abs(a)>=10?"middle":t==="bottom"?"top":"bottom",fontVariant:p,inset:l=0,insetTop:m=l,insetBottom:h=l,dy:b=0,x:y=e==="x"?void 0:null,ariaLabel:x,...g}){return ff(x1,e,r,{ariaLabel:`${x} tick label`},{facetAnchor:n,frameAnchor:o,text:c===void 0?null:c,textAnchor:u,lineAnchor:f,fontVariant:p,rotate:a,x:y,...g,dy:t==="bottom"?+b+ +i+ +s-h:+b-i-s+ +m},function(S,w,_,v,I){p===void 0&&(this.fontVariant=m6(S)),c===void 0&&(I.text=p6(S,w,_,v,t))})}function o6(){let[e,t]=Ia(...arguments);return c6("y",XC(t),e,t)}function i6(){let[e,t]=Ia(...arguments);return c6("fy",ZC(t),e,t)}function a6(){let[e,t]=Ia(...arguments);return f6("x",QC(t),e,t)}function s6(){let[e,t]=Ia(...arguments);return f6("fx",JC(t),e,t)}function c6(e,t,r,{y:n=e==="y"?void 0:null,x:o=null,x1:i=t==="left"?o:null,x2:a=t==="right"?o:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...u}){return ff(co,e,r,{ariaLabel:s,ariaHidden:c},{y:n,x1:i,x2:a,...u6(u)})}function f6(e,t,r,{x:n=e==="x"?void 0:null,y:o=null,y1:i=t==="top"?o:null,y2:a=t==="bottom"?o:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...u}){return ff(vl,e,r,{ariaLabel:s,ariaHidden:c},{x:n,y1:i,y2:a,...u6(u)})}function u6({color:e="currentColor",opacity:t=.1,stroke:r=e,strokeOpacity:n=t,strokeWidth:o=1,...i}){return{stroke:r,strokeOpacity:n,strokeWidth:o,...i}}function l6({fill:e,fillOpacity:t,fontFamily:r,fontSize:n,fontStyle:o,fontVariant:i,fontWeight:a,monospace:s,pointerEvents:c,shapeRendering:u,clip:f=!1},p){return[,e]=jo(e),[,t]=_t(t),{facet:"super",x:null,y:null,fill:e,fillOpacity:t,fontFamily:r,fontSize:n,fontStyle:o,fontVariant:i,fontWeight:a,monospace:s,pointerEvents:c,shapeRendering:u,clip:f,initializer:p}}function ff(e,t,r,n,o,i){let a;function s(f,p,l,m,h,b){let y=f==null&&(t==="fx"||t==="fy"),{[t]:x}=m;if(!x)throw new Error(`missing scale: ${t}`);let g=x.domain(),{interval:S,ticks:w,tickFormat:_,tickSpacing:v=t==="x"?80:35}=o;if(typeof w=="string"&&g6(x)&&(S=w,w=void 0),w===void 0&&(w=ba(S,x.type)??B9(x,v)),f==null){if($n(w))f=Uo(w);else if($T(w))f=_1(w,...Gr(g));else if(x.interval){let T=x.interval;if(x.ticks){let[P,R]=Gr(g),k=(R-P)/T[Gc];T=yx(T,k/w)??T,f=_1(T,P,R)}else{f=g;let P=f.length;T=yx(T,P/w)??T,T!==x.interval&&(f=_1(T,...Gr(f)))}if(T===x.interval){let P=Math.round(f.length/w);P>1&&(f=f.filter((R,k)=>k%P===0))}}else x.ticks?f=x.ticks(w):f=g;if(!x.ticks&&f.length&&f!==g){let T=new eo(g);f=f.filter(P=>T.has(P)),f.length||qr(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t==="y"||t==="x"?p=[Kr(f)]:a[t]={scale:t,value:It}}i?.call(this,x,f,w,_,a);let I=Object.fromEntries(Object.entries(a).map(([T,P])=>[T,{...P,value:Zt(f,P.value)}]));return y&&(p=b.filterFacets(f,I)),{data:f,facets:p,channels:I}}let c=ki(o).initializer,u=e(r,ki({...o,initializer:s},c));return r==null?(a=u.channels,u.channels={}):a={},n!==void 0&&Object.assign(u,n),u.clip===void 0&&(u.clip=!1),u}function B9(e,t){let[r,n]=Gr(e.range());return(n-r)/t}function p6(e,t,r,n,o){return{value:Il(e,t,r,n,o)}}function Il(e,t,r,n,o){return typeof n=="function"&&!(e.type==="log"&&e.tickFormat)?n:n===void 0&&t&&Xt(t)?bT(e.type,t,o)??zo:e.tickFormat?e.tickFormat(typeof r=="number"?r:null,n):typeof n=="string"&&e.domain().length>0?(Xt(e.domain())?Do:Cn)(n):n===void 0?zo:un(n)}function _1(e,t,r){return e.range(t,e.offset(e.floor(r)))}var z9={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},K9={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},q9={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},H9={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function m6(e){return e.bandwidth&&!e.interval?void 0:"tabular-nums"}function d6(e,t,{anchor:r,label:n=t.label,labelAnchor:o,labelArrow:i}={}){if(!(n==null||n.inferred&&g6(t)&&/^(date|time|year)$/i.test(n))){if(n=String(n),i==="auto"&&(i=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(n)),!i)return n;if(i===!0){let a=YM(t);a&&(i=/x$/.test(e)||o==="center"?/x$/.test(e)===a<0?"left":"right":a<0?"up":"down")}switch(i){case"left":return`\u2190 ${n}`;case"right":return`${n} \u2192`;case"up":return r==="right"?`${n} \u2191`:`\u2191 ${n}`;case"down":return r==="right"?`${n} \u2193`:`\u2193 ${n}`}return n}}function h6(e="auto"){return Qt(e)?!1:typeof e=="boolean"?e:Ar(e,"labelArrow",["auto","up","right","down","left"])}function g6(e){return Xt(e.domain())}function y6(e,t){if(t==null)return t;let r=e(t);if(!r)throw new Error(`scale not found: ${t}`);return r}function b6(e,{opacity:t,...r}={}){if(!Bo(e)&&!Xx(e))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return w6(e,r,(n,o,i,a)=>n.append("svg").attr("width",i).attr("height",a).attr("fill",o.scale).attr("fill-opacity",_t(t)[1]).append("rect").attr("width","100%").attr("height","100%"))}function x6(e,{fill:t=e.hint?.fill!==void 0?e.hint.fill:"none",fillOpacity:r=1,stroke:n=e.hint?.stroke!==void 0?e.hint.stroke:Qt(t)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:a=4.5,...s}={},c){let[u,f]=jo(t),[p,l]=jo(n),m=y6(c,u),h=y6(c,p),b=a*a*Math.PI;return r=_t(r)[1],o=_t(o)[1],i=_t(i)[1],w6(e,s,(y,x,g,S)=>y.append("svg").attr("viewBox","-8 -8 16 16").attr("width",g).attr("height",S).attr("fill",u==="color"?w=>m.scale(w):f).attr("fill-opacity",r).attr("stroke",p==="color"?w=>h.scale(w):l).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",w=>{let _=no();return e.scale(w).draw(_,b),_}))}function w6(e,t={},r){let{columns:n,tickFormat:o,fontVariant:i=Ih(e),swatchSize:a=15,swatchWidth:s=a,swatchHeight:c=a,marginLeft:u=0,className:f,style:p,width:l}=t,m=tf(t);f=rf(f),o=Il(e.scale,e.domain,void 0,o);let h=Ke("div",m).attr("class",`${f}-swatches ${f}-swatches-${n!=null?"columns":"wrap"}`),b;return n!=null?(b=`:where(.${f}-swatches-columns .${f}-swatch) { +`:yield[t,r,!0],r+=o,t=r;break;default:++r;break}}yield[t,r,!0]}var xO={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"\u2018":31,"\u2019":31,"\u201C":47,"\u201D":47,"\u2026":82};function ug(e,t=0,r=e.length){let n=0;for(let o=t;oi.split(/\r\n?|\n/g);let n=e?fg:ug,o=t*100;return i=>x$(i,o,n)}function cw({monospace:e,lineWidth:t,textOverflow:r}){if(r==null||t==1/0)return i=>i;let n=e?fg:ug,o=t*100;switch(r){case"clip-start":return i=>SO(i,o,n,"");case"clip-end":return i=>wO(i,o,n,"");case"ellipsis-start":return i=>SO(i,o,n,Fs);case"ellipsis-middle":return i=>S$(i,o,n,Fs);case"ellipsis-end":return i=>wO(i,o,n,Fs)}}var Fs="\u2026";function $s(e,t,r,n){let o=[],i=0;for(let a=0,s=0,c=e.length;at){for(i+=n;i>t&&a>0;)s=a,a=o.pop(),i-=r(e,a,s);return[a,t-i]}i+=u,o.push(a)}return[-1,0]}function wO(e,t,r,n){e=e.trim();let o=r(n),[i]=$s(e,t,r,o);return i<0?e:e.slice(0,i).trimEnd()+n}function S$(e,t,r,n){e=e.trim();let o=r(e);if(o<=t)return e;let i=r(n)/2,[a,s]=$s(e,t/2,r,i),[c]=$s(e,o-t/2-s+i,r,-i);return c<0?n:e.slice(0,a).trimEnd()+n+e.slice(_u(e,c)).trimStart()}function SO(e,t,r,n){e=e.trim();let o=r(e);if(o<=t)return e;let i=r(n),[a]=$s(e,o-t+i,r,-i);return a<0?n:n+e.slice(_u(e,a)).trimStart()}var rw=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,vO=/\p{Extended_Pictographic}/uy;function _u(e,t){return t+=v$(e,t)?2:1,_$(e,t)&&(t=rw.lastIndex),I$(e,t)?_u(e,t+1):t}function _O(e,t){return e.charCodeAt(t)<128}function v$(e,t){let r=e.charCodeAt(t);if(r>=55296&&r<56320){let n=e.charCodeAt(t+1);return n>=56320&&n<57344}return!1}function I$(e,t){return e.charCodeAt(t)===8205}function _$(e,t){return _O(e,t)?!1:(rw.lastIndex=t,rw.test(e))}function PO(e,t){return _O(e,t)?!1:(vO.lastIndex=t,vO.test(e))}var P$={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},TO=3.5,T$=TO*5,MO={draw(e,t,r){let n=t*r/T$;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-n,n-t),e.lineTo(0,-t),e.lineTo(n,n-t)}},M$={draw(e,t,r){e.moveTo(-r,0),e.lineTo(0,-t),e.lineTo(r,0)}},C$=new Map([["arrow",MO],["spike",M$]]);function O$(e){return e&&typeof e.draw=="function"}function k$(e){if(O$(e))return e;let t=C$.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid shape: ${e}`)}var lg=class extends Ze{constructor(t,r={}){let{x:n,y:o,r:i=TO,length:a,rotate:s,shape:c=MO,anchor:u="middle",frameAnchor:f}=r,[p,l]=Ct(a,12),[m,h]=Ct(s,0);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:p,scale:"length",optional:!0},rotate:{value:m,optional:!0}},r,P$),this.r=+i,this.length=l,this.rotate=h,this.shape=k$(c),this.anchor=Vr(u,"anchor",["start","middle","end"]),this.frameAnchor=Na(f)}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y:u,length:f,rotate:p}=n,{length:l,rotate:m,anchor:h,shape:b,r:y}=this,[x,g]=si(this,o);return De("svg:g",i).call($t,this,o,i).call(Dt,this,{x:c&&a,y:u&&s}).call(S=>S.selectAll().data(t).enter().append("path").call(It,this).attr("transform",vu`translate(${c?w=>c[w]:x},${u?w=>u[w]:g})${p?w=>` rotate(${p[w]})`:m?` rotate(${m})`:""}${h==="start"?"":h==="end"?f?w=>` translate(0,${f[w]})`:` translate(0,${l})`:f?w=>` translate(0,${f[w]/2})`:` translate(0,${l/2})`}`).attr("d",f?w=>{let _=po();return b.draw(_,f[w],y),_}:(()=>{let w=po();return b.draw(w,l,y),w})()).call(yr,this,n)).node()}};function CO(e,t={}){let{x:r=nt,...n}=t;return new lg(e,{...n,x:r})}function OO(e,t={}){let{y:r=nt,...n}=t;return new lg(e,{...n,y:r})}function Aa(e,t){return arguments.length<2&&!Qr(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function pg({anchor:e}={},t){return e===void 0?t[0]:Vr(e,"anchor",t)}function kO(e){return pg(e,["left","right"])}function NO(e){return pg(e,["right","left"])}function RO(e){return pg(e,["bottom","top"])}function EO(e){return pg(e,["top","bottom"])}function fw(){let[e,t]=Aa(...arguments);return $O("y",kO(t),e,t)}function AO(){let[e,t]=Aa(...arguments);return $O("fy",NO(t),e,t)}function lw(){let[e,t]=Aa(...arguments);return DO("x",RO(t),e,t)}function FO(){let[e,t]=Aa(...arguments);return DO("fx",EO(t),e,t)}function $O(e,t,r,{color:n="currentColor",opacity:o=1,stroke:i=n,strokeOpacity:a=o,strokeWidth:s=1,fill:c=n,fillOpacity:u=o,textAnchor:f,textStroke:p,textStrokeOpacity:l,textStrokeWidth:m,tickSize:h=e==="y"?6:0,tickPadding:b,tickRotate:y,x,margin:g,marginTop:S=g===void 0?20:g,marginRight:w=g===void 0?t==="right"?40:0:g,marginBottom:_=g===void 0?20:g,marginLeft:v=g===void 0?t==="left"?40:0:g,label:I,labelAnchor:T,labelArrow:P,labelOffset:R,ariaLabel:C=`${e}-axis`,...N}){return h=Ft(h),b=Ft(b),y=Ft(y),T!==void 0&&(T=Vr(T,"labelAnchor",["center","top","bottom"])),P=WO(P),B1(h&&!ir(i)?N$(e,t,r,{stroke:i,strokeOpacity:a,strokeWidth:s,tickSize:h,tickPadding:b,tickRotate:y,x,ariaLabel:C,...N}):null,ir(c)?null:E$(e,t,r,{fill:c,fillOpacity:u,stroke:p,strokeOpacity:l,strokeWidth:m,textAnchor:f,tickSize:h,tickPadding:b,tickRotate:y,x,marginTop:S,marginRight:w,marginBottom:_,marginLeft:v,ariaLabel:C,...N}),!ir(c)&&I!==null?Ea([],KO({fill:c,fillOpacity:u,...N},function(G,D,O,z,U){let W=z[e],{marginTop:B,marginRight:q,marginBottom:X,marginLeft:J}=e==="y"&&U.inset||U,A=T??(W.bandwidth?"center":"top"),K=R??(t==="right"?q:J)-3;return A==="center"?(this.textAnchor=void 0,this.lineAnchor=t==="right"?"bottom":"top",this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t==="right"?"end":"start",this.lineAnchor=A,this.frameAnchor=`${A}-${t}`,this.rotate=0),this.dy=A==="top"?3-B:A==="bottom"?X-3:0,this.dx=t==="right"?K:-K,this.ariaLabel=`${C} label`,{facets:[[0]],channels:{text:{value:[YO(e,W,{anchor:t,label:I,labelAnchor:A,labelArrow:P})]}}}})):null)}function DO(e,t,r,{color:n="currentColor",opacity:o=1,stroke:i=n,strokeOpacity:a=o,strokeWidth:s=1,fill:c=n,fillOpacity:u=o,textAnchor:f,textStroke:p,textStrokeOpacity:l,textStrokeWidth:m,tickSize:h=e==="x"?6:0,tickPadding:b,tickRotate:y,y:x,margin:g,marginTop:S=g===void 0?t==="top"?30:0:g,marginRight:w=g===void 0?20:g,marginBottom:_=g===void 0?t==="bottom"?30:0:g,marginLeft:v=g===void 0?20:g,label:I,labelAnchor:T,labelArrow:P,labelOffset:R,ariaLabel:C=`${e}-axis`,...N}){return h=Ft(h),b=Ft(b),y=Ft(y),T!==void 0&&(T=Vr(T,"labelAnchor",["center","left","right"])),P=WO(P),B1(h&&!ir(i)?R$(e,t,r,{stroke:i,strokeOpacity:a,strokeWidth:s,tickSize:h,tickPadding:b,tickRotate:y,y:x,ariaLabel:C,...N}):null,ir(c)?null:A$(e,t,r,{fill:c,fillOpacity:u,stroke:p,strokeOpacity:l,strokeWidth:m,textAnchor:f,tickSize:h,tickPadding:b,tickRotate:y,y:x,marginTop:S,marginRight:w,marginBottom:_,marginLeft:v,ariaLabel:C,...N}),!ir(c)&&I!==null?Ea([],KO({fill:c,fillOpacity:u,...N},function(G,D,O,z,U){let W=z[e],{marginTop:B,marginRight:q,marginBottom:X,marginLeft:J}=e==="x"&&U.inset||U,A=T??(W.bandwidth?"center":"right"),K=R??(t==="top"?B:X)-3;return A==="center"?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${A}`,this.textAnchor=A==="right"?"end":"start"),this.lineAnchor=t,this.dy=t==="top"?-K:K,this.dx=A==="right"?q-3:A==="left"?3-J:0,this.ariaLabel=`${C} label`,{facets:[[0]],channels:{text:{value:[YO(e,W,{anchor:t,label:I,labelAnchor:A,labelArrow:P})]}}}})):null)}function N$(e,t,r,{strokeWidth:n=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:a=t+(e==="y"?"-empty":""),frameAnchor:s=t,tickSize:c,inset:u=0,insetLeft:f=u,insetRight:p=u,dx:l=0,y:m=e==="y"?void 0:null,ariaLabel:h,...b}){return Pu(OO,e,r,{ariaLabel:`${h} tick`,ariaHidden:!0},{strokeWidth:n,strokeLinecap:o,strokeLinejoin:i,facetAnchor:a,frameAnchor:s,y:m,...b,dx:t==="left"?+l-gr+ +f:+l+gr-p,anchor:"start",length:c,shape:t==="left"?L$:V$})}function R$(e,t,r,{strokeWidth:n=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:a=t+(e==="x"?"-empty":""),frameAnchor:s=t,tickSize:c,inset:u=0,insetTop:f=u,insetBottom:p=u,dy:l=0,x:m=e==="x"?void 0:null,ariaLabel:h,...b}){return Pu(CO,e,r,{ariaLabel:`${h} tick`,ariaHidden:!0},{strokeWidth:n,strokeLinejoin:i,strokeLinecap:o,facetAnchor:a,frameAnchor:s,x:m,...b,dy:t==="bottom"?+l-gr-p:+l+gr+ +f,anchor:"start",length:c,shape:t==="bottom"?$$:D$})}function E$(e,t,r,{facetAnchor:n=t+(e==="y"?"-empty":""),frameAnchor:o=t,tickSize:i,tickRotate:a=0,tickPadding:s=Math.max(3,9-i)+(Math.abs(a)>60?4*Math.cos(a*W1):0),text:c,textAnchor:u=Math.abs(a)>60?"middle":t==="left"?"end":"start",lineAnchor:f=a>60?"top":a<-60?"bottom":"middle",fontVariant:p,inset:l=0,insetLeft:m=l,insetRight:h=l,dx:b=0,ariaLabel:y,y:x=e==="y"?void 0:null,...g}){return Pu(iw,e,r,{ariaLabel:`${y} tick label`},{facetAnchor:n,frameAnchor:o,text:c,textAnchor:u,lineAnchor:f,fontVariant:p,rotate:a,y:x,...g,dx:t==="left"?+b-i-s+ +m:+b+ +i+ +s-h},function(S,w,_,v,I){p===void 0&&(this.fontVariant=HO(S)),c===void 0&&(I.text=qO(S,w,_,v,t))})}function A$(e,t,r,{facetAnchor:n=t+(e==="x"?"-empty":""),frameAnchor:o=t,tickSize:i,tickRotate:a=0,tickPadding:s=Math.max(3,9-i)+(Math.abs(a)>=10?4*Math.cos(a*W1):0),text:c,textAnchor:u=Math.abs(a)>=10?a<0^t==="bottom"?"start":"end":"middle",lineAnchor:f=Math.abs(a)>=10?"middle":t==="bottom"?"top":"bottom",fontVariant:p,inset:l=0,insetTop:m=l,insetBottom:h=l,dy:b=0,x:y=e==="x"?void 0:null,ariaLabel:x,...g}){return Pu(ow,e,r,{ariaLabel:`${x} tick label`},{facetAnchor:n,frameAnchor:o,text:c===void 0?null:c,textAnchor:u,lineAnchor:f,fontVariant:p,rotate:a,x:y,...g,dy:t==="bottom"?+b+ +i+ +s-h:+b-i-s+ +m},function(S,w,_,v,I){p===void 0&&(this.fontVariant=HO(S)),c===void 0&&(I.text=qO(S,w,_,v,t))})}function LO(){let[e,t]=Aa(...arguments);return zO("y",kO(t),e,t)}function VO(){let[e,t]=Aa(...arguments);return zO("fy",NO(t),e,t)}function jO(){let[e,t]=Aa(...arguments);return BO("x",RO(t),e,t)}function UO(){let[e,t]=Aa(...arguments);return BO("fx",EO(t),e,t)}function zO(e,t,r,{y:n=e==="y"?void 0:null,x:o=null,x1:i=t==="left"?o:null,x2:a=t==="right"?o:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...u}){return Pu(vo,e,r,{ariaLabel:s,ariaHidden:c},{y:n,x1:i,x2:a,...GO(u)})}function BO(e,t,r,{x:n=e==="x"?void 0:null,y:o=null,y1:i=t==="top"?o:null,y2:a=t==="bottom"?o:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...u}){return Pu(As,e,r,{ariaLabel:s,ariaHidden:c},{x:n,y1:i,y2:a,...GO(u)})}function GO({color:e="currentColor",opacity:t=.1,stroke:r=e,strokeOpacity:n=t,strokeWidth:o=1,...i}){return{stroke:r,strokeOpacity:n,strokeWidth:o,...i}}function KO({fill:e,fillOpacity:t,fontFamily:r,fontSize:n,fontStyle:o,fontVariant:i,fontWeight:a,monospace:s,pointerEvents:c,shapeRendering:u,clip:f=!1},p){return[,e]=Zr(e),[,t]=Ct(t),{facet:"super",x:null,y:null,fill:e,fillOpacity:t,fontFamily:r,fontSize:n,fontStyle:o,fontVariant:i,fontWeight:a,monospace:s,pointerEvents:c,shapeRendering:u,clip:f,initializer:p}}function Pu(e,t,r,n,o,i){let a;function s(f,p,l,m,h,b){let y=f==null&&(t==="fx"||t==="fy"),{[t]:x}=m;if(!x)throw new Error(`missing scale: ${t}`);let g=x.domain(),{interval:S,ticks:w,tickFormat:_,tickSpacing:v=t==="x"?80:35}=o;if(typeof w=="string"&&XO(x)&&(S=w,w=void 0),w===void 0&&(w=ni(S,x.type)??F$(x,v)),f==null){if(Qr(w))f=ri(w);else if(ka(w))f=uw(w,...Yt(g));else if(x.interval){let T=x.interval;if(x.ticks){let[P,R]=Yt(g),C=(R-P)/T[nu];T=Qx(T,C/w)??T,f=uw(T,P,R)}else{f=g;let P=f.length;T=Qx(T,P/w)??T,T!==x.interval&&(f=uw(T,...Yt(f)))}if(T===x.interval){let P=Math.round(f.length/w);P>1&&(f=f.filter((R,C)=>C%P===0))}}else x.ticks?f=x.ticks(w):f=g;if(!x.ticks&&f.length&&f!==g){let T=new so(g);f=f.filter(P=>T.has(P)),f.length||Jr(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t==="y"||t==="x"?p=[jr(f)]:a[t]={scale:t,value:nt}}i?.call(this,x,f,w,_,a);let I=Object.fromEntries(Object.entries(a).map(([T,P])=>[T,{...P,value:dt(f,P.value)}]));return y&&(p=b.filterFacets(f,I)),{data:f,facets:p,channels:I}}let c=Bi(o).initializer,u=e(r,Bi({...o,initializer:s},c));return r==null?(a=u.channels,u.channels={}):a={},n!==void 0&&Object.assign(u,n),u.clip===void 0&&(u.clip=!1),u}function F$(e,t){let[r,n]=Yt(e.range());return(n-r)/t}function qO(e,t,r,n,o){return{value:ql(e,t,r,n,o)}}function ql(e,t,r,n,o){return typeof n=="function"&&!(e.type==="log"&&e.tickFormat)?n:n===void 0&&t&&Et(t)?oM(e.type,t,o)??ai:e.tickFormat?e.tickFormat(typeof r=="number"?r:null,n):typeof n=="string"&&e.domain().length>0?(Et(e.domain())?Zo:$n)(n):n===void 0?ai:bn(n)}function uw(e,t,r){return e.range(t,e.offset(e.floor(r)))}var $$={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},D$={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},L$={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},V$={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function HO(e){return e.bandwidth&&!e.interval?void 0:"tabular-nums"}function YO(e,t,{anchor:r,label:n=t.label,labelAnchor:o,labelArrow:i}={}){if(!(n==null||n.inferred&&XO(t)&&/^(date|time|year)$/i.test(n))){if(n=String(n),i==="auto"&&(i=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(n)),!i)return n;if(i===!0){let a=RC(t);a&&(i=/x$/.test(e)||o==="center"?/x$/.test(e)===a<0?"left":"right":a<0?"up":"down")}switch(i){case"left":return`\u2190 ${n}`;case"right":return`${n} \u2192`;case"up":return r==="right"?`${n} \u2191`:`\u2191 ${n}`;case"down":return r==="right"?`${n} \u2193`:`\u2193 ${n}`}return n}}function WO(e="auto"){return ir(e)?!1:typeof e=="boolean"?e:Vr(e,"labelArrow",["auto","up","right","down","left"])}function XO(e){return Et(e.domain())}function ZO(e,t){if(t==null)return t;let r=e(t);if(!r)throw new Error(`scale not found: ${t}`);return r}function QO(e,{opacity:t,...r}={}){if(!ii(e)&&!F1(e))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return ek(e,r,(n,o,i,a)=>n.append("svg").attr("width",i).attr("height",a).attr("fill",o.scale).attr("fill-opacity",Ct(t)[1]).append("rect").attr("width","100%").attr("height","100%"))}function JO(e,{fill:t=e.hint?.fill!==void 0?e.hint.fill:"none",fillOpacity:r=1,stroke:n=e.hint?.stroke!==void 0?e.hint.stroke:ir(t)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:a=4.5,...s}={},c){let[u,f]=Zr(t),[p,l]=Zr(n),m=ZO(c,u),h=ZO(c,p),b=a*a*Math.PI;return r=Ct(r)[1],o=Ct(o)[1],i=Ct(i)[1],ek(e,s,(y,x,g,S)=>y.append("svg").attr("viewBox","-8 -8 16 16").attr("width",g).attr("height",S).attr("fill",u==="color"?w=>m.scale(w):f).attr("fill-opacity",r).attr("stroke",p==="color"?w=>h.scale(w):l).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",w=>{let _=po();return e.scale(w).draw(_,b),_}))}function ek(e,t={},r){let{columns:n,tickFormat:o,fontVariant:i=og(e),swatchSize:a=15,swatchWidth:s=a,swatchHeight:c=a,marginLeft:u=0,className:f,style:p,width:l}=t,m=bu(t);f=xu(f),o=ql(e.scale,e.domain,void 0,o);let h=De("div",m).attr("class",`${f}-swatches ${f}-swatches-${n!=null?"columns":"wrap"}`),b;return n!=null?(b=`:where(.${f}-swatches-columns .${f}-swatch) { display: flex; align-items: center; break-inside: avoid; @@ -45,7 +46,7 @@ ${r}`}function K7(e){return e==="time"?nh:e==="utc"?pl:B7}function bT(e,t,r){let margin-right: 0.5em; overflow: visible; } -${b}`)).style("margin-left",u?`${+u}px`:null).style("width",l===void 0?null:`${+l}px`).style("font-variant",Pt(i,"normal")).call(nf,p).node()}var M1=new Map([["symbol",x6],["color",I6],["opacity",Y9]]);function S6(e,t,r={}){return(n,o)=>{if(!M1.has(n))throw new Error(`unknown legend type: ${n}`);if(n in e)return M1.get(n)(e[n],v6(t,r[n],o),i=>e[i])}}function v6({className:e,...t},{label:r,ticks:n,tickFormat:o}={},i){return BT(i,{className:e,...t},{label:r,ticks:n,tickFormat:o})}function I6(e,{legend:t=!0,...r}){if(t===!0&&(t=e.type==="ordinal"?"swatches":"ramp"),e.domain!==void 0)switch(`${t}`.toLowerCase()){case"swatches":return b6(e,r);case"ramp":return IC(e,r);default:throw new Error(`unknown legend type: ${t}`)}}function Y9({type:e,interpolate:t,...r},{legend:n=!0,color:o=Tn(0,0,0),...i}){if(!t)throw new Error(`${e} opacity scales are not supported`);if(n===!0&&(n="ramp"),`${n}`.toLowerCase()!=="ramp")throw new Error(`${n} opacity legends are not supported`);return I6({type:e,...r,interpolate:W9(o)},{legend:n,...i})}function W9(e){let{r:t,g:r,b:n}=Tn(e)||Tn(0,0,0);return o=>`rgba(${t},${r},${n},${o})`}function _6(e,t,r){let n=[];for(let[o,i]of M1){let a=r[o];if(a?.legend&&o in e){let s=i(e[o],v6(t,e[o],a),c=>e[c]);s!=null&&n.push(s)}}return n}function P6(e={},t="y"){return Mx(e)?e:{...e,[t]:It}}function T6(e,t){if(t.length===1)return{data:e,facets:t};let r=ga(e),n=new Uint8Array(r),o=0;for(let s of t)for(let c of s)n[c]&&++o,n[c]=1;if(o===0)return{data:e,facets:t};e=da(e);let i=e[wx]=new Uint32Array(r+o);t=t.map(s=>da(s,Uint32Array));let a=r;n.fill(0);for(let s of t)for(let c=0,u=s.length;c{({data:b,facets:y}=T6(b,y));let g=e==null?void 0:f(ET(Zt(b,e),x?.[r])),S=Zt(b,t,Float64Array),w=Zt(b,c),_=i&&i(b,g,S,w),v=ga(b),I=l(new Float64Array(v)),T=h(new Float64Array(v)),P=[];for(let R of y){let k=g?Array.from(fi(R,N=>g[N]).values()):[R];if(_)for(let N of k)N.sort(_);for(let N of k){let B=0,V=0;a&&N.reverse();for(let C of N){let G=S[C];G<0?B=T[C]=(I[C]=B)+G:G>0?V=T[C]=(I[C]=V)+G:T[C]=I[C]=V}}P.push(k)}return o&&o(P,I,T,w),{data:b,facets:y}}),u,p,m]}function J9(e){if(e!=null){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"expand":case"normalize":return e$;case"center":case"silhouette":return t$;case"wiggle":return R6}throw new Error(`unknown offset: ${e}`)}}function k6(e,t){let r=0,n=0;for(let o of e){let i=t[o];in&&(n=i)}return[r,n]}function e$(e,t,r){for(let n of e)for(let o of n){let[i,a]=k6(o,r);for(let s of o){let c=1/(a-i||1);t[s]=c*(t[s]-i),r[s]=c*(r[s]-i)}}}function t$(e,t,r){for(let n of e){for(let o of n){let[i,a]=k6(o,r);for(let s of o){let c=(a+i)/2;t[s]-=c,r[s]-=c}}N6(n,t,r)}A6(e,t,r)}function R6(e,t,r,n){for(let o of e){let i=new Cr,a=0;for(let s of o){let c=-1,u=s.map(m=>Math.abs(r[m]-t[m])),f=s.map(m=>{c=n?n[m]:++c;let h=r[m]-t[m],b=i.has(c)?h-i.get(c):0;return i.set(c,h),b}),p=[0,...dp(f)];for(let m of s)t[m]+=a,r[m]+=a;let l=Pn(u);l&&(a-=Pn(u,(m,h)=>(f[h]/2+p[h])*m)/l)}N6(o,t,r)}A6(e,t,r)}function N6(e,t,r){let n=Or(e,o=>Or(o,i=>t[i]));for(let o of e)for(let i of o)t[i]-=n,r[i]-=n}function A6(e,t,r){let n=e.length;if(n===1)return;let o=e.map(s=>s.flat()),i=o.map(s=>(Or(s,c=>t[c])+Kt(s,c=>r[c]))/2),a=Or(i);for(let s=0;s(o,i)=>e(n[o],n[i])}function o$(e){return(t,r,n,o)=>(i,a)=>e(o[i],o[a])}function i$(e){return Nh(e,(t,r,n,o)=>oc(Kr(t),i=>Pn(i,a=>n[a]),i=>o[i]))}function a$(e){return Nh(e,(t,r,n,o)=>oc(Kr(t),i=>r[Yf(i,a=>n[a])],i=>o[i]))}function M6(e){return Nh(e,(t,r,n,o)=>{let i=Kr(t),a=oc(i,p=>r[Yf(p,l=>n[l])],p=>o[p]),s=So(i,p=>Pn(p,l=>n[l]),p=>o[p]),c=[],u=[],f=0;for(let p of a)f<0?(f+=s.get(p),c.push(p)):(f-=s.get(p),u.push(p));return u.reverse().concat(c)})}function C6(e){return t=>{let r=Zt(t,e);return(n,o)=>zr(r[n],r[o])}}function s$(e){return t=>ao(t)?(r,n)=>e(t[r],t[n]):(r,n)=>e(t.get(r),t.get(n))}function c$(e){return Nh(zr,()=>e)}function Nh(e,t){return(r,n,o,i)=>{if(!i)throw new Error("missing channel: z");let a=new Cr(t(r,n,o,i).map((s,c)=>[s,c]));return(s,c)=>e(a.get(i[s]),a.get(i[c]))}}var f$={ariaLabel:"rect"},Fh=class extends mt{constructor(t,r={}){let{x1:n,y1:o,x2:i,y2:a}=r;super(t,{x1:{value:n,scale:"x",type:n!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&a==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:a,scale:"y",optional:!0}},r,f$),C1(this,r),O1(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{x1:c,y1:u,x2:f,y2:p}=n,{marginTop:l,marginRight:m,marginBottom:h,marginLeft:b,width:y,height:x}=o,{projection:g}=i,{insetTop:S,insetRight:w,insetBottom:_,insetLeft:v}=this,{rx:I,ry:T,rx1y1:P,rx1y2:R,rx2y1:k,rx2y2:N}=this;(c||f)&&!g&&Sa(a)&&(c=f=null),(u||p)&&!g&&Sa(s)&&(u=p=null);let B=a?.bandwidth?a.bandwidth():0,V=s?.bandwidth?s.bandwidth():0;return Ke("svg:g",i).call(pr,this,o,i).call(mr,this,{},0,0).call(C=>C.selectAll().data(t).enter().call(P||R||k||N?G=>G.append("path").call(er,this).call(k1,c&&f?j=>c[j]+(f[j]c[j]+v:b+v,u&&p?j=>u[j]+(p[j]u[j]+S:l+S,c&&f?j=>f[j]-(f[j]c[j]+B-w:y-m-w,u&&p?j=>p[j]-(p[j]u[j]+V-_:x-h-_,this).call(Hr,this,n):G=>G.append("rect").call(er,this).attr("x",c?f?j=>Math.min(c[j],f[j])+v:j=>c[j]+v:b+v).attr("y",u?p?j=>Math.min(u[j],p[j])+S:j=>u[j]+S:l+S).attr("width",c?f?j=>Math.max(0,Math.abs(f[j]-c[j])+B-v-w):B-v-w:y-m-b-w-v).attr("height",u?p?j=>Math.max(0,Math.abs(u[j]-p[j])+V-S-_):V-S-_:x-l-h-S-_).call(de,"rx",I).call(de,"ry",T).call(Hr,this,n))).node()}};function C1(e,{inset:t=0,insetTop:r=t,insetRight:n=t,insetBottom:o=t,insetLeft:i=t}={}){e.insetTop=kt(r),e.insetRight=kt(n),e.insetBottom=kt(o),e.insetLeft=kt(i)}function O1(e,{r:t,rx:r,ry:n,rx1:o=t,ry1:i=t,rx2:a=t,ry2:s=t,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:u=o!==void 0?+o:s!==void 0?+s:0,rx2y1:f=a!==void 0?+a:i!==void 0?+i:0,rx2y2:p=a!==void 0?+a:s!==void 0?+s:0}={}){c||u||f||p?(e.rx1y1=c,e.rx1y2=u,e.rx2y1=f,e.rx2y2=p):(e.rx=Pt(r,"auto"),e.ry=Pt(n,"auto"))}function k1(e,t,r,n,o,i){let{rx1y1:a,rx1y2:s,rx2y1:c,rx2y2:u}=i;typeof t!="function"&&(t=un(t)),typeof r!="function"&&(r=un(r)),typeof n!="function"&&(n=un(n)),typeof o!="function"&&(o=un(o));let f=Math.max(Math.abs(a+c),Math.abs(s+u)),p=Math.max(Math.abs(a+s),Math.abs(c+u));e.attr("d",l=>{let m=t(l),h=r(l),b=n(l),y=o(l),x=m>b,g=h>y,S=x?b:m,w=x?m:b,_=g?y:h,v=g?h:y,I=Math.min(1,(w-S)/f,(v-_)/p),T=I*(x?g?u:c:g?s:a),P=I*(x?g?s:a:g?u:c),R=I*(x?g?a:s:g?c:u),k=I*(x?g?c:u:g?a:s);return`M${S},${_+Eh(T,k)}A${T},${T} 0 0 ${T<0?0:1} ${S+Ah(T,k)},${_}H${w-Ah(P,R)}A${P},${P} 0 0 ${P<0?0:1} ${w},${_+Eh(P,R)}V${v-Eh(R,P)}A${R},${R} 0 0 ${R<0?0:1} ${w-Ah(R,P)},${v}H${S+Ah(k,T)}A${k},${k} 0 0 ${k<0?0:1} ${S},${v-Eh(k,T)}Z`})}function Ah(e,t){return t<0?e:Math.abs(e)}function Eh(e,t){return t<0?Math.abs(e):e}function Fi(e,t={}){return OT(t)||(t={...t,x:ml,y2:It,interval:1}),new Fh(e,O6(NC(P6(t))))}var u$={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},l$={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},R1=class extends mt{constructor(t={}){let{anchor:r=null}=t;super(Bc,void 0,t,r==null?u$:l$),this.anchor=Tx(r,"anchor",["top","right","bottom","left"]),C1(this,t),r||O1(this,t)}render(t,r,n,o,i){let{marginTop:a,marginRight:s,marginBottom:c,marginLeft:u,width:f,height:p}=o,{anchor:l,insetTop:m,insetRight:h,insetBottom:b,insetLeft:y}=this,{rx:x,ry:g,rx1y1:S,rx1y2:w,rx2y1:_,rx2y2:v}=this,I=u+y,T=f-s-h,P=a+m,R=p-c-b;return Ke(l?"svg:line":S||w||_||v?"svg:path":"svg:rect",i).datum(0).call(pr,this,o,i).call(er,this).call(Hr,this,n).call(mr,this,{}).call(l==="left"?k=>k.attr("x1",I).attr("x2",I).attr("y1",P).attr("y2",R):l==="right"?k=>k.attr("x1",T).attr("x2",T).attr("y1",P).attr("y2",R):l==="top"?k=>k.attr("x1",I).attr("x2",T).attr("y1",P).attr("y2",P):l==="bottom"?k=>k.attr("x1",I).attr("x2",T).attr("y1",R).attr("y2",R):S||w||_||v?k=>k.call(k1,I,P,T,R,this):k=>k.attr("x",I).attr("y",P).attr("width",T-I).attr("height",R-P).attr("rx",x).attr("ry",g)).node()}};function N1(e){return new R1(e)}var A1={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},p$=new Set(["geometry","href","src","ariaLabel","scales"]),E1=class extends mt{constructor(t,r={}){r.tip&&(r={...r,tip:!1}),r.title===void 0&&$n(t)&&ch(t)&&(r={...r,title:It});let{x:n,y:o,x1:i,x2:a,y1:s,y2:c,anchor:u,preferredAnchor:f="bottom",monospace:p,fontFamily:l=p?"ui-monospace, monospace":void 0,fontSize:m,fontStyle:h,fontVariant:b,fontWeight:y,lineHeight:x=1,lineWidth:g=20,frameAnchor:S,format:w,textAnchor:_="start",textOverflow:v,textPadding:I=8,title:T,pointerSize:P=12,pathFilter:R="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=r;super(t,{x:{value:i!=null&&a!=null?null:n,scale:"x",optional:!0},y:{value:s!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:a==null},y1:{value:s,scale:"y",optional:c==null},x2:{value:a,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:s==null},title:{value:T,optional:!0}},r,A1),this.anchor=uh(u,"anchor"),this.preferredAnchor=uh(f,"preferredAnchor"),this.frameAnchor=wa(S),this.textAnchor=Pt(_,"middle"),this.textPadding=+I,this.pointerSize=+P,this.pathFilter=Ot(R),this.lineHeight=+x,this.lineWidth=+g,this.textOverflow=b1(v),this.monospace=!!p,this.fontFamily=Ot(l),this.fontSize=kt(m),this.fontStyle=Ot(h),this.fontVariant=Ot(b),this.fontWeight=Ot(y);for(let k in A1)k in this.channels&&(this[k]=A1[k]);this.splitLines=v1(this),this.clipLine=I1(this),this.format=typeof w=="string"||typeof w=="function"?{title:w}:{...w}}render(t,r,n,o,i){let a=this,{x:s,y:c,fx:u,fy:f}=r,{ownerSVGElement:p,document:l}=i,{anchor:m,monospace:h,lineHeight:b,lineWidth:y}=this,{textPadding:x,pointerSize:g,pathFilter:S}=this,{marginTop:w,marginLeft:_}=o,{x1:v,y1:I,x2:T,y2:P,x:R=v??T,y:k=I??P}=n,N=u?u(t.fx)-_:0,B=f?f(t.fy)-w:0,[V,C]=Ko(this,o),G=c1(n,V),j=f1(n,C),H=h?Ch:Mh,U=H(vs),z,Y;"title"in n?(z=E6.call(this,{title:n.channels.title},r),Y=g$):(z=E6.call(this,n.channels,r),Y=y$);let X=Ke("svg:g",i).call(pr,this,o,i).call(S1,this).call(mr,this,{x:R&&s,y:k&&c}).call(J=>J.selectAll().data(t).enter().append("g").attr("transform",oe=>`translate(${Math.round(G(oe))},${Math.round(j(oe))})`).call(er,this).call(oe=>oe.append("path").attr("filter",S)).call(oe=>oe.append("text").each(function(Q){let fe=kr(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let O=Y.call(a,Q,t,z,r,n);if(typeof O=="string")for(let L of a.splitLines(O))q(fe,{value:a.clipLine(L)});else{let L=new Set;for(let K of O){let{label:A=""}=K;A&&L.has(A)||(L.add(A),q(fe,K))}}})));function q(J,{label:oe,value:Q,color:fe,opacity:O}){oe??="",Q??="";let L=fe!=null||O!=null,K,A=y*100,[ee]=Is(oe,A,H,U);if(ee>=0)oe=oe.slice(0,ee).trimEnd()+vs,K=Q.trim(),Q="";else{(oe||!Q&&!L)&&(Q=" "+Q);let[Te]=Is(Q,A-H(oe),H,U);Te>=0&&(K=Q.trim(),Q=Q.slice(0,Te).trimEnd()+vs)}let re=J.append("tspan").attr("x",0).attr("dy",`${b}em`).text("\u200B");oe&&re.append("tspan").attr("font-weight","bold").text(oe),Q&&re.append(()=>l.createTextNode(Q)),L&&re.append("tspan").text(" \u25A0").attr("fill",fe).attr("fill-opacity",O).style("user-select","none"),K&&re.append("title").text(K)}function ae(){let{width:J,height:oe}=o.facet??o;X.selectChildren().each(function(Q){let{x:fe,width:O,height:L}=this.getBBox();O=Math.round(O),L=Math.round(L);let K=m;if(K===void 0){let re=G(Q)+N,Te=j(Q)+B,Me=re+O+g+x*20,te=Te+L+g+x*20;K=Me&&rt?te&&he?a.preferredAnchor:he?"bottom":"top":te&&he?Me?"left":"right":(Me||rt)&&(te||he)?`${he?"bottom":"top"}-${Me?"left":"right"}`:a.preferredAnchor}let A=this.firstChild,ee=this.lastChild;if(A.setAttribute("d",h$(K,g,x,O,L)),fe)for(let re of ee.childNodes)re.setAttribute("x",-fe);ee.setAttribute("y",`${+m$(K,ee.childNodes.length,b).toFixed(6)}em`),ee.setAttribute("transform",`translate(${d$(K,g,x,O,L)})`)}),X.attr("visibility",null)}return t.length&&(X.attr("visibility","hidden"),p.isConnected?Promise.resolve().then(ae):typeof requestAnimationFrame<"u"&&requestAnimationFrame(ae)),X.node()}};function L6(e,{x:t,y:r,...n}={}){return n.frameAnchor===void 0&&([t,r]=Oi(t,r)),new E1(e,{...n,x:t,y:r})}function m$(e,t,r){return/^top(?:-|$)/.test(e)?.94-r:-.29-t*r}function d$(e,t,r,n,o){switch(e){case"middle":return[-n/2,o/2];case"top-left":return[r,t+r];case"top":return[-n/2,t/2+r];case"top-right":return[-n-r,t+r];case"right":return[-t/2-n-r,o/2];case"bottom-left":return[r,-t-r];case"bottom":return[-n/2,-t/2-r];case"bottom-right":return[-n-r,-t-r];case"left":return[r+t/2,o/2]}}function h$(e,t,r,n,o){let i=n+r*2,a=o+r*2;switch(e){case"middle":return`M${-i/2},${-a/2}h${i}v${a}h${-i}z`;case"top-left":return`M0,0l${t},${t}h${i-t}v${a}h${-i}z`;case"top":return`M0,0l${t/2},${t/2}h${(i-t)/2}v${a}h${-i}v${-a}h${(i-t)/2}z`;case"top-right":return`M0,0l${-t},${t}h${t-i}v${a}h${i}z`;case"right":return`M0,0l${-t/2},${-t/2}v${t/2-a/2}h${-i}v${a}h${i}v${t/2-a/2}z`;case"bottom-left":return`M0,0l${t},${-t}h${i-t}v${-a}h${-i}z`;case"bottom":return`M0,0l${t/2},${-t/2}h${(i-t)/2}v${-a}h${-i}v${a}h${(i-t)/2}z`;case"bottom-right":return`M0,0l${-t},${-t}h${t-i}v${-a}h${i}z`;case"left":return`M0,0l${t/2},${-t/2}v${t/2-a/2}h${i}v${a}h${-i}v${t/2-a/2}z`}}function E6(e,t){let r={},n=this.format;n=F6(n,e,"x"),n=F6(n,e,"y"),this.format=n;for(let o in n){let i=n[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")r[o]=!0;else{let a=Lx(e,o);a&&(r[o]=a)}}for(let o in e){if(o in r||o in n||p$.has(o)||(o==="x"||o==="y")&&e.geometry)continue;let i=Lx(e,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;r[o]=i}}this.facet&&(t.fx&&!("fx"in n)&&(r.fx=!0),t.fy&&!("fy"in n)&&(r.fy=!0));for(let o in r){let i=this.format[o];if(typeof i=="string"){let a=r[o]?.value??t[o]?.domain()??[];this.format[o]=(Xt(a)?Do:Cn)(i)}else if(i===void 0||i===!0){let a=t[o];this.format[o]=a?.bandwidth?Il(a,a.domain()):zo}}return r}function F6(e,t,r){if(!(r in e))return e;let n=`${r}1`,o=`${r}2`;if((n in e||!(n in t))&&(o in e||!(o in t)))return e;let i=Object.entries(e),a=e[r];return i.splice(i.findIndex(([s])=>s===r)+1,0,[n,a],[o,a]),Object.fromEntries(i)}function g$(e,t,{title:r}){return this.format.title(r.value[e],e)}function*y$(e,t,r,n,o){for(let i in r){if(i==="fx"||i==="fy"){yield{label:$h(n,r,i),value:this.format[i](t[i],e)};continue}if(i==="x1"&&"x2"in r||i==="y1"&&"y2"in r)continue;let a=r[i];if(i==="x2"&&"x1"in r)yield{label:D6(n,r,"x"),value:$6(this.format.x2,r.x1,a,e)};else if(i==="y2"&&"y1"in r)yield{label:D6(n,r,"y"),value:$6(this.format.y2,r.y1,a,e)};else{let s=a.value[e],c=a.scale;if(!En(s)&&c==null)continue;yield{label:$h(n,r,i),value:this.format[i](s,e),color:c==="color"?o[i][e]:null,opacity:c==="opacity"?o[i][e]:null}}}}function $6(e,t,r,n){return r.hint?.length?`${e(r.value[n]-t.value[n],n)}`:`${e(t.value[n],n)}\u2013${e(r.value[n],n)}`}function D6(e,t,r){let n=$h(e,t,`${r}1`,r),o=$h(e,t,`${r}2`,r);return n===o?n:`${n}\u2013${o}`}function $h(e,t,r,n=r){let o=t[r],i=e[o?.scale??r];return String(i?.label??o?.label??n)}function qo(e={}){let{facet:t,style:r,title:n,subtitle:o,caption:i,ariaLabel:a,ariaDescription:s}=e,c=rf(e.className),u=e.marks===void 0?[]:j6(e.marks);u.push(...I$(u));let f=S$(t,e),p=new Map;for(let U of u){let z=U6(U,f,e);z&&p.set(U,z)}let l=new Map;f&&_l(l,[f],e),_l(l,p,e);let m=j6(_$(u,l,e));for(let U of m){let z=U6(U,f,e);z&&p.set(U,z)}u.unshift(...m);let h=JM(l,e);if(h!==void 0){let U=f?xh(h,f):void 0;for(let Y of u){if(Y.facet===null||Y.facet==="super")continue;let X=p.get(Y);X!==void 0&&(X.facetsIndex=Y.fx!=null||Y.fy!=null?xh(h,X):U)}let z=new Set;for(let{facetsIndex:Y}of p.values())Y?.forEach((X,q)=>{X?.length>0&&z.add(q)});h.forEach(0Y.empty=!z.has(X):Y=>Y.empty=!1);for(let Y of u)if(Y.facet==="exclude"){let X=p.get(Y);X!==void 0&&(X.facetsIndex=rC(X.facetsIndex))}}for(let U of Ye.keys())zc(e[U])&&U!=="fx"&&U!=="fy"&&l.set(U,[]);let b=new Map;for(let U of u){if(b.has(U))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:z,channels:Y}=p.get(U)??{},{data:X,facets:q,channels:ae}=U.initialize(z,Y,e);D1(ae,e),b.set(U,{data:X,facets:q,channels:ae})}let y=bl(_l(l,b,e),e),x=xC(y,u,e);HM(y,x);let g=Yx(y),{fx:S,fy:w}=g,_=S||w?Wx(y,x):x,v=S||w?R$(g,x):x,I=tf(e),T=I.document,P=mi("svg").call(T.documentElement),R=P;I.ownerSVGElement=P,I.className=c,I.projection=iC(e,_),I.path=function(){return Ic(this.projection??lC(g))},I.filterFacets=(U,z)=>xh(h,{channels:z,groups:yh(U,z)}),I.getMarkState=U=>{let z=b.get(U),Y=p.get(U);return{...z,channels:{...z.channels,...Y?.channels}}},I.dispatchValue=U=>{R.value!==U&&(R.value=U,R.dispatchEvent(new I.document.defaultView.Event("input",{bubbles:!0})))};let k=new Set;for(let[U,z]of b)if(U.initializer!=null){let Y=U.facet==="super"?v:_,X=U.initializer(z.data,z.facets,z.channels,g,Y,I);if(X.data!==void 0&&(z.data=X.data),X.facets!==void 0&&(z.facets=X.facets),X.channels!==void 0){let{fx:q,fy:ae,...J}=X.channels;w$(J),Object.assign(z.channels,J);for(let oe of Object.values(J)){let{scale:Q}=oe;Q!=null&&!HT(Ye.get(Q))&&(z6(oe,e),k.add(Q))}(q!=null||ae!=null)&&p.set(U,!0)}}if(k.size){let U=new Map;_l(U,b,e,q=>k.has(q)),_l(l,b,e,q=>k.has(q));let z=k$(bl(U,e),y),{scales:Y,...X}=Yx(z);Object.assign(y,z),Object.assign(g,X),Object.assign(g.scales,Y)}let N,B;h!==void 0&&(N={x:S?.domain(),y:w?.domain()},h=eC(h,N),B=tC(S,w,x));for(let[U,z]of b)z.values=U.scale(z.channels,g,I);let{width:V,height:C}=x;kr(P).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",V).attr("height",C).attr("viewBox",`0 0 ${V} ${C}`).attr("aria-label",a).attr("aria-description",s).call(U=>U.append("style").text(`:where(.${c}) { +${b}`)).style("margin-left",u?`${+u}px`:null).style("width",l===void 0?null:`${+l}px`).style("font-variant",Ot(i,"normal")).call(wu,p).node()}var pw=new Map([["symbol",JO],["color",nk],["opacity",j$]]);function tk(e,t,r={}){return(n,o)=>{if(!pw.has(n))throw new Error(`unknown legend type: ${n}`);if(n in e)return pw.get(n)(e[n],rk(t,r[n],o),i=>e[i])}}function rk({className:e,...t},{label:r,ticks:n,tickFormat:o}={},i){return PM(i,{className:e,...t},{label:r,ticks:n,tickFormat:o})}function nk(e,{legend:t=!0,...r}){if(t===!0&&(t=e.type==="ordinal"?"swatches":"ramp"),e.domain!==void 0)switch(`${t}`.toLowerCase()){case"swatches":return QO(e,r);case"ramp":return iO(e,r);default:throw new Error(`unknown legend type: ${t}`)}}function j$({type:e,interpolate:t,...r},{legend:n=!0,color:o=An(0,0,0),...i}){if(!t)throw new Error(`${e} opacity scales are not supported`);if(n===!0&&(n="ramp"),`${n}`.toLowerCase()!=="ramp")throw new Error(`${n} opacity legends are not supported`);return nk({type:e,...r,interpolate:U$(o)},{legend:n,...i})}function U$(e){let{r:t,g:r,b:n}=An(e)||An(0,0,0);return o=>`rgba(${t},${r},${n},${o})`}function ok(e,t,r){let n=[];for(let[o,i]of pw){let a=r[o];if(a?.legend&&o in e){let s=i(e[o],rk(t,e[o],a),c=>e[c]);s!=null&&n.push(s)}}return n}function Tu(e={},t="y"){return c1(e)?e:{...e,[t]:nt}}function ik(e,t){if(t.length===1)return{data:e,facets:t};let r=Oa(e),n=new Uint8Array(r),o=0;for(let s of t)for(let c of s)n[c]&&++o,n[c]=1;if(o===0)return{data:e,facets:t};e=Ma(e);let i=e[t1]=new Uint32Array(r+o);t=t.map(s=>Ma(s,Uint32Array));let a=r;n.fill(0);for(let s of t)for(let c=0,u=s.length;c{({data:b,facets:y}=ik(b,y));let g=e==null?void 0:f(Dl(dt(b,e),x?.[r])),S=dt(b,t,Float64Array),w=dt(b,c),_=i&&i(b,g,S,w),v=Oa(b),I=l(new Float64Array(v)),T=h(new Float64Array(v)),P=[];for(let R of y){let C=g?Array.from(Fo(R,N=>g[N]).values()):[R];if(_)for(let N of C)N.sort(_);for(let N of C){let G=0,D=0;a&&N.reverse();for(let O of N){let z=S[O];z<0?G=T[O]=(I[O]=G)+z:z>0?D=T[O]=(I[O]=D)+z:T[O]=I[O]=D}}P.push(C)}return o&&o(P,I,T,w),{data:b,facets:y}}),u,p,m]}function K$(e){if(e!=null){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"expand":case"normalize":return q$;case"center":case"silhouette":return H$;case"wiggle":return uk}throw new Error(`unknown offset: ${e}`)}}function ck(e,t){let r=0,n=0;for(let o of e){let i=t[o];in&&(n=i)}return[r,n]}function q$(e,t,r){for(let n of e)for(let o of n){let[i,a]=ck(o,r);for(let s of o){let c=1/(a-i||1);t[s]=c*(t[s]-i),r[s]=c*(r[s]-i)}}}function H$(e,t,r){for(let n of e){for(let o of n){let[i,a]=ck(o,r);for(let s of o){let c=(a+i)/2;t[s]-=c,r[s]-=c}}fk(n,t,r)}lk(e,t,r)}function uk(e,t,r,n){for(let o of e){let i=new Ar,a=0;for(let s of o){let c=-1,u=s.map(m=>Math.abs(r[m]-t[m])),f=s.map(m=>{c=n?n[m]:++c;let h=r[m]-t[m],b=i.has(c)?h-i.get(c):0;return i.set(c,h),b}),p=[0,...jp(f)];for(let m of s)t[m]+=a,r[m]+=a;let l=dn(u);l&&(a-=dn(u,(m,h)=>(f[h]/2+p[h])*m)/l)}fk(o,t,r)}lk(e,t,r)}function fk(e,t,r){let n=Fr(e,o=>Fr(o,i=>t[i]));for(let o of e)for(let i of o)t[i]-=n,r[i]-=n}function lk(e,t,r){let n=e.length;if(n===1)return;let o=e.map(s=>s.flat()),i=o.map(s=>(Fr(s,c=>t[c])+er(s,c=>r[c]))/2),a=Fr(i);for(let s=0;s(o,i)=>e(n[o],n[i])}function X$(e){return(t,r,n,o)=>(i,a)=>e(o[i],o[a])}function Z$(e){return mg(e,(t,r,n,o)=>xc(jr(t),i=>dn(i,a=>n[a]),i=>o[i]))}function Q$(e){return mg(e,(t,r,n,o)=>xc(jr(t),i=>r[pf(i,a=>n[a])],i=>o[i]))}function ak(e){return mg(e,(t,r,n,o)=>{let i=jr(t),a=xc(i,p=>r[pf(p,l=>n[l])],p=>o[p]),s=co(i,p=>dn(p,l=>n[l]),p=>o[p]),c=[],u=[],f=0;for(let p of a)f<0?(f+=s.get(p),c.push(p)):(f-=s.get(p),u.push(p));return u.reverse().concat(c)})}function sk(e){return t=>{let r=dt(t,e);return(n,o)=>Cr(r[n],r[o])}}function J$(e){return t=>go(t)?(r,n)=>e(t[r],t[n]):(r,n)=>e(t.get(r),t.get(n))}function eD(e){return mg(Cr,()=>e)}function mg(e,t){return(r,n,o,i)=>{if(!i)throw new Error("missing channel: z");let a=new Ar(t(r,n,o,i).map((s,c)=>[s,c]));return(s,c)=>e(a.get(i[s]),a.get(i[c]))}}var tD={ariaLabel:"rect"},gg=class extends Ze{constructor(t,r={}){let{x1:n,y1:o,x2:i,y2:a}=r;super(t,{x1:{value:n,scale:"x",type:n!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&a==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:a,scale:"y",optional:!0}},r,tD),Hl(this,r),Yl(this,r)}render(t,r,n,o,i){let{x:a,y:s}=r,{x1:c,y1:u,x2:f,y2:p}=n,{marginTop:l,marginRight:m,marginBottom:h,marginLeft:b,width:y,height:x}=o,{projection:g}=i,{insetTop:S,insetRight:w,insetBottom:_,insetLeft:v}=this,{rx:I,ry:T,rx1y1:P,rx1y2:R,rx2y1:C,rx2y2:N}=this;(c||f)&&!g&&wo(a)&&(c=f=null),(u||p)&&!g&&wo(s)&&(u=p=null);let G=a?.bandwidth?a.bandwidth():0,D=s?.bandwidth?s.bandwidth():0;return De("svg:g",i).call($t,this,o,i).call(Dt,this,{},0,0).call(O=>O.selectAll().data(t).enter().call(P||R||C||N?z=>z.append("path").call(It,this).call(Wl,c&&f?U=>c[U]+(f[U]c[U]+v:b+v,u&&p?U=>u[U]+(p[U]u[U]+S:l+S,c&&f?U=>f[U]-(f[U]c[U]+G-w:y-m-w,u&&p?U=>p[U]-(p[U]u[U]+D-_:x-h-_,this).call(yr,this,n):z=>z.append("rect").call(It,this).attr("x",c?f?U=>Math.min(c[U],f[U])+v:U=>c[U]+v:b+v).attr("y",u?p?U=>Math.min(u[U],p[U])+S:U=>u[U]+S:l+S).attr("width",c?f?U=>Math.max(0,Math.abs(f[U]-c[U])+G-v-w):G-v-w:y-m-b-w-v).attr("height",u?p?U=>Math.max(0,Math.abs(u[U]-p[U])+D-S-_):D-S-_:x-l-h-S-_).call(de,"rx",I).call(de,"ry",T).call(yr,this,n))).node()}};function Hl(e,{inset:t=0,insetTop:r=t,insetRight:n=t,insetBottom:o=t,insetLeft:i=t}={}){e.insetTop=Ft(r),e.insetRight=Ft(n),e.insetBottom=Ft(o),e.insetLeft=Ft(i)}function Yl(e,{r:t,rx:r,ry:n,rx1:o=t,ry1:i=t,rx2:a=t,ry2:s=t,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:u=o!==void 0?+o:s!==void 0?+s:0,rx2y1:f=a!==void 0?+a:i!==void 0?+i:0,rx2y2:p=a!==void 0?+a:s!==void 0?+s:0}={}){c||u||f||p?(e.rx1y1=c,e.rx1y2=u,e.rx2y1=f,e.rx2y2=p):(e.rx=Ot(r,"auto"),e.ry=Ot(n,"auto"))}function Wl(e,t,r,n,o,i){let{rx1y1:a,rx1y2:s,rx2y1:c,rx2y2:u}=i;typeof t!="function"&&(t=bn(t)),typeof r!="function"&&(r=bn(r)),typeof n!="function"&&(n=bn(n)),typeof o!="function"&&(o=bn(o));let f=Math.max(Math.abs(a+c),Math.abs(s+u)),p=Math.max(Math.abs(a+s),Math.abs(c+u));e.attr("d",l=>{let m=t(l),h=r(l),b=n(l),y=o(l),x=m>b,g=h>y,S=x?b:m,w=x?m:b,_=g?y:h,v=g?h:y,I=Math.min(1,(w-S)/f,(v-_)/p),T=I*(x?g?u:c:g?s:a),P=I*(x?g?s:a:g?u:c),R=I*(x?g?a:s:g?c:u),C=I*(x?g?c:u:g?a:s);return`M${S},${_+hg(T,C)}A${T},${T} 0 0 ${T<0?0:1} ${S+dg(T,C)},${_}H${w-dg(P,R)}A${P},${P} 0 0 ${P<0?0:1} ${w},${_+hg(P,R)}V${v-hg(R,P)}A${R},${R} 0 0 ${R<0?0:1} ${w-dg(R,P)},${v}H${S+dg(C,T)}A${C},${C} 0 0 ${C<0?0:1} ${S},${v-hg(C,T)}Z`})}function dg(e,t){return t<0?e:Math.abs(e)}function hg(e,t){return t<0?Math.abs(e):e}function Yi(e,t={}){return Dh(t)||(t={...t,x:ei,y2:nt,interval:1}),new gg(e,Mu(dO(Tu(t))))}var rD={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},nD={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},mw=class extends Ze{constructor(t={}){let{anchor:r=null}=t;super(ou,void 0,t,r==null?rD:nD),this.anchor=s1(r,"anchor",["top","right","bottom","left"]),Hl(this,t),r||Yl(this,t)}render(t,r,n,o,i){let{marginTop:a,marginRight:s,marginBottom:c,marginLeft:u,width:f,height:p}=o,{anchor:l,insetTop:m,insetRight:h,insetBottom:b,insetLeft:y}=this,{rx:x,ry:g,rx1y1:S,rx1y2:w,rx2y1:_,rx2y2:v}=this,I=u+y,T=f-s-h,P=a+m,R=p-c-b;return De(l?"svg:line":S||w||_||v?"svg:path":"svg:rect",i).datum(0).call($t,this,o,i).call(It,this).call(yr,this,n).call(Dt,this,{}).call(l==="left"?C=>C.attr("x1",I).attr("x2",I).attr("y1",P).attr("y2",R):l==="right"?C=>C.attr("x1",T).attr("x2",T).attr("y1",P).attr("y2",R):l==="top"?C=>C.attr("x1",I).attr("x2",T).attr("y1",P).attr("y2",P):l==="bottom"?C=>C.attr("x1",I).attr("x2",T).attr("y1",R).attr("y2",R):S||w||_||v?C=>C.call(Wl,I,P,T,R,this):C=>C.attr("x",I).attr("y",P).attr("width",T-I).attr("height",R-P).attr("rx",x).attr("ry",g)).node()}};function dw(e){return new mw(e)}var hw={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},oD=new Set(["geometry","href","src","ariaLabel","scales"]),gw=class extends Ze{constructor(t,r={}){r.tip&&(r={...r,tip:!1}),r.title===void 0&&Qr(t)&&jh(t)&&(r={...r,title:nt});let{x:n,y:o,x1:i,x2:a,y1:s,y2:c,anchor:u,preferredAnchor:f="bottom",monospace:p,fontFamily:l=p?"ui-monospace, monospace":void 0,fontSize:m,fontStyle:h,fontVariant:b,fontWeight:y,lineHeight:x=1,lineWidth:g=20,frameAnchor:S,format:w,textAnchor:_="start",textOverflow:v,textPadding:I=8,title:T,pointerSize:P=12,pathFilter:R="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=r;super(t,{x:{value:i!=null&&a!=null?null:n,scale:"x",optional:!0},y:{value:s!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:a==null},y1:{value:s,scale:"y",optional:c==null},x2:{value:a,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:s==null},title:{value:T,optional:!0}},r,hw),this.anchor=zh(u,"anchor"),this.preferredAnchor=zh(f,"preferredAnchor"),this.frameAnchor=Na(S),this.textAnchor=Ot(_,"middle"),this.textPadding=+I,this.pointerSize=+P,this.pathFilter=At(R),this.lineHeight=+x,this.lineWidth=+g,this.textOverflow=nw(v),this.monospace=!!p,this.fontFamily=At(l),this.fontSize=Ft(m),this.fontStyle=At(h),this.fontVariant=At(b),this.fontWeight=At(y);for(let C in hw)C in this.channels&&(this[C]=hw[C]);this.splitLines=sw(this),this.clipLine=cw(this),this.format=typeof w=="string"||typeof w=="function"?{title:w}:{...w}}render(t,r,n,o,i){let a=this,{x:s,y:c,fx:u,fy:f}=r,{ownerSVGElement:p,document:l}=i,{anchor:m,monospace:h,lineHeight:b,lineWidth:y}=this,{textPadding:x,pointerSize:g,pathFilter:S}=this,{marginTop:w,marginLeft:_}=o,{x1:v,y1:I,x2:T,y2:P,x:R=v??T,y:C=I??P}=n,N=u?u(t.fx)-_:0,G=f?f(t.fy)-w:0,[D,O]=si(this,o),z=H1(n,D),U=Y1(n,O),W=h?fg:ug,B=W(Fs),q,X;"title"in n?(q=dk.call(this,{title:n.channels.title},r),X=cD):(q=dk.call(this,n.channels,r),X=uD);let J=De("svg:g",i).call($t,this,o,i).call(aw,this).call(Dt,this,{x:R&&s,y:C&&c}).call(Y=>Y.selectAll().data(t).enter().append("g").attr("transform",ee=>`translate(${Math.round(z(ee))},${Math.round(U(ee))})`).call(It,this).call(ee=>ee.append("path").attr("filter",S)).call(ee=>ee.append("text").each(function(Z){let ne=$r(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let M=X.call(a,Z,t,q,r,n);if(typeof M=="string")for(let $ of a.splitLines(M))A(ne,{value:a.clipLine($)});else{let $=new Set;for(let H of M){let{label:E=""}=H;E&&$.has(E)||($.add(E),A(ne,H))}}})));function A(Y,{label:ee,value:Z,color:ne,opacity:M}){ee??="",Z??="";let $=ne!=null||M!=null,H,E=y*100,[re]=$s(ee,E,W,B);if(re>=0)ee=ee.slice(0,re).trimEnd()+Fs,H=Z.trim(),Z="";else{(ee||!Z&&!$)&&(Z=" "+Z);let[be]=$s(Z,E-W(ee),W,B);be>=0&&(H=Z.trim(),Z=Z.slice(0,be).trimEnd()+Fs)}let oe=Y.append("tspan").attr("x",0).attr("dy",`${b}em`).text("\u200B");ee&&oe.append("tspan").attr("font-weight","bold").text(ee),Z&&oe.append(()=>l.createTextNode(Z)),$&&oe.append("tspan").text(" \u25A0").attr("fill",ne).attr("fill-opacity",M).style("user-select","none"),H&&oe.append("title").text(H)}function K(){let{width:Y,height:ee}=o.facet??o;J.selectChildren().each(function(Z){let{x:ne,width:M,height:$}=this.getBBox();M=Math.round(M),$=Math.round($);let H=m;if(H===void 0){let oe=z(Z)+N,be=U(Z)+G,we=oe+M+g+x*20,ie=be+$+g+x*20;H=we&&Ve?ie&&fe?a.preferredAnchor:fe?"bottom":"top":ie&&fe?we?"left":"right":(we||Ve)&&(ie||fe)?`${fe?"bottom":"top"}-${we?"left":"right"}`:a.preferredAnchor}let E=this.firstChild,re=this.lastChild;if(E.setAttribute("d",sD(H,g,x,M,$)),ne)for(let oe of re.childNodes)oe.setAttribute("x",-ne);re.setAttribute("y",`${+iD(H,re.childNodes.length,b).toFixed(6)}em`),re.setAttribute("transform",`translate(${aD(H,g,x,M,$)})`)}),J.attr("visibility",null)}return t.length&&(J.attr("visibility","hidden"),p.isConnected?Promise.resolve().then(K):typeof requestAnimationFrame<"u"&&requestAnimationFrame(K)),J.node()}};function bk(e,{x:t,y:r,...n}={}){return n.frameAnchor===void 0&&([t,r]=bo(t,r)),new gw(e,{...n,x:t,y:r})}function iD(e,t,r){return/^top(?:-|$)/.test(e)?.94-r:-.29-t*r}function aD(e,t,r,n,o){switch(e){case"middle":return[-n/2,o/2];case"top-left":return[r,t+r];case"top":return[-n/2,t/2+r];case"top-right":return[-n-r,t+r];case"right":return[-t/2-n-r,o/2];case"bottom-left":return[r,-t-r];case"bottom":return[-n/2,-t/2-r];case"bottom-right":return[-n-r,-t-r];case"left":return[r+t/2,o/2]}}function sD(e,t,r,n,o){let i=n+r*2,a=o+r*2;switch(e){case"middle":return`M${-i/2},${-a/2}h${i}v${a}h${-i}z`;case"top-left":return`M0,0l${t},${t}h${i-t}v${a}h${-i}z`;case"top":return`M0,0l${t/2},${t/2}h${(i-t)/2}v${a}h${-i}v${-a}h${(i-t)/2}z`;case"top-right":return`M0,0l${-t},${t}h${t-i}v${a}h${i}z`;case"right":return`M0,0l${-t/2},${-t/2}v${t/2-a/2}h${-i}v${a}h${i}v${t/2-a/2}z`;case"bottom-left":return`M0,0l${t},${-t}h${i-t}v${-a}h${-i}z`;case"bottom":return`M0,0l${t/2},${-t/2}h${(i-t)/2}v${-a}h${-i}v${a}h${(i-t)/2}z`;case"bottom-right":return`M0,0l${-t},${-t}h${t-i}v${-a}h${i}z`;case"left":return`M0,0l${t/2},${-t/2}v${t/2-a/2}h${i}v${a}h${-i}v${t/2-a/2}z`}}function dk(e,t){let r={},n=this.format;n=hk(n,e,"x"),n=hk(n,e,"y"),this.format=n;for(let o in n){let i=n[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")r[o]=!0;else{let a=I1(e,o);a&&(r[o]=a)}}for(let o in e){if(o in r||o in n||oD.has(o)||(o==="x"||o==="y")&&e.geometry)continue;let i=I1(e,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;r[o]=i}}this.facet&&(t.fx&&!("fx"in n)&&(r.fx=!0),t.fy&&!("fy"in n)&&(r.fy=!0));for(let o in r){let i=this.format[o];if(typeof i=="string"){let a=r[o]?.value??t[o]?.domain()??[];this.format[o]=(Et(a)?Zo:$n)(i)}else if(i===void 0||i===!0){let a=t[o];this.format[o]=a?.bandwidth?ql(a,a.domain()):ai}}return r}function hk(e,t,r){if(!(r in e))return e;let n=`${r}1`,o=`${r}2`;if((n in e||!(n in t))&&(o in e||!(o in t)))return e;let i=Object.entries(e),a=e[r];return i.splice(i.findIndex(([s])=>s===r)+1,0,[n,a],[o,a]),Object.fromEntries(i)}function cD(e,t,{title:r}){return this.format.title(r.value[e],e)}function*uD(e,t,r,n,o){for(let i in r){if(i==="fx"||i==="fy"){yield{label:yg(n,r,i),value:this.format[i](t[i],e)};continue}if(i==="x1"&&"x2"in r||i==="y1"&&"y2"in r)continue;let a=r[i];if(i==="x2"&&"x1"in r)yield{label:yk(n,r,"x"),value:gk(this.format.x2,r.x1,a,e)};else if(i==="y2"&&"y1"in r)yield{label:yk(n,r,"y"),value:gk(this.format.y2,r.y1,a,e)};else{let s=a.value[e],c=a.scale;if(!zn(s)&&c==null)continue;yield{label:yg(n,r,i),value:this.format[i](s,e),color:c==="color"?o[i][e]:null,opacity:c==="opacity"?o[i][e]:null}}}}function gk(e,t,r,n){return r.hint?.length?`${e(r.value[n]-t.value[n],n)}`:`${e(t.value[n],n)}\u2013${e(r.value[n],n)}`}function yk(e,t,r){let n=yg(e,t,`${r}1`,r),o=yg(e,t,`${r}2`,r);return n===o?n:`${n}\u2013${o}`}function yg(e,t,r,n=r){let o=t[r],i=e[o?.scale??r];return String(i?.label??o?.label??n)}function ci(e={}){let{facet:t,style:r,title:n,subtitle:o,caption:i,ariaLabel:a,ariaDescription:s}=e,c=xu(e.className),u=e.marks===void 0?[]:wk(e.marks);u.push(...hD(u));let f=mD(t,e),p=new Map;for(let B of u){let q=Sk(B,f,e);q&&p.set(B,q)}let l=new Map;f&&Xl(l,[f],e),Xl(l,p,e);let m=wk(gD(u,l,e));for(let B of m){let q=Sk(B,f,e);q&&p.set(B,q)}u.unshift(...m);let h=DC(l,e);if(h!==void 0){let B=f?Qh(h,f):void 0;for(let X of u){if(X.facet===null||X.facet==="super")continue;let J=p.get(X);J!==void 0&&(J.facetsIndex=X.fx!=null||X.fy!=null?Qh(h,J):B)}let q=new Set;for(let{facetsIndex:X}of p.values())X?.forEach((J,A)=>{J?.length>0&&q.add(A)});h.forEach(0X.empty=!q.has(J):X=>X.empty=!1);for(let X of u)if(X.facet==="exclude"){let J=p.get(X);J!==void 0&&(J.facetsIndex=jC(J.facetsIndex))}}for(let B of Xe.keys())iu(e[B])&&B!=="fx"&&B!=="fy"&&l.set(B,[]);let b=new Map;for(let B of u){if(b.has(B))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:q,channels:X}=p.get(B)??{},{data:J,facets:A,channels:K}=B.initialize(q,X,e);xw(K,e),b.set(B,{data:J,facets:A,channels:K})}let y=Bl(Xl(l,b,e),e),x=tO(y,u,e);NC(y,x);let g=E1(y),{fx:S,fy:w}=g,_=S||w?A1(y,x):x,v=S||w?ID(g,x):x,I=bu(e),T=I.document,P=Ti("svg").call(T.documentElement),R=P;I.ownerSVGElement=P,I.className=c,I.projection=BC(e,_),I.path=function(){return Lc(this.projection??WC(g))},I.filterFacets=(B,q)=>Qh(h,{channels:q,groups:Xh(B,q)}),I.getMarkState=B=>{let q=b.get(B),X=p.get(B);return{...q,channels:{...q.channels,...X?.channels}}},I.dispatchValue=B=>{R.value!==B&&(R.value=B,R.dispatchEvent(new I.document.defaultView.Event("input",{bubbles:!0})))};let C=new Set;for(let[B,q]of b)if(B.initializer!=null){let X=B.facet==="super"?v:_,J=B.initializer(q.data,q.facets,q.channels,g,X,I);if(J.data!==void 0&&(q.data=J.data),J.facets!==void 0&&(q.facets=J.facets),J.channels!==void 0){let{fx:A,fy:K,...Y}=J.channels;pD(Y),Object.assign(q.channels,Y);for(let ee of Object.values(Y)){let{scale:Z}=ee;Z!=null&&!OM(Xe.get(Z))&&(_k(ee,e),C.add(Z))}(A!=null||K!=null)&&p.set(B,!0)}}if(C.size){let B=new Map;Xl(B,b,e,A=>C.has(A)),Xl(l,b,e,A=>C.has(A));let q=vD(Bl(B,e),y),{scales:X,...J}=E1(q);Object.assign(y,q),Object.assign(g,J),Object.assign(g.scales,X)}let N,G;h!==void 0&&(N={x:S?.domain(),y:w?.domain()},h=LC(h,N),G=VC(S,w,x));for(let[B,q]of b)q.values=B.scale(q.channels,g,I);let{width:D,height:O}=x;$r(P).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",D).attr("height",O).attr("viewBox",`0 0 ${D} ${O}`).attr("aria-label",a).attr("aria-description",s).call(B=>B.append("style").text(`:where(.${c}) { --plot-background: white; display: block; height: auto; @@ -55,7 +56,7 @@ ${b}`)).style("margin-left",u?`${+u}px`:null).style("width",l===void 0?null:`${+ :where(.${c} text), :where(.${c} tspan) { white-space: pre; -}`)).call(nf,r);for(let U of u){let{channels:z,values:Y,facets:X}=b.get(U);if(h===void 0||U.facet==="super"){let q=null;if(X&&(q=X[0],q=U.filter(q,z,Y),q.length===0))continue;let ae=U.render(q,g,Y,v,I);if(ae==null)continue;P.appendChild(ae)}else{let q;for(let ae of h){if(!(U.facetAnchor?.(h,N,ae)??!ae.empty))continue;let J=null;if(X){let Q=p.has(U);if(J=X[Q?ae.i:0],J=U.filter(J,z,Y),J.length===0)continue;!Q&&J===X[0]&&(J=RT(J)),J.fx=ae.x,J.fy=ae.y,J.fi=ae.i}let oe=U.render(J,g,Y,_,I);if(oe!=null){(q??=kr(P).append("g")).append(()=>oe).datum(ae);for(let Q of["aria-label","aria-description","aria-hidden","transform"])oe.hasAttribute(Q)&&(q.attr(Q,oe.getAttribute(Q)),oe.removeAttribute(Q))}}q?.selectChildren().each(B)}}let G=_6(y,I,e),{figure:j=n!=null||o!=null||i!=null||G.length>0}=e;j&&(R=T.createElement("figure"),R.className=`${c}-figure`,R.style.maxWidth="initial",n!=null&&R.append(V6(T,n,"h2")),o!=null&&R.append(V6(T,o,"h3")),R.append(...G,P),i!=null&&R.append(b$(T,i)),"value"in P&&(R.value=P.value,delete P.value)),R.scale=ZM(g.scales),R.legend=S6(y,I,e);let H=CM();return H>0&&kr(P).append("text").attr("x",V).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${H.toLocaleString("en-US")} warning${H===1?"":"s"}. Please check the console.`),R}function V6(e,t,r){if(t.ownerDocument)return t;let n=e.createElement(r);return n.append(t),n}function b$(e,t){let r=e.createElement("figcaption");return r.append(t),r}function j6(e){return e.flat(1/0).filter(t=>t!=null).map(x$)}function x$(e){return typeof e.render=="function"?e:new $1(e)}var $1=class extends mt{constructor(t){if(typeof t!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=t}render(){}};function D1(e,t){for(let r in e)z6(e[r],t);return e}function z6(e,t){let{scale:r,transform:n=!0}=e;if(r==null||!n)return;let{type:o,percent:i,interval:a,transform:s=i?c=>c==null?NaN:c*100:Cx(a,o)}=t[r]??{};s!=null&&(e.value=tt(e.value,s),e.transform=!1)}function w$(e){for(let t in e)Dx(t,e[t])}function _l(e,t,r,n=_T){for(let{channels:o}of t.values())for(let i in o){let a=o[i],{scale:s}=a;if(s!=null&&n(s))if(s==="projection"){if(!cC(r)){let c=r.x?.domain===void 0,u=r.y?.domain===void 0;if(c||u){let[f,p]=uC(a);c&&F1(e,"x",f),u&&F1(e,"y",p)}}}else F1(e,s,a)}return e}function F1(e,t,r){let n=e.get(t);n!==void 0?n.push(r):e.set(t,[r])}function S$(e,t){if(e==null)return;let{x:r,y:n}=e;if(r==null&&n==null)return;let o=Ci(e.data);if(o==null)throw new Error("missing facet data");let i={};r!=null&&(i.fx=Wc(o,{value:r,scale:"fx"})),n!=null&&(i.fy=Wc(o,{value:n,scale:"fy"})),D1(i,t);let a=yh(o,i);return{channels:i,groups:a,data:e.data}}function U6(e,t,r){if(e.facet===null||e.facet==="super")return;let{fx:n,fy:o}=e;if(n!=null||o!=null){let c=Ci(e.data??n??o);if(c===void 0)throw new Error(`missing facet data in ${e.ariaLabel}`);if(c===null)return;let u={};return n!=null&&(u.fx=Wc(c,{value:n,scale:"fx"})),o!=null&&(u.fy=Wc(c,{value:o,scale:"fy"})),D1(u,r),{channels:u,groups:yh(c,u)}}if(t===void 0)return;let{channels:i,groups:a,data:s}=t;if(e.facet!=="auto"||e.data===s)return{channels:i,groups:a};s.length>0&&(a.size>1||a.size===1&&i.fx&&i.fy&&[...a][0][1].size>1)&&ga(Ci(e.data))===ga(s)&&qr(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function v$(e,t={}){return ki({...t,x:null,y:null},(r,n,o,i,a,s)=>s.getMarkState(e))}function I$(e){let t=[];for(let r of e){let n=r.tip;if(n){n===!0?n={}:typeof n=="string"&&(n={pointer:n});let{pointer:o,preferredAnchor:i}=n;o=/^x$/i.test(o)?vC:/^y$/i.test(o)?s1:SC,n=o(v$(r,n)),n.title=null,i===void 0&&(n.preferredAnchor=o===s1?"left":"bottom");let a=L6(r.data,n);a.facet=r.facet,a.facetAnchor=r.facetAnchor,t.push(a)}}return t}function _$(e,t,r){let{projection:n,x:o={},y:i={},fx:a={},fy:s={},axis:c,grid:u,facet:f={},facet:{axis:p=c,grid:l}=f,x:{axis:m=c,grid:h=m===null?null:u}=o,y:{axis:b=c,grid:y=b===null?null:u}=i,fx:{axis:x=p,grid:g=x===null?null:l}=a,fy:{axis:S=p,grid:w=S===null?null:l}=s}=r;(n||!zc(o)&&!G6("x",e))&&(m=h=null),(n||!zc(i)&&!G6("y",e))&&(b=y=null),t.has("fx")||(x=g=null),t.has("fy")||(S=w=null),m===void 0&&(m=!Vh(e,"x")),b===void 0&&(b=!Vh(e,"y")),x===void 0&&(x=!Vh(e,"fx")),S===void 0&&(S=!Vh(e,"fy")),m===!0&&(m="bottom"),b===!0&&(b="left"),x===!0&&(x=m==="top"||m===null?"bottom":"top"),S===!0&&(S=b==="right"||b===null?"left":"right");let _=[];return Lh(_,w,i6,s),Dh(_,S,e6,"right","left",f,s),Lh(_,g,s6,a),Dh(_,x,t6,"top","bottom",f,a),Lh(_,y,o6,i),Dh(_,b,P1,"left","right",r,i),Lh(_,h,a6,o),Dh(_,m,T1,"bottom","top",r,o),_}function Dh(e,t,r,n,o,i,a){if(!t)return;let s=P$(t);a=T$(s?n:t,i,a);let{line:c}=a;(r===P1||r===T1)&&c&&!bs(c)&&e.push(N1(M$(a))),e.push(r(a)),s&&e.push(r({...a,anchor:o,label:null}))}function Lh(e,t,r,n){!t||bs(t)||e.push(r(C$(t,n)))}function P$(e){return/^\s*both\s*$/i.test(e)}function T$(e,t,{line:r=t.line,ticks:n,tickSize:o,tickSpacing:i,tickPadding:a,tickFormat:s,tickRotate:c,fontVariant:u,ariaLabel:f,ariaDescription:p,label:l=t.label,labelAnchor:m,labelArrow:h=t.labelArrow,labelOffset:b}){return{anchor:e,line:r,ticks:n,tickSize:o,tickSpacing:i,tickPadding:a,tickFormat:s,tickRotate:c,fontVariant:u,ariaLabel:f,ariaDescription:p,label:l,labelAnchor:m,labelArrow:h,labelOffset:b}}function M$(e){let{anchor:t,line:r}=e;return{anchor:t,facetAnchor:t+"-empty",stroke:r===!0?void 0:r}}function C$(e,{stroke:t=qc(e)?e:void 0,ticks:r=O$(e)?e:void 0,tickSpacing:n,ariaLabel:o,ariaDescription:i}){return{stroke:t,ticks:r,tickSpacing:n,ariaLabel:o,ariaDescription:i}}function O$(e){switch(typeof e){case"number":return!0;case"string":return!qc(e)}return $n(e)||typeof e?.range=="function"}function Vh(e,t){let r=`${t}-axis `;return e.some(n=>n.ariaLabel?.startsWith(r))}function G6(e,t){for(let r of t)for(let n in r.channels){let{scale:o}=r.channels[n];if(o===e||o==="projection")return!0}return!1}function k$(e,t){for(let r in e){let n=e[r],o=t[r];n.label===void 0&&o&&(n.label=o.label)}return e}function R$({fx:e,fy:t},r){let{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:s,height:c}=hh(r),u=e&&B6(e),f=t&&B6(t);return{marginTop:t?f[0]:n,marginRight:e?s-u[1]:o,marginBottom:t?c-f[1]:i,marginLeft:e?u[0]:a,inset:{marginTop:r.marginTop,marginRight:r.marginRight,marginBottom:r.marginBottom,marginLeft:r.marginLeft},width:s,height:c}}function B6(e){let t=e.domain();if(t.length===0)return[0,e.bandwidth()];let r=e(t[0]),n=e(t[t.length-1]);return nw.selectAll().data(t).enter().append(g?"circle":"path").call(er,this).call(g?_=>{_.attr("cx",c?v=>c[v]:y).attr("cy",u?v=>u[v]:x).attr("r",f?v=>f[v]:m)}:_=>{_.attr("transform",of`translate(${c?v=>c[v]:y},${u?v=>u[v]:x})${p?v=>` rotate(${p[v]})`:h?` rotate(${h})`:""}`).attr("d",f&&l?v=>{let I=no();return l[v].draw(I,f[v]*f[v]*Math.PI),I}:f?v=>{let I=no();return b.draw(I,f[v]*f[v]*Math.PI),I}:l?v=>{let I=no();return l[v].draw(I,S),I}:(()=>{let v=no();return b.draw(v,S),v})())}).call(Hr,this,n)).node()}};function _s(e,{x:t,y:r,...n}={}){return n.frameAnchor===void 0&&([t,r]=Oi(t,r)),new jh(e,{...n,x:t,y:r})}var $$={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Uh=class extends mt{constructor(t,r={}){let{x:n,y:o,z:i,curve:a,tension:s}=r;super(t,{x:{value:n,scale:"x"},y:{value:o,scale:"y"},z:{value:ih(r),optional:!0}},r,$$),this.z=i,this.curve=K6(a,s),Sl(this,r)}filter(t){return t}project(t,r,n){this.curve!==Pl&&super.project(t,r,n)}render(t,r,n,o,i){let{x:a,y:s}=n,{curve:c}=this;return Ke("svg:g",i).call(pr,this,o,i).call(mr,this,r).call(u=>u.selectAll().data(gC(t,[a,s],this,n)).enter().append("path").call(er,this).call(hC,this,n).call(TC,this,n,i).attr("d",c===Pl&&i.projection?D$(i.path(),a,s):Vb().curve(c).defined(f=>f>=0).x(f=>a[f]).y(f=>s[f]))).node()}};function D$(e,t,r){return t=ys(t),r=ys(r),n=>{let o=[],i=[o];for(let a of n)a===-1?(o=[],i.push(o)):o.push([t[a],r[a]]);return e({type:"MultiLineString",coordinates:i})}}function jt(e,{x:t,y:r,...n}={}){return[t,r]=Oi(t,r),new Uh(e,{...n,x:t,y:r})}mt.prototype.plot=function({marks:e=[],...t}={}){return qo({...t,marks:[...e,this]})};var L$=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"],q6={background:"transparent",color:"#222",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"13px"};function V$(e,t){let r=[...t?[e.model]:[],`Predicted: ${e.predicted.toFixed(3)}`,`Observed: ${e.observed.toFixed(3)}`];return e.method==="discrete"&&e.events!==void 0&&e.total!==void 0&&(r[r.length-1]+=` ( ${e.events} / ${e.total} )`),r.join(` -`)}function j$(e){let r=[...new Set(e.data.map(m=>m.model))].length>1,n=r?L$:["#000000"],o=e.data.map(m=>({...m,tooltip:V$(m,r)})),i=[];e.references?.some(m=>m.type==="identity")&&i.push(jt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",stroke:"#BEBEBE",strokeWidth:2,strokeDasharray:"4,4"})),i.push(jt(o,{x:"predicted",y:"observed",stroke:"model",strokeWidth:2,title:"tooltip",tip:!0}));let a=o.filter(m=>m.method==="discrete");a.length>0&&i.push(_s(a,{x:"predicted",y:"observed",fill:"model",stroke:"white",strokeWidth:1.5,r:5,title:"tooltip",tip:!0}));let s=(e.distribution?.length??0)>0,c=qo({width:600,height:s?480:600,marginLeft:64,marginBottom:s?16:56,style:q6,x:{label:s?null:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6,axis:s?null:"bottom"},y:{label:e.yAxis.label,domain:e.yAxis.domain,grid:!1,ticks:6},color:{legend:r,range:n},marks:i});if(!s||!e.distribution)return c;let u=e.distribution.map(m=>({...m,tooltip:`${r?`${m.model} -`:""}${m.count} observations in [${(m.midpoint-m.binWidth/2).toFixed(3)}, ${(m.midpoint+m.binWidth/2).toFixed(3)}]`})),f=new Set(e.distribution.map(m=>m.model)).size,p=qo({width:600,height:120,marginLeft:64,marginTop:0,marginBottom:48,style:q6,x:{label:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6},y:{label:null,grid:!1,ticks:3},color:{legend:!1,range:n},marks:[Fi(u,{x1:m=>m.midpoint-m.binWidth/2,x2:m=>m.midpoint+m.binWidth/2,y:"count",fill:"model",fillOpacity:1/Math.max(f,1),title:"tooltip",tip:!0})]}),l=document.createElement("div");return l.style.width="600px",l.style.maxWidth="100%",l.append(c,p),l}var U$=0,Y6=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"],_r={width:600,height:500,margins:{top:28,right:28,bottom:58,left:66},background:"#ffffff",frame:{color:"#444444",width:1},typography:{fontFamily:"Arial, Helvetica, sans-serif",fontSize:12,axisTitleSize:14,axisTitleWeight:400,legendSize:12},axis:{color:"#444444",tickSize:5,tickPadding:7,ticks:6,numberFormat:".1f"},colors:Y6,line:{width:2,dash:null},marker:{radius:2.5,fill:null,stroke:"#ffffff",strokeWidth:.5},reference:{color:"#BEBEBE",width:1.5,dash:"2,3"},legend:{position:"top",swatchWidth:12,columns:null},tip:{digits:3},predictionDistribution:{emphasizedTrue:"#009E73",nonEmphasizedTrue:"#F4FFF0",emphasizedFalse:"#FAC8CD",nonEmphasizedFalse:"#FFF7F8",observedPositive:"#4C5454",observedNegative:"#E0E0E0"}};function G$(e){let t=e.theme??{};return{..._r,width:e.width??_r.width,height:e.height??_r.height,background:t.background??_r.background,colors:e.colors??_r.colors,margins:{..._r.margins,...t.margins},frame:{..._r.frame,...t.frame},typography:{..._r.typography,...t.typography},axis:{..._r.axis,...t.axis},line:{..._r.line,...t.line},marker:{..._r.marker,...t.marker},reference:{..._r.reference,...t.reference},legend:{..._r.legend,...t.legend},tip:{..._r.tip,...t.tip},predictionDistribution:{..._r.predictionDistribution,...t.predictionDistribution}}}function Ln(e,t={}){let r=t.allGroups??(typeof e=="number"?Array.from({length:e},(s,c)=>`group-${c+1}`):[...e]),n=G$(t);if(!Number.isFinite(n.width)||n.width<=0||!Number.isFinite(n.height)||n.height<=0)throw new Error("Renderer width and height must be positive finite numbers");if(!Number.isInteger(n.tip.digits)||n.tip.digits<0||n.tip.digits>20)throw new Error("Renderer tip digits must be an integer between 0 and 20");let o=r.length<=1?["#000000"]:[...n.colors];if(o.length1;return{theme:{...n,colors:i},groups:r,colors:i,colorByGroup:new Map(r.map((s,c)=>[s,i[c]])),showLegend:a}}function W6(e){if(!e.operatingPoint)return[];let t=e.operatingPoint.dimension,r=t==="probability_threshold"?e.type==="decision_curve"||e.type==="interventions_avoided"?"threshold":"cutoff":"ppcr";if(t==="probability_threshold"){let n=e.series.map(i=>i.id);if(n.length===0)return[];let o=null;for(let i of n){let s=e.data.filter(u=>u.seriesId===i).map(u=>u[r]).filter(u=>typeof u=="number"&&Number.isFinite(u)),c=new Set(s);if(o===null)o=c;else{let u=o;o=new Set(Array.from(u).filter(f=>c.has(f)))}}return Array.from(o??[]).sort((i,a)=>i-a)}else{let n=e.data.map(i=>i[r]).filter(i=>typeof i=="number"&&Number.isFinite(i));return[...new Set(n)].sort((i,a)=>i-a)}}function B$(e,t){let r=e.series.filter(o=>t.has(o.display.group)),n=new Set(r.map(o=>o.id));return{...e,series:r,data:e.data.filter(o=>n.has(o.seriesId))}}function lf(e,t,r,n,o){let i=Tl(e),a=n;if(i.length<=1)return r(e,t,a,g=>{a=g,o&&o(g)});let s={...t,allGroups:i,showLegend:!1},c=Ln(i,s),{theme:u,colorByGroup:f}=c,p=new Map(e.series.map(g=>[g.display.group,g.display.label])),l=new Set(i),m=document.createElement("div");m.className="rtichoke-legend-chart",m.style.maxWidth=`${u.width}px`;let h=document.createElement("div");h.className="rtichoke-legend",h.style.paddingLeft=`${u.margins.left}px`,h.setAttribute("aria-label","Chart legend");let b=new Map;i.forEach(g=>{let S=document.createElement("button");S.type="button",S.className="rtichoke-legend-item",S.setAttribute("aria-pressed","true");let w=p.get(g)??g;S.setAttribute("aria-label",`Toggle series ${w}`);let _=document.createElement("span");_.className="rtichoke-legend-swatch";let v=document.createElement("span");v.className="rtichoke-legend-line",v.style.backgroundColor=f.get(g)??"#000000",_.append(v);let I=document.createElement("span");I.className="rtichoke-legend-label",I.textContent=w,S.append(_,I),h.append(S),b.set(g,S)});let y=document.createElement("div");y.className="rtichoke-legend-content";let x=()=>{let g=B$(e,l),S=r(g,s,a,w=>{a=w,o&&o(w)});y.replaceChildren(S)};return i.forEach(g=>{let S=b.get(g);S.addEventListener("click",()=>{if(l.has(g)){if(l.size<=1)return;l.delete(g),S.setAttribute("aria-pressed","false")}else l.add(g),S.setAttribute("aria-pressed","true");x()})}),m.append(h,y),x(),m}function Ts(e,t,r,n,o){if(!e.operatingPoint)return r(e,void 0);let i=W6(e);if(i.length===0)return r(e,void 0);let a=Ln(Tl(e),t),{theme:s}=a,c=document.createElement("div");c.className="rtichoke-operating-point-chart",c.style.maxWidth=`${s.width}px`;let u=document.createElement("div");u.className="rtichoke-operating-point-control",u.style.marginLeft=`${s.margins.left}px`,u.style.marginRight=`${s.margins.right}px`;let f=e.operatingPoint.dimension==="probability_threshold"?"Probability threshold":"Predicted positives condition rate (PPCR)",p=e.operatingPoint.dimension==="probability_threshold"?"Probability threshold":"PPCR",l=`rtichoke-v2-slider-${++U$}`,m=document.createElement("label");m.className="rtichoke-operating-point-label",m.htmlFor=l;let h=document.createElement("span");h.textContent=`${p}: `;let b=document.createElement("span");b.className="rtichoke-operating-point-value";let y=document.createElement("input");y.type="range",y.id=l,y.className="rtichoke-operating-point-slider",y.min="0",y.max=String(i.length-1),y.step="1",y.setAttribute("aria-label",f);let x=0;if(n!==void 0){let v=i.indexOf(n);v!==-1&&(x=v)}let g=i[x];y.value=String(x);let S=g.toFixed(s.tip.digits);b.textContent=S,y.setAttribute("aria-valuetext",S),o&&o(g),m.append(h,b),u.append(m,y);let w=document.createElement("div");w.className="rtichoke-operating-point-content";let _=v=>{w.replaceChildren(r(e,v))};return y.addEventListener("input",()=>{let v=Number(y.value),I=i[v],T=I.toFixed(s.tip.digits);b.textContent=T,y.setAttribute("aria-valuetext",T),o&&o(I),_(I)}),c.append(w,u),_(g),c}function z$(e){return new Map(e.series.map(t=>[t.id,t.display]))}function Tl(e){return[...new Set(e.series.map(t=>t.display.group))]}function Gh(e,t){let r=z$(e);return t.map(n=>({...n,group:r.get(n.seriesId).group,label:r.get(n.seriesId).label}))}var K$={true_positives:"TP",true_negatives:"TN",false_positives:"FP",false_negatives:"FN",sensitivity:"Sensitivity",specificity:"Specificity",false_positive_rate:"FPR",ppv:"PPV",npv:"NPV",lift:"Lift",predicted_positives:"Predicted Positives",ppcr:"PPCR",net_benefit:"Net Benefit",net_benefit_interventions_avoided:"Interventions Avoided"},q$=new Set(["true_positives","true_negatives","false_positives","false_negatives","predicted_positives"]);function H$(e,t,r){if(t!=null)return q$.has(e)&&Number.isInteger(t)?String(t):t.toFixed(r)}function Pa(e,t,r,n){if(!e||e.length===0)return[];let o=new Map;for(let a of e)a.estimate!==void 0&&a.estimate!==null&&o.set(a.metricId,a.estimate);let i=[];for(let a of t)if(!(n&&n.has(a))&&o.has(a)){let s=o.get(a),c=K$[a]??a,u=H$(a,s,r);u!==void 0&&i.push([c,u])}return i}function je(e,t){if(e!=null)return typeof e=="number"?e.toFixed(t):String(e)}function Ut(e,t){return t.filter(([,r])=>r!==void 0).map(([r,n])=>`${r}: ${typeof n=="number"?n.toFixed(e):String(n)}`).join(` -`)}function Bh(e,t){let{theme:r}=e,n=new Map(t.series.map(o=>[o.display.group,o.display.label]));return{width:r.width,height:r.height,marginTop:r.margins.top,marginRight:r.margins.right,marginBottom:r.margins.bottom,marginLeft:r.margins.left,style:{background:r.background,color:r.axis.color,fontFamily:r.typography.fontFamily,fontSize:`${r.typography.fontSize}px`},color:{legend:e.showLegend,domain:e.groups,range:e.colors,tickFormat:o=>n.get(o)??o}}}function _a(e,t,r){return{label:t,domain:r,grid:!1,line:!0,ticks:e.axis.ticks,tickSize:e.axis.tickSize,tickPadding:e.axis.tickPadding,tickFormat:e.axis.numberFormat}}function V1(e,t){let r={stroke:t.reference.color,strokeWidth:t.reference.width,strokeDasharray:t.reference.dash},n=[];for(let o of e.references??[])o.type==="identity"?n.push(jt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",...r})):o.type==="horizontal"&&o.value!==void 0?n.push(co([o.value],{...r})):o.type==="path"&&o.points&&n.push(jt(o.points,{x:"x",y:"y",...r}));return n}function zh(e,t){return e}function Y$(e,t,r=40){let n=new Map;for(let i of e){let a=t(i),s=n.get(a);s||(s=[],n.set(a,s)),s.push(i)}let o=[];for(let i of n.values()){let a=i.length;if(a<=r)o.push(...i);else{let s=new Set;for(let c=0;cf.seriesId,40),a=n.theme,s=o?.marker?.radius??a.marker.radius,c=o?.marker?.stroke??a.marker.stroke,u=o?.marker?.strokeWidth??a.marker.strokeWidth;return _s(i,{ariaLabel:"ordinary-point",x:t,y:r,fill:"group",stroke:c,strokeWidth:u,r:s})}function mf(e,t,r,n,o){let i=n.groups.length>1,a=o?.marker?.fill??(i?"group":"#f6e3be"),s=o?.marker?.stroke??"#1a1a1a",c=o?.marker?.strokeWidth??2.5,u=o?.marker?.radius??6;return _s(e,{className:"rtichoke-selected-operating-point",x:t,y:r,fill:a,stroke:s,strokeWidth:c,r:u})}function W$(e,t,r){let n=e/255,o=t/255,i=r/255,a=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4),s=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),c=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4);return .2126*a+.7152*s+.0722*c}function X$(e){let t=sn(e);if(!t)return"#ffffff";let r=t.rgb(),n=W$(r.r,r.g,r.b),o=(1+.05)/(n+.05);return(n+.05)/(0+.05)>=o?"#000000":"#ffffff"}function Ms(e,t){let r=typeof SVGSVGElement<"u"&&e instanceof SVGSVGElement?e:e.querySelector("svg[class^='plot-']")??e.querySelector("svg");if(!r)return;let n=kr(r),o=e.scale?.("x")??r.scale?.("x"),i=e.scale?.("y")??r.scale?.("y");if(!o||!i)return;let a=t.items.filter(y=>Number.isFinite(y.xValue)&&Number.isFinite(y.yValue)).map(y=>({...y,px:o.apply(y.xValue),py:i.apply(y.yValue)})),s=(t.selectedOperatingPointItems??[]).filter(y=>Number.isFinite(y.xValue)&&Number.isFinite(y.yValue)).map(y=>({...y,px:o.apply(y.xValue),py:i.apply(y.yValue)})),c=n.select("g.rtichoke-hover-tooltip");c.empty()&&(c=n.append("g").attr("class","rtichoke-hover-tooltip").style("pointer-events","none").style("display","none"),c.append("path").attr("class","rtichoke-hover-tooltip-arrow"),c.append("rect").attr("class","rtichoke-hover-tooltip-bg"),c.append("text").attr("class","rtichoke-hover-tooltip-text"));let u=c.select("path.rtichoke-hover-tooltip-arrow"),f=c.select("rect.rtichoke-hover-tooltip-bg"),p=c.select("text.rtichoke-hover-tooltip-text");function l(y,x,g,S=!1){let w=x.filter(([,J])=>J!=null);if(w.length===0)return;let _=S||x.length===1&&x[0][0]==="Reference",v=t.tooltipStyle==="light",I=t.tooltipStyle==="plotly",T=v?"#ffffff":_&&!I?"#f3f4f6":g,P=v?"#1f2937":I?_?t.theme.frame.color:"#ffffff":_?"#1f2937":X$(g),R=v?"#d1d5db":I?_?t.theme.frame.color:"#ffffff":_?"#d1d5db":"#374151";p.attr("fill",P).attr("font-family",t.theme.typography.fontFamily).attr("font-size",I?"13px":"11px").attr("transform",null),p.selectAll("tspan").remove(),w.forEach(([J,oe],Q)=>{let fe=p.append("tspan").attr("x","0").attr("dy",Q===0?"1em":I?"1.3em":"1.2em"),O=J!==""&&J!==null&&J!==void 0,L=oe!==""&&oe!==null&&oe!==void 0;O&&L?(fe.append("tspan").attr("font-weight","bold").text(`${J}: `),fe.append("tspan").attr("font-weight","normal").text(String(oe))):O?fe.append("tspan").attr("font-weight","bold").text(String(J)):L&&fe.append("tspan").attr("font-weight","normal").text(String(oe))});let k=p.node();if(!k)return;let N=k.getBBox(),B=8,V=6,C=Math.max(N.width+B*2,60),G=N.height+V*2,[j,H]=ea(y,r),U=r?.viewBox?.baseVal,z=U&&U.width>0?U.width:r?.width?.baseVal?.value||t.theme.width,Y=U&&U.height>0?U.height:r?.height?.baseVal?.value||t.theme.height,X=t.theme.margins,q=j+12;q+C>z-X.right&&(q=j-12-C),qY-X.bottom&&(ae=Y-X.bottom-G),I){let J=q>j?q:q+C;u.attr("d",`M${j},${H} L${J},${H-6} L${J},${H+6} Z`).attr("fill",T).attr("stroke",R).attr("stroke-width",1)}else u.attr("d",null);f.attr("x",q).attr("y",ae).attr("width",C).attr("height",G).attr("fill",T).attr("stroke",R).attr("stroke-width",1).attr("rx",I?0:4).attr("ry",I?0:4).style("filter",I?"none":"drop-shadow(0 2px 4px rgba(0,0,0,0.15))"),p.attr("transform",`translate(${q+B-N.x}, ${ae+V-N.y})`),c.style("display",null)}function m(){c.style("display","none")}let h=n.select("g.rtichoke-hover-targets");h.empty()||h.remove(),h=n.insert("g","g.rtichoke-hover-tooltip").attr("class","rtichoke-hover-targets");for(let y of t.references??[]){let x=y.backgroundColor??"#f3f4f6",g=[["Reference",y.label]];if(y.type==="identity"){let S=y.points&&y.points.length>=2?y.points:[{x:0,y:0},{x:1,y:1}],w=S[0].x,_=S[S.length-1].x,v=S.map((I,T)=>`${T===0?"M":"L"}${o.apply(I.x)},${i.apply(I.y)}`).join(" ");h.append("path").attr("class","rtichoke-hover-ref-target").attr("d",v).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",I=>{if(t.tooltipStyle==="light"||t.tooltipStyle==="plotly"){let[T]=ea(I,r),P=Array.isArray(o.range)?o.range[0]:typeof o.range=="function"?o.range()[0]:t.theme.margins.left,R=Array.isArray(o.range)?o.range[o.range.length-1]:typeof o.range=="function"?o.range()[o.range().length-1]:t.theme.width-t.theme.margins.right,k=t.xDomain?t.xDomain[0]:0,N=t.xDomain?t.xDomain[1]:1,B;if(typeof o.invert=="function")B=o.invert(T);else{let j=R!==P?(T-P)/(R-P):0;B=k+j*(N-k)}let V=Math.max(w,Math.min(_,B)),C=Ps(V),G=[[y.label,""],["Predicted",C],["Observed",C]];l(I,G,x,!0)}else l(I,g,x,!0)}).on("mouseleave pointerleave",m)}else if(y.type==="horizontal"&&y.value!==void 0){let S=i.apply(y.value);h.append("line").attr("class","rtichoke-hover-ref-target").attr("x1",t.theme.margins.left).attr("x2",t.theme.width-t.theme.margins.right).attr("y1",S).attr("y2",S).attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",w=>l(w,g,x,!0)).on("mouseleave pointerleave",m)}else if(y.type==="path"&&y.points&&y.points.length>0){let S=y.points.map((w,_)=>`${_===0?"M":"L"}${o.apply(w.x)},${i.apply(w.y)}`).join(" ");h.append("path").attr("class","rtichoke-hover-ref-target").attr("d",S).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",w=>l(w,g,x,!0)).on("mouseleave pointerleave",m)}}let b=new Map;for(let y of a){let x=b.get(y.seriesId);x||(x=[],b.set(y.seriesId,x)),x.push(y)}for(let y of b.values()){if(y.length<2)continue;let x=y.map((g,S)=>`${S===0?"M":"L"}${g.px},${g.py}`).join(" ");h.append("path").attr("class","rtichoke-hover-line-target").attr("d",x).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",g=>{let[S,w]=ea(g,r),_=1/0,v=y[0];for(let I of y){let T=I.px-S,P=I.py-w,R=T*T+P*P;R<_&&(_=R,v=I)}l(g,v.tooltipFields,v.backgroundColor)}).on("mouseleave pointerleave",m)}for(let y of a)h.append("circle").attr("class","rtichoke-hover-point-target").attr("cx",y.px).attr("cy",y.py).attr("r",8).attr("fill","transparent").style("pointer-events","all").on("pointermove",x=>l(x,y.tooltipFields,y.backgroundColor)).on("mouseleave pointerleave",m);for(let y of s)h.append("circle").attr("class","rtichoke-hover-op-target").attr("cx",y.px).attr("cy",y.py).attr("r",10).attr("fill","transparent").style("pointer-events","all").on("pointermove",x=>l(x,y.tooltipFields,y.backgroundColor)).on("mouseleave pointerleave",m);n.on("mouseleave pointerleave",m)}var Z$=100;function Ps(e){if(!Number.isFinite(e))return String(e);let t=Math.round(e*1e3)/1e3;return String(t)}function H6(e,t){let r=e.filter(Number.isFinite);if(r.length===0)return[...t];let n=Math.min(...r),o=Math.max(...r),i=Math.abs(t[1]-t[0]),s=(o-n||i||1)*.05;return[n-s,o+s]}function Q$(e,t){let r=e.data.map(o=>o.predicted),n=e.data.map(o=>o.observed);for(let o of e.distribution??[])r.push(o.midpoint-o.binWidth/2),r.push(o.midpoint+o.binWidth/2);for(let o of e.references??[])if(o.type==="identity")r.push(0,1),n.push(0,1);else if(o.type==="horizontal"&&o.value!==void 0)n.push(o.value);else if(o.type==="path")for(let i of o.points??[])r.push(i.x),n.push(i.y);return{x:H6(r,t.x),y:H6(n,t.y)}}function L1(e,t,r=[0,1],n=[0,1],o){let i=e-t.left-t.right,a=Math.abs(r[1]-r[0]),s=Math.abs(n[1]-n[0]),c=Number.isFinite(a)&&a>0?a:1,u=Number.isFinite(s)&&s>0?s:1,f=i*(u/c),p=o??t.bottom;return Math.round(t.top+f+p)}function Ho(e,t){let r=qo(e);for(let n of r.querySelectorAll('[aria-label$="axis label"] text'))n.style.fontSize=`${t.typography.axisTitleSize}px`,n.style.fontWeight=String(t.typography.axisTitleWeight);for(let n of r.querySelectorAll('[aria-label="frame"]'))n.setAttribute("stroke",t.frame.color);if(r instanceof HTMLElement){r.style.fontSize=`${t.typography.legendSize}px`;for(let n of r.querySelectorAll('svg[width="15"], div[class*="-swatches"] svg'))n.setAttribute("width",String(t.legend.swatchWidth)),n.setAttribute("height","10")}return r}var J$=["sensitivity","specificity","false_positive_rate","ppv","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],eD=["sensitivity","ppv","specificity","false_positive_rate","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],tD=["sensitivity","specificity","false_positive_rate","ppv","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],rD=["lift","sensitivity","specificity","false_positive_rate","ppv","npv","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"];function nD(e,t={},r){si(e);let n=Ln(Tl(e),t),{theme:o,colorByGroup:i}=n,a=e.operatingPoint?.dimension,s=Gh(e,e.data).map(x=>{let g=1-x.specificity,S=[["Series",x.label]];return a==="ppcr"?(x.ppcr!==void 0&&S.push(["PPCR",je(x.ppcr,o.tip.digits)]),S.push(["Cutoff",je(x.cutoff,o.tip.digits)])):(S.push(["Cutoff",je(x.cutoff,o.tip.digits)]),x.ppcr!==void 0&&S.push(["PPCR",je(x.ppcr,o.tip.digits)])),x.performance&&x.performance.length>0?S.push(["Sensitivity",je(x.sensitivity,o.tip.digits)],["Specificity",je(x.specificity,o.tip.digits)],["FPR",je(g,o.tip.digits)],...Pa(x.performance,J$,o.tip.digits,new Set(["sensitivity","specificity","false_positive_rate"]))):S.push(["Sensitivity",je(x.sensitivity,o.tip.digits)],["Specificity",je(x.specificity,o.tip.digits)],["False Positive Rate",je(g,o.tip.digits)]),{...x,false_positive_rate:g,tooltipFields:S,title:Ut(o.tip.digits,S)}}),c=V1(e,o);c.push(jt(s,{x:"false_positive_rate",y:"sensitivity",z:"seriesId",stroke:"group",strokeWidth:o.line.width,strokeDasharray:o.line.dash??void 0}),pf(s,"false_positive_rate","sensitivity",n,t.theme));let u=[];if(r!==void 0&&e.operatingPoint){let x=e.operatingPoint.dimension==="probability_threshold"?"cutoff":"ppcr";u=s.filter(g=>g[x]===r),u.length>0&&c.push(mf(u,"false_positive_rate","sensitivity",n,t.theme))}let f=e.xAxis.domain??[0,1],p=e.yAxis.domain??[0,1],l=L1(o.width,o.margins,f,p),m=Ho({...Bh(n,e),height:l,x:_a(o,e.xAxis.label,f),y:_a(o,e.yAxis.label,p),marks:zh(c,o)},o),h=s.map(x=>({seriesId:x.seriesId,group:x.group,xValue:x.false_positive_rate,yValue:x.sensitivity,tooltipFields:x.tooltipFields,backgroundColor:i.get(x.group)??"#1b9e77"})),b=u.map(x=>({seriesId:x.seriesId,group:x.group,xValue:x.false_positive_rate,yValue:x.sensitivity,tooltipFields:x.tooltipFields,backgroundColor:i.get(x.group)??"#1b9e77"})),y=[];for(let x of e.references??[]){let g=x.label??(x.type==="identity"?"Identity":"Reference");x.type==="identity"?y.push({type:"identity",points:[{x:0,y:0},{x:1,y:1}],label:g}):x.type==="horizontal"&&x.value!==void 0?y.push({type:"horizontal",value:x.value,label:g}):x.type==="path"&&x.points&&y.push({type:"path",points:x.points,label:g})}return Ms(m,{items:h,selectedOperatingPointItems:b,references:y,theme:o}),m}function j1(e,t={}){return lf(e,t,(r,n,o,i)=>df(r,(a,s,c)=>Ts(a,n,(u,f)=>nD(u,n,f),s,c),o,i))}function oD(e,t,r){let n=typeof SVGSVGElement<"u"&&e instanceof SVGSVGElement?e:e.querySelector("svg[class^='plot-']")??e.querySelector("svg");if(!n)return;let o=kr(n),i=e.scale?.("x")??n.scale?.("x");if(!i)return;let a=o.select("g.rtichoke-hover-tooltip");a.empty()&&(a=o.append("g").attr("class","rtichoke-hover-tooltip").style("pointer-events","none").style("display","none"),a.append("path").attr("class","rtichoke-hover-tooltip-arrow"),a.append("rect").attr("class","rtichoke-hover-tooltip-bg"),a.append("text").attr("class","rtichoke-hover-tooltip-text"));let s=a.select("path.rtichoke-hover-tooltip-arrow"),c=a.select("rect.rtichoke-hover-tooltip-bg"),u=a.select("text.rtichoke-hover-tooltip-text");function f(b,y,x){let g=y.filter(([,H])=>H!=null);if(g.length===0)return;u.attr("fill","#ffffff").attr("font-family",r.theme.typography.fontFamily).attr("font-size","13px").attr("transform",null),u.selectAll("tspan").remove(),g.forEach(([H,U],z)=>{let Y=u.append("tspan").attr("x","0").attr("dy",z===0?"1em":"1.2em"),X=H!==""&&H!==null&&H!==void 0,q=U!==""&&U!==null&&U!==void 0;X&&q?(Y.append("tspan").attr("font-weight","bold").text(`${H}: `),Y.append("tspan").attr("font-weight","normal").text(String(U))):X?Y.append("tspan").attr("font-weight","bold").text(String(H)):q&&Y.append("tspan").attr("font-weight","normal").text(String(U))});let S=u.node();if(!S)return;let w=S.getBBox(),_=8,v=6,I=Math.max(w.width+_*2,60),T=w.height+v*2,[P,R]=ea(b,n),k=n?.viewBox?.baseVal,N=k&&k.width>0?k.width:n?.width?.baseVal?.value||r.theme.width,B=k&&k.height>0?k.height:n?.height?.baseVal?.value||r.theme.height,V=r.theme.margins,C=P+12;C+I>N-V.right&&(C=P-12-I),CB-V.bottom&&(G=B-V.bottom-T);let j=C>P?C:C+I;s.attr("d",`M${P},${R} L${j},${R-6} L${j},${R+6} Z`).attr("fill",x).attr("stroke","#ffffff").attr("stroke-width",1),c.attr("x",C).attr("y",G).attr("width",I).attr("height",T).attr("fill",x).attr("stroke","#ffffff").attr("stroke-width",1).attr("rx",0).attr("ry",0).style("filter",null),u.attr("transform",`translate(${C+_-w.x}, ${G+v-w.y})`),a.style("display",null)}function p(){a.style("display","none")}let l=o.select("g.rtichoke-hover-targets");l.empty()||l.remove(),l=o.insert("g","g.rtichoke-hover-tooltip").attr("class","rtichoke-hover-targets");let m=e.scale?.("y")??n.scale?.("y"),h=[...t].sort((b,y)=>y.count-b.count);for(let b of h){if(b.count<=0)continue;let y=b.midpoint-b.binWidth/2,x=b.midpoint+b.binWidth/2,g=Math.abs(y)<1e-9?0:y,S=Math.abs(x)<1e-9?0:x,w=Ps(g),_=Ps(S),v=g<=0?`[0,${_}]`:`( ${w} , ${_} ]`,I=`${b.count} observations in ${v}`,T=[];r.groupCount>1&&T.push([b.label,""]),T.push(["",I]);let P=i.apply(y),R=i.apply(x),k=Math.min(P,R),N=Math.max(Math.abs(R-P),2),B=0,V=r.height??r.theme.height;if(m){let C=m.apply(0),G=m.apply(b.count);B=Math.min(C,G),V=Math.max(Math.abs(C-G),4)}l.append("rect").attr("class","rtichoke-hover-hist-target").attr("x",k).attr("width",N).attr("y",B).attr("height",V).attr("fill","transparent").style("pointer-events","all").on("pointermove",C=>f(C,T,r.colorByGroup.get(b.group)??"#1b9e77")).on("mouseleave pointerleave",p)}o.on("mouseleave pointerleave",p)}function iD(e,t,r,n){si(e);let o=Ln(Tl(e),t),{theme:i,colorByGroup:a}=o,s=Gh(e,e.data).map(P=>{let R=[];o.groups.length>1&&R.push([P.label,""]);let k=Ps(P.predicted),N=Ps(P.observed);if(P.method==="discrete"&&P.events!==void 0&&P.total!==void 0){let B=Number.isInteger(P.events)?String(P.events):Ps(P.events),V=Number.isInteger(P.total)?String(P.total):Ps(P.total);N+=` ( ${B} / ${V} )`}return R.push(["Predicted",k]),R.push(["Observed",N]),{...P,tooltipFields:R}}),c=V1(e,i);c.push(jt(s,{x:"predicted",y:"observed",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}));let u=s.filter(P=>P.method==="discrete");u.length>0&&c.push(_s(u,{x:"predicted",y:"observed",fill:i.marker.fill??"group",stroke:i.marker.stroke,strokeWidth:i.marker.strokeWidth,r:i.marker.radius}));let f=(e.distribution?.length??0)>0,p=n.y,l=n.x,m,h=Z$,b=i,y=f?8:i.margins.bottom,x=i.margins.bottom;if(r){x=40;let N=19.4;h=Math.round(87.3+x);let V=378.3;y=Math.round(N);let C=550,G=Math.max(50,C-40),j=Math.max(50,V),H=Math.abs(l[1]-l[0])||1,U=Math.abs(p[1]-p[0])||1,z=Math.min(G/H,j/U),Y=H*z,X=U*z,q=Math.max(10,(C-Y)/2),ae=Math.max(10,C-Y-q),J=Math.max(0,V-X),oe=25+J/2;y=Math.round(N)+J/2,m=550-h,b={...i,width:C,margins:{top:oe,left:q,right:ae,bottom:y}}}else f?(y=8,m=L1(i.width,i.margins,l,p,y)):m=L1(i.width,i.margins,l,p,i.margins.bottom);let g={...o,theme:b},S=Ho({...Bh(g,e),height:m,marginBottom:y,x:f?{..._a(b,e.xAxis.label,l),axis:null,label:null}:_a(b,e.xAxis.label,l),y:_a(b,e.yAxis.label,p),marks:zh(c,b)},b);S.style.cursor="crosshair";let w=s.map(P=>({seriesId:P.seriesId,group:P.group,xValue:P.predicted,yValue:P.observed,tooltipFields:P.tooltipFields,backgroundColor:a.get(P.group)??"#1b9e77"})),_=[];for(let P of e.references??[]){let R=P.label&&P.label!=="Identity"?P.label:P.type==="identity"?"Perfectly Calibrated":"Reference";if(P.type==="identity"){let k=Math.max(0,Math.min(l[0],l[1]),Math.min(p[0],p[1])),N=Math.min(1,Math.max(l[0],l[1]),Math.max(p[0],p[1]));k<=N&&_.push({type:"identity",points:[{x:k,y:k},{x:N,y:N}],label:R,backgroundColor:b.reference.color})}else P.type==="horizontal"&&P.value!==void 0?_.push({type:"horizontal",value:P.value,label:R,backgroundColor:b.reference.color}):P.type==="path"&&P.points&&_.push({type:"path",points:P.points,label:R,backgroundColor:b.reference.color})}if(Ms(S,{items:w,references:_,theme:b,tooltipStyle:"plotly",xDomain:l,yDomain:p}),!f||!e.distribution)return S;let v=Gh(e,e.distribution),I=Ho({...Bh(g,e),height:h,marginTop:0,marginBottom:x,x:_a(b,e.xAxis.label,l),y:{label:null,grid:!1,ticks:3,tickSize:b.axis.tickSize,tickPadding:b.axis.tickPadding},color:{legend:!1,domain:o.groups,range:o.colors},marks:zh([Fi(v,{x1:P=>P.midpoint-P.binWidth/2,x2:P=>P.midpoint+P.binWidth/2,y:"count",fill:"group",fillOpacity:1/Math.max(o.groups.length,1)})],b)},b);I.style.cursor="crosshair",oD(I,v,{theme:b,xDomain:l,groupCount:o.groups.length,colorByGroup:a,height:h});let T=document.createElement("div");return T.className="rtichoke-calibration",T.style.width=`${b.width}px`,T.style.maxWidth="100%",T.append(S,I),T}function X6(e,t,r){let n=e.data.map(s=>s.observed).filter(Number.isFinite),o={x:e.xAxis.domain??[0,1],y:e.yAxis.domain??[Math.min(0,...n),Math.max(1,...n)]},i=Q$(e,o),a=s=>{let c=iD(e,t,r,s?i:o);return c.dataset.calibrationZoom=s?"autorange":"configured",c.addEventListener("dblclick",u=>{u.preventDefault();let f=a(!s);c.replaceWith(f)}),c};return a(!1)}function aD(e,t={}){return X6(e,t,!1)}function Z6(e){return X6(e,{},!0)}function sD(e,t,r,n,o){si(e);let i=Ln(Tl(e),t),{theme:a,colorByGroup:s}=i,c=e.operatingPoint?.dimension,u=Gh(e,e.data).map(y=>{let x=y,g=[["Series",y.label]];return e.type==="precision_recall"?(c==="ppcr"?(x.ppcr!==void 0&&g.push(["PPCR",je(x.ppcr,a.tip.digits)]),g.push(["Cutoff",je(x.cutoff,a.tip.digits)])):(g.push(["Cutoff",je(x.cutoff,a.tip.digits)]),x.ppcr!==void 0&&g.push(["PPCR",je(x.ppcr,a.tip.digits)])),g.push(["Sensitivity",je(x.sensitivity,a.tip.digits)],["PPV",je(x.ppv,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...Pa(x.performance,eD,a.tip.digits,new Set(["sensitivity","ppv"])))):e.type==="gains"?(c==="probability_threshold"?(g.push(["Cutoff",je(x.cutoff,a.tip.digits)]),g.push(["PPCR",je(x.ppcr,a.tip.digits)])):(g.push(["PPCR",je(x.ppcr,a.tip.digits)]),g.push(["Cutoff",je(x.cutoff,a.tip.digits)])),g.push(["Sensitivity",je(x.sensitivity,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...Pa(x.performance,tD,a.tip.digits,new Set(["sensitivity"])))):e.type==="lift"&&(c==="probability_threshold"?(g.push(["Cutoff",je(x.cutoff,a.tip.digits)]),g.push(["PPCR",je(x.ppcr,a.tip.digits)])):(g.push(["PPCR",je(x.ppcr,a.tip.digits)]),g.push(["Cutoff",je(x.cutoff,a.tip.digits)])),g.push(["Lift",je(x.lift,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...Pa(x.performance,rD,a.tip.digits,new Set(["lift"])))),{...y,tooltipFields:g,title:Ut(a.tip.digits,g)}}),f=V1(e,a);f.push(jt(u,{x:r,y:n,z:"seriesId",stroke:"group",strokeWidth:a.line.width,strokeDasharray:a.line.dash??void 0}),pf(u,r,n,i,t.theme));let p=[];if(o!==void 0&&e.operatingPoint){let x=e.operatingPoint.dimension==="probability_threshold"?"cutoff":"ppcr";p=u.filter(g=>g[x]===o),p.length>0&&f.push(mf(p,r,n,i,t.theme))}let l=Ho({...Bh(i,e),x:_a(a,e.xAxis.label,e.xAxis.domain),y:_a(a,e.yAxis.label,e.yAxis.domain),marks:zh(f,a)},a),m=u.map(y=>({seriesId:y.seriesId,group:y.group,xValue:Number(y[r]),yValue:Number(y[n]),tooltipFields:y.tooltipFields,backgroundColor:s.get(y.group)??"#1b9e77"})),h=p.map(y=>({seriesId:y.seriesId,group:y.group,xValue:Number(y[r]),yValue:Number(y[n]),tooltipFields:y.tooltipFields,backgroundColor:s.get(y.group)??"#1b9e77"})),b=[];for(let y of e.references??[]){let x=y.label??(y.type==="identity"?"Identity":"Reference");y.type==="identity"?b.push({type:"identity",points:[{x:0,y:0},{x:1,y:1}],label:x}):y.type==="horizontal"&&y.value!==void 0?b.push({type:"horizontal",value:y.value,label:x}):y.type==="path"&&y.points&&b.push({type:"path",points:y.points,label:x})}return Ms(l,{items:m,selectedOperatingPointItems:h,references:b,theme:a}),l}function cD(e){return[...new Set(e.series.map(t=>t.horizon).filter(t=>t!==void 0))]}function fD(e,t){let r=e.series.filter(o=>o.horizon===void 0||o.horizon===t),n=new Set(r.map(o=>o.id));return{...e,series:r,data:e.data.filter(o=>n.has(o.seriesId)),references:e.references?.filter(o=>o.scope!=="population_horizon"||o.horizon===t)}}function df(e,t,r,n){let o=cD(e);if(o.length<=1)return t(e,r,n);let i=r,a=document.createElement("div");a.className="rtichoke-horizon-chart";let s=document.createElement("label");s.className="rtichoke-horizon-control",s.textContent="Fixed Time Horizon: ";let c=document.createElement("select");c.className="rtichoke-horizon-select",c.setAttribute("aria-label","Fixed Time Horizon");for(let p of o){let l=document.createElement("option");l.value=String(p),l.textContent=String(p),c.append(l)}s.append(c);let u=document.createElement("div"),f=p=>{u.replaceChildren(t(fD(e,p),i,l=>{i=l,n&&n(l)}))};return c.addEventListener("change",()=>f(Number(c.value))),a.append(s,u),f(o[0]),a}function U1(e,t,r,n){return lf(e,t,(o,i,a,s)=>df(o,(c,u,f)=>Ts(c,i,(p,l)=>sD(p,i,r,n,l),u,f),a,s))}function G1(e,t={}){return U1(e,t,"sensitivity","ppv")}function B1(e,t={}){return U1(e,t,"ppcr","sensitivity")}function z1(e,t={}){return U1(e,t,"ppcr","lift")}var uD=["net_benefit","ppcr","sensitivity","specificity","false_positive_rate","ppv","npv","lift","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"];function K1(e,t={}){return si(e),lf(e,t,(r,n,o,i)=>df(r,(a,s,c)=>Ts(a,n,(u,f)=>lD(u,n,f),s,c),o,i))}function lD(e,t,r){let n=[...new Set(e.series.map(g=>g.display.group))],o=Ln(n,{...t,showLegend:!1}),{theme:i,colorByGroup:a}=o,s=new Map(e.series.map(g=>[g.id,g.display])),c=new Map(e.series.map(g=>[g.display.group,g.display.label])),u=e.data.map(g=>{let S=[["Series",s.get(g.seriesId).label],["Threshold",je(g.threshold,i.tip.digits)],["Net Benefit",je(g.netBenefit,i.tip.digits)]];return g.performance&&g.performance.length>0&&S.push(...Pa(g.performance,uD,i.tip.digits,new Set(["net_benefit"]))),{...g,group:s.get(g.seriesId).group,label:s.get(g.seriesId).label,tooltipFields:S,title:Ut(i.tip.digits,S)}}),f={stroke:i.reference.color,strokeWidth:i.reference.width,strokeDasharray:i.reference.dash},p=[];for(let g of e.references)g.benchmark==="treat_none"?p.push(co([0],{...f})):p.push(jt(g.points,{x:"x",y:"y",...f}));p.push(jt(u,{x:"threshold",y:"netBenefit",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}),pf(u,"threshold","netBenefit",o,t.theme));let l=[];r!==void 0&&e.operatingPoint&&(l=u.filter(g=>g.threshold===r),l.length>0&&p.push(mf(l,"threshold","netBenefit",o,t.theme)));let m=(g,S)=>({label:g,domain:S,grid:!1,line:!0,ticks:i.axis.ticks,tickSize:i.axis.tickSize,tickPadding:i.axis.tickPadding,tickFormat:i.axis.numberFormat}),h=Ho({width:i.width,height:i.height,marginTop:i.margins.top,marginRight:i.margins.right,marginBottom:i.margins.bottom,marginLeft:i.margins.left,style:{background:i.background,color:i.axis.color,fontFamily:i.typography.fontFamily,fontSize:`${i.typography.fontSize}px`},color:{legend:o.showLegend,domain:o.groups,range:o.colors,tickFormat:g=>c.get(g)??g},x:m(e.xAxis.label,e.xAxis.domain),y:m(e.yAxis.label,e.yAxis.domain),marks:p},i),b=u.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.netBenefit,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),y=l.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.netBenefit,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),x=e.references.map(g=>{if(g.type==="horizontal"){let S=g.label??"Treat None";return{type:"horizontal",value:g.value,label:S}}else if(g.type==="path"){let S=g.population?`Treat All \u2014 ${g.population}`:"Treat All",w=g.label??S;return{type:"path",points:g.points,label:w}}return{type:"horizontal",value:0,label:g.label??"Reference"}});return Ms(h,{items:b,selectedOperatingPointItems:y,references:x,theme:i}),h}var pD=["net_benefit_interventions_avoided","net_benefit","predicted_positives","ppcr","true_negatives","false_negatives"];function q1(e,t={}){return si(e),lf(e,t,(r,n,o,i)=>df(r,(a,s,c)=>Ts(a,n,(u,f)=>mD(u,n,f),s,c),o,i))}function mD(e,t,r){let n=[...new Set(e.series.map(g=>g.display.group))],o=Ln(n,{...t,showLegend:!1}),{theme:i,colorByGroup:a}=o,s=new Map(e.series.map(g=>[g.id,g.display])),c=new Map(e.series.map(g=>[g.display.group,g.display.label])),u=e.data.map(g=>{let S=[["Series",s.get(g.seriesId).label],["Threshold",je(g.threshold,i.tip.digits)],["Interventions Avoided",je(g.interventionsAvoided,i.tip.digits)]];return g.performance&&g.performance.length>0&&S.push(...Pa(g.performance,pD,i.tip.digits,new Set(["net_benefit_interventions_avoided"]))),{...g,group:s.get(g.seriesId).group,label:s.get(g.seriesId).label,tooltipFields:S,title:Ut(i.tip.digits,S)}}),f={stroke:i.reference.color,strokeWidth:i.reference.width,strokeDasharray:i.reference.dash},p=[];for(let g of e.references)g.benchmark==="treat_all"?p.push(co([0],{...f})):p.push(jt(g.points,{x:"x",y:"y",...f}));p.push(jt(u,{x:"threshold",y:"interventionsAvoided",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}),pf(u,"threshold","interventionsAvoided",o,t.theme));let l=[];r!==void 0&&e.operatingPoint&&(l=u.filter(g=>g.threshold===r),l.length>0&&p.push(mf(l,"threshold","interventionsAvoided",o,t.theme)));let m=(g,S)=>({label:g,domain:S,grid:!1,line:!0,ticks:i.axis.ticks,tickSize:i.axis.tickSize,tickPadding:i.axis.tickPadding,tickFormat:i.axis.numberFormat}),h=Ho({width:i.width,height:i.height,marginTop:i.margins.top,marginRight:i.margins.right,marginBottom:i.margins.bottom,marginLeft:i.margins.left,style:{background:i.background,color:i.axis.color,fontFamily:i.typography.fontFamily,fontSize:`${i.typography.fontSize}px`},color:{legend:o.showLegend,domain:o.groups,range:o.colors,tickFormat:g=>c.get(g)??g},x:m(e.xAxis.label,e.xAxis.domain),y:m(e.yAxis.label,e.yAxis.domain),marks:p},i),b=u.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.interventionsAvoided,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),y=l.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.interventionsAvoided,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),x=e.references.map(g=>{if(g.type==="horizontal"){let S=g.label??"Treat All";return{type:"horizontal",value:g.value,label:S}}else if(g.type==="path"){let S=g.population?`Treat None \u2014 ${g.population}`:"Treat None",w=g.label??S;return{type:"path",points:g.points,label:w}}return{type:"horizontal",value:0,label:g.label??"Reference"}});return Ms(h,{items:b,selectedOperatingPointItems:y,references:x,theme:i}),h}var Yr="\u2014",Kh=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"],dD=[{id:"sensitivity",defaultLabel:"Sensitivity"},{id:"specificity",defaultLabel:"Specificity"},{id:"ppv",defaultLabel:"PPV"},{id:"npv",defaultLabel:"NPV"},{id:"lift",defaultLabel:"Lift"},{id:"net_benefit",defaultLabel:"Net Benefit"}];function fo(e,t,r,n){let o=e.createElement("td"),i=e.createElement("span");if(i.className="rtichoke-performance-table__cell-text",n){let s=e.createElement("span");s.className="rtichoke-performance-table__badge",s.setAttribute("aria-hidden","true"),s.style.backgroundColor=n,i.append(s)}let a=e.createTextNode(t);return i.append(a),o.append(i),r&&(o.className=r),o}function xt(e,t,r){let n=e.createElement("th");return n.scope=r?.scope??"col",r?.colSpan&&(n.colSpan=r.colSpan),r?.rowSpan&&(n.rowSpan=r.rowSpan),n.textContent=t,r?.className&&(n.className=r.className),r?.ariaLabel&&n.setAttribute("aria-label",r.ariaLabel),n}function hD(e){let t=new Map(e.map(a=>[a.metricId,a.estimate])),r=t.get("true_positives"),n=t.get("true_negatives"),o=t.get("false_positives"),i=t.get("false_negatives");return r==null||isNaN(r)||n===void 0||n===null||isNaN(n)||o===void 0||o===null||isNaN(o)||i===void 0||i===null||isNaN(i)?null:{tp:r,tn:n,fp:o,fn:i}}function Ta(e,t,r,n){let o=e.createElement("td");o.className=n;let i=e.createElement("span");i.className="rtichoke-performance-table__confusion-val",i.textContent=qh(t);let a=e.createElement("span");if(a.className="rtichoke-performance-table__confusion-pct",r>0&&!isNaN(t)&&!isNaN(r)){let s=t/r*100;a.textContent=`${s.toFixed(2)}%`}else a.textContent=Yr;return o.append(i,a),o}var gD=0;function Q6(e){return e.split("_").map((t,r)=>r===0?t.charAt(0).toUpperCase()+t.slice(1):t).join(" ")}function qh(e){return Number.isInteger(e)?e.toString():new Intl.NumberFormat("en-US",{maximumFractionDigits:2}).format(e)}function yD(e){return e.toFixed(2)}function bD(e){if(e.length<=1)return 2;let t=2;for(;t<=6;){let r=e.map(o=>o.toFixed(t));if(new Set(r).size===new Set(e).size)return t;t++}return t}function xD(e,t){if(!e||e.estimate===null||e.estimate===void 0||isNaN(e.estimate))return Yr;let r=t(e.estimate);if(e.lower===void 0&&e.upper===void 0)return r;let n=e.lower===void 0||e.lower===null||isNaN(e.lower)?Yr:t(e.lower),o=e.upper===void 0||e.upper===null||isNaN(e.upper)?Yr:t(e.upper);return`${r} [${n}, ${o}]`}function Ml(e,t,r,n=!1,o=!1,i="positive"){if(isNaN(r)||!isFinite(r))return;let a=t.createElement("div");a.className="rtichoke-performance-table__bar";let s=t.createElement("div");if(s.className="rtichoke-performance-table__bar-fill",n){let c=Math.min(Math.max(r,0),50);s.style.width=`${c}%`,o?(s.classList.add("rtichoke-performance-table__bar-fill--negative"),s.style.right="50%",s.style.left="auto"):(s.classList.add("rtichoke-performance-table__bar-fill--positive"),s.style.left="50%",s.style.right="auto")}else{let c=Math.min(Math.max(r,0),100);s.style.width=`${c}%`,i==="neutral"?s.classList.add("rtichoke-performance-table__bar-fill--neutral"):s.classList.add("rtichoke-performance-table__bar-fill--positive")}a.append(s),e.append(a)}function H1(e,t=globalThis.document){ky(e);let r=t.createElement("div");if(r.className="rtichoke-performance-table",e.title){let O=t.createElement("div");O.className="rtichoke-performance-table__title",O.textContent=e.title,r.append(O)}let n=t.createElement("div");n.className="rtichoke-performance-table__scroll";let o=t.createElement("table");o.className="rtichoke-performance-table__table";let i=new Map(e.evaluations.map(O=>[O.id,O])),a=new Set(e.evaluations.map(O=>O.model).filter(Boolean)),s=new Set(e.evaluations.map(O=>O.population).filter(Boolean)),c=a.size>1,u=s.size>1,f=c,p=u||!c&&a.size===0&&s.size>1,l=new Map,m=0;for(let O of e.evaluations)O.model&&!l.has(O.model)&&(l.set(O.model,Kh[m%Kh.length]),m++);let h=new Map,b=0;for(let O of e.evaluations)O.population&&!h.has(O.population)&&(h.set(O.population,Kh[b%Kh.length]),b++);let y=e.evaluations.some(O=>O.label?!!(c&&O.label!==O.model||u&&O.label!==O.population||!c&&!u&&O.label!==O.model&&O.label!==O.population):!1),x=e.rows.some(O=>O.horizon!==void 0),g=e.rows.some(O=>O.context?.censoringHeuristic!==void 0),S=e.rows.some(O=>O.context?.competingEventHeuristic!==void 0),w=new Set(e.rows.map(O=>O.operatingPoint.type)),_=w.size===1&&w.has("probability_threshold"),v=w.size===1&&w.has("ppcr"),I=new Set(e.metrics.map(O=>O.id)),T=I.has("predicted_positives"),P=I.has("ppcr"),R=T&&(P||v),k=_||!v&&w.has("probability_threshold"),N=R,B=v&&!R,V=!_&&!v&&!R,C=e.rows.filter(O=>O.operatingPoint.type==="probability_threshold").map(O=>O.operatingPoint.value),G=bD(C),j=dD.map(O=>{let L=e.metrics.find(K=>K.id===O.id);return L?{id:L.id,label:L.label||O.defaultLabel}:null}).filter(O=>O!==null),H=new Set,U=j.filter(O=>H.has(O.label)?!1:(H.add(O.label),!0)),z=0,Y=0;for(let O of e.rows)for(let L of O.values)if(L.metricId==="lift"&&L.estimate!==null&&L.estimate!==void 0&&isFinite(L.estimate)&&L.estimate>z&&(z=L.estimate),L.metricId==="net_benefit"&&L.estimate!==null&&L.estimate!==void 0&&isFinite(L.estimate)){let K=Math.abs(L.estimate);K>Y&&(Y=K)}let X=++gD,q=t.createElement("thead");q.className="rtichoke-performance-table__header";let ae=t.createElement("tr"),J=t.createElement("tr"),oe=1;if(J.append(xt(t,"",{ariaLabel:"Row details",className:"rtichoke-performance-table__toggle-header"})),f&&(oe++,J.append(xt(t,"Model"))),p&&(oe++,J.append(xt(t,"Population"))),y&&(oe++,J.append(xt(t,"Evaluation"))),k&&(oe++,J.append(xt(t,"Probability Threshold"))),N&&(oe++,J.append(xt(t,"Predicted Positives"))),B&&(oe++,J.append(xt(t,"PPCR"))),V&&(oe++,J.append(xt(t,"Operating Point"))),x&&(oe++,J.append(xt(t,"Time Horizon"))),g&&(oe++,J.append(xt(t,"Censoring"))),S&&(oe++,J.append(xt(t,"Competing Event"))),U.length>0){let O=xt(t,"",{colSpan:oe,className:"rtichoke-performance-table__spanner--empty"});ae.append(O)}if(U.length>0){let O=xt(t,"Performance Metrics",{colSpan:U.length,className:"rtichoke-performance-table__spanner"});ae.append(O);for(let L of U)J.append(xt(t,L.label,{className:"rtichoke-performance-table__metric-header"}))}q.append(ae),q.append(J),o.append(q);let Q=oe+U.length,fe=t.createElement("tbody");for(let O=0;O0?"100.00%":Yr,we.append(Dt,Fr),Ie.append(we),hn.append(Ie),Bt.append(hn),ht.append(Bt),he.append(ht),Me.append(he),te.addEventListener("click",()=>{if(!Me)return;let ir=te.getAttribute("aria-expanded")==="true";te.setAttribute("aria-expanded",ir?"false":"true"),te.setAttribute("aria-label",ir?"Show confusion matrix detail":"Hide confusion matrix detail"),te.textContent=ir?"\u25B8":"\u25BE",Me.hidden=ir})}if(A.append(Te),f){let te=K?.model??Yr,he=K?.model?l.get(K.model):void 0;A.append(fo(t,te,"rtichoke-performance-table__model",he))}if(p){let te=K?.population??Yr,he=K?.population?h.get(K.population):void 0;A.append(fo(t,te,"rtichoke-performance-table__population",he))}y&&A.append(fo(t,K?.label??K?.id??Yr,"rtichoke-performance-table__evaluation"));let rt=new Map(L.values.map(te=>[te.metricId,te]));if(k){let te=L.operatingPoint.type==="probability_threshold"?L.operatingPoint.value:void 0,he=te!==void 0?te.toFixed(G):Yr;A.append(fo(t,he,"rtichoke-performance-table__op"))}if(N){let te=rt.get("predicted_positives")?.estimate,he=rt.get("ppcr")?.estimate??(L.operatingPoint.type==="ppcr"?L.operatingPoint.value:void 0),ht=Yr,or=NaN;if(te!=null&&he!==void 0&&he!==null){let Bt=qh(te),Wo=(he*100).toFixed(2);ht=`${Bt} (${Wo}%)`,or=he*100}else he!=null&&(ht=`${(he*100).toFixed(2)}%`,or=he*100);let $t=fo(t,ht,"rtichoke-performance-table__op");isNaN(or)||Ml($t,t,or,!1,!1,"neutral"),A.append($t)}if(B){let te=L.operatingPoint.type==="ppcr"?L.operatingPoint.value:rt.get("ppcr")?.estimate,he=te!=null?`PPCR ${te.toFixed(2)}`:Yr,ht=fo(t,he,"rtichoke-performance-table__op");te!=null&&Ml(ht,t,te*100,!1,!1,"neutral"),A.append(ht)}if(V){let te=L.operatingPoint.type==="ppcr"?`PPCR ${L.operatingPoint.value.toFixed(2)}`:`Threshold ${L.operatingPoint.value.toFixed(G)}`;A.append(fo(t,te,"rtichoke-performance-table__op"))}if(x&&A.append(fo(t,L.horizon!==void 0?qh(L.horizon):Yr,"rtichoke-performance-table__horizon")),g){let te=L.context?.censoringHeuristic;A.append(fo(t,te?Q6(te):Yr,"rtichoke-performance-table__context"))}if(S){let te=L.context?.competingEventHeuristic;A.append(fo(t,te?Q6(te):Yr,"rtichoke-performance-table__context"))}for(let te of U){let he=rt.get(te.id),ht=xD(he,yD),or=fo(t,ht,"rtichoke-performance-table__metric");if(or.dataset.metricId=te.id,he&&he.estimate!==null&&he.estimate!==void 0&&isFinite(he.estimate)){let $t=he.estimate;if(["sensitivity","specificity","ppv","npv"].includes(te.id))Ml(or,t,$t*100);else if(te.id==="lift"){let Bt=z>0?$t/z*100:0;Ml(or,t,Bt)}else if(te.id==="net_benefit"&&Y>0){let Bt=$t<0,Wo=Math.abs($t)/Y*50;Ml(or,t,Wo,!0,Bt)}}A.append(or)}fe.append(A),Me&&fe.append(Me)}return o.append(fe),n.append(o),r.append(n),r}var wD=0,SD=0;function vD(e,t){let{emphasizedTrue:r,nonEmphasizedTrue:n,emphasizedFalse:o,nonEmphasizedFalse:i}=e;switch(t){case"predicted_positives":return{tp:r,fp:o,tn:n,fn:i};case"predicted_negatives":return{tn:r,fn:o,tp:n,fp:i};case"real_positives":return{tp:r,fn:o,tn:n,fp:i};case"real_negatives":return{tn:r,fp:o,tp:n,fn:i};case"all_observations":default:return{tp:r,fp:o,tn:r,fn:o}}}function J6(e,t,r,n,o){let i=e.operatingPoints.filter(_=>_.evaluationId===t&&_.type===r).sort((_,v)=>_.value-v.value),a=i.find(_=>Math.abs(_.value-n)<1e-6)??i[0],s=a?a.cutoff:0,c=a?a.realizedPpcr:0,u=e.bins.filter(_=>_.evaluationId===t).sort((_,v)=>_.lower-v.lower),f=0;for(let _ of u)f+=_.nPositive+_.nNegative;let p=null,l=null;if(a?.performance&&a.performance.length>0){let _=C=>{let G=a.performance?.find(j=>j.metricId===C);return G&&G.estimate!==void 0&&G.estimate!==null?G.estimate:null},v=_("true_positives"),I=_("false_positives"),T=_("true_negatives"),P=_("false_negatives"),R=_("sensitivity"),k=_("specificity"),N=_("ppv"),B=_("npv"),V=_("lift");if((R!==null||k!==null||N!==null||B!==null||V!==null)&&(p={sensitivity:R,specificity:k,ppv:N,npv:B,lift:V}),v!==null&&I!==null&&T!==null&&P!==null){let C=v+P,G=T+I,j=v+I,H=T+P;l={tp:v,fp:I,tn:T,fn:P,totalPositives:C,totalNegatives:G,totalPredictedPos:j,totalPredictedNeg:H}}}let m=e.evaluations.find(_=>_.id===t),h=m?.label??m?.model??m?.population??t,b=[],y=[];if(r==="probability_threshold"){let _=u.find(I=>I.lower===0&&I.upper===0),v=u.filter(I=>!(I.lower===0&&I.upper===0));if(_){let I=s===0?!0:_.upper>s,T=I?"TP":"FN",P=I?"True Positive (TP)":"False Negative (FN)",R=I?"FP":"TN",k=I?"False Positive (FP)":"True Negative (TN)";_.nPositive>0&&y.push({category:"Observed Positives",count:_.nPositive,classificationCell:T,cellLabel:P,title:Ut(o,[["Evaluation",h],["Score Interval","[0, 0]"],["Outcome","Observed Positive"],["Count",_.nPositive],["Classification",P]])}),_.nNegative>0&&y.push({category:"Observed Negatives",count:_.nNegative,classificationCell:R,cellLabel:k,title:Ut(o,[["Evaluation",h],["Score Interval","[0, 0]"],["Outcome","Observed Negative"],["Count",_.nNegative],["Classification",k]])})}for(let I=0;Is,B=N?"TP":"FN",V=N?"True Positive (TP)":"False Negative (FN)",C=N?"FP":"TN",G=N?"False Positive (FP)":"True Negative (TN)",j=s===0?!0:T.upper>s,H=j?"TP":"FN",U=j?"True Positive (TP)":"False Negative (FN)",z=j?"FP":"TN",Y=j?"False Positive (FP)":"True Negative (TN)",X=_.nPositive+T.nPositive,q=_.nNegative+T.nNegative;B===H?X>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:X,classificationCell:H,cellLabel:U,isPredictedPositive:j,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Positive"],["Count",X],["Classification",U]])}):(_.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:_.nPositive,classificationCell:B,cellLabel:V,isPredictedPositive:N,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Positive"],["Count",_.nPositive],["Classification",V]])}),T.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:T.nPositive,classificationCell:H,cellLabel:U,isPredictedPositive:j,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Positive"],["Count",T.nPositive],["Classification",U]])})),C===z?q>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:q,classificationCell:z,cellLabel:Y,isPredictedPositive:j,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Negative"],["Count",q],["Classification",Y]])}):(_.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:_.nNegative,classificationCell:C,cellLabel:G,isPredictedPositive:N,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Negative"],["Count",_.nNegative],["Classification",G]])}),T.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:T.nNegative,classificationCell:z,cellLabel:Y,isPredictedPositive:j,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Negative"],["Count",T.nNegative],["Classification",Y]])}))}else{let N=s===0?!0:T.upper>s,B=N?"TP":"FN",V=N?"True Positive (TP)":"False Negative (FN)",C=N?"FP":"TN",G=N?"False Positive (FP)":"True Negative (TN)";T.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:T.nPositive,classificationCell:B,cellLabel:V,isPredictedPositive:N,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Positive"],["Count",T.nPositive],["Classification",V]])}),T.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:T.nNegative,classificationCell:C,cellLabel:G,isPredictedPositive:N,title:Ut(o,[["Evaluation",h],["Score Interval",k],["Outcome","Observed Negative"],["Count",T.nNegative],["Classification",G]])})}}}else{let _=(e.rankBins??[]).filter(v=>v.evaluationId===t).sort((v,I)=>v.rankLower-I.rankLower);for(let v of _){let I=v.rankLower,T=v.rankUpper,P=v.positiveMass+v.negativeMass,R=I>=1-n-1e-9,k=R?"TP":"FN",N=R?"True Positive (TP)":"False Negative (FN)",B=R?"FP":"TN",V=R?"False Positive (FP)":"True Negative (TN)";if(P>0){let C=`[${I.toFixed(o)}, ${T.toFixed(o)}]`;v.positiveMass>0&&b.push({x1:I,x2:T,category:"Observed Positives",count:v.positiveMass,classificationCell:k,cellLabel:N,isPredictedPositive:R,title:Ut(o,[["Evaluation",h],["Population Rank Percentile",C],["Outcome","Observed Positive"],["Count",v.positiveMass],["Classification",N]])}),v.negativeMass>0&&b.push({x1:I,x2:T,category:"Observed Negatives",count:v.negativeMass,classificationCell:B,cellLabel:V,isPredictedPositive:R,title:Ut(o,[["Evaluation",h],["Population Rank Percentile",C],["Outcome","Observed Negative"],["Count",v.negativeMass],["Classification",V]])})}}}let x=s,g="Prediction Score",S="Count",w=1;if(r==="probability_threshold"){x=s,g="Prediction Score";let _=0,v=new Map;for(let I of b)v.set(I.x1,(v.get(I.x1)??0)+I.count);for(let I of v.values())_=Math.max(_,I);w=Math.max(1,Math.ceil(_*1.15))}else{x=1-n,g="Prediction Percentile";let _=0,v=new Map;for(let I of b)v.set(I.x1,(v.get(I.x1)??0)+I.count);for(let I of v.values())_=Math.max(_,I);w=Math.max(1,Math.ceil(_*1.15))}return{evalId:t,evalLabel:h,dim:r,currentValue:n,cutoff:s,realizedPpcr:c,cutoffX:x,xAxisLabel:g,yAxisLabel:S,yMax:w,totalN:f,performanceMetrics:p,confusion:l,ordinaryPlotData:b,zeroAtomPlotData:y}}function Y1(e,t={}){Gf(e);let r=++SD,n=Ln(2,t),{theme:o}=n,i=o.tip.digits,a=e.evaluations[0].id,s=O=>{let L=new Set;for(let A of e.operatingPoints)A.evaluationId===O&&L.add(A.type);let K=[];return L.has("probability_threshold")&&K.push("probability_threshold"),L.has("ppcr")&&K.push("ppcr"),K},c=(O,L)=>e.operatingPoints.filter(K=>K.evaluationId===O&&K.type===L).sort((K,A)=>K.value-A.value),u=s(a),f=e.operatingPoint?.dimension&&u.includes(e.operatingPoint.dimension)?e.operatingPoint.dimension:u[0]??"probability_threshold",p=(O,L)=>{let K=c(O,L);return[...new Set(K.map(A=>A.value))].sort((A,ee)=>A-ee)},l=(O,L,K)=>{let A=p(O,L);return A.length===0?0:K!==void 0&&A.some(ee=>Math.abs(ee-K)<1e-6)?K:A.some(ee=>Math.abs(ee-.5)<1e-6)?.5:A[0]},m=l(a,f),h="stacked",b="confusion_matrix_cell",y="all_observations",x=document.createElement("div");x.className="rtichoke-prediction-distribution",x.style.width=`${o.width}px`,x.style.maxWidth="100%";let g=document.createElement("div");g.className="rtichoke-prediction-distribution__controls";let S=document.createElement("select");S.className="rtichoke-prediction-distribution__select",S.setAttribute("aria-label","Evaluation"),S.style.display="none";let w=document.createElement("select");w.className="rtichoke-prediction-distribution__select",w.setAttribute("aria-label","Color bars by"),w.style.display="none";let _=document.createElement("option");_.value="confusion_matrix_cell",_.textContent="Confusion matrix cell";let v=document.createElement("option");v.value="observed_outcome",v.textContent="Observed outcome",w.append(_,v);let I=document.createElement("label");I.className="rtichoke-prediction-distribution__control-group";let T=document.createElement("select");T.className="rtichoke-prediction-distribution__select",T.setAttribute("aria-label","Condition on");let P=document.createElement("option");P.value="predicted_positives",P.textContent="Predicted positives";let R=document.createElement("option");R.value="predicted_negatives",R.textContent="Predicted negatives";let k=document.createElement("option");k.value="real_positives",k.textContent="Real positives";let N=document.createElement("option");N.value="real_negatives",N.textContent="Real negatives",T.append(P,R,k,N),I.append(T);let B=document.createElement("select");B.className="rtichoke-prediction-distribution__select",B.setAttribute("aria-label","Operating point dimension"),B.style.display="none",S.addEventListener("change",()=>{a=S.value,fe()}),w.addEventListener("change",()=>{b=w.value,fe()}),T.addEventListener("change",()=>{y=T.value,fe()}),B.addEventListener("change",()=>{f=B.value,m=l(a,f,m),fe()});let V=(O,L,K,A,ee)=>{let re=document.createElement("div");re.className="rtichoke-pd-radio-group",re.setAttribute("role","radiogroup"),re.setAttribute("aria-label",O);let Te=document.createElement("span");Te.className="rtichoke-pd-radio-group-label",Te.textContent=`${O}:`,re.append(Te);let Me=document.createElement("div");Me.className="rtichoke-pd-radio-options";for(let rt of K){let te=document.createElement("label");te.className="rtichoke-pd-radio-option";let he=document.createElement("input");he.type="radio",he.name=L,he.value=rt.value,he.checked=rt.value===A,he.addEventListener("change",()=>{he.checked&&ee(rt.value)});let ht=document.createElement("span");ht.textContent=rt.label,te.append(he,ht),Me.append(te)}return re.append(Me),re},C=document.createElement("div");C.className="rtichoke-pd-controls-row";let G=()=>{C.replaceChildren(),S.replaceChildren();for(let O of e.evaluations){let L=document.createElement("option");L.value=O.id,L.textContent=O.label??O.model??O.population??O.id,S.append(L)}if(S.value=a,e.evaluations.length>1){let O=e.evaluations.map(K=>({value:K.id,label:K.label??K.model??K.population??K.id})),L=V("Reference Group",`pd-ref-group-${r}`,O,a,K=>{a=K,fe()});C.append(L)}},j=document.createElement("div");j.className="rtichoke-pd-controls-row";let H=document.createElement("div");H.className="rtichoke-operating-point-control",H.style.marginLeft=`${o.margins.left}px`,H.style.marginRight=`${o.margins.right}px`;let U=`rtichoke-pd-slider-${++wD}`,z=document.createElement("label");z.className="rtichoke-operating-point-label",z.htmlFor=U;let Y=document.createElement("span"),X=document.createElement("span");X.className="rtichoke-operating-point-value",z.append(Y,X);let q=document.createElement("input");q.type="range",q.id=U,q.className="rtichoke-operating-point-slider",H.append(z,q);let ae=document.createElement("div");ae.className="rtichoke-legend",ae.style.paddingLeft=`${o.margins.left}px`;let J=(O,L)=>{let K=document.createElement("div");K.className="rtichoke-legend-item";let A=document.createElement("span");A.className="rtichoke-legend-swatch";let ee=document.createElement("span");ee.className="rtichoke-legend-line",ee.style.backgroundColor=L,ee.style.border=`1px solid ${o.axis.color}`,ee.style.boxSizing="border-box",ee.style.height="10px",ee.style.borderRadius="2px",A.append(ee);let re=document.createElement("span");return re.className="rtichoke-legend-label",re.textContent=O,K.append(A,re),K},oe=document.createElement("div");oe.className="rtichoke-prediction-distribution__chart";let Q=document.createElement("div");Q.className="rtichoke-prediction-distribution__summary",g.append(C,j),x.append(g,Q,H,ae,oe);let fe=()=>{G(),j.replaceChildren(),w.value=b,T.value=y==="all_observations"?"predicted_positives":y,I.style.display=b==="observed_outcome"?"none":"inline-flex",B.replaceChildren();let O=s(a);for(let ye of O){let Ie=document.createElement("option");Ie.value=ye,Ie.textContent=ye==="probability_threshold"?"Probability threshold":"PPCR",B.append(Ie)}B.value=f;let L=V("Display",`pd-display-${r}`,[{value:"stacked",label:"Stacked"},{value:"mirrored",label:"Mirrored"}],h,ye=>{h=ye,fe()}),K=V("Color Bars By",`pd-color-${r}`,[{value:"confusion_matrix_cell",label:"Confusion Matrix Cell"},{value:"observed_outcome",label:"Observed Outcome"}],b,ye=>{b=ye,fe()});if(j.append(L,K,S,w,I,B),O.length>1){let ye=V("Dimension",`pd-dim-${r}`,[{value:"probability_threshold",label:"Probability Threshold"},{value:"ppcr",label:"PPCR"}],f,Ie=>{f=Ie,m=l(a,f,m),fe()});j.append(ye)}let A=p(a,f),ee=A.find(ye=>Math.abs(ye-m)<1e-6);ee!==void 0?m=ee:m=l(a,f,m);let re=A.indexOf(m);q.min="0",q.max=String(Math.max(0,A.length-1)),q.step="1",q.value=String(Math.max(0,re));let Te=f==="probability_threshold"?"Probability threshold":"PPCR";Y.textContent=`${Te}: `,X.textContent=m.toFixed(i),q.setAttribute("aria-label",Te),q.setAttribute("aria-valuetext",m.toFixed(i));let Me=J6(e,a,f,m,i),{cutoff:rt,cutoffX:te,xAxisLabel:he,yAxisLabel:ht,yMax:or,totalN:$t,performanceMetrics:Bt,confusion:Wo,ordinaryPlotData:ks}=Me,Vn=vD(o.predictionDistribution,y);ae.replaceChildren(),b==="observed_outcome"&&ae.append(J("Observed Positives",o.predictionDistribution.observedPositive),J("Observed Negatives",o.predictionDistribution.observedNegative));let hn=[],gn=f==="probability_threshold"?`Cutoff = ${rt.toFixed(i)}`:`PPCR = ${m.toFixed(i)}`,Nl=or,mg=h==="mirrored"?-or:0;hn.push(vl([te],{stroke:o.axis.color,strokeWidth:2,strokeDasharray:"4,3"})),hn.push(sf([{x:te,label:gn}],{x:"x",y:Nl,text:"label",dy:-10,fill:o.axis.color,fontSize:11,fontWeight:700})),h==="mirrored"&&hn.push(co([0],{stroke:o.axis.color,strokeWidth:1.5}));let xf=ye=>{let Ie="";if(b==="observed_outcome")Ie=ye.category==="Observed Positives"?o.predictionDistribution.observedPositive:o.predictionDistribution.observedNegative;else switch(ye.classificationCell){case"TP":Ie=Vn.tp;break;case"FP":Ie=Vn.fp;break;case"TN":Ie=Vn.tn;break;case"FN":Ie=Vn.fn;break}let we=!0;switch(y){case"all_observations":we=!0;break;case"predicted_positives":we=ye.isPredictedPositive;break;case"predicted_negatives":we=!ye.isPredictedPositive;break;case"real_positives":we=ye.category==="Observed Positives";break;case"real_negatives":we=ye.category==="Observed Negatives";break}return{fill:Ie,fillOpacity:we?.88:.18,strokeOpacity:we?.4:.1}};if(h==="stacked"){let ye=ks.map(Ie=>{let{fill:we,fillOpacity:Dt,strokeOpacity:Fr}=xf(Ie);return{...Ie,fill:we,fillOpacity:Dt,strokeOpacity:Fr}});hn.push(Fi(ye,Rh({x1:"x1",x2:"x2",y:"count",fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:Ie=>Ie.title,tip:!0})))}else{let ye=ks.filter(we=>we.category==="Observed Positives").map(we=>{let{fill:Dt,fillOpacity:Fr,strokeOpacity:ir}=xf(we);return{...we,fill:Dt,fillOpacity:Fr,strokeOpacity:ir}}),Ie=ks.filter(we=>we.category==="Observed Negatives").map(we=>{let{fill:Dt,fillOpacity:Fr,strokeOpacity:ir}=xf(we);return{...we,fill:Dt,fillOpacity:Fr,strokeOpacity:ir}});ye.length>0&&hn.push(Fi(ye,{x1:"x1",x2:"x2",y1:0,y2:"count",fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:we=>we.title,tip:!0})),Ie.length>0&&hn.push(Fi(Ie,{x1:"x1",x2:"x2",y1:0,y2:we=>-we.count,fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:we=>we.title,tip:!0}))}let dg={width:o.width,height:Math.round(o.height*.68),marginTop:o.margins.top+10,marginRight:o.margins.right,marginBottom:o.margins.bottom,marginLeft:o.margins.left,style:{background:o.background,color:o.axis.color,fontFamily:o.typography.fontFamily,fontSize:`${o.typography.fontSize}px`},x:{label:he,domain:[0,1],grid:!1,line:!0,ticks:o.axis.ticks,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding,tickFormat:o.axis.numberFormat},y:{label:ht,domain:[mg,Nl],grid:!1,line:!0,ticks:5,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding,tickFormat:ye=>String(Math.abs(ye))},marks:hn},Oa=Ho(dg,o);if(oe.replaceChildren(Oa),Q.replaceChildren(),Wo){let{tp:ye,fp:Ie,tn:we,fn:Dt,totalPositives:Fr,totalNegatives:ir,totalPredictedPos:Al,totalPredictedNeg:ar}=Wo,Xr=document.createElement("table");Xr.className="rtichoke-pd-matrix";let wf=document.createElement("colgroup"),Rs=document.createElement("col");Rs.style.width="28%";let Ns=document.createElement("col");Ns.style.width="24%";let As=document.createElement("col");As.style.width="24%";let El=document.createElement("col");El.style.width="24%",wf.append(Rs,Ns,As,El),Xr.append(wf);let Sf=(We,nt)=>{let Li=document.createElement("label");Li.className=`rtichoke-pd-cond-option ${y===We?"rtichoke-pd-cond-option--active":""}`;let jn=document.createElement("input");jn.type="radio",jn.name=`pd-cond-${r}`,jn.value=We,jn.checked=y===We,jn.addEventListener("change",()=>{jn.checked&&(y=We,fe())});let Xo=document.createElement("span");return Xo.textContent=nt,Li.append(jn,Xo),Li},uw=document.createElement("thead"),lw=document.createElement("tr"),hg=document.createElement("th");hg.className="rtichoke-pd-matrix__corner",hg.append(Sf("all_observations","All Observations"));let gg=document.createElement("th");gg.className=`rtichoke-pd-matrix__col-header ${y==="real_positives"?"rtichoke-pd-matrix__col-header--active":""}`,gg.append(Sf("real_positives","Real Positive"));let yg=document.createElement("th");yg.className=`rtichoke-pd-matrix__col-header ${y==="real_negatives"?"rtichoke-pd-matrix__col-header--active":""}`,yg.append(Sf("real_negatives","Real Negative"));let pw=document.createElement("th");pw.className="rtichoke-pd-matrix__col-header rtichoke-pd-matrix__col-header--blank",lw.append(hg,gg,yg,pw),uw.append(lw);let mw=document.createElement("tbody"),TO=b==="observed_outcome"?o.predictionDistribution.observedPositive:Vn.tp,MO=b==="observed_outcome"?o.predictionDistribution.observedPositive:Vn.fn,CO=b==="observed_outcome"?o.predictionDistribution.observedNegative:Vn.fp,OO=b==="observed_outcome"?o.predictionDistribution.observedNegative:Vn.tn,kO=o.predictionDistribution.observedPositive,RO=o.predictionDistribution.observedNegative,bg="#E5E7EB",NO=We=>{if($t===0)return null;switch(y){case"all_observations":return`(${((We==="TP"?ye:We==="FP"?Ie:We==="TN"?we:Dt)/$t*100).toFixed(1)}%)`;case"predicted_positives":{let nt=ye+Ie;return nt===0?null:We==="TP"?`(${(ye/nt*100).toFixed(1)}%)`:We==="FP"?`(${(Ie/nt*100).toFixed(1)}%)`:null}case"predicted_negatives":{let nt=we+Dt;return nt===0?null:We==="TN"?`(${(we/nt*100).toFixed(1)}%)`:We==="FN"?`(${(Dt/nt*100).toFixed(1)}%)`:null}case"real_positives":{let nt=ye+Dt;return nt===0?null:We==="TP"?`(${(ye/nt*100).toFixed(1)}%)`:We==="FN"?`(${(Dt/nt*100).toFixed(1)}%)`:null}case"real_negatives":{let nt=we+Ie;return nt===0?null:We==="TN"?`(${(we/nt*100).toFixed(1)}%)`:We==="FP"?`(${(Ie/nt*100).toFixed(1)}%)`:null}}},Fl=(We,nt,Li,jn)=>{We.replaceChildren(),We.className=`rtichoke-prediction-distribution__cell--${nt.toLowerCase()} rtichoke-pd-matrix__cell`,We.style.backgroundColor="#ffffff",We.style.color=o.axis.color;let Xo=$t>0?Li/$t*100:0,Vi=document.createElement("div");Vi.className="rtichoke-pd-cell-bar",Vi.style.width=`${Xo}%`,Vi.style.backgroundColor=jn;let ka=document.createElement("div");ka.className="rtichoke-pd-cell-content";let _g=document.createElement("span");_g.className="rtichoke-pd-cell-label",_g.textContent=nt;let Pg=document.createElement("div");Pg.className="rtichoke-pd-cell-num";let Tg=document.createElement("span");Tg.className="rtichoke-pd-cell-count",Tg.textContent=Li.toLocaleString();let AO=NO(nt),Mg=document.createElement("span");Mg.className="rtichoke-pd-cell-pct",Mg.textContent=AO??"",Pg.append(Tg,Mg),ka.append(_g,Pg),We.append(Vi,ka)},vf=(We,nt,Li)=>{We.replaceChildren(),We.className="rtichoke-prediction-distribution__cell--total rtichoke-pd-matrix__cell",We.style.backgroundColor="#ffffff";let jn=$t>0?nt/$t*100:0,Xo=document.createElement("div");Xo.className="rtichoke-pd-cell-bar",Xo.style.width=`${jn}%`,Xo.style.backgroundColor=Li;let Vi=document.createElement("div");Vi.className="rtichoke-pd-cell-content rtichoke-pd-cell-content--margin";let ka=document.createElement("span");ka.className="rtichoke-pd-cell-count",ka.textContent=nt.toLocaleString(),Vi.append(ka),We.append(Xo,Vi)},xg=document.createElement("tr");y==="predicted_positives"&&(xg.className="rtichoke-pd-matrix__row--active");let wg=document.createElement("th");wg.className=`rtichoke-pd-matrix__row-header ${y==="predicted_positives"?"rtichoke-pd-matrix__row-header--active":""}`,wg.append(Sf("predicted_positives","Predicted Positive"));let dw=document.createElement("td");Fl(dw,"TP",ye,TO);let hw=document.createElement("td");Fl(hw,"FP",Ie,CO);let gw=document.createElement("td");vf(gw,Al,bg),xg.append(wg,dw,hw,gw);let Sg=document.createElement("tr");y==="predicted_negatives"&&(Sg.className="rtichoke-pd-matrix__row--active");let vg=document.createElement("th");vg.className=`rtichoke-pd-matrix__row-header ${y==="predicted_negatives"?"rtichoke-pd-matrix__row-header--active":""}`,vg.append(Sf("predicted_negatives","Predicted Negative"));let yw=document.createElement("td");Fl(yw,"FN",Dt,MO);let bw=document.createElement("td");Fl(bw,"TN",we,OO);let xw=document.createElement("td");vf(xw,ar,bg),Sg.append(vg,yw,bw,xw);let Ig=document.createElement("tr");Ig.className="rtichoke-pd-matrix__tot-row";let ww=document.createElement("th");ww.className="rtichoke-pd-matrix__row-header rtichoke-pd-matrix__row-header--blank";let Sw=document.createElement("td");vf(Sw,Fr,kO);let vw=document.createElement("td");vf(vw,ir,RO);let Iw=document.createElement("td");vf(Iw,$t,bg),Ig.append(ww,Sw,vw,Iw),mw.append(xg,Sg,Ig),Xr.append(uw,mw),Q.append(Xr)}if(Bt){let ye=document.createElement("div");ye.className="rtichoke-pd-metrics-container rtichoke-performance-table";let Ie=document.createElement("table");Ie.className="rtichoke-performance-table__table rtichoke-pd-metrics-table";let we=document.createElement("thead"),Dt=document.createElement("tr"),Fr=[{id:"sensitivity",label:"Sensitivity",val:Bt.sensitivity,isEmphasized:y==="real_positives",isRatio:!1},{id:"specificity",label:"Specificity",val:Bt.specificity,isEmphasized:y==="real_negatives",isRatio:!1},{id:"ppv",label:"PPV",val:Bt.ppv,isEmphasized:y==="predicted_positives",isRatio:!1},{id:"npv",label:"NPV",val:Bt.npv,isEmphasized:y==="predicted_negatives",isRatio:!1},{id:"lift",label:"Lift",val:Bt.lift,isEmphasized:y==="predicted_positives",isRatio:!0}];for(let ar of Fr){let Xr=document.createElement("th");Xr.className=`rtichoke-performance-table__metric-header ${ar.isEmphasized?"rtichoke-pd-metric--emphasized-header":""}`,Xr.textContent=ar.label,Dt.append(Xr)}we.append(Dt);let ir=document.createElement("tbody"),Al=document.createElement("tr");for(let ar of Fr){let Xr=document.createElement("td");Xr.className=`rtichoke-performance-table__metric ${ar.isEmphasized?"rtichoke-pd-metric--emphasized-cell":""}`;let wf="\u2014";if(ar.val!==null&&ar.val!==void 0&&(wf=ar.isRatio?ar.val.toFixed(2):(ar.val*100).toFixed(1)+"%"),ar.val!==null&&ar.val!==void 0&&isFinite(ar.val)){let Ns=document.createElement("div");Ns.className="rtichoke-performance-table__bar";let As=document.createElement("div");As.className="rtichoke-performance-table__bar-fill rtichoke-performance-table__bar-fill--positive";let El=ar.isRatio?Math.min(100,ar.val/3*100):Math.min(100,ar.val*100);As.style.width=`${El}%`,Ns.append(As),Xr.append(Ns)}let Rs=document.createElement("span");Rs.className="rtichoke-performance-table__cell-text",Rs.textContent=wf,Xr.append(Rs),Al.append(Xr)}ir.append(Al),Ie.append(we,ir),ye.append(Ie),Q.append(ye)}};return q.addEventListener("input",()=>{let O=p(a,f),L=Number(q.value);L>=0&&L0?n[0]:void 0,i=[];if(n.length>1){let m=t.createElement("label");m.className="rtichoke-horizon-control",m.textContent="Fixed Time Horizon: ";let h=t.createElement("select");h.className="rtichoke-horizon-select",h.setAttribute("aria-label","Fixed Time Horizon");for(let b of n){let y=t.createElement("option");y.value=String(b),y.textContent=String(b),h.append(y)}h.value=String(o),h.addEventListener("change",()=>{o=Number(h.value),l()}),m.append(h),r.append(m)}let a=t.createElement("table");a.className="rtichoke-summary-metrics__table";let s=t.createElement("thead"),c=t.createElement("tr");for(let m of["Owner","Metric","Estimate"])c.append(_D(t,m));s.append(c),a.append(s);let u=new Map(e.evaluations.map(m=>[m.id,m])),f=new Map(e.populations.map(m=>[m.id,m])),p=t.createElement("tbody");for(let m of e.metrics){let h=t.createElement("tr"),b="",y="",x;if(m.metric==="auroc"){let S=u.get(m.owner.evaluationId);b=S.label??S.model??S.population??S.id,y="AUROC",h.dataset.metric="auroc",h.dataset.evaluationId=m.owner.evaluationId}else m.metric==="prevalence"?(b=f.get(m.owner.populationId).label,y="Prevalence",h.dataset.metric="prevalence",h.dataset.populationId=m.owner.populationId):m.metric==="event_risk"&&(b=f.get(m.owner.populationId).label,y="Event Probability",x=m.horizon,h.dataset.metric="event_risk",h.dataset.populationId=m.owner.populationId,h.dataset.horizon=String(m.horizon));h.append(W1(t,b,"rtichoke-summary-metrics__owner"),W1(t,y,"rtichoke-summary-metrics__metric"));let g=W1(t,PD(m.estimate),"rtichoke-summary-metrics__estimate");m.estimate===null?g.dataset.unavailable="true":g.dataset.estimate=String(m.estimate),h.append(g),i.push({element:h,horizon:x}),p.append(h)}a.append(p),r.append(a);function l(){for(let{element:m,horizon:h}of i)h===void 0||h===o?m.style.display="":m.style.display="none"}return l(),r}function TD(e){switch(e.errorType){case E.ArrayContains:return"Expected array to contain at least one matching value";case E.ArrayMaxContains:return`Expected array to contain no more than ${e.schema.maxContains} matching values`;case E.ArrayMinContains:return`Expected array to contain at least ${e.schema.minContains} matching values`;case E.ArrayMaxItems:return`Expected array length to be less or equal to ${e.schema.maxItems}`;case E.ArrayMinItems:return`Expected array length to be greater or equal to ${e.schema.minItems}`;case E.ArrayUniqueItems:return"Expected array elements to be unique";case E.Array:return"Expected array";case E.AsyncIterator:return"Expected AsyncIterator";case E.BigIntExclusiveMaximum:return`Expected bigint to be less than ${e.schema.exclusiveMaximum}`;case E.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${e.schema.exclusiveMinimum}`;case E.BigIntMaximum:return`Expected bigint to be less or equal to ${e.schema.maximum}`;case E.BigIntMinimum:return`Expected bigint to be greater or equal to ${e.schema.minimum}`;case E.BigIntMultipleOf:return`Expected bigint to be a multiple of ${e.schema.multipleOf}`;case E.BigInt:return"Expected bigint";case E.Boolean:return"Expected boolean";case E.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${e.schema.exclusiveMinimumTimestamp}`;case E.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${e.schema.exclusiveMaximumTimestamp}`;case E.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${e.schema.minimumTimestamp}`;case E.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${e.schema.maximumTimestamp}`;case E.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${e.schema.multipleOfTimestamp}`;case E.Date:return"Expected Date";case E.Function:return"Expected function";case E.IntegerExclusiveMaximum:return`Expected integer to be less than ${e.schema.exclusiveMaximum}`;case E.IntegerExclusiveMinimum:return`Expected integer to be greater than ${e.schema.exclusiveMinimum}`;case E.IntegerMaximum:return`Expected integer to be less or equal to ${e.schema.maximum}`;case E.IntegerMinimum:return`Expected integer to be greater or equal to ${e.schema.minimum}`;case E.IntegerMultipleOf:return`Expected integer to be a multiple of ${e.schema.multipleOf}`;case E.Integer:return"Expected integer";case E.IntersectUnevaluatedProperties:return"Unexpected property";case E.Intersect:return"Expected all values to match";case E.Iterator:return"Expected Iterator";case E.Literal:return`Expected ${typeof e.schema.const=="string"?`'${e.schema.const}'`:e.schema.const}`;case E.Never:return"Never";case E.Not:return"Value should not match";case E.Null:return"Expected null";case E.NumberExclusiveMaximum:return`Expected number to be less than ${e.schema.exclusiveMaximum}`;case E.NumberExclusiveMinimum:return`Expected number to be greater than ${e.schema.exclusiveMinimum}`;case E.NumberMaximum:return`Expected number to be less or equal to ${e.schema.maximum}`;case E.NumberMinimum:return`Expected number to be greater or equal to ${e.schema.minimum}`;case E.NumberMultipleOf:return`Expected number to be a multiple of ${e.schema.multipleOf}`;case E.Number:return"Expected number";case E.Object:return"Expected object";case E.ObjectAdditionalProperties:return"Unexpected property";case E.ObjectMaxProperties:return`Expected object to have no more than ${e.schema.maxProperties} properties`;case E.ObjectMinProperties:return`Expected object to have at least ${e.schema.minProperties} properties`;case E.ObjectRequiredProperty:return"Expected required property";case E.Promise:return"Expected Promise";case E.RegExp:return"Expected string to match regular expression";case E.StringFormatUnknown:return`Unknown format '${e.schema.format}'`;case E.StringFormat:return`Expected string to match '${e.schema.format}' format`;case E.StringMaxLength:return`Expected string length less or equal to ${e.schema.maxLength}`;case E.StringMinLength:return`Expected string length greater or equal to ${e.schema.minLength}`;case E.StringPattern:return`Expected string to match '${e.schema.pattern}'`;case E.String:return"Expected string";case E.Symbol:return"Expected symbol";case E.TupleLength:return`Expected tuple to have ${e.schema.maxItems||0} elements`;case E.Tuple:return"Expected tuple";case E.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${e.schema.maxByteLength}`;case E.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${e.schema.minByteLength}`;case E.Uint8Array:return"Expected Uint8Array";case E.Undefined:return"Expected undefined";case E.Union:return"Expected union value";case E.Void:return"Expected void";case E.Kind:return`Expected kind '${e.schema[$]}'`;default:return"Unknown error type"}}var MD=TD;function eO(){return MD}var Z1=class extends pe{constructor(t){super(`Unable to dereference schema with $id '${t.$ref}'`),this.schema=t}};function CD(e,t){let r=t.find(n=>n.$id===e.$ref);if(r===void 0)throw new Z1(e);return De(r,t)}function tr(e,t){return!Ue(e.$id)||t.some(r=>r.$id===e.$id)||t.push(e),t}function De(e,t){return e[$]==="This"||e[$]==="Ref"?CD(e,t):e}var Q1=class extends pe{constructor(t){super("Unable to hash value"),this.value=t}},pn;(function(e){e[e.Undefined=0]="Undefined",e[e.Null=1]="Null",e[e.Boolean=2]="Boolean",e[e.Number=3]="Number",e[e.String=4]="String",e[e.Object=5]="Object",e[e.Array=6]="Array",e[e.Date=7]="Date",e[e.Uint8Array=8]="Uint8Array",e[e.Symbol=9]="Symbol",e[e.BigInt=10]="BigInt"})(pn||(pn={}));var hf=BigInt("14695981039346656037"),[OD,kD]=[BigInt("1099511628211"),BigInt("18446744073709551616")],RD=Array.from({length:256}).map((e,t)=>BigInt(t)),tO=new Float64Array(1),rO=new DataView(tO.buffer),nO=new Uint8Array(tO.buffer);function*ND(e){let t=e===0?1:Math.ceil(Math.floor(Math.log2(e)+1)/8);for(let r=0;r>8*(t-1-r)&255}function AD(e){Pr(pn.Array);for(let t of e)gf(t)}function ED(e){Pr(pn.Boolean),Pr(e?1:0)}function FD(e){Pr(pn.BigInt),rO.setBigInt64(0,e);for(let t of nO)Pr(t)}function $D(e){Pr(pn.Date),gf(e.getTime())}function DD(e){Pr(pn.Null)}function LD(e){Pr(pn.Number),rO.setFloat64(0,e);for(let t of nO)Pr(t)}function VD(e){Pr(pn.Object);for(let t of globalThis.Object.getOwnPropertyNames(e).sort())gf(t),gf(e[t])}function jD(e){Pr(pn.String);for(let t=0;t=e.minItems)||_e(e.maxItems)&&!(r.length<=e.maxItems))return!1;for(let i of r)if(!rr(e.items,t,i))return!1;if(e.uniqueItems===!0&&!(function(){let i=new Set;for(let a of r){let s=yf(a);if(i.has(s))return!1;i.add(s)}return!0})())return!1;if(!(_e(e.contains)||st(e.minContains)||st(e.maxContains)))return!0;let n=_e(e.contains)?e.contains:Se(),o=r.reduce((i,a)=>rr(n,t,a)?i+1:i,0);return!(o===0||st(e.minContains)&&oe.maxContains)}function YD(e,t,r){return Ll(r)}function WD(e,t,r){return!(!Un(r)||_e(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||_e(e.maximum)&&!(r<=e.maximum)||_e(e.minimum)&&!(r>=e.minimum)||_e(e.multipleOf)&&r%e.multipleOf!==BigInt(0))}function XD(e,t,r){return yo(r)}function ZD(e,t,r){return rr(e.returns,t,r.prototype)}function QD(e,t,r){return!(!Tr(r)||_e(e.exclusiveMaximumTimestamp)&&!(r.getTime()e.exclusiveMinimumTimestamp)||_e(e.maximumTimestamp)&&!(r.getTime()<=e.maximumTimestamp)||_e(e.minimumTimestamp)&&!(r.getTime()>=e.minimumTimestamp)||_e(e.multipleOfTimestamp)&&r.getTime()%e.multipleOfTimestamp!==0)}function JD(e,t,r){return ji(r)}function eL(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return rr(o,[...t,...n],r)}function tL(e,t,r){return!(!Ul(r)||_e(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||_e(e.maximum)&&!(r<=e.maximum)||_e(e.minimum)&&!(r>=e.minimum)||_e(e.multipleOf)&&r%e.multipleOf!==0)}function rL(e,t,r){let n=e.allOf.every(o=>rr(o,t,r));if(e.unevaluatedProperties===!1){let o=new RegExp(Ys(e)),i=Object.getOwnPropertyNames(r).every(a=>o.test(a));return n&&i}else if(lt(e.unevaluatedProperties)){let o=new RegExp(Ys(e)),i=Object.getOwnPropertyNames(r).every(a=>o.test(a)||rr(e.unevaluatedProperties,t,r[a]));return n&&i}else return n}function nL(e,t,r){return Vl(r)}function oL(e,t,r){return r===e.const}function iL(e,t,r){return!1}function aL(e,t,r){return!rr(e.not,t,r)}function sL(e,t,r){return Jo(r)}function cL(e,t,r){return!(!Rt.IsNumberLike(r)||_e(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||_e(e.minimum)&&!(r>=e.minimum)||_e(e.maximum)&&!(r<=e.maximum)||_e(e.multipleOf)&&r%e.multipleOf!==0)}function fL(e,t,r){if(!Rt.IsObjectLike(r)||_e(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)||_e(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties))return!1;let n=Object.getOwnPropertyNames(e.properties);for(let o of n){let i=e.properties[o];if(e.required&&e.required.includes(o)){if(!rr(i,t,r[o])||(ja(i)||zD(i))&&!(o in r))return!1}else if(Rt.IsExactOptionalProperty(r,o)&&!rr(i,t,r[o]))return!1}if(e.additionalProperties===!1){let o=Object.getOwnPropertyNames(r);return e.required&&e.required.length===n.length&&o.length===n.length?!0:o.every(i=>n.includes(i))}else return typeof e.additionalProperties=="object"?Object.getOwnPropertyNames(r).every(i=>n.includes(i)||rr(e.additionalProperties,t,r[i])):!0}function uL(e,t,r){return jl(r)}function lL(e,t,r){if(!Rt.IsRecordLike(r)||_e(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)||_e(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties))return!1;let[n,o]=Object.entries(e.patternProperties)[0],i=new RegExp(n),a=Object.entries(r).every(([u,f])=>i.test(u)?rr(o,t,f):!0),s=typeof e.additionalProperties=="object"?Object.entries(r).every(([u,f])=>i.test(u)?!0:rr(e.additionalProperties,t,f)):!0,c=e.additionalProperties===!1?Object.getOwnPropertyNames(r).every(u=>i.test(u)):!0;return a&&s&&c}function pL(e,t,r){return rr(De(e,t),t,r)}function mL(e,t,r){let n=new RegExp(e.source,e.flags);return _e(e.minLength)&&!(r.length>=e.minLength)||_e(e.maxLength)&&!(r.length<=e.maxLength)?!1:n.test(r)}function dL(e,t,r){return!Ue(r)||_e(e.minLength)&&!(r.length>=e.minLength)||_e(e.maxLength)&&!(r.length<=e.maxLength)||_e(e.pattern)&&!new RegExp(e.pattern).test(r)?!1:_e(e.format)?Ki.Has(e.format)?Ki.Get(e.format)(r):!1:!0}function hL(e,t,r){return ei(r)}function gL(e,t,r){return Ue(r)&&new RegExp(e.pattern).test(r)}function yL(e,t,r){return rr(De(e,t),t,r)}function bL(e,t,r){if(!le(r)||e.items===void 0&&r.length!==0||r.length!==e.maxItems)return!1;if(!e.items)return!0;for(let n=0;nrr(n,t,r))}function SL(e,t,r){return!(!Fs(r)||_e(e.maxByteLength)&&!(r.length<=e.maxByteLength)||_e(e.minByteLength)&&!(r.length>=e.minByteLength))}function vL(e,t,r){return!0}function IL(e,t,r){return Rt.IsVoidLike(r)}function _L(e,t,r){return Wn.Has(e[$])?Wn.Get(e[$])(e,r):!1}function rr(e,t,r){let n=_e(e.$id)?tr(e,t):t,o=e;switch(o[$]){case"Any":return KD(o,n,r);case"Argument":return qD(o,n,r);case"Array":return HD(o,n,r);case"AsyncIterator":return YD(o,n,r);case"BigInt":return WD(o,n,r);case"Boolean":return XD(o,n,r);case"Constructor":return ZD(o,n,r);case"Date":return QD(o,n,r);case"Function":return JD(o,n,r);case"Import":return eL(o,n,r);case"Integer":return tL(o,n,r);case"Intersect":return rL(o,n,r);case"Iterator":return nL(o,n,r);case"Literal":return oL(o,n,r);case"Never":return iL(o,n,r);case"Not":return aL(o,n,r);case"Null":return sL(o,n,r);case"Number":return cL(o,n,r);case"Object":return fL(o,n,r);case"Promise":return uL(o,n,r);case"Record":return lL(o,n,r);case"Ref":return pL(o,n,r);case"RegExp":return mL(o,n,r);case"String":return dL(o,n,r);case"Symbol":return hL(o,n,r);case"TemplateLiteral":return gL(o,n,r);case"This":return yL(o,n,r);case"Tuple":return bL(o,n,r);case"Undefined":return xL(o,n,r);case"Union":return wL(o,n,r);case"Uint8Array":return SL(o,n,r);case"Unknown":return vL(o,n,r);case"Void":return IL(o,n,r);default:if(!Wn.Has(o[$]))throw new J1(o);return _L(o,n,r)}}function xe(...e){return e.length===3?rr(e[0],e[1],e[2]):rr(e[0],[],e[1])}var E;(function(e){e[e.ArrayContains=0]="ArrayContains",e[e.ArrayMaxContains=1]="ArrayMaxContains",e[e.ArrayMaxItems=2]="ArrayMaxItems",e[e.ArrayMinContains=3]="ArrayMinContains",e[e.ArrayMinItems=4]="ArrayMinItems",e[e.ArrayUniqueItems=5]="ArrayUniqueItems",e[e.Array=6]="Array",e[e.AsyncIterator=7]="AsyncIterator",e[e.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",e[e.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",e[e.BigIntMaximum=10]="BigIntMaximum",e[e.BigIntMinimum=11]="BigIntMinimum",e[e.BigIntMultipleOf=12]="BigIntMultipleOf",e[e.BigInt=13]="BigInt",e[e.Boolean=14]="Boolean",e[e.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",e[e.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",e[e.DateMaximumTimestamp=17]="DateMaximumTimestamp",e[e.DateMinimumTimestamp=18]="DateMinimumTimestamp",e[e.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",e[e.Date=20]="Date",e[e.Function=21]="Function",e[e.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",e[e.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",e[e.IntegerMaximum=24]="IntegerMaximum",e[e.IntegerMinimum=25]="IntegerMinimum",e[e.IntegerMultipleOf=26]="IntegerMultipleOf",e[e.Integer=27]="Integer",e[e.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",e[e.Intersect=29]="Intersect",e[e.Iterator=30]="Iterator",e[e.Kind=31]="Kind",e[e.Literal=32]="Literal",e[e.Never=33]="Never",e[e.Not=34]="Not",e[e.Null=35]="Null",e[e.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",e[e.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",e[e.NumberMaximum=38]="NumberMaximum",e[e.NumberMinimum=39]="NumberMinimum",e[e.NumberMultipleOf=40]="NumberMultipleOf",e[e.Number=41]="Number",e[e.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",e[e.ObjectMaxProperties=43]="ObjectMaxProperties",e[e.ObjectMinProperties=44]="ObjectMinProperties",e[e.ObjectRequiredProperty=45]="ObjectRequiredProperty",e[e.Object=46]="Object",e[e.Promise=47]="Promise",e[e.RegExp=48]="RegExp",e[e.StringFormatUnknown=49]="StringFormatUnknown",e[e.StringFormat=50]="StringFormat",e[e.StringMaxLength=51]="StringMaxLength",e[e.StringMinLength=52]="StringMinLength",e[e.StringPattern=53]="StringPattern",e[e.String=54]="String",e[e.Symbol=55]="Symbol",e[e.TupleLength=56]="TupleLength",e[e.Tuple=57]="Tuple",e[e.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",e[e.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",e[e.Uint8Array=60]="Uint8Array",e[e.Undefined=61]="Undefined",e[e.Union=62]="Union",e[e.Void=63]="Void"})(E||(E={}));var ew=class extends pe{constructor(t){super("Unknown type"),this.schema=t}};function $i(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Pe(e){return e!==void 0}var Ma=class{constructor(t){this.iterator=t}[Symbol.iterator](){return this.iterator}First(){let t=this.iterator.next();return t.done?void 0:t.value}};function Z(e,t,r,n,o=[]){return{type:e,schema:t,path:r,value:n,message:eO()({errorType:e,path:r,schema:t,value:n,errors:o}),errors:o}}function*PL(e,t,r,n){}function*TL(e,t,r,n){}function*ML(e,t,r,n){if(!le(n))return yield Z(E.Array,e,r,n);Pe(e.minItems)&&!(n.length>=e.minItems)&&(yield Z(E.ArrayMinItems,e,r,n)),Pe(e.maxItems)&&!(n.length<=e.maxItems)&&(yield Z(E.ArrayMaxItems,e,r,n));for(let a=0;anr(o,t,`${r}${c}`,s).next().done===!0?a+1:a,0);i===0&&(yield Z(E.ArrayContains,e,r,n)),st(e.minContains)&&ie.maxContains&&(yield Z(E.ArrayMaxContains,e,r,n))}function*CL(e,t,r,n){Ll(n)||(yield Z(E.AsyncIterator,e,r,n))}function*OL(e,t,r,n){if(!Un(n))return yield Z(E.BigInt,e,r,n);Pe(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield Z(E.BigIntExclusiveMinimum,e,r,n)),Pe(e.maximum)&&!(n<=e.maximum)&&(yield Z(E.BigIntMaximum,e,r,n)),Pe(e.minimum)&&!(n>=e.minimum)&&(yield Z(E.BigIntMinimum,e,r,n)),Pe(e.multipleOf)&&n%e.multipleOf!==BigInt(0)&&(yield Z(E.BigIntMultipleOf,e,r,n))}function*kL(e,t,r,n){yo(n)||(yield Z(E.Boolean,e,r,n))}function*RL(e,t,r,n){yield*nr(e.returns,t,r,n.prototype)}function*NL(e,t,r,n){if(!Tr(n))return yield Z(E.Date,e,r,n);Pe(e.exclusiveMaximumTimestamp)&&!(n.getTime()e.exclusiveMinimumTimestamp)&&(yield Z(E.DateExclusiveMinimumTimestamp,e,r,n)),Pe(e.maximumTimestamp)&&!(n.getTime()<=e.maximumTimestamp)&&(yield Z(E.DateMaximumTimestamp,e,r,n)),Pe(e.minimumTimestamp)&&!(n.getTime()>=e.minimumTimestamp)&&(yield Z(E.DateMinimumTimestamp,e,r,n)),Pe(e.multipleOfTimestamp)&&n.getTime()%e.multipleOfTimestamp!==0&&(yield Z(E.DateMultipleOfTimestamp,e,r,n))}function*AL(e,t,r,n){ji(n)||(yield Z(E.Function,e,r,n))}function*EL(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref];yield*nr(i,[...t,...o],r,n)}function*FL(e,t,r,n){if(!Ul(n))return yield Z(E.Integer,e,r,n);Pe(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield Z(E.IntegerExclusiveMinimum,e,r,n)),Pe(e.maximum)&&!(n<=e.maximum)&&(yield Z(E.IntegerMaximum,e,r,n)),Pe(e.minimum)&&!(n>=e.minimum)&&(yield Z(E.IntegerMinimum,e,r,n)),Pe(e.multipleOf)&&n%e.multipleOf!==0&&(yield Z(E.IntegerMultipleOf,e,r,n))}function*$L(e,t,r,n){let o=!1;for(let i of e.allOf)for(let a of nr(i,t,r,n))o=!0,yield a;if(o)return yield Z(E.Intersect,e,r,n);if(e.unevaluatedProperties===!1){let i=new RegExp(Ys(e));for(let a of Object.getOwnPropertyNames(n))i.test(a)||(yield Z(E.IntersectUnevaluatedProperties,e,`${r}/${a}`,n))}if(typeof e.unevaluatedProperties=="object"){let i=new RegExp(Ys(e));for(let a of Object.getOwnPropertyNames(n))if(!i.test(a)){let s=nr(e.unevaluatedProperties,t,`${r}/${a}`,n[a]).next();s.done||(yield s.value)}}}function*DL(e,t,r,n){Vl(n)||(yield Z(E.Iterator,e,r,n))}function*LL(e,t,r,n){n!==e.const&&(yield Z(E.Literal,e,r,n))}function*VL(e,t,r,n){yield Z(E.Never,e,r,n)}function*jL(e,t,r,n){nr(e.not,t,r,n).next().done===!0&&(yield Z(E.Not,e,r,n))}function*UL(e,t,r,n){Jo(n)||(yield Z(E.Null,e,r,n))}function*GL(e,t,r,n){if(!Rt.IsNumberLike(n))return yield Z(E.Number,e,r,n);Pe(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield Z(E.NumberExclusiveMinimum,e,r,n)),Pe(e.maximum)&&!(n<=e.maximum)&&(yield Z(E.NumberMaximum,e,r,n)),Pe(e.minimum)&&!(n>=e.minimum)&&(yield Z(E.NumberMinimum,e,r,n)),Pe(e.multipleOf)&&n%e.multipleOf!==0&&(yield Z(E.NumberMultipleOf,e,r,n))}function*BL(e,t,r,n){if(!Rt.IsObjectLike(n))return yield Z(E.Object,e,r,n);Pe(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)&&(yield Z(E.ObjectMinProperties,e,r,n)),Pe(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties)&&(yield Z(E.ObjectMaxProperties,e,r,n));let o=Array.isArray(e.required)?e.required:[],i=Object.getOwnPropertyNames(e.properties),a=Object.getOwnPropertyNames(n);for(let s of o)a.includes(s)||(yield Z(E.ObjectRequiredProperty,e.properties[s],`${r}/${$i(s)}`,void 0));if(e.additionalProperties===!1)for(let s of a)i.includes(s)||(yield Z(E.ObjectAdditionalProperties,e,`${r}/${$i(s)}`,n[s]));if(typeof e.additionalProperties=="object")for(let s of a)i.includes(s)||(yield*nr(e.additionalProperties,t,`${r}/${$i(s)}`,n[s]));for(let s of i){let c=e.properties[s];e.required&&e.required.includes(s)?(yield*nr(c,t,`${r}/${$i(s)}`,n[s]),ja(e)&&!(s in n)&&(yield Z(E.ObjectRequiredProperty,c,`${r}/${$i(s)}`,void 0))):Rt.IsExactOptionalProperty(n,s)&&(yield*nr(c,t,`${r}/${$i(s)}`,n[s]))}}function*zL(e,t,r,n){jl(n)||(yield Z(E.Promise,e,r,n))}function*KL(e,t,r,n){if(!Rt.IsRecordLike(n))return yield Z(E.Object,e,r,n);Pe(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)&&(yield Z(E.ObjectMinProperties,e,r,n)),Pe(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties)&&(yield Z(E.ObjectMaxProperties,e,r,n));let[o,i]=Object.entries(e.patternProperties)[0],a=new RegExp(o);for(let[s,c]of Object.entries(n))a.test(s)&&(yield*nr(i,t,`${r}/${$i(s)}`,c));if(typeof e.additionalProperties=="object")for(let[s,c]of Object.entries(n))a.test(s)||(yield*nr(e.additionalProperties,t,`${r}/${$i(s)}`,c));if(e.additionalProperties===!1){for(let[s,c]of Object.entries(n))if(!a.test(s))return yield Z(E.ObjectAdditionalProperties,e,`${r}/${$i(s)}`,c)}}function*qL(e,t,r,n){yield*nr(De(e,t),t,r,n)}function*HL(e,t,r,n){if(!Ue(n))return yield Z(E.String,e,r,n);if(Pe(e.minLength)&&!(n.length>=e.minLength)&&(yield Z(E.StringMinLength,e,r,n)),Pe(e.maxLength)&&!(n.length<=e.maxLength)&&(yield Z(E.StringMaxLength,e,r,n)),!new RegExp(e.source,e.flags).test(n))return yield Z(E.RegExp,e,r,n)}function*YL(e,t,r,n){if(!Ue(n))return yield Z(E.String,e,r,n);Pe(e.minLength)&&!(n.length>=e.minLength)&&(yield Z(E.StringMinLength,e,r,n)),Pe(e.maxLength)&&!(n.length<=e.maxLength)&&(yield Z(E.StringMaxLength,e,r,n)),Ue(e.pattern)&&(new RegExp(e.pattern).test(n)||(yield Z(E.StringPattern,e,r,n))),Ue(e.format)&&(Ki.Has(e.format)?Ki.Get(e.format)(n)||(yield Z(E.StringFormat,e,r,n)):yield Z(E.StringFormatUnknown,e,r,n))}function*WL(e,t,r,n){ei(n)||(yield Z(E.Symbol,e,r,n))}function*XL(e,t,r,n){if(!Ue(n))return yield Z(E.String,e,r,n);new RegExp(e.pattern).test(n)||(yield Z(E.StringPattern,e,r,n))}function*ZL(e,t,r,n){yield*nr(De(e,t),t,r,n)}function*QL(e,t,r,n){if(!le(n))return yield Z(E.Tuple,e,r,n);if(e.items===void 0&&n.length!==0)return yield Z(E.TupleLength,e,r,n);if(n.length!==e.maxItems)return yield Z(E.TupleLength,e,r,n);if(e.items)for(let o=0;onew Ma(nr(i,t,r,n)));yield Z(E.Union,e,r,n,o)}function*tV(e,t,r,n){if(!Fs(n))return yield Z(E.Uint8Array,e,r,n);Pe(e.maxByteLength)&&!(n.length<=e.maxByteLength)&&(yield Z(E.Uint8ArrayMaxByteLength,e,r,n)),Pe(e.minByteLength)&&!(n.length>=e.minByteLength)&&(yield Z(E.Uint8ArrayMinByteLength,e,r,n))}function*rV(e,t,r,n){}function*nV(e,t,r,n){Rt.IsVoidLike(n)||(yield Z(E.Void,e,r,n))}function*oV(e,t,r,n){Wn.Get(e[$])(e,n)||(yield Z(E.Kind,e,r,n))}function*nr(e,t,r,n){let o=Pe(e.$id)?[...t,e]:t,i=e;switch(i[$]){case"Any":return yield*PL(i,o,r,n);case"Argument":return yield*TL(i,o,r,n);case"Array":return yield*ML(i,o,r,n);case"AsyncIterator":return yield*CL(i,o,r,n);case"BigInt":return yield*OL(i,o,r,n);case"Boolean":return yield*kL(i,o,r,n);case"Constructor":return yield*RL(i,o,r,n);case"Date":return yield*NL(i,o,r,n);case"Function":return yield*AL(i,o,r,n);case"Import":return yield*EL(i,o,r,n);case"Integer":return yield*FL(i,o,r,n);case"Intersect":return yield*$L(i,o,r,n);case"Iterator":return yield*DL(i,o,r,n);case"Literal":return yield*LL(i,o,r,n);case"Never":return yield*VL(i,o,r,n);case"Not":return yield*jL(i,o,r,n);case"Null":return yield*UL(i,o,r,n);case"Number":return yield*GL(i,o,r,n);case"Object":return yield*BL(i,o,r,n);case"Promise":return yield*zL(i,o,r,n);case"Record":return yield*KL(i,o,r,n);case"Ref":return yield*qL(i,o,r,n);case"RegExp":return yield*HL(i,o,r,n);case"String":return yield*YL(i,o,r,n);case"Symbol":return yield*WL(i,o,r,n);case"TemplateLiteral":return yield*XL(i,o,r,n);case"This":return yield*ZL(i,o,r,n);case"Tuple":return yield*QL(i,o,r,n);case"Undefined":return yield*JL(i,o,r,n);case"Union":return yield*eV(i,o,r,n);case"Uint8Array":return yield*tV(i,o,r,n);case"Unknown":return yield*rV(i,o,r,n);case"Void":return yield*nV(i,o,r,n);default:if(!Wn.Has(i[$]))throw new ew(e);return yield*oV(i,o,r,n)}}function Ca(...e){let t=e.length===3?nr(e[0],e[1],"",e[2]):nr(e[0],[],"",e[1]);return new Ma(t)}var iV=function(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r},iO=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},tw,Hh,aO,rw=class extends pe{constructor(t){let r=t.First();super(r===void 0?"Invalid Value":r.message),tw.add(this),Hh.set(this,void 0),iV(this,Hh,t,"f"),this.error=r}Errors(){return new Ma(iO(this,tw,"m",aO).call(this))}};Hh=new WeakMap,tw=new WeakSet,aO=function*(){this.error&&(yield this.error),yield*iO(this,Hh,"f")};function oO(e,t,r){if(!xe(e,t,r))throw new rw(Ca(e,t,r))}function Yh(...e){return e.length===3?oO(e[0],e[1],e[2]):oO(e[0],[],e[1])}function aV(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=Ne(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=Ne(e[r]);return t}function sV(e){return e.map(t=>Ne(t))}function cV(e){return e.slice()}function fV(e){return new Map(Ne([...e.entries()]))}function uV(e){return new Set(Ne([...e.entries()]))}function lV(e){return new Date(e.toISOString())}function Ne(e){if(le(e))return sV(e);if(Tr(e))return lV(e);if(yn(e))return cV(e);if(_w(e))return fV(e);if(Pw(e))return uV(e);if(ge(e))return aV(e);if(Qr(e))return e;throw new Error("ValueClone: Unable to clone value")}var mn=class extends pe{constructor(t,r){super(r),this.schema=t}};function Ae(e){return ji(e)?e():Ne(e)}function pV(e,t){return ue(e,"default")?Ae(e.default):{}}function mV(e,t){return{}}function dV(e,t){if(e.uniqueItems===!0&&!ue(e,"default"))throw new mn(e,"Array with the uniqueItems constraint requires a default value");if("contains"in e&&!ue(e,"default"))throw new mn(e,"Array with the contains constraint requires a default value");return"default"in e?Ae(e.default):e.minItems!==void 0?Array.from({length:e.minItems}).map(r=>dn(e.items,t)):[]}function hV(e,t){return ue(e,"default")?Ae(e.default):(async function*(){})()}function gV(e,t){return ue(e,"default")?Ae(e.default):BigInt(0)}function yV(e,t){return ue(e,"default")?Ae(e.default):!1}function bV(e,t){if(ue(e,"default"))return Ae(e.default);{let r=dn(e.returns,t);return typeof r=="object"&&!Array.isArray(r)?class{constructor(){for(let[n,o]of Object.entries(r)){let i=this;i[n]=o}}}:class{}}}function xV(e,t){return ue(e,"default")?Ae(e.default):e.minimumTimestamp!==void 0?new Date(e.minimumTimestamp):new Date}function wV(e,t){return ue(e,"default")?Ae(e.default):()=>dn(e.returns,t)}function SV(e,t){let r=globalThis.Object.values(e.$defs),n=e.$defs[e.$ref];return dn(n,[...t,...r])}function vV(e,t){return ue(e,"default")?Ae(e.default):e.minimum!==void 0?e.minimum:0}function IV(e,t){if(ue(e,"default"))return Ae(e.default);{let r=e.allOf.reduce((n,o)=>{let i=dn(o,t);return typeof i=="object"?{...n,...i}:i},{});if(!xe(e,t,r))throw new mn(e,"Intersect produced invalid value. Consider using a default value.");return r}}function _V(e,t){return ue(e,"default")?Ae(e.default):(function*(){})()}function PV(e,t){return ue(e,"default")?Ae(e.default):e.const}function TV(e,t){if(ue(e,"default"))return Ae(e.default);throw new mn(e,"Never types cannot be created. Consider using a default value.")}function MV(e,t){if(ue(e,"default"))return Ae(e.default);throw new mn(e,"Not types must have a default value")}function CV(e,t){return ue(e,"default")?Ae(e.default):null}function OV(e,t){return ue(e,"default")?Ae(e.default):e.minimum!==void 0?e.minimum:0}function kV(e,t){if(ue(e,"default"))return Ae(e.default);{let r=new Set(e.required),n={};for(let[o,i]of Object.entries(e.properties))r.has(o)&&(n[o]=dn(i,t));return n}}function RV(e,t){return ue(e,"default")?Ae(e.default):Promise.resolve(dn(e.item,t))}function NV(e,t){return ue(e,"default")?Ae(e.default):{}}function AV(e,t){return ue(e,"default")?Ae(e.default):dn(De(e,t),t)}function EV(e,t){if(ue(e,"default"))return Ae(e.default);throw new mn(e,"RegExp types cannot be created. Consider using a default value.")}function FV(e,t){if(e.pattern!==void 0){if(ue(e,"default"))return Ae(e.default);throw new mn(e,"String types with patterns must specify a default value")}else if(e.format!==void 0){if(ue(e,"default"))return Ae(e.default);throw new mn(e,"String types with formats must specify a default value")}else return ue(e,"default")?Ae(e.default):e.minLength!==void 0?Array.from({length:e.minLength}).map(()=>" ").join(""):""}function $V(e,t){return ue(e,"default")?Ae(e.default):"value"in e?Symbol.for(e.value):Symbol()}function DV(e,t){if(ue(e,"default"))return Ae(e.default);if(!Kl(e))throw new mn(e,"Can only create template literals that produce a finite variants. Consider using a default value.");return zs(e)[0]}function LV(e,t){if(sO++>qV)throw new mn(e,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");return ue(e,"default")?Ae(e.default):dn(De(e,t),t)}function VV(e,t){return ue(e,"default")?Ae(e.default):e.items===void 0?[]:Array.from({length:e.minItems}).map((r,n)=>dn(e.items[n],t))}function jV(e,t){if(ue(e,"default"))return Ae(e.default)}function UV(e,t){if(ue(e,"default"))return Ae(e.default);if(e.anyOf.length===0)throw new Error("ValueCreate.Union: Cannot create Union with zero variants");return dn(e.anyOf[0],t)}function GV(e,t){return ue(e,"default")?Ae(e.default):e.minByteLength!==void 0?new Uint8Array(e.minByteLength):new Uint8Array(0)}function BV(e,t){return ue(e,"default")?Ae(e.default):{}}function zV(e,t){if(ue(e,"default"))return Ae(e.default)}function KV(e,t){if(ue(e,"default"))return Ae(e.default);throw new Error("User defined types must specify a default value")}function dn(e,t){let r=tr(e,t),n=e;switch(n[$]){case"Any":return pV(n,r);case"Argument":return mV(n,r);case"Array":return dV(n,r);case"AsyncIterator":return hV(n,r);case"BigInt":return gV(n,r);case"Boolean":return yV(n,r);case"Constructor":return bV(n,r);case"Date":return xV(n,r);case"Function":return wV(n,r);case"Import":return SV(n,r);case"Integer":return vV(n,r);case"Intersect":return IV(n,r);case"Iterator":return _V(n,r);case"Literal":return PV(n,r);case"Never":return TV(n,r);case"Not":return MV(n,r);case"Null":return CV(n,r);case"Number":return OV(n,r);case"Object":return kV(n,r);case"Promise":return RV(n,r);case"Record":return NV(n,r);case"Ref":return AV(n,r);case"RegExp":return EV(n,r);case"String":return FV(n,r);case"Symbol":return $V(n,r);case"TemplateLiteral":return DV(n,r);case"This":return LV(n,r);case"Tuple":return VV(n,r);case"Undefined":return jV(n,r);case"Union":return UV(n,r);case"Uint8Array":return GV(n,r);case"Unknown":return BV(n,r);case"Void":return zV(n,r);default:if(!Wn.Has(n[$]))throw new mn(n,"Unknown type");return KV(n,r)}}var qV=512,sO=0;function uo(...e){return sO=0,e.length===2?dn(e[0],e[1]):dn(e[0],[])}var Wh=class extends pe{constructor(t,r){super(r),this.schema=t}};function cO(e,t,r){if(e[$]==="Object"&&typeof r=="object"&&!Jo(r)){let n=e,o=Object.getOwnPropertyNames(r);return Object.entries(n.properties).reduce((a,[s,c])=>{let u=c[$]==="Literal"&&c.const===r[s]?100:0,f=xe(c,t,r[s])?10:0,p=o.includes(s)?1:0;return a+(u+f+p)},0)}else if(e[$]==="Union"){let o=e.anyOf.map(i=>De(i,t)).map(i=>cO(i,t,r));return Math.max(...o)}else return xe(e,t,r)?1:0}function HV(e,t,r){let n=e.anyOf.map(a=>De(a,t)),[o,i]=[n[0],0];for(let a of n){let s=cO(a,t,r);s>i&&(o=a,i=s)}return o}function YV(e,t,r){if("default"in e)return typeof r=="function"?e.default:Ne(e.default);{let n=HV(e,t,r);return Cl(n,t,r)}}function WV(e,t,r){return xe(e,t,r)?Ne(r):uo(e,t)}function XV(e,t,r){return xe(e,t,r)?r:uo(e,t)}function ZV(e,t,r){if(xe(e,t,r))return Ne(r);let n=le(r)?Ne(r):uo(e,t),o=st(e.minItems)&&n.lengthnull)]:n,a=(st(e.maxItems)&&o.length>e.maxItems?o.slice(0,e.maxItems):o).map(c=>lo(e.items,t,c));if(e.uniqueItems!==!0)return a;let s=[...new Set(a)];if(!xe(e,t,s))throw new Wh(e,"Array cast produced invalid data due to uniqueItems constraint");return s}function QV(e,t,r){if(xe(e,t,r))return uo(e,t);let n=new Set(e.returns.required||[]),o=function(){};for(let[i,a]of Object.entries(e.returns.properties))!n.has(i)&&r.prototype[i]===void 0||(o.prototype[i]=lo(a,t,r.prototype[i]));return o}function JV(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return lo(o,[...t,...n],r)}function fO(e,t){return ge(e)&&!ge(t)||!ge(e)&&ge(t)?e:!ge(e)||!ge(t)?t:globalThis.Object.getOwnPropertyNames(e).reduce((r,n)=>{let o=n in t?fO(e[n],t[n]):e[n];return{...r,[n]:o}},{})}function ej(e,t,r){if(xe(e,t,r))return r;let n=uo(e,t),o=fO(n,r);return xe(e,t,o)?o:n}function tj(e,t,r){throw new Wh(e,"Never types cannot be cast")}function rj(e,t,r){if(xe(e,t,r))return r;if(r===null||typeof r!="object")return uo(e,t);let n=new Set(e.required||[]),o={};for(let[i,a]of Object.entries(e.properties))!n.has(i)&&r[i]===void 0||(o[i]=lo(a,t,r[i]));if(typeof e.additionalProperties=="object"){let i=Object.getOwnPropertyNames(e.properties);for(let a of Object.getOwnPropertyNames(r))i.includes(a)||(o[a]=lo(e.additionalProperties,t,r[a]))}return o}function nj(e,t,r){if(xe(e,t,r))return Ne(r);if(r===null||typeof r!="object"||Array.isArray(r)||r instanceof Date)return uo(e,t);let n=Object.getOwnPropertyNames(e.patternProperties)[0],o=e.patternProperties[n],i={};for(let[a,s]of Object.entries(r))i[a]=lo(o,t,s);return i}function oj(e,t,r){return lo(De(e,t),t,r)}function ij(e,t,r){return lo(De(e,t),t,r)}function aj(e,t,r){return xe(e,t,r)?Ne(r):le(r)?e.items===void 0?[]:e.items.map((n,o)=>lo(n,t,r[o])):uo(e,t)}function sj(e,t,r){return xe(e,t,r)?Ne(r):YV(e,t,r)}function lo(e,t,r){let n=Ue(e.$id)?tr(e,t):t,o=e;switch(e[$]){case"Array":return ZV(o,n,r);case"Constructor":return QV(o,n,r);case"Import":return JV(o,n,r);case"Intersect":return ej(o,n,r);case"Never":return tj(o,n,r);case"Object":return rj(o,n,r);case"Record":return nj(o,n,r);case"Ref":return oj(o,n,r);case"This":return ij(o,n,r);case"Tuple":return aj(o,n,r);case"Union":return sj(o,n,r);case"Date":case"Symbol":case"Uint8Array":return WV(e,t,r);default:return XV(o,n,r)}}function Cl(...e){return e.length===3?lo(e[0],e[1],e[2]):lo(e[0],[],e[1])}function cj(e){return Gi(e)&&e[$]!=="Unsafe"}function fj(e,t,r){return le(r)?r.map(n=>Wr(e.items,t,n)):r}function uj(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return Wr(o,[...t,...n],r)}function lj(e,t,r){let n=e.unevaluatedProperties,i=e.allOf.map(s=>Wr(s,t,Ne(r))).reduce((s,c)=>ge(c)?{...s,...c}:c,{});if(!ge(r)||!ge(i)||!Gi(n))return i;let a=Vr(e);for(let s of Object.getOwnPropertyNames(r))a.includes(s)||xe(n,t,r[s])&&(i[s]=Wr(n,t,r[s]));return i}function pj(e,t,r){if(!ge(r)||le(r))return r;let n=e.additionalProperties;for(let o of Object.getOwnPropertyNames(r)){if(ue(e.properties,o)){r[o]=Wr(e.properties[o],t,r[o]);continue}if(Gi(n)&&xe(n,t,r[o])){r[o]=Wr(n,t,r[o]);continue}delete r[o]}return r}function mj(e,t,r){if(!ge(r))return r;let n=e.additionalProperties,o=Object.getOwnPropertyNames(r),[i,a]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let c of o){if(s.test(c)){r[c]=Wr(a,t,r[c]);continue}if(Gi(n)&&xe(n,t,r[c])){r[c]=Wr(n,t,r[c]);continue}delete r[c]}return r}function dj(e,t,r){return Wr(De(e,t),t,r)}function hj(e,t,r){return Wr(De(e,t),t,r)}function gj(e,t,r){if(!le(r))return r;if(at(e.items))return[];let n=Math.min(r.length,e.items.length);for(let o=0;on?r.slice(0,n):r}function yj(e,t,r){for(let n of e.anyOf)if(cj(n)&&xe(n,t,r))return Wr(n,t,r);return r}function Wr(e,t,r){let n=Ue(e.$id)?tr(e,t):t,o=e;switch(o[$]){case"Array":return fj(o,n,r);case"Import":return uj(o,n,r);case"Intersect":return lj(o,n,r);case"Object":return pj(o,n,r);case"Record":return mj(o,n,r);case"Ref":return dj(o,n,r);case"This":return hj(o,n,r);case"Tuple":return gj(o,n,r);case"Union":return yj(o,n,r);default:return r}}function Xh(...e){return e.length===3?Wr(e[0],e[1],e[2]):Wr(e[0],[],e[1])}function Zh(e){return Ue(e)&&!isNaN(e)&&!isNaN(parseFloat(e))}function bj(e){return Un(e)||yo(e)||st(e)}function Ol(e){return e===!0||st(e)&&e===1||Un(e)&&e===BigInt("1")||Ue(e)&&(e.toLowerCase()==="true"||e==="1")}function kl(e){return e===!1||st(e)&&(e===0||Object.is(e,-0))||Un(e)&&e===BigInt("0")||Ue(e)&&(e.toLowerCase()==="false"||e==="0"||e==="-0")}function xj(e){return Ue(e)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(e)}function wj(e){return Ue(e)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(e)}function Sj(e){return Ue(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(e)}function vj(e){return Ue(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(e)}function Ij(e){return Ue(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(e)}function _j(e,t){let r=lO(e);return r===t?r:e}function Pj(e,t){let r=pO(e);return r===t?r:e}function Tj(e,t){let r=uO(e);return r===t?r:e}function Mj(e,t){return Ue(e.const)?_j(t,e.const):st(e.const)?Pj(t,e.const):yo(e.const)?Tj(t,e.const):t}function uO(e){return Ol(e)?!0:kl(e)?!1:e}function Cj(e){let t=r=>r.split(".")[0];return Zh(e)?BigInt(t(e)):st(e)?BigInt(Math.trunc(e)):kl(e)?BigInt(0):Ol(e)?BigInt(1):e}function lO(e){return ei(e)&&e.description!==void 0?e.description.toString():bj(e)?e.toString():e}function pO(e){return Zh(e)?parseFloat(e):Ol(e)?1:kl(e)?0:e}function Oj(e){return Zh(e)?parseInt(e):st(e)?Math.trunc(e):Ol(e)?1:kl(e)?0:e}function kj(e){return Ue(e)&&e.toLowerCase()==="null"?null:e}function Rj(e){return Ue(e)&&e==="undefined"?void 0:e}function Nj(e){return Tr(e)?e:st(e)?new Date(e):Ol(e)?new Date(1):kl(e)?new Date(0):Zh(e)?new Date(parseInt(e)):wj(e)?new Date(`1970-01-01T${e}.000Z`):xj(e)?new Date(`1970-01-01T${e}`):vj(e)?new Date(`${e}.000Z`):Sj(e)?new Date(e):Ij(e)?new Date(`${e}T00:00:00.000Z`):e}function Aj(e,t,r){return(le(r)?r:[r]).map(o=>po(e.items,t,o))}function Ej(e,t,r){return Cj(r)}function Fj(e,t,r){return uO(r)}function $j(e,t,r){return Nj(r)}function Dj(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return po(o,[...t,...n],r)}function Lj(e,t,r){return Oj(r)}function Vj(e,t,r){return e.allOf.reduce((n,o)=>po(o,t,n),r)}function jj(e,t,r){return Mj(e,r)}function Uj(e,t,r){return kj(r)}function Gj(e,t,r){return pO(r)}function Bj(e,t,r){if(!ge(r)||le(r))return r;for(let n of Object.getOwnPropertyNames(e.properties))ue(r,n)&&(r[n]=po(e.properties[n],t,r[n]));return r}function zj(e,t,r){if(!(ge(r)&&!le(r)))return r;let o=Object.getOwnPropertyNames(e.patternProperties)[0],i=e.patternProperties[o];for(let[a,s]of Object.entries(r))r[a]=po(i,t,s);return r}function Kj(e,t,r){return po(De(e,t),t,r)}function qj(e,t,r){return lO(r)}function Hj(e,t,r){return Ue(r)||st(r)?Symbol(r):r}function Yj(e,t,r){return po(De(e,t),t,r)}function Wj(e,t,r){return le(r)&&!at(e.items)?r.map((o,i)=>imo(e.items,t,`${r}/${i}`,o))):dt(e,r,n)}function Jj(e,t,r,n){if(!ge(n)||Qr(n))return dt(e,r,n);let o=Xl(e),i=o.map(f=>f[0]),a={...n};for(let[f,p]of o)f in a&&(a[f]=mo(p,t,`${r}/${f}`,a[f]));if(!Ee(e.unevaluatedProperties))return dt(e,r,a);let s=Object.getOwnPropertyNames(a),c=e.unevaluatedProperties,u={...a};for(let f of s)i.includes(f)||(u[f]=dt(c,`${r}/${f}`,u[f]));return dt(e,r,u)}function eU(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref],a=mo(i,[...t,...o],r,n);return dt(e,r,a)}function tU(e,t,r,n){return dt(e,r,mo(e.not,t,r,n))}function rU(e,t,r,n){if(!ge(n))return dt(e,r,n);let o=Vr(e),i={...n};for(let u of o)ue(i,u)&&(at(i[u])&&(!ni(e.properties[u])||Rt.IsExactOptionalProperty(i,u))||(i[u]=mo(e.properties[u],t,`${r}/${u}`,i[u])));if(!lt(e.additionalProperties))return dt(e,r,i);let a=Object.getOwnPropertyNames(i),s=e.additionalProperties,c={...i};for(let u of a)o.includes(u)||(c[u]=dt(s,`${r}/${u}`,c[u]));return dt(e,r,c)}function nU(e,t,r,n){if(!ge(n))return dt(e,r,n);let o=Object.getOwnPropertyNames(e.patternProperties)[0],i=new RegExp(o),a={...n};for(let f of Object.getOwnPropertyNames(n))i.test(f)&&(a[f]=mo(e.patternProperties[o],t,`${r}/${f}`,a[f]));if(!lt(e.additionalProperties))return dt(e,r,a);let s=Object.getOwnPropertyNames(a),c=e.additionalProperties,u={...a};for(let f of s)i.test(f)||(u[f]=dt(c,`${r}/${f}`,u[f]));return dt(e,r,u)}function oU(e,t,r,n){let o=De(e,t);return dt(e,r,mo(o,t,r,n))}function iU(e,t,r,n){let o=De(e,t);return dt(e,r,mo(o,t,r,n))}function aU(e,t,r,n){return le(n)&&le(e.items)?dt(e,r,e.items.map((o,i)=>mo(o,t,`${r}/${i}`,n[i]))):dt(e,r,n)}function sU(e,t,r,n){for(let o of e.anyOf){if(!xe(o,t,n))continue;let i=mo(o,t,r,n);return dt(e,r,i)}return dt(e,r,n)}function mo(e,t,r,n){let o=tr(e,t),i=e;switch(e[$]){case"Array":return Qj(i,o,r,n);case"Import":return eU(i,o,r,n);case"Intersect":return Jj(i,o,r,n);case"Not":return tU(i,o,r,n);case"Object":return rU(i,o,r,n);case"Record":return nU(i,o,r,n);case"Ref":return oU(i,o,r,n);case"Symbol":return dt(i,r,n);case"This":return iU(i,o,r,n);case"Tuple":return aU(i,o,r,n);case"Union":return sU(i,o,r,n);default:return dt(i,r,n)}}function eg(e,t,r){return mo(e,t,"",r)}var tg=class extends pe{constructor(t,r,n){super("The encoded value does not match the expected schema"),this.schema=t,this.value=r,this.error=n}},ow=class extends pe{constructor(t,r,n,o){super(`${o instanceof Error?o.message:"Unknown error"}`),this.schema=t,this.path=r,this.value=n,this.error=o}};function dr(e,t,r){try{return Ee(e)?e[ut].Encode(r):r}catch(n){throw new ow(e,t,r,n)}}function cU(e,t,r,n){let o=dr(e,r,n);return le(o)?o.map((i,a)=>ho(e.items,t,`${r}/${a}`,i)):o}function fU(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref],a=dr(e,r,n);return ho(i,[...t,...o],r,a)}function uU(e,t,r,n){let o=dr(e,r,n);if(!ge(n)||Qr(n))return o;let i=Xl(e),a=i.map(p=>p[0]),s={...o};for(let[p,l]of i)p in s&&(s[p]=ho(l,t,`${r}/${p}`,s[p]));if(!Ee(e.unevaluatedProperties))return s;let c=Object.getOwnPropertyNames(s),u=e.unevaluatedProperties,f={...s};for(let p of c)a.includes(p)||(f[p]=dr(u,`${r}/${p}`,f[p]));return f}function lU(e,t,r,n){return dr(e.not,r,dr(e,r,n))}function pU(e,t,r,n){let o=dr(e,r,n);if(!ge(o))return o;let i=Vr(e),a={...o};for(let f of i)ue(a,f)&&(at(a[f])&&(!ni(e.properties[f])||Rt.IsExactOptionalProperty(a,f))||(a[f]=ho(e.properties[f],t,`${r}/${f}`,a[f])));if(!lt(e.additionalProperties))return a;let s=Object.getOwnPropertyNames(a),c=e.additionalProperties,u={...a};for(let f of s)i.includes(f)||(u[f]=dr(c,`${r}/${f}`,u[f]));return u}function mU(e,t,r,n){let o=dr(e,r,n);if(!ge(n))return o;let i=Object.getOwnPropertyNames(e.patternProperties)[0],a=new RegExp(i),s={...o};for(let p of Object.getOwnPropertyNames(n))a.test(p)&&(s[p]=ho(e.patternProperties[i],t,`${r}/${p}`,s[p]));if(!lt(e.additionalProperties))return s;let c=Object.getOwnPropertyNames(s),u=e.additionalProperties,f={...s};for(let p of c)a.test(p)||(f[p]=dr(u,`${r}/${p}`,f[p]));return f}function dU(e,t,r,n){let o=De(e,t),i=ho(o,t,r,n);return dr(e,r,i)}function hU(e,t,r,n){let o=De(e,t),i=ho(o,t,r,n);return dr(e,r,i)}function gU(e,t,r,n){let o=dr(e,r,n);return le(e.items)?e.items.map((i,a)=>ho(i,t,`${r}/${a}`,o[a])):[]}function yU(e,t,r,n){for(let o of e.anyOf){if(!xe(o,t,n))continue;let i=ho(o,t,r,n);return dr(e,r,i)}for(let o of e.anyOf){let i=ho(o,t,r,n);if(xe(e,t,i))return dr(e,r,i)}return dr(e,r,n)}function ho(e,t,r,n){let o=tr(e,t),i=e;switch(e[$]){case"Array":return cU(i,o,r,n);case"Import":return fU(i,o,r,n);case"Intersect":return uU(i,o,r,n);case"Not":return lU(i,o,r,n);case"Object":return pU(i,o,r,n);case"Record":return mU(i,o,r,n);case"Ref":return dU(i,o,r,n);case"This":return hU(i,o,r,n);case"Tuple":return gU(i,o,r,n);case"Union":return yU(i,o,r,n);default:return dr(i,r,n)}}function rg(e,t,r){return ho(e,t,"",r)}function bU(e,t){return Ee(e)||Gt(e.items,t)}function xU(e,t){return Ee(e)||Gt(e.items,t)}function wU(e,t){return Ee(e)||Gt(e.returns,t)||e.parameters.some(r=>Gt(r,t))}function SU(e,t){return Ee(e)||Gt(e.returns,t)||e.parameters.some(r=>Gt(r,t))}function vU(e,t){return Ee(e)||Ee(e.unevaluatedProperties)||e.allOf.some(r=>Gt(r,t))}function IU(e,t){let r=globalThis.Object.getOwnPropertyNames(e.$defs).reduce((o,i)=>[...o,e.$defs[i]],[]),n=e.$defs[e.$ref];return Ee(e)||Gt(n,[...r,...t])}function _U(e,t){return Ee(e)||Gt(e.items,t)}function PU(e,t){return Ee(e)||Gt(e.not,t)}function TU(e,t){return Ee(e)||Object.values(e.properties).some(r=>Gt(r,t))||lt(e.additionalProperties)&&Gt(e.additionalProperties,t)}function MU(e,t){return Ee(e)||Gt(e.item,t)}function CU(e,t){let r=Object.getOwnPropertyNames(e.patternProperties)[0],n=e.patternProperties[r];return Ee(e)||Gt(n,t)||lt(e.additionalProperties)&&Ee(e.additionalProperties)}function OU(e,t){return Ee(e)?!0:Gt(De(e,t),t)}function kU(e,t){return Ee(e)?!0:Gt(De(e,t),t)}function RU(e,t){return Ee(e)||!at(e.items)&&e.items.some(r=>Gt(r,t))}function NU(e,t){return Ee(e)||e.anyOf.some(r=>Gt(r,t))}function Gt(e,t){let r=tr(e,t),n=e;if(e.$id&&iw.has(e.$id))return!1;switch(e.$id&&iw.add(e.$id),e[$]){case"Array":return bU(n,r);case"AsyncIterator":return xU(n,r);case"Constructor":return wU(n,r);case"Function":return SU(n,r);case"Import":return IU(n,r);case"Intersect":return vU(n,r);case"Iterator":return _U(n,r);case"Not":return PU(n,r);case"Object":return TU(n,r);case"Promise":return MU(n,r);case"Record":return CU(n,r);case"Ref":return OU(n,r);case"This":return kU(n,r);case"Tuple":return RU(n,r);case"Union":return NU(n,r);default:return Ee(e)}}var iw=new Set;function Cs(e,t){return iw.clear(),Gt(e,t)}function mO(...e){let[t,r,n]=e.length===3?[e[0],e[1],e[2]]:[e[0],[],e[1]];if(!xe(t,r,n))throw new Jh(t,n,Ca(t,r,n).First());return Cs(t,r)?eg(t,r,n):n}function Di(e,t){let r=ue(e,"default")?e.default:void 0,n=ji(r)?r():Ne(r);return at(t)?n:ge(t)&&ge(n)?Object.assign(n,t):t}function aw(e){return Gi(e)&&"default"in e}function AU(e,t,r){if(le(r)){for(let o=0;o{let a=Er(i,t,n);return ge(a)?{...o,...a}:a},{})}function DU(e,t,r){let n=Di(e,r);if(!ge(n))return n;let o=Object.getOwnPropertyNames(e.properties);for(let i of o){let a=Er(e.properties[i],t,n[i]);at(a)||(n[i]=Er(e.properties[i],t,n[i]))}if(!aw(e.additionalProperties))return n;for(let i of Object.getOwnPropertyNames(n))o.includes(i)||(n[i]=Er(e.additionalProperties,t,n[i]));return n}function LU(e,t,r){let n=Di(e,r);if(!ge(n))return n;let o=e.additionalProperties,[i,a]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let c of Object.getOwnPropertyNames(n))s.test(c)&&aw(a)&&(n[c]=Er(a,t,n[c]));if(!aw(o))return n;for(let c of Object.getOwnPropertyNames(n))s.test(c)||(n[c]=Er(o,t,n[c]));return n}function VU(e,t,r){return Er(De(e,t),t,Di(e,r))}function jU(e,t,r){return Er(De(e,t),t,r)}function UU(e,t,r){let n=Di(e,r);if(!le(n)||at(e.items))return n;let[o,i]=[e.items,Math.max(e.items.length,n.length)];for(let a=0;azU,Format:()=>Rl,Get:()=>qU,Has:()=>KU,Set:()=>BU,ValuePointerRootDeleteError:()=>ig,ValuePointerRootSetError:()=>og});var og=class extends pe{constructor(t,r,n){super("Cannot set root value"),this.value=t,this.path=r,this.update=n}},ig=class extends pe{constructor(t,r){super("Cannot delete root value"),this.value=t,this.path=r}};function dO(e){return e.indexOf("~")===-1?e:e.replace(/~1/g,"/").replace(/~0/g,"~")}function*Rl(e){if(e==="")return;let[t,r]=[0,0];for(let n=0;nOs(e[o],t[o]))}function YU(e,t){return Tr(t)&&e.getTime()===t.getTime()}function WU(e,t){return!le(t)||e.length!==t.length?!1:e.every((r,n)=>Os(r,t[n]))}function XU(e,t){return!yn(t)||e.length!==t.length||Object.getPrototypeOf(e).constructor.name!==Object.getPrototypeOf(t).constructor.name?!1:e.every((r,n)=>Os(r,t[n]))}function ZU(e,t){return e===t}function Os(e,t){if(Tr(e))return YU(e,t);if(yn(e))return XU(e,t);if(le(e))return WU(e,t);if(ge(e))return HU(e,t);if(Qr(e))return ZU(e,t);throw new Error("ValueEquals: Unable to compare value")}var QU=$e({type:Oe("insert"),path:Mr(),value:Xn()}),JU=$e({type:Oe("update"),path:Mr(),value:Xn()}),eG=$e({type:Oe("delete"),path:Mr()}),gO=Fe([QU,JU,eG]),ag=class extends pe{constructor(t,r){super(r),this.value=t}};function sg(e,t){return{type:"update",path:e,value:t}}function yO(e,t){return{type:"insert",path:e,value:t}}function bO(e){return{type:"delete",path:e}}function hO(e){if(globalThis.Object.getOwnPropertySymbols(e).length>0)throw new ag(e,"Cannot diff objects with symbols")}function*tG(e,t,r){if(hO(t),hO(r),!Ag(r))return yield sg(e,r);let n=globalThis.Object.getOwnPropertyNames(t),o=globalThis.Object.getOwnPropertyNames(r);for(let i of o)ue(t,i)||(yield yO(`${e}/${i}`,r[i]));for(let i of n)ue(r,i)&&(Os(t,r)||(yield*cg(`${e}/${i}`,t[i],r[i])));for(let i of n)ue(r,i)||(yield bO(`${e}/${i}`))}function*rG(e,t,r){if(!le(r))return yield sg(e,r);for(let n=0;n=0;n--)n0&&e[0].path===""&&e[0].type==="update"}function aG(e){return e.length===0}function wO(e,t){if(iG(t))return Ne(t[0].value);if(aG(t))return Ne(e);let r=Ne(e);for(let n of t)switch(n.type){case"insert":{go.Set(r,n.path,n.value);break}case"update":{go.Set(r,n.path,n.value);break}case"delete":{go.Delete(r,n.path);break}}return r}function SO(...e){let[t,r,n]=e.length===3?[e[0],e[1],e[2]]:[e[0],[],e[1]],o=Cs(t,r)?rg(t,r,n):n;if(!xe(t,r,o))throw new tg(t,o,Ca(t,r,o).First());return o}function fg(e){return ge(e)&&!le(e)}var ug=class extends pe{constructor(t){super(t)}};function sG(e,t,r,n){if(!fg(r))go.Set(e,t,Ne(n));else{let o=Object.getOwnPropertyNames(r),i=Object.getOwnPropertyNames(n);for(let a of o)i.includes(a)||delete r[a];for(let a of i)o.includes(a)||(r[a]=null);for(let a of i)sw(e,`${t}/${a}`,r[a],n[a])}}function cG(e,t,r,n){if(!le(r))go.Set(e,t,Ne(n));else{for(let o=0;o(Yh(i,a,s),s)],["Cast",(i,a,s)=>Cl(i,a,s)],["Clean",(i,a,s)=>Xh(i,a,s)],["Clone",(i,a,s)=>Ne(s)],["Convert",(i,a,s)=>Qh(i,a,s)],["Decode",(i,a,s)=>Cs(i,a)?eg(i,a,s):s],["Default",(i,a,s)=>ng(i,a,s)],["Encode",(i,a,s)=>Cs(i,a)?rg(i,a,s):s]]);function r(i){t.delete(i)}e.Delete=r;function n(i,a){t.set(i,a)}e.Set=n;function o(i){return t.get(i)}e.Get=o})(cw||(cw={}));var _O=["Clone","Clean","Default","Convert","Assert","Decode"];function pG(e,t,r,n){return e.reduce((o,i)=>{let a=cw.Get(i);if(at(a))throw new lg(`Unable to find Parse operation '${i}'`);return a(t,r,o)},n)}function PO(...e){let[t,r,n,o]=e.length===4?[e[0],e[1],e[2],e[3]]:e.length===3?le(e[0])?[e[0],e[1],[],e[2]]:[_O,e[0],e[1],e[2]]:e.length===2?[_O,e[0],[],e[1]]:(()=>{throw new lg("Invalid Arguments")})();return pG(t,r,n,o)}var bf={};Ra(bf,{Assert:()=>Yh,Cast:()=>Cl,Check:()=>xe,Clean:()=>Xh,Clone:()=>Ne,Convert:()=>Qh,Create:()=>uo,Decode:()=>mO,Default:()=>ng,Diff:()=>xO,Edit:()=>gO,Encode:()=>SO,Equal:()=>Os,Errors:()=>Ca,Hash:()=>yf,Mutate:()=>IO,Parse:()=>PO,Patch:()=>wO,ValueErrorIterator:()=>Ma});function pg(e){switch(e.type){case"summary_metrics":return X1(e);case"performance_table":return H1(e);case"prediction_distribution":return Y1(e);case"roc":return j1(e);case"calibration":return Z6(e);case"precision_recall":return G1(e);case"gains":return B1(e);case"lift":return z1(e);case"decision_curve":return K1(e);case"interventions_avoided":return q1(e)}}function Yo(e,t){let r=e.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"id";/^[a-z]/i.test(r)||(r=`id-${r}`);let n=r,o=1;for(;t.has(n);)n=`${r}-${o}`,o++;return t.add(n),n}function fw(e,t){let r=(n,o=!0)=>{e.forEach((i,a)=>{let s=a===n;i.setAttribute("aria-selected",s?"true":"false"),i.tabIndex=s?0:-1,t[a].hidden=!s}),o&&e[n].focus()};e.forEach((n,o)=>{n.addEventListener("click",()=>{r(o,!1)}),n.addEventListener("keydown",i=>{let a=null;i.key==="ArrowRight"?a=(o+1)%e.length:i.key==="ArrowLeft"?a=(o-1+e.length)%e.length:i.key==="Home"?a=0:i.key==="End"&&(a=e.length-1),a!==null&&(i.preventDefault(),r(a,!0))})})}function mG(e){if(!bf.Check(up,e))throw new Error("Invalid ReportSpec");pp(e);let t=document.createElement("div");if(t.className="rtichoke-report",e.title){let r=document.createElement("h1");r.className="rtichoke-report__title",r.textContent=e.title,t.append(r)}for(let r of e.components){let n=document.createElement("section");if(n.className="rtichoke-report__component",n.dataset.componentId=r.id,r.title){let i=document.createElement("h2");i.className="rtichoke-report__component-title",i.textContent=r.title,n.append(i)}let o=document.createElement("div");o.className="rtichoke-report__component-content",o.append(pg(r.spec)),n.append(o),t.append(n)}return t}function dG(e,t){if(!bf.Check(lp,e))throw new Error("Invalid ReportSpec");pp(e);let r=!!e.title,n=new Set,o=document.createElement("article");if(o.className="rtichoke-report",e.title){let m=document.createElement("header");m.className="rtichoke-report__header";let h=document.createElement("h1");h.className="rtichoke-report__title",h.textContent=e.title,m.append(h),o.append(m)}let i=[],a=0;for(let m of e.sections){let h=Yo(m.id,n);a++;let b=[];for(let y of m.items)if(y.type==="group"){let x=Yo(y.id,n);a++,b.push({rawId:y.id,title:y.title,domId:x})}i.push({rawId:m.id,title:m.title,domId:h,groups:b})}if(a>1){let m=document.createElement("nav");m.className="rtichoke-report__nav",m.setAttribute("aria-label","Report sections");let h=document.createElement("ul");h.className="rtichoke-report__nav-list";for(let b of i){let y=document.createElement("li");y.className="rtichoke-report__nav-item";let x=document.createElement("a");if(x.className="rtichoke-report__nav-link",x.href=`#${b.domId}`,x.textContent=b.title,y.append(x),b.groups.length>0){let g=document.createElement("ul");g.className="rtichoke-report__nav-sublist";for(let S of b.groups){let w=document.createElement("li");w.className="rtichoke-report__nav-subitem";let _=document.createElement("a");_.className="rtichoke-report__nav-link",_.href=`#${S.domId}`,_.textContent=S.title,w.append(_),g.append(w)}y.append(g)}h.append(y)}m.append(h),o.append(m)}let s=r?"h2":"h1",c=r?"h3":"h2",u=r?"h3":"h2",f=r?"h4":"h3",p=(m,h)=>{let b=document.createElement("section");if(b.className="rtichoke-report__component",b.dataset.componentId=m.id,m.title){let x=Yo(`heading-${m.id}`,n),g=document.createElement(h);g.className="rtichoke-report__component-title",g.id=x,g.textContent=m.title,b.setAttribute("aria-labelledby",x),b.append(g)}let y=document.createElement("div");return y.className="rtichoke-report__component-content",y.append(pg(m.spec)),b.append(y),b},l=(m,h,b)=>{let y=document.createElement("section");y.className="rtichoke-report__group",y.id=h.domId,y.dataset.groupId=m.id;let x=Yo(`heading-${m.id}`,n),g=document.createElement(c);if(g.className="rtichoke-report__group-title",b&&g.classList.add("rtichoke-report__group-title--tab-panel"),g.id=x,g.textContent=m.title,y.setAttribute("aria-labelledby",b??x),y.append(g),t.groupPresentation==="tabs"){let S=document.createElement("div");S.className="rtichoke-report__tablist",S.setAttribute("role","tablist"),S.setAttribute("aria-labelledby",x);let w=[],_=[];m.components.forEach((v,I)=>{let T=Yo(`tab-${m.id}-${v.id}`,n),P=Yo(`panel-${m.id}-${v.id}`,n),R=document.createElement("button");R.className="rtichoke-report__tab",R.type="button",R.id=T,R.setAttribute("role","tab"),R.setAttribute("aria-controls",P),R.setAttribute("aria-selected",I===0?"true":"false"),R.tabIndex=I===0?0:-1,R.textContent=v.title||v.id;let k=document.createElement("section");k.className="rtichoke-report__component rtichoke-report__tabpanel",k.id=P,k.setAttribute("role","tabpanel"),k.setAttribute("aria-labelledby",T),k.tabIndex=0,k.dataset.componentId=v.id,k.hidden=I!==0;let N=document.createElement("div");N.className="rtichoke-report__component-content",N.append(pg(v.spec)),k.append(N),w.push(R),_.push(k),S.append(R)}),fw(w,_),y.append(S,..._)}else for(let S of m.components)y.append(p(S,f));return y};for(let m=0;mT.type==="group"),w=t.sectionGroupPresentation==="tabs"&&S.length>1,_=0,v=!1,I=0;for(;I1){let N=document.createElement("div");N.className="rtichoke-report__tablist",N.setAttribute("role","tablist"),N.setAttribute("aria-labelledby",x);let B=[],V=[];R.forEach((C,G)=>{let j=Yo(`tab-${h.id}-${C.id}`,n),H=Yo(`panel-${h.id}-${C.id}`,n),U=document.createElement("button");U.className="rtichoke-report__tab",U.type="button",U.id=j,U.setAttribute("role","tab"),U.setAttribute("aria-controls",H),U.setAttribute("aria-selected",G===0?"true":"false"),U.tabIndex=G===0?0:-1,U.textContent=C.title||C.id;let z=document.createElement("section");z.className="rtichoke-report__component rtichoke-report__tabpanel",z.id=H,z.setAttribute("role","tabpanel"),z.setAttribute("aria-labelledby",j),z.tabIndex=0,z.dataset.componentId=C.id,z.hidden=G!==0;let Y=document.createElement("div");Y.className="rtichoke-report__component-content",Y.append(pg(C.spec)),z.append(Y),B.push(U),V.push(z),N.append(U)}),fw(B,V),y.append(N,...V),I=P}else y.append(p(T,u)),I++}else if(T.type==="group"){if(w){if(!v){v=!0;let P=document.createElement("div");P.className="rtichoke-report__tablist rtichoke-report__section-group-tablist",P.setAttribute("role","tablist"),P.setAttribute("aria-labelledby",x);let R=[],k=[];S.forEach((N,B)=>{let V=b.groups[B],C=Yo(`section-group-tab-${h.id}-${N.id}`,n),G=document.createElement("button");G.className="rtichoke-report__tab",G.type="button",G.id=C,G.setAttribute("role","tab"),G.setAttribute("aria-controls",V.domId),G.setAttribute("aria-selected",B===0?"true":"false"),G.tabIndex=B===0?0:-1,G.textContent=N.title;let j=l(N,V,C);j.classList.add("rtichoke-report__tabpanel"),j.setAttribute("role","tabpanel"),j.setAttribute("aria-labelledby",C),j.tabIndex=0,j.hidden=B!==0,R.push(G),k.push(j),P.append(G)}),fw(R,k),y.append(P,...k)}}else y.append(l(T,b.groups[_++]));I++}}o.append(y)}return o}function hG(e,t){if(!e||typeof e!="object")throw new Error("Invalid ReportSpec");let r=t?.groupPresentation??"stacked",n=t?.sectionGroupPresentation??"stacked",o=t?.sectionComponentPresentation??"stacked";if(t!==void 0&&(typeof t!="object"||t===null||t.groupPresentation!==void 0&&t.groupPresentation!=="stacked"&&t.groupPresentation!=="tabs"))throw new Error("Invalid render options: groupPresentation must be 'stacked' or 'tabs'");if(t!==void 0&&t.sectionGroupPresentation!==void 0&&t.sectionGroupPresentation!=="stacked"&&t.sectionGroupPresentation!=="tabs")throw new Error("Invalid render options: sectionGroupPresentation must be 'stacked' or 'tabs'");if(t!==void 0&&t.sectionComponentPresentation!==void 0&&t.sectionComponentPresentation!=="stacked"&&t.sectionComponentPresentation!=="tabs")throw new Error("Invalid render options: sectionComponentPresentation must be 'stacked' or 'tabs'");if(e.schemaVersion==="1.0")return mG(e);if(e.schemaVersion==="1.1")return dG(e,{groupPresentation:r,sectionGroupPresentation:n,sectionComponentPresentation:o});throw new Error("Invalid ReportSpec")}var gG=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"];function yG(e){let t=e.data.map(n=>({...n,false_positive_rate:1-n.specificity})),r=[jt(t,{x:"false_positive_rate",y:"sensitivity",stroke:"model",strokeWidth:2,tip:!0})];return e.references?.some(n=>n.type==="identity")&&r.unshift(jt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",stroke:"#BEBEBE",strokeWidth:2})),qo({width:600,height:600,marginLeft:64,marginBottom:56,style:{background:"transparent",color:"#222",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"13px"},x:{label:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6},y:{label:e.yAxis.label,domain:e.yAxis.domain,grid:!1,ticks:6},color:{legend:!0,range:gG},marks:r})}export{Py as AUROCSummaryMetricSchema,ly as CalibrationSpecSchema,GS as CalibrationV2DatumSchema,dy as CalibrationV2SpecSchema,YS as DecisionCurveV2DatumSchema,WS as DecisionCurveV2EvaluationSchema,JS as DecisionCurveV2ReferenceSchema,XS as DecisionCurveV2SeriesSchema,yy as DecisionCurveV2SpecSchema,jS as DiscreteCalibrationV2DatumSchema,LS as DisplayGroupingSpecSchema,DS as DisplayRoleSchema,on as EvaluationSpecSchema,by as GainsV2SpecSchema,ov as InterventionsAvoidedTreatAllReferenceSchema,iv as InterventionsAvoidedTreatNoneReferenceSchema,tv as InterventionsAvoidedV2DatumSchema,rv as InterventionsAvoidedV2EvaluationSchema,av as InterventionsAvoidedV2ReferenceSchema,nv as InterventionsAvoidedV2SeriesSchema,xy as InterventionsAvoidedV2SpecSchema,wy as LiftV2SpecSchema,jf as OperatingPointDimensionSchema,zS as OperatingPointSchema,ai as OperatingPointSpecSchema,KS as PerformanceEvaluationContextSchema,BS as PerformanceMetricDefinitionSchema,hy as PerformanceMetricIdSchema,xr as PerformanceMetricValueSchema,qS as PerformanceTableRowSchema,gy as PerformanceTableSpecSchema,_y as PopulationSummaryOwnerSpecSchema,Sy as PrecisionRecallV2SpecSchema,sv as PredictionDistributionBinSchema,cv as PredictionDistributionOperatingPointSchema,Uf as PredictionDistributionSpecSchema,Ty as PrevalenceSummaryMetricSchema,_r as RTICHOKE_BROWSER_THEME,Y6 as RTICHOKE_COLORS,VS as ReferenceLineV2SpecSchema,uv as ReportComponentSchema,Oy as ReportComponentV1_1Schema,lv as ReportGroupSchema,pv as ReportSectionSchema,BR as ReportSpecSchema,up as ReportSpecV1_0Schema,lp as ReportSpecV1_1Schema,py as RocSpecSchema,vy as RocV2SpecSchema,MR as RtichokeChartSpecSchema,Iy as RtichokeChartSpecV2Schema,rc as SeriesSpecSchema,US as SmoothCalibrationV2DatumSchema,Cy as StandaloneCanonicalSpecSchema,jR as SummaryMetricSchema,My as SummaryMetricsSpecSchema,QS as TreatAllReferenceSchema,ZS as TreatNoneReferenceSchema,ky as assertPerformanceTableReferentialIntegrity,Gf as assertPredictionDistributionReferentialIntegrity,pp as assertReportReferentialIntegrity,Ry as assertSummaryMetricsReferentialIntegrity,si as assertV2ReferentialIntegrity,qR as calibrationSpecFromRtichokeRows,XR as calibrationV2SpecFromRtichokeRows,W6 as extractOperatingPointValues,J6 as preparePredictionDistributionPlotData,j$ as renderCalibration,aD as renderCalibrationV2,K1 as renderDecisionCurveV2,B1 as renderGainsV2,q1 as renderInterventionsAvoidedV2,z1 as renderLiftV2,H1 as renderPerformanceTable,G1 as renderPrecisionRecallV2,Y1 as renderPredictionDistribution,hG as renderReport,yG as renderRoc,j1 as renderRocV2,X1 as renderSummaryMetrics,Ts as renderWithOperatingPointSelection,Ln as resolveV2RenderOptions,KR as rocSpecFromRtichokePython,zR as rocSpecFromRtichokeR,WR as rocV2SpecFromRtichokePython,YR as rocV2SpecFromRtichokeR}; +}`)).call(wu,r);for(let B of u){let{channels:q,values:X,facets:J}=b.get(B);if(h===void 0||B.facet==="super"){let A=null;if(J&&(A=J[0],A=B.filter(A,q,X),A.length===0))continue;let K=B.render(A,g,X,v,I);if(K==null)continue;P.appendChild(K)}else{let A;for(let K of h){if(!(B.facetAnchor?.(h,N,K)??!K.empty))continue;let Y=null;if(J){let Z=p.has(B);if(Y=J[Z?K.i:0],Y=B.filter(Y,q,X),Y.length===0)continue;!Z&&Y===J[0]&&(Y=hM(Y)),Y.fx=K.x,Y.fy=K.y,Y.fi=K.i}let ee=B.render(Y,g,X,_,I);if(ee!=null){(A??=$r(P).append("g")).append(()=>ee).datum(K);for(let Z of["aria-label","aria-description","aria-hidden","transform"])ee.hasAttribute(Z)&&(A.attr(Z,ee.getAttribute(Z)),ee.removeAttribute(Z))}}A?.selectChildren().each(G)}}let z=ok(y,I,e),{figure:U=n!=null||o!=null||i!=null||z.length>0}=e;U&&(R=T.createElement("figure"),R.className=`${c}-figure`,R.style.maxWidth="initial",n!=null&&R.append(xk(T,n,"h2")),o!=null&&R.append(xk(T,o,"h3")),R.append(...z,P),i!=null&&R.append(fD(T,i)),"value"in P&&(R.value=P.value,delete P.value)),R.scale=FC(g.scales),R.legend=tk(y,I,e);let W=pC();return W>0&&$r(P).append("text").attr("x",D).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${W.toLocaleString("en-US")} warning${W===1?"":"s"}. Please check the console.`),R}function xk(e,t,r){if(t.ownerDocument)return t;let n=e.createElement(r);return n.append(t),n}function fD(e,t){let r=e.createElement("figcaption");return r.append(t),r}function wk(e){return e.flat(1/0).filter(t=>t!=null).map(lD)}function lD(e){return typeof e.render=="function"?e:new bw(e)}var bw=class extends Ze{constructor(t){if(typeof t!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=t}render(){}};function xw(e,t){for(let r in e)_k(e[r],t);return e}function _k(e,t){let{scale:r,transform:n=!0}=e;if(r==null||!n)return;let{type:o,percent:i,interval:a,transform:s=i?c=>c==null?NaN:c*100:u1(a,o)}=t[r]??{};s!=null&&(e.value=We(e.value,s),e.transform=!1)}function pD(e){for(let t in e)v1(t,e[t])}function Xl(e,t,r,n=fM){for(let{channels:o}of t.values())for(let i in o){let a=o[i],{scale:s}=a;if(s!=null&&n(s))if(s==="projection"){if(!qC(r)){let c=r.x?.domain===void 0,u=r.y?.domain===void 0;if(c||u){let[f,p]=YC(a);c&&yw(e,"x",f),u&&yw(e,"y",p)}}}else yw(e,s,a)}return e}function yw(e,t,r){let n=e.get(t);n!==void 0?n.push(r):e.set(t,[r])}function mD(e,t){if(e==null)return;let{x:r,y:n}=e;if(r==null&&n==null)return;let o=zi(e.data);if(o==null)throw new Error("missing facet data");let i={};r!=null&&(i.fx=pu(o,{value:r,scale:"fx"})),n!=null&&(i.fy=pu(o,{value:n,scale:"fy"})),xw(i,t);let a=Xh(o,i);return{channels:i,groups:a,data:e.data}}function Sk(e,t,r){if(e.facet===null||e.facet==="super")return;let{fx:n,fy:o}=e;if(n!=null||o!=null){let c=zi(e.data??n??o);if(c===void 0)throw new Error(`missing facet data in ${e.ariaLabel}`);if(c===null)return;let u={};return n!=null&&(u.fx=pu(c,{value:n,scale:"fx"})),o!=null&&(u.fy=pu(c,{value:o,scale:"fy"})),xw(u,r),{channels:u,groups:Xh(c,u)}}if(t===void 0)return;let{channels:i,groups:a,data:s}=t;if(e.facet!=="auto"||e.data===s)return{channels:i,groups:a};s.length>0&&(a.size>1||a.size===1&&i.fx&&i.fy&&[...a][0][1].size>1)&&Oa(zi(e.data))===Oa(s)&&Jr(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function dD(e,t={}){return Bi({...t,x:null,y:null},(r,n,o,i,a,s)=>s.getMarkState(e))}function hD(e){let t=[];for(let r of e){let n=r.tip;if(n){n===!0?n={}:typeof n=="string"&&(n={pointer:n});let{pointer:o,preferredAnchor:i}=n;o=/^x$/i.test(o)?oO:/^y$/i.test(o)?q1:nO,n=o(dD(r,n)),n.title=null,i===void 0&&(n.preferredAnchor=o===q1?"left":"bottom");let a=bk(r.data,n);a.facet=r.facet,a.facetAnchor=r.facetAnchor,t.push(a)}}return t}function gD(e,t,r){let{projection:n,x:o={},y:i={},fx:a={},fy:s={},axis:c,grid:u,facet:f={},facet:{axis:p=c,grid:l}=f,x:{axis:m=c,grid:h=m===null?null:u}=o,y:{axis:b=c,grid:y=b===null?null:u}=i,fx:{axis:x=p,grid:g=x===null?null:l}=a,fy:{axis:S=p,grid:w=S===null?null:l}=s}=r;(n||!iu(o)&&!vk("x",e))&&(m=h=null),(n||!iu(i)&&!vk("y",e))&&(b=y=null),t.has("fx")||(x=g=null),t.has("fy")||(S=w=null),m===void 0&&(m=!wg(e,"x")),b===void 0&&(b=!wg(e,"y")),x===void 0&&(x=!wg(e,"fx")),S===void 0&&(S=!wg(e,"fy")),m===!0&&(m="bottom"),b===!0&&(b="left"),x===!0&&(x=m==="top"||m===null?"bottom":"top"),S===!0&&(S=b==="right"||b===null?"left":"right");let _=[];return xg(_,w,VO,s),bg(_,S,AO,"right","left",f,s),xg(_,g,UO,a),bg(_,x,FO,"top","bottom",f,a),xg(_,y,LO,i),bg(_,b,fw,"left","right",r,i),xg(_,h,jO,o),bg(_,m,lw,"bottom","top",r,o),_}function bg(e,t,r,n,o,i,a){if(!t)return;let s=yD(t);a=bD(s?n:t,i,a);let{line:c}=a;(r===fw||r===lw)&&c&&!Cs(c)&&e.push(dw(xD(a))),e.push(r(a)),s&&e.push(r({...a,anchor:o,label:null}))}function xg(e,t,r,n){!t||Cs(t)||e.push(r(wD(t,n)))}function yD(e){return/^\s*both\s*$/i.test(e)}function bD(e,t,{line:r=t.line,ticks:n,tickSize:o,tickSpacing:i,tickPadding:a,tickFormat:s,tickRotate:c,fontVariant:u,ariaLabel:f,ariaDescription:p,label:l=t.label,labelAnchor:m,labelArrow:h=t.labelArrow,labelOffset:b}){return{anchor:e,line:r,ticks:n,tickSize:o,tickSpacing:i,tickPadding:a,tickFormat:s,tickRotate:c,fontVariant:u,ariaLabel:f,ariaDescription:p,label:l,labelAnchor:m,labelArrow:h,labelOffset:b}}function xD(e){let{anchor:t,line:r}=e;return{anchor:t,facetAnchor:t+"-empty",stroke:r===!0?void 0:r}}function wD(e,{stroke:t=uu(e)?e:void 0,ticks:r=SD(e)?e:void 0,tickSpacing:n,ariaLabel:o,ariaDescription:i}){return{stroke:t,ticks:r,tickSpacing:n,ariaLabel:o,ariaDescription:i}}function SD(e){switch(typeof e){case"number":return!0;case"string":return!uu(e)}return Qr(e)||typeof e?.range=="function"}function wg(e,t){let r=`${t}-axis `;return e.some(n=>n.ariaLabel?.startsWith(r))}function vk(e,t){for(let r of t)for(let n in r.channels){let{scale:o}=r.channels[n];if(o===e||o==="projection")return!0}return!1}function vD(e,t){for(let r in e){let n=e[r],o=t[r];n.label===void 0&&o&&(n.label=o.label)}return e}function ID({fx:e,fy:t},r){let{marginTop:n,marginRight:o,marginBottom:i,marginLeft:a,width:s,height:c}=Yh(r),u=e&&Ik(e),f=t&&Ik(t);return{marginTop:t?f[0]:n,marginRight:e?s-u[1]:o,marginBottom:t?c-f[1]:i,marginLeft:e?u[0]:a,inset:{marginTop:r.marginTop,marginRight:r.marginRight,marginBottom:r.marginBottom,marginLeft:r.marginLeft},width:s,height:c}}function Ik(e){let t=e.domain();if(t.length===0)return[0,e.bandwidth()];let r=e(t[0]),n=e(t[t.length-1]);return n{let H=Dl(dt(ne,g),$?.[S]),E=dt(ne,T),re=dt(ne,J),oe=dt(ne,A),be=VM(c,{z:E,fill:re,stroke:oe}),we=[],Ve=[],ie=H&&_([]),fe=E&&X([]),Qe=re&&Y([]),ht=oe&&Z([]),ot=e&&p([]),Vt=e&&m([]),In=t&&b([]),Zi=t&&x([]),nn=AD(e,t,ne),zr=0;for(let qt of c)qt.initialize(ne);a&&a.initialize(ne),i&&i.initialize(ne);for(let qt of M){let ja=[];for(let ko of c)ko.scope("facet",qt);a&&a.scope("facet",qt),i&&i.scope("facet",qt);for(let[ko,Ua]of x1(qt,be))for(let[$u,_n]of x1(Ua,H))for(let[le,he]of nn(_n))if(be&&(he.z=ko),!(i&&!i.reduce(le,he))){ja.push(zr++),Ve.push(o.reduceIndex(le,ne,he)),H&&ie.push($u),E&&fe.push(be===E?ko:E[(le.length>0?le:_n)[0]]),re&&Qe.push(be===re?ko:re[(le.length>0?le:_n)[0]]),oe&&ht.push(be===oe?ko:oe[(le.length>0?le:_n)[0]]),ot&&(ot.push(he.x1),Vt.push(he.x2)),In&&(In.push(he.y1),Zi.push(he.y2));for(let Se of c)Se.reduce(le,he);a&&a.reduce(le,he)}we.push(ja)}return jM(we,a,s),{data:Ve,facets:we}}),...!Vl(c,"x")&&(f?{x1:f,x2:l,x:$l(f,l)}:{x:v,x1:C,x2:N}),...!Vl(c,"y")&&(h?{y1:h,y2:y,y:$l(h,y)}:{y:I,y1:G,y2:D}),...w&&{[S]:w},...Object.fromEntries(c.map(({name:ne,output:M})=>[ne,M]))}}function CD({cumulative:e,domain:t,thresholds:r,interval:n,...o},i){return[o,{cumulative:e,domain:t,thresholds:r,interval:n,...i}]}function OD(e,{cumulative:t,domain:r,thresholds:n,interval:o},i){return e={...oi(e)},e.domain===void 0&&(e.domain=r),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=n),e.interval===void 0&&(e.interval=o),e.value===void 0&&(e.value=i),e.thresholds=kD(e.thresholds,e.interval),e}function Tk(e){if(e==null)return;let{value:t,cumulative:r,domain:n=Yt,thresholds:o}=e,i=a=>{let s=dt(a,t),c;if(Et(s)||ED(o)){s=We(s,a1,Float64Array);let[f,p]=typeof n=="function"?n(s):n,l=typeof o=="function"&&!ka(o)?o(s,f,p):o;typeof l=="number"&&(l=cl(f,p,l)),ka(l)&&(n===Yt&&(f=l.floor(f),p=l.offset(l.floor(p))),l=l.range(f,l.offset(p))),c=l}else{s=ti(s);let[f,p]=typeof n=="function"?n(s):n,l=typeof o=="function"&&!ka(o)?o(s,f,p):o;if(typeof l=="number")if(n===Yt){let m=ts(f,p,l);if(isFinite(m))if(m>0){let h=Math.round(f/m),b=Math.round(p/m);h*m<=f||--h,b*m>p||++b;let y=b-h+1;l=new Float64Array(y);for(let x=0;xp||++b;let y=b-h+1;l=new Float64Array(y);for(let x=0;x0?FD:Sw)(u,c,s),u};return i.label=xo(t),i}function kD(e,t,r=Mk){if(e===void 0)return t===void 0?r:ni(t);if(typeof e=="string"){switch(e.toLowerCase()){case"freedman-diaconis":return qp;case"scott":return mf;case"sturges":return zp;case"auto":return Mk}return Al(e)}return e}function ND(e,t){return LM(e,t,Ok)}function Ok(e,t,r){return y1(e,t,r,kk)}function kk(e,t,r){return b1(e,t,r,Nk)}function Nk(e,t){return jl(e,t,RD)}function RD(e){switch(`${e}`.toLowerCase()){case"x":return DD;case"x1":return VD;case"x2":return jD;case"y":return LD;case"y1":return UD;case"y2":return zD;case"z":return UM}throw new Error(`invalid bin reduce: ${e}`)}function Mk(e,t,r){return Math.min(200,mf(e,t,r))}function ED(e){return bM(e)||Qr(e)&&Et(e)}function AD(e,t,r){let n=e?.(r),o=t?.(r);return n&&o?function*(i){let a=n.bin(i);for(let[s,[c,u]]of n.entries()){let f=o.bin(a[s]);for(let[p,[l,m]]of o.entries())yield[f[p],{data:r,x1:c,y1:l,x2:u,y2:m}]}}:n?function*(i){let a=n.bin(i);for(let[s,[c,u]]of n.entries())yield[a[s],{data:r,x1:c,x2:u}]}:function*(i){let a=o.bin(i);for(let[s,[c,u]]of o.entries())yield[a[s],{data:r,y1:c,y2:u}]}}function Sw(e,t,r){return t=ti(t),n=>{let o=e.map(()=>[]);for(let i of n)o[Ii(t,r[i])-1]?.push(i);return o}}function FD(e,t,r){let n=Sw(e,t,r);return o=>{let i=n(o);for(let a=1,s=i.length;a{let i=n(o);for(let a=i.length-2;a>=0;--a){let s=i[a+1],c=i[a];for(let u of s)c.push(u)}return i}}function Rk(e,t){let r=(+e+ +t)/2;return e instanceof Date?new Date(r):r}var DD={reduceIndex(e,t,{x1:r,x2:n}){return Rk(r,n)}},LD={reduceIndex(e,t,{y1:r,y2:n}){return Rk(r,n)}},VD={reduceIndex(e,t,{x1:r}){return r}},jD={reduceIndex(e,t,{x2:r}){return r}},UD={reduceIndex(e,t,{y1:r}){return r}},zD={reduceIndex(e,t,{y2:r}){return r}};var BD={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Sg=class extends Ze{constructor(t,r={}){let{x1:n,y1:o,x2:i,y2:a,z:s,curve:c,tension:u}=r;super(t,{x1:{value:n,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:a,scale:"y",optional:!0},z:{value:su(r),optional:!0}},r,BD),this.z=s,this.curve=ww(c,u)}filter(t){return t}render(t,r,n,o,i){let{x1:a,y1:s,x2:c=a,y2:u=s}=n;return De("svg:g",i).call($t,this,o,i).call(Dt,this,r,0,0).call(f=>f.selectAll().data(ng(t,[a,s,c,u],this,n)).enter().append("path").call(It,this).call(rg,this,n).attr("d",Sx().curve(this.curve).defined(p=>p>=0).x0(p=>a[p]).y0(p=>s[p]).x1(p=>c[p]).y1(p=>u[p]))).node()}};function vw(e,t){let{x:r=ei,...n}=Ck(t);return new Sg(e,Mu(Tu({...n,x1:r,x2:void 0},r===ei?"y2":"y")))}var GD={ariaLabel:"bar"},Iw=class extends Ze{constructor(t,r,n={},o=GD){super(t,r,n,o),Hl(this,n),Yl(this,n)}render(t,r,n,o,i){let{rx:a,ry:s,rx1y1:c,rx1y2:u,rx2y1:f,rx2y2:p}=this,l=this._x(r,n,o),m=this._y(r,n,o),h=this._width(r,n,o),b=this._height(r,n,o);return De("svg:g",i).call($t,this,o,i).call(this._transform,this,r).call(y=>y.selectAll().data(t).enter().call(c||u||f||p?x=>x.append("path").call(It,this).call(Wl,l,m,Ek(l,h),Ek(m,b),this).call(yr,this,n):x=>x.append("rect").call(It,this).attr("x",l).attr("width",h).attr("y",m).attr("height",b).call(de,"rx",a).call(de,"ry",s).call(yr,this,n))).node()}_x(t,{x:r},{marginLeft:n}){let{insetLeft:o}=this;return r?i=>r[i]+o:n+o}_y(t,{y:r},{marginTop:n}){let{insetTop:o}=this;return r?i=>r[i]+o:n+o}_width({x:t},{x:r},{marginRight:n,marginLeft:o,width:i}){let{insetLeft:a,insetRight:s}=this,c=r&&t?t.bandwidth():i-n-o;return Math.max(0,c-a-s)}_height({y:t},{y:r},{marginTop:n,marginBottom:o,height:i}){let{insetTop:a,insetBottom:s}=this,c=r&&t?t.bandwidth():i-n-o;return Math.max(0,c-a-s)}};function Ek(e,t){return typeof e=="function"&&typeof t=="function"?r=>e(r)+t(r):typeof e=="function"?r=>e(r)+t:typeof t=="function"?r=>e+t(r):e+t}var vg=class extends Iw{constructor(t,r={},n){let{x:o,y1:i,y2:a}=r;super(t,{y1:{value:i,scale:"y"},y2:{value:a,scale:"y"},x:{value:o,scale:"x",type:"band",optional:!0}},r,n)}_transform(t,r,{y:n}){t.call(Dt,r,{y:n},0,0)}_y({y:t},{y1:r,y2:n},{marginTop:o}){let{insetTop:i}=this;return wo(t)?o+i:a=>Math.min(r[a],n[a])+i}_height({y:t},{y1:r,y2:n},{marginTop:o,marginBottom:i,height:a}){let{insetTop:s,insetBottom:c}=this;return wo(t)?a-o-i-s-c:u=>Math.max(0,Math.abs(n[u]-r[u])-s-c)}};function _w(e,t={}){return Dh(t)||(t={...t,x:ei,y2:nt}),new vg(e,Mu(ag(Tu(t))))}var KD={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function qD(e){return e.sort===void 0&&e.reverse===void 0?FM({channel:"-r"},e):e}var Ig=class extends Ze{constructor(t,r={}){let{x:n,y:o,r:i,rotate:a,symbol:s=Vi,frameAnchor:c}=r,[u,f]=Ct(a,0),[p,l]=RM(s),[m,h]=Ct(i,p==null?3:4.5);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:m,scale:"r",filter:Ts,optional:!0},rotate:{value:u,optional:!0},symbol:{value:p,scale:"auto",optional:!0}},qD(r),KD),this.r=h,this.rotate=f,this.symbol=l,this.frameAnchor=Na(c);let{channels:b}=this,{symbol:y}=b;if(y){let{fill:x,stroke:g}=b;y.hint={fill:x?x.value===y.value?"color":"currentColor":this.fill??"currentColor",stroke:g?g.value===y.value?"color":"currentColor":this.stroke??"none"}}}render(t,r,n,o,i){let{x:a,y:s}=r,{x:c,y:u,r:f,rotate:p,symbol:l}=n,{r:m,rotate:h,symbol:b}=this,[y,x]=si(this,o),g=b===Vi,S=f?void 0:m*m*Math.PI;return eu(m)&&(t=[]),De("svg:g",i).call($t,this,o,i).call(Dt,this,{x:c&&a,y:u&&s}).call(w=>w.selectAll().data(t).enter().append(g?"circle":"path").call(It,this).call(g?_=>{_.attr("cx",c?v=>c[v]:y).attr("cy",u?v=>u[v]:x).attr("r",f?v=>f[v]:m)}:_=>{_.attr("transform",vu`translate(${c?v=>c[v]:y},${u?v=>u[v]:x})${p?v=>` rotate(${p[v]})`:h?` rotate(${h})`:""}`).attr("d",f&&l?v=>{let I=po();return l[v].draw(I,f[v]*f[v]*Math.PI),I}:f?v=>{let I=po();return b.draw(I,f[v]*f[v]*Math.PI),I}:l?v=>{let I=po();return l[v].draw(I,S),I}:(()=>{let v=po();return b.draw(v,S),v})())}).call(yr,this,n)).node()}};function Ls(e,{x:t,y:r,...n}={}){return n.frameAnchor===void 0&&([t,r]=bo(t,r)),new Ig(e,{...n,x:t,y:r})}var HD={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},_g=class extends Ze{constructor(t,r={}){let{x:n,y:o,z:i,curve:a,tension:s}=r;super(t,{x:{value:n,scale:"x"},y:{value:o,scale:"y"},z:{value:su(r),optional:!0}},r,HD),this.z=i,this.curve=Pk(a,s),Kl(this,r)}filter(t){return t}project(t,r,n){this.curve!==Zl&&super.project(t,r,n)}render(t,r,n,o,i){let{x:a,y:s}=n,{curve:c}=this;return De("svg:g",i).call($t,this,o,i).call(Dt,this,r).call(u=>u.selectAll().data(ng(t,[a,s],this,n)).enter().append("path").call(It,this).call(rg,this,n).call(cO,this,n,i).attr("d",c===Zl&&i.projection?YD(i.path(),a,s):yl().curve(c).defined(f=>f>=0).x(f=>a[f]).y(f=>s[f]))).node()}};function YD(e,t,r){return t=ti(t),r=ti(r),n=>{let o=[],i=[o];for(let a of n)a===-1?(o=[],i.push(o)):o.push([t[a],r[a]]);return e({type:"MultiLineString",coordinates:i})}}function Zt(e,{x:t,y:r,...n}={}){return[t,r]=bo(t,r),new _g(e,{...n,x:t,y:r})}Ze.prototype.plot=function({marks:e=[],...t}={}){return ci({...t,marks:[...e,this]})};var WD=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"],Ak={background:"transparent",color:"#222",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"13px"};function XD(e,t){let r=[...t?[e.model]:[],`Predicted: ${e.predicted.toFixed(3)}`,`Observed: ${e.observed.toFixed(3)}`];return e.method==="discrete"&&e.events!==void 0&&e.total!==void 0&&(r[r.length-1]+=` ( ${e.events} / ${e.total} )`),r.join(` +`)}function ZD(e){let r=[...new Set(e.data.map(m=>m.model))].length>1,n=r?WD:["#000000"],o=e.data.map(m=>({...m,tooltip:XD(m,r)})),i=[];e.references?.some(m=>m.type==="identity")&&i.push(Zt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",stroke:"#BEBEBE",strokeWidth:2,strokeDasharray:"4,4"})),i.push(Zt(o,{x:"predicted",y:"observed",stroke:"model",strokeWidth:2,title:"tooltip",tip:!0}));let a=o.filter(m=>m.method==="discrete");a.length>0&&i.push(Ls(a,{x:"predicted",y:"observed",fill:"model",stroke:"white",strokeWidth:1.5,r:5,title:"tooltip",tip:!0}));let s=(e.distribution?.length??0)>0,c=ci({width:600,height:s?480:600,marginLeft:64,marginBottom:s?16:56,style:Ak,x:{label:s?null:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6,axis:s?null:"bottom"},y:{label:e.yAxis.label,domain:e.yAxis.domain,grid:!1,ticks:6},color:{legend:r,range:n},marks:i});if(!s||!e.distribution)return c;let u=e.distribution.map(m=>({...m,tooltip:`${r?`${m.model} +`:""}${m.count} observations in [${(m.midpoint-m.binWidth/2).toFixed(3)}, ${(m.midpoint+m.binWidth/2).toFixed(3)}]`})),f=new Set(e.distribution.map(m=>m.model)).size,p=ci({width:600,height:120,marginLeft:64,marginTop:0,marginBottom:48,style:Ak,x:{label:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6},y:{label:null,grid:!1,ticks:3},color:{legend:!1,range:n},marks:[Yi(u,{x1:m=>m.midpoint-m.binWidth/2,x2:m=>m.midpoint+m.binWidth/2,y:"count",fill:"model",fillOpacity:1/Math.max(f,1),title:"tooltip",tip:!0})]}),l=document.createElement("div");return l.style.width="600px",l.style.maxWidth="100%",l.append(c,p),l}var QD=0,$k=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"],Or={width:600,height:500,margins:{top:28,right:28,bottom:58,left:66},background:"#ffffff",frame:{color:"#444444",width:1},typography:{fontFamily:"Arial, Helvetica, sans-serif",fontSize:12,axisTitleSize:14,axisTitleWeight:400,legendSize:12},axis:{color:"#444444",tickSize:5,tickPadding:7,ticks:6,numberFormat:".1f"},colors:$k,line:{width:2,dash:null},marker:{radius:2.5,fill:null,stroke:"#ffffff",strokeWidth:.5},reference:{color:"#BEBEBE",width:1.5,dash:"2,3"},legend:{position:"top",swatchWidth:12,columns:null},tip:{digits:3},predictionDistribution:{emphasizedTrue:"#009E73",nonEmphasizedTrue:"#F4FFF0",emphasizedFalse:"#FAC8CD",nonEmphasizedFalse:"#FFF7F8",observedPositive:"#4C5454",observedNegative:"#E0E0E0"}};function JD(e){let t=e.theme??{};return{...Or,width:e.width??Or.width,height:e.height??Or.height,background:t.background??Or.background,colors:e.colors??Or.colors,margins:{...Or.margins,...t.margins},frame:{...Or.frame,...t.frame},typography:{...Or.typography,...t.typography},axis:{...Or.axis,...t.axis},line:{...Or.line,...t.line},marker:{...Or.marker,...t.marker},reference:{...Or.reference,...t.reference},legend:{...Or.legend,...t.legend},tip:{...Or.tip,...t.tip},predictionDistribution:{...Or.predictionDistribution,...t.predictionDistribution}}}function en(e,t={}){let r=t.allGroups??(typeof e=="number"?Array.from({length:e},(s,c)=>`group-${c+1}`):[...e]),n=JD(t);if(!Number.isFinite(n.width)||n.width<=0||!Number.isFinite(n.height)||n.height<=0)throw new Error("Renderer width and height must be positive finite numbers");if(!Number.isInteger(n.tip.digits)||n.tip.digits<0||n.tip.digits>20)throw new Error("Renderer tip digits must be an integer between 0 and 20");let o=r.length<=1?["#000000"]:[...n.colors];if(o.length1;return{theme:{...n,colors:i},groups:r,colors:i,colorByGroup:new Map(r.map((s,c)=>[s,i[c]])),showLegend:a}}function Dk(e){if(!e.operatingPoint)return[];let t=e.operatingPoint.dimension,r=t==="probability_threshold"?e.type==="decision_curve"||e.type==="interventions_avoided"?"threshold":"cutoff":"ppcr";if(t==="probability_threshold"){let n=e.series.map(i=>i.id);if(n.length===0)return[];let o=null;for(let i of n){let s=e.data.filter(u=>u.seriesId===i).map(u=>u[r]).filter(u=>typeof u=="number"&&Number.isFinite(u)),c=new Set(s);if(o===null)o=c;else{let u=o;o=new Set(Array.from(u).filter(f=>c.has(f)))}}return Array.from(o??[]).sort((i,a)=>i-a)}else{let n=e.data.map(i=>i[r]).filter(i=>typeof i=="number"&&Number.isFinite(i));return[...new Set(n)].sort((i,a)=>i-a)}}function eL(e,t){let r=e.series.filter(o=>t.has(o.display.group)),n=new Set(r.map(o=>o.id));return{...e,series:r,data:e.data.filter(o=>n.has(o.seriesId))}}function Cu(e,t,r,n,o){let i=Ql(e),a=n;if(i.length<=1)return r(e,t,a,g=>{a=g,o&&o(g)});let s={...t,allGroups:i,showLegend:!1},c=en(i,s),{theme:u,colorByGroup:f}=c,p=new Map(e.series.map(g=>[g.display.group,g.display.label])),l=new Set(i),m=document.createElement("div");m.className="rtichoke-legend-chart",m.style.maxWidth=`${u.width}px`;let h=document.createElement("div");h.className="rtichoke-legend",h.style.paddingLeft=`${u.margins.left}px`,h.setAttribute("aria-label","Chart legend");let b=new Map;i.forEach(g=>{let S=document.createElement("button");S.type="button",S.className="rtichoke-legend-item",S.setAttribute("aria-pressed","true");let w=p.get(g)??g;S.setAttribute("aria-label",`Toggle series ${w}`);let _=document.createElement("span");_.className="rtichoke-legend-swatch";let v=document.createElement("span");v.className="rtichoke-legend-line",v.style.backgroundColor=f.get(g)??"#000000",_.append(v);let I=document.createElement("span");I.className="rtichoke-legend-label",I.textContent=w,S.append(_,I),h.append(S),b.set(g,S)});let y=document.createElement("div");y.className="rtichoke-legend-content";let x=()=>{let g=eL(e,l),S=r(g,s,a,w=>{a=w,o&&o(w)});y.replaceChildren(S)};return i.forEach(g=>{let S=b.get(g);S.addEventListener("click",()=>{if(l.has(g)){if(l.size<=1)return;l.delete(g),S.setAttribute("aria-pressed","false")}else l.add(g),S.setAttribute("aria-pressed","true");x()})}),m.append(h,y),x(),m}function Us(e,t,r,n,o){if(!e.operatingPoint)return r(e,void 0);let i=Dk(e);if(i.length===0)return r(e,void 0);let a=en(Ql(e),t),{theme:s}=a,c=document.createElement("div");c.className="rtichoke-operating-point-chart",c.style.maxWidth=`${s.width}px`;let u=document.createElement("div");u.className="rtichoke-operating-point-control",u.style.marginLeft=`${s.margins.left}px`,u.style.marginRight=`${s.margins.right}px`;let f=e.operatingPoint.dimension==="probability_threshold"?"Probability threshold":"Predicted positives condition rate (PPCR)",p=e.operatingPoint.dimension==="probability_threshold"?"Probability threshold":"PPCR",l=`rtichoke-v2-slider-${++QD}`,m=document.createElement("label");m.className="rtichoke-operating-point-label",m.htmlFor=l;let h=document.createElement("span");h.textContent=`${p}: `;let b=document.createElement("span");b.className="rtichoke-operating-point-value";let y=document.createElement("input");y.type="range",y.id=l,y.className="rtichoke-operating-point-slider",y.min="0",y.max=String(i.length-1),y.step="1",y.setAttribute("aria-label",f);let x=0;if(n!==void 0){let v=i.indexOf(n);v!==-1&&(x=v)}let g=i[x];y.value=String(x);let S=g.toFixed(s.tip.digits);b.textContent=S,y.setAttribute("aria-valuetext",S),o&&o(g),m.append(h,b),u.append(m,y);let w=document.createElement("div");w.className="rtichoke-operating-point-content";let _=v=>{w.replaceChildren(r(e,v))};return y.addEventListener("input",()=>{let v=Number(y.value),I=i[v],T=I.toFixed(s.tip.digits);b.textContent=T,y.setAttribute("aria-valuetext",T),o&&o(I),_(I)}),c.append(w,u),_(g),c}function tL(e){return new Map(e.series.map(t=>[t.id,t.display]))}function Ql(e){return[...new Set(e.series.map(t=>t.display.group))]}function Pg(e,t){let r=tL(e);return t.map(n=>({...n,group:r.get(n.seriesId).group,label:r.get(n.seriesId).label}))}var rL={true_positives:"TP",true_negatives:"TN",false_positives:"FP",false_negatives:"FN",sensitivity:"Sensitivity",specificity:"Specificity",false_positive_rate:"FPR",ppv:"PPV",npv:"NPV",lift:"Lift",predicted_positives:"Predicted Positives",ppcr:"PPCR",net_benefit:"Net Benefit",net_benefit_interventions_avoided:"Interventions Avoided"},nL=new Set(["true_positives","true_negatives","false_positives","false_negatives","predicted_positives"]);function oL(e,t,r){if(t!=null)return nL.has(e)&&Number.isInteger(t)?String(t):t.toFixed(r)}function $a(e,t,r,n){if(!e||e.length===0)return[];let o=new Map;for(let a of e)a.estimate!==void 0&&a.estimate!==null&&o.set(a.metricId,a.estimate);let i=[];for(let a of t)if(!(n&&n.has(a))&&o.has(a)){let s=o.get(a),c=rL[a]??a,u=oL(a,s,r);u!==void 0&&i.push([c,u])}return i}function ze(e,t){if(e!=null)return typeof e=="number"?e.toFixed(t):String(e)}function Lt(e,t){return t.filter(([,r])=>r!==void 0).map(([r,n])=>`${r}: ${typeof n=="number"?n.toFixed(e):String(n)}`).join(` +`)}function Tg(e,t){let{theme:r}=e,n=new Map(t.series.map(o=>[o.display.group,o.display.label]));return{width:r.width,height:r.height,marginTop:r.margins.top,marginRight:r.margins.right,marginBottom:r.margins.bottom,marginLeft:r.margins.left,style:{background:r.background,color:r.axis.color,fontFamily:r.typography.fontFamily,fontSize:`${r.typography.fontSize}px`},color:{legend:e.showLegend,domain:e.groups,range:e.colors,tickFormat:o=>n.get(o)??o}}}function Fa(e,t,r){return{label:t,domain:r,grid:!1,line:!0,ticks:e.axis.ticks,tickSize:e.axis.tickSize,tickPadding:e.axis.tickPadding,tickFormat:e.axis.numberFormat}}function Tw(e,t){let r={stroke:t.reference.color,strokeWidth:t.reference.width,strokeDasharray:t.reference.dash},n=[];for(let o of e.references??[])o.type==="identity"?n.push(Zt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",...r})):o.type==="horizontal"&&o.value!==void 0?n.push(vo([o.value],{...r})):o.type==="path"&&o.points&&n.push(Zt(o.points,{x:"x",y:"y",...r}));return n}function Mg(e,t){return e}function iL(e,t,r=40){let n=new Map;for(let i of e){let a=t(i),s=n.get(a);s||(s=[],n.set(a,s)),s.push(i)}let o=[];for(let i of n.values()){let a=i.length;if(a<=r)o.push(...i);else{let s=new Set;for(let c=0;cf.seriesId,40),a=n.theme,s=o?.marker?.radius??a.marker.radius,c=o?.marker?.stroke??a.marker.stroke,u=o?.marker?.strokeWidth??a.marker.strokeWidth;return Ls(i,{ariaLabel:"ordinary-point",x:t,y:r,fill:"group",stroke:c,strokeWidth:u,r:s})}function ku(e,t,r,n,o){let i=n.groups.length>1,a=o?.marker?.fill??(i?"group":"#f6e3be"),s=o?.marker?.stroke??"#1a1a1a",c=o?.marker?.strokeWidth??2.5,u=o?.marker?.radius??6;return Ls(e,{className:"rtichoke-selected-operating-point",x:t,y:r,fill:a,stroke:s,strokeWidth:c,r:u})}function aL(e,t,r){let n=e/255,o=t/255,i=r/255,a=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4),s=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),c=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4);return .2126*a+.7152*s+.0722*c}function sL(e){let t=hn(e);if(!t)return"#ffffff";let r=t.rgb(),n=aL(r.r,r.g,r.b),o=(1+.05)/(n+.05);return(n+.05)/(0+.05)>=o?"#000000":"#ffffff"}function zs(e,t){let r=typeof SVGSVGElement<"u"&&e instanceof SVGSVGElement?e:e.querySelector("svg[class^='plot-']")??e.querySelector("svg");if(!r)return;let n=$r(r),o=e.scale?.("x")??r.scale?.("x"),i=e.scale?.("y")??r.scale?.("y");if(!o||!i)return;let a=t.items.filter(y=>Number.isFinite(y.xValue)&&Number.isFinite(y.yValue)).map(y=>({...y,px:o.apply(y.xValue),py:i.apply(y.yValue)})),s=(t.selectedOperatingPointItems??[]).filter(y=>Number.isFinite(y.xValue)&&Number.isFinite(y.yValue)).map(y=>({...y,px:o.apply(y.xValue),py:i.apply(y.yValue)})),c=n.select("g.rtichoke-hover-tooltip");c.empty()&&(c=n.append("g").attr("class","rtichoke-hover-tooltip").style("pointer-events","none").style("display","none"),c.append("path").attr("class","rtichoke-hover-tooltip-arrow"),c.append("rect").attr("class","rtichoke-hover-tooltip-bg"),c.append("text").attr("class","rtichoke-hover-tooltip-text"));let u=c.select("path.rtichoke-hover-tooltip-arrow"),f=c.select("rect.rtichoke-hover-tooltip-bg"),p=c.select("text.rtichoke-hover-tooltip-text");function l(y,x,g,S=!1){let w=x.filter(([,Y])=>Y!=null);if(w.length===0)return;let _=S||x.length===1&&x[0][0]==="Reference",v=t.tooltipStyle==="light",I=t.tooltipStyle==="plotly",T=v?"#ffffff":_&&!I?"#f3f4f6":g,P=v?"#1f2937":I?_?t.theme.frame.color:"#ffffff":_?"#1f2937":sL(g),R=v?"#d1d5db":I?_?t.theme.frame.color:"#ffffff":_?"#d1d5db":"#374151";p.attr("fill",P).attr("font-family",t.theme.typography.fontFamily).attr("font-size",I?"13px":"11px").attr("transform",null),p.selectAll("tspan").remove(),w.forEach(([Y,ee],Z)=>{let ne=p.append("tspan").attr("x","0").attr("dy",Z===0?"1em":I?"1.3em":"1.2em"),M=Y!==""&&Y!==null&&Y!==void 0,$=ee!==""&&ee!==null&&ee!==void 0;M&&$?(ne.append("tspan").attr("font-weight","bold").text(`${Y}: `),ne.append("tspan").attr("font-weight","normal").text(String(ee))):M?ne.append("tspan").attr("font-weight","bold").text(String(Y)):$&&ne.append("tspan").attr("font-weight","normal").text(String(ee))});let C=p.node();if(!C)return;let N=C.getBBox(),G=8,D=6,O=Math.max(N.width+G*2,60),z=N.height+D*2,[U,W]=ma(y,r),B=r?.viewBox?.baseVal,q=B&&B.width>0?B.width:r?.width?.baseVal?.value||t.theme.width,X=B&&B.height>0?B.height:r?.height?.baseVal?.value||t.theme.height,J=t.theme.margins,A=U+12;A+O>q-J.right&&(A=U-12-O),AX-J.bottom&&(K=X-J.bottom-z),I){let Y=A>U?A:A+O;u.attr("d",`M${U},${W} L${Y},${W-6} L${Y},${W+6} Z`).attr("fill",T).attr("stroke",R).attr("stroke-width",1)}else u.attr("d",null);f.attr("x",A).attr("y",K).attr("width",O).attr("height",z).attr("fill",T).attr("stroke",R).attr("stroke-width",1).attr("rx",I?0:4).attr("ry",I?0:4).style("filter",I?"none":"drop-shadow(0 2px 4px rgba(0,0,0,0.15))"),p.attr("transform",`translate(${A+G-N.x}, ${K+D-N.y})`),c.style("display",null)}function m(){c.style("display","none")}let h=n.select("g.rtichoke-hover-targets");h.empty()||h.remove(),h=n.insert("g","g.rtichoke-hover-tooltip").attr("class","rtichoke-hover-targets");for(let y of t.references??[]){let x=y.backgroundColor??"#f3f4f6",g=[["Reference",y.label]];if(y.type==="identity"){let S=y.points&&y.points.length>=2?y.points:[{x:0,y:0},{x:1,y:1}],w=S[0].x,_=S[S.length-1].x,v=S.map((I,T)=>`${T===0?"M":"L"}${o.apply(I.x)},${i.apply(I.y)}`).join(" ");h.append("path").attr("class","rtichoke-hover-ref-target").attr("d",v).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",I=>{if(t.tooltipStyle==="light"||t.tooltipStyle==="plotly"){let[T]=ma(I,r),P=Array.isArray(o.range)?o.range[0]:typeof o.range=="function"?o.range()[0]:t.theme.margins.left,R=Array.isArray(o.range)?o.range[o.range.length-1]:typeof o.range=="function"?o.range()[o.range().length-1]:t.theme.width-t.theme.margins.right,C=t.xDomain?t.xDomain[0]:0,N=t.xDomain?t.xDomain[1]:1,G;if(typeof o.invert=="function")G=o.invert(T);else{let U=R!==P?(T-P)/(R-P):0;G=C+U*(N-C)}let D=Math.max(w,Math.min(_,G)),O=js(D),z=[[y.label,""],["Predicted",O],["Observed",O]];l(I,z,x,!0)}else l(I,g,x,!0)}).on("mouseleave pointerleave",m)}else if(y.type==="horizontal"&&y.value!==void 0){let S=i.apply(y.value);h.append("line").attr("class","rtichoke-hover-ref-target").attr("x1",t.theme.margins.left).attr("x2",t.theme.width-t.theme.margins.right).attr("y1",S).attr("y2",S).attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",w=>l(w,g,x,!0)).on("mouseleave pointerleave",m)}else if(y.type==="path"&&y.points&&y.points.length>0){let S=y.points.map((w,_)=>`${_===0?"M":"L"}${o.apply(w.x)},${i.apply(w.y)}`).join(" ");h.append("path").attr("class","rtichoke-hover-ref-target").attr("d",S).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",w=>l(w,g,x,!0)).on("mouseleave pointerleave",m)}}let b=new Map;for(let y of a){let x=b.get(y.seriesId);x||(x=[],b.set(y.seriesId,x)),x.push(y)}for(let y of b.values()){if(y.length<2)continue;let x=y.map((g,S)=>`${S===0?"M":"L"}${g.px},${g.py}`).join(" ");h.append("path").attr("class","rtichoke-hover-line-target").attr("d",x).attr("fill","none").attr("stroke","transparent").attr("stroke-width",12).style("pointer-events","stroke").on("pointermove",g=>{let[S,w]=ma(g,r),_=1/0,v=y[0];for(let I of y){let T=I.px-S,P=I.py-w,R=T*T+P*P;R<_&&(_=R,v=I)}l(g,v.tooltipFields,v.backgroundColor)}).on("mouseleave pointerleave",m)}for(let y of a)h.append("circle").attr("class","rtichoke-hover-point-target").attr("cx",y.px).attr("cy",y.py).attr("r",8).attr("fill","transparent").style("pointer-events","all").on("pointermove",x=>l(x,y.tooltipFields,y.backgroundColor)).on("mouseleave pointerleave",m);for(let y of s)h.append("circle").attr("class","rtichoke-hover-op-target").attr("cx",y.px).attr("cy",y.py).attr("r",10).attr("fill","transparent").style("pointer-events","all").on("pointermove",x=>l(x,y.tooltipFields,y.backgroundColor)).on("mouseleave pointerleave",m);n.on("mouseleave pointerleave",m)}var cL=100;function js(e){if(!Number.isFinite(e))return String(e);let t=Math.round(e*1e3)/1e3;return String(t)}function Fk(e,t){let r=e.filter(Number.isFinite);if(r.length===0)return[...t];let n=Math.min(...r),o=Math.max(...r),i=Math.abs(t[1]-t[0]),s=(o-n||i||1)*.05;return[n-s,o+s]}function uL(e,t){let r=e.data.map(o=>o.predicted),n=e.data.map(o=>o.observed);for(let o of e.distribution??[])r.push(o.midpoint-o.binWidth/2),r.push(o.midpoint+o.binWidth/2);for(let o of e.references??[])if(o.type==="identity")r.push(0,1),n.push(0,1);else if(o.type==="horizontal"&&o.value!==void 0)n.push(o.value);else if(o.type==="path")for(let i of o.points??[])r.push(i.x),n.push(i.y);return{x:Fk(r,t.x),y:Fk(n,t.y)}}function Pw(e,t,r=[0,1],n=[0,1],o){let i=e-t.left-t.right,a=Math.abs(r[1]-r[0]),s=Math.abs(n[1]-n[0]),c=Number.isFinite(a)&&a>0?a:1,u=Number.isFinite(s)&&s>0?s:1,f=i*(u/c),p=o??t.bottom;return Math.round(t.top+f+p)}function qn(e,t){let r=ci(e);for(let n of r.querySelectorAll('[aria-label$="axis label"] text'))n.style.fontSize=`${t.typography.axisTitleSize}px`,n.style.fontWeight=String(t.typography.axisTitleWeight);for(let n of r.querySelectorAll('[aria-label="frame"]'))n.setAttribute("stroke",t.frame.color);if(r instanceof HTMLElement){r.style.fontSize=`${t.typography.legendSize}px`;for(let n of r.querySelectorAll('svg[width="15"], div[class*="-swatches"] svg'))n.setAttribute("width",String(t.legend.swatchWidth)),n.setAttribute("height","10")}return r}var fL=["sensitivity","specificity","false_positive_rate","ppv","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],lL=["sensitivity","ppv","specificity","false_positive_rate","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],pL=["sensitivity","specificity","false_positive_rate","ppv","npv","lift","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"],mL=["lift","sensitivity","specificity","false_positive_rate","ppv","npv","net_benefit","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"];function dL(e,t={},r){Si(e);let n=en(Ql(e),t),{theme:o,colorByGroup:i}=n,a=e.operatingPoint?.dimension,s=Pg(e,e.data).map(x=>{let g=1-x.specificity,S=[["Series",x.label]];return a==="ppcr"?(x.ppcr!==void 0&&S.push(["PPCR",ze(x.ppcr,o.tip.digits)]),S.push(["Cutoff",ze(x.cutoff,o.tip.digits)])):(S.push(["Cutoff",ze(x.cutoff,o.tip.digits)]),x.ppcr!==void 0&&S.push(["PPCR",ze(x.ppcr,o.tip.digits)])),x.performance&&x.performance.length>0?S.push(["Sensitivity",ze(x.sensitivity,o.tip.digits)],["Specificity",ze(x.specificity,o.tip.digits)],["FPR",ze(g,o.tip.digits)],...$a(x.performance,fL,o.tip.digits,new Set(["sensitivity","specificity","false_positive_rate"]))):S.push(["Sensitivity",ze(x.sensitivity,o.tip.digits)],["Specificity",ze(x.specificity,o.tip.digits)],["False Positive Rate",ze(g,o.tip.digits)]),{...x,false_positive_rate:g,tooltipFields:S,title:Lt(o.tip.digits,S)}}),c=Tw(e,o);c.push(Zt(s,{x:"false_positive_rate",y:"sensitivity",z:"seriesId",stroke:"group",strokeWidth:o.line.width,strokeDasharray:o.line.dash??void 0}),Ou(s,"false_positive_rate","sensitivity",n,t.theme));let u=[];if(r!==void 0&&e.operatingPoint){let x=e.operatingPoint.dimension==="probability_threshold"?"cutoff":"ppcr";u=s.filter(g=>g[x]===r),u.length>0&&c.push(ku(u,"false_positive_rate","sensitivity",n,t.theme))}let f=e.xAxis.domain??[0,1],p=e.yAxis.domain??[0,1],l=Pw(o.width,o.margins,f,p),m=qn({...Tg(n,e),height:l,x:Fa(o,e.xAxis.label,f),y:Fa(o,e.yAxis.label,p),marks:Mg(c,o)},o),h=s.map(x=>({seriesId:x.seriesId,group:x.group,xValue:x.false_positive_rate,yValue:x.sensitivity,tooltipFields:x.tooltipFields,backgroundColor:i.get(x.group)??"#1b9e77"})),b=u.map(x=>({seriesId:x.seriesId,group:x.group,xValue:x.false_positive_rate,yValue:x.sensitivity,tooltipFields:x.tooltipFields,backgroundColor:i.get(x.group)??"#1b9e77"})),y=[];for(let x of e.references??[]){let g=x.label??(x.type==="identity"?"Identity":"Reference");x.type==="identity"?y.push({type:"identity",points:[{x:0,y:0},{x:1,y:1}],label:g}):x.type==="horizontal"&&x.value!==void 0?y.push({type:"horizontal",value:x.value,label:g}):x.type==="path"&&x.points&&y.push({type:"path",points:x.points,label:g})}return zs(m,{items:h,selectedOperatingPointItems:b,references:y,theme:o}),m}function Mw(e,t={}){return Cu(e,t,(r,n,o,i)=>Nu(r,(a,s,c)=>Us(a,n,(u,f)=>dL(u,n,f),s,c),o,i))}function hL(e,t,r){let n=typeof SVGSVGElement<"u"&&e instanceof SVGSVGElement?e:e.querySelector("svg[class^='plot-']")??e.querySelector("svg");if(!n)return;let o=$r(n),i=e.scale?.("x")??n.scale?.("x");if(!i)return;let a=o.select("g.rtichoke-hover-tooltip");a.empty()&&(a=o.append("g").attr("class","rtichoke-hover-tooltip").style("pointer-events","none").style("display","none"),a.append("path").attr("class","rtichoke-hover-tooltip-arrow"),a.append("rect").attr("class","rtichoke-hover-tooltip-bg"),a.append("text").attr("class","rtichoke-hover-tooltip-text"));let s=a.select("path.rtichoke-hover-tooltip-arrow"),c=a.select("rect.rtichoke-hover-tooltip-bg"),u=a.select("text.rtichoke-hover-tooltip-text");function f(b,y,x){let g=y.filter(([,W])=>W!=null);if(g.length===0)return;u.attr("fill","#ffffff").attr("font-family",r.theme.typography.fontFamily).attr("font-size","13px").attr("transform",null),u.selectAll("tspan").remove(),g.forEach(([W,B],q)=>{let X=u.append("tspan").attr("x","0").attr("dy",q===0?"1em":"1.2em"),J=W!==""&&W!==null&&W!==void 0,A=B!==""&&B!==null&&B!==void 0;J&&A?(X.append("tspan").attr("font-weight","bold").text(`${W}: `),X.append("tspan").attr("font-weight","normal").text(String(B))):J?X.append("tspan").attr("font-weight","bold").text(String(W)):A&&X.append("tspan").attr("font-weight","normal").text(String(B))});let S=u.node();if(!S)return;let w=S.getBBox(),_=8,v=6,I=Math.max(w.width+_*2,60),T=w.height+v*2,[P,R]=ma(b,n),C=n?.viewBox?.baseVal,N=C&&C.width>0?C.width:n?.width?.baseVal?.value||r.theme.width,G=C&&C.height>0?C.height:n?.height?.baseVal?.value||r.theme.height,D=r.theme.margins,O=P+12;O+I>N-D.right&&(O=P-12-I),OG-D.bottom&&(z=G-D.bottom-T);let U=O>P?O:O+I;s.attr("d",`M${P},${R} L${U},${R-6} L${U},${R+6} Z`).attr("fill",x).attr("stroke","#ffffff").attr("stroke-width",1),c.attr("x",O).attr("y",z).attr("width",I).attr("height",T).attr("fill",x).attr("stroke","#ffffff").attr("stroke-width",1).attr("rx",0).attr("ry",0).style("filter",null),u.attr("transform",`translate(${O+_-w.x}, ${z+v-w.y})`),a.style("display",null)}function p(){a.style("display","none")}let l=o.select("g.rtichoke-hover-targets");l.empty()||l.remove(),l=o.insert("g","g.rtichoke-hover-tooltip").attr("class","rtichoke-hover-targets");let m=e.scale?.("y")??n.scale?.("y"),h=[...t].sort((b,y)=>y.count-b.count);for(let b of h){if(b.count<=0)continue;let y=b.midpoint-b.binWidth/2,x=b.midpoint+b.binWidth/2,g=Math.abs(y)<1e-9?0:y,S=Math.abs(x)<1e-9?0:x,w=js(g),_=js(S),v=g<=0?`[0,${_}]`:`( ${w} , ${_} ]`,I=`${b.count} observations in ${v}`,T=[];r.groupCount>1&&T.push([b.label,""]),T.push(["",I]);let P=i.apply(y),R=i.apply(x),C=Math.min(P,R),N=Math.max(Math.abs(R-P),2),G=0,D=r.height??r.theme.height;if(m){let O=m.apply(0),z=m.apply(b.count);G=Math.min(O,z),D=Math.max(Math.abs(O-z),4)}l.append("rect").attr("class","rtichoke-hover-hist-target").attr("x",C).attr("width",N).attr("y",G).attr("height",D).attr("fill","transparent").style("pointer-events","all").on("pointermove",O=>f(O,T,r.colorByGroup.get(b.group)??"#1b9e77")).on("mouseleave pointerleave",p)}o.on("mouseleave pointerleave",p)}function gL(e,t,r,n){Si(e);let o=en(Ql(e),t),{theme:i,colorByGroup:a}=o,s=Pg(e,e.data).map(P=>{let R=[];o.groups.length>1&&R.push([P.label,""]);let C=js(P.predicted),N=js(P.observed);if(P.method==="discrete"&&P.events!==void 0&&P.total!==void 0){let G=Number.isInteger(P.events)?String(P.events):js(P.events),D=Number.isInteger(P.total)?String(P.total):js(P.total);N+=` ( ${G} / ${D} )`}return R.push(["Predicted",C]),R.push(["Observed",N]),{...P,tooltipFields:R}}),c=Tw(e,i);c.push(Zt(s,{x:"predicted",y:"observed",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}));let u=s.filter(P=>P.method==="discrete");u.length>0&&c.push(Ls(u,{x:"predicted",y:"observed",fill:i.marker.fill??"group",stroke:i.marker.stroke,strokeWidth:i.marker.strokeWidth,r:i.marker.radius}));let f=(e.distribution?.length??0)>0,p=n.y,l=n.x,m,h=cL,b=i,y=f?8:i.margins.bottom,x=i.margins.bottom;if(r){x=40;let N=19.4;h=Math.round(87.3+x);let D=378.3;y=Math.round(N);let O=550,z=Math.max(50,O-40),U=Math.max(50,D),W=Math.abs(l[1]-l[0])||1,B=Math.abs(p[1]-p[0])||1,q=Math.min(z/W,U/B),X=W*q,J=B*q,A=Math.max(10,(O-X)/2),K=Math.max(10,O-X-A),Y=Math.max(0,D-J),ee=25+Y/2;y=Math.round(N)+Y/2,m=550-h,b={...i,width:O,margins:{top:ee,left:A,right:K,bottom:y}}}else f?(y=8,m=Pw(i.width,i.margins,l,p,y)):m=Pw(i.width,i.margins,l,p,i.margins.bottom);let g={...o,theme:b},S=qn({...Tg(g,e),height:m,marginBottom:y,x:f?{...Fa(b,e.xAxis.label,l),axis:null,label:null}:Fa(b,e.xAxis.label,l),y:Fa(b,e.yAxis.label,p),marks:Mg(c,b)},b);S.style.cursor="crosshair";let w=s.map(P=>({seriesId:P.seriesId,group:P.group,xValue:P.predicted,yValue:P.observed,tooltipFields:P.tooltipFields,backgroundColor:a.get(P.group)??"#1b9e77"})),_=[];for(let P of e.references??[]){let R=P.label&&P.label!=="Identity"?P.label:P.type==="identity"?"Perfectly Calibrated":"Reference";if(P.type==="identity"){let C=Math.max(0,Math.min(l[0],l[1]),Math.min(p[0],p[1])),N=Math.min(1,Math.max(l[0],l[1]),Math.max(p[0],p[1]));C<=N&&_.push({type:"identity",points:[{x:C,y:C},{x:N,y:N}],label:R,backgroundColor:b.reference.color})}else P.type==="horizontal"&&P.value!==void 0?_.push({type:"horizontal",value:P.value,label:R,backgroundColor:b.reference.color}):P.type==="path"&&P.points&&_.push({type:"path",points:P.points,label:R,backgroundColor:b.reference.color})}if(zs(S,{items:w,references:_,theme:b,tooltipStyle:"plotly",xDomain:l,yDomain:p}),!f||!e.distribution)return S;let v=Pg(e,e.distribution),I=qn({...Tg(g,e),height:h,marginTop:0,marginBottom:x,x:Fa(b,e.xAxis.label,l),y:{label:null,grid:!1,ticks:3,tickSize:b.axis.tickSize,tickPadding:b.axis.tickPadding},color:{legend:!1,domain:o.groups,range:o.colors},marks:Mg([Yi(v,{x1:P=>P.midpoint-P.binWidth/2,x2:P=>P.midpoint+P.binWidth/2,y:"count",fill:"group",fillOpacity:1/Math.max(o.groups.length,1)})],b)},b);I.style.cursor="crosshair",hL(I,v,{theme:b,xDomain:l,groupCount:o.groups.length,colorByGroup:a,height:h});let T=document.createElement("div");return T.className="rtichoke-calibration",T.style.width=`${b.width}px`,T.style.maxWidth="100%",T.append(S,I),T}function Lk(e,t,r){let n=e.data.map(s=>s.observed).filter(Number.isFinite),o={x:e.xAxis.domain??[0,1],y:e.yAxis.domain??[Math.min(0,...n),Math.max(1,...n)]},i=uL(e,o),a=s=>{let c=gL(e,t,r,s?i:o);return c.dataset.calibrationZoom=s?"autorange":"configured",c.addEventListener("dblclick",u=>{u.preventDefault();let f=a(!s);c.replaceWith(f)}),c};return a(!1)}function yL(e,t={}){return Lk(e,t,!1)}function Vk(e){return Lk(e,{},!0)}function bL(e,t,r,n,o){Si(e);let i=en(Ql(e),t),{theme:a,colorByGroup:s}=i,c=e.operatingPoint?.dimension,u=Pg(e,e.data).map(y=>{let x=y,g=[["Series",y.label]];return e.type==="precision_recall"?(c==="ppcr"?(x.ppcr!==void 0&&g.push(["PPCR",ze(x.ppcr,a.tip.digits)]),g.push(["Cutoff",ze(x.cutoff,a.tip.digits)])):(g.push(["Cutoff",ze(x.cutoff,a.tip.digits)]),x.ppcr!==void 0&&g.push(["PPCR",ze(x.ppcr,a.tip.digits)])),g.push(["Sensitivity",ze(x.sensitivity,a.tip.digits)],["PPV",ze(x.ppv,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...$a(x.performance,lL,a.tip.digits,new Set(["sensitivity","ppv"])))):e.type==="gains"?(c==="probability_threshold"?(g.push(["Cutoff",ze(x.cutoff,a.tip.digits)]),g.push(["PPCR",ze(x.ppcr,a.tip.digits)])):(g.push(["PPCR",ze(x.ppcr,a.tip.digits)]),g.push(["Cutoff",ze(x.cutoff,a.tip.digits)])),g.push(["Sensitivity",ze(x.sensitivity,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...$a(x.performance,pL,a.tip.digits,new Set(["sensitivity"])))):e.type==="lift"&&(c==="probability_threshold"?(g.push(["Cutoff",ze(x.cutoff,a.tip.digits)]),g.push(["PPCR",ze(x.ppcr,a.tip.digits)])):(g.push(["PPCR",ze(x.ppcr,a.tip.digits)]),g.push(["Cutoff",ze(x.cutoff,a.tip.digits)])),g.push(["Lift",ze(x.lift,a.tip.digits)]),x.performance&&x.performance.length>0&&g.push(...$a(x.performance,mL,a.tip.digits,new Set(["lift"])))),{...y,tooltipFields:g,title:Lt(a.tip.digits,g)}}),f=Tw(e,a);f.push(Zt(u,{x:r,y:n,z:"seriesId",stroke:"group",strokeWidth:a.line.width,strokeDasharray:a.line.dash??void 0}),Ou(u,r,n,i,t.theme));let p=[];if(o!==void 0&&e.operatingPoint){let x=e.operatingPoint.dimension==="probability_threshold"?"cutoff":"ppcr";p=u.filter(g=>g[x]===o),p.length>0&&f.push(ku(p,r,n,i,t.theme))}let l=qn({...Tg(i,e),x:Fa(a,e.xAxis.label,e.xAxis.domain),y:Fa(a,e.yAxis.label,e.yAxis.domain),marks:Mg(f,a)},a),m=u.map(y=>({seriesId:y.seriesId,group:y.group,xValue:Number(y[r]),yValue:Number(y[n]),tooltipFields:y.tooltipFields,backgroundColor:s.get(y.group)??"#1b9e77"})),h=p.map(y=>({seriesId:y.seriesId,group:y.group,xValue:Number(y[r]),yValue:Number(y[n]),tooltipFields:y.tooltipFields,backgroundColor:s.get(y.group)??"#1b9e77"})),b=[];for(let y of e.references??[]){let x=y.label??(y.type==="identity"?"Identity":"Reference");y.type==="identity"?b.push({type:"identity",points:[{x:0,y:0},{x:1,y:1}],label:x}):y.type==="horizontal"&&y.value!==void 0?b.push({type:"horizontal",value:y.value,label:x}):y.type==="path"&&y.points&&b.push({type:"path",points:y.points,label:x})}return zs(l,{items:m,selectedOperatingPointItems:h,references:b,theme:a}),l}function xL(e){return[...new Set(e.series.map(t=>t.horizon).filter(t=>t!==void 0))]}function wL(e,t){let r=e.series.filter(o=>o.horizon===void 0||o.horizon===t),n=new Set(r.map(o=>o.id));return{...e,series:r,data:e.data.filter(o=>n.has(o.seriesId)),references:e.references?.filter(o=>o.scope!=="population_horizon"||o.horizon===t)}}function Nu(e,t,r,n){let o=xL(e);if(o.length<=1)return t(e,r,n);let i=r,a=document.createElement("div");a.className="rtichoke-horizon-chart";let s=document.createElement("label");s.className="rtichoke-horizon-control",s.textContent="Fixed Time Horizon: ";let c=document.createElement("select");c.className="rtichoke-horizon-select",c.setAttribute("aria-label","Fixed Time Horizon");for(let p of o){let l=document.createElement("option");l.value=String(p),l.textContent=String(p),c.append(l)}s.append(c);let u=document.createElement("div"),f=p=>{u.replaceChildren(t(wL(e,p),i,l=>{i=l,n&&n(l)}))};return c.addEventListener("change",()=>f(Number(c.value))),a.append(s,u),f(o[0]),a}function Cw(e,t,r,n){return Cu(e,t,(o,i,a,s)=>Nu(o,(c,u,f)=>Us(c,i,(p,l)=>bL(p,i,r,n,l),u,f),a,s))}function Ow(e,t={}){return Cw(e,t,"sensitivity","ppv")}function kw(e,t={}){return Cw(e,t,"ppcr","sensitivity")}function Nw(e,t={}){return Cw(e,t,"ppcr","lift")}var SL=["net_benefit","ppcr","sensitivity","specificity","false_positive_rate","ppv","npv","lift","predicted_positives","true_positives","true_negatives","false_positives","false_negatives"];function Rw(e,t={}){return Si(e),Cu(e,t,(r,n,o,i)=>Nu(r,(a,s,c)=>Us(a,n,(u,f)=>vL(u,n,f),s,c),o,i))}function vL(e,t,r){let n=[...new Set(e.series.map(g=>g.display.group))],o=en(n,{...t,showLegend:!1}),{theme:i,colorByGroup:a}=o,s=new Map(e.series.map(g=>[g.id,g.display])),c=new Map(e.series.map(g=>[g.display.group,g.display.label])),u=e.data.map(g=>{let S=[["Series",s.get(g.seriesId).label],["Threshold",ze(g.threshold,i.tip.digits)],["Net Benefit",ze(g.netBenefit,i.tip.digits)]];return g.performance&&g.performance.length>0&&S.push(...$a(g.performance,SL,i.tip.digits,new Set(["net_benefit"]))),{...g,group:s.get(g.seriesId).group,label:s.get(g.seriesId).label,tooltipFields:S,title:Lt(i.tip.digits,S)}}),f={stroke:i.reference.color,strokeWidth:i.reference.width,strokeDasharray:i.reference.dash},p=[];for(let g of e.references)g.benchmark==="treat_none"?p.push(vo([0],{...f})):p.push(Zt(g.points,{x:"x",y:"y",...f}));p.push(Zt(u,{x:"threshold",y:"netBenefit",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}),Ou(u,"threshold","netBenefit",o,t.theme));let l=[];r!==void 0&&e.operatingPoint&&(l=u.filter(g=>g.threshold===r),l.length>0&&p.push(ku(l,"threshold","netBenefit",o,t.theme)));let m=(g,S)=>({label:g,domain:S,grid:!1,line:!0,ticks:i.axis.ticks,tickSize:i.axis.tickSize,tickPadding:i.axis.tickPadding,tickFormat:i.axis.numberFormat}),h=qn({width:i.width,height:i.height,marginTop:i.margins.top,marginRight:i.margins.right,marginBottom:i.margins.bottom,marginLeft:i.margins.left,style:{background:i.background,color:i.axis.color,fontFamily:i.typography.fontFamily,fontSize:`${i.typography.fontSize}px`},color:{legend:o.showLegend,domain:o.groups,range:o.colors,tickFormat:g=>c.get(g)??g},x:m(e.xAxis.label,e.xAxis.domain),y:m(e.yAxis.label,e.yAxis.domain),marks:p},i),b=u.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.netBenefit,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),y=l.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.netBenefit,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),x=e.references.map(g=>{if(g.type==="horizontal"){let S=g.label??"Treat None";return{type:"horizontal",value:g.value,label:S}}else if(g.type==="path"){let S=g.population?`Treat All \u2014 ${g.population}`:"Treat All",w=g.label??S;return{type:"path",points:g.points,label:w}}return{type:"horizontal",value:0,label:g.label??"Reference"}});return zs(h,{items:b,selectedOperatingPointItems:y,references:x,theme:i}),h}var IL=["net_benefit_interventions_avoided","net_benefit","predicted_positives","ppcr","true_negatives","false_negatives"];function Ew(e,t={}){return Si(e),Cu(e,t,(r,n,o,i)=>Nu(r,(a,s,c)=>Us(a,n,(u,f)=>_L(u,n,f),s,c),o,i))}function _L(e,t,r){let n=[...new Set(e.series.map(g=>g.display.group))],o=en(n,{...t,showLegend:!1}),{theme:i,colorByGroup:a}=o,s=new Map(e.series.map(g=>[g.id,g.display])),c=new Map(e.series.map(g=>[g.display.group,g.display.label])),u=e.data.map(g=>{let S=[["Series",s.get(g.seriesId).label],["Threshold",ze(g.threshold,i.tip.digits)],["Interventions Avoided",ze(g.interventionsAvoided,i.tip.digits)]];return g.performance&&g.performance.length>0&&S.push(...$a(g.performance,IL,i.tip.digits,new Set(["net_benefit_interventions_avoided"]))),{...g,group:s.get(g.seriesId).group,label:s.get(g.seriesId).label,tooltipFields:S,title:Lt(i.tip.digits,S)}}),f={stroke:i.reference.color,strokeWidth:i.reference.width,strokeDasharray:i.reference.dash},p=[];for(let g of e.references)g.benchmark==="treat_all"?p.push(vo([0],{...f})):p.push(Zt(g.points,{x:"x",y:"y",...f}));p.push(Zt(u,{x:"threshold",y:"interventionsAvoided",z:"seriesId",stroke:"group",strokeWidth:i.line.width,strokeDasharray:i.line.dash??void 0}),Ou(u,"threshold","interventionsAvoided",o,t.theme));let l=[];r!==void 0&&e.operatingPoint&&(l=u.filter(g=>g.threshold===r),l.length>0&&p.push(ku(l,"threshold","interventionsAvoided",o,t.theme)));let m=(g,S)=>({label:g,domain:S,grid:!1,line:!0,ticks:i.axis.ticks,tickSize:i.axis.tickSize,tickPadding:i.axis.tickPadding,tickFormat:i.axis.numberFormat}),h=qn({width:i.width,height:i.height,marginTop:i.margins.top,marginRight:i.margins.right,marginBottom:i.margins.bottom,marginLeft:i.margins.left,style:{background:i.background,color:i.axis.color,fontFamily:i.typography.fontFamily,fontSize:`${i.typography.fontSize}px`},color:{legend:o.showLegend,domain:o.groups,range:o.colors,tickFormat:g=>c.get(g)??g},x:m(e.xAxis.label,e.xAxis.domain),y:m(e.yAxis.label,e.yAxis.domain),marks:p},i),b=u.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.interventionsAvoided,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),y=l.map(g=>({seriesId:g.seriesId,group:g.group,xValue:g.threshold,yValue:g.interventionsAvoided,tooltipFields:g.tooltipFields,backgroundColor:a.get(g.group)??"#1b9e77"})),x=e.references.map(g=>{if(g.type==="horizontal"){let S=g.label??"Treat All";return{type:"horizontal",value:g.value,label:S}}else if(g.type==="path"){let S=g.population?`Treat None \u2014 ${g.population}`:"Treat None",w=g.label??S;return{type:"path",points:g.points,label:w}}return{type:"horizontal",value:0,label:g.label??"Reference"}});return zs(h,{items:b,selectedOperatingPointItems:y,references:x,theme:i}),h}var PL=0,TL=0,jk={real_positive:"Event",target_event:"Event",real_competing:"Competing event",competing_outcome:"Competing event",real_negative:"Event-free",no_target_event:"Event-free",real_censored:"Censored",unknown:"Censored"},Uk={real_positive:"#4C5454",real_positives_est:"#4C5454",target_event:"#4C5454",real_competing:"#C880B7",real_competing_est:"#C880B7",competing_outcome:"#C880B7",real_negative:"#E0E0E0",real_negatives_est:"#E0E0E0",no_target_event:"#E0E0E0",real_censored:"#E3F09B",real_censored_est:"#E3F09B",unknown:"#E3F09B"},zk=["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"];function ML(e,t){return t&&t.trim()!==""?t:jk[e]?jk[e]:e}function Bk(e){let t=e.horizon??0,r=e.states,n=!1,o=!1,i=!1;for(let u of r)u.estimate!==void 0&&u.estimate!==null&&(n=!0),u.mass!==void 0&&u.mass!==null&&(o=!0),u.count!==void 0&&u.count!==null&&(i=!0);let a=null,s=null;o&&(a=r.reduce((u,f)=>u+(f.mass!==void 0&&f.mass!==null?f.mass:0),0)),i&&(s=r.reduce((u,f)=>u+(f.count!==void 0&&f.count!==null?f.count:0),0));let c=r.map(u=>{let f=ML(u.stateId,u.label),p=0;return n&&u.estimate!==void 0&&u.estimate!==null?p=u.estimate:o&&u.mass!==void 0&&u.mass!==null&&a&&a>0?p=u.mass/a:i&&u.count!==void 0&&u.count!==null&&s&&s>0&&(p=u.count/s),{stateId:u.stateId,label:f,proportion:p,percentage:p*100,estimate:u.estimate??null,mass:u.mass??null,count:u.count??null}});return{evaluationId:e.evaluationId,horizon:t,estimator:e.estimator,estimateOrigin:e.estimateOrigin,censoringHeuristic:e.censoringHeuristic,competingHeuristic:e.competingHeuristic,states:c,totalMass:a,totalCount:s}}function Gk(e,t,r,n,o,i){let a=[];a.push([i?"Time":"Horizon",e]),a.push(["Outcome status",t.label]);let s=t.count??t.mass,c=r??n;return s!=null&&a.push(["Count",s]),a.push(["Percent",`${t.percentage.toFixed(1)}%`]),c!=null&&a.push(["Denominator",c]),a.push(["Accounting","Raw observed status"]),(t.stateId==="real_censored"||t.label.toLowerCase().includes("censored"))&&a.push(["Note","Censored before horizon; no censoring adjustment is applied."]),Lt(o,a)}function Aw(e,t={}){mb(e);let r=++PL,n=en(2,t),{theme:o}=n,i=o.tip.digits,a=e.evaluations[0].id,s=document.createElement("div");s.className="rtichoke-outcome-distribution",s.style.width=`${o.width}px`,s.style.maxWidth="100%";let c=e.title??"Outcome Distribution",u=document.createElement("h3");u.className="rtichoke-outcome-distribution__title",u.textContent=c,s.append(u);let f=document.createElement("div");f.className="rtichoke-outcome-distribution__controls",s.append(f);let p=document.createElement("div");p.className="rtichoke-outcome-distribution__readout",s.append(p);let l=document.createElement("div");l.className="rtichoke-operating-point-control",l.style.marginLeft=`${o.margins.left}px`,l.style.marginRight=`${o.margins.right}px`;let m=`rtichoke-od-slider-${++TL}`,h=document.createElement("label");h.className="rtichoke-operating-point-label",h.htmlFor=m;let b=document.createElement("span"),y=document.createElement("span");y.className="rtichoke-operating-point-value",h.append(b,y);let x=document.createElement("input");x.type="range",x.id=m,x.className="rtichoke-operating-point-slider",l.append(h,x);let g=document.createElement("div");g.className="rtichoke-legend",g.style.paddingLeft=`${o.margins.left}px`;let S=document.createElement("div");S.className="rtichoke-outcome-distribution__chart",s.append(l,g,S);let w=new Map,_=0,v=(P,R)=>{let C=`${P}:${R}`;if(w.has(C))return w.get(C);if(Uk[P]){let G=Uk[P];return w.set(C,G),G}let N=zk[_%zk.length];return _++,w.set(C,N),N},I=null,T=()=>{if(f.replaceChildren(),e.evaluations.length>1){let A=document.createElement("div");A.className="rtichoke-pd-radio-group",A.setAttribute("role","radiogroup"),A.setAttribute("aria-label","Evaluation");let K=document.createElement("span");K.className="rtichoke-pd-radio-group-label",K.textContent="Evaluation:",A.append(K);let Y=document.createElement("div");Y.className="rtichoke-pd-radio-options";for(let ee of e.evaluations){let Z=ee.label??ee.model??ee.population??ee.id,ne=document.createElement("label");ne.className="rtichoke-pd-radio-option";let M=document.createElement("input");M.type="radio",M.name=`od-eval-${r}`,M.value=ee.id,M.checked=ee.id===a,M.addEventListener("change",()=>{M.checked&&(a=ee.id,I=null,T())});let $=document.createElement("span");$.textContent=Z,ne.append(M,$),Y.append(ne)}A.append(Y),f.append(A)}let P=e.stateDistributions.filter(A=>A.evaluationId===a);if(P.length===0){l.style.display="none",g.style.display="none",p.replaceChildren(),S.replaceChildren();let A=document.createElement("p");A.className="rtichoke-outcome-distribution__empty",A.textContent="No state distribution data available.",S.append(A);return}let R=new Set,C=!1;for(let A of P){let Y=`${A.estimateOrigin??"unspecified"}:${A.horizon??0}`;if(R.has(Y)){C=!0;break}R.add(Y)}if(C){l.style.display="none",g.style.display="none",p.replaceChildren(),S.replaceChildren();let A=document.createElement("p");A.className="rtichoke-outcome-distribution__empty",A.textContent="Multiple heuristic/method variants detected for evaluation; unsupported data state.",S.append(A);return}let N=P.filter(A=>A.estimateOrigin==="event_table").map(Bk).sort((A,K)=>A.horizon-K.horizon),G=P.filter(A=>A.estimateOrigin==="fixed_time_horizon").map(Bk).sort((A,K)=>A.horizon-K.horizon),D=Array.from(new Set(G.map(A=>A.horizon))).sort((A,K)=>A-K);if(N.length===0&&G.length===0){l.style.display="none",g.style.display="none",p.replaceChildren(),S.replaceChildren();let A=document.createElement("p");A.className="rtichoke-outcome-distribution__empty",A.textContent="No outcome distribution data found for current selection.",S.append(A);return}let O=N.length>0;if(D.length>0){l.style.display="flex",(I===null||!D.includes(I))&&(I=D[D.length-1]);let A=D.indexOf(I);x.min="0",x.max=String(Math.max(0,D.length-1)),x.step="1",x.value=String(Math.max(0,A)),b.textContent="Time: ",y.textContent=I.toFixed(i),x.setAttribute("aria-label","Time horizon"),x.setAttribute("aria-valuetext",I.toFixed(i))}else l.style.display="none";p.replaceChildren();let z=G.find(A=>A.horizon===I)??N.find(A=>A.horizon===I);if(z){let A=document.createElement("div");A.className="rtichoke-outcome-distribution__readout-card";let K=document.createElement("div");K.className="rtichoke-outcome-distribution__readout-header",K.textContent=`Active Horizon: Time = ${z.horizon.toFixed(i)}`,A.append(K);let Y=document.createElement("table");Y.className="rtichoke-outcome-distribution__readout-table";let ee=document.createElement("thead"),Z=document.createElement("tr"),ne=document.createElement("th");ne.textContent="Outcome";let M=document.createElement("th");M.textContent="Count / Total (%)",Z.append(ne,M),ee.append(Z),Y.append(ee);let $=document.createElement("tbody"),H=z.totalCount??z.totalMass;for(let E of z.states){let re=document.createElement("tr"),oe=document.createElement("td"),be=document.createElement("span");be.className="rtichoke-performance-table__badge";let we=v(E.stateId,E.label);be.style.backgroundColor=we,oe.append(be,document.createTextNode(E.label));let Ve=document.createElement("td");Ve.className="rtichoke-outcome-distribution__readout-cell";let ie=document.createElement("div");ie.className="rtichoke-performance-table__bar";let fe=document.createElement("div");fe.className="rtichoke-performance-table__bar-fill",fe.style.backgroundColor=we,fe.style.opacity="0.45";let Qe=Math.min(Math.max(E.percentage,0),100);fe.style.width=`${Qe}%`,ie.append(fe);let ht=document.createElement("span");ht.className="rtichoke-performance-table__cell-text";let ot=E.count??E.mass;ot!=null&&H!==null&&H!==void 0?ht.textContent=`${ot.toLocaleString()} / ${H.toLocaleString()} (${E.percentage.toFixed(1)}%)`:ht.textContent=`${E.percentage.toFixed(1)}%`,Ve.append(ie,ht),re.append(oe,Ve),$.append(re)}Y.append($),A.append(Y),p.append(A)}g.replaceChildren(),g.style.display="flex";let U=document.createElement("span");U.style.fontWeight="600",U.style.marginRight="0.5rem",U.textContent="Outcome:",g.append(U);let W=new Map,B=O?N:G;for(let A of B)for(let K of A.states)W.has(K.label)||W.set(K.label,{stateId:K.stateId,label:K.label});for(let A of W.values()){let K=document.createElement("div");K.className="rtichoke-legend-item";let Y=document.createElement("span");Y.className="rtichoke-legend-swatch";let ee=document.createElement("span");ee.className="rtichoke-legend-line",ee.style.backgroundColor=v(A.stateId,A.label),ee.style.height="10px",ee.style.borderRadius="2px",Y.append(ee);let Z=document.createElement("span");Z.className="rtichoke-legend-label",Z.textContent=A.label,K.append(Y,Z),g.append(K)}let q=[];if(O){let A=[];for(let K of N)for(let Y of K.states){let ee=v(Y.stateId,Y.label),Z=Gk(K.horizon,Y,K.totalCount,K.totalMass,i,!0);A.push({horizon:K.horizon,stateId:Y.stateId,label:Y.label,percentage:Y.percentage,color:ee,title:Z})}q.push(vw(A,Ds({x:"horizon",y:"percentage",fill:K=>K.color,fillOpacity:.85,stroke:o.axis.color,strokeWidth:.5,curve:"step-after",title:K=>K.title})));for(let K of D){let Y=K===I;q.push(As([K],{stroke:o.axis.color,strokeWidth:Y?2.5:1,strokeDasharray:Y?void 0:"3,3"})),Y&&q.push(Ea([{x:K,label:`Time = ${K.toFixed(i)}`}],{x:"x",y:102,text:"label",dy:-10,fill:o.axis.color,fontSize:11,fontWeight:700}))}}else{let A=[];for(let K of G)for(let Y of K.states){let ee=v(Y.stateId,Y.label),Z=Gk(K.horizon,Y,K.totalCount,K.totalMass,i,!1);A.push({horizonLabel:`Time: ${K.horizon}`,horizon:K.horizon,stateId:Y.stateId,label:Y.label,percentage:Y.percentage,color:ee,title:Z})}q.push(_w(A,Ds({x:"horizonLabel",y:"percentage",fill:K=>K.color,fillOpacity:.88,stroke:o.axis.color,strokeWidth:.75,title:K=>K.title})))}let X={width:o.width,height:Math.round(o.height*.65),marginTop:o.margins.top+10,marginRight:o.margins.right,marginBottom:o.margins.bottom,marginLeft:o.margins.left,style:{background:o.background,color:o.axis.color,fontFamily:o.typography.fontFamily,fontSize:`${o.typography.fontSize}px`},x:O?{label:"Time",grid:!1,line:!0,ticks:o.axis.ticks,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding}:{label:"Time",grid:!1,line:!0},y:{label:"Outcomes",domain:[0,100],grid:!1,line:!0,ticks:5,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding,tickFormat:A=>`${A}%`},marks:q},J=qn(X,o);S.replaceChildren(J)};return x.addEventListener("input",()=>{let P=e.stateDistributions.filter(N=>N.evaluationId===a),R=Array.from(new Set(P.filter(N=>N.estimateOrigin==="fixed_time_horizon").map(N=>N.horizon??0))).sort((N,G)=>N-G),C=Number(x.value);C>=0&&C[a.metricId,a.estimate])),r=t.get("true_positives"),n=t.get("true_negatives"),o=t.get("false_positives"),i=t.get("false_negatives");return r==null||isNaN(r)||n===void 0||n===null||isNaN(n)||o===void 0||o===null||isNaN(o)||i===void 0||i===null||isNaN(i)?null:{tp:r,tn:n,fp:o,fn:i}}function Da(e,t,r,n){let o=e.createElement("td");o.className=n;let i=e.createElement("span");i.className="rtichoke-performance-table__confusion-val",i.textContent=Og(t);let a=e.createElement("span");if(a.className="rtichoke-performance-table__confusion-pct",r>0&&!isNaN(t)&&!isNaN(r)){let s=t/r*100;a.textContent=`${s.toFixed(2)}%`}else a.textContent=tn;return o.append(i,a),o}var kL=0;function Kk(e){return e.split("_").map((t,r)=>r===0?t.charAt(0).toUpperCase()+t.slice(1):t).join(" ")}function Og(e){return Number.isInteger(e)?e.toString():new Intl.NumberFormat("en-US",{maximumFractionDigits:2}).format(e)}function NL(e){return e.toFixed(2)}function RL(e){if(e.length<=1)return 2;let t=2;for(;t<=6;){let r=e.map(o=>o.toFixed(t));if(new Set(r).size===new Set(e).size)return t;t++}return t}function EL(e,t){if(!e||e.estimate===null||e.estimate===void 0||isNaN(e.estimate))return tn;let r=t(e.estimate);if(e.lower===void 0&&e.upper===void 0)return r;let n=e.lower===void 0||e.lower===null||isNaN(e.lower)?tn:t(e.lower),o=e.upper===void 0||e.upper===null||isNaN(e.upper)?tn:t(e.upper);return`${r} [${n}, ${o}]`}function Jl(e,t,r,n=!1,o=!1,i="positive"){if(isNaN(r)||!isFinite(r))return;let a=t.createElement("div");a.className="rtichoke-performance-table__bar";let s=t.createElement("div");if(s.className="rtichoke-performance-table__bar-fill",n){let c=Math.min(Math.max(r,0),50);s.style.width=`${c}%`,o?(s.classList.add("rtichoke-performance-table__bar-fill--negative"),s.style.right="50%",s.style.left="auto"):(s.classList.add("rtichoke-performance-table__bar-fill--positive"),s.style.left="50%",s.style.right="auto")}else{let c=Math.min(Math.max(r,0),100);s.style.width=`${c}%`,i==="neutral"?s.classList.add("rtichoke-performance-table__bar-fill--neutral"):s.classList.add("rtichoke-performance-table__bar-fill--positive")}a.append(s),e.append(a)}function Fw(e,t=globalThis.document){pb(e);let r=t.createElement("div");if(r.className="rtichoke-performance-table",e.title){let M=t.createElement("div");M.className="rtichoke-performance-table__title",M.textContent=e.title,r.append(M)}let n=t.createElement("div");n.className="rtichoke-performance-table__scroll";let o=t.createElement("table");o.className="rtichoke-performance-table__table";let i=new Map(e.evaluations.map(M=>[M.id,M])),a=new Set(e.evaluations.map(M=>M.model).filter(Boolean)),s=new Set(e.evaluations.map(M=>M.population).filter(Boolean)),c=a.size>1,u=s.size>1,f=c,p=u||!c&&a.size===0&&s.size>1,l=new Map,m=0;for(let M of e.evaluations)M.model&&!l.has(M.model)&&(l.set(M.model,Cg[m%Cg.length]),m++);let h=new Map,b=0;for(let M of e.evaluations)M.population&&!h.has(M.population)&&(h.set(M.population,Cg[b%Cg.length]),b++);let y=e.evaluations.some(M=>M.label?!!(c&&M.label!==M.model||u&&M.label!==M.population||!c&&!u&&M.label!==M.model&&M.label!==M.population):!1),x=e.rows.some(M=>M.horizon!==void 0),g=e.rows.some(M=>M.context?.censoringHeuristic!==void 0),S=e.rows.some(M=>M.context?.competingEventHeuristic!==void 0),w=new Set(e.rows.map(M=>M.operatingPoint.type)),_=w.size===1&&w.has("probability_threshold"),v=w.size===1&&w.has("ppcr"),I=new Set(e.metrics.map(M=>M.id)),T=I.has("predicted_positives"),P=I.has("ppcr"),R=T&&(P||v),C=_||!v&&w.has("probability_threshold"),N=R,G=v&&!R,D=!_&&!v&&!R,O=e.rows.filter(M=>M.operatingPoint.type==="probability_threshold").map(M=>M.operatingPoint.value),z=RL(O),U=CL.map(M=>{let $=e.metrics.find(H=>H.id===M.id);return $?{id:$.id,label:$.label||M.defaultLabel}:null}).filter(M=>M!==null),W=new Set,B=U.filter(M=>W.has(M.label)?!1:(W.add(M.label),!0)),q=0,X=0;for(let M of e.rows)for(let $ of M.values)if($.metricId==="lift"&&$.estimate!==null&&$.estimate!==void 0&&isFinite($.estimate)&&$.estimate>q&&(q=$.estimate),$.metricId==="net_benefit"&&$.estimate!==null&&$.estimate!==void 0&&isFinite($.estimate)){let H=Math.abs($.estimate);H>X&&(X=H)}let J=++kL,A=t.createElement("thead");A.className="rtichoke-performance-table__header";let K=t.createElement("tr"),Y=t.createElement("tr"),ee=1;if(Y.append(_t(t,"",{ariaLabel:"Row details",className:"rtichoke-performance-table__toggle-header"})),f&&(ee++,Y.append(_t(t,"Model"))),p&&(ee++,Y.append(_t(t,"Population"))),y&&(ee++,Y.append(_t(t,"Evaluation"))),C&&(ee++,Y.append(_t(t,"Probability Threshold"))),N&&(ee++,Y.append(_t(t,"Predicted Positives"))),G&&(ee++,Y.append(_t(t,"PPCR"))),D&&(ee++,Y.append(_t(t,"Operating Point"))),x&&(ee++,Y.append(_t(t,"Time Horizon"))),g&&(ee++,Y.append(_t(t,"Censoring"))),S&&(ee++,Y.append(_t(t,"Competing Event"))),B.length>0){let M=_t(t,"",{colSpan:ee,className:"rtichoke-performance-table__spanner--empty"});K.append(M)}if(B.length>0){let M=_t(t,"Performance Metrics",{colSpan:B.length,className:"rtichoke-performance-table__spanner"});K.append(M);for(let $ of B)Y.append(_t(t,$.label,{className:"rtichoke-performance-table__metric-header"}))}A.append(K),A.append(Y),o.append(A);let Z=ee+B.length,ne=t.createElement("tbody");for(let M=0;M0?"100.00%":tn,Se.append(Ht,Br),he.append(Se),zr.append(he),Vt.append(zr),Qe.append(Vt),fe.append(Qe),we.append(fe),ie.addEventListener("click",()=>{if(!we)return;let fr=ie.getAttribute("aria-expanded")==="true";ie.setAttribute("aria-expanded",fr?"false":"true"),ie.setAttribute("aria-label",fr?"Show confusion matrix detail":"Hide confusion matrix detail"),ie.textContent=fr?"\u25B8":"\u25BE",we.hidden=fr})}if(E.append(be),f){let ie=H?.model??tn,fe=H?.model?l.get(H.model):void 0;E.append(Io(t,ie,"rtichoke-performance-table__model",fe))}if(p){let ie=H?.population??tn,fe=H?.population?h.get(H.population):void 0;E.append(Io(t,ie,"rtichoke-performance-table__population",fe))}y&&E.append(Io(t,H?.label??H?.id??tn,"rtichoke-performance-table__evaluation"));let Ve=new Map($.values.map(ie=>[ie.metricId,ie]));if(C){let ie=$.operatingPoint.type==="probability_threshold"?$.operatingPoint.value:void 0,fe=ie!==void 0?ie.toFixed(z):tn;E.append(Io(t,fe,"rtichoke-performance-table__op"))}if(N){let ie=Ve.get("predicted_positives")?.estimate,fe=Ve.get("ppcr")?.estimate??($.operatingPoint.type==="ppcr"?$.operatingPoint.value:void 0),Qe=tn,ht=NaN;if(ie!=null&&fe!==void 0&&fe!==null){let Vt=Og(ie),In=(fe*100).toFixed(2);Qe=`${Vt} (${In}%)`,ht=fe*100}else fe!=null&&(Qe=`${(fe*100).toFixed(2)}%`,ht=fe*100);let ot=Io(t,Qe,"rtichoke-performance-table__op");isNaN(ht)||Jl(ot,t,ht,!1,!1,"neutral"),E.append(ot)}if(G){let ie=$.operatingPoint.type==="ppcr"?$.operatingPoint.value:Ve.get("ppcr")?.estimate,fe=ie!=null?`PPCR ${ie.toFixed(2)}`:tn,Qe=Io(t,fe,"rtichoke-performance-table__op");ie!=null&&Jl(Qe,t,ie*100,!1,!1,"neutral"),E.append(Qe)}if(D){let ie=$.operatingPoint.type==="ppcr"?`PPCR ${$.operatingPoint.value.toFixed(2)}`:`Threshold ${$.operatingPoint.value.toFixed(z)}`;E.append(Io(t,ie,"rtichoke-performance-table__op"))}if(x&&E.append(Io(t,$.horizon!==void 0?Og($.horizon):tn,"rtichoke-performance-table__horizon")),g){let ie=$.context?.censoringHeuristic;E.append(Io(t,ie?Kk(ie):tn,"rtichoke-performance-table__context"))}if(S){let ie=$.context?.competingEventHeuristic;E.append(Io(t,ie?Kk(ie):tn,"rtichoke-performance-table__context"))}for(let ie of B){let fe=Ve.get(ie.id),Qe=EL(fe,NL),ht=Io(t,Qe,"rtichoke-performance-table__metric");if(ht.dataset.metricId=ie.id,fe&&fe.estimate!==null&&fe.estimate!==void 0&&isFinite(fe.estimate)){let ot=fe.estimate;if(["sensitivity","specificity","ppv","npv"].includes(ie.id))Jl(ht,t,ot*100);else if(ie.id==="lift"){let Vt=q>0?ot/q*100:0;Jl(ht,t,Vt)}else if(ie.id==="net_benefit"&&X>0){let Vt=ot<0,In=Math.abs(ot)/X*50;Jl(ht,t,In,!0,Vt)}}E.append(ht)}ne.append(E),we&&ne.append(we)}return o.append(ne),n.append(o),r.append(n),r}var AL=0,FL=0;function $L(e,t){let{emphasizedTrue:r,nonEmphasizedTrue:n,emphasizedFalse:o,nonEmphasizedFalse:i}=e;switch(t){case"predicted_positives":return{tp:r,fp:o,tn:n,fn:i};case"predicted_negatives":return{tn:r,fn:o,tp:n,fp:i};case"real_positives":return{tp:r,fn:o,tn:n,fp:i};case"real_negatives":return{tn:r,fp:o,tp:n,fn:i};case"all_observations":default:return{tp:r,fp:o,tn:r,fn:o}}}function qk(e,t,r,n,o){let i=e.operatingPoints.filter(_=>_.evaluationId===t&&_.type===r).sort((_,v)=>_.value-v.value),a=i.find(_=>Math.abs(_.value-n)<1e-6)??i[0],s=a?a.cutoff:0,c=a?a.realizedPpcr:0,u=e.bins.filter(_=>_.evaluationId===t).sort((_,v)=>_.lower-v.lower),f=0;for(let _ of u)f+=_.nPositive+_.nNegative;let p=null,l=null;if(a?.performance&&a.performance.length>0){let _=O=>{let z=a.performance?.find(U=>U.metricId===O);return z&&z.estimate!==void 0&&z.estimate!==null?z.estimate:null},v=_("true_positives"),I=_("false_positives"),T=_("true_negatives"),P=_("false_negatives"),R=_("sensitivity"),C=_("specificity"),N=_("ppv"),G=_("npv"),D=_("lift");if((R!==null||C!==null||N!==null||G!==null||D!==null)&&(p={sensitivity:R,specificity:C,ppv:N,npv:G,lift:D}),v!==null&&I!==null&&T!==null&&P!==null){let O=v+P,z=T+I,U=v+I,W=T+P;l={tp:v,fp:I,tn:T,fn:P,totalPositives:O,totalNegatives:z,totalPredictedPos:U,totalPredictedNeg:W}}}let m=e.evaluations.find(_=>_.id===t),h=m?.label??m?.model??m?.population??t,b=[],y=[];if(r==="probability_threshold"){let _=u.find(I=>I.lower===0&&I.upper===0),v=u.filter(I=>!(I.lower===0&&I.upper===0));if(_){let I=s===0?!0:_.upper>s,T=I?"TP":"FN",P=I?"True Positive (TP)":"False Negative (FN)",R=I?"FP":"TN",C=I?"False Positive (FP)":"True Negative (TN)";_.nPositive>0&&y.push({category:"Observed Positives",count:_.nPositive,classificationCell:T,cellLabel:P,title:Lt(o,[["Evaluation",h],["Score Interval","[0, 0]"],["Outcome","Observed Positive"],["Count",_.nPositive],["Classification",P]])}),_.nNegative>0&&y.push({category:"Observed Negatives",count:_.nNegative,classificationCell:R,cellLabel:C,title:Lt(o,[["Evaluation",h],["Score Interval","[0, 0]"],["Outcome","Observed Negative"],["Count",_.nNegative],["Classification",C]])})}for(let I=0;Is,G=N?"TP":"FN",D=N?"True Positive (TP)":"False Negative (FN)",O=N?"FP":"TN",z=N?"False Positive (FP)":"True Negative (TN)",U=s===0?!0:T.upper>s,W=U?"TP":"FN",B=U?"True Positive (TP)":"False Negative (FN)",q=U?"FP":"TN",X=U?"False Positive (FP)":"True Negative (TN)",J=_.nPositive+T.nPositive,A=_.nNegative+T.nNegative;G===W?J>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:J,classificationCell:W,cellLabel:B,isPredictedPositive:U,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Positive"],["Count",J],["Classification",B]])}):(_.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:_.nPositive,classificationCell:G,cellLabel:D,isPredictedPositive:N,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Positive"],["Count",_.nPositive],["Classification",D]])}),T.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:T.nPositive,classificationCell:W,cellLabel:B,isPredictedPositive:U,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Positive"],["Count",T.nPositive],["Classification",B]])})),O===q?A>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:A,classificationCell:q,cellLabel:X,isPredictedPositive:U,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Negative"],["Count",A],["Classification",X]])}):(_.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:_.nNegative,classificationCell:O,cellLabel:z,isPredictedPositive:N,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Negative"],["Count",_.nNegative],["Classification",z]])}),T.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:T.nNegative,classificationCell:q,cellLabel:X,isPredictedPositive:U,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Negative"],["Count",T.nNegative],["Classification",X]])}))}else{let N=s===0?!0:T.upper>s,G=N?"TP":"FN",D=N?"True Positive (TP)":"False Negative (FN)",O=N?"FP":"TN",z=N?"False Positive (FP)":"True Negative (TN)";T.nPositive>0&&b.push({x1:P,x2:R,category:"Observed Positives",count:T.nPositive,classificationCell:G,cellLabel:D,isPredictedPositive:N,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Positive"],["Count",T.nPositive],["Classification",D]])}),T.nNegative>0&&b.push({x1:P,x2:R,category:"Observed Negatives",count:T.nNegative,classificationCell:O,cellLabel:z,isPredictedPositive:N,title:Lt(o,[["Evaluation",h],["Score Interval",C],["Outcome","Observed Negative"],["Count",T.nNegative],["Classification",z]])})}}}else{let _=(e.rankBins??[]).filter(v=>v.evaluationId===t).sort((v,I)=>v.rankLower-I.rankLower);for(let v of _){let I=v.rankLower,T=v.rankUpper,P=v.positiveMass+v.negativeMass,R=I>=1-n-1e-9,C=R?"TP":"FN",N=R?"True Positive (TP)":"False Negative (FN)",G=R?"FP":"TN",D=R?"False Positive (FP)":"True Negative (TN)";if(P>0){let O=`[${I.toFixed(o)}, ${T.toFixed(o)}]`;v.positiveMass>0&&b.push({x1:I,x2:T,category:"Observed Positives",count:v.positiveMass,classificationCell:C,cellLabel:N,isPredictedPositive:R,title:Lt(o,[["Evaluation",h],["Population Rank Percentile",O],["Outcome","Observed Positive"],["Count",v.positiveMass],["Classification",N]])}),v.negativeMass>0&&b.push({x1:I,x2:T,category:"Observed Negatives",count:v.negativeMass,classificationCell:G,cellLabel:D,isPredictedPositive:R,title:Lt(o,[["Evaluation",h],["Population Rank Percentile",O],["Outcome","Observed Negative"],["Count",v.negativeMass],["Classification",D]])})}}}let x=s,g="Prediction Score",S="Count",w=1;if(r==="probability_threshold"){x=s,g="Prediction Score";let _=0,v=new Map;for(let I of b)v.set(I.x1,(v.get(I.x1)??0)+I.count);for(let I of v.values())_=Math.max(_,I);w=Math.max(1,Math.ceil(_*1.15))}else{x=1-n,g="Prediction Percentile";let _=0,v=new Map;for(let I of b)v.set(I.x1,(v.get(I.x1)??0)+I.count);for(let I of v.values())_=Math.max(_,I);w=Math.max(1,Math.ceil(_*1.15))}return{evalId:t,evalLabel:h,dim:r,currentValue:n,cutoff:s,realizedPpcr:c,cutoffX:x,xAxisLabel:g,yAxisLabel:S,yMax:w,totalN:f,performanceMetrics:p,confusion:l,ordinaryPlotData:b,zeroAtomPlotData:y}}function $w(e,t={}){sf(e);let r=++FL,n=en(2,t),{theme:o}=n,i=o.tip.digits,a=e.evaluations[0].id,s=M=>{let $=new Set;for(let E of e.operatingPoints)E.evaluationId===M&&$.add(E.type);let H=[];return $.has("probability_threshold")&&H.push("probability_threshold"),$.has("ppcr")&&H.push("ppcr"),H},c=(M,$)=>e.operatingPoints.filter(H=>H.evaluationId===M&&H.type===$).sort((H,E)=>H.value-E.value),u=s(a),f=e.operatingPoint?.dimension&&u.includes(e.operatingPoint.dimension)?e.operatingPoint.dimension:u[0]??"probability_threshold",p=(M,$)=>{let H=c(M,$);return[...new Set(H.map(E=>E.value))].sort((E,re)=>E-re)},l=(M,$,H)=>{let E=p(M,$);return E.length===0?0:H!==void 0&&E.some(re=>Math.abs(re-H)<1e-6)?H:E.some(re=>Math.abs(re-.5)<1e-6)?.5:E[0]},m=l(a,f),h="stacked",b="confusion_matrix_cell",y="all_observations",x=document.createElement("div");x.className="rtichoke-prediction-distribution",x.style.width=`${o.width}px`,x.style.maxWidth="100%";let g=document.createElement("div");g.className="rtichoke-prediction-distribution__controls";let S=document.createElement("select");S.className="rtichoke-prediction-distribution__select",S.setAttribute("aria-label","Evaluation"),S.style.display="none";let w=document.createElement("select");w.className="rtichoke-prediction-distribution__select",w.setAttribute("aria-label","Color bars by"),w.style.display="none";let _=document.createElement("option");_.value="confusion_matrix_cell",_.textContent="Confusion matrix cell";let v=document.createElement("option");v.value="observed_outcome",v.textContent="Observed outcome",w.append(_,v);let I=document.createElement("label");I.className="rtichoke-prediction-distribution__control-group";let T=document.createElement("select");T.className="rtichoke-prediction-distribution__select",T.setAttribute("aria-label","Condition on");let P=document.createElement("option");P.value="predicted_positives",P.textContent="Predicted positives";let R=document.createElement("option");R.value="predicted_negatives",R.textContent="Predicted negatives";let C=document.createElement("option");C.value="real_positives",C.textContent="Real positives";let N=document.createElement("option");N.value="real_negatives",N.textContent="Real negatives",T.append(P,R,C,N),I.append(T);let G=document.createElement("select");G.className="rtichoke-prediction-distribution__select",G.setAttribute("aria-label","Operating point dimension"),G.style.display="none",S.addEventListener("change",()=>{a=S.value,ne()}),w.addEventListener("change",()=>{b=w.value,ne()}),T.addEventListener("change",()=>{y=T.value,ne()}),G.addEventListener("change",()=>{f=G.value,m=l(a,f,m),ne()});let D=(M,$,H,E,re)=>{let oe=document.createElement("div");oe.className="rtichoke-pd-radio-group",oe.setAttribute("role","radiogroup"),oe.setAttribute("aria-label",M);let be=document.createElement("span");be.className="rtichoke-pd-radio-group-label",be.textContent=`${M}:`,oe.append(be);let we=document.createElement("div");we.className="rtichoke-pd-radio-options";for(let Ve of H){let ie=document.createElement("label");ie.className="rtichoke-pd-radio-option";let fe=document.createElement("input");fe.type="radio",fe.name=$,fe.value=Ve.value,fe.checked=Ve.value===E,fe.addEventListener("change",()=>{fe.checked&&re(Ve.value)});let Qe=document.createElement("span");Qe.textContent=Ve.label,ie.append(fe,Qe),we.append(ie)}return oe.append(we),oe},O=document.createElement("div");O.className="rtichoke-pd-controls-row";let z=()=>{O.replaceChildren(),S.replaceChildren();for(let M of e.evaluations){let $=document.createElement("option");$.value=M.id,$.textContent=M.label??M.model??M.population??M.id,S.append($)}if(S.value=a,e.evaluations.length>1){let M=e.evaluations.map(H=>({value:H.id,label:H.label??H.model??H.population??H.id})),$=D("Reference Group",`pd-ref-group-${r}`,M,a,H=>{a=H,ne()});O.append($)}},U=document.createElement("div");U.className="rtichoke-pd-controls-row";let W=document.createElement("div");W.className="rtichoke-operating-point-control",W.style.marginLeft=`${o.margins.left}px`,W.style.marginRight=`${o.margins.right}px`;let B=`rtichoke-pd-slider-${++AL}`,q=document.createElement("label");q.className="rtichoke-operating-point-label",q.htmlFor=B;let X=document.createElement("span"),J=document.createElement("span");J.className="rtichoke-operating-point-value",q.append(X,J);let A=document.createElement("input");A.type="range",A.id=B,A.className="rtichoke-operating-point-slider",W.append(q,A);let K=document.createElement("div");K.className="rtichoke-legend",K.style.paddingLeft=`${o.margins.left}px`;let Y=(M,$)=>{let H=document.createElement("div");H.className="rtichoke-legend-item";let E=document.createElement("span");E.className="rtichoke-legend-swatch";let re=document.createElement("span");re.className="rtichoke-legend-line",re.style.backgroundColor=$,re.style.border=`1px solid ${o.axis.color}`,re.style.boxSizing="border-box",re.style.height="10px",re.style.borderRadius="2px",E.append(re);let oe=document.createElement("span");return oe.className="rtichoke-legend-label",oe.textContent=M,H.append(E,oe),H},ee=document.createElement("div");ee.className="rtichoke-prediction-distribution__chart";let Z=document.createElement("div");Z.className="rtichoke-prediction-distribution__summary",g.append(O,U),x.append(g,Z,W,K,ee);let ne=()=>{z(),U.replaceChildren(),w.value=b,T.value=y==="all_observations"?"predicted_positives":y,I.style.display=b==="observed_outcome"?"none":"inline-flex",G.replaceChildren();let M=s(a);for(let le of M){let he=document.createElement("option");he.value=le,he.textContent=le==="probability_threshold"?"Probability threshold":"PPCR",G.append(he)}G.value=f;let $=D("Display",`pd-display-${r}`,[{value:"stacked",label:"Stacked"},{value:"mirrored",label:"Mirrored"}],h,le=>{h=le,ne()}),H=D("Color Bars By",`pd-color-${r}`,[{value:"confusion_matrix_cell",label:"Confusion Matrix Cell"},{value:"observed_outcome",label:"Observed Outcome"}],b,le=>{b=le,ne()});if(U.append($,H,S,w,I,G),M.length>1){let le=D("Dimension",`pd-dim-${r}`,[{value:"probability_threshold",label:"Probability Threshold"},{value:"ppcr",label:"PPCR"}],f,he=>{f=he,m=l(a,f,m),ne()});U.append(le)}let E=p(a,f),re=E.find(le=>Math.abs(le-m)<1e-6);re!==void 0?m=re:m=l(a,f,m);let oe=E.indexOf(m);A.min="0",A.max=String(Math.max(0,E.length-1)),A.step="1",A.value=String(Math.max(0,oe));let be=f==="probability_threshold"?"Probability threshold":"PPCR";X.textContent=`${be}: `,J.textContent=m.toFixed(i),A.setAttribute("aria-label",be),A.setAttribute("aria-valuetext",m.toFixed(i));let we=qk(e,a,f,m,i),{cutoff:Ve,cutoffX:ie,xAxisLabel:fe,yAxisLabel:Qe,yMax:ht,totalN:ot,performanceMetrics:Vt,confusion:In,ordinaryPlotData:Zi}=we,nn=$L(o.predictionDistribution,y);K.replaceChildren(),b==="observed_outcome"&&K.append(Y("Observed Positives",o.predictionDistribution.observedPositive),Y("Observed Negatives",o.predictionDistribution.observedNegative));let zr=[],qt=f==="probability_threshold"?`Cutoff = ${Ve.toFixed(i)}`:`PPCR = ${m.toFixed(i)}`,ja=ht,ko=h==="mirrored"?-ht:0;zr.push(As([ie],{stroke:o.axis.color,strokeWidth:2,strokeDasharray:"4,3"})),zr.push(Ea([{x:ie,label:qt}],{x:"x",y:ja,text:"label",dy:-10,fill:o.axis.color,fontSize:11,fontWeight:700})),h==="mirrored"&&zr.push(vo([0],{stroke:o.axis.color,strokeWidth:1.5}));let Ua=le=>{let he="";if(b==="observed_outcome")he=le.category==="Observed Positives"?o.predictionDistribution.observedPositive:o.predictionDistribution.observedNegative;else switch(le.classificationCell){case"TP":he=nn.tp;break;case"FP":he=nn.fp;break;case"TN":he=nn.tn;break;case"FN":he=nn.fn;break}let Se=!0;switch(y){case"all_observations":Se=!0;break;case"predicted_positives":Se=le.isPredictedPositive;break;case"predicted_negatives":Se=!le.isPredictedPositive;break;case"real_positives":Se=le.category==="Observed Positives";break;case"real_negatives":Se=le.category==="Observed Negatives";break}return{fill:he,fillOpacity:Se?.88:.18,strokeOpacity:Se?.4:.1}};if(h==="stacked"){let le=Zi.map(he=>{let{fill:Se,fillOpacity:Ht,strokeOpacity:Br}=Ua(he);return{...he,fill:Se,fillOpacity:Ht,strokeOpacity:Br}});zr.push(Yi(le,Ds({x1:"x1",x2:"x2",y:"count",fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:he=>he.title,tip:!0})))}else{let le=Zi.filter(Se=>Se.category==="Observed Positives").map(Se=>{let{fill:Ht,fillOpacity:Br,strokeOpacity:fr}=Ua(Se);return{...Se,fill:Ht,fillOpacity:Br,strokeOpacity:fr}}),he=Zi.filter(Se=>Se.category==="Observed Negatives").map(Se=>{let{fill:Ht,fillOpacity:Br,strokeOpacity:fr}=Ua(Se);return{...Se,fill:Ht,fillOpacity:Br,strokeOpacity:fr}});le.length>0&&zr.push(Yi(le,{x1:"x1",x2:"x2",y1:0,y2:"count",fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:Se=>Se.title,tip:!0})),he.length>0&&zr.push(Yi(he,{x1:"x1",x2:"x2",y1:0,y2:Se=>-Se.count,fill:"fill",fillOpacity:"fillOpacity",stroke:o.axis.color,strokeOpacity:"strokeOpacity",strokeWidth:.75,title:Se=>Se.title,tip:!0}))}let $u={width:o.width,height:Math.round(o.height*.68),marginTop:o.margins.top+10,marginRight:o.margins.right,marginBottom:o.margins.bottom,marginLeft:o.margins.left,style:{background:o.background,color:o.axis.color,fontFamily:o.typography.fontFamily,fontSize:`${o.typography.fontSize}px`},x:{label:fe,domain:[0,1],grid:!1,line:!0,ticks:o.axis.ticks,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding,tickFormat:o.axis.numberFormat},y:{label:Qe,domain:[ko,ja],grid:!1,line:!0,ticks:5,tickSize:o.axis.tickSize,tickPadding:o.axis.tickPadding,tickFormat:le=>String(Math.abs(le))},marks:zr},_n=qn($u,o);if(ee.replaceChildren(_n),Z.replaceChildren(),In){let{tp:le,fp:he,tn:Se,fn:Ht,totalPositives:Br,totalNegatives:fr,totalPredictedPos:op,totalPredictedNeg:lr}=In,on=document.createElement("table");on.className="rtichoke-pd-matrix";let Du=document.createElement("colgroup"),Ks=document.createElement("col");Ks.style.width="28%";let qs=document.createElement("col");qs.style.width="24%";let Hs=document.createElement("col");Hs.style.width="24%";let ip=document.createElement("col");ip.style.width="24%",Du.append(Ks,qs,Hs,ip),on.append(Du);let Lu=(Je,ct)=>{let Qi=document.createElement("label");Qi.className=`rtichoke-pd-cond-option ${y===Je?"rtichoke-pd-cond-option--active":""}`;let Hn=document.createElement("input");Hn.type="radio",Hn.name=`pd-cond-${r}`,Hn.value=Je,Hn.checked=y===Je,Hn.addEventListener("change",()=>{Hn.checked&&(y=Je,ne())});let fi=document.createElement("span");return fi.textContent=ct,Qi.append(Hn,fi),Qi},Qw=document.createElement("thead"),Jw=document.createElement("tr"),Xg=document.createElement("th");Xg.className="rtichoke-pd-matrix__corner",Xg.append(Lu("all_observations","All Observations"));let Zg=document.createElement("th");Zg.className=`rtichoke-pd-matrix__col-header ${y==="real_positives"?"rtichoke-pd-matrix__col-header--active":""}`,Zg.append(Lu("real_positives","Real Positive"));let Qg=document.createElement("th");Qg.className=`rtichoke-pd-matrix__col-header ${y==="real_negatives"?"rtichoke-pd-matrix__col-header--active":""}`,Qg.append(Lu("real_negatives","Real Negative"));let e2=document.createElement("th");e2.className="rtichoke-pd-matrix__col-header rtichoke-pd-matrix__col-header--blank",Jw.append(Xg,Zg,Qg,e2),Qw.append(Jw);let t2=document.createElement("tbody"),x6=b==="observed_outcome"?o.predictionDistribution.observedPositive:nn.tp,w6=b==="observed_outcome"?o.predictionDistribution.observedPositive:nn.fn,S6=b==="observed_outcome"?o.predictionDistribution.observedNegative:nn.fp,v6=b==="observed_outcome"?o.predictionDistribution.observedNegative:nn.tn,I6=o.predictionDistribution.observedPositive,_6=o.predictionDistribution.observedNegative,Jg="#E5E7EB",P6=Je=>{if(ot===0)return null;switch(y){case"all_observations":return`(${((Je==="TP"?le:Je==="FP"?he:Je==="TN"?Se:Ht)/ot*100).toFixed(1)}%)`;case"predicted_positives":{let ct=le+he;return ct===0?null:Je==="TP"?`(${(le/ct*100).toFixed(1)}%)`:Je==="FP"?`(${(he/ct*100).toFixed(1)}%)`:null}case"predicted_negatives":{let ct=Se+Ht;return ct===0?null:Je==="TN"?`(${(Se/ct*100).toFixed(1)}%)`:Je==="FN"?`(${(Ht/ct*100).toFixed(1)}%)`:null}case"real_positives":{let ct=le+Ht;return ct===0?null:Je==="TP"?`(${(le/ct*100).toFixed(1)}%)`:Je==="FN"?`(${(Ht/ct*100).toFixed(1)}%)`:null}case"real_negatives":{let ct=Se+he;return ct===0?null:Je==="TN"?`(${(Se/ct*100).toFixed(1)}%)`:Je==="FP"?`(${(he/ct*100).toFixed(1)}%)`:null}}},ap=(Je,ct,Qi,Hn)=>{Je.replaceChildren(),Je.className=`rtichoke-prediction-distribution__cell--${ct.toLowerCase()} rtichoke-pd-matrix__cell`,Je.style.backgroundColor="#ffffff",Je.style.color=o.axis.color;let fi=ot>0?Qi/ot*100:0,Ji=document.createElement("div");Ji.className="rtichoke-pd-cell-bar",Ji.style.width=`${fi}%`,Ji.style.backgroundColor=Hn;let za=document.createElement("div");za.className="rtichoke-pd-cell-content";let iy=document.createElement("span");iy.className="rtichoke-pd-cell-label",iy.textContent=ct;let ay=document.createElement("div");ay.className="rtichoke-pd-cell-num";let sy=document.createElement("span");sy.className="rtichoke-pd-cell-count",sy.textContent=Qi.toLocaleString();let T6=P6(ct),cy=document.createElement("span");cy.className="rtichoke-pd-cell-pct",cy.textContent=T6??"",ay.append(sy,cy),za.append(iy,ay),Je.append(Ji,za)},Vu=(Je,ct,Qi)=>{Je.replaceChildren(),Je.className="rtichoke-prediction-distribution__cell--total rtichoke-pd-matrix__cell",Je.style.backgroundColor="#ffffff";let Hn=ot>0?ct/ot*100:0,fi=document.createElement("div");fi.className="rtichoke-pd-cell-bar",fi.style.width=`${Hn}%`,fi.style.backgroundColor=Qi;let Ji=document.createElement("div");Ji.className="rtichoke-pd-cell-content rtichoke-pd-cell-content--margin";let za=document.createElement("span");za.className="rtichoke-pd-cell-count",za.textContent=ct.toLocaleString(),Ji.append(za),Je.append(fi,Ji)},ey=document.createElement("tr");y==="predicted_positives"&&(ey.className="rtichoke-pd-matrix__row--active");let ty=document.createElement("th");ty.className=`rtichoke-pd-matrix__row-header ${y==="predicted_positives"?"rtichoke-pd-matrix__row-header--active":""}`,ty.append(Lu("predicted_positives","Predicted Positive"));let r2=document.createElement("td");ap(r2,"TP",le,x6);let n2=document.createElement("td");ap(n2,"FP",he,S6);let o2=document.createElement("td");Vu(o2,op,Jg),ey.append(ty,r2,n2,o2);let ry=document.createElement("tr");y==="predicted_negatives"&&(ry.className="rtichoke-pd-matrix__row--active");let ny=document.createElement("th");ny.className=`rtichoke-pd-matrix__row-header ${y==="predicted_negatives"?"rtichoke-pd-matrix__row-header--active":""}`,ny.append(Lu("predicted_negatives","Predicted Negative"));let i2=document.createElement("td");ap(i2,"FN",Ht,w6);let a2=document.createElement("td");ap(a2,"TN",Se,v6);let s2=document.createElement("td");Vu(s2,lr,Jg),ry.append(ny,i2,a2,s2);let oy=document.createElement("tr");oy.className="rtichoke-pd-matrix__tot-row";let c2=document.createElement("th");c2.className="rtichoke-pd-matrix__row-header rtichoke-pd-matrix__row-header--blank";let u2=document.createElement("td");Vu(u2,Br,I6);let f2=document.createElement("td");Vu(f2,fr,_6);let l2=document.createElement("td");Vu(l2,ot,Jg),oy.append(c2,u2,f2,l2),t2.append(ey,ry,oy),on.append(Qw,t2),Z.append(on)}if(Vt){let le=document.createElement("div");le.className="rtichoke-pd-metrics-container rtichoke-performance-table";let he=document.createElement("table");he.className="rtichoke-performance-table__table rtichoke-pd-metrics-table";let Se=document.createElement("thead"),Ht=document.createElement("tr"),Br=[{id:"sensitivity",label:"Sensitivity",val:Vt.sensitivity,isEmphasized:y==="real_positives",isRatio:!1},{id:"specificity",label:"Specificity",val:Vt.specificity,isEmphasized:y==="real_negatives",isRatio:!1},{id:"ppv",label:"PPV",val:Vt.ppv,isEmphasized:y==="predicted_positives",isRatio:!1},{id:"npv",label:"NPV",val:Vt.npv,isEmphasized:y==="predicted_negatives",isRatio:!1},{id:"lift",label:"Lift",val:Vt.lift,isEmphasized:y==="predicted_positives",isRatio:!0}];for(let lr of Br){let on=document.createElement("th");on.className=`rtichoke-performance-table__metric-header ${lr.isEmphasized?"rtichoke-pd-metric--emphasized-header":""}`,on.textContent=lr.label,Ht.append(on)}Se.append(Ht);let fr=document.createElement("tbody"),op=document.createElement("tr");for(let lr of Br){let on=document.createElement("td");on.className=`rtichoke-performance-table__metric ${lr.isEmphasized?"rtichoke-pd-metric--emphasized-cell":""}`;let Du="\u2014";if(lr.val!==null&&lr.val!==void 0&&(Du=lr.isRatio?lr.val.toFixed(2):(lr.val*100).toFixed(1)+"%"),lr.val!==null&&lr.val!==void 0&&isFinite(lr.val)){let qs=document.createElement("div");qs.className="rtichoke-performance-table__bar";let Hs=document.createElement("div");Hs.className="rtichoke-performance-table__bar-fill rtichoke-performance-table__bar-fill--positive";let ip=lr.isRatio?Math.min(100,lr.val/3*100):Math.min(100,lr.val*100);Hs.style.width=`${ip}%`,qs.append(Hs),on.append(qs)}let Ks=document.createElement("span");Ks.className="rtichoke-performance-table__cell-text",Ks.textContent=Du,on.append(Ks),op.append(on)}fr.append(op),he.append(Se,fr),le.append(he),Z.append(le)}};return A.addEventListener("input",()=>{let M=p(a,f),$=Number(A.value);$>=0&&$0?n[0]:void 0,i=[];if(n.length>1){let m=t.createElement("label");m.className="rtichoke-horizon-control",m.textContent="Fixed Time Horizon: ";let h=t.createElement("select");h.className="rtichoke-horizon-select",h.setAttribute("aria-label","Fixed Time Horizon");for(let b of n){let y=t.createElement("option");y.value=String(b),y.textContent=String(b),h.append(y)}h.value=String(o),h.addEventListener("change",()=>{o=Number(h.value),l()}),m.append(h),r.append(m)}let a=t.createElement("table");a.className="rtichoke-summary-metrics__table";let s=t.createElement("thead"),c=t.createElement("tr");for(let m of["Owner","Metric","Estimate"])c.append(LL(t,m));s.append(c),a.append(s);let u=new Map(e.evaluations.map(m=>[m.id,m])),f=new Map(e.populations.map(m=>[m.id,m])),p=t.createElement("tbody");for(let m of e.metrics){let h=t.createElement("tr"),b="",y="",x;if(m.metric==="auroc"){let S=u.get(m.owner.evaluationId);b=S.label??S.model??S.population??S.id,y="AUROC",h.dataset.metric="auroc",h.dataset.evaluationId=m.owner.evaluationId}else m.metric==="prevalence"?(b=f.get(m.owner.populationId).label,y="Prevalence",h.dataset.metric="prevalence",h.dataset.populationId=m.owner.populationId):m.metric==="event_risk"&&(b=f.get(m.owner.populationId).label,y="Event Probability",x=m.horizon,h.dataset.metric="event_risk",h.dataset.populationId=m.owner.populationId,h.dataset.horizon=String(m.horizon));h.append(Dw(t,b,"rtichoke-summary-metrics__owner"),Dw(t,y,"rtichoke-summary-metrics__metric"));let g=Dw(t,VL(m.estimate),"rtichoke-summary-metrics__estimate");m.estimate===null?g.dataset.unavailable="true":g.dataset.estimate=String(m.estimate),h.append(g),i.push({element:h,horizon:x}),p.append(h)}a.append(p),r.append(a);function l(){for(let{element:m,horizon:h}of i)h===void 0||h===o?m.style.display="":m.style.display="none"}return l(),r}function jL(e){switch(e.errorType){case F.ArrayContains:return"Expected array to contain at least one matching value";case F.ArrayMaxContains:return`Expected array to contain no more than ${e.schema.maxContains} matching values`;case F.ArrayMinContains:return`Expected array to contain at least ${e.schema.minContains} matching values`;case F.ArrayMaxItems:return`Expected array length to be less or equal to ${e.schema.maxItems}`;case F.ArrayMinItems:return`Expected array length to be greater or equal to ${e.schema.minItems}`;case F.ArrayUniqueItems:return"Expected array elements to be unique";case F.Array:return"Expected array";case F.AsyncIterator:return"Expected AsyncIterator";case F.BigIntExclusiveMaximum:return`Expected bigint to be less than ${e.schema.exclusiveMaximum}`;case F.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${e.schema.exclusiveMinimum}`;case F.BigIntMaximum:return`Expected bigint to be less or equal to ${e.schema.maximum}`;case F.BigIntMinimum:return`Expected bigint to be greater or equal to ${e.schema.minimum}`;case F.BigIntMultipleOf:return`Expected bigint to be a multiple of ${e.schema.multipleOf}`;case F.BigInt:return"Expected bigint";case F.Boolean:return"Expected boolean";case F.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${e.schema.exclusiveMinimumTimestamp}`;case F.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${e.schema.exclusiveMaximumTimestamp}`;case F.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${e.schema.minimumTimestamp}`;case F.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${e.schema.maximumTimestamp}`;case F.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${e.schema.multipleOfTimestamp}`;case F.Date:return"Expected Date";case F.Function:return"Expected function";case F.IntegerExclusiveMaximum:return`Expected integer to be less than ${e.schema.exclusiveMaximum}`;case F.IntegerExclusiveMinimum:return`Expected integer to be greater than ${e.schema.exclusiveMinimum}`;case F.IntegerMaximum:return`Expected integer to be less or equal to ${e.schema.maximum}`;case F.IntegerMinimum:return`Expected integer to be greater or equal to ${e.schema.minimum}`;case F.IntegerMultipleOf:return`Expected integer to be a multiple of ${e.schema.multipleOf}`;case F.Integer:return"Expected integer";case F.IntersectUnevaluatedProperties:return"Unexpected property";case F.Intersect:return"Expected all values to match";case F.Iterator:return"Expected Iterator";case F.Literal:return`Expected ${typeof e.schema.const=="string"?`'${e.schema.const}'`:e.schema.const}`;case F.Never:return"Never";case F.Not:return"Value should not match";case F.Null:return"Expected null";case F.NumberExclusiveMaximum:return`Expected number to be less than ${e.schema.exclusiveMaximum}`;case F.NumberExclusiveMinimum:return`Expected number to be greater than ${e.schema.exclusiveMinimum}`;case F.NumberMaximum:return`Expected number to be less or equal to ${e.schema.maximum}`;case F.NumberMinimum:return`Expected number to be greater or equal to ${e.schema.minimum}`;case F.NumberMultipleOf:return`Expected number to be a multiple of ${e.schema.multipleOf}`;case F.Number:return"Expected number";case F.Object:return"Expected object";case F.ObjectAdditionalProperties:return"Unexpected property";case F.ObjectMaxProperties:return`Expected object to have no more than ${e.schema.maxProperties} properties`;case F.ObjectMinProperties:return`Expected object to have at least ${e.schema.minProperties} properties`;case F.ObjectRequiredProperty:return"Expected required property";case F.Promise:return"Expected Promise";case F.RegExp:return"Expected string to match regular expression";case F.StringFormatUnknown:return`Unknown format '${e.schema.format}'`;case F.StringFormat:return`Expected string to match '${e.schema.format}' format`;case F.StringMaxLength:return`Expected string length less or equal to ${e.schema.maxLength}`;case F.StringMinLength:return`Expected string length greater or equal to ${e.schema.minLength}`;case F.StringPattern:return`Expected string to match '${e.schema.pattern}'`;case F.String:return"Expected string";case F.Symbol:return"Expected symbol";case F.TupleLength:return`Expected tuple to have ${e.schema.maxItems||0} elements`;case F.Tuple:return"Expected tuple";case F.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${e.schema.maxByteLength}`;case F.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${e.schema.minByteLength}`;case F.Uint8Array:return"Expected Uint8Array";case F.Undefined:return"Expected undefined";case F.Union:return"Expected union value";case F.Void:return"Expected void";case F.Kind:return`Expected kind '${e.schema[V]}'`;default:return"Unknown error type"}}var UL=jL;function Hk(){return UL}var Vw=class extends ge{constructor(t){super(`Unable to dereference schema with $id '${t.$ref}'`),this.schema=t}};function zL(e,t){let r=t.find(n=>n.$id===e.$ref);if(r===void 0)throw new Vw(e);return Le(r,t)}function sr(e,t){return!Be(e.$id)||t.some(r=>r.$id===e.$id)||t.push(e),t}function Le(e,t){return e[V]==="This"||e[V]==="Ref"?zL(e,t):e}var jw=class extends ge{constructor(t){super("Unable to hash value"),this.value=t}},wn;(function(e){e[e.Undefined=0]="Undefined",e[e.Null=1]="Null",e[e.Boolean=2]="Boolean",e[e.Number=3]="Number",e[e.String=4]="String",e[e.Object=5]="Object",e[e.Array=6]="Array",e[e.Date=7]="Date",e[e.Uint8Array=8]="Uint8Array",e[e.Symbol=9]="Symbol",e[e.BigInt=10]="BigInt"})(wn||(wn={}));var Ru=BigInt("14695981039346656037"),[BL,GL]=[BigInt("1099511628211"),BigInt("18446744073709551616")],KL=Array.from({length:256}).map((e,t)=>BigInt(t)),Yk=new Float64Array(1),Wk=new DataView(Yk.buffer),Xk=new Uint8Array(Yk.buffer);function*qL(e){let t=e===0?1:Math.ceil(Math.floor(Math.log2(e)+1)/8);for(let r=0;r>8*(t-1-r)&255}function HL(e){kr(wn.Array);for(let t of e)Eu(t)}function YL(e){kr(wn.Boolean),kr(e?1:0)}function WL(e){kr(wn.BigInt),Wk.setBigInt64(0,e);for(let t of Xk)kr(t)}function XL(e){kr(wn.Date),Eu(e.getTime())}function ZL(e){kr(wn.Null)}function QL(e){kr(wn.Number),Wk.setFloat64(0,e);for(let t of Xk)kr(t)}function JL(e){kr(wn.Object);for(let t of globalThis.Object.getOwnPropertyNames(e).sort())Eu(t),Eu(e[t])}function eV(e){kr(wn.String);for(let t=0;t=e.minItems)||Te(e.maxItems)&&!(r.length<=e.maxItems))return!1;for(let i of r)if(!cr(e.items,t,i))return!1;if(e.uniqueItems===!0&&!(function(){let i=new Set;for(let a of r){let s=Au(a);if(i.has(s))return!1;i.add(s)}return!0})())return!1;if(!(Te(e.contains)||lt(e.minContains)||lt(e.maxContains)))return!0;let n=Te(e.contains)?e.contains:_e(),o=r.reduce((i,a)=>cr(n,t,a)?i+1:i,0);return!(o===0||lt(e.minContains)&&oe.maxContains)}function cV(e,t,r){return up(r)}function uV(e,t,r){return!(!Yn(r)||Te(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||Te(e.maximum)&&!(r<=e.maximum)||Te(e.minimum)&&!(r>=e.minimum)||Te(e.multipleOf)&&r%e.multipleOf!==BigInt(0))}function fV(e,t,r){return No(r)}function lV(e,t,r){return cr(e.returns,t,r.prototype)}function pV(e,t,r){return!(!Nr(r)||Te(e.exclusiveMaximumTimestamp)&&!(r.getTime()e.exclusiveMinimumTimestamp)||Te(e.maximumTimestamp)&&!(r.getTime()<=e.maximumTimestamp)||Te(e.minimumTimestamp)&&!(r.getTime()>=e.minimumTimestamp)||Te(e.multipleOfTimestamp)&&r.getTime()%e.multipleOfTimestamp!==0)}function mV(e,t,r){return ea(r)}function dV(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return cr(o,[...t,...n],r)}function hV(e,t,r){return!(!pp(r)||Te(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||Te(e.maximum)&&!(r<=e.maximum)||Te(e.minimum)&&!(r>=e.minimum)||Te(e.multipleOf)&&r%e.multipleOf!==0)}function gV(e,t,r){let n=e.allOf.every(o=>cr(o,t,r));if(e.unevaluatedProperties===!1){let o=new RegExp(cc(e)),i=Object.getOwnPropertyNames(r).every(a=>o.test(a));return n&&i}else if(yt(e.unevaluatedProperties)){let o=new RegExp(cc(e)),i=Object.getOwnPropertyNames(r).every(a=>o.test(a)||cr(e.unevaluatedProperties,t,r[a]));return n&&i}else return n}function yV(e,t,r){return fp(r)}function bV(e,t,r){return r===e.const}function xV(e,t,r){return!1}function wV(e,t,r){return!cr(e.not,t,r)}function SV(e,t,r){return mi(r)}function vV(e,t,r){return!(!jt.IsNumberLike(r)||Te(e.exclusiveMaximum)&&!(re.exclusiveMinimum)||Te(e.minimum)&&!(r>=e.minimum)||Te(e.maximum)&&!(r<=e.maximum)||Te(e.multipleOf)&&r%e.multipleOf!==0)}function IV(e,t,r){if(!jt.IsObjectLike(r)||Te(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)||Te(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties))return!1;let n=Object.getOwnPropertyNames(e.properties);for(let o of n){let i=e.properties[o];if(e.required&&e.required.includes(o)){if(!cr(i,t,r[o])||(Qa(i)||oV(i))&&!(o in r))return!1}else if(jt.IsExactOptionalProperty(r,o)&&!cr(i,t,r[o]))return!1}if(e.additionalProperties===!1){let o=Object.getOwnPropertyNames(r);return e.required&&e.required.length===n.length&&o.length===n.length?!0:o.every(i=>n.includes(i))}else return typeof e.additionalProperties=="object"?Object.getOwnPropertyNames(r).every(i=>n.includes(i)||cr(e.additionalProperties,t,r[i])):!0}function _V(e,t,r){return lp(r)}function PV(e,t,r){if(!jt.IsRecordLike(r)||Te(e.minProperties)&&!(Object.getOwnPropertyNames(r).length>=e.minProperties)||Te(e.maxProperties)&&!(Object.getOwnPropertyNames(r).length<=e.maxProperties))return!1;let[n,o]=Object.entries(e.patternProperties)[0],i=new RegExp(n),a=Object.entries(r).every(([u,f])=>i.test(u)?cr(o,t,f):!0),s=typeof e.additionalProperties=="object"?Object.entries(r).every(([u,f])=>i.test(u)?!0:cr(e.additionalProperties,t,f)):!0,c=e.additionalProperties===!1?Object.getOwnPropertyNames(r).every(u=>i.test(u)):!0;return a&&s&&c}function TV(e,t,r){return cr(Le(e,t),t,r)}function MV(e,t,r){let n=new RegExp(e.source,e.flags);return Te(e.minLength)&&!(r.length>=e.minLength)||Te(e.maxLength)&&!(r.length<=e.maxLength)?!1:n.test(r)}function CV(e,t,r){return!Be(r)||Te(e.minLength)&&!(r.length>=e.minLength)||Te(e.maxLength)&&!(r.length<=e.maxLength)||Te(e.pattern)&&!new RegExp(e.pattern).test(r)?!1:Te(e.format)?ia.Has(e.format)?ia.Get(e.format)(r):!1:!0}function OV(e,t,r){return di(r)}function kV(e,t,r){return Be(r)&&new RegExp(e.pattern).test(r)}function NV(e,t,r){return cr(Le(e,t),t,r)}function RV(e,t,r){if(!me(r)||e.items===void 0&&r.length!==0||r.length!==e.maxItems)return!1;if(!e.items)return!0;for(let n=0;ncr(n,t,r))}function FV(e,t,r){return!(!Ws(r)||Te(e.maxByteLength)&&!(r.length<=e.maxByteLength)||Te(e.minByteLength)&&!(r.length>=e.minByteLength))}function $V(e,t,r){return!0}function DV(e,t,r){return jt.IsVoidLike(r)}function LV(e,t,r){return ro.Has(e[V])?ro.Get(e[V])(e,r):!1}function cr(e,t,r){let n=Te(e.$id)?sr(e,t):t,o=e;switch(o[V]){case"Any":return iV(o,n,r);case"Argument":return aV(o,n,r);case"Array":return sV(o,n,r);case"AsyncIterator":return cV(o,n,r);case"BigInt":return uV(o,n,r);case"Boolean":return fV(o,n,r);case"Constructor":return lV(o,n,r);case"Date":return pV(o,n,r);case"Function":return mV(o,n,r);case"Import":return dV(o,n,r);case"Integer":return hV(o,n,r);case"Intersect":return gV(o,n,r);case"Iterator":return yV(o,n,r);case"Literal":return bV(o,n,r);case"Never":return xV(o,n,r);case"Not":return wV(o,n,r);case"Null":return SV(o,n,r);case"Number":return vV(o,n,r);case"Object":return IV(o,n,r);case"Promise":return _V(o,n,r);case"Record":return PV(o,n,r);case"Ref":return TV(o,n,r);case"RegExp":return MV(o,n,r);case"String":return CV(o,n,r);case"Symbol":return OV(o,n,r);case"TemplateLiteral":return kV(o,n,r);case"This":return NV(o,n,r);case"Tuple":return RV(o,n,r);case"Undefined":return EV(o,n,r);case"Union":return AV(o,n,r);case"Uint8Array":return FV(o,n,r);case"Unknown":return $V(o,n,r);case"Void":return DV(o,n,r);default:if(!ro.Has(o[V]))throw new Uw(o);return LV(o,n,r)}}function Ie(...e){return e.length===3?cr(e[0],e[1],e[2]):cr(e[0],[],e[1])}var F;(function(e){e[e.ArrayContains=0]="ArrayContains",e[e.ArrayMaxContains=1]="ArrayMaxContains",e[e.ArrayMaxItems=2]="ArrayMaxItems",e[e.ArrayMinContains=3]="ArrayMinContains",e[e.ArrayMinItems=4]="ArrayMinItems",e[e.ArrayUniqueItems=5]="ArrayUniqueItems",e[e.Array=6]="Array",e[e.AsyncIterator=7]="AsyncIterator",e[e.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",e[e.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",e[e.BigIntMaximum=10]="BigIntMaximum",e[e.BigIntMinimum=11]="BigIntMinimum",e[e.BigIntMultipleOf=12]="BigIntMultipleOf",e[e.BigInt=13]="BigInt",e[e.Boolean=14]="Boolean",e[e.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",e[e.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",e[e.DateMaximumTimestamp=17]="DateMaximumTimestamp",e[e.DateMinimumTimestamp=18]="DateMinimumTimestamp",e[e.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",e[e.Date=20]="Date",e[e.Function=21]="Function",e[e.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",e[e.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",e[e.IntegerMaximum=24]="IntegerMaximum",e[e.IntegerMinimum=25]="IntegerMinimum",e[e.IntegerMultipleOf=26]="IntegerMultipleOf",e[e.Integer=27]="Integer",e[e.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",e[e.Intersect=29]="Intersect",e[e.Iterator=30]="Iterator",e[e.Kind=31]="Kind",e[e.Literal=32]="Literal",e[e.Never=33]="Never",e[e.Not=34]="Not",e[e.Null=35]="Null",e[e.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",e[e.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",e[e.NumberMaximum=38]="NumberMaximum",e[e.NumberMinimum=39]="NumberMinimum",e[e.NumberMultipleOf=40]="NumberMultipleOf",e[e.Number=41]="Number",e[e.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",e[e.ObjectMaxProperties=43]="ObjectMaxProperties",e[e.ObjectMinProperties=44]="ObjectMinProperties",e[e.ObjectRequiredProperty=45]="ObjectRequiredProperty",e[e.Object=46]="Object",e[e.Promise=47]="Promise",e[e.RegExp=48]="RegExp",e[e.StringFormatUnknown=49]="StringFormatUnknown",e[e.StringFormat=50]="StringFormat",e[e.StringMaxLength=51]="StringMaxLength",e[e.StringMinLength=52]="StringMinLength",e[e.StringPattern=53]="StringPattern",e[e.String=54]="String",e[e.Symbol=55]="Symbol",e[e.TupleLength=56]="TupleLength",e[e.Tuple=57]="Tuple",e[e.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",e[e.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",e[e.Uint8Array=60]="Uint8Array",e[e.Undefined=61]="Undefined",e[e.Union=62]="Union",e[e.Void=63]="Void"})(F||(F={}));var zw=class extends ge{constructor(t){super("Unknown type"),this.schema=t}};function Wi(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Me(e){return e!==void 0}var La=class{constructor(t){this.iterator=t}[Symbol.iterator](){return this.iterator}First(){let t=this.iterator.next();return t.done?void 0:t.value}};function te(e,t,r,n,o=[]){return{type:e,schema:t,path:r,value:n,message:Hk()({errorType:e,path:r,schema:t,value:n,errors:o}),errors:o}}function*VV(e,t,r,n){}function*jV(e,t,r,n){}function*UV(e,t,r,n){if(!me(n))return yield te(F.Array,e,r,n);Me(e.minItems)&&!(n.length>=e.minItems)&&(yield te(F.ArrayMinItems,e,r,n)),Me(e.maxItems)&&!(n.length<=e.maxItems)&&(yield te(F.ArrayMaxItems,e,r,n));for(let a=0;aur(o,t,`${r}${c}`,s).next().done===!0?a+1:a,0);i===0&&(yield te(F.ArrayContains,e,r,n)),lt(e.minContains)&&ie.maxContains&&(yield te(F.ArrayMaxContains,e,r,n))}function*zV(e,t,r,n){up(n)||(yield te(F.AsyncIterator,e,r,n))}function*BV(e,t,r,n){if(!Yn(n))return yield te(F.BigInt,e,r,n);Me(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield te(F.BigIntExclusiveMinimum,e,r,n)),Me(e.maximum)&&!(n<=e.maximum)&&(yield te(F.BigIntMaximum,e,r,n)),Me(e.minimum)&&!(n>=e.minimum)&&(yield te(F.BigIntMinimum,e,r,n)),Me(e.multipleOf)&&n%e.multipleOf!==BigInt(0)&&(yield te(F.BigIntMultipleOf,e,r,n))}function*GV(e,t,r,n){No(n)||(yield te(F.Boolean,e,r,n))}function*KV(e,t,r,n){yield*ur(e.returns,t,r,n.prototype)}function*qV(e,t,r,n){if(!Nr(n))return yield te(F.Date,e,r,n);Me(e.exclusiveMaximumTimestamp)&&!(n.getTime()e.exclusiveMinimumTimestamp)&&(yield te(F.DateExclusiveMinimumTimestamp,e,r,n)),Me(e.maximumTimestamp)&&!(n.getTime()<=e.maximumTimestamp)&&(yield te(F.DateMaximumTimestamp,e,r,n)),Me(e.minimumTimestamp)&&!(n.getTime()>=e.minimumTimestamp)&&(yield te(F.DateMinimumTimestamp,e,r,n)),Me(e.multipleOfTimestamp)&&n.getTime()%e.multipleOfTimestamp!==0&&(yield te(F.DateMultipleOfTimestamp,e,r,n))}function*HV(e,t,r,n){ea(n)||(yield te(F.Function,e,r,n))}function*YV(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref];yield*ur(i,[...t,...o],r,n)}function*WV(e,t,r,n){if(!pp(n))return yield te(F.Integer,e,r,n);Me(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield te(F.IntegerExclusiveMinimum,e,r,n)),Me(e.maximum)&&!(n<=e.maximum)&&(yield te(F.IntegerMaximum,e,r,n)),Me(e.minimum)&&!(n>=e.minimum)&&(yield te(F.IntegerMinimum,e,r,n)),Me(e.multipleOf)&&n%e.multipleOf!==0&&(yield te(F.IntegerMultipleOf,e,r,n))}function*XV(e,t,r,n){let o=!1;for(let i of e.allOf)for(let a of ur(i,t,r,n))o=!0,yield a;if(o)return yield te(F.Intersect,e,r,n);if(e.unevaluatedProperties===!1){let i=new RegExp(cc(e));for(let a of Object.getOwnPropertyNames(n))i.test(a)||(yield te(F.IntersectUnevaluatedProperties,e,`${r}/${a}`,n))}if(typeof e.unevaluatedProperties=="object"){let i=new RegExp(cc(e));for(let a of Object.getOwnPropertyNames(n))if(!i.test(a)){let s=ur(e.unevaluatedProperties,t,`${r}/${a}`,n[a]).next();s.done||(yield s.value)}}}function*ZV(e,t,r,n){fp(n)||(yield te(F.Iterator,e,r,n))}function*QV(e,t,r,n){n!==e.const&&(yield te(F.Literal,e,r,n))}function*JV(e,t,r,n){yield te(F.Never,e,r,n)}function*ej(e,t,r,n){ur(e.not,t,r,n).next().done===!0&&(yield te(F.Not,e,r,n))}function*tj(e,t,r,n){mi(n)||(yield te(F.Null,e,r,n))}function*rj(e,t,r,n){if(!jt.IsNumberLike(n))return yield te(F.Number,e,r,n);Me(e.exclusiveMaximum)&&!(ne.exclusiveMinimum)&&(yield te(F.NumberExclusiveMinimum,e,r,n)),Me(e.maximum)&&!(n<=e.maximum)&&(yield te(F.NumberMaximum,e,r,n)),Me(e.minimum)&&!(n>=e.minimum)&&(yield te(F.NumberMinimum,e,r,n)),Me(e.multipleOf)&&n%e.multipleOf!==0&&(yield te(F.NumberMultipleOf,e,r,n))}function*nj(e,t,r,n){if(!jt.IsObjectLike(n))return yield te(F.Object,e,r,n);Me(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)&&(yield te(F.ObjectMinProperties,e,r,n)),Me(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties)&&(yield te(F.ObjectMaxProperties,e,r,n));let o=Array.isArray(e.required)?e.required:[],i=Object.getOwnPropertyNames(e.properties),a=Object.getOwnPropertyNames(n);for(let s of o)a.includes(s)||(yield te(F.ObjectRequiredProperty,e.properties[s],`${r}/${Wi(s)}`,void 0));if(e.additionalProperties===!1)for(let s of a)i.includes(s)||(yield te(F.ObjectAdditionalProperties,e,`${r}/${Wi(s)}`,n[s]));if(typeof e.additionalProperties=="object")for(let s of a)i.includes(s)||(yield*ur(e.additionalProperties,t,`${r}/${Wi(s)}`,n[s]));for(let s of i){let c=e.properties[s];e.required&&e.required.includes(s)?(yield*ur(c,t,`${r}/${Wi(s)}`,n[s]),Qa(e)&&!(s in n)&&(yield te(F.ObjectRequiredProperty,c,`${r}/${Wi(s)}`,void 0))):jt.IsExactOptionalProperty(n,s)&&(yield*ur(c,t,`${r}/${Wi(s)}`,n[s]))}}function*oj(e,t,r,n){lp(n)||(yield te(F.Promise,e,r,n))}function*ij(e,t,r,n){if(!jt.IsRecordLike(n))return yield te(F.Object,e,r,n);Me(e.minProperties)&&!(Object.getOwnPropertyNames(n).length>=e.minProperties)&&(yield te(F.ObjectMinProperties,e,r,n)),Me(e.maxProperties)&&!(Object.getOwnPropertyNames(n).length<=e.maxProperties)&&(yield te(F.ObjectMaxProperties,e,r,n));let[o,i]=Object.entries(e.patternProperties)[0],a=new RegExp(o);for(let[s,c]of Object.entries(n))a.test(s)&&(yield*ur(i,t,`${r}/${Wi(s)}`,c));if(typeof e.additionalProperties=="object")for(let[s,c]of Object.entries(n))a.test(s)||(yield*ur(e.additionalProperties,t,`${r}/${Wi(s)}`,c));if(e.additionalProperties===!1){for(let[s,c]of Object.entries(n))if(!a.test(s))return yield te(F.ObjectAdditionalProperties,e,`${r}/${Wi(s)}`,c)}}function*aj(e,t,r,n){yield*ur(Le(e,t),t,r,n)}function*sj(e,t,r,n){if(!Be(n))return yield te(F.String,e,r,n);if(Me(e.minLength)&&!(n.length>=e.minLength)&&(yield te(F.StringMinLength,e,r,n)),Me(e.maxLength)&&!(n.length<=e.maxLength)&&(yield te(F.StringMaxLength,e,r,n)),!new RegExp(e.source,e.flags).test(n))return yield te(F.RegExp,e,r,n)}function*cj(e,t,r,n){if(!Be(n))return yield te(F.String,e,r,n);Me(e.minLength)&&!(n.length>=e.minLength)&&(yield te(F.StringMinLength,e,r,n)),Me(e.maxLength)&&!(n.length<=e.maxLength)&&(yield te(F.StringMaxLength,e,r,n)),Be(e.pattern)&&(new RegExp(e.pattern).test(n)||(yield te(F.StringPattern,e,r,n))),Be(e.format)&&(ia.Has(e.format)?ia.Get(e.format)(n)||(yield te(F.StringFormat,e,r,n)):yield te(F.StringFormatUnknown,e,r,n))}function*uj(e,t,r,n){di(n)||(yield te(F.Symbol,e,r,n))}function*fj(e,t,r,n){if(!Be(n))return yield te(F.String,e,r,n);new RegExp(e.pattern).test(n)||(yield te(F.StringPattern,e,r,n))}function*lj(e,t,r,n){yield*ur(Le(e,t),t,r,n)}function*pj(e,t,r,n){if(!me(n))return yield te(F.Tuple,e,r,n);if(e.items===void 0&&n.length!==0)return yield te(F.TupleLength,e,r,n);if(n.length!==e.maxItems)return yield te(F.TupleLength,e,r,n);if(e.items)for(let o=0;onew La(ur(i,t,r,n)));yield te(F.Union,e,r,n,o)}function*hj(e,t,r,n){if(!Ws(n))return yield te(F.Uint8Array,e,r,n);Me(e.maxByteLength)&&!(n.length<=e.maxByteLength)&&(yield te(F.Uint8ArrayMaxByteLength,e,r,n)),Me(e.minByteLength)&&!(n.length>=e.minByteLength)&&(yield te(F.Uint8ArrayMinByteLength,e,r,n))}function*gj(e,t,r,n){}function*yj(e,t,r,n){jt.IsVoidLike(n)||(yield te(F.Void,e,r,n))}function*bj(e,t,r,n){ro.Get(e[V])(e,n)||(yield te(F.Kind,e,r,n))}function*ur(e,t,r,n){let o=Me(e.$id)?[...t,e]:t,i=e;switch(i[V]){case"Any":return yield*VV(i,o,r,n);case"Argument":return yield*jV(i,o,r,n);case"Array":return yield*UV(i,o,r,n);case"AsyncIterator":return yield*zV(i,o,r,n);case"BigInt":return yield*BV(i,o,r,n);case"Boolean":return yield*GV(i,o,r,n);case"Constructor":return yield*KV(i,o,r,n);case"Date":return yield*qV(i,o,r,n);case"Function":return yield*HV(i,o,r,n);case"Import":return yield*YV(i,o,r,n);case"Integer":return yield*WV(i,o,r,n);case"Intersect":return yield*XV(i,o,r,n);case"Iterator":return yield*ZV(i,o,r,n);case"Literal":return yield*QV(i,o,r,n);case"Never":return yield*JV(i,o,r,n);case"Not":return yield*ej(i,o,r,n);case"Null":return yield*tj(i,o,r,n);case"Number":return yield*rj(i,o,r,n);case"Object":return yield*nj(i,o,r,n);case"Promise":return yield*oj(i,o,r,n);case"Record":return yield*ij(i,o,r,n);case"Ref":return yield*aj(i,o,r,n);case"RegExp":return yield*sj(i,o,r,n);case"String":return yield*cj(i,o,r,n);case"Symbol":return yield*uj(i,o,r,n);case"TemplateLiteral":return yield*fj(i,o,r,n);case"This":return yield*lj(i,o,r,n);case"Tuple":return yield*pj(i,o,r,n);case"Undefined":return yield*mj(i,o,r,n);case"Union":return yield*dj(i,o,r,n);case"Uint8Array":return yield*hj(i,o,r,n);case"Unknown":return yield*gj(i,o,r,n);case"Void":return yield*yj(i,o,r,n);default:if(!ro.Has(i[V]))throw new zw(e);return yield*bj(i,o,r,n)}}function Va(...e){let t=e.length===3?ur(e[0],e[1],"",e[2]):ur(e[0],[],"",e[1]);return new La(t)}var xj=function(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r},Qk=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Bw,kg,Jk,Gw=class extends ge{constructor(t){let r=t.First();super(r===void 0?"Invalid Value":r.message),Bw.add(this),kg.set(this,void 0),xj(this,kg,t,"f"),this.error=r}Errors(){return new La(Qk(this,Bw,"m",Jk).call(this))}};kg=new WeakMap,Bw=new WeakSet,Jk=function*(){this.error&&(yield this.error),yield*Qk(this,kg,"f")};function Zk(e,t,r){if(!Ie(e,t,r))throw new Gw(Va(e,t,r))}function Ng(...e){return e.length===3?Zk(e[0],e[1],e[2]):Zk(e[0],[],e[1])}function wj(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]=Re(e[r]);for(let r of Object.getOwnPropertySymbols(e))t[r]=Re(e[r]);return t}function Sj(e){return e.map(t=>Re(t))}function vj(e){return e.slice()}function Ij(e){return new Map(Re([...e.entries()]))}function _j(e){return new Set(Re([...e.entries()]))}function Pj(e){return new Date(e.toISOString())}function Re(e){if(me(e))return Sj(e);if(Nr(e))return Pj(e);if(Pn(e))return vj(e);if(p2(e))return Ij(e);if(m2(e))return _j(e);if(xe(e))return wj(e);if(sn(e))return e;throw new Error("ValueClone: Unable to clone value")}var Sn=class extends ge{constructor(t,r){super(r),this.schema=t}};function Ee(e){return ea(e)?e():Re(e)}function Tj(e,t){return pe(e,"default")?Ee(e.default):{}}function Mj(e,t){return{}}function Cj(e,t){if(e.uniqueItems===!0&&!pe(e,"default"))throw new Sn(e,"Array with the uniqueItems constraint requires a default value");if("contains"in e&&!pe(e,"default"))throw new Sn(e,"Array with the contains constraint requires a default value");return"default"in e?Ee(e.default):e.minItems!==void 0?Array.from({length:e.minItems}).map(r=>vn(e.items,t)):[]}function Oj(e,t){return pe(e,"default")?Ee(e.default):(async function*(){})()}function kj(e,t){return pe(e,"default")?Ee(e.default):BigInt(0)}function Nj(e,t){return pe(e,"default")?Ee(e.default):!1}function Rj(e,t){if(pe(e,"default"))return Ee(e.default);{let r=vn(e.returns,t);return typeof r=="object"&&!Array.isArray(r)?class{constructor(){for(let[n,o]of Object.entries(r)){let i=this;i[n]=o}}}:class{}}}function Ej(e,t){return pe(e,"default")?Ee(e.default):e.minimumTimestamp!==void 0?new Date(e.minimumTimestamp):new Date}function Aj(e,t){return pe(e,"default")?Ee(e.default):()=>vn(e.returns,t)}function Fj(e,t){let r=globalThis.Object.values(e.$defs),n=e.$defs[e.$ref];return vn(n,[...t,...r])}function $j(e,t){return pe(e,"default")?Ee(e.default):e.minimum!==void 0?e.minimum:0}function Dj(e,t){if(pe(e,"default"))return Ee(e.default);{let r=e.allOf.reduce((n,o)=>{let i=vn(o,t);return typeof i=="object"?{...n,...i}:i},{});if(!Ie(e,t,r))throw new Sn(e,"Intersect produced invalid value. Consider using a default value.");return r}}function Lj(e,t){return pe(e,"default")?Ee(e.default):(function*(){})()}function Vj(e,t){return pe(e,"default")?Ee(e.default):e.const}function jj(e,t){if(pe(e,"default"))return Ee(e.default);throw new Sn(e,"Never types cannot be created. Consider using a default value.")}function Uj(e,t){if(pe(e,"default"))return Ee(e.default);throw new Sn(e,"Not types must have a default value")}function zj(e,t){return pe(e,"default")?Ee(e.default):null}function Bj(e,t){return pe(e,"default")?Ee(e.default):e.minimum!==void 0?e.minimum:0}function Gj(e,t){if(pe(e,"default"))return Ee(e.default);{let r=new Set(e.required),n={};for(let[o,i]of Object.entries(e.properties))r.has(o)&&(n[o]=vn(i,t));return n}}function Kj(e,t){return pe(e,"default")?Ee(e.default):Promise.resolve(vn(e.item,t))}function qj(e,t){return pe(e,"default")?Ee(e.default):{}}function Hj(e,t){return pe(e,"default")?Ee(e.default):vn(Le(e,t),t)}function Yj(e,t){if(pe(e,"default"))return Ee(e.default);throw new Sn(e,"RegExp types cannot be created. Consider using a default value.")}function Wj(e,t){if(e.pattern!==void 0){if(pe(e,"default"))return Ee(e.default);throw new Sn(e,"String types with patterns must specify a default value")}else if(e.format!==void 0){if(pe(e,"default"))return Ee(e.default);throw new Sn(e,"String types with formats must specify a default value")}else return pe(e,"default")?Ee(e.default):e.minLength!==void 0?Array.from({length:e.minLength}).map(()=>" ").join(""):""}function Xj(e,t){return pe(e,"default")?Ee(e.default):"value"in e?Symbol.for(e.value):Symbol()}function Zj(e,t){if(pe(e,"default"))return Ee(e.default);if(!gp(e))throw new Sn(e,"Can only create template literals that produce a finite variants. Consider using a default value.");return oc(e)[0]}function Qj(e,t){if(e6++>aU)throw new Sn(e,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");return pe(e,"default")?Ee(e.default):vn(Le(e,t),t)}function Jj(e,t){return pe(e,"default")?Ee(e.default):e.items===void 0?[]:Array.from({length:e.minItems}).map((r,n)=>vn(e.items[n],t))}function eU(e,t){if(pe(e,"default"))return Ee(e.default)}function tU(e,t){if(pe(e,"default"))return Ee(e.default);if(e.anyOf.length===0)throw new Error("ValueCreate.Union: Cannot create Union with zero variants");return vn(e.anyOf[0],t)}function rU(e,t){return pe(e,"default")?Ee(e.default):e.minByteLength!==void 0?new Uint8Array(e.minByteLength):new Uint8Array(0)}function nU(e,t){return pe(e,"default")?Ee(e.default):{}}function oU(e,t){if(pe(e,"default"))return Ee(e.default)}function iU(e,t){if(pe(e,"default"))return Ee(e.default);throw new Error("User defined types must specify a default value")}function vn(e,t){let r=sr(e,t),n=e;switch(n[V]){case"Any":return Tj(n,r);case"Argument":return Mj(n,r);case"Array":return Cj(n,r);case"AsyncIterator":return Oj(n,r);case"BigInt":return kj(n,r);case"Boolean":return Nj(n,r);case"Constructor":return Rj(n,r);case"Date":return Ej(n,r);case"Function":return Aj(n,r);case"Import":return Fj(n,r);case"Integer":return $j(n,r);case"Intersect":return Dj(n,r);case"Iterator":return Lj(n,r);case"Literal":return Vj(n,r);case"Never":return jj(n,r);case"Not":return Uj(n,r);case"Null":return zj(n,r);case"Number":return Bj(n,r);case"Object":return Gj(n,r);case"Promise":return Kj(n,r);case"Record":return qj(n,r);case"Ref":return Hj(n,r);case"RegExp":return Yj(n,r);case"String":return Wj(n,r);case"Symbol":return Xj(n,r);case"TemplateLiteral":return Zj(n,r);case"This":return Qj(n,r);case"Tuple":return Jj(n,r);case"Undefined":return eU(n,r);case"Union":return tU(n,r);case"Uint8Array":return rU(n,r);case"Unknown":return nU(n,r);case"Void":return oU(n,r);default:if(!ro.Has(n[V]))throw new Sn(n,"Unknown type");return iU(n,r)}}var aU=512,e6=0;function _o(...e){return e6=0,e.length===2?vn(e[0],e[1]):vn(e[0],[])}var Rg=class extends ge{constructor(t,r){super(r),this.schema=t}};function t6(e,t,r){if(e[V]==="Object"&&typeof r=="object"&&!mi(r)){let n=e,o=Object.getOwnPropertyNames(r);return Object.entries(n.properties).reduce((a,[s,c])=>{let u=c[V]==="Literal"&&c.const===r[s]?100:0,f=Ie(c,t,r[s])?10:0,p=o.includes(s)?1:0;return a+(u+f+p)},0)}else if(e[V]==="Union"){let o=e.anyOf.map(i=>Le(i,t)).map(i=>t6(i,t,r));return Math.max(...o)}else return Ie(e,t,r)?1:0}function sU(e,t,r){let n=e.anyOf.map(a=>Le(a,t)),[o,i]=[n[0],0];for(let a of n){let s=t6(a,t,r);s>i&&(o=a,i=s)}return o}function cU(e,t,r){if("default"in e)return typeof r=="function"?e.default:Re(e.default);{let n=sU(e,t,r);return ep(n,t,r)}}function uU(e,t,r){return Ie(e,t,r)?Re(r):_o(e,t)}function fU(e,t,r){return Ie(e,t,r)?r:_o(e,t)}function lU(e,t,r){if(Ie(e,t,r))return Re(r);let n=me(r)?Re(r):_o(e,t),o=lt(e.minItems)&&n.lengthnull)]:n,a=(lt(e.maxItems)&&o.length>e.maxItems?o.slice(0,e.maxItems):o).map(c=>Po(e.items,t,c));if(e.uniqueItems!==!0)return a;let s=[...new Set(a)];if(!Ie(e,t,s))throw new Rg(e,"Array cast produced invalid data due to uniqueItems constraint");return s}function pU(e,t,r){if(Ie(e,t,r))return _o(e,t);let n=new Set(e.returns.required||[]),o=function(){};for(let[i,a]of Object.entries(e.returns.properties))!n.has(i)&&r.prototype[i]===void 0||(o.prototype[i]=Po(a,t,r.prototype[i]));return o}function mU(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return Po(o,[...t,...n],r)}function r6(e,t){return xe(e)&&!xe(t)||!xe(e)&&xe(t)?e:!xe(e)||!xe(t)?t:globalThis.Object.getOwnPropertyNames(e).reduce((r,n)=>{let o=n in t?r6(e[n],t[n]):e[n];return{...r,[n]:o}},{})}function dU(e,t,r){if(Ie(e,t,r))return r;let n=_o(e,t),o=r6(n,r);return Ie(e,t,o)?o:n}function hU(e,t,r){throw new Rg(e,"Never types cannot be cast")}function gU(e,t,r){if(Ie(e,t,r))return r;if(r===null||typeof r!="object")return _o(e,t);let n=new Set(e.required||[]),o={};for(let[i,a]of Object.entries(e.properties))!n.has(i)&&r[i]===void 0||(o[i]=Po(a,t,r[i]));if(typeof e.additionalProperties=="object"){let i=Object.getOwnPropertyNames(e.properties);for(let a of Object.getOwnPropertyNames(r))i.includes(a)||(o[a]=Po(e.additionalProperties,t,r[a]))}return o}function yU(e,t,r){if(Ie(e,t,r))return Re(r);if(r===null||typeof r!="object"||Array.isArray(r)||r instanceof Date)return _o(e,t);let n=Object.getOwnPropertyNames(e.patternProperties)[0],o=e.patternProperties[n],i={};for(let[a,s]of Object.entries(r))i[a]=Po(o,t,s);return i}function bU(e,t,r){return Po(Le(e,t),t,r)}function xU(e,t,r){return Po(Le(e,t),t,r)}function wU(e,t,r){return Ie(e,t,r)?Re(r):me(r)?e.items===void 0?[]:e.items.map((n,o)=>Po(n,t,r[o])):_o(e,t)}function SU(e,t,r){return Ie(e,t,r)?Re(r):cU(e,t,r)}function Po(e,t,r){let n=Be(e.$id)?sr(e,t):t,o=e;switch(e[V]){case"Array":return lU(o,n,r);case"Constructor":return pU(o,n,r);case"Import":return mU(o,n,r);case"Intersect":return dU(o,n,r);case"Never":return hU(o,n,r);case"Object":return gU(o,n,r);case"Record":return yU(o,n,r);case"Ref":return bU(o,n,r);case"This":return xU(o,n,r);case"Tuple":return wU(o,n,r);case"Union":return SU(o,n,r);case"Date":case"Symbol":case"Uint8Array":return uU(e,t,r);default:return fU(o,n,r)}}function ep(...e){return e.length===3?Po(e[0],e[1],e[2]):Po(e[0],[],e[1])}function vU(e){return ra(e)&&e[V]!=="Unsafe"}function IU(e,t,r){return me(r)?r.map(n=>rn(e.items,t,n)):r}function _U(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return rn(o,[...t,...n],r)}function PU(e,t,r){let n=e.unevaluatedProperties,i=e.allOf.map(s=>rn(s,t,Re(r))).reduce((s,c)=>xe(c)?{...s,...c}:c,{});if(!xe(r)||!xe(i)||!ra(n))return i;let a=Hr(e);for(let s of Object.getOwnPropertyNames(r))a.includes(s)||Ie(n,t,r[s])&&(i[s]=rn(n,t,r[s]));return i}function TU(e,t,r){if(!xe(r)||me(r))return r;let n=e.additionalProperties;for(let o of Object.getOwnPropertyNames(r)){if(pe(e.properties,o)){r[o]=rn(e.properties[o],t,r[o]);continue}if(ra(n)&&Ie(n,t,r[o])){r[o]=rn(n,t,r[o]);continue}delete r[o]}return r}function MU(e,t,r){if(!xe(r))return r;let n=e.additionalProperties,o=Object.getOwnPropertyNames(r),[i,a]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let c of o){if(s.test(c)){r[c]=rn(a,t,r[c]);continue}if(ra(n)&&Ie(n,t,r[c])){r[c]=rn(n,t,r[c]);continue}delete r[c]}return r}function CU(e,t,r){return rn(Le(e,t),t,r)}function OU(e,t,r){return rn(Le(e,t),t,r)}function kU(e,t,r){if(!me(r))return r;if(ft(e.items))return[];let n=Math.min(r.length,e.items.length);for(let o=0;on?r.slice(0,n):r}function NU(e,t,r){for(let n of e.anyOf)if(vU(n)&&Ie(n,t,r))return rn(n,t,r);return r}function rn(e,t,r){let n=Be(e.$id)?sr(e,t):t,o=e;switch(o[V]){case"Array":return IU(o,n,r);case"Import":return _U(o,n,r);case"Intersect":return PU(o,n,r);case"Object":return TU(o,n,r);case"Record":return MU(o,n,r);case"Ref":return CU(o,n,r);case"This":return OU(o,n,r);case"Tuple":return kU(o,n,r);case"Union":return NU(o,n,r);default:return r}}function Eg(...e){return e.length===3?rn(e[0],e[1],e[2]):rn(e[0],[],e[1])}function Ag(e){return Be(e)&&!isNaN(e)&&!isNaN(parseFloat(e))}function RU(e){return Yn(e)||No(e)||lt(e)}function tp(e){return e===!0||lt(e)&&e===1||Yn(e)&&e===BigInt("1")||Be(e)&&(e.toLowerCase()==="true"||e==="1")}function rp(e){return e===!1||lt(e)&&(e===0||Object.is(e,-0))||Yn(e)&&e===BigInt("0")||Be(e)&&(e.toLowerCase()==="false"||e==="0"||e==="-0")}function EU(e){return Be(e)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(e)}function AU(e){return Be(e)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(e)}function FU(e){return Be(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(e)}function $U(e){return Be(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(e)}function DU(e){return Be(e)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(e)}function LU(e,t){let r=o6(e);return r===t?r:e}function VU(e,t){let r=i6(e);return r===t?r:e}function jU(e,t){let r=n6(e);return r===t?r:e}function UU(e,t){return Be(e.const)?LU(t,e.const):lt(e.const)?VU(t,e.const):No(e.const)?jU(t,e.const):t}function n6(e){return tp(e)?!0:rp(e)?!1:e}function zU(e){let t=r=>r.split(".")[0];return Ag(e)?BigInt(t(e)):lt(e)?BigInt(Math.trunc(e)):rp(e)?BigInt(0):tp(e)?BigInt(1):e}function o6(e){return di(e)&&e.description!==void 0?e.description.toString():RU(e)?e.toString():e}function i6(e){return Ag(e)?parseFloat(e):tp(e)?1:rp(e)?0:e}function BU(e){return Ag(e)?parseInt(e):lt(e)?Math.trunc(e):tp(e)?1:rp(e)?0:e}function GU(e){return Be(e)&&e.toLowerCase()==="null"?null:e}function KU(e){return Be(e)&&e==="undefined"?void 0:e}function qU(e){return Nr(e)?e:lt(e)?new Date(e):tp(e)?new Date(1):rp(e)?new Date(0):Ag(e)?new Date(parseInt(e)):AU(e)?new Date(`1970-01-01T${e}.000Z`):EU(e)?new Date(`1970-01-01T${e}`):$U(e)?new Date(`${e}.000Z`):FU(e)?new Date(e):DU(e)?new Date(`${e}T00:00:00.000Z`):e}function HU(e,t,r){return(me(r)?r:[r]).map(o=>To(e.items,t,o))}function YU(e,t,r){return zU(r)}function WU(e,t,r){return n6(r)}function XU(e,t,r){return qU(r)}function ZU(e,t,r){let n=globalThis.Object.values(e.$defs),o=e.$defs[e.$ref];return To(o,[...t,...n],r)}function QU(e,t,r){return BU(r)}function JU(e,t,r){return e.allOf.reduce((n,o)=>To(o,t,n),r)}function ez(e,t,r){return UU(e,r)}function tz(e,t,r){return GU(r)}function rz(e,t,r){return i6(r)}function nz(e,t,r){if(!xe(r)||me(r))return r;for(let n of Object.getOwnPropertyNames(e.properties))pe(r,n)&&(r[n]=To(e.properties[n],t,r[n]));return r}function oz(e,t,r){if(!(xe(r)&&!me(r)))return r;let o=Object.getOwnPropertyNames(e.patternProperties)[0],i=e.patternProperties[o];for(let[a,s]of Object.entries(r))r[a]=To(i,t,s);return r}function iz(e,t,r){return To(Le(e,t),t,r)}function az(e,t,r){return o6(r)}function sz(e,t,r){return Be(r)||lt(r)?Symbol(r):r}function cz(e,t,r){return To(Le(e,t),t,r)}function uz(e,t,r){return me(r)&&!ft(e.items)?r.map((o,i)=>iMo(e.items,t,`${r}/${i}`,o))):xt(e,r,n)}function mz(e,t,r,n){if(!xe(n)||sn(n))return xt(e,r,n);let o=Sp(e),i=o.map(f=>f[0]),a={...n};for(let[f,p]of o)f in a&&(a[f]=Mo(p,t,`${r}/${f}`,a[f]));if(!Ae(e.unevaluatedProperties))return xt(e,r,a);let s=Object.getOwnPropertyNames(a),c=e.unevaluatedProperties,u={...a};for(let f of s)i.includes(f)||(u[f]=xt(c,`${r}/${f}`,u[f]));return xt(e,r,u)}function dz(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref],a=Mo(i,[...t,...o],r,n);return xt(e,r,a)}function hz(e,t,r,n){return xt(e,r,Mo(e.not,t,r,n))}function gz(e,t,r,n){if(!xe(n))return xt(e,r,n);let o=Hr(e),i={...n};for(let u of o)pe(i,u)&&(ft(i[u])&&(!yi(e.properties[u])||jt.IsExactOptionalProperty(i,u))||(i[u]=Mo(e.properties[u],t,`${r}/${u}`,i[u])));if(!yt(e.additionalProperties))return xt(e,r,i);let a=Object.getOwnPropertyNames(i),s=e.additionalProperties,c={...i};for(let u of a)o.includes(u)||(c[u]=xt(s,`${r}/${u}`,c[u]));return xt(e,r,c)}function yz(e,t,r,n){if(!xe(n))return xt(e,r,n);let o=Object.getOwnPropertyNames(e.patternProperties)[0],i=new RegExp(o),a={...n};for(let f of Object.getOwnPropertyNames(n))i.test(f)&&(a[f]=Mo(e.patternProperties[o],t,`${r}/${f}`,a[f]));if(!yt(e.additionalProperties))return xt(e,r,a);let s=Object.getOwnPropertyNames(a),c=e.additionalProperties,u={...a};for(let f of s)i.test(f)||(u[f]=xt(c,`${r}/${f}`,u[f]));return xt(e,r,u)}function bz(e,t,r,n){let o=Le(e,t);return xt(e,r,Mo(o,t,r,n))}function xz(e,t,r,n){let o=Le(e,t);return xt(e,r,Mo(o,t,r,n))}function wz(e,t,r,n){return me(n)&&me(e.items)?xt(e,r,e.items.map((o,i)=>Mo(o,t,`${r}/${i}`,n[i]))):xt(e,r,n)}function Sz(e,t,r,n){for(let o of e.anyOf){if(!Ie(o,t,n))continue;let i=Mo(o,t,r,n);return xt(e,r,i)}return xt(e,r,n)}function Mo(e,t,r,n){let o=sr(e,t),i=e;switch(e[V]){case"Array":return pz(i,o,r,n);case"Import":return dz(i,o,r,n);case"Intersect":return mz(i,o,r,n);case"Not":return hz(i,o,r,n);case"Object":return gz(i,o,r,n);case"Record":return yz(i,o,r,n);case"Ref":return bz(i,o,r,n);case"Symbol":return xt(i,r,n);case"This":return xz(i,o,r,n);case"Tuple":return wz(i,o,r,n);case"Union":return Sz(i,o,r,n);default:return xt(i,r,n)}}function Dg(e,t,r){return Mo(e,t,"",r)}var Lg=class extends ge{constructor(t,r,n){super("The encoded value does not match the expected schema"),this.schema=t,this.value=r,this.error=n}},qw=class extends ge{constructor(t,r,n,o){super(`${o instanceof Error?o.message:"Unknown error"}`),this.schema=t,this.path=r,this.value=n,this.error=o}};function br(e,t,r){try{return Ae(e)?e[gt].Encode(r):r}catch(n){throw new qw(e,t,r,n)}}function vz(e,t,r,n){let o=br(e,r,n);return me(o)?o.map((i,a)=>Co(e.items,t,`${r}/${a}`,i)):o}function Iz(e,t,r,n){let o=globalThis.Object.values(e.$defs),i=e.$defs[e.$ref],a=br(e,r,n);return Co(i,[...t,...o],r,a)}function _z(e,t,r,n){let o=br(e,r,n);if(!xe(n)||sn(n))return o;let i=Sp(e),a=i.map(p=>p[0]),s={...o};for(let[p,l]of i)p in s&&(s[p]=Co(l,t,`${r}/${p}`,s[p]));if(!Ae(e.unevaluatedProperties))return s;let c=Object.getOwnPropertyNames(s),u=e.unevaluatedProperties,f={...s};for(let p of c)a.includes(p)||(f[p]=br(u,`${r}/${p}`,f[p]));return f}function Pz(e,t,r,n){return br(e.not,r,br(e,r,n))}function Tz(e,t,r,n){let o=br(e,r,n);if(!xe(o))return o;let i=Hr(e),a={...o};for(let f of i)pe(a,f)&&(ft(a[f])&&(!yi(e.properties[f])||jt.IsExactOptionalProperty(a,f))||(a[f]=Co(e.properties[f],t,`${r}/${f}`,a[f])));if(!yt(e.additionalProperties))return a;let s=Object.getOwnPropertyNames(a),c=e.additionalProperties,u={...a};for(let f of s)i.includes(f)||(u[f]=br(c,`${r}/${f}`,u[f]));return u}function Mz(e,t,r,n){let o=br(e,r,n);if(!xe(n))return o;let i=Object.getOwnPropertyNames(e.patternProperties)[0],a=new RegExp(i),s={...o};for(let p of Object.getOwnPropertyNames(n))a.test(p)&&(s[p]=Co(e.patternProperties[i],t,`${r}/${p}`,s[p]));if(!yt(e.additionalProperties))return s;let c=Object.getOwnPropertyNames(s),u=e.additionalProperties,f={...s};for(let p of c)a.test(p)||(f[p]=br(u,`${r}/${p}`,f[p]));return f}function Cz(e,t,r,n){let o=Le(e,t),i=Co(o,t,r,n);return br(e,r,i)}function Oz(e,t,r,n){let o=Le(e,t),i=Co(o,t,r,n);return br(e,r,i)}function kz(e,t,r,n){let o=br(e,r,n);return me(e.items)?e.items.map((i,a)=>Co(i,t,`${r}/${a}`,o[a])):[]}function Nz(e,t,r,n){for(let o of e.anyOf){if(!Ie(o,t,n))continue;let i=Co(o,t,r,n);return br(e,r,i)}for(let o of e.anyOf){let i=Co(o,t,r,n);if(Ie(e,t,i))return br(e,r,i)}return br(e,r,n)}function Co(e,t,r,n){let o=sr(e,t),i=e;switch(e[V]){case"Array":return vz(i,o,r,n);case"Import":return Iz(i,o,r,n);case"Intersect":return _z(i,o,r,n);case"Not":return Pz(i,o,r,n);case"Object":return Tz(i,o,r,n);case"Record":return Mz(i,o,r,n);case"Ref":return Cz(i,o,r,n);case"This":return Oz(i,o,r,n);case"Tuple":return kz(i,o,r,n);case"Union":return Nz(i,o,r,n);default:return br(i,r,n)}}function Vg(e,t,r){return Co(e,t,"",r)}function Rz(e,t){return Ae(e)||Qt(e.items,t)}function Ez(e,t){return Ae(e)||Qt(e.items,t)}function Az(e,t){return Ae(e)||Qt(e.returns,t)||e.parameters.some(r=>Qt(r,t))}function Fz(e,t){return Ae(e)||Qt(e.returns,t)||e.parameters.some(r=>Qt(r,t))}function $z(e,t){return Ae(e)||Ae(e.unevaluatedProperties)||e.allOf.some(r=>Qt(r,t))}function Dz(e,t){let r=globalThis.Object.getOwnPropertyNames(e.$defs).reduce((o,i)=>[...o,e.$defs[i]],[]),n=e.$defs[e.$ref];return Ae(e)||Qt(n,[...r,...t])}function Lz(e,t){return Ae(e)||Qt(e.items,t)}function Vz(e,t){return Ae(e)||Qt(e.not,t)}function jz(e,t){return Ae(e)||Object.values(e.properties).some(r=>Qt(r,t))||yt(e.additionalProperties)&&Qt(e.additionalProperties,t)}function Uz(e,t){return Ae(e)||Qt(e.item,t)}function zz(e,t){let r=Object.getOwnPropertyNames(e.patternProperties)[0],n=e.patternProperties[r];return Ae(e)||Qt(n,t)||yt(e.additionalProperties)&&Ae(e.additionalProperties)}function Bz(e,t){return Ae(e)?!0:Qt(Le(e,t),t)}function Gz(e,t){return Ae(e)?!0:Qt(Le(e,t),t)}function Kz(e,t){return Ae(e)||!ft(e.items)&&e.items.some(r=>Qt(r,t))}function qz(e,t){return Ae(e)||e.anyOf.some(r=>Qt(r,t))}function Qt(e,t){let r=sr(e,t),n=e;if(e.$id&&Hw.has(e.$id))return!1;switch(e.$id&&Hw.add(e.$id),e[V]){case"Array":return Rz(n,r);case"AsyncIterator":return Ez(n,r);case"Constructor":return Az(n,r);case"Function":return Fz(n,r);case"Import":return Dz(n,r);case"Intersect":return $z(n,r);case"Iterator":return Lz(n,r);case"Not":return Vz(n,r);case"Object":return jz(n,r);case"Promise":return Uz(n,r);case"Record":return zz(n,r);case"Ref":return Bz(n,r);case"This":return Gz(n,r);case"Tuple":return Kz(n,r);case"Union":return qz(n,r);default:return Ae(e)}}var Hw=new Set;function Bs(e,t){return Hw.clear(),Qt(e,t)}function a6(...e){let[t,r,n]=e.length===3?[e[0],e[1],e[2]]:[e[0],[],e[1]];if(!Ie(t,r,n))throw new $g(t,n,Va(t,r,n).First());return Bs(t,r)?Dg(t,r,n):n}function Xi(e,t){let r=pe(e,"default")?e.default:void 0,n=ea(r)?r():Re(r);return ft(t)?n:xe(t)&&xe(n)?Object.assign(n,t):t}function Yw(e){return ra(e)&&"default"in e}function Hz(e,t,r){if(me(r)){for(let o=0;o{let a=Ur(i,t,n);return xe(a)?{...o,...a}:a},{})}function Zz(e,t,r){let n=Xi(e,r);if(!xe(n))return n;let o=Object.getOwnPropertyNames(e.properties);for(let i of o){let a=Ur(e.properties[i],t,n[i]);ft(a)||(n[i]=Ur(e.properties[i],t,n[i]))}if(!Yw(e.additionalProperties))return n;for(let i of Object.getOwnPropertyNames(n))o.includes(i)||(n[i]=Ur(e.additionalProperties,t,n[i]));return n}function Qz(e,t,r){let n=Xi(e,r);if(!xe(n))return n;let o=e.additionalProperties,[i,a]=Object.entries(e.patternProperties)[0],s=new RegExp(i);for(let c of Object.getOwnPropertyNames(n))s.test(c)&&Yw(a)&&(n[c]=Ur(a,t,n[c]));if(!Yw(o))return n;for(let c of Object.getOwnPropertyNames(n))s.test(c)||(n[c]=Ur(o,t,n[c]));return n}function Jz(e,t,r){return Ur(Le(e,t),t,Xi(e,r))}function eB(e,t,r){return Ur(Le(e,t),t,r)}function tB(e,t,r){let n=Xi(e,r);if(!me(n)||ft(e.items))return n;let[o,i]=[e.items,Math.max(e.items.length,n.length)];for(let a=0;aoB,Format:()=>np,Get:()=>aB,Has:()=>iB,Set:()=>nB,ValuePointerRootDeleteError:()=>zg,ValuePointerRootSetError:()=>Ug});var Ug=class extends ge{constructor(t,r,n){super("Cannot set root value"),this.value=t,this.path=r,this.update=n}},zg=class extends ge{constructor(t,r){super("Cannot delete root value"),this.value=t,this.path=r}};function s6(e){return e.indexOf("~")===-1?e:e.replace(/~1/g,"/").replace(/~0/g,"~")}function*np(e){if(e==="")return;let[t,r]=[0,0];for(let n=0;nGs(e[o],t[o]))}function cB(e,t){return Nr(t)&&e.getTime()===t.getTime()}function uB(e,t){return!me(t)||e.length!==t.length?!1:e.every((r,n)=>Gs(r,t[n]))}function fB(e,t){return!Pn(t)||e.length!==t.length||Object.getPrototypeOf(e).constructor.name!==Object.getPrototypeOf(t).constructor.name?!1:e.every((r,n)=>Gs(r,t[n]))}function lB(e,t){return e===t}function Gs(e,t){if(Nr(e))return cB(e,t);if(Pn(e))return fB(e,t);if(me(e))return uB(e,t);if(xe(e))return sB(e,t);if(sn(e))return lB(e,t);throw new Error("ValueEquals: Unable to compare value")}var pB=$e({type:Oe("insert"),path:Rr(),value:no()}),mB=$e({type:Oe("update"),path:Rr(),value:no()}),dB=$e({type:Oe("delete"),path:Rr()}),u6=Fe([pB,mB,dB]),Bg=class extends ge{constructor(t,r){super(r),this.value=t}};function Gg(e,t){return{type:"update",path:e,value:t}}function f6(e,t){return{type:"insert",path:e,value:t}}function l6(e){return{type:"delete",path:e}}function c6(e){if(globalThis.Object.getOwnPropertySymbols(e).length>0)throw new Bg(e,"Cannot diff objects with symbols")}function*hB(e,t,r){if(c6(t),c6(r),!dy(r))return yield Gg(e,r);let n=globalThis.Object.getOwnPropertyNames(t),o=globalThis.Object.getOwnPropertyNames(r);for(let i of o)pe(t,i)||(yield f6(`${e}/${i}`,r[i]));for(let i of n)pe(r,i)&&(Gs(t,r)||(yield*Kg(`${e}/${i}`,t[i],r[i])));for(let i of n)pe(r,i)||(yield l6(`${e}/${i}`))}function*gB(e,t,r){if(!me(r))return yield Gg(e,r);for(let n=0;n=0;n--)n0&&e[0].path===""&&e[0].type==="update"}function wB(e){return e.length===0}function m6(e,t){if(xB(t))return Re(t[0].value);if(wB(t))return Re(e);let r=Re(e);for(let n of t)switch(n.type){case"insert":{Oo.Set(r,n.path,n.value);break}case"update":{Oo.Set(r,n.path,n.value);break}case"delete":{Oo.Delete(r,n.path);break}}return r}function d6(...e){let[t,r,n]=e.length===3?[e[0],e[1],e[2]]:[e[0],[],e[1]],o=Bs(t,r)?Vg(t,r,n):n;if(!Ie(t,r,o))throw new Lg(t,o,Va(t,r,o).First());return o}function qg(e){return xe(e)&&!me(e)}var Hg=class extends ge{constructor(t){super(t)}};function SB(e,t,r,n){if(!qg(r))Oo.Set(e,t,Re(n));else{let o=Object.getOwnPropertyNames(r),i=Object.getOwnPropertyNames(n);for(let a of o)i.includes(a)||delete r[a];for(let a of i)o.includes(a)||(r[a]=null);for(let a of i)Ww(e,`${t}/${a}`,r[a],n[a])}}function vB(e,t,r,n){if(!me(r))Oo.Set(e,t,Re(n));else{for(let o=0;o(Ng(i,a,s),s)],["Cast",(i,a,s)=>ep(i,a,s)],["Clean",(i,a,s)=>Eg(i,a,s)],["Clone",(i,a,s)=>Re(s)],["Convert",(i,a,s)=>Fg(i,a,s)],["Decode",(i,a,s)=>Bs(i,a)?Dg(i,a,s):s],["Default",(i,a,s)=>jg(i,a,s)],["Encode",(i,a,s)=>Bs(i,a)?Vg(i,a,s):s]]);function r(i){t.delete(i)}e.Delete=r;function n(i,a){t.set(i,a)}e.Set=n;function o(i){return t.get(i)}e.Get=o})(Xw||(Xw={}));var y6=["Clone","Clean","Default","Convert","Assert","Decode"];function TB(e,t,r,n){return e.reduce((o,i)=>{let a=Xw.Get(i);if(ft(a))throw new Yg(`Unable to find Parse operation '${i}'`);return a(t,r,o)},n)}function b6(...e){let[t,r,n,o]=e.length===4?[e[0],e[1],e[2],e[3]]:e.length===3?me(e[0])?[e[0],e[1],[],e[2]]:[y6,e[0],e[1],e[2]]:e.length===2?[y6,e[0],[],e[1]]:(()=>{throw new Yg("Invalid Arguments")})();return TB(t,r,n,o)}var Fu={};Ba(Fu,{Assert:()=>Ng,Cast:()=>ep,Check:()=>Ie,Clean:()=>Eg,Clone:()=>Re,Convert:()=>Fg,Create:()=>_o,Decode:()=>a6,Default:()=>jg,Diff:()=>p6,Edit:()=>u6,Encode:()=>d6,Equal:()=>Gs,Errors:()=>Va,Hash:()=>Au,Mutate:()=>g6,Parse:()=>b6,Patch:()=>m6,ValueErrorIterator:()=>La});function Wg(e){switch(e.type){case"summary_metrics":return Lw(e);case"performance_table":return Fw(e);case"prediction_distribution":return $w(e);case"outcome_distribution":return Aw(e);case"roc":return Mw(e);case"calibration":return Vk(e);case"precision_recall":return Ow(e);case"gains":return kw(e);case"lift":return Nw(e);case"decision_curve":return Rw(e);case"interventions_avoided":return Ew(e)}}function ui(e,t){let r=e.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"id";/^[a-z]/i.test(r)||(r=`id-${r}`);let n=r,o=1;for(;t.has(n);)n=`${r}-${o}`,o++;return t.add(n),n}function Zw(e,t){let r=(n,o=!0)=>{e.forEach((i,a)=>{let s=a===n;i.setAttribute("aria-selected",s?"true":"false"),i.tabIndex=s?0:-1,t[a].hidden=!s}),o&&e[n].focus()};e.forEach((n,o)=>{n.addEventListener("click",()=>{r(o,!1)}),n.addEventListener("keydown",i=>{let a=null;i.key==="ArrowRight"?a=(o+1)%e.length:i.key==="ArrowLeft"?a=(o-1+e.length)%e.length:i.key==="Home"?a=0:i.key==="End"&&(a=e.length-1),a!==null&&(i.preventDefault(),r(a,!0))})})}function MB(e){if(!Fu.Check(Fp,e))throw new Error("Invalid ReportSpec");Dp(e);let t=document.createElement("div");if(t.className="rtichoke-report",e.title){let r=document.createElement("h1");r.className="rtichoke-report__title",r.textContent=e.title,t.append(r)}for(let r of e.components){let n=document.createElement("section");if(n.className="rtichoke-report__component",n.dataset.componentId=r.id,r.title){let i=document.createElement("h2");i.className="rtichoke-report__component-title",i.textContent=r.title,n.append(i)}let o=document.createElement("div");o.className="rtichoke-report__component-content",o.append(Wg(r.spec)),n.append(o),t.append(n)}return t}function CB(e,t){if(!Fu.Check($p,e))throw new Error("Invalid ReportSpec");Dp(e);let r=!!e.title,n=new Set,o=document.createElement("article");if(o.className="rtichoke-report",e.title){let m=document.createElement("header");m.className="rtichoke-report__header";let h=document.createElement("h1");h.className="rtichoke-report__title",h.textContent=e.title,m.append(h),o.append(m)}let i=[],a=0;for(let m of e.sections){let h=ui(m.id,n);a++;let b=[];for(let y of m.items)if(y.type==="group"){let x=ui(y.id,n);a++,b.push({rawId:y.id,title:y.title,domId:x})}i.push({rawId:m.id,title:m.title,domId:h,groups:b})}if(a>1){let m=document.createElement("nav");m.className="rtichoke-report__nav",m.setAttribute("aria-label","Report sections");let h=document.createElement("ul");h.className="rtichoke-report__nav-list";for(let b of i){let y=document.createElement("li");y.className="rtichoke-report__nav-item";let x=document.createElement("a");if(x.className="rtichoke-report__nav-link",x.href=`#${b.domId}`,x.textContent=b.title,y.append(x),b.groups.length>0){let g=document.createElement("ul");g.className="rtichoke-report__nav-sublist";for(let S of b.groups){let w=document.createElement("li");w.className="rtichoke-report__nav-subitem";let _=document.createElement("a");_.className="rtichoke-report__nav-link",_.href=`#${S.domId}`,_.textContent=S.title,w.append(_),g.append(w)}y.append(g)}h.append(y)}m.append(h),o.append(m)}let s=r?"h2":"h1",c=r?"h3":"h2",u=r?"h3":"h2",f=r?"h4":"h3",p=(m,h)=>{let b=document.createElement("section");if(b.className="rtichoke-report__component",b.dataset.componentId=m.id,m.title){let x=ui(`heading-${m.id}`,n),g=document.createElement(h);g.className="rtichoke-report__component-title",g.id=x,g.textContent=m.title,b.setAttribute("aria-labelledby",x),b.append(g)}let y=document.createElement("div");return y.className="rtichoke-report__component-content",y.append(Wg(m.spec)),b.append(y),b},l=(m,h,b)=>{let y=document.createElement("section");y.className="rtichoke-report__group",y.id=h.domId,y.dataset.groupId=m.id;let x=ui(`heading-${m.id}`,n),g=document.createElement(c);if(g.className="rtichoke-report__group-title",b&&g.classList.add("rtichoke-report__group-title--tab-panel"),g.id=x,g.textContent=m.title,y.setAttribute("aria-labelledby",b??x),y.append(g),t.groupPresentation==="tabs"){let S=document.createElement("div");S.className="rtichoke-report__tablist",S.setAttribute("role","tablist"),S.setAttribute("aria-labelledby",x);let w=[],_=[];m.components.forEach((v,I)=>{let T=ui(`tab-${m.id}-${v.id}`,n),P=ui(`panel-${m.id}-${v.id}`,n),R=document.createElement("button");R.className="rtichoke-report__tab",R.type="button",R.id=T,R.setAttribute("role","tab"),R.setAttribute("aria-controls",P),R.setAttribute("aria-selected",I===0?"true":"false"),R.tabIndex=I===0?0:-1,R.textContent=v.title||v.id;let C=document.createElement("section");C.className="rtichoke-report__component rtichoke-report__tabpanel",C.id=P,C.setAttribute("role","tabpanel"),C.setAttribute("aria-labelledby",T),C.tabIndex=0,C.dataset.componentId=v.id,C.hidden=I!==0;let N=document.createElement("div");N.className="rtichoke-report__component-content",N.append(Wg(v.spec)),C.append(N),w.push(R),_.push(C),S.append(R)}),Zw(w,_),y.append(S,..._)}else for(let S of m.components)y.append(p(S,f));return y};for(let m=0;mT.type==="group"),w=t.sectionGroupPresentation==="tabs"&&S.length>1,_=0,v=!1,I=0;for(;I1){let N=document.createElement("div");N.className="rtichoke-report__tablist",N.setAttribute("role","tablist"),N.setAttribute("aria-labelledby",x);let G=[],D=[];R.forEach((O,z)=>{let U=ui(`tab-${h.id}-${O.id}`,n),W=ui(`panel-${h.id}-${O.id}`,n),B=document.createElement("button");B.className="rtichoke-report__tab",B.type="button",B.id=U,B.setAttribute("role","tab"),B.setAttribute("aria-controls",W),B.setAttribute("aria-selected",z===0?"true":"false"),B.tabIndex=z===0?0:-1,B.textContent=O.title||O.id;let q=document.createElement("section");q.className="rtichoke-report__component rtichoke-report__tabpanel",q.id=W,q.setAttribute("role","tabpanel"),q.setAttribute("aria-labelledby",U),q.tabIndex=0,q.dataset.componentId=O.id,q.hidden=z!==0;let X=document.createElement("div");X.className="rtichoke-report__component-content",X.append(Wg(O.spec)),q.append(X),G.push(B),D.push(q),N.append(B)}),Zw(G,D),y.append(N,...D),I=P}else y.append(p(T,u)),I++}else if(T.type==="group"){if(w){if(!v){v=!0;let P=document.createElement("div");P.className="rtichoke-report__tablist rtichoke-report__section-group-tablist",P.setAttribute("role","tablist"),P.setAttribute("aria-labelledby",x);let R=[],C=[];S.forEach((N,G)=>{let D=b.groups[G],O=ui(`section-group-tab-${h.id}-${N.id}`,n),z=document.createElement("button");z.className="rtichoke-report__tab",z.type="button",z.id=O,z.setAttribute("role","tab"),z.setAttribute("aria-controls",D.domId),z.setAttribute("aria-selected",G===0?"true":"false"),z.tabIndex=G===0?0:-1,z.textContent=N.title;let U=l(N,D,O);U.classList.add("rtichoke-report__tabpanel"),U.setAttribute("role","tabpanel"),U.setAttribute("aria-labelledby",O),U.tabIndex=0,U.hidden=G!==0,R.push(z),C.push(U),P.append(z)}),Zw(R,C),y.append(P,...C)}}else y.append(l(T,b.groups[_++]));I++}}o.append(y)}return o}function OB(e,t){if(!e||typeof e!="object")throw new Error("Invalid ReportSpec");let r=t?.groupPresentation??"stacked",n=t?.sectionGroupPresentation??"stacked",o=t?.sectionComponentPresentation??"stacked";if(t!==void 0&&(typeof t!="object"||t===null||t.groupPresentation!==void 0&&t.groupPresentation!=="stacked"&&t.groupPresentation!=="tabs"))throw new Error("Invalid render options: groupPresentation must be 'stacked' or 'tabs'");if(t!==void 0&&t.sectionGroupPresentation!==void 0&&t.sectionGroupPresentation!=="stacked"&&t.sectionGroupPresentation!=="tabs")throw new Error("Invalid render options: sectionGroupPresentation must be 'stacked' or 'tabs'");if(t!==void 0&&t.sectionComponentPresentation!==void 0&&t.sectionComponentPresentation!=="stacked"&&t.sectionComponentPresentation!=="tabs")throw new Error("Invalid render options: sectionComponentPresentation must be 'stacked' or 'tabs'");if(e.schemaVersion==="1.0")return MB(e);if(e.schemaVersion==="1.1")return CB(e,{groupPresentation:r,sectionGroupPresentation:n,sectionComponentPresentation:o});throw new Error("Invalid ReportSpec")}var kB=["#1b9e77","#d95f02","#7570b3","#e7298a","#07004D","#E6AB02","#FE5F55","#54494B","#006E90","#BC96E6"];function NB(e){let t=e.data.map(n=>({...n,false_positive_rate:1-n.specificity})),r=[Zt(t,{x:"false_positive_rate",y:"sensitivity",stroke:"model",strokeWidth:2,tip:!0})];return e.references?.some(n=>n.type==="identity")&&r.unshift(Zt([{x:0,y:0},{x:1,y:1}],{x:"x",y:"y",stroke:"#BEBEBE",strokeWidth:2})),ci({width:600,height:600,marginLeft:64,marginBottom:56,style:{background:"transparent",color:"#222",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"13px"},x:{label:e.xAxis.label,domain:e.xAxis.domain,grid:!1,ticks:6},y:{label:e.yAxis.label,domain:e.yAxis.domain,grid:!1,ticks:6},color:{legend:!0,range:kB},marks:r})}export{ab as AUROCSummaryMetricSchema,qy as CalibrationSpecSchema,kv as CalibrationV2DatumSchema,Wy as CalibrationV2SpecSchema,$v as DecisionCurveV2DatumSchema,Dv as DecisionCurveV2EvaluationSchema,Uv as DecisionCurveV2ReferenceSchema,Lv as DecisionCurveV2SeriesSchema,Qy as DecisionCurveV2SpecSchema,Cv as DiscreteCalibrationV2DatumSchema,Tv as DisplayGroupingSpecSchema,Pv as DisplayRoleSchema,Er as EvaluationSpecSchema,Jy as GainsV2SpecSchema,qv as InterventionsAvoidedTreatAllReferenceSchema,Hv as InterventionsAvoidedTreatNoneReferenceSchema,Bv as InterventionsAvoidedV2DatumSchema,Gv as InterventionsAvoidedV2EvaluationSchema,Yv as InterventionsAvoidedV2ReferenceSchema,Kv as InterventionsAvoidedV2SeriesSchema,eb as InterventionsAvoidedV2SpecSchema,tb as LiftV2SpecSchema,nf as OperatingPointDimensionSchema,Rv as OperatingPointSchema,wi as OperatingPointSpecSchema,ub as OutcomeDistributionSpecSchema,Wv as OutcomeStateSchema,Ev as PerformanceEvaluationContextSchema,Nv as PerformanceMetricDefinitionSchema,Xy as PerformanceMetricIdSchema,Ir as PerformanceMetricValueSchema,Av as PerformanceTableRowSchema,Zy as PerformanceTableSpecSchema,ib as PopulationSummaryOwnerSpecSchema,rb as PrecisionRecallV2SpecSchema,Zv as PredictionDistributionBinSchema,Qv as PredictionDistributionOperatingPointSchema,af as PredictionDistributionSpecSchema,sb as PrevalenceSummaryMetricSchema,Or as RTICHOKE_BROWSER_THEME,$k as RTICHOKE_COLORS,Mv as ReferenceLineV2SpecSchema,eI as ReportComponentSchema,lb as ReportComponentV1_1Schema,tI as ReportGroupSchema,rI as ReportSectionSchema,$3 as ReportSpecSchema,Fp as ReportSpecV1_0Schema,$p as ReportSpecV1_1Schema,Hy as RocSpecSchema,nb as RocV2SpecSchema,w3 as RtichokeChartSpecSchema,ob as RtichokeChartSpecV2Schema,gc as SeriesSpecSchema,Ov as SmoothCalibrationV2DatumSchema,fb as StandaloneCanonicalSpecSchema,of as StateDistributionSchema,Xv as StateStratumSchema,E3 as SummaryMetricSchema,cb as SummaryMetricsSpecSchema,jv as TreatAllReferenceSchema,Vv as TreatNoneReferenceSchema,mb as assertOutcomeDistributionReferentialIntegrity,pb as assertPerformanceTableReferentialIntegrity,sf as assertPredictionDistributionReferentialIntegrity,Dp as assertReportReferentialIntegrity,Lp as assertStateDistributionValid,db as assertSummaryMetricsReferentialIntegrity,Si as assertV2ReferentialIntegrity,V3 as calibrationSpecFromRtichokeRows,B3 as calibrationV2SpecFromRtichokeRows,Dk as extractOperatingPointValues,qk as preparePredictionDistributionPlotData,ZD as renderCalibration,yL as renderCalibrationV2,Rw as renderDecisionCurveV2,kw as renderGainsV2,Ew as renderInterventionsAvoidedV2,Nw as renderLiftV2,Aw as renderOutcomeDistribution,Fw as renderPerformanceTable,Ow as renderPrecisionRecallV2,$w as renderPredictionDistribution,OB as renderReport,NB as renderRoc,Mw as renderRocV2,Lw as renderSummaryMetrics,Us as renderWithOperatingPointSelection,en as resolveV2RenderOptions,L3 as rocSpecFromRtichokePython,D3 as rocSpecFromRtichokeR,z3 as rocV2SpecFromRtichokePython,U3 as rocV2SpecFromRtichokeR}; diff --git a/tests/test_rtichoke_viz_vendor.py b/tests/test_rtichoke_viz_vendor.py index 88f98a0d..d7ed7ddc 100644 --- a/tests/test_rtichoke_viz_vendor.py +++ b/tests/test_rtichoke_viz_vendor.py @@ -3,19 +3,19 @@ from pathlib import Path _VENDOR = Path(__file__).parents[1] / "src" / "rtichoke" / "_vendor" / "rtichoke_viz" -_RELEASE_DIR = "rtichoke-viz-0.23.0" -_SHA256 = "55bc510522f3efeb62faaec24fe6a6476169ee05002be8f24cb812c99031384a" -_SOURCE_COMMIT = "7cbdf940f5375b771e741191b875b07cd6935fe3" +_RELEASE_DIR = "rtichoke-viz-0.23.2" +_SHA256 = "63981f4e4f78b38e6442b663052c17592d3355312ba16fb370321d25af456bfe" +_SOURCE_COMMIT = "af70152c884b351ed7c407047a92cad5c1bd7007" -def test_vendored_rtichoke_viz_v0230_provenance_archive_and_schemas(): +def test_vendored_rtichoke_viz_v0232_provenance_archive_and_schemas(): provenance = (_VENDOR / "VENDORED_FROM").read_text() - assert "release=v0.23.0" in provenance + assert "release=v0.23.2" in provenance assert f"source_commit={_SOURCE_COMMIT}" in provenance - assert "archive=rtichoke-viz-0.23.0.tar.gz" in provenance + assert "archive=rtichoke-viz-0.23.2.tar.gz" in provenance assert f"sha256={_SHA256}" in provenance - archive = _VENDOR / "rtichoke-viz-0.23.0.tar.gz" + archive = _VENDOR / "rtichoke-viz-0.23.2.tar.gz" assert hashlib.sha256(archive.read_bytes()).hexdigest() == _SHA256 with tarfile.open(archive, "r:gz") as release: assert set(release.getnames()) == { @@ -30,7 +30,7 @@ def test_vendored_rtichoke_viz_v0230_provenance_archive_and_schemas(): manifest = release.extractfile(f"{_RELEASE_DIR}/MANIFEST") assert manifest is not None assert manifest.read().decode() == ( - f"version=0.23.0\ncommit={_SOURCE_COMMIT}\n" + f"version=0.23.2\ncommit={_SOURCE_COMMIT}\n" ) for filename in ( "rtichoke-viz.css", @@ -43,6 +43,7 @@ def test_vendored_rtichoke_viz_v0230_provenance_archive_and_schemas(): assert packaged is not None assert (_VENDOR / filename).read_bytes() == packaged.read() + assert not (_VENDOR / "rtichoke-viz-0.23.0.tar.gz").exists() assert not (_VENDOR / "rtichoke-viz-0.22.3.tar.gz").exists() assert not (_VENDOR / "rtichoke-viz-0.22.2.tar.gz").exists() assert not (_VENDOR / "rtichoke-viz-0.22.1.tar.gz").exists() @@ -66,7 +67,7 @@ def test_vendored_rtichoke_viz_v0230_provenance_archive_and_schemas(): assert '"summary_metrics"' in report_schema -def test_v0230_bundle_keeps_existing_exports_and_prediction_distribution(): +def test_v0232_bundle_keeps_existing_exports_and_prediction_distribution(): bundle = (_VENDOR / "rtichoke-viz.js").read_text(encoding="utf-8") for export_name in ( "renderRoc",