@marimo-team/frontend 0.14.18-dev13 → 0.14.18-dev14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-C4nFa3tg.js → ConnectedDataExplorerComponent-D95A9uiw.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-B3Y4Q7Vt.js → ImageComparisonComponent-DZj9yg8O.js} +1 -1
  3. package/dist/assets/{VegaLite-CKHk6EK9.js → VegaLite-DslKI3P8.js} +1 -1
  4. package/dist/assets/{_baseEach-CpCWcW5e.js → _baseEach-C7H_5mkd.js} +1 -1
  5. package/dist/assets/_baseMap-Qu73w612.js +1 -0
  6. package/dist/assets/{_baseUniq-CjjMZTnk.js → _baseUniq-CJ0jg5fC.js} +1 -1
  7. package/dist/assets/{_createAggregator-qOR0JkB9.js → _createAggregator-LrS5FEya.js} +1 -1
  8. package/dist/assets/{any-language-editor-Sg_y5nsy.js → any-language-editor-DKF4Jmsk.js} +1 -1
  9. package/dist/assets/{architectureDiagram-SUXI7LT5-DO10DgrR.js → architectureDiagram-SUXI7LT5-R5iMGXph.js} +1 -1
  10. package/dist/assets/{blockDiagram-6J76NXCF-BKjDnk4w.js → blockDiagram-6J76NXCF-DCR2_8fi.js} +1 -1
  11. package/dist/assets/{c4Diagram-6F6E4RAY-H2RbPMuS.js → c4Diagram-6F6E4RAY-LScEn0Sx.js} +1 -1
  12. package/dist/assets/channel-BzDjtdst.js +1 -0
  13. package/dist/assets/{chunk-353BL4L5-D3DRoM9V.js → chunk-353BL4L5-Hj6gHAXA.js} +1 -1
  14. package/dist/assets/{chunk-67H74DCK-Euioumbw.js → chunk-67H74DCK-CymIC2E8.js} +1 -1
  15. package/dist/assets/{chunk-AACKK3MU-CqmFASXO.js → chunk-AACKK3MU-BtBZMCrL.js} +1 -1
  16. package/dist/assets/{chunk-BFAMUDN2-C36dsemd.js → chunk-BFAMUDN2-2TJziCQB.js} +1 -1
  17. package/dist/assets/{chunk-E2GYISFI-CuAcD-qX.js → chunk-E2GYISFI-DT2O_G67.js} +1 -1
  18. package/dist/assets/{chunk-OW32GOEJ-CGljs7lQ.js → chunk-OW32GOEJ-hKOkRIq2.js} +1 -1
  19. package/dist/assets/{chunk-SKB7J2MH-HN5SCTGt.js → chunk-SKB7J2MH-DQjvh9UZ.js} +1 -1
  20. package/dist/assets/{chunk-SZ463SBG-C1tKwrEv.js → chunk-SZ463SBG-DW8Pb-TX.js} +1 -1
  21. package/dist/assets/{circle-play-BEgJAiHk.js → circle-play-Cl82gkhS.js} +1 -1
  22. package/dist/assets/classDiagram-M3E45YP4-CHXMjpq1.js +1 -0
  23. package/dist/assets/classDiagram-v2-YAWTLIQI-CHXMjpq1.js +1 -0
  24. package/dist/assets/clone-BhZLn_Yt.js +1 -0
  25. package/dist/assets/{compile-CqiLj9Y0.js → compile-CC8hqnTY.js} +1 -1
  26. package/dist/assets/{dagre-JOIXM2OF-Csxy8eUf.js → dagre-JOIXM2OF-COWWKdXa.js} +1 -1
  27. package/dist/assets/{data-grid-overlay-editor-DmpCFZBN.js → data-grid-overlay-editor-C2Y6aqU8.js} +1 -1
  28. package/dist/assets/{diagram-5UYTHUR4-CeNLoyOp.js → diagram-5UYTHUR4-CxvyXtWA.js} +1 -1
  29. package/dist/assets/{diagram-VMROVX33-PA1nQ1xm.js → diagram-VMROVX33-KS0_ogMc.js} +1 -1
  30. package/dist/assets/{diagram-ZTM2IBQH-CGX5wfoy.js → diagram-ZTM2IBQH-DYoCSThG.js} +1 -1
  31. package/dist/assets/{edit-page-CZUOJlu7.js → edit-page-BlbVNVDn.js} +49 -49
  32. package/dist/assets/{erDiagram-3M52JZNH-pNpk-kbU.js → erDiagram-3M52JZNH-CE3yLnN-.js} +1 -1
  33. package/dist/assets/{flowDiagram-KYDEHFYC-DJxJWKxL.js → flowDiagram-KYDEHFYC-By4vXcuY.js} +1 -1
  34. package/dist/assets/{ganttDiagram-EK5VF46D-BhcHb5d8.js → ganttDiagram-EK5VF46D-uo0Cydh5.js} +1 -1
  35. package/dist/assets/{gitGraphDiagram-GW3U2K7C-B9qPpq_y.js → gitGraphDiagram-GW3U2K7C-CpqaxZIO.js} +1 -1
  36. package/dist/assets/{glide-data-editor-CTVCtvK_.js → glide-data-editor-B9rd_uM3.js} +4 -4
  37. package/dist/assets/{graph-B9VxIZ9c.js → graph--fHhlg7t.js} +1 -1
  38. package/dist/assets/{home-page-DZIMmCkL.js → home-page-lAI7jlTR.js} +1 -1
  39. package/dist/assets/{index-CYeuBm8x.js → index-B-lYQMqn.js} +1 -1
  40. package/dist/assets/{index-DpeKdu-Z.js → index-B9v4qFNJ.js} +1 -1
  41. package/dist/assets/{index-3yGXsFgh.js → index-BPs4kBZX.js} +1 -1
  42. package/dist/assets/{index-BLVh4qZd.js → index-BWVO7d1Q.js} +1 -1
  43. package/dist/assets/{index-gXOqccpp.js → index-BXdINcmG.js} +1 -1
  44. package/dist/assets/{index-CQNbHK7o.js → index-BiRN4vu3.js} +1 -1
  45. package/dist/assets/{index-znx6nCP6.js → index-BmYgWLms.js} +1 -1
  46. package/dist/assets/{index-D7vxWcsp.js → index-Bt7rmkIA.js} +1 -1
  47. package/dist/assets/{index-BXDJR3T4.js → index-CHfcSR3G.js} +1 -1
  48. package/dist/assets/{index-B9b7vkZy.js → index-CNfvweBx.js} +1 -1
  49. package/dist/assets/{index-CErQehcm.js → index-CPlN-zCs.js} +96 -96
  50. package/dist/assets/{index-BTBrpo4d.js → index-CXeugt0c.js} +1 -1
  51. package/dist/assets/{index-D0jmZqpB.js → index-CZMcdPXD.js} +1 -1
  52. package/dist/assets/{index-BqoRGJPY.js → index-ChkLHzfK.js} +1 -1
  53. package/dist/assets/{index-ztu-v2P9.js → index-Ck70qzGC.js} +1 -1
  54. package/dist/assets/{index-DJdXs0l4.js → index-ClE8-m11.js} +1 -1
  55. package/dist/assets/{index-DfloOC7j.js → index-DxmCL2XI.js} +1 -1
  56. package/dist/assets/{index-A5Sz0a7y.js → index-rGvvC1Xp.js} +1 -1
  57. package/dist/assets/{index-BoJ3D5u3.js → index-tfWBlRcm.js} +1 -1
  58. package/dist/assets/{infoDiagram-LHK5PUON-1eJXZO69.js → infoDiagram-LHK5PUON-BzblqKyG.js} +1 -1
  59. package/dist/assets/{journeyDiagram-EWQZEKCU-BBepBA4_.js → journeyDiagram-EWQZEKCU-Cex--9F4.js} +1 -1
  60. package/dist/assets/{kanban-definition-ZSS6B67P-DQXzW3Xb.js → kanban-definition-ZSS6B67P-2_HGy5yi.js} +1 -1
  61. package/dist/assets/{layout-9cwCdjWH.js → layout-CS1ey6uL.js} +1 -1
  62. package/dist/assets/{linear-Bu5yfHuR.js → linear-BslqlKo9.js} +1 -1
  63. package/dist/assets/{links-Dh6K56fO.js → links-BD7-k0qF.js} +13 -13
  64. package/dist/assets/{mermaid-fWoiyqkX.js → mermaid-eZvsYmPV.js} +4 -4
  65. package/dist/assets/{min-1PMA9dnD.js → min-Bu4ESu3s.js} +1 -1
  66. package/dist/assets/{mindmap-definition-6CBA2TL7-0P4YNaKJ.js → mindmap-definition-6CBA2TL7-C7urdebq.js} +1 -1
  67. package/dist/assets/{number-overlay-editor-D5DZyRNv.js → number-overlay-editor-DohmqdGC.js} +1 -1
  68. package/dist/assets/{pieDiagram-NIOCPIFQ-ldZJBjXy.js → pieDiagram-NIOCPIFQ-GGwrl6ZS.js} +1 -1
  69. package/dist/assets/{quadrantDiagram-2OG54O6I-D3dwPzL8.js → quadrantDiagram-2OG54O6I-BHy-W9Ys.js} +1 -1
  70. package/dist/assets/{react-plotly-CkZ02re1.js → react-plotly-8Vb5039F.js} +1 -1
  71. package/dist/assets/{requirementDiagram-QOLK2EJ7-B6dAw8En.js → requirementDiagram-QOLK2EJ7-q5jqK3Nx.js} +1 -1
  72. package/dist/assets/{run-page-DzZGYVz3.js → run-page-CL7YXNGv.js} +1 -1
  73. package/dist/assets/{sankeyDiagram-4UZDY2LN-BLCldlS6.js → sankeyDiagram-4UZDY2LN-BBw-9nok.js} +1 -1
  74. package/dist/assets/{sequenceDiagram-SKLFT4DO-CddMnUFm.js → sequenceDiagram-SKLFT4DO-BPUkB5Uz.js} +1 -1
  75. package/dist/assets/{slides-component-BNWyDmh3.js → slides-component-B_C5ebqb.js} +1 -1
  76. package/dist/assets/{sortBy-DgJdOd5z.js → sortBy-DbTdEHIS.js} +1 -1
  77. package/dist/assets/{stateDiagram-MI5ZYTHO-B7IZpvPI.js → stateDiagram-MI5ZYTHO-CAImvtJM.js} +1 -1
  78. package/dist/assets/stateDiagram-v2-5AN5P6BG-CZn_hCEq.js +1 -0
  79. package/dist/assets/{storage-cEacdJkQ.js → storage-CY1YTebA.js} +3 -3
  80. package/dist/assets/{terminal-uDsq5k0v.js → terminal-C8Bne6J-.js} +1 -1
  81. package/dist/assets/{time-C1S-1cAL.js → time-AT3x74ZG.js} +1 -1
  82. package/dist/assets/{timeline-definition-MYPXXCX6-Cxplc_KG.js → timeline-definition-MYPXXCX6-BMj-_RFo.js} +1 -1
  83. package/dist/assets/{tracing-T3sWbY_r.js → tracing-Ct-yyQCK.js} +2 -2
  84. package/dist/assets/{trash-Cywld6UR.js → trash-BWgapvJS.js} +1 -1
  85. package/dist/assets/{treemap-75Q7IDZK-BnGbxlzA.js → treemap-75Q7IDZK-Bqaxfph8.js} +1 -1
  86. package/dist/assets/{vega-component-CdsruZxj.js → vega-component-CpEVEBeG.js} +1 -1
  87. package/dist/assets/{xychartDiagram-H2YORKM3-B3YttDms.js → xychartDiagram-H2YORKM3-YvOKG_to.js} +1 -1
  88. package/dist/index.html +1 -1
  89. package/package.json +1 -1
  90. package/dist/assets/_baseMap-BxqvwI1_.js +0 -1
  91. package/dist/assets/channel-CG1U1yOg.js +0 -1
  92. package/dist/assets/classDiagram-M3E45YP4-W_fOuGn_.js +0 -1
  93. package/dist/assets/classDiagram-v2-YAWTLIQI-W_fOuGn_.js +0 -1
  94. package/dist/assets/clone-D9SuHa4t.js +0 -1
  95. package/dist/assets/stateDiagram-v2-5AN5P6BG-C--jJPiO.js +0 -1
@@ -1,4 +1,4 @@
1
- import{cs as qs,gU as Vh,gV as Vb,gW as Yb,gX as Ul,gY as bt,gZ as In,g_ as J,g$ as tt,h0 as Me,cC as T,h1 as P,h2 as Us,h3 as Be,h4 as ka,h5 as V,h6 as Xb,h7 as Jb,h8 as xt,h9 as Yh,ha as en,hb as Wn,hc as ko,hd as ze,he as kr,cB as Xh,hf as Kb,hg as Qb,hh as Zb,hi as tx,hj as Bt,hk as Jh,hl as Kh,bt as nx,hm as ei,hn as ex,ho as Il,hp as Do,hq as Qh,hr as Zh,hs as tp,ht as rx,hu as ix,cy as ax,ct as a6,y as o6,hv as s6,bu as u6,bK as l6,bL as c6,hw as f6,bN as d6,bO as h6,bP as p6,hx as Dr,cD as Q,hy as $t,cE as Z,hz as ox,hA as Oi,hB as Is,hC as np,hD as Wl,hE as ep,hF as rp,hG as G,bC as sx,hH as Da,hI as Fo,hJ as ux,hK as lx,hL as cx,hM as fx,hN as dx,hO as hx,hP as px,hQ as mx,hR as gx,hS as yx,hT as vx,hU as bx,hV as xx,hW as wx,hX as Ax,hY as _x,hZ as kx,h_ as Dx,h$ as Fx,i0 as Cx,i1 as Ex,i2 as $x,i3 as ip,cG as Fa,i4 as Sx,i5 as Mx,cF as Hl,i6 as Ni,i7 as m6,i8 as g6,i9 as y6,ia as v6,ib as b6,ic as x6,id as w6,ie as A6,ig as _6,ih as k6,ii as D6,ij as F6,ik as C6,il as Bx,im as E6,io as $6,ip as S6,aK as M6,iq as B6,ir as z6,is as O6,it as N6,iu as R6,iv as T6,iw as P6,cH as ap}from"./index-CErQehcm.js";import{m as op,a as Ca,d as j6,r as L6,l as sp,i as q6,h as U6,n as I6,c as W6,u as H6,b as G6,t as V6,e as Y6}from"./time-C1S-1cAL.js";import{n as X6,b as J6,i as Ws,d as K6,e as Q6,f as Z6,o as t8,g as Gl,h as zx,j as Co,t as up,a as lp,k as Ri,m as Ea,l as n8,p as e8,q as r8}from"./linear-Bu5yfHuR.js";import{r as xe}from"./range-CtcPcB_L.js";import{R as Ox,r as i8,d as a8,e as o8,m as Nx,o as Rx,C as s8,h as cp,p as fp,n as Oe,q as u8,s as l8,i as c8,a as f8,u as d8,v as h8,b as p8,k as m8,j as g8,T as y8,l as v8,w as Vl,t as b8,g as x8}from"./timer-BwIYMJWC.js";import{i as w8}from"./zoom-COrs4lFh.js";import{i as $a,a as Ti}from"./init-DLRA0X12.js";import{I as Yl,o as Tx,i as A8}from"./ordinal-DDUp3AbE.js";import{c as Fr}from"./colors-bszWmPJw.js";import{w as Px,n as _8,z as jx,a as Hn,J as k8,K as D8,l as Lx,b as F8,t as C8,p as E8,o as $8,q as S8,r as M8,u as B8,x as z8,v as O8,y as N8,B as R8,C as T8,A as P8,F as j8,E as L8,D as q8,G as U8,H as I8,I as W8,k as H8,L as dp}from"./step-BwsUM5iJ.js";import{d as G8}from"./arc-ZB5pDULS.js";import{o as Xl,c as qx,a as V8,r as Y8,b as Jl,N as Ux,d as X8,e as hp,s as J8,p as K8,h as Q8,t as Z8,f as t9}from"./index-BEQfoZiP.js";class Gn{constructor(){this._partials=new Float64Array(32),this._n=0}add(n){const e=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const a=e[i],o=n+a,s=Math.abs(n)<Math.abs(a)?n-(o-a):a-(o-n);s&&(e[r++]=s),n=o}return e[r]=n,this._n=r+1,this}valueOf(){const n=this._partials;let e,r,i,a=this._n,o=0;if(a>0){for(o=n[--a];a>0&&(e=o,r=n[--a],o=e+r,i=r-(o-e),!i););a>0&&(i<0&&n[a-1]<0||i>0&&n[a-1]>0)&&(r=2*i,e=o+r,r==e-o&&(o=e))}return o}}function Ix(t,n){return(t==null||!(t>=t))-(n==null||!(n>=n))||(t<n?-1:t>n?1:0)}function Wx(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=i===void 0?Ix:function(a=qs){if(a===qs)return Ix;if(typeof a!="function")throw new TypeError("compare is not a function");return(o,s)=>{const u=a(o,s);return u||u===0?u:(a(s,s)===0)-(a(o,o)===0)}}(i);r>e;){if(r-e>600){const u=r-e+1,l=n-e+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1);Wx(t,n,Math.max(e,Math.floor(n-l*f/u+d)),Math.min(r,Math.floor(n+(u-l)*f/u+d)),i)}const a=t[n];let o=e,s=r;for(Hs(t,e,n),i(t[r],a)>0&&Hs(t,e,r);o<s;){for(Hs(t,o,s),++o,--s;i(t[o],a)<0;)++o;for(;i(t[s],a)>0;)--s}i(t[e],a)===0?Hs(t,e,s):(++s,Hs(t,s,r)),s<=n&&(e=s+1),n<=s&&(r=s-1)}return t}function Hs(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function pp(t,n,e){if((r=(t=Float64Array.from(X6(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return op(t);if(n>=1)return Ca(t);var r,i=(r-1)*n,a=Math.floor(i),o=Ca(Wx(t,a).subarray(0,a+1));return o+(op(t.subarray(a+1))-o)*(i-a)}}function Hx(t,n,e=J6){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),o=+e(t[a],a,t);return o+(+e(t[a+1],a+1,t)-o)*(i-a)}}function Gx(t,n){return pp(t,.5,n)}function Vx(t){return Array.from(function*(n){for(const e of n)yield*e}(t))}function Yx(t,n){let e=0;for(let r of t)(r=+r)&&(e+=r);return e}function n9(t){return t instanceof Yl?t:new Yl(t)}var Xx=-.14861,mp=1.78277,gp=-.29227,Kl=-.90649,Gs=1.97294,Jx=Gs*Kl,Kx=Gs*mp,Qx=mp*gp-Kl*Xx;function yp(t,n,e,r){return arguments.length===1?function(i){if(i instanceof Sa)return new Sa(i.h,i.s,i.l,i.opacity);i instanceof Ox||(i=i8(i));var a=i.r/255,o=i.g/255,s=i.b/255,u=(Qx*s+Jx*a-Kx*o)/(Qx+Jx-Kx),l=s-u,c=(Gs*(o-u)-gp*l)/Kl,f=Math.sqrt(c*c+l*l)/(Gs*u*(1-u)),d=f?Math.atan2(c,l)*j6-120:NaN;return new Sa(d<0?d+360:d,f,u,i.opacity)}(t):new Sa(t,n,e,r??1)}function Sa(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Zx(t){return function(n,e){var r=t((n=fp(n)).h,(e=fp(e)).h),i=Oe(n.s,e.s),a=Oe(n.l,e.l),o=Oe(n.opacity,e.opacity);return function(s){return n.h=r(s),n.s=i(s),n.l=a(s),n.opacity=o(s),n+""}}}a8(Sa,yp,o8(s8,{brighter(t){return t=t==null?Rx:Math.pow(Rx,t),new Sa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Nx:Math.pow(Nx,t),new Sa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*L6,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Ox(255*(n+e*(Xx*r+mp*i)),255*(n+e*(gp*r+Kl*i)),255*(n+e*(Gs*r)),this.opacity)}}));const e9=Zx(cp);var r9=Zx(Oe);function t2(t){return function n(e){function r(i,a){var o=t((i=yp(i)).h,(a=yp(a)).h),s=Oe(i.s,a.s),u=Oe(i.l,a.l),l=Oe(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=u(Math.pow(c,e)),i.opacity=l(c),i+""}}return e=+e,r.gamma=n,r}(1)}const i9=t2(cp);var a9=t2(Oe);function vp(t,n){n===void 0&&(n=t,t=Ws);for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(o){var s=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return a[s](o-s)}}const o9=Object.freeze(Object.defineProperty({__proto__:null,interpolate:Ws,interpolateArray:K6,interpolateBasis:u8,interpolateBasisClosed:l8,interpolateCubehelix:i9,interpolateCubehelixLong:a9,interpolateDate:Q6,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHcl:q6,interpolateHclLong:U6,interpolateHsl:e9,interpolateHslLong:r9,interpolateHue:function(t,n){var e=cp(+t,+n);return function(r){var i=e(r);return i-360*Math.floor(i/360)}},interpolateLab:function(t,n){var e=Oe((t=sp(t)).l,(n=sp(n)).l),r=Oe(t.a,n.a),i=Oe(t.b,n.b),a=Oe(t.opacity,n.opacity);return function(o){return t.l=e(o),t.a=r(o),t.b=i(o),t.opacity=a(o),t+""}},interpolateNumber:c8,interpolateNumberArray:Z6,interpolateObject:t8,interpolateRgb:f8,interpolateRgbBasis:d8,interpolateRgbBasisClosed:h8,interpolateRound:Gl,interpolateString:p8,interpolateTransformCss:m8,interpolateTransformSvg:g8,interpolateZoom:w8,piecewise:vp,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}},Symbol.toStringTag,{value:"Module"}));function Ql(t){const n=t||Me,e=[],r={};return e.add=i=>{const a=n(i);return r[a]||(r[a]=1,e.push(i)),e},e.remove=i=>{const a=n(i);if(r[a]){r[a]=0;const o=e.indexOf(i);o>=0&&e.splice(o,1)}return e},e}async function Zl(t,n){try{await n(t)}catch(e){t.error(e)}}const n2=Symbol("vega_id");let s9=1;function tc(t){return!(!t||!st(t))}function st(t){return t[n2]}function e2(t,n){return t[n2]=n,t}function St(t){const n=t===Object(t)?t:{data:t};return st(n)?n:e2(n,s9++)}function bp(t){return nc(t,St({}))}function nc(t,n){for(const e in t)n[e]=t[e];return n}function r2(t,n){return e2(n,st(t))}function Ma(t,n){return t?n?(e,r)=>t(e,r)||st(n(e))-st(n(r)):(e,r)=>t(e,r)||st(e)-st(r):null}function i2(t){return t&&t.constructor===Ba}function Ba(){const t=[],n=[],e=[],r=[],i=[];let a=null,o=!1;return{constructor:Ba,insert(s){const u=J(s),l=u.length;for(let c=0;c<l;++c)t.push(u[c]);return this},remove(s){const u=bt(s)?r:n,l=J(s),c=l.length;for(let f=0;f<c;++f)u.push(l[f]);return this},modify(s,u,l){const c={field:u,value:In(l)};return bt(s)?(c.filter=s,i.push(c)):(c.tuple=s,e.push(c)),this},encode(s,u){return bt(s)?i.push({filter:s,field:u}):e.push({tuple:s,field:u}),this},clean(s){return a=s,this},reflow(){return o=!0,this},pulse(s,u){const l={},c={};let f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)l[st(u[f])]=1;for(f=0,d=n.length;f<d;++f)m=n[f],l[st(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(l[st(v)]=-1)});for(f=0,d=t.length;f<d;++f)m=t[f],g=st(m),l[g]?l[g]=1:s.add.push(St(t[f]));for(f=0,d=u.length;f<d;++f)m=u[f],l[st(m)]<0&&s.rem.push(m);function y(v,x,b){b?v[x]=b(v):s.encode=x,o||(c[st(v)]=v)}for(f=0,d=e.length;f<d;++f)h=e[f],m=h.tuple,p=h.field,g=l[st(m)],g>0&&(y(m,p,h.value),s.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&l[st(v)]>0&&y(v,h.field,h.value)}),s.modifies(h.field);if(o)s.mod=n.length||r.length?u.filter(v=>l[st(v)]>0):u.slice();else for(g in c)s.mod.push(c[g]);return(a||a==null&&(n.length||r.length))&&s.clean(!0),s}}}const ec="_:mod:_";function rc(){Object.defineProperty(this,ec,{writable:!0,value:{}})}rc.prototype={set(t,n,e,r){const i=this,a=i[t],o=i[ec];return n!=null&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=T(e)?1+e.length:-1),i},modified(t,n){const e=this[ec];if(!arguments.length){for(const r in e)if(e[r])return!0;return!1}if(T(t)){for(let r=0;r<t.length;++r)if(e[t[r]])return!0;return!1}return n!=null&&n>=0?n+1<e[t]||!!e[n+":"+t]:!!e[t]},clear(){return this[ec]={},this}};let u9=0;const l9=new rc;function Ut(t,n,e,r){this.id=++u9,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}function a2(t){return function(n){const e=this.flags;return arguments.length===0?!!(e&t):(this.flags=n?e|t:e&~t,this)}}Ut.prototype={targets(){return this._targets||(this._targets=Ql(Us))},set(t){return this.value!==t?(this.value=t,1):0},skip:a2(1),modified:a2(2),parameters(t,n,e){n=n!==!1;const r=this._argval=this._argval||new rc,i=this._argops=this._argops||[],a=[];let o,s,u,l;const c=(f,d,h)=>{h instanceof Ut?(h!==this&&(n&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in t)if(s=t[o],o==="pulse")J(s).forEach(f=>{f instanceof Ut?f!==this&&(f.targets().add(this),a.push(f)):P("Pulse parameters must be operator instances.")}),this.source=s;else if(T(s))for(r.set(o,-1,Array(u=s.length)),l=0;l<u;++l)c(o,l,s[l]);else c(o,-1,s);return this.marshall().clear(),e&&(i.initonly=!0),a},marshall(t){const n=this._argval||l9,e=this._argops;let r,i,a,o;if(e){const s=e.length;for(i=0;i<s;++i)r=e[i],a=r.op,o=a.modified()&&a.stamp===t,n.set(r.name,r.index,a.value,o);if(e.initonly){for(i=0;i<s;++i)r=e[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return n},detach(){const t=this._argops;let n,e,r,i;if(t)for(n=0,e=t.length;n<e;++n)r=t[n],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(t){const n=this._update;if(n){const e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.pulse=n||t}};let c9=0;function ic(t,n,e){this.id=++c9,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Pi(t,n,e){return new ic(t,n,e)}ic.prototype={_filter:Be,_apply:Me,targets(){return this._targets||(this._targets=Ql(Us))},consume(t){return arguments.length?(this._consume=!!t,this):!!this._consume},receive(t){if(this._filter(t)){const n=this.value=this._apply(t),e=this._targets,r=e?e.length:0;for(let i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},filter(t){const n=Pi(t);return this.targets().add(n),n},apply(t){const n=Pi(null,t);return this.targets().add(n),n},merge(){const t=Pi();this.targets().add(t);for(let n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},throttle(t){let n=-1;return this.filter(()=>{const e=Date.now();return e-n>t?(n=e,1):0})},debounce(t){const n=Pi();return this.targets().add(Pi(null,null,Yh(t,e=>{const r=e.dataflow;n.receive(e),r&&r.run&&r.run()}))),n},between(t,n){let e=!1;return t.targets().add(Pi(null,null,()=>e=!0)),n.targets().add(Pi(null,null,()=>e=!1)),this.filter(()=>e)},detach(){this._filter=Be,this._targets=null}};const f9={skip:!0};function d9(t,n,e,r,i,a){const o=xt({},a,f9);let s,u;bt(e)||(e=In(e)),r===void 0?s=l=>t.touch(e(l)):bt(r)?(u=new Ut(null,r,i,!1),s=l=>{u.evaluate(l);const c=e(l),f=u.value;i2(f)?t.pulse(c,f,a):t.update(c,f,o)}):s=l=>t.update(e(l),r,o),n.apply(s)}function h9(t,n,e,r,i,a){if(r===void 0)n.targets().add(e);else{const o=a||{},s=new Ut(null,function(u,l){return l=bt(l)?l:In(l),u?function(c,f){const d=l(c,f);return u.skip()||(u.skip(d!==this.value).value=d),d}:l}(e,r),i,!1);s.modified(o.force),s.rank=n.rank,n.targets().add(s),e&&(s.skip(!0),s.value=e.value,s.targets().add(e),t.connect(e,[s]))}}const ac={};function ji(t,n,e){this.dataflow=t,this.stamp=n??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}function xp(t,n){const e=[];return ka(t,n,r=>e.push(r)),e}function o2(t,n){const e={};return t.visit(n,r=>{e[st(r)]=1}),r=>e[st(r)]?null:r}function oc(t,n){return t?(e,r)=>t(e,r)&&n(e,r):n}function wp(t,n,e,r){const i=this;let a=0;this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e;for(const o of e)if(o.stamp===n){if(o.fields){const s=i.fields||(i.fields={});for(const u in o.fields)s[u]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}function s2(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}ji.prototype={StopPropagation:ac,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(t){return new ji(this.dataflow).init(this,t)},clone(){const t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},addAll(){let t=this;return!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length||(t=new ji(this.dataflow).init(this),t.add=t.source,t.rem=[]),t},init(t,n){const e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source,t.cleans&&(e.cleans=t.cleans)),e},runAfter(t){this.dataflow.runAfter(t)},changed(t){const n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},reflow(t){if(t)return this.fork(7).reflow();const n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,o2(this,1))),this},clean(t){return arguments.length?(this.cleans=!!t,this):this.cleans},modifies(t){const n=this.fields||(this.fields={});return T(t)?t.forEach(e=>n[e]=!0):n[t]=!0,this},modified(t,n){const e=this.fields;return!(!n&&!this.mod.length||!e)&&(arguments.length?T(t)?t.some(r=>e[r]):e[t]:!!e)},filter(t,n){const e=this;return 1&t&&(e.addF=oc(e.addF,n)),2&t&&(e.remF=oc(e.remF,n)),4&t&&(e.modF=oc(e.modF,n)),16&t&&(e.srcF=oc(e.srcF,n)),e},materialize(t){const n=this;return 1&(t=t||7)&&n.addF&&(n.add=xp(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=xp(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=xp(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},visit(t,n){const e=this,r=n;if(16&t)return ka(e.source,e.srcF,r),e;1&t&&ka(e.add,e.addF,r),2&t&&ka(e.rem,e.remF,r),4&t&&ka(e.mod,e.modF,r);const i=e.source;if(8&t&&i){const a=e.add.length+e.mod.length;a===i.length||ka(i,a?o2(e,5):e.srcF,r)}return e}},V(wp,ji,{fork(t){const n=new ji(this.dataflow).init(this,t&this.NO_FIELDS);return t!==void 0&&(t&n.ADD&&this.visit(n.ADD,e=>n.add.push(e)),t&n.REM&&this.visit(n.REM,e=>n.rem.push(e)),t&n.MOD&&this.visit(n.MOD,e=>n.mod.push(e))),n},changed(t){return this.changes&t},modified(t){const n=this,e=n.fields;return e&&n.changes&n.MOD?T(t)?t.some(r=>e[r]):e[t]:0},filter(){P("MultiPulse does not support filtering.")},materialize(){P("MultiPulse does not support materialization.")},visit(t,n){const e=this,r=e.pulses,i=r.length;let a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e}});const Ap={skip:!1,force:!1};function p9(t){let n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),u2(n,0,n.length-1,t)),pop:()=>{const e=n.pop();let r;return n.length?(r=n[0],n[0]=e,function(i,a,o){const s=a,u=i.length,l=i[a];let c,f=1+(a<<1);for(;f<u;)c=f+1,c<u&&o(i[f],i[c])>=0&&(f=c),i[a]=i[f],f=1+((a=f)<<1);i[a]=l,u2(i,s,a,o)}(n,0,t)):r=e,r}}}function u2(t,n,e,r){let i,a;const o=t[e];for(;e>n&&(a=e-1>>1,i=t[a],r(o,i)<0);)t[e]=i,e=a;return t[e]=o}function Eo(){this.logger(Vh()),this.logLevel(Vb),this._clock=0,this._rank=0,this._locale=Yb();try{this._loader=Ul()}catch{}this._touched=Ql(Us),this._input={},this._pulse=null,this._heap=p9((t,n)=>t.qrank-n.qrank),this._postrun=[]}function Vs(t){return function(){return this._log[t].apply(this,arguments)}}function O(t,n){Ut.call(this,t,null,n)}Eo.prototype={stamp(){return this._clock},loader(t){return arguments.length?(this._loader=t,this):this._loader},locale(t){return arguments.length?(this._locale=t,this):this._locale},logger(t){return arguments.length?(this._log=t,this):this._log},error:Vs("error"),warn:Vs("warn"),info:Vs("info"),debug:Vs("debug"),logLevel:Vs("level"),cleanThreshold:1e4,add:function(t,n,e,r){let i,a=1;return t instanceof Ut?i=t:t&&t.prototype instanceof Ut?i=new t:bt(t)?i=new Ut(null,t):(a=0,i=new Ut(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},connect:function(t,n){const e=t.rank,r=n.length;for(let i=0;i<r;++i)if(e<n[i].rank)return void this.rerank(t)},rank:function(t){t.rank=++this._rank},rerank:function(t){const n=[t];let e,r,i;for(;n.length;)if(this.rank(e=n.pop()),r=e._targets)for(i=r.length;--i>=0;)n.push(e=r[i]),e===t&&P("Cycle detected in dataflow graph.")},pulse:function(t,n,e){this.touch(t,e||Ap);const r=new ji(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=n.pulse(r,i),this},touch:function(t,n){const e=n||Ap;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},update:function(t,n,e){const r=e||Ap;return(t.set(n)||r.force)&&this.touch(t,r),this},changeset:Ba,ingest:function(t,n,e){return n=this.parse(n,e),this.pulse(t,this.changeset().insert(n))},parse:function(t,n){const e=this.locale();return Jb(t,n,e.timeParse,e.utcParse)},preload:async function(t,n,e){const r=this,i=r._pending||function(o){let s;const u=new Promise(l=>s=l);return u.requests=0,u.done=()=>{--u.requests===0&&(o._pending=null,s(o))},o._pending=u}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(Be).insert(a.data||[])),i.done(),a},request:async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Xb(n&&n.type)});try{r=e.parse(r,n)}catch(a){i=-2,e.warn("Data ingestion failed",t,a)}}catch(a){i=-1,e.warn("Loading failed",t,a)}return{data:r,status:i}},events:function(t,n,e,r){const i=this,a=Pi(e,r),o=function(l){l.dataflow=i;try{a.receive(l)}catch(c){i.error(c)}finally{i.run()}};let s;s=typeof t=="string"&&typeof document<"u"?document.querySelectorAll(t):J(t);const u=s.length;for(let l=0;l<u;++l)s[l].addEventListener(n,o);return a},on:function(t,n,e,r,i){return(t instanceof Ut?h9:d9)(this,t,n,e,r,i),this},evaluate:async function(t,n,e){const r=this,i=[];if(r._pulse)return s2(r);if(r._pending&&await r._pending,n&&await Zl(r,n),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new ji(r,a,t),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ql(Us);let o,s,u,l=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(s=o.run(r._getPulse(o,t)),s.then?s=await s:s.async&&(i.push(s.async),s=ac),s!==ac&&o._targets&&o._targets.forEach(c=>r._enqueue(c)),++l):r._enqueue(o,!0)}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await Zl(r,c[f].callback)}return e&&await Zl(r,e),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r},run:function(t,n,e){return this._pulse?s2(this):(this.evaluate(t,n,e),this)},runAsync:async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},runAfter:function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(r){this.error(r)}},_enqueue:function(t,n){const e=t.stamp<this._clock;e&&(t.stamp=this._clock),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},_getPulse:function(t,n){const e=t.source,r=this._clock;return e&&T(e)?new wp(this,r,e.map(i=>i.pulse),n):this._input[t.id]||function(i,a){return a&&a.stamp===i.stamp?a:(i=i.fork(),a&&a!==ac&&(i.source=a.source),i)}(this._pulse,e&&e.pulse)}},V(O,Ut,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,n.then?n=n.then(e=>this.pulse=e):n!==t.StopPropagation&&(this.pulse=n),n},evaluate(t){const n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},transform(){}});const $o={};function l2(t){const n=c2(t);return n&&n.Definition||null}function c2(t){return t=t&&t.toLowerCase(),tt($o,t)?$o[t]:null}function*f2(t,n){if(n==null)for(let e of t)e!=null&&e!==""&&(e=+e)>=e&&(yield e);else{let e=-1;for(let r of t)r=n(r,++e,t),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function _p(t,n,e){const r=Float64Array.from(f2(t,e));return r.sort(qs),n.map(i=>Hx(r,i))}function kp(t,n){return _p(t,[.25,.5,.75],n)}function Dp(t,n){const e=t.length,r=function(o,s){const u=function(l,c){let f,d=0,h=0,p=0;if(c===void 0)for(let m of l)m!=null&&(m=+m)>=m&&(f=m-h,h+=f/++d,p+=f*(m-h));else{let m=-1;for(let g of l)(g=c(g,++m,l))!=null&&(g=+g)>=g&&(f=g-h,h+=f/++d,p+=f*(g-h))}if(d>1)return p/(d-1)}(o,s);return u&&Math.sqrt(u)}(t,n),i=kp(t,n),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*Math.pow(e,-.2)}function d2(t){const n=t.maxbins||20,e=t.base||10,r=Math.log(e),i=t.divide||[5,2];let a,o,s,u,l,c,f=t.extent[0],d=t.extent[1];const h=t.span||d-f||Math.abs(f)||1;if(t.step)a=t.step;else if(t.steps){for(u=h/n,l=0,c=t.steps.length;l<c&&t.steps[l]<u;++l);a=t.steps[Math.max(0,l-1)]}else{for(o=Math.ceil(Math.log(n)/r),s=t.minstep||0,a=Math.max(s,Math.pow(e,Math.round(Math.log(h)/r)-o));Math.ceil(h/a)>n;)a*=e;for(l=0,c=i.length;l<c;++l)u=a/i[l],u>=s&&h/u<=n&&(a=u)}u=Math.log(a);const p=u>=0?0:1+~~(-u/r),m=Math.pow(e,-p-1);return(t.nice||t.nice===void 0)&&(u=Math.floor(f/a+m)*a,f=f<u?u-a:u,d=Math.ceil(d/a)*a),{start:f,stop:d===f?f+a:d,step:a}}var Ne=Math.random;function h2(t,n,e,r){if(!t.length)return[void 0,void 0];const i=Float64Array.from(f2(t,r)),a=i.length,o=n;let s,u,l,c;for(l=0,c=Array(o);l<o;++l){for(s=0,u=0;u<a;++u)s+=i[~~(Ne()*a)];c[l]=s/a}return c.sort(qs),[pp(c,e/2),pp(c,1-e/2)]}function p2(t,n,e,r){r=r||(d=>d);const i=t.length,a=new Float64Array(i);let o,s=0,u=1,l=r(t[0]),c=l,f=l+n;for(;u<i;++u){if(o=r(t[u]),o>=f){for(c=(l+c)/2;s<u;++s)a[s]=c;f=o+n,l=o}c=o}for(c=(l+c)/2;s<u;++s)a[s]=c;return e?function(d,h){const p=d.length;let m,g,y=0,v=1;for(;d[y]===d[v];)++v;for(;v<p;){for(m=v+1;d[v]===d[m];)++m;if(d[v]-d[v-1]<h){for(g=v+(y+m-v-v>>1);g<v;)d[g++]=d[v];for(;g>v;)d[g--]=d[y]}y=v,v=m}return d}(a,n+n/4):a}const m2=Math.sqrt(2*Math.PI),m9=Math.SQRT2;let Ys=NaN;function sc(t,n){t=t||0,n=n??1;let e,r,i=0,a=0;if(Ys==Ys)i=Ys,Ys=NaN;else{do i=2*Ne()-1,a=2*Ne()-1,e=i*i+a*a;while(e===0||e>1);r=Math.sqrt(-2*Math.log(e)/e),i*=r,Ys=a*r}return t+i*n}function Fp(t,n,e){const r=(t-(n||0))/(e=e??1);return Math.exp(-.5*r*r)/(e*m2)}function uc(t,n,e){const r=(t-(n=n||0))/(e=e??1),i=Math.abs(r);let a;if(i>37)a=0;else{const o=Math.exp(-i*i/2);let s;i<7.07106781186547?(s=.0352624965998911*i+.700383064443688,s=s*i+6.37396220353165,s=s*i+33.912866078383,s=s*i+112.079291497871,s=s*i+221.213596169931,s=s*i+220.206867912376,a=o*s,s=.0883883476483184*i+1.75566716318264,s=s*i+16.064177579207,s=s*i+86.7807322029461,s=s*i+296.564248779674,s=s*i+637.333633378831,s=s*i+793.826512519948,s=s*i+440.413735824752,a/=s):(s=i+.65,s=i+4/s,s=i+3/s,s=i+2/s,s=i+1/s,a=o/s/2.506628274631)}return r>0?1-a:a}function lc(t,n,e){return t<0||t>1?NaN:(n||0)+(e??1)*m9*function(r){let i,a=-Math.log((1-r)*(1+r));return a<6.25?(a-=3.125,i=-364441206401782e-35,i=i*a-16850591381820166e-35,i=128584807152564e-32+i*a,i=11157877678025181e-33+i*a,i=i*a-1333171662854621e-31,i=20972767875968562e-33+i*a,i=6637638134358324e-30+i*a,i=i*a-4054566272975207e-29,i=i*a-8151934197605472e-29,i=26335093153082323e-28+i*a,i=i*a-12975133253453532e-27,i=i*a-5415412054294628e-26,i=10512122733215323e-25+i*a,i=i*a-4112633980346984e-24,i=i*a-29070369957882005e-24,i=42347877827932404e-23+i*a,i=i*a-13654692000834679e-22,i=i*a-13882523362786469e-21,i=.00018673420803405714+i*a,i=i*a-.000740702534166267,i=i*a-.006033670871430149,i=.24015818242558962+i*a,i=1.6536545626831027+i*a):a<16?(a=Math.sqrt(a)-3.25,i=22137376921775787e-25,i=9075656193888539e-23+i*a,i=i*a-27517406297064545e-23,i=18239629214389228e-24+i*a,i=15027403968909828e-22+i*a,i=i*a-4013867526981546e-21,i=29234449089955446e-22+i*a,i=12475304481671779e-21+i*a,i=i*a-47318229009055734e-21,i=6828485145957318e-20+i*a,i=24031110387097894e-21+i*a,i=i*a-.0003550375203628475,i=.0009532893797373805+i*a,i=i*a-.0016882755560235047,i=.002491442096107851+i*a,i=i*a-.003751208507569241,i=.005370914553590064+i*a,i=1.0052589676941592+i*a,i=3.0838856104922208+i*a):Number.isFinite(a)?(a=Math.sqrt(a)-5,i=-27109920616438573e-27,i=i*a-2555641816996525e-25,i=15076572693500548e-25+i*a,i=i*a-3789465440126737e-24,i=761570120807834e-23+i*a,i=i*a-1496002662714924e-23,i=2914795345090108e-23+i*a,i=i*a-6771199775845234e-23,i=22900482228026655e-23+i*a,i=i*a-99298272942317e-20,i=4526062597223154e-21+i*a,i=i*a-1968177810553167e-20,i=7599527703001776e-20+i*a,i=i*a-.00021503011930044477,i=i*a-.00013871931833623122,i=1.0103004648645344+i*a,i=4.849906401408584+i*a):i=1/0,i*r}(2*t-1)}function Cp(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>sc(e,r),pdf:a=>Fp(a,e,r),cdf:a=>uc(a,e,r),icdf:a=>lc(a,e,r)};return i.mean(t).stdev(n)}function Ep(t,n){const e=Cp();let r=0;const i={data(a){return arguments.length?(t=a,r=a?a.length:0,i.bandwidth(n)):t},bandwidth(a){return arguments.length?(!(n=a)&&t&&(n=Dp(t)),i):n},sample:()=>t[~~(Ne()*r)]+n*e.sample(),pdf(a){let o=0,s=0;for(;s<r;++s)o+=e.pdf((a-t[s])/n);return o/n/r},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e.cdf((a-t[s])/n);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(t)}function $p(t,n){return t=t||0,n=n??1,Math.exp(t+sc()*n)}function Sp(t,n,e){if(t<=0)return 0;n=n||0,e=e??1;const r=(Math.log(t)-n)/e;return Math.exp(-.5*r*r)/(e*m2*t)}function Mp(t,n,e){return uc(Math.log(t),n,e)}function Bp(t,n,e){return Math.exp(lc(t,n,e))}function g2(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>$p(e,r),pdf:a=>Sp(a,e,r),cdf:a=>Mp(a,e,r),icdf:a=>Bp(a,e,r)};return i.mean(t).stdev(n)}function y2(t,n){let e,r=0;const i={weights(a){return arguments.length?(e=function(o){const s=[];let u,l=0;for(u=0;u<r;++u)l+=s[u]=o[u]==null?1:+o[u];for(u=0;u<r;++u)s[u]/=l;return s}(n=a||[]),i):n},distributions(a){return arguments.length?(a?(r=a.length,t=a):(r=0,t=[]),i.weights(n)):t},sample(){const a=Ne();let o=t[r-1],s=e[0],u=0;for(;u<r-1;s+=e[++u])if(a<s){o=t[u];break}return o.sample()},pdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].pdf(a);return o},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].cdf(a);return o},icdf(){throw Error("Mixture icdf not supported.")}};return i.distributions(t).weights(n)}function zp(t,n){return n==null&&(n=t??1,t=0),t+(n-t)*Ne()}function Op(t,n,e){return e==null&&(e=n??1,n=0),t>=n&&t<=e?1/(e-n):0}function Np(t,n,e){return e==null&&(e=n??1,n=0),t<n?0:t>e?1:(t-n)/(e-n)}function Rp(t,n,e){return e==null&&(e=n??1,n=0),t>=0&&t<=1?n+t*(e-n):NaN}function v2(t,n){let e,r;const i={min(a){return arguments.length?(e=a||0,i):e},max(a){return arguments.length?(r=a??1,i):r},sample:()=>zp(e,r),pdf:a=>Op(a,e,r),cdf:a=>Np(a,e,r),icdf:a=>Rp(a,e,r)};return n==null&&(n=t??1,t=0),i.min(t).max(n)}function Tp(t,n,e){let r=0,i=0;for(const a of t){const o=e(a);n(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Xs(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function cc(t,n,e,r){t=t.filter(h=>{let p=n(h),m=e(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&t.sort((h,p)=>n(h)-n(p));const i=t.length,a=new Float64Array(i),o=new Float64Array(i);let s,u,l,c=0,f=0,d=0;for(l of t)a[c]=s=+n(l),o[c]=u=+e(l),++c,f+=(s-f)/c,d+=(u-d)/c;for(c=0;c<i;++c)a[c]-=f,o[c]-=d;return[a,o,f,d]}function Js(t,n,e,r){let i,a,o=-1;for(const s of t)i=n(s),a=e(s),i!=null&&(i=+i)>=i&&a!=null&&(a=+a)>=a&&r(i,a,++o)}function So(t,n,e,r,i){let a=0,o=0;return Js(t,n,e,(s,u)=>{const l=u-i(s),c=u-r;a+=l*l,o+=c*c}),1-a/o}function Pp(t,n,e){let r=0,i=0,a=0,o=0,s=0;Js(t,n,e,(c,f)=>{++s,r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Xs(r,i,a,o),l=c=>u[0]+u[1]*c;return{coef:u,predict:l,rSquared:So(t,n,e,i,l)}}function b2(t,n,e){let r=0,i=0,a=0,o=0,s=0;Js(t,n,e,(c,f)=>{++s,c=Math.log(c),r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Xs(r,i,a,o),l=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:l,rSquared:So(t,n,e,i,l)}}function x2(t,n,e){const[r,i,a,o]=cc(t,n,e);let s,u,l,c=0,f=0,d=0,h=0,p=0;Js(t,n,e,(v,x)=>{s=r[p++],u=Math.log(x),l=s*x,c+=(x*u-c)/p,f+=(l-f)/p,d+=(l*u-d)/p,h+=(s*l-h)/p});const[m,g]=Xs(f/o,c/o,d/o,h/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:So(t,n,e,o,y)}}function w2(t,n,e){let r=0,i=0,a=0,o=0,s=0,u=0;Js(t,n,e,(f,d)=>{const h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,s+=(d-s)/u});const l=Xs(r,i,a,o),c=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:So(t,n,e,s,c)}}function jp(t,n,e){const[r,i,a,o]=cc(t,n,e),s=r.length;let u,l,c,f,d=0,h=0,p=0,m=0,g=0;for(u=0;u<s;)l=r[u],c=i[u++],f=l*l,d+=(f-d)/u,h+=(f*l-h)/u,p+=(f*f-p)/u,m+=(l*c-m)/u,g+=(f*c-g)/u;const y=p-d*d,v=d*y-h*h,x=(g*d-m*h)/v,b=(m*y-g*h)/v,w=-x*d,A=_=>x*(_-=a)*_+b*_+w+o;return{coef:[w-b*a+x*a*a+o,b-2*x*a,x],predict:A,rSquared:So(t,n,e,o,A)}}function A2(t,n,e,r){if(r===0)return Tp(t,n,e);if(r===1)return Pp(t,n,e);if(r===2)return jp(t,n,e);const[i,a,o,s]=cc(t,n,e),u=i.length,l=[],c=[],f=r+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d)*a[p];for(l.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d+h);g[h]=m}c.push(g)}c.push(l);const y=function(x){const b=x.length-1,w=[];let A,_,k,D,C;for(A=0;A<b;++A){for(D=A,_=A+1;_<b;++_)Math.abs(x[A][_])>Math.abs(x[A][D])&&(D=_);for(k=A;k<b+1;++k)C=x[k][A],x[k][A]=x[k][D],x[k][D]=C;for(_=A+1;_<b;++_)for(k=b;k>=A;k--)x[k][_]-=x[k][A]*x[A][_]/x[A][A]}for(_=b-1;_>=0;--_){for(C=0,k=_+1;k<b;++k)C+=x[k][_]*w[k];w[_]=(x[b][_]-C)/x[_][_]}return w}(c),v=x=>{x-=o;let b=s+y[0]+y[1]*x+y[2]*x*x;for(d=3;d<f;++d)b+=y[d]*Math.pow(x,d);return b};return{coef:g9(f,y,-o,s),predict:v,rSquared:So(t,n,e,s,v)}}function g9(t,n,e,r){const i=Array(t);let a,o,s,u;for(a=0;a<t;++a)i[a]=0;for(a=t-1;a>=0;--a)for(s=n[a],u=1,i[a]+=s,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=s*Math.pow(e,o)*u;return i[0]+=r,i}function _2(t,n,e,r){const[i,a,o,s]=cc(t,n,e,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=2;){const p=[0,l-1];for(let g=0;g<u;++g){const y=i[g],v=p[0],x=p[1],b=y-i[v]>i[x]-y?v:x;let w=0,A=0,_=0,k=0,D=0;const C=1/Math.abs(i[b]-y||1);for(let $=v;$<=x;++$){const M=i[$],S=a[$],B=y9(Math.abs(y-M)*C)*d[$],z=M*B;w+=B,A+=z,_+=S*B,k+=S*z,D+=M*z}const[F,E]=Xs(A/w,_/w,k/w,D/w);c[g]=F+E*y,f[g]=Math.abs(a[g]-c[g]),v9(i,g+1,p)}if(h===2)break;const m=Gx(f);if(Math.abs(m)<1e-12)break;for(let g,y,v=0;v<u;++v)g=f[v]/(6*m),d[v]=g>=1?1e-12:(y=1-g*g)*y}return function(h,p,m,g){const y=h.length,v=[];let x,b=0,w=0,A=[];for(;b<y;++b)x=h[b]+m,A[0]===x?A[1]+=(p[b]-A[1])/++w:(w=0,A[1]+=g,A=[x,p[b]],v.push(A));return A[1]+=g,v}(i,c,o,s)}function y9(t){return(t=1-t*t*t)*t*t}function v9(t,n,e){const r=t[n];let i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const b9=.5*Math.PI/180;function fc(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=m=>[m,t(m)],a=n[0],o=n[1],s=o-a,u=s/r,l=[i(a)],c=[];if(e===r){for(let m=1;m<r;++m)l.push(i(a+m/e*s));return l.push(i(o)),l}c.push(i(o));for(let m=e;--m>0;)c.push(i(a+m/e*s));let f=l[0],d=c[c.length-1];const h=1/s,p=function(m,g){let y=m,v=m;const x=g.length;for(let b=0;b<x;++b){const w=g[b][1];w<y&&(y=w),w>v&&(v=w)}return 1/(v-y)}(f[1],c);for(;d;){const m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&x9(f,m,d,h,p)>b9?c.push(m):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l}function x9(t,n,e,r,i){const a=Math.atan2(i*(e[1]-t[1]),r*(e[0]-t[0])),o=Math.atan2(i*(n[1]-t[1]),r*(n[0]-t[0]));return Math.abs(a-o)}function Lp(t){return t&&t.length?t.length===1?t[0]:(n=t,e=>{const r=n.length;let i=1,a=String(n[0](e));for(;i<r;++i)a+="|"+n[i](e);return a}):function(){return""};var n}function k2(t,n,e){return e||t+(n?"_"+n:"")}const qp=()=>{},w9={init:qp,add:qp,rem:qp,idx:0},Ks={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:void 0,add:(t,n)=>t.sum+=+n,rem:(t,n)=>t.sum-=n},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,n)=>t.product*=n,rem:(t,n)=>t.product/=n},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,n)=>(t.mean_d=n-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,n)=>(t.mean_d=n-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,n)=>t.dev+=t.mean_d*(n-t.mean),rem:(t,n)=>t.dev-=t.mean_d*(n-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,n)=>{(n<t.min||t.min===void 0)&&(t.min=n)},rem:(t,n)=>{n<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,n)=>{(n>t.max||t.max===void 0)&&(t.max=n)},rem:(t,n)=>{n>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,n,e)=>{n<t.min&&(t.argmin=e)},rem:(t,n)=>{n<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,n,e)=>{n>t.max&&(t.argmax=e)},rem:(t,n)=>{n>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(t,n)=>{t.exp=0,t.exp_r=n},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):void 0,add:(t,n)=>t.exp=t.exp_r*t.exp+n,rem:(t,n)=>t.exp=(t.exp-n/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):void 0,req:["exponential"],idx:1}},Qs=Object.keys(Ks).filter(t=>t!=="__count__");function D2(t,n,e){return Ks[t](e,n)}function F2(t,n){return t.idx-n.idx}function A9(){this.valid=0,this.missing=0,this._ops.forEach(t=>t.aggregate_param==null?t.init(this):t.init(this,t.aggregate_param))}function _9(t,n){t!=null&&t!==""?t==t&&(++this.valid,this._ops.forEach(e=>e.add(this,t,n))):++this.missing}function k9(t,n){t!=null&&t!==""?t==t&&(--this.valid,this._ops.forEach(e=>e.rem(this,t,n))):--this.missing}function D9(t){return this._out.forEach(n=>t[n.out]=n.value(this)),t}function C2(t,n){const e=n||Me,r=function(o){const s={};o.forEach(l=>s[l.name]=l);const u=l=>{l.req&&l.req.forEach(c=>{s[c]||u(s[c]=Ks[c]())})};return o.forEach(u),Object.values(s).sort(F2)}(t),i=t.slice().sort(F2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=A9,a.prototype.add=_9,a.prototype.rem=k9,a.prototype.set=D9,a.prototype.get=e,a.fields=t.map(o=>o.out),a}function Up(t){this._key=t?ei(t):st,this.reset()}[...Qs,"__count__"].forEach(t=>{Ks[t]=function(n,e){return(r,i)=>xt({name:n,aggregate_param:i,out:r||n},w9,e)}(t,Ks[t])});const kn=Up.prototype;function Li(t){O.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}kn.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},kn.add=function(t){this._add.push(t)},kn.rem=function(t){this._rem.push(t)},kn.values=function(){if(this._get=null,this._rem.length===0)return this._add;const t=this._add,n=this._rem,e=this._key,r=t.length,i=n.length,a=Array(r-i),o={};let s,u,l;for(s=0;s<i;++s)o[e(n[s])]=1;for(s=0,u=0;s<r;++s)o[e(l=t[s])]?o[e(l)]=0:a[u++]=l;return this._rem=[],this._add=a},kn.distinct=function(t){const n=this.values(),e={};let r,i=n.length,a=0;for(;--i>=0;)r=t(n[i])+"",tt(e,r)||(e[r]=1,++a);return a},kn.extent=function(t){if(this._get!==t||!this._ext){const n=this.values(),e=rx(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},kn.argmin=function(t){return this.extent(t)[0]||{}},kn.argmax=function(t){return this.extent(t)[1]||{}},kn.min=function(t){const n=this.extent(t)[0];return n!=null?t(n):void 0},kn.max=function(t){const n=this.extent(t)[1];return n!=null?t(n):void 0},kn.quartile=function(t){return this._get===t&&this._q||(this._q=kp(this.values(),t),this._get=t),this._q},kn.q1=function(t){return this.quartile(t)[0]},kn.q2=function(t){return this.quartile(t)[1]},kn.q3=function(t){return this.quartile(t)[2]},kn.ci=function(t){return this._get===t&&this._ci||(this._ci=h2(this.values(),1e3,.05,t),this._get=t),this._ci},kn.ci0=function(t){return this.ci(t)[0]},kn.ci1=function(t){return this.ci(t)[1]},Li.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Qs},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},V(Li,O,{transform(t,n){const e=this,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.modified();return e.stamp=r.stamp,e.value&&(i||n.modified(e._inputs,!0))?(e._prev=e.value,e.value=i?e.init(t):Object.create(null),n.visit(n.SOURCE,a=>e.add(a))):(e.value=e.value||e.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),r.modifies(e._outputs),e._drop=t.drop!==!1,t.cross&&e._dims.length>1&&(e._drop=!1,e.cross()),n.clean()&&e._drop&&r.clean(!0).runAfter(()=>this.clean()),e.changes(r)},cross(){const t=this,n=t.value,e=t._dnames,r=e.map(()=>({})),i=e.length;function a(o){let s,u,l,c;for(s in o)for(l=o[s].tuple,u=0;u<i;++u)r[u][c=l[e[u]]]=c}a(t._prev),a(n),function o(s,u,l){const c=e[l],f=r[l++];for(const d in f){const h=s?s+"|"+d:d;u[c]=f[d],l<i?o(h,u,l):n[h]||t.cell(h,u)}}("",{},0)},init(t){const n=this._inputs=[],e=this._outputs=[],r={};function i(v){const x=J(Wn(v)),b=x.length;let w,A=0;for(;A<b;++A)r[w=x[A]]||(r[w]=1,n.push(w))}this._dims=J(t.groupby),this._dnames=this._dims.map(v=>{const x=en(v);return i(v),e.push(x),x}),this.cellkey=t.key?t.key:Lp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const a=t.fields||[null],o=t.ops||["count"],s=t.aggregate_params||[null],u=t.as||[],l=a.length,c={};let f,d,h,p,m,g,y;for(l!==o.length&&P("Unmatched number of fields and aggregate ops."),y=0;y<l;++y)f=a[y],d=o[y],h=s[y]||null,f==null&&d!=="count"&&P("Null aggregate field specified."),m=en(f),g=k2(d,m,u[y]),e.push(g),d!=="count"?(p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(D2(d,h,g))):this._counts.push(g);return this._measures=this._measures.map(v=>C2(v,v.field)),Object.create(null)},cellkey:Lp(),cell(t,n){let e=this.value[t];return e?e.num===0&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},newcell(t,n){const e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){const r=this._measures,i=r.length;e.agg=Array(i);for(let a=0;a<i;++a)e.agg[a]=new r[a](e)}return e.store&&(e.data=new Up),e},newtuple(t,n){const e=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[e[o]]=r[o](t);return n?r2(n.tuple,a):St(a)},clean(){const t=this.value;for(const n in t)t[n].num===0&&delete t[n]},add(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num+=1,this._countOnly)return;e.store&&e.data.add(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(t),t)},rem(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num-=1,this._countOnly)return;e.store&&e.data.rem(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(t),t)},celltuple(t){const n=t.tuple,e=this._counts;t.store&&t.data.values();for(let r=0,i=e.length;r<i;++r)n[e[r]]=t.num;if(!this._countOnly){const r=t.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(n)}return n},changes(t){const n=this._adds,e=this._mods,r=this._prev,i=this._drop,a=t.add,o=t.rem,s=t.mod;let u,l,c,f;if(r)for(l in r)u=r[l],i&&!u.num||o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(n[c])),n[c]=null;for(c=0,f=this._mlen;c<f;++c)u=e[c],(u.num===0&&i?o:s).push(this.celltuple(u)),e[c]=null;return this._alen=this._mlen=0,this._prev=null,t}});function Ip(t){O.call(this,null,t)}function E2(t,n,e){const r=t;let i=n||[],a=e||[],o={},s=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++s,size:()=>i.length,data:(u,l)=>(s&&(i=i.filter(c=>!o[r(c)]),o={},s=0),l&&u&&i.sort(u),a.length&&(i=u?ex(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Wp(t){O.call(this,[],t)}function $2(t){Ut.call(this,null,F9,t)}function F9(t){return this.value&&!t.modified()?this.value:Qh(t.fields,t.orders)}function Hp(t){O.call(this,null,t)}function Gp(t){O.call(this,null,t)}Ip.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},V(Ip,O,{transform(t,n){const e=t.interval!==!1,r=this._bins(t),i=r.start,a=r.step,o=t.as||["bin0","bin1"],s=o[0],u=o[1];let l;return l=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(Wn(t.field))?n.ADD_MOD:n.ADD,n.visit(l,e?c=>{const f=r(c);c[s]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[s]=r(c)),n.modifies(e?o:s)},_bins(t){if(this.value&&!t.modified())return this.value;const n=t.field,e=d2(t),r=e.step;let i,a,o=e.start,s=o+Math.ceil((e.stop-o)/r)*r;(i=t.anchor)!=null&&(a=i-(o+r*Math.floor((i-o)/r)),o+=a,s+=a);const u=function(l){let c=ze(n(l));return c==null?null:c<o?-1/0:c>s?1/0:(c=Math.max(o,Math.min(c,s-r)),o+r*Math.floor(1e-14+(c-o)/r))};return u.start=o,u.stop=e.stop,u.step=r,this.value=ko(u,Wn(n),t.name||"bin_"+en(n))}}),Wp.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},V(Wp,O,{transform(t,n){const e=n.fork(n.ALL),r=E2(st,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(Ma(i),a),n.source&&n.source.root&&(this.value.root=n.source.root),e}}),V($2,Ut),Hp.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},V(Hp,O,{transform(t,n){const e=f=>d=>{for(var h,p=function(y,v,x){switch(v){case"upper":y=y.toUpperCase();break;case"lower":y=y.toLowerCase()}return y.match(x)}(s(d),t.case,a)||[],m=0,g=p.length;m<g;++m)o.test(h=p[m])||f(h)},r=this._parameterCheck(t,n),i=this._counts,a=this._match,o=this._stop,s=t.field,u=t.as||["text","count"],l=e(f=>i[f]=1+(i[f]||0)),c=e(f=>i[f]-=1);return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,u)},_parameterCheck(t,n){let e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},_finish(t,n){const e=this._counts,r=this._tuples||(this._tuples={}),i=n[0],a=n[1],o=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,u,l;for(s in e)u=r[s],l=e[s]||0,!u&&l?(r[s]=u=St({}),u[i]=s,u[a]=l,o.add.push(u)):l===0?(u&&o.rem.push(u),e[s]=null,r[s]=null):u[a]!==l&&(u[a]=l,o.mod.push(u));return o.modifies(n)}}),Gp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},V(Gp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.as||["a","b"],i=r[0],a=r[1],o=!this.value||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;return o?(s&&(e.rem=s),s=n.materialize(n.SOURCE).source,e.add=this.value=function(u,l,c,f){for(var d,h,p=[],m={},g=u.length,y=0;y<g;++y)for(m[l]=h=u[y],d=0;d<g;++d)m[c]=u[d],f(m)&&(p.push(St(m)),(m={})[l]=h);return p}(s,i,a,t.filter||Be)):e.mod=s,e.source=this.value,e.modifies(r)}});const S2={kde:Ep,mixture:y2,normal:Cp,lognormal:g2,uniform:v2},M2="function";function B2(t,n){const e=t[M2];tt(S2,e)||P("Unknown distribution function: "+e);const r=S2[e]();for(const i in t)i==="field"?r.data((t.from||n()).map(t[i])):i==="distributions"?r[i](t[i].map(a=>B2(a,n))):typeof r[i]===M2&&r[i](t[i]);return r}function Vp(t){O.call(this,null,t)}const z2=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],C9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:z2},{name:"weights",type:"number",array:!0}]};function O2(t,n){return t?t.map((e,r)=>n[r]||en(e)):null}function Yp(t,n,e){const r=[],i=f=>f(u);let a,o,s,u,l,c;if(n==null)r.push(t.map(e));else for(a={},o=0,s=t.length;o<s;++o)u=t[o],l=n.map(i),c=a[l],c||(a[l]=c=[],c.dims=l,r.push(c)),c.push(e(u));return r}Vp.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:z2.concat(C9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(Vp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=B2(t.distribution,function(l){return()=>l.materialize(l.SOURCE).source}(n)),i=t.steps||t.minsteps||25,a=t.steps||t.maxsteps||200;let o=t.method||"pdf";o!=="pdf"&&o!=="cdf"&&P("Invalid density method: "+o),t.extent||r.data||P("Missing density extent parameter."),o=r[o];const s=t.as||["value","density"],u=fc(o,t.extent||kr(r.data()),i,a).map(l=>{const c={};return c[s[0]]=l[0],c[s[1]]=l[1],St(c)});this.value&&(e.rem=this.value),this.value=e.add=e.source=u}return e}});function Xp(t){O.call(this,null,t)}Xp.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]};function N2(t){Ut.call(this,null,E9,t),this.modified(!0)}function E9(t){const n=t.expr;return this.value&&!t.modified("expr")?this.value:ko(e=>n(e,t),Wn(n),en(n))}function Jp(t){O.call(this,[void 0,void 0],t)}function Kp(t,n){Ut.call(this,t),this.parent=n,this.count=0}function dc(t){O.call(this,{},t),this._keys=Do();const n=this._targets=[];n.active=0,n.forEach=e=>{for(let r=0,i=n.active;r<i;++r)e(n[r],r,n)}}function R2(t){Ut.call(this,null,$9,t)}function $9(t){return this.value&&!t.modified()?this.value:T(t.name)?J(t.name).map(n=>ei(n)):ei(t.name,t.as)}function Qp(t){O.call(this,Do(),t)}function Zp(t){O.call(this,[],t)}function tm(t){O.call(this,[],t)}function nm(t){O.call(this,null,t)}function T2(t){O.call(this,[],t)}V(Xp,O,{transform(t,n){if(this.value&&!t.modified()&&!n.changed())return n;const e=n.materialize(n.SOURCE).source,r=Yp(n.source,t.groupby,Me),i=t.smooth||!1,a=t.field,o=t.step||((p,m)=>Il(kr(p,m))/30)(e,a),s=Ma((p,m)=>a(p)-a(m)),u=t.as||"bin",l=r.length;let c,f=1/0,d=-1/0,h=0;for(;h<l;++h){const p=r[h].sort(s);c=-1;for(const m of p2(p,o,i,a))m<f&&(f=m),m>d&&(d=m),p[++c][u]=m}return this.value={start:f,stop:d,step:o},n.reflow(!0).modifies(u)}}),V(N2,Ut),Jp.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},V(Jp,O,{transform(t,n){const e=this.value,r=t.field,i=n.changed()||n.modified(r.fields)||t.modified("field");let a=e[0],o=e[1];if((i||a==null)&&(a=1/0,o=-1/0),n.visit(i?n.SOURCE:n.ADD,s=>{const u=ze(r(s));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let s=en(r);s&&(s=` for field "${s}"`),n.dataflow.warn(`Infinite extent${s}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),V(Kp,Ut,{connect(t){return this.detachSubflow=t.detachSubflow,this.targets().add(t),t.source=this},add(t){this.count+=1,this.value.add.push(t)},rem(t){this.count-=1,this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}}),V(dc,O,{activate(t){this._targets[this._targets.active++]=t},subflow(t,n,e,r){const i=this.value;let a,o,s=tt(i,t)&&i[t];return s?s.value.stamp<e.stamp&&(s.init(e),this.activate(s)):(o=r||(o=this._group[t])&&o.tuple,a=e.dataflow,s=new Kp(e.fork(e.NO_SOURCE),this),a.add(s).connect(n(a,t,o)),i[t]=s,this.activate(s)),s},clean(){const t=this.value;let n=0;for(const e in t)if(t[e].count===0){const r=t[e].detachSubflow;r&&r(),delete t[e],++n}if(n){const e=this._targets.filter(r=>r&&r.count>0);this.initTargets(e)}},initTargets(t){const n=this._targets,e=n.length,r=t?t.length:0;let i=0;for(;i<r;++i)n[i]=t[i];for(;i<e&&n[i]!=null;++i)n[i]=null;n.active=r},transform(t,n){const e=n.dataflow,r=t.key,i=t.subflow,a=this._keys,o=t.modified("key"),s=u=>this.subflow(u,i,n);return this._group=t.group||{},this.initTargets(),n.visit(n.REM,u=>{const l=st(u),c=a.get(l);c!==void 0&&(a.delete(l),s(c).rem(u))}),n.visit(n.ADD,u=>{const l=r(u);a.set(st(u),l),s(l).add(u)}),o||n.modified(r.fields)?n.visit(n.MOD,u=>{const l=st(u),c=a.get(l),f=r(u);c===f?s(f).mod(u):(a.set(l,f),s(c).rem(u),s(f).add(u))}):n.changed(n.MOD)&&n.visit(n.MOD,u=>{s(a.get(st(u))).mod(u)}),o&&n.visit(n.REFLOW,u=>{const l=st(u),c=a.get(l),f=r(u);c!==f&&(a.set(l,f),s(c).rem(u),s(f).add(u))}),n.clean()?e.runAfter(()=>{this.clean(),a.clean()}):a.empty>e.cleanThreshold&&e.runAfter(a.clean),n}}),V(R2,Ut),Qp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},V(Qp,O,{transform(t,n){const e=n.dataflow,r=this.value,i=n.fork(),a=i.add,o=i.rem,s=i.mod,u=t.expr;let l=!0;function c(f){const d=st(f),h=u(f,t),p=r.get(d);h&&p?(r.delete(d),a.push(f)):h||p?l&&h&&!p&&s.push(f):(r.set(d,1),o.push(f))}return n.visit(n.REM,f=>{const d=st(f);r.has(d)?r.delete(d):o.push(f)}),n.visit(n.ADD,f=>{u(f,t)?a.push(f):r.set(st(f),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i}}),Zp.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},V(Zp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=O2(r,t.as||[]),a=t.index||null,o=i.length;return e.rem=this.value,n.visit(n.SOURCE,s=>{const u=r.map(p=>p(s)),l=u.reduce((p,m)=>Math.max(p,m.length),0);let c,f,d,h=0;for(;h<l;++h){for(f=bp(s),c=0;c<o;++c)f[i[c]]=(d=u[c][h])==null?null:d;a&&(f[a]=h),e.add.push(f)}}),this.value=e.source=e.add,a&&e.modifies(a),e.modifies(i)}}),tm.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},V(tm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=r.map(en),a=t.as||["key","value"],o=a[0],s=a[1],u=r.length;return e.rem=this.value,n.visit(n.SOURCE,l=>{for(let c,f=0;f<u;++f)c=bp(l),c[o]=i[f],c[s]=r[f](l),e.add.push(c)}),this.value=e.source=e.add,e.modifies(a)}}),nm.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},V(nm,O,{transform(t,n){const e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)||n.modified(r)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,o=>o[r]=e(o,t))}}),V(T2,O,{transform(t,n){const e=n.fork(n.ALL),r=t.generator;let i,a,o,s=this.value,u=t.size-s.length;if(u>0){for(i=[];--u>=0;)i.push(o=St(r(t))),s.push(o);e.add=e.add.length?e.materialize(e.ADD).add.concat(i):i}else a=s.slice(0,-u),e.rem=e.rem.length?e.materialize(e.REM).rem.concat(a):a,s=s.slice(-u);return e.source=this.value=s,e}});const hc={value:"value",median:Gx,mean:function(t,n){let e=0,r=0;if(n===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++e,r+=i);else{let i=-1;for(let a of t)(a=n(a,++i,t))!=null&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:op,max:Ca},S9=[];function em(t){O.call(this,[],t)}function rm(t){Li.call(this,t)}function im(t){O.call(this,null,t)}function P2(t){Ut.call(this,null,M9,t)}function M9(t){return this.value&&!t.modified()?this.value:Zh(t.fields,t.flat)}function j2(t){O.call(this,[],t),this._pending=null}function am(t,n,e){e.forEach(St);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.source=r.add=e,t._pending=null,r.rem.length&&r.clean(!0),r}function om(t){O.call(this,{},t)}function L2(t){Ut.call(this,null,B9,t)}function B9(t){if(this.value&&!t.modified())return this.value;const n=t.extents,e=n.length;let r,i,a=1/0,o=-1/0;for(r=0;r<e;++r)i=n[r],i[0]<a&&(a=i[0]),i[1]>o&&(o=i[1]);return[a,o]}function q2(t){Ut.call(this,null,z9,t)}function z9(t){return this.value&&!t.modified()?this.value:t.values.reduce((n,e)=>n.concat(e),[])}function U2(t){O.call(this,null,t)}function sm(t){Li.call(this,t)}function I2(t){dc.call(this,t)}function um(t){O.call(this,null,t)}function W2(t){O.call(this,null,t)}function lm(t){O.call(this,null,t)}em.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},V(em,O,{transform(t,n){var e,r,i,a,o,s,u,l,c,f,d=n.fork(n.ALL),h=function(A){var _,k=A.method||hc.value;if(hc[k]!=null)return k===hc.value?(_=A.value!==void 0?A.value:0,()=>_):hc[k];P("Unrecognized imputation method: "+k)}(t),p=function(A){const _=A.field;return k=>k?_(k):NaN}(t),m=en(t.field),g=en(t.key),y=(t.groupby||[]).map(en),v=function(A,_,k,D){var C,F,E,$,M,S,B,z,j=ot=>ot(z),W=[],K=D?D.slice():[],q={},at={};for(K.forEach((ot,it)=>q[ot]=it+1),$=0,B=A.length;$<B;++$)S=k(z=A[$]),M=q[S]||(q[S]=K.push(S)),(E=at[F=(C=_?_.map(j):S9)+""])||(E=at[F]=[],W.push(E),E.values=C),E[M-1]=z;return W.domain=K,W}(n.source,t.groupby,t.key,t.keyvals),x=[],b=this.value,w=v.domain.length;for(o=0,l=v.length;o<l;++o)for(i=(e=v[o]).values,r=NaN,u=0;u<w;++u)if(e[u]==null){for(a=v.domain[u],f={_impute:!0},s=0,c=i.length;s<c;++s)f[y[s]]=i[s];f[g]=a,f[m]=Number.isNaN(r)?r=h(e,p):r,x.push(St(f))}return x.length&&(d.add=d.materialize(d.ADD).add.concat(x)),b.length&&(d.rem=d.materialize(d.REM).rem.concat(b)),this.value=x,d}}),rm.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:Qs},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},V(rm,Li,{transform(t,n){const e=this,r=t.modified();let i;return e.value&&(r||n.modified(e._inputs,!0))?(i=e.value=r?e.init(t):{},n.visit(n.SOURCE,a=>e.add(a))):(i=e.value=e.value||this.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),e.changes(),n.visit(n.SOURCE,a=>{xt(a,i[e.cellkey(a)].tuple)}),n.reflow(r).modifies(this._outputs)},changes(){const t=this._adds,n=this._mods;let e,r;for(e=0,r=this._alen;e<r;++e)this.celltuple(t[e]),t[e]=null;for(e=0,r=this._mlen;e<r;++e)this.celltuple(n[e]),n[e]=null;this._alen=this._mlen=0}}),im.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(im,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=n.materialize(n.SOURCE).source,i=Yp(r,t.groupby,t.field),a=(t.groupby||[]).map(en),o=t.bandwidth,s=t.cumulative?"cdf":"pdf",u=t.as||["value","density"],l=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;s!=="pdf"&&s!=="cdf"&&P("Invalid density method: "+s),t.resolve==="shared"&&(c||(c=kr(r,t.field)),f=d=t.steps||d),i.forEach(h=>{const p=Ep(h,o)[s],m=t.counts?h.length:1;fc(p,c||kr(h),f,d).forEach(g=>{const y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[u[0]]=g[0],y[u[1]]=g[1]*m,l.push(St(y))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e}}),V(P2,Ut),V(j2,O,{transform(t,n){const e=n.dataflow;return this._pending?am(this,n,this._pending):function(r){return r.modified("async")&&!(r.modified("values")||r.modified("url")||r.modified("format"))}(t)?n.StopPropagation:t.values?am(this,n,e.parse(t.values,t.format)):t.async?{async:e.request(t.url,t.format).then(i=>(this._pending=J(i.data),a=>a.touch(this)))}:e.request(t.url,t.format).then(r=>am(this,n,J(r.data)))}}),om.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},V(om,O,{transform(t,n){const e=t.fields,r=t.index,i=t.values,a=t.default==null?null:t.default,o=t.modified(),s=e.length;let u,l,c,f=o?n.SOURCE:n.ADD,d=n,h=t.as;return i?(l=i.length,s>1&&!h&&P('Multi-field lookup requires explicit "as" parameter.'),h&&h.length!==s*l&&P('The "as" parameter has too few output field names.'),h=h||i.map(en),u=function(p){for(var m,g,y=0,v=0;y<s;++y)if((g=r.get(e[y](p)))==null)for(m=0;m<l;++m,++v)p[h[v]]=a;else for(m=0;m<l;++m,++v)p[h[v]]=i[m](g)}):(h||P("Missing output field names."),u=function(p){for(var m,g=0;g<s;++g)m=r.get(e[g](p)),p[h[g]]=m??a}),o?d=n.reflow(!0):(c=e.some(p=>n.modified(p.fields)),f|=c?n.MOD:0),n.visit(f,u),d.modifies(h)}}),V(L2,Ut),V(q2,Ut),V(U2,O,{transform(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),sm.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Qs,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},V(sm,Li,{_transform:Li.prototype.transform,transform(t,n){return this._transform(function(e,r){const i=e.field,a=e.value,o=(e.op==="count"?"__count__":e.op)||"sum",s=Wn(i).concat(Wn(a)),u=function(l,c,f){const d={},h=[];return f.visit(f.SOURCE,p=>{const m=l(p);d[m]||(d[m]=1,h.push(m))}),h.sort(Xh),c?h.slice(0,c):h}(i,e.limit||0,r);return r.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:u.map(()=>o),fields:u.map(l=>function(c,f,d,h){return ko(p=>f(p)===c?d(p):NaN,h,c+"")}(l,i,a,s)),as:u.map(l=>l+""),modified:e.modified.bind(e)}}(t,n),n)}}),V(I2,dc,{transform(t,n){const e=t.subflow,r=t.field,i=a=>this.subflow(st(a),e,n,a);return(t.modified("field")||r&&n.modified(Wn(r)))&&P("PreFacet does not support field modification."),this.initTargets(),r?(n.visit(n.MOD,a=>{const o=i(a);r(a).forEach(s=>o.mod(s))}),n.visit(n.ADD,a=>{const o=i(a);r(a).forEach(s=>o.add(St(s)))}),n.visit(n.REM,a=>{const o=i(a);r(a).forEach(s=>o.rem(s))})):(n.visit(n.MOD,a=>i(a).mod(a)),n.visit(n.ADD,a=>i(a).add(a)),n.visit(n.REM,a=>i(a).rem(a))),n.clean()&&n.runAfter(()=>this.clean()),n}}),um.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},V(um,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=O2(t.fields,t.as||[]),a=r?(s,u)=>function(l,c,f,d){for(let h=0,p=f.length;h<p;++h)c[d[h]]=f[h](l);return c}(s,u,r,i):nc;let o;return this.value?o=this.value:(n=n.addAll(),o=this.value={}),n.visit(n.REM,s=>{const u=st(s);e.rem.push(o[u]),o[u]=null}),n.visit(n.ADD,s=>{const u=a(s,St({}));o[st(s)]=u,e.add.push(u)}),n.visit(n.MOD,s=>{e.mod.push(a(s,o[st(s)]))}),e}}),V(W2,O,{transform(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}}),lm.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};function H2(t){O.call(this,null,t)}function cm(t){O.call(this,[],t),this.count=0}function fm(t){O.call(this,null,t)}function G2(t){O.call(this,null,t),this.modified(!0)}function dm(t){O.call(this,null,t)}V(lm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=t.as||["prob","value"];if(this.value&&!t.modified()&&!n.changed())return e.source=this.value,e;const i=Yp(n.materialize(n.SOURCE).source,t.groupby,t.field),a=(t.groupby||[]).map(en),o=[],s=t.step||.01,u=t.probs||xe(s/2,1-1e-14,s),l=u.length;return i.forEach(c=>{const f=_p(c,u);for(let d=0;d<l;++d){const h={};for(let p=0;p<a.length;++p)h[a[p]]=c.dims[p];h[r[0]]=u[d],h[r[1]]=f[d],o.push(St(h))}}),this.value&&(e.rem=this.value),this.value=e.add=e.source=o,e}}),V(H2,O,{transform(t,n){let e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,i=>{const a=st(i);e.rem.push(r[a]),r[a]=null}),n.visit(n.ADD,i=>{const a=bp(i);r[st(i)]=a,e.add.push(a)}),n.visit(n.MOD,i=>{const a=r[st(i)];for(const o in i)a[o]=i[o],e.modifies(o);e.mod.push(a)})),e}}),cm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},V(cm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.modified("size"),i=t.size,a=this.value.reduce((c,f)=>(c[st(f)]=1,c),{});let o=this.value,s=this.count,u=0;function l(c){let f,d;o.length<i?o.push(c):(d=~~((s+1)*Ne()),d<o.length&&d>=u&&(f=o[d],a[st(f)]&&e.rem.push(f),o[d]=c)),++s}if(n.rem.length&&(n.visit(n.REM,c=>{const f=st(c);a[f]&&(a[f]=-1,e.rem.push(c)),--s}),o=o.filter(c=>a[st(c)]!==-1)),(n.rem.length||r)&&o.length<i&&n.source&&(u=s=o.length,n.visit(n.SOURCE,c=>{a[st(c)]||l(c)}),u=-1),r&&o.length>i){const c=o.length-i;for(let f=0;f<c;++f)a[st(o[f])]=-1,e.rem.push(o[f]);o=o.slice(c)}return n.mod.length&&n.visit(n.MOD,c=>{a[st(c)]&&e.mod.push(c)}),n.add.length&&n.visit(n.ADD,l),(n.add.length||u<0)&&(e.add=o.filter(c=>!a[st(c)])),this.count=s,this.value=e.source=o,e}}),fm.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},V(fm,O,{transform(t,n){if(this.value&&!t.modified())return;const e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=xe(t.start,t.stop,t.step||1).map(i=>{const a={};return a[r]=i,St(a)}),e.add=n.add.concat(this.value),e}}),V(G2,O,{transform(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}});const V2=["unit0","unit1"];function Y2(t){O.call(this,Do(),t)}function X2(t){O.call(this,null,t)}dm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:ix,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:V2}]},V(dm,O,{transform(t,n){const e=t.field,r=t.interval!==!1,i=t.timezone==="utc",a=this._floor(t,n),o=(i?Jh:Kh)(a.unit).offset,s=t.as||V2,u=s[0],l=s[1],c=a.step;let f=a.start||1/0,d=a.stop||-1/0,h=n.ADD;return(t.modified()||n.changed(n.REM)||n.modified(Wn(e)))&&(h=(n=n.reflow(!0)).SOURCE,f=1/0,d=-1/0),n.visit(h,p=>{const m=e(p);let g,y;m==null?(p[u]=null,r&&(p[l]=null)):(p[u]=g=y=a(m),r&&(p[l]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,n.modifies(r?s:u)},_floor(t,n){const e=t.timezone==="utc",{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:Kb({extent:t.extent||kr(n.materialize(n.SOURCE).source,t.field),maxbins:t.maxbins}),a=Qb(r),o=this.value||{},s=(e?Zb:tx)(a,i);return s.unit=Bt(a),s.units=a,s.step=i,s.start=o.start,s.stop=o.stop,this.value=s}}),V(Y2,O,{transform(t,n){const e=n.dataflow,r=t.field,i=this.value,a=s=>i.set(r(s),s);let o=!0;return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,a)):n.changed()?(n.visit(n.REM,s=>i.delete(r(s))),n.visit(n.ADD,a)):o=!1,this.modified(o),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()}}),V(X2,O,{transform(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(Ma(t.sort)):n.source).map(t.field))}});const Zs={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){const t=Zs.rank(),n=t.next;return{init:t.init,next:e=>(n(e)-1)/(e.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{const e=n.data,r=n.compare;let i=n.index;if(t<i){for(;i+1<e.length&&!r(e[i],e[i+1]);)++i;t=i}return(1+t)/e.length}}},ntile:function(t,n){(n=+n)>0||P("ntile num must be greater than zero.");const e=Zs.cume_dist(),r=e.next;return{init:e.init,next:i=>Math.ceil(n*r(i))}},lag:function(t,n){return n=+n||1,{next:e=>{const r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{const r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||P("nth_value nth must be greater than zero."),{next:e=>{const r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n;return{init:()=>n=null,next:e=>{const r=t(e.data[e.index]);return r!=null?n=r:n}}},next_value:function(t){let n,e;return{init:()=>(n=null,e=-1),next:r=>{const i=r.data;return r.index<=e?n:(e=function(a,o,s){for(let u=o.length;s<u;++s)if(a(o[s])!=null)return s;return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}},O9=Object.keys(Zs);function J2(t){const n=J(t.ops),e=J(t.fields),r=J(t.params),i=J(t.aggregate_params),a=J(t.as),o=this.outputs=[],s=this.windows=[],u={},l={},c=[],f=[];let d=!0;function h(p){J(Wn(p)).forEach(m=>u[m]=1)}h(t.sort),n.forEach((p,m)=>{const g=e[m],y=r[m],v=i[m]||null,x=en(g),b=k2(p,x,a[m]);if(h(g),o.push(b),tt(Zs,p))s.push(function(w,A,_,k){const D=Zs[w](A,_);return{init:D.init||tp,update:function(C,F){F[k]=D.next(C)}}}(p,g,y,b));else{if(g==null&&p!=="count"&&P("Null aggregate field specified."),p==="count")return void c.push(b);d=!1;let w=l[x];w||(w=l[x]=[],w.field=g,f.push(w)),w.push(D2(p,v,b))}}),(c.length||f.length)&&(this.cell=function(p,m,g){p=p.map(A=>C2(A,A.field));const y={num:0,agg:null,store:!1,count:m};if(!g)for(var v=p.length,x=y.agg=Array(v),b=0;b<v;++b)x[b]=new p[b](y);if(y.store)var w=y.data=new Up;return y.add=function(A){if(y.num+=1,!g){w&&w.add(A);for(let _=0;_<v;++_)x[_].add(x[_].get(A),A)}},y.rem=function(A){if(y.num-=1,!g){w&&w.rem(A);for(let _=0;_<v;++_)x[_].rem(x[_].get(A),A)}},y.set=function(A){let _,k;for(w&&w.values(),_=0,k=m.length;_<k;++_)A[m[_]]=y.num;if(!g)for(_=0,k=x.length;_<k;++_)x[_].set(A)},y.init=function(){y.num=0,w&&w.reset();for(let A=0;A<v;++A)x[A].init()},y}(f,c,d)),this.inputs=Object.keys(u)}const K2=J2.prototype;function hm(t){O.call(this,{},t),this._mlen=0,this._mods=[]}function N9(t,n,e,r){const i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=t.data(e),u=s.length,l=a?nx(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||In(-1)};n.init();for(let f=0;f<u;++f)R9(c,o,f,u),a&&T9(c,l),n.update(c,s[f])}function R9(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=n[0]==null?0:Math.max(0,e-Math.abs(n[0])),t.i1=n[1]==null?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function T9(t,n){const e=t.i0,r=t.i1-1,i=t.compare,a=t.data,o=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<o&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}K2.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},K2.update=function(t,n){const e=this.cell,r=this.windows,i=t.data,a=r&&r.length;let o;if(e){for(o=t.p0;o<t.i0;++o)e.rem(i[o]);for(o=t.p1;o<t.i1;++o)e.add(i[o]);e.set(n)}for(o=0;o<a;++o)r[o].update(t,n)},hm.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:O9.concat(Qs)},{name:"params",type:"number",null:!0,array:!0},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},V(hm,O,{transform(t,n){this.stamp=n.stamp;const e=t.modified(),r=Ma(t.sort),i=Lp(t.groupby),a=s=>this.group(i(s));let o=this.state;o&&!e||(o=this.state=new J2(t)),e||n.modified(o.inputs)?(this.value={},n.visit(n.SOURCE,s=>a(s).add(s))):(n.visit(n.REM,s=>a(s).remove(s)),n.visit(n.ADD,s=>a(s).add(s)));for(let s=0,u=this._mlen;s<u;++s)N9(this._mods[s],o,r,t);return this._mlen=0,this._mods=[],n.reflow(e).modifies(o.outputs)},group(t){let n=this.value[t];return n||(n=this.value[t]=E2(st),n.stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n}});const P9=Object.freeze(Object.defineProperty({__proto__:null,aggregate:Li,bin:Ip,collect:Wp,compare:$2,countpattern:Hp,cross:Gp,density:Vp,dotbin:Xp,expression:N2,extent:Jp,facet:dc,field:R2,filter:Qp,flatten:Zp,fold:tm,formula:nm,generate:T2,impute:em,joinaggregate:rm,kde:im,key:P2,load:j2,lookup:om,multiextent:L2,multivalues:q2,params:U2,pivot:sm,prefacet:I2,project:um,proxy:W2,quantile:lm,relay:H2,sample:cm,sequence:fm,sieve:G2,subflow:Kp,timeunit:dm,tupleindex:Y2,values:X2,window:hm},Symbol.toStringTag,{value:"Module"}));function Q2(t,n,e){var r=null,i=Hn(!0),a=null,o=jx,s=null,u=Px(l);function l(f){var d,h,p,m,g,y=(f=_8(f)).length,v=!1,x=new Array(y),b=new Array(y);for(a==null&&(s=o(g=u())),d=0;d<=y;++d){if(!(d<y&&i(m=f[d],d,f))===v)if(v=!v)h=d,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),p=d-1;p>=h;--p)s.point(x[p],b[p]);s.lineEnd(),s.areaEnd()}v&&(x[d]=+t(m,d,f),b[d]=+n(m,d,f),s.point(r?+r(m,d,f):x[d],e?+e(m,d,f):b[d]))}if(g)return s=null,g+""||null}function c(){return Lx().defined(i).curve(o).context(a)}return t=typeof t=="function"?t:t===void 0?k8:Hn(+t),n=typeof n=="function"?n:Hn(n===void 0?0:+n),e=typeof e=="function"?e:e===void 0?D8:Hn(+e),l.x=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),r=null,l):t},l.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),l):t},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Hn(+f),l):r},l.y=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),e=null,l):n},l.y0=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),l):n},l.y1=function(f){return arguments.length?(e=f==null?null:typeof f=="function"?f:Hn(+f),l):e},l.lineX0=l.lineY0=function(){return c().x(t).y(n)},l.lineY1=function(){return c().x(t).y(e)},l.lineX1=function(){return c().x(r).y(n)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Hn(!!f),l):i},l.curve=function(f){return arguments.length?(o=f,a!=null&&(s=o(a)),l):o},l.context=function(f){return arguments.length?(f==null?a=s=null:s=o(a=f),l):a},l}const j9={draw(t,n){const e=F8(n/E8);t.moveTo(e,0),t.arc(0,0,e,0,C8)}};function qi(t,n){if(typeof document<"u"&&document.createElement){const e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}const L9=()=>typeof Image<"u"?Image:null;function Z2(t){return Math.log(t)}function tw(t){return Math.exp(t)}function q9(t){return-Math.log(-t)}function U9(t){return-Math.exp(-t)}function I9(t){return isFinite(t)?+("1e"+t):t<0?0:t}function nw(t){return(n,e)=>-t(-n,e)}function pm(t){const n=t(Z2,tw),e=n.domain;let r,i,a=10;function o(){return r=function(s){return s===Math.E?Math.log:s===10&&Math.log10||s===2&&Math.log2||(s=Math.log(s),u=>Math.log(u)/s)}(a),i=function(s){return s===10?I9:s===Math.E?Math.exp:u=>Math.pow(s,u)}(a),e()[0]<0?(r=nw(r),i=nw(i),t(q9,U9)):t(Z2,tw),n}return n.base=function(s){return arguments.length?(a=+s,o()):a},n.domain=function(s){return arguments.length?(e(s),o()):e()},n.ticks=s=>{const u=e();let l=u[0],c=u[u.length-1];const f=c<l;f&&([l,c]=[c,l]);let d,h,p=r(l),m=r(c);const g=s==null?10:+s;let y=[];if(!(a%1)&&m-p<g){if(p=Math.floor(p),m=Math.ceil(m),l>0){for(;p<=m;++p)for(d=1;d<a;++d)if(h=p<0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}}else for(;p<=m;++p)for(d=a-1;d>=1;--d)if(h=p>0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}2*y.length<g&&(y=ax(l,c,g))}else y=ax(p,m,Math.min(m-p,g)).map(i);return f?y.reverse():y},n.tickFormat=(s,u)=>{if(s==null&&(s=10),u==null&&(u=a===10?"s":","),typeof u!="function"&&(a%1||(u=a6(u)).precision!=null||(u.trim=!0),u=o6(u)),s===1/0)return u;const l=Math.max(1,a*s/n.ticks().length);return c=>{let f=c/i(Math.round(r(c)));return f*a<a-.5&&(f*=a),f<=l?u(c):""}},n.nice=()=>e(I6(e(),{floor:s=>i(Math.floor(r(s))),ceil:s=>i(Math.ceil(r(s)))})),n}function ew(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function rw(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function mm(t){var n=1,e=t(ew(n),rw(n));return e.constant=function(r){return arguments.length?t(ew(n=+r),rw(n)):n},Co(e)}function iw(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function W9(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function H9(t){return t<0?-t*t:t*t}function gm(t){var n=t(Ri,Ri),e=1;return n.exponent=function(r){return arguments.length?(e=+r)==1?t(Ri,Ri):e===.5?t(W9,H9):t(iw(e),iw(1/e)):e},Co(n)}function ym(){var t=gm(up());return t.copy=function(){return lp(t,ym()).exponent(t.exponent())},$a.apply(t,arguments),t}function pc(){var t,n,e,r,i,a=0,o=1,s=Ri,u=!1;function l(f){return f==null||isNaN(f=+f)?i:s(e===0?.5:(f=(r(f)-t)*e,u?Math.max(0,Math.min(1,f)):f))}function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,s=f(h,p),l):[s(0),s(1)]}}return l.domain=function(f){return arguments.length?([a,o]=f,t=r(a=+a),n=r(o=+o),e=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(f){return arguments.length?(u=!!f,l):u},l.interpolator=function(f){return arguments.length?(s=f,l):s},l.range=c(Ws),l.rangeRound=c(Gl),l.unknown=function(f){return arguments.length?(i=f,l):i},function(f){return r=f,t=f(a),n=f(o),e=t===n?0:1/(n-t),l}}function Ui(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function vm(){var t=Co(pc()(Ri));return t.copy=function(){return Ui(t,vm())},Ti.apply(t,arguments)}function bm(){var t=gm(pc());return t.copy=function(){return Ui(t,bm()).exponent(t.exponent())},Ti.apply(t,arguments)}function mc(){var t,n,e,r,i,a,o,s=0,u=.5,l=1,c=1,f=Ri,d=!1;function h(m){return isNaN(m=+m)?o:(m=.5+((m=+a(m))-n)*(c*m<c*n?r:i),f(d?Math.max(0,Math.min(1,m)):m))}function p(m){return function(g){var y,v,x;return arguments.length?([y,v,x]=g,f=vp(m,[y,v,x]),h):[f(0),f(.5),f(1)]}}return h.domain=function(m){return arguments.length?([s,u,l]=m,t=a(s=+s),n=a(u=+u),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h):[s,u,l]},h.clamp=function(m){return arguments.length?(d=!!m,h):d},h.interpolator=function(m){return arguments.length?(f=m,h):f},h.range=p(Ws),h.rangeRound=p(Gl),h.unknown=function(m){return arguments.length?(o=m,h):o},function(m){return a=m,t=m(s),n=m(u),e=m(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h}}function xm(){var t=gm(mc());return t.copy=function(){return Ui(t,xm()).exponent(t.exponent())},Ti.apply(t,arguments)}const G9=Fr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),V9=Fr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Y9=Fr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),X9=Fr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),J9=Fr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),K9=Fr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),Q9=Fr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Z9=Fr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),t7=Fr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),n7=Fr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function wm(t,n,e){const r=t-n+2*e;return t?r>0?r:1:0}const Mo="linear",ri="log",tu="pow",nu="sqrt",gc="symlog",za="time",Oa="utc",Cr="sequential",Bo="diverging",zo="quantile",yc="quantize",vc="threshold",Am="ordinal",_m="point",aw="band",km="bin-ordinal",fn="continuous",eu="discrete",ru="discretizing",Re="interpolating",Dm="temporal";function Fm(){const t=Tx().unknown(void 0),n=t.domain,e=t.range;let r,i,a=[0,1],o=!1,s=0,u=0,l=.5;function c(){const f=n().length,d=a[1]<a[0],h=a[1-d],p=wm(f,s,u);let m=a[d-0];r=(h-m)/(p||1),o&&(r=Math.floor(r)),m+=(h-m-r*(f-s))*l,i=r*(1-s),o&&(m=Math.round(m),i=Math.round(i));const g=xe(f).map(y=>m+r*y);return e(d?g.reverse():g)}return delete t.unknown,t.domain=function(f){return arguments.length?(n(f),c()):n()},t.range=function(f){return arguments.length?(a=[+f[0],+f[1]],c()):a.slice()},t.rangeRound=function(f){return a=[+f[0],+f[1]],o=!0,c()},t.bandwidth=function(){return i},t.step=function(){return r},t.round=function(f){return arguments.length?(o=!!f,c()):o},t.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),s=u,c()):s},t.paddingInner=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},t.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},t.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},t.invertRange=function(f){if(f[0]==null||f[1]==null)return;const d=a[1]<a[0],h=d?e().reverse():e(),p=h.length-1;let m,g,y,v=+f[0],x=+f[1];return v!=v||x!=x||(x<v&&(y=v,v=x,x=y),x<h[0]||v>a[1-d])?void 0:(m=Math.max(0,Ea(h,v)-1),g=v===x?m:Ea(h,x)-1,v-h[m]>i+1e-10&&++m,d&&(y=m,m=p-g,g=p-y),m>g?void 0:n().slice(m,g+1))},t.invert=function(f){const d=t.invertRange([f,f]);return d&&d[0]},t.copy=function(){return Fm().domain(n()).range(a).round(o).paddingInner(s).paddingOuter(u).align(l)},c()}function ow(t){const n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return ow(n())},t}var e7=Array.prototype.map;const r7=Array.prototype.slice,bc=new Map,sw=Symbol("vega_scale");function uw(t){return t[sw]=!0,t}function lw(t){return t&&t[sw]===!0}function Dt(t,n,e){return arguments.length>1?(bc.set(t,function(r,i,a){const o=function(){const s=i();return s.invertRange||(s.invertRange=s.invert?function(u){return function(l){let c,f=l[0],d=l[1];return d<f&&(c=f,f=d,d=c),[u.invert(f),u.invert(d)]}}(s):s.invertExtent?function(u){return function(l){const c=u.range();let f,d,h,p,m=l[0],g=l[1],y=-1;for(g<m&&(d=m,m=g,g=d),h=0,p=c.length;h<p;++h)c[h]>=m&&c[h]<=g&&(y<0&&(y=h),f=h);if(!(y<0))return m=u.invertExtent(c[y]),g=u.invertExtent(c[f]),[m[0]===void 0?m[1]:m[0],g[1]===void 0?g[0]:g[1]]}}(s):void 0),s.type=r,uw(s)};return o.metadata=Dr(J(a)),o}(t,n,e)),this):cw(t)?bc.get(t):void 0}function cw(t){return bc.has(t)}function Na(t,n){const e=bc.get(t);return e&&e.metadata[n]}function Cm(t){return Na(t,fn)}function Oo(t){return Na(t,eu)}function Em(t){return Na(t,ru)}function fw(t){return Na(t,ri)}function dw(t){return Na(t,Re)}function hw(t){return Na(t,zo)}Dt("identity",function t(n){var e;function r(i){return i==null||isNaN(i=+i)?e:i}return r.invert=r,r.domain=r.range=function(i){return arguments.length?(n=Array.from(i,zx),r):n.slice()},r.unknown=function(i){return arguments.length?(e=i,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,zx):[0,1],Co(r)}),Dt(Mo,n8,fn),Dt(ri,function t(){const n=pm(up()).domain([1,10]);return n.copy=()=>lp(n,t()).base(n.base()),$a.apply(n,arguments),n},[fn,ri]),Dt(tu,ym,fn),Dt(nu,function(){return ym.apply(null,arguments).exponent(.5)},fn),Dt(gc,function t(){var n=mm(up());return n.copy=function(){return lp(n,t()).constant(n.constant())},$a.apply(n,arguments)},fn),Dt(za,V6,[fn,Dm]),Dt(Oa,function(){return $a.apply(W6(G6,H6,p6,h6,d6,f6,c6,l6,u6,s6).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[fn,Dm]),Dt(Cr,vm,[fn,Re]),Dt(`${Cr}-${Mo}`,vm,[fn,Re]),Dt(`${Cr}-${ri}`,function t(){var n=pm(pc()).domain([1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Cr}-${tu}`,bm,[fn,Re]),Dt(`${Cr}-${nu}`,function(){return bm.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Cr}-${gc}`,function t(){var n=mm(pc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${Bo}-${Mo}`,function t(){var n=Co(mc()(Ri));return n.copy=function(){return Ui(n,t())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${Bo}-${ri}`,function t(){var n=pm(mc()).domain([.1,1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Bo}-${tu}`,xm,[fn,Re]),Dt(`${Bo}-${nu}`,function(){return xm.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Bo}-${gc}`,function t(){var n=mm(mc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(zo,function t(){var n,e=[],r=[],i=[];function a(){var s=0,u=Math.max(1,r.length);for(i=new Array(u-1);++s<u;)i[s-1]=Hx(e,s/u);return o}function o(s){return s==null||isNaN(s=+s)?n:r[Ea(i,s)]}return o.invertExtent=function(s){var u=r.indexOf(s);return u<0?[NaN,NaN]:[u>0?i[u-1]:e[0],u<i.length?i[u]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let u of s)u==null||isNaN(u=+u)||e.push(u);return e.sort(qs),a()},o.range=function(s){return arguments.length?(r=Array.from(s),a()):r.slice()},o.unknown=function(s){return arguments.length?(n=s,o):n},o.quantiles=function(){return i.slice()},o.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(o,arguments)},[ru,zo]),Dt(yc,function t(){var n,e=0,r=1,i=1,a=[.5],o=[0,1];function s(l){return l!=null&&l<=l?o[Ea(a,l,0,i)]:n}function u(){var l=-1;for(a=new Array(i);++l<i;)a[l]=((l+1)*r-(l-i)*e)/(i+1);return s}return s.domain=function(l){return arguments.length?([e,r]=l,e=+e,r=+r,u()):[e,r]},s.range=function(l){return arguments.length?(i=(o=Array.from(l)).length-1,u()):o.slice()},s.invertExtent=function(l){var c=o.indexOf(l);return c<0?[NaN,NaN]:c<1?[e,a[0]]:c>=i?[a[i-1],r]:[a[c-1],a[c]]},s.unknown=function(l){return arguments.length&&(n=l),s},s.thresholds=function(){return a.slice()},s.copy=function(){return t().domain([e,r]).range(o).unknown(n)},$a.apply(Co(s),arguments)},ru),Dt(vc,function t(){var n,e=[.5],r=[0,1],i=1;function a(o){return o!=null&&o<=o?r[Ea(e,o,0,i)]:n}return a.domain=function(o){return arguments.length?(e=Array.from(o),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(o){return arguments.length?(r=Array.from(o),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(o){var s=r.indexOf(o);return[e[s-1],e[s]]},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(a,arguments)},ru),Dt(km,function t(){let n=[],e=[];function r(i){return i==null||i!=i?void 0:e[(Ea(n,i)-1)%e.length]}return r.domain=function(i){return arguments.length?(n=function(a){return e7.call(a,ze)}(i),r):n.slice()},r.range=function(i){return arguments.length?(e=r7.call(i),r):e.slice()},r.tickFormat=function(i,a){return e8(n[0],Bt(n),i??10,a)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[eu,ru]),Dt(Am,Tx,eu),Dt(aw,Fm,eu),Dt(_m,function(){return ow(Fm().paddingInner(1))},eu);const i7=["clamp","base","constant","exponent"];function pw(t,n){const e=n[0],r=Bt(n)-e;return function(i){return t(e+i*r)}}function xc(t,n,e){return vp($m(n||"rgb",e),t)}function mw(t,n){const e=new Array(n),r=n+1;for(let i=0;i<n;)e[i]=t(++i/r);return e}function gw(t,n,e){const r=e-n;let i,a,o;return r&&Number.isFinite(r)?(i=(a=t.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=Dt(a)().domain([n,e]).range([0,1]),i7.forEach(s=>t[s]?o[s](t[s]()):0),o):In(.5)}function $m(t,n){const e=o9[function(r){return"interpolate"+r.toLowerCase().split("-").map(i=>i[0].toUpperCase()+i.slice(1)).join("")}(t)];return n!=null&&e&&e.gamma?e.gamma(n):e}function yw(t){if(T(t))return t;const n=t.length/6|0,e=new Array(n);for(let r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function vw(t,n){for(const e in t)Sm(e,n(t[e]))}const bw={};function Sm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(bw[t]=n,this):bw[t]}vw({accent:V9,category10:G9,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Y9,observable10:X9,paired:J9,pastel1:K9,pastel2:Q9,set1:Z9,set2:t7,set3:n7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},yw),vw({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},t=>xc(yw(t)));const wc="symbol",a7=t=>T(t)?t.map(n=>String(n)):String(t),o7=(t,n)=>t[1]-n[1],s7=(t,n)=>n[1]-t[1];function Mm(t,n,e){let r;return $t(n)&&(t.bins&&(n=Math.max(n,t.bins.length)),e!=null&&(n=Math.min(n,Math.floor(Il(t.domain())/e||1)+1))),Z(n)&&(r=n.step,n=n.interval),Q(n)&&(n=t.type===za?Kh(n):t.type==Oa?Jh(n):P("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function xw(t,n,e){let r=t.range(),i=r[0],a=Bt(r),o=o7;if(i>a&&(r=a,a=i,i=r,o=s7),i=Math.floor(i),a=Math.ceil(a),n=n.map(s=>[s,t(s)]).filter(s=>i<=s[1]&&s[1]<=a).sort(o).map(s=>s[0]),e>0&&n.length>1){const s=[n[0],Bt(n)];for(;n.length>e&&n.length>=3;)n=n.filter((u,l)=>!(l%2));n.length<3&&(n=s)}return n}function Bm(t,n){return t.bins?xw(t,t.bins,n):t.ticks?t.ticks(n):t.domain()}function ww(t,n,e,r,i,a){const o=n.type;let s=a7;if(o===za||i===za)s=t.timeFormat(r);else if(o===Oa||i===Oa)s=t.utcFormat(r);else if(fw(o)){const u=t.formatFloat(r);if(a||n.bins)s=u;else{const l=Aw(n,e,!1);s=c=>l(c)?u(c):""}}else if(n.tickFormat){const u=n.domain();s=t.formatSpan(u[0],u[u.length-1],e,r)}else r&&(s=t.format(r));return s}function Aw(t,n,e){const r=Bm(t,n),i=t.base(),a=Math.log(i),o=Math.max(1,i*n/r.length),s=u=>{let l=u/Math.pow(i,Math.round(Math.log(u)/a));return l*i<i-.5&&(l*=i),l<=o};return e?r.filter(s):s}const zm={[zo]:"quantiles",[yc]:"thresholds",[vc]:"domain"},_w={[zo]:"quantiles",[yc]:"domain"};function kw(t,n){return t.bins?function(e){const r=e.slice(0,-1);return r.max=Bt(e),r}(t.bins):t.type===ri?Aw(t,n,!0):zm[t.type]?function(e){const r=[-1/0].concat(e);return r.max=1/0,r}(t[zm[t.type]]()):Bm(t,n)}function Dw(t,n,e,r,i,a,o){const s=_w[n.type]&&a!==za&&a!==Oa?function(u,l,c){const f=l[_w[l.type]](),d=f.length;let h,p=d>1?f[1]-f[0]:f[0];for(h=1;h<d;++h)p=Math.min(p,f[h]-f[h-1]);return u.formatSpan(0,p,30,c)}(t,n,i):ww(t,n,e,i,a,o);return r===wc&&(u=>zm[u.type]||u.bins)(n)?u7(s):r==="discrete"?l7(s):c7(s)}const u7=t=>(n,e,r)=>{const i=Fw(r[e+1],Fw(r.max,1/0)),a=Cw(n,t),o=Cw(i,t);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Fw=(t,n)=>t??n,l7=t=>(n,e)=>e?t(n):null,c7=t=>n=>t(n),Cw=(t,n)=>Number.isFinite(t)?n(t):null;function f7(t,n,e,r){const i=r||n.type;return Q(e)&&function(a){return Na(a,Dm)}(i)&&(e=e.replace(/%a/g,"%A").replace(/%b/g,"%B")),e||i!==za?e||i!==Oa?Dw(t,n,5,null,e,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function Ew(t,n,e){e=e||{};const r=Math.max(3,e.maxlen||7),i=f7(t,n,e.format,e.formatType);if(Em(n.type)){const a=kw(n).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}if(Oo(n.type)){const a=n.domain(),o=a.length;return`${o} value${o===1?"":"s"}: ${o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ")}`}{const a=n.domain();return`values from ${i(a[0])} to ${i(Bt(a))}`}}let $w=0;const Ac="p_";function Om(t){return t&&t.gradient}function Sw(t,n,e){const r=t.gradient;let i=t.id,a=r==="radial"?Ac:"";return i||(i=t.id="gradient_"+$w++,r==="radial"?(t.x1=Er(t.x1,.5),t.y1=Er(t.y1,.5),t.r1=Er(t.r1,0),t.x2=Er(t.x2,.5),t.y2=Er(t.y2,.5),t.r2=Er(t.r2,.5),a=Ac):(t.x1=Er(t.x1,0),t.y1=Er(t.y1,0),t.x2=Er(t.x2,1),t.y2=Er(t.y2,0))),n[i]=t,"url("+(e||"")+"#"+a+i+")"}function Er(t,n){return t??n}function Mw(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(i,a){return r.push({offset:i,color:a}),e}}}const Bw={basis:{curve:H8},"basis-closed":{curve:W8},"basis-open":{curve:I8},bundle:{curve:U8,tension:"beta",value:.85},cardinal:{curve:q8,tension:"tension",value:0},"cardinal-open":{curve:L8,tension:"tension",value:0},"cardinal-closed":{curve:j8,tension:"tension",value:0},"catmull-rom":{curve:P8,tension:"alpha",value:.5},"catmull-rom-closed":{curve:T8,tension:"alpha",value:.5},"catmull-rom-open":{curve:R8,tension:"alpha",value:.5},linear:{curve:jx},"linear-closed":{curve:N8},monotone:{horizontal:O8,vertical:z8},natural:{curve:B8},step:{curve:M8},"step-after":{curve:S8},"step-before":{curve:$8}};function Nm(t,n,e){var r=tt(Bw,t)&&Bw[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&e!=null&&(i=i[r.tension](e))),i}const d7={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},h7=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,p7=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,m7=/^((\s+,?\s*)|(,\s*))/,g7=/^[01]/;function No(t){const n=[];return(t.match(h7)||[]).forEach(e=>{let r=e[0];const i=r.toLowerCase(),a=d7[i],o=function(u,l,c){const f=[];for(let d=0;l&&d<c.length;)for(let h=0;h<l;++h){const p=u!=="a"||h!==3&&h!==4?p7:g7,m=c.slice(d).match(p);if(m===null)throw Error("Invalid SVG path, incorrect parameter type");d+=m[0].length,f.push(+m[0]);const g=c.slice(d).match(m7);g!==null&&(d+=g[0].length)}return f}(i,a,e.slice(1).trim()),s=o.length;if(s<a||s&&s%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(n.push([r,...o.slice(0,a)]),s!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<s;u+=a)n.push([r,...o.slice(u,u+a)])}}),n}const Ii=Math.PI/180,Ra=Math.PI/2,$r=2*Math.PI,Ro=Math.sqrt(3)/2;var Rm={},Tm={},zw=[].join;function y7(t){const n=zw.call(t);if(Tm[n])return Tm[n];var e=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7];const c=l*o,f=-u*s,d=u*o,h=l*s,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),x=Math.sin(.5*v),b=8/3*x*x/Math.sin(v),w=e+p-b*m,A=r+m+b*p,_=e+g,k=r+y,D=_+b*y,C=k-b*g;return Tm[n]=[c*w+f*A,d*w+h*A,c*D+f*C,d*D+h*C,c*_+f*k,d*_+h*k]}const Te=["l",0,0,0,0,0,0,0];function v7(t,n,e){const r=Te[0]=t[0];if(r==="a"||r==="A")Te[1]=n*t[1],Te[2]=e*t[2],Te[3]=t[3],Te[4]=t[4],Te[5]=t[5],Te[6]=n*t[6],Te[7]=e*t[7];else if(r==="h"||r==="H")Te[1]=n*t[1];else if(r==="v"||r==="V")Te[1]=e*t[1];else for(var i=1,a=t.length;i<a;++i)Te[i]=(i%2==1?n:e)*t[i];return Te}function iu(t,n,e,r,i,a){var o,s,u,l,c,f=null,d=0,h=0,p=0,m=0,g=0,y=0;e==null&&(e=0),r==null&&(r=0),i==null&&(i=1),a==null&&(a=i),t.beginPath&&t.beginPath();for(var v=0,x=n.length;v<x;++v){switch(o=n[v],i===1&&a===1||(o=v7(o,i,a)),o[0]){case"l":d+=o[1],h+=o[2],t.lineTo(d+e,h+r);break;case"L":d=o[1],h=o[2],t.lineTo(d+e,h+r);break;case"h":d+=o[1],t.lineTo(d+e,h+r);break;case"H":d=o[1],t.lineTo(d+e,h+r);break;case"v":h+=o[1],t.lineTo(d+e,h+r);break;case"V":h=o[1],t.lineTo(d+e,h+r);break;case"m":g=d+=o[1],y=h+=o[2],t.moveTo(d+e,h+r);break;case"M":g=d=o[1],y=h=o[2],t.moveTo(d+e,h+r);break;case"c":s=d+o[5],u=h+o[6],p=d+o[3],m=h+o[4],t.bezierCurveTo(d+o[1]+e,h+o[2]+r,p+e,m+r,s+e,u+r),d=s,h=u;break;case"C":d=o[5],h=o[6],p=o[3],m=o[4],t.bezierCurveTo(o[1]+e,o[2]+r,p+e,m+r,d+e,h+r);break;case"s":s=d+o[3],u=h+o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,d+o[1]+e,h+o[2]+r,s+e,u+r),p=d+o[1],m=h+o[2],d=s,h=u;break;case"S":s=o[3],u=o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"q":s=d+o[3],u=h+o[4],p=d+o[1],m=h+o[2],t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"Q":s=o[3],u=o[4],t.quadraticCurveTo(o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"t":s=d+o[1],u=h+o[2],f[0].match(/[QqTt]/)===null?(p=d,m=h):f[0]==="t"?(p=2*d-l,m=2*h-c):f[0]==="q"&&(p=2*d-p,m=2*h-m),l=p,c=m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),h=u,p=(d=s)+o[1],m=h+o[2];break;case"T":s=o[1],u=o[2],p=2*d-p,m=2*h-m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"a":Ow(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+d+e,o[7]+h+r]),d+=o[6],h+=o[7];break;case"A":Ow(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+e,o[7]+r]),d=o[6],h=o[7];break;case"z":case"Z":d=g,h=y,t.closePath()}f=o}}function Ow(t,n,e,r){const i=function(a,o,s,u,l,c,f,d,h){const p=zw.call(arguments);if(Rm[p])return Rm[p];const m=f*Ii,g=Math.sin(m),y=Math.cos(m),v=y*(d-a)*.5+g*(h-o)*.5,x=y*(h-o)*.5-g*(d-a)*.5;let b=v*v/((s=Math.abs(s))*s)+x*x/((u=Math.abs(u))*u);b>1&&(b=Math.sqrt(b),s*=b,u*=b);const w=y/s,A=g/s,_=-g/u,k=y/u,D=w*d+A*h,C=_*d+k*h,F=w*a+A*o,E=_*a+k*o;let $=1/((F-D)*(F-D)+(E-C)*(E-C))-.25;$<0&&($=0);let M=Math.sqrt($);c==l&&(M=-M);const S=.5*(D+F)-M*(E-C),B=.5*(C+E)+M*(F-D),z=Math.atan2(C-B,D-S);let j=Math.atan2(E-B,F-S)-z;j<0&&c===1?j+=$r:j>0&&c===0&&(j-=$r);const W=Math.ceil(Math.abs(j/(Ra+.001))),K=[];for(let q=0;q<W;++q){const at=z+q*j/W,ot=z+(q+1)*j/W;K[q]=[S,B,at,ot,s,u,g,y]}return Rm[p]=K}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e);for(let a=0;a<i.length;++a){const o=y7(i[a]);t.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}const Nw=.5773502691896257,Rw={circle:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,$r)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e,i=r-e*Nw,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e,i=r-e*Nw;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function Tw(t){return tt(Rw,t)?Rw[t]:function(n){if(!tt(Pm,n)){const e=No(n);Pm[n]={draw:function(r,i){iu(r,e,0,0,Math.sqrt(i)/2)}}}return Pm[n]}(t)}var Pm={};const Wi=.448084975506;function b7(t){return t.x}function x7(t){return t.y}function w7(t){return t.width}function A7(t){return t.height}function ii(t){return typeof t=="function"?t:()=>+t}function _c(t,n,e){return Math.max(n,Math.min(t,e))}function Pw(){var t=b7,n=x7,e=w7,r=A7,i=ii(0),a=i,o=i,s=i,u=null;function l(c,f,d){var h,p=f??+t.call(this,c),m=d??+n.call(this,c),g=+e.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,x=_c(+i.call(this,c),0,v),b=_c(+a.call(this,c),0,v),w=_c(+o.call(this,c),0,v),A=_c(+s.call(this,c),0,v);if(u||(u=h=dp()),x<=0&&b<=0&&w<=0&&A<=0)u.rect(p,m,g,y);else{var _=p+g,k=m+y;u.moveTo(p+x,m),u.lineTo(_-b,m),u.bezierCurveTo(_-Wi*b,m,_,m+Wi*b,_,m+b),u.lineTo(_,k-A),u.bezierCurveTo(_,k-Wi*A,_-Wi*A,k,_-A,k),u.lineTo(p+w,k),u.bezierCurveTo(p+Wi*w,k,p,k-Wi*w,p,k-w),u.lineTo(p,m+x),u.bezierCurveTo(p,m+Wi*x,p+Wi*x,m,p+x,m),u.closePath()}if(h)return u=null,h+""||null}return l.x=function(c){return arguments.length?(t=ii(c),l):t},l.y=function(c){return arguments.length?(n=ii(c),l):n},l.width=function(c){return arguments.length?(e=ii(c),l):e},l.height=function(c){return arguments.length?(r=ii(c),l):r},l.cornerRadius=function(c,f,d,h){return arguments.length?(i=ii(c),a=f!=null?ii(f):i,s=d!=null?ii(d):i,o=h!=null?ii(h):a,l):i},l.context=function(c){return arguments.length?(u=c??null,l):u},l}function jw(){var t,n,e,r,i,a,o,s,u=null;function l(f,d,h){const p=h/2;if(i){var m=o-d,g=f-a;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,x=(g/=y)*s,b=Math.atan2(g,m);u.moveTo(a-v,o-x),u.lineTo(f-m*p,d-g*p),u.arc(f,d,p,b-Math.PI,b),u.lineTo(a+v,o+x),u.arc(a,o,s,b,b+Math.PI)}else u.arc(f,d,p,0,$r);u.closePath()}else i=1;a=f,o=d,s=p}function c(f){var d,h,p,m=f.length,g=!1;for(u==null&&(u=p=dp()),d=0;d<=m;++d)!(d<m&&r(h=f[d],d,f))===g&&(g=!g)&&(i=0),g&&l(+t(h,d,f),+n(h,d,f),+e(h,d,f));if(p)return u=null,p+""||null}return c.x=function(f){return arguments.length?(t=f,c):t},c.y=function(f){return arguments.length?(n=f,c):n},c.size=function(f){return arguments.length?(e=f,c):e},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(u=f??null,c):u},c}function au(t,n){return t??n}const ou=t=>t.x||0,su=t=>t.y||0,kc=t=>t.defined!==!1,_7=G8().startAngle(t=>t.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),k7=Q2().x(ou).y1(su).y0(t=>(t.y||0)+(t.height||0)).defined(kc),D7=Q2().y(su).x1(ou).x0(t=>(t.x||0)+(t.width||0)).defined(kc),F7=Lx().x(ou).y(su).defined(kc),C7=Pw().x(ou).y(su).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>au(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>au(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>au(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>au(t.cornerRadiusBottomLeft,t.cornerRadius)||0),E7=function(t,n){let e=null,r=Px(i);function i(){let a;if(e||(e=a=r()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),a)return e=null,a+""||null}return t=typeof t=="function"?t:Hn(t||j9),n=typeof n=="function"?n:Hn(n===void 0?64:+n),i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Hn(a),i):t},i.size=function(a){return arguments.length?(n=typeof a=="function"?a:Hn(+a),i):n},i.context=function(a){return arguments.length?(e=a??null,i):e},i}().type(t=>Tw(t.shape||"circle")).size(t=>au(t.size,64)),$7=jw().x(ou).y(su).defined(kc).size(t=>t.size||1);function jm(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function To(t,n,e,r){return C7.context(t)(n,e,r)}var Lw=1;function qw(){Lw=1}function Lm(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Lw++),o=i.clipping[a]||(i.clipping[a]={id:a});return bt(r)?o.path=r(null):jm(e)?o.path=To(null,e,0,0):(o.width=e.width||0,o.height=e.height||0),"url(#"+a+")"}function cn(t){this.clear(),t&&this.union(t)}function Dc(t){this.mark=t,this.bounds=this.bounds||new cn}function Fc(t){Dc.call(this,t),this.items=this.items||[]}cn.prototype={clone(){return new cn(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},add(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},expand(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},translate(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},rotate(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(t,n,e){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(t),u=Math.sin(t),l=n-n*s+e*u,c=e-n*u-e*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*o+l,u*r+s*o+c,s*a-u*i+l,u*a+s*i+c,s*a-u*o+l,u*a+s*o+c]},union(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},intersect(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},V(Fc,Dc);class Uw{constructor(n){this._pending=0,this._loader=n||Ul()}pending(){return this._pending}sanitizeURL(n){const e=this;return Iw(e),e._loader.sanitize(n,{context:"href"}).then(r=>(uu(e),r)).catch(()=>(uu(e),null))}loadImage(n){const e=this,r=L9();return Iw(e),e._loader.sanitize(n,{context:"image"}).then(i=>{const a=i.href;if(!a||!r)throw{url:a};const o=new r,s=tt(i,"crossOrigin")?i.crossOrigin:"anonymous";return s!=null&&(o.crossOrigin=s),o.onload=()=>uu(e),o.onerror=()=>uu(e),o.src=a,o}).catch(i=>(uu(e),{complete:!1,width:0,height:0,src:i&&i.url||""}))}ready(){const n=this;return new Promise(e=>{(function r(i){n.pending()?setTimeout(()=>{r(!0)},10):e(i)})(!1)})}}function Iw(t){t._pending+=1}function uu(t){t._pending-=1}function ai(t,n,e){if(n.stroke&&n.opacity!==0&&n.strokeOpacity!==0){const r=n.strokeWidth!=null?+n.strokeWidth:1;t.expand(r+(e?function(i,a){return i.strokeJoin&&i.strokeJoin!=="miter"?0:a}(n,r):0))}return t}const S7=$r-1e-8;let Cc,Ec,$c,Ta,qm,Sc,Um,Im;const Hi=(t,n)=>Cc.add(t,n),Mc=(t,n)=>Hi(Ec=t,$c=n),Ww=t=>Hi(t,Cc.y1),Hw=t=>Hi(Cc.x1,t),Pa=(t,n)=>qm*t+Um*n,ja=(t,n)=>Sc*t+Im*n,Wm=(t,n)=>Hi(Pa(t,n),ja(t,n)),Hm=(t,n)=>Mc(Pa(t,n),ja(t,n));function lu(t,n){return Cc=t,n?(Ta=n*Ii,qm=Im=Math.cos(Ta),Sc=Math.sin(Ta),Um=-Sc):(qm=Im=1,Ta=Sc=Um=0),M7}const M7={beginPath(){},closePath(){},moveTo:Hm,lineTo:Hm,rect(t,n,e,r){Ta?(Wm(t+e,n),Wm(t+e,n+r),Wm(t,n+r),Hm(t,n)):(Hi(t+e,n+r),Mc(t,n))},quadraticCurveTo(t,n,e,r){const i=Pa(t,n),a=ja(t,n),o=Pa(e,r),s=ja(e,r);Gw(Ec,i,o,Ww),Gw($c,a,s,Hw),Mc(o,s)},bezierCurveTo(t,n,e,r,i,a){const o=Pa(t,n),s=ja(t,n),u=Pa(e,r),l=ja(e,r),c=Pa(i,a),f=ja(i,a);Vw(Ec,o,u,c,Ww),Vw($c,s,l,f,Hw),Mc(c,f)},arc(t,n,e,r,i,a){if(r+=Ta,i+=Ta,Ec=e*Math.cos(i)+t,$c=e*Math.sin(i)+n,Math.abs(i-r)>S7)Hi(t-e,n-e),Hi(t+e,n+e);else{const o=l=>Hi(e*Math.cos(l)+t,e*Math.sin(l)+n);let s,u;if(o(r),o(i),i!==r)if((r%=$r)<0&&(r+=$r),(i%=$r)<0&&(i+=$r),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=$r,s=r-r%Ra,u=0;u<4&&s>i;++u,s-=Ra)o(s);else for(s=r-r%Ra+Ra,u=0;u<4&&s<i;++u,s+=Ra)o(s)}}};function Gw(t,n,e,r){const i=(t-n)/(t+e-2*n);0<i&&i<1&&r(t+(n-t)*i)}function Vw(t,n,e,r,i){const a=r-t+3*n-3*e,o=t+e-2*n,s=t-n;let u,l=0,c=0;Math.abs(a)>1e-14?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),l=(-o+u)/a,c=(-o-u)/a)):l=.5*s/o,0<l&&l<1&&i(Yw(l,t,n,e,r)),0<c&&c<1&&i(Yw(c,t,n,e,r))}function Yw(t,n,e,r,i){const a=1-t,o=a*a,s=t*t;return o*a*n+3*o*t*e+3*a*s*r+s*t*i}var Gi=(Gi=qi(1,1))?Gi.getContext("2d"):null;const Gm=new cn;function Vm(t){return function(n,e){if(!Gi)return!0;t(Gi,n),Gm.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:o}=Gm;for(let s=i;s<=o;++s)for(let u=r;u<=a;++u)if(Gi.isPointInPath(u,s))return!0;return!1}}function Ym(t,n){return n.contains(t.x||0,t.y||0)}function Xw(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(Gm.set(e,r,e+i,r+a))}function Jw(t,n){const e=t.x||0,r=t.y||0;return Po(n,e,r,t.x2!=null?t.x2:e,t.y2!=null?t.y2:r)}function Po(t,n,e,r,i){const{x1:a,y1:o,x2:s,y2:u}=t,l=r-n,c=i-e;let f,d,h,p,m=0,g=1;for(p=0;p<4;++p){if(p===0&&(f=-l,d=-(a-n)),p===1&&(f=l,d=s-n),p===2&&(f=-c,d=-(o-e)),p===3&&(f=c,d=u-e),Math.abs(f)<1e-10&&d<0)return!1;if(h=d/f,f<0){if(h>g)return!1;h>m&&(m=h)}else if(f>0){if(h<m)return!1;h<g&&(g=h)}}return!0}function jo(t,n){t.globalCompositeOperation=n.blend||"source-over"}function Ke(t,n){return t??n}function Kw(t,n){const e=n.length;for(let r=0;r<e;++r)t.addColorStop(n[r].offset,n[r].color);return t}function Qw(t,n,e){return Om(e)?function(r,i,a){const o=a.width(),s=a.height();let u;if(i.gradient==="radial")u=r.createRadialGradient(a.x1+Ke(i.x1,.5)*o,a.y1+Ke(i.y1,.5)*s,Math.max(o,s)*Ke(i.r1,0),a.x1+Ke(i.x2,.5)*o,a.y1+Ke(i.y2,.5)*s,Math.max(o,s)*Ke(i.r2,.5));else{const l=Ke(i.x1,0),c=Ke(i.y1,0),f=Ke(i.x2,1),d=Ke(i.y2,0);if(l!==f&&c!==d&&o!==s){const h=qi(Math.ceil(o),Math.ceil(s)),p=h.getContext("2d");return p.scale(o,s),p.fillStyle=Kw(p.createLinearGradient(l,c,f,d),i.stops),p.fillRect(0,0,o,s),r.createPattern(h,"no-repeat")}u=r.createLinearGradient(a.x1+l*o,a.y1+c*s,a.x1+f*o,a.y1+d*s)}return Kw(u,i.stops)}(t,e,n.bounds):e}function Bc(t,n,e){return(e*=n.fillOpacity==null?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=Qw(t,n,n.fill),!0)}var B7=[];function Lo(t,n,e){var r=(r=n.strokeWidth)!=null?r:1;return!(r<=0)&&(e*=n.strokeOpacity==null?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=Qw(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||B7),t.lineDashOffset=n.strokeDashOffset||0),!0)}function z7(t,n){return t.zindex-n.zindex||t.index-n.index}function Xm(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(z7)}function Qe(t,n){var e,r,i=t.items;if(!i||!i.length)return;const a=Xm(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}function zc(t,n){var e,r,i=t.items;if(!i||!i.length)return null;const a=Xm(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a){for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e}return null}function Jm(t){return function(n,e,r){Qe(e,i=>{r&&!r.intersects(i.bounds)||Zw(t,n,i,i)})}}function O7(t){return function(n,e,r){!e.items.length||r&&!r.intersects(e.bounds)||Zw(t,n,e.items[0],e.items)}}function Zw(t,n,e,r){var i=e.opacity==null?1:e.opacity;i!==0&&(t(n,r)||(jo(n,e),e.fill&&Bc(n,e,i)&&n.fill(),e.stroke&&Lo(n,e,i)&&n.stroke()))}function Oc(t){return t=t||Be,function(n,e,r,i,a,o){return r*=n.pixelRatio,i*=n.pixelRatio,zc(e,s=>{const u=s.bounds;if((!u||u.contains(a,o))&&u)return t(n,s,r,i,a,o)?s:void 0})}}function cu(t,n){return function(e,r,i,a){var o,s,u=Array.isArray(r)?r[0]:r,l=n??u.fill,c=u.stroke&&e.isPointInStroke;return c&&(o=u.strokeWidth,s=u.strokeCap,e.lineWidth=o??1,e.lineCap=s??"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function Km(t){return Oc(cu(t))}function La(t,n){return"translate("+t+","+n+")"}function Qm(t){return"rotate("+t+")"}function tA(t){return La(t.x||0,t.y||0)}function Zm(t,n,e){function r(i,a){var o=a.x||0,s=a.y||0,u=a.angle||0;i.translate(o,s),u&&i.rotate(u*=Ii),i.beginPath(),n(i,a),u&&i.rotate(-u),i.translate(-o,-s)}return{type:t,tag:"path",nested:!1,attr:function(i,a){i("transform",function(o){return La(o.x||0,o.y||0)+(o.angle?" "+Qm(o.angle):"")}(a)),i("d",n(null,a))},bound:function(i,a){return n(lu(i,a.angle),a),ai(i,a).translate(a.x||0,a.y||0)},draw:Jm(r),pick:Km(r),isect:e||Vm(r)}}var N7=Zm("arc",function(t,n){return _7.context(t)(n)});function t0(t,n,e){function r(a,o){a.beginPath(),n(a,o)}const i=cu(r);return{type:t,tag:"path",nested:!0,attr:function(a,o){var s=o.mark.items;s.length&&a("d",n(null,s))},bound:function(a,o){var s=o.items;return s.length===0?a:(n(lu(a),s),ai(a,s[0]))},draw:O7(r),pick:function(a,o,s,u,l,c){var f=o.items,d=o.bounds;return!f||!f.length||d&&!d.contains(l,c)?null:(s*=a.pixelRatio,u*=a.pixelRatio,i(a,f,s,u)?f[0]:null)},isect:Ym,tip:e}}var R7=t0("area",function(t,n){const e=n[0],r=e.interpolate||"linear";return(e.orient==="horizontal"?D7:k7).curve(Nm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=t[0].orient==="horizontal"?n[1]:n[0],a=t[0].orient==="horizontal"?"y":"x",o=t.length,s=1/0;--o>=0;)t[o].defined!==!1&&(r=Math.abs(t[o][a]-i))<s&&(s=r,e=t[o]);return e});function nA(t,n){t.beginPath(),jm(n)?To(t,n,0,0):t.rect(0,0,n.width||0,n.height||0),t.clip()}function eA(t){const n=Ke(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&n>.5&&n<1.5?.5-Math.abs(n-1):0}function rA(t,n){const e=eA(n);t("d",To(null,n,e,e))}function fu(t,n,e,r){const i=eA(n);t.beginPath(),To(t,n,(e||0)+i,(r||0)+i)}const T7=cu(fu),P7=cu(fu,!1),j7=cu(fu,!0);var L7={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",tA(n))},bound:function(t,n){if(!n.clip&&n.items){const e=n.items,r=e.length;for(let i=0;i<r;++i)t.union(e[i].bounds)}return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),ai(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e,r){Qe(n,i=>{const a=i.x||0,o=i.y||0,s=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(fu(t,i,a,o),jo(t,i),i.fill&&Bc(t,i,u)&&t.fill(),i.stroke&&!s&&Lo(t,i,u)&&t.stroke()),t.save(),t.translate(a,o),i.clip&&nA(t,i),e&&e.translate(-a,-o),Qe(i,l=>{(l.marktype==="group"||r==null||r.includes(l.marktype))&&this.draw(t,l,e,r)}),e&&e.translate(a,o),t.restore(),s&&i.stroke&&u&&(fu(t,i,a,o),jo(t,i),Lo(t,i,u)&&t.stroke())})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;const o=e*t.pixelRatio,s=r*t.pixelRatio;return zc(n,u=>{let l,c,f;const d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;const h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(t.save(),t.translate(c,f),c=i-c,f=a-f,m&&jm(u)&&!j7(t,u,o,s))return t.restore(),null;const g=u.strokeForeground,y=n.interactive!==!1;return y&&g&&u.stroke&&P7(t,u,o,s)?(t.restore(),u):(l=zc(u,v=>function(x,b,w){return(x.interactive!==!1||x.marktype==="group")&&x.bounds&&x.bounds.contains(b,w)}(v,c,f)?this.pick(v,e,r,c,f):null),!l&&y&&(u.fill||!g&&u.stroke)&&T7(t,u,o,s)&&(l=u),t.restore(),l||null)})},isect:Xw,content:function(t,n,e){t("clip-path",n.clip?Lm(e,n,n):null)},background:function(t,n){t("class","background"),t("aria-hidden",!0),rA(t,n)},foreground:function(t,n){t("class","foreground"),t("aria-hidden",!0),n.strokeForeground?rA(t,n):t("d","")}},du={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function n0(t,n){var e=t.image;return(!e||t.url&&t.url!==e.url)&&(e={complete:!1,width:0,height:0},n.loadImage(t.url).then(r=>{t.image=r,t.image.url=t.url})),e}function e0(t,n){return t.width!=null?t.width:n&&n.width?t.aspect!==!1&&t.height?t.height*n.width/n.height:n.width:0}function r0(t,n){return t.height!=null?t.height:n&&n.height?t.aspect!==!1&&t.width?t.width*n.height/n.width:n.height:0}function Nc(t,n){return t==="center"?n/2:t==="right"?n:0}function Rc(t,n){return t==="middle"?n/2:t==="bottom"?n:0}var q7={type:"image",tag:"image",nested:!1,attr:function(t,n,e){const r=n0(n,e),i=e0(n,r),a=r0(n,r),o=(n.x||0)-Nc(n.align,i),s=(n.y||0)-Rc(n.baseline,a);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",du["xmlns:xlink"],"xlink:href"),t("transform",La(o,s)),t("width",i),t("height",a),t("preserveAspectRatio",n.aspect===!1?"none":"xMidYMid")},bound:function(t,n){const e=n.image,r=e0(n,e),i=r0(n,e),a=(n.x||0)-Nc(n.align,r),o=(n.y||0)-Rc(n.baseline,i);return t.set(a,o,a+r,o+i)},draw:function(t,n,e){Qe(n,r=>{if(e&&!e.intersects(r.bounds))return;const i=n0(r,this);let a=e0(r,i),o=r0(r,i);if(a===0||o===0)return;let s,u,l,c,f=(r.x||0)-Nc(r.align,a),d=(r.y||0)-Rc(r.baseline,o);r.aspect!==!1&&(u=i.width/i.height,l=r.width/r.height,u==u&&l==l&&u!==l&&(l<u?(c=a/u,d+=(o-c)/2,o=c):(c=o*u,f+=(a-c)/2,a=c))),(i.complete||i.toDataURL)&&(jo(t,r),t.globalAlpha=(s=r.opacity)!=null?s:1,t.imageSmoothingEnabled=r.smooth!==!1,t.drawImage(i,f,d,a,o))})},pick:Oc(),isect:Be,get:n0,xOffset:Nc,yOffset:Rc},U7=t0("line",function(t,n){const e=n[0],r=e.interpolate||"linear";return F7.curve(Nm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(t[a].defined!==!1&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null});function Tc(t,n){var e=n.path;if(e==null)return!0;var r=n.x||0,i=n.y||0,a=n.scaleX||1,o=n.scaleY||1,s=(n.angle||0)*Ii,u=n.pathCache;u&&u.path===e||((n.pathCache=u=No(e)).path=e),s&&t.rotate&&t.translate?(t.translate(r,i),t.rotate(s),iu(t,u,0,0,a,o),t.rotate(-s),t.translate(-r,-i)):iu(t,u,r,i,a,o)}var I7={type:"path",tag:"path",nested:!1,attr:function(t,n){var e=n.scaleX||1,r=n.scaleY||1;e===1&&r===1||t("vector-effect","non-scaling-stroke"),t("transform",function(i){return La(i.x||0,i.y||0)+(i.angle?" "+Qm(i.angle):"")+(i.scaleX||i.scaleY?" "+function(a,o){return"scale("+a+","+o+")"}(i.scaleX||1,i.scaleY||1):"")}(n)),t("d",n.path)},bound:function(t,n){return Tc(lu(t,n.angle),n)?t.set(0,0,0,0):ai(t,n,!0)},draw:Jm(Tc),pick:Km(Tc),isect:Vm(Tc)};function iA(t,n){t.beginPath(),To(t,n)}var W7={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",To(null,n))},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Jm(iA),pick:Km(iA),isect:Xw};function aA(t,n,e){var r,i,a,o;return!(!n.stroke||!Lo(t,n,e))&&(r=n.x||0,i=n.y||0,a=n.x2!=null?n.x2:r,o=n.y2!=null?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,o),!0)}var H7={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",tA(n)),t("x2",n.x2!=null?n.x2-(n.x||0):0),t("y2",n.y2!=null?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,n.x2!=null?n.x2:e,n.y2!=null?n.y2:r),n)},draw:function(t,n,e){Qe(n,r=>{if(!e||e.intersects(r.bounds)){var i=r.opacity==null?1:r.opacity;i&&aA(t,r,i)&&(jo(t,r),t.stroke())}})},pick:Oc(function(t,n,e,r){return!!t.isPointInStroke&&aA(t,n,1)&&t.isPointInStroke(e,r)}),isect:Jw},G7=Zm("shape",function(t,n){return(n.mark.shape||n.shape).context(t)(n)}),V7=Zm("symbol",function(t,n){return E7.context(t)(n)},Ym);const oA=ox();var we={height:Sr,measureWidth:i0,estimateWidth:Pc,width:Pc,canvas:sA};function sA(t){we.width=t&&Gi?i0:Pc}function Pc(t,n){return uA(Yi(t,n),Sr(t))}function uA(t,n){return~~(.8*t.length*n)}function i0(t,n){return Sr(t)<=0||!(n=Yi(t,n))?0:lA(n,jc(t))}function lA(t,n){const e=`(${n}) ${t}`;let r=oA.get(e);return r===void 0&&(Gi.font=n,r=Gi.measureText(t).width,oA.set(e,r)),r}function Sr(t){return t.fontSize!=null?+t.fontSize||0:11}function Vi(t){return t.lineHeight!=null?t.lineHeight:Sr(t)+2}function hu(t){return n=t.lineBreak&&t.text&&!T(t.text)?t.text.split(t.lineBreak):t.text,T(n)?n.length>1?n:n[0]:n;var n}function a0(t){const n=hu(t);return(T(n)?n.length-1:0)*Vi(t)}function Yi(t,n){const e=n==null?"":(n+"").trim();return t.limit>0&&e.length?function(r,i){var a=+r.limit,o=function(d){if(we.width===i0){const h=jc(d);return p=>lA(p,h)}if(we.width===Pc){const h=Sr(d);return p=>uA(p,h)}return h=>we.width(d,h)}(r);if(o(i)<a)return i;var s,u=r.ellipsis||"\u2026",l=r.dir==="rtl",c=0,f=i.length;if(a-=o(u),l){for(;c<f;)s=c+f>>>1,o(i.slice(s))>a?c=s+1:f=s;return u+i.slice(c)}for(;c<f;)s=1+(c+f>>>1),o(i.slice(0,s))<a?c=s:f=s-1;return i.slice(0,c)+u}(t,e):e}function pu(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function jc(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Sr(t)+"px "+pu(t,n)}function o0(t){var n=t.baseline,e=Sr(t);return Math.round(n==="top"?.79*e:n==="middle"?.3*e:n==="bottom"?-.21*e:n==="line-top"?.29*e+.5*Vi(t):n==="line-bottom"?.29*e-.5*Vi(t):0)}sA(!0);const Y7={left:"start",center:"middle",right:"end"},mu=new cn;function Lc(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-Ra,e+=i*Math.cos(n),r+=i*Math.sin(n)),mu.x1=e,mu.y1=r,mu}function s0(t,n,e){var r,i=we.height(n),a=n.align,o=Lc(n),s=o.x1,u=o.y1,l=n.dx||0,c=(n.dy||0)+o0(n)-Math.round(.8*i),f=hu(n);if(T(f)?(i+=Vi(n)*(f.length-1),r=f.reduce((d,h)=>Math.max(d,we.width(n,h)),0)):r=we.width(n,f),a==="center"?l-=r/2:a==="right"&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),n.angle&&!e)t.rotate(n.angle*Ii,s,u);else if(e===2)return t.rotatedPoints(n.angle*Ii,s,u);return t}var X7={type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+o0(n),a=Lc(n),o=a.x1,s=a.y1,u=n.angle||0;t("text-anchor",Y7[n.align]||"start"),u?(e=La(o,s)+" "+Qm(u),(r||i)&&(e+=" "+La(r,i))):e=La(o+r,s+i),t("transform",e)},bound:s0,draw:function(t,n,e){Qe(n,r=>{var i,a,o,s,u,l,c,f=r.opacity==null?1:r.opacity;if(!(e&&!e.intersects(r.bounds)||f===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(t.font=jc(r),t.textAlign=r.align||"left",a=(i=Lc(r)).x1,o=i.y1,r.angle&&(t.save(),t.translate(a,o),t.rotate(r.angle*Ii),a=o=0),a+=r.dx||0,o+=(r.dy||0)+o0(r),l=hu(r),jo(t,r),T(l))for(u=Vi(r),s=0;s<l.length;++s)c=Yi(r,l[s]),r.fill&&Bc(t,r,f)&&t.fillText(c,a,o),r.stroke&&Lo(t,r,f)&&t.strokeText(c,a,o),o+=u;else c=Yi(r,l),r.fill&&Bc(t,r,f)&&t.fillText(c,a,o),r.stroke&&Lo(t,r,f)&&t.strokeText(c,a,o);r.angle&&t.restore()}})},pick:Oc(function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var o=Lc(n),s=o.x1,u=o.y1,l=s0(mu,n,1),c=-n.angle*Ii,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(s-f*s+d*u),p=d*i+f*a+(u-d*s-f*u);return l.contains(h,p)}),isect:function(t,n){const e=s0(mu,t,2);return Po(n,e[0],e[1],e[2],e[3])||Po(n,e[0],e[1],e[4],e[5])||Po(n,e[4],e[5],e[6],e[7])||Po(n,e[2],e[3],e[6],e[7])}},J7=t0("trail",function(t,n){return $7.context(t)(n)},function(t,n){for(var e,r,i=t.length;--i>=0;)if(t[i].defined!==!1&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null}),Ae={arc:N7,area:R7,group:L7,image:q7,line:U7,path:I7,rect:W7,rule:H7,shape:G7,symbol:V7,text:X7,trail:J7};function u0(t,n,e){var r=Ae[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new cn),t,e)}var cA={mark:null};function fA(t,n,e){var r,i,a,o,s=Ae[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?a=l[0]:(cA.mark=t,a=cA),o=u0(a,u,e),n=n&&n.union(o)||o;if(n=n||t.bounds&&t.bounds.clear()||new cn,c)for(r=0,i=l.length;r<i;++r)n.union(u0(l[r],u,e));return t.bounds=n}const K7=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function dA(t,n){return JSON.stringify(t,K7,n)}function hA(t){return pA(typeof t=="string"?JSON.parse(t):t)}function pA(t){var n,e,r,i=t.marktype,a=t.items;if(a)for(e=0,r=a.length;e<r;++e)n=i?"mark":"group",a[e][n]=t,a[e].zindex&&(a[e][n].zdirty=!0),(i||n)==="group"&&pA(a[e]);return i&&fA(t),t}class mA{constructor(n){arguments.length?this.root=hA(n):(this.root=gA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Fc(this.root)])}toJSON(n){return dA(this.root,n||0)}mark(n,e,r){const i=gA(n,e=e||this.root.items[0]);return e.items[r]=i,i.zindex&&(i.group.zdirty=!0),i}}function gA(t,n){const e={bounds:new cn,clip:!!t.clip,group:n,interactive:t.interactive!==!1,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0};return t.aria!=null&&(e.aria=t.aria),t.description&&(e.description=t.description),e}function Xi(t,n,e){return!t&&typeof document<"u"&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function l0(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function dn(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Xi(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Pe(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function yA(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function qc(t,n){const e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}class c0{constructor(n,e){this._active=null,this._handlers={},this._loader=n||Ul(),this._tooltip=e||Q7}initialize(n,e,r){return this._el=n,this._obj=r||null,this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(n){return arguments.length?(this._origin=n||[0,0],this):this._origin.slice()}scene(n){return arguments.length?(this._scene=n,this):this._scene}on(){}off(){}_handlerIndex(n,e,r){for(let i=n?n.length:0;--i>=0;)if(n[i].type===e&&(!r||n[i].handler===r))return i;return-1}handlers(n){const e=this._handlers,r=[];if(n)r.push(...e[this.eventName(n)]);else for(const i in e)r.push(...e[i]);return r}eventName(n){const e=n.indexOf(".");return e<0?n:n.slice(0,e)}handleHref(n,e,r){this._loader.sanitize(r,{context:"href"}).then(i=>{const a=new MouseEvent(n.type,n),o=Xi(null,"a");for(const s in i)o.setAttribute(s,i[s]);o.dispatchEvent(a)}).catch(()=>{})}handleTooltip(n,e,r){if(e&&e.tooltip!=null){e=function(a,o,s,u){var l,c,f=a&&a.mark;if(f&&(l=Ae[f.marktype]).tip){for((c=qc(o,s))[0]-=u[0],c[1]-=u[1];a=a.mark.group;)c[0]-=a.x||0,c[1]-=a.y||0;a=l.tip(f.items,c)}return a}(e,n,this.canvas(),this._origin);const i=r&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,n,e,i)}}getItemBoundingClientRect(n){const e=this.canvas();if(!e)return;const r=e.getBoundingClientRect(),i=this._origin,a=n.bounds,o=a.width(),s=a.height();let u=a.x1+i[0]+r.left,l=a.y1+i[1]+r.top;for(;n.mark&&(n=n.mark.group);)u+=n.x||0,l+=n.y||0;return{x:u,y:l,width:o,height:s,left:u,top:l,right:u+o,bottom:l+s}}}function Q7(t,n,e,r){t.element().setAttribute("title",r||"")}class gu{constructor(n){this._el=null,this._bgcolor=null,this._loader=new Uw(n)}initialize(n,e,r,i,a){return this._el=n,this.resize(e,r,i,a)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(n){return arguments.length===0?this._bgcolor:(this._bgcolor=n,this)}resize(n,e,r,i){return this._width=n,this._height=e,this._origin=r||[0,0],this._scale=i||1,this}dirty(){}render(n,e){const r=this;return r._call=function(){r._render(n,e)},r._call(),r._call=null,r}_render(){}renderAsync(n,e){const r=this.render(n,e);return this._ready?this._ready.then(()=>r):Promise.resolve(r)}_load(n,e){var r=this,i=r._loader[n](e);if(!r._ready){const a=r._call;r._ready=r._loader.ready().then(o=>{o&&a(),r._ready=null})}return i}sanitizeURL(n){return this._load("sanitizeURL",n)}loadImage(n){return this._load("loadImage",n)}}const vA="dragenter",Uc="dragleave",bA="dragover",f0="pointerdown",Ic="pointermove",Wc="pointerout",xA="pointerover",d0="mousedown",wA="mousemove",Hc="mouseout",AA="mouseover",Gc="click",_A="mousewheel",Vc="touchstart",Yc="touchmove",Xc="touchend",Z7=["keydown","keypress","keyup",vA,Uc,bA,f0,"pointerup",Ic,Wc,xA,d0,"mouseup",wA,Hc,AA,Gc,"dblclick","wheel",_A,Vc,Yc,Xc],h0=Ic,yu=Hc,p0=Gc;class vu extends c0{constructor(n,e){super(n,e),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Z7,this.pointermove=DA([Ic,wA],[xA,AA],[Wc,Hc]),this.dragover=DA([bA],[vA],[Uc]),this.pointerout=FA([Wc,Hc]),this.dragleave=FA([Uc])}initialize(n,e,r){return this._canvas=n&&l0(n,"canvas"),[Gc,d0,f0,Ic,Wc,Uc].forEach(i=>kA(this,i)),super.initialize(n,e,r)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(n){this.fire(_A,n)}pointerdown(n){this._down=this._active,this.fire(f0,n)}mousedown(n){this._down=this._active,this.fire(d0,n)}click(n){this._down===this._active&&(this.fire(Gc,n),this._down=null)}touchstart(n){this._touch=this.pickEvent(n.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(Vc,n,!0)}touchmove(n){this.fire(Yc,n,!0)}touchend(n){this.fire(Xc,n,!0),this._touch=null}fire(n,e,r){const i=r?this._touch:this._active,a=this._handlers[n];if(e.vegaType=n,n===p0&&i&&i.href?this.handleHref(e,i,i.href):n!==h0&&n!==yu||this.handleTooltip(e,i,n!==yu),a)for(let o=0,s=a.length;o<s;++o)a[o].handler.call(this._obj,e,i)}on(n,e){const r=this.eventName(n),i=this._handlers;return this._handlerIndex(i[r],n,e)<0&&(kA(this,n),(i[r]||(i[r]=[])).push({type:n,handler:e})),this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&i.splice(a,1),this}pickEvent(n){const e=qc(n,this._canvas),r=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-r[0],e[1]-r[1])}pick(n,e,r,i,a){const o=this.context();return Ae[n.marktype].pick.call(this,o,n,e,r,i,a)}}const t4=t=>t===Vc||t===Yc||t===Xc?[Vc,Yc,Xc]:[t];function kA(t,n){t4(n).forEach(e=>function(r,i){const a=r.canvas();a&&!r._events[i]&&(r._events[i]=1,a.addEventListener(i,r[i]?o=>r[i](o):o=>r.fire(i,o)))}(t,e))}function Jc(t,n,e){n.forEach(r=>t.fire(r,e))}function DA(t,n,e){return function(r){const i=this._active,a=this.pickEvent(r);a===i||(i&&i.exit||Jc(this,e,r),this._active=a,Jc(this,n,r)),Jc(this,t,r)}}function FA(t){return function(n){Jc(this,t,n),this._active=null}}function n4(t,n,e,r,i,a){const o=typeof HTMLElement<"u"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),u=o?typeof window<"u"&&window.devicePixelRatio||1:i;t.width=n*u,t.height=e*u;for(const l in a)s[l]=a[l];return o&&u!==1&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=u,s.setTransform(u,0,0,u,u*r[0],u*r[1]),t}class Kc extends gu{constructor(n){super(n),this._options={},this._redraw=!1,this._dirty=new cn,this._tempb=new cn}initialize(n,e,r,i,a,o){return this._options=o||{},this._canvas=this._options.externalContext?null:qi(1,1,this._options.type),n&&this._canvas&&(Pe(n,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(n,e,r,i,a)}resize(n,e,r,i){if(super.resize(n,e,r,i),this._canvas)n4(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const a=this._options.externalContext;a||P("CanvasRenderer is missing a valid canvas or context"),a.scale(this._scale,this._scale),a.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(n){const e=this._tempb.clear().union(n.bounds);let r=n.mark.group;for(;r;)e.translate(r.x||0,r.y||0),r=r.mark.group;this._dirty.union(e)}_render(n,e){const r=this.context(),i=this._origin,a=this._width,o=this._height,s=this._dirty,u=e4(i,a,o);r.save();const l=this._redraw||s.empty()?(this._redraw=!1,u.expand(1)):function(c,f,d){return f.expand(1).round(),c.pixelRatio%1&&f.scale(c.pixelRatio).round().scale(1/c.pixelRatio),f.translate(-d[0]%1,-d[1]%1),c.beginPath(),c.rect(f.x1,f.y1,f.width(),f.height()),c.clip(),f}(r,u.intersect(s),i);return this.clear(-i[0],-i[1],a,o),this.draw(r,n,l,e),r.restore(),s.clear(),this}draw(n,e,r,i){if(e.marktype!=="group"&&i!=null&&!i.includes(e.marktype))return;const a=Ae[e.marktype];e.clip&&function(o,s){var u=s.clip;o.save(),bt(u)?(o.beginPath(),u(o),o.clip()):nA(o,s.group)}(n,e),a.draw.call(this,n,e,r,i),e.clip&&n.restore()}clear(n,e,r,i){const a=this._options,o=this.context();a.type==="pdf"||a.externalContext||o.clearRect(n,e,r,i),this._bgcolor!=null&&(o.fillStyle=this._bgcolor,o.fillRect(n,e,r,i))}}const e4=(t,n,e)=>new cn().set(0,0,n,e).translate(-t[0],-t[1]);class CA extends c0{constructor(n,e){super(n,e);const r=this;r._hrefHandler=m0(r,(i,a)=>{a&&a.href&&r.handleHref(i,a,a.href)}),r._tooltipHandler=m0(r,(i,a)=>{r.handleTooltip(i,a,i.type!==yu)})}initialize(n,e,r){let i=this._svg;return i&&(i.removeEventListener(p0,this._hrefHandler),i.removeEventListener(h0,this._tooltipHandler),i.removeEventListener(yu,this._tooltipHandler)),this._svg=i=n&&l0(n,"svg"),i&&(i.addEventListener(p0,this._hrefHandler),i.addEventListener(h0,this._tooltipHandler),i.addEventListener(yu,this._tooltipHandler)),super.initialize(n,e,r)}canvas(){return this._svg}on(n,e){const r=this.eventName(n),i=this._handlers;if(this._handlerIndex(i[r],n,e)<0){const a={type:n,handler:e,listener:m0(this,e)};(i[r]||(i[r]=[])).push(a),this._svg&&this._svg.addEventListener(r,a.listener)}return this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&(this._svg&&this._svg.removeEventListener(r,i[a].listener),i.splice(a,1)),this}}const m0=(t,n)=>e=>{let r=e.target.__data__;r=Array.isArray(r)?r[0]:r,e.vegaType=e.type,n.call(t._obj,e,r)},EA="aria-hidden",g0="aria-label",y0="role",v0="aria-roledescription",$A="graphics-object",b0="graphics-symbol",SA=(t,n,e)=>({[y0]:t,[v0]:n,[g0]:e||void 0}),r4=Dr(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),MA={axis:{desc:"axis",caption:function(t){const n=t.datum,e=t.orient,r=n.title?RA(t):null,i=t.context,a=i.scales[n.scale].value,o=i.dataflow.locale(),s=a.type;return`${e==="left"||e==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${Oo(s)?"discrete":s} scale with ${Ew(o,a,t)}`}},legend:{desc:"legend",caption:function(t){const n=t.datum,e=n.title?RA(t):null,r=`${n.type||""} legend`.trim(),i=n.scales,a=Object.keys(i),o=t.context,s=o.scales[i[a[0]]].value,u=o.dataflow.locale();return l=r,(l.length?l[0].toUpperCase()+l.slice(1):l)+(e?` titled '${e}'`:"")+` for ${function(c){return c=c.map(f=>f+(f==="fill"||f==="stroke"?" color":"")),c.length<2?c[0]:c.slice(0,-1).join(", ")+" and "+Bt(c)}(a)} with ${Ew(u,s,t)}`;var l}},"title-text":{desc:"title",caption:t=>`Title text '${NA(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${NA(t)}'`}},BA={ariaRole:y0,ariaRoleDescription:v0,description:g0};function zA(t,n){const e=n.aria===!1;if(t(EA,e||void 0),e||n.description==null)for(const r in BA)t(BA[r],void 0);else{const r=n.mark.marktype;t(g0,n.description),t(y0,n.ariaRole||(r==="group"?$A:b0)),t(v0,n.ariaRoleDescription||`${r} mark`)}}function OA(t){return t.aria===!1?{[EA]:!0}:r4[t.role]?null:MA[t.role]?function(n,e){try{const r=n.items[0],i=e.caption||(()=>"");return SA(e.role||b0,e.desc,r.description||i(r))}catch{return null}}(t,MA[t.role]):function(n){const e=n.marktype,r=e==="group"||e==="text"||n.items.some(i=>i.description!=null&&i.aria!==!1);return SA(r?$A:b0,`${e} mark container`,n.description)}(t)}function NA(t){return J(t.text).join(" ")}function RA(t){try{return J(Bt(t.items).items[0].text).join(" ")}catch{return null}}const TA=t=>(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");function x0(){let t="",n="",e="";const r=[],i=()=>n=e="",a=(s,u)=>{var l;return u!=null&&(n+=` ${s}="${l=u,TA(l).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")}"`),o},o={open(s){(f=>{n&&(t+=`${n}>${e}`,i()),r.push(f)})(s),n="<"+s;for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c<u;c++)l[c-1]=arguments[c];for(const f of l)for(const d in f)a(d,f[d]);return o},close(){const s=r.pop();return t+=n?n+(e?`>${e}</${s}>`:"/>"):`</${s}>`,i(),o},attr:a,text:s=>(e+=TA(s),o),toString:()=>t};return o}const PA=t=>jA(x0(),t)+"";function jA(t,n){if(t.open(n.tagName),n.hasAttributes()){const e=n.attributes,r=e.length;for(let i=0;i<r;++i)t.attr(e[i].name,e[i].value)}if(n.hasChildNodes()){const e=n.childNodes;for(const r of e)r.nodeType===3?t.text(r.nodeValue):jA(t,r)}return t.close()}const Qc={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},Zc={blend:"mix-blend-mode"},LA={fill:"none","stroke-miterlimit":10},qA="http://www.w3.org/2000/xmlns/",hn=du.xmlns;class w0 extends gu{constructor(n){super(n),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(n,e,r,i,a){return this._defs={},this._clearDefs(),n&&(this._svg=dn(n,0,"svg",hn),this._svg.setAttributeNS(qA,"xmlns",hn),this._svg.setAttributeNS(qA,"xmlns:xlink",du["xmlns:xlink"]),this._svg.setAttribute("version",du.version),this._svg.setAttribute("class","marks"),Pe(n,1),this._root=dn(this._svg,0,"g",hn),Ji(this._root,LA),Pe(this._svg,1)),this.background(this._bgcolor),super.initialize(n,e,r,i,a)}background(n){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",n),super.background(...arguments)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svg&&(Ji(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){const n=this._svg,e=this._bgcolor;if(!n)return null;let r;e&&(n.removeAttribute("style"),r=dn(n,0,"rect",hn),Ji(r,{width:this._width,height:this._height,fill:e}));const i=PA(n);return e&&(n.removeChild(r),this._svg.style.setProperty("background-color",e)),i}_render(n,e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,n,void 0,e),Pe(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(n){n.dirty!==this._dirtyID&&(n.dirty=this._dirtyID,this._dirty.push(n))}isDirty(n){return this._dirtyAll||!n._svg||!n._svg.ownerSVGElement||n.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;const n=this._dirty;if(!n.length||!this._dirtyID)return!0;const e=++this._dirtyID;let r,i,a,o,s,u,l;for(s=0,u=n.length;s<u;++s)r=n[s],i=r.mark,i.marktype!==a&&(a=i.marktype,o=Ae[a]),i.zdirty&&i.dirty!==e&&(this._dirtyAll=!1,UA(r,e),i.items.forEach(c=>{c.dirty=e})),i.zdirty||(r.exit?(o.nested&&i.items.length?(l=i.items[0],l._svg&&this._update(o,l._svg,l)):r._svg&&(l=r._svg.parentNode,l&&l.removeChild(r._svg)),r._svg=null):(r=o.nested?i.items[0]:r,r._update!==e&&(r._svg&&r._svg.ownerSVGElement?this._update(o,r._svg,r):(this._dirtyAll=!1,UA(r,e)),r._update=e)));return!this._dirtyAll}mark(n,e,r,i){if(!this.isDirty(e))return e._svg;const a=this._svg,o=e.marktype,s=Ae[o],u=e.interactive===!1?"none":null,l=s.tag==="g",c=IA(e,n,r,"g",a);if(o!=="group"&&i!=null&&!i.includes(o))return Pe(c,0),e._svg;c.setAttribute("class",yA(e));const f=OA(e);for(const m in f)Vn(c,m,f[m]);l||Vn(c,"pointer-events",u),Vn(c,"clip-path",e.clip?Lm(this,e,e.group):null);let d=null,h=0;const p=m=>{const g=this.isDirty(m),y=IA(m,c,d,s.tag,a);g&&(this._update(s,y,m),l&&function(v,x,b,w){x=x.lastChild.previousSibling;let A,_=0;Qe(b,k=>{A=v.mark(x,k,A,w),++_}),Pe(x,1+_)}(this,y,m,i)),d=y,++h};return s.nested?e.items.length&&p(e.items[0]):Qe(e,p),Pe(c,h),c}_update(n,e,r){oi=e,On=e.__values__,zA(bu,r),n.attr(bu,r,this);const i=o4[n.type];i&&i.call(this,n,e,r),oi&&this.style(oi,r)}style(n,e){if(e!=null){for(const r in Qc){let i=r==="font"?pu(e):e[r];if(i===On[r])continue;const a=Qc[r];i==null?n.removeAttribute(a):(Om(i)&&(i=Sw(i,this._defs.gradient,WA())),n.setAttribute(a,i+"")),On[r]=i}for(const r in Zc)tf(n,Zc[r],e[r])}}defs(){const n=this._svg,e=this._defs;let r=e.el,i=0;for(const a in e.gradient)r||(e.el=r=dn(n,1,"defs",hn)),i=i4(r,e.gradient[a],i);for(const a in e.clipping)r||(e.el=r=dn(n,1,"defs",hn)),i=a4(r,e.clipping[a],i);r&&(i===0?(n.removeChild(r),e.el=null):Pe(r,i))}_clearDefs(){const n=this._defs;n.gradient={},n.clipping={}}}function UA(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function i4(t,n,e){let r,i,a;if(n.gradient==="radial"){let o=dn(t,e++,"pattern",hn);Ji(o,{id:Ac+n.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=dn(o,0,"rect",hn),Ji(o,{width:1,height:1,fill:`url(${WA()}#${n.id})`}),Ji(t=dn(t,e++,"radialGradient",hn),{id:n.id,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else Ji(t=dn(t,e++,"linearGradient",hn),{id:n.id,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2});for(r=0,i=n.stops.length;r<i;++r)a=dn(t,r,"stop",hn),a.setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Pe(t,r),e}function a4(t,n,e){let r;return(t=dn(t,e,"clipPath",hn)).setAttribute("id",n.id),n.path?(r=dn(t,0,"path",hn),r.setAttribute("d",n.path)):(r=dn(t,0,"rect",hn),Ji(r,{x:0,y:0,width:n.width,height:n.height})),Pe(t,1),e+1}function IA(t,n,e,r,i){let a,o=t._svg;if(!o&&(a=n.ownerDocument,o=Xi(a,r,hn),t._svg=o,t.mark&&(o.__data__=t,o.__values__={fill:"default"},r==="g"))){const s=Xi(a,"path",hn);o.appendChild(s),s.__data__=t;const u=Xi(a,"g",hn);o.appendChild(u),u.__data__=t;const l=Xi(a,"path",hn);o.appendChild(l),l.__data__=t,l.__values__={fill:"default"}}return(o.ownerSVGElement!==i||function(s,u){return s.parentNode&&s.parentNode.childNodes.length>1&&s.previousSibling!=u}(o,e))&&n.insertBefore(o,e?e.nextSibling:n.firstChild),o}let oi=null,On=null;const o4={group(t,n,e){const r=oi=n.childNodes[2];On=r.__values__,t.foreground(bu,e,this),On=n.__values__,oi=n.childNodes[1],t.content(bu,e,this);const i=oi=n.childNodes[0];t.background(bu,e,this);const a=e.mark.interactive===!1?"none":null;if(a!==On.events&&(Vn(r,"pointer-events",a),Vn(i,"pointer-events",a),On.events=a),e.strokeForeground&&e.stroke){const o=e.fill;Vn(r,"display",null),this.style(i,e),Vn(i,"stroke",null),o&&(e.fill=null),On=r.__values__,this.style(r,e),o&&(e.fill=o),oi=null}else Vn(r,"display","none")},image(t,n,e){e.smooth===!1?(tf(n,"image-rendering","optimizeSpeed"),tf(n,"image-rendering","pixelated")):tf(n,"image-rendering",null)},text(t,n,e){const r=hu(e);let i,a,o,s;T(r)?(a=r.map(u=>Yi(e,u)),i=a.join(`
1
+ import{cs as qs,gV as Vh,gW as Vb,gX as Yb,gY as Ul,gZ as bt,g_ as In,g$ as J,h0 as tt,h1 as Me,cC as T,h2 as P,h3 as Us,h4 as Be,h5 as ka,h6 as V,h7 as Xb,h8 as Jb,h9 as xt,ha as Yh,hb as en,hc as Wn,hd as ko,he as ze,hf as kr,cB as Xh,hg as Kb,hh as Qb,hi as Zb,hj as tx,hk as Bt,hl as Jh,hm as Kh,bt as nx,hn as ei,ho as ex,hp as Il,hq as Do,hr as Qh,hs as Zh,ht as tp,hu as rx,hv as ix,cy as ax,ct as a6,y as o6,hw as s6,bu as u6,bK as l6,bL as c6,hx as f6,bN as d6,bO as h6,bP as p6,hy as Dr,cD as Q,hz as $t,cE as Z,hA as ox,hB as Oi,hC as Is,hD as np,hE as Wl,hF as ep,hG as rp,hH as G,bC as sx,hI as Da,hJ as Fo,hK as ux,hL as lx,hM as cx,hN as fx,hO as dx,hP as hx,hQ as px,hR as mx,hS as gx,hT as yx,hU as vx,hV as bx,hW as xx,hX as wx,hY as Ax,hZ as _x,h_ as kx,h$ as Dx,i0 as Fx,i1 as Cx,i2 as Ex,i3 as $x,i4 as ip,cG as Fa,i5 as Sx,i6 as Mx,cF as Hl,i7 as Ni,i8 as m6,i9 as g6,ia as y6,ib as v6,ic as b6,id as x6,ie as w6,ig as A6,ih as _6,ii as k6,ij as D6,ik as F6,il as C6,im as Bx,io as E6,ip as $6,iq as S6,aK as M6,ir as B6,is as z6,it as O6,iu as N6,iv as R6,iw as T6,ix as P6,cH as ap}from"./index-CPlN-zCs.js";import{m as op,a as Ca,d as j6,r as L6,l as sp,i as q6,h as U6,n as I6,c as W6,u as H6,b as G6,t as V6,e as Y6}from"./time-AT3x74ZG.js";import{n as X6,b as J6,i as Ws,d as K6,e as Q6,f as Z6,o as t8,g as Gl,h as zx,j as Co,t as up,a as lp,k as Ri,m as Ea,l as n8,p as e8,q as r8}from"./linear-BslqlKo9.js";import{r as xe}from"./range-CtcPcB_L.js";import{R as Ox,r as i8,d as a8,e as o8,m as Nx,o as Rx,C as s8,h as cp,p as fp,n as Oe,q as u8,s as l8,i as c8,a as f8,u as d8,v as h8,b as p8,k as m8,j as g8,T as y8,l as v8,w as Vl,t as b8,g as x8}from"./timer-BwIYMJWC.js";import{i as w8}from"./zoom-COrs4lFh.js";import{i as $a,a as Ti}from"./init-DLRA0X12.js";import{I as Yl,o as Tx,i as A8}from"./ordinal-DDUp3AbE.js";import{c as Fr}from"./colors-bszWmPJw.js";import{w as Px,n as _8,z as jx,a as Hn,J as k8,K as D8,l as Lx,b as F8,t as C8,p as E8,o as $8,q as S8,r as M8,u as B8,x as z8,v as O8,y as N8,B as R8,C as T8,A as P8,F as j8,E as L8,D as q8,G as U8,H as I8,I as W8,k as H8,L as dp}from"./step-BwsUM5iJ.js";import{d as G8}from"./arc-ZB5pDULS.js";import{o as Xl,c as qx,a as V8,r as Y8,b as Jl,N as Ux,d as X8,e as hp,s as J8,p as K8,h as Q8,t as Z8,f as t9}from"./index-BEQfoZiP.js";class Gn{constructor(){this._partials=new Float64Array(32),this._n=0}add(n){const e=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const a=e[i],o=n+a,s=Math.abs(n)<Math.abs(a)?n-(o-a):a-(o-n);s&&(e[r++]=s),n=o}return e[r]=n,this._n=r+1,this}valueOf(){const n=this._partials;let e,r,i,a=this._n,o=0;if(a>0){for(o=n[--a];a>0&&(e=o,r=n[--a],o=e+r,i=r-(o-e),!i););a>0&&(i<0&&n[a-1]<0||i>0&&n[a-1]>0)&&(r=2*i,e=o+r,r==e-o&&(o=e))}return o}}function Ix(t,n){return(t==null||!(t>=t))-(n==null||!(n>=n))||(t<n?-1:t>n?1:0)}function Wx(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=i===void 0?Ix:function(a=qs){if(a===qs)return Ix;if(typeof a!="function")throw new TypeError("compare is not a function");return(o,s)=>{const u=a(o,s);return u||u===0?u:(a(s,s)===0)-(a(o,o)===0)}}(i);r>e;){if(r-e>600){const u=r-e+1,l=n-e+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1);Wx(t,n,Math.max(e,Math.floor(n-l*f/u+d)),Math.min(r,Math.floor(n+(u-l)*f/u+d)),i)}const a=t[n];let o=e,s=r;for(Hs(t,e,n),i(t[r],a)>0&&Hs(t,e,r);o<s;){for(Hs(t,o,s),++o,--s;i(t[o],a)<0;)++o;for(;i(t[s],a)>0;)--s}i(t[e],a)===0?Hs(t,e,s):(++s,Hs(t,s,r)),s<=n&&(e=s+1),n<=s&&(r=s-1)}return t}function Hs(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function pp(t,n,e){if((r=(t=Float64Array.from(X6(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return op(t);if(n>=1)return Ca(t);var r,i=(r-1)*n,a=Math.floor(i),o=Ca(Wx(t,a).subarray(0,a+1));return o+(op(t.subarray(a+1))-o)*(i-a)}}function Hx(t,n,e=J6){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),o=+e(t[a],a,t);return o+(+e(t[a+1],a+1,t)-o)*(i-a)}}function Gx(t,n){return pp(t,.5,n)}function Vx(t){return Array.from(function*(n){for(const e of n)yield*e}(t))}function Yx(t,n){let e=0;for(let r of t)(r=+r)&&(e+=r);return e}function n9(t){return t instanceof Yl?t:new Yl(t)}var Xx=-.14861,mp=1.78277,gp=-.29227,Kl=-.90649,Gs=1.97294,Jx=Gs*Kl,Kx=Gs*mp,Qx=mp*gp-Kl*Xx;function yp(t,n,e,r){return arguments.length===1?function(i){if(i instanceof Sa)return new Sa(i.h,i.s,i.l,i.opacity);i instanceof Ox||(i=i8(i));var a=i.r/255,o=i.g/255,s=i.b/255,u=(Qx*s+Jx*a-Kx*o)/(Qx+Jx-Kx),l=s-u,c=(Gs*(o-u)-gp*l)/Kl,f=Math.sqrt(c*c+l*l)/(Gs*u*(1-u)),d=f?Math.atan2(c,l)*j6-120:NaN;return new Sa(d<0?d+360:d,f,u,i.opacity)}(t):new Sa(t,n,e,r??1)}function Sa(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Zx(t){return function(n,e){var r=t((n=fp(n)).h,(e=fp(e)).h),i=Oe(n.s,e.s),a=Oe(n.l,e.l),o=Oe(n.opacity,e.opacity);return function(s){return n.h=r(s),n.s=i(s),n.l=a(s),n.opacity=o(s),n+""}}}a8(Sa,yp,o8(s8,{brighter(t){return t=t==null?Rx:Math.pow(Rx,t),new Sa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Nx:Math.pow(Nx,t),new Sa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*L6,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Ox(255*(n+e*(Xx*r+mp*i)),255*(n+e*(gp*r+Kl*i)),255*(n+e*(Gs*r)),this.opacity)}}));const e9=Zx(cp);var r9=Zx(Oe);function t2(t){return function n(e){function r(i,a){var o=t((i=yp(i)).h,(a=yp(a)).h),s=Oe(i.s,a.s),u=Oe(i.l,a.l),l=Oe(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=u(Math.pow(c,e)),i.opacity=l(c),i+""}}return e=+e,r.gamma=n,r}(1)}const i9=t2(cp);var a9=t2(Oe);function vp(t,n){n===void 0&&(n=t,t=Ws);for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(o){var s=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return a[s](o-s)}}const o9=Object.freeze(Object.defineProperty({__proto__:null,interpolate:Ws,interpolateArray:K6,interpolateBasis:u8,interpolateBasisClosed:l8,interpolateCubehelix:i9,interpolateCubehelixLong:a9,interpolateDate:Q6,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHcl:q6,interpolateHclLong:U6,interpolateHsl:e9,interpolateHslLong:r9,interpolateHue:function(t,n){var e=cp(+t,+n);return function(r){var i=e(r);return i-360*Math.floor(i/360)}},interpolateLab:function(t,n){var e=Oe((t=sp(t)).l,(n=sp(n)).l),r=Oe(t.a,n.a),i=Oe(t.b,n.b),a=Oe(t.opacity,n.opacity);return function(o){return t.l=e(o),t.a=r(o),t.b=i(o),t.opacity=a(o),t+""}},interpolateNumber:c8,interpolateNumberArray:Z6,interpolateObject:t8,interpolateRgb:f8,interpolateRgbBasis:d8,interpolateRgbBasisClosed:h8,interpolateRound:Gl,interpolateString:p8,interpolateTransformCss:m8,interpolateTransformSvg:g8,interpolateZoom:w8,piecewise:vp,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}},Symbol.toStringTag,{value:"Module"}));function Ql(t){const n=t||Me,e=[],r={};return e.add=i=>{const a=n(i);return r[a]||(r[a]=1,e.push(i)),e},e.remove=i=>{const a=n(i);if(r[a]){r[a]=0;const o=e.indexOf(i);o>=0&&e.splice(o,1)}return e},e}async function Zl(t,n){try{await n(t)}catch(e){t.error(e)}}const n2=Symbol("vega_id");let s9=1;function tc(t){return!(!t||!st(t))}function st(t){return t[n2]}function e2(t,n){return t[n2]=n,t}function St(t){const n=t===Object(t)?t:{data:t};return st(n)?n:e2(n,s9++)}function bp(t){return nc(t,St({}))}function nc(t,n){for(const e in t)n[e]=t[e];return n}function r2(t,n){return e2(n,st(t))}function Ma(t,n){return t?n?(e,r)=>t(e,r)||st(n(e))-st(n(r)):(e,r)=>t(e,r)||st(e)-st(r):null}function i2(t){return t&&t.constructor===Ba}function Ba(){const t=[],n=[],e=[],r=[],i=[];let a=null,o=!1;return{constructor:Ba,insert(s){const u=J(s),l=u.length;for(let c=0;c<l;++c)t.push(u[c]);return this},remove(s){const u=bt(s)?r:n,l=J(s),c=l.length;for(let f=0;f<c;++f)u.push(l[f]);return this},modify(s,u,l){const c={field:u,value:In(l)};return bt(s)?(c.filter=s,i.push(c)):(c.tuple=s,e.push(c)),this},encode(s,u){return bt(s)?i.push({filter:s,field:u}):e.push({tuple:s,field:u}),this},clean(s){return a=s,this},reflow(){return o=!0,this},pulse(s,u){const l={},c={};let f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)l[st(u[f])]=1;for(f=0,d=n.length;f<d;++f)m=n[f],l[st(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(l[st(v)]=-1)});for(f=0,d=t.length;f<d;++f)m=t[f],g=st(m),l[g]?l[g]=1:s.add.push(St(t[f]));for(f=0,d=u.length;f<d;++f)m=u[f],l[st(m)]<0&&s.rem.push(m);function y(v,x,b){b?v[x]=b(v):s.encode=x,o||(c[st(v)]=v)}for(f=0,d=e.length;f<d;++f)h=e[f],m=h.tuple,p=h.field,g=l[st(m)],g>0&&(y(m,p,h.value),s.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&l[st(v)]>0&&y(v,h.field,h.value)}),s.modifies(h.field);if(o)s.mod=n.length||r.length?u.filter(v=>l[st(v)]>0):u.slice();else for(g in c)s.mod.push(c[g]);return(a||a==null&&(n.length||r.length))&&s.clean(!0),s}}}const ec="_:mod:_";function rc(){Object.defineProperty(this,ec,{writable:!0,value:{}})}rc.prototype={set(t,n,e,r){const i=this,a=i[t],o=i[ec];return n!=null&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=T(e)?1+e.length:-1),i},modified(t,n){const e=this[ec];if(!arguments.length){for(const r in e)if(e[r])return!0;return!1}if(T(t)){for(let r=0;r<t.length;++r)if(e[t[r]])return!0;return!1}return n!=null&&n>=0?n+1<e[t]||!!e[n+":"+t]:!!e[t]},clear(){return this[ec]={},this}};let u9=0;const l9=new rc;function Ut(t,n,e,r){this.id=++u9,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}function a2(t){return function(n){const e=this.flags;return arguments.length===0?!!(e&t):(this.flags=n?e|t:e&~t,this)}}Ut.prototype={targets(){return this._targets||(this._targets=Ql(Us))},set(t){return this.value!==t?(this.value=t,1):0},skip:a2(1),modified:a2(2),parameters(t,n,e){n=n!==!1;const r=this._argval=this._argval||new rc,i=this._argops=this._argops||[],a=[];let o,s,u,l;const c=(f,d,h)=>{h instanceof Ut?(h!==this&&(n&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in t)if(s=t[o],o==="pulse")J(s).forEach(f=>{f instanceof Ut?f!==this&&(f.targets().add(this),a.push(f)):P("Pulse parameters must be operator instances.")}),this.source=s;else if(T(s))for(r.set(o,-1,Array(u=s.length)),l=0;l<u;++l)c(o,l,s[l]);else c(o,-1,s);return this.marshall().clear(),e&&(i.initonly=!0),a},marshall(t){const n=this._argval||l9,e=this._argops;let r,i,a,o;if(e){const s=e.length;for(i=0;i<s;++i)r=e[i],a=r.op,o=a.modified()&&a.stamp===t,n.set(r.name,r.index,a.value,o);if(e.initonly){for(i=0;i<s;++i)r=e[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return n},detach(){const t=this._argops;let n,e,r,i;if(t)for(n=0,e=t.length;n<e;++n)r=t[n],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(t){const n=this._update;if(n){const e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.pulse=n||t}};let c9=0;function ic(t,n,e){this.id=++c9,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Pi(t,n,e){return new ic(t,n,e)}ic.prototype={_filter:Be,_apply:Me,targets(){return this._targets||(this._targets=Ql(Us))},consume(t){return arguments.length?(this._consume=!!t,this):!!this._consume},receive(t){if(this._filter(t)){const n=this.value=this._apply(t),e=this._targets,r=e?e.length:0;for(let i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},filter(t){const n=Pi(t);return this.targets().add(n),n},apply(t){const n=Pi(null,t);return this.targets().add(n),n},merge(){const t=Pi();this.targets().add(t);for(let n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},throttle(t){let n=-1;return this.filter(()=>{const e=Date.now();return e-n>t?(n=e,1):0})},debounce(t){const n=Pi();return this.targets().add(Pi(null,null,Yh(t,e=>{const r=e.dataflow;n.receive(e),r&&r.run&&r.run()}))),n},between(t,n){let e=!1;return t.targets().add(Pi(null,null,()=>e=!0)),n.targets().add(Pi(null,null,()=>e=!1)),this.filter(()=>e)},detach(){this._filter=Be,this._targets=null}};const f9={skip:!0};function d9(t,n,e,r,i,a){const o=xt({},a,f9);let s,u;bt(e)||(e=In(e)),r===void 0?s=l=>t.touch(e(l)):bt(r)?(u=new Ut(null,r,i,!1),s=l=>{u.evaluate(l);const c=e(l),f=u.value;i2(f)?t.pulse(c,f,a):t.update(c,f,o)}):s=l=>t.update(e(l),r,o),n.apply(s)}function h9(t,n,e,r,i,a){if(r===void 0)n.targets().add(e);else{const o=a||{},s=new Ut(null,function(u,l){return l=bt(l)?l:In(l),u?function(c,f){const d=l(c,f);return u.skip()||(u.skip(d!==this.value).value=d),d}:l}(e,r),i,!1);s.modified(o.force),s.rank=n.rank,n.targets().add(s),e&&(s.skip(!0),s.value=e.value,s.targets().add(e),t.connect(e,[s]))}}const ac={};function ji(t,n,e){this.dataflow=t,this.stamp=n??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}function xp(t,n){const e=[];return ka(t,n,r=>e.push(r)),e}function o2(t,n){const e={};return t.visit(n,r=>{e[st(r)]=1}),r=>e[st(r)]?null:r}function oc(t,n){return t?(e,r)=>t(e,r)&&n(e,r):n}function wp(t,n,e,r){const i=this;let a=0;this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e;for(const o of e)if(o.stamp===n){if(o.fields){const s=i.fields||(i.fields={});for(const u in o.fields)s[u]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}function s2(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}ji.prototype={StopPropagation:ac,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(t){return new ji(this.dataflow).init(this,t)},clone(){const t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},addAll(){let t=this;return!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length||(t=new ji(this.dataflow).init(this),t.add=t.source,t.rem=[]),t},init(t,n){const e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source,t.cleans&&(e.cleans=t.cleans)),e},runAfter(t){this.dataflow.runAfter(t)},changed(t){const n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},reflow(t){if(t)return this.fork(7).reflow();const n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,o2(this,1))),this},clean(t){return arguments.length?(this.cleans=!!t,this):this.cleans},modifies(t){const n=this.fields||(this.fields={});return T(t)?t.forEach(e=>n[e]=!0):n[t]=!0,this},modified(t,n){const e=this.fields;return!(!n&&!this.mod.length||!e)&&(arguments.length?T(t)?t.some(r=>e[r]):e[t]:!!e)},filter(t,n){const e=this;return 1&t&&(e.addF=oc(e.addF,n)),2&t&&(e.remF=oc(e.remF,n)),4&t&&(e.modF=oc(e.modF,n)),16&t&&(e.srcF=oc(e.srcF,n)),e},materialize(t){const n=this;return 1&(t=t||7)&&n.addF&&(n.add=xp(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=xp(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=xp(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},visit(t,n){const e=this,r=n;if(16&t)return ka(e.source,e.srcF,r),e;1&t&&ka(e.add,e.addF,r),2&t&&ka(e.rem,e.remF,r),4&t&&ka(e.mod,e.modF,r);const i=e.source;if(8&t&&i){const a=e.add.length+e.mod.length;a===i.length||ka(i,a?o2(e,5):e.srcF,r)}return e}},V(wp,ji,{fork(t){const n=new ji(this.dataflow).init(this,t&this.NO_FIELDS);return t!==void 0&&(t&n.ADD&&this.visit(n.ADD,e=>n.add.push(e)),t&n.REM&&this.visit(n.REM,e=>n.rem.push(e)),t&n.MOD&&this.visit(n.MOD,e=>n.mod.push(e))),n},changed(t){return this.changes&t},modified(t){const n=this,e=n.fields;return e&&n.changes&n.MOD?T(t)?t.some(r=>e[r]):e[t]:0},filter(){P("MultiPulse does not support filtering.")},materialize(){P("MultiPulse does not support materialization.")},visit(t,n){const e=this,r=e.pulses,i=r.length;let a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e}});const Ap={skip:!1,force:!1};function p9(t){let n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),u2(n,0,n.length-1,t)),pop:()=>{const e=n.pop();let r;return n.length?(r=n[0],n[0]=e,function(i,a,o){const s=a,u=i.length,l=i[a];let c,f=1+(a<<1);for(;f<u;)c=f+1,c<u&&o(i[f],i[c])>=0&&(f=c),i[a]=i[f],f=1+((a=f)<<1);i[a]=l,u2(i,s,a,o)}(n,0,t)):r=e,r}}}function u2(t,n,e,r){let i,a;const o=t[e];for(;e>n&&(a=e-1>>1,i=t[a],r(o,i)<0);)t[e]=i,e=a;return t[e]=o}function Eo(){this.logger(Vh()),this.logLevel(Vb),this._clock=0,this._rank=0,this._locale=Yb();try{this._loader=Ul()}catch{}this._touched=Ql(Us),this._input={},this._pulse=null,this._heap=p9((t,n)=>t.qrank-n.qrank),this._postrun=[]}function Vs(t){return function(){return this._log[t].apply(this,arguments)}}function O(t,n){Ut.call(this,t,null,n)}Eo.prototype={stamp(){return this._clock},loader(t){return arguments.length?(this._loader=t,this):this._loader},locale(t){return arguments.length?(this._locale=t,this):this._locale},logger(t){return arguments.length?(this._log=t,this):this._log},error:Vs("error"),warn:Vs("warn"),info:Vs("info"),debug:Vs("debug"),logLevel:Vs("level"),cleanThreshold:1e4,add:function(t,n,e,r){let i,a=1;return t instanceof Ut?i=t:t&&t.prototype instanceof Ut?i=new t:bt(t)?i=new Ut(null,t):(a=0,i=new Ut(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},connect:function(t,n){const e=t.rank,r=n.length;for(let i=0;i<r;++i)if(e<n[i].rank)return void this.rerank(t)},rank:function(t){t.rank=++this._rank},rerank:function(t){const n=[t];let e,r,i;for(;n.length;)if(this.rank(e=n.pop()),r=e._targets)for(i=r.length;--i>=0;)n.push(e=r[i]),e===t&&P("Cycle detected in dataflow graph.")},pulse:function(t,n,e){this.touch(t,e||Ap);const r=new ji(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=n.pulse(r,i),this},touch:function(t,n){const e=n||Ap;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},update:function(t,n,e){const r=e||Ap;return(t.set(n)||r.force)&&this.touch(t,r),this},changeset:Ba,ingest:function(t,n,e){return n=this.parse(n,e),this.pulse(t,this.changeset().insert(n))},parse:function(t,n){const e=this.locale();return Jb(t,n,e.timeParse,e.utcParse)},preload:async function(t,n,e){const r=this,i=r._pending||function(o){let s;const u=new Promise(l=>s=l);return u.requests=0,u.done=()=>{--u.requests===0&&(o._pending=null,s(o))},o._pending=u}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(Be).insert(a.data||[])),i.done(),a},request:async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Xb(n&&n.type)});try{r=e.parse(r,n)}catch(a){i=-2,e.warn("Data ingestion failed",t,a)}}catch(a){i=-1,e.warn("Loading failed",t,a)}return{data:r,status:i}},events:function(t,n,e,r){const i=this,a=Pi(e,r),o=function(l){l.dataflow=i;try{a.receive(l)}catch(c){i.error(c)}finally{i.run()}};let s;s=typeof t=="string"&&typeof document<"u"?document.querySelectorAll(t):J(t);const u=s.length;for(let l=0;l<u;++l)s[l].addEventListener(n,o);return a},on:function(t,n,e,r,i){return(t instanceof Ut?h9:d9)(this,t,n,e,r,i),this},evaluate:async function(t,n,e){const r=this,i=[];if(r._pulse)return s2(r);if(r._pending&&await r._pending,n&&await Zl(r,n),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new ji(r,a,t),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ql(Us);let o,s,u,l=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(s=o.run(r._getPulse(o,t)),s.then?s=await s:s.async&&(i.push(s.async),s=ac),s!==ac&&o._targets&&o._targets.forEach(c=>r._enqueue(c)),++l):r._enqueue(o,!0)}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await Zl(r,c[f].callback)}return e&&await Zl(r,e),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r},run:function(t,n,e){return this._pulse?s2(this):(this.evaluate(t,n,e),this)},runAsync:async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},runAfter:function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(r){this.error(r)}},_enqueue:function(t,n){const e=t.stamp<this._clock;e&&(t.stamp=this._clock),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},_getPulse:function(t,n){const e=t.source,r=this._clock;return e&&T(e)?new wp(this,r,e.map(i=>i.pulse),n):this._input[t.id]||function(i,a){return a&&a.stamp===i.stamp?a:(i=i.fork(),a&&a!==ac&&(i.source=a.source),i)}(this._pulse,e&&e.pulse)}},V(O,Ut,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,n.then?n=n.then(e=>this.pulse=e):n!==t.StopPropagation&&(this.pulse=n),n},evaluate(t){const n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},transform(){}});const $o={};function l2(t){const n=c2(t);return n&&n.Definition||null}function c2(t){return t=t&&t.toLowerCase(),tt($o,t)?$o[t]:null}function*f2(t,n){if(n==null)for(let e of t)e!=null&&e!==""&&(e=+e)>=e&&(yield e);else{let e=-1;for(let r of t)r=n(r,++e,t),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function _p(t,n,e){const r=Float64Array.from(f2(t,e));return r.sort(qs),n.map(i=>Hx(r,i))}function kp(t,n){return _p(t,[.25,.5,.75],n)}function Dp(t,n){const e=t.length,r=function(o,s){const u=function(l,c){let f,d=0,h=0,p=0;if(c===void 0)for(let m of l)m!=null&&(m=+m)>=m&&(f=m-h,h+=f/++d,p+=f*(m-h));else{let m=-1;for(let g of l)(g=c(g,++m,l))!=null&&(g=+g)>=g&&(f=g-h,h+=f/++d,p+=f*(g-h))}if(d>1)return p/(d-1)}(o,s);return u&&Math.sqrt(u)}(t,n),i=kp(t,n),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*Math.pow(e,-.2)}function d2(t){const n=t.maxbins||20,e=t.base||10,r=Math.log(e),i=t.divide||[5,2];let a,o,s,u,l,c,f=t.extent[0],d=t.extent[1];const h=t.span||d-f||Math.abs(f)||1;if(t.step)a=t.step;else if(t.steps){for(u=h/n,l=0,c=t.steps.length;l<c&&t.steps[l]<u;++l);a=t.steps[Math.max(0,l-1)]}else{for(o=Math.ceil(Math.log(n)/r),s=t.minstep||0,a=Math.max(s,Math.pow(e,Math.round(Math.log(h)/r)-o));Math.ceil(h/a)>n;)a*=e;for(l=0,c=i.length;l<c;++l)u=a/i[l],u>=s&&h/u<=n&&(a=u)}u=Math.log(a);const p=u>=0?0:1+~~(-u/r),m=Math.pow(e,-p-1);return(t.nice||t.nice===void 0)&&(u=Math.floor(f/a+m)*a,f=f<u?u-a:u,d=Math.ceil(d/a)*a),{start:f,stop:d===f?f+a:d,step:a}}var Ne=Math.random;function h2(t,n,e,r){if(!t.length)return[void 0,void 0];const i=Float64Array.from(f2(t,r)),a=i.length,o=n;let s,u,l,c;for(l=0,c=Array(o);l<o;++l){for(s=0,u=0;u<a;++u)s+=i[~~(Ne()*a)];c[l]=s/a}return c.sort(qs),[pp(c,e/2),pp(c,1-e/2)]}function p2(t,n,e,r){r=r||(d=>d);const i=t.length,a=new Float64Array(i);let o,s=0,u=1,l=r(t[0]),c=l,f=l+n;for(;u<i;++u){if(o=r(t[u]),o>=f){for(c=(l+c)/2;s<u;++s)a[s]=c;f=o+n,l=o}c=o}for(c=(l+c)/2;s<u;++s)a[s]=c;return e?function(d,h){const p=d.length;let m,g,y=0,v=1;for(;d[y]===d[v];)++v;for(;v<p;){for(m=v+1;d[v]===d[m];)++m;if(d[v]-d[v-1]<h){for(g=v+(y+m-v-v>>1);g<v;)d[g++]=d[v];for(;g>v;)d[g--]=d[y]}y=v,v=m}return d}(a,n+n/4):a}const m2=Math.sqrt(2*Math.PI),m9=Math.SQRT2;let Ys=NaN;function sc(t,n){t=t||0,n=n??1;let e,r,i=0,a=0;if(Ys==Ys)i=Ys,Ys=NaN;else{do i=2*Ne()-1,a=2*Ne()-1,e=i*i+a*a;while(e===0||e>1);r=Math.sqrt(-2*Math.log(e)/e),i*=r,Ys=a*r}return t+i*n}function Fp(t,n,e){const r=(t-(n||0))/(e=e??1);return Math.exp(-.5*r*r)/(e*m2)}function uc(t,n,e){const r=(t-(n=n||0))/(e=e??1),i=Math.abs(r);let a;if(i>37)a=0;else{const o=Math.exp(-i*i/2);let s;i<7.07106781186547?(s=.0352624965998911*i+.700383064443688,s=s*i+6.37396220353165,s=s*i+33.912866078383,s=s*i+112.079291497871,s=s*i+221.213596169931,s=s*i+220.206867912376,a=o*s,s=.0883883476483184*i+1.75566716318264,s=s*i+16.064177579207,s=s*i+86.7807322029461,s=s*i+296.564248779674,s=s*i+637.333633378831,s=s*i+793.826512519948,s=s*i+440.413735824752,a/=s):(s=i+.65,s=i+4/s,s=i+3/s,s=i+2/s,s=i+1/s,a=o/s/2.506628274631)}return r>0?1-a:a}function lc(t,n,e){return t<0||t>1?NaN:(n||0)+(e??1)*m9*function(r){let i,a=-Math.log((1-r)*(1+r));return a<6.25?(a-=3.125,i=-364441206401782e-35,i=i*a-16850591381820166e-35,i=128584807152564e-32+i*a,i=11157877678025181e-33+i*a,i=i*a-1333171662854621e-31,i=20972767875968562e-33+i*a,i=6637638134358324e-30+i*a,i=i*a-4054566272975207e-29,i=i*a-8151934197605472e-29,i=26335093153082323e-28+i*a,i=i*a-12975133253453532e-27,i=i*a-5415412054294628e-26,i=10512122733215323e-25+i*a,i=i*a-4112633980346984e-24,i=i*a-29070369957882005e-24,i=42347877827932404e-23+i*a,i=i*a-13654692000834679e-22,i=i*a-13882523362786469e-21,i=.00018673420803405714+i*a,i=i*a-.000740702534166267,i=i*a-.006033670871430149,i=.24015818242558962+i*a,i=1.6536545626831027+i*a):a<16?(a=Math.sqrt(a)-3.25,i=22137376921775787e-25,i=9075656193888539e-23+i*a,i=i*a-27517406297064545e-23,i=18239629214389228e-24+i*a,i=15027403968909828e-22+i*a,i=i*a-4013867526981546e-21,i=29234449089955446e-22+i*a,i=12475304481671779e-21+i*a,i=i*a-47318229009055734e-21,i=6828485145957318e-20+i*a,i=24031110387097894e-21+i*a,i=i*a-.0003550375203628475,i=.0009532893797373805+i*a,i=i*a-.0016882755560235047,i=.002491442096107851+i*a,i=i*a-.003751208507569241,i=.005370914553590064+i*a,i=1.0052589676941592+i*a,i=3.0838856104922208+i*a):Number.isFinite(a)?(a=Math.sqrt(a)-5,i=-27109920616438573e-27,i=i*a-2555641816996525e-25,i=15076572693500548e-25+i*a,i=i*a-3789465440126737e-24,i=761570120807834e-23+i*a,i=i*a-1496002662714924e-23,i=2914795345090108e-23+i*a,i=i*a-6771199775845234e-23,i=22900482228026655e-23+i*a,i=i*a-99298272942317e-20,i=4526062597223154e-21+i*a,i=i*a-1968177810553167e-20,i=7599527703001776e-20+i*a,i=i*a-.00021503011930044477,i=i*a-.00013871931833623122,i=1.0103004648645344+i*a,i=4.849906401408584+i*a):i=1/0,i*r}(2*t-1)}function Cp(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>sc(e,r),pdf:a=>Fp(a,e,r),cdf:a=>uc(a,e,r),icdf:a=>lc(a,e,r)};return i.mean(t).stdev(n)}function Ep(t,n){const e=Cp();let r=0;const i={data(a){return arguments.length?(t=a,r=a?a.length:0,i.bandwidth(n)):t},bandwidth(a){return arguments.length?(!(n=a)&&t&&(n=Dp(t)),i):n},sample:()=>t[~~(Ne()*r)]+n*e.sample(),pdf(a){let o=0,s=0;for(;s<r;++s)o+=e.pdf((a-t[s])/n);return o/n/r},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e.cdf((a-t[s])/n);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(t)}function $p(t,n){return t=t||0,n=n??1,Math.exp(t+sc()*n)}function Sp(t,n,e){if(t<=0)return 0;n=n||0,e=e??1;const r=(Math.log(t)-n)/e;return Math.exp(-.5*r*r)/(e*m2*t)}function Mp(t,n,e){return uc(Math.log(t),n,e)}function Bp(t,n,e){return Math.exp(lc(t,n,e))}function g2(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>$p(e,r),pdf:a=>Sp(a,e,r),cdf:a=>Mp(a,e,r),icdf:a=>Bp(a,e,r)};return i.mean(t).stdev(n)}function y2(t,n){let e,r=0;const i={weights(a){return arguments.length?(e=function(o){const s=[];let u,l=0;for(u=0;u<r;++u)l+=s[u]=o[u]==null?1:+o[u];for(u=0;u<r;++u)s[u]/=l;return s}(n=a||[]),i):n},distributions(a){return arguments.length?(a?(r=a.length,t=a):(r=0,t=[]),i.weights(n)):t},sample(){const a=Ne();let o=t[r-1],s=e[0],u=0;for(;u<r-1;s+=e[++u])if(a<s){o=t[u];break}return o.sample()},pdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].pdf(a);return o},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].cdf(a);return o},icdf(){throw Error("Mixture icdf not supported.")}};return i.distributions(t).weights(n)}function zp(t,n){return n==null&&(n=t??1,t=0),t+(n-t)*Ne()}function Op(t,n,e){return e==null&&(e=n??1,n=0),t>=n&&t<=e?1/(e-n):0}function Np(t,n,e){return e==null&&(e=n??1,n=0),t<n?0:t>e?1:(t-n)/(e-n)}function Rp(t,n,e){return e==null&&(e=n??1,n=0),t>=0&&t<=1?n+t*(e-n):NaN}function v2(t,n){let e,r;const i={min(a){return arguments.length?(e=a||0,i):e},max(a){return arguments.length?(r=a??1,i):r},sample:()=>zp(e,r),pdf:a=>Op(a,e,r),cdf:a=>Np(a,e,r),icdf:a=>Rp(a,e,r)};return n==null&&(n=t??1,t=0),i.min(t).max(n)}function Tp(t,n,e){let r=0,i=0;for(const a of t){const o=e(a);n(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Xs(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function cc(t,n,e,r){t=t.filter(h=>{let p=n(h),m=e(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&t.sort((h,p)=>n(h)-n(p));const i=t.length,a=new Float64Array(i),o=new Float64Array(i);let s,u,l,c=0,f=0,d=0;for(l of t)a[c]=s=+n(l),o[c]=u=+e(l),++c,f+=(s-f)/c,d+=(u-d)/c;for(c=0;c<i;++c)a[c]-=f,o[c]-=d;return[a,o,f,d]}function Js(t,n,e,r){let i,a,o=-1;for(const s of t)i=n(s),a=e(s),i!=null&&(i=+i)>=i&&a!=null&&(a=+a)>=a&&r(i,a,++o)}function So(t,n,e,r,i){let a=0,o=0;return Js(t,n,e,(s,u)=>{const l=u-i(s),c=u-r;a+=l*l,o+=c*c}),1-a/o}function Pp(t,n,e){let r=0,i=0,a=0,o=0,s=0;Js(t,n,e,(c,f)=>{++s,r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Xs(r,i,a,o),l=c=>u[0]+u[1]*c;return{coef:u,predict:l,rSquared:So(t,n,e,i,l)}}function b2(t,n,e){let r=0,i=0,a=0,o=0,s=0;Js(t,n,e,(c,f)=>{++s,c=Math.log(c),r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Xs(r,i,a,o),l=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:l,rSquared:So(t,n,e,i,l)}}function x2(t,n,e){const[r,i,a,o]=cc(t,n,e);let s,u,l,c=0,f=0,d=0,h=0,p=0;Js(t,n,e,(v,x)=>{s=r[p++],u=Math.log(x),l=s*x,c+=(x*u-c)/p,f+=(l-f)/p,d+=(l*u-d)/p,h+=(s*l-h)/p});const[m,g]=Xs(f/o,c/o,d/o,h/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:So(t,n,e,o,y)}}function w2(t,n,e){let r=0,i=0,a=0,o=0,s=0,u=0;Js(t,n,e,(f,d)=>{const h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,s+=(d-s)/u});const l=Xs(r,i,a,o),c=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:So(t,n,e,s,c)}}function jp(t,n,e){const[r,i,a,o]=cc(t,n,e),s=r.length;let u,l,c,f,d=0,h=0,p=0,m=0,g=0;for(u=0;u<s;)l=r[u],c=i[u++],f=l*l,d+=(f-d)/u,h+=(f*l-h)/u,p+=(f*f-p)/u,m+=(l*c-m)/u,g+=(f*c-g)/u;const y=p-d*d,v=d*y-h*h,x=(g*d-m*h)/v,b=(m*y-g*h)/v,w=-x*d,A=_=>x*(_-=a)*_+b*_+w+o;return{coef:[w-b*a+x*a*a+o,b-2*x*a,x],predict:A,rSquared:So(t,n,e,o,A)}}function A2(t,n,e,r){if(r===0)return Tp(t,n,e);if(r===1)return Pp(t,n,e);if(r===2)return jp(t,n,e);const[i,a,o,s]=cc(t,n,e),u=i.length,l=[],c=[],f=r+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d)*a[p];for(l.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d+h);g[h]=m}c.push(g)}c.push(l);const y=function(x){const b=x.length-1,w=[];let A,_,k,D,C;for(A=0;A<b;++A){for(D=A,_=A+1;_<b;++_)Math.abs(x[A][_])>Math.abs(x[A][D])&&(D=_);for(k=A;k<b+1;++k)C=x[k][A],x[k][A]=x[k][D],x[k][D]=C;for(_=A+1;_<b;++_)for(k=b;k>=A;k--)x[k][_]-=x[k][A]*x[A][_]/x[A][A]}for(_=b-1;_>=0;--_){for(C=0,k=_+1;k<b;++k)C+=x[k][_]*w[k];w[_]=(x[b][_]-C)/x[_][_]}return w}(c),v=x=>{x-=o;let b=s+y[0]+y[1]*x+y[2]*x*x;for(d=3;d<f;++d)b+=y[d]*Math.pow(x,d);return b};return{coef:g9(f,y,-o,s),predict:v,rSquared:So(t,n,e,s,v)}}function g9(t,n,e,r){const i=Array(t);let a,o,s,u;for(a=0;a<t;++a)i[a]=0;for(a=t-1;a>=0;--a)for(s=n[a],u=1,i[a]+=s,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=s*Math.pow(e,o)*u;return i[0]+=r,i}function _2(t,n,e,r){const[i,a,o,s]=cc(t,n,e,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=2;){const p=[0,l-1];for(let g=0;g<u;++g){const y=i[g],v=p[0],x=p[1],b=y-i[v]>i[x]-y?v:x;let w=0,A=0,_=0,k=0,D=0;const C=1/Math.abs(i[b]-y||1);for(let $=v;$<=x;++$){const M=i[$],S=a[$],B=y9(Math.abs(y-M)*C)*d[$],z=M*B;w+=B,A+=z,_+=S*B,k+=S*z,D+=M*z}const[F,E]=Xs(A/w,_/w,k/w,D/w);c[g]=F+E*y,f[g]=Math.abs(a[g]-c[g]),v9(i,g+1,p)}if(h===2)break;const m=Gx(f);if(Math.abs(m)<1e-12)break;for(let g,y,v=0;v<u;++v)g=f[v]/(6*m),d[v]=g>=1?1e-12:(y=1-g*g)*y}return function(h,p,m,g){const y=h.length,v=[];let x,b=0,w=0,A=[];for(;b<y;++b)x=h[b]+m,A[0]===x?A[1]+=(p[b]-A[1])/++w:(w=0,A[1]+=g,A=[x,p[b]],v.push(A));return A[1]+=g,v}(i,c,o,s)}function y9(t){return(t=1-t*t*t)*t*t}function v9(t,n,e){const r=t[n];let i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const b9=.5*Math.PI/180;function fc(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=m=>[m,t(m)],a=n[0],o=n[1],s=o-a,u=s/r,l=[i(a)],c=[];if(e===r){for(let m=1;m<r;++m)l.push(i(a+m/e*s));return l.push(i(o)),l}c.push(i(o));for(let m=e;--m>0;)c.push(i(a+m/e*s));let f=l[0],d=c[c.length-1];const h=1/s,p=function(m,g){let y=m,v=m;const x=g.length;for(let b=0;b<x;++b){const w=g[b][1];w<y&&(y=w),w>v&&(v=w)}return 1/(v-y)}(f[1],c);for(;d;){const m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&x9(f,m,d,h,p)>b9?c.push(m):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l}function x9(t,n,e,r,i){const a=Math.atan2(i*(e[1]-t[1]),r*(e[0]-t[0])),o=Math.atan2(i*(n[1]-t[1]),r*(n[0]-t[0]));return Math.abs(a-o)}function Lp(t){return t&&t.length?t.length===1?t[0]:(n=t,e=>{const r=n.length;let i=1,a=String(n[0](e));for(;i<r;++i)a+="|"+n[i](e);return a}):function(){return""};var n}function k2(t,n,e){return e||t+(n?"_"+n:"")}const qp=()=>{},w9={init:qp,add:qp,rem:qp,idx:0},Ks={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:void 0,add:(t,n)=>t.sum+=+n,rem:(t,n)=>t.sum-=n},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,n)=>t.product*=n,rem:(t,n)=>t.product/=n},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,n)=>(t.mean_d=n-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,n)=>(t.mean_d=n-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,n)=>t.dev+=t.mean_d*(n-t.mean),rem:(t,n)=>t.dev-=t.mean_d*(n-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,n)=>{(n<t.min||t.min===void 0)&&(t.min=n)},rem:(t,n)=>{n<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,n)=>{(n>t.max||t.max===void 0)&&(t.max=n)},rem:(t,n)=>{n>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,n,e)=>{n<t.min&&(t.argmin=e)},rem:(t,n)=>{n<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,n,e)=>{n>t.max&&(t.argmax=e)},rem:(t,n)=>{n>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(t,n)=>{t.exp=0,t.exp_r=n},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):void 0,add:(t,n)=>t.exp=t.exp_r*t.exp+n,rem:(t,n)=>t.exp=(t.exp-n/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):void 0,req:["exponential"],idx:1}},Qs=Object.keys(Ks).filter(t=>t!=="__count__");function D2(t,n,e){return Ks[t](e,n)}function F2(t,n){return t.idx-n.idx}function A9(){this.valid=0,this.missing=0,this._ops.forEach(t=>t.aggregate_param==null?t.init(this):t.init(this,t.aggregate_param))}function _9(t,n){t!=null&&t!==""?t==t&&(++this.valid,this._ops.forEach(e=>e.add(this,t,n))):++this.missing}function k9(t,n){t!=null&&t!==""?t==t&&(--this.valid,this._ops.forEach(e=>e.rem(this,t,n))):--this.missing}function D9(t){return this._out.forEach(n=>t[n.out]=n.value(this)),t}function C2(t,n){const e=n||Me,r=function(o){const s={};o.forEach(l=>s[l.name]=l);const u=l=>{l.req&&l.req.forEach(c=>{s[c]||u(s[c]=Ks[c]())})};return o.forEach(u),Object.values(s).sort(F2)}(t),i=t.slice().sort(F2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=A9,a.prototype.add=_9,a.prototype.rem=k9,a.prototype.set=D9,a.prototype.get=e,a.fields=t.map(o=>o.out),a}function Up(t){this._key=t?ei(t):st,this.reset()}[...Qs,"__count__"].forEach(t=>{Ks[t]=function(n,e){return(r,i)=>xt({name:n,aggregate_param:i,out:r||n},w9,e)}(t,Ks[t])});const kn=Up.prototype;function Li(t){O.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}kn.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},kn.add=function(t){this._add.push(t)},kn.rem=function(t){this._rem.push(t)},kn.values=function(){if(this._get=null,this._rem.length===0)return this._add;const t=this._add,n=this._rem,e=this._key,r=t.length,i=n.length,a=Array(r-i),o={};let s,u,l;for(s=0;s<i;++s)o[e(n[s])]=1;for(s=0,u=0;s<r;++s)o[e(l=t[s])]?o[e(l)]=0:a[u++]=l;return this._rem=[],this._add=a},kn.distinct=function(t){const n=this.values(),e={};let r,i=n.length,a=0;for(;--i>=0;)r=t(n[i])+"",tt(e,r)||(e[r]=1,++a);return a},kn.extent=function(t){if(this._get!==t||!this._ext){const n=this.values(),e=rx(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},kn.argmin=function(t){return this.extent(t)[0]||{}},kn.argmax=function(t){return this.extent(t)[1]||{}},kn.min=function(t){const n=this.extent(t)[0];return n!=null?t(n):void 0},kn.max=function(t){const n=this.extent(t)[1];return n!=null?t(n):void 0},kn.quartile=function(t){return this._get===t&&this._q||(this._q=kp(this.values(),t),this._get=t),this._q},kn.q1=function(t){return this.quartile(t)[0]},kn.q2=function(t){return this.quartile(t)[1]},kn.q3=function(t){return this.quartile(t)[2]},kn.ci=function(t){return this._get===t&&this._ci||(this._ci=h2(this.values(),1e3,.05,t),this._get=t),this._ci},kn.ci0=function(t){return this.ci(t)[0]},kn.ci1=function(t){return this.ci(t)[1]},Li.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Qs},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},V(Li,O,{transform(t,n){const e=this,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.modified();return e.stamp=r.stamp,e.value&&(i||n.modified(e._inputs,!0))?(e._prev=e.value,e.value=i?e.init(t):Object.create(null),n.visit(n.SOURCE,a=>e.add(a))):(e.value=e.value||e.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),r.modifies(e._outputs),e._drop=t.drop!==!1,t.cross&&e._dims.length>1&&(e._drop=!1,e.cross()),n.clean()&&e._drop&&r.clean(!0).runAfter(()=>this.clean()),e.changes(r)},cross(){const t=this,n=t.value,e=t._dnames,r=e.map(()=>({})),i=e.length;function a(o){let s,u,l,c;for(s in o)for(l=o[s].tuple,u=0;u<i;++u)r[u][c=l[e[u]]]=c}a(t._prev),a(n),function o(s,u,l){const c=e[l],f=r[l++];for(const d in f){const h=s?s+"|"+d:d;u[c]=f[d],l<i?o(h,u,l):n[h]||t.cell(h,u)}}("",{},0)},init(t){const n=this._inputs=[],e=this._outputs=[],r={};function i(v){const x=J(Wn(v)),b=x.length;let w,A=0;for(;A<b;++A)r[w=x[A]]||(r[w]=1,n.push(w))}this._dims=J(t.groupby),this._dnames=this._dims.map(v=>{const x=en(v);return i(v),e.push(x),x}),this.cellkey=t.key?t.key:Lp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const a=t.fields||[null],o=t.ops||["count"],s=t.aggregate_params||[null],u=t.as||[],l=a.length,c={};let f,d,h,p,m,g,y;for(l!==o.length&&P("Unmatched number of fields and aggregate ops."),y=0;y<l;++y)f=a[y],d=o[y],h=s[y]||null,f==null&&d!=="count"&&P("Null aggregate field specified."),m=en(f),g=k2(d,m,u[y]),e.push(g),d!=="count"?(p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(D2(d,h,g))):this._counts.push(g);return this._measures=this._measures.map(v=>C2(v,v.field)),Object.create(null)},cellkey:Lp(),cell(t,n){let e=this.value[t];return e?e.num===0&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},newcell(t,n){const e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){const r=this._measures,i=r.length;e.agg=Array(i);for(let a=0;a<i;++a)e.agg[a]=new r[a](e)}return e.store&&(e.data=new Up),e},newtuple(t,n){const e=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[e[o]]=r[o](t);return n?r2(n.tuple,a):St(a)},clean(){const t=this.value;for(const n in t)t[n].num===0&&delete t[n]},add(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num+=1,this._countOnly)return;e.store&&e.data.add(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(t),t)},rem(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num-=1,this._countOnly)return;e.store&&e.data.rem(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(t),t)},celltuple(t){const n=t.tuple,e=this._counts;t.store&&t.data.values();for(let r=0,i=e.length;r<i;++r)n[e[r]]=t.num;if(!this._countOnly){const r=t.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(n)}return n},changes(t){const n=this._adds,e=this._mods,r=this._prev,i=this._drop,a=t.add,o=t.rem,s=t.mod;let u,l,c,f;if(r)for(l in r)u=r[l],i&&!u.num||o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(n[c])),n[c]=null;for(c=0,f=this._mlen;c<f;++c)u=e[c],(u.num===0&&i?o:s).push(this.celltuple(u)),e[c]=null;return this._alen=this._mlen=0,this._prev=null,t}});function Ip(t){O.call(this,null,t)}function E2(t,n,e){const r=t;let i=n||[],a=e||[],o={},s=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++s,size:()=>i.length,data:(u,l)=>(s&&(i=i.filter(c=>!o[r(c)]),o={},s=0),l&&u&&i.sort(u),a.length&&(i=u?ex(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Wp(t){O.call(this,[],t)}function $2(t){Ut.call(this,null,F9,t)}function F9(t){return this.value&&!t.modified()?this.value:Qh(t.fields,t.orders)}function Hp(t){O.call(this,null,t)}function Gp(t){O.call(this,null,t)}Ip.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},V(Ip,O,{transform(t,n){const e=t.interval!==!1,r=this._bins(t),i=r.start,a=r.step,o=t.as||["bin0","bin1"],s=o[0],u=o[1];let l;return l=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(Wn(t.field))?n.ADD_MOD:n.ADD,n.visit(l,e?c=>{const f=r(c);c[s]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[s]=r(c)),n.modifies(e?o:s)},_bins(t){if(this.value&&!t.modified())return this.value;const n=t.field,e=d2(t),r=e.step;let i,a,o=e.start,s=o+Math.ceil((e.stop-o)/r)*r;(i=t.anchor)!=null&&(a=i-(o+r*Math.floor((i-o)/r)),o+=a,s+=a);const u=function(l){let c=ze(n(l));return c==null?null:c<o?-1/0:c>s?1/0:(c=Math.max(o,Math.min(c,s-r)),o+r*Math.floor(1e-14+(c-o)/r))};return u.start=o,u.stop=e.stop,u.step=r,this.value=ko(u,Wn(n),t.name||"bin_"+en(n))}}),Wp.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},V(Wp,O,{transform(t,n){const e=n.fork(n.ALL),r=E2(st,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(Ma(i),a),n.source&&n.source.root&&(this.value.root=n.source.root),e}}),V($2,Ut),Hp.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},V(Hp,O,{transform(t,n){const e=f=>d=>{for(var h,p=function(y,v,x){switch(v){case"upper":y=y.toUpperCase();break;case"lower":y=y.toLowerCase()}return y.match(x)}(s(d),t.case,a)||[],m=0,g=p.length;m<g;++m)o.test(h=p[m])||f(h)},r=this._parameterCheck(t,n),i=this._counts,a=this._match,o=this._stop,s=t.field,u=t.as||["text","count"],l=e(f=>i[f]=1+(i[f]||0)),c=e(f=>i[f]-=1);return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,u)},_parameterCheck(t,n){let e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},_finish(t,n){const e=this._counts,r=this._tuples||(this._tuples={}),i=n[0],a=n[1],o=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,u,l;for(s in e)u=r[s],l=e[s]||0,!u&&l?(r[s]=u=St({}),u[i]=s,u[a]=l,o.add.push(u)):l===0?(u&&o.rem.push(u),e[s]=null,r[s]=null):u[a]!==l&&(u[a]=l,o.mod.push(u));return o.modifies(n)}}),Gp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},V(Gp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.as||["a","b"],i=r[0],a=r[1],o=!this.value||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;return o?(s&&(e.rem=s),s=n.materialize(n.SOURCE).source,e.add=this.value=function(u,l,c,f){for(var d,h,p=[],m={},g=u.length,y=0;y<g;++y)for(m[l]=h=u[y],d=0;d<g;++d)m[c]=u[d],f(m)&&(p.push(St(m)),(m={})[l]=h);return p}(s,i,a,t.filter||Be)):e.mod=s,e.source=this.value,e.modifies(r)}});const S2={kde:Ep,mixture:y2,normal:Cp,lognormal:g2,uniform:v2},M2="function";function B2(t,n){const e=t[M2];tt(S2,e)||P("Unknown distribution function: "+e);const r=S2[e]();for(const i in t)i==="field"?r.data((t.from||n()).map(t[i])):i==="distributions"?r[i](t[i].map(a=>B2(a,n))):typeof r[i]===M2&&r[i](t[i]);return r}function Vp(t){O.call(this,null,t)}const z2=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],C9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:z2},{name:"weights",type:"number",array:!0}]};function O2(t,n){return t?t.map((e,r)=>n[r]||en(e)):null}function Yp(t,n,e){const r=[],i=f=>f(u);let a,o,s,u,l,c;if(n==null)r.push(t.map(e));else for(a={},o=0,s=t.length;o<s;++o)u=t[o],l=n.map(i),c=a[l],c||(a[l]=c=[],c.dims=l,r.push(c)),c.push(e(u));return r}Vp.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:z2.concat(C9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(Vp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=B2(t.distribution,function(l){return()=>l.materialize(l.SOURCE).source}(n)),i=t.steps||t.minsteps||25,a=t.steps||t.maxsteps||200;let o=t.method||"pdf";o!=="pdf"&&o!=="cdf"&&P("Invalid density method: "+o),t.extent||r.data||P("Missing density extent parameter."),o=r[o];const s=t.as||["value","density"],u=fc(o,t.extent||kr(r.data()),i,a).map(l=>{const c={};return c[s[0]]=l[0],c[s[1]]=l[1],St(c)});this.value&&(e.rem=this.value),this.value=e.add=e.source=u}return e}});function Xp(t){O.call(this,null,t)}Xp.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]};function N2(t){Ut.call(this,null,E9,t),this.modified(!0)}function E9(t){const n=t.expr;return this.value&&!t.modified("expr")?this.value:ko(e=>n(e,t),Wn(n),en(n))}function Jp(t){O.call(this,[void 0,void 0],t)}function Kp(t,n){Ut.call(this,t),this.parent=n,this.count=0}function dc(t){O.call(this,{},t),this._keys=Do();const n=this._targets=[];n.active=0,n.forEach=e=>{for(let r=0,i=n.active;r<i;++r)e(n[r],r,n)}}function R2(t){Ut.call(this,null,$9,t)}function $9(t){return this.value&&!t.modified()?this.value:T(t.name)?J(t.name).map(n=>ei(n)):ei(t.name,t.as)}function Qp(t){O.call(this,Do(),t)}function Zp(t){O.call(this,[],t)}function tm(t){O.call(this,[],t)}function nm(t){O.call(this,null,t)}function T2(t){O.call(this,[],t)}V(Xp,O,{transform(t,n){if(this.value&&!t.modified()&&!n.changed())return n;const e=n.materialize(n.SOURCE).source,r=Yp(n.source,t.groupby,Me),i=t.smooth||!1,a=t.field,o=t.step||((p,m)=>Il(kr(p,m))/30)(e,a),s=Ma((p,m)=>a(p)-a(m)),u=t.as||"bin",l=r.length;let c,f=1/0,d=-1/0,h=0;for(;h<l;++h){const p=r[h].sort(s);c=-1;for(const m of p2(p,o,i,a))m<f&&(f=m),m>d&&(d=m),p[++c][u]=m}return this.value={start:f,stop:d,step:o},n.reflow(!0).modifies(u)}}),V(N2,Ut),Jp.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},V(Jp,O,{transform(t,n){const e=this.value,r=t.field,i=n.changed()||n.modified(r.fields)||t.modified("field");let a=e[0],o=e[1];if((i||a==null)&&(a=1/0,o=-1/0),n.visit(i?n.SOURCE:n.ADD,s=>{const u=ze(r(s));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let s=en(r);s&&(s=` for field "${s}"`),n.dataflow.warn(`Infinite extent${s}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),V(Kp,Ut,{connect(t){return this.detachSubflow=t.detachSubflow,this.targets().add(t),t.source=this},add(t){this.count+=1,this.value.add.push(t)},rem(t){this.count-=1,this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}}),V(dc,O,{activate(t){this._targets[this._targets.active++]=t},subflow(t,n,e,r){const i=this.value;let a,o,s=tt(i,t)&&i[t];return s?s.value.stamp<e.stamp&&(s.init(e),this.activate(s)):(o=r||(o=this._group[t])&&o.tuple,a=e.dataflow,s=new Kp(e.fork(e.NO_SOURCE),this),a.add(s).connect(n(a,t,o)),i[t]=s,this.activate(s)),s},clean(){const t=this.value;let n=0;for(const e in t)if(t[e].count===0){const r=t[e].detachSubflow;r&&r(),delete t[e],++n}if(n){const e=this._targets.filter(r=>r&&r.count>0);this.initTargets(e)}},initTargets(t){const n=this._targets,e=n.length,r=t?t.length:0;let i=0;for(;i<r;++i)n[i]=t[i];for(;i<e&&n[i]!=null;++i)n[i]=null;n.active=r},transform(t,n){const e=n.dataflow,r=t.key,i=t.subflow,a=this._keys,o=t.modified("key"),s=u=>this.subflow(u,i,n);return this._group=t.group||{},this.initTargets(),n.visit(n.REM,u=>{const l=st(u),c=a.get(l);c!==void 0&&(a.delete(l),s(c).rem(u))}),n.visit(n.ADD,u=>{const l=r(u);a.set(st(u),l),s(l).add(u)}),o||n.modified(r.fields)?n.visit(n.MOD,u=>{const l=st(u),c=a.get(l),f=r(u);c===f?s(f).mod(u):(a.set(l,f),s(c).rem(u),s(f).add(u))}):n.changed(n.MOD)&&n.visit(n.MOD,u=>{s(a.get(st(u))).mod(u)}),o&&n.visit(n.REFLOW,u=>{const l=st(u),c=a.get(l),f=r(u);c!==f&&(a.set(l,f),s(c).rem(u),s(f).add(u))}),n.clean()?e.runAfter(()=>{this.clean(),a.clean()}):a.empty>e.cleanThreshold&&e.runAfter(a.clean),n}}),V(R2,Ut),Qp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},V(Qp,O,{transform(t,n){const e=n.dataflow,r=this.value,i=n.fork(),a=i.add,o=i.rem,s=i.mod,u=t.expr;let l=!0;function c(f){const d=st(f),h=u(f,t),p=r.get(d);h&&p?(r.delete(d),a.push(f)):h||p?l&&h&&!p&&s.push(f):(r.set(d,1),o.push(f))}return n.visit(n.REM,f=>{const d=st(f);r.has(d)?r.delete(d):o.push(f)}),n.visit(n.ADD,f=>{u(f,t)?a.push(f):r.set(st(f),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i}}),Zp.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},V(Zp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=O2(r,t.as||[]),a=t.index||null,o=i.length;return e.rem=this.value,n.visit(n.SOURCE,s=>{const u=r.map(p=>p(s)),l=u.reduce((p,m)=>Math.max(p,m.length),0);let c,f,d,h=0;for(;h<l;++h){for(f=bp(s),c=0;c<o;++c)f[i[c]]=(d=u[c][h])==null?null:d;a&&(f[a]=h),e.add.push(f)}}),this.value=e.source=e.add,a&&e.modifies(a),e.modifies(i)}}),tm.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},V(tm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=r.map(en),a=t.as||["key","value"],o=a[0],s=a[1],u=r.length;return e.rem=this.value,n.visit(n.SOURCE,l=>{for(let c,f=0;f<u;++f)c=bp(l),c[o]=i[f],c[s]=r[f](l),e.add.push(c)}),this.value=e.source=e.add,e.modifies(a)}}),nm.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},V(nm,O,{transform(t,n){const e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)||n.modified(r)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,o=>o[r]=e(o,t))}}),V(T2,O,{transform(t,n){const e=n.fork(n.ALL),r=t.generator;let i,a,o,s=this.value,u=t.size-s.length;if(u>0){for(i=[];--u>=0;)i.push(o=St(r(t))),s.push(o);e.add=e.add.length?e.materialize(e.ADD).add.concat(i):i}else a=s.slice(0,-u),e.rem=e.rem.length?e.materialize(e.REM).rem.concat(a):a,s=s.slice(-u);return e.source=this.value=s,e}});const hc={value:"value",median:Gx,mean:function(t,n){let e=0,r=0;if(n===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++e,r+=i);else{let i=-1;for(let a of t)(a=n(a,++i,t))!=null&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:op,max:Ca},S9=[];function em(t){O.call(this,[],t)}function rm(t){Li.call(this,t)}function im(t){O.call(this,null,t)}function P2(t){Ut.call(this,null,M9,t)}function M9(t){return this.value&&!t.modified()?this.value:Zh(t.fields,t.flat)}function j2(t){O.call(this,[],t),this._pending=null}function am(t,n,e){e.forEach(St);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.source=r.add=e,t._pending=null,r.rem.length&&r.clean(!0),r}function om(t){O.call(this,{},t)}function L2(t){Ut.call(this,null,B9,t)}function B9(t){if(this.value&&!t.modified())return this.value;const n=t.extents,e=n.length;let r,i,a=1/0,o=-1/0;for(r=0;r<e;++r)i=n[r],i[0]<a&&(a=i[0]),i[1]>o&&(o=i[1]);return[a,o]}function q2(t){Ut.call(this,null,z9,t)}function z9(t){return this.value&&!t.modified()?this.value:t.values.reduce((n,e)=>n.concat(e),[])}function U2(t){O.call(this,null,t)}function sm(t){Li.call(this,t)}function I2(t){dc.call(this,t)}function um(t){O.call(this,null,t)}function W2(t){O.call(this,null,t)}function lm(t){O.call(this,null,t)}em.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},V(em,O,{transform(t,n){var e,r,i,a,o,s,u,l,c,f,d=n.fork(n.ALL),h=function(A){var _,k=A.method||hc.value;if(hc[k]!=null)return k===hc.value?(_=A.value!==void 0?A.value:0,()=>_):hc[k];P("Unrecognized imputation method: "+k)}(t),p=function(A){const _=A.field;return k=>k?_(k):NaN}(t),m=en(t.field),g=en(t.key),y=(t.groupby||[]).map(en),v=function(A,_,k,D){var C,F,E,$,M,S,B,z,j=ot=>ot(z),W=[],K=D?D.slice():[],q={},at={};for(K.forEach((ot,it)=>q[ot]=it+1),$=0,B=A.length;$<B;++$)S=k(z=A[$]),M=q[S]||(q[S]=K.push(S)),(E=at[F=(C=_?_.map(j):S9)+""])||(E=at[F]=[],W.push(E),E.values=C),E[M-1]=z;return W.domain=K,W}(n.source,t.groupby,t.key,t.keyvals),x=[],b=this.value,w=v.domain.length;for(o=0,l=v.length;o<l;++o)for(i=(e=v[o]).values,r=NaN,u=0;u<w;++u)if(e[u]==null){for(a=v.domain[u],f={_impute:!0},s=0,c=i.length;s<c;++s)f[y[s]]=i[s];f[g]=a,f[m]=Number.isNaN(r)?r=h(e,p):r,x.push(St(f))}return x.length&&(d.add=d.materialize(d.ADD).add.concat(x)),b.length&&(d.rem=d.materialize(d.REM).rem.concat(b)),this.value=x,d}}),rm.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:Qs},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},V(rm,Li,{transform(t,n){const e=this,r=t.modified();let i;return e.value&&(r||n.modified(e._inputs,!0))?(i=e.value=r?e.init(t):{},n.visit(n.SOURCE,a=>e.add(a))):(i=e.value=e.value||this.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),e.changes(),n.visit(n.SOURCE,a=>{xt(a,i[e.cellkey(a)].tuple)}),n.reflow(r).modifies(this._outputs)},changes(){const t=this._adds,n=this._mods;let e,r;for(e=0,r=this._alen;e<r;++e)this.celltuple(t[e]),t[e]=null;for(e=0,r=this._mlen;e<r;++e)this.celltuple(n[e]),n[e]=null;this._alen=this._mlen=0}}),im.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(im,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=n.materialize(n.SOURCE).source,i=Yp(r,t.groupby,t.field),a=(t.groupby||[]).map(en),o=t.bandwidth,s=t.cumulative?"cdf":"pdf",u=t.as||["value","density"],l=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;s!=="pdf"&&s!=="cdf"&&P("Invalid density method: "+s),t.resolve==="shared"&&(c||(c=kr(r,t.field)),f=d=t.steps||d),i.forEach(h=>{const p=Ep(h,o)[s],m=t.counts?h.length:1;fc(p,c||kr(h),f,d).forEach(g=>{const y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[u[0]]=g[0],y[u[1]]=g[1]*m,l.push(St(y))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e}}),V(P2,Ut),V(j2,O,{transform(t,n){const e=n.dataflow;return this._pending?am(this,n,this._pending):function(r){return r.modified("async")&&!(r.modified("values")||r.modified("url")||r.modified("format"))}(t)?n.StopPropagation:t.values?am(this,n,e.parse(t.values,t.format)):t.async?{async:e.request(t.url,t.format).then(i=>(this._pending=J(i.data),a=>a.touch(this)))}:e.request(t.url,t.format).then(r=>am(this,n,J(r.data)))}}),om.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},V(om,O,{transform(t,n){const e=t.fields,r=t.index,i=t.values,a=t.default==null?null:t.default,o=t.modified(),s=e.length;let u,l,c,f=o?n.SOURCE:n.ADD,d=n,h=t.as;return i?(l=i.length,s>1&&!h&&P('Multi-field lookup requires explicit "as" parameter.'),h&&h.length!==s*l&&P('The "as" parameter has too few output field names.'),h=h||i.map(en),u=function(p){for(var m,g,y=0,v=0;y<s;++y)if((g=r.get(e[y](p)))==null)for(m=0;m<l;++m,++v)p[h[v]]=a;else for(m=0;m<l;++m,++v)p[h[v]]=i[m](g)}):(h||P("Missing output field names."),u=function(p){for(var m,g=0;g<s;++g)m=r.get(e[g](p)),p[h[g]]=m??a}),o?d=n.reflow(!0):(c=e.some(p=>n.modified(p.fields)),f|=c?n.MOD:0),n.visit(f,u),d.modifies(h)}}),V(L2,Ut),V(q2,Ut),V(U2,O,{transform(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),sm.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Qs,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},V(sm,Li,{_transform:Li.prototype.transform,transform(t,n){return this._transform(function(e,r){const i=e.field,a=e.value,o=(e.op==="count"?"__count__":e.op)||"sum",s=Wn(i).concat(Wn(a)),u=function(l,c,f){const d={},h=[];return f.visit(f.SOURCE,p=>{const m=l(p);d[m]||(d[m]=1,h.push(m))}),h.sort(Xh),c?h.slice(0,c):h}(i,e.limit||0,r);return r.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:u.map(()=>o),fields:u.map(l=>function(c,f,d,h){return ko(p=>f(p)===c?d(p):NaN,h,c+"")}(l,i,a,s)),as:u.map(l=>l+""),modified:e.modified.bind(e)}}(t,n),n)}}),V(I2,dc,{transform(t,n){const e=t.subflow,r=t.field,i=a=>this.subflow(st(a),e,n,a);return(t.modified("field")||r&&n.modified(Wn(r)))&&P("PreFacet does not support field modification."),this.initTargets(),r?(n.visit(n.MOD,a=>{const o=i(a);r(a).forEach(s=>o.mod(s))}),n.visit(n.ADD,a=>{const o=i(a);r(a).forEach(s=>o.add(St(s)))}),n.visit(n.REM,a=>{const o=i(a);r(a).forEach(s=>o.rem(s))})):(n.visit(n.MOD,a=>i(a).mod(a)),n.visit(n.ADD,a=>i(a).add(a)),n.visit(n.REM,a=>i(a).rem(a))),n.clean()&&n.runAfter(()=>this.clean()),n}}),um.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},V(um,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=O2(t.fields,t.as||[]),a=r?(s,u)=>function(l,c,f,d){for(let h=0,p=f.length;h<p;++h)c[d[h]]=f[h](l);return c}(s,u,r,i):nc;let o;return this.value?o=this.value:(n=n.addAll(),o=this.value={}),n.visit(n.REM,s=>{const u=st(s);e.rem.push(o[u]),o[u]=null}),n.visit(n.ADD,s=>{const u=a(s,St({}));o[st(s)]=u,e.add.push(u)}),n.visit(n.MOD,s=>{e.mod.push(a(s,o[st(s)]))}),e}}),V(W2,O,{transform(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}}),lm.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};function H2(t){O.call(this,null,t)}function cm(t){O.call(this,[],t),this.count=0}function fm(t){O.call(this,null,t)}function G2(t){O.call(this,null,t),this.modified(!0)}function dm(t){O.call(this,null,t)}V(lm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=t.as||["prob","value"];if(this.value&&!t.modified()&&!n.changed())return e.source=this.value,e;const i=Yp(n.materialize(n.SOURCE).source,t.groupby,t.field),a=(t.groupby||[]).map(en),o=[],s=t.step||.01,u=t.probs||xe(s/2,1-1e-14,s),l=u.length;return i.forEach(c=>{const f=_p(c,u);for(let d=0;d<l;++d){const h={};for(let p=0;p<a.length;++p)h[a[p]]=c.dims[p];h[r[0]]=u[d],h[r[1]]=f[d],o.push(St(h))}}),this.value&&(e.rem=this.value),this.value=e.add=e.source=o,e}}),V(H2,O,{transform(t,n){let e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,i=>{const a=st(i);e.rem.push(r[a]),r[a]=null}),n.visit(n.ADD,i=>{const a=bp(i);r[st(i)]=a,e.add.push(a)}),n.visit(n.MOD,i=>{const a=r[st(i)];for(const o in i)a[o]=i[o],e.modifies(o);e.mod.push(a)})),e}}),cm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},V(cm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.modified("size"),i=t.size,a=this.value.reduce((c,f)=>(c[st(f)]=1,c),{});let o=this.value,s=this.count,u=0;function l(c){let f,d;o.length<i?o.push(c):(d=~~((s+1)*Ne()),d<o.length&&d>=u&&(f=o[d],a[st(f)]&&e.rem.push(f),o[d]=c)),++s}if(n.rem.length&&(n.visit(n.REM,c=>{const f=st(c);a[f]&&(a[f]=-1,e.rem.push(c)),--s}),o=o.filter(c=>a[st(c)]!==-1)),(n.rem.length||r)&&o.length<i&&n.source&&(u=s=o.length,n.visit(n.SOURCE,c=>{a[st(c)]||l(c)}),u=-1),r&&o.length>i){const c=o.length-i;for(let f=0;f<c;++f)a[st(o[f])]=-1,e.rem.push(o[f]);o=o.slice(c)}return n.mod.length&&n.visit(n.MOD,c=>{a[st(c)]&&e.mod.push(c)}),n.add.length&&n.visit(n.ADD,l),(n.add.length||u<0)&&(e.add=o.filter(c=>!a[st(c)])),this.count=s,this.value=e.source=o,e}}),fm.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},V(fm,O,{transform(t,n){if(this.value&&!t.modified())return;const e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=xe(t.start,t.stop,t.step||1).map(i=>{const a={};return a[r]=i,St(a)}),e.add=n.add.concat(this.value),e}}),V(G2,O,{transform(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}});const V2=["unit0","unit1"];function Y2(t){O.call(this,Do(),t)}function X2(t){O.call(this,null,t)}dm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:ix,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:V2}]},V(dm,O,{transform(t,n){const e=t.field,r=t.interval!==!1,i=t.timezone==="utc",a=this._floor(t,n),o=(i?Jh:Kh)(a.unit).offset,s=t.as||V2,u=s[0],l=s[1],c=a.step;let f=a.start||1/0,d=a.stop||-1/0,h=n.ADD;return(t.modified()||n.changed(n.REM)||n.modified(Wn(e)))&&(h=(n=n.reflow(!0)).SOURCE,f=1/0,d=-1/0),n.visit(h,p=>{const m=e(p);let g,y;m==null?(p[u]=null,r&&(p[l]=null)):(p[u]=g=y=a(m),r&&(p[l]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,n.modifies(r?s:u)},_floor(t,n){const e=t.timezone==="utc",{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:Kb({extent:t.extent||kr(n.materialize(n.SOURCE).source,t.field),maxbins:t.maxbins}),a=Qb(r),o=this.value||{},s=(e?Zb:tx)(a,i);return s.unit=Bt(a),s.units=a,s.step=i,s.start=o.start,s.stop=o.stop,this.value=s}}),V(Y2,O,{transform(t,n){const e=n.dataflow,r=t.field,i=this.value,a=s=>i.set(r(s),s);let o=!0;return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,a)):n.changed()?(n.visit(n.REM,s=>i.delete(r(s))),n.visit(n.ADD,a)):o=!1,this.modified(o),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()}}),V(X2,O,{transform(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(Ma(t.sort)):n.source).map(t.field))}});const Zs={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){const t=Zs.rank(),n=t.next;return{init:t.init,next:e=>(n(e)-1)/(e.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{const e=n.data,r=n.compare;let i=n.index;if(t<i){for(;i+1<e.length&&!r(e[i],e[i+1]);)++i;t=i}return(1+t)/e.length}}},ntile:function(t,n){(n=+n)>0||P("ntile num must be greater than zero.");const e=Zs.cume_dist(),r=e.next;return{init:e.init,next:i=>Math.ceil(n*r(i))}},lag:function(t,n){return n=+n||1,{next:e=>{const r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{const r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||P("nth_value nth must be greater than zero."),{next:e=>{const r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n;return{init:()=>n=null,next:e=>{const r=t(e.data[e.index]);return r!=null?n=r:n}}},next_value:function(t){let n,e;return{init:()=>(n=null,e=-1),next:r=>{const i=r.data;return r.index<=e?n:(e=function(a,o,s){for(let u=o.length;s<u;++s)if(a(o[s])!=null)return s;return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}},O9=Object.keys(Zs);function J2(t){const n=J(t.ops),e=J(t.fields),r=J(t.params),i=J(t.aggregate_params),a=J(t.as),o=this.outputs=[],s=this.windows=[],u={},l={},c=[],f=[];let d=!0;function h(p){J(Wn(p)).forEach(m=>u[m]=1)}h(t.sort),n.forEach((p,m)=>{const g=e[m],y=r[m],v=i[m]||null,x=en(g),b=k2(p,x,a[m]);if(h(g),o.push(b),tt(Zs,p))s.push(function(w,A,_,k){const D=Zs[w](A,_);return{init:D.init||tp,update:function(C,F){F[k]=D.next(C)}}}(p,g,y,b));else{if(g==null&&p!=="count"&&P("Null aggregate field specified."),p==="count")return void c.push(b);d=!1;let w=l[x];w||(w=l[x]=[],w.field=g,f.push(w)),w.push(D2(p,v,b))}}),(c.length||f.length)&&(this.cell=function(p,m,g){p=p.map(A=>C2(A,A.field));const y={num:0,agg:null,store:!1,count:m};if(!g)for(var v=p.length,x=y.agg=Array(v),b=0;b<v;++b)x[b]=new p[b](y);if(y.store)var w=y.data=new Up;return y.add=function(A){if(y.num+=1,!g){w&&w.add(A);for(let _=0;_<v;++_)x[_].add(x[_].get(A),A)}},y.rem=function(A){if(y.num-=1,!g){w&&w.rem(A);for(let _=0;_<v;++_)x[_].rem(x[_].get(A),A)}},y.set=function(A){let _,k;for(w&&w.values(),_=0,k=m.length;_<k;++_)A[m[_]]=y.num;if(!g)for(_=0,k=x.length;_<k;++_)x[_].set(A)},y.init=function(){y.num=0,w&&w.reset();for(let A=0;A<v;++A)x[A].init()},y}(f,c,d)),this.inputs=Object.keys(u)}const K2=J2.prototype;function hm(t){O.call(this,{},t),this._mlen=0,this._mods=[]}function N9(t,n,e,r){const i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=t.data(e),u=s.length,l=a?nx(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||In(-1)};n.init();for(let f=0;f<u;++f)R9(c,o,f,u),a&&T9(c,l),n.update(c,s[f])}function R9(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=n[0]==null?0:Math.max(0,e-Math.abs(n[0])),t.i1=n[1]==null?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function T9(t,n){const e=t.i0,r=t.i1-1,i=t.compare,a=t.data,o=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<o&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}K2.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},K2.update=function(t,n){const e=this.cell,r=this.windows,i=t.data,a=r&&r.length;let o;if(e){for(o=t.p0;o<t.i0;++o)e.rem(i[o]);for(o=t.p1;o<t.i1;++o)e.add(i[o]);e.set(n)}for(o=0;o<a;++o)r[o].update(t,n)},hm.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:O9.concat(Qs)},{name:"params",type:"number",null:!0,array:!0},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},V(hm,O,{transform(t,n){this.stamp=n.stamp;const e=t.modified(),r=Ma(t.sort),i=Lp(t.groupby),a=s=>this.group(i(s));let o=this.state;o&&!e||(o=this.state=new J2(t)),e||n.modified(o.inputs)?(this.value={},n.visit(n.SOURCE,s=>a(s).add(s))):(n.visit(n.REM,s=>a(s).remove(s)),n.visit(n.ADD,s=>a(s).add(s)));for(let s=0,u=this._mlen;s<u;++s)N9(this._mods[s],o,r,t);return this._mlen=0,this._mods=[],n.reflow(e).modifies(o.outputs)},group(t){let n=this.value[t];return n||(n=this.value[t]=E2(st),n.stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n}});const P9=Object.freeze(Object.defineProperty({__proto__:null,aggregate:Li,bin:Ip,collect:Wp,compare:$2,countpattern:Hp,cross:Gp,density:Vp,dotbin:Xp,expression:N2,extent:Jp,facet:dc,field:R2,filter:Qp,flatten:Zp,fold:tm,formula:nm,generate:T2,impute:em,joinaggregate:rm,kde:im,key:P2,load:j2,lookup:om,multiextent:L2,multivalues:q2,params:U2,pivot:sm,prefacet:I2,project:um,proxy:W2,quantile:lm,relay:H2,sample:cm,sequence:fm,sieve:G2,subflow:Kp,timeunit:dm,tupleindex:Y2,values:X2,window:hm},Symbol.toStringTag,{value:"Module"}));function Q2(t,n,e){var r=null,i=Hn(!0),a=null,o=jx,s=null,u=Px(l);function l(f){var d,h,p,m,g,y=(f=_8(f)).length,v=!1,x=new Array(y),b=new Array(y);for(a==null&&(s=o(g=u())),d=0;d<=y;++d){if(!(d<y&&i(m=f[d],d,f))===v)if(v=!v)h=d,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),p=d-1;p>=h;--p)s.point(x[p],b[p]);s.lineEnd(),s.areaEnd()}v&&(x[d]=+t(m,d,f),b[d]=+n(m,d,f),s.point(r?+r(m,d,f):x[d],e?+e(m,d,f):b[d]))}if(g)return s=null,g+""||null}function c(){return Lx().defined(i).curve(o).context(a)}return t=typeof t=="function"?t:t===void 0?k8:Hn(+t),n=typeof n=="function"?n:Hn(n===void 0?0:+n),e=typeof e=="function"?e:e===void 0?D8:Hn(+e),l.x=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),r=null,l):t},l.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),l):t},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Hn(+f),l):r},l.y=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),e=null,l):n},l.y0=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),l):n},l.y1=function(f){return arguments.length?(e=f==null?null:typeof f=="function"?f:Hn(+f),l):e},l.lineX0=l.lineY0=function(){return c().x(t).y(n)},l.lineY1=function(){return c().x(t).y(e)},l.lineX1=function(){return c().x(r).y(n)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Hn(!!f),l):i},l.curve=function(f){return arguments.length?(o=f,a!=null&&(s=o(a)),l):o},l.context=function(f){return arguments.length?(f==null?a=s=null:s=o(a=f),l):a},l}const j9={draw(t,n){const e=F8(n/E8);t.moveTo(e,0),t.arc(0,0,e,0,C8)}};function qi(t,n){if(typeof document<"u"&&document.createElement){const e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}const L9=()=>typeof Image<"u"?Image:null;function Z2(t){return Math.log(t)}function tw(t){return Math.exp(t)}function q9(t){return-Math.log(-t)}function U9(t){return-Math.exp(-t)}function I9(t){return isFinite(t)?+("1e"+t):t<0?0:t}function nw(t){return(n,e)=>-t(-n,e)}function pm(t){const n=t(Z2,tw),e=n.domain;let r,i,a=10;function o(){return r=function(s){return s===Math.E?Math.log:s===10&&Math.log10||s===2&&Math.log2||(s=Math.log(s),u=>Math.log(u)/s)}(a),i=function(s){return s===10?I9:s===Math.E?Math.exp:u=>Math.pow(s,u)}(a),e()[0]<0?(r=nw(r),i=nw(i),t(q9,U9)):t(Z2,tw),n}return n.base=function(s){return arguments.length?(a=+s,o()):a},n.domain=function(s){return arguments.length?(e(s),o()):e()},n.ticks=s=>{const u=e();let l=u[0],c=u[u.length-1];const f=c<l;f&&([l,c]=[c,l]);let d,h,p=r(l),m=r(c);const g=s==null?10:+s;let y=[];if(!(a%1)&&m-p<g){if(p=Math.floor(p),m=Math.ceil(m),l>0){for(;p<=m;++p)for(d=1;d<a;++d)if(h=p<0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}}else for(;p<=m;++p)for(d=a-1;d>=1;--d)if(h=p>0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}2*y.length<g&&(y=ax(l,c,g))}else y=ax(p,m,Math.min(m-p,g)).map(i);return f?y.reverse():y},n.tickFormat=(s,u)=>{if(s==null&&(s=10),u==null&&(u=a===10?"s":","),typeof u!="function"&&(a%1||(u=a6(u)).precision!=null||(u.trim=!0),u=o6(u)),s===1/0)return u;const l=Math.max(1,a*s/n.ticks().length);return c=>{let f=c/i(Math.round(r(c)));return f*a<a-.5&&(f*=a),f<=l?u(c):""}},n.nice=()=>e(I6(e(),{floor:s=>i(Math.floor(r(s))),ceil:s=>i(Math.ceil(r(s)))})),n}function ew(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function rw(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function mm(t){var n=1,e=t(ew(n),rw(n));return e.constant=function(r){return arguments.length?t(ew(n=+r),rw(n)):n},Co(e)}function iw(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function W9(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function H9(t){return t<0?-t*t:t*t}function gm(t){var n=t(Ri,Ri),e=1;return n.exponent=function(r){return arguments.length?(e=+r)==1?t(Ri,Ri):e===.5?t(W9,H9):t(iw(e),iw(1/e)):e},Co(n)}function ym(){var t=gm(up());return t.copy=function(){return lp(t,ym()).exponent(t.exponent())},$a.apply(t,arguments),t}function pc(){var t,n,e,r,i,a=0,o=1,s=Ri,u=!1;function l(f){return f==null||isNaN(f=+f)?i:s(e===0?.5:(f=(r(f)-t)*e,u?Math.max(0,Math.min(1,f)):f))}function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,s=f(h,p),l):[s(0),s(1)]}}return l.domain=function(f){return arguments.length?([a,o]=f,t=r(a=+a),n=r(o=+o),e=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(f){return arguments.length?(u=!!f,l):u},l.interpolator=function(f){return arguments.length?(s=f,l):s},l.range=c(Ws),l.rangeRound=c(Gl),l.unknown=function(f){return arguments.length?(i=f,l):i},function(f){return r=f,t=f(a),n=f(o),e=t===n?0:1/(n-t),l}}function Ui(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function vm(){var t=Co(pc()(Ri));return t.copy=function(){return Ui(t,vm())},Ti.apply(t,arguments)}function bm(){var t=gm(pc());return t.copy=function(){return Ui(t,bm()).exponent(t.exponent())},Ti.apply(t,arguments)}function mc(){var t,n,e,r,i,a,o,s=0,u=.5,l=1,c=1,f=Ri,d=!1;function h(m){return isNaN(m=+m)?o:(m=.5+((m=+a(m))-n)*(c*m<c*n?r:i),f(d?Math.max(0,Math.min(1,m)):m))}function p(m){return function(g){var y,v,x;return arguments.length?([y,v,x]=g,f=vp(m,[y,v,x]),h):[f(0),f(.5),f(1)]}}return h.domain=function(m){return arguments.length?([s,u,l]=m,t=a(s=+s),n=a(u=+u),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h):[s,u,l]},h.clamp=function(m){return arguments.length?(d=!!m,h):d},h.interpolator=function(m){return arguments.length?(f=m,h):f},h.range=p(Ws),h.rangeRound=p(Gl),h.unknown=function(m){return arguments.length?(o=m,h):o},function(m){return a=m,t=m(s),n=m(u),e=m(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h}}function xm(){var t=gm(mc());return t.copy=function(){return Ui(t,xm()).exponent(t.exponent())},Ti.apply(t,arguments)}const G9=Fr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),V9=Fr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Y9=Fr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),X9=Fr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),J9=Fr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),K9=Fr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),Q9=Fr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Z9=Fr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),t7=Fr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),n7=Fr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function wm(t,n,e){const r=t-n+2*e;return t?r>0?r:1:0}const Mo="linear",ri="log",tu="pow",nu="sqrt",gc="symlog",za="time",Oa="utc",Cr="sequential",Bo="diverging",zo="quantile",yc="quantize",vc="threshold",Am="ordinal",_m="point",aw="band",km="bin-ordinal",fn="continuous",eu="discrete",ru="discretizing",Re="interpolating",Dm="temporal";function Fm(){const t=Tx().unknown(void 0),n=t.domain,e=t.range;let r,i,a=[0,1],o=!1,s=0,u=0,l=.5;function c(){const f=n().length,d=a[1]<a[0],h=a[1-d],p=wm(f,s,u);let m=a[d-0];r=(h-m)/(p||1),o&&(r=Math.floor(r)),m+=(h-m-r*(f-s))*l,i=r*(1-s),o&&(m=Math.round(m),i=Math.round(i));const g=xe(f).map(y=>m+r*y);return e(d?g.reverse():g)}return delete t.unknown,t.domain=function(f){return arguments.length?(n(f),c()):n()},t.range=function(f){return arguments.length?(a=[+f[0],+f[1]],c()):a.slice()},t.rangeRound=function(f){return a=[+f[0],+f[1]],o=!0,c()},t.bandwidth=function(){return i},t.step=function(){return r},t.round=function(f){return arguments.length?(o=!!f,c()):o},t.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),s=u,c()):s},t.paddingInner=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},t.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},t.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},t.invertRange=function(f){if(f[0]==null||f[1]==null)return;const d=a[1]<a[0],h=d?e().reverse():e(),p=h.length-1;let m,g,y,v=+f[0],x=+f[1];return v!=v||x!=x||(x<v&&(y=v,v=x,x=y),x<h[0]||v>a[1-d])?void 0:(m=Math.max(0,Ea(h,v)-1),g=v===x?m:Ea(h,x)-1,v-h[m]>i+1e-10&&++m,d&&(y=m,m=p-g,g=p-y),m>g?void 0:n().slice(m,g+1))},t.invert=function(f){const d=t.invertRange([f,f]);return d&&d[0]},t.copy=function(){return Fm().domain(n()).range(a).round(o).paddingInner(s).paddingOuter(u).align(l)},c()}function ow(t){const n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return ow(n())},t}var e7=Array.prototype.map;const r7=Array.prototype.slice,bc=new Map,sw=Symbol("vega_scale");function uw(t){return t[sw]=!0,t}function lw(t){return t&&t[sw]===!0}function Dt(t,n,e){return arguments.length>1?(bc.set(t,function(r,i,a){const o=function(){const s=i();return s.invertRange||(s.invertRange=s.invert?function(u){return function(l){let c,f=l[0],d=l[1];return d<f&&(c=f,f=d,d=c),[u.invert(f),u.invert(d)]}}(s):s.invertExtent?function(u){return function(l){const c=u.range();let f,d,h,p,m=l[0],g=l[1],y=-1;for(g<m&&(d=m,m=g,g=d),h=0,p=c.length;h<p;++h)c[h]>=m&&c[h]<=g&&(y<0&&(y=h),f=h);if(!(y<0))return m=u.invertExtent(c[y]),g=u.invertExtent(c[f]),[m[0]===void 0?m[1]:m[0],g[1]===void 0?g[0]:g[1]]}}(s):void 0),s.type=r,uw(s)};return o.metadata=Dr(J(a)),o}(t,n,e)),this):cw(t)?bc.get(t):void 0}function cw(t){return bc.has(t)}function Na(t,n){const e=bc.get(t);return e&&e.metadata[n]}function Cm(t){return Na(t,fn)}function Oo(t){return Na(t,eu)}function Em(t){return Na(t,ru)}function fw(t){return Na(t,ri)}function dw(t){return Na(t,Re)}function hw(t){return Na(t,zo)}Dt("identity",function t(n){var e;function r(i){return i==null||isNaN(i=+i)?e:i}return r.invert=r,r.domain=r.range=function(i){return arguments.length?(n=Array.from(i,zx),r):n.slice()},r.unknown=function(i){return arguments.length?(e=i,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,zx):[0,1],Co(r)}),Dt(Mo,n8,fn),Dt(ri,function t(){const n=pm(up()).domain([1,10]);return n.copy=()=>lp(n,t()).base(n.base()),$a.apply(n,arguments),n},[fn,ri]),Dt(tu,ym,fn),Dt(nu,function(){return ym.apply(null,arguments).exponent(.5)},fn),Dt(gc,function t(){var n=mm(up());return n.copy=function(){return lp(n,t()).constant(n.constant())},$a.apply(n,arguments)},fn),Dt(za,V6,[fn,Dm]),Dt(Oa,function(){return $a.apply(W6(G6,H6,p6,h6,d6,f6,c6,l6,u6,s6).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[fn,Dm]),Dt(Cr,vm,[fn,Re]),Dt(`${Cr}-${Mo}`,vm,[fn,Re]),Dt(`${Cr}-${ri}`,function t(){var n=pm(pc()).domain([1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Cr}-${tu}`,bm,[fn,Re]),Dt(`${Cr}-${nu}`,function(){return bm.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Cr}-${gc}`,function t(){var n=mm(pc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${Bo}-${Mo}`,function t(){var n=Co(mc()(Ri));return n.copy=function(){return Ui(n,t())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${Bo}-${ri}`,function t(){var n=pm(mc()).domain([.1,1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Bo}-${tu}`,xm,[fn,Re]),Dt(`${Bo}-${nu}`,function(){return xm.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Bo}-${gc}`,function t(){var n=mm(mc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(zo,function t(){var n,e=[],r=[],i=[];function a(){var s=0,u=Math.max(1,r.length);for(i=new Array(u-1);++s<u;)i[s-1]=Hx(e,s/u);return o}function o(s){return s==null||isNaN(s=+s)?n:r[Ea(i,s)]}return o.invertExtent=function(s){var u=r.indexOf(s);return u<0?[NaN,NaN]:[u>0?i[u-1]:e[0],u<i.length?i[u]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let u of s)u==null||isNaN(u=+u)||e.push(u);return e.sort(qs),a()},o.range=function(s){return arguments.length?(r=Array.from(s),a()):r.slice()},o.unknown=function(s){return arguments.length?(n=s,o):n},o.quantiles=function(){return i.slice()},o.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(o,arguments)},[ru,zo]),Dt(yc,function t(){var n,e=0,r=1,i=1,a=[.5],o=[0,1];function s(l){return l!=null&&l<=l?o[Ea(a,l,0,i)]:n}function u(){var l=-1;for(a=new Array(i);++l<i;)a[l]=((l+1)*r-(l-i)*e)/(i+1);return s}return s.domain=function(l){return arguments.length?([e,r]=l,e=+e,r=+r,u()):[e,r]},s.range=function(l){return arguments.length?(i=(o=Array.from(l)).length-1,u()):o.slice()},s.invertExtent=function(l){var c=o.indexOf(l);return c<0?[NaN,NaN]:c<1?[e,a[0]]:c>=i?[a[i-1],r]:[a[c-1],a[c]]},s.unknown=function(l){return arguments.length&&(n=l),s},s.thresholds=function(){return a.slice()},s.copy=function(){return t().domain([e,r]).range(o).unknown(n)},$a.apply(Co(s),arguments)},ru),Dt(vc,function t(){var n,e=[.5],r=[0,1],i=1;function a(o){return o!=null&&o<=o?r[Ea(e,o,0,i)]:n}return a.domain=function(o){return arguments.length?(e=Array.from(o),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(o){return arguments.length?(r=Array.from(o),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(o){var s=r.indexOf(o);return[e[s-1],e[s]]},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(a,arguments)},ru),Dt(km,function t(){let n=[],e=[];function r(i){return i==null||i!=i?void 0:e[(Ea(n,i)-1)%e.length]}return r.domain=function(i){return arguments.length?(n=function(a){return e7.call(a,ze)}(i),r):n.slice()},r.range=function(i){return arguments.length?(e=r7.call(i),r):e.slice()},r.tickFormat=function(i,a){return e8(n[0],Bt(n),i??10,a)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[eu,ru]),Dt(Am,Tx,eu),Dt(aw,Fm,eu),Dt(_m,function(){return ow(Fm().paddingInner(1))},eu);const i7=["clamp","base","constant","exponent"];function pw(t,n){const e=n[0],r=Bt(n)-e;return function(i){return t(e+i*r)}}function xc(t,n,e){return vp($m(n||"rgb",e),t)}function mw(t,n){const e=new Array(n),r=n+1;for(let i=0;i<n;)e[i]=t(++i/r);return e}function gw(t,n,e){const r=e-n;let i,a,o;return r&&Number.isFinite(r)?(i=(a=t.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=Dt(a)().domain([n,e]).range([0,1]),i7.forEach(s=>t[s]?o[s](t[s]()):0),o):In(.5)}function $m(t,n){const e=o9[function(r){return"interpolate"+r.toLowerCase().split("-").map(i=>i[0].toUpperCase()+i.slice(1)).join("")}(t)];return n!=null&&e&&e.gamma?e.gamma(n):e}function yw(t){if(T(t))return t;const n=t.length/6|0,e=new Array(n);for(let r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function vw(t,n){for(const e in t)Sm(e,n(t[e]))}const bw={};function Sm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(bw[t]=n,this):bw[t]}vw({accent:V9,category10:G9,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Y9,observable10:X9,paired:J9,pastel1:K9,pastel2:Q9,set1:Z9,set2:t7,set3:n7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},yw),vw({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},t=>xc(yw(t)));const wc="symbol",a7=t=>T(t)?t.map(n=>String(n)):String(t),o7=(t,n)=>t[1]-n[1],s7=(t,n)=>n[1]-t[1];function Mm(t,n,e){let r;return $t(n)&&(t.bins&&(n=Math.max(n,t.bins.length)),e!=null&&(n=Math.min(n,Math.floor(Il(t.domain())/e||1)+1))),Z(n)&&(r=n.step,n=n.interval),Q(n)&&(n=t.type===za?Kh(n):t.type==Oa?Jh(n):P("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function xw(t,n,e){let r=t.range(),i=r[0],a=Bt(r),o=o7;if(i>a&&(r=a,a=i,i=r,o=s7),i=Math.floor(i),a=Math.ceil(a),n=n.map(s=>[s,t(s)]).filter(s=>i<=s[1]&&s[1]<=a).sort(o).map(s=>s[0]),e>0&&n.length>1){const s=[n[0],Bt(n)];for(;n.length>e&&n.length>=3;)n=n.filter((u,l)=>!(l%2));n.length<3&&(n=s)}return n}function Bm(t,n){return t.bins?xw(t,t.bins,n):t.ticks?t.ticks(n):t.domain()}function ww(t,n,e,r,i,a){const o=n.type;let s=a7;if(o===za||i===za)s=t.timeFormat(r);else if(o===Oa||i===Oa)s=t.utcFormat(r);else if(fw(o)){const u=t.formatFloat(r);if(a||n.bins)s=u;else{const l=Aw(n,e,!1);s=c=>l(c)?u(c):""}}else if(n.tickFormat){const u=n.domain();s=t.formatSpan(u[0],u[u.length-1],e,r)}else r&&(s=t.format(r));return s}function Aw(t,n,e){const r=Bm(t,n),i=t.base(),a=Math.log(i),o=Math.max(1,i*n/r.length),s=u=>{let l=u/Math.pow(i,Math.round(Math.log(u)/a));return l*i<i-.5&&(l*=i),l<=o};return e?r.filter(s):s}const zm={[zo]:"quantiles",[yc]:"thresholds",[vc]:"domain"},_w={[zo]:"quantiles",[yc]:"domain"};function kw(t,n){return t.bins?function(e){const r=e.slice(0,-1);return r.max=Bt(e),r}(t.bins):t.type===ri?Aw(t,n,!0):zm[t.type]?function(e){const r=[-1/0].concat(e);return r.max=1/0,r}(t[zm[t.type]]()):Bm(t,n)}function Dw(t,n,e,r,i,a,o){const s=_w[n.type]&&a!==za&&a!==Oa?function(u,l,c){const f=l[_w[l.type]](),d=f.length;let h,p=d>1?f[1]-f[0]:f[0];for(h=1;h<d;++h)p=Math.min(p,f[h]-f[h-1]);return u.formatSpan(0,p,30,c)}(t,n,i):ww(t,n,e,i,a,o);return r===wc&&(u=>zm[u.type]||u.bins)(n)?u7(s):r==="discrete"?l7(s):c7(s)}const u7=t=>(n,e,r)=>{const i=Fw(r[e+1],Fw(r.max,1/0)),a=Cw(n,t),o=Cw(i,t);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Fw=(t,n)=>t??n,l7=t=>(n,e)=>e?t(n):null,c7=t=>n=>t(n),Cw=(t,n)=>Number.isFinite(t)?n(t):null;function f7(t,n,e,r){const i=r||n.type;return Q(e)&&function(a){return Na(a,Dm)}(i)&&(e=e.replace(/%a/g,"%A").replace(/%b/g,"%B")),e||i!==za?e||i!==Oa?Dw(t,n,5,null,e,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function Ew(t,n,e){e=e||{};const r=Math.max(3,e.maxlen||7),i=f7(t,n,e.format,e.formatType);if(Em(n.type)){const a=kw(n).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}if(Oo(n.type)){const a=n.domain(),o=a.length;return`${o} value${o===1?"":"s"}: ${o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ")}`}{const a=n.domain();return`values from ${i(a[0])} to ${i(Bt(a))}`}}let $w=0;const Ac="p_";function Om(t){return t&&t.gradient}function Sw(t,n,e){const r=t.gradient;let i=t.id,a=r==="radial"?Ac:"";return i||(i=t.id="gradient_"+$w++,r==="radial"?(t.x1=Er(t.x1,.5),t.y1=Er(t.y1,.5),t.r1=Er(t.r1,0),t.x2=Er(t.x2,.5),t.y2=Er(t.y2,.5),t.r2=Er(t.r2,.5),a=Ac):(t.x1=Er(t.x1,0),t.y1=Er(t.y1,0),t.x2=Er(t.x2,1),t.y2=Er(t.y2,0))),n[i]=t,"url("+(e||"")+"#"+a+i+")"}function Er(t,n){return t??n}function Mw(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(i,a){return r.push({offset:i,color:a}),e}}}const Bw={basis:{curve:H8},"basis-closed":{curve:W8},"basis-open":{curve:I8},bundle:{curve:U8,tension:"beta",value:.85},cardinal:{curve:q8,tension:"tension",value:0},"cardinal-open":{curve:L8,tension:"tension",value:0},"cardinal-closed":{curve:j8,tension:"tension",value:0},"catmull-rom":{curve:P8,tension:"alpha",value:.5},"catmull-rom-closed":{curve:T8,tension:"alpha",value:.5},"catmull-rom-open":{curve:R8,tension:"alpha",value:.5},linear:{curve:jx},"linear-closed":{curve:N8},monotone:{horizontal:O8,vertical:z8},natural:{curve:B8},step:{curve:M8},"step-after":{curve:S8},"step-before":{curve:$8}};function Nm(t,n,e){var r=tt(Bw,t)&&Bw[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&e!=null&&(i=i[r.tension](e))),i}const d7={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},h7=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,p7=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,m7=/^((\s+,?\s*)|(,\s*))/,g7=/^[01]/;function No(t){const n=[];return(t.match(h7)||[]).forEach(e=>{let r=e[0];const i=r.toLowerCase(),a=d7[i],o=function(u,l,c){const f=[];for(let d=0;l&&d<c.length;)for(let h=0;h<l;++h){const p=u!=="a"||h!==3&&h!==4?p7:g7,m=c.slice(d).match(p);if(m===null)throw Error("Invalid SVG path, incorrect parameter type");d+=m[0].length,f.push(+m[0]);const g=c.slice(d).match(m7);g!==null&&(d+=g[0].length)}return f}(i,a,e.slice(1).trim()),s=o.length;if(s<a||s&&s%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(n.push([r,...o.slice(0,a)]),s!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<s;u+=a)n.push([r,...o.slice(u,u+a)])}}),n}const Ii=Math.PI/180,Ra=Math.PI/2,$r=2*Math.PI,Ro=Math.sqrt(3)/2;var Rm={},Tm={},zw=[].join;function y7(t){const n=zw.call(t);if(Tm[n])return Tm[n];var e=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7];const c=l*o,f=-u*s,d=u*o,h=l*s,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),x=Math.sin(.5*v),b=8/3*x*x/Math.sin(v),w=e+p-b*m,A=r+m+b*p,_=e+g,k=r+y,D=_+b*y,C=k-b*g;return Tm[n]=[c*w+f*A,d*w+h*A,c*D+f*C,d*D+h*C,c*_+f*k,d*_+h*k]}const Te=["l",0,0,0,0,0,0,0];function v7(t,n,e){const r=Te[0]=t[0];if(r==="a"||r==="A")Te[1]=n*t[1],Te[2]=e*t[2],Te[3]=t[3],Te[4]=t[4],Te[5]=t[5],Te[6]=n*t[6],Te[7]=e*t[7];else if(r==="h"||r==="H")Te[1]=n*t[1];else if(r==="v"||r==="V")Te[1]=e*t[1];else for(var i=1,a=t.length;i<a;++i)Te[i]=(i%2==1?n:e)*t[i];return Te}function iu(t,n,e,r,i,a){var o,s,u,l,c,f=null,d=0,h=0,p=0,m=0,g=0,y=0;e==null&&(e=0),r==null&&(r=0),i==null&&(i=1),a==null&&(a=i),t.beginPath&&t.beginPath();for(var v=0,x=n.length;v<x;++v){switch(o=n[v],i===1&&a===1||(o=v7(o,i,a)),o[0]){case"l":d+=o[1],h+=o[2],t.lineTo(d+e,h+r);break;case"L":d=o[1],h=o[2],t.lineTo(d+e,h+r);break;case"h":d+=o[1],t.lineTo(d+e,h+r);break;case"H":d=o[1],t.lineTo(d+e,h+r);break;case"v":h+=o[1],t.lineTo(d+e,h+r);break;case"V":h=o[1],t.lineTo(d+e,h+r);break;case"m":g=d+=o[1],y=h+=o[2],t.moveTo(d+e,h+r);break;case"M":g=d=o[1],y=h=o[2],t.moveTo(d+e,h+r);break;case"c":s=d+o[5],u=h+o[6],p=d+o[3],m=h+o[4],t.bezierCurveTo(d+o[1]+e,h+o[2]+r,p+e,m+r,s+e,u+r),d=s,h=u;break;case"C":d=o[5],h=o[6],p=o[3],m=o[4],t.bezierCurveTo(o[1]+e,o[2]+r,p+e,m+r,d+e,h+r);break;case"s":s=d+o[3],u=h+o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,d+o[1]+e,h+o[2]+r,s+e,u+r),p=d+o[1],m=h+o[2],d=s,h=u;break;case"S":s=o[3],u=o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"q":s=d+o[3],u=h+o[4],p=d+o[1],m=h+o[2],t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"Q":s=o[3],u=o[4],t.quadraticCurveTo(o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"t":s=d+o[1],u=h+o[2],f[0].match(/[QqTt]/)===null?(p=d,m=h):f[0]==="t"?(p=2*d-l,m=2*h-c):f[0]==="q"&&(p=2*d-p,m=2*h-m),l=p,c=m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),h=u,p=(d=s)+o[1],m=h+o[2];break;case"T":s=o[1],u=o[2],p=2*d-p,m=2*h-m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"a":Ow(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+d+e,o[7]+h+r]),d+=o[6],h+=o[7];break;case"A":Ow(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+e,o[7]+r]),d=o[6],h=o[7];break;case"z":case"Z":d=g,h=y,t.closePath()}f=o}}function Ow(t,n,e,r){const i=function(a,o,s,u,l,c,f,d,h){const p=zw.call(arguments);if(Rm[p])return Rm[p];const m=f*Ii,g=Math.sin(m),y=Math.cos(m),v=y*(d-a)*.5+g*(h-o)*.5,x=y*(h-o)*.5-g*(d-a)*.5;let b=v*v/((s=Math.abs(s))*s)+x*x/((u=Math.abs(u))*u);b>1&&(b=Math.sqrt(b),s*=b,u*=b);const w=y/s,A=g/s,_=-g/u,k=y/u,D=w*d+A*h,C=_*d+k*h,F=w*a+A*o,E=_*a+k*o;let $=1/((F-D)*(F-D)+(E-C)*(E-C))-.25;$<0&&($=0);let M=Math.sqrt($);c==l&&(M=-M);const S=.5*(D+F)-M*(E-C),B=.5*(C+E)+M*(F-D),z=Math.atan2(C-B,D-S);let j=Math.atan2(E-B,F-S)-z;j<0&&c===1?j+=$r:j>0&&c===0&&(j-=$r);const W=Math.ceil(Math.abs(j/(Ra+.001))),K=[];for(let q=0;q<W;++q){const at=z+q*j/W,ot=z+(q+1)*j/W;K[q]=[S,B,at,ot,s,u,g,y]}return Rm[p]=K}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e);for(let a=0;a<i.length;++a){const o=y7(i[a]);t.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}const Nw=.5773502691896257,Rw={circle:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,$r)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e,i=r-e*Nw,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e,i=r-e*Nw;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=Ro*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function Tw(t){return tt(Rw,t)?Rw[t]:function(n){if(!tt(Pm,n)){const e=No(n);Pm[n]={draw:function(r,i){iu(r,e,0,0,Math.sqrt(i)/2)}}}return Pm[n]}(t)}var Pm={};const Wi=.448084975506;function b7(t){return t.x}function x7(t){return t.y}function w7(t){return t.width}function A7(t){return t.height}function ii(t){return typeof t=="function"?t:()=>+t}function _c(t,n,e){return Math.max(n,Math.min(t,e))}function Pw(){var t=b7,n=x7,e=w7,r=A7,i=ii(0),a=i,o=i,s=i,u=null;function l(c,f,d){var h,p=f??+t.call(this,c),m=d??+n.call(this,c),g=+e.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,x=_c(+i.call(this,c),0,v),b=_c(+a.call(this,c),0,v),w=_c(+o.call(this,c),0,v),A=_c(+s.call(this,c),0,v);if(u||(u=h=dp()),x<=0&&b<=0&&w<=0&&A<=0)u.rect(p,m,g,y);else{var _=p+g,k=m+y;u.moveTo(p+x,m),u.lineTo(_-b,m),u.bezierCurveTo(_-Wi*b,m,_,m+Wi*b,_,m+b),u.lineTo(_,k-A),u.bezierCurveTo(_,k-Wi*A,_-Wi*A,k,_-A,k),u.lineTo(p+w,k),u.bezierCurveTo(p+Wi*w,k,p,k-Wi*w,p,k-w),u.lineTo(p,m+x),u.bezierCurveTo(p,m+Wi*x,p+Wi*x,m,p+x,m),u.closePath()}if(h)return u=null,h+""||null}return l.x=function(c){return arguments.length?(t=ii(c),l):t},l.y=function(c){return arguments.length?(n=ii(c),l):n},l.width=function(c){return arguments.length?(e=ii(c),l):e},l.height=function(c){return arguments.length?(r=ii(c),l):r},l.cornerRadius=function(c,f,d,h){return arguments.length?(i=ii(c),a=f!=null?ii(f):i,s=d!=null?ii(d):i,o=h!=null?ii(h):a,l):i},l.context=function(c){return arguments.length?(u=c??null,l):u},l}function jw(){var t,n,e,r,i,a,o,s,u=null;function l(f,d,h){const p=h/2;if(i){var m=o-d,g=f-a;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,x=(g/=y)*s,b=Math.atan2(g,m);u.moveTo(a-v,o-x),u.lineTo(f-m*p,d-g*p),u.arc(f,d,p,b-Math.PI,b),u.lineTo(a+v,o+x),u.arc(a,o,s,b,b+Math.PI)}else u.arc(f,d,p,0,$r);u.closePath()}else i=1;a=f,o=d,s=p}function c(f){var d,h,p,m=f.length,g=!1;for(u==null&&(u=p=dp()),d=0;d<=m;++d)!(d<m&&r(h=f[d],d,f))===g&&(g=!g)&&(i=0),g&&l(+t(h,d,f),+n(h,d,f),+e(h,d,f));if(p)return u=null,p+""||null}return c.x=function(f){return arguments.length?(t=f,c):t},c.y=function(f){return arguments.length?(n=f,c):n},c.size=function(f){return arguments.length?(e=f,c):e},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(u=f??null,c):u},c}function au(t,n){return t??n}const ou=t=>t.x||0,su=t=>t.y||0,kc=t=>t.defined!==!1,_7=G8().startAngle(t=>t.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),k7=Q2().x(ou).y1(su).y0(t=>(t.y||0)+(t.height||0)).defined(kc),D7=Q2().y(su).x1(ou).x0(t=>(t.x||0)+(t.width||0)).defined(kc),F7=Lx().x(ou).y(su).defined(kc),C7=Pw().x(ou).y(su).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>au(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>au(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>au(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>au(t.cornerRadiusBottomLeft,t.cornerRadius)||0),E7=function(t,n){let e=null,r=Px(i);function i(){let a;if(e||(e=a=r()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),a)return e=null,a+""||null}return t=typeof t=="function"?t:Hn(t||j9),n=typeof n=="function"?n:Hn(n===void 0?64:+n),i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Hn(a),i):t},i.size=function(a){return arguments.length?(n=typeof a=="function"?a:Hn(+a),i):n},i.context=function(a){return arguments.length?(e=a??null,i):e},i}().type(t=>Tw(t.shape||"circle")).size(t=>au(t.size,64)),$7=jw().x(ou).y(su).defined(kc).size(t=>t.size||1);function jm(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function To(t,n,e,r){return C7.context(t)(n,e,r)}var Lw=1;function qw(){Lw=1}function Lm(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Lw++),o=i.clipping[a]||(i.clipping[a]={id:a});return bt(r)?o.path=r(null):jm(e)?o.path=To(null,e,0,0):(o.width=e.width||0,o.height=e.height||0),"url(#"+a+")"}function cn(t){this.clear(),t&&this.union(t)}function Dc(t){this.mark=t,this.bounds=this.bounds||new cn}function Fc(t){Dc.call(this,t),this.items=this.items||[]}cn.prototype={clone(){return new cn(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},add(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},expand(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},translate(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},rotate(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(t,n,e){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(t),u=Math.sin(t),l=n-n*s+e*u,c=e-n*u-e*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*o+l,u*r+s*o+c,s*a-u*i+l,u*a+s*i+c,s*a-u*o+l,u*a+s*o+c]},union(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},intersect(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},V(Fc,Dc);class Uw{constructor(n){this._pending=0,this._loader=n||Ul()}pending(){return this._pending}sanitizeURL(n){const e=this;return Iw(e),e._loader.sanitize(n,{context:"href"}).then(r=>(uu(e),r)).catch(()=>(uu(e),null))}loadImage(n){const e=this,r=L9();return Iw(e),e._loader.sanitize(n,{context:"image"}).then(i=>{const a=i.href;if(!a||!r)throw{url:a};const o=new r,s=tt(i,"crossOrigin")?i.crossOrigin:"anonymous";return s!=null&&(o.crossOrigin=s),o.onload=()=>uu(e),o.onerror=()=>uu(e),o.src=a,o}).catch(i=>(uu(e),{complete:!1,width:0,height:0,src:i&&i.url||""}))}ready(){const n=this;return new Promise(e=>{(function r(i){n.pending()?setTimeout(()=>{r(!0)},10):e(i)})(!1)})}}function Iw(t){t._pending+=1}function uu(t){t._pending-=1}function ai(t,n,e){if(n.stroke&&n.opacity!==0&&n.strokeOpacity!==0){const r=n.strokeWidth!=null?+n.strokeWidth:1;t.expand(r+(e?function(i,a){return i.strokeJoin&&i.strokeJoin!=="miter"?0:a}(n,r):0))}return t}const S7=$r-1e-8;let Cc,Ec,$c,Ta,qm,Sc,Um,Im;const Hi=(t,n)=>Cc.add(t,n),Mc=(t,n)=>Hi(Ec=t,$c=n),Ww=t=>Hi(t,Cc.y1),Hw=t=>Hi(Cc.x1,t),Pa=(t,n)=>qm*t+Um*n,ja=(t,n)=>Sc*t+Im*n,Wm=(t,n)=>Hi(Pa(t,n),ja(t,n)),Hm=(t,n)=>Mc(Pa(t,n),ja(t,n));function lu(t,n){return Cc=t,n?(Ta=n*Ii,qm=Im=Math.cos(Ta),Sc=Math.sin(Ta),Um=-Sc):(qm=Im=1,Ta=Sc=Um=0),M7}const M7={beginPath(){},closePath(){},moveTo:Hm,lineTo:Hm,rect(t,n,e,r){Ta?(Wm(t+e,n),Wm(t+e,n+r),Wm(t,n+r),Hm(t,n)):(Hi(t+e,n+r),Mc(t,n))},quadraticCurveTo(t,n,e,r){const i=Pa(t,n),a=ja(t,n),o=Pa(e,r),s=ja(e,r);Gw(Ec,i,o,Ww),Gw($c,a,s,Hw),Mc(o,s)},bezierCurveTo(t,n,e,r,i,a){const o=Pa(t,n),s=ja(t,n),u=Pa(e,r),l=ja(e,r),c=Pa(i,a),f=ja(i,a);Vw(Ec,o,u,c,Ww),Vw($c,s,l,f,Hw),Mc(c,f)},arc(t,n,e,r,i,a){if(r+=Ta,i+=Ta,Ec=e*Math.cos(i)+t,$c=e*Math.sin(i)+n,Math.abs(i-r)>S7)Hi(t-e,n-e),Hi(t+e,n+e);else{const o=l=>Hi(e*Math.cos(l)+t,e*Math.sin(l)+n);let s,u;if(o(r),o(i),i!==r)if((r%=$r)<0&&(r+=$r),(i%=$r)<0&&(i+=$r),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=$r,s=r-r%Ra,u=0;u<4&&s>i;++u,s-=Ra)o(s);else for(s=r-r%Ra+Ra,u=0;u<4&&s<i;++u,s+=Ra)o(s)}}};function Gw(t,n,e,r){const i=(t-n)/(t+e-2*n);0<i&&i<1&&r(t+(n-t)*i)}function Vw(t,n,e,r,i){const a=r-t+3*n-3*e,o=t+e-2*n,s=t-n;let u,l=0,c=0;Math.abs(a)>1e-14?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),l=(-o+u)/a,c=(-o-u)/a)):l=.5*s/o,0<l&&l<1&&i(Yw(l,t,n,e,r)),0<c&&c<1&&i(Yw(c,t,n,e,r))}function Yw(t,n,e,r,i){const a=1-t,o=a*a,s=t*t;return o*a*n+3*o*t*e+3*a*s*r+s*t*i}var Gi=(Gi=qi(1,1))?Gi.getContext("2d"):null;const Gm=new cn;function Vm(t){return function(n,e){if(!Gi)return!0;t(Gi,n),Gm.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:o}=Gm;for(let s=i;s<=o;++s)for(let u=r;u<=a;++u)if(Gi.isPointInPath(u,s))return!0;return!1}}function Ym(t,n){return n.contains(t.x||0,t.y||0)}function Xw(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(Gm.set(e,r,e+i,r+a))}function Jw(t,n){const e=t.x||0,r=t.y||0;return Po(n,e,r,t.x2!=null?t.x2:e,t.y2!=null?t.y2:r)}function Po(t,n,e,r,i){const{x1:a,y1:o,x2:s,y2:u}=t,l=r-n,c=i-e;let f,d,h,p,m=0,g=1;for(p=0;p<4;++p){if(p===0&&(f=-l,d=-(a-n)),p===1&&(f=l,d=s-n),p===2&&(f=-c,d=-(o-e)),p===3&&(f=c,d=u-e),Math.abs(f)<1e-10&&d<0)return!1;if(h=d/f,f<0){if(h>g)return!1;h>m&&(m=h)}else if(f>0){if(h<m)return!1;h<g&&(g=h)}}return!0}function jo(t,n){t.globalCompositeOperation=n.blend||"source-over"}function Ke(t,n){return t??n}function Kw(t,n){const e=n.length;for(let r=0;r<e;++r)t.addColorStop(n[r].offset,n[r].color);return t}function Qw(t,n,e){return Om(e)?function(r,i,a){const o=a.width(),s=a.height();let u;if(i.gradient==="radial")u=r.createRadialGradient(a.x1+Ke(i.x1,.5)*o,a.y1+Ke(i.y1,.5)*s,Math.max(o,s)*Ke(i.r1,0),a.x1+Ke(i.x2,.5)*o,a.y1+Ke(i.y2,.5)*s,Math.max(o,s)*Ke(i.r2,.5));else{const l=Ke(i.x1,0),c=Ke(i.y1,0),f=Ke(i.x2,1),d=Ke(i.y2,0);if(l!==f&&c!==d&&o!==s){const h=qi(Math.ceil(o),Math.ceil(s)),p=h.getContext("2d");return p.scale(o,s),p.fillStyle=Kw(p.createLinearGradient(l,c,f,d),i.stops),p.fillRect(0,0,o,s),r.createPattern(h,"no-repeat")}u=r.createLinearGradient(a.x1+l*o,a.y1+c*s,a.x1+f*o,a.y1+d*s)}return Kw(u,i.stops)}(t,e,n.bounds):e}function Bc(t,n,e){return(e*=n.fillOpacity==null?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=Qw(t,n,n.fill),!0)}var B7=[];function Lo(t,n,e){var r=(r=n.strokeWidth)!=null?r:1;return!(r<=0)&&(e*=n.strokeOpacity==null?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=Qw(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||B7),t.lineDashOffset=n.strokeDashOffset||0),!0)}function z7(t,n){return t.zindex-n.zindex||t.index-n.index}function Xm(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(z7)}function Qe(t,n){var e,r,i=t.items;if(!i||!i.length)return;const a=Xm(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}function zc(t,n){var e,r,i=t.items;if(!i||!i.length)return null;const a=Xm(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a){for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e}return null}function Jm(t){return function(n,e,r){Qe(e,i=>{r&&!r.intersects(i.bounds)||Zw(t,n,i,i)})}}function O7(t){return function(n,e,r){!e.items.length||r&&!r.intersects(e.bounds)||Zw(t,n,e.items[0],e.items)}}function Zw(t,n,e,r){var i=e.opacity==null?1:e.opacity;i!==0&&(t(n,r)||(jo(n,e),e.fill&&Bc(n,e,i)&&n.fill(),e.stroke&&Lo(n,e,i)&&n.stroke()))}function Oc(t){return t=t||Be,function(n,e,r,i,a,o){return r*=n.pixelRatio,i*=n.pixelRatio,zc(e,s=>{const u=s.bounds;if((!u||u.contains(a,o))&&u)return t(n,s,r,i,a,o)?s:void 0})}}function cu(t,n){return function(e,r,i,a){var o,s,u=Array.isArray(r)?r[0]:r,l=n??u.fill,c=u.stroke&&e.isPointInStroke;return c&&(o=u.strokeWidth,s=u.strokeCap,e.lineWidth=o??1,e.lineCap=s??"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function Km(t){return Oc(cu(t))}function La(t,n){return"translate("+t+","+n+")"}function Qm(t){return"rotate("+t+")"}function tA(t){return La(t.x||0,t.y||0)}function Zm(t,n,e){function r(i,a){var o=a.x||0,s=a.y||0,u=a.angle||0;i.translate(o,s),u&&i.rotate(u*=Ii),i.beginPath(),n(i,a),u&&i.rotate(-u),i.translate(-o,-s)}return{type:t,tag:"path",nested:!1,attr:function(i,a){i("transform",function(o){return La(o.x||0,o.y||0)+(o.angle?" "+Qm(o.angle):"")}(a)),i("d",n(null,a))},bound:function(i,a){return n(lu(i,a.angle),a),ai(i,a).translate(a.x||0,a.y||0)},draw:Jm(r),pick:Km(r),isect:e||Vm(r)}}var N7=Zm("arc",function(t,n){return _7.context(t)(n)});function t0(t,n,e){function r(a,o){a.beginPath(),n(a,o)}const i=cu(r);return{type:t,tag:"path",nested:!0,attr:function(a,o){var s=o.mark.items;s.length&&a("d",n(null,s))},bound:function(a,o){var s=o.items;return s.length===0?a:(n(lu(a),s),ai(a,s[0]))},draw:O7(r),pick:function(a,o,s,u,l,c){var f=o.items,d=o.bounds;return!f||!f.length||d&&!d.contains(l,c)?null:(s*=a.pixelRatio,u*=a.pixelRatio,i(a,f,s,u)?f[0]:null)},isect:Ym,tip:e}}var R7=t0("area",function(t,n){const e=n[0],r=e.interpolate||"linear";return(e.orient==="horizontal"?D7:k7).curve(Nm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=t[0].orient==="horizontal"?n[1]:n[0],a=t[0].orient==="horizontal"?"y":"x",o=t.length,s=1/0;--o>=0;)t[o].defined!==!1&&(r=Math.abs(t[o][a]-i))<s&&(s=r,e=t[o]);return e});function nA(t,n){t.beginPath(),jm(n)?To(t,n,0,0):t.rect(0,0,n.width||0,n.height||0),t.clip()}function eA(t){const n=Ke(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&n>.5&&n<1.5?.5-Math.abs(n-1):0}function rA(t,n){const e=eA(n);t("d",To(null,n,e,e))}function fu(t,n,e,r){const i=eA(n);t.beginPath(),To(t,n,(e||0)+i,(r||0)+i)}const T7=cu(fu),P7=cu(fu,!1),j7=cu(fu,!0);var L7={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",tA(n))},bound:function(t,n){if(!n.clip&&n.items){const e=n.items,r=e.length;for(let i=0;i<r;++i)t.union(e[i].bounds)}return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),ai(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e,r){Qe(n,i=>{const a=i.x||0,o=i.y||0,s=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(fu(t,i,a,o),jo(t,i),i.fill&&Bc(t,i,u)&&t.fill(),i.stroke&&!s&&Lo(t,i,u)&&t.stroke()),t.save(),t.translate(a,o),i.clip&&nA(t,i),e&&e.translate(-a,-o),Qe(i,l=>{(l.marktype==="group"||r==null||r.includes(l.marktype))&&this.draw(t,l,e,r)}),e&&e.translate(a,o),t.restore(),s&&i.stroke&&u&&(fu(t,i,a,o),jo(t,i),Lo(t,i,u)&&t.stroke())})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;const o=e*t.pixelRatio,s=r*t.pixelRatio;return zc(n,u=>{let l,c,f;const d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;const h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(t.save(),t.translate(c,f),c=i-c,f=a-f,m&&jm(u)&&!j7(t,u,o,s))return t.restore(),null;const g=u.strokeForeground,y=n.interactive!==!1;return y&&g&&u.stroke&&P7(t,u,o,s)?(t.restore(),u):(l=zc(u,v=>function(x,b,w){return(x.interactive!==!1||x.marktype==="group")&&x.bounds&&x.bounds.contains(b,w)}(v,c,f)?this.pick(v,e,r,c,f):null),!l&&y&&(u.fill||!g&&u.stroke)&&T7(t,u,o,s)&&(l=u),t.restore(),l||null)})},isect:Xw,content:function(t,n,e){t("clip-path",n.clip?Lm(e,n,n):null)},background:function(t,n){t("class","background"),t("aria-hidden",!0),rA(t,n)},foreground:function(t,n){t("class","foreground"),t("aria-hidden",!0),n.strokeForeground?rA(t,n):t("d","")}},du={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function n0(t,n){var e=t.image;return(!e||t.url&&t.url!==e.url)&&(e={complete:!1,width:0,height:0},n.loadImage(t.url).then(r=>{t.image=r,t.image.url=t.url})),e}function e0(t,n){return t.width!=null?t.width:n&&n.width?t.aspect!==!1&&t.height?t.height*n.width/n.height:n.width:0}function r0(t,n){return t.height!=null?t.height:n&&n.height?t.aspect!==!1&&t.width?t.width*n.height/n.width:n.height:0}function Nc(t,n){return t==="center"?n/2:t==="right"?n:0}function Rc(t,n){return t==="middle"?n/2:t==="bottom"?n:0}var q7={type:"image",tag:"image",nested:!1,attr:function(t,n,e){const r=n0(n,e),i=e0(n,r),a=r0(n,r),o=(n.x||0)-Nc(n.align,i),s=(n.y||0)-Rc(n.baseline,a);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",du["xmlns:xlink"],"xlink:href"),t("transform",La(o,s)),t("width",i),t("height",a),t("preserveAspectRatio",n.aspect===!1?"none":"xMidYMid")},bound:function(t,n){const e=n.image,r=e0(n,e),i=r0(n,e),a=(n.x||0)-Nc(n.align,r),o=(n.y||0)-Rc(n.baseline,i);return t.set(a,o,a+r,o+i)},draw:function(t,n,e){Qe(n,r=>{if(e&&!e.intersects(r.bounds))return;const i=n0(r,this);let a=e0(r,i),o=r0(r,i);if(a===0||o===0)return;let s,u,l,c,f=(r.x||0)-Nc(r.align,a),d=(r.y||0)-Rc(r.baseline,o);r.aspect!==!1&&(u=i.width/i.height,l=r.width/r.height,u==u&&l==l&&u!==l&&(l<u?(c=a/u,d+=(o-c)/2,o=c):(c=o*u,f+=(a-c)/2,a=c))),(i.complete||i.toDataURL)&&(jo(t,r),t.globalAlpha=(s=r.opacity)!=null?s:1,t.imageSmoothingEnabled=r.smooth!==!1,t.drawImage(i,f,d,a,o))})},pick:Oc(),isect:Be,get:n0,xOffset:Nc,yOffset:Rc},U7=t0("line",function(t,n){const e=n[0],r=e.interpolate||"linear";return F7.curve(Nm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(t[a].defined!==!1&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null});function Tc(t,n){var e=n.path;if(e==null)return!0;var r=n.x||0,i=n.y||0,a=n.scaleX||1,o=n.scaleY||1,s=(n.angle||0)*Ii,u=n.pathCache;u&&u.path===e||((n.pathCache=u=No(e)).path=e),s&&t.rotate&&t.translate?(t.translate(r,i),t.rotate(s),iu(t,u,0,0,a,o),t.rotate(-s),t.translate(-r,-i)):iu(t,u,r,i,a,o)}var I7={type:"path",tag:"path",nested:!1,attr:function(t,n){var e=n.scaleX||1,r=n.scaleY||1;e===1&&r===1||t("vector-effect","non-scaling-stroke"),t("transform",function(i){return La(i.x||0,i.y||0)+(i.angle?" "+Qm(i.angle):"")+(i.scaleX||i.scaleY?" "+function(a,o){return"scale("+a+","+o+")"}(i.scaleX||1,i.scaleY||1):"")}(n)),t("d",n.path)},bound:function(t,n){return Tc(lu(t,n.angle),n)?t.set(0,0,0,0):ai(t,n,!0)},draw:Jm(Tc),pick:Km(Tc),isect:Vm(Tc)};function iA(t,n){t.beginPath(),To(t,n)}var W7={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",To(null,n))},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Jm(iA),pick:Km(iA),isect:Xw};function aA(t,n,e){var r,i,a,o;return!(!n.stroke||!Lo(t,n,e))&&(r=n.x||0,i=n.y||0,a=n.x2!=null?n.x2:r,o=n.y2!=null?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,o),!0)}var H7={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",tA(n)),t("x2",n.x2!=null?n.x2-(n.x||0):0),t("y2",n.y2!=null?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,n.x2!=null?n.x2:e,n.y2!=null?n.y2:r),n)},draw:function(t,n,e){Qe(n,r=>{if(!e||e.intersects(r.bounds)){var i=r.opacity==null?1:r.opacity;i&&aA(t,r,i)&&(jo(t,r),t.stroke())}})},pick:Oc(function(t,n,e,r){return!!t.isPointInStroke&&aA(t,n,1)&&t.isPointInStroke(e,r)}),isect:Jw},G7=Zm("shape",function(t,n){return(n.mark.shape||n.shape).context(t)(n)}),V7=Zm("symbol",function(t,n){return E7.context(t)(n)},Ym);const oA=ox();var we={height:Sr,measureWidth:i0,estimateWidth:Pc,width:Pc,canvas:sA};function sA(t){we.width=t&&Gi?i0:Pc}function Pc(t,n){return uA(Yi(t,n),Sr(t))}function uA(t,n){return~~(.8*t.length*n)}function i0(t,n){return Sr(t)<=0||!(n=Yi(t,n))?0:lA(n,jc(t))}function lA(t,n){const e=`(${n}) ${t}`;let r=oA.get(e);return r===void 0&&(Gi.font=n,r=Gi.measureText(t).width,oA.set(e,r)),r}function Sr(t){return t.fontSize!=null?+t.fontSize||0:11}function Vi(t){return t.lineHeight!=null?t.lineHeight:Sr(t)+2}function hu(t){return n=t.lineBreak&&t.text&&!T(t.text)?t.text.split(t.lineBreak):t.text,T(n)?n.length>1?n:n[0]:n;var n}function a0(t){const n=hu(t);return(T(n)?n.length-1:0)*Vi(t)}function Yi(t,n){const e=n==null?"":(n+"").trim();return t.limit>0&&e.length?function(r,i){var a=+r.limit,o=function(d){if(we.width===i0){const h=jc(d);return p=>lA(p,h)}if(we.width===Pc){const h=Sr(d);return p=>uA(p,h)}return h=>we.width(d,h)}(r);if(o(i)<a)return i;var s,u=r.ellipsis||"\u2026",l=r.dir==="rtl",c=0,f=i.length;if(a-=o(u),l){for(;c<f;)s=c+f>>>1,o(i.slice(s))>a?c=s+1:f=s;return u+i.slice(c)}for(;c<f;)s=1+(c+f>>>1),o(i.slice(0,s))<a?c=s:f=s-1;return i.slice(0,c)+u}(t,e):e}function pu(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function jc(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Sr(t)+"px "+pu(t,n)}function o0(t){var n=t.baseline,e=Sr(t);return Math.round(n==="top"?.79*e:n==="middle"?.3*e:n==="bottom"?-.21*e:n==="line-top"?.29*e+.5*Vi(t):n==="line-bottom"?.29*e-.5*Vi(t):0)}sA(!0);const Y7={left:"start",center:"middle",right:"end"},mu=new cn;function Lc(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-Ra,e+=i*Math.cos(n),r+=i*Math.sin(n)),mu.x1=e,mu.y1=r,mu}function s0(t,n,e){var r,i=we.height(n),a=n.align,o=Lc(n),s=o.x1,u=o.y1,l=n.dx||0,c=(n.dy||0)+o0(n)-Math.round(.8*i),f=hu(n);if(T(f)?(i+=Vi(n)*(f.length-1),r=f.reduce((d,h)=>Math.max(d,we.width(n,h)),0)):r=we.width(n,f),a==="center"?l-=r/2:a==="right"&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),n.angle&&!e)t.rotate(n.angle*Ii,s,u);else if(e===2)return t.rotatedPoints(n.angle*Ii,s,u);return t}var X7={type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+o0(n),a=Lc(n),o=a.x1,s=a.y1,u=n.angle||0;t("text-anchor",Y7[n.align]||"start"),u?(e=La(o,s)+" "+Qm(u),(r||i)&&(e+=" "+La(r,i))):e=La(o+r,s+i),t("transform",e)},bound:s0,draw:function(t,n,e){Qe(n,r=>{var i,a,o,s,u,l,c,f=r.opacity==null?1:r.opacity;if(!(e&&!e.intersects(r.bounds)||f===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(t.font=jc(r),t.textAlign=r.align||"left",a=(i=Lc(r)).x1,o=i.y1,r.angle&&(t.save(),t.translate(a,o),t.rotate(r.angle*Ii),a=o=0),a+=r.dx||0,o+=(r.dy||0)+o0(r),l=hu(r),jo(t,r),T(l))for(u=Vi(r),s=0;s<l.length;++s)c=Yi(r,l[s]),r.fill&&Bc(t,r,f)&&t.fillText(c,a,o),r.stroke&&Lo(t,r,f)&&t.strokeText(c,a,o),o+=u;else c=Yi(r,l),r.fill&&Bc(t,r,f)&&t.fillText(c,a,o),r.stroke&&Lo(t,r,f)&&t.strokeText(c,a,o);r.angle&&t.restore()}})},pick:Oc(function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var o=Lc(n),s=o.x1,u=o.y1,l=s0(mu,n,1),c=-n.angle*Ii,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(s-f*s+d*u),p=d*i+f*a+(u-d*s-f*u);return l.contains(h,p)}),isect:function(t,n){const e=s0(mu,t,2);return Po(n,e[0],e[1],e[2],e[3])||Po(n,e[0],e[1],e[4],e[5])||Po(n,e[4],e[5],e[6],e[7])||Po(n,e[2],e[3],e[6],e[7])}},J7=t0("trail",function(t,n){return $7.context(t)(n)},function(t,n){for(var e,r,i=t.length;--i>=0;)if(t[i].defined!==!1&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null}),Ae={arc:N7,area:R7,group:L7,image:q7,line:U7,path:I7,rect:W7,rule:H7,shape:G7,symbol:V7,text:X7,trail:J7};function u0(t,n,e){var r=Ae[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new cn),t,e)}var cA={mark:null};function fA(t,n,e){var r,i,a,o,s=Ae[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?a=l[0]:(cA.mark=t,a=cA),o=u0(a,u,e),n=n&&n.union(o)||o;if(n=n||t.bounds&&t.bounds.clear()||new cn,c)for(r=0,i=l.length;r<i;++r)n.union(u0(l[r],u,e));return t.bounds=n}const K7=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function dA(t,n){return JSON.stringify(t,K7,n)}function hA(t){return pA(typeof t=="string"?JSON.parse(t):t)}function pA(t){var n,e,r,i=t.marktype,a=t.items;if(a)for(e=0,r=a.length;e<r;++e)n=i?"mark":"group",a[e][n]=t,a[e].zindex&&(a[e][n].zdirty=!0),(i||n)==="group"&&pA(a[e]);return i&&fA(t),t}class mA{constructor(n){arguments.length?this.root=hA(n):(this.root=gA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Fc(this.root)])}toJSON(n){return dA(this.root,n||0)}mark(n,e,r){const i=gA(n,e=e||this.root.items[0]);return e.items[r]=i,i.zindex&&(i.group.zdirty=!0),i}}function gA(t,n){const e={bounds:new cn,clip:!!t.clip,group:n,interactive:t.interactive!==!1,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0};return t.aria!=null&&(e.aria=t.aria),t.description&&(e.description=t.description),e}function Xi(t,n,e){return!t&&typeof document<"u"&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function l0(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function dn(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Xi(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Pe(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function yA(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function qc(t,n){const e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}class c0{constructor(n,e){this._active=null,this._handlers={},this._loader=n||Ul(),this._tooltip=e||Q7}initialize(n,e,r){return this._el=n,this._obj=r||null,this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(n){return arguments.length?(this._origin=n||[0,0],this):this._origin.slice()}scene(n){return arguments.length?(this._scene=n,this):this._scene}on(){}off(){}_handlerIndex(n,e,r){for(let i=n?n.length:0;--i>=0;)if(n[i].type===e&&(!r||n[i].handler===r))return i;return-1}handlers(n){const e=this._handlers,r=[];if(n)r.push(...e[this.eventName(n)]);else for(const i in e)r.push(...e[i]);return r}eventName(n){const e=n.indexOf(".");return e<0?n:n.slice(0,e)}handleHref(n,e,r){this._loader.sanitize(r,{context:"href"}).then(i=>{const a=new MouseEvent(n.type,n),o=Xi(null,"a");for(const s in i)o.setAttribute(s,i[s]);o.dispatchEvent(a)}).catch(()=>{})}handleTooltip(n,e,r){if(e&&e.tooltip!=null){e=function(a,o,s,u){var l,c,f=a&&a.mark;if(f&&(l=Ae[f.marktype]).tip){for((c=qc(o,s))[0]-=u[0],c[1]-=u[1];a=a.mark.group;)c[0]-=a.x||0,c[1]-=a.y||0;a=l.tip(f.items,c)}return a}(e,n,this.canvas(),this._origin);const i=r&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,n,e,i)}}getItemBoundingClientRect(n){const e=this.canvas();if(!e)return;const r=e.getBoundingClientRect(),i=this._origin,a=n.bounds,o=a.width(),s=a.height();let u=a.x1+i[0]+r.left,l=a.y1+i[1]+r.top;for(;n.mark&&(n=n.mark.group);)u+=n.x||0,l+=n.y||0;return{x:u,y:l,width:o,height:s,left:u,top:l,right:u+o,bottom:l+s}}}function Q7(t,n,e,r){t.element().setAttribute("title",r||"")}class gu{constructor(n){this._el=null,this._bgcolor=null,this._loader=new Uw(n)}initialize(n,e,r,i,a){return this._el=n,this.resize(e,r,i,a)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(n){return arguments.length===0?this._bgcolor:(this._bgcolor=n,this)}resize(n,e,r,i){return this._width=n,this._height=e,this._origin=r||[0,0],this._scale=i||1,this}dirty(){}render(n,e){const r=this;return r._call=function(){r._render(n,e)},r._call(),r._call=null,r}_render(){}renderAsync(n,e){const r=this.render(n,e);return this._ready?this._ready.then(()=>r):Promise.resolve(r)}_load(n,e){var r=this,i=r._loader[n](e);if(!r._ready){const a=r._call;r._ready=r._loader.ready().then(o=>{o&&a(),r._ready=null})}return i}sanitizeURL(n){return this._load("sanitizeURL",n)}loadImage(n){return this._load("loadImage",n)}}const vA="dragenter",Uc="dragleave",bA="dragover",f0="pointerdown",Ic="pointermove",Wc="pointerout",xA="pointerover",d0="mousedown",wA="mousemove",Hc="mouseout",AA="mouseover",Gc="click",_A="mousewheel",Vc="touchstart",Yc="touchmove",Xc="touchend",Z7=["keydown","keypress","keyup",vA,Uc,bA,f0,"pointerup",Ic,Wc,xA,d0,"mouseup",wA,Hc,AA,Gc,"dblclick","wheel",_A,Vc,Yc,Xc],h0=Ic,yu=Hc,p0=Gc;class vu extends c0{constructor(n,e){super(n,e),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Z7,this.pointermove=DA([Ic,wA],[xA,AA],[Wc,Hc]),this.dragover=DA([bA],[vA],[Uc]),this.pointerout=FA([Wc,Hc]),this.dragleave=FA([Uc])}initialize(n,e,r){return this._canvas=n&&l0(n,"canvas"),[Gc,d0,f0,Ic,Wc,Uc].forEach(i=>kA(this,i)),super.initialize(n,e,r)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(n){this.fire(_A,n)}pointerdown(n){this._down=this._active,this.fire(f0,n)}mousedown(n){this._down=this._active,this.fire(d0,n)}click(n){this._down===this._active&&(this.fire(Gc,n),this._down=null)}touchstart(n){this._touch=this.pickEvent(n.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(Vc,n,!0)}touchmove(n){this.fire(Yc,n,!0)}touchend(n){this.fire(Xc,n,!0),this._touch=null}fire(n,e,r){const i=r?this._touch:this._active,a=this._handlers[n];if(e.vegaType=n,n===p0&&i&&i.href?this.handleHref(e,i,i.href):n!==h0&&n!==yu||this.handleTooltip(e,i,n!==yu),a)for(let o=0,s=a.length;o<s;++o)a[o].handler.call(this._obj,e,i)}on(n,e){const r=this.eventName(n),i=this._handlers;return this._handlerIndex(i[r],n,e)<0&&(kA(this,n),(i[r]||(i[r]=[])).push({type:n,handler:e})),this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&i.splice(a,1),this}pickEvent(n){const e=qc(n,this._canvas),r=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-r[0],e[1]-r[1])}pick(n,e,r,i,a){const o=this.context();return Ae[n.marktype].pick.call(this,o,n,e,r,i,a)}}const t4=t=>t===Vc||t===Yc||t===Xc?[Vc,Yc,Xc]:[t];function kA(t,n){t4(n).forEach(e=>function(r,i){const a=r.canvas();a&&!r._events[i]&&(r._events[i]=1,a.addEventListener(i,r[i]?o=>r[i](o):o=>r.fire(i,o)))}(t,e))}function Jc(t,n,e){n.forEach(r=>t.fire(r,e))}function DA(t,n,e){return function(r){const i=this._active,a=this.pickEvent(r);a===i||(i&&i.exit||Jc(this,e,r),this._active=a,Jc(this,n,r)),Jc(this,t,r)}}function FA(t){return function(n){Jc(this,t,n),this._active=null}}function n4(t,n,e,r,i,a){const o=typeof HTMLElement<"u"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),u=o?typeof window<"u"&&window.devicePixelRatio||1:i;t.width=n*u,t.height=e*u;for(const l in a)s[l]=a[l];return o&&u!==1&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=u,s.setTransform(u,0,0,u,u*r[0],u*r[1]),t}class Kc extends gu{constructor(n){super(n),this._options={},this._redraw=!1,this._dirty=new cn,this._tempb=new cn}initialize(n,e,r,i,a,o){return this._options=o||{},this._canvas=this._options.externalContext?null:qi(1,1,this._options.type),n&&this._canvas&&(Pe(n,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(n,e,r,i,a)}resize(n,e,r,i){if(super.resize(n,e,r,i),this._canvas)n4(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const a=this._options.externalContext;a||P("CanvasRenderer is missing a valid canvas or context"),a.scale(this._scale,this._scale),a.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(n){const e=this._tempb.clear().union(n.bounds);let r=n.mark.group;for(;r;)e.translate(r.x||0,r.y||0),r=r.mark.group;this._dirty.union(e)}_render(n,e){const r=this.context(),i=this._origin,a=this._width,o=this._height,s=this._dirty,u=e4(i,a,o);r.save();const l=this._redraw||s.empty()?(this._redraw=!1,u.expand(1)):function(c,f,d){return f.expand(1).round(),c.pixelRatio%1&&f.scale(c.pixelRatio).round().scale(1/c.pixelRatio),f.translate(-d[0]%1,-d[1]%1),c.beginPath(),c.rect(f.x1,f.y1,f.width(),f.height()),c.clip(),f}(r,u.intersect(s),i);return this.clear(-i[0],-i[1],a,o),this.draw(r,n,l,e),r.restore(),s.clear(),this}draw(n,e,r,i){if(e.marktype!=="group"&&i!=null&&!i.includes(e.marktype))return;const a=Ae[e.marktype];e.clip&&function(o,s){var u=s.clip;o.save(),bt(u)?(o.beginPath(),u(o),o.clip()):nA(o,s.group)}(n,e),a.draw.call(this,n,e,r,i),e.clip&&n.restore()}clear(n,e,r,i){const a=this._options,o=this.context();a.type==="pdf"||a.externalContext||o.clearRect(n,e,r,i),this._bgcolor!=null&&(o.fillStyle=this._bgcolor,o.fillRect(n,e,r,i))}}const e4=(t,n,e)=>new cn().set(0,0,n,e).translate(-t[0],-t[1]);class CA extends c0{constructor(n,e){super(n,e);const r=this;r._hrefHandler=m0(r,(i,a)=>{a&&a.href&&r.handleHref(i,a,a.href)}),r._tooltipHandler=m0(r,(i,a)=>{r.handleTooltip(i,a,i.type!==yu)})}initialize(n,e,r){let i=this._svg;return i&&(i.removeEventListener(p0,this._hrefHandler),i.removeEventListener(h0,this._tooltipHandler),i.removeEventListener(yu,this._tooltipHandler)),this._svg=i=n&&l0(n,"svg"),i&&(i.addEventListener(p0,this._hrefHandler),i.addEventListener(h0,this._tooltipHandler),i.addEventListener(yu,this._tooltipHandler)),super.initialize(n,e,r)}canvas(){return this._svg}on(n,e){const r=this.eventName(n),i=this._handlers;if(this._handlerIndex(i[r],n,e)<0){const a={type:n,handler:e,listener:m0(this,e)};(i[r]||(i[r]=[])).push(a),this._svg&&this._svg.addEventListener(r,a.listener)}return this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&(this._svg&&this._svg.removeEventListener(r,i[a].listener),i.splice(a,1)),this}}const m0=(t,n)=>e=>{let r=e.target.__data__;r=Array.isArray(r)?r[0]:r,e.vegaType=e.type,n.call(t._obj,e,r)},EA="aria-hidden",g0="aria-label",y0="role",v0="aria-roledescription",$A="graphics-object",b0="graphics-symbol",SA=(t,n,e)=>({[y0]:t,[v0]:n,[g0]:e||void 0}),r4=Dr(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),MA={axis:{desc:"axis",caption:function(t){const n=t.datum,e=t.orient,r=n.title?RA(t):null,i=t.context,a=i.scales[n.scale].value,o=i.dataflow.locale(),s=a.type;return`${e==="left"||e==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${Oo(s)?"discrete":s} scale with ${Ew(o,a,t)}`}},legend:{desc:"legend",caption:function(t){const n=t.datum,e=n.title?RA(t):null,r=`${n.type||""} legend`.trim(),i=n.scales,a=Object.keys(i),o=t.context,s=o.scales[i[a[0]]].value,u=o.dataflow.locale();return l=r,(l.length?l[0].toUpperCase()+l.slice(1):l)+(e?` titled '${e}'`:"")+` for ${function(c){return c=c.map(f=>f+(f==="fill"||f==="stroke"?" color":"")),c.length<2?c[0]:c.slice(0,-1).join(", ")+" and "+Bt(c)}(a)} with ${Ew(u,s,t)}`;var l}},"title-text":{desc:"title",caption:t=>`Title text '${NA(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${NA(t)}'`}},BA={ariaRole:y0,ariaRoleDescription:v0,description:g0};function zA(t,n){const e=n.aria===!1;if(t(EA,e||void 0),e||n.description==null)for(const r in BA)t(BA[r],void 0);else{const r=n.mark.marktype;t(g0,n.description),t(y0,n.ariaRole||(r==="group"?$A:b0)),t(v0,n.ariaRoleDescription||`${r} mark`)}}function OA(t){return t.aria===!1?{[EA]:!0}:r4[t.role]?null:MA[t.role]?function(n,e){try{const r=n.items[0],i=e.caption||(()=>"");return SA(e.role||b0,e.desc,r.description||i(r))}catch{return null}}(t,MA[t.role]):function(n){const e=n.marktype,r=e==="group"||e==="text"||n.items.some(i=>i.description!=null&&i.aria!==!1);return SA(r?$A:b0,`${e} mark container`,n.description)}(t)}function NA(t){return J(t.text).join(" ")}function RA(t){try{return J(Bt(t.items).items[0].text).join(" ")}catch{return null}}const TA=t=>(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");function x0(){let t="",n="",e="";const r=[],i=()=>n=e="",a=(s,u)=>{var l;return u!=null&&(n+=` ${s}="${l=u,TA(l).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")}"`),o},o={open(s){(f=>{n&&(t+=`${n}>${e}`,i()),r.push(f)})(s),n="<"+s;for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c<u;c++)l[c-1]=arguments[c];for(const f of l)for(const d in f)a(d,f[d]);return o},close(){const s=r.pop();return t+=n?n+(e?`>${e}</${s}>`:"/>"):`</${s}>`,i(),o},attr:a,text:s=>(e+=TA(s),o),toString:()=>t};return o}const PA=t=>jA(x0(),t)+"";function jA(t,n){if(t.open(n.tagName),n.hasAttributes()){const e=n.attributes,r=e.length;for(let i=0;i<r;++i)t.attr(e[i].name,e[i].value)}if(n.hasChildNodes()){const e=n.childNodes;for(const r of e)r.nodeType===3?t.text(r.nodeValue):jA(t,r)}return t.close()}const Qc={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},Zc={blend:"mix-blend-mode"},LA={fill:"none","stroke-miterlimit":10},qA="http://www.w3.org/2000/xmlns/",hn=du.xmlns;class w0 extends gu{constructor(n){super(n),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(n,e,r,i,a){return this._defs={},this._clearDefs(),n&&(this._svg=dn(n,0,"svg",hn),this._svg.setAttributeNS(qA,"xmlns",hn),this._svg.setAttributeNS(qA,"xmlns:xlink",du["xmlns:xlink"]),this._svg.setAttribute("version",du.version),this._svg.setAttribute("class","marks"),Pe(n,1),this._root=dn(this._svg,0,"g",hn),Ji(this._root,LA),Pe(this._svg,1)),this.background(this._bgcolor),super.initialize(n,e,r,i,a)}background(n){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",n),super.background(...arguments)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svg&&(Ji(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){const n=this._svg,e=this._bgcolor;if(!n)return null;let r;e&&(n.removeAttribute("style"),r=dn(n,0,"rect",hn),Ji(r,{width:this._width,height:this._height,fill:e}));const i=PA(n);return e&&(n.removeChild(r),this._svg.style.setProperty("background-color",e)),i}_render(n,e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,n,void 0,e),Pe(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(n){n.dirty!==this._dirtyID&&(n.dirty=this._dirtyID,this._dirty.push(n))}isDirty(n){return this._dirtyAll||!n._svg||!n._svg.ownerSVGElement||n.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;const n=this._dirty;if(!n.length||!this._dirtyID)return!0;const e=++this._dirtyID;let r,i,a,o,s,u,l;for(s=0,u=n.length;s<u;++s)r=n[s],i=r.mark,i.marktype!==a&&(a=i.marktype,o=Ae[a]),i.zdirty&&i.dirty!==e&&(this._dirtyAll=!1,UA(r,e),i.items.forEach(c=>{c.dirty=e})),i.zdirty||(r.exit?(o.nested&&i.items.length?(l=i.items[0],l._svg&&this._update(o,l._svg,l)):r._svg&&(l=r._svg.parentNode,l&&l.removeChild(r._svg)),r._svg=null):(r=o.nested?i.items[0]:r,r._update!==e&&(r._svg&&r._svg.ownerSVGElement?this._update(o,r._svg,r):(this._dirtyAll=!1,UA(r,e)),r._update=e)));return!this._dirtyAll}mark(n,e,r,i){if(!this.isDirty(e))return e._svg;const a=this._svg,o=e.marktype,s=Ae[o],u=e.interactive===!1?"none":null,l=s.tag==="g",c=IA(e,n,r,"g",a);if(o!=="group"&&i!=null&&!i.includes(o))return Pe(c,0),e._svg;c.setAttribute("class",yA(e));const f=OA(e);for(const m in f)Vn(c,m,f[m]);l||Vn(c,"pointer-events",u),Vn(c,"clip-path",e.clip?Lm(this,e,e.group):null);let d=null,h=0;const p=m=>{const g=this.isDirty(m),y=IA(m,c,d,s.tag,a);g&&(this._update(s,y,m),l&&function(v,x,b,w){x=x.lastChild.previousSibling;let A,_=0;Qe(b,k=>{A=v.mark(x,k,A,w),++_}),Pe(x,1+_)}(this,y,m,i)),d=y,++h};return s.nested?e.items.length&&p(e.items[0]):Qe(e,p),Pe(c,h),c}_update(n,e,r){oi=e,On=e.__values__,zA(bu,r),n.attr(bu,r,this);const i=o4[n.type];i&&i.call(this,n,e,r),oi&&this.style(oi,r)}style(n,e){if(e!=null){for(const r in Qc){let i=r==="font"?pu(e):e[r];if(i===On[r])continue;const a=Qc[r];i==null?n.removeAttribute(a):(Om(i)&&(i=Sw(i,this._defs.gradient,WA())),n.setAttribute(a,i+"")),On[r]=i}for(const r in Zc)tf(n,Zc[r],e[r])}}defs(){const n=this._svg,e=this._defs;let r=e.el,i=0;for(const a in e.gradient)r||(e.el=r=dn(n,1,"defs",hn)),i=i4(r,e.gradient[a],i);for(const a in e.clipping)r||(e.el=r=dn(n,1,"defs",hn)),i=a4(r,e.clipping[a],i);r&&(i===0?(n.removeChild(r),e.el=null):Pe(r,i))}_clearDefs(){const n=this._defs;n.gradient={},n.clipping={}}}function UA(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function i4(t,n,e){let r,i,a;if(n.gradient==="radial"){let o=dn(t,e++,"pattern",hn);Ji(o,{id:Ac+n.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=dn(o,0,"rect",hn),Ji(o,{width:1,height:1,fill:`url(${WA()}#${n.id})`}),Ji(t=dn(t,e++,"radialGradient",hn),{id:n.id,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else Ji(t=dn(t,e++,"linearGradient",hn),{id:n.id,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2});for(r=0,i=n.stops.length;r<i;++r)a=dn(t,r,"stop",hn),a.setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Pe(t,r),e}function a4(t,n,e){let r;return(t=dn(t,e,"clipPath",hn)).setAttribute("id",n.id),n.path?(r=dn(t,0,"path",hn),r.setAttribute("d",n.path)):(r=dn(t,0,"rect",hn),Ji(r,{x:0,y:0,width:n.width,height:n.height})),Pe(t,1),e+1}function IA(t,n,e,r,i){let a,o=t._svg;if(!o&&(a=n.ownerDocument,o=Xi(a,r,hn),t._svg=o,t.mark&&(o.__data__=t,o.__values__={fill:"default"},r==="g"))){const s=Xi(a,"path",hn);o.appendChild(s),s.__data__=t;const u=Xi(a,"g",hn);o.appendChild(u),u.__data__=t;const l=Xi(a,"path",hn);o.appendChild(l),l.__data__=t,l.__values__={fill:"default"}}return(o.ownerSVGElement!==i||function(s,u){return s.parentNode&&s.parentNode.childNodes.length>1&&s.previousSibling!=u}(o,e))&&n.insertBefore(o,e?e.nextSibling:n.firstChild),o}let oi=null,On=null;const o4={group(t,n,e){const r=oi=n.childNodes[2];On=r.__values__,t.foreground(bu,e,this),On=n.__values__,oi=n.childNodes[1],t.content(bu,e,this);const i=oi=n.childNodes[0];t.background(bu,e,this);const a=e.mark.interactive===!1?"none":null;if(a!==On.events&&(Vn(r,"pointer-events",a),Vn(i,"pointer-events",a),On.events=a),e.strokeForeground&&e.stroke){const o=e.fill;Vn(r,"display",null),this.style(i,e),Vn(i,"stroke",null),o&&(e.fill=null),On=r.__values__,this.style(r,e),o&&(e.fill=o),oi=null}else Vn(r,"display","none")},image(t,n,e){e.smooth===!1?(tf(n,"image-rendering","optimizeSpeed"),tf(n,"image-rendering","pixelated")):tf(n,"image-rendering",null)},text(t,n,e){const r=hu(e);let i,a,o,s;T(r)?(a=r.map(u=>Yi(e,u)),i=a.join(`
2
2
  `),i!==On.text&&(Pe(n,0),o=n.ownerDocument,s=Vi(e),a.forEach((u,l)=>{const c=Xi(o,"tspan",hn);c.__data__=e,c.textContent=u,l&&(c.setAttribute("x",0),c.setAttribute("dy",s)),n.appendChild(c)}),On.text=i)):(a=Yi(e,r),a!==On.text&&(n.textContent=a,On.text=a)),Vn(n,"font-family",pu(e)),Vn(n,"font-size",Sr(e)+"px"),Vn(n,"font-style",e.fontStyle),Vn(n,"font-variant",e.fontVariant),Vn(n,"font-weight",e.fontWeight)}};function bu(t,n,e){n!==On[t]&&(e?function(r,i,a,o){a!=null?r.setAttributeNS(o,i,a):r.removeAttributeNS(o,i)}(oi,t,n,e):Vn(oi,t,n),On[t]=n)}function tf(t,n,e){e!==On[n]&&(e==null?t.style.removeProperty(n):t.style.setProperty(n,e+""),On[n]=e)}function Ji(t,n){for(const e in n)Vn(t,e,n[e])}function Vn(t,n,e){e!=null?t.setAttribute(n,e):t.removeAttribute(n)}function WA(){let t;return typeof window>"u"?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}class HA extends gu{constructor(n){super(n),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(n){const e=x0();e.open("svg",xt({},du,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const r=this._bgcolor;return r&&r!=="transparent"&&r!=="none"&&e.open("rect",{width:this._width,height:this._height,fill:r}).close(),e.open("g",LA,{transform:"translate("+this._origin+")"}),this.mark(e,n),e.close(),this.defs(e),this._text=e.close()+"",this}mark(n,e){const r=Ae[e.marktype],i=r.tag,a=[zA,r.attr];n.open("g",{class:yA(e),"clip-path":e.clip?Lm(this,e,e.group):null},OA(e),{"pointer-events":i!=="g"&&e.interactive===!1?"none":null});const o=s=>{const u=this.href(s);if(u&&n.open("a",u),n.open(i,this.attr(e,s,a,i!=="g"?i:null)),i==="text"){const l=hu(s);if(T(l)){const c={x:0,dy:Vi(s)};for(let f=0;f<l.length;++f)n.open("tspan",f?c:null).text(Yi(s,l[f])).close()}else n.text(Yi(s,l))}else if(i==="g"){const l=s.strokeForeground,c=s.fill,f=s.stroke;l&&f&&(s.stroke=null),n.open("path",this.attr(e,s,r.background,"bgrect")).close(),n.open("g",this.attr(e,s,r.content)),Qe(s,d=>this.mark(n,d)),n.close(),l&&f?(c&&(s.fill=null),s.stroke=f,n.open("path",this.attr(e,s,r.foreground,"bgrect")).close(),c&&(s.fill=c)):n.open("path",this.attr(e,s,r.foreground,"bgfore")).close()}n.close(),u&&n.close()};return r.nested?e.items&&e.items.length&&o(e.items[0]):Qe(e,o),n.close()}href(n){const e=n.href;let r;if(e){if(r=this._hrefs&&this._hrefs[e])return r;this.sanitizeURL(e).then(i=>{i["xlink:href"]=i.href,i.href=null,(this._hrefs||(this._hrefs={}))[e]=i})}return null}attr(n,e,r,i){const a={},o=(s,u,l,c)=>{a[c||s]=u};return Array.isArray(r)?r.forEach(s=>s(o,e,this)):r(o,e,this),i&&function(s,u,l,c,f){let d;if(u==null||(c==="bgrect"&&l.interactive===!1&&(s["pointer-events"]="none"),c==="bgfore"&&(l.interactive===!1&&(s["pointer-events"]="none"),s.display="none",u.fill!==null)))return s;c==="image"&&u.smooth===!1&&(d=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),c==="text"&&(s["font-family"]=pu(u),s["font-size"]=Sr(u)+"px",s["font-style"]=u.fontStyle,s["font-variant"]=u.fontVariant,s["font-weight"]=u.fontWeight);for(const h in Qc){let p=u[h];const m=Qc[h];(p!=="transparent"||m!=="fill"&&m!=="stroke")&&p!=null&&(Om(p)&&(p=Sw(p,f.gradient,"")),s[m]=p)}for(const h in Zc){const p=u[h];p!=null&&(d=d||[],d.push(`${Zc[h]}: ${p};`))}d&&(s.style=d.join(" "))}(a,e,n,i,this._defs),a}defs(n){const e=this._defs.gradient,r=this._defs.clipping;if(Object.keys(e).length+Object.keys(r).length!==0){n.open("defs");for(const i in e){const a=e[i],o=a.stops;a.gradient==="radial"?(n.open("pattern",{id:Ac+i,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),n.open("rect",{width:"1",height:"1",fill:"url(#"+i+")"}).close(),n.close(),n.open("radialGradient",{id:i,fx:a.x1,fy:a.y1,fr:a.r1,cx:a.x2,cy:a.y2,r:a.r2})):n.open("linearGradient",{id:i,x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2});for(let s=0;s<o.length;++s)n.open("stop",{offset:o[s].offset,"stop-color":o[s].color}).close();n.close()}for(const i in r){const a=r[i];n.open("clipPath",{id:i}),a.path?n.open("path",{d:a.path}).close():n.open("rect",{x:0,y:0,width:a.width,height:a.height}).close(),n.close()}n.close()}}}const Ze={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};class A0 extends gu{constructor(n){super(n),this._svgRenderer=new w0(n),this._canvasRenderer=new Kc(n)}initialize(n,e,r,i,a){this._root_el=dn(n,0,"div");const o=dn(this._root_el,0,"div"),s=dn(this._root_el,1,"div");return this._root_el.style.position="relative",Ze.debug||(o.style.height="100%",s.style.position="absolute",s.style.top="0",s.style.left="0",s.style.height="100%",s.style.width="100%"),this._svgEl=Ze.svgOnTop?s:o,this._canvasEl=Ze.svgOnTop?o:s,this._svgEl.style.pointerEvents="none",this._canvasRenderer.initialize(this._canvasEl,e,r,i,a),this._svgRenderer.initialize(this._svgEl,e,r,i,a),super.initialize(n,e,r,i,a)}dirty(n){return Ze.svgMarkTypes.includes(n.mark.marktype)?this._svgRenderer.dirty(n):this._canvasRenderer.dirty(n),this}_render(n,e){const r=(e??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(i=>!Ze.svgMarkTypes.includes(i));this._svgRenderer.render(n,Ze.svgMarkTypes),this._canvasRenderer.render(n,r)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svgRenderer.resize(n,e,r,i),this._canvasRenderer.resize(n,e,r,i),this}background(n){return Ze.svgOnTop?this._canvasRenderer.background(n):this._svgRenderer.background(n),this}}class GA extends vu{constructor(n,e){super(n,e)}initialize(n,e,r){const i=dn(dn(n,0,"div"),Ze.svgOnTop?0:1,"div");return super.initialize(i,e,r)}}const VA="canvas",YA="hybrid",XA="none",Ki={Canvas:VA,PNG:"png",SVG:"svg",Hybrid:YA,None:XA},qa={};function nf(t,n){return t=String(t||"").toLowerCase(),arguments.length>1?(qa[t]=n,this):qa[t]}function JA(t,n,e){const r=[],i=new cn().union(n),a=t.marktype;return a?KA(t,i,e,r):a==="group"?QA(t,i,e,r):P("Intersect scene must be mark node or group item.")}function KA(t,n,e,r){if(function(i,a,o){return i.bounds&&a.intersects(i.bounds)&&(i.marktype==="group"||i.interactive!==!1&&(!o||o(i)))}(t,n,e)){const i=t.items,a=t.marktype,o=i.length;let s=0;if(a==="group")for(;s<o;++s)QA(i[s],n,e,r);else for(const u=Ae[a].isect;s<o;++s){const l=i[s];ZA(l,n,u)&&r.push(l)}}return r}function QA(t,n,e,r){e&&e(t.mark)&&ZA(t,n,Ae.group.isect)&&r.push(t);const i=t.items,a=i&&i.length;if(a){const o=t.x||0,s=t.y||0;n.translate(-o,-s);for(let u=0;u<a;++u)KA(i[u],n,e,r);n.translate(o,s)}return r}function ZA(t,n,e){const r=t.bounds;return n.encloses(r)||n.intersects(r)&&e(t,n)}qa[VA]=qa.png={renderer:Kc,headless:Kc,handler:vu},qa.svg={renderer:w0,headless:HA,handler:CA},qa[YA]={renderer:A0,headless:A0,handler:GA},qa[XA]={};const _0=new cn;function t_(t){const n=t.clip;if(bt(n))n(lu(_0.clear()));else{if(!n)return;_0.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(_0)}function k0(t,n,e){return t===n||(e==="path"?n_(t,n):t instanceof Date&&n instanceof Date?+t==+n:$t(t)&&$t(n)?Math.abs(t-n)<=1e-9:t&&n&&(Z(t)||Z(n))?function(r,i){var a,o,s=Object.keys(r),u=Object.keys(i);if(s.length!==u.length)return!1;for(s.sort(),u.sort(),o=s.length-1;o>=0;o--)if(s[o]!=u[o])return!1;for(o=s.length-1;o>=0;o--)if(!k0(r[a=s[o]],i[a],a))return!1;return typeof r==typeof i}(t,n):t==n)}function n_(t,n){return k0(No(t),No(n))}const qo="top",tr="left",nr="right",Qi="bottom",D0="start",F0="middle",Yn="end",ef="group",C0="axis",E0="title",s4="frame",u4="scope",$0="legend",e_="row-header",r_="row-footer",i_="row-title",a_="column-header",o_="column-footer",s_="column-title",l4="padding",u_="fit",l_="fit-x",c_="fit-y",S0="none",rf="all",M0="each",B0="flush",Zi="column",ta="row";function f_(t){O.call(this,null,t)}function af(t,n,e){return n(t.bounds.clear(),t,e)}V(f_,O,{transform(t,n){const e=n.dataflow,r=t.mark,i=r.marktype,a=Ae[i],o=a.bound;let s,u=r.bounds;if(a.nested)r.items.length&&e.dirty(r.items[0]),u=af(r,o),r.items.forEach(l=>{l.bounds.clear().union(u)});else if(i===ef||t.modified())switch(n.visit(n.MOD,l=>e.dirty(l)),u.clear(),r.items.forEach(l=>u.union(af(l,o))),r.role){case C0:case $0:case E0:n.reflow()}else s=n.changed(n.REM),n.visit(n.ADD,l=>{u.union(af(l,o))}),n.visit(n.MOD,l=>{s=s||u.alignsWith(l.bounds),e.dirty(l),u.union(af(l,o))}),s&&(u.clear(),r.items.forEach(l=>u.union(l.bounds)));return t_(r),n.modifies("bounds")}});const d_=":vega_identifier:";function z0(t){O.call(this,0,t)}function h_(t){O.call(this,null,t)}function p_(t){O.call(this,null,t)}z0.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},V(z0,O,{transform(t,n){const e=(i=n.dataflow)._signals[d_]||(i._signals[d_]=i.add(0)),r=t.as;var i;let a=e.value;return n.visit(n.ADD,o=>o[r]=o[r]||++a),e.set(this.value=a),n}}),V(h_,O,{transform(t,n){let e=this.value;e||(e=n.dataflow.scenegraph().mark(t.markdef,function(i){const a=i.groups,o=i.parent;return a&&a.size===1?a.get(Object.keys(a.object)[0]):a&&o?a.lookup(o):null}(t),t.index),e.group.context=t.context,t.context.group||(t.context.group=e.group),e.source=this.source,e.clip=t.clip,e.interactive=t.interactive,this.value=e);const r=e.marktype===ef?Fc:Dc;return n.visit(n.ADD,i=>r.call(i,e)),(t.modified("clip")||t.modified("interactive"))&&(e.clip=t.clip,e.interactive=!!t.interactive,e.zdirty=!0,n.reflow()),e.items=n.source,n}});const m_={parity:t=>t.filter((n,e)=>e%2?n.opacity=0:1),greedy:(t,n)=>{let e;return t.filter((r,i)=>i&&g_(e.bounds,r.bounds,n)?r.opacity=0:(e=r,1))}},g_=(t,n,e)=>e>Math.max(n.x1-t.x2,t.x1-n.x2,n.y1-t.y2,t.y1-n.y2),y_=(t,n)=>{for(var e,r=1,i=t.length,a=t[0].bounds;r<i;a=e,++r)if(g_(a,e=t[r].bounds,n))return!0},c4=t=>{const n=t.bounds;return n.width()>1&&n.height()>1},v_=t=>(t.forEach(n=>n.opacity=1),t),b_=(t,n)=>t.reflow(n.modified()).modifies("opacity");function x_(t){O.call(this,null,t)}V(p_,O,{transform(t,n){const e=m_[t.method]||m_.parity,r=t.separation||0;let i,a,o=n.materialize(n.SOURCE).source;if(!o||!o.length)return;if(!t.method)return t.modified("method")&&(v_(o),n=b_(n,t)),n;if(o=o.filter(c4),!o.length)return;if(t.sort&&(o=o.slice().sort(t.sort)),i=v_(o),n=b_(n,t),i.length>=3&&y_(i,r)){do i=e(i,r);while(i.length>=3&&y_(i,r));i.length<3&&!Bt(o).opacity&&(i.length>1&&(Bt(i).opacity=0),Bt(o).opacity=1)}t.boundScale&&t.boundTolerance>=0&&(a=((u,l,c)=>{var f=u.range(),d=new cn;return l===qo||l===Qi?d.set(f[0],-1/0,f[1],1/0):d.set(-1/0,f[0],1/0,f[1]),d.expand(c||1),h=>d.encloses(h.bounds)})(t.boundScale,t.boundOrient,+t.boundTolerance),o.forEach(u=>{a(u)||(u.opacity=0)}));const s=i[0].mark.bounds.clear();return o.forEach(u=>{u.opacity&&s.union(u.bounds)}),n}}),V(x_,O,{transform(t,n){const e=n.dataflow;if(n.visit(n.ALL,r=>e.dirty(r)),n.fields&&n.fields.zindex){const r=n.source&&n.source[0];r&&(r.mark.zdirty=!0)}}});const Nn=new cn;function Uo(t,n,e){return t[n]===e?0:(t[n]=e,1)}function f4(t){var n=t.items[0].orient;return n===tr||n===nr}function d4(t,n,e,r){var i,a,o=n.items[0],s=o.datum,u=o.translate!=null?o.translate:.5,l=o.orient,c=function(A){let _=+A.grid;return[A.ticks?_++:-1,A.labels?_++:-1,_+ +A.domain]}(s),f=o.range,d=o.offset,h=o.position,p=o.minExtent,m=o.maxExtent,g=s.title&&o.items[c[2]].items[0],y=o.titlePadding,v=o.bounds,x=g&&a0(g),b=0,w=0;switch(Nn.clear().union(v),v.clear(),(i=c[0])>-1&&v.union(o.items[i].bounds),(i=c[1])>-1&&v.union(o.items[i].bounds),l){case qo:b=h||0,w=-d,a=Math.max(p,Math.min(m,-v.y1)),v.add(0,-a).add(f,0),g&&of(t,g,a,y,x,0,-1,v);break;case tr:b=-d,w=h||0,a=Math.max(p,Math.min(m,-v.x1)),v.add(-a,0).add(0,f),g&&of(t,g,a,y,x,1,-1,v);break;case nr:b=e+d,w=h||0,a=Math.max(p,Math.min(m,v.x2)),v.add(0,0).add(a,f),g&&of(t,g,a,y,x,1,1,v);break;case Qi:b=h||0,w=r+d,a=Math.max(p,Math.min(m,v.y2)),v.add(0,0).add(f,a),g&&of(t,g,a,y,0,0,1,v);break;default:b=o.x,w=o.y}return ai(v.translate(b,w),o),Uo(o,"x",b+u)|Uo(o,"y",w+u)&&(o.bounds=Nn,t.dirty(o),o.bounds=v,t.dirty(o)),o.mark.bounds.clear().union(v)}function of(t,n,e,r,i,a,o,s){const u=n.bounds;if(n.auto){const l=o*(e+i+r);let c=0,f=0;t.dirty(n),a?c=(n.x||0)-(n.x=l):f=(n.y||0)-(n.y=l),n.mark.bounds.clear().union(u.translate(-c,-f)),t.dirty(n)}s.union(u)}const w_=(t,n)=>Math.floor(Math.min(t,n)),A_=(t,n)=>Math.ceil(Math.max(t,n));function h4(t){return new cn().set(0,0,t.width||0,t.height||0)}function p4(t){const n=t.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(t.x||0),-(t.y||0))}function Yt(t,n,e){const r=Z(t)?t[n]:t;return r??(e!==void 0?e:0)}function __(t){return t<0?Math.ceil(-t):0}function k_(t,n,e){var r,i,a,o,s,u,l,c,f,d,h,p=!e.nodirty,m=e.bounds===B0?h4:p4,g=Nn.set(0,0,0,0),y=Yt(e.align,Zi),v=Yt(e.align,ta),x=Yt(e.padding,Zi),b=Yt(e.padding,ta),w=e.columns||n.length,A=w<=0?1:Math.ceil(n.length/w),_=n.length,k=Array(_),D=Array(w),C=0,F=Array(_),E=Array(A),$=0,M=Array(_),S=Array(_),B=Array(_);for(i=0;i<w;++i)D[i]=0;for(i=0;i<A;++i)E[i]=0;for(i=0;i<_;++i)u=n[i],s=B[i]=m(u),u.x=u.x||0,M[i]=0,u.y=u.y||0,S[i]=0,a=i%w,o=~~(i/w),C=Math.max(C,l=Math.ceil(s.x2)),$=Math.max($,c=Math.ceil(s.y2)),D[a]=Math.max(D[a],l),E[o]=Math.max(E[o],c),k[i]=x+__(s.x1),F[i]=b+__(s.y1),p&&t.dirty(n[i]);for(i=0;i<_;++i)i%w===0&&(k[i]=0),i<w&&(F[i]=0);if(y===M0)for(a=1;a<w;++a){for(h=0,i=a;i<_;i+=w)h<k[i]&&(h=k[i]);for(i=a;i<_;i+=w)k[i]=h+D[a-1]}else if(y===rf){for(h=0,i=0;i<_;++i)i%w&&h<k[i]&&(h=k[i]);for(i=0;i<_;++i)i%w&&(k[i]=h+C)}else for(y=!1,a=1;a<w;++a)for(i=a;i<_;i+=w)k[i]+=D[a-1];if(v===M0)for(o=1;o<A;++o){for(h=0,r=(i=o*w)+w;i<r;++i)h<F[i]&&(h=F[i]);for(i=o*w;i<r;++i)F[i]=h+E[o-1]}else if(v===rf){for(h=0,i=w;i<_;++i)h<F[i]&&(h=F[i]);for(i=w;i<_;++i)F[i]=h+$}else for(v=!1,o=1;o<A;++o)for(r=(i=o*w)+w;i<r;++i)F[i]+=E[o-1];for(f=0,i=0;i<_;++i)f=k[i]+(i%w?f:0),M[i]+=f-n[i].x;for(a=0;a<w;++a)for(d=0,i=a;i<_;i+=w)d+=F[i],S[i]+=d-n[i].y;if(y&&Yt(e.center,Zi)&&A>1)for(i=0;i<_;++i)(f=(s=y===rf?C:D[i%w])-B[i].x2-n[i].x-M[i])>0&&(M[i]+=f/2);if(v&&Yt(e.center,ta)&&w!==1)for(i=0;i<_;++i)(d=(s=v===rf?$:E[~~(i/w)])-B[i].y2-n[i].y-S[i])>0&&(S[i]+=d/2);for(i=0;i<_;++i)g.union(B[i].translate(M[i],S[i]));switch(f=Yt(e.anchor,"x"),d=Yt(e.anchor,"y"),Yt(e.anchor,Zi)){case Yn:f-=g.width();break;case F0:f-=g.width()/2}switch(Yt(e.anchor,ta)){case Yn:d-=g.height();break;case F0:d-=g.height()/2}for(f=Math.round(f),d=Math.round(d),g.clear(),i=0;i<_;++i)n[i].mark.bounds.clear();for(i=0;i<_;++i)(u=n[i]).x+=M[i]+=f,u.y+=S[i]+=d,g.union(u.mark.bounds.union(u.bounds.translate(M[i],S[i]))),p&&t.dirty(u);return g}function m4(t,n,e){var r,i,a,o,s,u,l,c=function(v){var x,b,w=v.items,A=w.length,_=0;const k={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;_<A;++_)if(b=(x=w[_]).items,x.marktype===ef)switch(x.role){case C0:case $0:case E0:break;case e_:k.rowheaders.push(...b);break;case r_:k.rowfooters.push(...b);break;case a_:k.colheaders.push(...b);break;case o_:k.colfooters.push(...b);break;case i_:k.rowtitle=b[0];break;case s_:k.coltitle=b[0];break;default:k.marks.push(...b)}return k}(n),f=c.marks,d=e.bounds===B0?g4:y4,h=e.offset,p=e.columns||f.length,m=p<=0?1:Math.ceil(f.length/p),g=m*p;const y=k_(t,f,e);y.empty()&&y.set(0,0,0,0),c.rowheaders&&(u=Yt(e.headerBand,ta,null),r=sf(t,c.rowheaders,f,p,m,-Yt(h,"rowHeader"),w_,0,d,"x1",0,p,1,u)),c.colheaders&&(u=Yt(e.headerBand,Zi,null),i=sf(t,c.colheaders,f,p,p,-Yt(h,"columnHeader"),w_,1,d,"y1",0,1,p,u)),c.rowfooters&&(u=Yt(e.footerBand,ta,null),a=sf(t,c.rowfooters,f,p,m,Yt(h,"rowFooter"),A_,0,d,"x2",p-1,p,1,u)),c.colfooters&&(u=Yt(e.footerBand,Zi,null),o=sf(t,c.colfooters,f,p,p,Yt(h,"columnFooter"),A_,1,d,"y2",g-p,1,p,u)),c.rowtitle&&(s=Yt(e.titleAnchor,ta),l=Yt(h,"rowTitle"),l=s===Yn?a+l:r-l,u=Yt(e.titleBand,ta,.5),D_(t,c.rowtitle,l,0,y,u)),c.coltitle&&(s=Yt(e.titleAnchor,Zi),l=Yt(h,"columnTitle"),l=s===Yn?o+l:i-l,u=Yt(e.titleBand,Zi,.5),D_(t,c.coltitle,l,1,y,u))}function g4(t,n){return n==="x1"?t.x||0:n==="y1"?t.y||0:n==="x2"?(t.x||0)+(t.width||0):n==="y2"?(t.y||0)+(t.height||0):void 0}function y4(t,n){return t.bounds[n]}function sf(t,n,e,r,i,a,o,s,u,l,c,f,d,h){var p,m,g,y,v,x,b,w,A,_=e.length,k=0,D=0;if(!_)return k;for(p=c;p<_;p+=f)e[p]&&(k=o(k,u(e[p],l)));if(!n.length)return k;for(n.length>i&&(t.warn("Grid headers exceed limit: "+i),n=n.slice(0,i)),k+=a,m=0,y=n.length;m<y;++m)t.dirty(n[m]),n[m].mark.bounds.clear();for(p=c,m=0,y=n.length;m<y;++m,p+=f){for(v=(x=n[m]).mark.bounds,g=p;g>=0&&(b=e[g])==null;g-=d);s?(w=h==null?b.x:Math.round(b.bounds.x1+h*b.bounds.width()),A=k):(w=k,A=h==null?b.y:Math.round(b.bounds.y1+h*b.bounds.height())),v.union(x.bounds.translate(w-(x.x||0),A-(x.y||0))),x.x=w,x.y=A,t.dirty(x),D=o(D,v[l])}return D}function D_(t,n,e,r,i,a){if(n){t.dirty(n);var o=e,s=e;r?o=Math.round(i.x1+a*i.width()):s=Math.round(i.y1+a*i.height()),n.bounds.translate(o-(n.x||0),s-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=o,n.y=s,t.dirty(n)}}function v4(t,n,e,r,i,a,o){const s=function(d,h){const p=d[h]||{};return(m,g)=>p[m]!=null?p[m]:d[m]!=null?d[m]:g}(e,n),u=function(d,h){let p=-1/0;return d.forEach(m=>{m.offset!=null&&(p=Math.max(p,m.offset))}),p>-1/0?p:h}(t,s("offset",0)),l=s("anchor",D0),c=l===Yn?1:l===F0?.5:0,f={align:M0,bounds:s("bounds",B0),columns:s("direction")==="vertical"?1:t.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(n){case tr:f.anchor={x:Math.floor(r.x1)-u,column:Yn,y:c*(o||r.height()+2*r.y1),row:l};break;case nr:f.anchor={x:Math.ceil(r.x2)+u,y:c*(o||r.height()+2*r.y1),row:l};break;case qo:f.anchor={y:Math.floor(i.y1)-u,row:Yn,x:c*(a||i.width()+2*i.x1),column:l};break;case Qi:f.anchor={y:Math.ceil(i.y2)+u,x:c*(a||i.width()+2*i.x1),column:l};break;case"top-left":f.anchor={x:u,y:u};break;case"top-right":f.anchor={x:a-u,y:u,column:Yn};break;case"bottom-left":f.anchor={x:u,y:o-u,row:Yn};break;case"bottom-right":f.anchor={x:a-u,y:o-u,column:Yn,row:Yn}}return f}function b4(t,n){var e,r,i=n.items[0],a=i.datum,o=i.orient,s=i.bounds,u=i.x,l=i.y;return i._bounds?i._bounds.clear().union(s):i._bounds=s.clone(),s.clear(),function(c,f,d){var h=f.padding,p=h-d.x,m=h-d.y;if(f.datum.title){var g=f.items[1].items[0],y=g.anchor,v=f.titlePadding||0,x=h-g.x,b=h-g.y;switch(g.orient){case tr:p+=Math.ceil(g.bounds.width())+v;break;case nr:case Qi:break;default:m+=g.bounds.height()+v}switch((p||m)&&xu(c,d,p,m),g.orient){case tr:b+=Io(f,d,g,y,1,1);break;case nr:x+=Io(f,d,g,Yn,0,0)+v,b+=Io(f,d,g,y,1,1);break;case Qi:x+=Io(f,d,g,y,0,0),b+=Io(f,d,g,Yn,-1,0,1)+v;break;default:x+=Io(f,d,g,y,0,0)}(x||b)&&xu(c,g,x,b),(x=Math.round(g.bounds.x1-h))<0&&(xu(c,d,-x,0),xu(c,g,-x,0))}else(p||m)&&xu(c,d,p,m)}(t,i,i.items[0].items[0]),s=function(c,f){return c.items.forEach(d=>f.union(d.bounds)),f.x1=c.padding,f.y1=c.padding,f}(i,s),e=2*i.padding,r=2*i.padding,s.empty()||(e=Math.ceil(s.width()+e),r=Math.ceil(s.height()+r)),a.type==="symbol"&&function(c){const f=c.reduce((d,h)=>(d[h.column]=Math.max(h.bounds.x2-h.x,d[h.column]||0),d),{});c.forEach(d=>{d.width=f[d.column],d.height=d.bounds.y2-d.y})}(i.items[0].items[0].items[0].items),o!==S0&&(i.x=u=0,i.y=l=0),i.width=e,i.height=r,ai(s.set(u,l,u+e,l+r),i),i.mark.bounds.clear().union(s),i}function Io(t,n,e,r,i,a,o){const s=t.datum.type!=="symbol",u=e.datum.vgrad,l=(!s||!a&&u||o?n:n.items[0]).bounds[i?"y2":"x2"]-t.padding,c=u&&a?l:0,f=u&&a?0:l,d=i<=0?0:a0(e);return Math.round(r===D0?c:r===Yn?f-d:.5*(l-d))}function xu(t,n,e,r){n.x+=e,n.y+=r,n.bounds.translate(e,r),n.mark.bounds.translate(e,r),t.dirty(n)}function F_(t){O.call(this,null,t)}V(F_,O,{transform(t,n){const e=n.dataflow;return t.mark.items.forEach(r=>{t.layout&&m4(e,r,t.layout),function(i,a,o){var s,u,l,c,f,d=a.items,h=Math.max(0,a.width||0),p=Math.max(0,a.height||0),m=new cn().set(0,0,h,p),g=m.clone(),y=m.clone(),v=[];for(c=0,f=d.length;c<f;++c)switch((u=d[c]).role){case C0:(f4(u)?g:y).union(d4(i,u,h,p));break;case E0:s=u;break;case $0:v.push(b4(i,u));break;case s4:case u4:case e_:case r_:case i_:case a_:case o_:case s_:g.union(u.bounds),y.union(u.bounds);break;default:m.union(u.bounds)}if(v.length){const x={};v.forEach(b=>{(l=b.orient||nr)!==S0&&(x[l]||(x[l]=[])).push(b)});for(const b in x){const w=x[b];k_(i,w,v4(w,b,o.legends,g,y,h,p))}v.forEach(b=>{const w=b.bounds;if(w.equals(b._bounds)||(b.bounds=b._bounds,i.dirty(b),b.bounds=w,i.dirty(b)),!o.autosize||o.autosize.type!==u_&&o.autosize.type!==l_&&o.autosize.type!==c_)m.union(w);else switch(b.orient){case tr:case nr:m.add(w.x1,0).add(w.x2,0);break;case qo:case Qi:m.add(0,w.y1).add(0,w.y2)}})}m.union(g).union(y),s&&m.union(function(x,b,w,A,_){var k,D=b.items[0],C=D.frame,F=D.orient,E=D.anchor,$=D.offset,M=D.padding,S=D.items[0].items[0],B=D.items[1]&&D.items[1].items[0],z=F===tr||F===nr?A:w,j=0,W=0,K=0,q=0,at=0;if(C!==ef?F===tr?(j=_.y2,z=_.y1):F===nr?(j=_.y1,z=_.y2):(j=_.x1,z=_.x2):F===tr&&(j=A,z=0),k=E===D0?j:E===Yn?z:(j+z)/2,B&&B.text){switch(F){case qo:case Qi:at=S.bounds.height()+M;break;case tr:q=S.bounds.width()+M;break;case nr:q=-S.bounds.width()-M}Nn.clear().union(B.bounds),Nn.translate(q-(B.x||0),at-(B.y||0)),Uo(B,"x",q)|Uo(B,"y",at)&&(x.dirty(B),B.bounds.clear().union(Nn),B.mark.bounds.clear().union(Nn),x.dirty(B)),Nn.clear().union(B.bounds)}else Nn.clear();switch(Nn.union(S.bounds),F){case qo:W=k,K=_.y1-Nn.height()-$;break;case tr:W=_.x1-Nn.width()-$,K=k;break;case nr:W=_.x2+Nn.width()+$,K=k;break;case Qi:W=k,K=_.y2+$;break;default:W=D.x,K=D.y}return Uo(D,"x",W)|Uo(D,"y",K)&&(Nn.translate(W,K),x.dirty(D),D.bounds.clear().union(Nn),b.bounds.clear().union(Nn),x.dirty(D)),D.bounds}(i,s,h,p,m)),a.clip&&m.set(0,0,a.width||0,a.height||0),function(x,b,w,A){const _=A.autosize||{},k=_.type;if(x._autosize<1||!k)return;let D=x._width,C=x._height,F=Math.max(0,b.width||0),E=Math.max(0,Math.ceil(-w.x1)),$=Math.max(0,b.height||0),M=Math.max(0,Math.ceil(-w.y1));const S=Math.max(0,Math.ceil(w.x2-F)),B=Math.max(0,Math.ceil(w.y2-$));if(_.contains===l4){const z=x.padding();D-=z.left+z.right,C-=z.top+z.bottom}k===S0?(E=0,M=0,F=D,$=C):k===u_?(F=Math.max(0,D-E-S),$=Math.max(0,C-M-B)):k===l_?(F=Math.max(0,D-E-S),C=$+M+B):k===c_?(D=F+E+S,$=Math.max(0,C-M-B)):k==="pad"&&(D=F+E+S,C=$+M+B),x._resizeView(D,C,F,$,[E,M],_.resize)}(i,a,m,o)}(e,r,t)}),function(r){return r&&r.mark.role!=="legend-entry"}(t.mark.group)?n.reflow():n}});const x4=Object.freeze(Object.defineProperty({__proto__:null,bound:f_,identifier:z0,mark:h_,overlap:p_,render:x_,viewlayout:F_},Symbol.toStringTag,{value:"Module"}));function C_(t){O.call(this,null,t)}function E_(t){O.call(this,null,t)}function w4(){return St({})}function $_(t){O.call(this,null,t)}function S_(t){O.call(this,[],t)}V(C_,O,{transform(t,n){if(this.value&&!t.modified())return n.StopPropagation;var e=n.dataflow.locale(),r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=this.value,a=t.scale,o=Mm(a,t.count==null?t.values?t.values.length:10:t.count,t.minstep),s=t.format||ww(e,a,o,t.formatSpecifier,t.formatType,!!t.values),u=t.values?xw(a,t.values,o):Bm(a,o);return i&&(r.rem=i),i=u.map((l,c)=>St({index:c/(u.length-1||1),value:l,label:s(l)})),t.extra&&i.length&&i.push(St({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}}),V(E_,O,{transform(t,n){var e=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.item||w4,a=t.key||st,o=this.value;return T(r.encode)&&(r.encode=null),o&&(t.modified("key")||n.modified(a))&&P("DataJoin does not support modified key function or fields."),o||(n=n.addAll(),this.value=o=function(s){const u=Do().test(l=>l.exit);return u.lookup=l=>u.get(s(l)),u}(a)),n.visit(n.ADD,s=>{const u=a(s);let l=o.get(u);l?l.exit?(o.empty--,r.add.push(l)):r.mod.push(l):(l=i(s),o.set(u,l),r.add.push(l)),l.datum=s,l.exit=!1}),n.visit(n.MOD,s=>{const u=a(s),l=o.get(u);l&&(l.datum=s,r.mod.push(l))}),n.visit(n.REM,s=>{const u=a(s),l=o.get(u);s!==l.datum||l.exit||(r.rem.push(l),l.exit=!0,++o.empty)}),n.changed(n.ADD_MOD)&&r.modifies("datum"),(n.clean()||t.clean&&o.empty>e.cleanThreshold)&&e.runAfter(o.clean),r}}),V($_,O,{transform(t,n){var e=n.fork(n.ADD_REM),r=t.mod||!1,i=t.encoders,a=n.encode;if(T(a)){if(!e.changed()&&!a.every(f=>i[f]))return n.StopPropagation;a=a[0],e.encode=null}var o=a==="enter",s=i.update||Oi,u=i.enter||Oi,l=i.exit||Oi,c=(a&&!o?i[a]:s)||Oi;if(n.changed(n.ADD)&&(n.visit(n.ADD,f=>{u(f,t),s(f,t)}),e.modifies(u.output),e.modifies(s.output),c!==Oi&&c!==s&&(n.visit(n.ADD,f=>{c(f,t)}),e.modifies(c.output))),n.changed(n.REM)&&l!==Oi&&(n.visit(n.REM,f=>{l(f,t)}),e.modifies(l.output)),o||c!==Oi){const f=n.MOD|(t.modified()?n.REFLOW:0);o?(n.visit(f,d=>{const h=u(d,t)||r;(c(d,t)||h)&&e.mod.push(d)}),e.mod.length&&e.modifies(u.output)):n.visit(f,d=>{(c(d,t)||r)&&e.mod.push(d)}),e.mod.length&&e.modifies(c.output)}return e.changed()?e:n.StopPropagation}}),V(S_,O,{transform(t,n){if(this.value!=null&&!t.modified())return n.StopPropagation;var e,r,i,a,o,s=n.dataflow.locale(),u=n.fork(n.NO_SOURCE|n.NO_FIELDS),l=this.value,c=t.type||wc,f=t.scale,d=+t.limit,h=Mm(f,t.count==null?5:t.count,t.minstep),p=!!t.values||c===wc,m=t.format||Dw(s,f,h,c,t.formatSpecifier,t.formatType,p),g=t.values||kw(f,h);return l&&(u.rem=l),c===wc?(d&&g.length>d?(n.dataflow.warn("Symbol legend count exceeds limit, filtering items."),l=g.slice(0,d-1),o=!0):l=g,bt(i=t.size)?(t.values||f(l[0])!==0||(l=l.slice(1)),a=l.reduce((y,v)=>Math.max(y,i(v,t)),0)):i=In(a=i||8),l=l.map((y,v)=>St({index:v,label:m(y,v,l),value:y,offset:a,size:i(y,t)})),o&&(o=g[l.length],l.push(St({index:l.length,label:`\u2026${g.length-l.length} entries`,value:o,offset:a,size:i(o,t)})))):c==="gradient"?(e=f.domain(),r=gw(f,e[0],Bt(e)),g.length<3&&!t.values&&e[0]!==Bt(e)&&(g=[e[0],Bt(e)]),l=g.map((y,v)=>St({index:v,label:m(y,v,g),value:y,perc:r(y)}))):(i=g.length-1,r=function(y){const v=y.domain(),x=v.length-1;let b=+v[0],w=+Bt(v),A=w-b;if(y.type===vc){const _=x?A/x:.1;b-=_,w+=_,A=w-b}return _=>(_-b)/A}(f),l=g.map((y,v)=>St({index:v,label:m(y,v,g),value:y,perc:v?r(y):0,perc2:v===i?1:r(g[v+1])}))),u.source=l,u.add=l,this.value=l,u}});const A4=t=>t.source.x,_4=t=>t.source.y,k4=t=>t.target.x,D4=t=>t.target.y;function O0(t){O.call(this,{},t)}O0.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},V(O0,O,{transform(t,n){var e=t.sourceX||A4,r=t.sourceY||_4,i=t.targetX||k4,a=t.targetY||D4,o=t.as||"path",s=t.orient||"vertical",u=t.shape||"line",l=O_.get(u+"-"+s)||O_.get(u);return l||P("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),n.visit(n.SOURCE,c=>{c[o]=l(e(c),r(c),i(c),a(c))}),n.reflow(t.modified()).modifies(o)}});const M_=(t,n,e,r)=>"M"+t+","+n+"L"+e+","+r,B_=(t,n,e,r)=>{var i=e-t,a=r-n,o=Math.hypot(i,a)/2;return"M"+t+","+n+"A"+o+","+o+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+e+","+r},z_=(t,n,e,r)=>{const i=e-t,a=r-n,o=.2*(i+a),s=.2*(a-i);return"M"+t+","+n+"C"+(t+o)+","+(n+s)+" "+(e+s)+","+(r-o)+" "+e+","+r},O_=Do({line:M_,"line-radial":(t,n,e,r)=>M_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),arc:B_,"arc-radial":(t,n,e,r)=>B_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),curve:z_,"curve-radial":(t,n,e,r)=>z_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),"orthogonal-horizontal":(t,n,e,r)=>"M"+t+","+n+"V"+r+"H"+e,"orthogonal-vertical":(t,n,e,r)=>"M"+t+","+n+"H"+e+"V"+r,"orthogonal-radial":(t,n,e,r)=>{const i=Math.cos(t),a=Math.sin(t),o=Math.cos(e),s=Math.sin(e);return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+((Math.abs(e-t)>Math.PI?e<=t:e>t)?1:0)+" "+n*o+","+n*s+"L"+r*o+","+r*s},"diagonal-horizontal":(t,n,e,r)=>{const i=(t+e)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+e+","+r},"diagonal-vertical":(t,n,e,r)=>{const i=(n+r)/2;return"M"+t+","+n+"C"+t+","+i+" "+e+","+i+" "+e+","+r},"diagonal-radial":(t,n,e,r)=>{const i=Math.cos(t),a=Math.sin(t),o=Math.cos(e),s=Math.sin(e),u=(n+r)/2;return"M"+n*i+","+n*a+"C"+u*i+","+u*a+" "+u*o+","+u*s+" "+r*o+","+r*s}});function N0(t){O.call(this,null,t)}N0.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},V(N0,O,{transform(t,n){var e,r,i,a=t.as||["startAngle","endAngle"],o=a[0],s=a[1],u=t.field||Is,l=t.startAngle||0,c=t.endAngle!=null?t.endAngle:2*Math.PI,f=n.source,d=f.map(u),h=d.length,p=l,m=(c-l)/Yx(d),g=xe(h);for(t.sort&&g.sort((y,v)=>d[y]-d[v]),e=0;e<h;++e)i=d[g[e]],(r=f[g[e]])[o]=p,r[s]=p+=i*m;return this.value=d,n.reflow(t.modified()).modifies(a)}});function N_(t){return Cm(t)&&t!==Cr}const F4=Dr(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function R_(t){O.call(this,null,t),this.modified(!0)}function T_(t,n,e){return fw(t)&&Math.abs(n.reduce((r,i)=>r+(i<0?-1:i>0?1:0),0))!==n.length&&e.warn("Log scale domain includes zero: "+G(n)),n}function P_(t,n,e){return bt(t)&&(n||e)?pw(t,R0(n||[0,1],e)):t}function R0(t,n){return n?t.slice().reverse():t}function j_(t){O.call(this,null,t)}V(R_,O,{transform(t,n){var e=n.dataflow,r=this.value,i=function(a){var o,s=a.type,u="";return s===Cr?Cr+"-"+Mo:(function(l){const c=l.type;return Cm(c)&&c!==za&&c!==Oa&&(l.scheme||l.range&&l.range.length&&l.range.every(Q))}(a)&&(u=(o=a.rawDomain?a.rawDomain.length:a.domain?a.domain.length+ +(a.domainMid!=null):0)===2?Cr+"-":o===3?Bo+"-":""),(u+s||Mo).toLowerCase())}(t);for(i in r&&i===r.type||(this.value=r=Dt(i)()),t)if(!F4[i]){if(i==="padding"&&N_(r.type))continue;bt(r[i])?r[i](t[i]):e.warn("Unsupported scale property: "+i)}return function(a,o,s){var u=a.type,l=o.round||!1,c=o.range;if(o.rangeStep!=null)c=function(f,d,h){f!==aw&&f!==_m&&P("Only band and point scales support rangeStep.");var p=(d.paddingOuter!=null?d.paddingOuter:d.padding)||0,m=f===_m?1:(d.paddingInner!=null?d.paddingInner:d.padding)||0;return[0,d.rangeStep*wm(h,m,p)]}(u,o,s);else if(o.scheme&&(c=function(f,d,h){var p,m=d.schemeExtent;return T(d.scheme)?p=xc(d.scheme,d.interpolate,d.interpolateGamma):(p=Sm(d.scheme.toLowerCase()))||P(`Unrecognized scheme name: ${d.scheme}`),h=f===vc?h+1:f===km?h-1:f===zo||f===yc?+d.schemeCount||5:h,dw(f)?P_(p,m,d.reverse):bt(p)?mw(P_(p,m),h):f===Am?p:p.slice(0,h)}(u,o,s),bt(c))){if(a.interpolator)return a.interpolator(c);P(`Scale type ${u} does not support interpolating color schemes.`)}if(c&&dw(u))return a.interpolator(xc(R0(c,o.reverse),o.interpolate,o.interpolateGamma));c&&o.interpolate&&a.interpolate?a.interpolate($m(o.interpolate,o.interpolateGamma)):bt(a.round)?a.round(l):bt(a.rangeRound)&&a.interpolate(l?Gl:Ws),c&&a.range(R0(c,o.reverse))}(r,t,function(a,o,s){let u=o.bins;if(u&&!T(u)){const l=a.domain(),c=l[0],f=Bt(l),d=u.step;let h=u.start==null?c:u.start,p=u.stop==null?f:u.stop;d||P("Scale bins parameter missing step property."),h<c&&(h=d*Math.ceil(c/d)),p>f&&(p=d*Math.floor(f/d)),u=xe(h,p+d/2,d)}return u?a.bins=u:a.bins&&delete a.bins,a.type===km&&(u?o.domain||o.domainRaw||(a.domain(u),s=u.length):a.bins=a.domain()),s}(r,t,function(a,o,s){const u=function(p,m,g){return m?(p.domain(T_(p.type,m,g)),m.length):-1}(a,o.domainRaw,s);if(u>-1)return u;var l,c,f=o.domain,d=a.type,h=o.zero||o.zero===void 0&&function(p){const m=p.type;return!p.bins&&(m===Mo||m===tu||m===nu)}(a);if(!f)return 0;if((h||o.domainMin!=null||o.domainMax!=null||o.domainMid!=null)&&(l=(f=f.slice()).length-1||1,h&&(f[0]>0&&(f[0]=0),f[l]<0&&(f[l]=0)),o.domainMin!=null&&(f[0]=o.domainMin),o.domainMax!=null&&(f[l]=o.domainMax),o.domainMid!=null)){const p=(c=o.domainMid)>f[l]?l+1:c<f[0]?0:l;p!==l&&s.warn("Scale domainMid exceeds domain min or max.",c),f.splice(p,0,c)}return N_(d)&&o.padding&&f[0]!==Bt(f)&&(f=function(p,m,g,y,v,x){var b=Math.abs(Bt(g)-g[0]),w=b/(b-2*y),A=p===ri?np(m,null,w):p===nu?Wl(m,null,w,.5):p===tu?Wl(m,null,w,v||1):p===gc?ep(m,null,w,x||1):rp(m,null,w);return m=m.slice(),m[0]=A[0],m[m.length-1]=A[1],m}(d,f,o.range,o.padding,o.exponent,o.constant)),a.domain(T_(d,f,s)),d===Am&&a.unknown(o.domainImplicit?A8:void 0),o.nice&&a.nice&&a.nice(o.nice!==!0&&Mm(a,o.nice)||null),f.length}(r,t,e))),n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),V(j_,O,{transform(t,n){const e=t.modified("sort")||n.changed(n.ADD)||n.modified(t.sort.fields)||n.modified("datum");return e&&n.source.sort(Ma(t.sort)),this.modified(e),n}});const L_="zero",q_="center",U_="normalize",I_=["y0","y1"];function T0(t){O.call(this,null,t)}function C4(t,n,e,r,i){for(var a,o=(n-t.sum)/2,s=t.length,u=0;u<s;++u)(a=t[u])[r]=o,a[i]=o+=Math.abs(e(a))}function E4(t,n,e,r,i){for(var a,o=1/t.sum,s=0,u=t.length,l=0,c=0;l<u;++l)(a=t[l])[r]=s,a[i]=s=o*(c+=Math.abs(e(a)))}function $4(t,n,e,r,i){for(var a,o,s=0,u=0,l=t.length,c=0;c<l;++c)(a=+e(o=t[c]))<0?(o[r]=u,o[i]=u+=a):(o[r]=s,o[i]=s+=a)}T0.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:L_,values:[L_,q_,U_]},{name:"as",type:"string",array:!0,length:2,default:I_}]},V(T0,O,{transform(t,n){var e,r,i,a,o=t.as||I_,s=o[0],u=o[1],l=Ma(t.sort),c=t.field||Is,f=t.offset===q_?C4:t.offset===U_?E4:$4;for(e=function(d,h,p,m){var g,y,v,x,b,w,A,_,k,D=[],C=F=>F(b);if(h==null)D.push(d.slice());else for(g={},y=0,v=d.length;y<v;++y)b=d[y],(A=g[w=h.map(C)])||(g[w]=A=[],D.push(A)),A.push(b);for(w=0,k=0,x=D.length;w<x;++w){for(y=0,_=0,v=(A=D[w]).length;y<v;++y)_+=Math.abs(m(A[y]));A.sum=_,_>k&&(k=_),p&&A.sort(p)}return D.max=k,D}(n.source,t.groupby,l,c),r=0,i=e.length,a=e.max;r<i;++r)f(e[r],a,c,s,u);return n.reflow(t.modified()).modifies(o)}});const S4=Object.freeze(Object.defineProperty({__proto__:null,axisticks:C_,datajoin:E_,encode:$_,legendentries:S_,linkpath:O0,pie:N0,scale:R_,sortitems:j_,stack:T0},Symbol.toStringTag,{value:"Module"}));var dt=1e-6,P0=1e-12,yt=Math.PI,rn=yt/2,uf=yt/4,Xn=2*yt,on=180/yt,gt=yt/180,At=Math.abs,Wo=Math.atan,je=Math.atan2,ct=Math.cos,lf=Math.ceil,W_=Math.exp,j0=Math.hypot,cf=Math.log,L0=Math.pow,ut=Math.sin,Le=Math.sign||function(t){return t>0?1:t<0?-1:0},Jn=Math.sqrt,q0=Math.tan;function H_(t){return t>1?0:t<-1?yt:Math.acos(t)}function le(t){return t>1?rn:t<-1?-rn:Math.asin(t)}function Dn(){}function ff(t,n){t&&V_.hasOwnProperty(t.type)&&V_[t.type](t,n)}var G_={Feature:function(t,n){ff(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)ff(e[r].geometry,n)}},V_={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){U0(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)U0(e[r],n,0)},Polygon:function(t,n){Y_(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Y_(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)ff(e[r],n)}};function U0(t,n,e){var r,i=-1,a=t.length-e;for(n.lineStart();++i<a;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function Y_(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)U0(t[e],n,1);n.polygonEnd()}function si(t,n){t&&G_.hasOwnProperty(t.type)?G_[t.type](t,n):ff(t,n)}var X_,J_,I0,W0,H0,Kt,ce,an,_e,Ua,K_,Q_,Ho,wu,na,ui,df=new Gn,hf=new Gn,Mr={point:Dn,lineStart:Dn,lineEnd:Dn,polygonStart:function(){df=new Gn,Mr.lineStart=M4,Mr.lineEnd=B4},polygonEnd:function(){var t=+df;hf.add(t<0?Xn+t:t),this.lineStart=this.lineEnd=this.point=Dn},sphere:function(){hf.add(Xn)}};function M4(){Mr.point=z4}function B4(){Z_(X_,J_)}function z4(t,n){Mr.point=Z_,X_=t,J_=n,I0=t*=gt,W0=ct(n=(n*=gt)/2+uf),H0=ut(n)}function Z_(t,n){var e=(t*=gt)-I0,r=e>=0?1:-1,i=r*e,a=ct(n=(n*=gt)/2+uf),o=ut(n),s=H0*o,u=W0*a+s*ct(i),l=s*r*ut(i);df.add(je(l,u)),I0=t,W0=a,H0=o}function pf(t){return[je(t[1],t[0]),le(t[2])]}function Ia(t){var n=t[0],e=t[1],r=ct(e);return[r*ct(n),r*ut(n),ut(e)]}function mf(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Go(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function G0(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function gf(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function yf(t){var n=Jn(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var Au,vf,bf,xf,wf,Af,_f,kf,V0,Y0,X0,tk,nk,Kn,Qn,Zn,li={point:J0,lineStart:rk,lineEnd:ik,polygonStart:function(){li.point=ak,li.lineStart=O4,li.lineEnd=N4,wu=new Gn,Mr.polygonStart()},polygonEnd:function(){Mr.polygonEnd(),li.point=J0,li.lineStart=rk,li.lineEnd=ik,df<0?(Kt=-(an=180),ce=-(_e=90)):wu>dt?_e=90:wu<-1e-6&&(ce=-90),ui[0]=Kt,ui[1]=an},sphere:function(){Kt=-(an=180),ce=-(_e=90)}};function J0(t,n){na.push(ui=[Kt=t,an=t]),n<ce&&(ce=n),n>_e&&(_e=n)}function ek(t,n){var e=Ia([t*gt,n*gt]);if(Ho){var r=Go(Ho,e),i=Go([r[1],-r[0],0],r);yf(i),i=pf(i);var a,o=t-Ua,s=o>0?1:-1,u=i[0]*on*s,l=At(o)>180;l^(s*Ua<u&&u<s*t)?(a=i[1]*on)>_e&&(_e=a):l^(s*Ua<(u=(u+360)%360-180)&&u<s*t)?(a=-i[1]*on)<ce&&(ce=a):(n<ce&&(ce=n),n>_e&&(_e=n)),l?t<Ua?ke(Kt,t)>ke(Kt,an)&&(an=t):ke(t,an)>ke(Kt,an)&&(Kt=t):an>=Kt?(t<Kt&&(Kt=t),t>an&&(an=t)):t>Ua?ke(Kt,t)>ke(Kt,an)&&(an=t):ke(t,an)>ke(Kt,an)&&(Kt=t)}else na.push(ui=[Kt=t,an=t]);n<ce&&(ce=n),n>_e&&(_e=n),Ho=e,Ua=t}function rk(){li.point=ek}function ik(){ui[0]=Kt,ui[1]=an,li.point=J0,Ho=null}function ak(t,n){if(Ho){var e=t-Ua;wu.add(At(e)>180?e+(e>0?360:-360):e)}else K_=t,Q_=n;Mr.point(t,n),ek(t,n)}function O4(){Mr.lineStart()}function N4(){ak(K_,Q_),Mr.lineEnd(),At(wu)>dt&&(Kt=-(an=180)),ui[0]=Kt,ui[1]=an,Ho=null}function ke(t,n){return(n-=t)<0?n+360:n}function R4(t,n){return t[0]-n[0]}function ok(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var er={sphere:Dn,point:K0,lineStart:sk,lineEnd:uk,polygonStart:function(){er.lineStart=j4,er.lineEnd=L4},polygonEnd:function(){er.lineStart=sk,er.lineEnd=uk}};function K0(t,n){t*=gt;var e=ct(n*=gt);_u(e*ct(t),e*ut(t),ut(n))}function _u(t,n,e){++Au,bf+=(t-bf)/Au,xf+=(n-xf)/Au,wf+=(e-wf)/Au}function sk(){er.point=T4}function T4(t,n){t*=gt;var e=ct(n*=gt);Kn=e*ct(t),Qn=e*ut(t),Zn=ut(n),er.point=P4,_u(Kn,Qn,Zn)}function P4(t,n){t*=gt;var e=ct(n*=gt),r=e*ct(t),i=e*ut(t),a=ut(n),o=je(Jn((o=Qn*a-Zn*i)*o+(o=Zn*r-Kn*a)*o+(o=Kn*i-Qn*r)*o),Kn*r+Qn*i+Zn*a);vf+=o,Af+=o*(Kn+(Kn=r)),_f+=o*(Qn+(Qn=i)),kf+=o*(Zn+(Zn=a)),_u(Kn,Qn,Zn)}function uk(){er.point=K0}function j4(){er.point=q4}function L4(){lk(tk,nk),er.point=K0}function q4(t,n){tk=t,nk=n,t*=gt,n*=gt,er.point=lk;var e=ct(n);Kn=e*ct(t),Qn=e*ut(t),Zn=ut(n),_u(Kn,Qn,Zn)}function lk(t,n){t*=gt;var e=ct(n*=gt),r=e*ct(t),i=e*ut(t),a=ut(n),o=Qn*a-Zn*i,s=Zn*r-Kn*a,u=Kn*i-Qn*r,l=j0(o,s,u),c=le(l),f=l&&-c/l;V0.add(f*o),Y0.add(f*s),X0.add(f*u),vf+=c,Af+=c*(Kn+(Kn=r)),_f+=c*(Qn+(Qn=i)),kf+=c*(Zn+(Zn=a)),_u(Kn,Qn,Zn)}function Q0(t,n){function e(r,i){return r=t(r,i),n(r[0],r[1])}return t.invert&&n.invert&&(e.invert=function(r,i){return(r=n.invert(r,i))&&t.invert(r[0],r[1])}),e}function Z0(t,n){return At(t)>yt&&(t-=Math.round(t/Xn)*Xn),[t,n]}function ck(t,n,e){return(t%=Xn)?n||e?Q0(dk(t),hk(n,e)):dk(t):n||e?hk(n,e):Z0}function fk(t){return function(n,e){return At(n+=t)>yt&&(n-=Math.round(n/Xn)*Xn),[n,e]}}function dk(t){var n=fk(t);return n.invert=fk(-t),n}function hk(t,n){var e=ct(t),r=ut(t),i=ct(n),a=ut(n);function o(s,u){var l=ct(u),c=ct(s)*l,f=ut(s)*l,d=ut(u),h=d*e+c*r;return[je(f*i-h*a,c*e-d*r),le(h*i+f*a)]}return o.invert=function(s,u){var l=ct(u),c=ct(s)*l,f=ut(s)*l,d=ut(u),h=d*i-f*a;return[je(f*i+d*a,c*e+h*r),le(h*e-c*r)]},o}function pk(t,n){(n=Ia(n))[0]-=t,yf(n);var e=H_(-n[1]);return((-n[2]<0?-e:e)+Xn-dt)%Xn}function mk(){var t,n=[];return{point:function(e,r,i){t.push([e,r,i])},lineStart:function(){n.push(t=[])},lineEnd:Dn,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Df(t,n){return At(t[0]-n[0])<dt&&At(t[1]-n[1])<dt}function Ff(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function gk(t,n,e,r,i){var a,o,s=[],u=[];if(t.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g,y=p[0],v=p[m];if(Df(y,v)){if(!y[2]&&!v[2]){for(i.lineStart(),a=0;a<m;++a)i.point((y=p[a])[0],y[1]);return void i.lineEnd()}v[0]+=2e-6}s.push(g=new Ff(y,p,null,!0)),u.push(g.o=new Ff(y,null,g,!1)),s.push(g=new Ff(v,p,null,!1)),u.push(g.o=new Ff(v,null,g,!0))}}),s.length){for(u.sort(n),yk(s),yk(u),a=0,o=u.length;a<o;++a)u[a].e=e=!e;for(var l,c,f=s[0];;){for(var d=f,h=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(a=0,o=l.length;a<o;++a)i.point((c=l[a])[0],c[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(l=d.p.z,a=l.length-1;a>=0;--a)i.point((c=l[a])[0],c[1]);else r(d.x,d.p.x,-1,i);d=d.p}l=(d=d.o).z,h=!h}while(!d.v);i.lineEnd()}}}function yk(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function tg(t){return At(t[0])<=yt?t[0]:Le(t[0])*((At(t[0])+yt)%Xn-yt)}function vk(t,n,e,r){return function(i){var a,o,s,u=n(i),l=mk(),c=n(l),f=!1,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=v,d.lineEnd=x,o=[],a=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,o=Vx(o);var b=function(w,A){var _=tg(A),k=A[1],D=ut(k),C=[ut(_),-ct(_),0],F=0,E=0,$=new Gn;D===1?k=rn+dt:D===-1&&(k=-rn-dt);for(var M=0,S=w.length;M<S;++M)if(z=(B=w[M]).length)for(var B,z,j=B[z-1],W=tg(j),K=j[1]/2+uf,q=ut(K),at=ct(K),ot=0;ot<z;++ot,W=mt,q=X,at=Mt,j=it){var it=B[ot],mt=tg(it),pt=it[1]/2+uf,X=ut(pt),Mt=ct(pt),Tt=mt-W,kt=Tt>=0?1:-1,Et=kt*Tt,tn=Et>yt,nn=q*X;if($.add(je(nn*kt*ut(Et),at*Mt+nn*ct(Et))),F+=tn?Tt+kt*Xn:Tt,tn^W>=_^mt>=_){var It=Go(Ia(j),Ia(it));yf(It);var be=Go(C,It);yf(be);var zn=(tn^Tt>=0?-1:1)*le(be[2]);(k>zn||k===zn&&(It[0]||It[1]))&&(E+=tn^Tt>=0?1:-1)}}return(F<-1e-6||F<dt&&$<-1e-12)^1&E}(a,r);o.length?(f||(i.polygonStart(),f=!0),gk(o,I4,b,e,i)):b&&(f||(i.polygonStart(),f=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(b,w){t(b,w)&&i.point(b,w)}function p(b,w){u.point(b,w)}function m(){d.point=p,u.lineStart()}function g(){d.point=h,u.lineEnd()}function y(b,w){s.push([b,w]),c.point(b,w)}function v(){c.lineStart(),s=[]}function x(){y(s[0][0],s[0][1]),c.lineEnd();var b,w,A,_,k=c.clean(),D=l.result(),C=D.length;if(s.pop(),a.push(s),s=null,C)if(1&k){if((w=(A=D[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),b=0;b<w;++b)i.point((_=A[b])[0],_[1]);i.lineEnd()}}else C>1&&2&k&&D.push(D.pop().concat(D.shift())),o.push(D.filter(U4))}return d}}function U4(t){return t.length>1}function I4(t,n){return((t=t.x)[0]<0?t[1]-rn-dt:rn-t[1])-((n=n.x)[0]<0?n[1]-rn-dt:rn-n[1])}Z0.invert=Z0;const bk=vk(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(a,o){var s=a>0?yt:-yt,u=At(a-e);At(u-yt)<dt?(t.point(e,r=(r+o)/2>0?rn:-rn),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),n=0):i!==s&&u>=yt&&(At(e-i)<dt&&(e-=i*dt),At(a-s)<dt&&(a-=s*dt),r=function(l,c,f,d){var h,p,m=ut(l-f);return At(m)>dt?Wo((ut(c)*(p=ct(d))*ut(f)-ut(d)*(h=ct(c))*ut(l))/(h*p*m)):(c+d)/2}(e,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),n=0),t.point(e=a,r=o),i=s},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(t==null)i=e*rn,r.point(-yt,i),r.point(0,i),r.point(yt,i),r.point(yt,0),r.point(yt,-i),r.point(0,-i),r.point(-yt,-i),r.point(-yt,0),r.point(-yt,i);else if(At(t[0]-n[0])>dt){var a=t[0]<n[0]?yt:-yt;i=e*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(n[0],n[1])},[-yt,-rn]);function W4(t){var n=ct(t),e=2*gt,r=n>0,i=At(n)>dt;function a(u,l){return ct(u)*ct(l)>n}function o(u,l,c){var f=[1,0,0],d=Go(Ia(u),Ia(l)),h=mf(d,d),p=d[0],m=h-p*p;if(!m)return!c&&u;var g=n*h/m,y=-n*p/m,v=Go(f,d),x=gf(f,g);G0(x,gf(d,y));var b=v,w=mf(x,b),A=mf(b,b),_=w*w-A*(mf(x,x)-1);if(!(_<0)){var k=Jn(_),D=gf(b,(-w-k)/A);if(G0(D,x),D=pf(D),!c)return D;var C,F=u[0],E=l[0],$=u[1],M=l[1];E<F&&(C=F,F=E,E=C);var S=E-F,B=At(S-yt)<dt;if(!B&&M<$&&(C=$,$=M,M=C),B||S<dt?B?$+M>0^D[1]<(At(D[0]-F)<dt?$:M):$<=D[1]&&D[1]<=M:S>yt^(F<=D[0]&&D[0]<=E)){var z=gf(b,(-w+k)/A);return G0(z,x),[D,pf(z)]}}}function s(u,l){var c=r?t:yt-t,f=0;return u<-c?f|=1:u>c&&(f|=2),l<-c?f|=4:l>c&&(f|=8),f}return vk(a,function(u){var l,c,f,d,h;return{lineStart:function(){d=f=!1,h=1},point:function(p,m){var g,y=[p,m],v=a(p,m),x=r?v?0:s(p,m):v?s(p+(p<0?yt:-yt),m):0;if(!l&&(d=f=v)&&u.lineStart(),v!==f&&(!(g=o(l,y))||Df(l,g)||Df(y,g))&&(y[2]=1),v!==f)h=0,v?(u.lineStart(),g=o(y,l),u.point(g[0],g[1])):(g=o(l,y),u.point(g[0],g[1],2),u.lineEnd()),l=g;else if(i&&l&&r^v){var b;x&c||!(b=o(y,l,!0))||(h=0,r?(u.lineStart(),u.point(b[0][0],b[0][1]),u.point(b[1][0],b[1][1]),u.lineEnd()):(u.point(b[1][0],b[1][1]),u.lineEnd(),u.lineStart(),u.point(b[0][0],b[0][1],3)))}!v||l&&Df(l,y)||u.point(y[0],y[1]),l=y,f=v,c=x},lineEnd:function(){f&&u.lineEnd(),l=null},clean:function(){return h|(d&&f)<<1}}},function(u,l,c,f){(function(d,h,p,m,g,y){if(p){var v=ct(h),x=ut(h),b=m*p;g==null?(g=h+m*Xn,y=h-b/2):(g=pk(v,g),y=pk(v,y),(m>0?g<y:g>y)&&(g+=m*Xn));for(var w,A=g;m>0?A>y:A<y;A-=b)w=pf([v,-x*ct(A),-x*ut(A)]),d.point(w[0],w[1])}})(f,t,e,c,u,l)},r?[0,-t]:[-yt,t-yt])}var ku=1e9,Cf=-ku;function xk(t,n,e,r){function i(l,c){return t<=l&&l<=e&&n<=c&&c<=r}function a(l,c,f,d){var h=0,p=0;if(l==null||(h=o(l,f))!==(p=o(c,f))||u(l,c)<0^f>0)do d.point(h===0||h===3?t:e,h>1?r:n);while((h=(h+f+4)%4)!==p);else d.point(c[0],c[1])}function o(l,c){return At(l[0]-t)<dt?c>0?0:3:At(l[0]-e)<dt?c>0?2:1:At(l[1]-n)<dt?c>0?1:0:c>0?3:2}function s(l,c){return u(l.x,c.x)}function u(l,c){var f=o(l,1),d=o(c,1);return f!==d?f-d:f===0?c[1]-l[1]:f===1?l[0]-c[0]:f===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c,f,d,h,p,m,g,y,v,x,b,w=l,A=mk(),_={point:k,lineStart:function(){_.point=D,f&&f.push(d=[]),x=!0,v=!1,g=y=NaN},lineEnd:function(){c&&(D(h,p),m&&v&&A.rejoin(),c.push(A.result())),_.point=k,v&&w.lineEnd()},polygonStart:function(){w=A,c=[],f=[],b=!0},polygonEnd:function(){var C=function(){for(var $=0,M=0,S=f.length;M<S;++M)for(var B,z,j=f[M],W=1,K=j.length,q=j[0],at=q[0],ot=q[1];W<K;++W)B=at,z=ot,at=(q=j[W])[0],ot=q[1],z<=r?ot>r&&(at-B)*(r-z)>(ot-z)*(t-B)&&++$:ot<=r&&(at-B)*(r-z)<(ot-z)*(t-B)&&--$;return $}(),F=b&&C,E=(c=Vx(c)).length;(F||E)&&(l.polygonStart(),F&&(l.lineStart(),a(null,null,1,l),l.lineEnd()),E&&gk(c,s,C,a,l),l.polygonEnd()),w=l,c=f=d=null}};function k(C,F){i(C,F)&&w.point(C,F)}function D(C,F){var E=i(C,F);if(f&&d.push([C,F]),x)h=C,p=F,m=E,x=!1,E&&(w.lineStart(),w.point(C,F));else if(E&&v)w.point(C,F);else{var $=[g=Math.max(Cf,Math.min(ku,g)),y=Math.max(Cf,Math.min(ku,y))],M=[C=Math.max(Cf,Math.min(ku,C)),F=Math.max(Cf,Math.min(ku,F))];(function(S,B,z,j,W,K){var q,at=S[0],ot=S[1],it=0,mt=1,pt=B[0]-at,X=B[1]-ot;if(q=z-at,pt||!(q>0)){if(q/=pt,pt<0){if(q<it)return;q<mt&&(mt=q)}else if(pt>0){if(q>mt)return;q>it&&(it=q)}if(q=W-at,pt||!(q<0)){if(q/=pt,pt<0){if(q>mt)return;q>it&&(it=q)}else if(pt>0){if(q<it)return;q<mt&&(mt=q)}if(q=j-ot,X||!(q>0)){if(q/=X,X<0){if(q<it)return;q<mt&&(mt=q)}else if(X>0){if(q>mt)return;q>it&&(it=q)}if(q=K-ot,X||!(q<0)){if(q/=X,X<0){if(q>mt)return;q>it&&(it=q)}else if(X>0){if(q<it)return;q<mt&&(mt=q)}return it>0&&(S[0]=at+it*pt,S[1]=ot+it*X),mt<1&&(B[0]=at+mt*pt,B[1]=ot+mt*X),!0}}}}})($,M,t,n,e,r)?(v||(w.lineStart(),w.point($[0],$[1])),w.point(M[0],M[1]),E||w.lineEnd(),b=!1):E&&(w.lineStart(),w.point(C,F),b=!1)}g=C,y=F,v=E}return _}}function wk(t,n,e){var r=xe(t,n-dt,e).concat(n);return function(i){return r.map(function(a){return[i,a]})}}function Ak(t,n,e){var r=xe(t,n-dt,e).concat(n);return function(i){return r.map(function(a){return[a,i]})}}const Du=t=>t;var _k,kk,ng,eg,rg=new Gn,ig=new Gn,ci={point:Dn,lineStart:Dn,lineEnd:Dn,polygonStart:function(){ci.lineStart=H4,ci.lineEnd=V4},polygonEnd:function(){ci.lineStart=ci.lineEnd=ci.point=Dn,rg.add(At(ig)),ig=new Gn},result:function(){var t=rg/2;return rg=new Gn,t}};function H4(){ci.point=G4}function G4(t,n){ci.point=Dk,_k=ng=t,kk=eg=n}function Dk(t,n){ig.add(eg*t-ng*n),ng=t,eg=n}function V4(){Dk(_k,kk)}var Vo=1/0,Ef=Vo,Fu=-Vo,$f=Fu,Sf={point:function(t,n){t<Vo&&(Vo=t),t>Fu&&(Fu=t),n<Ef&&(Ef=n),n>$f&&($f=n)},lineStart:Dn,lineEnd:Dn,polygonStart:Dn,polygonEnd:Dn,result:function(){var t=[[Vo,Ef],[Fu,$f]];return Fu=$f=-(Ef=Vo=1/0),t}},Fk,Ck,Br,zr,ag=0,og=0,Cu=0,Mf=0,Bf=0,Yo=0,sg=0,ug=0,Eu=0,qe={point:Wa,lineStart:Ek,lineEnd:$k,polygonStart:function(){qe.lineStart=J4,qe.lineEnd=K4},polygonEnd:function(){qe.point=Wa,qe.lineStart=Ek,qe.lineEnd=$k},result:function(){var t=Eu?[sg/Eu,ug/Eu]:Yo?[Mf/Yo,Bf/Yo]:Cu?[ag/Cu,og/Cu]:[NaN,NaN];return ag=og=Cu=Mf=Bf=Yo=sg=ug=Eu=0,t}};function Wa(t,n){ag+=t,og+=n,++Cu}function Ek(){qe.point=Y4}function Y4(t,n){qe.point=X4,Wa(Br=t,zr=n)}function X4(t,n){var e=t-Br,r=n-zr,i=Jn(e*e+r*r);Mf+=i*(Br+t)/2,Bf+=i*(zr+n)/2,Yo+=i,Wa(Br=t,zr=n)}function $k(){qe.point=Wa}function J4(){qe.point=Q4}function K4(){Sk(Fk,Ck)}function Q4(t,n){qe.point=Sk,Wa(Fk=Br=t,Ck=zr=n)}function Sk(t,n){var e=t-Br,r=n-zr,i=Jn(e*e+r*r);Mf+=i*(Br+t)/2,Bf+=i*(zr+n)/2,Yo+=i,sg+=(i=zr*t-Br*n)*(Br+t),ug+=i*(zr+n),Eu+=3*i,Wa(Br=t,zr=n)}function Mk(t){this._context=t}Mk.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,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(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Xn)}},result:Dn};var lg,Bk,zk,$u,Su,cg=new Gn,Mu={point:Dn,lineStart:function(){Mu.point=Z4},lineEnd:function(){lg&&Ok(Bk,zk),Mu.point=Dn},polygonStart:function(){lg=!0},polygonEnd:function(){lg=null},result:function(){var t=+cg;return cg=new Gn,t}};function Z4(t,n){Mu.point=Ok,Bk=$u=t,zk=Su=n}function Ok(t,n){$u-=t,Su-=n,cg.add(Jn($u*$u+Su*Su)),$u=t,Su=n}let Nk,zf,Rk,Tk;class Pk{constructor(n){this._append=n==null?jk:function(e){const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);if(r>15)return jk;if(r!==Nk){const i=10**r;Nk=r,zf=function(a){let o=1;this._+=a[0];for(const s=a.length;o<s;++o)this._+=Math.round(arguments[o]*i)/i+a[o]}}return zf}(n),this._radius=4.5,this._=""}pointRadius(n){return this._radius=+n,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(n,e){switch(this._point){case 0:this._append`M${n},${e}`,this._point=1;break;case 1:this._append`L${n},${e}`;break;default:if(this._append`M${n},${e}`,this._radius!==Rk||this._append!==zf){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,Rk=r,zf=this._append,Tk=this._,this._=i}this._+=Tk}}result(){const n=this._;return this._="",n.length?n:null}}function jk(t){let n=1;this._+=t[0];for(const e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Lk(t,n){let e,r,i=3,a=4.5;function o(s){return s&&(typeof a=="function"&&r.pointRadius(+a.apply(this,arguments)),si(s,e(r))),r.result()}return o.area=function(s){return si(s,e(ci)),ci.result()},o.measure=function(s){return si(s,e(Mu)),Mu.result()},o.bounds=function(s){return si(s,e(Sf)),Sf.result()},o.centroid=function(s){return si(s,e(qe)),qe.result()},o.projection=function(s){return arguments.length?(e=s==null?(t=null,Du):(t=s).stream,o):t},o.context=function(s){return arguments.length?(r=s==null?(n=null,new Pk(i)):new Mk(n=s),typeof a!="function"&&r.pointRadius(a),o):n},o.pointRadius=function(s){return arguments.length?(a=typeof s=="function"?s:(r.pointRadius(+s),+s),o):a},o.digits=function(s){if(!arguments.length)return i;if(s==null)i=null;else{const u=Math.floor(s);if(!(u>=0))throw new RangeError(`invalid digits: ${s}`);i=u}return n===null&&(r=new Pk(i)),o},o.projection(t).digits(i).context(n)}function Of(t){return function(n){var e=new fg;for(var r in t)e[r]=t[r];return e.stream=n,e}}function fg(){}function dg(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),si(e,t.stream(Sf)),n(Sf.result()),r!=null&&t.clipExtent(r),t}function Nf(t,n,e){return dg(t,function(r){var i=n[1][0]-n[0][0],a=n[1][1]-n[0][1],o=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),s=+n[0][0]+(i-o*(r[1][0]+r[0][0]))/2,u=+n[0][1]+(a-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([s,u])},e)}function hg(t,n,e){return Nf(t,[[0,0],n],e)}function pg(t,n,e){return dg(t,function(r){var i=+n,a=i/(r[1][0]-r[0][0]),o=(i-a*(r[1][0]+r[0][0]))/2,s=-a*r[0][1];t.scale(150*a).translate([o,s])},e)}function mg(t,n,e){return dg(t,function(r){var i=+n,a=i/(r[1][1]-r[0][1]),o=-a*r[0][0],s=(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])},e)}fg.prototype={constructor:fg,point:function(t,n){this.stream.point(t,n)},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()}};var tM=ct(30*gt);function qk(t,n){return+n?function(e,r){function i(a,o,s,u,l,c,f,d,h,p,m,g,y,v){var x=f-a,b=d-o,w=x*x+b*b;if(w>4*r&&y--){var A=u+p,_=l+m,k=c+g,D=Jn(A*A+_*_+k*k),C=le(k/=D),F=At(At(k)-1)<dt||At(s-h)<dt?(s+h)/2:je(_,A),E=e(F,C),$=E[0],M=E[1],S=$-a,B=M-o,z=b*S-x*B;(z*z/w>r||At((x*S+b*B)/w-.5)>.3||u*p+l*m+c*g<tM)&&(i(a,o,s,u,l,c,$,M,F,A/=D,_/=D,k,y,v),v.point($,M),i($,M,F,A,_,k,f,d,h,p,m,g,y,v))}}return function(a){var o,s,u,l,c,f,d,h,p,m,g,y,v={point:x,lineStart:b,lineEnd:A,polygonStart:function(){a.polygonStart(),v.lineStart=_},polygonEnd:function(){a.polygonEnd(),v.lineStart=b}};function x(C,F){C=e(C,F),a.point(C[0],C[1])}function b(){h=NaN,v.point=w,a.lineStart()}function w(C,F){var E=Ia([C,F]),$=e(C,F);i(h,p,d,m,g,y,h=$[0],p=$[1],d=C,m=E[0],g=E[1],y=E[2],16,a),a.point(h,p)}function A(){v.point=x,a.lineEnd()}function _(){b(),v.point=k,v.lineEnd=D}function k(C,F){w(o=C,F),s=h,u=p,l=m,c=g,f=y,v.point=w}function D(){i(h,p,d,m,g,y,s,u,o,l,c,f,16,a),v.lineEnd=A,A()}return v}}(t,n):function(e){return Of({point:function(r,i){r=e(r,i),this.stream.point(r[0],r[1])}})}(t)}var nM=Of({point:function(t,n){this.stream.point(t*gt,n*gt)}});function Uk(t,n,e,r,i,a){if(!a)return function(m,g,y,v,x){function b(w,A){return[g+m*(w*=v),y-m*(A*=x)]}return b.invert=function(w,A){return[(w-g)/m*v,(y-A)/m*x]},b}(t,n,e,r,i);var o=ct(a),s=ut(a),u=o*t,l=s*t,c=o/t,f=s/t,d=(s*e-o*n)/t,h=(s*n+o*e)/t;function p(m,g){return[u*(m*=r)-l*(g*=i)+n,e-l*m-u*g]}return p.invert=function(m,g){return[r*(c*m-f*g+d),i*(h-f*m-c*g)]},p}function Or(t){return Ik(function(){return t})()}function Ik(t){var n,e,r,i,a,o,s,u,l,c,f=150,d=480,h=250,p=0,m=0,g=0,y=0,v=0,x=0,b=1,w=1,A=null,_=bk,k=null,D=Du,C=.5;function F(S){return u(S[0]*gt,S[1]*gt)}function E(S){return(S=u.invert(S[0],S[1]))&&[S[0]*on,S[1]*on]}function $(){var S=Uk(f,0,0,b,w,x).apply(null,n(p,m)),B=Uk(f,d-S[0],h-S[1],b,w,x);return e=ck(g,y,v),s=Q0(n,B),u=Q0(e,s),o=qk(s,C),M()}function M(){return l=c=null,F}return F.stream=function(S){return l&&c===S?l:l=nM(function(B){return Of({point:function(z,j){var W=B(z,j);return this.stream.point(W[0],W[1])}})}(e)(_(o(D(c=S)))))},F.preclip=function(S){return arguments.length?(_=S,A=void 0,M()):_},F.postclip=function(S){return arguments.length?(D=S,k=r=i=a=null,M()):D},F.clipAngle=function(S){return arguments.length?(_=+S?W4(A=S*gt):(A=null,bk),M()):A*on},F.clipExtent=function(S){return arguments.length?(D=S==null?(k=r=i=a=null,Du):xk(k=+S[0][0],r=+S[0][1],i=+S[1][0],a=+S[1][1]),M()):k==null?null:[[k,r],[i,a]]},F.scale=function(S){return arguments.length?(f=+S,$()):f},F.translate=function(S){return arguments.length?(d=+S[0],h=+S[1],$()):[d,h]},F.center=function(S){return arguments.length?(p=S[0]%360*gt,m=S[1]%360*gt,$()):[p*on,m*on]},F.rotate=function(S){return arguments.length?(g=S[0]%360*gt,y=S[1]%360*gt,v=S.length>2?S[2]%360*gt:0,$()):[g*on,y*on,v*on]},F.angle=function(S){return arguments.length?(x=S%360*gt,$()):x*on},F.reflectX=function(S){return arguments.length?(b=S?-1:1,$()):b<0},F.reflectY=function(S){return arguments.length?(w=S?-1:1,$()):w<0},F.precision=function(S){return arguments.length?(o=qk(s,C=S*S),M()):Jn(C)},F.fitExtent=function(S,B){return Nf(F,S,B)},F.fitSize=function(S,B){return hg(F,S,B)},F.fitWidth=function(S,B){return pg(F,S,B)},F.fitHeight=function(S,B){return mg(F,S,B)},function(){return n=t.apply(this,arguments),F.invert=n.invert&&E,$()}}function gg(t){var n=0,e=yt/3,r=Ik(t),i=r(n,e);return i.parallels=function(a){return arguments.length?r(n=a[0]*gt,e=a[1]*gt):[n*on,e*on]},i}function eM(t,n){var e=ut(t),r=(e+ut(n))/2;if(At(r)<dt)return function(s){var u=ct(s);function l(c,f){return[c*u,ut(f)/u]}return l.invert=function(c,f){return[c/u,le(f*u)]},l}(t);var i=1+e*(2*r-e),a=Jn(i)/r;function o(s,u){var l=Jn(i-2*r*ut(u))/r;return[l*ut(s*=r),a-l*ct(s)]}return o.invert=function(s,u){var l=a-u,c=je(s,At(l))*Le(l);return l*r<0&&(c-=yt*Le(s)*Le(l)),[c/r,le((i-(s*s+l*l)*r*r)/(2*r))]},o}function Rf(){return gg(eM).scale(155.424).center([0,33.6442])}function Wk(){return Rf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Hk(t){return function(n,e){var r=ct(n),i=ct(e),a=t(r*i);return a===1/0?[2,0]:[a*i*ut(n),a*ut(e)]}}function Bu(t){return function(n,e){var r=Jn(n*n+e*e),i=t(r),a=ut(i),o=ct(i);return[je(n*a,r*o),le(r&&e*a/r)]}}var Gk=Hk(function(t){return Jn(2/(1+t))});Gk.invert=Bu(function(t){return 2*le(t/2)});var Vk=Hk(function(t){return(t=H_(t))&&t/ut(t)});function Tf(t,n){return[t,cf(q0((rn+n)/2))]}function Yk(t){var n,e,r,i=Or(t),a=i.center,o=i.scale,s=i.translate,u=i.clipExtent,l=null;function c(){var f=yt*o(),d=i(function(h){function p(m){return(m=h(m[0]*gt,m[1]*gt))[0]*=on,m[1]*=on,m}return h=ck(h[0]*gt,h[1]*gt,h.length>2?h[2]*gt:0),p.invert=function(m){return(m=h.invert(m[0]*gt,m[1]*gt))[0]*=on,m[1]*=on,m},p}(i.rotate()).invert([0,0]));return u(l==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:t===Tf?[[Math.max(d[0]-f,l),n],[Math.min(d[0]+f,e),r]]:[[l,Math.max(d[1]-f,n)],[e,Math.min(d[1]+f,r)]])}return i.scale=function(f){return arguments.length?(o(f),c()):o()},i.translate=function(f){return arguments.length?(s(f),c()):s()},i.center=function(f){return arguments.length?(a(f),c()):a()},i.clipExtent=function(f){return arguments.length?(f==null?l=n=e=r=null:(l=+f[0][0],n=+f[0][1],e=+f[1][0],r=+f[1][1]),c()):l==null?null:[[l,n],[e,r]]},c()}function Pf(t){return q0((rn+t)/2)}function rM(t,n){var e=ct(t),r=t===n?ut(t):cf(e/ct(n))/cf(Pf(n)/Pf(t)),i=e*L0(Pf(t),r)/r;if(!r)return Tf;function a(o,s){i>0?s<-rn+dt&&(s=-rn+dt):s>rn-dt&&(s=rn-dt);var u=i/L0(Pf(s),r);return[u*ut(r*o),i-u*ct(r*o)]}return a.invert=function(o,s){var u=i-s,l=Le(r)*Jn(o*o+u*u),c=je(o,At(u))*Le(u);return u*r<0&&(c-=yt*Le(o)*Le(u)),[c/r,2*Wo(L0(i/l,1/r))-rn]},a}function jf(t,n){return[t,n]}function iM(t,n){var e=ct(t),r=t===n?ut(t):(e-ct(n))/(n-t),i=e/r+t;if(At(r)<dt)return jf;function a(o,s){var u=i-s,l=r*o;return[u*ut(l),i-u*ct(l)]}return a.invert=function(o,s){var u=i-s,l=je(o,At(u))*Le(u);return u*r<0&&(l-=yt*Le(o)*Le(u)),[l/r,i-Le(r)*Jn(o*o+u*u)]},a}Vk.invert=Bu(function(t){return t}),Tf.invert=function(t,n){return[t,2*Wo(W_(n))-rn]},jf.invert=jf;var zu=1.340264,Ou=-.081106,Nu=893e-6,Ru=.003796,Lf=Jn(3)/2;function Xk(t,n){var e=le(Lf*ut(n)),r=e*e,i=r*r*r;return[t*ct(e)/(Lf*(zu+3*Ou*r+i*(7*Nu+9*Ru*r))),e*(zu+Ou*r+i*(Nu+Ru*r))]}function Jk(t,n){var e=ct(n),r=ct(t)*e;return[e*ut(t)/r,ut(n)/r]}function Kk(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function Qk(t,n){return[ct(n)*ut(t),ut(n)]}function Zk(t,n){var e=ct(n),r=1+ct(t)*e;return[e*ut(t)/r,ut(n)/r]}function tD(t,n){return[cf(q0((rn+n)/2)),-t]}Xk.invert=function(t,n){for(var e,r=n,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=e=(r*(zu+Ou*i+a*(Nu+Ru*i))-n)/(zu+3*Ou*i+a*(7*Nu+9*Ru*i)))*r)*i*i,!(At(e)<P0));++o);return[Lf*t*(zu+3*Ou*i+a*(7*Nu+9*Ru*i))/ct(r),le(ut(r)/Lf)]},Jk.invert=Bu(Wo),Kk.invert=function(t,n){var e,r=n,i=25;do{var a=r*r,o=a*a;r-=e=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-n)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(At(e)>dt&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},Qk.invert=Bu(le),Zk.invert=Bu(function(t){return 2*Wo(t)}),tD.invert=function(t,n){return[-n,2*Wo(W_(t))-rn]};var aM=Math.abs,yg=Math.cos,qf=Math.sin,nD=Math.PI,vg=nD/2,eD=function(t){return t>0?Math.sqrt(t):0}(2);function rD(t){return t>1?vg:t<-1?-vg:Math.asin(t)}function oM(t,n){var e,r=t*qf(n),i=30;do n-=e=(n+qf(n)-r)/(1+yg(n));while(aM(e)>1e-6&&--i>0);return n/2}var sM=function(t,n,e){function r(i,a){return[t*i*yg(a=oM(e,a)),n*qf(a)]}return r.invert=function(i,a){return a=rD(a/n),[i/(t*yg(a)),rD((2*a+qf(2*a))/e)]},r}(eD/vg,eD,nD);const uM=Lk(),bg=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function xg(t,n){if(!t||typeof t!="string")throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(Uf[t]=function(e,r){return function i(){const a=r();return a.type=e,a.path=Lk().projection(a),a.copy=a.copy||function(){const o=i();return bg.forEach(s=>{a[s]&&o[s](a[s]())}),o.path.pointRadius(a.path.pointRadius()),o},uw(a)}}(t,n),this):Uf[t]||null}function iD(t){return t&&t.path||uM}const Uf={albers:Wk,albersusa:function(){var t,n,e,r,i,a,o=Wk(),s=Rf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=Rf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(d,h){a=[d,h]}};function c(d){var h=d[0],p=d[1];return a=null,e.point(h,p),a||(r.point(h,p),a)||(i.point(h,p),a)}function f(){return t=n=null,c}return c.invert=function(d){var h=o.scale(),p=o.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?s:g>=.166&&g<.234&&m>=-.214&&m<-.115?u:o).invert(d)},c.stream=function(d){return t&&n===d?t:(h=[o.stream(n=d),s.stream(d),u.stream(d)],p=h.length,t={point:function(m,g){for(var y=-1;++y<p;)h[y].point(m,g)},sphere:function(){for(var m=-1;++m<p;)h[m].sphere()},lineStart:function(){for(var m=-1;++m<p;)h[m].lineStart()},lineEnd:function(){for(var m=-1;++m<p;)h[m].lineEnd()},polygonStart:function(){for(var m=-1;++m<p;)h[m].polygonStart()},polygonEnd:function(){for(var m=-1;++m<p;)h[m].polygonEnd()}});var h,p},c.precision=function(d){return arguments.length?(o.precision(d),s.precision(d),u.precision(d),f()):o.precision()},c.scale=function(d){return arguments.length?(o.scale(d),s.scale(.35*d),u.scale(d),c.translate(o.translate())):o.scale()},c.translate=function(d){if(!arguments.length)return o.translate();var h=o.scale(),p=+d[0],m=+d[1];return e=o.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(l),r=s.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+dt,m+.12*h+dt],[p-.214*h-dt,m+.234*h-dt]]).stream(l),i=u.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+dt,m+.166*h+dt],[p-.115*h-dt,m+.234*h-dt]]).stream(l),f()},c.fitExtent=function(d,h){return Nf(c,d,h)},c.fitSize=function(d,h){return hg(c,d,h)},c.fitWidth=function(d,h){return pg(c,d,h)},c.fitHeight=function(d,h){return mg(c,d,h)},c.scale(1070)},azimuthalequalarea:function(){return Or(Gk).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return Or(Vk).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return gg(rM).scale(109.5).parallels([30,30])},conicequalarea:Rf,conicequidistant:function(){return gg(iM).scale(131.154).center([0,13.9389])},equalEarth:function(){return Or(Xk).scale(177.158)},equirectangular:function(){return Or(jf).scale(152.63)},gnomonic:function(){return Or(Jk).scale(144.049).clipAngle(60)},identity:function(){var t,n,e,r,i,a,o,s=1,u=0,l=0,c=1,f=1,d=0,h=null,p=1,m=1,g=Of({point:function(b,w){var A=x([b,w]);this.stream.point(A[0],A[1])}}),y=Du;function v(){return p=s*c,m=s*f,a=o=null,x}function x(b){var w=b[0]*p,A=b[1]*m;if(d){var _=A*t-w*n;w=w*t+A*n,A=_}return[w+u,A+l]}return x.invert=function(b){var w=b[0]-u,A=b[1]-l;if(d){var _=A*t+w*n;w=w*t-A*n,A=_}return[w/p,A/m]},x.stream=function(b){return a&&o===b?a:a=g(y(o=b))},x.postclip=function(b){return arguments.length?(y=b,h=e=r=i=null,v()):y},x.clipExtent=function(b){return arguments.length?(y=b==null?(h=e=r=i=null,Du):xk(h=+b[0][0],e=+b[0][1],r=+b[1][0],i=+b[1][1]),v()):h==null?null:[[h,e],[r,i]]},x.scale=function(b){return arguments.length?(s=+b,v()):s},x.translate=function(b){return arguments.length?(u=+b[0],l=+b[1],v()):[u,l]},x.angle=function(b){return arguments.length?(n=ut(d=b%360*gt),t=ct(d),v()):d*on},x.reflectX=function(b){return arguments.length?(c=b?-1:1,v()):c<0},x.reflectY=function(b){return arguments.length?(f=b?-1:1,v()):f<0},x.fitExtent=function(b,w){return Nf(x,b,w)},x.fitSize=function(b,w){return hg(x,b,w)},x.fitWidth=function(b,w){return pg(x,b,w)},x.fitHeight=function(b,w){return mg(x,b,w)},x},mercator:function(){return Yk(Tf).scale(961/Xn)},mollweide:function(){return Or(sM).scale(169.529)},naturalEarth1:function(){return Or(Kk).scale(175.295)},orthographic:function(){return Or(Qk).scale(249.5).clipAngle(90.000001)},stereographic:function(){return Or(Zk).scale(250).clipAngle(142)},transversemercator:function(){var t=Yk(tD),n=t.center,e=t.rotate;return t.center=function(r){return arguments.length?n([-r[1],r[0]]):[(r=n())[1],-r[0]]},t.rotate=function(r){return arguments.length?e([r[0],r[1],r.length>2?r[2]+90:90]):[(r=e())[0],r[1],r[2]-90]},e([0,0,90]).scale(159.155)}};for(const t in Uf)xg(t,Uf[t]);function lM(){}const fi=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function aD(){var t=1,n=1,e=o;function r(s,u){return u.map(l=>i(s,l))}function i(s,u){var l=[],c=[];return function(f,d,h){var p,m,g,y,v,x,b=[],w=[];for(p=m=-1,y=f[0]>=d,fi[y<<1].forEach(A);++p<t-1;)g=y,y=f[p+1]>=d,fi[g|y<<1].forEach(A);for(fi[y|0].forEach(A);++m<n-1;){for(p=-1,y=f[m*t+t]>=d,v=f[m*t]>=d,fi[y<<1|v<<2].forEach(A);++p<t-1;)g=y,y=f[m*t+t+p+1]>=d,x=v,v=f[m*t+p+1]>=d,fi[g|y<<1|v<<2|x<<3].forEach(A);fi[y|v<<3].forEach(A)}for(p=-1,v=f[m*t]>=d,fi[v<<2].forEach(A);++p<t-1;)x=v,v=f[m*t+p+1]>=d,fi[v<<2|x<<3].forEach(A);function A(_){var k,D,C=[_[0][0]+p,_[0][1]+m],F=[_[1][0]+p,_[1][1]+m],E=a(C),$=a(F);(k=w[E])?(D=b[$])?(delete w[k.end],delete b[D.start],k===D?(k.ring.push(F),h(k.ring)):b[k.start]=w[D.end]={start:k.start,end:D.end,ring:k.ring.concat(D.ring)}):(delete w[k.end],k.ring.push(F),w[k.end=$]=k):(k=b[$])?(D=w[E])?(delete b[k.start],delete w[D.end],k===D?(k.ring.push(F),h(k.ring)):b[D.start]=w[k.end]={start:D.start,end:k.end,ring:D.ring.concat(k.ring)}):(delete b[k.start],k.ring.unshift(C),b[k.start=E]=k):b[E]=w[$]={start:E,end:$,ring:[C,F]}}fi[v<<3].forEach(A)}(s,u,f=>{e(f,s,u),function(d){for(var h=0,p=d.length,m=d[p-1][1]*d[0][0]-d[p-1][0]*d[0][1];++h<p;)m+=d[h-1][1]*d[h][0]-d[h-1][0]*d[h][1];return m}(f)>0?l.push([f]):c.push(f)}),c.forEach(f=>{for(var d,h=0,p=l.length;h<p;++h)if(cM((d=l[h])[0],f)!==-1)return void d.push(f)}),{type:"MultiPolygon",value:u,coordinates:l}}function a(s){return 2*s[0]+s[1]*(t+1)*4}function o(s,u,l){s.forEach(c=>{var f,d=c[0],h=c[1],p=0|d,m=0|h,g=u[m*t+p];d>0&&d<t&&p===d&&(f=u[m*t+p-1],c[0]=d+(l-f)/(g-f)-.5),h>0&&h<n&&m===h&&(f=u[(m-1)*t+p],c[1]=h+(l-f)/(g-f)-.5)})}return r.contour=i,r.size=function(s){if(!arguments.length)return[t,n];var u=Math.floor(s[0]),l=Math.floor(s[1]);return u>=0&&l>=0||P("invalid size"),t=u,n=l,r},r.smooth=function(s){return arguments.length?(e=s?o:lM,r):e===o},r}function cM(t,n){for(var e,r=-1,i=n.length;++r<i;)if(e=fM(t,n[r]))return e;return 0}function fM(t,n){for(var e=n[0],r=n[1],i=-1,a=0,o=t.length,s=o-1;a<o;s=a++){var u=t[a],l=u[0],c=u[1],f=t[s],d=f[0],h=f[1];if(dM(u,f,n))return 0;c>r!=h>r&&e<(d-l)*(r-c)/(h-c)+l&&(i=-i)}return i}function dM(t,n,e){var r,i,a,o;return function(s,u,l){return(u[0]-s[0])*(l[1]-s[1])===(l[0]-s[0])*(u[1]-s[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],a=e[r],o=n[r],i<=a&&a<=o||o<=a&&a<=i)}function oD(t,n,e){return function(r){var i=kr(r),a=e?Math.min(i[0],0):i[0],o=i[1],s=o-a,u=n?sx(a,o,t):s/(t+1);return xe(a+u,o,u)}}function wg(t){O.call(this,null,t)}function sD(t,n,e,r,i){const a=t.x1||0,o=t.y1||0,s=n*e<0;function u(f){f.forEach(l)}function l(f){s&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-a)*n+r,f[1]=(f[1]-o)*e+i}return function(f){return f.coordinates.forEach(u),f}}function uD(t,n,e){const r=t>=0?t:Dp(n,e);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function Ag(t){return bt(t)?t:In(+t)}function lD(){var t=u=>u[0],n=u=>u[1],e=Is,r=[-1,-1],i=960,a=500,o=2;function s(u,l){const c=uD(r[0],u,t)>>o,f=uD(r[1],u,n)>>o,d=c?c+2:0,h=f?f+2:0,p=2*d+(i>>o),m=2*h+(a>>o),g=new Float32Array(p*m),y=new Float32Array(p*m);let v=g;u.forEach(b=>{const w=d+(+t(b)>>o),A=h+(+n(b)>>o);w>=0&&w<p&&A>=0&&A<m&&(g[w+A*p]+=+e(b))}),c>0&&f>0?(Xo(p,m,g,y,c),Jo(p,m,y,g,f),Xo(p,m,g,y,c),Jo(p,m,y,g,f),Xo(p,m,g,y,c),Jo(p,m,y,g,f)):c>0?(Xo(p,m,g,y,c),Xo(p,m,y,g,c),Xo(p,m,g,y,c),v=y):f>0&&(Jo(p,m,g,y,f),Jo(p,m,y,g,f),Jo(p,m,g,y,f),v=y);const x=l?Math.pow(2,-2*o):1/Yx(v);for(let b=0,w=p*m;b<w;++b)v[b]*=x;return{values:v,scale:1<<o,width:p,height:m,x1:d,y1:h,x2:d+(i>>o),y2:h+(a>>o)}}return s.x=function(u){return arguments.length?(t=Ag(u),s):t},s.y=function(u){return arguments.length?(n=Ag(u),s):n},s.weight=function(u){return arguments.length?(e=Ag(u),s):e},s.size=function(u){if(!arguments.length)return[i,a];var l=+u[0],c=+u[1];return l>=0&&c>=0||P("invalid size"),i=l,a=c,s},s.cellSize=function(u){return arguments.length?((u=+u)>=1||P("invalid cell size"),o=Math.floor(Math.log(u)/Math.LN2),s):1<<o},s.bandwidth=function(u){return arguments.length?((u=J(u)).length===1&&(u=[+u[0],+u[0]]),u.length!==2&&P("invalid bandwidth"),r=u,s):r},s}function Xo(t,n,e,r,i){const a=1+(i<<1);for(let o=0;o<n;++o)for(let s=0,u=0;s<t+i;++s)s<t&&(u+=e[s+o*t]),s>=i&&(s>=a&&(u-=e[s-a+o*t]),r[s-i+o*t]=u/Math.min(s+1,t-1+a-s,a))}function Jo(t,n,e,r,i){const a=1+(i<<1);for(let o=0;o<t;++o)for(let s=0,u=0;s<n+i;++s)s<n&&(u+=e[o+s*t]),s>=i&&(s>=a&&(u-=e[o+(s-a)*t]),r[o+(s-i)*t]=u/Math.min(s+1,n-1+a-s,a))}function _g(t){O.call(this,null,t)}wg.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},V(wg,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=n.materialize(n.SOURCE).source,i=t.field||Me,a=aD().smooth(t.smooth!==!1),o=t.thresholds||function(l,c,f){const d=oD(f.levels||10,f.nice,f.zero!==!1);return f.resolve!=="shared"?d:d(l.map(h=>Ca(c(h).values)))}(r,i,t),s=t.as===null?null:t.as||"contour",u=[];return r.forEach(l=>{const c=i(l),f=a.size([c.width,c.height])(c.values,T(o)?o:o(c.values));(function(d,h,p,m){let g=m.scale||h.scale,y=m.translate||h.translate;if(bt(g)&&(g=g(p,m)),bt(y)&&(y=y(p,m)),(g===1||g==null)&&!y)return;const v=($t(g)?g:g[0])||1,x=($t(g)?g:g[1])||1,b=y&&y[0]||0,w=y&&y[1]||0;d.forEach(sD(h,v,x,b,w))})(f,c,l,t),f.forEach(d=>{u.push(nc(l,St(s!=null?{[s]:d}:d)))})}),this.value&&(e.rem=this.value),this.value=e.source=e.add=u,e}}),_g.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};const hM=["x","y","weight","size","cellSize","bandwidth"];function cD(t,n){return hM.forEach(e=>n[e]!=null?t[e](n[e]):0),t}function kg(t){O.call(this,null,t)}V(_g,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=function(u,l){var c,f,d,h,p,m,g=[],y=v=>v(h);if(l==null)g.push(u);else for(c={},f=0,d=u.length;f<d;++f)h=u[f],(m=c[p=l.map(y)])||(c[p]=m=[],m.dims=p,g.push(m)),m.push(h);return g}(n.materialize(n.SOURCE).source,t.groupby),a=(t.groupby||[]).map(en),o=cD(lD(),t),s=t.as||"grid";return e=i.map(u=>St(function(l,c){for(let f=0;f<a.length;++f)l[a[f]]=c[f];return l}({[s]:o(u,t.counts)},u.dims))),this.value&&(r.rem=this.value),this.value=r.source=r.add=e,r}}),kg.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]},V(kg,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),a=aD().smooth(t.smooth!==!1),o=t.values,s=t.thresholds||oD(t.count||10,t.nice,!!o),u=t.size;return o||(o=n.materialize(n.SOURCE).source,r=sD(e=cD(lD(),t)(o,!0),e.scale||1,e.scale||1,0,0),u=[e.width,e.height],o=e.values),s=T(s)?s:s(o),o=a.size(u)(o,s),r&&o.forEach(r),this.value&&(i.rem=this.value),this.value=i.source=i.add=(o||[]).map(St),i}});const Dg="Feature",Fg="FeatureCollection";function Cg(t){O.call(this,null,t)}function Eg(t){O.call(this,null,t)}function $g(t){O.call(this,null,t)}function Sg(t){O.call(this,null,t)}function Mg(t){O.call(this,[],t),this.generator=function(){var n,e,r,i,a,o,s,u,l,c,f,d,h=10,p=h,m=90,g=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:x()}}function x(){return xe(lf(i/m)*m,r,m).map(f).concat(xe(lf(u/g)*g,s,g).map(d)).concat(xe(lf(e/h)*h,n,h).filter(function(b){return At(b%m)>dt}).map(l)).concat(xe(lf(o/p)*p,a,p).filter(function(b){return At(b%g)>dt}).map(c))}return v.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},v.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(d(s).slice(1),f(r).reverse().slice(1),d(u).reverse().slice(1))]}},v.extent=function(b){return arguments.length?v.extentMajor(b).extentMinor(b):v.extentMinor()},v.extentMajor=function(b){return arguments.length?(i=+b[0][0],r=+b[1][0],u=+b[0][1],s=+b[1][1],i>r&&(b=i,i=r,r=b),u>s&&(b=u,u=s,s=b),v.precision(y)):[[i,u],[r,s]]},v.extentMinor=function(b){return arguments.length?(e=+b[0][0],n=+b[1][0],o=+b[0][1],a=+b[1][1],e>n&&(b=e,e=n,n=b),o>a&&(b=o,o=a,a=b),v.precision(y)):[[e,o],[n,a]]},v.step=function(b){return arguments.length?v.stepMajor(b).stepMinor(b):v.stepMinor()},v.stepMajor=function(b){return arguments.length?(m=+b[0],g=+b[1],v):[m,g]},v.stepMinor=function(b){return arguments.length?(h=+b[0],p=+b[1],v):[h,p]},v.precision=function(b){return arguments.length?(y=+b,l=wk(o,a,90),c=Ak(e,n,y),f=wk(u,s,90),d=Ak(i,r,y),v):y},v.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()}function Bg(t){O.call(this,null,t)}function fD(t){if(!bt(t))return!1;const n=Dr(Wn(t));return n.$x||n.$y||n.$value||n.$max}function dD(t){O.call(this,null,t),this.modified(!0)}function hD(t,n,e){bt(t[n])&&t[n](e)}Cg.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},V(Cg,O,{transform(t,n){var e,r=this._features,i=this._points,a=t.fields,o=a&&a[0],s=a&&a[1],u=t.geojson||!a&&Me,l=n.ADD;e=t.modified()||n.changed(n.REM)||n.modified(Wn(u))||o&&n.modified(Wn(o))||s&&n.modified(Wn(s)),this.value&&!e||(l=n.SOURCE,this._features=r=[],this._points=i=[]),u&&n.visit(l,c=>r.push(u(c))),o&&s&&(n.visit(l,c=>{var f=o(c),d=s(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&i.push([f,d])}),r=r.concat({type:Dg,geometry:{type:"MultiPoint",coordinates:i}})),this.value={type:Fg,features:r}}}),Eg.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},V(Eg,O,{transform(t,n){var e=n.fork(n.ALL),r=this.value,i=t.field||Me,a=t.as||"path",o=e.SOURCE;!r||t.modified()?(this.value=r=iD(t.projection),e.materialize().reflow()):o=i===Me||n.modified(i.fields)?e.ADD_MOD:e.ADD;const s=function(u,l){const c=u.pointRadius();return u.context(null),l!=null&&u.pointRadius(l),c}(r,t.pointRadius);return e.visit(o,u=>u[a]=r(i(u))),r.pointRadius(s),e.modifies(a)}}),$g.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},V($g,O,{transform(t,n){var e,r=t.projection,i=t.fields[0],a=t.fields[1],o=t.as||["x","y"],s=o[0],u=o[1];function l(c){const f=r([i(c),a(c)]);f?(c[s]=f[0],c[u]=f[1]):(c[s]=void 0,c[u]=void 0)}return t.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,l):(e=n.modified(i.fields)||n.modified(a.fields),n.visit(e?n.ADD_MOD:n.ADD,l)),n.modifies(o)}}),Sg.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},V(Sg,O,{transform(t,n){var e=n.fork(n.ALL),r=this.value,i=t.as||"shape",a=e.ADD;return r&&!t.modified()||(this.value=r=function(o,s,u){const l=u==null?c=>o(s(c)):c=>{var f=o.pointRadius(),d=o.pointRadius(u)(s(c));return o.pointRadius(f),d};return l.context=c=>(o.context(c),l),l}(iD(t.projection),t.field||ei("datum"),t.pointRadius),e.materialize().reflow(),a=e.SOURCE),e.visit(a,o=>o[i]=r),e.modifies(i)}}),Mg.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},V(Mg,O,{transform(t,n){var e,r=this.value,i=this.generator;if(!r.length||t.modified())for(const a in t)bt(i[a])&&i[a](t[a]);return e=i(),r.length?n.mod.push(r2(r[0],e)):n.add.push(St(e)),r[0]=e,n}}),Bg.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},V(Bg,O,{transform(t,n){if(!n.changed()&&!t.modified())return n.StopPropagation;var e=n.materialize(n.SOURCE).source,r=t.resolve==="shared",i=t.field||Me,a=function(l,c){let f;return bt(l)?(f=d=>l(d,c),f.dep=fD(l)):l?f=In(l):(f=d=>d.$value/d.$max||0,f.dep=!0),f}(t.opacity,t),o=function(l,c){let f;return bt(l)?(f=d=>Vl(l(d,c)),f.dep=fD(l)):f=In(Vl(l||"#888")),f}(t.color,t),s=t.as||"image",u={$x:0,$y:0,$value:0,$max:r?Ca(e.map(l=>Ca(i(l).values))):0};return e.forEach(l=>{const c=i(l),f=xt({},l,u);r||(f.$max=Ca(c.values||[])),l[s]=function(d,h,p,m){const g=d.width,y=d.height,v=d.x1||0,x=d.y1||0,b=d.x2||g,w=d.y2||y,A=d.values,_=A?E=>A[E]:tp,k=qi(b-v,w-x),D=k.getContext("2d"),C=D.getImageData(0,0,b-v,w-x),F=C.data;for(let E=x,$=0;E<w;++E){h.$y=E-x;for(let M=v,S=E*g;M<b;++M,$+=4){h.$x=M-v,h.$value=_(M+S);const B=p(h);F[$+0]=B.r,F[$+1]=B.g,F[$+2]=B.b,F[$+3]=~~(255*m(h))}}return D.putImageData(C,0,0),k}(c,f,o.dep?o:In(o(f)),a.dep?a:In(a(f)))}),n.reflow(!0).modifies(s)}}),V(dD,O,{transform(t,n){let e=this.value;return!e||t.modified("type")?(this.value=e=function(r){const i=xg((r||"mercator").toLowerCase());return i||P("Unrecognized projection type: "+r),i()}(t.type),bg.forEach(r=>{t[r]!=null&&hD(e,r,t[r])})):bg.forEach(r=>{t.modified(r)&&hD(e,r,t[r])}),t.pointRadius!=null&&e.path.pointRadius(t.pointRadius),t.fit&&function(r,i){const a=function(o){return o=J(o),o.length===1?o[0]:{type:Fg,features:o.reduce((s,u)=>s.concat(function(l){return l.type===Fg?l.features:J(l).filter(c=>c!=null).map(c=>c.type===Dg?c:{type:Dg,geometry:c})}(u)),[])}}(i.fit);i.extent?r.fitExtent(i.extent,a):i.size&&r.fitSize(i.size,a)}(e,t),n.fork(n.NO_SOURCE|n.NO_FIELDS)}});const pM=Object.freeze(Object.defineProperty({__proto__:null,contour:kg,geojson:Cg,geopath:Eg,geopoint:$g,geoshape:Sg,graticule:Mg,heatmap:Bg,isocontour:wg,kde2d:_g,projection:dD},Symbol.toStringTag,{value:"Module"}));function pD(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,a,o,s,u,l,c,f,d,h=t._root,p={data:r},m=t._x0,g=t._y0,y=t._x1,v=t._y1;if(!h)return t._root=p,t;for(;h.length;)if((l=n>=(a=(m+y)/2))?m=a:y=a,(c=e>=(o=(g+v)/2))?g=o:v=o,i=h,!(h=h[f=c<<1|l]))return i[f]=p,t;if(s=+t._x.call(null,h.data),u=+t._y.call(null,h.data),n===s&&e===u)return p.next=h,i?i[f]=p:t._root=p,t;do i=i?i[f]=new Array(4):t._root=new Array(4),(l=n>=(a=(m+y)/2))?m=a:y=a,(c=e>=(o=(g+v)/2))?g=o:v=o;while((f=c<<1|l)==(d=(u>=o)<<1|s>=a));return i[d]=h,i[f]=p,t}function te(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function mM(t){return t[0]}function gM(t){return t[1]}function zg(t,n,e){var r=new Og(n??mM,e??gM,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Og(t,n,e,r,i,a){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function mD(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var ne=zg.prototype=Og.prototype;function ee(t){return function(){return t}}function ea(t){return 1e-6*(t()-.5)}function yM(t){return t.x+t.vx}function vM(t){return t.y+t.vy}function bM(t){return t.index}function gD(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}ne.copy=function(){var t,n,e=new Og(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=mD(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=mD(n));return e},ne.add=function(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return pD(this.cover(n,e),n,e,t)},ne.addAll=function(t){var n,e,r,i,a=t.length,o=new Array(a),s=new Array(a),u=1/0,l=1/0,c=-1/0,f=-1/0;for(e=0;e<a;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(o[e]=r,s[e]=i,r<u&&(u=r),r>c&&(c=r),i<l&&(l=i),i>f&&(f=i));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),e=0;e<a;++e)pD(this,o[e],s[e],t[e]);return this},ne.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,a=(r=Math.floor(n))+1;else{for(var o,s,u=i-e||1,l=this._root;e>t||t>=i||r>n||n>=a;)switch(s=(n<r)<<1|t<e,(o=new Array(4))[s]=l,l=o,u*=2,s){case 0:i=e+u,a=r+u;break;case 1:e=i-u,a=r+u;break;case 2:i=e+u,r=a-u;break;case 3:e=i-u,r=a-u}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=a,this},ne.data=function(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t},ne.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ne.find=function(t,n,e){var r,i,a,o,s,u,l,c=this._x0,f=this._y0,d=this._x1,h=this._y1,p=[],m=this._root;for(m&&p.push(new te(m,c,f,d,h)),e==null?e=1/0:(c=t-e,f=n-e,d=t+e,h=n+e,e*=e);u=p.pop();)if(!(!(m=u.node)||(i=u.x0)>d||(a=u.y0)>h||(o=u.x1)<c||(s=u.y1)<f))if(m.length){var g=(i+o)/2,y=(a+s)/2;p.push(new te(m[3],g,y,o,s),new te(m[2],i,y,g,s),new te(m[1],g,a,o,y),new te(m[0],i,a,g,y)),(l=(n>=y)<<1|t>=g)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=u)}else{var v=t-+this._x.call(null,m.data),x=n-+this._y.call(null,m.data),b=v*v+x*x;if(b<e){var w=Math.sqrt(e=b);c=t-w,f=n-w,d=t+w,h=n+w,r=m.data}}return r},ne.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var n,e,r,i,a,o,s,u,l,c,f,d,h=this._root,p=this._x0,m=this._y0,g=this._x1,y=this._y1;if(!h)return this;if(h.length)for(;;){if((l=a>=(s=(p+g)/2))?p=s:g=s,(c=o>=(u=(m+y)/2))?m=u:y=u,n=h,!(h=h[f=c<<1|l]))return this;if(!h.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(e=n,d=f)}for(;h.data!==t;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):n?(i?n[f]=i:delete n[f],(h=n[0]||n[1]||n[2]||n[3])&&h===(n[3]||n[2]||n[1]||n[0])&&!h.length&&(e?e[d]=h:this._root=h),this):(this._root=i,this)},ne.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},ne.root=function(){return this._root},ne.size=function(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t},ne.visit=function(t){var n,e,r,i,a,o,s=[],u=this._root;for(u&&s.push(new te(u,this._x0,this._y0,this._x1,this._y1));n=s.pop();)if(!t(u=n.node,r=n.x0,i=n.y0,a=n.x1,o=n.y1)&&u.length){var l=(r+a)/2,c=(i+o)/2;(e=u[3])&&s.push(new te(e,l,c,a,o)),(e=u[2])&&s.push(new te(e,r,c,l,o)),(e=u[1])&&s.push(new te(e,l,i,a,c)),(e=u[0])&&s.push(new te(e,r,i,l,c))}return this},ne.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new te(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,o=n.x0,s=n.y0,u=n.x1,l=n.y1,c=(o+u)/2,f=(s+l)/2;(a=i[0])&&e.push(new te(a,o,s,c,f)),(a=i[1])&&e.push(new te(a,c,s,u,f)),(a=i[2])&&e.push(new te(a,o,f,c,l)),(a=i[3])&&e.push(new te(a,c,f,u,l))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},ne.x=function(t){return arguments.length?(this._x=t,this):this._x},ne.y=function(t){return arguments.length?(this._y=t,this):this._y};const yD=4294967296;function xM(t){return t.x}function wM(t){return t.y}var AM=Math.PI*(3-Math.sqrt(5));function _M(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=new Map,u=b8(f),l=x8("tick","end"),c=function(){let m=1;return()=>(m=(1664525*m+1013904223)%yD)/yD}();function f(){d(),l.call("tick",n),e<r&&(u.stop(),l.call("end",n))}function d(m){var g,y,v=t.length;m===void 0&&(m=1);for(var x=0;x<m;++x)for(e+=(a-e)*i,s.forEach(function(b){b(e)}),g=0;g<v;++g)(y=t[g]).fx==null?y.x+=y.vx*=o:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=o:(y.y=y.fy,y.vy=0);return n}function h(){for(var m,g=0,y=t.length;g<y;++g){if((m=t[g]).index=g,m.fx!=null&&(m.x=m.fx),m.fy!=null&&(m.y=m.fy),isNaN(m.x)||isNaN(m.y)){var v=10*Math.sqrt(.5+g),x=g*AM;m.x=v*Math.cos(x),m.y=v*Math.sin(x)}(isNaN(m.vx)||isNaN(m.vy))&&(m.vx=m.vy=0)}}function p(m){return m.initialize&&m.initialize(t,c),m}return t==null&&(t=[]),h(),n={tick:d,restart:function(){return u.restart(f),n},stop:function(){return u.stop(),n},nodes:function(m){return arguments.length?(t=m,h(),s.forEach(p),n):t},alpha:function(m){return arguments.length?(e=+m,n):e},alphaMin:function(m){return arguments.length?(r=+m,n):r},alphaDecay:function(m){return arguments.length?(i=+m,n):+i},alphaTarget:function(m){return arguments.length?(a=+m,n):a},velocityDecay:function(m){return arguments.length?(o=1-m,n):1-o},randomSource:function(m){return arguments.length?(c=m,s.forEach(p),n):c},force:function(m,g){return arguments.length>1?(g==null?s.delete(m):s.set(m,p(g)),n):s.get(m)},find:function(m,g,y){var v,x,b,w,A,_=0,k=t.length;for(y==null?y=1/0:y*=y,_=0;_<k;++_)(b=(v=m-(w=t[_]).x)*v+(x=g-w.y)*x)<y&&(A=w,y=b);return A},on:function(m,g){return arguments.length>1?(l.on(m,g),n):l.on(m)}}}const vD={center:function(t,n){var e,r=1;function i(){var a,o,s=e.length,u=0,l=0;for(a=0;a<s;++a)u+=(o=e[a]).x,l+=o.y;for(u=(u/s-t)*r,l=(l/s-n)*r,a=0;a<s;++a)(o=e[a]).x-=u,o.y-=l}return t==null&&(t=0),n==null&&(n=0),i.initialize=function(a){e=a},i.x=function(a){return arguments.length?(t=+a,i):t},i.y=function(a){return arguments.length?(n=+a,i):n},i.strength=function(a){return arguments.length?(r=+a,i):r},i},collide:function(t){var n,e,r,i=1,a=1;function o(){for(var l,c,f,d,h,p,m,g=n.length,y=0;y<a;++y)for(c=zg(n,yM,vM).visitAfter(s),l=0;l<g;++l)f=n[l],p=e[f.index],m=p*p,d=f.x+f.vx,h=f.y+f.vy,c.visit(v);function v(x,b,w,A,_){var k=x.data,D=x.r,C=p+D;if(!k)return b>d+C||A<d-C||w>h+C||_<h-C;if(k.index>f.index){var F=d-k.x-k.vx,E=h-k.y-k.vy,$=F*F+E*E;$<C*C&&(F===0&&($+=(F=ea(r))*F),E===0&&($+=(E=ea(r))*E),$=(C-($=Math.sqrt($)))/$*i,f.vx+=(F*=$)*(C=(D*=D)/(m+D)),f.vy+=(E*=$)*C,k.vx-=F*(C=1-C),k.vy-=E*C)}}}function s(l){if(l.data)return l.r=e[l.data.index];for(var c=l.r=0;c<4;++c)l[c]&&l[c].r>l.r&&(l.r=l[c].r)}function u(){if(n){var l,c,f=n.length;for(e=new Array(f),l=0;l<f;++l)c=n[l],e[c.index]=+t(c,l,n)}}return typeof t!="function"&&(t=ee(t==null?1:+t)),o.initialize=function(l,c){n=l,r=c,u()},o.iterations=function(l){return arguments.length?(a=+l,o):a},o.strength=function(l){return arguments.length?(i=+l,o):i},o.radius=function(l){return arguments.length?(t=typeof l=="function"?l:ee(+l),u(),o):t},o},nbody:function(){var t,n,e,r,i,a=ee(-30),o=1,s=1/0,u=.81;function l(h){var p,m=t.length,g=zg(t,xM,wM).visitAfter(f);for(r=h,p=0;p<m;++p)n=t[p],g.visit(d)}function c(){if(t){var h,p,m=t.length;for(i=new Array(m),h=0;h<m;++h)p=t[h],i[p.index]=+a(p,h,t)}}function f(h){var p,m,g,y,v,x=0,b=0;if(h.length){for(g=y=v=0;v<4;++v)(p=h[v])&&(m=Math.abs(p.value))&&(x+=p.value,b+=m,g+=m*p.x,y+=m*p.y);h.x=g/b,h.y=y/b}else{(p=h).x=p.data.x,p.y=p.data.y;do x+=i[p.data.index];while(p=p.next)}h.value=x}function d(h,p,m,g){if(!h.value)return!0;var y=h.x-n.x,v=h.y-n.y,x=g-p,b=y*y+v*v;if(x*x/u<b)return b<s&&(y===0&&(b+=(y=ea(e))*y),v===0&&(b+=(v=ea(e))*v),b<o&&(b=Math.sqrt(o*b)),n.vx+=y*h.value*r/b,n.vy+=v*h.value*r/b),!0;if(!(h.length||b>=s)){(h.data!==n||h.next)&&(y===0&&(b+=(y=ea(e))*y),v===0&&(b+=(v=ea(e))*v),b<o&&(b=Math.sqrt(o*b)));do h.data!==n&&(x=i[h.data.index]*r/b,n.vx+=y*x,n.vy+=v*x);while(h=h.next)}}return l.initialize=function(h,p){t=h,e=p,c()},l.strength=function(h){return arguments.length?(a=typeof h=="function"?h:ee(+h),c(),l):a},l.distanceMin=function(h){return arguments.length?(o=h*h,l):Math.sqrt(o)},l.distanceMax=function(h){return arguments.length?(s=h*h,l):Math.sqrt(s)},l.theta=function(h){return arguments.length?(u=h*h,l):Math.sqrt(u)},l},link:function(t){var n,e,r,i,a,o,s=bM,u=function(m){return 1/Math.min(i[m.source.index],i[m.target.index])},l=ee(30),c=1;function f(m){for(var g=0,y=t.length;g<c;++g)for(var v,x,b,w,A,_,k,D=0;D<y;++D)x=(v=t[D]).source,w=(b=v.target).x+b.vx-x.x-x.vx||ea(o),A=b.y+b.vy-x.y-x.vy||ea(o),w*=_=((_=Math.sqrt(w*w+A*A))-e[D])/_*m*n[D],A*=_,b.vx-=w*(k=a[D]),b.vy-=A*k,x.vx+=w*(k=1-k),x.vy+=A*k}function d(){if(r){var m,g,y=r.length,v=t.length,x=new Map(r.map((b,w)=>[s(b,w,r),b]));for(m=0,i=new Array(y);m<v;++m)(g=t[m]).index=m,typeof g.source!="object"&&(g.source=gD(x,g.source)),typeof g.target!="object"&&(g.target=gD(x,g.target)),i[g.source.index]=(i[g.source.index]||0)+1,i[g.target.index]=(i[g.target.index]||0)+1;for(m=0,a=new Array(v);m<v;++m)g=t[m],a[m]=i[g.source.index]/(i[g.source.index]+i[g.target.index]);n=new Array(v),h(),e=new Array(v),p()}}function h(){if(r)for(var m=0,g=t.length;m<g;++m)n[m]=+u(t[m],m,t)}function p(){if(r)for(var m=0,g=t.length;m<g;++m)e[m]=+l(t[m],m,t)}return t==null&&(t=[]),f.initialize=function(m,g){r=m,o=g,d()},f.links=function(m){return arguments.length?(t=m,d(),f):t},f.id=function(m){return arguments.length?(s=m,f):s},f.iterations=function(m){return arguments.length?(c=+m,f):c},f.strength=function(m){return arguments.length?(u=typeof m=="function"?m:ee(+m),h(),f):u},f.distance=function(m){return arguments.length?(l=typeof m=="function"?m:ee(+m),p(),f):l},f},x:function(t){var n,e,r,i=ee(.1);function a(s){for(var u,l=0,c=n.length;l<c;++l)(u=n[l]).vx+=(r[l]-u.x)*e[l]*s}function o(){if(n){var s,u=n.length;for(e=new Array(u),r=new Array(u),s=0;s<u;++s)e[s]=isNaN(r[s]=+t(n[s],s,n))?0:+i(n[s],s,n)}}return typeof t!="function"&&(t=ee(t==null?0:+t)),a.initialize=function(s){n=s,o()},a.strength=function(s){return arguments.length?(i=typeof s=="function"?s:ee(+s),o(),a):i},a.x=function(s){return arguments.length?(t=typeof s=="function"?s:ee(+s),o(),a):t},a},y:function(t){var n,e,r,i=ee(.1);function a(s){for(var u,l=0,c=n.length;l<c;++l)(u=n[l]).vy+=(r[l]-u.y)*e[l]*s}function o(){if(n){var s,u=n.length;for(e=new Array(u),r=new Array(u),s=0;s<u;++s)e[s]=isNaN(r[s]=+t(n[s],s,n))?0:+i(n[s],s,n)}}return typeof t!="function"&&(t=ee(t==null?0:+t)),a.initialize=function(s){n=s,o()},a.strength=function(s){return arguments.length?(i=typeof s=="function"?s:ee(+s),o(),a):i},a.y=function(s){return arguments.length?(t=typeof s=="function"?s:ee(+s),o(),a):t},a}},Tu="forces",Ng=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],kM=["static","iterations"],bD=["x","y","vx","vy"];function Rg(t){O.call(this,null,t)}function xD(t,n,e,r){var i,a,o,s,u=J(n.forces);for(i=0,a=Ng.length;i<a;++i)(o=Ng[i])!==Tu&&n.modified(o)&&t[o](n[o]);for(i=0,a=u.length;i<a;++i)s=Tu+i,(o=e||n.modified(Tu,i)?FM(u[i]):r&&DM(u[i],r)?t.force(s):null)&&t.force(s,o);for(a=t.numForces||0;i<a;++i)t.force(Tu+i,null);return t.numForces=u.length,t}function DM(t,n){var e,r;for(e in t)if(bt(r=t[e])&&n.modified(Wn(r)))return 1;return 0}function FM(t){var n,e;for(e in tt(vD,t.force)||P("Unrecognized force: "+t.force),n=vD[t.force](),t)bt(n[e])&&CM(n[e],t[e],t);return n}function CM(t,n,e){t(bt(n)?r=>n(r,e):n)}Rg.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:bD}]},V(Rg,O,{transform(t,n){var e,r,i=this.value,a=n.changed(n.ADD_REM),o=t.modified(Ng),s=t.iterations||300;if(i?(a&&(n.modifies("index"),i.nodes(n.source)),(o||n.changed(n.MOD))&&xD(i,t,0,n)):(this.value=i=function(u,l){const c=_M(u),f=c.stop,d=c.restart;let h=!1;return c.stopped=()=>h,c.restart=()=>(h=!1,d()),c.stop=()=>(h=!0,f()),xD(c,l,!0).on("end",()=>h=!0)}(n.source,t),i.on("tick",(e=n.dataflow,r=this,()=>e.touch(r).run())),t.static||(a=!0,i.tick()),n.modifies("index")),o||a||t.modified(kM)||n.changed()&&t.restart){if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/s)),t.static)for(i.stop();--s>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return n.StopPropagation}return this.finish(t,n)},finish(t,n){const e=n.dataflow;for(let s,u=this._argops,l=0,c=u.length;l<c;++l)if(s=u[l],s.name===Tu&&s.op._argval.force==="link"){for(var r,i=s.op._argops,a=0,o=i.length;a<o;++a)if(i[a].name==="links"&&(r=i[a].op.source)){e.pulse(r,e.changeset().reflow());break}}return n.reflow(t.modified()).modifies(bD)}});const EM=Object.freeze(Object.defineProperty({__proto__:null,force:Rg},Symbol.toStringTag,{value:"Module"}));function $M(t,n){return t.parent===n.parent?1:2}function SM(t,n){return t+n.x}function MM(t,n){return Math.max(t,n.y)}const wD=4294967296;function BM(t,n){var e,r;if(Tg(n,t))return[n];for(e=0;e<t.length;++e)if(If(n,t[e])&&Tg(Pu(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(If(Pu(t[e],t[r]),n)&&If(Pu(t[e],n),t[r])&&If(Pu(t[r],n),t[e])&&Tg(_D(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function If(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function AD(t,n){var e=t.r-n.r+1e-9*Math.max(t.r,n.r,1),r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function Tg(t,n){for(var e=0;e<n.length;++e)if(!AD(t,n[e]))return!1;return!0}function zM(t){switch(t.length){case 1:return function(n){return{x:n.x,y:n.y,r:n.r}}(t[0]);case 2:return Pu(t[0],t[1]);case 3:return _D(t[0],t[1],t[2])}}function Pu(t,n){var e=t.x,r=t.y,i=t.r,a=n.x,o=n.y,s=n.r,u=a-e,l=o-r,c=s-i,f=Math.sqrt(u*u+l*l);return{x:(e+a+u/f*c)/2,y:(r+o+l/f*c)/2,r:(f+i+s)/2}}function _D(t,n,e){var r=t.x,i=t.y,a=t.r,o=n.x,s=n.y,u=n.r,l=e.x,c=e.y,f=e.r,d=r-o,h=r-l,p=i-s,m=i-c,g=u-a,y=f-a,v=r*r+i*i-a*a,x=v-o*o-s*s+u*u,b=v-l*l-c*c+f*f,w=h*p-d*m,A=(p*b-m*x)/(2*w)-r,_=(m*g-p*y)/w,k=(h*x-d*b)/(2*w)-i,D=(d*y-h*g)/w,C=_*_+D*D-1,F=2*(a+A*_+k*D),E=A*A+k*k-a*a,$=-(Math.abs(C)>1e-6?(F+Math.sqrt(F*F-4*C*E))/(2*C):E/F);return{x:r+A+_*$,y:i+k+D*$,r:$}}function kD(t,n,e){var r,i,a,o,s=t.x-n.x,u=t.y-n.y,l=s*s+u*u;l?(i=n.r+e.r,i*=i,o=t.r+e.r,i>(o*=o)?(r=(l+o-i)/(2*l),a=Math.sqrt(Math.max(0,o/l-r*r)),e.x=t.x-r*s-a*u,e.y=t.y-r*u+a*s):(r=(l+i-o)/(2*l),a=Math.sqrt(Math.max(0,i/l-r*r)),e.x=n.x+r*s-a*u,e.y=n.y+r*u+a*s)):(e.x=n.x+e.r,e.y=n.y)}function DD(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function FD(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,a=(n.y*e.r+e.y*n.r)/r;return i*i+a*a}function Wf(t){this._=t,this.next=null,this.previous=null}function OM(t,n){if(!(a=(t=function(h){return typeof h=="object"&&"length"in h?h:Array.from(h)}(t)).length))return 0;var e,r,i,a,o,s,u,l,c,f,d;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;kD(r,e,i=t[2]),e=new Wf(e),r=new Wf(r),i=new Wf(i),e.next=i.previous=r,r.next=e.previous=i,i.next=r.previous=e;t:for(u=3;u<a;++u){kD(e._,r._,i=t[u]),i=new Wf(i),l=r.next,c=e.previous,f=r._.r,d=e._.r;do if(f<=d){if(DD(l._,i._)){r=l,e.next=r,r.previous=e,--u;continue t}f+=l._.r,l=l.next}else{if(DD(c._,i._)){(e=c).next=r,r.previous=e,--u;continue t}d+=c._.r,c=c.previous}while(l!==c.next);for(i.previous=e,i.next=r,e.next=r.previous=r=i,o=FD(e);(i=i.next)!==r;)(s=FD(i))<o&&(e=i,o=s);r=e.next}for(e=[r._],i=r;(i=i.next)!==r;)e.push(i._);for(i=function(h,p){for(var m,g,y=0,v=(h=function(b,w){let A,_,k=b.length;for(;k;)_=w()*k--|0,A=b[k],b[k]=b[_],b[_]=A;return b}(Array.from(h),p)).length,x=[];y<v;)m=h[y],g&&AD(g,m)?++y:(g=zM(x=BM(x,m)),y=0);return g}(e,n),u=0;u<a;++u)(e=t[u]).x-=i.x,e.y-=i.y;return i.r}function NM(t){return Math.sqrt(t.value)}function CD(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Pg(t,n,e){return function(r){if(i=r.children){var i,a,o,s=i.length,u=t(r)*n||0;if(u)for(a=0;a<s;++a)i[a].r+=u;if(o=OM(i,e),u)for(a=0;a<s;++a)i[a].r-=u;r.r=o+u}}}function ED(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}var RM={depth:-1},$D={},jg={};function TM(t){return t.id}function PM(t){return t.parentId}function SD(){var t,n=TM,e=PM;function r(i){var a,o,s,u,l,c,f,d,h=Array.from(i),p=n,m=e,g=new Map;if(t!=null){const y=h.map((b,w)=>function(A){A=`${A}`;let _=A.length;return Lg(A,_-1)&&!Lg(A,_-2)&&(A=A.slice(0,-1)),A[0]==="/"?A:`/${A}`}(t(b,w,i))),v=y.map(MD),x=new Set(y).add("");for(const b of v)x.has(b)||(x.add(b),y.push(b),v.push(MD(b)),h.push(jg));p=(b,w)=>y[w],m=(b,w)=>v[w]}for(s=0,a=h.length;s<a;++s)o=h[s],c=h[s]=new Ux(o),(f=p(o,s,i))!=null&&(f+="")&&(d=c.id=f,g.set(d,g.has(d)?$D:c)),(f=m(o,s,i))!=null&&(f+="")&&(c.parent=f);for(s=0;s<a;++s)if(f=(c=h[s]).parent){if(!(l=g.get(f)))throw new Error("missing: "+f);if(l===$D)throw new Error("ambiguous: "+f);l.children?l.children.push(c):l.children=[c],c.parent=l}else{if(u)throw new Error("multiple roots");u=c}if(!u)throw new Error("no root");if(t!=null){for(;u.data===jg&&u.children.length===1;)u=u.children[0],--a;for(let y=h.length-1;y>=0&&(c=h[y]).data===jg;--y)c.data=null}if(u.parent=RM,u.eachBefore(function(y){y.depth=y.parent.depth+1,--a}).eachBefore(X8),u.parent=null,a>0)throw new Error("cycle");return u}return r.id=function(i){return arguments.length?(n=Xl(i),r):n},r.parentId=function(i){return arguments.length?(e=Xl(i),r):e},r.path=function(i){return arguments.length?(t=Xl(i),r):t},r}function MD(t){let n=t.length;if(n<2)return"";for(;--n>1&&!Lg(t,n););return t.slice(0,n)}function Lg(t,n){if(t[n]==="/"){let e=0;for(;n>0&&t[--n]==="\\";)++e;if(!(1&e))return!0}return!1}function jM(t,n){return t.parent===n.parent?1:2}function qg(t){var n=t.children;return n?n[0]:t.t}function Ug(t){var n=t.children;return n?n[n.length-1]:t.t}function LM(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function qM(t,n,e){return t.a.parent===n.parent?t.a:e}function Hf(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Hf.prototype=Object.create(Ux.prototype);const UM=function t(n){function e(r,i,a,o,s){if((u=r._squarify)&&u.ratio===n)for(var u,l,c,f,d,h=-1,p=u.length,m=r.value;++h<p;){for(c=(l=u[h]).children,f=l.value=0,d=c.length;f<d;++f)l.value+=c[f].value;l.dice?Jl(l,i,a,o,m?a+=(s-a)*l.value/m:s):hp(l,i,a,m?i+=(o-i)*l.value/m:o,s),m-=l.value}else r._squarify=u=J8(n,r,i,a,o,s),u.ratio=n}return e.ratio=function(r){return t((r=+r)>1?r:1)},e}(K8);function Ig(t,n,e){const r={};return t.each(i=>{const a=i.data;e(a)&&(r[n(a)]=i)}),t.lookup=r,t}function Wg(t){O.call(this,null,t)}Wg.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};const IM=t=>t.values;function WM(){const t=[],n={entries:i=>r(e(i,0),0),key:i=>(t.push(i),n)};function e(i,a){if(a>=t.length)return i;const o=i.length,s=t[a++],u={},l={};let c,f,d,h=-1;for(;++h<o;)c=s(f=i[h])+"",(d=u[c])?d.push(f):u[c]=[f];for(c in u)l[c]=e(u[c],a);return l}function r(i,a){if(++a>t.length)return i;const o=[];for(const s in i)o.push({key:s,values:r(i[s],a)});return o}return n}function di(t){O.call(this,null,t)}V(Wg,O,{transform(t,n){n.source||P("Nest transform requires an upstream data source.");var e=t.generate,r=t.modified(),i=n.clone(),a=this.value;return(!a||r||n.changed())&&(a&&a.each(o=>{o.children&&tc(o.data)&&i.rem.push(o.data)}),this.value=a=Q8({values:J(t.keys).reduce((o,s)=>(o.key(s),o),WM()).entries(i.source)},IM),e&&a.each(o=>{o.children&&(o=St(o.data),i.add.push(o),i.source.push(o))}),Ig(a,st,st)),i.source.root=a,i}});const HM=(t,n)=>t.parent===n.parent?1:2;V(di,O,{transform(t,n){n.source&&n.source.root||P(this.constructor.name+" transform requires a backing tree data source.");const e=this.layout(t.method),r=this.fields,i=n.source.root,a=t.as||r;t.field?i.sum(t.field):i.count(),t.sort&&i.sort(Ma(t.sort,o=>o.data)),function(o,s,u){for(let l,c=0,f=s.length;c<f;++c)l=s[c],l in u&&o[l](u[l])}(e,this.params,t),e.separation&&e.separation(t.separation!==!1?HM:Is);try{this.value=e(i)}catch(o){P(o)}return i.each(o=>function(s,u,l){const c=s.data,f=u.length-1;for(let d=0;d<f;++d)c[l[d]]=s[u[d]];c[l[f]]=s.children?s.children.length:0}(o,r,a)),n.reflow(t.modified()).modifies(a).modifies("leaf")}});const Hg=["x","y","r","depth","children"];function Gg(t){di.call(this,t)}Gg.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Hg.length,default:Hg}]},V(Gg,di,{layout:function(){var t=null,n=1,e=1,r=qx;function i(a){const o=function(){let s=1;return()=>(s=(1664525*s+1013904223)%wD)/wD}();return a.x=n/2,a.y=e/2,t?a.eachBefore(CD(t)).eachAfter(Pg(r,.5,o)).eachBefore(ED(1)):a.eachBefore(CD(NM)).eachAfter(Pg(qx,1,o)).eachAfter(Pg(r,a.r/Math.min(n,e),o)).eachBefore(ED(Math.min(n,e)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(t=Xl(a),i):t},i.size=function(a){return arguments.length?(n=+a[0],e=+a[1],i):[n,e]},i.padding=function(a){return arguments.length?(r=typeof a=="function"?a:V8(+a),i):r},i},params:["radius","size","padding"],fields:Hg});const Vg=["x0","y0","x1","y1","depth","children"];function Yg(t){di.call(this,t)}function Xg(t){O.call(this,null,t)}Yg.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Vg.length,default:Vg}]},V(Yg,di,{layout:function(){var t=1,n=1,e=0,r=!1;function i(a){var o=a.height+1;return a.x0=a.y0=e,a.x1=t,a.y1=n/o,a.eachBefore(function(s,u){return function(l){l.children&&Jl(l,l.x0,s*(l.depth+1)/u,l.x1,s*(l.depth+2)/u);var c=l.x0,f=l.y0,d=l.x1-e,h=l.y1-e;d<c&&(c=d=(c+d)/2),h<f&&(f=h=(f+h)/2),l.x0=c,l.y0=f,l.x1=d,l.y1=h}}(n,o)),r&&a.eachBefore(Y8),a}return i.round=function(a){return arguments.length?(r=!!a,i):r},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(e=+a,i):e},i},params:["size","round","padding"],fields:Vg}),Xg.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},V(Xg,O,{transform(t,n){n.source||P("Stratify transform requires an upstream data source.");let e=this.value;const r=t.modified(),i=n.fork(n.ALL).materialize(n.SOURCE),a=!e||r||n.changed(n.ADD_REM)||n.modified(t.key.fields)||n.modified(t.parentKey.fields);return i.source=i.source.slice(),a&&(e=i.source.length?Ig(SD().id(t.key).parentId(t.parentKey)(i.source),t.key,Be):Ig(SD()([{}]),t.key,t.key)),i.source.root=this.value=e,i}});const BD={tidy:function(){var t=jM,n=1,e=1,r=null;function i(u){var l=function(y){for(var v,x,b,w,A,_=new Hf(y,0),k=[_];v=k.pop();)if(b=v._.children)for(v.children=new Array(A=b.length),w=A-1;w>=0;--w)k.push(x=v.children[w]=new Hf(b[w],w)),x.parent=v;return(_.parent=new Hf(null,0)).children=[_],_}(u);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),r)u.eachBefore(s);else{var c=u,f=u,d=u;u.eachBefore(function(y){y.x<c.x&&(c=y),y.x>f.x&&(f=y),y.depth>d.depth&&(d=y)});var h=c===f?1:t(c,f)/2,p=h-c.x,m=n/(f.x+h+p),g=e/(d.depth||1);u.eachBefore(function(y){y.x=(y.x+p)*m,y.y=y.depth*g})}return u}function a(u){var l=u.children,c=u.parent.children,f=u.i?c[u.i-1]:null;if(l){(function(h){for(var p,m=0,g=0,y=h.children,v=y.length;--v>=0;)(p=y[v]).z+=m,p.m+=m,m+=p.s+(g+=p.c)})(u);var d=(l[0].z+l[l.length-1].z)/2;f?(u.z=f.z+t(u._,f._),u.m=u.z-d):u.z=d}else f&&(u.z=f.z+t(u._,f._));u.parent.A=function(h,p,m){if(p){for(var g,y=h,v=h,x=p,b=y.parent.children[0],w=y.m,A=v.m,_=x.m,k=b.m;x=Ug(x),y=qg(y),x&&y;)b=qg(b),(v=Ug(v)).a=h,(g=x.z+_-y.z-w+t(x._,y._))>0&&(LM(qM(x,h,m),h,g),w+=g,A+=g),_+=x.m,w+=y.m,k+=b.m,A+=v.m;x&&!Ug(v)&&(v.t=x,v.m+=_-A),y&&!qg(b)&&(b.t=y,b.m+=w-k,m=h)}return m}(u,f,u.parent.A||c[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u){u.x*=n,u.y=u.depth*e}return i.separation=function(u){return arguments.length?(t=u,i):t},i.size=function(u){return arguments.length?(r=!1,n=+u[0],e=+u[1],i):r?null:[n,e]},i.nodeSize=function(u){return arguments.length?(r=!0,n=+u[0],e=+u[1],i):r?[n,e]:null},i},cluster:function(){var t=$M,n=1,e=1,r=!1;function i(a){var o,s=0;a.eachAfter(function(d){var h=d.children;h?(d.x=function(p){return p.reduce(SM,0)/p.length}(h),d.y=function(p){return 1+p.reduce(MM,0)}(h)):(d.x=o?s+=t(d,o):0,d.y=0,o=d)});var u=function(d){for(var h;h=d.children;)d=h[0];return d}(a),l=function(d){for(var h;h=d.children;)d=h[h.length-1];return d}(a),c=u.x-t(u,l)/2,f=l.x+t(l,u)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*n,d.y=(a.y-d.y)*e}:function(d){d.x=(d.x-c)/(f-c)*n,d.y=(1-(a.y?d.y/a.y:1))*e})}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}},Jg=["x","y","depth","children"];function Kg(t){di.call(this,t)}function Qg(t){O.call(this,[],t)}Kg.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:Jg.length,default:Jg}]},V(Kg,di,{layout(t){const n=t||"tidy";if(tt(BD,n))return BD[n]();P("Unrecognized Tree layout method: "+n)},params:["size","nodeSize"],fields:Jg}),Qg.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},V(Qg,O,{transform(t,n){const e=this.value,r=n.source&&n.source.root,i=n.fork(n.NO_SOURCE),a={};return r||P("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(i.rem=e,n.visit(n.SOURCE,o=>a[st(o)]=1),r.each(o=>{const s=o.data,u=o.parent&&o.parent.data;u&&a[st(s)]&&a[st(u)]&&i.add.push(St({source:u,target:s}))}),this.value=i.add):n.changed(n.MOD)&&(n.visit(n.MOD,o=>a[st(o)]=1),e.forEach(o=>{(a[st(o.source)]||a[st(o.target)])&&i.mod.push(o)})),i}});const zD={binary:function(t,n,e,r,i){var a,o,s=t.children,u=s.length,l=new Array(u+1);for(l[0]=o=a=0;a<u;++a)l[a+1]=o+=s[a].value;(function c(f,d,h,p,m,g,y){if(f>=d-1){var v=s[f];return v.x0=p,v.y0=m,v.x1=g,void(v.y1=y)}for(var x=l[f],b=h/2+x,w=f+1,A=d-1;w<A;){var _=w+A>>>1;l[_]<b?w=_+1:A=_}b-l[w-1]<l[w]-b&&f+1<w&&--w;var k=l[w]-x,D=h-k;if(g-p>y-m){var C=h?(p*D+g*k)/h:g;c(f,w,k,p,m,C,y),c(w,d,D,C,m,g,y)}else{var F=h?(m*D+y*k)/h:y;c(f,w,k,p,m,g,F),c(w,d,D,p,F,g,y)}})(0,u,t.value,n,e,r,i)},dice:Jl,slice:hp,slicedice:function(t,n,e,r,i){(1&t.depth?hp:Jl)(t,n,e,r,i)},squarify:t9,resquarify:UM},Zg=["x0","y0","x1","y1","depth","children"];function t1(t){di.call(this,t)}t1.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Zg.length,default:Zg}]},V(t1,di,{layout(){const t=Z8();return t.ratio=n=>{const e=t.tile();e.ratio&&t.tile(e.ratio(n))},t.method=n=>{tt(zD,n)?t.tile(zD[n]):P("Unrecognized Treemap layout method: "+n)},t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:Zg});const GM=Object.freeze(Object.defineProperty({__proto__:null,nest:Wg,pack:Gg,partition:Yg,stratify:Xg,tree:Kg,treelinks:Qg,treemap:t1},Symbol.toStringTag,{value:"Module"})),n1=4278190080;function e1(t,n,e){return new Uint32Array(t.getImageData(0,0,n,e).data.buffer)}function Gf(t,n,e){if(!n.length)return;const r=n[0].mark.marktype;r==="group"?n.forEach(i=>{i.items.forEach(a=>Gf(t,a.items,e))}):Ae[r].draw(t,{items:e?n.map(VM):n})}function VM(t){const n=nc(t,{});return n.stroke&&n.strokeOpacity!==0||n.fill&&n.fillOpacity!==0?{...n,strokeOpacity:1,stroke:"#000",fillOpacity:0}:n}const re=31,ra=new Uint32Array(33),rr=new Uint32Array(33);rr[0]=0,ra[0]=~rr[0];for(let t=1;t<=32;++t)rr[t]=rr[t-1]<<1|1,ra[t]=~rr[t];function YM(t,n,e){const r=Math.max(1,Math.sqrt(t*n/1e6)),i=~~((t+2*e+r)/r),a=~~((n+2*e+r)/r),o=s=>~~((s+e)/r);return o.invert=s=>s*r-e,o.bitmap=()=>function(s,u){const l=new Uint32Array(~~((s*u+32)/32));function c(d,h){l[d]|=h}function f(d,h){l[d]&=h}return{array:l,get:(d,h)=>{const p=h*s+d;return l[p>>>5]&1<<(p&re)},set:(d,h)=>{const p=h*s+d;c(p>>>5,1<<(p&re))},clear:(d,h)=>{const p=h*s+d;f(p>>>5,~(1<<(p&re)))},getRange:(d,h,p,m)=>{let g,y,v,x,b=m;for(;b>=h;--b)if(g=b*s+d,y=b*s+p,v=g>>>5,x=y>>>5,v===x){if(l[v]&ra[g&re]&rr[1+(y&re)])return!0}else{if(l[v]&ra[g&re]||l[x]&rr[1+(y&re)])return!0;for(let w=v+1;w<x;++w)if(l[w])return!0}return!1},setRange:(d,h,p,m)=>{let g,y,v,x,b;for(;h<=m;++h)if(g=h*s+d,y=h*s+p,v=g>>>5,x=y>>>5,v===x)c(v,ra[g&re]&rr[1+(y&re)]);else for(c(v,ra[g&re]),c(x,rr[1+(y&re)]),b=v+1;b<x;++b)c(b,4294967295)},clearRange:(d,h,p,m)=>{let g,y,v,x,b;for(;h<=m;++h)if(g=h*s+d,y=h*s+p,v=g>>>5,x=y>>>5,v===x)f(v,rr[g&re]|ra[1+(y&re)]);else for(f(v,rr[g&re]),f(x,ra[1+(y&re)]),b=v+1;b<x;++b)f(b,0)},outOfBounds:(d,h,p,m)=>d<0||h<0||m>=u||p>=s}}(i,a),o.ratio=r,o.padding=e,o.width=t,o.height=n,o}function Vf(t,n,e,r,i,a){let o=e/2;return t-o<0||t+o>i||n-(o=r/2)<0||n+o>a}function ia(t,n,e,r,i,a,o,s){const u=i*a/(2*r),l=t(n-u),c=t(n+u),f=t(e-(a/=2)),d=t(e+a);return o.outOfBounds(l,f,c,d)||o.getRange(l,f,c,d)||s&&s.getRange(l,f,c,d)}const XM=[-1,-1,1,1],JM=[-1,1,-1,1],KM=["right","center","left"],QM=["bottom","middle","top"];function OD(t,n,e,r,i,a,o,s,u,l,c,f){return!(i.outOfBounds(t,e,n,r)||(f&&a||i).getRange(t,e,n,r))}const ZM={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},tB={naive:function(t,n,e,r){const i=t.width,a=t.height;return function(o){const s=o.datum.datum.items[r].items,u=s.length,l=o.datum.fontSize,c=we.width(o.datum,o.datum.text);let f,d,h,p,m,g,y,v=0;for(let x=0;x<u;++x)f=s[x].x,h=s[x].y,d=s[x].x2===void 0?f:s[x].x2,p=s[x].y2===void 0?h:s[x].y2,m=(f+d)/2,g=(h+p)/2,y=Math.abs(d-f+p-h),y>=v&&(v=y,o.x=m,o.y=g);return m=c/2,g=l/2,f=o.x-m,d=o.x+m,h=o.y-g,p=o.y+g,o.align="center",f<0&&d<=i?o.align="left":0<=f&&i<d&&(o.align="right"),o.baseline="middle",h<0&&p<=a?o.baseline="top":0<=h&&a<p&&(o.baseline="bottom"),!0}},"reduced-search":function(t,n,e,r){const i=t.width,a=t.height,o=n[0],s=n[1];function u(l,c,f,d,h){const p=t.invert(l),m=t.invert(c);let g,y=f,v=a;if(!Vf(p,m,d,h,i,a)&&!ia(t,p,m,h,d,y,o,s)&&!ia(t,p,m,h,d,h,o,null)){for(;v-y>=1;)g=(y+v)/2,ia(t,p,m,h,d,g,o,s)?v=g:y=g;if(y>f)return[p,m,y,!0]}}return function(l){const c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,h=we.width(l.datum,l.datum.text);let p,m,g,y,v,x,b,w,A,_,k,D,C,F,E,$,M,S=e?d:0,B=!1,z=!1,j=0;for(let W=0;W<f;++W){for(p=c[W].x,g=c[W].y,m=c[W].x2===void 0?p:c[W].x2,y=c[W].y2===void 0?g:c[W].y2,p>m&&(M=p,p=m,m=M),g>y&&(M=g,g=y,y=M),A=t(p),k=t(m),_=~~((A+k)/2),D=t(g),F=t(y),C=~~((D+F)/2),b=_;b>=A;--b)for(w=C;w>=D;--w)$=u(b,w,S,h,d),$&&([l.x,l.y,S,B]=$);for(b=_;b<=k;++b)for(w=C;w<=F;++w)$=u(b,w,S,h,d),$&&([l.x,l.y,S,B]=$);B||e||(E=Math.abs(m-p+y-g),v=(p+m)/2,x=(g+y)/2,E>=j&&!Vf(v,x,h,d,i,a)&&!ia(t,v,x,d,h,d,o,null)&&(j=E,l.x=v,l.y=x,z=!0))}return!(!B&&!z)&&(v=h/2,x=d/2,o.setRange(t(l.x-v),t(l.y-x),t(l.x+v),t(l.y+x)),l.align="center",l.baseline="middle",!0)}},floodfill:function(t,n,e,r){const i=t.width,a=t.height,o=n[0],s=n[1],u=t.bitmap();return function(l){const c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,h=we.width(l.datum,l.datum.text),p=[];let m,g,y,v,x,b,w,A,_,k,D,C,F=e?d:0,E=!1,$=!1,M=0;for(let S=0;S<f;++S){for(m=c[S].x,y=c[S].y,g=c[S].x2===void 0?m:c[S].x2,v=c[S].y2===void 0?y:c[S].y2,p.push([t((m+g)/2),t((y+v)/2)]);p.length;)if([w,A]=p.pop(),!(o.get(w,A)||s.get(w,A)||u.get(w,A))){u.set(w,A);for(let B=0;B<4;++B)x=w+XM[B],b=A+JM[B],u.outOfBounds(x,b,x,b)||p.push([x,b]);if(x=t.invert(w),b=t.invert(A),_=F,k=a,!Vf(x,b,h,d,i,a)&&!ia(t,x,b,d,h,_,o,s)&&!ia(t,x,b,d,h,d,o,null)){for(;k-_>=1;)D=(_+k)/2,ia(t,x,b,d,h,D,o,s)?k=D:_=D;_>F&&(l.x=x,l.y=b,F=_,E=!0)}}E||e||(C=Math.abs(g-m+v-y),x=(m+g)/2,b=(y+v)/2,C>=M&&!Vf(x,b,h,d,i,a)&&!ia(t,x,b,d,h,d,o,null)&&(M=C,l.x=x,l.y=b,$=!0))}return!(!E&&!$)&&(x=h/2,b=d/2,o.setRange(t(l.x-x),t(l.y-b),t(l.x+x),t(l.y+b)),l.align="center",l.baseline="middle",!0)}}};function nB(t,n,e,r,i,a,o,s,u,l,c){if(!t.length)return t;const f=Math.max(r.length,i.length),d=function(F,E){const $=new Float64Array(E),M=F.length;for(let S=0;S<M;++S)$[S]=F[S]||0;for(let S=M;S<E;++S)$[S]=$[M-1];return $}(r,f),h=function(F,E){const $=new Int8Array(E),M=F.length;for(let S=0;S<M;++S)$[S]|=ZM[F[S]];for(let S=M;S<E;++S)$[S]=$[M-1];return $}(i,f),p=(b=t[0].datum)&&b.mark&&b.mark.marktype,m=p==="group"&&t[0].datum.items[u].marktype,g=m==="area",y=function(F,E,$,M){const S=B=>[B.x,B.x,B.x,B.y,B.y,B.y];return F?F==="line"||F==="area"?B=>S(B.datum):E==="line"?B=>{const z=B.datum.items[M].items;return S(z.length?z[$==="start"?0:z.length-1]:{x:NaN,y:NaN})}:B=>{const z=B.datum.bounds;return[z.x1,(z.x1+z.x2)/2,z.x2,z.y1,(z.y1+z.y2)/2,z.y2]}:S}(p,m,s,u),v=l===null||l===1/0,x=g&&c==="naive";var b;let w=-1,A=-1;const _=t.map(F=>{const E=v?we.width(F,F.text):void 0;return w=Math.max(w,E),A=Math.max(A,F.fontSize),{datum:F,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(F),textWidth:E}});l=l===null||l===1/0?Math.max(w,A)+Math.max(...r):l;const k=YM(n[0],n[1],l);let D;if(!x){e&&_.sort(($,M)=>e($.datum,M.datum));let F=!1;for(let $=0;$<h.length&&!F;++$)F=h[$]===5||d[$]<0;const E=(p&&o||g)&&t.map($=>$.datum);D=a.length||E?function($,M,S,B,z){const j=$.width,W=$.height,K=B||z,q=qi(j,W).getContext("2d"),at=qi(j,W).getContext("2d"),ot=K&&qi(j,W).getContext("2d");S.forEach(ti=>Gf(q,ti,!1)),Gf(at,M,!1),K&&Gf(ot,M,!0);const it=e1(q,j,W),mt=e1(at,j,W),pt=K&&e1(ot,j,W),X=$.bitmap(),Mt=K&&$.bitmap();let Tt,kt,Et,tn,nn,It,be,zn;for(kt=0;kt<W;++kt)for(Tt=0;Tt<j;++Tt)nn=kt*j+Tt,It=it[nn]&n1,zn=mt[nn]&n1,be=K&&pt[nn]&n1,(It||be||zn)&&(Et=$(Tt),tn=$(kt),z||!It&&!zn||X.set(Et,tn),K&&(It||be)&&Mt.set(Et,tn));return[X,Mt]}(k,E||[],a,F,g):function($,M){const S=$.bitmap();return(M||[]).forEach(B=>S.set($(B.boundary[0]),$(B.boundary[3]))),[S,void 0]}(k,o&&_)}const C=g?tB[c](k,D,o,u):function(F,E,$,M){const S=F.width,B=F.height,z=E[0],j=E[1],W=M.length;return function(K){const q=K.boundary,at=K.datum.fontSize;if(q[2]<0||q[5]<0||q[0]>S||q[3]>B)return!1;let ot,it,mt,pt,X,Mt,Tt,kt,Et,tn,nn,It,be,zn,ti,Je=K.textWidth??0;for(let Se=0;Se<W;++Se){if(ot=(3&$[Se])-1,it=($[Se]>>>2&3)-1,mt=ot===0&&it===0||M[Se]<0,pt=ot&&it?Math.SQRT1_2:1,X=M[Se]<0?-1:1,Mt=q[1+ot]+M[Se]*ot*pt,nn=q[4+it]+X*at*it/2+M[Se]*it*pt,kt=nn-at/2,Et=nn+at/2,It=F(Mt),zn=F(kt),ti=F(Et),!Je){if(!OD(It,It,zn,ti,z,j,0,0,0,0,0,mt))continue;Je=we.width(K.datum,K.datum.text)}if(tn=Mt+X*Je*ot/2,Mt=tn-Je/2,Tt=tn+Je/2,It=F(Mt),be=F(Tt),OD(It,be,zn,ti,z,j,0,0,0,0,0,mt))return K.x=ot?ot*X<0?Tt:Mt:tn,K.y=it?it*X<0?Et:kt:nn,K.align=KM[ot*X+1],K.baseline=QM[it*X+1],z.setRange(It,zn,be,ti),!0}return!1}}(k,D,h,d);return _.forEach(F=>F.opacity=+C(F)),_}const r1=["x","y","opacity","align","baseline"],ND=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function i1(t){O.call(this,null,t)}i1.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:ND},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:r1.length,default:r1}]},V(i1,O,{transform(t,n){const e=t.modified();if(!(e||n.changed(n.ADD_REM)||function(i){const a=t[i];return bt(a)&&n.modified(a.fields)}("sort")))return;t.size&&t.size.length===2||P("Size parameter should be specified as a [width, height] array.");const r=t.as||r1;return nB(n.materialize(n.SOURCE).source||[],t.size,t.sort,J(t.offset==null?1:t.offset),J(t.anchor||ND),t.avoidMarks||[],t.avoidBaseMark!==!1,t.lineAnchor||"end",t.markIndex||0,t.padding===void 0?0:t.padding,t.method||"naive").forEach(i=>{const a=i.datum;a[r[0]]=i.x,a[r[1]]=i.y,a[r[2]]=i.opacity,a[r[3]]=i.align,a[r[4]]=i.baseline}),n.reflow(e).modifies(r)}});const eB=Object.freeze(Object.defineProperty({__proto__:null,label:i1},Symbol.toStringTag,{value:"Module"}));function RD(t,n){var e,r,i,a,o,s,u=[],l=function(c){return c(a)};if(n==null)u.push(t);else for(e={},r=0,i=t.length;r<i;++r)a=t[r],(s=e[o=n.map(l)])||(e[o]=s=[],s.dims=o,u.push(s)),s.push(a);return u}function a1(t){O.call(this,null,t)}a1.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},V(a1,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=RD(n.materialize(n.SOURCE).source,t.groupby),i=(t.groupby||[]).map(en),a=i.length,o=t.as||[en(t.x),en(t.y)],s=[];r.forEach(u=>{_2(u,t.x,t.y,t.bandwidth||.3).forEach(l=>{const c={};for(let f=0;f<a;++f)c[i[f]]=u.dims[f];c[o[0]]=l[0],c[o[1]]=l[1],s.push(St(c))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=s}return e}});const o1={constant:Tp,linear:Pp,log:b2,exp:x2,pow:w2,quad:jp,poly:A2};function s1(t){O.call(this,null,t)}s1.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(o1)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},V(s1,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=RD(n.materialize(n.SOURCE).source,t.groupby),i=(t.groupby||[]).map(en),a=t.method||"linear",o=t.order==null?3:t.order,s=((d,h)=>d==="poly"?h:d==="quad"?2:1)(a,o),u=t.as||[en(t.x),en(t.y)],l=o1[a],c=[];let f=t.extent;tt(o1,a)||P("Invalid regression method: "+a),f!=null&&a==="log"&&f[0]<=0&&(n.dataflow.warn("Ignoring extent with values <= 0 for log regression."),f=null),r.forEach(d=>{if(d.length<=s)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const h=l(d,t.x,t.y,o);if(t.params)return void c.push(St({keys:d.dims,coef:h.coef,rSquared:h.rSquared}));const p=f||kr(d,t.x),m=g=>{const y={};for(let v=0;v<i.length;++v)y[i[v]]=d.dims[v];y[u[0]]=g[0],y[u[1]]=g[1],c.push(St(y))};a==="linear"||a==="constant"?p.forEach(g=>m([g,h.predict(g)])):fc(h.predict,p,25,200).forEach(m)}),this.value&&(e.rem=this.value),this.value=e.add=e.source=c}return e}});const rB=Object.freeze(Object.defineProperty({__proto__:null,loess:a1,regression:s1},Symbol.toStringTag,{value:"Module"})),Rn=134217729;function u1(t,n,e,r,i){let a,o,s,u,l=n[0],c=r[0],f=0,d=0;c>l==c>-l?(a=l,l=n[++f]):(a=c,c=r[++d]);let h=0;if(f<t&&d<e)for(c>l==c>-l?(o=l+a,s=a-(o-l),l=n[++f]):(o=c+a,s=a-(o-c),c=r[++d]),a=o,s!==0&&(i[h++]=s);f<t&&d<e;)c>l==c>-l?(o=a+l,u=o-a,s=a-(o-u)+(l-u),l=n[++f]):(o=a+c,u=o-a,s=a-(o-u)+(c-u),c=r[++d]),a=o,s!==0&&(i[h++]=s);for(;f<t;)o=a+l,u=o-a,s=a-(o-u)+(l-u),l=n[++f],a=o,s!==0&&(i[h++]=s);for(;d<e;)o=a+c,u=o-a,s=a-(o-u)+(c-u),c=r[++d],a=o,s!==0&&(i[h++]=s);return a===0&&h!==0||(i[h++]=a),h}function ju(t){return new Float64Array(t)}const Ko=ju(4),TD=ju(8),PD=ju(12),jD=ju(16),ie=ju(4);function Yf(t,n,e,r,i,a){const o=(n-a)*(e-i),s=(t-i)*(r-a),u=o-s,l=Math.abs(o+s);return Math.abs(u)>=33306690738754716e-32*l?u:-function(c,f,d,h,p,m,g){let y,v,x,b,w,A,_,k,D,C,F,E,$,M,S,B,z,j;const W=c-p,K=d-p,q=f-m,at=h-m;M=W*at,A=Rn*W,_=A-(A-W),k=W-_,A=Rn*at,D=A-(A-at),C=at-D,S=k*C-(M-_*D-k*D-_*C),B=q*K,A=Rn*q,_=A-(A-q),k=q-_,A=Rn*K,D=A-(A-K),C=K-D,z=k*C-(B-_*D-k*D-_*C),F=S-z,w=S-F,Ko[0]=S-(F+w)+(w-z),E=M+F,w=E-M,$=M-(E-w)+(F-w),F=$-B,w=$-F,Ko[1]=$-(F+w)+(w-B),j=E+F,w=j-E,Ko[2]=E-(j-w)+(F-w),Ko[3]=j;let ot=function(Mt,Tt){let kt=Tt[0];for(let Et=1;Et<Mt;Et++)kt+=Tt[Et];return kt}(4,Ko),it=22204460492503146e-32*g;if(ot>=it||-ot>=it||(w=c-W,y=c-(W+w)+(w-p),w=d-K,x=d-(K+w)+(w-p),w=f-q,v=f-(q+w)+(w-m),w=h-at,b=h-(at+w)+(w-m),y===0&&v===0&&x===0&&b===0)||(it=11093356479670487e-47*g+33306690738754706e-32*Math.abs(ot),ot+=W*b+at*y-(q*x+K*v),ot>=it||-ot>=it))return ot;M=y*at,A=Rn*y,_=A-(A-y),k=y-_,A=Rn*at,D=A-(A-at),C=at-D,S=k*C-(M-_*D-k*D-_*C),B=v*K,A=Rn*v,_=A-(A-v),k=v-_,A=Rn*K,D=A-(A-K),C=K-D,z=k*C-(B-_*D-k*D-_*C),F=S-z,w=S-F,ie[0]=S-(F+w)+(w-z),E=M+F,w=E-M,$=M-(E-w)+(F-w),F=$-B,w=$-F,ie[1]=$-(F+w)+(w-B),j=E+F,w=j-E,ie[2]=E-(j-w)+(F-w),ie[3]=j;const mt=u1(4,Ko,4,ie,TD);M=W*b,A=Rn*W,_=A-(A-W),k=W-_,A=Rn*b,D=A-(A-b),C=b-D,S=k*C-(M-_*D-k*D-_*C),B=q*x,A=Rn*q,_=A-(A-q),k=q-_,A=Rn*x,D=A-(A-x),C=x-D,z=k*C-(B-_*D-k*D-_*C),F=S-z,w=S-F,ie[0]=S-(F+w)+(w-z),E=M+F,w=E-M,$=M-(E-w)+(F-w),F=$-B,w=$-F,ie[1]=$-(F+w)+(w-B),j=E+F,w=j-E,ie[2]=E-(j-w)+(F-w),ie[3]=j;const pt=u1(mt,TD,4,ie,PD);M=y*b,A=Rn*y,_=A-(A-y),k=y-_,A=Rn*b,D=A-(A-b),C=b-D,S=k*C-(M-_*D-k*D-_*C),B=v*x,A=Rn*v,_=A-(A-v),k=v-_,A=Rn*x,D=A-(A-x),C=x-D,z=k*C-(B-_*D-k*D-_*C),F=S-z,w=S-F,ie[0]=S-(F+w)+(w-z),E=M+F,w=E-M,$=M-(E-w)+(F-w),F=$-B,w=$-F,ie[1]=$-(F+w)+(w-B),j=E+F,w=j-E,ie[2]=E-(j-w)+(F-w),ie[3]=j;const X=u1(pt,PD,4,ie,jD);return jD[X-1]}(t,n,e,r,i,a,l)}const LD=Math.pow(2,-52),Xf=new Uint32Array(512);class Nh{static from(n,e=oB,r=sB){const i=n.length,a=new Float64Array(2*i);for(let o=0;o<i;o++){const s=n[o];a[2*o]=e(s),a[2*o+1]=r(s)}return new Nh(a)}constructor(n){const e=n.length>>1;if(e>0&&typeof n[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=n;const r=Math.max(2*e-5,0);this._triangles=new Uint32Array(3*r),this._halfedges=new Int32Array(3*r),this._hashSize=Math.ceil(Math.sqrt(e)),this._hullPrev=new Uint32Array(e),this._hullNext=new Uint32Array(e),this._hullTri=new Uint32Array(e),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(e),this._dists=new Float64Array(e),this.update()}update(){const{coords:n,_hullPrev:e,_hullNext:r,_hullTri:i,_hullHash:a}=this,o=n.length>>1;let s=1/0,u=1/0,l=-1/0,c=-1/0;for(let D=0;D<o;D++){const C=n[2*D],F=n[2*D+1];C<s&&(s=C),F<u&&(u=F),C>l&&(l=C),F>c&&(c=F),this._ids[D]=D}const f=(s+l)/2,d=(u+c)/2;let h,p,m;for(let D=0,C=1/0;D<o;D++){const F=l1(f,d,n[2*D],n[2*D+1]);F<C&&(h=D,C=F)}const g=n[2*h],y=n[2*h+1];for(let D=0,C=1/0;D<o;D++){if(D===h)continue;const F=l1(g,y,n[2*D],n[2*D+1]);F<C&&F>0&&(p=D,C=F)}let v=n[2*p],x=n[2*p+1],b=1/0;for(let D=0;D<o;D++){if(D===h||D===p)continue;const C=aB(g,y,v,x,n[2*D],n[2*D+1]);C<b&&(m=D,b=C)}let w=n[2*m],A=n[2*m+1];if(b===1/0){for(let F=0;F<o;F++)this._dists[F]=n[2*F]-n[0]||n[2*F+1]-n[1];Qo(this._ids,this._dists,0,o-1);const D=new Uint32Array(o);let C=0;for(let F=0,E=-1/0;F<o;F++){const $=this._ids[F],M=this._dists[$];M>E&&(D[C++]=$,E=M)}return this.hull=D.subarray(0,C),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Yf(g,y,v,x,w,A)<0){const D=p,C=v,F=x;p=m,v=w,x=A,m=D,w=C,A=F}const _=function(D,C,F,E,$,M){const S=F-D,B=E-C,z=$-D,j=M-C,W=S*S+B*B,K=z*z+j*j,q=.5/(S*j-B*z),at=D+(j*W-B*K)*q,ot=C+(S*K-z*W)*q;return{x:at,y:ot}}(g,y,v,x,w,A);this._cx=_.x,this._cy=_.y;for(let D=0;D<o;D++)this._dists[D]=l1(n[2*D],n[2*D+1],_.x,_.y);Qo(this._ids,this._dists,0,o-1),this._hullStart=h;let k=3;r[h]=e[m]=p,r[p]=e[h]=m,r[m]=e[p]=h,i[h]=0,i[p]=1,i[m]=2,a.fill(-1),a[this._hashKey(g,y)]=h,a[this._hashKey(v,x)]=p,a[this._hashKey(w,A)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let D,C,F=0;F<this._ids.length;F++){const E=this._ids[F],$=n[2*E],M=n[2*E+1];if(F>0&&Math.abs($-D)<=LD&&Math.abs(M-C)<=LD||(D=$,C=M,E===h||E===p||E===m))continue;let S=0;for(let K=0,q=this._hashKey($,M);K<this._hashSize&&(S=a[(q+K)%this._hashSize],S===-1||S===r[S]);K++);S=e[S];let B,z=S;for(;B=r[z],Yf($,M,n[2*z],n[2*z+1],n[2*B],n[2*B+1])>=0;)if(z=B,z===S){z=-1;break}if(z===-1)continue;let j=this._addTriangle(z,E,r[z],-1,-1,i[z]);i[E]=this._legalize(j+2),i[z]=j,k++;let W=r[z];for(;B=r[W],Yf($,M,n[2*W],n[2*W+1],n[2*B],n[2*B+1])<0;)j=this._addTriangle(W,E,B,i[E],-1,i[W]),i[E]=this._legalize(j+2),r[W]=W,k--,W=B;if(z===S)for(;B=e[z],Yf($,M,n[2*B],n[2*B+1],n[2*z],n[2*z+1])<0;)j=this._addTriangle(B,E,z,-1,i[z],i[B]),this._legalize(j+2),i[B]=j,r[z]=z,k--,z=B;this._hullStart=e[E]=z,r[z]=e[W]=E,r[E]=W,a[this._hashKey($,M)]=E,a[this._hashKey(n[2*z],n[2*z+1])]=z}this.hull=new Uint32Array(k);for(let D=0,C=this._hullStart;D<k;D++)this.hull[D]=C,C=r[C];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(n,e){return Math.floor(function(r,i){const a=r/(Math.abs(r)+Math.abs(i));return(i>0?3-a:1+a)/4}(n-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(n){const{_triangles:e,_halfedges:r,coords:i}=this;let a=0,o=0;for(;;){const s=r[n],u=n-n%3;if(o=u+(n+2)%3,s===-1){if(a===0)break;n=Xf[--a];continue}const l=s-s%3,c=u+(n+1)%3,f=l+(s+2)%3,d=e[o],h=e[n],p=e[c],m=e[f];if(iB(i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){e[n]=m,e[s]=d;const g=r[f];if(g===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=n;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(n,g),this._link(s,r[o]),this._link(o,f);const y=l+(s+1)%3;a<Xf.length&&(Xf[a++]=y)}else{if(a===0)break;n=Xf[--a]}}return o}_link(n,e){this._halfedges[n]=e,e!==-1&&(this._halfedges[e]=n)}_addTriangle(n,e,r,i,a,o){const s=this.trianglesLen;return this._triangles[s]=n,this._triangles[s+1]=e,this._triangles[s+2]=r,this._link(s,i),this._link(s+1,a),this._link(s+2,o),this.trianglesLen+=3,s}}function l1(t,n,e,r){const i=t-e,a=n-r;return i*i+a*a}function iB(t,n,e,r,i,a,o,s){const u=t-o,l=n-s,c=e-o,f=r-s,d=i-o,h=a-s,p=c*c+f*f,m=d*d+h*h;return u*(f*m-p*h)-l*(c*m-p*d)+(u*u+l*l)*(c*h-f*d)<0}function aB(t,n,e,r,i,a){const o=e-t,s=r-n,u=i-t,l=a-n,c=o*o+s*s,f=u*u+l*l,d=.5/(o*l-s*u),h=(l*c-s*f)*d,p=(o*f-u*c)*d;return h*h+p*p}function Qo(t,n,e,r){if(r-e<=20)for(let i=e+1;i<=r;i++){const a=t[i],o=n[a];let s=i-1;for(;s>=e&&n[t[s]]>o;)t[s+1]=t[s--];t[s+1]=a}else{let i=e+1,a=r;Lu(t,e+r>>1,i),n[t[e]]>n[t[r]]&&Lu(t,e,r),n[t[i]]>n[t[r]]&&Lu(t,i,r),n[t[e]]>n[t[i]]&&Lu(t,e,i);const o=t[i],s=n[o];for(;;){do i++;while(n[t[i]]<s);do a--;while(n[t[a]]>s);if(a<i)break;Lu(t,i,a)}t[e+1]=t[a],t[a]=o,r-i+1>=a-e?(Qo(t,n,i,r),Qo(t,n,e,a-1)):(Qo(t,n,e,a-1),Qo(t,n,i,r))}}function Lu(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function oB(t){return t[0]}function sB(t){return t[1]}const qD=1e-6;class Ha{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(n,e){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(n,e){this._+=`L${this._x1=+n},${this._y1=+e}`}arc(n,e,r){const i=(n=+n)+(r=+r),a=e=+e;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${a}`:(Math.abs(this._x1-i)>qD||Math.abs(this._y1-a)>qD)&&(this._+="L"+i+","+a),r&&(this._+=`A${r},${r},0,1,1,${n-r},${e}A${r},${r},0,1,1,${this._x1=i},${this._y1=a}`)}rect(n,e,r,i){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class c1{constructor(){this._=[]}moveTo(n,e){this._.push([n,e])}closePath(){this._.push(this._[0].slice())}lineTo(n,e){this._.push([n,e])}value(){return this._.length?this._:null}}let uB=class{constructor(t,[n,e,r,i]=[0,0,960,500]){if(!((r=+r)>=(n=+n)&&(i=+i)>=(e=+e)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=n,this.ymax=i,this.ymin=e,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:e},vectors:r}=this;let i,a;const o=this.circumcenters=this._circumcenters.subarray(0,e.length/3*2);for(let p,m,g=0,y=0,v=e.length;g<v;g+=3,y+=2){const x=2*e[g],b=2*e[g+1],w=2*e[g+2],A=t[x],_=t[x+1],k=t[b],D=t[b+1],C=t[w],F=t[w+1],E=k-A,$=D-_,M=C-A,S=F-_,B=2*(E*S-$*M);if(Math.abs(B)<1e-9){if(i===void 0){i=a=0;for(const j of n)i+=t[2*j],a+=t[2*j+1];i/=n.length,a/=n.length}const z=1e9*Math.sign((i-A)*S-(a-_)*M);p=(A+C)/2-z*S,m=(_+F)/2+z*M}else{const z=1/B,j=E*E+$*$,W=M*M+S*S;p=A+(S*j-$*W)*z,m=_+(E*W-M*j)*z}o[y]=p,o[y+1]=m}let s,u,l,c=n[n.length-1],f=4*c,d=t[2*c],h=t[2*c+1];r.fill(0);for(let p=0;p<n.length;++p)c=n[p],s=f,u=d,l=h,f=4*c,d=t[2*c],h=t[2*c+1],r[s+2]=r[f]=l-h,r[s+3]=r[f+1]=d-u}render(t){const n=t==null?t=new Ha:void 0,{delaunay:{halfedges:e,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let l=0,c=e.length;l<c;++l){const f=e[l];if(f<l)continue;const d=2*Math.floor(l/3),h=2*Math.floor(f/3),p=a[d],m=a[d+1],g=a[h],y=a[h+1];this._renderSegment(p,m,g,y,t)}let s,u=i[i.length-1];for(let l=0;l<i.length;++l){s=u,u=i[l];const c=2*Math.floor(r[u]/3),f=a[c],d=a[c+1],h=4*s,p=this._project(f,d,o[h+2],o[h+3]);p&&this._renderSegment(f,d,p[0],p[1],t)}return n&&n.value()}renderBounds(t){const n=t==null?t=new Ha:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){const e=n==null?n=new Ha:void 0,r=this._clip(t);if(r===null||!r.length)return;n.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let a=2;a<i;a+=2)r[a]===r[a-2]&&r[a+1]===r[a-1]||n.lineTo(r[a],r[a+1]);return n.closePath(),e&&e.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let n=0,e=t.length/2;n<e;++n){const r=this.cellPolygon(n);r&&(r.index=n,yield r)}}cellPolygon(t){const n=new c1;return this.renderCell(t,n),n.value()}_renderSegment(t,n,e,r,i){let a;const o=this._regioncode(t,n),s=this._regioncode(e,r);o===0&&s===0?(i.moveTo(t,n),i.lineTo(e,r)):(a=this._clipSegment(t,n,e,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(t,n,e){return(n=+n)==n&&(e=+e)==e&&this.delaunay._step(t,n,e)===t}*neighbors(t){const n=this._clip(t);if(n)for(const e of this.delaunay.neighbors(t)){const r=this._clip(e);if(r){t:for(let i=0,a=n.length;i<a;i+=2)for(let o=0,s=r.length;o<s;o+=2)if(n[i]===r[o]&&n[i+1]===r[o+1]&&n[(i+2)%a]===r[(o+s-2)%s]&&n[(i+3)%a]===r[(o+s-1)%s]){yield e;break t}}}}_cell(t){const{circumcenters:n,delaunay:{inedges:e,halfedges:r,triangles:i}}=this,a=e[t];if(a===-1)return null;const o=[];let s=a;do{const u=Math.floor(s/3);if(o.push(n[2*u],n[2*u+1]),s=s%3==2?s-2:s+1,i[s]!==t)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(t){if(t===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(t);if(n===null)return null;const{vectors:e}=this,r=4*t;return this._simplify(e[r]||e[r+1]?this._clipInfinite(t,n,e[r],e[r+1],e[r+2],e[r+3]):this._clipFinite(t,n))}_clipFinite(t,n){const e=n.length;let r,i,a,o,s=null,u=n[e-2],l=n[e-1],c=this._regioncode(u,l),f=0;for(let d=0;d<e;d+=2)if(r=u,i=l,u=n[d],l=n[d+1],a=c,c=this._regioncode(u,l),a===0&&c===0)o=f,f=0,s?s.push(u,l):s=[u,l];else{let h,p,m,g,y;if(a===0){if((h=this._clipSegment(r,i,u,l,a,c))===null)continue;[p,m,g,y]=h}else{if((h=this._clipSegment(u,l,r,i,c,a))===null)continue;[g,y,p,m]=h,o=f,f=this._edgecode(p,m),o&&f&&this._edge(t,o,f,s,s.length),s?s.push(p,m):s=[p,m]}o=f,f=this._edgecode(g,y),o&&f&&this._edge(t,o,f,s,s.length),s?s.push(g,y):s=[g,y]}if(s)o=f,f=this._edgecode(s[0],s[1]),o&&f&&this._edge(t,o,f,s,s.length);else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return s}_clipSegment(t,n,e,r,i,a){const o=i<a;for(o&&([t,n,e,r,i,a]=[e,r,t,n,a,i]);;){if(i===0&&a===0)return o?[e,r,t,n]:[t,n,e,r];if(i&a)return null;let s,u,l=i||a;8&l?(s=t+(e-t)*(this.ymax-n)/(r-n),u=this.ymax):4&l?(s=t+(e-t)*(this.ymin-n)/(r-n),u=this.ymin):2&l?(u=n+(r-n)*(this.xmax-t)/(e-t),s=this.xmax):(u=n+(r-n)*(this.xmin-t)/(e-t),s=this.xmin),i?(t=s,n=u,i=this._regioncode(t,n)):(e=s,r=u,a=this._regioncode(e,r))}}_clipInfinite(t,n,e,r,i,a){let o,s=Array.from(n);if((o=this._project(s[0],s[1],e,r))&&s.unshift(o[0],o[1]),(o=this._project(s[s.length-2],s[s.length-1],i,a))&&s.push(o[0],o[1]),s=this._clipFinite(t,s))for(let u,l=0,c=s.length,f=this._edgecode(s[c-2],s[c-1]);l<c;l+=2)u=f,f=this._edgecode(s[l],s[l+1]),u&&f&&(l=this._edge(t,u,f,s,l),c=s.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(t,n,e,r,i){for(;n!==e;){let a,o;switch(n){case 5:n=4;continue;case 4:n=6,a=this.xmax,o=this.ymin;break;case 6:n=2;continue;case 2:n=10,a=this.xmax,o=this.ymax;break;case 10:n=8;continue;case 8:n=9,a=this.xmin,o=this.ymax;break;case 9:n=1;continue;case 1:n=5,a=this.xmin,o=this.ymin}r[i]===a&&r[i+1]===o||!this.contains(t,a,o)||(r.splice(i,0,a,o),i+=2)}return i}_project(t,n,e,r){let i,a,o,s=1/0;if(r<0){if(n<=this.ymin)return null;(i=(this.ymin-n)/r)<s&&(o=this.ymin,a=t+(s=i)*e)}else if(r>0){if(n>=this.ymax)return null;(i=(this.ymax-n)/r)<s&&(o=this.ymax,a=t+(s=i)*e)}if(e>0){if(t>=this.xmax)return null;(i=(this.xmax-t)/e)<s&&(a=this.xmax,o=n+(s=i)*r)}else if(e<0){if(t<=this.xmin)return null;(i=(this.xmin-t)/e)<s&&(a=this.xmin,o=n+(s=i)*r)}return[a,o]}_edgecode(t,n){return(t===this.xmin?1:t===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(t,n){return(t<this.xmin?1:t>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n<t.length;n+=2){const e=(n+2)%t.length,r=(n+4)%t.length;(t[n]===t[e]&&t[e]===t[r]||t[n+1]===t[e+1]&&t[e+1]===t[r+1])&&(t.splice(e,2),n-=2)}t.length||(t=null)}return t}};const lB=2*Math.PI,Zo=Math.pow;function cB(t){return t[0]}function fB(t){return t[1]}function dB(t,n,e){return[t+Math.sin(t+n)*e,n+Math.cos(t-n)*e]}class Pb{static from(n,e=cB,r=fB,i){return new Pb("length"in n?function(a,o,s,u){const l=a.length,c=new Float64Array(2*l);for(let f=0;f<l;++f){const d=a[f];c[2*f]=o.call(u,d,f,a),c[2*f+1]=s.call(u,d,f,a)}return c}(n,e,r,i):Float64Array.from(function*(a,o,s,u){let l=0;for(const c of a)yield o.call(u,c,l,a),yield s.call(u,c,l,a),++l}(n,e,r,i)))}constructor(n){this._delaunator=new Nh(n),this.inedges=new Int32Array(n.length/2),this._hullIndex=new Int32Array(n.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const n=this._delaunator,e=this.points;if(n.hull&&n.hull.length>2&&function(u){const{triangles:l,coords:c}=u;for(let f=0;f<l.length;f+=3){const d=2*l[f],h=2*l[f+1],p=2*l[f+2];if((c[p]-c[d])*(c[h+1]-c[d+1])-(c[h]-c[d])*(c[p+1]-c[d+1])>1e-10)return!1}return!0}(n)){this.collinear=Int32Array.from({length:e.length/2},(d,h)=>h).sort((d,h)=>e[2*d]-e[2*h]||e[2*d+1]-e[2*h+1]);const u=this.collinear[0],l=this.collinear[this.collinear.length-1],c=[e[2*u],e[2*u+1],e[2*l],e[2*l+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,h=e.length/2;d<h;++d){const p=dB(e[2*d],e[2*d+1],f);e[2*d]=p[0],e[2*d+1]=p[1]}this._delaunator=new Nh(e)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,a=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let u=0,l=r.length;u<l;++u){const c=a[u%3==2?u-2:u+1];r[u]!==-1&&o[c]!==-1||(o[c]=u)}for(let u=0,l=i.length;u<l;++u)s[i[u]]=u;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],o[i[0]]=1,i.length===2&&(o[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(n){return new uB(this,n)}*neighbors(n){const{inedges:e,hull:r,_hullIndex:i,halfedges:a,triangles:o,collinear:s}=this;if(s){const f=s.indexOf(n);return f>0&&(yield s[f-1]),void(f<s.length-1&&(yield s[f+1]))}const u=e[n];if(u===-1)return;let l=u,c=-1;do{if(yield c=o[l],l=l%3==2?l-2:l+1,o[l]!==n)return;if(l=a[l],l===-1){const f=r[(i[n]+1)%r.length];return void(f!==c&&(yield f))}}while(l!==u)}find(n,e,r=0){if((n=+n)!=n||(e=+e)!=e)return-1;const i=r;let a;for(;(a=this._step(r,n,e))>=0&&a!==r&&a!==i;)r=a;return a}_step(n,e,r){const{inedges:i,hull:a,_hullIndex:o,halfedges:s,triangles:u,points:l}=this;if(i[n]===-1||!l.length)return(n+1)%(l.length>>1);let c=n,f=Zo(e-l[2*n],2)+Zo(r-l[2*n+1],2);const d=i[n];let h=d;do{let p=u[h];const m=Zo(e-l[2*p],2)+Zo(r-l[2*p+1],2);if(m<f&&(f=m,c=p),h=h%3==2?h-2:h+1,u[h]!==n)break;if(h=s[h],h===-1){if(h=a[(o[n]+1)%a.length],h!==p&&Zo(e-l[2*h],2)+Zo(r-l[2*h+1],2)<f)return h;break}}while(h!==d);return c}render(n){const e=n==null?n=new Ha:void 0,{points:r,halfedges:i,triangles:a}=this;for(let o=0,s=i.length;o<s;++o){const u=i[o];if(u<o)continue;const l=2*a[o],c=2*a[u];n.moveTo(r[l],r[l+1]),n.lineTo(r[c],r[c+1])}return this.renderHull(n),e&&e.value()}renderPoints(n,e){e!==void 0||n&&typeof n.moveTo=="function"||(e=n,n=null),e=e==null?2:+e;const r=n==null?n=new Ha:void 0,{points:i}=this;for(let a=0,o=i.length;a<o;a+=2){const s=i[a],u=i[a+1];n.moveTo(s+e,u),n.arc(s,u,e,0,lB)}return r&&r.value()}renderHull(n){const e=n==null?n=new Ha:void 0,{hull:r,points:i}=this,a=2*r[0],o=r.length;n.moveTo(i[a],i[a+1]);for(let s=1;s<o;++s){const u=2*r[s];n.lineTo(i[u],i[u+1])}return n.closePath(),e&&e.value()}hullPolygon(){const n=new c1;return this.renderHull(n),n.value()}renderTriangle(n,e){const r=e==null?e=new Ha:void 0,{points:i,triangles:a}=this,o=2*a[n*=3],s=2*a[n+1],u=2*a[n+2];return e.moveTo(i[o],i[o+1]),e.lineTo(i[s],i[s+1]),e.lineTo(i[u],i[u+1]),e.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:n}=this;for(let e=0,r=n.length/3;e<r;++e)yield this.trianglePolygon(e)}trianglePolygon(n){const e=new c1;return this.renderTriangle(n,e),e.value()}}function f1(t){O.call(this,null,t)}f1.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};const hB=[-1e5,-1e5,1e5,1e5];function pB(t){const n=t[0][0],e=t[0][1];let r=t.length-1;for(;t[r][0]===n&&t[r][1]===e;--r);return"M"+t.slice(0,r+1).join("L")+"Z"}function mB(t){return t.length===2&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]}V(f1,O,{transform(t,n){const e=t.as||"path",r=n.source;if(!r||!r.length)return n;let i=t.size;i=i?[0,0,i[0],i[1]]:(i=t.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:hB;const a=this.value=Pb.from(r,t.x,t.y).voronoi(i);for(let o=0,s=r.length;o<s;++o){const u=a.cellPolygon(o);r[o][e]=u&&!mB(u)?pB(u):null}return n.reflow(t.modified()).modifies(e)}});const gB=Object.freeze(Object.defineProperty({__proto__:null,voronoi:f1},Symbol.toStringTag,{value:"Module"}));var d1=Math.PI/180,Jf=2048;function yB(){var t,n,e,r,i,a,o,s=[256,256],u=UD,l=[],c=Math.random,f={};function d(h,p,m){for(var g,y,v,x=p.x,b=p.y,w=Math.hypot(s[0],s[1]),A=u(s),_=c()<.5?1:-1,k=-_;(g=A(k+=_))&&(y=~~g[0],v=~~g[1],!(Math.min(Math.abs(y),Math.abs(v))>=w));)if(p.x=x+y,p.y=b+v,!(p.x+p.x0<0||p.y+p.y0<0||p.x+p.x1>s[0]||p.y+p.y1>s[1])&&(!m||!bB(p,h,s[0]))&&(!m||wB(p,m))){for(var D,C=p.sprite,F=p.width>>5,E=s[0]>>5,$=p.x-(F<<4),M=127&$,S=32-M,B=p.y1-p.y0,z=(p.y+p.y0)*E+($>>5),j=0;j<B;j++){D=0;for(var W=0;W<=F;W++)h[z+W]|=D<<S|(W<F?(D=C[j*F+W])>>>M:0);z+=E}return p.sprite=null,!0}return!1}return f.layout=function(){for(var h=function(w){w.width=w.height=1;var A=Math.sqrt(w.getContext("2d").getImageData(0,0,1,1).data.length>>2);w.width=2048/A,w.height=Jf/A;var _=w.getContext("2d");return _.fillStyle=_.strokeStyle="red",_.textAlign="center",{context:_,ratio:A}}(qi()),p=function(w){for(var A=[],_=-1;++_<w;)A[_]=0;return A}((s[0]>>5)*s[1]),m=null,g=l.length,y=-1,v=[],x=l.map(w=>({text:t(w),font:n(w),style:r(w),weight:i(w),rotate:a(w),size:~~(e(w)+1e-14),padding:o(w),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:w})).sort((w,A)=>A.size-w.size);++y<g;){var b=x[y];b.x=s[0]*(c()+.5)>>1,b.y=s[1]*(c()+.5)>>1,vB(h,b,x,y),b.hasText&&d(p,b,m)&&(v.push(b),m?xB(m,b):m=[{x:b.x+b.x0,y:b.y+b.y0},{x:b.x+b.x1,y:b.y+b.y1}],b.x-=s[0]>>1,b.y-=s[1]>>1)}return v},f.words=function(h){return arguments.length?(l=h,f):l},f.size=function(h){return arguments.length?(s=[+h[0],+h[1]],f):s},f.font=function(h){return arguments.length?(n=Ga(h),f):n},f.fontStyle=function(h){return arguments.length?(r=Ga(h),f):r},f.fontWeight=function(h){return arguments.length?(i=Ga(h),f):i},f.rotate=function(h){return arguments.length?(a=Ga(h),f):a},f.text=function(h){return arguments.length?(t=Ga(h),f):t},f.spiral=function(h){return arguments.length?(u=AB[h]||h,f):u},f.fontSize=function(h){return arguments.length?(e=Ga(h),f):e},f.padding=function(h){return arguments.length?(o=Ga(h),f):o},f.random=function(h){return arguments.length?(c=h,f):c},f}function vB(t,n,e,r){if(!n.sprite){var i=t.context,a=t.ratio;i.clearRect(0,0,2048/a,Jf/a);var o,s,u,l,c,f=0,d=0,h=0,p=e.length;for(--r;++r<p;){if(n=e[r],i.save(),i.font=n.style+" "+n.weight+" "+~~((n.size+1)/a)+"px "+n.font,o=i.measureText(n.text+"m").width*a,u=n.size<<1,n.rotate){var m=Math.sin(n.rotate*d1),g=Math.cos(n.rotate*d1),y=o*g,v=o*m,x=u*g,b=u*m;o=Math.max(Math.abs(y+b),Math.abs(y-b))+31>>5<<5,u=~~Math.max(Math.abs(v+x),Math.abs(v-x))}else o=o+31>>5<<5;if(u>h&&(h=u),f+o>=2048&&(f=0,d+=h,h=0),d+u>=Jf)break;i.translate((f+(o>>1))/a,(d+(u>>1))/a),n.rotate&&i.rotate(n.rotate*d1),i.fillText(n.text,0,0),n.padding&&(i.lineWidth=2*n.padding,i.strokeText(n.text,0,0)),i.restore(),n.width=o,n.height=u,n.xoff=f,n.yoff=d,n.x1=o>>1,n.y1=u>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,f+=o}for(var w=i.getImageData(0,0,2048/a,Jf/a).data,A=[];--r>=0;)if((n=e[r]).hasText){for(s=(o=n.width)>>5,u=n.y1-n.y0,l=0;l<u*s;l++)A[l]=0;if((f=n.xoff)==null)return;d=n.yoff;var _=0,k=-1;for(c=0;c<u;c++){for(l=0;l<o;l++){var D=s*c+(l>>5),C=w[2048*(d+c)+(f+l)<<2]?1<<31-l%32:0;A[D]|=C,_|=C}_?k=c:(n.y0++,u--,c--,d++)}n.y1=n.y0+k,n.sprite=A.slice(0,(n.y1-n.y0)*s)}}}function bB(t,n,e){e>>=5;for(var r,i=t.sprite,a=t.width>>5,o=t.x-(a<<4),s=127&o,u=32-s,l=t.y1-t.y0,c=(t.y+t.y0)*e+(o>>5),f=0;f<l;f++){r=0;for(var d=0;d<=a;d++)if((r<<u|(d<a?(r=i[f*a+d])>>>s:0))&n[c+d])return!0;c+=e}return!1}function xB(t,n){var e=t[0],r=t[1];n.x+n.x0<e.x&&(e.x=n.x+n.x0),n.y+n.y0<e.y&&(e.y=n.y+n.y0),n.x+n.x1>r.x&&(r.x=n.x+n.x1),n.y+n.y1>r.y&&(r.y=n.y+n.y1)}function wB(t,n){return t.x+t.x1>n[0].x&&t.x+t.x0<n[1].x&&t.y+t.y1>n[0].y&&t.y+t.y0<n[1].y}function UD(t){var n=t[0]/t[1];return function(e){return[n*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function Ga(t){return typeof t=="function"?t:function(){return t}}var AB={archimedean:UD,rectangular:function(t){var n=4*t[0]/t[1],e=0,r=0;return function(i){var a=i<0?-1:1;switch(Math.sqrt(1+4*a*i)-a&3){case 0:e+=n;break;case 1:r+=4;break;case 2:e-=n;break;default:r-=4}return[e,r]}}};const ID=["x","y","font","fontSize","fontStyle","fontWeight","angle"],_B=["text","font","rotate","fontSize","fontStyle","fontWeight"];function h1(t){O.call(this,yB(),t)}h1.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:ID}]},V(h1,O,{transform(t,n){!t.size||t.size[0]&&t.size[1]||P("Wordcloud size dimensions must be non-zero.");const e=t.modified();if(!(e||n.changed(n.ADD_REM)||_B.some(function(h){const p=t[h];return bt(p)&&n.modified(p.fields)})))return;const r=n.materialize(n.SOURCE).source,i=this.value,a=t.as||ID;let o,s=t.fontSize||14;if(bt(s)?o=t.fontSizeRange:s=In(s),o){const h=s,p=Dt("sqrt")().domain(kr(r,h)).range(o);s=m=>p(h(m))}r.forEach(h=>{h[a[0]]=NaN,h[a[1]]=NaN,h[a[3]]=0});const u=i.words(r).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(s).random(Ne).layout(),l=i.size(),c=l[0]>>1,f=l[1]>>1,d=u.length;for(let h,p,m=0;m<d;++m)h=u[m],p=h.datum,p[a[0]]=h.x+c,p[a[1]]=h.y+f,p[a[2]]=h.font,p[a[3]]=h.size,p[a[4]]=h.style,p[a[5]]=h.weight,p[a[6]]=h.rotate;return n.reflow(e).modifies(a)}});const kB=Object.freeze(Object.defineProperty({__proto__:null,wordcloud:h1},Symbol.toStringTag,{value:"Module"})),DB=t=>new Uint8Array(t),FB=t=>new Uint16Array(t),qu=t=>new Uint32Array(t);function Kf(t,n,e){const r=(n<257?DB:n<65537?FB:qu)(t);return e&&r.set(e),r}function WD(t,n,e){const r=1<<n;return{one:r,zero:~r,range:e.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd(i,a){const o=this,s=o.bisect(o.range,i.value),u=i.index,l=s[0],c=s[1],f=u.length;let d;for(d=0;d<l;++d)a[u[d]]|=r;for(d=c;d<f;++d)a[u[d]]|=r;return o}}}function HD(){let t=qu(0),n=[],e=0;return{insert:function(r,i,a){if(!i.length)return[];const o=e,s=i.length,u=qu(s);let l,c,f,d=Array(s);for(f=0;f<s;++f)d[f]=r(i[f]),u[f]=f;if(d=function(h,p){return h.sort.call(p,(m,g)=>{const y=h[m],v=h[g];return y<v?-1:y>v?1:0}),function(m,g){return Array.from(g,y=>m[y])}(h,p)}(d,u),o)l=n,c=t,n=Array(o+s),t=qu(o+s),function(h,p,m,g,y,v,x,b,w){let A,_=0,k=0;for(A=0;_<g&&k<x;++A)p[_]<y[k]?(b[A]=p[_],w[A]=m[_++]):(b[A]=y[k],w[A]=v[k++]+h);for(;_<g;++_,++A)b[A]=p[_],w[A]=m[_];for(;k<x;++k,++A)b[A]=y[k],w[A]=v[k]+h}(a,l,c,o,d,u,s,n,t);else{if(a>0)for(f=0;f<s;++f)u[f]+=a;n=d,t=u}return e=o+s,{index:u,value:d}},remove:function(r,i){const a=e;let o,s,u;for(s=0;!i[t[s]]&&s<a;++s);for(u=s;s<a;++s)i[o=t[s]]||(t[u]=o,n[u]=n[s],++u);e=a-r},bisect:function(r,i){let a;return i?a=i.length:(i=n,a=e),[r8(i,r[0],0,a),Ea(i,r[1],0,a)]},reindex:function(r){for(let i=0,a=e;i<a;++i)t[i]=r[t[i]]},index:()=>t,size:()=>e}}function p1(t){O.call(this,function(){let n=8,e=[],r=qu(0),i=Kf(0,n),a=Kf(0,n);return{data:()=>e,seen:()=>r=function(o,s,u){return o.length>=s?o:((u=u||new o.constructor(s)).set(o),u)}(r,e.length),add(o){for(let s,u=0,l=e.length,c=o.length;u<c;++u)s=o[u],s._index=l++,e.push(s)},remove(o,s){const u=e.length,l=Array(u-o),c=e;let f,d,h;for(d=0;!s[d]&&d<u;++d)l[d]=e[d],c[d]=d;for(h=d;d<u;++d)f=e[d],s[d]?c[d]=-1:(c[d]=h,i[h]=i[d],a[h]=a[d],l[h]=f,f._index=h++),i[d]=0;return e=l,c},size:()=>e.length,curr:()=>i,prev:()=>a,reset:o=>a[o]=i[o],all:()=>n<257?255:n<65537?65535:4294967295,set(o,s){i[o]|=s},clear(o,s){i[o]&=~s},resize(o,s){(o>i.length||s>n)&&(n=Math.max(s,n),i=Kf(o,n,i),a=Kf(o,n))}}}(),t),this._indices=null,this._dims=null}function m1(t){O.call(this,null,t)}p1.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},V(p1,O,{transform(t,n){return this._dims?t.modified("fields")||t.fields.some(e=>n.modified(e.fields))?this.reinit(t,n):this.eval(t,n):this.init(t,n)},init(t,n){const e=t.fields,r=t.query,i=this._indices={},a=this._dims=[],o=r.length;let s,u,l=0;for(;l<o;++l)s=e[l].fname,u=i[s]||(i[s]=HD()),a.push(WD(u,l,r[l]));return this.eval(t,n)},reinit(t,n){const e=n.materialize().fork(),r=t.fields,i=t.query,a=this._indices,o=this._dims,s=this.value,u=s.curr(),l=s.prev(),c=s.all(),f=e.rem=e.add,d=e.mod,h=i.length,p={};let m,g,y,v,x,b,w,A,_;if(l.set(u),n.rem.length&&(x=this.remove(t,n,e)),n.add.length&&s.add(n.add),n.mod.length)for(b={},v=n.mod,w=0,A=v.length;w<A;++w)b[v[w]._index]=1;for(w=0;w<h;++w)_=r[w],(!o[w]||t.modified("fields",w)||n.modified(_.fields))&&(y=_.fname,(m=p[y])||(a[y]=g=HD(),p[y]=m=g.insert(_,n.source,0)),o[w]=WD(g,w,i[w]).onAdd(m,u));for(w=0,A=s.data().length;w<A;++w)x[w]||(l[w]!==u[w]?f.push(w):b[w]&&u[w]!==c&&d.push(w));return s.mask=(1<<h)-1,e},eval(t,n){const e=n.materialize().fork(),r=this._dims.length;let i=0;return n.rem.length&&(this.remove(t,n,e),i|=(1<<r)-1),t.modified("query")&&!t.modified("fields")&&(i|=this.update(t,n,e)),n.add.length&&(this.insert(t,n,e),i|=(1<<r)-1),n.mod.length&&(this.modify(n,e),i|=(1<<r)-1),this.value.mask=i,e},insert(t,n,e){const r=n.add,i=this.value,a=this._dims,o=this._indices,s=t.fields,u={},l=e.add,c=i.size()+r.length,f=a.length;let d,h,p,m=i.size();i.resize(c,f),i.add(r);const g=i.curr(),y=i.prev(),v=i.all();for(d=0;d<f;++d)h=s[d].fname,p=u[h]||(u[h]=o[h].insert(s[d],r,m)),a[d].onAdd(p,g);for(;m<c;++m)y[m]=v,g[m]!==v&&l.push(m)},modify(t,n){const e=n.mod,r=this.value,i=r.curr(),a=r.all(),o=t.mod;let s,u,l;for(s=0,u=o.length;s<u;++s)l=o[s]._index,i[l]!==a&&e.push(l)},remove(t,n,e){const r=this._indices,i=this.value,a=i.curr(),o=i.prev(),s=i.all(),u={},l=e.rem,c=n.rem;let f,d,h,p;for(f=0,d=c.length;f<d;++f)h=c[f]._index,u[h]=1,o[h]=p=a[h],a[h]=s,p!==s&&l.push(h);for(h in r)r[h].remove(d,u);return this.reindex(n,d,u),u},reindex(t,n,e){const r=this._indices,i=this.value;t.runAfter(()=>{const a=i.remove(n,e);for(const o in r)r[o].reindex(a)})},update(t,n,e){const r=this._dims,i=t.query,a=n.stamp,o=r.length;let s,u,l=0;for(e.filters=0,u=0;u<o;++u)t.modified("query",u)&&(s=u,++l);if(l===1)l=r[s].one,this.incrementOne(r[s],i[s],e.add,e.rem);else for(u=0,l=0;u<o;++u)t.modified("query",u)&&(l|=r[u].one,this.incrementAll(r[u],i[u],a,e.add),e.rem=e.add);return l},incrementAll(t,n,e,r){const i=this.value,a=i.seen(),o=i.curr(),s=i.prev(),u=t.index(),l=t.bisect(t.range),c=t.bisect(n),f=c[0],d=c[1],h=l[0],p=l[1],m=t.one;let g,y,v;if(f<h)for(g=f,y=Math.min(h,d);g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;else if(f>h)for(g=h,y=Math.min(f,p);g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;if(d>p)for(g=Math.max(f,p),y=d;g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;else if(d<p)for(g=Math.max(h,d),y=p;g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;t.range=n.slice()},incrementOne(t,n,e,r){const i=this.value.curr(),a=t.index(),o=t.bisect(t.range),s=t.bisect(n),u=s[0],l=s[1],c=o[0],f=o[1],d=t.one;let h,p,m;if(u<c)for(h=u,p=Math.min(c,l);h<p;++h)m=a[h],i[m]^=d,e.push(m);else if(u>c)for(h=c,p=Math.min(u,f);h<p;++h)m=a[h],i[m]^=d,r.push(m);if(l>f)for(h=Math.max(u,f),p=l;h<p;++h)m=a[h],i[m]^=d,e.push(m);else if(l<f)for(h=Math.max(c,l),p=f;h<p;++h)m=a[h],i[m]^=d,r.push(m);t.range=n.slice()}}),m1.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},V(m1,O,{transform(t,n){const e=~(t.ignore||0),r=t.filter,i=r.mask;if((i&e)===0)return n.StopPropagation;const a=n.fork(n.ALL),o=r.data(),s=r.curr(),u=r.prev(),l=c=>s[c]&e?null:o[c];return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,c=>{const f=s[c]&e;return!f&&f^u[c]&e?o[c]:null}),a.filter(a.REM,c=>{const f=s[c]&e;return f&&!(f^f^u[c]&e)?o[c]:null})):(a.filter(a.ADD,l),a.filter(a.REM,c=>(s[c]&e)===i?o[c]:null)),a.filter(a.SOURCE,c=>l(c._index))}});const CB=Object.freeze(Object.defineProperty({__proto__:null,crossfilter:p1,resolvefilter:m1},Symbol.toStringTag,{value:"Module"})),ts="Literal",EB="Property",$B="ArrayExpression",SB="BinaryExpression",GD="CallExpression",MB="ConditionalExpression",BB="LogicalExpression",zB="MemberExpression",OB="ObjectExpression",NB="UnaryExpression";function ir(t){this.type=t}var hi,nt,N,Tn,zt;ir.prototype.visit=function(t){let n,e,r;if(t(this))return 1;for(n=function(i){switch(i.type){case $B:return i.elements;case SB:case BB:return[i.left,i.right];case GD:return[i.callee].concat(i.arguments);case MB:return[i.test,i.consequent,i.alternate];case zB:return[i.object,i.property];case OB:return i.properties;case EB:return[i.key,i.value];case NB:return[i.argument];default:return[]}}(this),e=0,r=n.length;e<r;++e)if(n[e].visit(t))return 1},(hi={})[1]="Boolean",hi[2]="<end>",hi[3]="Identifier",hi[4]="Keyword",hi[5]="Null",hi[6]="Numeric",hi[7]="Punctuator",hi[8]="String",hi[9]="RegularExpression";var VD="Identifier",gn="Unexpected token %0",g1="Invalid regular expression",y1="Invalid regular expression: missing /",YD="Octal literals are not allowed in strict mode.",Fn="ILLEGAL",Uu="Disabled.",RB=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),TB=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Qf(t,n){if(!t)throw new Error("ASSERT: "+n)}function pi(t){return t>=48&&t<=57}function v1(t){return"0123456789abcdefABCDEF".includes(t)}function Iu(t){return"01234567".includes(t)}function PB(t){return t===32||t===9||t===11||t===12||t===160||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t)}function Wu(t){return t===10||t===13||t===8232||t===8233}function Hu(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t===92||t>=128&&RB.test(String.fromCharCode(t))}function Zf(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||t===92||t>=128&&TB.test(String.fromCharCode(t))}const jB={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function XD(){for(;N<Tn;){const t=nt.charCodeAt(N);if(!PB(t)&&!Wu(t))break;++N}}function b1(t){var n,e,r,i=0;for(e=t==="u"?4:2,n=0;n<e;++n)N<Tn&&v1(nt[N])?(r=nt[N++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):Ft({},gn,Fn);return String.fromCharCode(i)}function LB(){var t,n,e,r;for(n=0,(t=nt[N])==="}"&&Ft({},gn,Fn);N<Tn&&v1(t=nt[N++]);)n=16*n+"0123456789abcdef".indexOf(t.toLowerCase());return(n>1114111||t!=="}")&&Ft({},gn,Fn),n<=65535?String.fromCharCode(n):(e=55296+(n-65536>>10),r=56320+(n-65536&1023),String.fromCharCode(e,r))}function JD(){var t,n;for(t=nt.charCodeAt(N++),n=String.fromCharCode(t),t===92&&(nt.charCodeAt(N)!==117&&Ft({},gn,Fn),++N,(t=b1("u"))&&t!=="\\"&&Hu(t.charCodeAt(0))||Ft({},gn,Fn),n=t);N<Tn&&Zf(t=nt.charCodeAt(N));)++N,n+=String.fromCharCode(t),t===92&&(n=n.substr(0,n.length-1),nt.charCodeAt(N)!==117&&Ft({},gn,Fn),++N,(t=b1("u"))&&t!=="\\"&&Zf(t.charCodeAt(0))||Ft({},gn,Fn),n+=t);return n}function qB(){var t,n;return t=N,n=nt.charCodeAt(N)===92?JD():function(){var e,r;for(e=N++;N<Tn;){if((r=nt.charCodeAt(N))===92)return N=e,JD();if(!Zf(r))break;++N}return nt.slice(e,N)}(),{type:n.length===1?3:jB.hasOwnProperty(n)?4:n==="null"?5:n==="true"||n==="false"?1:3,value:n,start:t,end:N}}function x1(){var t,n,e,r,i=N,a=nt.charCodeAt(N),o=nt[N];switch(a){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++N,{type:7,value:String.fromCharCode(a),start:i,end:N};default:if((t=nt.charCodeAt(N+1))===61)switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return N+=2,{type:7,value:String.fromCharCode(a)+String.fromCharCode(t),start:i,end:N};case 33:case 61:return N+=2,nt.charCodeAt(N)===61&&++N,{type:7,value:nt.slice(i,N),start:i,end:N}}}return(r=nt.substr(N,4))===">>>="?{type:7,value:r,start:i,end:N+=4}:(e=r.substr(0,3))===">>>"||e==="<<="||e===">>="?{type:7,value:e,start:i,end:N+=3}:o===(n=e.substr(0,2))[1]&&"+-<>&|".includes(o)||n==="=>"?{type:7,value:n,start:i,end:N+=2}:(n==="//"&&Ft({},gn,Fn),"<>=!+-*%&|^/".includes(o)?{type:7,value:o,start:i,end:++N}:void Ft({},gn,Fn))}function KD(){var t,n,e;if(Qf(pi((e=nt[N]).charCodeAt(0))||e===".","Numeric literal must start with a decimal digit or a decimal point"),n=N,t="",e!=="."){if(t=nt[N++],e=nt[N],t==="0"){if(e==="x"||e==="X")return++N,function(r){let i="";for(;N<Tn&&v1(nt[N]);)i+=nt[N++];return i.length===0&&Ft({},gn,Fn),Hu(nt.charCodeAt(N))&&Ft({},gn,Fn),{type:6,value:parseInt("0x"+i,16),start:r,end:N}}(n);if(Iu(e))return function(r){let i="0"+nt[N++];for(;N<Tn&&Iu(nt[N]);)i+=nt[N++];return(Hu(nt.charCodeAt(N))||pi(nt.charCodeAt(N)))&&Ft({},gn,Fn),{type:6,value:parseInt(i,8),octal:!0,start:r,end:N}}(n);e&&pi(e.charCodeAt(0))&&Ft({},gn,Fn)}for(;pi(nt.charCodeAt(N));)t+=nt[N++];e=nt[N]}if(e==="."){for(t+=nt[N++];pi(nt.charCodeAt(N));)t+=nt[N++];e=nt[N]}if(e==="e"||e==="E")if(t+=nt[N++],(e=nt[N])!=="+"&&e!=="-"||(t+=nt[N++]),pi(nt.charCodeAt(N)))for(;pi(nt.charCodeAt(N));)t+=nt[N++];else Ft({},gn,Fn);return Hu(nt.charCodeAt(N))&&Ft({},gn,Fn),{type:6,value:parseFloat(t),start:n,end:N}}function UB(){var t,n,e,r;return zt=null,XD(),t=N,n=function(){var i,a,o,s;for(Qf((i=nt[N])==="/","Regular expression literal must start with a slash"),a=nt[N++],o=!1,s=!1;N<Tn;)if(a+=i=nt[N++],i==="\\")Wu((i=nt[N++]).charCodeAt(0))&&Ft({},y1),a+=i;else if(Wu(i.charCodeAt(0)))Ft({},y1);else if(o)i==="]"&&(o=!1);else{if(i==="/"){s=!0;break}i==="["&&(o=!0)}return s||Ft({},y1),{value:a.substr(1,a.length-2),literal:a}}(),e=function(){var i,a,o;for(a="",o="";N<Tn&&Zf((i=nt[N]).charCodeAt(0));)++N,i==="\\"&&N<Tn?Ft({},gn,Fn):(o+=i,a+=i);return o.search(/[^gimuy]/g)>=0&&Ft({},g1,o),{value:o,literal:a}}(),r=function(i,a){let o=i;a.includes("u")&&(o=o.replace(/\\u\{([0-9a-fA-F]+)\}/g,(s,u)=>{if(parseInt(u,16)<=1114111)return"x";Ft({},g1)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(o)}catch{Ft({},g1)}try{return new RegExp(i,a)}catch{return null}}(n.value,e.value),{literal:n.literal+e.literal,value:r,regex:{pattern:n.value,flags:e.value},start:t,end:N}}function QD(){if(XD(),N>=Tn)return{type:2,start:N,end:N};const t=nt.charCodeAt(N);return Hu(t)?qB():t===40||t===41||t===59?x1():t===39||t===34?function(){var n,e,r,i,a="",o=!1;for(Qf((n=nt[N])==="'"||n==='"',"String literal must starts with a quote"),e=N,++N;N<Tn;){if((r=nt[N++])===n){n="";break}if(r==="\\")if((r=nt[N++])&&Wu(r.charCodeAt(0)))r==="\r"&&nt[N]===`
3
3
  `&&++N;else switch(r){case"u":case"x":nt[N]==="{"?(++N,a+=LB()):a+=b1(r);break;case"n":a+=`
4
4
  `;break;case"r":a+="\r";break;case"t":a+=" ";break;case"b":a+="\b";break;case"f":a+="\f";break;case"v":a+="\v";break;default:Iu(r)?((i="01234567".indexOf(r))!==0&&(o=!0),N<Tn&&Iu(nt[N])&&(o=!0,i=8*i+"01234567".indexOf(nt[N++]),"0123".includes(r)&&N<Tn&&Iu(nt[N])&&(i=8*i+"01234567".indexOf(nt[N++]))),a+=String.fromCharCode(i)):a+=r}else{if(Wu(r.charCodeAt(0)))break;a+=r}}return n!==""&&Ft({},gn,Fn),{type:8,value:a,octal:o,start:e,end:N}}():t===46?pi(nt.charCodeAt(N+1))?KD():x1():pi(t)?KD():x1()}function fe(){const t=zt;return N=t.end,zt=QD(),N=t.end,t}function ZD(){const t=N;zt=QD(),N=t}function tF(t,n,e){const r=new ir(t==="||"||t==="&&"?"LogicalExpression":"BinaryExpression");return r.operator=t,r.left=n,r.right=e,r}function IB(t,n){const e=new ir("CallExpression");return e.callee=t,e.arguments=n,e}function w1(t){const n=new ir(VD);return n.name=t,n}function Gu(t){const n=new ir("Literal");return n.value=t.value,n.raw=nt.slice(t.start,t.end),t.regex&&(n.raw==="//"&&(n.raw="/(?:)/"),n.regex=t.regex),n}function nF(t,n,e){const r=new ir("MemberExpression");return r.computed=t==="[",r.object=n,r.property=e,r.computed||(e.member=!0),r}function eF(t,n,e){const r=new ir("Property");return r.key=n,r.value=e,r.kind=t,r}function Ft(t,n){var e,r=Array.prototype.slice.call(arguments,2),i=n.replace(/%(\d)/g,(a,o)=>(Qf(o<r.length,"Message reference must be in range"),r[o]));throw(e=new Error(i)).index=N,e.description=i,e}function td(t){t.type===2&&Ft(t,"Unexpected end of input"),t.type===6&&Ft(t,"Unexpected number"),t.type===8&&Ft(t,"Unexpected string"),t.type===3&&Ft(t,"Unexpected identifier"),t.type===4&&Ft(t,"Unexpected reserved word"),Ft(t,gn,t.value)}function Pn(t){const n=fe();n.type===7&&n.value===t||td(n)}function Ht(t){return zt.type===7&&zt.value===t}function A1(t){return zt.type===4&&zt.value===t}function WB(){const t=[];for(N=zt.start,Pn("[");!Ht("]");)Ht(",")?(fe(),t.push(null)):(t.push(Va()),Ht("]")||Pn(","));return fe(),function(n){const e=new ir("ArrayExpression");return e.elements=n,e}(t)}function rF(){N=zt.start;const t=fe();return t.type===8||t.type===6?(t.octal&&Ft(t,YD),Gu(t)):w1(t.value)}function HB(){var t,n,e;return N=zt.start,(t=zt).type===3?(e=rF(),Pn(":"),eF("init",e,Va())):t.type!==2&&t.type!==7?(n=rF(),Pn(":"),eF("init",n,Va())):void td(t)}function GB(){var t,n,e=[],r={},i=String;for(N=zt.start,Pn("{");!Ht("}");)n="$"+((t=HB()).key.type===VD?t.key.name:i(t.key.value)),Object.prototype.hasOwnProperty.call(r,n)?Ft({},"Duplicate data property in object literal not allowed in strict mode"):r[n]=!0,e.push(t),Ht("}")||Pn(",");return Pn("}"),function(a){const o=new ir("ObjectExpression");return o.properties=a,o}(e)}const VB={if:1};function YB(){var t,n,e;if(Ht("("))return function(){Pn("(");const r=_1();return Pn(")"),r}();if(Ht("["))return WB();if(Ht("{"))return GB();if(t=zt.type,N=zt.start,t===3||VB[zt.value])e=w1(fe().value);else if(t===8||t===6)zt.octal&&Ft(zt,YD),e=Gu(fe());else{if(t===4)throw new Error(Uu);t===1?((n=fe()).value=n.value==="true",e=Gu(n)):t===5?((n=fe()).value=null,e=Gu(n)):Ht("/")||Ht("/=")?(e=Gu(UB()),ZD()):td(fe())}return e}function XB(){const t=[];if(Pn("("),!Ht(")"))for(;N<Tn&&(t.push(Va()),!Ht(")"));)Pn(",");return Pn(")"),t}function JB(){return Pn("."),function(){N=zt.start;const t=fe();return function(n){return n.type===3||n.type===4||n.type===1||n.type===5}(t)||td(t),w1(t.value)}()}function KB(){Pn("[");const t=_1();return Pn("]"),t}function iF(){const t=function(){var n;for(n=YB();;)if(Ht("."))n=nF(".",n,JB());else if(Ht("("))n=IB(n,XB());else{if(!Ht("["))break;n=nF("[",n,KB())}return n}();if(zt.type===7&&(Ht("++")||Ht("--")))throw new Error(Uu);return t}function nd(){var t,n;if(zt.type!==7&&zt.type!==4)n=iF();else{if(Ht("++")||Ht("--"))throw new Error(Uu);if(Ht("+")||Ht("-")||Ht("~")||Ht("!"))t=fe(),n=nd(),n=function(e,r){const i=new ir("UnaryExpression");return i.operator=e,i.argument=r,i.prefix=!0,i}(t.value,n);else{if(A1("delete")||A1("void")||A1("typeof"))throw new Error(Uu);n=iF()}}return n}function aF(t){let n=0;if(t.type!==7&&t.type!==4)return 0;switch(t.value){case"||":n=1;break;case"&&":n=2;break;case"|":n=3;break;case"^":n=4;break;case"&":n=5;break;case"==":case"!=":case"===":case"!==":n=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function Va(){var t,n;return t=function(){var e,r,i,a,o,s,u,l,c,f;if(e=zt,c=nd(),(o=aF(a=zt))===0)return c;for(a.prec=o,fe(),r=[e,zt],s=[c,a,u=nd()];(o=aF(zt))>0;){for(;s.length>2&&o<=s[s.length-2].prec;)u=s.pop(),l=s.pop().value,c=s.pop(),r.pop(),i=tF(l,c,u),s.push(i);(a=fe()).prec=o,s.push(a),r.push(zt),i=nd(),s.push(i)}for(i=s[f=s.length-1],r.pop();f>1;)r.pop(),i=tF(s[f-1].value,s[f-2],i),f-=2;return i}(),Ht("?")&&(fe(),n=Va(),Pn(":"),t=function(e,r,i){const a=new ir("ConditionalExpression");return a.test=e,a.consequent=r,a.alternate=i,a}(t,n,Va())),t}function _1(){const t=Va();if(Ht(","))throw new Error(Uu);return t}function oF(t){N=0,Tn=(nt=t).length,zt=null,ZD();const n=_1();if(zt.type!==2)throw new Error("Unexpect token after expression.");return n}var sF={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function uF(t){function n(a,o,s){return u=>function(l,c,f,d){let h=t(c[0]);return f&&(h=f+"("+h+")",f.lastIndexOf("new ",0)===0&&(h="("+h+")")),h+"."+l+(d<0?"":d===0?"()":"("+c.slice(1).map(t).join(",")+")")}(a,u,o,s)}const e="new Date",r="String",i="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(a){a.length<3&&P("Missing arguments to clamp function."),a.length>3&&P("Too many arguments to clamp function.");const o=a.map(t);return"Math.max("+o[1]+", Math.min("+o[2]+","+o[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:e,date:n("getDate",e,0),day:n("getDay",e,0),year:n("getFullYear",e,0),month:n("getMonth",e,0),hours:n("getHours",e,0),minutes:n("getMinutes",e,0),seconds:n("getSeconds",e,0),milliseconds:n("getMilliseconds",e,0),time:n("getTime",e,0),timezoneoffset:n("getTimezoneOffset",e,0),utcdate:n("getUTCDate",e,0),utcday:n("getUTCDay",e,0),utcyear:n("getUTCFullYear",e,0),utcmonth:n("getUTCMonth",e,0),utchours:n("getUTCHours",e,0),utcminutes:n("getUTCMinutes",e,0),utcseconds:n("getUTCSeconds",e,0),utcmilliseconds:n("getUTCMilliseconds",e,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",r,0),lower:n("toLowerCase",r,0),substring:n("substring",r),split:n("split",r),trim:n("trim",r,0),btoa:"btoa",atob:"atob",regexp:i,test:n("test",i),if:function(a){a.length<3&&P("Missing arguments to if function."),a.length>3&&P("Too many arguments to if function.");const o=a.map(t);return"("+o[0]+"?"+o[1]+":"+o[2]+")"}}}function lF(t){const n=(t=t||{}).allowed?Dr(t.allowed):{},e=t.forbidden?Dr(t.forbidden):{},r=t.constants||sF,i=(t.functions||uF)(f),a=t.globalvar,o=t.fieldvar,s=bt(a)?a:p=>`${a}["${p}"]`;let u={},l={},c=0;function f(p){if(Q(p))return p;const m=d[p.type];return m==null&&P("Unsupported type: "+p.type),m(p)}const d={Literal:p=>p.raw,Identifier:p=>{const m=p.name;return c>0?m:tt(e,m)?P("Illegal identifier: "+m):tt(r,m)?r[m]:tt(n,m)?m:(u[m]=1,s(m))},MemberExpression:p=>{const m=!p.computed,g=f(p.object);m&&(c+=1);const y=f(p.property);return g===o&&(l[function(v){const x=v&&v.length-1;return x&&(v[0]==='"'&&v[x]==='"'||v[0]==="'"&&v[x]==="'")?v.slice(1,-1):v}(y)]=1),m&&(c-=1),g+(m?"."+y:"["+y+"]")},CallExpression:p=>{p.callee.type!=="Identifier"&&P("Illegal callee type: "+p.callee.type);const m=p.callee.name,g=p.arguments,y=tt(i,m)&&i[m];return y||P("Unrecognized function: "+m),bt(y)?y(g):y+"("+g.map(f).join(",")+")"},ArrayExpression:p=>"["+p.elements.map(f).join(",")+"]",BinaryExpression:p=>"("+f(p.left)+" "+p.operator+" "+f(p.right)+")",UnaryExpression:p=>"("+p.operator+f(p.argument)+")",ConditionalExpression:p=>"("+f(p.test)+"?"+f(p.consequent)+":"+f(p.alternate)+")",LogicalExpression:p=>"("+f(p.left)+p.operator+f(p.right)+")",ObjectExpression:p=>"{"+p.properties.map(f).join(",")+"}",Property:p=>{c+=1;const m=f(p.key);return c-=1,m+":"+f(p.value)}};function h(p){const m={code:f(p),globals:Object.keys(u),fields:Object.keys(l)};return u={},l={},m}return h.functions=i,h.constants=r,h}const cF=Symbol("vega_selection_getter");function fF(t){return t.getter&&t.getter[cF]||(t.getter=ei(t.field),t.getter[cF]=!0),t.getter}const k1="intersect",dF="union",hF="or",QB="and",Nr="_vgsid_",Vu=ei(Nr),ed="index:unit";function pF(t,n){for(var e,r,i=n.fields,a=n.values,o=i.length,s=0;s<o;++s)if(e=fF(r=i[s])(t),Da(e)&&(e=ze(e)),Da(a[s])&&(a[s]=ze(a[s])),T(a[s])&&Da(a[s][0])&&(a[s]=a[s].map(ze)),r.type==="E"){if(T(a[s])?!a[s].includes(e):e!==a[s])return!1}else if(r.type==="R"){if(!Fo(e,a[s]))return!1}else if(r.type==="R-RE"){if(!Fo(e,a[s],!0,!1))return!1}else if(r.type==="R-E"){if(!Fo(e,a[s],!1,!1))return!1}else if(r.type==="R-LE"){if(!Fo(e,a[s],!1,!0))return!1}else if(r.type==="E-LT"){if(e>=a[s])return!1}else if(r.type==="E-LTE"){if(e>a[s])return!1}else if(r.type==="E-GT"){if(e<=a[s])return!1}else if(r.type==="E-GTE"){if(e<a[s])return!1}else if(r.type==="E-VALID"){if(e===null||isNaN(e))return!1}else if(r.type==="E-ONE"&&a[s].indexOf(e)===-1)return!1;return!0}const mF=nx(Vu),ZB=mF.left,tz=mF.right;var D1={[`${Nr}_union`]:function(...t){const n=new Yl;for(const e of t)for(const r of e)n.add(r);return n},[`${Nr}_intersect`]:function(t,...n){t=new Yl(t),n=n.map(n9);t:for(const e of t)for(const r of n)if(!r.has(e)){t.delete(e);continue t}return t},E_union:function(t,n){if(!t.length)return n;for(var e=0,r=n.length;e<r;++e)t.includes(n[e])||t.push(n[e]);return t},E_intersect:function(t,n){return t.length?t.filter(e=>n.includes(e)):n},R_union:function(t,n){var e=ze(n[0]),r=ze(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?(t[0]>e&&(t[0]=e),t[1]<r&&(t[1]=r),t):[e,r]},R_intersect:function(t,n){var e=ze(n[0]),r=ze(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?r<t[0]||t[1]<e?[]:(t[0]<e&&(t[0]=e),t[1]>r&&(t[1]=r),t):[e,r]}};function F1(t,n,e,r){n[0].type!==ts&&P("First argument to selection functions must be a string literal.");const i=n[0].value,a="unit",o="@"+a,s=":"+i;(n.length>=2&&Bt(n).value)!==k1||tt(r,o)||(r[o]=e.getData(i).indataRef(e,a)),tt(r,s)||(r[s]=e.getData(i).tuplesRef())}function gF(t){const n=this.context.data[t];return n?n.values.value:[]}const Yu=t=>function(n,e){const r=this.context.dataflow.locale();return n===null?"null":r[t](e)(n)},nz=Yu("format"),yF=Yu("timeFormat"),ez=Yu("utcFormat"),rz=Yu("timeParse"),iz=Yu("utcParse"),rd=new Date(2e3,0,1);function id(t,n,e){return Number.isInteger(t)&&Number.isInteger(n)?(rd.setYear(2e3),rd.setMonth(t),rd.setDate(n),yF.call(this,rd,e)):""}function C1(t,n,e,r){n[0].type!==ts&&P("First argument to data functions must be a string literal.");const i=n[0].value,a=":"+i;if(!tt(a,r))try{r[a]=e.getData(i).tuplesRef()}catch{}}function ae(t,n,e,r){if(n[0].type===ts)vF(e,r,n[0].value);else for(t in e.scales)vF(e,r,t)}function vF(t,n,e){const r="%"+e;if(!tt(n,r))try{n[r]=t.scaleRef(e)}catch{}}function Rr(t,n){if(Q(t)){const e=n.scales[t];return e&&lw(e.value)?e.value:void 0}if(bt(t))return lw(t)?t:void 0}function az(t,n,e){n.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,e._bandwidth=ae,e._range=ae,e._scale=ae;const r=i=>"_["+(i.type===ts?G("%"+i.value):G("%")+"+"+t(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${t(i[1])})`}}function E1(t,n){return function(e,r,i){if(e){const a=Rr(e,(i||this).context);return a&&a.path[t](r)}return n(r)}}const oz=E1("area",function(t){return hf=new Gn,si(t,Mr),2*hf}),sz=E1("bounds",function(t){var n,e,r,i,a,o,s;if(_e=an=-(Kt=ce=1/0),na=[],si(t,li),e=na.length){for(na.sort(R4),n=1,a=[r=na[0]];n<e;++n)ok(r,(i=na[n])[0])||ok(r,i[1])?(ke(r[0],i[1])>ke(r[0],r[1])&&(r[1]=i[1]),ke(i[0],r[1])>ke(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=0,r=a[e=a.length-1];n<=e;r=i,++n)i=a[n],(s=ke(r[1],i[0]))>o&&(o=s,Kt=i[0],an=r[1])}return na=ui=null,Kt===1/0||ce===1/0?[[NaN,NaN],[NaN,NaN]]:[[Kt,ce],[an,_e]]}),uz=E1("centroid",function(t){Au=vf=bf=xf=wf=Af=_f=kf=0,V0=new Gn,Y0=new Gn,X0=new Gn,si(t,er);var n=+V0,e=+Y0,r=+X0,i=j0(n,e,r);return i<P0&&(n=Af,e=_f,r=kf,vf<dt&&(n=bf,e=xf,r=wf),(i=j0(n,e,r))<P0)?[NaN,NaN]:[je(e,n)*on,le(r/i)*on]});function $1(t,n,e){try{t[n].apply(t,["EXPRESSION"].concat([].slice.call(e)))}catch(r){t.warn(r)}return e[e.length-1]}function S1(t){const n=t/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}function M1(t){const n=Vl(t);return .2126*S1(n.r)+.7152*S1(n.g)+.0722*S1(n.b)}function bF(t,n){return t===n||t!=t&&n!=n||(T(t)?!(!T(n)||t.length!==n.length)&&function(e,r){for(let i=0,a=e.length;i<a;++i)if(!bF(e[i],r[i]))return!1;return!0}(t,n):!(!Z(t)||!Z(n))&&xF(t,n))}function xF(t,n){for(const e in t)if(!bF(t[e],n[e]))return!1;return!0}function wF(t){return n=>xF(t,n)}const AF={};function ad(t){return T(t)||ArrayBuffer.isView(t)?t:null}function B1(t){return ad(t)||(Q(t)?t:null)}const _F=t=>t.data;function kF(t,n){const e=gF.call(n,t);return e.root&&e.root.lookup||{}}const DF=()=>typeof window<"u"&&window||null;function FF(t,n,e){if(!t)return[];const[r,i]=t,a=new cn().set(r[0],r[1],i[0],i[1]);return JA(e||this.context.dataflow.scenegraph().root,a,function(o){let s=null;if(o){const u=J(o.marktype),l=J(o.markname);s=c=>(!u.length||u.some(f=>c.marktype===f))&&(!l.length||l.some(f=>c.name===f))}return s}(n))}const Xu={random:()=>Ne(),cumulativeNormal:uc,cumulativeLogNormal:Mp,cumulativeUniform:Np,densityNormal:Fp,densityLogNormal:Sp,densityUniform:Op,quantileNormal:lc,quantileLogNormal:Bp,quantileUniform:Rp,sampleNormal:sc,sampleLogNormal:$p,sampleUniform:zp,isArray:T,isBoolean:Fa,isDate:Da,isDefined:t=>t!==void 0,isNumber:$t,isObject:Z,isRegExp:ip,isString:Q,isTuple:tc,isValid:t=>t!=null&&t==t,toBoolean:$x,toDate:t=>Sx(t),toNumber:ze,toString:Ex,indexof:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return B1(t).indexOf(...e)},join:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return ad(t).join(...e)},lastindexof:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return B1(t).lastIndexOf(...e)},replace:function(t,n,e){return bt(e)&&P("Function argument passed to replace."),Q(n)||ip(n)||P("Please pass a string or RegExp argument to replace."),String(t).replace(n,e)},reverse:function(t){return ad(t).slice().reverse()},sort:function(t){return ad(t).slice().sort(Xh)},slice:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return B1(t).slice(...e)},flush:Cx,lerp:Fx,merge:function(){const t=[].slice.call(arguments);return t.unshift({}),xt(...t)},pad:Dx,peek:Bt,pluck:function(t,n){const e=AF[n]||(AF[n]=ei(n));return T(t)?t.map(e):e(t)},span:Il,inrange:Fo,truncate:kx,rgb:Vl,lab:sp,hcl:Y6,hsl:fp,luminance:M1,contrast:function(t,n){const e=M1(t),r=M1(n);return(Math.max(e,r)+.05)/(Math.min(e,r)+.05)},sequence:xe,format:nz,utcFormat:ez,utcParse:iz,utcOffset:_x,utcSequence:Ax,timeFormat:yF,timeParse:rz,timeOffset:wx,timeSequence:xx,timeUnitSpecifier:bx,monthFormat:function(t){return id.call(this,t,1,"%B")},monthAbbrevFormat:function(t){return id.call(this,t,1,"%b")},dayFormat:function(t){return id.call(this,0,2+t,"%A")},dayAbbrevFormat:function(t){return id.call(this,0,2+t,"%a")},quarter:vx,utcquarter:yx,week:gx,utcweek:mx,dayofyear:px,utcdayofyear:hx,warn:function(){return $1(this.context.dataflow,"warn",arguments)},info:function(){return $1(this.context.dataflow,"info",arguments)},debug:function(){return $1(this.context.dataflow,"debug",arguments)},extent:t=>kr(t),inScope:function(t){const n=this.context.group;let e=!1;if(n)for(;t;){if(t===n){e=!0;break}t=t.mark.group}return e},intersect:FF,clampRange:dx,pinchDistance:function(t){const n=t.touches,e=n[0].clientX-n[1].clientX,r=n[0].clientY-n[1].clientY;return Math.hypot(e,r)},pinchAngle:function(t){const n=t.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function(){const t=DF();return t?t.screen:{}},containerSize:function(){const t=this.context.dataflow,n=t.container&&t.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function(){const t=DF();return t?[t.innerWidth,t.innerHeight]:[void 0,void 0]},bandspace:function(t,n,e){return wm(t||0,n||0,e||0)},setdata:function(t,n){const e=this.context.dataflow,r=this.context.data[t].input;return e.pulse(r,e.changeset().remove(Be).insert(n)),1},pathShape:function(t){let n=null;return function(e){return e?iu(e,n=n||No(t)):t}},panLinear:fx,panLog:cx,panPow:lx,panSymlog:ux,zoomLinear:rp,zoomLog:np,zoomPow:Wl,zoomSymlog:ep,encode:function(t,n,e){if(t){const r=this.context.dataflow,i=t.mark.source;r.pulse(i,r.changeset().encode(t,n))}return e!==void 0?e:t},modify:function(t,n,e,r,i,a){const o=this.context.dataflow,s=this.context.data[t],u=s.input,l=o.stamp();let c,f,d=s.changes;if(o._trigger===!1||!(u.value.length||n||r))return 0;if((!d||d.stamp<l)&&(s.changes=d=o.changeset(),d.stamp=l,o.runAfter(()=>{s.modified=!0,o.pulse(u,d).run()},!0,1)),e&&(c=e===!0?Be:T(e)||tc(e)?e:wF(e),d.remove(c)),n&&d.insert(n),r&&(c=wF(r),u.value.some(c)?d.remove(c):d.insert(r)),i)for(f in a)d.modify(i,f,a[f]);return 1},lassoAppend:function(t,n,e){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5;const i=(t=J(t))[t.length-1];return i===void 0||Math.hypot(i[0]-n,i[1]-e)>r?[...t,[n,e]]:t},lassoPath:function(t){return J(t).reduce((n,e,r)=>{let[i,a]=e;return n+(r==0?`M ${i},${a} `:r===t.length-1?" Z":`L ${i},${a} `)},"")},intersectLasso:function(t,n,e){const{x:r,y:i,mark:a}=e,o=new cn().set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[s,u]of n)s<o.x1&&(o.x1=s),s>o.x2&&(o.x2=s),u<o.y1&&(o.y1=u),u>o.y2&&(o.y2=u);return o.translate(r,i),FF([[o.x1,o.y1],[o.x2,o.y2]],t,a).filter(s=>function(u,l,c){let f=0;for(let d=0,h=c.length-1;d<c.length;h=d++){const[p,m]=c[h],[g,y]=c[d];y>l!=m>l&&u<(p-g)*(l-y)/(m-y)+g&&f++}return 1&f}(s.x,s.y,n))}},lz=["view","item","group","xy","x","y"],CF="this.",z1={},EF={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${G("$"+t)}]`,functions:function(t){const n=uF(t);lz.forEach(e=>n[e]="event.vega."+e);for(const e in Xu)n[e]=CF+e;return xt(n,az(t,Xu,z1)),n},constants:sF,visitors:z1},O1=lF(EF);function sn(t,n,e){return arguments.length===1?Xu[t]:(Xu[t]=n,e&&(z1[t]=e),O1&&(O1.functions[t]=CF+t),this)}function Tr(t,n){const e={};let r;try{r=oF(t=Q(t)?t:G(t)+"")}catch{P("Expression parse error: "+t)}r.visit(a=>{if(a.type!==GD)return;const o=a.callee.name,s=EF.visitors[o];s&&s(o,a.arguments,n,e)});const i=O1(r);return i.globals.forEach(a=>{const o="$"+a;!tt(e,o)&&n.getSignal(a)&&(e[o]=n.signalRef(a))}),{$expr:xt({code:i.code},n.options.ast?{ast:r}:null),$fields:i.fields,$params:e}}sn("bandwidth",function(t,n){const e=Rr(t,(n||this).context);return e&&e.bandwidth?e.bandwidth():0},ae),sn("copy",function(t,n){const e=Rr(t,(n||this).context);return e?e.copy():void 0},ae),sn("domain",function(t,n){const e=Rr(t,(n||this).context);return e?e.domain():[]},ae),sn("range",function(t,n){const e=Rr(t,(n||this).context);return e&&e.range?e.range():[]},ae),sn("invert",function(t,n,e){const r=Rr(t,(e||this).context);return r?T(n)?(r.invertRange||r.invert)(n):(r.invert||r.invertExtent)(n):void 0},ae),sn("scale",function(t,n,e){const r=Rr(t,(e||this).context);return r?r(n):void 0},ae),sn("gradient",function(t,n,e,r,i){t=Rr(t,(i||this).context);const a=Mw(n,e);let o=t.domain(),s=o[0],u=Bt(o),l=Me;return u-s?l=gw(t,s,u):t=(t.interpolator?Dt("sequential")().interpolator(t.interpolator()):Dt("linear")().interpolate(t.interpolate()).range(t.range())).domain([s=0,u=1]),t.ticks&&(o=t.ticks(+r||15),s!==o[0]&&o.unshift(s),u!==Bt(o)&&o.push(u)),o.forEach(c=>a.stop(l(c),t(c))),a},ae),sn("geoArea",oz,ae),sn("geoBounds",sz,ae),sn("geoCentroid",uz,ae),sn("geoShape",function(t,n,e){const r=Rr(t,(e||this).context);return function(i){return r?r.path.context(i)(n):""}},ae),sn("geoScale",function(t,n){const e=Rr(t,(n||this).context);return e&&e.scale()},ae),sn("indata",function(t,n,e){const r=this.context.data[t]["index:"+n],i=r?r.value.get(e):void 0;return i&&i.count},function(t,n,e,r){n[0].type!==ts&&P("First argument to indata must be a string literal."),n[1].type!==ts&&P("Second argument to indata must be a string literal.");const i=n[0].value,a=n[1].value,o="@"+a;tt(o,r)||(r[o]=e.getData(i).indataRef(e,a))}),sn("data",gF,C1),sn("treePath",function(t,n,e){const r=kF(t,this),i=r[n],a=r[e];return i&&a?i.path(a).map(_F):void 0},C1),sn("treeAncestors",function(t,n){const e=kF(t,this)[n];return e?e.ancestors().map(_F):void 0},C1),sn("vlSelectionTest",function(t,n,e){for(var r,i,a,o,s,u=this.context.data[t],l=u?u.values.value:[],c=u?u[ed]&&u[ed].value:void 0,f=e===k1,d=l.length,h=0;h<d;++h)if(r=l[h],c&&f){if((a=(i=i||{})[o=r.unit]||0)===-1)continue;if(s=pF(n,r),i[o]=s?-1:++a,s&&c.size===1)return!0;if(!s&&a===c.get(o).count)return!1}else if(f^(s=pF(n,r)))return s;return d&&f},F1),sn("vlSelectionIdTest",function(t,n,e){const r=this.context.data[t],i=r?r.values.value:[],a=r?r[ed]&&r[ed].value:void 0,o=e===k1,s=Vu(n),u=ZB(i,s);if(u===i.length||Vu(i[u])!==s)return!1;if(a&&o){if(a.size===1)return!0;if(tz(i,s)-u<a.size)return!1}return!0},F1),sn("vlSelectionResolve",function(t,n,e,r){for(var i,a,o,s,u,l,c,f,d,h,p,m,g=this.context.data[t],y=g?g.values.value:[],v={},x={},b={},w=y.length,A=0;A<w;++A)if(s=(i=y[A]).unit,a=i.fields,o=i.values,a&&o){for(p=0,m=a.length;p<m;++p)u=a[p],f=(c=v[u.field]||(v[u.field]={}))[s]||(c[s]=[]),b[u.field]=d=u.type.charAt(0),h=D1[`${d}_union`],c[s]=h(f,J(o[p]));e&&(f=x[s]||(x[s]=[])).push(J(o).reduce((_,k,D)=>(_[a[D].field]=k,_),{}))}else u=Nr,l=Vu(i),(f=(c=v[u]||(v[u]={}))[s]||(c[s]=[])).push(l),e&&(f=x[s]||(x[s]=[])).push({[Nr]:l});return n=n||dF,v[Nr]?v[Nr]=D1[`${Nr}_${n}`](...Object.values(v[Nr])):Object.keys(v).forEach(_=>{v[_]=Object.keys(v[_]).map(k=>v[_][k]).reduce((k,D)=>k===void 0?D:D1[`${b[_]}_${n}`](k,D))}),y=Object.keys(x),e&&y.length&&(v[r?"vlPoint":"vlMulti"]=n===dF?{[hF]:y.reduce((_,k)=>(_.push(...x[k]),_),[])}:{[QB]:y.map(_=>({[hF]:x[_]}))}),v},F1),sn("vlSelectionTuples",function(t,n){return t.map(e=>xt(n.fields?{values:n.fields.map(r=>fF(r)(e.datum))}:{[Nr]:Vu(e.datum)},n))});const cz=Dr(["rule"]),$F=Dr(["group","image","rect"]);function N1(t){return(t+"").toLowerCase()}function Ju(t,n,e){e.endsWith(";")||(e="return("+e+");");const r=Function(...n.concat(e));return t&&t.functions?r.bind(t.functions):r}var fz={operator:(t,n)=>Ju(t,["_"],n.code),parameter:(t,n)=>Ju(t,["datum","_"],n.code),event:(t,n)=>Ju(t,["event"],n.code),handler:(t,n)=>Ju(t,["_","event"],`var datum=event.item&&event.item.datum;return ${n.code};`),encode:(t,n)=>{const{marktype:e,channels:r}=n;let i="var o=item,datum=o.datum,m=0,$;";for(const a in r){const o="o["+G(a)+"]";i+=`$=${r[a].code};if(${o}!==$)${o}=$,m=1;`}return i+=function(a,o){let s="";return cz[o]||(a.x2&&(a.x?($F[o]&&(s+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),s+="o.width=o.x2-o.x;"):s+="o.x=o.x2-(o.width||0);"),a.xc&&(s+="o.x=o.xc-(o.width||0)/2;"),a.y2&&(a.y?($F[o]&&(s+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),s+="o.height=o.y2-o.y;"):s+="o.y=o.y2-(o.height||0);"),a.yc&&(s+="o.y=o.yc-(o.height||0)/2;")),s}(r,e),i+="return m;",Ju(t,["item","_"],i)},codegen:{get(t){const n=`[${t.map(G).join("][")}]`,e=Function("_",`return _${n};`);return e.path=n,e},comparator(t,n){let e;const r=Function("a","b","var u, v; return "+t.map((i,a)=>{const o=n[a];let s,u;return i.path?(s=`a${i.path}`,u=`b${i.path}`):((e=e||{})["f"+a]=i,s=`this.f${a}(a)`,u=`this.f${a}(b)`),function(l,c,f,d){return`((u = ${l}) < (v = ${c}) || u == null) && v != null ? ${f}